WO2012157698A1 - 受信装置、プログラム及び受信方法 - Google Patents

受信装置、プログラム及び受信方法 Download PDF

Info

Publication number
WO2012157698A1
WO2012157698A1 PCT/JP2012/062630 JP2012062630W WO2012157698A1 WO 2012157698 A1 WO2012157698 A1 WO 2012157698A1 JP 2012062630 W JP2012062630 W JP 2012062630W WO 2012157698 A1 WO2012157698 A1 WO 2012157698A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
unit
api
programming interface
attribute
Prior art date
Application number
PCT/JP2012/062630
Other languages
English (en)
French (fr)
Inventor
寿之 大亦
一博 大槻
恵吾 真島
亜里砂 藤井
友幸 井上
Original Assignee
日本放送協会
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本放送協会 filed Critical 日本放送協会
Priority to JP2013515189A priority Critical patent/JP6088969B2/ja
Publication of WO2012157698A1 publication Critical patent/WO2012157698A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]

Definitions

  • the present invention relates to a receiving apparatus, a program, and a receiving method.
  • This application claims priority based on Japanese Patent Application No. 2011-111342 filed in Japan on May 18, 2011, the contents of which are incorporated herein by reference.
  • an API Application Programming Interface
  • the API is an interface for using the functions of the platform and the device from the application.
  • it is possible to simplify software design and coding work for handling platform and device functions from an application. Therefore, it is possible to increase the efficiency of application production.
  • Patent Document 1 discloses a mechanism for easily acquiring and using information related to broadcasting by communication by providing an API between a data broadcasting browser and a communication function of a receiver.
  • APIs are provided for functions of a receiver, and those APIs are disclosed to allow access, thereby making the production work of an application operating on the receiver more efficient.
  • the variety of applications is increased by increasing the number of APIs.
  • the API for permitting access is unlimited, there is a disadvantage that the function of the receiver and the risk of unauthorized use of data and content processed by the receiver are increased.
  • the copyright is acquired using the API, and the acquired video is copied and distributed over the Internet. There is also a risk that an application that infringes will be created.
  • the present invention has been made in view of such circumstances, and provides a receiving apparatus, a program, and a receiving method capable of limiting an API permitted to be used according to an application.
  • a function unit that performs processing related to data received by broadcast or communication, an application storage unit that stores an application program, and an application program from the application storage unit based on a start instruction
  • an application execution unit that calls processing of the functional unit via an application programming interface based on the application program, and when the application execution unit calls processing of the functional unit via an application programming interface,
  • Application programming interface management for controlling whether the call is permitted or prohibited based on determination according to attribute information of the application program
  • a receiving device comprising a.
  • the receiving apparatus is configured such that an application executed in the receiving apparatus uses an API for using the function of the receiving apparatus or information to be processed in the receiving apparatus (broadcast signal or accumulated data).
  • an API for using the function of the receiving apparatus or information to be processed in the receiving apparatus broadcast signal or accumulated data.
  • the receiving apparatus can control whether or not the API can be used by the application in units of application attributes. For example, the receiving apparatus determines an application attribute according to an application ID, whether or not the application is an authenticated application, a service provider that provides the application, an application type, an application distribution method, and the like.
  • an application attribute storage unit that stores the application identification information for identifying the application program in association with the attribute information, and an application program stored in the application storage unit
  • the application attribute management unit that associates the application identification information with the attribute information of the application program and writes the application information in the application attribute storage unit, and is associated with the instructed application identification information based on the activation instruction
  • an application control unit that reads the attribute information from the application attribute storage unit and notifies the application programming interface management control unit of the attribute information. According to this, the receiving apparatus manages the attribute of each application that has acquired the application program.
  • the attribute of the application can be surely acquired.
  • the receiving device stores the attribute in advance, when the application tries to access the API, it is possible to reduce the time taken to determine whether the API can be accessed.
  • the information processing apparatus further includes a broadcast receiving unit that receives a broadcast signal, and the application programming interface management control unit performs the determination according to a knitting channel that the broadcast receiving unit is receiving. May be. According to this, the receiving device controls whether or not to access the API according to the attribute of the application according to the organization channel of the broadcast being received.
  • the receiving apparatus can control whether or not the API can be used from the application for each broadcast channel.
  • the application programming interface management control unit associates the identification information of the application programming interface with access permission information indicating whether to permit or prohibit access for each attribute information.
  • An application programming interface control list storage unit for storing application programming interface control list data, and receiving the application programming interface control list data and updating the application programming interface control list stored in the application programming interface control list storage unit And an application control list management unit for executing the application program.
  • the application interface management control unit based on the attribute information of the application program executed by the application execution unit and the identification information of the application programming interface used for calling the processing of the function unit Data indicating whether the call is permitted or prohibited may be read from the application programming interface control list data stored in the control list storage unit.
  • the receiving device includes an application programming interface control list storage unit that stores application programming interface control list data. Therefore, the receiving apparatus can process the determination as to whether to permit or prohibit the calling when calling the process of the functional unit based on the data indicated in the application programming interface control list data.
  • the receiving device includes an application control list management unit that receives and updates application programming interface control list data. Therefore, the receiving device can update the application programming interface control list data stored in the application programming interface control list storage unit.
  • this receiving apparatus when new application programming interface control list data is transmitted to the receiving apparatus, whether or not an API (function) is accessible can be controlled based on the new application programming interface control list data. It becomes possible. Accordingly, it is possible to provide a receiving device that can change the API usable range of each application as needed.
  • a computer used in a receiving apparatus having a functional unit that performs processing related to data received by broadcasting or communication is configured based on an application storage unit that stores an application program and an activation instruction.
  • An application execution unit that reads and executes an application program from an application storage unit and calls processing of the functional unit via an application programming interface based on the application program, and the application execution unit When calling a process, an application that controls whether the call is permitted or prohibited based on the determination according to the attribute information of the application program.
  • Down programming interface management control unit a program to function as a.
  • the third aspect of the present invention is based on the determination according to the attribute information of the application program when calling the processing of the functional unit that performs processing related to the data received by broadcasting or communication via the application programming interface. It is determined whether the call is permitted or prohibited, and when it is determined that the call is permitted, the application program is read and executed based on a start instruction, and the application program is connected via the application programming interface. This is a receiving method for calling up the processing of the functional unit.
  • FIG. 1 is an overall configuration diagram of a broadcasting / communication cooperation system according to an embodiment of the present invention. It is a functional block diagram of the receiver by the embodiment. It is a functional block diagram of the application control mechanism by the embodiment. It is a figure which shows the data example of the API list data by the embodiment. It is a figure which shows the data example of the API control list data by the embodiment. It is a flowchart which shows the application attribute management process in the receiver by the embodiment. It is a flowchart which shows the API access control process in the receiver by the embodiment.
  • FIG. 1 is an overall configuration diagram of a broadcasting / communication cooperation system according to an embodiment of the present invention.
  • the broadcasting / communication cooperation system includes a broadcasting transmission device 1, an application distribution device 2, a content distribution device 3, and a reception device 4.
  • the application distribution device 2 and the content distribution device 3 are connected to the reception device 4 via a communication network 9 such as the Internet.
  • a communication network 9 such as the Internet.
  • FIG. 1 only one broadcast transmission device 1, application distribution device 2, content distribution device 3, and reception device 4 are shown, but in reality, a plurality of devices are provided.
  • the broadcast transmission device 1 is provided for each broadcaster.
  • the application distribution device 2 and the content distribution device 3 are provided for each service provider. Note that the broadcaster and the service provider may be the same.
  • the receiving device 4 is owned by a user who is a viewer.
  • the broadcast transmission device 1 is a broadcast facility of a broadcaster, and multiplexes, modulates, modulates and transmits a video, audio, data broadcast, and the like.
  • the application distribution device 2 is a computer server that distributes an application program of an application executed on the reception device 4 to the reception device 4 via the communication network 9.
  • the application program includes, for example, a program composed of only an application execution file, a program composed of a series of files such as an application execution file and an image file.
  • the content distribution apparatus 3 is a generic term for content data such as video, audio, and text used by an application executed on the receiving apparatus 4 and other data (hereinafter, content data and other data used by the application are collectively referred to as “contents”). Is a computer server (content distribution server) that distributes data to the receiving device 4 via the communication network 9.
  • the receiving device 4 is a receiver that can use the broadcasting / communication cooperation service, and is a device such as a television, a set-top box, a personal computer, or a portable terminal.
  • the reception device 4 receives broadcast waves transmitted (transmitted) from the broadcast transmission device 1 and transmits / receives data to / from the application distribution device 2 and the content distribution device 3 connected via the communication network 9. .
  • the broadcasting / communication cooperation system of this embodiment realizes a broadcasting / communication cooperation service.
  • the digital broadcast service and the communication service using the Internet are linked in the receiving device 4.
  • the receiving device 4 executes an application program distributed by broadcasting using a broadcast wave from the broadcast transmitting device 1 or an application program distributed by communication from the application distributing device 2 via the communication network 9.
  • the receiving device 4 acquires the content data on the communication network 9 from the content distribution device 3, and outputs the video and audio of the content data simultaneously with the video and audio of the broadcast program.
  • the user can use the broadcasting / communication cooperation service.
  • Application programs are distributed from a plurality of service providers.
  • the receiving device 4 is provided with an API (Application Programming Interface) for each of a plurality of functions in the receiving device 4.
  • API Application Programming Interface
  • the receiving device 4 executes the application program, API access for the application to use the API is executed.
  • the application can use the function of the receiving device 4 and the function of handling information to be processed in the receiving device 4.
  • the receiving device 4 performs control so that the API usage range varies depending on the attribute of the application.
  • the receiving device 4 is configured so that the application distributed by the business operator A can use all APIs, and the applications distributed by the other business operators B and C can use only a predetermined part of APIs. To realize.
  • the way of thinking about differentiating the API usable range of each application may be different for each broadcaster providing the broadcasting service which is the main service.
  • the broadcaster ⁇ having the organization channel “001” can use all APIs for the application of the operator A, but can use only some APIs for the applications of other service providers. To do.
  • the broadcaster ⁇ having the organization channel “002” can use all APIs for the applications of all service providers including the operators A, B, and C. In this way, it is assumed that there is a difference in the way of thinking between broadcasters. Therefore, the receiving device 4 that controls the broadcasting range (organization channel) so that the API usable range based on the application attribute is different is realized.
  • FIG. 2 is a block diagram showing an internal configuration of the receiving device 4.
  • the reception device 4 includes a user input unit 401, a broadcast reception unit 402, a channel selection unit 403, a separation unit 404, a communication input / output unit 405, a BML (Broadcast Markup Language) browser unit 406, an HTML (Hypertext Markup). Language) browser unit 407, application management unit 408, application control unit 409, application execution unit 410, API management control unit 411, display control unit 412, video display unit 413, audio control unit 414, audio output unit 415, and data storage unit 416.
  • circles in FIG. 2 indicate APIs.
  • the user input unit 401 is an interface that receives user operations.
  • the user input unit 401 receives data input from, for example, a remote controller, a keyboard, a mouse, a mobile phone, and a tablet terminal.
  • the broadcast receiving unit 402 is a general tuner that receives and demodulates digital broadcast broadcast signals.
  • the channel selection unit 403 controls media and channels received by the broadcast receiving unit 402 in accordance with user operations received by the user input unit 401.
  • Media includes the ground, BS (broadcast satellite), CS (communication satellite), and the like.
  • the demultiplexing unit 404 is a general demultiplexer, and the MPEG (Moving Picture Experts Group) -2 TS (Transport Stream) signal demodulated and output by the broadcast receiving unit 402 is converted into content data constituting the program, program Separated into information.
  • the content data constituting the program is video data, audio data, data broadcast, caption data, and the like.
  • the program information is PSI / SI (Program Specific Information / Service Information).
  • the communication input / output unit 405 is an interface for connecting to the communication network 9.
  • the communication input / output unit 405 transmits / receives data to / from the application distribution device 2 and the content distribution device 3 via the communication network 9.
  • the BML browser unit 406 provides a browser for displaying a data broadcast described in BML, and operates the browser in accordance with a user operation received by the user input unit 401.
  • the HTML browser unit 407 provides a general HTML browser.
  • the HTML browser provided by the HTML browser unit 407 displays web data received from the application distribution apparatus 2 or a computer server (not shown) via the communication network 9.
  • the application management unit 408 stores application programs distributed by broadcasting or communication, or temporarily caches and manages them. At this time, the application management unit 408 assigns an application number to the application so that the user can select or operate the application or execute the application in the application execution unit 410.
  • the application number is a unique number for the application in which the application program is stored in the receiving device 4. Further, the application management unit 408 determines the attribute of the application, and manages the attribute information indicating the determined attribute in association with the application number information indicating the assigned application number.
  • the application number information is used as application identification information that uniquely identifies an application within the receiving device 4.
  • the application control unit 409 controls application activation / deactivation by the application execution unit 410 and operations during application execution. Control of operations during application execution is performed according to user operations received by the user input unit 401 or information included in the broadcast signal.
  • the application control unit 408 inquires the application management unit 408 to obtain attribute information of the application to be started, and API management is performed on the obtained attribute information and application number information of the application to be started up. Notify the control unit 411.
  • the application execution unit 410 receives an application activation instruction, and reads and executes an application program managed by the application management unit 408.
  • the API management control unit 411 is notified of the application number information and API identification information for specifying the API to be accessed.
  • the API identification information indicates an API name.
  • the API management control unit 411 manages the API used by each function unit (module) of the receiving device 4 to provide the function, and manages whether to allow or prohibit access to the API for each attribute of the application.
  • the API management control unit 411 performs access control as to whether or not to permit access to the API based on the attribute of the application when the application tries to access the API.
  • the display control unit 412 controls the size and layout of the video displayed on the video display unit 413.
  • video data received by broadcasting, data broadcasting, video of caption data, a screen output by a running application, a screen of content data acquired by a running application, and a window screen of an HTML browser are controlled.
  • the display control unit 412 also controls the screen layout according to the user operation received by the user input unit 401.
  • the video display unit 413 is a general display, and displays a video controlled by the display control unit 412.
  • the voice control unit 414 controls the volume and balance of the voice output to the voice output unit 415.
  • the voice of the voice data received by broadcasting, the voice of the voice data output by the running application, the voice of the content data acquired by the running application, and the voice of the voice data output from the HTML browser are controlled.
  • the audio output unit 415 is a general speaker, and outputs audio controlled by the audio control unit 414.
  • the data storage unit 416 stores and manages various types of information such as user personal information.
  • User input unit 401, broadcast receiving unit 402, channel selection unit 403, separation unit 404, communication input / output unit 405, HTML browser unit 407, display control unit 412, voice control unit 414, and data storage unit 416 provide API (implementation) )
  • API access from the application being executed is permitted by the API management control unit 411, these function units (modules) execute a function corresponding to the accessed API.
  • a set of functional units (modules) including an application management unit 408, an application control unit 409, an application execution unit 410, and an API management control unit 411 is referred to as an application control mechanism 400.
  • the application control mechanism 400 controls the API available range based on application attributes.
  • FIG. 3 is a functional block diagram illustrating a detailed configuration of the application control mechanism 400 including the application management unit 408, the application execution unit 410, and the API management control unit 411.
  • the application management unit 408 includes an application storage unit 451 and an application attribute management unit 452.
  • the application storage unit 451 manages application programs of applications executed by the receiving device 4.
  • the application includes an installation type in which an application program is installed in the receiving device 4 prior to execution, and an on-the-fly type in which the application program is acquired every time the application is executed. In the case of the installation type, the termination of the application does not trigger the deletion of the application program. In the case of the on-the-fly type, the application program is deleted from the application storage unit 451 when the application ends.
  • An application in which an application program is stored in the application storage unit 451 is an application that may be executed by the receiving device 4.
  • the application attribute management unit 452 performs numbering that assigns application numbers to application programs stored in the application storage unit 451. That is, the application number information is a unique number for the application in which the application program is stored in the application storage unit 451 in the receiving device 4. Further, the application attribute management unit 452 determines an application attribute when the application program is stored in the application storage unit 451. For example, the application attribute management unit 452 determines the attribute by verifying the presence or absence of the electronic signature of the application program. The application attribute management unit 452 associates the application number information indicating the assigned application number with the attribute information indicating the determined attribute and writes the application number information in the application attribute storage unit 453.
  • the API management control unit 411 includes an API management unit 461, an API control list storage unit 463, and an API control unit 464.
  • the API management unit 461 manages list data describing APIs provided by each functional unit (module) of the receiving device 4.
  • the API control list management unit 462 manages API control list data indicating the correspondence between the API provided by the functional unit (module) of the receiving device 4 and the attributes of the accessible application.
  • the API control list management unit 462 includes an API control list storage unit 463 that stores API control list data for each broadcaster (organization channel).
  • the API control list management unit 462 receives a notification of an organization channel, application attribute information, and API identification information from the API control unit 464 in order to inquire whether the application may access the API.
  • the API control list management unit 462 determines whether access is permitted or prohibited by referring to the API control list data corresponding to the organization channel among the API control list data in the API control list storage unit 463, the determination result is shown. The response is returned to the API control unit 464.
  • the API control list storage unit 463 updates the API control list data stored in the API control list storage unit 463 as needed with the API control list data transmitted by broadcasting or communication.
  • the API control unit 464 performs access control to the API provided by the module of the receiving device 4 from the application.
  • the API control unit 464 includes an attribute storage unit 465 that stores the application number information of the application to be activated notified from the application control unit 409 and the attribute information in association with each other.
  • the API control unit 464 receives notification from the application execution unit 410 of application number information of the application being executed and API identification information of the API to be accessed.
  • the API control unit 464 refers to a SDT (Service Description Table) in the PSI / SI separated by the separating unit 404 from the broadcast signal, and acquires information on the currently-received organized channel.
  • SDT Service Description Table
  • the API control unit 464 reads the attribute information from the attribute storage unit 465 corresponding to the application number information notified from the application execution unit 410.
  • the API control unit 464 outputs the read attribute information, the API identification information notified from the application execution unit 410, and the acquired organization channel information to the API control list management unit 462, and the application accesses the API. Inquire whether it is good or not.
  • the API control unit 464 receives the access permission / prohibition determination result returned from the API control list management unit 462, the API control unit 464 notifies the application execution unit 410 of the received determination result.
  • Input / output of information in the application control mechanism 400 shown in FIG. 3 is as follows.
  • the application storage unit 451 outputs the application program information D11 to the application execution unit 410.
  • the application execution unit 410 outputs the application number and execution command information D12 to the application storage unit 451.
  • the application attribute management unit 452 outputs the attribute information D13 to the application control unit 409.
  • the application control unit 409 outputs the application number information D14 to the application attribute management unit 452.
  • the application control unit 409 outputs the application number and execution command information D15 to the application execution unit 410.
  • the application control unit 409 outputs the application number and attribute information D16 to the API control unit 464.
  • the API management unit 461 outputs the API name information D17 to the API control list management unit 462.
  • the API control list management unit 462 receives the updated API control list information D18.
  • the API control unit 464 outputs the API name, attribute, and organization channel information information D19 to the API control list management unit 462.
  • the API control list management unit 462 outputs information D20 indicating permission or prohibition of access to the API to the API control unit 464.
  • the API control unit 464 receives organization channel information.
  • the API management control unit 461 receives API name information D22.
  • the API control unit 464 outputs the application number and information D23 indicating permission or prohibition of API access to the application execution unit 410.
  • the API control unit 464 outputs the application number and API name information D24 to the application execution unit 410.
  • the application control unit 409 receives application control command information D25. Note that the circles in FIG. 3 indicate APIs.
  • the application execution unit 410 accesses this API.
  • FIG. 4 is a diagram illustrating an example of API list data managed by the API management unit 461.
  • the API list data is data in which information for identifying a module, API identification information indicating an API name of an API provided by each module, and function information indicating an API function are associated with each other. It is.
  • the name of each functional unit is used as information for specifying a module.
  • the channel selection unit 403 acquires media information of a function of acquiring a selected media name, acquires channel information of a function of acquiring a selected channel name, and stores media. It shows that APIs such as media channel selection control of a channel selection function and channel channel selection control of a channel selection function are provided.
  • FIG. 5 is a diagram showing API control list data stored in the API control list storage unit 463.
  • the API control list storage unit 463 stores API control list data in association with the organization channel information.
  • the API control list data includes, for each attribute, information for identifying a module, API identification information indicating an API name of an API provided by each module, and whether to permit or prohibit access to the API. Is data associated with the access permission information shown in FIG.
  • symbol A indicates that access is permitted
  • symbol B indicates that access is prohibited.
  • the API control list data shown in FIG. 5 is, for example, for the media information acquisition API provided by the channel selection unit 403, allowing access to both the attribute 1 application and the attribute 2 application, and the video acquisition API provided by the separation unit 404. Indicates that access from the attribute 1 application is permitted, but access from the attribute 2 application is prohibited.
  • FIG. 6 is a flowchart showing application attribute management processing in the receiving device 4.
  • the receiving device 4 assigns an application number to an application and associates the assigned application number and attribute.
  • an application acquisition command is input by the user input unit 401 of the receiving device 4.
  • the separation unit 404 of the reception device 4 separates the application acquisition command from the broadcast signal received by the broadcast reception unit 402.
  • the application acquisition command includes location information indicating the storage location of the application.
  • the location information is indicated by, for example, a URL (Universal Resource Locator).
  • the application management unit 408 accesses the application distribution device 2 specified by the location information set in the application acquisition command, and acquires the application program. Send a request.
  • the application distribution device 2 distributes the application program to the reception device 4.
  • the communication input / output unit 405 of the reception device 4 outputs the application program received from the application distribution device 2 to the application management unit 408, and the application storage unit 451 of the application management unit 408 stores the application program (step S105).
  • the application storage unit 451 notifies the application attribute management unit 452 that the application program has been stored (step S110).
  • the application attribute management unit 452 assigns a number to the application in which the application program is stored in the application storage unit 451 in step S110, and assigns a unique application number in the receiving device 4 (step S115).
  • the application attribute management unit 452 outputs application number information indicating the assigned application number to the application storage unit 451.
  • the application storage unit 451 stores the application number information notified from the application attribute management unit 452 in association with the application program stored in step S110.
  • the application attribute management unit 452 determines the attribute of the application (step S120). Specifically, the application attribute management unit 452 determines the attribute of the application program stored in the application storage unit 451 in step S105. The application attribute management unit 452 verifies the electronic signature added to the accumulated application program. If the verification of the electronic signature is successful, the attribute 1 is added, and whether the verification of the electronic signature is unsuccessful is added. If not, it is determined as attribute 2. For example, the application attribute management unit 452 determines that the application program distributed from the business operator A is attribute 1 because an electronic signature is given to the application program and verification is successful. In addition, the application attribute management unit 452 determines that the application program distributed from the other business operators B and C is not attributed 2 because the electronic signature is not given to the application program.
  • the application attribute management unit 452 associates the attribute information indicating the attribute determined in step S120 with the application number information indicating the application number numbered in step S115 and writes it in the application attribute storage unit 453 (step S125). Thereby, an application number and an attribute are linked
  • FIG. 7 is a flowchart showing API access control processing in the receiving device 4.
  • the application control mechanism 400 controls whether or not to permit access to the API to be accessed.
  • an application activation instruction (application control instruction) is input to the application control unit 409 by a user operation or a broadcast signal instruction (step S205).
  • the user input unit 401 receives input of information indicating an application to be activated by a user operation.
  • the user input unit 401 sets the application number information of the application to be activated indicated by the input information in the application activation instruction, and outputs it to the application control unit 409.
  • the application control unit 409 reads the application number information to be activated from the application activation instruction.
  • the separation unit 404 outputs the application ID of the activation target application separated from the broadcast signal to the application control unit 409.
  • the application control unit 409 reads from the application attribute storage unit 453 the application number information of the activation target application stored in association with the application program specified by the application ID.
  • the application control unit 409 notifies the application attribute management unit 452 of the application management unit 408 of the application number information of the activation target application read in step S205 (step S210).
  • the application attribute management unit 452 reads the attribute information stored in the application attribute storage unit 453 corresponding to the application number information notified in step S210, and notifies the application control unit 409 (step S215).
  • the application control unit 409 associates the application number information notified in step S210 with the attribute information notified from the application attribute management unit 452 in step S215 corresponding to the notified application number information, and the API management control unit 411.
  • the API control unit 464 is notified (step S220).
  • the application control unit 409 notifies the application execution unit 410 of an execution instruction in which the application number information of the application to be activated is set (step S225).
  • the application execution unit 410 reads the application program specified by the application number information acquired from the execution instruction notified in step S225 from the application storage unit 451 in the application management unit 408 and executes it (step S230).
  • step S235: Yes the application execution unit 410 ends the process.
  • step S235: No the application execution unit 410 determines whether the executing application uses the API (step S240). Specifically, when the application execution unit 410 reads and executes an API call instruction (API access instruction) described in the application program being executed, the application execution unit 410 determines that the executing application uses the API.
  • API access instruction API access instruction
  • step S240: No If it is determined that the application being executed does not use the API (not accessing the API) (step S240: No), the application execution unit 410 repeats the processing from step S235. On the other hand, when it is determined in step S240 that the application being executed uses the API (accessing the API) (step S240: Yes), the application execution unit 410 displays the API identification information indicating the API name of the API to be used. And the application number information of the application being executed is notified to the API control unit 464 in the API management control unit 411 (step S245).
  • the API control unit 464 in the API management control unit 411 reads out attribute information corresponding to the application number information notified in step S245 from the attribute storage unit 465. Further, the API control unit 464 acquires the knitting channel information indicating the currently selected knitting channel from the PSI / SI SDT separated by the separation unit 404 (step S250). The API control unit 464 notifies the API control list management unit 462 in the API management control unit 411 of the API identification information notified in step S245, the attribute information read out in step S250, and the acquired organization channel information (step S255). ).
  • the API control list management unit 462 identifies API control list data stored in the API control list storage unit 463 corresponding to the composition channel indicated by the composition channel information, and notifies the specified API control list data in step S255.
  • the access permission information corresponding to the API identification information is read.
  • the API control list management unit 462 reads, from the read access permission information, information indicating whether access from an application having the attribute indicated in the attribute information notified in step S255 is permitted or prohibited, and uses the information as a determination result.
  • the API control list management unit 462 notifies a response indicating the determination result to the API control unit 464 in the API management control unit 411 (step S260).
  • the API control unit 464 notifies the application execution unit 410 of the determination result indicated by the response notified in step S260 (step S265).
  • step S270 If the application execution unit 410 determines that the determination result notified in step S265 indicates “access permission” (step S270: Yes), the application that has notified the application number information in step S245 accesses the API. Is permitted (step S275). As a result, the running application accesses the API and uses the function of the module in the receiving device 4. That is, the application execution unit 410 calls an API by executing an API call instruction described in the application program, and the function unit (module) that provides the called API has a function corresponding to the called API. Execute. The receiving device 4 repeats the processing from step S235.
  • step S270 determines that the determination result notified in step S265 indicates “access prohibition” (step S270: No)
  • the application execution unit 410 starts from the application specified by the application number information notified in step S245. Access to the API is prohibited (step S280).
  • the application being executed is restricted from using the functions of the module in the receiving device 4.
  • the receiving device 4 repeats the processing from step S235.
  • the API management control unit 411 determines whether to permit the use of the API used for calling the function. Is determined based on the attribute information of the application program being executed.
  • the API management control unit 411 controls the application execution unit 410 to permit or prohibit the calling of the module function performed via the API according to the determined result.
  • the application with an electronic signature is an official application that has been certified by a third party.
  • Such an official application is given an application ID by a third party. Since the official application is given an application ID, the receiving device 4 can easily identify the application.
  • an application that is not certified by a third party is an unofficial application, and neither an application ID nor an electronic signature is given.
  • the receiving device 4 assigns an application number when acquiring an application program, and stores data in which the assigned application number is associated with an application attribute.
  • the API control unit 464 is always notified of the data of the combination of the application number and the attribute of the application.
  • the application execution unit 410 notifies the API control unit 464 of data indicating the application number and API name.
  • the API control unit 464 acquires the attribute data associated with the notified application number from the attribute storage unit 465 that stores the data of the combination of the application number and the attribute that has already been notified when the application is started. By performing control based on the attribute indicated by the data, access control according to the attribute of the application is performed.
  • the API control list data is updated as follows.
  • the broadcast transmission apparatus 1 transmits a broadcast signal in which a control list file including API control list data is set.
  • the control list file is transmitted by, for example, a data carousel method.
  • the separation unit 404 of the reception device 4 separates the control list file from the broadcast signal, and the API control list storage unit 463 acquires API control list data from the separated control list file. Further, the API control list storage unit 463 refers to the SDT in the PSI / SI separated by the separation unit 404 from the broadcast signal, and acquires the formation channel information indicating the currently received formation channel.
  • the time stamp indicating the date and time when the broadcaster issued the API control list data is added to each API control list data.
  • the API control list management unit 462 associates the time stamp of the API control list data acquired from the control list file with the time stamp of the API control list data stored in the API control list storage unit 463 in association with the acquired organization channel information. And compare. If the time stamp of the API control list data received by broadcasting is newer, the API control list management unit 462 associates the API control list data stored in the API control list storage unit 463 with the organization channel information. The API control list data received by broadcasting is rewritten.
  • a server computer (not shown) connected to the communication network 9 distributes a control list file in which organization channel information and API control list data are set by HTTP or the like.
  • the communication input / output unit 405 of the reception device 4 outputs the received control list file to the API control list management unit 462.
  • the API control list management unit 462 reads the composition channel information and the API control list data from the control list file received by communication, the API control list management unit 462 compares the time stamps as in the case of receiving the control list file by broadcasting. If the time stamp of the API control list data received by communication is newer, the API control list management unit 462 associates the API control list data stored in the API control list storage unit 463 with the organization channel information. The API control list data received by communication is rewritten.
  • the application attribute management unit 452 determines the application attribute when the application program is stored in the application storage unit 451. However, the application attribute management unit 452 may determine the application attribute when the application is activated.
  • the application attribute management unit 452 reads the application program corresponding to the application number information notified in step S210 from the application storage unit 451, and assigns the attribute by the same process as in step S120 in FIG. judge.
  • the application attribute management unit 452 notifies the application control unit 409 of attribute information indicating the determined attribute.
  • the application attribute management unit 452 may write the attribute information and the application number information in the application attribute storage unit 453 in association with each other.
  • the application attribute management unit 452 indicates that the attribute information corresponding to the application number information notified in step S210 is the application attribute storage unit 453.
  • the attribute may be determined by reading the application program corresponding to the application number information from the application storage unit 451 only when it is not written to the application number information.
  • the attribute 1 is set when the verification of the electronic signature is successful, and the attribute 2 is set when the verification of the digital signature is unsuccessful or the digital signature is not added.
  • the attribute information may indicate other attributes.
  • the service provider name or the application type can be used as the application attribute.
  • an application ID can be used as an attribute.
  • the attribute may be determined corresponding to the service provider name, application type, and application ID.
  • the application attribute management unit 452 may determine the attribute according to the acquisition route of the application program, such as attribute 1 when the application program is acquired by broadcasting, attribute 2 when acquired by communication.
  • the application attribute management unit 452 can use the API when the service provider name indicated by the electronic signature attached to the application program is an attribute and the application program is not attached with the electronic signature.
  • a predetermined attribute having the narrowest range is used.
  • attribute determination information in which the service provider name and the attribute are associated with each other is stored in the application attribute storage unit 453 in advance.
  • the application attribute management unit 452 reads the attribute corresponding to the service provider name indicated by the electronic signature given to the application program from the attribute determination information.
  • the application attribute management unit 452 displays the API available range. Is determined to be the narrowest predetermined attribute.
  • the application attribute management unit 452 can similarly determine the attribute using the application type and application ID instead of the service provider name described above. However, the application attribute management unit 452 acquires the application type and application ID from information added to the application program.
  • the attribute determination information in which the service provider name, the application type, or the application ID and the attribute are associated with each other is received from the broadcast transmission device 1 by a broadcast signal or from the application distribution device 2 by communication via the communication network 9. It may be transmitted to the device 4.
  • the application management unit 408 updates the attribute determination information stored in the application attribute storage unit 453 with the received attribute determination information.
  • the application may not display content data acquired via the communication network 9.
  • an API provided by an application module in the receiving device and an API that handles information (broadcast signal, accumulated data, etc.) processed in the receiving device 4 are provided.
  • control is performed to permit or prohibit API access for using the API based on the attribute of the application.
  • an attribute is assigned according to the provider that provides the application program and the reliability of the application program itself (possibility that the user of the receiving device 4 does not suffer disadvantage), and the API is used according to the reliability.
  • the permission or prohibition can be determined in detail. Therefore, the improvement of the safety
  • the above-described broadcast transmission device 1, application distribution device 2, content distribution device 3, and reception device 4 have a computer system therein.
  • the operation processes of the broadcast transmission device 1, the application distribution device 2, the content distribution device 3, and the reception device 4 are stored in a computer-readable recording medium in the form of a program, which is read by the computer system. By executing this, the above processing is performed.
  • the computer system here includes a CPU, various memories, an OS, and hardware such as peripheral devices.
  • the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage unit such as a hard disk built in the computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, In this case, it also includes those that hold a program for a certain period of time, such as a volatile memory inside a computer system serving as a server or client.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • the present invention can be applied to a receiving device, a program, a receiving method, and the like that restrict an API that is permitted to be used according to an application.

Landscapes

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

Abstract

 受信装置は、放送または通信により受信したデータに関する処理をする機能部と、アプリケーションプログラムを記憶するアプリケーション蓄積部と、起動指示に基づいてアプリケーション蓄積部からアプリケーションプログラムを読み出して実行するとともに、アプリケーションプログラムに基づきアプリケーションプログラミングインタフェースを介して機能部の処理を呼び出すアプリケーション実行部と、アプリケーション実行部がアプリケーションプログラミングインタフェースを介して機能部の処理を呼び出すときに、アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを制御するアプリケーションプログラミングインタフェース管理制御部と、を備える。

Description

受信装置、プログラム及び受信方法
 本発明は、受信装置、プログラム及び受信方法に関する。
 本願は、2011年5月18日に、日本に出願された特願2011-111342号に基づき優先権を主張し、その内容をここに援用する。
 近年の放送のデジタル化と通信のブロードバンド化の進展に伴い、放送通信連携サービスの実現に向けた研究開発が行われている。放送通信連携サービスとしては、日本のHybridcast(登録商標)(ハイブリッドキャスト)や、欧州のHbbTV(Hybrid Broadcast Broadband TV:ハイブリッドブロードキャストブロードバンドテレビ)などが知られている。また、放送受信機能に加え、アプリケーションを用いて様々な通信サービスを活用することができる「スマートテレビ」と呼ばれる高機能テレビの普及も始まっている。それぞれのユーザは、放送以外のサービスを利用することができるこのような高機能テレビに、ポータルサイトなどを経由して配布されるアプリケーションリストから選択したアプリケーションを追加する。
 追加したアプリケーションを高機能テレビが実行することにより、様々な通信サービスを活用できる。
 上記のようにアプリケーションを導入してサービスを拡張するプラットフォームや、プラットフォームを構成するデバイスに、API(Application Programming Interface:アプリケーションプログラミングインタフェース)が設けられることがある。APIは、アプリケーションからプラットフォームやデバイスの機能を利用するためのインタフェースである。このようなAPIが設けられることで、アプリケーションからプラットフォームやデバイスの機能を扱うためのソフトウェアの設計およびコーディング作業を簡略化することができる。従って、アプリケーションの制作を効率化することが可能となる。このような概念は、放送通信連携を想定した受信機においても検討されている。例えば、特許文献1では、データ放送ブラウザと受信機の通信機能との間にAPIを設けることにより、放送と関連した情報を通信によって容易に取得し、利用するしくみを開示している。
特開2010-148141号公報
 特許文献1では、受信機の機能に対してAPIを設け、それらのAPIを公開してアクセスを許可することにより、受信機上で動作するアプリケーションの制作作業を効率化する。また、APIの数を増やすことにより、アプリケーションの多様性を高めている。しかし、アクセスを許可するAPIを無制限にすると、受信機の機能や、受信機で処理するデータやコンテンツが不正に利用されるリスクが高まるという欠点もある。例えば、受信機が放送で受信した映像を読み込むAPIへのアクセスを無制限に許可した場合、そのAPIを用いて映像を取得し、取得した映像を複製してインターネット上に配信するような、著作権を侵害するアプリケーションが制作されるというリスクも考えられる。逆にリスクを高く見積もり、アクセスを許可するAPIの種類を制限してしまうと、アプリケーションの多様性を失うことが想定される。このように、受信機のAPIへのアクセスの許可や禁止の制御を、すべてのアプリケーションに対して同等に行うだけでは、アプリケーションの多様性とサービスに対するリスクを鑑みたときに、柔軟に両者のバランスをとることができないという問題がある。
 本発明は、このような事情を考慮してなされたもので、利用を許可するAPIを、アプリケーションに応じて制限することができる受信装置、プログラム及び受信方法を提供する。
[1] 本発明の第1の態様は、放送または通信により受信したデータに関する処理をする機能部と、アプリケーションプログラムを記憶するアプリケーション蓄積部と、起動指示に基づいて前記アプリケーション蓄積部からアプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づきアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すアプリケーション実行部と、前記アプリケーション実行部がアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すときに、前記アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを制御するアプリケーションプログラミングインタフェース管理制御部と、を備える受信装置である。
 第1の態様によれば、受信装置は、この受信装置内で実行されるアプリケーションが、この受信装置が有する機能を利用するためのAPIやこの受信装置における処理対象の情報(放送信号や蓄積データなど)を扱う機能を利用するためのAPIにアクセスしようとした際に、アプリケーションの属性に応じてAPI(機能)へのアクセス可否を制御する。
 これにより、受信装置は、アプリケーションからのAPIの利用可否をアプリケーションの属性単位で制御することができる。例えば、受信装置は、アプリケーションの属性を、アプリケーションID、認証されたアプリケーションであるか否か、アプリケーションを提供するサービス事業者、アプリケーションの種別、アプリケーションの配付方法などに応じて決定する。
[2] なお、第1の態様において、前記アプリケーションプログラムを識別するアプリケーション識別情報と前記属性情報とを対応づけて記憶するアプリケーション属性格納部と、前記アプリケーション蓄積部に記憶されたアプリケーションプログラム毎に付与したアプリケーション識別情報と、前記アプリケーションプログラムの前記属性情報とを対応づけて前記アプリケーション属性格納部に書き込むアプリケーション属性管理部と、前記起動指示に基づいて、指示された前記アプリケーション識別情報に対応づけられた前記属性情報を前記アプリケーション属性格納部から読み出して前記アプリケーションプログラミングインタフェース管理制御部に通知するアプリケーション制御部と、をさらに備えても良い。
 これによれば、受信装置は、アプリケーションプログラムを取得した各アプリケーションの属性を管理する。
 これにより、受信装置において実行されているアプリケーションがAPIにアクセスする際に、確実にそのアプリケーションの属性を取得することができる。また、受信装置は、予め属性を記憶しておくため、アプリケーションがAPIへアクセスしようとした際、APIへのアクセス可否を判定するためにかかる時間を短縮することができる。
[3] また、第1の態様において、放送信号を受信する放送受信部をさらに備え、前記アプリケーションプログラミングインタフェース管理制御部は、前記放送受信部が受信中の編成チャンネルにも応じて前記判定を行っても良い。
 これによれば、受信装置は、受信中の放送の編成チャンネルに従って、アプリケーションの属性に応じたAPIへのアクセス可否を制御する。
 これにより、受信装置は、放送に連動して動作するアプリケーションがAPIを利用する際にも、その放送の編成チャンネル毎に、アプリケーションからのAPIの利用可否を制御することができる。
[4] また、第1の態様において、前記アプリケーションプログラミングインタフェース管理制御部は、前記アプリケーションプログラミングインタフェースの識別情報とアクセスを許可するか禁止するかを属性情報毎に示すアクセス許可情報とを対応づけたアプリケーションプログラミングインタフェース制御リストデータを記憶するアプリケーションプログラミングインタフェース制御リスト格納部と、前記アプリケーションプログラミングインタフェース制御リストデータを受信して、前記アプリケーションプログラミングインタフェース制御リスト格納部に記憶される前記アプリケーションプログラミングインタフェース制御リストを更新するアプリケーション制御リスト管理部とをさらに備え、前記アプリケーションプログラミングインタフェース管理制御部は、前記アプリケーション実行部が実行している前記アプリケーションプログラムの前記属性情報と前記機能部の処理の呼び出しに用いた前記アプリケーションプログラミングインタフェースの識別情報とに基づいて、前記アプリケーションプログラミングインタフェース制御リスト格納部に記憶される前記アプリケーションプログラミングインタフェース制御リストデータから呼び出しを許可するか禁止するかを示すデータを読み出しても良い。
 これによれば、受信装置は、アプリケーションプログラミングインタフェース制御リストデータを記憶するアプリケーションプログラミングインタフェース制御リスト格納部を備える。よって、受信装置は、機能部の処理を呼び出す際における呼び出しを許可するか禁止するかについての判定を、アプリケーションプログラミングインタフェース制御リストデータに示されるデータに基づいて処理することができる。
 さらに、受信装置は、アプリケーションプログラミングインタフェース制御リストデータを受信及び更新するアプリケーション制御リスト管理部を備える。よって、受信装置は、アプリケーションプログラミングインタフェース制御リスト格納部に記憶されるアプリケーションプログラミングインタフェース制御リストデータを更新することができる。
 つまり、この受信装置によれば、新しいアプリケーションプログラミングインタフェース制御リストデータを当該受信装置に送信すれば、その新しいアプリケーションプログラミングインタフェース制御リストデータに基づいて、API(機能)へのアクセス可否を制御することが可能となる。
 これにより、各アプリケーションのAPI利用可能範囲を随時変更可能な受信装置を提供することができる。
[5] 本発明の第2の態様は、放送または通信により受信したデータに関する処理をする機能部を有する受信装置に用いられるコンピュータを、アプリケーションプログラムを記憶するアプリケーション蓄積部、起動指示に基づいて前記アプリケーション蓄積部からアプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づきアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すアプリケーション実行部、前記アプリケーション実行部がアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すときに、前記アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを制御するアプリケーションプログラミングインタフェース管理制御部、として機能させるプログラムである。
[6] 本発明の第3の態様は、アプリケーションプログラミングインタフェースを介して、放送または通信により受信したデータに関する処理をする機能部の処理を呼び出すときに、アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを判定し、前記呼び出しを許可すると判定した場合に、起動指示に基づいて、前記アプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づき前記アプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出す受信方法である。
 本発明によれば、利用を許可するAPIを、アプリケーションに応じて制限することができる。
本発明の一実施形態による放送通信連携システムの全体構成図である。 同実施形態による受信装置の機能ブロック図である。 同実施形態によるアプリケーション制御機構の機能ブロック図である。 同実施形態によるAPIリストデータのデータ例を示す図である。 同実施形態によるAPI制御リストデータのデータ例を示す図である。 同実施形態による受信装置におけるアプリケーション属性管理処理を示すフローチャートである。 同実施形態による受信装置におけるAPIアクセス制御処理を示すフローチャートである。
 以下、図面を参照しながら本発明の実施形態を詳細に説明する。
 図1は、本発明の一実施形態による放送通信連携システムの全体構成図である。図1に示すように、放送通信連携システムは、放送送出装置1、アプリケーション配信装置2、コンテンツ配信装置3及び受信装置4を備える。アプリケーション配信装置2及びコンテンツ配信装置3は、インターネットなどの通信ネットワーク9を介して受信装置4と接続される。図1においては、放送送出装置1、アプリケーション配信装置2、コンテンツ配信装置3及び受信装置4をそれぞれ1台のみ示しているが、現実には複数台が設けられる。放送送出装置1は、放送事業者ごとに設けられる。アプリケーション配信装置2およびコンテンツ配信装置3は、サービス事業者ごとに設けられる。なお、放送事業者とサービス事業者が同一となることもありうる。受信装置4は、視聴者であるユーザが保有する。
 放送送出装置1は、放送事業者の放送設備であり、映像、音声、データ放送などを多重、変調し、放送波として送信する。アプリケーション配信装置2は、受信装置4上で実行されるアプリケーションのアプリケーションプログラムを、通信ネットワーク9を経由して受信装置4に配信するコンピュータサーバである。アプリケーションプログラムは、例えば、アプリケーション実行ファイルのみからなるものや、アプリケーション実行ファイルと画像ファイルなどの一連のファイルからなるものなどがある。コンテンツ配信装置3は、受信装置4上で実行されるアプリケーションが利用する映像、音声、テキストなどのコンテンツデータや他のデータ(以下、アプリケーションが利用するコンテンツデータや他のデータを総称して「コンテンツデータ」と記載する。)を、通信ネットワーク9を経由して受信装置4に配信するコンピュータサーバ(コンテンツ配信サーバ)である。
 受信装置4は、放送通信連携サービスを利用できる受信機であり、例えば、テレビ、セットトップボックス、パーソナルコンピュータ、携帯端末等のデバイスである。受信装置4は、放送送出装置1から送出(送信)される放送波を受信するとともに、通信ネットワーク9を介して接続されるアプリケーション配信装置2やコンテンツ配信装置3との間でデータの送受信を行う。
 本実施形態の放送通信連携システムは、放送通信連携サービスを実現する。放送通信連携サービスの形態は複数存在するが、本実施形態では、デジタル放送サービスと、インターネットなどによる通信サービスとを受信装置4において連携する。受信装置4は、放送送出装置1からの放送波により放送で配信されるアプリケーションプログラム、または、アプリケーション配信装置2から通信ネットワーク9を経由して通信で配信されるアプリケーションプログラムを実行する。アプリケーションプログラムを実行することで、受信装置4は、通信ネットワーク9上のコンテンツデータをコンテンツ配信装置3から取得し、コンテンツデータの映像や音声を、放送番組の映像や音声と同時に出力する。これによって、ユーザは、放送通信連携サービスを利用することができる。
 アプリケーションプログラムは複数のサービス事業者から配信される。ここでは事業者A、B、Cの3つのサービス事業者それぞれのアプリケーション配信装置2からアプリケーションプログラムが配信される場合を説明する。
 受信装置4は、この受信装置4内の複数の機能それぞれに対してAPI(Application Programming Interface:アプリケーションプログラミングインタフェース)を設けている。受信装置4がアプリケーションプログラムを実行することによって、アプリケーションがAPIを利用するためのAPIアクセスが実行される。これにより、アプリケーションは、受信装置4が有する機能や、受信装置4内で処理対象としている情報を扱う機能を利用することができる。その上で、受信装置4は、アプリケーションの属性に応じてAPIの利用範囲が異なるように制御する。例えば、事業者Aが配付したアプリケーションはすべてのAPIを利用可能とし、他の事業者B及び事業者Cが配布したアプリケーションは所定の一部のAPIのみを利用可能とするように、受信装置4を実現する。
 また、放送通信連携サービスでは、サービスの主体となる放送サービスを提供する放送事業者ごとに、各アプリケーションのAPI利用可能範囲の差別化に対する考え方が異なる場合がある。例えば、編成チャンネル「001」を保有する放送事業者αでは、事業者AのアプリケーションについてはすべてのAPIを利用可能とするが、その他のサービス事業者のアプリケーションについては一部のAPIのみ利用可能とする。それに対して、編成チャンネル「002」を保有する放送事業者βでは、事業者A、B、Cを含むすべてのサービス事業者のアプリケーションについてすべてのAPIを利用可能とする。このように、放送事業者間の考え方の違いが生じることが想定される。そこで、放送事業者(編成チャンネル)毎に、アプリケーションの属性に基づくAPI利用可能範囲が異なるように制御する受信装置4を実現する。
 図2は、受信装置4の内部構成を示すブロック図である。図2に示すように、受信装置4は、ユーザ入力部401、放送受信部402、選局部403、分離部404、通信入出力部405、BML(Broadcast Markup Language)ブラウザ部406、HTML(Hypertext Markup Language)ブラウザ部407、アプリケーション管理部408、アプリケーション制御部409、アプリケーション実行部410、API管理制御部411、表示制御部412、映像表示部413、音声制御部414、音声出力部415及びデータ蓄積部416を備える。
 なお、図2中の丸印は、APIを示している。
 ユーザ入力部401は、ユーザによる操作を受けるインタフェースである。ユーザ入力部401は、例えば、リモコン、キーボード、マウス、携帯電話、タブレット端末などにより入力されたデータを受ける。
 放送受信部402は、一般的なチューナであり、デジタル放送の放送信号を受信し、復調する。選局部403は、ユーザ入力部401が受けたユーザの操作に従って、放送受信部402が受信するメディアやチャンネルを制御する。メディアには、地上、BS(放送衛星)、CS(通信衛星)などがある。分離部404は、一般的なデマルチプレクサであり、放送受信部402において復調され、出力されたMPEG(Moving Picture Experts Group)-2 TS(Transport Stream)信号を、番組を構成するコンテンツデータや、番組情報等に分離する。番組を構成するコンテンツデータは、映像データ、音声データ、データ放送、字幕データなどである。番組情報は、PSI/SI(Program Specific Information/Service Information)などである。
 通信入出力部405は、通信ネットワーク9に接続するためのインタフェースである。
 通信入出力部405は、通信ネットワーク9を経由してアプリケーション配信装置2やコンテンツ配信装置3との間でデータを送受信する。
 BMLブラウザ部406は、BMLで記述されたデータ放送を表示するためのブラウザを提供し、ユーザ入力部401が受けたユーザの操作に従ってブラウザを動作させる。
 HTMLブラウザ部407は、一般的なHTMLブラウザを提供する。HTMLブラウザ部407が提供するHTMLブラウザは、通信ネットワーク9を経由してアプリケーション配信装置2や、図示しないコンピュータサーバから受信したウェブデータを表示する。
 アプリケーション管理部408は、放送や通信で配信されたアプリケーションプログラムを蓄積するか、あるいは一時的にキャッシュして管理する。このとき、アプリケーション管理部408は、ユーザがアプリケーションを選択あるいは操作したり、アプリケーション実行部410において実行したりするために、アプリケーションにアプリケーション番号を付与する。アプリケーション番号は、受信装置4内にアプリケーションプログラムが蓄積されたアプリケーションに対して一意の番号である。さらに、アプリケーション管理部408は、アプリケーションの属性を判定し、判定した属性を示す属性情報と、付与したアプリケーション番号を示すアプリケーション番号情報とを対応づけて管理する。アプリケーション番号情報は、受信装置4内でアプリケーションを一意に特定するアプリケーション識別情報として用いられる。
 アプリケーション制御部409は、アプリケーション実行部410によるアプリケーションの起動や停止、アプリケーション実行中の動作を制御する。アプリケーション実行中の動作の制御は、ユーザ入力部401が受けたユーザの操作、または、放送信号により含まれる情報に従って行われる。また、アプリケーション制御部409は、アプリケーションを起動する時、アプリケーション管理部408に問い合わせてその起動するアプリケーションの属性情報を得ると、得られた属性情報と、起動するアプリケーションのアプリケーション番号情報とをAPI管理制御部411に通知する。
 アプリケーション実行部410は、アプリケーションの起動指示を受け、アプリケーション管理部408が管理しているアプリケーションプログラムを読み出して実行する。アプリケーション実行部410がアプリケーションプログラムを実行することにより、アプリケーションからAPIにアクセスする際には、アプリケーション番号情報とアクセス対象のAPIを特定するAPI識別情報とをAPI管理制御部411に通知する。本実施形態では、API識別情報はAPI名を示す。
 API管理制御部411は、受信装置4の各機能部(モジュール)が機能の提供に用いるAPIを管理するとともに、APIへのアクセスを許可するか禁止するかをアプリケーションの属性毎に管理する。また、API管理制御部411は、アプリケーションがAPIにアクセスしようとした時に、そのアプリケーションの属性に基づいてAPIへのアクセスを許可するか否かのアクセス制御を行う。
 表示制御部412は、映像表示部413に表示させる映像の大きさやレイアウトを制御する。ここでは、放送で受信した映像データ、データ放送、字幕データの映像、さらに、実行中のアプリケーションが出力する画面、実行中のアプリケーションが取得したコンテンツデータの画面、HTMLブラウザのウィンドウ画面が制御対象となる。また、表示制御部412は、ユーザ入力部401が受け付けたユーザの操作に従った画面のレイアウトの制御も行う。
 映像表示部413は、一般的なディスプレイであり、表示制御部412により制御された映像を表示する。
 音声制御部414は、音声出力部415に出力する音声の音量やバランスを制御する。
 ここでは、放送で受信した音声データの音声、実行中のアプリケーションが出力する音声データの音声や実行中のアプリケーションが取得したコンテンツデータの音声、HTMLブラウザから出力される音声データの音声が制御対象となる。
 音声出力部415は、一般的なスピーカーあり、音声制御部414で制御された音声を出力する。
 データ蓄積部416は、ユーザの個人情報などの各種情報を保存管理する。
 ユーザ入力部401、放送受信部402、選局部403、分離部404、通信入出力部405、HTMLブラウザ部407、表示制御部412、音声制御部414、データ蓄積部416は、APIを提供(実装)する。これらの機能部(モジュール)は、実行中のアプリケーションからのAPIアクセスがAPI管理制御部411により許可された場合、アクセスされたAPIに対応した機能を実行する。
 アプリケーション管理部408、アプリケーション制御部409、アプリケーション実行部410、及び、API管理制御部411からなる機能部(モジュール)の集合を、アプリケーション制御機構400と呼ぶ。アプリケーション制御機構400により、アプリケーションの属性に基づいたAPI利用可能範囲の制御を行う。
 図3は、アプリケーション管理部408、アプリケーション実行部410及びAPI管理制御部411で構成されるアプリケーション制御機構400の詳細な構成を示す機能ブロック図である。
 アプリケーション管理部408は、アプリケーション蓄積部451及びアプリケーション属性管理部452を備える。
 アプリケーション蓄積部451は、受信装置4が実行するアプリケーションのアプリケーションプログラムを管理する。なお、アプリケーションには、実行に先立って受信装置4にアプリケーションプログラムをインストールしておくインストール型と、アプリケーションの実行のたびにアプリケーションプログラムを取得するオンザフライ型がある。インストール型の場合、アプリケーションの終了はアプリケーションプログラムの削除の契機とはならない。オンザフライ型の場合、アプリケーションの終了を契機としてアプリケーション蓄積部451からアプリケーションプログラムが削除される。アプリケーション蓄積部451にアプリケーションプログラムが蓄積されるアプリケーションは、受信装置4が実行する可能性のあるアプリケーションである。
 アプリケーション属性管理部452は、アプリケーション蓄積部451に蓄積されるアプリケーションプログラムに対してアプリケーション番号を付与する番号付けを行う。つまり、アプリケーション番号情報は、受信装置4内においてアプリケーション蓄積部451にアプリケーションプログラムが蓄積されているアプリケーションに対して一意の番号である。さらに、アプリケーション属性管理部452は、アプリケーション蓄積部451にアプリケーションプログラムが蓄積されたときにアプリケーションの属性を判定する。
 例えば、アプリケーション属性管理部452は、アプリケーションプログラムの電子署名の有無を検証することにより属性を判定する。アプリケーション属性管理部452は、付与したアプリケーション番号を示すアプリケーション番号情報と、判定した属性を示す属性情報とを対応づけてアプリケーション属性格納部453に書き込む。
 API管理制御部411は、API管理部461、API制御リスト格納部463及びAPI制御部464を備える。
 API管理部461は、受信装置4の各機能部(モジュール)が提供するAPIを記述したリストデータを管理する。
 API制御リスト管理部462は、受信装置4の機能部(モジュール)が提供するAPIと、アクセス可能なアプリケーションの属性との対応づけを示すAPI制御リストデータを管理する。API制御リスト管理部462は、放送事業者(編成チャンネル)ごとのAPI制御リストデータを記憶するAPI制御リスト格納部463を備える。API制御リスト管理部462は、アプリケーションがAPIにアクセスしてよいか否かの照会のため、API制御部464から編成チャンネル、アプリケーションの属性情報及びAPI識別情報の通知を受ける。API制御リスト管理部462は、API制御リスト格納部463内のAPI制御リストデータのうち、編成チャンネルに対応したAPI制御リストデータを参照してアクセスの許可または禁止を判定すると、その判定結果を示す応答をAPI制御部464に返送する。また、API制御リスト格納部463は、放送または通信で伝送されたAPI制御リストデータにより、API制御リスト格納部463に記憶されているAPI制御リストデータを随時更新する。
 API制御部464は、アプリケーションからの受信装置4のモジュールが提供するAPIへのアクセス制御を行う。API制御部464は、アプリケーション制御部409から通知された起動対象のアプリケーションのアプリケーション番号情報と属性情報とを対応づけて記憶する属性記憶部465を備える。API制御部464は、実行中のアプリケーションがAPIにアクセスしようとするとき、アプリケーション実行部410から実行中のアプリケーションのアプリケーション番号情報と、アクセス対象であるAPIのAPI識別情報との通知を受ける。API制御部464は、分離部404が放送信号から分離したPSI/SI中のSDT(Service Description Table:サービス記述テーブル)を参照し、現在受信中の編成チャンネルの情報を取得する。また、API制御部464は、アプリケーション実行部410から通知されたアプリケーション番号情報に対応して属性記憶部465から属性情報を読み出す。API制御部464は、読み出した属性情報と、アプリケーション実行部410から通知されたAPI識別情報と、取得した編成チャンネルの情報とをAPI制御リスト管理部462に出力し、アプリケーションがAPIへアクセスしてよいか否かを照会する。API制御部464は、API制御リスト管理部462から返送されたアクセスの許可または禁止の判定結果を受信すると、受信した判定結果をアプリケーション実行部410に通知する。
 図3に示すアプリケーション制御機構400での情報の入出力は、以下の通りである。
 アプリケーション蓄積部451は、アプリケーションプログラムの情報D11を、アプリケーション実行部410に出力する。アプリケーション実行部410は、アプリケーション番号、実行命令の情報D12を、アプリケーション蓄積部451に出力する。
 アプリケーション属性管理部452は、属性の情報D13を、アプリケーション制御部409に出力する。アプリケーション制御部409は、アプリケーション番号の情報D14を、アプリケーション属性管理部452に出力する。
 アプリケーション制御部409は、アプリケーション番号、実行命令の情報D15を、アプリケーション実行部410に出力する。アプリケーション制御部409は、アプリケーション番号、属性の情報D16を、API制御部464に出力する。
 API管理部461は、API名の情報D17を、API制御リスト管理部462に出力する。API制御リスト管理部462には、更新されたAPI制御リストの情報D18が入力される。
 API制御部464は、API名、属性、編成チャンネル情報の情報D19を、API制御リスト管理部462に出力する。API制御リスト管理部462は、APIへのアクセスの許可又は禁止を示す情報D20を、API制御部464に出力する。API制御部464には、編成チャンネル情報が入力される。
 API管理制御部461には、API名の情報D22が入力される。API制御部464は、アプリケーション番号、APIアクセスの許可又は禁止を示す情報D23を、アプリケーション実行部410に出力する。
 API制御部464は、アプリケーション番号、API名の情報D24を、アプリケーション実行部410に出力する。アプリケーション制御部409には、アプリケーション制御命令の情報D25が入力される。
 なお、図3中の丸印は、APIを示している。アプリケーション実行部410は、このAPIにアクセスする。
 図4は、API管理部461が管理するAPIリストデータの例を示す図である。図4に示すように、APIリストデータは、モジュールを特定する情報と、各モジュールが提供するAPIのAPI名を示すAPI識別情報と、APIの機能の説明を示す機能情報とを対応づけたデータである。図4においては、モジュールを特定する情報として、各機能部の名称を用いている。図4に示すAPIリストデータは、例えば、選局部403は、選局しているメディア名を取得する機能のメディア情報取得、選局しているチャンネル名を取得する機能のチャンネル情報取得、メディアを選局する機能のメディア選局制御、チャンネルを選局する機能のチャンネル選局制御などのAPIを提供することを示している。
 図5は、API制御リスト格納部463に記憶されるAPI制御リストデータを示す図である。API制御リスト格納部463は、編成チャンネル情報と対応づけてAPI制御リストデータを記憶する。図5に示すように、API制御リストデータは、モジュールを特定する情報と、各モジュールが提供するAPIのAPI名を示すAPI識別情報と、APIへのアクセスを許可するか禁止するかを属性毎に示すアクセス許可情報とを対応づけたデータである。
 図5において、記号Aは、アクセスが許可されていることを示し、記号Bは、アクセスが禁止されていることを示す。
 図5に示すAPI制御リストデータは、例えば、選局部403が提供するメディア情報取得APIについては、属性1のアプリケーション、属性2のアプリケーションともアクセスを許可し、分離部404が提供する映像取得APIについては、属性1のアプリケーションからのアクセスは許可するが、属性2のアプリケーションからのアクセスは禁止することを示している。
 図6は、受信装置4におけるアプリケーション属性管理処理を示すフローチャートである。アプリケーション属性管理処理において、受信装置4は、アプリケーションへのアプリケーション番号の付与と、付与したアプリケーション番号及び属性の紐づけを行う。
 まず、受信装置4のユーザ入力部401によりアプリケーション取得命令が入力される。あるいは、受信装置4の分離部404が、放送受信部402が受信した放送信号からアプリケーション取得命令を分離する。アプリケーション取得命令には、アプリケーションが格納場所を示すロケーション情報が含まれている。ロケーション情報は、例えば、URL(Universal Resource Locator)により示される。アプリケーション管理部408は、ユーザ入力部401または分離部404からアプリケーション取得命令の入力を受けると、アプリケーション取得命令に設定されているロケーション情報で特定されるアプリケーション配信装置2にアクセスし、アプリケーションプログラムの取得要求を送信する。アプリケーション配信装置2は、受信装置4にアプリケーションプログラムを配信する。受信装置4の通信入出力部405は、アプリケーション配信装置2から受信したアプリケーションプログラムをアプリケーション管理部408に出力し、アプリケーション管理部408のアプリケーション蓄積部451は、アプリケーションプログラムを蓄積する(ステップS105)。
 アプリケーション蓄積部451は、アプリケーションプログラムが蓄積されたことをアプリケーション属性管理部452に通知する(ステップS110)。
 アプリケーション属性管理部452は、ステップS110においてアプリケーション蓄積部451にアプリケーションプログラムが蓄積されたアプリケーションに対して番号付けを行い、受信装置4内で一意のアプリケーション番号を付与する(ステップS115)。
 アプリケーション属性管理部452は、付与したアプリケーション番号を示すアプリケーション番号情報をアプリケーション蓄積部451に出力する。アプリケーション蓄積部451は、アプリケーション属性管理部452から通知されたアプリケーション番号情報を、ステップS110において蓄積したアプリケーションプログラムに対応づけて記憶する。
 続いて、アプリケーション属性管理部452は、アプリケーションの属性を判定する(ステップS120)。
 具体的には、アプリケーション属性管理部452は、ステップS105においてアプリケーション蓄積部451に蓄積されたアプリケーションプログラムの属性を判定する。アプリケーション属性管理部452は、蓄積されたアプリケーションプログラムに付加されている電子署名を検証し、電子署名の検証が成功した場合は属性1、電子署名の検証が不成功であるか電子署名が付加されていない場合は属性2と判定する。
 例えば、アプリケーション属性管理部452は、事業者Aから配布されたアプリケーションプログラムには電子署名が付与されており、検証が成功したため、属性1と判定する。
 また、アプリケーション属性管理部452は、その他の事業者B、事業者Cから配布されたアプリケーションプログラムには電子署名が付与されていないため、属性2と判定する。
 アプリケーション属性管理部452は、ステップS120において判定した属性を示す属性情報と、ステップS115において番号付けしたアプリケーション番号を示すアプリケーション番号情報とを対応づけてアプリケーション属性格納部453に書き込む(ステップS125)。
 これにより、アプリケーション番号と属性とが紐づけられる。
 図7は、受信装置4におけるAPIアクセス制御処理を示すフローチャートである。APIアクセス制御処理では、受信装置4において実行されているアプリケーションがAPIへアクセスしようとした際、アプリケーション制御機構400が、アクセス対象のAPIへのアクセスを許可するか否かを制御する。
 まず、ユーザ操作や放送信号の命令により、アプリケーション制御部409にアプリケーション起動指示(アプリケーション制御命令)が入力される(ステップS205)。
 例えば、ユーザ入力部401は、ユーザ操作により起動対象のアプリケーションを示す情報の入力を受ける。ユーザ入力部401は、入力された情報が示す起動対象のアプリケーションのアプリケーション番号情報をアプリケーション起動指示に設定し、アプリケーション制御部409に出力する。アプリケーション制御部409は、アプリケーション起動指示から起動対象のアプリケーション番号情報を読み出す。
 あるいは、分離部404は、放送信号から分離した起動対象のアプリケーションのアプリケーションIDをアプリケーション制御部409に出力する。アプリケーション制御部409は、アプリケーションIDにより特定されるアプリケーションプログラムに対応して記憶されている起動対象のアプリケーションのアプリケーション番号情報をアプリケーション属性格納部453から読み出す。
 アプリケーション制御部409は、アプリケーション管理部408のアプリケーション属性管理部452に、ステップS205において読み出した起動対象のアプリケーションのアプリケーション番号情報を通知する(ステップS210)。
 アプリケーション属性管理部452は、ステップS210において通知されたアプリケーション番号情報に対応してアプリケーション属性格納部453に記憶されている属性情報を読み出し、アプリケーション制御部409に通知する(ステップS215)。
 アプリケーション制御部409は、ステップS210において通知したアプリケーション番号情報と、通知したアプリケーション番号情報に対応してステップS215においてアプリケーション属性管理部452から通知された属性情報とを対応づけて、API管理制御部411内のAPI制御部464に通知する(ステップS220)。
 アプリケーション制御部409は、起動対象のアプリケーションのアプリケーション番号情報を設定した実行命令をアプリケーション実行部410に通知する(ステップS225)。
 アプリケーション実行部410は、ステップS225において通知された実行命令から取得したアプリケーション番号情報により特定されるアプリケーションプログラムを、アプリケーション管理部408内のアプリケーション蓄積部451から読み出して実行する(ステップS230)。
 アプリケーション実行部410は、実行中のアプリケーションプログラムの実行が終了した場合(ステップS235:はい)、処理を終了する。
 一方、アプリケーション実行部410は、アプリケーションプログラムの実行が継続している場合(ステップS235:いいえ)、実行しているアプリケーションがAPIを使用するかを判定する(ステップS240)。
 具体的には、アプリケーション実行部410は、実行中のアプリケーションプログラムに記述されたAPI呼び出し命令(APIアクセス命令)を読み出して実行する際、実行しているアプリケーションがAPIを使用すると判定する。
 アプリケーション実行部410は、実行しているアプリケーションがAPIを使用しない(APIにアクセスしない)と判定した場合(ステップS240:いいえ)、ステップS235からの処理を繰り返す。
 一方、ステップS240において、実行しているアプリケーションがAPIを使用する(APIにアクセスする)と判定した場合(ステップS240:はい)、アプリケーション実行部410は、使用するAPIのAPI名を示すAPI識別情報と、実行しているアプリケーションのアプリケーション番号情報とをAPI管理制御部411内のAPI制御部464に通知する(ステップS245)。
 API管理制御部411内のAPI制御部464は、ステップS245において通知されたアプリケーション番号情報に対応した属性情報を属性記憶部465から読み出す。さらに、API制御部464は、分離部404が分離したPSI/SIのSDTから現在選択されている編成チャンネルを示す編成チャンネル情報を取得する(ステップS250)。
 API制御部464は、ステップS245において通知されたAPI識別情報と、ステップS250において読み出した属性情報及び取得した編成チャンネル情報をAPI管理制御部411内のAPI制御リスト管理部462に通知する(ステップS255)。
 API制御リスト管理部462は、編成チャンネル情報が示す編成チャンネルに対応してAPI制御リスト格納部463に記憶されているAPI制御リストデータを特定し、特定したAPI制御リストデータから、ステップS255において通知されたAPI識別情報に対応したアクセス許可情報を読み出す。API制御リスト管理部462は、読み出したアクセス許可情報から、ステップS255において通知された属性情報が示す属性のアプリケーションからのアクセスを許可するか禁止するかを示す情報を読み出し、判定結果とする。API制御リスト管理部462は、判定結果を示す応答をAPI管理制御部411内のAPI制御部464に通知する(ステップS260)。
 API制御部464は、ステップS260において通知された応答が示す判定結果をアプリケーション実行部410に通知する(ステップS265)。
 アプリケーション実行部410は、ステップS265において通知された判定結果が「アクセス許可」を示していると判定した場合(ステップS270:はい)、ステップS245においてアプリケーション番号情報を通知したアプリケーションからのAPIへのアクセスを許可する(ステップS275)。
 これにより、実行中のアプリケーションは、APIにアクセスし、受信装置4内のモジュールの機能を利用する。つまり、アプリケーション実行部410は、アプリケーションプログラムに記述されているAPI呼び出し命令を実行してAPIを呼び出し、呼び出されたAPIを提供する機能部(モジュール)は、その呼び出されたAPIに対応した機能を実行する。受信装置4は、ステップS235からの処理を繰り返す。
 一方、アプリケーション実行部410は、ステップS265において通知された判定結果が「アクセス禁止」を示していると判定した場合(ステップS270:いいえ)、ステップS245において通知したアプリケーション番号情報により特定されるアプリケーションからのAPIへのアクセスを禁止する(ステップS280)。
 これにより、実行中のアプリケーションは、受信装置4内のモジュールの機能の利用が制限される。受信装置4は、ステップS235からの処理を繰り返す。
 上記のように、API管理制御部411は、アプリケーション実行部410がアプリケーションプログラムを実行することによってAPIを介してモジュールの機能を呼び出した際、機能の呼び出しに用いたAPIの利用を許可する否かを、実行されているアプリケーションプログラムの属性情報に基づいて判定する。API管理制御部411は、判定した結果に従ってアプリケーション実行部410がAPIを介して行ったモジュールの機能の呼び出しを許可又は禁止するよう制御する。
 電子署名が付加されたアプリケーションは、第三者機関が公式であると認定した公式アプリケーションである。このような公式アプリケーションには、第三者機関によりアプリケーションIDが付与される。公式アプリケーションは、アプリケーションIDが付与されているため、受信装置4は容易にアプリケーションを識別することができる。
 一方、第三者機関による認定を受けていないアプリケーションは、非公式アプリケーションであり、アプリケーションIDも電子署名も付与されない。しかし、ユーザの操作によってアプリケーションを選択し、起動するためには、公式アプリケーションか非公式アプリケーションかによらず、受信装置4内の全てのアプリケーションを識別する必要がある。そのため、公式アプリケーションか非公式アプリケーションかに関わらず、受信装置4内でアプリケーションプログラムを取得した全てのアプリケーションにアプリケーション番号を付与する。
 本実施形態では、受信装置4は、アプリケーションプログラムの取得時にアプリケーション番号を付与し、付与したアプリケーション番号と、アプリケーションの属性とを紐づけたデータを記憶する。その上で、アプリケーションの起動時には、そのアプリケーションのアプリケーション番号と属性の組のデータをAPI制御部464に必ず通知する。ユーザや放送からの指示に基づいて、アプリケーション実行部410によりアプリケーションが実行され、APIにアクセスしようとしたときには、アプリケーション実行部410からアプリケーション番号とAPI名を示すデータがAPI制御部464に通知される。そして、API制御部464は、アプリケーション起動時にすでに通知されているアプリケーション番号と属性の組のデータを記憶する属性記憶部465から、通知されたアプリケーション番号に紐づけられた属性のデータを取得し、そのデータが示す属性をもとに制御を行うことで、アプリケーションの属性に応じたアクセス制御を行う。
 なお、API制御リストデータの更新は、以下のように行う。
 放送送出装置1は、API制御リストデータが含まれる制御リストファイルを設定した放送信号を送信する。制御リストファイルは、例えば、データカルーセル方式で伝送される。受信装置4の分離部404は、放送信号から制御リストファイルを分離し、API制御リスト格納部463は、その分離された制御リストファイルからAPI制御リストデータを取得する。さらに、API制御リスト格納部463は、分離部404が放送信号から分離したPSI/SI中のSDTを参照し、現在受信中の編成チャンネルを示す編成チャンネル情報を取得する。
 各API制御リストデータには、放送事業者がAPI制御リストデータを発行した日時を示すタイムスタンプが付加されている。API制御リスト管理部462は、制御リストファイルから取得したAPI制御リストデータのタイムスタンプと、取得した編成チャンネル情報と対応づけてAPI制御リスト格納部463が記憶しているAPI制御リストデータのタイムスタンプとを比較する。API制御リスト管理部462は、放送により受信したAPI制御リストデータのタイムスタンプの方が新しければ、編成チャンネル情報と対応づけてAPI制御リスト格納部463に記憶されているAPI制御リストデータを、放送により受信したAPI制御リストデータに書き換える。
 あるいは、通信ネットワーク9に接続される図示しないサーバコンピュータが、編成チャンネル情報とAPI制御リストデータとが設定された制御リストファイルをHTTPなどにより配信する。受信装置4の通信入出力部405は、受信した制御リストファイルをAPI制御リスト管理部462に出力する。API制御リスト管理部462は、通信により受信した制御リストファイルから編成チャンネル情報とAPI制御リストデータを読み出すと、放送で制御リストファイルを受信した場合と同様にタイムスタンプを比較する。
 通信により受信したAPI制御リストデータのタイムスタンプの方が新しければ、API制御リスト管理部462は、編成チャンネル情報と対応づけてAPI制御リスト格納部463に記憶されているAPI制御リストデータを、通信により受信したAPI制御リストデータに書き換える。
 上記実施形態において、アプリケーション属性管理部452は、アプリケーション蓄積部451にアプリケーションプログラムが蓄積されたときにアプリケーションの属性を判定しているが、アプリケーションの起動時にアプリケーションの属性を判定してもよい。
 例えば、図7のステップS215において、アプリケーション属性管理部452は、ステップS210において通知されたアプリケーション番号情報に対応したアプリケーションプログラムをアプリケーション蓄積部451から読み出し、図6のステップS120と同様の処理により属性を判定する。アプリケーション属性管理部452は、判定した属性を示す属性情報をアプリケーション制御部409に通知する。このとき、アプリケーション属性管理部452は、属性情報とアプリケーション番号情報とを対応づけてアプリケーション属性格納部453に書き込んでもよい。属性情報とアプリケーション番号情報とを対応づけてアプリケーション属性格納部453に属性情報を書き込む場合、アプリケーション属性管理部452は、ステップS210において通知されたアプリケーション番号情報に対応した属性情報がアプリケーション属性格納部453に書き込まれていないときのみ、アプリケーション番号情報に対応したアプリケーションプログラムをアプリケーション蓄積部451から読み出して属性を判定してもよい。
 また、上記実施形態においては、電子署名の検証が成功した場合に属性1、電子署名の検証が不成功であるか電子署名が付加されていない場合に属性2としたが、属性の種類は3以上であってもよく、属性情報が他の属性を示すものでもよい。
 例えば、アプリケーションの属性は、サービス事業者名やアプリケーションの種別を用いることができる。また、最も小さい単位ではアプリケーションIDを属性として用いることができる。あるいは、サービス事業者名、アプリケーションの種別、アプリケーションIDに対応して属性を決定してもよい。また、アプリケーション属性管理部452は、アプリケーションプログラムを放送で取得した場合には属性1、通信で取得した場合には属性2などのように、アプリケーションプログラムの取得経路によって属性を判定してもよい。
 サービス事業者名を属性として用いる場合、アプリケーション属性管理部452は、アプリケーションプログラムに付与された電子署名が示すサービス事業者名を属性とし、アプリケーションプログラムに電子署名が付与されていない場合、API利用可能範囲が最も狭い所定の属性とする。
 あるいは、サービス事業者名から属性を決定する場合、予めアプリケーション属性格納部453にサービス事業者名と属性とを対応づけた属性判定情報を記憶しておく。アプリケーション属性管理部452は、アプリケーションプログラムに付与された電子署名が示すサービス事業者名に対応した属性を属性判定情報から読み出す。アプリケーションプログラムに電子署名が付与されていない場合、あるいは、電子署名が示すサービス事業者名に対応した属性がアプリケーション属性格納部453に記憶されていない場合、アプリケーション属性管理部452は、API利用可能範囲が最も狭い所定の属性と判定する。
 また、アプリケーション属性管理部452は、上述したサービス事業者名に代えてアプリケーションの種別、アプリケーションIDを用いて同様に属性を判定することができる。ただし、アプリケーション属性管理部452は、アプリケーションの種別、アプリケーションIDをアプリケーションプログラムに付加された情報から取得する。
 なお、サービス事業者名、アプリケーションの種別あるいはアプリケーションIDと属性とを対応づけた属性判定情報は、放送送出装置1から放送信号により、あるいは、アプリケーション配信装置2から通信ネットワーク9を経由した通信により受信装置4に伝送してもよい。アプリケーション管理部408は、アプリケーション属性格納部453に記憶されている属性判定情報を、受信した属性判定情報により更新する。
 また、アプリケーションは、通信ネットワーク9を経由して取得したコンテンツデータを表示するものでなくともよい。
 本実施形態では、放送通信連携サービスに対応した受信装置4において、アプリケーションが受信装置内のモジュールが提供するAPIや、受信装置4内で処理する情報(放送信号や蓄積データなど)を扱うAPIを利用しようとしたときに、そのアプリケーションの属性に基づいて、APIを利用するためのAPIアクセスを許可または禁止する制御を行う。これにより、アプリケーションプログラムを提供する事業者や、アプリケーションプログラムそのものの信頼性(受信装置4のユーザが不利益を被らない可能性)に応じて属性を割り当て、その信頼度に応じてAPIの利用の許可または禁止をきめ細かく決めることができる。よって、ユーザのアプリケーション利用における安全性の向上が見込まれる。
 また、受信中の放送の編成チャンネルに基づいて、アプリケーションの属性ごとにAPIの利用を許可または禁止する制御を行うことができる。これにより、放送通信連携サービスにおいて主体となる放送サービスを提供する放送事業者ごとに、アプリケーションからのAPI利用可能範囲の考え方の違いをサービスに反映することができる。さらに、アプリケーションの属性ごとのAPI利用の許可または禁止の制御に必要なAPI制御リストデータを更新することができるため、アプリケーションからのAPI利用可能範囲(API利用の許可または禁止)に対する放送事業者の考え方が変わった場合においても、随時対応することができる。
 このように、アプリケーションの属性や放送事業者といったエンティティごとに、受信装置4(受信機)で実行するアプリケーションのAPI利用の許可または禁止を柔軟に制御することができる。よって、数多くのAPIを開示して多様なアプリケーションが制作される環境においても、ユーザやコンテンツに対するセキュリティ脅威というリスクを軽減できるという効果がある。
 上述した放送送出装置1、アプリケーション配信装置2、コンテンツ配信装置3及び受信装置4は、内部にコンピュータシステムを有している。そして、放送送出装置1、アプリケーション配信装置2、コンテンツ配信装置3及び受信装置4の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含む。
 また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含む。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 本発明は、利用を許可するAPIをアプリケーションに応じて制限する受信装置、プログラム及び受信方法などに適用することができる。
1…放送送出装置
2…アプリケーション配信装置
3…コンテンツ配信装置
4…受信装置
9…通信ネットワーク
400…アプリケーション制御機構
401…ユーザ入力部
402…放送受信部
403…選局部
404…分離部
405…通信入出力部
406…BMLブラウザ部
407…HTMLブラウザ部
408…アプリケーション管理部
409…アプリケーション制御部
410…アプリケーション実行部
411…API管理制御部
412…表示制御部
413…映像表示部
414…音声制御部
415…音声出力部
416…データ蓄積部
451…アプリケーション蓄積部
452…アプリケーション属性管理部
453…アプリケーション属性格納部
461…API管理部
462…API制御リスト管理部
463…API制御リスト格納部
464…API制御部
465…属性記憶部

Claims (6)

  1.  放送または通信により受信したデータに関する処理をする機能部と、
     アプリケーションプログラムを記憶するアプリケーション蓄積部と、
     起動指示に基づいて前記アプリケーション蓄積部からアプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づきアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すアプリケーション実行部と、
     前記アプリケーション実行部がアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すときに、前記アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを制御するアプリケーションプログラミングインタフェース管理制御部と、
     を備える受信装置。
  2.  前記アプリケーションプログラムを識別するアプリケーション識別情報と前記属性情報とを対応づけて記憶するアプリケーション属性格納部と、
     前記アプリケーション蓄積部に記憶されたアプリケーションプログラム毎に付与したアプリケーション識別情報と、前記アプリケーションプログラムの前記属性情報とを対応づけて前記アプリケーション属性格納部に書き込むアプリケーション属性管理部と、
     前記起動指示に基づいて、指示された前記アプリケーション識別情報に対応づけられた前記属性情報を前記アプリケーション属性格納部から読み出して前記アプリケーションプログラミングインタフェース管理制御部に通知するアプリケーション制御部と、
     をさらに備える請求項1に記載の受信装置。
  3.  放送信号を受信する放送受信部をさらに備え、
     前記アプリケーションプログラミングインタフェース管理制御部は、前記放送受信部が受信中の編成チャンネルにも応じて前記判定を行う請求項1に記載の受信装置。
  4.  前記アプリケーションプログラミングインタフェース管理制御部は、
     前記アプリケーションプログラミングインタフェースの識別情報とアクセスを許可するか禁止するかを属性情報毎に示すアクセス許可情報とを対応づけたアプリケーションプログラミングインタフェース制御リストデータを記憶するアプリケーションプログラミングインタフェース制御リスト格納部と、
     前記アプリケーションプログラミングインタフェース制御リストデータを受信して、前記アプリケーションプログラミングインタフェース制御リスト格納部に記憶される前記アプリケーションプログラミングインタフェース制御リストを更新するアプリケーション制御リスト管理部とをさらに備え、
     前記アプリケーションプログラミングインタフェース管理制御部は、前記アプリケーション実行部が実行している前記アプリケーションプログラムの前記属性情報と前記機能部の処理の呼び出しに用いた前記アプリケーションプログラミングインタフェースの識別情報とに基づいて、前記アプリケーションプログラミングインタフェース制御リスト格納部に記憶される前記アプリケーションプログラミングインタフェース制御リストデータから呼び出しを許可するか禁止するかを示すデータを読み出す請求項1に記載の受信装置。
  5.  放送または通信により受信したデータに関する処理をする機能部を有する受信装置に用いられるコンピュータを、
     アプリケーションプログラムを記憶するアプリケーション蓄積部、
     起動指示に基づいて前記アプリケーション蓄積部からアプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づきアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すアプリケーション実行部、
     前記アプリケーション実行部がアプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出すときに、前記アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを制御するアプリケーションプログラミングインタフェース管理制御部、
     として機能させるプログラム。
  6.  アプリケーションプログラミングインタフェースを介して、放送または通信により受信したデータに関する処理をする機能部の処理を呼び出すときに、アプリケーションプログラムの属性情報に応じた判定に基づき当該呼び出しを許可するか禁止するかを判定し、
     前記呼び出しを許可すると判定した場合に、起動指示に基づいて、前記アプリケーションプログラムを読み出して実行するとともに、前記アプリケーションプログラムに基づき前記アプリケーションプログラミングインタフェースを介して前記機能部の処理を呼び出す受信方法。
PCT/JP2012/062630 2011-05-18 2012-05-17 受信装置、プログラム及び受信方法 WO2012157698A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013515189A JP6088969B2 (ja) 2011-05-18 2012-05-17 受信装置及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011111342 2011-05-18
JP2011-111342 2011-05-18

Publications (1)

Publication Number Publication Date
WO2012157698A1 true WO2012157698A1 (ja) 2012-11-22

Family

ID=47177015

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/062630 WO2012157698A1 (ja) 2011-05-18 2012-05-17 受信装置、プログラム及び受信方法

Country Status (2)

Country Link
JP (1) JP6088969B2 (ja)
WO (1) WO2012157698A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014030284A1 (ja) * 2012-08-21 2014-02-27 ソニー株式会社 情報処理装置、情報処理方法、プログラムおよびサーバ装置
JP2015136062A (ja) * 2014-01-17 2015-07-27 シャープ株式会社 デジタル放送受信装置及び通信方法
CN110309005A (zh) * 2019-06-28 2019-10-08 百度在线网络技术(北京)有限公司 一种功能调用方法、装置、终端设备及存储介质
JP2020036318A (ja) * 2018-08-22 2020-03-05 日本放送協会 受信機および端末装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454525B (zh) * 2016-10-26 2019-06-21 北京奇虎科技有限公司 直播方法、装置及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
JP2009147808A (ja) * 2007-12-17 2009-07-02 Nippon Hoso Kyokai <Nhk> 送信装置およびそのプログラム、ならびに、受信装置およびapi実行プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
JP2009147808A (ja) * 2007-12-17 2009-07-02 Nippon Hoso Kyokai <Nhk> 送信装置およびそのプログラム、ならびに、受信装置およびapi実行プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAMORI ET AL.: "Access Control Method for Terrestrial Digital Broadcasting and Mobile Communication Convergence", ITE TECHNICAL REPORT, vol. 30, no. 44, 14 September 2006 (2006-09-14), pages 67 - 72 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014030284A1 (ja) * 2012-08-21 2014-02-27 ソニー株式会社 情報処理装置、情報処理方法、プログラムおよびサーバ装置
JP5912175B2 (ja) * 2012-08-21 2016-04-27 ソニー株式会社 情報処理装置、情報処理方法、プログラムおよびサーバ装置
JP2016154363A (ja) * 2012-08-21 2016-08-25 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2018148568A (ja) * 2012-08-21 2018-09-20 サターン ライセンシング エルエルシーSaturn Licensing LLC 情報処理装置、情報処理方法およびプログラム
US10390066B2 (en) 2012-08-21 2019-08-20 Saturn Licensing Llc Information processing apparatus, information processing method, program, and server apparatus
JP2015136062A (ja) * 2014-01-17 2015-07-27 シャープ株式会社 デジタル放送受信装置及び通信方法
JP2020036318A (ja) * 2018-08-22 2020-03-05 日本放送協会 受信機および端末装置
JP7334006B2 (ja) 2018-08-22 2023-08-28 日本放送協会 受信機および端末装置
CN110309005A (zh) * 2019-06-28 2019-10-08 百度在线网络技术(北京)有限公司 一种功能调用方法、装置、终端设备及存储介质
CN110309005B (zh) * 2019-06-28 2022-03-25 百度在线网络技术(北京)有限公司 一种功能调用方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
JP6088969B2 (ja) 2017-03-01
JPWO2012157698A1 (ja) 2014-07-31

Similar Documents

Publication Publication Date Title
JP6101631B2 (ja) 受信装置及びプログラム
US10171874B2 (en) Receiving device, receiving method, and program
JP5986993B2 (ja) 受信機及びプログラム
WO2012105552A1 (ja) 受信装置、放送システム及びプログラム
US20110016171A1 (en) Method and apparatus for client capable of accessing broadcasting network and internet network to receive application
JP5970160B2 (ja) 受信装置、送信装置、放送システム及びプログラム
WO2012161118A1 (ja) 端末連携システム、受信機及び受信方法
JP6088969B2 (ja) 受信装置及びプログラム
JP6148825B2 (ja) 受信機
JP5779400B2 (ja) 受信装置、放送システム及びプログラム
JP7409448B2 (ja) 受信装置及び受信方法
US20100146544A1 (en) Concurrent interactive television for network connected devices
JP6627950B2 (ja) 送信装置および送信方法
JP6018798B2 (ja) 受信機
JP5953111B2 (ja) 受信機
JP2021072613A (ja) 受信装置およびプログラム
JP6018797B2 (ja) 受信機
JP2013009328A (ja) 受信機
JP2013009327A (ja) 受信機

Legal Events

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

Ref document number: 12785277

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013515189

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12785277

Country of ref document: EP

Kind code of ref document: A1