CN1723452A - 传输和下载流数据的方法 - Google Patents

传输和下载流数据的方法 Download PDF

Info

Publication number
CN1723452A
CN1723452A CNA2004800016837A CN200480001683A CN1723452A CN 1723452 A CN1723452 A CN 1723452A CN A2004800016837 A CNA2004800016837 A CN A2004800016837A CN 200480001683 A CN200480001683 A CN 200480001683A CN 1723452 A CN1723452 A CN 1723452A
Authority
CN
China
Prior art keywords
piece
sub
node
connection
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800016837A
Other languages
English (en)
Other versions
CN100414539C (zh
Inventor
金尚贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naver Corp
Original Assignee
NHN Corp
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 NHN Corp filed Critical NHN Corp
Publication of CN1723452A publication Critical patent/CN1723452A/zh
Application granted granted Critical
Publication of CN100414539C publication Critical patent/CN100414539C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开一种传输和下载流数据的方法。该方法包括:(a)与多个节点建立连接;(b)向已建立连接的多个节点发出对流数据的子块的请求,以下载子块;(c)监视已建立连接的下载状态;以及(d)根据监视结果,重新分配将被从已建立连接的某些节点下载的子块;其中,当下载完包括在一个块中的所有子块时,重复步骤(b)到步骤(d),以下载包含在下一个块中的子块。

Description

传输和下载流数据的方法
技术领域
本发明涉及一种传输和下载流数据(streaming data)的方法,特别涉及一种通过多个分布节点传输和下载流数据的方法。
背景技术
通常,大多数通过互联网提供的内容数据都是小规模数据,例如文件或图片。然而,随着数据传输技术和设备的发展,多媒体内容也被广泛提供。多媒体内容通过流方法(streaming method)传输给用户客户机(user clients)。
通常,流数据被从一个服务器传输到多个用户客户机。
流数据应被实时传输。然而,由于通常流数据是从一个服务器传输到多个用户客户机,所以当服务器的负荷很高或者连接状态不稳定时,经常会发生传输延迟。因为流数据应当边下载边播放,所以与普通的文件下载不同,流数据的传输延迟将极大地影响QoS(服务质量)。
作为关于文件下载的在先技术,US专利6,339,785公开了一种通过多个服务器下载文件的方法。根据US专利6,339,785,整个文件被分为N段,并且文件通过N个服务器下载,从而即使在一个连接上存在差错,文件也能被稳定地传输。
然而,根据上述的文件下载方法,只有当下载完全部数据时文件才可用。因而,US 6,339,785的下载方法不能应用于应当边下载边播放的流数据。
发明内容
为了解决上述问题,本发明旨在提供一种通过多个节点传输和下载流数据的方法。
本发明的另一目的是提供一种在P2P网络中从多个用户客户机稳定下载流数据的方法,以及一种安装于用户客户机的通信代理程序。
本发明的又一目的是提供一种使用多个服务器在文件传输***中稳定下载流数据的方法,以及安装于用户客户机的通信代理程序。
本发明的又一目的是提供一种用于将流数据分割成块(block)和子块(sub block)以及从多个连接中下载数据的方法。
为了实现上述目的,根据本发明的优选实施例,提供一种下载流数据的方法,包括步骤:(a)与多个节点建立连接;(b)向建立连接的多个节点发出下载流数据子块的请求以下载这些子块;(c)监视已建立连接的下载状态;以及(d)根据监视结果重新分配将被从已建立连接的某些节点下载的子块;其中,当一个块所包括的所有子块都下载完毕后,重复步骤(b)到步骤(d)以下载下一个块中所包括的子块。
根据本发明,还可以包括确定将从各已建立连接的节点下载的子块的步骤。
步骤(c)可以包括监视是否存在已完成子块下载的连接。
通过计算连接状态评估指数,来确定将被从各节点下载的子块。
可以利用从包含相对于各节点的往返时间(round-trip)和从各节点的平均下载速度的组中选择的信息,计算连接状态评估指数。
步骤(d)还包括当存在一个子块下载已完成的连接时,在完成了子块下载的连接和没有完成子块下载的某些连接之间重新分配子块的步骤。
步骤(d)还包括在完成了子块下载的连接和未完成子块下载的连接中下载速率最低的一个连接之间重新分配子块的步骤。
在完成了子块下载的连接和下载速率最低的连接之间重新分配子块的步骤可以包括如下步骤:确定完成了子块下载的连接和下载速率最低的连接的下载速度;确定将从下载速率最低的连接下载的剩余子块的数量;确定是否需要重新分配子块;如果需要重新分配子块,则根据下载速度的速率在完成了子块下载的连接和下载速率最低的连接之间重新分配剩余的子块。
根据本发明的另一实施例,提供一种通信代理程序,安装在一***中的多个用户客户机,在该***中,该多个用户客户机和连接控制服务器通过网络连接,该通信代理程序包括:代理管理器模块,用于将存储在用户客户机中的内容信息和用户客户机的识别信息提供给连接控制服务器,以及当用户请求内容时将内容请求信息传输至连接控制服务器;节点信息管理器模块,用于接收和存储存储有被请求内容的节点的列表信息;连接控制模块,用于使用节点的列表信息与多个节点建立连接,确定将从已建立连接的各节点下载的子块以请求子块,以及通过在下载子块的同时监视下载状态来重新分配将从某些已连接节点下载的子块;子块管理器模块,用于确定是否已下载完一个块所包括的所有子块,以及当下载完一个块所包括的所有子块时,请求下一个块所包括的子块,以下载下一个块所包括的子块。
根据本发明的另一实施例,提供一种通信代理程序,安装在从一***下载流数据的用户客户机中,该***包括多个内容服务器和至少一个连接控制服务器,包括:数据请求模块,用于向该连接控制服务器发出传输数据的请求;节点信息管理器模块,用于接收和存储将下载被请求数据的内容服务器的列表;连接控制模块,用于与内容服务器列表中所包括的多个内容服务器建立连接,请求将从已建立连接的内容服务器下载的流数据的子块,以及通过在从已连接内容服务器下载子块的同时监视下载状态,来重新分配将从已建立连接的某些内容服务器中下载的子块;以及子块管理器模块,用于确定是否已下载完一个块所包括的所有子块,并且当已下载完一个块所包括的所有子块时,请求下一个块所包括的子块,以下载下一个块的子块。
根据本发明的另一实施例,提供一种连接控制服务器,通过网络与多个用户客户机连接,用于控制用户客户机之间的连接,以使用户客户机能够通过连接其他用户来下载流数据,包括:网格管理器模块,用于接收存储在已连接的多个用户客户机的内容的信息和已连接的多个用户客户机的地址信息,以及将存储有被请求内容的节点信息提供请求内容的用户客户机;以及网格信息数据库,用于存储每个用户客户机所存储的内容的信息和每个用户客户机的地址信息;其中,通信代理程序安装在该多个用户客户机中,该通信代理程序使用节点信息控制用户客户机与多个节点建立连接,和向已连接节点发出对将要下载的流数据的子块的请求,以及通过监视各已连接节点的下载状态来重新分配将要下载的子块。
根据本发明的另一实施例,提供一种连接控制服务器,通过网络与多个用户客户机和多个内容服务器连接,用于控制用户客户机和内容服务器之间的连接,以使用户客户机能够通过连接到至少两个内容服务器来下载流数据,包括:服务器状态检测模块,用于从已连接的多个内容服务器上接收状态信息,并确定各内容服务器的状态;服务器列表提供模块,用于当从用户客户机接收到内容请求信息时,提供将要传输被请求内容的流数据的服务器的列表信息;其中,通信代理程序安装在用户客户机中,该通信代理程序使用服务器列表信息控制用户客户机与至少两个内容服务器建立连接,和确定将从各已连接内容服务器下载的流数据的子块以请求子块,以及通过监视各已连接节点的子块下载状态来重新分配将要下载的子块。
附图说明
图1是应用本发明的流数据传输***的结构示意图。
图2是应用根据本发明的传输流数据的方法的网络***的实例。
图3是应用根据本发明的传输流数据的方法的网络***的另一实例。
图4是应用根据本发明的传输流数据的方法的网络***的又一实例。
图5是根据本发明优选实施例流数据的结构。
图6是根据本发明优选实施例流数据下载方法的流程图。
图7是根据本发明优选实施例连接控制服务器的操作的流程图。
图8是根据本发明另一实施例连接控制服务器的操作的流程图。
图9是根据本发明优选实施例安装于用户客户机中的代理程序的框图。
图10是根据本发明优选实施例连接控制模块的详细框图。
图11是根据本发明优选实施例通过确定连接状态来重新分配子块的处理的流程图。
图12是根据本发明优选实施例当存在已完成子块下载的连接时执行的处理的流程图。
图13是根据本发明优选实施例连接控制服务器的模块的框图。
图14是根据本发明另一实施例连接控制服务器的模块的框图。
具体实施方式
利用下面的实施例来具体描述本发明。
图1是应用本发明的流数据传输***的结构示意图。
参考图1,根据本发明的流数据传输***可以包括多个节点100、102、104、106、108、110和用户客户机112。
用户客户机建立与所选择的多个节点102、106、108的连接并下载流数据。
在图1中,多个节点100、102、104、106、108、110存储内容数据并在收到来自用户客户机的内容请求信息之后,向用户客户机传输被请求的内容数据。节点可以是通常传输内容的服务器或者其它用户客户机。
用户客户机112传输内容请求信息至多个节点,并且从相应节点102、106、108下载内容数据。换句话说,根据本发明,通过多个节点从多条路径下载流数据。
此时,用户客户机向已建立连接的各节点发出对不同流数据的请求,并组合(assemble)从多个节点下载的流数据。
图5是根据本发明优选实施例流数据的结构。
参考图5,基于本发明的流数据包括多个块500,并且各块包括多个子块502。
块和子块是用于对流数据分类的逻辑单元,并且本领域的技术人员很明显可以使用其它的术语。
与普通的文件下载不同,流数据应当边下载边播放。因此,通过多个服务器的普通文件下载方法不能应用于流数据下载,这是因为通常整个文件数据被分成N段,每一段通过多条路径下载。根据传统的使用多路径的文件下载方法,直到全部文件数据下载完时才能播放被下载的文件,而流数据则应该边下载边播放。
因此,根据本发明,整个流数据被分割为多个块,并且包含在块中的子块以并行/分布(parallel/distribution)的方法从多条路径下载。
例如,在图1所示***中,如果一个块包含十个子块,用户客户机112向第二节点102请求第1~3子块,向第四节点106请求第4~7子块,以及向第五节点108请求第8~10子块。
如果下载完包含在一个块中的所有子块,则用户客户机112请求包含在下一个块的子块。在下载完一个块的所有数据之后,下载下一个块的子块,因此尽管数据从多条路径下载,数据也能够在下载时被播放。
然而,在图5中,流数据被分割成块和子块的情况下,对于本领域的技术人员,很明显流数据可以被分割为比子块更小的单元,并且能够以该更小的单元传输。
当用户客户机向各节点发出对子块的请求时,用户客户机确定各节点的连接状态。例如,在第二节点102、第四节点106和第五节点108中,如果第二节点的连接状态最好而第五节点的连接状态最差,则用户客户机112向第二节点发出对最大数目的子块的请求,而对第五节点仅请求最小数目的子块。将会参考其它图,详细解释确定节点状态以及根据确定结果来请求子块的方法。
当通过多条路径下载子块时,某一个连接上的子块下载可能比其它连接完成的早,这种情况下,在其它连接的子块下载完成之前,不会从已完成子块下载的连接处传输数据。此类的空闲连接降低了传输效率。
因此,根据本发明,如果多个连接中的一个连接的子块下载完成时,将通过已完成子块下载的连接来下载未传输的子块。将会参考其它图,详细解释当一个连接的子块下载完成时重新分配将被下载的子块的方法。
图2是应用根据本发明的传输流数据的方法的网络***的实例。
图2示出应用使用了P2P(Peer to Peer,即伙伴对伙伴,对等网络)的流数据传输方法的实例。
参考图2,应用本发明的网络***可以包括连接控制服务器200和多个客户机202、204、206、208、210、212、214以及216。
连接控制服务器200接收来自用户客户机的内容请求信息,并响应该内容请求消息,将存储有被请求内容的其它用户客户机的地址信息提供给请求内容的用户。请求内容的用户客户机使用所提供的地址信息,通过多条路径下载内容的流数据。
例如,如果用户客户机210向连接控制服务器200请求电影“A”,连接控制服务器200获得存储有电影“A”的用户客户机的地址信息,并将该地址信息提供给请求内容的用户客户机210。
地址信息可以是IP地址和端口号,并且对于本领域的技术人员很明显能够使用其它的地址识别信息。
例如,我们假设在图2中存储有电影“A”的用户客户机的标号为202、204和208。如果连接控制服务器向请求内容的用户客户机210提供客户机201、204和208的地址信息,则用户客户机210尝试与用户客户机202、204和208建立连接。
如果建立起连接,用户客户机210向建立了连接的客户机202、204和208各请求不同的子块。如果下载完包含在一个块中的所有子块,则用户210请求包含在下一块中的子块。所传输的流数据存储于用户客户机。如果其它客户机请求该流数据,则所存储的流数据被传输。
用于与连接控制服务器或其它客户机通信的通信代理程序被安装在各用户客户机中。在本发明的实施例中,描述了通信代理是计算机软件的情况,然而,对于本领域的技术人员,很明显通信代理可以是独立的设备或卡(card)。
如果安装有通信代理的客户机的电源开启或者执行通信代理,代理程序将存储在该用户客户机中的内容信息传输给连接控制服务器200,并且连接控制服务器200存储该所传输的信息。
图3是应用本发明的流数据传输方法的网络***的另一实例。
图3示出了通过多个服务器提供流数据的情况。
参考图3,根据本发明实施例的流数据传输***可以包括多个内容服务器300、302、304、306、308、连接控制服务器310以及用户客户机312。
连接控制服务器310从用户客户机312接收内容请求信息,并提供多个服务器300、302、304、306、308中应当连接用户客户机的服务器信息。
连接控制服务器310定期的从多个服务器300、302、304、306、308接收状态信息,并控制将要连接到状态良好的服务器的用户客户机。
用户客户机312从连接控制服务器310接收服务器列表信息,并与列表中的内容服务器建立连接,以通过多条路径下载流数据。
如图2所示的情况,通信代理程序安装在用户客户机中,以通过多条路径下载流数据。
图4是应用本发明的流数据传输方法的网络***的又一实例。
图4是图2的P2P(对等网络)***与图3的多个服务器***组合的***。
参考图4,根据本发明优选实施例的流数据传输***可以包括连接控制服务器410,多个内容服务器400、402、404、406、408和多个客户机412、414、416、418、420、422、424、426、428。尽管图4中示出了多个内容服务器,内容服务器的数量也可以不同于图4。
在图4中,连接控制服务器410从用户客户机接收内容请求信息,并提供存储有被请求内容的服务器或用户客户机的列表信息。
如图2和图3所示,代理程序安装在用户客户机412、414、416、418、420、422、424、426、428,并且当客户机开启电源或执行代理程序时,代理程序将存储在客户机中的内容信息传输给连接控制服务器410。
请求内容的用户客户机利用连接控制服务器410提供的列表信息与内容服务器或客户机建立连接,并向已建立连接的客户机或内容服务器传输对不同子块的请求以下载流数据。
在图4的情况下,由连接控制服务器410提供的节点列表可以同时包括用户客户机和服务器。例如,如果从5个节点接收内容数据,可以一个节点是内容服务器,而其它4个节点是用户客户机。在此情况下,根据本发明的优选实施例,为减少内容服务器的负荷,如果从除内容服务器外的用户客户机的下载状态良好,则可以将内容服务器排除在节点之外。
在图2到图4中,描述了能够通过多条路径下载流数据的***。对于本领域的技术人员,显而易见除图2到图4的***之外的其他能够通过多个节点传输数据的***也可应用到本发明中。
图6是根据本发明优选实施例的流数据下载方法的流程图。
参考图6,用户客户机从连接控制服务器接收节点列表信息S600。在图2所示的***中,节点是存储有内容的用户客户机。在图3所示的***中,节点是多个内容服务器,而在图4所示***中,节点可以既包括用户客户机又包括内容服务器。
如果接收到节点列表信息,用户客户机就与包含在节点列表中的某些或所有节点建立连接S602。根据本发明的优选实施例,用户客户机建立TCP连接,其他的连接建立方法也可以被使用。如果连接建立失败,就将连接建立失败的节点信息存储于黑名单队列中,并且在后续的连接建立中,连接建立不再尝试存储在黑名单队列中的节点。
如果建立起连接,用户客户机确定与节点的连接状态,并确定将被从节点下载的子块数目S604。
根据本发明的实施例,使用相对于各节点的往返时间或从各节点的下载速度来确定连接状态。
根据本发明的另一实施例,可以不通过下载的初始状态的连接状态信息来确定将要下载的子块。例如,如果从3个节点下载流数据并且一个块中包含15个子块,则用户客户机向3个节点中的每一个请求5个子块。
如果确定了将被从各节点下载的子块,则用户客户机向建立了连接的节点发出传输子块的请求S606。用户客户机可以向建立了连接的所有节点或者建立了连接的某些节点发出对子块的请求。
用户客户机从建立了连接的节点下载子块S608。尽管未在图6中示出,用户客户机在接收子块时确定是否发生下载错误。根据本发明的优选实施例,通过检查子块的校验和(checksum)值来确定下载错误的发生。
可选的,也可通过在接收完所有块后检查块的校验和值来确定下载错误。
当接收子块时,用户客户机确定是否存在所有被请求子块都已下载完的连接S610。
如果存在所有被请求子块都已下载完的连接,则用户客户机将未完成下载的子块重新分配给已完成子块下载的连接,以从该连接下载重新分配后的子块,从而已完成子块下载的连接不会变成空闲状态。
用户客户机确定是否包含于一个块中的所有子块都已下载S614。
如果所有子块已下载完,则用户客户机重复该处理,即确定将被从各节点通过多条路径下载的下一个块中的子块数目S604。
重复S610到S614的步骤,直到接收完一个块中的所有子块。
参考图6所示,根据本发明,如果在一条路径(=连接)上完成了子块下载,则重新分配将被从各节点下载的子块,以免空闲状态的发生,从而提高数据下载效率。
在图6中,示出了为向用户客户机传输流数据的节点重新分配子块的情况。然而,对于本领域的技术人员,显而易见也可以通过监视未被请求传输子块的节点的状态来为没有传输子块的节点重新分配子块。
此外,尽管未在图6中示出,如果不能从多个节点下载流数据,则可以将下载模式改变为以传统模式从单一服务器下载流数据。
图7是根据本发明优选实施例的连接控制服务器的操作的流程图。
图7示出了图2的P2P网络中或者P2P与多个服务器结合的网络中连接控制服务器的操作。
参考图7,连接控制服务器从已连接节点接收地址信息和内容信息S700。如上所述,通信代理程序安装在各用户客户机(节点)中,并且通信代理程序向连接控制服务器传输存储在用户客户机中的内容信息和用户客户机的地址信息。所接收到的节点地址信息和节点内容信息存储在连接控制服务器的数据库中。
连接控制服务器从已连接节点接收内容请求信息S702。利用在步骤S700接收的信息,接收到内容请求信息的连接控制服务器搜索存储有被请求内容的节点S704。
连接控制服务器向请求内容数据的用户客户机提供节点列表信息S706。
尽管未在图7中示出,连接控制服务器也可以接收节点状态信息(例如,PING信息),并且将节点状态信息与节点列表信息一起提供给用户客户机。
在接收到节点列表信息之后,用户客户机利用状态信息选择将要建立连接的节点。如果连接建立失败或者数据下载速率不高,用户客户机使用节点状态信息选择将要建立连接的新节点。节点状态信息能够被持续更新,更新后的信息被提供给请求内容数据或者正在下载数据的用户客户机。
图8是根据本发明另一实施例的连接控制服务器的操作的流程图。
图8示出了使用多个服务器的连接控制服务器网络例如图3的操作。
参考图8,连接控制服务器从各内容服务器接收状态信息S800。根据本发明的优选实施例,状态信息可以是从包括带宽信息、CPU使用率信息、内存使用率信息、连接用户数和文件I/O信息的组中选择的一个或组合。对于本领域的技术人员,显而易见除上述信息以外的其它信息也可被用作服务器的状态信息。
连接控制服务器从用户客户机接收内容请求信息S802。
接收内容请求信息的连接控制服务器使用在S800中的状态信息将具有优良状态的服务器的地址信息(换句话说,节点列表信息)提供给请求内容的客户机,以及将子块分配信息(关于将被从各内容服务器下载的子块的信息)S804提供给请求内容的客户机。
在图8中,示出了从连接控制服务器将子块分配信息传输给用户客户机的情况,然而,对于本领域的技术人员,显而易见客户机自己可以通过在连接到内容服务器之后检查连接状态来分配子块以下载。
根据本发明的另一实施例,在数据下载的初始状态,连接控制服务器提供子块分配信息。然后,如果完成了块数据的下载,由于内容服务器可以决定各内容服务器的下载速度。用户客户机自己分配子块,以在下一子块的下载中从各内容服务器下载。
图9是根据本发明优选实施例安装在用户客户机中的代理程序的框图。
参考图9,根据本发明优选实施例的通信代理程序可以包括代理管理器模块900、高速缓存管理器(cache manager)模块902、连接控制模块904、节点管理器模块906、块管理器模块908和子块管理器模块910。
在图9中,代理管理器模块900执行与连接控制服务器的通信,并在用户客户机开启电源或者执行代理程序时,向连接控制服务器提供包含IP地址和端口号的用户客户机信息以及存储在用户客户机中的内容的信息。
此外,当用户请求内容时,代理管理器模块900向连接控制服务器提供内容请求信息。当播放被请求内容需要元(meta,或者称背景)信息时,代理管理器模块可以向播放内容数据的播放器提供内容的元信息。
高速缓存管理器模块902管理从节点下载的流数据。高速缓存管理器模块902提供高速缓存的剩余容量的信息以及存储在高速缓存中的内容的信息。当用户客户机开启电源或者执行代理程序时,高速缓存管理器模块902提供存储在高速缓存中的内容的信息。根据本发明的优选实施例,高速缓存管理器模块902在存储下载的数据时,对下载的数据加扰(scramble)。
连接控制模块904根据从连接控制服务器接收的节点列表信息与预定数目的节点建立连接。连接控制模块904通过确定节点的连接状态来分配将被从各节点下载的子块,并根据分配的结果向各节点请求子块。
此外,连接控制模块904持续监视各节点的下载状态,并且根据监视结果重新分配将被从各节点下载的子块。
根据本发明的优选实施例,连接控制模块904监视是否存在已完成子块下载的连接,并且连接控制模块904在已完成子块下载的连接和未完成子块下载的某些连接之间重新分配子块,以避免空闲连接。
根据本发明的另一实施例,尽管不存在已完成子块接收的连接,也可根据各节点的下载状态来提前重新分配子块。
根据本发明的又一实施例,连接控制模块监视未建立连接的节点的状态信息,并在某些正在传输数据的节点和某些尚未传输数据的节点之间重新分配子块。
如上所述,在图4的***中,连接控制模块既向服务器又向用户客户机请求数据,如果从用户客户机的下载状态是好的,服务器就可以被排除在节点之外或者仅向服务器请求少量的数据,以降低服务器的负荷。
节点管理器模块906将提供自连接控制服务器的节点列表信息提供给连接控制模块904。如上所述,节点列表信息可以包括IP地址和端口号。根据本发明的优选实施例,代理管理器模块900请求存储有被请求内容的节点的信息,并向节点管理器模块906提供节点列表信息。由于节点的电源可能被关闭或者连接状态可能变得不稳定,所以持续更新节点信息。
子块管理器模块910从节点下载子块,并确定是否已下载完一个块中的所有子块。如果已下载完所有子块,则子块管理器模块910将下载所得的块数据提供给块管理器模块908。如果子块管理器模块确定已下载完包含在一个块中的所有子块,则连接控制模块请求下一个块的子块。
块管理器模块908向播放流数据的播放器或高速缓存管理器模块提供接收到的块数据。
尽管图9中未示出,通信代理程序还可包括预留(reservation)管理器模块。当高速传输流数据时,可能发生由于互联网连接的不稳定而使客户机不能以预定速度下载数据的情况。这种情况下,在播放电影数据之前,通过预留管理器模块将电影数据预存在高速缓存中,并且预留管理器模块执行预留处理。
预留管理器模块管理用户要求预留的流数据的信息,并监视是否收到预留的内容。预留管理器模块通过连接控制模块来请求数据,直到完成被请求数据的下载为止。
图10是根据本发明优选实施例的连接控制模块的详细框图。
参考图10,连接控制模块可以包括连接建立模块1000、连接状态确定模块1002、子块分配模块1004和下载状态监视模块1006。
连接建立模块1000使用提供自连接控制服务器提供的节点列表信息,与数据将被下载的节点建立连接。连接建立可以包括如下步骤:
(i)用户客户机向节点发出TCP连接请求。
(ii)节点确定是否允许TCP连接。
(iii)节点允许TCP连接。
如上所述,也可使用TCP以外的其它连接建立方法。
连接状态确定模块1002确定与各节点的连接状态。连接状态确定模块1002计算连接状态评估指数,用于确定连接状态。
根据本发明的实施例,可以根据相对于各节点的往返时间来计算连接状态评估指数。
根据本发明的另一实施例,可以根据各节点的下载速度信息来计算连接状态评估指数。可选的,可以既用往返时间又用下载速度来计算连接状态评估指数。
适当的做法是,在开始时使用往返时间计算连接状态评估指数,这是因为开始时不知道下载速度,然后在执行完数据下载后使用下载速度计算连接状态评估指数。由于下载速度不断变化,连接状态评估指数也根据下载速度的变化而更新。
根据本发明的另一实施例,连接状态确定模块从服务器接收服务器状态信息,并使用该状态信息确定连接状态。
子块分配模块1004使用由连接状态确定模块1002计算所得的连接状态评估指数来分配子块。优选的,子块分配模块1004根据连接状态评估指数的比值来确定从各节点下载的子块的数目。
下载状态监视模块1006确定是否存在已完成子块下载的连接,并且当存在已完成子块下载的连接时向子块管理器模块1004请求子块的重新分配。
为所有已连接节点都重新分配子块是效率不高的,这是由于控制信号需要被传输到所有节点。因此,根据本发明的优选实施例,在已完成子块下载的连接和下载速率最低的连接之间重新分配子块。在此情况下,控制信号只需传输到已完成子块传输的节点和数据传输速率最低的节点。
图11是根据本发明优选实施例通过确定连接状态来重新分配子块的处理的流程图。
参考图11,在下载的初始状态测量相对于各已连接节点的往返时间S1100。往返时间指:在传输检测信号至已连接节点和接收对检测信号的响应信号之间的持续时间。
在测得往返信号后,确定是否可以得知所有连接的平均下载速度S1102。如果已下载完几个块,就能够知道所有连接的平均下载速度。
当得知所有连接的平均下载速度时,使用平均下载速度信息来计算连接状态评估指数S1104。例如,当从3个节点下载流数据且3个节点的平均下载速度是500,000bps、100,000bps和64,000bps时,各连接的连接状态评估指数分别是500,000、100,000和64,000。平均下载速度的标准化值(normalizedvalue)也可被用作连接状态评估指数。
当不能得知所有连接的平均下载速度时,就确定是否可以知道某些连接的平均下载速度S1106。这种情况可能发生在下载流数据的同时从新的节点下载流数据时。
当能够得知某些连接的平均下载速度时,根据往返时间和平均下载速度来计算连接状态评估指数S1108。
例如,假设从3个节点下载流数据并且第一节点的平均下载速度是200,000bps,第二节点的平均下载速度是100,000bps,而第三节点的平均下载速度未知。此外,假定第一节点的往返时间是23ms,第二节点的往返时间是32ms,而第三节点的往返时间是20ms。
在此情况下,通过(下载速度)/(往返时间)来计算连接状态评估指数。用(下载速度)/(往返时间)的最小值来预测第三节点的平均下载速度。由于第二节点的(下载速度)/(往返时间)最小,第三节点的平均下载速度就可通过下面的方程1计算。
[方程1]
100,00 20 × 32 = 160,500
如果不能得知所有连接的平均下载速度,则根据往返时间计算连接状态评估指数。根据本发明的实施例,往返时间的倒数可被用为连接状态评估指数。
例如,假设从3个节点下载流数据,并且各节点的往返时间为23ms、41ms和32ms。这种情况下,各节点的连接状态评估指数分别为1/23、1/42和1/32。
在计算出连接状态评估指数后,确定在所有子块中从各节点下载的子块数目。
根据连接状态评估指数确定从各节点下载的子块数目。具体地,通过下面的方程2确定下载的子块数目。
[方程2]
其中,i=1~n-1
其中,i=n
其中,Pi是准备向各节点请求的子块的数目,αi是各连接的连接状态评估指数。换句话说,用户客户机向各节点请求数目为Pi的子块。
图12是根据本发明优选实施例当存在已完成子块下载的连接时执行的处理的流程图。
参考图12,连接控制模块的下载状态监视模块监视是否存在已完成子块下载的连接S1200。
如果存在已完成子块下载的连接,则搜索下载速率最低的连接S1202。通过(下载子块数目)/(请求的子块数目)计算下载速率。
当搜索到下载速率最低的连接时,计算将在该下载速率最低的连接下载的剩余子块的数目S1204。
在计算出下载速率最低的连接上的剩余子块数目后,确定是否有必要在已完成子块下载的连接和下载速率最低的连接间重新分配将被下载的子块S1206。例如,如果在传输用于重新分配子块的控制信号的同时就可以下载剩余的子块,则子块的重新分配就没有必要。
如果确定有必要进行子块的重新分配,根据连接状态评估指数重新分配将被从已完成子块下载的连接和下载速率最低的连接下载的子块S1208。
子块可通过下面的方程3进行分配。
[方程3]
P2=剩余子块数目-P1
P1是被重新分配给下载速率最低的连接的子块数目,α1是下载速率最低的连接的连接状态评估指数,P2是被重新分配给已完成子块下载的连接的子块数目,以及α2是已完成子块下载的连接的连接状态评估指数。
如果已重新分配子块,则向相应于根据新的分配结果的各连接的节点请求子块。如果没有必要从子块下载速率最低的连接下载子块,用户客户机向相应节点请求停止子块传输。
图13是根据本发明优选实施例连接控制服务器的模块框图。
图13示出了在图12中的P2P网络的***或者在如图4的多个服务器与P2P组合的***中的连接控制服务器的模块。
参考图13,根据本发明实施例的连接控制服务器可以包括网格管理器模块1300、节点信息提供模块1302以及认证模块1304。用户数据库1306、网格信息数据库1308以及网格信息数据库1310也可被包含到连接控制服务器。
在图13中,网格管理器模块1300管理连接至连接控制服务器的用户客户机的信息。如上所述,当用户客户机开启电源或者执行通信代理程序时,客户机地址信息和存储于客户机的内容的信息被传输到连接控制服务器,网格管理器模块1300接收该信息并将其存储在网格信息数据库1310中。
当用户请求一特定内容时,节点列表提供模块1302使用网格信息数据库1310得到存储有相应内容的节点信息,并将所得到的信息提供给用户客户机。
认证模块1304对客户机进行认证并处理计费信息。当用户请求内容时,包含用户ID和口令(password)的认证密钥信息被传输到连接控制服务器,然后认证模块1304确定用户是否是已注册用户。此外,认证模块1304通过与外部计费***通信来确定是否用户已经为该内容付费。
已注册用户的ID、口令、个人信息等存储于用户数据库1306,而内容编码方法、作者信息等存储于元信息数据库1308。如果请求内容的用户已被授权,则网格管理器模块1300向用户提供元信息。通常,元信息对于流数据的播放是必要的,然而,如果没有元信息也能播放流数据,元信息数据库1308也可以不耦合至连接控制服务器。
连接到连接控制服务器的用户客户机的信息和存储在各用户客户机的内容的信息被存储在网格信息数据库中1310。
图14是根据本发明另一实施例的连接控制服务器的模块框图。
参考图14,连接控制服务器可以包括服务器状态确定模块1400、子块分配模块1402、服务器列表提供模块1404以及认证模块1406。用户数据库1408、内容服务器数据库1410和元信息数据库1412可以耦合至连接控制服务器。
服务器状态确定模块确定由连接控制服务器管理的内容服务器的状态信息。如上所述,服务器状态确定模块1400使用包括带宽、CPU使用率、内存使用率、已连接用户数和文件I/O等的信息,来确定各内容服务器的状态。
子块分配模块1402使用内容服务器的状态信息,向请求内容的用户客户机提供将被从各内容服务器下载的子块的数目信息。
连接控制服务器管理的内容服务器的信息被存储在内容数据库1410中。
认证模块1406的功能和存储在用户数据库1408与元信息数据库1412中的信息与图13的情况相同。
工业实用性
如上所述,根据本发明,由于通过多条路径提供流数据,所以尽管在一个连接上发生错误也能够提供稳定的流业务(streaming service)。
此外,根据本发明,由于在一个连接中完成子块下载时就重新分配将被下载的子块,可以避免空闲连接的发生,从而提高下载效率。
特别的,当在P2P网络中通过多个节点下载流数据时本发明是有效的。

Claims (38)

1.一种用于下载流数据的方法,其步骤包括:
(a)与多个节点建立连接;
(b)向已建立连接的多个节点发出对流数据的子块的请求,以下载这些子块;
(c)监视已建立连接的下载状态;以及
(d)根据监视结果,重新分配将被从已建立连接的某些节点下载的子块;
其中,当下载完一个块所包括的所有子块时,重复步骤(b)到步骤(d)以下载下一个块所包括的子块。
2.如权利要求1所述的方法,还包括确定将从已建立连接的各节点下载的子块的步骤。
3.如权利要求1所述的方法,其中,步骤(c)包括监视是否存在已完成子块下载的连接的步骤。
4.如权利要求2所述的方法,其中,通过计算连接状态评估指数,来确定将被从各节点下载的子块。
5.如权利要求4所述的方法,其中,使用选自包含相对于各节点的往返时间和从各节点的平均下载速度的组中的信息,来计算该连接状态评估指数。
6.如权利要求3所述的方法,其中,步骤(d)包括当存在已完成子块下载的连接时,在已完成子块下载的连接和未完成子块下载的某些连接之间重新分配子块的步骤。
7.如权利要求6所述的方法,其中,步骤(d)包括在已完成子块下载的连接和未完成子块下载的连接中的下载速率最低的连接之间重新分配子块的步骤。
8.如权利要求7所述的方法,在已完成子块下载的连接和下载速率最低的连接之间重新分配子块的步骤包括以下步骤:
确定已完成子块下载的连接和下载速率最低的连接的下载速度;
确定将在下载速率最低的连接中下载的剩余子块的数目;
确定是否需要重新分配子块;
如果需要重新分配子块,则根据下载速率在已完成子块下载的连接和下载速率最低的连接之间重新分配剩余子块。
9.如权利要求1所述的方法,还包括将连接建立失败的节点的信息存储在黑名单队列中的步骤。
10.如权利要求2所述的方法,还包括接收节点状态信息的步骤,其中,使用该节点状态信息来确定将被从各节点下载的子块。
11.如权利要求2所述的方法,其中,使用在下载初始状态中的节点的状态信息来确定将被从各节点下载的子块,在确定了从各节点的下载速度后,使用连接状态评估指数来确定将被从各节点下载的子块;其中,使用选自包含相对于各节点的往返时间和从各节点的平均下载速度的组中的信息,来计算该连接状态评估指数。
12.如权利要求10所述的方法,其中,在步骤(a)中,使用节点的状态信息,来执行与多个节点的连接建立。
13.如权利要求1所述的方法,还包括使用已下载子块的校验和值来确定下载错误的步骤。
14.如权利要求1所述的方法,还包括在重新分配子块之后,使用该重新分配结果向相应节点发出对子块的请求的步骤,以下载重新分配后的子块。
15.如权利要求1所述的方法,还包括如果从多个节点下载子块失败时,通过连接到单个服务器来下载流数据的步骤。
16.如权利要求1所述的方法,还包括步骤:
监视已建立连接的节点中尚未传输数据的节点状态信息;
在正在传输数据的某些节点和尚未传输数据的某些节点之间重新分配将被下载的子块。
17.一种通信代理程序,安装在一***中的多个用户客户机中,在该***中,连接控制服务器和该多个用户客户机通过网络连接,包括:
代理管理器模块,用于将存储在用户客户机中的内容信息和用户客户机的识别信息提供给连接控制服务器,以及当用户请求内容时将内容请求信息传输至连接控制服务器;
节点信息管理器模块,用于接收和存储存储有被请求内容的节点的列表信息;
连接控制模块,用于使用节点的列表信息与多个节点建立连接,确定将从已建立连接的各节点下载的子块以请求子块,以及通过在下载子块的同时监视下载状态来重新分配将从某些已连接节点下载的子块;
子块管理器模块,用于确定是否已下载完一个块所包括的所有子块,以及当下载完一个块所包括的所有子块时,请求下一个块所包括的子块,以下载下一个块所包括的子块。
18.如权利要求17所述的程序,其中,该连接控制模块在已完成子块下载的连接和未完成子块下载的某些连接之间重新分配子块。
19.如权利要求18所述的程序,该通信代理模块包括:
连接建立模块,用于与该节点列表中所包含的节点建立连接;
连接状态确定模块,用于确定已建立连接的节点的连接状态;
子块分配模块,用于使用连接状态信息来分配将被从已建立连接的节点下载的子块;
下载状态监视模块,用于当存在已完成被请求子块的传输的节点时,向子块分配模块请求在已完成子块下载的连接和下载速率最低的连接之间重新分配子块;
其中,作为对下载状态监视模块发出的对子块重新分配的请求的响应,子块分配模块根据下载速度在已完成子块下载的连接与下载速率最低的连接之间重新分配将被下载的子块。
20.如权利要求19所述的程序,其中,连接状态确定模块使用选自包含相对于各节点的往返时间和从各节点的平均下载速度的组中的信息,来确定连接状态。
21.如权利要求19所述的程序,其中,连接状态确定模块通过从连接控制服务器接收节点状态信息,来确定连接状态。
22.如权利要求19所述的程序,其中,连接建立模块使用连接控制服务器提供的节点状态信息来建立连接,如果连接建立失败,连接建立模块使用节点状态信息与其它节点建立连接。
23.如权利要求19所述的程序,连接建立模块在连接建立失败时,将连接建立失败的节点的信息存储在黑名单队列中。
24.如权利要求17所述的程序,该子块管理器模块使用子块校验和值来确定下载错误。
25.如权利要求17所述的程序,还包括高速缓存管理器模块,用于以不规则状态存储所下载的流数据并管理所存储的数据。
26.如权利要求25所述的程序,还包括块管理器模块,用于当一个块所包括的所有子块都下载完时,将块数据提供给高速缓存管理器模块或播放流数据的播放器。
27.如权利要求17所述的程序,还包括预留管理器模块,用于将预留请求信息传输给连接控制服务器,并管理所预留的内容信息。
28.如权利要求17所述的程序,其中,连接控制模块监视已建立连接的各节点中尚未传输数据的节点的状态,并根据该监视结果在尚未传输数据的某些节点和正在传输数据的某些节点之间重新分配子块。
29.一种通信代理程序,安装在从一***下载流数据的用户客户机中,该***包括多个内容服务器和至少一个连接控制服务器,包括:
数据请求模块,用于向该连接控制服务器发出传输数据的请求;
节点信息管理器模块,用于接收和存储将下载被请求数据的内容服务器的列表;
连接控制模块,用于与内容服务器列表中所包括的多个内容服务器建立连接,请求将从已建立连接的内容服务器下载的流数据的子块,以及通过在从已连接内容服务器下载子块的同时监视下载状态,来重新分配将从已建立连接的某些内容服务器中下载的子块;以及
子块管理器模块,用于确定是否已下载完一个块所包括的所有子块,并且当已下载完一个块所包括的所有子块时,请求下一个块所包括的子块,以下载下一个块的子块。
30.如权利要求29所述的程序,其中,连接控制模块在已完成子块下载的连接和未完成子块下载的某些连接之间重新分配子块。
31.如权利要求30所述的程序,其中,连接控制模块包括:
连接建立模块,用于与内容服务器列表中所包括的内容服务器建立连接;
连接状态确定模块,用于确定已连接内容服务器的连接状态;
子块分配模块,用于使用连接状态信息来分配将被从每个已连接内容服务器下载的子块;
下载状态监视模块,用于当存在已完成子块下载的连接时,请求在已完成子块下载的连接和下载速率最低的连接之间重新分配子块;
其中,作为对该下载状态监视模块的请求的响应,子块分配模块根据已完成子块下载的连接和下载速率最低的连接的下载速度来重新分配子块。
32.如权利要求31所述的程序,其中,连接状态确定模块使用连接状态控制服务器所提供的内容服务器状态信息来确定连接状态。
33.一种连接控制服务器,通过网络与多个用户客户机连接,用于控制用户客户机之间的连接,以使用户客户机能够通过连接其他用户来下载流数据,包括:
网格管理器模块,用于接收存储在已连接的多个用户客户机的内容的信息和已连接的多个用户客户机的地址信息,以及将存储有被请求内容的节点信息提供请求内容的用户客户机;以及
网格信息数据库,用于存储每个用户客户机所存储的内容的信息和每个用户客户机的地址信息;
其中,通信代理程序安装在该多个用户客户机中,该通信代理程序使用节点信息控制用户客户机与多个节点建立连接,和向已连接节点发出对将要下载的流数据的子块的请求,以及通过监视各已连接节点的下载状态来重新分配将要下载的子块。
34.如权利要求33所述的服务器,还包括用于对用户进行认证和处理计费信息的认证模块。
35.如权利要求33所述的服务器,还包括用于存储已注册用户的信息的用户数据库和用于存储流数据的元信息的元信息数据库。
36.如权利要求33所述的服务器,其中,网格管理器模块接收各节点的状态信息,并提供节点信息的状态信息。
37.一种连接控制服务器,通过网络与多个用户客户机和多个内容服务器连接,用于控制用户客户机和内容服务器之间的连接,以使用户客户机能够通过连接到至少两个内容服务器来下载流数据,包括:
服务器状态检测模块,用于从已连接的多个内容服务器上接收状态信息,并确定各内容服务器的状态;
服务器列表提供模块,用于当从用户客户机接收到内容请求信息时,提供将要传输被请求内容的流数据的服务器的列表信息;
其中,通信代理程序安装在用户客户机中,该通信代理程序使用服务器列表信息控制用户客户机与至少两个内容服务器建立连接,和确定将从各已连接内容服务器下载的流数据的子块以请求子块,以及通过监视各已连接节点的子块下载状态来重新分配将要下载的子块。
38.如权利要求37所述的服务器,其中,内容服务器所提供的状态信息选自包括带宽信息、CPU使用率信息、内存使用率信息、连接用户数和文件I/O信息的组中。
CNB2004800016837A 2003-01-17 2004-01-05 传输和下载流数据的方法 Expired - Lifetime CN100414539C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030003388 2003-01-17
KR1020030003388A KR100427143B1 (ko) 2003-01-17 2003-01-17 스트리밍 데이터 전송 및 다운로드 방법

Publications (2)

Publication Number Publication Date
CN1723452A true CN1723452A (zh) 2006-01-18
CN100414539C CN100414539C (zh) 2008-08-27

Family

ID=36383781

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800016837A Expired - Lifetime CN100414539C (zh) 2003-01-17 2004-01-05 传输和下载流数据的方法

Country Status (5)

Country Link
US (1) US8370513B2 (zh)
JP (1) JP4002584B2 (zh)
KR (1) KR100427143B1 (zh)
CN (1) CN100414539C (zh)
WO (1) WO2004066160A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192946B (zh) * 2006-11-28 2010-08-25 欧阳炳宇 一种提高特定p2p嵌入式终端下载效率的方法和***
CN101345638B (zh) * 2007-07-12 2011-06-22 中兴通讯股份有限公司 支持时移业务的对等***
CN102196318A (zh) * 2010-03-15 2011-09-21 腾讯科技(深圳)有限公司 一种点对点***及节目发布源的监控方法和装置
CN101634963B (zh) * 2009-08-24 2012-01-11 腾讯科技(深圳)有限公司 一种获知下载软件状态的方法、***
CN101355588B (zh) * 2008-09-08 2012-08-01 创新科存储技术(深圳)有限公司 基于对等网络的数据传输方法及传输终端
CN102804691A (zh) * 2009-06-24 2012-11-28 诺基亚公司 在对等流传输网络中传信缓冲内容的方法和装置
CN104661243A (zh) * 2015-02-11 2015-05-27 上海大唐移动通信设备有限公司 一种减少下载结束拖尾的方法和***
CN106961454A (zh) * 2016-01-08 2017-07-18 广州优视网络科技有限公司 文件下载方法、装置及终端设备
CN109617959A (zh) * 2018-12-07 2019-04-12 深圳市网心科技有限公司 一种数据加载方法、装置、***以及存储介质
CN112272196A (zh) * 2020-03-09 2021-01-26 上海曼恒数字技术股份有限公司 一种***去服务器方法及***

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100472486C (zh) * 2003-09-30 2009-03-25 索尼株式会社 内容获得方法、设备和***
US7584382B2 (en) * 2004-02-19 2009-09-01 Microsoft Corporation Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems
US7392295B2 (en) 2004-02-19 2008-06-24 Microsoft Corporation Method and system for collecting information from computer systems based on a trusted relationship
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US20090019468A1 (en) * 2005-03-09 2009-01-15 Vvond, Llc Access control of media services over an open network
US20080022343A1 (en) 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US7191215B2 (en) * 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US9176955B2 (en) 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
US7698451B2 (en) * 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US20090025046A1 (en) * 2005-03-09 2009-01-22 Wond, Llc Hybrid architecture for media services
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US8099511B1 (en) 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
CN100469002C (zh) * 2005-08-09 2009-03-11 张永敏 数据分块传输方法及装置
KR100700588B1 (ko) * 2005-08-09 2007-03-28 엘지전자 주식회사 이동통신 단말기의 컨텐츠 다운로드 방법 및 장치
CN100444546C (zh) * 2005-08-11 2008-12-17 腾讯科技(深圳)有限公司 一种移动终端及在移动终端上实现流媒体下载的方法
CN100461914C (zh) * 2005-10-28 2009-02-11 华为技术有限公司 一种移动台数据下载方法
WO2007019770A1 (fr) 2005-08-12 2007-02-22 Huawei Technologies Co., Ltd. Procede et systeme pour terminal mobile permettant de telecharger des donnees et de partager les donnees parmi des terminaux mobiles
JP2007080161A (ja) * 2005-09-16 2007-03-29 Nec Personal Products Co Ltd データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム
US8626925B2 (en) * 2005-12-16 2014-01-07 Panasonic Corporation Systems and methods for providing a selective multicast proxy on a computer network
US7743123B2 (en) * 2005-12-19 2010-06-22 Microsoft Corporation Aggregating information from a cluster of peers
EP1801720A1 (en) * 2005-12-22 2007-06-27 Microsoft Corporation Authorisation and authentication
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
US8904456B2 (en) 2006-02-13 2014-12-02 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
US7970835B2 (en) * 2006-04-04 2011-06-28 Xerox Corporation Peer-to-peer file sharing system and method using downloadable data segments
BRPI0621786A2 (pt) 2006-06-27 2011-12-20 Thomson Licensing solicitação de conteúdo entre parcerias com desempenho monitorado
US8296812B1 (en) 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
EP2095255B1 (en) * 2006-11-30 2014-07-23 Speedbit Ltd. Accelerated multimedia file download and playback
KR101404008B1 (ko) * 2007-08-30 2014-06-05 톰슨 라이센싱 무선 메시 네트워크들에서의 콘텐츠 서비스들에 관한 통합된 피어-투-피어 및 캐시 시스템
CN101119282A (zh) * 2007-09-25 2008-02-06 腾讯科技(深圳)有限公司 下载工具中对下载任务进行管理显示的方法及装置
US9769255B2 (en) 2007-12-24 2017-09-19 Core Wireless Licensing S.A.R.L. Continuous scheduling for peer-to-peer streaming
US8171118B2 (en) * 2008-06-13 2012-05-01 Microsoft Corporation Application streaming over HTTP
US8775566B2 (en) * 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
KR101125065B1 (ko) 2008-10-31 2012-03-21 에스케이플래닛 주식회사 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법
KR101128293B1 (ko) * 2008-11-12 2012-03-23 에스케이플래닛 주식회사 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101301004B1 (ko) * 2008-11-25 2013-08-29 에스케이플래닛 주식회사 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101104729B1 (ko) * 2008-11-28 2012-01-11 에스케이플래닛 주식회사 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
DE102009027773A1 (de) 2009-07-16 2011-01-27 Itv Solutions Gmbh Steuerung der Datenrate eines Medien-Downloads anhand von Client-Wiedergabestatusinformation
CA2793960C (en) * 2010-03-23 2018-05-22 Reversinglabs Corporation Cloud-based web content filtering
US8681758B2 (en) * 2010-12-14 2014-03-25 Symbol Technologies, Inc. Video caching in a wireless communication network
US8510267B2 (en) * 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories
US9210451B2 (en) * 2011-05-19 2015-12-08 The Chinese University Of Hong Kong Replication decision in P2P VoD systems
KR101893146B1 (ko) * 2011-06-08 2018-08-30 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
KR101491604B1 (ko) * 2011-11-02 2015-02-13 주식회사 케이티 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
KR101914635B1 (ko) * 2012-03-16 2018-12-28 삼성전자주식회사 컨텐츠 공유 시스템에서 소스 기기를 결정하기 위한 장치 및 방법
US9444726B2 (en) 2012-07-31 2016-09-13 At&T Intellectual Property I, L.P. Distributing communication of a data stream among multiple devices
US9491093B2 (en) * 2012-07-31 2016-11-08 At&T Intellectual Property I, L.P. Distributing communication of a data stream among multiple devices
US9356980B2 (en) 2012-07-31 2016-05-31 At&T Intellectual Property I, L.P. Distributing communication of a data stream among multiple devices
US11050669B2 (en) 2012-10-05 2021-06-29 Aaa Internet Publishing Inc. Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers
US11838212B2 (en) 2012-10-05 2023-12-05 Aaa Internet Publishing Inc. Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers
USRE49392E1 (en) 2012-10-05 2023-01-24 Aaa Internet Publishing, Inc. System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium
US10917299B2 (en) * 2012-10-05 2021-02-09 Aaa Internet Publishing Inc. Method of using a proxy network to normalize online connections by executing computer-executable instructions stored on a non-transitory computer-readable medium
US9710469B2 (en) * 2013-03-15 2017-07-18 Comcast Cable Communications, Llc Efficient data distribution to multiple devices
US20160021189A1 (en) * 2014-07-17 2016-01-21 Cluster Wireless Llc Automatic pushing of m2m signal processing to network sensor edge
CN105263196A (zh) * 2015-08-31 2016-01-20 小米科技有限责任公司 连接状态提示方法和装置
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
CN106878826B (zh) * 2017-03-30 2020-04-10 河北上元智能科技股份有限公司 一种类p2p实时视频转发的方法
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
CN108462755B (zh) * 2018-03-28 2020-06-05 网宿科技股份有限公司 一种下载数据资源的方法和***
CN113259759A (zh) * 2021-05-20 2021-08-13 深圳市雷鸟网络传媒有限公司 一种网络连接状态评价方法、装置、终端设备和存储介质
CN113347278B (zh) * 2021-08-02 2021-10-29 北京鲸准数服信息科技有限责任公司 数据处理方法、装置及电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
US5680400A (en) * 1995-05-31 1997-10-21 Unisys Corporation System for high-speed transfer of a continuous data stream between hosts using multiple parallel communication links
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US6028608A (en) * 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
US6014698A (en) * 1997-05-19 2000-01-11 Matchlogic, Inc. System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals
IL123819A (en) * 1998-03-24 2001-09-13 Geo Interactive Media Group Lt Network media streaming
JP3460579B2 (ja) * 1998-05-21 2003-10-27 松下電器産業株式会社 データ転送方法
JP2955561B1 (ja) * 1998-05-29 1999-10-04 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム通信システム及びストリーム転送制御方法
CN1121104C (zh) * 1999-02-15 2003-09-10 夏旻 自动影音点播方法及其***
JP2001169268A (ja) 1999-12-14 2001-06-22 Sony Corp 情報提供システム、送信サーバ、情報端末装置、オーサリング装置及び情報提供方法
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US6723483B1 (en) * 1999-12-27 2004-04-20 Wako Pure Chemical Industries, Ltd. Sulfonium salt compounds
US7149223B2 (en) * 2000-03-06 2006-12-12 Juniper Networks, Inc. Enhanced fiber nodes with CMTS capability
US6650869B2 (en) * 2000-04-14 2003-11-18 Hughes Electronics Corporation System and method for managing return channel bandwidth in a two-way satellite system
US7908337B2 (en) * 2000-04-28 2011-03-15 Adara Networks, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7310809B2 (en) * 2000-05-19 2007-12-18 General Instrument Corporation Scalable pay-by-time technique for secure multicast distribution of streaming content
US7003794B2 (en) * 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
KR20020017926A (ko) * 2000-08-29 2002-03-07 오명철 주변 네트워크 인식 인터넷 컨텐츠 분산 배포 시스템 및그 제어 방법
JP3568470B2 (ja) * 2000-09-21 2004-09-22 三洋電機株式会社 シェル型データ端末装置
US7512940B2 (en) * 2001-03-29 2009-03-31 Microsoft Corporation Methods and apparatus for downloading and/or distributing information and/or software resources based on expected utility
US7272645B2 (en) * 2001-05-25 2007-09-18 Sbc Technology Resources, Inc. Method of improving the reliability of peer-to-peer network downloads
US7117267B2 (en) * 2001-06-28 2006-10-03 Sun Microsystems, Inc. System and method for providing tunnel connections between entities in a messaging system
KR20020057837A (ko) * 2002-03-29 2002-07-12 문의선 스트리밍 서비스 방법 및 장치
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192946B (zh) * 2006-11-28 2010-08-25 欧阳炳宇 一种提高特定p2p嵌入式终端下载效率的方法和***
CN101345638B (zh) * 2007-07-12 2011-06-22 中兴通讯股份有限公司 支持时移业务的对等***
CN101355588B (zh) * 2008-09-08 2012-08-01 创新科存储技术(深圳)有限公司 基于对等网络的数据传输方法及传输终端
US10749947B2 (en) 2009-06-24 2020-08-18 Provenance Asset Group Llc Method and apparatus for signaling of buffer content in a peer-to-peer streaming network
CN102804691A (zh) * 2009-06-24 2012-11-28 诺基亚公司 在对等流传输网络中传信缓冲内容的方法和装置
CN101634963B (zh) * 2009-08-24 2012-01-11 腾讯科技(深圳)有限公司 一种获知下载软件状态的方法、***
CN102196318B (zh) * 2010-03-15 2013-06-12 腾讯科技(深圳)有限公司 一种点对点***及节目发布源的监控方法和装置
CN102196318A (zh) * 2010-03-15 2011-09-21 腾讯科技(深圳)有限公司 一种点对点***及节目发布源的监控方法和装置
CN104661243A (zh) * 2015-02-11 2015-05-27 上海大唐移动通信设备有限公司 一种减少下载结束拖尾的方法和***
CN104661243B (zh) * 2015-02-11 2018-04-10 上海大唐移动通信设备有限公司 一种减少下载结束拖尾的方法和***
CN106961454A (zh) * 2016-01-08 2017-07-18 广州优视网络科技有限公司 文件下载方法、装置及终端设备
CN109617959A (zh) * 2018-12-07 2019-04-12 深圳市网心科技有限公司 一种数据加载方法、装置、***以及存储介质
CN112272196A (zh) * 2020-03-09 2021-01-26 上海曼恒数字技术股份有限公司 一种***去服务器方法及***

Also Published As

Publication number Publication date
US20060174160A1 (en) 2006-08-03
KR100427143B1 (ko) 2004-04-14
CN100414539C (zh) 2008-08-27
US8370513B2 (en) 2013-02-05
JP2006513676A (ja) 2006-04-20
WO2004066160A1 (en) 2004-08-05
JP4002584B2 (ja) 2007-11-07

Similar Documents

Publication Publication Date Title
CN1723452A (zh) 传输和下载流数据的方法
CN1685334A (zh) 用于提供内容的方法和***
CN1264307C (zh) 代理、图像形成装置管理***、图像形成装置管理方法
CN1210655C (zh) 服务器设备和信息处理方法
CN1754159A (zh) 信息处理装置和内容信息处理方法
CN1278557C (zh) 信息传递***与方法以及信息处理设备与方法
CN1520123A (zh) 对地址询问的回答方法、程序、装置和地址通知方法、程序、装置
CN1732454A (zh) 在多个装置上呈现内容的***和方法
CN1713177A (zh) 文件共享***和客户端装置
CN1204504C (zh) 文件传送***、中继设备、和文件传送方法
CN101047662A (zh) 实现单账号多身份即时消息通信和存在业务的方法及***
CN1681250A (zh) 存在信息提供***及其方法和服务器
CN1757020A (zh) 信息处理装置、信息处理方法以及计算机程序
CN1881978A (zh) 应用管理***、应用管理方法、服务器以及通信***
CN1858759A (zh) 对网络游戏用户进行时间限制的方法和***
CN100343835C (zh) 信息处理方法和设备
CN101056439A (zh) 便携式电子装置、内容信息服务器、内容列表提供方法
CN1818941A (zh) 信息处理***、信息提供与处理设备及其方法、以及程序
CN1901547A (zh) 生成web服务策略协议的方法和设备
CN1838642A (zh) 利用即时消息***实现问答业务的方法及***
CN1292531A (zh) 信息管理***和方法
CN1692364A (zh) 相互评价的***和在同样***中使用的终端设备和程序
CN1956460A (zh) 恢复网络连接的方法和设备
CN1867090A (zh) 短信网址装置及实现短信增值业务的***和方法
CN101031935A (zh) 用于信息管理的交互型智能***和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NHN BUSINESS PLATFORM CO., LTD.)

Free format text: FORMER OWNER: NHN CO., LTD.

Effective date: 20091120

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20091120

Address after: Gyeonggi Do, South Korea

Patentee after: NHN BUSINESS PLATFORM Corp.

Address before: Seoul, South Kerean

Patentee before: NHN Corp.

ASS Succession or assignment of patent right

Owner name: NABAO CO., LTD.

Free format text: FORMER OWNER: NHN CORP.

Effective date: 20141114

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141114

Address after: Gyeonggi Do city of South Korea

Patentee after: NAVER Corp.

Address before: Gyeonggi Do, South Korea

Patentee before: NHN BUSINESS PLATFORM Corp.

CX01 Expiry of patent term

Granted publication date: 20080827

CX01 Expiry of patent term