This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2012-115396, filed May 21, 2012, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to an information distribution apparatus, an information distribution system, and an information distribution method, which distribute applications to electronic apparatuses.
In recent years, electronic apparatuses have come to obtain applications from a server through a network. Generally, such applications are configured to operate on electronic apparatuses regardless of the type of the electronic apparatuses (not only device type such as a television, mobile phone, and smart phones, but also model number type).
Electronic apparatuses of different types have different screen sizes and different equipped rendering engines. For example, televisions and mobile phones have different screen sizes and the like. There are cases where mobile phones of different model numbers have different screen sizes. In this case, if electronic apparatuses of different types start the same application, the electronic apparatuses include electronic apparatuses in which the application is normally displayed, and electronic apparatuses in which the application is not normally displayed (application display is distorted).
Distributors of applications can take measures by checking the display states of the applications for all the electronic apparatuses of different types. The measures are not realistic, however, in consideration of the number of types of electronic apparatuses.
A general architecture that implements the various features of the embodiments will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate the embodiments and not to limit the scope of the invention.
Various embodiments will be described hereinafter with reference to the accompanying drawings.
In general, according to one embodiment, an information distribution apparatus includes a receiver, an obtaining module, a determination module, and a transmitter. The receiver is configured to receive a request for an application from an electronic apparatus. The obtaining module is configured to obtain identification information of the electronic apparatus from the request. The determination module is configured to determine whether the identification information of the electronic apparatus is included in a list. The transmitter is configured to transmit the application, in which a test script configured to detect distortion of screen display of the application is not embedded, to the electronic apparatus, if the identification information of the electronic apparatus is included in the list.
An embodiment will be explained hereinafter with reference to drawings.
The television 20 is an electronic apparatus which can be connected to the information distribution apparatus 10 through a wired network. The television 20 receives an application which is distributed from the information distribution apparatus 10, starts the application, and displays the application on the screen. Although the present embodiment is explained with an example of the television 20, the electronic apparatus is not limited to it. Any electronic apparatus can be used as long as it can receive an application from the information distribution apparatus 10 through a wired network.
The mobile terminal 30 is an electronic apparatus which can be connected to the information distribution apparatus 10 through a wireless network. The mobile terminal 30 receives an application which is distributed from the information distribution apparatus 10, starts the application, and displays the application on the screen. Although the present embodiment is explained with an example of the mobile terminal 30, the electronic apparatus is not limited to it. Any electronic apparatus can be used as long as it can receive an application from the information distribution apparatus 10 through a wireless network.
The controller 101 controls operation of constituent elements of the information distribution apparatus 10. The controller 101 includes various modules (functions) as described later. The memory 102 stores various information items. The memory unit 102 includes a memory which stores a control program that is executed by the controller 101. The memory unit 102 also includes a memory which provides the controller 101 with a work area. In the present embodiment, the memory unit 102 includes an application 1021, a test script 1022, and an error device list 1023. The application 1021 is an application (data) which is distributed to the television 20 and the mobile terminal 30. Although the application 1021 is not limited, the application 1021 is, for example, an application which is described in HTML (Hypertext Markup Language). As a more specific example, the application 1021 is an application which is described in HTML5. The test script 1022 is a script (data) which is embedded (or included, described) in the application 1021 according to a predetermined condition. The error device list 1023 is a list which registers information of devices in which screen display of the application 1021 is distorted.
The operation module 103 is an interface which enables input by the information distribution apparatus 10. The operation module 103 is, for example, a keyboard and/or a touch panel.
The first communication module 104 is connected with a LAN 40 through a LAN (Local Area Network) terminal 106. The first communication module 104 communicates with the television 20 through a wired network. The first communication module 104 includes a receiver 1041 which receives information from the television 20, and a transmitter 1042 which transmits information to the television 20.
The second communication module 105 communicates with the mobile terminal 30 through a wireless network. The second communication module 105 includes a receiver 1051 which receives information from the mobile terminal 30, and a transmitter 1052 which transmits information to the mobile terminal 30.
Next, the configuration of the television 20 will be explained hereinafter. The television 20 includes a controller 201, a tuner 202, a demodulator 203, a signal processor 204, a video processor 205, a display 206, an audio processor 207, a speaker 208, an operation module 209, a light-receiver 210, a memory unit 211, and a communication module 212.
The controller 201 controls operation of constituent elements of the television 20. The controller 201 includes various modules (functions) as described later.
The tuner 202 receives broadcasting signals received by an antenna 50 through an input terminal 213. The tuner 202 outputs a selected broadcasting signal to the demodulator 203.
The demodulator 203 demodulates the broadcasting signal into a digital video (image) signal and a digital sound signal. The demodulator 203 outputs the digital video signal and the digital audio signal to the signal processor 204.
The signal processor 204 performs predetermined digital signal processing for the digital video signal and the digital audio signal which are supplied from the demodulator 203, and outputs the digital video signal and the digital audio signal to the image processor 205 and the audio processor 207, respectively.
The video processor 205 converts the digital video signal into an video signal of a format which can be displayed by the display 206. The video processor 205 outputs the video signal to the display 206.
The display 206 displays a video based on the video signal.
The audio processor 207 converts the digital audio signal which is supplied from the signal processor 204 into an audio signal of a format which can be played back by the speaker 208. The audio processor 207 outputs the audio signal to the speaker 208.
The speaker 208 outputs audio based on the audio signal.
The video processor 205 and the audio processor 207 not only process signals based on the broadcasting signal, but also process signals based on various applications, based on control by the controller 201. In this case, the display 206 displays images based on the applications. The speaker 208 outputs sound based on the applications.
The operation module 209 is an interface which receives user operations.
The light-receiver 210 receives signals of user operations which are performed by a remote controller 60. User operations received by the operation module 209 or user operations received by the light-receiver 210 are reflected on the constituent elements by the controller 201.
The memory unit 211 stores various information items. The memory unit 211 includes a memory which stores a control program that is executed by the controller 201. The memory unit 211 also includes a memory which provides the controller 201 with a work area.
The communication module 212 is connected to the LAN 40 through a LAN terminal 214. The communication module 212 communicates with the information distribution apparatus 10 through a wired network. The communication module 212 includes a receiver 2121 which receives information from the information distribution apparatus 10, and a transmitter 2122 which transmits information to the information distribution apparatus 10.
Next, the configuration of the mobile terminal 30 will be explained hereinafter. The mobile terminal 30 includes a controller 301, a video processor 302, a display 303, an audio processor 304, a speaker 305, a memory unit 306, an operation module 307, and a communication module 308.
The controller 301 controls operation of constituent elements of the mobile terminal 30. The controller 301 includes various modules (functions) as described later.
The video processor 302 converts an video signal which is based on the application into a video signal of a format which can be displayed by the display 303. The video processor 302 outputs the video signal to the display 303.
The display 303 displays a video based on the image signal.
The audio processor 304 converts an audio signal which is based on the application into an audio signal of a format which can be played back by the speaker 305. The audio processor 304 outputs the audio signal to the speaker 305.
The speaker 305 outputs audio based on the audio signal.
The memory unit 306 stores various information items. The memory unit 306 includes a memory which stores a control program that is executed by the controller 301. The memory unit 306 also includes a memory which provides the controller 301 with a work area.
The operation module 307 is an interface which receives user operations. The operation module 307 is, for example, hard keys and/or touch panel. User operations received by the operation module 207 are reflected on the constituent elements by the controller 301.
The communication module 308 communicates with the information distribution apparatus 10 through a wireless network. The communication module 308 includes a receiver 3081 which receives information from the information distribution apparatus 10, and a transmitter 3082 which transmits information to the information distribution apparatus 10.
Next, processing of distributing the application 1021 by the information distribution apparatus 10 will be explained hereinafter.
First, the television 20 transmits a request for the application 1021 (hereinafter also referred to as “application request”) to the information distribution apparatus 10 (Block 1001). In Block 1001, the controller 201 (transmission controller 2011) performs control to cause the communication module 212 (transmitter 2122) to transmit the application request to the information distribution apparatus 10.
The information distribution apparatus 10 receives the application request from the television 20 (Block 1002). In Block 1002, the controller 101 (reception controller 1011) performs control to cause the first communication module 104 (receiver 1041) to receive the application request from the television 20.
The information distribution apparatus 10 obtains apparatus information from the application request (Block 1003). In Block 1003, the controller 101 (obtaining module 1012) obtains apparatus information (identification information of the television 20) relating to the television 20 from a user-agent header of an HTTP (Hypertext Transfer Protocol) request included in the application request. The controller 101 (obtaining module 1012) obtains at least a device name (model number) which is peculiar to the apparatus, as the apparatus information. The controller 1001 (obtaining module 1012) may obtain at least one of a browser name and a browser version, together with or instead of the device name. After the device name is obtained, the controller 101 can obtain the browser name and the browser version through the Internet, with the device name used as a search key.
The information distribution apparatus 10 checks the apparatus information, and checks whether the apparatus information is included in the error device list 1023 (Block 1004). In Block 1004, the controller 101 (determination module 1013) determines whether the device name (or browser name or browser version) of the television 20 is included (registered) in the error device list 1023 or not. Then, the controller 101 (determination module 1013) determines whether the test script 1022 is to be embedded in the application 1021 or not, based on a result of comparing the received apparatus information with the error device list 1023 stored in the memory unit 102.
If the apparatus information is not included in the error device list 1023 (Block 1004, No), the information distribution apparatus 10 performs control to embed the test script 1022 in the application 1021 (Block 1005). In Block 1005, the controller 101 performs control to embed the test script 1022 in the application 1021 which is to be distributed to the television 20. The information distribution apparatus 10 distributes the application 1021, in which the test script 1022 is embedded, to the television 20 (Block 1006). In Block 1006, the controller 101 (transmission controller 1014) performs control to cause the first communication module 104 (transmitter 1042) to distribute (transmit) the application 1021 in which the test script 1022 is embedded to the television 20.
If the apparatus information is included in the error device list 1023 (Block 1004, Yes), the information distribution apparatus 10 distributes the application 1021 to the television 20 (Block 1006). In Block 1006, the controller 101 (transmission controller 1014) performs control to cause the first communication module 104 (transmitter 1042) to distribute (transmit) the application 1021, in which no test script 1022 is embedded, to the television 20. In other words, the controller 101 (transmission controller 1014) performs control to prevent the first communication module 104 (transmitter 1042) from distributing (transmitting) the test script to the television 20.
The television 20 receives the application 1021 from the information distribution apparatus 10 (Block 1007). In Block 1007, the controller 201 (reception controller 2012) performs control to cause the communication module 212 (receiver 2121) to receive the application 1021 from the information distribution apparatus 10.
The television 20 displays the application 1021 (Block 1008). In Block 1008, the controller 201 (display controller 2012) performs control to start (execute) the application 1021 and display an image based on the application 1021 on the display 206.
The television 20 detects distortion of the screen display (Block 1009). In Block 1009, if test script 1022 is embedded in the application 1021, the controller 201 detects distortion of the screen display of the application 1021 displayed on the display 106, based on the test script 1022. An example of the test script will be explained later.
If the controller 201 detects distortion of the screen display (Block 1009, Yes), the television 20 determines whether error information is reported to the information distribution apparatus 10 or not (Block 1010). In Block 1010, the controller 201 performs control to display information (referred to as “detection result” hereinafter) which indicates that distortion of screen display was detected on the display 106 and determines, based on user operation, whether error information which is information relating to distortion of screen display is to be reported or not.
The error information will be explained hereinafter.
With reference to
If the controller 201 detects no distortion of screen display (including the case no test script 1022 is embedded in the application 1021) (Block 1009, No), and the controller 201 determines that it is unnecessary to report the error information (Block 1010, No), the controller 201 ends the processing of detecting distortion of screen display.
The information distribution apparatus 10 receives the error information from the television 20 (Block 1013). In Block 1013, the controller 101 (reception controller 1011) performs control to cause the first communication module 104 (receiver 1041) to receive the error information based on the test script 1022 from the television 20.
The information distribution apparatus 10 registers the error information in the error device list (Block 1014). In Block 1014, the controller 101 (update module 1015) performs control to additionally register (store) the error information (at least the device name included in the error information) in the error device list 1023, and update the error device list 1023. The memory unit 102 may register and store the information relating to distortion of screen display of the application 1021, which is included in the error information, in the error device list 1023 together with the device name, or store the information separately from the error device list 1023. Thereafter, the controller 101 ends the processing of detecting distortion of screen display.
The manager of the information distribution apparatus 10 can correct the application 1021 by referring to the error information. Specifically, the manager of the information distribution apparatus 10 can prepare the application 1021 which is corrected in accordance with the device name of the electronic apparatus which has transmitted the error information. The memory unit 102 stores not only the application 1021 in the initial state but also the corrected application 1021, even if they are the same applications. Therefore, the controller 101 may distribute the corrected application with priority over the application in the initial state, in accordance with the device name of the electronic apparatus which has transmitted an application request.
Although the processing performed by the television 20 has been explained with reference to
Next, an example of the test script 1022 will be explained hereinafter. The test script 1022 described hereinafter is an example, and the embodiment is not limited to it.
A first example of the test script 1022 will be explained hereinafter. The test script 1022 serving as the first example is a script for checking by the controller 101 whether the relevant button object is disposed in the right place, when the user clicks the button object. The button object mentioned here is an example, and another object such as a div (division) element may be used.
The controller 101 executes the following processing based on the test script 1022: (1) the controller 101 obtains position information of a position in which the relevant button object is disposed, with the click event of the button object used as a key; (2) the controller 101 compares position information of the position in which the button object is actually disposed with position information of the position in which the button object should be disposed; and (3) the controller 101 determines that the screen display is distorted, if the controller 101 determines that the position information items are different from each other, as a result of the above comparison.
A second example of the test script 1022 will be explained hereinafter. The test script 1022 serving as the second example is a script configured to obtain position information items of at least two div elements which should be aligned side by side and check whether the div elements are arranged in right places.
The controller 101 executes the following processing based on the test script 1022: (1) the controller 101 executes the test script 1022 after HTML drawing; (2) the controller 101 checks whether the position information items of the div elements indicate aligned positions; (3) the controller 101 determines that the screen display is distorted, when the div elements have different x axes.
According to the present embodiment, the information distribution apparatus 10 can detect and collect errors as illustrated in
In addition, it is unnecessary for the information distribution apparatus 10 to transmit the test script to electronic apparatuses of the same type. In other words, the information distribution apparatus 10 has only to transmit the application 1021, in which the test script 1022 is embedded, to electronic apparatuses which are not included in the error device list 1023. Therefore, the information distribution apparatus 10 does not receive known error information from a plurality of electronic apparatuses, and thus the load of receiving error information can be reduced. Besides, the information distribution apparatus 10 can identify trouble parts relating to distortion of screen display in early stages, and can cope with distortion of screen display (correct the application 1021) in early stages.
The various modules of the systems described herein can be implemented as software applications, hardware and/or software modules, or components on one or more computers, such as servers. While the various modules are illustrated separately, they may share some or all of the same underlying logic or code.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2012-115396 | May 2012 | JP | national |