WO2005071541A1 - アプリケーション起動調停装置及びシステム - Google Patents

アプリケーション起動調停装置及びシステム Download PDF

Info

Publication number
WO2005071541A1
WO2005071541A1 PCT/JP2005/000692 JP2005000692W WO2005071541A1 WO 2005071541 A1 WO2005071541 A1 WO 2005071541A1 JP 2005000692 W JP2005000692 W JP 2005000692W WO 2005071541 A1 WO2005071541 A1 WO 2005071541A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
unit
electronic device
activation
setting table
Prior art date
Application number
PCT/JP2005/000692
Other languages
English (en)
French (fr)
Inventor
Tomokazu Kanamaru
Masafumi Okubo
Masahiro Oashi
Tomonori Nakamura
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Publication of WO2005071541A1 publication Critical patent/WO2005071541A1/ja

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • 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

Definitions

  • the present invention relates to an application start arbitration device and system, and more specifically, to arbitrate the start of an application executed by an electronic device used in an environment where a plurality of electronic devices are connected via a network. And a system that includes the device.
  • technologies for automatically setting the environment for executing programs via a network include UPnP (Universal Plug and Play), a technology proposed by Microsoft, and Sun Microsystems. Technologies such as Jini (registered trademark) exist.
  • UPnP Universal Plug and Play
  • Microsoft a technology proposed by Microsoft
  • Sun Microsystems technologies such as Jini (registered trademark) exist.
  • Jini registered trademark
  • Patent Document 1 As a system for searching for a device having a function corresponding to a user's request from a terminal used by the user via a network, a technology disclosed in Patent Document 1 has been proposed. In addition, as a method of searching for and implementing an alternative device when a user cannot perform a service on a terminal that the user wants to use, a technique disclosed in Patent Document 2 has been proposed.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2003-178036
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2002-094912
  • KVM K Virtual Machine
  • JAVA registered trademark
  • Patent Document 1 discloses a home appliance network system that takes into account changes in the user environment and user requirements. A specific method for coping with a resource shortage problem when starting a power application is disclosed. Not mentioned. Further, Patent Document 1 does not mention any workaround in the case where it is determined that a new application cannot be started.
  • Patent Document 2 discloses a method of searching for a substitute device and making a reservation when a device reserved for use has a problem. No mention is made as to whether the substitute device acquires a new application and performs a service using the characteristic. Further, Patent Document 2 similar to Patent Document 1 does not mention any workaround when it is determined that it is impossible to start a new application. [0010] Therefore, an object of the present invention is to provide an application start-up arbitration device capable of solving the problem of resource deficiency in the entire system by effectively utilizing the characteristics of a service platform using application distribution on a network device. And provide a system.
  • the present invention is used for a system in which a plurality of electronic devices are connected via a network.
  • the application start arbitrating device of the present invention includes a start instruction unit and a startable device search unit.
  • the activation instruction unit instructs the target electronic device to be activated to activate the application in accordance with the activation request of the desired application that has received any of the electronic device powers.
  • the startable device search unit selects an alternative electronic device capable of starting a desired application from a plurality of electronic devices. If the target electronic device cannot start the desired application, the start instruction unit instructs the alternative electronic device selected by the startable device search unit to start the application.
  • the alternative electronic device determines whether the alternative electronic device is already executing another application, and if the alternative electronic device is executing another application, determines whether the desired application or another application is running. It is preferable to further include an application execution priority detection unit that detects whether the priority is high. In this case, when the application execution priority detection unit detects that the priority of the desired application is high, the activation instruction unit stops another application to the substitute electronic device and executes the desired application. Give instructions to start.
  • the target electronic device when the target electronic device cannot start the desired application, it is preferable to further include a delay start monitoring unit that monitors until the target electronic device can start the desired application. .
  • the start instruction unit when the target electronic device is ready to start a desired application, the start instruction unit re-instructs the target electronic device to start the application.
  • the operations of the start instruction unit, the startable device search unit, and the delayed start monitoring unit are used.
  • the system further includes a system setting table holding unit for holding a system setting table for recording whether or not to perform the setting, and a system setting table changing unit for changing the recorded contents of the system setting table.
  • the electronic device instructed to start the desired application can control the operations of the start instruction unit, the startable device search unit, and the delayed start monitoring unit.
  • the activation instruction unit communicates with the substitute electronic device selected by the activation device search unit and inquires whether the desired application can be executed. Further, when the delayed start monitoring unit determines that the desired application can be started, the start instruction unit communicates with the target electronic device to ask whether the desired application can be executed. , Prefer to fit,.
  • the application start-up arbitrating device includes a start-up / non-startup determining unit that determines whether the start-up capability of the desired application is possible or not in response to an application start-up instruction of the start-up instruction unit. It is also possible to function as an electronic device by including an application executing unit that executes a desired application according to the determination of. It is also conceivable to further include an application execution history recording unit that records and holds identification information of applications executed in the past by the application execution unit. In this case, the start availability determination unit determines the same identification as the desired application. Based on whether or not the application having the information has been executed in the past, it is possible to determine whether or not the application execution unit can activate the desired application.
  • FIG. 1 is a diagram showing a schematic configuration of an application activation arbitration system according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a system setting table held in a system setting table holding unit.
  • FIG. 3 is a diagram showing an example of a GUI screen displayed on the electronic device.
  • FIG. 4 is a flowchart showing an example of an operation procedure of an application startup arbitration method according to an embodiment of the present invention.
  • FIG. 5 is a diagram showing an example of a GUI screen displayed on the electronic device.
  • FIG. 6 is a flowchart illustrating an example of an operation performed by a start-up / non-permission determining unit.
  • FIG. 7 is a flowchart illustrating an example of an operation performed by a startability determination unit.
  • FIG. 8 is a diagram showing an example of history data recorded in an application execution history recording unit.
  • FIG. 9 is a flowchart illustrating an example of an operation performed by a bootable device search unit.
  • FIG. 10 is an example of a processing sequence performed between an application activation arbitration device and an electronic device.
  • FIG. 11 is a flowchart illustrating an example of an operation performed by a bootable device search unit.
  • FIG. 12 is an example of a processing sequence performed between an application activation arbitration device and an electronic device.
  • FIG. 13 is a flowchart illustrating an example of an operation performed by a start-up / non-permission determining unit.
  • FIG. 14 is a flowchart illustrating an example of an operation performed by a start-up availability determination unit.
  • FIG. 15 is a diagram showing an example of a GUI screen displayed on the electronic device.
  • FIG. 16 is a diagram showing an example of a GUI screen displayed on the electronic device.
  • FIG. 17 is a flowchart illustrating another example of the operation procedure of the application activation arbitration method according to one embodiment of the present invention.
  • FIG. 18 is a diagram showing an example of a GUI screen displayed on the electronic device.
  • FIG. 1 is a diagram showing a schematic configuration of an application activation arbitration system according to an embodiment of the present invention.
  • the application start arbitration system includes a plurality of electronic devices 11-1N (N is an integer of 2 or more), an application start arbitration device 30, and a network 20 interconnecting these devices. Is done.
  • the communication standard of the network 20 is not limited as long as data communication is possible between the connected electronic devices 11 and 1N. It may be a public network such as the Internet, a network closed within a limited domain such as a LAN, or a combination of the two.
  • the application activation arbitration device 30 is described as a device separate from the electronic device 111-11N, but may be incorporated in any one of the electronic devices 111-11N.
  • Electronic equipment 11-1N It includes a unit 101, an application storage unit 102, an application execution unit 103, a startability determination unit 104, and an application execution history recording unit 105.
  • the electronic device 111-1N is, for example, a household electric appliance or a mobile phone.
  • the communication unit 101 transmits / receives information to / from another electronic device and the application start / arbitration device 30 via the network 20.
  • the application storage unit 102 stores and holds an application program (hereinafter, abbreviated as an application) distributed via the network 20.
  • the application execution unit 103 interprets and executes the application stored in the application storage unit 102.
  • the application execution unit 103 can do anything as long as it can interpret and execute the application stored in the application storage unit 102.
  • an existing JAVA (registered trademark) virtual machine, .NET execution environment, and program distribution execution such as BREW (registered trademark) This can be achieved by the environment.
  • BREW registered trademark
  • each application execution unit 103 can acquire the following information.
  • Acquisition of such information can be realized by monitoring the amount of resources that the application execution unit 103 can use in the electronic device.
  • the application execution unit 103 is implemented by a JAVA (registered trademark) virtual machine
  • heap memory usage such as the total amount of heap memory held by the JAVA (registered trademark) virtual machine and the amount of heap memory used for each application. Is recorded using a register or the like, and by checking this record when necessary, the amount of resources that can be used by the abrasion execution unit 103 can be monitored.
  • it is necessary for example, Before starting the application, during the operation of the application, or when releasing the application.
  • the activation availability determination unit 104 determines from the amount of available hardware resources obtained by the application execution unit 103 whether or not it is possible to activate an application that has received another electronic device power request.
  • the application execution history recording unit 105 records and holds identification information of an application executed by the application execution unit 103 in the past.
  • the application storage unit 102, the application execution unit 103, the activation availability determination unit 104, and the application execution history recording unit 105 are components necessary for an electronic device that executes application activation. Therefore, these configurations are not required for an electronic device that only requires the activation of an application. Further, the application execution history recording unit 105 is a configuration necessary only when the activation possibility determination unit 104 uses a past history to determine whether the application can be activated, and is not an essential configuration for the electronic device. . In the present invention, the application execution history recording unit 105 is provided as a configuration that can perform the process of determining whether or not to be able to start up more simply and with high accuracy.
  • the application start arbitration device 30 includes a communication unit 301, a start instruction unit 302, a startable device search unit 303, an application execution priority detection unit 304, a system setting table holding unit 305, and a system setting table change. And a delay start monitoring unit 307.
  • the application start-up / arbitration device 30 is, for example, a device such as a workstation, a PC, or a home server. Note that all the components of the application start-up arbitration device 30 do not need to be all present in one device, and may be distributed among a plurality of devices.
  • the communication unit 301 transmits and receives information to and from the electronic devices 111 to 1N via the network 20.
  • the start instruction unit 302 instructs the target electronic device to start the requested application.
  • the start instruction unit 302 negotiates with the user of the electronic device regarding the start of the application as necessary.
  • the startable device search unit 303 selects one electronic device that can start the requested application.
  • the application execution priority detection unit 304 detects the priority of the requested application with respect to other applications.
  • the delayed start monitoring unit 307 requires the target electronic device If the requested application cannot be started, monitoring is performed until the application can be started.
  • the system setting table holding unit 305 is realized by, for example, a start instruction unit 302, a startable device search unit 303, an application execution priority detecting unit 304, and a delayed start monitoring unit 307 using a system setting table shown in FIG. Set use Z not use for various possible functions.
  • the various functions are a bootable device search function, an alternative boot instruction function, a boot negotiation function, a delayed boot monitoring function, and a boot notification function.
  • the system setting table change unit 306 changes information in the system setting table in response to a request from an electronic device for starting the application. It is preferable that the information of this system setting table can be changed by the user through a GUI screen as shown in FIG. 3, for example. By making the change possible in this way, the user can operate the application start-up arbitration device 30 by selecting only necessary functions. Therefore, use suitable for the user's use environment becomes possible.
  • the application execution priority detection unit 304 and the delayed startup monitoring unit 307 are not essential. These configurations are necessary only when the requested application is started until the already started application is terminated, and when the application is always started on the requested electronic device. .
  • FIGS. 4 and 17 are flowcharts illustrating an example of the operation procedure of the application startup arbitration method according to the embodiment of the present invention.
  • Fig. 4 shows the operation procedure when the delayed startup monitoring function is not used
  • Fig. 17 shows the operation procedure when the delayed startup monitoring function is used.
  • the application activation arbitration method of the present invention is started when the electronic device 11 requests the application activation arbitration device 30 to activate the application A by the electronic device 12.
  • the application activation arbitration device 30 Upon receiving the activation request, the application activation arbitration device 30 transmits the activation instruction 30 2 to instruct the electronic device 12 to start the application A (step S401).
  • the user knows in advance that the electronic device 12 is compatible with the application A, and the user operates the electronic device 12 via the GUI screen shown in FIG. 12 Specify (target device) and application A (various services).
  • Specify target device
  • application A variant services
  • the startable device search unit 303 acquires in advance the information of the application stored in the storage unit 102 from all the electronic devices 111N connected to the network 20, and acquires the application information.
  • An electronic device to be activated may be specified in advance for each activation. This specification can be realized by using a function such as a service discovery of UPnP.
  • the “video recording service” is an electronic device having a recording function, and is a service for recording a broadcast.
  • “Scheduled recording service” is a service for recording a broadcast at a designated date and time on a start-up device having a recording function.
  • “Camera monitor service” is an electronic device that has a moving image acquisition function and is a service that transfers acquired moving image data to another device.
  • the “message notification service” is a service for displaying a specified text on an electronic device having a text display function.
  • the “locking service” is an electronic device having a locking function and is a service for locking in real time or at a designated date and time. The user can specify an activation request by moving the cursor to a desired service and pressing a decision button.
  • the electronic device 12 that has received the instruction from the application activation arbitration device 30 receives the information of the application A whose activation has been requested from the activation instruction unit 302.
  • the activation possibility determination unit 104 determines whether the application A can be activated by the application execution unit 103 at the time of reception, in consideration of this information and a predetermined determination criterion (step S402). Here, if it is determined that the application can be started (step S403, Yes), the application execution unit 103 is notified of the start-up possibility by the start-up determination unit 104, and the electronic device 12 starts the application A. And executed (step S407). On the other hand, if it is determined that the activation is not possible (No in step S403), the activation deciding unit 104 notifies the application activation arbiter 30 of a response indicating that the activation is not possible.
  • the startable The device search unit 303 searches the other electronic devices 13-1N for an alternative electronic device capable of starting the application A (step S404). As a result of the search, if there is an alternative electronic device (Step S405, Yes), the activation instruction unit 302 of the application activation arbitrator 30 instructs the alternative electronic device to activate the application A (Step S406). Then, the substitute electronic device that has received the instruction from the application activation arbitration device 30 receives the information of the application A whose activation has been requested from the activation instruction unit 302, and performs the processing from step S402 onward in the same manner as the electronic device 12.
  • step S405, No the application start-up arbitrating device 30 gives up starting the application A and ends this start-up arbitration process. In this case, a message indicating that the processing has been stopped may be displayed on the display screen of the electronic device 11.
  • step S402 of FIG. 4 There are two types of the start-up permission / non-permission judgment operation in step S402, namely, a case where the application execution history recording unit 105 is not included in the configuration (FIG. 6) and a case where the application execution history recording unit 105 is included in the configuration (FIG. 7).
  • the activation permission / non-permission determination unit 104 determines whether or not its own electronic device has the ability to acquire the application A (step S601). Means that files can be exchanged and downloaded via. Whether file exchange or download is possible can be determined by checking file exchange restrictions and application distribution locations. The distribution location of the application can also obtain the attribute data of the application, for example. For example, in the case of the JAVA (registered trademark) execution environment, the attribute file data of the application is recorded in a JAD file distributed with the application.
  • the distribution location of the file is described by a network address such as a URL or IP address, and if this network address is accessible, the application can be obtained by downloading. Can be determined. Of course, if you already have Application A, you have the ability to get it.
  • the activation possibility determination unit 104 determines whether or not the application execution unit 103 1S has the capability to operate a plurality of applications simultaneously (Ste S602).
  • the activation possibility determination unit 104 further determines whether the application execution unit 103 is executing another application (step S603). This determination is made because, depending on the operating environment of the application execution unit 103, it may not be possible to operate two or more applications at the same time. For example, KVM, which is a specification of the JAVA virtual machine, can run only one application. Therefore, the activation possibility determination unit 104 can determine the presence or absence of the simultaneous operation capability by inspecting the operation environment of the application execution unit 103.
  • the start-up / non-execution determining unit 104 determines that the application executing unit 103 has requested the application A Then, it is determined whether or not the power has the specifications necessary for the operation (step S604). This specification determines whether or not it has the specifications and libraries that are prerequisites for operating application A. This determination can be made, for example, by comparing the attribute data of the application with the profile data of the application execution unit 103.
  • the format of the attribute data of the application and the profile data of the application execution unit 103 depends on the method of realizing the application execution environment, the method of connecting the devices, and the communication protocol. For this reason, it cannot be determined uniquely, and several combinations are possible.
  • the attribute file data of the application is recorded in a JAD file distributed with the application.
  • the profile data of the application execution unit 103 data described in XML format is prepared for each application execution unit 103.
  • the application attribute data such as JAD files must also analyze the necessary conditions for application execution, and the profile data of the application execution unit 103 such as XML data must also check whether the application execution unit 103 satisfies the conditions. Accordingly, the activation permission / non-permission determination unit 104 can determine whether the application can be activated.
  • the activation possibility determination unit 104 determines that the application execution unit 103 has an available resource amount required for the operation of the requested application A. It is determined whether or not (step S605).
  • the amount of resources required to execute an application may or may not be described in application attribute data such as the JAD file described above. If not, estimate the resources required before running the application.
  • There are various methods for calculating the estimation but as an easy method, for example, a threshold (memory size 1 MB or the like) necessary for executing the application is set in advance, and the resource amount exceeding the value is set by the application execution unit 103. If it can be secured, a method such as deeming that the application can be executed is possible.
  • Step S606 If it is determined that there is a free resource amount, the activation possibility determination unit 104 determines that application A can be activated (step S606). On the other hand, if any one of Steps S601, S603 and S605 is not satisfied, the activation possibility determination unit 104 determines that the activation of the application A is impossible (Step S607). Note that the order of each determination step is not limited to the order shown in FIG.
  • This start possibility determination operation is the same as FIG. 6 up to step S601 and step S603. If it is determined that another application is currently running even if it has or does not have the simultaneous operation capability,! /, Na! / Referring to the history data recorded in 105, based on the past record of execution of the same application and the amount of resources used at that time, it is determined whether or not the requested application A can be started as follows. To judge.
  • FIG. 8 is a view for explaining a specific example of history data recorded in the application execution history recording unit 105.
  • the application execution history recording unit 105 records identification information for each application as history data. It also records the amount of resources used during execution. This resource amount information is not indispensable, but if it is prepared, it is possible to determine whether the application can be started more easily and with high accuracy.
  • the content of the identification information can be considered as the type of application, file name, version information, creator, file size, etc. If it can uniquely identify the application, contents other than those shown in Fig. 8 can be used. Good.
  • These pieces of history data are recorded in the application execution history recording unit 105 each time the application is executed by the application execution unit 103.
  • the activation possibility determination unit 104 refers to the history data recorded in the application execution history recording unit 105. Then, it is determined whether the same application has been operated in the past (step S701). Specifically, it is determined whether or not an application having identification information that matches the identification information of application A requested to be started exists in the history data. As a result of this determination, when there is an application having the matching identification information, the activation possibility determination unit 104 determines the amount of free resources equal to or larger than the resource amount recorded in the history data of the application, by the application execution unit. It is determined whether or not the force 103 has. Then, when it is determined that the application A has the free resource amount, the activation possibility determination unit 104 determines that the application A can be activated (step S606). On the other hand, as a result of the determination in step S701, if there is no application having the matching identification information, the activation possibility determination unit 104 performs the processing in steps S604 and S605 shown in FIG.
  • the bootable device search operation in step S404 is performed when an electronic device capable of starting an application in the current state is selected. (FIGS. 9 and 10) and a case where an electronic device capable of starting the application is selected while considering that the application currently being executed using the priority information and terminating the application is selected (FIGS. 11 and 12). ).
  • the startable device search unit 303 analyzes the device information obtained in advance and analyzes the remaining electronic device 13- It is determined whether or not there is an electronic device capable of substituting the application A in 1N (step S901). As a result of the judgment, the electronic device that can If there is no such device (No at Step S902), it is determined that there is no alternative electronic device that can start the application A, and the process is terminated (Step S906). On the other hand, if there is only one electronic device that can be started (step S903, No), the electronic device is selected as a substitute electronic device (step S905).
  • step S903 If there are two or more bootable electronic devices (step S903, Yes), one of the electronic devices is selected as a substitute electronic device based on predetermined conditions (step S904).
  • the predetermined condition is that the free resource amount of the application execution unit 103 is the largest, that the specifications of the electronic device are suitable for the operation of the application, and the like.
  • the bootable device search unit 303 selects an alternative electronic device using device information acquired in advance has been described.
  • the startable device search unit 303 transmits the information of the application A to the remaining electronic devices 13-1N.
  • the activation request including the request may be sent again (broadcast or broadcast)!
  • the electronic device 13-1N that has received the activation request returns the result of the determination as to whether the application A can be activated and the current device information to the activation-capable device search unit 303 (FIG. 10). Further, the determination result of whether or not the application A can be started and the current device information may be obtained by separate communication.
  • This startable device search operation is effective when it is determined that there is no alternative electronic device that can start application A as in step S906 in FIG. 9 described above.
  • the startable device search unit 303 sends a request to the electronic device 13-1N when notified of a response indicating that the application A cannot be started, when the start determination unit 104 of the electronic device 12 is notified.
  • the power also acquires the priority information (step S1101). This acquisition is performed by the application execution priority detection unit 304.
  • FIG. 12 is a diagram showing a processing sequence regarding priority acquisition.
  • the priority information indicates at least the following information.
  • Information on the ability to acquire an application that realizes a service by downloading or exchanging files (2) Information as to whether or not the application execution unit has a specification capable of starting and operating the requested application. That is, information on whether or not the application has a specification, a library group, etc., as a premise for operating the application.
  • the bootable device search unit 303 executes the processing of steps S901-S905 as described above. If it is determined that there is no alternative electronic device that can start the application A by these processes, the startable device searching unit 303 and the abrasion execution priority detecting unit 304 refer to the priority information and Is performed.
  • an electronic device that does not have specifications that enable the application execution unit 103 to start and operate the application A is also excluded from the selection target power (step S1102).
  • the electronic device in which another application is not operating is excluded from the selection targets remaining in step S1102 (step S1103). This is because an electronic device that is determined to be unstartable by the start-up / non-execution determining unit 104 even though another application is not running can be regarded as not having the ability to start the application. Furthermore, even if another running application is terminated, the application execution unit 103 cannot secure enough free resources to execute the application A. ⁇ The electronic device is excluded from the remaining selection targets in step S1103. (Step S1104).
  • the bootable device search unit 303 sends the application A requested to be started and the electronic device to be selected.
  • the application assigns priorities to all applications currently operating, and determines the application with the lowest priority (step S1106).
  • priority The grading is preferably performed using information on the attributes of the application.
  • the application with the lowest priority determined by this prioritization is the application
  • step S1107, No the startable device searching unit 303 selects an electronic device that is operating the application as a substitute electronic device (step S1108).
  • the startable device searching unit 303 determines that there is no alternative electronic device that can start the application A, and ends the process (step S906).
  • the JAD file which is the attribute information of the JAVA (registered trademark) application for the JAVA (registered trademark) execution environment mounted on the mobile phone
  • the following information is provided as information on the attribute of the application. It is possible to obtain
  • the function eval [x] is a function that returns "1" if the condition of X is true, and returns "0" if it is false.
  • fl—f ⁇ 3 ⁇ 4 a variable for assigning weight, which is determined according to the importance of the corresponding function value.
  • step S402 includes inquiring the user, that is, stopping the execution of the current application without negotiating the start (FIG. 13), and executing the current application after negotiating the start. (Fig. 14 and Fig. 16).
  • the activation instruction unit 302 of the application activation arbitration device 30 instructs the alternative electronic device to activate the application A.
  • the application execution unit 103 determines whether or not the current application is operating (step S1301). If it is in operation, the substitute electronic device determines whether or not the application execution unit 103 has a free resource amount capable of executing the application A (step S1302). If the result of this determination is that there is no free resource amount, the substitute electronic device stops the running application (step S1303).
  • the alternative electronic device checks whether the application A is stored in the application storage unit 102 and must store the application A. For example, the application A is acquired by downloading or exchanging files (steps S1304 and S1305). After acquiring the application A, the application A is activated and executed by the alternative electronic device through the processing of steps S402 and S403 in FIG. 4 (step S407).
  • the activation instruction unit 302 of the application activation arbitration device 30 instructs the alternative electronic device to activate the application A.
  • the substitute electronic device inquires of the user whether to start application A (step S1401). This inquiry is made, for example, by displaying the dialog of FIG. 15 on the screen of the substitute electronic device. If the user's permission (for example, an explicit “Yes” input) is obtained in response to this inquiry, The processing of the 13 steps S1301 and S1302 is executed (step S1402, Yes).
  • step S 1302 determines whether or not the currently running application can be stopped.
  • This inquiry is performed, for example, by displaying the dialog of FIG. 16 on the screen of the substitute electronic device.
  • the processing power of step S1303—S1305 in FIG. 13 described above is executed (step S1303). 1404, Yes).
  • step S1405 if the user's permission is not obtained as a response to the question (including a case where a certain period of time during which the explicit input of ", ⁇ "has not passed), the application A is started. It is determined that the operation has failed, and the process ends (step S1405).
  • the application start arbitration method of FIG. 4 described above is an operation of searching for an alternative electronic device when the electronic device 12 requested to start cannot start the application A.
  • the application start arbitration method in FIG. 17 is an operation of waiting for the electronic device 12 whose start is requested to be able to start the application A without searching for an alternative electronic device.
  • application activation arbitration device 30 that has received the activation request from electronic device 11 instructs electronic device 12 to activate application A by activation instruction section 302 (step S401).
  • the electronic device 12 that has received the instruction from the application activation arbitration device 30 receives the information of the application A whose activation has been requested from the activation instruction unit 302. In consideration of this information and a predetermined determination criterion, the activation possibility determination unit 104 determines whether the application A can be activated by the application execution unit 103 at the time of reception (Step S402).
  • Step S403 if it is determined that the application can be started (Step S403, Yes), the application execution unit 103 is notified of the start-up possibility by the start-up availability determination unit 104, and the electronic device 12 starts and executes the application A. Is performed (step S407). On the other hand, if it is determined that the activation is not possible (step S403, No), the activation permission determining unit 104 notifies the application activation arbiter 30 of a response that the activation is not possible. [0066] Upon receiving the notification that the activation is not possible from the activation possibility determination unit 104, the application activation arbitration device 30 starts monitoring the operation of the application execution unit 103 of the electronic device 12 by the delayed activation monitoring unit 307 (step S1701). .
  • the application executability determination unit 104 periodically determines whether or not the application A can be activated (step S1702). Step S403). This periodic judgment can be realized by polling with a fixed period timer. If it is determined that the application can be started, the start-up / non-execution determination unit 104 notifies the application execution unit 103 of the start-up possibility, and the electronic device 12 starts and executes the application A (step S407). ). Being able to start application A during the monitoring period means that another application that was running on the electronic device 12 has been terminated and a state change has occurred, such as the availability of free resources. I do. On the other hand, if the monitoring is not possible even after the elapse of the monitoring period by the delayed activation monitoring unit 307, the application activation arbitration device 30 gives up activation of the application A and ends the activation arbitration process.
  • the monitoring period of the delayed activation monitoring unit 307 may be infinite.
  • the monitoring period of the delayed activation monitoring unit 307 may be stopped by a command to which user power is also given. If it is determined that the application A can be started, the user may be asked to start the application A. This inquiry is performed, for example, by displaying the dialog of FIG. 18 on the screen of the electronic device 12. If the user's permission (for example, an explicit input of "Yes") is obtained as a response to this inquiry, the process of step S407 is executed.
  • the application start arbitration method of FIG. 17 may be performed instead of the application start arbitration method of FIG. 4, or may be performed in parallel. In the latter case, the ability to select an alternative electronic device by the application start-up arbitration method in Fig. 4 and whether the free resource amount of the target electronic device is secured by the application start-up arbitration method in Fig. 17 The application A is started in the electronic device.
  • the application start arbitration system and method when the start of the application is impossible for the electronic device requested to start, the application start Ability to select another electronic device that can replace Waits until the requested electronic device is ready to start the application. As a result, a desired application can be started more reliably than before. Substitute electronic devices can be given flexibility in selecting electronic devices, taking into account the capabilities and priorities of each electronic device.
  • Each functional block is typically implemented as an integrated circuit LSI (referred to as IC, system LSI, super LSI, ultra LSI, etc. depending on the degree of integration) (see the broken line in Fig. 1). ). These may be individually separated by one chip V, or may be separated by one chip to include a part or all of them.
  • the method of circuit integration may be realized by a dedicated circuit or a general-purpose processor which is not limited to the LSI.
  • a general-purpose processor which is not limited to the LSI.
  • an FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the present invention can be used in a system environment or the like in which a plurality of electronic devices are connected via a network, and is particularly useful when arbitrating the start of an application executed on the electronic device.

Landscapes

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

Abstract

 ネットワーク機器上のアプリケーション配信を利用したサービスプラットフォームの特性を有効に利用して、システム全体で資源欠乏の問題を解決することが可能なアプリケーション起動調停装置を提供する。起動指示部(302)が指示した電子機器でアプリケーションの起動が不可能な場合、起動可能機器探索部(303)が他の電子機器を探索して代替動作が可能な電子機器を選定する。この選定には、各電子機器から取得した動作状況やアプリ実行優先度検出部(304)で検出された優先度情報等が用いられる。

Description

明 細 書
アプリケーション起動調停装置及びシステム
技術分野
[0001] 本発明は、アプリケーション起動調停装置及びシステムに関し、より特定的には、複 数の電子機器がネットワークを介して接続された環境において用いられる、電子機器 で実行されるアプリケーションの起動を調停する装置、及び当該装置を構成に含ん だシステムに関する。
背景技術
[0002] 従来、ダウンロード配信されるプログラムを動作させるプログラム実行系の技術につ いては、サンマイクロシステムズ社の JAVA (登録商標)や、マイクロソフト社の. NET (ドットネット)等がある。これらの技術は、ネットワーク家電を前提にしたノヽードウエア に依存しな 、サービスプラットフォームを構成する技術となることが、期待されて 、る。
[0003] また、ネットワークを通じて、プログラムを実行する環境の自動設定を行う技術として は、マイクロソフト社によって提唱されている技術である UPnP (Universal Plug a nd Play)や、サンマイクロシステムズ社によって提唱されている技術である Jini (登 録商標)等が存在している。これらの技術の特徴として、ユーザが複雑な設定作業を 行うことなぐネットワークに機器を繋ぐだけですぐにネットワーク機能を利用可能な状 態できる、という利便性をユーザに提供できることが挙げられる。
[0004] また、ユーザが利用する端末から、ネットワークを通じて、ユーザの要求に対応する 機能を持つ機器を探し出すシステムとしては、特許文献 1に示す技術が提案されて いる。また、ユーザが利用したい端末でサービスを実施できな力つた場合に、代替と なる機器を探し出して実施する方法としては、特許文献 2に示す技術が提案されてい る。
特許文献 1:特開 2003—178036号公報
特許文献 2:特開 2002— 094912号公報
発明の開示
発明が解決しょうとする課題 [0005] ところで、家電システム上においてサービス実施のために新たにアプリケーションを 起動しょうとする際に、すでに他のアプリケーションが実施されていると、システム仕 様の制限上の問題又は資源欠乏の問題から、直ちに新たなアプリケーションの起動 できない場合がある。例えば、すでに携帯電話等で多数の応用実績のある、 JAVA( 登録商標)のモパイル家電向け仮想マシン仕様の 1つである KVM (K Virtual M achine)では、同時に 2つ以上のアプリケーションを動作させることができないという 制約事項がある。
[0006] このため、この KVMを使ってすでに何らかのアプリケーションを動作させている最 中に、新たに他のアプリケーションを動作させたいという要求が発生したとしても、こ のアプリケーションを動作させることはできない。このような場合、従来のシステムでは 、新たに発生したアプリケーションの起動要求を却下してしまうことになる。
[0007] 上述したように、従来の JAVA (登録商標)や. NETを前提にし ini (登録商標) 又は UPnPと 、う技術によって、ネットワーク家電環境における共通のサービスプラッ トフオームは構築可能になった。し力しながら、上記のような資源欠乏の問題に関して は、ネットワーク環境を有効に利用してシステム全体で資源欠乏の問題を解決すると いう技術を提案や開発等を今までになされたことはなぐ現状ではそれぞれの機器で 個別の解決策を実施するし力な力つた。
[0008] 特許文献 1には、ユーザ環境の変化やユーザの要求を考慮に入れた家電ネットヮ ークシステムが開示されている力 アプリケーションの起動において資源欠乏問題が 発生した時の具体的な対処方法に関しては言及されていない。また、特許文献 1に は、新たにアプリケーションを起動することが不可能と判明した場合の次善策に関し ても、何ら言及されていない。
[0009] また、特許文献 2には、利用予約した機器に不具合があった場合に、代替となる機 器を探し出して利用予約を実施する方法が開示されているが、サービスプラットフォ ームの特性を利用して、代替機器がアプリケーションを新たに取得してサービスを実 行することに関してまで言及されてはいない。また、特許文献 1と同じぐ特許文献 2 には、新たにアプリケーションを起動することが不可能と判明した場合の次善策に関 しても、何ら言及されていない。 [0010] それ故に、本発明の目的は、ネットワーク機器上のアプリケーション配信を利用した サービスプラットフォームの特性を有効に利用して、システム全体で資源欠乏の問題 を解決することが可能なアプリケーション起動調停装置及びシステムを提供すること である。
課題を解決するための手段
[0011] 本発明は、複数の電子機器がネットワークを介して接続されたシステムに用いられ
、電子機器で実行されるアプリケーションの起動を調停するアプリケーション起動調 停装置に向けられている。そして、上記目的を達成させるために、本発明のアプリケ ーシヨン起動調停装置は、起動指示部及び起動可能機器探索部を備える。
[0012] 起動指示部は、いずれかの電子機器力も受け付けた所望のアプリケーションの起 動要求に従って、起動対象となる対象電子機器にアプリケーション起動の指示を行う 。起動可能機器探索部は、複数の電子機器の中から、所望のアプリケーションの起 動が可能な代替電子機器を選定する。そして、起動指示部は、対象電子機器による 所望のアプリケーションの起動が不可能である場合、起動可能機器探索部によって 選定された代替電子機器にアプリケーション起動の指示を行う。
[0013] ここで、代替電子機器が、すでに別のアプリケーションを実行中である力否かを判 断し、別のアプリケーションを実行中である場合には、所望のアプリケーション又は別 のアプリケーションのどちらの優先度が高いかを検出するアプリ実行優先度検出部を さらに備えることが好ましい。この場合、起動指示部は、アプリ実行優先度検出部に おいて所望のアプリケーションの優先度が高いと検出された場合に、代替電子機器 に対して、別のアプリケーションを停止して所望のアプリケーションを起動させる指示 を行うようにする。
[0014] また、対象電子機器による所望のアプリケーションの起動が不可能である場合、対 象電子機器が所望のアプリケーションを起動可能な状態になるまで監視を行う遅延 起動監視部をさらに備えることが好ましい。この場合、起動指示部は、対象電子機器 が所望のアプリケーションを起動可能な状態になった時に、対象電子機器にアプリケ ーシヨン起動の指示を再度行うようにする。
[0015] あるいは、起動指示部、起動可能機器探索部及び遅延起動監視部の動作を利用 するカゝ否かを記録するシステム設定テーブルを保持するシステム設定テーブル保持 部と、システム設定テーブルの記録内容を変更するシステム設定テーブル変更部と をさらに備えることが好ましい。これにより、システム設定テーブルの内容を変更する ことで、所望のアプリケーションの起動が指示された電子機器が、起動指示部、起動 可能機器探索部及び遅延起動監視部の動作を制御できるようになる。
[0016] 起動指示部は、起動可能機器探索部によって選定された代替電子機器と通信を 行って、所望のアプリケーションを実行させても良いかどうかを問い合わることが好ま しい。また、起動指示部は、遅延起動監視部が所望のアプリケーションを起動可能な 状態であると判断した時に、対象電子機器と通信を行って、所望のアプリケーション を実行させても良 、かどうかを問 、合わることが好ま 、。
なお、上述したアプリケーション起動調停装置を構成する一部又は全部の機能プロ ックは、集積回路である LSIとして実現されてもよい。
[0017] 上記アプリケーション起動調停装置は、起動指示部力 のアプリケーション起動の 指示に応じて、所望のアプリケーションの起動が可能力否かを判定する起動可否判 定部と、起動可否判定部における起動可能の判定に応じて、所望のアプリケーション を実行するアプリ実行部とを備えることで、電子機器として機能することも可能である 。また、アプリ実行部によって過去に実行されたアプリケーションの識別情報を記録 保持するアプリ実行履歴記録部をさらに備えることも考えられ、この場合には、起動 可否判定部は、所望のアプリケーションと同一の識別情報を持つアプリケーションが 過去に実行された力否かに基づいて、アプリ実行部で所望のアプリケーションの起動 が可能である力否かを判定することが可能となる。
発明の効果
[0018] 上記のように、本発明によれば、起動要求された電子機器にお!ヽてアプリケーショ ンの起動が不可能である場合に、アプリケーションの起動を代替できる別の電子機器 を選定するか、又は起動要求された電子機器がアプリケーションを起動できる状態に なるのを待つことを行う。これにより、従来よりも確実に所望のアプリケーションを起動 させることができる。代替する電子機器は、各電子機器の能力や優先度を考慮する ため、電子機器の選定に柔軟性を持たせることができる。 図面の簡単な説明
[図 1]図 1は、本発明の一実施形態に係るアプリケーション起動調停システムの概要 構成を示す図である。
[図 2]図 2は、システム設定テーブル保持部に保持されて ヽるシステム設定テーブル の一例を示す図である。
[図 3]図 3は、電子機器に表示される GUI画面の一例を示す図である。
[図 4]図 4は、本発明の一実施形態に係るアプリケーション起動調停方法の動作手順 の一例を示すフローチャートである。
[図 5]図 5は、電子機器に表示される GUI画面の一例を示す図である。
[図 6]図 6は、起動可否判定部が行う動作の一例を示すフローチャートである。
[図 7]図 7は、起動可否判定部が行う動作の一例を示すフローチャートである。
[図 8]図 8は、アプリ実行履歴記録部に記録される履歴データの一例を示す図である
[図 9]図 9は、起動可能機器探索部が行う動作の一例を示すフローチャートである。
[図 10]図 10は、アプリケーション起動調停装置と電子機器との間で行われる処理シ 一ケンスの一例である。
[図 11]図 11は、起動可能機器探索部が行う動作の一例を示すフローチャートである
[図 12]図 12は、アプリケーション起動調停装置と電子機器との間で行われる処理シ 一ケンスの一例である。
[図 13]図 13は、起動可否判定部が行う動作の一例を示すフローチャートである。
[図 14]図 14は、起動可否判定部が行う動作の一例を示すフローチャートである。
[図 15]図 15は、電子機器に表示される GUI画面の一例を示す図である。
[図 16]図 16は、電子機器に表示される GUI画面の一例を示す図である。
[図 17]図 17は、本発明の一実施形態に係るアプリケーション起動調停方法の動作手 順の他の一例を説明するフローチャートである。
[図 18]図 18は、電子機器に表示される GUI画面の一例を示す図である。
符号の説明 [0020] 11一 IN 電子機器
20 ネットワーク
30 アプリケーション起動調停装置
101、 301 通信部
102 アプリ格納部
103 アプリ実行部
104 起動可否判定部
105 アプリ実行履歴記録部
302 起動指示部
303 起動可能機器探索部
304 アプリ実行優先度検出部
305 システム設定テーブル保持部
306 システム設定テーブル変更部
307 遅延起動監視部
発明を実施するための最良の形態
[0021] (システム全体の概要)
図 1は、本発明の一実施形態に係るアプリケーション起動調停システムの概要構成 を示す図である。図 1において、本実施形態のアプリケーション起動調停システムは 、複数の電子機器 11一 1N (Nは、 2以上の整数)と、アプリケーション起動調停装置 30と、これらを相互に接続するネットワーク 20とで構成される。ネットワーク 20は、接 続された電子機器 11一 1Nの間でデータ通信が可能なものであれば、その通信規格 は問わない。インターネットのようなパブリックネットワークであってもよいし、 LANのよ うに限られたドメインの中で閉じられたネットワークであってもよいし、その両者の組み 合わせ力もなつていてもよい。また、本実施形態では、アプリケーション起動調停装 置 30を電子機器 11一 1Nとは別個の装置として説明するが、電子機器 11一 1Nのい ずれか 1つに組み込んでもよい。
[0022] (電子機器の構成)
まず、電子機器 11一 1Nの概要を説明する。電子機器 11一 1Nは、それぞれ、通信 部 101と、アプリ格納部 102と、アプリ実行部 103と、起動可否判定部 104と、アプリ 実行履歴記録部 105とを備える。この電子機器 11一 1Nは、例えば家庭用電化製品 や携帯電話等である。
[0023] 通信部 101は、ネットワーク 20を介して、他の電子機器及びアプリケーション起動 調停装置 30との間で情報の送受信を行う。アプリ格納部 102は、ネットワーク 20を通 じて配信されてくるアプリケーションプログラム(以下、アプリケーションと略す)を格納 して保持する。
[0024] アプリ実行部 103は、アプリ格納部 102に格納されたアプリケーションを解釈して実 行する。このアプリ実行部 103は、アプリ格納部 102に格納されたアプリケーションを 解釈実行できれば何でもよぐ例えば既存の JAVA (登録商標)仮想マシン、 . NET 実行環境、及び BREW (登録商標)等のプログラム配信実行環境によって実現する ことができる。以下の実施形態では、アプリ実行部 103を JAVA (登録商標)仮想マシ ン環境と、配信されるアプリケーションを JAVA (登録商標)アプリケーションとした場 合を例に挙げて説明する。
[0025] また、各アプリ実行部 103は、以下の情報を取得することができるものとする。
(1)アプリ実行部 103が、自身の電子機器内において使用することができるハードウ エアの空き資源量の情報。例えば、電子機器のメモリ(図示せず)においてアプリケー シヨン実行用に割り当てられた容量のうち、起動要求を受けた時点で使用できる容量 等である。
(2)すでに他のアプリケーションを動作させている最中である場合、動作中のアプリケ ーシヨンが使用しているハードウェアの資源量、及び動作中のアプリケーションが終 了した場合に解放される (使用可能となる)ハードウェアの資源量の情報。
[0026] これらの情報の取得は、電子機器内でアプリ実行部 103が使用することができる資 源量を監視することによって実現可能である。アプリ実行部 103を JAVA (登録商標) 仮想マシンで実現する場合には、 JAVA (登録商標)仮想マシンが保持するヒープメ モリ全体の使用量やアプリケーション毎のヒープメモリの使用量等のヒープメモリ使用 状況を、レジスタ等を用いて記録しておき、必要な時にこの記録を調べることで、アブ リ実行部 103が使用できる資源量を監視することができる。必要な時とは、例えばァ プリケーシヨン起動前、アプリケーションの動作中、アプリケーションの開放時である。
[0027] 起動可否判定部 104は、アプリ実行部 103によって得られるハードウェアの空き資 源量から、他の電子機器力 要求を受けたアプリケーションの起動が可能であるかど うかを判定する。アプリ実行履歴記録部 105は、アプリ実行部 103が過去に実行した アプリケーションの識別情報を記録して保持する。
[0028] なお、アプリ格納部 102、アプリ実行部 103、起動可否判定部 104及びアプリ実行 履歴記録部 105は、アプリケーションの起動を実行する電子機器に必要な構成であ る。よって、アプリケーションの起動を要求するだけの電子機器には、これらの構成は 不要となる。また、アプリ実行履歴記録部 105は、起動可否判定部 104が、アプリケ ーシヨンの起動が可能力どうかの判定に過去の履歴を用いる場合にのみ必要な構成 であり、電子機器に必須の構成ではない。本発明では、起動可否判定の処理を、より 簡単かつ高精度で実現することができる構成として、アプリ実行履歴記録部 105を提 供している。
[0029] (アプリケーション起動調停装置の構成)
次に、アプリケーション起動調停装置 30の概要を説明する。アプリケーション起動 調停装置 30は、通信部 301と、起動指示部 302と、起動可能機器探索部 303と、ァ プリ実行優先度検出部 304と、システム設定テーブル保持部 305と、システム設定テ 一ブル変更部 306と、遅延起動監視部 307とを備える。このアプリケーション起動調 停装置 30は、例えばワークステーションや PCやホームサーバ等の機器である。なお 、アプリケーション起動調停装置 30の各構成は、全て 1つの機器内に存在する必要 はなく、複数の機器に分散されて存在して 、ても構わな!/、。
[0030] 通信部 301は、ネットワーク 20を介して、電子機器 11一 1Nとの間で情報の送受信 を行う。起動指示部 302は、要求されたアプリケーションの起動を、対象となる電子機 器に指示する。また、起動指示部 302は、必要に応じてアプリケーションの起動に関 して、電子機器のユーザとの間で交渉を行う。起動可能機器探索部 303は、要求さ れたアプリケーションを起動させることが可能な電子機器を 1つ選定する。アプリ実行 優先度検出部 304は、要求されたアプリケーションについて、他のアプリケーションに 対する優先度を検出する。遅延起動監視部 307は、対象となる電子機器がすぐに要 求されたアプリケーションを起動できな 、場合に、アプリケーションを起動できるように なるまで監視を行う。
[0031] システム設定テーブル保持部 305は、例えば図 2に示すシステム設定テーブルを 用いて、起動指示部 302、起動可能機器探索部 303、アプリ実行優先度検出部 304 及び遅延起動監視部 307によって実現可能な各種機能について、使用 Z不使用を 設定する。各種機能とは、起動可能機器探索機能、代替起動指示機能、起動交渉 機能、遅延起動監視機能、及び起動通知機能である。システム設定テーブル変更部 306は、アプリケーションの起動を要求する電子機器力 の要求に応じて、システム 設定テーブルの情報を変更する。このシステム設定テーブルの情報は、例えば図 3 に示すような GUI画面を通じてユーザにより変更可能にすることが好ま 、。このよう に変更可能にすることで、ユーザは必要な機能だけを選択してアプリケーション起動 調停装置 30を動作させることができる。よって、ユーザの使用環境に適した利用が可 能となる。
[0032] なお、アプリケーション起動調停装置 30において、アプリ実行優先度検出部 304及 び遅延起動監視部 307は必須ではない。これらの構成は、すでに起動しているァプ リケーシヨンを終了してまで要求されたアプリケーションを起動する場合、及び要求さ れた電子機器で必ずアプリケーションを起動した 、場合にのみ、必要な構成である。
[0033] (アプリケーション起動調停方法の説明)
以上の構成による電子機器 11一 1N及びアプリケーション起動調停装置 30で行わ れるアプリケーション起動調停方法を、電子機器 11が電子機器 12にアプリケーショ ン Aの起動を要求する場合を一例に挙げて、以下具体的に説明する。図 4及び図 17 は、本発明の一実施形態に係るアプリケーション起動調停方法の動作手順の一例を 説明するフローチャートである。図 4は、遅延起動監視機能を使用しない場合の動作 手順を、図 17は、遅延起動監視機能を使用する場合の動作手順を示している。
[0034] 図 4のアプリケーション起動調停方法を説明する。
本発明のアプリケーション起動調停方法は、電子機器 11が、アプリケーション起動 調停装置 30に対して、電子機器 12によるアプリケーション Aの起動を要求することで 開始される。起動要求を受けたアプリケーション起動調停装置 30は、起動指示部 30 2によって、電子機器 12にアプリケーション Aの起動を指示する(ステップ S401)。
[0035] この実施例では、電子機器 12がアプリケーション Aに対応していることを前もってュ 一ザが知っている場合を想定しており、図 5等の GUI画面を介してユーザが電子機 器 12 (対象機器)とアプリケーション A (各種サービス)とを指定することを行う。これ以 外にも、ユーザはアプリケーション Aだけを指定して、アプリケーション起動調停装置 30が対応する電子機器 12を特定する方法も考えられる。この場合には、起動可能 機器探索部 303が、ネットワーク 20に接続された全ての電子機器 11一 1Nから、アブ リ格納部 102に格納されているアプリケーションの情報を事前に取得して、アプリケー シヨン毎に起動対象にする電子機器を予め特定しておけばよい。この特定は、 UPn Pのサービスデイスカノリー等の機能を使用して実現可能である。
[0036] 図 5にお ヽて、「ビデオ録画サービス」とは、録画機能を備える電子機器で、放送を 録画するサービスである。「予約録画サービス」とは、録画機能を備える起動機器で、 指定日時に放送を録画するサービスである。「カメラモニタサービス」とは、動画像取 得機能を備える電子機器で、取得した動画データを別の機器に転送するサービスで ある。「伝言通知サービス」とは、文章表示機能を備える電子機器で、指定された文 章を表示させるサービスである。「施錠サービス」とは、施錠機能を備える電子機器で 、リアルタイム又は指定日時に施錠をするサービスである。ユーザは、カーソルを所 望のサービスに合わせて決定ボタンを押すことで起動要求を指定することができる。
[0037] アプリケーション起動調停装置 30から指示を受けた電子機器 12は、起動指示部 3 02から起動要求されたアプリケーション Aの情報を受信する。起動可否判定部 104 は、この情報と所定の判断基準とを考慮して、受信時点においてアプリ実行部 103に よってアプリケーション Aの起動が可能か否かを判断する(ステップ S402)。ここで、 起動が可能と判断された場合には (ステップ S403、 Yes)、起動可否判定部 104によ つて、アプリ実行部 103に起動可能が通知され、電子機器 12によってアプリケーショ ン Aが起動されて実行される (ステップ S407)。一方、起動が不可能と判断された場 合には (ステップ S403、 No)、起動可否判定部 104によって、アプリケーション起動 調停装置 30に起動不可能の応答が通知される。
[0038] 起動不可能の応答を受信すると、アプリケーション起動調停装置 30の起動可能機 器探索部 303は、アプリケーション Aの起動が可能な代替の電子機器を、他の電子 機器 13— 1Nの中から探索する (ステップ S404)。探索の結果、代替電子機器が存 在すれば (ステップ S405、 Yes)、アプリケーション起動調停装置 30の起動指示部 3 02は、代替電子機器にアプリケーション Aの起動を指示する (ステップ S406)。そし て、アプリケーション起動調停装置 30から指示を受けた代替電子機器は、起動指示 部 302から起動要求されたアプリケーション Aの情報を受信して、ステップ S402以降 の処理を電子機器 12と同様に行う。一方、探索の結果、代替電子機器が存在しなけ れば (ステップ S405、 No)、アプリケーション起動調停装置 30は、アプリケーション A の起動を断念してこの起動調停処理を終了する。この場合、電子機器 11の表示画 面に処理を中止した旨のメッセージを表示してもよい。
[0039] (起動可否判定処理の説明)
次に、図 4のステップ S402で行う起動可否判定処理の詳細な動作を説明する。こ のステップ S402における起動可否判定動作としては、アプリ実行履歴記録部 105を 構成に含まない場合(図 6)と、構成に含む場合(図 7)との 2通りがある。
[0040] 図 6の起動可否判定動作を説明する。起動可否判定部 104は、 自身の電子機器が 、アプリケーション Aを取得できる能力を有しているか否かを判定する(ステップ S601 ) oこの取得とは、他の電子機器やシステムの外部力もネットワーク 20を介してフアイ ル交換やダウンロードできることを意味する。ファイル交換又はダウンロードの可否は 、ファイル交換の制限やアプリケーションの配布場所を検査することで判定できる。ァ プリケーシヨンの配布場所は、例えばアプリケーションの属性データ力も得ることがで きる。例えば、 JAVA (登録商標)実行環境の場合、アプリケーションの属性ファイル データは、アプリケーションと共に配布される JADファイルに記録される。 JADフアイ ルには、そのファイルの配布場所が URLや IPアドレス等のネットワークアドレスによつ て記述されており、このネットワークアドレスにアクセス可能であれば、ダウンロードに よってアプリケーションの取得が可能であることを判定することができる。もちろん、す でにアプリケーション Aを保持している場合には、取得能力を有していることになる。
[0041] 取得能力を有していると判定した場合、起動可否判定部 104は、アプリ実行部 103 1S 複数のアプリケーションを同時に動作させる能力を有している力否かを判定する( ステップ S602)。ここで、同時に動作させる能力を有していないと判定した場合、起 動可否判定部 104は、アプリ実行部 103が他のアプリケーションを実行中である力否 かをさらに判定する(ステップ S603)。このような判定を行うのは、アプリ実行部 103 の動作環境によっては、アプリケーションを同時に 2つ以上動作させることのできない 場合があるためである。例えば、 JAVA (登録商標)仮想マシンの一仕様である KVM では、アプリケーションを 1つしか動作させられない。よって、起動可否判定部 104は 、アプリ実行部 103の動作環境を検査することで、同時動作能力の有無を判定できる
[0042] 同時動作能力を有している又は有していなくても現在他のアプリケーションを実行 していないと判定した場合、起動可否判定部 104は、アプリ実行部 103が、要求され たアプリケーション Aの動作に必要なスペックを有して 、る力否かを判定する(ステツ プ S604)。このスペックとは、アプリケーション Aを動作させるための前提となっている 仕様やライブラリ群等を有しているかどうかを判定する。この判定は、例えばアプリケ ーシヨンの属性データと、アプリ実行部 103のプロファイルデータを比較することによ つて可能である。
[0043] アプリケーションの属性データとアプリ実行部 103のプロファイルデータとの形式は 、アプリ実行環境の実現方式や機器の接続方式、及び通信プロトコルに依存する。こ のため、一意に決定することはできず、いくつかの組み合わせが考えられる。例えば 、 JAVA (登録商標)実行環境の場合、アプリケーションの属性ファイルデータは、ァ プリケーシヨンと共に配布される JADファイルに記録される。また、 UPnPを用いたネ ットワーク接続の場合では、アプリ実行部 103のプロファイルデータは、 XML形式で 記述されたデータがアプリ実行部 103毎に準備される。 JADファイル等のアプリケー シヨン属性データ力もアプリケーション実行のための必要条件を解析し、 XMLデータ 等のアプリ実行部 103のプロファイルデータ力もアプリ実行部 103がその条件を満た しているか否かを検査することによって、起動可否判定部 104は、アプリケーションの 起動の可否を判定することができる。
[0044] 必要なスペックを満足して 、ると判定した場合、起動可否判定部 104は、アプリ実 行部 103が、要求されたアプリケーション Aの動作に必要な空き資源量を有している か否かを判定する (ステップ S605)。アプリケーションの実行に必要な資源量は、上 述の JADファイル等のアプリケーション属性データに記述されることもある力 記述さ れない場合もある。記述されない場合には、アプリケーションを実行する前に必要な 資源量を見積もる。見積もりの計算には様々な方法があるが、簡単な方法としては、 例えばアプリケーションの実行に必要なしきい値 (メモリサイズ 1MB等)を予め設定し 、その値を超える資源量をアプリ実行部 103が確保できれば、アプリケーション実行 可能とみなす等の方法が可能である。
[0045] そして、空き資源量を有していると判定した場合、起動可否判定部 104は、アプリケ ーシヨン Aの起動が可能であると判定する(ステップ S606)。一方、ステップ S601、 S 603— S605のいずれか 1つでも満足しない場合には、起動可否判定部 104は、ァ プリケーシヨン Aの起動が不可能であると判定する (ステップ S607)。なお、各判定ス テツプの順序は、図 6に示した順序に限られるものではなぐ前後可能である。
[0046] 図 7の起動可否判定動作を説明する。この起動可否判定動作では、ステップ S601 一ステップ S603まで図 6と同様である。そして、同時動作能力を有している又は有し て 、なくても現在他のアプリケーションを実行して!/、な!/、と判定した場合、起動可否 判定部 104は、アプリ実行履歴記録部 105に記録されている履歴データを参照して 、過去に同一のアプリケーションが実行された実績や、その時に使用された資源量に 基づ 、て、要求されたアプリケーション Aの起動可否を以下のように判断する。
[0047] 図 8は、アプリ実行履歴記録部 105に記録される履歴データの具体的な一例を説 明する図である。図 8の例では、アプリ実行履歴記録部 105は、履歴データとしてァ プリケーシヨン毎の識別情報を記録している。また、実行時に使用された資源量も記 録している。この資源量の情報は必須ではないが、用意されていればより簡単で高 い精度でアプリケーションの起動可否を判定することが可能となる。識別情報の内容 としては、アプリケーションの種類、ファイル名、バージョン情報、作成者、及びフアイ ルサイズ等が考えられる力 アプリケーションを一意に特定できるものであれば、図 8 に示す以外の内容であってもよい。これらの履歴データは、アプリ実行部 103でァプ リケーシヨンが実行される毎に、アプリ実行履歴記録部 105に記録される。
[0048] 起動可否判定部 104は、アプリ実行履歴記録部 105に記録された履歴データを参 照し、過去に同一のアプリケーションを動作したことがあるかどうかを判定する (ステツ プ S701)。具体的には、起動要求されたアプリケーション Aの識別情報と一致する識 別情報を持ったアプリケーションが、履歴データに存在するか否かが判定される。こ の判定の結果、一致する識別情報を持ったアプリケーションが存在する場合には、 起動可否判定部 104は、そのアプリケーションの履歴データに記録されている資源 量以上の空き資源量を、アプリ実行部 103が有している力否かを判定する。そして、 空き資源量を有していると判定した場合、起動可否判定部 104は、アプリケーション Aの起動が可能であると判定する (ステップ S606)。一方、ステップ S701の判定の結 果、一致する識別情報を持ったアプリケーションが存在しない場合には、起動可否判 定部 104は、図 6に示したステップ S604及び S605の処理を行う。
[0049] この図 7に示す履歴データを参照する動作を行えば、図 6で説明した必要な資源量 を見積もる方式で見積もりを少なくしてしまった時の弊害、すなわちアプリケーション を起動できたとしても実行中に必要なメモリが足りなくなり停止してしまうという事態、 を回避することができる。よって、この処理を行えば起動可否をより正確に判定できる ようになる。
[0050] (起動可能機器探索処理の説明)
次に、図 4のステップ S404で行う起動可能機器探索処理の詳細な動作を説明する このステップ S404における起動可能機器探索動作としては、現在の状態において アプリケーションの起動が可能な電子機器を選定する場合 (図 9及び図 10)と、優先 度情報を用いて現在実行して 、るアプリケーションを終了させることを考慮しつつァ プリケーシヨンの起動が可能な電子機器を選定する場合(図 11及び図 12)との、 2通 りがある。
[0051] 図 9の起動可能機器探索動作を説明する。
起動可能機器探索部 303は、電子機器 12の起動可否判定部 104からアプリケー シヨン A起動不可能の応答が通知されると、予め取得して 、る機器情報を解析して、 残る電子機器 13— 1Nの中にアプリケーション Aを代替動作できる電子機器が存在 する力否かを判定する (ステップ S901)。判定の結果、起動動作可能な電子機器が 全くない場合には (ステップ S902、 No)、アプリケーション Aを起動できる代替電子 機器は存在しないと判断して処理を終了する (ステップ S906)。一方、起動可能な電 子機器が 1つだけ存在する場合には (ステップ S903、 No)、その電子機器を代替電 子機器として選定する (ステップ S905)。また、起動可能な電子機器が 2つ以上存在 する場合には (ステップ S903、 Yes)、所定の条件に基づいて、いずれか 1つの電子 機器を代替電子機器として選定する (ステップ S904)。所定の条件とは、アプリ実行 部 103が有する空き資源量が最も大きいことや、電子機器のスペックがアプリケーシ ヨンの動作に適して ヽること等である。
[0052] なお、図 9の例では、起動可能機器探索部 303が、予め取得している機器情報を 用いて代替電子機器を選定する場合を示した。しかし、図 10に示した処理シーケン スのように、アプリケーション A起動不可能の応答が通知されると、起動可能機器探 索部 303が、残る電子機器 13— 1Nに対してアプリケーション Aの情報を含んだ起動 要求を改めて送信する(ブロードキャスト又はュ-キャスト)ようにしてもよ!、。この場合 、起動要求を受けた電子機器 13— 1Nは、アプリケーション Aの起動可否の判定結 果と現在の機器情報とを、起動可能機器探索部 303へ返送することになる(図 10)。 また、アプリケーション Aの起動可否の判定結果と現在の機器情報とは、別個の通信 によって取得するようにしても構わな 、。
[0053] 図 11の起動可能機器探索動作を説明する。
この起動可能機器探索動作は、上述した図 9のステップ S906のようにアプリケーシ ヨン Aを起動できる代替電子機器が存在しな ヽと判断した場合に有効である。この動 作を行うにあたり、起動可能機器探索部 303は、電子機器 12の起動可否判定部 10 4力 アプリケーション A起動不可能の応答が通知されると、要求を通知して電子機 器 13— 1N力も優先度情報を取得する (ステップ S1101)。この取得は、アプリ実行 優先度検出部 304において行われる。図 12は、優先度取得に関する処理シーケン スを示す図である。
[0054] この優先度情報とは、少なくとも以下の情報を指す。
(1)ダウンロードやファイル交換等によって、サービスを実現するアプリケーションを 取得することができる力否かの情報。 (2)アプリ実行部が、要求されたアプリケーションを起動及び動作できるスペックを保 持している力否かの情報。すなわち、アプリケーションを動作させるための前提となつ て 、る仕様やライブラリ群等を有して 、る力否かの情報。
(3)アプリケーション起動の要求があった時点で、アプリ実行部において別のアプリ ケーシヨンが動作中であるか否かの情報。
(4)アプリケーション起動の要求があった時点で、アプリ実行部が確保できる空き資 源量の情報。
(5)別のアプリケーションが動作中である場合、その別のアプリケーションを終了させ た時に、アプリ実行部が確保できる空き資源量の情報。
(6)別のアプリケーションが動作中である場合、その別のアプリケーションの属性に関 する情報。
[0055] 優先度情報を取得した後、起動可能機器探索部 303は、上述した通りにステップ S 901— S905の処理を実行する。これらの処理によって、アプリケーション Aを起動で きる代替電子機器が存在しな!ヽと判断した場合、起動可能機器探索部 303及びアブ リ実行優先度検出部 304は、優先度情報を参照して以下の処理を行う。
まず、アプリ実行部 103がアプリケーション Aを起動及び動作できるスペックを保持 していない電子機器が、選択対象力も除外される (ステップ S1102)。次に、アプリ実 行部 103において別のアプリケーションが動作中でない電子機器力 ステップ S110 2で残った選択対象から除外される (ステップ S 1103)。これは、別のアプリケーション を動作中ではないにも拘わらず、起動可否判定部 104で起動不可能と判定された電 子機器は、アプリケーションを起動する能力を有しないとみなせるからである。さらに 、動作中の別のアプリケーションを終了させたとしても、アプリ実行部 103がアプリケ ーシヨン Aを実行できるだけの空き資源量を確保できな ヽ電子機器が、ステップ S 11 03で残った選択対象から除外される (ステップ S 1104)。
[0056] 以上の除外処理の結果、選択対象の電子機器が残っている場合には (ステップ S1 105、 Yes)、起動可能機器探索部 303は、起動要求されたアプリケーション A及び 選択対象の電子機器が現在動作中である全てのアプリケーションについて優先度付 けを行って、優先度が最も低いアプリケーションを決定する (ステップ S1106)。優先 度付けは、好ましくはアプリケーションの属性に関する情報を用いて行われる。この優 先度付けによって決定された優先度が最も低いアプリケーションが、アプリケーション
A以外である場合 (ステップ S 1107、 No)、起動可能機器探索部 303は、そのアプリ ケーシヨンを動作中である電子機器を代替電子機器として選定する (ステップ S1108 )。一方、上記除外処理の結果、選択対象の電子機器が残っていない場合には (ス テツプ S1105、 No)又は優先度付けによって決定された優先度が最も低いアプリケ ーシヨンが、アプリケーション Aである場合 (ステップ S1107、 Yes)には、起動可能機 器探索部 303は、アプリケーション Aを起動できる代替電子機器は存在しな 、と判断 して処理を終了する(ステップ S906)。
[0057] ここで、例えば携帯電話に搭載されている JAVA (登録商標)実行環境向けの JAV A (登録商標)アプリケーションの属性情報である JADファイルからは、アプリケーショ ンの属性に関する情報として以下の情報を得ることが可能である。
(1)動作中に通信機能を用いるアプリケーションであるか否力。
(2)動作において画面表示機能を用いるアプリケーションであるか否力。
(3)携帯電話における待ち受け画面上で動作し続けるアプリケーションのように、ュ 一ザから明示的な操作がなくとも自動的に起動して動作するアプリケーションである 力 ; ^力 \>
[0058] そして、優先度付けの方法には、それぞれのアプリケーションの優先度評価値を算 出して、それを比較して決定するという方法が考えられる。優先度評価値の計算方法 としては様々な方法が考えられる力 その一例を以下に示す。なお、関数 eval[x]は 、 Xの条件が真なら「1」、偽なら「0」を返す関数である。 fl—f^¾、重み付けを与える ための変数であり、対応する関数値の重要度に応じて決められる。
優先度評価値 =
eval [アプリ実行部で実行中のアプリケーションである ] X f 1
+ eval [ 20分以上継続して実行されて!、るアプリケーションである ] X f 2 + eval [動作中に通信機能を用いるアプリケーションである] X f 3
eval [明示的なユーザ操作がなくても自動的に起動 ·動作するアプリケーションで ある] X f4 [0059] (アプリケーション起動処理の説明)
次に、図 4のステップ S404で図 11の動作が行われる場合に、同図のステップ S40 2で行うアプリケーション起動処理の詳細な動作を説明する。この場合のステップ S4 02におけるアプリケーション起動動作としては、ユーザに問い合わせる、すなわち起 動交渉することなく現在のアプリケーションの実行を停止する場合(図 13)と、起動交 渉した上で現在のアプリケーションの実行を停止する場合(図 14一図 16)との、 2通り がある。
[0060] 図 13のアプリケーション起動動作を説明する。
探索の結果、代替電子機器が特定されれば、アプリケーション起動調停装置 30の 起動指示部 302は、代替電子機器にアプリケーション Aの起動を指示する。この指示 を受けた代替電子機器は、アプリ実行部 103が、現在アプリケーションを動作中であ る力否かを判定する (ステップ S1301)。動作中である場合には、代替電子機器は、 アプリ実行部 103がアプリケーション Aを実行できるだけの空き資源量を有しているか 否かを判定する (ステップ S 1302)。この判定の結果、空き資源量を有していない場 合には、代替電子機器は、動作中のアプリケーションを停止する (ステップ S1303)。 そして、アプリ実行部 103がアプリケーション Aを実行できるだけの空き資源量を確保 できた後、代替電子機器は、アプリ格納部 102にアプリケーション Aが格納されてい るか否かを確認し、格納されていなければダウンロード又はファイル交換等によって アプリケーション Aを取得する(ステップ S 1304及び S 1305)。アプリケーション Aを取 得した後、図 4のステップ S402及び S403の処理を経て、代替電子機器によってァ プリケーシヨン Aが起動されて実行される(ステップ S407)。
[0061] 図 14のアプリケーション起動動作を説明する。
探索の結果、代替電子機器が特定されれば、アプリケーション起動調停装置 30の 起動指示部 302は、代替電子機器にアプリケーション Aの起動を指示する。この指示 を受けた代替電子機器は、アプリケーション Aを起動させても良いか否かを、ユーザ に問い合わせる(ステップ S1401)。この問い合わせは、例えば図 15のダイアログを 代替電子機器の画面に表示することで行われる。この問い合わせの応答として、ュ 一ザの許可 (例えば、明示的な「はい」という入力)が得られた場合には、上述した図 13のステップ S 1301及び S 1302の処理が実行される(ステップ S 1402、 Yes)。
[0062] そして、ステップ S 1302の判定の結果、空き資源量を有していない場合には、代替 電子機器は、現在動作中のアプリケーションを停止させても良いか否かを、ユーザに 問い合わせる(ステップ S 1403)。この問い合わせは、例えば図 16のダイアログを代 替電子機器の画面に表示することで行われる。この問い合わせの応答として、ユー ザの許可 (例えば、明示的な「はい」という入力)が得られた場合には、上述した図 13 のステップ S 1303— S 1305の処理力実行される(ステップ S 1404、 Yes)。
[0063] 一方、問 、合わせの応答として、ユーザの許可が得られな 、場合(明示的な「 、 ヽ え」という入力がなぐ一定時間が経過した場合を含む)には、アプリケーション Aの起 動に失敗したと判断して、処理を終了する (ステップ S 1405)。
これにより、図 4のアプリケーション起動調停方法の説明が終了する。
[0064] 次に、図 17のアプリケーション起動調停方法を説明する。
上述した図 4のアプリケーション起動調停方法は、起動要求された電子機器 12が アプリケーション Aの起動が不可能である場合に、代替電子機器を探索する動作で あった。これに対して、図 17のアプリケーション起動調停方法は、代替電子機器を探 索せずに、起動要求された電子機器 12がアプリケーション Aの起動可能となるまで 待機する動作である。
[0065] 図 17を参照して、電子機器 11から起動要求を受けたアプリケーション起動調停装 置 30は、起動指示部 302によって、電子機器 12にアプリケーション Aの起動を指示 する (ステップ S401)。アプリケーション起動調停装置 30から指示を受けた電子機器 12は、起動指示部 302から起動要求されたアプリケーション Aの情報を受信する。起 動可否判定部 104は、この情報と所定の判断基準とを考慮して、受信時点において アプリ実行部 103によってアプリケーション Aの起動が可能力否かを判断する (ステツ プ S402)。ここで、起動が可能と判断された場合には (ステップ S403、 Yes)、起動 可否判定部 104によって、アプリ実行部 103に起動可能が通知され、電子機器 12に よってアプリケーション Aが起動されて実行される (ステップ S407)。一方、起動が不 可能と判断された場合には (ステップ S403、 No)、起動可否判定部 104によって、ァ プリケーシヨン起動調停装置 30に起動不可能の応答が通知される。 [0066] 起動可否判定部 104から起動不可能の通知を受けると、アプリケーション起動調停 装置 30は、遅延起動監視部 307によって電子機器 12のアプリ実行部 103の動作の 監視を開始する (ステップ S1701)。起動可否判定部 104は、遅延起動監視部 307 による監視が停止するまでの間 (ステップ S1702)、アプリ実行部 103はアプリケーシ ヨン Aの起動が可能になったかどうかを定期的に判断している (ステップ S403)。この 定期的な判断は、一定周期のタイマによるポーリングで実現可能である。そして、起 動可能になったと判断した場合には、起動可否判定部 104によって、アプリ実行部 1 03に起動可能が通知され、電子機器 12によってアプリケーション Aが起動されて実 行される (ステップ S407)。監視期間にアプリケーション Aの起動が可能になると言う ことは、電子機器 12でそれまで実行中であった別のアプリケーションが終了して空き 資源量が確保された等の状態変化があったことを意味する。一方、遅延起動監視部 307による監視期間が経過しても可能にならない場合には、アプリケーション起動調 停装置 30は、アプリケーション Aの起動を断念してこの起動調停処理を終了する。
[0067] なお、遅延起動監視部 307の監視期間は、無限であってもよい。また、遅延起動監 視部 307の監視期間は、ユーザ力も与えられる指令によって停止してもよい。また、 起動可能になったと判断した場合には、アプリケーション Aを起動することをユーザに 問い合わせてもよい。この問い合わせは、例えば図 18のダイアログを電子機器 12の 画面に表示することで行われる。この問い合わせの応答として、ユーザの許可(例え ば、明示的な「はい」という入力)が得られた場合には、ステップ S407の処理が実行 される。
また、図 17のアプリケーション起動調停方法は、図 4のアプリケーション起動調停方 法の代わりに行われてもよいし、並行して行われてもよい。後者の場合、図 4のアプリ ケーシヨン起動調停方法によって代替電子機器が選定される力、図 17のアプリケー シヨン起動調停方法によって対象電子機器の空き資源量が確保されるか、 V、ずれか 早く行われた電子機器においてアプリケーション Aの起動が行われることになる。
[0068] 以上のように、本発明の一実施形態に係るアプリケーション起動調停システム及び 方法によれば、起動要求された電子機器にぉ 、てアプリケーションの起動が不可能 である場合に、アプリケーションの起動を代替できる別の電子機器を選定する力、又 は起動要求された電子機器がアプリケーションを起動できる状態になるのを待つこと を行う。これにより、従来よりも確実に所望のアプリケーションを起動させることができ る。代替する電子機器は、各電子機器の能力や優先度を考慮するため、電子機器の 選定に柔軟性を持たせることができる。
[0069] なお、本発明のアプリケーション起動調停装置 30を構成する起動指示部 302、起 動可能機器探索部 303、アプリ実行優先度検出部 304、システム設定テーブル変更 部 306、及び遅延起動監視部 307の各機能ブロックは、典型的には集積回路である LSI (集積度の違いにより、 IC、システム LSI、スーパー LSI、又はウルトラ LSI等と称 される)として実現される(図 1の破線を参照)。これらは、個別に 1チップィ匕されてもよ V、し、一部又は全部を含むように 1チップィ匕されてもょ 、。
また、集積回路化の手法は、 LSIに限るものではなぐ専用回路又は汎用プロセッ サで実現してもよい。また、 LSI製造後にプログラムすることが可能な FPGA (Field Programmable Gate Array)や、 LSI内部の回路セルの接続や設定を再構成可 能なリコンフィギユラブル'プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別の技術により、 LSIに置き換わる集積 回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積ィヒを行って もよ 、。バイオ技術の適応等が可能性としてあり得る。
産業上の利用可能性
[0070] 本発明は、複数の電子機器がネットワークを介して接続されたシステム環境等で利 用可能であり、特に電子機器で実行されるアプリケーションの起動を調停する場合等 に有用である。

Claims

請求の範囲
[1] 複数の電子機器がネットワークを介して接続されたシステムに用いられ、電子機器 で実行されるアプリケーションの起動を調停するアプリケーション起動調停装置であ つて、
いずれかの電子機器力も受け付けた所望のアプリケーションの起動要求に従って、 起動対象となる対象電子機器にアプリケーション起動の指示を行う起動指示部と、 前記複数の電子機器の中から、前記所望のアプリケーションの起動が可能な代替 電子機器を選定する起動可能機器探索部とを備え、
前記起動指示部は、前記対象電子機器による所望のアプリケーションの起動が不 可能である場合、前記起動可能機器探索部によって選定された代替電子機器にァ プリケーシヨン起動の指示を行うことを特徴とする、アプリケーション起動調停装置。
[2] 前記代替電子機器が、すでに別のアプリケーションを実行中であるか否かを判断し 、別のアプリケーションを実行中である場合には、前記所望のアプリケーション又は当 該別のアプリケーションのどちらの優先度が高いかを検出するアプリ実行優先度検 出部をさらに備え、
前記起動指示部は、前記アプリ実行優先度検出部において前記所望のアプリケー シヨンの優先度が高いと検出された場合に、前記代替電子機器に対して、前記別の アプリケーションを停止して前記所望のアプリケーションを起動させる指示を行うこと を特徴とする、請求項 1に記載のアプリケーション起動調停装置。
[3] 前記対象電子機器による所望のアプリケーションの起動が不可能である場合、前 記対象電子機器が所望のアプリケーションを起動可能な状態になるまで監視を行う 遅延起動監視部をさらに備え、
前記起動指示部は、前記対象電子機器が所望のアプリケーションを起動可能な状 態になった時に、前記対象電子機器にアプリケーション起動の指示を再度行うことを 特徴とする、請求項 1に記載のアプリケーション起動調停装置。
[4] 前記対象電子機器による所望のアプリケーションの起動が不可能である場合、前 記対象電子機器が所望のアプリケーションを起動可能な状態になるまで監視を行う 遅延起動監視部をさらに備え、 前記起動指示部は、前記対象電子機器が所望のアプリケーションを起動可能な状 態になった時に、前記対象電子機器にアプリケーション起動の指示を再度行うことを 特徴とする、請求項 2に記載のアプリケーション起動調停装置。
[5] 前記起動指示部及び前記起動可能機器探索部の動作を利用するか否かを記録 するシステム設定テーブルを保持するシステム設定テーブル保持部と、
前記システム設定テーブルの記録内容を変更するシステム設定テーブル変更部と をさらに備え、
前記システム設定テーブルの内容を変更することで、前記所望のアプリケーション の起動が指示された電子機器が、前記起動指示部及び前記起動可能機器探索部 の動作を制御できることを特徴とする、請求項 1に記載のアプリケーション起動調停 装置。
[6] 前記起動指示部及び前記起動可能機器探索部の動作を利用するか否かを記録 するシステム設定テーブルを保持するシステム設定テーブル保持部と、
前記システム設定テーブルの記録内容を変更するシステム設定テーブル変更部と をさらに備え、
前記システム設定テーブルの内容を変更することで、前記所望のアプリケーション の起動が指示された電子機器が、前記起動指示部及び前記起動可能機器探索部 の動作を制御できることを特徴とする、請求項 2に記載のアプリケーション起動調停 装置。
[7] 前記起動指示部及び前記遅延起動監視部の動作を利用するか否かを記録するシ ステム設定テーブルを保持するシステム設定テーブル保持部と、
前記システム設定テーブルの記録内容を変更するシステム設定テーブル変更部と をさらに備え、
前記システム設定テーブルの内容を変更することで、前記所望のアプリケーション の起動が指示された電子機器が、前記起動指示部及び前記遅延起動監視部の動 作を制御できることを特徴とする、請求項 3に記載のアプリケーション起動調停装置。
[8] 前記起動指示部及び前記遅延起動監視部の動作を利用するか否かを記録するシ ステム設定テーブルを保持するシステム設定テーブル保持部と、 前記システム設定テーブルの記録内容を変更するシステム設定テーブル変更部と をさらに備え、
前記システム設定テーブルの内容を変更することで、前記所望のアプリケーション の起動が指示された電子機器が、前記起動指示部及び前記遅延起動監視部の動 作を制御できることを特徴とする、請求項 4に記載のアプリケーション起動調停装置。
[9] 前記起動指示部は、前記起動可能機器探索部によって選定された代替電子機器 と通信を行って、前記所望のアプリケーションを実行させても良いかどうかを問い合わ ることを特徴とする、請求項 5に記載のアプリケーション起動調停装置。
[10] 前記起動指示部は、前記起動可能機器探索部によって選定された代替電子機器 と通信を行って、前記所望のアプリケーションを実行させても良いかどうかを問い合わ ることを特徴とする、請求項 6に記載のアプリケーション起動調停装置。
[11] 前記起動指示部は、前記遅延起動監視部が所望のアプリケーションを起動可能な 状態であると判断した時に、対象電子機器と通信を行って、前記所望のアプリケーシ ヨンを実行させても良いかどうかを問い合わることを特徴とする、請求項 7に記載のァ プリケーシヨン起動調停装置。
[12] 前記起動指示部は、前記遅延起動監視部が所望のアプリケーションを起動可能な 状態であると判断した時に、対象電子機器と通信を行って、前記所望のアプリケーシ ヨンを実行させても良いかどうかを問い合わることを特徴とする、請求項 8に記載のァ プリケーシヨン起動調停装置。
[13] 前記起動指示部力 のアプリケーション起動の指示に応じて、前記所望のアプリケ ーシヨンの起動が可能力否かを判定する起動可否判定部と、
前記起動可否判定部における起動可能の判定に応じて、前記所望のアプリケーシ ヨンを実行するアプリ実行部とを備える、請求項 1に記載のアプリケーション起動調停 装置。
[14] 前記アプリ実行部によって過去に実行されたアプリケーションの識別情報を記録保 持するアプリ実行履歴記録部をさらに備え、
前記起動可否判定部は、前記所望のアプリケーションと同一の識別情報を持つァ プリケーシヨンが過去に実行された力否かに基づ 、て、前記アプリ実行部で前記所 望のアプリケーションの起動が可能であるか否かを判定することを特徴とする、請求 項 13に記載のアプリケーション起動調停装置。
複数の電子機器がネットワークを介して接続されたシステムに用いられ、電子機器 で実行されるアプリケーションの起動を調停するアプリケーション起動調停装置に用 いられる集積回路であって、
いずれかの電子機器力も受け付けた所望のアプリケーションの起動要求に従って、 起動対象となる対象電子機器にアプリケーション起動の指示を行い、当該対象電子 機器による所望のアプリケーションの起動が不可能である場合には、代替電子機器 にアプリケーション起動の指示を行う起動指示部、
前記複数の電子機器の中から、前記所望のアプリケーションの起動が可能な前記 代替電子機器を選定する起動可能機器探索部、
前記代替電子機器が、すでに別のアプリケーションを実行中であるか否かを判断し 、別のアプリケーションを実行中である場合には、前記所望のアプリケーション又は当 該別のアプリケーションのどちらの優先度が高いかを検出するアプリ実行優先度検 出部、
前記対象電子機器による所望のアプリケーションの起動が不可能である場合、前 記対象電子機器が所望のアプリケーションを起動可能な状態になるまで監視を行う 遅延起動監視部、及び
前記起動指示部、前記起動可能機器探索部、及び遅延起動監視部の動作を利用 するカゝ否かを記録するシステム設定テーブルの記録内容を変更するシステム設定テ 一ブル変更部として機能する回路を、集積している。
PCT/JP2005/000692 2004-01-27 2005-01-20 アプリケーション起動調停装置及びシステム WO2005071541A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-017880 2004-01-27
JP2004017880A JP2007108804A (ja) 2004-01-27 2004-01-27 アプリケーション起動調停システム

Publications (1)

Publication Number Publication Date
WO2005071541A1 true WO2005071541A1 (ja) 2005-08-04

Family

ID=34805543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/000692 WO2005071541A1 (ja) 2004-01-27 2005-01-20 アプリケーション起動調停装置及びシステム

Country Status (2)

Country Link
JP (1) JP2007108804A (ja)
WO (1) WO2005071541A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286849A (ja) * 2006-04-14 2007-11-01 Canon Inc 情報処理装置、情報処理方法
JP2008129856A (ja) * 2006-11-21 2008-06-05 Nec Corp QoS制御システム、QoS制御方法、およびQoS制御プログラム
JP2008217299A (ja) * 2007-03-02 2008-09-18 Hitachi Software Eng Co Ltd ジョブネット実行システムおよびジョブネット実行方法
WO2011161783A1 (ja) * 2010-06-23 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2016533049A (ja) * 2013-06-06 2016-10-20 ボストン サイエンティフィック ニューロモデュレイション コーポレイション 携帯デバイスが医療デバイスと通信することを許可する方法及びそのためのシステム
CN110235114A (zh) * 2017-02-07 2019-09-13 三菱电机株式会社 分散协调系统、设备行动监视装置和家电设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003394B2 (en) 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
EP2061213A1 (en) * 2007-11-19 2009-05-20 Research In Motion Limited Method and system for application preference registration to a content delivery system
WO2009072196A1 (ja) 2007-12-05 2009-06-11 Fujitsu Limited 携帯端末および車載装置
JP5732726B2 (ja) * 2010-02-22 2015-06-10 日本電気株式会社 情報処理システム、情報処理システムの動作方法、および、プログラム
KR101275289B1 (ko) * 2011-01-13 2013-06-14 주식회사 팬택 콘텐츠 제공 장치 및 방법
JP5798973B2 (ja) * 2012-04-11 2015-10-21 株式会社リコー 処理状態が遷移する複数のプログラムを実行する装置及び方法
JP6155555B2 (ja) * 2012-05-30 2017-07-05 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
EP1134658A2 (en) * 2000-03-14 2001-09-19 Sun Microsystems, Inc. A system and method for comprehensive availability management in a high-availability computer system
JP2002505471A (ja) * 1998-02-26 2002-02-19 サンマイクロシステムズ インコーポレーテッド 遠隔処理の中断および継続の方法と装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
JP2002505471A (ja) * 1998-02-26 2002-02-19 サンマイクロシステムズ インコーポレーテッド 遠隔処理の中断および継続の方法と装置
EP1134658A2 (en) * 2000-03-14 2001-09-19 Sun Microsystems, Inc. A system and method for comprehensive availability management in a high-availability computer system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286849A (ja) * 2006-04-14 2007-11-01 Canon Inc 情報処理装置、情報処理方法
JP2008129856A (ja) * 2006-11-21 2008-06-05 Nec Corp QoS制御システム、QoS制御方法、およびQoS制御プログラム
JP2008217299A (ja) * 2007-03-02 2008-09-18 Hitachi Software Eng Co Ltd ジョブネット実行システムおよびジョブネット実行方法
WO2011161783A1 (ja) * 2010-06-23 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2016533049A (ja) * 2013-06-06 2016-10-20 ボストン サイエンティフィック ニューロモデュレイション コーポレイション 携帯デバイスが医療デバイスと通信することを許可する方法及びそのためのシステム
CN110235114A (zh) * 2017-02-07 2019-09-13 三菱电机株式会社 分散协调系统、设备行动监视装置和家电设备
CN110235114B (zh) * 2017-02-07 2023-06-23 三菱电机株式会社 分散协调系统、设备行动监视装置和家电设备

Also Published As

Publication number Publication date
JP2007108804A (ja) 2007-04-26

Similar Documents

Publication Publication Date Title
WO2005071541A1 (ja) アプリケーション起動調停装置及びシステム
US20210042144A1 (en) Virtual machine morphing for heterogeneous migration environments
CN110462589B (zh) 本地装置协调器中的按需代码执行
US9286141B2 (en) Image forming apparatus, program management system, program management method, and computer-readable storage medium
US20100106804A1 (en) System and method for processing local files using remote applications
CN106302565A (zh) 业务服务器的调度方法及系统
CN110352401B (zh) 具有按需代码执行能力的本地装置协调器
EP3595270B1 (en) Method and apparatus for generating or using interaction activity information
US20130219341A1 (en) Apparatus and method for creating a shortcut menu
KR20120072022A (ko) 클라우드 컴퓨팅 기반 가상 스마트홈 시스템, 서버 장치, 홈게이트웨이 및 방법
US20140304632A1 (en) Smart device for convenient graphic object arrangement and method of graphic object arrangement
US20120331139A1 (en) Gateway apparatus, communication apparatus, apparatus co-operation network system, and apparatus co-operation method
KR101775026B1 (ko) 페어 플레이 서비스 제공 방법 및 장치
NL1023093C2 (nl) Werkwijze voor het besturen van een thuisnetwerksysteem.
CN113552808A (zh) 一种电子家居设备配网方法、电子家居设备以及移动终端
US20160124403A1 (en) Method and server of customizing scenario mode for smart devices
WO2005076134A1 (ja) サービスを自動継続する電子機器
CN115037970A (zh) 一种控件有效性的检测方法及显示设备
JP2003316676A (ja) 機器及びネットワークシステム
CN111026503A (zh) 一种基于虚拟化的遥感卫星地面站监控方法和系统
JP7331132B2 (ja) アプリケーションプログラムのインストール方法、稼働方法、電子機器、コンピュータ可読媒体
CN114007202A (zh) 一种绑定关系的建立方法以及相关设备
CN114071652A (zh) 一种绑定关系的建立方法以及相关设备
CN111159734A (zh) 通信终端及多应用数据互访处理方法
JP2004005577A (ja) 情報処理システム及び情報処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

122 Ep: pct application non-entry in european phase