技术领域
[0001] 本申请涉及用户界面方法和设备,且在一个方面中涉及用户界面方法和机器以使至少一个用户能够录入输入以执行命令以将机器从一个状态过渡到另一状态。
相关背景技术
[0002] 包括计算机、媒体装置和移动装置的电子处理装置普遍用在人们生活的几乎所有方面。用户能够与这些装置交互的舒适性是值得考虑的研究和商业效果的主题。使电子机器的用户界面对于用户更容易是至关重要的,且能够使非常强大和有用的设备在用户的眼中难以使用,甚至是无用的。
[0003] 例如,在网页浏览领域,用户有时有必要键入包括HTTP请求的文本字符以访问网页。HTTP的语法对许多用户来说是不直观的。文本的输入能够经受错误且因此,用户能够对不能准确访问到正确网页而感到不满。该问题已经通过使用预测文本建议被部分解决,如,通过启用Bing(微软公司的商标)来搜索对应于用户录入的字符的潜在的HTTP地址。然而,该功能需要字符被发送至服务器以执行可能结果的搜索。除了使用录入的字符之外,在任何环境下未执行关于用户可能想要找到的内容的搜索。
具体实施方式
[0013] 在以下具体实施方式中,参考附图,其构成具体实施方式的一部分,并且其中,通过可以实践发明主题的说明具体实施例示出。这些实施例被足够详细地描述以使本领域技术人员实践它们,并且将理解,可使用其他实施例,且在不偏离发明主题的范围的情况下可进行结构、逻辑和电气修改。发明主题的这种实施例在实际上公开了一个以上的情况下可在本文被术语“发明”单独和/或共同参考,该术语仅用于方便且不旨在将本申请的范围主动限制到任何单个发明或发明构思。
[0014] 因此,不以限制意义进行以下说明,且由随附权利要求限定发明主题的范围。
[0015] 在以下实施例中,用相同附图标记标出相同组件。
[0016] 在以下实施例中,数据被描述为存储在至少一个数据库中。术语数据库旨在包含用于存储和/或组织数据的任何数据结构(和/或多个数据结构的组合),包括但不限于,关系数据库(如,Oracle数据库、mySQL数据库等)、非关系数据库(如,NoSQL数据库等)、内存数据库、电子数据表,作为用于数据存储的逗号分隔值(CSV)文件、可扩展标记语言(XML)文件、文本(TXT)文件、平面文件、电子数据表文件、和/或任何其他广泛使用或专用的格式。数据库通常存储在一个或多个数据存储中。因此,本文(如,在本文的说明书和/或本申请的附图中)引用的每个数据库将被理解为存储在一个或多个数据存储中。“文件系统”可以控制如何存储和/或检索数据(例如,磁盘文件系统(如,FAT、NTFS、光盘等)、闪存文件系统、磁带文件系统、数据库文件系统、交易型文件系统、网络文件系统等)。为了简要,关于数据库在本文描述本公开。然而,本文公开的系统和技术可利用文件系统或数据库和文件系统的组合被实施。
[0017] 在以下实施例中,术语数据存储旨在包含任何计算机可读存储介质和/或装置(或数据存储介质和/或装置的集合)。数据存储的示例包括但不限于光盘(如,CD-ROM,DVD-ROM等)、磁盘(如,硬盘、软盘等)、存储器电路(如,固态驱动器、随机存取存储器(RAM)等)等。数据存储的另一示例是主机存储环境,其包括物理数据存储装置的集合,该物理数据存储装置可被远程访问且可根据需要被快速设置(通常称为“云”存储)。
[0018] 在一个实施例中,本文描述的功能或算法实施在硬件、软件或软件和硬件的组合中。软件包括存储在计算机可读介质(如,存储器或其他类型的存储装置)上的计算机可执行指令。进一步的,上述功能可对应于模块,其可以是软件、硬件、固件或其组合。多个功能根据需要在一个或多个模块中被执行,且上述实施例仅是示例。软件在数字信号处理器、ASIC、微处理器或其他类型的处理器上执行,这些处理器在系统上操作,如,个人计算机、服务器、路由器或能够处理数据的包括网络互连装置的其他装置。
[0019] 一些实施例利用相关控制和在模块之间且通过模块通信的数据信号实施在两个或更多个特定的互连的硬件模块或装置中的功能,或作为专用集成电路的一部分。因此,示例流程可应用于软件、固件和硬件的实施方式。
[0020] 广义的实施例提供一种机器和方法,其为至少一个用户或换句话说一组(一个或多个)用户提供使用存储的快捷键数据的用户界面。快捷键数据包括一组(一个或多个)用户的机器的相应多个状态的或一组(一个或多个)用户的多组状态的快捷键的多组标识符。快捷键的每个存储的标识符具有相应的存储的机器命令。用户使用的机器的当前状态被确定,且当从用户接收到输入时,确定输入是否与在快捷键数据中的快捷键的存储的标识符匹配。如果是,则执行对应于存储的标识符的存储的装置命令,一组一个或多个用户的存储的历史数据被更新且使用更新的历史数据更新快捷键数据。
[0021] 因此,机器能够存储历史数据以学习用于确定更新的快捷键数据的特定机器状态的用户输入以存储一组一个或多个用户可能想要录入当前机器状态中以过渡到下一机器状态的命令的适当的快捷键。因此,快捷键是用户和环境专用的。
[0022] 用户界面方法能够用来使用相同机器状态(如,使用相同应用程序、程序或处理)学习一组用户的输入。一组用户能够是任何数量,包括单个用户。一组用户(如,办公室或企业)能够使用用户界面方法。
[0023] 本发明可用于任何电子机器,其具有接收用户输入以将命令录入机器的需要。在可编程的机器(如,计算机)中,用户界面能够监测任何形式的用户输入,如,来自键盘、指示器装置、触屏输入、音频或语音输入、或手势输入。输入还能够包括通过扫描或拍摄物体或通过在网络上从图像源下载图像获得的图像。在输入是图像的情况下,输入与标识符的匹配能够包括将输入图像匹配到与命令或命令序列相关联的存储的图像。这种匹配能够是精确的或基于相似度水平。
[0024] 用户界面能够是软件,其不可知性在于其能够监测至由操作系统操作的任何应用程序的输入或甚至监测至操作系统本身的输入。因此该机器能够向(一个或多个)用户提供多模式界面。
[0025] 在一个机器从用户输入或从其他用户行为学习用户行为的情况下,该机器能够确定快捷键数据以存储用户可能想要录入当前机器状态中以过渡到下一机器状态的适当命令。该存储的快捷键数据能够被传递到具有相同机器状态的由相同用户使用的另一机器,使得快捷键数据可用来使该机器容易使用。
[0026] 在一个实施例中,如果来自用户的输入不匹配存储的标识符,则确定输入是否是命令,如果是,则执行命令,更新用户的存储的历史数据并更新使用更新的历史数据的快捷键数据。以此方式,在初始条件下,在没有从一组用户的之前输入学习的历史数据的情况下,用户的输入不能匹配任何快捷键标识符,且因此机器能够更新历史数据以开始学习过程。更新历史数据的学习过程能够继续,无论用户何时录入不是快捷键标识符的输入。更新历史数据,且更新的历史数据能够用来为该组用户提供更好建议的快捷键。
[0027] 快捷键标识符可以或可以不针对机器的当前状态输出至一组用户。例如,快捷键标识符能够可视输出在显示器上、由音频输出可听见地输出或作为振动输出。快捷键标识符的输出帮助一组用户进行快捷键的选择以录入命令。这避免了对用户记住快捷键的需要。然而,用户可以发现快捷键标识符的输出在当前状态下变成来自机器的输出的妨害和干扰。例如,当他们正在查看机器的当前状态的显示时,用户可能会认为作为按钮或光标的可选择的快捷键标识符的显示是一种视觉上的干扰。
[0028] 快捷键标识符可以以依赖于历史数据的顺序被输出。这能够允许用户更容易选择他们更频繁使用的快捷键。例如,在实施例中,是否显示快捷键标识符,历史数据能够进行一组用户比其他更频繁或更近地输入的命令的确定且因此是快捷键的确定,使得它们能够以列出的或有序的顺序更显著地或在最高位置处被显示。在音频输出的实施例中,更频繁使用的或更近地使用的命令的快捷键标识符能够先被可听见地输出以帮助一组用户更快进行快捷键标识符的音频选择/输入。
[0029] 存储的机器命令能够包括单个命令或待由机器按顺序执行的多个顺序命令。通过从历史数据学习用户输入的用户的重复模式,一系列命令的存储能够被确定为快捷键。然后,该模式能够作为命令顺序存储在单个快捷键中。
[0030] 在一个实施例中,一组用户的存储的快捷键数据和存储的历史数据能够与包括该组用户的多个用户的快捷键数据和历史数据的远程数据库同步。因此,在该实施例中,远程数据库能够存储多个用户的快捷键数据和历史数据,使得其能够被远程处理。例如,在一个实施例中,在同步中从远程数据库接收的历史数据包括用户偏好数据,其指示一组用户的偏好,且使用用户偏好数据来更新快捷键数据。用户偏好数据能够从收集自来自许多源的用户或关于其的数据(如,商人忠诚程序和商人交易数据)获取到。关于用户交易行为的数据能够被处理以确定用户偏好。
[0031] 机器能够是单个用户机器、单独的机器或多用户机器,如服务器,且能够针对机器的单组用户或多组用户存储快捷键数据。对于多组用户,多组历史数据和快捷键数据必须被存储:每组用户一个组。在一个实施例中,用户的存储的快捷键数据和存储的历史数据能够与包括机器的用户的多组用户的快捷键数据和历史数据的远程数据库同步。因此,在该实施例中,多用户机器能够存储多组用户(如,供应商或商人或多个企业的客户)的数据,且远程数据库能够存储多组用户(如,多个供应商或企业)的快捷键数据和历史数据,使得其能够被远程处理。例如,在一个实施例中,在同步中从远程数据库接收的历史数据包括用户偏好数据,其指示用户的偏好,且使用用户偏好数据来更新快捷键数据。用户偏好数据能够从收集自来自许多源的一组用户或关于其的数据(如,商人忠诚程序和商人交易数据)获取到。关于用户交易行为的数据能够被处理以确定用户偏好。实施例还包含金融工具(如,金钱或货币)的管理。能够学习用户的支付或花费偏好或习惯,从而为下一个机器状态提供机器状态的快捷键,如,允许用户进行支付。
[0032] 在一个实施例中,来自用户的输入能够包括在显示的文本入口框中的一个或多个文本字符,快捷键的存储的标识符能够包括多个文本字符,且相应的命令能够包括多个文本字符。为了确定输入是否与快捷键数据中的快捷键的存储的标识符匹配,输入的一个或多个文本字符与存储的标识符的多个文本字符中的一个或多个匹配。
[0033] 本发明的该实施例使发明能够用于用户界面中的文本框。当用户在文本框中录入字符时,字符与命令的文本形式的快捷键标识符比较,以基于机器的当前状态和用户的个人输入历史将建议的快捷键输出至命令。例如,当用户界面显示网页时,用户的历史将指示用户之前该网页上何时进行过某些输入,因此,快捷键数据利用用户更可能进行的输入的快捷键标识符来反应那些输入。
[0034] 在一个实施例中,用户界面能够用在电子交易(由相同申请人和发明人(代理参考11043PUSA)与本申请同日提交的题为“AN ELECTRONIC TRANSACTION METHOD AND APPARATUS(电子交易方法和设备)”的未决申请号中公开的方法,其内容在此全部并入)中。
[0035] 现在将参考附图描述具体实施例。
[0036] 将参考图1和图2描述第一实施例。图1示出由一组一个或多个用户使用的未连接到任何网络的装置100(单独的机器)。一组用户能够是任何数量,包括单个用户。使用相同机器状态(如,使用相同应用程序、程序或处理)的一组用户(如,办公室或企业)能够使用用户界面方法,使得一组用户中的一个可能想要以与该组用户中的任何其他成员相同方式将命令录入机器状态中。
[0037] 装置100能够包括任何类型的计算或处理机,如,个人计算机、笔记本电脑、平板电脑、个人备忘录、移动装置、智能手机、移动电话、视频播放器、电视、音频播放器、多媒体装置、个人数字助手等。
[0038] 提供处理器20以从程序代码存储器70加载程序代码21并使用工作易失性存储器30执行程序代码21。程序代码21执行本发明的一个实施例的功能性。其他程序代码能够以操作系统和应用程序的形式被加载,以接收用户直接输入的或通过输入根据一个实施例的命令的快捷键而输入的命令。
[0039] 用户界面5包括输入装置10和输出装置40。输入装置能够包括接收用户输入的任何硬件、软件或硬件和软件的组合(如,键盘、触摸屏、指示器装置(如,鼠标、跟踪球、触控板或笔装置))、识别来自用户的声音或语音的音频识别硬件和/或软件、手势识别输入硬件和/或软件等。输出装置能够包括输出包括快捷键标识符的信息给用户的任何硬件、软件或硬件和软件的组合,如,显示屏或音频扬声器。因此,用户界面5提供来自处理器20的输出给用户并提供来自用户的输入给处理器20。
[0040] 装置100还设置有数据存储器60以将快捷键数据存储在快捷键数据库61中且将历史数据存储在历史数据库62中。虽然在本实施例中将快捷键数据和历史数据描述为存储在数据库中,但是数据可以以任何方便的形式或数据结构被存储。
[0041] 一组一个或多个用户的历史数据包括由一组一个或多个用户使用的机器的一组状态中的每个的一组一个或多个用户的一组数据。对于机器的每个状态,一组一个或多个用户输入命令被存储以记录直接输入的或由于用户选择(如,点击显示的可选择的选项,如,界面中的超链接)输入的命令。以此方式,历史数据能够针对每组一个或多个用户记录一组输入命令,且针对由一组一个或多个用户使用的每个机器状态记录一组输入命令。
[0042] 在一个实施例中,历史数据还能够包括用户偏好数据,其指示用户的偏好。能够从分析用户输入并处理由用户录入的能够指示用户偏好的其他用户数据,得到用户偏好数据。偏好数据能够与记录的用户输入的历史数据一起用来确定对快捷键数据的更新。
[0043] 快捷键数据针对每个机器状态存储快捷键标识符和待由机器执行的一个或多个命令。如果存在多于一个命令,则命令将被顺序执行。快捷键标识符能够包括标签,用户能够使用该标签简单选择快捷键,如,1,2,3,4…或A,B,C,…。该标签能够自动分配给快捷键,或用户能够选择标签。标签使用户能够简单地通过输入标签(如2或D)而不是键入一些形式的文本串进行输入。快捷键输入还能够包括信息,当显示快捷键标识符用于选择,例如光标、图像、按钮等时,该信息显示给用户。该信息可帮助用户识别可用于选择作为快捷键的命令。
[0044] 替代地,快捷键标识符能够包括文本串,其对应于由用户录入作为输入的文本命令串,如,用于将网页加载到浏览器中的http输入命令,待加载到应用程序中或在文件系统中搜索的文件名称,或在操作系统中待执行的应用程序的名称。在此示例中,通过匹配用户键入的文本字符,能够实现用户的输入的匹配,以建议用户可能尝试基于之前类型的命令键入的潜在的命令。用户输入文本能够基于部分匹配与存储的快捷键标识符文本匹配,使得初始地识别多个可能匹配,用户能够从这些可能匹配中进行选择,但是在用户键入更多字符时这些匹配会减少,使得一些初始快捷键标识符文本匹配不再匹配,且作为用户的选项被移除。这是预测的文本的形式,但其是用户和环境专用的,因为其专用于用户和机器的当前状态,如,由用户使用的浏览器显示的网页,用户打开的文件,操作系统中的文件的打开的搜索窗,搜索引擎等。
[0045] 在本发明的实施例中,机器状态能够包括由机器的用户当前实例化的任何操作状态。在可编程装置中,状态能够包括在计算机程序的操作中的状态,如,在网页浏览器应用程序中的网页,在文字处理器应用程序中的文件,在电子数据表应用程序中的工作表,在email应用程序中的email,操作系统导航和搜索特征或任何搜索和检索应用程序。
[0046] 现在将参考图2的流程图描述一个实施例的操作。
[0047] 在步骤S10中,确定机器的当前状态,如,浏览器中打开的当前网页,文字处理器中打开的当前文件,email应用程序中打开的当前email等。基于当前机器状态,在步骤S11中,过程确定是否存在任何可用的存储的快捷键。在一个实施例中,可用的快捷键能够仅包括最近创建或使用的快捷键。长时间未使用的快捷键可能不与用户相关且能够因此被删除以避免为用户呈现过期的旧快捷键。如果在步骤S11中可用的快捷键被确定为是可用的,则在步骤S16中,过程确定快捷键是否被输出给用户以供选择。如果快捷键的输出未由用户启用或禁止(例如,因为他们已经熟悉可用快捷键且不需要或不想输出它们(如,显示)),则过程进行到步骤S17以等待用户的输入。如果在步骤S16中快捷键被确定为被输出,则过程进行到步骤S15以向用户输出快捷键选项,如,显示具有快捷键标识符和可选地具有一些快捷键信息的快捷键光标、按钮或图像以帮助用户进行快捷键选择。然后过程进行到步骤S17以等待用户的输入。
[0048] 如果在步骤S11中确定不存在可用的最新的快捷键,则执行快捷键确定过程S30,包括在步骤S12中查找用户的历史数据,在步骤S13中使用历史数据确定当前机器状态的用户的快捷键和在步骤S14中存储快捷键数据。在步骤S15中,存储的快捷键然后输出给用户,如,显示具有快捷键标识符和可选地具有一些快捷键信息的快捷键光标、按钮或图像以帮助用户进行快捷键选择。然后过程进行到步骤S17以等待用户的输入。
[0049] 当在步骤S17中从用户接收到输入时,来自用户的输入在步骤S18中用来查找当前状态的快捷键以确定待由机器执行的一个或多个命令。来自用户的输入能够是快捷键标识符的输入,如,通过快捷键选项的选择的文本输入或声音输入,由此,该选择被转换成用户输入以与当前机器状态的快捷键标识符进行比较。
[0050] 在步骤S19中,确定来自用户的输入是否与快捷键匹配。如果一组一个或多个用户之前在当前机器状态处尚未进行过输入,使得其不在用于形成快捷键的历史数据中,则在步骤S23中,过程确定输入是命令输入还是仅是一些其他形式的输入,如,未使机器过渡到另一状态的至文件中的文本的输入,其他输入字段的输入。例如,在网页形式下,数据能够被录入而其未发送至服务器,因此录入的文本数据不是命令。当其发送至服务器时,其是命令,因为将网页通常将被更新。如果在步骤S23中确定用户输入不是命令,则过程返回到步骤S17以等待用户输入。
[0051] 如果在步骤S23中确定输入是命令,则过程移动至步骤S24以执行命令以将机器过渡到下一状态。然后在步骤S21中,利用命令更新之前机器状态的历史数据以过渡到下一状态。在步骤S22中,更新的历史数据然后用来生成更新的快捷键,且过程然回到步骤S10以确定当前机器状态。
[0052] 如果在步骤S19中确定输入与快捷键不匹配,则在步骤S20中,执行快捷键的命令以令机器进行下一个状态。然后在步骤S21中,利用快捷键的选择来更新之前机器状态的历史数据以过渡到下一状态。在步骤S22中,更新的历史数据然后用来生成更新的快捷键,且过程然回到步骤S10以确定当前机器状态。
[0053] 在更新历史数据时,当用户录入新命令时,能够创建新的快捷键。当用户选择之前创建的快捷键时,用户的快捷键的选择能够被记录在数据中,使得快捷键的关联能够增加,且快捷键被指示为是最近的而不是旧的。之前创建的快捷键的选择能够用来排列或排序用于输出至一组一个或多个用户的快捷键,使得最相关的快捷键被输出且根据关联性(即,多久选择一次和多新)对它们进行排序。
[0054] 虽然在图2中示出每当不存在可用的最新的快捷键时,执行快捷键确定过程S30,但在一个实施例中,能够在单独的或‘离线’过程中,通过处理每个机器状态的历史数据,针对一组一个或多个用户的每个机器状态来执行快捷键确定过程S30的步骤。在历史数据包括用户偏好数据的情况下,即使一组用户中的任何用户尚未进行使机器状态进行过渡的输入,在一个实施例中,能够仅基于例如从使用机器的用户行为获得的或从用户输入参数获得的用户偏好数据来确定一个或多个快捷键。
[0055] 图3示出本发明的另一实施例,其中,提供多组一个或多个用户的快捷键和历史数据的远程数据库。
[0056] 在此实施例中,用户的装置1包括参考图1示出和描述的组件。用户的装置1以与参考图2的流程图描述的相同方式操作。此外,用户的装置1包括网络接口50以将用户的装置1通过网络(如,互联网80)连接到远程服务器系统90。服务器系统90连接到或设置有数据存储器95,在存储器95中存储了全球快捷键数据库96和全球历史数据库97。
[0057] 全球快捷键数据库96存储用户的装置1的一组一个或多个用户的快捷键和其他用户的装置的多个其他组的用户的快捷键。类似地,全球历史数据库97存储用户的装置1的一组用户的和其他用户的装置的多个其他组的用户的历史。在数据存储器95中存储的数据能够与在用户的装置中的数据存储器60中存储的数据同步。以此方式,在用户偏好数据包括在历史数据中的实施例中,在数据存储器95中存储的快捷键和历史能够反映用户偏好且能够发送到在用户的装置1上的数据存储器60。
[0058] 图4示出根据一个实施例的包括作为多用户机器的服务器的另一实施例。
[0059] 在此实施例中,服务器系统90包括网页服务器92,其通过网络(如,互联网80)提供对操作相应网页浏览器2的用户的装置1的访问。服务器系统90还执行应用程序服务器91并访问存储全球快捷键数据库96和全球历史数据库97的数据存储器95。
[0060] 在此实施例中,针对通过访问包括在全球快捷键数据库96中的服务器系统90的状态的机器状态的用户专用的一组数据来访问网页服务器92的多个用户中的每个用户,服务器系统90根据图2的流程图操作。
[0061] 图5a和图5b示出根据一个实施例的图4的服务器系统的用户界面输出。在此实施例中,网页服务器92用于将网页呈现在每个用户的装置1的浏览器2中。用户界面因此包括显示的网页400,其包括在标题区域401中的全球资源定位器(URL)文本录入框402。图5a中显示的网页包括搜索引擎网页(称为“超级网络搜索器”),且提供文本搜索输入框404以允许用户录入文本串作为搜索串以作为命令的一部分发送以进行网络搜索。在此实施例中,用户已经在URL文本录入框402或文本搜索输入框404中输入文本串“http://spee”(都示出在图5a中,但实际上用户将仅输入文本至框402和404之一)。由于用户输入文本,用户输入与快捷键的快捷键标识符匹配,且显示快捷键光标、窗口、下拉列表、按钮或图像403。所显示的快捷键403包括:
[0062] 快捷键标识符 命令
[0063] 1 快速商店网页的URL
[0064] 2 高速公路跟踪(Speedway track)网页的URL
[0065] 3 速度节约器网页的URL
[0066] 在此实施例中,在该网页(机器状态)上,用户仅进行了包括文本输入的用户输入,且因此能够通过输入之前录入和存储在历史中的文本串的初始字符来选择快捷键。
[0067] 快捷键403能够显示关于命令的图像或信息,如果快捷键403被选中,则将录入该命令,从而帮助用户使用快捷键来识别可用的命令录入选项。在此实施例中,标识符包括短的标记或标签,使得快捷键的选择能够通过以下中的任意一个进行:使用指示器装置、手势或触摸屏来选择快捷键403的显示的位置,使用键盘输入1,2或3,或使用语音识别说出1,2或3作为输入。
[0068] 图5b示出由于使用对图5a中的快捷键标签1的选择而显示的网页400a。
[0069] 在此实施例中,针对“快速商店”(电气商品的供应商或商人)显示网页400a。网页显示常规的超链接以打开各种产品类型的网页,如,照相机、笔记本电脑、电视或扬声器。在标题401中设置有URL文本框402以及快捷键403a。在此实施例中,在标题区域401中显示快捷键403a以使显示区域的剩余部分空闲且避免快捷键覆盖网页信息。
[0070] 所显示的快捷键403a包括:
[0071] 快捷键标识符 命令
[0072] 1 至笔记本电脑网页的URL链接
[0073] 2 用户直接进行关于在用户的购物篮中的具体照相机的供应商的结账的URL和连续命令
[0074] 3 至扬声器网页的URL链接
[0075] 因此,能够了解,在此实施例中,通过独立于用户的任何输入文本的标签来识别快捷键。在该机器状态下,用户之前已经进行了存储在快捷键中的命令的选择,且因此,能够仅通过选择标签选择快捷键。
[0076] 图6示出根据一个实施例的作为多用户机器的服务器,其使历史数据和快捷键数据与远程服务器同步。在此实施例中,每个供应商系统90A和90B能够包括如参考图4描述的服务器系统90。针对使用相应用户的装置1的网页浏览器2通过网络(如,互联网80)访问相应供应商服务器90A或90B的网络服务器92A或92B的每个用户,每个供应商服务器90A和90B基本上如图2的流程图描述的进行操作。每个供应商服务器系统90A和90B包括应用程序服务器91A和91B、存储相应供应商快捷键数据库96A和96B以及相应供应商历史数据库97A和97B的数据存储器95A和95B。在此实施例中,数据库96A,96B,97A和97B存储供应商的网站的多个用户的数据。
[0077] 第三方提供商服务器系统190通过互联网80连接到供应商服务器系统90A和90B。第三方提供商服务器系统190包括应用程序服务器191,其访问全球快捷键数据库196和全球历史数据库197。全球数据库196和197存储多个供应商服务器系统90A和90B的多个用户的数据。因此,以与图3的实施例的保持图1的多个用户的装置1的数据的数据存储器95类似的方式,在此实施例中,数据库196和197保持多个供应商服务器系统90A和90B的多组用户的数据。
[0078] 全球快捷键数据库196存储使用供应商服务器系统90A和90B的用户的装置1的用户的快捷键和使用其他供应商服务器系统的其他用户的装置的多个其他用户的快捷键。类似地,全球历史数据库197存储使用供应商服务器系统90A和90B的用户的装置1的用户的历史和使用其他供应商服务器系统的其他用户的装置的多个其他用户的历史。存储在数据库196和197中的数据能够与存储在供应商服务器系统90A和90B中的数据存储器95A和95B中的数据同步。以此方式,在用户偏好数据包括在历史数据中的实施例中,在数据库196和197中存储的快捷键和历史能够反映从多个供应商和其他源确定的用户偏好,且能够发送到在供应商服务器系统90A和90B上的数据存储器95A和95B。这允许供应商共享根据多个供应商数据确定的用户偏好数据,所述多个供应商数据可以包括由用户使用供应商服务器系统针对机器状态过渡而记录的历史数据。
[0079] 虽然已经参考包括由网络服务器服务的网页的机器状态描述实施例,但是机器状态能够包括在处理机中实施的任何过程步骤,用户能够进行至该处理机中的输入以进行至下一机器状态的过渡。例如,机器状态能够通过在任何软件应用程序(如,文件,电子数据表,email,操作系统导航或输入以及搜索和检索软件)的处理阶段表示。
[0080] 实施例提供作为图形选择或音频选择/输入的用户选择选项的输入的基于环境的选项以提供可预测的用户输入。
[0081] 在一个实施例中,当前机器状态能够是一组机器状态,如,具有共同参数的网页或其他界面显示。例如,网页能够滚动或缩放,且帧能够保持由用户录入的数据,如,名称和联系方式。然而,这种数据由网络浏览器处理且不发送至网络服务器,且因此,客户端装置的机器状态可在具有仅是网络服务器的单个网页服务步骤的共同参数的多个状态下操作。
[0082] 基础计算装置
[0083] 图7是示出基础计算装置600的框图,其中,可实施本发明的(一个或多个)示例实施例。计算装置600及其组件(包括其连接,关系和功能)意味着仅是示例性的而不意味着限制(一个或多个)示例实施例的实施方式。适于实施(一个或多个)示例实施例的其他计算装置可以具有不同组件,包括具有不同连接,关系和功能的组件。
[0084] 计算装置600可包括总线602或其他通信机制,以寻址主存储器606且在装置600的各种组件之间传递数据。
[0085] 计算装置600还可包括与总线602耦合的一个或多个硬件处理器604,以处理信息。硬件处理器604可以是通用微处理器、片上系统(SoC)或其他处理器。
[0086] 主存储器606(如,随机存取存储器(RAM)或其他动态存储装置)还可以耦合至总线602,以存储待由(一个或多个)处理器604执行的信息和软件指令。在待由(一个或多个)处理器604执行的软件指令的执行期间,主存储器606还可用于存储临时变量或其他中间信息。
[0087] 软件指令在被存储在可访问(一个或多个)处理器604的存储介质中时使计算装置600成为专用计算装置,其被自定义成执行在软件指令中规定的操作。术语“软件”“,软件指令”“, 计算机程序”,“计算机可执行指令”,和“处理器可执行指令”被广义的解释以覆盖任何机器可读信息(不论是否是人可读的),以指示计算装置执行具体操作,且包括但不限于,应用程序软件、台式机应用程序、脚本、二进制、操作系统、装置驱动器、启动加载器、壳(shell)、公用程式、系统软件、JAVASCRIPT(JAVA脚本)、网页、网络应用程序、插件、嵌入软件、微代码、编译器、调试器、解释程序、虚拟机、链接器和文本编辑器。
[0088] 计算装置600还可包括耦合到总线602的只读存储器(ROM)608或其他静态存储装置,以存储(一个或多个)处理器604的静态信息和软件指令。
[0089] 一个或多个大容量存储装置610可耦合到总线602,以将信息和软件指令永久存储在固定或可移除介质(如,磁的、光学的、固态的、磁光的、闪存或任何其他可用的大容量存储技术)上。大容量存储可在网络上共享,或其可为专用的大容量存储。通常,大容量存储装置610中的至少一个(如,装置的主硬盘)存储程序和数据的主体以进行计算装置的操作,包括操作系统、用户应用程序、驱动器和其他支持文件以及所有种类的其他数据文件。
[0090] 计算装置600可经由总线602耦合到显示器612,如,液晶显示器(LCD)或其他电子可视化显示器,以将信息显示给计算机用户。在一些配置中,包括触摸检测技术的触敏表面(如,电阻的、电容的等)可覆盖在显示器612上以构成触敏显示器,以将触摸手势(如,手指或光笔)输入通信至(一个或多个)处理器604。
[0091] 输入装置614(包括字母数字和其他键)可耦合到总线602,以将信息和命令选择通信至处理器604。除了字母数字和其他键以外或替代字母数字和其他键,输入装置614可包括一个或多个物理按钮或开关,如,例如,电源(开/关)按钮,“主页”按钮,音量控制按钮等。
[0092] 另一类型的用户输入装置可以是光标控制616,如,鼠标、跟踪球、光标或触摸屏方向键,以将方向信息和命令选择通信给处理器604且控制在显示器612上的光标移动。该输入装置通常具有在两个轴(第一轴(如,x)和第二轴(如,y))上的两个自由度,这允许该装置规定平面中的位置。其他输入装置实施例包括用于识别音频输入(如,语音)的音频或语音识别输入模块,能够识别用户的手势的可视输入装置、和键盘。
[0093] 尽管在一些配置(如,图7示出的配置)中,显示器612、输入装置614、和光标控制616中的一个或多个是计算装置600的外部组件(即,外围装置),但是在其他配置中,显示器
612、输入装置614、和光标控制616中的一些或所有被集成为计算装置600的形成要素的一部分。
[0094] 除了显示器612以外或代替显示器612,能够使用任何其他形式的用户输出装置,如,音频输出装置或触觉(振动)输出装置。
[0095] 所公开的系统、方法和模块的功能可由计算装置600响应于(一个或多个)处理器604执行包含在主存储器606中的软件指令的一个或多个程序而执行。这种软件指令可从另一存储介质(如,(一个或多个)存储装置610或传输介质)读入主存储器606中。包含在主存储器606中的软件指令的执行使(一个或多个)处理器604执行(一个或多个)实施例的功能。
[0096] 尽管(一个或多个)示例实施例的功能和操作可完全利用软件指令实施,但是根据手边的具体实施方式的要求,可在其他实施例中代替软件指令或结合软件指令来使用计算装置600的硬连接电路系统或可编程电路系统(如,ASIC,FPGA等)来执行所述功能。
[0097] 本文使用的术语“存储介质”指任何非暂时性介质,其存储使计算装置在具体形式下操作的数据和/或软件指令。这种存储介质可以包括非易失性介质和/或易失性介质。例如,非易失性介质包括非易失性随机存取存储器(NVRAM),闪存,光盘,磁盘,或固态驱动器,如,存储装置610。易失性介质包括动态存储器,如,主存储器606。例如,存储介质的常见形式包括软磁盘、软盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质,CD-ROM、任何其他光数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、闪存、任何其他存储器芯片或匣。
[0098] 存储介质不同于传输介质但可与其结合使用。传输介质参与了存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线602的电线。传输介质还能够采取声波或光波的形式,如,在无线电波和红外数据通信期间生成的那些波。承载代码形式的指令的机器可读介质能够包括非暂时性存储介质和传输介质。
[0099] 各种形式的介质可涉及承载一个或多个软件指令的一个或多个顺序至(一个或多个)处理器604以进行执行。例如,软件指令可初始地在远程计算机的磁盘或固态驱动器上执行。远程计算机能够将软件指令加载到其动态存储器中并使用调制解调器通过电话线发送软件指令。计算装置600本地的调制解调器能够接收电话线上的数据并使用红外发射器将数据转换成红外信号。红外检测器能够接收在红外信号中承载的数据,且适当的电路系统能够将数据置于总线602上。总线602承载数据到主存储器606,(一个或多个)处理器604从该主存储器606中检索并执行软件指令。在通过(一个或多个)处理器604的执行之前或之后,主存储器606接收的软件指令可以可选地存储在(一个或多个)存储装置610上。
[0100] 计算装置600还可包括耦合到总线602的一个或多个通信接口618。通信接口618提供耦合至有线或无线网络链接620的双路数据通信,所述有线或无线网络链接620连接到本地网络622(如,以太网,无线局域网,移动电话网络,蓝牙无线网络等)。通信接口618发送和接收电信号、电磁信号和光信号,这些信号承载表示各种类型的信息的数字数据流。例如,通信接口618可以是有线网络接口卡,无线网络接口卡,其具有集成的无线电天线或调制解调器(如,ISDN,DSL或线缆调制解调器)。
[0101] (一个或多个)网络链接620通常通过一个或多个网络提供与其他数据装置的数据通信。例如,网络链接620可通过本地网络622提供连接至主机计算机或通过互联网服务提供商(ISP)操作的数据设备。ISP 626进而通过全球包数据通信网络(现在通常称为“互联网”)提供数据通信服务。(一个或多个)本地网络622和互联网使用承载数字数据流的电信号、电磁信号和光信号。通过各种网络的信号和在(一个或多个)网络链接620上的信号以及通过(一个或多个)通信接口618的信号(其将数字数据携带到计算装置600和携带来自计算装置600的数字数据)是传输介质的示例形式。
[0102] 计算装置600能够通过(一个或多个)网络、(一个或多个)网络链接620和(一个或多个)通信接口618发送消息和接收数据,包括程序代码。在互联网的示例中,服务器可以通过互联网、ISP、(一个或多个)本地网络622和(一个或多个)通信接口618发送应用程序的请求的代码。
[0103] 接收到的代码可在被接收到时由处理器604执行,和/或存储在存储装置610或其他非易失的存储中以用于稍后执行。
[0104] 一个方面提供载体介质,如,存储由机器的处理器执行的代码以执行方法的非暂时性存储介质,或承载由机器的处理器执行的处理器可执行代码以执行方法的暂时性介质。可在实施计算机代码的可编程数字逻辑中实施实施例。代码能够供应给载体介质上可编程逻辑,如处理器或微处理器。载体介质的一个这种实施例是暂时性介质,即,信号,如,电信号、电磁信号、声信号、磁信号或光信号。另一形式的载体介质是存储代码的非暂时性存储介质,如,固态存储器、磁介质(硬盘驱动器)、或光介质(光盘(CD)或数字通用光盘(DVD))。
[0105] 本领域技术人员将容易理解,在不偏离如在随附权利要求中表达的本发明的主题的原则和范围的情况下,可进行部件和方法阶段在细节、材料和的布置上的各种其他改变,这些部件和方法阶段已经为了解释本发明的主题的性质而描述和示出。