MXPA06011297A - Program execution device - Google Patents
Program execution deviceInfo
- Publication number
- MXPA06011297A MXPA06011297A MXPA/A/2006/011297A MXPA06011297A MXPA06011297A MX PA06011297 A MXPA06011297 A MX PA06011297A MX PA06011297 A MXPA06011297 A MX PA06011297A MX PA06011297 A MXPA06011297 A MX PA06011297A
- Authority
- MX
- Mexico
- Prior art keywords
- program
- execution
- executed
- stage
- unit
- Prior art date
Links
- 230000002159 abnormal effect Effects 0.000 claims abstract description 99
- 230000005540 biological transmission Effects 0.000 claims description 36
- 230000000007 visual effect Effects 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 abstract description 14
- 239000000470 constituent Substances 0.000 abstract description 5
- 230000001276 controlling effect Effects 0.000 abstract description 2
- 238000003860 storage Methods 0.000 description 77
- 231100000773 point of departure Toxicity 0.000 description 72
- 238000000034 method Methods 0.000 description 50
- 238000010586 diagram Methods 0.000 description 39
- 230000004913 activation Effects 0.000 description 28
- 229920000553 poly(phenylenevinylene) Polymers 0.000 description 23
- 101700021106 AT4 Proteins 0.000 description 20
- 206010036618 Premenstrual syndrome Diseases 0.000 description 20
- 230000000051 modifying Effects 0.000 description 19
- 230000000875 corresponding Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 239000004020 conductor Substances 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000003213 activating Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 238000010187 selection method Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 230000002457 bidirectional Effects 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 235000010384 tocopherol Nutrition 0.000 description 2
- 235000019731 tricalcium phosphate Nutrition 0.000 description 2
- 101710012566 MNAT1 Proteins 0.000 description 1
- 206010040007 Sense of oppression Diseases 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000994 depressed Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Abstract
There is provided a program execution device capable of improving user-friendliness by preventing that an application cannot be used when the application (program) being executed has abnormally terminated. An MA management unit (1205f) includes:an MA management unit main (2101) for receiving an instruction from an initialization sub-program and controlling the other constituent elements in the MA management unit (1205f);an XAIT acquisition analysis unit (2102) for analyzing the XAIT transmitted from the head end;an MA selection unit A (2103) for selecting a program to be started according to the XAIT analysis result;an MA start unit (2104) for starting the program specified;an MA monitoring unit (2105) for monitoring the operation condition of the program specified and notifying when an abnormal termination has occurred;and an MA selection unit B (2106) for selecting an alternative program.
Description
PROGRAM EXECUTION DEVICE
Field of the Invention The present invention relates to a program execution device that executes a program and manages the operation of the program. The present invention particularly relates to the execution of an alternative program during the abnormal conclusion of a program, on a digital television.
Background of the Invention In recent years, specifications for digital television are being formulated, and with this, an STB (Box Decoder) that complies with each of the specifications is being developed. In the OCAP 1.0 specification (Profile OCAPl .0 OC-SP-OCAPl .0-IF-I09-031121), which is a specification for North American cable transmission, several services (for example, an interactive program) can be provided to the distribute to respective homes, not only video and audio, but also the applications attached to this video and audio. In addition, an application (for example, an electronic program guide) prepared by a transmission operator can also be operated in an STB. The "data download" in the patent reference
REF .: 175936 1 describes a method for downloading, from a transmission wave (in other words, a transport stream MPEG2), an application related to a transmission and executing the downloaded application. With the technology described in patent reference 1, it becomes possible to distribute, not only video and audio, but also applications to respective homes. In addition, the "method and apparatus for administering an application according to the life cycle of the application" in patent reference 2 describes a technology for the administration of application operations. In the OCAP 1.0 specification, the management of life cycles of individual distributed applications becomes possible with the use of the technology described in patent reference 2. In addition, the OCAP 1.0 specification stipulates that, in case an application prepared by a transmission operator exists at the time of activation of the STB, the application prepared by the transmission operator must be activated, as well as reactivated in the case where the application prepared by the transmission operator concludes abnormally. Using conventional technology, it becomes possible, after downloading and running an application, to monitor the life cycle of the application and detect an abnormal conclusion. In addition, it becomes possible to re-execute an application that terminates abnormally. Patent Reference 1: Japanese translation of the International PCT Application open to the public as JP2001-519627 Patent Reference 2: Japanese translation of the International PCT Application open to the public as JP2003-504753
BRIEF DESCRIPTION OF THE INVENTION Problems Resolving the Invention However, since conventional technology re-executes the application it normally concluded, there is a high probability that an abnormal conclusion will occur again, and this becomes a cause of loss of convenience for an observer who sees a program using an STB. In this way, the present invention was conceived in view of the circumstances mentioned above, and has as its objective to provide a program execution device that is capable, even in the case that an application (program) executed at present abnormally concludes, of avoiding that the application becomes useless, and in this way improve the convenience for the user.
Means for Problem Solving To achieve the above-mentioned objective, the program execution device according to the present invention is a program execution device that executes a program, the program execution device includes: a first selection unit for programs that you select, such as a program that will be executed, a program that is downloaded and executed; a program monitoring unit that monitors an operating state of a currently executed program; a second program selection unit that selects, as a program to be executed, a program that is of the same type as the program currently executed, in case the abnormal conclusion of the program currently executed is detected by the program monitoring unit; an execution unit executing the program selected by the first program selection unit and, in the event that an abnormal conclusion of the currently executed program is detected by the program monitoring unit, executes a program selected by the second selection unit of programs; a cause-obtaining unit that obtains a cause of the abnormal conclusion of the program detected by the program monitoring unit; and a countermeasure execution unit executing a countermeasure based on the cause of the abnormal conclusion, wherein the execution unit executes the program selected by the second program selection unit, after the countermeasure is executed by the unit of execution of countermeasures. Consequently, even when the program that is currently executed ends abnormally, it is possible to maintain a situation in which the program is always operating, by executing a program that is of the same type as the program that ended abnormally. Here, a program of the same type refers to a program that has the same function of, for example, visually presenting an electronic program guide, and different user display or operability characteristics such as the amount of information in the program. Visual presentation information and visual presentation format. Moreover, in programs of the same type, the same program is also included as the program that ended abnormally. In addition, it is also possible that the second program selection unit selects, like the program to be executed, a program that is different from the program selected by the first program selection unit. As a result, it is possible to run a different program that is of the same type as the program that ended abnormally. Moreover, it is also possible that the second program selection unit selects, like the program to be executed, a program that is the same as the program selected by the first program selection unit. Consequently, it is possible to execute, once again, the same program as the program that ended abnormally. In addition, it is also possible that the second program selection unit selects, as the program that will be executed: a program that is the same as the program selected by the first program selection unit, in case a program is not satisfied. default condition; and a program that is different from the program selected by the first program selection unit, in case it is satisfied. the default condition. As a result, it becomes possible to activate the same program as the initial program only for a fixed period and, subsequently, to execute a different program. In addition, it is also possible for the program monitoring unit, after detecting the abnormal conclusion of the currently executed program, to present an occurrence of the abnormal conclusion to the user. As a result, it becomes possible for the user to recognize that the abnormal conclusion of the currently executed program has occurred. Moreover, the program execution device according to the. present invention is a program execution device that executes a program, the program execution device includes: a first program selection unit that selects, as a program to be executed, a program that is downloaded and executed; a program monitoring unit that monitors an operational state of a program currently executed; a second selection unit 'of programs that selects, based on a user's instruction, a program that is of the same type as the program currently executed, such as a program that will be executed, in case the abnormal conclusion of the program currently executed is detected by the program monitoring unit; and an execution unit executing the program selected by the first program selection unit and, in the event that the abnormal conclusion of the currently executed program is detected by the program monitoring unit, executes the program selected by the second unit of program selection. selection of programs. Consequently, it becomes possible to execute the program instructed by the user. In addition, it is also possible for the second program selection unit to present candidates for selectable programs, and select a program selected by the user, such as the program that will be executed. Consequently, it becomes possible to execute the program selected by the user. Also, it is easy for the user to determine the program that will be executed.
Moreover, it is also possible that the second program selection unit selects a predetermined program, such as the program, in case the user does not make a selection within a predetermined time. Accordingly, it becomes possible to select a program even when the selection by the user is not made within the predetermined time period. In addition, the program execution device according to the present invention is a program execution device that executes a program, the program execution device includes: a first program selection unit that selects, such as a program that will be executed , a program that is downloaded and executed; a program monitoring unit that monitors an operational state of a program currently executed; a second program selection unit that selects, as a program to be executed, a program that is of the same type as the program currently executed and which accepts a request for channel selection from a user and carries out an operation, in case that the abnormal conclusion of the program currently executed is detected by the program monitoring unit; and an execution unit executing the program selected by the first program selection unit and, in case the abnormal conclusion of the currently executed program is detected by the program monitoring unit, execute the program selected by the second unit of program monitoring. selection of programs. In addition, the program execution device according to the present invention is a program execution device that executes a program, the program execution device includes: a first program selection unit that selects, such as a program that will be executed , a program that is downloaded and executed; a program that is downloaded and executed, a program monitoring unit that monitors an operational state of a program currently executed; a second program selection unit that selects, as a program to be executed, a program that is of the same type as the program currently executed and that visually presents an electronic program guide, in case the abnormal conclusion of the program currently executed is detected by the program monitoring unit; and an execution unit executing the program selected by the first program selection unit and, in the event that the abnormal conclusion of the executed program is detected by the program monitoring unit, execute the program selected by the second unit of program monitoring. selection of programs. Note that the present invention can be achieved not only as an execution apparatus, but also as a program execution method having the characteristic units of this program execution apparatus as stages, and as a program that causes a computer execute these stages. Furthermore, it is not unnecessary to say that it is possible to distribute this program by means of a recording medium such as a CD-ROM, a transmission medium such as the Internet.
Effects of the Invention According to the program execution device of the present invention, even when a program currently executed normally concludes, it is possible to maintain a situation in which the program is always operating, when executing a program that is. the same, or of the same type, as the program that ended abnormally.
Brief description of the figures Figure 1 is a configuration diagram of the first embodiment of a cable television system according to the present invention. Figure 2 shows an example of the use of frequency bands used for communications between the distribution center and terminal apparatuses in the cable television system according to the present invention. Figure 3 shows an example of the use of frequency bands used for communications between the distribution center and the terminal apparatuses in the cable television system according to the present invention. Figure 4 shows an example of the use of frequency bands used for communications between the distribution center and the terminal apparatuses in the cable television system according to the present invention. Fig. 5 is a configuration diagram showing a configuration of a terminal apparatus in the cable television system according to the present invention. Figure 6 shows an example of an external view of the terminal apparatus in the cable television system according to the present invention. Figure 7 is a configuration diagram showing the hardware configuration of a POD according to the present invention. Figure 8 is a structure diagram showing a structure of a program stored in the POD according to the present invention. • Figure 9 is a structure diagram of a package defined in the MPEG standard. Fig. 10 is a diagram showing an example of a transport stream MPEG2. Figure 11 is a diagram showing an example of an external view in case the input unit is configured in the form of a front panel. Figure 12 is a structure diagram showing a structure of the program stored in a terminal apparatus according to the present invention. Figure 13 (a) shows an example of a screen display displayed by a viewer in accordance with the present invention; Figure 13 (b) shows an example of a screen display displayed by the viewer in accordance with the present invention. Figure 14 is a diagram showing an example of information stored in the secondary storage unit according to the present invention. Figures 15 (a) -15 (c) are diagrams showing an example of the information stored in the primary storage unit 511 according to the present invention. Figure 16 is a schematic diagram showing the details of a PAT specified in the MPEG2 standard according to the present invention. Figure 17 is a schematic diagram showing the details of a PMT specified in the MPEG2 standard according to the present invention. Figure 18 is a schematic diagram showing the details of an AIT specified in the OCAP 1.0 specification according to the present invention. Figure 19 is a schematic diagram showing the file system transmitted in the DSMCC format according to the present invention. Figure 20 is a schematic diagram showing details of the XAIT according to the present invention. Figure 21 is a configuration diagram of the administration unit MA according to the present invention. Figure 22 is a flow chart showing the operation when the management unit MA carries out the activation of a monitor application in the first mode. Figure 23 is a flow chart showing the operation when the activated monitor application terminates abnormally in an unforeseen timing, in the first mode. Figure 24 is a flow chart showing the operation when, in the event that a monitor application terminates abnormally, the management unit MA stores and transmits the details of the abnormal conclusion, in the first mode. Fig. 25 is a flow chart showing the operation when a selection unit MA B selects the same program again as the result of selection of a selection unit MA A, in the second mode. Figure 26 (a) is a diagram schematically representing the data stored in the primary storage unit, in the second mode; Figure 26 (b) is a diagram schematically representing the data stored in the primary storage unit, in the second mode; Figure 26 (c) is a diagram schematically representing the data stored in the primary storage unit, in the second mode. Figure 27 is a flow chart showing the operation when the selection unit MA B selects the same program again as the selection result of the selection unit MA A 2103 up to the N time and selects a program different from the N + l from now on, in the third modality. Figure 28 is a flow chart showing the operation when a candidate list of selection programs is presented to the user and the user is selected, in the fourth mode. Fig. 29 is a diagram schematically representing an example of a list of programs that can be selected as an alternative program, in the fourth mode. Figure 30 is a diagram showing an example of a viewer presented to the user, in the fourth embodiment. Figure 31 is a diagram showing an example of a method, to visually present the user, in the fifth mode. Figure 32 is a diagram showing an example of a method to visually present the user, in the fifth embodiment. Figure 33 is a schematic diagram showing details of the XAIT according to the present invention. Figure 34 is an example of a message indicating the purchase of a program, according to the present invention. Figure 35 is an example of the appearance of the storage of a Java® program according to the present invention. Figure 36 is an example of the visual display on the screen by the viewer according to the present invention. Figure 37 is a flow chart that summarizes the operation of the Lib POD in case a Java® program is registered in the Lib OD. Figures 38 (a) -38 (b) are a schematic diagram showing the change of destination of message delivery with the POD according to the present invention. Figures 39 (a) -39 (b) are a schematic diagram showing the change of destination of message delivery with the POD according to the present invention. Figure 40 is a flow chart that summarizes the operation of - the POD Lib in case the POD Lib cancels the registration of a Java® program, according to the present invention. Figure 41 is a configuration diagram for processing in the event that the Java® program terminates abnormally, in accordance with the present invention. Figure 42 is a flow chart showing the process in case the Java® program terminates abnormally, according to the present invention. Figure 43 is a flow chart showing the process in case a Java® program terminates abnormally, in accordance with the present invention. Figure 44 is a flow chart showing the process in case a Java® program terminates abnormally, according to the present invention.
Numerical References 1200 Program 1201 OS 1201a Core 1201b Library 1202 EPG 1202a TV program 1202b display unit 1203 Playback Unit VM 1204 Service Manager 1205 Library 1205a- JMF 1205b AM 1205c 1205d AC 1205e tuner • POD Lib 1205f Unit MA administration
DETAILED DESCRIPTION OF THE INVENTION The embodiments of the present invention are described below with reference to the figures.
First Mode A detailed explanation of a modality of a television system will be given. by cable according to the present invention with reference to the figures. Figure 1 is a block diagram showing the 'relationship between apparatuses that make up the cable system. The cable system includes a distribution center 101, and three terminal devices, in particular a terminal apparatus there, a terminal apparatus B112 and a terminal apparatus C113. In this embodiment, three terminal devices are connected to a distribution center. However, it is possible to carry out the present invention even if an arbitrary number of terminal devices are connected to the distribution center. The distribution center 101 transmits, to several terminal devices, transmission signals such as video, audio and data, and receives data transmitted from the terminal devices. To achieve this, the frequency bands are divided to use the data transmission between the distribution center 101 and the terminal apparatus there, the terminal apparatus B112 and the terminal apparatus C113. Figure 2 is a table showing an example of the division of frequency bands. Frequency bands are broadly divided into two types: Out of Band (which will be abbreviated as OOB) and In Band. A frequency band of 5 ~ 130 MHz is assigned to OOB to be used primarily for the exchange of data between the distribution center 101 and the terminal apparatus there, the terminal apparatus B112 and the terminal apparatus C113. A band of frequencies of 130MHz ~ 864MHz is assigned to On Band to be used mainly for the transmission channels that include video and audio. QPSK is used for OOB, while QAM64 is used for En Banda as modulation techniques. A detailed explanation of the modulation techniques is omitted here, since they are publicly known techniques which are less related to the present invention. Figure 3 shows a more specific example of how the OOB frequency band is used. A frequency band of 70MHz ~ 74MHz is used to transmit data from the distribution center 101. In this case, all terminal devices There, the terminal apparatus B112 and the terminal apparatus C113 receive the same data from the distribution center 101. Meanwhile, a frequency band of 10.0MHz ~ 10.1MHz is used to transmit data from the terminal apparatus there to distribution center 101. A frequency band of 10. lMHz ~ 10.2MHz is used to transmit data from the terminal apparatus B112 to the distribution center 101. A frequency band of 10.2MHz ~ 10.3MHz is used to transmit data from the terminal apparatus C113 to the distribution center 101. Consequently, it becomes possible to transmit unique data for each terminal apparatus to the distribution center 101 from the terminal apparatus there, the terminal apparatus B112 and the terminal apparatus C113. Figure 4 'shows an exemplary use of the frequency band In Band. The frequency bands 150 ~ 156MHz and 156 ~ 162MHz are respectively assigned to a television channel 1 and a television channel 2, and the subsequent frequencies are assigned to television channels at 6MHz intervals. Frequencies of 310MHz and subsequent frequencies are assigned to radio channels at 1MHz intervals. Each of the above channels can be used either for analog transmission or digital transmission. In the case of digital transmission, the data is transmitted in the transport packet format that complies with the MPEG2 specification, in which case the data destined to several data transmission systems can be transmitted, in addition to audio and video data. The distribution center 101 is equipped with a QPSK modulation unit, a QAM modulation unit and the like in order to be able to transmit suitable transmission signals at the respective frequency scales. In addition, the distribution center 101 is equipped with a demodulation unit QPSK to receive data from the terminal devices. Likewise, the distribution center 101 is assumed to be further equipped with various devices related to the above modulation units and demodulation unit. However, it is. it omits here a detailed explanation of them since the present invention refers mainly to terminal devices. The terminal apparatus There, the terminal apparatus B112 and the terminal apparatus C113 receive and reproduce transmission signals transmitted from the distribution center 101. In addition, the terminal apparatus There, the terminal apparatus B112 and the terminal apparatus C113 transmit unique data for each device terminal to the distribution center 101. In this modality, these three terminal devices will have the same configuration. Figure 5 is a block diagram showing a hardware configuration of the terminal apparatus. The terminal apparatus 500 includes a demodulation unit QAM 501, a demodulation unit QPSK 502, a modulation unit QPSK 503, a decoder TS 505, an audio decoder 506, an audio output unit 507, a video decoder 508 , a viewer 509, a secondary storage unit 510, a primary storage unit 511, a ROM 512, an input unit 513 and a CPU 514. In addition, a POD 504 can be connected / disconnected from the terminal apparatus 500. Figure 6 shows a flat panel television, which is an exemplary external view of the terminal apparatus 500. A terminal apparatus 601 contains within its housing, all constituent elements of the terminal apparatus 500 except for the POD 504. A display 602 corresponds to the viewer 509 of Figure 5. A front panel unit 603 is formed of several buttons, and corresponds to the input unit 513 in Figure 5. A signal input terminal 604 is connected to a cable line for carrying out the transmission and reception of signals to and from the distribution center 101. In addition, the signal input terminal 604 is connected to the demodulation unit 'QAM 501, the demodulation unit QPSK 502 and the modulation unit
QPSK 503 shown in Figure 5. A • POD card 605 corresponds to the POD 504 in Figure 5. The POD 504, like the POD card 605 of Figure 6, is incorporated independently of the terminal apparatus 500 and can be contacted / disconnected from the terminal apparatus 500. A detailed explanation of the POD 504 is given below. An insert slot 604 is an insert slot into which the POD card 605 is inserted. Referring to FIG. 5, the demodulation unit QAM 501 demodulates a signal that has been modulated by QAM and transmitted from it. distribution center 101, according to tuning information including a specified frequency, by the CPU 514, and passes the result to the POD 504. The demodulation unit QPSK 502 demodulates a signal that has been modulated by QPSK and transmitted from the center distribution 101, according to tuning information that includes a frequency specified by the
CPU 514, and passes the result to the POD 504. The QPSK modulation unit 503 modulates by QPSK the signal passed from the POD 504, according to modulation information including a frequency specified by the CPU 514, and transmits the result to the center. distribution 101. As shown in Figure 6, the POD 504 can be detached from the main body of the terminal apparatus 500. The definition of the connection interface between the main body of the terminal 500 and the POD 504 is given in the specification of HOST-POD interface of OpenCable (R) (OC-SP-HOSTPOD-IF-I12-030210) and in the specifications mentioned by this specification. Here, a detailed description is omitted and only an explanation of portions relevant to the present invention is given. Fig. 7 is a block diagram showing an internal configuration of the POD 504. The POD 504 is formed of a first randomizer unit 701, a second randomizer unit 702, a scrambler unit 703, a primary storage unit 704, a unit secondary storage 705 and a CPU 706. The first randomisation unit 701 receives a scrambled signal from the demodulation unit Q7AM 501 of the terminal apparatus 500 under the instruction of the CPU 706, and desires randomize this signal. Then, the first randomisation unit 701 transmits the randomized signal to the decoder TS 505 'of the terminal apparatus 500. The information that has to be randomized such as a key is provided by the CPU 706 according to the needs. More specifically, the distribution center 101 transmits several pay channels, and when the user buys the right to view these pay channels, the first randomisation unit 701 receives required information such as a key from the CPU 706 and carries out the desudo randomization. , and the user can see these paid channels. When required information such as a key is not provided, the first randomisation unit 701 passes the received signal directly to the TS 505 decoder without performing the scrambling. The second randomisation unit 702 receives a scrambled signal from the demodulation unit QPSK '502 of the terminal apparatus 500 under the instruction of the CPU 706 and wishes to randomize this signal. Then, the second randomisation unit 702 passes the randomized data to the CPU 706. The scrambling unit 703 scrambles the data received from the CPU 706, under the instruction of the CPU 706, and sends the result to the modulation unit QPSK 503 of the apparatus. terminal 500. The primary storage unit 704, specifically formed of a primary memory such as a RAM, is used to temporarily store data when the CPU 706 carries out processing.
The secondary storage unit 705, specifically formed of a secondary storage memory such as a volatile ROM, is used to store a program that will be executed by the CPU 706 as well as to store data that should never be deleted even when the power is turned off. Energy. The CPU 706 executes the program stored in the secondary storage unit 705. The program consists of several subprograms. Figure 8 shows an example of the program stored in the secondary storage unit 705. In Figure 8, a program 800 is formed of several subprograms including a main program 801, an initialization subprogram 802, a network subprogram 803, a playback subprogram. 804 and a subprogram of PPV 805. Here, PPV, which is an abbreviation of Pay Per View, refers to a service that allows the user to see a certain program such as a movie on a charge basis. When the user enters their personal identification number, the purchase of the right to see the program is notified to the distribution center 101, the randomization is canceled, and this program can be seen by the user. This vision of the program requires the user to pay for the purchase at a later date. The main program 801, which is the subprogram activated first by the CPU 706 when the power is turned on, controls the other subprograms. The initialization subprogram 802, which is activated by the main program 801 when the power is turned on, performs the exchange of information with the terminal apparatus 500 to carry out the initialization. This initialization processing is defined in detail in OpenCable (R) HOST-POD Interface Specification (OC-SP-HOSTPOD-IF-030210) and in specifications mentioned by this specification. In addition, the initialization subprogram 802 also performs initialization processing not defined in these specifications. Here, a part of this initialization processing is introduced. When the power is turned on, the initialization subprogram 802 notifies the demodulation unit QPSK 502 of a first frequency stored in the secondary storage unit 705 by means of the CPU 514 of the terminal apparatus 500. The demodulation unit QPSK 502 leads to perform the tuning using the first frequency provided, and transmit the resulting signal to the secondary randomizer unit 702. Moreover, the initialization subprogram 802 provides the secondary scrambling unit 702 desudo randomization information such as a first key stored in the storage unit secondary 705. As a result, the secondary randomizer unit 702 performs scrambling and passes the result to the CPU 706 executing the initialization subprogram 802. Consequently, the initialization subprogram 802 may receive the. information. In the present embodiment, the initialization subprogram 802 receives information through the network subprogram 803. A detailed description of this is given below. In addition, the initialization subprogram 802 notifies the QPSK modulation unit 503 of a second
- frequency stored in the secondary storage unit 705 by means of the CPU 514 of the terminal apparatus
500. The initialization subprogram 802 provides the scrambling unit 703 with scrambling information stored in the secondary storage unit 705. When the initialization subprogram 802 provides, via the network subprogram 803, to the scrambling unit 703 the information to be sent. , the scrambling unit 703 scrambles the data using the shake information provided, and provides the scrambled data to the modulation unit QP3K 503. The modulation unit QPSK 503 modulates the scrambled information it received, and sends the modulated information to the distribution center 101. As a result, it is possible for the initialization subprogram 802 to carry out a two-way communication with the distribution center 101 by means of the terminal apparatus 500, the secondary scrambling unit 702, the scrambling unit 703 and the network subprogram 803. In addition, the initialization subprogram n 802 carries out the activation of a privileged program, based on special program information transmitted by the distribution center 101. Details will be described later. The network subprogram 803, which is used by several subprograms such as the main program 801 and the initialization program 802, is a program intended to carry out a bidirectional communication with the distribution center 101. More specifically, the subprogram of network 803 behaves as if other subprograms using the network subprogram 803 were performing bidirectional communication with the distribution center 101 in accordance with TCP / IP. A detailed explanation of TCP / IP is omitted here, since it is a publicly known technique that specifies the protocols that will be used when exchanging information between several terminals. When activated by the initialization subprogram 802 at the time of power-up, the network subprogram 803 notifies, via the terminal apparatus 500, the distribution center 101 of a MAC address (an abbreviation of Media Access Control) which is an identifier for identifying the POD 504 and which is stored in advance in the secondary storage unit 705, in order to request obtaining an IP address. The distribution center 101 notifies the POD 504 of the IP address via the terminal apparatus 500, and the network subprogram 803 stores this IP address in the primary storage unit 704. Thereafter, the distribution center 101 and the POD 504 communicate with each other using this IP address as the identifier of the POD 504. The playback subprogram 804 provides the first scrambler unit 701 with scrambling information such as a second key stored in the secondary-storage unit 705 as well as the scrambling information such as a third key provided by the terminal apparatus 500, to thereby allow descrambling to be carried out. Moreover, the playback subprogram 804 receives, through its network program 803, information indicating that the signal input to the first randomisation unit 701 is a PPV channel. After notification that the signal is a PPV channel, the playback subprogram 804 activates the PPV subprogram 805. When activated, the PPV subprogram 805 visually displays, on the terminal apparatus 500, a message inviting the user to buy the program, and accepts a user input. More specifically, when the information that is desired to be presented visually on the screen is sent to the CPU 514 of the terminal apparatus 500, a program running on the CPU 514 of the terminal apparatus 500 shows the message on the viewer 509 of the apparatus. terminal 500. After, when the user enters the personal identification number by means of the input unit 513 of the terminal apparatus 500, the CPU 514 of the terminal apparatus 500 accepts it, and sends it to the subprogram PPV 805 running on the CPU 706 of the POD'504 . The PPV subprogram 805 sends, to the distribution center 101, the personal identification number accepted by means of the network subprogram 803. When this personal identification number is valid, the distribution center 101 notifies, through the network subprogram 803, to the PPV subprogram 805 about desired scrambling information required to randomize such as a fourth key. PPV subprogram 805 provides the first randomisation unit 701 with the accepted scrambling information such as the fourth key, and then the first scrambling unit 701 descrambles the input signal. Referring to Figure 5, the TS 505 decoder performs the filtering of the accepted signal from the POD 504, and passes the necessary data to the audio decoder 506, the video decoder 508 and the CPU 514. Here, the signal sent from the POD 504 is an MPEG2 transport stream. A detailed description about an MPEG2 transport stream is given in the MPEG ISO / IEC138181-1 specification, and is therefore not explained in detail in the present embodiment. An MPEG2 transport stream is composed of several fixed length packets, and a packet ID is assigned to each packet. Figure 9 is a diagram showing the structure of a package. 900 It is a packet, which contains 188 bytes of fixed length. The upper four bytes is a header 901 that stores information to identify the packet, and the other 184 bytes is. a payload 902 that stores information that will be transmitted. 903 Shows the break of header 901. A packet ID is included in the 13 bits of the twelfth to the twenty-fourth bits from above. Figure 10 is a schematic diagram illustrating several chains of packets that will be transmitted. A packet 1001 carries a packet ID "1" in its header and includes the first video information A in its payload. A packet 1002 carries a packet ID "2" in its header and includes the first audio information A in its payload. A packet 1003 carries a packet ID "3" in its header and includes the first audio B information in its payload. A packet 1004 carries the packet ID "1" in its header and includes the second video information A in its payload, and is the continuation of the packet 1001. Similarly, the packets 1005, 1026 and 1027 carry subsequent data of the other packages. By concatenating the contents of packet payloads with the same packet IDs in the above manner, it is possible to play video and audio in successive order. Referring to Fig. 10, when the CPU 514 instructs the TS 505 decoder of the packet ID "1" as well as "the video decoder 508" as an output destination, the TS 505 decoder extracts packets with the packet ID " 1"of the MPEG2 transport stream received from the POD 504, and passes them to the video decoder 508. In FIG. 11, therefore, only the video data is passed to the video decoder 508. At the same time, when the CPU 514 indicates to the decoder TS 505 the packet ID "2" as well as "the audio decoder 506", the decoder TS 505 extracts packets with the packet ID "2" of the transport stream MPEG2 received from the POD 504, and passes them to the audio decoder 506. In FIG. 11, only the audio data is passed to the video decoder 508. This processing of extracting only the necessary packets according to the packet IDs corresponds to the filtering that is carried out. by the TS 505 decoder. The decoded r TS 505 is capable of carrying out simultaneously several filtering operations instructed by the instruction of the CPU 514. In reference to FIG., the audio decoder 506 concatenates the audio data inserted into the packets in the transport stream MPEG2 provided by the TS 505 decoder, performs the digital to analog conversion in the concatenated data and sends the result to the output unit of 507. The audio output unit 507 sends the signal provided by the audio decoder 506. The video decoder 508 concatenates video data inserted into the packets in the MPEG2 transport stream provided by the TS 505 decoder, performs the digital to analogous conversion in the concatenated data and sends the result to the viewer 509. The viewer 509, specifically constituted of a Braun tube or liquid crystal, sends the video signal provided by the video decoder 508 and visually presents a specified message by the CPU 514. The secondary storage unit 510, specifically constituted of a volatile memory or a disk hard and similar, stores and erases data and programs specified by the CPU 514. The stored data and programs are referred by the CPU 514. The stored data and programs are kept under storage even when the power is cut off to the terminal apparatus 500.
The primary storage unit 511, specifically constituted by a RAM and the like, temporarily stores and erases data and programs specified by the CPU 514. The stored data and programs are referred by the CPU 514. The stored data and programs are erased when it is cut off. the power to the terminal apparatus 500. The ROM 502 is a read-only memory device, specifically formed of a ROM, a CD-ROM and a DVD, and the like. The ROM 512 stores a program that will be executed by the CPU 514. The input unit 513, specifically formed of a front panel or a remote control, accepts a user input. Figure 11 shows an example of the input unit 513 in the case in which it is configured in the form of a front panel. 1100 It is a front panel, which corresponds to the front panel unit 603 shown in figure 6. This front panel 1100 includes seven buttons, in particular, an upward cursor button 1101, a downward cursor button 1102, a cursor button to the left 1103, a cursor button to the right 1104, an OK button 1105, a cancel button 1106 and an EPG button 1107. When the user presses a button, the identifier of this button pressed is notified to the CPU 514. CPU 514 executes the program stored in ROM 512. According to instructions from the program to be executed, CPU 514 controls the demodulation unit QAM 501, the demodulation unit QPSK 502, the unit of QPSK modulation. 503, the POD 504, the TS 505 decoder, the viewer 509, the secondary storage unit 510, the primary storage unit 511 and the ROM 512. Figure 12 is an example of a structure diagram of a program stored in the R OM 512 and executed by the CPU 514. A program 1200 is configured of several subprograms. Specifically, an OS 1201, an EPG 1202, a Java ® VM 1203 (hereinafter referred to as VM 1203), a service manager 1204 and a Java ® library 1205 (hereinafter referred to as library 1205). OS 1201 is a subprogram activated by the CPÜ
514 when the power is turned on to the terminal apparatus 500. OS 1201 is an abbreviation of operating system, an example of which is Linux and the like. OS 1201 is formed of a core 1201a to execute a subprogram in parallel with another subprogram and a library 1201b, it is a generic name for publicly known technology, and therefore a detailed explanation is omitted. In the present embodiment, the core 1201a of OS 1201 executes EPG 1202 and VM 1203 as subprograms. Meanwhile, the library 1201b provides these subprograms with various functions required to control the constituent elements of the terminal apparatus 500. Here, the tuning is introduced as an example of these functions. In the tuning function, the tuning information including a frequency is received from another subprogram and then passed to the demodulation unit QAM 501. Accordingly, it is possible for the demodulation unit QAM 501 to carry out the demodulation based on in the tuning information provided, and pass the demodulated data to the POD 504. As a result, the other subprograms can control the demodulation unit QAM by means of the library 1201b. The EPG 1202 is formed of a program display unit 1202a for visually displaying a list of programs to the user as well as for accepting an input from the user, and a playback unit 1102b for selecting channels. Here, EPG is an abbreviation of Electric Program Guide. The EPG 1202 is activated when the terminal apparatus 500 is turned on. In the EPG 1202 activated, the program display unit 1202a waits for an input from the user via the input unit 513 of the terminal apparatus 500. Here, in case the input unit 503 has the form of a front panel illustrated in figure 11, when the user presses the EPG button 1107 on the input unit 513, the CPU 514 of the identifier of this EPG button is notified. The program display unit 1202a of EPG 1202, which is a subprogram running on CPU 514, accepts this identifier, and displays program information on viewer 509. Figure 13 (a) and figure 13 (b) ) show examples of a program table presented visually on the viewer 509. Referring to Figure 13 (a), the program information is presented visually on the viewer 509 in a grid pattern. A column 1301 describes schedule information. A column 1302 describes a channel name "Channel 1" and the programs that will be transmitted during periods of time corresponding to the respective times described in column 1301. It is shown that a "News 9" program is transmitted from 9:00 a.m. 10:30, and "Cinema AAA" is broadcast from 10:30 to 12:00 on "Channel 1" X A column 1303 describes a channel name "Channel 2" and the programs that will be transmitted during periods of time corresponding to the respective times described in column 1301, as in the case of column 1302. ü.n "Cine BBB" program is broadcast from 9:00 to 11:00 and "News 11" is broadcast from 11:00 to 12: 001 1330 It's a cursor. The cursor 1330 is moved by pressing the cursor to the left 1103 or the cursor to the right 1104 on, the front panel 1100. When the cursor to the right 1104 is depressed in the state illustrated in FIG. 13 (a), the cursor 1330 moves to the right as shown in Figure 13 (b). Meanwhile, when the left cursor 1103 is pressed in. the state illustrated in figure 13 (b), the cursor 1330 moves to the left as shown in figure 13 (a). When the OK button 1105 on the front panel 1100 is pressed in the state shown in FIG. 13 (a), the program display unit 1202a notifies the reproduction unit 1202b of the identifier of "Channel 1". Meanwhile, when the OK button 1105 on the front panel 1100 is pressed in the state shown in FIG. 13 (b), the program display unit 1202a notifies the playback unit 1102b of the "Channel 2" identifier. Moreover, the program display unit 1202a periodically stores program information that will be presented visually from the distribution center 101 within the primary storage unit 511 via the POD 504. It usually takes time to obtain information from the center's programs. of distribution. However, it becomes possible to visually display a program table quickly by visually displaying the program information that is pre-stored in the primary storage unit 511 by pressing the EPG button 1107 of the input unit 513. The reproduction unit 1102b plays the channel using the identifier of the received channel. The relationship between channel identifiers and channels is pre-stored by the secondary storage unit 510 as channel information. Figure 14 shows an example of the channel information stored in the secondary storage unit 510. The channel information is stored in tabular form. A column 1401 describes the identifiers of the channels. A column 1402 describes the names of the channels. A column 1403 describes tuning information. Here, the tuning information is represented by values that will be provided to the demodulation unit 'QAM 501 such as frequency, transmission rate and coding ratio. A column 1404 describes program numbers. Program numbers are numbers used to identify PMTs defined by the MPEG2 standard. A description about PMT is given below. Each of the lines 1411-1414 indicates an identifier set, 'channel name and tuning information of each channel. Line 1411 describes a set that includes "1" as an identifier,
"Channel 1" as a channel name, a frequency of "312MHz" as tuning information and "101" as a program number. The reproduction unit 1102b passes the identifier of the received channel directly to the service administrator in order to reproduce the channel. Further, when the user presses the upward cursor 1101 and the downward cursor 1102 on the front panel 1100 while the reproduction is taking place, the playback unit 1102b receives a notification about this oppression by the user of the input unit 513. by means of the CPU 514 and changes the channel that is being played to another. First, the playback unit 1102b stores, in the primary storage unit 511, the channel identifier that is currently being reproduced. Figures 15 (a), 15 (b) and 15 (c) show exemplary identifiers of channels stored in the primary storage unit 511. Figure 15 (a) shows that an identifier "3" is stored, and is displayed at refer to figure 14 that a channel with the channel name "TV 3" is being reproduced. When the user presses the upward cursor 1101 in a state illustrated in Fig. 15 (a), the playback unit 1102b refers to the channel information shown in Fig. 14, and passes the identifier "2" of a channel with the channel name of "Channel 2" to the service manager in order to play a channel with the channel name of "Channel 2" again, which is the previous channel in the table. At the same time, the reproduction unit 1102b rewrites the identifier in the channel identifier "2" stored in the primary storage unit 511. Figure 15 (b) shows this rewritten channel identifier. Meanwhile, when the user presses the downward cursor 1102 in the state illustrated in FIG. 15 (a), the playback unit 1102b refers to the channel information shown in FIG. 14, and passes the identifier "4" of a channel with the channel name of "TV Japan" to the service manager to play again a channel with the channel name "TV Japan", which is the next channel in the table. At the same time, the reproduction unit 1102b rewrites the identifier in the channel identifier "4" stored in the primary storage unit 511. Figure 15 (c) shows this rewritten channel identifier. VM 1203 is a Java ® virtual machine that sequentially analyzes and executes programs written in the ® language. Programs written in the Java ® language are compiled in intermediate codes known as byte codes which do not depend on hardware. The Java ® virtual machine is an interpreter that executes these byte codes. Some of the Java ® virtual machines translate the byte codes into an executable form that can be interpreted by the CPU 514 and pass the result to the CPU 514 which executes it. The VM 1203 is activated, with a Java ® program that will be executed being specified by the 1201a kernel. In the present embodiment, the core 1201a specifies the service manager 1204 as a Java ® program to be executed. A detailed commentary on the Java ® language is given in many books that include "Specification of Java ® Language" (ISBN 0-201-63451-1). Here, a detailed description will be omitted. In addition, a detailed commentary on the operation of the Java ® VM itself is available in many books such as "Specification of Java ® Virtual Machines" (ISBN 0-201-63451-X). Therefore, a detailed description will be omitted here. Service manager 1204, which is a Java ® program written in the Java ® language, is executed by VM 1203 sequentially. It is possible that the service manager 1204 calls and is called by another subprogram not written in the Java ® language through the JNI (Native Java ® Interface). A commentary on J I is given in many books that include "Native Java ® Interface". Thus, a detailed description is omitted here. The service manager 1204 accepts the identifier of the channel that comes from the reproduction unit 1102b through the JNI. First, the service manager 1204 passes the channel identifier to a Tuner 1205c in the Java library 1205 in order to request tuning. The Tuner 1205c refers to the channel information stored in the secondary storage unit 510 to obtain the tuning information. Assuming that the service manager 1204 passes the identifier "2" of the channel to the tuner 1205c, the tuner 1205c refers to the column 1412 shown in figure 14, and obtains the tuning information "156MHz", which corresponds to the channel: The Tuner 1205c passes the tuning information to the demodulation unit QAM 501 by means of the library 1201b of the OS 1201. The demodulation unit QAM 501 demodulates the signal sent from the distribution center 101 according to the tuning information given to the demodulation unit QAM 501, and passes the resulting signal to the POD 504. Then,. the service administrator 1204 requests a CA 1205b within the library 1205 to carry out the desudo randomization. The CA 1205d provides the POD 504 with the information required for desudo randomization, through the library 1201b in the OS 1201. Based on this provided information, the POD 504 desires randomize the signal provided by the demodulation unit QAM 501, and passes the signal resulting to the TS 505 decoder. Then, the service manager 1204 provides a JMF 1205a within the library 1205 with the identifier of the channel, in order to request the reproduction of the video and audio. First, the JMF 1205a obtains, from a PAT and a PMT, packet IDs used to specify the video and audio to be played. PAT and PMT are tables defined by the MPEG-2 standard that show the alignment of programs included in an MPEG2 transport stream. PAT and PMT are carried on payloads in packages included in an MPEG2 transport stream, along with audio and video. Refer to the specification for a detailed description of PAT and PMT. Here, only a general description of PAT and PMT is given. PAT, which is an abbreviation of Program Association Table, is carried in packages with the package ID "0". In order to obtain the PAT, the JMF 1205a indicates, to the TS 505 decoder, the ID of 'package "0" and the CPU 514 through the library 1201b of the OS 1201. Then, the TS 505 decoder carries out the filtering with based on the packet ID "0", and passes the result to the CPU 514. Accordingly, the JMF 1205a can collect the PAT packets. Figure 16 illustrates a table schematically showing an example of the PAT information collected. A column 1601 describes program numbers. A. column 1602 describes package IDs. The packet IDs shown in column 1602 are used to obtain the PAT. Each of the lines 1611-1613 is a pair of one channel program number and a packet ID corresponding thereto. Here, three channels are defined. Line 1611 defines a pair of program number "101" and packet ID "501". Assuming that the channel identifier provided to JMF 1205a is "2", JMF 1205a refers to column 1412 of figure 14, so as to obtain the program number "102" corresponding to this channel identifier, and then refers to the line 1612 in the PAT shown in FIG. 16, in order to obtain the packet ID "502" corresponding to the program number "102". PMT, which is an abbreviation of the Program Map Table, is carried in packages with the package IDs specified in the PAT. To obtain the PMT, the JMF 1205a indicates, to the TS 505 decoder, a packet ID and the CPU 514 through the library 1201 of the OS 1201. Here, a packet ID that will be specified is "502". After, the TS 505 decoder performs the filtering based on the packet ID "502", and passes the result to the CPU 514. Accordingly, the JMF 1205a can collect the PMT packets. Figure 17 illustrates a table schematically showing an example of the collected PMT information. A column 1701 describes current types. A column 1702 describes packet IDs. The information specified in the respective current types is carried in the payloads of packets with the packet IDs specified in column 1702. A column 1703 describes additional information. Each of lines 1711-1714 is a pair of a packet ID and the type of information that is being transmitted, which is known as an elementary stream. Column 1711, which is a pair of the "audio" stream type and packet ID "5011", indicates that 'audio data is stored in the payload of the packet with the packet ID "5011". The JMF 1205a obtains, from the PMT, the package IDs of the video and audio that will be reproduced. Referring to Figure 17, JMF 1205a obtains audio packet ID "5011" from line 1711, and video packet ID "5012" from line 1712. Next, JMF 1205a provides the TS 505 decoder. pairs of the obtained audio packet ID and the audio decoder 506 as an output destination as well as the video packet ID and video decoder 508 as an output destination, by means of library 1201b of OS 1201. The TS 505 decoder performs filtering based on these package IDs provided and the output destinations. Here, the packet with the packet ID "5011" is passed to the audio decoder 506 and the packet with the packet ID "5012" is passed to the video decoder 508. The audio decoder 506 performs digital to analog conversion in the package provided, to thereby reproduce the audio by means of the loudspeaker 507. The video decoder 508 performs the digital-to-analog conversion in the package provided, in order to visually present the video on the 509 viewer. Finally , the service manager 1204 provides the channel identifier to an AM 1205b in the library 1205, in order to request the reproduction of the data transmission. Here, the reproduction of data transmission means extracting a Java ® program included in the MPEG2 transport stream and causing the VM 1203 to execute it. As a technique for inserting a Java ® program into an MPEG2 transport stream, a method known as DSMCC is used, which is described in the MPEG ISO / IEC138181-6 specification. A detailed explanation of DSMCC is omitted here. The DSMCC specification defines a method for encoding a file system comprising directories and files used by a computer, in packets within an MPEG2 transport stream. The information about the Java ® program that will be executed is carried in packages in the MPEG2 transport stream in the form of AIT. AIT is an abbreviation of Application Information Table, and is defined in the OCAP 1.0 specification (formally known as OCAP Profile1.0 OC-SP-OCAPl .0-IF-I09-031121). First, in order to obtain the AIT, the AM 1205b obtains the PAT and PMT as in the case of JMF 1205a, to obtain the package ID of the package stored by the AIT.
Assuming that "2" is the channel identi provided and that the PAT shown in Figure 16 and the PMT shown in Figure 17 are being transmitted, the 7? M 1205b obtains the PMT shown in Figure 17 according to the same procedure - followed by JMF 1205a. Subsequently, AM 1205b extracts, from the PMT, the packet ID of the elementary current whose current type is "Data" and which has "AIT" as additional information. As shown in Fig. 17, the elementary current on line 1713 corresponds to this elementary stream and therefore AM 1205b obtains packet ID '"5013" thereof. The AM 1205b provides the TS 505 decoder with the packet ID of the AIT and the CPU 514 as an output destination through the library 1201b of the OS 1201. Then, the TS 505 decoder carries out the filtering based on this ID of package provided, and passes the result to the CPU 514. Accordingly, the AM 1205b can collect the AIT packets. Figure 18 is a table schematically showing an example of the AIT information collected. A column 1801 describes identis of Java ® programs
(indicated as a program identi in the diagram).
A .column 1802 describes the control information for controlling Java ® programs. The control information includes "auto start", "present" and "delete". "Auto start" means that the terminal apparatus 500 automatically executes the program quickly. ' "Present" means that the program is not executed automatically. "Delete" means that the program will be terminated. A column 1803 describes DSMCC identis used to extract packet IDs that include Java ® programs in the DSMCC format. A column 1804 describes program names of Java-® programs. Each of lines 1811 and 1812 is a set of information about a Java ® program. The Java ® program defined in line 1811 is a set of an identi "301", control information "auto start", a DSMCC identi "1" and a program name "a / TopXlet". The Java ® program defined in column 1812 is a set of an identi "302", control information "present", a DSMCC identi "1" and a program name "b / GameXlet". Here, these two Java ® programs have the same DSMCC identi. This indicates that two Java ® programs are included in the file system that has been encoded according to the same DSMCC method. Here, only four pieces of information are speci for the respective Java ® programs, but more pieces of information are currently speci. Refer to the OCAP 1.0 specification for details. The AM 1205b finds the Java ® program "auto start" of the AIT, and extracts the corresponding DSMCC identi and the name of the Java ® program. Referring to Figure 18, AM 1205b extracts the Java ® program on line 1811, and obtains the DSMCC identi "1" and the Java ® program name "a / TopXlet". Then, the AM 1205b obtains, from the PMT, the packet ID of packets storing Java ® programs in the DSMCC format, using the DSMCC - obtained from the AIT. More specifically, AM 1205b obtains, from the PMT, the packet ID included in the elementary stream whose current type is "Data" and whose DSMCC identi in the additional information matches. Here, assuming that this DSMCC identi was "1" and that the PMT was that shown in Figure 17, the elementary stream on line 1714 satis the previous condition. Therefore, package ID "5014" will be extracted. The AM 1205b indicates, to the TS 505 decoder, the packet ID of packets in which the data is inserted in the DSMCC format as well as the CPU 514 as an output destination through the library 1201b of the OS 1201. Here, the package ID "50l'4" is provided. Then, the TS 505 decoder performs filtering based on the package ID provided, and passes the result to the CPU 514. Accordingly, the AM 1205b can collect the required packets. The AM 1205b reconstructs the file system from the packets collected in accordance with the DSMCC method, and stores the reconstructed file system in the primary storage unit 511. The process for extracting data such as the packet file system in the MPEG2 transport and store the extracted data in the storage units such as the primary storage unit 511 is hereinafter called download. Figure 19 shows, an example of the file system downloaded. In the diagram, circles represent directories and squares represent files, where 1901 is a root directory, 1902 is a "a" directory, 1903 is a "b" directory, 1904 is a "TopXlet. Class" file, and 1905 is a file "GameXlet. Class". Subsequently, the AM 1205b passes, to the VM 1203, a Java ® program that will be executed outside the file system downloaded to the primary storage unit 511. Here, assuming that the name of the Java ® program to be executed is "a / TopXlet ", a file" a / TopXlet. Class "result of attaching" .class "to the previous Java ® program name is a file that will be executed. "/" is a delimiter between a directory and a file name, and as shown in figure 19, file 1904 is a Java ® program that will be executed. Next, AM 1205b passes the 1904 file to VM 1203. VM 1203 runs this received Java ® program.
After receiving the identifier of another channel, the service administrator 1204. concludes the reproduction of the video and audio as well as the execution of the Java ® program that are being carried out through each library including the Java library 1205, also through of each library included in the same library 1205, and then performs video and audio playback as well as running a Java ® program according to the newly received channel identifier. The library 1205 is a collection of several Java ® libraries stored in the ROM 512. In the present embodiment, the library 1205 includes the JMF 1205a, the AM • 1205b, the tuner 1205c, the CA 1205d, a POD Lib 1205e, unit administration MA 1205f, and the like. It is mentioned that the initialization subprogram
802 carries out the activation of a privileged program based on special program information transmitted by the distribution center 101. Details of twill be described. The OCAP 1.0 specification stipulates a procedure in which a privileged program (hereinafter referred to as a monitor application) is downloaded from an external source to the terminal apparatus and executed in place of a program previously provided in the terminal such as EPG 1202. As a function of the monitor application, for example, there is the visual presentation of an electronic program guide. In addition, it stipulates that, in case it is specified that a monitor application exists and that it must be activated automatically, the monitor application must be executed. Here the details are omitted, and only the relevant areas for the present invention will be described. Figure 20 is a table schematically representing an example of information of special programs (hereinafter referred to as XAIT) that will be transmitted from the distribution center 101. Since the XAIT adopts a structure similar to that of the AIT shown in the figure 18, the same constituent elements are assigned the same reference numbers, and their description will be omitted. ' A column 2005 describes a monitor application identifier. Unlike the processing of the AIT on the AM 1205b, only programs that have a monitor application ID of 1 or higher, for example, are treated as a monitor application. In case there are several programs that have a monitor application ID of 1 or higher in the XAIT, all these programs are treated as monitor applications. Details will be given later. Note that although it is mentioned that only those that have a monitor application identifier of 1 or higher are treated as monitor applications, it is also possible to determine whether or not a program should be handled as a monitor application, in accordance with a different condition. The initialization subprogram 802 carries out the activation of a special program based on special program information transmitted from the distribution center 101, upon instructing the activation of the monitor application to the MA 1205f management unit. Figure 21 is a block diagram showing an example of the structure of the administration unit MA 1205f. . The administration unit MA 1205f includes a MA 221 management unit main conductor, an XAIT 2102 procurement analysis unit, a MA 2103 selection unit, an MA 2104 activation unit, a MA 2105 monitoring unit and a selection unit MA B 2106. The main administration channel MA 2101 plays the central role in the management unit MA 1205f and implements the functions of the management unit MA 1205f upon receiving an instruction from the initialization subprogram 802 and. use the other constituent elements within the MA 1205f administration unit.
The procurement analysis unit of XAIT 2102 analyzes, in accordance with the instruction from the main driver of MA 2101 management unit, an XAIT sent from the distribution center 101 and returns the result of the analysis to the main conductor of the MA 2101 management unit. For example, the details shown in figure 20 are returned as the result of the analysis. The MA 2103 selection unit selects the monitor application that will be activated based on the result of the XAIT analysis passed from the main driver of the MA 2101 management unit, and returns the result to the main driver of the MA 2101 management unit. example, in case the details in figure 20 are given as the result of the XAIT analysis, the selection unit MA A 2103 may select the program indicated in row 1811, as the monitor application to be activated. The activation unit MA 2104 carries out the activation of the monitor application specified by the conduit 2101. For example, in case the program shown in the row 1811 of figure 20 is specified, it activates "/ a / MAl" as the monitor application. The description of the activation method will be omitted as it is the same as the MA 1205b operation.
The monitoring unit MA 2105 monitors the operating status of the monitor application specified by the conductor 2101 and, in the event of an abnormal conclusion, notifies this fact to the driver 2101. As a technique to recognize the occurrence of an abnormal conclusion, the judgment of this can be done, for example, by receiving exceptions sent by the monito application. Since the exceptions are defined - in the specification of the Java ® language, the description will be omitted. In addition, it is also possible to have the MA 2105 monitoring unit monitor several monitor applications at the same time. The selection unit MA B 2106 selects an alternative application according to an instruction from the conductor MA 2101, and returns the result of the selection to the conductor 2101. Figure 22 is a flow chart showing the procedure for activating applications of monitor carried out by the MA 1205f administration unit. When the main management unit pipe MA 2101 receives the instruction from the initialization subprogram 802, first, the main management unit pipe MA 2101 sends an XAIT analysis instruction to the procurement analysis unit of XAIT 2101, and the XAIT obtaining analysis unit 2101 attempts to obtain the XAIT that is being sent from the distribution center 101 (S2201). In addition, the procurement analysis unit of XAIT 2102 analyzes the XAIT
(S2203), and returns the result of the analysis to the main unit of administration unit MA 2101. When, based on the result of the analysis, the main unit of administration unit MA 2101 requests the selection unit MA A 2103 to select a monitor application, the selection unit MA A 2103 selects the monitor application that will be activated, based on the information sent by the main conduit of the MA management unit
2101, and returns the result of the selection to the main conduit of management unit MA 2101 (S2204).
Note that in case of failure to obtain or analyze
XAIT in S2201 or in S2203, the selection unit MA A 2103 returns an alternative program (e.g., EPG 1202) to the main duct of management unit MA 2101, as the result of the selection. When, based on the result returned by the MA A 2103 selection unit, the MA 2101 management unit main conduit instructs the MA 2104 activation unit when activating the monitor application, the MA 2104 activation unit activates the application of monitor instructed by the main conduit of management unit MA 2101 (S2205). When, in addition, the MA 2101 management unit main conduit instructs the MA 2105 monitoring unit to monitor the operating status of the monitor application activated by the MA 2104 activation unit, the MA 2105 monitoring unit initiates the status monitoring operation of the instructed monitor application (S2206). In addition, in the case that several monitor applications are selected in S2204, the main management unit MA 2101 selects, from among these monitor applications, a monitor application whose activation has not yet been instructed to the MA activation unit. 2104, and also attempts to activate and monitor the monitor application (S2207). When the MA 2101 management unit main conduit concludes giving activation and monitoring instructions for all selected monitor applications in S2204, the process with respect to the activation of the monitor application is completed. In addition, in case a monitor application that will be activated is not selected in S2204, the MA 2101 management unit main conduit can carry out the processes from S2205 onwards, with an alternative program (for example, the EPG 1202) being selected. Here, the process will be described in case the activated monitor application terminates abnormally at an unforeseen time. The OCAP 1.0 specification stipulates that, in the event that a monitor application terminates abnormally, the reactivation of this monitor application should be attempted. However, based on the actual experience of an abnormal conclusion, an abnormal conclusion may be expected to reoccur after reactivation. In view of this, the present invention describes a method in which an alternative program is executed instead of the monitor application expected to be completed normally. Note that although it is preferred that the normal operation of the alternative program be guaranteed (in other words, that an abnormal conclusion does not occur), implementation is possible even when this is not guaranteed. Figure 23 is a flow chart that shows the process in case the activated monitor application terminates abnormally at an unforeseen time. When the MA 2105 monitoring unit detects the abnormal conclusion of the currently monitored monitor application (S2301), the MA 2105 monitor unit concludes monitoring of the monitor application abnormally concluded, and notifies the occurrence of the abnormal conclusion to the main conduit of administration unit MA 2101 (S2303). After receiving the notification regarding the abnormal conclusion from the MA 2105 monitoring unit, the MA 2101 management unit main conduit requests the selection of an alternative program to the MA B 2106 selection unit. According to the request coming from of the MA 2101 management unit main duct, the MA B 2106 selection unit selects an alternative program and returns, to the main duct of management unit MA 2101, information necessary for the activation of the alternative program
(S2304). The necessary training for the activation of the alternative program is, for example, the name of the program, the location in which the program is stored, and the like. Based on the information returned by the selection unit MA B 2106, the main unit of administration unit MA 2101 instructs the activation of the alternative program to the activation unit MA 2104 (S2305). The main conduit of management unit
MA 2101 requests the monitoring unit MA 2105 to monitor the operating status of the alternative program (S2306). In addition, should the alternative program terminate abnormally, the following alternative program is selected and activated in the same procedure (S2301 a
S2306) as is the case when the monitor application mentioned above terminates abnormally. Furthermore, in the result S2303, the main administration unit pipe MA 2101 does not necessarily have to carry out the alternative program activation process (in other words, S2304 onwards). For example, in case several monitor applications are selected in S2204 in Figure 22 and as a result several monitor applications are activated, it is possible to have the MA 2101 management unit main conduit carry out the process of alternative program activation (in other words S2304 onwards) only in case all these monitor applications terminate abnormally. In addition, it is also possible to make the alternative program activation process take place only in the event that it terminates - usually a specific monitor application. The specific monitor application is, for example, the monitor application in the 2005 column of Figure 20, specified by the monitor application identifier 1. In this case, even when the monitor application specified by the application identifier of monitor 2 concludes abnormally, the process of activating the alternative program does not have to be carried out. Furthermore, in this case, the implementation is also possible even when the process in S2206 (in other words, the monitoring in the operational state) in Figure 22 is not carried out for the monitor application that 'does not have' an identifier of monitor application 1. Note that, although EPG 1202 was mentioned as an example of the alternative program, another program can be used as the alternative program, as long as activation is possible. For example, implementation is still possible even when a program that restarts the terminal apparatus or a program that only performs simple channel exchange, such as an alternative program. In addition, the alternative program may specify the information of a program to the MA 2101 administration unit main conduit in such a way that it becomes possible to request the activation of another alternative program. For example, it is possible that. alternative program instructs the reactivation of the monitor application without it having normally concluded previously, and then, the monitor application is activated. Moreover, although EPG 1202, which is the example of the alternative program, is described as being provided earlier in the terminal apparatus, the present invention can also be implemented even without this prior preparation. For example, in the alternative program activation stage, it is also possible to download from an external source and activate the downloaded program. For example, the alternative program may be downloaded via a network, or downloaded from an MPEG stream received by the terminal apparatus. With this, a program that is not previously provided can be activated as the alternative program. Note that although it is mentioned that the monitor application is downloaded and executed, the present invention can also be implemented even in case the monitor application is stored in the secondary storage unit 705 during the first download and, from the second time on, the monitor application stored in the secondary storage unit 705 is used in place of the download. Note that although the description is carried out for the case in which the selection unit MA B 2106 selects the EPG 1202 as the alternative program, the implementation is possible as long as it is possible to select, using an arbitrary selection method , an arbitrary program that is capable of being activated. In addition, it is possible, in case the monitor application abnormally concludes, to have the MA 1205f management unit store the details of the abnormal conclusion in the primary storage unit
511, or the secondary storage unit 510. In addition, the stored details may also be transmitted to a destination outside the terminal apparatus. Although the details to be stored are, for example, the time at which the abnormal conclusion occurred, the Java® program identifier, the program name, the type of the abnormal conclusion (for example, insufficient memory), and so on, Implementation is possible as long as it is information that at least allows distinguishing the occurrence of the abnormal conclusion. In addition, examples of the destination outside of an information terminal are the manufacturer of the terminal apparatus and the transmission operator. Thus, transmitting to the manufacturer of the terminal apparatus in case an abnormal conclusion occurs due to a malfunction in the terminal apparatus, the manufacturer of the terminal apparatus can immediately implement a countermeasure. Also, when transmitting the transmission operator in case the occurrence is caused by a failure in the monitor application, it becomes possible to immediately correct the decomposition in the monitor application. The process in this case is shown in Figure 24. Moreover, in Figure 24, parts that have processes that are the same as those. of Figure 23 are assigned the same reference numbers, and their description will be omitted. When the main management unit MA 2101 detects an abnormal conclusion of the monitor application in accordance with S2303 in Figure 24, the MA 2101 management unit main conduit stores the details of the abnormal conclusion in the primary storage unit 511 or the secondary storage unit 510 (S2410). In addition, the main management unit pipe MA 2101 transmits the stored details to a destination outside the terminal apparatus.
Subsequently, the main conduit of management unit MA 2101 continues with the processes of S2304 onwards. Furthermore, with respect to the transmission means, any implementation is possible as long as it allows the communication of the information to the outside of the terminal apparatus. For example, it is possible to transmit the stored details using FTP and email which are commonly known technology. In addition, implementation is also possible using a removable storage device as the secondary storage device. In this case, it is also possible to have an implementation in which the transmission to the outside is not carried out, and the removable storage device is transported using a certain means of transport. Moreover, in the present embodiment, it is also possible to eliminate the ROM 512 by storing the details stored by the ROM 512 in the secondary storage unit 510. Moreover, it is also possible that the secondary storage unit 510 is formed of several Sub-secondary storage units, each of the sub-secondary storage units storing different information. For example, it is possible to have a detailed division in which, for example, one of the sub-secondary storage unit stores only tuning information, another sub-secondary storage unit stores the 1201b library of OS 1201, and still another unit Sub-secondary storage store a downloaded Java® program, and so on. Furthermore, although in the present embodiment the registered Java ® program is stored in the secondary storage unit 510, it can also be stored in the primary storage unit 511. In case of storing the primary storage unit 511, all information is lost when the power is off.
Second Mode The first mode describes the case in which the selection unit MA B 2106 selects EPG 1202 as the alternative program. The present embodiment describes the case in which, as a different selection method, the selection unit MA B 2106 once again selects the same program as that of the selection result from the selection unit MA A 2103 (in others words the program that has concluded abnormally). This is the case when, even when a monitor application terminates abnormally, the same monitor application is reactivated by the MA 1205f management unit according to some basis of judgment.
This basis of judgment, by. example, it is when a counter or corrective measure for the cause of the abnormal conclusion is known in advance and, when implementing the countermeasure after the abnormal conclusion, a normal operation can be expected after the reactivation. The countermeasure, for example, in case the monitor application terminates abnormally due to insufficient memory, is the assurance of the memory capacity that can be used by the monitor application, by means of the conclusion of the other programs. In the present modality, during the occurrence of
• an abnormal conclusion of the memory application, the MA 2105 monitoring unit notifies the unit and the main unit of the MA 2101 management unit of the occurrence of the abnormal conclusion, as well as, for example, a code indicating the cause of the abnormal conclusion of the monitor application. The MA 2101 administration unit main conduit contains previously, in a table or similar, countermeasures corresponding to codes (cause of the abnormal conclusion), and determines the countermeasure that corresponds to the notified code and implements the determined countermeasure. Figure 25 shows the operating procedure in the present embodiment. In Figure 25, the parts that are the same as those in Figure 23 are assigned the same reference numbers, and their description is omitted. In S2303, the MA 2105 monitoring unit notifies the occurrence of the abnormal conclusion of the monitor application as well as the code indicating the cause of the abnormal conclusion of the monitor application, to the main conduit of MA 2101 management unit. , when the main unit of administration unit MA 2101 requests the selection unit MA B to select an alternative program, the selection unit B MA 2106 selects, like the alternative program, the monitor application that ended abnormally, and returns the information necessary for the activation of the monitor application to the main conduit of MA 2101 management unit (S2510). The information necessary for the activation of the monitor application is the information returned in S2204 in figure 22, or a part of it, and additional information. The additional information is, for example, the number of times the selected monitor application has terminated abnormally, and the number of times the monitor application has been selected as an alternative program. In this case, to store the number of times in which the monitor application has terminated abnormally, the selection unit MA B 2106 stores this information in the primary storage unit 511 for example. Figures 26 (a), 26 (b) and 26 (c) are tables schematically representing the data stored in the primary storage unit 511. A. column 2601 is a Java ® program identifier, a column 2602 is the number of items that the program indicated by the Java ® program identifier has terminated abnormally. A row 2611 and a row 2612 are the information set of Java ® programs. For example, with reference to Figure 26 (a), the Java ® program in row 2611 is defined by the set of identifier "301" and the number of abnormal program conclusions "0". The Java ® program in row 2612 is defined by the identifier set "302" and the number of abnormal program conclusions "0". Figure 26 (a) shows the details contained before the process in S2302 in Figure 23. In S2303 in Figure 25, in case it is notified that the monitor application having the Java® 301 identifier has terminated abnormally, the data maintained in the primary storage unit 511 change for those shown in figure 26 (b). Note that the implementation is also possible even without the additional information. The main unit of administration unit MA 2101 determines the countermeasure corresponding to the notified code, and implements the determined countermeasure for the cause of the abnormal conclusion (S2511). Subsequently, the processes of S2305 onwards are carried out. With this procedure, after the abnormal conclusion of the monitor application, it is possible once again to activate the same monitor application.
Third Mode The second mode describes the case in which, as an example, the selection unit MA B 2106 once again selects the same program as that in the selection result of the selection unit MA to 2103 (in other words the program that has ended abnormally). In the present embodiment, as a different selection method, it is possible to have the selection unit MA B 2106 once again select the same program as that in the selection result of the selection unit MA A 2103 (in other words, the program that ended abnormally) until the N abnormal conclusion, and which selects another program (for example EPG 1202) from N + 1 time onwards. Here, the description will be carried out for the case where N = 2 times, and an alternative program is selected when the monitor application having the Java ® program identifier 301 concludes abnormally. Figure 27 is a flow chart showing the operating procedure in the present embodiment. In Figure 27, the parts that are the same as the procedures in Figure 23 are assigned the same reference numbers, and their description will be omitted. In the event that the monitor application having the Java ® program identifier 301 terminates abnormally for the first time, the main management unit MA 2101 requests, as a result of S2303, the selection unit MA B 2106, selecting an alternative program, and the selection unit MA B 2106 first counts the number of abnormal conclusions (Step S2701). More specifically, the details stored in the primary storage unit 511 are changed from those in Figure 26 (a) by those in Figure 26 (b). Then, referring to the number of times the program has concluded
'abnormally shown in Figure 26, it is judged whether or not the number of abnormal conclusions is equal to or greater than a predetermined number of times (N times) (step S2702). Here, in case the number of abnormal conclusions is not equal to or greater than the predetermined number of times (N times) (not in step S2702), the selection unit MA B 2106 selects the monitor application having the identifier of Java® program 301 (step S2704), and the processes of S2305 onwards are carried out subsequently. On the other hand, in case the number of
- abnormal conclusions equal to or greater than the predetermined number of times (N times) (yes in step S2702), the selection unit MA B 2106 selects a program other than the monitor application that has the Java® program identifier 301 (for example, EPG 1202) (step S2703), and the processes of S2305 onwards are carried out subsequently. In this example, reference is made to column 2602 of Figure 26 (b), and it is found that the number of abnormal conclusions up to this point is 1. Therefore, the selection unit MA B 2106 selects the monitor application that has the Java ® program identifier 301. From there, the processes from S2305 onwards are carried out. Then, in the event that the monitor application stops the Java ® program identifier 301 to terminate abnormally a second time, the main management unit MA 2101 requests, as a result of S2303, the selection unit MA B 2106 to select an alternative program, and the selection unit MA B 2106 first changes the details stored in the primary storage unit 511, from those of figure 26 (b) by those of figure 26 (c). Next, it refers to the number of times the program has concluded abnormally shown in Figures 26 (a) -26 (c). At this time, column 2602 in Figure 26 (c) is referenced, and it is found that the number of abnormal conclusions up to this point is 2.
Here, since the. number of times predetermined (in this case, 2 times) has already been reached, the selection unit MA B 2106 selects' a program other than the monitor application which has the Java ® program identifier 301. From there, the processes from S2305 onwards are carried out. Thus, with respect to the abnormal conclusion for the monitor application having the Java ® 301 program identifier, it is possible to activate, once again, the monitor application having the Java ® 301 program identifier until the first time , and activate a program that is not the monitor application that has the Java ® program identifier 301 for the second time onwards. Note that although the description is made for the case where N = 2, N can be any integer equal to or greater than 1.
Fourth Modality The first to third modalities describe cases in which the program to be selected is determined in advance, such as the method of selection of alternative programs used by the selection unit MA B 2106. However, as another method of selection, also it is possible to have a method in which a list of programs that serve as selection candidates is presented to the observer, and the observer is made to make the selection. Figure 28 is a flow chart showing the operating procedure in the present embodiment. In addition, to the parts that are equal to those of the processes of the figure
23 are assigned the same reference numbers, and their description will be omitted. When, as a result of S2303, the main unit of management unit MA 2101 requests the selection unit MA B 2106 to select an alternative program, the selection unit MA 2106 first creates a list of programs that can be selected as the program alternative (S2810). Then, the selection unit MA B 2106 presents the list of programs created to the observer, and indicates the selection (S2811). The selection unit MA B 2106 determines the alternative program, based on the selection of the observer (S2812). From there, the processes of S2305 onwards are carried out. Here, Fig. 29 is a table schematically representing the list of programs that can be selected as the alternative program, created by the selection unit MA B 2106 in S2810. a column 2901 is a Java ® program identifier. A column 2902 is a program name. Row 2911 and row 2912 are the information set of the Java ® program. The Java ® program in row 2911 is defined by the identifier set "301" and the program name "MAl". The Java ® program in row 2912 is defined by the identifier set "701" and the program name "EPG". Note that it is possible to use details other than those shown in Figure 29, as long as they include information that allows the selection unit MA B 2106 'to distinguish the programs. In addition, as long as the activation is possible, the programs included in the list can be located anywhere. Figure 30 is a diagram showing an example of the visual presentation presented to the observer at S2810. Here, a dialogue 3001 is presented visually on the viewer 509. The observer selects a program from the displayed programs. For example, "MA1" is selected by pressing the "1" button on the remote control. In this case, since the selection unit MA B-2106 is aware that the observer has selected the identifier. "301", the selection unit MA B 2106 determines the program having the identifier "301" as the alternative program. Moreover, in case the observer selects "EPG" by pressing the "2" button on the remote control, since the selection unit MA B 2106 is aware that the observer has selected the identifier "701", the selection unit MA B 2106 determines EPG 1202, which is the program that has the identifier "701", as the alternative program. Note that it is possible to use other details as long as they can at least include information that allows the observer to distinguish the programs. In addition, any visual presentation format and selection method can be used as long as, at least, the program selected by the observer is communicated to the selection unit MA B 2106. Moreover, it is also possible to do, through the selection of a certain condition, that the selection unit MA • B 2106 selects the alternative program without waiting for the selection by the observer. For example, it is possible that, after the presentation to the observer, the observer does not make a selection even after 30 seconds have elapsed, that the selection unit MA B 2106 selects, like the alternative program, the EPG 1202 that be the program that has the identifier "701".
Fifth Mode It is possible that, after receiving notification of abnormal termination of the MA 2105 monitoring unit in the first to third modes, the selection unit MA B 2106 may notify the observer of the occurrence of the abnormal conclusion.
Figure 31 is a diagram showing an example of a method for notifying the observer. For example, notification is possible by visually presenting a seven segment LED 3102 in the main body of the terminal apparatus, or by lighting a lamp 3101 in the main body of the terminal apparatus. Figure 32 shows an example- of the visual presentation made in case the abnormal conclusion of the monitor application is notified when presenting visually on the viewer 509. The message to the observer is indicated within a 3201 dialogue and, when presented visually dialog 3201 on the 509 viewer, the observer can be notified of the occurrence of the abnormal conclusion. Note that apart from the methods shown as examples in Figure 31 and 32, implementation is possible as long as the presentation is made using a method that allows its recognition by the observer.
Sixth Modality This modality describes the case in which the Java ® program activated based on the information in the XAIT obtained from the distribution center 101 is a special monitoring application that is registered, instead of a program within the library 1202b of the OS 1201, as the Java ® program that can be mentioned by the POD 504, and which can transmit to receive messages to and from a subprogram in the POD 5'04. For example, by changing the Java ® program instead of a dialog display program that is a program within the library 1202b of OS 1201, it is possible for the Java ® program to carry out the transmission and reception of messages towards and from the PPV subprogram 805 which is a subprogram within the POD 504. Unlike the other embodiments, in the case of the present embodiment, the program within the library 1202b of the OS 1201 always works continuously and, even in case the Java ® program is registered, the program within the 1202b library of OS 1201 does not have to be completed. However, even in this case, when the registered Java ® program terminates abnormally and the same Java ® program is activated once again, the reoccurrence of the abnormal conclusion can be expected quite a lot, and thus, the 'request' can be prevented (for example, see PPV) made by the user. The present embodiment describes the application of the present invention to this problem. The present embodiment describes first the registration process and the registration cancellation process for the Java ® program that can be referred by the POD 504 instead of the program within the library 1202b. of OS 1201, and then the main topic that is the process in case the Java ® program terminates abnormally will be described. Figure 33 shows an example of information in the XAIT that refers to Java ® programs, in the present modality. In figure 33, the elements that are the same as in figure 20 are assigned the same reference numbers and their description will be omitted. Column 33.11 and column 3312 are a set of information for a Java ® program. The Java ® program in column 3311 is defined by the set of a Java ® program identifier "701", - "autostart" control information, a DSMCC identifier "1", a program name "/ a / PPVlXlet", and a monitor application identifier "1". The Java ® program in column 3312 is defined by the set of a Java ® program identifier "702", "present" control information, a DSMCC identifier "1", a program name "/ b / PPV2Xlet", and an identifier of 'monitor application "2". Here, although only five items of information are stipulated, the present invention can be implemented even when more information is defined. Here, it is assumed that the Java ® program "PPVlXlet" is a program to visually present program information that serves as. the PPV goal, in conjunction with the PPV subprogram 805 that is within the POD 504. When the PPV subprogram 805 sends the information that will be displayed visually on the screen to the CPU 514 of the terminal apparatus 500 in case the Java ® program not present in the terminal apparatus 500, the dialogue display program included in the library 1202b of the OS 1201 visually displays, on the viewer 509, the message to alert the purchase of programs shown in figure 34. 3401 is a dialog box that contains visual presentation elements such as: a message 3402; a personal identification number box 3403 to enter a 4-digit personal identification number; an OK button 3403 and a cancel button 3405. However, since the details of the program are unknown in this visual presentation, the user has to review the details of the program when referring to books and the like, such as a program guide, in this way being inconvenient. In the terminal apparatus 500, when the Java ® "PPVlXlet" program is activated, the Java ® program "PPVlXlet" registers in the POD Lib 1205e of the Java ® library 1205, like the Java ® program that can be referred by POD 504. During registration, it also simultaneously registers "PPV" as its own Java ® module module identifier. The POD Lib 1205e stores the details recorded in the secondary storage unit 510. Figure 35 shows an example of the appearance of the secondary storage unit 510 that stores the registered Java® program information that can be referred by the POD 504. In this example, storage is carried out in a table format, and a column 3501 stores a module identifier of Java ® program, and a column 3504 stores the name of the Java ® program. A row 3511 and a row 3512 indicate the registered Java ® programs. Row 3511 is the set of the module identifier "PPV", and the name of the Java ® program "PPVlXlet". Row 2312 is the set of the module identifier "VOD" and the name of the Java ® program "VODXlet". Note that although the Java® 3501 program module identifier and the Java® 3504 program name are stored here, implementation is possible as long as at least the Java® program module identifier and information permitting the unique identification of the registered Java ® program are stored. Through the notification of the information of the Java ® program registered to the POD 504 by the POD Lib 1205e, the transmission and reception of messages between a subprogram within the POD 504 and the registered Java ® program becomes possible. For example, it is possible for the PPV 805 subprogram within the POD 504 to send details of a program that is subject to PPV purchase, to the registered Java program indicated in row 3511 in Figure 35, and, instead of the presentation program visual dialog, this Java ® program can 'carry out the visual presentation of the details of the program in the 509 viewer, as in figure 36. Here, 3601 shows the visual presentation of program information, and the same visual presentation as that of the visual presentation program of dialogue, carried out by the registered Java ® program. However, although the visual presentation program of the library 1202b of the OS 1201 does not present anything here, in reality, it can also be executed together with the registered Java ® program. Here, the POD 504 refers to the type of the registered Java ® program and identifies the Java program that is the message sending partner. Specifically, the visual presentation program of the library 1202b of OS 1201 contains a module identifier "PPV" and the Java ® program that will be registered is made to contain the same module identifier "PPV" as the presentation program visualization of the library 1202b of the OS 1201, and the POD 504 refers to this module identifier and identifies the Java ® program that is the transmission and reception partner of messages. In the present embodiment, it is assumed that the respective subprograms of the POD 504 can not transmit and receive messages simultaneously between several programs having the same module identifier (in other words, with respect to a particular module identifier, the respective subprograms of the POD 504 are allowed to transmit and receive with a maximum of only one program). Figure 37 is a flow chart that summarizes the operation of the POD Lib 1205e in case a Java ® program is registered in the POD Lib 1205e. After accepting a record for the delivery of messages (includes at least one of transmission and reception, or both), with the Java ® program, the POD Lib 1205e stores the necessary information (for example information such as that shown in Figure 35) in the secondary storage unit 510 (step S3701), and judges whether or not it exists a program having the same module identifier as the Java ® program whose registration was accepted, when comparing the module identifier of the Java ® program whose record was accepted in step S3701 with the program module identifiers already stored in the unit secondary storage 510 and programs within the library 1201b (step S3702). As a result, in case there is a program having the same module identifier (Yes in step S3702), the POD Lib 1205e gives advance notification of the stoppage of message delivery to the subject of message delivery up to that point, specifically, another Java ® program registered in the secondary storage unit 510 or a program within the library 1201b of the OS 1201 (step S3703). After completing the necessary processes (internal processes required to stop the delivery of messages with the POD 504 (in other words, deregistration of the message delivery record)), the Java ® program and the 1201b library of OS 1201 receive the stop notification subsequently notify the acknowledgment of the stoppage of message transmission to the POD Lib 1205e (step S3704). After receiving the recognition notification, the POD Lib 1205e cancels (in other words, deregisters) the message delivery record with the existing Java ® program (in other words, registered in the secondary storage unit 510, and the object of stopping delivery of messages between the POD 504) or the program within the library 1201b of the OS 1201, and stopping delivery of the message with this program (step S3705). Then, the start of message delivery is notified to the Java ® program whose registration was accepted in step S3701 (step S3706). Subsequently, when carrying out the registration that accepts delivery of messages with the POD 504, the Java ® program whose registration was received in the step S3701, the delivery of messages becomes valid (step S3707). On the other hand, in case there is no program that has the same module identifier (not in step 3702), the POD Lib 1205e notifies the start of the delivery of messages to the Java ® program whose registration was accepted in the stage S3701 (step S3706). Then, when carrying out the registration that accepts the delivery of messages with the POD 504, to the Java ® program whose registration was received in the step S3701, the delivery of messages becomes valid (step S3707). Figures 38 (a) -38 (b) and figures 39 (a) -39 (b) are schematic diagrams, based on the present flow chart (figure 37), showing the change of destination in the delivery of messages with the POD 504. Figure 38 (a) represents the state in which the Java ® program is not registered, and the delivery of messages with the POD 504 is carried out with the library 1201b of the OS 1201 (more specifically, for example, the visual presentation program of the library 1201b). An arrow 3801 represents the delivery of messages. In the state of Fig. 38 (a), when a Java ® program 3811 having the same module identifier as the program within the library 1201b of OS 1201 is registered, delivery of messages between the POD 504 and the library 1201b indicated by arrow 3801 and message delivery is established between the POD 504 and the Java ® 3811 program, according to the flow chart of figure 37, and the state shown in figure 38 (b) is assumed .
Figure 39 (a) represents the state in which a Java ® 3911 program is registered, and the delivery of messages with the POD 504 is carried out with the registered Java ® 3911 program. An arrow 3901 represents the delivery of messages. In the state of Figure 39 (a), when a Java ® 3912 program that has the same module identifier as the Java ® 3911 program is registered, the delivery of messages between the POD 504 and the Java ® 3911 program stops indicated by arrow 3901 and the delivery of messages is established between the POD 504 and the Java ® 3912 program (arrow 3902), according to the flow chart of Figure 37, and the state shown in Figure 39 is assumed ( b) In addition, together with the acceptance of the registration of a Java ® program, the POD Lib 1205e also accepts the cancellation of the registration (in other words, it requests the deregistration). Figure 40 is a flow graph that summarizes the operation of the POD Lib 1205e in case the POD Lib 1205e cancels the registration of a Java ® program (in other words, the deregistration of the registry for the delivery of messages with the program Java ® registered in the secondary storage unit 510). After accepting the cancellation of the Java ® program
(step S4001), the OD Lib 1205e gives advance notification, to the Java ® program that is the object of the cancellation, that the delivery of messages will be stopped
(step S40Ó2). After concluding the necessary processes
(necessary internal processes that have to be done before the stop of the delivery of messages with the POD 504 (in other words, deletion of the record of the delivery of messages)), the Java ® program that receives the notification subsequently notifies the recognition of message transmission retention to the POD Lib 120.5e
(step S4003). After receiving the recognition notification, the POD Lib 1205e stops the delivery of messages between the POD 504 and the target Java ® program
(step S4004) when canceling (in other words, deleting the record) the registration for the delivery of messages to the Java ® program that is the object of the cancellation request, among the Java® programs registered in the secondary storage unit 510. Subsequently , the
POD Lib 1205e validates the delivery of messages between the POD 504 and the library 1201b (more specifically, the program included in it, which has the same module identifier as the Java ® program that is the object of the cancellation) of the OS 1201 (step S4005), when carrying out the registration that accepts the delivery of messages with POD 504, for library 1201b of OS 1201. Here, when the program enters programs within the 1201b library of OS 1201, it has the same module identifier that the Java ® program that is the object of the cancellation is not operating, the same operation becomes possible when validating the delivery of messages after activating the program that has the same module identifier. Moreover, in case there are other Java programs
® registered in the secondary storage unit or if there is a newly registered Java ® program and carry out the delivery of messages with any of these Java ® programs (or can be carried out), it is also possible to validate the delivery of messages with The objective of the Java ® program is to carry out the delivery of acceptance messages of the registry between the POD 504 and the Java ® obj ective program. Next, the process will be described in case the Java ® program concludes abnormally, which is the main aspect of the invention. The process will be described in the event that the Java ® 3811 program abnormally terminates in the state of Figure 38 (b). Referring to Figure 41, the administration unit MA 1205f detects the abnormal conclusion, as well as notifies the POD Lib 1205e of this abnormal conclusion. Figure 42 is a flow chart summarizing the operation during this time. Processes that are the same as those in Figure 23 are assigned the same reference numbers, and its description will be omitted. When the MA 2105 monitoring unit detects the abnormal conclusion of the currently monitored monitor application (here, the Java 3811 program) (S2301), the MA 2105 monitoring unit concludes the monitor monitoring application that has terminated abnormally (S2302) , and notifies the main conduit of management unit MA 2101 of the occurrence of the abnormal conclusion (S2303). The main management unit MA 2101 notifies the POD Lib 1205e of the conclusion of the monitor application (S4204). After receiving the abnormal termination notification, the POD Lib 1205e carries out the process to cancel the delivery of messages with the Java ® 3811 program that has ended normally. Figure 43 is a flow chart that summarizes the operation during this time. after receiving the abnormal conclusion of the Java ® program (S4301), the POD Lib 1205e stops the delivery of messages between the POD 504 and this Java ® program (step S4302) upon canceling (in other words, deregistering), the registration of the delivery of messages between the POD Lib 1205e and this program. Subsequently, when carrying out the registration that accepts the delivery of messages with the POD 504 with respect to the library 1201 of the OS 1201, the POD Lib 1205e validates the delivery of messages with the library 1201b of the OS 1201 (step S4304).
Also, the description will be made for the case in which, as shown in Figure 39 (b), another Java ® program (here, referring to 3911) that has the same module identifier is stored in the storage unit secondary 510. In case the Java ® 3912 program terminates abnormally, it is also possible to have the POD Lib 1205e register the other Java ® 3912 program that has the same module identifier, instead of carrying out, with respect to the library 1201b of OS 1201, the record that accepts the delivery of messages with the POD 504. Figure 44 is a flow chart summarizing the operation during this time. Processes that are the same as those in Figure 43 are assigned the same reference numbers, and their description will be omitted. When the delivery of messages between the POD 504 and the Java ® program that has been terminated abnormally is stopped (step S4302), it is checked whether another Java ® program having the same module identifier exists or not (S4403). In case there is another Java ® program (Yes in S4403), this Java ® program is registered. The registration process follows in the flow chart shown in figure 37, and assumes the process in case of a No in S3702. In case another Java ® program does not exist, the POD Lib 1205e validates the delivery of messages with the library 1201b of the OS 1201 (step S4304) when carrying out the registration that accepts the delivery of messages with the POD 504, with respect to to library 1201b of OS 1201. Note that even if another Java ® program with the same module identifier exists, it is also possible to carry out the process shown in figure 43 (in other words, transfer to the process in S504). In addition, although the present modality assumes that the operation is carried out with the PPV 805 subprogram within the POD 504 and a Java ® program carries out an exchange of messages, the implementation is possible even for the case in which the operation is carried out with the exchange of messages being carried out between any subprogram between the POD 504, apart from the PPV, and any subprogram in the terminal apparatus 500. In addition, the implementation is also possible even when the Java ® program is a mixture from a part that is in a form based on a format stipulated in the Java ® specification and a part in a form that can be executed directly by the CPU; as well as when the Java ® program is structured only in a way that can be executed directly by the CPU. Note that, although in the present embodiment, details regarding the registered Java ® program are stored in the secondary storage program 510, storage in the primary storage unit 511 is also possible. According to the present embodiment, even if the Java ® program that is registered as being able to carry out the transmission of messages and reception of messages with the POD 504 concludes abnormally, the POD 504 can continue the transmission and reception of messages with a program in the terminal when resuming the transmission and reception of messages with a program in -the library 1201b of OS 1201.
Industrial Applicability The program execution device according to the present invention is useful for improving the operational stability of a digital television receiver and, apart from the digital television receiver, can also be applied for the improvement of the operational stability of digital television devices. information controlled through software, such as a personal computer, a mobile phone, and the like. It is noted that in relation to this date, the best method known to the applicant to carry out the aforementioned invention, is that which is clear from the present description of the invention.
Claims (33)
1. A program execution device that executes a program, characterized in that it comprises a first program selection unit that functions to select, as a program to be executed, a program that is downloaded and executed; a program monitoring unit that works to monitor an operating state of a currently executed program; a second program selection unit that functions to select, as a program to be executed, a program that is of the same type as the program currently executed, in case the abnormal conclusion of the program currently executed is detected by the monitoring unit of programs; an execution unit that functions to execute the program selected by the first program selection unit and, in the event that an abnormal conclusion of the currently executed program is detected by the program monitoring unit, to execute a program selected by the second unit of program selection; a cause obtaining unit that functions to obtain a cause of the abnormal conclusion of the program detected by the program monitoring unit; and a countermeasure enforcement unit that functions to execute a countermeasure - based on the cause of the abnormal conclusion, where the execution unit functions to execute the program selected by the second program selection unit, after which the countermeasure it is executed by the countermeasure execution unit.
2. The program execution device according to claim 1, characterized in that the second program selection unit functions to select, as the program to be executed, a program that is different from the program selected by the first selection unit of the program. programs.
3. The program execution device according to claim 1, characterized in that the second program selection unit operates to select, like the program to be executed, a program that is the same as the program selected by the first program unit. selection of programs.
The program execution device according to claim 1, characterized in that the second program selection unit operates to select, as the program to be executed: a program that is the same as the program selected by the first unit of program. selection of programs, in case a predetermined condition is not satisfied and a program that is different from the program selected by the first program selection unit, in case the predetermined condition is satisfied.
The program execution device according to claim 4, characterized in that the second program selection unit functions to carry out the selection in case the predetermined condition is or not the number of abnormal conclusions of the program whose unit program monitoring has detected as having concluded abnormally exceeds a predetermined number, and to determine that: the predetermined condition is not satisfied in case the number of abnormal conclusions of the program does not exceed the predetermined number; and the predetermined condition is satisfied in case the number of abnormal conclusions of the program exceeds the predetermined number.
The program execution device according to claim 4, characterized in that the second program selection unit operates to carry out the selection in case the predetermined condition is or not the number of times a program will be selected. selected has been selected exceeds a predetermined number, and to determine that: the predetermined condition is not satisfied in case the number of times the program has been selected does not exceed the predetermined number; and the predetermined condition has been satisfied in case the number of times the program is selected exceeds the predetermined number.
The program execution device according to claim 4, characterized in that the second program selection unit operates to carry out the selection under the assumption that the time information is the predetermined condition.
The program execution device according to claim 4, characterized in that the second program selection unit operates to carry out the selection under the assumption that: the predetermined condition is whether or not an instruction was received from a user; the default condition is not satisfied in case the user's instruction is not received, and the default condition is satisfied in case the user's instruction is received.
9. The program execution device according to claim 1, characterized in that the second program selection unit operates to select, like the program to be executed, a program in a non-volatile memory.
The program execution device according to claim 1, characterized in that one of the first program selection unit and the second program selection unit operates to select, as the program to be executed, a program that can be acquired through a network.
The program execution device according to claim 1, characterized in that one of the first program selection unit and the second program selection unit operates to select, like the program to be executed, a program that is included in a transmission wave.
The program execution device according to claim 1, characterized in that the program monitoring unit operates, after detecting the abnormal conclusion of the currently executed program, to present an occurrence of the abnormal conclusion to a user.
13. The program execution device according to claim 1, characterized in that the program monitoring unit functions to present the occurrence of the abnormal conclusion to a user, using a visual LED presenter.
14. The program execution device according to claim 1, characterized by the program monitoring unit functions to present the occurrence of the abnormal conclusion to a user, using a visual presentation on a visual presentation screen.
15. A program execution device that executes a program, characterized in that it comprises a first program selection unit that functions to select, as a program to be executed, a program that is downloaded and executed; a program monitoring unit that works to monitor an operating state of a currently executed program; a second program selection unit that works to select, based on an instruction from a user, a program that is of the same type as the program currently executed, such as a program that will be executed, in case the abnormal conclusion of the program program currently executed is detected by the program monitoring unit; and an execution unit that functions to execute the program selected by the first program selection unit and, in the event that an abnormal conclusion of the currently executed program is detected by the program monitoring unit, to execute the program selected by the second unit of program selection.
The program execution device according to claim 15, characterized in that the second program selection unit functions to present candidates for selectable programs, and to select a program selected by the user, such as the program that will be executed.
17. The program execution device according to claim 16, characterized in that the second program selection unit functions to present, as the programs' selectable candidates, at least one program in a non-volatile memory.
18. The program execution device according to claim 16, characterized in that the second program selection unit functions to present, as the candidate programs selectable, at least one program that can be acquired by means of a network.
19. The program execution device according to claim 16, characterized in that the second program selection unit functions to present, like the candidate candidate programs, at least one program that is included in a transmission wave.
20. The program execution device according to claim 16, characterized in that the second program selection unit operates to select a predetermined program, such as the program in case the user does not make a selection within a predetermined time.
21. A program execution device that executes a program, characterized in that it comprises a first program selection unit that functions to select, as a program to be executed, a program that is downloaded and executed; a program monitoring unit that works to monitor an operating state of a currently executed program; a second program selection unit that functions to select, as a program to be executed, a program that is of the same type as the program currently executed, and w accepts a channel selection request from a user and performs a operation, in case the abnormal conclusion of the program currently executed is detected by the program monitoring unit; and an execution unit that functions to execute the program selected by the first program selection unit and, in the event that an abnormal conclusion of the currently executed program is detected by the program monitoring unit, to execute the program selected by the second unit of program selection.
22. A program execution device that executes a program, characterized in that it comprises a first program selection unit that functions to select, as a program to be executed, a program that is downloaded and executed; a program monitoring unit that works to monitor an operating state of a currently executed program; a second program selection unit that functions to select, as a program to be executed, a program that is of the same type as the program currently executed, and w visually presents an electronic program guide, in case the abnormal conclusion of the program currently executed is detected by the program monitoring unit; and an execution unit that functions to execute the program selected by the first program selection unit and, in the event that an abnormal conclusion of the currently executed program is detected by the program monitoring unit, to execute the program selected by the second unit of program selection.
23. The program execution device according to any of claim 1, claim 15, claim 21 and claim 22, characterized in that the program monitoring unit functions to store information referring to the program that the program monitoring unit has detected as having concluded abnormally.
24. The program execution device according to claim 23, characterized by the program monitoring unit functions to store the information- in a removable recording medium.
25. The program execution device according to claim 23, characterized in that the program monitoring unit functions to transmit the information to an external destination.
26. A method of executing programs characterized in that it comprises a first stage of selecting programs to select, as a program to be executed, a program that is downloaded and executed; a stage of monitoring programs to monitor an operating state of a program currently executed; a second stage of selecting programs to select, as a program that will be executed, a program that is of the same type as the program currently executed, in case the abnormal conclusion of the program currently executed is detected in the program monitoring stage; an execution step to execute the selected program in one of the first stage of program selection and the second stage of program selection; a stage of obtaining a cause to obtain a cause of the abnormal conclusion of the program detected by the program monitoring stage; and a step of executing countermeasures to execute a countermeasure based on the cause of the abnormal conclusion, where, in the execution stage, the program selected in the second stage of program selection is executed after the countermeasure is executed in the execution stage of countermeasures.
27. A recording medium characterized in that a program is stored to execute an execution program, the program causes a computer to execute: a first stage of selecting programs to select, as a program to be executed, an execution program that is downloaded and then executed; a stage of monitoring programs to monitor an operating status of a currently executed execution program; a second stage of selecting programs to select, as an execution program to be executed, an execution program that is of the same type as the execution program currently executed, in case the abnormal conclusion of the execution program currently executed is detect in the program monitoring stage; an execution step for executing the selected execution program in one of the first stage of program selection and the second stage of program selection; a stage of obtaining cause to obtain a cause of the abnormal conclusion of the execution program detected in the program monitoring stage; and a countermeasure execution stage to execute a countermeasure based on the cause of the abnormal conclusion, where, in the execution stage, the execution program selected in the second stage of program selection is executed after the countermeasure it is executed in the execution stage of countermeasures.
28. A method of executing programs characterized in that it comprises a first stage of selecting programs to select, as a program to be executed, a program that is downloaded and then executed; a stage of monitoring programs to monitor an operating state of a program currently executed; a second stage of selecting programs to select, based on an instruction from a user, a program that is of the same type as the program currently executed, such as a program that will be executed, in case the abnormal conclusion of the program currently executed is detected in the program monitoring stage; and an execution stage to execute the program selected in the first stage of program selection and, in case an abnormal conclusion of the program currently executed is detected in the program monitoring stage, to execute the program selected in the second stage of program selection.
29. A recording medium characterized in that a program is stored to execute an execution program, the program causes a computer to execute: a first stage of selecting programs to select, as an execution program to be executed, an execution program that it be downloaded and then executed; a stage of monitoring programs to monitor an operating status of a currently executed execution program; a second stage of selecting programs to select, based on an instruction from a user, an execution program that is of the same type as the execution program currently executed, such as an execution program that will be executed, in case the abnormal conclusion of the execution program currently executed is detected in the program monitoring stage; and an execution step to execute the execution program selected in the first stage of program selection and, in the event that an abnormal conclusion of the execution program currently executed is detected in the program monitoring stage, to execute the program of execution. execution selected in the second stage of program selection.
30. A method of executing programs characterized in that it comprises a first stage of selecting programs to select, as a program to be executed, a program that is downloaded and then executed; a stage of monitoring programs to monitor an operating state of a program currently executed; a second stage of selecting programs to select, as a program to be executed, a program that is of the same type as the program currently executed, and which accepts a request for channel selection from a user and carries out an operation, in case the abnormal conclusion of the currently executed program is detected in the program monitoring stage; and an execution stage to execute the program selected in the first stage of program selection and, in case an abnormal conclusion of the program currently executed is detected in the program monitoring stage, to execute the program selected in the second stage of program selection.
31. A recording medium characterized in that a program is stored to execute an execution program, the program causes a computer to execute: a first stage of selecting programs to select, as an execution program to be executed, an execution program that it be downloaded and then executed; a stage of monitoring programs to monitor an operating status of a currently executed execution program; a second stage of selecting programs to select, as an execution program to be executed, a program that is of the same type as the execution program currently executed, and which accepts a channel selection request from a user and leads to carry out an operation, in case the abnormal conclusion of the program currently executed is detected in the program monitoring stage; and an execution step to execute the execution program selected in the first stage of program selection and, in the event that an abnormal conclusion of the execution program currently executed is detected in the program monitoring stage, to execute the program of execution. execution selected in the second stage of program selection.
32. A method of executing programs characterized in that it comprises a first stage of program selection to select, as a program to be executed, a program that is downloaded and then executed; a stage of monitoring programs to monitor an operating state of a program currently executed; a second stage of selecting programs to select, as a program to be executed, a program that is of the same type as the program currently executed, and which visually presents an electronic program guide, in case the abnormal conclusion of the program currently executed is detected in the program monitoring stage; and an execution stage to execute the program selected in the first stage of program selection and, in case an abnormal conclusion of the program currently executed is detected in the program monitoring stage, to execute the program selected in the second stage of program selection.
33. A recording medium characterized in that a program is stored to execute an execution program, the program causes a computer to execute: a first stage of selection of programs to select, as an execution program that will be executed, an execution program that is downloaded and then executed; a stage of monitoring programs to monitor an operating status of a currently executed execution program; a second stage of selecting programs to select, as an execution program that will be executed, an execution program that is of the same type as the execution program currently executed, and which visually presents an electronic program guide, in case of that the abnormal conclusion of the execution program currently executed is detected in the program monitoring stage; and an execution step to execute the execution program selected in the first stage of program selection and, in the event that an abnormal conclusion of the execution program currently executed is detected in the program monitoring stage, to execute the program of execution. execution selected in the second stage of program selection.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-111803 | 2004-04-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA06011297A true MXPA06011297A (en) | 2007-04-20 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2005232103B2 (en) | Program execution device | |
US9264757B2 (en) | Service executing apparatus | |
US8453195B2 (en) | Program replacing method | |
US7089554B2 (en) | Program executing apparatus | |
US20090193101A1 (en) | Multimedia data transmitting apparatus and multimedia data management method | |
US20070174356A1 (en) | Program execution device, program execution method, and program | |
MXPA06004543A (en) | Method for authenticating and executing an application program. | |
KR20080078829A (en) | Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system | |
JP2009077451A (en) | Method of extracting data section from transmission data stream | |
US20080276300A1 (en) | Program Execution Device | |
JP2001518256A5 (en) | ||
US20090044281A1 (en) | Java conditional access apparatus | |
US20130191853A1 (en) | Program execution method and program execution apparatus | |
MXPA06011297A (en) | Program execution device |