CN101446907A - 一种上下文感知计算中的冲突消解方法 - Google Patents
一种上下文感知计算中的冲突消解方法 Download PDFInfo
- Publication number
- CN101446907A CN101446907A CNA2008102365599A CN200810236559A CN101446907A CN 101446907 A CN101446907 A CN 101446907A CN A2008102365599 A CNA2008102365599 A CN A2008102365599A CN 200810236559 A CN200810236559 A CN 200810236559A CN 101446907 A CN101446907 A CN 101446907A
- Authority
- CN
- China
- Prior art keywords
- value
- drift rate
- entry
- strategy
- subclauses
- 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.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种上下文感知计算中的冲突消解方法,该方法计算每个策略的选择中心,并计算发生冲突的每个策略在当前上下文环境下的偏移度。通过比较策略之间的偏移度值选择执行策略,从而解决冲突的问题。为了避免上下文环境在小范围内频繁变化造成策略抖动的问题,算法还引入持久系数对偏移度计算进行了修正。
Description
技术领域
本发明涉及一种上下文感知计算的方法,具体涉及一种一种上下文感知计算中的冲突消解方法。
背景技术
包括掌上电脑、移动电话、PDA等移动设备已经越来越多地进入人们的生活。为了向用户提供更高的服务质量,适应这些移动设备的应用应该是上下文感知的,它能够在不受用户干预的情况下根据用户的上下文信息调整应用的操作。这需要应用定时的获取、更新上下文信息,根据这些信息决定应用的执行策略。研究人员通过多种途径解决这一问题,提出了一系列的解决方法,包括Want等人的Active Badge Location System,context toolkit以及gaia等。
在这些开发面向上下文应用的方法中,一个重要的思路是将不同环境下不同的执行代码分离到多个程序片断中,在程序运行时根据当前执行环境动态选择需要的代码片断。这种方法可以有效地增加应用开发的灵活性,达到适应环境变化的目的。包括Cop,Olympas在内的很多编程模型给出了将不同环境下的代码分离在多个片断的方法,但是仍有一个问题需要解决,那就是在定义不同环境下的执行代码时,需要对环境加以界定(例如,指定温度的范围或者用户所处的位置范围等等)。由于定义不同环境的出发点不同,很有可能出现冲突的情况(CRISMA),一旦冲突产生,则系统无法按照用户需求选择正确的执行代码完成操作。因此,发生冲突时的选择算法成为一个必须解决的问题。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种结合环境因素优先级别,计算当前上下文环境对每种判别条件偏移度,并根据偏移度大小选择相应的执行策略的上下文感知计算中的冲突消解方法。
为达到上述目的,本发明采用的技术方案是:
1)针对每一种选择策略,计算其策略选择中心;
2)获取当前上下文数值;
3)如果上下文数值为数值型,则转步骤4),否则转步骤5);
4)计算当前上下文数值与每个策略的差值,命名为偏移度值,转步骤6);
5)根据Pos函数及Count函数,计算偏移度数值,转步骤6);
6)记录两个策略的偏移度数值,作为下一次计算持久系数的依据;
7)根据上次记录的偏移度数值,计算此次持久系数
persistence=persistence+(pastOffset2-pastOffset1)/pastOffset1
其中persistence为持久系数数值,pastOffset1和pastOffset2为上一次记录的偏移度数值;
8)根据持久系数计算新的偏移度数值;
9)根据新得到的两个策略所对应的偏移度数值选择执行策略;
10)执行选定的策略。
本发明的数值型偏移度值的计算步骤如下:
偏移度函数:offset,P*E->R+
偏移度为当前环境值对于策略中所有环境声明条目的偏移度的加权和,其中,Pi∈P,e0∈E,Pi包含m个声明条目,记为entry(i),1<=i<=m,offset(i)表示每一个环境声明条目的偏移度
在上述公式中 用于计算环境条目的选择中心,分母计算条目的选择范围,将每一个偏移度值按照其条目的比重进行加权即可得到该策略的偏移度值;
若当前环境值在两个策略中都处于其条目的选择中心,故偏离度为0,因此在(1)式中引入常数C,修正offset(i)的计算公式得到
C是一个大于0的常数,通常取值为1。
枚举类型的偏移度值的计算方法为:首先需要在定义策略时,指定策略中枚举类型的条目的可能值列表,随后通过将枚举值映射到其位置的函数,将所有对枚举值得计算转化为对其在列表中所处位置的计算,得出其偏移度值,其具体步骤为;
定义如下两个函数
Pos函数:R*Entry->N,给出一个值在一个条目的可能值列表中的位置;
Count函数:Entry->N,给出策略中一个条目所包含的限定值个数;
1<=k<=m。
本发明的持久系数是一个介于0和1之间的实数,随着互相冲突的若干策略的偏移度值变化而变化,并将影响加入偏移度计算结果中,以下是持久系数的计算以及对偏移度影响的计算公式:
offset1=offset(value,policy1);//此次计算的策略1的偏移度
offset2=offset(value,policy2);//此次计算的策略2的偏移度
persistence=persistence+(pastOffset2-pastOffset1)/
pastOffset1;
//上一次计算的策略1和策略2的偏移度,并据此计算持久系数
if(persistence<0)persistence=0;//持久系数始终大于等于0
//将持久系数影响添加在偏移度上
//并记录此次偏移度值
if(pastOffset1<pastOffset2)
pastOffset1=offset1;
pastOffset2=offset2;
offset1=offset1*(1-persistence);
else
pastOffset1=offset1;
pastOffset2=offset2;
offset2=offset2*(1-persistence)。
本发明通过计算策略偏移度解决冲突。该方法结合环境因素优先级别,计算当前上下文环境对每种判别条件偏移度,并根据偏移度大小选择相应的执行策略。在此基础上,考虑环境因素连续变化因素,引入持久系数,防止环境在小范围内频繁变化造成策略选择抖动的问题。
具体实施方式
在上下文感知计算中,应用需要根据不同的上下文环境选择不同的执行策略。这些策略可能会出现冲突,大多数解决方法采用优先级策略。
本发明提出偏移度算法对冲突进行消解,计算每个策略的选择中心,当冲突发生时,计算每个冲突的策略的选择中心与当前上下文环境的偏移度,并选择偏移度最低的策略作为执行策略。为了避免环境在小范围内抖动的现象,算法引入了持久系数,使上一次选中的执行策略在本次计算中具有一定优势,从而减少抖动的现象。
具体过程如下:
为了更准确的对本发明进行描述,首先对冲突问题进行定义及形式化描述。
定义1:符号。在系统中所有能够获取到的环境信息称为系统环境信息。所有环境信息的名称的集合成为EName,所有可能环境值的集合为E,每一种环境信息的值的集合为V;当前环境下的环境值计为e0(e0∈E)。服务的集合称为S。所有服务的配置的集合称为C。服务S的所有策略的结合成为P(S),在不产生歧义的情况下简记为P。
定义2:服务。服务是在上下文感知系统中,根据用户的上下文环境动态调整自身行为,为用户提供信息的功能实体。服务包含服务代码及其配置文件,配置文件是一组策略的集合,每个策略对应一个环境声明以及一个执行标识。环境声明用于指定该策略能够生效的上下文环境,执行标识指导服务针对这一上下文环境调整其服务方式,执行标识根据实现方式的不同可能代表一个方法名称、一个参数值或者一个属性值等等。
Service::=serviceImplement configuration
Configuration::=policySet
policySet::=policy policySet|policy
policy::=context identity
定义3:环境声明。策略中的环境声明用于界定这个策略能够生效的上下文环境。每个环境声明包含一组声明条目,每个条目用于限定一种环境信息,例如,“温度在10至20摄氏度之间”是对温度这一环境信息限定条目的文字描述。环境声明条目中值的类型可以是枚举类型或者布尔值,也可以通过指定一个范围来定义,可能的例子包括location=high,power=true,temperature>10等。每个环境声明条目需要指定其在整个策略中的权重,同时需要给出值的边界(对于枚举或布尔类型的值,需要给出所有可能值的列表)。
Context::=contextEntrySet
contextEntrySet::=contextEntry contextEntrySet|contextEntry
contextEntry::=name operator value type weight bound
type::=Boolean|enumerate|number
bound::=min max if type=number
valueList if type=enumberate or boolean
定义4:评估函数evaluate:EName*E->V。得到某个指定名称的上下文信息值。
在环境声明条目cEntry中的operator与value共同组成了对环境信息的界定条件。cEntry.operator(cEntry.value,evaluate(e0,cEntry.name)=true意味着该条目满足当前上下文环境。
定义5:适应性函数:fit:P*E->Boolean
Fit(p,e)=fit(entry(1),e)& fit(entry(2),e)&..&fit(entry(n),e)
Fit(entry(k),e)=fit(entry(k),evaluate(e,entry(k).name))
fit(entry(k),v)=entry.operator(entry(k).value,v)
定义6:适应策略集合:adaptSet:C*E->2P
adaptSet(c,e)=adaptSet(p1,e)∪adaptSet(pset/p1,e)
adaptSet(p,e)=if fit(p,e)then{p}else空集
定义7:冲突。如果||adaptSet(C,e0)||=0说明配置中没有满足当前环境的策略,=1说明只有一个满足当前环境。>1说明有两个以上的策略满足当前环境,我们称这种情况为冲突。此时系统需要使用冲突解决方法来选择执行策略。
1)上下文冲突的偏移度算法
偏移度函数:offset。P*E->R+
偏移度为当前环境值对于策略中所有环境声明条目的偏移度的加权和,偏移度越高表明当前环境对于策略中定义的环境需求偏差越大。
其中,Pi∈P,e0∈E,Pi包含m个声明条目,记为entry(i),1<=i<=m。offset(i)表示每一个环境声明条目的偏移度
在上述公式中 用于计算环境条目的选择中心,分母计算条目的选择范围。将每一个偏移度值按照其条目的比重进行加权即可得到该策略的偏移度值。
当前环境值在两个策略中都处于其条目的选择中心,故偏离度为0。因此在(1)式中引入常数C,修正offset(i)的计算公式得到
C是一个大于0的常数,通常取值为1。
对于枚举类型的上下文数值,给出在这种情况下的偏移度计算办法。首先需要在定义策略时,指定策略中枚举类型的条目的可能值列表。随后通过将枚举值映射到其位置的函数,将所有对枚举值得计算转化为对其在列表中所处位置的计算,得出其偏移度。
定义如下两个函数
Pos函数:R*Entry->N。给出一个值在一个条目的可能值列表中的位置
Count函数:Entry->N。给出策略中一个条目所包含的限定值个数。
1<=k<=m
2)防止冲突选择策略抖动
在使用偏移度算法时,在某些情况下,随着上下文环境的变化,策略会发生频繁抖动的现象。究其原因,当在某一环境下发生冲突时,当前环境同时满足两个策略的环境限定(P1,P2属于adaptSet(C,E))。如果某个环境因素在一个小范围波动,会导致计算偏移度时,两个策略的偏移度值频繁上下交错,从而策略选择结果不断变化,产生策略抖动现象,这有可能会降低用户的满意度,因此需要对算法加以调整。
在计算偏移度时,算法引入持久系数这一变量。持久系数的作用是,在计算偏移度时,降低上一次选中的策略的偏移度值,使其更有可能被再次选中,从而较少抖动发生的几率。
持久系数是一个介于0和1之间的实数,随着互相冲突的若干策略的偏移度值变化而变化,并将影响加入偏移度计算结果中。以下算法对持久系数的计算以及对偏移度影响的计算公式的简要描述。
offset1=offset(value,policy1);//此次计算的策略1的偏移度
offset2=offset(value,policy2);//此次计算的策略2的偏移度
persistence=persistence+(pastOffset2-pastOffset1)/
pastOffset1;
//上一次计算的策略1和策略2的偏移度,并据此计算持久系数
if(persistence<0)persistence=0;//持久系数始终大于等于0
//将持久系数影响添加在偏移度上
//并记录此次偏移度值
if(pastOffset1<pastOffset2)
pastOffset1=offset1;
pastOffset2=offset2;
offset1=offset1*(1-persistence);
else
pastOffset1=offset1;
pastOffset2=offset2;
offset2=offset2*(1-persistence);
持久系数体现了上一次计算的偏移度的差别程度,并且具有累积效应。持久系数能够有效地平衡环境的小范围频繁变化对策略选择造成的影响。后一次环境变化的幅度如果小于前一次变化幅度,持久系数可以消除这种变化带来的策略切换,但如果第二次环境变化幅度过大或者环境持续向一个方向变化,那么持久系数会将这种变化传递给偏移度,进而进行策略的切换。
算法的详细步骤如下:
1)针对每一种选择策略,计算其策略选择中心;
2)获取当前上下文数值;
3)如果上下文数值为数值型,则转步骤4),否则转步骤5);
4)计算当前上下文数值与每个策略的差值,命名为偏移度值,转步骤6);
5)根据Pos函数及Count函数,计算偏移度数值,转步骤6);
6)记录两个策略的偏移度数值,作为下一次计算持久系数的依据;
7)根据上次记录的偏移度数值,计算此次持久系数
persistence=persistence+(pastOffset2-pastOffset1)/pastOffset1
其中persistence为持久系数数值,pastOffset1和pastOffset2为上一次记录的偏移度数值;
8)根据持久系数计算新的偏移度数值;
9)根据新得到的两个策略所对应的偏移度数值选择执行策略;
10)执行选定的策略。
Claims (4)
1、一种上下文感知计算中的冲突消解方法,其特征在于:
1)针对每一种选择策略,计算其策略选择中心;
2)获取当前上下文数值;
3)如果上下文数值为数值型,则转步骤4),否则转步骤5);
4)计算当前上下文数值与每个策略的差值,命名为偏移度值,转步骤6);
5)根据Pos函数及Count函数,计算偏移度数值,转步骤6);
6)记录两个策略的偏移度数值,作为下一次计算持久系数的依据;
7)根据上次记录的偏移度数值,计算此次持久系数persistence=persistence+(pastOffset2-pastOffset1)/pastOffset1
其中persistence为持久系数数值,pastOffset1和pastOffset2为上一次记录的偏移度数值;
8)根据持久系数计算新的偏移度数值;
9)根据新得到的两个策略所对应的偏移度数值选择执行策略;
10)执行选定的策略。
2、根据权利要求1所述的上下文感知计算中的冲突消解方法,其特征在于:所说的数值型偏移度值的计算步骤如下:
偏移度函数:offset,P*E->R+
偏移度为当前环境值对于策略中所有环境声明条目的偏移度的加权和,其中,Pi∈P,e0∈E,Pi包含m个声明条目,记为entry(i),1<=i<=m,offset(i)表示每一个环境声明条目的偏移度
在上述公式中 用于计算环境条目的选择中心,分母计算条目的选择范围,将每一个偏移度值按照其条目的比重进行加权即可得到该策略的偏移度值;
若当前环境值在两个策略中都处于其条目的选择中心,故偏离度为0,因此在(1)式中引入常数C,修正offset(i)的计算公式得到
C是一个大于0的常数,通常取值为1。
3、根据权利要求1所述的上下文感知计算中的冲突消解方法,其特征在于:所说的枚举类型的偏移度值的计算方法为:首先需要在定义策略时,指定策略中枚举类型的条目的可能值列表,随后通过将枚举值映射到其位置的函数,将所有对枚举值得计算转化为对其在列表中所处位置的计算,得出其偏移度值,其具体步骤为:
定义如下两个函数
Pos函数:R*Entry->N,给出一个值在一个条目的可能值列表中的位置;
Count函数:Entry->N,给出策略中一个条目所包含的限定值个数;
1<=k<=m。
4、根据权利要求1所述的上下文感知计算中的冲突消解方法,其特征在于:所说的持久系数是一个介于0和1之间的实数,随着互相冲突的若干策略的偏移度值变化而变化,并将影响加入偏移度计算结果中,以下是持久系数以及调整偏移度值的计算公式:
offset1=offset(value,policy1);//此次计算的策略1的偏移度
offset2=offset(value,policy2);//此次计算的策略2的偏移度
persistence=persistence+(pastOffset2-pastOffset1)/
pastOffset1;
//上一次计算的策略1和策略2的偏移度,并据此计算持久系数
if(persistence<0)persistence=0;//持久系数始终大于等于0
//将持久系数影响添加在偏移度值上
//并记录此次偏移度值
if(pastOffset1<pastOffset2)
pastOffset1=offset1;
pastOffset2=offset2;
offset1=offset1*(1-persistence);
else
pastOffset1=offset1;
pastOffset2=offset2;
offset2=offset2*(1-persistence)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102365599A CN101446907B (zh) | 2008-12-31 | 2008-12-31 | 一种上下文感知计算中的冲突消解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102365599A CN101446907B (zh) | 2008-12-31 | 2008-12-31 | 一种上下文感知计算中的冲突消解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101446907A true CN101446907A (zh) | 2009-06-03 |
CN101446907B CN101446907B (zh) | 2011-06-01 |
Family
ID=40742597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102365599A Expired - Fee Related CN101446907B (zh) | 2008-12-31 | 2008-12-31 | 一种上下文感知计算中的冲突消解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101446907B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019082006A1 (en) * | 2017-10-27 | 2019-05-02 | International Business Machines Corporation | COMPUTER ENVIRONMENT POLICY COMPLIANCE |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487234B2 (en) * | 2002-09-17 | 2009-02-03 | International Business Machines Corporation | Context conflict resolution and automatic context source maintenance |
US20040259536A1 (en) * | 2003-06-20 | 2004-12-23 | Keskar Dhananjay V. | Method, apparatus and system for enabling context aware notification in mobile devices |
CN1937551A (zh) * | 2006-07-25 | 2007-03-28 | 中山大学 | 一种应用于数字家庭网络的上下文事务感知系统及方法 |
-
2008
- 2008-12-31 CN CN2008102365599A patent/CN101446907B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019082006A1 (en) * | 2017-10-27 | 2019-05-02 | International Business Machines Corporation | COMPUTER ENVIRONMENT POLICY COMPLIANCE |
US10979456B2 (en) | 2017-10-27 | 2021-04-13 | International Business Machines Corporation | Computer environment compliance |
US11659006B2 (en) | 2017-10-27 | 2023-05-23 | Kyndryl, Inc. | Computer environment compliance |
Also Published As
Publication number | Publication date |
---|---|
CN101446907B (zh) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230098885A1 (en) | On-device Machine Learning Platform to Enable Sharing of Machine Learned Models between Applications | |
US10699238B2 (en) | Cross-domain multi-attribute hashed and weighted dynamic process prioritization | |
CN104243405B (zh) | 一种请求处理方法、装置及系统 | |
CN108427886A (zh) | 一种应用程序访问权限设置方法、系统、设备及可读介质 | |
CN105843650A (zh) | 一种智能终端中的应用程序管理方法和装置 | |
CN101889264A (zh) | 可配置系统事件和资源仲裁管理的设备和方法 | |
CN103391351B (zh) | 实现菜单个性化、自动化组织与显示的方法及移动终端 | |
Pascual et al. | Self-adaptation of mobile systems driven by the common variability language | |
CN110417607B (zh) | 一种流量预测方法、装置及设备 | |
CN105898794A (zh) | 数据传输装置及方法 | |
Li et al. | A local search algorithm with tabu strategy and perturbation mechanism for generalized vertex cover problem | |
CN110162384A (zh) | 基于Redis分布式锁的超时时间动态调整方法及系统 | |
US20170103368A1 (en) | Data processor | |
US7826907B2 (en) | Fortuitous combinations of ad-hoc available sets of different electronic devices to respond to user jobs | |
CN111953648A (zh) | 基于区块链预言机的数据处理方法、装置及电子设备 | |
Nika et al. | Understanding and predicting data hotspots in cellular networks | |
KR20220084176A (ko) | 정보 추천 방법 및 장치, 그리고 전자 기기 | |
WO2009106675A1 (en) | Method, apparatus and computer program product for reverse load balancing for the provision of services to client devices | |
CN101446907B (zh) | 一种上下文感知计算中的冲突消解方法 | |
CN102958030A (zh) | 计费方法和计费系统 | |
Zhang et al. | A hybrid KNN-LR classifier and its application in customer churn prediction | |
CN111046156B (zh) | 奖励数据的确定方法、装置和服务器 | |
Najar et al. | Service discovery and prediction on Pervasive Information System | |
US20200272508A1 (en) | Task optimization method and task optimization device in mobile robot | |
Cota et al. | RACOON++: A semi-automatic framework for the selfishness-aware design of cooperative systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110601 Termination date: 20131231 |