WO2003105421A1 - ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント - Google Patents

ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント Download PDF

Info

Publication number
WO2003105421A1
WO2003105421A1 PCT/JP2003/007093 JP0307093W WO03105421A1 WO 2003105421 A1 WO2003105421 A1 WO 2003105421A1 JP 0307093 W JP0307093 W JP 0307093W WO 03105421 A1 WO03105421 A1 WO 03105421A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
network
client
server
digital content
Prior art date
Application number
PCT/JP2003/007093
Other languages
English (en)
French (fr)
Inventor
周一 清水
大賀 中村
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーション
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 インターナショナル・ビジネス・マシーンズ・コーポレーション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーション
Priority to CN038114313A priority Critical patent/CN1656749B/zh
Priority to JP2004512360A priority patent/JP4034780B2/ja
Priority to US10/523,347 priority patent/US7809850B2/en
Priority to KR20047018062A priority patent/KR100754293B1/ko
Priority to EP03736036A priority patent/EP1533952A4/en
Priority to AU2003242053A priority patent/AU2003242053A1/en
Publication of WO2003105421A1 publication Critical patent/WO2003105421A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Definitions

  • Digital content distribution system digital content distribution method, program for executing the method, a computer-readable recording medium storing the program, and server and client for the same
  • the present invention relates to the distribution of digital content, and more particularly, to the distribution of digital content from a digital content distribution site over a network and holding the content by a plurality of clients, thereby enabling the digital content to be distributed over the network.
  • Digital content distribution system capable of efficiently distributing content, digital content distribution method, program for executing the method, computer-readable recording medium including the program, server for the same About the client.
  • the present invention reduces daisy chain communication overhead for a given global group including a plurality of groups each including a plurality of clients and connected to each other via a network.
  • Digital content distribution systems that enable the distribution of content, servers and clients therefor, and control methods for making a computer function as the servers and clients described above, and programs for them (4)
  • the present invention relates to a computer-readable recording medium on which the program is recorded. Background art
  • networks such as the Internet via computers, public telephone lines, ISDN, optical communication, wireless communication, ADSL, and CATV have become increasingly popular.
  • digital 'content such as e-mail but also digital' content 'over the network, including text' data, voice data, image data, and composite multimedia 'data' It is considered that the service of distributing from a server located at a site to a client such as a plurality of computers or portable terminals via a network will become more widespread.
  • LAN local 'area' network
  • WAN wide 'area' networks
  • the IP multicasting scheme proposed by Deering et al. Eliminates duplication of packets on the network 100 and enables good communication, but allows the router to perform simple IP forwarding. Instead, there was an inconvenience of complicating network resources, such as the need to deploy a dedicated router that has a “state” for the clients to be served. In addition, scalability is limited due to the need for additional network equipment or the inability to respond to unexpected failures or withdrawal of clients due to the complexity of network resources mentioned above. Inconvenience had occurred.
  • IP multicast has a mechanism that data can be sent from any source to any group, so it is vulnerable to malicious attacks, it is necessary to secure a unique global address for the group, It is a best-of-auto type, and has the advantage of being able to operate services at low cost in terms of delivering digital content.
  • IP multicast is unsuitable for applications such as corporate backbone lines where slight interruptions in the line can cause enormous loss, or for video distribution applications where constant bandwidth must always be secured. There is an inconvenience that handling such as avoidance and security is more difficult than unicast.
  • IP multicast is not yet practical due to the need for major changes to the network infrastructure.
  • the client also acts as a relay point of packet transmission, and transmits a packet to a client at a further downstream side.
  • Figure 24 shows a schematic diagram of digital 'content' distribution using the application-level multicast method.
  • the application-level multicast method shown in Figure 32 is used for the client.
  • the rank is given to 106, and each packet can be transmitted according to the path tree structure.
  • Pendarakis et al. Calculate the minimum network that connects clients efficiently, and Chu et al.
  • the minimum network is formed, for example, as a minimum spanning tree (MST) whose branches are weighted by a round-trip time (RTT).
  • MST minimum spanning tree
  • RTT round-trip time
  • 11-282332 describes a method in which each client uses a data cache and client correspondence table to find a client that caches desired data and obtain data from the client. Is disclosed. ⁇ The method disclosed in Japanese Patent Application No. 11-282332 enables the client to perform caching satisfactorily, but when the data is obtained, there is a delay at least by the length of the cached data. In the case of streaming that requires a small amount of time delay and real-time performance, the real-time performance is not sufficient. Further, Japanese Patent Application No. 11-282332 does not disclose caching with a large data length.
  • the network 100 between the remote server 108 and the edge server 110 is a best-effort network. After transmitting the digital content by using up the bandwidth, the transmitted digital content is transmitted. Is cached once at Edge 'server 110. The cached digital content is streamed again from the edge server 110 to a nearby client, and the delivery of the digital content to the client is completed. That is, the method of Aramaki et al. Provides one solution for suppressing packet duplication between the server 108 and the edge 'server 110 and avoiding congestion. However, even when the edge server 110 is used, the overhead of the edge server 110 tends to be an issue, and when transmitting a packet from the edge server 110 to each client, the transmitted packet is not transmitted. It is necessary to reduce duplication.
  • IP multicast the source transmits a packet by specifying an IP address having a value within a special range as a destination. This IP address represents a multicast group, and the receiving host sends a request to join this group to each router on the route, and the router that receives this identifies the group that sent the join request. And execute the process of distributing the packet.
  • the same packet can be sent to many receiving hosts at once without duplication of the packet by using proper routing by using multicast.
  • distribution of multicast content works well without causing a large investment burden on equipment and equipment, and inconvenience to communication traffic.
  • IPv4 the current communication protocol used by the Internet as a whole
  • the multicast function is not normally enabled, and actually performing an actual multicast on the Internet generally requires additional equipment.
  • Fig. 34 shows a pseudo-multicast for the above-mentioned multicast-capable group, for example, a well-known method of a network 'system that enables a multicast-compatible network and another multicast-compatible content distribution. Show.
  • the network system shown in FIG. 34 enables distribution of digital contents by forming a plurality of tunnels between a server and a plurality of groups.
  • the digital data shown in FIG. 34 is transmitted to the global Darup G, which is composed of each of the Gnorapes 114a to 114c, via a first network 116, such as the Internet.
  • the global group G shown in FIG. 34 includes groups 114a to 114c, and includes, for example, companies, public institutions, government agencies, and school educational institutions. Specifically, for example, taking one company as an example, Group 1 14a is a Hokkaido office, and Group 1 14c is a group of Kyushu offices of the same company. can do.
  • the tunnels 118a to 118c are more specifically constructed by installing an entrance port and an exit port of a tunnel between two different networks, respectively, and transferring data packets via the entrance port and the exit port. , Deliver multicast 'packets to recipients on the network at once.
  • Fig. 34 in order to perform multicast distribution to a plurality of groups, it is necessary to prepare a plurality of tunnels for each group.
  • the above-mentioned tunneling technique is already generally known, and it is also known that when there are many groups, the multicast distribution by tunneling often does not function sufficiently.
  • Fig. 34 multicast-distributes the digital contents to / from each of the groups 114a to 114c by using a so-called tunnel 118a to 118c.
  • the tunnels 118a to 118c are more specifically constructed by installing an entrance port and an exit port of a tunnel between two different networks, respectively, and transferring data packets via the entrance port and the exit port. , Deliver multicast 'packe
  • a digital content sender (hereinafter referred to as a provider) and a number of groups are connected via the Internet.
  • Groups 114a to 114c are connected to the first network via lines with different communication capacities, such as ISDN, ADSL, CATV, and optical communication, used by the groups.
  • groups 114a-114c may also include different types of communication infrastructure, each having a different communication capacity, such as a local 'area' network (LAN) configured using Ethernet or wireless communication networks.
  • LAN local 'area' network
  • a plurality of clients 122 are connected to these second networks, respectively, and these are connected to the first network 116 by a router 124 or the like. In such a situation, it is assumed that the server 112 transmits a packet to all the clients 122.
  • the following problems occur with the conventional method of performing multicast distribution by tunneling.
  • the present invention has been made in view of the above-described inconvenience, and in the present invention, digital content is provided in real time from a server to a plurality of information processing devices without depending on the number of groups.
  • the server sends the digital' content as a packet via the first network to at least one client belonging to the second network.
  • the transmitted packet is the smallest unit required to reconstruct digital 'content.
  • the minimum unit packet is the minimum packet that can reconstruct the original digital contents without duplication of packets. In the present invention, it is hereinafter referred to as a source 'packet.
  • the client receiving the source 'packet sends a copy of the received source packet to the client connected to the second network via the second network.
  • the client that sent the packet receives a copy of the source 'packet received by the other client.
  • Digital 'content transmitted in a plurality of packets during a predetermined period is reconstructed by being combined at the client, and is provided to the user at the client in real time.
  • Embodiments of the present invention include the following: display of moving image data, display of audio data, display of image data constituting multimedia data, and playback of audio data synchronized therewith. It can include any of the known aspects.
  • the present invention is defined as display or reproduction including the above-described providing mode. While providing the reconstructed digital content, the client receives further subsequent packets and completes the reconstruction of the subsequent stream during the provision of the already reconstructed digital content. Enables continuous digital content delivery.
  • the present invention by repeating the above-described processing, avoids duplication of transmitted packets, continues stable distribution of digital contents, and responds to frequent departures or new participation of clients constituting the network. It is possible to respond flexibly.
  • the present invention realizes a stable system that does not affect the efficiency of digital content distribution even with a large environmental change in each client such as a change in the CPU allocation status.
  • the present invention does not use a specially configured router, switching hub, or auxiliary server, so that the cost of the network system is not unnecessarily increased and the network and Enables distribution of digital content without adding maintenance and other tasks.
  • the present invention provides a pseudo-tunneling distribution for efficiently distributing from a server to a predetermined global group regardless of a tunnel for performing distribution.
  • pseudo-tunnel delivery means that a server only delivers digital 'minimum source' packets required for reconstructing the content to the global group without duplication, and the client in the global group Means a distribution system and distribution method that can provide the same digital content smoothly without causing significant time lag.
  • the server distributes packets to clients belonging to a plurality of groups without duplication.
  • a plurality of clients constitute a group
  • the plurality of groups constitute a global group.
  • the server is configured to be able to transmit packets to the entire global group.
  • the server selects a destination client from the global group each time.
  • At least one client receives digital 'sources comprising content' packets from the server.
  • the server or client has a client list of clients that make up the global group, and the client that receives the source 'packet is the source; the source that receives the packet; the packet delivery data or the pre-assigned copy. Distribute a copy of the source packet to other clients by referring to the list.
  • the LAN in the group is effectively used.
  • Each group can be communicated between clients belonging to each group, for example, by connecting to one switching hub, without affecting each other by using the function of the switch.
  • a digital content is shared by a group by configuring a third network that supports multicasting between a plurality of clients connected under one router and an application computer. It allows the client overhead and hardware resources to be further reduced. That is, according to the present invention, there is provided a system for distributing digital content via a first network and a second network,
  • a server connected to the first network for transmitting digital content
  • the second network connected to the first network, the digital network including a client for receiving and providing the digital content, the server divides the held digital content into a plurality of packets; Means for transmitting a minimum unit packet for composing the digital content to the second network,
  • the client constituting the second network uses the minimum unit packet received by the client from the server and a packet received from another client constituting the second network, and Means for retaining said digital content for all said clients connected in a second network.
  • the server may include means for dynamically allocating the packet of the minimum unit to a plurality of clients of the second network.
  • the means for assigning the minimum unit packet to a plurality of clients of the second network according to the present invention includes:
  • the means for determining the overhead of the client includes: a time at which the server sends the minimum unit packet addressed to a predetermined client; and a notification that the predetermined client receives the minimum unit packet. Include means for determining the time difference from the issue time Can be.
  • a server connected to a first network and transmitting digital content and a second network connected to the first network are configured to receive the digital content.
  • a method for delivering digital content to the client via the first network and the second network comprising:
  • the digital content is transmitted to all the clients connected in the second network using the smallest unit packet transmitted from the server and the packet received from the other client. Steps to keep
  • a digital 'content distribution method is provided.
  • a server connected to a first network for transmitting digital content and a second network connected to the first network are configured to receive the digital content.
  • assigning step comprises:
  • a server connected to a first network for transmitting digital content and a second network connected to the first network are configured to receive the digital content.
  • assigning step comprises:
  • the related acknowledgment is used to select a destination to be a related intermediate node. Selecting
  • a server connected to a first network for transmitting digital content and a second network connected to the first network are configured to receive the digital content.
  • a program, wherein the program is:
  • the digital content is transmitted to the clients included in the second network by using the minimum unit packet received via the first network and a packet received from the other client. Steps to keep and
  • a server that is connected to a first network and transmits digital content and a second network that is connected to the first network are configured to receive the digital content.
  • the digital content is retained for the clients included in the second network using the minimum unit packet received via the first network and a packet received from the other client. Steps to be performed
  • Dynamic allocation means for dynamically allocating a destination for the second network transmitting the packet of the minimum unit using the list
  • a client that receives digital content distributed via a first network and configures a second network connected to the first network, the client comprising: Means for receiving, via the first network, a minimum unit packet constituting digital content divided into a plurality of packets;
  • a system for delivering digital content to a predetermined global group via a first network and a second network the system being connected to the first network, A server that sends
  • a plurality of groups constituting the global group comprising a client constituting the second network connected to the first network, and receiving and providing the digital content.
  • the server includes means for dividing the held digital 'content into a plurality of packets and transmitting a minimum unit packet for composing the digital' content to the clients of the group without duplication,
  • the client having received the minimum unit packet, transmits copies of the minimum unit packet received from the server to all clients constituting the sub-global group including the client and other clients constituting another group.
  • a digital 'content distribution system including a means for distributing is provided.
  • the digital group in order to distribute digital content via the first network to a global group including a plurality of groups connected via the second network, the digital group is connected to the first network.
  • a computer is controlled as a supercomputer for distributing digital content via the first network to a global group including a plurality of groups connected via the second network.
  • said method comprises:
  • a program for controlling a computer as a server for distributing digital content via a first network to a global group including a plurality of groups connected via a second network Wherein the program is:
  • the same packet of the minimum unit does not overlap for a predetermined group. Selecting and registering the distribution destination of the packet in the minimum unit, and storing the data of the selected distribution destination as the packet in the minimum unit.
  • a program for controlling a computer as a server for distributing digital content via a first network to a global group including a plurality of groups connected via a second network Is a computer-readable storage medium on which is stored, wherein the program is:
  • Reading and transmitting the stored minimum unit packet to configure the digital content to the selected clients of the group a client connected to the second network to distribute digital contents to a predetermined global group via a first network and a second network, and forming a group of the global group Wherein the client is
  • a client connected to the second network to distribute digital contents to a predetermined global group via a first network and a second network, and forming a group of the global group Controlling the computer as the method, comprising: causing the computer to receive a packet via the first network or the second network and store the packet in a memory;
  • a copy packet is generated from the received packet in response to the determination, and a copy 'packet is transmitted to at least another group of clients.
  • a method for executing a step of distributing, and a step of storing the received packet in the memory when it is determined that the received packet is not the minimum unit packet is provided.
  • a client connected to the second network to distribute digital contents to a predetermined global group via a first network and a second network, and forming a group of the global group
  • a client connected to the second network to distribute digital contents to a predetermined global group via a first network and a second network, and forming a group of the global group
  • a copy 'packet is generated from the received packet in response to the determination, and is copied to at least another group of clients.
  • a storage medium is provided for executing the step of delivering and the step of storing the received packet in the memory when it is determined that the received packet is not the minimum unit packet.
  • FIG. 1 is a schematic diagram showing a digital content distribution system 10 of the present invention.
  • the digital content distribution system 10 of the present invention includes a server 14 connected to a network 12 and a plurality of servers 14 connected to the network 12 via network devices such as a router 16 and a switching hub 18. It comprises a client 20 and.
  • the network 12 shown in FIG. 1 includes networks such as the Internet, WAN, and LAN, and communication media for configuring the network include public telephone lines, ISDN, ADSL, and optical networks. Communication, terrestrial radio communication, satellite communication, etc. can be used.
  • the server 14 distributes digital and contents according to the present invention to the client 20 via the network 12 and the network 22.
  • the digital content delivered in the present invention may be an MPEG-2, MPEG-4, or higher-order moving image that needs to provide content to multiple clients at the same time in real time.
  • Data can be cited.
  • multimedia data including a plurality of types of digital data such as moving image data, audio data, and text data in addition to moving image data can be used.
  • the client 20 is connected to the network 12 via the router 16 and the switching hub 18 and the like, and also has an identifier, such as an IP address, assigned to each of the same routers 16. It is identified by the server 14 as a predetermined group # 1 or the like.
  • the clients in a predetermined group constitute a network 22 connected by peer-to-peer connection, and the clients in the group can communicate with each other.
  • the server 14 that can be used in the present invention can be composed of a personal computer or a workstation, and the personal computer or workstation is P ENTIUM (registered trademark).
  • the CPU or a CPU compatible with it
  • WIND OWS registered trademark
  • WIND OWS registered trademark
  • NT Microsoft 'Corporation
  • OS / 2 trademark: International / Business'Machines' Corporation
  • AIX trademark: International 'Business'Machines' Corporation, Unix, Linux
  • client 20 may include a notebook personal computer connected via a wireless network, a PDA, and the like. it can.
  • the digital 'content distribution system 10 of the present invention shown in FIG. 1 decomposes the moving image data into a plurality of streams, divides one stream into a plurality of packets, and The packet is transmitted as a source packet to a predetermined client 20 for each packet.
  • the source 'packets making up the stream are transmitted to at least one client included in a given group, and the client receiving the source packet transmits the source packet to another client included in the given group.
  • Send a copy of the received source 'packet (hereinafter referred to as a copy packet) to the client.
  • the downstream client that has received the copy packet accumulates the copy 'packet for a predetermined period of time, and after a predetermined period of time, uses the packet identifier attached to the packet, for example, as a serial number to create a stream. Reconstruct and display or play digital 'content on the client. That is, in the present invention, the server 14 provides the same digital content to clients belonging to a predetermined group without transmitting duplicate packets for one group for each client. Make it possible.
  • FIG. 2 shows an outline of the path tree structure configured in the present invention.
  • the l: l: (m ⁇ l) tree structure of the configured tree structures forms one transmission path of a packet.
  • a path is formed in two stages: a first stage path of a server intermediate node and a second stage path of an intermediate node and a client. It is assumed that no relay has more than two stages.
  • FIG. 1 shows a first stage path of a server intermediate node and a second stage path of an intermediate node and a client. It is assumed that no relay has more than two stages.
  • the server 14 selects one client 20a in the group as an intermediate node, and first transmits a source packet to the client 20a selected as the intermediate node.
  • the client 20a functioning as an intermediate node that has received the source packet transmits the received packet to the clients 20b to 20d included in the group, thereby enabling sharing of the packet within the group.
  • the number of clients 20a, which are regarded as intermediate nodes is not limited to one as shown in FIG. 2 (a).
  • one or more clients can be dynamically selected. The selection of the intermediate node in the present invention will be described later in more detail.
  • FIG. 2A shows an embodiment of a complete graph formed between the server 14 and each of the clients 20a to 20e in the specific embodiment shown in FIG. 2A.
  • selection of a path in packet units can be considered as selection of a subtree structure (path tree structure) from a complete graph.
  • each client is dynamically changed to be upstream or downstream of another client in the path tree structure. Become. Referring to the complete graph of the specific embodiment of the present invention shown in FIG.
  • each stream of source ⁇ Transmit packets without duplicate packets.
  • each Clients 20a-20e receive source packets that form part of the stream without duplication.
  • clients belonging to the same group mutually copy the missing packets as copy 'packets, thereby compensating for the lack of packets for reconstructing one stream and recovering one stream.
  • the above-described client function is referred to as a peer-to-group type distribution.
  • Each packet is given a serial number in advance as a packet identifier in accordance with the streaming protocol, so that each client can recover the missing packet and the packet order in the stream.
  • Figure 3 shows the source 'packet sending group # 1 from server 14 described above. 1 schematically illustrates a process of copying a client and transmitting a packet.
  • the moving image data obtained at the server 14 is streamed and divided into a plurality of packets, and each source packet has, for example, a packet identifier of P1 to P5. Is attached.
  • the size of the source 'packet shown in FIG. 3 is not particularly limited in the present invention, and can be any size.
  • the stream 24 split into source'packets P1 to P5 is transmitted to group # 1 via the first network, for example, the Internet or a LAN or WAN belonging to a different domain.
  • the first network for example, the Internet or a LAN or WAN belonging to a different domain.
  • each of the clients 20a to 20e has substantially the same throughput, and each of the clients 20a to 20e has an intermediate capacity.
  • the source 'packets PI to P5 are selected and transmitted to the clients 20a to 20e one packet at a time.
  • the function of the client 20a that has received the packet PI will be described in detail.
  • Each client 20a-20e includes a member 'list corresponding to the client belonging to group # 1 and referring to the member' list, within the group, for example, any previously known According to a communication protocol such as TCP / IP, UDP, or promiscuous mode, for example, by executing a broadcast communication, a copy 'packet is transmitted to the other clients 20b to 20e.
  • a copy'packet When transmitting a copy 'packet, a copy' packet destined for each IP address of another client can be transmitted more reliably immediately after arrival of the source 'packet or at a fixed time interval. Transmission methods that can be used in The other clients 20b to 20e receive the copy 'packet from the client 20a and accumulate the copy' packet in the reception buffer.
  • the other clients 20b to 20e also transmit the copy / packet, and each client can ensure that the processing of the subsequent stream is not affected, for example, in about 1 second or less.
  • the packet is stored in the reception buffer for a predetermined period, and after the predetermined period has elapsed, the reception buffer ⁇ is designated in the reception buffer of the client 20a in accordance with the packet identifier.
  • source 'packets for one stream are stored in the order of "? 1? 2? 3? 4? 5".
  • the client 20a copies the packets and copies accumulated during a predetermined period; a FEC decoder, a source's decoder, etc., and a moving image for one stream; reconstructs the data as ⁇ PIP2P3P4P5 '' It becomes possible.
  • the order of received packets can be recorded in the order in which they are received, not stored as a serial number, and sorted and reconfigured.
  • FIG. 4 shows a case where a client to be an intermediate node is dynamically selected in the present invention. It is a figure showing an embodiment of a case.
  • a network is constructed between the server 14 and the client 20 using a connection-oriented connection such as TCP. As shown in FIG.
  • the server 14 monitors the throughput to each client and selects a client stochastically according to the magnitude of the throughput, as described in more detail later. The client with the highest throughput is not always selected. Then, the selected client 20b is set as the first intermediate node, and the first source 'packet P1 is transmitted. Further, the server 14 continuously monitors the change in the throughput of the client at a frequency of, for example, about several seconds or less, and dynamically selects an intermediate node from the client having a small overhead at that time. For example, in the embodiment shown in FIG.
  • the client 20d has the smallest overhead at that time, and is therefore selected by the server 14 as an intermediate node, and the source packet, for example, the source packet P3 is It is shown receiving.
  • the server 14 transmits the duplicated packet as the source 'packet of only one stream without transmitting the duplicated packet to the clients constituting the group # 1. It is possible to make all clients in group # 1 hold digital content.
  • the present invention makes it possible to distribute the load concentration on the server 14 when transmitting data to the clients included in the group # 1 conventionally, and to distribute the load concentration to the entire network. And improve the scalability of traffic in the network.
  • FIG. 5 shows the traffic of packets transmitted to and received from the client 20a according to the present invention. It is assumed that n packets are transmitted from the server 14 to each client equally per unit time. nZ The source packet of m is sent from the server 14 to the client 20a, and the client 20a receives the source packet sent from the server 14. The client that received the packet relays the received source.packet to the client m-1 (copy.packet delivery). The client 20a also receives a copy packet from another client at the same time.
  • This communication traffic volume does not increase or decrease in the number of packets as compared with the case of the conventional example using the conventional Edge 'server configuration. The above-mentioned packet transmission amount is satisfied even when the clients are not evenly selected.
  • the number of packets that each client needs to perform input / output processing per unit time is the case of equal selection, nZm from server 14 and ⁇ n / mX (m-1) ⁇ from other clients.
  • This client selection process is proportional to the number m of clients, and does not depend on the number of clients at all in terms of the number of packet transmissions. Therefore, even if the number of clients increases, the digital content distribution of the present invention does not cause any inconvenience in network scalability.
  • the present invention also envisages the opposite case of equal selection, i.e., where only one client receives all source 'packets from server 14. Even in this case, the number of input packets to the client is Since it is the same as in the conventional case, n source .packets are input by the selected client. Also, the output of the copy packet from the client that received the source packet is n X m packets only at that client.
  • the path tree structure is dynamically selected so that the source packet is not biased and transmitted to only a single client described above, and the selection is as close as possible to the uniform selection.
  • the path tree structure is dynamically selected, rather than statically using one or more of the clients and using it statically. In selecting the path tree structure,
  • a path tree structure for transmitting a packet is dynamically configured.
  • the above-described condition confirmation processing of (a) can be realized using a connection-oriented connection such as TCP.
  • the RTT measurement described in (b) When sending a source 'packet, for example, using the format of IP v4, the time is recorded in the IP header part of the transmitted packet, and the client receiving the source' packet writes only the IP header part.
  • the time recorded in the IP header, etc. such as returning it as is, or using a unique header generated at the application level separately, recording the time in the unique header, and returning this unique header as it is, etc.
  • a method that uses the difference from the time when the server receives the return can be used.
  • the time when the server 14 transmits the source packet can be stored, the response. Packet from the client can be received, and the time of the response 'packet's IP header can be read and confirmed.
  • the copy rate which is the condition described in (c), uses the success rate at which packets can be sent from the intermediate client to the downstream client.
  • the cause of the fluctuation of the copy rate may be that in a connection-oriented network such as a TCP, an intermediate client discards a packet due to a time limit.
  • the copy rate is calculated from the packet arrival rate to the downstream client.
  • FIG. 6 is a schematic diagram showing a case where a client is dynamically selected as an intermediate node in the present invention.
  • the server 14 selects the client 20e as an intermediate node and transmits the source packet.
  • the client 20 e is selected as the client that has returned the earliest response at that time, for example, in response to the start of digital content distribution from the server 14. Can be specified.
  • a client other than client 20e does not return a response to server 14 for a pre-determined threshold time if another client is performing other processing, or has a lower RTT than client 20e. For example, it was not selected as an intermediate node because it was later than the set threshold.
  • the client 20 e is judged to have sufficient processing capability as viewed from the server 14, and is determined to be an intermediate node that receives the source ′ packet.
  • the client 20e that has received the source packet transmits a copy packet to another client in the group # 1 using, for example, broadcast.
  • an assignment weight can be given between clients in relation to the RTT as described below. For example, in the most preferred embodiment of the present invention, the allocation weights that can be employed can be given based on the following equation:
  • t k r k is,'. Lambda .: copy.
  • the client is proportional to the number of packets that can be processed in other words a unit time. Therefore, the objective of this allocation method is to maximize effective throughput, that is, to maximize stability.
  • the above conditions can be applied to each source 'packet.
  • the allocation weight of the source 'packet can be updated periodically at predetermined time intervals. Clients that cannot receive the packet at each point are already excluded from the path selection, so even if there is an error in the assigned weight, there will be no serious situations where the source packet is lost. Further, in another embodiment of the present invention, the effective throughput can be determined using only the RTT. ⁇ B— 4> Dynamic reconfiguration
  • the present invention further flexibly responds to changes in the network configuration by automatically responding to an increase in new clients when a new client is added to a group recognized by the server. Make it possible to respond.
  • FIG. 7 shows processing of the server 14 when a new client is added to the group # 1 in the present invention.
  • the client 20f communicates with the server 14 using, for example, the IP address of the server 14 obtained from another client. And send a JOIN request.
  • the JOIN request can include the client identifier such as the IP address obtained or assigned by the newly joined client 2Of.
  • the server 14 receives the JOIN request, and adds the client identifier of the client 20f to the client 'list of the group # 1 held in the server 14 and used as the destination list.
  • a NEW MEMBER notification for notifying the clients 20a to 20d included in the group # 1 of the addition of a new client is sent to the IP address of the group # 1, for example. Broadcast using broadcast communication.
  • the clients 20a to 20c in the group # 1 that received the NEW MEMBER notification update the member's list and register as a copy-packet distribution destination.
  • the server 14 transmits a CONNECT request indicating that the connection has been completed to the newly joined client 20f.
  • the CONNECT request can include a client identifier corresponding to a member of a client constituting the group # 1 held by the server 14.
  • Client 20f receives the CONNECT request and updates the member's list. In order to do this, the applicant must belong to the same applicant. 00 2—08 8 70
  • the automatic IP address acquisition method described in No. 2 can be used. If you can use the automatic IP address acquisition method disclosed in Japanese Patent Application No. 200 2-0 887 02, the member's list is already stored in each client 20a to 20f. The transmission of the NEW MEMBER notification from the server 14 may not be required.
  • the server 14 can determine a path including the newly joined client 20f in the path tree structure for distributing digital contents.
  • the client 20f immediately after the client 20f has joined, the client 20f is added at the most downstream of the created path tree structure, and the copy 'packet is transmitted from the other clients 20a to 20c. It can be configured to acquire.
  • a new path tree structure including the client 20f is built upon path selection after a predetermined period of time in the RTT monitor.
  • a large RTT is previously given as an initial value (large value) as shown in the following equation, and the source ⁇
  • the frequency of receiving packets can be reduced.
  • Figure 8 shows that the source packet is transmitted from the server 14 to the newly joined client 20f based on the newly created path tree new structure, and the other clients 20a to 20c The packet is sent to the newly joined client 20f. It is shown as being sent.
  • the server 14 can know the leaving of the client via a connection-oriented network. Note that even if the client terminates abnormally, the disconnection can be detected, but in cases such as when the network is disconnected, an event occurs in which it cannot be detected until the timeout occurs. In the present invention, even if a timeout occurs, the source 'packet is not sent to the client due to the dynamic selection rule (confirmation of reception possibility), so that the packets received by other clients are simultaneously sent.
  • the server 14 that recognizes the departure of the participating client immediately discards the path tree structure in which the client is an intermediate node, and prevents loss of the source packet.
  • Clients that remain in Group # 1 can distribute the received source packets according to the member's list, or receive copies in Group # 1 when sending copy-based packets on a broadcast basis. It can also send copy packets to all new clients. Also, the remaining client can delete the detached client from the lowermost stream of the entire path tree structure by canceling the connection between the detached client and itself. Also, some of the source 'packets sent to the leaving client may be discarded with leaving without being relayed.
  • FIG. 9 is a functional block diagram showing the configuration of the client 20 described in the present invention.
  • Client 20 is connected to a second network 22 via a network interface card (NIC) 30.
  • NIC network interface card
  • the client 20 further includes a reception buffer 32, a memory 34, and a memory 36 such as RAM.
  • the reception buffer 32 holds the received source 'packet and copy' packet until reconstructing the video image data stream.
  • the reception buffer 32 can be configured as a ring buffer that writes a received packet to an address corresponding to a packet identifier each time a received packet is received.
  • the client 20 includes a central processing unit (CPU) 36, a source decoder 38, and an FEC decoder 40.
  • the FEC decoder is not always required in the present invention.
  • the CPU 36 is driven by a clock, reads out packets stored in the reception buffer 32 at predetermined intervals, sends the packets to the source decoder 38 and the FEC decoder 40, and outputs a video image of one stream.
  • .Data is being reconstructed.
  • the reconstructed moving image image data for one stream is displayed or reproduced on the display 42 and provided to the client user.
  • the moving image data displayed or played back to the user can be deleted from the client 20, or the entire stream from the start to the end of the digital content can be stored in the memory 34, and the Alternatively, it may be stored in a storage device 44 such as a magneto-optical disk-magnetic tape.
  • the storage device 44 can also hold a member 'list configured to include a client identifier for identifying a client constituting the group # 1, for example.
  • the member list is stored in the storage device 44 and the client memory 36 when the client starts. Where they are read and kept as resident files.
  • the client shown in FIG. 9 receives the source packet, the client 20 designates the destination to which the copy packet is to be delivered by referring to the member 'list.
  • the client 20 broadcasts the copy packet in accordance with the TCPZIP protocol, for example, with the destination in a format of IPv4 such as abc.def.ghi.255, the above-mentioned member—list is directly referred to No need.
  • FIG. 10 is a diagram showing a configuration of the server 14 of the present invention.
  • the server 14 shown in FIG. 10 is connected to the network 12 via a communication means 46 such as a modem, a DSU, or a network 'interface' card, and transmits digital 'content' to a client (not shown). Has been delivered.
  • a communication means 46 such as a modem, a DSU, or a network 'interface' card
  • An imaging means 48 such as a digital 'video camera' is connected to the server 14 shown in FIG. 10, and programs, lectures, greetings, educational programs, etc., which are desired to be distributed as digital 'contents, Recorded as digital data on a recording medium.
  • the recorded digital data is taken into the server 14 via an appropriate interface, and is stored in, for example, the storage device 50. It is preferable that the digital data in the present invention is configured as multimedia data including the moving image data described above.
  • the CPU 52 When transmitting digital 'contents to the client, first, the CPU 52 reads the digital' contents from the storage device 50 and sources the read digital 'contents to the encoder 54 and the FEC encoder 56. And send.
  • the digital 'data receiving source' encoder 54 and the FEC encoder 56 perform streaming processing on the digital 'data, and further divide one stream into packets of a predetermined size, for example, packets P1 to P5.
  • the generated packets P1 to P5 distribute digital content to, for example, group # 1 via the communication means 46.
  • FIG. 11 illustrates the configuration of the embodiment of the source 'packet 58 that can be used in the present invention, using an IP header as an example.
  • the source 'packet 58 transmitted from the server 14 includes, for example, an IP header 58a, and the IP header 58a includes a source address and a destination address 58b.
  • the source packet 58 includes a digital packet 58c for distribution, a data packet 58c, a packet identifier 58d assigned as a serial number, for example, P1, and a source packet transmission time 58e.
  • the above-mentioned / kucket 58c, the knotting knowledge IJ child 58d, and the transmission time! ! 58e can be configured as a unique packet created at the application 'level.
  • the IP header 58a includes IP version information, a source IP address, and the like, and is configured so that the server 14 can determine the RTT based on a reply from the client.
  • the server 14 can monitor the time at which the source packet, for example, P1 was transmitted, using a timer or the like.
  • the response packet from the client that has received the source packet P1 is returned to the server 14 via the network 12, and is stored in an appropriate storage unit in the server 14, and the client transmits the response packet.
  • the transmission time is read from the time recorded in, for example, the transmission time attached to the response 'packet.
  • FIG. 11 (b) shows an embodiment of the configuration of the response 'packet 60 from the client. As shown in FIG. 11 (b), the response 'packet 60 includes an IP header 60a, and the IP header 60a includes the source address and the destination address 6 Ob as described above.
  • the response packet 60 includes the received digital data packet identifier 60c, the time 60d when the client issued the response 'packet 60', and the transmission time 58e of the packet which transmitted the source 'packet P1. It is comprised including.
  • the IP header 60a records the time at which the client transmitted the response 'packet 60 ', the source IP address of the source client, and the like. In the present invention, when the server 14 receives the response 'packet 60, the source' packet 58 and the response.The identifier included in the packet 60, and in the embodiment shown in FIG.
  • the source 'response' packet corresponding to the reception of the packet 54 is determined using the packet identifier P1, and in a specific embodiment of the present invention, the transmission time 58 e and the issue time 60 e Calculate the RTT using 1 / RTT and the copy's rate to determine the client's effective throughput.
  • the determined effective throughput is used, for example, after averaging for a certain period of time, to update the client 'list shown in FIG. Further, in another embodiment of the present invention, when the time is recorded in the IP header, the time recorded in the IP header can be directly used.
  • FIG. 12 is a diagram showing an embodiment of a client 'list 62 used by the server 14 in the present invention. The client's list 62 shown in FIG.
  • the 12 includes a group identifier 62 a registered when the server 14 distributes digital content, a client's address 62 b of clients included in a given group, and And the effective throughput 62c averaged for a predetermined period.
  • the group identifier 62 a can be created by a content provider such as a television broadcasting station, a satellite broadcasting station, and an event “provider” by registration from a user.
  • the server 14 is not a content provider and the server 14 distributes digital content via an intranet such as a company, government agency, legal institution, legislative institution, educational institution, or library, each company or institution should For example, IP addresses assigned to each group can be used.
  • the client's address 62b is in a particular embodiment of the present invention.
  • the IP address assigned to a specific group can be used.
  • the effective throughput 62c shown in FIG. 12 is an essential parameter in the present invention used for the above-mentioned assignment weighting.
  • the above-mentioned weighting stabilizes the path tree structure by preventing unnecessary fluctuations, secures the stability and reliability of the network, and removes, participates, or participates in the client.
  • they are averaged over a time interval of, for example, about 1 second, and are updated regularly as effective throughput.
  • the server 14 transmits, for example, source packets P1 to P3 to the client 20b according to the weights to the client 20b and the client 20c, and transmits source 'packets P4 and P5 to the client 20c.
  • Source sent packet copied from client 20b, 20c selected as intermediate node to other clients in group # 1; sent as packets cPl-cP5 and received by each client After being stored in a buffer and stored for a predetermined time, it is used to reconstruct one stream. It should be noted that in other embodiments of the present invention, the number of source 'packets to be transmitted may be transmitted to the intermediate node at any other ratio.
  • FIG. 14 is a diagram showing a second embodiment of the digital content distribution system of the present invention.
  • the digital 'content distribution system shown in Fig. 14 uses a source server 64 for generating digital content, and a digital data stored in the source' server 64 and subjected to streaming processing and extracted and stored. Drain 'group 66 connected to server 66 via network 12 # 2 and G # 3. The clients included in each group are selected as intermediate nodes according to the present invention, and are configured to distribute digital content in the group.
  • FIG. 15 is a block diagram showing the configuration of the source server 64 and the client shown in FIG. As shown in FIG. 15 (a), the source server generates streamed digital content from the generated digital data using the source 'decoder 64a and the FEC encoder 64b.
  • FIG. 15 (b) shows the configuration processing on the client side.
  • the client 20 receives the copy packet, accumulates the packet for a predetermined period, and reconstructs one stream of digital content using the FEC decoder 38 and the source decoder 40, and provides the digital content to the user. .
  • the client 20a selected as the intermediate node copies the received source packet and sends it to other clients as a copy packet.
  • D Digital 'Source' Packet Communication Protocol for Content Distribution 'FIG. 16 is a diagram showing, in chronological order, source' packet communication between the server and the client of the present invention.
  • Source packets sent from the server are sent to any client at regular intervals.
  • the client that receives the packet returns a response 'packet Ack (acknowle dgenmt)' to the server.
  • the client is configured to report the copy success rate (copy 'rate) to the server periodically (eg, every second).
  • the time from when the packet is sent to when the server receives the Ack is used as the RTT (Round-Trip Time) to determine the allocation weight of the intermediate node in the path tree structure.
  • RTT Red-Trip Time
  • FIG. 17 is a diagram showing the transmission of source packets and copy packets between clients selected as intermediate nodes in the present invention in time series between each client and server.
  • Client a which receives source packets P1 and P2 from the server, sends copies 'packets # 1 and # 2 of packets P1 and P2' to client b of the same group. The copy success rate is periodically reported to the server.
  • the server also sends packet P3 to client b, which sends copy packet # 3 to client a.
  • the client a holds the packets P1 to P3 in the reception buffer, and the above-described process is sequentially repeated to accumulate packets for one stream.
  • FIG. 18 is a flowchart showing the processing of the client of the present invention.
  • the client selected as the intermediate node is always in a state of waiting for the arrival of the source 'packet, and monitors the arrival of the packet in step S100.
  • the storage position in the reception buffer is calculated from the packet identifier in step S102.
  • step S104 it is determined whether or not the buffer corresponding position is empty. If it is empty (yes), since the packet of the corresponding number has not yet arrived, in step S112, Write the received packet.
  • step S114 it is determined whether or not the received packet is a source 'packet, for example, the arrival of the source' packet using the source address included in the IP header.
  • step S116 reserve copy processing for transmission to other clients in the group.
  • the reservation of the copy processing can be performed, for example, by registering a copy of the received packet in an appropriate FIFO buffer.
  • the process returns to step S100 and waits for the arrival of a packet.
  • the corresponding buffer 'address is not empty in the determination in step S104 (no)
  • the packet with the packet identifier has already arrived.
  • step S106 it is determined whether or not the packet with the identifier is reserved for copy processing. If the reservation is registered (yes), the source. Packet will be erased by overwriting.
  • step S108 the reservation is deleted in step S108, the copy failure counter is incremented in step S110, and the In step S112, the packet received at that time is overwritten in the corresponding buffer position. This corresponds to the loss of the packet, which corresponds to the arrival of the following packet before the client sends a copy of the source 'packet. If it is determined in step S106 that the reservation has not been registered in the copy process (no), the process proceeds to step S112, and since the packet is a copy 'packet', the packet is overwritten on the corresponding buffer 'address. Step S100 is repeated.
  • FIG. 19A is a diagram showing a flowchart of the copy processing in the present invention. The copy processing shown in FIG.
  • step S120 waits until a source packet requiring the copy processing is registered in step S120.
  • Source When the packet is registered, select the packet registered in step S122, for example, the previously registered packet if registered using the FIFO buffer in the described embodiment. Then, in step S124, it is broadcasted as a copy 'packet to another client, or transmitted individually to the other client by referring to the destination IP address. Thereafter, in step S128, the copy success counter is incremented, and the process returns to step S120 and waits.
  • the ratio of the above-mentioned copy success counter to (copy success counter + copy failure counter) is sent to the server as the copy rate. If it is too low, processing such as retransmitting packets for one stream again is performed.
  • FIG. 19 (b) is a flowchart showing a process performed by the server when an unexpected client detachment occurs or when it is detected that the corresponding client has a serious failure.
  • the server constantly monitors the effective throughput of the client via the RTT and the copy rate. If no response packet is received within the threshold time, it is determined that the client has left or failed.
  • FIG. 20 is a diagram showing another more specific embodiment of the digital content distribution system of the present invention.
  • the embodiment shown in FIG. 20 is specifically an embodiment in the case where the present invention is applied to an in-house broadcast such as a lecture using an intranet in a business office. In the embodiment shown in FIG.
  • the intranet in the office is connected to the end 'router 70 located in each section by a network 72 such as Ethernet (registered trademark) or Fiber Channel.
  • a network 72 such as Ethernet (registered trademark) or Fiber Channel.
  • connection is made using the router 74.
  • the client 20 configures a network of about 3,000 units as a whole network. In the configuration shown in Fig.
  • the sender 78 sends a packet to all clients, it is a packed bone.Even if a packed bone 'router with a band width of l Gbps is used as the router 74, for example, Video images that require a transmission speed of 8 Mbps' Data cannot be transmitted smoothly. For example, digital content distribution on a digital 'versatile' disk (DVD) is impossible using conventional methods. .
  • the packet duplication avoidance of the present invention is not used, even in the case of 100 clients, a user cannot receive digital content in real time.
  • the client 20 can perform the same switching using, for example, 100 Mbps Ethernet (registered trademark).
  • the communication speed of the peer-to-peer connection between clients is expected to be 40 to 5 OMbps, so for example, transmission and reception of 8 Mbps in MPEG 4 There is no problem.
  • the server 78 will transmit as many streams as the number of groups. If there are 30 end routers that connect 100 PCs under the control, a group can be assigned to each end router. In this case, 30 streams will be transmitted from the server 78 directly connected to the backbone router 74 at a consumption of 240 Mbps. In the embodiment shown in FIG.
  • FIG. 21 is a diagram showing another specific embodiment of the present invention, in which digital content is simultaneously received by a plurality of clients 20 from a server 14 arranged on the Internet. An embodiment is implemented in accordance with the present invention. In the embodiment shown in FIG.
  • FIG. 21 is a diagram showing still another embodiment of the present invention capable of reducing a load on a server on a wireless network.
  • the processing at the server 14 is only transmission of a stream according to the number of groups and dynamic selection of a path.
  • the additional overhead added is small.
  • the reproduction of MP EG 2 and MP EG 4 requires much more CPU resources, so that the load on the client 20 may be higher than that on the server 14.
  • the intranet connected via the wireless network even from the server 14 which is located on the wireless' network and has a small CPU resource. For example, it is possible to simultaneously deliver the MPEG4 stream at 384kbps to multiple clients located above.
  • E Digital content distribution system that performs pseudo-tunnel distribution for digital content distribution
  • FIG. 23 shows a digital content distribution system capable of performing pseudo tunnel distribution in the present invention.
  • the digital 'content distribution system 80 shown in FIG. 23 includes a server 82 for receiving and holding digital' content from a sender and a group 84a to 84c including a plurality of clients 86. It is composed of the affiliated clients 86.
  • the server 82 and the groups 84a to 84c are interconnected by a first network such as the Internet via a router 88.
  • the clients 86 belonging to the group are interconnected by LANs configured in the group. Data sharing and information communication are enabled.
  • the number of groups shown in FIG. 23 is not limited to the number shown in the drawings, and The number of clients is not limited to the number shown in the drawings.
  • each group comprises a plurality of larger global groups G 1, and similarly configured global groups G 2 and G 3 are connected to the first network 12.
  • the digital content can be distributed from the server 82 to G2 and G3, but different servers can be used.
  • the function of the content distribution system 80 shown in FIG. 23 will be described in detail.
  • the server 82 receives the digital content to be distributed from the sender server managed by the provider, or the server 82
  • the digital content is stored in a storage means 90 such as a hard disk by inputting the content into a moving image or a file format in 82.
  • the digital content is held in an appropriate buffer memory (not shown) included in the server 82.
  • the held digital 'content is subjected to streaming processing in the server 82, divided into a plurality of segments, and generated as a source' packet.
  • the generated source packet is transmitted to a client 86, which is selected using the execution throughput or the like according to the method of the present invention.
  • the client 86 receives the source 'packet, it performs a digital' copy 'of the entire global group by performing a copy of the source' packet within the group or a copy of the packet between groups as shown in Figure 23. It allows content sharing.
  • the client 86 also includes an application such as Windows Multimedia Player (trademark) for playing digital content, and stores digital content stored in the buffer memory of each client 86. Performs playback processing every minute and provides digital content to users. Functioning.
  • an application is included in each client, and digital contents are stored for each client 86.
  • the pseudo-tunnel distribution can be executed by describing in the source packet the data that causes the server 82 to execute the “copy” of the packet within the group or between the groups.
  • the client stores the destination list selected from the client's list, determines the reception of the source 'packet, refers to the destination list, and transmits the copy packet.
  • the transmission time description area 92a includes copy instruction flag areas 92c and 92d for instructing whether or not to execute a copy of the data, and a data packet description area 92e composed of digital content substantial data.
  • the time when the server first sent the packet could be in any format recognizable by the client and the server.
  • the transmission time description area 92a determines the client to which the supervisor 82 sends each packet.
  • the packet identifier description area 92b is an area for recording the source number transmitted by the server 82 and the serial number attached to the packet.
  • the copy instruction flag area 92c is used when the client reconstructs the chronological order of the source and source packets. This is an area in which the true / false flag of whether to make a copy is described, and the client sends a copy of all received packets for which the flag in this area is true to all clients in the group.
  • the copy instruction flag area 92d stores the copy between groups. This is an area in which a true / false flag indicating whether or not to perform the first operation is described, and the client performs a process of transmitting a packet for which this flag is true to one of the clients in each of the other groups in the global group. Execute.
  • the data.packet description area 9 2 d is an area in which the substantial data of the digital ′ content to be transmitted by the server 82 and reproduced by the client 86 is described. In the present invention, other additional elements may be added before, after or between these elements, or the order of the elements may be changed. In some cases, some elements may be omitted.
  • the source 'packet 92 is configured to include a destination IP address specifying a destination when transmitting the source packet 92 and a source IP address, as shown in Fig. 11. .
  • FIG. 24 (b) shows a second embodiment of the source packet generated by the content distribution server 82 of the present invention. In the embodiment shown in FIG. 24 (b), the source.
  • Packet itself includes a list of clients to which a copy of the packet is to be transmitted, and specifies the delivery destination in more detail.
  • the server 82 refers to the client 'list held by the server itself and describes the list of the transmission destinations in the source' packet 92.
  • the source 'packet 92 shown in FIG. 24 (b) includes a transmission time description area 92a and a packet identifier description area 92b, which are the same as those described in FIG. 24 (a). It has a function to make the client execute this function.
  • the source 'packet 92 shown in FIG. 24 (b) is provided with a copy instruction data area 92f for specifying the copy destination specified by the server 82.
  • the client When the client determines that the source packet has been received, it reads the copy instruction data area 92f and executes the processing described below.
  • the value N_dest described in the copy instruction data area 92f specifies the list length of the destination to which the copy is to be transmitted, and the values D estl to D est N are the IP addresses specifying the clients to which the copy 'packet is to be transmitted.
  • Client identifiers such as can be used. For example, if your group is specified in the copy instruction data area 9 2 f, If so, the client sends its copy only to clients in the group.
  • FIG. 24 (c) is a diagram showing a third embodiment of the source packet 92 used in the present invention. The embodiment shown in FIG.
  • the client pre-stores the copy destination in the memory Alternatively, select from the clients' list stored in the storage device such as the hard disk, and select a client in another group that has an address in the address range assigned within a range that does not overlap with other clients, and Can be created. In the case of distributing copy packets within a group in the embodiment of FIG. 24 (c), distribution can be performed by executing broadcast communication within the group.
  • the client sends a copy of each packet to the other clients in the group and receives a copy of the packet received by one of the clients belonging to each of the other groups in the global group. 'You can decide in advance to send a copy of the packet.
  • the source 'packet shown in FIG. 24 (c) that can be used in this embodiment includes a transmission time description area 92a, a packet identifier description area 92b, and a data' packet description area 92e. And force, et al, is composed of the copy 'packet's destination is not included.
  • the client distributes the copy packet to the copy destination list or the designated client.
  • FIG. 25 is a flowchart showing a process executed by the server of the pseudo tunnel distribution of the present invention. In the pseudo tunnel distribution of the present invention, the server determines whether or not a new client has joined the group in step S130. 03 07093
  • step S 52 Monitor the notification (Jo in request) sent from the server and make a judgment. If the server finds a newly joining client (yes), the server assigns a smaller value in advance to the execution throughput of the newly joining client in step S 132, and This prevents large amounts of source 'packets from being sent to newly joining clients. Then, in step S134, the server adds the client to the client 'list and enables digital' content to be delivered.
  • the client can be identified by an identifier assigned to the client, for example, an IP address, a client name arbitrarily assigned to the client, and the like.
  • step S136 the server notifies all clients including the newly joined client in the global group that the new client has joined the global group and an identifier such as its IP address.
  • FIG. 26 is a diagram showing the process of the server and the client in the process of distributing digital content.
  • the server refers to the client 'list and obtains the highest execution throughput or round' trip time (RTT). Select the smallest client and send the first source 'packet with reference to the client's IP address and so on.
  • RTT round' trip time
  • the same source 'packet is delivered to only one client belonging to the global group.
  • the client receives the packet in step S142 and the packet received in step S144 Determines if the packet is a source packet from the server.
  • the source packet can be determined using, for example, a source address, a copy instruction flag, and whether or not a copy instruction data area is included in the source 'packet. Further, in the present invention, a copy of the source 'packet can be created in any format as long as it can be determined that the packet is a copy' packet.
  • the source's packet that can be used most universally can be determined using the source IP address in the packet because the IP address assigned to the server is usually a fixed IP address . If it is determined in step S144 that the packet is a source 'packet (yes), the client determines in step S146 the destination described in the source' packet or the destination shown in FIG. 24 (c). In the embodiment using the source 'packet, a copy of the source' packet is transmitted to a pre-registered distribution destination by referring to a copy destination list. In this case, the transmission of the copy packet is performed by including two processes. That is, (i) the source. The copy 'packet is transmitted to all the clients belonging to the group to which the client receiving the packet belongs.
  • the group to which the client receiving the source' packet does not belong is assigned to each group. Select one of the clients in the group and send a copy of this packet. This selection can be set in advance, or the RTT of the client to be sent should be monitored according to an appropriate standard method, and a response with a small response time can be determined in the same way as the content distribution server. You can also select and send dynamically. If it is determined in step S144 that the received packet is not a source packet (no), the received packet is to be stored by the client, and in step S148, the client receives the received copy 'packet. Is stored in a ring buffer or the like, processing for digital content reproduction is started, and the process returns to step S142 to repeat processing for the next packet.
  • FIG. 27 is a simplified diagram illustrating the process of transmitting and receiving a packet between the server and the client described above.
  • client a is denoted by G
  • Global group G belongs to group SG @ yi @ Z , and group 30 @ 1 @ 2 to 30 @@ 2 (1 ⁇ 1 ⁇ 1 ⁇ .
  • Client a Sends a copy of the source 'packet received from server 82 to all clients belonging to group SG @ yi @ z and to one client b in each of the other (m-1) groups.
  • the clients included in the global group G can receive packets from the server 82 and clients in other groups and clients in the same group.
  • the source' packet is Since duplicate transmission is not performed, packet duplication at the client can be completely avoided, and there is no problem of packet duplication at the client and the resulting problem of processing duplicate packets, and smooth digital content
  • the client stores a predetermined amount of source packets and copy 'packets in a ring-buffer, and then provides these packets to the application to transmit the digital' content.
  • the server Enables distribution of digital content without squeezing communication bandwidth for all groups and clients Only one set of packets is sent from the server to the global group.
  • One set includes source 'packet and copy' packets, and the average number of transmitted packets is one set or less per group.
  • the average number of transmitted packets is one set or less per group.
  • one received packet and one transmitted packet Is less than one set on average.
  • the number of all clients included in the global group is defined as m again, and M is defined as the number of groups constituting the global group.
  • the client statistically receives a set of 1 / m source 'packets and divides the received source packets into the group ( Copy to the client at m / M-1) and distribute to other groups at (M-1).
  • the following equation is obtained.
  • the client has been described as holding a pair of a digital content and an application for reproducing digital content.
  • the client and the application can be operated on the same computer, but as will be described in more detail later, the application can also share digital content, as described later. Implementation It is not limited to the form.
  • the server for generating digital 'contents' and the server for transmitting source' packets by performing streaming processing can be operated on the same computer, or can be separated from each other. Can be configured as When these are configured as separate computers, the communication between the provider and the server may be multicast or unicast using a communication protocol such as UDP or TCP. In this respect, the present invention is different from a so-called multicast 'tunnel' and enables to provide the same effect as multicast without using IP multicast at all between the server and the client.
  • FIG. 28 is a diagram showing the timing of packet transmission and reception between the server and the client. As shown in FIG. 28, the server sends the source packet # 1 to the client # 1 at time tl.
  • Client # 1 that has received the source packet #i sends a signal "Ack" notifying that the source packet has been received to the server.
  • the server receives the signal "Ack” at time t2, calculates the time difference (t2-tl), and updates the execution throughput of the corresponding client in the client 'list.
  • Client # 1 receives the source 'packet #i and generates a copy immediately' packet, and at time t3, the client of the group to which client # 1 belongs, in the embodiment shown in FIG. Copy to 2 ⁇ Send packet #i. At the same time, client # 1 sends a copy 'packet #i to client # 3, which belongs to another group.
  • Client # 2 receives copy 'packet #i at time t4, and client # 3 receives copy' packet #i at time t5.
  • Client # 3 sends a signal "Ack2" notifying that it has received the copy 'packet #i to client # 1, and signal "Ack2" is received by client # 1 at time t6.
  • the client # 1 calculates the execution throughput in the group, for example, as a time difference (t6 ⁇ t3), and updates the corresponding client 'list in the list.
  • client # 3 is JP03 / 07093
  • FIG. 29 is a diagram showing another embodiment of the pseudo tunnel distribution system of the present invention.
  • the bandwidth of reception / transmission (downlink / uplink) is asymmetric. The embodiment shown in FIG.
  • FIG. 29 is effective when the bandwidth of the uplink is designed to be small in the network on the client side.
  • a server sends a source 'packet
  • at least a part of the source' packet is sent to a plurality of clients.
  • clients belonging to different groups can be selected in ascending order of round trip time (RTT).
  • RTT round trip time
  • the source packet transmitted to a plurality of clients can use the source 'packet configuration shown in FIG. 24 (b) and directly specify which group and which client to copy.
  • the client that receives source # packet # i copies the source packet # i to another group where the same source packet # i has not been sent before.
  • the source 'packet #i' can describe the address of the group that sent the same source 'packet #i', and send a 'copy' packet to the group excluding the group of the described address. . Furthermore, by using the pseudo-tunnel distribution shown in Fig. 29, the traffic between groups can be reduced, and uplink packets can be reduced. Can be reduced. On the other hand, from the viewpoint of the server, the load becomes high because the same source 'packet needs to be transmitted to multiple clients.
  • FIG. 30 is a diagram showing still another embodiment of the pseudo tunnel distribution system of the present invention.
  • copy 'packets are not transmitted and received between clients in the group.
  • the client instead of sending a packet directly from the client to the application, the client sends the received packet using broadcast or LAN-local multicast referred to as a third network. .
  • FIG. 30 shows still another embodiment of the pseudo tunnel distribution system of the present invention.
  • copy 'packets are not transmitted and received between clients in the group.
  • the client instead of sending a packet directly from the client to the application, the client sends the received packet using broadcast or LAN-local multicast referred to as a third network. .
  • the application is stored on another computer 94, and the computer 94 storing the application is used to play digital content from a client 86 via a third network 96. To obtain the required packets and play digital content.
  • a wireless network or an Ethernet (registered trademark) is acceptable, but a third network used in the embodiment shown in FIG. 30 of the present invention.
  • the network may be a network having a purpose different from that of the second network, for example, using Ethernet (registered trademark).
  • the computer 94 storing the application can receive and play the packet which is updated by all the clients 86 in the group on the third network every time. Content can be played smoothly without excess or shortage. Further, in the embodiment shown in FIG.
  • the application can receive the packet without being paired with the client.
  • the client 86 can configure a pseudo tunnel without having to acquire and store all packets, which reduces the amount of communication traffic and saves hardware resources on the client side, while reducing digital 'content'. Distribution becomes possible.
  • a dynamic path is optimized on a packet-by-packet basis, so that the system is less affected by client participation and withdrawal, and the client You can join or leave at any time.
  • the system is hardly affected by disconnection due to abnormal termination or disconnection of the cable, and the stability can be improved.
  • the burden on clients is basically evenly distributed, and the reception function works as a whole global group (distributed coordination), so no special auxiliary server is required.
  • the burden on clients is basically evenly distributed, and the reception function works as a whole global group (distributed coordination), so no special auxiliary server is required.
  • the burden on clients is basically evenly distributed, and the reception function works as a whole global group (distributed coordination), so no special auxiliary server is required.
  • the burden on clients is basically evenly distributed, and the reception function works as a whole global group (distributed coordination), so no special auxiliary server is required.
  • the load on the server is significantly reduced, and computers that can only use resources equal to or less than the client are allowed.
  • it can function as a server.
  • the present invention for a given global group including a plurality of groups connected to each other via a network and each including a plurality of clients, the overhead of communication traffic to the server is provided.
  • Digital 'content distribution system that enables smooth and efficient distribution of digital' content while reducing the number of servers, as well as servers and clients therefor, and to make computers function as the above-mentioned servers and clients It is possible to provide a control method, a program for them, and a computer-readable recording medium on which the program is recorded.
  • Multicast benefits include the ability to distribute packets in a non-overlapping manner to use the network more efficiently and avoid congestion, and eliminate the need for costly replacement work at the network layer.
  • the properties are inherited without any loss, and it is possible to deliver excellent digital content.
  • the second network can include a server such as a printer server, a mail server, and an appliance server.
  • Means or portions for realizing the above-described functions of the present invention can be configured as software or a group of software modules described in a computer-executable program language, and are not necessarily configured as functional blocks illustrated in the drawings. No need to be done.
  • the above-described program for executing the digital content distribution of the present invention can be described using various programming languages, for example, C language, C ++ language, Java (registered trademark), and the like.
  • the code describing the program of the present invention is stored in a computer-readable recording medium such as a magnetic tape, a flexible disk, a hard disk, a compact disk (CD), a magneto-optical disk, and a digital versatile disk (DVD). be able to.
  • a computer-readable recording medium such as a magnetic tape, a flexible disk, a hard disk, a compact disk (CD), a magneto-optical disk, and a digital versatile disk (DVD).
  • FIG. 1 is a schematic diagram showing a digital content distribution system according to the present invention.
  • FIG. 2 is a schematic diagram of a path tree structure configured in the present invention.
  • FIG. 3 is a diagram schematically showing a process of transmitting a source “packet transmission or client copy” packet from a server.
  • FIG. 4 is a diagram showing an embodiment in which a client to be an intermediate node is dynamically selected in the present invention.
  • FIG. 5 is a diagram showing traffic of packets transmitted to and received from a client according to the present invention.
  • FIG. 6 is a schematic diagram of a case where a client is dynamically selected as an intermediate node in the present invention.
  • FIG. 1 is a schematic diagram showing a digital content distribution system according to the present invention.
  • FIG. 2 is a schematic diagram of a path tree structure configured in the present invention.
  • FIG. 3 is a diagram schematically showing a process of transmitting a source “packet transmission or client copy” packet from a server.
  • FIG. 7 is a diagram showing processing of a server when a new client is added to group # 1 in the present invention.
  • FIG. 8 is a diagram showing a process for a client who has newly joined based on a newly generated path tree new structure.
  • FIG. 9 is a functional block diagram showing a configuration of a client according to the present invention.
  • FIG. 10 is a functional block diagram showing the configuration of the server of the present invention.
  • FIG. 11 is a diagram showing an embodiment of a source packet that can be used in the present invention.
  • FIG. 12 shows an embodiment of a client 'list used by a server in the present invention.
  • FIG. FIG. 13 is a diagram showing an embodiment of a path tree structure of the present invention selected by a server.
  • FIG. 14 is a diagram showing a digital content distribution system according to a second embodiment of the present invention.
  • FIG. 15 is a block diagram showing the configuration of the source server and client shown in FIG.
  • FIG. 16 is a diagram showing, in chronological order, communication of source 'packets between the server of the present invention and the client.
  • FIG. 17 is a diagram showing transmission of source 'packet and copy' packets between clients selected as intermediate nodes in the present invention in time series between each client and server.
  • FIG. 18 is a flowchart showing processing of the client according to the present invention.
  • FIGS. 19A and 19B are flowcharts of the copy processing in the present invention, and FIG.
  • FIG. 19B is a flowchart for detecting that an unexpected client detachment has occurred or that the corresponding client has a serious failure.
  • 9 is a flowchart showing the processing of the server in the case of performing the processing.
  • FIG. 20 is a diagram showing another embodiment of the digital content distribution system of the present invention.
  • FIG. 21 is a diagram showing still another embodiment of the digital content distribution system of the present invention.
  • FIG. 22 is a diagram showing still another embodiment of the present invention, which makes it possible to reduce the load on a server on a wireless network.
  • FIG. 23 is a block diagram showing the configuration of the content distribution system of the present invention.
  • FIG. 24 is a diagram showing another embodiment of a source 'packet that can be used in the present invention.
  • FIG. 25 is a flowchart of a process for executing content distribution according to the present invention.
  • FIG. 26 is a flowchart showing processing of the server / client when executing the content distribution of the present invention.
  • FIG. 27 is a diagram showing a simplified flow of a source 'packet and a copy' packet distributed by the content distribution of the present invention.
  • FIG. 28 shows still another embodiment of the content distribution system of the present invention.
  • FIG. 29 is a diagram showing still another embodiment of the content distribution system of the present invention.
  • FIG. 30 is a diagram showing still another embodiment of the content distribution system of the present invention.
  • Figure 31 is a schematic diagram of a conventional IP multicast system.
  • Figure 32 is a schematic diagram of digital content distribution using a conventional application-level 'multicast method.
  • Figure 33 is a schematic diagram of a conventional digital content distribution system that connects a client to an edge server.
  • Figure 34 is a schematic diagram showing the distribution of conventional digital 'digital' using 'tunneling'.
  • Figure 35 is a schematic diagram showing the communication traffic environment in the distribution of conventional digital 'digital using tunneling' content.

Abstract

 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラムおよび該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアントを提供する。 本発明のディジタル・コンテンツ配信システムは、第1のネットワーク12と第2のネットワーク22とを介してディジタル・コンテンツを配信し、サーバ14は、第1のネットワーク12に接続され、第2のネットワーク22には、ディジタル・コンテンツを受信して表示または再生するためのクライアント20が接続されている。サーバ14は、保持したディジタル・コンテンツを複数のパケットに分割し、第2のネットワーク22に対してディジタル・コンテンツを構成するための最小単位のパケットを送信し、クライアント20は、クライアント20がサーバ14から受信した最小単位のパケットと、第2のネットワークを構成する他のクライアントから受信したパケットとを使用して、クライアント20に対してディジタル・コンテンツを保持させるための手段を含む。

Description

明 細 書 ディジタル ·コンテンツ配信システム、ディジタル 'コンテンツ配信方法、 該方法を実行するためのプログラム、該プログラムを記憶したコンビユー タ可読な記録媒体、およびそのためのサーバおょぴクライアント 技術分野
本発明は、ディジタル 'コンテンツの配信に関し、より詳細には、ディジタルコ ンテンッ配信サイトからネットワークを介してディジタル 'コンテンツを配信して、 複数のクライアントに保持させることにより、ネットワークを介してディジタル 'コ ンテンッを効率よく配信することを可能とするディジタル ·コンテンツ配信シス テム、ディジタル.コンテンツ配信方法、該方法を実行させるためのプログラム、 該プログラムを含むコンピュータ可読な記録媒体、そのためのサーバおょぴク ライアントに関する。 また、本発明は、ネットワークを介して互いに接続され、それぞれ複数のクラ イアントを含んで構成される複数のグループを含む所定の大域グループに対 し、サーバに対する通信トラフィックのオーバーヘッドを低減させつつ、デイジ タル.コンテンツの配信を可能とするディジタル.コンテンツ配信システム、およ ぴそのためのサーバ、およびクライアント、並びにコンピュータを上述したサー パおよびクライアントとして機能させるための制御方法、それらのためのプログ ラムおょぴ該プログラムを記録したコンピュータ可読な記録媒体に関する。 背景技術
近年では、コンピュータ、公衆電話回線、 I S D N、光通信、無線通信、 AD S L、 C ATVなどの方式を介したインターネットといったネットワークがますます 普及している。今後、電子メールといったディジタル 'コンテンツの配信ばかり ではなく、ネットワークを介してテキスト 'データ、音声データ、画像データ、お ょぴこれらの複合したマルチメディア'データを、ディジタル 'コンテンツを提供 するサイトに配置されたサーバから、ネットワークを介して複数のコンピュータ、 または携帯型端末といったクライアントへと配信するサービスがさらに普及す るものと考えられる。 一方では、上述したインターネットといった広範な範囲に渡ってディジタル' コンテンツを配信、または管理することが可能な第 1のネットワークの他に、企 業、政府機関、行政機関、教育機関、図書館、放送通信機関といった公 共的グループにおいてコンピュータ資源の効率的な利用を可能とするため、 インターネットに比較すれば狭い範囲においてディジタル.コンテンツを共有し て管理し、配信を行う、ローカル'エリア'ネットワーク(LAN)、ワイド 'エリア' ネットワーク(WAN)といった第 2のネットワークも、急速に普及している。すな わち、現在におけるサーバー公共的グループ間の接続は、多くの場合には、 複数のグループに帰属される複数のネットワークを介して行われているといえ る。通常、上述した第 2のネットワークにおいては、コンピュータといった複数の クライアント(以下、クライアントとして参照する。)が所定のグループを形成す るように接続されており、グループ毎に所与のディジタル 'コンテンツを保持す ることが可能とされている。 上述したネットワーク環境においては、サーバが保持するディジタル 'コンテ ンッを、他のネットワークに帰属される複数のクライアントへと配信することが必 要とされる場合がある。これまでサーバから送信されるディジタル 'コンテンツを 複数のクライアントに向けて配信する送信する方法またはシステムが種々提 案されてきている。 例え'ば、 Deering, S.ら、 ι Multicast. "Routing in Internetworks and Extended LANs」 ( Stanford University, Department of Computer Science Technical Report: ST AN— CS— 88— 1214, July, 1988) lおレヽて ίま、 ネットワーク系路上でパケットの重複を回避するため、いわゆる IPマルチキャス トと呼ばれる方法が提案されている。図 31には、 Deeringらにより提案された I Pマルチキャスト方式の概略図を示す。図 31に示されるように、 Deering らに より提案された IPマルチキャスト方式は、ネットワーク 100上でのパケットの重 複を排除し、良好な通信を可能とするものの、単純な IP転送を行うルータの 代わりに、サービスを受けるクライアントに関する「ステート(state)」を持つ専 用のルータを配置する必要があるなど、ネットワーク資源の複雑化を伴うとい つた不都合があった。また、上述したネットワーク資源の複雑化に関連して、 ネットワーク設備の増設が必要とされること、またはクライアントの不意の障害 や、離脱といった事態に対応することができないなど、スケーラビリティに制約 が生じるという不都合が生じていた。 また、 IPマルチキャストは、任意のソースから任意のグループにデータが送れ るという仕組み上、悪意のある攻撃に弱くなること、グループに対して唯一の 大域的なアドレスを確保する必要があること、基本的にべスト'エフオート型で あり、ディジタル'コンテンツの配信を行う点では低コストでサービスを運営でき るという利点がある。しかしながら、 IPマルチキャストは、わずかな回線中断が 多大な損失につながる企業の基幹回線や、常に一定の帯域を確保する必 要がある動画配信などの用途には不向きであるなど、信頼性や、混雑の回 避、セキュリティなどの扱いが、ュニキャストに比べて難しいという不都合があ る。さらには、 IPマルチキャストは、ネットワーク基盤の大規模な変更を必要と することなどの理由により、まだまだ実用的であるとはいえない。 また、上述した IPマルチキャストの問題点を解消するために、 「アプリケーシ ヨン一レべノレ.マノレチキャスト(application-level multicast)」方式も提案され ている (Dimitrios Pendarakis , Sherlia Shi, Dinesh Verma, and Marcel Waldvogel. Almi: An application level multicast infrastructure. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems (USITS), pages 49— 60, 2001; Y. Chu, S. Rao, and H. Zhang. A Case For End System Multicast. In Proc. ACM Sigmetrics, June 2000; P. Francis, "Yoid: extending the interent ' multicast architecture, " preprint available from http://www.isis.edu/div7/yoid/, April 2000)。 上述した先行技術においては、クライアントがパケット送信の中継点を兼ね て、より下流側のクライアントにパケットを転送する方式が用いられる。図 24に は、アプリケーション一レベル.マルチキャスト方式を使用したディジタル'コン テンッの配信の概略図を示す。図 32に示されるアプリケーション一レベル ·マ ルチキャスト方式は、クライアント 106に対してランクを与え、それぞれパス木 構造にしたがって、パケットの送信を行うことができる構成とされている。図 32 に示したアプリケーション一レベル 'マルチキャスト方式においては、 Pendarakis らは、すべての参加クライアントを効率的に接続する最小ネットヮ ークを計算する。また、 Chu らは、パケットの流れをクライアントに対して割り当 てる試みを行っている。 最小ネットワークは、たとえば、枝が round-trip time (RTT)で重み付けさ れた minimum spanning tree (MST)として形成される。 M STは、静的に決 定されるので、参加クライアントの離脱等が起きた場合には再構成が必要と なる。この再構成を行う計算は、サーバ 108が実行するので、サーバ 108に 対して与えられるオーバーヘッドが大きくなるという不都合がある。また、各々 の参加離脱による再構成を局所的に行い、定期的に全体の構成を見直す などとして、サーバ 108に対するォ一バーヘッドを軽減するための方式も提案 されている。それでも、パケットを送信するパス木構造の中間に位置するクライ アントが離脱した場合や、クライアント 106の中央処理装置(CPU)が他のプ 口セスに割り当てられ、パケットをリレーできない場合などには、その下流のクラ イアントにおいてパケット受信の突発的な遮断といった影響を受ける。この不 都合を回避するには、最小ネットワーク(木構造)に冗長性を持たせる、ある いは代替の木構造をあらかじめ用意するなどの対策が必要となり、最小ネッ トワークの構成がますます複雑化し、このため、再構成の際にサーバ 108に 対して加えられるオーバーヘッドがさらに増加することになる。この理由は、各 クライアントがリレーの役割を静的に与えられていることによるものであり、ネット ワーク構成情報を含むパス木構造の生成 ·再構成は、サーバのみが行うこと による。 一方では、分散したクライアントを使用して、協調的に送信パケットのキヤッ シングを行うシステムも提案されている。協調的にパケットのキャッシングを行う システムでは、サーバ 108からではなくて、クライアント 106のキャッシュからデ ータを入手する(特願平 11— 282332明細書、発明の名称「分散クライアン トベースのデータ.キャッシング 'システム」)。特願平 11— 282332号明細書 には、各クライアントが、データ ·キャッシュとクライアントの対応表を利用して、 希望するデータをキャッシュしているクライアントを探し出し、そのクライアントか らデータを入手する手法が開示されている。 · 特願平 11— 282332号明細書に開示された方法は、良好にクライアント におけるキャッシングを行うことを可能とするものの、データを入手した時点で、 少なくともキャッシュされるデータの長さだけ遅れが生じ、時間遅れの小さい、 リアルタイム性が必要なストリーミングなどの場合には、リアルタイム性の点で 充分ではない。また、特願平 11一 282332号明細書では、大きなデータ長 でのキャッシングについては何ら開示するものではない。また、上述したデ一 タ'キャッシング 'システムは、キャッシングによる時間遅延を低減するべく、スト リームを小さなパケットに分割して管理すると、パケットの単位で頻繁にキヤッ シングのための対応表を更新することが必要となり、クライアントに対するォー バーヘッドが増大する。そのため、対応表をクライアントに含ませる利点が損 なわれるばかりでなく、クライアントのオーバーヘッドを著しく増加させてしまうの で、実用的ではない。 一方、 Aramaki らは、クライアントをエッジ.サーバに接続させる構成を提案 している(http://www.akamai.com)。図 33に Aramakiらにより提案された方 式を概略的に示す。図 33に示した Aramaki らの方式では、ネットヮ一ク 100 を介して遠隔的に配置されたサーバ 108と、クライアント 106の近くに配置さ れたエッジ 'サーバ 110とを使用する。遠隔サーバ 108と、エッジ 'サーバ 110 との間のネットワーク 100は、ベスト'エフオート型のネットワークとされており、パ ンド幅を使い切るようにしてディジタル 'コンテンツを送信した後、送信された ディジタル 'コンテンツは、いったんエッジ'サーバ 110でキャッシュされる。キヤ ッシュされたディジタル 'コンテンツは、エッジ 'サーバ 110から改めて近隣のク ライアントにストリーミングされ、ディジタル 'コンテンツのクライアントに対する配 信が完了される。すなわち、 Aramaki らの方法は、サーバ 108とエッジ'サー バ 110の間のパケットの重複を抑え、混雑を回避する方法のひとつの解決 策を与えるものである。しかしながら、エッジ 'サ一バ 110を使用する場合であ つても、エッジ ·サーバ 110のオーバーヘッドが課題となりがちで、エッジ'サ一 ノ 110から各クライアントへとパケットを送信する際にも送信パケットの重複を 低減することが必要である。 サーバ 108とエッジ.サーバ 110の間がインターネットでない場合でも、パック ボーンがパンド幅共有型のイントラネットなら、バックボーンでのパケット重複に よる混雑を回避するために同様のサーバ 108と、エッジ 'サーバ 110とを使用 する構成が利用できる。し力 しながら、バックボーン 'ルータで相互接続されて いるエンド.ルータの下すべてにエッジ.サーバ 110を配置することが必要とさ れるので、 LANまたは WANといった第 2のネットワークを構成するためのコスト が高まり、さらにエッジ 'サーバ 110のメンテナンス 'コストの増加、そのための ネットワーク管理者への負荷増大といった不都合が発生してしまう。また、シ ステムとしての複雑さの増加は、ネットワークおよびそのための処理の自律性
(autonomic computing)という観点から問題となる状況が生じる。このため、 ディジタル 'コンテンツをリアルタイム性を確保しつつ、複数のクライアントへと、 特別の補助サーバ(エッジ 'サーバなど)を持たず、 単純で、 かつ self-configuring, self-optimizing などの機能を含むネットワークの自律性 を付与したロバスト運用されるシステムを提供することが必要とされていた。 また、前述の IPマルチキャストでは送信元は宛先として特別な範囲内の値 をもつ IPアドレスを指定してパケットを送信する。この IPアドレスがマルチキヤ ストグループを表しており、受信側ホストは、このグループへの参加要求を経 路上にある各ルータへと送信し、これを受信したルータが参加要求を送信し たグループを認識してパケットを配信する処理を実行する。マルチキャストを 使用することによつても適切なルーティングを行うことにより、パケットの重複な しに多数の受信側ホストに対して一度に同じパケットを送信することができ る。 上述したルータを越えない単一ネットワーク内や、限定されたネットワーク上 では、特に設備 '装置の大きな投資負担や、通信トラフィックに対する不都 合を生じさせずにマルチキャストによるコンテンツの配信は良好に機能する。 しかしながら、現状のインターネットが全体として使用する通信プロトコル(IPv 4 )では通常、マルチキャスト機能が有効化されておらず、実際にインターネッ ト上でマルチキャストを行うには一般に追加の装置'設備を必要とする。 図 34には、上述したマルチキャストが可能なグループに対して疑似マルチ キャスト、例えばよく知られた方法として、 マルチキャストに対応したネットヮー クと別のマルチキャスト対応のコンテンツ配信を可能とするネットワーク 'システ ムを示す。図 34に示したネットワーク 'システムは、サーバと、複数のグループ との間に複数のトンネルを形成することによりディジタル 'コンテンツの配信を 可能としてレヽる。図 34に示されるサ一/ 1 1 2は、各グノレープ 1 14 a〜1 1 4 c力 ら構成される大域ダループ Gへとディジタル 'コンテンツを、インターネットとい つた第 1のネットワーク 1 1 6を介して配信する。図 34に示された大域グループ Gは、グループ 1 14 a〜グループ 1 14 cを含んで構成されており、例えば企業、 公共機関、政府機関、学校教育機関などを挙げることができる。 具体的には、例えば 1つの企業を例として説明すると、グループ 1 1 4 aは、 北海道営業所であり、グループ 1 1 4 cは、同一の企業の九州営業所などと することができる。図 34に示したサ一パ 112は、グループ 114a〜114cのそれ ぞれに対して、いわゆるトンネル 118a~ 118cといわれる構成を使用して、デ イジタ^/.コンテンツをマルチキャスト配信している。トンネル 118a〜 118cは、 より詳細には異なる二つのネットワーク間に、それぞれトンネルの入口ポートお ょぴ出口ポートを設置し、入口ポートと出口ポートとを経由してデータ'パケッ トを転送することで、ネットワーク上の受信者に対してマルチキャスト 'パケット を一度に配信する。図 34に示されるように、複数のグループに対してマルチ キャスト配信を行うためには、グループ分だけトンネルを複数用意しなければ ならないことになる。 上述したトンネリングの技術は、既に一般的に知られたものであり、グループ が多数ある場合には、トンネリングによるマルチキャスト配信は充分に機能し ないことが多いことも知られている。これをより具体的に示したのが図 35である。 図 35では、ディジタルコンテンツの送信者(以下プロバイダとして参照する。) と多数のグループとがインターネットを介して接続されている。グループ 114a 〜114cは、グループが使用する ISDN、 ADSL, CATV,光通信などの通 信容量の異なる回線で第 1のネットワークに接続されている。さらに、グループ 114a〜114cは、またそれぞれ通信容量がまちまちで異なる種類の通信イン フラ基盤、例えばイーサネット(登録商標)やワイヤレス通信ネットワークを用 いて構成されたローカル'エリア'ネットワーク(LAN)といった第 2のネットヮ一 クにより接続されている。これらの第 2のネットワーク上にそれぞれ複数のクライ アント 122が接続されており、これらがルータ 124などによって第 1のネットヮー ク 116に接続されている。このような状況で、サーバ 112がすべてのクライアン ト 122に対してパケットを送信するものとする。 図 35に示した状況下では、トンネリングによりマルチキャスト配信を行う従来 の手法では、下記に示す不都合が生じる。
( 1 )受信側となるグループにおける運用および管理の問題:第 2のネットヮー クにトンネルのポートを提供するため、マルチキャストによるパケットを受信し、 クライアント 122へとマルチキャストすることが可能な構成とされた専用ホスト装 置が必要になる。当然ながら、グループ内を相互接続する LANへの通信は、 専用ホスト装置の機能に依存するため、もし専用ホストが何らかの理由で利 用できなくなった場合には、専用ホスト装置が管理する第 2のネットワークの すべての'クライアントに影響が生じてしまう。
( 2 )コンテンツ配信サーバのネットワーク帯域幅の問題:サ一パ 1 12と各グル ープ間の通信は、ュニキャストであるため、グループが M個あればサーバが送 信するパケット量、およびそのための通信トラフィック量は、 M倍になる。したが つて、サーバ 1 1 2側において非常に太い通信インフラ基盤を使用しない限り、 グループが多くなればなるほどリアルタイム性を損なわずに同時に通信するこ とはできず、マルチキャストを使用するコスト'メリット的な魅力が失われてしまう ことになる。
すなわち、これまで 1対多のデジタル 'コンテンツ、特にリアルタイム性が必要 とされるディジタル 'コンテンツの配信において、ネットワーク系路上での送信 パケットの重複を避けて、トラフィックの混雑を回避すると共に、個々のルータ の複雑化を招くことなく、また経路上すベてのルータを交換する作業おょぴコ ストなど、大規模な投資を伴う変更を必要としないリアルタイム性の向上した ディジタル.コンテンツの配信を可能とすることが必要とされていた。また、ルー タ、スイッチング'ハブなどのネットワーク層の変更なく、さらには静的な最小ネ ットワークにおけるクライアントの頻繁な参加および離脱に対応する再構成の 必要を排除することで、サーバへのオーバ一ヘッドを低減させ、ネットワーク' システムの安定性を損なわずにディジタル.コンテンツの配信を行うことが必 要とされていた。 具体的に言えば、たとえば、上流の中継点に位置するクライアントが異常 終了などで離脱した場合に、その下流側のクライアントの安定性を確保し、 確実にユーザに対してディジタル'コンテンツを配信することを可能とするべく, 冗長性を持たせるネットワーク構成にするなど、ネットワーク資源の複雑化お ょぴサーバに対する再編成のオーバーヘッドを増すことなく、ディジタル'コン テンッのリアルタイム性を確保するディジタル ·コンテンッの配信を行うことが必 要とされていた。 さらには、トンネリングを使用する場合にはグループが増えるにつれて構成さ れるトンネルの個数を増やすことも可能であるが、トンネルの数の増加に対応 してサーバ側の通信トラフィックをさらに圧迫することになる。また、サーバ側に おける上述した不都合を防止するためにグループ間にもトンネルを構成し、力 スケード状にパケットを中継することでサーバ側の混雑を避ける方法も考えら れる。しかしながら、グループ間においてもトンネルのポートを構成するため追 加の装置 ·設備が必要となることや、グループ間における階層構造が形成さ れるため、一つのグループにおけるトンネルの障害が、他のグループにも致命 的な影響を与えてしまうことになるという、新たな問題が生じる。さらには、サー パから直接送られたパケットと、カスケード的に他のグループから送られてきた パケットとが重複してしまうことも考えられ、このためにディジタル 'コンテンツの 再生に不都合をきたしたり、ソフトウェア的にパケットの重複を排除することが 必要となるなど、再生品質おょぴソフトウェア 'コスト的にも、充分に対応を可 能とするものではない。 発明の開示
本発明は、上述した不都合に鑑みてなされたものであり、本発明において は、グループの数に依存することなく、サーバから複数の情報処理装置に対 してディジタル.コンテンツをリアルタイムで提供する。ディジタル 'コンテンツの 提供は、サーバが、ディジタル 'コンテンツを第 1のネットワークを介してパケット として第 2のネットワークに属する少なくとも 1つのクライアントへと送信する。送 信されるパケットは、ディジタル 'コンテンツを再構成するために必要とされる 最小単位とされる。なお、本発明においては、最小単位のパケットとは、元の ディジタル.コンテンツをパケットの重複無く再構成することができる最小のパ ケットのことを意味し、本発明においては、以下、ソース'パケットとして参照す る。ソース'パケットを受け取ったクライアントは、第 2のネットワークを介して第 2 のネットワークに接続されたクライアントに対して受信したソース ·パケットのコピ 一を送信する。コピー ·パケットを送信したクライアントは、他のクライアントが受 信したソース'パケットのコピーを受信する。 所定の期間の間に複数のパケットに分割されて送信されたディジタル'コン テンッは、クライアントにおいて結合させることにより再構成され、クライアントに おいてユーザへとリアルタイムで提供される。本発明における提供の態様は、 動画イメージ 'データの表示、オーディオ ·データの再生、マルチメディア 'デ ータを構成する画像データの表示と、それに同期したオーディオ'データの再 生などの、これまで知られたいかなる態様をも含みうる。以下、本発明におい て上述した提供態様を含めて表示または再生として定義する。再構成され たディジタル ·コンテンツを提供させている間に、クライアントは、さらに後続す るパケットを受信し、すでに再構成されたディジタル 'コンテンツの提供の間に、 後続するストリームの再構成を完了し連続的なディジタル 'コンテンツの提供 を可能とする。 本発明は、上述の処理を繰り返すことにより、送信されたパケットの重複を 回避しつつ、ディジタル ·コンテンツの安定した配信を続け、ネットワークを構 成するクライアントの頻繁な離脱や新規の参加に対して、柔軟に対応するこ とを可能とする。また、本発明は、たとえば CP U割り当て状況の変化など、各 クライアントにおける大きな環境変動に対してもディジタル 'コンテンツの配信 の効率に影響を与えない、安定したシステムを実現する。また、本発明は、 特別な構成のルータや、スイッチング'ハブ、または補助サーバなどを用いな いことにより、ネットワーク 'システムのコストを不必要に増大させることなく、さら にネットワーク.ユーザに対してメンテナンスなどの業務を付加することのない ディジタル.コンテンツの配信を可能とする。 さらに本発明は、配信を行うためのトンネルにかかわらず効率的にサーバか ら所定の大域グループへと配信を行うための疑似トンネリング配信を提供す る。本発明において疑似トンネル配信とは、サーバからはディジタル 'コンテン ッを再構成するに必要とされる最小限のソース'パケットを重複なく大域ダル ープへと配信するだけで、大域グループ内のクライアントに同一のディジタル' コンテンツを重大なタイムラグを生じさせず、かつスムースに提供することを可 能とする配信システムおよび配信方法を意味する。本発明における疑似トン ネル配信においては、サーバは、パケットを複数のグループに帰属されるクラ イアントへと重複なく配信する。本発明では、複数のクライアントは、グループ を構成し、複数のグループが大域グループを構成する。また、サーバは、大 域グループ全体に対してパケットを送信することが可能な構成とされ、パケッ トを送信する場合に大域グループ内から都度送信先のクライアントを選択す る。少なくとも 1台のクライアントは、ディジタル 'コンテンツを構成するソース'パ ケットをサーバから受信する。サーバおょぴクライアントは、大域グループを構 成するクライアントのクライアント ·リストを保有しており、ソース'パケットを受信 したクライアントは、ソース.パケットと共に受信するソース.パケット配信データ または予め割り当てられたコピ一先リストを参照して、他のクライアントへと、ソ ース.パケットのコピーを配信する。上述した処理を実行することによりすべて のクライアントにおいてディジタル ·コンテンツを過不足なく再構成する。 さらに本発明では、大域グループに属するクライアントのネットワーク特性を 効率的に活用するために、グループにおける LANを有効利用する。各グル ープは、各グループに帰属されるクライアント間で例えば、一つのスィッチン グ-ハブに接続させて構成することで、スィッチの機能を利用して互いに影響 を与えることなく通信が可能となる。また、本発明においては、一つのルータ の下に接続された複数のクライアントと、アプリケーション 'コンピュータとの間 においてマルチキャスト対応の第 3のネットワークを構成させることで、ディジタ ルコンテンツをグループに共有させ、クライアントのオーバーヘッドおよびハード ウェア資源をより低減することを可能とする。 すなわち、本発明によれば、第 1のネットワークと第 2のネットワークとを介し てディジタル 'コンテンツを配信するためのシステムであって、
前記第 1のネットワークに接続され、ディジタル 'コンテンツを送信するサーバ と、
前記第 1のネットワークに接続される前記第 2のネットワークを構成し、前記 ディジタル.コンテンツを受信して提供するためのクライアントとを含み、 前記サーバは、保持したディジタル 'コンテンツを複数のパケットに分割して 前記第 2のネットワークに対して前記ディジタル ·コンテンツを構成するための 最小単位のパケットを送信する手段を含み、
前記第 2のネットワークを構成する前記クライアントは、前記クライアントが前 記サーバから受信した前記最小単位のパケットと、前記第 2のネットワークを 構成する他のクライアントから受信したパケットとを使用して、前記第 2のネット ワーク内に接続されたすベての前記クライアントに対して前記ディジタル ·コン テンッを保持させるための手段を含む
ディジタル ·コンテンッ配信システムが提供される。 本発明においては、前記サーバは、前記最小単位のパケットを、前記第 2 のネットワークの複数のクライアントに動的に割り当てる手段を含むことができ る。本発明における前記最小単位のパケットを前記第 2のネットワークの複 数のクライアントに割り当てる手段は、
前記クライアントのオーバ一ヘッドを決定するための手段と、
前記オーバーヘッドに関連して前記クライアントの少なくとも 1つを中間ノー ドとして動的に選択し、当該中間ノードに宛てて前記パケットを割り当てる手 段と
を含むことができる。本発明の前記クライアントのオーバーヘッドを決定する ための手段は、前記サーバが前記最小単位のパケットを所定のクライアント に宛てて送信した時刻と、前記所定のクライアントが前記最小単位のパケッ トの受信通知を発行した時刻との時間差を決定するための手段を含むこと ができる。 本発明によれば、第 1のネットワークに接続され、ディジタル ·コンテンツを送 信するサーバと、前記第 1のネットワークに接続される第 2のネットヮ一 を構 成し、前記ディジタル ·コンテンツを受信して提供するためのクライアントとを含 み、前記第 1のネットワークと前記第 2のネットワークとを介してディジタル ·コン テンッを前記クライアントに配信するための方法であって、
ディジタル ·コンテンツを複数のパケットに分割して前記サーバから前記クラ イアントに対して前記ディジタル 'コンテンツを構成するための最小単位のパ ケットを送信するステップと、
前記第 2のネットワークを構成するクライアントが前記サーバから前記最小 単位のパケットを受信するステップと、
前記第 2のネットワークを構成する他のクライアントから前記ディジタル'コン テンッを再構成するためのパケットを受信するステップと、
前記サーバから送信された前記最小単位のパケットと、前記他のクライアン トから受信したパケットとを使用して、前記第 2のネットワーク内に接続された すべての前記クライアントに対して前記ディジタル ·コンテンツを保持させるス テツプと
を含むディジタル 'コンテンツ配信方法が提供される。 本発明によれば、第 1のネットワークに接続され、ディジタル.コンテンツを送 信するサーバと、前記第 1のネットワークに接続される第 2のネットワークを構 成し、前記ディジタル .コンテンツを受信して提供するための宛先が指定され たクライアントとを含み、前記第 1のネットワークと前記第 2のネットワークとを介 してディジタル ·コンテンツを前記宛先に宛てて配信する方法を実行するため のサーバ.プロセスを実行するプログラムであって、前記プログラムは、 ディジタル 'コンテンツを複数のパケットに分割するステップと、
最小単位のパケットを、前記サーバから前記第 2のネットワークの複数の宛 先に動的に割り当てるステップと、 前記サーバから前記第 1のネットワークを介して前記第 2のネットワークに対 して前記ディジタル ·コンテンツを構成するための最小単位のパケットを送信 するステップと、
を含み、前記割り当てステップは、
前記宛先からの受信通知を受信するステップと、
前記受信通知を前記サーバに保持させるステップと、
前記保持された受信通知を使用して関連して中間ノードとなる宛先を選 択するステップと、
前記中間ノードとして選択された宛先に宛てて前記最小単位のパケットを 割り当てるステップと
を実行させるプログラムが提供される。 本発明によれば、第 1のネットワークに接続され、ディジタル 'コンテンツを送 信するサーバと、前記第 1のネットワークに接続される第 2のネットワークを構 成し、前記ディジタル 'コンテンツを受信して提供するための宛先が指定され たクライアントとを含み、前記第 1のネットワークと前記第 · 2のネットワークとを介 してディジタル ·コンテンツを前記宛先に宛てて配信する方法を実行するため のサーバ.プロセスを実行するプログラムが記録されたコンピュータ可読な記 録媒体であって、前記プログラムは、
ディジタル 'コンテンツを複数のパケットに分割するステップと、
前記サーバから最小単位のパケットを、前記第 2のネットワークの複数の宛 先に動的に割り当てるステップと、
前記サーバから前記第 1のネットワークを介して前記第 2のネットワークに対 して前記ディジタル 'コンテンツを構成するための最小単位のパケットを送信 するステップと、
を含み、前記割り当てステップは、
前記宛先からの受信通知を受信するステップと、
前記受信通知を前記サーバに保持させるステップと、
前記保持された受信通知を使用して関連して中間ノードとなる宛先を選 択するステップと、
前記中間ノードとして選択された宛先に宛てて前記最小単位のパケットを 割り当てるステップと
を実行させる記録媒体が提供される。 本発明によれば、第 1のネットワークに接続され、ディジタル 'コンテンツを送 信するサーバと、前記第 1のネットワークに接続される第 2のネットワークを構 成し、前記ディジタル ·コンテンツを受信して提供するためのクライアントとを含 み、前記第 1のネットワークと前記第 2のネットワークとを介してディジタル'コン テンッを前記クライアントに配信するための方法を実行するクライアント 'プロ セスを実行させるためのプログラムであって、該プログラムは、前記クライアント に対し、
前記第 1のネットワークを介して複数のパケットに分割されたディジタル'コン テンッを構成する最小単位のパケットを受信するステップと、
前記第 2のネットワークを構成する他のクライアントから前記ディジタル'コン テンッを再構成するためのパケットを受信するステップと、
前記第 1のネットワークを介して受信した前記最小単位のパケットと、前記 他のクライアントから受信したパケットとを使用して前記第 2のネットワークに含 まれる前記クライアントに对して前記ディジタル ·コンテンツを保持させるステツ プと
を実行させるプログラムが提供される。 本発明によれば、第 1のネットワークに接続され、ディジタル 'コンテンツを送 信するサーバと、前記第 1のネットワークに接続される第 2のネットワークを構 成し、前記ディジタル 'コンテンツを受信して提供するためのクライアントとを含 み、前記第 1のネットワークと前記第 2のネットワークとを介してディジタル'コン テンッを前記クライアントに配信するための方法を実行するクライアント 'プロ セスを実行させるためのプログラムが記録されたコンピュータ可読な記録媒体 であって、該プログラムは、前記クライアントに対し、 JP03/07093
17 前記第 1のネットワークを介して複数のパケットに分割されたディジタル ·コン テンッを構成する最小単位のパケットを受信するステップと、
前記第 2のネットワークを構成する他のクライアントから前記ディジタル'コン テンッを再構成するためのパケットを受信するステップと、
前記第 1のネットワークを介して受信した前記最小単位のパケットと、前記 他のクライアントから受信したパケットとを使用して前記第 2のネットワークに含 まれる前記クライアントに対して前記ディジタル ·コンテンツを保持させるステツ プと
を実行させる記録媒体が提供される。 本発明によれば、第 1のネットワークに接続され、ディジタル ·コンテンツを前 記第 1のネットワークに接続される第 2のネットワークに対して提供するための サーバであって、該サーバは、
ディジタル'コンテンツを複数のパケットに分割するための手段と、
前記第 2のネットワークに含まれる宛先を含むリストを記憶する手段と、 前記サーバから前記第 1のネットワークを介して前記第 2のネットワークに対 して、前記ディジタル ·コンテンツを構成するための最小単位のパケットを送 信する手段と、
前記リストを使用して前記最小単位のパケットを送信する前記第 2のネット ワークに対する宛先を動的に割り当てる動的割り当て手段と、
前記宛先からの受信通知を受信する手段と、
前記受信通知を使用して中間ノードとなる宛先を選択する手段と、 前記中間ノードとして選択された宛先を使用して前記最小単位のパケット を送信する手段と
を含むディジタル 'コンテンツ配信サーバが提供される。 本発明によれば、第 1のネットワークを介して配信されるディジタル 'コンテン ッを受信し、前記第 1のネットワークに接続される第 2のネットワークを構成す るクライアントであって、該クライアントは、 前記第 1のネットワークを介して複数のパケットに分割されたディジタル ·コン テンッを構成する最小単位のパケットを受信する手段と、
前記第 2のネットワークを介して前記ディジタル 'コンテンツを再構成するた めのパケットを受信する手段と、
前記第 1のネットワークを介して受信した前記最小単位のパケットと、前記 第 2のネットワークを介して他のクライアントから受信したパケットとを使用して、 前記第 2のネットワークに含まれるクライアントに対して前記ディジタル 'コンテ ンッを保持させる手段と
を含むクライアントが提供される。 本発明によれば、第 1のネットワークと第 2のネットワークとを介してディジタ ル.コンテンツを所定の大域グループに配信するためのシステムであって、 前記第 1のネットワークに接続され、ディジタル 'コンテンツを送信するサーバ と、
前記第 1のネットワークに接続される前記第 2のネットワークを構成するクラ イアントを含んで構成され、前記ディジタル ·コンテンツを受信して提供する前 記大域グループを構成する複数のグループとを含み、
前記サーバは、保持したディジタル 'コンテンツを複数のパケットに分割して 前記グループの前記クライアントに対して前記ディジタル 'コンテンツを構成 するための最小単位のパケットを重複なく送信する手段を含み、
前記最小単位のパケットを受信した前記クライアントは、前記クライアントを 含むサブ大域グループを構成するすべてのクライアントおよび他のグループを 構成する他のクライアントに前記サーバから受信した前記最小単位のパケッ トのコピーを配信する手段を含むディジタル 'コンテンツ配信システムが提供 される。 本発明によれば、第 2のネットワークを介して接続される複数のグループを 含んだ大域グループに対して第 1のネットワークを介してディジタル 'コンテン ッを配信するため、前記第 1のネットワークに接続されたサーバであって、 保持したディジタル ·コンテンッを複数のパケットに分割して最小単位のパ ケットを生成する手段と、
前記最小単位の同一のパケットが所定のグループについて重複しないよう に前記最小単位のパケットの配信先を選択する手段と、
前記グループの前記選択されたクライアントに対して前記ディジタル'コンテ ンッを構成するための最小単位のパケットを送信する手段とを含むサーバが 提供される。 本発明によれば、第 2のネットワークを介して接続される複数のグループを 含んだ大域グループに対して第 1のネットワークを介してディジタル 'コンテン ッを配信するためのサ一パとしてコンピュータを制御する方法であって、前記 方法は、前記コンピュータに対し、
保持したディジタル ·コンテンッを複数のバケツトに分割して最小単位のパ ケットを生成するステップと、
前記最小単位の同一のパケットが所定のグループについて重複しないよう に前記最小単位のパケットの配信先を選択して登録するステップと、
前記選択された配信先のデータを前記最小単位のパケットとして記憶させ るステップと、
前記グループの前記選択されたクライアントに対して前記ディジタル 'コンテ ンッを構成するため前記記憶された最小単位のパケットを読み出して送信す るステップとを実行させる方法が提供される。 本発明によれば、第 2のネットワークを介して接続される複数のグループを 含んだ大域グループに対して第 1のネットワークを介してディジタル 'コンテン ッを配信するためのサーバとしてコンピュータを制御するプログラムであって、 前記プログラムは、前記コンピュータに対し、
保持したディジタル.コンテンツを複数のパケットに分割して最小単位のパ ケットを生成するステップと、
前記最小単位の同一のパケットが所定のグループについて重複しないよう に前記最小単位のパケットの配信先を選択して登録するステップと、 前記選択された配信先のデータを前記最小単位のパケットとして記憶させ るステップと、
前記グループの前記選択されたクライアントに対して前記ディジタル 'コンテ ンッを構成するため前記記憶された最小単位のパケットを読み出して送信す るステップとを実行させるプログラムが提供される。 本発明によれば、第 2のネットワークを介して接続される複数のグループを 含んだ大域グループに対して第 1のネットワークを介してディジタル 'コンテン ッを配信するためのサーバとしてコンピュータを制御するプログラムが記録され たコンピュータ可読な記憶媒体であって、前記プログラムは、前記コンビ タに対し、
保持したディジタル .コンテンッを複数のパケットに分割して最小単位のパ ケットを生成するステップと、
前記最小単位の同一のパケットが所定のグループについて重複しないよう に前記最小単位のパケットの配信先を選択して登録するステップと、
前記選択された配信先のデータを前記最小単位のパケットとして記憶させ るステップと、
前記グループの前記選択されたクライアントに対して前記ディジタル ·コンテ ンッを構成するため前記記憶された最小単位のパケットを読み出して送信す るステップとを実行させる記憶媒体が提供される。 本発明によれば、第 1のネットワークと第 2のネットワークとを介してディジタ ル.コンテンツを所定の大域グループに配信するため前記第 2のネットワーク に接続され、前記大域グループのグループを構成するクライアントであって、 前記クライアントは、
前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信 し、受信パケットが前記ディジタル ·コンテンツを再構成するための最小単位 のパケットか否かを判断する手段と、 前記判断に応答して前記受信パケットからコピー ·パケットを生成し、少なく とも他のグループのクライアントに宛ててコピー'パケットを配信する手段と、を 含むクライアントが提供される。 本発明によれば、第 1のネットワークと第 2のネットワークとを介してディジタ ル.コンテンツを所定の大域グループに配信するため前記第 2のネットワーク に接続され、前記大域グループのグループを構成するクライアントとしてコンビ ユータを制御する方法であって、前記方法は、前記コンピュータに対し、 前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信 してメモリに記憶させるステップと、
受信パケットが煎記ディジタル 'コンテンツを再構成するための最小単位の パケットか否かを判断するステップと、
前記受信パケットが前記最小単位のパケットであると判断された場合に、 前記判断に応答して前記受信パケットからコピー ·パケットを生成し、少なくと も他のグループのクライアントに宛ててコピー'パケットを配信するステップと、 前記受信パケットが前記最小単位のパケットではないと判断された場合に、 前記メモリに受信パケットを記憶させるステップとを実行させる方法が提供さ れる。 本発明によれば、第 1のネットワークと第 2のネットワークとを介してディジタ ル.コンテンツを所定の大域グループに配信するため前記第 2のネットワーク に接続され、前記大域グループのグループを構成するクライアントとしてコンビ ユータを制御するためのプログラムであって、前記プログラムは、前記コンビュ ータに対し、
前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信 してメモリに記憶させるステップと、
受信パケットが前記ディジタル'コンテンツを再構成するための最小単位の パケットか否かを判断するステップと、
前記受信パケットが前記最小単位のパケットであると判断された場合に、 前記判断に応答して前記受信パケットからコピー ·パケットを生成し、少なくと も他のグループのクライアントに宛ててコピー'パケットを配信するステップと、 前記受信パケットが前記最小単位のパケットではないと判断された場合に、 前記メモリに受信パケットを記憶させるステップとを実行させるプログラムが提 供される。 本発明によれば、第 1のネットワークと第 2のネットワークとを介してディジタ ル.コンテンツを所定の大域グループに配信するため前記第 2のネットワーク に接続され、前記大域グループのグループを構成するクライアントとしてコンビ ユータを制御するためのプログラムが記録されたコンピュータ可読な記憶媒体 であって、前記プログラムは、前記コンピュータに対し、
前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信 してメモリに記憶させるステップと、
受信パケットが前記ディジタル 'コンテンツを再構成するための最小単位の パケットか否かを判断するステップと、
前記受信パケットが前記最小単位のパケットであると判断された場合に、 前記判断に応答して前記受信パケットからコピー 'パケットを生成し、少なくと も他のグループのクライアントに宛ててコピー.パケットを配信するステップと、 前記受信パケットが前記最小単位のパケットではないと判断された場合に、 前記メモリに受信パケットを記憶させるステップとを実行させる記憶媒体が提 供される。 本発明によれば、所定のディジタル ·コンテンツを、連続する複数のストリー ム.データとし、前記所定のディジタル.コンテンツを再構成するために必要な 最小単位のパケットをサーバからネットワークを介して送信することにより、複 数のネットワークを介して接続されたクライアントに前記ディジタル.コンテンツ を共有化させる方法であって、
前記ディジタル.コンテンツの配信を要求する前記クライアントをクライアン ト 'リストを読み出して選択するステップと、 菌 93
23 前記最小単位のパケットを前記選択したクライアントに送信するステップと、 前記最小単位のパケットを受信したクライアントに前記最小単位のパケット をメモリに記憶させると共に、コピー'パケットを生成させ、前記受信したクライ アントを除く他のクライアントに対して前記コピー'パケットを配信するステップ と、
他のクライアントから受信したコピー ·パケットを前記メモリに記憶するステツ プと、
前記メモリ内のパケットを再構成して前記配信された所定のディジタル'コ ンテンッをユーザに共有させるステップとを含む、ネットワーク上でのディジタ ル*コンテンツの共有化方法が提供される。 発明を実施するための最良の態様
以下、本発明を具体的な実施の形態をもって説明するが、後述する実施 の形態は、本発明を制限するものではない。
A:ディジタル 'コンテンツ配信システム
図 1は、本発明のディジタル'コンテンツ配信システム 1 0を示した概略図で ある。本発明のディジタル 'コンテンツ配信システム 1 0は、ネットワーク 1 2に接 続されたサーバ 1 4と、それぞれルータ 1 6およびスイッチング'ハブ 1 8といった ネットワーク機器を介してネットワーク 1 2に接続された複数のクライアント 20と を含んで構成されている。図 1に示されたネットワーク 1 2としては、インターネッ ト、 WAN、 LANといったネットワークを挙げることができ、ネットワークを構成す るための通信媒体としては、公衆電話回線、 I SD N、 AD SL、光通信、地上 波無線通信、衛星通信などを使用することができる。サーバ 14は、ネットヮー ク 1 2およびネットワーク 22を介して、クライアント 20へと、本発明に従いディジ タル,コンテンツを配信している。本発明において配信されるディジタル'コン テンッとしては、リアルタイム性を持って同時に複数のクライアントに対してコン テンッの提供を行うことが必要な、 M P E G 2、 M P E G 4、またはさらに高次の 動面イメージ.データなどを挙げることができる。また、本発明においてはディ ジタル.コンテンツとしては、動画イメージ 'データの他、動画イメージ 'データと 音響データ、テキスト 'データといった複数の種類のディジタルデータを含んで 構成されたマルチメディア ·データを用いることもできる。 また、クライアント 20は、ルータ 1 6およびスイッチング ·ハブ 1 8などを介してネ ットワーク 1 2へと接続されていると共に、 同一のルータ 1 6ごとに割り当てられ た、たとえば IPアドレスなどの識別子により、所定のグループ # 1などとして、サ ーパ 14により識別されている。また、所定のグループ内においてクライアントは、 本発明の好ましい実施の形態においてはピアッゥピア接続で接続されたネッ トワーク 22を構成しており、グループ内でのクライアント相互の通信が可能と されている。 本発明において使用することができるサーバ 14としては、パーソナル'コンビ ユータ、またはワークステーションから構成することが可能であり、このパーソナ ル'コンピュータ、またはヮ一クステーションとしては、 P ENTIUM (登録商標) といった C P U、またはこれと互換性のある C P Uを搭載することが可能で、 WI N D OWS (登録商標)、 WIND OW S (登録商標) NT (マイクロソフト'コー ポレーシヨン)、 O S / 2 (商標:インターナショナ /レ.ビジネス 'マシーンズ'コ一 ポレーシヨン)、 AIX (商標:インターナショナル 'ビジネス'マシーンズ 'コーポレ —シヨン)、ユニックス、リナックスといったオペレーティング ·システムを動作させ ることが可能なパーソナル 'コンピュータ、ワークステーションを挙げることができ るが、これらのものに限定されるわけではない。 また、本発明において使用することができるクライアント 20としては、上述し たサーバ 1 4に適用することができるパーソナル 'コンピュータ、またはワークス テーシヨンを挙げることができる。 また、本発明を適用することができるだけの 処理速度があれば、クライアント 20は、ワイヤレス 'ネットワークを介して接続さ れたノートブック型パーソナル 'コンピュータや、 P DAなどを含んで構成するこ とができる。 図 1に示した本発明のディジタル 'コンテンツ配信システム 1 0は、動画ィメー ジ 'データを複数のストリームへと分解し、 1つのストリームをさらに複数のパケ ットへと分割して、サーバ 1 4からパケットごとに所定のクライアント 20へとソー ス.パケットとして送信する構成とされている。本発明においては、ストリームを 構成するソース'パケットは、所与のグループに含まれる少なくとも 1つのクライ アントへと送信され、ソース ·パケットを受信したクライアントが、所与のグルー プ内に含まれる他のクライアントへと、受信したソース'パケットのコピー(以下 コピー ·パケットとして参照する。)を送信する。コピー ·パケットを受信した下 流側クライアントは、所定の期間にわたりコピー'パケットを蓄積し、所定の期 間経過後に、パケットに付されたたとえば連番として付されたパケット識別子 を使用してストリームを再構成し、クライアントにおいてディジタル 'コンテンツを 表示または再生させる。すなわち、本発明においては、サーバ 14は、 1つのグ ループに対して重複したパケットをクライアントごとに送信すること無く、所定の グループに属するクライアントに対して同一のディジタル 'コンテンツを提供す ることを可能とする。
B:ディジタル 'コンテンツ配信方法
以下さらに、本発明のディジタル 'コンテンツ配信を実行するための方法に ついて詳細に説明する。
< B— 1 >静的パス木構造のパケット単位での一時的選択に基づく動的ル 一ティング
本発明においては、上述したように、サーバ 1 4から 1つのグループに含まれ る、たとえば m台のクライアントに対して、サーノ 1 4をノレートとし、ひとつのクライ アント 20 aを中間ノードとして指定するパス木構造を構成する。図 2には、本 発明において構成されるパス木構造の概略を示す。 図 2に示されるように、 構成された木構造のうちの l : l : (m- l )の木構造が、パケットの 1つの送信パス を構成する。本明細書においては、説明の便宜上、パスは、サーバー中間ノ 一ドの第 1段パスと、 中間ノード一クライアントの第 2段パスの 2段階で形成さ れるものとし、 2段を超えるリレーはないものとして説明する。 図 2(a)に示されるように、サーバ 14は、グループ内の 1つのクライアント 20a を中間ノードとして選択し、まず中間ノードとして選定されたクライアント 20aに 対してソース ·パケットを送信する。ソース ·パケットを受信した中間ノードとして 機能するクライアント 20aは、受信したパケットを、グループ内に含まれるクライ アント 20b〜20dへと送信して、グループ内におけるパケットの共有を可能と する。また、本発明においては、 中間ノードとされるクライアント 20aは、図 2 (a)に示されているように 1つとは限られず、各クライアントの実効スループット を、 TCP/IPなどの接続指向のプロトコルのネットワーク 12を介してサーバ 1 4がモニタすることにより、動的に 1つ、またはそれ以上のクライアントから選定 することができる。本発明における中間ノードの選定については、より詳細に 後述する。 図 2(a)に示された各サーバ 14から各クライアント 20a〜20dへのすベての パス(木構造)を重ね合わせると、サーバ 14から各クライアント 20 a〜20dへと 接続され、さらに所定のグループ内におけるクライアント間において双方向に 接続する完全グラフを記述することができる。図 2(b)には、図 2(a)に示した 特定の実施の形態において、サーバ 14と、各クライアント 20a~20eの間で 形成される完全グラフの実施の形態を示す。図 2(b)に示されるように、パケ ット単位のパスの選択は、完全グラフからの部分木構造(パス木構造)の選 択であると考えることができる。本発明によれば、クライアントのスループットに 応じてパスを柔軟に選択することが可能になので、パス木構造において各ク ライアントは、他のクライアントの上流または下流へと動的に変更されることに なる。 図 2 (b)に示した本発明の特定の実施の形態における完全グラフを参照し て本発明を説明すると、まず、サーバ 14からクライアント 20a〜20eのグルー プに向けて、 1ストリーム分のソース ·パケットを重複パケット無く送信する。各 クライアント 20a〜20eは、重複なくストリームの一部を構成するソースパケット を受信する。その後、 同じグループに属するクライアントは、不足するパケット を、コピー'パケットとして相互にコピーすることにより、 1ストリームを再構成す るためのパケットの不足分を補い、 1ストリームを回復する。本発明においては、 上述したクライアントの機能を、ピアッゥグループ(Peer- to- Group)型の配信 として参照する。なお、それぞれのパケットには、ストリーミングのプロトコルにし たがって、通し番号がパケット識別子として予め付されており、各クライアント において、不足したパケットおよびストリームにおけるパケット順序を回復する ことができる構成とされている。このための方法としては、これまで知られたいか なる方法でも用いることができるが、具体的にはたとえば、 Schulzrinne らによ り開示された方法を採用することができる(H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. RFC 1889: RTP: A Transport Protocol for real-time applications , January 1996.) 図 3には、上述したサーバ 14からのソース'パケット送信おょぴグループ # 1 におけるクライアントのコピー ·パケット送信の処理を概略的に示す。図 3に示 すように、サーバ 14において取得された動画イメージ 'データは、ストリーミング され、複数のパケットに分割されており、それぞれのソース'パケットには、たと えば、 P1〜P5のパケット識別子が付されている。図 3に示したソース 'パケット のサイズは、本発明においては特に制限されるものではなく、いかなるサイズ にでもすることができる。ソース'パケット P1〜P5へと分割されたストリーム 24は、 たとえば、インターネット、または異なるドメインに帰属される LANや WANとい つた第 1のネットワークを介してグループ # 1へと送信される。 図 3に示した特定の実施の形態においては、後述するように、各クライアン ト 20a〜20eは、ほぼ同様のスループットを有しているものとされており、クライ テント 20a〜 2 Oeをそれぞれ中間ノードとして選択し、クライアント 20a〜20e へとソース'パケット PI ~P 5を 1パケットづっ送信しているのが示されている。 ここで、パケット PIを受信したクライアント 20aの機能について詳細に説明 する。各クライアント 20a〜20eには、グループ # 1に帰属されるクライアントに 対応するメンバー 'リストが含まれていて、メンバー 'リストを参照して、グル^ "プ 内において、たとえばこれまで知られたいかなるプロトコル、たとえば TCP/IP、 UDP、プロミスキャスモードといった通信プロトコルにしたがって、たとえば同報 通信を実行することにより、コピー'パケットを他のクライアント 20b〜20eへと 送信する。また、本発明においては、コピー'パケットの送信に際しては、より 確実に他のクライアントのそれぞれの IPアドレスに宛ててコピー'パケットを、ソ ース'パケット到着後直ちに、あるいは一定の時間間隔をもって送信すること もできる。本発明において使用することができる送信方法は、所定のグルー プを構成するクライアントの数、コスト、信頼性などを考慮して適宜選択する ことができる。他のクライアント 20b〜20eは、クライアント 20aからのコピー'パ ケットを受信して、受信バッファへとコピー'パケットを蓄積する。 同様のコピ 一./ ケットの送信は、クライアント 20a以外にも、他のクライアント 20b〜20e も実行する。各クライアントは、たとえば 1秒程度以下で、後続するストリーム の処理に影響を与えないことが保証できる所定の期間だけ、受信バッファへ とコピー.パケットを蓄積する。 所定の期間が経過した後、クライアント 20aの受信バッファには、パケット識 別子に対応して受信バッファ內のアドレスを指定する実施の形態は、たとえ ば「?1?2?3?4?5」の順で1ストリーム分のソース'パケットが蓄積されること になる。クライアント 20aは、所定の期間の間に蓄積されたパケットおよぴコピ 一.パケットを FECデコーダ、ソース'デコーダなどを用いて 1ストリーム分の動 画イメージ.データを、 「PIP2P3P4P5」として再構成することが可能となる。 また、特に不都合が生じない限りにおいては、受信したパケットの順は、特に 連番として蓄積するのではなく、受信した順に記録しておき、ソートして再構 成することも可能である。 図 4は、本発明において動的に中間ノードとなるクライアントが選択される場 合の実施の形態を示した図である。本発明においてはサーバ 14と、クライア ント 20とは、 TCPといった接続指向の接続を使用してネットワークが構築され ている。図 4 ( a )に示すように、サーバ 14は、より詳細には後述するように、各 クライアントへのスループットをモニタして、スループットの大きさに応じて、確率 的にクライアントを選択する。かならずしも、スループット最大のクライアントが、 常に選択されるわけではない。そして、選ばれたクライアント 20bを、第 1の中 間ノードとし、第 1のソース'パケット P 1を送信する。また、サーバ 14は、クライ アントのスループット変化を、たとえば数秒以下程度の頻度で継続的にモニ タして、動的にその時点においてオーバーヘッドの少ないクライアントから中 間ノードを選択する。たとえば図 4 (b )に示した実施の形態においては、その 時点でクライアント 20dが最もオーバーヘッドが小さく、このため中間ノードとし てサーバ 1 4により選択され、ソース ·パケット、たとえばソース ·パケット P 3を受 信しているのが示されている。 上述した構成を採用することにより、本発明によれば、サーバ 1 4が重複し たパケットを、グループ # 1を構成するクライアント分だけ送信することなく、 1ス トリーム分だけのソース'パケットとして送信するだけでグループ # 1のすベての クライアントに対してディジタル 'コンテンツを保持させることが可能となる。すな わち、本発明は、従来ではグループ # 1に含まれるクライアントへと送信する 際のサーバ 1 4への負荷集中を、ネットワーク全体に対して分散させることを 可能とし、サーバ 14を含むネットワークの効率を向上させることを可能とする と共に、ネットワークにおけるトラフィックのスケーラビリティを向上させることを 可能とする。 く B— 2 >ネットワーク'スケ一ラビリティ
以下、本発明の構成における、サーバ 1 4およびクライアント 20の間におけ る通信トラフィック量を検討する。本発明にしたがって、クライアント 20 aに対し て送受信されるパケットのトラフィックを図 5に示す。サーバ 1 4から単位時間 に nパケットが、各クライアントに対して均等に送信されるものと仮定する。 nZ mのソース.パケットがサーバ 14からクライアント 20aへと送出され、クライアント 20aは、サーバ 14から送出されたソース ·パケットを受信する。パケットを受信 したクライアントは、受信したソース.パケットを m— 1のクライアントにリレーする (コピー.パケットの配信)。クライアント 20aは、同時に、他のクライアントからコ ピー.パケットを受取るが、これは、ネットワーク上で見れば、他のクライアントか ら送出されるパケットと同一なので、クライアント 1台あたり単位時間に(n/m + n/m X (m- 1) = n)パケットの通信が発生する。この通信トラフィック量は、従 来のエッジ'サーバの構成を使用する従来例の場合と比ベても、パケット数の 増減はない。上述したパケットの送信量は、クライアントが、均等に選択され ない場合でも成立する。 次に、各クライアントが単位時間に入出力処理する必要のあるパケットの数 は、均等選択の場合で、サーバ 14からは nZm、他のクライアントからは、 {n/mX (m - 1)}の、合計 nパケットの入力と、 n/mのソース'パケットをクライ アントにリレーする {n/m X (m-1)}パケットの出力なので、パケットの入出力処 理数は、 {n X (2m - l)/m} [packets]で与えられる。したがって、最小(m=l) で nパケット、最大(m→∞)でも 2nパケットを越えることはない。すなわち、クラ イアントの数が増大しても、各クライアントの負荷は 2nパケット分の負荷に漸 近するばかりで、それ以上になることはなく、各クライアントにおいて負荷のォ 一パーフロー問題は生じない。一方、サーバ 14では、 m台のクライアントのうち、 パケットごとにクライアントひとつを選択する作業が必要となる。このクライアント 選択処理は、クライアント数 mに比例し、パケットの送信の数に関してはクライ アントの数にまったく依存しない。したがって、クライアント数が増えた場合でも、 本発明のディジタル.コンテンツ配信は、ネットワーク'スケーラビリティにおい て不都合は生じない。 次いで、均等選択とは対極の場合、すなわち、ただ一つのクライアントのみ がサーバ 14からすべてのソース'パケットを受取る場合も本発明においては 想定される。この場合であっても、クライアントに対しての入力パケット数は、ス トリーム分であるがために従来の場合と変わらず、選択されたクライアントで n ソース .パケットが入力される。また、ソース ·パケットを受信したクライアントから のコピー.パケットの出力は、そのクライアントにおいてのみ n X mのパケット数と なる。この場合には、選択されたクライアントのみが負荷が増大することになる ものの、グループ内での同報通信量が増加するだけであり、サーバ 1 4からグ ループへのディジタル ·コンテンツの配信には重大な問題は生じない。さらに、 本発明においては、上述した単一のクライアントのみにソースパケットが偏って 送信されないよう、できるだけ均等選択に近くなるように、動的にパス木構造 を選択することが好ましい。 同時に動的にパス木構造を選択してネットヮー ク ·システムを安定に保っための再構成を行うことも可能である。上述した動 的パス木構造の選択については、より詳細には後述する。なお、選択の不均 等性による送出パケットの局所的な増大を防ぐためには、コピー'パケットの 送信速度の制限および送信処理の制限時間を設け、それを過ぎたパケット を破棄するなどして対応することが可能である。
^ B— 3 > Dynamic s electio n ^.dynamic optimizin g)
本発明においてパス木構造は、クライアントのうち、どれか 1つまたは複数を固 定して静的に利用するのではなく、動的に選択される。パス木構造の選択に おいては、
( a )そのクライアントがパケットを受信する準備ができていること、
(b )サーバから見て ro un d- trip time (RTT)の小さい、すなわち処理オーバ 一ヘッドの小さいクライアントを中間ノードとして選択するパスを優先させるこ と、
( c )パケットのコピー'レートの高いクライアントを中間ノードに持つパスを優先 させること、
に基づき、パケットを送信するパス木構造を動的に構成する。 上述した(a )の条件の確認処理は、 TCPなどの接続指向の接続を利用し て実現可能である。また、 (b )において説明した RTTの測定には、サーバ 14 がソース'パケットを送出する場合に、例えば IP v4のフォーマットを使用して 説明すると、送信パケットの IPヘッダ部分に時刻を記録しておき、ソース'パ ケットを受け取ったクライアントが IPヘッダ部のみをそのまま返送するなど、ま たは別にアプリケーション ·レベルで生成される独自ヘッダを使用して、独自 ヘッダに時刻を記録し、この独自ヘッダをそのまま返信するなど、 IPヘッダな どに記録された時刻とサーバが返送を受け取った時刻との差を利用する方 法などを用いることができる。また、サーバ 1 4がソース ·パケットを送信した時 刻を記憶しておき、クライアントからのレスポンス.パケットを受信して、レスボン ス 'パケットの IPヘッダの時刻を読み取って確認することもできる。
TC Pを禾 IJ用する場合には、その階層での再送処理にかかった分などを含 めた時間、すなわちスループットが RTTに関連して観測される。なお、 RTTの 測定については、摇らぎを吸収するために、何回かの観測での平均を利用 することもできる。 また、 (c )において説明した条件であるコピー ·レートは、 中間クライアントか ら、その下流クライアントへパケットを送ることのできた成功率を利用する。コピ 一 ·レートが変動する原因は、 TC Pなどの接続指向のネットワークでは、中間 クライアントが時間制限のためにパケットを破棄する、などの場合がある。クラ イアント間が UDPで接続されている場合には、下流クライアントへのパケットの 到達率より、コピー'レートを計算する。 上述した条件を満たすために、本発明の特定の実施の形態においては、 条件(a )を満たしたクライアントについて、所定の割合でソース'パケットが送 信されるように選択する。 図 6には、本発明において動的にクライアントを中 間ノードとして選定する場合の概略図を示す。図 6に示されるように、サーバ 14は、クライアント 20 eを中間ノードとして選定し、ソース.パケットを送信して いる。クライアント 20 eは、たとえばサーバ 1 4からのディジタル 'コンテンツ配信 開始に対応して、その時 で最も早くレスポンスを返したクライアントとして選 定することができる。 たとえば、 クライアント 2 0 e以外のクライアントは、他の処 理を実行しているカヽ所定のしきい値時間の間に応答をサーバ 1 4へと返さな かった、またはクライアント 20 eよりも RTTがたとえば設定されたしきい値以上 に遅かった、 などの理由から中間ノードとして選定されていない。 図 6に示される実施の形態では、クライアント 20 eは、 サーバ 1 4から見て充 分な処理能力があるものと判断されて、ソース'パケットを受信する中間ノード とされている。 ソース.パケットを受信したクライアント 20 eは、グループ # 1内の 他のクライアントへと、たとえば同報通信などを使用して、コピー ·パケットを送 信する。 本発明においては、さらに、最も RTTが小さかったクライアントを中間ノード として選択する他、 下記に説明するように、 クライアント間に RTTに関連して 割り当て重みを付与することができる。たとえば、 本発明において最も好まし い実施の形態においては、採用することができる割り当て重みは、下記式に 基づい 与えることができる。
ソース .バケツトの割り当て重み oc ίΛ ,
Σ:
tk: スループッ ト oc 1 /'R T T
. Λ.: コピー ' レート 上式中、 tkrkは、 ' . 実質的なスループット、すなわち単位時間で クライアントが処理できるパケットの数に比例する。 したがって、 この割り当て方 法は、実効スループットを最大化する、すなわち、安定性を最大化することが 目標関数になっている。なお、本発明においては、上記条件をソース'パケッ トごとに適用することができる。また、本癸明においては、ソース 'パケットの割 り当て重みは、所定の時間間隔で定期的に更新することができる。 各時点 でパケット" ¾r受信できないクライアントは、パス選択の侯捕からすでに除外され ているので、 割り当て重みに誤差があつたとしても、 ソース ·パケットが喪失す るような重大な状況は起こらない。また、本発明の他の実施の形態において は RTTのみを使用して実効スループットを判断することもできる。 <B— 4>動的再構成
本発明はさらに、サーバが認識しているグループに対して新たなクライアント が追加された場合には、 自動的に新たなクライアントの増加に対応することに より、ネットワーク構成の変化に対して柔軟に対応することを可能とする。 図 7には、本発明においてグループ # 1に対して新たにクライアントが追加さ れた場合のサーバ 14の処理を示す。図 7に示されるように、グループ # 1内に 新たなクライアント 20fが追加されると、クライアント 20fは、たとえば他のクライ アン卜から入手したサーバ 14の IPアドレスを使用して、サーバ 14に対して JOIN requestを送信する。 JOIN requestには、新たに参加したクライアント 2 Ofの取得した、または割り当てられた IPアドレスなどのクライアント識別子を含 ませることができる。 サーバ 14は、 JOIN requestを受け取って、サーバ 14内に保持され、宛先リ ストとして使用されるグループ # 1のクライアント 'リストへと当該クライアント 20f のクライアント識別子を追加する。図 7に示した実施の形態においては、グル ープ # 1に含まれるクライアント 20a〜20dへと新規クライアントの追加を通知 する、 NEW MEMBER notificationを、たとえば、グループ # 1の IPアドレスに 宛てた同報通信を使用して送出する。 NEW MEMBER notificationを受信 したグループ # 1内のクライアント 20a〜20cは、メンバー 'リストを更新し、コピ 一-パケットの配信先として登録する。 次いで、サーバ 14は、新規に参加したクライアント 20fに対して接続が完了 したことを示す CONNECT requestを送信する。図 7に示した実施の形態に おいては、 CONNECT request には、サーバ 14が保持するグループ # 1を構 成するクライアントのメンバーに対応する、クライアント識別子を含ませることが できる。クライアント 20fは、 CONNECT requestを受信して、メンバー 'リストを 更新する。なお、このためには、同一の出願人に帰属される、たとえば特願 2 00 2— 08 8 70 2号に記載された自動 IPアドレス取得方法を使用することが できる。上述した特願 200 2— 0 8 8 7 0 2号に開示の自動 IPアドレス取得方 法を使用することができる場合には、すでにメンバー 'リストが各クライアント 20 a〜20fに保持されているため、サーバ 14からの NEW MEMBER notification の送信は必要とされなくとも良い。 サーバ 1 4は、上述した処理の後、ディジタル.コンテンツの配信を行うため のパス木構造において新たに参加したクライアント 20fを含んだパスを判断す ることが可能となる。本発明の特定の実施の形態においては、クライアント 20 fが参加した直後は、作成されているパス木構造の最下流にクライアント 20f が追加され、他のクライアント 20 a〜 20 cからコピー'パケットを取得する構成 とすることができる。クライアント 20fを含む新しいパス木構造は、 RTTのモニ タにおける所定の期間を経過した後のパス選択において構築される。 なお、本発明において、新たに参加したクライアント 20fの性能は、初期段 階では不明なので、たとえば下記式で示されるように、予め大きな RTTを初 期値(large value)として付与しておき、ソース ·パケットを受信する頻度を下 げておくことができる。この判断においては、過去の実績の重みを漸次低下さ せる、いわゆる忘却要素(forgetting facto r)を含ませた平均化を使用するこ とができる。本発明においてはその後、新規参加のクライアントのいわゆる"実 績"が明らかになつた時点で本発明の動的構成方法を適用することが、ネッ トワークの安定性を確保する点では好ましく、また本発明の有効性をさらに 向上させることができる。
図 8には、新たに生成されたパス木新構造に基づいて新たに参加したクライ アント 20 fに対して、サーバ 1 4からソース ·パケットが送信され、また他のクライ アント 20 a〜 20 cからコピー.パケットが、新たに参加したクライアント 20 fに対 して送信されているのが示されている。 また、本発明においては参加クライアントが離脱したときには、サーバ 14は、 接続指向のネットワークを介して、クライアントの離脱を知ることができる。なお、 クライアントの異常終了であっても離脱は検出できるが、ネットワーク 'ケープ ルが外れるなどのケースでは、タイムアウトするまでそれを検出できないという 事象が発生する。本発明においては、タイムアウトが発生する場合でも、動 的選択のルール(受信可否の確認)により、ソース'パケットがそのクライアント に向けて送られることはないので、他のクライアントが受け取るパケットが一斉 に失われるという不都合は発生しない。 参加クライアントの離脱を認識したサーバ 1 4は、当該クライアントが中間ノ ードとされるパス木構造を直ちに破棄し、ソース ·パケットの損失を防止する。 グループ # 1に残つたクライアントは、受信したソース ·パケットをメンバー 'リスト にしたがって配信することもできるし、 同報通信ベースでコピー'パケットを送 信する場合には、グループ # 1内の受信可能なクライアントすべてに向けてコ ピーパケットを送信することもできる。また、残されたクライアントは、離脱クライ アントと自分との間の接続を解消することにより、パス木構造すベての最下流 から、脱離クライアントを削除することができる。 また、離脱したクライアントに送ったソース'パケットのいくつかが、リレーされ ずに離脱とともに破棄されることがある。このような、クライアント離脱に伴うパ ケット喪失を防ぐためには、サーバ 1 4が、各クライアントに送ったパケットにつ いて時間的に新しいものをいくつか記録しておき、離脱クライアントが検出さ れた時点で、それに送った分を、他のクライアントに再送する処理を用いるこ とができる。 本発明においては、上述した構成を採用することにより、サーバおょぴクライ アントが、 自動的にパス木構造の追加や削除、局所的な変更により、クライ アント参加離脱によるグループの再編成を行い、また、最近送信したパケット を記録して必要に応じて再送することにより、突然の離脱に起因するパケット 喪失を防ぐことを可能とする。 図 9は、本発明において説明したクライアント 20の構成を示した機能プロッ ク図である。クライアント 20は、ネットワーク.インタフェイス.カード ( NIC ) 30を 介して、第 2のネットワーク 22へと接続されている。クライアント 20は、さらに、 受信バッファ 3 2と、メモリ 34と、 RAMといったメモリ 36とを含んで構成されて いる。受信バッファ 3 2は、受信したソース'パケットおよびコピー'パケットを、 動画イメージ.データのストリームを再構成するまでの間保持している。 本発明においては、受信バッファ 32は、受信したパケットを受信するごとに パケット識別子に対応したアドレスに受信したパケットを書き込みを行う、リン グ.バッファとして構成することができる。また、クライアント 20は、中央処理装 置(C P U ) 3 6と、ソース ·デコーダ 38と、 FE Cデコーダ 40とを含んで構成され ている。ただし、本発明においては F ECデコーダは、必ずしも必要ではない。 C P U 3 6は、クロックにより駆動されており、受信バッファ 3 2において所定期 間ごとに蓄積されたパケットを読み出してソース'デコーダ 3 8および FECデコ ーダ 40へと送り、 1ストリーム分の動画イメージ.データを再構成している。再 構成された 1ストリーム分の動画イメージ 'データは、ディスプレイ 42へと表示 または再生され、クライアントのユーザに対して提供される。 ユーザに対して表示または再生された動画イメージ 'データは、クライアント 2 0から削除することもできるし、また、ディジタル ·コンテンツの開始から終了ま での全ストリームをメモリ 34に保持させておき、ハードディスク、光磁気ディスク- 磁気テープといった記憶装置 44に記憶させておくこともできる。記憶装置 44 には、たとえばグループ # 1を構成するクライアントを識別するためのクライアン ト識別子を含んで構成されたメンバー 'リストも保持させることができる。メンバ 一'リストは、クライアントの起動時に記憶装置 44からクライアントのメモリ 3 6な どに読み込まれ、常駐ファイルとして保持される。図 9に示したクライアントが、 ソース.パケットを受信した場合には、クライアント 20は、メンバー 'リストを参照 してコピー.パケットを配信する宛先を指定する。また、クライアント 20がコピ 一'パケットを、 TCPZIPプロトコルにしたがい、たとえば IPv4のフォーマットで 宛先を abc.def.ghi.255 などとして同報通信する場合には、上述したメンバ —'リストを直接参照する必要はない。 図 10は、本発明のサーバ 14の構成を示した図である。図 10に示されたサ ーパ 14は、ネットワーク 12に対して、モデム、 DSU、またはネットワーク 'インタ フェイス.カードといった通信手段 46を介して接続されており、図示しないクラ イアントへとディジタル 'コンテンツを配信している。以下、本発明のサーバ 14 の機能につき、ディジタル 'コンテンツの取り込みから順に説明する。 図 10に示したサーバ 14には、ディジタル 'ビデオカメラといった撮像手段 48 が接続されており、ディジタル 'コンテンツとして配信することを希望する、たと えば、番組、講演会、挨拶、教育プログラムなどが、記録媒体にディジタルデ ータとして収録されている。収録されたディジタル 'データは、適切なインタフエ イスを介してサーバ 14へと取り込まれ、たとえば記憶装置 50に保持される。 本発明におけるディジタル ·データとしては、上述した動画イメージ 'データを 含む、マルチメディア 'データとして構成することが好ましい。ディジタル 'コンテ ンッをクライアントへと送信する場合には、まず、 CPU 52が、記憶装置 50か らディジタル 'コンテンツを読み出し、読み出されたディジタル 'コンテンツをソ ース.エンコーダ 54および FECエンコーダ 56へと送る。ディジタル 'データを受 信したソース'エンコーダ 54および FECエンコーダ 56は、ディジタル 'データに 対してストリーミング処理を施し、さらに 1ストリームを所定のサイズのパケット、 たとえばパケット P1〜P 5に分割する。生成されたパケット P1~P5は、通信手 段 46を介して、たとえばグループ # 1へとディジタル ·コンテンッを配信する。 サーバ 14とクライアント 20との間には、接続指向のネットワ^ "ク 'プロトコルが 7093
39 確立されているので、すでに RTTがモニタされ、少なくとも RTTに応じた重み が割り当てられており、割り当て重みに対応してクライアントが中間ノードとし て選択されている。サーバ 14は、選択された中間ノードとしてのクライアントに 対して、ソース'パケットを送信し、ディジタル 'コンテンツの配信を実行する。 図 11には、本発明において使用することができるソース'パケット 58の実施の 形態の構成を、 IPヘッダを使用して示した場合につき説明する。図 11(a)に 示すように、サーバ 14から送信されるソース'パケット 58には、たとえば IPへッ ダ 58aを含んで構成され、 IPヘッダ 58aは、送信元アドレスや、宛先アドレス 58bを含んで構成されている。さらに、ソース ·パケット 58は、配信を行うディジ タル.データのパケット 58cと、連番として付されたパケット識別子 58d、たとえ ば P1と、ソース.パケットを送信した送信時刻 58eなどが含まれている。本発 においては、上述した/くケット 58cと、ノ ケット識另 IJ子 58dと、送信時亥!! 58 eとを、アプリケーション 'レベルで作成する独自パケットとして構成することが できる。また、 IPヘッダ 58aには、 IPバージョン情報と、送信元 IPアドレスなど が含まれていて、クライアントからの返信に基づいて、サーバ 14が RTTを判断 することができる構成とされている。図 11 (a)に示したソース'パケット 58をクラ イアントへと送信する際には、サーバ 14は、ソース ·パケット、たとえば P1を送 信した時刻をタイマなどによりモニタしておくこともできる。 ソース'パケット P1を受信したクライアントからのレスポンス ·パケットは、ネット ワーク 12を介してサーバ 14へと返信され、サーバ 14内の適切な記憶部にい つたん蓄積されて、クライアントがレスポンス 'パケットを送信した時間を、たと えばレスポンス 'パケットに付された送信時刻などに記録された時刻から読み 出す。図 11 (b)には、クライアントからのレスポンス 'パケット 60の構成の実施 の形態を示す。図 11 (b)に示されるように、レスポンス 'パケット 60は、 IPへッ ダ 60aを含み、この IPヘッダ 60aは、上述したように送信元アドレスや、宛先 アドレス 6 Obを含んでいる。さらにレスポンス ·パケット 60は、受信したディジタ ル.データのパケット識別子 60cと、レスポンス 'パケット 60をクライアントが発 行した時刻 60dと、ソース'パケット P1を送信したパケットの送信時刻 58eとを 含んで構成されている。 IPヘッダ 60 aには、クライアントがレスポンス 'パケット6 0を送信した時刻や、送信元クライアントの送信元 IPアドレスなどが記録され ている。 本発明においては、サーバ 1 4がレスポンス 'パケット 6 0を受信すると、ソー ス'パケット 5 8と、レスポンス.パケット 60とに共通して含まれる識別子、図 1 1 に示した実施の形態では、パケット識別子の P 1を使用してソース'パケット 54 の受信に対応したレスポンス 'パケットであることを判断し、本発明の特定の 実施の形態においては、送信時刻 5 8 eと、発行時刻 60 eとを使用して RTT を算出し、 1 /RTTおよびコピー'レートとを使用してクライアントの実効スルー プットを判断する。判断された実効スループットは、たとえば一定期間平均化 された後、図 1 2に示すクライアント 'リストを更新するために使用される。また、 本発明の他の実施の形態においては、 IPヘッダに時刻が記録されている場 合には、 IPヘッダに記録された時刻を直接用いることもできる。 図 1 2は、本発明においてサーバ 14が使用するクライアント 'リスト 6 2の実施 の形態を示した図である。図 1 2に示したクライアント 'リスト 6 2は、サーバ 14が ディジタル 'コンテンツを配信する際に登録されているグループ識別子 6 2 aと、 所与のグループに含まれるクライアントのクライアント 'アドレス 6 2bと、所定期 間平均された実効スループット 6 2cとを含んで構成されている。グループ識別 子 6 2 aは、たとえばディジタル ·コンテンツの配信を行う場合に、テレビ放送局, 衛星放送局、イベント 'プロバイダといったコンテンツ 'プロバイダが、ユーザか らの登録などにより作成することができる。また、特にコンテンツ 'プロバイダで はなく、サーバ 1 4が企業、行政機関、法務機関、立法機関、教育機関、図 書館などのイントラネットを介してディジタル ·コンテンツを配信する場合には、 各企業または機関のグループごとに割り当てられている、たとえば IPアドレス などを使用することができる。 また、クライアント 'アドレス 6 2bは、本発明の特定の実施の形態においては. 特定のグループに割り当てられた IPアドレスなどを使用することができる。図 1 2に示された実効スループット 62cは、上述した割り当て重み付けのために使 用される本発明における本質的なパラメータである。本発明においては、上 述した重み付けは、不必要な変動を防止してパス木構造の安定化を行ぃネ ットワークの安定性 ·信頼性を確保すると共に、クライアントの脱離や、参加、 または処理状況に応じたオーバーヘッドの変動に対して柔軟に対応するべく、 たとえば 1秒程度の時間間隔に渡って平均化され、実効スループットとして 定期的に更新されている。図 12に示した実効スループット 62cは、たとえばグ ループ # 1に含まれるクライアント 20a〜20eに対応した値が、 # lTa~ # IT eとして示されている。 ここで、たとえば中間ノードとして # 1Tbと、 # ITcとが選択され、割り当て 重みが 3: 2であるものと仮定すると、図 13に示したパス木構造が、サーバ 14 において形成される。サーバ 14は、クライアント 20bとクライアント 20cとに対し て、重み付けに応じてたとえばソース ·パケット P1〜P 3までをクライアント 20b に送信し、クライアント 20cに、ソース'パケット P4, P 5を送信する。送信され たソース.パケットは、 中間ノードとして選択されたクライアント 20b、 20c力 ら、 グループ # 1に含まれる他のクライアントへとコピー.パケッ 'ト cPl〜cP 5として 送信され、それぞれのクライアントの受信バッファに蓄積され、所定の時間蓄 積された後、 1ストリーム分を再構成するために使用される。なお、本発明の 他の実施の形態においては、送信されるソース'パケットの数を他のいかなる 比として中間ノードへと送信することもできる。
C:ディジタル 'コンテンツ配信システムの他の実施の形態
図 14は、本発明のディジタル 'コンテンツ配信システムの第 2の実施の形態 を示した図である。図 14に示したディジタル 'コンテンツ配信システムは、ディ ジタル.コンテンツを生成するためのソース.サーバ 64と、ソース 'サーバ 64に 保持され、ストリーミング処理が施されたディジタル ·データを抽出して保持す るドレイン 'サーバ 66と、ネットワーク 12を介して接続されたグループ G# 1、 G # 2、 G # 3とを含んで構成されている。各グループに含まれたクライアントは、 本発明にしたがって中間ノードとして選択され、ディジタル 'コンテンツのダル ープ内における配信を行う構成とされている。 図 1 5は、図 1 4に示したソース ·サーバ 64およびクライアントの構成を示した ブロック図である。図 1 5 ( a )に示すように、ソース ·サーバでは、生成されたデ イジタル.データからソース'デコーダ 64 aおよび FECエンコーダ 64bとを使用 してストリ一ミングされたディジタル ·コンテンツを生成する。生成されたパケット は、ドレイン'サーバ 6 6へと送信され、ドレイン'サーバ 6 6において本発明に 必要な n個のソース'パケットに編集され、ネットワーク 1 2を介してクライアント へと送信を行っている。また、図 1 5 ( b )には、クライアント側の構成おょぴ処 理が示されている。クライアント 20は、コピー ·パケットを受信し、所定の期間 蓄積した後、 FECデコーダ 3 8およびソース ·デコーダ 40を使用して 1ストリー ム分のディジタル ·コンテンツを再構成し、ユーザに提供している。同時に中 間ノードとして選択されたクライアント 20 aは、受信したソース ·パケットをコピー してコピー ·パケットとして他のクライアントへと送信している。
D :ディジタル 'コンテンツ配信におけるソース'パケット通信プロトコル 図 1 6は、本発明のサーバと、クライアントとの間のソース'パケットの通信を、 時系列的に示した図である。サーバから送り出されるソース ·パケットは、一定 のインターバルでいずれかのクライアントに向けて送出される。パケットを受け 取ったクライアントは、サーバに、レスポンス 'パケット Ack(acknowle dgenmt)を 返す。クライアントは、定期的(たとえば 1秒おき)に、コピーの成功率(コピー' レート)をサーバに報告する構成とされている。上述したように、パケットを送り 出した時刻から、サーバが A c kを受け取るまでの時間を RTT(Ro und-Trip Time)としてパス木構造における中間ノードの、割り当て重みを決定するため に用いられる。 図 17は、本発明において中間ノードとして選択されたクライアント間におけ るソース.パケットおよびコピー.パケットの送信を各クライアントおよびサーバの 間において時系列的に示した図である。サーバからソース ·パケット P1および P2を受け取ったクライアント aは、同一グループのクライアント bにパケット P1お ょぴ P 2のコピー'パケット # 1および # 2を送信する。そのコピーの成功率(コ ピー.レート)は、定期的にサーバに報告される。また、サーバは、パケット P3を クライアント bへと送り、クライアント bが、コピーパケット # 3をクライアント aへと送 信している。クライアント aは、この時点でパケット P1〜P 3を受信バッファ内に 保持しており、順次上述したプロセスが繰り返されて、 1ストリーム分のパケッ とが蓄積される。 図 18は、本発明のクライアントの処理を示したフローチャートである。中間ノ ードとして選択されたクライアントは、常時ソース'パケットの着信を待機する 状態とされており、ステップ S 100において、パケットの着信をモニタしている。 パケットが着信すると、ステップ S 102においてパケット識別子から受信パッフ ァにおける格納位置を計算する。ステップ S 104においてバッファ該当位置が 空か否かを判断し、空の場合(yes)には、まだ該当する番号のパケットが着 信していないので、ステップ S112において受信バッファの該当する位置に着 信したパケットを書き込む。次いで、ステップ S 114において、受信したパケット がソース'パケットか否かを、例えばソース'パケットの着信を、 IPヘッダに含ま れる送信元アドレスを使用して判断する。ソース'パケットが着信した場合(ye s)には、ステップ S116へと進みグループ内の他のクライアントに対して送信を 行うためにコピー処理の予約を行う。コピー処理の予約は、例えば受信した パケットのコピーを適切な FIFOバッファに対して登録するなどして行うことが できる。コピー処理の予約を終了すると、ステップ S100へと戻り、パケットの 着信を待機する。 一方で、ステップ S 104の判断において対応するバッファ 'アドレスが空でな い場合(no)には、すでに当該パケット識別子のパケットが着信しているので, ステップ S106において、当該識別子のパケットがコピー処理に予約されてい るか否かを判断する。予約登録されている場合(yes)には、上書きしてソー ス.パケットを消去してしまうことになるので、ステップ S 108において予約登録 を削除し、ステップ S110においてコピー失敗カウンタをインクリメントし、ステツ プ S 112において該当するバッファ位置にその時点で受信しているパケットを 上書きする。これは、クライアント側が、ソース'パケットのコピーを送信する前 に後続するパケットが到着することに対応し、パケットの消滅に該当する。ステ ップ S 106の判断において、コピー処理に予約登録されていない場合(no) には、ステップ S112へと進んで、コピー'パケットなので該当するバッファ 'アド レスにパケットを上書きし、ステップ S114〜ステップ S 100の処理を繰り返す。 図 19 (a)は、本発明におけるコピー処理のフローチャートを示した図である。 図 19に示したコピー処理は、ステップ S 120において、コピー処理を必要とす るソース ·パケットが登録されるまで待機する。ソース.パケットが登録されると、 ステップ S 122において登録されたパケット、例えば説明している実施の形態 において FIFOバッファを使用して登録している場合には、先に登録されたパ ケットを選択し、ステップ S 124において他のクライアントへとコピー'パケットと して同報通信するか、または宛先 IPアドレスを参照して他のクライアントに個 別に送信する。その後、ステップ S 128においてコピ一成功カウンタをインクリ メントし、ステップ S 120へと戻って待機する。上述したコピー成功カウンタの (コピー成功カウンタ +コピー失敗カウンタ)に対する割合は、コピー.レートと してサーバへと送信され、低すぎる場合には、再度 1ストリーム分のパケットを 送信し直すなどの処理により失われたパケットにより生じるディジタル.コンテン ッ配信における不都合を防止することができる構成とされている。 図 19(b)は、予期せぬクライアントの脱離が発生した場合や、該当するクラ イアントに重大な障害があることを検出した場合のサーバの処理を示したフロ 一チャートである。サーバは、ステップ S 130において、 RTTおよぴコピー'レー トを介して常にクライアントの実効スループットをモニタしており、例えば所定の しきい値時間の間にレスポンス 'パケットを受信しない場合には、クライアント が脱離または障害が発生したものと判断する。サーバは、その後ステップ S 1 3 2へと進み、該当するクライアントに対して送信したソース'パケットのうち、所 定のしきい値に相当する期間内に送信したソース ·パケットを選択し、サーバ の送出ソース'パケット ·リストの先頭に再度登録し、他のクライアントへと再度 登録されたソース ·パケットを送信することで、ソース'パケットの消滅を防止す る構成とされている。 図 20は、本発明のディジタル 'コンテンツ配信システムのより具体的な他の 実施の形態を示した図である。図 20に示した実施の形態は、具体的には、 本発明を事業所内イントラネットを使った、講演会などの社内放送に対して 適用する場合の実施の形態である。図 20に示した実施の形態においては、 事業所内のイントラネットは、各セクションに配置されるエンド'ルータ 70を、ィ ーサネット(登録商標)またはファイバチャネルなどのネットワーク 72によりによ り、パックボーン'ルータ 74を使用して接続する構成である。エンド'ルータ 70 の下には、例えば 1 00台程度のパーソナル 'コンピュータから構成されたクラ イアント 20が、ピアッゥピア接続されて、第 2のネットワーク 76を構成している。 図 20において説明する実施の形態においては、クライアント 20は、ネットヮー ク全体で約 3 000台規模のネットワークを構成している。図 20に示した構成 でたとえばサ一パ 7 8がパケットを全クライアントに送信したものとすると、パック ボーン.ルータ 74として例えば l Gbp sのパンド幅のパックボーン'ルータを使 用しても、 8Mbp sの送信速度を必要とする動画イメージ 'データのスムースな 送信はできず、例えばディジタル'バーサタイル'ディスク( D VD )程度でのデ イジタル.コンテンツの配信は、従来の方法では不可能である。本発明のパケ ット重複回避を用いない場合には、クライアント 1 00台の場合であっても、ュ 一ザは、リアルタイムにディジタル 'コンテンツの配信をうけることができない。 このシステム対して、本発明を適用することにより、クライアント 20は、例えば 1 00M bp sのイーサネット(登録商標)でクライアントが、 同一のスイッチング' ハブにより第 2のネットワークを形成しているものとすれば、クライアント間のピア ッゥピア接続による通信速度は、 40 ~ 5 OM bp sのスループットが期待される ので、例えば MP EG 4において 8Mbp sの送受信に問題はない。一方、クライ アントが異なるエンド.ルータに接続している場合には、異なるグループに分け たほうが効率的となる。ただし、その場合、サーバ 78は、グループの数だけスト リームを送信することになる。 1 00台の P Cを配下に接続するエンド'ルータが 3 0台ある場合には、各エンド ·ルータごとにグループを割り当てることができ る。 この場合には、バックボーン 'ルータ 74に直接接続しているサーバ 78からは 3 0ストリーム分を 240M b p sの消費で送信することになる。図 20に示した実 施の形態においては、エンド'ルータ 70の下でグループ化されるパーソナル' コンピュータは、クライアント 20として、講演会の映像や音声受信に、常時参 カロでき、また離脱できる。また、相対的にパフォーマンスの低いクライアントは、 パケット送信におけるパス木構造の下流側へと常時配置され、他のクライァ ントへの悪影響を回避することができる。なお、このときサーバは、 3 000台の クライアントをパスの選択対象として管理することになるが、 1台のサーバで充 分にディジタル 'コンテンツのリアルタイム配信を行うことが可能であった。 図 21は、本発明の具体的なさらに他の実施の形態を示した図であり、イン ターネット上に配置されたサーバ 1 4からの、複数クライアント 20でディジタル · コンテンツを同時に受信する実施の形態を、本発明にしたがって実行するも のである。図 2 1に示した実施の形態においては、インターネットが第 1のネット ワーク 1 2を形成し、第 2のネットワーク 22は、例えばルータ 1 6を介してインタ 一ネットへと接続されたイントラネットに相当する。インターネットから見れば、 事業所内のイントラネットはバンド幅が広く、スループットの揺らぎの小さい、よ く管理されたネットワークといえる。インターネットにサーバ 1 4が配置された場 合、イントラネットに属するクライアントでグループを構成すれば、インターネット 上でのパケット重複を防ぎ、また、特別なエッジ'サーバなしで、たとえば 1 M b p sの動画イメージ 'データ映像の同時受信ができる。図 21に示した場合には、 クライアントに対して要求される通信速度は、 2Mbp sの性能があればよいこと が確認できた。 図 22は、ワイヤレス.ネットワーク上のサーバに対して、負荷軽減を可能とす る、本発明のさらに別の実施の形態を示した図である。図 2 2に示した本発 明の実施の形態では、サーバ 1 4での処理は、グループの数に応じたストリー ムの送信とパスの動的選択だけなので、従来の比較してサーバに対じて加え られるォ一パーヘッドは、小さくてすむことになる。たとえば、 MP EG 2、 MP EG 4の再生の方が C P U資源を非常に多く必要とするので、サーバ 14よりクライ アント 20の方に負担が大きくなることもある。また、サーバ 14からクライアント 2 0で構成するグループまでは、 1ストリームだけの送信なので、ワイヤレス 'ネット ワーク上に配置され、かつ C P U資源の小さいサーバ 14からでも、ワイヤレス' ネットワークでで接続されたイントラネット上に位置する複数クライアントに向け て、たとえば 384kbp sで MP E G 4のストリームを同時配信することが可能とな る。
E:ディジタル ·コンテンツ配信を行う疑似トンネル配信を実行するディジタル' コンテンツ配信システム
図 23には、本発明において疑似的トンネル配信を行うことを可能とするデ イジタル.コンテンツ配信システムを示す。図 2 3に示したディジタル 'コンテンツ 配信システム 80は、ディジタル'コンテンツを、送信者から受け取って保持す るためのサーバ 82と、複数のクライアント 8 6を含んで構成されるグループ 84a 〜 84 cに帰属されたクライアント 8 6とを含んで構成されている。サーバ 8 2と、 グループ 84 a〜84cとは、ルータ 8 8を介してインターネットといった第 1のネット ワークにより相互接続されている。また、グループに帰属されるクライアント 8 6 は、それぞれグループ内において構成された LANにより相互接続されていて. データ共有おょぴ情報通信が可能とされている。なお、図 2 3に示すグループ の数は、本発明においては図面に示した数に制限されることはなく、またクラ イアントの数についても図面に示した数に制限されるものではない。また、 当 業者によれば周知であるように、グループには、プリンタ 'サーバ、メール .サ一 パといった各種のサーバが接続されていても良い。各グループは、複数がより 大きな大域グループ G 1を構成しており、同様の構成の大域グループ G 2、 G 3が第 1のネットワーク 1 2に接続されている。なお、 G 2、 G 3に対してもサーバ 8 2からディジタル 'コンテンツを配信することができるが、それぞれ異なるサーバ を使用することもできる。 図 2 3に示したコンテンツ配信システム 8 0の機能を詳細に説明すると、まず、 サーバ 8 2は、配信すべきディジタル 'コンテンツをプロバイダが管理する送信 者サーバから受信することにより、またはプロバイダがサーバ 8 2に動画または ファイル形式で入力することにより、ディジタル 'コンテンツを、ハードディスクと いった記憶手段 9 0に保持させる。また、サーバ 8 2に直接ビデオカメラからマ ルチメディア ·データを入力する場合には、サーバ 8 2が含む図示しない適切 なバッファ 'メモリなどにディジタル ·コンテンツを保持させる。 保持されたディジタル 'コンテンツは、サーバ 8 2においてストリーミング処理が 施され、複数のセグメントへと分割され、ソース'パケットとして生成される。生 成されたソース.パケットは、本発明の方法にしたがって実行スループットなど を使用して選定されるクライアント 8 6へと送信される。クライアント 8 6は、ソー ス 'パケットを受信すると、図 2 3に示されるようにグループ内においてソース' パケットのコピーまたはグループ間におけるパケットのコピーを実行することによ り、大域グループ全体においてディジタル 'コンテンツの共有を可能とさせて いる。 また、クライアント 8 6は、ディジタル 'コンテンツを再生するための、例えばウイ ンドウズ.マルチメディア.プレーヤ(商標)といったアプリケーションを含んでい て、各クライアント 8 6のバッファ 'メモリに蓄積されたディジタル ·コンテンツ分ご とに再生処理を実行して、ユーザに対してディジタル.コンテンツの提供を可 能とさせている。図 23に示した実施の形態においては、アプリケーションは、 各クライアントに含まれ、また、ディジタル ·コンテンツもクライアント 86ごとに蓄 積されるものとされている。本発明においては、疑似トンネル配信は、サーバ 8 2においてグループ内、またはグループ間でのパケット'コピ"を実行させるデ ータをソース.パケットに記述することにより実行することができる。また、さらに 別の実施の形態では、クライアントにクライアント 'リストから選択されるコピー 先リストを記憶させておき、ソース'パケットの受信を判断して、コピー先リスト を参照して、コピー ·パケットを送信することも可能である。 図 24には、本発明において、疑似トンネル配信を実行するために生成され るソース.パケットの実施の形態を示す。図 24(a)に示したソース'パケット 92 は、送信時刻記述領域 92aと、ソース'パケットに付されたパケット識別子記 述領域 92bと、グループ内のコピーを実行するか、またはグループ間でパケッ トのコピーを実行する行うかを指示するコピー指示フラグ領域 92c、 92dと、 ディジタル ·コンテンツの実体的データから構成されるデータ ·パケット記述領 域 92eを含んで構成されている。 送信時刻記述領域 92aは、サーバがパケットを最初に送出した時刻を、ク ライアントおよびサーバが認識できる任意の形式とすることができる。送信時 刻記述領域 92aは、サ一パ 82が各パケットを送信するクライアントを決定する ためにクライアントの反応時間、すなわち実行スループットを測定する場合に 利用される。また、パケット識別子記述領域 92bは、サーバ 82が送出したソ ース.パケット付された連番を記録する領域であり、ソース'パケットの時系列 的順番をクライアントが再構成する場合に利用される。 コピー指示フラグ領域 92cは、グループ内のコピーを行うべきかの真偽フラ グが記述された領域であり、クライアントは、受信したパケットのこの領域のフラ グが真であるパケットについて、グループ内のクライアントすべてにそのコピーを 送信する処理を実行する。コピー指示フラグ領域 92dは、グループ間のコピ 一を行うべきかの真偽フラグが記述された領域であり、クライアントは、このフラ グが真であるパケットを、大域グループ内の他グループそれぞれのうちのクライ アントの一つに送信する処理を実行する。 データ.パケット記述領域 9 2 dは、サーバ 8 2が送信し、クライアント 8 6が再 生するべきディジタル 'コンテンツの実体的なデータが記述された領域である。 なお、本発明においては、これらの要素の前後や間に他の付加的な要素を 加えてもよいし、要素の順序を入れ替えてもよい。また、場合によっては一部 の要素を省略してもよい。またソース'パケット 9 2は、図示しないものの、図 1 1 に示されるように、ソース ·パケット 9 2を送信する際の宛先を指定する宛先 IP アドレス、送信元 IPアドレスを含んで構成されている。 図 24 (b )には、本発明のコンテンツ配信サーバ 82において生成されるソー ス.パケットの第 2の実施の形態を示す。図 24 ( b )に示した実施の形態では、 ソース.パケット自体にパケットのコピーを送信するべきクライアントのリストを含 ませ、より詳細に配信先を指定する実施の形態である。この場合、サーバ 82 は、サーバ自体が保持するクライアント 'リストを参照して、送信するべき相手 のリストをソース'パケット 9 2へと記述する。また、図 24 (b )に示されたソース' パケット 9 2は、送信時刻記述領域 9 2 aと、パケット識別子記述領域 92bとを 含んでおり、これらは図 24 ( a )で説明したと同様の機能をクライアントに対し て実行させる機能を有する。また、図 24 (b )に示したソース'パケット 92には、 サーバ 8 2により指定されたコピー先を指定するコピー指示データ領域 92fが 設けられている。クライアントは、ソース ·パケットを受信したと判断すると、コピ 一指示データ領域 92fを読み出し、以下に記載する処理を実行する。 コピー指示データ領域 92fに記述された値 N_destは、コピーを送信すべき 相手のリスト長を指定し、値 D est l〜D est Nは、コピー'パケットを送信するべ きクライアントを指定する IPアドレスなどのクライアント識別子を使用することが できる。例えば、コピー指示データ領域 9 2 fに自分のグループが指定されて いれば、クライアントはグループ内のクライアントのみにそのコピーを送信する。 —方で、コピー指示データ領域 92fに他のグループに送信することを指名す る値、例えば他のグループに対応する IPアドレスなどが指定されていれば、ク ライアントは、指定されたグループのクライアントにそのコピーを送信する。デー タ 'パケット記述領域 9 2eについては、図 24 ( a)において説明したと同様であ る。 . 図 24 ( c )は、本発明において使用するソース.パケット 9 2の第 3の実施の 形態を示した図である。図 24 ( c )に示した実施の形態は、コピー'パケットの 送り先が最初から自明でパケットにはそれを記述する必要がない場合である c この場合には、クライアントは予めコピー先を、メモリまたはハードディスクといつ た記憶手段に記憶されたクライアント 'リストから選択し、他のクライアントとは 重複しない範囲で割り当てられたアドレス範囲のアドレスを有する他のグルー プのクライアントを選択して、コピー先リストを作成することができる。また、図 2 4 ( c )の実施の形態においてグループ内においてコピー ·パケットを配信する 場合には、グループ内で同報通信を実行させることにより、配信を行うことが できる。さらに他の実施の形態では、クライアントが各パケットについて、ダル ープ内の他のクライアントにそのコピーを送信し、また大域グループ内の他の グループそれぞれに帰属されるクライアントの一つに受信したソース'パケット のコピーを送信するようにあらかじめ決めておくこともできる。この実施の形態 において使用することができる図 24 ( c )に示したソース 'パケットには、送信時 刻記述領域 92 aと、パケット識別子記述領域 9 2bと、データ'パケット記述領 域 9 2 eと力、ら構成され、コピー'パケットの配信先は含まれていない。クライア ントは、上述したように、コピー先リストまたは予め指定されたクライアントに対 してコピー.パケットを配信する。 図 2 5は、本発明の疑似的トンネル配信のサーバが実行するプロセスを示し たフローチャートである。本発明の疑似トンネル配信は、ステップ S 1 30におい てサーバが、グループに新たなクライアントが参加したか否かを、クライアントか 03 07093
52 ら送信される通知(Jo in reque st)をモニタして判断する。サーバが、新規に参 加するクライアントを見出した場合(ye s )には、サーバは、ステップ S 1 32にお いて新規に参加するクライアントの実行スループットにっき、予め小さめの値 を割り当て、以後の実績を考慮しながらいきなり新規参加のクライアントに大 量のソース'パケットが送信されるのを防止する。ついでステップ S 1 34で、サ ーパは、クライアント 'リストに当該クライアントを追加し、ディジタル 'コンテンツ を配信することを可能とする。ここで、クライアントの識別は、クライアントに割り 当てられた識別子、例えば IPアドレス、クライアントに任意に付されたクライア ント名称などにより行うことができる。ステップ S 1 36においてサーバは、新たな クライアントが大域グループに参加したことおよぴその IPアドレスなどの識別 子を大域グループ内の新規参加したクライアントを含む、すべてのクライアント に通知する。この通知を受けたクライアントは、新たなリストをハードディスクま たは適切なメモリに格納する。この場合の通信は、本発明の疑似トンネル配 信を使用して実行することもできるし、送信するデータ量がマルチメディア'デ —タ、画像データなどと比較して比較的小さいため、これまで知られたいかな る方法を使用して送信することができる。上述したプロセスにより、サーバと、 クライアントとは、最新の同一のクライアント 'リストを保有することが可能とな る。 図 26は、ディジタル 'コンテンツの配信を行う処理の、サーバとクライアントと のプロセスを示した図である。プロバイダがディジタル.コンテンツの配信を行う ようにサーバに対して指令すると、ステップ S 140において、サーバは、クライア ント'リストを参照し、最も実行スループットの大きな、またはラウンド 'トリップ · タイム(RTT)の最も小さなクライアントを選択して、第 1のソース'パケットを当 該クライアントの IPアドレスなどを参照して送信する。この場合、本発明の疑 似トンネル配信方法の最も単純な実施の形態では、同一のソース 'パケット は、大域グループに属するただ 1つのクライアントへと配信される。 クライアントは、ステップ S 1 42でパケットを受信し、ステップ S 144で受信した パケットがサーバからのソース.パケットか否かを判断する。ソース.パケットの 判断は、例えば、ソース'パケットに含まれる送信元アドレス、コピー指示フラ グ、コピー指示データ領域が含まれているか否かなどを使用して判断すること ができる。また、本発明においてソース'パケットのコピーは、コピー'パケットで あることが判断できる限り、いかなる形式でも作成することができる。また、最も 普遍的に利用することができるソース'パケットの判断は、通常サーバに割り 当てられた IPアドレスは固定 IPアドレスとされるので、パケットにおける送信元 IPアドレスを使用して行うことができる。ステップ S 144の判断においてソース' パケットであると判断した場合(ye s )には、クライアントは、ステップ S 146にお いてソース'パケットに記述された配信先、または図 24 ( c )に示されたソース' パケットを使用する実施の形態の場合には、コピー先リストを参照するなどし て予め登録されている配信先へとソース'パケットのコピーを送信する。この場 合、コピー.パケットの送信は、 2つのプロセスを含んで実行される。すなわち、 ( i )ソース.パケットを受信したクライアントが所属するグループに属するクライ アントすべてにコピー'パケットを送信する、 (ii)ソース'パケットを受信したクラ イアントが所属しないグループそれぞれに対して、そのグループ内のクライアン トの一つを選んでこのパケットのコピーを送信する。この選択については、予め 設定しておくこともできるし、また送信するべきクライアントの RTTを適切な基 準おょぴ手法モニタしておき、コンテンツ配信サーバと同様にレスポンス 'タイ ムの小さいものを動的に選択して送信することもできる。 ステップ S 1 44の判断において、受信したパケットがソース ·パケットではない と判断した場合(n o )には、受信したクライアントが格納するべきパケットなの で、ステップ S 148においてクライアントは、受信したコピー'パケットをリング 'パ ッファなどに蓄積し、ディジタルコンテンツの再生のための処理を開始し、ステ ップ S 142へと戻って次のパケットの処理を繰り返す。 図 2 7は、上述したサーバとクライアントとの間のパケット送受信の処理を簡 略化して示した図である。図 27に示されるように、クライアント aは、 Gで示され た大域グループを構成するグループ S G @yi@ Zに属し、大域グループ Gには、 グループ30 @ 1 @ 2〜30 @ @ 2( 1≤1≤ 1^のグル一プが存在する。クライア ント aは、サーバ 8 2から受信したソース 'パケットのコピーを、グループ S G @ yi @ z に属する全クライアントおよび他の(m— 1 )のグループそれぞれの一つのク ライアント bへと送信する。 . 図 26および図 27に示した方法により、大域グループ Gに含まれるクライアン トは、サーバ 8 2および他のグループのクライアントおよび同一グループ内のク ライアントからパケットを受信することが可能となる。この結果、サーバは、ディ ジタル'コンテンツを再構成させるための最小限の単位であるソース 'パケット を、従来のトンネルをグループごとに構成して送信する場合のように、ディジタ ル.コンテンツの重複した送信を行うことなく、すべてのクライアントに対してデ イジタル'コンテンツを再構成させるためのすべてのパケットを配信することがで きる。さらに、本発明の疑似トンネル配信では、ソース 'パケットは重複して送 信されないので、クライアントにおけるパケットの重複は完全に回避することが 可能となり、クライアントにおけるパケットの重複おょぴそれに伴う重複パケット の処理の問題を生じさせず、スムーズなディジタル.コンテンツの配信を行うこ とを可能とする。 また、クライアントは、ソース ·パケットおよびコピー'パケットの所定量をリン グ-バッファに蓄積した後、これらのパケットをアプリケーションへと提供してディ ジタル 'コンテンツをユーザに提供する。 本発明の疑似トンネル配信では、サーバ、グループ、クライアントのすべてに ついて通信帯域幅を圧迫しないでディジタル 'コンテンツの配信を可能とする サーバから大域グループに対して送信するパケットは 1セット分であり、グルー プごとに見ると、受信パケットはソース 'パケットおよびコピー'パケットを含めて 1セット分であり、また送信パケットは、グループ単位で平均 1セット分以下と なる。クライアントごとに見ても、同様に受信パケットは 1セット分、送信パケット は平均 1セット分以下になる。ここで、大域グループに含まれる全クライアント の数を改めて m個として定義し、 Mを、大域グループを構成するグループの 数として定義する。この場合グループ間でクライアントの接続数が概ね等しい ものとすれば、クライアントは、統計的に見て 1セットの 1 / mのソース'パケット を受信し、受信したソース ·パケットを、グループ内の(m/M— 1 )のクライアン にコピーし、さらに(M— 1 )の他のグループに配信する。ここで、クライアント 1 つについてパケットの送受信量を概略的に算出すると、下記式
((m/M - 1) + (M-1)) / m = (m + MA2 - 2M) / mM が得られる。上記式中、. mM - (m + M"2 - 2 ) = (m-M)(M-2) + m > 0なの で、
(m + MA2 - 2M) I mM< 1
'となることが示される。 また本発明によれば、一部のクライアントが参加離脱したり、または何らかの 理由で異常終了しても、残りのクライアントは正常に受信を続けることができ る。本発明では、サーバとグループとの間に複数のトンネルを提供するのでは なく、サーバと、多数の分散したクライアントの間においてピア一ッウーグルー' プ型のトンネルを提供することでシステム全体に対してロバスト性を付与する ことが可能となる。 なお、上述した実施の形態では、クライアントは、ディジタル 'コンテンツとデ イジタル.コンテンツを再生するアプリケーションとを対として保持しているものと して説明した。本発明においては、クライアントとアプリケーションとは、を同一 のコンピュータ上で稼動させることもできるが、より詳細には後述するように、ァ プリケ一シヨンがディジタル 'コンテンツを共有することもでき、上述した実施の 形態に限定されるものではない。また、本発明においては、ディジタル 'コンテ ンッを生成するサーバと、ストリーミング処理を施してソース'パケットを送信す るサーバとを、同一のコンピュータ上で稼動させることもできるし、別々のサ一 パとして構成することができる。これらを互いに別々のコンピュータとして構成 する場合には、プロバイダとサーバと間の通信は、マルチキャストであってもよ いし、 UDPまたは TCPといった通信プロトコルを用いるュニキャストとすること ができる。この点で、本発明はいわゆるマルチキャスト 'トンネルとは異なり、サ ーパ.クライアント間で IPマルチキャストを一切使わなくてもマルチキャストと同 様の効果を与えることを可能とする。 図 28は、サーバと、クライアントとの間のパケット送受信のタイミングを示した 図である。図 28に示されるように、サーバは、時刻 tlにおいて、ソース'パケッ ト#1をクライアント # 1に対して送信する。ソース'パケット #iを受信したクライ アント # 1は、ソース.パケットを受信したことを通知する信号" Ack"をサーバに 対して送信する。サーバは、信号 "Ack"を時刻 t2において受け取り、その時 間差(t2— tl)を算出して、クライアント 'リストの該当するクライアントの実行 スループットを更新させる。 クライアント # 1は、ソース'パケット #iを受信して直ちにコピー'パケットを生 成し、時刻 t3において、クライアント # 1が帰属されるグループのクライアント、 図 28に示した実施の形態では、クライアント # 2へとコピー ·パケット #iを送 信する。同時にクライアント # 1は、他のグループに帰属されるクライアント # 3 へとコピー'パケット #iを送信する。クライアント # 2は、時刻 t4でコピー 'パケ ット #iを受信し、クライアント # 3は、時刻 t5においてコピー'パケット #iを受 け取る。クライアント # 3は、コピー'パケット #iを受け取つたことを通知する信 号" Ack2"をクライアント # 1へと送信し、信号" Ack2"は、時刻 t6においてク ライアント # 1に受信される。クライアント # 1は、例えば時間差(t6— t3)とし てグループ内での実行スループットを算出し、リストの該当するクライアント'リ ストを更新する。さらに、クライアント # 3は、 同一のグループ内においてコピ JP03/07093
57 一.パケット # iを同一のグループ内のクライアント # 4へと送信する。ここで、グ ループ内においてラウンド.トリップ.タイムを算出させていないのは、グループ 内においてはクライアントを選択せずに必ずコピー ·パケット # iを送信しなけ ればならないためである。また、本発明においては後述するように、各グルー プ間で通信帯域幅が大きく異なる場合には、サーバがソース'パケットを送信 した時刻を記憶しておき、宛先のクライアントから Ack信号を受信した時刻を 測定して、実行スループットを判断する基準とすることも きる。 図 2 9は、本発明の疑似トンネル配信システムの別の実施の形態を示した 図である。 AD S L、 CATVなどの通信インフラ基盤を使用するネットワークで は、受信/送信(downlink/uplink )の帯域幅が非対称となる。図 2 9に示し た実施の形態は、クライアント側のネットワークで uplink の帯域幅が小さく設 計されている場合に有効な実施の形態である。図 29に示した実施の形態で は、サーバがソース'パケットを送信する場合、少なくとも 1部のソース 'パケット を複数のクライアントに送信する。図 29に示した場合には、クライアントとして は、例えばラウンド ·トリップ 'タイム(RTT)の小さなものから順にそれぞれ別の グループに属するものを選択することができる。また、複数のクライアントに送 信したソース.パケットとして、図 24 (b )に示したソース'パケット構成を使用し、 どのグループのどのクライアントにコピーするかを直接指示することもできる。 図 29に示したクライアントが実行する処理を説明すると、ソース 'パケット # i を受信したクライアントは、ソース ·パケットにおいて同一のソース ·パケット # i がすでに送られていない別のグループへとコピー ·パケットを送信する。このこ とにより、同一のソース'パケットに対応するコピー'パケットが同一のグループ に配信されてしまうことにより生じる不都合を排除することができる。また、ソー ス 'パケット # iには、同一のソース'パケット # iを送付したグループのアドレス を記述して、当該記述されたアドレスのグループを除いたグループにコピー' パケットを送信することもできる。さらに、図 29に示した疑似トンネル配信を使 用することにより、グループ間の通信量も削減することができ、 uplink パケット の量を小さくすることができる。一方、サ バにとってみれば、 同一のソース' パケットを複数のクライアントに送信する必要が生じるので負荷は高くなる。 本発明においては、上述したトレードオフ、および使用している通信インフラ 基盤の特性を考慮して、どの方法を使用するかを選択することができる。また、 時間帯などに応じて、複数の方法を併用してディジタル 'コンテンツの配信を 行うこともできる。 図 30は、本発明の疑似トンネル配信システムのさらに別の実施の形態を 示した図である。図 30に示した実施の形態では、グループ内におけるクライ アント間でコピー'パケットを送受信しない。図 30に示した実施の形態では、 クライアントから直接アプリケーションへとパケットを送るのではなく、クライアント は、受信したパケットをブロードキャスト、または第 3のネットワークとして参照さ れる LANローカルなマルチキャストを用いて送信する。図 30に示した実施の 形態では、アプリケーションは、他のコンピュータ 94に格納されており、アプリ ケーシヨンを格納したコンピュータ 94は、クライアント 86から第 3のネットワーク 96を介してディジタル 'コンテンツを再生するために接続して必要なパケットを 取得し、ディジタル 'コンテンツの再生を行う。グループを接続する第 2のネット ワーク 22としては、ワイヤレス ·ネットワークでもイーサネット(登録商標)でも許 容されるものの、本発明の図 30に示した実施の形態で使用される、第 3のネ ットワークは、第 2のネットワークとは目的の異なる、例えばイーサネット(登録 商標)などを使用したネットワークとすることができる。図 30に示した実施の形 態では、アプリケーションを格納したコンピュータ 94は、グループ内のクライア ント 86すべてが第 3のネットワーク上にアップデートするパケットを都度受信し て再生することができるので、ディジタル ·コンテンツを過不足なくスムースに再 生することができる。 また図 30に示した実施の形態では、アプリケーションは、クライアントと一対 —でなくてもパケットを受信可能であることを意味する。ただし、第 3のネットヮ ーク 96上でクライアントがーつ以上稼動していることが必要である。この場合 クライアント 86はすべてのパケットを取得して格納しなくても疑似トンネルを構 成することができ、通信トラフィック量の削減おょぴクライアント側のハードゥエ ァ資源の節約を可能としつつ、ディジタル 'コンテンツの配信が可能となる。 上述したように、本発明によれば、 1対多数のデジタルメディア配信におい て、パケット単位での動的なパスの最適化により、系はクライアントの参加や 離脱の影響を受けにくくなり、クライアントはいつでも参加あるいは離脱できる。 また、異常終了による離脱やケーブルの断線などにも系は影響を受けにくく、 安定性を向上させることができる。さらに、クライアントでの負担は基本的には 均等に分散していて、大域グループ全体として受信機能が働くので(分散 協調性)、特別な補助サーバを必要としない。これにより、 自律性の観点から 指摘されているような、ネットワークシステムの複雑化を避けて、メンテナンスの 容易な単純なシステム構成にすることができる。 また、クライアントの参加離脱を反映する更新処理を局所化して、そのォー バーヘッドを常に小さくすることなどにより、サーバの負担を大幅に減らし、クラ イアントと同等あるいはそれ以下の資源しか許されない計算機でも、サーバと して機能させることができる。 さらに、本発明によれば、ネットワークを介して互いに接続され、それぞれ複 数のクライアントを含んで構成される複数のグループを含む所定の大域グル ープに対してに対し、サーバに対する通信トラフィックのオーバーヘッドを低減 させつつ、ディジタル'コンテンツのスムースかつ無駄のない配信を可能とする ディジタル 'コンテンツ配信システム、およびそのためのサーバ、およぴクライア ント、並びにコンピュータを上述したサーバおょぴクライアントとして機能させる ための制御方法、それらのためのプログラムおよぴ該プログラムを記録したコ ンピュータ可読な記録媒体を提供することが可能となる。 なお、本発明においては、 IPマルチキャストやアプリケーション—レベル'マ 3
60 ルチキャストによりもたらされる利点、たとえば、パケットが重複しないように配 信してネットワークを効率的に利用し混雑を回避することや、ネットワーク層で のコストのかかる置き換え作業を必要としないことなどの性質は損なうことなく そのまま受け継いでおり、優れたディジタル 'コンテンツ配信を行うことが可能 となる。また、本発明においては第 2のネットワークは、たとえばプリンタ'サー パ、メール.サーバ、アプライアンス.サーバなど、サーバを含んで構成すること ができる。 本発明の上述した各機能を実現する手段または部分は、コンピュータ実 行可能なプログラム言語により記述されたソフトウェアまたはソフトウェア'モジ ユール群として構成することができ、必ずしも図面に記載した機能ブロックとし て構成される必要はない。 本発明のディジタル 'コンテンツ配信を実行させるための上述したプログラム は、種々のプログラミング言語、例えば C言語、 C + +言語、 J a va (登録商 標)、などを使用して記述することができ、本発明のプログラムを記述したコー ドは、磁気テープ、フレキシブル 'ディスク、ハードディスク、コンパクト 'ディスク (C D ) ,光磁気ディスク、デジタル'バーサタイル'ディスク(DVD )といったコン ピュータ可読な記録媒体に保持させることができる。 これまで本発明.を図面に記載した具体的な実施の形態をもって説明して きたが、本発明は、上述した特定の実施の形態に制限されるものではなく、 種々の変更例おょぴ他の実施の形態であっても、本発明の効果を奏する範 囲において、これまで知られたいかなる構成要素であっても用いることができ る。 図面の簡単な説明 図 1は、本発明のディジタル 'コンテンツ配信システムを示した概略図。 図 2は、本発明において構成されるパス木構造の概略図。 図 3は、サーバからのソース'パケット送信おょぴクライアントのコピー'パケット 送信の処理を概略的に示した図。 図 4は、本発明において動的に中間ノードとなるクライアントが選択される場 合の実施の形態を示した図。 図 5は、本発明にしたがって、クライアントに対して送受信されるパケットのトラ フィックを示した図。 図 6は、本発明において動的にクライアントを中間ノードとして選定する場合 の概略図。 図 7は、本発明においてグループ # 1に対して新たにクライアントが追加され た場合のサーバの処理を示した図。 図 8は、新たに生成されたパス木新構造に基づいて新たに参加したクライア ントに対しての処理を示した図。 図 9は、本発明におけるクライアントの構成を示した機能ブロック図。 図 1 0は、本発明のサーバの構成を示した機能プロック図。 図 1 1は、本発明において使用することができるソース.パケットの実施の形態 を示した図。 図 1 2は、本発明においてサーバが使用するクライアント 'リストの実施の形態 を示した図。 図 1 3は、サーバが選択する本発明のパス木構造の実施の形態を示した図。 図 1 4は、本発明のディジタル 'コンテンツ配信システムの第 2の実施の形態 を示した図。 図 1 5は、図 1 4に示したソース 'サーバおょぴクライアントの構成を示したプロ ック図。 図 1 6は、本発明のサーバと、クライアントとの間のソース'パケットの通信を、 時系列的に示した図。 図 1 7は、本発明において中間ノードとして選択されたクライアント間における ソース'パケットおよびコピー'パケットの送信を各クライアントおよびサーバの 間において時系列的に示した図。 図 1 8は、本発明のクライアントの処理を示したフローチャート。 図 1 9は、 (a )は、本発明におけるコピー処理のフローチャートであり、 (b )は、 予期せぬクライアントの脱離が発生した場合や、該当するクライアントに重大 な障害があることを検出した場合のサーバの処理を示したフローチャート。 図 20は、本発明のディジタル ·コンテンツ配信システムの他の実施の形態を 示した図。 図 2 1は、本発明のディジタル 'コンテンツ配信システムのさらに他の実施の形 態を示した図。 図 22は、ワイヤレス.ネットワーク上のサーバに対して、負荷軽減を可能とす る、本発明のさらに別の実施の形態を示した図。 図 23は、本発明のコンテンツ配信システムの構成を示したブロック図。 図 24は、本発明において使用することができるソース'パケットの他の実施の 形態を示した図。 図 25は、本発明のコンテンツ配信を実行するプロセスのフローチャート。 図 26は、本発明のコンテンツ配信を実行する場合のサーバおょぴクライアン トの処理を示したフローチャート。 図 27は、本発明のコンテンツ配信により配信されるソース'パケットとコピー' パケットとのフローを簡略化して示した図。 図 28は、本発明のコンテンツ配信システムのさらに他の実施の形態を示した
図 29は、本発明のコンテンツ配信システムのさらに他の実施の形態を示した 図。 図 30は、本発明のコンテンツ配信システムのさらに他の実施の形態を示した 図。 図 3 1は、従来の IPマルチキャスト方式の概略図。 図 3 2は、従来のアプリケーション—レベル'マルチキャスト方式を使用したディ ジタル .コンテンッの配信の概略図。 図 3 3は、クライアントをエッジ'サーバに接続させる従来の構成のディジタル' コンテンツ配信システムの概略図。 図 34は、従来のマルチキャスト 'トンネリングを使用したディジタル 'コンテンツ の配信を示した概略図。 図 3 5は、従来のマルチキャスト 'トンネリングを使用したディジタル'コンテンツ の配信における通信トラフィック環境を示した概略図。

Claims

請 求 の 範 囲
1 . 第 1のネットワークと第 2のネットワークとを介してディジタル.コンテンツを 配信するためのシステムであって、 前記第 1のネットワークに接続され、ディ ジタル ·コンテンツを送信するサーバと、前記第 1のネットワークに接続される 前記第 2のネットワークを構成し、前記ディジタル 'コンテンツを受信して提供 するためのクライアントとを含み、前記サーバは、保持したディジタル 'コンテン ッを複数のパケットに分割して前記第 2のネットワークに対して前記ディジタ ル.コンテンツを構成するための最小単位のパケットを送信する手段を含み、 前記第 2のネットワークを構成する前記クライアントは、前記クライアントが前 記サーバから受信した前記最小単位のパケットと、前記第 2のネットワークを 構成する他のクライアントから受信したパケットとを使用して、前記第 2のネット ワーク内に接続されたすベての前記クライアントに対して前記ディジタル ·コン テンッを保持させるための手段を含む
ディジタル 'コンテンツ配信システム。
2. 前記サーバは、前記最小単位のパケットを、前記第 2のネットワークの複 数のクライアントに動的に割り当てる手段を含む、請求項 1に記載のディジタ /レ 'コンテンツ配信システム。
3 . 前記最小単位のパケットを前記第 2のネットワークの複数のクライアント に害 IJり当てる手段は、前記クライアントのオーバーヘッドを決定するための手 段と、前記オーバーヘッドに関連して前記クライアントの少なくとも 1つを中間 ノードとして動的に選択し、当該中間ノードに宛てて前記パケットを割り当て る手段とを含む、請求項 3に記載のディジタル 'コンテンツ配信システム。
4. 前記クライアントのオーバーヘッドを決定するための手段は、前記サーバ が前記最小単位のパケットを所定のクライアントに宛てて送信した時刻と、前 記所定のクライアントが前記最小単位のパケットの受信通知を発行した時 刻との時間差を決定するための手段を含む、請求項 3に記載のディジタル · コンテンツ配信システム。
5 . 第 1のネットワークに接続され、ディジタル ·コンテンツを送信するサーバと、 前記第 1のネットワークに接続される第 2のネットワークを構成し、前記ディジ タル'コンテンツを受信して提供するためのクライアントとを含み、前記第ェの ネットワークと前記第 2のネットワークとを介してディジタル.コンテンツを前記ク ライアントに配信するための方法であって、ディジタル 'コンテンツを複数のパ ケットに分割して前記サーバから前記クライアントに対して前記ディジタル 'コ ンテンッを構成するための最小単位のパケットを送信するステップと、前記第
2のネットワークを構成するクライアントが前記サーバから前記最小単位のパ ケットを受信するステップと、前記第 2のネットワークを構成する他のクライアン トから前記ディジタル ·コンテンツを再構成するためのパケットを受信するステ ップと、前記サーバから送信された前記最小単位のパケットと、前記他のクラ イアントから受信したパケットとを使用して、前記第 2のネットワーク内に接続さ れたすベての前記クライアントに対して前記ディジタル ·コンテンツを保持させ るステップとを含むディジタル ·コンテンツ配信方法。
6 . 前記最小単位のパケットを送信するステップは、前記サーバから前記最 小単位のパケットを、前記第 2のネットワークの複数のクライアントに動的に割 り当てるステップを含む、請求項 5に記載のディジタル 'コンテンツ配信方法。
7 . 前記最小単位のパケットを前記第 2のネットワークの複数のクライアント に割り当てるステップは、前記クライアントのォ一パーヘッドを決定するステツ プと、前記オーバーヘッドを前記サーバに保持させるステップと、前記保持さ れたオーバーヘッドに関連して中間ノードとなるクライアントを選択するステツ プと、前記中間ノードとして選択されたクライアントに宛てて前記最小単位の パケットを割り当てるステップとを含む、請求項 5に記載のディジタル 'コンテン ッ配信方法。
8 . 前記クライアントのオーバーヘッドを決定するステップは、前記サーバが 前記最小単位のパケットを所定のクライアントに宛てて送信した時刻を前記 サーバに登録するステップと、前記所定のクライアントが前記パケットの受信 通知を発行した時刻を前記サーバに登録するステップと、前記送信した時 刻と前記発行した時刻との時間差を算出するステップとを含む、請求項 7に 記載のディジタル ·コンテンッ配信方法。
9 . 第 1のネットワークに接続され、ディジタル 'コンテンツを送信するサーバと、 前記第 1のネットワークに接続される第 2のネットワークを構成し、前記ディジ タル ·コンテンツを受信して提供するための宛先が指定されたクライアントとを 含み、前記第 1のネットワークと前記第 2のネットワークとを介してディジタル' コンテンツを前記宛先に宛てて配信する方法を実行するためのサーバ 'プロ セスを実行するプログラムであって、前記プログラムは、ディジタル 'コンテンツ を複数のパケットに分割するステップと、最小単位のパケットを、前記サーバ から前記第 · 2のネットワークの複数の宛先に動的に割り当てるステップと、前 記サーバから前記第 1のネットワークを介して前記第 2のネットワークに対して 前記ディジタル 'コンテンツを構成するための最小単位のパケットを送信する ステップと、を含み、前記割り当てステップは、前記宛先からの受信通知を受 信するステップと、前記受信通知を前記サーバに保持させるステップと、前 記保持された受信通知を使用して関連して中間ノードとなる宛先を選択す るステップと、前記中間ノードとして選択された宛先に宛てて前記最小単位 のパケットを割り当てるステップとを実行させるプログラム。
1 0 . 前記宛先を選択するステップは、前記サーバが前記最小単位のパケ ットを所定の宛先に宛てて送信した時刻をサーバに登録するステップと、前 記最小単位のパケットの前記受信通知が発行された時刻を前記サーバに 登録するステップと、前記送信した時刻と前記受信した時刻との時間差を 算出するステップとを含む、請求項 9に記載のプログラム。
1 1 . 第 1のネットワークに接続され、ディジタル'コンテンツを送信するサーバ と、前記第 1のネットワークに接続される第 2のネットワークを構成し、前記ディ ジタル.コンテンツを受信して提供するための宛先が指定されたクライアントと を含み、前記第 1のネットワークと前記第 2のネットワークとを介してディジタ ル.コンテンツを前記宛先に宛てて配信する方法を実行するためのサーバ · プロセスを実行するプログラムが記録されたコンピュータ可読な記録媒体であ つて、前記プログラムは、ディジタル 'コンテンツを複数のパケットに分割するス テツプと、前記サーバから最小単位のパケットを、前記第 2のネットワークの複 数の宛先に動的に割り当てるステップと、前記サーバから前記第 1のネットヮ ークを介して前記第 2のネットワークに対して前記ディジタル 'コンテンツを構 成するための最小単位のパケットを送信するステップと、を含み、前記割り当 てステップは、前記宛先からの受信通知を受信するステップと、前記受信通 知を前記サーバに保持させるステップと、前記保持された受信通知を使用し て関連して中間ノードとなる宛先を選択するステップと、前記中間ノードとし て選択された宛先に宛てて前記最小単位のパケットを割り当てるステップと を実行させる記録媒体。
1 2. 前記宛先を選択するステップは、前記サーバが前記最小単位のパケ ットを所定の宛先に宛てて送信した時刻をサーバに登録するステップと、前 記最小単位のパケットの前記受信通知が発行された時刻を前記サーバに 登録するステップと、前記送信した時刻と前記受信した時刻との時間差を 算出するステップとを含む、請求項 1 1に記載のプログラム。
1 3 . さらに、前記宛先を選択するステップは、前記サーバに宛先リストを保 持させるステップと、前記宛先リストと前記受信通知の癸行された時刻とを 使用して宛先を選択するステップと、前記宛先リストを定期的に更新するス テツプとを含む請求項 1 2に記載のプログラム。
14. 第 1のネットワ^ "クに接続され、ディジタル 'コンテンツ.を送信するサーバ と、前記第 1のネットワークに接続される第 2のネットワークを構成し、前記ディ ジタル.コンテンツを受信して提供するためのクライアントとを含み、前記第 1 のネットワークと前記第 2のネットワークとを介してディジタル 'コンテンツを前記 クライアントに配信するための方法を実行するクライアント 'プロセスを実行さ せるためのプログラムであって、該プログラムは、前記クライアントに対し、前記 第 1のネットワークを介して複数のパケットに分割されたディジタル 'コンテンツ を構成する最小単位のパケットを受信するステップと、前記第 2のネットワーク を構成する他のクライアントから前記ディジタル 'コンテンツを再構成するため のパケットを受信するステップと、前記第 1のネットワークを介して受信した前 記最小単位のパケットと、前記他のクライアントから受信したパケットとを使用 して前記第 2のネットワークに含まれる前記クライアントに対して前記ディジタ ル.コンテンツを保持させるステップとを実行させるプログラム。
1 5 . 前記最小単位のパケットを受信したクライアントに対してさらに、前記 最小単位のパケットを受信した時刻を含む受信通知を生成するステップを 実行させる、請求項 14に記載のプログラム。
1 6 . さらに、前記クライアントに対して、前記最小単位のパケットと、前記他 のクライアントから受信したパケットとを識別するステップを実行させる、請求 項 14に記載のプログラム。
1 7. さらに、前記第 2のネットワークを構成するメンバーのリストを生成する テツプと、前記リストを、前記第 2のネットワークにクライアントが追加または削 除された場合に更新するステップとを含む、請求項 14に記載のプログラム。 ―
1 8. 第 1のネ:クトワークに接続され、ディジタル.コンテンツを送信するサーバ と、前記第 1のネットワークに接続される第 2のネットワークを構成し、前記ディ ジタル ·コンテンツを受信して提供するためのクライアントとを含み、前記第 1 のネットワークと前記第 2のネットワークとを介してディジタル'コンテンツを前記 クライアントに配信するための方法を実行するクライアント 'プロセスを実行さ せるためのプログラムが記録されたコンピュータ可読な記録媒体であって、該 プログラムは、前記クライアントに対し、前記第 1のネットワークを介して複数の パケットに分割されたディジタル.コンテンツを構成する最小単位のパケットを 受信するステップと、前記第 2のネットワークを構成する他のクライアントから 前記ディジタル 'コンテンツを再構成するためのパケットを受信するステップと、 前記第 1のネットワークを介して受信した前記最小単位のパケットと、前記他 のクライアントから受信したパケットとを使用して前記第 2のネットワークに含ま れる前記クライアントに対して前記ディジタル'コンテンツを保持させるステップ とを実行させる記録媒体。
1 9 . 前記最小単位のパケットを受信したクライアントに対してさらに、前記 最小単位のパケットを受信した時刻を含む受信通知を生成するステップを 実行させる、請求項 1 8に記載の記録媒体。
20. さらに、前記クライアントに対して、前記最小単位のパケットと、前記他 のクライアントから受信したパケットとを識別するステップを実行させる、請求 項 1 8に記載の記録媒体。
2 1 . さらに、前記第 2のネットワークを構成するメンバーのリストを生成するス テツプと、前記リストを、前記第 2のネットワークにクライアントが追加または削 除された場合に更新するステップとを含む、請求項 1 8に記載め記録媒体。
22. 第 1のネットワークに接続され、ディジタル ·コンテンツを前記第 1のネッ トワークに接続される第 2のネットワークに対して提供するためのサーバであつ て、該サーバは、ディジタル'コンテンツを複数のパケットに分割するための手 段と、前記第 2のネットワークに含まれる宛先を含むリストを記憶する手段と、 前記サーバから前記第 1のネットワークを介して前記第 2のネットワークに対し て、前記ディジタル ·コンテンツを構成するための最小単位のパケットを送信 する手段と、前記リストを使用して前記最小単位のパケットを送信する前記 第 2のネットワークに対する宛先を動的に割り当てる動的割り当て手段と、前 記宛先からの受信通知を受信する手段と、前記受信通知を使用して中間 ノードとなる宛先を選択する手段と、前記中間ノードとして選択された宛先を 使用して前記最小単位のパケットを送信する手段とを含むディジタル 'コンテ ンッ配信サーバ。
23 . 前記動的割り当て手段は、前記最小単位のパケットを所定の宛先に 宛てて送信した時刻を前記サーバに登録する手段と、前記所定のクライアン トが前記最小単位のパケットの前記受信通知を発行した時刻を前記サーバ に登録する手段と、前記送信した時刻と前記受信した時刻との時間差を算 出する手段とを含む、請求項 22に記載のサーバ。
24. 前記サーバは、宛先リストを含み、さらに前記宛先リストを、前記第 2の ネットワークの構成の変更に関連して動的に更新する手段を含む、請求項 2 2に記載のサーバ。
25 . 第 1のネットワークを介して配信されるディジタル 'コンテンツを受信し、 前記第 1のネットワークに接続される第 2のネットワークを構成するクライアント であって、該クライアントは、前記第 1のネットワークを介して複数のパケットに 分割されたディジタル 'コンテンツを構成する最小単位のパケットを受信する 手段と、前記第 2のネットワークを介して前記ディジタル 'コンテンツを再構成 するためのパケットを受信する手段と、前記第 1のネットワークを介して受信し た前記最小単位のパケットと、前記第 2のネットワークを介して他のクライアン トから受信したパケットとを使用して、前記第 2のネットワークに含まれるクライ アントに対して前記ディジタル 'コンテンツを保持させる手段とを含むクライ ント。
26 . 前記クライアントは、前記最小単位のパケットを受信した時刻を含む 受信通知を生成する手段を含む、請求項 25に記載のクライアント。
27 . さらに、前記クライアントは、前記最小単位のパケットと、前記他のクラ イアントから受信したパケットとを識別する手段を含む、請求項 25に記載のク ライアント。
28 . さらに、前記第 2のネットワークを構成するメンバーのリストを含み、前記 リストを、前記第 2のネットワークにクライアントが追加または削除された場合に 更新する手段とを含む、請求項 25に記載のクライアント。
29 . 第 1のネットワークと第 2のネットワークとを介してディジタル 'コンテンツを 所定の大域グループに配信するためのシステムであって、前記^ 1のネットヮ ークに接続され、ディジタル'コンテンツを送信するサーバと、前記第 1のネット ワークに接続される前記第 2のネットワークを構成するクライアントを含んで構 成され、前記ディジタル.コンテンツを受信して提供する前記大域グループを 構成する複数のグループとを含み、前記サーバは、保持したディジタル'コン テンッを複数のパケットに分割して前記グループの前記クライアントに対して 前記ディジタル 'コンテンツを構成するための最小単位のパケットを重複なく 送信する手段を含み、前記最小単位のパケットを受信した前記クライアント は、前記クライアントを含むグループを構成するすベてのクライアントおよび他 のグループを構成する他のクライアントに前記サーバから受信した前記最小 単位のパケットのコピーを配信する手段を含むディジタル 'コンテンツ配信シ ステム。
30 . 第 2のネットワークを介して接続される複数のグループを含んだ大域グ ループに対して第 1のネットワークを介してディジタル 'コンテンツを配信する-た め、前記第 1のネットワークに接続されたサーバであって、保持したディジタ ル.コンテンツを複数のパケットに分割して最小単位のパケットを生成する手 段と、前記最小単位の同一のパケットが所定のグループについて重複しない ように前記最小単位のパケットの配信先を選択する手段と、前記グループの 前記選択されたクライアントに対して前記ディジタル 'コンテンツを構成するた めの最小単位のパケットを送信する手段とを含むサーバ。
3 1 . 前記最小単位のパケットを生成する手段は、前記最小単位のパケット のコピーを少なくとも他のグループに配信するためのデータを含む最小単位 のパケットを生成する手段を含む、請求項 30に記載のサーバ。
3 2 . 第 2のネットワークを介して接続される複数のグループを含んだ大域グ ループに対して第 1のネットワークを介してディジタル 'コンテンツを配信するた めのサーバとしてコンピュータを制御する方法であって、前記方法は、前記コ ンピュータに対し、保持したディジタル 'コンテンツを複数のパケットに分割して 最小単位のパケットを生成するステップと、前記最小単位の同一のパケット が所定のグループについて重複しないように前記最小単位のパケットの配信 先を選択して登録するステップと、前記選択された配信先のデータを前記最 小単位のパケットとして記憶させるステップと、前記グループの前記選択され たクライアントに対して前記ディジタル 'コンテンツを構成するため前記記憶さ れた最小単位のパケットを読み出して送信するステップとを実行させる方法。
3 3 . 第 2のネットワークを介して接続される複数のグループを含んだ大域グ ループに対して第 1のネットワークを介してディジタル.コンテンツを配信するた めのサーバとしてコンピュータを制御するプログラムであって、 ΐΐί記プログラム は、前記コンピュータに対し、保持したディジタル 'コンテンツを複数のパケット に分割して最小単位のパケットを生成するステップと、前記最小単位の同一 のパケットが所定のグループについて重複しないように前記最小単位のパケ ットの配信先を選択して登録するステップと、 f記選択された配信先のデー タを前記最小単位のパケットとして記憶させるステップと、前記グループの前 記選択されたクライアントに対して前記ディジタル ·コンテンツを構成するため 前記記憶された最小単位のパケットを読み出して送信するステップとを実行 させるプログラム。
34. 第 2のネットワークを介して接続される複数のグループを含んだ大域グ ループに対して第 1のネットワークを介してディジタル 'コンテンツを配信するた めのサーバとしてコンピュータを制御するプログラムが記録されたコンピュータ 可読な記憶媒体であって、前記プログラムは、前記コンピュータに対し、保持 したディジタル .コンテンッを複数のパケットに分割して最小単位のパケットを 生成するステップと、前記最小単位の同一のパケットが所定のグループにつ いて重複しないように前記最小単位のパケットの配信先を選択して登録する ステップと、前記選択された配信先のデータを前記最小単位のパケットとして 記憶させるステップと、前記グループの前記選択されたクライアントに対して 前記ディジタル ·コンテンツを構成するため前記記憶された最小単位のパケ ットを読み出して送信するステップとを実行させる記憶媒体。
3 5 . 第 1のネットワークと第 2のネットワークとを介してディジタル ·コンテンツを 所定の大域グループに配信するため前記第 2のネットワークに接続され、前 記大域グループのグループを構成するクライアントであって、前記クライアント は、前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受 信し、受信パケットが前記ディジタル 'コンテンツを再構成するための最小単 位のパケットか否かを判断する手段と、前記判断に応答して前記受信パケ ットからコピー.パケットを生成し、少なくとも他のグループのクライアントに宛て てコピー.パケットを配信する手段と、を含むクライアント。
3 6 . 前記コピー ·パケットを配信する手段は、前記受信パケットが前記最 小単位のパケットであると判断された場合に、前記受信パケットから少なくと も他のグループへのコピー先を読み出して、読み出されたコピー先に前記生 成されたコピー.パケットを配信する手段を含む、請求項 3 5に記載のクライァ ント。
3 7 . 前記クライアントは、コピー先リストを格納した記憶手段を含む、請求 項 36に記載のクライアント。
38 . 第 1のネットワークと第 2のネットワー とを介してディジタル 'コンテンツを 所定の大域グループに配信するため前記第 2のネットワークに接続され、前 記大域グループのグループを構成するクライアントとしてコンピュータを制御す る方法であって、前記方法は、前記コンピュータに対し、前記第 1のネットヮ ークまたは前記第 2のネットワークを介してパケットを受信してメモリに記憶さ せるステップと、受信パケットが前記ディジタル 'コンテンツを再構成するため の最小単位のパケットか否かを判断するステップと、前記受信パケットが前記 最小単位のパケットであると判断された場合に、前記判断に応答して前記 受信パケットからコピー'パケットを生成し、少なくとも他のグループのクライア ントに宛ててコピー'パケットを配信するステップと、前記受信パケットが前記 最小単位のパケットではないと判断された場合に、前記メモリに受信パケット を記憶させるステップとを実行させる方法。
3 9 . 第 1のネットワークと第 2のネットワークとを介してディジタル 'コンテンツを 所定の大域グループに配信するため前記第 2のネットワークに接続され、前 記大域グループのグループを構成するクライアントとしてコンピュータを制御す るためのプログラムであって、前記プログラムは、前記コンピュータに対し、前 記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信して メモリに記憶させるステップと、受信パケットが前記ディジタル 'コンテンツを再 構成するための最小単位のパケットか否かを判断するステップと、前記受信 パケットが前記最小単位のパケットであると判断された場合に、前記判断に 応答して前記受信パケットからコピー'パケットを生成し、少なくとも他のグル
—プのクライアントに宛ててコピー'パケットを配信するステップと、前記受信パ ケットが前記最小単位のパケットではないと判断された場合に、前記メモリに 受信パケットを記憶させるステップとを実行させるプログラム。
40 . 第 1のネットワークと第 2のネットワークとを介してディジタル 'コンテンツを 所定の大域グループに配信するため前記第 2のネットワークに接続され、前 記大域グループのグループを構成するクライアントとしてコンピュータを制御す るためのプログラムが記録されたコンピュータ可読な記憶媒体であって、前記 プログラムは、前記コンピュータに対し、前記第 1のネットワークまたは前記第 2のネットワークを介してパケットを受信してメモリに記憶させるステップと、受 信パケットが前記ディジタル 'コンテンツを再構成するための最小単位のパケ ットか否かを判断するステップと、前記受信パケットが前記最小単位のパケッ トであると判断された場合に、前記判断に応答して前記受信パケットからコピ 一.パケットを生成し、少なくとも他のグループのクライアントに宛ててコピー'パ ケットを配信するステップと、前記受信パケットが前記最小単位のパケットで はないと判断された場合に、前記メモリに受信パケットを記憶させるステップと を実行させる記憶媒体。
4 1 . 所定のディジタル'コンテンツを、連続する複数のストリーム 'データとし、 前記所定のディジタル 'コンテンツを再構成するために必要な最小単位のパ ケットをサーバからネットワークを介して送信することにより、複数のネットワーク を介して接続されたクライアントに前記ディジタル 'コンテンツを共有化させる 方法であって、前記ディジタル ·コンテンツの配信を要求する前記クライアント をクライアント.リストを読み出して選択するステップと、前記最小単位のパケッ トを前記選択したクライアントに送信するステップと、前記最小単位のパケット を受信したクライアントに前記最小単位のパケットをメモリに記憶させると共に- コピー.パケットを生成させ、前記受信したクライアントを除く他のクライアント に対して前記コピー ·パケットを配信するステップと、他のクライアントから受信 したコピー.パケットを前記メモリに記憶するステップと、前記メモリ内のバケツ トを再構成して前記配信された所定のディジタル'コンテンツをユーザに共有 させるステップとを含むネットワーク上でのディジタル 'コンテンツの共有化方
LL
c60.o/codf/i3d ΐひ soi/εο OAV
PCT/JP2003/007093 2002-06-06 2003-06-04 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント WO2003105421A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN038114313A CN1656749B (zh) 2002-06-06 2003-06-04 数字内容分发系统、方法、程序及服务器和客户机
JP2004512360A JP4034780B2 (ja) 2002-06-06 2003-06-04 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント
US10/523,347 US7809850B2 (en) 2002-06-06 2003-06-04 Digital content delivery system, digital content delivery method, program for executing the method, computer readable recording medium storing thereon the program, and server and client for it
KR20047018062A KR100754293B1 (ko) 2002-06-06 2003-06-04 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트
EP03736036A EP1533952A4 (en) 2002-06-06 2003-06-04 SYSTEM AND METHOD FOR DISTRIBUTING DIGITAL CONTENTS, PROGRAM FOR EXECUTING SAID METHOD, COMPUTER-READABLE RECORDING MEDIUM STORING THIS PROGRAM, AND SERVER AND CLIENT THEREFOR
AU2003242053A AU2003242053A1 (en) 2002-06-06 2003-06-04 Digital content delivery system, digital content delivery method, program for executing the method, computer-readable recording medium storing thereon the program, and server and client for it

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002165014 2002-06-06
JP2002-165014 2002-06-06
JP2002-303850 2002-10-18
JP2002303850 2002-10-18

Publications (1)

Publication Number Publication Date
WO2003105421A1 true WO2003105421A1 (ja) 2003-12-18

Family

ID=29738332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/007093 WO2003105421A1 (ja) 2002-06-06 2003-06-04 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント

Country Status (8)

Country Link
US (2) US7809850B2 (ja)
EP (1) EP1533952A4 (ja)
JP (1) JP4034780B2 (ja)
KR (1) KR100754293B1 (ja)
CN (1) CN1656749B (ja)
AU (1) AU2003242053A1 (ja)
TW (1) TWI265697B (ja)
WO (1) WO2003105421A1 (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
JP2006079606A (ja) * 2004-09-03 2006-03-23 Microsoft Corp ピアツーピアネットワークでの受信側主導のシステム及び方法
JP2006099531A (ja) * 2004-09-30 2006-04-13 Nec Personal Products Co Ltd コンテンツ配信管理サーバ、ユーザ端末装置、コンテンツ配信システム及びそれらの方法並びにプログラム
JP2006319909A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
WO2007020774A1 (ja) * 2005-08-19 2007-02-22 Brother Kogyo Kabushiki Kaisha 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
WO2008015982A1 (fr) * 2006-07-31 2008-02-07 International Business Machines Corporation système de transmission d'informations par l'intermédiaire d'un réseau, procédé et programme informatique
JP2008512931A (ja) * 2004-09-10 2008-04-24 ネイダーランゼ、オルガニザティー、ボー、トゥーゲパストナトゥールウェテンシャッペルーク、オンダーツォーク、ティーエヌオー マルチキャスト送信の逆多重化のための方法およびデバイス
JP2008117091A (ja) * 2006-11-02 2008-05-22 Nippon Hoso Kyokai <Nhk> ファイル転送システムおよびその方法、管理装置ならびにサーバ
JP2008193178A (ja) * 2007-01-31 2008-08-21 Hewlett-Packard Development Co Lp データストリーミング方法
CN100421433C (zh) * 2006-05-29 2008-09-24 中国移动通信集团公司 内容信息的分发方法
US7502863B2 (en) 2004-10-19 2009-03-10 International Business Machines Corporation Method of distributing stream data and system thereof
JP2009517921A (ja) * 2005-11-29 2009-04-30 株式会社ソニー・コンピュータエンタテインメント ピアツーピア・オーバレイ・ネットワークにおける同報通信メッセージング
JP2009135883A (ja) * 2007-10-30 2009-06-18 Kyocera Corp Ip放送受信装置
JP2011040980A (ja) * 2009-08-11 2011-02-24 Fuji Xerox Co Ltd 装置管理システム、管理対象装置、およびプログラム
JP2011186797A (ja) * 2010-03-09 2011-09-22 Toshiba Corp データ通信装置及び方法
JP2014164556A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> ブートイメージ配信方法及びブートイメージ配信システム
US8853363B2 (en) 2003-11-26 2014-10-07 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Substance binding human IgG Fc receptor IIb (FcγRIIb)
US8892625B2 (en) 2007-03-20 2014-11-18 Thomson Licensing Hierarchically clustered P2P streaming system
JP2015177344A (ja) * 2014-03-14 2015-10-05 富士通株式会社 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260602B2 (en) * 2003-03-31 2007-08-21 Microsoft Corporation System and method of network content location for roaming clients
KR100651566B1 (ko) * 2003-08-26 2006-11-28 삼성전자주식회사 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법
US7295525B2 (en) * 2003-09-11 2007-11-13 Sun Microsystems, Inc. System and method for managing multicast group membership
US20050122973A1 (en) * 2003-12-09 2005-06-09 Samsung Electronics Co., Ltd. Network node capable of restricting a packet receiving activity during packet congestion and method thereof
US20060098664A1 (en) * 2004-11-09 2006-05-11 Tvblob S.R.I. Intelligent application level multicast module for multimedia transmission
US20060176895A1 (en) * 2005-02-07 2006-08-10 Yakov Kamen Data delivery pipeline optimized by cell-based data cascade technology
WO2006085377A1 (ja) * 2005-02-10 2006-08-17 Fujitsu Limited データ配信方法及び端末
EP1701486A1 (en) * 2005-03-07 2006-09-13 BRITISH TELECOMMUNICATIONS public limited company Route selection in multi-hop cellular network
US8730985B2 (en) 2005-03-15 2014-05-20 Time Warner Cable Enterprises Llc Technique for providing on a program channel composite programming content attributed to different sources
US8423728B1 (en) * 2005-06-16 2013-04-16 Emc Corporation Physical based scheduler using run count and skip count values
US7719988B1 (en) * 2005-11-30 2010-05-18 University Of Murcia Mobility-aware mesh construction algorithm for low data-overhead multicast ad hoc routing
US7680894B2 (en) * 2006-01-09 2010-03-16 Thomson Licensing Multimedia content delivery method and system
US7647405B2 (en) * 2006-02-06 2010-01-12 International Business Machines Corporation Method for reducing variability and oscillations in load balancing recommendations using historical values and workload metrics
JP4692355B2 (ja) * 2006-03-30 2011-06-01 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
JP2007336182A (ja) * 2006-06-14 2007-12-27 Funai Electric Co Ltd コンテンツ配信システム、及びネットワークサーバ
JP4287448B2 (ja) * 2006-06-16 2009-07-01 株式会社東芝 通信装置、通信端末装置、通信システム、方法およびプログラム
KR101145848B1 (ko) * 2006-11-29 2012-05-17 삼성전자주식회사 콘텐츠 전송을 위한 접근 제어 방법 및 상기 접근 제어방법을 이용하는 네트워크의 노드
KR100748229B1 (ko) * 2006-12-12 2007-08-10 (주)지티앤에스 서버/클라이언트 시스템에서 업로드 데이터들의 우선순위결정방법 및 이를 이용한 경매 시스템
US7630370B2 (en) 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list
KR101409991B1 (ko) 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
JP2008294626A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
US20090077254A1 (en) * 2007-09-13 2009-03-19 Thomas Darcie System and method for streamed-media distribution using a multicast, peer-to- peer network
US8904022B1 (en) * 2007-11-05 2014-12-02 Ignite Technologies, Inc. Split streaming system and method
JP4840334B2 (ja) * 2007-11-14 2011-12-21 ブラザー工業株式会社 端末装置、通信システム、プログラム及び方法
US7441135B1 (en) 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
TWI395428B (zh) * 2008-05-13 2013-05-01 Tien Ming Wang 對等式網路控制系統
US8102865B2 (en) * 2008-05-16 2012-01-24 Microsoft Corporation Group based allocation of network bandwidth
CN101291300B (zh) * 2008-06-12 2011-04-20 华为技术有限公司 消息业务中文件传输的实现方法、装置和用户设备
US20100153578A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US20110229104A1 (en) * 2009-10-22 2011-09-22 Hundemer Hank J System And Method For Recording and Playback Of Multimedia Content
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
TW201209614A (en) 2010-08-31 2012-03-01 Ibm Method for efficient response of Common Information Model (CIM) server
JP5675234B2 (ja) * 2010-09-10 2015-02-25 任天堂株式会社 情報処理システム、情報処理プログラムおよび情報処理方法
CN102412928B (zh) * 2010-09-17 2017-03-01 株式会社Ntt都科摩 一种基于网络编码的数据传输方法及装置
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
TW201238291A (en) * 2011-03-14 2012-09-16 Wistron Corp Communication system and peer to peer transmission method
FR2978003B1 (fr) * 2011-07-11 2014-07-04 Commissariat Energie Atomique Procede de routage d'un flux en mode non-stockage
US8792486B2 (en) * 2011-08-31 2014-07-29 Hewlett-Packard Development Company, L.P. Packet routing within server device enclosure
US9002931B2 (en) * 2011-09-23 2015-04-07 Real-Scan, Inc. High-speed low-latency method for streaming real-time interactive images
WO2013097184A1 (zh) * 2011-12-30 2013-07-04 华为技术有限公司 业务分发方法、设备和系统
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US8868647B2 (en) * 2012-01-11 2014-10-21 Alcatel Lucent Reducing latency and cost in resilient cloud file systems
CN103209164A (zh) * 2012-01-17 2013-07-17 上海狂龙数码科技有限公司 公共信息服务平台网络架构及数据传输方法
US9253124B2 (en) * 2012-05-15 2016-02-02 TV Band Service, LLC Techniques for sending and relaying information over broadcast and non-broadcast communications media
US9628373B2 (en) * 2012-12-19 2017-04-18 Comcast Cable Communications, Llc Multipath communication in a network
JP5724154B2 (ja) * 2013-05-16 2015-05-27 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
CA2916655C (en) 2013-07-17 2022-05-03 Sony Corporation Content supply device, content supply method, program, terminal device, and content supply system
CN104753630A (zh) 2013-12-27 2015-07-01 中兴通讯股份有限公司 一种数据传输方法和系统
US10306021B1 (en) * 2014-08-21 2019-05-28 Amazon Technologies, Inc. Streaming content to multiple clients
US10893266B2 (en) * 2014-10-07 2021-01-12 Disney Enterprises, Inc. Method and system for optimizing bitrate selection
CN105656794B (zh) * 2014-11-14 2019-03-08 腾讯科技(深圳)有限公司 数据分发方法、装置及计算机可读存储介质
CN105656978B (zh) * 2014-12-04 2019-06-25 中国移动通信集团公司 一种资源共享方法及装置
US10506257B2 (en) 2015-09-28 2019-12-10 Cybrook Inc. Method and system of video processing with back channel message management
US10756997B2 (en) 2015-09-28 2020-08-25 Cybrook Inc. Bandwidth adjustment for real-time video transmission
US10516892B2 (en) 2015-09-28 2019-12-24 Cybrook Inc. Initial bandwidth estimation for real-time video transmission
US10506245B2 (en) 2015-11-18 2019-12-10 Cybrook Inc. Video data processing using a ring buffer
US10506283B2 (en) * 2015-11-18 2019-12-10 Cybrook Inc. Video decoding and rendering using combined jitter and frame buffer
TWI586156B (zh) * 2015-12-04 2017-06-01 鴻海精密工業股份有限公司 流媒體資料傳輸系統、傳輸方法及資料分佈伺服器
CN105549992A (zh) * 2015-12-08 2016-05-04 北京奇虎科技有限公司 一种代码发布方法、装置和系统
KR102283635B1 (ko) * 2020-11-11 2021-07-30 (주)소셜인프라테크 복수 개의 노드 간 트랜잭션 정보의 상호 공유를 통한 디지털 콘텐츠 거래 중개 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001156855A (ja) * 1999-11-30 2001-06-08 Fujitsu Ltd 動的情報バス生成方法及びサブネット管理プロセス
JP2002135310A (ja) * 2000-10-23 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ストリーム中継制御装置、ストリーム中継制御システム、ストリーム中継制御方法,ならびに該方法を記録した記録媒体
JP2002232466A (ja) * 2000-11-30 2002-08-16 Fujitsu Ltd データの配布経路を生成する装置および方法
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095444A (en) * 1989-12-21 1992-03-10 Legent Corporation System and method for measuring inter-nodal transmission delays in a communications network
ES2129038T3 (es) * 1992-11-27 1999-06-01 Ibm Encaminamiento a destinos multiples entre dominios.
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5790541A (en) * 1996-04-01 1998-08-04 Motorola, Inc. Apparatus, method, system and system method for distributed routing in a multipoint communication system
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6850965B2 (en) * 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
US6502140B1 (en) * 1999-01-29 2002-12-31 International Business Machines Corporation Multicast support for small groups
RU2001130759A (ru) * 1999-04-15 2003-07-20 Скайстрим Нетворкс Инк. (Us) Система радиовещания данных
EP1063814A1 (en) * 1999-06-24 2000-12-27 Alcatel A method to forward a multicast packet
JP2001036549A (ja) * 1999-07-15 2001-02-09 Toshiba Corp データ処理システムおよびタイムスタンプ生成方法
JP3793941B2 (ja) * 2000-02-24 2006-07-05 株式会社日立製作所 映像配送システムにおけるビデオサーバ装置およびその映像配送方法。
US20030115351A1 (en) * 2001-12-14 2003-06-19 Giobbi John J. Digital content distribution system and method
KR100391016B1 (ko) * 2001-08-29 2003-07-12 한국전자통신연구원 엑스캐스트를 이용한 멀티캐스트 데이터 전송 방법
US20040030929A1 (en) * 2001-11-06 2004-02-12 Depeng Bi Digital audio and video distribution transmission and playback
US7304955B2 (en) * 2002-03-28 2007-12-04 Motorola, Inc. Scalable IP multicast with efficient forwarding cache
US7317721B1 (en) * 2002-04-12 2008-01-08 Juniper Networks, Inc. Systems and methods for memory utilization during packet forwarding
US7305483B2 (en) * 2002-04-25 2007-12-04 Yahoo! Inc. Method for the real-time distribution of streaming data on a network
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7289503B1 (en) * 2002-07-10 2007-10-30 Juniper Networks, Inc. Systems and methods for efficient multicast handling
US7263099B1 (en) * 2002-08-14 2007-08-28 Juniper Networks, Inc. Multicast packet replication
US7519054B2 (en) * 2005-01-27 2009-04-14 Intel Corporation Replication of multicast data packets in a multi-stage switching system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001156855A (ja) * 1999-11-30 2001-06-08 Fujitsu Ltd 動的情報バス生成方法及びサブネット管理プロセス
JP2002135310A (ja) * 2000-10-23 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ストリーム中継制御装置、ストリーム中継制御システム、ストリーム中継制御方法,ならびに該方法を記録した記録媒体
JP2002232466A (ja) * 2000-11-30 2002-08-16 Fujitsu Ltd データの配布経路を生成する装置および方法
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1533952A4 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8853363B2 (en) 2003-11-26 2014-10-07 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Substance binding human IgG Fc receptor IIb (FcγRIIb)
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
JP2006079606A (ja) * 2004-09-03 2006-03-23 Microsoft Corp ピアツーピアネットワークでの受信側主導のシステム及び方法
JP2008512931A (ja) * 2004-09-10 2008-04-24 ネイダーランゼ、オルガニザティー、ボー、トゥーゲパストナトゥールウェテンシャッペルーク、オンダーツォーク、ティーエヌオー マルチキャスト送信の逆多重化のための方法およびデバイス
US8699395B2 (en) 2004-09-10 2014-04-15 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Method and device for inverse multiplexing of multicast transmission
JP2006099531A (ja) * 2004-09-30 2006-04-13 Nec Personal Products Co Ltd コンテンツ配信管理サーバ、ユーザ端末装置、コンテンツ配信システム及びそれらの方法並びにプログラム
JP4555042B2 (ja) * 2004-09-30 2010-09-29 Necパーソナルプロダクツ株式会社 コンテンツ配信管理サーバ、コンテンツ配信管理方法並びにプログラム
US7502863B2 (en) 2004-10-19 2009-03-10 International Business Machines Corporation Method of distributing stream data and system thereof
JP2006319909A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
US8059561B2 (en) 2005-08-19 2011-11-15 Brother Kogyo Kabushiki Kaisha Information communication system, information communication method, node device included in information communication system, and recording medium having information processing program recorded on it
WO2007020774A1 (ja) * 2005-08-19 2007-02-22 Brother Kogyo Kabushiki Kaisha 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
JP2009517921A (ja) * 2005-11-29 2009-04-30 株式会社ソニー・コンピュータエンタテインメント ピアツーピア・オーバレイ・ネットワークにおける同報通信メッセージング
JP4671306B2 (ja) * 2005-11-29 2011-04-13 株式会社ソニー・コンピュータエンタテインメント ピアツーピア・オーバレイ・ネットワークにおける同報通信メッセージング
CN100421433C (zh) * 2006-05-29 2008-09-24 中国移动通信集团公司 内容信息的分发方法
JP4787881B2 (ja) * 2006-07-31 2011-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークを介した情報伝達システム、方法、コンピュータ・プログラム
JPWO2008015982A1 (ja) * 2006-07-31 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation ネットワークを介した情報伝達システム、方法、コンピュータ・プログラム
WO2008015982A1 (fr) * 2006-07-31 2008-02-07 International Business Machines Corporation système de transmission d'informations par l'intermédiaire d'un réseau, procédé et programme informatique
JP2008117091A (ja) * 2006-11-02 2008-05-22 Nippon Hoso Kyokai <Nhk> ファイル転送システムおよびその方法、管理装置ならびにサーバ
JP2008193178A (ja) * 2007-01-31 2008-08-21 Hewlett-Packard Development Co Lp データストリーミング方法
US8892625B2 (en) 2007-03-20 2014-11-18 Thomson Licensing Hierarchically clustered P2P streaming system
JP2009135883A (ja) * 2007-10-30 2009-06-18 Kyocera Corp Ip放送受信装置
JP2011040980A (ja) * 2009-08-11 2011-02-24 Fuji Xerox Co Ltd 装置管理システム、管理対象装置、およびプログラム
JP2011186797A (ja) * 2010-03-09 2011-09-22 Toshiba Corp データ通信装置及び方法
US9130957B2 (en) 2010-03-09 2015-09-08 Kabushiki Kaisha Toshiba Data communication apparatus and method
JP2014164556A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> ブートイメージ配信方法及びブートイメージ配信システム
JP2015177344A (ja) * 2014-03-14 2015-10-05 富士通株式会社 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム
US10284681B2 (en) 2014-03-14 2019-05-07 Fujitsu Client Computing Limited Distribution method, playback apparatus, and distribution apparatus

Also Published As

Publication number Publication date
US8130757B2 (en) 2012-03-06
EP1533952A4 (en) 2009-01-14
TWI265697B (en) 2006-11-01
EP1533952A1 (en) 2005-05-25
US20100067534A1 (en) 2010-03-18
CN1656749B (zh) 2011-01-12
KR100754293B1 (ko) 2007-09-03
US20060168104A1 (en) 2006-07-27
TW200402217A (en) 2004-02-01
KR20050007533A (ko) 2005-01-19
CN1656749A (zh) 2005-08-17
JP4034780B2 (ja) 2008-01-16
US7809850B2 (en) 2010-10-05
JPWO2003105421A1 (ja) 2005-10-13
AU2003242053A1 (en) 2003-12-22

Similar Documents

Publication Publication Date Title
JP4034780B2 (ja) ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント
Zhang et al. RSVP: A new resource reservation protocol
US6778493B1 (en) Real-time media content synchronization and transmission in packet network apparatus and method
US20050015511A1 (en) Accelerated large data distribution in overlay networks
US9426195B2 (en) System and method for distribution of data packets utilizing an intelligent distribution network
US8619775B2 (en) Scalable flow transport and delivery network and associated methods and systems
US11057319B2 (en) System and method for recovery of packets in overlay networks
US9143333B2 (en) System and method for multicast transmission
US20050108419A1 (en) Multicast peering
US20080215681A1 (en) Network architecture for multi-user collaboration and data-stream mixing and method thereof
WO2004073269A1 (ja) 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US20060233154A1 (en) Server to network signaling method for rapid switching between anycast multicast sources
WO1997048051A1 (en) Ip multicast data distribution system with guaranteed quality of service
Arefin et al. OpenSession: SDN-based cross-layer multi-stream management protocol for 3D teleimmersion
WO2010011668A1 (en) A scalable flow transport and delivery network and associated methods and systems
JP2009004930A (ja) シェーピング装置およびルータ装置
US20070204005A1 (en) Multicast peering
Lucas et al. Distributed Error Recovery for Continuous Media Data in Wide-Area Multicast
JP7473025B2 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
Hutchison et al. A critique of modern internet protocols: The issue of support for multimedia
Schulzrinne IP networks
Sun IP Networks
JP2023033600A (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
Naik et al. Experiences with an architecture for a distributed multimedia system
Krishnamohan TIDE: A scalable continuous-media caching network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1020047018062

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038114313

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2004512360

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003736036

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020047018062

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003736036

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006168104

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10523347

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10523347

Country of ref document: US