1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to transmitting/receiving broadcast data, and more particularly, to a method and apparatus for allowing a peer in a peer-to-peer (P2P) network to transmit broadcast data to another peer in the same network.
2. Description of the Related Art
Advances in internet protocol (IP)-based wired/wireless network technology have led to the development of methods of transmitting/receiving broadcast data, for example, in an IP television (IPTV) via an IP network.
In particular, in an IP network, a client, e.g., an Internet personal broadcasting station, normally transmits broadcast data to other clients, and thus, much attention has been paid to a method and apparatus for allowing an individual person to transmit/receive broadcast data.
A peer-to-peer (P2P) network is used for a client who has a limited amount of hardware and network resources to smoothly transmit or receive data. The P2P network is an overlay network that constitutes a logical network within an IP network. The P2P network does not involve the concept of clients or servers but instead, involves a plurality of nodes, i.e., peers, which participate in the P2P network and simultaneously function as both clients and servers, as network entities at the same hierarchical level. Each peer in the P2P network transmits received data to other peers, thereby preventing an increase in load on each peer. Accordingly, the P2P network can be used for personal broadcasting.
Exemplary embodiments of present invention provide a method and apparatus for transmitting/receiving broadcast data via a peer-to-peer (P2P) network.
Exemplary embodiments of present invention also provide a computer readable recording medium having recorded thereon a computer program for executing the method.
According to an aspect of the present invention, there is provided a method of allowing a first peer to transmit broadcast data via a P2P (peer-to-peer) network, the method including generating information regarding a broadcast channel; transmitting the information regarding the broadcast channel to a server in the P2P network; and transmitting broadcast data to peers in the P2P network according to the information regarding the broadcast channel, wherein the information regarding the broadcast channel includes information regarding a list of a plurality of pieces of broadcast content that are broadcast via the broadcast channel.
The information regarding the list of the pieces of the broadcast content may include information regarding a broadcast schedule of the pieces of the broadcast content.
The information regarding the broadcast schedule may include meta data of each of the pieces of the broadcast content.
The meta data may include information regarding a representative image and a length of each of the pieces of the broadcast content.
The information regarding the broadcast channel may include at least one of a name of the broadcast channel, information regarding types of the pieces of the broadcast content, a starting time of each of the pieces of the broadcast content, and information regarding the first peer generating the broadcast channel.
The method may further include changing the information regarding the broadcast channel during the transmission of the broadcast data; transmitting the changed information to a server in the P2P network; and transmitting the broadcast data to the peers in the P2P network according to the changed information, wherein the server transmits the changed information to the peers in the P2P network.
According to another aspect of the present invention, there is provided a method of allowing a first peer to receive broadcast data via a P2P network, the method including receiving information regarding a broadcast channel of a second peer from a server in the P2P network; and receiving the broadcast data of the broadcast channel from peers in the P2P network according to the information regarding the broadcast channel, wherein the information regarding the broadcast channel includes information regarding a list of a plurality of pieces of broadcast content broadcast via the broadcast channel.
The method may further include receiving the information regarding the broadcast channel, which is changed during the receiving of the broadcast data, from the server; and receiving the broadcast data from the peers in the P2P network according to the changed information regarding the broadcast channel, wherein the changed information is transmitted from the second peer to the server.
The receiving of the broadcast data may include scheduling receiving of the broadcast data according to the information regarding the broadcast channel; and receiving the broadcast data as scheduled.
According to another aspect of the present invention, there is provided an apparatus for transmitting broadcast data via a P2P network, the apparatus including a broadcast information generation unit generating information regarding a broadcast channel; a broadcast information transmission unit transmitting the information regarding the broadcast channel to a server in the P2P network; and a broadcast data transmission unit transmitting broadcast data to peers in the P2P network according to the information regarding the broadcast channel, wherein the information regarding the broadcast channel includes information regarding a list of a plurality of pieces of broadcast content that are broadcast via the broadcast channel.
According to another aspect of the present invention, there is provided an apparatus for allowing a first peer to receive broadcast data via a P2P network, the apparatus including a broadcast information receiving unit receiving information regarding a broadcast channel of a second peer from a server in the P2P network; and a broadcast data receiving unit receiving the broadcast data of the broadcast channel from peers in the P2P network according to the information regarding the broadcast channel, wherein the information regarding the broadcast channel includes information regarding a list of a plurality of pieces of broadcast content broadcast via the broadcast channel.
According to another aspect of the present invention, there is provided a computer readable recording medium having recorded thereon a computer program for executing the method of transmitting broadcast data or the method of receiving broadcast data.
The above and other features and aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
During broadcast communication established via the P2P network according to a conventional method, the first peer 110 generates a broadcast channel and transmits broadcast data to other peers but does not provide the other peers with information regarding the broadcast channel. Thus, the other peers receiving the broadcast data cannot determine the type of the broadcast data prior to receiving the broadcast data from the first peer 110.
However, according to the current exemplary embodiment, the first peer 110 provides a server 130 with the information regarding the broadcast channel of the first peer 110, and the server 130 transmits the information regarding the broadcast channel to the other peers in the P2P network 120. Thus, the other peers can check the information regarding the broadcast channel before receiving the broadcast data.
In other words, the first peer 110 may provide the server 130 with a list of at least one piece of content that is broadcast via the broadcast channel, and the second peer 140 may selectively receive the broadcast from the first peer 110 after checking the list of the at least one piece of content, which is received from the server 130, as will be described below in detail with reference to
According to an exemplary embodiment of the present invention, the server 130 of
The information regarding the broadcast channel further includes a list of at least one piece of content that is broadcast via the broadcast channel of the first peer 110. According to an exemplary embodiment of the present invention, the first peer 110 may provide a plurality of pieces of content via one broadcast channel, and peers receiving broadcast data may check information regarding the pieces of the content and selectively receive desired content from among the pieces of the content.
Thus, the first peer 110 transmits information regarding a list of the pieces of the content to the server 130. In addition, a schedule for broadcasting the pieces of the content may be provided to the server 130 as illustrated in
The information regarding the list of the pieces of the content may include meta data regarding the respective pieces of the content. The meta data specifies the names and lengths of the respective pieces of the content. The meta data may further include information regarding a representative image of each piece of the content in order to more intuitively provide peers with the information regarding the content. The representative images of the respective pieces of the content are included in the meta data so that peers receiving broadcast data may display the pieces of the content in the form of thumbnail images.
Referring back to
Information contained in respective tags ‘channel id’, ‘title’, ‘genre’, ‘description’, ‘publisher’, ‘category’ and ‘starttime’ are used to identify a broadcast channel. Information contained in a tag ‘programList’ is related to the list of the broadcast content.
The tag ‘channel id’ includes information regarding a channel identifier. The tag ‘title’ indicates the name of the broadcast channel. The tag ‘genre’ indicates the genres of the broadcast content. The tag ‘description’ specifies the broadcast channel. The tag ‘publisher’ includes information regarding a broadcaster. The tag ‘category’ indicates the category to which the broadcast channel belongs. The ‘starttime’ indicates a starting time of the content.
The list of the at least one broadcast content includes meta data of the content. The meta data includes tags ‘title’, ‘description’, ‘duration’ and ‘thumbnail’.
The tag ‘title’ indicates the title of the content. The tag “description’ provides a detailed description of the content. The tag ‘duration’ indicates the length of the content. The tag ‘thumbnail’ includes information regarding a representative image of the content.
Referring back to
Since information regarding a plurality of pieces of content that are respectively broadcast via the broadcast channels is provided to the second peer 140, the second peer 140 may select and view at least one of a plurality of pieces of content that are broadcast via the broadcast channel of the first peer 110. Also, the second peer 140 may make its own viewing schedule on, for example, a TV from a combination of a plurality of pieces of content that are broadcast via a plurality of broadcast channels. For example, the second peer 140 may make its own viewing schedule so that MOVIE #1 may be viewed from ten o'clock to eleven o'clock, DRAMA #2 and DRAMA #3 may be viewed from eleven o'clock to one o'clock, and MUSIC #3 may be viewed from one o'clock.
In operation 240, the first peer 110 transmits broadcast data to the other peers in the P2P network 120, based on the information regarding the broadcast channel that was transmitted to the server 130 in operation 220. In this case, broadcast data regarding a plurality of pieces of content may be transmitted to the other peers at a predetermined time. The second peer 120 may either directly receive the broadcast data from the first peer 110 or receive the broadcast data from peers that received the broadcast data in a P2P mesh network.
As described above with reference to
Operations 220 to 240 have been described above, in which broadcast data is transmitted and received based on the information regarding the broadcast channel of the first peer 110. In operations 250 to 280, a method of transmitting and receiving the broadcast data when the information regarding the broadcast channel is changed after the broadcasting of the content begins, is described.
Specifically, in operation 250, during the transmitting of the broadcast data, the first peer 110 changes the information regarding the broadcast channel according to the information regarding the broadcast channel that was generated in operation 220. In this case, a broadcast schedule is changed by deleting or modifying content that is to be broadcast or changing the order in which a plurality of pieces of content will be broadcast. The information regarding the broadcast channel is considered as being changed even if there is no modification to the original broadcast schedule although a new piece of broadcast content is simply added to the broadcast schedule. However, if the first peer 110 changes the broadcast schedule without notice, the second peer 140 may no longer be capable of viewing content that it is currently viewing. Thus, the broadcast schedule is preferably changed according to predetermined rules, as will now be described in detail with reference to
The content #1510 that is being reproduced and the content #2520 that is being buffered are not deleted, when the first peer 110 attempts to change a broadcast schedule by deleting all the content #1510, the content #2520, content #3530, and content #4540 and adding content #5550, content #6560 and content #7570. Thus, the changed broadcast schedule sequentially includes the content #1510, the content #2520, the content #5550, the content #6560 and the content #7570.
Alternatively, when all the content #1510, the content #2520, the content #3530 and the content #4540 are to be deleted from the original broadcast schedule, only the content #1510 that is being reproduced may be retained in the changed broadcast schedule but the content #2520 that is being buffered may be deleted.
Referring back to
In operation 270, the server 130 transmits the changed information regarding the broadcast channel, which was received in operation 260, to the second peer 140. As described above with reference to operation 230, the changed information regarding the broadcast channel may be shared with the other peers in the P2P network by broadcasting this information to the other peers as soon as this information is received from the first peer 110. Alternatively, this information may be broadcast when information regarding broadcast channels in the P2P network is periodically broadcast to all the peers in the P2P network.
In operation 280, the first peer 110 transmits the broadcast data to the other peers in the P2P network according to the changed information regarding the broadcast channel that was transmitted to the server 130 in operation 260.
The broadcast information generation unit 610 generates information regarding the broadcast channel of the first peer 110. This information may include identification information of the broadcast channel of the first peer 110, and a list of content broadcast via the broadcast channel.
When the information regarding the broadcast channel is changed according to user input during transmission of broadcast data, the broadcast information generation unit 610 may also generate the changed information regarding the broadcast channel.
The broadcast information transmission unit 620 receives the information regarding the broadcast channel from the broadcast information generation unit 610 and transmits it to the server 130 in the P2P network 120. As described above with reference to
When the information regarding the broadcast channel is changed during transmission thereof from the broadcast information generation unit 610, the broadcast information generation unit 620 also transmits the changed information regarding the broadcast channel to the server 130.
The broadcast data transmission unit 630 transmits broadcast data to the other peers in the P2P network 120 according to the information regarding the broadcast channel generated by the broadcast information generation unit 610. Broadcast data of a plurality of pieces of content may be transmitted according to a broadcast schedule contained in the information regarding the broadcast channel.
When the information regarding the broadcast channel is changed during transmission thereof, the broadcast data transmission unit 630 also transmits the broadcast data according to the changed information regarding the broadcast channel.
The broadcast information DB 710 stores information regarding broadcast channels in the P2P network 120. The information regarding all the broadcast channels in the P2P network 120 including the broadcast channel of the first peer 110 is received from the other peers in the P2P network 120 and is stored in the broadcast information DB 710, and the received information is shared with the other peers in the P2P network 120 as described above with reference to
The broadcast information DB 710 may also receive and store information regarding peers accessing the respective broadcast channels from the peers via the broadcast information transceiving unit 720. Broadcast data may be smoothly exchanged by collecting information regarding peers accessing a predetermined broadcast channel and sharing the collected information among the peers if needed.
In order to monitor all peers transmitting or receiving broadcast data in the P2P network 120, the broadcast information DB 710 may also receive information regarding the peers from the peers via the broadcast information transceiving unit 720 and store the received information. The internet protocol (IP) addresses of the peers transmitting or receiving broadcast data may be stored as information regarding the peers in the broadcast information DB 710.
The broadcast information transceiving unit 720 receives the information regarding all the broadcast channels in the P2P network 120 and stores it in the broadcast information DB 710. The received information is broadcast in the P2P network 120 in order to be shared with peers that desire to receive broadcast.
When information regarding a broadcast channel is changed after broadcast content begins to be broadcast via the broadcast channel, the changed information is received from a peer transmitting broadcast data and is transmitted to a peer that is viewing the broadcast content.
As described above related to the broadcast information DB 710, the broadcast information transceiving unit 720 may receive information regarding all peers accessing the respective broadcast channels and/or information regarding all peers transmitting or receiving broadcast data in the P2P network 120, and store the received information in the broadcast information DB 710.
The broadcast information receiving unit 810 receives information regarding broadcast channels in the P2P network 120 from the server 130. The received information also includes information regarding the broadcast channel of the first peer 110. If the information regarding the broadcast channels is changed during transmission thereof, the changed information regarding the broadcast channels is also received from the server 130.
The broadcast data receiving unit 820 receives broadcast data based on the information regarding the broadcast channels received from the broadcast information receiving unit 810. The broadcast data is received from peers in the P2P network 120. Based on the information regarding the broadcast channels, the broadcast data may be scheduled to be received before broadcasting and be received as scheduled. Also, if the information regarding the broadcast channels is changed during transmission thereof, the broadcast data is received according to the changed information regarding the broadcast channels.
According to the above exemplary embodiments, a peer that transmits broadcast data is capable of transmitting a plurality of pieces of content via one broadcast channel, thereby enabling the broadcast channel to be constructed in a consistent and effective manner. Also, a peer that receives the broadcast data is capable of dynamically scheduling viewing of broadcast content and viewing the broadcast content based on information regarding the broadcast channel, thereby enabling various broadcast content to be viewed.
An exemplary embodiment of the present invention can be embodied as computer readable code in a computer readable medium.
For example, a server, a broadcast data transmitting device and a broadcast data receiving device such as those in the above exemplary embodiments may include a bus coupled to the elements of a device as illustrated in
The computer readable medium may be any recording apparatus capable of storing data that is read by a computer system, e.g., a read-only memory (ROM), a random access memory (RAM), a compact disc (CD)-ROM, a magnetic tape, a floppy disk, an optical data storage device, and so on. The computer readable medium can be distributed among computer systems that are interconnected through a network, and the present invention may be stored and implemented as computer readable code in the distributed system.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0002729 | Jan 2009 | KR | national |
This application claims the benefit of U.S. Patent Provisional Application Nos. 61/104,026 and 61/117,272, filed on Oct. 9, 2008 and Nov. 24, 2008, in the U.S.P.T.O., and Korean Patent Application No. 10-2008-0002729, filed on Jan. 13, 2009, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entireties by reference.
Number | Date | Country | |
---|---|---|---|
61117272 | Nov 2008 | US | |
61104026 | Oct 2008 | US |