发明内容
本发明涉及一种控制共享显示的系统和方法,该共享显示器允许输入从多种输入源接收,从而进行处理,布局并显示在共享显示器上。以这种方式,使用不同类型输入设备的许多人能够与共享显示器交互作用。
本发明尤其涉及一种用于控制共享显示的系统和方法,该共享显示器用具有以下模块化结构的计算机程序实现。首先,有许多输入模块,每个提供不同的通信模态,多个用户能够使用这些模态来输入信息到共享显示系统。以这种方式,能够使用多种输入设备,从而鼓励更大百分比的共享显示的观众参与运行在显示器上的应用。通信模态之中包括电子邮件,短消息服务(SMS)文字传送消息,即时传送消息(IM),DTMF音,语音,键盘输出信号,定点设备输出信号,静止摄像机输出信号和视频摄像机输出信号。注意这些通信模态中的一些展示出大于大约1.0秒的等待时间。相信本发明是第一个这样的共享显示控制系统或方法,它适应通过多个通信模态进行的输入,其中它们中至少一个特征在于有大于大约1秒的等待时间。
在本发明的系统和方法的一些实施例中,包括一个转换模块,它获取用户输入的信息,并当输入已经不是该模块能够识别的形式时,把它转换为可由一个逻辑模块识别的命令或请求。逻辑模块实际上是一个运行在共享显示器上的应用程序,它按照用户输入的信息,产生属于运行该应用程序的显示指令和数据。这种应用程序的例子包括一个计算机游戏,电子公告牌,投票/民意测验工具和一个计算机图像程序。该逻辑模块提供它的输出到一个布局模块,它根据该输出产生布局指令并把数据打包用于共享显示。最后,一个显示模块从布局模块接收布局指令和数据并使用它们来在显示设备上显示内容。
前面的内容表示了本共享显示器系统和方法的大致结构。但是,有可能有几种变化,这对一些应用是有利的。例如,转换功能能够直接合并到逻辑模块中,从而消除对分离的转换模块的需要。此外,由于与输入模块相关联的通信模态的多样性,具有一个所有输入模块向其中输送数据的单一的转换模块可能造成需要一种极度复杂的转换模块。在这种情况下,能够包括多个转换模块,其中每个适合于不同的输入模态。而且,照这样不使用独立的转换模块,转换功能能够合并到输入模块本身中。注意在一些情况下,用户通过特定通信模态输入的信息将已经是逻辑模块可识别的形式。在这种情况下,能够除去转换模块或转换功能。
本系统和方法的大致结构中的另一个有用的变化包含向一个或多个输入模块中加入一个输出功能。该输出子模块从逻辑模块接收数据并把它输出到一个用户。例如,用户将在输入到一个输入模块的消息中指定什么数据从逻辑模块输出和数据将从哪个具有一个输出子模块的输入模块输出。因此,如果需要,用户能够指定数据通过与该请求不同的通信模态提供。注意,任何类型的数据都能够被请求和提供,比如一个图像文件,视频文件,音频文件,文档文件或一个文字消息。还要注意输出消息能够发生在广播模式,其中一个共享显示器的所有已知的观众接收相同的消息,或者他们可以以私人或组的模式出现,这时观众的子集接收不同的消息。
因为多个用户能够同时通过不同的通信模态(和通过与输入模块不同的那些)提供输入,所以有可能有冲突和数据损失。为了防止这一点,需要输入模块能够在把每个消息提供到转换或逻辑模块之前把时间戳添加到每个消息中。转换或逻辑模块将接着排队等待来自输入模块的输入数据并根据它们的时间戳处理它们。另一种处理这一问题的方式包含修改上述的大致结构,从而允许输入模块之间交叉通信。在系统的这种方案中,来自用户的输入数据仍旧有时间戳。但是,在这种情况下,只有在已经首先提供了具有较早的时间戳的另一个输入模块接收的消息之后,每个输入模块才与其它输入模块并列,以向转换或逻辑模块提供每个消息。
本共享显示系统和方法的模块也能够进行综合,排除逻辑模块,从而用多种不同的应用程序操作。以这种方式,与不同的应用相关联的逻辑模块能够简单的换入和换出,而不必须改变其它模块。另外,布局和显示模块能够进行综合,从而用多种不同的显示设备操作。但是,在不需要这种通用的情况下,使模块们足够通用来处理多种应用和显示设备可能使它们极为复杂和昂贵。从而,能够采取另一种方案。实质上,模块们能够为特定类型的应用或显示设备专门作出。如果需要支持其它应用或显示设备,专用模块将换出到能够处理想要的应用或显示设备的其它模块。
输入模块能够进行配置以在把输入消息提供到转换或逻辑模块之前从中提取想要的信息。这通过使输入模块按照规定的语法分析模式将从用户接收的消息语法分析成为离散消息单元来实现。使用的特定模式将取决于通信模态和需要什么信息来运行该应用。只有指定为包含对运行在共享显示器上的应用程序有用的信息的那些消息单元将前进到逻辑模块。以这种方式什么信息可能语法分析出来的一个例子是用户的身份。其它的例子包括文字、图像速据、视频数据、音频数据和文档。
逻辑模块也能够进行配置来对除了运行该应用程序的信息之外的那些信息存档。除了别的以外,该存档的信息能够用于反馈和数据采集的目的。例如,能够存档由用户输入的信息,以及用户的身份和何时提供该信息。同样,在用户从系统请求信息的情况下,能够存档请求什么信息,谁请求信息和何时请求信息,以及什么信息实际提供给用户。此外,能够保存共享显示器上示出的每个固有的屏幕。
能够在本共享显示系统和方法中实现的其它有用特征包括具有逻辑模块,每当共享显示器上没有足够的空间来显示所有提供的数据时,它提供具有指定哪个数据将在其它数据之前显示的优先权的显示指令。此外,逻辑模块能够提供具有指定将显示在共享显示器上的数据的时间长度的时间限制的显示指令,并能够提供属于数据应当排列在共享显示器上的方式的硬和软约束的指令。再有,逻辑模块还能够进行配置以接收来自用户的影响运行在共享显示器上的应用程序的设置和操作的命令。如果发现用户被批准对应用程序进行改变,将只处理这些类型的命令。这一特征能够通过首先确定用户输入的信息是否包括已经指定为需要特定许可来执行的命令来实现。如果是这样,识别输入信息的用户,并确定该用户是否在预先建立的具有发出这种命令的特殊许可的用户列表上。只有用户在该列表上时才执行该命令。
除了刚刚描述的好处,与附属于该说明的附图结合起来进行说明时,从紧接着下文的详细描述中本发明的其它优点将变得明显。
具体实施方式
在本发明优选实施例的以下说明中,对形成说明的一部分的附图作出参照,并且这通过可以实践本发明的特定实施例的说明示出。可以理解在不脱离本发明的范围的情况下可以实现其它实施例并能够作出结构上的改变。
1.0计算环境
在提供本发明的优选实施例的说明之前,将描述可以执行发明的适当的计算环境的简要的、概括的说明。图1说明了适当的计算系统环境100的例子。计算系统环境100只是适当的计算环境的一个例子,并且不意图对本发明的使用和功能的范围提出任意的限制。计算环境100也不应当解释为对示例操作环境100中描述的任意一个成分或成分的组合具有任意依赖性或要求。
本发明用各种其它通用目的或特殊目的计算系统环境或结构操作。可以适合于本发明使用的公知的计算系统,环境和/或结构的例子包括但不限于个人计算机、服务器计算机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程用户电子设备、网络PC、迷你计算机、大型计算机、包括任意以上系统或设备的分布式计算环境等。
本发明在诸如程序模块的计算机可执行指令的通用上下文中描述,该指令由计算机执行。通常,程序模块包括执行特殊任务或完成特殊抽象数据类型的例行程序、程序、目标代码、组件、数据结构等。本发明也可以在分布式计算环境中执行,其中由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,程序模块可以位于本地和包括存储器存储设备的远程计算机存储媒质。
参照图1,一个用于执行本发明的示例系统包括一个计算机110形式的通用目的计算机设备。计算机110的组成可以包括但不限于一个处理单元120,一个系统存储器130,和一个系统总线121,它连接包括系统存储器的多种系统组件和处理单元120。系统总线121可以是各种类型的总线结构的任意一个,包括存储总线或存储控制器,外围总线和使用多种总线结构中任一种的本地总线。借助于例子,但不限于这种例子,这样的结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强的ISA(EISA)总线,视频电子标准协会(VESA)本地总线和外围元件扩展接口(PCI)总线,它也公知为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质能够是任意的可获得媒质,这些媒质能够由计算机110访问并包括易失和非易失媒质,可移走和不可移走媒质。借助于例子,但限于这些例子,计算机可读媒质可以包括计算机存储媒质和通信媒质。计算机存储媒质包括以任意方法或技术执行的,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易失和非易失,可移走和不可移走媒质。计算机存储媒质包括但不限于RAM,ROM,EEPROM,闪存或其它存储技术,CD-ROM,数字多用盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储或其它磁性存储设备,或能够用于存储想要的信息并能够由计算机110访问的任意其它媒质。通信媒质典型的包含计算机可读指令,数据结构,程序模块或诸如载波或其它传输机构的调制数据信号中的其它数据并包括任意信息传递媒质。术语“调制数据信号”表示一个以对信号中的编码信息进行处理的方式设置或改变了一个或多个特征的信号。借助于例子,但限于这些例子,通信媒质包括诸如有线网络或直接线路连接的有线媒质,和诸如声音,RF,红外和其它无线媒质的无线媒质。以上任意种类的组合也应当包括在计算机可读媒质的范围内。
系统存储器130包括计算机存储媒质,它的形式是诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失和/或非易失存储器。一个基本输入/输出系统133(BIOS)通常存储在ROM 131中,它包含诸如在起动期间帮助在计算机110内的元件之间传送信息的基本例行程序。RAM 132通常包含可以立即由处理单元120存取和/或当前在处理单元120上操作的数据和/或程序模块。借助于例子,但限于这些例子,图1说明了操作系统134,应用程序135,其它程序模块136和程序数据137。
计算机110也可以包括其它可移走/不可移走、易失/非易失计算机存储媒质。只通过例子,图1说明了一个从不可移走、非易失磁性媒质读出或写入的硬盘驱动器141,一个从可移走、非易失磁盘152中读出或写入的磁盘驱动器151,从诸如CD ROM的可移走、非易失光盘156读出或写入的光盘驱动器155或其它光学媒质。能够用在示例操作环境的其它可移走/不可移走、易失/非易失计算机存储媒质包括但不限于盒式磁带、闪存卡、数字多用盘,数字视频磁带、固态RAM、固态ROM等。硬盘驱动器141通常通过一个诸如接口140的不可移走存储器接口连接到系统总线121,并且磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移走存储器接口连接到系统总线121。
以上讨论并在图1中示出的驱动器和它们的相关计算机存储媒质提供计算机可读指令,数据结构,程序模块和其它用于计算机的数据的存储。例如在图1中,硬盘驱动器141表示为存储操作系统144,应用程序145,其它程序模块146和程序数据147。注意这些组件能够与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144,应用程序145,其它程序模块146和程序数据147在这里给出不同的标号,来表示以最低限度它们是不同的复制件。一个用户可以通过诸如键盘162和通常称为鼠标、跟踪球或触式图形输入板的定点设备161的输入设备来输入命令和信息到计算机110。其它输入设备(未示出)可以包括话筒、操纵杆、游戏键盘、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常通过一个连接到系统总线121的用户输入接口160连接到处理单元120,但也可以通过其它接口和总线结构连接,比如并行端口、游戏端口或通用串行总线(USB)。一个监视器191或其它类型的显示设备也通过一个诸如视频接口190的接口连接到系统总线121。除了监视器,计算机也可以包括其它外围输出设备,比如扬声器197和打印机196,它们可以通过一个输出外围接口195连接。一个能够获取图像序列193的摄像机192(比如一个数字/电子静止或视频摄像机,或胶卷/相片扫描仪)也能够包括在其中作为向个人计算机110的输入设备。而且,尽管只描述了一个摄像机,也可以包括多个摄像机作为向个人计算机110的输入设备。来自一个或多个摄像机的图像193通过一个适当的摄像机接口194输入到计算机110。该接口194连接到系统总线121,从而允许图像发送到并存储在RAM 132中,或与计算机110相关联的其它数据存储设备的一个中。但是,注意图像数据能够从任意的前述计算机可读媒质输入到计算机110,而不需要使用摄像机192。
计算机110可以使用与诸如远程计算机180的一个或多个远程计算机的逻辑连接在网络环境中操作。远程计算机180可以是一个个人计算机、一个服务器、一个路由器、一个网络PC、一个同级设备或其它公共网络节点,并通常包括以上关于计算机110描述的很多元件或所有元件,尽管在图1中只描述了一个存储器存储设备181。图1中说明的逻辑连接包括一个局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中是很平常的。
当用在LAN网络环境中时,计算机110通过一个网络接口或适配器170连接到LAN 171。当用在WAN网络环境中时,计算机110通常包括一个调制解调器172或其它装置来通过诸如因特网的WAN 173建立通信。调制解调器172可以是内置的或外部的,它可以通过用户输入接口160或其它适当的装置连接到系统总线121。在联网的环境中,相对于计算机110描述的程序模块或它们的部分可以存储在远程存储器存储设备中。借助于例子,但限于这些例子,图1说明了位于存储设备181中的远程应用程序185。很明显示出的网络连接是示例性的并且可以使用在计算机之间建立通信链路的其它装置。
2.0用于控制共享显示的系统和方法
现在已经讨论了示例的操作环境,这一说明部分的剩余部分将主要说明实现本发明的程序模块。通常,根据本发明的系统和方法包含控制一个共享显示。大体上,这通过以下图2的高级流程图中示出的处理动作实现:
a)建立多输入模态,从而输入来自多个用户的信息(处理动作200);
和
b)从多个输入模态向单个计算机程序输入用户信息,计算机程序使用用户信息控制显示在共享显示器上的内容(处理动作202)。
2.1大致结构
使用来实现前述方法的唯一结构的一个实施例在图3中示出。在该实施例中,输入302从多种输入设备304接收到输入模块300的库中,每个输入模块处理处理不同类型的通信模态。输入模块300处理输入302并向转换模块306提供处理后的数据。转换模块按顺序准备数据输入到逻辑模块308。逻辑模块接着提供适于运行一个应用程序的显示指令和数据到布局模块310。转换、逻辑和布局模块306、308、310能够集体称为应用模块312。布局模块310发送布局指令和打包数据到显示模块314,它控制显示在显示设备316上的内容。前述设备和程序模块的每一个将在随后的部分中更详细的说明。
2.1.1输入设备和模块
大体上,每个输入模块设计为理解来自单一通信模式的数据。因此,每个输入模块设计为接受来自经由特定输入模态通信的任意输入设备的输入。能够支持的通信模式的例子包括但不限于电子邮件、SMS文字传送消息、即时传送消息(IM),DTMF音、语音、键盘输入、鼠标/操纵杆和任意其它定点设备输入、基于摄像机的输入,视频摄像机输入等。因此,包含的输入设备能够包括前面描述的任意计算设备,比如手持或膝上/笔记本计算设备,以及个人数字辅助(PDA)设备、手机、标准电话、数码相机和视频摄像机或组合前述的两个或多个的设备。
每个输入模块读出通过其输入信道输入的数据。该数据能够包括文字、图像、视频、音频、文档文件以及其它电子媒质。在一个实施例中,将数据进行语法分析成为内容的离散消息单元,它们接着将转发到转换模块(作为用户文字、图像、视频、音频或文档数据)。特定语法分析模式将主要取决于输入的类型和需要什么信息来控制共享显示器。例如,在电子邮件中的文字将显示在共享显示器中的电子邮件输入的情况下,它可能表示文字包括在“主题”行中。在这种情况下,将包括提取主题行的内容语法分析成为一个分离的消息单元(或多个单元,这取决于其大小)。获取提供输入的人的身份对于显示或其它目的来说也可能很重要,这将在以下描述。因此,在一个电子邮件输入的情况下,可能对“发件人”行的内容进行语法分析以产生一个消息单元。
2.1.2转换模块
转换模块得到由输入模块提供的离散消息单元并把它们转换为能够由逻辑模块处理的命令或请求。在一些情况下,一个转换模块可能是不必要的,或者可能它本身没有执行处理,只是简单的把保持输入状态不变的消息单元传递到逻辑模块。例如,在前述的输入是电子邮件并且主题行包含将显示的文字的情况下,经语法分析后的文字能够直接转发到逻辑模块。但是,在其它应用中,将需要转换。例如,假定输入模态是SMS文字传送消息,该文字传送消息以其未加工形式将通常为一个由产生这种消息的设备(例如,一个手机)的键盘产生的数字或符号串。在这种情况下,转换模块用于把数字/符号串转换为能够由逻辑模块进行处理并最终显示在共享显示器上的文字。
2.1.3逻辑模块
逻辑模块由任意运行在共享显示器上的应用程序组成。这些应用程序的例子包括一个游戏,一个公告牌,一个投票工具,一个网络浏览工具,一个用于建立图形的应用程序等。几乎任意类型的软件应用程序都能够在逻辑模块中执行,只要它们进行修改从而对从多个人接收的异步输入有意义。因此,例如,一个单人纸牌游戏可能进行修改以允许全房间的人协同玩一个游戏,而不采取单个玩家全面控制该游戏。逻辑模块输出它的数据到一个布局模块,分配数据优先权、时间限制、布局建议和涉及数据应当如何显示的其它提示的适合于逻辑模块应用的选择性辅助信息。
2.1.4布局模块
布局模块布局由逻辑模块输出的信息,试图满足作为辅助信息到达该数据的任意硬或软布局约束。在最简单的例子中,数据仅仅按光栅—扫描顺序显示,依照比例使得所有数据适合在屏幕上。在更复杂的布局中,一些数据可以有利于高优先权项进行抑制,或布局可以以对由逻辑模块运行的特定应用程序有意义的方式固定下来。
注意,在一些情况下,有转换模块,可以不需要布局模块,或者布局模块可以不执行处理,在这种情况下,简单的把从逻辑模块输出的信息传送到显示模块。例如,假定逻辑模块表示已经执行布局模块的功能的一些类型的图形引擎。在这样的情况下,布局模块不需要并能够除去或对逻辑模块输出不做改变的传送。
2.1.5显示模块
显示模块得到布局信息和其它数据(例如,文字、图像等)并把它们转换为已经能够显示在使用的显示设备上的形式。显示模块能够支持任意的精密复杂水平的图像,范围从简单的纹理显示、html页到全3D、与视频结合的动态单元。
2.1.6显示设备
任意传统的显示设备能够用于执行本共享显示系统和方法,包括但不限于CRT监视器,LCD监视器,等离子屏监视器,投影仪和相关的投影屏,电子白板甚至是书法输出显示器(激光复写器),以及不限于标准矩形显示器的其它显示器。一个优选实施例使用特殊尺寸的显示器,包括但不限于大型LED显示器,比如能够在诸如纽约城的时代广场的大城市的聚集点和电影院屏幕中找到的显示器。为了本发明的目的,一个共享显示器大致按照用户在任意显示设备上观看什么内容定义。换句话说,所有用户在任意时间点上看到相同的图像。通常,该共享显示器将在相同的位置,尽管不要求是这样。但是,所有通过一个链路控制到相同逻辑模块的不同位置的多个显示器是可能的。例如,共享显示是显示在显示设备上的平凡游戏,它在多数运动中同时禁止,从而顾客能够在全国范围内互相比赛。此外,尽管通常共享显示器将在单个公共显示设备上被用户观看,但这也不是本发明的要求。例如,在每个同时显示相同图像的相同的空间内能够有多个显示设备。
2.2替代结构
上述的大致结构表示用于执行本共享显示系统合方法的大致的方案,其中它包括用于执行指定功能的离散模块。但是,不意图将本发明限制为上述的大致结构。相反,为了适用于特定的应用程序能够使用该结构的替代方案。
2.2.1模块化结构
前述的大致结构提供给它本身使得本共享显示系统模块化,从而模块能够换出以处理各种应用程序,而不对其余模块有重大影响。例如,输入、转换、布局和显示模块能够做得通配,从而它们能够有各种逻辑模块所使用来输入用户数据和控制共享显示器。以这种方式,逻辑模块能够如需要的那样为不同的应用程序换出。例如,用于运行一个电子公告牌、游戏、拍卖、投票/民意测验、共享浏览、艺术显示以及其它应用的逻辑模块能够被换出以控制共享显示器,而不需要其它模块有变化。
同样,尽管使布局和显示模块通配可能是理想的,从而它们能够如前面所讨论的在各种不同的显示设备上显示,但是这可能不总是实践中给出的可获得的相背离类型的显示设备。一种替换方式是使得布局和显示模块可交换从而它们能够为不同的显示器改变。因而,该系统和方法能够进行定制以适合于现存显示设备,而不管它是什么类型。布局和显示模块同样能够做得可交换以在相同的显示器上产生不同的外观。例如,该特征将有利于为了形成的目的使用产生相对粗糙图像、但以高速度工作的布局和显示模块产生一个“草稿模式”显示。一旦完成形成,布局和显示模块将用更复杂的图形程序换出,以允许呈现高分辨率图像,复杂的艺术和图形设计,虽然速度较低。
再有在一些应用中,输入数据的转换,由逻辑模块执行的处理和布局要求将因此是唯一的和相互依赖的,从而简单的换出逻辑模块将不是实际可行的。在这样的情况下,为了这一说明的目的,输入模块和显示模块可以保持相同,但转换、逻辑和布局模块将合并为一个单一单元,称为“应用模块”。这些应用模块能够交换以允许不同的显示场合。
2.2.2具有消除/添加/并入模块的结构
用于执行本共享显示系统和方法的大致结构中的其它变换包含消除、添加和/或并入模块。例如,如前面的说明中表示的,一个应用不要求一些描述的功能并且能够除去相关的模块。而且,能够加入添加模块。例如,一个分离的转换模块可以为每个输入模式所使用,而不是使用大致结构中描述的单个转换模块来处理所有的输入模式。再有,模块可以用其它模块并入以建立组合的模块。例如,用于一个输入类型的输入和转换模块可以并入一个单一模块,或者转换功能能够作为逻辑模块的一部分进行处理。
2.2.3使用输入/输出模块的结构
大致结构中的另一个改变包含为上述输入模块增加一个输出功能以形成输入—输出(I/O)模块,它便于由用户进行返回通信。在这种变化中,I/O模块接受从用户通过与该模块相关的通信模态提供的输入,并通过相同的模态(假定该模态允许两路通信)或如果用户希望可通过不同的受到支持的模态发送信息返回到用户。这允许逻辑模块通过适当的I/O模块向个人发送私人消息,从而提供系统和个人用户之间的一个“带外”对话。例如,一个用户能够请求关于如何输入用于显示的文字或如何玩运行在共享显示器上的游戏的指导。而且,一个用户能够请求提供一个图像、视频、音频或文档文件。
也应当注意本共享显示系统能够进行配置以包括单独输入模块和I/O模块。因而,对于一些通信模态只有一个输入是可能,但对于与一个I/O模块相关联的模态,可能输入和输出都要有。该混合模块结构允许某种模态没有责任向用户提供一个反馈,比如实质上是单独输入设备的键盘,计算机鼠标和操纵杆。
2.2.4能够进行并列输入的结构
在使用本共享系统和方法执行的一些可能的应用中,为了定时的目的,将对从多个用户并列输入有一种需要,从而避免冲突和丢失数据。一种使用前述的大致结构的实现该任务的方法是配置输入(和I/O)模块,以在所有具有消息到达时间的用户输入中有时间戳。接着转换模块将被分配任务,以通过传统方法排队等待输入,根据它们的时间戳进入逻辑模块。但是,另一种实现该任务的方法是修改大致结构(或以上描述的对该结构的任意改变),以允许输入(和/或I/O)模块之间的交叉通信,便于它本身的规则,从而在一个时刻只有一个输入提供给转换模块(或逻辑模块,如果转换模块不存在)。例如,输入消息能够按照以上描述的进行时间戳。接着每个输入(和/或I/O)模块将与其它模块对话,以确保一个时间戳的消息(或其经语法分析后的部分)只在来自另一个模块的具有较早的时间戳的任意消息或其部分已经首先发出后提供。
3.0示例的应用和增强特征
以下部分描述几个示例的应用,它们有利地执行上述共享显示系统和方法。这些应用的描述意图帮助读者获得本发明的更好的理解,但它不意图把本发明刚好限制为这些应用。也不意图把本发明刚好限制为讨论的通信模态。此外,描述了对于特定应用有特殊优点的一些有用的特征。但是,这些特征也能够为其它应用所有利的使用并不意图刚好限制为一种应用类型。
3.1公共词语游戏
一种示例的应用包含使用一个共享显示来玩一个公共游戏。为了使该应用的描述简化,假定该游戏是一个词语游戏,其中通常一个用户使用显示在共享显示器上的字母来构成词语,词语和他或她的身份一起输入到游戏中。
为了向游戏中输入词语,每个用户从共享显示器观看可用字母并使用他或她已经接入的无论哪一种输入设备,其通信模态由系统所支持。例如,如果电子邮件是受到支持的模态,用户能够包括电子邮件中的词语(比如在前面建议的主题行中)。用户的身份也将包括在电子邮件中,比如在“发件人”行。同样,一个词语能够由用户通过一个即时传送消息(IM)模态输入。在这种情况下,用户的身份将包括在“发件人”行并且该词语形成通信的消息部分。如果短消息服务(SMS)文字传送消息方案是该系统支持的模态,能够要求用户提供他们的身份照例用于这种类型的消息,并且词语能够在消息的主体中提供。注意在电子邮件和IM输入场合的情况下,可能不需要转换模块(如果包括)执行任何处理,因为词语以能够由逻辑模块直接识别的文字形式提供。但是,在SMS文字消息的情况下,未加工的输入通常是一串数字和符号,它们将由转换模块(和由合并转换功能的输入和逻辑模块)转换为文字。用户身份和词语同样能够通过指定的工具使用标准电话DTMF音经一个PBX输入。象在SMS文字消息的情况下,这些音将需要由转换模块(和由合并转换功能的输入和逻辑模块)转换为文字。
词语和用户身份输入时,逻辑模块处理它们以运行该游戏。例如,在其它事件中,逻辑模块将由用户保留得分,确保一个用户的输入是有效的,产生适合于呈现游戏的游戏卡应当如何显示的硬和软约束。示例应用中的布局模块接着将采用该约束并以传统方式产生对于游戏显示的布局。产生的显示指令将接着提供到显示模块,从而在共享显示器上产生想要的图像。
3.2投票/民意测验工具
另一个示例的应用包含使用本共享显示器系统和方法的投票/民意测验工具的执行。用于该应用的该输入模态和模块操作与游戏的场合相同,但有一些值得注意的增加和例外。例如,尽管投票能够包含用户输入一个指定字母、符号和数字以表示显示在共享显示器上的一个选择,但是也可能有更复杂的输入。例如,一个用户可能输入一个代表他或她的选择的关键词。而且,可能允许一个用户提出一个附加的选择。因此,尽管第一输入场合能够恰好在游戏场合中进行处理,而后两个将需要一个能够将关键词更正为投票选择并识别提出的新选择的转换模块(或保留在输入或逻辑模块中的转换功能)。
该示例应用中的逻辑模块明了主题和选择并计算投票。此外,逻辑模块将增强投票规则,比如每个用户只允许对任一个主题投票一次。逻辑模块也能够按照用户的建议访问并加入新的投票选择。
另一个能够在投票工具应用中执行的(以及这里和其它地方描述的任意其它应用)有用的特征是指定特定用户具有特定许可的能力。例如,作为投票处理的仲裁者或管理者的用户能够给出输入命令以影响显示的投票选择、结束投票或建立新的投票场合的能力。在其它应用中,比如前面提到的游戏场合中,一个具有特殊许可的用户能够输入命令以应当游戏的设置和参数或如何进行显示。实际上,批准用户访问并控制尤其是逻辑模块,但也可以是其它模块的操作以影响改变的能力将很有用。用于识别具有特殊许可的用户的方法是常规的,能够执行任意适当的技术。这如何能够完成的一个普通的例子将包含首先确定用户输入的信息是否包括已经指定为需要特殊许可来执行的命令。如果是这样,识别用户输入信息,并确定用户是否在预先建立的具有发出这样一个命令的特殊许可的用户列表上。只有该用户在预先建立的列表上的情况下才执行该命令。
再另一个能够执行的有用的特征是抽奖的使用。作为参与的一种刺激,能够在参与者中执行一个抽奖,以培养悬念和娱乐。抽奖可以给参与者提供均等的赢取机会,也可以不提供均等的赢取机会。例如,恰好在彩券中,如果一个人有多于一张券,他或她成功的机会比那些没有多于一张券的人稍高,更大的参与或更多的信息能够改善一个用户的赢取的可能机会。一旦已经选出胜出者,能够通过共享显示器或通过到输入设备的消息给用户提供即时反馈。
3.3公共网络浏览器
再另一个示例应用包含一个公共网络浏览器的执行,它在共享显示器的至少一部分上显示用户请求的网页并允许用户与该网页交互作用(例如,通过允许用户在显示页上选择一个链接)。这里,用于该应用的输入模态和模块操作再次与游戏场合相同,但有一些值得注意的添加和例外。为了访问一个网页,用户输入Url以识别一个他们想在共享显示器上观看的网站,其输入方式与对一个词语游戏输入文字或输入一个表示投票选择的关键词相同(在SMS文字消息或电话DTMF音输入的情况下这可能需要转换)。此外,为了方便网络浏览功能,逻辑模块能够在一个显示的网页内注释链路。以这种方式一个用户必须访问的所有链路将输入注解。其它浏览器功能,比如以一种形式输入文字或双击一个用户接口单元能够通过使用特定命令来完成。也应当注意在网络浏览器应用中,因为实际上所有显示内容是网页,所以实质上没有对布局功能的需要,而有对一个组织屏幕上的多个网页的功能的需要,该功能能够实际上由逻辑或显示模块进行。因此,在该应用程序中,布局模块(如果存在)能够被旁路。
3.4电子公告牌
电子公告牌是适于由本共享显示系统和方法执行的应用的另一个例子。用于该应用的输入模态和模块操作再次与游戏场合的相同,只是有一些值得注意的添加和例外。例如,尽管用于显示在共享显示器上的文字以与前述相同的方式输入,但是一个公告牌也通常包括有用户输入的图像、文件、视频和其它媒质,并且它们能够被显示或下载(例如,通过本发明前述的能够输出的实施例)。一个基于电子邮件的输入模态对于输入和获得这些非文字媒体项目是理想的。而且,张贴到一个电子公告牌的用户的身份在这种应用中有时能够是匿名的。因此,前述的用户身份收集功能如果需要可能被禁用或对该应用不包含。用于公告牌应用的另一个有用的特征包含对张贴项目管理关于它们在共享显示器上剩余的时间量。例如,逻辑或布局模块能够进行配置以对显示数据分配时间限制,以便它超时时消失或淡出。
能够在公告牌应用中执行的另一个有用的特征(以及前述的的任意其它应用和其它的应用)是保持所有发送到共享显示器的消息的内部历史的能力,以及识别、记录和明了唯一的用户的能力(假定用户身份从输入获取),以及它们输入或请求什么,和它什么时候提供或请求。该存档的数据将接着可为了数据最小化的目的获得,或者可为了增强应用的规则获得(例如,每个用户只张贴一次,或者在前述的投票工具应用情况下,跟踪用户的身份以只允许每个用户投票一次)。