CN113348505A - 适应第三方服务器的设备状态报告的差异 - Google Patents

适应第三方服务器的设备状态报告的差异 Download PDF

Info

Publication number
CN113348505A
CN113348505A CN201980089841.5A CN201980089841A CN113348505A CN 113348505 A CN113348505 A CN 113348505A CN 201980089841 A CN201980089841 A CN 201980089841A CN 113348505 A CN113348505 A CN 113348505A
Authority
CN
China
Prior art keywords
client device
party
state
server device
client
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.)
Pending
Application number
CN201980089841.5A
Other languages
English (en)
Inventor
倪宇钊
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN113348505A publication Critical patent/CN113348505A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R9/00Transducers of moving-coil, moving-strip, or moving-wire type
    • H04R9/08Microphones
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/008Alarm setting and unsetting, i.e. arming or disarming of the security system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文的实施方式涉及描述技术***的一个或多个内部状态的信息。本文中的所述方式被提供用于至少在报告第三方设备状态时表征各种不同的第三方服务器的可靠性,以及适应受这种可靠性影响的设备生态***的协议。延迟能够影响由助理设备表示的设备状态的准确性。当响应于用户请求而报告更新的设备状态时,某些服务器能够被表征为特别延迟的,并且结果,第三方服务器能够与表征第三方服务器的相对延迟的度量相关。当度量无法满足特定阈值时,与第三方设备的“生态***”相关联的服务器和/或客户端能够肯定地操作以检索设备状态更新,而不是被动地等待来自对应的第三方服务器的更新。

Description

适应第三方服务器的设备状态报告的差异
背景技术
人类可以参与与本文中被称为“自动化助理”(也被称为“数字代理”、“聊天程序”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)的交互式软件应用的人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即,口头话语)和/或通过提供文本(例如,键入的)自然语言输入向自动化助理提供命令和/或请求,口头自然语言输入在一些情况下可以被转换成文本并且然后被处理。自动化助理可以通过提供响应性用户界面输出来响应请求,该响应性用户界面输出能够包括可听用户界面输出和/或可视用户界面输出。
在许多情况下,用户能够提供口头话语以使自动化助理执行各种动作来促进控制特定设备。某些设备能够通过第三方实体而变成可用的,第三方实体能够在向用户的自动化助理定期地提供操作数据方面展现出各种级别的可靠性。例如,采用将设备状态更新不可靠地推送至自动化助理的服务器的第三方实体可能使不准确的状态数据被提供给用户并且使用户错误地依赖不准确的状态数据。因此,始终依赖于其自动化助理设备的界面以确定某些设备的状态的用户可能被呈现不准确地表示设备的一个或多个内部状态和/或设备所驻留的更广泛的技术***的一个或多个内部状态的信息。用户可能基于这种不准确的状态数据无意地使某些设备保持运行或不运行,从而导致不期望的资源的消耗。此外,用户可能部署无关紧要的请求来修改其设置已经被适当地修改的设备的设置,从而浪费网络带宽和处理资源。例如,依赖于他们的自动化助理以确定他们的灯或熔炉的操作状态的用户可能不知道在第三方服务器处另外可用的最近的操作数据。这种最近的操作数据可以使用户被呈现关于灯和/或熔炉的内部状态的不准确的信息。因此,用户可能基于不准确的状态数据而导致某些请求被发送到第三方服务器以用于控制灯和/或熔炉。例如,用户可以向他们的自动化助理发出口头命令以关闭他们的起居室中的灯组,即使该灯组可能已经是关闭的。因此,口头命令将仍然被处理,并且例如被发送到自动化助理服务器和第三方服务器,其然后可以鉴于灯已经是关闭的而拒绝该命令。在许多设备上发生的这种无关紧要的事务可能导致网络流量和功耗的浪费。
发明内容
本文中阐述的实施方式涉及描述技术***的一个或多个内部状态的信息。本文中阐述的实施方式被提供用于至少在向自动化助理、客户端设备和/或另一服务器设备报告第三方设备状态方面表征各种第三方服务器的可靠性。此外,一些实施方式涉及适应用于消除这种延迟对自动化助理和/或对应设备生态***的负面影响的协议。诸如连接到局域网的计算设备的网络的特定生态***能够在设备的操作寿命期间展现各种不同的状态。一些生态***能够包括至少一个助理设备,通过该助理设备,用户能够通过向自动化助理提供请求来控制其生态***内的各种设备,该自动化助理经由助理设备能够访问。当根据请求和/或其他命令修改生态***内的设备的状态时,自动化助理能够跟踪设备的状态。例如,为了使自动化助理查明诸如家中的智能灯泡的特定设备的状态,与智能灯泡相关联的第三方服务器能够向与自动化助理相关联的第一方服务器(例如,相对于自动化助理和第三方智能灯泡的第一方服务器)提供状态更新。
然而,及时提供反映设备的准确状态的状态更新的第三方服务器的可靠性的差异能够影响由自动化助理向一个或多个用户提供的状态信息的准确性。例如,特定智能设备制造商可能不响应于用户手动控制智能设备(例如,关闭智能灯泡的电灯开关)而向第一方服务器和/或助理设备提供状态更新(或者可能向它们提供显著的延迟),而没有来自自动化助理的辅助。结果,如果用户随后请求他们的各自生态***内的他们的所有设备的状态,则特定智能设备的状态可能被不准确地呈现。这种不准确性能够导致能量和/或计算资源的浪费。例如,已经手动调节智能灯泡并且随后在上床之前检查智能灯泡的状态(即,状态)的用户可能被提供关于智能灯泡的不准确和误导的状态信息,并且因此可能没有意识到智能灯泡在整个夜晚保持接通。如果用户被提供了更准确的状态信息,则用户将能够经由助理设备在睡觉之前关闭灯泡,从而保存家庭和/或任何其他受影响的设备处的能量资源。可替代地,当智能灯泡的状态被指示为关闭,但是电灯实际上是接通的时,用户可以提供接通他们的智能灯泡的命令。由用户提供的这种命令能够导致计算和/或网络资源的浪费,因为至少语音到文本处理和/或网络传输将需要被完成,只有相应的服务器设备才能在等已经接通的情况下拒绝该命令。
本文中讨论的实施方式允许自动化助理根据表征一个或多个服务器设备和/或与那些设备相关联的其他支持***的可靠性的一个或多个不同度量来主动地请求生态***内的设备的设备状态。支持***能够表示服务器设备和/或客户端设备,其负责管理设备的设备状态以及向其他服务器、客户端、应用和/或任何其他装置或模块报告那些设备状态。在一些实施方式中,可以为对应于经由自动化助理能够控制的一或多个设备的一或多个支持***生成基于延迟的度量。能够使用时间数据来生成基于延迟的度量,时间数据表征在(例如,来自自动化助理的)对设备状态进行改变的请求与向自动化助理、第一方服务器设备和/或与自动化助理相关联的客户端设备报告更新的设备状态之间发生的时间量。基于延迟的度量此后能够被用于,例如,当第三方服务器在主动地向自动化助理传送更新的状态方面通常是不可靠的时,作出关于是否主动地请求更新的设备状态的决定。此外,基于延迟的度量还能够被用于做出关于是否或何时不主动请求更新的设备状态的决定,例如,当第三方服务器已经证明在主动向自动化助理报告更新的设备状态方面是可靠的时。
在一些实施方式中,能够生成用于测定特定服务器设备如何肯定地报告设备状态改变的一个或多个度量。例如,被连接在生态***内的智能设备经由自动化助理以及第三方应用是能够控制的。如果用户选择经由第三方应用控制该特定智能设备,服务器设备能够接收来自第三方应用的请求,并且使设备的状态改变发生。然而,第三方服务器可能不能勤勉地向自动化助理提供更新的状态。例如,虽然一些第三方服务器可以响应于第三方应用导致设备状态改变而立即向自动化助理主动提供状态更新,一些第三方服务器可能不是主动的。例如,一些第三方服务器可以不向自动化助理提供设备状态更新,和/或可以在一定量的延迟之后提供设备状态更新。基于由第三方服务器展现的这种省略和/或延迟能够生成第三方服务器的一个或多个度量。
在一些实施方式中,能够基于特定第三方服务器将向自动化助理主动地提供状态更新的概率和/或在任何给定时间自动化助理将具有准确的状态数据(如由第三方客户端设备和/或特定第三方服务器设备提供)的概率来确定一个或多个度量中的度量。当特定度量不满足阈值时,自动化助理能够选择更频繁地向第三方服务器查询某些设备的状态更新。可替代地,当特定度量满足特定阈值时,自动化助理能够绕过向第三方服务器查询状态改变更新,至少鉴于第三方服务器具有主动提供这种设备状态更新的历史。
在一些实施方式中,一个或多个度量能够影响由自动化助理执行的各种不同操作。例如,用户能够在助理设备的触摸显示面板处提供举动(例如,轻击或滑动举动),以便使助理设备呈现与对应于用户的“生态***”相关联的多个不同设备的操作状态。操作状态能够被呈现为表征设备的操作状态的图形显示元素(例如,描绘明亮发光以指示特定智能灯泡接通的电灯的图形;描绘处于关闭位置以指示警报***已经被保护的挂锁的另一图形;以及描绘温度计并且指示用户家中的房间的当前温度的又一图形)。响应于接收输入举动,助理设备和/或对应的服务器设备能够使一个或多个度量被访问。一个或多个度量中的每个度量能够对应于特定设备(例如,警报***、恒温器和灯)。此外,响应于举动,每个度量能够被用于确定向第三方服务器查询每个特定设备的当前状态,还是绕过向第三方服务器查询每个特定设备的当前状态(至少假设度量的值提供一些基础(例如,满足阈值),或者无法提供一些基础,从这些基础假设支持特定设备的第三方服务器设备在预先主动地提供关于特定设备的操作状态改变的更新方面是可靠的)。因此,在一些实例中,助理设备能够基于一个或多个度量来查询一个或多个第三方服务器设备,和/或基于一个或多个查询来绕过查询一个或多个第三方服务器设备。
作为另一示例,在一些实施方式中,自动化助理能够执行例程,其能够是根据例程的设置执行的操作的组合。例程可以是例如“晚安”例程,其能够由用户建立以便将通常由用户在睡觉之前请求的各种自动化助理操作合并成单个请求。对应于“晚安”例程的操作能够包括例如以下中的一个或多个:(1)关闭家中的各种智能灯、(2)打开家中的安全警报,以及(3)播放用户通常喜欢在床上时听的一定量的音频。在例程的执行期间,自动化助理能够访问对应于安全警报和智能灯的设备状态数据。所访问的设备状态数据能够是由自动化助理基于与第三方服务器的先前通信维护的当前设备状态数据。此外,自动化助理能够访问对应于用于智能灯泡的服务器设备和用于警报***的服务器设备的一个或多个度量。设备状态数据能够指示电灯已经关闭并且安全警报已经被激活。然而,自动化助理能够基于一个或多个度量来确定是否查询每个服务器设备以确认状态是否正确。例如,智能灯泡的服务器设备的度量能够满足阈值,并且基于(例如,响应于)满足阈值的度量,自动化助理能够绕过向服务器设备查询灯泡的状态。换句话说,自动化助理能够确定特定服务器设备具有一致地和/或以及时的方式主动地提供状态更新的历史,并且因此,度量能够指示表征设备状态的数据是准确的。
然而,在一些实例中,与支持设备和/或***(例如,警报***)的服务器设备相对应的度量可能不满足阈值。因此,基于(例如,响应于)与警报***相关联的度量不满足阈值,自动化助理能够主动地查询对应的服务器设备以便确认设备状态数据是否准确。当设备状态不准确,并且因此警报***被确定为具有不准确的状态时,自动化助理能够在例程的执行期间承担从对应的服务器设备请求改变安全警报的状态的操作。可选地,并且基于(例如,响应于)一个或多个度量,自动化助理随后能够从服务器设备请求警报***的状态验证。换句话说,因为服务器设备可能不具有在设备状态改变的请求之后一致地和/或及时肯定地提供设备状态更新的历史,所以自动化助理能够主动地确认设备状态改变实际上已经生效。
随着时间的推移,能够根据主动的特定第三方服务器设备如何报告设备状态的模式的改变来修改一个或多个先前生成的度量。例如,第三方服务器设备能够随着时间的推移而变得更主动,或者第三方服务器设备能够随着时间的推移而变得不太主动。影响这一点的因素可以包括:到特定第三方服务器设备的总网络流量的改变、用户对设备和/或帐户的使用的增加、第三方服务器的软件升级的实施方式、可用网络服务器的扩展或减少、推送的更新、对某些第三方设备的先前版本的支持的缺乏、和/或能够影响服务器设备在报告设备状态方面的如何主动的任何其他因素。作为示例,用于特定第三方服务器设备的度量可能最初不满足特定阈值,但是,由于由第三方实体发布的某些增强,第三方服务器设备能够随着时间变得更主动。结果,第一方服务器、自动化助理和/或负责跟踪这种度量的任何其他设备能够修改第三方服务器设备的对应度量,以便反映第三方服务器设备变得更主动的趋势。这能够使自动化助理减少向第三方服务器设备提供的状态请求的频率,至少部分地由于反映报告设备状态的第三方服务器设备的可靠性的度量。此外,这能够消除网络资源的浪费,否则网络资源的浪费可能被不加区别地提供的设备状态请求所消耗,至少相对于任何先前提供的设备状态改变的延迟和/或准确性而言。
在一些实施方式中,能够生成一个或多个度量和/或一个或多个参考值以对应于特定设备和特定设备的特定上下文(例如,一天中的时间、事务类型、助理设备的类型、第三方服务器设备的类型、第三方客户端设备的类型、与特定设备和/或命令相关联的特定用户)。作为示例,特定设备的第一度量能够表征在周末(或任何时间范围)期间支持的第三方服务器设备的可靠性,并且特定设备的第二度量能够表征在工作日(或任何其他时间范围)期间支持的第三方服务器设备的可靠性。以这种方式,当助理设备负责呈现特定设备的操作状态时,助理设备和/或助理服务器设备能够识别当前上下文,并且随后基于当前上下文(例如,一天的特定时间)来选择度量。然后,所选择的度量能够被用于确定向支持第三方服务器设备查询更新的状态数据,还是判定支持第三方服务器设备在主动提供这种状态更新方面是可靠的。
从以上讨论将显而易见的是,本文中描述的实施方式可以使由自动化助理设备呈现的信息更准确地表示技术***的内部状态,诸如包括智能灯泡、熔炉或电气安全警报中的一个或多个的技术***的状态(仅给出一些示例)。该信息能够帮助用户执行技术任务,包括与其内部状态由呈现的信息表示的技术***相关联的那些技术任务。这种任务的示例是控制技术***采取或保持在特定内部状态。可以减少或避免由自动化助理设备经由自动化助理设备的用户界面向用户提供不准确的状态数据。此外,当在技术***中实现操作时,也可以减少或避免自动化助理设备对这种不准确的状态数据的依赖。
以上描述是作为本公开的一些实施方式的概览来提供的。下面更详细地描述这些实施方式和其他实施方式的进一步描述。
其他实施方式可以包括存储指令的非暂时性计算机可读存储介质,指令可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行以执行诸如以上和/或本文中其他地方描述的方法中的一个或多个的方法。其他实施方式可以包括包含一个或多个处理器的一个或多个计算机和/或一个或多个机器人的***,该一个或多个处理器可操作以执行所存储的指令以执行诸如以上和/或本文中其他地方描述的方法中的一个或多个的方法。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被预期为本文中公开的主题的一部分。例如,在本公开结尾出现的所要求保护的主题的所有组合被认为是本文中公开的主题的一部分。
附图说明
图1A和图1B图示当报告特定客户端设备的状态更新时,辅助服务器设备适应第三方服务器设备的可靠性和/或可靠性模式的改变的视图。
图2A和图2B图示适应第三方服务器设备在向提供对自动化助理的访问的客户端设备报告状态改变方面的可靠性的助理服务器设备的视图。
图3图示用于至少在报告第三方设备状态时表征各种不同的第三方服务器的可靠性以及适应受这种可靠性影响的设备生态***的协议的***。
图4图示用于基于一个或多个度量来确定是否向第三方服务器查询与特定第三方客户端设备相对应的状态更新的方法。
图5是示例计算机***的框图。
具体实施方式
图1A和图1B分别图示当报告特定客户端设备108(例如,恒温器)的状态更新时,助理服务器设备104适应第三方服务器设备102的可靠性和/或可靠性模式的改变的视图100和视图140。客户端设备108能够被连接到经由诸如Wi-Fi路由器的无线网络源116提供的局域网。其他客户端设备也能够被连接到局域网,诸如平板设备(和/或任何计算设备(即,客户端设备110)和助理设备114,其能够与助理服务器设备104通信,客户端设备110能够由用户106控制并且能够包括第三方应用120,用户106能够通过第三方应用120控制客户端设备108。
用户106能够经由第三方应用120的界面118与第三方应用120交互,以便控制客户端设备108。界面118能够被呈现在客户端设备110的显示面板128处,并且能够向用户呈现用于修改客户端设备108的操作状态的控制项。例如,第三方应用120能够呈现第一控制界面124和第二控制界面126。第一控制界面124能够包括各种图形控制元件,用户106能够通过这些图形控制元件修改客户端设备108的一个或多个操作和/或设置。第二控制界面126能够包括一个或多个图形控制元件,用户106能够从图形控制元件控制客户端设备108的一个或多个操作和/或设置。
例如,当客户端设备108是恒温器时,界面118能够提供图形控制元件,用户106能够从图形控制元件改变客户端设备108的温度设置。界面118还能够包括当前温度读数(例如,65度),其能够呈现用户位于的房间112中的当前温度。房间112的当前温度能够是65度,并且用户能够向界面118的图形控制元件提供输入,以便将房间112温度调整到72度。响应于用户106提供界面118或以其他方式与界面118交互,第三方应用120能够通过局域网向第三方服务器设备102发送设备请求136。设备请求136能够使客户端设备108的操作状态改变,以便经由第三方应用120实现由用户106请求的设置改变。
第三方服务器设备102能够负责利用客户端设备108的操作状态的改变来更新服务器设备和/或客户端设备。例如,用户106能够访问助理设备114以便确定客户端设备108的状态。根据可用于助理设备114和/或辅助服务器设备104的状态数据,客户端设备108的状态能够被呈现在助理设备114的显示面板134处。然而,如果第三方服务器设备102不主动向助理设备114提供状态更新,助理设备114可能没有准确的状态数据来呈现给用户106。换句话说,当对应于第三方服务器设备102的度量指示第三方服务器设备102不可靠时,助理设备114能够至少响应于用户输入,诸如对客户端设备108的状态的请求,选择向第三方服务器设备102查询更新的状态。可替代地,当对应于第三方服务器设备102的度量指示第三方服务器设备102可靠时,助理设备114能够选择依赖本地存储的状态数据,并且绕过向第三方服务器设备102查询更新的状态。以这种方式,度量将缓解每次用户106请求特定客户端设备的状态更新时查询第三方服务器设备102的需要。
然而,在一些实施方式中,助理服务器设备104能够在报告客户端设备108所展现的状态改变时确定第三方服务器设备102的延迟。能够基于第三方服务器设备102的延迟生成一个或多个度量,并且一个或多个度量此后能够被用于确定是否:主动地向第三方服务器设备102查询关于客户端设备108的状态更新,和/或绕过提供这种查询,至少促进依赖第三方服务器设备102以主动地将状态数据传送到辅助服务器设备104。
例如,响应于用户106滑动图形控制元件138以经由界面118改变客户端设备108的设置,设备请求136能够被发送到第三方服务器设备102。结果,当向助理服务器设备104和/或助理设备114提供对应的状态更新时,第三方服务器设备102能够展现出一定量的延迟。例如,延迟能够是但不限于用户106改变客户端设备108的设置与辅助服务器设备104接收更新的状态数据之间的时间段。
如图1B中所示,响应于助理设备114和/或助理服务器设备104没有主动地从第三方服务器设备102接收状态更新,第三方服务器设备102能够从助理服务器设备104接收状态请求138。换句话说,基于从第三方服务器设备104的延迟所生成的度量,辅助服务器设备104能够主动地确定向第三方服务器设备102发出状态请求138,或等待第三方服务器设备102主动地向辅助服务器设备104发送状态更新。在一些实施方式中,度量能够基于与客户端设备108的设备设置经由第三方应用120被改变与辅助服务器设备104和/或助理设备114从第三方服务器设备102已经接收到状态数据的时间之间的时间段相对应的延迟而被生成。可替代地或另外,度量能够基于第三方服务器设备102向辅助服务器设备104发送最近的状态更新的时间与第三方服务器设备102从第三方应用120和/或用户106接收到请求的时间之间的延迟而被生成。在一些实施方式中,客户端设备108的状态改变能够经由客户端设备110和/或直接在客户端设备108的界面处被执行。例如,客户端设备108能够包括一个或多个界面,该一个或多个界面能够经由触摸输入、举动输入、口头输入和/或可以由用户106提供的任何其他输入来控制。在一些实施方式中,度量从其被生成的延迟能够基于客户端设备108在物理上集成到客户端设备108的界面处接收到来自用户106的请求的时间与在来自用户106的请求之后助理服务器设备104和/或助理设备114从第三方服务器设备102接收到状态更新的时间之间的时间段。
图2A和图2B分别图示适应第三方服务器设备202在报告在客户端设备208处的状态改变方面的可靠性的助理服务器设备204的视图200和视图240。用户206能够使用一个或多个口头话语238来控制客户端设备208,该口头话语能够被提供给助理设备214的自动化助理界面。助理设备214能够经由至少诸如由Wi-Fi路由器216提供的Wi-Fi网络的局域网和/或诸如互联网的广域网与客户端设备208通信。响应于接收口头话语238,助理设备214能够生成能够表征口头话语238的音频数据,并且将该音频数据提供给辅助服务器设备204以用于处理。可替代地或附加地,助理设备214能够本地处理音频数据。处理音频数据能够包括,例如,将音频数据转换成文本(或其他表示)、从转换后的表示生成至少自然语言理解(NLU)数据、以及基于NLU数据来识别由口头话语238反映的一个或多个意图请求。
基于由助理服务器设备204和/或助理设备214对音频数据的处理,助理服务器设备204能够向第三方服务器设备202发送设备请求236。响应于接收设备请求236,第三方服务器设备202能够与客户端设备208通信,以促进满足来自用户206的多个请求中的一个。例如,口头话语238能够包括自然语言内容,诸如“助理,请将我的恒温器设置为72°”(“Assistant,please set my thermostat to 72°”)(°。基于该自然语言内容,设备请求236能够被以识别用于修改客户端设备208的设置并且具体地修改客户端设备208(例如,恒温器)的温度设置的意图。
用户206能够在回家、进入他们的家的房间212、以及看到呈现在助理设备214的显示面板234处的当前温度读数之后提供口头话语238。助理设备214能够呈现辅助应用的界面230,其能够提供用于控制客户端设备208的一个或多个设置的一个或多个图形控制元件232。此外,界面230能够呈现与客户端设备208相对应的状态数据。例如,在用户206提供口头话语238之前,助理应用的界面230能够指示客户端设备208的设置被设置为65度。该状态数据能够基于在用户提供口头话语238之前由第三方服务器设备202提供的数据。助理服务器设备204和/或助理设备214能够确定表征第三方服务器设备202和/或客户端设备208在提供这种状态数据更新方面的可靠性的一个或多个度量。基于这些一个或多个度量,助理服务器设备204和/或助理设备214能够确定是否主动地请求来自第三方服务器设备202的状态数据,和/或等待第三方服务器设备202和/或客户端设备208提供状态更新。
在一些实施方式中,一个或多个度量能够基于在用户已经提供口头话语238之后报告状态更新时由第三方服务器设备202展现出的延迟。口头话语能够被提供以促进控制与第三方服务器设备202通信的第三方客户端设备208。例如,延迟的量能够基于在助理设备214从用户206接收口头话语238和当助理设备214接收与口头话语238相对应的状态更新时的时间之间的时间延迟量。可替代地或另外,延迟的量能够基于助理服务器设备204向第三方服务器设备202提供设备请求236时与当助理服务器设备204从第三方服务器设备202接收状态数据242时之间的时间延迟。
在一些实施方式中,表征第三方服务器设备202和/或客户端设备208的可靠性的一个或多个度量能够基于延迟的一个或多个测量和/或延迟与一个或多个参考值的比较。例如,自动化助理和/或助理服务器设备204能够与对应于各种不同的第三方实体的各种不同的第三方服务器设备202交互。每个第三方实体能够导致它们各自的第三方服务器设备和/或它们各自的客户端设备处的一定量的延迟。在一些实施方式中,参考值能够表征由一个或多个第三方实体导致的平均延迟量。因此,度量值能够指示展现比一个或多个第三方实体的平均延迟更少的延迟的特定第三方服务器设备的更高的可靠性。此外,另一度量值能够指示展现比一个或多个第三方实体的平均延迟更多的延迟的特定第三方服务器设备的更低的可靠性。在一些实施方式中,参考值能够基于多个不同类型的延迟特性(例如,每个延迟特性能够表征涉及第三方服务器设备和/或第三方客户端设备的一个或多个不同类型的交互、表征设备的类型、表征一天中的时间)或单个类型的延迟测量。
当第三方服务器设备202对应于指示相对于其他第三方实体的更低的可靠性的度量时,助理服务器设备204能够在提供设备请求236之后向第三方服务器设备202提供状态请求244。可替代地或另外,当第三方服务器设备202对应于指示相对于其他第三方实体的更高的可靠性的不同度量时,助理服务器设备204能够在提供设备请求236之后绕过向第三方服务器设备202提供状态请求244。响应于接收状态请求244,第三方服务器设备202能够生成更新的状态数据,并且向助理服务器设备204和/或助理设备214提供状态数据。响应于接收更新的状态数据,助理服务器设备204和/或助理设备214能够使助理设备214的显示面板234渲染表征更新的状态数据242的界面230。例如,因为用户206先前请求客户端设备208的温度设置被设置为72度,界面230能够基于从第三方服务器设备202接收的更新的状态数据来表征该最近的设置。以这种方式,使用这种度量允许助理设备214和/或助理服务器设备204确定主动检索更新的状态数据或依赖第三方服务器设备202主动地提供更新的状态数据。
通过根据表征不同的第三方设备和/或实体的可靠性的一个或多个度量来操作助理服务器设备204和/或助理设备214,计算资源能够被保留。例如,当助理服务器设备204承认第三方服务器设备的可靠性时,网络带宽能够被保留,并且因此绕过发送频繁的状态更新请求。此外,对于可以被指示为不可靠的那些第三方实体,至少通过主动地请求这种数据,助理服务器设备204和/或助理设备214将具有关于其他客户端设备的更准确的数据。结果,助理服务器设备204和/或助理设备214将能够关于控制某些客户端设备做出更明智的决定。例如,用户可以依赖于关于客户端设备的状态的不准确的数据,并且向自动化助理发出请求以便修改客户端设备的状态。结果,请求可以使助理设备214实现指令,该指令使特定客户端设备低效地操作、执行冗余操作、和/或以其他方式浪费电力和/或其他计算资源。通过采用本文中提供的实施方式,这种浪费的操作能够被消除。
图3示出用于至少在向自动化助理304报告第三方设备状态时表征各种不同的第三方服务器的可靠性以及适应受这种可靠性影响的设备生态***的协议的***300。自动化助理304能够作为在诸如客户端设备318和/或服务器设备302的一个或多个计算设备处提供的助理应用的一部分进行操作。用户能够经由助理界面与自动化助理304交互,助理界面能够是麦克风、相机、触摸屏显示器、用户界面和/或能够提供用户与应用之间的界面的任何其它设备。例如,用户能够通过向助理界面320提供口头、文本和/或图形输入以使自动化助理304执行功能(例如,提供数据、控制***设备、访问代理、生成输入和/或输出等)来将自动化助理304初始化。客户端设备318能够包括显示设备,其能够是包括触摸界面的显示面板,该触摸界面用于接收用于允许用户经由触摸界面控制客户端设备318的应用的触摸输入和/或举动。在一些实施方式中,客户端设备318能够缺少显示设备,从而提供可听的用户界面输出,而不提供图形用户界面输出。此外,客户端设备318能够提供用于从用户接收口头自然语言输入的诸如麦克风的用户接口。在一些实施方式中,客户端设备318能够包括触摸界面并且能够没有相机,但是能够可选地包括一或多个其他传感器。
客户端设备318和/或其他第三方客户端设备318能够通过诸如互联网的网络340与服务器设备302通信。另外,客户端设备318与其他计算设备434能够通过诸如Wi-Fi网络的局域网(LAN)彼此通信。客户端设备318能够将计算任务卸载到服务器设备302以便节省客户端设备318处的计算资源。例如,服务器设备302能够托管自动化助理304,并且客户端设备318能够向服务器设备302发送在一个或多个助理界面320处接收到的输入。然而,在一些实施方式中,自动化助理304能够作为客户端自动化助理322在客户端设备318处被托管。
在各种实施方式中,自动化助理304的所有方面或少于所有方面能够在客户端设备318上被实现。在那些实施方式中的一些中,自动化助理304的方面经由客户端设备318的客户端自动化助理322被实现,并且能够与能够实现自动化助理304的其他方面的服务器设备302对接。服务器设备302能够可选地经由多个线程来服务多个用户及其相关联的助理应用。在自动化助理304的所有方面或少于所有方面经由客户端设备318处的客户端自动化助理322来实现的实施方式中,客户端自动化助理322能够是与客户端设备318的操作***(例如,安装在操作***的“顶部上”)分开的应用-或者能够可替代地直接由客户端设备318的操作***(例如,被认为是操作***的应用,但是与操作***集成)来实现。
在一些实施方式中,自动化助理304和/或客户端自动化助理322能够包括输入处理引擎306,其能够采用用于处理客户端设备318和/或服务器设备302的输入和/或输出的多个不同模块。例如,输入处理引擎306能够包括语音处理引擎308,其能够处理在助理界面320处接收的音频数据以识别音频数据中包含的文本。音频数据能够从例如客户端设备318发送到服务器设备302,以便保留在客户端设备318处的计算资源。
用于将音频数据转换成文本的处理能够包括语音识别算法,其能够采用神经网络和/或统计模型来识别与单词或短语相对应的音频数据组。从音频数据转换的文本能够由数据解析引擎310解析并且作为文本数据对自动化助理可用,该文本数据能够被用于生成和/或识别命令短语、意图、动作、槽值和/或用户指定的任何其他内容。在一些实施方式中,由数据解析引擎310提供的输出数据能够被提供给参数模块312以确定用户是否提供了对应于能够由自动化助理304执行的和/或能够经由自动化助理304访问的应用或代理执行的特定意图、动作和/或例程的输入。例如,助理数据316能够作为助理设备数据316被存储在服务器设备302和/或客户端设备318处,并且能够包括定义能够由自动化辅助304和/或客户端自动化辅助322执行的一个或多个动作的数据,以及执行动作所必需的参数。
在一些实施方式中,服务器设备302、自动化助理304和/或客户端设备318能够跟踪第三方服务器设备350和/或第三方客户端设备336的可靠性。具体地,第三方服务器设备350和/或第三方客户端设备336的可靠性能够在报告状态更新时的延迟、特定状态更新的准确性和/或能够指示服务器设备和/或客户端设备的可靠性的任何其他特性方面而被跟踪。例如,用户能够向助理界面320提供输入,这能够使自动化助理304经由输出生成引擎314提供输出。输出能够基于由能够处理来自用户的输入的参数引擎312提供的数据。输出能够被提供给第三方服务器设备315,以便影响第三方客户端设备336的操作和/或设置。例如,第三方客户端设备336能够是连接在用户家中或以其他方式与用户相关联的多个第三方客户端设备中的一个。用户可以通过许可自动化助理304与第三方客户端设备336和/或第三方服务器设备350通信经由自动化助理304控制第三方客户端设备336。来自输出生成引擎314的输出能够被提供给第三方服务器设备350。例如,来自服务器设备302的输出能够表征用户所请求的意图,诸如警报***控制意图。输入请求引擎354能够从服务器设备302接收输出,并且确定输出已经由服务器设备302提供,以及输出基于来自与其相应的自动化助理交互的特定用户的输入。此外,客户端命令引擎356能够基于服务器设备302的输出来生成一个或多个客户端命令。基于输入请求引擎354和/或客户端命令引擎356的一个或多个处理,第三方服务器设备350能够向用户意图利用其输入进行控制的第三方客户端设备336发送一个或多个命令。当第三方客户端设备336接收一个或多个命令时,第三方客户端设备336的命令引擎342能够处理一个或多个命令。命令数据能够由命令引擎342生成,并且由设置引擎344使用以确定一个或多个设置和/或一个或多个操作,以根据一个或多个命令进行修改。对第三方客户端设备336的设置、操作和/或任何其他特征的任何改变能够以被存储为本地设备数据346的状态数据被表征。当状态数据在第三方客户端设备336处已经被生成时,第三方客户端设备336能够确认用于第三方服务器设备350的一个或多个命令的执行的完成。
在一些实施方式中,当第三方服务器设备350基于从用户到自动化助理的输入向第三方客户端设备336发送一个或多个命令时,第三方服务器设备350还能够向服务器设备302和/或客户端设备318发送确认。确认能够向服务器设备302和/或客户端设备318指示第三方服务器设备350已经承认来自用户的输入并且已经作用于来自用户的输入。此后,第三方服务器设备315能够确定第三方客户端设备336已经成功地执行一个或多个命令,并且响应于确定第三方客户端设备336已经成功地执行一个或多个命令,第三方服务器设备350能够更新任何客户端设备数据358,以便表征第三方客户端设备336的更新的操作状态。此外,取决于负责第三方服务器设备350的第三方实体,第三方服务器设备250能够向服务器设备302发送状态数据。然而,不同的第三方服务器设备可以根据各种不同的协议来提供这种状态更新。
在一些实施方式中,第三方服务器设备350能够根据协议进行操作,其中,第三方服务器设备350的客户端状态引擎352提供用于确认某些命令由第三方客户端设备336执行的请求。基于来自第三方客户端设备336的这种确认,客户端状态引擎352能够生成状态数据的各种集合,其能够作为客户端设备数据358被存储在第三方服务器设备350处。然而,第三方服务器设备350可以根据用于向诸如服务器设备302、自动化助理304、和/或客户端设备318的其他利害关系方提供状态更新的另一协议进行操作或无法根据该另一协议进行操作。
服务器设备302的第三方交互引擎326能够收集关于各种不同的第三方服务器设备350的各种数据,以促进消除在客户端设备318处被展现的状态不准确和/或延迟。例如,对应于服务器设备302与第三方服务器设备350之间的交互的时间数据能够由第三方交互引擎326收集。第三方交互引擎326能够识别从服务器设备302传送请求时的特定时间、在客户端设备318处从用户接收请求时的特定时间、在服务器设备302处从客户端设备318接收请求时的特定时间、在第三方服务器设备350从服务器设备302接收指令时的特定时间、第三方服务器设备350向一个或多个第三方客户端设备336发送命令数据时的特定时间、一个或多个第三方客户端设备336向第三方服务器设备350确认命令数据的接收时的特定时间、第三方服务器设备350提供对来自服务器设备302的指令的接收的确认时的特定时间、第三方服务器设备350请求来自第三方客户端设备336的状态更新时的特定时间、第三方服务器设备350接收来自第三方客户端设备336的状态数据时的特定时间、服务器设备302接收来自第三方服务器设备250的客户端状态数据时的特定时间、和/或能够表征相对于至少一个设备发生的事务的任何其他时间特征。
服务器设备302能够包括可靠性引擎324,其能够使用由第三方交互引擎326生成的时间数据,以便基于本文中讨论的任何事务的一个或多个时间特征来生成一个或多个度量328。一个或多个度量能够表征一个或多个第三方服务器设备350的可靠性,至少在主动地向自动化助理304、服务器设备302和/或客户端设备318提供状态更新方面。此外,第三方交互引擎326能够使用一个或多个度量328以做出关于是否和/或如何与特定第三方服务器设备350交互的决定。例如,响应于确定用户提供了改变第三方客户端设备336的操作设置的请求,服务器设备302能够确定在将用户请求传达到第三方服务器设备350之后立即查询第三方服务器设备350,还是等待第三方服务器设备350提供对应于第三方客户端设备336的更新的状态数据。
在一些实施方式中,可靠性引擎324能够确定和/或生成一个或多个参考值360,第三方交互引擎326能够将参考值360与度量328进行比较。参考值360能够基于与第三方服务器设备350和/或第三方客户端设备336相对应的一个或多个事务。此外,参考值360能够指示特定第三方实体的可靠性,至少在第三方实体在采用主动报告服务器设备和/或客户端设备的状态改变的服务中有多可靠方面。在一些实施方式中,参考值和/或度量能够表征多个不同第三方实体的可靠性、多个不同第三方服务器的可靠性、多个不同第三方客户端设备的可靠性、某些类型的第三方实体的可靠性和/或能够与自动化助理交互的任何其他第三方实体和/或设备。
作为示例,并且在一些实施方式中,参考值能够表征在履行对自动化助理的用户请求之后报告客户端设备状态更新时由一个或多个不同的第三方服务器设备展现的平均延迟量。换句话说,当多个不同的第三方服务器设备350的平均延迟是1小时时,参考值360中的至少一个参考值例如是1小时。因此,当自动化助理与关联于第三方实体的第三方服务器设备350正在交互时,第三方交互引擎326能够访问对应于该第三方实体的度量并且将该度量与参考值进行比较。当度量对应于小于参考值或平均值的延迟量时,第三方交互引擎326能够绕过向第三方服务器设备350主动地查询客户端设备状态更新。然而,当度量对应于大于参考值或平均值的延迟量时,第三方交互引擎326能够向第三方服务器设备350主动地查询客户端设备状态更新。应当注意,参考值能够对应于小于或大于微秒、毫秒、秒、小时、天和/或任何其他时间单位的任何数量的时间的量。例如,参考值能够是但不限于500毫秒,并且因此度量与该特定参考的比较能够提供基础,从该基础向第三方服务器设备350查询状态更新,或者绕过向第三方服务器设备350提供查询状态更新。
图4图示用于基于一个或多个度量来确定是否向第三方服务器查询与特定第三方客户端设备相对应的状态更新的方法400。方法400可以由一个或多个计算设备、应用和/或能够与第三方服务器设备和/或第三方客户端设备交互的任何其他装置或模块来执行。方法400能够包括确定是否已经接收到特定设备的更新的设备状态数据的操作402。当已经接收到特定设备的更新的设备状态数据时,方法400能够从操作402前进到操作404。操作404能够包括确定从修改特定设备的操作状态的最近的请求开始的时间延迟或时间的量。换句话说,操作404能够包括确定在接收到该特定设备的更新的设备状态数据时的时间与当向第三方服务器设备、特定客户端设备和/或任何其他相关联的设备提供修改特定设备的操作状态的最近请求时的时间之间的时间段。
方法400还能够包括确定存储的操作状态相对于更新的状态数据的准确性的可选操作406。可选操作406能够由与第三方服务器设备和/或第三方客户端设备通信的服务器设备和/或客户端设备周期性地确定。在一些实施方式中,可选操作406能够被随机地确定,和/或响应于来自用户的对设备状态的请求而被确定,以便评估特定第三方服务器设备在主动提供状态更新的方面有多可靠。例如,用户可能已经使用第三方客户端设备的界面或对应于第三方客户端设备的第三方应用修改了和/或初始化了第三方客户端设备的操作。取决于第三方实体在提供状态更新方面有多主动,自动化助理或助理相关的设备可以接收或可以不接收关于用户的动作的任何状态更新。因此,如果服务器设备检查第三方客户端设备的状态,并且由第三方服务器设备指示的状态不同于存储在服务器设备处的状态,服务器设备能够生成数据以表征设备状态的该不准确性。
此外,如果服务器设备检查第三方客户端设备的状态,并且由第三方服务器设备指示的状态与存储在服务器设备处的状态相同,服务器设备也能够使用数据来捕获该准确性。以这种方式,服务器设备和/或客户端设备能够表征由服务器设备和/或客户端设备存储的用于特定第三方客户端设备的状态数据在任何给定时间准确的概率。因此,如果服务器设备确定特定第三方客户端设备的状态数据准确的概率很高,并且用户请求第三方客户端设备根据相同的状态数据进行操作,服务器设备能够绕过请求第三方服务器设备修改第三方客户端设备的操作。结果,这能够节省网络带宽和计算资源,因为客户端与服务器之间的许多无关紧要的或其他方式不必要的事务将被避免。
然而,如果服务器设备确定特定第三方客户端设备的状态数据准确的概率低,并且服务器设备从用户接收根据相同的特定状态数据来操作第三方客户端设备的请求,尽管服务器设备正处于第三方客户端设备已经如用户所请求的那样进行操作的印象下,但是服务器设备无论如何都能够向第三方服务器设备传送请求。作为响应,第三方服务器设备能够处理请求,并且指示第三方客户端设备已经根据相同的特定状态数据进行操作。作为响应,当第三方客户端设备尚未根据服务器设备存储的相同特定状态数据进行操作时,第三方服务器设备能够处理请求并且使第三方客户端设备操作以促进履行来自用户的请求。
方法400能够进一步包括生成和/或修改与第三方服务器设备可靠性相对应的一个或多个度量的操作408。一个或多个度量能够基于在操作404确定的时间延迟和/或时间段,和/或在可选操作406确定的准确性。换句话说,在一些实施方式中,一个或多个度量能够基于由一个或多个第三方服务器设备所展现的延迟量和/或为特定第三方服务器设备确定的准确性。在一些实施方式中,度量能够是从不同值的范围中选择的一个或多个不同值。可替代地或另外,度量能够是离散值,诸如1或0,例如,当时间延迟大于、等于或小于特定参考值时,度量能够被定义为1。此外,当时间延迟小于、等于或大于特定参考值时,度量能够被定义为0。在一个非限制性示例中,当时间延迟是2秒并且参考值是5秒时(即,当时间延迟小于参考值时),度量能够被分配1。可替代地,在另一非限制性示例中,当时间延迟是7秒并且参考值是5秒时(即,当时间延迟大于参考值时),度量可以能够被分配0。
在一些实施方式中,一个或多个度量能够基于在操作406和/或操作404生成的数据,和/或能够指示第三方服务器设备的可靠性的任何其他数据。一个或多个度量能够从不同值的范围被选择,并且能够可选地基于一个或多个参考值。在一些实施方式中,一个或多个度量可以是离散值或二进制值,诸如1或0,指示负责提供关于一个或多个第三方客户端设备的状态数据的第三方服务器设备在主动地提供状态数据方面是可靠的或不可靠的。在一些实施方式中,一个或多个度量能够被用于确定是否向特定第三方服务器设备查询更新的状态数据。
方法400能够从操作408前进到操作402,以便确定是否已经接收到特定设备的任何进一步的更新的设备状态数据。当在操作402,在给定时间没有接收到特定设备的更新的状态数据时,方法400能够从操作402前进到操作410。操作410能够包括确定一个或多个设备度量是否提供了向第三方服务器设备查询关于特定设备的状态数据的基础。例如,能够将一个或多个度量与一个或多个参考值进行比较,以便确定是否存在向第三方服务器设备提供查询状态数据的的基础。在一些实施方式中,一个或多个度量能够被处理以确定一个或多个度量是否满足特定阈值,和/或一个或多个度量是否大于、等于和/或小于一个或多个特定参考值。当一个或多个度量不提供向第三方服务器设备查询状态数据的基础时,方法400能够从操作410前进到操作402。可替代地,当一个或多个度量确实提供了向第三方服务器设备提供查询状态数据的基础时,方法400能够从操作410前进到操作412。通过完成方法400,至少完成操作402、410和412,至少当在特定时间段内尚未接收到操作状态更新时,助理服务器和/或助理设备能够确定是否和/或何时向第三方服务器设备查询客户端设备的更新的操作状态数据。
操作412能够包括经由第三方服务器设备访问特定设备的状态数据的操作。为了访问状态数据,服务器设备能够向第三方服务器设备发送请求,并且作为响应,第三方服务器设备能够将状态数据提供回请求服务器设备和/或对应的客户端设备。方法400进一步包括确定自动化助理是否已经接收到修改特定设备的操作状态的请求的操作414。当自动化助理尚未接收到修改特定设备的操作状态的请求时,方法400能够从操作414前进至操作402。然而,当助理已经接收到修改特定设备的操作状态的请求时,方法400能够从操作414前进到操作416。操作416能够包括根据自动化助理接收到的请求使特定设备具有修改的操作状态。此外,方法400能够从操作416前进到操作402,其中,做出关于是否已经接收到受来自操作414和/或操作416的请求影响的特定设备的更新的状态数据的确定。
第三方服务器设备的可靠性可以被确定为随时间而变化,例如通过展现对应于一天中的时间或一周中的天的可靠性模式。例如,使用本文描述的技术,与特定第三方服务器相关联的时间延迟能够被确定在晚上/早晨和/或周末期间比在一天的其他时间更大(或者对于一天的其他时间比诸如晚上/早晨和/或周末的其他时间更大)。基于这些确定,第一方服务器设备能够修改其关于主动地寻求与第三方服务器相关联的特定第三方客户端设备的操作状态更新的行为。在确定第三方服务器在主动地提供状态更新方面令人满意地可靠的一周中的一天/几天中的时间,第一方服务器可以减少(或消除)其从第三方服务器请求状态更新的主动性。相应地,在确定第三方服务器在主动提供状态更新方面不令人满意地可靠的一周中的一天/几天中的时间,第一方服务器可以增加其从第三方服务器请求状态更新的主动性。这可以有助于第一方服务器在其对第一方服务器和第三方服务器处的网络资源和计算资源的使用方面是高效的,同时还维护关于与第三方服务器相关联的一个或多个第三方客户端设备的内部操作状态的在第一方服务器处的准确信息。
图5是示例计算机***510的框图。计算机***510通常包括至少一个处理器514,其经由总线子***512与多个***设备通信。这些***设备可以包括存储子***524,例如包括存储器525和文件存储子***526、用户界面输出设备520、用户界面输入设备522以及网络接口子***516。输入和输出设备允许用户与计算机***510交互。网络接口子***516提供对外部网络的接口,并且被耦合到其他计算机***中的对应的接口设备。
用户界面输入设备522可以包括键盘、诸如鼠标、跟踪球、触摸板或图形输入板的定点设备、扫描仪、结合到显示器中的触摸屏、诸如语音识别***的音频输入设备、麦克风、和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算机***510中或通信网络上的所有可能的类型的设备和方式。
用户界面输出设备520可以包括显示子***、打印机、传真机、或者诸如音频输出设备的非视觉显示器。显示子***可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建视觉图像的一些其他机构。显示子***还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算机***510向用户或另一机器或计算机***输出信息的所有可能的类型的设备和方式。
存储子***524存储提供本文中所述的一些或所有模块的功能的编程和数据构造。例如,存储子***524可以包括用于执行方法400的选择的方面和/或用于实现第三方服务器设备102、助理服务器设备104、第三方应用120、助理设备114、客户端设备110、第三方服务器设备202、助理服务器设备204、助理设备214、服务器设备302、客户端设备318、第三方服务器设备350和/或第三方客户端设备336中的一个或多个的逻辑。
这些软件模块通常由处理器514单独执行或与其他处理器结合执行。存储子***524中使用的存储器525能够包括多个存储器,多个存储器包括用于存储在程序执行期间的指令和数据的主随机存取存储器(RAM))530和其中固定指令被存储的只读存储器(ROM)532。文件存储子***526能够提供程序和数据文件的永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器、或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子***526存储在存储子***524中,或者存储在由处理器514可访问的其他机器中。
总线子***512提供了用于让计算机***510的各种组件和子***如预期彼此通信的机制。虽然总线子***512被示意性地示出为单个总线,但是总线子***的替代的实施方式可以使用多个总线。
计算机***510能够是包括工作站、服务器、计算群集、刀片服务器、服务器群、或任何其他数据处理***或计算设备的各种类型。由于计算机和网络的不断改变的性质,图5中描绘的计算机***510的描述仅旨在作为用于图示一些实施方式的目的具体示例。计算机***510的许多其他配置可能具有比图5中描绘的计算机***更多或更少的组件。
在本文中描述的***收集关于用户(或如本文中经常被称为“参与者”)的个人信息或可以使用个人信息的情况下,用户可以被提供用于控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据在被存储或使用之前可以以一种或多种方式被处理,使得个人可识别的信息被移除。例如,用户的身份可以被处理,使得为用户没有个人可识别的信息能够被确定,或者用户的地理位置可以被概括为地理位置信息被获得的地方(诸如到城市、邮政编码或州级),使得用户的特定地理位置不能够被确定。因此,用户可以控制如何收集和/或使用关于用户的信息。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括操作,诸如从第三方服务器设备接收指示经由助理设备可控制的第三方客户端设备的状态的第一状态数据,其中助理设备包括自动化助理界面,用户经由自动化助理界面与自动化助理交互以便控制第三方客户端设备。该方法能够进一步包括基于接收第一状态数据确定基于接收第一状态数据和与用于修改第三方客户端设备的操作状态的请求相关联的先前时间之间的时间延迟量的度量。方法能够进一步包括,在确定基于时间延迟量的度量之后:确定是否向第三方服务器设备提供用于检索指示第三方客户端设备的当前状态的第二状态数据的状态请求。方法能够进一步包括,当度量指示不向第三方服务器设备查询第三方客户端设备的当前操作状态的至少一些基础时:基于度量,绕过向第三方服务器设备提供状态请求。方法能够进一步包括,当度量指示向第三方服务器设备查询第三方客户端设备的当前操作状态的至少一些基础时:基于度量,向第三方服务器设备提供状态请求,以及响应于第三方服务器设备接收状态请求,接收表征第三方客户端设备的当前操作状态的第二状态数据。
在一些所述方式中,方法能够进一步包括,在确定基于时间延迟量的度量之后:确定用户已经向助理设备或另一客户端设备的界面提供举动以促进控制第三方客户端设备,其中确定是否提供所述状态请求基于确定用户向界面提供了举动以促进控制第三方客户端设备。在一些实施方式中,举动是触觉举动和/或口头话语,并且界面包括触摸显示面板和/或麦克风。在一些实施方式中,方法能够进一步包括响应于接收第二状态数据,生成表示第三方客户端设备的当前操作状态的输出数据;以及使输出数据经由助理设备或另一客户端设备被渲染。在一些实施方式中,确定基于时间延迟量的度量包括:基于接收第一状态数据和与第三方客户端设备的状态相关联的先前时间之间的时间延迟量来修改先前生成的度量。
在一些实施方式中,基于时间延迟量修改先前生成的度量包括当时间延迟量小于参考时间延迟量时,适应先前生成的度量以限制向第三方服务器设备查询第三方客户端设备的当前操作状态的基础。在一些实施方式中,基于时间延迟量修改先前生成的度量包括当时间延迟量大于参考时间延迟量时,适应先前生成的度量以扩展向第三方服务器设备查询第三方客户端设备的当前操作状态的基础。在一些实施方式中,参考值基于与从一个或多个其他用户向其他第三方服务器设备的其他请求相对应的时间值,以促进修改其他第三方客户端设备的操作状态。在一些实施方式中,确定度量包括:访问表征度量和其他度量的度量数据,并且助理设备与多个其他第三方客户端设备通信,并且多个其他第三方客户端设备中的一个或多个客户端设备与所述其他度量中的至少一个其他度量相关。
在一些实施方式中,请求基于由用户向自动化助理界面提供的口头话语,并且口头话语的自然语言内容识别对应于多个不同动作的自动化助理例程,并且多个不同动作包括用于使第三方客户端设备的状态转换成当前操作状态的动作。在一些实施方式中,确定度量包括访问另一度量,另一度量基于第三方服务器设备响应于用户经由第三方硬件界面和/或与第三方客户端设备通信的第三方应用请求第三方客户端设备的状态改变而是否先前已经向自动化助理提供状态更新。在一些实施方式中,另一度量进一步基于用户与第三方硬件界面和/或第三方应用交互与第三方服务器设备向自动化助理和/或助理设备提供状态更新之间的另一时间量。在一些实施方式中,确定是否向第三方服务器设备查询第三方客户端设备的当前操作状态的指示进一步基于另一度量,并且第三方服务器设备至少部分地由第三方实体控制,第三方实体与至少部分地控制自动化助理的实体不同。
在一些实施方式中,度量和/或另一度量基于一个或多个其他用户和与第三方服务器设备通信的一个或多个其他第三方客户端设备之间的交互。在一些实施方式中,一个或多个其他第三方客户端设备:不同于第三方客户端设备,并且被连接到与第三方客户端设备被连接的网络分开的网络。在一些实施方式中,请求响应于用户与控制第三方客户端设备和/或第三方服务器设备的第三方应用交互由第三方服务器设备接收。在一些实施方式中,方法能够进一步包括响应于接收第二状态数据,生成表示第三方客户端设备的当前操作状态的图形用户界面元素;以及使助理设备或另一客户端设备的图形用户界面渲染图形用户界面元素。在一些实施方式中,度量基于在第三方服务器设备处发起的改变所述客户端设备的所述操作状态的第一请求与来自自动化助理的对于当前状态的第二请求之间的特定时间延迟。在一些实施方式中,请求识别自动化助理的至少一个动作,并且至少一个动作包括用于使第三方客户端设备的状态转换为当前操作状态的动作。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括操作,诸如基于处理对应于口头话语的音频数据,确定用户已经请求自动化助理导致对客户端设备的操作状态的修改。在一些实施方式中,方法能够进一步包括响应于确定用户已经请求自动化助理导致对客户端设备的操作状态的修改,向服务器设备和/或客户端设备提供实现对客户端设备的操作状态的修改的请求。在一些实施方式中,该方法能够进一步包括基于向服务器设备和/或客户端设备提供请求,从服务器设备和/或客户端设备接收第一状态数据,其中,第一状态数据表征客户端设备的修改的操作状态。在一些实施方式中,方法能够进一步包括基于接收第一状态数据来确定表征确定用户已经请求自动化助理导致对客户端设备的操作状态的修改与从服务器设备和/或客户端设备接收第一状态数据之间的时间段的时间延迟量。在一些实施方式中,方法能够进一步包括,在确定所述时间延迟量之后:确定用户随后已经请求自动化助理导致对客户端设备的当前操作状态的特定修改。在一些实施方式中,所述方法能够进一步包括响应于确定用户随后已经请求自动化助理导致对客户端设备的当前操作状态的特定修改,向服务器设备和/或客户端设备提供实现对客户端设备的当前操作状态的特定修改的另一请求。在一些实施方式中,方法能够进一步包括基于时间延迟量并且响应于确定用户已经请求自动化助理导致对客户端设备的当前操作状态的特定修改,确定时间延迟量是否指示向服务器设备和/或客户端设备查询第二状态数据的至少一些基础。在一些实施方式中,方法能够进一步包括,当时间延迟量指示不向服务器设备和/或客户端设备查询第二状态数据的至少一些基础时:基于时间延迟量,绕过向服务器设备和/或客户端设备提供状态请求。在一些实施方式中,方法能够进一步包括,当时间延迟量指示向服务器设备和/或客户端设备查询第二状态数据的至少一些基础时:基于时间延迟量,向服务器设备和/或客户端设备提供状态请求,并且响应于服务器设备和/或客户端设备接收状态请求,接收表征客户端设备的操作状态更新的第二状态数据。
在一些实施方式中,方法能够进一步包括,在确定时间延迟量之后:使分开的客户端设备的用户界面提供表征客户端设备的当前操作状态的内容。在一些实施方式中,分开的客户端设备的用户界面是显示面板并且提供表征客户端设备的当前操作状态的图形内容。在一些实施方式中,方法能够进一步包括,当时间延迟量指示向服务器设备和/或客户端设备查询第二状态数据的至少一些基础时:使显示面板渲染表征客户端设备的操作状态更新的其他图形内容。在一些实施方式中,时间延迟量表征在以下之间的特定时间段:向服务器设备和/或客户端设备提供实现对客户端设备的操作状态的修改的请求,以及从服务器设备和/或客户端设备接收第一状态数据。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括操作,诸如使客户端设备渲染表征另一客户端设备的第一状态的内容,其中客户端设备和另一客户端设备被连接到公共局域网,并且另一客户端设备使用至少经由客户端设备可访问的自动化助理而被控制。在一些实施方式中,方法能够进一步包括在使客户端设备渲染内容之后,确定客户端设备已经接收到用于使另一客户端设备根据第二状态进行操作的命令。在一些实施方式中,方法能够进一步包括响应于确定客户端设备已经接收到使另一客户端设备根据第二状态进行操作的命令,向第三方服务器设备提供使另一客户端设备根据第二状态进行操作的请求。在一些实施方式中,方法能够进一步包括在向第三方服务器设备发送请求之后,从第三方服务器设备接收状态数据,其中,状态数据表征另一客户端设备的操作状态。在一些实施方式中,方法能够进一步包括,当所述状态数据指示所述客户端设备正在根据所述第二状态进行操作时:至少响应于服务器设备使另一客户端设备相对于另一客户端设备的任何先前状态展现任何修改的状态,修改或绕过修改一个或多个度量以将服务器设备表征为在提供准确的状态数据方面是可靠的。在一些实施方式中,方法能够进一步包括,当状态数据指示客户端设备根据第二状态不进行操作时:至少响应于服务器设备使另一客户端设备相对于另一客户端设备的任何先前状态展现任何修改的状态,修改或生成一个或多个度量以指示服务器设备在提供准确的状态数据方面是不可靠的。
在一些实施方式中,其中修改或生成一个或多个度量以指示服务器设备在提供准确的状态数据方面是不可靠的包括:响应于确定接收用于使另一客户端设备根据特定状态进行操作的后续命令,修改或生成一个或多个度量以指示用于主动查询服务器设备的基础。在一些实施方式中,方法能够进一步包括修改或绕过修改一个或多个度量以使服务器设备表征为在提供准确的状态数据方面是可靠的包括:响应于确定接收用于使另一客户端设备根据特定状态进行操作的后续命令,修改或绕过修改一个或多个度量以指示用于绕过主动查询服务器设备的基础。在一些实施方式中,使客户端设备渲染表征另一客户端设备的第一状态的内容包括使客户端设备的图形用户界面渲染在图形用户界面处的一个或多个图形元素。
在一些实施方式中,方法能够进一步包括确定表征另一客户端设备的设备类型,其中修改或生成一个或多个度量基于表征另一客户端设备的设备类型。在一些实施方式中,该方法能够进一步包括确定请求被提供给第三方服务器设备的特定时间,其中修改或生成一个或多个度量基于请求被提供给第三方服务器设备的特定时间。在一些实施方式中,确定客户端设备已经接收到命令包括确定用于使另一客户端设备根据第二状态进行操作的命令类型,其中修改或生成一个或多个度量基于命令类型。在一些实施方式中,确定命令类型包括确定命令是否经由自动化助理、另一客户端设备的特定界面或与另一客户端设备相关联的***设备的单独界面而被初始化。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括操作,诸如使客户端设备存储表征另一客户端设备的状态数据,其中客户端设备和另一客户端设备连被接到公共局域网,并且另一客户端设备使用至少经由客户端设备可访问的自动化助理而被控制。方法能够进一步包括在将状态数据存储在客户端设备处之后,向服务器设备提供确定另一客户端设备的当前操作状态的服务器请求。在一些实施方式中,方法能够进一步包括在将状态数据存储在客户端设备处之后,向另一客户端设备提供确定另一客户端设备的当前操作状态的客户端请求。在一些实施方式中,方法能够进一步包括基于向服务器设备发送服务器请求,从服务器设备接收服务器状态数据,其中服务器状态数据表征如由服务器设备指示的另一客户端的特定状态。在一些实施方式中,方法能够进一步包括基于向另一客户端设备发送客户端请求,从另一客户端设备接收客户端状态数据,其中,客户端状态数据表征如由另一客户端设备指示的另一客户端的另一特定状态。在一些实施方式中,方法能够进一步包括,当服务器状态数据和客户端状态数据指示另一客户端设备的共同操作状态时:使客户端设备存储表征另一客户端设备的共同操作状态的更新的状态数据。
在一些实施方式中,方法能够进一步包括,当服务器状态数据和客户端状态数据指示另一客户端设备的共同操作状态时:修改或绕过修改一个或多个度量以将服务器设备表征为在提供准确的状态数据方面是可靠的。在一些实施方式中,方法能够进一步包括,当服务器状态数据和客户端状态数据无法指示另一客户端设备的共同操作状态时:使客户端设备存储表征如由另一客户端设备指示的另一客户端的另一特定状态的其他更新的状态数据。在一些实施方式中,方法能够进一步包括,当服务器状态数据和客户端状态数据无法指示另一客户端设备的共同操作状态时:修改或生成一个或多个度量以指示服务器设备在提供准确的状态数据方面是不可靠的。在一些实施方式中,方法还能够进一步包括确定表征另一客户端设备的设备类型,其中修改或生成一个或多个度量基于表征另一客户端设备的设备类型。在一些实施方式中,方法能够进一步包括确定服务器请求被提供给服务器设备的特定时间,其中修改或生成一个或多个度量基于服务器请求被提供给服务器设备的特定时间。在一些实施方式中,方法能够进一步包括确定与另一客户端设备的状态相对应的第一时间戳和与从服务器设备接收的服务器状态数据对应的第二时间戳之间的时间量。
虽然本文已经描述和图示了若干所述方式,但是可以利用用于执行本文中描述的功能和/或获得本文中描述的结果和/或一个或多个优点的各种其他装置和/或结构,并且这种变化和/或修改中的每一个被认为在本文中描述的实施方式的范围内。更一般地,本文中描述的所有参数、尺寸、材料和配置都意味着是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于使用本教导的一个或多个具体应用。本领域技术人员将认识到或能够使用不超过常规实验来确定本文中描述的具体实施方式的许多等价形式。因此,应当理解,前述实施方式仅通过示例的方式被呈现,并且在所附权利要求及其等价形式的范围内,可以以与具体描述和要求保护的方式不同的方式来实践实施方式。本公开的实施方式涉及本文中所述的每个单独的特征、***、制品、材料、套件和/或方法。此外,如果这些特征、***、物品、材料、套件和/或方法不是相互矛盾的,则两个或更多个这种特征、***、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

Claims (41)

1.一种由一个或多个处理器实现的方法,所述方法包括:
从第三方服务器设备接收指示经由助理设备能够控制的第三方客户端设备的状态的第一状态数据,其中所述助理设备包括自动化助理界面,所述用户经由所述自动化助理界面与自动化助理交互以便控制所述第三方客户端设备;
基于接收所述第一状态数据,确定基于接收所述第一状态数据和与用于修改所述第三方客户端设备的操作状态的请求相关联的先前时间之间的时间延迟量的度量;
在确定基于所述时间延迟量的所述度量之后:
确定是否向所述第三方服务器设备提供用于检索指示所述第三方客户端设备的当前状态的第二状态数据的状态请求;
当所述度量指示不向所述第三方服务器设备查询所述第三方客户端设备的当前操作状态的至少一些基础时:
基于所述度量,绕过向所述第三方服务器设备提供所述状态请求;以及
当所述度量指示向所述第三方服务器设备查询所述第三方客户端设备的当前操作状态的至少一些基础时:
基于所述度量,向所述第三方服务器设备提供所述状态请求,以及
响应于所述第三方服务器设备接收到所述状态请求,接收表征所述第三方客户端设备的当前操作状态的所述第二状态数据。
2.根据权利要求1所述的方法,进一步包括:
在确定基于所述时间延迟量的所述度量之后:
确定用户向所述助理设备或另一客户端设备的界面已经提供举动以促进控制所述第三方客户端设备;
其中,确定是否提供所述状态请求基于确定所述用户向所述界面提供了所述举动以促进控制所述第三方客户端设备。
3.根据权利要求2所述的方法,其中,所述举动是触觉举动和/或口头话语,并且所述界面包括触摸显示面板和/或麦克风。
4.根据权利要求1所述的方法,进一步包括:
响应于接收所述第二状态数据,生成表示所述第三方客户端设备的当前操作状态的输出数据;以及
使所述输出数据经由所述助理设备或另一客户端设备被渲染。
5.根据权利要求1或4所述的方法,其中,确定基于所述时间延迟量的所述度量包括:
基于接收所述第一状态数据和与所述第三方客户端设备的状态相关联的所述先前时间之间的时间延迟量来修改先前生成的度量。
6.根据权利要求5所述的方法,其中,基于所述时间延迟量修改所述先前生成的度量包括当所述时间延迟量小于参考时间延迟量时,适应所述先前生成的度量以限制向所述第三方服务器设备查询所述第三方客户端设备的所述当前操作状态的基础。
7.根据权利要求5或6所述的方法,其中,基于所述时间延迟量修改所述先前生成的度量包括当所述时间延迟量大于所述参考时间延迟量时,适应所述先前生成的度量以扩展向所述第三方服务器设备查询第三方客户端设备的所述当前操作状态的基础。
8.根据权利要求6或7所述的方法,其中,所述参考值基于与从一个或多个其他用户到其他第三方服务器设备的其他请求相对应的时间值,以促进修改其他第三方客户端设备的操作状态。
9.根据权利要求1所述的方法,
其中,确定所述度量包括:访问表征所述度量和其他度量的度量数据,以及
其中,所述助理设备与多个其他第三方客户端设备通信,并且所述多个其他第三方客户端设备中的一个或多个客户端设备与所述其他度量中的至少一个其他度量相关。
10.根据权利要求1所述的方法,
其中,所述请求基于由用户向所述自动化助理界面提供的口头话语,并且所述口头话语的自然语言内容识别对应于多个不同动作的自动化助理例程,以及
其中,所述多个不同动作包括用于使所述第三方客户端设备的状态转换到所述当前操作状态的动作。
11.根据权利要求1所述的方法,进一步包括:
其中,确定所述度量包括访问另一度量,所述另一度量基于响应于所述用户经由第三方硬件界面和/或与所述第三方客户端设备通信的第三方应用请求所述第三方客户端设备的状态改变,所述第三方服务器设备是否先前已经向所述自动化助理提供了状态更新。
12.根据权利要求11所述的方法,其中,所述另一度量进一步基于所述用户与所述第三方硬件界面和/或所述第三方应用交互与所述第三方服务器设备向所述自动化助理和/或所述助理设备提供所述状态更新之间的另一时间量。
13.根据权利要求11或12中的一项所述的方法,
其中,确定是否向所述第三方服务器设备查询所述第三方客户端设备的当前操作状态的指示进一步基于所述另一度量;以及
其中,所述第三方服务器设备至少部分地由第三方实体控制,所述第三方实体不同于至少部分地控制所述自动化助理的实体。
14.根据前述权利要求中的任一项所述的方法,其中,所述度量和/或所述另一度量基于一个或多个其他用户与和所述第三方服务器设备通信的一个或多个其他第三方客户端设备之间的交互。
15.根据权利要求14所述的方法,其中,所述一个或多个其他第三方客户端设备:
不同于所述第三方客户端设备,并且被连接到与所述第三方客户端设备所连接的网络分开的网络。
16.根据前述权利要求中的任一项所述的方法,
其中,所述请求响应于所述用户与控制所述第三方客户端设备和/或所述第三方服务器设备的第三方应用交互而由所述第三方服务器设备接收。
17.根据前述权利要求中的任一项所述的方法,还包括:
响应于接收所述第二状态数据,生成表示所述第三方客户端设备的当前操作状态的图形用户界面元素;以及
使所述助理设备或另一客户端设备的图形用户界面渲染所述图形用户界面元素。
18.根据前述权利要求中的任一项所述的方法,其中,所述度量基于在所述第三方服务器设备处发起的改变所述客户端设备的操作状态的第一请求与来自所述自动化助理的对于当前状态的第二请求之间的特定时间延迟。
19.根据前述权利要求中的任一项所述的方法,其中,所述请求识别所述自动化助理的至少一个动作,并且
其中,所述至少一个动作包括用于使所述第三方客户端设备的状态转换为所述当前操作状态的动作。
20.一种由一个或多个处理器实现的方法,所述方法包括:
基于处理对应于口头话语的音频数据,确定用户已经请求自动化助理引起对客户端设备的操作状态的修改;
响应于确定所述用户已经请求所述自动化助理引起对所述客户端设备的所述操作状态的所述修改,向服务器设备和/或所述客户端设备提供实现对所述客户端设备的所述操作状态的所述修改的请求;
基于向所述服务器设备和/或所述客户端设备提供所述请求,从所述服务器设备和/或所述客户端设备接收第一状态数据,其中,所述第一状态数据表征所述客户端设备的修改的操作状态;
基于接收所述第一状态数据来确定表征确定所述用户已经请求所述自动化助理引起对所述客户端设备的所述操作状态的所述修改与从所述服务器设备和/或所述客户端设备接收所述第一状态数据之间的时间段的时间延迟量;
在确定所述时间延迟量之后:
确定所述用户随后已经请求所述自动化助理引起对所述客户端设备的当前操作状态的特定修改;
响应于确定所述用户随后已经请求所述自动化助理引起对所述客户端设备的所述当前操作状态的特定修改,向所述服务器设备和/或所述客户端设备提供实现对所述客户端设备的所述当前操作状态的特定修改的另一请求;
基于所述时间延迟量并且响应于确定所述用户已经请求所述自动化助理引起对所述客户端设备的所述当前操作状态的特定修改,确定所述时间延迟量是否指示向所述服务器设备和/或所述客户端设备查询第二状态数据的至少一些基础;
当所述时间延迟量指示不向所述服务器设备和/或所述客户端设备查询所述第二状态数据的至少一些基础时:
基于所述时间延迟量,绕过向所述服务器设备和/或所述客户端设备提供状态请求;以及
当所述时间延迟量指示向所述服务器设备和/或所述客户端设备查询所述第二状态数据的至少一些基础时:
基于所述时间延迟量,向所述服务器设备和/或所述客户端设备提供所述状态请求,以及
响应于所述服务器设备和/或所述客户端设备接收所述状态请求,接收表征所述客户端设备的操作状态更新的所述第二状态数据。
21.根据权利要求20所述的方法,进一步包括:
在确定所述时间延迟量之后:
使分开的客户端设备的用户界面提供表征所述客户端设备的所述当前操作状态的内容。
22.根据权利要求21所述的方法,
其中,所述分开的客户端设备的所述用户界面是显示面板并且提供表征所述客户端设备的所述当前操作状态的图形内容,以及
其中,所述方法进一步包括:
当所述时间延迟量指示向所述服务器设备和/或所述客户端设备查询所述第二状态数据的至少一些基础时:
使所述显示面板渲染表征所述客户端设备的所述操作状态更新的其他图形内容。
23.根据权利要求20-22中的任一项所述的方法,其中,所述时间延迟量表征在以下之间的特定时间段:向所述服务器设备和/或客户端设备提供实现对所述客户端设备的所述操作状态的修改的请求,以及从所述服务器设备和/或所述客户端设备接收所述第一状态数据。
24.一种由一个或多个处理器实现的方法,所述方法包括:
使客户端设备渲染表征另一客户端设备的第一状态的内容,其中,所述客户端设备和所述另一客户端设备连接到公共局域网,并且所述另一客户端设备使用至少经由所述客户端设备能够访问的自动化助理而被控制;
在使所述客户端设备渲染所述内容之后,确定所述客户端设备已经接收到用于使所述另一客户端设备根据第二状态进行操作的命令;
响应于确定所述客户端设备已经接收到使所述另一客户端设备根据所述第二状态进行操作的命令,向第三方服务器设备提供使所述另一客户端设备根据所述第二状态进行操作的请求;
在向所述第三方服务器设备发送所述请求之后,从所述第三方服务器设备接收状态数据,其中,所述状态数据表征所述另一客户端设备的操作状态;
当所述状态数据指示所述客户端设备正在根据所述第二状态进行操作时:
至少响应于所述服务器设备使所述另一客户端设备展现相对于所述另一客户端设备的任何先前状态的任何修改的状态,修改或绕过修改一个或多个度量以使所述服务器设备表征为在提供准确的状态数据方面是可靠的;
当所述状态数据指示所述客户端设备不是正在根据所述第二状态进行操作时:
至少响应于所述服务器设备使所述另一客户端设备展现相对于所述另一客户端设备的任何先前状态的任何修改的状态,修改或生成所述一个或多个度量以指示所述服务器设备在提供所述准确的状态数据方面是不可靠的。
25.根据权利要求24所述的方法,其中,修改或生成所述一个或多个度量以指示所述服务器设备在提供所述准确的状态数据方面是不可靠的包括:
响应于确定接收用于使所述另一客户端设备根据特定状态进行操作的后续命令,修改或生成所述一个或多个度量以指示用于主动查询所述服务器设备的基础。
26.根据权利要求24或25所述的方法,其中,修改或绕过修改一个或多个度量以使所述服务器设备表征为在提供准确的状态数据方面是可靠的包括:
响应于确定接收到用于使所述另一客户端设备根据特定状态进行操作的后续命令,修改或绕过修改所述一个或多个度量以指示用于绕过主动查询所述服务器设备的基础。
27.根据权利要求24-26中的任一项所述的方法,其中,使所述客户端设备渲染表征所述另一客户端设备的所述第一状态的内容包括使所述客户端设备的图形用户界面渲染在所述图形用户界面处的一个或多个图形元素。
28.根据权利要求24-27中的任一项所述的方法,进一步包括:
确定表征所述另一客户端设备的设备类型,其中,修改或生成所述一个或多个度量是基于表征所述另一客户端设备的所述设备类型。
29.根据权利要求24-28中的任一项所述的方法,进一步包括:
确定所述请求被提供给所述第三方服务器设备的特定时间,其中,修改或生成所述一个或多个度量是基于所述请求被提供给所述第三方服务器设备的所述特定时间。
30.根据权利要求24-29中的任一项所述的方法,其中,确定所述客户端设备已经接收到所述命令包括确定用于使所述另一客户端设备根据所述第二状态进行操作的命令类型,其中,修改或生成所述一个或多个度量是基于所述命令类型。
31.根据权利要求30所述的方法,其中,确定命令类型包括确定所述命令是否经由所述自动化助理、所述另一客户端设备的特定界面或与所述另一客户端设备相关联的***设备的分开的界面而被初始化。
32.一种由一个或多个处理器实现的方法,所述方法包括:
使客户端设备存储表征另一客户端设备的状态的状态数据,其中,所述客户端设备和所述另一客户端设备连接到公共局域网,并且所述另一客户端设备使用至少经由所述客户端设备能够访问的自动化助理而被控制;
在将所述状态数据存储在所述客户端设备处之后,向服务器设备提供确定所述另一客户端设备的当前操作状态的服务器请求;
在将所述状态数据存储在所述客户端设备处之后,向所述另一客户端设备提供确定所述另一客户端设备的所述当前操作状态的客户端请求;
基于向所述服务器设备发送了所述服务器请求,从所述服务器设备接收服务器状态数据,其中,所述服务器状态数据表征由所述服务器设备指示的所述另一客户端的特定状态;
基于向所述另一客户端设备发送了所述客户端请求,从所述另一客户端设备接收客户端状态数据,其中,所述客户端状态数据表征由所述另一客户端设备指示的所述另一客户端设备的另一特定状态;以及
当所述服务器状态数据和所述客户端状态数据指示所述另一客户端设备的共同操作状态时:
使所述客户端设备存储表征所述另一客户端设备的所述共同操作状态的更新的状态数据。
33.根据权利要求32所述的方法,进一步包括:
当所述服务器状态数据和所述客户端状态数据指示所述另一客户端设备的所述共同操作状态时:
修改或绕过修改一个或多个度量以使所述服务器设备表征为在提供准确的状态数据方面是可靠的。
34.根据权利要求33所述的方法,进一步包括:
当所述服务器状态数据和所述客户端状态数据无法指示所述另一客户端设备的所述共同操作状态时:
使所述客户端设备存储表征所述另一客户端设备指示的所述另一客户端设备的所述另一特定状态的其他更新的状态数据。
35.根据权利要求34所述的方法,进一步包括:
当所述服务器状态数据和所述客户端状态数据无法指示所述另一客户端设备的所述共同操作状态时:
修改或生成所述一个或多个度量以指示所述服务器设备在提供所述准确的状态数据方面是不可靠的。
36.根据权利要求35所述的方法,进一步包括:
确定表征所述另一客户端设备的设备类型,其中,修改或生成所述一个或多个度量是基于表征所述另一客户端设备的所述设备类型。
37.根据权利要求33所述的方法,进一步包括:
确定所述服务器请求被提供给所述服务器设备的特定时间,其中,修改或生成所述一个或多个度量是基于所述服务器请求被提供给所述服务器设备的所述特定时间。
38.根据权利要求30至37中的任一项所述的方法,进一步包括:
确定与所述另一客户端设备的状态相对应的第一时间戳和与从所述服务器设备接收所述服务器状态数据相对应的第二时间戳之间的时间量。
39.一种包括指令的计算机程序产品,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据前述权利要求中的任一项所述的方法。
40.一种包括指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至38中的任一项所述的方法。
41.一种***,包括用于执行权利要求1至38中的任一项所述的方法的一个或多个处理器。
CN201980089841.5A 2019-02-08 2019-02-08 适应第三方服务器的设备状态报告的差异 Pending CN113348505A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/017335 WO2020162948A1 (en) 2019-02-08 2019-02-08 Adapting to differences in device state reporting of third party servers

Publications (1)

Publication Number Publication Date
CN113348505A true CN113348505A (zh) 2021-09-03

Family

ID=65529804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980089841.5A Pending CN113348505A (zh) 2019-02-08 2019-02-08 适应第三方服务器的设备状态报告的差异

Country Status (5)

Country Link
US (3) US11196582B2 (zh)
EP (1) EP3884484A1 (zh)
KR (1) KR20210103505A (zh)
CN (1) CN113348505A (zh)
WO (1) WO2020162948A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826803A (zh) * 2022-04-26 2022-07-29 北京字跳网络技术有限公司 会议状态处理方法、装置、电子设备、介质及程序产品

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030078784A1 (en) * 2001-10-03 2003-04-24 Adam Jordan Global speech user interface
CN1988548A (zh) * 2005-12-21 2007-06-27 国际商业机器公司 用于处理语音处理请求的方法和***
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的***和方法
CN104584096A (zh) * 2012-09-10 2015-04-29 苹果公司 由智能数字助理进行的中断的上下文相关处理
CN107003999A (zh) * 2014-10-15 2017-08-01 声钰科技 对用户的在先自然语言输入的后续响应的***和方法
CN108352160A (zh) * 2015-11-20 2018-07-31 罗伯特·博世有限公司 用于运行服务器***和记录语音指令的记录装置的方法、服务器***、记录装置和语音对话***
US20180247654A1 (en) * 2016-12-30 2018-08-30 Google Llc Device identifier dependent operation processing of packet based data communication
US20180322881A1 (en) * 2017-05-08 2018-11-08 Motorola Mobility Llc Methods and Devices for Negotiating Performance of Control Operations with Acoustic Signals
US20180359674A1 (en) * 2017-06-12 2018-12-13 Microsoft Technology Licensing. LLC Switching control for low quality communication signal
US20180366116A1 (en) * 2017-06-19 2018-12-20 Lenovo (Singapore) Pte. Ltd. Systems and methods for execution of digital assistant
CN109196532A (zh) * 2016-06-27 2019-01-11 谷歌有限责任公司 数字助理请求的异步处理

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117491A1 (en) * 2002-12-11 2004-06-17 Jeyhan Karaoguz Third-party access and control of media peripherals on a media exchange network
US20110054895A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Utilizing user transmitted text to improve language model in mobile dictation application
US20100233970A1 (en) * 2009-03-10 2010-09-16 Alexander Pummer Device operational control system, topology, and methods via rf signals communicated on existing rf infrastructure
US8375118B2 (en) 2010-11-18 2013-02-12 Verizon Patent And Licensing Inc. Smart home device management
TWM445818U (zh) * 2011-12-07 2013-01-21 Chien Hui Chuan 藍牙可控的電器裝置
US20130328667A1 (en) * 2012-06-10 2013-12-12 Apple Inc. Remote interaction with siri
WO2014141665A1 (ja) * 2013-03-11 2014-09-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報取得方法、情報取得システム及び情報機器
CN103368947B (zh) * 2013-06-21 2016-05-18 腾讯科技(北京)有限公司 一种媒体信息的控制方法及相关设备、***
US9148802B2 (en) * 2013-07-10 2015-09-29 Google Inc. Predictive indicator of network slowdown
US9372922B2 (en) 2013-07-11 2016-06-21 Neura, Inc. Data consolidation mechanisms for internet of things integration platform
US10158536B2 (en) 2014-05-01 2018-12-18 Belkin International Inc. Systems and methods for interaction with an IoT device
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US20160149716A1 (en) * 2014-11-24 2016-05-26 Rajiv Nelson Raj Remote Management And Control Of Utility Appliances
US20180049293A1 (en) * 2015-03-06 2018-02-15 Philips Lighting Holding B.V. Presence request via light adjustment
US9959728B2 (en) 2015-06-04 2018-05-01 International Business Machines Corporation Managing a smart appliance with a mobile device
KR20160143136A (ko) 2015-06-04 2016-12-14 엘지전자 주식회사 위치 기반 알림 시스템 및 그것의 제어방법
US9924010B2 (en) * 2015-06-05 2018-03-20 Apple Inc. Audio data routing between multiple wirelessly connected devices
US11150798B2 (en) * 2016-03-28 2021-10-19 Apple Inc. Multifunction device control of another electronic device
US20180041401A1 (en) * 2016-08-02 2018-02-08 EDT Expert Design Tools, LLC System Diagram GUI Development System and Method of Use
US10783883B2 (en) * 2016-11-03 2020-09-22 Google Llc Focus session at a voice interface device
US20190027018A1 (en) * 2017-07-21 2019-01-24 Accenture Global Solutions Limited Artificial intelligence based service control and home monitoring
KR20230004947A (ko) * 2017-12-08 2023-01-06 구글 엘엘씨 디지털 음성 어시스턴트 컴퓨팅 디바이스들 사이에서 신호 프로세싱 조정
EP4343534A3 (en) 2018-08-23 2024-05-29 Google Llc Regulating assistant responsiveness according to characteristics of a multi-assistant environment
US20200106635A1 (en) * 2018-09-27 2020-04-02 Haier Us Appliance Solutions, Inc. Remote operation of appliance over wired connection

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030078784A1 (en) * 2001-10-03 2003-04-24 Adam Jordan Global speech user interface
CN1988548A (zh) * 2005-12-21 2007-06-27 国际商业机器公司 用于处理语音处理请求的方法和***
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的***和方法
CN104584096A (zh) * 2012-09-10 2015-04-29 苹果公司 由智能数字助理进行的中断的上下文相关处理
CN107003999A (zh) * 2014-10-15 2017-08-01 声钰科技 对用户的在先自然语言输入的后续响应的***和方法
CN108352160A (zh) * 2015-11-20 2018-07-31 罗伯特·博世有限公司 用于运行服务器***和记录语音指令的记录装置的方法、服务器***、记录装置和语音对话***
CN109196532A (zh) * 2016-06-27 2019-01-11 谷歌有限责任公司 数字助理请求的异步处理
US20180247654A1 (en) * 2016-12-30 2018-08-30 Google Llc Device identifier dependent operation processing of packet based data communication
US20180322881A1 (en) * 2017-05-08 2018-11-08 Motorola Mobility Llc Methods and Devices for Negotiating Performance of Control Operations with Acoustic Signals
US20180359674A1 (en) * 2017-06-12 2018-12-13 Microsoft Technology Licensing. LLC Switching control for low quality communication signal
US20180366116A1 (en) * 2017-06-19 2018-12-20 Lenovo (Singapore) Pte. Ltd. Systems and methods for execution of digital assistant

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826803A (zh) * 2022-04-26 2022-07-29 北京字跳网络技术有限公司 会议状态处理方法、装置、电子设备、介质及程序产品
CN114826803B (zh) * 2022-04-26 2023-10-31 北京字跳网络技术有限公司 会议状态处理方法、装置、电子设备及介质

Also Published As

Publication number Publication date
US20210281437A1 (en) 2021-09-09
US11943075B2 (en) 2024-03-26
US20240235881A1 (en) 2024-07-11
US20220094564A1 (en) 2022-03-24
EP3884484A1 (en) 2021-09-29
WO2020162948A1 (en) 2020-08-13
US11196582B2 (en) 2021-12-07
KR20210103505A (ko) 2021-08-23

Similar Documents

Publication Publication Date Title
US11693533B2 (en) Providing composite graphical assistant interfaces for controlling various connected devices
US11727934B2 (en) Directing a vehicle client device to use on-device functionality
EP3679572B1 (en) Orchestrating execution of a series of actions requested to be performed via an automated assistant
US20240235881A1 (en) Adapting to differences in device state reporting of third party servers
US20230410804A1 (en) Dynamically delaying execution of automated assistant actions and/or background application requests
CN113544770A (zh) 在访问非助理应用时通过自动助理初始化非助理后台动作
US20200319917A1 (en) Systems, methods, and apparatuses for processing routine interruption requests
EP4179420A1 (en) Selectively implementing role change requests for auxiliary devices that facilitate assistant interactions
EP4127896A1 (en) Adapting automated assistant functionality based on generated proficiency measure(s)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination