著录项信息
专利名称 | 提供远程教育的系统及计算机实现的方法 |
申请号 | CN201410677232.0 | 申请日期 | 2014-11-21 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-03-25 | 公开/公告号 | CN104468744A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;G;0;9;B;5;/;1;2查看分类表>
|
申请人 | 香港应用科技研究院有限公司 | 申请人地址 | 中国香港新界沙田
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 香港应用科技研究院有限公司 | 当前权利人 | 香港应用科技研究院有限公司 |
发明人 | 罗家泳;欧颕僖 |
代理机构 | 深圳新创友知识产权代理有限公司 | 代理人 | 江耀纯 |
摘要
提供了一种为真实客户端提供远程教育的方法和使用该方法的系统,每个真实客户端是位于多个教学点的教师客户端或学生客户端。使用多层配置将计算服务器配置为一个一级服务器和一个或多个二级服务器,每个所述二级服务器与所述一级服务器通信。每个服务器为位于预先确定的站点的真实客户端服务。另外,每个服务器建立虚拟客户端,所述虚拟客户端执行教师客户端的活动指令以本地生成特定应用数据,随后将生成的特定应用数据存储到该服务器中。当在活动中断以后重新建立与学生客户端的通信链路时,无需增加其他服务器的负担即可基于存储在为所述学生客户端服务的服务器中的本地生成的特定应用数据,重新获得学生客户端的学习活动状态和教师客户端的学习活动状态的同步。
1.一种计算机实现的方法,其用于提供包括位于多个教学点的多个真实客户端的远程教育,其中,一个真实客户端是教师客户端,其发布活动指令以推进所述教师客户端的学习活动状态,剩余的真实客户端是执行接收到的活动指令的学生客户端,所述方法包括:
将多个计算服务器配置为一个一级服务器和一个或多个二级服务器,每个所述二级服务器通过单个第一通信链路与所述一级服务器通信,其中,单个一级服务器或单个二级服务器被配置为为位于预先确定的教学点中的单个真实客户端服务,并通过单个第二通信链路与所述单个真实客户端通信,并且其中,共同配置所述一级服务器和所述二级服务器以执行:通过所述第一通信链路,将从所述教师客户端发送到为所述教师客户端服务的服务器的活动指令中继到剩余的服务器,并且执行:通过所述学生客户端使用的所述第二通信链路将能够在所有服务器获得的活动指令中继到所述学生客户端;
将所述单个一级服务器或单个二级服务器配置为建立虚拟客户端,所述虚拟客户端执行所述单个一级服务器或单个二级服务器接收到的所述活动指令以本地生成特定应用数据,并且还将所述单个一级服务器或单个二级服务器配置为将本地生成的特定应用数据存储到所述单个一级服务器或单个二级服务器中;以及
当活动中断以后重新建立所述第一和第二通信链路中的任意一个时,恢复已经受到所述活动中断影响的任何学生客户端错过的一个或多个学习活动,其中所述恢复包括:基于存储在为受到影响的学生客户端服务的服务器中的所述本地生成的特定应用数据,重新同步所述受到影响的学生客户端的学习活动状态和所述教师客户端的学习活动状态,其中,所述重新同步包括:
当活动中断时期过后重新建立任意二级服务器和所述一级服务器之间的所述第一通信链路时,并且当所述教师客户端不由所述二级服务器服务时,所述一级服务器将在中断期间生成并存储在所述一级服务器中的特定应用数据的拷贝发送到所述二级服务器,以更新存储在所述二级服务器中的本地生成的特定应用数据,从而使得除了所述一级服务器和所述二级服务器之外不需要增加其他服务器的负担即重新获得所述二级服务器的虚拟客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步;以及在重新获得所述二级服务器的虚拟客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步之后,所述二级服务器将存储在所述二级服务器中的更新的特定应用数据发送到所述二级服务器服务的每个学生客户端,以重新同步前述的每个学生客户端的学习状态和教师客户端的学习状态。
2.根据权利要求1所述的方法,其中,所述重新同步包括:
当活动中断时期过后重新建立第一学生客户端和所述一级服务器或一个二级服务器之间的所述第二通信链路时,所述一级服务器或所述一个二级服务器将在中断期间生成并存储在所述一级服务器或所述一个二级服务器中的特定应用数据的拷贝发送到所述第一学生客户端,以便除了所述一级服务器或所述一个二级服务器之外无需增加其他服务器的负担就重新获得所述第一学生客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步。
3.根据权利要求1所述的方法,进一步包括:
每个二级服务器将所述每个二级服务器的本地生成的特定应用数据转发到所述一级服务器以存储到其中;
如果第一学生客户端由所述一级服务器服务,那么所述第一学生客户端就将它的特定客户端数据转发到所述一级服务器以存储到其中;以及
如果第二学生客户端由所述二级服务器服务,那么:
(a)所述第二学生客户端将它的特定客户端数据转发到所述二级服务器以存储到其中;以及
(b)所述二级服务器将所述第二学生客户端的特定客户端数据中继到所述一级服务器以存储到其中。
4.根据权利要求3所述的方法,其中,所述恢复包括,当在活动中断时期过后重新建立第一学生客户端和任意二级服务器之间的所述第二通信链路时:
所述第一学生客户端将应用信息请求发送到所述二级服务器;
所述二级服务器将在中断期间生成的特定应用数据的拷贝和之前从所述第一学生客户端复制的特定客户端数据的拷贝发送到所述第一学生客户端,以便除了所述二级服务器之外不需要增加其他服务器的负担即重新获得所述第一学生客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步,其中,所述特定应用数据的拷贝和特定客户端数据的拷贝都存储在所述二级服务器中;
如果所述第一学生客户端在所述中断期间生成并缓存了任何特定客户端数据,所述第一学生客户端将其缓存的特定客户端数据发送到所述二级服务器以存储到其中;以及在所述二级服务器从所述第一学生客户端接收所述缓存的特定客户端数据之后,所述二级服务器将从所述第一学生客户端接收到的所述缓存的特定客户端数据发送到所述一级服务器以存储到其中。
5.根据权利要求3所述的方法,其中,所述恢复包括,当在活动中断时期过后重新建立任意二级服务器和所述一级服务器之间的所述第一通信链路时,并且在所述教师客户端不由所述二级服务器服务时:
所述二级服务器将应用信息请求发送到所述一级服务器;
所述一级服务器将在中断期间生成的特定应用数据的拷贝和之前从由所述二级服务器服务的每个客户端复制的特定客户端数据的拷贝发送到所述二级服务器,以便除了所述一级服务器和二级服务器之外不需要增加其他服务器的负担即重新获得所述二级服务器的虚拟客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步,其中,所述特定应用数据的拷贝和特定客户端数据的拷贝都存储在所述一级服务器中;
所述二级服务器将从所述一级服务器接收到的前述特定应用数据的拷贝中继到由所述二级服务器服务的每个学生客户端;
所述二级服务器将从所述一级服务器接收到的并且针对前述单个学生客户端的特定客户端数据的拷贝中继到由所述二级服务器服务的所述单个学生客户端;
如果所述每个学生客户端在所述中断期间生成并缓存了任何特定客户端数据,所述每个学生客户端就将其缓存的特定客户端数据发送到所述二级服务器以存储到其中;以及在所述二级服务器从所述每个学生客户端接收到所述缓存的特定客户端数据之后,所述二级服务器将从所述每个学生客户端接收到的所述缓存的特定客户端数据中继到所述一级服务器以存储到其中。
6.根据权利要求3所述的方法,其中,所述恢复包括,当在活动中断时期过后重新建立第一学生客户端和所述一级服务器之间的所述第二通信链路时:
所述第一学生客户端将应用信息请求发送到所述一级服务器;
所述一级服务器将在中断期间生成的特定应用数据的拷贝和之前从所述第一学生客户端复制的特定客户端数据的拷贝发送到所述第一学生客户端,以便除了所述一级服务器之外不需要增加其他服务器的负担即重新获得所述第一学生客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步,其中,所述特定应用数据的拷贝和所述特定客户端数据的拷贝都存储在所述一级服务器中;以及
如果所述第一学生客户端在所述中断期间生成并缓存了任何特定客户端数据,所述第一学生客户端就将其缓存的特定客户端数据发送到所述一级服务器以存储到其中。
7.一种配置为提供远程教育的系统,所述远程教育包括位于多个教学点的多个真实客户端,其中,一个真实客户端是教师客户端,其发布活动指令以推进所述教师客户端的学习活动状态,剩余的真实客户端是执行接收到的活动指令的学生客户端,所述系统包括多个计算服务器,其中,根据权利要求1所述的方法共同配置所述一级服务器和所述二级服务器以提供远程教育。
8.根据权利要求7所述的系统,其中,所述一级服务器是计算云中的虚拟服务器。
9.根据权利要求7所述的系统,其中,至少一个二级服务器是支持移动通信的智能电话。
10.根据权利要求7所述的系统,其中,至少一个二级服务器被配置为支持与任何真实客户端进行WiFi通信。
11.根据权利要求7所述的系统,其中,一级服务器和二级服务器中的一个或多个被配置为与任何真实客户端无线通信。
12.根据权利要求7所述的系统,其中,一个或多个二级服务器被配置为与一级服务器无线通信。
13.根据权利要求7所述的系统,其中,一个或多个二级服务器被配置为通过固定网络与所述一级服务器通信。
14.一种配置为提供远程教育的系统,所述远程教育包括位于多个教学点的多个真实客户端,其中,一个真实客户端是教师客户端,其发布活动指令以推进所述教师客户端的学习活动状态,剩余的真实客户端是执行接收到的活动指令的学生客户端,所述系统包括多个计算服务器,其中,根据权利要求2-6中的任意一项所述的方法共同配置所述服务器以提供远程教育。
提供远程教育的系统及计算机实现的方法\n技术领域\n[0001] 本发明总体上涉及一种提供包括位于多个教学点的多个真实客户端的远程教育的计算机可实现的方法和使用该方法的系统。特别的,本发明涉及的这种方法和系统基于如果活动中断则执行重新同步学习活动状态的多层配置的服务器。\n背景技术\n[0002] 远程教育或远程学习已经越来越流行,部分原因是由于互联网的普及使得越来越多的地理上相隔很远的学生能够实时地与位于另一个地方的教师互动。这些学生在多个教学点也相隔很远也是可能的。我们希望具有对在多个教学点提供远程教育进行优化的技术。\n[0003] 在现有技术中,例如US20140072945建议的在多个教学点提供远程教学的典型的技术使用一个中央服务器通过通信网络实时地将教学资料和教师的指令分发给学生。因为希望在教师发出相应的学习活动指令的时刻立即将正确的教学资料提供给学生,所以要求中央服务器保持每个学生的学习活动状态和教师的学习活动状态之间同步。当特定学生和中央服务器之间的通信链路在暂时的连接中断之后恢复时,要求中央服务器恢复该学生错过的任何学习活动。恢复进程包括重新同步教师和学生之间的学习活动状态。学生位于多个教学点的一个后果是学生的总量潜在地大,这导致要求中央服务器执行大量的重新同步活动,从而显著地增加了中央服务器的负担。\n[0004] 本领域需要一种对现有技术作出改进的、在多个教学点提供远程教育的技术。\n发明内容\n[0005] 本发明的一个方面提供一种计算机实现的方法,其用于提供包括位于多个教学点的多个真实客户端的远程教育,其中,一个真实客户端是发布活动指令以提出教师客户端的学习活动状态的教师客户端,剩余的真实客户端是执行接收到的活动指令的学生客户端。\n[0006] 在该方法中,将多个计算服务器配置为一个一级服务器和一个或多个二级服务器,每个所述二级服务器通过单个第一通信链路与所述一级服务器通信。单个服务器被配置为为位于预先确定的教学点中的单个真实客户端服务,并通过单个第二通信链路与所述单个真实客户端通信。共同配置所述服务器以执行:通过所述第一通信链路,将所述教师客户端发送到为所述教师客户端服务的服务器的活动指令中继到剩余的服务器,并且执行:\n通过所述学生客户端使用的所述第二通信链路将能够在所有服务器获得的活动指令中继到所述学生客户端。所述单个服务器被进一步地配置为建立虚拟客户端,所述虚拟客户端执行所述单个服务器接收到的所述活动指令以本地生成特定应用数据,并将本地生成的特定应用数据存储到所述单个服务器中。当活动中断以后重新建立所述第一和第二通信链路中的任意一个时,恢复已经受到所述活动中断影响的任何学生客户端错过的一个或多个学习活动。所述恢复包括:基于存储在为所述受到影响的学生客户端服务的服务器中的所述本地生成的特定应用数据,重新同步所述受到影响的学生客户端的学习活动状态和所述教师客户端的学习活动状态。\n[0007] 可实现的重新同步进程如下所述。在第一活动中断时期过后重新建立任意第一学生客户端和任意第一服务器之间的所述第二通信链路时,所述第一服务器将在第一中断期间生成并存储在所述第一服务器中的特定应用数据的拷贝发送到所述第一学生客户端,其中第一服务器是所述一级服务器或者是所述二级服务器中的一个。除了所述第一服务器之外无需增加其他服务器的负担就重新获得所述第一学生客户端的学习活动状态和所述教师客户端之间的学习活动状态的同步。\n[0008] 如下所述,提供了另一个可实现的重新同步进程。在第二活动中断时期过后重新建立任意第一二级服务器和所述一级服务器之间的所述第一通信链路并且当所述教师服务器不由所述第一二级服务器服务时,所述一级服务器将在第二中断期间生成并存储在所述一级服务器中的特定应用数据的拷贝发送到所述第一二级服务器,以更新存储在所述第一二级服务器中的本地生成的特定应用数据。这样除了所述一级服务器和所述第一二级服务器之外不需要增加其他服务器的负担即重新获得所述第一二级服务器的虚拟客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步。在重新获得所述第一二级服务器的虚拟客户端的学习活动状态和所述教师客户端的学习活动状态之间的同步之后,所述第一二级服务器将存储在所述第一二级服务器中的更新的特定应用数据发送到由所述第一二级服务器服务的每个学生客户端,以重新同步前述的每个学生客户端的学习状态和教师客户端的学习状态。\n[0009] 下面的实施例以举例说明的方式公开了本发明的其他方面。\n附图说明\n[0010] 图1描述了根据本发明示例性的实施方式的、用于向多个教学点提供远程教育的多层配置的服务器。\n[0011] 图2描述了从教师客户端向多个学生客户端提供远程教育的操作顺序的例子。\n[0012] 图3描述了根据本发明的一个实施方式恢复学生客户端错过的一个或多个学习活动,包括当活动中断以后重新建立本地服务器(二级服务器)和学生客户端之间的通信链路时,重新同步学生客户端的学习活动状态和教师客户端的学习活动状态。\n[0013] 图4描述了根据本发明的一个实施方式恢复学生客户端错过的一个或多个学习活动,包括当活动中断以后重新建立本地服务器(二级服务器)和基于云的服务器(一级服务器)之间的通信链路时,重新同步学生客户端的学习活动状态和教师客户端的学习活动状态。\n[0014] 图5描述了根据本发明的一个实施方式恢复学生客户端错过的一个或多个学习活动,包括当活动中断以后重新建立基于云的服务器(一级服务器)和学生客户端之间的通信链路时,重新同步学生客户端的学习活动状态和教师客户端的学习活动状态。\n具体实施方式\n[0015] 本文的说明书和所附的权利要求书使用了以下定义。“云”理解和解释为计算云的意义,或等同的,除非另有说明,将其理解和解释为通过网络分布的计算。“服务器”解释为计算的意义。一个或多个存储器可以例如为硬盘或固态磁盘驱动器。服务器通常配备有用于执行程序指令的一个或多个处理器和用于存储数据的一个或多个存储器。服务器可以是独立的计算服务器或云中的分布式服务器。“客户端”是计算设备或为了服务而访问计算服务器的一款软件,其中,计算设备具有计算能力,并且一般包括用于执行程序指令的一个或多个处理器和用于存储数据的一个或多个存储器。客户端可以是真实客户端或虚拟客户端。“真实客户端”指物理计算设备,例如台式计算机、智能电话或手持平板计算机。在访问由任何服务器提供的服务时,“虚拟客户端”是模拟真实客户端的一款软件。作为一个实际的例子,通过对服务器编程可以在服务器中建立或创建虚拟客户端。“教师客户端”是教师使用的真实客户端。在远程教育中,教师是控制者,其使用教师客户端发布一个或多个学习活动指令以在远程教育中控制并提出学习活动状态。“学生客户端”是学生使用的真实客户端。学生客户端被配置为执行接收到的一个或多个学习活动指令以便学生接收教师的教学。“学习活动指令”或“活动指令”是教师向每个学生发布的指令。学习活动指令的例子是:\n当教师翻到幻灯片的第4页时,指令指示所有学生客户端都显示第4页。“特定应用数据”是当在客户端中运行应用程序时涉及一个或多个状态的数据。举例来说,特定应用数据包括诸如应用标识符、执行状态、一个或多个执行数据序列等内容。“特定客户端数据”是专指特定客户端的数据。也就是说,一个客户端的特定客户端数据与另一个客户端的数据不同。特定客户端数据的例子包括学生客户端对问题的回答和学生客户端的任何输入。\n[0016] 本发明的一个方面提供一种用于提供包括位于多个教学点的多个真实客户端的远程教育的计算机实现的方法。一个真实客户端是教师客户端,其发布活动指令以提出教师客户端的学习活动状态。剩余的真实客户端是执行接收到的活动指令的学生客户端。\n[0017] 特别的,本发明解决了受到学习活动中断影响的教师客户端的学习活动状态和学生客户端的学习活动状态之间的重新同步。如本文使用的,“学习活动中断”或“活动中断”是学生的学习的中断,也就是说,具有学生客户端的学生的学习活动状态与教师客户端的学习活动状态不同步并且滞后于教师客户端的学习活动状态。活动中断表现为教师客户端和受到影响的学生客户端之间的连接失败。有很多不同的原因导致活动中断。例如,以下原因可能会导致活动中断:学生客户端和提供远程教育的服务器之间的通信链路(有线或无线)失败、提供远程教育的系统中的任意两个服务器之间的通信链路失败、或者学生客户端的硬件或软件崩溃。注意,学生客户端的硬件或软件崩溃通常导致学生客户端和连接到该学生客户端的服务器之间的通信连接失败。只有重新建立通信连接之后才能实现重新同步。\n[0018] 为了解决存在多个教学点的问题,本文公开的方法基于使用具有多层配置的多个计算服务器。特别的,计算服务器被配置为一个一级服务器和一个或多个二级服务器。每个二级服务器可以通过单个第一通信链路与一级服务器通信。单个服务器(一级服务器或任意一个二级服务器)被配置为:为位于预先确定的教学点的单个真实客户端提供服务并通过单个第二通信链路与上述单个真实客户端通信。另外,通过对服务器编程来共同配置所述服务器,使其执行以下两个任务。首先,通过第一通信链路将从教师客户端发送到为教师客户端服务的服务器的活动指令中继到剩余的服务器。其次,通过学生客户端使用的第二通信链路将可在所有服务器获得的活动指令中继到学生客户端。当所有的第一和第二通信链路都处于良好的状态并且这些通信链路都没有发生故障时,可实现所述两个任务。\n[0019] 借助图1示出了该方法,图1示例性地描述了使用公开的方法提供远程教育的系统。系统100被配置为通过4个教学点111、112、113、114提供远程教育。尽管图1使用了4个教学点来解释说明,但是本文公开的方法适用于任何非零数量的教学点。系统100包括一个一级服务器110和三个二级服务器131、132、133。该一级服务器110分别通过第一通信链路\n140a、140b、140c连接到第一、第二和第三二级服务器131、132、133。第一二级服务器131为位于第一教学点111中的真实客户端121a-121d提供服务。真实客户端121a-121d分别通过第二通信链路151a-151d连接到第一二级服务器131。第二二级服务器132为位于第二教学点112中的真实客户端122a-122c提供服务,其中,真实客户端122a-122c分别通过第二通信链路152a-152c与第二二级服务器132通信。第三二级服务器133为位于第三教学点113中的真实客户端123a、123b提供服务。真实客户端123a、 123b分别通过第二通信链路153a、153b与第三二级服务器133通信。第四教学点114具有通过一个第二通信链路154直接连接到一级服务器110的真实客户端 124。\n[0020] 另外,单个服务器(一级服务器或任意一个二级服务器)被配置为建立执行单个服务器接收到的活动指令以本地生成特定应用数据的虚拟客户端。虚拟客户端运行的活动指令与任何学生客户端运行的活动指令相同以保持对应用状态的跟踪。如上所述,特定应用数据是涉及应用状态的数据,其表示当前的学习活动状态。单个服务器进一步地被配置为在该单个服务器中存储本地生成的特定应用数据。在将来可能对受到活动中断影响的学生客户端错过的任何学习活动进行恢复时,存储的特定应用数据是有用的。如图1所示,服务器110、131、132、133 分别包括生成特定应用数据的拷贝的虚拟客户端160、161、162、163和存储这些拷贝的存储器170、171、172、173。\n[0021] 当活动中断后重新建立第一和第二通信链路中的任意一个时,对已经受到活动中断影响的任何学生客户端错过的一个或多个学习活动进行恢复。该恢复包括:基于存储在为受到影响的学生客户端服务的服务器中的本地生成的特定应用数据,重新同步受到影响的学生客户端的学习活动状态和教师客户端的学习活动状态。\n[0022] 受到影响的学生客户端如何处理特定应用数据以实现重新同步取决于如何编程或配置受到影响的学生客户端。在一个配置中,受到影响的学生客户端利用接收到的一个特定应用数据覆盖原先存储的特定应用数据,以使得受到影响的学生客户端直接赶上最后一个错过的学习活动并跳过中间的学习活动。在另一个配置中,受到影响的学生客户端快进应用的执行(例如,观看教材),以使得由于执行快进原先存储的特定应用数据能够在短时间内演变为接收到的特定应用数据。该配置使得使用受到影响的学生客户端的学生能够查看所有错过的学习活动。\n[0023] 下面给出了取决于是否包括第一或第二通信链路的两个可实现的重新同步进程。\n[0024] 当活动中断一段时间以后重新建立任意学生客户端和任意服务器(一级服务器\n110或任意一个二级服务器131、132、133)之间的第二通信链路(例如, 151a-151d、152a-\n152c、153a、153b、154)时,将在中断期间生成并存储到前述服务器中的特定应用数据的拷贝发送到学生客户端,以便除了前述服务器之外不需要增加其他服务器的负担即重新获得学生客户端的学习活动状态和教师客户端的学习活动状态之间的同步。\n[0025] 当活动中断一段时间以后恢复任意二级服务器(例如,131、132、133)和一级服务器110之间的第一通信链路(例如,140a-140c)并且教师服务器不由前述二级服务器服务时,将在中断期间生成并存储到一级服务器110中的特定应用数据的拷贝发送到二级服务器,以更新存储在其中的本地生成的特定应用数据。因此,除了一级服务器110和前述二级服务器之外不需要增加其他服务器的负担即重新获得前述二级服务器的虚拟客户端的学习活动状态和教师客户端的学习活动状态之间的同步。在重新获得同步之后,将存储在二级服务器中的更新的特定应用数据发送到由该二级服务器服务的每个学生客户端,以重新同步该学生客户端的学习状态和教师客户端的学习状态。\n[0026] 该方法可以进一步包括以下一个或多个优选项。\n[0027] 在一个选项中,每个二级服务器131、132、133将在其本地生成的特定应用数据转发给一级服务器110以存储到其中作为备份。当希望不同服务器生成不同的该数据的集合时,存储由不同服务器生成的特定应用数据是优选的。例如,当将教师发布的活动指令只传送给位于某些而不是全部教学点的学生客户端时,会出现这种情况。\n[0028] 在另一个选项中,将由一级服务器110服务的每个学生客户端(例如,第四教学点\n114的客户端10 124)生成的特定客户端数据发送到一级服务器110以存储到其中作为备份。类似的,对于由一个二级服务器(例如,如果学生客户端是第一教学点111的客户端4 \n121d,则该二级服务器是第一二级服务器131)服务的每个学生客户端来说,该学生客户端的特定客户端数据存储在一级服务器110 和服务该学生客户端的二级服务器中。实现该选项的例子如下所示。第一教学点 111的客户端4 121d通过第二通信链路151d将它的特定客户端数据转发给第一二级服务器131。客户端4 121d的特定客户端数据存储在存储器171中。第一二级服务器131随后通过第一通信链路140a将该特定客户端数据中继到一级服务器 110,并且一级服务器110将接收到的特定客户端数据存储到存储器170中。第四教学点\n114的客户端10 124将它的特定客户端数据转发给一级服务器110,一级服务器110随后将接收到的特定客户端数据存储到存储器170中。\n[0029] 将学生客户端的特定客户端数据存储到一级服务器110中并可能将其存储到连接到该学生客户端的二级服务器中是有利的也是我们所希望的。例如,如果使用该学生客户端的学生突然断线并且需要使用代替的客户端设备,则可以从一个服务器将之前存储的特定客户端数据下载到代替的客户端设备中,以便学生能够在中断点恢复学习。\n[0030] 图2描述了根据公开的方法的、在正常操作状况下(即,所有通信链路没有发生故障并且教师客户端连接到所有学生客户端)操作远程教育系统的实施方式。系统200包括作为一级服务器的基于云的服务器0 210和作为二级服务器的本地服务器231、232、233。这些服务器210、231-233中的每一个都具有标识为客户端0的虚拟客户端。本地服务器231为第一教学点211中的真实客户端 221a-221d服务,所述第一教学点211是标识为家庭1的家庭环境。本地服务器2 232为第二教学点212中的真实客户端222a-222c服务,所述第二教学点\n212是家庭2,其为另一个家庭环境。由智能电话实现的本地服务器3 233为位于第三教学点\n213中的真实客户端223a、223b服务,所述第三教学点213是移动教学点。服务器0 210为第四教学点214中的真实客户端224服务,所述第四教学点214是另一个移动教学点。真实客户端221a是教师客户端。所有的其他客户端都是学生客户端。\n[0031] 在图2中:标号1、2、3、4、5、6表示执行操作的顺序,但这并非暗示同时或在同一时间执行相同标号下的操作;字母“C”、“AD”和“CD”是分别表示“活动指令”、“特定应用数据”和“特定客户端数据”的数据消息;箭头表示数据消息的流向。系统200的操作如下所示。\n[0032] 1:教师客户端221a向本地服务1 231发布活动指令。\n[0033] 2:本地服务器1 231将活动指令转发给位于第一教学点211中的学生客户端 \n221b-221d,并转发给服务器0 210。同样的,本地服务器1 231通过其中的客户端0执行活动指令。\n[0034] 3:本地服务器0 210将活动指令转发给本地服务器2 212和本地服务器3 233,并且还转发给第四教学点214中的学生客户端224。本地服务器0 210还通过其中的客户端0执行活动指令。\n[0035] 4:本地服务器2 232将活动指令转发给第二教学点212的学生客户端 222a-222c,并且由其中的客户端0执行所述活动指令。本地服务器3 233将活动指令转发给第三教学点\n213的学生客户端223a、223b,并且由其中的客户端0执行所述活动指令。\n[0036] 5:服务器210、231-233中的每一个都将本地生成的特定应用数据存储到服务器的存储器中。每个学生客户端(221b-221d、222a-222c、223a、223b、224) 将其生成的特定客户端数据发送到它们各自的服务器(231、232、233、210)以存储在其中。注意,学生客户端224的特定客户端数据存储在服务器0 210中。\n[0037] 6:三个本地服务器231-233将接收到的特定客户端数据发送到服务器0 210 以存储在其中。\n[0038] 图3-5描述了根据本发明某些实施方式的系统200可用的恢复进程,其中,每个恢复进程用于恢复学生客户端错过的一个或多个学习活动,包括当活动中断后重新建立通信链路时,重新同步学生客户端的学习活动状态和教师客户端221a 的学习活动状态。标号1、\n2、3、4和5表示执行操作的顺序,但这并非暗示同时或在同一时间执行相同标号下的操作;\n字母“R”、“AD”、“ACD”和“CCD”是分别表示“应用信息请求”、“特定应用数据”、“特定应用数据和特定客户端数据”和“缓存的特定客户端数据”的数据消息;箭头表示数据消息的流向。\n[0039] 图3描述了当活动中断时期过后重新建立学生客户端221d和第一二级服务器 231之间的第二通信链路时的恢复进程。该进程如下所示。\n[0040] 1:学生客户端221d将应用信息请求发送到第一二级服务器231(该应用信息请求在中断期间生成的特定应用数据)。\n[0041] 2:第一二级服务器231将在中断期间生成的特定应用数据的拷贝和之前从学生客户端221d复制的特定客户端数据的拷贝发送到学生客户端221d,以重新同步学生客户端\n221d的学习活动状态和教师客户端221a的学习活动状态,其中,将特定应用数据和特定客户端数据的拷贝均存储到第一二级服务器231中。\n[0042] 3:如果学生客户端221d在中断期间生成并缓存了任何特定客户端数据,学生客户端221d就将其缓存的特定客户端数据发送到第一二级服务器231以存储在其中。(例如,如果由于学生客户端221d和第一二级服务器231之间的通信连接发生故障而导致中断,同时此时的学习活动是“脱机”,例如,只要求学生向学生客户端221d输入,就生成缓存的特定客户端数据。)\n[0043] 4:如果第一二级服务器231从学生客户端221d接收到缓存的特定客户端数据,第一二级服务器231就将缓存的特定客户端数据发送到一级服务器210以存储到其中。\n[0044] 图4描述了当在活动中断时期以后重新建立第三二级服务器233和一级服务器210之间的第一通信链路时的恢复进程。注意,教师客户端221a不由第三二级服务器233服务。\n该进程如下所示。\n[0045] 1:第三二级服务器233将应用信息请求发送到一级服务器210。\n[0046] 2:一级服务器210将在中断期间生成的特定应用数据的拷贝和之前从由第三二级服务器233服务的每个客户端复制的特定客户端数据的拷贝发送到第三二级服务器233,其中,特定应用数据和特定客户端数据的拷贝均存储到一级服务器210中。因此,恢复了第三二级服务器233的虚拟客户端的学习活动状态和教师客户端221a的学习活动状态之间的同步。\n[0047] 3:第三二级服务器233将前述的从一级服务器210接收到的特定应用数据的拷贝中继到由第三二级服务器233服务的学生客户端223a、223b,以重新同步教师客户端221a的学习活动状态和学生客户端223a、223b的学习活动状态。第三二级服务器233还将针对正在考虑之中的学生客户端的特定客户端数据的拷贝中继给每个学生客户端223a、223b。\n[0048] 4:如果每个学生客户端223a、223b在中断期间生成并缓存了特定客户端数据,则将所述特定客户端数据发送到第三二级服务器233以存储到其中;以及\n[0049] 5:如果第三二级服务器233从每个学生客户端223a、223b接收到缓存的特定客户端数据,则将所述缓存的特定客户端数据发送到一级服务器210以存储到其中。\n[0050] 图5描述了当在活动中断时期以后重新建立学生客户端224和一级服务器 210之间的第二通信链路时的恢复进程。该进程如下所示。\n[0051] 1:学生客户端224将应用信息请求发送到一级服务器210。\n[0052] 2:一级服务器210将在中断期间生成的特定应用数据的拷贝和之前从学生客户端\n224复制的特定客户端数据的拷贝发送到学生客户端224,以重新同步教师客户端221a的学习活动状态和学生客户端224的学习活动状态,其中,将特定应用数据和特定客户端数据的拷贝均存储到一级服务器210中。\n[0053] 3:如果学生客户端224在中断期间生成并缓存了任何特定客户端数据,学生客户端224就将其缓存的特定客户端数据发送到一级服务器210以存储在其中。\n[0054] 基于计算机的系统被配置为提供包括位于多个教学点的多个真实客户端的远程教育,通过根据以上描述的方法的任意一个实施方式在所述系统中包括多个共同配置的计算服务器提供远程教育来实现所述系统。\n[0055] 实际上,每个二级服务器被配置为为位于一个教学点中的学生服务。该学生的数量可能不会太多,从而可以将一个或多个二级服务器实现为学习活动管理 (LAM)单元,每个LAM单元是小尺寸电子设备。\n[0056] 一级服务器可以是连接到因特网的物理服务器。可选的,一级服务器可以是计算云中的虚拟服务器。至少一个二级服务器是支持移动通信或者被配置为支持与任何真实客户端进行WiFi通信的智能电话是可能的。\n[0057] 在一些实现方式中,优选的,一个或多个服务器(一级或二级服务器)被配置为与任意真实客户端无线通信。在一些实施方式中,还希望一个或多个二级服务器被配置为通过固定网络与一级服务器通信。\n[0058] 可以利用通用或专用计算设备、计算机处理器或包括但不限于数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及根据本公开的教导配置或编程的其他可编程逻辑设备的电子电路,来实现本文公开的实施方式。软件或电子领域的技术人员基于本公开的教导,可以容易地编写在通用或专用计算设备、计算机处理器或可编程逻辑设备中运行的计算机指令或软件代码。\n[0059] 在不背离本发明的精神或本质的条件下,本发明可以实现为其他形式。因此在所有方面都将本实施方式认为是示例性的而不是限制性的。本发明的范围由所附的权利要求书而不是前述的说明限定,并且在权利要求的等同范围和含义内的所有改变都包含在其中。
法律信息
- 2018-06-12
- 2015-04-22
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201410677232.0
申请日: 2014.11.21
- 2015-03-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-06-20
|
2011-11-15
| | |
2
| |
2012-08-01
|
2011-01-28
| | |
3
| |
2013-05-22
|
2013-01-24
| | |
4
| |
2010-09-15
|
2010-04-07
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |