CN104010228A - 一种用于基于级的自动调整的对等媒体流的装置和方法 - Google Patents

一种用于基于级的自动调整的对等媒体流的装置和方法 Download PDF

Info

Publication number
CN104010228A
CN104010228A CN201410072033.7A CN201410072033A CN104010228A CN 104010228 A CN104010228 A CN 104010228A CN 201410072033 A CN201410072033 A CN 201410072033A CN 104010228 A CN104010228 A CN 104010228A
Authority
CN
China
Prior art keywords
peer modules
viewer
network
modules
peer
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
CN201410072033.7A
Other languages
English (en)
Other versions
CN104010228B (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.)
Omnivision Technologies Inc
Original Assignee
Omnivision Technologies Inc
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 Omnivision Technologies Inc filed Critical Omnivision Technologies Inc
Publication of CN104010228A publication Critical patent/CN104010228A/zh
Application granted granted Critical
Publication of CN104010228B publication Critical patent/CN104010228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1057Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving pre-assessment of levels of reputation of peers
    • 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/1044Group management mechanisms 
    • 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
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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
    • 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
    • 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
    • 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/1072Discovery involving ranked list compilation of candidate peers
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于对等(P2P)网络中的媒体流装置和方法,具有连接在该网络上的多个对等模块,包括一个连接在该网络上的源对等模块,该源对等模块与该网络的一个最高逻辑级相关联。多个观察器对等模块也连接在该网络上,每个观察器对等模块与一个逻辑网络级相关联。与每个观察器对等模块相关联的该逻辑网络级是一定量的逻辑网络级,使得该观察器对等模块逻辑上在该源对等模块的下面。该P2P网络被配置成使得每个观察器对等模块可以逻辑上在该观察器对等模块的上面被连接到仅仅一个上对等模块上,并且每个观察器对等模块可以逻辑上在该观察器对等模块的下面被连接到任何整数个下对等模块上。

Description

一种用于基于级的自动调整的对等媒体流的装置和方法
技术领域
本披露涉及媒体流,并且具体地涉及对等网络中的媒体流。
背景技术
媒体流,例如,视频流或音频流,是一种可以在各种设备中实施的技术,包括互联网协议(IP)相机,移动电话或使用网络摄像头的台式计算机。这些设备使用视频流或音频流在互联网上产生和传输压缩的媒体文件。
目前,各种视频流实现方式已在使用中。大部分实现方式是基于浏览器/服务器(B/S)或客户端/服务器(C/S)体系结构。这些体系结构对媒体传送流典型地依赖非常高的带宽。另一个实现方式使用对等流,这要求比B/S和C/S流更小的带宽。
对等流体系结构可以分类为两个基群:基于树型/基于推送的体系结构以及基于网格/基于拉取的体系结构。该基于树型/基于推送的体系结构具有较低的启动延迟,但是对于节点故障回弹性较低。该基于树型/基于推送的体系结构也容易产生带宽瓶颈问题。该基于网格/基于拉取的体系结构具有灵活的大规模能力,但是由于数据提取请求经常引起高延迟。
发明内容
根据本披露的一个方面,提供了一种用于媒体流的对等(P2P)网络,包括多个连接在该网络上的对等模块。该多个对等模块包括一个与该网络的一个最高逻辑级相关联的源对等模块、以及多个观察器对等模块,每个观察器对等模块与一个逻辑网络级相关联。与每个观察器对等模块相关联的该逻辑网络级是一定量的逻辑网络级,使得该观察器对等模块逻辑上在该源对等模块的下面。该P2P网络被配置成使得每个观察器对等模块可以逻辑上在该观察器对等模块的上面被连接到仅仅一个上对等模块上,并且每个观察器对等模块可以逻辑上在该观察器对等模块的下面被连接到任何整数个下对等模块上。
根据本披露的一个方面,提供了一种用于对等(P2P)网络中媒体流的方法,具有多个连接在该网络上的对等模块。根据该方法,将一个源对等模块连接在该网络上,并且该源对等模块与该网络的一个最高逻辑级相关联。多个观察器对等模块也连接在该网络上,并且每个观察器对等模块也与一个逻辑网络级相关联。与每个观察器对等模块相关联的该逻辑网络级是一定量的逻辑网络级,使得该观察器对等模块逻辑上在该源对等模块的下面。该P2P网络被配置成使得每个观察器对等模块可以逻辑上在该观察器对等模块的上面被连接到仅仅一个上对等模块上,并且每个观察器对等模块可以逻辑上在该观察器对等模块的下面被连接到任何整数个下对等模块上。
附图说明
从优选实施例的更具体描述中上述和其他特点以及优势将显得清楚,如附图中所展示,其中像参考字符从不同的角度指代相同的部件。附图不一定按比例,而是重点放在展示优选实施例的原理。在附图中,为清楚起见,层的大小和厚度、区域以及特征可以被夸张。
图1包括根据一些示例性实施例的一个网络上的多个对等模块以及一个服务器的示意性框图,包括一个示例性对等模块的详细框图。
图2包括根据一些示例性实施例的一个网络的一部分的示意性框图。
图3包括根据一些示例性实施例的展示了用于指定网络上对等的逻辑级的过程的示意性逻辑流程图。
图4A和4B包括根据一些示例性实施例的展示了使用对等交换的网络维护的过程的示意性框图。
图5包括根据示例性实施例的两个逻辑流程图,标记为(a)和(b),各自展示了本披露的源对等和观察器对等的基于推送的数据流程。
图6包括根据示例性实施例的标记为(a)的展示了本披露的基于拉取的数据流程的一个逻辑流程图、以及标记为(b)的展示了一部分成流的视频/音频数据的示意图。
图7包括根据示例性实施例的展示了一个对等所使用的以更新其候选合作伙伴列表的漫谈流程的示意性逻辑流程图。
图8包括根据一些示例性实施例的展示了从对等故障或搅动中恢复过程的逻辑流程的示意性逻辑流程图。
具体实施方式
本披露涉及对等(P2P)计算机网络,其中网络中的每个终端设备,比如计算机、智能电话或照相机,在此称为一个对等、对等模块、节点或节点模块,作为该网络中对其他计算机的一个数据发送器或接收器,允许所有的对等共享数据访问。具体地,可以使用本披露中所描述的网络结构和数据传输协议,例如对于媒体数据的实时流、例如视频和/或音频数据。
现今许多在使用中的不同媒体流配置中的大部分是基于浏览器/服务器或客户/服务器体系结构。这些就要求对媒体传送流的超大带宽,因为服务器必须单独地将媒体文件分流给与其连接的每一位客户。一个替代配置是P2P流体系结构,要求较小的带宽,因为在该P2P网络中的每台计算机作为一个对等共享数据流的任务。
P2P流体系结构可以分类为两种可能类型中的一种。第一种是使用基于推送的数据流的基于树型的网络。在这种配置中,数据源逻辑上位于该树型的顶部、并且向下推送数据向连接在这个源上的对等的第一级。然后,第一级对等向下推动数据向连接在这些第一级对等上的对等的第二级等等。该基于树型的网络具有较低的启动延迟,但是由于一个高级对等离开该网络对于节点故障或搅动没有回弹性。此外,该基于树型的网络还有带宽瓶颈问题。
P2P流体系结构的第二种类型是使用基于拉取的数据流的基于网格的网络。这些对等形成一个用于将内容传送到单独的对等的随机连接和指向的网格,即,非结构化覆盖。每对之间的数据流是单向的。数据流是基于拉取的,意思是一个对等首先向其亲本发出一个文件包请求、并且如果该亲本具有该文件包,该亲本将其发送给发出请求的对等。基于网格的网络具有灵活的大规模能力、并且对于节点故障或搅动有回弹性,但是由于使用请求的相对缓慢的基于拉取的数据流其经常有高延迟。
本披露针对用于P2P网络中的实时媒体流的体系结构/方法及***,其中媒体源和观察器作为该P2P网络中的对等。该体系结构/方法/***是基于该P2P网络中的对等逻辑级。根据本披露,根据该网络中这些对等的逻辑级组织和管理对等、并且根据当前的连接状态以及统计信息动态地调整这些对等的逻辑级。网络数据流是基于推送数据流和拉取数据流的组合。本披露的P2P网络提供了多种优点,比如低延时、低带宽要求、大规模的能力、对节点故障和搅动的回弹性、以及其他优点。
图1包括根据一些示例性实施例的网络11的示意性框图,包括多个对等、多个对等模块、多个节点或多个节点模块10、以及网络11上的一个服务器13。图1包括对等模块10中的一个对等模块的详细框图。参见图1,每个对等模块10可以是,例如任何能够处理数据以及在网络11上与其他设备进行通信的设备,可以是例如无线网络、互联网或其他网络。网络11上的每个对等模块10可以是,例如有摄像头的计算机或平板电脑、有照相机的蜂窝电话或智能电话、IP照相机、或其他如能够处理数据以及在网络11上与其他设备通过无线、有线或无线与有线通信结合进行通信的设备。
服务器13也被连接在网络11上、并且可以与任何一个或所有的对等模块10进行通信。服务器13是一个作为主机运行网络11的一个或多个服务的软件和/或硬件实体。服务器13可以是或可以不是具体专用作主机。服务器13可以被视为网络11的管理器。它不是媒体流的参与者。
参见图1,所展示的示例性对等模块10可以包括至少一个执行该对等模块10的处理的处理器或中央处理器(CPU)12。该对等模块10还可以包括任何其他使用处理器12执行对等模块10的处理的的电路,比如,如一个或多个存储电路,通常表示为14,以及其他***设备处理电路,通常表示为16。对等模块10还可以包括输入/输出(I/O)处理电路18,处理通过网络收发器20输入到对等模块10的数据、和/或通过网络收发器20从对等模块10输出的数据。网络收发器20通过与网络11兼容的方式,即无线和/或有线通信,可以是任何能够将数据传输到其他对等模块10和/或网络11上的服务器13、和/或从其他对等模块10和/或网络11上的服务器13接收数据的收发器设备。对等模块10还可以包括一个用户接口26,比如鼠标、键盘、触摸屏、或其他比如用于允许用户提供输入的设备。对等模块10还可以包括一个用于显示包括成流的视频和/或音频的信息的显示器28。在对等模块10中,处理器12、存储器14、***设备电路16、I/O处理电路18、网络收发器20、用户接口26、以及显示器28中的每一个可以按照要求通过***总线22彼此进行通信以及转移命令和数据。在此描述的网络11和对等模块10的功能是由对等模块10、服务器13以及网络11的各个子***12、14、16、18、20、26、和28来执行。
根据一些示例性实施例,网络11上的多个对等模块10通过一个预定的协议在网络11上彼此进行通信。在一些具体示例性实施例中,该协议是可靠用户数据报协议(RUDP)。在一些具体示例性实施例中,该协议是传输控制协议(TCP)。因为这些协议是本领域所公知的,在此将不作详细描述。
图2包括根据一些示例性实施例的网络11的一部分的一个示意性框图。参见图2,网络11包括网络11的多个逻辑级处的多个对等模块10。根据示例性实施例,网络11、对等模块10、以及视频流处理的管理是基于这些对等模块10的逻辑级。此外,根据示例性实施例,网络11上的对等模块10的这些逻辑级基于此类因素(比如当前的连接状态和统计信息)在网络操作过程中是可动态地调整的。
参见图2,根据示例性实施例,对等模块10.1可以是数据源对等模块,该数据源对等模块可以是将被分流至一个或多个其他对等模块10的视频数据和/或音频数据的源。源对等模块10.1被定位在网络11的最高逻辑级处。这些其他的对等模块可以充当用于组装成流的数据以及观察由该数据产生的视频图像的观察器对等模块。根据图2中所展示的网络11的示例性配置,该逻辑级直接低于源对等模块10.1的逻辑级包含观察器对等模块10.2,该观察器对等模块在下一个较低的逻辑级处具有两个下对等10.3和10.4。观察器对等模块10.3被展示为具有三个下对等10.5、11.6、以及10.7。对等模块10.4被展示为没有下对等。观察器对等模块10.5被展示为具有两个下对等10.8以及10.9。应指出的是网络11中的对等模块10都没有多于一个上对等。
作为示例性展示,对等10.5、10.6、以及10.7在图2中逻辑级N处所展示。对等模块10.5的两个下对等10.8以及10.9是在逻辑级N+1处,该逻辑级N+1是低于级N的一个逻辑级。对等10.5、10.6、以及10.7的上对等10.3是在逻辑级N-1处,该逻辑级N-1是高于级N的一个逻辑级,并且对等10.3的上对等10.2(被称为对等10.5的上上对等)是在逻辑级N-2处,该逻辑级N-2是高于级N-1的一个逻辑级且两个逻辑级高于级N。在这个示例性展示中,它也是一个在源对等10.1下面的逻辑级。尽管图2示出了多个对等的五个逻辑级,这仅是在此用于展示目的所示出的示例。在实际配置中,可能有更多或更少的对等的逻辑级。
如上所述,根据示例性实施例,如图2中所展示的,对等10根据网络11中其逻辑级来表征。每个对等模块10可以具有相关对等的两种类型,即,上对等以及下对等。每个对等10可以最多具有一个上对等、并且每个对等10可以具有的下对等的数量没有限制。源对等10.1是网络11中唯一的源、并且其逻辑上位于最高级处。所有其他的对等可以被称作观察器对等。
根据示例性实施例,每个对等具有两个特征。这些特征是逻辑级以及能力。如上所述,逻辑级是级到源对等10.1的距离。因此,直接在该源对等下面的这些对等是级1对等、并且直接连接在级1下面的这些对等是级2对等等等。能力是对可用上传带宽的一种量度。一个对等的能力可以根据带宽、往返时间(RTT)、下对等的现行号码、以及其他因素进行动态地调整。
根据示例性实施例,每个对等存储并维护两个列表以保持对其合作伙伴关系状态的记录,也就是说,其现有状态或其与网络11中其他对等10的潜在合作伙伴关系(即,连接到该网络中其他对等上)。这些列表中的一个被称作候选合作伙伴列表,该候选合作伙伴列表包括有资格与对等10进行合作伙伴的所有其他的对等10。该候选合作伙伴列表最初是由对等10从服务器13所请求的、并且是从服务器13上传到对等10。该候选合作伙伴列表使用结合图7如下详细所述的漫谈流程进行上传和维护。对等10所存储的其他列表是合作伙伴列表,该合作伙伴列表是连接在对等10上的当前合作伙伴对等10的一个列表。一旦一个候选对等10通过RUDP或TCP被连接到对等10上,该合作伙伴被添加到该合作伙伴列表中,并且也从该候选合作伙伴列表中被移除。然后,连接的对等10组对是彼此的合作伙伴、并且被列在彼此的合作伙伴列表上。连接在对等10上的合作伙伴可以是一个上对等、一个下对等、或同级(例如,级100至级100)或相似级(例如,级100至级95)的一个对等。由于其资源的局限性,比如存储资源,列表中该合作伙伴数量可以具有一个最大的限度。
图3包括根据一些示例性实施例的展示了用于指定网络上对等的逻辑级的过程30的一个示意性逻辑流程图。参见图3,在步骤32中,从一个下对等的角度来看,一个新观察器对等10联接网络11。在步骤34中,该新观察器对等的逻辑级被设置成网络11中的最低的逻辑级。在步骤36中,新观察器对等10为其候选合作伙伴列表向服务器13请求候选合作伙伴的一个列表。在步骤38中,服务器13根据新观察器对等10的IP地址近区以及新观察器对等10的能力向新观察器对等10发送一个候选合作伙伴列表。然后,在步骤40中,新观察器对等10将来自服务器13的列表保存至其候选合作伙伴列表。然后,在步骤42中,该对等尝试进行与这些候选合作伙伴的RUDP或TCP连接。然后,在步骤44中,如果与一个候选合作伙伴连接的试图成功了,则已连接的合作伙伴被保存至该对等的合作伙伴列表。
根据示例性实施例,当该对等创建与候选合作伙伴的RUDP或TCP连接时,当合作伙伴关系形成时,一个对等可以选择是其合作伙伴的一个下对等。一个对等也可以基于该合作伙伴的级以及能力请求成为其合作伙伴的一个上对等,但是这种请求可以被该合作伙伴拒绝,比如当该合作伙伴已经具有一个上对等时。一个对等与其合作伙伴交换信息。该信息包括程序块地图,其中程序块是将被成流或观察的一部分数据,例如视频数据或音频数据中的一个或多个帧,并且程序块地图是有关,例如所存储程序块的缺失、存在以及存储位置,的信息。在步骤46中,新观察器对等10等待其一个新合作伙伴成为一个上对等。当该新观察器对等具有一个上对等时,则在步骤48中,对等10的级被设置成一个低于该上对等的级的一个逻辑级。然后,在步骤50中,新观察器对等10等待接收媒体数据的一个或多个程序块。
在根据一些示例性实施例的一个替代和平行级指定过程中,当一个新观察器对等联接网络11时,服务器13将该新观察器对等的识别发送给其他选定的对等。然后,这些对等试图建立与该新观察器对等的连接/合作伙伴关系。
在上面详细描述的对等指定过程中,从该上对等的角度来看,当一个合作伙伴关系形成时,如果一个对等不是位于网络11的最低逻辑级,即该对等是其他某个对等的一个上对等,并且如果该对等具有足够的能力,该对等可以邀请具有最低逻辑网络级的其合作伙伴成为其下对等。受邀请的合作伙伴可以通过两种方式中的一种方式进行响应。如果该受邀请的合作伙伴没有一个上对等,其可以接受该邀请,或如果其已经具有一个上对等可以拒绝该邀请。
根据一些示例性实施例,对等10可以通过两种可能方式中的一种方式来更新其候选合作伙伴列表。该对等可以向服务器13请求新候选合作伙伴,如果对等10没有候选合作伙伴、或没有足够的候选合作伙伴,例如在一些具体的示例性实施例中对等10可以具有多达十个候选合作伙伴。可替代地,对等10可以使用结合图7如下详细所述的漫谈流程。
图4A和4B包括根据一些示例性实施例的展示了使用对等交换的网络维护的过程的示意性框图。参见图4A,展示了网络11A的一部分。对等P2是对等P0的一个下对等、并且是对等P6的一个上对等。在某些情况下,在网络11A的操作过程中,可以确定一个对等(例如图4A的对等P6)关于时间量具有比其上对等P2更好的能力,即可用带宽以及稳定性,该对等已经连接在网络11A上。利用这些对等统计,如果对等P6位于比对等P2更高的逻辑级处,将会增强网络功能。因此,为了解决这个问题,根据示例性实施例,一个对等(P6)可以在网络11A中与其上对等(P2)交换逻辑位置。这种交换的结果在图4B中所展示,该图展示了对等P2以及对等P6在网络11B中已交换的位置。如图4B中所示,除了该交换,所有其他的对等不受该交换的影响。因此,根据示例性实施例,更好的对等动态地升级到一个更高的逻辑级。
图5和图6是根据一些示例性实施例的展示了网络数据流程的示意图。具体地,图5包括根据示例性实施例的两个逻辑流程图,标记为(a)和(b),各自展示了本披露的源对等和观察器对等的基于推送的数据流程。图6包括根据示例性实施例的标记为(a)的展示了本披露的基于拉取的数据流程的一个逻辑流程图、以及标记为(b)的展示了一部分成流的视频/音频数据的一个示意图。
参见图5,如上所述,一个数据流被典型地分成多个媒体数据的程序块,即数据包。根据示例性实施例,数据流主要是通过推动数据程序块来完成。为了那个目的,根据图5(a)的源对等数据流,在步骤60中获得一个原始媒体程序块。在步骤62中该程序块被保存到该源对等的一个环形缓冲区。该环形缓冲区可以是结合图1以上详细展示和描述的存储器14和/或对等模块10的***设备电路16的一部分。然后,在步骤64中,该源对等将新获得的程序块发送给所有具有推送标记的其下对等。
参见图5(b),从任何观察器对等的角度来看,在步骤66中从该源对等接收数据的程序块。该观察器对等将该程序块保存到其自身的环形缓冲区用于步骤68中的稍后播放。然后,该观察器对等在步骤70中确定从该源对等所接收的该程序块是否伴随有一个推送标记。如果没有,则流程返回至步骤66,其中下一个程序块在等待。如果在步骤70中确定数据的程序块接收了一个推送标记,则除了被保存在该对等的环形缓冲区用于稍后播放外,该程序块还被转发至所有对等的下对等用于存储在其环形缓冲区中用于稍后播放、并且被推送到其下对等。这种向下推送至所有的下对等会继续,直到该程序块达到下对等的最后一个逻辑级时。
如上所述,该示例性实施例的数据流主要是由图5的这种推送数据流。根据示例性实施例,该推送数据流通过拉取来补充,其中推送不向合适的观察器对等提供所有所希望的数据程序块。当一个观察器对等检查其程序块地图并且确定一个程序块缺失时,该观察器对等可以向其合作伙伴请求缺失的程序块。这些对缺失程序块的请求被称作拉取请求。
图6(a)包括根据示例性实施例的展示了拉取请求处理的逻辑流程。根据示例性实施例,对于程序块的拉取请求的调度取决于这些合作伙伴的能力。具体地,在一些示例性实施例中,要求这些具有更好能力的合作伙伴第一个提供缺失的程序块。也就是说,要求合作伙伴按照能力降低的次序提供缺失的程序块。当一个合作伙伴接收到一个程序块请求,该合作伙伴检查其是否具有足够的能力处理该请求以及所请求的程序块是否在其环形缓冲区内。也就是说,在步骤92中接收来自一个合作伙伴观察器对等的一个程序块请求。在步骤94中,接收该请求的该合作伙伴在步骤94中检查其能力。如果其不具备足够的能力,则忽视步骤96中的该请求。在步骤98中,如果该合作伙伴具有足够的能力,则检查其是否在其环形缓冲区中具有所请求的程序块。如果没有,则该合作伙伴在步骤100中忽视该请求。如果该对等在其环形缓冲区中不具备所请求的程序块,则在步骤102中,该程序块被发送至没有推送标记的请求合作伙伴对等。
图6(b)包括根据示例性实施例的用于成流的数据的示例性部分的示意图。参见图6(b),应指出的是成流数据包括标识为10和13的程序块。此外,程序块11和12缺失。尝试将该数据成流用于播放的该观察器对等将需要处理两个拉取请求,一个对程序块11且另一个对程序块12。
结合图2如以上详细所述,根据示例性实施例,一个对等可以使用一个漫谈流程更新其候选合作伙伴。图7包括根据示例性实施例的展示了一个对等所使用的以更新其候选合作伙伴列表的漫谈流程110的示意性逻辑流程图。参见图7,在步骤112中,该对等,为了清楚描述的目的在此被称作对等A,向服务器13请求一个初始候选合作伙伴列表。作为示例性的展示,对等A接收该初始候选合作伙伴列表,该初始候选合作伙伴列表在步骤114中列出了合作伙伴1、2、3、4。在步骤116中,对等A将合作伙伴1、2、3、4保存到其候选合作伙伴的列表中。在步骤118中,对等A成功地与合作伙伴3连接。作为响应,在步骤120中,对等A将合作伙伴3从其候选合作伙伴的列表中移除、并且将合作伙伴3添加到其合作伙伴的列表。在步骤122中,对等A向新合作伙伴3请求其合作伙伴的列表。在步骤124中,新合作伙伴3将其合作伙伴的列表发送给对等A。作为示例性的展示,从合作伙伴3所接收的该合作伙伴的列表包括其合作伙伴5和合作伙伴6。在步骤126中,对等A更新其候选合作伙伴的列表以包括对等1、2、4、5、6。
根据示例性实施例,网络节点或对等故障、以及搅动可以得到补偿和恢复。如果一个对等的上对等离开了该网络,该对等将以两种方式中的一种方式处理这种情况。该对等可以向其上上对等请求一个新的上对等,因为该上上对等很可能通过结合图7以上详细描述的漫谈流程已经保存在候选合作伙伴的该对等的列表中。该对等还可以向其候选合作伙伴列表请求其他合作伙伴。如果这些方法均失败,则该对等将断开所有其下对等、并且将其自身设置为该网络中的最低级。
图8包括根据一些示例性实施例的展示了从对等故障或搅动中恢复过程130的逻辑流程的示意性逻辑流程图。参见图8,在步骤132中,该上对等离开该网络。在步骤134中,其上对等已经离开该网络的该对等检查其候选合作伙伴的列表。在步骤136中,做出了该列表是否包括该对等的上上对等的决定。如果包括,则在步骤138中,该对等请求该上上对等成为该对等的上对等。在步骤140中,如果该请求成功,则在步骤142中形成新网络,前上上对等成为该新上对等。如果在步骤136中确定该列表不包括该上上对等或在步骤140中确定向该上上对等的请求未成功,则在步骤144中,该对等要求形成该列表的其他合作伙伴成为其上对等。在步骤146中,做出了这些请求是否成功的决定。如果是,则在步骤142中形成这个新网络。如果不是,则该对等断开所有其下对等、并且将其自身设置为该网络中的最低逻辑级。
组合特征
已经在上面详细描述了本披露的各个特征。本披露覆盖任何以及所有在此描述特征的任何数量的组合,除非该描述具体地排除特征的组合。以下示例展示了在此根据本披露所设计和披露的特征的一些组合。
在任何一项在此详细描述和/或要求的实施例中,已连接的对等模块可以通过可靠用户数据报协议(RUDP)进行通信。
在任何一项在此详细描述和/或要求的实施例中,已连接的对等模块可以通过传输控制协议(TCP)进行通信。
在任何一项在此详细描述和/或要求的实施例中,每个对等模块可以存储有连接到该对等模块上用于通信的多个合作伙伴对等模块的一个列表、以及可以潜在地连接到该对等模块上的多个候选合作伙伴对等模块的一个列表。
在任何一项在此详细描述和/或要求的实施例中,每个观察器对等模块可以接收多个候选合作伙伴对等模块的一个初始列表。
在任何一项在此详细描述和/或要求的实施例中,与每个观察器对等模块相关联的该逻辑网络级可以由向该服务器请求的多个候选合作伙伴对等模块的该初始列表的该观察器对等模块所决定。
在任何一项在此详细描述和/或要求的实施例中,与每个观察器对等模块相关联的该逻辑网络级可以最初被设置成该网络中的一个最低逻辑级。
在任何一项在此详细描述和/或要求的实施例中,该观察器对等模块可以通过建立与至少另外一个对等模块进行通信创建其多个合作伙伴对等模块的列表。
在任何一项在此详细描述和/或要求的实施例中,该观察器对等模块的该逻辑网络级可以被设置成比与该观察器对等模块建立通信的上对等模块的该逻辑网络级再多一个。
在任何一项在此详细描述和/或要求的实施例中,该观察器对等模块可以被适配成用于请求与该观察器对等模块建立通信的具有足够能力的至少另外一个对等模块是一个下对等模块。
在任何一项在此详细描述和/或要求的实施例中,该观察器对等模块可以通过向与该观察器对等模块建立通信的至少另外一个对等模块请求多个合作伙伴对等模块的该列表更新其多个候选合作伙伴对等模块的列表。
在任何一项在此详细描述和/或要求的实施例中,与每个观察器对等模块相关联的该逻辑级基于一个当前的连接状态以及统计信息可以是动态可调整的。
在任何一项在此详细描述和/或要求的实施例中,每个观察器对等模块可以被适配成用于与该网络上的另一个观察器对等模块交换多个逻辑网络级。
在任何一项在此详细描述和/或要求的实施例中,每个观察器对等模块可以被适配成用于通过以下至少一种方式从一个上对等模块的损失中进行恢复:(i)建立与该损失的上对等模块的上对等模块进行通信,(ii)建立与多个候选合作伙伴对等模块的观察器对等模块列表上的另一个对等模块进行通信,并且(iii)断开其所有下对等模块且将其自身设置成该网络中的一个最低逻辑级。
在任何一项在此详细描述和/或要求的实施例中,该网络上的多个对等模块可以使用推送数据流和拉取数据流的一种组合进行通信。
参见其示例性实施例已经具体地示出和描述了本发明概念,本领域技术人员将理解其中可以在形式和细节上发生的各种改变,而不会脱离由以下权利要求书所限定的本发明概念的精神和范围。

Claims (30)

1.一种用于媒体流的对等(P2P)网络,包括多个连接在该网络上的对等模块,该多个对等模块,包括:
一个与该网络的一个最高逻辑级相关联的源对等模块,以及
多个观察器对等模块,每个观察器对等模块与一个逻辑网络级相关联,与每个观察器对等模块相关联的该逻辑网络级是一定量的逻辑网络级,使得该观察器对等模块逻辑上在该源对等模块的下面,其中该P2P网络被配置成使得每个观察器对等模块可以逻辑上在该观察器对等模块的上面被连接到仅仅一个上对等模块上,并且每个观察器对等模块可以逻辑上在该观察器对等模块的下面被连接到任何整数个下对等模块上。
2.如权利要求1所述的P2P网络,其中连接的多个对等模块通过可靠用户数据报协议(RUDP)进行通信。
3.如权利要求1所述的P2P网络,其中连接的多个对等模块通过传输控制协议(TCP)进行通信。
4.如权利要求1所述的P2P网络,其中每个对等模块存储有连接到该对等模块上用于通信的多个合作伙伴对等模块的一个列表、以及可以潜在地连接到该对等模块上的多个候选合作伙伴对等模块的一个列表。
5.如权利要求4所述的P2P网络,其中每个观察器对等模块从一个服务器接收多个候选合作伙伴对等模块的一个初始列表。
6.如权利要求5所述的P2P网络,其中与每个观察器对等模块相关联的该逻辑网络级是由向该服务器请求的多个候选合作伙伴对等模块的该初始列表的该观察器对等模块所决定。
7.如权利要求6所述的P2P网络,其中与每个观察器对等模块相关联的该逻辑网络级最初被设置成该网络中的一个最低逻辑级。
8.如权利要求7所述的P2P网络,其中该观察器对等模块通过建立与至少另外一个对等模块进行通信创建其多个合作伙伴对等模块的列表。
9.如权利要求8所述的P2P网络,其中该观察器对等模块的该逻辑网络级被设置成比与该观察器对等模块建立通信的上对等模块的该逻辑网络级再多一个。
10.如权利要求8所述的P2P网络,其中该观察器对等模块被适配成用于请求与该观察器对等模块建立通信的具有足够能力的至少另外一个对等模块是一个下对等模块。
11.如权利要求8所述的P2P网络,其中该观察器对等模块通过向与该观察器对等模块建立通信的至少另外一个对等模块请求多个合作伙伴对等模块的该列表更新其多个候选合作伙伴对等模块的列表。
12.如权利要求1所述的P2P网络,其中与每个观察器对等模块相关联的该逻辑级基于一个当前的连接状态以及统计信息是动态可调整的。
13.如权利要求1所述的P2P网络,其中每个观察器对等模块被适配成用于与该网络上的另一个观察器对等模块交换多个逻辑网络级。
14.如权利要求1所述的P2P网络,其中每个观察器对等模块被适配成用于通过以下至少一种方式从一个上对等模块的损失中进行恢复:(i)建立与该损失的上对等模块的上对等模块进行通信,(ii)建立与多个候选合作伙伴对等模块的观察器对等模块列表上的另一个对等模块进行通信,并且(iii)断开其所有下对等模块且将其自身设置成该网络中的一个最低逻辑级。
15.如权利要求1所述的P2P网络,其中该网络上的多个对等模块使用推送数据流和拉取数据流的一种组合进行通信。
16.一种用于对等(P2P)网络中的媒体流方法,具有连接在该网络上的多个对等模块,该方法包括:
将一个源对等模块连接在该网络上,该源对等模块与该网络的一个最高逻辑级相关联,并且
将多个观察器对等模块连接在该网络上,每个观察器对等模块与一个逻辑网络级相关联,与每个观察器对等模块相关联的该逻辑网络级是一定量的逻辑网络级,使得该观察器对等模块逻辑上在该源对等模块的下面;并且
将该P2P网络如此配置使得每个观察器对等模块可以逻辑上在该观察器对等模块的上面被连接到仅仅一个上对等模块上,并且每个观察器对等模块可以逻辑上在该观察器对等模块的下面被连接到任何整数个下对等模块上。
17.如权利要求16所述的方法,其中连接的多个对等模块通过可靠用户数据报协议(RUDP)进行通信。
18.如权利要求1所述的方法,其中连接的多个对等模块通过传输控制协议(TCP)进行通信。
19.如权利要求16所述的方法,其中每个对等模块存储有连接到该对等模块上用于通信的多个合作伙伴对等模块的一个列表、以及可以潜在地连接到该对等模块上的多个候选合作伙伴对等模块的一个列表。
20.如权利要求19所述的方法,其中每个观察器对等模块从一个服务器接收多个候选合作伙伴对等模块的一个初始列表。
21.如权利要求20所述的方法,其中与每个观察器对等模块相关联的该逻辑网络级是由向该服务器请求的多个候选合作伙伴对等模块的该初始列表的该观察器对等模块所决定。
22.如权利要求21所述的方法,其中与每个观察器对等模块相关联的该逻辑网络级最初被设置成该网络中的一个最低逻辑级。
23.如权利要求22所述方法,其中该观察器对等模块通过建立与至少另外一个对等模块进行通信创建其多个合作伙伴对等模块的列表。
24.如权利要求23所述的方法,其中该观察器对等模块的该逻辑网络级被设置成比与该观察器对等模块建立通信的上对等模块的该逻辑网络级再多一个。
25.如权利要求23所述的方法,其中该观察器对等模块被适配成用于请求与该观察器对等模块建立通信的具有足够能力的至少另外一个对等模块是一个下对等模块。
26.如权利要求23所述的方法,其中该观察器对等模块通过向与该观察器对等模块建立通信的至少另外一个对等模块请求多个合作伙伴对等模块的该列表更新其多个候选合作伙伴对等模块的列表。
27.如权利要求16所述的方法,其中与每个观察器对等模块相关联的该逻辑级基于一个当前的连接状态以及统计信息是动态可调整的。
28.如权利要求16所述的方法,其中每个观察器对等模块将多个逻辑网络级与该网络上的另一个观察器对等模块进行交换。
29.如权利要求16所述的方法,其中每个观察器对等模块通过以下至少一种方式从一个上对等模块的损失中进行恢复:(i)建立与该损失的上对等模块的上对等模块进行通信,(ii)建立与多个候选合作伙伴对等模块的观察器对等模块列表上的另一个对等模块进行通信,并且(iii)断开其所有下对等模块且将其自身设置为该网络中的一个最低逻辑级。
30.如权利要求16所述的方法,其中该网络上的多个对等模块使用推送数据流和拉取数据流的一种组合进行通信。
CN201410072033.7A 2013-02-27 2014-02-27 一种用于基于级的自动调整的对等媒体流的装置和方法 Active CN104010228B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/779,239 US9294563B2 (en) 2013-02-27 2013-02-27 Apparatus and method for level-based self-adjusting peer-to-peer media streaming
US13/779,239 2013-02-27

Publications (2)

Publication Number Publication Date
CN104010228A true CN104010228A (zh) 2014-08-27
CN104010228B CN104010228B (zh) 2017-09-12

Family

ID=51370698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410072033.7A Active CN104010228B (zh) 2013-02-27 2014-02-27 一种用于基于级的自动调整的对等媒体流的装置和方法

Country Status (4)

Country Link
US (1) US9294563B2 (zh)
CN (1) CN104010228B (zh)
HK (1) HK1197124A1 (zh)
TW (1) TWI530147B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258341B2 (en) * 2013-04-25 2016-02-09 Hive Streaming Ab Method and device for centralized peer arrangement in P2P overlay networks
US10305721B1 (en) * 2014-12-09 2019-05-28 Amazon Technologies, Inc. Content delivery using gossip protocols
US10148748B2 (en) * 2015-02-26 2018-12-04 Microsoft Technology Licensing, Llc Co-locating peer devices for peer matching
US10194275B2 (en) * 2015-03-06 2019-01-29 Omnitracs, Llc Inter-network messaging for mobile computing platforms
US10171429B2 (en) * 2015-06-12 2019-01-01 Arris Enterprises Llc Providing security to video frames
CN107948677B (zh) * 2016-10-13 2020-02-14 ***通信有限公司研究院 一种调度方法、服务器及第一对等节点
TWI646807B (zh) 2017-09-07 2019-01-01 宏碁股份有限公司 Rudp裝置及滑動窗參數的動態調整方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131044A1 (en) * 2002-01-04 2003-07-10 Gururaj Nagendra Multi-level ring peer-to-peer network structure for peer and object discovery
US20060174005A1 (en) * 2002-04-29 2006-08-03 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
CN101637007A (zh) * 2007-03-20 2010-01-27 汤姆森特许公司 分层结簇的p2p流***
CN101765071A (zh) * 2008-12-24 2010-06-30 卓望数码技术(深圳)有限公司 一种向无线数据通信终端上推送自适应数据的方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69735084T2 (de) * 1997-02-18 2006-08-31 Matsushita Electric Industrial Co., Ltd., Kadoma Leitwegumlenkungsverfahren in hierarchischen strukturierten Netzwerken
US6577653B1 (en) * 1999-04-28 2003-06-10 3Com Corporation Apparatus for and method of establishing a route utilizing multiple parallel segments in an asynchronous transfer mode network
US7363378B2 (en) * 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
EP2031816B1 (en) * 2007-08-29 2012-02-22 NTT DoCoMo, Inc. Optimal operation of hierarchical peer-to-peer networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131044A1 (en) * 2002-01-04 2003-07-10 Gururaj Nagendra Multi-level ring peer-to-peer network structure for peer and object discovery
US20060174005A1 (en) * 2002-04-29 2006-08-03 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
CN101637007A (zh) * 2007-03-20 2010-01-27 汤姆森特许公司 分层结簇的p2p流***
CN101765071A (zh) * 2008-12-24 2010-06-30 卓望数码技术(深圳)有限公司 一种向无线数据通信终端上推送自适应数据的方法和设备

Also Published As

Publication number Publication date
HK1197124A1 (zh) 2015-01-02
CN104010228B (zh) 2017-09-12
US20140244763A1 (en) 2014-08-28
TWI530147B (zh) 2016-04-11
TW201448545A (zh) 2014-12-16
US9294563B2 (en) 2016-03-22

Similar Documents

Publication Publication Date Title
CN104010228A (zh) 一种用于基于级的自动调整的对等媒体流的装置和方法
CN107566786B (zh) 一种获取监控视频的方法、装置及终端设备
US11249796B2 (en) Method and apparatus for enhanced assertion management in cloud media processing
CN105577801B (zh) 一种业务加速方法及装置
CN104246737A (zh) 在内容分发网络中使用视频流的连接池技术的***和方法
WO2018145376A1 (zh) 一种无线设备共享带宽的控制方法及***
CN103731487A (zh) 一种资源文件的下载方法、装置、***及路由器
WO2015120766A1 (zh) 一种视频优化***及方法
CN113220715A (zh) 一种数据处理方法、***、计算机及可读存储介质
EP4287591A1 (en) Data transmission method and apparatus, and server, storage medium and program product
US20190335012A1 (en) Systems and methods for determining a destination location for transmission of packetized data in a network system based on an application server attribute
CN106059936B (zh) 云***组播文件的方法及装置
JP2014514639A (ja) リアルタイム画像を送信するためのシステムおよび方法
US10044833B2 (en) Data processing method and apparatus used for terminal application
CN106686635B (zh) 基于无线接入点的控制和配置协议的数据传输方法和装置
EP3902279A1 (en) Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node
CN102802041B (zh) 支持多个实时动态数据源的智能流媒体服务器的实现方法
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及***
US20230396679A1 (en) Mixed peer-to-peer mesh and forwarding system
WO2024027288A1 (zh) 资源渲染方法、装置、设备、计算机可读存储介质及计算机程序产品
CN109831467B (zh) 数据传输方法、设备及***
JP2023031248A (ja) エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体
CN113132758B (zh) 内容分发网络的控制方法、装置及计算机程序产品
CN105230074B (zh) 视频缓存切换处理方法、装置和***
CN113347234A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1197124

Country of ref document: HK

CB02 Change of applicant information

Address after: American California

Applicant after: OmniVision Technologies, Inc.

Address before: American California

Applicant before: Full Vision Technology Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1197124

Country of ref document: HK