CN105027061B - 具有上下文交互机制的计算***及其操作方法 - Google Patents

具有上下文交互机制的计算***及其操作方法 Download PDF

Info

Publication number
CN105027061B
CN105027061B CN201480012480.1A CN201480012480A CN105027061B CN 105027061 B CN105027061 B CN 105027061B CN 201480012480 A CN201480012480 A CN 201480012480A CN 105027061 B CN105027061 B CN 105027061B
Authority
CN
China
Prior art keywords
application program
user
order
action
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201480012480.1A
Other languages
English (en)
Other versions
CN105027061A (zh
Inventor
C.A.默里
M.贝萨克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105027061A publication Critical patent/CN105027061A/zh
Application granted granted Critical
Publication of CN105027061B publication Critical patent/CN105027061B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种计算***的操作的方法包括:确定用于执行用户启动的动作的上下文;基于用于执行用户启动的动作的上下文,确定操作次序;并且基于所述操作次序,生成应用次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以通过在设备上显示而执行用户启动的动作。

Description

具有上下文交互机制的计算***及其操作方法
技术领域
本发明实施例总的涉及计算***,并且更具体地涉及用于上下文用户交互的***。
背景技术
调制解调器消费品和工业电子产品(尤其是诸如图形计算***、电视机、移动电话机、便携式数字助理和组合设备之类的设备)正在提供支持现代生活的、包括对用户应用程序的访问的日益增长的水平的功能。现有技术中的研发可采取各种各样的不同方向。
随着由于计算***的增长而用户得到更多帮助,新和旧的模式都开始利用这种新的设备空间。一个这样的进步已是提供特定功能和利用计算***的用户体验的软件应用程序的使用。
然而,软件应用程序的快速增长对于消费者来说已经变成最重要的关注事项。可用的软件应用程序及其中的各种特征已经为用户呈现出新的挑战。
因此,仍然需要具有上下文用户交互机制以增强可用性的计算***。鉴于越来越多的商业竞争压力连同不断增长的消费者期望以及市场中有意义的产品差别的日益减少的可能性,越来越关键的是找到这些问题的答案。另外,降低成本、提高效率和性能并且满足竞争压力的需求对找到这些问题的答案的关键必要性增加了更大的紧迫性。
已经长期寻找这些问题的解决方案,但现有发展还没有教导或建议任何解决方案,并且因而本领域技术人员已长期找不到这些问题的解决方案。
发明内容
技术问题
软件应用程序的快速增长对于消费者来说已经变成最重要的关注事项。可用的软件应用程序及其中的各种特征已经为用户呈现出新的挑战。
因此,仍然需要具有与上下文有关的用户交互机制以增强可用性的计算***。鉴于越来越多的商业竞争压力连同不断增长的消费者预期以及市场中有意义的产品差别的日益减少的可能性,越来越关键的是找到这些问题的答案。另外,需要降低成本、提高效率和性能并且满足竞争压力为找到这些问题的答案的关键必要性增加了更大的紧迫性。
已经长时间在寻找这些问题的解决方案,但现有发展还没有教导或建议任何解决方案,并且因此本领域技术人员已长期找不到这些问题的解决方案。
技术方案
本发明实施例提供一种计算***的操作的方法,包括:确定用于执行任务的上下文;基于用于执行任务的上下文确定操作次序;并且基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以通过在设备上显示而执行任务。
本发明的实施例提供一种计算***的操作的方法,包括:确定用户简档;基于用户简档、利用控制单元确定用于执行用户启动的动作的上下文;基于用于执行用户启动的动作的上下文确定操作次序;基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以执行用户启动的动作;并根据应用程序次序预先加载执行文件、进一步可执行文件或其组合,以用于执行用户启动的动作并用于在设备上显示。
本发明的实施例提供一种计算***,包括:上下文确定模块,被配置成确定用于执行任务的上下文;耦合到上下文确定模块的操作排序模块,被配置成基于用于执行任务的上下文确定操作次序;以及耦合到操作排序模块的应用程序排序模块,被配置成基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以通过在设备上显示而执行任务。
该***可进一步包括:耦合到操作排序模块的相关活动模块,被配置成基于上下文确定与用户启动的动作相关联的基于上下文的建议;以及耦合到相关活动模块的次序调整模块,被配置成调整应用程序次序以包括基于上下文的建议。
该***可具有预先加载模块,该预先加载模块被配置成:在执行文件、进一步可执行文件或其组合的执行期间,预先加载执行文件、进一步可执行文件或其组合以用于重叠执行文件和进一步可执行文件。
该***可具有预先加载模块,该预先加载模块被配置成:将进一步可执行文件的输入设置为执行文件的输出。
该***可具有应用程序排序模块,该应用程序排序模块被配置成:生成用于访问执行文件、进一步可执行文件或其组合的访问点的应用程序次序,并且预先加载模块被配置成:预先加载执行文件、进一步可执行文件或其组合直到访问点。
有益技术效果
所得到的方法、过程、装置、设备、产品和/或***是简单的、具有成本效益的、不复杂的、高度多用途的、精确的、灵敏的和有效的,并且可以通过使已知组件适合于准备好的、有效的和经济的制造、应用和利用来实施。本发明实施例的另一重要方面是:其有益地支持和服务降低成本、简化***和提高性能的历史趋势。
附图说明
图1是本发明的实施例中的具有上下文交互机制的计算***。
图2是图1的第一设备的显示界面的示例。
图3是图1的第一设备的显示界面的第二示例。
图4是计算***的示范性框图。
图5是计算***的控制流。
图6是在本发明的进一步实施例中的计算***的操作的方法的流程图。
具体实施方式
本发明的实施例提供一种计算***的操作的方法,包括:确定用于执行任务的上下文;基于用于执行任务的上下文确定操作次序;并基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以通过在设备上显示而执行任务。
本发明的实施例提供一种计算***的操作的方法,包括:确定用户简档;基于所述用户简档、利用所述控制单元确定用于执行用户启动的动作的上下文;基于所述用于执行用户启动的动作的上下文确定操作次序;基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以执行用户启动的动作;并根据应用程序次序预先加载执行文件、进一步可执行文件或其组合,以用于执行用户启动的动作以及用于在设备上显示。
本发明的实施例提供一种计算***,包括:上下文确定模块,被配置成确定用于执行任务的上下文;耦合到上下文确定模块的操作排序模块,被配置成基于用于执行任务的上下文确定操作次序;以及耦合到操作排序模块的应用程序排序模块,被配置成基于操作次序生成应用程序次序,以用于根据应用程序次序执行执行文件和进一步可执行文件以通过在设备上显示而执行任务。
除了或者代替上面提到的那些步骤或元件外,该发明的某些实施例具有其它步骤或元件。通过阅读下面参照附图进行的详细描述,所述步骤或元件对于本领域技术人员来说将变得清楚。
以充分的细节描述下面的实施例,以使得本领域技术人员能够制造和使用本发明。应理解的是:基于本公开,其它实施例将是显而易见的,并且可做出该***、过程或机械改变而不会脱离本发明实施例的范围。
在下面的描述中,给出许多特定的细节以提供对该发明的透彻理解。然而,将清楚的是:可在没有这些特定细节的情况下实施本发明。为了避免模糊本发明的实施例,没有详细公开一些公知电路、***配置和过程步骤。
示出***的实施例的附图是半示意性的,并且没有按照比例,特别地,一些尺寸是为了表示的清楚,并且在绘制的图中被夸张地示出。类似地,虽然图中的示图为便于描述而通常示出类似的方位,但图中的该描绘对于大部分是任意的。通常,本发明可以在任何方位中操作。
根据在其中使用所述术语的上下文,在此引用的术语“模块”在本发明的实施例中可包括软件、硬件或其组合。例如,该软件可以是机器码、固件、嵌入式代码和应用软件。还例如,硬件可以是电路、处理器、计算机、集成电路、集成电路核、压力传感器、惯性传感器、微机电***(MEMS)、无源器件或其组合。
现在参考图1,在其中示出在本发明的实施例中的具有上下文交互机制的计算***100。计算***100包括诸如客户机或服务器之类的第一设备102,第一设备102连接到诸如客户机或服务器之类的第二设备106。第一设备102可用诸如无线或有线网络之类的通信路径104与第二设备106通信。
例如,第一设备102可以是各种各样的显示设备中的任意设备,诸如蜂窝电话机、个人数字助理、笔记本电脑、智能电话机、计算机或其它多功能显示或娱乐设备。第一设备102可以或者直接或者间接地耦合到通信路径104以与第二设备106通信,或者可以是独立的设备。
为了说明的目的,计算***100被描述为具有为显示设备的第一设备102,虽然应当理解第一设备102可以是不同类型的设备。例如,第一设备102还可以是用于呈现图像或多媒体表达的设备。
第二设备106可以是各种各样的集中式或分散式计算设备或者视频传输设备中的任意设备。例如,第二设备106可以是服务器、多媒体计算机、膝上型计算机、台式计算机、网格计算资源、虚拟化的计算机资源、云计算资源、路由器、交换机、对等分布式计算设备或其组合。
在另一示例中,第二设备106可以是具体化的机器,诸如大型计算机、服务器、集群服务器、机架式服务器或刀片服务器,或者作为更多特定示例,可以是IBM System z10(TM)商业级大型计算机或HP ProLiant ML(TM)服务器。又一个示例,第二设备106可以是具体化的机器,诸如便携式计算设备、瘦客户机、笔记本、上网本、智能电话机、个人数字助理或蜂窝电话机,并且作为特定示例,可以是Apple iPhone(TM)、Palm Centro(TM)或Moto QGlobal(TM)。
第二设备106可集中在单个房间中、在不同房间之间分布、在不同地理位置之间分布、嵌入在电信网络内。第二设备106可以与通信路径104耦合以与第一设备102通信。
为了说明的目的,导航***100被描述为具有为非移动计算设备的第二设备106,虽然应当理解第二设备106可以是不同类型的计算设备。例如,第二设备106还可以是移动计算设备,诸如笔记本电脑、其它客户机设备或不同类型的客户机设备。第二设备106可以是独立的设备,或者可与车辆(例如汽车、卡车、公共汽车或火车)合并。
还为了说明的目的,计算***100被描述为具有为计算设备的第二设备106,虽然应当理解第二设备106可以是不同类型的设备。还为了说明的目的,计算***100被示为具有作为通信路径104的端点的第二设备106和第一设备102,虽然应当理解计算***100在第一设备102、第二设备106和通信路径104之间可具有不同的划分。例如,第一设备102、第二设备106或其组合还可充当通信路径104的一部分。
通信路径104可以跨越和表示各种各样的网络。例如,通信路径104可包括无线通信、有线通信、光学、超声或其组合。卫星通信、蜂窝通信、蓝牙、红外数据协会标准(IrDA)、无线保真(WiFi)和全球微波互联接入(WiMAX)是可包括在通信路径104中的无线通信的示例。以太网、数字用户线(DSL)、光纤到户(FTTH)和普通的旧电话服务(POTS)是可包括在通信路径104中的有线通信的示例。此外,通信路径104可遍历许多网络拓扑结构和距离。例如,通信路径104可包括直接连接、个人区域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)或其组合。
现在参考图2,在其中示出图1的第一设备102的显示界面202的示例。显示界面可示出用户启动的动作204。用户启动的动作204被定义为将被执行的功能。用户启动的动作204可以是将由图1的计算***100执行和完成的用于实现目标的活动或一组活动。例如,用户启动的动作204可以是计划旅行、创建文档或图像、参与娱乐相关的活动、搜索信息、与其他用户或实体通信、组织日程安排或日程表、预订物品、位置或服务或者其组合。
用户启动的动作204可具有与其相关的用于实现或执行用户启动的动作204的一个或多个动作。用户启动的动作204可具有多个动作的操作次序206。操作次序206被定义为执行多个动作的顺序。操作次序206可以是用于实现或执行用户启动的动作204的中间项207的次序。操作次序206可组织与用户启动的动作204相关联的中间项207。
中间项207可被定义为可用于执行各种活动的步骤、动作、目的或目标、种类或其组合。中间项207可用于执行用户启动的动作204。例如,中间项207可以是表示可被组合以执行用户启动的动作204的各种独立的步骤、动作、目的或目标、种类或其组合的关键词、种类标识符、关键动词或其组合。
对于更具体的示例,中间项207可包括“检查日期”,“交叉检查电子邮件和工作日程安排”,“宾馆预订”,“航班预订”,“会议登记”,“验证确认信息”或其组合。中间项207可被定序以执行“组织住宿”的用户启动的动作204。还例如,可使用诸如“预订”、“住宿”之类的关键词或概念、通过采集包括“谁”、“何时”、“何地”、“什么”和“如何”或其组合的概念的基本信息来分类和组织中间项207。
任务的操作次序206可取决于围绕用户启动的动作204的情况。例如,作为假期预订的用户启动的动作204可具有与作为商务旅行预订的用户启动的动作204不同的操作次序206的实例。用于假期的操作次序206可包括查找价格和位置,查找个人日程表的可用日子,并且比较二者以为经济上可用的日期和位置发现和预订航班和宾馆。操作次序206可包括:从社交方面连接到该用户的其他用户或者在确定或改进预订日期时与计算***100中的用户具有类似性的其他用户搜索餐馆或活动推荐。
继续该示例,用于商务旅行的操作次序206可包括预定航班和宾馆而不查找价格和位置或将它们与日程安排比较,这是因为日期将被设置。操作次序206可包括:在预订航班和宾馆之后,基于用户的信息、潜在的商业联系人,诸如潜在的客户或潜在的承包商、商务旅行的共同出席者或其组合,搜索饭店或活动推荐,而不是帮助确定或改进预订日期。
显示界面202可示出上下文208。上下文208被定义为其中发生事件的情况。上下文208可以与用户启动的动作204相关。例如,上下文208可以是用于用户启动的动作204的动机、原因、影响或其组合。
上下文208可由关键词、种类、诸如特征的使能或禁用之类的功能限制、功能之间的相关性来表示,该相关性诸如在特征、状态、值或其组合之间的链接或预先加载。上下文208可由计算***100来确定。上下文208还可用于为用户启动的动作204确定操作次序206。下面将讨论关于上下文208的确定和使用的细节。
显示界面202还可示出应用程序210,诸如执行文件212和进一步可执行文件214。应用程序210被定义为单独的指令集,每个集用于执行特定的动作。应用程序210可用于实现或完成用户启动的动作204或其一部分。应用程序210可被设计成帮助用户执行用户启动的动作204的特定实例。应用程序210可以是软件应用程序或可执行文件、硬件加速器、硬件设备或其组合。
执行文件212和进一步可执行文件214可以是用于执行不同动作的不同指令集。计算***100可以以特定次序使用执行文件212和进一步可执行文件214,以实现或完成用户启动的动作204。下面将描述关于执行文件212和进一步可执行文件214的排序的细节。
应用程序210均可具有标题216、描述218、输入220和输出222。标题216可以是标识应用程序210的各个实例的字母、符号、数字或其组合的集。描述218可以是详细描述可由应用程序210中的每一个执行的特定动作的字母、符号、数字或其组合的集。例如,描述218可以是博客上的用户描述、软件的制造商描述、与特定动作相关的关键词的集、或者其组合。
输入220可以是由应用程序210中的每一个使用以执行指定的动作的信息。输出222可以是由应用程序210中的每一个产生、合成、显示、访问的信息或其动作的组合。
显示界面202可示出应用程序集224和下载集226。应用程序集224被定义为已经对图1的第一设备102、第二设备106或其组合上的用户可用的应用程序210。应用程序集224可以是用于在第一设备102、第二设备106或其组合上存储的应用程序210的标题216、描述218、地址、指针或其组合的集合。应用程序集224还可以是在使用应用程序210之前第一设备102可立即访问而无需购买或下载应用程序210的应用程序210的集合。
下载集226被定义为可传送到第一设备102、第二设备106或其组合的用于在其中使用的应用程序210。下载集226可以是用于不在第一设备102、第二设备106或其组合上的应用程序210的标题216、描述218、下载应用程序的源或其组合的集合。下载集226可以是需要额外的动作的应用程序210,其中所述额外的动作用于诸如在购买或下载应用程序210时获取使用应用程序210的权力或能力。
例如,下载集226可以是不在第一设备102上但是可以从第二设备106、其它外部服务器、其它外部存储设备或其组合传送到第一设备102的应用程序210的标题、描述、链接、地址或其组合。还例如,下载集226可以是不在第一设备102上并且不在第二设备106上但是可从其它外部服务器或其它外部存储器下载到第一设备102或第二设备106的应用程序210的标题、描述、链接、地址或其组合。
显示界面202还可示出应用程序建议228和下载建议230。应用程序建议228可以是对第一设备102可用的应用程序210的实例,应用程序210可用于执行用于实现或完成用户启动的动作204的一个或多个动作。应用程序建议228可以是已经在第一设备102或第二设备106上安装的应用程序210的实例。应用程序建议228可以由用于应用程序210的相应实例的标题216、描述218、地址、指针或其组合表示。
下载建议230可以是对第一设备102不可用的、可被下载到第一设备10,以用于执行用于实现或完成用户启动的动作204的一个或多个动作的应用程序210的实例。下载建议230可以由用于应用程序210的相应实例的标题216、描述218、链接、地址或其组合表示。
显示界面202可进一步示出应用程序次序232。应用程序次序232被定义为用于实现或完成用户启动的动作204的应用程序210的执行的顺序。应用程序次序232可以是来自应用程序集224、下载集226、应用程序建议228、下载建议230或其组合的应用程序210的排序。应用程序次序232可基于操作次序206。下面将详细讨论应用程序次序232的确定和使用。
现在参考图3,在其中示出图1的第一设备102的显示界面202的第二示例。显示界面202可示出用户简档302、外部简档304、当前位置306、当前时间308和基于上下文的建议310。
用户简档302被定义为在图1的计算***100的上下文中描述用户的信息的集。用户简档302可包括关于用户的个人信息、与用户相关联的任务或上下文、图2的应用程序210的可访问实例、用户最近已经访问的应用程序210、与用户相关联的个人或实体、或者其组合。
用户简档302可具有使用历史312、最近访问集314、通信集316或其组合。使用历史312被定义为用户对计算***100的访问的记录。使用历史312可包括用户已经通过第一设备102相关联或访问的图2的用户启动的动作204的实例、图2的上下文208的实例、应用程序210的表示、图2的应用程序建议228或图2的下载建议230的实例、或者其组合。
最近访问集314被定义为用户已经在阈值持续时间328内访问的应用程序210的记录。最近访问集314可以是标识在阈值持续时间328内访问的应用程序210的图2的标题216、图2的描述218、链接、地址、指针或其组合的记录。
计算***100可为在第一设备102上的应用程序210的每个实例跟踪经过的时间318。经过的时间318可以是从用户已经访问应用程序210的相应实例开始的时间的持续时间。例如,经过的时间318可以是在诸如通过键盘或触摸屏的最后的用户界面动作与当前时间308之间、或者在闭合或关闭应用程序210的实例时和当前时间308之间的差。
计算***100可使用经过的时间318来确定最近访问集314。计算***100可比较经过的时间318和阈值持续时间328(如由计算***100、软件开发人员、硬件设计师或制造商或其组合确定的)。计算***100可确定最近访问集314以包括或指代具有小于或等于阈值持续时间328的经过的时间318的应用程序210。
用户简档302还可具有标识将经常由第一设备102执行的应用程序210的特定实例的基本应用程序集324。基本应用程序集324可以是应用程序210的实例,用于通信、组织日程安排、执行基本计算任务,诸如文字处理、数值计算、数据组织和访问或其组合。
例如,基本应用程序集324可包括:日程安排日程表320,诸如个人或共享的日程表或日程安排应用程序,电子消息界面322,诸如电子邮件应用程序或网页、短消息服务(SMS)、多媒体消息收发服务(MMS)、在线信使服务或其组合。还例如,基本应用程序集324可包括文字处理应用程序、电子表格应用程序、数据库应用程序、web浏览器、搜索应用程序或其组合。
基本应用程序集324可表示对用户重要或最经常由用户使用的应用程序210。基本应用程序集324可由计算***100、用户、软件开发人员、硬件制造商或其组合来预先选择。还可基于使用的频率或数量选择或更新基本应用程序集324。
通信集316被定义为用于交互其它设备的应用程序210的实例。通信集316可包括用于与其他用户交互的应用程序210。例如,通信集316可包括社交媒体应用程序或网站、共享的日程表或其组合。通信集316可包括电子消息界面322。
外部简档304被定义为关于除了用户以外的个人或实体的信息的集。外部简档304可以是其他个人或实体已经组成以描述它们自己的信息。外部简档304还可以是第一设备102、第二设备106或其组合已经确定的关于其他个人或实体的信息。
例如,外部简档304可包括其他个人或实体已经在他们的社交媒体介质上或在共享的日程表上包括的信息。可通过通信集316中的应用程序210访问外部简档304。还例如,外部简档304可包括其他个人或实体、识别信息或其组合的最近访问集314或使用历史312。
当前位置306可表示第一设备102的物理位置。当前位置306还可表示用户的物理位置。当前位置306可以是地址、诸如纬度和经度或GPS坐标之类的坐标的集、路标信息、十字街道、或者兴趣点的名称、或者其组合。当前位置306还可以是上下文表示,诸如工作场所或家。
当前时间308可以是对应于当前时间的日期、时间或二者的表示。当前时间308可包括年、月、日、星期中的天、小时、分、秒或其组合。
基于上下文的建议310被定义为与上下文208相关的不是用户启动的动作204的一部分的活动。例如,基于上下文的建议310可以是在参加研讨会的用户启动的动作204之后与客户一起吃晚饭。还例如,基于上下文的建议310可以是在出发去公路旅行的用户启动的动作204之前购买食品和饮料。对于进一步的示例,基于上下文的建议310可以是与基于上下文208的用户启动的动作204的当前实例相关联的用户启动的动作204的分开的和不同的实例。
计算***100可使用上下文208确定和建议基于上下文的建议310。下面将详细地讨论基于上下文的建议310的确定和使用。
显示界面202还可示出预先加载状态326。预先加载状态326被定义为用于在可访问位置处存储应用程序210中的一个或多个的进展的指示。预先加载状态326可指示用于在第一设备102内的可访问位置处存储应用程序210中的一个或多个的进展。预先加载状态326可以是指示在开始应用程序210的用户界面部分之前的步骤的状态的符号、图像、数字、字母或其组合。
例如,预先加载状态326可指示在表示应用程序210中的一个或多个的图片中的使用改变(诸如在变暗填充颜色或出现时)以指示预先加载过程的状态或进展。还例如,预先加载状态326可由用颜色填充的条、递增百分比、词语或其组合来表示。
通过在应用程序210开始与用户交互之前执行对应于应用程序210的指令,计算***100可预先加载应用程序210。通过从更慢和更持久的存储器向更快或可访问存储器存储与应用程序210相关联的指令、输入数据、计算结果、地址、格式或其组合,计算***100还可预先加载应用程序210。例如,计算***100可将信息从硬盘驱动器或外部存储唯一设备(external storage only device)传送到随机存取存储器、缓冲存储器、预缓冲存储器、安全数码卡或其组合。
现在参考图4,在其中示出计算***100的示范性框图。计算***100可包括第一设备102、通信路径104和第二设备106。第一设备102可通过通信路径104在第一设备传输408中向第二设备106发送信息。第二设备106可通过通信路径104在第二设备传输410中向第一设备102发送信息。
为了说明的目的,示出具有作为客户机设备的第一设备102的计算***100,虽然应当理解计算***100可具有作为不同类型的设备的第一设备102。例如,第一设备102可以是具有显示接口的服务器。
还为了说明的目的,示出具有作为服务器的第二设备106的计算***100,虽然应当理解计算***100可具有作为不同类型的设备的第二设备106。例如,第二设备106可以是客户机设备。
为了对本发明实施例的描述的简洁,第一设备102将被描述为客户机设备,而第二设备106将被描述为服务器设备。本发明的实施例不限于对该类型的设备的选择。该选择是本发明的实施例的示例。
第一设备102可包括第一控制单元412、第一存储单元414、第一通信单元416和第一用户接口418。第一控制单元412可包括第一控制接口422。第一控制单元412可执行第一软件426以提供计算***100的智能。
第一控制单元412可以以许多不同的方式来实现。例如,第一控制单元412可以是处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。第一控制接口422可用于第一控制单元412和第一设备102中的其它功能单元之间的通信。第一控制接口422还可用于第一设备102外部的通信。
第一存储接口424可从其它功能单元或从外部源接收信息,或者可向其它功能单元或向外部目的地发送信息。外部源和外部目的地指代第一设备102外部的源和目的地。
第一控制接口422可以以不同的方式来实现,并且可包括不同的实现方式,这取决于哪些功能单元或外部单元正与第一控制接口422接口连接。例如,第一控制接口422可用压力传感器、惯性传感器、微机电***(MEMS)、光电路、波导、无线电路、有线电路或其组合来实现。
第一存储单元414可存储第一软件426。第一存储单元414还可存储相关信息,诸如表示传入的图像的数据、表示先前呈现的图像的数据、声音文件或其组合。
第一存储单元414可以是易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,第一存储单元414可以是非易失性存储器,诸如非易失性随机存取存储器(NVRAM)、快闪存储器、磁盘存储器,或者是易失性存储器,诸如静态随机存取存储器(SRAM)。
第一存储单元414可包括第一存储接口424。第一存储接口424可用于和第一设备102中的其它功能单元的以及在第一设备102中的其它功能单元之间的通信。第一存储接口424还可用于第一设备102外部的通信。
第一存储接口424可从其它功能单元或从外部源接收信息,或者可向其它功能单元或向外部目的地发送信息。外部源和外部目的地指代第一设备102外部的源和目的地。
第一存储接口424可包括不同的实现方式,这取决于哪些功能单元或外部单元正与第一存储单元414接口连接。第一存储接口424可用类似于第一控制接口422的实现方式的技术和技艺来实现。
第一通信单元416可使得能够进行到第一设备102和从第一设备102的外部通信。例如,第一通信单元416可允许第一设备102与图1的第二设备106、诸如***设备或计算机桌面之类的附件以及通信路径104通信。
第一通信单元416还可充当通信集线器,该通信集线器允许第一设备102充当通信路径104的一部分而不被限制为到通信路径104的端点或终端单元。第一通信单元416可包括用于与通信路径104交互的有源和无源组件,诸如微电子器件或天线。
第一通信单元416可包括第一通信接口428。第一通信接口428可用于第一通信单元416和第一设备102中的其它功能单元之间的通信。第一通信接口428可从其它功能单元接收信息,或者可向其它功能单元发送信息。
第一通信接口428可包括不同的实现方式,这取决于哪些功能单元正与第一通信单元416接口连接。第一通信接口428可用类似于第一控制接口422的实现方式的技术和技艺来实现。
第一用户接口418允许用户(未示出)与第一设备102接口连接和交互。第一用户接口418可包括输入设备和输出设备。第一用户接口418的输入设备的示例可包括小键盘、触摸板、软键、键盘、麦克风、用于接收遥控信号的红外传感器或其任何组合,以提供数据和通信输入。
第一用户接口418可包括第一显示接口430。第一显示接口430可包括显示器、投影仪、视频屏幕、扬声器或其任何组合。
第一控制单元412可操作第一用户接口418以显示由计算***100生成的信息。第一控制单元412可进一步执行用于计算***100的其它功能的第一软件426。第一控制单元412可进一步执行第一软件426,用于经由第一通信单元416与通信路径104交互。
可优化第二设备106,用于在具有第一设备102的多个设备实施例中实现本发明的实施例。第二设备106可提供与第一设备102相比额外的或更高的性能处理能力。第二设备106可包括第二控制单元434、第二通信单元436和第二用户接口438。
第二用户接口438允许用户(未示出)与第二设备106接口连接和交互。第二用户接口438可包括输入设备和输出设备。第二用户接口438的输入设备的示例可包括小键盘、触摸板、软键、键盘、麦克风或其任何组合,以提供数据和通信输入。第二用户接口438的输出设备的示例可包括第二显示接口440。第二显示接口440可包括显示器、投影仪、视频屏幕、扬声器或其任何组合。
第二控制单元434可执行第二软件442以提供计算***100的第二设备106的智能。第二软件442可结合第一软件426一起工作。第二控制单元434可提供比第一控制单元412额外的性能。
第二控制单元434可操作第二用户接口438以显示信息。第二控制单元434还可执行第二软件442,用于计算***100的其它功能,包括操作第二通信单元436以通过通信路径104与第一设备102通信。
第二控制单元434可以以许多不同的方式来实现。例如,第二控制单元434可以是处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。
第二控制单元434可包括第二控制器接口444。第二控制器接口444可用于第二控制单元434和第二设备106中的其它功能单元之间的通信。第二控制器接口444还可用于第二设备106外部的通信。
第二控制器接口444可从其它功能单元或从外部源接收信息,或者可向其它功能单元或向外部目的地发送信息。外部源和外部目的地指代第二设备106外部的源和目的地。
第二控制器接口444可以以不同的方式来实现,并且可包括不同的实现方式,这取决于哪些功能单元或外部单元正与第二控制器接口444接口连接。例如,第二控制器接口444可用压力传感器、惯性传感器、微机电***(MEMS)、光电路、波导、无线电路、有线电路或其组合来实现。
第二存储单元446可存储第二软件442。第二存储单元446还可存储诸如表示传入的图像的数据、表示先前呈现的图像的数据、声音文件或其组合。第二存储单元446可被调整尺寸,以提供额外的存储容量来补充第一存储单元414。
为了说明的目的,第二存储单元446被示为单个元件,虽然应当理解第二存储单元446可以是存储元件的分布。还为了说明的目的,计算***100被示出为具有为单个分层存储***的第二存储单元446,虽然应当理解计算***100可具有不同配置的第二存储单元446。例如,第二存储单元446可用不同的存储技术形成,所述不同的存储技术形成包括不同级别的高速缓冲、主存储器、旋转介质或离线存储的存储器分层体系。
第二存储单元446可以是易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,第二存储单元446可以是非易失性存储器,诸如非易失性随机存取存储器(NVRAM)、快闪存储器、磁盘存储器,或者可以是易失性存储器,诸如静态随机存取存储器(SRAM)。
第二存储单元446可包括第二存储接口448。第二存储接口448可用于第二设备106中的其它功能单元之间的通信。第二存储接口448还可用于第二设备106外部的通信。
第二存储接口448可从其它功能单元或从外部源接收信息,或者可向其它功能单元或向外部目的地发送信息。外部源和外部目的地指代第二设备106外部的源和目的地。
第二存储接口448可包括不同的实现方式,这取决于哪些功能单元或外部单位正与第二存储单元446接口连接。第二存储接口448可用类似于第二控制器接口444的实现方式的技术和技艺来实现。
第二通信单元436可使得能够进行到第二设备106和从第二设备106的外部通信。例如,第二通信单元436可允许第二设备106通过通信路径104与第一设备102通信。
第二通信单元436还可充当通信集线器,该通信集线器允许第二设备106充当通信路径104的一部分而不被限制为到通信路径104的端点或终端单元。第二通信单元436可包括用于与通信路径104交互的有源和无源组件,诸如微电子器件或天线。
第二通信单元436可包括第二通信接口450。第二通信接口450可用于第二通信单元436和第二设备106中的其它功能单元之间的通信。第二通信接口450可从其它功能单元接收信息,或者可向其它功能单元发送信息。
第二通信接口450可包括不同的实现方式,这取决于哪些功能单元正与第二通信单元436接口连接。第二通信接口450可用类似于第二控制器接口444的实现方式的技术和技艺来实现。
第一通信单元416可与通信路径104通信以在第一设备传输408中向第二设备106发送信息。第二设备106可从通信路径104的第一设备传输408接收第二通信单元436中的信息。
第二通信单元436可与通信路径104耦合以在第二设备传输410中向第一设备102发送信息。第一设备102可从通信路径104的第二设备传输410接收第一通信单元416中的信息。可通过第一控制单元412、第二控制单元434或其组合来执行计算***100。为了说明的目的,第二设备106被示出为具有第二用户接口438、第二存储单元446、第二控制单元434和第二通信单元436的划分,虽然应当理解第二设备106可具有不同的划分。例如,第二软件442可被不同地划分,使得其功能中的一些或全部可在第二控制单元434和第二通信单元436中。此外,第二设备106可包括为了清楚起见而在图4中未示出的其它功能单元。
第一设备102中的功能单元可单独地和独立于其它功能单元工作。第一设备102可单独地和独立于第二设备106和通信路径104工作。
第二设备106中的功能单元可单独地和独立于其它功能单元工作。第二设备106可单独地和独立于第一设备102和通信路径104工作。
为了说明的目的,通过第一设备102和第二设备106的操作来描述计算***100。应理解:第一设备102和第二设备106可操作计算***100的任何模块和功能。
现在参考图5,在其中示出计算***100的控制流。计算***100可包括简档模块502、执行次序模块504、应用计划模块506和任务执行模块508。
简档模块502可耦合到执行次序模块504。执行次序模块504可耦合到应用程序计划模块506,并且应用程序计划模块506可进一步耦合到任务执行模块508。
简档模块502被配置成确定图3的用户简档302。简档模块502可从通过图4的第一用户接口418、图4的第二用户接口438或其组合而与用户的交互中确定用户简档302。简档模块502可包括用于确定用户简档302的设备状态模块510、记录模块512、定时器模块514和连接模块516。
设备状态模块510被配置成识别图1的第一设备102、图1的第二设备106或其组合上的用户可访问的应用程序210。设备状态模块510可识别用户可立即访问的应用程序210、在用户可访问它们之前需要下载的工具或其组合。设备状态模块510可确定图2的应用程序集224、图2的下载集226或其组合。
例如,设备状态模块510可使用图4的第一控制单元412、图4的第二控制单元434或其组合来识别应用程序210,诸如图2的执行文件212和图2的进一步可执行文件214,应用程序210已经被加载到图4的第一存储单元414、图4的第二存储单元或其组合上并且容易被用户访问。设备状态模块510可将应用程序210的图2的标题216、图2的描述218、地址、指针或其组合设置为应用程序集224。
还例如,设备状态模块510可使用图4的第一通信单元416、图4的第二通信单元436或其组合来识别用户不容易访问的应用程序210的其它实例。作为更具体的示例,设备状态模块510可为未在第一设备102中存储的、未在第二设备106中存储的或者未在任一个上存储的应用程序210的可下载的实例设置标题216、描述218、下载地址或其组合。
设备状态模块510可识别图3的基本应用程序集324。设备状态模块510可通过确定使用或访问的次数而识别基本应用程序集324。基本应用程序集324可包括已被访问超过预定义的阈值的应用程序210。
例如,如果阈值是一星期内14次访问或使用,则设备状态模块510可在基本应用程序集324中包括应用程序210的相应实例。阈值持续时间和计数可由计算***100、软件开发人员、硬件制造商或设计师或其组合来预先确定。
设备状态模块510还可通过搜索应用程序集224中匹配预先确定的列表的具有标题216、类型、描述218或其组合的实例来识别基本应用程序集324。预先确定的列表可由计算***100、软件开发人员、硬件设计师或制造商、或者其组合来预先确定。
设备状态模块510可为用户可用的应用程序210进一步识别访问点518。访问点518被定义为由用户可访问的应用程序210内的特定指令或步骤。例如,访问点518可以是在应用程序210内的页面、屏幕、功能或其组合,其中该应用程序210可从用户接收信息或在移动到下一个指令或步骤之前需要用户输入。
通过识别可接收用户输入的应用程序210中的用户接口,设备状态模块510可识别访问点518。当用户访问应用程序210时,设备状态模块510可为用户接口识别步骤、相对时间、设计、来自用户的交互或其组合。通过从用户针对用户接口接收关于步骤、相对时间、设计、交互或其组合的信息,设备状态模块510还可识别用户接口,该信息如由计算***100、应用程序开发人员、数据库、指令信息或其组合预先确定。
设备状态模块510可进一步跟踪其它***信息。设备状态模块510可跟踪图3的当前位置、图3的当前时间308、从用户接收的信息、呈现给用户的信息或其组合。
设备状态模块510可连接到记录模块512。例如,诸如应用程序集224之类的设备状态模块510的输出可被传递给记录模块512作为记录模块512的输入。还例如,设备状态模块510可在记录模块512可访问的指定的存储位置处存储输出。
记录模块512被配置成确定图3的使用历史312和图3的最近访问集314。通过记录用户已经通过第一设备102相关联或访问的图2的用户启动的动作204、图2的上下文208、图2的应用程序建议228、图2的下载建议230、应用程序210的表示或其组合的实例,记录模块512可确定使用历史312和最近访问集314。
记录模块512可使用来自设备状态模块510的应用程序集224以确定使用历史312和最近访问集314。通过为使用历史312和最近访问集314或其组合列出应用程序集224中的应用程序210的标题216的所有实例,记录模块512可确定使用历史312和最近访问集314。
记录模块512可存储关于用户启动的动作204、上下文208、应用程序210、应用程序建议228、下载建议230或其组合的相关联的或访问的实例的信息作为使用历史312。记录模块512可进一步存储关于应用程序210的相关联的或访问的实例的信息作为最近访问集314。记录模块512还可存储仅关于最近访问集324中的基本应用程序集314的访问信息。
记录模块512可进一步存储与对于使用历史312、最近访问集314或其组合的每个访问或关联相关联的时间。当相关联或访问用户启动的动作204、上下文208、应用程序210、应用程序建议228、下载建议230或其组合时,记录模块512储存时间、日期或其组合。
记录模块512和定时器模块514可连接。记录模块512可具有连接到定时器模块514的输入的其输出。例如,记录模块512可将使用历史312、最近访问集314或其组合传递给定时器模块514。例如,记录模块512可将使用历史312、最近访问集314或其组合的存储位置的地址传递给定时器模块514。
定时器模块514被配置成保持使用历史312、最近访问集314或其组合。通过删除使用历史312、最近访问集314或其组合内的具有超过图3的阈值持续时间328的图3的经过的时间318的记录的实例,定时器模块514可保持使用历史312。
定时器模块514可计算在使用历史312、最近访问集314或其组合中的实例的图3的经过的时间318。通过计算在与使用历史312、最近访问集314或其组合中的每个实例相关联的时间与当前时间308之间的差,定时器模块514可计算经过的时间318。
定时器模块514可比较经过的时间318和阈值持续时间328。当经过的时间318大于阈值持续时间328时,定时器模块514可删除在使用历史312、最近访问集314或其组合中记录的实例。通过从使用历史312、最近访问集314或其组合中删除由第一设备102访问的应用程序210的标题216、关于时间或标识符的信息或者其组合,定时器模块514可删除记录的实例。
连接模块516被配置成识别用户和其他人或实体之间的关系。连接模块516可通过确定图3的通信集316来识别关系。
通过识别连接到社交联网网站或应用程序中的用户的实例的图3的外部简档304的实例,连接模块516可确定通信集316。连接模块516还可通过识别用户的通信来确定通信集316。例如,通过识别由用户使用的用于通信的与其相关联的电子邮件地址、电话号码、邮寄地址、名称或标题或其组合,连接模块516可确定通信集316。
连接模块516可进一步确定通信集316以包括用户具有的与每个连接的关系的性质。连接模块516可使用外部简档304、与用户的通信、用户输入或其组合来确定关系的性质。
例如,连接模块516可搜索外部简档304中或与用户的通信中的某些关键词,并匹配在其中发现的关键词和预先确定的种类(诸如家庭、朋友、同事、主管或其组合)。还例如,连接模块516可从用户的地址簿中发现的信息确定社会关系。
在确定用户简档302之后,控制流可继续进行到执行次序模块504。执行次序模块504被配置成识别用于实现或执行任务的动作的集。
执行次序模块504可包括任务识别模块520、上下文确定模块522、操作识别模块524和操作排序模块526。任务识别模块520被配置成确定用户启动的动作204。
任务识别模块520可基于用户简档302而确定用户启动的动作204。任务识别模块520可从基本应用程序集324、最近访问集314、使用历史312、在外部简档304中的更新或其组合中的信息来确定用户启动的动作204。例如,任务识别模块520可从在图3的日程安排日程表320中的日程安排的事件、在通信应用程序中使用的关键词、在预先确定量的时间内访问的应用程序的列表、在朋友的社交网络页面上的状态更新或更新的信息或者其组合中确定用户启动的动作204。
通过确定在用户简档302中发现的其它活动或目标所需的一个或多个活动,任务识别模块520可确定用户启动的动作204。通过匹配在用户简档302中发现的用户输入和任务关联542,任务识别模块520可确定用户启动的动作204。任务关联542被定义为用于确定用户启动的动作204的一组概念或规则。
任务关联542可具有用于表示概念的关键词的分组。例如,任务关联542可具有可能的任务的每个实例,诸如“预订住宿”或“购物”,具有相关联的关键词的组,诸如“预订住宿”的“宾馆”、“飞机”、“旅行”、“商务”、“假期”、“旅游”或其组合,或“购物”的“衣服”、“买”、“销售”、“清算”、“购买”或其组合。
任务关联542还可具有用于确定用户启动的动作204的规则。例如,任务关联542可具有总是或永不指示用户启动的动作204的实例的日期、位置、关键词或其组合。还例如,任务关联542可具有用于基于诸如日期、位置、关键词、最近使用的应用程序或其组合之类的其它条件而从任务关联542的某个子集确定用户启动的动作204的规则。
任务关联542可进一步具有与概念、规则或其组合相关联的得分或概率。例如,任务关联542可具有与“商务旅行”相关联的用于表示用户正在尝试“预订”的可能性的任意得分或概率增加。
任务识别模块520可基于匹配的关键词或适用规则而相加得分或计算总的概率。任务识别模块520将用户启动的动作204确定为具有最高得分或概率的种类或示例,具有高于阈值的组合的得分或概率,或者其组合。
任务识别模块520可通过比较用户输入、用户简档302或其组合和任务关联542来确定用户启动的动作204。任务识别模块520可将用户启动的动作204确定为具有关键词、与规则一致的种类或实例或其组合,用于用户输入、用户简档302或其组合。
例如,任务识别模块520可识别超过50英里远并且在一星期内发生的日程安排日程表320上的“贸易展”。基于用于任务关联542中“预订”的种类的匹配“贸易展”、使用用于距离和相对定时的规则或其组合,任务识别模块520可将用户启动的动作204确定为参加“贸易展”所需的“预订”。
还例如,任务识别模块520可识别用户已经为相同的产品执行重复搜索。任务识别模块520可在任务关联542中比较搜索的项、用户访问以搜索产品的网站或应用程序、或者二者。基于对应于搜索的项、网站或应用程序或其组合的任务关联542中的匹配的关键词或适用规则,任务识别模块520可将“购物”、“互联网购物”、“搜索”或其组合确定为用户启动的动作204。
任务识别模块520可通过第一用户接口418来执行以与用户自然地交互以识别用户启动的动作204。任务识别模块520可通过扬声器和麦克风可听见地、通过屏幕和用户选择的方法可视地或其组合来与用户通信。任务识别模块520可被执行以识别用户的自然语音模式。任务识别模块520可被执行以识别对应于用于第一设备102的命令和输入信息的用户的自然语音的关键词。
任务识别模块520可连接到上下文确定模块522。任务识别模块520可在识别用户启动的动作204之后将标志传递给上下文确定模块522。用户启动的动作204可以是用于操作上下文确定模块522的基础。任务识别模块520还可将其输出传递为上下文确定模块522的输入。
上下文确定模块522被配置成确定用于用户与第一设备102的交互的上下文208,以执行用户启动的动作204。通过识别与用户启动的动作204的确定相关联的信息,上下文确定模块522可确定用于执行用户启动的动作204的上下文208。
上下文确定模块522可基于用户简档302并使用类似于任务识别模块520的过程来确定上下文208。上下文确定模块522可通过比较用户简档302或用户输入和上下文关联544来确定上下文208。
上下文关联544被定义为用于确定上下文208的一组概念或规则。上下文关联544可包括用于表示概念的关键词、用于比较概念的规则或其组合的分组,比较概念诸如控制用于确定匹配的可搜索的字段或条件。
例如,通过将用户输入、用户简档302或其组合与如上所述的上下文关联544中的关键词、规则、其它任务或上下文或其组合匹配,上下文确定模块522可确定用于任务识别模块520的上下文208。还例如,上下文确定模块522可使用得分或概率来确定如上所述的用于任务识别模块520的上下文208。
对于更具体的示例,上下文确定模块522可在用户从如在通信集316中识别的“朋友”接收到具有关键词“假期”的消息并且用户启动的动作204是“预订”时确定上下文208以包括“个人”、“假期”和“组”。对于进一步的具体示例,上下文确定模块522可在用户启动的动作204是搜索信息时确定上下文208以包括用户正在观看的电视节目的名称。
上下文确定模块522可进一步使用图3的当前位置306、当前时间308、日程安排日程表320、电子消息接口322或其组合来确定上下文208。例如,当前位置306和当前时间308可用于确定第一设备102是否在工作。还例如,基于关于商务旅行的细节的日程安排的预约或通信的电子邮件,日程安排日程表320和电子消息接口322可确定商务旅行的上下文208。
上下文确定模块522可连接到操作识别模块524。上下文确定模块522可将用户启动的动作204和上下文208输出到操作识别模块524的输入中。
操作识别模块524被配置成确定用于完成用户启动的动作204的图2的中间项207。操作识别模块524可具有活动关联546,其中所述活动关联546具有与中间项207相关联的相关的词语。
活动关联546被定义为用于确定用于完成用户启动的动作204的一组中间项207的一组概念或规则。活动关联546可具有表示对应于用户启动的动作204、上下文208或其组合的活动或步骤、关键词、规则或其组合的各种关键词或标识符。
操作识别模块524可类似于上下文确定模块522和任务识别模块520。操作识别模块524可使用第一控制单元412、第二控制单元434或其组合来确定用于用户启动的动作204的中间项207以识别具有与用户启动的动作204的关键词相关联的关键词或种类的中间项207。
例如,第一存储单元414、第二存储单元446或其组合可具有在活动关联546中彼此关联的“预订”、“日期”、“位置”和“价格”。对于预订的用户启动的动作204,操作识别模块524可将中间项207的实例中所需的确定为确定用于进行预订的日期、位置和价格。
操作识别模块524还可具有与用户启动的动作204的不同实例或用户启动的动作204的种类直接相关联的中间项207的集。通过识别与用户启动的动作204的当前实例直接相关联的活动或步骤的集,操作识别模块524可确定用于完成用户启动的动作204的中间项207。通过识别对应于活动关联546中用户启动的动作204、上下文208或其组合的活动或步骤,操作识别模块524可识别中间项207。
操作识别模块524可连接到操作排序模块526。例如,用于完成用户启动的动作204的中间项207的确定的示例可被传递给操作排序模块526作为其输入。还例如,确定的活动或步骤可存储在第一存储单元414、第二存储单元446或其组合中的操作排序模块526可访问的指定位置处。
操作排序模块526被配置成确定中间项207的逻辑顺序。通过为用户启动的动作204确定图2的操作次序206以用于定序中间项207,操作排序模块526可确定逻辑顺序以执行用户启动的动作204,。
操作排序模块526可具有用于确定操作次序206的定序关联548。定序关联548被定义为用于确定操作次序206的一组概念或规则。定序关联548可以是一组规则、准则、逻辑、标识符、关键词、顺序、得分、概率或其组合。
通过为由操作识别模块524确定的中间项207分配顺序次序,操作排序模块526可确定操作次序206。操作排序模块526可遵循定序关联548中的规则或准则以分配顺序次序。
例如,第一存储单元414、第二存储单元446或其组合可具有定序关联548中的用于确定不同目标或种类之间的优先级的一组规则或准则。对于某些实例,“何时”和“何地”可具有比“如何”和“成本”高的优先级。在其它实例中,“成本”可具有比“何时”、“何地”和“停留”高的优先级。
定序关联548可基于上下文208。可基于上下文208或者基于上下文208和用户启动的动作204二者来组织规则或准则。
例如,由于商务旅行趋向于具有需要设置的日期的上下文的基础,诸如贸易会议或与客户会面,所以对于预订的用户启动的动作204,商务旅行的上下文208可对“何时”和“何地”排列优先级顺序并且使得确定时间和位置优先于用于确定价格的“成本”。与此相反,由于个人假期趋向于对日期和位置更灵活,所以个人假期的上下文208可将用于确定价格的“成本”优先于用于确定日期和位置的“何时”和“何地”。
操作排序模块526可将对应于用户启动的动作204、上下文208或其组合的定序关联548中的规则或优先级设置为操作次序206。基于相关联的种类或关键词,操作排序模块526还可将操作次序206确定为中间项207的顺序。继续示例,确定位置的步骤可在确定日期之前,其中当上下文208是商务旅行时确定日期可在成本考虑之前。
操作排序模块526还可使用用于确定操作次序206的记分***。根据定序关联548并基于上下文208,操作排序模块526可向与用户启动的动作204相关联的中间项207给出不同的得分。操作排序模块526可以以相关联的得分的升序或降序定序中间项207。
已经发现,上下文208和操作次序206为计算***100提供改进的效率和精确度。通过允许周围情况调整中间项207的次序,上下文208和操作次序206提供改进的效率和精确度。在操作次序206中反映的基于上下文208的定序可消除重复的步骤并减少用户交互,以完成用户启动的动作204。此外,用户交互的减少可减少用户错误的可能性。
用户启动的动作204和上下文208可被传递回简档模块502,其中所述简档模块502可更新使用历史312以包括用户启动的动作204和上下文208的确定的实例。在根据用户启动的动作204和上下文208确定操作次序206之后,控制流可传递给应用程序计划模块506。
应用程序计划模块506被配置成组织应用程序210以实现或完成用户启动的动作204。应用程序计划模块506可确定应用程序210及其顺序的实例,用于通过第一设备102执行用户启动的动作204。
应用程序计划模块506可具有用于确定应用程序210及其顺序的特定实例的推荐模块528、应用程序排序模块530和相关的活动模块532。推荐模块528可进一步具有可用匹配模块534和下载匹配模块536,并且相关的活动模块532可进一步具有次序调整模块538。
推荐模块528被配置成确定用于执行用户启动的动作204的应用程序210的特定实例。推荐模块528可确定用于执行与完成用户启动的动作204相关联的一个或多个中间项207的应用程序210的实例。推荐模块528可确定应用程序建议228、下载建议230或其组合。
可用匹配模块534被配置成确定应用程序建议228。可用匹配模块534可比较在操作次序206中识别的用户启动的动作204的单独的活动或操作和应用程序集224。可用匹配模块534可将匹配用户启动的动作204的单独的活动或操作中的一个或多个的应用程序210的实例确定为应用程序建议228。
可用匹配模块534可执行分类或关键词匹配以确定应用程序建议228。可用匹配模块534可将应用程序集224中的应用程序210的标题216、描述218或其组合与种类或关键词比较,其中该种类或关键词与用户启动的动作204的单独的活动或操作相关联。可用匹配模块534可将应用程序210的标题216、地址、链接或其组合设置为应用程序建议228,其中该应用程序210匹配用户启动的动作204的单独的活动或操作,诸如执行文件212或进一步可执行文件214。
通过为操作次序206中标识的中间项207中的每一个对应用程序210打分或排名,可用匹配模块534还可确定应用程序建议228。对应用程序210的打分或排名可基于操作次序206中的中间项207的实例的数量,其中应用程序210的实例可根据描述218、对中间项207的实例的权重或重要性、操作次序206中的中间项207的相对次序或其组合而以操作次序206执行。可用匹配模块534可使用匹配的结果来确定得分或排名。
可用匹配模块534还可使用来自用户简档302的使用行为以确定应用程序建议228。可用匹配模块534可搜索使用历史312、最近访问集314或其组合以确定用户为上下文208、用户启动的动作204、与其相关联的中间项207的单独实例或其组合的类似实例使用的应用程序210的特定实例。
可用匹配模块534可为先前使用的应用程序210的实例增加得分或排名。可用匹配模块534还可将先前访问的应用程序210的实例确定为应用程序建议228。
下载匹配模块536被配置成确定下载建议230。下载匹配模块536可将在操作次序中标识的用户启动的动作204的单独的活动或操作与下载集226比较。下载匹配模块536可将匹配用户启动的动作204的单独的活动或操作中的一个或多个的应用程序210的实例确定为下载建议230。
下载匹配模块536可确定类似于可用匹配模块534的操作的下载建议230。例如,下载匹配模块536可使用用户启动的动作204、下载集226、使用历史312、最近访问集314或其组合的单独的活动或操作而执行分类或关键词匹配、对应用程序210打分或排名或其组合。
当应用程序210的一个实例执行用户启动的动作204的一个或多个单独的活动或操作时,可用匹配模块534和下载匹配模块536可分别传递应用程序建议228和下载建议230。当应用程序210的不止一个实例满足用户启动的动作204的一个或多个单独的活动或操作时,可用匹配模块534和下载匹配模块536可将具有最高得分或排名的应用程序210传递为应用程序建议228或下载建议230。
可用匹配模块534和下载匹配模块536可识别执行用户启动的动作204的单独的活动或操作的应用程序210的所有实例及其相关联的得分或排名。当应用程序集224、下载集226或其组合包括对应于操作次序206的一部分的在其中的内容的多个实例时,推荐模块528可为图2的应用程序次序232确定应用程序建议228、下载建议230或其组合。
通过选择具有最高得分或排名的应用程序210的相应实例,推荐模块528可确定应用程序建议228、下载建议230或其组合。例如,推荐模块528可从应用程序建议228或下载建议230选择应用程序,其中该应用程序执行在其它可用应用程序当中的由用户启动的动作204所需的中间项207的大多数实例。还例如,推荐模块528可选择由与用户具有类似的简档的其他用户最常用的或最高评价的应用程序。
推荐模块528还可确定是否向用户呈现下载建议230。例如,当应用程序集224不包括任何用于执行用户启动的动作204的一部分的应用程序210的实例时,推荐模块528可具有仅仅显示下载建议230的准则。还例如,当重叠的应用程序还未被经常使用,对于上下文208不适当,与下载建议230相比已经被打分或评价得低于预先确定的量,或者其组合时,推荐模块528可具有向用户通知下载建议230的规则。
对于进一步的示例,推荐模块528可使用诸如频繁访问的博客之类的用户简档302或具有类似简档或使用模式的其他用户的外部简档304来搜索重叠的应用程序的各种等级和使用状态。当搜索至少返回预先确定的量的得分或喜好提及时,推荐模块528可包括在下载建议230中的应用程序210的新的或最近更新的实例。
推荐模块528可连接到应用程序排序模块530。推荐模块528可将应用程序建议228、下载建议230或其组合传递为应用程序排序模块530的输入。推荐模块528还可将到应用程序建议228、下载建议230或其组合的指针或地址传递给应用程序排序模块530。
应用程序排序模块530被配置成根据操作次序206定序应用程序210。通过基于操作次序206生成应用程序次序232,应用程序排序模块530可定序应用程序。应用程序次序232可用于执行包括执行文件212和进一步可执行文件214的应用程序210以执行其执行可被显示在第一设备102上的用户启动的动作204。
通过使用第一控制单元412、第二控制单元434或其组合以匹配由推荐模块528确定的应用程序210的实例和操作次序206中的中间项207,应用程序排序模块530可生成应用程序次序232。应用程序排序模块530可在用于应用程序210的标题216、描述218、图2的输入220、图2的输出222或其组合中搜索与操作次序206中的中间项207的单独的实例匹配或相关联的关键词、类型、种类、值或其组合。
例如,应用程序210可与“何处”、“确定目的地”、“停留”或其组合相关联,其中该应用程序具有与标题216或描述218中的位置相关联的词语(诸如宾馆或机场)。还例如,具有航班或宾馆预订确认的应用程序210可与“何处”、“确定目的地”、“停留”或其组合相关联。
作为更具体的示例,推荐模块528可确定满足在操作次序206中标识的“谁”、“何时”、“路线”和“停留”的执行文件212,其中所述操作次序206对应于针对商务旅行的上下文208的、进行预订的用户启动的动作204。推荐模块528可从社交媒体连接确定满足“用餐推荐”的进一步可执行文件214。
应用程序排序模块530可生成根据操作次序206定序应用程序210的应用程序次序232。继续该示例,通过将执行文件212指定为在进一步可执行文件214之前启动,应用程序排序模块530可生成应用程序次序232。通过在进一步可执行文件214的顺序排序之前为执行文件212顺序排序标题216、地址、指针或其组合,应用程序排序模块530可生成应用程序次序232。
应用程序排序模块530可基于用户简档302生成应用程序次序232。通过使用使用用户简档302确定的应用程序建议228、下载建议230或其组合以生成应用程序次序232,可生成应用程序次序232。
通过基于用户简档302调整应用程序次序232的初始实例,应用程序排序模块530可进一步生成应用程序次序232。继续该示例,使用历史312、最近访问集314或其组合可指示:在用于用户启动的动作204、上下文208或其组合的匹配或相关实例的执行文件212之前,用户已经使用进一步可执行文件214。基于用户的过去的使用或个人偏好,应用程序排序模块530可调整应用程序次序232以使进一步可执行文件214在执行文件212之前启动。
应用程序排序模块530可基于下载建议230生成应用程序次序232。应用程序排序模块530可包括应用程序次序232中的下载建议230。
当在应用程序集224中不存在用于执行如由推荐模块528指示的用户启动的动作204的一部分的任何应用程序时,应用程序排序模块530可包括下载建议230。当可下载应用程序具有超过应用程序集224中的应用程序210的得分或评价至少达由推荐模块528指示的阈值量的得分或评价时,应用程序排序模块530还可包括下载建议230。
应用程序排序模块530可要求用户启动或批准对下载建议230的下载。例如,应用程序排序模块530可使用第一用户接口418向用户通知下载建议。当用户启动或批准对下载建议230的下载时,应用程序排序模块530可包括应用程序次序232中的下载建议230。
应用程序排序模块530可进一步生成应用程序次序232,用于以应用程序次序232访问应用程序210的访问点518。通过重叠应用程序210的多个实例的处理,应用程序排序模块530可生成用于访问访问点518的应用程序次序232。
例如,当执行文件212到达其访问点518的第一实例时,应用程序排序模块530可生成应用程序次序232以使得执行文件212首先启动并使得进一步可执行文件214启动。还例如,应用程序排序模块530可生成应用程序次序232以使得执行文件212和进一步可执行文件214同时启动,而且控制用户可访问应用程序210或与应用程序210交互的次序。应用程序次序232可指定进一步可执行文件214被隐藏或使得用户接口部分禁用,直到用户开始首先与执行文件212交互。
应用程序排序模块530可生成应用程序次序232以控制并行处理。应用程序排序模块530可生成应用程序次序232以命令应用程序210的不同实例由不同处理器来处理。例如,应用程序排序模块530可生成应用程序次序232以利用第一控制单元412处理执行文件212以及第二控制单元434处理进一步可执行文件214。还例如,应用程序次序232可命令第一控制单元412使用其中的不同部分,诸如不同的处理器或核以处理执行文件212和进一步可执行文件214。
应用程序排序模块530可进一步生成应用程序次序232以链接应用程序210的输入220和输出222。应用程序排序模块530可生成应用程序次序232以使前面应用程序的输出222的某些实例作为跟随的应用程序的输入220的某些实例。
例如,应用程序次序232可将关于由执行文件212产生的航班预订确认的到达的时间和日期指定为预订宾馆房间的进一步可执行文件214的入住日期的输入220。还例如,应用程序次序232可将诸如地址或电话号码之类的存储联系人信息的输出222指定为跟随的应用程序(诸如电话应用程序或导航应用程序)的输入。
应用程序排序模块530可进一步生成应用程序次序232以链接应用程序210的输入220。应用程序排序模块530可使得应用程序次序232在处理用户启动的动作204的任何访问点518处指定输入220的存储。应用程序次序232可使用存储的输入或来自用户简档302的任何信息,诸如用户的个人或联系人信息,其中重叠发生在应用程序次序232的其它应用程序内。
已经发现:应用程序次序232已经被发现,以为计算***100提供增加的效率和精确度。通过管理用于执行用户启动的动作204并使能并行处理的可用资源,应用程序次序232提供增加的效率。还通过链接应用程序之间的输入220和输出222以消除可以是用户错误来源的相同信息的重新输入,应用程序次序232提供效率和精确度的增加。
还发现:应用程序次序232、操作次序206和上下文208为计算***100提供用户友好的交互。通过使用应用程序210建模执行用户启动的动作204的、对上下文208适当的逻辑次序,应用程序次序232、操作次序206和上下文208提供用户友好的交互。
此外,已经发现:应用程序次序232和下载建议230最大化计算***100的功能。通过使得用户能够充分利用来自许多可能的应用程序的适当的应用程序,包括对用户未知的应用程序,应用程序次序232和下载建议230最大化功能。
应用程序次序232、操作次序206或其组合可对用户隐藏。计算***100可根据应用程序次序232、基于操作次序206、用对用户未知的应用程序次序232、操作次序206或其组合的内容来实现应用程序210。用户交互可存储在用户简档302中以改进应用程序次序232、操作次序206或其组合的随后确定而不公开其中的内容。
相关活动模块532被配置成基于上下文208确定与用户启动的动作204相关联的图3的基于上下文的建议310。相关活动模块532可基于用户简档302确定基于上下文的建议310。例如,如果用户已经启动跟随与当前使用的实例相同或类似的用户启动的动作204、上下文208、应用程序210或其组合的实例的不同活动、应用程序、任务、上下文或其组合,相关活动模块532可将先前跟随的不同活动、应用程序、任务、上下文或其组合设置为基于上下文的建议310。
通过比较用户启动的动作204和上下文208之间的关键词或种类,相关活动模块532还可确定基于上下文的建议310。相关活动模块532可将基于上下文的建议310设置为没有被用户启动的动作204覆盖的上下文208的关键词或种类。例如,如果上下文208包括与“主管”的“商务旅行”,并且用户启动的动作204没有覆盖上下文208的“主管”部分,则基于上下文的建议310可以是“主管”,以用于与“主管”相关联的用户启动的动作204的进一步的实例。
次序调整模块538被配置成调整应用程序次序232以包括基于上下文的建议310。次序调整模块538可调整应用程序次序232以包括额外的应用程序,移除适当的应用程序,重新排列应用程序的定序,或者其组合,以使得应用程序次序232包括基于上下文的建议310。用于调整应用程序次序232的过程可类似于上述应用程序排序模块530的过程。
已经发现:基于上下文的建议310向用户提供上下文适当的功能。基于上下文的建议310可通过确保上下文208由用户完全覆盖而提供上下文适当的功能。
在确定用于操作应用程序210的次序之后,关于任何下载的应用程序的信息可被传递给用于更新应用程序集224的简档模块502,而控制流可被传递给任务执行模块508。任务执行模块508被配置成使用应用程序210、根据应用程序次序232执行用户启动的动作204。任务执行模块508可具有预先加载模块540。
预先加载模块540被配置成预先加载应用程序210以执行用户启动的动作204。例如,预先加载模块540可根据用于执行用户启动的动作204的应用程序次序232而预先加载执行文件212、进一步可执行文件214或其组合。
预先加载模块540可通过从较慢和更持久的存储器向更快或可访问存储器存储与应用程序210相关联的指令、输入数据、计算结果、地址、格式或其组合来预先加载应用程序210。例如,计算***100可从硬盘驱动器或外部存储唯一设备向随机存取存储器、缓冲存储器、预缓冲存储器、安全数码卡或其组合传送必要的信息。
预先加载模块540还可通过自主地启动应用程序210来预先加载应用程序210而无需用户输入或交互。预先加载模块540可启动应用程序210并实现处理,直到其中的访问点518。预先加载模块540还可遵循应用程序次序232以在访问点518处设置输入220。
例如,预先加载模块540可设置进一步可执行文件214的输入220,进一步可执行文件214的输入220等于在进一步可执行文件214之前的执行文件212的输出222。预先加载模块540可用输入220处理进一步可执行文件214,直到访问点518的下一个适当的实例。还例如,基于执行文件212的输入220,预先加载模块540可为进一步可执行文件214设置输入220。
预先加载模块540可通过重叠应用程序210的处理而进一步预先加载应用程序210。例如,预先加载模块540可遵循应用程序次序232以在用于重叠执行文件212和进一步可执行文件214的执行文件212、进一步可执行文件214或其组合的执行期间,预先加载执行文件212、进一步可执行文件214或其组合。
继续该示例,预先加载模块540可将进一步可执行文件214存储到更快的存储器中或执行并行处理并执行进一步可执行文件214中的指令,同时执行执行文件212。预先加载模块540还可预先加载执行文件212,同时执行进一步可执行文件214。
预先加载模块540可显示预先加载应用程序210的过程的进展或状态。预先加载模块540可使用第一用户接口418来显示图3的预先加载状态326。
应用程序的使用和访问信息可被传递给简档模块502,用于更新使用历史312、最近访问集314、经过的时间318或其组合。一旦用户启动的动作204完成,任务执行模块508可将控制流传递给简档模块502。
已经发现:根据应用程序次序232预先加载应用程序210的预先加载模块540在执行用户启动的动作204时为计算***100提供改进的效率和精确度。通过为用户访问不同应用程序使能并行处理和减少等待时间,根据应用程序次序232预先加载应用程序210的预先加载模块540提供提高的效率。通过消除可以是用户错误来源的信息的冗余输入,计算***100进一步提供效率和精确度。
已经用模块功能或次序将计算***100描述为示例。计算***100可不同地划分模块或不同地排序模块。例如,记录模块512和定时器模块514可被组合成一个模块,或者任务识别模块520和上下文确定模块522的功能可被组合。还例如,可在确定用户启动的动作204、上下文208、操作次序206或其组合之后确定下载集226。
本申请中所述的模块可以是在图4的第一控制单元416中或在图4的第二控制单元438中的硬件实现方式或硬件加速器。模块还可以是分别在第一设备102或第二设备106内但在第一控制单元416或第二控制单元438外部的硬件实现方式或硬件加速器。
从操作次序206到应用程序次序232的物理转变导致物理世界的移动,诸如用户与应用程序210接口连接以执行用户启动的动作204。通过为用户简档302中的应用程序210存储和使用输入220以进一步改善用户启动的动作204和上下文208的精确度,物理世界中的运动导致对用户启动的动作204和上下文208的变化,以用于确定应用程序次序232。
现在参考图6,其中示出在本发明的进一步实施例中的计算***100的操作的方法500的流程图。方法500包括:在块602中确定用于执行任务的上下文;在块604中基于用于执行任务的上下文而确定操作次序;并且在块606中,基于用于根据应用程序次序执行执行文件和进一步可执行文件的操作次序而生成应用程序次序,以通过在设备上显示而执行任务。
所得的方法、过程、装置、设备、产品和/或***是简单的、具有成本效益的、不复杂的、高度多用途的、精确的、灵敏的和有效的,并且可通过将已知组件改写成准备好的、有效的和经济的制造、应用和利用来实现。本发明的实施例的另一个重要方面是:其有益地支持和服务降低成本、简化***和提高性能的历史趋势。
本发明的实施例的这些和其它有价值的方面因此将技术状况至少推进到下一个水平。
虽然已经结合特定的最佳模式描述了本发明,但应理解的是:按照在前的描述,许多替换、修改和变化对本领域技术人员来说将是显而易见的。因此,意在包括落入包括的权利要求的范围内的所有这种替换、修改和变化。在本文中阐述或在附图中示出的所有事项将以说明性和非限制性的方式来解释。

Claims (14)

1.一种计算***的操作的方法,包括:
确定用户简档;
基于用户简档利用控制单元动态地确定用于执行用户启动的动作的当前上下文;
响应于所述当前上下文确定操作次序,以用于定序用于完成所述用户启动的动作的、包括动作或任务的中间项;
通过对应用程序进行排名来确定应用程序建议以执行中间项的动作或任务,其中应用程序的排名基于应用程序能够执行的中间项的实例的数量;
基于所述操作次序生成应用程序次序,所述应用程序次序用于定序执行文件的执行和根据所述应用程序次序的进一步可执行文件以执行所述用户启动的动作,其中所述应用程序次序进一步基于应用程序集和下载集,所述应用程序集和下载集分别包括与所述操作次序的一部分和所述应用程序排名对应的多个应用程序实例;和
根据所述应用程序次序,预先加载所述执行文件、所述进一步可执行文件或其组合以用于在设备上执行所述用户启动的动作。
2.如权利要求1所述的方法,其中还包括:
生成应用程序次序包括:基于所述用户简档生成所述应用程序次序。
3.如权利要求1所述的方法,其中,生成应用程序次序包括:
从下载集中确定下载建议,所述下载建议匹配所述操作次序的一部分;并且
基于所述下载建议生成所述应用程序次序。
4.如权利要求1所述的方法,还包括:
基于所述上下文确定与所述用户启动的动作相关联的基于上下文的建议;以及
调整所述应用程序次序以包括所述基于上下文的建议。
5.如权利要求1所述的方法,其中,预先加载包括:在所述执行文件、所述进一步可执行文件或其组合的执行期间,预先加载所述执行文件、所述进一步可执行文件或其组合以用于重叠所述执行文件和所述进一步可执行文件。
6.如权利要求1所述的方法,其中,预先加载包括:将所述进一步可执行文件的输入设置为所述执行文件的输出。
7.如权利要求1所述的方法,其中:
生成应用程序次序包括生成用于访问所述执行文件、所述进一步可执行文件或其组合的访问点的应用程序次序;
预先加载包括预先加载所述执行文件、所述进一步可执行文件或其组合直到访问点。
8.一种计算***,包括:
控制单元,包括处理器,被配置为:
确定用户简档;
基于用户简档动态地确定用于执行用户启动的动作的当前上下文;
响应于所述当前上下文确定操作次序,以用于定序用于完成所述用户启动的动作的、包括动作或任务的中间项;
通过对应用程序进行排名来确定应用程序建议以执行中间项的动作或任务,其中应用程序的排名基于应用程序能够执行的中间项的实例的数量;
基于所述操作次序生成应用程序次序,所述应用程序次序被配置为定序执行文件的执行和根据所述应用程序次序的进一步可执行文件以执行所述用户启动的动作,其中所述应用程序次序进一步基于应用程序集和下载集,所述应用程序集和下载集分别包括与所述操作次序的一部分和所述应用程序排名对应的多个应用程序实例;和
根据所述应用程序次序,预先加载所述执行文件、所述进一步可执行文件或其组合以用于在设备上执行所述用户启动的动作;和
用户界面,耦合到所述控制单元,被配置为传达所述用户发起的动作的执行以与用户交互。
9.如权利要求8所述的***,其中,所述控制单元被配置为:
基于所述用户简档生成所述应用程序次序。
10.如权利要求8所述的***,其中,所述控制单元被配置为:
从下载集中确定下载建议,所述下载建议匹配所述操作次序的一部分;并且
基于所述下载建议生成所述应用程序次序。
11.如权利要求8所述的***,其中,所述控制单元被配置为:
基于所述上下文确定与所述用户启动的动作相关联的基于上下文的建议;以及
调整所述应用程序次序以包括所述基于上下文的建议。
12.如权利要求8所述的***,其中,所述控制单元被配置为:在所述执行文件、所述进一步可执行文件或其组合的执行期间,预先加载所述执行文件、所述进一步可执行文件或其组合以用于重叠所述执行文件和所述进一步可执行文件。
13.如权利要求8所述的***,其中,所述控制单元被配置为:将所述进一步可执行文件的输入设置为所述执行文件的输出。
14.如权利要求8所述的***,其中,所述控制单元被配置为:
生成用于访问所述执行文件、所述进一步可执行文件或其组合的访问点的应用程序次序;
预先加载所述执行文件、所述进一步可执行文件或其组合直到访问点。
CN201480012480.1A 2013-03-07 2014-01-28 具有上下文交互机制的计算***及其操作方法 Expired - Fee Related CN105027061B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/789,349 US9799005B2 (en) 2013-03-07 2013-03-07 Computing system with contextual interaction mechanism and method of operation thereof
US13/789,349 2013-03-07
PCT/KR2014/000805 WO2014137075A1 (en) 2013-03-07 2014-01-28 Computing system with contextual interaction mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
CN105027061A CN105027061A (zh) 2015-11-04
CN105027061B true CN105027061B (zh) 2018-05-11

Family

ID=51489567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480012480.1A Expired - Fee Related CN105027061B (zh) 2013-03-07 2014-01-28 具有上下文交互机制的计算***及其操作方法

Country Status (5)

Country Link
US (1) US9799005B2 (zh)
EP (1) EP2965183A4 (zh)
KR (1) KR102173108B1 (zh)
CN (1) CN105027061B (zh)
WO (1) WO2014137075A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140354680A1 (en) * 2013-05-31 2014-12-04 Blackberry Limited Methods and Devices for Generating Display Data
US10585927B1 (en) * 2013-06-26 2020-03-10 Google Llc Determining a set of steps responsive to a how-to query
US9483763B2 (en) 2014-05-29 2016-11-01 Apple Inc. User interface for payments
US10318338B2 (en) * 2015-01-08 2019-06-11 International Business Machines Corporation Re-launching contextually related application sets
US10684866B2 (en) * 2015-02-17 2020-06-16 Amazon Technologies, Inc. Context sensitive framework for providing data from relevant applications
US9740467B2 (en) 2015-02-17 2017-08-22 Amazon Technologies, Inc. Context sensitive framework for providing data from relevant applications
US11263617B2 (en) 2015-12-04 2022-03-01 Apple Inc. Method, non-transitory computer-readable medium, and mobile device for location-based graphical user interfaces
CN106101982B (zh) * 2016-05-27 2019-11-29 广东小天才科技有限公司 一种应用程序下载方法及***
CN106802752A (zh) * 2016-12-11 2017-06-06 东莞桐石网络科技有限公司 应用图标排列方法和装置
CN106775231A (zh) * 2016-12-11 2017-05-31 东莞桐石网络科技有限公司 基于地理位置的应用图标排列方法、装置、终端及***
US10258295B2 (en) 2017-05-09 2019-04-16 LifePod Solutions, Inc. Voice controlled assistance for monitoring adverse events of a user and/or coordinating emergency actions such as caregiver communication
KR102535077B1 (ko) * 2018-09-28 2023-05-19 에스케이텔레콤 주식회사 서비스 사용 통계 데이터를 이용한 vmi 서비스 제공방법 및 장치
KR102526963B1 (ko) * 2018-10-05 2023-04-27 에스케이텔레콤 주식회사 Vmi 서비스 영상 품질변경 방법 및 장치
US20200175058A1 (en) * 2018-12-03 2020-06-04 Rovi Guides, Inc. Methods and systems generating curated playlists
US10922101B2 (en) * 2019-06-26 2021-02-16 International Business Machines Corporation User interface widget recommendation
KR102491989B1 (ko) * 2020-04-10 2023-01-26 애플 인크. 액티비티를 인에이블링하기 위한 사용자 인터페이스들
DK202070633A1 (en) 2020-04-10 2021-11-12 Apple Inc User interfaces for enabling an activity
US11886448B2 (en) * 2021-05-21 2024-01-30 Airbnb, Inc. Flexible listings searches
US11404062B1 (en) 2021-07-26 2022-08-02 LifePod Solutions, Inc. Systems and methods for managing voice environments and voice routines
US11410655B1 (en) 2021-07-26 2022-08-09 LifePod Solutions, Inc. Systems and methods for managing voice environments and voice routines
CN115774595B (zh) * 2023-02-10 2023-05-16 广东远景信息科技有限公司 应急任务展示的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101647011A (zh) * 2005-07-01 2010-02-10 微软公司 基于上下文的工作环境
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917863B2 (en) * 2000-06-13 2011-03-29 National Instruments Corporation System and method for graphically creating a sequence of motion control operations
US6803929B2 (en) * 2001-07-05 2004-10-12 International Business Machines Corporation Method, apparatus and computer program product for moving or copying information
US7155678B2 (en) * 2001-08-31 2006-12-26 Gxs, Inc. Method, system, and software for generating and displaying custom views for accessing multiple applications
US8271882B2 (en) 2002-04-24 2012-09-18 Sap Ag Processing life and work events
US7168064B2 (en) * 2003-03-25 2007-01-23 Electric Cloud, Inc. System and method for supplementing program builds with file usage information
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
US20050147946A1 (en) 2003-12-31 2005-07-07 Shankar Ramamurthy Automatic object generation and user interface identification
US7428535B1 (en) 2004-06-25 2008-09-23 Apple Inc. Automatic relevance filtering
US7398523B2 (en) * 2004-08-19 2008-07-08 International Business Machines Corporation Adaptive class loading
US8510737B2 (en) * 2005-01-07 2013-08-13 Samsung Electronics Co., Ltd. Method and system for prioritizing tasks made available by devices in a network
US8069422B2 (en) * 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US8700439B2 (en) * 2005-09-27 2014-04-15 Morgan Stanley Action console framework
US7779043B2 (en) * 2005-10-06 2010-08-17 Microsoft Corporation Extensible mechanism for object composition
US20070088583A1 (en) * 2005-10-14 2007-04-19 Synergy Business Solutions Inc. Autonomic workflow application program generator and method thereof
US8661343B2 (en) * 2006-02-22 2014-02-25 Sas Institute Inc. Computer-implemented systems and methods for an automated application interface
US8108844B2 (en) * 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
US20100278453A1 (en) * 2006-09-15 2010-11-04 King Martin T Capture and display of annotations in paper and electronic documents
US8296731B2 (en) * 2007-03-05 2012-10-23 Microsoft Corporation Dynamic method selection based on declarative requirements of interaction scope
CN101334865A (zh) * 2007-06-28 2008-12-31 国际商业机器公司 工作流用户界面生成方法及生成器
US8447859B2 (en) * 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
JP5366173B2 (ja) 2008-02-28 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作支援サーバ装置、操作支援方法およびコンピュータ・プログラム
EP2178279B1 (en) * 2008-10-14 2013-08-28 Huawei Device Co., Ltd. Generation method and mobile terminal for optimizing mobile terminal operation sequence
US20100185630A1 (en) 2008-12-30 2010-07-22 Microsoft Corporation Morphing social networks based on user context
EP2406767A4 (en) 2009-03-12 2016-03-16 Google Inc AUTOMATIC CONTENT SUPPLY ASSOCIATED WITH CAPTURED INFORMATION, TYPE INFORMATION CAPTURED IN REAL TIME
FR2960077A1 (fr) * 2010-05-11 2011-11-18 Alcatel Lucent Dispositif de gestion dynamique d'applications telechargeables, pour un equipement de communication
US9936333B2 (en) * 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
US9405848B2 (en) 2010-09-15 2016-08-02 Vcvc Iii Llc Recommending mobile device activities
US20120117558A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Mobile application migration service
US8478306B2 (en) * 2010-11-10 2013-07-02 Google Inc. Self-aware profile switching on a mobile computing device
CN103649876B (zh) * 2010-11-20 2017-02-15 纽昂斯通信有限公司 使用上下文键盘在计算设备上执行操作
US10365911B2 (en) * 2011-12-18 2019-07-30 International Business Machines Corporation Determining optimal update frequency for software application updates
US9135445B2 (en) * 2012-03-19 2015-09-15 Google Inc. Providing information about a web application or extension offered by website based on information about the application or extension gathered from a trusted site
US8745617B1 (en) * 2013-02-11 2014-06-03 Google Inc. Managing applications on a client device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101647011A (zh) * 2005-07-01 2010-02-10 微软公司 基于上下文的工作环境
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理

Also Published As

Publication number Publication date
CN105027061A (zh) 2015-11-04
EP2965183A4 (en) 2016-10-12
KR102173108B1 (ko) 2020-11-02
US20140259017A1 (en) 2014-09-11
EP2965183A1 (en) 2016-01-13
WO2014137075A1 (en) 2014-09-12
US9799005B2 (en) 2017-10-24
KR20140110728A (ko) 2014-09-17

Similar Documents

Publication Publication Date Title
CN105027061B (zh) 具有上下文交互机制的计算***及其操作方法
US9870540B2 (en) Travel services search
US20200012721A1 (en) Conversational agent
US8949334B2 (en) Push-based recommendations
US10417567B1 (en) Learning user preferences in a conversational system
CN107533561A (zh) 使用企业搜索和公共搜索的上下文敏感内容推荐
US10430465B2 (en) Dynamic faceting for personalized search and discovery
WO2018125350A1 (en) Dynamically generating custom application onboarding tutorials
US11080287B2 (en) Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources
CN109313536A (zh) 基于意图动态生成的任务图标的虚拟键盘
KR20190114016A (ko) 예측성 타이핑을 위한 문맥 관련 온톨로지의 동적 로딩
US10331480B2 (en) Contextual application organizer framework for user life events
TWI680400B (zh) 基於影像管理使用者資訊的裝置與方法
CN104919444B (zh) 主题集合
US11232522B2 (en) Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source
US20190385212A1 (en) Real-time in-venue cognitive recommendations to user based on user behavior
US20170098180A1 (en) Method and system for automatically generating and completing a task
CN105229636A (zh) 上下文社交感知本地搜索
EP3942490A1 (en) Enhanced task management feature for electronic applications
US10929905B2 (en) Method, system and machine-readable medium for online task exchange
US20190068522A1 (en) Packet sharing based on identified needs of disparate users
US12014617B2 (en) Contextual item discovery and pattern inculcated reminder mechanism
CN109146324B (zh) 推荐方法、装置及电子设备
US20240221095A1 (en) Intent-based item recommendations
CN109074385A (zh) 混合连接推荐流

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180511

Termination date: 20200128

CF01 Termination of patent right due to non-payment of annual fee