WO2006049185A1 - アプリケーションプログラム実行装置 - Google Patents

アプリケーションプログラム実行装置 Download PDF

Info

Publication number
WO2006049185A1
WO2006049185A1 PCT/JP2005/020139 JP2005020139W WO2006049185A1 WO 2006049185 A1 WO2006049185 A1 WO 2006049185A1 JP 2005020139 W JP2005020139 W JP 2005020139W WO 2006049185 A1 WO2006049185 A1 WO 2006049185A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
application
file
service
unit
Prior art date
Application number
PCT/JP2005/020139
Other languages
English (en)
French (fr)
Inventor
Takeshi Hiramoto
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2006542407A priority Critical patent/JP4875987B2/ja
Priority to EP05805493A priority patent/EP1818826A4/en
Publication of WO2006049185A1 publication Critical patent/WO2006049185A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/91Arrangements characterised by the broadcast information itself broadcasting computer programmes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/16Arrangements for broadcast or for distribution of identical information repeatedly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/40Arrangements for broadcast specially adapted for accumulation-type receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/25Arrangements for updating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Definitions

  • the present invention relates to an application program execution device corresponding to the European digital broadcasting standard (DVB-MHP (Digital Video Broadcasting Multimedia Home Platform)).
  • DVD-MHP Digital Video Broadcasting Multimedia Home Platform
  • a broadcasting device can define and broadcast a plurality of application programs (hereinafter referred to as “applications”), and an application program execution device (hereinafter referred to as “application execution device”). (Digital TV, STB, etc.) can execute multiple received applications simultaneously.
  • An application consists of multiple class files and multiple data files. These files that make up the application are multiplexed into a transport stream (hereinafter referred to as “TS”) and broadcast.
  • TS transport stream
  • An object carousel is used as an application transmission method.
  • An object carousel is a file system that is delivered within a TS, and is a means for delivering files that make up an application in DVB-MHP.
  • the object carousel periodically sends the hierarchical structure of each directory and file that make up the app.
  • the broadcasting device first transmits only the directories and files belonging to the root directly to the application execution device in the transmission service. Subsequently, the directories and files belonging to each directory are sequentially transmitted.
  • the application execution device caches them sequentially. Even if all the files that make up the application are not cached (for example, the directory belonging to the directory containing the class file corresponding to the main routine has not been cached yet), the minimum required to start the application If this file exists, the application is executed. For example, if the file path leading up to the main routine is in the cache! /, The class finale corresponding to the main routine is loaded, and if the instance is executed, the application is executed.
  • Patent Document 1 As a prior art, there is one described in Patent Document 1.
  • Patent Document 1 JP 2000-358233 A Non-Patent Document 1: Standards (File name; Tsl01812.V1.2.1.pdf Document name; Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.0.2) Page 39 As of September 9, 2004 Http: ⁇ www.mhp.org/ downloadable
  • the service when the operation is performed in a state where only a part of the configuration file of the application is cached in the force memory, the service may be switched by a user operation or an operation by the application. Switching power of the service
  • the TS power that is transmitting the application also involves tuning to another TS, and it becomes a problem when switching to a service where the activation of the application is not permitted.
  • an application can describe the termination process when the service switching as described above occurs, and when the application execution device terminates the application, Perform termination processing.
  • An uncached class file may be required in the end process.
  • the termination process is described in an independent class file. At this time, since the class file related to the termination process is cached, an error occurs during the termination process.
  • the suspend process is a process for saving local variables used by the program to the stack and preparing for operation resumption.
  • the class file is not cached, suspend processing is not performed normally! /.
  • the main routine accepts any settings from the user, the user settings in the main routine may be lost due to an error in the suspend process. If the user settings are lost, the user must enter the settings again if the original service before the service switch is selected again. It is also possible that the terminal device freezes or goes down.
  • the main routine class file is checked to see if it is uncached, the loss of the user settings and the freeze or down of the application can be avoided.
  • the present invention has been made in view of the above problems, and an object thereof is to provide an application execution device capable of realizing stable application termination processing while avoiding an increase in load time. To do.
  • the present invention is an application program execution device that executes an application program that can be executed only within a selected service, and accepts selection of cache means and user power service.
  • a receiving unit that receives a file constituting an application program related to a service selected by a user from an object carousel transmitted from a broadcasting device and writes the file to the cache unit; and the cache unit is related to the service.
  • An application program execution device comprising: a determination means for determining whether or not the file has power; and an execution control means for causing the cache means to execute the cached application program if it is determined that the file is cached. It is.
  • the present invention provides an application until the cache unit caches a file necessary for executing a suspend process among files configuring an application program in the service.
  • the program is not executed. Therefore, the suspend process can be executed normally in the application program termination process.
  • the execution control means includes acquisition means for acquiring cache security attribute information indicating whether or not it is necessary to ensure that the file reading does not fail when the application program is executed.
  • the execution control means may execute the control only when the cache guarantee attribute information acquired by the acquisition means indicates that it is necessary to guarantee.
  • the execution control means controls the execution only when the cache guarantee attribute information indicates that it is necessary to guarantee that the file reading does not fail when the application program is executed. .
  • the application is based on the cash security attribute information.
  • An action suitable for the characteristics of the Chillon program can be selected.
  • the execution control means includes an acquisition means for acquiring priority attribute information indicating to which application program the resource is preferentially allocated when there are a plurality of application programs, and the execution control means The execution control may be performed only when the priority attribute information acquired by the acquisition unit is greater than or equal to a predetermined threshold value.
  • the execution control means controls the execution only when the priority attribute information is equal to or greater than a predetermined threshold value. In other words, it is possible to select an operation suitable for the characteristics of the application program based on the priority attribute information.
  • the execution control means includes acquisition means for acquiring service bound attribute information indicating whether the application program can be executed only by the service, and the execution control means is acquired by the acquisition means. Execution control may be performed only when the service bound attribute information is information indicating that it can be executed only by the service.
  • the execution control means controls execution only when the service bound attribute information is information indicating that the application program can be executed only by the service.
  • the operation suitable for the characteristics of the application program can be selected by the service bound attribute information.
  • the determination by the determination means may be made based on information on all files constituting the application program.
  • the execution control means includes extraction means for extracting a directory attribute indicating whether or not the directory includes a file constituting the application program in the information, and the application program related to the service is extracted.
  • the files necessary for executing the suspend process may be files in a directory indicating that the directory attribute power extracted by the extraction means includes the application program file. Good.
  • the execution control means causes the application program to be executed. Therefore, even if there are multiple applications, for example, it is sufficient to cache the files necessary to execute the suspend process in the directory indicated by the directory attribute, so that the application program can be started more quickly. Can do.
  • an application program execution device that executes an application program that can be executed only within the selected service, a cache unit, a reception unit that receives a selection of a service from a user, and a broadcasting device is transmitted.
  • Receiving from the object carousel a file that constitutes an application program related to the service selected by the user, and writing to the cache means; and a suspension means among the files constituting the application program related to the service by the cache means.
  • an interface means for checking whether or not a file necessary for executing the processing is cached.
  • the cache means caches the files that are necessary to execute the suspend process among the files that make up the application program, and checks whether or not the files are cached! / It may be an application program execution device that waits for execution until cached and continues execution when cached.
  • the application program can determine whether or not the cache unit can cache a file necessary for executing the suspend process through the interface unit. By waiting for execution until it is cached, it is possible to guarantee that the suspend process is executed normally before the end process.
  • an application program execution device that executes an application program that can be executed only within a predetermined service, reads out the files constituting the application program related to the cache means and the predetermined service, and reads the recording medium power, Write means for writing to the cache means, and the cache means executes suspend processing among the files constituting the application program related to the predetermined service.
  • a determination unit that determines whether or not the file necessary for execution is cached, and an execution that causes the cache unit to execute the cached application program if the file is determined to be cached.
  • An application program execution device including control means may be used.
  • FIG. 1 is a system diagram.
  • FIG. 2 is a functional block diagram of the application execution device.
  • FIG. 3 is a diagram showing information about an application extracted from the AIT.
  • FIG. 4 is a layer configuration diagram of an application execution device.
  • FIG. 5 is an explanatory diagram of an object carousel.
  • FIG. 6 is a schematic diagram showing an example of the syntax of a TS and TS packet that is a component of the TS.
  • FIG. 7 is a schematic diagram showing an example of a TS including two broadcast programs.
  • FIG. 8 is a flowchart showing a processing procedure of the application execution device.
  • FIG. 9 is a flowchart showing an application execution control process by the application management unit.
  • FIG. 10 A diagram showing a specific example of a file system delivered by an object carousel.
  • FIG. 11 is a functional block diagram of an application execution device in a second embodiment.
  • FIG. 12 A diagram showing a specific example of adding a cash guarantee attribute CG to the DVB-MHP standard.
  • FIG. 13 is a flowchart showing a processing procedure of the application execution device in the second embodiment.
  • FIG. 14 is a flowchart showing application execution processing by the application management unit.
  • FIG. 15 is a functional block diagram of an application execution device in a third embodiment.
  • FIG.16 Diagram showing a specific example when the multi-directory attribute is applied to the DVB-MHP standard It is.
  • ⁇ 17 It is a flowchart showing a processing procedure of the application execution device in the third embodiment.
  • FIG. 18 is a flowchart showing an application execution control process 2 by the application management unit.
  • FIG. 20 is a diagram showing a specific example when the cash guarantee attribute and the multi-carousel attribute are added to the DVB-MHP standard.
  • FIG. 21 is a diagram showing an example of original application_descriptor defined in the AIT in the DVB-MHP standard.
  • ⁇ 22] It is a flowchart showing a processing procedure of the application execution device in the fourth embodiment.
  • FIG. 23 is a flowchart showing an application execution control process 3 by the application management unit.
  • FIG. 24 is a diagram showing a specific example when the file system is divided into two object carousels for distribution.
  • FIG. 25 is a flowchart when the main routine of the application performs execution control.
  • the application execution device according to the present embodiment is used for a user in a digital broadcasting system as shown in FIG.
  • the digital broadcasting system shown in FIG. 1 is based on a conventional digital broadcasting system compliant with a digital broadcasting standard represented by DVB-MHP, and includes an application execution device 10 and a broadcasting device 20.
  • the broadcast device 20 broadcasts a TS in MPEG2 (Motion Picture Experts Group phase 2) format using a broadcast channel.
  • TS broadcast program components are multiplexed.
  • a broadcast program includes at least one or more applications as components, and generally includes video data and audio data as components.
  • the app also consists of multiple class files, multiple data files and power.
  • An object carousel is used as the application transmission method.
  • the application execution device 10 executes each application separated from the TS received from the broadcast device 20. In general, video data and audio data are further reproduced and output.
  • FIG. 2 is a functional block diagram showing the configuration of the application execution device 10.
  • the application execution device 10 includes a service reception unit 101, a reception unit 102, a separation unit 103, an application management unit 104, a carousel storage unit 107, an application execution unit 108, and a decoding unit. 109 and an output unit 110.
  • the service reception unit 101 manages service selection. Specifically, it receives a service change request based on a user instruction from a remote control signal or an instruction from an application, and a receiving unit 1
  • the receiving unit 102 receives and demodulates a signal at the frequency of the carrier wave of the TS to which the selected service is distributed, using an antenna or a cable.
  • the TS demodulated in the separation unit 103 Is sent out.
  • the demodulation function is omitted in the case of an application execution device that acquires the digital line strength of the signal.
  • the separating unit 103 Upon receiving the TS sent from the receiving unit 102, the separating unit 103 receives the video 'audio data multiplexed in the TS, the object carousel, and information related to application control (AIT (Application Information Table)) And to separate. Then, the video audio data is provided to the decoding unit 109, the object carousel is provided to the carousel storage unit 107, and the AIT which is information relating to the application control is provided to the application control unit 105.
  • AIT Application Information Table
  • the application management unit 104 manages the life cycle of the application.
  • the application management unit 104 includes an application control unit 105 and a cache completion monitoring unit 106.
  • the application control unit 105 extracts information on the application to be activated in the service notified from the service reception unit 101 from the AIT.
  • the cache completion monitoring unit 106 waits for a cache completion notification, and then instructs the application execution unit 108 to start executing the application.
  • the information about the extracted application is passed to the cache completion monitoring unit 106.
  • the information about the application extracted from the AIT force consists of base_directory 301, initial-class 302, and classpath-extension 303 as shown in FIG.
  • base_directory is a directory in which the main routine of the application is stored. base_directory is assumed to automatically form the first directory on the classpath. initiaLclass is information paired with base_directory and indicates the name of the class file to be started first.
  • classpath_extension indicates a class file other than the main routine.
  • the cache completion monitoring unit 106 determines whether or not all the application configuration files are cached, and if all are cached, notifies the application control unit 105 of the completion of the cache.
  • the carousel storage unit 107 caches the object carousel related to the application corresponding to the selected service in a state where it can be referred to as a file system. Then, the file is provided in response to the file read request from the application execution unit 108.
  • cache specifically means storing in a storage device such as a memory.
  • the application execution unit 108 stores the application configuration file instructed by the application control unit 105 by When read from the one-cell storage unit 107 and an execution start instruction is received, they are interpreted and executed.
  • the application execution unit 108 is specifically a Java (registered trademark) virtual machine in DVB-MHP.
  • the decoding unit 109 receives the video / audio data from the separation unit 103 and decodes it.
  • the output unit 110 outputs the decoded video ′ audio data and graphics sent from the application execution unit 108.
  • FIG. 4 is an example of a diagram drawn in detail by replacing the functional block diagram of the application execution device 10 with the hardware layer configuration when actually implementing it.
  • the application execution device 10 includes a Java (registered trademark) platform 401, a Java (registered trademark) 1/040 2, a DSM—CC (Digital Storage Media Command and Control) 403, a decoder 404, It is comprised including.
  • the Java (registered trademark) platform 401 includes a Java (registered trademark) virtual machine 406 and an application manager 405.
  • the Java (registered trademark) virtual machine 406 converts a Java (registered trademark) object described in the Java (registered trademark) language into a native code of the CPU in the application execution device 10 and causes the CPU to execute it. More specifically, the xlet program constituting the application is loaded into the heap area, the xlet program is decrypted, and control is performed according to the decryption result.
  • the Java (registered trademark) virtual machine 406 includes a class loader 407, a heap area 408, and a thread unit 409.
  • the class loader 407 reads the class file from the DSM-CC403 to the heap area 408.
  • the class file is read by the class loader 407 by using the file path. If the file path force 3 ⁇ 4 SM-CC403 is indicated, the class loader 407 reads the class file from the DSM-CC403 to the heap area 408.
  • the heap area 408 stores instances of various class files. This instance is the xlet program that makes up the app. By placing such an xlet program in the heap area 408, the application becomes executable.
  • the thread unit 409 executes logical instances that execute instances stored in the heap area 408. It is a line subject.
  • the application manager 405 instructs the class loader 407 to load a class.
  • Java (registered trademark) 1/0402 returns success in all the files constituting the application.
  • the thread unit 409 is instructed to start execution.
  • success for all files includes files that have succeeded as a result of instructing loading again after becoming false once.
  • whether all the files are successful or not is judged based on the information about the application from which AIT capabilities are also extracted.
  • Java (registered trademark) 1/0402 returns success or false to the application manager 405. Specifically, if there is a load instruction specifying a file path from the class loader 407, it is determined whether or not the class file specified in the DSM-CC403 is cached. If the specified file is cached, the class file is loaded into the heap area 408. Then, success is notified to the application manager 405. If the class file is not cached, false is notified to the application manager 405.
  • the DSM-CC 403 manages a cache of class files.
  • the carousel receiving unit 410 receives and caches the object carousel.
  • the decoder 404 decodes video / audio data.
  • FIG. 5 (a) and FIG. 5 (b) are diagrams showing a method of transmitting the application configuration file by the object carousel.
  • FIG. 5 (a) shows a file system transmitted by the broadcasting device 20.
  • FIG. 5B shows a state in which a part of the file system is transmitted from the broadcast device 20 to the application execution device 10.
  • the file system is not sent at once, but is divided into layers that are not sent at once, and is sent periodically and repeatedly. That is, the absolute execution device 10 acquires a file for one cycle from an arbitrary time, and restores the file by developing it in the memory in the application execution device 10.
  • FIG. 6 is a schematic diagram showing an example of the syntax of a TS and its constituent elements, a TS packet.
  • a TS is composed of many TS packets, and each TS packet is composed of 188 bytes.
  • the Each TS packet consists of a header that provides information for each TS packet and a payload in which the actual data is recorded.
  • the header consists of a sync byte, payload unit start indicator, transmission priority, packet identifier (PID), scrambling control, adaptive field control, continuity counter, and adaptive field. Each is assigned a predetermined bit and provides information on the TS packet.
  • the payload includes packetized audio 'video data and service data. Each packetized audio video and service data is identified by a packet identifier. Audio 'video and service data are multiplexed in TS in packet units, and transmitted from the broadcast device 20 to the application execution device 10.
  • FIG. 7 is a schematic diagram showing an example of a TS including two broadcast programs of service A and service B.
  • each broadcast program is transmitted by multiplexing one audio data and video data, an AIT that is information relating to application control, and an object cell including application configuration files.
  • Broadcast programs included in the TS are represented by TS packets that deliver a table called PMT (Program Map Table).
  • PMT Program Map Table
  • the PID of the TS packet is shown in the TS packet that delivers a table called PAT (Program Association Table), which is PID power.
  • PMT is stored PID such as video, audio and AIT included in a service. This PID identifies the type of TS packet.
  • PMT is stored PID such as video, audio and AIT included in a service. This PID identifies the type of TS packet.
  • the PID of service A is 100
  • the PID of service B is 200
  • the PMT includes the PID of each of the object data carousel that delivers audio data, video data, AIT, and the file system that contains the application configuration files.
  • the audio data of service A is delivered as TS packets with 101 PID
  • video data is 102
  • AIT is 103
  • the object cell is 104 PID.
  • the component tag of the object carousel is 1104.
  • AIT includes control instructions such as starting and stopping an app, and a component tag for an object carousel that delivers the app. (Link information for deriving the PID of the object carousel) and information necessary for application control such as the path of the file to be used first when starting the application are included. The application is controlled according to the AIT included in the program information being played.
  • FIG. 8 is a flowchart showing a processing procedure of the application execution device 10.
  • the service reception unit 101 receives a numerical value corresponding to a service designated by a remote control operation by a user, a request from an application, or an initial setting at power-on, and notifies the reception unit 102 (S801).
  • the receiving unit 102 tunes to a service carrier wave corresponding to the received numerical value, and receives the TS.
  • the received TS is demodulated into digital data (S802).
  • the separation unit 103 acquires the PMT and PAT multiplexed in the TS, identifies the video / audio data, the object carousel, and the AIT from the PID stored in the PMT, and separates them (S803).
  • the decoding unit 109 decodes the video / audio data separated by the separating unit 103, and the output unit 110 outputs the data decoded by the decoding unit 109 (S804).
  • the carousel storage unit 107 caches the object carousel related to the application to be activated in the selected service (S805).
  • the application management unit 104 performs an application execution control process (S806).
  • FIG. 9 is a diagram showing a flowchart regarding application execution control processing by the application management unit 104.
  • the application management unit 104 instructs the application execution unit 108 to load a class file corresponding to i nitial_class 302 that is information about the application extracted from the AIT (S9
  • class file corresponding to initial_class302 is read out to the application execution unit 108, and the application management unit 104 receives success from Java (registered trademark) I / O (S903).
  • the application management unit 104 receives false from Java (registered trademark) I / O (S904).
  • the application management unit 104 determines whether there is another class file related to the application (S905). Specifically, based on the base_directory 301 and classpath_extension 303, which are information related to the application extracted from the AIT power! Base.dire if present
  • the application execution unit 108 is instructed to load the file constituting the application indicated by ctory 301 or classpath_extension 303 (S906). Control goes to step S902. If not, the application management unit 104 determines whether or not the success has been received for all class files related to the application (S907).
  • the class file that has become false is instructed to be loaded again (S908). If the determination result is affirmative, the application management unit 104 instructs the application execution unit 108 to start execution. The application execution unit 108 instructed to start executing the application by the application management unit 104 interprets and executes the loaded class file (S909).
  • FIG. 10 is a specific example of the file system FS1 delivered by the object carousel.
  • File system FS1 includes two apps. One is app 1 and the other is app 2.
  • Application 1 consists of file F1 and file FC
  • application 2 consists of file F2 and file FC.
  • the application control unit 105 waits for a cache completion notification from the cache completion monitoring unit 106 and instructs the application execution unit 108 to start execution. Therefore, since the power rule storage unit 107 caches all the files shown in the file system FS1! /, It can respond to a file read request from the application execution unit 108 without performing file cache processing. It becomes possible to respond. Therefore, even if the data cannot be received from the receiving unit 102, it is possible to ensure reading of the file.
  • application control unit 105 issues an execution start instruction to application execution unit 108 after receiving a cache completion notification from cache completion monitoring unit 106. Therefore, since the application does not operate when the files constituting the application are not cached, stable operation is guaranteed in the application termination process.
  • an application may operate with a part of the application configuration file cached in memory, and the application or other application may execute the Tuning API during operation. Even in such a case, as described above, the application termination process can be prevented by executing the powerful application after waiting for the cache completion notification from the cache completion monitoring unit 106.
  • the application operates in a state where a part of the configuration file of the application is cached in the memory.
  • the reception status deteriorates due to the act of unplugging the cable, etc., and TS may not be received.
  • the application termination process can be ensured by waiting for the cache completion notification from the cache completion monitoring unit 106 and executing the application.
  • this embodiment is an embodiment in which processing is changed for each application in accordance with the feature of the application.
  • the broadcast program does not fail to read a file when the application is executed.
  • An attribute indicating whether or not it is necessary to guarantee the power (hereinafter referred to as “cash guarantee attribute”) is included as a component.
  • FIG. 11 shows a functional block diagram of the application execution device 10a in the present embodiment.
  • the application execution device 10a includes a cash guarantee attribute extraction unit 1101 in addition to the configuration of the application execution device 10 of the first embodiment.
  • the cache guarantee attribute extraction unit 1101 extracts the cache guarantee attribute from the AIT that is information related to the control of the application in the TS, and provides it to the application control unit 105a.
  • the application control unit 105a in the present embodiment extracts information on the application to be activated from the AIT of the service specified by the service reception unit 101. Also, the information about the extracted application is passed to the cache completion monitoring unit 106.
  • the cash security attribute is received from the cash security attribute extraction unit 1101
  • FIG. 12 is a diagram showing a specific example when the cash guarantee attribute CG is added to the DVB-MHP standard.
  • the cache guarantee attribute CG is added as application-descriptor cache-guarantee-flag field ⁇ notet defined in AIT.
  • FIG. 13 is a flowchart showing a processing procedure of the application execution device 10a.
  • the service reception unit 101 receives a numerical value corresponding to a service specified by a remote control operation by a user, a request from an application, or an initial setting at power-on, and notifies the reception unit 102 (S1301).
  • the receiving unit 102 tunes to the carrier wave of the service corresponding to the received numerical value, and receives the TS.
  • the received TS is demodulated into digital data (S1302).
  • the separation unit 103 acquires the PMT and PAT multiplexed in the TS, and from the PID stored in the PMT, video.audio, object carousel, AIT Are identified and separated (S 303).
  • the decoding unit 109 decodes the video'audio data, and the output unit 110 outputs the decoded data (S1304).
  • the carousel storage unit 107 caches the object carousel related to the application to be activated in the selected service (S1305).
  • the application management unit 104a receives the cash security attribute from the cash security attribute extraction unit 1101. Then, it is determined whether or not the cash guarantee attribute is an attribute indicating that it is necessary to guarantee (S 1306). If the determination is affirmative, the application management unit 104a performs the application execution control process shown in FIG. 9 (S1307). If the determination is negative, the application management unit 104a performs an application execution process (S1308).
  • FIG. 14 is a diagram showing a flowchart regarding application execution processing by the application management unit 104a.
  • the application management unit 104a instructs the application execution unit 108 to load a class file corresponding to the initial_class 302 that is information about the application extracted from the AIT (SI 401). It is determined whether or not there is a file to be loaded in the carousel storage unit 107 (S1402). If there is, the class file corresponding to initial_class302 is read to the application execution unit 108, and the application management unit 104a receives success from the Java (registered trademark) I / O (S 1404). Then, the application management unit 104a instructs the application execution unit 108 to start execution.
  • Java registered trademark
  • the application execution unit 108 instructed to start executing the application by the absolute management unit 104a interprets and executes the loaded class file (S 1405). If not, the application management unit 104a receives false from Java (registered trademark) I / O (S1403). Move on to S1401.
  • the application management unit 104a determines whether there is another class file related to the application (S1406). Specifically, the determination is made based on base_directory 301 and classpath_extension 303, which are information about the application from which AIT power is also extracted. If it does not exist, the process ends. If it exists, it is determined whether or not another file needs to be read (S 1407).
  • the application management unit 104a instructs loading of the necessary file (S1408). It is determined whether there is a file to be loaded in the carousel storage unit 107 (S 1409). If there is, the class file is read out to the application execution unit 108, and the application management unit 104a receives success from Java (registered trademark) I / O (S1411). Then, the application execution unit 108 executes the read class file (S 1405). If not, the application management unit 104a receives false from Java (registered trademark) I / O (S1410). Move on to S 1408.
  • the application management unit 104a issues an application execution start instruction to the application execution unit 108 without waiting for a cache completion notification. Then, the application execution unit 108 instructed to start executing the application by the application management unit 104a first reads a class file to be executed, and interprets and executes the class file. In addition, the other application configuration files that are needed in the process of interpretation are read each time, and the read class file is interpreted.
  • the application control unit 105a sends an execution start instruction to the application execution unit 108 after waiting for a cache completion notification from the cache completion monitoring unit 106. Therefore, since the carousel storage unit 107 can respond to the file read request without performing the file cache processing, even if the data cannot be received from the receiving unit 102, the file reading is guaranteed. It is possible.
  • the application control unit 105a performs cache completion from the cache completion monitoring unit 106.
  • the application execution unit 108 is instructed to start the application without waiting for the notification.
  • the carousel storage unit 107 responds to the file read request from the application execution unit 108 with as much response as possible, and uses the free time when there is no file read request to complete the cache. If a file is cached, it will be processed! Therefore, the app launches faster than waiting for all files to be cached.
  • each of an application that needs to guarantee reading of a file by the cache guarantee attribute and an application that does not need guarantee and prioritizes startup speed and memory efficiency.
  • a suitable activation method can be selected.
  • the cash security attribute is newly added and used as an attribute included in the AIT.
  • the priority attribute AP that is the existing attribute of the AIT shown in FIG. 12 may be used, or the service bound attribute SB may be used.
  • the priority attribute AP is an attribute that indicates to which application resources are preferentially allocated when there are multiple applications.
  • the service bound attribute SB is an attribute indicating whether or not the application is service bound. If the app is service bound, the app is terminated when switching to another service.
  • the application control unit 105a determines whether the priority information is greater than or equal to a predetermined threshold value. If the threshold value is equal to or greater than the predetermined threshold, the application control unit 105a may wait for a cache completion notification from the cache completion monitoring unit 106 before issuing an execution instruction.
  • the application control unit 105a determines whether or not the service bound attribute is a service bound. In the case of service bound, the application control unit 105a may wait for the cache completion notification from the cache completion monitoring unit 106 before giving an execution instruction. As a result, while a service bound app is operating with a part of the app configuration file cached in memory, the service is accompanied by tuning and is not allowed to start the app. Even if there has been a change of the It can be carried out.
  • the start instruction is made after all of these files are cached.
  • the application execution device provides an identifier so that a file constituting one application can be distinguished from other files, and among files distributed in a plurality of directories, When a file necessary for executing one application is cached, an instruction to start execution is issued.
  • the files constituting the application are distributed in a state of being divided into one or more directories.
  • the broadcast program includes, as constituent elements, attributes indicating directories (hereinafter referred to as “multi-directory attributes” and “!”) That include files constituting one application.
  • the application execution device 10b includes a multi-directory attribute extraction unit 1501 in addition to the configuration of the application execution device 10a of the second embodiment, and instead of the cache completion monitoring unit 106, a directory-specific cache completion monitoring unit 106b is included.
  • the multi-directory attribute extraction unit 1501 extracts the multi-directory attribute from the AI cite, which is information related to the control of the application in the TS, and provides it to the application control unit 105b.
  • the directory-specific cache completion monitoring unit 106b determines whether or not all the application configuration files are cached in the directory indicated by the multi-directory attribute. When the files in all the directories indicated in the multi-directory attribute are cached, the application control unit 105b is notified of the cache completion.
  • the application control unit 105b in the present embodiment extracts information on the application to be activated from the AIT of the service specified by the service reception unit 101. Further, when the cache protection attribute is received from the cache security attribute extraction unit 1101, it is determined whether or not the cache security attribute of the application is an attribute indicating that it is necessary to ensure that the file reading does not fail. If the determination result is affirmative, the directory-specific cache completion monitoring unit Wait for the cache completion notification from 106b, and then instruct application authentication and start executing the application. If the determination result is negative, the application execution unit 108 is instructed to start executing an application without waiting for a cache completion notification from the directory-specific cache completion monitoring unit 106b. Also, the information about the extracted application is passed to the directory-specific cache completion monitoring unit 106b.
  • FIG. 16 is a diagram showing a specific example when the multi-directory attribute unique to this embodiment is applied to the DVB-MHP standard.
  • the multi-directory attribute MD1 is a diversion of the existing base_directory field in the application_descriptor defined in the AIT
  • the multi-directory attribute MD2 is a new extension— Add directory as a directory file.
  • the multi-directory attribute MD1 indicates the path of the directory tree that contains the file that is used first when the application is started in the application configuration file.
  • the multi-directory attribute MD2 indicates a directory.tree path including configuration files of other applications not included in the directory 'tree indicated by the multi-directory attribute MD1.
  • FIG. 17 is a flowchart showing a processing procedure of the application execution device 10b.
  • the service receiving unit 101 receives a numerical value corresponding to a service specified by a remote control operation by a user, a request from an application, or an initial setting at power-on, and notifies the receiving unit 102 (S1701).
  • the receiving unit 102 tunes to the carrier wave of the service corresponding to the received numerical value, and receives the TS.
  • the received TS is demodulated into digital data (S1702).
  • the separation unit 103 acquires the PMT and PAT multiplexed in the TS, and from the PID stored in the PMT, video.audio, object carousel, AIT Are identified and separated (S 1703).
  • the decoding unit 109 decodes the video'audio data, and the output unit 110 outputs the decoded data (S1704).
  • the carousel storage unit 107 caches the object carousel related to the application to be activated in the selected service (S1705).
  • the application management unit 104b receives the cache security attribute from the cash security attribute extraction unit 1101 and the multi-directory attribute from the multi-directory attribute extraction unit 1501. take. Then, it is determined whether or not the cache guarantee attribute information is information indicating that it is necessary to guarantee (S 1706). If the determination is affirmative, the application management unit 104b performs application execution control processing 2 (S1707). If the determination is negative, the application management unit 104b performs the application execution process shown in FIG. 14 (S1708).
  • FIG. 18 is a flowchart for the application execution control process 2 by the application management unit 104b.
  • the application management unit 104b specifies a directory including a file to be used first when the application is started among application configuration files from the multi-directory attribute (S1801).
  • the application execution unit 108 is instructed to load a class file corresponding to initial_class in the specified directory (S1802). It is determined whether there is a file to be loaded in the carousel storage unit 107 (S1803).
  • the application execution unit 108 loads a class file corresponding to initiaLclass.
  • the application management unit 104b determines whether another class file related to the application exists in the directory indicated by the multi-directory attribute (S1806). Specifically, based on base_directory301 and classpath_extension303, which are information about applications extracted from AIT, it is determined based on! /.
  • Step SI 803 is entered. If the directory does not exist, the application management unit 104b determines whether there is another directory indicated by the multi-directory attribute (S1808). If it exists, the application execution unit 108 is instructed to load the file in the directory (S 1809). Step S 1803 follows. If not, the application management unit 104b determines whether success has been received for all files in the directory indicated by the multi-directory attribute (S1810). If the determination result is negative, it instructs again to load the class file that has become false (S1811). If the determination result is affirmative, the application management unit 104b The execution start instruction is given. The application execution unit 108 instructed to start executing the application by the application management unit 104b interprets and executes the loaded class file (S1812).
  • the application control unit 1 05b waits for the cache completion notification from the directory-specific cache completion monitoring unit 106b, and then instructs the application execution unit 108 to start the application.
  • the files to be monitored by the directory-based cache completion monitoring unit 106b are limited to the file F1 and the file FC.
  • the multi-directory attribute MD1 is 7appl and the multi-directory attribute MD2 is “/ common.” Therefore, the directory-specific cache completion monitoring unit 106b does not wait for the cache completion of the file F 2 and notifies the application completion unit 105b. Therefore, since the carousel storage unit 105 can respond to the file read request without performing the file cache processing, even if the data cannot be received from the receiving unit 102, the file read is guaranteed. In addition, by limiting the files to be cached, the application can be started up more quickly.
  • the application control unit 105b uses the cache from the directory-specific cache completion monitoring unit 106b. Without waiting for the completion notification, the application execution unit 108 is instructed to start the application. Therefore, the carousel storage unit 105 responds to the file read request from the application execution unit 108 with as much response as possible, no file read request is made, and the cache is completed using the free time. Process to cache the file. Therefore, the application launches faster than when waiting for the cache completion of files in all the directories indicated in the multi-directory attribute.
  • the application execution device 10c of the present embodiment has a plurality of files included in the application. By caching the files distributed in the object carousel state, only the files necessary to run the app are cached in a limited manner.
  • the files constituting the application are distributed in a state of being divided into a plurality of object carousels, and the broadcast program is shown in the second embodiment.
  • an attribute indicating the object carousel containing the files constituting one application hereinafter referred to as “multi-carousel attribute” is also included as a component.
  • the application execution device 10c includes a multi-carousel attribute extraction unit 1901 in addition to the configuration of the application execution device 10a of the second embodiment, and includes a carousel storage unit 1902 and a cache completion monitoring unit. 1903.
  • the multi carousel attribute extraction unit 1901 extracts the multi carousel attribute from the AIT that is information related to the control of the application in the TS, and provides it to the application control unit 105c.
  • the carousel storage unit 1902 stores one object carousel included in the selected service in a state where it can be referred to as a file system. Then, the requested file is provided in response to the file read request from the application execution unit 108. At this time, of the carousel storage unit 1902 and the carousel storage unit 107, one of the carousel storage units caching the file requested by the application execution unit 108 provides the file.
  • the cache completion monitoring unit 1903 determines whether or not all the object force ruthels are cached in the carousel storage unit 1902, and if all are cached, notifies the application control unit 105c of completion. .
  • the carousel storage unit 107c in the present embodiment stores the other object carousel included in the selected service in a state where it can be referred to as a file system.
  • the cache completion monitoring unit 106c in the present embodiment determines whether or not all object carousels are cached in the carousel storage unit 107c. If it is cached, the application control unit 105c is notified of completion.
  • the application control unit 105c in the present embodiment extracts information on the application to be activated from the AIT of the service specified by the service reception unit 101. Further, when the cache protection attribute is received from the cache security attribute extraction unit 1101, it is determined whether or not the cache security attribute of the application is an attribute indicating that it is necessary to ensure that the file reading does not fail. If the determination result is affirmative, it waits for a cache completion notification from the cache completion monitoring unit 1903 and the cache completion monitoring unit 106c, and then issues an application authentication and application execution start instruction. If the determination result is negative, the application execution unit 108 is instructed to start executing the application without waiting for the cache completion notification from the cache completion monitoring unit 1903 and the cache completion monitoring unit 106c. In addition, the information about the extracted application is passed to the cache completion monitoring unit 1903 and the cache completion monitoring unit 106c.
  • FIG. 20 is a diagram showing a specific example when the cash guarantee attribute CG and the multi-carousel attribute MC are added to the DVB-MHP standard.
  • the multi carousel attribute MC is added as an extension of the transport_protocol_lable field of application_descriptor defined in the AIT.
  • the cash guarantee attribute CG is the same as in the second embodiment.
  • Fig. 21 is an example of the original application_descriptor defined in the AIT in the DVB-MHP standard.
  • Multi-carousel attribute The original attribute of the part extended for MC, the transport 'protocol' label attribute TPL can indicate multiple delivery routes.
  • the value of one transport_protocol_lable field indicates all the configuration files of the app! /, The object carousel, and [IP via DVB multiprotocol encapsulation]. It is possible to indicate multiple delivery routes because it can indicate multiple transport-protocoljable field values by fornorp.
  • a for loop is further added to a for loop that can indicate a plurality of delivery routes. This r-loop indicates one or more objects that are divided and distributed in one distribution route.
  • IP via DVB multiprotocol encapsulation is a file system that is delivered within the TS in the same manner as an object et al cell, and is used as a means for delivering the files that make up the application in the DVB-MHP standard.
  • FIG. 22 is a flowchart showing a processing procedure of the application execution device 10c.
  • the service reception unit 101 receives a numerical value corresponding to a service specified by a remote control operation by a user, a request from an application, or an initial setting at power-on, and notifies the reception unit 102 (S2201). .
  • the receiving unit 102 tunes to the carrier wave of the service corresponding to the received numerical value, and receives the TS.
  • the received TS is demodulated into digital data (S2202).
  • the separation unit 103 acquires the PMT and PAT multiplexed in the TS, identifies the video audio, the object carousel, and the AIT from the PID stored in the PMT, and separates them (S2203).
  • the decoding unit 109 decodes the video'audio data, and the output unit 110 outputs the decoded data (S2204).
  • the carousel storage unit 107 and the carousel storage unit 1902 cache the object carousel related to the application to be activated for the selected service!
  • the two object carousels are cached in different carousel storage units (S2205).
  • the application management unit 104c receives the cache guarantee attribute from the cash guarantee attribute extraction unit 1101 and the multi carousel attribute from the multi carousel attribute extraction unit 1901. Then, it is determined whether or not the cash guarantee attribute information is information indicating that it is necessary to guarantee (S2206). If the determination is affirmative, the application management unit 104c performs application execution control processing 3 (S2207). If the determination is negative, the application management unit 104c performs the application execution process shown in FIG. 14 (S2208). That is, an application activation instruction is issued to the application execution unit 108 without waiting for a cache completion notification from the cache completion monitoring unit 1903 and the cache completion monitoring unit 106.
  • FIG. 23 is a diagram showing a flow chart related to the application execution control process 3 by the application management unit 104c.
  • the application management unit 104c instructs the application execution unit 108 to load the class file corresponding to the initial_class 302 that is information about the application extracted from the AIT (S2301). It is determined whether or not the carousel storage unit 107c or the carousel storage unit 1902 has a file to be loaded (S2302). If there is, the class file corresponding to initial_class 302 is read to the application execution unit 108, and the application management unit 104c receives success from Java (registered trademark) I / O (S2303).
  • Java registered trademark
  • the application management unit 104c determines whether another file exists in the carousel indicated by the multi-force loose cell attribute (S2305). Specifically, it is determined based on the base_directory 301 and classpath_extension 303, which are information about the application from which the AIT power is also extracted. If it exists, the application execution unit 108 is instructed to load the file constituting the application indicated by the base_director 301 or classpath_extension 303 (S2306). Move on to step S2302.
  • the application management unit 104c determines whether or not it has received success for all the files in the carousel indicated by the multi-carousel attribute (S2307). If the judgment result is negative, it instructs again to load the class file that has become false (S2308). If the determination result is affirmative, the application management unit 104c instructs the application execution unit 108 to start execution. The application execution unit 108 instructed to start executing the application by the application management unit 104 interprets and executes the loaded class file (S2309).
  • FIG. 24 shows a specific example in which the file system FS1 is divided into two object carousels and distributed.
  • the file system FS 1 is divided into a file system FS 2 and a file system FS 3 for transmission.
  • the file system FS2 and the file system FS3 are stored in the carousel storage unit 107c and the carousel storage unit 1902, respectively.
  • the application to be activated is application 1 and the cache guarantee attribute is an attribute indicating that the guarantee is required
  • the application control unit 105c and the cache completion monitoring unit 106c After waiting for both cache completion notifications of the unit 1903, the application execution unit 108 is instructed to start the application. Therefore, the application execution device 10c does not wait for the completion of the cache of the file F2.
  • the carousel storage unit 107c and the carousel storage unit 1902 can respond to a file read request without performing file cache processing, even if the data cannot be received from the reception unit 102, It is possible to guarantee reading. Furthermore, by limiting the files to be cached, it is possible to speed up the activation of the application.
  • the application management unit 104c performs cache completion monitoring unit 106c and cache completion monitoring. Without waiting for a cache completion notification from An instruction to start the application is given to the row unit 108. Therefore, the carousel storage unit 107c and the carousel storage unit 1902 respond as well as possible to the file read request from the application execution unit 108, and the cache uses the free time when there is no file read request. The process is to cache a file that has not been completed. Therefore, the application launches faster than when waiting for the cache completion of all files in the carousel indicated in the multi-carousel attribute.
  • the application execution device 10c may include three or more sets of forces that include two sets of carousel storage units and cache completion monitoring units.
  • the application execution device has been described based on the embodiment.
  • the present invention is not limited to the above-described embodiment.
  • the digital broadcast system is composed of one application execution device and one broadcast device, but there may be a plurality of each.
  • the application execution device issues an instruction to start execution after caching all the files that make up the application. If the files necessary to execute the process are cached, the execution start instruction may be issued. In this case, for example, in S905 of FIG. 9, it is determined whether there is another file necessary for executing the suspend process. Then, in S907, it is determined whether success has been received for all files necessary for executing the suspend process among the files constituting the application. These decisions are based on the AIT.
  • a new descriptor may be added to the AIT, or a table other than the AIT is used. Also good.
  • a configuration using a distribution method using IP via DVB multiprotocol encapsulation instead of the powerful data transfer method that is supposed to send a file using the object carousel, a configuration using a distribution method using IP via DVB multiprotocol encapsulation, a data canocell cell, or TCP / IP may be used.
  • a configuration using a file recorded on a recording medium such as a BD may be adopted.
  • BD plays HD video, so if you give priority to seamless playback of HD video, a cache miss will occur.
  • a cache miss occurs when the application execution device power of BD is taken out. Even in such a case, the termination process can be appropriately performed by the above process.
  • the application execution apparatus is used.
  • the present invention is a method including the steps shown in the flowchart and a program including program code for causing a computer to execute the steps shown in the flowchart. Also good.
  • the cache completion monitoring unit determines whether or not all the files that make up the application can be loaded.
  • the cache control API Application Program Interface
  • the application's main routine may control the execution rather than the application management unit.
  • Figure 25 shows the flowchart when the main routine performs execution control.
  • the application manager instructs to load the main routine (S2501). It is determined whether or not the file has been cached (S2502). If the file has been cached, it is loaded.
  • the application management unit instructs the application execution unit to start the main routine (S2503).
  • the main routine checks whether all classes constituting the application are loaded through the API (S2504).
  • the application program execution apparatus constituting the present invention can be manufactured and sold in the manufacturing industry in a management manner, continuously and repeatedly. Especially for terrestrial, satellite, or cable digital broadcasting STBs or digital broadcast reception built-in televisions, etc. And useful.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

 選択したサービス内でのみ実行可能なアプリケーションプログラムを実行するアプリケーションプログラム実行装置であって、キャッシュ部と、ユーザからサービスの選択を受け付ける受付部と、放送装置から送信されるオブジェクトカルーセルから、ユーザが選択したサービスに係るアプリケーションプログラムを構成するファイルを受信し、前記キャッシュ部に書き込む受信部と、前記キャッシュ部が前記サービスに係るアプリケーションプログラムを構成するファイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュしているか否かを判断する判断部と、前記ファイルをキャッシュしていると判断すれば、前記キャッシュ部にキャッシュされたアプリケーションプログラムを実行させる実行制御部とを含む。

Description

明 細 書
アプリケーションプログラム実行装置
技術分野
[0001] 本発明は、欧州デジタル放送規格 (DVB- MHP(Digital Video Broadcasting Multime dia Home Platform))に対応するアプリケーションプログラム実行装置に関する。
背景技術
[0002] DVB-MHPでは、放送装置は複数のアプリケーションプログラム(以下、「アプリ」 t\ヽ う)を定義して放送することが可能であり、アプリケーションプログラム実行装置 (以下 、「アプリ実行装置」という)(デジタル TV、 STB等)は、受信した複数のアプリを同時に 実行できる。アプリは複数のクラスファイルと、複数のデータファイルとから構成され、 アプリを構成するそれらのファイルはトランスポートストリーム(以下、「TS」という)に多 重化され、放送される。
[0003] アプリの伝送方式には、オブジェクトカルーセルが用いられる。オブジェクトカルー セルとは、 TS内で配送されるファイルシステムであり、 DVB- MHPにおいて、アプリを 構成するファイルを配送するための手段である。オブジェクトカルーセルでは、アプリ を構成する各ディレクトリやファイルの階層構造を定期的に送信する。
具体的に説明すると、放送装置はまず、送信するサービスにおいて、 Root直下に 属するディレクトリ及びファイルのみをアプリ実行装置に送信する。続いて、それぞれ のディレクトリに属するディレクトリ及びファイルを逐次送信する。アプリ実行装置は、 それらを逐次キャッシュしていく。そして、そのアプリを構成する全ファイルがキヤッシ ュされていなくても(例えば、 mainルーチンにあたるクラスファイルを含むディレクトリの 下位に属するディレクトリがまだキャッシュされていない状態)、アプリの起動に必要な 最小限のファイルがあれば当該アプリは実行される。例えば、 mainルーチンにいたる までのファイルパスがキャッシュ上にそろって!/、ると、 mainルーチンにあたるクラスファ イノレはロードされ、そのインスタンスが実行されれば、アプリは実行される。
[0004] なお、先行技術としては特許文献 1に記載されたものがある。
特許文献 1:特開 2000— 358233号公報 非特許文献 1:規格書(ファイル名; Tsl01812.V1.2.1.pdf ドキュメント名; Digital Vide o Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.0.2) 第 39 頁 2004年 9月 9日現在、 http:〃 www.mhp.org/力らダウンロード可能
発明の開示
発明が解決しょうとする課題
[0005] ところで、アプリの構成ファイルの一部だけ力メモリ上にキャッシュされた状態でアブ リが動作している場合に、ユーザ操作、またはアプリによる操作によりサービスの切り 替えが生じる場合がある。そのサービスの切り替え力 当該アプリを送信している TS 力も他の TSへのチューニングを伴い、かつ、当該アプリの起動が許可されないサー ビスへの切り替えである場合に問題となる。
[0006] 前述のようなサービス切り替えが生じると、アプリの終了処理が実行される力 MHP 仕様では、アプリは終了処理を記述可能であり、アプリ実行装置はアプリを終了する 際にはそのアプリの終了処理を実行する。力かる終了処理において、未キャッシュの クラスファイルが必要になる場合がある。例えば、終了処理が独立したクラスファイル で記述されている場合等である。このとき、終了処理に関するクラスファイルがキヤッ シュされて ヽな 、ので、終了処理にぉ 、てエラーが発生する。
[0007] つまり、終了処理において、動作中の一部のアプリが mainルーチンである場合は、 プログラムが使用しているローカル変数等をスタックに退避させ、動作再開に備える ための処理である suspend処理を行うが、クラスファイルが未キャッシュであると、正常 に suspend処理が行われな!/、。 mainルーチンが何らかの設定をユーザから受け付け ていた場合、 suspend処理の異常により、 mainルーチンにおけるユーザ設定が消失す る可能性がある。ユーザ設定が消失すると、サービス切り替え前の元のサービスが再 び選択された場合に、ユーザは改めて設定を入力しなければならない。また、端末 装置がフリーズ、またはダウンすることも考えられる。ここで、 suspend処理を実行する にあたり、 mainルーチン力 クラスファイルが未キャッシュであるか否かのチェックを行 えば、かかるユーザ設定の消失、及びアプリがフリーズ、またはダウンすることは避け られる。し力し、この場合、 mainルーチンのコードが増大し、 mainルーチンのロードに 多大な時間が力かるという別の問題が生じる。 [0008] 本発明は上記問題に鑑みてなされたものであって、アプリの終了処理の安定をロー ド時間の長期化を避けつつ実現することができるアプリ実行装置を提供することを目 的とする。
課題を解決するための手段
[0009] 上記課題を解決するために、本発明は、選択したサービス内でのみ実行可能なァ プリケーシヨンプログラムを実行するアプリケーションプログラム実行装置であって、キ ャッシュ手段と、ユーザ力 サービスの選択を受け付ける受付手段と、放送装置から 送信されるオブジェクトカルーセルから、ユーザが選択したサービスに係るアプリケー シヨンプログラムを構成するファイルを受信し、前記キャッシュ手段に書き込む受信手 段と、前記キャッシュ手段が前記サービスに係るアプリケーションプログラムを構成す るファイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして!/ヽ る力否かを判断する判断手段と、前記ファイルをキャッシュしていると判断すれば、前 記キャッシュ手段にキャッシュされたアプリケーションプログラムを実行させる実行制 御手段と、を含むアプリケーションプログラム実行装置である。
発明の効果
[0010] 本発明は、上記の構成を備えることにより、前記キャッシュ手段が前記サービスにお けるアプリケーションプログラムを構成するファイルのうち、サスペンド処理を実行する ために必要なファイルをキャッシュするまでは、アプリケーションプログラムは実行され ない。よって、アプリケーションプログラムの終了処理において、正常に suspend処理 を実行することができる。
[0011] ここで、前記実行制御手段は、アプリケーションプログラムの実行時において、ファ ィル読み込みが失敗しないことを保障する必要がある力否かを示すキャッシュ保障属 性情報を取得する取得手段を含み、前記実行制御手段は、前記取得手段により取 得されたキャッシュ保障属性情報が保障する必要がある旨を示す場合に限り実行制 御する、としても良い。
[0012] これにより、前記実行制御手段は、キャッシュ保障属性情報がアプリケーションプロ グラムの実行時にぉ 、て、ファイル読み込みが失敗しな 、ことを保障する必要の有る 旨を示す場合に限り実行制御する。つまり、キャッシュ保障属性情報によりアプリケー シヨンプログラムの特質に適した動作を選択することができる。
ここで、前記実行制御手段は、複数のアプリケーションプログラムが存在する場合 に、どのアプリケーションプログラムにリソースを優先的に配分するかを示すプライオリ ティ属性情報を取得する取得手段を含み、前記実行制御手段は、前記取得手段に より取得されたプライオリティ属性情報が既定の閾値以上の場合に限り実行制御する 、としても良い。
[0013] これにより、前記実行制御手段は、プライオリティ属性情報が既定の閾値以上の場 合に限り実行制御する。つまり、プライオリティ属性情報によりアプリケーションプログ ラムの特質に適した動作を選択することができる。
ここで、前記実行制御手段は、アプリケーションプログラムが前記サービスでのみ実 行可能か否かを示すサービスバウンド属性情報を取得する取得手段を含み、前記実 行制御手段は、前記取得手段により取得されたサービスバウンド属性情報が前記サ 一ビスでのみ実行可能である旨を示す情報である場合に限り実行制御する、としても 良い。
[0014] これにより、前記実行制御手段は、サービスバウンド属性情報が、前記アプリケーシ ヨンプログラムが前記サービスでのみ実行可能である旨を示す情報である場合に限り 実行制御する。つまり、サービスバウンド属性情報によりアプリケーションプログラムの 特質に適した動作を選択することができる。
ここで、前記判断手段による判断は、アプリケーションプログラムを構成する全フアイ ルに関する情報に基づ 、て行われる、としても良 、。
[0015] これにより、サスペンド処理を実行するために必要なファイルがキャッシュされている か否かを判断することができる。
ここで、前記実行制御手段は、前記情報において、前記アプリケーションプログラム を構成するファイルを含んでいるディレクトリである力否かを示すディレクトリ属性を抽 出する抽出手段を含み、前記サービスに係るアプリケーションプログラムを構成する ファイルのうち、サスペンド処理を実行するために必要なファイルとは、前記抽出手段 により抽出されたディレクトリ属性力 当該アプリケーションプログラムのファイルを含 んで 、る旨を示すディレクトリ内のファイルであるとしても良 、。 [0016] これにより、ディレクトリ属性に従い、当該アプリケーションプログラムを構成するファ ィルを含んで 、る旨を示すディレクトリ内のサスペンド処理を実行するために必要な ファイルがキャッシュされれば、前記実行制御手段は当該アプリケーションプログラム を実行させる。よって、例えば複数のアプリが存在する場合であっても、ディレクトリ属 性に示されるディレクトリ内のサスペンド処理を実行するために必要なファイルをキヤ ッシュすれば良いので、より早くアプリケーションプログラムを起動することができる。
[0017] ここで、選択したサービス内でのみ実行可能なアプリケーションプログラムを実行す るアプリケーションプログラム実行装置であって、キャッシュ手段と、ユーザからサービ スの選択を受け付ける受付手段と、放送装置力 送信されるオブジェクトカルーセル から、ユーザが選択したサービスに係るアプリケーションプログラムを構成するフアイ ルを受信し、前記キャッシュ手段に書き込む受信手段と、前記キャッシュ手段が前記 サービスに係るアプリケーションプログラムを構成するファイルのうち、サスペンド処理 を実行するために必要なファイルをキャッシュして 、るか否かをチェックするインター フェイス手段とを含み、前記アプリケーションプログラムは、メインルーチンが起動され ると前記インターフェイス手段を通じて、前記キャッシュ手段がアプリケーションプログ ラムを構成するファイルのうち、サスペンド処理を実行するために必要なファイルをキ ャッシュして!/、るか否かをチェックし、キャッシュされて!/、なければキャッシュされるま で実行を待機し、キャッシュされると実行を継続するアプリケーションプログラム実行 装置としても良い。
[0018] これにより、アプリケーションプログラムは前記インターフェイス手段を通じて、前記 キャッシュ手段がサスペンド処理を実行するために必要なファイルをキャッシュして ヽ る力否かを判断することができる。キャッシュするまでは実行を待機することにより、終 了処理にぉ 、て、正常に suspend処理を実行することを保障することができる。
ここで、所定のサービス内でのみ実行可能なアプリケーションプログラムを実行する アプリケーションプログラム実行装置であって、キャッシュ手段と、前記所定のサービ スに係るアプリケーションプログラムを構成するファイルを記録媒体力 読み出し、前 記キャッシュ手段に書き込む書き込み手段と、前記キャッシュ手段が前記所定のサー ビスに係るアプリケーションプログラムを構成するファイルのうち、サスペンド処理を実 行するために必要なファイルをキャッシュして 、る力否かを判断する判断手段と、前 記ファイルをキャッシュして 、ると判断すれば、前記キャッシュ手段にキャッシュされた アプリケーションプログラムを実行させる実行制御手段と、を含むアプリケーションプ ログラム実行装置としても良い。
[0019] これにより、アプリケーションプログラムを構成するファイルを記録媒体力 読み出し た場合であっても、サスペンド処理を実行するために必要なファイルをキャッシュする までは、アプリケーションプログラムは実行されない。よって、アプリケーションプロダラ ムの終了処理にぉ 、て、正常に suspend処理を実行することができる。
図面の簡単な説明
[0020] [図 1]システム図である。
[図 2]アプリ実行装置の機能ブロック図である。
[図 3]AITから抽出されるアプリに関する情報を示す図である。
[図 4]アプリ実行装置のレイヤ構成図である。
[図 5]オブジェクトカルーセルの説明図である。
[図 6]TSとその構成要素である TSパケットのシンタックスの一例を示す模式図である。
[図 7]2つの放送番組を含む TSの一例を示す模式図である。
[図 8]アプリ実行装置の処理手順を示すフローチャートである。
[図 9]アプリ管理部によるアプリ実行制御処理を示すフローチャートである。
[図 10]オブジェクトカルーセルで配送されるファイルシステムの具体例を示す図であ る。
[図 11]第二実施形態におけるアプリ実行装置の機能ブロック図である。
[図 12]DVB-MHP規格に、キャッシュ保障属性 CGを追加した場合の具体例を示す図 である。
[図 13]第二実施形態におけるアプリ実行装置の処理手順を示すフローチャートであ る。
[図 14]アプリ管理部によるアプリ実行処理を示すフローチャートである。
[図 15]第三実施形態におけるアプリ実行装置の機能ブロック図である。
[図 16]DVB-MHP規格に、マルチディレクトリ属性を適用した場合の具体例を示す図 である。
圆 17]第三実施形態におけるアプリ実行装置の処理手順を示すフローチャートであ る。
[図 18]アプリ管理部によるアプリ実行制御処理 2を示すフローチャートである。
圆 19]第四実施形態におけるアプリ実行装置の機能ブロック図である。
[図 20]DVB-MHP規格に、キャッシュ保障属性とマルチカルーセル属性をカ卩えた場合 の具体例を示す図である。
[図 21]DVB- MHP規格における AIT内に定義されるオリジナルの application_descripto rの例を示す図である。
圆 22]第四実施形態におけるアプリ実行装置の処理手順を示すフローチャートであ る。
[図 23]アプリ管理部によるアプリ実行制御処理 3を示すフローチャートである。
[図 24]ファイルシステムが 2つのオブジェクトカルーセルに分割して配信される場合の 具体例を示す図である。
[図 25]アプリの mainルーチンが実行制御を行う場合のフローチャートである。
符号の説明
10 アプリ実行装置
10a アプリ実行装置
10b アプリ実行装置
10c アプリ実行装置
20 放送装置
101 サービス受付部
102 受信部
103 分離部
104 アプリ管理部
104a アプリ管理部
104b アプリ管理部
104c アプリ管理部 105 アプリ制御部
105a アプリ制御部
105b アプリ制御部
105c アプリ制御部
106 キャッシュ完了監視部
106b ディレクトリ別キャッシュ完了監視部
106c キャッシュ完了監視部
107 カルーセル記憶部
107c カルーセル記憶部
108 アプリ実行部
109 デコード部
110 出力部
401 Java (登録商標)プラットフォーム
402 Java (登録商標) I/O
403 DSM-CC
404 デコーダ
405 アプリケーションマネージャ
406 Java (登録商標)仮想マシン
407 クラスローダ
408 ヒープ領域
409 スレッド杳 ^
410 カルーセル受信部
1101 キャッシュ保障属性抽出部
1501 マルチディレクトリ属性抽出部
1901 マルチカルーセル属性抽出部
1902 カルーセル記憶部
1903 キャッシュ完了監視部
発明を実施するための最良の形態 [0022] 以下、本発明の実施の形態について、図面を参照しながら説明する。
(第一実施形態)
本発明に係るアプリ実行装置の実施形態について説明する。先ず始めに、本発明 に係るアプリ実行装置の実施行為のうち、使用行為についての形態を説明する。本 実施形態に係るアプリ実行装置は、図 1に示すようなデジタル放送システムでユーザ の使用に供される。図 1に示すデジタル放送システムは、 DVB-MHPに代表されるデ ジタル放送規格に準拠した従来のデジタル放送システムをベースにしており、アプリ 実行装置 10と、放送装置 20とから構成される。
[0023] 放送装置 20は、 MPEG2(Motion Picture Experts Group phase2)形式の TSを、放送 チャネルを使って放送する。 TSには放送番組の構成要素が多重化されている。放送 番組は少なくとも、 1つ以上のアプリを構成要素として含んでおり、一般的には、映像 データ及び音声データも構成要素として含む。アプリは複数のクラスファイルと、複数 のデータファイルと力も構成される。アプリの伝送方式には、オブジェクトカルーセル が用いられる。
[0024] アプリ実行装置 10は、放送装置 20より受信した TSから分離した各アプリを実行する 。一般的には、さらに映像データ及び音声データを再生し、出力する。
以上がアプリ実行装置 10の使用行為についての形態である。続いて、アプリ実行 装置 10の生産行為の形態について説明する。
<構成>
図 2は、アプリ実行装置 10の構成を示す機能ブロック図である。図 2に示すようにァ プリ実行装置 10は、サービス受付部 101と、受信部 102と、分離部 103と、アプリ管 理部 104と、カルーセル記憶部 107と、アプリ実行部 108と、デコード部 109と、出力 部 110とを含んで構成される。
[0025] サービス受付部 101は、サービス選択を管理する。具体的には、リモコン信号から のユーザの指示やアプリからの指示によるサービスの変更要求を受け取り、受信部 1
02に通知する。
受信部 102は、選択されたサービスが配信されている TSの搬送波の周波数におけ る信号をアンテナやケーブル力 受信し、復調する。そして分離部 103に復調した TS を送出する。ここで、信号をデジタル回線力 取得するアプリ実行装置である場合に は復調機能は省略される。
[0026] 分離部 103は、受信部 102より送出された TSを受け取ると、 TSに多重化されている ビデオ'オーディオデータと、オブジェクトカルーセルと、アプリの制御に関する情報 である AIT(Application Information Table)とに分離する。そして、ビデオ'オーディオ データをデコード部 109に、オブジェクトカルーセルをカルーセル記憶部 107に、ァ プリの制御に関する情報である AITをアプリ制御部 105にそれぞれ提供する。
[0027] アプリ管理部 104は、アプリのライフサイクルの管理を行う。アプリ管理部 104は、ァ プリ制御部 105と、キャッシュ完了監視部 106とを含んで構成される。
アプリ制御部 105は、 AITの中からサービス受付部 101より通知されたサービスに おいて起動すべきアプリに関する情報を抽出する。また、キャッシュ完了監視部 106 力ものキャッシュ完了通知を待ってから、アプリ実行部 108にアプリの実行開始指示 を行う。また、キャッシュ完了監視部 106に抽出したアプリに関する情報を渡す。ここ で具体的には、 AIT力 抽出されるアプリに関する情報は、図 3に示すように base_dire ctory301と、 initial—class302と、 classpath— extension303と力ら構成される。
[0028] base_directoryは、アプリの mainルーチンが格納されているディレクトリである。 base_ directoryは、自動的にクラスパス上の最初のディレクトリを形成するものとみなされる。 initiaLclassは、 base_directoryと組になる情報であり、最初に起動すべきクラスフアイ ルの名称を示す。
[0029] classpath_extensionは、 mainルーチン以外のクラスファイルを示す。
キャッシュ完了監視部 106は、アプリの構成ファイルが全てキャッシュされているか 否かを判断し、全てキャッシュされていればアプリ制御部 105にキャッシュの完了を 通知する。
カルーセル記憶部 107は、選択されたサービスに対応するアプリに係るオブジェク トカル一セルをファイルシステムとして参照可能な状態でキャッシュする。そして、ァプ リ実行部 108からのファイルの読み込み要求に応じてファイルを提供する。ここでキヤ ッシュするとは、具体的には、メモリなどの記憶装置に記憶することをいう。
[0030] アプリ実行部 108は、アプリ制御部 105から指示されたアプリの構成ファイルをカル 一セル記憶部 107から読み込み、実行開始指示があると、それらを解釈し、実行する 。アプリ実行部 108は、具体的には DVB-MHPにおける Java (登録商標)仮想マシンで ある。
デコード部 109は、分離部 103からビデオ ·オーディオデータを受け取り、復号する
[0031] 出力部 110は、復号されたビデオ'オーディオデータ及びアプリ実行部 108より送 出されるグラフィックスを出力する。
続いて図 4は、アプリ実行装置 10の機能ブロック図を実際に実装する際のハードウ エアのレイヤ構成に置き換えて、詳細に描いた図の一例である。本図に示すようにァ プリ実行装置 10は、 Java (登録商標)プラットフォーム 401と、 Java (登録商標) 1/040 2と、 DSM—CC (Digital Storage Media Command and Control) 403と、デコーダ 404と を含んで構成される。
[0032] Java (登録商標)プラットフォーム 401は、 Java (登録商標)仮想マシン 406と、アプリ ケーシヨンマネージャ 405とからなる。 Java (登録商標)仮想マシン 406は、 Java (登録 商標)言語で記述された Java (登録商標)オブジェクトを、アプリ実行装置 10における CPUのネイティブコードに変換して、 CPUに実行させる。より詳細には、アプリケーショ ンを構成する xletプログラムをヒープ領域にロードして、 xletプログラムを解読し、解読 結果に従って、制御を行う。
[0033] Java (登録商標)仮想マシン 406は、クラスローダ 407と、ヒープ領域 408と、スレッド 部 409とを含んで構成される。
クラスローダ 407は、クラスファイルを DSM- CC403からヒープ領域 408に読み出す 。クラスローダ 407によるクラスファイルの読み出しは、ファイルパスを用いることにより なされる。ファイルパス力 ¾SM- CC403を示しているなら、クラスローダ 407は、クラス ファイルを DSM- CC403からヒープ領域 408に読み出す。
[0034] ヒープ領域 408は、様々なクラスファイルのインスタンスが格納される。このインスタ ンスが、アプリを構成する xletプログラムである。かかる xletプログラムがヒープ領域 40 8に配置されることにより、アプリは実行可能な状態になる。
スレッド部 409は、ヒープ領域 408に格納されたインスタンスを実行する論理的な実 行主体である。
[0035] アプリケーションマネージャ 405は、クラスローダ 407にクラスのロードを指示する。
また、 Java (登録商標) 1/0402がアプリを構成する全てのファイルにおいて successを 返したか否かを判断する。全てのファイルについて successの場合にスレッド部 409に 実行開始指示を行う。ここで、全てのファイルについて successの場合とは、一度 false になった後に再度ロードを指示した結果、 successになったファイルも含む。また、全 てのファイルにおいて successであるか否かは、 AIT力も抽出されるアプリに関する情 報に基づいて判断される。
[0036] Java (登録商標) 1/0402は、クラスローダ 407からのクラスファイルのロードに対し、 successまたは falseをアプリケーションマネージャ 405に返す。具体的には、クラスロー ダ 407よりファイルパスを指定したロード指示があると、 DSM- CC403に指定されたク ラスファイルがキャッシュされて 、るか否かを判断する。指定されたファイルがキヤッシ ュされていると、ヒープ領域 408にクラスファイルをロードする。そして、 successをァプ リケーシヨンマネージャ 405に通知する。クラスファイルが未キャッシュの場合は、 false をアプリケーションマネージャ 405に通知する。
[0037] DSM- CC403は、クラスファイルのキャッシュを管理する。
カルーセル受信部 410は、オブジェクトカルーセルを受信し、キャッシュする。
デコーダ 404は、ビデオ ·オーディオデータをデコードする。
くデータ >
続いて、図 5 (a)及び図 5 (b)はオブジェクトカルーセルによるアプリの構成ファイル の送信方法を示す図である。図 5 (a)は、放送装置 20により送信されるファイルシス テムを示す。図 5 (b)は、放送装置 20からアプリ実行装置 10にファイルシステムの一 部が送信されている様子を示す。図 5 (b)に示すように、ファイルシステムは一度に送 信されるわけではなぐ階層毎に分けて、定期的に繰り返し送信される。つまり、アブ リ実行装置 10は、任意の時刻から 1周期分のファイルを獲得し、アプリ実行装置 10内 のメモリに展開することで、ファイルを復元する。
[0038] 図 6は TSとその構成要素である TSパケットのシンタックスの一例を示す模式図であ る。 TSは多数の TSパケットで構成され、それぞれの TSパケットは 188バイトで構成され る。それぞれの TSパケットは各 TSパケットに対する情報を提供するヘッダと、実際の データが記録されるペイロードとからなる。
ヘッダは、シンクバイトと、ペイロード単位開始表示子と、伝送優先順位と、パケット 識別子 (PID)と、スクランプリング制御と、適応フィールド制御と、連続性カウンタと、 適応フィールドとから構成されており、それぞれ所定のビットが割り当てられており、 T Sパケットに対する情報を提供する。
[0039] ペイロードは、パケットィヒされたオーディオ 'ビデオデータ及びサービスデータを含 む。それぞれのパケットィ匕されたオーディオ 'ビデオ及びサービスデータは、パケット 識別子で識別される。オーディオ 'ビデオ及びサービスデータは、パケット単位に TS にそれぞれ多重化され、放送装置 20よりアプリ実行装置 10に伝送される。
続!、て、図 7はサービス Aとサービス Bの 2つの放送番組を含む TSの一例を示す模 式図である。ここで、それぞれの放送番組は 1つのオーディオデータ及びビデオデー タと、アプリの制御に関する情報である AITと、アプリの構成ファイルを含むオブジェク トカル一セルが多重化されて伝送されるとする。 TSに含まれる放送番組は、 PMT(Pro gram Map Table)と呼ばれるテーブルを配送する TSパケットで表現される。その TSパ ケットの PIDは、 PID力 である PAT(Program Association Table)と呼ばれるテーブルを 配送する TSパケットに示されている。ここで PMTとは、あるサービスに含まれる映像や 音声、 AITなどの PIDを格納したものである。この PIDにより TSパケットの種類が識別さ れる。 PMTを参照することにより、ストリームの中から目的のプログラムを構成する TS パケットだけを取り出すことができる。それら PIDのついたパケットを集めることによって 元の動画を再生することが可能となる。
[0040] 図 7の例ではサービス Aの PIDは 100、サービス Bの PIDは 200である。さらに、 PMTに はオーディオデータと、ビデオデータと、 AITと、アプリの構成ファイルを含むファイル システムを配送するオブジェクトカルーセルのそれぞれの PIDが含まれる。図 7の例で はサービス Aのオーディオデータは 101、ビデオデータは 102、 AITは 103、オブジェク トカル一セルは 104の PIDを持つ TSパケットでそれぞれ配送される。また、オブジェクト カルーセルのコンポーネントタグは 1104である。また、 AITにはアプリの起動や停止な どの制御指示や、そのアプリを配送するオブジェクトカルーセルのコンポーネントタグ (オブジェクトカルーセルの PIDを導くためのリンク情報)や、そのアプリを起動する際 に最初に使用するファイルのパスなどアプリの制御に必要な情報が含まれており、ァ プリ実行装置 10は基本的に再生中の番組情報に含まれる AITにしたがって、アプリ の制御を行う。
<動作 >
次に、アプリ実行装置 10の処理動作について説明する。図 8は、アプリ実行装置 1 0の処理手順を示すフローチャートである。まず、サービス受付部 101は、ユーザによ るリモコン操作や、アプリからの要求、または電源オン時の初期設定により指定された サービスに対応する数値を受け付け、受信部 102に通知する(S801)。受信部 102 は、受け付けた数値に対応するサービスの搬送波にチューニングし、 TSを受信する。 そして、受信した TSをデジタルデータに復調する(S802)。分離部 103は、 TSに多重 化されている PMT、 PATを取得し、 PMTに格納された PIDからビデオ ·オーディオデー タ、オブジェクトカルーセル、 AITを特定し、分離する(S803)。デコード部 109は、分 離部 103により分離されたビデオ'オーディオデータをデコードし、出力部 110は、デ コード部 109によりデコードされたデータを出力する(S804)。カルーセル記憶部 10 7は、選択されたサービスにおいて、起動対象となるアプリに係るオブジェクトカルー セルをキャッシュする(S805)。アプリ管理部 104は、アプリ実行制御処理を行う(S8 06)。
続いて図 9は、アプリ管理部 104によるアプリ実行制御処理に関するフローチャート を示す図である。アプリ管理部 104は、 AITから抽出されるアプリに関する情報である i nitial_class302に対応するクラスファイルのロードをアプリ実行部 108に指示する(S9
01)。カルーセル記憶部 107にロード対象のファイルがある力否かが判断される(S9
02)。ある場合は、アプリ実行部 108に initial_class302に対応するクラスファイルが読 み出され、アプリ管理部 104は、 Java (登録商標) I/Oより successを受け取る(S903)
。ない場合は、アプリ管理部 104は Java (登録商標) I/Oより falseを受け取る(S904)。 アプリ管理部 104は、他にアプリに関するクラスファイルが存在するカゝ否かを判断す る(S905)。具体的には、 AIT力 抽出されるアプリに関する情報である base_director y301及び classpath_extension303に基づ!/、て判断する。存在する場合は、 base.dire ctory301または classpath_extension303に示されるアプリを構成するファイルのロード をアプリ実行部 108に指示する(S906)。ステップ S902に移行する。存在しない場 合は、アプリ管理部 104は、アプリに関する全てのクラスファイルについて successを 受信したカゝ否かを判断する(S907)。判断結果が否定の場合は、 falseになったクラス ファイルのロードを再度指示する(S908)。判断結果が肯定の場合は、アプリ管理部 104はアプリ実行部 108に実行開始指示を行う。アプリ管理部 104によりアプリの実 行開始を指示されたアプリ実行部 108は、ロードされたクラスファイルを解釈し、実行 する(S909)。
[0042] 続いて、図 10はオブジェクトカルーセルで配送されるファイルシステム FS1の具体 例である。ファイルシステム FS1には 2つのアプリが含まれる。 1つはアプリ 1であり、も う一方はアプリ 2である。アプリ 1は、ファイル F1とファイル FCとで構成され、一方のァ プリ 2は、ファイル F2とファイル FCとで構成される。ここで、起動対象のアプリがアプリ 1であった場合、アプリ制御部 105は、キャッシュ完了監視部 106からのキャッシュ完 了通知を待ってアプリ実行部 108に対し実行開始指示を行う。したがって、力ルーセ ル記憶部 107は、ファイルシステム FS1に示す全てのファイルをキャッシュして!/、るの で、ファイルのキャッシュ処理を行うことなくアプリ実行部 108からのファイルの読み込 み要求に応答可能となる。よって、受信部 102からデータを受け取れない状態に陥 つたとしてもファイルの読み込みを保障することが可能である。
[0043] 以上のように本実施の形態によれば、アプリ制御部 105は、キャッシュ完了監視部 1 06からのキャッシュ完了通知を受け取った後に、アプリ実行部 108に実行開始指示 を行う。よって、アプリを構成するファイルが未キャッシュの状態でアプリが動作するこ とはないので、アプリの終了処理において、動作の安定が保障される。
また、アプリの構成ファイルの一部がメモリ上にキャッシュされた状態でアプリが動作 し、動作中に当該アプリ、またはその他のアプリが Tuning APIを実行する場合がある 。そのような場合であっても、上記に示したように、キャッシュ完了監視部 106からの キャッシュ完了通知を待って力 アプリを実行することにより、アプリの終了処理を保 障することができる。
[0044] また、アプリの構成ファイルの一部がメモリ上にキャッシュされた状態で動作し、動 作中に例えば、ケーブルを抜く行為等により受信状況が悪化し、 TSが受信不可能に なる場合がある。そのような場合であっても、上記に示したように、キャッシュ完了監視 部 106からのキャッシュ完了通知を待って力もアプリを実行することにより、アプリの終 了処理を保障することができる。
(第二実施形態)
第一実施形態では、ファイルシステム上のアプリの構成要素である全てのファイル をアプリ実行装置 10にキャッシュした後に、アプリを起動することにより、その後 TSの 変更があつたとしても、アプリの実行時においてファイル読み込みが失敗しないことを 保障した。し力しながら、アプリによってはファイル読み込みの保障は不要であり、起 動開始までの時間を速くした方が好適であるものも存在する。そこで本実施形態は、 アプリの特徴に合わせてアプリ毎に処理を変更する実施の形態である。
[0045] 本実施形態では、図 1に示すデジタル放送システムにお 、て、放送番組は、第一 実施形態で示した構成要素に加え、アプリの実行時にぉ ヽてファイル読み込みが失 敗しな 、ことを保障する必要がある力否かを示す属性 (以下、「キャッシュ保障属性」 という)を構成要素として含む。
図 11に本実施形態におけるアプリ実行装置 10aの機能ブロック図を示す。図 11に 示すように、アプリ実行装置 10aは、第一実施形態のアプリ実行装置 10の構成に加 えて、キャッシュ保障属性抽出部 1101を含む。
[0046] キャッシュ保障属性抽出部 1101は、 TS中のアプリの制御に関する情報である AIT から、キャッシュ保障属性を抽出し、アプリ制御部 105aに提供する。
また、本実施形態におけるアプリ制御部 105aは、サービス受付部 101によって指 定されたサービスの AITから起動すべきアプリの情報を抽出する。また、キャッシュ完 了監視部 106に抽出したアプリに関する情報を渡す。また、キャッシュ保障属性抽出 部 1101よりキャッシュ保障属性を受け取ると、アプリのキャッシュ保障属性が、フアイ ル読み込みが失敗しな ヽことを保障する必要の有る旨を示す属性カゝ否かを判断する 。判断結果が肯定である場合には、キャッシュ完了監視部からのキャッシュ完了通知 を待ってから、アプリ認証とアプリの実行開始指示を行う。判断結果が否定である場 合には、キャッシュ完了監視部力ものキャッシュ完了通知を待たずにアプリ実行部 10 8にアプリの実行開始指示を行う。
[0047] 図 12は、 DVB-MHP規格に、キャッシュ保障属性 CGを追カ卩した場合の具体例を示 す図である。図 12において、 DVB- MHPにおける AITでは、キャッシュ保障属性 CG は、 AIT内に定 れる application— descriptorの cache— guarantee— flagフィ ~~ノレトとして 追加される。
<動作 >
続いて、本実施形態におけるアプリ実行装置 10aの動作について説明する。
[0048] 図 13は、アプリ実行装置 10aの処理手順を示すフローチャートである。まず、サー ビス受付部 101は、ユーザによるリモコン操作や、アプリからの要求、または電源オン 時の初期設定により指定されたサービスに対応する数値を受け付け、受信部 102に 通知する(S1301)。受信部 102は、受け付けた数値に対応するサービスの搬送波 にチューニングし、 TSを受信する。そして、受信した TSをデジタルデータに復調する( S1302) o分離部 103は、 TSに多重化されている PMT、 PATを取得し、 PMTに格納さ れた PIDからビデオ.オーディオ、オブジェクトカルーセル、 AITを特定し、分離する(S 303)。デコード部 109は、ビデオ'オーディオデータをデコードし、出力部 110は、デ コードされたデータを出力する(S1304)。カルーセル記憶部 107は、選択されたサ 一ビスにお 、て、起動対象となるアプリに係るオブジェクトカルーセルをキャッシュす る(S1305)。アプリ管理部 104aは、キャッシュ保障属性抽出部 1101よりキャッシュ 保障属性を受け取る。そして、キャッシュ保障属性が保障する必要がある旨を示す属 性であるか否かを判断する(S 1306)。判断が肯定の場合は、アプリ管理部 104aは 、図 9に示したアプリ実行制御処理を行う(S 1307)。判断が否定の場合は、アプリ管 理部 104aは、アプリ実行処理を行う(S 1308)。
[0049] 続いて図 14は、アプリ管理部 104aによるアプリ実行処理に関するフローチャートを 示す図である。アプリ管理部 104aは、 AITから抽出されるアプリに関する情報である i nitial_class302に対応するクラスファイルのロードをアプリ実行部 108に指示する(SI 401)。カルーセル記憶部 107にロード対象のファイルがある力否かが判断される(S 1402)。ある場合は、アプリ実行部 108に initial_class302に対応するクラスファイル が読み出され、アプリ管理部 104aは、 Java (登録商標) I/Oより successを受け取る(S 1404)。そして、アプリ管理部 104aはアプリ実行部 108に実行開始指示を行う。アブ リ管理部 104aによりアプリの実行開始を指示されたアプリ実行部 108は、ロードされ たクラスファイルを解釈し、実行する(S 1405)。ない場合は、アプリ管理部 104aは Ja va (登録商標) I/Oより falseを受け取る(S 1403)。 S1401に移行する。アプリ管理部 1 04aは、他にアプリに関するクラスファイルが存在するか否かを判断する(S1406)。 具体的には、 AIT力も抽出されるアプリに関する情報である base_directory301及び cl asspath_extension303に基づいて判断する。存在しない場合は、処理を終了する。 存在する場合は、他のファイルの読み込みが必要カゝ否かを判断する(S 1407)。他の ファイルの読み込みが必要であれば、アプリ管理部 104aは必要なファイルのロード を指示する(S1408)。カルーセル記憶部 107にロード対象のファイルがあるか否か が判断される(S 1409)。ある場合は、アプリ実行部 108にクラスファイルが読み出さ れ、アプリ管理部 104aは、 Java (登録商標) I/Oより successを受け取る(S1411)。そ して、アプリ実行部 108は読み出したクラスファイルを実行する(S 1405)。ない場合 は、アプリ管理部 104aは Java (登録商標) I/Oより falseを受け取る(S 1410)。 S 1408 に移行する。以上のように、アプリ実行処理では、キャッシュ完了通知を待たずに、ァ プリ管理部 104aはアプリ実行部 108にアプリの実行開始指示を行う。そして、アプリ 管理部 104aによりアプリの実行開始を指示されたアプリ実行部 108は、最初に実行 対象となるクラスファイルの読み込み処理を行 ヽ、そのクラスファイルを解釈 ·実行す る。さらに、解釈'実行の過程で必要になったその他のアプリの構成ファイルについて 、読み込み処理をその都度行い、読み込んだクラスファイルを解釈 '実行する。
続いて図 10を用いて説明する。図 10におけるオブジェクトカルーセルで配送され るファイルシステム FS 1の具体例において、起動対象のアプリがアプリ 1であり、かつ 、キャッシュ保障属性が保障する必要がある旨を示す属性であった場合は、第一実 施形態と同様の処理を行う。つまり、アプリ制御部 105aは、キャッシュ完了監視部 10 6からのキャッシュ完了通知を待ってアプリ実行部 108に実行開始指示を送る。した がって、カルーセル記憶部 107は、ファイルのキャッシュ処理を行うことなくファイルの 読み込み要求に応答可能となるため、受信部 102からデータを受け取れない状態に 陥ったとしてもファイルの読み込みを保障することが可能である。 [0051] 一方、起動対象のアプリがアプリ 1であり、かつ、キャッシュ保障属性が保障する必 要がある旨を示す属性でない場合は、アプリ制御部 105aはキャッシュ完了監視部 1 06からのキャッシュ完了通知を待たずに、アプリ実行部 108にアプリの起動指示を行 う。そのため、カルーセル記憶部 107は、アプリ実行部 108からのファイルの読み込 み要求に対して、できるだけレスポンスよく応答し、ファイルの読み込み要求がない空 き時間を利用して、キャッシュが完了して ヽな 、ファイルのキャッシュを行うと!、う処理 をする。したがって、全てのファイルがキャッシュされるのを待つ場合よりアプリの起動 が早い。
[0052] 以上のように本実施の形態によれば、キャッシュ保障属性によりファイルの読み込 みを保障する必要があるアプリと、保障は不要で起動速度やメモリ効率を優先したい アプリとのそれぞれに適した起動方法を選択することができる。
なお、本実施形態では、キャッシュ保障属性を新たに AITに含まれる属性として追 加し、用いたが、これに限らない。例えば、図 12に示される AITの既存属性であるプ ライオリティ属性 APを用いても良いし、サービスバウンド属性 SBを用いても良い。ブラ ィオリティ属性 APとは、複数のアプリが存在する場合に、どのアプリにリソースを優先 的に配分するかを示す属性である。サービスバウンド属性 SBは、アプリがサービスバ ゥンド力否かを示す属性である。アプリがサービスバウンドの場合は、他のサービスに 切り替わるとアプリは終了される。例えば、プライオリティ属性を用いる場合は、アプリ 制御部 105aは、プライオリティ情報が既定の閾値以上力否かを判断する。そして、 既定の閾値以上の場合には、アプリ制御部 105aはキャッシュ完了監視部 106からの キャッシュ完了通知を待ってから、実行指示を行うとしても良い。
[0053] また、サービスバウンド属性を用いる場合には、アプリ制御部 105aは、サービスバ ゥンド属性がサービスバウンドか否かを判断する。そして、サービスバウンドの場合に は、アプリ制御部 105aはキャッシュ完了監視部 106からのキャッシュ完了通知を待つ てから、実行指示を行うとしても良い。これにより、アプリの構成ファイルの一部がメモ リ上にキャッシュされた状態でサービスバウンドアプリが動作している最中に、チュー ユングを伴い、かつ、そのアプリの起動が許可されていないサービスへの切り替えが あった場合であっても、その後アプリを終了する際には、正常にアプリの終了処理を 行うことができる。
(第三実施形態)
第一実施形態では、ファイルシステムに複数のアプリを構成するファイルが存在す る場合に、それらの全てのファイルがキャッシュされてから開始指示をしていた。しか し、例えばファイルシステム上に存在する複数のアプリのうち、一つのアプリだけが起 動対象である場合が考えられる。その場合においても、複数のアプリの全ての構成フ アイルについてキャッシュするのを待っていたのでは効率が悪い。そこで、本実施形 態のアプリ実行装置は、一のアプリを構成するファイルを他のファイルと区別できるよ うに識別子を設け、複数のディレクトリに分割された状態で配信されるファイルにお ヽ て、一のアプリの実行に必要なファイルがキャッシュされれば、実行開始指示を行う。
[0054] 本実施形態では、図 1に示すデジタル放送システムにお ヽて、アプリを構成するフ アイルは、 1つ以上のディレクトリに分割した状態で配信される。放送番組は、第二実 施形態で示した構成要素に加え、一のアプリを構成するファイルを含むディレクトリを 示す属性 (以下、「マルチディレクトリ属性」と!、う)を構成要素として含む。
図 15において、アプリ実行装置 10bは、第二実施形態のアプリ実行装置 10aの構 成に加えて、マルチディレクトリ属性抽出部 1501を含み、かつキャッシュ完了監視部 106の代わりにディレクトリ別キャッシュ完了監視部 106bを含んで構成される。
[0055] マルチディレクトリ属性抽出部 1501は、 TS中のアプリの制御に関する情報である AI 丁から、マルチディレクトリ属性を抽出し、アプリ制御部 105bに提供する。
ディレクトリ別キャッシュ完了監視部 106bは、マルチディレクトリ属性に示されるディ レクトリにおいて、アプリの構成ファイルが全てキャッシュされた力否かを判断する。マ ルチディレクトリ属性に示される全てのディレクトリ内のファイルがキャッシュされると、 アプリ制御部 105bにキャッシュ完了を通知する。
[0056] また、本実施形態におけるアプリ制御部 105bは、サービス受付部 101によって指 定されたサービスの AITから起動すべきアプリの情報を抽出する。また、キャッシュ保 障属性をキャッシュ保障属性抽出部 1101より受け取ると、アプリのキャッシュ保障属 性が、ファイル読み込みが失敗しな 、ことを保障する必要の有る旨を示す属性か否 かを判断する。判断結果が肯定である場合には、ディレクトリ別キャッシュ完了監視部 106bからのキャッシュ完了通知を待ってから、アプリ認証とアプリの実行開始指示を 行う。判断結果が否定である場合には、ディレクトリ別キャッシュ完了監視部 106bか らのキャッシュ完了通知を待たずに、アプリ実行部 108にアプリの実行開始指示を行 う。また、ディレクトリ別キャッシュ完了監視部 106bに抽出したアプリに関する情報を 渡す。
[0057] 続いて、図 16は、 DVB-MHP規格に、本実施形態特有のマルチディレクトリ属性を 適用した場合の具体例を示す図である。図 16において、 DVB-MHPにおける AITで は、マルチディレクトリ属性 MD1は AIT内に定義される application_descriptorにおけ る既存の base_directoryフィールドの流用であり、マルチディレクトリ属性 MD2は appli cation— descriptorに新規に extension— directoryフィ ~~ノレトとして追ノ J卩 れ 。ここで、マ ルチディレクトリ属性 MD1はアプリの構成ファイルの中でアプリ起動時に最初に使用 するファイルを含むディレクトリ 'ツリーのパスを示す。また、マルチディレクトリ属性 M D2はマルチディレクトリ属性 MD1で示されるディレクトリ 'ツリーに含まれないその他 のアプリの構成ファイルを含むディレクトリ.ツリーのパスを示す。
<動作 >
次に、本実施形態におけるアプリ実行装置 10bの動作を説明する。
[0058] 図 17は、アプリ実行装置 10bの処理手順を示すフローチャートである。まず、サー ビス受付部 101は、ユーザによるリモコン操作や、アプリからの要求、または電源オン 時の初期設定により指定されたサービスに対応する数値を受け付け、受信部 102に 通知する(S1701)。受信部 102は、受け付けた数値に対応するサービスの搬送波 にチューニングし、 TSを受信する。そして、受信した TSをデジタルデータに復調する( S1702) o分離部 103は、 TSに多重化されている PMT、 PATを取得し、 PMTに格納さ れた PIDからビデオ.オーディオ、オブジェクトカルーセル、 AITを特定し、分離する(S 1703)。デコード部 109は、ビデオ'オーディオデータをデコードし、出力部 110は、 デコードされたデータを出力する(S1704)。カルーセル記憶部 107は、選択された サービスにおいて、起動対象となるアプリに係るオブジェクトカルーセルをキャッシュ する(S1705)。アプリ管理部 104bは、キャッシュ保障属性抽出部 1101よりキヤッシ ュ保障属性を、マルチディレクトリ属性抽出部 1501よりマルチディレクトリ属性を受け 取る。そして、キャッシュ保障属性情報が保障する必要がある旨を示す情報であるか 否かを判断する(S 1706)。判断が肯定の場合は、アプリ管理部 104bは、アプリ実行 制御処理 2を行う(S 1707)。判断が否定の場合は、アプリ管理部 104bは、図 14に 示したアプリ実行処理を行う(S 1708)。つまり、ディレクトリ別キャッシュ完了監視部 1 06bからのキャッシュ完了通知を待たずにアプリ実行部 108にアプリの起動指示を行 続いて図 18は、アプリ管理部 104bによるアプリ実行制御処理 2に関するフローチ ヤートを示す図である。アプリ管理部 104bは、マルチディレクトリ属性よりアプリの構 成ファイルの中でアプリ起動時に最初に使用するファイルを含むディレクトリを特定す る(S1801)。特定されたディレクトリ内の initial_classに対応するクラスファイルのロー ドをアプリ実行部 108に指示する(S1802)。カルーセル記憶部 107にロード対象の ファイルがあるか否かが判断される(S1803)。アプリ実行部 108は、 initiaLclassに対 応するクラスファイルをロードする。ある場合は、アプリ実行部 108に initial_class302 に対応するクラスファイルが読み出され、アプリ管理部 104bは、 Java (登録商標) I/O より successを受け取る(S1804)。ない場合は、アプリ管理部 104bは Java (登録商標) I/Oより falseを受け取る(S1805)。アプリ管理部 104bは、マルチディレクトリ属性に より示されるディレクトリ内に、他にアプリに関するクラスファイルが存在するか否かを 判断する(S1806)。具体的には、 AITから抽出されるアプリに関する情報である base _directory301及び classpath_extension303に基づ!/、て判断する。存在する場合は、 base_directory301または classpath_extension303に示されるアプリを構成するフアイ ルのロードをアプリ実行部 108に指示する(S1807)。ステップ SI 803に移行する。 存在しない場合は、アプリ管理部 104bは、マルチディレクトリ属性で示されるディレク トリが他に存在するカゝ否かを判断する(S1808)。存在する場合は、ディレクトリ内のフ アイルのロードをアプリ実行部 108に指示する(S 1809)。ステップ S 1803に移行す る。存在しない場合は、アプリ管理部 104bは、マルチディレクトリ属性で示されるディ レクトリ内における全てのファイルについて successを受信したか否かを判断する(S1 810)。判断結果が否定の場合は、 falseになったクラスファイルのロードを再度指示 する(S1811)。判断結果が肯定の場合は、アプリ管理部 104bはアプリ実行部 108 に実行開始指示を行う。アプリ管理部 104bによりアプリの実行開始を指示されたァ プリ実行部 108は、ロードされたクラスファイルを解釈し、実行する(S1812)。
[0060] 続いて図 10を用いて具体的に説明する。オブジェクトカルーセルで配送されるファ ィルシステム FS1の具体例において、起動対象のアプリがアプリ 1であり、かつ、キヤ ッシュ保障属性が保障する必要がある旨を示す属性であった場合は、アプリ制御部 1 05bはディレクトリ別キャッシュ完了監視部 106bからのキャッシュ完了通知を待って から、アプリ実行部 108にアプリの起動指示を行う。ここで、ディレクトリ別キャッシュ完 了監視部 106bが監視の対象とするファイルはファイル F1及びファイル FCに限定さ れる。また、マルチディレクトリ属性 MD1は 7appl"、マルチディレクトリ属性 MD2は" /common"となる。したがって、ディレクトリ別キャッシュ完了監視部 106bはファイル F 2のキャッシュ完了を待たずにキャッシュ完了通知をアプリ制御部 105bに通知する。 よって、カルーセル記憶部 105は、ファイルのキャッシュ処理を行うことなくファイルの 読み込み要求に応答可能となるため、受信部 102からデータを受け取れない状態に 陥ったとしてもファイルの読み込みを保障することが可能である。さらにキャッシュする ファイルを限定することにより、アプリの起動を早めることができる。
[0061] 一方、起動対象のアプリがアプリ 1であり、かつ、キャッシュ保障属性が保障する必 要がある旨を示す属性でない場合は、アプリ制御部 105bはディレクトリ別キャッシュ 完了監視部 106bからのキャッシュ完了通知を待たずに、アプリ実行部 108にアプリ の起動指示を行う。そのため、カルーセル記憶部 105は、アプリ実行部 108からのフ アイルの読み込み要求に対してできるだけレスポンスよく応答し、ファイルの読み込み 要求がな!、空き時間を利用してキャッシュが完了して ヽな 、ファイルのキャッシュを行 うという処理をする。したがって、マルチディレクトリ属性に示される全てのディレクトリ 中のファイルのキャッシュ完了を待つ場合よりアプリの起動が早い。
[0062] 以上のように本実施の形態によれば、マルチディレクトリ属性に基づいてアプリの実 行に必要なファイルのみをキャッシュした後に、アプリを起動することが可能となり、よ り早くアプリを起動することができる。
(第四実施形態)
本実施形態のアプリ実行装置 10cは、アプリを構成するファイルにおいて、複数の オブジェクトカルーセルに分割した状態で配信されたファイルをキャッシュすることで 、アプリの実行に必要なファイルだけを限定的にキャッシュする。
[0063] 本実施形態では、図 1に示すデジタル放送システムにお ヽて、アプリを構成するフ アイルは、複数のオブジェクトカルーセルに分割した状態で配信され、放送番組は、 第二実施形態で示した構成要素に加え、一のアプリを構成するファイルを含むォブ ジヱクトカル一セルを示す属性 (以下、「マルチカルーセル属性」 )も構成要素として 含む。
なお、本実施形態では、アプリを構成するファイルは、二つのオブジェクト力ルーセ ルに分割した状態で配信されるとする。
[0064] 図 19において、アプリ実行装置 10cは、第二実施形態のアプリ実行装置 10aの構 成に加えて、マルチカルーセル属性抽出部 1901を含み、かつ、カルーセル記憶部 1902と、キャッシュ完了監視部 1903とを含んで構成される。
マルチカルーセル属性抽出部 1901は、 TS中のアプリの制御に関する情報である A ITから、マルチカルーセル属性を抽出し、アプリ制御部 105cに提供する。
[0065] カルーセル記憶部 1902は、選択されたサービスに含まれる一のオブジェクトカル 一セルを、ファイルシステムとして参照可能な状態で記憶する。そして、アプリ実行部 108からのファイルの読み込み要求に応じて、要求されたファイルを提供する。この 際、カルーセル記憶部 1902及びカルーセル記憶部 107のうち、アプリ実行部 108よ り要求されたファイルをキャッシュしている一方のカルーセル記憶部がファイルを提供 する。
[0066] キャッシュ完了監視部 1903は、カルーセル記憶部 1902において、オブジェクト力 ルーセルが全てキャッシュされて 、るか否かを判断し、全てキャッシュされて 、ればァ プリ制御部 105cに完了を通知する。
また、本実施形態におけるカルーセル記憶部 107cは、選択されたサービスに含ま れる他方のオブジェクトカルーセルを、ファイルシステムとして参照可能な状態で記 憶する。
[0067] また、本実施形態におけるキャッシュ完了監視部 106cは、カルーセル記憶部 107 cにおいて、オブジェクトカルーセルが全てキャッシュされているか否かを判断し、全 てキャッシュされて 、ればアプリ制御部 105cに完了を通知する。
また、本実施形態におけるアプリ制御部 105cは、サービス受付部 101によって指 定されたサービスの AITから起動すべきアプリの情報を抽出する。また、キャッシュ保 障属性をキャッシュ保障属性抽出部 1101より受け取ると、アプリのキャッシュ保障属 性が、ファイル読み込みが失敗しな 、ことを保障する必要の有る旨を示す属性か否 かを判断する。判断結果が肯定である場合には、キャッシュ完了監視部 1903及びキ ャッシュ完了監視部 106cからのキャッシュ完了通知を待ってから、アプリ認証とアプリ の実行開始指示を行う。判断結果が否定である場合には、キャッシュ完了監視部 19 03及びキャッシュ完了監視部 106cからのキャッシュ完了通知を待たずに、アプリ実 行部 108にアプリの実行開始指示を行う。また、キャッシュ完了監視部 1903及びキ ャッシュ完了監視部 106cに抽出したアプリに関する情報を渡す。
ここで、図 20は、 DVB- MHP規格に、キャッシュ保障属性 CGとマルチカルーセル属 性 MCを加えた場合の具体例を示す図である。図 20において、 DVB-MHPにおける AITでは、マルチカルーセル属性 MCは AIT内に定義される application_descriptorの t ransport_protocol_lableフィールドの拡張として追加される。キャッシュ保障属性 CGは 第二実施形態と同様である。さらに、図 21は、 DVB-MHP規格における AIT内に定義 されるオリジナルの application_descriptorの例である。マルチカルーセル属性 MCの ために拡張された部分のオリジナルの属性であるトランスポート 'プロトコル 'ラベル属 性 TPLは、複数の配送経路を示すことができる。 1つの transport_protocol_lableフィー ルドの値はアプリの全ての構成ファイルを配信して!/、るオブジェクトカルーセル、また 【ま、 IP via DVB multiprotocol encapsulationを示す。 forノレープにより複数の transport— protocoljableフィールドの値を示すことが可能であるため複数の配信経路を示すこと が可能である。一方、図 20に示す拡張されたマルチカルーセル属性 MCでは、複数 の配送経路を示すことができる forループ内にさらに forループを追加している。この rループは、 1つの配信経路においてアプリを分割して配信している 1つ以上のォブ ジェタトカノレーセノレを示す。ここで、 IP via DVB multiprotocol encapsulationはォブジ エタトカル一セルと同様に TS内で配送されるファイルシステムであり、 DVB-MHP規格 においてアプリを構成するファイルを配送するための手段として使用される。 <動作 >
次に、本実施形態のアプリ実行装置 10cの動作を説明する。図 22は、アプリ実行 装置 10cの処理手順を示すフローチャートである。まず、サービス受付部 101は、ュ 一ザによるリモコン操作や、アプリからの要求、または電源オン時の初期設定により指 定されたサービスに対応する数値を受け付け、受信部 102に通知する(S2201)。受 信部 102は、受け付けた数値に対応するサービスの搬送波にチューニングし、 TSを 受信する。そして、受信した TSをデジタルデータに復調する(S2202)。分離部 103 は、 TSに多重化されている PMT、 PATを取得し、 PMTに格納された PIDからビデオ .ォ 一ディォ、オブジェクトカルーセル、 AITを特定し、分離する(S2203)。デコード部 10 9は、ビデオ'オーディオデータをデコードし、出力部 110は、デコードされたデータを 出力する(S2204)。カルーセル記憶部 107及びカルーセル記憶部 1902は、選択さ れたサービスにお!/、て、起動対象となるアプリに係るオブジェクトカルーセルをキヤッ シュする。二つのオブジェクトカルーセルをそれぞれ異なるカルーセル記憶部にキヤ ッシュする(S2205)。アプリ管理部 104cは、キャッシュ保障属性抽出部 1101よりキ ャッシュ保障属性を、マルチカルーセル属性抽出部 1901よりマルチカルーセル属性 を受け取る。そして、キャッシュ保障属性情報が保障する必要がある旨を示す情報で ある力否かを判断する(S2206)。判断が肯定の場合は、アプリ管理部 104cは、ァプ リ実行制御処理 3を行う(S2207)。判断が否定の場合は、アプリ管理部 104cは、図 14に示したアプリ実行処理を行う(S2208)。つまり、キャッシュ完了監視部 1903及 びキャッシュ完了監視部 106からのキャッシュ完了通知を待たずにアプリ実行部 108 にアプリの起動指示を行う。
続いて図 23は、アプリ管理部 104cによるアプリ実行制御処理 3に関するフローチヤ ートを示す図である。アプリ管理部 104cは、 AITから抽出されるアプリに関する情報 である initial_class302に対応するクラスファイルのロードをアプリ実行部 108に指示 する(S2301)。カルーセル記憶部 107cまたはカルーセル記憶部 1902にロード対 象のファイルがある力否かが判断される(S2302)。ある場合は、アプリ実行部 108に i nitial_class302に対応するクラスファイルが読み出され、アプリ管理部 104cは、 Java( 登録商標) I/Oより successを受け取る(S2303)。ない場合は、アプリ管理部 104cは Java (登録商標) I/Oより falseを受け取る(S2304)。アプリ管理部 104cは、マルチ力 ルーセル属性で示されるカルーセルに他のファイルが存在するか否かを判断する(S 2305)。具体的には、 AIT力も抽出されるアプリに関する情報である base_directory3 01及び classpath_extension303に基づ!/、て判断する。存在する場合は、 base_directo ry301または classpath_extension303に示されるアプリを構成するファイルのロードを アプリ実行部 108に指示する(S2306)。ステップ S2302に移行する。存在しない場 合は、アプリ管理部 104cは、マルチカルーセル属性で示されるカルーセル内の全て のファイルについて successを受信した力否かを判断する(S2307)。判断結果が否 定の場合は、 falseになったクラスファイルのロードを再度指示する(S2308)。判断結 果が肯定の場合は、アプリ管理部 104cはアプリ実行部 108に実行開始指示を行う。 アプリ管理部 104によりアプリの実行開始を指示されたアプリ実行部 108は、ロードさ れたクラスファイルを解釈し、実行する(S2309)。
[0070] 図 24はファイルシステム FS1が 2つのオブジェクトカルーセルに分割して配信され る場合の具体例である。図 24に示すようにファイルシステム FS 1は、ファイルシステム FS2とファイルシステム FS3に分割されて送信される。ファイルシステム FS2とフアイ ルシステム FS 3はそれぞれカルーセル記憶部 107c、及びカルーセル記憶部 1902 に記憶される。ここで、起動対象のアプリがアプリ 1であり、かつ、キャッシュ保障属性 が保障する必要がある旨を示す属性であった場合は、アプリ制御部 105cは、キヤッ シュ完了監視部 106cとキャッシュ完了監視部 1903の双方のキャッシュ完了通知を 待ってから、アプリ実行部 108にアプリの起動指示を行う。したがって、アプリ実行装 置 10cはファイル F2のキャッシュの完了を待つことはない。よって、カルーセル記憶 部 107cとカルーセル記憶部 1902は、ファイルのキャッシュ処理を行うことなくフアイ ルの読み込み要求に応答可能となるため、受信部 102からデータを受け取れない状 態に陥ったとしてもファイルの読み込みを保障することが可能である。さらにキヤッシ ュするファイルを限定することにより、アプリの起動を早めることができる。
[0071] 一方、起動対象のアプリがアプリ 1であり、かつ、キャッシュ保障属性が保障する必 要がある旨を示す属性でない場合は、アプリ管理部 104cはキャッシュ完了監視部 1 06c及びキャッシュ完了監視部 1903からのキャッシュ完了通知を待たずに、アプリ実 行部 108にアプリの起動指示を行う。そのため、カルーセル記憶部 107c及びカルー セル記憶部 1902は、アプリ実行部 108からのファイルの読み込み要求に対してでき るだけレスポンスよく応答し、ファイルの読み込み要求がない空き時間を利用してキヤ ッシュが完了していないファイルのキャッシュを行うという処理となる。したがって、マ ルチカルーセル属性に示されるカルーセル内の全てのファイルのキャッシュ完了を 待つ場合よりアプリの起動が早い。
[0072] 以上のように本実施の形態によれば、アプリの構成ファイルとその他のファイルとを 異なるカルーセルに分割して配送することが可能であるために、アプリの実行に必要 なファイルのみをキャッシュした後に、アプリを起動することが可能となり、より早くアブ リを起動することができる。
なお、本実施形態では、アプリ実行装置 10cは、カルーセル記憶部、キャッシュ完 了監視部を二組備えるとした力 三組以上備えるとしても良い。
<補足 >
以上、本発明に係るアプリ実行装置について、実施の形態に基づいて説明したが 、本発明は上記の実施の形態に限られないことは勿論である。
[0073] 上記実施の形態では、デジタル放送システムはアプリ実行装置及び放送装置がそ れぞれ一つずつで構成されるとしたが、それぞれが複数であっても良!、。
上記実施の形態では、アプリ実行装置はアプリを構成する全てのファイルをキヤッ シュした後に実行開始指示を行ったが、アプリを構成するファイルのうち、アプリの終 了処理にお!、て、 suspend処理を実行するために必要なファイルがキャッシュされれ ば、実行開始指示を行うとしても良い。この場合には、例えば図 9の S905において、 サスペンド処理を実行するために必要なファイルが他に存在するカゝ否かを判断する。 そして、 S907において、アプリを構成するファイルのうち、サスペンド処理を実行する ために必要な全てのファイルにつ 、て successを受信したか否かを判断する。これら の判断は、 AITに基づいて行われる。
[0074] 上記実施の形態では、各属性を AIT内に定義される既存の descriptorに追加する 例としている力 新たな descriptorを AIT内に追加しても良いし、 AIT以外のテーブル を用いる構成としてもよい。 上記実施の形態では、オブジェクトカルーセルでファイルを送信するとした力 ォブ ジェタトカノレーセノレの代わりに IP via DVB multiprotocol encapsulation,データカノレー セル、あるいは TCP/IPによる配信方法を用いる構成としても良いし、 DVD、 BDなどの 記録媒体に記録されたファイルを用いる構成としてもよい。例えば、 BDでは HD映像 を再生するので、 HD映像のシームレス再生を優先すると、キャッシュミスが発生する。 また、 BDがアプリ実行装置力も取り出された場合に、キャッシュミスが発生する。その ような場合であっても、上記処理により適切に終了処理を行うことができる。
[0075] 上記の実施形態では、アプリ実行装置を用いたが、本発明は上記フローチャートで 示したステップを含む方法、及び上記フローチャートで示したステップをコンピュータ に実行させるプログラムコードを含むプログラムであっても良い。
上記の実施形態では、キャッシュ完了監視部がアプリを構成する全てのファイルに っ 、てロードできた力否かを判断したが、同様の処理を実現するためのキャッシュ制 御用の API (Application Program Interface)を追加しても良い。その場合には、アプリ 管理部が実行制御するのではなぐアプリの mainルーチンが実行制御するとしても良 い。図 25に mainルーチンが実行制御を行う場合のフローチャートを示す。まず、ァプ リ管理部は、 mainルーチンのロードを指示する(S2501)。ファイルがキャッシュ済み か否かが判断され(S2502)、キャッシュ済みならロードされる。アプリの mainルーチ ンがロードできたら、アプリ管理部は mainルーチンを起動するようにアプリ実行部に指 示する(S2503)。 mainルーチンは APIを通じてアプリを構成する全てのクラスがロー ドされたか否かをチェックする(S2504)。全てのファイルがキャッシュされるまで、実 行を待機する(S2505)。全てのファイルがキャッシュされれば、 mainルーチンの実行 を継続し、さらに、アプリ全体を実行する(S2506)。そして、アプリを構成するフアイ ルをキャッシュアウトしないように APIを通じてカルーセル記憶部に指示する(S2507)
産業上の利用可能性
[0076] 本発明を構成するアプリケーションプログラム実行装置は、製造産業において経営 的に、また継続的及び反復的に製造し、販売することができる。特に、地上波、衛星 、またはケーブルデジタル放送用の STBやデジタル放送受信機能内蔵テレビ等とし て有用である。

Claims

請求の範囲
[1] 選択したサービス内でのみ実行可能なアプリケーションプログラムを実行するアプリ ケーシヨンプログラム実行装置であって、
キャッシュ手段と、
ユーザ力 サービスの選択を受け付ける受付手段と、
放送装置力 送信されるオブジェクトカルーセルから、ユーザが選択したサービス に係るアプリケーションプログラムを構成するファイルを受信し、前記キャッシュ手段 に書き込む受信手段と、
前記キャッシュ手段が前記サービスに係るアプリケーションプログラムを構成するフ アイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして!/、る か否かを判断する判断手段と、
前記ファイルをキャッシュして 、ると判断すれば、前記キャッシュ手段にキャッシュさ れたアプリケーションプログラムを実行させる実行制御手段と、
を含むアプリケーションプログラム実行装置。
[2] 前記実行制御手段は、アプリケーションプログラムの実行時にぉ 、て、ファイル読み 込みが失敗しないことを保障する必要がある力否かを示すキャッシュ保障属性情報 を取得する取得手段を含み、
前記実行制御手段は、前記取得手段により取得されたキャッシュ保障属性情報が 保障する必要がある旨を示す場合に限り実行制御する、請求項 1記載のアプリケー シヨンプログラム実行装置。
[3] 前記実行制御手段は、複数のアプリケーションプログラムが存在する場合に、どのァ プリケーシヨンプログラムにリソースを優先的に配分するかを示すプライオリティ属性 情報を取得する取得手段を含み、
前記実行制御手段は、前記取得手段により取得されたプライオリティ属性情報が既 定の閾値以上の場合に限り実行制御する、請求項 1記載のアプリケーションプロダラ ム実行装置。
[4] 前記実行制御手段は、アプリケーションプログラムが前記サービスでのみ実行可能 か否かを示すサービスバウンド属性情報を取得する取得手段を含み、 前記実行制御手段は、前記取得手段により取得されたサービスバウンド属性情報 が前記サービスでのみ実行可能である旨を示す情報である場合に限り実行制御する
、請求項 1記載のアプリケーションプログラム実行装置。
[5] 前記判断手段による判断は、アプリケーションプログラムを構成する全ファイルに関 する情報に基づ 、て行われる、請求項 1記載のアプリケーションプログラム実行装置
[6] 前記実行制御手段は、前記情報にお!、て、前記アプリケーションプログラムを構成す るファイルを含んでいるディレクトリである力否かを示すディレクトリ属性を抽出する抽 出手段を含み、
前記サービスに係るアプリケーションプログラムを構成するファイルのうち、サスペン ド処理を実行するために必要なファイルとは、前記抽出手段により抽出されたディレ クトリ属性力 当該アプリケーションプログラムのファイルを含んで 、る旨を示すディレ クトリ内のファイルである
請求項 5記載のアプリケーションプログラム実行装置。
[7] 選択したサービス内でのみ実行可能なアプリケーションプログラムを実行する処理を コンピュータに行わせるコンピュータ読み取り可能なプログラムであって、
ユーザ力 サービスの選択を受け付ける受付コードと、
放送装置力 送信されるオブジェクトカルーセルから、ユーザが選択したサービス に係るアプリケーションプログラムを構成するファイルを受信し、前記コンピュータに 書き込む受信コードと、
前記コンピュータが前記サービスに係るアプリケーションプログラムを構成するファ ィルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして!/、るか 否かを判断する判断コードと、
前記ファイルをキャッシュして 、ると判断すれば、前記コンピュータにキャッシュされ たアプリケーションプログラムを実行させる実行制御コードと、
を含む手順をコンピュータに行わせるコンピュータ読み取り可能なプログラム。
[8] 選択したサービス内でのみ実行可能なアプリケーションプログラムを実行するアプリ ケーシヨンプログラム実行方法であって、 ユーザからのサービスの選択の受け付けと、
放送装置力 送信されるオブジェクトカルーセルから、ユーザが選択したサービス に係るアプリケーションプログラムを構成するファイルの受信と、
受信したファイルのコンピュータのキャッシュメモリへの書き込みと、
前記キャッシュメモリが前記サービスに係るアプリケーションプログラムを構成するフ アイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして!/、る か否かの判断と、
前記ファイルをキャッシュしているという判断の場合、前記キャッシュメモリにキヤッシ ュされたアプリケーションプログラムの実行制御と、
を含むアプリケーションプログラム実行方法。
[9] 選択したサービス内でのみ実行可能なアプリケーションプログラムを実行するアプリ ケーシヨンプログラム実行装置であって、
キャッシュ手段と、
ユーザ力 サービスの選択を受け付ける受付手段と、
放送装置力 送信されるオブジェクトカルーセルから、ユーザが選択したサービス に係るアプリケーションプログラムを構成するファイルを受信し、前記キャッシュ手段 に書き込む受信手段と、
前記キャッシュ手段が前記サービスに係るアプリケーションプログラムを構成するフ アイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして!/、る か否かをチェックするインターフェイス手段とを含み、
前記アプリケーションプログラムは、メインルーチンが起動されると前記インターフエ イス手段を通じて、前記キャッシュ手段がアプリケーションプログラムを構成するフアイ ルのうち、サスペンド処理を実行するために必要なファイルをキャッシュして 、るか否 かをチェックし、キャッシュされていなければキャッシュされるまで実行を待機し、キヤ ッシュされると実行を継続する
アプリケーションプログラム実行装置。
[10] 所定のサービス内でのみ実行可能なアプリケーションプログラムを実行するアプリケ ーシヨンプログラム実行装置であって、 キャッシュ手段と、
前記所定のサービスに係るアプリケーションプログラムを構成するファイルを記録媒 体から読み出し、前記キャッシュ手段に書き込む書き込み手段と、
前記キャッシュ手段が前記所定のサービスに係るアプリケーションプログラムを構成 するファイルのうち、サスペンド処理を実行するために必要なファイルをキャッシュし ているか否かを判断する判断手段と、
前記ファイルをキャッシュして 、ると判断すれば、前記キャッシュ手段にキャッシュさ れたアプリケーションプログラムを実行させる実行制御手段と、
を含むアプリケーションプログラム実行装置。
PCT/JP2005/020139 2004-11-02 2005-11-01 アプリケーションプログラム実行装置 WO2006049185A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006542407A JP4875987B2 (ja) 2004-11-02 2005-11-01 アプリケーションプログラム実行装置
EP05805493A EP1818826A4 (en) 2004-11-02 2005-11-01 APPLICATION PROGRAM EXECUTION DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-319749 2004-11-02
JP2004319749 2004-11-02

Publications (1)

Publication Number Publication Date
WO2006049185A1 true WO2006049185A1 (ja) 2006-05-11

Family

ID=36319190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/020139 WO2006049185A1 (ja) 2004-11-02 2005-11-01 アプリケーションプログラム実行装置

Country Status (4)

Country Link
EP (1) EP1818826A4 (ja)
JP (1) JP4875987B2 (ja)
CN (1) CN100499412C (ja)
WO (1) WO2006049185A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1940173A1 (en) * 2006-12-26 2008-07-02 Samsung Electronics Co., Ltd. Method and DVB-H system for providing broadcast image configuration information
EP1940057A2 (en) * 2006-12-27 2008-07-02 LG Electronics, Inc. Apparatus and method for processing data broadcast signal
JP2012138953A (ja) * 2007-02-14 2012-07-19 Sk Planet Co Ltd デジタル放送データアプリケーションの実行方法
JP2013009358A (ja) * 2011-05-20 2013-01-10 Nippon Hoso Kyokai <Nhk> 放送通信連携受信装置
JP2016054410A (ja) * 2014-09-03 2016-04-14 日本放送協会 受信機およびプログラム
JPWO2014021125A1 (ja) * 2012-07-31 2016-07-21 ソニー株式会社 受信装置、受信方法、送信装置、及び送信方法
JP2017034681A (ja) * 2011-04-21 2017-02-09 サターン ライセンシング エルエルシーSaturn Licensing LLC 供給装置、供給方法、受信装置、受信方法、プログラム、および放送システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2335466B2 (es) * 2008-09-12 2010-10-27 Global Touch Express, S.L Dispositivo y procedimiento para la carga y ejecucion de aplicaciones en un decodificador de television digital mhp.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086878A (ja) * 1994-06-17 1996-01-12 Toshiba Corp データ放送方法及びその装置
WO1998011723A1 (fr) * 1996-09-11 1998-03-19 Matsushita Electric Industrial Co., Ltd. Appareil de reception/d'execution de programme pouvant commencer l'execution d'un programme meme lorsque seulement une partie du programme est reçue, et emetteur de programme destine a cet appareil
WO1999065230A2 (en) 1998-06-12 1999-12-16 Koninklijke Philips Electronics N.V. Transmission system
JP2000358233A (ja) 1999-05-20 2000-12-26 Samsung Electronics Co Ltd データカローセルの有効区間とサービス要請時点との不一致を解決するデジタル放送システム及びその制御方法
EP1377034A1 (en) 2002-06-27 2004-01-02 Thomson Licensing S.A. Data processing device and method for interactive television

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US6230184B1 (en) * 1998-10-19 2001-05-08 Sun Microsystems, Inc. Method and apparatus for automatically optimizing execution of a computer program
JP3688571B2 (ja) * 2000-09-20 2005-08-31 株式会社東芝 情報処理装置
GB0122585D0 (en) * 2001-09-19 2001-11-07 Koninl Philips Electronics Nv Control of an interactive application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086878A (ja) * 1994-06-17 1996-01-12 Toshiba Corp データ放送方法及びその装置
WO1998011723A1 (fr) * 1996-09-11 1998-03-19 Matsushita Electric Industrial Co., Ltd. Appareil de reception/d'execution de programme pouvant commencer l'execution d'un programme meme lorsque seulement une partie du programme est reçue, et emetteur de programme destine a cet appareil
WO1999065230A2 (en) 1998-06-12 1999-12-16 Koninklijke Philips Electronics N.V. Transmission system
JP2000358233A (ja) 1999-05-20 2000-12-26 Samsung Electronics Co Ltd データカローセルの有効区間とサービス要請時点との不一致を解決するデジタル放送システム及びその制御方法
EP1377034A1 (en) 2002-06-27 2004-01-02 Thomson Licensing S.A. Data processing device and method for interactive television

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Digital Video Broadcasting (DVB", MULTIMEDIA HOME PLATFORM (MHP) SPECIFICATION 1.0.2, 9 September 2004 (2004-09-09), pages 39, Retrieved from the Internet <URL:http://www.mhp.org>
J. GOSLING: "The Java Language Environment. A White Paper", SUN DELIVERS JAVA WORKSHOP, 1995
See also references of EP1818826A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1940173A1 (en) * 2006-12-26 2008-07-02 Samsung Electronics Co., Ltd. Method and DVB-H system for providing broadcast image configuration information
EP1940057A2 (en) * 2006-12-27 2008-07-02 LG Electronics, Inc. Apparatus and method for processing data broadcast signal
EP1940057A3 (en) * 2006-12-27 2011-03-09 LG Electronics, Inc. Apparatus and method for processing data broadcast signal
JP2012138953A (ja) * 2007-02-14 2012-07-19 Sk Planet Co Ltd デジタル放送データアプリケーションの実行方法
JP2017034681A (ja) * 2011-04-21 2017-02-09 サターン ライセンシング エルエルシーSaturn Licensing LLC 供給装置、供給方法、受信装置、受信方法、プログラム、および放送システム
US10582244B2 (en) 2011-04-21 2020-03-03 Saturn Licensing Llc Feeding device, feeding method, receiving device, receiving method, program, and broadcasting system
JP2013009358A (ja) * 2011-05-20 2013-01-10 Nippon Hoso Kyokai <Nhk> 放送通信連携受信装置
JPWO2014021125A1 (ja) * 2012-07-31 2016-07-21 ソニー株式会社 受信装置、受信方法、送信装置、及び送信方法
US10674213B2 (en) 2012-07-31 2020-06-02 Saturn Licensing Llc Reception apparatus, reception method, transmission apparatus, and transmission method
JP2016054410A (ja) * 2014-09-03 2016-04-14 日本放送協会 受信機およびプログラム

Also Published As

Publication number Publication date
CN100499412C (zh) 2009-06-10
JP4875987B2 (ja) 2012-02-15
EP1818826A1 (en) 2007-08-15
CN101052950A (zh) 2007-10-10
JPWO2006049185A1 (ja) 2008-05-29
EP1818826A4 (en) 2011-11-30

Similar Documents

Publication Publication Date Title
JP4875987B2 (ja) アプリケーションプログラム実行装置
WO2014057830A1 (ja) 受信装置、受信方法、送信装置、及び、送信方法
US7849492B2 (en) Receiving accumulating apparatus, sending apparatus, broadcasting system, receive accumulating method, sending method, broadcasting method, program and medium
CA2806318C (en) Reception apparatus, reception method, transmission apparatus, transmission method, program, and broadcasting system
US7522817B2 (en) Method and apparatus for storing content
US10524019B2 (en) Receiver, reception method, transmitter, transmission method, program and broadcasting system
US8595783B2 (en) Receiving device, receiving method, program, and broadcasting system
WO2012133064A1 (ja) 送信装置、送信方法、受信装置、受信方法、プログラム、および放送システム
WO2009096185A1 (en) Recording and playing system, client terminal and server terminal
WO2013157440A1 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
CN101300843B (zh) 数字广播系统、接收装置、以及送出装置
EP2624548A1 (en) Receiving device, receiving method, and program
US9661387B2 (en) Receiving apparatus, reception method, transmitting apparatus, transmission method, and program
US9219950B2 (en) Reproduction apparatus, reproduction method, and program
JPWO2007072680A1 (ja) データ出力装置、機器制御装置およびマルチメディア配信システム
CA2634024A1 (en) Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
CN107920258B (zh) 一种数据处理方法及装置
JP5045535B2 (ja) 受信装置及び受信方法
US20040022104A1 (en) Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
JP2008066764A (ja) 放送記録装置
JP2006033812A (ja) 補助プログラムを管理する方法及び対応する受信器とシステム
TWI471014B (zh) 間歇地更新韌體的傳輸流、資料處理裝置及數位電視
US20110158251A1 (en) Content distribution method and content reception device
JP2000032425A (ja) データ伝達制御方法
JP2006345505A (ja) 放送蓄積端末

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006542407

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580037528.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005805493

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005805493

Country of ref document: EP