1. Field
Methods and apparatuses consistent with the inventive concept relate to transmitting and receiving personal broadcasting data by using peer-to-peer (P2P) communication.
2. Description of Related Art
Unlike a server-client model, where a plurality of clients receive a service from a server as resources are concentrated on a central server, network participants exchange data as equal peers in a peer-to-peer (P2P) based network.
The network participants can share each other's digital contents via P2P communication, and one of the network participants can directly transmit a broadcast to other network participants in real time by generating a personal broadcasting channel.
In operation 101, a first terminal (broadcaster) that transmits personal broadcasting data registers a personal broadcasting channel in a tracker server. Here, the tracker server manages a list of personal broadcasting channels in a P2P based network.
In operation 102, the broadcaster starts a broadcast.
In operation 103, a second terminal (client) that wishes to view a personal broadcast obtains the list of personal broadcasting channels from the tracker server.
In operation 104, the client selects a channel according to a user input.
In operation 105, the broadcaster transmits the personal broadcasting data to the client via streaming.
In a conventional P2P based personal broadcast, a client is unable to determine information about or broadcast starting times of programs of various personal broadcasting channels. Also, since there is no method of making a reservation to view a personal broadcast, the client needs to wait until a desired program is broadcast after connecting to a personal broadcasting channel.
The inventive concept provides a method of transmitting and receiving personal broadcasting data, wherein a broadcast of a personal broadcasting channel may be reserved in a peer-to-peer (P2P) based network.
According to an aspect of an exemplary embodiment, the client may make a viewing reservation by using the information about the personal broadcasting channel. Also, the broadcaster may obtain a list of clients that made a viewing reservation on the personal broadcasting channel. The list may be used for various purposes, for example, for totaling program ratings.
According to an aspect of an exemplary embodiment, there is provided a method of receiving a personal broadcast of a second terminal by using peer-to-peer (P2P) communication, the method including: transmitting by a first terminal information about a user made reservation to view the personal broadcast to a tracker server which provides the information to the second terminal; and starting streaming by the first terminal with the second terminal when the second terminal notifies the first terminal that the personal broadcast is starting.
The method may further include: receiving from the tracker server, by the first terminal, timeline based electronic program guide (EPG) information about a personal broadcasting channel of the second terminal; and displaying by the first terminal the EPG information via a user interface for a user to make the user-made reservation.
The method may further include receiving from the second terminal by the first terminal a uniform resource locator (URL) of a personal broadcasting channel of the second terminal, wherein the information is generated based on the URL.
The EPG information may be based on extensible markup language (XML).
The method may further include synchronizing by the first terminal the received EPG information with the second terminal.
According to another aspect of the inventive concept, there is provided a non-transitory computer readable recording medium having recorded thereon a program for executing the method.
According to another aspect of the inventive concept, there is provided a method of transmitting a personal broadcast by using P2P communication, the method including: receiving, from a tracker server, by a terminal a list of at least one client who made a viewing reservation on a personal broadcasting channel of the terminal; and notifying by the terminal the at least one client about starting of the personal broadcast when it is time for the viewing reservation.
The method may further include registering by the terminal timeline based EPG information about the personal broadcasting channel in the tracker server, wherein the viewing reservation by the at least one client is performed by referring to the EPG information registered in the tracker server.
The method may further include transmitting by the terminal a URL of the personal broadcasting channel to at least one client, wherein the viewing reservation by the at least one client is performed by referring to the URL.
According to another aspect of an inventive concept, there is provided a non-transitory computer readable recording medium having recorded thereon a program for executing the method.
According to another aspect of an inventive concept, there is provided an apparatus for providing a personal broadcast by using P2P communication to a first terminal, the apparatus including: a reservation processor which, when an external input for making a reservation to view the personal broadcast is received, transmits information about the reservation to a tracker server which provides the received information to second terminal; and a streaming unit which starts streaming with the second terminal when the starting of the personal broadcast is notified from the second terminal.
The apparatus may further include an EPG processor which receives timeline based EPG information about a personal broadcasting channel of the second terminal from the tracker server and displays the EPG information via a user interface for a user to make the reservation.
The apparatus may further include a URL receiver which receives a URL of a personal broadcasting channel of the second terminal from the second terminal, wherein the reservation processor generates the information based on the URL.
According to another aspect of an inventive concept, there is provided an apparatus for transmitting a personal broadcast by using P2P communication, the apparatus including: a receiver which receives a list of at least one client that made a viewing reservation of a personal broadcasting channel from a tracker server; and a notifying unit which notifies said at least one client about starting of the personal broadcast, when it is time for the viewing reservation.
The apparatus may further include an EPG registering unit which registers timeline based EPG information about the personal broadcasting channel in the tracker server, wherein the viewing reservation by the at least one client is performed by referring to the EPG information registered in the tracker server.
According to yet another aspect of an inventive concept, there is provided a system of managing personal broadcast. The system includes a first terminal that broadcasts the personal broadcast, a second terminal that requests the personal broadcast, and a server which registers the personal broadcast of the first terminal, notifies the second terminal of availability of the personal broadcast, and provides a list of registered terminals comprising the second terminal to the first terminal. In this system, the personal broadcast is obtained in a peer-to-peer network in which each of the first and second terminals are peers that serve as at least one of a client and a broadcaster.
The above and other aspects of inventive concepts will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
Hereinafter, exemplary embodiments will be described more fully with reference to the accompanying drawings.
Herein, a terminal that transmits personal broadcasting data will be referred to as a broadcaster, and a terminal that receives personal broadcasting data will be referred to as a client.
In operation 201, a broadcaster registers timeline based electronic program guide (EPG) information in a tracker server as a part of channel information. The EPG information includes information about programs of personal broadcasting channels, such as a title of a program, a starting time of a program, and a length of a program. That is, a personal broadcasting channel may be a custom channel developed by a user which includes programs selected by a user and provided by a user at a specified time. A personal broadcasting channel is a channel designed by a user in which the user specifies programs to broadcast and times to broadcast them at.
The EPG information may be based on extensible markup language (XML). An example of XML based EPG information is illustrated in
The EPG information registered in the tracker server is transmitted to a client, and the client may request a viewing reservation to the tracker server by referring to the EPG information.
In operation 202, the broadcaster receives, from the tracker server, a list of clients that made a viewing reservation on a personal broadcasting channel.
In operation 203, the broadcaster synchronizes the EPG information with one or more clients. Due to characteristics of a personal broadcast, broadcast programming or broadcasting times may frequently change, and thus synchronization with the EPG information is important. The synchronization of the EPG information may be performed via the tracker server, or directly performed between the broadcaster and one or more clients. Also, the synchronization of the EPG server may be performed periodically, or when a change occurs.
Accordingly, in
In operation 204, when it is time to start the personal broadcast, the broadcast notifies the clients that made the viewing reservation about the starting of the personal broadcast. Although the clients are aware of a starting time of the personal broadcast based on the EPG information, the broadcaster may notify the clients so as to start streaming in the case when the synchronization with the EPG information is not completed or when there is a real time clock (RTL) difference between the broadcaster and the respective client.
In operation 205, the broadcaster starts streaming of the personal broadcasting data.
In operation 301, a client receives information about a personal broadcasting channel from a broadcaster or a tracker server. Here, the information is required for the client to make a viewing reservation on a personal broadcasting channel. The information may be EPG information or a uniform resource locator (URL) of a corresponding broadcasting channel.
In operation 302, the client displays the received information to a user via a user interface.
In operation 303, the client receives a viewing reservation input from the user.
In operation 304, the client transmits reservation information, which is generated based on the viewing reservation input and required to request a viewing reservation, to the tracker server.
In operation 305, the client synchronizes the information about the personal broadcasting channel with the broadcaster. In other words, the client synchronizes EPG information or a URL of a broadcasting channel of the broadcaster with the broadcaster. Such synchronization may be performed periodically or whenever a change occurs, like in the method of
In operation 306, the client receives a message which informs the user about the start of a broadcast, from the broadcaster of the personal broadcasting channel in regard to which the client made a viewing reservation.
In operation 307, the client receives personal broadcasting data from the broadcaster via streaming.
As such, according to an exemplary embodiment, the client may make a viewing reservation by using information provided on the personal broadcasting channel. Also, the broadcaster may obtain a list of clients that made a viewing reservation using the personal broadcasting channel. The list may be used for various purposes, for example, for totaling program ratings.
In operation 401, a first terminal (broadcaster) registers a personal broadcasting channel in a tracker server. At this time, timeline based EPG information about the personal broadcasting channel of the first terminal is also registered in the tracker server.
In operation 402, a second terminal (client) receives the EPG information from the tracker server.
In operation 403, the second terminal requests the tracker server for a viewing reservation so as to view the personal broadcasting channel at a certain time.
In operation 404, the first terminal receives, from the tracker server, a list of clients that made a viewing reservation on the personal broadcasting channel. The list may include the second terminal.
In operation 405, the first and second terminals synchronize the EPG information. As described above, the synchronization may be performed periodically or whenever there is a change in the EPG information. Also, the synchronization may be performed via the tracker server directly between the first and second terminals.
In operation 406, when it is the time that the second terminal made the viewing reservation, the first terminal notifies the second terminal about the starting of a broadcast.
In operation 407, the first terminal transmits personal broadcasting data to the second terminal via streaming.
In operation 501, a first terminal (broadcaster) registers a personal broadcasting channel in a tracker server. At this time, EPG information may also be registered.
In operation 502, the first terminal notifies a second terminal (client) about a URL of the personal broadcasting channel. Such a notification may be performed by using any one of various methods. For example, the notification may be performed by using a messenger program. Meanwhile, the URL may be a URL for connecting to the personal broadcasting channel or a URL for requesting a viewing reservation on a corresponding channel.
In operation 503, the second terminal requests a viewing reservation for viewing the personal broadcasting channel of the first terminal at a predetermined time to the tracker server by using the URL.
In operation 504, the first terminal receives a list of clients that made a viewing reservation on the personal broadcasting channel from the tracker server. The list may include the second terminal.
In operation 505, the first and second terminals synchronize the URL. As described above, the synchronization may be performed periodically or whenever a change occurs in the URL. Also, the synchronization may be performed via the tracker server or directly between the first and second terminals.
Aside from the URL, the first terminal may register EPG information in the tracker server, and the second terminal may read the EPG information from the tracker server at any time. Accordingly, synchronization of the EPG information may be performed independently from the synchronization of the URL.
In operation 506, when it is the time that the second terminal made the viewing reservation, the first terminal notifies the second terminal about the starting of a broadcast.
In operation 507, the first terminal transmits personal broadcasting data to the second terminal via streaming.
As shown in
When an external input which makes a viewing reservation to view a personal broadcast of the broadcaster 610 at a certain time is received from a user, the reservation processor 601 generates information about the viewing reservation based on EPG information or a URL of a personal broadcasting channel of the broadcaster 610, and transmits the generated information to a tracker server 650 so as to request the viewing reservation on the personal broadcasting channel.
The EPG processor 602 obtains timeline based EPG information about the personal broadcasting channel from the tracker server 650, and displays the EPG information via a user interface so that the user can reference the EPG information during the viewing reservation.
The synchronizer 603 synchronizes the EPG information or the URL with the broadcaster 610. Here, the synchronization may be performed periodically or whenever there is a change in the EPG information or the URL. Also, the synchronization may be performed indirectly via the tracker server 650 or directly between the broadcaster 610 and the client 600.
The URL receiver 604 receives the URL of the personal broadcasting channel from the broadcaster 610.
When a message informing about the starting of a broadcast is received from the broadcaster 610, the streaming unit 605 receives personal broadcasting data of the broadcaster 610 via streaming.
Meanwhile, as shown in
When it is time to play the viewing reservation, the notifying unit 611 notifies clients, which made a viewing reservation on the personal broadcasting channel of the broadcaster 610, about the starting of a broadcast.
The receiver 612 receives, from the tracker server 650, a list of the clients that made the viewing reservation.
The URL transmitter 613 transmits a URL of the personal broadcasting channel of the broadcaster 610 to the client 600.
The EPG registering unit 614 registers timeline based EPG information about the personal broadcasting channel of the broadcaster 610 in the tracker server 650.
The client 600 may make a viewing reservation by referring to the EPG information or the URL. Accordingly, any one of the URL transmitter 613 and the EPG registering unit 614 may be omitted from the broadcaster 610.
The synchronizer 615 synchronizes the EPG information and/or the URL with the client 600.
As shown in
As shown in
While exemplary embodiments have been particularly shown and described, 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 inventive concept as defined by the following claims. The exemplary embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of exemplary embodiments but by the appended claims, and all differences within the scope will be construed as being included in the present invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0003409 | Jan 2009 | KR | national |
This application is a National Stage of International Application No. PCT/KR2009/006399 filed Nov. 3, 2009, claiming priority based on U.S. Provisional Application No. 61/117,272 filed on Nov. 24, 2008, and Korean Patent Application No. 10-2009-0003409 filed on Jan. 15, 2009, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2009/006399 | 11/3/2009 | WO | 00 | 5/24/2011 |
Number | Date | Country | |
---|---|---|---|
61117272 | Nov 2008 | US |