The present invention relates to a program execution device that downloads and executes a program, and particularly to technology for managing an area where an application program is saved in a digital broadcast receiver, in which the area where the downloaded application program is saved has limited space.
Technology for managing an area where an application is saved in a digital broadcast receiver, in which the area where the downloaded application program (hereafter, simply “application”) is saved has limited space, can be found in the OCAP specifications (OCAP 1.0 Profile OC-SP-OCAP 1.0-IF-I09-031121). In a digital broadcast receiver compliant with the OCAP specifications, upon receiving a save request and an execute request for an application, a digital broadcast receiver saves and executes the application in accordance with those requests. Here, the save request for the application is a request to save to a secondary storage memory such as a flash ROM. Hereafter, an area for saving the application is called a storage area; saving the application to the storage area is called storing; and a priority for saving the application to the storage area is called a storage priority. Here, a definition of the storage priority can be found in the OCAP specifications under “storage priority”.
In the case where a storage request for plural applications is received and the storage area is insufficient, the digital broadcast receiver compares the storage priority of the individual applications and preferentially stores the applications with a high storage priority. Here, in the case where some applications are already stored, these applications are deleted from the storage area in order, starting with applications with a low storage priority. However, operation of the application currently being executed must not be disturbed.
In the case of identical storage priorities, determination of which to store depends on the implementation status. In such a manner, by deleting or storing an application from or in the storage area, it is possible to always store, preferentially, the application with a high storage priority, from among the applications for which a storage request has been received.
Like the present invention, a proposal for notifying a user when a storage area is insufficient for an application has been given in Patent Reference 1 (Japanese Laid-Open Patent Application No. 6-324812 Publication, “External Storage Writing Method for Image Data”).
Patent Reference 1 provides a means for notifying a user of an amount of remaining space in which saving is possible when, at the time of a request to additionally write a file, writing of the file is rejected upon obtaining a comparison result indicating that the space remaining in the save area is less than the size of the file.
The physical available space in each block of the external storage, which has been divided into the blocks, is calculated (S5000); the space remaining in the external storage is determined by subtracting a value, in which the total number of blocks is multiplied by the maximum data size of one image, from the calculated value (S5002); if the size of the image data specified to be additionally written is known, that value is determined to be the file size, and if the size is not known, the maximum size of the image is determined to be the file size (S5003). The file size is compared with the space remaining in the external storage (S5004); writing of the image data is rejected when a result of the comparison indicates that the space remaining is insufficient for the file size (S5006); a block with physical remaining space larger than the file size is searched for when the result of the comparison indicates that the remaining space is sufficient for the file size (S5008); and the image data is written into the block indicated by the search result in additional mode (S5010).
Thus, with the technology of Patent Reference 1, the user can know that it is not possible to store a new application.
In addition, a proposal for carrying out interaction with a user during installation of an application has been made in Patent Reference 2 (Japanese Laid-Open Patent Application No. 10-21058 Publication, “Method and Device for Managing Version of Application Module”).
The version management method described in Patent Reference 2 includes: a version information saving step of saving version information for each module already installed (S5103); a version comparing step of comparing version information for a version of each module to be installed with the version information of the already-installed module that has been saved in the version information saving step (S5105); a messaging step of sending a message, in accordance with a comparison result obtained in the version comparing step, to a user who will carry out installation procedures; a module rewriting step of adding, deleting, or changing each module in accordance with the comparison result obtained in the version comparing step (S5108); and an output step of outputting, to a user interface, one or both of a result of the version comparing step and a result of the messaging step. A selecting step in which the user who performs installation selects adding, deleting, changing, or not changing each module based on the output result obtained from the output step is further proposed as an addition to the version management method.
Thus, with Patent Reference 2, at the time of installation of an identical application, the application is updated based on the version information comparison. At this time, a means for displaying the message to the user in accordance with the version information comparison result, and furthermore, a means for allowing the user to select adding, deleting, changing, or not changing the application, are provided. Through this technology, it is possible for the user to know that an application is newly installed. Moreover, it is possible to control the installation procedure in the case where installation that rolls back to an older version is carried out.
Problems that Invention is to Solve
However, in a digital broadcast receiver (program execution device) described in the OCAP specifications, in the case where a storage area is insufficient at the time of a storage request for an application, the application is stored in/deleted from the storage area based on a result of comparing storage priorities of applications, but because the storage operation for the application is performed automatically, it is not possible for the user to know the result of the storage operation for the application; for example, which application has been stored in/deleted from the storage area.
For this reason, the user cannot know of a change in the behavior of the application caused by a result of the storage operation such as deletion of the application from the storage area, such as, for example, when startup of the application is slow; there is concern that the user will experience anxiety when starting the application that has been deleted from storage because the startup of the application is slow.
In Patent Reference 1, there is no means for deleting an already-stored application; therefore, no means for notifying the user that the application has been deleted from storage is provided. Moreover, the technology of Patent Reference 1 does not make use of a storage priority.
In addition, Patent Reference 2 deals with a function for replacing identical applications; a certain application being installed results in insufficient space in the install destination, and other applications are not deleted. Therefore, Patent Reference 2 does not provide a means for deleting an already-installed application from the storage area based on a comparison of storage priorities upon receiving a request to newly store an application, and does not provide a means for notifying the user that an already-stored application has been deleted from the storage area.
Accordingly, an object of the present invention is to provide a program execution device that a user can use with peace of mind.
Means to Solve the Problems
To solve the abovementioned problems, a program execution device according to the present invention is a program execution device that downloads and executes a program, and includes: a storage unit having an area for storing the downloaded program; a storage judgment unit that judges whether or not it is possible for each of plural programs, including a program to be downloaded, to be held in the storage unit, based on a priority assigned to each of the programs; a notification unit that notifies a user of a message regarding treatment of the program judged by the storage judgment unit as being impossible to be held; a storage processing unit operable to store, in said storage unit, the program to be downloaded which has been judged by said storage judgment unit as being possible to be held; and an execution unit operable to execute the program stored in said storage unit. Also, for example, the program execution device may further include a deletion unit which deletes a program stored in the storage unit, the program having been judged by the storage judgment unit as being impossible to be held; the notification unit notifies the user of a message regarding the deletion of the program; and the storage processing unit stores, in the storage unit from which the program has been deleted, the program to be downloaded that has been judged by the storage judgment unit as being possible to be held. In addition, the deletion unit deletes the program stored in the storage unit after detecting that the user has been notified by the notification unit.
To be more specific, when a new program is downloaded while there is already a program stored in the storage unit, there are cases in which the programs cannot be held in the storage unit together. In such cases, with the program execution device according to the present invention, the priority of the new program is compared with the priority of the program already stored in the storage unit; when the priority of the program stored in the storage unit is lower, that program is deleted from the storage unit, and a message regarding the deletion of that program is provided to the user. Therefore, even if there is a change in the behavior of the program execution device due to the deletion, the user knows the reason for this change from the message, and thus can use the program execution device with peace of mind.
In addition, the notification unit may notify the user of a message requesting the user to confirm the deletion of the program stored in the storage unit; the program execution device may further include a confirmation acquisition unit that acquires a result of a confirmation which the user has made in response to the message, and the deletion unit may delete the program stored in the storage unit upon detecting that the confirmation acquisition unit has acquired the result of the confirmation.
Through this, the program is deleted after the user confirms the message; therefore, it is possible to prevent the program from being deleted without the user confirming the message, and possible to reliably provide the message to the user.
Moreover, the notification unit may notify the user of a message inquiring whether or not it is acceptable to delete the program stored in the storage unit, and the program execution device may further include an answer acquisition unit that acquires a result of an answer which the user has made in response to the message; the deletion unit may delete the program stored in the storage unit upon detecting that the result of the answer acquired by the answer acquisition unit indicates that deletion has been allowed.
Through this, the program is deleted after receiving permission to delete the program from the user; therefore, it is possible to prevent the program from being deleted without permission from the user, thus improving the usability.
Here, the program execution device may further include a priority change unit that raises the priority of the program stored in the storage unit, the program having been judged by the storage judgment unit as being impossible to be held, upon detecting that the result of the answer acquired by the answer acquisition unit indicates that deletion has been rejected; the storage judgment unit may judge, again, whether or not it is possible to hold each of the programs in the storage unit, based on the priority changed by the priority change unit.
Through this, when the user rejects deletion of the program, the priority of that program is raised, and a program that cannot be stored is once again selected from among the plural programs based on that priority; therefore, a program unnecessary to the user can be deleted, and the usability improved.
Moreover, the storage judgment unit may further judge whether or not the plural programs judged as being impossible to be held are stored in the storage unit; the notification unit may notify the user of a message prompting selection of which program, from among the plural programs judged to be stored by the storage judgment unit, to delete. The program execution device may further include a selection result acquisition unit that acquires a result of the selection made by the user in response to the message; the deletion unit is operable to delete the program indicated by the result of the selection acquired by said selection result acquisition unit.
For example, in a situation where the capacity of the storage unit is too small to store two programs together in the storage unit, but one of the programs can be stored, and the priorities of the two programs are identical, the storage judgment unit cannot judge the merits/demerits of each program, and thus judges that both programs cannot be stored. As mentioned above, the present invention allows the user to select which of the two programs to delete even when such a case arises; therefore, it is possible to delete a program unnecessary to the user, and improve the usability.
In addition, the program execution device may further include an execution judgment that judges whether or not the program, which has been judged by the storage judgment unit as being impossible to be held, is being executed by the execution unit; and the notification unit may notify the user of a message regarding deletion of the program judged by the execution judgment unit as being executed. For example, the deletion unit terminates execution of the program judged by the execution judgment unit as being executed, and deletes the program.
Through this, when the program being executed is judged as being impossible to be held, the user is notified, and the program is forcibly terminated and deleted; therefore, it is possible to set the space required for saving the program to be downloaded in the storage unit in a timely manner.
Here, the notification unit may notify the user of a message inquiring whether or not it is acceptable to delete the program judged by the execution judgment unit as being executed. The program execution device may further include an answer acquisition unit that acquires a result of an answer which the user has made in response to the message, and the deletion unit may terminate and delete the program being executed, upon detecting that the result of the answer acquired by the answer acquisition unit indicates that deletion has been allowed.
Through this, the user can select whether or not to delete the program, thus improving the usability.
In addition, upon detecting that the program being executed has been terminated based on a result of the judgment carried out by the execution judgment unit, the deletion unit may delete the program.
Through this, when the program being executed is judged as being impossible to be held, the user is notified, and the program being executed is deleted after waiting for it to terminate; therefore, the program being executed can be used by the user with peace of mind.
Moreover, the notification unit may notify the user of a message regarding storage of the program to be downloaded that has been judged by the storage judgment unit as being impossible to be held. For example, the storage judgment unit may further judge whether or not the plural programs judged as being impossible to be held are stored in the storage unit, and the notification unit may notify the user of a message prompting selection of which program to store, from among the plural programs judged not to be stored by the storage judgment unit. The program execution device may further include a selection result acquisition unit that acquires a result of the selection made by the user in response to the message, and the deletion may store the program indicated in the result of the selection acquired by the selection result acquisition unit.
For example, in a situation where the capacity of the storage unit is too small to store two programs together in the storage unit, but one of the programs can be stored, and the priorities of the two programs are identical, the storage judgment unit cannot judge the merits/demerits of each program, and thus judges that both programs cannot be stored. As mentioned above, the present invention allows the user to select which of the two programs to save even when such a case arises; therefore, it is possible to delete a program unnecessary to the user, and improve the usability.
Note that the present invention can be realized not only as a program execution device, but also as a method or program that for performing the operations of the program execution device, as well as a storage medium for storing that program.
The program execution device of the present invention provides an operational effect in which a user can use the device with peace of mind.
1200 program
1201 OS
1201
a kernel
1201
b library
1202 EPG
1202
a TV show display unit
1202
b reproduction unit
1203 VM
1204 service manager
1205 library
1205
a JMF
1205
b AM
1205
c Tuner
1205
d CA
1205
e PODLib
2601 storage priority comparison unit
2602 stored application determination unit
2603 storage unit
2604 storage deletion unit
2605 notification unit
2606 storage area remaining space acquisition unit
2607 application size acquisition unit
The embodiment of the cable television system in the present invention shall be explained with reference to the diagrams.
The head end 101 transmits, to plural terminal apparatuses, broadcast signals such as video, audio and data, and receives data transmissions from the terminal apparatuses. In order to realize this, frequency bands are divided for use in data transmission between the head end 101, and the terminal apparatus A111, the terminal apparatus B112, and the terminal apparatus C113.
The head end 101 is equipped with a QPSK modulation unit, a QAM modulation unit, and the like in order to transmit suitable broadcast signals in the respective frequency ranges. In addition, the head end 101 has a QPSK demodulator for receiving data from the terminal apparatuses. Also, the head end 101 is assumed to be further equipped with various devices related to the above modulation units and demodulation unit. However, the present invention relates mainly to the terminal apparatuses, and therefore detailed descriptions are omitted.
The terminal apparatus A111, the terminal apparatus B112, and the terminal apparatus C113 receive and reproduce broadcast signals transmitted from the head end 101. Furthermore, the terminal apparatus A111, the terminal apparatus B112, and the terminal apparatus C113 transmit data unique to each terminal apparatus to the head end 101. In the present embodiment, these three terminal apparatuses have the same configuration.
601 is a housing of the flat-panel TV, which contains all constituent elements of the terminal apparatus 500 except for the POD 504.
A display 602 corresponds to the display 509 in
604 is a signal input terminal, to which a cable line is connected for transmitting/receiving signals to and from the head end 101. In addition, the signal input terminal 604 is connected to the QAM demodulation unit 501, the QPSK demodulation unit 502, and the QPSK modulation unit 503 shown in
A POD card 605 corresponds to the POD 504 in
The POD card 605 is inserted into an insertion slot 606. As shown in
The QPSK demodulation unit 502 demodulates a signal which has been QPSK-modulated in and transmitted from the head end 101, according to tuning information that includes a frequency specified by the CPU 514, and passes the resultant to the POD 504.
The QPSK modulation unit 503 QPSK-modulates a signal passed from the POD 504, according to modulation information that includes a frequency specified by the CPU 514, and transmits the resultant to the head end 101.
As shown in
The first descrambler unit 701, under instruction from the CPU 706, receives a scrambled signal from the QAM demodulation unit 501 of the terminal apparatus 500 and descrambles the signal. Then, the first descrambler unit 701 transmits the descrambled signal to the TS decoder 505 of the terminal apparatus 500. Information required for decoding such as a key is provided by the CPU 706 as necessary. More specifically, the head end 101 broadcasts several fee-based channels, and when the user purchases the right to view these fee-based channels, the first descrambler unit 701 receives required information such as a key from the CPU 706 and performs descrambling, and the user is able to view these fee-based channels. When required information such as a key is not provided, the first descrambler unit 701 passes the received signal directly to the TS decoder 505 without performing descrambling.
The second descrambler unit 702, under instruction from the CPU 706, receives a scrambled signal from the QPSK demodulation unit 502 of the terminal apparatus 500 and descrambles the signal. Then, the second descrambler unit 702 passes the descrambled data to the CPU 706.
The scrambler unit 703, under instruction from the CPU 706, scrambles the data received from the CPU 706 and sends the resultant to the QPSK modulation unit 503 of the terminal apparatus 500.
The primary storage unit 704, specifically made up of a primary memory such as a RAM, is utilized for storing data temporarily when the CPU 706 performs processing.
The secondary storage unit 705, specifically made up of a secondary storage memory such as a flash ROM, is utilized for storing a program to be executed by the CPU 706 as well as for storing data which should not be deleted even when the power is turned off.
The CPU 706 executes the program stored in the secondary storage unit 705. The program is made up of plural subprograms.
Here, PPV, which is an abbreviation of Pay Per View, refers to a service that allows the user to view a certain TV show, such as a movie, by paying a fee. When the user enters his/her personal identification number, the purchase of the right to view the program is notified to the head end 101, scrambling is cancelled, and the program can be viewed by the user. With this viewing, the user is required to pay the purchase price at a later date.
The main program 801, which is the first subprogram activated by the CPU 706 when the power is turned on, controls the other subprograms.
The initialization subprogram 802, which is activated by the main program 801 when the power is turned on, performs information exchange with the terminal apparatus 500 and performs initialization processing. This initialization processing is defined in detail in OpenCable (R) HOST-POD Interface Specification (OC-SP-HOSTPOD-IF-I12-030210) and in specifications referring to this specification. Furthermore, the initialization subprogram 802 also performs initialization processing not defined in these specifications. Here, a part of this initialization processing is introduced. When the power is turned on, the initialization subprogram 802 notifies the QPSK demodulation unit 502 of a first frequency stored in the secondary storage unit 705 via the CPU 514 of the terminal apparatus 500. The QPSK demodulation unit 502 performs tuning using the provided first frequency, and transmits the resulting signal to the secondary scrambler unit 702. Moreover, the initialization subprogram 802 provides the secondary descrambler unit 702 with descrambling information such as a first key stored in the secondary storage unit 705. As a result, the secondary descrambler unit 702 performs descrambling and passes the resultant to the CPU 706 executing the initialization subprogram 802. Thus, the initialization subprogram 802 can receive the information. In the present embodiment, the initialization subprogram 802 receives information via the network subprogram 803. A detailed description on this is given later.
Furthermore, the initialization subprogram 802 notifies the QPSK modulation unit 503 of a second frequency stored in the secondary storage unit 705 via the CPU 514 of the terminal apparatus 500. The initialization subprogram 802 provides the scrambler unit 703 with scrambling information stored in the secondary storage unit 705. When the initialization subprogram 802 provides, via the network subprogram 803, the scrambler unit 703 with information required to be sent, the scrambler unit 703 scrambles the data using the provided scrambling information, and provides the scrambled data to the QPSK modulation unit 503. The QPSK modulation unit 503 modulates the scrambled information which it received, and sends the modulated information to the head end 101.
As a result, it becomes possible for the initialization subprogram 802 to carry out two-way communications with the head end 101 via the terminal apparatus 500, the secondary descrambler unit 702, the scrambler unit 703, and the network subprogram 803.
The network subprogram 803, which is used by plural subprograms such as the main program 801 and the initialization subprogram 802, is a subprogram intended for carrying out a two-way communication with the head end 101. More specifically, the network subprogram 803 behaves as if other subprograms using the network subprogram 803 were carrying out a two-way communication with the head end 101 in accordance with TCP/IP. A detailed explanation of TCP/IP is omitted here, since it is a publicly known technique for specifying the protocols to be used when exchanging information between plural terminals. When activated by the initialization subprogram 802 when power is turned on, the network subprogram 803 notifies, via the terminal apparatus 500, the head end 101 of a MAC address (an abbreviation of Media Access Control address) which is an identifier for identifying the POD 504 and which is stored in the secondary storage unit 705 beforehand, so as to request for the obtainment of an IP address. The head end 101 notifies the POD 504 of the IP address via the terminal apparatus 500, and the network subprogram 803 stores the IP address in the primary storage unit 704. Thereafter, the head end 101 and the POD 504 communicate with each other using the IP address as the identifier of the POD 504.
The reproduction subprogram 804 provides the first descrambler unit 701 with descrambling information such as a second key stored in the secondary storage unit 705 as well as descrambling information such as a third key provided by the terminal apparatus 500, so as to allow descrambling to be performed. Furthermore, the reproduction subprogram 804 receives, via the network subprogram 803, information indicating that the signal inputted in the first descrambler unit 701 is a PPV channel. On the notification that the signal is a PPV channel, the reproduction subprogram 804 activates the PPV subprogram 805.
When activated, the PPV subprogram 805 displays, on the terminal apparatus 500, a message that prompts the user to purchase the TV show, and accepts an input from the user. More specifically, when information intended to be displayed on the screen is sent to the CPU 514 of the terminal apparatus 500, a program running on the CPU 514 of the terminal apparatus 500 shows the message on the display 509 of the terminal apparatus 500. Then, when the user enters the personal identification number via the input unit 513 of the terminal apparatus 500, the CPU 514 of the terminal apparatus 500 accepts it, and sends it to the PPV subprogram 805 running on the CPU 706 of the POD 504. The PPV subprogram 805 sends, to the head end 101, the accepted personal identification number via the network subprogram 803. When such personal identification number is valid, the head end 101 notifies, via the network subprogram 803, the PPV subprogram 805 of descrambling information required for descrambling such as a fourth key. The PPV subprogram 805 provides the first descrambler unit 701 with the accepted descrambling information such as the fourth key, and then the first descrambler unit 701 descrambles the signal being inputted.
As shown in
A packet 1004 carries the packet ID “1” in its header and includes the second information of the video A in its payload, and is the continuation of the packet 1001. Similarly, packets 1005, 1026, and 1027 carry follow-on data of the other packets. By concatenating the contents of the payloads of packets with the same packet IDs in the above manner, it is possible to reproduce a continuing video and audio.
As shown in
This process of extracting only necessary packets according to the packet IDs corresponds to the filtering performed by the TS decoder 505. The TS decoder 505 is capable of performing more than one filtering processing simultaneously, at the instruction of the CPU 514.
As shown in
The speaker 507 performs the audio output of the signal provided by the audio decoder 506.
The video decoder 508 concatenates video data embedded in the packets in the MPEG2 transport stream provided by the TS decoder 505, performs digital-to-analog conversion on the concatenated data, and outputs the resultant to the display 509.
The display 509, specifically configured of a CRT or a liquid crystal and the like, outputs a video signal provided by the video decoder 508 and displays a message specified by the CPU 514, and so forth.
The secondary storage unit 510, specifically made up of a flash memory, a hard disk, or the like, stores and deletes data and programs specified by the CPU 514. Stored data and programs are referred to by the CPU 514. The stored data and programs are kept in storage even when power to the terminal apparatus 500 is cut off.
The primary storage unit 511, specifically made up of a RAM and the like, temporarily stores and deletes data and programs specified by the CPU 514. Stored data and programs are referred to by the CPU 514. The stored data and programs are deleted when power to the terminal apparatus 500 is cut off.
The ROM 512 is a read-only memory device, specifically made up of a ROM, a CD-ROM, or a DVD, and the like. The ROM 512 stores a program to be executed by the CPU 514.
The input unit 513, specifically made up of a front panel or remote control, accepts an input from the user.
The CPU 514 executes the program stored in the ROM 512. Following the instructions from the program to be executed, the CPU 514 controls the QAM demodulation unit 501, the QPSK demodulation unit 502, the QPSK modulation unit 503, the POD 504, the TS decoder 505, the display 509, the secondary storage unit 510, the primary storage unit 511, and the ROM 512.
A program 1200 is made up of plural subprograms. To be more specific, the program 1200 is made up of an OS 1201, an EPG 1202, a Java (R) VM 1203 (hereafter, VM 1203), a service manager 1204, and a Java library 1205 (hereafter, library 1205).
The OS 1201 is a subprogram activated by the CPU 514 when power to the terminal apparatus 500 is turned on. The OS 1201 stands for operating system, an example of which is Linux (R) and the like. The OS 1201 is a generic name for publicly known technology made up of a kernel 1201a for executing a subprogram in parallel with another subprogram and a library 1201b, and therefore a detailed description is omitted. In the present embodiment, the kernel 1201a of the OS 1201 executes the EPG 1202 and the VM 1203 as subprograms. Meanwhile, the library 1201b provides these subprograms with plural functions required for controlling the constituent elements of the terminal apparatus 500.
A tuning function can be introduced as one example of these functions. In the tuning function, tuning information including a frequency is received from another subprogram and then passed over to the QAM demodulation unit 501. Accordingly, it is possible for the QAM demodulation unit 501 to perform demodulation based on the provided tuning information, and pass the demodulated data to the POD 504. As a result, the other subprograms can control the QAM demodulation unit via the library 1201b.
The EPG 1202 is made up of a TV show display unit 1202a for displaying a list of TV shows to the user and for accepting an input from the user, and a reproduction unit 1202b for selecting channels. Here, EPG stands for Electric Program Guide. The EPG 1202 is activated by the kernel 1201a when power to the terminal apparatus 500 is turned on. In the activated EPG 1202, the TV show display unit 1202a waits for an input from the user via the input unit 513 of the terminal apparatus 500. Here, in the case where the input unit 513 takes the form of the front panel illustrated in
When the OK button 1105 on the front panel 1100 is pressed down in the state shown in
Furthermore, the TV show display unit 1202a periodically stores TV show information to be displayed from the head end 101 into the primary storage unit 511 via the POD 504. Generally, it takes time to obtain TV show information from the head end. However, it becomes possible to quickly display a TV show table by displaying the TV show information that is pre-stored in the primary storage unit 511 at the press of the EPG button 1107 of the input unit 513.
The reproduction unit 1202b reproduces the channel using the received identifier of the channel. The relationship between channel identifiers and channels is pre-stored by the secondary storage unit 510 as channel information.
The VM 1203 is a Java virtual machine that sequentially analyzes and executes programs written in the Java (R) language. Programs written in the Java language are compiled of intermediate code which does not depend on the hardware, called bytecode. The Java Virtual Machine is an interpreter which executes this bytecode. Some of the Java virtual machines translate the byte codes into an executable form which can be interpreted by the CPU 514 and pass the resultant to the CPU 514, which executes it. The VM 1203 is started with a Java program to be executed being specified by the kernel 1201a. In the present embodiment, the kernel 1201a specifies the service manager 1204 as a Java program to be executed. Details of the Java language are explained in many publications, such as “Java (R) Language Specification” (ISBN 0-201-63451-1). Here, those details are omitted. In addition, detailed operations of the Java Virtual Machine itself are explained in many publications, such as “Java (R) Virtual Machine Specification” (ISBN 0-201-63451-X). Here, those details are omitted.
The service manager 1204, which is a Java program written in the Java language, is sequentially executed by the VM 1203. It is possible for the service manager 1204 to call or be called by another subprogram not written in the Java language through the JNI (Java (R) Native Interface). JNI is described in many publications, such as “Java (R) Native Interface.” Here, those details are omitted.
The service manager 1204 accepts the identifier of the channel from the reproduction unit 1202b through the JNI.
First, the service manager 1204 passes the identifier of the channel to a Tuner 1205c in the library 1205 so as to request for tuning. The Tuner 1205c refers to the channel information stored in the secondary storage unit 510 to obtain the tuning information. Assuming that the service manager 1204 passes the identifier “2” of the channel to the Tuner 1205c, the Tuner 1205c refers to the line 1412 shown in
Next, the service manager 1204 requests a CA 1205d inside the library 1205 to perform descrambling. The CA 1205d provides the POD 504 with information required for descrambling through the library 1201b in the OS 1201. On the basis of the provided information, the POD 504 descrambles the signal provided by the QAM demodulation unit 501, and passes the resultant signal to the TS decoder 505.
Next, the service manager 1204 provides a JMF 1205a inside the library 1205 with the identifier of the channel, so as to request for the reproduction of the video and audio.
First, the JMF 1205a obtains, from a PAT and a PMT, packet IDs used to specify the video and audio to be reproduced. PAT and PMT are tables defined by the MPEG-2 standard that show the program line-up included in an MPEG-2 transport stream. PAT and PMT are carried in the payloads in packets included in an MPEG-2 transport stream, together with audio and video. Refer to the specification for a detailed description of PAT and PMT. Here, only an overview of PAT and PMT is given. PAT, which is an abbreviation of Program Association Table, is carried in packets with the packet ID “0”. In order to obtain the PAT, the JMF 1205a indicates, to the TS decoder 505, the packet ID “0” and the CPU 514 through the library 1201b of the OS 1201. Then, the TS decoder 505 performs filtering based on the packet ID “0”, and passes the resultant to the CPU 514. Accordingly, the JMF 1205a can collect the PAT packets.
Then, the JMF 1205a provides the TS decoder 505 with pairs of the obtained audio packet ID and the audio decoder 506 as an output destination as well as the video packet ID and the video decoder 508 as an output destination, via the library 1201b of the OS 1201. The TS decoder 505 performs filtering based on such provided packet IDs and the output destinations. Here, the packet with the packet ID “5011” is passed to the audio decoder 506 and the packet with the packet ID “5012” is passed to the video decoder 508. The audio decoder 506 performs digital-to-analog conversion on the provided packet, so as to reproduce the audio via the speaker 507. The video decoder 508 performs digital-to-analog conversion on the provided packet, so as to display the video on the display 509.
Finally, the service manager 1204 provides the channel identifier to an AM 1205b in the library 1205, so as to request for data broadcast reproduction. Here, data broadcast reproduction means to extract a Java program included in the MPEG2 transport stream and cause the VM 1203 to execute it. A format called DSMCC, which is noted in the MPEG specifications ISO/IEC 13818-6, is used as the method to embed the Java program in the MPEG-2 transport stream. Here, detailed descriptions of DSMCC are omitted. DSMCC specification defines a method of encoding a file system comprised of directories and files used by a computer, in packets within an MPEG2 transport stream. Information about the Java program to be executed is carried in packets in the MPEG2 transport stream in the form of AIT. AIT is an abbreviation of Application Information Table, as defined by the OCAP specification (officially, OCAP 1.0 Profile OC-SP-OCAP 1.0-IF-I09-031121).
First, in order to obtain the AIT, the AM 1205b obtains the PAT and PMT as in the case of the JMF 1205a, so as to obtain the packet ID of the packet that stores the AIT. Assuming that “2” is the provided channel identifier and that the PAT shown in
The AM 1205b provides the TS decoder 505 with the packet ID of the AIT and the CPU 514 as an output destination through the library 1201b of the OS 1201. Then, the TS decoder 505 performs filtering based on the provided packet ID, and passes the resultant to the CPU 514. Accordingly, the AM 1205b can collect the packets of AIT.
The AM 1205b finds the “autostart” Java program from the AIT, and extracts the corresponding DSMCC identifier and Java program name. As shown in
Next, the AM 1205b obtains, from the PMT, the packet ID of packets that store Java programs in the DSMCC format, using the DSMCC identifier obtained from the AIT. More specifically, the AM 1205b obtains, from the PMT, the packet ID included in the elementary stream whose stream type is “Data” and whose DSMCC identifier in the additional information matches.
Here, assuming that such DSMCC identifier is “1” and the PMT is the one shown in
The AM 1205b indicates, to the TS decoder 505, the packet ID of packets in which data is embedded in the DSMCC format as well as the CPU 514 as an output destination through the library 1201b of the OS 1201. Here, the packet ID “5014” is provided. Then, the TS decoder 505 performs filtering based on such provided packet ID, and passes the resultant to the CPU 514. Accordingly, the AM 1205b can collect the required packets. The AM 1205b reconstructs the file system from the collected packets according to the DSMCC method, and stores the reconstructed file system in the primary storage unit 511. The process for extracting data such as the file system from packets in the MPEG2 transport stream and storing the extracted data into storage units such as the primary storage unit 511 is hereafter called downloading.
Subsequently, the AM 1205b passes, to the VM 1203, a Java program to be executed out of the file system downloaded into the primary storage unit 511. At this time, when the name of the Java program to be executed is “a/TopXlet,” the file to be executed is the file “a/TopXlet.class,” which is the Java program name with “.class” added. “/” is a delimiter between a directory and a file name, and as shown in
The VM 1203 executes the received Java program. Upon the receipt of the identifier of another channel, the service manager 1204 terminates the reproduction of the video and audio as well as the execution of the Java program which are being carried out through each library included in the library 1205, through each library included in the same library 1205, and then performs the reproduction of the video and audio as well as the execution of a Java program based on the newly received channel identifier.
The library 1205 is a collection of plural Java libraries stored in the ROM 512. In the present embodiment, the library 1205 includes a JMF 1205a, and AM 1205b, a Tuner 1205c, a CA 1205d, and a PODLib 1205e.
Next, functions of downloading, storing, and executing the Java program shall be described.
The service manager 1204 can accept information from the head end 101 by communicating with the head end 101 via the PODLib 1205e, which is included in the library 1205. This communication can be realized by the POD Lib 1205e using the QPSK demodulation unit 502 via the library 1201b of the OS 1201 and the POD 504.
Through this communication, the service manager 1204 accepts information of the Java program which the terminal apparatus 500 is to store in the secondary storage unit 510 from the head end 101. Such information is referred to as XAIT information. The XAIT information is transmitted between the head end 101 and the POD 504 in an arbitrary form. The present invention can be implemented regardless of transmission format, as long as information required for the XAIT information is included.
Note that the application name in column 2007 is, for example, a name used for identifying each Java program described in the XAIT information to the user; however, if enough information for the user to be able to identify the Java program is presented to the user, the present invention can be implemented even without the application name.
Next, the service manager 1204 transfers the XAIT information to the AM 1205b in the library 1205 and requests extraction, downloading, and execution of the Java program described in the XAIT information from the MPEG-2 transport stream.
Upon the receipt of the XAIT information, the AM 1205b stores the file system from the MPEG2 transport stream in the primary storage unit 511, according to the same procedure as that for downloading the Java program from the AIT information. After that, the file system stored in the primary storage unit 511 is copied to the secondary storage unit 510. Note that it is also possible to download the filesystem directly to the secondary storage unit 510, without going through the primary storage unit 511.
Next, the AM 1205b associates a storage position of the downloaded filesystem with the XAIT information and stores it in the secondary storage unit 510.
Here, the XAIT information is stored after the Java program is stored, but the XAIT information may instead be stored before the Java program is stored. Note that the XAIT information is stored in the secondary storage 510, but the XAIT information may also be stored in the primary storage unit 511. In the case where the XAIT information is stored in the primary storage unit 511, all saved XAIT information disappears when the power is turned off.
Here, to be more specific, the file system is formed from data necessary for plural Java programs described in the XAIT information and for the execution of such Java programs. Hereafter, the data necessary for the individual Java programs described in the XAIT information and for the execution of such Java programs is called an application. Furthermore, downloading the application to the secondary storage unit 510 is hereafter called storing. In addition, an area in the secondary storage unit 510 for storing the application is called a storage area. Also, the VM 1203 executing the Java program made up of an application is called execution of the application.
Here, the capacity of the application storage area 2201 is generally limited. The capacity of the application storage area 2201 may be pre-set, or may be variable. Note that although the application is assumed to be stored in the storage area 2201 of the secondary storage unit, the application may be stored in the primary storage unit. In addition, in the case where the application is saved in the primary storage unit, all saved applications disappear when the power is turned off.
Next, the AM 1205b refers to the XAIT information stored in the primary storage unit 511 or the secondary storage unit 510, and passes the application downloaded to the primary storage unit 511, or the Java program with an application specified as “autostart” from among the applications stored in the storage area 2201 of the secondary storage unit 510, to the VM 1203. As shown in
In processing from the point in time at which the AM 1205b receives the XAIT information to the point in time at which the AM 1205b provides the application startup instruction to the VM 1203, the processing that generally takes the most time is processing in which the file system is taken from the MPEG-2 transport stream and stored in the primary storage unit, or processing in which the file system is taken from the MPEG-2 transport stream and stored directly in the storage area 2201 of the secondary storage unit 510 without going through the primary storage unit 511. Here, in the case where one of the applications described in the XAIT information has already been stored at the point in time at which the AM 1205b has received the XAIT information, it is possible for the AM 1205b to omit, for the file system of the already-stored application, the processing of storing the file system from the MPEG-2 transport stream into the primary storage unit 511 and the processing of storing the file system from the primary storage unit 511 into the storage area 2201 of the secondary storage unit 510, or the processing of storing the file system from the MPEG-2 transport stream directly into the storage area 2201 of the secondary storage unit 510 without going through the primary storage unit 511. Thus, by storing the application in the storage area 2201 beforehand, it is possible to reduce the time from the point where the AM 1250b receives the XAIT information to the point where the AM 1250b provides the application startup instruction to the VM 1203.
As has been made clear by the example of operations of the AM 1205b as shown in
Furthermore, here, in the processing of selecting one application described in the XAIT information (S3202), by selecting in order applications that, for example, are both stored and have “autostart” denoted, it is possible to particularly reduce the amount of time up until providing the start instruction for individual stored applications.
Note that the method for shortening the amount of time up until providing the start instructions for the individual applications in not limited to the method shown in
In this manner, a merit of storing the application is that, when receiving the next XAIT, there is no need to download the application from the DSMCC or store the application; therefore, the processing from the point in time at which the AM 1205b receives XAIT information to the point in time at which the AM 1205b provides the application startup instruction to the VM 1203 takes less time.
On the other hand, in the case where the application is not stored, it is necessary for the AM 1205b, when receiving the next AIT, to download the file system of that application from the MPEG-2 transport stream to the primary storage unit 511 or to store the file system in the storage area 2201 of the secondary storage unit 510; therefore, compared to when the application is already stored, the processing from the point in time at which the AM 1205b receives XAIT information to the point in time at which the AM 1205b provides the application startup instruction to the VM 1203 takes more time.
Note that here, the AM 1205b is described as providing the application startup instruction to the VM 1203b after the AM 1205b finishes downloading the application from the DSMCC into the primary storage unit, or after storing the application from the DSCMM into the storage area; however, the AM 1205b may provide the application startup instruction to the VM 1203 after receiving the XAIT information but before downloading the application from the DSMCC into the primary storage unit, or before storing the application from the DSCMM into the storage area. Here, the start instruction is realized by the AM 1205b delivering the program name of the application to be executed to the VM 1203. In this case, after being provided with the application startup instruction from the AM 1205b, the VM 1203 reads the application from the DSMCC, the primary storage unit 511, or the storage area, and executes the application. In general, the processing of reading a file system from the DSMCC is slower than the processing of reading a file system already stored in the primary storage unit or the storage area. Thus, by storing the application in the storage area 2201 beforehand, it is possible to reduce the amount of time from when the AM 1205b receives the XAIT information to when the VM 1203 commences execution of the application.
As shown in
Next, a storage function for an application described in the XAIT information as performed by the AM 1205b that has received the XAIT information, which is a main function of the present invention, is described.
Upon receipt of an acquisition request from the stored application determination unit 2602, the storage priority comparison unit 2601 acquires a storage priority 2006 of an individual application from the XAIT information, and compares the storage priorities 2006 specified in individual applications. Here, in the case where an already-stored application is not denoted in the XAIT information, the storage priority comparison unit 2601 considers the storage priority of the application to be a minimum value. A result of the comparison is returned to the stored application determination unit 2602. Here, a method of returning the comparison result can be performed by rearranging all applications described in the XAIT information into an array ordered from the highest priority down; however, any format is possible as long as it provides information necessary for knowing the degree of the storage priority for all the applications that the stored application determination unit 2602 has described in the XAIT information.
Upon receipt of an acquisition request from the stored application determination unit 2602, the storage area remaining space acquisition unit 2606 acquires the remaining space in the storage area 2201 into which an application can be stored, and returns this acquisition result to the stored application determination unit 2602. Here, a method of returning the acquisition result can be performed by returning the result as numerical value information; however, any format is possible as long as it provides information necessary for the stored application determination unit 2602 to know the remaining space in the storage area 2201 into which an application can be stored.
Upon receipt of an acquisition request from the stored application determination unit 2602, the application size acquisition unit 2607 acquires the capacity necessary for the storage of each application described in the XAIT and each application already stored in the storage area, and returns this acquisition result to the stored application determination unit 2602. Here, a method of returning the acquisition result can be performed by returning the result with a numerical value associated per application; however, any format is possible as long as it provides information necessary for the stored application determination unit 2602 to know the amount of space required for the storage of each application.
The stored application determination unit 2602 determines a set which includes an application to be stored in the storage area 2201 and an application to be deleted from the storage area 2201. Here, the stored application determination unit 2602 requests acquisition of the storage priority comparison result from the storage priority comparison unit 2601, acquisition of the space remaining in the storage area 2201 from the storage area remaining space acquisition unit 2606, and acquisition of the space necessary for storage of each application from the application size acquisition unit 2607. Then, based on these acquired pieces of information, applications with a high storage priority are determined to be preferentially stored, so that as many applications as possible, starting with applications with a high storage priority, can be preferentially stored in the storage area 2201, to an extent in which the size of all the applications stored in the storage area 2201 do not exceed the total size of the storage area 2201. Furthermore, even if the application is an already-stored application, the stored application determination unit 2602 determines to delete the application from the storage area 2201 in order from applications with a low storage priority up. Then, after the stored application determination unit 2602 has determined the set including the application to store in the storage area 2201 and the application to delete from the storage area 2201, it provides a notification instruction to the notification unit 2605, an application storage instruction to the storage unit 2603, and an application deletion instruction to the storage deletion unit 2604. Here, providing the notification instruction to the notification unit 2605 and the application deletion instruction to the application storage deletion unit 2604 is performed after it is determined that the already-stored application is to be deleted from the storage area 2201; however, in this case, by providing the notification instruction to the notification unit 2605 before providing the application deletion instruction to the application storage deletion unit 2604, it is possible to provide the user with the application deletion notification before deleting the application from the storage area.
The storage unit 2603 stores the application, in accordance with a result of the determination carried out by the application determination unit 2602.
The storage deletion unit 2604 deletes the application from the storage area 2201, in accordance with a result of the determination carried out by the stored application determination unit 2602.
The notification unit 2605 notifies the user that the application is deleted, in accordance with the result of the determination carried out by the stored application determination unit 2602. Here, the application deletion notification provided to the user by the notification unit 2605 is realized by the notification unit 2605 sending, to the CPU 514 of the terminal apparatus 500, deletion notification information of a screen to be displayed, and a dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification in the display 509. Here, the dialog is assumed as disappearing from the display 509 after a predetermined amount of time has passed.
As shown in
In the case where the selected application has been stored (YES of S2703), the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707). Here, in the case where all the applications denoted in the XAIT information have not been selected (NO of S2707), the AM 1205b selects the next application, and the storage processing continues. Here, in the case where all the applications denoted in the XAIT information have been selected (YES of S2707), the AM 1205b finishes the storage processing.
On the other hand, in the case where the selected application has not been stored (NO of S2703), the stored application determination unit 2602 acquires the space remaining in the storage area from the storage area remaining space acquisition unit 2606, and acquires the application size from the application size acquisition unit 2607 (S2704). Then, based on the space remaining in the storage area acquired from the storage area remaining space acquisition unit 2606 and the application size acquired from the application size acquisition unit 2607, the stored application determination unit 2602 determines whether or not the space remaining in the storage area is larger than the selected application (S2705).
In the case where the space remaining in the storage area is judged to be larger than the selected application (YES of S2705), the storage unit 2603 stores the selected application (S2706). Then, the AM 1205b judges whether or not all the applications described in the XAIT information have been selected (S2707), and in the case where all applications described in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications described in the XAIT information have been selected, the storage processing finishes.
On the other hand, in the case where the space remaining in the storage area is judged to be smaller than the selected application (NO of S2705) the AM 1205b judges whether or not there is an application which is already stored (S2801).
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is still not large enough for the selected application even after those applications which are already stored are deleted from the storage area, those applications which are already stored are not deleted from the storage area, and the selected application is not stored. On the other hand, in the case where, among the applications already stored, there is no application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines not to delete any of the applications already stored in the storage area, and not to store the selected application. Continuing on, the stored application determination unit 2602 judges whether or not the already-stored applications have been determined to be deleted from the storage area 2201 (S2804).
In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201 (YES of S2804), the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification, the storage deletion unit 2604 to delete the application from the storage area 2201, and the storage unit 2603 to store another application. Then, in accordance with a result of the determination performed by the stored application determination unit 2602, the notification unit 2605 notifies the user that the application is deleted (S2805). In accordance with the result of the determination performed by the stored application determination unit 2602, the storage deletion unit 2604 deletes the application from the storage area 2201 (S2806); in accordance with the result of the determination performed by the stored application determination unit 2602, the storage unit 2603 stores the application (S2706). Here, the storage deletion unit 2604 may delete the application from the storage area 2201 after having detected that the user has been notified by the notification unit 2605. Then, the AM 1205b determines whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not yet been selected, the AM 1205b selects the next application, and the storage processing continues; in the case where all applications denoted in the XAIT information have already been selected, the storage processing finishes.
On the other hand, in the case where the stored application determination unit 2602 has determined that the already stored application is not to be deleted from the storage area 2201 (NO of S2804), it is not possible to secure a storage area in which to store the selected application, and thus the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707). Then, in the same manner as described above, in the case where all applications denoted in the XAIT information have not yet been selected, the AM 1205b chooses the next application, and the storage processing continues; in the case where all applications denoted in the XAIT information have been selected, the storage processing finishes.
On the other hand, during judgment of whether or not there is already a stored application (S2801), in the case where there is not an already stored application (NO of S2801), or in other words, in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application, and thus the AM 1205b judges whether or not all applications denoted in the XAIT have been selected (S2707). Then, in the same manner as described above, in the case where all applications denoted in the XAIT information have not yet been selected, the AM 1205b chooses the next application, and the storage processing continues; in the case where all applications denoted in the XAIT information have been selected, the storage processing finishes.
Note that in the case where space in the storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application; in such a case, the AM 1205b may end the storage processing without storing the selected application.
Here, in the present embodiment, in the case where an application which is already stored is not denoted in the XAIT information, the storage priority comparison unit 260 considers the storage priority of that application to be a minimum, but in the present case, a method may be used in which the stored application determination unit 2602 unconditionally determines to delete that application from the storage area 2201.
Note that here, the application deletion notification provided to the user by notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification in the display 509. However, the deletion notification provided to the user by notification unit 2605 may be realized through another method, as long as that method allows the user to detect deletion of the application.
The deletion notification provided to the user by notification unit 2605 may be implemented by, for example, displaying the deletion notification in a liquid crystal display of a remote control; or, as shown in
In addition, here, the notification unit 2605 may notify the user than the application has been stored upon completing storage of an application.
In addition, here, the stored application determination unit 2602 does not necessarily have to determine deletion from the storage area 2201 in order from the application with a low storage priority. For example, with a cable system as described in the OCAP specifications (OCAP 1.0 Profile OC-SP-OCAP1.0-IF-I09-031121), in the case where an already stored application is executed, execution of that application must not be interrupted by deleting that same application from storage; therefore, even if the application has the lowest storage priority among the applications already stored in the storage area, the stored application determination unit 2602 does not determine to delete that application from the storage area if that application is currently being executed.
When the AM 1205b acquires the XAIT information (S2901), the application 2012, which has the highest storage priority, 200, is selected from among the applications denoted in the XAIT information (S2902). Because the application 2011 is already stored, and because the space remaining in the storage area 2201 is less than the space necessary for storage of the application 2012, the storage priority comparison unit 2601 compares the storage priority of the already-stored application 2011 with that of the application 2012 (S2903). The stored application determination unit 2602 determines to delete the application 2011, which has a low storage priority, from the storage area 2201 (S2904). Because the already-stored application 2011 has been determined to be deleted from the storage area 2201, the stored application determination unit 2602 instructs the notification unit 2605 to provide a notification, the storage deletion unit 2604 to delete the application 2011, and the storage unit 2603 to store the application 2012. Then, the notification unit 2605 notifies the user that the application 2011 is deleted (S2905). Here, the application deletion notification provided to the user by the notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification, as shown in
A dialog box 3001 has display elements of a message 3002. Note that a character string of the message 3002 may be a character string aside from the character string shown in
Note that in the present embodiment, determination of the application to be stored, as performed by the stored application determination unit 2602, is realized, as shown in
Note that the present embodiment can still be implemented in the case where the AM 1205b does not have the storage area remaining space acquisition unit 2606 and the application size acquisition unit 2607, as well as in the case where the AM 1205b has the application size acquisition unit 2607 but the application size acquisition unit 2607 cannot acquire the size of the application. For example, a method may be used in which, in the case where the AM 1205b does not have the storage area remaining space acquisition unit 2606 and the application size acquisition unit 2607, the stored application determination unit 2602 determines to store the applications in order from the application with a high storage priority, in accordance with the result of the comparison performed by the storage priority comparison unit 2601, and in the case where the storage unit 2603 fails to store the application, the stored application determination unit 2602 determines to delete the application from the storage area 2201 in order from the application with a low storage priority.
As shown in
In the case where the application selected as the storage candidate is stored (YES of S3304), the stored application determination unit 2602 determines whether or not all the applications denoted in the XAIT information have been selected as storage candidates (S3307). Here, in the case where all the applications denoted in the XAIT information have not yet been selected as storage candidates (NO of S3307), the stored application determination unit 2602 selects the next application as the storage candidate and continues the storage processing; in the case where all the applications denoted in the XAIT information have already been selected as storage candidates (YES of S3307), the storage processing ends.
On the other hand, in the case where the application selected as the storage candidate is not stored (NO of S3304), the storage unit 2603 stores the storage candidate application (S3305). Then, the AM 1205b determines whether or not the storage candidate application was successfully stored (S3306).
In the case where the storage candidate application was successfully stored (YES of S3306), the stored application determination unit 2602 determines whether or not all the applications denoted in the XAIT information have been selected as storage candidates (S3307). In the same manner as above, in the case where all the applications denoted in the XAIT information have not yet been selected as storage candidates (NO of S3307), the stored application determination unit 2602 selects the next application as the storage candidate and continues the storage processing; in the case where all the applications denoted in the XAIT information have already been selected as storage candidates (YES of S3307), the storage processing ends.
On the other hand, in the case where the storage candidate application was not able to be stored (NO of S3306), the stored application determination unit 2602 determines whether or not there is an already-stored application, as shown in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 selects one application from among the already-stored applications, in order from the application with a low storage priority, as a deletion candidate (S3309). Then, based on a result of the acquisition from the storage priority comparison unit 2601, the stored application determination unit 2602 determines whether or not the storage priority of the application selected as the deletion candidate is lower than the storage priority of the application selected as the storage candidate (S3310).
In the case where the storage priority of the application selected as the deletion candidate is lower than the storage priority of the application selected as the storage candidate (YES of S3310), the stored application determination unit 2602 determines to delete the deletion candidate application from the storage area (S3311). Then, the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification for the application selected as the deletion candidate, the storage deletion unit 2604 to delete the application selected as the deletion candidate from the storage area 2201, and the storage unit 2603 to store the application selected as the storage candidate. Then, the notification unit 2605 notifies the user that the application is deleted, in accordance with a result of the determination performed by the stored application determination unit 2602 (S3312), and the storage deletion unit 2604 deletes the application from the storage area 2201, in accordance with the result of the determination performed by the stored application determination unit 2602 (S3313). As shown in
On the other hand, in the case where the application selected as the storage candidate was not able to be stored, the stored application determination unit 2602 selects the next application as the deletion candidate, and the storage processing continues. However, in the case where the storage priority of the application selected as the deletion candidate is higher than the storage priority of the application selected as the storage candidate (NO of S3310), a storage area for storing the application selected as the storage candidate cannot be secured. Therefore, as shown in
On the other hand, during judgment of whether or not there is already a stored application (S3308), in the case where there is not an already stored application (NO of S3308), or in other words, in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the application selected as the storage candidate. Accordingly, as shown in
Moreover, in the present embodiment, in the case where the storage priority is the same for plural applications, the AM 1205b may determine a set of applications to delete from the storage area 2201 through another determination means, such as an inquiry directed to the user.
In addition, in the present embodiment, receipt of the XAIT information by the AM 1205b is performed when power is supplied to the terminal apparatus 500, or when the XAIT information is updated. In other words, in the present embodiment, receipt of the XAIT information by the AM 1205b corresponds to receipt of the XAIT information by the AM 1205b when power is supplied to the terminal apparatus 500 and receipt of the XAIT information by the AM 1205b when the XAIT information is updated after power is supplied to the terminal apparatus 500. However, the present invention can still be implemented with another method of updating of the XAIT information aside from directly updating the XAIT information transmitted from the head end 101, such as updating the XAIT information through the AM 1205b or an application.
Here, updating the XAIT information through an application is realized by the AM 1205b preparing an API for carrying out the XAIT information update for an application having a special privilege. In the API for updating the XAIT information, there is an application with a special privilege that makes newly-created XAIT information registerable, an application in which the AM 1205b makes XAIT information that is already stored in the primary storage or secondary storage modifiable, and the like.
When the application that has a special privilege calls the API for updating the XAIT information, the AM 1205b generates or edits the XAIT information and stores the XAIT information in the primary storage or secondary storage, in accordance with the instruction from the application that has a special privilege. Such API for updating the XAIT information is realized by publicly-known technology. For example, the API for registering the XAIT information is defined by the org.ocap.application.AppManagerProxy class registerUnboundApp method, as found in the OCAP specifications (OCAP 1.0 Profile OC-SP-OCAP 1.0-IF-I09-031121). Using the API which the application having a special privilege registers the XAIT information with, when new XAIT information is registered (registration of the XAIT newly created by the application having a special privilege), the AM 1205b accepts, as the update of the XAIT information, the XAIT information registered through the application having a special privilege.
In this manner, with the first embodiment, by using the storage priority, it is possibly to always preferentially store an application with a high storage priority. Furthermore, in the case where an application is deleted from the storage area 2201, by notifying the user that the application is deleted, the user can know, in advance, of behavioral changes in the application, such as more time being taken from acquisition of the XAIT information to starting of the application, caused by the deletion of an already-stored application. As a result, the user can use the terminal 500 with peace of mind.
In the first embodiment, in the case where the stored application determination unit 2602 has determined to delete an already-stored application from the storage area 2201, the notification unit 2605 notifies a user that the application is deleted. However, the application storage deletion unit 2604 deletes the application from the storage area 2201 regardless of whether or not the user has confirmed the deletion notification. For example, there is the possibility that the application is deleted from the storage area 2201 without the user noticing the application deletion notification.
Accordingly, in the present embodiment, an AM 1205b includes an answer acceptance unit 3501 for accepting an answer from the user, as is further shown in
In the present embodiment, a notification unit 2605 notifies the user that an application is deleted, in accordance with an instruction from a stored application determination unit 2602. Here, the application deletion notification provided to the user by notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification, as shown in
A dialog box 3001 has display elements of a message 3002 and an OK button 3701. Note that the character string may be a character string aside from the character string shown in
The answer acceptance unit 3501 accepts selection information from the CPU 514 when the user selects to confirm the deletion notification by selecting the OK button 3701, and upon accepting the selection information from the CPU 514, notifies the stored application determination unit 2602 of notification confirmation information.
Furthermore, in the present embodiment, the stored application determination unit 2602 determines a set of an application to be stored in the storage area 2201 and an application to delete from the storage area 2201 through the same method described in the first embodiment, and in the case of determining to delete the already-stored application from the storage area 2201, provides a notification instruction to the notification unit 2605, an application storage instruction to the storage unit 2603, and an application deletion instruction to the storage deletion unit 2604. However, in the present embodiment, the stored application determination unit 2602 provides the application deletion instruction to the storage deletion unit 2604 and the application storage instruction to the storage unit 2603 for the first time after accepting the notification confirmation information from the answer acceptance unit 3501. Notifying the user of deletion of the application before the application storage deletion unit 2604 deletes the application from the storage area 2201 is realized in this manner.
In
As shown in
In the case where the selected application is stored (YES of S2703), the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707). Here, in the case where all the applications denoted in the XAIT information have not been selected (NO of S2707), the AM 1205b selects the next application, and the storage processing continues. In the case where all the applications denoted in the XAIT information have been selected (YES of S2707), the AM 1205b finishes the storage processing.
On the other hand, in the case where the selected application has not been stored (NO of S2703), the stored application determination unit 2602 acquires the space remaining in the storage area from the storage area remaining space acquisition unit 2606, and acquires the application size from the application size acquisition unit 2607 (S2704). Then, based on the space remaining in the storage area acquired from the storage area remaining space acquisition unit 2606 and the application size acquired from the application size acquisition unit 2607, the stored application determination unit 2602 determines whether or not the space remaining in the storage area is larger than the selected application (S2705).
In the case where the space remaining in the storage area is judged to be larger than the selected application (YES of S2705), the storage unit 2603 stores the selected application (S2706). Then, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
On the other hand, in the case where the space remaining in the storage area is judged to be smaller than the selected application (NO of S2705) the AM 1205b judges whether or not there is an application which is already stored, as shown in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is still not large enough for the selected application even after those applications which are already stored are deleted from the storage area, the stored application determination unit 2602 determines not to delete those applications which are already stored from the storage area, and not to store the selected application. Continuing on, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S2804).
In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201 (YES of S2804), the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification. Then, in accordance with a result of the determination performed by the stored application determination unit 2602, the notification unit 2605 notifies the user that the application is deleted (S3601). Here, the application deletion notification provided to the user by notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification, as shown in
On the other hand, in the case where the stored application determination unit 2602 has determined that the already stored application is not to be deleted from the storage area 2201 (NO of S2804), it is not possible to secure a storage area in which to store the selected application. Accordingly, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing ends.
On the other hand, in the case where there is not an already stored application (NO of S2801), or in other words, in the case where space in the storage area 2201 is insufficient when an application denoted in the XAIT information is stored in the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application. Accordingly, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing ends.
Note that in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application; in such a case, the AM 1205b may end the storage processing without storing the selected application.
Here, in the case where an already-stored application is not denoted in the XAIT information, the storage priority comparison unit 2601 considers the storage priority of the application to be a minimum value. In such a case, a method may be used in which the stored application determination unit 2602 unconditionally determines to delete that application from the storage area 2201.
Note that in the case where the user can set a timeout time in the answer acceptance unit 3501, and there is no answer from the user while the answer acceptance unit 3501 is in that timeout time, the storage deletion unit 2604 may consider the application deletion notification to be confirmed by the user and the OK button 3701 to be selected, and delete the application from the storage area 2201.
In such a manner, in the second embodiment, in the case where an application is deleted from the storage area 2201, by deleting the application from the storage area 2201 after notifying the user that the application is to be deleted and obtaining the user's confirmation, the user can more accurately know, in advance, of behavioral changes in the application, such as more time being taken from acquisition of the XAIT information to starting of the application, caused by the deletion of an already-stored application.
In the second embodiment, in the case where the stored application determination unit 2602 has determined to delete an already-stored application from the storage area 2201, the notification unit 2605 notifies a user that the application is deleted, and an answer acceptance unit 3501 accepts notification confirmation information from the user. After that, the storage deletion unit 2604 deletes the application from storage area 2201, in accordance with the determination carried out by the stored application determination unit 2602. However, in the second embodiment, the user cannot reject deletion of the application from the storage area 2201. For example, there is a possibility that a certain application is deleted from the storage area 2201 even when the user does not want to delete the application from the storage area 2201.
Accordingly, in the present embodiment, the stored application determination unit 2602 of the AM 1205b can further change the determination result in accordance with answer information from the user which the answer acceptance unit 3501 receives from the user.
In the present embodiment, the notification unit 2605 confirms with the user whether the application may be deleted before the storage deletion unit 2604 deletes the application 2011 from the storage area 2201, in the case where the stored application determination unit 2602 has determined to delete the already-stored application from the storage area 2201. Here, the application deletion notification provided to the user by notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification, as shown in
A dialog box 3001 has display elements of a message 4001, a Yes button 4002, and a No button 4003. Note that the character string of the message 4001 may be a character string aside from the character string shown in
In addition, in the present embodiment, the answer acceptance unit 3501 accepts, from the CPU 514, the selection information indicated by the user when allowing or rejecting deletion of the application through selection of the Yes button 4002 or the No button 4003. Then, upon receiving the selection information from the CPU, the answer acceptance unit 3501 judges whether that selection information indicates allowance of application deletion or rejection of application deletion. The answer acceptance unit 3501 notifies the stored application determination unit 2602 of the notification confirmation information, in the case of indicating allowance of the deletion of the application, and notifies the stored application determination unit 2602 of notification rejection information in the case of indicating rejection of the deletion of the application.
Furthermore, in the present embodiment, the stored application determination unit 2602 determines, through the same method as mentioned in the first embodiment, a set which includes an application to be stored in the storage area 2201 and an application to be deleted from the storage area 2201. Then, in the case of determining to delete the already-stored application from the storage area 2201, the stored application determination unit 2602 provides a notification instruction to the notification unit 2605, an application storage instruction to the storage unit 2603, and an application deletion instruction to the storage deletion unit 2604. However, in the present embodiment, in the case where the user has allowed deletion of the application, the stored application determination unit 2602 provides the application deletion instruction to the storage deletion unit 2604 application storage instruction to the storage unit 2603 and the application deletion instruction to the storage deletion unit 2604 for the first time after accepting the notification confirmation information from the answer acceptance unit 3501. On the other hand, in the case where the user does not allow the deletion of the application, upon receiving the notification of the notification rejection information from the answer acceptance unit 3501, the stored application determination unit 2602 changes the determination of the set of the application to delete from the storage area 2201 and the application to store.
Here, changing the determination is realized through, for example, a method in which the stored application determination unit 2602 determines deletion, from the storage unit 2201, of the application with the next lowest storage priority, and the like. Note that another method may be used as long as the method does not delete an application from the storage area for which the user has rejected the deletion.
Then, the stored application determination unit 2602 provides, for the first time after changing the determination, an application storage instruction to the storage unit 2603 and an application deletion instruction to the application storage deletion unit 2604, so as to comply with the changed determination result.
In
As shown in
In the case where the selected application is stored (YES of S2703), the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707). Here, in the case where all the applications denoted in the XAIT information have not been selected (NO of S2707), the AM 1205b selects the next application, and the storage processing continues. In the case where all the applications denoted in the XAIT information have been selected (YES of S2707), the storage processing ends.
On the other hand, in the case where the selected application has not been stored (NO of S2703), the stored application determination unit 2602 acquires the space remaining in the storage area from the storage area remaining space acquisition unit 2606, and acquires the application size from the application size acquisition unit 2607 (S2704). Then, based on the space remaining in the storage area acquired from the storage area remaining space acquisition unit 2606 and the application size acquired from the application size acquisition unit 2607, the stored application determination unit 2602 determines whether or not the space remaining in the storage area is larger than the selected application (S2705).
In the case where the space remaining in the storage area is judged to be larger than the selected application (YES of S2705), the storage unit 2603 stores the selected application (S2706). Then, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing ends.
On the other hand, in the case where the space remaining in the storage area is judged to be smaller than the selected application (NO of S2705) the AM 1205b judges whether or not there is an application which is already stored, as shown in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is still not large enough for the selected application even after those applications which are already stored are deleted from the storage area, the stored application determination unit 2602 determines not to delete those applications which are already stored from the storage area, and not to store the selected application. Continuing on, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S2804).
In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201 (YES of S2804), the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification. Then, the notification unit 2605 confirms with the user whether or not the application may be deleted (S3801). Here, the application deletion notification provided to the user by notification unit 2605 is realized by the notification unit 2605 sending deletion notification information to be shown on the screen to the CPU 514 of terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 displaying the deletion notification, as shown in
When the user selects the Yes button 4002 or the No button 4003 by operating the remote control, the CPU 514 sends the selection information from the user to the answer acceptance unit 3501 of the AM 1205b.
Upon receiving the user's selection information from the CPU 514, the answer acceptance unit 3501 judges whether the user's selection information indicates allowance of deletion of the application or rejection of deletion of the application (S3802).
In the case where the user's selection information indicates allowance of deletion of the application, the answer acceptance unit 3501 notifies the stored application determination unit 2602 of the notification confirmation information (S3803). Upon receipt of the notification of the notification confirmation information from the answer acceptance unit 3501, the stored application determination unit 2602 instructs the storage deletion unit 2604 to delete the application from the storage area 2201, and instructs the storage unit 2603 to store the other application. Then, in accordance with the result of the determination performed by the stored application determination unit 2602, the storage deletion unit 2604 deletes the application from the storage area 2201 (S2806); in accordance with the result of the determination performed by the stored application determination unit 2602, the storage unit 2603 stores the application, as shown in
On the other hand, when the user's selection information indicates rejection of deletion of the application (NO of S3802), the answer acceptance unit 3501 notifies the stored application determination unit 2602 of the notification rejection information, as shown in
Continuing on, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S3903). In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201 (YES of S3903), the stored application determination unit 2602 once again instructs the notification unit 2605 to perform a deletion notification. Once again, the notification unit 2605 confirms with the user whether the application may be deleted (S3801), and the storage processing is continued. On the other hand, in the case where the stored application determination unit 2602 has determined that the already stored application is not to be deleted from the storage area 2201 (NO of S3903), it is not possible to secure a storage area in which to store the selected application. Accordingly, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected (NO of S2707), the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected (YES of S2707), the storage processing ends.
On the other hand, in the case where the stored application determination unit 2602 has determined that the already stored application is not to be deleted from the storage area 2201 (NO of S2804), it is not possible to secure a storage area in which to store the selected application. Accordingly, as mentioned above, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
On the other hand, in the case where there is not an already stored application (NO of S2801), or in other words, in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application. Accordingly, as mentioned above, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
Note that in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application. Therefore, the storage processing may finish without the AM 1205b storing the selected application.
Here, in the case where an already-stored application is not denoted in the XAIT information, the storage priority comparison unit 2601 considers the storage priority of the application to be a minimum value. In such a case, a method may be used in which the stored application determination unit 2602 unconditionally determines to delete that application from the storage area 2201.
In addition, here, not deleting the application for which the user has rejected deletion from the storage area 2201 is realized by the stored application determination unit 2602 changing the determined set of the application to be deleted from the storage area 2201 and the application to store, when the answer acceptance unit 3501 receives the notification rejection information of a user. However, not deleting the application for which the user has rejected deletion from the storage area 2201 may also be realized by the AM 1205b updating the XAIT information and changing the storage priority of the application. For example, a method may be used in which the storage priority of the application for which the user has rejected deletion is re-set to a maximum value.
In such a manner, in the third embodiment, the user can reject deleting an application from the storage area 2201 upon receiving confirmation that the application is to be deleted from the storage area 2201. In addition, not deleting the application for which deletion has been rejected from the storage area 2201 can be realized.
In the present embodiment, when an AM 1205b receives XAIT information sent from a head end 101, prior to storing that XAIT information, and prior to performing processing in accordance with the XAIT information, such as application storage processing, an instruction to start an application, and the like, an API that provides a right to determine whether or not it is acceptable to receive that XAIT, or in other words, whether or not it is acceptable to perform the processing in accordance with that XAIT information, is further provided to an application having a special privilege. Furthermore, in the present embodiment, an API which changes a storage priority denoted in the XAIT information is provided to the application having the special privilege.
Here, the API that provides the right to determine whether or not it is acceptable to receive the XAIT information when that XAIT information is sent from the head end 101 is realized by publicly-known technology. The API that provides the right to determine whether or not it is acceptable to receive the XAIT information when that XAIT information is sent from the head end 101 and which is provided to the application having a special privilege is defined as an org.ocap.application.AppManagerProxy class setAppSignalHandler method, in an AnnexGOCAP 1.0 Application API of the OCAP specifications (OCAP 1.0 Profile OC-SP-OCAP 1.0-IF-I09-031121).
An API that updates the XAIT information, as described in the first embodiment, an API that changes the storage priority denoted in the XAIT information, and the API that provides the right to determine whether or not it is acceptable to receive the XAIT information when that XAIT information is sent from the head end 101 are hereafter called an update API, a change API, and a determination API respectively, when differentiating between the APIs. The application having a special privilege, to which these APIs are provided, is called a monitor application.
In the present embodiment, the API that changes the storage priority denoted in the XAIT information is an API that makes it possible for the monitor application to change the storage priority of an application denoted in the XAIT information sent from the head end 101.
In the present embodiment, in the case where the AM 1205b has received a request from the monitor application to provide, using the determination API, the right to determine whether or not it is acceptable to receive the XAIT information, the AM 1205b leaves the determination of whether or not it is acceptable to receive the XAIT information to the monitor application, at the time of receiving the XAIT information sent from the head end 101.
In the case of allowing the receipt of the XAIT information, the monitor application receives the XAIT information sent from the head end 101, or, in the case where the change API is used, receives the changed XAIT information. Then, the AM 1205b receives the XAIT information and performs processing for storing the application denoted in the XAIT information, through one of the methods described in the first and second embodiments. Note that here, the processing described in the third embodiment may be used to more stringently guard against overlapping storage priorities, rather than leaving this solely to the judgment of the monitor application. On the other hand, in the case where receipt of the XAIT information has been rejected, the monitor application ignores that XAIT information sent from the head end 101.
Moreover, in the case where the AM 1205b has not received, from the monitor application, the request to provide the right to determine whether or not it is acceptable to receive the XAIT information, the AM 1205b receives the XAIT information and carries out processing for storing the application denoted in the XAIT information, through one of the methods described in the first or second embodiment. Note that the processing described in the third embodiment may be used to more stringently guard against overlapping storage priorities, rather than leaving this solely to the judgment of the monitor application.
In addition, in the case where the receipt of the XAIT information is caused by an update of the XAIT information performed by the monitor application through use of the update API, a change of the XAIT information performed by the monitor application through use of the change API, and the like, the AM 1205b receives the XAIT information and performs processing for storing the application described in that XAIT information through one of the methods described in the first or second embodiment, without leaving the determination of whether or not it is acceptable to receive that XAIT information to the monitor application.
Note that the processing described in the third embodiment may be used to more stringently guard against overlapping storage priorities, rather than leaving this solely to the judgment of the monitor application.
In the present embodiment, at the time of receipt of the XAIT information sent from the head end 101 using the determination API, the monitor application performs a request to the AM 1205b that the determination of whether or not it is acceptable to receive the XAIT information be left to the monitor application itself.
When the determination of whether or not it is acceptable to receive the XAIT information is left to the monitor application be the AM 1205b, operations identical to those performed by the AM 1205b in the first and second embodiments are performed. In other words, the monitor application determines preferential storage of applications with a high storage priority from among the application denoted in the XAIT information and already-stored applications, and determines deletion of applications from the storage area 2201 in order starting with applications with a low storage priority. Here, the monitor application has a means for comparing storage priorities, a means for acquiring space remaining in the storage area, and a means for acquiring a size of the already-stored applications and the application denoted in the XAIT information.
In the case of determining that the already-stored application is to be deleted from the storage area 2201, the monitor application displays an application deletion notification to the user. Here, the application deletion notification provided to the user by the monitor application is realized with a method identical to that in which the notification unit 2605 provides the application deletion notification to the user in the third embodiment. The monitor application sends the deletion notification information to be shown on the screen to the CPU 514 of the terminal apparatus 500, and the dialog display program included in the library 1201b of the OS 1201 is realized by the deletion notification, as shown in
The monitor application accepts, from the CPU 514, the selection information indicated by the user when allowing or rejecting deletion of the application through selection of the Yes button 4002 or the No button 4003. Then, upon receiving the selection information from the CPU, the monitor application judges whether that selection information indicates allowance of the deletion of the application or rejection of the deletion of the application. Then, in the case where the selection information indicates allowance of deletion of the application, the monitor application allows the AM 1205b to receive the XAIT information. On the other hand, in the case where the selection information indicates rejection of deletion of the application, the monitor application uses the change API and changes the storage priority of the application for which the user has rejected deletion to a maximum value, and thus not deleting the application for which the user has rejected deletion from the storage area 2201 is realized. Note that not deleting the application for which the user has rejected deletion from the storage area 2201 may also be realized by the monitor application not allowing the AM 1205b to receive the XAIT information.
As shown in
As shown in
Next, as shown in
In the case where the selected application is stored (YES of S2703), the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not yet been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing ends.
On the other hand, in the case where the selected application has not been stored (NO of S2703), the stored application determination unit 2602 acquires the space remaining in the storage area from the storage area remaining space acquisition unit 2606, and acquires the application size from the application size acquisition unit 2607 (S2704). Then, based on the space remaining in the storage area acquired from the storage area remaining space acquisition unit 2606 and the application size acquired from the application size acquisition unit 2607, the stored application determination unit 2602 determines whether or not the space remaining in the storage area is larger than the selected application (S2705).
In the case where the space remaining in the storage area is judged to be larger than the selected application (YES of S2705), the storage unit 2603 stores the selected application (S2706). Then, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
On the other hand, in the case where the space remaining in the storage area is judged to be smaller than the selected application (NO of S2705) the AM 1205b judges whether or not there is an application which is already stored, as shown in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Then, based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is still not large enough for the selected application even after those applications which are already stored are deleted from the storage area, those applications which are already stored are not deleted from the storage area, and the selected application is not stored. Continuing on, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S2804).
In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201 (YES of S2804), the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification, the storage deletion unit 2604 to delete the application from the storage area 2201, and the storage unit 2603 to store another application. Then, in accordance with a result of the determination performed by the stored application determination unit 2602, the notification unit 2605 notifies the user that the application is deleted (S2805). Then, in accordance with the result of the determination performed by the stored application determination unit 2602, the storage deletion unit 2604 deletes the application from the storage area 2201 (S2806); in accordance with the result of the determination performed by the stored application determination unit 2602, the storage unit 2603 stores the application (S2706). Then, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
On the other hand, in the case where the stored application determination unit 2602 has determined that the already stored application is not to be deleted from the storage area 2201 (NO of S2804), it is not possible to secure a storage area in which to store the selected application. Accordingly, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the AM 1205b finishes the storage processing.
On the other hand, in the case where there is not an already stored application (NO of S2801), or in other words, in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application. Accordingly, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing finishes.
Note that in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already stored application, it is not possible to secure a storage area in which to store the selected application. Therefore, the AM 1205b may finish the storage processing without storing the selected application.
Here, in the case where an already-stored application is not denoted in the XAIT information, the storage priority comparison unit 2601 considers the storage priority of the application to be a minimum value. However, a method may be used in which the stored application determination unit 2602 unconditionally determines to delete that application from the storage area 2201.
In such a manner, in the fourth embodiment, it is possible to obtain an effect identical to that of the third embodiment through the monitor application providing the user with a deletion notification, and changing the storage priority. In other words, upon receiving confirmation that an application is to be deleted from the storage area 2201, the user can reject deleting the application from the storage area 2201, and the application which the user has rejected deletion of is not deleted from the storage unit 2201.
In the first through third embodiments, when determining a set of an application to store and an application to delete from a storage area 2201, an AM 1205b, through a stored application determination unit 2602, preferentially stores applications with a high storage priority and determines to delete applications from the storage area 2201 in order starting with applications with a low storage priority, based on result of comparison performed by a storage priority comparison unit 2601. However, in the case where plural applications have the same storage priority, it is possible that the AM 1205b cannot determine which application to delete form the storage area 2201 and which application to store.
Therefore, in the present embodiment, as shown in
Upon receiving an inquiry instruction from the stored application determination unit 2602, the inquiry unit 4301 inquires, with the user, which application to store in or delete from the storage area 2201. Here, the inquiry with the user performed by the inquiry unit 4301 is realized by the inquiry unit 4301 sending, to the CPU 514 of the terminal apparatus 500, deletion notification information of a screen to be displayed, and a dialog display program included in the library 1201b of the OS 1201 displaying an inquiry dialog in the display 509.
Then, the inquiry unit 4301 receives, from the CPU 514, selection information from the user when the user selects the application to delete or store, and upon receiving the selection information from the CPU 514, notifies the stored application determination unit 2602 of a result of the application selection, based on the selection information.
Furthermore, in the present embodiment, the stored application determination unit 2602 attempts to determine, through the same method as mentioned in the first through third embodiments, a set which includes an application to be stored in the storage area 2201 and an application to be deleted from the storage area 2201. Here, in the case where the set of the applications to store in or delete from the storage area 2201 have been determined, storage processing continues in the same manner as in the first to third embodiments. However, in the present embodiment, because plural applications with the same storage priority are present, the stored application determination unit 2602 provides an inquiry instruction to the inquiry unit 4301 in the case where the stored application determination unit 2602 cannot determine to delete or store the application from or in the storage area 2201. Then, upon receiving a notification of an application selection result from the inquiry unit 4301, the stored application determination unit 2602 determines the application to be stored in or deleted from the storage area 2201, in accordance with the application selection result. After the determination, the stored application determination unit 2602 provides, in the same manner as in any of the first through third embodiments, a notification instruction to the notification unit 2605, an application deletion instruction to the storage unit 2603, and an application storage instruction to the storage unit 2604.
In
As shown in
In the case where the selected application is stored (YES of S2703), the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707). Here, in the case where all the applications denoted in the XAIT information have not been selected (NO of S2707), the AM 1205b selects the next application, and the storage processing continues. Here, in the case where all the applications denoted in the XAIT information have been selected (YES of S2707), the AM 1205b finishes the storage processing.
On the other hand, in the case where the selected application has not been stored (NO of S2703), the stored application determination unit 2602 acquires the space remaining in the storage area from the storage area remaining space acquisition unit 2606, and acquires the application size from the application size acquisition unit 2607 (S2704). Then, based on the space remaining in the storage area acquired from the storage area remaining space acquisition unit 2606 and the application size acquired from the application size acquisition unit 2607, the stored application determination unit 2602 determines whether or not the space remaining in the storage area is larger than the selected application (S2705).
In the case where the space remaining in the storage area is judged to be larger than the selected application (YES of S2705), the storage unit 2603 stores the selected application (S2706). Then, the AM 1205b judges whether or not all the applications denoted in the XAIT information have been selected (S2707), and in the case where all applications denoted in the XAIT information have not been selected, the AM 1205b selects the next application and continues the storage processing; in the case where all applications denoted in the XAIT information have been selected, the storage processing finishes.
On the other hand, in the case where the space remaining in the storage area is judged to be smaller than the selected application (NO of S2705) the AM 1205b judges whether or not there is an application which is already stored, as shown in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is still not large enough for the selected application even after those applications which are already stored are deleted from the storage area, the stored application determination unit 2602 determines not to delete those applications which are already stored from the storage area, and not to store the selected application.
Continuing on, the stored application determination unit 2602 judges whether the application to delete from or store in the storage area 2201 could be determined (S4401). Here, because plural applications with the same storage priority are present, in the case where the application to delete from or store in the storage area 2201 cannot be determined (S4401), the inquiry unit 4301 inquires, with the user, which application to delete from or store in the storage area 2201, as shown in
FIGS. 48 to 50 are diagrams showing examples of a deletion notification displayed in the display 509 in the present embodiment.
The dialog box 3001 has display elements of a message 4603 and application selection buttons 4601 and 4602.
Note that the character string of the message 4603 may be a character string aside from the character string shown in FIGS. 48 to 50, as long as it provides information necessary for the user to select the application; the message 4603 may be of a format aside from a character string. In addition, the character strings in the application selection buttons 4601 and 4602 may be character strings aside from the character strings shown in FIGS. 48 to 50. Furthermore, the display elements in the dialog box 3001 are not limited to the display elements shown in FIGS. 48 to 50; another display element, such as a list box and the like, may be used as long as it can provide the information necessary for the user to select the application and allow the CPU 514 to confirm that the user has selected the application.
Continuing on, when the user selects the application selection button 4601 or 4602, the CPU 514 sends the user's selection information to the inquiry unit 4301 of the AM 1205b. Upon receiving the selection information (S4502), the inquiry unit 4301 notifies the stored application determination unit 2602 of the application selection result, based on the selection information. Here, notification of the application selection result by the inquiry unit 4301 is realized by, for example, the inquiry unit 4301 notifying the stored application determination unit of a result that the user has selected deletion of the application with the application name “APP3”, in the case where the selection information received by the CPU 514 indicates that the button 4601 has been selected, when considering the example of the dialog display shown in
Then, upon receiving the notification of the application selection result from the inquiry unit 4301, the stored application determination unit 2602 determines to delete or store the application from or in the storage area 2201, in accordance with the application selection result acquired from the inquiry unit 4301 (S4503).
Next, as shown in
In the case where the stored application determination unit 2602 judges that the already-stored applications have been determined to be deleted from the storage area 2201, the stored application determination unit 2602 instructs the notification unit 2605 to perform a deletion notification. Then, in accordance with a result of the determination performed by the stored application determination unit 2602, the notification unit 2605 notifies the user that the application is deleted (S2805). In addition, in accordance with the result of the determination performed by the stored application determination unit 2602, the storage deletion unit 2604 deletes the application from the storage area 2201 (S2806); in accordance with the result of the determination performed by the stored application determination unit 2602, the storage unit 2603 stores the application, as shown in
Note that processing from step S2804 shown in the above
On the other hand, as shown in
On the other hand, as shown in
Note that in the case where space in storage area 2201 is insufficient when an application denoted in the XAIT information is stored into the storage area 2201 from the MPEG-2 transport stream but there is not an already-stored application, it is not possible to secure a storage area in which to store the selected application; in such a case, the AM 1205b may end the storage processing without storing the selected application.
Here, in the case where an application which is already stored is not denoted in the XAIT information, the storage priority comparison unit 260 considers the storage priority of that application to be a minimum, but in the present case, a method may be used in which the stored application determination unit 2602 unconditionally determines to delete that application from the storage area 2201.
Note that in the present embodiment, while the case discussed is one in which the stored application determination unit 2602 cannot determine the application to delete from or store in the storage area 2201 because the storage priority of two applications is the same, the present invention can also be implemented in the case where the stored application determination unit 2602 cannot determine the application to delete from or store in the storage area 2201 because the storage priority of three or more applications is the same. For example, in the case where the stored application determination unit 2602 cannot determine the set of the applications to delete from the storage area 2201 because the storage priorities of three already-stored applications are the same, the inquiry provided to the user by the inquiry unit 4301 is realized by the dialog display program displaying a dialog that allows the user to select, from among the three applications, one or two applications to be deleted form the storage area 2201.
Furthermore, there are cases where the stored application determination unit 2602 cannot determine the application to delete from or store in the storage area 2201 through the notification of the application deletion result from the inquiry unit 4301 arising from a single inquiry instruction provided to the inquiry unit 4301. For example, there is the case where it is not possible to secure a storage area that can store a selected new application only by deleting one application from the storage area 2201 when there are three or more applications with the same storage priorities. In such a case, the stored application determination unit 2602 may provide the inquiry instruction to the inquiry unit 4301 after the first notification of the application selection result from the inquiry unit 4301. At this time, for example, the first inquiry provided to the user by the inquiry unit 4301 is realized by the dialog display program displaying a dialog that allows the user to select, from among the three applications, the application that should be deleted from the storage area 2201, and the second inquiry provided to the user by the inquiry unit 4301 is realized by the dialog display program displaying a dialog that allows the user to select, from among the two applications, the application that should be deleted from the storage area 2201,
In this manner, in the fifth embodiment, in the case where the storage priorities of plural applications denoted in the XAIT information are the same, it is possible to determine which application to delete from the storage area 2201, and which application to store, by inquiring with the user. Furthermore, by giving the user the selection right, it is possible to realize storage of an application more desirable to the user.
In the present embodiment, when an application to be deleted is running, an AM 1205b performs a notification that provides a message regarding how the application is to be treated. In other words, in the OCAP specifications (OCAP 1.0 Profile OC-SP-OCAP 1.0-IF-I09-031121), it is prescribed that an application with a high storage priority is preferentially stored, and operations of a currently running application must not be interfered with; thus, in the present embodiment, the notification provides a message regarding the treatment of the application to be deleted while ensuring conformity with the abovementioned prescription.
In
In the case where the space remaining in the storage area is judged to be smaller than the selected application (S2705 in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is smaller than the selected application even after those applications which are already stored are deleted from the storage area, the stored application determination unit 2602 determines not to delete those applications which are already stored from the storage area, and not to store the selected application.
Continuing on, the stored application determination unit 2602 judges whether or not the application to delete from or store in the storage area 2201 was successfully determined (S4401). Here, because plural applications with the same storage priority are present, in the case where the application to delete from or store in the storage area 2201 cannot be determined (NO of S4401), the AM 1205b follows the processing previously described in
Next, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S2804).
In step S2804, in the case of determination not to delete (NO of S2804), the AM 1205b carries out the processing from step S2707 of
In step S2804, in the case of determination to delete (YES of S2804), the stored application determination unit 2602 examines whether or not the application which should be deleted is running (S5204). Here, in the case where the application which should be deleted is not running (NO of S5204), the AM 1205b carries out processing identical to the processing from step S2805, as described in
As shown in
Note that in
Continuing on, when the user selects the application selection button 5401 or 5402, the CPU 514 sends input information from the user to the inquiry unit 4301 of the AM 1205b. Upon receiving the input information (S5302), the inquiry unit 4301 notifies the stored application determination unit 2602 of a result of the input, based on the input information. Here, notification of the input result by inquiry unit 4301 is realized by, for example, the inquiry unit notifying the stored application determination unit 2602 of a result in which the user selects termination and deletion of the running already-stored application “APP2” so that the application named “APP3” can be stored, in the case where the input information received from the CPU 514 indicates selection of the button 5401, when the dialog display is as shown in
Then, upon being informed of the input result from inquiry unit 4301, the stored application determination unit 2602 determines, in accordance with the input result acquired from the inquiry unit 4301, whether or not to delete the application from the storage area 2201 (S5303). After that, the stored application determination unit 2602 carries out processing from step S2806 in
In this manner, in the present embodiment, even if an application to be deleted is running, an application with a high storage priority is stored, according to the user's preference, after automatically terminating and deleting the running application.
Like the sixth embodiment, in the present embodiment, a notification is performed which provides a message regarding treatment of an application to be deleted, while ensuring conformity with prescriptions in the OCAP specifications; that is, a prescription that an application with a high storage priority is preferentially stored, and operations of a currently running application must not be interfered with. Here, in the present embodiment, when an application to be deleted is running, an AM 1205b performs a notification that provides a message regarding how the application is to be treated; however, the details of the message differ from the details described in the sixth embodiment. In addition, operation of the AM 1205b in this embodiment differs from the operation described in the sixth embodiment. Hereafter, the operation of the AM 1205b of this embodiment is described in detail.
In
In the case where the space remaining in the storage area is judged to be smaller than the selected application (S2705 in
In the case where there is an application that is already stored (YES of S2801), or in other words, in the case where the capacity of the storage area 2201 is insufficient because there is already a stored application at the time of an application denoted in the XAIT information being stored from the MPEG-2 transport stream, the stored application determination unit 2602 acquires a result of a comparison between the storage priority 2006 specified by the storage priority comparison unit 2601 for the individual applications (S2802). Based on that comparison result, the stored application determination unit 2602 determines a set of the application to be stored and the application to be deleted from the storage area 2201 (S2803). Here, in the case where, among the applications already stored, there is an application with a storage priority lower than the storage priority of the selected application, the stored application determination unit 2602 determines that the already-stored application is to be deleted from the storage area, so that the space remaining in the storage area becomes larger than the size of the selected application, and determines that the selected application is to be stored. However, in the case where the space remaining in the storage area is smaller than the selected application even after those applications which are already stored are deleted from the storage area, the stored application determination unit 2602 determines not to delete those applications which are already stored from the storage area, and not to store the selected application.
Continuing on, the stored application determination unit 2602 judges whether or not the application to delete from or store in the storage area 2201 could be determined (S4401). Here, because plural applications with the same storage priority are present, in the case where the application to delete from or store in the storage area 2201 cannot be determined (NO of S4401), the AM 1205b follows the processing previously described in
Next, the stored application determination unit 2602 judges whether or not the stored application determination unit 2602 has determined the already-stored applications to be deleted from the storage area 2201 (S2804).
In step S2804, in the case of determination not to delete (NO of S2804), the AM 1205b carries out the processing from step S2707 of
In step S2804, in the case of determination to delete (YES of S2804), the stored application determination unit 2602 examines whether or not the application which should be deleted is running (S5204). Here, in the case where the application which should be deleted is not running (NO of S5204), the AM 1205b carries out processing identical to the processing from step S2805, as described in
Note that in
Next, after step S5206, the AM 1205b judges, per set interval of time, whether or not the application to be deleted, which is currently running, has terminated (S5207). If the application has not terminated, the processing in step S5207 is performed again after the set interval of time.
In the case where it has been judged in step S5207 that the running application has been terminated (step S5207), the AM 1205b carries out processing from step S2806.
In this manner, in the present embodiment, the application with a high storage priority is stored after notifying the user of the situation in which the application to be deleted is running, and deleting the application when the user has terminated the application.
Note that in the above description, the AM 1205b carries out processing from step S2806 in the case where it has been judged that the running application has been terminated in step S5207; however, the AM 1205b may also carry out processing from step S2801 in
A program execution device according to the present invention has hereby been described using the first through seventh embodiments, but the present invention is not limited to these descriptions.
For example, in the first through seventh embodiments, the Java (R) program may be a mixture of parts written in Java and parts in a binary format directly executable by the CPU, or may be configured only of parts in a binary format directly executable by the CPU.
In addition, in the first through seventh embodiments, the ROM 512 may be deleted by storing details which the ROM 512 stores in the secondary storage unit 510. In addition, it is also possible to configure the secondary storage unit 510 of a plurality of sub-secondary storage units, with each sub-secondary storage unit saving differing information. It is possible to meticulously divide the sub-secondary storage units; for example, only tuning information is saved in one of the sub-secondary storage units, the library 1201b of the OS 1201 is saved in another sub-secondary storage unit, downloaded Java programs are saved in yet another sub-secondary storage unit, and so on.
In addition, in the first through seventh embodiments, the registered Java program is stored in the secondary storage unit 510, but the program may be stored in the primary storage unit 511. In the case where the downloaded Java programs are saved in the primary storage unit 511, all saved information disappears when the power is turned off.
In addition, the present invention is applicable in information devices such as personal computers, cellular phones, and the like.
Also, the POD 504 is in a detachable state, but the POD 504 may be attached in a non-detachable state. Note that in the case where the POD 504 is attached in a non-detachable state, the CPU 706 may be removed from the POD 504, and the CPU 514 may carry out the operation of the CPU 706.
In addition, the Java programs registered in the PODLib 1205e may not only include downloaded Java programs but also pre-stored Java programs as well. Moreover, by including a slot unit in which a removable storage medium, such as an SD (Secure Digital) (R) memory card, can be attached/removed, a Java program may be received from the storage medium.
In addition, in the first through seventh embodiments, downloading of the Java program is described as the DSMCC method, but another download method, aside from the DSMCC method, may be used. For example, by installing a network unit for connecting to a network, downloading the Java program via IP, in which the Java program is fetched from the Internet, is possible. In the case of downloading the Java program via IP, the DSMCC identifier in the AIT and XAIT information is not necessary; instead, an IP address is required to acquire the Java program.
A program execution device according to the present invention has an effect in which a user can use the device with peace of mind, and can be applied informational devices that are controlled by software, such as digital televisions, personal computers, cellular phones, and the like; an operational method of the device is of use as technology for managing storage of applications.
Number | Date | Country | Kind |
---|---|---|---|
2004-033167 | Feb 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/01780 | 2/7/2005 | WO | 8/8/2006 |