CN111406392B - 基于结构的访问控制的方法、***、智能家居控制设备 - Google Patents
基于结构的访问控制的方法、***、智能家居控制设备 Download PDFInfo
- Publication number
- CN111406392B CN111406392B CN201880076605.5A CN201880076605A CN111406392B CN 111406392 B CN111406392 B CN 111406392B CN 201880076605 A CN201880076605 A CN 201880076605A CN 111406392 B CN111406392 B CN 111406392B
- Authority
- CN
- China
- Prior art keywords
- user
- credentials
- computing device
- structural
- control
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供执行基于结构的访问控制的***和方法。特别地,不是依赖于可能要求手动共享用户特定凭证和/或在多个账户之间切换以访问与此类账户相关联的特定设备、应用或服务的用户特定凭证方案,本公开的***和方法促进用户凭证被与结构(例如,用户所居住的房屋)相关联的结构标识符继承或以其他方式指配给该结构标识符,从而生成结构凭证集合。这使结构中的可能是协作用户组的一部分的其他用户能够使用结构凭证访问设备、应用和/或服务。
Description
技术领域
本公开总体上涉及管理对设备和/或服务(诸如web服务或应用)的访问控制。更具体地,本公开涉及用于管理结构内的访问控制的结构标识符的使用。
背景技术
诸如扬声器、家庭警报器、门锁、相机、照明***、跑步机、体重秤、智能床、灌溉***、车库门开启器、家用电器、婴儿监视器、火灾警报器或其他智能计算设备的智能网络连接的计算设备激增。这些智能设备可以例如位于物理结构(例如,房屋)的界限内,并且用户可能希望与这种智能设备进行交互或以其他方式控制这些智能设备。为此,用户可以使用控制计算设备(例如,智能手机、智能扬声器等)以例如经由网络与智能设备无线通信。可替选地,用户可以直接与智能设备交互,并且在这种情况下,智能设备可以被视为控制计算设备。
同样,控制计算设备和/或一个或多个附加智能计算设备可以操作以使用户能够与一个或多个应用和/或web服务进行接洽或控制一个或多个应用和/或web服务。作为一个示例,用户可以请求经由控制计算设备和/或一个或多个附加智能计算设备执行的音乐流应用/web服务来流传输和播放音乐。作为另一示例,用户可以请求向由控制计算设备和/或一个或多个附加智能计算设备执行的日历应用管理的日历添加新事件。
然而,通常,智能设备、应用和/或web服务是使用与特定用户身份相关联的用户特定的凭证来控制。例如,第一用户可以键入他的特定用户凭证以使音乐流应用能够访问他的web账户,而第二用户可以键入她的特定用户凭证以使日历应用能够访问她的日历。
该用户特定凭证结构不考虑诸如房屋的结构通常包括协作用户组的事实。因此,此用户特定凭证方案会导致许多问题。
作为一个示例问题,尽管某些现有的控制计算设备允许设立多个账户,但是这些现有的设备需要在多个账户之间进行不断切换以访问与此类账户相关联的特定设备、应用或服务。例如,丈夫当前可能正在使用他的特定用户凭证用于音乐流应用来收听音乐。要访问与他妻子的账户相关联的日历应用,丈夫可能需要通过说出例如“助手,切换账户(Assistant,switching accounts)”或“助手,切换到詹妮弗的配置文件(Assistant,switch to Jennifer’s profile)”来将控制设备切换到他妻子的配置文件。
例如,通过要求经常检查当前哪个配置文件是活动的,在账户之间不断切换可能是耗时、麻烦和混乱的。此外,通过将控制设备切换到他妻子的账户,丈夫可能失去对与他的账户相关联的音乐流应用的访问。
此外,某些控制设备可以主要或仅基于语音识别进行操作(例如,提供访问控制)。因此,对于这样的控制设备,即使丈夫愿意,丈夫也可能无法切换到他妻子的账户以访问日历应用,因为控制设备仅在识别出妻子的声音后才会切换到妻子的账户。
作为上述问题的变通方法,第一用户可以(例如,通过口头告诉第二用户他的凭证)与第二用户手动共享他的凭证。然后,第二用户可以执行其他设置过程,以将第一用户的用户特定凭证与第二用户的用户特定账户相关联。
然而,这引起了它自己的问题。举例来说,第一用户可能不愿意向第二用户提供他的实际凭证(例如,密码)。其次,此变通方法要求针对凭证共享的每个实例(例如,针对每个其他用户和/或每个共享的账户)执行附加的设置过程,这是耗时的并且令人沮丧的用户体验。因此,这种变通办法不容易扩展到例如可以仅临时加入控制组的新用户。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获悉,或者可以通过实施例的实施而获知。
本公开的一个方面针对一种计算机***。该计算机***包括物理上位于物理结构内的一个或多个计算设备。所述一个或多个计算设备包括至少一个控制计算设备。所述至少一个控制计算设备包括一个或多个处理器以及存储指令的一个或多个非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述至少一个控制计算设备执行操作。所述操作包括从第一用户接收与下述中的一个或多个相关联的第一用户凭证集合:一个或多个计算设备中的第一计算设备、第一应用或第一web服务。第一用户凭证集合与和该第一用户相关联的第一用户账户相关联。所述操作包括确定与结构相关联的结构标识符。所述操作包括将第一用户凭证集合指配给结构标识符以生成第一结构凭证集合。所述操作包括从位于结构内的第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的请求。所述操作包括响应于从第二用户接收到的请求,使用第一结构凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。
本公开的另一方面针对一种计算机实现的方法。该方法包括通过一个或多个计算设备从第一用户接收第一用户凭证集合。第一用户凭证集合与下述中的一个或多个相关联:一个或多个计算设备中的第一计算设备、第一应用或第一web服务。第一用户凭证集合与和第一用户相关联的第一用户账户相关联。该方法包括由一个或多个计算设备确定与第一用户物理上位于其中的物理结构相关联的结构标识符。该方法包括由一个或多个计算设备将第一用户凭证集合指配给结构标识符,以生成第一结构凭证集合。该方法包括由一个或多个计算设备从位于该结构内的第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的请求。该方法包括,响应于从第二用户接收到的请求,由一个或多个计算设备使用第一结构凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。
本公开的另一方面针对一种智能家居控制计算设备。该智能家居控制计算设备包括一个或多个处理器以及存储指令的一个或多个非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时,使该智能家居控制计算设备执行操作。所述操作包括从第一用户接收与下述中的一个或多个相关联的第一用户凭证集合:第一计算设备、第一应用或第一web服务。第一用户凭证集合与和该第一用户相关联的第一用户账户相关联。所述操作包括确定与家庭相关联的家庭标识符。所述操作包括将第一用户凭证集合指配给家庭标识符以生成第一家庭凭证集合。所述操作包括从位于家庭内的第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的请求。所述操作包括,响应于从第二用户接收到的请求,使用第一家庭凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。
一个或多个方面可以可选地包括下述特征中的一个或多个。至少一个控制计算设备可以包括智能扬声器。物理结构可以包括住宅,并且第一用户和第二用户包括住宅的居民。第一计算设备可以包括控制计算设备。将第一用户凭证集合指配给结构标识符可以包括:使用第一用户凭证集合以从web服务器获得认证令牌;和将认证令牌存储在控制计算设备处。从位于结构内的第二用户接收用于控制的请求可以包括,从与第二用户相关联的第二计算设备接收用于控制第一应用的请求,其中第一应用未安装在第二计算设备上。所述操作还可以包括,从第二用户接收与第一计算设备、第一应用或第一web服务中的一个或多个相关联的第二用户凭证集合,其中第二用户凭证集合与和第二用户相关联的第二用户账户相关联;和将第二用户凭证集合指配给结构标识符以生成第二结构凭证集合。所述操作还可以包括:从第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的第二请求,其中,第二请求包括口头请求;对第二请求执行语音识别以识别第二用户;以及响应于第二请求和对第二用户的识别,自动使用第二结构凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。所述操作还可以包括:从第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的第二请求;响应于第二请求,迭代地并且单独地分析指配给结构标识符的每个结构凭证集合,以标识能够使得满足第二请求的第一可用结构凭证集合;以及使用第一可用结构凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。所述操作还可以包括:从第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的第二请求;响应于第二请求,分析指配给结构标识符的每个结构凭证集合,以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合;和使用首要结构凭证集合来控制第一计算设备、第一应用或第一web服务中的一个或多个。所述操作还可以包括:从第二用户接收用于控制第一计算设备、第一应用或第一web服务中的一个或多个的第二请求;响应于第二请求,确定多个结构凭证集合可用以能够使得满足第二请求;和响应于确定多个结构凭证集合可用,与第二用户进行问答程序以在多个结构凭证集合之间消除歧义。
本公开的其他方面针对各种***、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书中并构成本说明书的一部分的附图图示本公开的示例实施例,并且与描述一起用作解释相关原理。
附图说明
在说明书中阐述针对本领域的普通技术人员的实施例的详细讨论,该说明书参考了附图,其中:
图1描绘根据本公开的示例实施例的示例计算***的框图。
图2描绘根据本公开的示例实施例的示例计算设备的框图。
图3描绘根据本公开的示例实施例的用于执行基于结构的访问控制的示例方法的流程图。
图4描绘根据本公开的示例实施例的执行基于结构的访问控制的示例方法的流程图。
具体实施方式
本公开的示例方面针对执行基于结构的访问控制的***和方法。特别地,不是依赖于例如可能需要手动共享账户凭证和/或在多个账户之间切换以访问与这样的账户相关联的特定设备、应用或服务的用户特定凭证方案,本公开的***和方法促进用户凭证被与结构(例如,用户居住的房屋)相关联的结构标识符继承或以其他方式指配给该结构标识符,从而生成结构凭证的集合。这使得可能是协作用户组的一部分的结构中的其他用户能够使用结构凭证来访问设备、应用和/或服务,从而消除执行多个账户设置例程和/或在用户特定账户之间进行切换来访问分别与此类账户相关联的不同的设备/服务/等的繁琐要求。因此,在一个示例中,丈夫可以将他的针对音乐流应用的特定用户凭证指配给房屋。此后,例如,在无需丈夫存在和/或丈夫的凭证的手动共享的情况下,位于房屋内的各个用户(例如,妻子、儿子和/或来访的朋友等)可以访问音乐流应用。
更具体地,一个或多个计算设备可以物理地位于诸如建筑物、房子、车辆等的物理结构内。例如,计算设备可以包括诸如扬声器、家用警报器、门锁、相机、照明***、跑步机、体重秤、智能床、灌溉***、车库门开启器、家用电器(例如,冰箱、HVAC、洗碗机、火炉等)、婴儿监视器、火警警报器或其他智能计算设备的智能网络连接的计算设备。这些设备可以提议或提供各种服务或操作。例如,服务或操作可以由这些设备执行的计算机应用执行。
在一些情况下,计算设备之一可以操作或用作控制计算设备。控制计算设备可以是上述智能设备之一,或者可以是具有除了控制智能设备以外的主要目的的单独的计算设备。作为一个示例,控制计算设备可以是包括并实现智能个人助理的智能扬声器。用户可以与控制计算设备进行交互以访问或以其它方式控制一个或多个智能设备。用户还可以与控制计算设备进行交互,以控制对一个或多个智能设备的管理。
为了提供示例,用户可以向控制计算设备发出请求访问或控制智能设备的语音命令(例如,“将恒温器调低两度(Turn the thermostat down two degrees)”。)。控制计算设备可以处理该语音命令,确定用户是否被授权控制这样的设备,并且如果是,则与该设备(例如,经由网络无线地)通信以实践由语音命令所请求的动作。作为替代示例,用户可以直接与智能设备(例如,智能恒温器)进行交互,并且在这种情况下,可以将智能设备视为控制计算设备。
同样,控制计算设备和/或一个或多个附加智能计算设备可以操作以使用户能够与一个或多个应用和/或web服务进行交互,管理或以其它方式控制一个或多个应用和/或web服务。作为一个示例,用户可以请求经由控制计算设备和/或一个或多个附加智能计算设备执行的音乐流应用/web服务来流传输和播放音乐。作为另一示例,用户可以请求向由控制计算设备和/或一个或多个附加智能计算设备执行的日历应用管理的日历添加新事件。
根据本公开的一方面,不是依赖于用户特定凭证方案,本公开的***和方法促进用户凭证被与结构(例如,用户居住的房屋)相关联的结构标识符继承或以其他方式指配给该结构标识符,从而生成结构凭证集合。因此,本公开提供基于结构的凭证方案。
作为一个示例,控制计算设备可以从第一用户接收第一用户凭证集合。第一用户凭证集合可以与结构中包括的一个或多个计算设备中的第一计算设备、第一应用和/或第一web服务相关联。第一用户凭证集合可以与和第一用户相关联的第一用户账户相关联。
第一用户可以指示他或她想要将第一用户凭证集合指配给该结构(例如,经由诸如语音命令的用户输入)。在一个示例中,第一用户可能先前已被指定为控制计算设备和/或一个或多个附加智能设备的“管理员”。例如,第一用户可以是在结构内部署、安装或以其他方式设置控制计算设备的用户。
控制计算设备可以确定与结构相关联的结构标识符。作为示例,当由用户首次部署时,此用户可能已经作为对应结构的特定名称或其他标识符(例如,“家庭湖边屋(FamilyLakehous)”)键入。作为另一个示例,制造商可能已经将标识符编程到控制计算设备中,并且当控制计算设备首次部署到结构中时,可以将这样的标识符作为结构标识符指配给结构。作为另一个示例,控制计算设备当首次在结构内部署时可以与注册服务器交互以接收结构标识符。
控制计算设备可以将第一用户凭证集合指配给结构标识符以生成第一结构凭证集合。例如,可以响应于他或她想要将第一用户凭证集合指配给结构的用户指令(例如,经由诸如语音命令的用户输入)来执行这种指配操作。在一些实施方式中,将第一用户凭证集合指配给结构标识符可以包括,使用第一用户凭证集合以从web服务器获得认证令牌并将认证令牌存储在控制计算设备处。在其他实施方式中,将第一用户凭证集合指配给结构标识符可以包括将第一用户凭证集合存储在控制计算设备处并且将这样的凭证指定为结构凭证。在又一示例中,结构标识符与认证令牌之间的映射可以存储在服务器计算设备处(例如,“在云中”)。
因此,在某些情况下,控制计算设备和/或web服务器可以对凭证集合执行认证例程(例如,在将凭证集合指配给结构之前和/或之后)以对凭证进行认证。对凭证集合进行认证可以包括将凭证集合与已认证的凭证集合进行比较(例如,检查是否已经提供正确的密码)。
在生成第一结构凭证集合之后,控制计算设备可以从位于结构内的第二用户接收用于控制与第一结构凭证集合相关联的第一计算设备、第一应用和/或第一web服务的请求(例如,语音命令)。响应于从第二用户接收到的请求,控制计算设备可以使用第一结构凭证集合来控制第一计算设备、第一应用和/或第一web服务中的一个或多个(例如,以实践第二用户接收到的请求)。
以这种方式,结构内的、可以是协作用户组的一部分的多个用户可以使用结构凭证来访问设备、应用和/或服务,从而消除在用户特定账户之间进行切换以访问分别与此类账户相关联的不同的设备/服务/等的繁琐要求。因此,在一个示例中,丈夫可以将他的针对音乐流应用的特定用户凭证指配给房屋。此后,房屋内的各个用户(例如,妻子)可以访问音乐流应用,同时仍然访问未指配给丈夫的特定用户账户的其他设备/服务/等(例如,与妻子的用户账户相关联的日历应用)。
作为该方法的一个示例技术效果和益处,可以消除处理资源来执行用户特定账户之间的切换和/或响应查询的使用。减少所消耗的处理资源数量可以导致尤其对于电池供电设备的设备电源性能的改善。作为另一个示例技术效果和益处,不再需要控制计算设备登录不同的用户特定账户(例如,在用户特定账户之间切换)以访问各种web服务。通过消除通过网络(例如,因特网)与web服务进行通信以切换活动账户的需求,可以减少网络流量。
作为另一示例技术效果和益处,基于结构的访问控制使控制成为多模式。在一个示例中,本文提出的基于结构的访问控制可以使应用的控制能够扩展到不具有在其上安装此类应用的控制设备。例如,第一计算设备可以具有在其上安装的第一应用,并且可以使用从与第一用户相关联的第一用户账户派生的第一结构凭证集合。第二用户可以与和第二用户相关联的第二计算设备进行交互,以控制第一计算设备使用第一结构凭证集合执行第一应用。因此,第一计算设备可以基于来自于与第二用户相关联的第二计算设备的请求使用从第一用户派生的凭证来执行第一应用,其中第二计算设备上未安装有第一应用。
附加用户凭证集合也可以被结构继承或以其他方式指配给该结构,以生成附加结构凭证集合。例如,控制计算设备可以从第二用户接收与第一计算设备、第一应用和/或第一web服务相关联的第二用户凭证集合。第二用户凭证集合可以与和第二用户相关联的第二用户账户相关联。控制计算设备可以(例如,基于来自第二用户的指示)将第二用户凭证集合指配给结构标识符,以生成第二结构凭证集合。可以将第二用户指定为第二管理员,或者可以不将其指定为第二管理员。
根据本公开的另一方面,在一些实施方式中,可以将使用或访问结构凭证集合的能力扩展到仅(例如,通过控制计算设备)已经认证的用户。因此,一旦用户被认证,用户就可以访问该结构,并且然后使用已经指配给该结构的任何结构凭证集合(例如,与该结构凭证相关联的认证令牌)。相反,未经认证的用户可能无法使用或访问结构凭证集合。
然而,在一些实施方式中,用户(例如,管理员)可以调整设置,该设置控制是否必须认证新用户以访问或使用特定结构凭证集合。例如,第一用户可以将他的针对音乐流应用的凭证指配给该结构,以生成第一结构凭证集合。第一用户还可以将他的针对日历应用的凭证指配给该结构,以生成第二结构凭证集合。第一用户可以控制设置,使得任何用户(包括未经认证的用户)都可以访问和使用第一结构凭证集合来控制音乐流应用,而只有经过认证的用户可以访问和使用第二结构凭证集合来控制日历应用。
为了提供上面刚刚描述的概念的另一个示例,假设第一用户具有控制智能恒温器的凭证,而第二用户具有控制智能照明***的凭证。在设置阶段,第一用户可以创建结构并将他自己指配给该结构作为所有者。第一用户可以指配他的凭证来控制智能恒温器被结构继承。接下来,第一用户可以将第二用户指配给该结构作为所有者。第二用户可以指配她的凭证来控制智能照明***被该结构继承。然后,在控制阶段,第一用户可以发送打开灯的命令。该命令被发送到具有第一用户凭证的控制计算设备。这被路由到该结构。因为第一用户是该结构的所有者,所以认证通过并且然后命令可以使用(从第二用户继承的)该结构的凭证来控制灯。此处描述的示例认证步骤可以确保只有该结构的所有者才能发出命令。提供此示例作为本公开的可能实施方式的一个示例。本公开不限于如在此示例中所描述的操作。
根据本公开的另一方面,在已经生成使能够访问或控制同一设备、应用和/或服务的多个结构凭证集合的情况下,本公开提供许多不同的技术来解决此类多个结构凭证集合和/或其他用户特定凭证集合之间的冲突。特别地,在已经针对特定设备、应用和/或服务接收到多个凭证集合之后,控制计算设备可以接收用于控制特定设备、应用和/或服务的新请求,并且作为响应,可以执行用于确定应使用哪个凭证集合的各种冲突解决技术。
作为一个示例冲突解决技术,控制计算设备可以迭代地并且单独地分析指配给结构标识符的每个结构凭证集合,以标识使能够使得满足新接收到的请求的第一可用结构凭证集合。因此,例如,控制计算设备可以从第一结构凭证集合开始,并且评估这种结构凭证是否可以用于满足请求。如果是这样,则控制计算设备可以使用这种第一结构凭证集合;并且如果不是这样,则控制计算设备可以移动到第二结构凭证集合并评估这种结构凭证是否可以用于满足请求。因此,控制计算设备可以使用第一可用结构凭证集合来控制特定设备、应用和/或服务中的一个或多个。
作为另一示例冲突解决技术,控制计算设备可以分析指配给结构标识符的每个结构凭证集合,以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合。作为一个示例,用于音乐流应用的第一结构凭证集合可以对应于标准账户类型,而用于音乐流应用的第二结构凭证集合可以对应于高级账户类型。因此,控制计算设备可以分析第一结构凭证集合和第二结构凭证集合,并确定第二结构凭证集合是提供首要权限组的首要凭证集合。这样,控制计算设备可以使用首要结构凭证集合来控制特定设备、应用和/或服务(例如,音乐流应用)。
作为又一示例冲突解决技术,响应于确定我们在实现请求时多个结构凭证集合可用,控制计算设备可以与第二用户进行问答例程以在多个结构凭证集合之间消除歧义。例如,问答例程可以包括控制计算设备提供问题(例如,通过扬声器播放音频问题)并从用户接收答案(例如,从用户接收语音答案)。例如,问题可以请求用户指定可用结构凭证集合中的一个,而答案可以指定特定结构凭证集合。
在另一个示例中,控制计算设备接收到的新请求可以是口头请求或命令。作为冲突解决技术的另一示例,控制计算设备可以对新口头请求执行语音识别以识别用言语表达新请求的特定用户。响应于新请求并且进一步响应于对特定用户的识别,控制计算设备可以自动使用与所识别的用户相关联的特定结构凭证集合来控制设备、应用和/或服务。例如,与所识别的用户相关联的特定结构凭证集合可以从与所识别的用户的用户账户相关联的用户凭证集合中派生。
因此,基于结构的访问控制使多个用户能够将其认证令牌指配给该结构。此后,一旦用户被认证,该用户就可以访问该结构,并且然后访问该结构上的所有认证令牌。
此外,在一些情况下,控制计算设备可以与一个或多个远程计算设备通信以执行本文所述的操作。例如,控制计算设备可以将从用户接收到的一些或全部信息发送到(例如,位于“云”中的)一个或多个服务器计算设备,并且服务器计算设备可以执行归因于控制计算设备的所有操作(例如,冲突解决操作)中的一些或全部。
现在参考附图,将进一步详细讨论本公开的示例实施例。
示例设备和***
图1描绘根据本公开的示例实施例的示例计算***的框图。示例计算***的部分可以物理上位于物理结构10内。示例结构10包括建筑物、房子、车辆或其他结构。结构也可以指建筑物的特定部分或分区,诸如建筑物的不同楼层;建筑物内的不同办公空间;或建筑空间的相似分区。例如,公司A在建筑物内的办公空间可以是第一结构,而公司B在建筑物内的办公空间可以是第二结构。
因此,尽管在本公开中将带有房间的房屋的示例用作物理结构,但是本公开的***和方法可以被更普遍地应用于在地理坐标或定义物理位置的坐标范围处一组用户使用设备的访问控制。例如,除上述内容之外,结构可以更一般地意指(a)永久或临时物理结构的一个单元或子单元(例如,多单元结构中的房子或公寓/联排别墅、或酒店房间、办公室或店面),或(b)该地点的用户组通常可访问的一组此类结构(例如,房子和法律上的单位或同一个物业中的独立车库、综合设施中的一套办公单位等)。作为另一示例,结构也可以是车辆或车辆组。
作为示例,控制计算设备102和多个智能设备150a-c可以与结构10物理地位于一处。例如,控制计算设备102本身可以是智能设备和/或智能设备150a-c之一可以作为控制计算设备操作。
示例性智能设备可以包括智能网络连接的计算设备,诸如扬声器、家庭警报器、门锁、相机、照明***、跑步机、体重秤、智能床、灌溉***、车库门开启器、家用电器(例如,冰箱、HVAC、洗碗机、火炉等)、婴儿监视器、火警警报器、电视、显示设备或其他智能计算设备。这些设备可以提议或提供各种服务或操作。例如,服务或操作可以由设备执行的计算机应用执行。智能设备不需要进行网络连接。
控制计算设备102可以使用各种不同的通信协议、方法、硬件等及其组合来与智能设备通信。作为一个示例,控制计算设备102可以使用诸如蓝牙、ZigBee、低功耗蓝牙、红外信号、光信号等的短程无线通信技术与智能设备150a通信。作为另一示例,控制计算设备可以通过局域网181与智能设备150b-c进行通信。例如,局域网181可以是与结构10相关联的WiFi网络。控制计算设备102还可以使用诸如以太网连接的有线连接与智能设备通信。
控制计算设备102和/或多个智能设备150a-c还可以与结构10外部的一个或多个计算设备通信。例如,结构10外部的此类计算设备可以包括一个或多个web服务器20、附加智能设备160和/或注册服务器30。例如,位于结构10内的设备与该结构外部的设备之间的通信可以通过广域网182进行。例如,广域网182可以包括因特网、蜂窝网络等。位于结构10内的设备与该结构外部的设备之间的通信可以流过局域网181,但是并不需要这样做。
因此,控制计算设备102本身可以是上述智能设备之一,或者可以是具有除了控制智能设备之外的主要目的单独的计算设备。作为一个示例,控制计算设备102可以是包括并实现智能个人助理的智能扬声器。作为另一示例,控制计算设备102可以是智能手机。在控制计算设备102是智能手机(或其他移动设备)的一些实施方式中,智能手机可以被指配给结构和在给定时间经由智能手机利用的基于结构的访问控制,不管智能手机在给定时间是否实际上在结构附近或结构内。在控制计算设备102是智能手机(或其他移动设备)的一些其他实施方式中,仅当确定智能手机在结构附近和/或内部时,才可以选择性地激活经由智能手机的基于结构的访问控制。例如,当智能手机检测到和/或连接到指配给该结构的Wi-Fi网络时,当智能手机检测到和/或连接到指配给结构的一个或多个智能设备时,和/或当智能手机的当前位置在指配给该结构的位置内或附近时,可以激活经由智能手机的基于结构的访问控制。
用户可以与控制计算设备102交互以访问或以其他方式控制一个或多个智能设备。用户还可以与控制计算设备102交互以控制对一个或多个智能设备的管理。
为了提供示例,用户可以向控制计算设备102发出请求访问或控制智能设备的语音命令(例如,“将恒温器调低两度。”)。控制计算设备102可以处理语音命令,确定用户是否被授权控制这些设备,并且如果是,则与设备(例如,经由网络无线地)通信以实践通过语音命令请求的动作。作为替代示例,用户可以直接与智能设备(例如,智能恒温器)进行交互,并且在这种情况下,可以将智能设备视为控制计算设备102。
同样,控制计算设备102和/或一个或多个附加智能计算设备可以操作以使用户能够与一个或多个应用和/或web服务进行交互,管理或以其他方式控制一个或多个应用和/或web服务。作为一个示例,用户可以请求经由通过控制计算设备102和/或一个或多个附加智能计算设备执行的音乐流应用/web服务来流传输和播放音乐。作为另一示例,用户可以请求向由控制计算设备102和/或一个或多个附加智能计算设备执行的日历应用所管理的日历添加新事件。
根据本公开的一方面,不是依赖于可能需要在多个账户之间切换以访问与此类账户相关联的特定设备、应用或服务的多个不同的用户特定账户,本公开的***和方法促进用户凭证被与结构10(例如,用户居住的房屋)相关联的结构标识符继承或以其他方式指配给该结构标识符,从而生成结构凭证集合。
作为一个示例,控制计算设备102可以从第一用户接收第一用户凭证集合。第一用户凭证集合可以与结构10中包括的一个或多个计算设备中的第一计算设备(例如,智能设备150b)、第一应用和/或第一web服务相关联。第一用户凭证集合可以与和第一用户相关联的第一用户账户相关联。
第一用户可以指示他或她想要将第一用户凭证集合指配给结构10(例如,经由诸如语音命令的用户输入)。在一个示例中,第一用户可能先前已被指定为控制计算设备102和/或一个或多个附加智能设备(例如,设备150b)的“管理员”。例如,第一用户可以是在结构内部署、安装或以其他方式设置控制计算设备102的用户。
控制计算设备102可以确定与结构10相关联的结构标识符。作为示例,当用户首次部署时,此用户可能已经键入了用于对应结构10的特定名称或其他标识符(例如,“家庭湖边屋”)。作为另一示例,制造商可能已经将标识符编程到控制计算设备102中,并且当将控制计算设备102首次部署到结构10中时,可以将此标识符指配给结构10作为结构标识符。作为另一示例,控制计算设备102当首次被部署在结构10内时可以与注册服务器30交互以接收指配给结构10的结构标识符。
控制计算设备102可以将第一用户凭证集合指配给结构标识符以生成第一结构凭证集合。例如,可以响应于他或她想要将第一用户凭证集合指配给结构10的用户指令(例如,经由诸如语音命令的用户输入)来执行这种指配操作。在一些实施方式中,将第一用户凭证集合指配给结构标识符可以包括使用第一用户凭证集合以从web服务器20获得认证令牌,并将认证令牌存储在控制计算设备102处。在其它实施方式中,将第一用户凭证集合指配给结构标识符可以包括,将第一用户凭证集合存储在控制计算设备102处,并将这些凭证指定为结构凭证。
在生成第一结构凭证集合之后,控制计算设备102可以从位于结构10内的第二用户接收用于控制与第一结构凭证集合相关联的第一计算设备(例如,设备150b)、第一应用和/或第一web服务的请求(例如,语音命令)。响应于从第二用户接收到的请求,控制计算设备102可以使用第一结构凭证集合来控制第一计算设备、第一应用和/或第一web服务中的一个或多个(例如,以实践第二用户接收到的请求)。
以这种方式,结构内的可以是协作用户组的一部分的多个用户可以使用结构凭证来访问设备、应用和/或服务,从而消除与用户特定凭证方案相关的繁重要求,诸如手动共享用户特定凭证和/或在用户特定账户之间切换以访问分别与此类账户相关联的不同的设备/服务/等。因此,在一个示例中,丈夫可以将他的针对音乐流应用的特定用户凭证指配给房屋。其后,位于房屋内的各个用户(例如,妻子、儿子和/或来访的朋友等)可以访问音乐流应用或示例而无需丈夫在场和/或手动共享丈夫的凭证。
附加用户凭证集合也可以被结构10继承或以其他方式指配给结构10,以生成附加结构凭证集合。例如,控制计算设备102可以从第二用户接收与第一计算设备、第一应用和/或第一web服务相关联的第二用户凭证集合。第二用户凭证集合可以与和第二用户相关联的第二用户账户相关联。控制计算设备102可以(例如,基于来自第二用户的指示)将第二用户凭证集合指配给结构标识符,以生成第二结构凭证集合。可以将第二用户指定为第二管理员,或者可以不将其指定为第二管理员。
根据本公开的另一方面,在已经生成使能够访问或控制相同的设备、应用和/或服务的多个结构凭证集合的情况下,本公开提供许多不同的技术来解决此类多个结构凭证集合和/或附加用户特定凭证集合之间的冲突。特别地,在已经接收到针对特定设备、应用和/或服务的多个凭证集合之后,控制计算设备102可以接收用于控制特定设备、应用和/或服务的新请求,并且作为响应,可以执行用于确定应使用哪个凭证集合的各种冲突解决技术。
作为一个示例冲突解决技术,控制计算设备102可以迭代地和单独地分析指配给结构标识符的每个结构凭证集合以标识使能够使得满足新接收到的请求的第一可用结构凭证集合。因此,例如,控制计算设备102可以以第一结构凭证集合开始,并且评估这样的结构凭证是否可以用于满足请求。如果是这样,则控制计算设备102可以使用这种第一结构凭证集合;并且如果不是这样,则控制计算设备102可以移至第二结构凭证集合,并评估这种结构凭证是否可以用于满足请求。因此,控制计算设备102可以使用第一可用结构凭证集合来控制特定设备、应用和/或服务中的一个或多个。
作为另一示例冲突解决技术,控制计算设备102可以分析指配给结构标识符的每个结构凭证集合以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合。作为一个示例,用于音乐流应用的第一结构凭证集合可以对应于标准账户类型,而用于音乐流应用的第二结构凭证集合可以对应于高级账户类型。因此,控制计算设备102可以分析第一结构凭证集合和第二结构凭证集合,并确定第二结构凭证集合是提供首要权限组的首要凭证集合。这样,控制计算设备102可以使用首要结构凭证集合来控制特定设备、应用和/或服务(例如,音乐流应用)。
作为又一示例冲突解决技术,响应于确定我们在实现请求时多个结构凭证集合可用,控制计算设备102可以与第二用户进行问答例程以在多个结构凭证集合之间消除歧义。例如,问答例程可以包括控制计算设备102提供问题(例如,通过扬声器播放音频问题)并从用户接收答案(例如,从用户接收语音答案)。例如,问题可以要求用户指定可用结构凭证集合中的一个,而答案可以指定特定结构凭证集合。
在另一示例中,由控制计算设备102接收到的新请求可以是口头请求或命令。作为另一示例冲突解决技术,控制计算设备102可以对新口头请求执行语音识别以识别以言语表达新请求的特定用户。响应于新请求并且进一步响应于对特定用户的识别,控制计算设备102可以自动使用与所识别的用户相关联的特定结构凭证集合来控制设备、应用和/或服务。例如,与所识别的用户相关联的特定结构凭证集合可以从与所识别的用户的用户账户相关联的用户凭证集合中派生。
图2描绘根据本公开的示例实施例的示例计算***的框图。该示例***包括通过网络180通信地耦合的控制计算设备102和服务器计算***130。
控制计算设备102可以是任何类型的计算设备,例如,智能设备、个人计算设备(例如,笔记本电脑或台式机)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
控制计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接的一个或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及其组合。存储器114可以存储由处理器112执行以使控制计算设备102执行操作的数据116和指令118。
在一些实施方式中,存储器114可以进一步存储一个或者多个凭证集合120。凭证集合120可以包括用户凭证和/或结构凭证。
在一些实施方式中,存储器114可以进一步存储设备拓扑122。设备拓扑122可以使用各种合适的技术来构造,并且可以是能够表示一个或多个结构内的一个或者多个智能设备的拓扑和组织的任何合适的格式和/或结构。设备拓扑122可以定义和/或组织与该结构相关联的一个或多个结构。可以将结构组织成一个或多个房屋(例如,卧室、客厅、厨房),并且可以将一个或多个智能设备可选地指配给一个或多个房间。例如,用户可以将一个或多个智能灯指配给特定结构的第一房间,并将一个或多个门锁***指配给该结构的第二房间。然后,用户可以将一个或多个不同的智能设备指配给第二结构内的一个或多个房间。
用户可以向设备拓扑122内的智能设备指配一个或多个标识符。该标识符可以由用户选择并且与设备拓扑122内的相应智能设备相关联。标识符可以包括用户为智能设备(例如,沙发灯、前门锁、卧室扬声器等)选择的昵称和/或别名。以这种方式,标识符可以是用户在控制智能设备时可能使用的相应智能设备的名称或别名。
设备拓扑122可以进一步指定与相应设备相关联的一个或多个设备属性。设备属性可以与智能设备配置成执行的一个或多个动作相关联。例如,与照明设备相关联的设备属性可以包括与照明设备相关联的开启能力、关闭能力、调光能力和/或其他合适的属性。作为另一示例,自动门锁定装置可以包括锁定能力、解锁能力和/或其他合适的能力。
在一些实施方式中,存储器114可以进一步存储访问控制列表124。访问控制列表124可以包括附接到设备、应用和/或服务的权限的列表。在一些示例中,访问控制列表124可以基于与结构标识符相关联的结构凭证来提供对设备、应用和/或服务的访问、控制或其他权限。因此,该结构可以被视为由访问控制列表124向其授予权限的实体,并且位于该结构内的任何用户都可以根据授予该结构标识符的权限来控制设备。
在一些实施方式中,控制计算设备102还可以包括接收用户输入的一个或多个用户输入组件126。例如,用户输入组件126可以包括对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用作实现虚拟键盘。其他示例用户输入组件126包括麦克风、传统键盘或用户可通过其进入通信的其他手段。
在一些实施方式中,控制计算设备102还可以包括提供输出的一个或多个输出组件128。例如,输出组件128可以包括显示屏、扬声器、触觉输出、灯或其他输出组件。
控制计算设备102可以包括用于通过网络180与服务器130通信的网络接口129。网络接口129可以包括适合于通过网络180与服务器130通信的任何组件或配置,包括例如一个或多个端口、发射器、无线卡、控制器、物理层组件或根据任何已知或将来开发的通信协议或技术进行通信的其他项目。
服务器计算***130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接在一起的一个或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132执行以使服务器计算***130执行操作的数据136和指令138。
在一些实施方式中,存储器134可以进一步存储一个或者多个凭证集合140。凭证集合140可以包括用户凭证和/或结构凭证。
服务器计算***130可以包括用于通过网络180与设备102通信的网络接口142。网络接口142可以包括适合于通过网络180与设备102通信的任何组件或配置,包括例如一个或多个端口、发射器、无线卡、控制器、物理层组件或根据任何已知或将来开发的通信协议或技术进行通信的其他项目。
在一些实施方式中,服务器计算***130包括一个或多个服务器计算设备或由一个或多个服务器计算设备来实现。在服务器计算***130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其一些组合来操作。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,可以使用各种通信协议(例如,TCP/IP,HTTP、SMTP、FTP)、编码或格式(例如,HTML,XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载通过网络180的通信。
图2图示可用于实现本公开的一个示例计算***。也可以使用其他计算***。
示例方法
图3描绘根据本公开的示例实施例的执行基于结构的访问控制的示例方法300的流程图。
在302处,计算***从第一用户接收与第一计算设备、第一应用和/或第一web服务相关联的第一用户凭证集合。第一用户凭证集合可以与和第一用户相关联的第一用户账户相关联。
第一用户可以指示他或她想要将第一用户凭证集合指配给结构(例如,经由诸如语音命令的用户输入)。在一个示例中,第一用户可能先前已被指定为控制计算设备和/或一个或多个附加智能设备的“管理员”。例如,第一用户可以是在结构内部署、安装或以其他方式设置控制计算设备的用户。
在304处,计算***可以确定与结构相关联的结构标识符。作为示例,当由用户首次部署时,此用户可能已经键入用于对应结构的特定名称或其他标识符(例如,“家庭湖边屋”)。作为另一个示例,制造商可能已经将标识符编程到控制计算设备中,并且当控制计算设备被首次部署到结构中时,可以将此标识符指配给结构作为结构标识符。作为另一个示例,当首次在结构内部署时,控制计算设备可以与注册服务器交互以接收结构标识符。
在306处,计算***可以将第一用户凭证集合指配给结构标识符以生成第一结构凭证集合。例如,可以响应于他或她想将第一用户凭证集合指配给结构的用户指令来执行在306处指配凭证(例如,经由诸如语音命令的用户输入)。
作为一个示例,将第一用户凭证集合指配给结构标识符可以包括使用第一用户凭证集合从web服务器获取认证令牌;和将认证令牌存储在控制计算设备处。
在308处,计算***可以从位于结构内的第二用户接收用于控制第一计算设备、第一应用和/或第一web服务的请求。作为一个示例,从位于结构内的第二用户接收用于控制的请求可以包括从与第二用户相关联的第二计算设备接收用于控制第一应用的请求。在某些情况下,第一应用可能未安装在第二计算设备上。
在310处,计算***可以使用第一结构凭证集合来控制第一计算设备、第一应用和/或第一web服务满足来自位于结构内的第二用户的请求。
以这种方式,结构中的可以是协作用户组的一部分的多个用户可以使用结构凭证来访问设备、应用和/或服务,从而消除在用户特定账户之间进行切换以访问分别与此类账户相关联的不同的设备/服务/等的繁琐要求。因此,在一个示例中,丈夫可以将他的针对音乐流应用的特定用户凭证指配给房屋。此后,房屋中的各个用户(例如,妻子)可以访问音乐流应用,同时仍然访问未指配给丈夫的特定用户账户的其他设备/服务/等(例如,与妻子的用户账户相关联的日历应用)。
图4描绘根据本公开的示例实施例的执行基于结构的访问控制的示例方法400的流程图。
在402处,计算***可以接收用于控制计算设备、应用和/或web服务的请求。例如,该请求可以是语音请求。
在404处,计算***可以确定多个结构凭证集合可用于实现请求。例如,从第一用户派生的第一结构凭证集合和从第二用户派生的第二结构凭证集合都可以用于实现请求。
在406处,计算***可以执行冲突解决技术以在多个结构凭证集合之间消除歧义并选择多个结构凭证集合中的一个。
作为一个示例,在其中在402处接收到的请求是语音请求的情况下,在406处执行冲突解决可以包括对语音请求执行语音识别以识别第二用户。响应于对第二用户的识别,计算***可以自动使用第二结构凭证集合来实现请求。
作为另一示例,在406处执行冲突解决可以包括迭代且单独地分析指配给结构标识符的每个结构凭证集合,以标识使能够使得满足请求的第一可用结构凭证集合。计算***可以使用第一可用结构凭证集合来控制实现请求。
因此,例如,计算***可以从第一结构凭证集合开始,并且评估这种结构凭证是否可以用于满足请求。如果是这样,则计算***可以使用这种第一结构凭证集合;并且如果不是这样,则计算***可以移至第二结构凭证集合,并评估此类结构凭证是否可用于满足请求。因此,计算***可以使用第一可用结构凭证集合来实现请求。
作为又一示例,在406处执行冲突解决可以包括分析指配给结构标识符的每个结构凭证集合,以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合。作为一个示例,用于音乐流应用的第一结构凭证集合可以对应于标准账户类型,而用于音乐流应用的第二结构凭证集合可以对应于高级账户类型。因此,计算***可以分析第一结构凭证集合和第二结构凭证集合,并确定第二结构凭证集合是提供首要权限组的首要凭证集合。计算***可以使用首要结构凭证集合来实现请求。
作为另一个示例,在406处执行冲突解决可以包括与用户进行问答例程以在多个结构凭证集合之间消除歧义。例如,问答例程可以包括计算***提供问题(例如,通过扬声器播放音频问题)并且从用户接收答案(例如,从用户接收语音答案)。例如,问题可以请求用户指定可用结构凭证集合中的一个,而答案可以指定特定结构凭证集合。
在408处,计算***可以使用所选择的结构凭证集合来实现请求。
附加公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的***,以及对此类***采取的动作和从此类***发送的信息。基于计算机的***的固有灵活性允许在组件之间以及组件当中进行多种可能的配置、组合以及任务和功能的划分。例如,可以使用单个设备或组件或组合工作的多个设备或组件来实现本文讨论的过程。数据库和应用可以在单个***上实现,或者可以分布在多个***上。分布式组件可以顺序或并行运行。
尽管已经关于本主题的各种特定示例实施例详细描述了本主题,但是每个示例都是通过说明而非限制本公开的方式来提供的。本领域的技术人员在理解前述内容之后,可以容易地对这些实施例进行替换、变型和等效。因此,主题公开不排除对本主题包括对本领域的普通技术人员而言显而易见的这种修改、变化和/或添加。例如,作为一个实施例的一部分图示或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,旨在本公开覆盖这样的变更、变化和等效物。
特别地,尽管为了说明和讨论的目的图3和图4分别描绘以特定顺序执行的步骤,但是本公开的方法不限于特别地图示的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新排列、组合和/或改编方法300和400的各个步骤。
Claims (17)
1.一种计算机***,包括:
至少一个控制计算设备和一个或多个智能计算设备,其中所述至少一个控制计算设备和所述一个或多个智能计算设备位于物理结构内;
其中,所述至少一个控制计算设备包括一个或多个处理器和存储指令的一个或多个非暂时性计算机可读介质,当所述指令由所述一个或多个处理器执行时,使所述至少一个控制计算设备执行操作,所述操作包括:
从第一用户接收与下述中的一个或多个相关联的第一用户凭证集合:所述控制计算设备、所述一个或多个智能计算设备、第一应用以及第一web服务,其中所述第一用户凭证集合与关联于所述第一用户的第一用户账户相关联;
确定与所述控制计算设备和所述第一用户在物理上所位于的所述物理结构相关联的结构标识符;
将所述第一用户凭证集合指配给所述结构标识符以生成所述物理结构的第一结构凭证集合;
从位于所述物理结构内的第二用户接收用于控制所述控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的语音命令;以及
响应于从所述第二用户接收到的所述语音命令,使用所述第一结构凭证集合来控制所述控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
2.根据权利要求1所述的计算机***,其中,所述至少一个控制计算设备包括智能扬声器。
3.根据权利要求1所述的计算机***,其中,所述物理结构包括住所,并且所述第一用户和所述第二用户包括所述住所的居民。
4.根据权利要求1所述的计算机***,其中,将所述第一用户凭证集合指配给所述结构标识符包括:
使用所述第一用户凭证集合以从web服务器获取认证令牌;和
将所述认证令牌存储在所述控制计算设备处。
5.根据权利要求1-4中的任一项所述的计算机***,其中,所述操作进一步包括:
从所述第二用户接收第二用户凭证集合,所述第二用户凭证集合与所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个相关联,其中所述第二用户凭证集合与关联于所述第二用户的第二用户账户相关联;和
将所述第二用户凭证集合指配给所述结构标识符以生成第二结构凭证集合。
6.根据权利要求5所述的计算机***,其中,所述操作进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求,其中所述第二请求包括口头请求;
对所述第二请求执行语音识别以识别所述第二用户;以及
响应于所述第二请求和对所述第二用户的识别,自动使用所述第二结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
7.根据权利要求5所述的计算机***,其中,所述操作进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,迭代地并且单独地分析指配给所述结构标识符的每个结构凭证集合,以标识能够使得满足所述第二请求的第一可用结构凭证集合;以及
使用所述第一可用结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
8.根据权利要求5所述的计算机***,其中,所述操作进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,分析指配给所述结构标识符的每个结构凭证集合,以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合;以及
使用所述首要结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
9.根据权利要求5所述的计算机***,其中,所述操作进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,确定多个结构凭证集合可用于能够使得满足所述第二请求;以及
响应于确定所述多个结构凭证集合是可用的,与所述第二用户进行问答例程以在所述多个结构凭证集合之间消除歧义。
10.一种计算机实现的方法,包括:
由位于物理结构内的控制计算设备从第一用户接收第一用户凭证集合,其中所述第一用户凭证集合与下述中的一个或多个相关联:所述控制计算设备、位于所述物理结构内的一个或多个智能计算设备、第一应用和第一web服务,并且其中所述第一用户凭证集合与关联于所述第一用户的第一用户账户相关联;
由所述控制计算设备确定与所述控制计算设备和所述第一用户在物理上所位于的所述物理结构相关联的结构标识符;
由所述控制计算设备将所述第一用户凭证集合指配给所述结构标识符以生成所述物理结构的第一结构凭证集合;
由所述控制计算设备从位于所述物理结构内的第二用户接收用于控制所述控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的语音命令;以及
响应于从所述第二用户接收到的所述语音命令,由所述控制计算设备使用所述第一结构凭证集合来控制所述控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
11.根据权利要求10所述的计算机实现的方法,其中,将所述第一用户凭证集合指配给所述结构标识符包括:
使用所述第一用户凭证集合以从web服务器获取认证令牌;和
将所述认证令牌存储在所述控制计算设备处。
12.根据权利要求10或权利要求11所述的计算机实现的方法,进一步包括:
从所述第二用户接收第二用户凭证集合,所述第二用户凭证集合与所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个相关联,其中所述第二用户凭证集合与关联于所述第二用户的第二用户账户相关联;和
将所述第二用户凭证集合指配给所述结构标识符以生成第二结构凭证集合。
13.根据权利要求12所述的计算机实现的方法,进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求,其中所述第二请求包括口头请求;
对所述第二请求执行语音识别以识别所述第二用户;以及
响应于所述第二请求和对所述第二用户的识别,自动使用所述第二结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
14.根据权利要求12所述的计算机实现的方法,进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,迭代地并且单独地分析指配给所述结构标识符的每个结构凭证集合,以标识能够使得满足所述第二请求的第一可用结构凭证集合;以及
使用所述第一可用结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
15.根据权利要求12所述的计算机实现的方法,进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,分析指配给所述结构标识符的每个结构凭证集合,以标识相对于其他结构凭证集合具有首要权限组的首要结构凭证集合;以及
使用所述首要结构凭证集合来控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
16.根据权利要求12所述的计算机实现的方法,进一步包括:
从所述第二用户接收用于控制所述控制计算设备、一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的第二请求;
响应于所述第二请求,确定多个结构凭证集合可用于能够使得满足所述第二请求;以及
响应于确定所述多个结构凭证集合是可用的,与所述第二用户进行问答例程以在所述多个结构凭证集合之间消除歧义。
17.一种智能家居控制计算设备,包括:
一个或多个处理器;和
存储指令的一个或多个非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时,使位于家庭内的所述智能家居控制计算设备执行操作,所述操作包括:
从第一用户接收与下述中的一个或多个相关联的第一用户凭证集合:智能家居控制计算设备、位于所述家庭内的一个或多个智能计算设备、第一应用以及第一web服务,其中所述第一用户凭证集合与关联于所述第一用户的第一用户账户相关联;
确定与所述智能家居控制计算设备和所述第一用户在物理上所位于的所述家庭相关联的家庭标识符;
将所述第一用户凭证集合指配给所述家庭标识符以生成所述家庭的第一家庭凭证集合;
从位于所述家庭内的第二用户接收用于控制所述智能家居控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个的语音命令;以及
响应于从所述第二用户接收到的所述语音命令,使用所述第一家庭凭证集合来控制所述智能家居控制计算设备、所述一个或多个智能计算设备、所述第一应用或所述第一web服务中的一个或多个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762591934P | 2017-11-29 | 2017-11-29 | |
US62/591,934 | 2017-11-29 | ||
PCT/US2018/062841 WO2019108648A1 (en) | 2017-11-29 | 2018-11-28 | Structure-based access control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111406392A CN111406392A (zh) | 2020-07-10 |
CN111406392B true CN111406392B (zh) | 2022-10-25 |
Family
ID=64902387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880076605.5A Active CN111406392B (zh) | 2017-11-29 | 2018-11-28 | 基于结构的访问控制的方法、***、智能家居控制设备 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11470078B2 (zh) |
EP (1) | EP3539274B1 (zh) |
CN (1) | CN111406392B (zh) |
WO (1) | WO2019108648A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210377223A1 (en) * | 2016-05-18 | 2021-12-02 | Zscaler, Inc. | Client to Client and Server to Client communication for private application access through a cloud-based system |
CN111406392B (zh) | 2017-11-29 | 2022-10-25 | 谷歌有限责任公司 | 基于结构的访问控制的方法、***、智能家居控制设备 |
US11144620B2 (en) * | 2018-06-26 | 2021-10-12 | Counseling and Development, Inc. | Systems and methods for establishing connections in a network following secure verification of interested parties |
US11516211B2 (en) * | 2018-09-11 | 2022-11-29 | Citrix Systems, Inc. | System for providing a service based upon authorization token and virtual assistant and related methods |
US11539545B2 (en) | 2019-08-19 | 2022-12-27 | Sonos, Inc. | Multi-network playback devices |
WO2022140853A1 (en) * | 2020-12-30 | 2022-07-07 | Mastercard Technologies Canada ULC | Systems, methods, computer-readable media, and devices for authenticating users |
US20240119944A1 (en) * | 2022-10-06 | 2024-04-11 | Google Llc | Voice Query Handling in an Environment with Multiple Users |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9191382B1 (en) * | 2012-06-14 | 2015-11-17 | Google Inc. | User authentication using swappable user authentication services |
CN105812140A (zh) * | 2014-12-31 | 2016-07-27 | 上海庆科信息技术有限公司 | 一种授权访问方法 |
CN106685978A (zh) * | 2017-01-04 | 2017-05-17 | 北京奇虎科技有限公司 | 多设备间访问权限控制方法、装置及移动终端 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547571B (zh) * | 2012-11-21 | 2021-06-22 | 苹果公司 | 用于管理访问控制的方法和访问控制客户端供应服务器 |
US9111214B1 (en) * | 2014-01-30 | 2015-08-18 | Vishal Sharma | Virtual assistant system to remotely control external services and selectively share control |
WO2016022037A1 (en) * | 2014-08-06 | 2016-02-11 | Google Inc | Device access controls |
US9870698B2 (en) * | 2015-11-10 | 2018-01-16 | Google Llc | Security system re-arming |
US10523441B2 (en) * | 2015-12-15 | 2019-12-31 | Visa International Service Association | Authentication of access request of a device and protecting confidential information |
US10945129B2 (en) | 2016-04-29 | 2021-03-09 | Microsoft Technology Licensing, Llc | Facilitating interaction among digital personal assistants |
US9674187B1 (en) * | 2016-09-28 | 2017-06-06 | Network Performance Research Group Llc | Systems, methods and computer-readable storage media facilitating mobile device guest network access |
CN106412083A (zh) | 2016-10-29 | 2017-02-15 | 深圳智乐信息科技有限公司 | 一种访客控制智能家居的方法及*** |
CN106992989B (zh) * | 2017-05-17 | 2020-06-23 | 广东美的制冷设备有限公司 | 智能家居的分享授权方法、服务器及可读存储介质 |
WO2019015739A1 (en) * | 2017-07-17 | 2019-01-24 | Sonova Ag | AUDIO DIFFUSION IN CONTINUOUS ENCRYPTION |
EP3679735A1 (en) * | 2017-10-21 | 2020-07-15 | Apple Inc. | Personal domain for a virtual assistant system on a communal device |
CN111406392B (zh) | 2017-11-29 | 2022-10-25 | 谷歌有限责任公司 | 基于结构的访问控制的方法、***、智能家居控制设备 |
-
2018
- 2018-11-28 CN CN201880076605.5A patent/CN111406392B/zh active Active
- 2018-11-28 WO PCT/US2018/062841 patent/WO2019108648A1/en unknown
- 2018-11-28 EP EP18829546.3A patent/EP3539274B1/en active Active
- 2018-11-28 US US16/609,569 patent/US11470078B2/en active Active
-
2022
- 2022-10-10 US US17/962,769 patent/US11722483B2/en active Active
-
2023
- 2023-06-26 US US18/214,217 patent/US11997084B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9191382B1 (en) * | 2012-06-14 | 2015-11-17 | Google Inc. | User authentication using swappable user authentication services |
CN105812140A (zh) * | 2014-12-31 | 2016-07-27 | 上海庆科信息技术有限公司 | 一种授权访问方法 |
CN106685978A (zh) * | 2017-01-04 | 2017-05-17 | 北京奇虎科技有限公司 | 多设备间访问权限控制方法、装置及移动终端 |
Non-Patent Citations (1)
Title |
---|
"一种物联网端到端安全方案";马国峻等;《信息网络安全》;20171010;第14-21页 * |
Also Published As
Publication number | Publication date |
---|---|
US11997084B2 (en) | 2024-05-28 |
EP3539274A1 (en) | 2019-09-18 |
CN111406392A (zh) | 2020-07-10 |
US20230030076A1 (en) | 2023-02-02 |
US11470078B2 (en) | 2022-10-11 |
WO2019108648A1 (en) | 2019-06-06 |
EP3539274B1 (en) | 2023-04-05 |
US20200067916A1 (en) | 2020-02-27 |
US11722483B2 (en) | 2023-08-08 |
US20230336544A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111406392B (zh) | 基于结构的访问控制的方法、***、智能家居控制设备 | |
US11631291B2 (en) | Smart building integration and device hub | |
US9906956B1 (en) | Using power-line networks to facilitate network access | |
US9380055B2 (en) | Device control method, device management system, and in-house server apparatus connected to device management system | |
WO2017111532A1 (ko) | 전자기기를 제어하는 방법 및 장치 | |
US10679446B2 (en) | Extended instant guest access using near field communication tags | |
WO2017058715A1 (en) | Methods, systems, and computer readable media for causing a mechanical action based on transient user data | |
CN105610786A (zh) | 注册要使用的装置的方法和设备 | |
US11303955B2 (en) | Video integration with home assistant | |
US10587622B2 (en) | System of third party control of network connected devices | |
US20190089808A1 (en) | User preference assignment using nfc tags in hospitality applications | |
CN109599100A (zh) | 交互式电子设备控制***、交互式电子设备及其控制方法 | |
US11134146B2 (en) | User preference utilization in remote applications | |
KR102340693B1 (ko) | 사용자 권한 설정 방법 및 이를 수행하는 홈 사물 인터넷 서비스 시스템 | |
US10588006B2 (en) | Method and device for controlling target device of host and client | |
US20230155903A1 (en) | SYSTEM AND METHOD OF SOCIAL CONTROL-AND-USE OF IoT DEVICE, CONTROL SERVER SUPPORTING SOCIAL CONTROL-AND-USE OF IoT DEVICE AND MOBILE DEVICE USED FOR SOCIAL CONTROL-AND-USE OF IoT DEVICE | |
KR20230100815A (ko) | 공용 기기의 개인별 자원 사용 추산 시스템 및 공용 기기의 개인별 자원 사용 추산 방법 | |
JP2024523856A (ja) | ドアロック管理者権限による連動設定方法 | |
JP2023094976A (ja) | 情報処理装置、プログラム及び制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |