实况呈现的控制和修改的制作方法

文档序号:12143658阅读:379来源:国知局
实况呈现的控制和修改的制作方法与工艺

本申请要求在2014年6月23日提交的美国专利申请序列号14/312,404的优先权的权益,并且还要求在2014年6月23日提交的美国专利申请序列号14/312,384的优先权的权益,并且还要求在2014年5月30日提交的美国临时专利申请序列号62/005,994的优先权的权益,其全部被整体地通过引用结合于本文中。

技术领域

公开的实施例一般地涉及无线通信的领域,并且特别地涉及使用无线通信的媒体呈现。



背景技术:

计算机时代的出现已经导致增加的通过通信网络对服务的访问。随着电子和联网服务的成本下降,现在通过因特网远程地提供先前被亲自提供的许多服务。例如,已经利用将TV节目和电影流式传输给在家的成员的诸如Netflix和Amazon之类的公司将娱乐越来越多地转移到在线空间。类似地,电子邮件(电邮)已经减少了物理上递送信的需要。替代地,通过联网系统几乎立即地发送消息。

此外,通过网络提供的服务的到达和速度允许在很大距离上的接近瞬时的通信。因此,人们能够距很大距离与彼此一起交互、学习和工作。此外,可以安全地存储这些交互的记录用于将来使用。

附图说明

在附图中的图中图示一些实施例作为示例而不是限制,在所述附图中:

图1是描绘根据一些实施例的客户端-服务器系统的网络图,所述客户端-服务器系统包括服务器系统的各种功能部件。

图2A是图示根据一些实施例的控制设备的框图。

图2B是图示根据一些实施例的客户端设备的框图。

图3是图示根据一些实施例的服务器系统的框图。

图4A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备的用户接口的示例的用户接口图。

图4B是图示根据一些实施例的在呈现设备处的显示的示例的图。

图5A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备的用户接口的示例的用户接口图。

图5B是图示根据一些实施例的在呈现设备处的显示的示例的图。

图6A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备(例如,在图1中的设备102)的用户接口的示例的用户接口图。

图6B是图示根据一些实施例的在呈现设备处的显示的示例的图。

图7描绘供由一些示例实施例中的服务器系统使用的用于存储与特定呈现事件相关的交互的交互队列的示例性数据结构的框图。

图8A是图示根据一些实施例的用于实况呈现的远程控制和修改的过程的流程图。

图8B是图示根据一些实施例的用于实况呈现的远程控制和修改的过程的流程图。

图9描绘根据一些实施例的用于存储预先建立的呈现记录的预先建立的呈现数据库的示例性数据结构的框图。

图10描绘根据一些实施例的用于存储预先建立的呈现记录的预先建立的呈现数据库的示例性数据结构的流程图。

图11A是图示根据一些实施例的用于存储和分析呈现数据的过程的流程图。

图11B是图示根据一些实施例的用于存储和分析呈现数据的过程的流程图。

图12是图示根据一些示例实施例的机器的部件的框图。

贯穿图,同样的参考数字指代对应的部分。

具体实施方式

本公开描述用于针对每个实况事件远程控制实况呈现、修改实况呈现和存储呈现数据的方法、系统和计算机程序产品。在以下描述中,出于解释的目的,阐述了许多特定细节以提供对不同实施例的各种方面的透彻理解。然而,对于本领域的技术人员将明显的是,在没有所有特定细节的情况下和/或在对在本文中描述的各种特征和元件的变化排列(permutation)和组合的情况下,可以实践任何特定实施例。

对于给定的呈现,呈现者具有控制设备,其被用于控制呈现,并且呈现实际上通过第二设备(例如,呈现设备)被呈现。传统上,这两个设备是相同设备(例如,膝上型计算机),或者是相同系统的部分(例如,被连接到膝上型计算机的投影仪)。然而,与本发明主题的一些实施例一致,控制设备是与服务器系统通信的设备。服务器系统然后(例如,经由通信网络)被连接到呈现设备。在一些示例实施例中,控制设备在没有通过服务器连接的情况下经由本地无线网(例如,经由Wi-Fi等)被连接到呈现设备。在该情况下,由控制设备、呈现设备或其组合来提供服务器功能。

服务器系统介乎(mediate)控制设备(例如,由呈现者使用的控制设备)、呈现设备以及与特定呈现相关联的所有其他设备(例如,观看或参加呈现的用户的设备)之间。控制设备从呈现者接收输入(例如,用来控制呈现的命令),并且基于输入创建交互。例如,呈现者选择“下一张幻灯片”按钮,并且呈现者设备创建命令呈现设备移动到下一张幻灯片的交互。

每个交互由服务器系统(或在局域网上时代替服务器系统起作用的设备)接收并且被放置在交互队列中。以每个交互到达服务器系统的顺序将其放置在交互队列中。队列一般起先进先出(FIFO)队列的作用,使得所有交互以它们被接收的顺序被存储。交互然后被从队列取出并且被从交互队列传输到呈现设备,使得交互以与它们到达服务器系统的顺序相同的顺序被传输到呈现设备。呈现设备然后执行由其接收到的每个交互指定的交互。例如,如果呈现设备接收到源自控制设备的“下一页”命令交互,则呈现设备然后移动呈现的下一张幻灯片。

服务器系统可以接收多种不同类型的交互。控制交互是通过确定当前呈现什么(例如,当前示出什么幻灯片)、改变或更改内容(例如,呈现者擦除特定示例并且在其位置中绘制另一个示例)、显示观众参与提示(例如,观众提问)来控制呈现本身的交互,以及直接控制被呈现的信息的其他交互。

服务器系统还接收社会(social)交互。典型地从参与者(例如,观众成员)发送社会交互并且其包括但不限于:问题、评论、对调查或提问的回答或消息。通过服务器系统将这些交互中的每个存储在交互队列中,并且然后将其以它们被接收到的顺序传输到呈现设备。在一些示例实施例中,存在控制交互和社会交互的单独队列。

在一些示例实施例中,每个设备(例如,控制设备、呈现设备以及与观众成员相关联的各种客户端设备)具有相关联的位置(例如,GPS坐标)。服务器系统使用与每个设备相关联的位置来向服务器系统的用户提供更好的服务。在一些示例实施例中,用户可以搜索接近于他们的当前位置(或接近于给定位置)的呈现。作为响应,服务器系统确定所有当前呈现和被安排在某项目时段(例如,在下个小时中)内开始并且在用户的位置的预先限定的距离内的呈现的列表。

在一些示例实施例中,基于作为用户搜索(例如,用户选择考虑最大距离)的部分而传输的信息来确定预先限定的距离。在其他实施例中,基于行进到位置的时间来设置距离。例如,服务器系统确定用户行进到呈现将花费多久。如果用户将不能够在呈现开始之前或者在太多时间已经流逝之前到达呈现,则不列出呈现,不管总距离是多少。

在一些示例实施例中,当在用户附近的呈现正在直播时,服务器系统可以提醒用户。这可以基于用户兴趣。在一些示例实施例中,从用户接收兴趣。服务器系统然后可以将相关呈现自动地添加到用户的日程表。

在一些示例实施例中,客户端设备的位置确定服务器系统如何处理交互。当用户(例如,观看者或在场者)发送社会交互到服务器系统时,服务器系统确定从其发送社会交互的设备的位置。在确定服务器系统如何处理接收到的社会交互中使用与发送设备相关联的位置。例如,当从具有在呈现设备的预先限定的距离内(例如,在相同房间内或能够观看呈现)的相关联位置的客户端设备接收到社会交互时,服务器系统将自动地与呈现同时地显示交互(例如,评论或问题将在呈现显示器上弹出)。如果交互来自在预先限定的区域外部的呈现设备,则仅向控制设备的用户(例如,呈现者)显示交互或者将其保存在呈现记录中而不立即显示。类似地,在一些实施例中,从与呈现设备在相同局域网上的客户端系统接收交互。作为响应,社会联网系统120自动地显示。

在一些示例实施例中,服务器系统(例如,在图1中的系统120)存储多个呈现事件(例如,一般呈现的特定发生)。每个呈现事件与特定预先建立的呈现相关联。例如,公共扬声器可以(利用其附随的幻灯秀)数百次给出相同的一般呈现。每次给出呈现,呈现将基于呈现事件的特定细节而变化。观众、位置、当年的时间、特定的本地事件以及来自观众的特定问题或评论都导致特定细节从呈现到呈现不同。

通过记录和存入被传输到呈现设备(例如,在图1中的设备140)的所有呈现数据而生成呈现事件。这样,被存储的呈现事件能够在呈现设备上如呈现事件被呈现过的那样对其进行完全地再现。在一些示例实施例中,所有呈现信息被存储在日志文件中。

一旦显著数量的呈现事件已经被记录和存储在服务器系统上,服务器系统就可以分析数据以提供用以改进预先建立的呈现的推荐。例如,如果服务器系统已经存储针对呈现A的50个特定呈现事件,则服务器系统然后可以分析记录的呈现数据以确定一个或多个模式或趋势。

服务器系统首先按照呈现事件与其相关联的预先建立的呈现对呈现事件进行分组(或分类)。例如,服务器系统具有总计120个呈现事件,50个来自呈现A,25个来自呈现B,并且45个来自呈现C。服务器系统组合每个呈现事件与针对相同的预先建立的呈现的其他呈现事件。预先建立的呈现包括被用作用于诸如幻灯秀之类的特定呈现的视觉教具的所有数据和媒体。尽管一些呈现仅被呈现一次,但是许多呈现被向不同观众给出多次。因此,被用于给出呈现的材料被指定为预先建立的呈现数据,并且实际呈现的每个记录被称作呈现事件。

一旦呈现事件已经被适当地分组,服务器系统然后就每次针对单个预先建立的呈现事件来分析呈现事件。服务器系统在所有呈现事件之间比较呈现数据并且确定任何模式、类似性和偏差。例如,服务器系统分析与呈现A相关联的50个呈现事件并且确定在呈现事件中的45个(例如,大约90%)中,一个或多个在场者或观看者问关于幻灯片号码15的相同问题。服务器系统然后将注意到该趋势,并且将其存储在与呈现A相关联的趋势数据中。

服务器系统然后存储针对每个预先建立的呈现的趋势数据。被存储的趋势/模式数据然后用于给出针对特定的预先建立的呈现的内容建议。当安排新的呈现事件时,递送内容建议。例如,呈现者通知服务器系统其将在将来的某一时刻对呈现A进行呈现。服务器系统然后使用保存的趋势数据向呈现者给出特定内容建议。例如,当观看幻灯片号码12时,大约90%的时间呈现在场者问问题号码1。服务器系统然后将建议幻灯片号码12应该包括回答问题号码1的内容作为预先建立的呈现的部分。

在一些示例实施例中,呈现事件数据还包括定时数据(例如,在幻灯片改变之间经过多少时间)。该数据然后可以用于确定何时可以改进呈现的特定部分。例如,呈现C具有22个幻灯片并且平均大约每幻灯片两分钟。然而,服务器系统确定幻灯片号码19平均大约14分钟。基于这,服务器系统可以建议幻灯片号码19被分解成两个或更多个单独的幻灯片以提供呈现时间的更均匀的分布。

在一些示例实施例中,服务器系统使用针对特定呈现事件的观众的人口统计信息来生成更好的趋势数据和生成更有用的建议。在一些示例实施例中,可以直接从向服务器系统登记的用户获得人口统计信息。在其他实施例中,基于呈现的位置和时间来估计人口统计数据。例如,针对其中相关联呈现设备在上午11点在斯坦福大学的校园内的呈现事件,服务器系统估计观众将大部分是在年龄18与25岁之间的说英语的成年人。在另一个示例中,如果呈现设备在上课时间期间位于学前班处,则服务器系统估计显著数量的在场者将是在年龄3与5之间的儿童。

服务器系统然后可以使用人口统计数据来提供增强的建议以改进呈现建议。因此,可以使建议的改进适合经估计的观众。例如,对呈现事件数据的分析揭示在年龄55与78之间的成年人在关于呈现E的幻灯片号码12时确实问关于社会保障福利的问题。作为结果,如果服务器系统估计给定呈现事件的观众中的显著部分将符合该人口统计,则服务器系统建议增强呈现E的幻灯片号码12以包括对该通常被问的问题的回答。

图1是描绘根据一些实施例的客户端-服务器系统100的网络图,所述客户端-服务器系统100包括服务器系统120的各种功能部件。客户端-服务器系统100包括一个或多个控制设备102、服务器系统120、一个或多个呈现设备140以及一个或多个客户端设备150。一个或多个通信网络110将这些部件互连。通信网络110可以是多种网络类型中的任何,所述多种网络类型包括局域网(LAN)、广域网(WAN)、无线网、有线网、因特网、个域网(PAN)或这样的网络的组合。

在一些实施例中,控制设备102是具有一个或多个处理器的电子设备,诸如智能电话、平板、移动电话、膝上型计算机或能够与通信网络110通信的任何其他电子设备。控制设备102包括一个或多个设备应用104,其由控制设备102执行。在一些实施例中,(一个或多个)设备应用104包括来自由搜索应用、通信应用、生产力应用、游戏应用、字处理应用或任何其他有用的应用组成的集合的一个或多个应用。(一个或多个)设备应用104包括呈现应用106。控制设备102使用呈现应用106来将交互传送到服务器系统120。

控制设备102传输交互(命令和社会交互)到服务器系统120。每个交互具有预期的目标呈现设备140(例如,当前正在对呈现进行呈现的设备),并且被在指定的呈现设备140上重放以控制发生在呈现设备140处的呈现。此外,呈现应用106还从服务器系统120接收已经从一个或多个客户端设备150中继(relay)的交互(例如,来自观看呈现的用户的评论或问题)。例如,控制设备102正被用户用来控制在分离的位置处的呈现A(例如,在遥远的大学处的呈现)。控制设备102发送控制交互到服务器系统120,所述控制交互然后被在呈现设备140上重放。客户端设备150发送与呈现A相关联的社会交互到服务器系统120,并且服务器系统120传输接收到的社会交互到控制设备102。

在一些实施例中,如在图1中示出的那样,服务器系统120一般基于三层架构,其由前端层、应用逻辑层和数据层组成。如由相关计算机和因特网相关领域的技术人员所理解的那样,在图1中示出的每个模块或引擎表示可执行软件指令和用于执行所述指令的对应硬件(例如,存储器和处理器)的集合。为了避免不必要的细节,已经从图1省略不与传达对各种实施例的理解有密切关系的各种功能模块和引擎。然而,技术人员将容易认识到各种附加的功能模块和引擎可以与诸如在图1中图示的服务器系统120之类的服务器系统120一起使用以促进在本文中未具体描述的附加功能。此外,在图1中描绘的各种模块和引擎可以驻留于单个服务器计算机上,或者可以跨各种布置中的若干服务器计算机分布。而且,尽管在图1中被描绘为三层架构,但是各种实施例决不限于该架构。

如在图1中示出的那样,前端由用户接口模块(例如,web服务器)122组成,其接收来自各种客户端设备150的请求,并且传送适当的响应到请求客户端设备150。例如,(一个或多个)成员接口模块122可以接收以超文本传输协议(HTTP)请求或者其他基于web的应用程序编程接口(API)请求的形式的请求。控制设备102可能正在执行常规web浏览器应用或已被针对特定平台开发成包括各种各样的移动设备和操作系统中的任何的应用。

如在图1中示出的那样,数据层包括若干数据库,其包括用于存储针对各种呈现的数据的数据库,所述数据包括呈现数据130、一个或多个交互队列132、位置数据134和呈现档案136。

在一些实施例中,呈现数据130包括显示呈现(例如,幻灯秀、视频或其他呈现)所需要的所有数据。呈现包括预先设置的内容(例如,在幻灯秀中的内容)。例如,幻灯秀A包括20个幻灯片,每个包括用于每个幻灯片的特定文本。幻灯片被从服务器系统120传输到呈现设备140(或多个呈现设备)用于呈现。

呈现数据130还包括交互队列132。交互队列132包括从控制设备102和一个或多个客户端设备150接收到的一个或多个交互(例如,控制交互和社会交互)的列表。交互队列132中的每个交互表示用户与呈现的交互。这包括来自呈现者的控制交互、来自一个或多个用户的社会交互以及与呈现的任何其他交互。例如,呈现者可以发送控制交互以改变当前显示的幻灯片、编辑呈现的内容或者以向观众提出问题。示例社会交互包括来自用户的问题或评论。

每个交互被存储在交互队列132中,然后被传输到呈现设备140,使得交互被在呈现设备140上重放。交互中的至少一些被中继到正在控制呈现的控制设备102。

服务器系统120还存储与每个设备(例如,控制设备102、呈现设备140和一个或多个客户端设备150)相关的位置数据134。位置数据表示每个设备的由位置确定设备(例如,全球定位卫星设备)测量的或者如由该设备的用户自己报告的位置。例如,呈现设备140具有基于呈现设备140的GPS坐标指示呈现设备140在斯坦福大学的校园内、在特定房间中的位置。服务器系统120使用位置数据134来确定设备相对于彼此的位置。这使服务器系统120能够在呈现在用户附近正开始或者被安排要开始时提醒他们。

呈现档案136包括过去的呈现的记录。当呈现被呈现时,特定呈现被记录。因此,与特定呈现事件(例如,1A、1B或1C)相关的所有信息被记录,包括但不限于从控制设备102和/或客户端设备150接收到的所有交互、呈现的日期、呈现的时间、呈现的位置、呈现的观众以及完全地重构特定呈现事件所需要的任何附加信息。例如,将呈现1向多个不同观众呈现多次。每个呈现事件基于特定的呈现情景(例如,被问的问题、各种控制动作的定时以及其他差异)而变化。因此,呈现1的每个特定呈现事件(例如,1A、1B或1C)被分别存储。

在一些实施例中,应用逻辑层包括各种应用服务器模块,包括远程呈现模块126和反馈分析模块124。个别应用服务器模块被用于实现与服务器系统120的各种应用、服务和特征相关联的功能。例如,诸如电子邮件应用、即时消息传送应用或两者的一些混合或变化之类的消息传送应用可以用一个或多个应用服务器模块来实现。类似地,使成员能够搜索和浏览成员简档的搜索引擎可以用一个或多个应用服务器模块来实现。

除了各种应用服务器模块之外,应用逻辑层还包括远程呈现模块126。如在图1中图示的那样,在一些实施例下,远程呈现模块126被实现为结合各种应用服务器模块操作的服务。例如,任何数量的单独的应用服务器模块可以调用远程呈现模块126的功能以包括与用于允许用户用控制设备102来远程控制呈现的应用相关联的应用服务器模块。然而,在各种替代的实施例下,远程呈现模块126可以被实现为其自己的应用服务器模块使得其作为独立的应用进行操作。

在一些实施例下,远程呈现模块126包括或具有相关联的公开可用的应用程序编程接口(API),其使第三方应用能够调用远程呈现模块126的功能。

一般地,远程呈现模块126接收远程呈现被安排呈现的通知。通知包括呈现ID(其标识预先设置的呈现)、呈现设备140和时间。远程呈现模块126然后准备用于特定呈现事件的特定呈现数据。

一旦呈现数据准备好被呈现,远程呈现模块126就等待从控制设备102接收命令交互。从控制设备102接收到的每个交互被存储在交互队列132中。远程呈现模块126然后以交互被放置在队列中且被传输到呈现设备140以被重放的顺序(例如,以先进先出模式)将交互从交互队列132抽出。在一些示例实施例中,交互还被传输到控制设备102(例如,与呈现者相关联的设备)使得源自一个或多个客户端设备150的交互也被显示给呈现者。

在一些实施例中,应用逻辑层还包括反馈分析模块124。反馈分析模块124访问呈现档案以从先前的呈现事件检索反馈信息。例如,针对呈现A,存在被存储在呈现档案136中的三个特定呈现事件和被存储在呈现数据130中的预先设置的内容。反馈分析模块124检索针对被存储在呈现档案136中的三个呈现事件中的每个的反馈数据。针对特定呈现事件的反馈数据包括但不限于针对特定呈现的所有评论、问题、调查回答、控制交互的定时(例如,呈现停留在每个特定幻灯片上多久)以及关于特定呈现事件的观众的人口统计数据。

反馈分析模块124然后分析来自特定呈现事件的反馈数据。基于该分析,反馈分析模块124确定用以改进将来的特定呈现事件的特定建议。例如,如果呈现分析确定针对幻灯片C的时间中75%问到问题B,则反馈分析模块124建议更新预先设置的呈现以提供对问题B的回答作为用于将来呈现事件的幻灯片C的部分。

在一些示例实施例中,客户端-服务器系统100包括一个或多个呈现设备140。呈现设备140可以是能够显示呈现或以其他方式对呈现进行呈现的任何电子设备,包括但不限于具有显示器(例如,HD屏幕)的个人计算机、膝上型计算机、智能电话、平板计算机、投影仪设备或任何其他电子设备。

呈现设备140包括一个或多个应用。在一些示例实施例中,一个或多个呈现包括呈现应用142。呈现应用142从服务器系统120接收用于呈现事件的呈现数据130。呈现应用142然后接收交互(例如,控制和社会交互)并且基于接收到的交互更新显示的呈现。呈现设备140还具有相关联的位置。在一些示例实施例中,呈现应用142的角色由支持JavaScript技术的任何web浏览器应用实现。因此,呈现应用142不需要是单独的应用。替代地,其可以是插件或web服务。

在一些示例实施例中,客户端-服务器系统100包括一个或多个客户端设备150。客户端设备是电子设备,诸如个人计算机、膝上型计算机、智能电话、平板、移动电话或能够与通信网络110通信的任何其他电子设备。客户端设备150包括一个或多个客户端应用152,其由客户端设备150执行。在一些实施例中,(一个或多个)客户端应用152包括来自由搜索应用、通信应用、生产力应用、游戏应用、字处理应用或任何其他有用的应用组成的集合的一个或多个应用。

图2A是图示根据一些实施例的控制设备102的框图。控制设备102典型地包括一个或多个处理单元(CPU)202、一个或多个网络接口210、存储器212和用于将这些部件互连的一个或多个通信总线214。控制设备102包括用户接口204。成员接口204包括显示设备206并且可选地包括诸如键盘、鼠标、触摸敏感显示器或其他输入按钮之类的输入装置208。此外,一些控制设备102使用麦克风和语音识别来对键盘进行补充或替换。

存储器212包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器212可以可选地包括远离(一个或多个)CPU 202定位的一个或多个存储设备。存储器212或替代地在存储器212内的(一个或多个)非易失性存储器设备包括非瞬时计算机可读存储介质。

在一些实施例中,存储器212或存储器212的计算机可读存储介质存储以下程序、模块和数据结构或其子集:

· 操作系统216,其包括用于处理各种基本系统服务和用于执行硬件相关任务的过程;

· 网络通信模块218,其用于经由(有线或无线的)一个或多个通信网络接口210和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将控制设备102连接到其他计算机;

· 显示模块220,其用于使由操作系统216和设备应用104生成的信息能够被可视地呈现在显示设备206上;

· 一个或多个设备应用104,其用于处理与服务器系统120(图1)交互的各种方面,包括但不限于:

o 命令应用224,其用于发送命令交互到服务器系统120以控制正显示在呈现设备(例如,呈现设备140)处的内容,其中控制交互包括用来开始特定呈现事件、改变正被显示的内容(例如,改变当前显示幻灯片或视频)、编辑正被显示的内容、向呈现在场者发送问题以及结束呈现的指令;以及

o 呈现应用106,其用于从服务器系统120接收包括呈现信息,所述呈现信息包括来自如在图1中看到的交互队列132的交互;

· 设备数据模块230,其用于存储与控制设备102相关的数据,包括但不限于:

o 命令数据232,其用于存储意图被发送到服务器系统120以控制特定呈现的命令数据交互;

o 交互数据234,其用于存储从服务器系统(例如,在图1中的系统120)接收到的一个或多个交互(例如,来自客户端设备(例如,如在图1中看到的设备150)的社会交互)。

图2B是图示根据一些实施例的客户端设备150的框图。客户端设备150典型地包括一个或多个处理单元(CPU)242、一个或多个网络接口250、存储器252和用于将这些部件互连的一个或多个通信总线254。客户端设备150包括用户接口244。用户接口244包括显示设备246并且可选地包括诸如键盘、鼠标、触摸敏感显示器或其他输入按钮之类的输入装置248。此外,一些客户端设备150使用麦克风和语音识别来对键盘进行补充或替换。

存储器252包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器252可以可选地包括远离(一个或多个)CPU 242定位的一个或多个存储设备。存储器252或替代地在存储器252内的(一个或多个)非易失性存储设备包括非瞬时计算机可读存储介质。

在一些实施例中,存储器252或存储器252的计算机可读存储介质存储以下程序、模块和数据结构或其子集:

· 操作系统256,其包括用于处理各种基本系统服务和用于执行硬件相关任务的过程;

· 网络通信模块258,其用于经由(有线或无线的)一个或多个通信网络接口250和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将控制设备102连接到其他计算机;

· 显示模块260,其用于使由操作系统256和客户端应用104生成的信息能够被可视地呈现在显示设备246上;

· 一个或多个客户端应用152,其用于处理与服务器系统(例如,图1的系统120)交互的各种方面,包括但不限于:

o 浏览器应用262,其用于发送和接收来自服务器系统120的数据;以及

o 交互应用264,其用以将交互(一般地,社会交互)发送到服务器系统120用于到呈现设备(例如,在图1中的设备140)的传输;

· 客户端数据模块270,其用于存储与客户端设备150相关的数据,包括但不限于:

o 客户端简档数据272,其用于存储关于与客户端设备150相关联的用户的数据,所述数据包括但不限于关于用户的人口统计信息、用户兴趣信息、用户历史信息和关于用户的任何其他信息;

o 客户端位置数据274,其用于存储与客户端设备150相关联的位置(例如,与客户端设备相关联的GPS坐标);以及

o 呈现数据276,其用于存储从服务器系统(例如,在图1中的系统120)接收到的呈现数据(例如,如在图1中看到的数据130)和一个或多个交互(例如,来自控制设备(例如,如在图1中看到的设备102)和其他客户端设备(例如,如在图1中看到的设备150)的交互)。

图3是图示根据一些实施例的服务器系统120的框图。服务器系统120典型地包括一个或多个处理单元(CPU)302、一个或多个网络接口310、存储器306和用于将这些部件互连的一个或多个通信总线308。存储器306包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器306可以可选地包括远离(一个或多个)CPU 302定位的一个或多个存储设备。

存储器306或替代地在存储器306内的(一个或多个)非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器306或存储器306的计算机可读存储介质存储以下程序、模块和数据结构或其子集:

· 操作系统314,其包括用于处理各种基本系统服务和用于执行硬件相关任务的过程;

· 网络通信模块316,其用于经由(有线或无线的)一个或多个通信网络接口310和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将服务器系统120连接到其他计算机;

· 一个或多个服务器应用模块320,其用于执行由服务器系统120提供的服务,包括但不限于:

o 呈现模块321,其用于传输从一个或多个控制设备(例如,在图1中的设备102)和一个或多个客户端设备(例如,在图1中的设备150)接收到的呈现数据130和交互数据,并且然后将呈现数据130和交互数据传输到适当的呈现设备(例如,在图1中的设备140);

o 交互接收模块322,其用于接收来自一个或多个控制设备(例如,在图1中的设备102)和一个或多个客户端设备(例如,在图1中的设备150)的控制和社会交互,并且将那些交互存储在交互队列132中;

o 排队模块324,其用于将交互添加到交互队列132中;

o 队列处理模块326,其用于确定队列132中的哪些交互需要被发送到呈现设备140、控制设备102和一个或多个客户端设备150;

o 队列重放模块328,其用于基于队列处理模块326的确定来将交互传输到适当的系统;

o 交互分析模块330,其用于分析过去的呈现事件以确定可以帮助做出更有效的呈现的模式;以及

o 呈现建议模块332,其用于建议对将来的呈现的改进;

· 服务器数据模块334,其保存与服务器系统120相关的数据,包括但不限于:

o 呈现数据130,其包括用于多个呈现的预先设置的呈现数据(例如,用于幻灯秀的特定幻灯片);

o 呈现档案136数据,其包括来自先前的呈现事件的详细的交互数据,诸如呈现者的语音记录、内容改变交互、社会交互、在场者评论、控制交互和各种交互的定时;

o 交互队列132,其存储从一个或多个控制设备(例如,在图1中的设备102)和一个或多个客户端设备(例如,在图1中的设备150)接收到的多个交互,其中以交互被接收的顺序来存储交互并且以相同的顺序读出交互(例如,先进先出)。

o 位置数据134,其包括一个或多个控制设备102、一个或多个呈现设备140以及一个或多个客户端设备150的位置的列表;以及

o 经解析的统计数据336,其包括关于针对特定呈现事件接收的交互的统计数据(例如,在每个幻灯片上花费的时间的量、来自在场者的评论和问题、由呈现者做出的内容改变等)。

图4A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备(例如,在图1中的设备102)的用户接口400的示例的用户接口图。在图4的示例用户接口400中,控制设备(例如,在图1中的设备102)是移动设备402。移动设备402包括显示屏404。在一些示例实施例中,显示屏404是可以使用手指猛击和手势作为输入的触摸屏。

显示屏404包括呈现显示部分406。呈现显示部分406显示在其当前状态下(例如,在其被呈现在用于观众的呈现设备处时)的呈现。在该情况下,呈现显示部分406示出关于逻辑门的呈现中的幻灯片。

显示屏404还包括一个或多个控制交互按钮408-1至408-6。在该情况下,按钮是“绘制工具”408-1、“问问题”408-2、“上一个”408-3、“显示评论”408-4、“下一个”408-5和“常见问题”408-6。呈现者可以选择按钮中的一个来控制正在用呈现显示什么。例如,上一个按钮408-3和下一个按钮408-5将改变被显示在呈现设备(例如,在图1中的设备140)处的幻灯片的命令交互发送到服务器系统120。

在其他示例中,绘制工具按钮408-1允许呈现者编辑被显示的内容(例如,以对各种幻灯片进行擦除、着色或绘制)。这样,呈现者能够用多种可定制的工具来直接改变预先设置的幻灯片。“问问题”按钮408-2允许呈现者通过向一个或多个客户端设备(例如,在图1中的设备150)发送问题来向呈现的在场者提交一个或多个问题。“常见问题”按钮408-6是控制请求,其提示服务器系统(例如,在图1中的系统120)向呈现者发送在场者在观看当前幻灯片时问的一个或多个常见问题。这样,呈现者可以修整他的或她的呈现以覆盖最有用的材料。

在一些示例实施例中,显示屏404还包括社会交互显示窗410。因此,从服务器系统(例如,在图1中的系统120)接收一个或多个社会交互(所述服务器系统进而从一个或多个客户端设备(例如,在图1中的设备150)接收它们)。接收到的社会交互(例如,问题和评论)然后被显示在社会交互显示窗410中用于呈现者观看和回顾。呈现者可以选择“显示评论”按钮408-4来使评论/问题中的一个或多个被显示在呈现本身中。

图4B是图示根据一些实施例的在呈现设备(例如,在图1中的设备140)处的显示器450的示例的图。在该示例中,呈现设备具有向在场者显示呈现的显示器460(例如,屏幕或投影区域)。基于从控制设备(例如,在图1中的设备102)接收到的控制交互或来自客户端设备(例如,在图1中的设备150)的社会交互来更新被显示的呈现。

图5A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备(例如,在图1中的设备102)的用户接口400的示例的用户接口图。如在图4A中看到的那样,控制设备(例如,在图1中的设备102)是移动设备402。移动设备402包括显示屏404、呈现显示部分406、一个或多个控制交互按钮408-1至408-6以及社会交互显示窗410。

在该示例中,用户(例如,呈现者)已经(例如,通过手指手势或以其他方式)选择了绘制工具按钮408-1。响应于对“绘制工具”按钮408-1的用户选择,用户接口400被更新以包括一个或多个绘制工具412(绘制、擦除和形状)。绘制工具412被显示重叠在其他用户接口400部件上。

在该示例中,用户(例如,呈现者)已经选择绘制工具并且已经更改被显示在幻灯片上的内容以图示来自“与”门的不同结果。由用户控制图标414(在该情况下,手)表示用户交互。因此,呈现者可以响应于来自观看者/在场者的问题或评论来更新在幻灯片中呈现的内容。当问题从客户端设备(例如,在图1中的设备150)到来时将其添加到社会交互显示窗410中。每个问题/评论具有相关联的时间和位置。

图5B是图示根据一些实施例的在呈现设备(例如,在图1中的设备140)处的显示器460的示例的图。在该示例中,像图4B一样,呈现设备具有向在场者显示呈现的显示器460(例如,屏幕或投影区域)。被显示的呈现已经被更新以反映与呈现相关联的在控制设备(例如,在图1中的设备102)处做出的改变。具体地,已经擦除了在图4B中使用的示例数并且已经基于从控制设备(例如,在图1中的设备102)接收到的控制交互或来自客户端设备(例如,在图1中的设备150)的社会交互人工地更新新示例。

图6A是图示根据一些实施例的供在控制不同设备处的呈现中使用的控制设备(例如,在图1中的设备102)的用户接口400的示例的用户接口图。也如在图4A和5A中看到的那样,控制设备(例如,在图1中的设备102)是移动设备402。移动设备402包括显示屏404、呈现显示部分406、一个或多个控制交互按钮408-1至408-6以及社会交互显示窗410。

在该示例中,用户(例如,呈现者)已经(例如,通过人物手势或以其他方式)选择了显示评论按钮408-4。响应于对“显示评论”按钮408-4的用户选择,控制设备(例如,如在图1中看到的设备102)将交互发送到服务器系统(例如,在图1中的系统120)。呈现被更新以显示来自社会交互显示窗410的接收到的评论和/或问题中的一个或多个。在一些示例实施例中,仅最新的评论或问题被显示。还值得注意的是,在该示例中,响应于由呈现者先前发送的幻灯片改变命令交互(例如,下一个或上一个),已经改变了正在被呈现的幻灯片。

图6B是图示根据一些实施例的在呈现设备(例如,在图1中的设备140)处的显示器460的示例的图。在该示例中,像图4B一样,呈现设备具有向在场者显示呈现的显示器460(例如,屏幕或投影区域)。被显示的呈现已经被更新以反映与呈现相关联的在控制设备(例如,在图1中的设备102)处做出的改变。具体地,示例现在包括来自当前观看呈现的用户中的一个的评论602。

图7描绘供由服务器系统(例如,在图1中的系统120)使用的用于存储与特定呈现事件相关的交互的交互队列的示例性数据结构的框图。交互队列132从一个或多个控制设备102和一个或多个客户端设备150-1到150-P接收针对特定呈现事件的交互。每个呈现事件具有专用的呈现交互队列,其存储和传输仅针对特定呈现的交互。

接收到的交互然后被以它们被接收到的顺序存储在存储一个或多个呈现交互的交互队列132中。例如,交互1被接收并且被存储在交互队列132,并且然后交互2在交互1之后被接收且被存储在队列132中。

每个呈现交互702-1到702-5包括与将对当前被呈现的呈现做出的特定改变或相关联的问题或评论相关的数据。例如,呈现交互28包括使呈现从幻灯片号码9移动到幻灯片号码10的控制交互。呈现交互29包括来自用户B的陈述“当前图包括来自2014的数据吗”的问题。

队列读取器704(软件过程或模块)以交互被放置在队列132中的顺序将它们拖出交互队列132。因此,交互的顺序保持不变。这典型地被称为先进先出顺序(FIFO)。

队列读取器704然后确定刚被拖出交互队列132的交互需要被发送到哪里。一般地,每个交互被发送到一个或多个呈现设备140,在其处交互被重放以在各种呈现设备140上复制与在控制设备102上相同的呈现体验。在一些示例实施例中,交互还被发送到控制设备102(如果它源自客户端设备150的话),或者到客户端设备150,如果它源于控制设备102的话。

在一些示例实施例中,所有呈现交互还被存储在针对特定呈现事件的数据日志706中。通过存储所有交互,数据日志将包括在特定呈现事件期间发生了什么的完整的(或接近完整的)记录,使得它可以在任何稍后时间处被重建以用于分析。

图8A是图示根据一些实施例的用于实况呈现的远程控制和修改的过程的流程图。在图8A中示出的操作中的每个可以与在计算机存储器或计算机可读存储介质中存储的指令对应。由虚线(例如,具有虚线边界的框)指示可选操作。在一些实施例中,在图8A中描述的方法由服务器系统(例如,在图1中的系统120)执行。

在一些实施例中,在包括一个或多个处理器和存储用于由一个或多个处理器执行的一个或多个计算机程序的存储器的服务器系统处执行所述方法。

服务器系统从控制设备(例如,在图1中的设备102)接收与控制设备相关联的用户已经安排了实况呈现事件的通知。实况呈现事件与特定的预先建立的呈现(例如,用于多个呈现事件的标准幻灯秀)相关联。

当安排呈现开始时,服务器系统向呈现设备(例如,呈现设备140)传输(802)呈现数据用于显示;其中呈现数据具有预先建立的内容。例如,服务器系统存储用于呈现J的幻灯片。然后当安排呈现事件时,服务器系统将幻灯片号数据发送给呈现设备。呈现设备然后使呈现数据被呈现。

在一些示例实施例中,当将呈现数据传输(804)到呈现设备用于显示时,服务器系统接收(806)一个或多个呈现交互。呈现交互是从连接到服务器系统的控制设备或客户端设备(例如,在图1中的设备150)接收到的消息或数据。

呈现交互包括从控制设备接收到(808)的控制交互。控制交互是通过确定当前呈现什么(例如,当前示出什么幻灯片)、改变或更改内容(例如,呈现者擦除特定示例并且在其位置中绘制另一个示例)、显示观众参与提示(例如,观众提问)来控制呈现本身的交互,以及直接控制被呈现的信息的其他交互。例如,呈现者使用控制设备通过酌情改变幻灯片和绘图来控制被显示的呈现以图示某一点或回答问题。在其他实施例中,控制交互是导致显示非原始呈现幻灯片的部分的任何种类的呈现元信息的交互。一个示例是在呈现者发送控制交互以显示自动地生成的QR代码和/或对事件的(或呈现的)URL编码的直接URL时。

从第一控制设备接收到的控制交互包括改变在呈现事件处呈现的内容的控制交互。例如,控制交互使呈现设备将显示改变成不同的幻灯片或视频片段。

在一些示例实施例中,从第一控制设备接收到的控制交互包括更改幻灯秀呈现中的预先选择的内容的控制交互。例如,控制交互表示呈现者在呈现屏幕上绘制以添加附加信息或回答问题。

在一些示例实施例中,接收呈现交互包括从一个或多个客户端设备接收(810)一个或多个社会交互。社会交互的示例包括但不限于:问题、评论、对调查或提问的回答或消息。通过服务器系统将这些交互中的每个存储在交互队列132中,并且然后按顺序将其传输到呈现设备。在一些示例实施例中,存在针对控制交互和社会交互的单独的队列。

服务器系统将每个交互存储(812)在交互队列(例如,图1的交互队列132)中。交互队列以每个交互被接收的顺序来存储它。然后基于交互被存储的顺序读出它们(例如,FIFO系统)。

在一些示例实施例中,服务器系统将存储在交互队列中的每个交互传输(814)到呈现设备用于在呈现设备上重放每个交互。例如,交互在呈现设备处被重放使得在呈现设备处显示的呈现反映在控制设备处的呈现。

在一些示例实施例中,控制设备与呈现设备不同。在一些示例实施例中,控制设备具有相关联的第一位置,呈现设备具有相关联的第二位置,并且客户端设备具有相关联的第三位置。在一些示例实施例中,一个或多个客户端设备都具有不同的位置(例如,它们都正在远程地观看呈现)。在其他实施例中,一个或多个客户端设备都具有相同或附近的位置(例如,所有观看者都在相同位置处参加呈现)。

在一些示例实施例中,服务器系统接收(816)针对与相应客户端设备相关联的位置附近的一个或多个呈现事件的列表的请求。例如,在大学校园处的用户请求在校园内的任何呈现的列表。当呈现在特定距离内时,服务器系统确定它是否在附近。在一些示例实施例中,请求用户选择某一距离。在其他示例中,距离由服务器系统预定。

图8B是图示根据一些实施例的用于实况呈现的远程控制和修改的过程的流程图。在图8B中示出的操作中的每个可以与在计算机存储器或计算机可读存储介质中存储的指令对应。由虚线(例如,具有虚线边界的框)指示可选操作。在一些实施例中,在图8B中描述的方法由在图1中图示的服务器系统120执行。

在一些实施例中,在包括一个或多个处理器和存储用于由一个或多个处理器执行的一个或多个程序的存储器的服务器系统(例如,在图1中的系统120)处执行所述方法。

在一些示例实施例中,响应于接收到针对一个或多个呈现事件的请求,服务器系统针对多个呈现事件中的相应呈现事件确定(818)与相应呈现事件相关联的相应位置是否在与客户端设备(例如,客户端设备150)相关联的第三位置的预定距离内。例如,如果客户端设备位于中学中,则服务器系统确定相应呈现事件是否具有也位于该中学内的位置。

在一些示例实施例中,根据相应位置在第三位置的预定距离内的确定,服务器系统将相应呈现事件添加(820)到在第三位置的预定距离内的一个或多个呈现事件的列表。

在一些示例实施例中,服务器系统将一个或多个呈现事件的列表传输(822)到客户端设备。例如,服务器系统将四个当前运行呈现的列表发送到请求客户端系统。

图9描绘根据一些实施例的用于存储预先建立的呈现记录的预先建立的呈现数据库的示例性数据结构的框图。根据一些实施例,呈现数据库数据结构包括多个预先建立的呈现记录902-1到902-P,其中的每个对应于预先建立的呈现(例如,数据、图、视频和被用作对每个呈现事件的视觉提示而不是每个特定呈现事件的特定呈现信息的其他呈现材料)。

在一些实施例中,如在图9中图示的那样,相应的预先建立的呈现记录902-1存储用来标识预先建立的呈现902-1的唯一的呈现ID 904、呈现名称906、用于标识呈现的主题(topic)的主题数据908、预先建立的呈现数据910(例如,实际上组成呈现的数据包括幻灯片、文本、图像和视频)、趋势数据912以及一个或多个呈现事件914-1到914-O。

在一些实施例中,趋势数据912是通过分析一个或多个呈现事件914-1到914-O产生的数据。除了别的之外,趋势数据912还指出何时关于相同幻灯片重复某评论或问题或者何时呈现的部分使用不适当的时间量。该信息然后可以用于改进预先建立的呈现902-1或针对特定观众对其进行定制。

在一些示例实施例中,每个呈现事件914-1到914-O包括呈现事件ID 916、交互队列918、呈现位置920、在场者列表922、呈现时间924、针对在场者的人口统计信息926、呈现者ID 928以及音频数据930。

在一些示例实施例中,呈现事件ID 916是标识特定呈现事件的唯一ID号码。交互队列918存储在特定实况呈现事件期间接收到的所有交互。交互队列918被按时间顺序排序使得所有呈现事件可以被重放以恰好如其发生的那样重建呈现。

呈现位置920存储呈现设备(例如,在图1中的设备140)的物理位置。在一些示例实施例中,存在多个呈现设备并且呈现位置920存储每个位置。

在一些示例实施例中,在场者列表922包括被登记为参加呈现的用户的列表。在一些示例实施例中,服务器系统使用本地网络来标识在与呈现相同的区域中的客户端设备,并且然后确定相关联的用户。人口统计信息926标识与在场者列表922相关联的人口统计信息。

在一些示例实施例中,呈现时间924标识生成呈现事件914的实况呈现的时间。呈现事件914的记录还包括呈现者ID 928,其标识服务器系统(例如,在图1中的系统120)的唯一用户。呈现事件914的记录进一步包括音频数据930,其是在呈现期间说的所有音频词的记录。

图10描绘根据一些实施例的用于存储预先建立的呈现记录的预先建立的呈现数据库的示例性数据结构的流程图。

在一些实施例中,服务器系统(例如,在图1中的系统120)已经存储用于多个预先建立的呈现的呈现数据(例如,预先建立的幻灯秀)。当安排实况呈现事件(例如,幻灯秀呈现的特定实例)时,服务器系统将呈现数据1002传输到呈现事件数据库1008,其存储特定的呈现事件。

服务器系统从控制设备(例如,在图1中的设备102)和一个或多个客户端设备(例如,在图1中的设备150)接收一个或多个交互1004。每个交互1004被存储在交互队列1006中。交互队列1006以交互1004被接收的顺序来存储它们。在一些示例实施例中,所有交互1004还被存储在交互日志中。交互日志可以用于如特定呈现事件发生的那样来完全地重建其。

在一些示例实施例中,交互队列1006(或交互日志)被存储在呈现事件数据库1008中。呈现事件数据库1008存储多个呈现事件,每个与特定的预先建立的呈现相关联。

当安排新的呈现时,服务器系统将新的呈现事件信息1014发送到编译和分析模块1012。编译和分析模块1012还从呈现事件数据库1008和在场者人口统计数据1010接收与特定的预先建立的呈现相关的呈现事件数据。

作为响应,编译和分析模块1012首先通过呈现事件与其相关联的预先建立的呈现来对所述呈现事件分类。这样,编译和分析模块1012可以解析与给定的预先建立的呈现相关联的所有呈现事件以确定与预先建立的呈现相关联的趋势数据。例如,如果呈现A具有50个呈现事件,则编译和分析模块1012将所有50个事件收集在一起。然后,编译和分析模块1012确定在呈现事件的呈现数据1002中是否出现任何模式。因此,如果相同问题重复出现在呈现的特定部分中,则编译和分析模块1012将其记录在趋势数据中。

服务器系统然后使用关于新的呈现事件信息1014的信息和编译和分析模块1012来生成呈现内容推荐1016。继续上面的示例,呈现A具有50个事件并且编译和分析模块1012确定在关于幻灯片6的针对事件A的呈现事件的85%中问了问题“什么是对柏林防御的最佳响应”。生成的呈现内容推荐1016包括呈现者更新幻灯片6以对该通常被问的问题进行响应的推荐。

图11A是图示根据一些实施例的用于存储和分析呈现数据的过程的流程图。在图11A中示出的操作中的每个可以对应于在计算机存储器或计算机可读存储介质中存储的指令。由虚线(例如,具有虚线边界的框)指示可选操作。在一些实施例中,在图11A中描述的方法由服务器系统(例如,在图1中的系统120)执行。

在一些实施例中,在包括一个或多个处理器和存储用于由一个或多个处理器执行的一个或多个程序的存储器的计算机系统处执行所述方法。

在一些示例实施例中,服务器系统存储(1102)多个呈现事件,其中每个呈现事件与特定预先设置的呈现的实况呈现相关联。每个实况呈现在其被呈现时被服务器系统记录。

通过服务器系统收集和存储三个主要的数据片来完成记录呈现。服务器系统以预先建立的呈现数据(例如,具有幻灯片的呈现)、在呈现被给出时接收到的交互数据(例如,这包括控制呈现的交互以及诸如评论和问题之类的社会交互)以及在呈现期间从呈现者(以及潜在地,在场者)接收到的音频数据开始。在一些示例实施例中,在开始实况呈现之前从呈现者接收预先建立的呈现数据。

服务器系统生成(1104)针对相应的预先设置的呈现的模式数据。在一些示例实施例中,生成模式数据包括确定特定的预先设置的呈现。在一些示例实施例中,基于被安排的预先建立的呈现(例如,用户安排呈现并将呈现数据传输到服务器系统)来确定特定的预先建立的呈现。

服务器系统然后标识(1106)与特定预先建立的呈现相关联的一个或多个呈现事件。与特定预先建立的呈现相关联的呈现事件表示呈现中的被记录和存储在服务器系统上用于稍后分析的先前的实况呈现。例如,如果幻灯秀被呈现多次,则每个特定呈现将被存储。这些存储的呈现(被称作呈现事件)可以被分析以改进该幻灯秀的进一步的呈现。

服务器系统编译(1108)与一个或多个标识的呈现事件相关联的呈现数据。例如,服务器系统存储250呈现事件并且需要按照所述呈现事件与其相关联的实际呈现对所述呈现事件进行分类(例如,当服务器系统存储多个不同的预先建立的呈现时)。

服务器系统分析(1110)经编译的呈现数据来标识在经编译的呈现数据内的模式。在一些示例实施例中,分析经编译的呈现数据包括访问(1112)来自一个或多个呈现事件的一个或多个呈现交互。例如,服务器系统访问与特定的预先建立的呈现相关联的所有存储的呈现事件。然后,每个呈现事件被解析以从该事件提取特定交互。

在一些示例实施例中,呈现事件包括来自呈现事件在场者的问题或评论。在其他实施例中,呈现事件包括来自呈现的呈现者的控制命令。

一旦呈现交互已经被访问,服务器系统就将一个或多个经提取的呈现交互分类(1114)成一个或多个组。在一些示例实施例中,基于呈现事件的内容将呈现事件分为一个或多个组。例如,每个评论或问题被解析以标识关键字和主题。一旦关键字和/或主题已经被标识,服务器系统就基于关键字将每个交互分组(或分类)到组中。因此,如果问题是“什么是对柏林防御的最佳响应”,则服务器系统将确定“柏林防御响应”的主题并且将其与具有相同主题的其他问题形成一组。

在一些示例实施例中,每个交互与呈现的特定部分(例如,与特定幻灯片)相关联。例如,当接收到评论时,服务器系统注意到当前在显示幻灯片20并且将接收到的评论与幻灯片20相关联。除了呈现的主题之外,然后可以按照呈现的所述交互与其相关联的部分对所述交互进行分组。

一旦已经对所有交互进行分组,服务器系统就对每个组进行分析。对于每个组,服务器系统确定(1116)该组是否至少包括一定数量的呈现交互。该一定数量可以由服务器系统预定或者由用户定制。在一些示例实施例中,预定数量是百分数,使得该数量基于交互的总数量。

图11B是图示根据一些实施例的用于存储和分析呈现数据的过程的流程图。在图11B中示出的操作中的每个可以对应于在计算机存储器或计算机可读存储介质中存储的指令。由虚线(例如,具有虚线边界的框)指示可选操作。在一些实施例中,在图11B中描述的方法由服务器系统(例如,在图1中的设备120)执行。

在一些实施例中,在包括一个或多个处理器和存储用于由一个或多个处理器执行的一个或多个程序的存储器的计算机系统处执行所述方法。

根据特定主题组包括许多呈现事件的确定,服务器系统确定(1120)存在模式。例如,如果针对幻灯片12存在(来自200个总交互的)20个交互被分组到“柏林防御响应”组中,则服务器系统将确定已经建立了关于幻灯片12询问柏林防御的趋势。服务器系统然后可以使用此趋势数据来建议更改幻灯片12以覆盖此被频繁问的主题。

服务器系统然后从控制设备接收(1122)针对相应的预先建立的呈现的实况呈现的通知。例如,呈现者A向服务器系统发送他或她意图在第二天中午呈现幻灯秀A的通知。

响应于接收到新的呈现事件被安排开始的通知,服务器系统基于标识的模式数据生成(1124)一个或多个呈现内容推荐。例如,服务器系统确定存在指示幻灯片12通常导致关于“柏林防御”的问题的趋势数据。作为结果,服务器系统发送呈现被更新以包括对此通常被问的问题的回答的推荐。

服务器系统然后将生成的一个或多个呈现内容推荐传输(1126)到控制设备用于显示。

图12是图示根据一些示例实施例的机器1200的部件的框图,所述机器1200能够从机器可读介质1222(例如,非瞬时机器可读介质、机器可读存储介质、计算机可读存储介质或其任何适合的组合)读取指令1224并且全部或部分地执行在本文中讨论的方法中的任何一个或多个。具体地,图12示出以计算机系统(例如,计算机)的示例形式的机器1200,在其内可以全部或部分地执行用于使机器1200实行在本文中讨论的方法中的任何一个或多个的指令1224(例如,软件、程序、应用、applet、app或其他可执行代码)。

在替代的实施例中,机器1200作为独立的设备进行操作或者可以被连接(例如,被联网)到其他机器。在联网部署中,机器1200可以以服务器-客户端网络环境中的服务器机器或客户端机器的身份或者作为分布式(例如,端对端)网络环境中的对等机器进行操作。机器1200可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、蜂窝电话、智能电话、机顶盒(STB)、个人数字助理(PDA)、web器具、网络路由器、网络交换机、网桥或能够顺序地或以其他方式执行指定要由该机器采取的动作的指令1224的任何机器。进一步地,虽然仅单个机器被图示,但是术语“机器”还将被理解成包括单独地或联合地执行指令1224以实行在本文中讨论的方法中的任何一个或多个中的全部或部分的机器的任何集合。

机器1200包括处理器1202(例如,中央处理器单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或其任何适合的组合)、主存储器1204和静态存储器1206,其被配置成经由总线1208与彼此通信。处理器1202可以包含微电路,其是通过指令1224中的一些或全部而临时地或永久地可配置的,使得处理器1202可配置成全部或部分地执行在本文中描述的方法中的任何一个或多个。例如,处理器1202的一个或多个微电路的集合可以可配置成执行在本文中描述的一个或多个模块(例如,软件模块)。

机器1200可以进一步包括图形显示器1210(例如,等离子体显示器面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、阴极射线管(CRT)或能够显示图形或视频的任何其他显示器)。机器1200还可以包括字母数字输入设备1212(例如,键盘或小键盘)、光标控制设备1214(例如,鼠标、触摸板、追踪球、操纵杆、运动传感器、眼追踪设备或其他定点仪器)、存储单元1216、音频生成设备1218(例如,声卡、放大器、扬声器、耳机插孔或其任何适合的组合)以及网络接口设备1220。

存储单元1216包括机器可读介质1222(例如,有形且非瞬时机器可读存储介质),使在本文中描述的方法或功能中的任何一个或多个具体化的指令1224存储在其上。指令1224在由机器1200执行其之前或期间还可以完全或至少部分地驻留在主存储器1204内、在处理器1202内(例如,在处理器的高速缓冲存储器内)或两者。因此,主存储器1204和处理器1202可以被认为是机器可读介质(例如,有形且非瞬时机器可读介质)。可以经由网络接口设备1220通过网络190传输或接收指令1224。例如,网络接口设备1220可以使用任何一个或多个传输协议(例如,超文本传输协议(HTTP))来传送指令1224。

在一些示例实施例中,机器1200可以是便携式计算设备,诸如智能电话或平板计算机,并且具有一个或多个附加的输入部件1230(例如,传感器或测量仪器)。这样的输入部件1230的示例包括图像输入部件(例如,一个或多个照相机)、音频输入部件(例如,麦克风)、方向输入部件(例如,罗盘)、位置输入部件(例如,全球定位系统(GPS)接收器)、定向部件(例如,陀螺仪)、运动检测部件(例如,一个或多个加速计)、高度检测部件(例如,测高计)以及气体检测部件(例如,气体传感器)。由这些输入部件中的任何一个或多个收获的输入可以是可访问的且可用的,供由在本文中描述的任何模块使用。

如在本文中使用的那样,术语“存储器”指代能够临时地或永久地存储数据的机器可读介质,并且可以被理解成包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓冲存储器。虽然机器可读介质1222在示例实施例中被示出是单个介质,但是术语“机器可读介质”应该被理解成包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还将被理解成包括任何介质或者多个介质的组合,其能够存储用于由机器1200执行的指令1224,使得指令1224在被机器1200的一个或多个处理器(例如,处理器1202)执行时使机器1200全部或部分地实行在本文中描述的方法中的任何一个或多个。因此,“机器可读介质”指代单个存储装置或设备以及包括多个存储装置或设备的基于云的存储系统或存储网络。术语“机器可读介质”因此将被理解成包括但不限于以固态存储器、光学介质、磁介质或其任何适合的组合的形式的一个或多个有形(例如,非瞬时)数据仓库。机器可读介质还可以包括承载诸如信号(例如,电信号、光信号或电磁信号)之类的机器可读指令、承载计算机或通信网络上的代码的瞬态介质。

贯穿本说明书,复数实例可以将描述的部件、操作或结构实现为单个实例。尽管一个或多个方法中的个别操作被图示和描述为单独的操作,但是个别操作中的一个或多个可以被同时执行,并且没有什么要求以图示的顺序来执行操作。被呈现为示例配置中的单独的部件的结构和功能可以被实现为组合的结构或部件。类似地,被呈现为单个部件的结构和功能可以被实现为单独的部件。这些和其他变化、修改、添加和改进落在本文中的主题的范围内。

某些实施例在本文中被描述为包括逻辑或许多部件、模块或机构。模块可以构成软件模块(例如,存储或以其他方式具体化在机器可读介质上或传输介质中的代码)、硬件模块或其任何适合的组合。“硬件模块”是能够执行某些操作的有形(例如,非瞬时)单元并且可以被以某物理方式配置或布置。在各种示例实施例中,可以通过软件(例如,应用或应用部分)将一个或多个计算机系统(例如,独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如,处理器或处理器组)配置为操作以执行如在本文中描述的某些操作的硬件模块。

在一些实施例中,可以机械地、电子地或其任何适合的组合来实现硬件模块。例如,硬件模块可以包括被永久地配置成执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(FPGA)或ASIC。硬件模块还可以包括被通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括被涵盖在通用处理器或其他可编程处理器内的软件。将领会到,可以通过成本和时间考虑来驱动在专用且被永久配置的电路中或者在被临时配置(例如,被通过软件配置)的电路中机械地实现硬件模块的决定。

因此,短语“硬件模块”应该被理解成涵盖有形的实体并且这样的有形的实体可以被物理上构造、被永久地配置(例如,被硬接线)或者被临时地配置(例如,被编程)来以某方式操作或者来执行在本文中描述的某些操作。如在本文中使用的那样,“硬件实现模块”指代硬件模块。考虑其中硬件模块被临时地配置(例如,被编程)的实施例,硬件模块中的每个在时间中的任一个实例处不需要被配置或例示。例如,在硬件模块包括被通过软件配置成变成专用处理器的通用处理器的情况下下,可以在不同时间将该通用处理器配置为相应地不同的专用处理器(例如,包括不同的硬件模块)。软件(例如,软件模块)可以因此例如在时间的一个实例处将一个或多个处理器配置成构成特定硬件模块并且在时间的不同实例处将一个或多个处理器配置成构成不同的硬件模块。

硬件模块可以将信息提供到其他硬件模块并且可以从其他硬件模块接收信息。因此,可以认为描述的硬件模块被通信地耦合。在多个硬件模块同时存在的情况下,可以通过在硬件模块中的两个或更多个间或之间的(例如,在适当的电路和总线上的)信号传输来实现通信。在其中多个硬件模块被在不同时间配置或例示的实施例中,可以例如通过在多个硬件模块能够访问的存储器结构中对信息的存储和检索来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并且将该操作的输出存储在所述硬件模块被通信地耦合到的存储器设备中。进一步的硬件模块然后可以在稍后的时间处访问存储器设备以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。

在本文中描述的示例方法的各种操作可以至少部分由被(例如,通过软件)临时配置或者被永久配置成执行相关操作的一个或多个处理器来执行。无论是被临时地还是永久地配置,这样的处理器可以构成操作以执行在本文中描述的一个或多个操作或功能的处理器实现模块。如在本文中实现使用的那样,“处理器实现模块”指代使用一个或多个处理器实现的硬件模块。

类似地,在本文中描述的方法可以至少部分地被处理器实现,处理器是硬件的示例。例如,方法的操作中的至少一些可以由一个或多个处理器或处理器实现模块执行。如在本文中使用的那样,“处理器实现模块”指代其中硬件包括一个或多个处理器的硬件模块。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的执行,或者作为“软件即服务”(SaaS)。例如,操作中的至少一些可以由(作为包括处理器的机器的示例的)计算机的组来执行,其中这些操作经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(API))可访问。

某些操作的执行可以分布在不仅驻留在单个机器内而且被跨许多机器部署的一个或多个处理器之间。在一些示例实施例中,一个或多个处理器或处理器实现模块可以位于单个地理位置中(例如,在家庭环境、办公环境或服务器机群内)。在其他示例实施例中,一个或多个处理器或处理器实现模块可以跨许多地理位置分布。

可以在操作的算法或符号表示方面将在本文中讨论的主题中的一些部分呈现在被存储为机器存储器(例如,计算机存储器)内的位或二进制数字信号的数据上。这样的算法或符号表示是由数据处理领域中的那些普通技术人员使用以将他们的工作的主旨传达给本领域中的其他技术人员的技术的示例。如在本文中使用的那样,“算法”是引起期望的结果的操作或类似处理的自洽序列。在此上下文中,算法和操作涉及物理量的物理操纵。典型地,但是不必要地,这样的量可以采取能够被机器存储、访问、传输、组合、比较或以其他方式操纵的电、磁或光学信号的形式。原则上出于通常使用的原因,使用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“项”、“号码”、“数字”等的词来指代这样的信号有时是方便的。然而,这些词仅是方便的标签并且将与适当的物理量相关联。

除非另外具体地陈述,在本文中使用诸如“处理”、“计算”、“估计”、“确定”、“呈现”、“显示”等的词的讨论可以指代机器(例如,计算机)的动作或过程,所述机器操纵或变换被表示为在一个或多个存储器(例如,易失性存储器、非易失性存储器或其任何适合的组合),寄存器或接收、存储、传输或显示信息的其他机器部件内的物理(例如,电子的、磁的或光学的)量的数据。此外,除非另外具体地陈述,如在专利文档中常见的那样,在本文中使用术语“一”或“一个”以包括一个或多于一个实例。最后,如在本文中使用的那样,连词“或”指代非排他性的“或”,除非另外具体地陈述。

实施例提供在以下编号的示例中的特征:

1. 一种计算机实现方法,包括将呈现数据传输到呈现设备用于显示,其中呈现数据具有预先建立的内容;以及当将呈现数据传输到呈现设备用于显示时在具有一个或多个处理器的服务器系统处接收一个或多个呈现交互;以及将每个呈现交互传输到呈现设备用于在呈现设备上重放被存储在交互队列中的每个呈现交互。

2. 示例1的计算机实现方法,进一步包括在接收到一个或多个呈现交互之后,将每个呈现交互存储在交互队列中。

3. 示例2的计算机实现方法,其中服务器系统从包括控制设备和一个或多个客户端设备的组的一个设备接收一个或多个呈现。

4. 示例3的计算机实现方法,其中控制设备与呈现设备不同。

5. 示例3或示例4的计算机实现方法,其中一个或多个呈现交互包括来自与呈现者相关联的控制设备的控制交互。

6. 示例3或示例4的计算机实现方法,其中一个或多个呈现交互包括来自一个或多个客户端设备的一个或多个社会交互。

7. 示例3或示例4的计算机实现方法,其中控制设备具有相关联的第一位置,呈现设备具有相关联的第二位置,并且一个或多个客户端设备中的相应客户端设备具有相关联的第三位置。

8. 示例7的计算机实现方法,进一步包括:

从一个或多个客户端设备中的相应客户端设备接收针对与相应客户端设备相关联的位置附近的一个或多个呈现事件的列表的请求。

9. 示例8的计算机实现方法,其中服务器系统同时管理多个不同的呈现事件,每个具有相关联的位置;并且进一步包括:

响应于接收到针对一个或多个呈现事件的列表的请求,针对多个不同呈现事件中的相应呈现事件,确定与相应呈现事件相关联的相应位置是否在与客户端设备相关联的第三位置的预定距离内;以及

根据相应位置在第三位置的预定距离内的确定,将相应呈现事件添加到在第三位置的预定距离内的一个或多个呈现事件的列表;以及将一个或多个呈现事件的列表传输到客户端设备。

10. 示例9的计算机实现方法,其中与呈现事件相关联的位置是与当前正在对呈现事件进行呈现的呈现设备相关联的位置。

11. 示例5的计算机实现方法,其中从第一控制设备接收到的控制交互包括改变当前在呈现事件处呈现的内容的控制交互。

12. 示例5的计算机实现方法,其中从第一控制设备接收到的控制交互包括更改幻灯秀呈现中的预先选择的内容的控制交互。

13. 一种系统,包括一个或多个处理器;存储器;以及被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于如下的指令:

将呈现数据传输到呈现设备用于显示,其中呈现数据具有预先建立的内容;以及当将呈现数据传输到呈现设备用于显示时:

在具有一个或多个处理器的服务器系统处接收一个或多个呈现交互;以及将每个呈现交互传输到呈现设备用于在呈现设备上重放被存储在交互队列中的每个呈现交互。

14. 示例13的系统,进一步包括用于在接收到一个或多个呈现交互之后将每个呈现交互存储在交互队列中的指令。

15. 示例14的系统,其中一个或多个呈现交互包括来自与呈现者相关联的控制设备的控制交互。

16. 示例14的系统,其中一个或多个呈现交互包括来自一个或多个客户端设备的一个或多个社会交互。

17. 一种计算机可读存储介质,存储用于由一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于如下的指令:将呈现数据传输到呈现设备用于显示,其中呈现数据具有预先建立的内容;以及当将呈现数据传输到呈现设备用于显示时在具有一个或多个处理器的服务器系统处接收一个或多个呈现交互;以及将每个呈现交互传输到呈现设备用于在呈现设备上重放被存储在交互队列中的每个呈现交互。

18. 示例17的计算机可读存储介质,进一步包括用于在接收到一个或多个呈现交互之后将每个呈现交互存储在交互队列中的指令。

19. 示例18的计算机可读存储介质,其中一个或多个呈现交互包括来自与呈现者相关联的控制设备的控制交互。

20. 示例18的计算机可读存储介质,其中一个或多个呈现交互包括来自一个或多个客户端设备的一个或多个社会交互。

21. 一种计算机可读介质,承载用于由一个或多个处理器执行以实现示例1到12中的任一个的方法的机器可读指令。

进一步的实施例提供在以下编号的示例中的特征:

一种方法,包括:

存储多个呈现事件,其中每个呈现事件与预先建立的呈现的特定实况呈现相关联;

生成针对相应的预先建立的呈现的模式数据;

从控制设备接收针对相应的预先建立的呈现的实况呈现的通知;以及

响应于接收到新呈现事件被安排开始的通知:

基于标识的模式数据生成一个或多个呈现内容推荐。

方法示例1,其中生成模式数据包括针对特定预先建立的呈现:

标识与特定预先建立的呈现相关联的一个或多个呈现事件;

编译与一个或多个标识的呈现事件相关联的呈现数据;以及

分析经编译的呈现数据以标识经编译的呈现数据内的模式。

示例2的方法,其中分析经编译的呈现数据包括:

访问来自一个或多个呈现事件的一个或多个呈现交互;

将一个或多个经提取的呈现交互分为一个或多个组;

确定特定组是否至少包括预定数量的呈现事件;以及

根据特定主题组包括预定数量的呈现事件的确定,确定存在模式。

示例1的方法,进一步包括将生成的一个或多个呈现内容推荐传输到控制设备。

示例3的方法,其中基于呈现事件的内容将呈现事件分为一个或多个组。

示例3的方法,其中呈现事件包括来自呈现事件在场者的问题或评论。

示例3的方法,其中呈现事件的预定数量基于呈现事件的总数量。

一种系统,包括:

一个或多个处理器;

存储器;以及

被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于如下的指令:

存储多个呈现事件,其中每个呈现事件与特定预先建立的呈现的实况呈现相关联;

生成针对相应的预先建立的呈现的模式数据;

从控制设备接收针对相应的预先建立的呈现的实况呈现的通知;

响应于接收到新呈现事件被安排开始的通知:

基于标识的模式数据生成一个或多个呈现内容推荐。

系统示例8,其中用于生成针对特定预先建立的呈现的模式数据的指令进一步包括用于如下的指令:

标识与特定预先建立的呈现相关联的一个或多个呈现事件;

编译与一个或多个标识的呈现事件相关联的呈现数据;以及

分析经编译的呈现数据以标识经编译的呈现数据内的模式。

示例9的系统,其中用于分析经编译的呈现数据的指令进一步包括用于如下的指令:

访问来自一个或多个呈现事件的一个或多个呈现交互;

将一个或多个经提取的呈现交互分为一个或多个组;

确定特定组是否至少包括预定数量的呈现事件;以及

根据特定主题组包括预定数量的呈现事件的确定,确定存在模式。

示例8的系统,进一步包括用于将生成的一个或多个呈现内容推荐传输到控制设备的指令。

示例10的系统,其中基于呈现事件的内容将呈现事件分为一个或多个组。

示例10的系统,其中呈现事件包括来自呈现事件在场者的问题或评论。

示例10的系统,其中呈现事件的预定数量基于呈现事件的总数量。

一种计算机可读存储介质,存储用于由一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于如下的指令:

存储多个呈现事件,其中每个呈现事件与预先建立的呈现的特定实况呈现相关联;

生成针对相应的预先建立的呈现的模式数据;

从控制设备接收针对相应的预先建立的呈现的实况呈现的通知;

响应于接收到新呈现事件被安排开始的通知:

基于标识的模式数据生成一个或多个呈现内容推荐。

系统权利要求15,其中用于生成针对特定预先建立的呈现的模式数据的指令进一步包括用于如下的指令:

标识与特定预先建立的呈现相关联的一个或多个呈现事件;

编译与一个或多个标识的呈现事件相关联的呈现数据;以及

分析经编译的呈现数据以标识在经编译的呈现数据内的模式。

示例16的系统,其中用于分析经编译的呈现数据的指令进一步包括用于如下的指令:

访问来自一个或多个呈现事件的一个或多个呈现交互;

将一个或多个经提取的呈现交互分为一个或多个组;

确定特定组是否至少包括预定数量的呈现事件;以及

根据特定主题组包括预定数量的呈现事件的确定,确定存在模式。

示例16的系统,进一步包括用于将生成的一个或多个呈现内容推荐传输到控制设备的指令。

示例17的系统,其中基于呈现事件的内容将呈现事件分为一个或多个组。

示例17的系统,其中呈现事件包括来自呈现事件在场者的问题或评论。

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