The present disclosure relates to an information processing apparatus, an information processing method, and a program.
In recent years, various technologies related to video distribution have been disclosed (see, for example, Patent Literature 1 below). For example, in the technology disclosed in Patent Literature 1, a relay server for relaying video which is transmitted from a video distribution server is arranged. Like such a technology, it is possible to distribute load put on the video distribution by causing the relay server to relay video.
However, in the technology disclosed by Patent Literature 1, a destination to which a device constituting a video distribution network is connected is fixed and connection destinations cannot be dynamically switched depending on status. Therefore, it is desirable to implement a technology for dynamically switching connection destinations depending on status.
According to the present disclosure, there is provided an information processing apparatus including a connection control unit configured to generate or update a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
According to the present disclosure, there is provided an information processing method including generating or updating a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
According to the present disclosure, there is provided a program for causing a computer to function as an information processing apparatus including a connection control unit configured to generate or update a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
As described above, according to the present disclosure, a technology for dynamically switching connection destinations depending on status can be provided.
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the appended drawings. Note that, in this specification and the drawings, elements that have substantially the same function and structure are denoted with the same reference signs, and repeated explanation is omitted.
In addition, in this specification and drawings, a plurality of elements that have substantially the same function and structure may be distinguished by different alphabet letters suffixed to same signs. However, if there is no need, in particular, to distinguish each of the plurality of elements that have substantially the same function and structure, only the same sign is assigned.
In addition, the “Description of Embodiments” will be described in the order of the items listed below.
1. Embodiments
1-1. Configuration example of an information processing system
1-2. Functional configuration example of a receiver
1-3. Functional configuration example of a booster
1-4. Functional configuration example of a sender
1-5. Functional configuration example of a booster manager
1-6. Content transfer to be performed during an operation to establish a session
1-7. Connection table updating when an operation to establish a session fails
1-8. Connection table updating when receipt of content fails
1-9. Connection table updating to be performed when a condition is checked
1-10. Connection table updating to be performed when a failure occurs
2. Conclusion
Embodiments of the present disclosure will be sequentially described in detail.
First, a configuration example of an information processing system 1 according to an embodiment of the present disclosure will be described.
As shown in
In
The receiver 10 has a function to receive content. While a type of content is not specifically limited, it may be video content. As shown in
In addition, as shown in
For example, the receiver 10 may directly connect to the sender 30. In such a case, the receiver 10 can receive content from the sender 30 which is a connection destination. In addition, for example, the receiver 10 may directly connect to the booster 20. In such a case, the receiver 10 can receive content which is transmitted by the sender 30 and transferred by the booster 20 which is a connection destination. Note that the receiver 10 functions as an example of an information processing apparatus.
The booster 20 has a function to transfer content. As shown in
In addition, as shown in
For example, the booster 20 may directly connect to the sender 30. In such a case, the booster 20 can receive content from the sender 30 which is a connection destination. In addition, for example, the booster 20 may directly connect to other booster 20. In such a case, the booster 20 can receive content which is transmitted by the sender 30 and relayed by the booster 20 which is a connection destination. Note that the booster 20 functions as an example of an information processing apparatus.
Besides, as shown in
The sender 30 has a function to transmit content. As shown in
For example, the sender 30 selects content linked with a destination of the connection request as the content to be acquired. The sender 30 transmits the selected content to be acquired to a transmission source of the connection request. In the example shown in
The booster manager 40 has a function to dynamically update the connection table 241 which the boosters 20 has, the connection table 141 which the receiver 10 has, and the like. The booster manager 40 may be integrated with any of the receiver 10, the booster 20 and the sender 30, or configured separately from the receiver 10, the booster 20 and the sender 30.
Here, a technology for distributing load put on content transmission is present. However, when connection destinations of devices which constitute a network are fixed, status of the content transmission may also vary depending on status of the connection destinations. Therefore, in this embodiment, a technology for dynamically switching connection destinations depending on status is proposed.
So far the configuration example of the information processing system 1 according to the embodiment of the present disclosure has been described. In the following, a functional configuration example of a receiver 10 according to an embodiment of the present disclosure will be described.
The control unit 110 corresponds to a processor such as a central processing unit (CPU) and the like, for example. The control unit 110 performs various functions which the control unit 110 has, by executing a program stored in the storage unit 140 or other storage medium. In addition, the control unit 110 includes a connection control unit 111 and a communication control unit 112.
The connection control unit 111 generates or updates a connection table 141 on the basis of status of communications performed by the communication unit 120 during an operation to establish a session. In addition, the connection control unit 111 generates or updates the connection table 141 on the basis of status of communications regularly performed by the communication unit 120 after the operation to establish a session.
The communication control unit 112 controls communications by the communication unit 120. The communication control unit 112 controls the communication unit 120 so that communications are performed with, for example, a destination selected from the connection table 141.
The communication unit 120 is, for example, a communication interface including a communication device and the like for performing communications with an adjacent device by wireline or wirelessly. An adjacent device includes an adjacent high-order device. As described above, the communication unit 120 performs communications using a SIP, for example.
The storage unit 140 uses a storage medium such as a semiconductor memory or a hard disk and the like to store a program for operating the control unit 110. In addition, for example, the storage unit 140 can store various types of data (the connection table 141 and the like, for example) to be used by the program. In the example shown in
So far the functional configuration example of the receiver 10 according to the embodiment of the present disclosure has been described. In the following, a functional configuration example of a booster 20 according to an embodiment of the present disclosure will be described.
The control unit 210 corresponds to a processor such as a CPU, for example. The control unit 210 performs various functions which the control unit 210 has, by executing a program stored in the storage unit 240 or other storage medium. In addition, the control unit 210 includes a connection control unit 211 and a communication control unit 212.
The connection control unit 211 generates or updates a connection table 241 on the basis of status of communications performed by the communication unit 220 during an operation to establish a session. In addition, the connection control unit 211 generates or updates the connection table 241 on the basis of status of communications regularly performed by the communication unit 220 after the operation to establish a session.
The communication control unit 212 controls communications by the communication unit 220. The communication control unit 212 controls the communication unit 220 so that communications are performed with, for example, a destination selected from the connection table 241.
The communication unit 220 is, for example, a communication interface including a communication device and the like for performing communications with an adjacent device by wireline or wirelessly. An adjacent device includes an adjacent high-order device and an adjacent low-order device. As described above, the communication unit 220 performs communications using a SIP, for example.
The storage unit 240 uses a storage medium such as a semiconductor memory or a hard disk and the like to store a program for operating the control unit 210. In addition, for example, the storage unit 240 can store various types of data (the connection table 241, a contents table 242 and the like, for example) to be used by the program. In the example shown in
So far the functional configuration example of the booster 20 according to the embodiment of the present disclosure has been described. In the following, a functional configuration example of a sender 30 according to an embodiment of the present disclosure will be described.
The control unit 310 corresponds to a processor such as a CPU and the like, for example. The control unit 310 performs various functions which the control unit 310 has, by executing a program stored in the storage unit 240 or other storage medium.
The communication unit 320 is, for example, a communication interface including a communication device and the like for performing communications with an adjacent device by wireline or wirelessly. An adjacent device includes an adjacent low-order device. As described above, the communication unit 320 performs communications using a SIP, for example.
The storage unit 340 uses a storage medium such as a semiconductor memory or a hard disk and the like to store a program for operating the control unit 210. In addition, for example, the storage unit 340 can store various types of data (a contents table 342 and the like, for example) to be used by the program. In the example shown in
So far the functional configuration example of the sender 30 according to the embodiment of the present disclosure has been described. In the following, a functional configuration example of a booster manager 40 according to an embodiment of the present disclosure will be described.
The control unit 410 corresponds to a processor such as a CPU, for example. The control unit 410 performs various functions which the control unit 410 has, by executing a program stored in the storage unit 440 or other storage medium.
The communication unit 420 is, for example, a communication interface including a communication device and the like for performing communications with various devices (a receiver 10, a booster 20, a sender 30 and the like, for example) by wireline or wirelessly. As described above, the communication unit 420 performs communications using a SIP, for example.
The storage device 440 uses a storage medium such as a semiconductor memory or a hard disk and the like to store a program for operating the control unit 410. In addition, for example, the storage unit 440 can store various types of data (a connection table of each device, for example) to be used by the program. In the example shown in
So far the functional configuration example of the booster manager 40 according to the embodiment of the present disclosure has been described. In the following, details of an information processing system 1 according to an embodiment of the present disclosure will be described. First, examples of content transfer to be performed during an operation to establish a session will be described.
When a communication unit 220 of a booster 20A receives the connection request, first, a communication control unit 212 of the booster 20A selects content to be acquired on the basis of a contents table 242A.
Then, based on the connection table 241A, the communication control unit 212 of the booster 20A controls the communication unit 220 so that a connection request is transmitted to any of one or more destinations linked with the content to be acquired. The communication control unit 212 of the booster 20A selects a destination of the connection request on the basis of a cost value, for example.
Here, for example, the communication control unit 212 of the booster 20A saves a session description protocol (SDP) received by the communication unit 220 (S102), and sets a destination of the connection request by replacing an address of the SDP (S103). The communication unit 220 of the booster 20A transmits the connection request to this destination (S104). In the example shown in
When receiving the connection request, a communication unit 320 of a sender 30A transmits content to the booster 20A on the basis of the connection request. First, a control unit 310 of the sender 30A selects content to be acquired on the basis of a contents table 342A.
When normally processing the connection request, the communication unit 320 of the sender 30A transmits a response, which indicates accordingly, to the booster 20A (S105). The response which indicates that the connection request has been normally processed is made by a 200ok message in the example shown in
The communication unit 220 of the booster 20A receives the content A from the sender 30A. The communication control unit 212 of the booster 20A newly starts an RTP to add the receiver 10A to a transfer destination of the RTP (S107). When normally processing the connection request, the communication unit 220 of the booster 20A transmits a response, which indicates accordingly, to the receiver 10A (S108). The response which indicates that the connection request has been normally processed is made by the 200ok message in the example shown in
So far the example of content transfer to be performed during an operation to establish a session has been described. In the following, other example of content transfer to be performed during an operation to establish a session will be described.
In such status, as with the case shown in
Then, when the communication unit 220 has already received the content A from the sender 30A, the communication control unit 212 of the booster 20A controls the communication unit 220 so that the already received content A is transferred to the receiver 10A. In the example shown in
When normally processing the connection request, the communication unit 220 of the booster 20A transmits a response, which indicates accordingly, to the receiver 10A (S205). The communication unit 220 of the booster 20A transfers the content A to the receiver 10A according to the control by the communication control unit 212 (S206). As such, if the content has already been received, transferring the content enables reduction of an amount of communications between the booster 20A and the sender 30A.
So far the example of content transfer to be performed during an operation to establish a session has been described. In the following, examples of dynamically updating a connection table depending on status will be sequentially described. First, an example of connection table updating when an operation to establish a session fails will be described.
It is assumed that although the communication unit 220 of the booster 20A starts an operation to establish a session when receiving the connection request, the communication unit 220 fails in the operation to establish a session. In such a case, the communication unit 220 transmits to the receiver 10A a response indicating that the operation to establish a session has failed (S302). The response indicating that the operation to establish a session has failed is made by a 4xx message in the example shown in
A connection control unit 111 of the receiver 10A updates a connection table 141 if connection status with a destination of the connection request is not normal. In the example shown in
A communication control unit 112 of the receiver 10A reselects a destination of the connection request on the basis of the connection table after being updated, and controls the communication unit 120 so that the connection request is transmitted to the reselected destination. The communication unit 120 of the receiver 10A makes a connection to a next candidate URI according to the control by the communication control unit 112 (S304). In the example shown in
When the communication unit 220 of the booster 20B receives the connection request, first, the communication control unit 212 of the booster 20B selects content to be acquired on the basis of a contents table 242B.
Then, based on a connection table 241B, the communication control unit 212 of the booster 20B controls the communication unit 220 so that the connection request is transmitted to any of one or more destinations linked with the content to be acquired. The communication control unit 212 of the booster 20B selects a destination of the connection request on the basis of a cost value, for example.
Here, for example, the communication control unit 212 of the booster 20B saves an SDP received by the communication unit 220 (S306), and sets a destination of the connection request by replacing an address of the SDP (S307). The communication unit 220 of the booster 20B transmits the connection request to this destination (S308). In the example shown in
When receiving the connection request, a communication unit 320 of a sender 30A transmits content to the booster 20B on the basis of the connection request. First, a control unit 310 of the sender 30A selects content to be acquired on the basis of a contents table 342A.
When normally processing the connection request, the communication unit 320 of the sender 30A transmits a response, which indicates accordingly, to the booster 20A (S309). The response indicating the connection request has been normally processed is made by a 200ok message in the example shown in
The communication unit 220 of the booster 20B receives the content A from the sender 30A. The communication control unit 212 of the booster 20B newly starts an RTP, and adds the receiver 10A to a transfer destination of the RTP (S311). When normally processing the connection request, the communication unit 220 of the booster 20B transmits a response, which indicates accordingly, to the receiver 10A (S312). The response indicating that the connection request has been normally processed is made by the 200ok message in the example shown in
Note that the example shown in
So far the example of connection table updating when the operation to establish a session fails has been described. In the following, an example of connection table updating when receipt of content fails will be described.
Here, when receipt of the content A from the booster 20A fails (S401), a connection control unit 111 of the receiver 10A may update a connection table 141. More specifically, the connection control unit 11 may make a change to increase a cost value linked with a destination of the connection request (S402). The change to increase the cost value makes a cost value linked with other destination relatively lower, thus the other destination being selected.
A communication control unit 112 of the receiver 10A reselects a destination of the connection request on the basis of the connection table after being updated, and controls the communication unit 120 so that the connection request is transmitted to the reselected destination. The communication unit 120 of the receiver 10A makes a connection to a next candidate URI according to the control by the communication control unit 112 (S403). In the example shown in
A communication unit 220 of the booster 20B receives the connection request. Since subsequent steps (S407 to S412) can be performed similar to the steps (S303 to S313) as shown in
So far the example of connection table updating when receipt of content fails has been described. In the following, an example of connection table updating to be performed when a condition is checked after an operation to establish a session is done will be described.
Similarly, the control unit 410 of the booster manager 40 notifies a booster 20B of the connection table via the communication unit 420 (S503). The communication unit 220 of the booster 20B receives the notification of the connection table, and the connection control unit 211 of the booster 20B updates the connection table 241 as necessary (S504). Similarly, the control unit 410 of the booster manager 40 notifies a receiver 10A of the connection table via the communication unit 420 (S505). A communication unit 120 of the receiver 10A receives the notification of the connection table, and a connection control unit 111 of the receiver 10A updates a connection table 141 as necessary (S506).
Then, a communication control unit 212 of the booster 20A regularly performs condition check on an adjacent uplink, on the basis of the connection table 241A (S507). Here, the condition check on the adjacent uplink is performed on a sender 30A and the booster 20B by “MESSAGE Request” which is an example of a condition check message to be regularly transmitted (S508, S509). An adjacent uplink corresponds to a destination to be selected from a connection table 241A, for example. As such, the communication control unit 212 of the booster 20A controls the communication unit 220 so that a condition check message is regularly transmitted to a destination selected from the connection table 241A.
Here, the connection control unit 211 of the booster 20A may update the connection table 241A as necessary (S510). For example, the connection control unit 211 of the booster 20A may update the connection table 241A if the condition of a destination of the condition check message is not normal. More specifically, if it is confirmed that the condition of the destination of the condition check message is not normal, the connection control unit 211 of the booster 20A may make a change to increase a cost value linked with the destination which is registered in the connection table 241A. The change to increase the cost value makes a cost value linked with other destination relatively lower, thus the other destination being selected.
In addition, for example, the connection control unit 211 of the booster 20A may update the connection table 241A if the condition of the destination of the condition check message is normal. More specifically, if it is confirmed that the condition of the destination of the condition check message is normal, the connection control unit 211 of the booster 20A may make a change to reduce a cost value linked with the destination which is registered in the connection table 241A. With the change to reduce the cost value, the destination is selected.
Since subsequent steps (S511 to S514) can be performed similar to the steps (S507 to S510), a description is omitted. In addition, since steps (S515 to S518) can also be performed similar to the steps (S507 to S510), a description is omitted.
So far the example of connection table updating when a condition is checked after an operation to establish a session has been described. In the following, examples of connection table updating to be performed when a failure occurs will be described.
In the example shown in
When abnormality of the booster 20A is detected (S603), a communication control unit 112 of the receiver 10A updates the connection table 141A (S604). For example, the communication control unit 112 of the receiver 10A performs updating to increase a cost value linked with a destination of the booster 20 where the abnormality is detected, among destinations registered in the connection table 141A. The communication control unit 112 of the receiver 10A performs updating notification to the booster manager 40 (S605) that the cost value linked with the destination of the booster 20A has been updated.
When receiving the update notification, a control unit 110 of the booster manager 40 checks status of the booster 20A (S606). As a result of the status check, it is assumed that the control unit 110 of the booster manager 40 receives a condition notification informing abnormal conditions from the booster 20A or it is assumed that no special response is sent back from the booster 20A. In such a case, the control unit 410 of the booster manager 40 regenerates an overall configuration of a connection table of each device.
The control unit 410 of the booster manager 40 controls so that the connection table of the booster 20A after being regenerated is transmitted to the booster 20A (S609). The connection control unit 211 of the booster 20A updates the connection table 241A with the notified connection table as necessary (S610). In addition, the control unit 410 of the booster manager 40 controls so that the connection table of the receiver 10A after being regenerated is transmitted to the receiver 10A (S611). The connection control unit 111 of the receiver 10A updates the connection table 141A with the notified connection table as necessary (S612).
So far the examples of connection table updating when a failure occurs have been described.
As described above, according to the embodiments of the present disclosure, can be provided an information processing apparatus including a connection control unit configured to generate or update a connection table on the basis of status of communications performed by a communication unit during an operation to establish a session or status of communications regularly performed by the communication unit after the operation to establish a session. According to such a configuration, a technology for dynamically switching connection destinations depending on status is provided.
Specifically, each device which constitutes an information processing system is capable of mutual communications using an SIP. An information processing system according to the embodiments of the present disclosure has an exceptional effect that the information processing system can create a video distribution network for distributing video by using the SIP.
Although the preferred embodiments of the present disclosure have been described in detail with reference to the accompanying drawings, a technological scope of the present disclosure is not limited to such examples. It is obvious that a person having the ordinary skill in the art can conceive various kinds of variations or modifications within the scope of the technological idea described in the Claims, and it is understood that the variations or modifications also naturally belong to the technological scope of the present disclosure.
Respective steps in the operations of the information processing system 1 of the specification are not necessarily processed in chronological order which follows the order described as a flow chart. For example, respective steps in the operations of the information processing system 1 may be processed in the order which differs from the order described as a flow chart or may be processed concurrently.
In addition, a computer program can be created that causes hardware such as a CPU, a ROM, and a RAM and the like built in the receiver 10 to perform functions equivalent to the configuration of the above-mentioned receiver 10. In addition, a storage medium in which the computer program is stored is also provided.
Similarly, a computer program can be created that causes hardware such as a CPU, a ROM, and a RAM and the like built in the booster 20 to perform functions equivalent to the configuration of the above-mentioned booster 20. In addition, a storage medium in which the computer program is stored is also provided.
Similarly, a computer program can be created that causes hardware such as a CPU, a ROM, and a RAM and the like built in the sender 30 to perform functions equivalent to the configuration of the above-mentioned sender 30. In addition, a storage medium in which the computer program is stored is also provided.
Similarly, a computer program can be created that causes hardware such as a CPU, a ROM, and a RAM and the like built in the booster manager 40 to perform functions equivalent to the configuration of the above-mentioned booster manager 40. In addition, a storage medium in which the computer program is stored is also provided.
Additionally, the present technology may also be configured as below.
(1)
An information processing apparatus including:
a connection control unit configured to generate or update a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
(2)
The information processing apparatus according to (1), wherein
the communication unit performs communication using a session initiation protocol (SIP).
(3)
The information processing apparatus according to (1) or (2), further including:
a communication control unit configured to control communication by the communication unit,
wherein the communication control unit controls the communication unit so that communication with a destination to be selected from the connection table is performed.
(4)
The information processing apparatus according to any one of (1) to (3), wherein
the connection table is a table linking content with one or more destinations.
(5)
The information processing apparatus according to (4), wherein
the communication control unit controls the communication unit, based on the connection table, so that a connection request is transmitted to any of the one or more destinations linked with the content to be acquired, and
the connection control unit updates the connection table when status of connection with the destination of the connection request is not normal.
(6)
The information processing apparatus according to (5), wherein
the connection control unit updates the connection table when connection using the connection request fails.
(7)
The information processing apparatus according to (5), wherein
the connection control unit updates the connection table when receipt of the content from the destination of the connection request fails.
(8)
The information processing apparatus according to any one of (5) to (7), wherein
the communication control unit reselects a destination of the connection request on the basis of the connection table after being updated, and controls the communication unit so that the connection request is transmitted to the reselected destination.
(9)
The information processing apparatus according to any one of (5) to (8), wherein
priority is linked with each destination of the connection table, and
the communication control unit selects a destination of the connection request on the basis of the priority.
(10)
The information processing apparatus according to (9), wherein
the connection control unit updates priority linked with the destination of the connection request when status of connection with the destination of the connection request is not normal.
(11)
The information processing apparatus according to any one of (5) to (10), wherein
the communication control unit selects the content to be acquired on the basis of a contents table when the connection request is transmitted based on another connection request which is received from another information processing apparatus.
(12)
The information processing apparatus according to (11), wherein
the contents table is a table linking content with a destination.
(13)
The information processing apparatus according to (12), wherein
the communication control unit controls the communication unit so that when the connection using the connection request succeeds and the communication unit receives the content from a connection destination, the content is transferred to the another information processing apparatus.
(14)
The information processing apparatus according to (13), wherein
the communication control unit controls the communication unit so that when the communication unit has already received the content from the destination of the connection request, the already received content is transferred to the another information processing apparatus.
(15)
The information processing apparatus according to (3) or (4), wherein
the communication control unit controls the communication unit so that a condition check message is regularly transmitted to a destination to be selected from the connection table, and
the connection control unit updates the connection table when condition of the destination of the condition check message is not normal.
(16)
An information processing method including:
generating or updating a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
(17)
A program for causing a computer to function as an information processing apparatus including:
a connection control unit configured to generate or update a connection table on the basis of status of communication performed by a communication unit at a time of an operation to establish a session or status of communication regularly performed by the communication unit after the operation to establish the session.
Number | Date | Country | Kind |
---|---|---|---|
2012-106723 | Aug 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/056805 | 3/12/2013 | WO | 00 |