Schema-based link processing

An apparatus includes a processing unit configured to determine, using a control application, a type of schema of a selected link. When the schema is of a first type, the control application causes processing associated with the selected link to be performed by a content display module. When the schema is of a second type, the control application causes processing associated with the selected link to be performed by a module different from the content display module. The processing unit can be configured to run an operating system, a control application, and a content display module, such that the control application is interposed between the operating system and the content display module. The control application can determine a type of schema of a selected link.

BACKGROUND

1. Technical Field

The techniques described herein relate to an information processing device, a content display method, and a computer program.

2. Description of the Related Art

It is necessary for a web server to use application software capable of interpreting hypertext markup language (HTML), for example, a web browser, so as to display content (hereinafter, also referred to as “HTML content”) created using HTML by a personal computer or mobile phone.

Recently, a range of functions for HTML content has increased. Content capable of being displayed as the HTML content has a wide range including music, still images, moving images, and the like as well as text. For example, moving images included in the HTML content may be reproduced on a web browser executable in a personal computer or a mobile phone by a user's manipulation.

SUMMARY

However, the HTML content of the related art has been mainly used in a page unit, and has been built within a single page even in a wide range of functions. If the HTML content is built within a single page, there is a problem in that it is difficult to exchange data over a page and, particularly, it is significantly difficult to build a user interface over a page.

It is necessary to build complex HTML content so as to realize various functions in a single page. Since all scripts for causing a browser to display the HTML content are executed in the same execution environment, there is a problem in terms of security.

In light of the foregoing, it is desirable to provide a novel and improved information processing device, content display method, and computer program that can seamlessly link content described by a predetermined markup language like HTML content with a function to be executed by manipulation of the content.

In some exemplary embodiments, the control application determines which module to perform the processing associated with the link based on whether the link schema can be processed by the content display module or whether by the control application in the above-described exemplary embodiment, but the embodiments are not limited to this example. The control application can determine which module to perform the processing based on other criteria, such as association information that associates each schema type with a module to perform the processing.

Some exemplary embodiments relate to an apparatus that includes a processing unit configured to determine, using a control application, a type of schema of a selected link. When the schema is of a first type, the control application causes processing associated with the selected link to be performed by a content display module. When the schema is of a second type, the control application causes processing associated with the selected link to be performed by a module different from the content display module. The control application is separate from the content display module.

Some exemplary embodiments relate to a method of processing based on a selected link. The method includes determining, using a control application, a type of schema of the selected link. When the schema is of a first type, the control application causes processing associated with the selected link to be performed by the content display module. When the schema is of a second type, the control application causes processing associated with the selected link to be performed by a module different from the content display module. The control application is separate from the content display module.

Some exemplary embodiments relate to a computer readable storage medium having stored thereon instructions, which, when executed, perform the above method. For example, the computer readable storage medium can be a tangible and/or non-transitory computer readable storage medium such as a disc or computer memory, for example.

Some exemplary embodiments relate to an apparatus that includes a memory and a communication device. The memory stores content including a first link of a first type of schema and a second link of a second type of schema. The communication device is configured to send the first and second links to at least one second apparatus over a network such that a control application of the at least one second apparatus causes processing associated with the first link to be performed by a content display module and causes processing associated with the second link to be performed by a module different from the content display module. The control application is separate from the content display module.

Some exemplary embodiments relate to a method that includes storing content including a first link of a first type of schema and a second link of a second type of schema. The method also includes sending the first and second links to at least one second apparatus over a network such that a control application of the at least one second apparatus causes processing associated with the first link to be performed by a content display module and causes processing associated with the second link to be performed by a module different from the content display module. The control application is separate from the content display module.

Some exemplary embodiments relate to an apparatus that includes a processing unit configured to run an operating system, a control application, and a content display module. The control application is separate from the operating system and the content display module. The control application is interposed between the operating system and the content display module. The control application determines a type of schema of a selected link.

According to the techniques described herein, it is possible to provide a novel and improved information processing device, content display method, and computer program that can seamlessly link content described by a predetermined markup language like HTML content with a function to be executed by manipulation of the content.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENT(S)

Description will be given in the following order.

[1-1. Configuration Example of Content Providing System]

[1-2. Configuration Example of Information Processing Device]

[1-4. Display Example of HTML Content]

[1-5. Operation Example of Information Processing Device]

[1-1. Configuration Example of Content Providing System]

First, a configuration example of a content providing system including an information processing device according to an exemplary embodiment will be described.FIG. 1is an illustrative diagram showing the configuration example of the content providing system including the information processing device according to the exemplary embodiment. Hereinafter, the configuration example of the content providing system including the information processing device according to the exemplary embodiment will be described with reference toFIG. 1.

As shown inFIG. 1, a content providing system1according to an exemplary embodiment includes a content server10and an information processing device100.

The content server10is a server that generates HTML content, which is content by HTML as an example of a predetermined markup language that may be used, and provides the generated HTML content to the information processing device100. The content server10generates appropriate HTML content via a network20in response to a request from the information processing device100, and transmits the HTML content to the information processing device100.

The information processing device100is a device that displays HTML content provided from the content server10. The information processing device100may execute various functions of displaying the HTML content provided from the content server10and receiving input manipulation from the user.

For example, if the user selects a thumbnail image of moving image content displayed as HTML content provided from the content server10, the information processing device100may reproduce the moving image content. The information processing device100may also control a television200to reproduce the selected moving image content by establishing a link with the television200in advance. Detailed description of link processing of the information processing device100and the television200is omitted.

The configuration example of the content providing system including the information processing device according to an exemplary embodiment has been described above with reference toFIG. 1. Next, a configuration example of the information processing device100according to an exemplary embodiment will be described.

[1-2. Configuration Example of Information Processing Device]

FIG. 2is an illustrative diagram showing a functional configuration of the information processing device100according to some exemplary embodiments. Hereinafter, the functional configuration of the information processing device100according to some exemplary embodiments will be described usingFIG. 2.

For example, the information processing device100may be a personal computer. In this case, as shown inFIG. 2, the information processing device100has, for example, a central processing unit (CPU)101, a read only memory (ROM)102, a random access memory (RAM)103, buses104and106, a bridge105, an interface107, an input device108, an output device109, a storage device110, such as a hard disk drive (HDD) or the like, a drive111, a connection port112, such as a universal serial bus (USB) or the like, a communication device113, etc. These configurations are connected to each other so that information may be delivered via the buses104and106connected by the bridge105or the interface107, etc.

For example, a program may be recorded on the storage device110such as an HDD or a solid state drive (SSD) which is an example of a recording device, the ROM102, the RAM103, or the like.

For example, the program may be temporarily or permanently recorded on a magnetic disk such as a flexible disk, optical discs such as a variety of a compact disc (CD)/magneto optical (MO) disc/digital versatile disc (DVD), or a removable storage medium such as a semiconductor memory (not shown). The removable storage medium may be provided as so-called package software. The program recorded on the removable storage medium may be read by the drive111and recorded on the recording device via the interface107or the buses104and106.

Further, for example, the program may be recorded on a download site/another computer/another recording device (not shown), or the like. In this case, the program is transmitted via a network (not shown) such as a local area network (LAN)/Internet, so that the communication device113receives the program. The program may be transmitted from another recording device or communication device or the like connected to the connection port112such as a USB or the like. The program received by the communication device113or the connection port112may be recorded on the recording device via the interface107, the buses104and106, or the like.

The CPU101executes various types of processing according to the program recorded on the above-described recording device, so that the series of processing is realized. In this case, for example, the CPU101may directly read and execute the program from the recording device, or may execute the program after loading the program to the RAM103once. Further, for example, if the program is received via the communication device113or the drive111, the CPU101may directly execute the program without recording the received program on the recording device.

Further, for example, the CPU101may execute various types of processing on the basis of a signal or information input from the input device108such as a mouse/keyboard/microphone (not shown) or another input device connected to the connection port112, if necessary.

The CPU10may output a result obtained by executing the above-described series of processing, for example, from a display device such as a monitor or the output device109such as an audio output device including a speaker or a headphone. Further, the CPU101may transmit the processing result from the communication device113or the connection port112if necessary, or may record the processing result on the above-described recording device or removable recording medium.

The information processing device100may display HTML content provided from the content server10on the output device109. Accordingly, in the information processing device100, a program (for example, a web browser; this program is simply described as the web browser in the following description) capable of interpreting HTML is stored in the above-described storage device110, the ROM102, the RAM103, or the like.

The input device108may include a touch panel in which an input instruction is possible by touching a display device such as a monitor with a finger or the like. When the touch panel is provided in the input device108, the user of the information processing device100can manipulate HTML content displayed on the output device109by directly touching a display device with a finger or the like.

Since the user of the information processing device100displays HTML content provided from the content server10on the output device109, the information processing device100executes the web browser. If the information processing device100executes the web browser, the web browser can display the HTML content acquired from the content server10on the output device109.

The function of the information processing device100according to some exemplary embodiments has been described above usingFIG. 2. The configuration in which the information processing device100is a personal computer and the storage device110or the drive111is provided inside the information processing device100has been illustrated in this exemplary embodiment, but embodiments are not limited to this example. For example, a type in which the storage device110or the drive111is not provided is possible if the information processing device100is a small-size portable device like a mobile phone, but the techniques described herein are also equally applicable to the above-described device.

Next, a layer structure of a program to be executed by the information processing device100according to the exemplary embodiment will be described.FIG. 3is an illustrative diagram showing the layer structure of the program to be executed by the information processing device100according to the exemplary embodiment.

In the information processing device100according to some exemplary embodiments, an operating system132, which is software for providing a hardware interface to various types of application software and is an example of basic software according to some exemplary embodiments, is executed. In the information processing device100, a control application134is executed by an upper layer of the operating system132. In the information processing device100, a web browser136for displaying HTML content on the output device109is executed by an upper layer of the control application134.

In general, in the same layer as that of the control application134, the web browser136exchanges information with the operating system132. That is, if the user manipulates the web browser136with use of the input device108in a state in which the web browser136displays the HTML content on the output device109, input information of the user is transmitted from the operating system132to the web browser136. The web browser136executes processing corresponding to the input information of the user, for example, the transition to another page, the reproduction of selected content, or the like.

The HTML content can provide functions by a flexible content layout, design, and script in a text base, and is suitable for automatic generation in a server site (a configuration for each user).

However, the HTML content of the related art is mainly used in a page unit and the HTML content is built within a single page even in a wide range of functions as described above. Accordingly, if the HTML content is built within the single page, there is a problem in that it is difficult to exchange data over a page and, particularly, it is significantly difficult to build a user interface over a page.

There is a method of displaying content by a dedicated application by making a change to display HTML content in the web browser136. If this method is used, there is an advantageous effect in that it is easy to display content at a high speed, integrate user interfaces, or establish functional linking with other devices. However, on the other hand, it is necessary to newly develop an application on a case-by-case basis if a specification change or a design change is made. Since a framework of HTML content is fixed, the expressive power has a limitation as compared to HTML content display of the web browser136.

In this exemplary embodiment as shown inFIG. 3, a layer in which the control application134is executed is interposed between the operating system132and the web browser136. If the information processing device100displays HTML content, the control application134is executed from the operating system132, and further, the web browser136is executed from the control application134.

If the user selects a hyperlink on HTML content displayed on the web browser136, appropriate processing corresponding to a schema of a protocol of the hyperlink (hereinafter, also referred to as a “protocol schema”) is executed.

By inserting the layer in which the control application134is executed, the information processing device100can display content obtained by combining the advantages of both of content creation by HTML and content creation by a dedicated application.

The layer structure of a program to be executed by the information processing device100according to some exemplary embodiments has been described above. Next, a display example of HTML content displayed by the information processing device100according to an exemplary embodiment will be described.

[1-4. Display Example of Html Content]

FIG. 4is an illustrative diagram showing a display example of HTML content displayed on the output device109. Hereinafter, the display example of HTML content displayed on the output device109will be described usingFIG. 4.

A screen shown inFIG. 4shows a state in which the web browser136displays HTML content on the output device109. The HTML content includes thumbnail images141a,141b, and141cand text links142aand142b. Their link destinations are all designated by hyperlinks.

In this exemplary embodiment, the control application134interprets a protocol schema of a selected hyperlink if the user selects the thumbnail image141a,141b, or141cor the text link142aor142b. The control application134executes internal processing, or passes processing to the web browser136or the operating system132, by a difference in a protocol schema.

Although a state in which the control application134is executed is not explicitly shown inFIG. 4, the control application134is executed in a background, and the control application134is displayed on a screen if necessary, when the user manipulates the web browser136.

In the content server10, various protocol schemas are embedded into HTML content. For example, there is a protocol schema for the transition to another page, a protocol schema for reproducing designated content, a protocol schema for transmitting designated content to other devices, a protocol schema for directly transmitting designated content, a protocol schema for reading other content lists, and the like in the protocol schema.

A protocol schema defined for content transmission/reception like “http://˜” or “https://˜” in which content is transmitted by a hypertext transfer protocol (HTTP) is present in the protocol schema, but a hyperlink by an independent protocol schema capable of being interpreted by the control application134other than a predetermined protocol schema as described above is embedded into HTML content and is provided from the content server10to the information processing device100in this exemplary embodiment.

A specific operation example of the information processing device100will be described.FIG. 5is an illustrative diagram showing a display example of the output device109when the user selects the thumbnail image141cin a display example of HTML content shown inFIG. 4.

The input device108is used to allow the user to select the thumbnail image141c, but the user can select the thumbnail image141cby making direct contact with the output device109by a finger or the like if a touch panel is included in the input device108.

If the user selects the thumbnail image141c, the control application134interprets a protocol schema of a hyperlink of the thumbnail image141c. The control application134determines whether to independently continue processing, or whether to pass processing to the web browser136or the operating system132, by a difference in a protocol schema.

For example, if a protocol schema of a hyperlink designated by the thumbnail image141cis for transmitting designated content to other devices and the user selects the thumbnail image141c, the control application134displays the thumbnail image141cas an icon on the output device109. In this case, the control application134or the operating system132may control display so that the display of the web browser136is softened as shown inFIG. 5. When the display of the web browser136is controlled as described above, a visual effect that looks like the thumbnail image141cis lifted from the web browser136can be given to the user

In a state in which the thumbnail image141cis selected by the user of the information processing device100, the control application134is displayed on the output device109as shown inFIG. 5. In the control application134according to this exemplary embodiment, the drag manipulation by the user of the information processing device100is possible on the screen of the thumbnail image141c.

In a state in which the thumbnail image141cis selected by the user of the information processing device100, the control application134displays a functional link region151as shown inFIG. 5on the output device109. In the functional link region151, executable processing for content selected by the user in HTML content is displayed in an icon type. In an example shown inFIG. 5, function execution icons152ato152dare displayed in the functional link region151. The control application134may display a different function execution icon in the functional link region151in response to a protocol schema of designated content.

For example, the function execution icon152dis an icon for executing icon transmission directed to the television200linked in advance with the information processing device100. In this case, if the thumbnail image141c, which is selected by the user of the information processing device100and is displayed as an icon, is dragged and dropped to the function execution icon152d, the control application134executes processing of transmitting content corresponding to the thumbnail image141cto the television200. The television200receiving content transmitted from the information processing device100executes content reproduction processing.

If the user of the information processing device100drops the thumbnail image141cdisplayed as the icon in a place where nothing is present, the control application134releases the display to its own output device109in response to the drop operation. If the display of the control application134is released, a display state of the output device109returns to the display of HTML content by the web browser136shown inFIG. 4.

By linking the web browser136and the control application134as described above, it is possible to display content obtained by combining advantages of both content creation by HTML and content creation by a dedicated application on the output device109.

The display example of HTML content displayed by the information processing device100according to some exemplary embodiments has been described above. Next, an operation of the information processing device100according to an exemplary embodiment will be described.

[1-5. Operation Example of Information Processing Device]

FIG. 6is a flowchart showing the operation of the information processing device100according to some exemplary embodiments. Hereinafter, the operation of the information processing device100according to some exemplary embodiments will be described usingFIG. 6.

If the control application134is started by the user of the information processing device100, the control application134first configures a user interface (UI) screen and displays the UI screen on the output device109(step S101). The UI screen of the control application134may not be displayed on the output device109in a state in which the web browser136displays HTML content as described above.

If the UI screen of the control application134is displayed on the output device109, the control application134causes the web browser136to acquire HTML content from the content server10(step S102).

The content server10dynamically generates HTML content and transmits the HTML content to the information processing device100. For example, the content server10may generate appropriate content corresponding to the user using the information processing device100by referring to preference information or friend information of the user, device information of the information processing device100, and the like, if the HTML content is generated.

If the web browser136displays HTML content acquired from the content server10on the output device109, the control application134waits for the user of the information processing device100to select a hyperlink embedded into HTML content (step S103).

If the user of the information processing device100senses that the user of the information processing device100selects a hyperlink embedded into HTML content, the control application134determines whether or not a protocol schema of the hyperlink selected by the user of the information processing device100is an independent protocol schema defined for an operation of the control application234(step S104).

FIG. 7is an illustrative diagram showing a determination structure of a protocol scheme by the control application134. The determination structure of the protocol schema by the control application134will be described usingFIG. 7. If the user of the information processing device100selects a hyperlink included in the HTML content, the control application134performs a hook operation once before processing is passed to the operating system132. The control application134determines whether or not the protocol schema of the hyperlink is a protocol schema to be processed in an external application or function via a framework (or operating system).

For example, the protocol schema of the hyperlink may be preset in the control application134to determine whether or not the protocol schema of the hyperlink is an independent protocol schema defined for the operation of the control application134. The protocol schema of the hyperlink may have a type in which information of the protocol schema is read from a described setting file or the like so as to improve the facilitation of an extension/change of the independent protocol schema.

By using the protocol schema in operation control of the control application134as described above, three parties of the operating system132, the control application134, and the web browser136can be linked by only the HTML hyperlink.

FIG. 8is an illustrative diagram showing an example of an independent protocol schema predefined by the content providing system1according to an exemplary embodiment.

For example, a schema notation of “trns://” may be used as a protocol schema for transmitting content to other devices. As additional data, information of a content uniform resource identifier (URI), a content reproduction start position, a drag and drop (D&D) icon URI, and the like may be designated. If the user of the information processing device100selects a hyperlink by the schema notation “trns://,” the control application134may display a pull-down menu if necessary in addition to the acquisition of a D&D icon.

For example, a schema notation of “play://” may be used as a protocol schema for reproducing content. As additional data, information of a content URI, a content reproduction start position, a D&D icon URI, and the like may be designated. If the user of the information processing device100selects a hyperlink by the schema notation of “play://,” the control application134may execute, for example, processing different from reproduction when a link is pressed and held, for example, processing of transmitting the content to other devices, in addition to the reproduction of designated content.

For example, a schema notation of “send://” may be used as a protocol schema for directly transmitting content to other devices. As additional data, a target device address, a transmission command, or the like may be designated. If the user of the information processing device100selects a hyperlink by the schema notation of “send://,” the control application134may display a user interface on the output device109when there is a response from another device upon transmission in addition to the transmission of designated content to other devices.

A schema notation of “open://” may be used as a protocol schema for reading other content lists. As additional data, a layout XML ID specifying a layout XML in which a design of HTML content is defined may be designated if the design of HTML content is changed in addition to a content list ID specifying a content list. If the user of the information processing device100selects a hyperlink by the schema notation of “open://,” the control application134may refresh the layout XML designated by the layout XML ID, for example, if the design of HTML content is changed, in addition to an operation of displaying a designated content list.

In the layout XML, for example, a background image of HTML content, a size and an initial position of the HTML content, an icon image serving as a target to be dragged, an arrangement, address information of a transmission destination for transmission at the time of a drop operation, and the like may be described. Like the HTML content, the layout XML may also be generated by the content server10. The layout XML may be generated from the user's hobbies and likes, an installation situation of the information processing device100, or the like in the content server10.

An example in which an independent protocol schema uses a different schema notation in response to processing has been described above, but exemplary embodiments are not limited to this example. For example, schema notations of the independent protocol schema may be integrated into one, and a type of designating an operation by a difference in additional data may be taken.

If the protocol schema of the hyperlink selected by the user of the information processing device100is independently defined by the content providing system1without a predefined HTTP or the like as a determination result of step S104described above, the control application134executes processing defined by the independent protocol schema such as corresponding processing, state transition, linking with 0 of content, or the like (step S105). Specifically, the control application134executes the above-described processing in response to the protocol schema.

On the other hand, if the protocol schema of the hyperlink selected by the user of the information processing device100is the predefined HTTP or the like as the determination result of step S104described above, the control application134next determines whether or not the protocol schema of the hyperlink is a protocol schema processable by the web browser136(step S106).

If the protocol schema of the hyperlink is the protocol schema processable by the web browser136as a determination result of step S106described above, the control application134directly passes processing to the web browser136(step S107). On the other hand, if the protocol schema of the hyperlink is not the protocol schema processable by the web browser136, the control application134directly passes the processing to the operating system132(step S108).

If the hyperlink is selected by HTML content, the control application134determines whether or not the selected hyperlink is based on a protocol schema independently specified by the content providing system1, so that the web browser136and the control application134can be seamlessly linked without involving the operating system132.

In general HTML content, a hyperlink is determined by the web browser. The web browser performs page transition or invokes an external function, for example, as designated by “mailto:” or the like (for example, execution of a mailer).

On the other hand, by applying a hook by a layer of the control application134once and checking whether or not a protocol schema designated by the user of the information processing device100is independently defined by the content providing system1in an exemplary embodiment, a link directed to a function unit of the control allocation134can be realized and a function can be controlled via a hyperlink included in HTML content, which is generated by the content server10.

An operation of the information processing device100according to an exemplary embodiment has been described usingFIG. 6.

According to an exemplary embodiment as described above, HTML content including a hyperlink by an independent protocol schema is generated by the content server10and is transmitted to the information processing device100. In the information processing device100, which displays HTML content, the control application134hooks the selection of a hyperlink by the user of the information processing device100.

The control application134determines whether or not a protocol schema of a selected hyperlink is a specified schema or a schema independently specified by the content providing system1. In response to the protocol schema of the hyperlink, the control application134decides content to be processed by the web browser136, content to be processed by itself, or content to be processed by the operating system132, and passes processing to the web browser136or the operating system132, if necessary.

Thereby, seamless linking of the web browser136and the control application134is possible. By building HTML content as described above, the content server10can dynamically perform the functional configuration of an application as well as the generation of a content layout or script function. Further, a manufacturer of HTML content can focus on greatly valuable content for the user, how to show content, and providing of content in a layer of HTML content. It is possible to provide content having advantages of both of content by HTML and content by an application.

According to some exemplary embodiments, the content server10can process and manage a configuration of an application function as well as how to show content. Accordingly, an adaptive provision of a content-related function or an effective service provision of a function support or content recommendation based on a function provided in the content server10is possible.

By building HTML content by the content server10as described above, it is unnecessary to describe a function by a script directed to HTML content and functional linking by a simple link description is possible. Further, it is possible to solve a problem in terms of security since the content server10and the information processing device100operate as a pair.

For example, the operating system132has been described as an example of basic software for in the above-described exemplary embodiment, but embodiments are not limited to this example. For example, the techniques described herein can be equally applied even when the above-described control application or web browser is executed in a software framework executed under the operating system.

The present application contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2010-119045 filed in the Japan Patent Office on May 25, 2010, the entire content of which is hereby incorporated by reference.