书签 分享 收藏 举报 版权申诉 / 33

点对点实时串流系统与方法.pdf

  • 上传人:大师****2
  • 文档编号:4301523
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:33
  • 大小:1,018.95KB
  • 摘要
    申请专利号:

    CN201010597241.0

    申请日:

    2010.12.10

    公开号:

    CN102469153A

    公开日:

    2012.05.23

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20101210|||公开

    IPC分类号:

    H04L29/08

    主分类号:

    H04L29/08

    申请人:

    财团法人工业技术研究院

    发明人:

    苗育本; 谢锡堃; 黄祖基; 魏全佑; 罗本文; 曾秉钧

    地址:

    中国台湾新竹县

    优先权:

    2010.11.04 TW 099137965

    专利代理机构:

    北京律诚同业知识产权代理有限公司 11006

    代理人:

    梁挥;祁建国

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了点对点实时串流系统与方法。一点对点网络中有一内容提供者以及多个节点。此多个节点的每一节点备有一点对点实时串流系统,其中,一标志管理者模块管理此多个节点传递的至少一标志、通知一记录发布者模块发布已记录像音串流内容的信息以及指挥一记录管理者模块记录串流信息。此记录发布者模块根据此标志管理者模块的通知,透过一点对点模块发布已记录像音串流内容的信息至此点对点网络中。此记录管理者模块管理每一节点各自相对应的一储存空间,并且根据此标志管理者模块的指挥,负责记录像音串流内容至每一节点相对应的储存空间。点对点模块处理此多个节点之间的点对点信息及维护此点对点网络的结构。

    权利要求书

    1: 一种点对点实时串流系统, 应用于一点对点网络中, 该点对点网络中有一内容提供 者以及收看同一实时串流频道的多个节点, 该多个节点的每一节点上备有该系统, 其特征 在于, 该系统包含 : 一标志管理者模块, 管理至少一标志 ; 一点对点模块, 处理该多个节点之间的点对点信息及维护该点对点网络的结构 ; 一记录发布者模块, 透过该点对点模块发布已记录像音串流内容的信息到该点对点网 络中 ; 以及 一记录管理者模块, 管理该节点的一储存空间, 并且根据该标志管理者模块的指挥, 负 责记录像音串流内容至该储存空间 ; 其中, 该标志管理者模块通知该记录发布者模块发布已记录像音串流内容的信息及指 挥该记录管理者模块记录串流数据。2: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 该多个节点的每一节点相 对应的该储存空间的大小是可调整的。3: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 当该多个节点的每一节点 相对应的该储存空间被填满时, 该储存空间内的旧数据会被新记录的影音串流内容更新。4: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 该多个节点的每一节点采 用该标志管理者模块, 并以一相同的处理方式来管理标志, 至少包括管理标志的加入、 删 除、 及错误复原处理。5: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 该标志管理者模块以时间 单位将该多个节点的每一节点所对应的该储存空间切割成多个区块, 来记录像音串流数 据, 并且透过标志传递来规范该多个节点的那些节点必须记录该被切割的多个区块的那些 区块中的部分影音串流内容。6: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 该标志管理者模块以一有 限状态机来描述该多个节点传递该至少一标志的处理流程。7: 如权利要求 1 所述的点对点实时串流系统, 其特征在于, 该多个节点的每一节点有 相对应的一上一节点及一下一节点, 而该多个节点传递的至少一标志中, 每一标志包括一 节点的上一节点记录实时串流的部分数据内容的一起始时间及一结束时间的信息。8: 如权利要求 5 所述的点对点实时串流系统, 其特征在于, 该储存空间中, 每一已储存 完部分影音串流数据的记录区间备有一标头, 来储存被记录的影音串流内容的频道信息与 时间信息。9: 如权利要求 8 所述的点对点实时串流系统, 其特征在于, 该记录发布者模块利用一 记录区间的标头里的频道信息与时间信息为键值, 藉由一分布式杂凑表来决定出那一节点 存有该记录区间里的影音串流数据的一节点清单。10: 如权利要求 9 所述的点对点实时串流系统, 其特征在于, 该节点清单至少包括该记 录区间所储存的影音串流数据的记录的起始时间与完成时间, 及该记录发布者模块相对应 的节点指针的信息。11: 一种点对点实时串流方法, 应用于一点对点网络上的实时串流系统, 其特征在于, 该方法包含 : 将收看同一实时串流频道的多个节点组成一点对点网络 ; 2 当该多个节点中的一节点在收看一实时串流时, 传递一标志, 该标志上备有记录该实 时串流的部分数据的时间信息 ; 收到该标志的节点依该标志上的时间信息, 将该实时串流上所指定的一时间区间的数 据记录于一储存空间后, 以该时间区间为一键值发布至该点对点网络 ; 以及 当该多个节点中的任一节点欲收看一时间点的实时串流时, 以该时间点为键值至该点 对点网络中, 取得拥有该时间点的串流数据的至少一节点的地址信息, 并向其中的一节点 下载该时间点对应的一时间区间内的串流数据。12: 如权利要求 11 所述的点对点实时串流方法, 其特征在于, 该多个节点采用同一种 杂凑函数对应, 加入于该实时串流频道, 而形成一个分布式杂凑表 - 网络, 并且每一节点有 一上一节点以及一下一节点。13: 如权利要求 11 所述的点对点实时串流方法, 其特征在于, 于该标志传递的路径中, 传递该标志的节点与收到该标志的节点之间是以一种握手方式来协议。14: 如权利要求 12 所述的点对点实时串流方法, 其特征在于, 该时间区间的数据记录 于该储存空间还包括 : 传递该标志的节点将该标志传递给其下一节点后, 持续记录目前影音串流内容至一相 对应的记录区间 ; 以及 待传递该标志的节点收到其下一节点的回复记录完成后, 传递该标志的节点则停止记 录该目前影音串流内容。15: 如权利要求 12 所述的点对点实时串流方法, 其特征在于, 以该时间区间为一键值 发布至该点对点网络还包括 : 透过一分布式杂凑表的对应, 及配合一算法来选择一记录节点, 传递该标志的节点将 其已储存影音串流内容的相关信息发布至该记录节点 ; 以及 该记录节点将该发布相关信息的节点及记录串流数据内容的一起始时间与一结束时 间记录于一节点清单。16: 如权利要求 15 所述的点对点实时串流方法, 其特征在于, 该节点清单是以下列方 式来产生 : 将一影音串流对应的一时间码作为该分布式杂凑表的一输入键值 ; 透过该分布式杂凑表找出一指标, 将该指标结合一对应表而产生存放该影音串流的节 点清单。17: 如权利要求 16 所述的点对点实时串流方法, 其特征在于, 该输入键值是由一频道 码与一时间码来决定。18: 如权利要求 12 所述的点对点实时串流方法, 其特征在于, 该错误复原处理至少包 括回复确收延迟和 / 或遗失情况, 以及标志延迟和 / 或遗失情况的处理。19: 如权利要求 9 所述的点对点实时串流方法, 其特征在于, 该串流数据的储存与管理 皆采用分布式管理方式。

    说明书


    点对点实时串流系统与方法

        【技术领域】
         本发明所属的技术领域是关于一点对点 (PEER-TO-PEER, P2P) 实时串流系统与方法。 背景技术
         现今网络频宽日渐提升, 对影音串流 (media streaming) 的质量也相对提升, 因此 也增加了影音服务器 (media server) 的频宽用量, 为减少影音服务器的频宽负担, 许多软 件也开始以 P2P 技术为发展方向, 常见的如 BitTorrent(BT) 类或是网状 (mesh) 网络等形 式。
         例如, 实时回放 (instant replay) 与时光回溯 (time-shifted) 播放 (playback) 的一篇专利公开文献 (US20070130597) 中, 提供一个多媒体内容传递服务器 (multimedia content delivery server) 来储存所有实时视频串流 (live video stream), 以便提供实 时回放 (instant replay) 的功能, 如同时光回溯 (time-shifted), 可以随时回放之前的画 面, 并且透过一中央控管机制, 终端藉由数字机顶盒 (set top box), 将时光回溯的时间点 回传到此中央控管机制的服务器, 然后此服务器再响应以相关的信息或数据。当终端使用 的人数增多时, 往往需要添购服务器与增加网络频宽, 来确保服务质量。
         专利文献 (US7,536,704) 公开了一种提供内容显示 (display of content) 与自 动停止与回复播放 (automatic pause and resume of playback) 技术。此技术可实施 于客户端设备 (client device) 和 / 或是前端 (ahead-end) 或是网络操作者端 (network operator)。 此技术根据事件型态 (type of event)、 源起者 (originator) 以及目前显示的 型态 (type of current display), 来对事件指定优先权 (priority), 以提供多样化的响应 等级 (variable response level), 此技术的缺点是需要维护中央控管的机制, 容易造成系 统瓶颈。
         在 专 利 文 献 (US2008/0133767) 实 时 群 播 点 对 点 视 频 串 流 平 台 (Real-Time multicast Peer to Peer video streaming platform) 中, 如 图 1 所 示, 100 提 供 一 种分布式储存实时串流的技术。内容提供者 102 利用一台连接至一公用网络 (public network)104 的 计 算 机 设 备, 并 且 希 望 储 存 于 其 高 速 缓 存 里 的 内 容 区 块 (chunks of content) 能分散给邻近的节点 (peer)108-114, 此内容例如来自一摄影机 106 或是其它数 据来源。内容提供者 102 与邻近的节点 108-114 在其各自的计算机设备上执行一软件或硬 件的串流代理 116, 来促使这些内容区块易于分散给其它节点。 这种架构需要一台服务器以 撷取或存放节目的所有数据, 如果节目是实时 (Live) 型态, 如此服务器的数据空间将会面 临不足的问题。 另一方面, 如果观众的数量越多, 服务器将会面临网络频宽不足而导致实时 节目的画面停格或不顺畅的问题。 其原因是此技术没有提到点对点之间相互协调负载平衡 (load balance) 的机制。
         另一篇专利文献 (US2006/0053209) 是公开一种可调整大小的媒体 (scalable media) 的 分 布 式 串 流 (distributed streaming) 技 术。 在 连 结 点 对 点 网 络 (coupledP2P networks) 上,节 点 串 流 器 (Peer Streamer) 可 以 提 供 一 种 接 收 器 驱 动 式 (receiver-driven) 的点对点影音串流, 其中提到有关节点清单 (peer lists) 可以采用分 布式杂凑表 (Distributed Hash Table, DHT) 来搜寻。此技术没有提及如何利用分布式杂 凑表的方法达到点对点之间相互协调负载平衡 (load balance) 的机制。
         在专利文献 (US20090119734) 一种时光回溯与实时点对点视频串流的分布式 快取方法与系统 (Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming) 中, 如 图 2 所 示, 视 频 来 源 (video source)210 经由一网络链接 (network link)221, 而连接至一封包传输网络 (packet transmission network)220, 客户 / 节点端 230 也经由各自的网络链接, 而连接至封包传输网络 220。 此分 布式快取系统 200 经由分布式快取在系统的点对点部份里共享的视频串流的部份, 来支持 实时与时光回溯的视频串流, 其中, 客户 / 节点端 230 的每一客户 / 节点 j, 1 ≤ j ≤ N, 需要 将本身的信息内容的可用性注册到一搜寻服务器 (search server)260, 串流来源的搜寻也 需与搜寻服务器 260 通信, 并使用一固定位率串流, 透过初始播放位置 (Initial Playback Position, IPP) 与实时 - 串流位置 (Live-Stream Position, LSP) 的视频快取策略 (video cache policy) 而取得较佳的搜寻效率。 此方法仍需维护一个或多个搜寻服务器, 且 IPP 或 LSP 仅将视频串流概分为两大类, 节点间无相互协调机制以达到负载平衡。 发明内容 本发明公开了一点对点 (Peer-to-Peer, P2P) 实时串流系统与方法实施范例。
         在一实施范例中, 公开一点对点实时串流系统, 应用于一点对点网络中, 此点对点 网络中有一内容提供者以及收看同一实时串流频道的多个节点, 此多个节点的每一节点上 备有此系统。此系统包含一标志管理者模块 (token manager module)、 一记录发布者模块 (recording publisher module)、 一记录管理者模块 (recording manager module) 以及一 点对点模块 (P2P module)。此标志管理者模块处理至少一标志、 通知此记录发布者模块发 布已记录像音串流内容的信息以及指挥此记录管理者模块记录串流数据。 此记录发布者模 块根据此标志管理者模块的通知, 透过此点对点模块发布已记录像音串流内容的信息至此 点对点网络中。此记录管理者模块管理此节点的一储存空间, 并且根据此标志管理者模块 的指挥, 负责记录像音串流内容至此储存空间。此点对点模块处理此多个节点之间的点对 点信息及维护此点对点网络的结构。
         在另一实施范例中, 公开一点对点实时串流方法, 应用于一点对点网络上的实时 串流系统。此方法包含 : 将收看同一实时串流频道的多个节点组成一点对点网络 ; 当此多 个节点中的一节点在收看一实时串流时, 传递一标志, 此标志上备有记录此实时串流的部 分数据的时间信息 ; 收到此标志的节点依此标志上的时间信息, 将此实时串流上所指定的 一时间区间的数据记录于一储存空间后, 以此时间区间为一键值发布至此点对点网络 ; 以 及当此多个节点中的任一节点欲收看一时间点的实时串流时, 以此时间点为键值至此点对 点网络中, 取得拥有此时间点的串流数据的至少一节点的地址信息, 并向其中的一节点下 载此时间点对应的一时间区间内的串流数据。
         兹配合下列附图标记、 实施范例的详细说明及权利要求书, 将上述及本发明的其 它目的与优点详述于后。
         附图说明
         图 1 是一种实时群播点对点视频串流平台的一个范例示意图 ; 图 2 是一种时光回溯与实时点对点视频串流的分布式快取方法的一个范例示意图; 图 3 是一种以分布式杂凑窗体 - 网络为基础的影音串流的一个范例示意图, 与所 公开的某些实施范例一致 ;
         图 4 是管理储存空间的一个范例示意图, 其中以图 3 的网络拓扑为例, 与所公开的 某些实施范例一致 ;
         图 5 是点对点实时串流系统的一个范例示意图, 与所公开的某些实施范例一致 ;
         图 6 以一状态示意图的范例来说明标志管理者模块处理多个节点的标志传递的 流程, 与所公开的某些实施范例一致 ;
         图 7 是一范例示意图, 说明标志传递时, 两节点之间的握手协议, 与所公开的某些 实施范例一致 ;
         图 8 是一范例流程图, 说明记录像音串流内容的流程, 与所公开的某些实施范例 一致 ;
         图 9 是一范例示意图, 说明节点如何在一点对点网络中发布 / 撷取节点清单, 与所 公开的某些实施范例一致 ;
         图 10 是一范例示意图, 说明如何将一影音串流发布至节点清单或从节点清单取 得此影音串流存放的节点, 与所公开的某些实施范例一致 ;
         图 11 是一范例示意图, 说明图 6 的有限状态机的持有标志状态, 与所公开的某些 实施范例一致 ;
         图 12 是一范例示意图, 说明图 6 的有限状态机的等待回复确收状态, 与所公开的 某些实施范例一致 ;
         图 13 是一范例示意图, 说明图 6 的有限状态机的等待下一标志状态, 与所公开的 某些实施范例一致 ;
         图 14 是一范例示意图, 说明标志管理的正常情况, 与所公开的某些实施范例一 致;
         图 15 是一范例示意图, 说明标志管理的回复确收延迟 / 遗失情况与所公开的某些 实施范例一致 ;
         图 16 是一范例示意图, 说明标志管理的标志延迟 / 遗失情况, 与所公开的某些实 施范例一致 ;
         图 17 是点对点实时串流系统的一个应用范例的示意图, 与所公开的某些实施范 例一致 ;
         图 18 是一范例流程图, 说明点对点实时串流方法, 与所公开的某些实施范例一 致。
         其中, 附图标记 :
         100 实时群播点对点视频串流平台 102 内容提供者
         104 公用网络 106 摄影机
         108-114 节点 116 串流代理 200 分布式快取系统 210 视频来源 220 封包传输网络 221 网络链接 230 客户 / 节点端 260 搜寻服务器 300 分布式杂凑窗体 - 网络 1-5 节点 310 来源端 410 一储存空间 420 标志 431 记录着实时的部分影音串流数据的记录区间 432、 433 记录着过去时段储存的部分影音串流数据的记录区间 432a、 433a 记录区间的标头 500 点对点实时串流系统 510 标志管理者模块 520 记录发布者模块 530 记录管理者模块 540 点对点模块 610 检查此节点是否为进入该频道的第一个节点 620 找到其它存在的节点 630 等到记录串流内容的时间 640 记录串流内容并传递标志给下一节点 650 ACK 延迟或遗失 660 发布已记录像音串流内容 670 收到下一标志 680 下一标志延迟或遗失 701、 702 时间区间 710 传递标志 720 回复确收此标志 730 回复记录完成 750 标志传递路径 805 记录目前影音串流内容的时间事件发生 810 开始记录目前影音串流内容至一相对应的记录区间 815 传递标志给下一节点 820 持续记录目前影音串流内容至该相对应的记录区间 825 收到下一节点的回复记录完成 830 停止记录像音串流内容 R1 ~ R5 节点指标 1010 时间码 1020 指标 1030 对应表 1040 节点清单 1100“持有标志” 状态 1101 回复确收标志给上一节点 1102 检查是否有其它存在的节点 1104 检查是否收到下一标志 1106 删除此下一标志 1108 检查记录串流内容的时间事件是否发生 1110 开始记录串流内容并传递标志给下一节点 1200“等待回复确收” 状态 1202 检查是否收到回复确收 1204 检查其计时器的时间是否到临 1206 检查串流内容完成记录的时间事件是否发生 1208 响应记录完成给此节点 1210 检查是否收到来自它的下一节点的记录完成的响应 1212 此节点发布已记录像音串流内容的信息并停止记录串流内容 1214 检查其计时器的时间是否到临1300“等待下一标志” 状态 1302 检查其计时器的时间是否已到临 1304 检查是否收到下一标志? 1410 节点 A 收到标志 1414 节点 A 传递标志 1422 节点 B 回复确收标志 1510 节点 A 传递标志 1522 节点 B 延迟 / 遗失回复确收标志 1524 节点 B 传递标志 1512 节点 A 再产生标志, 并再传递标志 1526 节点 B 再收到标志 1529 节点 B 再传递标志 1612 节点 A 再产生标志并再传递标志给 1620 节点 B 在收到标志 1624 节点 B 传递标志1412 1420 1424 1520节点 A 回复确收标志 节点 B 收到标志 节点 B 传递标志 节点 B 收到标志1528 节点 B 回复确收标志 1610 节点 A 传递标志 1622 节点 B 回复确收标志 1626 节点 B 收到延迟的标志1700 实时个人录像系统
         1810 将收看同一实时串流频道的多个节点组成一点对点网络
         1820 当此多个节点中的一节点在收看一实时串流时, 传递一标志, 此标志上备有 记录此实时串流的部分数据的时间信息
         1830 收到此标志的节点依此标志上的时间信息, 将此实时串流上所指定的一时 间区间的数据记录于一储存空间后, 以此时间区间为一键值发布至此点对点网络
         1840 当此多个节点中的任一节点欲收看一时间点的实时串流时, 以此时间点为 键值至此点对点网络中, 取得拥有此时间点的串流数据的至少一节点的地址信息, 并向其 中的一节点下载此时间点对应的一时间区间内的串流数据 具体实施方式
         本发明公开公开一记录点对点网络里实时串流 (live streaming) 内容的机制实 施范例。此机制不仅考虑如何保持网络频宽的负载平衡, 也提供一种分布式管理方式来减 少点对点网络中的资源耗损, 例如服务器的添购或是储存空间的增加。
         图 3 是一种以分布式杂凑表 - 网络 (DHT-Network) 为基础的影音串流的一个范 例示意图, 与本发明所公开的某些实施范例一致。图 3 的范例中, 以五个节点 (Peer 为 例, 五个圆圈代表节点 1 至节点 5, 此五节点采用同一种杂凑函数对应, 加入 (join in) 于同一实时串流频道, 而形成一个 DHT- 网络 300, 其中箭头代表影音串流。媒体从一来 源端 (source)310 串流至各个节点。DHT- 网络 300 的形状可以是环状、 或是线状、 树状、 或是多维, 此范例为环状。每一节点有各自的节点识别码 (Node ID), 并且有上一节点 (predecessor node) 以及下一节点 (successor node)。以节点 2 为例, 有上一节点 1 以及 下一节点 3。
         在 一 实 施 范 例 中, 将 所 有 收 看 同 一 实 时 串 流 (live streaming) 频 道 的 节 点 (Peer) 组成一点对点网络, 以此点对点网络为点对点网络建构方式, 进行实时串流分享以及提供实时串流时光回溯功能。当一节点在收看一实时串流时, 传递一标志 (token), 收 到此标志的节点将依照此标志上的时间信息, 记录此实时串流上所指定的时间区间 (time slot) 的数据到一储存装置的一储存空间 (buffer)。储存完成后, 以此时间区间为键值 (key) 发布至此点对点网络中。当一节点欲执行串流时光回溯时, 例如欲收看某一时间 点的实时串流时, 则以此时间点为键值, 至此点对点网络中取得拥有该时间点数据的节点 地址信息, 然后向该节点下载该时间点的记录区间 (recorded slot) 内的串流数据内容 (content of stream data)。
         此点对点网络中有一影音串流的内容提供者以及收看同一实时串流频道的多个 节点, 此多个节点的每一节点上可备有一点对点实时串流系统。针对标志 (token) 的处理 方式, 每一节点包含相同的管理模块, 例如采用一致的标志管理者模块, 如此可以将系统架 构简化, 而且不需要使用额外的模块来支持标志的处理。此标志管理者模块会指示系统里 的一记录管理者模块, 何时储存影音串流内容。 一旦储存完毕, 就会交给系统里的一记录发 布者模块, 来发布已记录此影音串流内容。系统里的记录发布者模块可以透过一点对点模 块, 来发布已记录像音串流内容的信息于点对点网络上, 让此点对点网络中的记录撷取者 模块 (recording retriever module) 可读取此影音串流内容。而传递的标志也会在各节 点间流通。 如前述所述, 影音串流内容会储存到一储存装置的一储存空间。此储存装置例如 是随机存取储存 (Random Access Memory, RAM)、 或是软 / 硬盘 (disk)、 或是其它储存设备。 在本发明公开的一实施范例中, 系统里的记录管理者模块也需具备储存此影音串流内容的 储存空间的管理功能。
         图 4 是管理储存空间 (buffer management) 的一个范例示意图, 其中以图 3 的 DHT 网络拓扑 (network topology) 为例, 与本发明所公开的某些实施范例一致。 图 4 的范例中, 在 DHT 网络 300 上, 节点 1 至节点 5 收看同一频道, 假设节点 2 在收看一实时串流时, 传递 一标志 420 给节点 3, 标志 420 会在各节点间传递。每一节点保留各自的一储存空间 410。 在本发明的一实施例中, 每一节点的储存空间 410 的大小是可调整的, 例如可根据节点的 储存设备容量大小的条件限制来调整。 系统里的记录管理者模块以时间单位将每一节点所 对应的一储存空间 410 切割成多个区块 (chunk), 来记录像音串流数据, 包括实时的 (live) 部分影音串流数据与过去储存的部分影音串流数据, 其中储存部分影音串流数据的每一区 块称为一记录区间。储存空间 410 中, 每一已储存完部分影音串流数据的记录区间备有一 标头 (chunk header) 来储存被记录的影音串流内容的频道信息与时间信息。以节点 3 为 例, 有三个记录区间, 其中记录区间 431 记录着实时的部分影音串流数据 ; 而记录区间 432 与 433 皆记录着过去时段储存的部分影音串流数据, 且分别备有标头 432a 与 433a。 例如标 头 432a, 储存某一过去时段记录的部分影音串流的时间信息。
         由于每一串流对应一时间码 (time code), 所以将记录区间以串流上的时间码与 频道码为键值, 算出其杂凑值 (hash value) 并存放于 DHT 网络 300 上。以串流上的时间码 为识别码与频道码算出其杂凑值, 来搜寻 DHT 网络 300。
         系统里的记录管理者模块可利用重复的记录区间 (redundant slots) 做为节点失 败复原 (node failure recovery) 之用。标志上的信息 (Token information) 可包含一节 点的上一节点记录实时串流的部分数据内容的起始时间与结束时间。 记录串流数据内容的
         最小时间单位为一固定长度的时间, 例如 5 秒 (second)。记录发布者模块可以利用一记录 区间的标头里的频道信息与时间信息为键值, 藉由 DHT 来决定出是那一节点存有此记录区 间里的影音串流数据的一节点清单 (peer lists)。
         承上述, 在一实施范例中, 收看同一实时串流频道的多个节点的每一节点上可备 有一点对点实时串流系统。如图 5 的范例所示, 每一节点上的点对点实时串流系统 500 可 包含一标志管理者模块 510、 一记录发布者模块 520、 一记录管理者模块 530、 以及一点对点 模块 540。 标志管理者模块 510 管理至少一标志、 通知记录发布者模块 520 发布已记录像音 串流内容的信息、 以及指挥记录管理者模块 530 记录串流内容。记录发布者模块 520 根据 标志管理者模块 510 的通知, 透过点对点模块 540 发布已记录像音串流内容的信息到由此 多个节点组成的一点对点网络中。记录管理者模块 530 管理此节点的一储存空间, 并且根 据标志管理者模块 510 的指挥, 负责记录像音串流内容至此储存空间。点对点模块 540 处 理此多个节点之间的点对点信息及维护此多个节点的点对点网络结构。
         图 6 以一有限状态机 (finite state machine) 的范例示意图来说明标志管理者 模块 510 处理此多个节点的标志传递的流程, 与本发明的某些实施范例一致。 图 6 的状态示 意图的范例中, 共有五个状态, 即加入频道 (join channel)、 产生标志 (create token)、 持 有标志 (hold token)、 等待回复确收 (wait for ACK)、 以及等待下一标志 (wait for next token)。当一节点加入一个实时视频串流频道时, 此节点即进入 “加入频道” 状态。标志管 理者模块 510 会检查此节点是否为进入该频道的第一个节点, 如标号 610 所示。是的话, 此 节点则产生一标志, 即处于 “产生标志” 状态 ; 否则, 此节点进入 “等待下一标志” 状态。
         产生标志后, 此节点进入 “持有标志” 状态, 待找到其它存在的节点 ( 如标号 620 所示 ) 及等到记录串流内容的时间 ( 如标号 630 所示 ) 到达后, 则此节点记录串流内容并 传递标志给下一节点 ( 如标号 640 所示 ), 然后此节点进入 “等待回复确收” 状态。在此节 点收到下一节点传送的回复确收之前, 如果此回复确收 (ACK) 延迟 (delay) 或遗失 (loss) ( 如标号 650 所示 ), 则此节点进入 “产生标志” 状态, 也就是说, 此节点必须重复之前的流 程, 以重新传递一个新标志。 所以, 标志管理者模块可采用一有限状态机来描述此多个节点 的标志传递的处理流程。
         假设此节点为节点 A, 下一节点为节点 B, 请一并参考图 7 于标志传递路径 (token delivery path)750 中, 此两节点之间握手 (handshake) 协议的范例示意图。图 7 的范例 中, 节点 A 在时间区间 701 内传递标志给节点 B, 以箭头 710 表示。节点 B 收到此标志后, 在 时间区间 701 内向节点 A 回复确收此标志, 以箭头 720 表示。节点 B 记录完串流内容后, 向 节点 A 回复记录完成, 以箭头 730 表示。
         待节点 A 收到节点 B 的回复记录完成后, 标志管理者模块 510 会通知节点 A 发布 已记录像音串流内容的信息, 如图 6 所示, 节点 A 则停止记录像音串流内容, 然后发布已记 录像音串流内容的信息 ( 如标号 660 所示 ), 然后节点 A 进入 “等待下一标志” 状态。节点 A 收到此下一标志 ( 如标号 670 所示 ) 后, 进入 “持有标志” 状态。在节点 A 收到下一标志 之前, 如果此下一标志延迟或遗失 ( 如标号 680 所示 ), 则节点 A 进入 “产生标志” 状态, 也 就是说, 节点 A 必须重复之前的流程。
         承上述, 图 8 是一范例流程图, 说明记录像音串流内容的流程, 与本发明的某些实 施范例一致, 其中以前述节点 A 和节点 B 为范例来说明。参考图 8, 节点 A 进入 “持有标志”状态后, 一旦记录目前影音串流内容的时间事件发生 ( 以标号 805 表示 ), 例如检测到目前 影音串流所对应的时间码已经到达所持有的标志上的记录的起始时间, 则节点 A 开始记录 目前影音串流内容至一相对应的记录区间, 如步骤 810 所示。并且节点 A 传递标志给下一 节点 B( 以标号 815 表示 ), 节点 A 传递标志后, 持续记录目前影音串流内容至该相对应的记 录区间, 如步骤 820 所示。待节点 A 收到下一节点 B 的回复记录完成 ( 以标号 825 表示 ) 后, 节点 A 则停止记录像音串流内容, 如步骤 830 所示。
         节点 A 传递标志给节点 B 前, 会先修改此标志的时间信息再将此标志传递给节点 B。而节点 B 收到节点 A 传递的标志后, 同样地, 节点 B 等到记录目前影音串流内容的时间 事件发生时, 开始记录目前影音串流内容至一相对应的记录区间, 直到完成记录目前影音 串流内容至其相对应的记录区间为止, 然后向节点 A 回复记录完成。依此, 节点持续储存串 流数据直到收到下一节点的回复记录完成为止。 如此, 就可以产生重复的记录区间, 来降低 影音串流区块遗失的可能性, 以利节点失败复原 (node failure recovery)。
         在本发明的一实施例中, 采用标志分散管理方式, 也就是说, 同一点对点网络中每 一节点采用同一标志管理者模块 510, 以一致的处理方式来管理标志, 包括如管理标志的加 入 (addition)、 删除 (deletion)、 例外的 (exception) 处理等, 例外的处理例如是标志被延 迟或遗失等的错误复原处理 (error recovery handling), 如此可以简化系统架构, 并且不 需要藉由额外的模块来支持标志的处理。透过标志管理者模块 510 的指挥, 标志上的记录 的起始时间会指示系统中的记录管理者模块 530 何时储存影音串流内容至节点各自相对 应的储存空间, 当节点相对应的储存空间已经被填满 (full) 时, 此储存空间内的旧数据会 被新记录 (new record) 的影音串流内容更新 (updated)。 一旦节点将部分影音串流内容储 存完毕, 就会交给记录发布者模块处理。 标志会在各节点之间流通, 而标志上的信息载有上 一节点记录部分影音串流内容的起始时间与结束时间。换句话说, 标志管理者模块 510 透 过标志传递来规范在同一点对点网络中多个节点的那些节点必须记录被切割的多个区块 的那些区块中的部分影音串流内容。
         图 9 是一范例示意图, 说明节点如何在一点对点网络中发布 / 撷取节点清单的流 程, 与所公开的某些实施范例一致。在图 9 的范例中, 一点对点网络中有五个节点, 其节点 指标 (node index) 分别为 R1 ~ R5。根据圆圈标记 1 的顺序与流向 ( 以实线箭头表示 ), 节点 R3 先将其已储存影音串流内容的相关信息发布至一节点 R5。节点 R5 将节点 R3 的 IP 地址信息及记录串流数据内容的起始时间与结束时间记录于一节点清单 (peer list)。节 点 R5 的选择是透过一 DHT 及配合点对点模块 540 所采用的一算法来决定。此 DHT 的键值 是由频道码与时间码 (time code) 来决定, 而时间码的值是隐含在影音格式内, 例如可选 择 MPEG II 的影音格式。根据圆圈标记 2 与 3 的顺序与流向 ( 以虚线箭头表示 ), 节点 R4 也是透过相同的 DHT 寻址出, 再透过点对点模块 540 找到正确的记录节点 ( 即节点 R5), 并 将节点 R5 记录的节点清单传回此发出撷取要求的节点 R4。根据圆圈标记 4 的顺序与流向 ( 以虚线箭头表示 ), 节点 R4 再根据此回传的节点清单里的信息, 找到影音串流内容存放的 正确位置, 即节点 R3, 并从节点 R3 取得所要求的影音串流内容。
         图 10 是一范例示意图, 说明如何将一影音串流发布至节点清单或从节点清单取 得此影音串流存放的节点, 与本发明的某些实施范例一致。 参考图 10, 由于每一影音串流对 应一时间码, 所以将一影音串流对应的时间码 1010 作为同一分布式杂凑表 (DHT) 的输入键值, 透过此 DHT, 找出一指标 1020, 指标 1020 结合一对应表 (mapping table), 例如对应表 1030, 就是存放此影音串流的节点清单 1040。从节点清单 1040 的内容里, 就可得知从那些 节点可取得所要求的影音串流内容。对应表 1030 的每一列里记录的信息至少包括影音串 流的记录的起始时间与完成时间, 及其相对应的节点指标 ; 例如, 对应表 1030 的一列里的 信息为节点指针 R3( 即记录发布者模块 ) 的记录像音串流的起始时间 S1 与完成时间 E1。
         图 11、 图 12 及图 13 分别说明图 6 的有限状态机的持有标志状态、 等待回复确收状 态、 及等待下一标志状态, 与所公开的某些实施范例一致。
         参考图 11 的范例, 一节点可从 “产生标志” 状态进入 “持有标志” 状态 1100, 也可从 “等待下一标志” 状态进入 “持有标志” 状态 1100。当一节点从 “产生标志” 状态进入 “持有 标志” 状态 1100, 在 “持有标志” 状态 1100 中, 先检查是否有其它存在的节点 ( 步骤 1102)。 若此节点是从 “等待下一标志” 状态进入 “持有标志” 状态 1100, 则此节点并会先收到此下 一标志 ( 以标号 1120 表示 ) 后, 再进入 “持有标志” 状态 1100, 并且会先回复确收标志给上 一节点 ( 步骤 1101), 再进行步骤 1102。
         若没有其它存在的节点时, 则持续步骤 1102, 直到有其它存在的节点。然后, 此节 点检查是否收到下一标志 ( 步骤 1104), 是的话, 此节点删除此下一标志 ( 步骤 1106) 及检 查记录串流内容的时间事件是否发生 ( 步骤 1108), 当此节点没有收到下一标志时, 此节点 进行步骤 1108。若记录串流内容的时间事件未发生, 则此节点返回步骤 1102。当记录串流 内容的时间事件发生时, 此节点开始记录串流内容并传递标志给下一节点 ( 步骤 1110), 然 后此节点进入 “等待回复确收” 状态。 参考图 12 的范例, 一节点可从 “持有标志” 状态进入 “等待回复确收” 状态 1200, 然后从 “等待回复确收” 状态 1200 进入 “等待下一标志” 状态或是 “产生标志” 状态。当此 节点进入 “等待回复确收” 状态 1200, 先检查是否收到回复确收 ( 步骤 1202)。若收到回复 确收, 此节点检查串流内容完成记录的时间事件是否发生 ( 步骤 1206)。若未收到回复确 收, 则此节点检查其计时器的时间是否到临 ( 步骤 1204), 若未到临, 则持续进行步骤 1202, 直到此节点的计时器的时间到临为止, 然后此节点进入 “产生标志” 状态。
         若串流内容完成记录的时间事件尚未发生, 则持续进行步骤 1206, 直到发生串流 内容完成记录的时间事件, 然后响应记录完成给上一节点 ( 步骤 1208)。此节点检查是否 收到来自它的下一节点的记录完成的响应 ( 步骤 1210), 是的话, 此节点发布已记录像音串 流内容的信息并停止记录串流内容 ( 步骤 1212), 然后进入 “等待下一标志” 状态。若此节 点没有收到来自它的下一节点的记录完成的响应, 此节点检查其计时器的时间是否已到临 ( 步骤 1214), 是的话, 此节点进入 “产生标志” 状态, 否则返回步骤 1210。
         参考图 13 的范例, 一节点可从 “等待回复确收” 状态进入 “等待下一标志” 状态 1300, 然后从 “等待下一标志” 状态 1300 进入 “持有标志” 状态或是 “产生标志” 状态。当此 节点进入 “等待下一标志” 状态 1300, 先检查其计时器的时间是否已到临 ( 步骤 1302), 是 的话, 此节点进入 “产生标志” 状态 ; 不是的话, 此节点检查是否收到下一标志 ( 步骤 1304)。 收到下一标志的话, 此节点进入 “持有标志” 状态 ; 否则, 此节点返回步骤 1302。
         图 14、 图 15、 及图 16 分别说明标志管理的三种情况, 分别为正常情况、 回复确收延 迟 / 遗失情况、 及标志延迟 / 遗失情况, 其中圆圈代表标志, 同一图案的圆圈代表同一标志, 虚线圆圈代表回复确收标志, 与本发明所公开的某些实施范例一致。
         参考图 14 的正常情况的范例, 节点 A 在其时间区间 C1 收到标志 ( 如标号 1410 所 示 ) 后, 回复确收标志 ( 如标号 1412 所示 ) 给上一节点, 再传递标志 ( 如标号 1414 所示 ) 给下一节点 B。然后, 节点 A 在其时间区间 C2 与 C3 记录像音串流内容。节点 B 在其时间区 间 C1 收到标志 ( 如标号 1420 所示 ) 后, 在其时间区间 C2 回复确收标志给上一节点 A( 如 标号 1422 所示 ), 再传递标志给其下一节点 ( 如标号 1424 所示 )。然后, 节点 B 在其时间 区间 C3 与 C4 记录像音串流内容。
         参考图 15 的回复确收延迟 / 遗失情况的范例, 节点 A 在其时间区间 C2 传递标志 ( 如标号 1510 所示 ) 给下一节点 B。节点 B 在其时间区间 C1 收到此标志 ( 如标号 1520 所 示 ) 后, 但在其时间区间 C2 延迟 / 遗失给上一节点 A 的回复确收标志 ( 如标号 1522 所示 ), 并传递标志给其下一节点 ( 如标号 1524 所示 )。根据之前所述, 当节点 A 的计时器的时间 到临时, 节点 A 在其时间区间 C4 再产生标志, 并再传递标志给下一节点 B( 如标号 1512 所 示 )。 也就是说, 如果回复确收标志被延迟或遗失, 则上一节点 A 的计时器的时间会到临, 表 示发生延迟或遗失事件, 而上一节点 A 会再产生标志, 并重传标志。
         然后, 节点 B 在其时间区间 C3 再收到标志 ( 如标号 1526 所示 ) 后, 在其时间区 间 C3 回复确收标志给上一节点 A( 如标号 1528 所示 ), 再传递标志给其下一节点 ( 如标号 1529 所示 )。然后, 节点 B 在其时间区间 C4 与 C5 记录像音串流内容。而节点 A 延长记录 像音串流内容的时间区间至其时间区间 C4。 参考图 16 的标志延迟 / 遗失情况的范例, 节点 A 在其时间区间 C2 传递标志给下 一节点 B( 如标号 1610 所示 )。但节点 B 在其时间区间 C1 与 C2 都没有收到标志。根据之 前所述, 当节点 A 的计时器的时间到临时, 节点 A 在其时间区间 C4 再产生标志, 并再传递标 志给下一节点 B( 如标号 1612 所示 )。也就是说, 一旦超过标志被传送的时间, 则上一节点 A 的计时器的时间会到临, 表示发生标志失败事件, 则上一节点 A 会再产生标志, 并重传标 志。如果在一定时间内, 节点 B 收到多个重复的标志则节点 B 会将重复的标志删除, 来控制 标志的成长, 以避免太多的标志传递。
         然后, 节点 B 在其时间区间 C3 收到标志 ( 如标号 1620 所示 ) 后, 在其时间区间 C3 回复确收标志给上一节点 A( 如标号 1622 所示 ), 并传递标志给其下一节点 ( 如标号 1624 所示 )。若节点 B 在同一时间区间 C3 又收到节点 A 上次延迟的标志 ( 如标号 1626 所示 ), 则节点 B 将此延迟的标志视为重复并回收。然后, 节点 B 在其时间区间 C4 与 C5 记录像音 串流内容。而节点 A 记录像音串流内容的时间区间也延长至其时间区间 C4。
         从图 14、 图 15、 及图 16 可以窥知, 本发明所公开的一实施例中, 标志管理无论 在正常情况下或在异常情况下, 都可发送多个标志以记录重复的数据, 如此可降低影 音串流区块遗失的可能性。并且, 本发明的一实施例中, 标志管理还可兼顾多个标志 的产生 (generation) 与抑制 (suppression), 一方面加强实时影音串流服务的可靠度 (reliability), 另一方面也使每一节点记录像音串流内容所使用的储存空间达到最佳化。
         承前述有限状态机的各状态的描述、 标志传递的流程、 及点对点实时串流系统 500 的各模块的运作, 皆说明了标志会在点对点 - 拓扑网络上的各节点间流通。也就是说, 本发 明的一实施范例, 针对标志或是所有影音串流数据的储存可采用分布式管理。图 17 是点对 点实时串流系统的一个应用范例的示意图, 与所公开的某些实施范例一致。
         图 17 的应用范例是一实时 (live) 个人录像 (personal video recording, PVR) 系
         统 1700。个人录像系统 1700 中, 每一节点包含相同的标志分散管理 (token distribution management) 模块, 针对标志的处理方式一致。每一节点有各自的储存空间, 例如是随机存 取储存、 或是软 / 硬盘等, 来储存影音串流内容。当节点是一记录发布者 / 撷取者模块时, 储存影音串流内容的信息会公布于一节点清单, 或从一节点清单可取得储存此影音串流内 容的节点地址信息, 此节点清单可储存于一随机存取储存、 或是软 / 硬盘、 或是其它的储存 装置。实时个人录像系统 1700 中的所有节点形成一点对点网络。
         换句话说, 实时个人录像系统 1700 中, 内建储存媒体 ( 储存空间储存影音串流内 容 ), 采用标志分散管理, 每一节目各自形成一点对点网络, 每一节点各自拥有一标志管理 者模块与一点对点模块。当观赏者欲收看某一时间点的实时串流时, 必须先加入点对点网 络, 然后以该时间点为键值至此点对点网络中取得拥有该时间点数据的节点地址信息, 并 向该节点下载时间点区间内的串流数据。如此, 观赏者可以自由安排收视时间。实时个人 录像系统 1700 还可包括一文件管理模块, 依据过去观看节目的记录建立使用者偏好文件, 也可根据使用者对节目的偏好设定自动录像。
         承上述, 以图 18 的范例流程图, 来说明本发明的点对点实时串流方法一实施例, 与所公开的某些实施范例一致。图 18 的范例中, 将收看同一实时串流频道的多个节点组成 一点对点网络, 如步骤 1810 所示。当此多个节点中的一节点在收看一实时串流时, 传递一 标志, 此标志上备有记录此实时串流的部分数据的时间信息, 如步骤 1820 所示。收到此标 志的节点依此标志上的时间信息, 将此实时串流上所指定的一时间区间的数据记录于一储 存空间后, 以此时间区间为一键值发布至此点对点网络, 如步骤 1830 所示。当此多个节点 中的任一节点欲收看一时间点的实时串流时, 以此时间点为键值至此点对点网络中, 取得 拥有此时间点的串流数据的至少一节点的地址信息, 并向其中的一节点下载此时间点对应 的一时间区间内的串流数据, 如步骤 1840 所示。
         步骤 1810 中, 此多个节点采用同一种杂凑函数对应, 加入于同一实时串流频道, 而形成一个 DHT- 网络, 并且每一节点可以有一上一节点以及一下一节点, 如图 7 的范例。 步骤 1820 中, 于标志传递的路径中, 传递与收到此标志的节点之间是以一种握手方式来协 议, 如图 3 的范例。每一节点采用同一分布式管理方式来管理标志, 至少包括管理标志的加 入、 删除、 及错误复原处理, 如前述所载, 不再重述。标志管理的三种情况 ( 正常情况、 回复 确收延迟 / 遗失情况、 及标志延迟 / 遗失情况 ) 如图 14、 图 15 及图 16 的范例说明。
         步骤 1830 中, 储存空间的管理, 如图 4 的范例说明 ; 记录像音串流内容的流程, 如 图 8 的范例说明。而如何在点对点网络中发布串流数据如图 9 的范例说明, 可透过一分布 式杂凑表的对应, 及配合一算法来选择一记录节点, 传递标志的节点将其已储存影音串流 内容的相关信息发布至此记录节点 ; 然后, 此记录节点将发布相关信息的节点及记录串流 数据内容的一起始时间与一结束时间记录于一节点清单。 如何从节点清单取得此影音串流 存放的节点如图 10 的范例说明, 不再重述。
         综上所述, 本发明公开了一记录实时串流内容的机制实施范例, 架构于点对点的 网络拓扑。在本公开的一实施范例中, 可将所有收看同一实时串流频道的节点组成一点对 点网络, 以此点对点网络为点对点网络建构方式, 进行实时串流分享以及提供实时串流时 光回溯功能。此点对点实时串流技术能支持多种装置或系统, 例如个人计算机 (PC)、 服务 器、 移动装置 (mobile device)、 个人数字助理 (Personal Digital Assistant, PDA)、 个人录像系统等。
         以上所述者仅为公开的实施范例, 当不能依此限定本发明实施的范围。即大凡本 发明的权利要求书保护范围所作的均等变化与修改, 皆应仍属本发明专利保护范围涵盖的 范围。

    关 键  词:
    点对点 实时 串流 系统 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:点对点实时串流系统与方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4301523.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1