用于动态地选择指令集的方法和装置与流程

文档序号:32494389发布日期:2022-12-10 04:11阅读:27来源:国知局
用于动态地选择指令集的方法和装置与流程
用于动态地选择指令集的方法和装置
1.本技术是2017年5月24日申请的申请号为201780038112.8、发明名称为“用于动态地选择指令集的方法和装置”的专利申请的分案申请。
技术领域
2.本技术涉及用于动态地选择用于基于一个或多个可用输入参数产生输出参数的指令集的方法和装置。


背景技术:

3.随着物联网(iot)设备部署的增加,位置特定的信息和对象特定的信息变得越来越容易获得。然而,利用这种信息产生输出的现有设备通常是硬编码的,从而需要来自一组同样有限的特定输入参数源的一组特定的不可改变的输入参数。因此,当这些设备无法从适当的源接收所需的输入参数时,它们无法产生其所需的输出。
4.因此,许多现有设备在潜在的输入源设备和/或参数方面仍然不灵活,从而将它们的潜在实施场景减少到一组有限的静态环境,在静态环境中,所有所需输入是由相应设备从一组明确定义的输入源获得的。因此,本领域中需要改进以允许设备基于可根据时间和位置改变的一组可用输入参数来获得给定输出。


技术实现要素:

5.本文的一个或多个实施例从均产生相同的输出参数的多个不同的可用指令集中选择将被执行的指令集。然而,每个所述指令集可以依赖于不同的输入参数来产生所述输出参数。这样,基于在给定时间的可用输入参数(例如来自一个或多个可用传感器),设备能够基于在给定时间可用的输入参数来选择要执行以获得所述输出参数的指令集。
6.例如,一些实施例包括一种用于由设备动态选择指令集的方法。在一些示例中,该方法可以包括从均被配置为产生相同的输出参数的不同的候选指令集中选择需要均对所述设备可用的输入参数的指令集。另外,示例方法可以包括通过使用所选择的指令集所需的所述输入参数执行该指令集来获得所述输出参数。
7.此外,在一些示例中,多于一个指令可用于基于一组可用输入参数来使用。在这种情况下,设备应选择可用指令集之一来执行以获得所述输出参数。因此,本文描述的示例方法可以包括获得不同的候选指令集的排序。另外,示例方法可以包括确定所述不同的候选指令集中的多个指令集均需要在所述设备处可用的输入参数。在这样的确定之后,该方法可以包括选择所述多个指令集中的排序最高的指令集作为将被执行的指令集。
8.其他实施例包括对应的装置、计算机程序以及计算机程序产品。
附图说明
9.图1示出了对应于示例实施例的通信环境;
10.图2示出了根据一个或多个实施例的由设备执行的方法;
11.图3a和3b包括示出根据本公开的一个或多个实施例的示例实现场景的框图;
12.图4示出了根据一个或多个实施例的示例设备的细节。
具体实施方式
13.本公开呈现了用于设备利用动态的可用输入参数集来生成给定输出参数的技术。具体地,在一些通信环境中,可用输入参数集可以借助于设备相对于用作这些输入参数中的一个或多个的源的一个或多个其他设备(例如传感器或者任何其他类型的输入参数设备)在一段时间内在空间中移动,被表征为动态的或“随时间变化的”。在给定的时间和位置,环境的快照揭示了可用于设备生成给定输出参数的特定输入参数集(例如来自一个或多个输入参数源设备)。该“快照”可以定义设备在该位置和时间点的“域”。
14.本文公开的实施例允许设备利用域特定知识(例如哪些输入参数可用以及那些可用输入参数是否足以生成输出参数)在其中可用输入参数可以根据时间和位置改变的通信环境中提供操作灵活性。具体地,所描述的实施例中提供的技术利用包括一个或多个功能单元的指令模块,以使得:(1)可以在不考虑特定设备的实际硬件配置的情况下编写和使用指令集,(2)指令模块可以选择和利用一个或多个指令集从不同的可能可用输入参数集生成给定输出参数,以及(3)提供对指令集的自动选择以允许指令模块通过定义的域特定的能力、指令以及输出要求,将可能的输入参数映射到可用传感器。
15.图1示出了通信环境10,其包括被配置为基于由一个或多个输入参数源100a-d分别输出的多个输入参数12a-d来产生和发送特定输出参数11(例如到客户端设备或客户端设备120内的模块)的设备102。在一些示例中,通信环境10可以在物联网(iot)上下文中实现,其中每个输入参数源100a-d是通过无线通信信道连续地或周期性地报告(例如广播)参数和/或状态信息12(包括12a、12b、12c和/或12d,一起称为“12a-d”)的iot设备(例如传感器、时钟、位置信标等)。在一些实现中,输入参数源(无论是否是iot兼容设备)可以是计算和报告在传感器位置处经历的一个或多个参数的传感器,但这决不是限制性的。例如,在整个本公开中可以用作参考的示例实现中,通信环境10可以与车辆相关联,并且在这样的示例实现中,输入参数源100(包括100a、100b、100c和/或100d,一起称为“100a-d”)可以是燃料液位传感器、轮胎压力传感器、车辆传动系统上的速度传感器、油位传感器、盲点传感器、后视窗刮水器的开/关状态指示器等。下面参考图3a和3b提供这种汽车实现的示例。
16.然而,无论实现场景如何,设备102可以包括指令模块104,其被配置为基于可用输入参数112从多个候选指令集106中选择指令集118,以使得所选择的指令集118在被执行时产生输出参数11。输出参数11可以从指令模块104输出到客户端120,如图1所示,客户端120可以驻留在设备102中(例如指令模块104外部的单独的客户端模块),并且在一些情况下,可以是设备102外部的单独模块或设备(未示出)。指令模块104可以是被配置为在可用输入参数112上选择和执行指令集118的任何处理组件或模块,诸如但不限于处理器、存储用于执行本文公开的实施例的任何方面的处理器可执行代码的存储器(参见图3)。在一些非限制性实施例中,客户端120可以包括需要输出参数11作为输入的另一设备/模块。
17.可以从上述一个或多个输入参数源100a-d接收可用输入参数112。在一些情况下,可用输入参数可以包括输入参数12a-d中的每一个,但是在一些情况下,这些输入参数12a-d中的一个或多个可能不可用(例如由于对应输入参数源100a-d中的故障,设备102移动到
特定输入参数源100a-d的通信范围之外,或者输入参数12a-d对设备102不可用的任何其他场景)。在这种情况下,尽管图1将输入参数12a-d示为输入到设备102,但是这些输入参数中的一个或多个可能不可用,并且因此可能不被输入,并且可用输入参数112将不包括实际在给定时间不被输入/不可用的那些参数。
18.指令模块104可以包括候选指令集106,指令模块104针对候选指令集106的每个候选指令集可以包括指令逻辑108以及一个或多个所需输入参数110。这些所需输入参数110是给定指令集产生输出参数11所需的用于该指令集的输入参数。指令逻辑108包括定义逻辑的可执行指令集,以使得当被提供所需输入参数110时,被执行的指令集将产生输出参数11。
19.例如,在一个非限制性示例实施例中,设备102可以执行指令逻辑108以用于产生车辆速度作为输出参数11。在这样做时,设备102可以计算在特定时间段内行进的距离。在这种情况下,指令逻辑108可以包括用于在第一时间选择第一位置参数(例如存储在设备的存储器中的先前时间的过去位置)和在第二时间选择第二位置(例如当前位置和时间)的指令。指令逻辑108可以包括用于计算第一位置和第二位置之间以及第一时间和第二时间之间的差的另一指令。此外,为了确定输出参数(车辆速度),指令逻辑108可以包括用于计算计算位置之间的差与时间之间的差的比率的进一步指令。
20.另外,指令模块可以包括指令选择逻辑114,其可以包括可由指令模块104执行的一个或多个指令,以确定应该利用哪个候选指令集106来产生输出参数11。该指令选择逻辑114可以包括用于确定可用输入参数112(例如查询设备102的存储器或状态模块)并将可用输入参数112与候选指令集106的所需输入参数110进行比较的指令(即定义所述“逻辑”)。指令选择逻辑114可以包括用于选择候选指令集106(其所需输入参数110是当前可用的输入参数112)的指令。
21.如果只能选择一个候选指令集106,则指令选择逻辑114的进一步指令可以指示指令模块选择该指令集。然而,如果基于上述比较,两个或更多个候选指令集106可用于选择,则指令模块可以进一步执行来自指令选择逻辑114的基于排序系统选择多个可用候选指令集106之一的指令。例如,候选指令集106可以由指令模块104根据用户或制造商定义的列表或根据算法来排序(例如,以动态或静态方式)。排序算法可以作为一个或多个指令包括在指令选择逻辑114中,例如以基于一个或多个参数(例如与特定输入参数源100的链路的信道条件、自输入参数12不可用以来的时间长度、所需输入参数110中的输入参数数量、计算每个候选指令集106的输出参数11所需的时间和/或资源等)周期性地对候选指令集106进行排序。无论排序如何获得,指令选择逻辑114都可以被配置为基于指令集在排序中的相对位置(例如排序最高的可用指令集),从指令集中选择其所需输入参数110是可用输入参数112的指令集。
22.在选择指令集118之后,指令模块104可以利用输出参数生成器(例如与存储器通信的处理组件)来使用其所需输入参数110的最新值来执行指令集118以生成输出参数11。当生成输出参数时,它可以由指令模块104输出到客户端120,客户端120可以是显示输出参数和/或执行需要输出参数11作为输入的指令的硬件组件。例如,在输出参数11是车辆速度的情况下,客户端120可以是车辆仪表板中的速度计(显示输出参数11),或者可以是车辆系统中的处理器,其计算行程持续时间上的平均车辆速度(将输出11作为所需输入的硬件组
件)。
23.图2示出了根据本公开实施例的由设备102执行的用于动态选择指令集的示例性方法200。这种选择可以被认为是动态的,因为方法200可以周期性地和/或基于触发事件的发生来执行,并且随着通信环境中条件的变化,可以随时间选择不同指令集。因此,在一些情况下,动态选择可以意味着可以基于某些输入参数或环境条件,针对不同时间段选择不同指令集。
24.在框202处,方法200可以包括从均被配置为产生相同的输出参数的不同的候选指令集中选择需要在所述设备处可用的输入参数的指令集。
25.此外,在框204处,方法200可以包括通过使用所选择的指令集所需的所述输入参数执行该指令集来获得所述输出参数。在一些示例中,框202和204可以由设备102和/或与设备102相关联的指令模块104(例如执行存储在设备102上的存储器中的指令的处理器)来执行。
26.另外,尽管未在图2中明确示出,但是方法200可以包括一个或多个其他方面。例如,方法200可以进一步包括:例如通过周期性地发送报告命令信标以提示任何附近和可用的输入参数源设备用它们各自输出的一个或多个参数进行回复,确定对设备可用的输入参数。基于对信标的响应,设备能够例如在与设备关联的存储器中维护当前可用输入参数的集合。
27.此外,方法200可以包括标识不同的候选指令集中需要均对设备可用的一个或多个输入参数的一个或多个候选指令集。在一些情况下,这可以包括查询当前可用输入参数的集合以标识这一个或多个候选指令集。最后,在框202处选择指令集可以包括从所标识的一个或多个不同候选指令集中选择仅需要在给定时间和位置处对设备可用的那些参数的指令集。
28.在一些示例中,方法200可以包括获得不同的候选指令集的排序,其中,将被用于生成输出参数的指令集的选择基于所获得的排序。在一些示例中,方法200可以包括确定不同的候选指令集中的多个指令集均需要在所述设备处可用的输入参数。同样地,该方法可以包括确定不同的候选指令集中的一个或多个指令集均需要在设备处不可用的输入参数,并且相应地,可以不考虑选择这些候选指令集。然而,如果特定候选指令集的所需输入参数被确定为可用,则该候选指令集可以有效地针对潜在选择进行竞争(在一些示例中,取决于排序)。
29.在一些实施例中,方法200还可以包括通过执行基于一个或多个参数对候选指令集进行排序的排序算法来获得排序。这一个或多个参数可以包括但不限于以下项中的一个或多个:与输入参数源设备的链路的信道条件、自输入参数可用(或已经不可用)以来的时间长度、候选指令集所需的输入参数数量、和/或计算候选指令集的输出参数所需的时间和/或资源。一旦一个或多个候选指令集已被排序,方法200可以包括选择不同的候选指令集中排序最高的指令集作为将被执行以获得输出参数的指令集。
30.同样地,如执行上述其他示例方面所必需的,方法200可以进一步包括标识对设备可用的输入参数,所述输入参数例如来自一个或多个输入参数源设备。相应地,在一些示例中,方法200中的一个或多个输入参数源设备向该设备报告至少一个所需输入参数。如上所述,这些输入参数源设备可以是iot设备,诸如但不限于测量参数的传感器。
31.另外,方法200可以包括将输出参数输出到可以在设备102的内部或外部的客户端设备或客户端模块。
32.图3a和3b示出了当前描述的技术在两个单独的场景(场景a 302和场景b 318)中在汽车上下文中的示例实现。图3a和3b都示出了汽车300,其包括作为输入参数源设备的动力系308。如图3a的场景a 302所示,动力系308被配置(当正确操作时)以将汽车300的道路速度304提供给位于汽车300的仪表板316上的速度计312。因此,只要道路速度304可用于速度计312,速度计能够显示道路速度304。
33.图3b的场景b 318示出了本技术的可能实现,其中道路速度304对于速度计312不可用。在这种情况下,指令模块314可以经由信号(即有线或无线通信)320确定另一输入参数(距离)306可用。同样,指令模块314可以经由另一信号(即有线或无线通信)322确定进一步的输入参数(时间)322可用。一旦做出这些确定,指令模块314就可以选择不同的候选指令集中将距离和时间(或时间变化)作为输入的指令集,并输出道路速度作为输出参数324。一旦该指令集已被指令模块314执行,它就可以将道路速度输出到速度计312,以使得即使道路速度304不能直接从动力系308获得,也能够通过速度计312显示道路速度。
34.图4示出了根据一个或多个实施例的示例设备102的附加细节。设备102例如经由功能装置或单元被配置为实现处理以执行上面参考图2和方法200描述的方面。在一些实施例中,设备102例如包括用于执行图2中呈现的方法200的各方面的选择模块(或装置或单元)450和/或获得模块(或装置或单元)460。
35.在至少一些实施例中,设备102包括一个或多个处理电路420,其被配置为例如通过实现上述功能装置或单元来实现图2的方法200的处理。在一个实施例中,例如处理电路420将功能装置或单元实现为相应的电路。这方面的电路可以包括专用于执行某些功能处理的电路和/或与存储器430结合的一个或多个微处理器。在采用存储器430的实施例中(存储器430可以包括一种或几种类型的存储器,例如只读存储器(rom)、随机存取存储器、高速缓冲存储器、闪存设备、光学存储设备等),存储器430存储程序代码,所述程序代码当由一个或多个微处理器执行时执行本文描述的技术。在一些示例中,存储器430可以存储指令逻辑108和候选指令集106的所需输入参数110、一组可用输入参数112、这些可用输入参数112的当前值或过去值(或者当前不可用但是之前可用的输入值)、指令选择逻辑114、客户端120的标识符或属性、输入参数源100a-d、或当由处理电路420执行时执行本公开技术的各方面所需的任何其他信息或逻辑。
36.在一个或多个实施例中,设备102还包括一个或多个通信接口410。一个或多个通信接口410包括用于发送和接收数据和控制信号的各种组件(例如天线440)。更具体地,接口410包括发射机,发射机被配置为使用已知的信号处理技术(通常根据一个或多个标准)并且被配置为调节信号以用于传输(例如经由一个或多个天线440在空中传输)。类似地,接口(多个)包括接收机,接收机被配置为将接收(例如经由天线440)的信号转换为数字采样以供一个或多个处理电路处理。发射机和/或接收机还可以包括一个或多个天线440。通过利用通信接口(多个)410和/或天线(多个)440,设备102能够与输入参数源100a-d和客户端设备或客户端模块120(例如客户端120可以位于设备102外部)通信。
37.另外,通信接口(多个)410和/或天线(多个)440可以被配置为调谐到频带/信道/无线资源(例如时间和/或频率资源),一个或多个输入参数资源100(包括但不限于输入参
数资源100a-d)可以在其上传输指示其存在以及任何相关联信息的信标、导频或其他信号。此关联信息可以包括源(即设备)标识符、源所报告的输入参数列表、设备类型(例如传感器、时钟、位置信标等)。当设备在空间中移动时,源和输入参数的可用性也可以基于设备进入或离开所述输入参数源100的通信范围而改变。因此,该组输入参数源100、可用输入参数112、候选指令集的当前排序或其他因素可能由于设备移动而改变。因此,通过调谐到在其上可以发现输入参数源100的资源,设备102能够维护可用于设备102的近乎实时的输入参数112列表和候选指令集106,以确保输出参数11能够被传递到客户端120。此外,因为设备包含取决于不同可用输入集的各种逻辑指令集,所以设备102可以对任何特定域(例如时空位置或特定通信环境)不可知,因为它能够基于其当前位置或通信环境中可用的输入参数来适配其执行的指令集。
38.本领域技术人员还将理解,本文的实施例还包括对应的计算机程序。计算机程序包括指令,所述指令当在设备102的至少一个处理器上执行时使得设备102执行上述任何相应的处理。实施例还包括包含这种计算机程序的载体。该载体可以包括电信号、光信号、无线信号或计算机可读存储介质中的一个。在这方面,计算机程序可以包括与上述装置或单元相对应的一个或多个代码模块。
39.当然,在不脱离本发明的基本特征的情况下,本发明的实施例可以以除了本文具体阐述的方式之外的其他方式来实现。本发明的实施例在所有方面都被认为是说明性的而非限制性的,并且落入所附权利要求的含义和等同范围内的所有改变都旨在包含在其中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1