1. 续读《概要设计》general conference high level design
Q:文档共享:收到页面数据后,我们需要保存 。。。。。。-> where to save ?
Q:电子白板是一种特殊文档共享,文档就是一个空页面,如何理解?上面的Annotation是完全不同的东东,对吧?
Q:以下陈述:收到块消息什么意思?3个具有公有地址的Client什么东东?
但用户在做文档共享或流媒体共享的时候, 发送方需要把文档按块传到SERVER端, 同时发送方还可以对每快选择小于3个的具有公有地址的CLIENT发送. 对于文档共享, 一页作为一块, 而对于流媒体共享,则根据流媒体播发速率选择块的大小. 而对于文件共享, 以每块64K作为固定大小.
与会者收到文档和块消息的时候, 会向SERVER请求, 请求里包括了4个优先级: 紧急, 高,中,低, 对于文档共享, 当前页的优先级为紧急, 而对于流媒体共享,当前播放的块优先级为紧急, 文件共享没有紧急的优先级.
Q:以下陈述基本不知所云
当ROOT SERVER收到 发送方的数据的时候,需要把它CACHE, 当某块数据被与会者请求的时候, 需要把与会者放到请求队列里, 然后根据优先级进行处理:
紧急: 如果数据存在,马上发送到CLIENT端, 否则仍然放在队列里.
高:选择(N - m)/3的用户发送数据
中:选择(N- m)/5 的用户发送数据
底:选择(N – m) /10的用户发送数据.
其中N是会议总人数
M: 如果发送者具有公有IP, M = 3, 否则 M =1.
Q:以下关于流量控制的东东问题很多:
流量控制(BIG ISSUE)
在授课系统中, 语音质量至关重要, 它不仅和CODEC密切相关, 也和网络传输密切相关, 所以一个好的流量控制算法非常重要, 目前的流量控制有几部分组成:
l 数据优先级发送
l AV数据流量控制原则
包括发送方速率控制, 丢包原则和速率改变:
A: 发送方速率控制.
AV共用一个连接, VOIP的优先级高于VIDEO的优先级, 同时VIDEO才用平滑发送原则. 而且VIDEO发送控制在一定的速率之内.
B: 丢包策略 (Where happens ? server-side or client-side ?)
VOIP尽量不丢, 尽量丢VIDEO, 而且如果VIDEO的I 帧丢了,那么后续的P帧也全部不发送.
C:速率调整
根据RTCP的反馈调整VIDEO质量, 同时也调整其他数据的发送速率.
l 其他数据流量控制原则(考虑P2P上传数据和下载数据).
先在一固定的速率上发送, 如果从VOIP那里得到反馈, 那么就调整相应的速率.
2. 读《客户端.Application Main Framework》ApplicationFrame.doc
Q:客户端有Session的概念?如果有,对应于哪个C++类?
Q:Client端的核心类图?
Q:最重要的几个概念,Component, Container, ComponentManager, ComponentPanel。他们如何配合完成相关功能的?Application creates a component to dispatch calling the component's API function.
Q:roster list和resource list到底指什么?roster update与resource update实际完成了什么东东?
Q:Attach to a session ?
Q:What's this ?
Component module need to enroll to thesession, the conference server will callback roster update and resource update.
Q:下述描述:
The component manage is responsiblefor all interface API, when call the component API, the component manage willget the handle/instance from the component container, then call interface APIwith the parameter of the component handle/interface.
是否意味着application不直接与component交互,而通过component manager?有多少种不同的component manager吗?其类名是什么呢?
Q:和Component有关的几个主要东东:panel, manager, container, context, 什么关系?
Q:自己开发一个Chat工具,无需使用任何Component的东东吧?直接访问Session层代码?
Q:为什么我们的客户端换肤困难?如何改进?
Q:Associated Class Relation:这张图如何解读?
Q:类ISessionClient干嘛的?
Q:实现一个完整的component,要做些什么事?
3. 读《New Meeting Design》
Q:加入Monitor后的整个server-side架构?
Q:MCT ?