基于人工智能的内容推荐和调配的方法和系统与流程

文档序号:17486354发布日期:2019-04-20 06:51阅读:241来源:国知局
基于人工智能的内容推荐和调配的方法和系统与流程

计算机网络或数据网络是允许计算机交换数据的电信网络。在计算机网络中,联网计算设备沿着网络链路(数据连接)彼此交换数据。节点之间的连接使用有线介质或无线介质建立。最著名的计算机网络是互联网。

发起、路由和终止数据的网络计算机设备称为网络节点。节点可以包括主机诸如个人计算机、电话、服务器以及网络硬件。当一个设备能够与另一个设备交换信息时,可以说两个此类设备联网在一起,无论它们是否彼此具有直接连接。

计算机网络在用于承载其信号的传输介质、组织网络流量的通信协议、网络的大小、拓扑和组织意图方面不同。在大多数情况下,除了直接处理传输介质的物理层之外,通信协议分层在其他更具体或更通用的通信协议上。



技术实现要素:

在一个方面,本公开涉及一种基于人工智能的推荐系统。该系统包括用户设备,该用户设备具有:网络接口,该网络接口可以经由通信网络交换数据;以及输入/输出子系统,该输入/输出子系统可以经由用户界面将电信号转换为用户可解读的输出。该系统包括人工智能引擎,该人工智能引擎可以至少从用户设备接收输入,并且可以:基于所接收的输入启动对话;基于所接收的用户输入标识补救对话;以及基于至少一个停止标准终止对话;在一些实施例中,终止对话可以基于指示用户技能水平的用户性能度量。在一些实施例中,当用户性能度量标识足够的用户技能水平时,确定对话终止。该系统包括内容管理服务器。该内容管理服务器可以:从用户设备处接收标识用户的用户标识;接收指示用户交互模式的数据;生成表征用户交互模式的触发值;触发人工智能引擎的启动;接收完成对话的指示;以及在收到完成对话的指示后提供第二内容。

在一些实施例中,内容管理服务器可以被配置为:从存储器检索用户信息,该用户信息通过内容进展标识用户的进度;基于检索到的用户信息标识问题并将问题递送给用户设备;从用户设备接收对递送问题的响应;以及确定接收的响应是不正确的。在一些实施例中,内容管理服务器可以利用完成对话的指示来接收更新的用户技能水平的指示。在一些实施例中,内容管理服务器可以基于用户技能水平选择第二内容。在一些实施例中,补救对话包括多级询问和响应。

在一些实施例中,询问级别中的至少一些询问级别包括问题和递送的内容。在一些实施例中,递送的内容对应于在选择递送时在用户模型中标识的用户技能水平。在一些实施例中,递送的内容对应于作为补救对话的一部分从用户处接收的请求。

在一些实施例中,人工智能引擎可以进行各级询问和响应,随后重新评估用户技能水平。在一些实施例中,用户技能水平的重新评估包括将自然语言处理算法应用于接收的响应。在一些实施例中,自然语言处理算法包括以下中的至少一个:语音识别算法;以及自然语言理解算法。在一些实施例中,启动对话包括在用户设备上启动用户界面,其中用户界面可以显示对话内容并接收用户对显示的对话内容的响应。

本公开的一个方面涉及一种用于基于人工智能的内容推荐和调配的方法。该方法包括:在内容管理服务器处从用户设备接收用户标识,其中用户标识标识用户;接收指示用户交互模式的数据;生成表征用户交互模式的触发值;触发人工智能引擎的启动;基于接收的人工智能引擎输入启动对话;基于接收的用户输入标识与人工智能引擎的补救对话;终止与人工智能引擎的对话;接收与内容管理服务器完成对话的指示;以及在收到对话完成的指示之后将第二内容递送到用户设备。

在一些实施例中,基于至少一个暂停标准终止对话。在一些实施例中,至少一个暂停标准包括终止阈值,并且终止对话可以包括生成指示以下中的至少一个的用户性能度量:用户技能水平;正确响应;以及不正确响应。在一些实施例中,终止对话可以包括将用户性能度量与终止阈值进行比较。

在一些实施例中,该方法包括在内容管理服务器处接收具有对话完成的指示的更新的用户技能水平的指示。在一些实施例中,该方法包括,利用内容管理服务器选择第二内容,其基于用户技能水平选择第二问题。

在一些实施例中,补救对话包括多级询问和响应。在一些实施例中,询问级别中的至少一些询问级别包括问题和递送的内容。在一些实施例中,递送的内容对应于在选择递送的内容时在用户模型中标识的用户技能水平。在一些实施例中,递送的内容对应于作为补救对话的一部分从用户处接收的请求。

在一些实施例中,该方法包括利用人工智能引擎进行各级询问和响应,随后重新评估用户技能水平。在一些实施例中,重新评估用户技能水平包括将自然语言处理算法应用于接收的响应。在一些实施例中,自然语言处理算法包括以下中的至少一个:语音识别算法;以及自然语言理解算法。在一些实施例中,启动对话包括在用户设备上启动用户界面,该用户界面可以显示对话内容并接收用户对显示的对话内容的响应。

在一些实施例中,该方法包括:利用内容管理服务器从存储器检索用户信息,该用户信息通过内容进展标识用户的进度;基于检索到的用户信息标识问题并将问题递送给用户设备;从用户设备接收对递送问题的响应;以及确定接收的响应是不正确的。在一些实施例中,第二内容包括第二问题。在一些实施例中,经由至少一个触发条件触发人工智能引擎的启动。在一些实施例中,触发条件描绘了用户交互之间的模式。

本公开的一个方面涉及推荐系统。该推荐系统包括:存储器,该存储器包括:用户配置文件数据库,该用户配置文件数据库包括与多个用户有关的信息,与多个用户有关的信息包括与多个用户中的每个用户相关联的唯一用户历史数据;以及内容库数据库,该内容库数据库包括在内容网络中以多个顺序关系链接的多个节点。在一些实施例中,多个节点中的一些节点与保护条件相关联。在一些实施例中,每个保护条件标识以下中的至少一个:控制进入与保护条件相关联的节点的入口条件;以及控制从与保护条件相关联的节点退出的出口条件。该系统可以包括用户设备,该用户设备包括:网络接口,该网络接口可以经由通信网络交换数据;以及输入/输出子系统,该输入/输出子系统可以经由用户界面将电信号转换为用户可解读的输出。该系统可以包括一个或多个服务器,这些服务器可以:接收用户标识信息,该用户标识信息标识用户;确定用户的位置,该用户的位置由接收的用户标识信息在内容网络中标识;基于内容网络中用户的位置以及基于保护条件中的至少一些保护条件选择下一节点;经由网络(诸如,例如无线网络)将下一节点内容递送到用户设备,当下一节点是占位符节点时,从多个可选内容选项中自适应地选择下一节点内容,并且当下一节点不是占位符节点时,下一内容直接链接到下一节点。

在一些实施例中,保护条件中的至少一些保护条件调节进入包括多个节点中的一些节点的学习序列。在一些实施例中,保护条件中的至少一些保护条件调节从包括多个节点中的一些节点的学习序列的退出。在一些实施例中,该系统包括可以从至少用户设备处接收输入的人工智能引擎。在一些实施例中,占位符节点的可选内容选项中的至少一个可选内容选项包括与人工智能引擎的对话。在一些实施例中,人工智能引擎可以:启动对话;基于接收的用户响应递送询问和内容;以及基于指示用户技能水平的用户性能度量来确定对话的终止,当用户性能度量标识足够的用户技能水平时,确定对话终止。

在一些实施例中,补救对话包括多级询问和响应。在一些实施例中,人工智能引擎可以进行各级询问和响应,随后重新评估用户技能水平。在一些实施例中,用户技能水平的重新评估包括将自然语言处理算法应用于接收的响应,该自然语言处理算法包括语音识别算法和自然语言理解算法。

在一些实施例中,一个或若干服务器可以基于所接收的用户响应来确定用户技能水平,这些接收的用户响应与递送的下一节点内容有关。在一些实施例中,该系统包括监管人设备,该监管人设备经由无线网络与一个或若干服务器通信连接,当所述确定的用户技能水平下降到低于预先确定阈值时,这些服务器可以向监管人设备发送警报,该警报包括计算机代码,该计算机代码可以指挥监管人设备在收到时显示该警报。

本公开的一个方面涉及内容选择和递送的方法。该方法包括:经由通信网络(诸如,例如无线网络)从用户设备处接收一个或若干服务器上的用户标识信息,该用户标识信息标识用户;利用一个或若干服务器,确定由内容网络中接收的用户标识信息标识的用户位置;基于内容网络中用户的位置并且基于保护条件中的至少一些,利用一个或若干服务器选择下一节点;以及利用一个或若干服务器,经由通信网络(诸如,例如无线网络)将下一节点内容递送到用户设备,当下一节点是占位符节点时,从多个可选内容选项中自适应地选择下一节点内容,并且当下一节点不是占位符节点时,下一内容直接链接到下一节点。

在一些实施例中,保护条件中的至少一些保护条件调节进入包括多个节点中的一些节点的学习序列。在一些实施例中,保护条件中的至少一些保护条件调节从包括多个节点中的一些节点的学习序列的退出。在一些实施例中,下一内容可以是干预。在一些实施例中,干预可以是以下中的至少一个:目标性补救内容;脚手架提示;问题生成;回答特定反馈;文本;文本摘要;以及后续问题。

在一些实施例中,直接链接到下一节点的下一内容可以包括与人工智能引擎的对话,该人工智能引擎可以从至少用户设备处接收输入。在一些实施例中,占位符节点的可选内容选项中的至少一个可选内容选项可以是与人工智能引擎的对话,该人工智能引擎可以从至少用户设备处接收输入。

在一些实施例中,该方法包括:启动与人工智能引擎的对话;基于接收的来自人工智能引擎的用户响应向用户设备递送询问和内容;以及基于至少一个暂停标准来确定与人工智能引擎对话的终止。在一些实施例中,暂停标准可以包括终止阈值。在一些实施例中,终止对话包括:生成指示以下中的至少一个的用户性能度量:技能水平;正确响应;以及不正确响应;以及将用户性能度量与终止阈值进行比较。在一些实施例中,当用户性能度量标识足够的用户技能水平时,对话终止。

在一些实施例中,补救对话包括多级询问和响应。在一些实施例中,该方法包括进行各级询问和响应,随后利用人工智能引擎对用户技能水平进行重新评估。在一些实施例中,用户技能水平的重新评估包括由一个或若干服务器将自然语言处理算法应用于接收的响应,该自然语言处理算法包括语音识别算法和自然语言理解算法。在一些实施例中,该方法包括基于接收的用户响应,利用一个或若干服务器,确定用户技能水平,这些接收的用户响应与递送的下一节点内容有关。在一些实施例中,该方法包括当确定的用户技能水平下降到低于预先确定阈值时,从一个或若干服务器向监管人设备发送警报,该警报包括计算机代码,该计算机代码指挥监管人设备在收到时显示该警报。

根据下文提供的详细说明,本发明可应用的其他领域将显而易见。应当理解,在示出各种实施例的同时给出的详细说明和具体实例旨在仅仅用于说明目的,而不意在必然地限制本发明的范围。

附图说明

图1为示出内容分发网络的示例的框图。

图2为示出内容分发网络内的计算机服务器和计算环境的框图。

图3为示出内容分发网络内的一个或多个数据存储服务器的实施例的框图。

图4为示出内容分发网络内的一个或多个内容管理服务器的实施例的框图。

图5为示出内容分发网络内的专用计算机设备的物理部件和逻辑部件的框图。

图6为示出通信网络的一个实施例的框图。

图7为示出用户设备和监管人设备通信的一个实施例的框图。

图8为计算堆栈的一个实施例的示意图。

图9为内容分发网络内的模块的通信和处理流程的一个实施例的示意图。

图10为内容分发网络内的模块的通信和处理流程的另一个实施例的示意图。

图11为内容分发网络内的模块的通信和处理流程的另一个实施例的示意图。

图12为演示过程的一个实施例的示意图。

图13为示出用于数据管理的过程的一个实施例的流程图。

图14为示出用于评估响应的过程的一个实施例的流程图。

图15为内容网络的一个实施例的示意图。

图16为示出用于基于人工智能的内容推荐和调配的过程的一个实施例的流程图。

图17为示出用于选择和递送干预的过程的一个实施例的流程图。

图18为示出用于内容选择和递送的方法的过程的一个实施例的第一部分的流程图。

图19为示出用于内容选择和递送的方法的过程的一个实施例的第二部分的流程图。

在附图中,类似的部件和/或特征可以具有相同的附图标记。另外,可通过在附图标记后加上连接号和用于区分类似部件的第二标记来对相同类型的各种部件加以区分。只要在说明书中使用了第一附图标记,其描述即适用于具有相同第一附图标记的任一类似部件,而不考虑第二附图标记。

具体实施方式

下文的描述仅提供一个或多个例示性实施例,而非意图限制本发明的范围、适用性或架构。相反,下文对示例性实施例的描述将为本领域中的技术人员提供实施优选示例性实施例的操作性描述。应当理解,在不脱离所附权利要求中陈述的实质和范围的情况下,可对元件的功能和布置做出各种改变。

现在参考图1,其示出了一个框图,该框图示出了实现并支持本文所述某些实施例和特征的内容分发网络(cdn)100的各种部件。在一些实施例中,内容分发网络100可以包括一个或若干物理部件和/或一个或若干虚拟部件诸如,例如一个或若干云计算部件。在一些实施例中,内容分发网络100可以包括物理部件和云计算部件的混合。

内容分发网络100可以包括一个或多个内容管理服务器102。如下文更详细讨论的,内容管理服务器102可以是任何所需类型的服务器,包括例如机架式服务器、塔式服务器、微型服务器、刀片服务器、迷你机架式服务器、移动服务器、超级密集服务器、超级服务器等,并且可包括各种硬件部件,例如母板、处理单元、存储器系统、硬盘驱动器、网络接口、电源等。内容管理服务器102可以包括一个或多个服务器群、集群或任何其他适当的布置和/或计算机服务器的组合。内容管理服务器102可根据位于服务器102的存储器子系统中的所存储的指令来操作,并且可运行操作系统,包括任何市售服务器操作系统和/或本文所讨论的任何其他操作系统。

内容分发网络100可包括一个或多个数据存储服务器104,诸如数据库服务器和基于文件的存储系统。数据库服务器104可访问可存储在各种硬件部件上的数据。这些硬件部件可包括例如形成第0层存储的部件、形成第1层存储的部件、形成第2层存储的部件和/或形成任何其他存储层的部件。在一些实施例中,第0层存储是指数据库服务器104中最快的存储层,具体地讲,第0层存储为非ram或非高速缓存存储器的最快的存储。在一些实施例中,第0层存储器可实施在固态存储器诸如固态驱动器(ssd)和/或闪存存储器中。

在一些实施例中,第1层存储是指存储器管理系统中作为一个或若干个较高性能的系统的存储,它比第0层存储器相对较慢,并且比其他存储器层相对较快。第1层存储器可以是一个或若干个硬盘,其可以是例如高性能硬盘。这些硬盘可例如通过一个或若干个光纤通道物理地或通信地或者物理地并且通信地连接。在一些实施例中,一个或若干个磁盘可被布置到磁盘存储系统中,具体地讲,可被布置到企业级磁盘存储系统中。磁盘存储系统可包括任何所需级别的冗余来保护其中存储的数据,并且在一个实施例中,磁盘存储系统可利用产生系统资源的均匀分配和数据均衡分布的并行性的网格体系结构来实现。

在一些实施例中,与第1层存储和第2层存储相比,第2层存储是指在存储器管理系统中包括一个或若干个相对较低性能的系统的存储。因此,第2层存储器比第1层存储器和第0层存储器相对较慢。第2层存储器可包括一个或若干个sata驱动器或一个或若干个nl-sata驱动器。

在一些实施例中,数据库服务器104的一个或若干个硬件和/或软件部件可被布置到一个或若干个存储区域网络(san),这些一个或若干个存储区域网络可以是一个或若干个专用网络,提供对数据存储的访问,具体地讲提供对统一的块级数据存储的访问。san通常具有其自身的存储设备网络,通常不能由其他设备通过局域网(lan)进行访问。san允许以这样的方式访问这些设备,使得这些设备看起来在本地附接到了用户设备。

数据存储104可包括与内容分发网络100的功能相关的存储的数据。下面参考图3描述可在内容分发网络100的某些实施例中保持的数据存储104的例示性示例。在一些实施例中,多个数据存储可驻留在单个服务器104上,使用服务器104的相同存储部件或使用不同的物理存储部件来确保数据安全性和数据存储之间的完整性。在其他实施例中,每个数据存储可具有独立的专用数据存储服务器104。

内容分发网络100还可包括一个或多个用户设备106和/或监管人设备110。用户设备106和监管人设备110可显示经由内容分发网络100接收的内容,并且可支持用户与内容的各种类型的交互。用户设备106和监管人设备110可包括移动设备,诸如智能电话、平板电脑、个人数字助理和可穿戴计算设备。此类移动设备可运行各种移动操作系统,并且针对互联网、电子邮件、短消息服务(sms)、移动射频识别(m-rfid)和/或其他通信协议可被启用。其他用户设备106和监管人设备110可以是通用个人计算机或专用计算设备,包括例如个人计算机、膝上型计算机、工作站计算机、投影设备和交互式房间显示系统。此外,用户设备106和监管人设备110可以是能够通过一个或多个网络120进行通信的任何其他电子设备,诸如瘦客户端计算机、启用互联网的游戏系统、商用或家用电器和/或个人消息传递设备。

在内容分发网络100的不同上下文中,用户设备106和监管人设备110可对应于不同类型的专用设备,例如教育网络中的学生设备和教师设备、公司网络中的雇员设备和演示设备、游戏网络中不同的游戏设备等。在一些实施例中,用户设备106和监管人设备110可在相同的物理位置107(诸如,教室或会议室)操作。在此类情况下,这些设备可包含支持与其他附近的设备(诸如,无线收发器和无线通信接口、以太网插座或其他局域网(lan)接口等)的直接通信的部件。在其他具体实施中,用户设备106和监管人设备110不需要在相同位置107处使用,而是可在相远离的地理位置使用,其中每个用户设备106和监管人设备110可使用安全特征和/或专用硬件(例如,硬件加速的ssl和https、ws-security、防火墙等),与内容管理服务器102和/或其他远程用户设备106通信。此外,不同的用户设备106和监管人设备110可被分配不同的指定角色,诸如演示者设备、教师设备、管理员设备等,并且在这种情况下,不同的设备可设置有附加的硬件和/或软件部件来提供内容并支持其他设备不可用的用户功能。

内容分发网络100还可包括隐私服务器108,所述隐私服务器在使用其他服务器上托管的应用程序或服务的同时在隐私服务器108处保持私人用户信息。例如,即使用户正在访问位于管辖区域之外的服务器(例如,内容管理服务器102)上的应用程序,隐私服务器108可用于保持在一个管辖区域内的用户的私人数据。在这种情况下,隐私服务器108可拦截用户设备106或监管人设备110与包括用户私人信息的其他设备之间的通信。隐私服务器108可创建不公开私人信息的令牌或标识符,并且可在与其他服务器和系统通信时使用所述令牌或标识符,而不是使用用户的私人信息。

如图1所示,内容管理服务器102可与一个或多个附加服务器(诸如,内容服务器112、用户数据服务器112和/或管理员服务器116)通信。这些服务器中的每一者可包括与一个或多个内容管理服务器102相同的物理部件和逻辑部件中的一些或全部,并且在某些情况下,这些服务器112-116的硬件和软件部件可并入一个或多个内容管理服务器102,而不是被实现为独立的计算机服务器。

内容服务器112可包括硬件和软件部件来生成、存储和保持内容资源,以分发给网络100中的用户设备106和其他设备。例如,在用于专业培训和教育目的的内容分发网络100中,内容服务器112可包括培训材料、演示、计划、教学大纲、评论、评估、互动节目和模拟、课程模型、课程大纲,以及对应于不同材料和/或不同类型的用户设备106的各种培训界面的数据存储。在用于媒体分发、互动游戏等的内容分发网络100中,内容服务器112可包括媒体内容文件,诸如音乐、电影、电视节目、游戏和广告。

用户数据服务器114可包括存储和处理与每个用户的活动和内容分发网络100的使用相关的多个用户的数据的硬件和软件部件。例如,内容管理服务器102可记录和跟踪每个用户的系统使用,包括他或她的用户设备106、所访问的内容资源、以及与其他用户设备106的交互。该数据可由用户数据服务器114存储和处理,以支持用户跟踪和分析特征。例如,在专业的培训和教育环境中,用户数据服务器114可存储和分析每个用户所观看的培训材料、所参加的演示、完成的课程、交互、评估结果等。用户数据服务器114还可包括用于用户生成的材料(诸如,由用户完成的评估和测试,以及由用户准备的文档和作业)的存储库。在媒体分发和互动游戏的上下文中,用户数据服务器114可存储和处理多个用户的资源访问数据(例如,访问的内容标题、访问时间、数据使用量、游戏历史、用户设备和设备类型等)。

管理员服务器116可包括用于在内容管理服务器102和内容分发网络100内的其他部件处发起各种管理功能的硬件和软件部件。例如,管理员服务器116可监视内容分发网络100中的各种服务器、数据存储和/或用户设备106的设备状态和性能。当需要时,管理员服务器116可从网络100添加或删除设备,并且执行设备维护,诸如向网络100中的设备提供软件更新。管理员服务器116上的各种管理工具可允许授权用户设置对各种内容资源的用户访问权限,监视用户和设备106的资源使用,并且执行分析并生成关于特定网络用户和/或设备的报告(例如,资源使用跟踪报告、培训评估等)。

内容分发网络100可包括一个或多个通信网络120。虽然在图1中仅识别单个网络120,但是内容分发网络100可包括图1中所示计算机服务器和设备中的任何一者和/或本文所述其他设备之间的任何数量的不同通信网络。通信网络120可启用各种计算设备、服务器和内容分发网络100的其他部件之间的通信。如下所述,内容分发网络100的各种具体实施可采用不同类型的网络120,例如计算机网络、电信网络、无线网络和/或这些和/或其他网络的任意组合。

内容分发网络100可以包括一个或若干导航系统或特征部,包括例如全球定位系统(“gps”)、galileo等,或位置系统或特征部,包括例如一个或若干收发器,这些收发器可以经由例如三角测量确定内容分发网络100的一个或若干部件的位置。所有这些均被描绘为导航系统122。

在一些实施例中,导航系统122可以包括可以与内容分发网络100的一个或若干部件通信的一个或若干特征部,包括例如与用户设备106中的一个或多个和/或与监管人设备110中的一个或多个通信。在一些实施例中,该通信可以包括来自导航系统122的信号的传输,该信号由内容分发网络100的一个或若干部件接收,并且可以用于确定内容分发网络100的一个或若干部件的位置。

内容分发网络100可以包括一个或若干人工智能代理124,本文也称为ai代理124、智能代理123和ia代理124。ai代理124可以是自治实体,其可以经由一个或若干传感器或从一个或若干用户设备处接收输入,并且可以提供对那些接收的输入的响应。在一些实施例中,ai代理124可以包括问答计算系统、智能辅导系统的全部或部分、教学代理等。在一些实施例中,ai代理124的功能可以基于人工智能、机器学习等来预测。ai代理124可以驻留在服务器102和/或内容分发网络100的另一个部件中,或者可以驻留在单独的服务器上或驻留在单独的计算资源上。ai代理124可以被配置为接收来自用户设备106的输入。ai代理124还可以基于所接收的输入启动对话,并且基于所接收的用户输入标识补救对话。在一些实施例中,ai代理124可以基于指示用户技能水平的用户性能度量确定对话和/或补救对话的终止。在一些实施例中,当用户性能度量标识足够的用户技能水平时,可以确定对话终止。

参考图2,示出了示例性分布式计算环境200,其包括计算机服务器202、四个客户端计算设备206,以及可实现本文所述某些实施例和特征的其他部件。在一些实施例中,服务器202可对应于以上在图1中讨论的内容管理服务器102,并且客户端计算设备206可对应于用户设备106。然而,图2中所示计算环境200可对应于被配置为实现客户端-服务器模型或其他分布式计算体系结构的设备和服务器的任何其他组合。

客户端设备206可被配置为通过一个或多个网络220接收和执行客户端应用程序。此类客户端应用程序可以是基于web浏览器的应用和/或独立式软件应用,诸如移动设备应用。服务器202可经由一个或多个通信网络220与客户端设备206通信连接。客户端设备206可从服务器202或从其他应用程序提供商(例如,公共或私人应用商店)接收客户端应用。服务器202可被配置为运行一个或多个服务器软件应用程序或服务,例如基于web或基于云端的服务,以支持内容分发和与客户端设备206的交互。操作客户端设备206的用户可依次利用一个或多个客户端应用程序(例如,虚拟客户端应用程序)与服务器202进行交互,以利用由这些部件提供的服务。

各种不同的子系统和/或部件204可在服务器202上实现。操作客户端设备206的用户可发起一个或多个客户端应用程序,以使用由这些子系统和部件提供的服务。服务器202和客户端设备206内的子系统和部件可在硬件、固件、软件或其组合中实现。在不同的分布式计算系统200和内容分发网络100中,各种不同的系统配置是可能的。因此,图2中所示的实施例是分布式计算系统的一个示例,并且不旨在进行限制。

虽然示出了示例性计算环境200具有四个客户端计算设备206,但是可支持任何数量的客户端计算设备。其他设备诸如专用传感器设备等可与客户端设备206和/或服务器202进行交互。

如图2所示,各种安全和集成部件208可用于通过一个或多个通信网络220发送和管理服务器202和用户设备206之间的通信。安全和集成部件208可包括独立的服务器,诸如web服务器和/或认证服务器,和/或专用网络部件,诸如防火墙、路由器、网关、负载均衡器等。在某些情况下,安全和集成部件208可对应于在与服务器202相同的物理位置在相同实体的控制下操作的一组专用硬件和/或软件。例如,部件208可包括数据中心或云端基础结构中的一个或多个专用web服务器和网络硬件。在其他示例中,安全和集成部件208可对应于可在独立的物理位置和/或由独立的实体操作的独立的硬件和软件部件。

安全和集成部件208可实现用于数据传输和存储的各种安全特征,诸如认证用户和限制对未知或未授权用户的访问。在各种具体实施中,安全和集成部件208可提供例如基于文件的集成模式或用于在内容分发网络100中的各种设备之间传输数据的基于服务的集成方案。安全和集成部件208还可使用安全数据传输协议和/或数据传输加密,例如文件传输协议(ftp)、安全文件传输协议(sftp)和/或良好隐私(pgp)加密。

在一些实施例中,一个或多个web服务可在安全和集成部件208内和/或在内容分发网络100内的其他地方实现。此类服务包括跨域和/或跨平台的web服务和/或根据web服务互操作性(ws-i)指南设计的web服务,可根据各种web服务标准诸如restfulweb服务(即,基于表述性状态转移(rest)架构风格和约束的服务)针对企业应用而开发。一些web服务可使用安全套接字层(ssl)或传输层安全(tls)协议来提供服务器202和用户设备206之间的安全连接。ssl或tls可使用http或https来提供认证和保密性。在其他示例中,可使用具有用于认证的oauth开放标准的restoverhttps,或使用通过xml加密提供安全soap消息的ws-security标准来实现web服务。在其他示例中,安全和集成部件208可包括用于提供安全web服务的专用硬件。例如,安全和集成部件208可包括具有内置功能诸如硬件加速的ssl和https、ws-security和防火墙的安全网络设备。此类专用硬件可安装和配置在任何web服务器的前面,使得任何外部设备可与专用硬件直接通信。

一个或多个通信网络220可以是本领域技术人员所熟悉的任何类型的网络,其可使用各种商业上可用的协议中的任一种来支持数据通信,包括但不限于tcp/ip(传输控制协议/互联网协议)、sna(系统网络体系结构)、ipx(互联网分组交换协议)、安全套接字层(ssl)或传输层安全(tls)协议、超文本传输协议(http)和安全超文本传输协议(https)、近场通信(nfc)等。仅仅作为示例,网络220可以是局域网(lan)、诸如基于以太网、令牌环等的网络。一个或多个网络220还可以是广域网,诸如互联网。网络220可包括电信网络诸如公共交换电话网络(pstn),或虚拟网络诸如内联网或外联网。红外和无线网络(例如,使用电气和电子工程师协会(ieee)802.11协议族或其他无线协议)也可包括在网络220中。

计算环境200还可包括一个或多个数据存储210和/或后端服务器212。在某些示例中,数据存储210可对应于以上在图1中讨论的数据存储服务器104,并且后端服务器212可对应于各种后端服务器112-116。数据存储210和服务器212可驻留在相同的数据中心中,或者可在距服务器202的远程位置处操作。在某些情况下,一个或多个数据存储210可驻留在服务器202内的非暂态存储介质上。其他数据存储210和后端服务器212可远离服务器202,并且被配置为经由一个或多个网络220与服务器202通信。在某些实施例中,数据存储210和后端服务器212可驻留在存储区域网络(san)中,或者可使用存储即服务(staas)架构模型。

参考图3,其示出了对应于以上在图1中讨论的内容分发网络100的数据存储服务器104的一组示例性数据存储和/或数据存储服务器。一个或多个个人数据存储301-311可驻留在单个实体控制下的单个计算机服务器104(或单个服务器群或集群)上的存储器中,或者可驻留在由不同实体操作的独立服务器上和/或远程位置处。在一些实施例中,数据存储301-311可由内容管理服务器102和/或网络100内的其他设备和服务器(例如,用户设备106、监管人设备110、管理员服务器116等)访问。可基于尝试与数据存储交互的过程、用户凭据和/或设备来限制或拒绝对数据存储301-311中的一个或多个的访问。

以下段落描述了可在内容分发网络100的一些实施例中实现的特定数据存储的示例。应当理解,数据存储301-311的以下描述,包括其功能和其中存储的数据类型,是说明性的而非限制性的。数据存储服务器体系结构、设计以及特定数据存储301-311的执行可取决于内容分发网络100的上下文、大小和功能要求。例如,在用于专业培训和教育目的的内容分发系统100中,可在一个或多个数据存储服务器104中实现独立数据库或基于文件的存储系统,以存储学员和/或学生数据、培训师和/或教授数据、培训模块数据和内容描述、培训结果、评估数据等。相反,在用于从内容提供方到订阅户的媒体分发的内容分发系统100中,可在一个或多个数据存储服务器104中实现独立数据存储,以存储可用内容标题和描述、内容标题使用统计、订阅者配置文件、账户数据、支付数据、网络使用统计信息等。

用户配置文件数据存储301(在本文中也称为用户配置文件数据库301)可包括与内容分发网络100内的最终用户相关的信息。该信息可包括用户特征,诸如用户名称、访问凭据(例如,登录名和密码)、用户偏好以及与内容分发网络100内的任何先前用户交互相关的信息(例如,所请求的内容、所发布的内容、已完成的内容模块、培训得分或评估、其他相关用户等)。在一些实施例中,该信息可涉及一个或若干个个人最终用户诸如一个或若干个学生、教师、管理员等,并且在一些实施例中,该信息可涉及一个或若干个机构最终用户,诸如一个或若干个学校、学校群组诸如一个或若干个学区、一个或若干个学院、一个或若干个大学、一个或若干个培训提供方等。在一些实施例中,该信息可以标识一个或若干组中的一个或若干用户成员资格诸如,例如,学生在大学、学校、程序、年级、课程、班级等中的成员资格。

用户配置文件数据库301可以包括与用户的状态、位置等有关的信息。该信息可以标识例如用户正在使用的设备、该设备的位置等。在一些实施例中,可以基于任何位置检测技术生成该信息,包括例如导航系统122等。

与用户状态有关的信息可以标识例如登录状态信息,该登录状态信息可以指示用户当前是否登录到内容分发网络100和/或登录是否有效。在一些实施例中,与用户的状态有关的信息可以标识用户当前是否正在访问内容和/或参与来自内容分发网络100的活动。

在一些实施例中,与用户的状态有关的信息可以标识例如用户与内容分发网络100的交互的一个或若干属性,并且/或者由内容分发网络100分发的内容。这可以包括标识用户与内容分发网络100的交互的数据,用户通过内容分发网络100消费该内容等。在一些实施例中,这可以包括标识通过内容分发网络100访问的信息的类型和/或用户经由内容分发网络100执行的活动的类型的数据、自上次用户访问内容和/或参与来自内容分发网络100的活动以来的经过时间等。在一些实施例中,该信息可以涉及包括数据、内容和/或活动的集合的内容程序,并且可以识别例如,通过内容程序的进展,或通过形成内容程序的数据、内容和/或活动的集合。在一些实施例中,该信息可以跟踪例如自一个或若干活动的类型的参与和/或完成以来的时间量、与一个或若干监管人和/或监管人设备110通信以来的时间量等。

在一个或若干最终用户是个人,具体地讲是学生的一些实施例中,用户配置文件数据库301还可包括与这些学生的学术和/或教育经历相关的信息。该信息可标识学生已发起、已完成和/或已部分完成的一个或若干个学习课程,以及在这些学习课程中得到的成绩。在一些实施例中,学生的学术和/或教育经历可还包括标识学生在一个或若干个测试、测验和/或作业上的表现的信息。在一些实施例中,该信息可存储在不是内容分发网络100中最快的存储器的一层存储器中。

用户配置文件数据库301可包括与一个或若干个学生学习偏好相关的信息。在一些实施例中,例如用户(本文也可以称为学生或学生用户)可以具有一个或若干个偏爱的学习风格、一个或若干最有效的学习风格和/或等。在一些实施例中,学生的学习风格可以是描述学生学得最好的方式或学生偏爱的学习方式的任何学习风格。在一个实施例中,这些学习风格可包括例如将学生标识为听觉型学习者、视觉型学习者和/或触觉型学习者。在一些实施例中,标识一个或若干个学生学习风格的数据可包括基于学生的教育经历标识学习风格的数据,诸如当学生在作业上和/或在有利于听觉型学习者的课程中已得到较高的成绩和/或分数时,将该学生标识为听觉型学习者。在一些实施例中,该信息可存储在不是内容分发网络100中最快的存储器的一层存储器中。

在一些实施例中,用户配置文件数据存储301还可以包括标识一个或若干用户技能水平的信息。在一些实施例中,这些一个或若干用户技能水平可以标识基于用户与内容递送网络100交互的过去性能而确定的技能水平,并且在一些实施例中,这些一个或若干用户技能水平可以标识基于用户与内容递送网络100交互的过去性能以及一个或若干预测模型而确定的预测技能水平。

用户配置文件数据库301可还包括与负责组织、呈现和/或管理向学生的信息呈现的一个或若干个教师和/或指导员相关的信息。在一些实施例中,用户配置文件数据库301可包括标识教师已教授课程和/或学科的信息、标识教师当前教授的课程和/或学科的数据和/或标识老师将教授的课程和/或学科的数据。在一些实施例中,其中可包括与一个或若干个教师的一个或若干个教学风格相关的信息。在一些实施例中,用户配置文件数据库301可还包括指示教师收到的过去的评估和/或评估报告的信息。在一些实施例中,用户配置文件数据库301可还包括与教师收到的改善建议、教师得到的培训、教师接受的继续教育和/或诸如此类相关的信息。在一些实施例中,该信息可存储在不是内容分发网络100中最快的存储器的一层存储器中。

账户数据存储302(在本文中也称为账户数据库302)可生成并存储内容分发网络100内的各种角色中的不同用户的账户数据。例如,可在账户数据存储302中针对个人最终用户、监管人、管理员用户和实体诸如公司或教育机构创建账户。账户数据可包括账户类型、当前账户状态、账户特征,以及与账户相关联的任何参数、限制、制约。

内容库数据存储303(本文也称为内容库数据库303)可以包括描述经由内容分发网络100可用的各个内容项(或内容资源或数据包)的信息。在一些实施例中,内容库数据库303中的这些数据包可以链接以形成对象网络。在一些实施例中,可以根据一个或若干先决条件关系在对象网络中链接这些数据包,这些先决条件关系可以例如标识数据对象的相对分级结构和/或难度。在一些实施例中,该数据对象的分级结构可以由内容分发网络100根据用户对对象网络的体验生成,并且在一些实施例中,可以基于一个或若干现有和/或外部分级结构(诸如,例如教学大纲、内容表等)来生成该数据对象的分级结构。在一些实施例中,例如,对象网络可以对应于教学大纲,使得教学大纲的内容体现在对象网络中。

在一些实施例中,内容库数据存储303可以包括教学大纲、日程表等。在一些实施例中,教学大纲或日程表可以标识与用户相关的一个或若干任务和/或事件。在一些实施例中,例如,当用户是组(诸如部分或类)的成员时,与用户相关的这些任务和/或事件可以标识一个或多个作业、测验、考试等。

在一些实施例中,库数据存储303可包括与存储在内容服务器112中的内容资源相关联的元数据、属性和其他特征。此类数据可标识相关联的内容资源的一个或多个方面或内容属性,例如内容资源的主题事项、访问级别或技能等级,内容资源的许可证属性(例如,对可授权使用和/或内容资源分发的任何限制和/或制约)、内容资源的价格属性(例如,用于确定针对内容资源的使用或分发的支付金额的价格和/或价格结构)、内容资源的评级属性(例如,指示内容资源的评估或有效性的数据)等。在一些实施例中,库数据存储303可被配置为允许更新内容元数据或属性,并允许添加和/或移除与内容资源相关的信息。例如,内容关系可被实现为图形结构,其可存储在库数据存储303中或存储在附加存储器中,以供选择算法与其他元数据一起使用。

在一些实施例中,内容库数据存储303可以包含用于评估从用户处接收的响应的信息。在一些实施例中,例如,用户可以从内容分发网络100接收内容,并且可以接收该内容,随后提供对所接收内容的响应。在一些实施例中,例如,所接收的内容可以包括一个或若干问题、提示等,并且对所接收的内容的响应可以包括对那些一个或若干问题、提示等的回答。在一些实施例中,来自内容库数据存储303的信息(本文称为“比较数据”)可用于确定响应是否是正确和/或期望的响应。

在一些实施例中,内容库数据库303和/或用户配置文件数据库301可以包括聚合网络,本文也称为内容网络或内容聚合网络。聚合网络可以包括多个内容聚合,这些内容聚合可以通过例如:由共同用户创建;与共同主题、话题、技能等的关系;从一组共同的源材料(如源数据包)创建;等。在一些实施例中,内容聚合可以包括内容组,该内容组包括演示部分,该演示部分能够以例如闪存卡和提取部分的形式提供给用户,该提取部分可以包括对演示部分的期望响应诸如,例如,对闪存卡的回答。在一些实施例中,一个或若干内容聚合可以由内容分发网络100生成,并且可以与可以例如在对象网络中组织的一个或若干数据包相关。在一些实施例中,可以从存储在一个或若干数据包中的内容创建一个或若干内容聚合。

在一些实施例中,位于内容库数据库303和/或用户配置文件数据库301中的内容聚合可以与那些内容聚合的用户创建者相关联。在一些实施例中,对内容聚合的访问可以基于例如用户是否创建内容聚合而变化。在一些实施例中,内容库数据库303和/或用户配置文件数据库301可以包括与特定用户相关联的内容聚合的数据库,并且在一些实施例中,内容库数据库303和/或用户配置文件数据库301可以包括多个内容聚合数据库,每个数据库与特定用户相关联。在一些实施例中,这些内容聚合数据库可以包括由其特定用户创建的内容聚合,并且在一些实施例中,这些内容聚合数据库还可以包括被其特定用户和/或该特定用户的监管人选择包括的内容聚合。在一些实施例中,这些内容聚合能够以与对象网络中的数据包类似的分级结构关系来布置和/或链接,并且/或者链接到对象网络中的对象网络或与对象网络或教学大纲或日程表中的数据包相关联的任务或技能。

在一些实施例中,可以根据对象网络和/或在对象网络中体现的分级结构关系来组织内容聚合网络和形成内容聚合网络的内容聚合。在一些实施例中,可以根据在教学大纲、日程表等中标识的一个或若干任务来组织内容聚合网络和/或形成内容聚合网络的内容聚合。

定价数据存储304可以包括确定用于提供对内容分发网络100和/或网络100内的单独内容资源的访问的支付金额的定价信息和/或定价结构。在某些情况下,可基于用户对内容分发网络100的访问(例如,基于时间的订阅费或基于网络使用的定价)来确定定价。在其他情况下,定价可与特定内容资源相关。某些内容资源可具有相关联的定价信息,而其他定价确定可基于所访问的资源、用户的配置文件和/或账户以及期望的访问级别(例如,访问持续时间、网络速度等)。另外,定价数据存储304可包括与内容资源组的编译定价相关的信息,诸如组价格和/或资源分组的价格结构。

许可证数据存储305可以包括与内容分发网络100内的内容资源的许可证和/或许可相关的信息。例如,许可证数据存储305可标识内容服务器112中的个人内容资源和/或内容资源的编译的许可证和许可条款,内容资源的版权所有者和/或公共或大规模版权所有者信息,诸如内容服务器112中未包括的内容的版权所有者的联系信息。

内容访问数据存储306可以包括内容分发网络100的访问权限和安全信息以及特定内容资源。例如,内容访问数据存储306可包括可在用户尝试登录网络100期间验证的登录信息(例如,用户标识符、登录名、密码等)。内容访问数据存储306还可用于存储所分配的用户角色和/或用户访问级别。例如,用户的访问级别可对应于所述多组内容资源和/或用户被允许访问的客户端或服务器应用程序。可基于订阅级别、培训计划、课程/成绩等级等来允许或拒绝某些用户对某些应用程序和资源的访问。某些用户可具有对一个或多个终端用户的监管访问,允许监管人访问终端用户的内容、活动、评估等的全部或部分。此外,某些用户可对内容管理网络100中的一些用户和/或一些应用程序具有管理访问,允许此类用户添加和删除用户账户、修改用户访问权限、对软件和服务器执行维护更新等。

源数据存储307可以包括与经由内容分发网络可用的内容资源的源相关的信息。例如,源数据存储307可标识内容资源的作者和发起设备、源自相同作者或发起设备的先前数据块和/或数据组等。

评估数据存储308可以包括用于指导用户评估的信息和内容管理网络100中的内容资源。在一些实施例中,评估数据存储308可包含例如用于评估用户(例如,学员/学生、游戏用户、媒体内容消费者等)和/或用于评估网络100中的内容资源的分析标准和分析指南。评估数据存储308还可包括与评估处理任务相关的信息,例如,对已收到某些内容资源或已访问某些应用程序的用户和用户设备106的标识,内容资源、用户或应用程序等的评估状态或评估历史。评估标准可存储在评估数据存储308中,包括用于评估内容、用户或应用程序的具有一个或若干个电子细则或评分指南的形式的数据和/或指令。评估数据存储308还可包括针对用户、内容和应用程序的过去的评估和/或评估分析,包括相对排名、特性、解释等。

模型数据存储309(在本文中也称为模型数据库309)可以存储与一个或若干个预测模型相关的信息。在一些实施例中,这些可以包括一个或若干证据模型、风险模型、技能模型等。在一些实施例中,证据模型可以是基于数学的统计模型。该证据模型可以基于例如项目反应理论(irt)、贝叶斯网络(贝叶斯网)、性能因素分析(pfa)等。在一些实施例中,证据模型可以为用户和/或一个或若干内容项定制。具体地,可以将与用户和/或一个或若干内容项相关的一个或若干输入插入到证据模型中。这些输入可以包括例如用户技能水平的一个或若干测量、内容项难度和/或技能水平的一个或多个测量等。然后可以使用定制的证据模型来预测用户向一个或若干内容项提供期望或不期望的响应的可能性。

在一些实施例中,风险模型可以包括可用于计算一个或若干模型函数值的一个或若干模型。在一些实施例中,这些一个或若干模型函数值可以用于计算风险概率,该风险概率可以表征用户的风险,诸如学生用户未能实现期望的结果诸如,例如,未能正确响应一个或若干数据分子,未能达到所需的程序完成程度,例如在预定义的时间段内,未能实现所需的学习结果等。在一些实施例中,风险概率可以标识学生用户未能完成60%的程序的风险。

在一些实施例中,这些模型可包括多个模型函数,这些模型函数包括例如第一模型函数、第二模型函数、第三模型函数和第四模型函数。在一些实施例中,模型功能中的一些或全部可以与程序的一部分相关联诸如,例如,程序的完成阶段和/或完成状态。在一个实施例中,例如,第一模型函数可以与第一完成状态相关联,第二模型函数可以与第二完成状态相关联,第三模型函数可以与第三完成状态相关联,第四模型函数可以与第四完成状态相关联。在一些实施例中,可以选择这些完成状态,使得这些完成状态中的一些或全部小于程序的期望完成水平。具体地,在一些实施例中,可以选择这些完成状态以使所有程序的完成程度小于60%,更具体地,在一些实施例中,第一完成状态可以是程序完成20%,第二完成状态可以是程序完成30%,第三完成状态可以是程序完成40%,第四个完成状态可以是程序完成50%。类似地,任何期望数量的模型函数可以与任何期望数量的完成状态相关联。

在一些实施例中,可以基于学生用户通过程序的进度从多个模型函数中选择模型函数。在一些实施例中,可以将学生用户的进度与一个或若干状态触发阈值进行比较,其中每个状态触发阈值可以与一个或若干模型函数相关联。如果其中一个状态触发由学生用户的进度触发,则可以选择对应的一个或若干模型功能。

模型函数可以包括各种类型的模型和/或函数。在一些实施例中,每个模型函数输出可用于计算风险概率的函数值。可以通过对指示一个或若干用户属性和/或用户参数的一个或若干值执行一个或若干数学运算操作来计算该函数值,本文也称为程序状态参数。在一些实施例中,每个模型函数可以使用相同的程序状态参数,并且在一些实施例中,模型函数可以使用不同的程序状态参数。在一些实施例中,当模型函数中的至少一个使用至少一个未被其他模型函数使用的程序状态参数时,该模型函数使用不同的程序状态参数。

在一些实施例中,技能模型可以包括标识一个或若干学生的预测技能水平的统计模型。在一些实施例中,该模型可以标识学生的单个技能水平和/或学生的一系列可能的技能水平。在一些实施例中,该统计模型可以标识学生用户的技能水平以及与该技能水平相关联的误差值或误差范围。在一些实施例中,误差值可以与基于置信水平确定的置信区间相关联。因此,在一些实施例中,随着与内容分发网络的学生交互的数量增加,置信水平可以增加并且误差值可以减小,使得由关于预测技能水平的误差值标识的范围更小。

阈值数据库310(在本文中也称为阈值数据库)可存储一个或若干个阈值。这些一个或若干个阈值可在状态或条件之间区别描绘。在一个示例性实施例中,例如,阈值可以在可接受的用户性能与不可接受的用户性能之间、适合于用户的内容与不适合用户的内容之间、风险水平之间等区别描绘。

除了上述示例性数据存储之外,一个或多个数据存储服务器104(例如,数据库服务器、基于文件的存储服务器等)可包括一个或多个外部数据聚合器311。外部数据聚合器311可包括可由内容管理网络100访问但不由内容管理网络100维护的第三方数据源。外部数据聚集器311可包括与内容分发网络100的用户、内容资源或应用程序相关的任何电子信息源。例如,外部数据聚集器311可以是包含人口统计数据、教育相关数据、消费者销售数据、健康相关数据等的第三方数据存储。示例性外部数据聚集器311可包括例如社交网络web服务器、公共记录数据存储、学习管理系统、教育机构服务器、业务服务器、消费者销售数据存储、医疗记录数据存储等。从各种外部数据聚合器311检索到的数据可用于验证和更新用户账户信息、建议用户内容,以及执行用户和内容评估。

现在参考图4,其示出了一个框图,该框图示出内容分发网络100内的一个或多个内容管理服务器102的实施例。在此类实施例中,内容管理服务器102执行流内容的内部数据采集和处理以及外部数据采集和处理。其他实施例可以具有所有外部数据或所有内部数据采集。该实施例允许报告报告方或其他方可能感兴趣的及时信息。在该实施例中,内容管理服务器102可以监视来自若干源的采集的信息,以允许其基于该信息做出及时的业务和/或处理决定。例如,可以从多个源采集并向内容管理服务器102报告用户动作和/或响应的报告,以及一个或若干处理任务的状态和/或结果。

在内部,内容管理服务器102从一个或多个内部部件402至408处采集信息。内部部件402至408收集和/或处理与诸如以下内容相关的信息:提供给用户的内容;由用户消费的内容;由用户提供的响应;用户技能水平;内容难度水平;用于向用户提供下一内容;等。内部部件402至408可以实时、接近实时或沿着另一时间线报告所采集和/或生成的信息。为了解释报告信息的任何延迟,时间戳或陈旧指示符可以告知其他人信息的采样时间。内容管理服务器102可以选择允许第三方通过订阅内容分发网络100来使用在服务器102内聚合的内部或外部采集的信息。

命令和控制(cc)接口338将采集的输入信息配置为数据流的输出,本文也称为内容流。将用于接受所采集的信息和提供数据流的api提供给想要订阅数据流的服务器102外部的第三方。服务器102或第三方可以使用cc接口338设计尚未定义的api。服务器102也可以使用cc接口338定义授权和认证参数,诸如认证、授权、登录和/或数据加密。在该实施例中,cc信息通过与采集的信息或数据流分开的信道递送到内部组件402至408和/或内容分发网络100的其他部件,但是其他实施例可以在这些通信信道中嵌入cc信息。cc信息允许限制信息报告频率、指定信息和数据流的格式、去激活一个或若干内部部件402至408和/或内容分发网络100的其他部件、更新认证和授权等。

可以通过cc接口338研究和探索可用的各种数据流。用于特定订阅者的那些数据流选择(其可以是内部部件402至408中的一个或若干和/或内容分发网络100的其他部件)存储在队列订阅信息数据库322中。然后,服务器102和/或cc接口338将所选择的数据流路由到已经选择了给定数据流的递送的处理订阅者。另外,服务器102也支持由存档数据代理336采集的存储在历史数据存储334中的各种数据流的历史查询。通过cc接口238,可以选择各种数据流以存档到历史数据存储334中。

服务器102外部的内容分发网络100的部件还可以采集实时、接近实时或沿着另一时间线报告给服务器102的信息。在那些部件和服务器102之间存在定义的api。由服务器102收集的每种类型的信息或变量属于定义的api或多个api。在一些情况下,cc接口338用于定义附加变量以修改可能对处理订阅者有用的api。其他变量可以递送给所有处理订阅或仅递送给子集。例如,服务器102外部的内容分发网络100的部件可以报告用户响应,但是将该用户的标识符定义为私有变量,该私有变量不会递送给缺乏对该用户的访问权和/或接收该用户数据的授权的处理订阅者。有权访问该用户的处理订阅者和/或接收该用户数据的授权将接收订阅者标识符以及报告该部件的响应。可以使用数据流或子流的加密和/或唯一寻址来隐藏消息递送队列中的私有变量。

用户设备106和/或监管人设备110通过安全和/或集成硬件410与服务器102通信。与安全和/或集成硬件410的通信可以加密或不加密。例如,可以使用套接字,其使用tcp连接。除了tcp之外,在一些实施例中可以使用如sctp和udp的其他传输层协议来获取所采集的信息。可以使用协议诸如ssl来保护tcp连接上的信息。可以对与服务器102接口的任何用户设备106和/或监管人设备执行认证和授权。安全和/或集成硬件410通过提供api和任何加密、授权和/或认证来从一个或若干用户设备106和/或监管人设备110处接收信息。在一些情况下,安全和/或集成硬件410重新格式化或重新布置该接收的信息。

消息传送总线412(本文也称为消息传送队列或消息传送信道)可以从服务器102的内部部件和/或服务器102外部的内容分发网络100的部件处接收信息,并且将所采集的信息作为数据流分发给已经从消息传送队列412处请求数据流的任何处理订阅者。具体地,在一些实施例中,消息传送总线412可以从分组选择系统、演示系统、响应系统和摘要模型系统中的至少一个处接收和输出信息。在一些实施例中,可以根据“推”模型输出该信息,并且在一些实施例中,可以根据“拉”模型输出该信息。

如图4所示,处理订阅者由到消息传送总线412的连接器指示,该连接器具有指向远离消息传送总线412的箭头。如果完全接收到,则只有特定处理订阅者已经订阅的消息传送队列412内的数据流可由该处理订阅者读取。发送到消息传送队列412的所采集的信息由消息传送队列412在几分之一秒内处理并在数据流中返回。可以使用各种组播和路由技术来从消息传送队列412分发许多处理订阅者已经请求的数据流。协议诸如组播或多个单播可用于在消息传送队列412内分发流。另外,传输层协议如tcp、sctp和udp可以用在各种实施例中。

通过cc接口338,可以在消息传送队列412内为外部或内部处理订阅者分配一个或多个数据流。数据流是特定类别中的特定类型的消息。例如,数据流可以包括由指定的一组部件报告给消息传送总线412的所有数据。一个或多个处理订阅者可以订阅和接收数据流,以处理该信息并做出决定,并且/或者将来自该处理的输出作为反馈到消息传送队列412中的采集的信息进行反馈。通过cc接口338,开发者可以搜索可用数据流或指定新数据流及其api。可以通过利用处理订阅者处理多个现有数据流来确定新数据流。

cdn110具有内部处理订阅者402至408,其处理所分配的数据流以执行服务器102内的功能。内部处理订阅者402至408可以执行诸如向用户提供内容、从用户处接收响应、确定接收到的响应的正确性、基于响应的正确性更新一个或若干模型、推荐提供给一个或若干用户的新内容等功能。内部处理订阅者402至408可以决定对来自数据流的记录进行滤波和加权。在基于对数据流的分析做出决定的程度上,每个数据记录都带有时间戳,以反映何时采集信息,使得例如可以给予更近期的结果附加的可信度。其他实施例可以滤波掉来自不可靠源或陈旧数据流中的记录。例如,特定的信息贡献者可能被证明具有不是最佳的采集的信息,并且可以被加权得非常低或完全被移除。

内部处理订阅者402至408可以另外处理一个或多个数据流,以提供不同的信息来反馈到消息传送队列412中而成为不同数据流的一部分。例如,数百个用户设备106可以提供放入消息传送队列412上的数据流的响应。内部处理订阅者402至408可以接收数据流并对其进行处理以确定提供给一个或若干用户的一个或若干数据包的难度,并且将该信息提供回消息传送队列412以供其他内部和外部处理订阅者使用。

如上所述,cc接口338允许cdn110查询历史消息传送队列412的信息。存档数据代理336监听消息传送队列412以将数据流存储在历史数据库334中。历史数据库334可以存储用于变化的时间量的数据流,并且可能无法存储所有数据流。可以存储用于不同的时间量的不同的数据流。

关于部件402-48,内容管理服务器102可包括各种服务器硬件和软件部件,这些服务器硬件和软件部件管理内容分发网络100内的内容资源,并且向各种用户设备106上的用户提供交互式内容和自适应内容。例如,内容管理服务器102可向内容分发网络100内的其他设备提供指令并且从内容分发网络100内的其他设备接收信息,以便管理和递送在网络100内执行的内容资源、用户数据和服务器或客户端应用程序。

内容管理服务器102可包括分组选择系统402。分组选择系统402可使用内容分发网络100内的专用硬件(例如,分组选择服务器402),或使用共享内容管理服务器102内的指定硬件和软件资源来实施。在一些实施例中,分组选择系统402可调整内容资源的选择和自适应能力以匹配接收内容的用户的需要和期望。例如,分组选择系统402可查询各种数据存储和服务器104来检索用户信息,诸如用户偏好和特征(例如,从用户配置文件数据存储301)、用户对内容资源的访问限制(例如,从内容访问数据存储306)、先前的用户结果和内容评估(例如,来自评估数据存储308)等。基于从数据存储104和其他数据源检索的信息,分组选择系统402可修改个人用户的内容资源。

在一些实施例中,分组选择系统402可以包括推荐引擎,本文也称为自适应推荐引擎。在一些实施例中,推荐引擎可以选择一个或若干内容片段,本文也称为数据包,用于提供给用户。可以基于例如从数据库服务器104检索的信息来选择这些数据包,包括例如用户配置文件数据库301、内容库数据库303、模型数据库309等。在一些实施例中,可以根据一个或若干选择规则自适应地选择和/或选择这些一个或若干数据包。在一个实施例中,例如,推荐引擎可以从用户配置文件数据库301处检索信息,该信息识别例如用户的技能水平。推荐引擎还可以从内容库数据库303处检索信息,该信息识别例如用于提供给用户的潜在数据包以及那些数据包的难度和/或与那些数据包相关联的技能水平。

推荐引擎可以识别一个或若干潜在数据包用于提供给用户,并且/或者一个或若干数据包用于基于例如一个或若干规则、模型、预测提供给用户等。推荐引擎可以使用用户的技能水平来生成对一个或若干用户提供的对一些或所有潜在数据包的期望响应的可能性的预测。在一些实施例中,推荐引擎可以将一个或若干数据包与选择标准配对,该选择标准可以用于基于来自该学生用户的一个或若干接收的响应确定应该将哪个分组递送给学生用户。在一些实施例中,如果预测指示期望响应的可能性太高或者期望响应的可能性太低,则可以从潜在数据包池中消除一个或若干数据包。在一些实施例中,推荐引擎然后可以将一个或若干选择标准应用于剩余的潜在数据包以选择用于提供给用户的数据包。这些一个或若干选择标准可以基于,例如,与用于收到对数据包的响应的期望估计时间、一个或若干个内容参数、一个或若干分配参数等相关的标准。

内容管理服务器102还可包括摘要模型系统404。摘要模型系统404可使用内容分发网络100内的专用硬件(例如,摘要模型服务器404),或使用共享内容管理服务器102内的指定硬件和软件资源来实现。在一些实施例中,摘要模型系统404可通过各种类型的内容资源和组,诸如在培训或教育环境、交互式游戏环境等中的媒体编译、课程或总课程来监视用户的进度。例如,摘要模型系统404可查询一个或多个数据库和/或数据存储服务器104来检索用户数据,诸如相关联的内容编译或节目、内容完成状态、用户目标、结果等。

内容管理服务器102也可以包括响应系统406,在一些实施例中,该响应系统可以包括响应处理器。响应系统406可使用内容分发网络100(例如,响应服务器406)内的专用硬件,或者使用共享内容管理服务器102内的指定硬件和软件资源来实现。响应系统406可被配置为接收和分析来自用户设备106的信息。例如,可编译和分析用户提交的内容资源的各种评级,然后将其存储在与内容相关联的数据存储(例如,内容库数据存储303和/或评估数据存储308)中。在一些实施例中,响应服务器406可分析信息以利用例如主题事项、年龄组、技能等级等来确定内容资源的有效性或适当性。在一些实施例中,响应系统406可利用网络100内的一个或多个内容资源或资源组的属性来向分组选择系统402或摘要模型系统404提供更新。响应系统406还可接收和分析来自用户设备106、监管人设备110和管理员服务器116等的用户评估数据。例如,响应系统406可接收、聚合和分析不同上下文中不同类型的用户(例如,终端用户、监管人、管理员等)的用户评估数据(例如,媒体消费者评级、学员或学生的理解水平、教师效果水平、选手技能等级等)的用户。

在一些实施例中,响应系统406还可以被配置为从用户处接收一个或若干响应并分析这些一个或若干响应。在一些实施例中,例如,响应系统406可以被配置为将一个或若干响应转换成一个或若干可观察对象。如这里所使用,可观察对象是对所接收的响应的表征。在一些实施例中,将一个或若干响应转换成一个或若干可观察对象可以包括确定一个或若干响应是否是正确的响应,在本文中也称为期望的响应,或者是不正确的响应,在本文中也称为不期望的响应。在一些实施例中,将一个或若干响应转换成一个或若干可观察对象可以包括表征一个或若干响应是期望响应和/或不期望响应的程度。在一些实施例中,响应系统406可以生成一个或若干值以反映用户响应一个或若干数据包的性能。在一些实施例中,这些一个或若干值可以包括一个或若干响应和/或数据包的一个或若干分数。

内容管理服务器102还可包括演示系统408。演示系统408可使用内容分发网络100(例如,演示服务器408)内的专用硬件,或者使用共享内容管理服务器102内的指定硬件和软件资源来实现。演示系统408可以包括演示引擎,该演示引擎可以是例如在内容递送系统上运行的软件模块。

演示系统408(本文也称为演示模块或演示引擎)可以从分组选择系统402和/或从摘要模型系统404处接收内容资源,并且将这些资源提供给用户设备106。演示系统408可基于用户特征和偏好、和/或用户设备106的设备能力来确定内容资源的适当演示格式。如果需要,演示系统408可在发送之前将内容资源转换为适当的演示格式和/或压缩内容。在一些实施例中,演示系统408还可确定用于内容资源的传输的适当的传输媒体和通信协议。

在一些实施例中,演示系统408可包括专用安全和集成硬件410以及对应的软件部件,以实现适当的安全特征内容传输和存储,提供支持的网络和客户端访问模型,以及支持性能和网络100的可扩展性要求。安全和集成层410可包括上面在图2中讨论的安全和集成部件208中的一些或全部,并且可控制内容资源和其他数据的传输,以及请求和内容交互的接收,接收至以及接收自用户设备106、监管人设备110、管理服务器116和网络100中的其他设备。

现在参考图5,其示出示例性计算机系统的框图。系统500可以对应于上述内容分发网络100的任何计算设备或服务器,或者本文描述的任何其他计算设备,具体地,可以包括例如用户设备106、监管人设备110和/或任何服务器102、服务器104、服务器108、服务器112、服务器114、服务器116中的一个或若干。在该示例中,计算机系统500包括经由总线子系统502与多个外围子系统通信的处理单元504。这些外围子系统包括例如存储子系统510、输入/输出子系统526和通信子系统532。

总线子系统502提供用于使计算机系统500的各种部件和子系统按照预期彼此通信的机制。虽然总线子系统502被示意性地示出为单条总线,但总线子系统的替代实施例可利用多条总线。总线子系统502可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任意一种的局部总线。此类体系结构可包括例如工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)局部总线和外围部件互连(pci)总线,所述外围部件互连总线可实现为根据ieeep1386.1标准制造的夹层总线。

处理单元504可实现为一个或多个集成电路(例如,常规微处理器或微控制器),控制计算机系统500的操作。包括单核和/或多核处理器的一个或多个处理器可包括在处理单元504中。如图所示,处理单元504可实现为具有包括在每个处理单元中的单核或多核处理器和处理器高速缓存的一个或多个独立处理单元506和/或508。在其他实施例中,处理单元504还可实现为四核处理单元或更大的多核设计(例如,六核处理器、八核处理器、十核处理器或更多核的处理器)。

处理单元504可执行在程序代码中体现的各种软件处理,并且可保持多个同时执行的程序或处理。在任何给定时间,要执行的程序代码中的一些或全部可驻留在一个或多个处理器504和/或存储子系统510中。在一些实施例中,计算机系统500可包括一个或多个专用处理器,诸如数字信号处理器(dsp)、外置处理器、图形处理器、专用处理器等。

输入/输出子系统526可包括一个或多个用户界面输入设备和/或用户界面输出设备530的设备控制器528。用户界面输入设备和用户界面输出设备530可与计算机系统500集成(例如,集成音频/视频系统和/或触摸屏显示器),或者可以是可与计算机系统500附接/分离的独立外围设备。输入/输出子系统526可以通过以可感知和/或可解释的形式将一个或若干电信号转换至用户来向用户提供一个或若干输出,并且可以通过基于一个或若干用户引起的与输入/输出子系统的交互(诸如按下键或按钮、移动鼠标、与触摸屏或触控板的交互、声波与麦克风的交互等)生成一个或若干电信号,以从该用户处接收一个或多个输入。

输入设备530可包括键盘、指示设备诸如鼠标或轨迹球,结合到显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、键盘、具有语音命令识别系统的音频输入设备、麦克风以及其他类型的输入设备。输入设备530还可包括三维(3d)鼠标、操纵杆或指示棒、游戏手柄和图形输入板,以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3d扫描仪、3d打印机、激光测距仪和眼睛注视跟踪设备。附加输入设备530可包括例如使得用户能够使用手势和语音命令,通过自然用户界面来控制输入设备并与之进行交互的运动感测和/或手势识别设备,检测来自用户的眼睛活动并且将眼睛姿态转换为输入到输入设备的输入的眼睛姿势识别设备,使得用户能够通过语音命令与语音识别系统进行交互的语音识别感测设备、医学成像输入设备、midi键盘、数字乐器等等。

输出设备530可包括一个或多个显示子系统、指示灯或非视觉显示器诸如音频输出设备等。显示子系统可包括例如阴极射线管(crt)显示器、平板设备诸如使用液晶显示器(lcd)或等离子体显示器的设备、发光二极管(led)显示器、投影设备、触摸屏等。一般来说,术语“输出设备”的使用旨在包括用于将信息从计算机系统500输出至用户或其他计算机的所有可能类型的设备和机构。例如,输出设备530可包括但不限于视觉地递送文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。

计算机系统500可包括一个或多个存储子系统510,包括用于存储数据和程序指令的硬件和软件部件,诸如系统存储器518和计算机可读存储介质516。系统存储器518和/或计算机可读存储介质516可存储在处理单元504上可加载和可执行的程序指令,以及在执行这些程序期间生成的数据。

根据计算机系统500的配置和类型,系统存储器318可存储在易失性存储器(诸如随机存取存储器(ram)512)和/或非易失性存储驱动器514(诸如只读存储器)、闪存存储器等)。ram512可包含处理单元504可立即访问和/或当前正在操作和执行的数据和/或程序模块。在一些实现中,系统存储器518可包括多种不同类型的存储器,诸如静态随机存取存储器(sram)或动态随机存取存储器(dram)。在一些具体实施中,基本输入/输出系统(bios)通常可存储在非易失性存储驱动器514中,其包含(诸如在启动期间)帮助计算机系统500内的元件之间传输信息的基本例程。通过举例而非限制的方式,系统存储器518可包括应用程序520(诸如,客户端应用程序、web浏览器、中间层应用程序、服务器应用程序等)、程序数据522和操作系统524。

存储子系统510还可提供一个或多个有形计算机可读存储介质516,用于存储提供一些实施例的功能的基本编程和数据结构。由处理器执行时提供本文所描述的功能的软件(程序、代码模块、指令)可存储在存储子系统510中。这些软件模块或指令可由处理单元504执行。存储子系统510还可以提供用于存储根据本发明使用的数据的储存库。

存储子系统300还可以包括可以进一步连接到计算机可读存储介质516的计算机可读存储介质读取器。一起并且可选地,与系统存储器518组合的计算机可读存储介质516可全面地表示远程、本地、固定和/或可移动存储设备,以及用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的存储媒体。

包含程序代码或程序代码的部分的计算机可读存储介质516可包括本领域中已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息的任何方法或技术实现的易失性和非易失性介质、可移动和不可移动介质。其可包括有形计算机可读介质,诸如ram、rom、电可擦除可编程rom(eeprom)、闪存存储器或其他存储技术、cd-rom、数字通用盘(dvd)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或其他有形计算机可读介质。其还可包括无形计算机可读介质,诸如数据信号、数据传输或可用于传输所需信息并且可由计算机系统500访问的任何其他介质。

例如,计算机可读存储介质516可包括从不可移动非易失性磁介质读取或向其写入的硬盘驱动器,从可移动非易失性磁盘读取或向其写入的磁盘驱动器,以及光盘驱动器,该光盘驱动器从可移动非易失性光盘或其他光学介质诸如cdrom、dvd和盘读取或向其写入。计算机可读存储介质516可包括但不限于驱动器、闪存存储器卡、通用串行总线(usb)闪存驱动器、安全数字(sd)卡、dvd盘,数字视频磁带等。计算机可读存储介质516还可包括基于非易失性存储器的固态驱动器(ssd)(诸如,基于闪存的ssd、企业闪存驱动器、固态rom等)、基于易失性存储器的ssd(诸如,固态ram、动态ram、静态ram)、基于dram的ssd、磁阻ram(mram)ssd和使用基于dram的ssd和基于闪存存储器的ssd的组合的混合ssd。盘驱动器及其相关联的计算机可读介质可为计算机系统500提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。

通信子系统532可经由包括局域网(lan)、广域网(wan)(例如,互联网)和各种无线电信网络的一个或多个通信网络提供来自计算机系统500和外部计算设备的通信接口。如图5所示,通信子系统532可包括例如一个或多个网络接口控制器(nic)534(诸如,以太网卡、异步传输模式nic、令牌环nic等),以及一个或多个无线通信接口536(诸如,无线网络接口控制器(wnic)、无线网络适配器等)。如图5所示,通信子系统532可以包括例如一个或多个位置确定特征部538,诸如一个或若干导航系统特征部和/或接收器等。此外或替代地,通信子系统532可包括一个或多个调制解调器(电话、卫星、电缆、isdn)、同步或异步数字用户线路(dsl)单元、接口、接口等。通信子系统536还可包括射频(rf)收发器部件、全球定位系统(gps)接收器部件和/或其他部件,其中该射频收发器部件用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术,高级数据网络技术诸如3g、4g或edge(全球演进的增强型数据率),wifi(ieee802.11家族标准)或其他移动通信技术或它们的任意组合)。

通信子系统532的各种物理部件可以是经由计算机网络、总线等连接到计算机系统500,并且/或者可物理地集成到计算机系统500的主板上的可拆卸部件。通信子系统532也可全部或部分地由软件实施。

在一些实施例中,通信子系统532还可代表可使用或访问计算机系统500的一个或多个用户,接收结构化和/或非结构化数据馈送、事件流、事件更新等形式的输入通信。例如,通信子系统532可被配置为从社交网络和/或其他通信服务的用户实时接收数据馈送,web馈送诸如丰富站点摘要(rss)馈送,和/或来自一个或多个第三方信息源(例如,数据聚合器311)的实时更新。另外,通信子系统532可被配置为以连续数据流的形式接收数据,其可包括实时事件和/或事件更新的事件流(例如,传感器数据应用程序、金融报价器、网络性能测量工具、分析工具、汽车交通监控等)。通信子系统532可将此类结构化和/或非结构化数据馈送、事件流、事件更新等输出至一个或多个数据存储104,所述数据存储可与连接到计算机系统500的一个或多个流传输数据源计算机进行通信。

由于计算机和网络不断变化的性质,图中所示计算机系统500的描述旨在仅作为具体示例。具有比图中所示的系统更多或更少的部件的许多其他配置是可能的。例如,还可使用自定义硬件和/或可在硬件、固件、软件或其组合中实现特定元件。此外,可采用到其他计算设备诸如网络输入/输出设备的连接。基于本文提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其他方式和/或方法。

现在参考图6,其示出了通信网络的例示的一个实施例的框图。具体地,图6描绘了一种硬件配置,其中经由通信网络120在源集线器602之间交换消息,该通信网络可以包括一个或若干中间集线器604。在一些实施例中,源集线器602可以是内容分发网络的任何一个或若干部件,其生成并发起消息的发送,并且终止集线器606可以是内容分发网络100接收并且不重发消息的任何一个或若干部件。在一些实施例中,例如,源集线器602可以是用户设备106、监管人设备110和/或服务器102中的一个或若干,并且终止集线器606同样可以是用户设备106、监管人设备110和/或服务器102中的一个或若干。在一些实施例中,中间集线器604可以包括接收消息并将消息重新发送到下一节点的任何计算设备。

如图6所示,在一些实施例中,集线器602、集线器604、集线器606中的每一个均可以与数据存储104通信地连接。在此类实施例中,集线器602、集线器604、集线器606中的一些或全部可以向数据存储104发送标识所接收的消息和/或任何发送或重新发送消息的信息。在一些实施例中,该信息可用于确定任何发送和/或所接收的消息的完整性,并且/或者验证终止集线器606接收的任何消息的准确性和完整性。

在一些实施例中,通信网络120可以由中间集线器604形成。在一些实施例中,通信网络120可以包括单个中间集线器604,并且在一些实施例中,通信网络120可以包括多个中间集线器。在一个实施例中,例如,如图6所描绘,通信网络120包括第一中间集线器604-a和第二中间集线器604-b。

现在参考图7,其示出了用户设备106和监管人设备110通信的例示的一个实施例的框图。在一些实施例中,例如,用户可以具有可以与内容分发网络100连接以发送或接收信息的多个设备。在一些实施例中,例如,用户可以具有个人设备,诸如移动设备、智能电话、平板电脑、智能手表、膝上型电脑、pc等。在一些实施例中,除了个人设备之外,其他设备可以是任何计算设备。该其他设备可以包括例如膝上型电脑、pc、智能电话、平板电脑、智能手表等。在一些实施例中,另一设备与个人设备的不同之处在于,个人设备在内容分发网络100内如此注册,而另一设备未在内容分发网络100内注册为个人设备。

具体参考图7,用户设备106可以包括个人用户设备106-a以及一个或若干其他用户设备106-b。在一些实施例中,个人用户设备106-a以及一个或若干其他用户设备106-b中的一个或两个可以通信地连接到内容管理服务器102和/或导航系统122。类似地,监管人设备110可以包括个人监管人设备110-a以及一个或若干其他监管人设备110-b。在一些实施例中,个人监管人设备110-a以及一个或若干其他监管人设备110-b中的一个或两个可以通信地连接到内容管理服务器102和/或导航系统122。

在一些实施例中,内容分发网络可以经由例如通信网络120向一个或多个用户设备106和/或一个或多个监管人设备110发送一个或多个警报。在一些实施例中,收到该警报可导致在接收设备内启动应用,并且在一些实施例中,该警报可以包括链接,该链接在被选择时启动应用或者将链接的选择器的设备的web浏览器导航到与该警报相关联的页面或门户。

在一些实施例中,例如,提供该警报可以包括标识与学生用户相关联的一个或若干用户设备106和/或学生用户帐户,并且/或者与监管人用户相关联的一个或若干监管人设备110和/或监管人用户帐户。在标识出这些一个或若干设备106、设备110和/或帐户之后,提供该警报可以包括基于确定设备106、设备110和/或帐户中的哪一个被主动使用来确定设备106、设备110中的活动设备,然后向该活动设备提供该警报。

具体地,如果用户正在主动使用设备106、设备110(诸如其他用户设备106-b和其他监管人设备110-b)和/或账户中的一个,则该警报可以经由其他设备106-b、设备110-b和/或主动使用的帐户提供给用户。如果用户没有主动使用其他设备106-b、设备110-b和/或帐户,则可以标识个人设备106-a、设备110-a,诸如智能电话或平板电脑,并且可以向该个人设备106-a、设备110-a提供警报。在一些实施例中,警报可以包括用于指示默认设备提供所接收警报的指示符的代码诸如,例如,收到警报的听觉、触觉或视觉指示符。

在一些实施例中,警报的接收方设备106、110可以提供收到警报的指示。在一些实施例中,警报的演示可以包括输入/输出子系统526的控制,以例如提供对警报的听觉、触觉和/或视觉指示符和/或收到警报。在一些实施例中,这可以包括控制监管人设备110的屏幕以显示警报、警报中包含的数据和/或警报的指示符。

现在参考图8,其示出了应用堆栈的一个实施例的示意图,特别是堆栈650的示意图。在一些实施例中,内容分发网络100可以包括堆栈650的一部分,其可以包括基础设施层652、平台层654、应用层656和产品层658。在一些实施例中,堆栈650可包括层、硬件和/或软件中的一些或所有,以提供一个或若干所需功能和/或产品。

如图8所示,基础设施层652可以包括一个或若干服务器、通信网络、数据存储、隐私服务器等。在一些实施例中,基础设施层还可以包括作为内容分发网络的一部分连接的一个或若干用户设备106和/或监管人设备110。

平台层可以包括一个或若干平台软件程序、模块和/或能力。这些可以包括例如标识服务、安全服务和/或自适应平台服务660。在一些实施例中,标识服务可以例如标识一个或若干用户、内容分发网络100的部件等。安全服务可以监视内容分发网络中的一个或若干安全威胁、漏洞、病毒、恶意软件等。自适应平台服务660可以从内容分发网络100的一个或若干部件处接收信息,并且可以基于所接收的信息提供预测、模型、推荐等。自适应平台服务660的功能将在下面的图9至图12中更详细地讨论。

应用层656可以包括一个或若干产品软件或产品软件模块可以在其上或其中操作的软件或软件模块。在一些实施例中,应用层656可以包括例如管理系统、记录系统等。在一些实施例中,管理系统可以包括例如学习管理系统(lms)、内容管理系统(cms)等。管理系统可以被配置为控制向用户递送一个或若干资源和/或从用户处接收一个或若干响应。在一些实施例中,记录系统可以包括例如虚拟成绩簿、虚拟顾问等。

产品层可以包括一个或若干软件产品和/或软件模块产品。这些软件产品和/或软件模块产品可以向软件产品和/或软件模块产品的一个或若干用户提供一个或若干服务和/或功能。

现在参考图9至图12,其示出了内容分发网络100内的模块的通信和处理流程的实施例的示意图。在一些实施例中,可以在平台层654和/或应用层656的部分中执行通信和处理。图9描绘了可以经由消息信道412在平台层654和/或应用层656中的此类通信或处理的第一实施例。

平台层654和/或应用层656可以包括能够以软件或硬件体现的多个模块。在一些实施例中,这些模块中的一些或所有可以在单个位置处以硬件和/或软件体现,并且在一些实施例中,这些模块中的一些或所有可以在多个位置处以硬件和/或软件体现。这些模块可以执行一个或若干过程,包括例如演示过程670、响应过程676、摘要模型过程680和分组选择过程684。

在一些实施例中,演示过程670可以包括一个或若干方法和/或步骤,以将内容递送到一个或若干用户设备106和/或监管人设备110。演示过程670可以由演示者模块672和视图模块674执行。演示者模块672可以是内容分发网络100的硬件或软件模块,并且具体地是服务器102的硬件或软件模块。在一些实施例中,演示者模块672可以包括位于服务器102上的一个或若干部分、特征部和/或功能,并且/或者位于用户设备106上的一个或多个部分、特征部和/或功能。在一些实施例中,演示者模块672可以体现在演示系统408中。

演示者模块672可以控制向一个或若干用户设备106和/或监管人设备110提供内容。具体地,演示者模块672可以控制一个或若干消息的生成,以向一个或若干期望的用户设备106和/或监管人设备110提供内容。演示者模块672还可以控制将这些一个或若干消息提供给期望的一个或若干期望的用户设备106和/或监管人设备110。因此,在一些实施例中,演示者模块672可以控制通信子系统532的一个或若干特征部,以生成包括内容的一个或若干电信号并将其发送到一个或若干用户设备106和/或监管人设备110。

在一些实施例中,演示者模块672可以控制和/或管理演示过程670的演示功能的一部分,并且可以具体地管理演示功能的“外环”。如本文所使用,外环指的是与跟踪用户通过一组数据包的全部或一部分的进度相关的任务。在一些实施例中,这可以包括根据例如一个或若干固定规则标识一个或多个完成的数据包或节点和/或一个或若干下一数据包或节点的非自适应选择。此类非自适应选择不依赖于预测模型的使用,而是基于与一个或若干先前完成的数据包或评估的完成相关的数据和/或一个或若干先前完成的数据包是否成功完成来标识下一数据包的规则。

在一些实施例中,并且由于演示功能的外环的管理,包括由演示者模块非自适应选择一个或若干下一数据包、节点或任务,演示者模块可以用作推荐引擎,该推荐引擎在本文称为第一推荐引擎或基于规则的推荐引擎。在一些实施例中,第一推荐引擎可以被配置为基于以下中的一个或全部来为用户选择下一节点:用户在内容网络中的当前位置;潜在的下一节点;用户的历史包括用户的先前响应;以及与潜在的下一节点相关联的一个或若干保护条件。在一些实施例中,保护条件定义用于进入或退出节点的一个或若干先决条件。

在一些实施例中,演示者模块672可以包括位于服务器102上的一部分和/或位于用户设备106上的一部分。在一些实施例中,位于服务器102上的演示者模块672的部分可以接收数据包信息,并将所接收的数据包信息的子集提供给位于用户设备106上的演示者模块672的部分。在一些实施例中,这些功能和/或能力的这种分离可以防止解决方案数据位于用户设备106上并且防止用户设备106的用户可能访问。

在一些实施例中,位于用户设备106上的演示者模块672的部分还可以被配置为从位于服务器102上的演示者模块672的部分处接收数据包信息的子集,并将该数据包信息的子集提供给视图模块674。在一些实施例中,位于用户设备106上的演示者模块672的部分还可以被配置为从视图模块674处接收内容请求并且将该内容请求提供给位于服务器102上的演示者模块674的部分。

视图模块674可以是内容分发网络100的用户设备106和/或监管人设备110的一些或所有的硬件或软件模块。视图模块674可以从演示者模块672处接收一个或若干电信号和/或通信,并且可以经由例如输入/输出子系统526将在那些一个或若干电信号和/或通信中接收的内容提供给用户设备106和/或监管人设备110的用户。

在一些实施例中,视图模块674可以控制和/或监视演示功能的“内环”。如本文所使用,内环指的是与跟踪和/或管理用户通过数据包的进度相关的任务。这可以具体涉及通过数据包的内容、问题、评估等中的一条或若干条跟踪和/或管理用户的进展。在一些实施例中,这还可以包括选择数据包的下一内容片段、下一问题、下一评估等中的一个或若干,以用于演示和/或提供给用户设备106的用户。

在一些实施例中,演示者模块672和视图模块674中的一个或两个可以包括一个或若干演示引擎。在一些实施例中,这些一个或若干演示引擎可以包括不同的能力和/或功能。在一些实施例中,演示引擎中之一可以被配置为通过单个数据包、任务、内容项等跟踪用户的进度,并且在一些实施例中,演示引擎之一可以通过一系列数据包、任务、内容项等跟踪用户的进度。

响应过程676可以包括一个或若干方法和/或步骤以评估响应。在一些实施例中,这可以包括,例如,确定响应是否包括期望的响应和/或不期望的响应。在一些实施例中,响应过程676可以包括一个或若干方法和/或步骤,以确定一个或若干接收到的响应的正确性和/或不正确性。在一些实施例中,这可以包括,例如,确定多项选择响应、真/假响应、简答响应、短文响应等的正确性和/或不正确性。在一些实施例中,响应处理器可以在确定所接收的响应的正确性或不正确性时采用例如自然语言处理、语义分析等。

在一些实施例中,响应处理676可以由响应处理器678执行。响应处理器678可以是内容分发网络100的硬件或软件模块,并且具体地是服务器102的硬件或软件模块。在一些实施例中,响应处理器678可以体现在响应系统406中。在一些实施例中,响应处理器678可以通信地连接到演示过程760的模块的一个或多个诸如,例如,演示者模块672和/或视图模块674。在一些实施例中,响应处理器678可以与例如消息信道412和/或内容分发网络100的其他部件和/或模块通信地连接。

摘要模型过程680可以包括一个或若干方法和/或步骤,以生成和/或更新一个或若干模型。在一些实施例中,这可以包括,例如,实施直接或间接从响应处理器678处接收的信息,以更新一个或若干模型。在一些实施例中,摘要模型过程680可以包括与一个或若干用户属性相关的模型的更新诸如,例如用户技能模型、用户知识模型、学习风格模型等。在一些实施例中,摘要模型过程680可以包括与一个或若干内容属性相关的模型的更新,这些内容属性包括与单个内容项和/或数据包相关的属性和/或与多个内容项和/或数据包相关的属性。在一些实施例中,这些模型可以涉及一个或若干数据包的属性诸如,例如难度、区分、所需时间等。

在一些实施例中,摘要模型过程680可以由模型引擎682执行。在一些实施例中,模型引擎682可以是内容分发网络100的硬件或软件模块,并且具体地是服务器102的硬件或软件模块。在一些实施例中,模型引擎682可以体现在摘要模型系统404中。

在一些实施例中,模型引擎682可以通信地连接到演示过程760的模块的一个或多个诸如,例如,演示者模块672和/或视图模块674可以连接到响应处理器678和/或推荐。在一些实施例中,模型引擎682可以通信地连接到消息信道412和/或内容分发网络100的其他部件和/或模块。

分组选择过程684可以包括一个或若干步骤和/或方法,以识别和/或选择数据包以演示给用户。在一些实施例中,该数据包可以包括多个数据包。在一些实施例中,可以根据作为摘要模型过程680的一部分更新的一个或若干模型来选择该数据包。在一些实施例中,可以根据一个或若干规则、概率、模型等来选择该数据包。在一些实施例中,可以通过模型引擎682在摘要模型过程680中更新的多个模型的组合来选择一个或若干数据包。在一些实施例中,这些一个或若干数据包可以由推荐引擎686选择。推荐引擎686可以是内容分发网络100的硬件或软件模块,并且具体地是服务器102的硬件或软件模块。在一些实施例中,推荐引擎686可以体现在分组选择系统402中。在一些实施例中,推荐引擎686可以直接和/或间接地经由例如消息信道与演示过程670、响应过程676和/或摘要模型过程680中的模块的一个或多个通信地连接。

在一些实施例中,并且如图9中所描绘,演示者模块672可以接收数据包以演示给用户设备106。可以直接或间接地从推荐引擎686处接收该数据包。在一些实施例中,例如,演示者模块672可以从推荐引擎686处接收用于提供给用户设备106的数据包,并且在一些实施例中,演示者模块672可以接收数据包的标识符,用于经由视图模块674提供给用户设备106。这可以经由消息信道412从推荐引擎686处接收。具体地,在一些实施例中,推荐引擎686可以向消息信道412提供指示数据包的标识和/或选择的数据,用于经由用户设备106提供给用户。在一些实施例中,指示数据包的标识和/或选择的该数据可以标识数据包和/或可以标识数据包的预期接收人。

消息信道412能够以数据流690的形式输出该接收的数据,该数据流可以由例如演示者模块672、模型引擎682和/或推荐引擎686接收。在一些实施例中,以下中的一些或全部:演示者模块672、模型引擎682和/或推荐引擎686可以被配置为解析和/或滤波数据流690,以识别与其操作相关的数据和/或事件。因此,例如,演示者模块672可以被配置为解析数据流以获得与演示者模块672的操作相关的信息和/或事件。

在一些实施例中,演示者模块672可以从数据流690提取数据包,并且/或者提取标识数据包的数据,并且/或者指示从数据流中选择数据包。在从数据流690中提取标识数据包的数据的情况下,演示者模块672可以从数据库服务器104、特别是从内容库数据库303处请求和接收数据包。在从数据流690中提取指示数据包的选择的数据的实施例中,演示者模块672可以从推荐引擎686处请求和接收数据包的标识,然后从数据库服务器104、特别是从内容库数据库303处请求和接收数据包,在一些实施例中,其中从数据流690中提取指示数据包的选择的数据,演示者模块672可以从推荐引擎686处请求和接收数据包。

然后,演示者模块可以将数据包和/或数据包的部分提供给视图模块674。在一些实施例中,例如,演示者模块672可以检索一个或若干规则和/或条件,其可以例如与数据包相关联和/或存储在数据库服务器104中。在一些实施例中,这些规则和/或条件可以标识数据包提供给视图模块674的部分,并且/或者数据包未提供给视图模块674的部分。在一些实施例中,例如,数据包的敏感部分(诸如,例如,与数据包相关联的任何问题的解决方案信息)未被提供给视图模块674,以防止不期望访问数据包的那些敏感部分的可能性。因此,在一些实施例中,一个或若干规则和/或条件可以标识数据包用于提供给视图模块674的部分,并且/或者数据包未提供给视图模块的部分。

在一些实施例中,演示者模块672可以根据一个或多个规则和/或条件生成包含数据包的全部或部分的电子消息并将其发送到视图模块674。视图模块674可以接收这些数据包的全部或部分,并且可以经由例如输入/输出子系统526将该信息的全部或部分提供给与视图模块674相关联的用户设备106的用户。在一些实施例中,作为向视图模块674的用户提供全部或部分数据包的一部分,视图模块674可以接收一个或若干用户响应。在一些实施例中,可以经由用户设备106的输入/输出子系统526接收这些一个或若干用户响应。

在已经接收到一个或若干用户响应之后,视图模块674可以向响应处理器678提供一个或若干用户响应。在一些实施例中,这些一个或若干响应可以直接提供给响应处理器678,并且在一些实施例中,这些一个或若干响应可以经由消息信道412间接地提供给响应处理器678。

在响应处理器678接收到一个或若干响应之后,响应处理器678可以确定响应是否是期望的响应和/或所接收的响应是期望响应的程度。在一些实施例中,响应处理器可以经由例如使用一种或若干技术来进行该确定,包括例如自然语言处理(nlp)、语义分析等。

在一些实施例中,响应处理器可以确定响应是否是期望的响应和/或响应是具有可以与数据包相关联的比较数据的期望响应的程度。在一些实施例中,该比较数据可以包括例如,期望响应的指示和/或一个或若干不期望响应的指示、响应密钥、包括一个标准或若干标准用于确定响应是期望响应的程度的响应规则等。在一些实施例中,可以将比较数据接收为数据包的一部分和/或与数据包相关联。在一些实施例中,比较数据可以由响应处理器678从演示者模块672和/或从消息信道412处接收。在一些实施例中,从视图模块674接收的响应数据可以包括标识用户和/或与响应相关联的数据包或数据包的一部分的数据。在一些实施例中,其中响应处理器678仅接收标识与一个或若干响应相关联的数据包和/或数据包的一部分的数据,响应处理器678可以从数据库服务器104处,并且具体地从数据库服务器104的内容库数据库303处,请求和/或接收比较数据。

在已经接收到比较数据之后,响应处理器678确定一个或若干响应是否包括期望的响应和/或一个或若干响应包括期望响应的程度。然后,响应处理器可以提供表征一个或若干响应是否包括期望响应和/或一个或若干响应包括对消息信道412的期望响应的程度的数据。如上所述,消息信道可以包括数据流690中的响应处理器678的输出,其可以由消息信道412恒定地输出。

在一些实施例中,模型引擎682可以订阅消息信道412的数据流690,并且因此可以接收消息信道412的数据流690,如图9所示。模型引擎682可以监视数据流690,以标识与模型引擎的操作相关的数据和/或事件。在一些实施例中,模型引擎682可以监视数据流690,以标识与确定响应是否是期望响应和/或响应是期望响应的程度相关的数据和/或事件。

当由模型引擎标识相关事件和/或相关数据时,模型引擎682可以获取所标识的相关事件和/或相关数据并修改一个或若干模型。在一些实施例中,这可以包括更新和/或修改与提供响应的用户相关的一个或若干模型、更新和/或修改与响应相关联的与数据包相关的一个或若干模型、和/或等。在一些实施例中,可以从数据库服务器104检索这些模型,并且在一些实施例中,可以从数据库服务器104的模型数据源309处检索这些模型。

在更新模型之后,可以将更新的模型存储在数据库服务器104中。在一些实施例中,模型引擎682可以将指示完成模型更新的事件的数据发送到消息信道412。消息信道412可以将该信息合并到数据流690中,该数据流可以由推荐引擎686接收。推荐引擎686可以监视数据流690,以标识与推荐引擎686的操作相关的数据和/或事件。在一些实施例中,推荐引擎686可以监视数据流690,以标识与模型引擎682更新一个或若干模型相关的数据和/或事件。

当推荐引擎686识别数据流690中的信息(该信息指示与提供响应的用户相关的模型和/或与提供给用户的数据包相关的模型的摘要模型过程680的完成)时,推荐引擎686可以标识和/或选择下一数据包以提供给用户和/或演示过程470。在一些实施例中,可以根据一个或若干规则和/或条件来执行对下一数据包的这种选择。在已经选择了下一数据包之后,推荐引擎686可以向模型引擎682提供标识下一所选数据包的信息和/或向消息信道412提供指示选择下一内容项的事件的信息。在消息信道412接收到标识下一内容项的选择和/或接收下一内容项的信息之后,消息信道412可以在数据流690中包括该信息,并且可以重复参考图9讨论的过程。

现在参考图10,其示出了可以经由消息信道412在平台层654和/或应用层656中的通信或处理的第二实施例的示意图。在图10中描绘的实施例中,提供给演示者模块672然后提供给视图模块674的数据包不包括用户响应的提示,并且/或者未导致接收用户响应。由于没有接收到响应,当数据包完成时,未将任何内容提供给响应处理器678,而是从视图模块674和/或演示者模块672中的一个向消息信道412提供指示数据包完成的数据。然后,该数据包括在数据流690中,并由模型引擎682接收,该模型引擎使用该数据来更新一个或若干模型。在模型引擎682更新了一个或若干模型之后,模型引擎682向消息通道412提供指示模型更新完成的数据。然后,消息信道412包括指示数据流690中的模型更新完成的数据,并且可以订阅数据流690的推荐引擎686可以从数据流690处提取指示模型更新完成的数据。然后,推荐引擎686可以标识用于提供给演示者模块672的下一个或若干数据包,然后推荐引擎686可以直接或间接地向演示者模块672提供下一个或若干数据包。

在如图9和图10所示的通信的一些实施例中,演示者模块672、响应处理器678、模型引擎682和推荐引擎686的任一个之间的所有通信可以通过消息信道412。另选地,在一些实施例中,演示者模块672、响应处理器678、模型引擎682和推荐引擎686中的任一个之间的一些通信可以通过消息信道,并且演示者模块672、响应处理器678、模型引擎682和推荐引擎686中的任一个之间的通信的其他通信可以是直接的。

现在参考图11,其示出了平台层654和/或应用层656中的双通信或混合通信的实施例的示意图。具体地,在该实施例中,一些通信与一个或若干任务的完成同步,并且一些通信是异步的。在图11所示的实施例中,演示者模块972经由直接通信692与模型引擎682同步通信,并且经由消息信道412与模型引擎682异步通信。

在一些实施例中,并且如图11所描绘,演示者模块672、响应处理器678、模型引擎682和推荐引擎686的同步通信和/或操作可以由控制器引导和/或控制。在一些实施例中,该控制器可以是服务器102的一部分和/或位于演示者模块672、响应处理器678、模型引擎682和推荐引擎686中的任一个或多个中。在一些实施例中,该控制器可以位于演示者模块672中,该演示者模块可以控制与其自身和响应处理器678、模型引擎682与推荐引擎686之间的通信,因此,演示者模块可以控制响应处理器678、模型引擎682和推荐引擎686的功能。

具体地,并且参考图11,演示者模块672可以接收和/或选择数据包以经由视图模块674演示给用户设备106。在一些实施例中,演示者模块672可以标识可提供给视图模块674的数据包的全部或部分以及数据包的部分,用于从视图模块674处保留。在一些实施例中,演示者模块可以将全部或部分数据包提供给视图模块674。在一些实施例中,并且响应于收到数据包的全部或部分,视图模块674可以提供对收到数据包的全部或部分的确认,并且可以经由用户设备106向用户提供数据包的那些全部或部分。在一些实施例中,视图模块674可以将数据包的那些全部或部分提供给用户设备106,同时经由用户设备106控制向用户演示数据包的内环。

在已经将数据包的那些全部或部分提供给用户设备106之后,视图模块674可以从用户设备106处,并且具体地从用户设备106的输入/输出子系统526处接收指示与数据包相关联的一个或若干任务完成的响应。响应于该接收,视图模块674可以向演示者模块672提供该完成状态的指示和/或可以向响应处理器678提供响应。

在响应处理器678已经接收到响应之后,响应处理器678可以确定所接收的响应是否是期望的响应。在一些实施例中,这可以包括,例如,确定响应是否包括正确答案和/或响应包括正确答案的程度。

在响应处理器确定所接收的响应是否是期望响应之后,响应处理器678可以提供确定所接收的响应是否是对演示者模块672的期望响应的结果的指示符。响应于收到关于确定所接收的响应是否是期望响应的结果的指示符,演示者模块672可以经由直接通信692与模型引擎682同步通信,并且可以经由消息信道412与模型引擎682异步通信。在一些实施例中,同步通信可以有利地包括模型引擎682与演示者模块672之间的双向通信,使得模型引擎682可以在模型引擎完成模型更新时向演示者模块672提供指示。

在模型引擎682已经接收到同步通信和异步通信中的一个或两个之后,模型引擎682可以更新与例如用户、数据包等相关的一个或若干模型。在模型引擎682完成一个或若干模型的更新之后,模型引擎682可以向演示者模块672发送指示更新的一个或若干模块完成的通信。

在演示者模块672接收到指示一个或若干模型的更新完成的通信之后,演示者模块672可以向推荐引擎686发送请求标识下一数据包的通信。如上所述,推荐引擎686然后可以检索更新的模型并检索用户信息。利用更新的模型和用户信息,推荐引擎可以标识用于提供给用户的下一数据包,并且可以将数据包提供给演示者模块672。在一些实施例中,推荐引擎686还可以向模型引擎682提供下一数据包的指示,该模型引擎可以使用与下一数据包相关的该信息来立即、或者在从演示者模块672处接收到通信随后在确定所接收的对该数据包的响应是否是期望的响应之后更新一个或若干模型。

现在参考图12,其示出了演示过程670的一个实施例的示意图。具体地,图12描绘了演示者模块672的多个部分,即外部部分673和内部部分675。在一些实施例中,演示者模块672的外部部分673可以位于服务器中,并且在一些实施例中,演示者模块672的内部部分675可以位于用户设备106中。在一些实施例中,演示者模块的外部部分673可以被配置为与演示者模块672的内部部分675通信和/或交换数据,如本文所讨论的。在一些实施例中,例如,演示者模块672的外部部分673可以接收数据包,并且可以将数据包解析为用于提供给演示者模块672的内部部分675的部分,以及用于未提供给演示者模块672的内部部分675的部分。在一些实施例中,演示者模块672的外部部分673可以从演示者模块672的内部部分675处接收对附加数据和/或附加数据包的请求。在此类实施例中,演示者模块672的外部部分673可以从例如数据库服务器104并且更具体地从内容库数据库104处标识和检索所请求的数据和/或附加数据包。

现在参考图13,其示出了用于数据管理的过程440的一个实施例的流程图。在一些实施例中,过程440可以由内容管理服务器102执行,并且更具体地由演示系统408和/或由演示模块或演示引擎执行。在一些实施例中,过程440可以作为演示过程670的一部分来执行。

过程440开始于框442,其中标识数据包。在一些实施例中,数据包可以是提供给学生用户的数据包。在一些实施例中,可以基于直接或间接从推荐引擎686处接收的通信来标识数据包。

在标识出数据包之后,过程440前进到框444,其中请求数据包。在一些实施例中,这可以包括请求与数据包相关的信息,诸如形成数据包的数据。在一些实施例中,可以从例如内容库数据库303处请求该信息。在已经请求数据包之后,过程440前进到框446,其中接收数据包。在一些实施例中,数据包可以由演示系统408从例如内容库数据库303处接收。

在已经接收到数据包之后,过程440前进到框448,其中标识一个或若干数据部件。在一些实施例中,例如,数据包可以包括一个或若干数据部件,其可以例如包含不同的数据。在一些实施例中,这些数据部件中的一个(本文称为演示部件)可以包括用于向学生用户提供哪些内容可以包括一个或若干请求和/或问题等的内容。在一些实施例中,这些数据部件中的一个(本文称为响应部件)可以包括用于评估响应于数据包从用户设备106处接收的一个或若干响应的数据,并且具体地,响应于演示部件和/或演示部件的一个或若干请求和/或问题。因此,在一些实施例中,数据包的响应部件可用于确定用户是否已提供期望的响应或不期望的响应。

在标识出数据部件之后,过程440前进到框450,其中标识递送数据包。在一些实施例中,递送数据包可以包括数据包的一个或若干数据部件,用于经由用户设备106递送给用户诸如学生用户。在一些实施例中,递送分组可以包括演示部件,并且在一些实施例中,递送分组可以排除响应分组。在已经生成递送数据包之后,过程440前进到框452,其中递送数据包被提供给用户设备106,并且更具体地,提供给视图模块674。在一些实施例中,这可以包括经由例如通信网络120将递送数据包提供给用户设备106。

在已经将递送数据包提供给用户设备106之后,过程440前进到框454,其中将数据包和/或其一个或若干部件发送到和/或提供给响应处理器678。在一些实施例中,将数据包和/或其一个或若干部件发送到响应处理器可以包括从学生用户处接收响应,在向响应处理器发送数据包和/或其一个或若干部件的同时,将该响应发送给学生用户至响应处理器。在一些实施例中,例如,这可以包括将响应部件提供给响应处理器。在一些实施例中,响应部件可以从演示系统408处提供给响应处理器。

现在参考图14,其示出了用于评估响应的过程460的一个实施例的流程图。在一些实施例中,该过程可以作为响应过程676的一部分来执行,并且可以由例如响应系统406和/或响应处理器678来执行。在一些实施例中,响应于直接或间接地从用户设备106或从视图模块674处收到的响应,响应系统406可以执行过程460。

过程460开始于框462,其中经由例如通信网络120从例如用户设备106处接收响应。在已经接收到响应之后,过程460前进到框464,其中接收了与该响应相关联的数据包。在一些实施例中,这可以包括接收数据包的全部或一个或若干部件诸如,例如,数据包的响应部件。在一些实施例中,响应处理器可以从演示引擎处接收数据包。

在已经接收到数据包之后,过程460前进到框466,其中标识响应类型。在一些实施例中,可以基于数据来执行该标识,诸如与该响应相关联的元数据。在其他实施例中,可以基于数据包信息诸如响应部件来执行该标识。

在一些实施例中,响应类型可以标识数据包的一个或若干请求和/或问题的一个或若干属性诸如,例如请求和/或问题类型。在一些实施例中,这可以包括将一个或若干请求和/或问题中的一些或全部标识为真/假、多选、简答、短文等。

在标识出响应类型之后,过程460前进到框468,其中比较了数据包和响应,以确定该响应是否包括期望响应和/或不期望响应。在一些实施例中,这可以包括对接收的响应和数据包进行比较,以确定接收的响应是否匹配数据包的响应部件的全部或部分,以确定接收的响应与响应部件的全部或部分匹配的程度,以确定接收响应体现在数据包的响应部件中标识的一个或若干质量的程度等。在一些实施例中,这可以包括根据一个或若干规则对响应进行分类。在一些实施例中,这些规则可用于将响应分类为期望的或不期望的。在一些实施例中,这些规则可用于标识响应中证明的一个或若干错误和/或错误概念。在一些实施例中,这可以包括,例如:使用自然语言处理软件和/或算法;使用一个或几个数字词典;使用词形还原软件、辞典和/或算法;等。

在已经比较了数据包和响应之后,过程460前进到框470,其中确定了响应合意性。在一些实施例中,这可以包括,基于数据包和响应的比较结果,响应是期望响应还是不期望响应。在一些实施例中,这还可以包括量化响应是期望响应的程度。该确定可以包括,例如,确定响应是否是正确响应、不正确响应、部分正确响应等。在一些实施例中,响应合意性的确定可以包括生成表征响应合意性的值以及将该值存储在数据库104中的一个(诸如,例如用户配置文件数据库301)中。在已经确定了响应合意性之后,过程460前进到框472,其中生成评估值。在一些实施例中,该评估值可以是表征一个或多个响应的响应合意性的聚合值。该评估值可以存储在的数据库104中的一个中诸如用户配置文件数据库301。

现在参考图15,其示出了内容网络700的一个实施例的示意图。在一些实施例中,内容网络700(本文也称为对象网络)可包括链接多个节点702的多个边缘701。在一些实施例中,边缘701可以在先决条件关系中链接节点702,使得单个边缘701链接一对节点702,该对节点702中的一个节点是该对节点702中的另一个的先决条件。在图15中,该先决条件关系由链接一对节点702的边缘701的箭头方向指示,使得该箭头的原点位于先决条件节点并且该箭头的头部位于非先决条件节点。

在图15中描绘的实施例中,这些节点702包括节点1、节点2、节点3、节点4、节点5和节点6。如图15中进一步描绘的,节点702中的一些(诸如,例如节点1)可以与内容无关联,而节点702中的其他节点(诸如,例如节点2、节点3、节点4、节点5和节点6)可以与内容704相关联。具体地,节点2与内容b相关联,节点3与内容c相关联,节点4与内容字母d相关联,节点5与占位符内容相关联,并且节点6与内容f相关联。在一些实施例中,占位符节点是其内容不是固定的节点,但是例如可以从例如可以在数据库服务器104中找到的一组潜在内容或内容对象中自适应地选择。在一些实施例中,可以基于与内容、用户、用户技能水平等相关的一个或若干预测或统计模型来自适应地选择该内容。

在一些实施例中,占位符节点的内容可以从与该占位符节点相关的一个或若干数据库中选择。这些数据库可以存储在例如内容库数据存储303中。在一些实施例中,用于在占位符节点处演示给用户的内容可以由推荐引擎686基于统计模型来确定,这些统计模型可以例如由模型引擎基于与过去性能的一个或若干用户相关的数据来更新。

在一些实施例中,一些节点702可以与保护条件(本文也称为栅极条件)相关联,如条件706所示。在一些实施例中,保护条件可以标识进入和/或退出节点702的先决条件。例如,这些保护条件可以预测在用户掌握时进入节点702和/或无法掌握一个或若干先前节点,目标诸如目标一708、技能水平等。在一些实施例中,这些保护条件可以基于对先前节点和/或评估的一个或若干响应是正确的还是不正确的、或者对先前节点或评估的正确不正确响应的比率来预测进入和节点702。在一些实施例中,这些保护条件可以基于先前节点702的完成来预测进入节点702,例如,在节点2的完成时预测进入节点3。在一些实施例中,这些保护条件中的每一个可以与节点702和/或边缘701相关联。在一些实施例中,每个保护条件与节点702相关联。在一些实施例中,这可以导致节点702的数据库中的进入标识特定节点702,该特定节点包括与一个或若干保护条件相关和/或标识一个或若干保护条件和/或指向那些一个或若干保护条件的一个或若干指针的数据。

在一些实施例中,内容网络700的节点702中一些或所有可以被布置成一个或若干环703。在一些实施例中,环的持续时间可以基于确定用户何时可以退出环的一个或若干保护条件和/或基于标识用户可以保持在环中的最小和/或最大环数的标准。具体地,如图700所示,节点1包括用户可以保持在环703中的最大环数的指示符,并且具体地指示用户可以保持在环703中的最大环数是2。在一些实施例中,例如,引导和/或控制用户通过内容网络700的移动的推荐引擎可以包括每次用户通过环时可以递增的计数。可以将该计数与用户可以保持在环中的最小和/或最大循环数的指示符进行比较,以确定是否必须通过该环重新进入用户或者是否应禁止用户重新进入该环。

如图15中进一步所见,节点1包括将节点1连接到节点6的边缘701。在一些实施例中,当计数达到用户可以保持在环中的最大循环数的指示符时,然后将用户从节点1引导到节点6。

现在参考图16,其示出了用于基于人工智能的内容推荐和调配的过程800的一个实施例的流程图。过程800可以由cdn100的全部或部分执行,包括例如服务器102、ai代理124等。

过程800开始于框802,其中接收用户标识信息,本文也称为用户标识符。在一些实施例中,用户标识信息可包括用户名、密码、登录信息、唯一用户标识符等。在一些实施例中,用户标识信息可以由用户设备106经由用户设备106的输入/输出子系统526接收,或者由监管人设备100经由监管人设备110的输入/输出子系统526接收,并且可以经由用户设备106和服务器102中的一个或两个的通信子系统532以及通信网络120提供给服务器102。在接收到用户标识信息之后,可以标识与用户标识信息相关联的用户。在一些实施例中,这可以包括将所接收的用户标识信息与存储在数据库服务器中的信息(例如,用户配置文件数据库301)进行比较。在一些实施例中,例如,用户标识信息可以与存储在用户配置文件数据库301中的用户信息唯一地相关联,并且可以通过利用该用户信息制作所接收的用户标识信息来标识用户。

在过程800的框804处,启动用户界面。在一些实施例中,用户界面可以被配置为向用户设备106的用户提供信息,并从用户设备的用户处接收输入。用户界面可以包括一个或若干窗口或字段,其中可以显示内容和/或可以键入内容。在一些实施例中,用户界面可以包括一个或若干特征部诸如,例如,用户界面的用户可以通过其来回切换、按钮、开关等来输入数据。用户界面的启动可以包括例如从服务器102处生成和发送启动信号到用户设备106。在一些实施例中,该启动信号可以包括一个或多个命令,其可以引导用户设备106,特别是用户设备106的输入/输出子系统526在接收到启动信号时启动用户界面。

在过程800的框806处,接收和/或检索用户元数据。在一些实施例中,可以从数据库服务器104并且具体地从用户配置文件数据库301处接收和/或检索用户元数据。在一些实施例中,用户元数据可以标识用户的一个或若干属性诸如,例如,用户技能水平、一种或若干学习风格、内容进展、内容网络中的位置、内容进程中的位置、内容进展的进展、历史响应数据诸如正确或不正确回答的一个或若干问题的标识等。在一些实施例中,用户元数据的全部或部分可以基于技能模型,该技能模型可以由模型引擎682响应于所接收的响应而动态调整。在一些实施例中,技能模型可以基于分布诸如,例如正态分布,并且可以通过例如中心、标准偏差等来表征。

在框802至框806之后,过程800前进到框808,其中选择内容并将其提供给用户设备。在一些实施例中,这可以包括标识内容网络中的用户位置、标识一个或若干潜在的下一节点或潜在的下一内容片段、以及选择那些一个或若干潜在的下一节点或潜在的下一内容片段中的一个。在一些实施例中,例如,根据一个或若干模型(诸如证据模型或技能模型等),可以根据一个或若干保护条件来选择一个或若干下一节点或潜在的下一内容片段。在选择了内容之后,可以经由用户设备106将该内容提供给用户。在一些实施例中,例如,服务器102可以经由通信网络120将内容提供给用户设备106。然后,用户设备106可以经由在框804中启动的用户界面向用户提供内容,并且在用户设备的输入/输出子系统526上操作。在一些实施例中,该可以通过演示者模块672和视图模块674中的一个或两个来提供内容以作为演示过程670的一部分。

在已经选择和/或提供内容之后,过程800前进到框810,其中接收了响应,本文也称为响应通信。在一些实施例中,响应可以由服务器102从用户设备106处接收。具体地,在一些实施例中,响应可以经由通信网络120从用户设备106处通信到服务器102。在一些实施例中,该通信可以是演示过程670的一部分,并且可以包括演示者模块672和视图模块674中的一个或两个。可以将所接收的响应提供给响应处理器678,并且作为响应过程670的一部分,可以如图16的框812所示评估响应。在一些实施例中,可以评估响应以确定用户是否正确或不正确地响应于框808中提供的内容。在一些实施例中,并且作为评估过程的一部分,正确性的标记可以与响应相关联。在一些实施例中,该标记可以指示接收响应是否是正确的响应。在一些实施例中,该标记可以包括指示正确性的第一值可以与正确响应相关联,并且指示不正确性的第二值可以与不正确响应相关联。

在评估了响应之后,该过程前进到决策状态814,其中确定所接收的响应是否正确。在一些实施例中,这可以包括确定正确性标记是否指示接收到正确响应或者正确性标记是否指示接收到不正确响应。在一些实施例中,该确定可以由服务器102进行,并且具体地由响应处理器678进行。

如果确定该响应不正确,则过程800前进到框816,其中更新了用户数据,具体地更新了用户元数据。在一些实施例中,这可以包括更新用户数据以反映不正确的响应、由不正确的响应引起的技能水平的变化、响应中经过的时间量等。在一些实施例中,用户数据的更新可以包括更新与用户相关联的一个或若干技能模型。该更新可以由服务器102执行,并且具体地由模型引擎682作为摘要模型过程680的一部分执行。

在更新了用户数据之后,过程800前进到框818,其中将用户数据的全部或部分与干预阈值进行比较。在一些实施例中,该比较可以包括从数据库服务器104、特别是从阈值数据库310处检索干预阈值。在一些实施例中,该干预阈值可以在指定用于收到干预的用户与指定用于非收到干预的用户之间描绘。在一些实施例中,该阈值可以指定技能水平,使得当用户技能水平下降到阈值水平以下时,指示干预。在一些实施例中,干预阈值可以指定变化率、斜率、导数等。在此类实施例中,当学生技能水平下降得比阈值快时,指示该学生进行干预。可以通过服务器102将干预阈值与用户数据进行比较。

在已将干预阈值与用户数据进行比较之后,过程800前进到决策状态820,其中确定是否进行干预。在一些实施例中,可以基于干预阈值与用户数据的比较结果来进行该确定。该确定可以由服务器102进行。在一些实施例中,如果确定进行干预,则可以向监控设备110发送警报。在一些实施例中,该警报可以包括指示干预需要的数据,并且在一些实施例中,该警报可以包括标识低于预先确定阈值的用户技能水平下降和/或引起警报的用户技能水平的负变化率的数据。在一些实施例中,警报可以包括代码,以使得监管人设备110在收到警报时向用户显示警报内容的全部或部分。在一些实施例中,这可以包括使得监管人设备110上的用户界面的启动以显示警报内容的全部或部分的代码。

如果确定进行干预,则过程800前进到框822,其中选择并递送干预。在一些实施例中,可以根据用户数据以及与一个或若干潜在干预相关联的信息来选择干预。在一些实施例中,该干预可以由推荐引擎686选择,并且可以经由用户设备106、具体地经由用户设备106的输入/输出子系统526提供给用户。在一些实施例中,该干预可以包括与ai代理的交互。

在选择并递送干预之后,过程800前进到框824,其中终止干预。在一些实施例中,当用户已经消耗了与干预相关联的所有内容、已经达到期望的技能水平或掌握水平、已经提供了一个或若干期望的响应等时,可以终止干预。

在干预已经终止或者再次返回到决策状态814之后,如果确定响应是正确的,则过程800前进到框826,其中更新了用户数据,具体地更新了用户元数据。在一些实施例中,这可以包括更新用户数据以反映正确的响应、由正确的响应引起的技能水平的变化、响应中经过的时间量等,并且在一些实施例中,可以更新用户数据以反映干预的结果。在一些实施例中,用户数据的更新可以包括更新与用户相关联的一个或若干技能模型。该更新可以由服务器102执行,并且具体地由模型引擎682作为摘要模型过程680的一部分执行。

在用户数据已被更新或再次返回到决策状态820之后,如果确定不干预,则过程800前进到决策状态828,其中确定是否存在用于递送给用户的附加内容。在一些实施例中,这可以包括,例如,确定是否已经向用户提供了所有一组内容,是否已经达到或超过一个或若干时间限制等。如果确定存在附加内容,则方法800返回框808,并且如上文概述的那样继续。

如果确定不存在附加内容,则过程800前进到框830,其中生成并发送终止警报。在一些实施例中,终止警报可以包括指示用户性能、用户技能水平、用户技能水平的变化、经过的时间等的数据。在一些实施例中,可以经由用户设备106将终止警报发送给用户,并且在一些实施例中,可以经由监管人设备110将终止警报发送给监管人诸如教师。终止警报可以包括代码,以使接收方设备106、110在收到终止警报时向用户显示警报内容的全部或部分。在一些实施例中,这可以包括使得用户设备106上的用户界面的启动以显示警报内容的全部或部分的代码。

现在参考图17,其示出了用于选择和递送干预的过程850的一个实施例的流程图。过程850可作为图16的框822的一部分或替代该框来执行。过程850可以由cdn100的全部或部分执行,特别是由服务器102和/或ai代理124执行。过程850开始于框852,其中启动ai代理124。在一些实施例中,这可以包括从服务器102生成和发送启动信号到ai代理124。

在一些实施例中,可以响应于从用户接收到启动ai代理124的请求来启动ai代理124,并且在一些实施例中,可以响应于满足和/或超过一个或若干触发条件来启动ai代理124。在一些实施例中,触发条件可以在指示干预的情况之间描绘,特别是当指示利用ai代理124的干预时和在未指示干预的情况下。触发条件可以基于用户交互模式检测并指示干预。用户交互的模式可以源于用户与内容的交互诸如,例如,提供给内容的响应;与用户设备的交互;与教育框架和/或学习环境等的交互。这些一个或若干触发条件可以包括,例如,描绘在以下之间的一个或多个阈值,例如:可接受与不可接受的技能水平之间;可接受与不可接受的响应之间;任务的可接受与不可接受的时间之间;等。在一些实施例中,触发条件可以包括与用户彼此交互和/或与监管人交互、与cdn100的交互等相关的一个或多个阈值。

在启动ai代理之后,过程850前进到框854,其中启动对话界面(本文也称为对话用户界面)。在一些实施例中,对话界面可以包括一个或多个窗口,其被配置为显示由ai代理124生成的一个或若干文本串。在一些实施例中,这些一个或若干窗口还可以被配置用于从用户处输入一个或若干文本串。在一些实施例中,可以在框804中启动的用户界面中的一个或若干窗口内启动对话界面。

在启动对话界面之后,过程850前进到框856,其中识别补救对话。补救对话可以包括覆盖一个或若干话题的内容。在一些实施例中,这可以包括可以提供给用户的补充内容和/或一个或若干提示。在一些实施例中,这些一个或若干提示可以是可以分析答案的问题以确定:技能水平;隔离难度、错误概念、误解、知识差距等;确定参与度等。在一些实施例中,补救对话的标识可以包括经由干预标识一个或若干话题以供审阅,以及检索和/或生成与那些一个或若干话题相关的文本串以供审阅。在一些实施例中,可以至少部分地基于在框810中接收的提示补救的响应来识别标识补救对话。

在标识出补救对话之后,过程850前进到决策状态858,其中确定补充内容是否可用和/或是补救对话的一部分。在一些实施例中,这可以包括审阅包括在补救对话中的内容的元数据以确定补救对话中的任何一个是否是补充内容。在一些实施例中,决策状态858的确定还可以包括确定是否提供补充内容。在一些实施例中,该决定可以由ai代理124基于从用户接收的一个或若干输入和/或用户技能水平做出。在用户技能水平非常低的一些实施例中,可以提供补充内容以提高用户技能水平。ai代理124和/或服务器102可以确定决策状态858。

如果确定需要补充内容,则过程850前进到框860,其中标识补充内容。在一些实施例中,补充内容可以由ai代理124基于从用户处接收的信息、检索到的关于用户的信息和/或与干预或其部件相关联的元数据来标识。具体地,在一些实施例中,可以基于用户元数据中标识的用户技能水平来选择补充内容(本文也称为递送内容),具体地在选择递送内容时的技能模型中。在一些实施例中,可以基于从用户处接收的一个或若干请求来进一步选择补充内容诸如,例如,对内容的请求,用于解释话题、主题等。在一些实施例中,这些请求可以是补救对话的一部分。在一些此类实施例中,可以基于所接收的请求和用户技能水平来选择补充内容。

在标识出补充内容之后,过程850前进到框862,其中递送补充内容。在一些实施例中,这可以包括从服务器102和/或ai代理124生成和/或发送消息到用户设备106。在一些实施例中,该消息可以包括数据,该数据包括补充内容。该消息可以经由通信网络120发送到服务器102。

在已经递送补充内容之后,或者再次返回到决策状态858之后,如果确定不需要补充内容,则过程850前进到框864,其中生成和/或递送一个或若干提示。在一些实施例中,这些提示可以包括一个或若干问题。可以经由用户设备106与ai代理124和/或服务器102之间的电子通信来递送一个或若干提示。在一些实施例中,这些电子通信可以包括一个或若干提示。

在已经生成和/或递送一个或若干提示之后,过程850前进到框866,其中ai代理124和/或服务器102从用户设备106处接收响应通信。在一些实施例中,响应通信可以包括从用户输入到用户设备106生成的一个或若干文本串。在一些实施例中,这些一个或若干文本串可以经由例如键盘、麦克风等,经由用户设备106的用户输入来生成。在一些实施例中,这些文本串可以用一种或若干自然语言处理算法生成,包括例如基于例如由用户设备106的麦克风从用户语音处生成的电子信号的一个或若干语音识别算法。

在已经接收到响应通信之后,过程850前进到框868,其中评估所接收的响应。在一些实施例中,所接收的响应可以由cdn100的部件评估诸如,例如,服务器102、ai代理124和/或响应处理器678。在一些实施例中,响应的评估可以包括将一个或若干自然语言处理算法应用于一个或若干文本串,包括确定响应含义的响应。这些一个或若干算法可以包括例如一个或若干自然语言理解算法、一个或若干话题分割算法等。在一些实施例中,基于自然语言处理的输出,响应的评估可以包括所接收的响应的自然语言处理以及理解、错误概念、技能水平等的确定。

在已经评估了响应之后,过程850前进到框870,其中生成用户性能度量。在一些实施例中,用户性能度量可以包括用户技能水平、由干预产生的用户技能水平的变化、具体地来自补救对话的变化、在干预中花费的持续时间等。用户性能度量可以由cdn100的部件生成诸如,例如服务器102、ai代理124和/或响应处理器678。在一些实施例中,所生成的用户性能度量可以存储在用户配置文件数据库301中。具体地,在一些实施例中,用户性能度量可用于更新与用户相关联的元数据和/或与用户相关联的一个或若干证据模型,诸如技能模型。

在已经生成用户性能度量之后,过程850前进到框872,其中将用户性能度量与终止阈值进行比较。在一些实施例中,终止阈值可以描述何时终止补救对话以及何时继续补救对话。在一些实施例中,例如,终止阈值可以标识当满足或超过与补救对话的终止相关联的持续时间。在一些实施例中,该终止可以标识技能水平,或技能水平的积极变化,其在满足或超过时与补救对话的终止相关联。终止阈值可以存储在例如数据库服务器104中,并且具体地存储在阈值数据库310中。

在已经将终止阈值与用户性能度量进行比较之后,过程850前进到决策状态874,其中确定是否终止补救对话。在一些实施例中,基于终止阈值与用户性能度量的比较来进行该确定。该确定可以由cdn100的部件(诸如,例如服务器102、ai代理124和/或响应处理器678)进行。如果确定不终止补救对话,则过程850返回到框856并如上所述继续。如果确定终止补救对话,则过程850继续到框876并且前进到图16的框826。在一些实施例中,并且作为框876的一部分,可以从诸如,例如ai代理124向服务器102提供用户性能度量的指示,例如,用户技能水平的指示。

在一些实施例中,可以根据满足和/或超过一个或若干暂停标准来终止过程850。在一个实施例中,用户终止阈值可以是暂停标准。在一些实施例中,例如,暂停标准可以指定一个或若干阈值,用于描述何时终止过程850与何时继续过程850。在一些实施例中,这些阈值可以涉及例如在过程850上花费的时间量,基于过程850的学生进度速率、学生技能水平等。在一些实施例中,cdn100的一个或若干部件可以将一个或若干用户属性与一个或若干暂停标准进行比较,并且具体地与一个或若干阈值进行比较,这些阈值与那些一个或若干暂停标准相关联。如果基于该比较指示过程850的终止,则过程850可以移动到框876。如果未指示干预的终止,则过程850返回到框856,直到指示干预的终止。

在一些实施例中,过程850可以包括多轮询问,包括提供提示和/或补充内容以及响应。在一些实施例中,这些轮中的每个询问可以包括循环通过图17的步骤856至874中的一些或全部。如图17所描绘,用户性能度量可以作为该循环的一部分生成,并且具体地可以在提供提示和收到对该提示的响应之后生成。因此,在一些实施例中,可以在一些或所有轮询问和响应之后计算用户技能水平。

现在参考图18和图19,其示出了说明用于内容选择和递送的过程900的一个实施例的流程图。过程900可以由cdn100的全部或部分执行,包括例如服务器102、数据库服务器104、用户设备106、监管人设备100和/或ai代理124。过程900开始于框902,其中接收用户标识信息,本文也称为用户标识符。在一些实施例中,用户标识信息可包括用户名、密码、登录信息、唯一用户标识符等。在一些实施例中,用户标识信息可以由用户设备106经由用户设备106的输入/输出子系统526接收,或者由监管人设备100经由监管人设备110的输入/输出子系统526接收,并且可以经由用户设备106和服务器102中的一个或两个的通信子系统532以及通信网络120提供给服务器102。

在已经接收到用户标识信息之后,过程900前进到框904,其中接收和/或检索用户历史,或者换句话讲,用户元数据。在一些实施例中,可以从数据库服务器104并且具体地从用户配置文件数据库301处接收和/或检索用户元数据。在一些实施例中,用户元数据可以标识用户的一个或若干属性诸如,例如,用户技能水平、一种或若干学习风格、内容进展、内容网络中的位置、内容进程中的位置、内容进展的进展、历史响应数据诸如正确或不正确回答的一个或若干问题的标识等。在一些实施例中,用户元数据的全部或部分可以基于技能模型,该技能模型可以由模型引擎682响应于所接收的响应而动态调整。在一些实施例中,技能模型可以基于分布诸如,例如正态分布,并且可以通过例如中心、标准偏差等来表征。

在已经接收到用户元数据之后,过程900前进到框906,其中确定用户在内容网络中的位置和/或内容进展。在一些实施例中,可以基于所接收的用户元数据来确定该位置。具体地,在一些实施例中,用户元数据可以标识用户所在的一个或若干内容网络和/或内容进展,并且可以标识用户完成的一个或若干最后节点、用户所在的当前节点、和/或下一个未完成的节点。基于元数据中的该信息,服务器102或cdn100的其他部件可以确定用户的位置。

在确定了用户的位置之后,过程900前进到框908,其中标识节点以便递送给用户。在一些实施例中,该节点可以是用户当前所在的节点和/或内容网络中由用户在内容网络中的位置所标识的下一节点。在标识出用于递送的节点之后,过程900前进到框916,其中标识一个或若干未来潜在的下一节点。在一些实施例中,这可以包括标识在框908中标识的用于递送的节点的一些或所有结果的潜在下一节点。具体地,在一些实施例中,可以针对在框908中标识的节点提供正确响应的事件标识一个或若干未来潜在的下一节点,并且可以为针对在框908中标识的节点提供不正确响应的事件标识一个或若干未来潜在的下一节点。在一些实施例中,递送节点可以包括占位符节点,并且在一些实施例中,递送节点不是占位符节点。在这样的实施例中,占位符节点是具有从多个可选内容选项中自适应地选择的内容的节点,并且非占位符节点直接和/或静态地链接到单个内容。在递送节点包括占位符节点的一些实施例中,递送节点的标识还可以包括用于与占位符节点一起递送的内容的标识。在一些实施例中,用于与占位符节点一起递送的内容的标识可以包括根据与用户相关联的元数据和/或根据与占位符节点的内容相关联的元数据来选择内容。在一些实施例中,占位符节点的内容可以包括干预诸如,例如补救对话。

在已经标识出未来潜在的下一节点之后,过程900前进到框918,其中标识和/或检索与那些未来潜在的下一节点相关联的栅极条件。在一些实施例中,可以从数据库服务器104,特别是从内容库数据库303检索这些栅极条件。

在检索到栅极条件之后,过程900前进到框922并继续图19的框924,其中递送节点数据。在一些实施例中,节点数据可以包括递送节点的内容、所标识的未来潜在的下一节点、以及与那些未来潜在的下一节点相关联的栅极条件。在一些实施例中,节点数据可以从服务器102递送到用户设备106。节点数据可以在一次通信或若干通信中递送给用户设备106。

在一些实施例中,例如,节点数据可以在包含递送节点的第一通信和包含潜在下一节点的第二通信以及潜在下一节点的栅极条件的情况下递送到用户设备。在一些实施例中,可以对这些通信定时以最大化内容分发网络100的效率。在一个实施例中,例如,第一通信可以被递送到用户设备,并且包含在第一通信中的递送节点可以与包含潜在的下一节点的第二通信的递送以及潜在的下一节点的栅极条件同时提供给用户。

在一些实施例中,并且在收到节点数据时,用户设备106可以经由输入/输出子系统526向用户提供在框908中标识的递送节点,如框926所示。在节点的内容包括干预或补救对话的实施例中,用户设备106可以根据图16的步骤822、步骤824和/或根据图17的过程850来递送干预。

然后,用户设备可以从用户处接收响应,并且在一些实施例中,可以如框928所示评估所接收的响应。然后,用户设备可以基于也与节点数据一起接收的栅极条件,从与节点数据一起接收的潜在下一节点中标识下一节点。用户设备106可以将从接收的潜在下一节点处标识的下一个节点提供给用户,并且可以生成并发送更新通信。在一些实施例中,更新通信从用户设备106发送到服务器102,并且更新通信标识响应、响应评估和提供的下一节点。

在框930处,服务器102从用户设备106处接收更新通信。该过程然后前进到框932,其中更新和存储有用户元数据和/或用户模型。在一些实施例中,该更新可以由服务器102执行,并且具体地由模型引擎682执行。更新的用户元数据和/或用户模型可以存储在数据库服务器104中,并且具体地存储在用户配置文件数据库301中。

在更新了用户元数据和/或模型之后,过程900前进到框936,其中确定是否进行干预。在一些实施例中,这可以包括将用户元数据和/或用户模型与干预阈值进行比较。更具体地,在一些实施例中,可以根据图16的框818、框820进行干预确定。在一些实施例中,

在进行干预确定之后,过程900前进到框938、框940,其中选择、提供和终止干预。在一些实施例中,这可以包括图17中所示的过程850的步骤852至874。具体参考框938,在该步骤处选择并提供干预。在一些实施例中,可以根据用户数据以及与一个或若干潜在干预相关联的信息来选择干预。在一些实施例中,该干预可以由推荐引擎686选择,并且可以经由用户设备106、具体地经由用户设备106的输入/输出子系统526提供给用户。在一些实施例中,该干预可以包括以下中的一个或若干:与ai代理124的交互;目标性补救内容;脚手架提示;问题生成;回答特定反馈;文本和/或文本摘要;后续问题等。

在选择并递送干预之后,过程900前进到框940,其中终止了干预。在一些实施例中,当用户已经消耗了与干预相关联的所有内容、已经达到期望的技能水平或掌握水平、已经提供了一个或若干期望的响应等时,可以终止干预。在一些实施例中,可以根据满足和/或超过一个或若干暂停标准来终止干预。在一些实施例中,例如,每个干预可以具有暂停标准。在一些实施例中,例如,暂停标准可以指定一个或若干阈值,用于描述何时终止干预与何时继续干预。在一些实施例中,这些阈值可以涉及例如在干预上花费的时间量,基于干预的学生进度速率、学生技能水平等。在一些实施例中,cdn100的一个或若干部件可以将一个或若干用户属性与一个或若干暂停标准进行比较,并且具体地与一个或若干阈值进行比较,这些阈值与那些一个或若干暂停标准相关联。如果基于该比较指示干预的终止,则可以终止干预。如果未指示干预的终止,则过程900返回到框938,直到指示干预的终止。

在干预已经终止或者再次返回到决策状态936之后,如果确定不干预,则过程900前进到框942并返回到图18的框916。在此类实施例中,在框916中标识的未来潜在的下一节点是作为框928的一部分提供的下一节点的未来潜在下一节点。

也可使用本公开实施例的多种变型形式和修改形式。在上文的描述中给出了具体细节,以便深入理解这些实施例。但是,应当理解,这些实施例也可在不具备这些具体细节的情况下实践。例如,为避免让实施例难以理解,熟知的电路、过程、算法、结构和技术在示出时可能去掉了不必要的细节。

上文所述的多种技术、框、步骤和手段的实施可通过不同的方式完成。例如,这些技术、框、步骤和手段可在硬件、软件或两者的组合中实施。对于硬件实施,这些处理单元可在一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、其他被设计用于执行上述功能的电子单元和/或它们的组合内实施。

并且,应注意的是,这些实施例可描述为方法,而所述方法被描绘为流程图、流程示意图、泳道图、数据流程图、结构图或框图。尽管描绘内容可将操作描述为顺序过程,但许多操作可平行或同时执行。除此之外,这些操作的顺序可重新排列。当一个方法的操作完成时,该方法即终止,但可具有未包括在图中的额外步骤。方法可对应于方法、函数、程序、子例程、子程序等。当方法对应于功能时,其终止对应于使功能返回至调用函数或主函数。

此外,这些实施例可由硬件、软件、脚本语言、固件、中间件、微码、硬件描述语言和/或它们的任意组合来实施。在软件、固件、中间件、脚本语言和/或微码中实现时,执行必要任务的程序代码或代码段可储存在机器可读介质如存储介质中。代码段或机器可执行指令可表示过程、功能、子程序、程序、例程、子例程、模块、软件包、脚本、类或指令、数据结构和/或程序语句的任何组合。代码段可通过传递和/或接收信息、数据、变元、参数和/或存储内容而连接到另一代码段或硬件电路。信息、变元、参数、数据等可经由包括存储器共享、消息传递、令牌传递、网络传输等在内的任何适合的手段来传递、转发或传输。

对于固件和/或软件实施,方法可利用执行本文所述功能的模块(如,程序、功能等)来实施。可使用任何以有形方式体现指令的机器可读介质来实施本文所述的方法。例如,软件代码可储存于存储器中。存储器可在处理器内或在处理器外部实施。如本文所用,术语“存储器”指任何类型的长期、短期、易失性、非易失性或其他存储介质,并且不限于任何特定类型的存储器或任何特定数量的存储器,或其上储存记忆内容的任何特定类型的介质。

此外,如本文所公开,术语“存储介质”可表示用于储存数据的一个或多个存储器,包括只读存储器(rom)、随机存取存储器(ram)、磁性ram、磁芯存储器、磁盘存储介质、光学存储介质、闪存设备和/或用于储存信息的其他机器可读介质。术语“机器可读介质”包括但不限于,便携式或固定式存储设备、光学存储设备和/或各种其他能够储存且包含或携带指令和/或数据的存储介质。

尽管结合特定装置和方法在上文描述了本公开的原理,但应当清楚地理解,这些描述仅以举例的方式做出,而不作为对本公开的范围的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1