多模态仓库应用的制作方法

文档序号:6483894阅读:145来源:国知局
专利名称:多模态仓库应用的制作方法
技术领域
本发明的具体实施例一般涉及多种方式(mode)通信,更具体地,涉及诸如应用于零售和仓库环境的多种方式通信。
背景技术
用户可能通过诸如例如机械方式、听觉方式和视觉方式的许多不同方式的接口与机器联接。举例来说,机械方式可以包括使用键盘输入。听觉方式可以包括例如使用声音输入或输出。视觉方式可以包括例如使用显示器输出。因此,这一接口联接(interfacing)随后可以被用于在各种商业和非商业应用中使用和访问信息。
在仓库环境中,工人经常用他的手去执行任务。因此,工人在工作处理中访问电子设备可能很困难。此外,尤其是在大型的或复杂的存储系统中,工人执行的效率可能很低。例如,在仓库中存储时,工人可能选择一条低效率的通过仓库的通道。不仅如此,工人所犯的人为错误可能导致存货清单(inventory)数据不准确。在仓库管理中还存在可能导致降低仓库管理盈利性(profitability)的其它因素。
在零售环境中,在购物中遇到困难的顾客可能会购买较少的商品,而商店可能经历顾客忠诚度降低。例如,如果顾客本来希望购买一件商品,但是在货架上不能找到该商品,或者不能找到能够访问关于该商品的信息的店员,那么顾客购买该商品的可能性就会变小。类似的,如果顾客在收款通道中经历长时间的等待,或者花费过多的时间寻找想要购买的特定产品,那么顾客再次光临该商店的可能性就会变小。此外,零售商店经常会接收到大量货物,其中的一些可能要在准备好售出之前一直存储,另一些可能被直接放上货架出售。

发明内容
在一方面,一种存货管理系统包含电子设备和存货清单数据库,其中,电子设备可操作用于以从多种可用输入模态中选择的一种模态接收作业数据,存货清单数据库可操作用以存储包含多种货品中每种货品的计数信息和位置信息的存货清单数据。存货清单数据可以以多种格式访问,每种格式适合一种可用输入模态。所述存货管理系统还包含格式确定系统,可操作用以采用接收的那种格式输入存货清单数据,并且可操作用以确定相应的采用剩余格式的存货清单数据。所述存货管理系统还包含服务器,可操作用以接收采用接收格式的作业数据,与格式确定系统通信以确定剩余的格式,并且响应于电子设备,以可用输入模态中任意一种模态向电子设备输出更新的存货清单数据,使得存货清单数据在执行存货管理任务期间被维护。
实现可以包含一个或多个下列特性。例如,所述作业数据可以与在仓库中由工人执行的任务相关,并且所存货清单数据可以包含工人将要分配、选取或计数的多种货品的子集的列表。
所述更新的存货清单数据可以包含列表的修正本,其基于作业数据并且反映正在执行任务的工人的动作。多种输入模态中的第一输入模态可以与自动识别信号相关联,该自动识别信号用于标识与任务相关联的被分配、选取或计数的货品。工人可以携带容器,并且该容器配备有用于读取自动识别信号的读取器。
所述电子设备可以包含工人在仓库中执行仓库管理任务期间携带的移动设备。此外,所述电子设备可以包含与多种货品中的一种货品处于同一位置的固定设备。
所述存货管理系统还可以包含第一网关和第二网关,第一网关与多种输入模态中的第一输入模态相关联,其中,该第一输入模态与多种格式中的第一格式相关联,第二网关与多种输入模态中的第二输入模态相关联,其中,该第二输入模态与多种格式中的第二格式相关联。所述服务器还可以操作用以通过第一网关和第二网关与电子设备通信,以便使得在服务器和电子设备之间的通信期间,作业数据、存货清单数据和更新的存货清单数据在第一输入模态和第二输入模态之间同步。
所述第一输入模态可以与语音输入相关联,并且第一格式包含语音扩展标记语言(VXML)。所述第二输入模态可以与射频识别(RFID)信号输入相关联,并且第二网关包含RFID网关。所述第二输入模态可以与超文本链接标记语言(HTML)页面相关联,并且第二格式是HTML。
在另一方面,提供仓库管理,包含提供第一输入模态和第二输入模态;接收第一格式的作业数据,该第一格式与第一输入模态一致;响应于对第一数据的接收,生成第一格式的存货清单数据;提供仓库管理还包含使所述存货清单数据相对应于与第二输入模态一致的第二格式的类似的存货清单数据;以及分别以第一输入模态和第二输入模态输出所述存货清单数据和类似的存货清单数据,以作为响应。
实现可以包含下列特征中的一个或多个特征。例如,提供第一输入模态和第二输入模态可以包含将第一输入模态和第二输入模态传送到由正在执行有关所述作业数据的仓库工人所携带的移动设备。提供第一输入模态和第二输入模态可以包含将第一输入模态提供给在仓库中执行与所述作业数据相关的任务的仓库工人所携带的移动设备,并且将第二输入模态提供给与存储在仓库中存储位置的货品处于同一位置的固定设备。该固定设备可以包含与存储位置相关联的显示屏幕以及与存储位置相关联的扫描器。
所述第一输入模态可以与由在仓库中的工人所携带的射频识别(RFID)发射机相关联。接收作业数据可以包含接收关于在仓库中由工人所选取或分配的货品的计数信息,该计数信息由RFID发射机从与所述货品相关联的标签RFID标签检测。
接收作业数据可以包含从仓库工人接收与该仓库工人所执行的任务相关的信息。所述任务可以包含向仓库中的多个位置补充货品、从仓库中的多个位置分配货品或对仓库中多个位置的货品计数。生成存货清单数据可以包括生成仓库中的货品及其各自的位置的列表;生成存货清单数据包括当通过第一输入模态或第二输入模态从仓库工人接收作业数据时,根据该作业数据更新存货清单数据库和货品列表。所述第一输入模态可以与语音输入相关,并且所述第二输入模态可以与条形码输入和射频识别(RFID)输入中的一个相关。
在另一方面,提供用于更新存货清单的输入,包含在电子设备上接收识别信息,该识别信息标识将要被放置到存储位置或从存储位置选取的产品;并且以第一模态接收位置信息,该位置信息被在电子设备上接收,并且指示当前存取的存储位置。提供用于更新存货清单的输入还包含以第二模态接收放置输入,该放置输入被在电子设备上接收,并且指示产品已经被放置到当前存储位置或者已经被从当前存储位置选取。此外提供用于更新存货清单的输入包含将放置输入提供给远程计算机系统,以用于更新所述产品的存货清单。
实现可以包含下列特性中的一个或多个特性。例如,提供用于更新存货清单的输入还可以包含提供向其放置产品的存储位置的指示符。该指示符被使用语音输出或显示器输出中的一个或多个提供。
提供用于更新存货清单的输入可以还包含提供产品的更新的存货清单。所述放置输入可以包含多种货品被放置到当前存储位置的输入。所述多种货品被放置的输入可以包含被放置货品的数量的指示符。
接收识别信息可以包含扫描条形码和接收语音输入中的一个或多个。接收放置输入是响应于所述产品发射信号。所述信号可以包含自动识别信号。其中,该自动识别信号包含RFID信号。
所述电子设备可以包含可通信地连接在一起的PDA和RFID读取器。该RFID读取器可以向远程计算机系统提供放置输入。
接收识别信息可以是响应于产品发射信号。以第一模态接收位置信息可以包含或者通过语音输入或者通过扫描条形码接收位置信息。以第二模态接收放置输入可以包含从或者输入笔或者语音输入接收放置。
所述电子设备可以包含PDA。该电子设备可以还包含可通信地连接到所述PDA的语音输入-输出系统,其中,该语音输入-输出系统可以向远程计算机系统提供放置输入。该电子设备可以包含可通信地连接在一起的语音输入-输出系统和RFID读取器。
在另一方面,提供用于更新存货清单的输入包含以第一模态在电子设备上接收位置信息,该位置信息指示将要被存取的当前存储位置。提供用于更新存货清单的输入还包含以第二模态在电子设备上接收存货清单输入,该存货清单输入指示存储在当前存储位置的产品的数量;以及向远程计算机系统提供所述存货清单输入,以用于更新该产品的存货清单。
实现可以包含下列特性中的一个或多个特性。例如,提供用于更新存货清单的输入可以还包含在电子设备上接收标识产品的识别信息。该电子设备可以是移动设备。该存储位置可以或者在商店里或者在仓库里。
在一方面,数据库可操作用以存储零售数据,其中,所述零售数据能够以多种格式存取,每种格式适合多种输入模态中的一种。并且,服务器可操作用以输出用于在电子设备上显示的第一页面,该第一页面包含用于以从多种输入模态中选择的一种输入模态接收顾客请求的第一信息栏,其中,所述服务器可操作用以响应于顾客请求并根据零售数据确定销售信息。此外,格式确定系统可操作用于产生多种格式中每种格式的销售信息。所述服务器还可操作用以输出用于在电子设备上显示的第二页面,该第二页面与多种格式的销售信息相关,并且包含用于响应输入模态中任意一种模态的销售信息。
实现可以包含下列特性中的一个或多个特性。例如,所述零售数据可以包含有关数量、位置的产品信息或有关用于销售的产品的说明信息。所述顾客请求可以包含对于产品信息的请求,并且所述销售信息可以包含产品信息。所述销售信息可以包含对用来存取用于销售的产品的路线的指导。所述零售数据可以包含关于与所标识的顾客相关的购买历史的顾客信息,并且所述销售信息包含服务器根据购买历史生成的建议购买商品。所述销售信息可以包含价格信息,并且所述第二信息栏可操作用以接收财务信息,以便完成对用于销售的产品的购买。
所述选择的输入模态与自动识别信号相关联。还可以包含移动容器,该移动容器配备有用于读取自动识别信号的读取器和用于向服务器发射自动识别信号的发射机。所述服务器还可以可操作用以根据自动识别信号追踪移动容器相对于其它移动容器的位置。
所述选择的输入模态可以与语音输入相关,并且所述第一和第二页面与语音扩展标记语言(VXML)相关。该选择的输入模态可以与使用射频识别(RFID)的自动识别信号相关。该选择的输入模态可以包含文本输入,并且所述第一和第二页面与超文本链接标记语言(HTML)相关联。
所述电子设备可以包含移动设备、与用于销售的多种产品中的一种处于同一位置的固定设备、或信息亭。
在另一方面,输出用于在电子设备上显示的第一页面,该第一页面包含用于接收第一顾客请求的第一信息栏;以所选择的输入模态接收第一顾客请求,其中,所选择的输入模态是从可用于向第一信息栏输入数据的多种输入模态中选出的。响应于顾客请求确定销售信息。将所述销售信息与多种输入模态中的每一种相关联。输出用于在电子设备上显示的第二页面,所述第二页面显示销售信息,并且包含用于以多种输入模态中的任何一种模态接收用户请求的第二信息栏。
实现可以包含下列特性中的一个或多个特性。例如,接收第一顾客请求包括接收对于与用于销售的产品相关的产品信息的请求,包含价格、位置或说明信息。此外,接收第二顾客请求可以包含与财务交易信息相关的购买请求,并且根据财务交易信息完成对产品的销售。
可以从移动容器接收自动识别信号,该自动识别信号标识用于销售的产品。该移动容器可以配备有用于读取自动识别信号的读取器和用于发射自动识别信号的发射机。所述电子设备可以包含移动设备、与多种用于销售的产品中的一种处于同一位置的固定设备、或信息台。
接收第一顾客请求可以包含接收语音输入,并且其中所述第一页面与语音扩展标记语言(VXML)相关联。接收第一顾客请求可以包含接收文本输入,并且其中所述第一页面与超文本链接标记语言(HTML)相关联。
将销售信息与多种输入模态中的每一种输入模态相关联可以包含用多种格式中的每一种格式表示销售信息,其中,多种格式中的每一种格式与多种输入模态中的每一种输入模态相关联。
在另一方面,提供产品数据包含在电子设备上以第一模态接收识别输入,该识别输入标识一个产品。提供产品数据还包含在接收到所述识别输入之后,自动请求产品信息,并且从电子设备向用户提供所述产品信息。提供产品数据还包含在电子设备上以第二模态接收附加输入,该附加输入请求附加产品信息;在接收所述附加输入之后,自动请求附加产品信息;并且从电子设备向用户提供附加产品信息。
实现可以包含下列特性中的一个或多个特性。例如,以第一模态接收识别输入可以包含扫描与产品相关联的条形码。向用户提供产品信息可以包含在本地显示器上显示产品信息。提供产品数据还可以包含从移动设备提供产品数据。此外,可以接收顾客的付款信息并向顾客售出产品。
所述产品信息可以包含说明信息、可用性信息、价格信息、保证信息、评论信息、促销信息和竞争者信息中的一种或多种。
以第一和第二模态中的至少一种模态接收输入可以包含接收搜索信息串。以第一和第二模态中的至少一种模态接收输入还可以包含访问搜索信息串的至少第一部分;在第一搜索空间中搜索搜索信息串的第一部分的匹配项;根据搜索第一收缩空间的结果限制第二搜索空间;访问搜索信息串的至少第二部分;以及在限制的第二搜索空间中搜索搜索信息串的第二部分的匹配项。
第一和第二模态中的至少一种可以包含语音模态。此外,可以访问以语音模态接收的语音输入,该语音输入包含至少第一部分和第二部分;可以执行对语音输入的第一部分的语音识别;并且,可以使用搜索空间执行对第一部分和第二部分的组合的语音识别;以及可以根据执行对语音输入的第一部分的语音识别得到的结果限制搜索空间,其中,与在未限制的搜索空间上执行语音识别相比,限制搜索空间允许对组合的增强的语音识别。
以第一和第二模态中的至少一种模态接收输入可以包含向用户提供选项的第一集合,该选项的第一集合与搜索信息串的第一参数相关,并且在一个页面中提供给用户;从用户接受第一输入,该第一输入示从选项的第一集合中选择的;根据所接受的第一输入限制选项的第二集合,该选项的第二集合与搜索信息串的第二参数相关;以及在所述页面中向用户提供选项的第二集合,以便向用户呈现提供选项的第一集合和选项的第二集合的单一页面。
以第一和第二模态中的至少一种模态接收输入可以包含从多个独立的语法中激活第一语法,该第一语法用第一输入目录标识。此外,以第一和第二模态中的至少一种模态接收输入包含从多个独立的语法中停用第二语法;输入与第一输入目录相关的口语表达的数据;以及将口语表达的数据与存储在第一语法中的数据比较。
在附图和下面的说明书中,阐明了一个或多个实现的细节。根据说明书、附图和权利要求,具体实现的其它特性将很明显。


图1是用于使多种通信方式同步的集中式(centralized)系统的例子。
图2是图1所示系统实现的例子。
图3是用于在语音网关请求VXML页面之后使浏览器同步的服务器推送(server-push)处理的例子。
图4是用于在语音网关请求VXML页面之后使浏览器同步的浏览器拉取(brower-pull)处理的例子。
图5是用于在浏览器请求HTML页面之后使语音网关同步的语音中断监听器处理的例子。
图6是用于在浏览器请求HTML页面之后使语音网关同步的无输入标签(no-input tag)处理的例子。
图7是用于使多种方式同步的融合(fused)系统的例子。
图8是用于在浏览器输入之后使图7所示的系统中的浏览器和语音方式同步的处理的例子。
图9是用于在语音输入之后使图7所示的系统中的浏览器和语音方式同步的处理的例子。
图10是用于使多种通信方式同步的代理系统的例子。
图11是用于在浏览器输入之后使图10所示的系统中的浏览器和语音方式同步的处理的例子。
图12是用于在语音输入之后使图10所示的系统中的浏览器和语音方式同步的处理的例子。
图13是用于与代理系统中的同步控制器通信的设备的例子,其中,代理系统用于使多种通信方式同步。
图14是用于使用多集群方法(multi-cluster approach)识别搜索信息串(string)的处理的流程图。
图15是描述图14所示处理的图解流程图。
图16是用于执行使用多级(multi-level)、多参数层叠(cascade)方法搜索搜索信息串的处理的流程图。
图17是用于实现图16所示处理的页面的图片。
图18是用于识别地址的处理的流程图。
图19是用于输入地址信息的弹出式向导的方框图。
图20是用于输入电子邮件地址的格式的方框图。
图21是用于输入网站地址的格式的方框图。
图22是用于搜索一个或匹配的搜索信息串的处理的流程图。
图23是用于执行一个或多个所述处理的系统的方框图。
图24是用于实现二级、动态语法(dynamic grammar)的结构的方框图。
图25是用于输入关于用户的信息的网页。
图26是用于输入关于用户的信息的网页。
图27是具有多个移动设备、语音网关和服务器,且所示的各种部件都包含适配器的系统的例子。
图28是图14所示系统的有限(limited)实现的例子。
图29是用于使用图15所示系统的处理的例子。
图30是具有防火墙的图15所示系统的例子。
图31是用于发送同步消息的处理的例子。
图32是分散式(decentralized)系统的另一个例子。
图33是用于请求同步数据的处理的例子。
图34是用于以不同模态(modality)呈现更新数据的处理的例子。
图35是多模式存货(warehousing)系统的方框图。
图36是示出图35所示系统中服务器交互的流程图。
图37是示出货品(item)选择技术的方框图。
图38A是进一步示出图37所示的货品选择技术的方框图。
图38B-F是示出货品拣选(item-picking)处理的屏幕截图。
图39示出了图35所示系统中使用的便携式数字助理(“PDA”)。
图40A-B是示出货品移动(item-moving)技术的方框图。
图41是示出用于将货品入库的处理的流程图。
图42是示出用于获取(taking)货品的存货清单的处理的流程图。
图43是多模态销售系统的方框图。
图44是访问产品信息的处理的流程图。
图45是购买产品的处理的流程图。
图46A-J是实现图45所示处理的屏幕截图。
具体实施例方式
具体实施例的介绍系统100还包含设备160,设备160包含第一网关165、第一接口170和第二接口175。第一网关165和第一接口170通过连接180通信。系统100还包含通过连接190与第二接口175通信的第二网关185。第一和第二网关165和185两者之一或两者全部通过连接130与服务器系统110和/或同步控制器120通信。第一和第二网关165和185还分别通过连接194和196与发表/预订(publish/subscribe)系统通信。
“接口”是指或者接受来自用户的输入、或者提供向用户的输出的部件。例子包括显示器、打印机、扬声器、麦克风、触摸屏、鼠标、滚球、游戏棒、键盘、温度传感器、光传感器、光、加热器、例如烟雾检测器的空气质量传感器、和压力传感器。举例来说,该部件可能是硬件、软件或两者的组合。
“网关”是指在用户输入/输出和某些其它数据格式之间进行翻译的部件。例如,浏览器是一种网关,它将用户的点击和键入翻译成超文本传输协议(“HTTP”)消息,并将接收到的HTML消息翻译成能够被用户理解的格式。
系统100可选择地包含第三网关198和第三接口199。第三网关可选择地通过连接130直接与单元140通信。第三网关198代表在不同实现中可以使用的多种不同方式,以及这些方式的网关和接口可以彼此相距较远或者与其它网关和接口相距较远的事实。输入或输出的各种方式的例子包含手动、视觉(例如显示或打印)、听觉(例如语音或报警)、触觉、压力、温度和味道。举例来说,手动方式可以包含键盘、输入笔、小键盘、按钮、鼠标、触摸(例如触摸屏)和其它手动输入。
模态网关或模态接口是指特别适合于某个或某些特定方式的输入和/或输出的网关(或接口)。例如,浏览器是模态网关,其中的模态主要包括手动方式的输入(键盘、鼠标、输入笔)、视觉方式的输出(显示器)和可能的听觉方式的输出(扬声器)。这样,在一个给定的模态网关中可以表现多种方式。由于系统可以包含若干不同的模态网关和接口,因此这些网关和接口被称为例如第一模态网关、第一模态接口、第二模态网关和第二模态接口。
更广泛地说,第一模态实体是指具体适合于某个或某些特定方式的输入和/或输出。第一模态实体可以包含例如第一模态网关或第一模态接口。
第一模态数据项目是指第一模态实体所使用的数据项目。不需要以第一模态实体所支持的方式之一提供该数据项目,而是,第一模态实体使用该数据项目以所支持的方式之一与用户联接。例如,如果语音网关是第一模态网关,那么举例来说,第一模态数据项目可以是VXML页面。VXML页面本身不是语音数据,但是它可以被用于提供到用户的语音接口。
参照图2,系统200是系统100的实现的一个例子。控制单元140用网络服务器240实现,网络服务器240包含内置同步控制器。设备160用设备260实现,设备260可以是例如计算机或移动设备。第一网关165和第一接口170分别用设备260的浏览器265和浏览器接口270实现。第二网关185和第二接口175分别用语音网关285和语音接口275实现。发表/预订系统250与发表/预订系统150类似。连接230、280、290、294和296与连接130、180、190、194和196类似。
举例来说,语音接口275可以包含麦克风和扬声器。语音接口275可以被用于通过连接290向语音网关285发送命令,或者通过连接290从语音网关285接收语音提示。命令和提示可以使用例如基于因特网协议(“IP”)连接的语音电话服务(称为基于IP的语音服务,或者“VoIP”)通过连接290发送。语音网关285可以执行对输入的语音数据的语音识别功能。语音网关285还可以接收来自网络服务器240的VXML页面,该VXML页面包含用于与用户使用语音交互的对话输入项。语音网关285可以将从用户接收到的识别出的单词与对话输入项进行相关以确定如何响应用户的输入。可能的响应可以包含提示用户附加的输入或根据用户输入执行命令。
浏览器265以与语音网关285类似的方式操作。但是,浏览器265使用HTML页面而不是VXML页面。此外,浏览器265和用户经常使用诸如例如键盘、鼠标和显示器的手动和视觉方式通信,而不是使用语音。虽然浏览器265可能能够使用听觉方式,但是该方式通常仅限于诸如例如通过扬声器提供音乐的输出。虽然系统200示出了适合手动和语音输入方式以及显示和语音输出方式的实现,但是也可以支持替代和附加方式。
发表/预订系统250可以起到例如预订实体的路由器的作用。举例来说,如果网关265和285被预订,则发表/预订系统250可以将消息从网络服务器240路由(route)到网关265和285。
系统200的操作将参照图3-6进行解释,图3-6描述了可能使用系统200执行的处理的例子。将要说明四个处理,它们都与在用户使用两个网关中的一个导航(navigate)到新的页面之后使两个网关同步相关。四个处理分别为服务器推送、浏览器拉取、语音中断监听器和无输入标签。
参照图3,使用系统200的,称为服务器推送的处理300包含使浏览器265预订发表/预订系统250(310)。通过使服务器240在HTML页面中插入函数调用来便利预订。在浏览器265接收并加载页面时,函数调用被执行,并且向发表/预订系统250邮送(post)预订。预订包含插入到预订中的回调指针或索引(reference),因此,在接收到发表的消息时,发表/预订系统250能够将该消息提供给浏览器265。预订之后,浏览器265监听发表/预订系统250的任何消息。在一个实现中,浏览器265使用多种帧,包含内容帧、接收帧和发送帧。发送帧用于预订;接收帧用于监听;内容帧是仅有的显示内容的帧。在处理300中,预订(310)可能被延迟,但是会在浏览器接收消息之前发生(见350)。
处理300包含使语音网关285请求VXML页面(320),并且使网络服务器240将VXML页面发送到语音网关285(330)。注意,浏览器265和语音网关285是在正在描述的处理300的实现中将要使其同步的网关。操作320和330的启动可以是例如响应于用户向语音网关285提供语音命令告诉语音网关导航到新的网页。网络服务器可以将发送VXML页面延迟到后面处理300的操作。对于使得被请求的VXML页面到达语音网关285与相应的HTML页面到达浏览器265更加合拍,这种延迟可能是有益的。
页面可以是例如内容页面或服务器页面。内容页面包含网页,网页是用户在浏览网络时通常看到或听到的页面。网页包含例如HTML和VXML页面。服务器页面包含诸如例如Java服务器网页(“JSP”)的编程页面。服务器页面也可以包含内容。
处理300包含使得网络服务器240向发表/预订系统250发送消息以指示与发送到语音网关285的VXML页面相对应的HTML页面(340)。网络服务器240可以识别出,或者可能假定,语音网关285和浏览器265不同步,或者由于VXML页面被发送到语音网关285从而两个网关265和285将变得不同步。因此,网络服务器240向发表/预订系统250发送意图发送给浏览器265的消息,以便使两个网关265和285同步。网络服务器240可以使用例如具有指示相关HTML页面的嵌入式JavaScript语言命令的HTTP邮送消息(post message)发送消息。网络服务器240不需要指定意图将消息发送到哪一个具体的浏览器265(通过例如指定IP地址和端口号)。而是,网络服务器发送为特定“主题”配置的消息(通常为字符串参数)。当网络服务器240使用发表/预订系统250发表该消息时,所有该主题的预订者都接收到该消息。
网络服务器240可以通过多种方式确定相应的HTML页面。例如,如果VXML页面请求是相当于点击链接的语音,则VXML数据可以包含相应HTML页面的统一资源地址(“URL”)。或者例如网络服务器240可以访问包含相应的VXML和HTML页面的URL的数据库,或者如果相应页面已知具有类似的URL,则执行URL翻译。
本公开中所使用的“使同步(synchronizing)”是指使两个实体变成同步,或者维持两个实体之间的同步。在本公开中,当在给定时间点用户能够使用两个网关中的任何一个联接(interface)同一特定信息时,称这两个网关同步,其中的联接包含输入或者输入。
本公开中所使用的两个项目“相应”或“相对应”是指这两个项目都能够被不同的模态网关用于允许用户联接到同一特定信息。例如,如果一个HTML页面和一个VXML页面允许用户联接到同一信息,则该HTML页面和该VXML页面相对应。如果两个网关能够使用该项目从而允许用户使用不同模态联接到该项目中的信息,一个项目可以与其自身相对应,。
处理300包含使得发表/预订系统250从网络服务器240接收消息并向浏览器265发送消息(350)。发表/预订系统250可以使用另一个HTTP邮送消息向特定主题的所有预订者发送该消息。在这种实现中,发表/预订系统250可以使用可能已经由浏览器265插入到预订中的回调指针或索引。
处理300包含使得浏览器265接收该消息(360)。假定浏览器265是流(streaming)HTTP模式,则意味着浏览器265和发表/预订系统250之间的HTTP连接保持开通。由于浏览器265被预订,因此在发表/预订系统250和网络服务器240之间的HTTP连接也保持开通。网络服务器240通过发表/预订系统250不断地命令浏览器265“保持运行(keep alive)”并继续显示当前HTML页面。浏览器265的接收帧通过中断方式接收这些“保持运行”通信。当网络服务器消息到达并指示相应HTML页面时,浏览器265在浏览器接收帧中接收该消息,并执行嵌入的Javascript命令。对该命令的执行通过将内容帧重新指向另一个HTML页面来更新内容帧。
参照图4,使用系统200的,可以被称为浏览器拉取的处理400包含使得语音网关285请求一个VXML页面(410),并使得网络服务器240将被请求的VXML页面发送到语音网关285(420)。网络服务器240将发送VXML页面延迟到后面的处理400的操作,其目的是例如使被请求的VXML页面在到达语音网关285与相应的HTML页面到达浏览器265更加合拍。
处理400包含使得服务器240注意(note)语音网关285的状态已经改变并确定浏览器265需要的相应的页面以便保持同步(430)。从而网络服务器240跟踪网关265和285的状态。
处理400包含使得浏览器265向网络服务器发送对于任何更新的请求(440)。这些请求是刷新请求或对更新的请求,并且浏览器265使用HTTP get消息通过发送帧在循环的基础上发送这些请求。
处理400包含使得网络服务器240发送响应以更新浏览器265(450)。通常,网络服务器240响应于刷新请求,向浏览器接收帧发送回复消息以指示“没有变化”。但是,当语音网关285请求了新的VXML页面时,网络服务器240在对浏览器265的刷新回复中嵌入Javascript命令,一旦浏览器265执行该命令,就会导致浏览器265进入同步状态。例如,Javascript命令命令浏览器265加载新的HTML页面。
处理400包含使得浏览器265接收响应并执行嵌入命令(460)。一旦执行了嵌式命令,浏览器265的内容帧就更新成相应的HTML页面。该命令提供相应页面的URL。在另一个实现中,网络服务器240发送标准响应以指示“没有改变”并命令浏览器265从网络服务器240重新载入当前HTML页面。但是,网络服务器240也会在网络服务器240上的当前HTML页面中嵌入命令,并且该命令指示相应的HTML页面。这样,在当前页面被请求、接收和加载时,浏览器265将执行该嵌入命令并更新HTML页面。
参照图5,用于系统200的,可以被称为语音中断监听器的处理500包含使得语音网关285预订发表/预订系统250(510)。函数调用可以嵌入从服务器240接收到的VXML页面中,并且该函数调用可以被语音网关285执行以便预订发表/预订系统250。语音网关285能够在不同的时间点预订,诸如例如在语音网关285启动时,或者在接收到VXML页面时。与浏览器相反,语音网关不使用帧。处理500中的预订(510)可以被延迟,但是会在语音网关285接收到消息之前发生(见550)。
处理500包含使得浏览器265从网络服务器240请求一个HTML页面(520),并使得网络服务器240向浏览器265发送被请求的HTML页面(530)。这可以通过例如由用户在浏览器265的“收藏”下拉菜单中选择新的URL来启动。网络服务器240可以将发送被请求的HTML页面(530)延迟到后面的处理500的操作,其目的是例如使得被请求的HTML页面到达浏览器265与相应的VXML到达语音网关285更加合拍。
处理500包含使得网络服务器240向发表/预订系统250发送消息以指示相应的VXML页面(540)。网络服务器240向发表/预订系统250发送HTTP邮送消息,并且这一消息包含语音网关285被预订的主题。网络服务器240也将参数嵌入到该消息中,这与嵌入JavaScript命令相对。嵌入的参数指示相应的VXML页面。
处理500包含使得发表/预订系统250向语音网关285发送该消息(550)。发表/预订系统250可以使用另一个HTTP邮送消息简单地将该消息重新路由到预订的语音网关285。
处理500还包含使得语音网关285接收该消息(560)。假定语音网关285处于流HTTP模式,监听消息并接收来自发表/预订系统250的重复的(recurring)“保持运行”消息。当语音网关285从网络服务器240接收到新的消息时,语音网关285分析嵌入参数,并根据参数执行命令。该命令可以是例如从网络服务器240请求相应的VXML页面。
参照图6,用于系统200的,可以被称为无输入标签的处理600包含使得网络服务器240向语音网关285发送嵌入了无输入标签的VXML页面(610)。每个VXML页面都可以具有一个无输入标记标签(<无输入>),当语音网关285在特定时间长度内都没有接收到任何用户输入,则该标签指定语音网关285上运行的代码。该代码中嵌入了JSP(Java服务器网页)的URL,并且该代码告诉语音网关285发布一个HTTP get命令以检索该JSP。在发送到语音网关285的每个VXML网页中嵌入的无输入标签都相同,因此,无输入标签每次指定同一个JSP。
处理600包含使得浏览器265请求一个HTML页面(620),使得网络服务器240向浏览器265发送被请求的HTML页面(630),并且使得网络服务器240注意状态改变并确定相应的VXML页面(640)。网络服务器240用关于相应VXML页面的信息更新JSP的内容或JSP所指向的页面的内容。这种信息可能包含例如相应VXML页面的URL。网络服务器240可以将发送被请求的HTML页面(630)延迟到后面的处理600的操作,其目的是例如使得被请求的HTML页面到达浏览器265与相应的VXML页面到达语音网关285更加合拍。
处理600包含使得语音网关285等待特定的时间长度并发送对更新的请求(650)。在已经经过了如语音网关285上的代码所确定的特定时间长度之后,语音网关285发布对于JSP的HTTP get命令。当在特定时间长度内没有用户输入时,用户可能已经使用非语音方式输入了(entered)输入,并且,结果,语音网关285可能需要被同步。
处理600包含使得网络服务器240接收更新请求并向语音网关285发送相应的VXML页面(660)。JSP包含相应VXML页面的标识符,该标识符为例如URL或其它类型的指针。网络服务器240向具有与当前HTML页面相对应的VXML页面的语音网关285发布HTTP邮送消息。
处理600包含使得语音网关285接收相应的VXML页面(670)。当语音网关285接收并加载相应的VXML页面,并且浏览器265接收并加载HTML页面(见630)时,这两个网关265和285同步。但是,有可能由于用户从未输入浏览器输入,这两个网关265和285从来就没有不同步,在这种情况下,如果在特定长度的等待时间期间没有接收到语音输入,则语音网关285只是简单地重载当前VXML页面。
处理600具有固有延时,该延时是由于等待语音网关285请求更新的处理。因此,有可能语音网关285将在与预定延时同数量级的一段时间内失去同步。有若干方法能够处理在语音网关285失去同步的时间段内接收到的语音输入。最初,如果输入的上下文指示网关265和285失去同步,则语音网关285可以忽略该语音输入。例如,如果用户点击一个链接并随后说出一个命令以请求符合新页面的对话框,语音网关285将不会具有正确的对话框。但是,假定一个冲突,网络服务器240可以确定网关265和285不同步,并可以将优先权判给任意一个网关。例如,可以基于首先输入判定优先权,或者优先权可以被判给作为默认值的一个网关。
融合实现参照图7,系统700包含设备730上的与同步控制器720通信的网络服务器710。设备730还包含与浏览器接口270通信的浏览器735,以及与语音接口275通信的语音方式系统740。
网络服务器710可以是例如通过HTTP连接提供HTML和VXML页面的标准网络服务器。设备730可以是例如计算机、便携式个人数字助理(“PDA”)或其它用于与互联网通信的电子设备。在一个实现中,设备730是便携式设备,它允许用户或者使用浏览器或者使用语音输入和语音输出,从而与互联网通信。在这种实现中,不需要重新设计网络服务器710,因为所用同步和通信都由同步控制器来处理。
语音方式系统740存储用户感兴趣的VXML页面,并允许用户使用语音输入和输出联接这些VXML页面。VXML页面能够根据期望并且以各种方式被更新或改变,这些方式诸如例如在非高峰时间从WWW下载这些VXML页面。语音方式系统740是语音网关,但是将其称为语音方式系统是提示它是修改过的语音网关。语音方式系统740执行对用户语音输入的识别,并使用语音接口275以模拟语音再现输出。
同步控制器720还执行浏览器和语音方式之间的同步。下面,将参照图8和9说明两个用于使浏览器735和语音方式系统740同步,或者可替换地,使浏览器接口270和语音接口275同步的处理。
参照图8,处理800包含使得同步控制器720接收对于新的HTML页面的浏览器请求(810)。浏览器735可以被指定向同步控制器720发送请求,或者浏览器735可以向网络服务器710发送请求,并且同步控制器可以截取(retrieve)该浏览器请求。
处理800包含使得同步控制器720确定与被请求的HTML页面向对应的VXML页面(820)。在具体实现中,当用户通过点击浏览器735的一个链接请求新的HTML页面时,HTML数据也包含相应VXML页面的URL。此外,浏览器735将被请求的HTML页面的URL和相应的VXML页面的URL都发送给同步控制器720。同步控制器720直接通过从浏览器265接收相应VXML页面的URL来确定相应的VXML页面。同步控制器720还可以通过例如执行表格查找、访问数据库、进行HTML URL和VXML URL之间的翻译、或从网络服务器710请求信息来确定相应的页面。
处理800包含使得同步控制器720将相应VXML页面的标识符传送给语音方式系统740(830)。该标识符可以是例如URL。在具体实现中,语音方式系统740可以截取对于新HTML页面的浏览器请求,或者,浏览器735可以将请求发送到语音方式系统740。在两种情况中,语音方式系统740可以确定相应的VXML页面,而不是使同步控制器720确定相应页面(820)并发送标识符(830)。
处理800包含使得同步控制器720将浏览器的HTML页面请求传送到服务器710(840)。同步控制器740可以例如使用HTTP请求。在同步控制器720截取浏览器的请求的实现中,请求的传送(840)是隐含(implicitly)执行的。同步控制器740可以将发送浏览器请求延迟到后面的处理800的操作中,其目的是例如使被请求的HTML页面到达浏览器735与相应的VXML页面到达语音方式系统740更加合拍(见860)。
处理800包含使得浏览器接收被请求的HTML页面(850),并使得语音方式系统740访问相应的VXML页面(860)。一旦这两个页面被加载并可以用于使与用户的交互更加便利,这两个方式就变成同步。
参照图9,处理900包含使得语音方式系统740接收用户对于新的VXML页面的请求(910)并访问被请求的VXML页面(920)。语音方式系统740从例如存储的VXML页面中访问VXML页面。对被请求的VXML页面的访问(920)可以被延迟,以便与在操作960中浏览器对相应HTML页面的接收同时。
处理900包含使得语音方式系统740将对VXML页面的请求传送到同步控制器720(930),并使得同步控制器720确定相应的HTML页面(940)。在具体实现中,语音方式系统740可以确定相应的HTML页面,或者可以将对VXML页面的请求直接传送给浏览器735,由浏览器735确定相应的HTML页面。
处理900包含使得同步控制器向网络服务器710请求相应的HTML页面(950)并使得浏览器接收相应的HTML页面(960)。同步控制器720可以使用例如HTTP get命令。
代理实现参照图10,系统1000包含与同步控制器1020通信又与语音网关1025通信的网络服务器1010。此外,同步控制器还与语音网关1025和设备1030的若干部件通信。设备1030包含浏览器接口270、浏览器1040和语音接口275。浏览器1040与浏览器接口270和同步控制器1020通信。语音接口275与同步控制器1020通信。
网络服务器1010能够递送HTML和VXML页面。设备1030可以是例如被配备为以两种方式联接WWW的计算机或便携式PDA。系统1000允许两种方式同步,并且系统1000不要求网络服务器1010被升级或被重新设计,因为同步控制器1020与网络服务器1010是独立且分离的。
下面将参照图11和图12说明两个用于使浏览器1040与语音网关1025同步,或者可替代地,使浏览器接口270与语音接口275同步的处理。虽然也可以使用其它输入,但是两个处理都假定用户输入是对于新的页面的请求。
参照图11,处理1100包含使得同步控制器1020接收对于新的HTML页面的浏览器请求(1110)。处理1100还包含使得同步控制器1020将HTML请求传送给网络服务器1010(1120)并确定相应的VXML页面(1130)。这三个操作1110-1130基本上分别与操作810、840和820相似,除了同步控制器的位置不同(比较720和1120)。同步控制器1020可以将向网络服务器1010发送浏览器请求(1120)延迟到后面的处理1100的操作,其目的是例如使得被请求的HTML页面到达浏览器1040与相应的VXML页面到达同步控制器1020更加合拍(见1150)。
处理1100包含使得同步控制器1020通过语音网关1025请求相应的VXML页面(1140)。同步控制器可以通过多种方法请求该页面。例如,同步控制器1020可以向语音网关1025发送模拟语音,或者可以向语音网关1025发送命令。
处理1100包含使得同步控制器1020接收相应的VXML页面(1150)。语音网关1025接收被请求的VXML页面,并将该VXML页面发送给同步控制器1020。在另一个实现中,同步控制器1020不接收该VXML页面,而是语音网关1025进行语音识别并与用户联接,同步控制器1020充当一个管道。
参照图12,处理1200包含使得同步控制器1020从请求新VXML页面的语音接口275接收语音输入(1210)。处理1200包含使得同步控制器(i)分析语音输入并将对新VXML页面的请求向前传送给语音网关1025(1220),并且(ii)确定相应的HTML页面(1230)。在这一实现中,同步控制器1020已经访问了当前VXML页面,并存储了当前VXML页面,这使得同步控制器1020能够分析语音输入。如上面所解释的,具有当前VXML页面还可以使同步控制器1020为“语音点击”事件确定相应的HTML页面。如果用户的输入不是与点击链接等价的语音,而是例如说出的URL,那么由于具有语音识别能力,同步控制器可以能够分析URL并请求服务器提供相应HTML页面的URL。
处理1200包含使得同步控制器1020从服务器请求相应的HTML页面(1240),并使得浏览器接收被请求的HTML页面(1250)。在另一个实施例中,同步控制器1020不确定相应的页面,而是请求网络服务器1010确定相应的页面并发送相应的页面。
在再一个实现中,同步控制器1020不分析语音输入,而是仅仅将该VoIP请求向前传送给语音网关1025。如果语音输入请求VXML页面,语音网关1025确定相应的HTML页面,并向同步控制器1020提供该HTML页面的URL。
参照图13,设备1300包含同步控制器接口1310、浏览器1320、浏览器接口270和语音接口275。浏览器1320与浏览器接口270和同步控制器接口1310通信。同步控制器接口1310还与语音接口275通信。设备1300与设备1030相似,除了允许浏览器1040和语音接口275与同步控制器1020的通信被分离出来成为同步控制器接口1310的功能。在一个实施例中,设备1300是移动设备。与将同步控制器也在该移动设备中实现相比,这种移动设备更小更轻。此外,由于这种移动控制器不包含同步控制器的功能,而是仅仅包含接口,因此该移动设备可以不需重新设计也能够利用对同步控制器的改进。
附加变动上述每个实现都可以使用多于两种的不同方式。例如,库存清单、发货、或其它数据可以在仓库中通过三种不同的方式访问,并且访问仓库数据的一个或多个机器可能需要同步。第一方式可能包含键盘输入;第二方式可能包含语音输入;并且第三方式能包含用于,例如请求特定记录的来自扫描平板架(pallet)上的条形码的输入。上述任意一种方式的输出可能包含例如显示器输出、语音输出或打印机输出。
所说明的处理基本上是按照特定系统解释的。但是,每种处理都可以用于集中式、融合、代理或其它类型的系统的各种其它实现。
再次参照图1,服务器系统110包含一个或多个用于存储,至少是暂时存储,能够被一个或多个网关访问的信息的设备。例如,网络服务器具有用于存储网页的存储器设备。服务器系统110可以包含对于彼此来说都是位于本地或相距较远的多个存储器设备。服务器系统110可以包含对于另一个部件来说是位于本地或远程的一个或多个存储器设备,该部件诸如,举例来说,是设备160或第二网关185。在不同的实现中,服务器系统110或同步控制器120不包含在单元140中。
同步控制器120维持或建立两个或多个诸如例如网关和/或接口的设备之间的同步。同步控制器120的各个部件相对于彼此来说可以是远程的或是本地的,并且对于系统100中的一个或多个其它部件来说可以是本地的,这些其它部件诸如例如设备160、第二网关185、或者发表/预订系统150。
发表/预订系统150指接收和发送消息的系统。在具体实现中,发表/预订系统150仅可以从预订的实体接收消息或仅向预订的实体发送消息——除了接收预订请求之外。
设备160可以是能够与用户和其它系统通信的电子设备、光学设备、磁性设备或某种其它类型的设备。例子包括计算机、PDA、服务器或机顶盒。
连接130、180、190、194和196,以及公开中的所有其它连接,可以是直接连接或间接连接,有可能通过一个或多个居间(intervening)设备。连接可以使用一种或多种介质,诸如例如有线、无线、电缆或卫星连接。连接可以使用各种技术或标准,诸如例如模拟或数字技术、分组交换、码分多址(“CDMA”)、时分多址(“TDMA”)和具有通用分组无线服务(“GPRS”)的全球移动系统(“GSM”)。连接可以使用各种已建立的网络,诸如例如互联网、WWW、广域网(“WAN”)、局域网(“LAN”)、电话网络、广播网络、电视网络、有线电视网络和卫星网络。
可以对处理300-600进行多种变动,其中的若干例子是遵循,并可能被用于与系统200不同的体系结构的。对于每个都包含一个网关的分离的设备,可以通过了解分离的设备的IP地址和端口号使其同步,或者可以通过使得这些设备在发表/预订系统预订同一个主题使其同步。例如,用户可以操作第一机器上的第一模态接口并操作第二机器上的第二模态接口。在另一个例子中,两个或多个用户可以相距较远,并可以希望同步。相距较远的用户可以操作相同模态接口或者不同的模态接口。
所讨论的启动操作320或410的语音命令,以及所讨论的启动操作520或620的浏览器命令,可以是导航命令或非导航命令。导航命令包含例如指定一个URL和输入一个主页、回退或向前命令。非导航命令包含例如文本输入、优选项(preference)变化或定焦(focus)命令。
网关所接收的任何输入,包含命令和数据,都可以由语音网关或浏览器提供给服务器。例如,语音网关可以向服务器提供文本输入或其它输入,即使是在语音网关不需要VXML页面时,从而使得服务器能够将该输入提供给浏览器以便保持浏览器对于文本输入同步,而不是仅仅对于新页面的同步。
在各种实现中,在操作360、460或560中,到网关的服务器消息可以包含例如(i)实际的相应的HTML/VXML页面,(ii)相应页面的URL以及截取该相应页面的命令,(iii)标识相应页面的JSP的URL,(iv)涉及相应页面或涉及标识相应页面的JSP的命令,和(v)重载当前页面的指示(服务器已经向该页面嵌入将截取相应页面的命令)。
当第一项目包含涉及第一数据的信息时,第一项目被称为涉及第一数据。这种信息可以包含例如第一数据本身、第一数据的地址或某些其它指向第一数据的指针、第一数据的编码、和标识第一数据的具体信息的参数。第一数据可以包含本公开中所说明的众多例子中的任何一个,以及例如某些其它数据的地址、由用户输入的数据和由用户输入的命令。
在向网关发送相应输入或对相应输入的指示的操作中(340-350、450、540-550或660),服务器可以发送例如一个命令或参数。命令可以包含例如请求相应页面的JavaScript命令。参数可以包含例如相应页面的URL。参数被分析,命令被确定,并且命令被执行。例如,在操作660,作为对发送相应VXML页面的替代,服务器可以发送带有参数的消息,该消息包含URL(相应VXML页面的URL)和指示语音网关应该请求URL所标识的页面的指示。
在处理300-600中,网络服务器240被描述为执行各种动作(action)。如在之前所说明的,网络服务器240包含同步控制器,并且许多由网络服务器240执行的动作特征在于其是由同步控制器执行的。
参照图8和图9,操作810和910可以被通用化(generalized)为允许同步控制器720接收其它浏览器输入,而语音方式系统740接收其它语音输入。输入可以包含例如命令、对新页面的请求、数据输入和定焦请求。在操作910的一个实现中,语音方式系统740接收用户的城市选择以用于VXML页面中请求用户地址的信息栏。城市选择的接收使得VXML移动到用于选择州的对话输入项。语音方式系统740可以将这一选择传送给浏览器735,从而使得用户的屏幕显示能够被更新。
此外,语音方式系统740可以是一个语音网关。在这种实现中,语音网关可能没有任何本地存储的VXML页面,并且可能从服务器710请求它们。同步控制器720可以截取或控制语音网关请求,所采用的方式可以和同步控制器720截取或控制浏览器请求的方式类似。
同步控制器720的一个或多个功能可以由浏览器735或者语音方式系统740执行。例如,浏览器735可以向语音方式系统740发送HTML页面请求,而语音方式系统740可以确定相应的VXML页面。
如公开的实施例的范围所指示的,同步控制器能够被放置在系统中的各种位置。此外,同步控制器的部件功能能够被分离,并且放置在系统中的不同位置。这种灵活性允许将系统的复杂性集中在一个或多个具体设备中。例如,通过将同步控制器功能从移动设备中分离出去,可以使移动设备的重量更轻、价格更低、并且对同步控制器的技术改进的鲁棒性更强。通过使用代理模式,移动设备仍然不包含同步控制器,从而享有所提到的益处。此外,通过使用代理模型,众多现有网络服务器可以不需要被重新设计,并且同步控制器可以使多种类型的移动设备与同一个服务器体系结构联接。使用发表/预订系统,如所说明的实现中的或者根据其它原则进行操作,也可以使客户机设备的安装时间最小的体系结构更容易实现,从而使客户机设备仅需最小限度的改变。
同步控制器可以由一个或多个部件组成,该部件适合于执行例如本公开中的一个或多个实现中的同步控制器的所述功能。该部件可以是例如硬件、软件、固件、或这些的组合。举例来说,硬件部件包含控制器芯片及芯片组、通信芯片、数字逻辑和其它数字或模拟电路。
所公开的实现的特征在于提供同步机制。这种同步机制可以包含例如(i)向发表/预订系统发送消息,(ii)向浏览器发送消息,可能同时发送新页面的URL或JSP,(iii)通过例如更新JSP来更新状态信息,(iv)将相应页面直接发送给网关,(v)向中介(intermediary)或具有相应页面的存储位置请求相应的页面,(vi)确定相应的页面,以及(vii)请求相应页面的确定,并有可能请求接收该确定。所列出的不同机制可以由同步控制器、网络服务器、网关或适合于提供该功能的另一个部件执行。
所公开的许多实现都集中在WWW和互联网应用。但是,所说明的特征能够被用于各种通信环境、网络和系统。术语“页面”的使用的本意不是限制性的,而是指具体网关、接口或其它部件可用的形式的数据。
贯穿本公开,说明了各种动作。应该广义地解释这些术语,包含例如接收、访问、提供、发送、请求、确定、传送、路由、以及其它类似的词。因此,这些术语并不限于直接作用(act),而是可以通过一个或多个中介作用。例如,页面可以被发送到网关、提供给网关或从网关接收,即使该页面可能首先经过控制器或发表/预订系统。再例如,可以通过请求其它部件提供相应的URL来确定相应页面。
下面,将提供具体实现的附加细节,主要集中在用于使两个或多个模态彼此相关联的各种机制。上面所说明的实现可以使用各种机制来关联模态,其中的许多是在普通技术人员的能力范围内,无需过多的实验。这些机制可以包含为了关联模态和/或设备的各种列表方法和命名习惯。此外,对于上述的融合实现,可以对设备进行编程,以便关联该设备所支持的多种方式。上述实现还可能向用户询问用于标识用户期望的关联的方式和/或设备的信息。
因此,上面说明的实现具有足够的细节,允许普通技术人员无需过多的实验就能生成并使用这些实现,并且,对于实现或说明上述实现来说,下面公开的机制不是必需的。然而,下面的讨论确实提供例如支持对所公开的机制和实现的特定从属权利要求的附加公开。
用户接口可以允许用户获得对诸如例如分类(catalog)数据库中的产品的数据的访问,或者允许用户向系统输入数据,诸如例如将顾客信息输入到顾客数据库。用户接口被用于驻留在诸如台式计算机的相对固定的计算设备中的应用,也被用于驻留在诸如便携式计算机、掌上型计算机和便携式电子管理器的移动计算设备中的应用。能够创建提供对系统进行数据访问和数据输入的语音触发的用户接口,并且语音输入可能特别适合移动设备。
在各种的实现中,用于给定的移动或非移动的语音驱动应用的语音识别语法都能够被写出,以实现准确和高效的识别。下面说明的具体描述将提供允许用户以各种不同方式中的一种或多种输入数据的用户接口,这些方式包含例如输入笔和语音输入。输出也可以采用各种方式中的一种或多种,诸如例如显示器或语音。具体实现可以在诸如例如掌上型计算机的移动设备中使用,并且,语音和输入笔输入结合语音和显示器输出可以使得这种移动设备对用户来说更有用。实现也可以在所结合的临时性应用中所说明的多模式同步系统中使用。
实现允许增强的语音识别准确度和/或速度,这部分是由于使用了结构化语法,从而允许语法被缩小到相关部分,以用于具体的语音识别操作。例如,对全搜索信息串(full search string)的语音识别操作的语法的缩小,可以通过使用对全搜索信息串中的组成成分早前的或平行(parallel)的语音识别操作的结果来实现。其它实现可以通过以特定顺序从用户接受搜索信息串的参数来缩小语法,并且,可选择地,使用初始参数来缩小随后的参数的语法。例子包含(i)将接收街道地址信息的标准顺序反向,使得例如国家在州之前被接收,从而用于识别州的语法被缩小为所选国家中的州,(ii)分割电子邮件地址或网站地址,使得用户分别地提供诸如例如“com”的域标识符,或者(iii)自动将“@”和“.”插入到电子邮件地址并仅提示用户输入剩余的项,从而避免识别这些口语字符的经常的复杂的处理。
实现还可以增加语法的可能搜索信息串或话语,减少语音识别系统将需要通过其拼读识别输入内容的可能性,以此来提高识别的准确度和速度。在这种情形下,语音识别系统也可以避免请求用户拼读出那些当被说出时不能被识别的词语的需要。例如,当用户输入“com”作为电子邮件地址的域标识符时,语音识别系统可以在电子邮件地址的服务器标识符的语法中包含例如所有“财富100”公司的名称和各种流行的商业网站。这样,如果用户随后输入“amazon”作为服务器标识符,并且如果“amazon”已经包含在语法中,则系统将识别出这一输入,而不必请求用户将其拼读出来。
实现允许增强数据库搜索。这可以通过例如使用结构化语法,并将语法输入与特定数据库条目关联起来来实现。在这种方式中,当结构化语法被用于识别搜索信息串时,则特定数据库条目或数据库的相关部分可以被同时识别出。
根据一个总体方面,对搜索信息串的一个或多个匹配项进行自动搜索包含访问搜索信息串的第一部分和第二部分。搜索第一搜索空间以获得搜索信息串的第一部分的匹配项,并且在搜索第一搜索空间的结果的基础上对第二搜索空间进行限制。搜索所限制的第二搜索空间以获得搜索信息串的第二部分的匹配项。
搜索第一搜索空间可以包含搜索一个数据库。搜索所限制的第二搜索空间可以包含至少搜索该数据库的一部分。限制第二搜索空间可以包含将被搜索的数据库的部分限制为包含搜索信息串的第一部分的匹配项的数据库条目,从而允许与搜索整个数据库相比更快的搜索。搜索字符串的第二部分可以包含语音输入或手动输入。搜索第一搜索空间和搜索所限制的第二搜索空间至少可以部分地并行执行。搜索字符串可以包含地址。
访问搜索字符串的第一部分可以包含访问语音输入。在第一搜索空间中搜索匹配项可以包含对搜索信息串的第一部分执行语音识别。访问搜索信息串的至少第二部分可以包含访问语音输入。限制的第二搜索空间可以包含将第二搜索空间限制为与搜索字符串的第一部分关联的语法条目。搜索所限制的第二搜索空间可以包含使用所限制的第二搜索空间执行对搜索信息串的至少第二部分的语音识别,从而使得对搜索信息串的第二部分的增强的语音识别与使用未限制的第二搜索空间执行的语音识别相比,得到了增强。
与搜索信息串的第一部分相关联的语法条目可以包含全搜索信息串的语法条目,每个全语法信息串包含搜索信息串的第一部分。与搜索信息串的第一部分相关联的语法条目可以包含全语法信息串的组成成分的语法条目,每个组成成分是全搜索信息串的包含第一部分的部分。执行对第一部分的语音识别可以产生一个识别出的信息串,并且该识别出的信息串可能与来自搜索空间中的可识别搜索信息串的集合相关联。限制第二搜索空间可以包含将第二搜索空间限制为可识别搜索信息串的集合或其组成部分。执行对语音输入的第二部分的语音识别可以包含将第二部分与所限制的第二搜索空间中的高出现频率(occurrence)模式(pattern)的集合进行比较,随后将第二部分与所限制的第二搜索空间中的低出现频率模式的集合进行比较。可以使用第三搜索空间执行对整个语音输入的语音识别。可以根据执行对语音输入的第一部分的语音识别的结果,并且根据执行对语音输入的至少第二部分的语音识别的结果,对第三搜索空间进行限制。
搜索信息串的第一部分可以与可搜索条目的集合相关联,并且所限制的第二搜索空间中的每个条目可以与可搜索条目集合中的一个或多个条目相关联。可以向用户提供选项的第一集合,选项的第一集合涉及搜索信息串的第一部分,并且在一个页面中提供给用户。访问搜索信息串的至少第一部分可以包含从用户接受第一输入,第一输入是从选项的第一集合中选择的。限制第二搜索空间可以包含根据所接受的第一输入限制选项的第二集合,选项的第二集合涉及搜索信息串的第二部分。可以在该页面中向用户提供选项的第二集合,从而向用户呈现提供选项的第一集合和选项的第二集合的单一页面。访问搜索信息串的至少第二部分可以包含从用户接受第二输入,第二输入是从选项的第二集合中选择的。
接受第一输入可以包含接受第一语音输入并执行对第一输入的语音识别,其中,与执行对搜索信息串的语音识别相比,执行对孤立的第一输入的语音识别允许增强的语音识别。选项的第一集合可以包含制造商指定,并且选项的第二集合可以包含有第一输入指定的制造商的产品指定。搜索字符串可以包含地址。
接受第一输入可以包含利用听觉(auditorily)从用户接收第一输入。可以执行对孤立的第一输入的语音识别,其中,与执行对搜索信息串的语音识别相比,对孤立的第一输入执行语音识别允许增强的语音识别。提供选项的第二集合可以包含在数据项目的集合中搜索第一输入,并且仅将数据项目集合中那些包含第一输入的数据项目的索引包含在选项的第二集合中。接受第二输入可以包含利用听觉从用户接收第二输入。可以对孤立的第二输入执行语音识别,其中,与执行对搜索信息串的语音识别相比,执行对孤立的第二输入的语音识别允许增强的语音识别。
可以向用户提供选项的第三集合,选项的第三集合涉及搜索信息串的第三部分,并且在该页面中提供给用户。第三输入可以从用户接受,第三输入从选项的第三集合中选择,其中提供给用户的选项的第二集合也是基于所接受的第三集合的。选项的第二集合可以根据第三输入进行修改。选项的第一集合可以包含制造商指定。选项的第三集合可以包含价格范围指定。选项的第二集合可以包含在由第三输入指定的价格范围内的第一输入所指定的制造商的产品指定。
在各种的实现中,给定的移动或非移动的用于语音驱动应用的语音识别的语法都可以被写出,以使得能够进行准确而高效率的识别。下面将说明的具体实现提供一种用户接口,该用户接口允许用户以一个或多个各种不同的方式输入数据,这些方式包含例如输入笔和语音输入。输出也可以以一个或多个各种不同方式进行,诸如例如显示器或语音。具体实现可以用于诸如例如掌上型计算机的移动设备,并且语音和输入笔输入与语音和显示器输入的结合可以使得这种移动设备对用户更有用处。实现也可以用于所结合的临时性应用中说明的多模式同步系统。
实现允许增强的语音识别准确度和/或速度,这部分地是由于使用了结构化语法,从而允许语法被缩小到具体语音识别操作的相关部分。例如,对全搜索信息串的语音识别的语法的缩小,可以通过使用对全搜索信息串的组成成分早前的或并行的语音识别操作的结果来获得。其它实现可以通过以特定顺序从用户接受搜索信息串的参数来缩小语法,并且,可选择地,使用初始参数缩小随后的参数的语法。例子包含,(i)将接收街道地址信息的标准顺序反向,使得例如国家在州之前被接收,从而用于识别州的语法被缩小为所选国家中的州,(ii)分割电子邮件地址或网站地址,使得用户分别地提供诸如例如“com”的域标识符,或者(iii)自动将“@”和“.”插入到电子邮件地址并仅提示用户输入剩余的项,从而避免识别这些口语字符的经常的复杂的处理。
实现还可以通过增加语法的可能搜索信息串或话语,减少语音识别系统将需要通过条目的拼读识别条目的可能性,以此来提高识别的准确度和速度。在这种情形下,语音识别系统还可以避免请求用户拼读出那些当被说出时不能被识别的词语的需要。例如,当用户输入“com”作为电子邮件地址的域标识符时,语音识别系统可以在电子邮件地址的服务器标识符的语法中包含例如所有“财富100”公司的名称和各种流行的商业网站。这样,如果用户随后输入“amazon”作为服务器标识符,并且如果“amazon”已经包含在语法中,则系统将识别出这一输入,而不必请求用户将其拼读出来。
实现还允许增强的数据库搜索。这可以通过例如使用结构化语法,并将语法条目与特定数据库条目关联起来来实现。在这种方式中,当结构化语法被用于识别搜索信息串时,则特定数据库条目或数据库的相关部分可以被同时识别出。
根据一个总体方面,执行语音识别包含访问包含至少第一部分和第二部分的语音输入,执行对语音输入的第一部分的语音识别,使用搜索空间执行对第一部分和第二部分的组合的语音识别,并根据执行对语音输入的第一部分的语音识别的结果限制搜索空间。与基于不受限的搜索空间执行语音识别相比,限制搜索空间允许对该组合的增强的语音识别。
执行对第一部分的语音识别可以产生识别出的信息串,并且该识别出的信息串可以与搜索空间中的可识别话语的集合相关联。限制搜索空间可以包含将搜索空间限制为可识别话语的集合。对第一部分的语音识别可以与对组合的语音识别并行执行,从而使得在对组合的语音识别开始之前搜索空间不被限制。对第一部分的语音识别可以在对组合的语音识别之前执行,从而使得在对组合的语音识别开始之前限制搜索空间。执行对语音输入的第一部分的语音识别可以包含将第一部分与搜索空间中的高出现频率的模式的集合相比较,随后将第一部分与搜索空间中的低出现频率模式的集合相比较。
执行对语音输入的第一部分的语音识别可以包含使用第二搜索空间。可以执行对语音输入的第二部分的语音识别。可以根据执行对语音输入的第二部分的语音识别的结果来限制第二搜索空间。还可以根据执行对语音输入的第二部分的语音识别的结果来限制搜索空间。
访问电路可以用于访问包含至少第一部分和第二部分的语音输入。识别电路可以用于执行对语音输入的第一部分的语音识别和对第一部分与第二部分的组合的语音识别,其中可以使用搜索空间执行对该组合的语音识别。可以使用识别引擎,并且识别引擎可以包含识别电路。限制电路可以用于根据执行对语音输入的第一部分的语音识别的结果限制搜索空间。与基于不受限的搜索空间执行语音识别相比,限制搜索空间可以允许对语音输入的增强的语音识别。
访问电路、识别电路和限制电路中的一个或多个可以包含具有指令的存储器,这些指令用于执行下列操作中的一个或多个访问语音输入;执行语音识别;根据对语音输入的第一部分的语音识别的执行结果限制搜索空间。访问电路、识别电路和限制电路中的一个或多个可以包含处理器,以执行下列操作中的一个或多个访问语音输入;执行语音识别;根据对语音输入的第一部分的语音识别的执行结果限制搜索空间。该电路可以被用于执行本方面和其它方面的所述其它特征中的一个。
根据另一个总体方面,从用户接受输入包含向用户提供选项的第一集合,选项的第一集合涉及搜索信息串的第一参数,并且选项的第一集合在一个页面中提供给用户。从用户接受第一输入,第一输入是从选项的第一集合中选择的。根据所接受的第一输入限制选项的第二集合,选项的第二集合涉及搜索信息串的第二参数。选项的第二集合在该页面中提供给用户,从而向用户呈现提供选项的第一集合和选项的第二集合的单一页面。
从用户接受第一输入可以包含接收听觉输入并执行语音识别。与执行对搜索信息串的语音识别相比,执行对孤立的第一输入的语音识别可以允许增强的语音识别。从用户接受第一输入可以包含接收数字输入。
可以从用户接受第二输入,第二输入是从选项的第二集合中选择的。接受第一输入可以包含利用听觉从用户接收第一输入。可以对孤立的第一输入执行语音识别。与执行对搜索信息串的语音识别相比,执行对孤立的第一输入的语音识别可以允许增强的语音识别。提供选项的第二集合可以包含在第二数据项目的集合中搜索第一输入,并仅将包含第一输入的那些数据项目的索引包含在选项的第二集合中。接受第二输入可以包含利用听觉从用户接收第二输入。可以对孤立的第二输入执行语音识别。与执行对搜索信息串的语音识别相比,执行对孤立的第二输入的语音识别可以允许增强的语音识别。
可以向用户提供选项的第三集合,并且选项的第三集合可以涉及搜索信息串的第三参数,并且在一个页面中向用户提供选项的第三集合。可以从用户接受第三输入,并且第三输入可以是从选项的第三集合选择的。向用户提供的选项的第二集合也可以是根据所接受的第三输入的。可以根据所接受的第三输入对提供给用户的选项的第二集合进行修改。
提供选项的第二集合可以包含在数据集合中搜索第一输入,并仅提供包含第一输入的数据的集合中的数据项目。第一输入可以包含标识制造商的制造商指定。提供选项的第二集合可以被限制为仅提供由所标识的制造商制造的数据项目。
电路可以被用于(i)向用户提供选项的第一集合,选项的第一集合涉及搜索信息串的第一参数,并且选项的第一集合在一个页面中提供给用户,(ii)从用户接受第一输入,第一输入是从选项的第一集合中选择的,(iii)根据所接受的第一输入限制选项的第二集合,选项的第二集合涉及搜索信息串的第二参数,以及/或(iv)在该页面中向用户提供选项的第二集合,从而向用户呈现提供选项的第一集合和选项的第二集合的单一页面。该电路可以包含在其上存储了指令的存储器,当机器执行这些指令时,会使得所列举的操作中的至少一个被执行。该电路可以包含可操作的处理器,以执行所列举的操作中的至少一个。该电路可以被用于执行本方面或另一个方面的所述其它特征中的一个。
根据再一个总体方面,从用户接收一个地址的项目包含向用户提供对于地址的第一项目的选项的第一集合,从用户接收从选项的第一集合中选取的第一地址项目,根据所接收的第一项目限制对于地址的第二项目的选项的第二集合,向用户提供对于第二地址项目的选项的第二集合,并接收第二地址项目。
接收第一地址项目可以包含利用听觉接收第一地址项目。可以执行对所接收的第一地址项目的识别。与执行对地址的语音识别相比,执行对孤立的第一地址项目的语音识别可以允许增强的语音识别。接收第二地址项目可以包含利用听觉接收第二地址项目。可以执行对所接收的第二地址项目的识别。与执行对第一地址项目和第二地址项目的组合的语音识别或对地址的语音识别相比,执行对孤立的第二地址项目的语音识别可以允许增强的语音识别。
第一地址项目可以包含州标识符。第二地址项目可以包含标识城市的城市标识符。可以向用户提供对于邮编标识符的选项的第三列表。选项的第三列表可以排除不在所标识的城市内的邮编。可以利用听觉从用户接收邮编标识符。用户可以从选项的第三列表中选择邮编标识符。邮编标识符可以标识一个邮编。可以执行对利用听觉接收的邮编标识符的语音识别。与不排除邮编相比,在选项的第三列表中排除邮编可以允许增强的语音识别。可以向用户提供对于街道地址标识符的选项的第四列表。选项的第四列表可以排除不在所包含的邮编内的街道。可以利用听觉从用户接收街道地址标识符。用户可以从选项的第四列表中选择街道地址标识符。街道地址标识符可以标识街道地址。可以执行对利用听觉接收的街道地址标识符的语音识别。与不排除街道相比,在选项的第四列表中排除街道可以允许增强的语音识别。
向用户提供选项的第一列表可以包含在显示器上提供第一列表。向用户提供选项的第二列表可以包含通过听觉提供第二列表。
电路可以被用于(i)向用户提供对于地址的第一项目的选项的第一集合,(ii)从用户接收选取自选项的第一集合的第一地址项目,(iii)根据所接收的第一项目限制对于地址的第二项目的选项的第二集合,(iv)向用户提供所限制的对于第二地址项目的选项的第二集合,以及/或者(v)接收第二地址项目。该电路可以包含在其上存储了指令的存储器,当机器执行这些指令时,使得所列举的操作中的至少一个被执行。该电路可以包含可操作的处理器,以执行所列举的操作中的至少一个。该电路可以被用于执行本方面或另一个方面的所述其它特征之一。
根据另一个总体方面,从用户接收互联网地址包含提示用户给出互联网地址的第一部分。利用听觉从用户接收互联网地址的第一部分。对所接收的第一部分执行语音识别。与对多于互联网地址的第一部分执行语音识别相比,仅对互联网地址的第一部分执行语音识别允许增强的识别。提示用户给出互联网地址的第二部分。利用听觉从用户接收互联网地址的第二部分。对所接收的第二部分执行语音识别。与执行对多于互联网地址的第二部分的语音识别相比,仅对互联网地址的第二部分执行语音识别允许增强的识别。
互联网地址可以包含电子邮件地址。第一部分可以包含电子邮件地址的域标识符。第二部分可以包含电子邮件的服务器标识符。可以提示用户输入电子邮件地址的用户标识符部分。用户标识符部分可以利用听觉从用户接收。可以对接收到的用户标识符部分执行语音识别。与对电子邮件地址的多于用户标识符的部分执行语音识别相比,仅对用户标识符部分执行语音识别可以允许增强的识别。
执行对域标识符的语音识别可以包含使用包含了通用的三字母域标识符的域词汇表,这可以允许增强的识别。执行对服务器标识符的语音识别可以包含使用包含了通用的服务器标识符的服务器词汇表,这可以允许增强的识别。执行对用户标识符的语音识别可以包含使用包含了通用的用户标识符的用户词汇表,这可以允许增强的识别。服务器词汇表可以是基于域标识符的。
互联网地址可以包含网站地址。第一部分可以包含网站地址的域标识符。第二部分可以包含网站地址的服务器标识符。可以提示用户输入网站地址的网络标识符部分。网络标识符部分可以利用听觉从用户接收。可以对接收到的网络标识符部分执行语音识别。与执行对网站地址的多于网络标识符部分的语音识别相比,仅执行对网络标识符的语音识别可以允许增强的识别。
电路可以被用于(i)提示用户输入互联网地址的第一部分,(ii)利用听觉从用户接收互联网地址的第一部分,(iii)执行对接收到的第一部分的语音识别,其中,与执行对互联网地址的多于第一部分的语音识别相比,及对互联网地址的第一部分执行语音识别允许增强的识别,(iv)提示用户输入互联网地址的第二部分,(V)利用听觉从用户接收互联网地址的第二部分;并且/或者(vi)对接收到的第二部分执行语音识别,其中,与对互联网地址的多于第二部分执行语音识别相比,进对互联网地址的第二部分执行语音识别允许增强的识别。该电路可以包含在其上存储了指令的存储器,当机器执行该指令时,会使得所列举的操作中的至少一个操作被执行。该电路可以包含可操作的处理器,用以执行所列举的操作中的至少一个操作。该电路可以被用于执行本方面或其它方面的所述其它特征之一。
各种实现包含用户接口,该用户接口向用户提供对数据的访问。这些用尸接口可以被设计成接受各种方式的输入并提供各种方式的输出。输入和输出方式的例子包含手动、视觉(例如,显示或打印)、听觉(例如,语音或报警)、触觉、压力、温度和嗅觉。手动方式可以包含例如键盘、输入笔、小键盘、按钮、鼠标、触摸(例如,触摸屏)、以及其它手动输入。某些实现特别适合用于移动应用,在这些实现中优选使用输入笔或语音输入,并且在这些实现中在屏幕上可视化地呈现输出,并且/或者,通过使用文本到语音转换(text-to-speech)或录制的人的语音使输出可以被听到。
各种实现还将结构化语法用于语音识别。结构化的语法允许更快速的识别、更快速的在相应数据库中搜索项目、以及/或者由于减小了对语音输入的误识别而带来的增强的语音识别。
参照图14,使用了多集群方法的用于识别搜索信息串的处理1400包含使用语音输入输入搜索信息串(1410)。搜索信息串可以表示例如用户想要在数据库中发现的一个项目。例如,用户可能将“索尼便携式计算机超薄型505Z”输入到计算机数据库的语音识别引擎,以查找关于该(假设的)计算机型号的信息。正如所解释过的,围绕数据库条目组织语法,数据库条目包含实际的数据库条目或关键词等,并且有可能还包含附加的分类说明和其它词汇表条目。
处理1400包含将输入的搜索信息串分析成除全搜索信息串之外的至少一个组成成分(1420)。全搜索信息串也被称为一个组成成分。组成成分可以是单词或其它可识别的符号,或者是单词或符号的分组。搜索信息串可以被分析成其所有的组成成分,或者可以个被分析成单一成分。分析可以通过识别单词、符号或其它组成成分之间的无声时间(silence)来执行,并且语音输入系统可以要求这样的无声时间。也可以执行对用较为自然的讲话方式输入的语音输入的分析,而无需组成成分之间的明显停顿。
处理1400包含对至少两个组成成分执行语音识别(1430)。可以在执行语音识别(1430)的同时执行分析(1420)。例如,当对搜索信息串从左到右进行处理时,可以对组成成分进行识别(1430),并且,在识别后,可以对其进行分析(1420)。两个组成成分中的一个可以是全搜索信息串。
处理1400包含在语法中确定对于至少一个语音识别操作的作为结果的解空间(1440)。解空间表示全搜索信息串的可能的匹配。例如,第一组成成分可能是搜索信息串的第一个单词,例如“索尼”,并且可能对应于语音识别语法中的一个集群。由“索尼”定义的集群可以包含,假设,语法中(和相应数据库中)上万条目中的仅仅一百个条目。那一百个条目构成组成成分“索尼”的解空间。
处理1400包含使用操作1440确定的解空间修改用于至少一个组成成分的语音识别操作(1430)的搜索空间(1450)。继续上面的例子,如果全搜索信息串为“索尼便携式计算机超薄型505Z”,则用于执行对该全信息串的语音搜索的搜索空间可以被缩小到仅包含一百个语法条目,这些条目包含组成成分“索尼”。
通过缩小搜索空间,可以在具体实施例中实现一个或多个优点。例如,通过缩小搜索空间,可以减小被搜索语法的复杂度和被搜索词汇表的规模,从而提高识别的准确度。此外,可以增加识别处理的速度。
在一个实施例中,两个识别处理(1430)至少部分地并行执行,并且识别较短的组成成分,例如“索尼”,要比识别整个搜索信息串快。结果,对全搜索信息串的识别处理从语法条目的整个搜索空间开始,并且,在操作1440确定用于较小的组成成分的作为结果的解空间之后,搜索空间被缩小。其它实现串行地执行语音识别处理。例如,一个实现执行对较小组成成分地语音识别,之后,将较小组成成分的解空间作为较大组成成分的搜索空间,使用该搜索空间执行对较大成分的语音识别。
处理1400包含确定一个或多个全搜索信息串的匹配项的列表(1460)。语音识别算法经常与结果一起返回置信分数。这些置信分数可以被用于例如对结果排序,并且能够将所选数目的最高分数的结果返回给用户。
匹配列表并非一定是好的匹配。各种实现可以使用阈值置信分数以确定是否已经发现好的匹配。如果还没有发现好的匹配,则可以使用多种选择。例如,(i)可以提示用户输入更多信息,(ii)如果搜索信息串没被修改过,则通过例如使用识别出的组成成分的同义词置换组成成分等,自动对搜索信息串进行修改,或者(iii)可以向用户示出关于每个组成成分的解空间大小的信息以及置信份数,这样有可能会揭示出系统很难识别的组成成分。
参照图15,描述处理1400的图解流程图1500包含搜索信息串1510。搜索信息串1510包含第一组成成分1520和第二组成成分1530。搜索信息串1510可以是例如语音段。使用分析处理1540将搜索信息串1510分析成第一和第二组成成分1520、1530。使用搜索空间1560并行地对每个组成成分1510、1520、1530执行语音识别处理1550。可以使用例如处理器或其它计算设备或设备的组合实现分析处理1540和语音识别处理1550。
第一组成成分1520的语音识别得到的结果是第一解空间1570。假设第一组成成分1520的语音识别在第二组成成分1530和全信息串1510的语音识别之前结束,则后两者语音识别操作中的每一个都能够被限制在第一解空间1570中。
第二组成成分1530的语音识别得到的结果是第二解空间1580。假设第二组成成分1530的语音识别在全信息串1510之前完成,则全信息串1510的语音识别能够被限制在第一解空间1570和第二解空间1580的重叠区域1590。全信息串1510的语音识别得到的结果是第三解空间1595。
通过组织语法,使得搜索信息串的组成成分在与数据库条目(其包含在语法中)中的其它组成成分比较之前,先与数据库条目(其也包含在语法中)中的通用的组成成分进行比较,从而能够缩短执行对小的组成成分的语音识别所需要的时间。此外,可以将通用的组成成分作为独立的词汇表条目输入到语法中,即使那些组成成分不够成完整的数据库条目。例如,虽然单词“索尼”并不指向单个产品(refer to)(数据库条目),但是可以将单词“索尼”输入到词汇表中。然后,可以将组成成分“索尼”与所有包含单词“索尼”并对应于完整数据库条目的语法条目相关联。再例如,可以对单词“便携式计算机”和两个单词的组合“索尼便携式计算机”做相同的处理。这样的结构可以允许相对快速地对组成成分“索尼便携式计算机”进行识别,并且,可以允许相应地缩小用于识别全搜索信息串“索尼便携式计算机超薄型505Z”的搜索空间。
注意,在处理1400(1460)中确定的匹配的列表可以返回与输入搜索信息串匹配的对应于实际数据库条目的匹配项。因此,在这样的实现中,语音识别处理可以同时高效率地执行数据库搜索。例如,每个被列出的匹配项可以用作数据库中的索引,以便容易地取回相应的数据库条目。
但是,其它的实现可以允许搜索信息串包含并非数据库的一部分的组成成分。例如,可以允许用户输入计算机的价格范围。在这个例子中,语法可能包含,并且能够识别以确定的格式输入的价格范围。可以采用多种方式组织语法,以便支持识别这样的搜索信息串。例如,如果用户仅输入价格范围,语音识别引擎可以识别该搜索信息串,并且将其与满足该价格范围的数据库条目的集合相关联。或者,语音识别引擎可以通过例如返回具有在该价格范围内的计算机(假定计算机是最终要搜索的数据库的内容)的制造商列表,向用户询问更多的数据。如果用户输入诸如例如制造商的附加信息,则语音识别系统可以利用该附加信息缩小解空间。如果用户输入足够的信息,则语法可以被组织成,允许语音识别系统确定用于可识别的各种价格范围的所有满足输入的价格范围和搜索信息串的其它组成成分的实际产品(对应于实际数据库条目)的语法条目。然后,可以将这些条目呈现给用户。
处理1400也能够用于不使用语音输入的系统。例如,其它的输入方式可能要求能够以与已经描述过的方法(manner)类似的方法执行的识别处理。
参照图16,用于使用多级、多参数层叠方法执行搜索信息串搜索的处理1600包含提供用于第一参数的选项的第一集合(1610)。例如,计算机的数据库的用户接口可以以制造商作为第一参数,提供制造商列表作为选项的第一集合。选项的第一集合可以例如在显示器上提供,或者通过语音应答系统提供。
处理1600包含输入从选项的第一集合中选择的第一参数(1620)。继续上面的例子,用户可以从操作1610提供的列表中选择并输入一个制造商。用户可以通过使用例如输入笔、键盘、触摸屏或语音输入,输入第一参数。
处理1600包含根据第一参数提供用于第二参数的选项的第二集合(1630)。继续上面的例子,用户接口可以提供产品类型的列表,该列表包含例如从在操作1620输入的制造商可获得的台式计算机、便携式计算机和掌上型计算机。
处理1600包含输入从选项的第二集合选择的第二参数(1640)。继续上面的例子,用户可以从操作1630提供的列表中选择并输入产品类型。
处理1600包含根据第一和第二参数提供匹配的列表(1650)。继续上面的例子,匹配列表可以包含数据库中由输入的制造商制造的并且是输入的产品类型的所有计算机。例如,配备列表可以包含所有索尼便携式计算机。
处理1600可以被用于例如代替使用户一次输入全搜索信息串。处理1600在例如下拉列表中,提供结构化搜索或选择的集合。第一和第二参数可以被认为是搜索信息串的组成部分,并且累积的搜索信息串生成操作1650提供的匹配列表。数据库可以被组织成允许根据操作1610和1630提供的参数进行高效率的搜索。此外,在语音输入应用中,通过组织数据条目,可以简化每个参数的语法和词汇表,从而潜在地提高了识别的准确度和速度。
实现可以提供多个参数和选项集合,并且,这些可以被组织成级。在处理1600中,两级中的每一级中使用一个参数。但是例如可以在第一级中提供多个参数,并用两个条目确定在第二级用于附加的多个参数而提供的选择列表,并利用所有参数确定匹配列表。这样的参数可以包含例如制造商、商标、产品型号、价格范围和在该产品类型中产品的多种特征。计算机的特征的例子包含处理器速度、随机存取存储器的存储量、硬盘的存储容量、显卡速度和存储器以及服务合同选项。
参照图17,用于实现处理1600的页面1700的图片包含第一级1710和第二级1720。第一级1710使用包含了选项集合的相应的下拉菜单1740提供用于产品的第一参数1730。下拉菜单1740中的选项集合可以包含例如台式计算机、便携式计算机、和掌上型计算机。第二级1720使用包含选项集合的相应下拉菜单1760提供用于商标的第二参数1750。假定在下拉菜单1760中的选项集合全部满足用户在下拉菜单1740中输入的产品参数,并且下拉菜单1760的选项集合可以包含例如索尼、惠普/康柏、戴尔和IBM。假定在下拉菜单1740中选择了“便携式计算机”,则下拉菜单1760中只会包含出售便携式计算机的商标(制造商)。
页面1700还包含用于型号的分类1770,它与在第一和第二级1710和1720输入的参数匹配。匹配型号使用下拉菜单1780可以被查看。如页面1700所指示的,所有搜索信息串信息和结果会在单一页面中呈现。页面1700也可以在单一屏幕截图中呈现,但是其它单一页面实现可以使用例如延伸多屏长度并且需要卷动屏幕以查看所有信息的网页。
参照图18,用于识别地址的处理1800包含确定用于地址的第一部分的选项列表(1810)。地址可以是例如街道地址或互联网地址,其中互联网地址包含例如电子邮件地址和网站地址。如果地址是街道地址,则第一部分可以是例如州标识符。
处理1800包含提示用户输入地址的第一部分(1820)。该提示可以例如仅仅包含对输入信息的请求,或者它可以包含选项列表。处理1800包含接收地址的第一部分(1830)。如果是利用听觉接收第一部分,则处理1800包含执行对地址的第一部分的语音识别(1840)。
处理1800包含根据接收到的第一部分确定地址的第二部分的选项列表(1850)。继续上面的例子,第二部分可以是例如城市标识符,并且选项列表可以包含例如仅仅在由接收到的州标识符标识的州内的那些城市。通过将通常输入街道地址的顺序反向,语音识别系统能够简化用于城市标识符的相关语法和词汇表,从而有助于提高语音识别的准确度和速度。
处理1800包含提示用户输入地址的第二部分(1860)。再一次,提示不需要包含选项列表。处理1800包含接收地址的第二部分(1870)。如果第二部分是利用听觉接收的,则处理1800包含执行对地址的第二部分的语音识别(1880)。
处理1800可以继续,以便接着确定用于地址的其它部分的选项列表。继续上面的例子,可以根据由接收到的城市标识符标识的城市确定用于邮编的选项列表。这样的列表可以从所标识的城市中可获得的邮编确定。还可以确定该城市的城市街道或者邮编。此外,在获得州信息之前可以获得国家信息。
如上面的例子和处理1800所指示的,通过以与通常的习惯相反的顺序输入数据,即,通过从地理上宽的分类到地理上窄的分类输入数据,能够缩小用于地址信息的每个后续部分的可能性的范围。如果考虑多个国家,使用相反顺序的影响会更大,因为不同的语言对于街道的标准指定方法不同。
处理1800可以用多种方法提示用户。例如,可以提示用户以特定顺序输入地址信息,从而允许系统按照其输入顺序处理地址信息,并准备选项列表。可以在屏幕上从上到下地呈现例如用于国家、州或省、城市、邮编、街道等的输入信息栏,或者上述输入信息栏可以用语音输出顺序地提供。
参照图19,它示出了在处理1800中提示用户的另一种方法。系统可以使用设备屏幕上的弹出向导1900请求用户输入特定的地址信息。此外,系统可以保持地址信息的正常顺序,但是使用例如视觉提示符(visual cue)来提示用户以特定顺序输入信息。视觉提示符可以包含例如高亮显示某一输入信息栏的标题或边框,或对其着色(coloration)。
处理1800可以被用于使用语音方式或其它方式的数据输入。在按照每一个提示输入数据之后,并且,如果是否使用了语音输入被识别之后,可以搜索地址数据库以便为下一个地址信息栏确定选项列表。这样的系统允许在正在进行的(ongoing)的基础上搜索数据库,而不必在全部地址信息被输入之前等待。这样的系统还允许使用下拉菜单的引导输入,并且,不管是否使用了引导输入,如果对于地址的特定部分提供了无效的输入,可以在输入时向用户告警。
除了街道地址或其组成部分,处理1800还可以被用于其它地址。例如,处理1800可以被用于互联网地址,包含例如电子邮件地址和网站地址。
参照图20,用于输入电子邮件地址的格式2000包含使用用户标识符2010、服务器标识符2020和域标识符2030。分隔用户标识符2010和服务器标识符2020的“@”,和分隔服务器标识符2020和域标识符2030的“点”可以是固定的,并且被自动插入,也就是说,无需人工插入。
在一个实现中,首先输入域标识符2030,因为这个信息栏可供选择的选项很少。可以根据输入的信息栏生成服务器标识符2020的选项列表。例如,如果对于域输入了“com”,则用于服务器标识符2020的选项列表可以包含例如所有“财富100”公司和25个最常访问的商业网站地址。对于“gov”、“net”和其它域标识符2030可以生成类似的列表。用于用户标识符2010的选项列表可以包含通用姓和名以及其它惯例,例如名字的首字母加姓。
参照图21,用于输入网站地址的格式2100包含使用网络标识符2110、服务器标识符2120和域标识符2130。分隔三个标识符2110、2120、2130的两个“点”可以是固定的,并且被自动插入。网络标识符可以从例如“www”、“www1”、“www2”等中选择。
参照图22,用于搜索一个或匹配的搜索信息串的处理2200包含访问搜索信息串的至少第一部分(2210)。这种访问可以包含例如接收语音输入、输入笔输入、或菜单选择,并且第一部分可以包含整个搜索信息串。
处理2200包含在第一搜索空间中搜索搜索信息串的第一部分的匹配(2220)。第一搜索空间可以包含例如语音识别引擎的语法中的搜索空间、数据库中的搜索空间、或在下拉菜单中向用户呈现的选项列表中的搜索空间。搜索可以包含例如比较文本输入、语音波形、或表示向量量化波形码本中的条目的代码。
处理2200包含根据对第一搜索空间的搜索结果限制第二搜索空间(2230)。第二搜索空间可以例如与第一搜索空间相似或相同。限制可以包含例如削减能够检查到的可能的语法或词汇表条目、削减能够被检查到的可能的数据库条目、或削减能够显示的或可获得的用于搜索信息串参数的选项的数目。并且例如可以进行对可能性和选项的削减以便排除不满足搜索信息串的第一部分的可能性或选项。
处理2200包含访问搜索信息串的至少第二部分(2240),并在限制的第二搜索空间中搜索搜索信息串的第二部分的匹配(2250)。访问搜索信息串的第二部分可以包含例如接收语音输入、输入笔输入、或菜单选择,并且第二部分可以包含整个搜索信息串。可以使用例如与执行搜索第一搜索空间相同或相似的方法执行搜索限制的第二搜索空间。如本段落和前面的段落所建议的,处理2200的意图是涵盖所有公开的处理。
参照图23,用于实现一个或多个上述处理的系统2300包含计算设备2310、位于计算设备2310内部的第一存储器2320、位于计算设备2310外部的第二存储器2330、和位于计算设备2310外部的识别引擎2340。计算设备可以是例如台式计算机、便携式计算机、掌上型计算机、或能够执行一个或多个所述处理的其它类型的电子设备。第一和第二存储器2320、2330可以是例如能够至少暂时存储数据或指令的永久性(permanent)或暂时性(temporary)存储器。识别引擎2340可以是语音识别引擎或用于其它输入方式的识别引擎。示出的第二存储器2330和识别引擎2340位于计算设备2310的外部,可选择地,也可以连接到计算设备2310。但是,第二存储器2330和识别引擎2340也可以集成到计算设备2310,或者从系统2300中省略。
可以对上述实现进行各种修改。例如,公开的处理的操作不需要一定按照指定的顺序执行。
在上面的说明中,给出了多个允许第一模态网关和第二模态网关同步的例子,从而使得用户在给定时间点可以使用两个网关中的任何一个,或同时使用两者访问服务器系统,以获得给定的信息或执行特定的动作。图1、7和10描述了几个例子,并且其它例子也已经被说明。
在使用这种系统的网关同步功能时,用户可能执行的一个动作是选择链接到当前查看网页的网页,其中,这一选择可以通过例如使用VXML页面的语音输入,或者使用例如输入笔或鼠标点击嵌入在HTML页面的HTML链接,来执行。
用户可能执行的另一个动作是例如在单一网页的表格(form)的多个信息栏中,输入文本。例如,如上面所讨论的,图3-6中的处理300-600的变化包含用于实现涉及特定页面的命令的技术。更具体地说,在图8和9中,操作810和910的变化允许图7中的同步控制器720接收诸如浏览器输入和语音输入的输入,其中的输入可以包含数据输入和/或用于移动到新的信息栏的定焦请求。在上面给出的涉及操作910的例子中,语音方式系统740为VXML页面的一个信息栏接收用户的城市选择,并随后将焦点移动到用于选择州的信息栏。
可以通过例如键盘使用手动输入输入文本,或者经由与相应的并且同步的VXML页面相关联的语音识别系统输入文本。对图19-21的讨论描述了这样的文本输入的例子;更具体地说,这些附图和相关文本以及例子说明了这样的技术,即,在执行对搜索信息串的语音识别时有选择地缩小语法,或者,随着多个相关条目的输入主动地缩小语法。通过这些或者其它技术,使用语音识别的文本输入在速度和准确度方面可以得到提高。
在上面的讨论中允许的、用于在表格中的多个信息栏中输入文本或其它信息的另一个技术是,具有两级、分层的动态语法。在这个技术中,具有多级和独立的、分立的(discrete)语法的实例,而不是具有更大的并且/或者相互依存的语法的多个子集。
图24是用于实现两级、动态语法的结构的方框图。在图24中,第一级包含全局(global)语法2410。全局语法2410包含语音命令的词汇表,无论系统的当前状态或页面,操作设备或软件都能识别这些语音命令。例如,即使在用户当前向页面上的多个信息栏输入多条文本信息时,全局语法也继续可操作,以识别语音输入索引,该语音输入索引为例如本页中其它信息栏的名称的语音输入索引、用于激活浏览器的命令(诸如例如“后退”、“主页”或“刷新”)的语音输入索引、以及诸如“重新启动”的设备命令的语音输入索引。
在图24中,第二级包含多个特定语法。例如,第二级可以包含用于识别输入城市名称的语音命令的第一语法2420、用于识别输入州名称的语音命令的第二语法2430和用于识别输入街道地址的语音命令的第三语法2440。
在图24中,应该理解,语法2410-2440是分离的、分立的、独立的语法。使用独立语法的一个后果是给定单词可能在多个语法中重复,从而增加了总的存储需求。例如,语法2420可能包含单词“华盛顿”,用以标识城市名称华盛顿哥伦比亚特区。语法2430也可能包含单词“华盛顿”,这里用于标识华盛顿州。最后,如果用户住在“华盛顿街”,语法2440也可以包含单词“华盛顿”。
相反,其它的语音识别系统可能具有一个单一的、大的语法(或多个相互依存的语法),其中的单词“华盛顿”只存储一次,并且在检测到单词“华盛顿”时,将其输入到当前有效(active)的信息栏。此外,在多个用于语音识别的信息栏同时有效时,这种系统的对输入的语音识别相对较差。例如,在一个软件应用的表格中可能同时存在姓的信息栏和名的信息栏,并且,这两个信息栏可能同时有效,以显示对诸如“戴维斯”的语音输入的识别结果(其可以是例如在“名”和“姓”两个信息栏中的有效选择)。那些在识别语法中具有相似数据的信息栏可能对语音识别的结果竞争,从而增加了不准确的可能性。
因此,图24的多级语法可以提高语音识别的速度和/或准确度。速度和/或准确度的提高是由于例如在一个特定时间,第二级语法中只有一个是有效的这一事实。因此,语音识别系统必须搜索的词汇表的规模可以大幅度地减小。利用减小的词汇表,语音识别的准确度通常会增加,并且处理时间通常会缩短。
而且,语音识别系统一直知道哪个语法(信息栏)是有效的,因此不需要对于给定信息栏消除识别出的单词的歧义。例如,在其它识别出单词华盛顿的系统中,系统可能不得不确定识别出的单词应该插入到那个信息栏中,例如城市、州或地址。使用图24的多级、动态语法,可以避免这些附加的步骤。
可以将不同的语法2410、2420、2430和2440一起存储在存储区域2450中。存储区域2450可以表示单一的数据库或介质,或者多个数据库(介质)。语法可以存储在例如单一文件或多个文件中。
语法激活和停用系统2460可以被用于根据需要打开第二级语法2420、2430和2440中的一个,并同时保证另外两个被停用。语音识别系统2470与用户进行交互,以输入语音或口述数据,并使语音或口述数据与当前有效的语法的单词或其它部分匹配。并且,输入指示系统2480向用户表明那个语法是有效的,并且表明语音识别系统2470执行匹配操作的结果。
应该理解,存储区域2450、语法激活和停用系统2460、语音识别系统2470以及输入指示系统2480可以在单一设备或多个设备上实现。例如,图24的一个或多个元素可以位于服务器系统上,和/或位于诸如移动计算设备的本地系统上。例如,输入指示系统2480可以是诸如上面所讨论的网页的图形用户界面上的表格中的信息栏,从而可以向用户显示用户输入的语音数据并由语音识别系统2470识别出的语音数据。输入指示系统2480还可以是录制的或计算机生成的语音,以向用户重复识别出的单词,就像可以用于电话输入系统的那样。
图25示出了在便携式设备上看到的用于输入关于用户的信息的网页2500。在图25中,页面2500可以是包含名信息栏2510、姓信息栏2520、州信息栏2530、邮编信息栏2540、城市信息栏2550和街道地址信息栏2560的VXML页面。页面2500还示出了多个按钮2570,它们意在图解多个常规的网络命令,诸如“刷新”、“主页”、“我的收藏”等。
这样,根据上面的说明,用户可以使用多种技术激活名信息栏2510。例如,可以通过被包含了全局语法2410的第一级语法识别出的语音命令选中信息栏2510。或者,如果网页2500如上所述与一个HTML(和/或JSP)页面同步,则可以使用输入笔、鼠标或其它机械输入选中该信息栏。再举一个例子,该信息栏可以由于是表格中的第一个信息栏而被自动突出显示。
在任何情况下,一旦信息栏2510被突出显示,对应该信息栏的第二级语法就会被激活,并且,对于输入到信息栏2510的输入项,只会识别出该语法中的单词。通过这种方式,语音识别系统2470将具有显著受限的词汇表并从中选择名,因此可以大幅度提高选择名的速度和/或准确度。
图26示出了网页2600,它也是在便携式设备上看到的用于输入关于用户的信息的页面。页面2600的信息栏实质上与页面2500相同,但是,页面26图解了突出显示名信息栏2610的视觉提示符。视觉提示符是作为用于向用户指示哪个语法当前有效的技术。这种视觉提示符的例子可以包含信息栏内的光标、信息栏高亮显示、对信息栏的特定着色、或其它任何用于指示特定信息栏及其关联的语法有效的技术。
在一个实现中,信息栏2610作为页面2600的第一个信息栏会被自动突出显示。在向信息栏2610中填入名之后,视觉提示符可以自动移动到信息栏2520,并且以此类推,直到页面2600结束。如图所示,不同的信息栏的输入项可以辅以下拉菜单,例如在信息栏2530和2550中,或者,可以不使用辅助下拉菜单填入输入项,例如在信息栏2510(2610)、2520、2540和2560中。
即使在某一特定第二级语法被激活时,诸如全局语法2410的第一级语法仍然保持有效,由于第一级语法的存在,简单地通过提供用于选择一个(当前)停用的语法的激活信号,用户可以可选择地个别地选择信息栏。例如,激活信号可以涉及简单地说出与将要激活的语法相关联的期望的信息栏的名称。并且,正如已经提到的,即使在页面包含VXML页面/数据,或与VXML页面/数据相关联时,页面2500/2600的多模式同步也允许用户使用涉及物理选择信息栏的激活信号(例如,使用诸如输入笔或鼠标的物理工具)。
或者,全局语法2410可以被包含在每个独立语法2420、2430和2440中,特别是在全局语法2410的规模相对较小的情况下。在这个例子中,总的存储器需求或许将增加;但是,可以消除同时运行两个处理(即,两个语法)的需要。
应该理解,对于移动计算设备,图24-26的实现特别有优势,在移用计算设备中,计算/处理资源相对非常珍贵。并且,通常在小型移动计算设备中,文本输入是难用的、困难的或不存在的,因此,快速准确的语音输入,特别是向诸如网页的表格的语音输入,应该是非常有用并且有优势的。
虽然上面针对诸如HTML、VXML或JSP的网页讨论了动态语法的实现,事实上,它们是与在上述部分I和II中讨论的各种实现中的部分实现或全部实现兼容的。并且,这些实现可以与不涉及网络或互联网的实现兼容。例如,图24的多级、动态语法可以用于几乎任何应该输入分立数据的软件应用。
事实上,任何将要输入数据并且有可能使用声音输入的应用都可以受益于上述实现。例如,如上面所提到的,上述实现可以有助于基于电话的信息输入,在基于电话的信息输入中,如上所述,录制的或计算机处理的语音讲出信息栏,作为对诸如名的数据输入项的提示,并随后从与该信息栏相关联的独立的、分立的语法中进行选择。
并且,虽然上面对两级语法进行了说明,但是实现也可以包含三(或更多)级语法。例如,具有两个图文框的网页可能具有用于每个图文框的独立的语法集合、用于每个图文框的全局语法、以及用于网络浏览器和其它应用(例如运行网络浏览器的设备的操作系统)的全局语法。
使用IP地址同步参照图27,系统2700包含第一移动设备2710,第一移动设备2710包含第一“基于因特网协议的语音服务”(“VoIP”)客户2714和第一浏览器2716,第一浏览器2716包含第一浏览器适配器2718。第一VoIP客户2714被连接到第一语音网关2720,第一语音网关2720包含语音网关适配器2724。
系统2700包含第二移动设备2730,第二移动设备2730包含第二VoIP客户2734和第二浏览器2736,第二浏览器2736包含第二浏览器适配器2738。第二VoIP客户2734被连接到第二语音网关2740,第二语音网关2740包含第二语音网关适配器2744。
系统2700包含第一网络服务器2750,第一网络服务器2750包含第一网络服务适配器2754。系统2700包含第二网络服务器2760,第二网络服务器2760包含第二网络服务器适配器2764。第一网络服务器2750和第二网络服务器2760每一个都被连接到第一浏览器2716、第一语音网关2720、第二浏览器2736和第二语音网关2740。系统2700还包含消息处理器2770,消息处理器2770连接到第一网络服务器适配器2754、第二网络服务器适配器2764、第一浏览器适配器2718、第一语音网关适配器2724、第二浏览器适配器2738和第二语音网关适配器2744。网络服务器适配器2754和2764每一个能够被实现为分别运行在网络服务器2750或2760上的多模式应用的一部分。
参照图28,系统2800是图27的通用系统的较小实现。系统2800包含第一移动设备2710(称为移动设备2710)、第一语音网关2720(称为语音网关2720)、第一网络服务器2750(称为网络服务器2750)和消息处理器2770,以及上面在图27的说明中所描述的它们的组成部件。
参照图29,处理2900能够被用于系统2800,并且一般地描述了用于在不同部件之间建立通信并关联两个模态的一个实现。在处理2900中说明的关联可以被例如上面所描述的不同同步处理中的一个或多个使用。
处理2900包含使得VoIP客户2714连接到语音网关2720(2910)。这一连接(2910)可以响应于用户通过例如使用输入笔选择“连接”图标,在移动设备2710请求语音连接来建立。在具体的实现中,在VoIP客户2714和语音网关2720之间可以使用标准协议,诸如例如国际电信联盟标准化部门建议H.323(H.323)或对话初始协议(“SIP”)。
处理2900还包含使得语音网关适配器2724获得移动设备2710的因特网协议(“IP”)地址(2920)。IP地址可以是正在使用的VoIP协议的一部分,在这种情况下,语音网关适配器2724可以通过例如从连接首标取出IP地址来获得IP地址。也可以通过例如询问用户或移动设备2710来获得IP地址。
系统2800中的各种适配器通常处理网关/服务器的消息接口,并且可以被实现为例如软件插件程序。在各种实现中,适配器起到监听器处理的作用,并且,浏览器适配器包括嵌入在每个HTML页面中的软件,所述软件调用存储在浏览器机器中的例程。当HTML页面被接收到,并且嵌入软件被执行时,软件的执行会引起适配器使得该HTML页面在浏览器机器上被例示。在语音网关支持这种调用的实现中,这些实现也可以在VXML页面中嵌入相似的调用。对于具有不支持这种调用的语音网关的系统,语音网关可以包含与消息处理器联接的单一的监听器处理(适配器)。类似地,在显示浏览器支持这种调用的实现中,一个浏览器适配器可以支持多个HTML页面。
处理2900包含使得语音网关适配器2724根据移动设备2710的IP地址预订唯一的通道(2930)。语音网关适配器2724可以使用例如HTTP与消息处理器2770通信。消息处理器2770产生该通道,并使用IP地址作为该通道的名称或其它索引,并且语音网关适配器2724预订该唯一通道。该通道是唯一的是因为它由移动设备2710的唯一的IP地址所描述。
处理2900包含使得语音网关2720从网络服务器2750请求响应(2940)。语音网关2720可以向网络服务器2750发送HTTP请求以请求响应。由于此时VoIP客户2714还没有请求具体的网页,因此该请求可以是对于不需要包含任何内容的缺省页面(即,虚拟页面)的请求。具体的实现可以将这一实现作为启动程序的一部分执行,从而留出在请求或发送具有内容的网页之前浏览器2716连接到网络服务器2750的时间。网络服务器2750可以使用被加强的支持使多模态同步的网络服务器应用来执行这一功能。
处理2900包含使得网络服务器2750向语音网关2720返回虚拟的语音页面(2950)。处理2900还包含使得浏览器2716连接到网络服务器2750并建立新的浏览器对话(2960)。浏览器2716可以响应于例如用户输入期望网页的URL,或响应于连接命令而连接。
处理2900包含使得网络服务器2750检测移动设备2710的IP地址,并将唯一消息通道与在浏览器2716和网络服务器2750之间建立的新的对话相关联(2965)。在具体实现中,IP地址被嵌入在浏览器2716和网络服务器2750之间的HTTP通信中,并且网络服务器通过从通信中提取出IP地址来检测IP地址。在一个实现中,网络服务器2750假定存在由IP地址索引的唯一消息通道,并且使用表格或数据结构将对话和该唯一消息通道相关。
处理2900包含使得网路服务器2750响应于连接到网络服务器2750的第一网络浏览器2716向浏览器2716发送网页(2970)。典型地,被发送到浏览器的网页是HTML页面。如果浏览器-服务器连接是响应于用户输入期望网页的URL而建立的(2960),则网络服务器2750可以发送被请求的网页。
处理2900包含使得网络服务器2750通过消息处理器2770向语音网关适配器2724发布发布发送到浏览器2716的网页的URL(2975)。网络服务器2750向由移动设备2710的IP地址标识或索引的唯一消息通道发布发布该URL。第一网络服务器适配器2754(被称为网络服务器适配器2754)被用于向消息处理器2770发布发布。最初,只有语音网关适配器2724被预订到唯一消息通道,因此,对于什么实体是对该消息的接收者不会存在歧义。
在典型的实现中,对应的VXML和HTML网页的URL是相同的。这样,在典型的实现中,为了允许其它模态确认相应的网页,服务器只需要发布发布URL。在相应的页面(或其它数据)不具备相同的URL或其它标识符的实现中,服务器(或其它部件)可以确定相应页面的标识符。
处理2900包含使得浏览器适配器2718预订唯一消息通道(2980)。现在,语音网关适配器2724和浏览器适配器2718两者都预订了唯一消息通道,并且都能够接收发布发布到该通道的消息。
在某些实现中,操作2980在较早时候被执行。在浏览器适配器2718在操作2960预订的实现中,由于语音网关适配器2724和浏览器适配器2718两者都预订了唯一消息通道,因此每个都将接收到在操作2970发布发布的URL和随后发布发布的URL。随后,在操作2970,语音网关适配器2724可以识别出它自己是对消息的确定接收者,通过例如(i)使得网络服务器2750在消息中嵌入信息以指示哪一个或多个适配器根据该消息运行,或者(ii)使得网络服务器2750使用唯一消息通道的子通道。或者,如下面所解释的,适配器2724和2718两者都根据该消息运行,并且网关2720和2716可以分别确定是否需要请求页面。
处理2900包含使得语音网关适配器2724指示语音网关2720请求对应于发布发布的URL的网页(2985)。在识别出它自己是对发布发布的消息的确定接收者之后,语音网关适配器2724指示语音网关2720请求对应于嵌入在消息中的URL的网页。作为响应,语音网关2720向网络服务器2750请求该网页。被请求的页面对应于被发送到浏览器2716的HTML页面的VXML版本。在浏览器适配器2718也根据发布发布的消息运行的实现中,浏览器2716可以确定将要被请求的网页已经被浏览器2716接收过了,并且该消息仅仅是意图发送给语音网关适配器2724的。
处理2900包含使得网络服务器2750检测移动设备2710的IP地址,并将语音网关2720和网络服务器2750之间的对话与唯一消息通道关联(2990)。该IP地址的检测可以如在操作2965中对浏览器2716的IP地址的检测。实现可以检测指示IP地址的另一个参数以代替IP地址本身。这一操作可以在处理2900的较早时候执行,诸如例如在操作2940。
在处理2900结束之后,适配器2724和2718两者都预订了在消息处理器2770的唯一消息通道(2930、2980),该通道由移动设备2710的IP地址描述或索引。此外,在服务器2750,两个对话都与唯一消息通道关联。因此,当用户使用任何一个模态请求网页时,请求对话已经和消息信道关联(例如,2965),并且能够发送消息(例如,2975)以允许请求(例如,2985)并传送同步网页。
在其它的实现中,浏览器2716可以在语音网关2720连接到网络服务器2750之前连接到网络服务器2750。在这样的实现中,两个网关2716和2720的角色通常与在处理2900中所说明的相反。
使用用户/设备ID同步参照图30,系统3000包含与系统2800相同的部件,并且还包含防火墙3010,防火墙3010联接在移动设备2710与语音网关2720和网络服务器2750两者之间。更具体地说,防火墙3010被布置在VoIP客户2714和语音网关2720之间,以及浏览器2716和网络服务器2750之间。这样,在系统3000中所示的防火墙3010具有四个连接。
在典型的实现中,防火墙3010将防火墙3010的IP地址嵌入到从移动设备2710发送的通过防火墙3010的通信中。这样,防火墙3010在到语音网关2720和网络服务器2750的传输中保护移动设备2710的IP地址。结果,如果系统3000使用处理2900,则防火墙3010的IP地址将在操作2920被语音网关适配器2724检测到,并且在操作2965被网络服务器2750检测到。这将导致语音网关适配器2724预订由防火墙3010的IP地址标识的消息信道。继续这个例子,在操作2980,浏览器适配器2718将不能预订同一个消息通道,除非浏览器适配器2718知道防火墙3010的IP地址。但是,对于许多应用,出现了一个更普遍的问题。
典型的实现将有多个移动设备连接到防火墙3010。在那些实现中,防火墙3010的IP地址不只提供唯一的消息通道。结果,为一个设备上的模态发布发布的消息也将被其它设备接收到。
在一个解决方法中,(i)在操作2910,VoIP客户2714向语音网关2720提供唯一的标识符,并且(ii)在操作2960,浏览器2716向网络服务器2750提供唯一的标识符。在这种方法中,(i)语音网关适配器2724能够被配置成在操作2920检测该唯一的标识符,并且,(ii)网络服务器2750能够被配置成在操作2965检测该唯一的标识符。此外,浏览器适配器2718能够被配置成预订由唯一的标识符标识的、并且在操作2930中产生的消息信道。
唯一的标识符可以是例如用户ID、设备ID、设备的IP地址和相关联的防火墙的IP地址的组合、或唯一的硬件标识符。可以通过例如以防火墙3010不移除唯一的标识符的方式将唯一的标识符嵌入到通信格式中,来提供该唯一的标识符。
参照图31,处理3100可以被用于发送同步消息。处理3100可以被各种实现所使用,包含例如与系统2800和系统3000关联的实现。
处理3100包含接收对于第一模态数据的请求(3110)。第一模态数据包含第一内容,第一模态数据被配置成使用第一模态提供,并且,请求来自请求器(requestor)并在第一设备被接收。第一模态数据包含可以使用第一模态向用户提供的数据,或者可以由用户使用第一模态响应的数据。其它的模态数据,诸如第二模态数据和第三模态数据可以类似地定义。
第一模态数据可以包含例如网页或其它数据结构,并且,典型地,这种数据结构包含内容。内容通常指提供给用户的信息或用户可能搜索的信息。数据结构还可以包含例如具有首标信息的首标和其它格式的信息。举例来说,网页可以包含由浏览器应用向显示设备显示的内容,并且网页的HTML可以包含控制显示的方面并路由网页的格式信息和首标。
处理3100包含发送允许请求第二模态数据的消息(3120)。该消息从第一设备发送并由第二设备接收,响应于请求的接收发送该消息,并且该消息包含与第一内容重叠的第二内容,第二模态数据被配置成使用第二模态提供。通过具有公用的内容,第二模态数据的内容可以与第一模态数据的内容重叠。例如,HTML页面(第一模态数据)和相应的VXML页面(第二模态数据)具有公用的内容。
允许请求第二模态数据的信息可以是多种类型的。例如,该信息可以包含(i)指向第二模态数据的指针(例如,URL),(ii)指向指针的指针,该被指向的指针指向第二模态数据(例如,JSP的URL,该JSP包含第二模态数据的URL),或者(iii)允许第二模态数据的地址被确定的数据(例如,可以提供HTML页面的URL,从该URL可以确定相应的VXML页面的URL)。
此外,通过以用户可以使用第一模态或第二模态响应重叠内容的方式向用户提供(present)第一模态数据和相应的第二模态数据,可以使第一模态数据和相应的第二模态数据同步。
处理3100包含确定包含在被发送的消息中的信息(3130)。例如,如果第一模态数据和相应的第二模态数据的URL不同,并且该信息包含第一模态数据的URL,则可以通过例如使用表格查找或算法,或者从另一个部件或用户请求该信息,来确定相应的第二模态数据的URL。
处理3100包含向请求器发送第一模态数据(3140)。向请求器发送第一模态数据,或是上行(upstream)或是下行(downstream),可能会涉及一个或多个附加部件。
处理3100包含从第二设备接收对第二模态数据的请求(3150)。该请求可以是例如(i)请求在某URL的第二模态数据,该URL由包含在发送消息中的信息标识,(ii)请求在某URL的第二模态数据,该URL从包含在发送消息中的信息确定,或者(iii)请求在某地址的第二模态数据,该地址由包含在发送消息中的信息所标识的URL的网页或从该信息确定的URL的网页指向。
处理3100包含向第二设备发送第二模态数据(3160)。向第二设备发送第二模态数据,或是发送的上行或是发送的下行,可能会涉及一个或多个附加部件。例如,服务器可以通过防火墙向网关发送数据。
处理3100包含发送第二消息(3170)。第二消息是第一设备响应于接收请求而发送的,并且该消息由第三设备接收。第二消息包含第二信息,第二信息允许第三设备请求第三模态数据,第三模态数据包含与第一内容和第二内容两者都重叠的第三内容,并且第三模态数据被配置成使用第三模态向用户提供。第二信息允许第三模态与前两个模态同步。例如,可以以这样一种方式向用户提供第一模态数据、相应的第二模态数据和相应的第三模态数据中的每一个,该方式使得用户可以使用第一模态、第二模态或第三模态响应重叠的内容。
处理3100包含在第一设备接收另一个请求(3180)。该另一个请求来自第二请求器,并且请求包含第四内容的第二第一模态数据。第二第一模态数据被配置成使用第一模态提供。其它的请求可以是来自例如另一个使用不同设备的用户。
处理3100包含从第一设备发送另一个消息(3190)。该另一个消息是响应于接收到另一个请求而发送的,并且是为了由另一个设备接收而发送的。该另一个消息包含允许该另一个设备请求第二第二模态数据的第三信息,第二第二模态数据包含与第四内容重叠的第五内容,并且第二第二模态数据被配置成使用第二模态提供。这样例如两个用户可以分别使用分离的移动通信设备浏览诸如WWW的网络,并且每个用户的模态可以被同步。即,第一用户可以使得他/她的两个模态同步,并且第二用户可以使得他/她的两个模态同步,但是两个用户之间不需要任何同步。第二第一模态数据和第二相应的第二模态数据可以通过以这样一种方式向第二用户提供第二第一模态数据和第二相应的第二模态数据而同步,该方式即,使得用户可以使用或者第一模态或者第二模态响应重叠的内容。
处理3100可以通过不同的实现举例说明,包含例如系统2800或系统3000的实现。在系统2800或3000中,网络服务器2750可以从语音网关2720接收对VXML页面的请求(3110)。网络服务器2750可以向浏览器2716发送消息,该消息包含语音网关2720所请求的VXML页面的URL,从而允许浏览器2716请求相应的HTML页面(3120)。网络服务器2750可以使用网络服务器适配器2754、消息处理器2770和浏览器适配器2718向浏览器2716发送该消息。如果VXML页面的URL与相应的HTML页面的URL不相同,则网络服务器2750可以确定相应的HTML页面的URL,并且在该消息中发送相应HTML页面的URL,而不是发送VXML页面的URL(3130)。
网络服务器2750可以向语音网关2770发送所请求的VXML页面(3140)。网络服务器可以从浏览器2716接收对相应的HTML页面的请求,有可能通过防火墙3010(3150)。网络服务器2750可以向浏览器2716发送相应的HTML页面(3160)。
网络服务器2750可以发送第二消息,第二消息被发送到第三模态网关(未示出),并且第二消息包含VXML页面的URL,VXML页面的URL允许第三模态网关请求相应的第三模态数据(3170)。
网络服务器2750可以接收另一个请求,该另一个请求来自第二语音网关(未示出),并且请求第二VXML页面(3180)。网络服务器2750可以发送由第二浏览器(未示出)接收的另一个消息,该另一个消息包含第二VXML页面的URL,从而允许第二浏览器请求与第二VXML页面相对应的HTML页面(3190)。
网络服务器2750可以使用早前说明的服务器推送、浏览器拉取、语音中断监听器或无输入标签实现中的任何一个执行处理3100的各种操作。例如,在服务器推送中,语音网关向服务器请求VXML页面(320;3110),并且服务器向浏览器发送消息指示相应的HTML页面(340-350;3120)。例如,在浏览器拉取中,语音网关向服务器请求VXML页面(410;3110),并且服务器向浏览器发送嵌入了命令的响应,当浏览器执行嵌入的命令时,该命令使用相应的HTML页面更新浏览器(450;3120)。例如在语音中断监听器中,浏览器向服务器请求HTML页面(520;3110),并且服务器向语音网关发送消息指示相应的VXML页面(540-550;3120)。例如在无输入标签中,浏览器向服务器请求HTML页面(620;3110)。服务器已经在之前向语音网关发送了无输入标签以允许语音网关请求JSP(610;3120),并且现在服务器使用例如相应的VXML页面的地址更新JSP,从而允许语音网关请求相应的VXML页面(640;3120)。
也可以通过例如代理或融合实现执行处理3100的各种操作。例如在代理实现中,同步控制器从浏览器接收对HTML页面的请求(1110;3110),并且同步控制器向语音网关发送消息,使得语音网关请求相应的VXML页面(1140;3120)。例如在融合实现中,同步控制器从浏览器接收对HTML页面的请求(810;3110),并且同步控制器向语音方式系统传送相应的VXML页面的标识符(830;3120)。
使用智能适配器同步参照图32,系统3200包含改进的移动设备3210,改进的移动设备3210包含VoIP客户2714和具有改动的浏览器适配器3218的改动的浏览器3216。系统3200包含连接到VoIP客户2714的改进的语音网关3220,并且改进的语音网关3220包含改动的语音网关适配器3224。系统3200包含改动的网络服务器3210,改动的网络服务器3210不包含适配器,并且连接到浏览器3216和语音网关3220两者。系统3200还包含连接到浏览器适配器3218和语音网关适配器3224的消息处理器2770。消息处理器2770不与网络服务器3210通信。
浏览器3216和语音网关3220的改动在于它们每一个都可以分别与浏览器适配器3218和语音网关适配器3224发送和接收信息。相反地,浏览器2716和语音网关2720只能分别从浏览器适配器2718和语音网关适配器2724接收信息。如上面所指出的,网络服务器3230对网络服务器2750的改动在于网络服务器3230不包含适配器,也不包含与使用适配器相关联的功能。因此,网关服务器3230不发布消息。
消息由语音网关适配器3224和浏览器适配器3218发布并接收。更明确地说,当浏览器3216接收到来自用户的请求HTML页面的输入时,浏览器3216向唯一消息通道发布(使用浏览器适配器3218)消息,该消息具有被请求的HTML页面的URL。语音网关适配器3224接收该消息,并指示语音网关3220向网络服务器请求相应的VXML页面。再次参考处理2900,代替服务器在操作2975向语音网关适配器发布URL,浏览器适配器发布该URL。类似地,当语音网关3220接收来自VoIP客户2724的请求VXML页面的输入时,语音网关3220向唯一消息通道发布(使用语音网关适配器3224)消息,该消息具有被请求的VXML页面的URL。浏览器适配器3218接收该消息,并指示浏览器3216向网络服务器3230请求相应的HTML页面。
浏览器适配器3218和语音网关适配器3224使用早前说明的机制检测或获取移动设备3210的IP地址,或者用户ID或设备ID。此外,可以使用登录(login)处理,登录处理包含例如用户向浏览器3216和语音网关3220输入登录信息(使用例如VoIP客户2727)。网络服务器3230(或其它部件)可以使用该登录信息验证并唯一标识用户。登录处理也可以与早前所说明的用于系统2800和3000的实现一起使用。
系统3200可以被用于举例说明处理3100的所选择的方面。在系统3200中,移动设备3210可以从用户接收对于HTML页面的请求(3110)。移动设备3210可以在消息中向语音网关3220发送被请求的HTML页面的URL,该URL允许语音网关3220请求相应的VXML页面(3120)。移动设备3210可以使用浏览器适配器3218、消息处理器2770和语音网关适配器3224发送该消息。或者,在HTML页面的URL与相应的VXML页面的URL不同的实现中,移动设备3210可以确定相应的VXML页面的URL(3130),并在该消息中向语音网关3220发送相应VXML页面的URL。移动设备3210可以发送包含被请求的HTML页面的URL的第二消息,该第二消息被发送到第三模态设备,并且被发送的URL允许第三模态设备请求相应的第三模态数据(3170)。
在另一个使用系统3200的例子中,语音网关3220可以接收对VXML页面的请求(3110)。语音网关3220可以在一个消息中向浏览器3216发送被请求的VXML页面的URL,该URL允许浏览器3216请求相应的HTML页面(3120)。语音网关3220可以使用语音网关适配器3224、消息处理器2770和浏览器适配器3218发送该消息。或者,在HTML页面的URL与相应的VXML页面不同的实现中,语音网关3220可以确定相应HTML页面的URL(3130)并在消息中向浏览器3216发送相应HTML页面的URL。语音网关3220可以发送包含被请求VXML页面的URL的第二消息,该第二消息被发送到第三模态设备,并且被发送的URL允许第三模态设备请求相应的第三模态数据(3170)。
参照图33,用于请求同步数据的处理3300包含请求用于第一模态的第一数据,该第一数据包含第一内容(3310)。处理3300包含在请求第一数据之后自动请求相应的用于第二模态的第二数据(3320)。相应的第二模态数据包含与第一内容重叠的第二内容,并且,通过以使得用户可以使用或者第一模态或者第二模态响应重叠的内容的方式向用户提供第一内容和第二内容,可以使第一模态与第二模态同步。
处理3300包含确定(ascertain)相应的第二数据(3330)。例如可以通过接收指示相应的第二数据的信息、或者根据第一数据确定相应的第二数据,来确定该相应的数据。
处理3300包含使用第一模态向用户提供第一内容(3340),并且使用第二模态向用户提供第二内容(3350)。第一内容和第二内容可以在重叠的时间段内提供给用户,在该重叠的时间段内用户可以使用或者第一模态或者第二模态响应重叠的内容。
可以通过例如系统3200举例说明处理3300。在系统3200中,移动设备3210可以请求VXML页面(3310),使用VoIP客户2727将该请求发送给语音网关3220。随后移动设备3210可以自动从网络服务器3230请求相应的HTML页面(3320)。移动设备3210可以从语音网关适配器3224接收相应的HTML页面的URL(3330),该URL在消息中由浏览器适配器3218接收。移动设备3210可以使用VoIP客户2727和扬声器向用户提供被请求的VXML页面(3340),并且移动设备3210可以使用浏览器3216向用户提供相应的HTML页面(3350)。
处理3300的各种操作也可以由例如代理或融合实现执行。例如在代理实现中,同步控制器从网络服务器请求HTML页面(1120;3310),并且同步控制器请求相应的VXML页面(1270;3320)。例如在融合系统中,同步控制器从网络服务器请求HTML页面(840;3310),并且同步控制器通过将相应VXML页面的标识符传送给语音方式系统来请求相应的VXML页面(830;3320)。更一般地,例如在融合实现中,设备730(i)请求HTML页面(840;3310),(ii)确定相应的VXML页面(820;3330),(iii)请求相应的VXML页面(830;3320),(iv)在接收到HTML页面之后提供请求的HTML页面(见850;3340),并且(v)在访问VXML页面之后提供相应的VXML页面(见860;3350)。
相似地,处理3300的不同操作也可以由早前说明的服务器推送、浏览器拉取、语音中断监听器或无输入标签实现中任何一个中的一个或多个部件执行。
参照图34,用于以不同模态提供更新的数据的处理3400包含使用第一模态提供内容(3410)。处理3400还包含使用第二模态提供该内容(3420),并且接收响应于提供内容的输入,其中输入是从第一模态被接收的(3430)。处理3400包含响应于接收该输入自动使用第一模态提供新的内容,该新内容是根据接收到的输入确定的(2270)。响应于从第一模态接收输入,新的内容被自动使用第二模态提供(3450)。
与说明处理3100和3300的操作时相比,上述对处理3400中的操作的说明以略为不同的方式使用了术语“内容”。一般地,“内容”还是指被提供给用户的信息或者用户可能搜索的信息,例如从网页显示的信息。但是,处理3400仅仅指被使用两个模态同时提供的重叠的内容。
各种设备中的每一个的实现,移动的或非移动的,都可以被用于举例说明处理3400。例如,考虑系统3200,(i)移动设备3210可以呈现HTML页面(3410),(ii)浏览器3216可以通知语音网关3220被呈现的HTML页面,(iii)语音网关3220可以请求相应的VXML页面,(iv)移动设备3210可以呈现相应的VXML页面(3420),(v)移动设备3210可以在浏览器3216接收请求新HTML页面的输入笔输入(3430),(vi)移动设备3210可以呈现新的HTML页面(2270),(vii)浏览器3216可以通知语音网关3220呈现的新的HTML页面,(viii)语音网关3220可以请求相应的新的VXML页面,并且(ix)移动设备3210可以呈现相应的VXML页面(3450)。
附加实现和变化再次参照图27的系统2700,如图所示,实现可以包含多个移动设备2710和2730,多个语音网关2720和2740,和/或多个网络服务器2750和2760。实现还可以包含多个消息处理器。此外,取决于实现,部件之间的连接可以变化。例如,语音网关可以支持多个移动设备(和用户),消息处理器可以专用于部件的子集,并且网络服务器和其它部件可以直接连接(物理的或逻辑的)到其它部件,或者可以共享总线或其它通信介质。通信介质可以包含例如有线的、无线的、光学的和其它介质。
实现还可以包含使得多个用户与一个或多个同步的模态交互,并且这些模态可以在单一设备或不同的设备提供信息。在一个实现中,两个用户彼此相距较远并且使用不用的设备,每个设备支持至少一种模态(有可能在每个设备上相同)。每个用户可以响应在用户的一个或多个各个设备上提供的信息,从而改动随后在两个用户的设备上提供的信息。在另一个实现中,用户中的一个没有能力或权限响应所提供的数据,但是能够观察或监视该数据。当观察的用户是管理人而其它用户是雇员时,或者当观察的用户是培训生而其它用户是培训员时(或相反时),这样的实现是有用的。在另一个实现中,每个用户有不同的模态,允许例如管理人或培训员仅使用语音响应数据,而雇员或培训生仅使用浏览器接口响应。
移动设备2710和2730或其它设备不需要使用VoIP客户2727和2734与语音网关通信。在一个实现中,设备执行设备上的特征提取(featureextraction),并将结果数据传送给语音网关。特征提取可以由构成特征提取单元的一个或多个部件执行。被传送的数据可以通过IP连接、HTTP连接等传送,并且语音网关可以使用适当的语法执行识别处理。通过执行特征提取,而不是直接发送语音,设备减小了设备和语音网关之间所需的带宽,从而这一实现可以有效地利用低带宽通信链接。
再次参照图30的系统3000,在不同的实现中,防火墙3010的功能可以由例如代理、网关或另一个中介执行。在不同的结构中,实现可以使用多个中介。
一个实现可以包含任何数目的模态,并且模态的数目可以是例如固定的、可变但确定的、或者可变且未知的。在系统中模态的数目可以是预先固定的,例如,明确地设计为支持移动设备使用两种模态利用浏览器和语音通信。通过例如使得系统询问用户将要使用的模态的数目,在移动设备的初始连接期间或者启动期间,模态的数目也可以是可变但确定的。
模态的数目也可以是可变且未知的。例如,每个连接的或启动的模态网关可以检测IP地址或用户ID,并在适当的消息处理器上预订唯一消息通道。预订之后,每个模态网关都可以接收所有发布的消息,每个消息(i)指定例如已经向其提供新的数据的一个模态,并且(ii)提供允许其它模态同步的信息。在服务器发布消息的实现中,当每个模态网关同步时,新的对话可以与唯一消息通道关联。
在包含多个服务器的实现中,例如第一服务器可以向第二服务器提供信息以帮助对话的关联。可以使服务器能够提供多模式同步服务和标准单模式服务。
在包含多个消息处理器的实现中,发布同步消息的部件可以在所有消息处理器上发布。或者,发布的部件可以彼此通信,以保证在所有有效模态网关向其预订的消息处理器上发布消息。
上述实现和特性可以被用于使得包含了导航命令和/或非导航命令的数据同步。提供用于非导航命令的相应的数据可以包含例如使得部件输入文本、改变首选项或者以另一个模态提供焦点。
各种模态的例子包含用于输入的语音、输入笔、键盘/小键盘、按钮、鼠标和触摸,以及用于输出的视觉、听觉、触觉(包含振动)、压力、温度和味道。第一模态可以被定义为包含语音输入和听觉输出,并且第二模态可以被定义为包含手动输入和视觉及听觉输出。模态也可以被限定为或者输入或者输出。
各种模态的接口可以包含例如直接或间接与用户交互的部件。直接交互部件可以包含例如前面所说明的扬声器。间接交互部件可以包含例如与扬声器通信的VoIP客户。
各种实现自动执行一个或多个操作、功能或特征。自动是指执行基本上不需要人工干预,即,以基本非交互的方式执行。自动处理的例子包含由人工启动并随后其自己运行,或可能要求用户周期性输入的处理。自动实现可以使用电子、光学、机械或其它技术。
图35是多模式仓库系统3500的方框图。在图35中,仓库3502包含第一位置3504、第二位置3506和第三位置3508,在每个位置工人3510和经理3512可以执行各种任务。更一般地,应该理解,仓库3502代表用于以可访问、成本有效的方式存储用于销售的大量产品的一个或多个仓库。例如,仓库3502可以代表用于履行直接将存储的货物运送给顾客的直接邮购订单的场所。仓库3502还可以代表用于向诸如例如杂货铺的零售渠道提供存货的场所。仓库3502还可以代表实际的购物地点,即,顾客可以直接选取产品以购买的地点。在这一上下文关系中,位置3504、3506和3508代表在仓库3502中的具体位置,在这些位置一个或多个产品被放置在货架上或被另外地存储,并且下面将利用这些举例说明多模式仓库系统3500的具体功能。
在图35中,包含服务器系统3514的企业系统经由网络3516与移动计算设备3515通信。服务器系统2314包含存货管理系统,其存储并处理有关存货清单中的货品的信息。服务器系统3514可以是例如孤立的系统或较大的商业支持系统的一部分,并且可以访问(经由网络3516)存储存货清单信息的内部数据库3517和可以存储财务信息(例如信用卡信息)的外部数据库3518两者。虽然出于简明考虑没有示出,但是对内部数据库3517和外部数据库3518的访问可以以诸如例如数据库管理系统和/或数据库服务器的各种部件作为中间媒介。
位置3504、3506和3508和/或相关的存储容器可以与不同的货品类型关联。服务器系统3514可以将货品的存储位置与一个位置和/或存储容器相关联。结果,服务器系统3514可以向工人3510或经理3512提供例如对如何选择执行仓库任务的最佳通道的建议。
例如,服务器系统3514可以向移动计算设备3515提供关于需要从存储区域选择的货品的信息。这一信息可以包含货品列表中需要被选择的一个或多个条目。该条目可以包含将要选择的货品的类型(例如,1/4英寸菲利普头螺丝起子)、货品的数量(例如,25)、货品的位置(即,存放位置)和货品的识别码。还可以包含诸如具体的货品处理指令的其它信息。
诸如仓库3502的仓库经常非常大,使得能够以成本有效的方式存储大量产品。但是,当工人3510例如为了向顾客装送特定货品而试图以快速且成本有效的方式发现或存取特定货品或特定类型的货品时,这种大型仓库通常会给工人3510带来困难。结果,工人3510可能花费没有产出的时间来通过长长的通道并搜索某个货品类型。
此外,仓库3502的规模和复杂度会使经理3512很难准确地维持对存货的正确计数。特别是可能出现这样的情况,即工人3510未能准确地记录他或她的行为的结果;例如未能正确地记录从货架上选取(或添加到架子上)的货品数目。即使工人3510正确地记录了他或她的行为,这一信息也可能没有正确地或快速地在存货清单数据库3517中得到反映。
在选择、添加或计数货品时需要工人3510使用他或她的手时会加剧这些困难,即,工人3510很难在货架上存取货品并同时实施某些类型的货品记录/追踪系统。在这方面虽然某些类型的语音识别系统可以有所帮助,但是需要这些系统快速并且准确,即便如此,典型的仓库噪声可能致使这种系统(暂时地)不可行,从而使得这种系统在这方面受到限制。
出于上面的考虑,仓库系统3500允许工人3510多模式访问仓库和/或存货清单数据,并且仓库系统3500在可能且可行时使仓库功能自动化。下面将参照仓库3502的位置3504、3506和3508详细说明这些多模式技术和能力以及相关的自动化功能的例子。
例如,在第一位置3504,工人3510可以使用搬运箱3520从货架上收集(collect)或“拣选”第一货品3522。移动计算设备3515可以是诸如个人数字助理(“PDA”)3526的便携式设备,它足够小,以致能够被用户携带而不必占用用户的任何一只手(例如,可以挂在用户的皮带上)。PDA3526可以从企业系统3514接收货品条目。在一个实现中,可以一次下载所有货品条目,并在PDA3526的存储器中存储为“拣选列表”(即,将要选择或拣选的货品的列表)。拣选列表可以按照与货品在存储区域中的位置相关联的预定顺序列出货品条目。例如,货品条目的顺序可以符合货品选择顺序,该货品选择顺序使用户在该存储区域拣选货品时选择的路线的效率最优化。
或者,可以将拣选列表存储在服务器系统3514中,并且可以每次从服务器系统3514向PDA3526下载一个货品条目。在这种情况下,在处理完当前货品条目(即,已经拣选了对应该条目的货品)之前不会访问下一个货品条目。也可以按照与货品在存储区域中的位置相关联的预定顺序一次一个条目地将货品条目提供给PDA3526。
还可以通过读取第一货品3522上的RFID标签3528来访问存货清单信息。更具体地,工人3510可以通过与“智能”货架3530交互来访问关于第一货品3522的信息,其中RFID标签3532、RFID读取器3533和条形码3534使得货架3530智能。例如,智能货架3530可以使用RFID读取器3533检测货品3522缺失。在涉及高价值货品的情形下,对货品3522缺失的检测会很有用。例如,工人3510可以询问服务器系统3514可能放错的货品的位置。智能货架可以被用于实现存货清单自动维护系统。并且,代替(或一起)使用RFID,可以使用诸如例如基于重量的传感器或图像检测系统的其它传感器来实现智能货架3530。
使用上述技术和下面将要更详细讨论的技术,工人3510可以在收集、计数或分配货品时在整个仓库3502中有效地移动。这些行为的结果可以被迅速而准确地报告给服务器系统3514,使得存货清单信息准确并且是最新的。
在另一个例子中,在第二位置3506,在此处称为“存入”的处理中,工人3510可以将第二货品3536放置到货柜3538(或某些其它的存储位置,例如货架)中。工人可以使用安装的屏幕3540从服务器系统3514接收关于被存入的货品的信息,其中这一信息可以包含例如关于该商品的位置和数量的信息。位置信息可以以诸如例如地图的可视位置信息的形式显示。再一次,工人3510也可以使用PDA3526在执行存入功能的同时访问或输入信息。这样,可以以有效的方式在整个仓库中分配货品。
在第三个例子中,在第三位置3508经理3512可以计数货品3542或获取“存货清单”。经理3512可以使用PDA3526或安装的屏幕3540经由服务器系统3514更新内部仓库数据库3517。经理3512也可以从服务器系统3514接收对如何管理存货清单的指导。例如,服务器系统3514可以指示经理3512对哪个货品计数和/或按什么顺序计数。
上述用于允许多模式能力的技术可以被实现为刚刚所说明的拣选、存入或计数技术。例如,服务器系统3514可以包含服务器3544和格式确定系统3546,它们通常代表例如图1的服务器系统110和同步控制器120。相似地,如例如在图7中所示的,格式确定系统可以在PDA3526中实现。这样,并且如下面将更详细地说明的,工人3510和/或经理3512可以具有同时的对不同方式的输入/输出的访问,从而提高了其职责的容易程度和效率。
例如,在拣选的情况中,工人3510可以使用语音识别功能通知服务器系统3514工人当前的位置或工作状态。这一能力允许工人3510的双手保持空闲,以便选择放置到搬运箱3520中的货品。如果语音输入变成非优选的(例如,如果工人3510进入了仓库3502的噪声区域),则工人3510可以使用其它模态,如条形码3535或输入笔输入PDA3526。此外,工人3510可以在进入噪声的仓库区域之前从PDA3526打印订单。如下面所讨论的,在存入和计数的情况中也存在相似的优势。此外,上述用于允许多模态能力的技术可以在与仓库环境相关联的各种情况中实现。例如,这些技术可以在移动、运送和接收的情况中实现。
虽然图35是多模式仓库系统的方框图,但是其它实现可以包含较少、附加和/或不同方案(arrangement)的部件。例如,多模式仓库系统可以包含任何作为综合和通信平台运行的装置,以用于在包含例如RFID、条形码识别、语音识别、移动设备、移动操作系统、按光拣选(pick-to-light)系统和自动语音识别(ASR)的技术之间的通信。
图36是使得服务器系统3514能够与仓库环境中的移动或固定设备交互的处理3600的流程图。在图36中,移动或固定设备的用户被授权执行仓库职责(3604)。这一授权可以包含例如使得用户输入用户名和密码。服务器系统3514对这一信息进行核对。服务器系统3514随后向移动或固定设备提供多模式接口(3606)。例如,服务器可以使用户能够在移动设备用语音和输入笔输入,从而用户可以如下所述输入信息。
用户以所选择的方式,例如使用语音输入选择作业类型(3608)。作业类型可以包含例如选择用于存入的货品、拣选或计数(获取存货清单)。服务器系统3514随后使从用户接收到的信息与内部仓库数据库3516中的信息相对应(3610)。例如,如前面参照图1和图2在HTML和VXML的上下文关系中所说明的,可能有必要将对于在HTML中通过输入笔输入的方式接收到的作业类型的请求的响应与VXML格式的响应数据相关联,从而在用户随时间与服务器系统3514的通信处理中向用户提供使用输入笔和语音输入两个选项。
服务器3514随后提供一个位置,用户将在该位置执行与用户选择的作业类型相关的任务(3612)。服务器系统3514使用服务器系统3514中的格式确定系统3546经由多模式接口提供这一位置信息(3614),见图35。
例如,已经接收到目的是获取货品13522的拣选作业的HTML请求之后,服务器3544可以通过HTML和VXML输入关于第一位置3504的信息。通过使用输入笔或语音向PDA3526输入,或者通过扫描条形码3524,工人3510可以指示到达第一位置3504,并且,将货品3522放置进搬运箱3520可以通过标签RFID标签3532的方式识别。这样,更一般地,服务器系统3514通过用户从多个可选方式中选择的一种方式接受用户任务的结果(3616)。服务器系统3514更新相关的系统,例如在内部仓库数据库3517和外部数据库3518中(3618)。服务器系统3514随后在多模式接口中向用户输出该更新(3620)。例如,服务器系统3514可以更新数据库3516以反映货品3522已经被移走。
如果还需要另外的位置(3622),可以将下一个位置输出给工人3510。当然,应该理解,可以在第一次请求中向工人3510提供所有的位置,而不是循环地提供。
更一般地,可以在多模式体系结构的基础上建立仓库环境中的多种应用。这样一种体系结构可以包含早前说明的多种网关。如早前所说明的,可以使用格式确定系统3546使模态同步,和/或执行其不同功能的其它部件,可以位于移动设备、服务器或中间媒介中的一个或多个中。企业系统(上面所说明的)可以对应于一个服务器,并且数据可以如互联网应用中所通用的,在标签语言中格式化,诸如例如语音应用语言标签(Speech Application LanguageTags,SALT)或XHTML+语音(X+V),或采用其它格式。
多模式体系结构和使得多种方式的输入和输出同步的能力提供了一种框架,该框架很容易扩展到各种应用环境。例如在仓库环境中,能够用多种方式(例如显示和语音)向用户输出诸如拣选列表的“页面”,并且能够通过多种方式(例如输入笔、语音、条形码、标签RFID标签)输入关于该页上的项目的输入。不同方式的同步可以在例如一个或多个移动设备、企业系统、或中介发生。
在一个拣选实现的例子中,服务器3544上的网络应用被设计为向工人3510提供拣选列表和相关的指令,并接收来自工人3510的反馈。拣选列表的信息以HTML(超文本链接标记语言)的格式在PDA3526的浏览器上提供,以便使用该浏览器输入/输出。拣选列表的信息还以VXML(语音扩展标记语言)的格式在与移动设备通信的语音网关上提供,以便使用移动设备上的麦克风和扬声器输入/输出。该实现还提供在企业系统和RFID网关之间的通信。RFID网关接收来自货车上的RFID读取器的输入,例如指示已经被放置到货车上的搬运箱3520中的货品。网络应用周期性地询问RFID网关以确定什么货品已经被放置进搬运箱,从而更新拣选列表信息。随后网络应用向浏览器和语音网关提供更新的拣选列表,并且浏览器和语音网关从而向用户更新它们的输出。
在其它实现中,RFID网关可以向网络应用发送信息,而不是被询问。RFID网关可以从服务器接收拣选列表的信息并处理来自RFID读取器的输入,从而更新拣选列表,随后将更新的拣选列表发送回服务器。或者,RFID网关可以简单地将来自RFID读取器的输入发送给服务器应用(或某个中介),并依靠网络应用将来自RFID读取器的输入综合到拣选列表中。
RFID网关可以接收来自多个RFID读取器的输入。RFID网关或网络应用能够维护对于例如将给定读取器和给定搬运箱或货车相关联的响应性(responsibility)。这种关联可以在例如当用户被第一次给定拣选列表和搬运箱时的建立处理中建立。
诸如图27中的消息处理器2770的消息处理器允许或有助于在各种网关和服务器之间的通信。在多种环境和应用中用于输入和输出的模态可以相互交换。除了另外地指示,在一个环境和应用中可用的模态在其它的环境和应用中也可用。
从上面的说明中应该理解,仓库系统3500的多模式功能允许快速、方便和有效地实现工人3510的职责。并且,系统3500允许实时、准确地更新存货清单数据。在将在下面参照图37-42并结合例子更详细地讨论的多种作业类型和设备类型中,都将提供上述能力和优势。
图37示出了用于选择货品的系统3700。示出的第一货柜3710具有“货柜1”的标签3712和条形码3714。示出的第二货柜3720与货柜3710相邻,第二货柜3720具有“货柜2”的标签3722和条形码3724。
在第一货柜3710中是第一货品3730,第一货品3730具有“货品1”的标签3732和射频识别(“RFID”)标签3734。RFID标签3734包含发射机和如下面所解释的可选的接收机和/或处理能力。第一货柜还容纳了第二货品3740,第二货品3740具有“货品2”的标签3742和RFID标签3744。
系统3700包含搬运箱3750,搬运箱3750用于收集由例如诸如工人3510的人或机器(“拣选者”)选择的货品。搬运箱3750包含“搬运箱”的标签3752、条形码3754和诸如例如用于与RFID标签通信的RFID读取器的通信设备3756。一般来说,搬运箱3752可以包含诸如例如货车(包含可以用于零售环境的购物车)的任何用于运载货品的设备。
系统3700包含便携式数字助理(“PDA”)3760,PDA3760包含显示器3762。如上所述,PDA3760可以由工人3510使用,以提供对服务器系统3514的多模式访问,并且与RFID标签、条形码和上述其它标签和设备一起使用。
图38A示出了当第一货品3730被放置到搬运箱3750中时系统3700的几个要素。箭头3810指示第一货品3730被放置到搬运箱3750中。当第一货品3730距离搬运箱3750足够近时,RFID标签3734与设备3756通信以识别货品3730。RFID标签3734和设备3756之间的通信由虚线3820指示。
随后设备3756与RFID网关3830通信(下面将更完整地解释),该通信由虚线3840指示。如虚线3860所指示的,RFID网关3830与服务器3850通信,以便更新诸如例如拣选列表的记录。服务器3850如虚线3870所指示地与PDA3760通信,以便提供更新的记录。替代的实现可以如在这里所讨论的,将服务器的许多功能合并到PDA3760中。
在系统3700中,仓库拣选处理,或在仓库中放置/计数存货的处理(诸如在重新存入退回的货品或补充货品存货中),可以从经由语音提示拣选者(即,工人3510)行进到特定通道/货柜并拣选(或选择并计数)特定数量的货品开始。拣选者可以使用例如头戴式受话器、耳塞式耳机或其它设备操作,使双手空闲。拣选者可以通过读出货柜上的编号3712/3722或通过扫描货柜上的条形码标签3714/3724来确认当前位置。从PDA3760上或与特定的一个货柜或一组货柜相关联的悬垂显示器上拣选者可以读取指令(即,应该理解,上述多模式体系结构可以将同一用户的模态拆分到多个设备)。
PDA3760或显示器向拣选者提供更新的显示信息以应答拣选者的语音确认。例如,显示器可以显示拣选列表,并在拣选列表上拣选者已经拣选的货品项目旁边标识校验标记(checkmark),并且该校验标记可以是响应于拣选者语音确认该货品已经被拣选而自动在屏幕上设置的。对于确定哪个货品已经被拣选以及还有多少将要拣选,显示包含多于当前货品的拣选列表的一部分是有益的,这样可以减少拣选错误或需要重复指令的情况。拣选者可以使用例如输入笔/小键盘和/或语音进行确认。
诸如允许拣选者不使用双手操作或向拣选者提供整个拣选列表的更新的显示的各种特征可以允许拣选者操作更快速、出错更少以及需要重复的命令更少。
在一个/一些实现中,可以使用语音上“疏远的(distant)”单词执行确认。也就是说,拣选者可以不读出条形码编号,而是读出在语音上不同的单词(例如相关联的并且在货柜上所显示的单词)来增强相关的语音识别系统对其的识别。
图38B-38F示出了具体的拣选列表的实现。在图38B中,当看到第一屏幕3872时,工人3510可以听到“请输入您的用户名”。如果说出的用户名结果正确,会出现图38C所示的第二屏幕3874(可能还有诸如用输入笔/键盘输入密码的其它请求)。当到达屏幕3784时,工人3510可以听到“请扫描或输入搬运箱编号。”随后,工人3510可以使用移动设备3760上的条形码扫描器扫描搬运箱3750上的条形码标签3754。工人3510还可以使用输入笔或小键盘将搬运箱编号3752输入到信息栏3876,并随后说出或点击第一个“完成”按钮3878。在图38D所示的第三屏幕3880,工人3510可以听到“请行进到01通道、01分区、10货柜,”并在面对正确的货柜时回答“准备好了”或“我准备好了”。
设备3769可以输出口头命令“拣选5件”。工人3510随后拣选正确数量的该货品并说“完成”。为了确认拣选了正确的货品,工人3510可以读出相关货柜下方的检查数字或检查单词。对于邻近放置的货柜,这些数字/单词应该尽可能的在语音上彼此疏远,并且/或者这些数字/单词可以是随机的。它们也可以是有规律地变化的。随后,工人可以一行一行地按照传送订单向下继续。正在工作的一行货品项目可以被高亮显示(例如,通过颜色),并附加货品说明。工人3510也可以点击每一行3884货品项目左边一列的检查框3882以指示完成了相关的任务。
参照图38E,如果在工人3510拣选之后货柜应该变空,工人3510应该随后见到第四屏幕3886,工人3510可能被请求确认货柜变空这一情况。工人3510可以听到“该货柜空了么?”随后,如果是,则回答“是”,或者如果不是则回答“不是”,在这种情况下工人3510可能会被问到“观察到的数量是多少?”工人3510可以随后说出货柜中剩余的货品数目或用输入笔将其输入到消息栏3888,然后说出或点击第二个“完成”按钮3890以继续。在按照传送订单完成拣选货品之后,图38F所示的最后的屏幕3892示出每个被拣选的货品和作为可视确认的检查校验标记3894。工人3510可以随后说“结束”或点击“结束”按钮3894以进行下一个传送订单。
被拣选的货品或箱子可以使用RFID(射频识别)标签。如上所述,向其中放置货品的搬运箱或货车可以具有安装在其中的RFID读取器。在这种情况下,工人可以完全不需要通过说“完成”来确认。而是货品一旦被放置进搬运箱,搬运箱读取器就会报告发现的标签。在遇到这种情况时,这一应用验证拣选的货品正确并自动确认该行货品项目。
下面说明这种自动实现的摘要。特定地,工人3510拣选标签有诸如例如签RFID标签的自动标识芯片的货品。将拣选的货品放置到其中的搬运箱/箱子具有至少一个用于这些芯片的读取器。搬运箱还可以具有用于标识该搬运箱的条形码或RFID标签。一旦货品被放置到搬运箱/箱子中,读取器就向服务器确认这些货品,并且工人3510接收下一个指令集合。
在这一实现中,上述涉及图38D的交互如下。工人3510听到“请行进到01通道、01分区、10货柜。(暂停)拣选5件。”然后工人3510拣选正确数量的该货品并将它们放置到搬运箱。在自动确认之后,工人3510可能被指示到下一行货品。这一处理通过按照发送订单一行一行向下继续而重复。正在对其进行工作的一行货品可以在PDA3760上被例如以黄色高亮显示,并附加货品说明。如早前所解释的,在订单(拣选列表)中显示该行货品项目以及可选地附加行货品项目可以帮助工人3510保持对拣选列表的适应并记住当前指令。
一般地,RFID标签提供一种能够加速拣选处理并提高拣选处理的准确度的输入方式。一个实现包含语音、输入笔/显示器、(例如货柜或搬运箱的)条形码扫描、(例如产品、货柜、搬运箱的)RFID标签读取的方式。其它的方式也是可能的,并且这些方式中的每一个都可以与系统交互并更新系统。如果产品的RFID标签缺失,可以允许工人3510例如使用语音命令更新拣选列表。
RFID标签3734和设备3756之间可以按照多种协议通信,在下面的实现中将说明其中的几个协议。可以用不同的方法组合并扩大这些实现的特征以满足特定的系统要求。在一个实现中,RFID标签3734持续发射(正如RFID标签3744),设备3756响应最强的信号,并隐含地假设最强的信号属于在物理上距离设备3756最近的RFID标签。在另一个实现中,设备3756在响应之前要求最低接收功率,该最低接收功率指示标签RFID标签在特定距离内。
在另一个实现中,RFID标签在设备3756询问之前不会发射。在这种情况下,一个这样的标签被该询问充电并发射响应。设备3756可以使用多种协议询问RFID标签3734。例如,设备3756可以不断地发送定向的、低功率的和/或短程的询问信号,从而使得RFID标签3734接收到询问信号的概率不高,除非RFID标签3734处在最小距离之内或者被放置到搬运箱3750中。RFID标签3734可以被设计成响应于接收到询问信号而被唤醒,并还可以具有附加的处理能力。随着实现或货品的不同,RFID标签包含的信息可以变化,该信息包含例如单独的ID编号、货品说明、生产日期或其它生产信息、以及/或者储存信息。例如,在食品的货品上RFID标签可以包含ID编号、货品说明、生产日期或保存期限以及储存温度。
正如举例说明的,PDA3760与中央系统(服务器3850)通信并从其接收拣选列表。PDA3760可以经由无线网络在拣选列表已经被完全选择时上载信息并下载新的拣选列表。PDA3760可以使用有线网络达到相同的效果,并且可以出于效率的目的以批量方式下载/上载信息。
图37和38所示的条形码可以被用来达到多种设计目的。例如PDA3760可以包含条形码读取器,以便在第一货品3730被放置进搬运箱3750之前扫描条形码3727。然后PDA3760可以验证例如拣选者已经到达正确的箱柜。再例如,可以在存货清单核对处理中扫描条形码以指示哪个箱柜正在被盘点。再例如,在重新存入处理中可以扫描条形码以便指示货品被重新存入哪个箱柜。
可以在选择货品的处理中建立附加的错误捕捉处理。例如,可以指示拣选者拣选特定货品,如果设备3756检测到不同的货品被放置到搬运箱3750中,则PDA3760可以使用例如显示消息或可听见的指令向拣选者报警。
图39示出了与PDA3760相似的PDA3960,但是明显地,PDA3960包含允许以附加方式与例如拣选者、货柜或搬运箱通信的附加特征。PDA3960包含键盘3964和麦克风3965,分别允许拣选者通过触摸和语音输入信息。PDA3960允许可听见的输出信息。PDA3960包含用于扫描例如搬运箱、货柜或货品上的条形码的条形码扫描器3967。PDA3960包含用于与例如设备3756(直接地或间接地)通信或在其它实现中与RFID标签3734通信的通信设备3968。通信设备3968可以使用例如RF技术、红外线技术或硬连线连接(例如硬连线到搬运箱)。PDA3960还包含信用卡读取器3969,以便可以利用PDA3960完成财务交易。
在PDA3960中示出的各种通信模态可以被集成,以便当每一个模态被用于交互诸如例如拣选列表的信息时,该信息可以以多种输出模态更新,并可以以多种输入模态访问。如上面所提到的,这允许对信息的各种表示,并且还允许提高效率、减少工作流程错误。
例如,一个人可以通过扬声器3966接收用于指示拣选列表上的下一个货品的指令,并且显示器3962可以同时显示包含当前货品的若干货品。在这个人选择所要求的数量的当前货品时,显示器3962和/或扬声器3966能够提供对于还要选择该货品的剩余数量的更新。对于信息的双重表示能够允许提高效率并减少错误。
在另一个例子中,一个人可以选择使用在给定情况下最简单和/或最容易的方式做出响应。例如,这个人可以向麦克风讲出“下一项”以使得拣选列表前进到下一个货品,或者这个人可以使用输入笔在显示器3962上选择下一个货品。因此,提供了不使用双手的操作,这一操作并不是被要求的,这允许这个人在通话时也可以继续工作。再例如,一个人可以使用条形码扫描器3967扫描条形码,或者,例如如果很难到达条形码,这个人可以使用键盘3964敲入条形码或可以与显示器3962一起使用输入笔。这样,这个人就不会在不能访问条形码时被阻碍。
虽然在刚刚说明的实现中使用了RFID标签,但是其它实现可以使用诸如例如条形码的其它类型的自动标识设备。应当清楚,自动标识标签并不是一定以RF技术为基础。例如,标签可以被实现为利用或不利用标签和读取器之间的物理接触,通过光、磁、光磁或其它技术读取。此外,标签可以是无源的(不包含用于通信和数据发送的内部电源)或有源的;并且标签可以具有或不具有处理能力。标签通常是数字可识别的标签,意思是该标签具有这样的性质,即能够使用某些种类的读取器从该标签直接读取唯一的数字身份。一些数字可识别标签,诸如例如条形码或光学字符识别(OCR)标签,还可以被写或写入,并且在需要不依赖于通信网络即可获取信息的情况下还可以提供额外的优势。
可以使用任何可用的货品级(item-level)标签技术对货品标签唯一的标识符,例如,有源和无源的射频识别(“RFID”)标签、条形码和能够在分子(molecular)的基础上应用的标签。标签可以包含不同条目的信息,诸如例如所有者、价格、批号和储存温度。标签也可以包含从传感器获得的信息,诸如例如当前温度。标签还可以包含规则和其它信息,诸如例如用于规定如果相应货品的温度达到给定温度,有可能在持续特定时间长度后,则丢弃该货品的规则。
标签还可以包含用于相关货品的唯一的标识码。在一个实现中,唯一的标识码被分为几个域,包含组织域、产品分类域和序列号域。这样,存在仓库中相同货柜中的同一货品可能在组织域和产品分类域中具有相同的信息,但是具有不同的序列号。通过这种方法,标签不仅包含对于该标签(或其相关联的货品)不是唯一的基本信息,而且包含唯一标识该货品的信息。
标签读取器也可以是各种各样的,包含例如RFID读取器、条形码扫描器。聚合体标签读取器和传感器。标签读取器可以自动读取标签上的数据。这样的读取可以是例如连续的、周期性的扫描,或者是由例如邻近传感器触发的扫描。读取器可以放置在例如生产线上、存储位置中、运送和接收区域内、装载码头、卡车或其它的移动车辆内,并且也可以是手持无线连接设备。标签读取器,特别是RFID读取器,并且特别是在包含RFID读取器的上下文关系中的标签读取器的一些例子有(i)固定在仓库或商店的货架上,(ii)固定在货车上,(iii)手持的并且和PDA分离,(iv)集成到PDA。如上所述,RFID读取器可以是周期性的,例如仅仅以周期性时间间隔接通以收集数据,并且在其它时间关断。在后面的例子中将进一步说明这些例子中的几个。
参照图40A-B,搬运箱包含标识符编号4010,其唯一地标识搬运箱3750。第一货品3730包含条形码4020和标识符编号4030。条形码4020和标识符编号4030每一个都标识第一货品3730,但是不需要唯一地标识第一货品3730。例如,标识符编号4030可以是例如SKU。第一货柜3710包含唯一标识第一货柜3710的标识符编号4040(图40B)。
图40A-B示出了第一货品3730的移动。图40A示出了最初放置在搬运箱3750中时的第一货品3730,其中箭头4050指示随后将第一货品3730从搬运箱3750中移走。图40B包含箭头4060,其指示正在将第一货品3730放置进第一货柜3710。箭头4050和4060一起指示例如在存入操作中所发生的将第一货品3730从搬运箱3750移动到第一货柜3710。
服务器3850被示出在其它前面提到的部件之间与语音网关4070和消息处理器4080通信。语音网关4070在提供语音通信的处理中与PDA3960通信。消息处理器4080在不同网关两两之间的同步通信中与RFID网关3830、语音网关4070、PDA3960和服务器3850通信。应该基于上面说明的各种多模态体系结构理解在几个实现中消息处理器4080和各种网关的操作。
如早前所解释的,PDA3960包含与服务器3850通信并且例如通过服务器3850到达读卡器3756的通信设备3968。在其它的实现中,PDA3960可以直接与读卡器3756通信。通信设备3968可以通信地连接到PDA3960中的各种组件,诸如例如上面所说明的浏览器、浏览器适配器和基于IP的语音服务(“VoIP”)客户。通信设备可以包含例如各种通信接口、硬件和软件,以便与通信设备3968所连接到的各种组件适当地通信。
参照图41,示出了用于使用例如图40A-B的系统存入货品的处理4100。正如下面所指出的,处理4100的实现在执行输入和输出的操作中使用多种模态,(虽然可以使处理4100适合其它实现只使用单一模态)。下面对处理4100的说明一般假设使用了PDA3960,但是除PDA3960之外,或代替PDA3960也可以使用其它设备或系统。
处理4100包含将货品放入搬运箱3750,或放进货车或其它递送车辆(4110)。由例如个人或机器将该货品放入搬运箱3750。
处理4100包含将货品信息输入到PDA3960或者例如一些其它设备或系统(4210)。货品信息可以包含例如(i)诸如例如标签3732的货品的名称或说明;(ii)SKU、产品编号、或其它标识编号,诸如例如标识符编号4030;或者(iii)诸如例如条形码4020的由条形码所传达的信息。输入货品信息可以包含例如用户向麦克风3965说出货品信息,利用条形码扫描器3967扫描产品信息,以及使用键盘3964或输入笔与显示器3962一起操作输入货品信息。在另一个实现中,例如位于搬运箱3750上的RFID读取器从货品上的RFID标签接收货品信息。
用于向PDA3960输入货品信息的模态是在处理4100中使用的多种模态之一(4120)。如整个对处理4100的讨论中所指示的,在几种操作中可以使用不同的模态。处理4100的特征在于使用至少两种不同的模态,虽然如上所述,也可以使处理4100适合用于只使用一种模态。
处理4100可选择地包含在货品信息被输入之后从PDA3960输出货品信息(4130)。例如,在用户使用条形码扫描器3967扫描第一货品3730上的条形码4020(见图40A)之后,PDA3960可以在显示器3962或扬声器3966上输出货品信息,以便用户能够接收该货品信息。贯穿处理4100该货品信息都可以被显示,以便用户能够根据需要回来参考货品信息。
处理4100包含从PDA3960输出货品的存储位置(4140)。例如,可以在PDA3960上的数据库中保存存储位置,或者,响应于PDA3960向服务器3850发送货品信息,可以由PDA3960从服务器3850接收存储位置。PDA3960可以使用例如显示器3962、扬声器3966或打印机(未示出)向用户输出存储位置。
处理4100包含用户行进到存储位置(4150),以及可选择地,当用户已经到达存储位置并且准备好将货品放入存储位置中时,用户向PDA3960输入该存储位置(4160)。用户可以通过例如向麦克风3965讲出、在显示器3962上使用输入笔、使用键盘3964以及使用条形码扫描器3967输入存储位置。用户可以通过输入例如标签3712、条形码3727或标识符编号4040输入存储位置。输入存储位置可以用于例如核对用户是否位于正确的存储位置。
处理4100包含用户将货品从货车放入存储位置(4170)并向系统输入已经将货品放入存储位置(4180)。用户可以通过例如向麦克风3965说出短语“完成”、使用输入笔在显示器3962上选择标识了“已放置”的方框、使用键盘3964输入已放置的货品的编号、以及使用条形码扫描器3967扫描条形码3727来向系统提供该输入(4180)。在用户需要将多于一个的具体货品放置进存储位置的实现中,用户可以提供用于指示放置的数量的单一输入,或者在放置了该货品的每一件示例之后提供分离的输入。后者的例子包含这样的系统,在该系统中,第一货柜3710包含一个货柜RFID读取器,其接收来自放置进该货柜的每个货品的发送。货柜RFID读取器可以被设计为仅接收来自放置到第一货柜3710中的货品的发送。在这样的实现中,货柜RFID读取器可以通过RFID网关3830向服务器3850发送接收到的信息,并且服务器3850可以通过消息处理器4080将所有或部分信息传送到PDA3960。
处理4100的其它实现可以省略或修改上述操作中的某些操作以适应设计目标或系统体系结构。如在对处理4100的说明的开始所指出并且贯穿整个说明通过提供的各个例子所建议的,可以由另一个设备或系统代替或补充PDA3960。这样的另一个设备或系统可以包含例如RFID读取器、分离的条形码扫描器、语音输入-输出系统和服务器。
在一个实现中,系统包含搬运箱RFID读取器、货架RFID读取器、语音输入-输出系统和服务器,并且用户接收行进到一个具体货柜并将某货品放置进该货柜的语音指令。在这样的实现中,用户不需要提供确认输入,因为RFID读取器可以能够确定已经从货车移走的货品并确定已经被移走的货品被放置到哪个货柜。此外,在这样的实现中,系统可以实时检测放置错误并使用语音命令指示用户纠正错误。
如早前所指示的,处理4100能够被用于将货品存入商店里的货架,也可以被用于将货品存入仓库里的货柜。两个环境之间可能存在各种差异,诸如例如商店的货架中可能不存在条形码,并且可能需要修改处理4100的确切实现以适应这些差异。
在存入商店中的货架的一个实现中,商店工人使用头戴式受话器通过语音网关4070与服务器3850通信,而不是使用PDA3960。商店工人拣选将要重新存入的各种货品(4110),向头戴式受话器说出货品的SKU(4120),通过头戴式受话器接收指示将该货品存入哪个货架的语音命令(4140),走到指定货架(4150),将货品放置到该货架上(4170),并向头戴式受话器说出“完成”以通知服务器3850货品已经被放置到指定货架上(4180)。然后商店工人为需要被存入的每一件货品重复上述处理。
在另一个不使用PDA3960的实现中,商店工人将条形码扫描器与头戴式受话器一起使用。条形码扫描器与头戴式受话器分离,并且使用无线连接与服务器3850通信。商店工人通过与上述相同的方式执行存储处理,除了商店工人扫描每个货品上的条形码,而不是说出SKU。
参照图42,示出了使用例如图40A-40B的系统用于获取货品的存货清单的处理4200。处理4200可以被用于将货品放入仓库中的货柜中、商店中的货架上或一些其它环境。如下面所指出的,处理4200的实现使用多种模态执行输入和输出操作,但是可以使处理4200适合其它实现仅使用单一模态。下面对处理4200的说明一般假定使用PDA3960,但是同处理4100一样,除了PDA3960可以使用另一个设备或系统,或者使用另一个设备或系统代替PDA3960。
处理4200包含从PDA3960或者例如一些其它设备或系统输出存储位置(4210)。可以使用例如显示器3962或扬声器3966向用户输出存储位置。
用于从PDA3960输出存储位置的模态是处理4200中使用的多种模态之一(4210)。如在整个对处理4200的讨论中所指示的,在几个操作中可以使用不同的模态。处理4200的特征在于至少使用了两种不同的模态,虽然如上所述,可以使处理4200适合用于仅仅一种模态。
处理4200包含用户行进到存储位置(4220)并可选择地向PDA3960输入存储位置(4230)。用户可以出于例如使PDA3960(或服务器3850)核对用户是否位于正确的存储位置的目的输入存储位置。用户可以使用例如上述关于操作4160而说明的任何技术输入存储位置。
处理4200包含从PDA3960输出对在该存储位置将要计数的货品的指示(4240)。该指示可以包含例如(i)产品名称或说明,诸如例如标签3732,以及(ii)SKU、产品编号或其它标识编号,诸如例如标识符编号4030。在一个存储地点包含多种不同货品(例如产品)的情况下,PDA3960可以连续地引导用户一步步完成每种货品,提示用户依次确定每种货品的存货清单。实现还可以允许用户指示包含PDA3960没有输出的额外种类货品的存储位置。PDA3960可以使用例如上述关于操作4130或4270而描述的任何技术来输出指示。
处理4200包含用户对存储位置中的货品的存货计数(4250)并将货品的存货清单输入到PDA3960(4260)。用户可以通过例如向麦克风3965说出数量、使用输入笔在显示器3962上选择或另外输入数量、以及使用键盘3964输入数量来输入存货清单(4260)。
在某些实现中,输入货品的存货清单还用于核对用户是否已经对正确的货品进行了计数。例如,用户可以通过在显示在显示器3962上的存货清单列表中的具体货品名称或说明旁边输入数量来输入存货清单。再例如,用户可以使得PDA具有集成的RFID读取器,该RFID读取器能够被用于扫描整个货架并提供对在该货架上的产品的说明和对该货架上的产品的计数。手持RFID读取器(无论是否集成到PDA中)可以被用于执行贯穿本公开所描述的各种数据条目或输入操作中。
在其它实现中,可以使用一个独立的操作来核对用户是否正在对正确的货品计数。这一独立的操作可以包含例如上述关于操作4120所描述的任何技术。再例如,这样独立的操作还可以包含对于具有RFID标签的货品,从存储位置选择一个该货品并将该货品放置在RFID读取器的接收范围之内。
处理4200可以包含进一步的操作,诸如例如PDA3960(i)处理在操作4260中输入的存货清单数据,或者向服务器或远程计算机系统提供该存货清单数据,(ii)提供该存货清单是否与计算机记录一致的指示,和(iii)提供前进到该存储位置中的下一种货品或前进到下一个存储位置的指令。
某些仓库环境可以包含货架RFID读取器,在这种情况下,具有RFID标签的货品的存货清单可以被不断地使用实时数据更新。处理4200可以被用于这些环境以核对指示的一个或多个货品的存货清单。
可以执行各种存货调整(adjustment),包含例如对具有较少存货的货品下订单。存货调整可以独立于盘点处理而执行,并且可以基于例如存货清单的计算机记录和销售量及销售时间来执行。处理4200可以被用于保证存货清单的计算机记录正确,并且因此使重新订货处理是基于准确的信息的。
如前面所指示的,处理4200能够用于盘点商店里货架上的货品,也能够用于盘点仓库中货柜中的货品。在两种环境之间可能存在各种差异,诸如例如商店中的货架可能不具有条形码,并且可能需要修改处理4100的确切实现以适应这些差异。
在一个实现中,商店所有者可以通过头戴式受话器接收指示将要盘点哪个货架的货品的语音命令(4210)。商店工人可以行进到该指定货架(4220),扫描货架上的条形码(4230),通过头戴式受话器接收指示将要盘点的货品的语音命令(4240),对指定的货品计数(4250),并向头戴式受话器讲出正在进行的货品的计数(4260)。然后,商店工人可以接收指示在该货架上将要盘点的下一种货品的命令,或者指示将要盘点的货品的下一个货架的命令。
处理4200说明用于盘点一种货品的处理。如早前所指出的,如果重复处理4200,则可以获取例如包含多种货品的货架的存货清单、包含多个货架的区域的存货清单以及包含多个区域的仓库或商店的存货清单。因此,处理4200可以被用于例如执行每年对整个仓库的物理盘点,或用于执行一些形式的周期计数。周期计数可以被定义为任何定期重复的盘点(计数)程序,其每次计数少于整个物理盘点。能够使用或创造许多不同的周期计数,诸如例如每年对一件货品计数,或者对某些货品的计数比其它的更频繁。
然而另一个可以用于这里所说明的配置和系统的盘点处理称为“确定空位(shoot the hole)”处理。在“确定空位”处理中,一个人识别空货柜/货架并通知系统。这个人可以是例如拣选者、存入者、盘点者或在那里工作的另一个人。这个人可以使用条形码扫描器或其它模态告诉系统货柜是空的,并且用户接口可以适合接收该信息或提示这个人输入该信息。在这个人确定一个空的货柜之后,系统可以响应一条指示,该指示是例如需要下的重新进货的订单、已经下的重新进货的订单、或者对已经接收到并等待放入货柜的重新进货的盘点。“确定空位”盘点处理还称为“特别”周期计数,由于在每次计数中,少于整个物理存货清单被盘点,但是这些货品不需要以定期重复的方式计数。
图43是诸如例如商店4300的多模式销售系统的方框图。图43是图35所示的系统35的变化图;它是包含用于购买的产品的地点和用于购买产品的区域,诸如例如收款通道。商店4300包含或具有服务器系统3514,或者具有对服务器3514的访问权限。服务器系统3514经由网络3516连接到内部数据库3517。内部数据库3517可以存储例如产品信息和顾客信息。产品信息可以包含例如在商店4300的中的产品的位置和数量信息。服务器系统3514可以如关于图35所说明的与商店4300中的“智能”货架3530交互,以搜集(compile)产品和位置两者的信息。位置信息可以包含诸如例如地图的可见的位置信息,或者可以包含参考通道编号。产品信息也可以包含关于产品的细节以及关于产品如何彼此相关的信息,诸如例如产品之间的免费赠送(例如冰淇淋和冰淇淋的浇头)。
诸如由商店4300所代表的商店的零售环境的工作者一般都设法促进顾客可以发现、访问并购买用于销售的产品的便利性。顾客经历的困难和不便可能导致由顾客完成的销售额减少或者没有顾客完成的销售额。相反,向顾客提供快速方便的购物经历并向顾客提供充足的产品信息可以带来更高的销售额和顾客忠诚度。
例如,不能找到期望的产品,或不能访问到关于该产品的信息的顾客可能没有购买就离开商店。类似地,花费过长时间搜索产品或等待完成产品交易的顾客可能不会再次到这个商店购物。产品信息经常可以由商店操作者获得,而顾客在商店中一般不能访问。并且,即使在由操作者访问时,产品信息也应该是准确并且及时更新的,从而使得操作者可以保证及时地对产品订货、定价和存入。
下面将说明的实现通过向顾客提供信息,并提供关于顾客的信息来使得顾客的购物经历更加便利。具体地说,实现操作多个设备,并提供多模式的存储信息访问权限。结果,可以以更有效率的方式操作商店4300,从而增加销售额并提高顾客满意度和忠诚度。
在商店4300中,可以向顾客4302提供购物车4304,以便将产品放入购物车并在商店4300中运输。购物车4304可以是RFID使能的,并且可以包含RFID读取器4306和RFID发射机4308。结果,RFID网关3830可以从多个RFID使能的购物车4304接收输入。
然后,服务器系统3514可以使用从RFID网关3830接收到的这一输入追踪顾客4302在商店4300中的运动。例如,服务器系统3514可以察觉到RFID使能购物车4306的堵塞并通知商店工人3510打开新的收款通道。服务器系统3514还可以通过追踪RFID使能的购物车4306记录顾客“逗留”的货架或产品。随后可以分析所记录的顾客“逗留时间”,以得到“逗留时间”和相关产品的销售额之间的相互关系。服务器系统3514可以被用于例如提供关于RFID使能购物车4304的运动模式、货物的销售流量(即何时售出了什么)以及购买的货物组的可视信息。
工人3510和顾客4302之一或两者都可以使用移动设备和固定设备通过多模式访问产品信息和顾客信息,移动设备诸如例如实现为PDA3960的顾客PDA,固定设备诸如例如经理的入口(portal)4310或信息亭4312。或者,PDA3960可以被安装到购物车4304上。产品信息可以通过使用PDA3960上的通信设备3968或信息亭4312上的类似的通信设备4318扫描诸如例如RFID标签或条形码的货品4316上的标识符标签4314来访问。
经理的入口4310一般指被设计为使得能够高效率且成本有效地管理商店4300的、商店操作者可以获得的信息。入口4310可以是例如经理可以从企业级(enterprise-wide)服务器系统获得的互联网或互联网网站,该企业级服务器系统可以包含服务器系统3514,也可以是服务器系统3514的一部分。入口4310还可以代表本地存储的存货清单信息,该信息可以与其它存储位置共享,也可以不共享。更一般地,入口4310也可以被理解为代表商店经理或其它职员可以获得的、并且可能对购物顾客有帮助的任何信息。
信息亭4312应该被理解为代表任何可以公开获得的、可以被用于在本地向购物人群提供信息的计算设备。信息亭4312可以具有多种输入/输出方式,至少包含在这里讨论过的任何模态。信息亭4312可以包含具有多个分站(例如,显示器和I/O接口的多个集合)的单一站,或者可以包含遍布商店4300放置的多个计算设备。
图44的流程图示出了顾客4302可以访问存储在服务器系统3514上的产品信息的方法的例子。在顾客4302进入销售区域(4401)之后,顾客4302可以通过使用信息亭4312或PDA3960来访问产品信息(4402)。服务器系统3514可以提示顾客4302诸如例如通过输入用户名和密码来识别她自己(4404)。对顾客4302的识别使得服务器系统3514能够例如访问该顾客的购买历史(4406)。然后,可以询问顾客4302预定的购物列表(4408)。如果顾客4302有购物列表(4410),可以使用多种模态之一输入该列表(4412)。系统可以根据以前的购物历史提醒顾客所输入的列表中遗漏的产品(4414),例如“购买牛奶,因为上次你从我们这里购买牛奶是一周以前。”如果顾客4302没有购物列表(4416),则服务器系统3514可以随后显示以前的购物列表,并根据以前的购物列表给出建议(4414)。服务器3514可以随后利用服务器系统的对产品位置的知识生成购物列表,结果得到“最佳路线”购物列表(4420)。
在顾客4302在通道中移动时,可能需要访问来自服务器系统3514的产品信息。例如,用户可以如上所述使用PDA3960扫描货品4316,并询问(使用多种模态之一)服务器系统3514“这个产品怎么样?”随后服务器系统3514可以根据以前顾客的优先选择、其它顾客的优先选择、剩余库存清单和/或促销,在多模式接口输出建议。
顾客4302和工人3510可以使用PDA3960、经理的入口4310和/或信息亭4312访问诸如例如财务信息的顾客信息以及产品信息,以便购买产品。例如,顾客可以使用信息亭4312或PDA3960扫描标识符标签4314,以此来代替将实际的货品放置进购物车4304。服务器系统3514可以随后记录货品并修改付款系统,使其合并货品以便拣选和/或递送。如果顾客4302被授权,服务器系统3514可以如上所述访问财务信息,并且可以或者由工人3510或者由顾客4302完成财务交易。
图45是购买产品的处理的流程图。如下面所指出的,处理4500的实现从商店经理的入口4310请求产品信息,但是,处理4500可以适合其它实现,从其它信息源请求信息。下面对处理4500的说明一般假设手持设备为PDA3960,但是除了PDA3960,或者代替PDA3960,可以使用另一个设备或系统(包含信息亭4312)。
处理4500包含顾客进入销售区域,诸如例如商店、销售区、或者展览或会议厅(4510),并且可选择地包含帮助顾客的销售人员。向顾客4302或工人3510提供PDA3960(4520)。
处理4500包含向PDA3960输入产品标识符以便从商店经理的入口请求关于产品的产品信息(4530)。产品标识符可以包含,例如(i)诸如例如标签3742的货品说明或名称,(ii)存货单元(“SKU”),产品编号或其它标识编号,或者(iii)由标识符标签4314传达的信息。
输入产品标识符可以包含例如顾客4302向麦克风3965说出货品信息、利用条形码扫描器3967扫描货品信息以及使用键盘3964输入货品信息或使用输入笔操作显示器3962输入货品信息。在另一个实现中,RFID读取器从产品上的RFID标签接收货品信息,其中,RFID读取器4306位于例如购物车4304上。
输入产品标识符还可以包含例如对之前说明的各种用户接口技术的使用。例如,PDA3960或与PDA3960通信性连接的系统可以使用(i)多集群方法,(ii)多级、多参数层叠方法,以及(iii)动态语法,每一个都已经在之前说明。这些方法和技术可以被用于例如语音识别和数据库搜索。这些不同的方法和技术还可以被用于其它环境,诸如例如前面关于图35所说明的仓库环境。
商店经理的入口4310的特征在于具有访问大量各种产品的产品信息的权限。可访问的产品信息可以包含例如价格、存货清单、是否可得到、说明、促销、警告、保证书、评价和本分类中每个竞争者的信息。
处理4500包含从PDA3960输出产品信息(4540)。PDA3960可以例如从商店经理的入口4310接收请求的产品信息。其它实现可以从诸如例如服务器系统3515的远程计算机系统请求产品信息。输出产品信息可以包含例如使用扬声器3966或显示器3962。其它实现可以使用例如打印机,该打印机或者是安装在例如具有集成卷轴打印机的计算器中,或者是分立的并且通过例如无线连接连接。
处理4500可选择地包含向PDA3960输入对于附加产品信息的请求(4550),并且可选择地从PDA3960输出附加产品信息(4560)。输入请求可以包含例如在一个或多个屏幕中导航以请求所显示的产品的价格信息。这种定位可以包含例如使用输入笔或语音命令。
处理4500包含向PDA3960输入顾客4302的付款信息(4570)。可以使用例如通过麦克风3965的语音输入、键盘3964、以及对于显示器3962的输入笔或其它方式的输入来输入付款信息。其它实现可以使用附加方式的输入,诸如例如信用卡读取器。
还可以输入个人信息,有可能是作为付款信息的一部分。实现可以例如使用早前说明的技术和方法中的一种或多种。在一个允许语音输入的实现中,实现以“相反的”顺序——例如,州、然后邮编、然后城市、然后街道地址——提示输入地址信息,以实现较小的语法和较好的搜索结果。
处理4500包含完成向顾客4302销售该产品(4580)。完成销售可以包含多种操作,诸如例如与信用卡票据交换所通信以核实信用卡信息,并发出履行销售订单的命令。服务器系统3514可以使用网络3516连接到信用卡数据库3518。
处理4500的实现可以在执行各种输入和输出操作时使用多种模态。处理4500的实现可以不使用手持或移动设备执行,而是可以使用例如在销售区中的一个或多个固定位置的计算机,诸如例如信息亭4312,来执行。
在图46A-J中描述了处理4500的一个具体实现。一般来说,工人使用PDA3960快速浏览目录而不进行任何输入笔输入(如果需要,可以使用输入笔)。工人3510获取顾客4302的信息并创建顾客条目或更新已存在的顾客信息。工人3510使用语音或经由输入笔进行列表选择来创建销售订单。通过输入笔输入诸如信用卡号的信息(能够使用语音输入,但出于安全目的最好不大声讲出)。也可以使用条形码输入创建销售区中的货品的销售订单。条形码可以附加在货架上,例如条形码3534,或者条形码可以附加在个别产品上。
参照图46A,工人3510可以点击屏幕4612上的链接4602、4604、4606、4608和4610中的任何一个,或说出它们任何一个的名称来执行期望的操作。工人3510可能想要通过选择“销售目录”链接4602来搜索具体产品。则图46B所示的屏幕4614将出现。对于产品搜索有多种可能。
工人3510可以点击“浏览分类”链接4616或说出该短语来通过例如诸如“计算机”的一层目录来浏览。工人3510也可以使用输入笔直接向信息栏4618键入或者出声地说出期望的产品名称的一部分,诸如例如“平板”,从而工人3510将得到如图46C所示的屏幕4620。这里有三个下拉列表4622、4624和4626,工人3510可以通过使用输入笔从其中选出一个选择,或者工人可以讲出诸如例如下列的短语用于列表4622的“商标NEC”;用于列表4624的“尺寸15英寸”;和用于列表4626的“型号1550v”。其它的变化是可能的,例如,可以将下拉列表设计成适合一个产品线的特点。
工人可以输入完整的产品信息,诸如例如“NEC平板1550v”,以得到如图46D所示的屏幕4628。产品的图像4630可以被显示。工人3510可以选择“更多细节”链接4632来获取关于该货品的更多信息。或者,工人3510可以说出或选择“选择这个货品”链接4634,结果得到如图46E所示的屏幕4636。
工人3510可以说出或点击“浏览目录”链接4638来继续搜索其它产品,从而返回到屏幕4614。工人3510可以选择“创建销售订单”链接4640,从而来到如图46F所示的屏幕4642。工人3510可以说出或点击“新的顾客”链接4644,以得到如图46G所示的屏幕4646。工人3510可以向所有的信息栏说出或键入信息。
工人3510不需要定焦到一个信息栏以输入用于该信息栏的数据,虽然工人3510可以点击一个信息栏或说出一个信息栏的名称,诸如例如“名”4648来设置焦点。在一个实施例中,焦点按步骤自动在信息栏之间移动。在向信息栏输入信息时,工人3510可以讲出包含在一个大词汇表中的内容,或者工人3510可以敲入任何需要的内容。工人3510可以点击或说出“下一页”4650以到达图46H所示的屏幕4652。在工人3510向屏幕4652中的信息栏输入了剩余的信息之后,按钮“取消”4654或“保存”4656可以被选择。
在图46F所示的屏幕4642中,工人可能向信息栏4658说出或输入已存在的顾客的姓名,以便访问服务器系统3514的顾客信息。然后,工人3510可以选择配送类型4660和付款方法4662。工人3510可以通过选择“查看订单”4664来查看订单,结果得到图46I所示的屏幕4666。然后工人3510可以通过选择“继续”4668来继续订购,结果得到图46J所示的屏幕4670。工人3510随后可以检查该订单并完成交易。
虽然在上面的实现中工人3510完成了购买交易,但是替代的实现可以使得被授权的顾客单独完成交易。在任何一种情况下,都应该理解为PDA3960和相关功能使能“便携式收银台”,从而使得至少一些顾客可以不必通过付款通道。这对于相对较大的商店、或销售很难移动到收银台的大型货品的商店、或诸如园艺商店的包含户外部分的商店来说特别有优势。
如前面所解释的,本公开中所说明的各种动作应该被广义地解释。例如,接收可以包含存取或截取。再例如,设备可以包括单一部件或多个部件。
若干实现已经被说明。然而,应该理解可以进行各种修改。例如,公开的处理中的各种处理可以以不同地顺序执行或并行地执行,在公开的实现中的各种特征和部件可以被组合、删除、重新排列或补充。因此,其它的实现也在所附说明书的范畴之内。
权利要求
1.一种存货管理系统,包含电子设备,可操作用以从多种可用输入模态中选择的一种模态接收作业数据;存货清单数据库,可操作用以存储包含多种货品中每种货品的计数信息和位置信息的存货清单数据;其中,存货清单数据可以以多种格式访问,每种格式适合一种可用输入模态;格式确定系统,可操作用以输入采用接收的那种格式的存货清单数据,并确定相应的采用剩余格式的存货清单数据;以及服务器,可操作用以接收采用接收格式的作业数据,与格式确定系统通信以确定剩余的格式,并且响应于电子设备,以可用输入模态中任意一种模态向电子设备输出更新的存货清单数据,使得存货清单数据在执行存货管理任务期间被维护。
2.如权利要求1所述的系统,其中,所述作业数据与在仓库中由工人执行的任务相关,并且所述存货清单数据包含工人将要分配、选取或计数的多种货品的子集的列表。
3.如权利要求2所述的系统,其中,所述更新的存货清单数据包含列表的修正本,其基于作业数据并且反映正在执行任务的工人的动作。
4.如权利要求2所述的系统,其中,多种输入模态中的第一输入模态与自动识别信号相关联,其中,该自动识别信号用于标识与任务相关联的被分配、选取或计数的货品。
5.如权利要求4所述的系统包括容器,该容器由工人携带,并配备有用于读取自动识别信号的读取器。
6.如权利要求1所述的系统,其中,所述电子设备包含由工人在仓库中执行仓库管理任务期间携带的移动设备。
7.如权利要求1所述的系统,其中,所述电子设备包含与多种货品中的一种处于同一位置的固定设备。
8.如权利要求1所述的系统还包括第一网关,其与多种输入模态中的第一输入模态相关联,其中,该第一输入模态与多种格式中的第一格式相关联;以及第二网关,其与多种输入模态中的第二输入模态相关联,其中,该第二输入模态与多种格式中的第二格式相关联,其中,所述服务器还可操作用以通过第一网关和第二网关与电子设备通信,以便使得在服务器和电子设备之间的通信期间,作业数据、存货清单数据和更新的存货清单数据在第一输入模态和第二输入模态之间同步。
9.如权利要求8所述的系统,其中,所述第一输入模态与语音输入相关联,并且第一格式包含语音扩展标签语言VXML。
10.如权利要求9所述的系统,其中,所述第二输入模态与射频识别RFID信号输入相关联,并且第二网关包含RFID网关。
11.如权利要求9所述的系统,其中,所述第二输入模态与超文本链接标记语言HTML页面相关联,并且第二格式是HTML。
12.一种提供仓库管理的方法,该方法包括提供第一输入模态和第二输入模态;接收第一格式的作业数据,该第一格式与第一输入模态一致;响应于对第一数据的接收,生成第一格式的存货清单数据;使所述存货清单数据相对应于与第二输入模态一致的第二格式的类似的存货清单数据;以及分别以第一输入模态和第二输入模态输出所述存货清单数据和类似的存货清单数据,以作为响应。
13.如权利要求12所述的方法,其中,所述提供第一输入模态和第二输入模态包括将第一输入模态和第二输入模态传送到移动设备,该移动设备由正在执行有关所述作业数据的仓库工人所携带。
14.如权利要求12所述的方法,其中,所述提供第一输入模态和第二输入模态包括将第一输入模态提供给在仓库中执行与所述作业数据相关的任务的仓库工人所携带的移动设备,将第二输入模态提供给与存储在仓库中存储位置的货品处于同一位置的固定设备。
15.如权利要求14所述的方法,其中,所述固定设备包含与存储位置相关联的显示屏幕。
16.如权利要求14所述的方法,其中,所述固定设备包含与存储位置相关联的传感器。
17.如权利要求12所述的方法,其中,所述第一输入模态与由在仓库中的工人所携带的射频识别RFID发射机相关联。
18.如权利要求17所述的方法,其中,所述接收作业数据包含接收关于在仓库中由工人所选取或分配的货品的计数信息,该计数信息由RFID发射机从与所述货品相关联的标签RFID标签检测。
19.如权利要求12所述的方法,其中,所述接收作业数据包括从仓库工人接收与该仓库工人所执行的任务相关的信息。
20.如权利要求19所述的方法,其中,所述任务包括向仓库中的多个位置补充货品、从仓库中的多个位置分配货品或对仓库中多个位置的货品计数。
21.如权利要求20所述的方法,其中,所述生成存货清单数据包括生成仓库中的货品及其各自的位置的列表。
22.如权利要求21所述的方法,其中,所述生成存货清单数据包括当通过第一输入模态或第二输入模态从仓库工人接收作业数据时,根据该作业数据更新存货清单数据库和货品列表。
23.如权利要求12所述的方法,其中,所述第一输入模态与语音输入相关,并且所述第二输入模态与条形码输入和射频识别RFID输入中的一个相关。
24.一种提供用于更新存货清单的输入的方法,该方法包括在电子设备上接收识别信息,该识别信息标识将要被放置到存储位置或从存储位置选取的产品;以第一模态接收位置信息,该位置信息被在电子设备上接收,并且指示当前存取的存储位置;以第二模态接收放置输入,该放置输入被在电子设备上接收,并且指示产品已经被放置到当前存储位置或者已经被从当前存储位置选取;以及将所述放置输入提供给远程计算机系统,以用于更新所述产品的存货清单。
25.如权利要求24所述的方法还包括提供向其放置产品的存储位置的指示符。
26.如权利要求25所述的方法,其中所述指示符被使用语音输出或显示器输出中的一个或多个提供。
27.如权利要求24所述的方法还包括提供产品的更新的存货清单。
28.如权利要求24所述的方法,其中,所述放置输入包括多种货品被放置到当前存储位置的输入。
29.如权利要求28所述的方法,其中,所述多种货品被放置的输入包括被放置货品的数量的指示符。
30.如权利要求24所述的方法,其中,接收识别信息包括扫描条形码和接收语音输入中的一个或多个。
31.如权利要求24所述的方法,其中,接收放置输入是响应于所述产品发射信号的。
32.如权利要求31所述的方法,其中,所述信号包括自动识别信号。
33.如权利要求32所述的方法,其中,所述自动识别信号包括RFID信号。
34.如权利要求33所述的方法,其中,所述电子设备包括可通信地连接在一起的PDA和RFID读取器。
35.如权利要求34所述的方法,其中,所述RFID读取器向远程计算机系统提供放置输入。
36.如权利要求24所述的方法,其中,接收识别信息是响应于产品发射信号的。
37.如权利要求24所述的方法,其中,以第一模态接收位置信息包括或者通过语音输入或者通过扫描条形码接收位置信息。
38.如权利要求24所述的方法,其中,以第二模态接收放置输入包括从或者输入笔或者语音输入接收放置。
39.如权利要求24所述的方法,其中,所述电子设备包括PDA。
40.如权利要求39所述的方法,其中,所述电子设备还包括可通信地连接到所述PDA的语音输入-输出系统。
41.如权利要求40所述的方法,其中,所述语音输入-输出系统向远程计算机系统提供放置输入。
42.如权利要求24所述的方法,其中,所述电子设备包括可通信地连接在一起的语音输入-输出系统和RFID读取器。
43.一种提供用于更新存货清单的输入的方法,所述方法包括以第一模态在电子设备上接收位置信息,该位置信息指示将要被存取的当前存储位置;以第二模态在电子设备上接收存货清单输入,该存货清单输入指示存储在当前存储位置的产品的数量;以及向远程计算机系统提供所述存货清单输入,以用于更新该产品的存货清单。
44.如权利要求43所述的方法,还包括在电子设备上接收标识所述产品的识别信息。
45.如权利要求43所述的方法,其中,所述电子设备是移动设备。
46.如权利要求43所述的方法,其中,所述存储位置或者在商店里或者在仓库里。
47.一种系统,包括数据库,可操作用以存储零售数据,其中,所述零售数据能够以多种格式存取,每种格式适合多种输入模态中的一种。服务器,可操作用以输出用于在电子设备上显示的第一页面,该第一页面包含用于以从多种输入模态中选择的一种输入模态接收顾客请求的第一信息栏,其中,所述服务器可操作用以响应于顾客请求并根据零售数据确定销售信息;以及格式确定系统,可操作用于产生多种格式中每种格式的销售信息,其中,所述服务器还可操作用以输出用于在电子设备上显示的第二页面,该第二页面与多种格式的销售信息相关,并且包含用于响应输入模态中任意一种模态的销售信息的第二信息栏。
48.如权利要求47所述的系统,其中,所述零售数据包含有关数量、位置的产品信息或有关用于销售的产品的说明信息。
49.如权利要求48所述的系统,其中,所述顾客请求包含对于产品信息的请求,并且所述销售信息包含产品信息。
50.如权利要求49所述的系统,其中,所述销售信息包含对用来访问用于销售的产品的路线的指导。
51.如权利要求49所述的系统,其中,所述零售数据包含关于与所标识的顾客相关的购买历史的顾客信息,并且所述销售信息包含服务器根据购买历史生成的建议购买商品。
52.如权利要求49所述的系统,其中,所述销售信息包含价格信息,并且所述第二信息栏可操作用以接收财务信息,以便完成对用于销售的产品的购买。
53.如权利要求47所述的系统,其中,所述选择的输入模态与自动识别信号相关联。
54.如权利要求53所述的系统包含移动容器,该移动容器配备有用于读取自动识别信号的读取器和用于向服务器发射自动识别信号的发射机。
55.如权利要求54所述的系统,其中,所述服务器还可操作用以根据自动识别信号追踪移动容器相对于其它移动容器的位置。
56.如权利要求47所述的系统,其中,所述选择的输入模态与语音输入相关,并且所述第一和第二页面与语音扩展标记语言VXML相关。
57.如权利要求47所述的系统,其中,所述选择的输入模态与使用射频识别RFID的自动识别信号相关。
58.如权利要求47所述的系统,其中,所述选择的输入模态包含文本输入,并且所述第一和第二页面与超文本链接标记语言HTML相关联。
59.如权利要求47所述的系统,其中,所述电子设备包含移动设备、与用于销售的多种产品中的一种处于同一位置的固定设备、或信息亭。
60.一种方法,包括输出用于在电子设备上显示的第一页面,该第一页面包含用于接收第一顾客请求的第一信息栏;以所选择的输入模态接收第一顾客请求,其中,所选择的输入模态是从可用于向第一信息栏输入数据的多种输入模态中选出的;响应于顾客请求确定销售信息;将所述销售信息与多种输入模态中的每一种相关联;输出用于在电子设备上显示的第二页面,所述第二页面显示销售信息,并且包含用于以多种输入模态中的任何一种模态接收顾客请求的第二信息栏。
61.如权利要求60所述的方法,其中,接收第一顾客请求包括接收对于与用于销售的产品相关的产品信息的请求,包含价格、位置或说明信息。
62.如权利要求61所述的方法,包括接收第二顾客请求,其包含与财务交易信息相关的购买请求;以及根据财务交易信息完成对产品的销售。
63.如权利要求60所述的方法,包括从移动容器接收自动识别信号,该自动识别信号标识用于销售的产品,其中,所述移动容器配备有用于读取自动识别信号的读取器和用于发射自动识别信号的发射机。
64.如权利要求60所述的方法,其中,所述电子设备包含移动设备、与多种用于销售的产品中的一种处于同一位置的固定设备、或信息台。
65.如权利要求60所述的方法,其中,接收第一顾客请求包括接收语音输入,并且其中所述第一页面与语音扩展标记语言VXML相关联。
66.如权利要求60所述的方法,其中,接收第一顾客请求包括接收文本输入,并且其中所述第一页面与超文本链接标记语言HTML相关联。
67.如权利要求60所述的方法,其中,将销售信息与多种输入模态中的每一种输入模态相关联包括用多种格式中的每一种格式表示销售信息,其中,多种格式中的每一种格式与多种输入模态中的每一种输入模态相关联。
68.一种提供产品数据的方法,该方法包括在电子设备上以第一模态接收识别输入,该识别输入标识一个产品;在接收到所述识别输入之后,自动请求产品信息;从电子设备向用户提供所述产品信息;在电子设备上以第二模态接收附加输入,该附加输入请求附加产品信息;在接收所述附加输入之后,自动请求附加产品信息;以及从电子设备向用户提供附加产品信息。
69.如权利要求68所述的方法,其中,以第一模态接收识别输入包括扫描与产品相关联的条形码。
70.如权利要求68所述的方法,其中,向用户提供产品信息包括在本地显示器上显示产品信息。
71.如权利要求68所述的方法还包括从移动设备执行所述方法。
72.如权利要求68所述的方法,其中,所述产品信息包含说明信息、可用性信息、价格信息、保证信息、评论信息、促销信息和竞争者信息中的一个或多个。
73.如权利要求68所述的方法还包括接收顾客的付款信息;和向顾客售出产品。
74.如权利要求68所述的方法,其中,以第一和第二模态中的至少一种模态接收输入包括接收搜索信息串,并且所述方法还包括访问搜索信息串的至少第一部分;在第一搜索空间中搜索搜索信息串的第一部分的匹配项;根据搜索第一搜索空间的结果限制第二搜索空间;访问搜索信息串的至少第二部分;以及在限制的第二搜索空间中搜索搜索信息串的第二部分的匹配项。
75.如权利要求68所述的方法,其中,第一和第二模态中的至少一种模态包括语音模态,并且所述方法还包括访问以语音模态接收的语音输入,该语音输入包含至少第一部分和第二部分;执行对语音输入的第一部分的语音识别;使用搜索空间执行对第一部分和第二部分的组合的语音识别;以及根据执行对语音输入的第一部分的语音识别得到的结果限制搜索空间,其中,与在未限制的搜索空间上执行语音识别相比,限制搜索空间允许对组合的增强的语音识别。
76.如权利要求68所述的方法,其中,以第一和第二模态中的至少一种模态接收输入包括向用户提供选项的第一集合,该选项的第一集合与搜索信息串的第一参数相关,并且在一个页面中提供给用户;从用户接受第一输入,该第一输入是从选项的第一集合中选择的;根据所接受的第一输入限制选项的第二集合,该选项的第二集合与搜索信息串的第二参数相关;以及在所述页面中向用户提供选项的第二集合,以便向用户呈现提供选项的第一集合和选项的第二集合的单一页面。
77.如权利要求68所述的方法,其中,以第一和第二模态中的至少一种模态接收输入包括从多个独立的语法中激活第一语法,该第一语法用第一输入目录标识;从多个独立的语法中停用第二语法;输入与第一输入目录相关的口语表达的数据;以及将口语表达的数据与第一语法的存储数据比较。
全文摘要
本发明涉及一种存货管理系统,其包含电子设备,可操作用以以从多种可用输入模态中选择的一种模态接收作业数据,该作业数据与由工人(3510)在仓库(3502)中执行的诸如例如拣选、存入或计数的任务相关。该系统还包含存货清单数据库(3517),可操作用以存储包含多种货品中每种货品的计数信息和位置信息的存货清单数据;其中,存货清单数据可以以诸如例如语音扩展标记语言(VXML)或超文本链接标记语言(HTML)的多种格式访问,每种格式适合一种可用输入模态。该系统还包含格式确定系统(3546),可操作用以输入采用所接收的那种格式的存货清单数据,并确定相应的采用剩余格式的存货清单数据。该系统还包含服务器(3544),可操作用以接收采用接收格式的作业数据,与格式确定系统(3546)通信以确定剩余的格式,并且响应于电子设备,以可用输入模态中任意一种模态向电子设备输出更新的存货清单数据,使得存货清单数据在执行存货管理任务期间被维护。
文档编号G06Q30/00GK1788277SQ200480012962
公开日2006年6月14日 申请日期2004年3月12日 优先权日2003年3月14日
发明者萨米尔·雷亚尼, 翁捷, 龚立, 克里斯托弗·莱斯莫尔曼, 乔丹·安德森, 韦·奥尔, 朱-凯·克维克, 约翰·汉利 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1