CN104584009B - 用于基于任务的远程服务的方法和装置 - Google Patents
用于基于任务的远程服务的方法和装置 Download PDFInfo
- Publication number
- CN104584009B CN104584009B CN201380044573.8A CN201380044573A CN104584009B CN 104584009 B CN104584009 B CN 104584009B CN 201380044573 A CN201380044573 A CN 201380044573A CN 104584009 B CN104584009 B CN 104584009B
- Authority
- CN
- China
- Prior art keywords
- remote service
- task
- inquiry
- access control
- based access
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5055—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
这里提供了使得能够对一个或多个远程服务所提供的功能进行基于任务的访问的方法、装置和计算机程序产品。一种示例方法可以包括生成基于任务的查询,所述基于任务的查询暗示将要被执行的任务。一种方法可以进一步包括使得所述基于任务的查询被提供至远程服务发现引擎。一种方法可以进一步包括从所述远程服务发现引擎接收多个远程服务中的被配置为执行所述任务的远程服务的指示,所述指示包括用于查询所述远程服务的访问指令。
Description
技术领域
本发明的实施例总体上涉及基于任务的操作环境,更具体地涉及一种用于远程服务访问的方法、装置和计算机程序产品。
背景技术
这里提供了用于使得一个或多个任务能够被链接在一起,从而与用户界面进行交互的用户可以通过该任务链中的一个或多个任务进行滚动、后退或者以其它方式进行导航的方法、装置和计算机程序产品,该任务链可以跨一个或多个软件包。在一些示例实施例中,任务在该任务启动时被添加至任务链。在另外的示例中,任务启动可以使得任务在另一软件包中被执行。因此,当任务被添加至任务链时,用户可以经由用户界面、通过任务进行向后和向前滚动,并且有利地,例如可以通过跨软件包的任务进行滚动。用户随后可以选择该任务链中的特定任务,这使得用户能够在生成和/或以其它方式提供任务的特定软件包中查看到该任务。
发明内容
这里提供了用于使得能够对一个或多个服务所提供的功能进行基于任务的访问的方法、装置和计算机程序产品。在一些示例实施例中,可以在本地软件包并未被配置为提供对应于所识别的任务的功能的情况下生成基于任务的查询。在其它示例实施例中,远程服务可以针对所识别的本地软件包提供附加功能。所识别的任务可以经由用户界面进行输入,响应于用户动作而生成,由软件包生成,等等。可以生成基于任务的查询而使得其被配置为由远程服务发现引擎进行吸收(ingest)。在一些示例实施例中,该远程服务发现引擎已经存储或以其它方式确定了由一个或多个远程服务所提供的功能。这样以及在接收到基于任务的查询的情况下,该远程服务发现引擎可以被配置为提供用于提供对应于所接收到的基于任务的查询的功能的远程服务的访问信息。该访问信息随后可以被用来连接至远程服务以提供对应于所识别的任务的功能。
在一些示例实施例中,提供了一种方法,包括生成基于任务的查询,该基于任务的查询暗示将要被执行的任务。该实施例的方法还可以包括使得该基于任务的查询被提供至远程服务发现引擎。该实施例的方法还可以包括从该远程服务发现引擎接收多个远程服务中的被配置为执行该任务的远程服务的指示,该指示包括用于查询该远程服务的访问指令。
在进一步的示例实施例中,提供了一种装置,其包括至少一个处理器以及包括计算机程序代码的至少一个存储器,其中该至少一个存储器和该计算机程序代码被配置为与该至少一个处理器一起使得该装置至少生成基于任务的查询,该基于任务的查询暗示将要被执行的任务。该至少一个存储器和该计算机程序代码还可以被配置为与该至少一个处理器一起使得该装置使得该基于任务的查询被提供至远程服务发现引擎。该至少一个存储器和该计算机程序代码还可以被配置为与该至少一个处理器一起使得该装置从该远程服务发现引擎接收多个远程服务中的被配置为执行该任务的远程服务的指示,该指示包括用于查询该远程服务的访问指令。
在更进一步的示例实施例中,可以提供一种计算机程序产品,其包括至少一个具有存储于其中的计算机可读程序指令的非瞬态计算机可读存储介质,该计算机可读程序指令包括被配置为生成基于任务的查询的程序指令,该基于任务的查询暗示将要被执行的任务。该计算机可读程序指令还可以包括被配置为使得该基于任务的查询被提供至远程服务发现引擎的程序指令。该计算机可读程序指令还可以包括被配置为从该远程服务发现引擎接收多个远程服务中的被配置为执行该任务的远程服务的指示的程序指令,该指示包括用于查询该远程服务的访问指令。
在更进一步的示例实施例中,提供了一种装置,包括用于生成基于任务的查询的装置,该基于任务的查询暗示将要被执行的任务。该实施例的装置还可以包括用于使得该基于任务的查询被提供至远程服务发现引擎的装置。该实施例的装置还可以包括用于从该远程服务发现引擎接收多个远程服务中的被配置为执行该任务的远程服务的指示的装置,该指示包括用于查询该远程服务的访问指令。
在一些示例实施例中,提供了一种方法,包括接收基于任务的查询。该实施例的方法还可以包括确定多个远程服务中的被配置为执行与该基于任务的查询相关的任务的远程服务。该实施例的方法还可以包括生成用于多个远程服务中的该远程服务的访问指令,该访问指令包括用于查询该远程服务的访问指令。
在进一步的示例实施例中,提供了一种装置,其包括至少一个处理器以及包括计算机程序代码的至少一个存储器,其中该至少一个存储器和该计算机程序代码被配置为与该至少一个处理器一起使得该装置至少接收基于任务的查询。该至少一个存储器和该计算机程序代码还可以被配置为与该至少一个处理器一起使得该装置确定多个远程服务中的被配置为执行与该基于任务的查询相关的任务的远程服务。该至少一个存储器和该计算机程序代码还可以被配置为与该至少一个处理器一起使得该装置生成用于该多个远程服务中的该远程服务的访问指令,该访问指令包括用于查询该远程服务的访问指令。
在更进一步的示例实施例中,可以提供一种计算机程序产品,其包括至少一个具有存储于其中的计算机可读程序指令的非瞬态计算机可读存储介质,该计算机可读程序指令包括被配置为接收基于任务的查询的程序指令。该计算机可读程序指令还可以包括被配置为确定多个远程服务中被配置为执行与该基于任务的查询相关的任务的远程服务的程序指令。该计算机可读程序指令还可以包括被配置为生成用于该多个远程服务中的该远程服务的访问指令的程序指令,该访问指令包括用于查询该远程服务的访问指令。
在更进一步的示例实施例中,提供了一种装置,包括用于接收基于任务的查询的装置。该实施例的装置还可以包括用于确定多个远程服务中的被配置为执行与该基于任务的查询相关的任务的远程服务的装置。该实施例的装置还可以包括用于生成用于该多个远程服务中的该远程服务的访问指令的装置,该访问指令包括用于查询该远程服务的访问指令。
附图说明
由此已经总体上对本发明的实施例进行了描述,现在将参考附图,其并不必依比例进行绘制并且其中:
图1图示了根据本发明一些示例实施例的体现基于任务的系统并且提供对远程服务的访问的装置的框图;
图2是根据本发明一些示例实施例的移动终端的示意性框图;
图3图示了根据本发明一些示例实施例的示例远程服务发现引擎的框图;
图4a和4b图示了根据本发明示例实施例的示例用户界面;
图5图示了依据根据本发明的一些示例实施例的任务查询装置的示例方法的流程图;
图6图示了依据根据本发明示例实施例的远程服务发现引擎的示例方法的流程图。
具体实施方式
现在将参考附图对本发明的一些实施例进行更为全面地描述,附图中示出了本发明的一些而非全部实施例。实际上,本发明的各个实施例可以以许多不同方式来实现,而并不应当被理解为局限于这里所给出的实施例;相反,提供这些实施例是为了使得本公开内容满足适用的法律要求。相同的附图标记通篇指代相同要素。如这里所使用的,术语“数据”、“内容”、“信息”以及类似术语可以互换使用以指代能够依据本发明的实施例而被传送、接收和/或存储的数据。此外,如这里所使用的术语“示例”并非被提供用于传递任何定性声明,而是仅被用来传递示例的说明。因此,使用这样的术语并不应当被理解为对本发明实施例的精神和范围进行限制。
如这里所使用的,术语“电路”是指(a)仅硬件的电路实施方式实现(例如仅以模拟和/或数字电路的实施方式);(b)电路和软件(和/或固件)的组合,诸如(如果适用):(i)(多个)处理器的组合或者(ii)共同工作而使得诸如移动电话或服务器的装置执行各种功能的(多个)处理器/软件(包括(多个)数字信号处理器)、软件和(多个)存储器的组合;和(c)电路,诸如(多个)微处理器或者(多个)微处理器的一部分,其需要软件或固件进行操作,即使该软件或固件并非物理存在。
“电路”的这个定义适用于本申请中使用该术语的所有情况,包括任意权利要求。作为另一个示例,如这里所使用的,术语“电路”还将覆盖仅处理器(或多个处理器)或者处理器的一部分及其伴随的软件和/或固件的实施方式。例如以及在能够应用于特定权利要求要素的情况下,术语“电路”还将覆盖包括用于移动电话的基带集成电路或应用处理器集成电路,或者服务器、蜂窝网络设备或其它网络设备中类似的集成电路。
示例操作系统环境一般是以应用为中心的。在示例的以应用为中心的操作系统环境中,用户能够通过选择应用的图标或一些其它表示形式来启动应用。在以应用为中心的操作系统环境中,用户被要求选择将使得特定任务集合能够得以被执行的特定应用。一旦处于应用之中,用户就可以采取会导致特定功能的各种不同动作。例如,可以通过选择看上去像一封信的图标而打开电子邮件应用。一旦打开电子邮件应用,用户便可以阅读消息,发送消息等。作为另外的示例,电子邮件的用户可以打开三个不同的窗口或视图:包含针对第一个人的草稿电子邮件消息的第一视图,包含从第二个人接收的消息的第二视图以及包含收件箱的第三视图。另外,用户还可以打开具有多个窗口或视图的社交媒体应用。在一个示例的以应用为中心的操作系统环境中,用户可以在当前活动的应用之间进行切换。然而,用户始终通过前端来进入应用,该前端通常是以启动画面作为开始随后跟有缺省视图。
在一些示例中,以应用为中心的操作系统可以包括处理管理器,其可以进一步被配置为显示应用列表以及与一个或多个应用相联系的窗口列表。在这些情况下以及在系统或用户关闭该应用的情况下,与该应用相关的所有窗口都会因此从视图中被移除和/或消失。一旦从视图中被移除,为了访问特定特征或执行应用内的任务,用户必须再次开启应用并且可能要通过启动画面并且随后通过应用导航至可以提供该特定特征或功能的画面。
在一些示例中,以应用为中心的操作系统可以对来自用户的语音提示或其它请求作出响应。然而,该响应被局限于所安装的应用和/或由应用为中心的操作系统提供的预先配置的响应。附加的输入机制可以结合以应用为中心的操作系统来使用,例如被配置为接收诸如后面跟有标识符的“呼叫”命令之类的命令。“呼叫”命令被配置为激活电话应用并且向所提供的标识符发起呼叫。可以使用诸如“呼叫家庭”或“呼叫语音邮件”之类的捷径。然而,诸如以上所指出的那些捷径之类的任何捷径都被配置为打开所识别的应用和/或直接与特定应用相联系。
在基于任务的系统的一些示例中,应用图标可以不被呈现给用户,可以在用户界面中被隐藏或者以其它方式被遮挡从而防止用户直接访问应用。可替换地或附加地,在这里所描述的一些示例实施例中,应用可能无法被用户直接访问。相反地并且在一些示例实施例中,在这里公开了一种基于任务的系统,其被配置为使得用户能够向用户界面提供有待完成的任务。作为响应,这里所描述的系统和方法可以使得本地软件包和/或远程服务提供视图、采取动作和/或提供子任务,由此使得用户关于有待完成的任务而并非关于具体应用进行操作。另外,有利地,用户例如并不被当前所安装的应用所限制。
在一些示例实施例中,用户与用户界面的交互涉及将要被执行的任务或主题、将要达到的结束状态、将要执行的意愿等。在一些示例中,从用户所接收的任务或主题并不依赖于应用,而是独立于应用的。例如,诸如“播放”之类的独立于应用的任务可以涉及诸如“播放音乐”、“播放视频”、“玩游戏”等的子任务。这样,可以用那些子任务来提示用户。甚至在用户经由用户界面所提供的任务是“播放音乐”的情况下,能够获得一个或多个能够提供音乐播放功能的软件包。这样,用户就可以不再被要求选择特定任务并且随后导航至该应用的特定功能来执行任务,相反地可以在并不涉及选择完成所选择任务的特定软件包的情况下选择任务。
在一些示例实施例中,任务可以被定义为调用一个或多个本地软件包和/或多个远程服务中的功能的方法。这样,通过一个或多个软件包所暴露的任务就充当通往该一个或多个软件包的入口点。换句话说,本地软件包单独地或者与远程服务相结合可以出于完成任务的目的而开启或构建视图。例如,并且响应于“播放音乐”命令,音乐播放远程服务可以开启、构建或者以其它方式提供显示所要播放的可用音乐的视图。
作为另外的示例,用户可以提出或输入任务:“形成状态更新”。作为响应,如这里所描述的系统可以确定该任务与社交媒体应用相关,并且因此可以被配置为在第一社交媒体软件中构建、开启或者以其它方式提供使得用户能够执行状态更新的视图。同样,该状态更新视图经由任务查询管理系统进行构建或开启,而并不使得用户通过该社交媒体软件包的启动画面并且通过该软件包的其他功能进行导航以定位该状态更新功能。在完成状态更新之后,可以在该任务查询管理系统确定本地软件包并未提供功能或者提供了经由任务所请求的完整功能的情况下开启来自远程服务的新的视图。另外地并且在一些示例中,该任务可以被提供给远程服务,并且因此用户可以经由用户界面与远程服务进行交互。在这样的情况下,可以跨多个软件包和/或远程服务来在本地以及远程地执行状态更新的任务以便完成该任务。可替换地或附加地,任务可以完全由本地软件包完成,完全由远程服务完成或者由上述二者的组合完成。
在一些示例实施例中,一个或多个本地软件包(例如,至少部分存储在本地设备上的软件)可以被配置为暴露出本地软件包被配置为执行的一个或多个任务。这些被暴露出的一个或多个任务随后可以由示例的任务查询管理系统基于经由用户界面所输入或者以其它方式被提供给系统的任务进行选择。然而,在一些情况下,该被暴露出的一个或多个任务可以并不关联于一个或多个被暴露出的任务或者并不以其它方式被它们执行。在这样的情况下,可以基于该任务而生成基于任务的查询。该基于任务的查询可以被传送或以其它方式提供给远程服务发现引擎。
在一些示例实施例中,远程服务发现引擎被配置为包括可用远程服务的列表。在一些示例中,远程服务是提供能够通过网络来访问的基于任务的用户界面扩展的服务。远程服务进一步被配置为在用户界面中呈现视图(例如,服务提供用户界面)。例如,可以在将要使用用户界面所示出的特定视图中提供天气信息。在其它示例中,远程服务可以被配置为呈现数据、信息等,这些数据、信息等随后能够被任务查询管理系统用来经由用户界面来表示该数据、信息等(例如,服务并不提供用户界面)。例如,可以接收当前天气信息,但是任务查询管理系统可以经由用户界面、在任何布置中呈现天气数据。有利地,远程服务例如被配置为扩展一个或多个本地软件包的功能,向设备添加附加功能,等等。
作为响应,远程服务发现引擎可以向任务查询管理系统提供远程服务的访问信息。由此,该任务查询管理系统可以连接至远程服务或者以其它方式对其进行访问以提供由该任务定义的所请求的功能。
图1图示了根据本发明一些示例实施例的被配置为执行任务链的任务查询装置10的框图。将要意识到的是,任务查询装置10被提供为本发明实施例的示例而并不应当被理解为以任何方式使得本发明的范围或精神有所收窄。就此而言,本公开的范围包含了除这里所图示和描述的那些之外的许多可能实施例。这样,虽然图1图示了用于促进对远程服务的访问的装置的一种配置实例,但是可以使用其它配置来实施本发明的实施例。
任务查询装置10可以被体现为台式计算机、笔记本计算机、移动终端、平板计算机、移动计算机、移动电话、移动通信设备、平板计算机、一个或多个服务器、一个或多个网络节点、游戏设备、数码相机/摄像机、音/视频播放器、电视设备、无线电接收器、数字录影机、定位设备、它们的任意组合等。在示例实施例中,任务查询装置10可以被体现为诸如图2所示的移动终端。
就此而言,图2图示了表示任务查询装置10的一个实施例的移动终端110的框图。然而,应当理解的是,所图示并且在随后描述的移动终端110仅阐述了可以从本发明的实施例获益的一种类型的任务查询装置10的实施方式,因此并不应当被理解为对本发明的范围有所限制。虽然出于示例的目的图示了移动终端(例如,移动终端110、用户设备等)的若干实施例并且将在随后进行描述,但是诸如移动电话、移动计算机、便携式数字助理(PDA)、传呼机、笔记本计算机、台式计算机、游戏设备、电话和其它类型的电子系统可以采用本发明的一些实施例。
如所示出的,移动终端110可以包括与发射器114和接收器116进行通信的天线112(或多个天线112)。移动终端110还可以包括处理器120,其被配置为分别向发射器提供信号以及从接收器接收信号。处理器120例如可以被实现为包括电路的各种装置、具有所附(多个)数字信号处理器的一个或多个微处理器、没有所附数字信号处理器的一个或多个处理器、一个或多个协同处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括诸如ASIC(应用特定集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其它处理元件,或者其一些组合。因此,虽然在图1中被示为单个处理器,但是在一些实施例中,处理器120包括多个处理器。处理器120所发送并接收的这些信号可以包括依据可应用蜂窝系统的空中接口标准的信令信息和/或任意多种不同的有线或无线联网技术,包括但并不局限于无线保真度(Wi-Fi)、诸如电气与电子工程师协会(IEEE)802.11、802.16等的无线局域网(WLAN)技术,等等。此外,这些信号可以包括语音数据、用户生成的数据、用户请求的数据等。就此而言,移动终端能够利用一种或多种空中接口标准、通信协议、调制类型、接入类型等进行操作。更具体地,移动终端110能够依据各种第一代(1G)、第二代(2G)、2.5G、第三代(3G)、第四代(4G)移动通信协议、互联网协议多媒体子系统(IMS)通信协议(例如,会话发起协议(SIP))等进行操作。例如,移动终端能够依据2G无线通信协议IS-136(时分多址(TDMA))、全球移动通信系统(GSM)、IS-95(码分多址(CDMA))等进行操作。而且,例如,移动终端能够依据2.5G无线通信协议通用分组无线服务(GPRS)、增强数据GSM环境(EDGE)等进行操作。另外,例如,移动终端能够依据3G无线通信协议进行操作,诸如通用移动电信系统(UMTS)、码分多址2000(CDMA2000)、宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)等。移动终端还能够依据3.9G无线通信协议进行操作,诸如长期演进(LTE)或演进通用陆地无线接入网(E-UTRAN)等。此外,例如,移动终端能够依据第四代(4G)无线通信协议等以及未来可能研发的类似无线通信协议进行操作。
一些窄带先进移动电话系统(NAMPS)以及全接入通信系统(TACS)移动终端也可以从本发明的一些实施例获益,如双模或更高模式的电话(例如,数字/模拟或TDMA/CDMA/模拟电话)。此外,移动终端110能够根据Wi-Fi或全球微波接入互操作性(WiMAX)协议进行操作。
应当理解的是,处理器120可以包括用于实施移动终端110的音频/视频和逻辑功能的电路。例如,处理器120可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。移动终端110的控制和信号处理功能可以根据其相应能力在这些设备之间进行分配。另外,处理器可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,处理器120能够操作提供连接、例如充当web浏览器的视图的软件包。该连接程序可以允许移动终端110根据协议传送和接收诸如基于位置的内容的web内容,上述协议诸如无线应用协议(WAP)、超文本传输协议(HTTP)等。移动终端110能够使用传输控制协议/互联网协议(TCP/IP)跨互联网或其它网络传送和接收web内容。
移动终端110还可以包括用户界面,例如包括耳机或扬声器124、振铃器122、麦克风126、显示器128、用户输入接口等,它们可操作耦合至处理器120。就此而言,处理器120可以包括被配置为对用户界面的一个或多个部件的至少一些功能进行控制的用户界面电路,上述部件例如扬声器124、振铃器122、麦克风126、显示器128等。处理器120和/或包括处理器120的用户界面电路可以被配置为通过存储在可由处理器120访问的存储器(例如,易失性存储器140、非易失性存储器142等)上的计算机程序指令(例如,软件和/或固件)对用户界面的一个或多个部件的一个或多个功能进行控制。移动终端110可以包括传感器,例如GPS 136,其可以确定用户的位置信息。虽然并未示出,但是移动终端可以包括用于对与移动终端的各个电路进行供电的电池,例如用于提供机械振动作为可检测输出的电路。用户输入接口可以包括允许移动终端接收数据的设备,诸如小键盘130、触摸显示器(未示出)、操纵杆(未示出)和/或其它输入设备。在包括小键盘的一些实施例中,小键盘可以包括数字(0-9)和相关按键(#、*)和/或用于操作移动终端的其它按键。
移动终端110可以包括存储器,诸如智能卡、订户身份模块或订户识别模块(SIM)、可移除用户身份模块(R-UIM)等,它们可以存储与移动订户相关的信息要素。除了SIM之外,移动终端可以包括其它可移除和/或固定存储器。移动终端110可以包括其它非瞬态存储器,诸如至少一个易失性存储器140和/或至少一个非易失性存储器142。例如,易失性存储器140可以包括随机访问存储器(RAM),后者包括动态和/或静态RAM、片上或片下高速缓存存储器等。可以是嵌入式和/或可移除的非易失性存储器142例如可以包括只读存储器、闪存、磁性存储设备(例如,硬盘驱动器、软盘、磁带等)、光盘驱动器和/或媒体、非易失性随机访问存储器(NVRAM)等。与易失性存储器140一样,非易失性存储器142可以包括用于数据的临时存储的高速缓存区域。存储器可以存储一个或多个软件程序、指令、信息条目、数据等,它们可以被移动终端用于执行其功能。例如,存储器可以包括能够唯一识别移动终端110的诸如国际移动设备标识(IMEI)码的标识符。
返回到图1,在示例实施例中,任务查询装置10包括用于执行这里所描述的各种功能的各种装置。这些装置可以包括以下各项中的一个或多个:任务查询管理系统12、至少一个存储器18、至少一个处理器20、用户界面22和通信接口24。如这里所描述的任务查询装置10的装置例如可以被体现为电路、硬件部件(例如,适当编程的处理器、组合逻辑电路等)、包括可由适当配置的处理设备(例如,处理器20)所执行的存储在计算机可读介质(例如,存储器18)上的计算机可读程序指令的计算机程序产品(例如,软件或固件),或者它们的一些组合。
注意,一个或多个通用或专用计算系统/设备可以被用来实施任务查询装置10。此外,任务查询装置10可以包括一个或多个不同的计算系统/设备并且可以跨多个位置进行分布。此外,所示出的每个框可以将一个或多个这样的框表示为适用于具体实施例或者可以与其它框进行组合。例如,在一些实施例中,任务查询装置10可以包含任务查询管理系统12。在其它示例实施例中,任务查询管理系统12可以被配置为远程操作。在一些示例实施例中,预计算模块可以被配置为执行计算负荷并且因而可以位于远程设备上。在一些示例实施例中,任务查询装置10可以包含远程服务发现引擎28,然而在其它实施例中,远程服务发现引擎28可以被配置为至少部分远程或者完全远程进行操作。而且,任务查询装置10和/或任务查询管理系统12可以以软件、硬件、固件或者一些组合形式来实施以实现这里所描述的功能。
在一个示例实施例中,任务查询装置10的组件/模块使用标准编程技术来实施。例如,任务查询装置10可以被实施为连同一个或多个静态或动态库一起在处理器20上运行的“原生(native)”可执行程序。在其它实施例中,任务查询装置10可以被实施为由作为另一个程序或软件包而执行的虚拟机所处理的指令。通常,本领域已知的编程语言范围可以被用于实施这样的示例实施例,包括各种编程语言范例的代表性实施方式,但是并不局限于面向对象(例如,Java、C++、C#、Visual Basic.NET、Smalltalk等)、功能(例如,ML、Lisp、Scheme等)、过程(例如,C、Pascal、Ada、Modula等)、脚本(例如,Perl、Ruby、Python、JavaScript、VBScript等)和声明(例如,结构查询语言(SQL)、Prolog等)。
以上所描述的实施例还可以使用公知或专有的同步或异步客户端-服务器计算技术。而且,各个组件可以使用更多的单片编程技术来实施,例如被实施为在单处理器计算机系统上运行的可执行程序,或者可替换地使用本领域已知的各种构造技术进行分解,包括但并不局限于多程序、多线程、客户端-服务器或端对端,它们在均具有一个或多个处理器的一个或多个计算机系统上运行。一些实施例可以同时或异步执行,并且使用消息输送技术进行通信。等同的同步实施例也得到支持。而且,其它功能能够由每个组件/模块所实施和/或执行,并且以不同程序实施和/或执行,并且由不同组件/模块实施和/或执行,这同样实现这里所描述的功能。
此外,可以通过标准机制而使得通往作为任务查询装置10的一部分进行存储的数据的编程接口能够被使用,诸如通过C、C++、C#以及Java应用编程接口;用于访问文件、数据库或其它数据存储库的库;通过诸如可扩展标记语言(XML)的语言;或者通过Web服务器、文件传输协议(FTP)服务器或者针对所存储的数据提供访问的其它类型的服务器。
程序和数据的不同配置和位置被预期随这里所描述的技术而使用。各种分布式计算技术都适用于以分布式的方式来实施所图示实施例的组件,包括但并不局限于传输控制协议(TCP)/互联网协议(IP)套接字、远程过程调用(RPC)、远程方法调用(RMI)、HTTP、Web服务(XML远程过程调用(RPC)、JAX-RPC、简单对象访问协议(SOAP)等)。可能有其它的变化。而且,每个组件/模块能够提供其它功能,或者现有功能能够以不同方式在组件/模块中进行分布,但是仍然实现这里所描述的功能。
处理器20例如可以被实现为各种装置,包括一个或多个具有伴随的数字信号处理器的微处理器、一个或多个没有伴随的数字信号处理器的处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、例如ASIC或FPGA的包括集成电路的各种其它处理元件,或者它们的一些组合。因此,虽然在图1中被图示为单个处理器,但是在一些实施例中,处理器20包括多个处理器。该多个处理器可以互相进行操作通信并且可以被共同配置为执行如这里所描述的任务查询装置10的一个或多个功能。多个处理器可以在单个计算设备上实现或者跨被共同配置为用作任务查询装置10的多个计算设备进行分布。在其中任务查询装置10被实现为移动终端110的实施例中,处理器20可以被体现为或包括处理器120。在一个示例实施例中,处理器20被配置为执行存储在存储器18中或者能够以其它方式被处理器20所访问的指令。当被处理器20所执行时,这些指令可以使得任务查询装置10执行如这里所描述的任务查询装置10的一个或多个功能。这样,无论通过硬件还是软件方法还是通过它们的组合进行配置,处理器20都可以包括在被相应配置时能够执行根据本发明实施例的操作的实体。因此,例如当处理器20被实现为ASIC、FPGA等时,处理器20可以包括专门配置的用于进行这里所描述的一种或多种操作的硬件。可替换地,作为另一个示例,当处理器20被实现为诸如可以被存储在存储器18中的指令的执行器时,该指令可以对处理器20进行专门配置以执行这里所描述的一种或多种算法和操作。
存储器18例如可以包括瞬态和/或非瞬态存储器,诸如易失性存储器、非易失性存储器或者它们的一些组合。虽然在图1中被图示为单个存储器,但是存储器18可以包括多个存储器。该多个存储器可以在单个计算设备上实现或者跨被共同配置为用作任务查询装置10的多个计算设备进行分布。在各个示例实施例中,存储器18例如可以包括硬盘、随机访问存储器、高速缓存存储器、闪存、紧致盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路,或者它们的一些组合。在其中任务查询装置10被实现为移动终端110的实施例中,存储器18可以包括易失性存储器140和/或非易失性存储器142。存储器18可以被配置为存储信息、数据、应用、其它数据存储库,诸如使得任务查询装置10能够实施依据各个示例实施例的各种功能的数据存储库16、指令等。
通信接口24可以被实现为以电路、硬件、计算机程序产品或它们的组合而实现的任意设备或装置,该设备或装置被配置为从另一个计算设备接收数据和/或向另一个计算设备传送数据,该计算机程序产品包括存储在计算机可读介质(例如,存储器18)上并且由处理设备(例如,处理器20)执行的计算机可读程序指令。例如,通信接口24可以被配置为通过网络接收应用数据。任务查询装置10可以通过通信接口24经由网络26与一个或多个远程服务发现引擎28和/或远程服务30进行通信。网络26可以是促进位于远程的人和/或设备之间的通信的媒介(例如,双绞线、同轴线缆、光纤、射频)、硬件(例如,路由器、交换机、中继器、收发器)和协议(例如,TCP/IP、LTE、UDP、以太网、WiFi、WiMAX)的任意组合。就此而言,通信接口24能够利用一种或多种空中接口标准、通信协议、调制类型、接入类型等进行操作。
用户界面22可以与处理器20进行通信以在用户界面处接收诸如将要被执行的任务之类的用户输入的指示,和/或向用户提供可听、视觉、机械或其它输出。这样,用户界面例如可以包括小键盘、鼠标、轨迹球、显示器、触摸屏、麦克风、扬声器、多模式接口和/或其它输入/输出机制。
虽然任务查询装置10例如可以由移动终端和/或独立系统(例如,远程服务器)采用,但是应当注意的是,以下所描述的组件、设备或部件可能并非是强制的并且因此一些可以在某些实施例中被省略。此外,一些实施例可以包括这里所示出并描述的那些以外的另外的或不同的组件、设备或部件。
现在参考图3,图3图示了根据示例实施例的远程服务发现引擎28的框图。在示例实施例中,远程服务发现引擎28可以包括用于执行这里所描述的各种功能的各种装置。这些装置可以包括以下各项中的一个或多个:处理器210、存储器212、通信接口214或远程服务定位器216。如这里所描述的远程服务发现引擎28的装置例如可以被体现为电路、硬件部件(例如,适当编程的处理器、组合逻辑电路等)、计算机程序产品(例如,软件或固件),或者它们的一些组合,该计算机程序产品包括可由适当配置的处理设备(例如,处理器210)所执行的存储在计算机可读介质(例如,存储器212)上的计算机可读程序指令。
在一些示例实施例中,图3所示的一个或多个装置可以被体现为芯片或芯片组。换句话说,远程服务发现引擎28可以包括一个或多个包括在结构配件(例如,基板)上的材料、组件和/或连线的物理封装(例如,芯片)。该结构配件可以为其上所包括的组成电路提供物理强度、尺寸节约和/或电气交互限制。就此而言,处理器210、存储器212、通信接口214和/或远程服务定位器216可以被体现为芯片或芯片组。因此,远程服务发现引擎28在一些示例实施例中可以被配置为在单个芯片上实施本发明的实施例或者将本发明的实施例实施为单个“片上系统”。作为另一个示例,在一些示例实施例中,远程服务发现引擎28可以包括被配置为在单个芯片上实施本发明的实施例或者将本发明的实施例实施为单个“片上系统”的(多个)组件。这样,在一些情况下,芯片或芯片组可以构成用于执行提供这里所描述的操作和/或使得能够关于这里所描述的功能和/或服务进行用户界面导航的一个或多个操作的装置。
处理器210例如可以被实现为各种装置,包括一个或多个具有伴随的(多个)数字信号处理器的微处理器、一个或多个没有伴随的数字信号处理器的处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理器电路、一个或多个计算机、例如ASIC或FPGA的包括集成电路的各种其它处理元件,或者它们的一些组合。因此,虽然在图3中被图示为单个处理器,但是在一些实施例中,处理器210包括多个处理器。多个处理器可以互相进行操作通信并且可以被共同配置为执行如这里所描述的远程服务发现引擎28的一个或多个功能。多个处理器可以在单个计算设备上实现或者跨被共同配置为用作远程服务发现引擎28的多个计算设备进行分布。在一些示例实施例中,处理器210被配置为执行存储在存储器212中或者能够以其它方式被处理器210所访问的指令。当被处理器210执行时,这些指令可以使得远程服务发现引擎28执行如这里所描述的远程服务发现引擎28的一个或多个功能。这样,无论通过硬件还是软件方法还是通过它们的组合进行配置,处理器210都可以包括在被相应配置时能够执行根据本发明实施例的操作的实体。因此,例如当处理器210被实现为ASIC、FPGA等时,处理器210可以包括专门配置的用于进行这里所描述的一种或多种操作的硬件。可替换地,作为另一个示例,当处理器210被实现为诸如可以被存储在存储器212中的指令的执行器时,该指令可以对处理器210进行专门配置以执行这里所描述的一种或多种算法和操作。
存储器212例如可以包括易失性存储器、非易失性存储器或者它们的一些组合。就此而言,存储器212可以包括非瞬态计算机可读存储介质。虽然在图3中被图示为单个存储器,但是存储器212可以包括多个存储器。该多个存储器可以在单个计算设备上实现或者跨被共同配置为用作远程服务发现引擎28的多个计算设备进行分布。在各个示例实施例中,存储器212可以包括硬盘、随机访问存储器、高速缓存存储器、闪存、紧致盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路,或者它们的一些组合。存储器212可以被配置为存储信息、数据、应用、指令等,用于使得远程服务发现引擎28能够实施依据各个示例实施例的功能。例如,在一些示例实施例中,存储器212可以被配置为缓冲输入数据以便由处理器210进行处理。附加地或可替换地,存储器212可以被配置为存储程序指令以便由处理器210执行。存储器212可以以静态和/或动态信息的形式存储信息。该所存储的信息可以在远程服务定位器216执行其功能的过程期间所存储和/或使用。
通信接口214可以被实现为以电路、硬件、计算机程序产品或它们的组合而实现的任意设备或装置,该设备或装置被配置为从另一个计算设备接收数据和/或向另一个计算设备传送数据,该计算机程序产品包括存储在计算机可读介质(例如,存储器212)上并且由处理设备(例如,处理器210)执行的计算机可读程序指令。在一个示例实施例中,通信接口214可以至少部分被实现为处理器210或者以其它方式被处理器210所控制。就此而言,通信接口214诸如可以经由总线而与处理器210进行通信。通信接口214例如可以包括天线、发射器、接收器、收发器和/或用于使得能够与一个或多个远程计算设备进行通信的支持硬件或软件。通信接口214可以被配置为使用可以被用于计算设备支架黏度通信的任意协议接收和/或传送数据。就此而言,通信接口214可以被配置为使用可以被用于通过远程服务发现引擎28和一个或多个计算设备或计算资源可以通过其进行通信的无线网络、有线网络、它们的一些组合等进行数据传输的任意协议来接收和/或传送数据。作为示例,通信接口214可以被配置为使得能够经由网络26、无线电上行链路等与任务查询装置10进行通信。通信接口214还可以诸如经由总线与存储器212和/或远程服务定位器216进行通信。
远程服务定位器216可以被体现为各种装置,诸如电路、硬件、包括存储在计算机可读介质(例如,存储器212)上并且能够由处理设备(例如,处理器210)执行的计算机可读程序指令的计算机程序产品或者它们的一些组合,并且在一些实施例中,被体现为处理器210或者以其它方式被其所控制。在其中远程服务定位器216可以独立于处理器210实现的实施例中,远程服务定位器216可以与处理器210进行通信。远程服务定位器216可以进一步诸如经由总线与存储器212或通信接口214进行通信。
在一些示例实施例中,示例任务查询装置10被配置为使得用户能够在基于任务的环境中经由用户界面22与一个或多个本地软件包14和多个远程服务进行交互。用户界面22被配置为从用户、应用、与应用进行交互的用户、传感器等接收一个或多个任务请求。该任务请求可以采用选择、文本输入、语音命令和/或其它多模式输入的形式。用户界面22因此被配置为将一个或多个任务请求传递至任务查询管理系统12。
任务查询管理系统12因此可以查询或者以其它方式从一个或多个本地软件包14确定与所接收到的任务相匹配和/或相类似的任务是否可用。在经由用户界面22所接收的任务22与一个或多个本地软件包14所暴露出的一个或多个任务具有类似的意图、结束状态、目的等的情况下,一个任务与另一任务相匹配或相类似。在任务查询管理系统12确定所接收的任务并不与所暴露出的任务相匹配的情况下,任务查询管理系统12可以被配置为生成基于任务的查询以便传输至远程服务发现引擎28。可替换地或附加地,任务查询管理系统12可以确定可能导致基于任务的查询得以被生成的附加功能、附加特征、改进的用户体验等。
在一些示例实施例中,基于任务的查询可以采取对应于所接收的任务的文本串的形式。在这样的示例中,基于任务的查询可以为请求的形式。例如,将“hello”从英语翻译为威尔士语。在一些示例实施例中,任务查询管理系统12可以基于所输入任务的意图、结束状态、目的、所请求的功能等来生成基于任务的查询。可替换地或附加地,任务查询管理系统12诸如可以经由处理器20来执行搜索查询的预处理。例如,基于任务的查询可以被配置为识别该任务是在两种语言之间的翻译请求。
任务查询管理系统12进一步被配置为使得基于任务的查询诸如经由通信接口24而被传送至远程服务发现引擎28。在一些示例实施例中,远程服务发现引擎28能够经由网络26进行访问,然而,远程服务发现引擎28的至少一部分可以存储在存储器18中。可替换地或附加地,多个远程服务发现引擎28能够由任务查询装置10使用或者以其它方式被其访问。
在一些示例实施例中,远程服务发现引擎28被配置为诸如经由远程服务定位器216确定、访问或以其它方式爬取多个远程服务30以确定每个远程服务的功能和访问信息。在一些示例实施例中,远程服务发现引擎28、远程服务定位器216等可以充当被配置为爬取或者以其它方式定位多个远程服务30的搜索引擎。在一些示例中,对远程服务的功能的描述可以以远程服务发现引擎所能够吸收的任意方式来进行。可替换地或附加地,访问信息类似地能够以任意适当格式来提供,该适当格式被配置为提供足够信息而使得任务查询管理系统12能够向远程服务传送适当格式化的查询并且使得任务查询管理系统12能够理解从远程服务所接收的结果。例如,远程服务发现引擎28可以访问结合远程服务进行存储的文本文件或其它指示,该文本文件或其它指示将其功能指示为远程服务和访问信息。可替换地或附加地,远程服务可以向远程服务发现引擎28进行注册。
访问信息可以包括用于与远程服务进行交互的指令,例如但并不局限于:a)如何对查询进行格式化以发送至远程服务,b)将其发送至哪里(例如,统一资源定位符、完全合格的域名),以及c)如何对远程服务所返回的结果进行解释。在一些示例中,远程服务可以提供多于一种类型的功能。
在一些示例实施例中,远程服务的适当功能由任务查询管理系统12进行选择,并且该功能的访问信息被提供给任务查询管理系统12。可替换地或附加地,任务查询管理系统12可以将所有信息(例如,所有功能)提供给任务查询管理系统12而使得任务查询管理系统12能够确定要使用远程服务所提供的何种功能。
访问信息可以被配置为使得移动终端110、任务查询装置10等能够直接访问远程服务30。在一些示例实施例中,远程服务的访问信息诸如可以被存储在存储器18中以便随后供远程服务30进行访问。在这样的情况下,所存储的访问信息可以被规律地进行更新从而使得能够与多个远程服务30进行通信。可替换地或附加地,任务查询管理系统12可以被配置为针对每个查询而访问远程服务发现引擎28从而确保经更新的信息被提供给任务查询管理系统26。可替换地或附加地,远程服务发现引擎28可以被配置为作为端口进行操作并且因此可以诸如可以经由通信接口214而提供与远程服务30的连接。
响应于基于任务的查询,远程服务发现引擎28可以被配置为确定多个远程服务30中对应于所接收的基于任务的查询或者以其它方式提供与之相关的功能的至少一个远程服务。在一些示例实施例中,可用远程服务的列表可以被提供至任务查询装置10。可用远程服务随后可以被呈现给用户界面22以便由用户进行选择。可替换地或附加地,任务查询管理系统12和/或远程服务发现引擎28可以基于预定义的准则来选择多个远程服务30中的远程服务,上述预定义的准则例如为进行访问的成本、用户评价、流行度、最后更新时间、用户偏好等。例如,如果任务请求是“有哪些即时新闻?”,则与自从上周起还未进行更新的非常流行的新闻服务相比,用户可能对几分钟前刚刚更新过的较不流行的新闻服务更感兴趣。
在选择和/或接收了远程服务30后,任务查询管理系统12被配置为针对该远程服务30生成请求。该请求根据从远程服务发现引擎28接收的访问指令进行格式化。任务查询管理系统12随后可以使得请求诸如经由通信接口24、网络26等被传送至远程服务。作为响应,任务查询管理系统12可以从远程服务30接收用户界面视图(例如,web端口视图、远程视图等),该视图可以经由用户界面22被提供给用户。可替换地或附加地,任务查询管理系统12可以接收要在用户界面中进行显示的文本、数据或其它信息。在这样的实施例中,远程服务30可以不被配置为提供用户界面,并且因此用户界面由任务查询管理系统12基于从远程服务30所接收的输出进行构建。
图4a图示了根据本发明示例实施例的示例用户界面。作为示例,用户可以经由用户界面22输入请求404。请求404可以经由文本输入、语音命令等而生成。在该示例中,示例输入包括“从伦敦到利物浦的下一班列车是什么时间?”。作为响应,任务查询管理系统12被配置为确定一个或多个本地软件包14所暴露的一个或多个任务是否被配置为提供所请求的功能,在该示例中,该功能是列车时刻表。当确定一个或多个本地软件包14并非被配置为执行该任务时,任务查询管理系统12被配置为针对远程服务发现引擎28生成基于任务的查询。在该示例中,基于任务的查询可以包括整个串“从伦敦到利物浦的下一班列车是什么时间?”可替换地或附加地,任务查询管理系统12可以导致搜索诸如经由搜索引擎而得以执行。
如这里所描述的,远程服务发现引擎28可以被配置为爬取或者以其它方式确定一个或多个远程服务30的功能。在该示例中,远程服务发现引擎28可能已经发现了两个与列车时刻表相关的远程服务。例如,第一个远程服务可以是“铁路网旅行计划工具(NetworkRail Journey Planner)”而第二个远程服务可以是“列车时间(Train Times)”。每个远程服务可能已经提供了或者以其它方式允许远程服务发现引擎28确定远程服务的功能的描述以及包括远程服务所接受的查询的格式(语法等)在内的访问信息。在该示例中,该远程服务可以提供以下内容:
铁路网旅行计划工具
描述:英国列车时刻表出发与到达车站
接口:[有关发送至服务的查询以及从该服务发出的结果的格式的细节]
列车时间
描述:俄罗斯列车时刻表
接口:[有关发送至服务的查询以及从该服务发出的结果的格式的细节]
在一些示例实施例中,远程服务发现引擎28被配置为确定提供所请求的任务404的功能的远程服务30。这样,远程服务发现引擎可以应用语义知识,而使得从所请求的任务404中选择出词“列车”和“时间”,并且因此远程服务发现引擎28可以确定已经请求了有关列车时刻表的远程服务。远程服务发现引擎28还可以将“伦敦”和“利物浦”识别为英国(UK)的城市并且因此可以定位具有英国列车时刻表的远程服务。因此,远程服务发现引擎28可以确定铁路网旅行计划工具是该示例中可用的两个示例远程服务中更为接近的匹配。
在一些示例实施例中,远程服务发现引擎随后可以针对任务查询管理系统12识别铁路网旅行计划工具。远程服务发现引擎28进一步被配置为提供铁路网旅行计划工具的访问信息。在一些示例中,该访问信息可以包括有关如何与铁路网旅行计划工具进行连接的信息。在该示例中,铁路网旅行计划工具可以具有语法“GetTime([起点],[终点],[时间],[日期])”。因此,任务查询管理系统12可以使用上述语法而使得请求被传送至铁路网服务器。例如“GetTime(伦敦,利物浦,[时间],[日期])”。
作为响应,该铁路网计划工具可以按照在远程服务发现引擎28所提供的访问信息中所描述的格式返回结果。例如,该铁路网计划工具可以提供接下来五班列车的细节,但是任务查询管理系统12可以仅使得接下来的一班列车被显示在用户界面22中,诸如显示在框406中。可替换地或附加地,该铁路网计划工具可能已经诸如在web浏览器408中提供了用户界面,其被配置为在如图4b所示的用户界面22中示出。
可替换地或附加地,任务可以被自动生成。例如,提供订票以在附近影院观看电影的选项的本地软件包可以是可用的。然而,用户可以选择并未在该本地软件包中列出的影院,因此远程服务发现引擎28可以被自动查询以定位针对所选择的影院提供功能的远程服务。在这样的情况下,远程服务可以为本地软件包提供附加功能或者可以以独立的方式在用户界面22中被提供。
图5和图6图示了依据本发明的一个实施例由任务查询装置10、远程服务发现引擎28和/或移动终端110执行的操作的示例流程图。将要理解的是,该流程图中的每个框以及流程图中框的组合可以由各种手段来实施,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备。例如,以上所描述的一个或多个过程可以由包括计算机程序指令的计算机程序产品来实现。就此而言,体现以上所描述过程的计算机程序指令可以由采用本发明实施例的装置的存储器18、易失性存储器140、非易失性存储器142和/或存储器212所存储并且由该装置中的处理器20、处理器120和/或处理器210来执行。如将要意识到的,任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置(例如,硬件)上以生产机器,以使得所产生的计算机或其它可编程装置实现用于实施流程图的框中所指定的功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,其可以指示计算机或其它可编程装置以特定方式工作,以使得存储在计算机可读存储器中的指令产生其执行实施流程图的框中所指定的功能的制造品。计算机程序指令还可以被加载到计算机或其它可编程装置上以使得一系列操作在该计算机或其它可编程装置上被执行,以产生计算机实施的处理,从而使得在计算机或其它可编程装置上执行的指令实施流程图的框中所指定的功能。这样,当被执行时,图5和图6的操作将计算机或处理电路转换为被配置为执行本发明示例实施例的特定机器。因此,图5的操作定义了用于对计算机或处理进行配置以执行示例实施例的算法。在一些情况下,通用计算机可以被提供有处理器的实例,该处理器执行图5和图6的算法以将通用计算机变换为被配置为执行示例实施例的特定机器。
因此,流程图中的框支持用于执行指定功能的装置的组合以及用于执行所指定功能的操作的组合。还将要理解的是,流程图中的一个或多个框以及流程图中框的组合可以由执行所指定功能的基于专用硬件的计算机系统或者特殊用途的硬件和计算机指令的组合来实施。
在一些实施例中,这里的某些操作可以进行修改或如以下所描述的进一步放大。此外,在一些实施例中还可以包括另外的可选操作(其一些示例在图5中以虚线示出)。应当意识到的是,以下的每种修改、可选的添加或放大可以单独或者与这里所描述的任意其它特征进行组合地随以上操作而被包括。
图5图示了依据根据本发明示例实施例的任务查询装置的示例方法的流程图。如在操作502中所示,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、用户界面22等的装置以便经由用户界面接收识别至少一个将要被执行的任务的输入。在一些示例实施例中,基于该输入生成基于任务的查询。在一些示例实施例中,响应于当前任务由多个远程服务中的一个远程服务或者多个本地软件包中的一个本地软件包中的至少一项执行而生成该基于任务的查询。
如在操作504中所示出的,如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20等的用于确定将要被执行的任务将要被传送至远程服务发现引擎的装置,该确定基于所确定的多个本地软件包的功能。如在操作506中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20等的用于生成基于任务的查询的装置,该基于任务的查询暗示将要被执行的任务。如在操作508中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20等的用于对该基于任务的查询进行预处理而使得该基于任务的查询被配置为具有用于由远程服务发现引擎进行输入的格式的装置。
如在操作510中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、通信接口24等的用于使得基于任务的查询被提供至远程服务发现引擎的装置。如在操作512中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、通信接口24等的用于从远程服务发现引擎接收多个远程服务中的被配置为执行任务的远程服务的指示,该指示包括用于查询该远程服务的访问指令。在一些示例实施例中,该远程服务发现引擎包括定义多个远程服务的功能并且提供多个远程服务的通信指令的注册表。
如在操作514中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、通信接口24等的用于使得该基于任务的查询基于用于查询远程服务的通信指令而被传送至远程服务的装置。
如在操作516中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、通信接口24等的用于接收针对该基于任务的查询的响应的装置。在一些示例实施例中,基于与用户界面的用户交互来选择远程服务。在一些示例实施例中,基于访问成本、用户评价、流行度、最后更新时间或用户偏好中的至少一个来选择远程服务。如在操作518中所示出的,例如由任务查询装置10和/或移动终端110所体现的装置可以包括诸如任务查询管理系统12、处理器20、用户界面22等的用于使得该响应在用户界面中被显示的装置。
图6图示了依据根据本发明示例实施例的远程服务发现引擎的示例方法的流程图。如在操作602中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210、通信接口214等的用于通过爬取一个或多个远程服务器而生成多个远程服务的列表的装置。如在操作604中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210等的用于确定列表中所呈现的多个远程服务中的远程服务的功能的装置。在一些示例实施例中,该远程服务的功能包括该服务的属性的描述。如在操作606中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210等的用于确定用于该列表中的远程服务的访问指令的装置。在一些示例实施例中,用于该远程服务的访问指令包括语义信息以及对提供响应的格式的描述。
如在操作608中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210、通信接口214等的用于接收基于任务的查询的装置。如在操作610中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210等的用于确定多个远程服务中的被配置为执行与该基于任务的查询相关的任务的远程服务的装置。如在操作612中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210等的用于生成用于多个远程服务中的该远程服务的访问指令的装置,该访问指令包括用于查询该远程服务的访问指令。如在操作614中所示出的,例如由远程服务发现引擎28所体现的装置可以包括诸如处理器210、通信接口214等的用于使得该访问指令得以被传送至通信设备的装置。
这里阐述的本发明的许多修改和其它实施例将被已经从之前描述和相关联附图中所给出的教导所获益的与这些发明相关领域的技术人员所意识到。因此,所要理解的是,本发明并不局限于所公开的具体实施例并且修改和其它实施例意在被包括在所附权利要求的范围之内。此外,虽然以上描述和相关联附图以部件和/或功能的某些示例组合为背景对示例实施例进行了描述,但是应当意识到的是,可以由可替换实施例提供部件和/或功能的不同组合而并不背离所附权利要求的范围。就此而言,例如,不同于以上所明确描述的部件和/或功能的不同组合也预期在一些所附权利要求中被给出。虽然这里采用了具体术语,但是它们仅以一般和描述性含义被使用而并非用于限制的目的。
Claims (17)
1.一种用于远程服务访问的方法,包括:
经由用户界面(22)接收识别将要被执行的至少一个任务的用户输入;
在任务查询装置处生成基于任务的查询,其中所述基于任务的查询基于所述用户输入而生成并且识别所述用户所识别的将要被执行的任务,并且其中所述基于任务的查询是独立于应用的;
使得所述基于任务的查询从所述任务查询装置被提供至远程服务发现引擎;
在所述任务查询装置处,作为对所述基于任务的查询的响应从所述远程服务发现引擎接收多个远程服务中的被配置为执行所述用户所识别的任务的远程服务的指示,所述指示包括用于查询所述远程服务的访问指令;
使得所述基于任务的查询基于用于查询所述远程服务的所述访问指令而被传送至所述远程服务;
接收针对所述基于任务的查询的响应;以及
使得所述响应在用户界面中被显示。
2.根据权利要求1所述的方法,其中所述基于任务的查询响应于当前任务由所述多个远程服务中的一个远程服务或者多个本地软件包中的一个本地软件包中的至少一项执行而生成。
3.根据权利要求1所述的方法,进一步包括:
对所述基于任务的查询进行预处理而使得所述基于任务的查询被配置为具有用于由所述远程服务发现引擎进行输入的格式。
4.根据权利要求1所述的方法,进一步包括:
基于所确定的多个本地软件包的功能来确定将要被执行的所述任务将要被传送至所述远程服务发现引擎。
5.根据权利要求1所述的方法,其中所述远程服务发现引擎包括定义所述多个远程服务的功能并且提供用于所述多个远程服务的访问指令的注册表。
6.根据权利要求1所述的方法,其中所述用户界面由所述远程服务生成。
7.根据权利要求1所述的方法,进一步包括:
接收所述多个远程服务中的多于一个的远程服务;以及
选择所述多于一个的远程服务中的一个远程服务。
8.根据权利要求7所述的方法,其中基于与用户界面的用户交互来选择所述远程服务。
9.根据权利要求7所述的方法,其中基于以下各项中的至少一项来选择所述远程服务:访问成本、用户评价、流行度、最后更新时间或用户偏好。
10.一种用于远程服务访问的装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少:
经由用户界面(22)接收识别将要被执行的至少一个任务的用户输入;
在任务查询装置处生成基于任务的查询,其中所述基于任务的查询基于所述用户输入而生成并且识别所述用户所识别的将要被执行的任务,并且其中所述基于任务的查询是独立于应用的;
使得所述基于任务的查询从所述任务查询装置被提供至远程服务发现引擎;
在所述任务查询装置处,作为对所述基于任务的查询的响应从所述远程服务发现引擎接收多个远程服务中的被配置为执行所述用户所识别的任务的远程服务的指示,所述指示包括用于查询所述远程服务的访问指令;
使得所述基于任务的查询基于用于查询所述远程服务的所述访问指令而被传送至所述远程服务;
接收针对所述基于任务的查询的响应;以及
使得所述响应在用户界面中被显示。
11.根据权利要求10的装置,其中包括所述计算机程序代码的所述至少一个存储器进一步配置为与所述至少一个处理器一起使得所述装置:
基于所确定的多个本地软件包的功能来确定将要被执行的所述任务将要被传送至所述远程服务发现引擎。
12.根据权利要求10的装置,其中所述远程服务发现引擎包括定义所述多个远程服务的功能并且提供用于所述多个远程服务的访问指令的注册表。
13.一种用于远程服务访问的方法,包括:
接收基于任务的查询,其中所述基于任务的查询基于识别将要被执行的至少一个任务的用户输入而生成并且识别所述用户所识别的将要被执行的任务,并且其中所述基于任务的查询是独立于应用的;
确定多个远程服务中的被配置为执行与所述基于任务的查询相关的任务的远程服务;以及
生成用于所述多个远程服务中的所述远程服务的访问指令,所述访问指令包括用于查询所述远程服务的指令。
14.根据权利要求13的方法,进一步包括:
通过爬取一个或多个远程服务器而生成所述多个远程服务的列表;
确定所述列表中的远程服务的功能;以及
确定用于所述列表中的所述远程服务的访问指令。
15.根据权利要求14的方法,其中所述远程服务的所述功能包括对所述远程服务的所述功能的描述。
16.根据权利要求14的方法,其中用于所述远程服务的所述访问指令包括语义信息以及对提供响应的格式的描述。
17.根据权利要求13的方法,进一步包括:
使得所述访问指令被传送至通信设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/538,767 | 2012-06-29 | ||
US13/538,767 US9519506B2 (en) | 2012-06-29 | 2012-06-29 | Method and apparatus for enabling remote service task based access to functionality provided by one or more remote services |
PCT/IB2013/055290 WO2014002049A2 (en) | 2012-06-29 | 2013-06-27 | Method and apparatus for task based remote services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104584009A CN104584009A (zh) | 2015-04-29 |
CN104584009B true CN104584009B (zh) | 2019-08-23 |
Family
ID=49779703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380044573.8A Active CN104584009B (zh) | 2012-06-29 | 2013-06-27 | 用于基于任务的远程服务的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9519506B2 (zh) |
EP (1) | EP2867805B1 (zh) |
CN (1) | CN104584009B (zh) |
TW (1) | TWI614612B (zh) |
WO (1) | WO2014002049A2 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US9792154B2 (en) * | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US11436541B2 (en) * | 2017-02-02 | 2022-09-06 | Microsoft Technology Licensing, Llc | Macrotask execution for digital assistant devices |
US20230171343A1 (en) * | 2018-01-31 | 2023-06-01 | Illinois Tool Works Inc. | Systems and methods to provide remote support services to a testing device |
US11016814B2 (en) * | 2018-11-16 | 2021-05-25 | International Business Machines Corporation | Selection of ranked service instances in a service infrastructure |
CN114745418A (zh) * | 2022-04-14 | 2022-07-12 | 北京字节跳动网络技术有限公司 | 一种任务访问方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757262B1 (en) * | 2000-09-15 | 2004-06-29 | Motorola, Inc. | Service framework supporting remote service discovery and connection |
CN1716251A (zh) * | 2004-06-07 | 2006-01-04 | 国际商业机器公司 | 用于访问web服务的方法和装置 |
CN101047605A (zh) * | 2006-03-28 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种远程控制方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359711B1 (en) * | 1998-05-20 | 2002-03-19 | Steelcase Development Corporation | System and method for supporting a worker in a distributed work environment |
US8073860B2 (en) | 2006-03-30 | 2011-12-06 | Veveo, Inc. | Method and system for incrementally selecting and providing relevant search engines in response to a user query |
CN100558038C (zh) | 2006-03-31 | 2009-11-04 | 国际商业机器公司 | 服务注册器以及相关系统和方法 |
US20080046435A1 (en) * | 2006-08-18 | 2008-02-21 | Microsoft Corporation | Service discovery and automatic configuration |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080195630A1 (en) | 2007-02-13 | 2008-08-14 | Amadeus S.A.S. | Web service interrogation method and apparatus |
US9171078B2 (en) | 2009-04-29 | 2015-10-27 | Microsoft Technology Licensing, Llc | Automatic recommendation of vertical search engines |
US8903845B2 (en) | 2010-12-23 | 2014-12-02 | Yahoo! Inc. | Systems and methods for providing search assistance technologies based on user self-efficacy and search frustration |
-
2012
- 2012-06-29 US US13/538,767 patent/US9519506B2/en active Active
-
2013
- 2013-06-27 CN CN201380044573.8A patent/CN104584009B/zh active Active
- 2013-06-27 EP EP13809616.9A patent/EP2867805B1/en active Active
- 2013-06-27 WO PCT/IB2013/055290 patent/WO2014002049A2/en active Application Filing
- 2013-06-28 TW TW102123262A patent/TWI614612B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757262B1 (en) * | 2000-09-15 | 2004-06-29 | Motorola, Inc. | Service framework supporting remote service discovery and connection |
CN1716251A (zh) * | 2004-06-07 | 2006-01-04 | 国际商业机器公司 | 用于访问web服务的方法和装置 |
CN101047605A (zh) * | 2006-03-28 | 2007-10-03 | 腾讯科技(深圳)有限公司 | 一种远程控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2867805B1 (en) | 2020-07-22 |
WO2014002049A3 (en) | 2014-04-24 |
US9519506B2 (en) | 2016-12-13 |
TWI614612B (zh) | 2018-02-11 |
WO2014002049A2 (en) | 2014-01-03 |
EP2867805A2 (en) | 2015-05-06 |
US20140007113A1 (en) | 2014-01-02 |
EP2867805A4 (en) | 2016-07-06 |
TW201403351A (zh) | 2014-01-16 |
CN104584009A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104584009B (zh) | 用于基于任务的远程服务的方法和装置 | |
US11200895B2 (en) | Interaction with a portion of a content item through a virtual assistant | |
CN108886487B (zh) | 一种用于处理对话的系统、方法和计算机可读介质 | |
US9008693B2 (en) | Method and apparatus for information aggregation around locations | |
CN105556468B (zh) | 从应用本身内初始化和引导的应用定制的方法和系统 | |
CN103003797B (zh) | 用于分配计算闭包的方法和装置 | |
US20190196793A1 (en) | Building enterprise mobile applications | |
WO2018006469A1 (zh) | 基于知识图谱的人机交互方法及系统 | |
CN107210033A (zh) | 基于众包来更新用于数字个人助理的语言理解分类器模型 | |
US9460213B2 (en) | Method and apparatus for determining search results based on filtered information | |
CN109725961A (zh) | 使用自然语言处理基于用户输入执行任务的系统和方法 | |
CN107943439A (zh) | 界面移动方法、装置、智能终端、服务器和操作系统 | |
US20130332279A1 (en) | Method and apparatus for location-based advertisements for dynamic points of interest | |
CN109145204A (zh) | 画像标签生成和使用方法及系统 | |
TW201235072A (en) | Method and apparatus for gaming based on mobile terminal | |
US20120254349A1 (en) | Method and apparatus for managing service requests | |
CN108702382A (zh) | 用于确定位置的系统和方法 | |
CN107395485A (zh) | 将可选择应用链接并入与个人助理模块的会话中 | |
CN108306851A (zh) | 信息获取方法、提供方法、装置及系统 | |
CN106062793B (zh) | 已被呈现的企业内容的检索 | |
CN104063424B (zh) | 网页图片的展现方法和展现装置 | |
CN107229470A (zh) | 一种系统字体切换方法、移动终端以及计算机可读存储介质 | |
CN115374760A (zh) | 文档编辑方法、装置、设备、计算机可读介质和程序产品 | |
KR102105273B1 (ko) | 시니어 커뮤니티 제공 방법 | |
CN107368562A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160119 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
GR01 | Patent grant | ||
GR01 | Patent grant |