WO2008020708A1 - Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same - Google Patents
Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same Download PDFInfo
- Publication number
- WO2008020708A1 WO2008020708A1 PCT/KR2007/003902 KR2007003902W WO2008020708A1 WO 2008020708 A1 WO2008020708 A1 WO 2008020708A1 KR 2007003902 W KR2007003902 W KR 2007003902W WO 2008020708 A1 WO2008020708 A1 WO 2008020708A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- connection
- client
- connection target
- clients
- content data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 12
- 230000001276 controlling effect Effects 0.000 description 11
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Definitions
- the present invention relates, in general, to a method and system for controlling the connection between client and server and for receiving/playing data using the same and more particularly to a method and system that can receive and play data more efficiently by fragmenting the data requested between a client and a server according to predetermined rule, receiving separately respective data packets obtained through fragmentation from a plurality of clients or the server in a distributed manner, and playing the received data packets,
- Background Art
- this structure for allowing large-size multimedia data to be received from a server or another client, is not fundamentally different from a structure in which a client, requesting data, connects to a server or another client and receives requested data therefrom in a one-to-one relationship. Accordingly, such a structure has several problems in that the rate at which a client receives data is inevitably highly dependent on the server or another client connected thereto, and in that, when the connection to the server or the client is abnormally released during transmission, a new connection must be established. Disclosure of Invention
- an object of the present invention is to provide a method and system for controlling the connection between clients, which first fragment the data requested between a client and a server or between different clients according to predetermined rule, and separately receive respective data packets, obtained through fragmentation, from a plurality of clients or from the server in a distributed manner, thus more rapidly receiving data.
- Another object of the present invention is to provide a method and system that can first fragment the data requested between a client and a server or between different clients according to predetermined rule, and can play respective data packets, obtained through fragmentation, while separately receiving the data packets from a plurality of clients or from the server in a distributed manner, and that can stably receive and play data even when some problems occur in the connection to a specific client or the server.
- a method of controlling connection between clients in a management server being connected to at least one client comprising the steps of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected, wherein the connection target clients include the content data requested by the connection-requesting client and the content data is fragmented by a predetermined rule; determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection-requesting client.
- the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients having public Internet Protocol (IP) addresses as the connection target clients.
- IP Internet Protocol
- the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients having IP addresses, upper bits of which are identical to those of an IP address of the connection-requesting client for a predetermined length, as the connection target clients.
- the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients having bandwidths that are equal to or greater than a predetermined threshold as the connection target clients.
- the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients, having reference coefficients falling within a predetermined range, as the connection target clients, each of the reference coefficients being set to increase by a predetermined value with respect to each client whenever the client is set to a connection target client.
- each of the reference coefficients of the clients may be set to decrease by a predetermined value when the reference coefficient is not referred to for a predetermined period after having finally been referred to.
- the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select the management server as a connection target client.
- the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list.
- the transmission rule may cause respective data packets constituting the fragmented content data to sequentially correspond to connection target clients included in the list.
- connection-requesting client may connect to the connection target clients on a basis of the connection information included in the received list, and thus receive respective data packets constituting the fragmented content data according to the transmission rule.
- a method of receiving content data in a client connected to at least one client and a management server comprising the steps of connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to respective connection target clients on a basis of the connection information included in the list, and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and receiving the data packets constituting the fragmented content data from respective connection target clients.
- the transmission rule may cause respective data packets constituting the fragmented content data to sequentially correspond to the connection target clients included in the list.
- the method may further comprises the step of combining the data packets received from respective connection target clients into original content data, after the step of receiving respective data packets constituting the fragmented content data from respective connection target clients.
- a method of receiving and playing content data in a client connected to at least one client and a management server in real time comprising the steps of connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the requesting client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to a predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to the connection target clients on a basis of the connection information included in the list and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients.
- the step of playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients is performed such that reception threshold time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, the requesting client releases a connection to the connection target client, connects to the management server, requests connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receives information about the other connection target client, connects to the other connection target client on a basis of the connection information, requests data packets corresponding to the connection- released connection target client, and plays received data packets in a sequence of original content data while receiving the data packets.
- a system for controlling connection between clients comprising a client list management unit for managing clients connected thereto, and selecting at least one connection target clients to which a connection-requesting client requesting specific content data will be connected, wherein the connection target clients have content data requested by the connection-requesting client and the content data is fragmented according to predetermined rule; a transmission rule determination unit for determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and a connection control unit for controlling connection with clients and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection-requesting client.
- the transmission rule determination unit determines the transmission rule by causing respective data packets constituting the fragmented content data to sequentially correspond to the connection target clients included in the list.
- connection-requesting client may connect to the connection target clients on a basis of the connection information included in the list, and thus receive respective data packets constituting the fragmented content data according to the transmission rule.
- a client for receiving and playing content data, the client being connected to at least one of other clients and a management server to receive and play content data, comprising a connection control unit for requesting specific content data which has been previously fragmented according to a predetermined rule from the management server, receiving a list of connection target clients to be connected and a transmission rule causing respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list from the management server, connecting to the connection target clients included in the list, and thus requesting the data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; a data reception unit for receiving respective data packets from the connection target clients; a data combination unit for combining the data packets received through the data reception unit with each other; a data playback unit for playing the data packets received through the data reception unit in a sequence of original content data; and a lazy data processing unit for verifying lazy data, which is a data packet that
- the lazy data processing unit is operated such that reception threshold time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, a connection to the connection target client is released, and thus lazy data is verified.
- connection control unit may connect to the management server to request connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receive information about the other connection target client, connect to the other connection target client on a basis of the connection information, and thus request data packets corresponding to the connection- released connection target client from the other connection target client.
- the data reception unit may receive the requested data packets, and the data playback unit plays the received data packets in a sequence of original content data.
- the present invention can provide a method and system for controlling the connection between clients, which can first fragment the data requested between a client and a server or between different clients according to predetermined rule, and can receive respective data packets, obtained through fragmentation, from a plurality of clients or the server in a distributed manner, thus more rapidly transmitting data.
- the present invention can provide a method and system that can first fragment data requested between a client and a server or between different clients according to predetermined rule and can play respective data packets obtained through fragmentation while separately receiving the data packets from a plurality of clients or the server in a distributed manner, and that can stably receive and play data even when problems occur in the connection to a specific client or the server.
- FIG. 1 is a diagram showing the overall construction of a method and system for controlling the connection between a client and a server according to the present invention
- FIG. 2 is a flowchart showing a process in which a connection-requesting client 10 connects to a management server 20 to receive a connection target client list and a transmission rule, and thus connects to other clients to receive requested content data according to the transmission rule;
- FIGS. 3 and 4 are diagrams showing examples of a connection target client list and a transmission rule
- FIG. 5 is a diagram showing an example of the configuration of fragmented content data
- FIG. 6 is a flowchart showing the case where a threshold time period is set and a data packet is not received within the threshold time period
- FIG. 7 is a block diagram showing the detailed construction of a management server 20 and a connection- requesting client 10. Best Mode for Carrying Out the Invention
- FIG. 1 is a diagram showing the overall construction of a method and system for controlling the connection between a client and a server according to the present invention.
- a management server 20 a connection-requesting client 10, and a plurality of clients 30, 40, and 50 are connected to each other.
- connection-requesting client 10 denotes a client which connects to the management server 20 and requests specific content data from the management server 20.
- the management server 20 has various types of client information, including connection information of a plurality of different connectable clients 30, 40 and 50, and processes various types of functions related to connection control, such as by generating both a list of connection targets to which the connection-requesting client 10 must connect and a transmission rule in response to a specific content data request signal output from the connection-requesting client 10, and by transmitting the connection target client list and the transmission rule to the connection-requesting client 10.
- connection target client list' means a list including connection information, such as the IP addresses of clients, selected according to predetermined rule from among different connectable clients 30, 40 and 50, for which various types of client information, including connection information, are included in the management server 20.
- the term 'transmission rule' means a rule indicating which data is to be received from respective clients by the connection-requesting client 10 when the connection-requesting client 10 connects to the clients included in the connection target client list.
- content data that is transmitted or received between clients is fragmented according to predetermined rule. That is, content data stored in respective clients is fragmented into units having, for example, a uniform size, and respective data packets, obtained through fragmentation, are distributed and transmitted from respective clients to the connection-requesting client 10 according to the above-described transmission rule.
- connection-requesting client 10 When the connection-requesting client 10 receives the connection target client list and the transmission rule from the management server 20, it connects to the clients included in the connection target client list (it is assumed in FIG. 1 that all of the clients 30, 40, and 50 are selected), establishes respective sessions 1, 2, and 3, and receives respective data packets from the clients 30, 40 and 50 in a distributed manner.
- FIG. 2 is a flowchart showing the process in which the connection-requesting client
- connection target client list and a transmission rule connects to other clients to receive requested content data according to the transmission rule.
- connection-requesting client 10 connects to the management server 20 and requests specific content data from the management server 200 at step SlOO.
- the management server 20 selects other clients, having content data requested by the connection-requesting client 10 (hereinafter referred to as 'connection target clients'), at step Sl 10, and determines the transmission rule at step S 120.
- the step Sl 10 of selecting the connection target clients is performed by selecting some clients from among clients having the content data, requested by the connection-requesting client 10, according to predetermined rule. For example, a client having a public IP address can be primarily selected.
- connection target clients As the methods of selecting connection target clients at step Sl 10, a method of selecting clients having IP addresses, upper bits of which are identical to those of the IP address of the connection-requesting client for a predetermined length, as connection target clients, can be used.
- the case where the upper bits of the IP addresses are identical to each other for a predetermined length means that respective clients are provided with Internet service by the same Internet service provider, or that the respective clients are included in the same network, such as a Local Area Network (LAN), and thus a higher data transfer rate can be realized when the clients are connected to each other.
- LAN Local Area Network
- connection target clients at step Sl 10 a method of primarily selecting a client, the bandwidth of which is equal to or greater than a predetermined threshold, as a connection target client can be used.
- a connection target client transmits data to the connection-requesting client, it is preferable to use upload bandwidth.
- upload bandwidth Since the actual measurement of upload bandwidth data is difficult, it is possible to select a connection target client using download bandwidth in consideration of the expectation that upload bandwidth will be correlated somewhat with download bandwidth.
- a method of selecting connection target clients using a reference coefficient which is set for each client to increase by a predetermined value, for example, 1, whenever each client is set to a connection target client can be used.
- a method of decreasing a corresponding reference coefficient by a predetermined value, for example, 1, at regular intervals, for example, every minute, after the reference coefficient has finally been referred to, is used, and thus the client that has been least used recently can be determined.
- a client notifies the management server 20 of the number of sessions, in which data is transmitted by the client, at predetermined intervals, thus enabling the management server 20 to change the reference coefficient.
- a client the reference coefficient of which falls within a predetermined range, may be selected as a connection target client, or alternately, a client having the lowest reference coefficient may be primarily selected as a connection target client.
- a reference coefficient is used, and thus a specific client is prevented from being concentrically selected as a connection target client.
- the method using a reference coefficient can be used together with the above-described methods. That is, the method can be configured such that clients, the reference coefficients of which fall within a predetermined range, are primarily selected as connection target clients, and, of the selected connection target clients, clients having public IP addresses, clients having IP addresses, upper bits of which are identical to those of the IP address of the connection-requesting client for a predetermined length, or clients having bandwidths which are equal to or greater than a predetermined threshold can be selected as ultimate connection target clients.
- connection target clients when the number of clients that can be selected as connection target clients is not sufficient due to various factors, such as the case where the number of clients, the reference coefficients of which fall within a predetermined range, is not sufficient, the management server 20 can select itself as a connection target client.
- the management server 20 creates the connection target client list, including connection information, such as the IP addresses of the connection target clients to which the connection-requesting client 10 must connect.
- step S 120 of determining a transmission rule is performed to determine connection target clients from which respective data packets constituting the specific fragmented content data are to be received, as described above, and means that respective data packets are caused to correspond to at least one of the connection target clients included in the connection target client list.
- a method of sequentially receiving data packets constituting content data from three connection target clients when the number of connection target clients is 3 can be performed. That is, the first connection target client can be caused to correspond to receive 1st, 4th, 7th, 10th, ..., data packets, the second connection target client can be caused to correspond to receive 2nd, 5th, 8th, 1 lth, ..., data packets, and the third connection target client can be caused to receive 3rd, 6th, 9th, 12th, ..., data packets.
- correspondence methods can be used in addition to such an equivalent sequential correspondence method.
- various correspondence methods such as a method of causing the first connection target client to correspond to data packets so as to receive 1st, 2nd, 5th, 6th, 9th, 10th, ..., data packets, causing the second connection target client to correspond to data packets so as to receive 3rd, 7th, 1 lth, ..., data packets, and causing the third connection target client to correspond to data packets so as to receive 4th, 8th, 12th, ..., data packets can be used. That is, the management server 20 merely creates a transmission rule causing all data packets constituting content data to correspond to at least one of connection target clients.
- the management server 20 preferably determines the transmission rule with reference to various states, such as bandwidth or the number of sessions of each client, at the time of creating the transmission rule, as described above.
- connection target client list Examples of the connection target client list and a transmission rule are shown in
- connection target client list it can be seen from the connection target client list that two clients are selected, and that IP addresses, indicating connection information thereof, are included in the connection target client list, together with the clients. Further, transmission rules are included together in the list with respect to respective connection target clients.
- FIG. 3 shows that data packets alternately and sequentially correspond to clients 1 and 2 in such a way that odd-numbered data packets correspond to the client 1, and even-numbered data packets correspond to the client 2.
- FIG. 4 shows the case where data packets do not sequentially and regularly correspond to clients.
- a client 1 corresponds to 1st, 2nd, 3rd, 5th, 6th, 7th, 9th, 10th, and 1 lth data packets
- a client 2 corresponds to 4th, 8th, and 12th data packets.
- FIGS. 3 and 4 illustrate the case where the number of data packets is 12, and all data packets are arranged and included in the list, but it will be apparent that, when transmission rules exhibit predetermined regularity, such as in odd-numbered or even- numbered packets, only the rules may be included in the list, without the data packets being individually arranged.
- FIG. 5 illustrates the configuration of fragmented content data, which shows that all of the content data 310 of FIG. 5 is composed of n data packets.
- the content data 310 may include a header field 300 containing typical information about data, and the header field 300 may contain information about the number of data packets, the size of each data packet, etc. Further, each of the data packets may include a packet header field 310. Each packet header field 310 may contain information about each data packet, such as the size or the order thereof.
- the connection-requesting client 10 can uses the header field 300 and each packet header field 310 to verify whether a specific data packet and all of the content data have been satisfactorily received by checking the header field 300 and each packet header field 310.
- the management server 20 transmits the connection target client list and the transmission rule to the connection-requesting client 10 at step S 130.
- connection-requesting client 10 receives and verifies both the connection target client list and the transmission rule, connects to the connection target clients, included in the connection target client list, on the basis of the connection information, such as the IP addresses thereof, establishes sessions with the connection target clients, and requests data packets constituting the content data from respective connection target clients according to the transmission rule, and thus receives the data packets from the connection target clients in a distributed manner at steps S 140 and S 150.
- the received data packets are combined with each other at step S 160 to constitute the complete content data, and thus a desired operation, such as the playback of the content data at step S 170, is performed.
- the combination of the data packets at step S 160 can be performed using information of the header fields, as described above with reference to FIG. 5.
- the management server 20 selects and creates a connection target client list and a transmission rule again, transmits the connection target client list and the transmission rule to the connection-requesting client 10, and then repeats steps Sl 10 to S 160 until data packets which have not yet been received are satisfactorily received.
- connection-requesting client 10 which enables data packets to be simultaneously received and played
- the combination procedure in the connection-requesting client 10 is also required, as described above.
- the sequence of playback of respective data packets is determined, and thus the setting and management of threshold time periods must be precisely performed for respective data packets.
- FIG. 6 illustrates this procedure, which shows that a sequence, in which respective data packets constitute content data, is determined, and thus respective threshold time periods can be differently set according to this sequence.
- the connection-requesting client While sessions are established at steps S 140 and S 150 in FIG. 2, and data packets are received from connection target clients, the connection-requesting client checks and verifies data packets that are currently being received, and plays the received data packet(s) if first data packet(s) corresponding to a minimum unit size required for operation, such as playback through streaming service, is received.
- the minimum unit size required for operation such as playback through streaming service, may differ from the size of each data packet obtained through fragmentation.
- the size of each data packet is less than the minimum unit size required for streaming service, at least two data packets must be received.
- the connection-requesting client determines threshold time periods for data packets corresponding to a subsequent unit and verifies whether data packets corresponding to the subsequent unit have arrived at the client while playing the received data packets at step S200.
- the connection-requesting client 10 sets threshold time periods during which second, third, fourth,... data packets must arrive at the client, depending on the playback period of the first data packet while playing the first data packet.
- the playback period of the first data packet is 30 seconds
- the time period for which the second data packet must be received is set to a period of 15 seconds from the current time point.
- connection-requesting client releases the connection to a connection target client, which was determined to have transmitted the second data packet, notifies the management server 20 of this fact, and requests another connection target client list from the management server at step S210.
- the management server 20 selects another connection target client to which the connection-requesting client 10 must connect, newly determines a transmission rule if necessary, and transmits information about the selected connection target client and the transmission rule to the connection-requesting client 10.
- the connection-requesting client 10 connects to the selected connection target client and receives a data packet at step S220. In this case, when a specific data packet is not received within a threshold time period, it is preferable to select new connection target clients for all data packets included in the transmission rule corresponding to the connection target client that is supposed to transmit the corresponding data packet.
- the management server 20 when the connection target client that is supposed to transmit a second data packet is supposed to transmit even-numbered data packets, the management server 20 also sets a new connection target client and a new transmission rule for the remaining data packets, that is, 4th, 6th, 8th, ..., data packets, and transmits the set connection target client and transmission rule to the connection-requesting client 10, thus enabling the connection target client list and the transmission rule to be updated.
- the connection target client can be newly added, and the transmission rule can also vary.
- FIG. 7 is a block diagram showing the detailed construction of the management server 20 and the connection-requesting client 10 for performing the above-described operation.
- the management server 20 includes a connection control unit
- a client list management unit 22 for managing information about all of the clients connected to the management server 20, selecting connection target clients to which the connection-requesting client 10 must connect, and generating a connection target client list including connection information thereof, and a transmission rule determination unit 23 for generating and managing a transmission rule that indicates connection target clients from which the connection- requesting client 10 receives respective data packets constituting the fragmented content data.
- the management server 20 itself can be a connection target client for transmitting content data requested by the connection-requesting client 10.
- the management server 20 can itself function to transmit, as a connection target client, all of the content data or specific data packets to the connection-requesting client by including connection information thereof in a client list.
- the management server 20 may further include a component such as a data transmission/management unit 24.
- connection-requesting client 10 includes a connection control unit
- connection-requesting client 10 may further include a playback unit for playing received data packets.
- connection-requesting client 10 connects to the connection control unit 21 of the management server 20 through the connection control unit 11 to request specific content data.
- the client list management unit 22 and the transmission rule determination unit 23 of the management server 20 respectively determine connection target clients to which the connection-requesting client 10 must connect, and a transmission rule according to the requested content data, and transmits both a list including information about connection to the determined connection target clients and the transmission rule to the connection-requesting client 10.
- connection-requesting client 10 establishes sessions with the connection target clients on the basis of the received list and transmission rule, receives respective data packets through the data reception unit 12, combines the received data packets with each other through the data combination unit 13, checks for the presence of data that is not normally received if there is data that is not normally received, through the lazy data processing unit 14, creates information about corresponding lazy data, and notifies the management server 20 of the information about the lazy data through the connection control unit 11, receives a new connection target client list and a new transmission rule, and thus receives data packets again.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present invention relates to a method and system for controlling the connection between a client and a server, and to a method and system for receiving/playing data using the connection control method and system. In a method in which a management server (20), connected to at least one client, controls connection between clients, one or more connection target clients to which a connection-requesting client (10) must connect are selected to correspond to the connection-requesting client, wherein the connection target clients include the content data, requested by the connection-requesting client, and the content data is fragmented according to predetermined rule. A transmission rule, by which the connection-requesting client will receive the fragmented content data from the selected connection target clients, is determined. Both a connection target client list, including connection information of the selected connection target clients, and the determined transmission rule are transmitted to the connection-requesting client.
Description
Description
METHOD AND SYSTEM FOR CONTROLLING CONNECTION
BETWEEN CLIENT AND SERVER USING FRAGMENTED
DATA AND FOR RECEIVING/PLAYING DATA USING THE
SAME Technical Field
[1] The present invention relates, in general, to a method and system for controlling the connection between client and server and for receiving/playing data using the same and more particularly to a method and system that can receive and play data more efficiently by fragmenting the data requested between a client and a server according to predetermined rule, receiving separately respective data packets obtained through fragmentation from a plurality of clients or the server in a distributed manner, and playing the received data packets, Background Art
[2] Generally, with the rapid development of the Internet, a plurality of methods of transmitting or receiving various types of data over a network, such as the Internet, has been developed. In particular, with the commercialization of ultra-high speed Internet, enabling large-size data to be transmitted quickly, large-size multimedia data, such as moving images, can be transmitted over the Internet, and thus real-time streaming service or the like has been widely provided.
[3] However, this structure, for allowing large-size multimedia data to be received from a server or another client, is not fundamentally different from a structure in which a client, requesting data, connects to a server or another client and receives requested data therefrom in a one-to-one relationship. Accordingly, such a structure has several problems in that the rate at which a client receives data is inevitably highly dependent on the server or another client connected thereto, and in that, when the connection to the server or the client is abnormally released during transmission, a new connection must be established. Disclosure of Invention
Technical Problem
[4] Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide a method and system for controlling the connection between clients, which first fragment the data requested between a client and a server or between different clients according to predetermined rule, and separately receive respective data packets,
obtained through fragmentation, from a plurality of clients or from the server in a distributed manner, thus more rapidly receiving data.
[5] Another object of the present invention is to provide a method and system that can first fragment the data requested between a client and a server or between different clients according to predetermined rule, and can play respective data packets, obtained through fragmentation, while separately receiving the data packets from a plurality of clients or from the server in a distributed manner, and that can stably receive and play data even when some problems occur in the connection to a specific client or the server. Technical Solution
[6] In accordance with one aspect of the present invention to accomplish the above objects, there is provided a method of controlling connection between clients in a management server being connected to at least one client, comprising the steps of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected, wherein the connection target clients include the content data requested by the connection-requesting client and the content data is fragmented by a predetermined rule; determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection-requesting client.
[7] Preferably, the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients having public Internet Protocol (IP) addresses as the connection target clients.
[8] Further, the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients having IP addresses, upper bits of which are identical to those of an IP address of the connection-requesting client for a predetermined length, as the connection target clients.
[9] Furthermore, the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients having bandwidths that are equal to or greater than a predetermined threshold as the connection target clients.
[10] Further, the step of selecting at least one connection target clients to which a
connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select clients, having reference coefficients falling within a predetermined range, as the connection target clients, each of the reference coefficients being set to increase by a predetermined value with respect to each client whenever the client is set to a connection target client.
[11] Furthermore, each of the reference coefficients of the clients may be set to decrease by a predetermined value when the reference coefficient is not referred to for a predetermined period after having finally been referred to.
[12] Further, the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected may be performed to select the management server as a connection target client.
[13] Preferably, in the step of determining the transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients, the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list.
[14] Further, the transmission rule may cause respective data packets constituting the fragmented content data to sequentially correspond to connection target clients included in the list.
[15] Furthermore, the connection-requesting client may connect to the connection target clients on a basis of the connection information included in the received list, and thus receive respective data packets constituting the fragmented content data according to the transmission rule.
[16] In accordance with another aspect of the present invention, there is provided a method of receiving content data in a client connected to at least one client and a management server, comprising the steps of connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to respective connection target clients on a basis of the connection information included in the list, and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and receiving the data packets constituting the fragmented content data from respective connection target clients.
[17] Furthermore, the transmission rule may cause respective data packets constituting the fragmented content data to sequentially correspond to the connection target clients included in the list.
[18] Preferably, the method may further comprises the step of combining the data packets received from respective connection target clients into original content data, after the step of receiving respective data packets constituting the fragmented content data from respective connection target clients.
[19] In accordance with another aspect of the present invention, there is provided a method of receiving and playing content data in a client connected to at least one client and a management server in real time, comprising the steps of connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the requesting client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to a predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to the connection target clients on a basis of the connection information included in the list and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients.
[20] Preferably, the step of playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients is performed such that reception threshold time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, the requesting client releases a connection to the connection target client, connects to the management server, requests connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receives information about the other connection target client, connects to the other connection target client on a basis of the connection information, requests data packets corresponding to the connection- released connection target client, and plays received data packets in a sequence of original content data while receiving the data packets.
[21] In accordance with another aspect of the present invention, there is provided a
system for controlling connection between clients, the system being connected to at least one client to control the connection between clients, comprising a client list management unit for managing clients connected thereto, and selecting at least one connection target clients to which a connection-requesting client requesting specific content data will be connected, wherein the connection target clients have content data requested by the connection-requesting client and the content data is fragmented according to predetermined rule; a transmission rule determination unit for determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and a connection control unit for controlling connection with clients and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection-requesting client.
[22] Preferably, the transmission rule determination unit determines the transmission rule by causing respective data packets constituting the fragmented content data to sequentially correspond to the connection target clients included in the list.
[23] Furthermore, the connection-requesting client may connect to the connection target clients on a basis of the connection information included in the list, and thus receive respective data packets constituting the fragmented content data according to the transmission rule.
[24] In accordance with another aspect of the present invention, there is provided a client for receiving and playing content data, the client being connected to at least one of other clients and a management server to receive and play content data, comprising a connection control unit for requesting specific content data which has been previously fragmented according to a predetermined rule from the management server, receiving a list of connection target clients to be connected and a transmission rule causing respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list from the management server, connecting to the connection target clients included in the list, and thus requesting the data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; a data reception unit for receiving respective data packets from the connection target clients; a data combination unit for combining the data packets received through the data reception unit with each other; a data playback unit for playing the data packets received through the data reception unit in a sequence of original content data; and a lazy data processing unit for verifying lazy data, which is a data packet that is not normally received from the connection target clients, and transmitting information about the lazy data to the management server through the connection control unit.
[25] Preferably, the lazy data processing unit is operated such that reception threshold
time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, a connection to the connection target client is released, and thus lazy data is verified.
[26] Furthermore, the connection control unit may connect to the management server to request connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receive information about the other connection target client, connect to the other connection target client on a basis of the connection information, and thus request data packets corresponding to the connection- released connection target client from the other connection target client.
[27] Furthermore, the data reception unit may receive the requested data packets, and the data playback unit plays the received data packets in a sequence of original content data.
Advantageous Effects
[28] Accordingly, the present invention can provide a method and system for controlling the connection between clients, which can first fragment the data requested between a client and a server or between different clients according to predetermined rule, and can receive respective data packets, obtained through fragmentation, from a plurality of clients or the server in a distributed manner, thus more rapidly transmitting data.
[29] Further, the present invention can provide a method and system that can first fragment data requested between a client and a server or between different clients according to predetermined rule and can play respective data packets obtained through fragmentation while separately receiving the data packets from a plurality of clients or the server in a distributed manner, and that can stably receive and play data even when problems occur in the connection to a specific client or the server. Brief Description of the Drawings
[30] FIG. 1 is a diagram showing the overall construction of a method and system for controlling the connection between a client and a server according to the present invention;
[31] FIG. 2 is a flowchart showing a process in which a connection-requesting client 10 connects to a management server 20 to receive a connection target client list and a transmission rule, and thus connects to other clients to receive requested content data according to the transmission rule;
[32] FIGS. 3 and 4 are diagrams showing examples of a connection target client list and a transmission rule;
[33] FIG. 5 is a diagram showing an example of the configuration of fragmented content data;
[34] FIG. 6 is a flowchart showing the case where a threshold time period is set and a data packet is not received within the threshold time period; and
[35] FIG. 7 is a block diagram showing the detailed construction of a management server 20 and a connection- requesting client 10. Best Mode for Carrying Out the Invention
[36] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
[37] FIG. 1 is a diagram showing the overall construction of a method and system for controlling the connection between a client and a server according to the present invention.
[38] Referring to FIG. 1, a management server 20, a connection-requesting client 10, and a plurality of clients 30, 40, and 50 are connected to each other.
[39] The connection-requesting client 10 denotes a client which connects to the management server 20 and requests specific content data from the management server 20. The management server 20 has various types of client information, including connection information of a plurality of different connectable clients 30, 40 and 50, and processes various types of functions related to connection control, such as by generating both a list of connection targets to which the connection-requesting client 10 must connect and a transmission rule in response to a specific content data request signal output from the connection-requesting client 10, and by transmitting the connection target client list and the transmission rule to the connection-requesting client 10.
[40] Here, the term 'connection target client list' means a list including connection information, such as the IP addresses of clients, selected according to predetermined rule from among different connectable clients 30, 40 and 50, for which various types of client information, including connection information, are included in the management server 20.
[41] Further, the term 'transmission rule' means a rule indicating which data is to be received from respective clients by the connection-requesting client 10 when the connection-requesting client 10 connects to the clients included in the connection target client list.
[42] Meanwhile, in the present invention, content data that is transmitted or received between clients is fragmented according to predetermined rule. That is, content data stored in respective clients is fragmented into units having, for example, a uniform size, and respective data packets, obtained through fragmentation, are distributed and
transmitted from respective clients to the connection-requesting client 10 according to the above-described transmission rule.
[43] When the connection-requesting client 10 receives the connection target client list and the transmission rule from the management server 20, it connects to the clients included in the connection target client list (it is assumed in FIG. 1 that all of the clients 30, 40, and 50 are selected), establishes respective sessions 1, 2, and 3, and receives respective data packets from the clients 30, 40 and 50 in a distributed manner.
[44] FIG. 2 is a flowchart showing the process in which the connection-requesting client
10 connects to the management server 20 according to the connection status of FIG. 1 to receive a connection target client list and a transmission rule, and thus connects to other clients to receive requested content data according to the transmission rule.
[45] First, the connection-requesting client 10 connects to the management server 20 and requests specific content data from the management server 200 at step SlOO. The management server 20 selects other clients, having content data requested by the connection-requesting client 10 (hereinafter referred to as 'connection target clients'), at step Sl 10, and determines the transmission rule at step S 120.
[46] Here, the step Sl 10 of selecting the connection target clients is performed by selecting some clients from among clients having the content data, requested by the connection-requesting client 10, according to predetermined rule. For example, a client having a public IP address can be primarily selected.
[47] Further, as the methods of selecting connection target clients at step Sl 10, a method of selecting clients having IP addresses, upper bits of which are identical to those of the IP address of the connection-requesting client for a predetermined length, as connection target clients, can be used. The case where the upper bits of the IP addresses are identical to each other for a predetermined length means that respective clients are provided with Internet service by the same Internet service provider, or that the respective clients are included in the same network, such as a Local Area Network (LAN), and thus a higher data transfer rate can be realized when the clients are connected to each other.
[48] Further, as the methods of selecting connection target clients at step Sl 10, a method of primarily selecting a client, the bandwidth of which is equal to or greater than a predetermined threshold, as a connection target client can be used. In this case, either download bandwidth or upload bandwidth can be used as the bandwidth. Since the connection target client transmits data to the connection-requesting client, it is preferable to use upload bandwidth. However, when the actual measurement of upload bandwidth data is difficult, it is possible to select a connection target client using download bandwidth in consideration of the expectation that upload bandwidth will be correlated somewhat with download bandwidth.
[49] Meanwhile, as the methods of selecting connection target clients at step Sl 10, a method of selecting connection target clients using a reference coefficient which is set for each client to increase by a predetermined value, for example, 1, whenever each client is set to a connection target client, can be used. Further, a method of decreasing a corresponding reference coefficient by a predetermined value, for example, 1, at regular intervals, for example, every minute, after the reference coefficient has finally been referred to, is used, and thus the client that has been least used recently can be determined. A client notifies the management server 20 of the number of sessions, in which data is transmitted by the client, at predetermined intervals, thus enabling the management server 20 to change the reference coefficient. Through this method, a client, the reference coefficient of which falls within a predetermined range, may be selected as a connection target client, or alternately, a client having the lowest reference coefficient may be primarily selected as a connection target client. Such a reference coefficient is used, and thus a specific client is prevented from being concentrically selected as a connection target client.
[50] Meanwhile, the method using a reference coefficient can be used together with the above-described methods. That is, the method can be configured such that clients, the reference coefficients of which fall within a predetermined range, are primarily selected as connection target clients, and, of the selected connection target clients, clients having public IP addresses, clients having IP addresses, upper bits of which are identical to those of the IP address of the connection-requesting client for a predetermined length, or clients having bandwidths which are equal to or greater than a predetermined threshold can be selected as ultimate connection target clients.
[51] Further, when the number of clients that can be selected as connection target clients is not sufficient due to various factors, such as the case where the number of clients, the reference coefficients of which fall within a predetermined range, is not sufficient, the management server 20 can select itself as a connection target client.
[52] Through the above method, the management server 20 creates the connection target client list, including connection information, such as the IP addresses of the connection target clients to which the connection-requesting client 10 must connect.
[53] Meanwhile, the step S 120 of determining a transmission rule is performed to determine connection target clients from which respective data packets constituting the specific fragmented content data are to be received, as described above, and means that respective data packets are caused to correspond to at least one of the connection target clients included in the connection target client list.
[54] As an example of such a correspondence method, a method of sequentially receiving data packets constituting content data from three connection target clients when the number of connection target clients is 3 can be performed. That is, the first
connection target client can be caused to correspond to receive 1st, 4th, 7th, 10th, ..., data packets, the second connection target client can be caused to correspond to receive 2nd, 5th, 8th, 1 lth, ..., data packets, and the third connection target client can be caused to receive 3rd, 6th, 9th, 12th, ..., data packets.
[55] Further, other correspondence methods can be used in addition to such an equivalent sequential correspondence method. For example, various correspondence methods, such as a method of causing the first connection target client to correspond to data packets so as to receive 1st, 2nd, 5th, 6th, 9th, 10th, ..., data packets, causing the second connection target client to correspond to data packets so as to receive 3rd, 7th, 1 lth, ..., data packets, and causing the third connection target client to correspond to data packets so as to receive 4th, 8th, 12th, ..., data packets can be used. That is, the management server 20 merely creates a transmission rule causing all data packets constituting content data to correspond to at least one of connection target clients. Of course, the management server 20 preferably determines the transmission rule with reference to various states, such as bandwidth or the number of sessions of each client, at the time of creating the transmission rule, as described above.
[56] Examples of the connection target client list and a transmission rule are shown in
FIGS. 3 and 4.
[57] Referring to FIGS. 3 and 4, it can be seen from the connection target client list that two clients are selected, and that IP addresses, indicating connection information thereof, are included in the connection target client list, together with the clients. Further, transmission rules are included together in the list with respect to respective connection target clients. FIG. 3 shows that data packets alternately and sequentially correspond to clients 1 and 2 in such a way that odd-numbered data packets correspond to the client 1, and even-numbered data packets correspond to the client 2. FIG. 4 shows the case where data packets do not sequentially and regularly correspond to clients. Through FIG. 4, it can be seen that a client 1 corresponds to 1st, 2nd, 3rd, 5th, 6th, 7th, 9th, 10th, and 1 lth data packets, and a client 2 corresponds to 4th, 8th, and 12th data packets.
[58] FIGS. 3 and 4 illustrate the case where the number of data packets is 12, and all data packets are arranged and included in the list, but it will be apparent that, when transmission rules exhibit predetermined regularity, such as in odd-numbered or even- numbered packets, only the rules may be included in the list, without the data packets being individually arranged.
[59] Meanwhile, FIG. 5 illustrates the configuration of fragmented content data, which shows that all of the content data 310 of FIG. 5 is composed of n data packets.
[60] The content data 310 may include a header field 300 containing typical information about data, and the header field 300 may contain information about the number of data
packets, the size of each data packet, etc. Further, each of the data packets may include a packet header field 310. Each packet header field 310 may contain information about each data packet, such as the size or the order thereof. The connection-requesting client 10 can uses the header field 300 and each packet header field 310 to verify whether a specific data packet and all of the content data have been satisfactorily received by checking the header field 300 and each packet header field 310.
[61] Referring back to FIG. 2, when the step Sl 10 of selecting the connection target client list and the step S 120 of determining the transmission rule have been completed in this way, the management server 20 transmits the connection target client list and the transmission rule to the connection-requesting client 10 at step S 130.
[62] The connection-requesting client 10 receives and verifies both the connection target client list and the transmission rule, connects to the connection target clients, included in the connection target client list, on the basis of the connection information, such as the IP addresses thereof, establishes sessions with the connection target clients, and requests data packets constituting the content data from respective connection target clients according to the transmission rule, and thus receives the data packets from the connection target clients in a distributed manner at steps S 140 and S 150.
[63] When the reception of the data packets from respective connection target clients has been completed, the received data packets are combined with each other at step S 160 to constitute the complete content data, and thus a desired operation, such as the playback of the content data at step S 170, is performed. The combination of the data packets at step S 160 can be performed using information of the header fields, as described above with reference to FIG. 5.
[64] If any of the data packets are not satisfactorily received by the time a predetermined period has elapsed at the step S 160 of combining data packets with each other, information related to this reception failure is transmitted to the management server 20. The management server 20 selects and creates a connection target client list and a transmission rule again, transmits the connection target client list and the transmission rule to the connection-requesting client 10, and then repeats steps Sl 10 to S 160 until data packets which have not yet been received are satisfactorily received.
[65] Meanwhile, in the case of real-time streaming service, which enables data packets to be simultaneously received and played, the combination procedure in the connection-requesting client 10 is also required, as described above. In the case of streaming service, the sequence of playback of respective data packets is determined, and thus the setting and management of threshold time periods must be precisely performed for respective data packets.
[66] FIG. 6 illustrates this procedure, which shows that a sequence, in which respective data packets constitute content data, is determined, and thus respective threshold time
periods can be differently set according to this sequence.
[67] While sessions are established at steps S 140 and S 150 in FIG. 2, and data packets are received from connection target clients, the connection-requesting client checks and verifies data packets that are currently being received, and plays the received data packet(s) if first data packet(s) corresponding to a minimum unit size required for operation, such as playback through streaming service, is received. In this case, the minimum unit size required for operation, such as playback through streaming service, may differ from the size of each data packet obtained through fragmentation. When the size of each data packet is less than the minimum unit size required for streaming service, at least two data packets must be received. If the data packet(s) corresponding to the minimum unit size required to perform streaming service is received, the connection-requesting client determines threshold time periods for data packets corresponding to a subsequent unit and verifies whether data packets corresponding to the subsequent unit have arrived at the client while playing the received data packets at step S200.
[68] For example, it is assumed that the size of a single data packet is equal to or greater than a minimum unit size required for streaming service. If the first data packet is received, the connection-requesting client 10 sets threshold time periods during which second, third, fourth,... data packets must arrive at the client, depending on the playback period of the first data packet while playing the first data packet. When the playback period of the first data packet is 30 seconds, the time period for which the second data packet must be received is set to a period of 15 seconds from the current time point. When the second data packet is not received within 15 seconds, the connection-requesting client releases the connection to a connection target client, which was determined to have transmitted the second data packet, notifies the management server 20 of this fact, and requests another connection target client list from the management server at step S210.
[69] The management server 20 selects another connection target client to which the connection-requesting client 10 must connect, newly determines a transmission rule if necessary, and transmits information about the selected connection target client and the transmission rule to the connection-requesting client 10. The connection-requesting client 10 connects to the selected connection target client and receives a data packet at step S220. In this case, when a specific data packet is not received within a threshold time period, it is preferable to select new connection target clients for all data packets included in the transmission rule corresponding to the connection target client that is supposed to transmit the corresponding data packet. For example, when the connection target client that is supposed to transmit a second data packet is supposed to transmit even-numbered data packets, the management server 20 also sets a new connection
target client and a new transmission rule for the remaining data packets, that is, 4th, 6th, 8th, ..., data packets, and transmits the set connection target client and transmission rule to the connection-requesting client 10, thus enabling the connection target client list and the transmission rule to be updated. Of course, in this case, the connection target client can be newly added, and the transmission rule can also vary.
[70] FIG. 7 is a block diagram showing the detailed construction of the management server 20 and the connection-requesting client 10 for performing the above-described operation.
[71] Referring to FIG. 7, the management server 20 includes a connection control unit
21 for controlling the connection to clients, a client list management unit 22 for managing information about all of the clients connected to the management server 20, selecting connection target clients to which the connection-requesting client 10 must connect, and generating a connection target client list including connection information thereof, and a transmission rule determination unit 23 for generating and managing a transmission rule that indicates connection target clients from which the connection- requesting client 10 receives respective data packets constituting the fragmented content data.
[72] Meanwhile, the management server 20 itself can be a connection target client for transmitting content data requested by the connection-requesting client 10. When there is no client having content data requested by the connection-requesting client 10, or when no suitable client is selected using the above-described methods of selecting connection target clients, the management server 20 can itself function to transmit, as a connection target client, all of the content data or specific data packets to the connection-requesting client by including connection information thereof in a client list. For this operation, the management server 20 may further include a component such as a data transmission/management unit 24.
[73] Meanwhile, the connection-requesting client 10 includes a connection control unit
11 for controlling the connection to the management server 20 and other clients, a data reception unit 12 for receiving data packets from other clients or from the management server 20, a data combination unit 13 for combining the data packets, received from the data reception unit 12, with each other, and a lazy data processing unit 14 for checking data packets that are not normally received from the data combination unit 13 (lazy data) and performing post-processing, such as by creating information about the lazy data and by transmitting the created information to the management server 20 through the connection control unit 11. Further, although not shown in detail in FIG. 7, it will be apparent that the connection-requesting client 10 may further include a playback unit for playing received data packets.
[74] With reference to FIG. 7, the above operation, described with reference to FIGS. 1
to 6, is described in brief below. First, the connection-requesting client 10 connects to the connection control unit 21 of the management server 20 through the connection control unit 11 to request specific content data. The client list management unit 22 and the transmission rule determination unit 23 of the management server 20 respectively determine connection target clients to which the connection-requesting client 10 must connect, and a transmission rule according to the requested content data, and transmits both a list including information about connection to the determined connection target clients and the transmission rule to the connection-requesting client 10.
[75] The connection-requesting client 10 establishes sessions with the connection target clients on the basis of the received list and transmission rule, receives respective data packets through the data reception unit 12, combines the received data packets with each other through the data combination unit 13, checks for the presence of data that is not normally received if there is data that is not normally received, through the lazy data processing unit 14, creates information about corresponding lazy data, and notifies the management server 20 of the information about the lazy data through the connection control unit 11, receives a new connection target client list and a new transmission rule, and thus receives data packets again.
[76] Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.
Claims
[1] A method of controlling connection between clients in a management server being connected to at least one client, comprising the steps of: selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected, wherein the connection target clients include the content data requested by the connection-requesting client and the content data is fragmented by a predetermined rule; determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection-requesting client.
[2] The method according to claim 1, wherein the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients having public Internet Protocol (IP) addresses as the connection target clients.
[3] The method according to claim 1, wherein the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients having IP addresses, upper bits of which are identical to those of an IP address of the connection-requesting client for a predetermined length, as the connection target clients.
[4] The method according to claim 1, wherein the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients having bandwidths that are equal to or greater than a predetermined threshold as the connection target clients.
[5] The method according to claim 1, wherein the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select clients, having reference coefficients falling within a predetermined range, as the connection target clients, each of the reference coefficients being set to increase by a predetermined value with respect to each client whenever the client is set to a connection target client.
[6] The method according to claim 5, wherein each of the reference coefficients of the clients is set to decrease by a predetermined value when the reference coefficient is not referred to for a predetermined period after having finally been referred to.
[7] The method according to claim 1, wherein the step of selecting at least one connection target clients to which a connection-requesting client connecting to the management server and requesting a content data will be connected is performed to select the management server as a connection target client.
[8] The method according to claim 1, wherein, in the step of determining the transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients, the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list.
[9] The method according to claim 8, wherein the transmission rule causes respective data packets constituting the fragmented content data to sequentially correspond to connection target clients included in the list.
[10] The method according to claim 8 or 9, wherein the connection-requesting client connects to the connection target clients on a basis of the connection information included in the received list, and thus receives respective data packets constituting the fragmented content data according to the transmission rule.
[11] A method of receiving content data in a client connected to at least one client and a management server, comprising the steps of: connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to respective connection target clients on a basis of the connection information included in the list, and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and receiving the data packets constituting the fragmented content data from respective connection target clients.
[12] The method according to claim 11, wherein the transmission rule causes respective data packets constituting the fragmented content data to sequentially
correspond to the connection target clients included in the list.
[13] The method according to claim 11, after the step of receiving respective data packets constituting the fragmented content data from respective connection target clients, further comprising the step of combining the data packets received from respective connection target clients into original content data.
[14] A method of receiving and playing content data in a client connected to at least one client and a management server in real time, comprising the steps of: connecting to the management server and requesting specific content data; receiving a connection target client list including connection information of connection target clients to which the requesting client will be connected and a transmission rule from the management server, wherein the content data is fragmented according to a predetermined rule and the transmission rule causes respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list; connecting to the connection target clients on a basis of the connection information included in the list and thus requesting data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; and playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients.
[15] The method according to claim 14, wherein the step of playing received data packets in a sequence of original content data while receiving respective data packets constituting the fragmented content data from the connection target clients is performed such that reception threshold time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, the requesting client releases a connection to the connection target client, connects to the management server, requests connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receives information about the other connection target client, connects to the other connection target client on a basis of the connection information, requests data packets corresponding to the connection-released connection target client, and plays received data packets in a sequence of original content data while receiving the data packets.
[16] A system for controlling connection between clients, the system being connected
to at least one client to control the connection between clients, comprising: a client list management unit for managing clients connected thereto, and selecting at least one connection target clients to which a connection-requesting client requesting specific content data will be connected, wherein the connection target clients have content data requested by the connection-requesting client and the content data is fragmented according to predetermined rule; a transmission rule determination unit for determining a transmission rule by which the connection-requesting client will receive the fragmented content data from the selected connection target clients; and a connection control unit for controlling connection with clients and transmitting a connection target client list including connection information of the selected connection target clients and the determined transmission rule to the connection- requesting client.
[17] The system according to claim 16, wherein the transmission rule determination unit determines the transmission rule by causing respective data packets constituting the fragmented content data to sequentially correspond to the connection target clients included in the list.
[18] The system according to claim 16 or 17, wherein the connection-requesting client connects to the connection target clients on a basis of the connection information included in the list, and thus receives respective data packets constituting the fragmented content data according to the transmission rule.
[19] A client for receiving and playing content data, the client being connected to at least one of other clients and a management server to receive and play content data, comprising: a connection control unit for requesting specific content data which has been previously fragmented according to a predetermined rule from the management server, receiving a list of connection target clients to be connected and a transmission rule causing respective data packets constituting the fragmented content data to correspond to any one of the connection target clients included in the list from the management server, connecting to the connection target clients included in the list, and thus requesting the data packets constituting the fragmented content data from respective connection target clients according to the transmission rule; a data reception unit for receiving respective data packets from the connection target clients; a data combination unit for combining the data packets received through the data reception unit with each other; a data playback unit for playing the data packets received through the data
reception unit in a sequence of original content data; and a lazy data processing unit for verifying lazy data, which is a data packet that is not normally received from the connection target clients, and transmitting information about the lazy data to the management server through the connection control unit.
[20] The system according to claim 19, wherein the lazy data processing unit is operated such that reception threshold time periods which is predicted when respective data packets are played in the sequence of the original content data are set for respective data packets received from the connection target clients and if data packets are not received from a connection target client within the reception threshold time periods, a connection to the connection target client is released, and thus lazy data is verified.
[21] The system according to claim 20, wherein the connection control unit connects to the management server to request connection information of some other connection target client capable of transmitting the data packets corresponding to the connection-released connection target client from the management server, receives information about the other connection target client, connects to the other connection target client on a basis of the connection information, and thus requests data packets corresponding to the connection-released connection target client from the other connection target client.
[22] The system according to claim 21, wherein the data reception unit receives the requested data packets, and the data playback unit plays the received data packets in a sequence of original content data.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060077987A KR100804075B1 (en) | 2006-08-18 | 2006-08-18 | Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same |
KR10-2006-0077987 | 2006-08-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2008020708A1 true WO2008020708A1 (en) | 2008-02-21 |
Family
ID=39082213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2007/003902 WO2008020708A1 (en) | 2006-08-18 | 2007-08-14 | Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100804075B1 (en) |
WO (1) | WO2008020708A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101187506B1 (en) | 2008-10-24 | 2012-10-02 | 에스케이플래닛 주식회사 | Method for Providing of Large Capacity Contents in Converged Personal Network Service Environment, and System, Converged Personal Network Service Server and Mobile Communication Terminal therefor |
KR101050155B1 (en) | 2009-11-10 | 2011-07-19 | 한국인터넷진흥원 | Data Distributed Storage Management System and Distributed Storage Management Method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030047042A (en) * | 2001-12-07 | 2003-06-18 | 삼성전자주식회사 | System and method for transmitting and receiving data using plural mobile stations |
KR20050002456A (en) * | 2003-06-30 | 2005-01-07 | 주식회사 나우콤 | Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded |
WO2005033955A1 (en) * | 2003-09-30 | 2005-04-14 | Sony Corporation | Content acquisition method |
US20060053209A1 (en) * | 2004-09-03 | 2006-03-09 | Microsoft Corporation | System and method for distributed streaming of scalable media |
KR20060057563A (en) * | 2006-05-08 | 2006-05-26 | 서필정 | The system and method that fragments data into unit and transmits it between client and server |
-
2006
- 2006-08-18 KR KR1020060077987A patent/KR100804075B1/en not_active IP Right Cessation
-
2007
- 2007-08-14 WO PCT/KR2007/003902 patent/WO2008020708A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030047042A (en) * | 2001-12-07 | 2003-06-18 | 삼성전자주식회사 | System and method for transmitting and receiving data using plural mobile stations |
KR20050002456A (en) * | 2003-06-30 | 2005-01-07 | 주식회사 나우콤 | Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded |
WO2005033955A1 (en) * | 2003-09-30 | 2005-04-14 | Sony Corporation | Content acquisition method |
US20060053209A1 (en) * | 2004-09-03 | 2006-03-09 | Microsoft Corporation | System and method for distributed streaming of scalable media |
KR20060057563A (en) * | 2006-05-08 | 2006-05-26 | 서필정 | The system and method that fragments data into unit and transmits it between client and server |
Also Published As
Publication number | Publication date |
---|---|
KR100804075B1 (en) | 2008-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101478556B (en) | Method and apparatus for downloading peer-to-peer transmitted data slice | |
CN100546236C (en) | The filling perforation method for testing and the system again of best endeavors that is used for the time of knowing of network service | |
US7895324B2 (en) | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network | |
KR100715674B1 (en) | Load balancing method and software steaming system using the same | |
US7519724B2 (en) | Method, system and article for dynamic real-time stream aggregation in a network | |
US20050044250A1 (en) | File transfer system | |
US8732329B2 (en) | Media player with integrated parallel source download technology | |
US20040205071A1 (en) | File distribution system, file delivery server apparatus, and reception client apparatus | |
US20080228912A1 (en) | Enhanced Quality Reporting for Transmission Sessions | |
CN108696772B (en) | Real-time video transmission method and device | |
CN108199925A (en) | A kind of data transmission method for uplink, method of reseptance and device | |
KR100947317B1 (en) | Operating method of contents on demand system | |
US10484440B2 (en) | Content distribution system and method | |
CN102075338A (en) | Distributed network-based live broadcasting method and device | |
JP2013218735A (en) | Information collecting system | |
US20070160048A1 (en) | Method for providing data and data transmission system | |
JP2009545203A (en) | Multi-party cooperative peer-to-peer video streaming | |
JP5724139B2 (en) | P2P Internet live broadcast service system and method for forming a P2P tree structure according to the number of sessions | |
CN108449408B (en) | Game acceleration system based on multipath | |
JP4988487B2 (en) | Data transfer method, apparatus, and program | |
WO2010041469A1 (en) | Content distribution system, content distribution method, and computer program | |
US8320375B2 (en) | Method and device for distributing data segment of data stream to group of users | |
US8280960B2 (en) | Game system, game terminal therefor, and server device therefor | |
CA2577287C (en) | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network | |
CN101697553B (en) | Data transmission method under P2P environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07793509 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07793509 Country of ref document: EP Kind code of ref document: A1 |