CN1122390C - Multiplex circular data transmission method and system for data network - Google Patents

Multiplex circular data transmission method and system for data network Download PDF

Info

Publication number
CN1122390C
CN1122390C CN 01111023 CN01111023A CN1122390C CN 1122390 C CN1122390 C CN 1122390C CN 01111023 CN01111023 CN 01111023 CN 01111023 A CN01111023 A CN 01111023A CN 1122390 C CN1122390 C CN 1122390C
Authority
CN
China
Prior art keywords
data
client computer
server
multicast delivery
scale
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN 01111023
Other languages
Chinese (zh)
Other versions
CN1312633A (en
Inventor
顾红波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 01111023 priority Critical patent/CN1122390C/en
Publication of CN1312633A publication Critical patent/CN1312633A/en
Priority to PCT/CN2002/000184 priority patent/WO2002078263A1/en
Application granted granted Critical
Publication of CN1122390C publication Critical patent/CN1122390C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a multiplex circular data transmission method in a data network. The method comprises the following steps: a. storing at least a section of data to be transmitted with a 'scale' by a server; b. providing relevant catalog information in an unary or multiplex transmission mode; c. respectively transmitting the data to be transmitted to corresponding multiplex transmission groups in circular transmission through a network; d. randomly adding at least one multiplex transmission group to a client machine so as to receive the data according to the obtained catalog information and recording a 'receiving initial point' scale at the beginning of receiving so as to check and connect the data. The method can be used for greatly relieving the load of the server and a network backbone and can be used for quickly and reliably downloading the data at any time, and the data can be used as soon as possible; therefore, the client at the client machine terminal has the feel that the transmission is timely, convenient and reliable just like the unary transmission.

Description

Utilize the method and the system thereof of multicast delivery circular data transmission in the data network
The method and the system thereof that the present invention relates to utilize multicast delivery cyclic transfer in the technical field of data transmission in the data network, particularly data network and receive data.
About multicast delivery (multicast) and monocular transmission (unicast) technology, the Cisco ios network agreement solution first volume: IP (828 pages of network engineering book series) has done following explanation:
Traditional IP agreement communication only allows a host to send packets of information (being that monocular sends) to single host, perhaps sends packets of information (being broadcast transmission) to all hosts.And the IP multicast delivery provides the third solution----to allow a host to send bag (promptly group sends) to a certain subclass of all hosts.Host in the subclass is called the group membership.The bag that sends to the group membership is by single multi-carrier group address designation.The bag of multicast delivery sends group to optimal reliability, and this point transmits similar to monocular.
The multicast delivery network environment is made up of sender and recipient.Any host is no matter its group membership whether can be the sender.But the recipient can only be the group membership.
All recipients of multi-carrier group are assigned to same multicast delivery address, and the sender as destination address, sends in group all members with bag with this address.
The group membership of multi-carrier group is dynamic change, and host can add or withdraw from group at any time.Quantity and position and unrestricted to the multicast delivery group membership.Same host can be the member of different multi-carrier groups more than simultaneously.
Its composition of different groups and activity have nothing in common with each other, and become in time.A group can have activity for a long time, also can in the extremely short time activity be arranged.Member in the group often changes.The group that comprises the member may not have activity yet.
Network interconnection technical manual (414 pages of network engineering book series) also has corresponding introduction.Simple multicast delivery routing protocol (SMRP) is a kind of transport layer protocol, and it provides route for multimedium data flow on the Apple Talk.It supports Macintosh to consult (QTC) technology fast.SMRP relies on the following protocol service of network layer, for the multicast delivery datagram provides connectionless best the transmission.Especially, SMPR has simplified the transmission of data from single seedbed to a plurality of destinations.
This noun of multicast delivery (multicast) agreement refers to that mainly TCP/IP protocol suite allows a host to send the transmission means of bag (promptly group sends) to a certain subclass of all hosts at present, but with TCP/IP similarly other protocol suites such as AppleTalk protocol family also possess the agreement of similar functions, be called: " simple multicast delivery routing protocol (SMRP) ".Other protocol suites also can be developed and the identical or similar function of multicast delivery (multicast) in addition, for example: the IPX/SPX protocol suite; Ethernet protocol (ETHERNET) in the middle of the second layer agreement of network; The CDMA and the satellite data host-host protocol that are mainly used in wireless transmission not only can utilize its address packets, can also utilize its carrier frequency to divide into groups.Nearly all in addition protocol suite has possessed monocular and has transmitted (point-to-point transmission) function.
So multicast delivery (multicast) and monocular that the present invention is not limited only to based on TCP/IP protocol suite transmit (unicast) agreement.This method is applicable to any data network that similar multicast delivery and monocular transmitting function can be provided.
Present main mode at the Internet transmitting data is monocular transmission as shown in Figure 1, just transmits data between server and the client computer one to one.Each client computer is to the server requirement data, and server just sends a piece of data to this client computer specially.For example, our browsing page or the mode that transmits with monocular when carrying out video request program by network transmit data, and client computer sends request to web page server, and web page server sends the webpage that it is asked to the client computer of the request of sending.The advantage of monocular load mode is: when server load was not heavy, client computer required data server to send at any time at any time, and response in time; Owing to transmit one to one, so the communication bandwidth (speed) between server and the client computer can be adjusted according to both sides' situation.Wrong bag retransmission mechanism finds that packet wrong and that lose in time retransmits.
But when the client computer of a large amount of (tens thousand of, millions of) in same period during to the server requirement data, tens thousand of, millions of parts for the requirement that responds these client computer must send identical data of server, increased the weight of the load of server and network backbone, and the requirement of client computer is many more, and load is just big more.Present video on-demand system mainly is to transmit data in the mode that monocular transmits, and client computer sends request to ordering server, and ordering server sends its video of asking clothes data to the client computer of the request of sending.This system than the superior part of traditional television system is, the content of client's program request at any time oneself perception interest, and needn't wait for the broadcast of certain program.But this type systematic also is subjected to the restriction of many technical conditions, it at first is the deficiency of server-capabilities, best ordering server can provide video-on-demand service to 1000 clients at most at present, resemble the such program of Chinese Central Television's Spring Festival Party or news hookup, if video-on-demand service is provided then needs the hundreds of thousands station server that service is provided, this almost is impossible.Secondly data network Anywhere also can't be born heavy burden like this.
So need the situation of download should utilize the mode data download of multicast delivery (multicast) for this a large amount of clients.When server sent data in the mode of multicast delivery as shown in Figure 2, all client computer that added multi-carrier group can receive this piece of data simultaneously.Adopt the multicast delivery mode, server only sends a piece of data, so the load of server is not heavy.Data only transmit portion at network backbone, and the component that passes to network just duplicates distribution, so also alleviated the burden of network backbone.
Multicast delivery also comes with some shortcomings, when server began to send data, all client computer that need this piece of data must be to know that in advance server sends the zero-time of data, and in advance or add this multi-carrier group simultaneously, start anew to receive data, just can receive a complete data.If have one or several client computer to fail in time to add this multi-carrier group, then they will can not receive complete data.Resemble above-mentioned video on-demand system, require in time to download, in time use data, also can't meet the demands according to the usual way multicast delivery.
Secondly server sends the used bandwidth of data and can not adjust at bandwidth that each client had, All Clients receives the used bandwidth of data must send the employed bandwidth of data more than or equal to server, otherwise the data that client computer can't complete reception server sends.
The multicast delivery server does not have mistake bag retransmission mechanism, after client computer is received error data packets, can't require server to retransmit this packet, so just is difficult to guarantee the integrality and the correctness of data.
The objective of the invention is to overcome the above-mentioned deficiency of prior art, the method of utilizing the multicast delivery circular data transmission and system thereof based on data network are provided, by using this method, the load that can utilize multicast delivery to alleviate server and network backbone, the client that can make again at client computer one end sensation is timely, convenient, reliable as using monocular to transmit.
The method of in data network, utilizing multicast delivery cyclic transfer data that the present invention proposes, take following steps:
A, server with the storage of at least one section band to be transmitted " scale " in its memory;
B, server transmit with monocular or the mode of multicast delivery provides the relevant directory information that send data to be passed;
The data that c, server will need to transmit transmit to corresponding multi-carrier group respectively by network;
D, during transmitting data, server transmits each multi-carrier group and starts anew once more to transmit after finishing, and so moves in circles; Perhaps when receiving data, just send in cycles, otherwise just stop circulation, when having at least one client computer to receive data once more, just send data once more in cycles as at least one client computer.
Receive data method accordingly with the above-mentioned method of multicast delivery cyclic transfer data of utilizing, it is characterized in that taking following steps
During a, the Server Transport data, the client computer that need to receive certain segment data is from multi-carrier group or directly obtain and the relevant directory information of these group data from server;
B, client computer are according to directory information, the multi-carrier group that adds some or certain several these segment data of transmission, begin to receive this segment data, and note " reception starting point " that begins to receive, perhaps client computer requires server to transmit data with the monocular load mode to it simultaneously.
C, when client computer is utilized multi-carrier group or utilize monocular transmit to receive with one piece of data simultaneously, when some multi-carrier groups or monocular transmit the data that receive and meet or exceed certain corresponding " reception starting point " of this segment data that has received, stop from then on multi-carrier group or monocular and transmit and receive data.
D, received same one piece of data is located to connect at " reception starting point ".
Realize the system of the method for utilizing the multicast delivery circular data transmission that the present invention proposes, comprise the server that inserts data network, forwarding unit and the plurality of client machine of supporting multicast delivery, it is characterized in that: comprise at least one acting server, described acting server is used for receiving and the storage data, and transmits data to multi-carrier group; Or described acting server can send data to some branch's biography circulation of multi-carrier group as the part of multi-carrier group.
The advantage of the inventive method is as follows compared with the prior art:
The inventive method is compared with the video on-demand system of existing use monocular load mode, uses this method to reduce the load of server and network backbone widely.
Compare with existing use monocular load mode browsing page, use this method to reduce the load of server and network backbone widely, and make the hacker be difficult to attack server, because client computer just adds multi-carrier group, and obtain the duplicate of a piece of data, its request not necessarily needs to be dealt into server, so server can be done strict more management to its inlet.
Compare with the existing mode of multicast delivery mode data download of directly using simply, use quickly and reliably data download of this method; At any time, data download in time; Bring into use data as soon as possible; Client's sensation at client computer one end is timely, convenient, reliable as using monocular to transmit.
Some notions that below just the present invention relates to are made description below.
1, multicast delivery
This noun of multicast delivery (multicast) agreement refers to that mainly TCP/IP protocol suite allows a host to send the transmission means of bag (promptly group sends) to a certain subclass of all hosts at present, but with TCP/IP similarly other protocol suites such as AppleTalk protocol family also possess the agreement of similar functions, be called: " simple multicast delivery routing protocol (SMRP) ".Other protocol suites also can be developed and the identical or similar function of multicast delivery (multicast) in addition, for example: the IPX/SPX protocol suite; Be mainly used in the CDMA of wireless transmission; Ethernet protocol (ETHERNET) in the middle of the second layer agreement of network etc.Nearly all protocol suite has possessed monocular and has transmitted (point-to-point transmission) function.
So multicast delivery (multicast) and monocular that said among the present invention " multicast delivery " is not limited only to based on TCP/IP protocol suite transmit (unicast) agreement.
The inventive method is applicable to any data network that similar multicast delivery and monocular transmitting function can be provided.
Each port of a multicast delivery IP address can transmit different contents, so also can regard each port of same multicast delivery IP address as different multi-carrier group in the method, is used for transmitting different data.
2, server
In the present invention, server is meant: can customer in response the requirement of machine, transmit the equipment of its desired data by data network to client computer, can be an equipment physically, also can be one group of equipment that cooperatively interacts.
3, client computer
In the present invention, client computer is meant: need data, can send request to server by data network, and the equipment of the data that can reception server transmit by network.
Same equipment can be client computer be again server, such as serving as the acting server of transmitting the role.
4, one group of data
In the present invention, one group of data is meant: in most of the cases must make as a whole one or more data blocks of using, they can be files, also can be a plurality of files (for example a web page is exactly to be made up of a plurality of files), can be the data with the document form storage, also can be the data with other form storages.Client computer is not necessarily downloaded one group of data whole, and (for example Inter active Movie need determine that its plot develops (download one piece of data) like this according to spectators' selection, or develops (downloading another segment data) like that.
5, data slot
In the present invention, data slot is meant: client computer receives data flexibly for convenience, and one group of above-mentioned data are divided into a plurality of fragments.
6, one piece of data
In the present invention, above-mentioned one group of data and data fragment of one piece of data general reference.When mentioning one piece of data, both can be that one group of data also can be a data fragment.
7, the data of scale and band scale
Because the particularity of the inventive method, client computer not necessarily begins to receive from the start-up portion of data, so need make client computer can locate the starting point that oneself begins to receive data when adding multi-carrier group and beginning to receive one group or one piece of data.If the data received of client computer are wrong in addition, also can utilize scale to locate mistake is from which point, to which point end.
Can make data tape " scale " with the following methods, but be not limited only to following mode.For example:
(1) in data, adds the data that play " scale label " effect every certain byte.
(2) utilize the serial number of packet (transmit leg was with its sequential delivery of packing when data need be transmitted in network) as " scale label ".
(3) data are divided into a series of small documents, each small documents is exactly one " scale label ".
(4) utilize a certain data point to the byte number of the head of data slot or tail or figure place as natural scale.
(5) can utilize the scale of the time of transmission course, but so just require server with rate transmissioning data stably as nature.
(6) also can the data scale be set the above several modes of integrated use.
8, directory information
In the method, directory information is meant: can receive data rapidly, easily in order to make client computer, the information that server provides to client computer can comprise following information: whether one group of data is divided into a plurality of data slots, is divided into what data fragments altogether; Which segment data can transmit its address and port with the monocular load mode; Which segment data can transmit with the multicast delivery mode, usefulness be which multi-carrier group; Every segment data is transmitted with several multi-carrier groups, usefulness be which multi-carrier group; The length of one a group of data or a data fragment; The current transmission progress of certain multi-carrier group; Use which multi-carrier group can be recycled to starting point of this segment data or the like the soonest.
Server can not provide complete directory information to select for client computer, uses some or certain several multi-carrier group but send data conditions recommend customers machine according to it, perhaps unites and uses monocular to transmit and multicast delivery.
Can adopt a lot of methods to reduce the transmission quantity of directory information, can adopt the method for agreement directory information, for example server transmit every day the news hookup program all relative fixed ground with some or certain several multi-carrier group, client computer only need obtain the whole or relatively-stationary part of relevant directory information once like this, and longer-term storage is in memory, later on client computer just all will have been accepted directory information during this program of program request at every turn, perhaps receives only the relative part that has changed at every turn.
Server and client computer can adopt certain algorithm to reduce the amount of information of directory information, and for example the address of the employed multi-carrier group of each fragment of one group of data is increasing or decreasing IP address or port numbers in order.
Also directory information can be distributed in progressively transmission in the process that receives data in certain section or a few segment data.
9, reception starting point
In the method because server is not necessarily synchronous with the client computer of each reception data to the process that multi-carrier group sends data, most situation is: when a client computer begins from some multicast delivery group of received data, server is in the process that transmits this segment data, so received data (being called: " reception starting point ") in most of the cases are not the starting point of this one piece of data itself when client computer begins to receive data.So client computer needs to utilize " scale " to write down its " reception starting point " as shown in Figure 4, client computer begins to receive data and record " reception starting point " when the time is t1, client computer receives the ending of this segment data when the time is t2, and the start-up portion of this segment data of continuation reception, the data that client computer receives when the time is t3 are circulated again into " reception starting point ".Received data are back parts of this segment data from t1 to t2, and received data are front parts of this segment data from t2 to t3, and inciting somebody to action that two parts locate to couple together at " reception starting point " is exactly complete one piece of data.
10, memory
Memory is meant that all can store or the device of temporary transient stored information in the method, and it can be that independently storage device also can be a part in other devices.
Below in conjunction with accompanying drawing to the detailed description of the invention.
Fig. 1 is the data flow when utilizing monocular load mode data download or video request program at present in the Internet network, and client computer 1, client computer 2, client computer 3 are downloaded same group of data from server respectively; Wherein
Figure C0111102300131
Dotted arrow represents that client computer sends request or sends data to server with the monocular load mode;
Figure C0111102300132
Thin arrow represents that server sends data with the monocular load mode to client computer.
Fig. 2 is the data flow when at present utilizing multicast delivery mode data download or open video conference in the Internet network, and client computer 1, client computer 2, client computer 3 are downloaded same group of data from server respectively; Wherein:
Figure C0111102300133
Thick arrow represents that server sends a piece of data to multi-carrier group;
Figure C0111102300134
Dotted arrow represents that client requests adds multi-carrier group;
Figure C0111102300135
Thin arrow represents that client computer receives the copy of a data of being sent by server.
Fig. 3 is that the present invention utilizes the multicast delivery mode to transmit the schematic diagram of data in the Internet network; Wherein
Figure C0111102300136
Thick arrow represents that server sends a piece of data to multi-carrier group;
Figure C0111102300137
Dotted arrow represents that client requests adds multi-carrier group;
Figure C0111102300138
Thin arrow represents that client computer receives the copy of a data of being sent by server.
Fig. 4 is that client computer utilization " scale " circulation receives schematic diagram data; Wherein
Figure C0111102300139
The expression server from first to last sends one piece of data;
Figure C01111023001310
The expression client computer begins to receive one piece of data with the time of a circulation from random time; The expression client computer is finished follow-up continued access of circulation of reception and is received a part of redundant data; The data that the expression client computer is received are wrong;
Figure C01111023001313
The expression client computer is is heavily received and dispatched the partial data of existing mistake; The scale of expression scale.
Fig. 5 is that the client computer circulation of less bandwidth receives schematic diagram data; Wherein
Figure C01111023001315
A1-3 represents that server transmits the 3rd circulation of the 1st data slot of program A in the multicast delivery mode, and A1-4 represents that server transmits the 4th circulation of the 1st data slot of program A; Wherein
Figure C01111023001316
The expression client computer during this period of time receives this segment data.
Fig. 6 is that the client computer of big bandwidth receives schematic diagram data with a plurality of multi-carrier group circulations; Wherein A1-3 represents the circulation for the third time that server transmits the 1st data slot of program A in the multicast delivery mode, and A1-4 represents that server transmits the 4th circulation of identical data in the multicast delivery mode; B1-3 represents the circulation for the third time that server transmits the 1st data slot of program C in the multicast delivery mode, and C1-3 represents that server transmits the circulation for the third time of the 1st segment data of program C in the multicast delivery mode; The expression client computer during this period of time receives this segment data in the multicast delivery mode.
Fig. 7 is that the client computer of big bandwidth transmits with monocular and the circulation of a plurality of multi-carrier group receives schematic diagram data; Wherein
Figure C0111102300142
A2-3 represents that server transmits the 3rd circulation of the 2nd segment data of program A in the multicast delivery mode, and A1-4 represents that server transmits the 4th circulation of identical data; B1-3 represents that server transmits the 3rd circulation of the 1st segment data of program b, and C1-3 represents that server transmits the 3rd circulation of the 1st segment data of program C; The expression client computer during this period of time receives this segment data in the multicast delivery mode; The expression server transmits the 1st segment data certificate of program A to certain client computer with the monocular load mode; Owing to be that start-up portion from data begins to download, so client computer can get started the use data.
Fig. 8 is that the client computer of big bandwidth utilizes monocular to transmit the partial data of the 1st fragment that receives one group of data, uses a plurality of multicast delivery group of received schematic diagram datas simultaneously; Wherein
Figure C0111102300145
A2-3 represents that server transmits the 3rd circulation of the 2nd segment data of program A in the multicast delivery mode, and A1-4 represents that server transmits the 4th circulation of identical data; B1-3 represents that server transmits the 3rd circulation of the 1st segment data of program b, and C1-3 represents that server transmits the 3rd circulation of the 1st segment data of program C; The expression client computer during this period of time receives this segment data in the multicast delivery mode;
Figure C0111102300147
The expression server transmits the front part of the 1st data slot of program A to certain client computer with the monocular load mode; Owing to be that start-up portion from data begins to download, so client computer can get started the use data.
Fig. 9 utilizes a plurality of multi-carrier groups to transmit with one piece of data and client computer to receive schematic diagram; Wherein A-1 represents the 1st circulation that server transmits program A in the multicast delivery mode, and A-2 represents that server transmits the 2nd circulation of identical data in the multicast delivery mode; The expression client computer during this period of time receives this segment data in the multicast delivery mode; (a) (c) (d) (e) represents 5 multi-carrier groups respectively; The scale of expression scale.
Figure 10 is that the client computer of big bandwidth is with a plurality of multicast delivery group of received schematic diagram datas; Wherein (a) A1-3 (a) expression server transmits the 1st data slot of program A with multi-carrier group a circulation for the third time; A1-3 (b) expression server transmits the 1st data slot of program A with multi-carrier group b circulation for the third time; A1-3 (c) expression server transmits the 1st data slot of program A with multi-carrier group c circulation for the third time;
Figure C0111102300152
The expression client computer during this period of time receives this segment data in the multicast delivery mode.
Figure 11 utilizes a plurality of multi-carrier groups and monocular to transmit transmission to receive schematic diagram with one piece of data and client computer; Wherein A-1 represents the 1st circulation that server transmits program A in the multicast delivery mode, and A-2 represents that server transmits the 2nd circulation of identical data in the multicast delivery mode; The expression client computer during this period of time receives this segment data in the multicast delivery mode; The expression server transmits the front part of data to certain client computer with the monocular load mode; Owing to be that start-up portion from data begins to download, so client computer can get started the use data; (a) (c) (d) (e) represents 5 multi-carrier groups respectively;
Figure C0111102300156
The scale of expression scale.
This method is divided into the method for reseptance of the sending method and the client computer of server, and these two methods are to realize step by step relatively independently, but must cooperatively interact.Just as the transmitter (corresponding to server) and the television set (corresponding to client computer) of TV station, but for the ease of understanding, below will send and receive the description that combines of one or more groups data.
1, process data into the form that uses for ease of the manner and being stored in the memory of server:
A. server one group of data that will need to send are divided into a plurality of data slots (this work also can be finished by other computers in advance, even finishes in the lump) in the process of making data, can adopt the various forms of cutting apart.Also can not do for one group of less data and to cut apart.
B. (this work also can be finished by other computers in advance to add " scale " in each segment data; In the process of making data, finish in the lump; Perhaps before storing internal storage or external memory storage into, do not add " scale " but at server with data just adding before network sends).
C. with the deposit data handled well in the memory of server.
2, will to need the data of each section band " scale " of transmitting (can be not divided one group of data to server, also can be by the divided data fragment) transmit to different multi-carrier groups respectively, make client computer can select to receive simultaneously one of them or several data slot neatly.Fig. 3 is represented is the data flow of the present invention when utilizing multicast delivery mode data download or carrying out video request program in the Internet network, and client computer 1, client computer 2, client computer 3 are downloaded same group of data from server respectively.Can represent among the dual mode figure of the present invention.
A, server with the data of same section band scale respectively to 3 multi-carrier groups cyclic transfers, and the time of each multicast delivery when being recycled to the starting point of this segment data be interlaced opening.Client computer is according to the actual conditions selective reception.
B, server send one group of data that are divided into the data slot of 3 band scales in cycles respectively to 3 multi-carrier groups, client computer is according to the actual conditions selective reception.
Perhaps simultaneously also allow server to provide data to client computer, make client computer can use receive mode more flexibly, or repair vicious data with the monocular load mode with the monocular load mode.
3, server provide that data transmit during, each data slot transmits after transmitting and finishing once more, so moves in circles.Make the client computer that needs data can begin at any time to receive data slot and finish a complete circulation, shown in Fig. 4-A.Perhaps when receiving data, just send in cycles, otherwise just stop circulation, when having at least one client computer to receive data once more, just send data in cycles as at least one client computer.
If 4 certain client computer need be obtained one group of data, it must know at first whether these group data are divided into a plurality of data slots; Be divided into several data slots; Every section is transmitted with which multi-carrier group; And other relevant directory informations.So require server to provide directory information to client computer with monocular transmission or multicast delivery or other form.
5, because server will need the data that transmit to transmit in the mode of circulation with multicast delivery, when need obtaining these data, client computer can add corresponding multi-carrier group immediately, and note " reception starting point " that begins to receive, up to being recycled to certain " reception starting point " that client computer has received, also can surpass " reception starting point ", finish the reception that whole circulation transmits data with checking.
The represented client computer in the present invention of Fig. 4-B is how to utilize " scale " circulation to receive data and correct mistakes.Client computer begins to receive data at the t1 time point, and utilize " scale label " to note " reception starting point ", client computer does not stop to receive after receiving the ending of this segment data, up to being circulated again into this " reception starting point ", also can surpass " reception starting point ", finish the reception that whole circulation transmits data with checking, shown in Fig. 4-C.The time point that is circulated again into " reception starting point " is t3.If client computer is found a part wrong (or loss) what receive in data, then the data of wrong (or loss) are located with described " scale label ", and calculate the time that is recycled to this scale next time, and add these transmission group of received data to revise the partial data of (or replenishing) wrong (or loss) in good time.
There is any to need special instruction, for the ease of understanding, the scale of the scale that in Fig. 4 and Fig. 9, under the band of part expression transmission data, drawn, other figure does not draw scale label the next data of might not representing and is not with scale.
6, how client computer determines the following combined reception mode of integrated use according to the disposal ability of its operational network bandwidth, this machine and actual demand (by software and hardware Auto-Sensing or artificial definition).For example:
A, synchronization receive only a fragment, progressively receive complete segment data; As shown in Figure 5.Fig. 5 is represented is that the client computer that has less bandwidth in the present invention is how to circulate to receive data.One group of data A is divided into A1~A5 totally 5 data fragments, and respectively to 5 multi-carrier group cyclic transfers, the client computer synchronization only adds a multi-carrier group to server, progressively receives this 5 data fragments with these 5 data fragments.
B, receive several fragments simultaneously, progressively receive complete segment data, certain several fragment (needing bigger bandwidth and stronger disposal ability) that can also receive other one group of data simultaneously as shown in Figure 6.What Fig. 6 was represented is that the client computer that has in the present invention than big bandwidth is how to receive data with a plurality of multi-carrier groups circulations.Three groups of data A, B, C are wherein arranged, and the A group is divided into 5 data Segment A 1~A5, utilizes multi-carrier group (a)~(e) to transmit.The B group is divided into 2 data fragment B1~B2, utilizes multi-carrier group (f)~(g) to transmit.The C group is divided into C1~C44 data fragment, utilizes multi-carrier group (h)~(k) to transmit.Server sends 11 data fragments to 11 multi-carrier group circulations.Client computer only adds wherein several (being 4 or 3 among the figure) multi-carrier group at synchronization, progressively receives described total data fragment.
C, receive all fragments simultaneously, can also receive certain several fragment of other one group of data simultaneously.(needing bigger bandwidth and stronger disposal ability) as shown in Figure 6.
D, unite and use monocular to transmit and multicast delivery receives each data slot of one group of data, as shown in Figure 7.What Fig. 7 was represented is that the client computer that has in the present invention than big bandwidth is how to unite to use monocular transmission and multi-carrier group circulation reception data.Client computer is utilized monocular to transmit and is received the 1st fragment data A1, because transmitting, can download monocular since the start-up portion of a data fragment data, so client computer can be brought into use data from the section start of data in time, in client computer receives and uses time of data of the 1st the data fragment that monocular sends, client computer is with the 2nd, 3, the data of 4 data Segment A 2~A4 receive and store in the client computer with multi-carrier group (a)~(c), then can continue to receive follow-up data slot and other several groups of data in the data of using the 2nd data slot.
E, unite and use monocular to transmit and multicast delivery receives one piece of data (independently certain data slot of one piece of data or one group of data).What Fig. 8 was represented is that the client computer that has in the present invention than big bandwidth is how to unite to use monocular transmission and a plurality of multi-carrier group circulation reception data.Utilize monocular to transmit the partial data A1 of the 1st the data fragment that receives one group of data, use a plurality of multicast delivery group of received data slot A1~A4 simultaneously.Because transmitting, monocular can begin from the start-up portion of one piece of data to download, so client computer can be brought into use data from the section start of data in time, client computer utilizes the multicast delivery mode to receive A2~A4 data slot simultaneously simultaneously, and utilize " scale " to note " reception starting point " that begins to receive, as can be seen from the figure, when client computer begins with multi-carrier group (a) reception the 1st data slot A1, server is in the process that transmits this segment data, so received data (being called: " reception starting point ") in most of the cases are not the starting point of this one piece of data itself when client computer begins to receive data.So client computer needs to utilize " scale " to write down its " reception starting point ".After receiving this " reception starting point " with the monocular load mode, client computer just can stop to have received data with the monocular load mode, because data thereafter receive and store into client computer in the mode of multicast delivery and suffered, and the bandwidth that also can save server like this.This mode not only can be used for receiving a data fragment in one group of data, also can be used for receiving independently one piece of data.In Fig. 8, regard A1 as independently one piece of data gets final product.
F, from the transmission with selective reception data a plurality of multi-carrier groups of one piece of data, as shown in Figure 9.Fig. 9-A and Fig. 9-B are represented is that server transmits one piece of data respectively to a plurality of multi-carrier groups in the present invention, and the time of each multicast delivery when being recycled to the starting point of this segment data is interlaced opening.
Can see that in Fig. 9-A multi-carrier group when the time is t1 (a) data that transmitted just in time are recycled to the starting point of this segment data, multi-carrier group when the time is t2 (b) data that transmitted just in time are recycled to the starting point of this segment data, multi-carrier group when the time is t3 (c) data that transmitted just in time are recycled to the starting point of this segment data, multi-carrier group when the time is t4 (d) data that transmitted just in time are recycled to the starting point of this segment data, multi-carrier group when the time is t5 (e) data that transmitted just in time are recycled to the starting point of this segment data, and multi-carrier group when the time is t6 (a) data that transmitted are circulated again into the starting point of this segment data.So client computer is selected to receive data from the multi-carrier group (a) that can receive this segment data starting point the earliest.
Can see that in Fig. 9-B client computer determines simultaneously from 3 multicast delivery group of received data according to the own network bandwidth that is had, decision at first receives data from multi-carrier group (a), (c), (e) according to directory information.When client computer receives data to the t1 time point from multi-carrier group (a), " reception starting point " of the datacycle data that (e) received to client computer from multi-carrier group is so client computer just can stop to receive data from multi-carrier group (a) after the t1 time point.When client computer receives data to the t2 time point from multi-carrier group (e), " reception starting point " of the datacycle data that (c) received to client computer from multi-carrier group is so client computer just can stop to receive data from multi-carrier group (e) after the t2 time point.When client computer received data to the t2 time point from multi-carrier group (c), " reception starting point " of the datacycle data that (a) received to client computer from multi-carrier group was so just can stop to receive data from multi-carrier group (c) after the t2 time point.Like this, it is a complete circulation just in time just that this 3 partial data is coupled together, just one section complete data.Why select multi-carrier group (a) to be because such client computer can receive the starting point of this one piece of data as early as possible, as can be seen from the figure send the starting point of this one piece of data in cycles at t0 time point multi-carrier group (a), if what client computer received is one section video frequency program, then client computer just can begin to have watched the video of institute's program request from this time.
This mode not only can be used for receiving makes as a whole one piece of data, also can be used for receiving the one or more data slots in one group of divided data, as shown in figure 10.Figure 10 represents is that server sends the first segment data A1 with more than 3 multi-carrier groups (a.b.c) in the present invention, and the client computer that has big bandwidth is with a plurality of multicast delivery group of received data.As can be seen from the figure client computer receives two groups of data A and B altogether, and server is divided into 5 data Segment A 1~A5 with one group of data A, and one group of data B is divided into 2 data fragment B1.B2, and each data slot transmits with different multi-carrier groups respectively.Server will be wherein one group of data A organize the 1st data Segment A 3 multi-carrier groups of 1 usefulness (a)~(c) transmission, and the time of each multicast delivery when being recycled to the starting point of this data slot is interlaced opening.Because client computer has the bigger network bandwidth, so client computer can receive 4 data fragments simultaneously, when client computer was prepared to begin to receive the 1st data Segment A 1 of data, it can select one or more multicast delivery group of received data from 3 multi-carrier group (a) and (b), (c).In this figure, if client computer then can be brought into use data from the t2 time point with multi-carrier group (a) data download; If client computer then can be brought into use data from the t1 time point with multi-carrier group (b) data download; If client computer then can be brought into use data from the t3 time point with multi-carrier group (c) data download; If client computer is used suitable data stream then can be begun from the beginning to use data as early as possible.In the drawings " certain client computer " with multi-carrier group (b) then as early as possible (at the t1 time point) bring into use data.So client computer selects multi-carrier group (b) to receive the 1st data fragment.Receive the 2nd, 3,4 data slots simultaneously.Receive the 5th the data fragment of one group of data A and two data fragments of one group of data B afterwards again.
G, can integrated use above several modes, for example integrated use e, f dual mode, as shown in figure 11.What Figure 11 represented is that client computer utilizes the same segment datas of a plurality of multicast delivery group of received (starting point is interlaced) to utilize the monocular load mode simultaneously in the present invention.From Figure 11-A as can be seen, server will be wherein one piece of data A transmit with 5 multi-carrier groups, and the time of each multicast delivery when being recycled to the starting point of this data slot is interlaced opening.Client computer receives data with the monocular load mode, also utilize simultaneously wherein 1 multicast delivery group of received data and note " reception starting point ", as can be seen from the figure, when client computer begins to receive this one piece of data with multi-carrier group (e), server is in the process that transmits this segment data, so received data (being called: " reception starting point ") in most of the cases are not the starting point of this one piece of data itself when client computer begins to receive data.So client computer needs to utilize " scale " to write down its " reception starting point ".When client computer just can stop after from then on the starting point of segment data begins to receive data and receives this " reception starting point " with the monocular load mode having received data with the monocular load mode, because data thereafter receive and store into client computer in the mode of multicast delivery and suffered, and the bandwidth that also can save server like this.Why client computer selects for use multi-carrier group (e) to be because use this multi-carrier group can reduce the transmission quantity that monocular transmits as far as possible, thereby saves the bandwidth of server.
From Figure 11-B as can be seen server will be wherein one group of data A with 5 multi-carrier groups (a)~(e) transmission, and the time of each multicast delivery when being recycled to the starting point of this data slot be interlaced opening.Client computer is also utilized wherein with monocular load mode reception data simultaneously, and 3 multi-carrier groups (a.c.e) receive data and note " reception starting point ", as can be seen from the figure, client computer receives data according to the own network bandwidth decision that is had with the monocular load mode, and simultaneously from 3 multicast delivery group of received data, decision at first receives data from multi-carrier group (a), (c), (e) according to directory information.When client computer begins to receive data to the t1 time point with the monocular load mode from the starting point of this segment data, the received data of client computer and client computer overlap from " reception starting point " of the data that multi-carrier group (e) is received, and client computer just can stop to receive data with the monocular load mode after the t1 time point.When client computer receives data to the t2 time point from multi-carrier group (e), " reception starting point " of the datacycle data that (c) received to client computer from multi-carrier group is so client computer just can stop to receive data from multi-carrier group (e) after the t2 time point.When client computer received data to the t2 time point from multi-carrier group (c), " reception starting point " of the datacycle data that (a) received to client computer from multi-carrier group was so just can stop to receive data from multi-carrier group (c) after the t2 time point.When client computer received data to the t1 time point from multi-carrier group (a), datacycle was to the ending of this segment data.Like this, it is a complete circulation just in time just that this 4 partial data is coupled together, just one section complete data.
By the integrated use the manner, the client computer that has the heterogeneous networks bandwidth can make full use of its bandwidth and receive data as early as possible like this.
7, client computer is carried out effect to the data of being received after receiving data, if find that data are wrong or lose then with using following method to revise:
A. the mode that data location (utilizing as 1 described scale) wrong or that lose is transmitted with monocular requires server to retransmit vicious partial data.
B. with the wrong or data location (utilizing as 1 described scale) of losing and note.At once or at regular intervals (as time, data volume, number of fragments) requires server to retransmit vicious partial data in the mode that monocular transmits.
C. data wrong or that lose are located (utilizing as 1 described scale) and calculated the time that is recycled to this point next time, and note.According to the location of time or a bit receive vicious partial data again in advance, also can accept it before and after relevant portion as redundancy, shown in Fig. 4-D.Also can require server to send vicious partial data with the monocular load mode.
8, client computer can be removed " scale " after receiving correct data, with a plurality of data slots merging of divided one group of data, recovers the original form of these group data and (also can not remove " scale " when storage, each fragment not merged.Just client computer is ignored " scale " when using these data, each fragment is connected use, as long as result of use is as using original one group of continuous data.)。
9, consider reason in geographic distance or country or the administrative division, can acting server be set in some place.Acting server can either be obtained data from server or other acting servers with method of reseptance in this method or additive method, can send data to client computer with the transfer approach in this method again.
In order to realize task of the present invention, comprehensively used following innovation load mode at server end:
(1) mode of cyclic transfer data
Server cyclic transfer, client computer is at any time from multicast delivery group of received data.Server transmits certain segment data to some multi-carrier group over a period to come again and again, client computer in this period at any time from these multicast delivery group of received data, because " reception starting point " when client computer begins to receive certain one piece of data is not the starting point of this segment data, client computer is that from then on middle certain of segment data a bit begins to receive, as shown in Figure 4, client computer begins to receive data during t1 time point among the figure, the scale label of " reception starting point " is 2, so it receives and stores client computer when the ending that receives this segment data is not complete one piece of data, but the second half section of this segment data (account for data volume 80%), as the t1 among Fig. 4 to shown in the t2, promptly from " reception starting point " to the ending partial data.But server transmits the mode that the mode of this segment data is circulation, starts anew to transmit this segment data once more after promptly being sent to the ending of this segment data.So it is that scale label is 2 point up to meeting or exceeding that " reception starting point " that client computer can continue to begin preceding half section of these data of receiver section from the starting point of this segment data after the ending that receives this segment data, as the t2 among Fig. 4-B to shown in t3 or Fig. 4-C.To that two parts locate to couple together at " reception starting point " is exactly complete one piece of data.Need client computer can locate " reception starting point " and when the data that receive are circulated again into " reception starting point ", can discern definitely but connect like this,
So client computer need utilize certain mode to determine " reception starting point ".For example can use the serial data mode of comparing, be about to a part of data that " reception starting point " locate constantly with the data contrast of newly receiving, if overlap then determine that the data that received are circulated again into " reception starting point ".Also can utilize " scale " to write down its " reception starting point ", as shown in Figure 4, noting " reception starting point " scale label when certain client computer begins to receive data is 2, when the time is t3, the data that certain client received are circulated again into " reception starting point ", and scale label is 2.
(2) in data, add scale
Because the particularity of this method, client computer not necessarily begins to receive from the start-up portion of data when adding multi-carrier group and begin to receive one group or one piece of data, so need make client computer can locate the starting point that oneself begins to receive data, utilizing scale is the best way to solve this problem.
If the data received of client computer are wrong in addition, also need to utilize scale to locate the position at misdata place in one piece of data, so that heavily receive this part data.
Cutting apart of (3) one groups of data
If server only uses the mode of band scale cyclic transfer to transmit data, client computer just can accomplish to begin at any time to have received data, this still is not enough but for some bigger data that require to use in real time, in addition, if all from same multicast delivery group of received data, this multi-carrier group can't be taken into account the network bandwidth that each client computer has to all client computer.So one group of data of using as a whole can be divided into a plurality of data slots in the present invention, transmit respectively.Client computer just can be according to the actual conditions selective reception data neatly of oneself like this.
In the present invention can be from multiple angles, come partition data with multiple mode.Below illustrate, but be not limited in following mode.
A. cut apart by alignment sequence of data: the data of one group of 100M for example are divided into 10 fragments according to alignment sequence of data, each fragment 10M.
B. cut apart by the pixel of video data: one group of video data is for example arranged, the resolution of its each frame picture is 800 * 600, if we with this width of cloth picture laterally according to getting a pixel every a pixel, laterally according to the method for getting in every line, this picture segmentation can be become 4 resolution is 400 * 300 the essentially identical picture of picture.One group of video data can be divided into 4 data fragments in this manner.If receive also and use one of them data slot, can watch that then resolution is 400 * 300 video frequency program, if receive and be used in combination whole 4 data fragments, can watch that then resolution is 800 * 600 video frequency program.
C. cut apart by the frame of video data: one group of video data is for example arranged, we are with the 1st frame, the 4th frame, the 7th frame ... the video of being formed is as a data fragment, with the 2nd frame, the 5th frame, the 8th frame ... the video of being formed is as a data fragment, with the 3rd frame, the 6th frame, the 9th frame ... the video of being formed is as a data fragment, if receive and use one of them data slot separately, can watch that then speed is the video frequency program of the F.F. of 3 times of original video frequency programs, if 3 data fragments are received and what unite that use will see is the video frequency program of normal speed forward.
D. cut apart according to the right and left eyes video of three-dimensional video-frequency: the three-dimensional video-frequency program is that the keep left parallax of right eye is realized stereoeffect, left eye video and right eye video are divided into two data fragments, if receive and use one of them data slot separately, then general video frequency program can be watched, the three-dimensional video-frequency program can be watched if 2 data fragments are received and cooperate corresponding apparatus to unite use.
E. come partition data according to certain mathematical algorithm.
F. be used in combination above several mode: for example can be used in combination a, b, these several modes of c, d, the client who watches video frequency program can watch the video frequency program of little resolution, F.F., non-solid earlier, see interested part conversion regime again, watch the video frequency program of big resolution, normal playback speed, solid.
(4) unite use multicast delivery and monocular load mode:
Use request that monocular load mode server can respond certain client computer in real time to begin to send data, or send certain part or a few partial data of its requirement to client computer to it from the starting point of certain segment data.So present video on-demand system all is to use the monocular load mode.The present invention is exactly these characteristics of having utilized the monocular load mode, the data of previous section is transmitted with the monocular load mode, to satisfy the requirement of client computer to real-time.Utilize the multicast delivery mode to transmit the data of aft section simultaneously, to reduce the load of server and network backbone.Also need with locating someway but will smoothly two parts be connected.For example can use the serial data mode of comparing, be about to a part of data that " reception starting point " of the data of aft section locate constantly with the data contrast of newly receiving, if overlap then determine that the data that received overlap with " reception starting point ".Also can utilize " scale " to write down " reception starting point " of the data of its aft section, and connect herein, also can utilize data slot to connect, promptly the one or more data slots in front are with the transmission of monocular load mode, and the data slot of back transmits with the multicast delivery mode.
Just lift a real example below the application of this method in actual environment is described.
Server provides the transmission of a movie program or news item program in the example below, and client computer receives and watch this program.Certainly a server (or virtual server) can transmit a plurality of programs simultaneously in the application of reality, and client computer also can receive a plurality of programs simultaneously or receive a plurality of programs continuously; Also can while or continuous program receiving and other data.
If, watch that a required time of news-video is 1 minute with traditional simple video request program with the monocular load mode; Watch that a required time of movie program is 90 minutes.News-video program of client computer program request need take the Internet bandwidth of its 1M continuously in watching 1 minute of news-video, movie program of client computer program request need take the Internet bandwidth of its 1M continuously in watching 90 minutes of film.Server also needs to take the Internet bandwidth of 1M in order to support the program request of this client computer, and user of every increase just takies the bandwidth of 1M more.Calculate like this, the multipotency of this server is supported 100 these movie programs of client computer program request simultaneously.
Server has the Internet bandwidth of 100M in the example below, client computer has the Internet bandwidth of 10M, multicast delivery is supported in the Internet of server between client computer, server transmits data with the bandwidth of 2M to each multi-carrier group, if the client computer synchronization only need just can receive the video frequency program of playing 1 minute in 30 seconds with multicast delivery group of received data.Ignore the time of delaying, transmitting directory information of transfer of data and the time of client-server deal with data in the example below during computing time.
We will see by following Example, can produce what kind of effect after this method of applying in a flexible way.
The data that server only needs to put in order group band scale for one group of less data of data volume (for example news-video) get final product to one or more multi-carrier group cyclic transfers.If server only sends in cycles then the shortest in 0 second to the time that can watch the required wait of this news, the longest 30 seconds from selected this news of client computer to a multi-carrier group, be 15 seconds the average time of required wait.If server is respectively to 5 multi-carrier group cyclic transfers, and the time when each multicast delivery is recycled to the starting point of this segment data is interlaced opening, as shown in Figure 9, then the shortest to the time that can watch the required wait of this news greater than 0 second from selected this news of client computer, the longest 6 seconds, be 3 seconds the average time of required wait.Such wait is still sustainable for the people who watches.The advantage that this method is brought is exactly that this server can support the client computer more than 100,000 to watch simultaneously.
If but institute's program request is a movie program, the simple the method for using is just unworkable, if server is respectively to 5 multi-carrier group cyclic transfers, and the time when each multicast delivery is recycled to the starting point of this segment data is interlaced opening, then the longest 9 minutes to the time that can watch a required wait of movie program from selected this movie program of client computer, the shortest in 0 second, be 4 minutes and 30 seconds the average time of required wait.Such wait is insufferable for the people who watches.
So for one group of bigger data of data volume, need comprehensive use circulation in this method, interlaced, cut apart and be used in combination the method that monocular transmits and reduce the stand-by period of watching the people.
1, the movie program (one group of data) of a data form is treated as is convenient to the form that the manner uses and is stored in the memory of server:
The movie program that a, server will need to send is divided into a plurality of fragments, 10 minutes videos that for example film begun are as first fragment, the per 20 minutes video data of later part is as a data fragment, and such film will be divided into about 5 fragments.(this work also can be finished by other computers in advance, even finishes in the lump in the process of making data),
B, (this work also can be finished by other computers in advance to add " scale " in data slot; In the process of making data, finish in the lump; Perhaps storage the time do not add " scale " but at server with data just adding " scale " before network sends.)
C, the video data of handling well is deposited in the memory of video server.
2, server will need the data slot of each band " scale " of the movie program that transmits to transmit to (or a plurality of) multi-carrier group respectively, transmit this movie program in this example and need 5 multi-carrier groups at least, shown in the program A among Fig. 5 or Fig. 6, take the network bandwidth of server 10M, no matter have only 1 client computer that 100,000 these programs of client computer program request are still arranged.Make the client computer can be according to its needs like this, the network bandwidth and disposal ability select to receive simultaneously one of them or several data slot neatly; Reduced greatly client computer from request program to the stand-by period that can watch the program, need at most to wait for 5 minutes, 2 minutes and 30 seconds average latency.By comparison, though traditional video request program program request at any time watches that at any time the server network bandwidth that takies 10M provides program can only for 10 client computer, program is provided also can only for 100 client computer even if take the whole 100M network bandwidth of server.
3, server provide movie program during, each video data fragment transmits after transmitting and finishing once more, so moves in circles.Make the client computer that needs data can begin to receive data slot at any time and finish a complete circulation, shown in the program A among Fig. 5 or Fig. 6.Because " reception starting point " when client computer begins to receive some video data fragments is not the starting point of this video data fragment, but a bit begin to receive from middle certain of video data fragment, so it receives and stores client computer when receiving the ending of this video data fragment is not a complete video data fragment, but second half section of this video data fragment.But server transmits the mode that the mode of video data fragment is circulation, starts anew to transmit this video data fragment once more after promptly being sent to the ending of video data fragment.So client computer after the ending that receives a video data fragment, can continue to receive this video data fragment preceding half section up to meeting or exceeding that " reception starting point " shown in Fig. 4-B or Fig. 4-C.
If 4 certain client computer need this movie program of program request, it must know at first that this movie program is divided into several video data fragments; Each video data fragment with which multi-carrier group transmits; If a video data fragment transmits with a plurality of multi-carrier groups, client computer also needs to know to use which multi-carrier group could download to the starting point of this video data fragment at first; Or other relevant directory informations.So require server directory information can be transmitted to client computer with monocular transmission or multicast delivery or other form.
5, because server will need the data slot that transmits to transmit in the mode of circulation with multicast delivery, so when client computer need obtain some video data fragment, can add corresponding multi-carrier group immediately, and note the starting point that begins to receive (utilizing as 1 described scale), (also can surpass starting point up to being circulated again into this starting point, really finish the reception that whole circulation transmits data with further checking), and it is assembled into a complete data slot.Shown in Fig. 4-B or Fig. 4-C
6, client computer is determined its receive mode simultaneously according to physical conditions such as the disposal ability of its operational network bandwidth, this machine and actual demand (by software and hardware Auto-Sensing or artificial definition):
For example:
A. synchronization receives only a video data fragment, progressively receives whole program; As shown in Figure 2;
B. receive several audio data fragments simultaneously, progressively receive whole program, certain several fragment (needing bigger bandwidth and stronger disposal ability) that can also receive other one group of data simultaneously are shown in the program A and B of Fig. 6;
C. receive all video data fragments simultaneously, certain several fragment (needing bigger bandwidth and stronger disposal ability) that can also receive simultaneously other one group of data have the heterogeneous networks bandwidth like this shown in the program B of Fig. 6 and C client computer can make full use of its bandwidth program receiving as early as possible.
7, client computer is carried out effect to the data of being received after receiving video data, if find that data are wrong or lose then revise with using one of following method or being used in combination following method:
D. the mode that video data location (utilizing as 1 described scale) wrong or that lose is transmitted with monocular requires server to retransmit vicious partial video data.
E. with the wrong or video data location (utilizing as 1 described scale) of losing and note.(as time, data volume, number of fragments) requires server to retransmit vicious partial video data in the mode that monocular transmits at regular intervals.
F. with the wrong or video data location (utilizing as 1 described scale) of losing and calculate certain multi-carrier group and be recycled to the time of this point next time, and note.According to the location of time or a bit receive again in advance vicious partial video data also can accept it before and after relevant portion as redundancy, shown in Fig. 4-D.Also can require server to send vicious partial data with the monocular load mode.
8, client computer can be removed " scale " after receiving correct data, a plurality of video data fragments are merged, (client computer can not removed " scale " yet to recover the original form of this group video data, each fragment is not merged, and be when using these video datas, to ignore " scale ", each fragment is joined together to use, as long as result of use is as using original one group of data.
9, according to above-mentioned some just can realize the basic function of this method, but the part that so also comes with some shortcomings.Though client computer can greatly be shortened from beginning to receive data to the blanking time that can bring into use data according to above-described basic skills, but client computer still needs to wait for a period of time and just can bring into use data, (average latency decides according to the size of data slot because client computer will send the starting point that just can receive these group data when the server of first data slot circulates the starting point that sends to data slot at least by the time, the more little average latency of data slot is more little, the average latency=this used time of fragment data of transmission 1/2).Client computer need be waited for 5 minutes at most in the present example, 2 minutes and the 30 seconds average latency (during this period of time client computer can be browsed other online contents or watch the advertisement that is stored in advance in the client computer certainly).
Improved in order to address this problem can adopt following several mode or be used in combination following several mode:
1), the mode that allows server that first fragment or several fragments of front of one group of data are transmitted with monocular transmits simultaneously since second section data and allows to transmit in the multicast delivery mode.As shown in Figure 7 because client computer with monocular load mode data download the time, can be brought into use data from the section start of data in time.So when clients download needs instant (at once) from data that section start is brought into use, server allows client computer to transmit a fragment or the several fragment of downloading beginning with monocular, while downloading the data of using first fragment, download several sections of second fragment or backs with multicast delivery simultaneously.Client computer is in the time of the data that receive and use first fragment that monocular sends, be enough to finish that second segment data is downloaded to client computer in the mode of multicast delivery, when using this one piece of data, then can continue to download follow-up fragment with this mode.Like this client computer program request can watch this program at once behind a program, but increased the offered load of server, if not with the load calculation of directory information again in, server on average can be supported 810 client computer of watching program.
2), the mode that allows server that first fragment or several fragments of front of one group of data are transmitted with monocular transmits and allows all data slots to download in the multicast delivery mode simultaneously.As shown in Figure 8 since client computer with monocular load mode data download the time, can be in time begin to bring into use data from the section start of data, so when download needing instant (at once) from data that section start is brought into use, permission transmits a fragment or the several fragment of downloading beginning with monocular, while downloading the data of using first fragment, download first fragment and data slot thereafter with multicast delivery simultaneously.First fragment data is downloaded and stored to client computer also in the mode of multicast delivery when downloading with the monocular load mode and using first fragment data, server was to be in to send during a certain data slot when client computer began to receive data under the overwhelming majority's situation, so the starting point that client computer receives not is the starting point of this data slot, but a certain " reception starting point ".Client computer can " just can stop after " reception starting point " receiving data with the monocular load mode when client computer receives this with the monocular load mode with this " reception starting point " as the boundary line.Because client computer has received " reception starting point " later partial data with the mode of multicast delivery and it has been stored in the memory.Like this client computer program request can watch this program at once behind a program, but the offered load that increases has reduced half compared with preceding a kind of mode, if not with the load calculation of directory information again in, server on average can be supported 1620 client computer of watching program.
3), server is when outwards transmitting first fragment or several fragments of front, all use several multicast deliveries (interlaced opening of the time of starting point) for every section and download to the starting point of movie program, make the client can begin to watch movie program as early as possible so that client computer selects (this selection also can help client computer to make by server) multi-carrier group to circulate quickly.Server uses three multi-carrier group (a) and (b), (c), transmission with first section video data of program A as shown in figure 10.If client computer then can be brought into use data from the t2 time point with multi-carrier group (a) data download; If client computer then can be brought into use data from the t1 time point with multi-carrier group (b) data download; If client computer then can be brought into use data from the t3 time point with multi-carrier group (c) data download; If client computer is used suitable multi-carrier group then can be begun from the beginning to use data as early as possible.In Fig. 5 " certain client " machine with multi-carrier group (b) then as early as possible (at the t1 time point) bring into use data.And other client computer began to download in the another one time, then may select the another one multi-carrier group could bring into use data as early as possible.Need wait for 1 minute and 40 seconds at most, 50 seconds average latency through improving the back client computer like this.This mode allows the client computer request program more than 100,000, but server has only increased the offered load of 4M.If use 20 multi-carrier groups to transmit the 1st fragment in such a way respectively, then client computer need be waited for 15 seconds at most, and 7.5 seconds average latency, server increases the offered load of 38M, i.e. the total load of server is about 48M.
4), also can integrated use above some, can make client computer watch program immediately, the load of not many again increase server.
5), when first data slot is in the downloading process or when the front one piece of data, used but the download of thereafter data slot is not caught up with, allow client computer to use other data of download (for example: play advertisement) in advance, data download during this.
10, consider reason in geographic distance or country or the administrative division, can acting server be set in some place.Acting server can either be obtained data from server or other acting servers with method of reseptance in this method or additive method, can send data to client computer with the transfer approach among the present invention again.

Claims (12)

1, a kind of method of utilizing multicast delivery cyclic transfer data in data network is characterized in that taking following steps:
A, server will be to be transmitted the storage of at least one section band " scale " in its memory;
B, server transmit with monocular or the mode of multicast delivery provides the relevant directory information that send data to be passed;
The data that c, server will need to transmit transmit to corresponding multi-carrier group respectively by network;
D, during transmitting data, server transmits each multi-carrier group and starts anew once more to transmit after finishing, and so moves in circles; Perhaps when receiving data, just send in cycles, otherwise just stop circulation, when having at least one client computer to receive data once more, just send data once more in cycles as at least one client computer.
2, according to the described method of utilizing multicast delivery cyclic transfer data in data network of claim 1, it is characterized in that: the data of described one section band " scale " are meant certain data slot in the one piece of data of the data slot that is divided into some bands " scale ".
3, according to the described method of in data network, utilizing multicast delivery cyclic transfer data of claim 1, it is characterized in that: server transmits the data data of at least one section band " scale " respectively to a plurality of multi-carrier groups, and the time of each multicast delivery when being recycled to the starting point of this segment data is interlaced opening.
4, according to the described method of in data network, utilizing multicast delivery cyclic transfer data of claim 1, it is characterized in that: when server is divided into the data slot of some bands " scale " one group of transmission, first data slot or former data fragments of these group data are transmitted to a plurality of multi-carrier groups respectively, and the time of each multicast delivery when being recycled to the starting point of this segment data is interlaced opening.
5, according to the described method of utilizing the multicast delivery circular data transmission in data network of claim 1, it is characterized in that: during the multicast delivery segment data, server can transmit this segment data with the monocular load mode.
6, according to the described method of utilizing multicast delivery cyclic transfer data in data network of claim 1, it is characterized in that: " scale " of described data uses the serial number of packet as scale label.
7, utilize the method for multicast delivery cyclic transfer data in the data network according to claim 1, it is characterized in that: when server will be to be transmitted one piece of data when being divided into some small documents, " scale " of described data with described some small documents as scale label.
8, according to the described method of in data network, utilizing multicast delivery cyclic transfer data of claim 1, it is characterized in that: " scale " of described data utilize a certain data point to the byte number of the head of data slot or tail or figure place as scale.
9, a kind of method of utilizing the multicast delivery circulation to receive data in data network is characterized in that taking following steps:
During a, the Server Transport data, the client computer that need to receive certain segment data is from multi-carrier group or directly obtain and the relevant directory information of these group data from server;
B, client computer are according to directory information, the multi-carrier group that adds some or certain several these segment data of transmission, begin to receive this segment data, and note " reception starting point " that begins to receive, perhaps client computer requires server to transmit data with the monocular load mode to it simultaneously;
C, when client computer is utilized multi-carrier group or utilize monocular transmit to receive with one piece of data simultaneously, when some multi-carrier groups or monocular transmit the data that receive and meet or exceed certain corresponding " reception starting point " of this segment data that has received, stop from then on multi-carrier group or monocular and transmit and receive data;
D, received same one piece of data is located to connect at " reception starting point ".
10, the method for in data network, utilizing the multicast delivery circulation to receive data according to claim 9, it is characterized in that: when the multiple segment data that receives was each data slot after one group of data is divided into the data slot of some bands " scale ", client computer will couple together adjacent data slot.
11, according to claim 9 or the 10 described methods of in data network, utilizing the multicast delivery circulation to receive data, it is characterized in that: the client computer that receives data is carried out verification to the data that received, if find the wrong or loss of data, then data slot wrong or that lose is located with described " scale label ", and calculate the time that certain multi-carrier group is recycled to this scale next time, and add these transmission group of received data to revise or to be supplemented with the partial data of mistake or loss in good time.
12, according to claim 9 or the 10 described methods of in data network, utilizing the multicast delivery circulation to receive data, it is characterized in that: the client computer that receives data is carried out verification to the data that received, if find the wrong or loss of data, then with the wrong or data slot lost with its " scale " location, request server sends the partial data of described wrong or loss then.
CN 01111023 2001-03-22 2001-03-22 Multiplex circular data transmission method and system for data network Expired - Lifetime CN1122390C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 01111023 CN1122390C (en) 2001-03-22 2001-03-22 Multiplex circular data transmission method and system for data network
PCT/CN2002/000184 WO2002078263A1 (en) 2001-03-22 2002-03-21 Method and system for multicasing cycle transmission data in data network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01111023 CN1122390C (en) 2001-03-22 2001-03-22 Multiplex circular data transmission method and system for data network

Publications (2)

Publication Number Publication Date
CN1312633A CN1312633A (en) 2001-09-12
CN1122390C true CN1122390C (en) 2003-09-24

Family

ID=4658883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01111023 Expired - Lifetime CN1122390C (en) 2001-03-22 2001-03-22 Multiplex circular data transmission method and system for data network

Country Status (2)

Country Link
CN (1) CN1122390C (en)
WO (1) WO2002078263A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981195B2 (en) * 2002-08-02 2005-12-27 Analog Devices, Inc. Cyclic redundancy check with efficient re-computation of error detection code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8916489D0 (en) * 1989-07-19 1989-09-06 British Telecomm Data communication method and system
US6256673B1 (en) * 1998-12-17 2001-07-03 Intel Corp. Cyclic multicasting or asynchronous broadcasting of computer files
US6628646B1 (en) * 1999-05-14 2003-09-30 Nortel Networks Limited Programmable multicast scheduling for a network device

Also Published As

Publication number Publication date
WO2002078263A1 (en) 2002-10-03
CN1312633A (en) 2001-09-12

Similar Documents

Publication Publication Date Title
US11974006B2 (en) Live and recorded content watch parties
US8255555B2 (en) Reception apparatus and method for reducing time delay in channel switching
US11303682B2 (en) Adaptive bit rates in multicast communications
CN1345149A (en) Flow-type data method and device
CN107135417B (en) A kind of throwing screen method and system of HLS protocol
US20210266621A1 (en) Devices, systems and processes for facilitating watch parties
US20130159126A1 (en) With-me social interactivity platform
CN101867777B (en) Video ordering transmission method based on peer-to-peer computing set-top box
CN1685334A (en) Method and system for providing contents
CN1813251A (en) A streaming based contents distribution network system and methods for splitting, merging and retrieving files
WO2012122901A2 (en) Method for synchronizing media playing between hs terminals
CN1528088A (en) Method and system selecting via network transmission medium
CN1750472A (en) A system and method for erasure coding of streaming media
CN101227433A (en) Terminal and method for implementing information sharing in network television business system
CN1372757A (en) Internet subscriber management
CN1558676A (en) Multimedia information demanding system and demanding method
US20120036105A1 (en) Method and Apparatus for Distributing Data in a Peer-To-Peer Network
WO2018090978A1 (en) Self-adaptive playing and control method, set top box and electronic programme server
CN1946162A (en) Method for obtaining EPG and IPTV service system
CN1859526A (en) Method for realizing stream media aualogue live telecast
CN1881888A (en) Multicast controlling method and system
CN1122390C (en) Multiplex circular data transmission method and system for data network
CN1224919C (en) Method for circulation transmission of data in multiobject mode in data network
JP4055776B2 (en) Content distribution system, and peer and peer program used therefor
Zhang et al. DECOMOD: Collaborative DASH with download enhancing based on multiple mobile devices cooperation

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20030924

CX01 Expiry of patent term