CN110447025A - 在物联网中启用语义混搭 - Google Patents
在物联网中启用语义混搭 Download PDFInfo
- Publication number
- CN110447025A CN110447025A CN201780065993.2A CN201780065993A CN110447025A CN 110447025 A CN110447025 A CN 110447025A CN 201780065993 A CN201780065993 A CN 201780065993A CN 110447025 A CN110447025 A CN 110447025A
- Authority
- CN
- China
- Prior art keywords
- mashed
- resource
- semantic
- vsmr
- sms
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
Abstract
一种新的具有模块化设计的语义混搭架构可以包括单独的语义混搭配置文件(SMP)、虚拟语义混搭资源(VSMR)和语义混搭结果(SMRS)。这种模块化设计大大地改进了SMP、VSMR和SMRS的可重用性。另外,该新的混搭架构在每个混搭过程期间利用语义,这提高了互操作性。而且,该新的架构在服务层处基本上实现了新的语义混搭服务(SMS),因此改进了系统效率。
Description
相关申请的交叉引用
本申请要求2016年9月29日提交的、标题为“Methods For Enabling SemanticMashup In M2M/IOT Service Layer”的美国临时专利申请No.62/401,461的权益,该申请的内容特此通过引用并入本文。
背景技术
语义网是万维网联盟(W3C)通过标准对Web的扩展。所述标准推广常见的数据格式,并且交换Web上的协议,最基本地,资源描述框架(RDF)。
语义网涉及用专门为数据设计的语言公布:资源描述框架(RDF)、Web本体语言(OWL)和可扩展标记语言(XML)。这些技术被组合以提供经由链接数据的网来补充或替换Web文档的内容的描述。因此,内容可以将它自己表现为存储在Web可访问的数据库中的描述性数据,或者表现为文档内的(特别是,散布有XML的可扩展HTML(XHTML)中的,或者,更经常地,纯粹地XML中的)标记,其中,布局或渲染线索是单独存储的。
语义网堆栈例示说明W3C规定的语义网的架构,如图1所示。可以如下总结组件的功能和关系。
XML为文档内的内容结构提供元素语法,但是不将语义与其内所包含的内容的意义相关联。XML目前在大多数情况下不是语义网技术的必要组件,因为存在可替代的语法,诸如Turtle。Turtle是实际的标准,但是尚未通过正式的标准化处理。
XML范式是用于提供和限制XML文档内包含的元素的结构和内容的语言。
W3C技术堆栈说明中描述的RDF是简单的数据模型,该数据模型用主语-谓语-宾语的形式(例如,S-P-O三元组或RDF三元组)来指代对象(“web资源”)和它们的关系。基于RDF的模型可以用各种语法(例如,RDF/XML、N3、Turtle和RDFa)来表示。RDF是语义网的基本标准。
RDF图是其中边缘表示RDF三元组的“谓语”、而图节点表示RDF三元组的“主语”或“宾语”的有向图。换句话说,如RDF三元组中描述的链接结构形成这样的有向RDF图。
RDF范式[RDF范式1.1]扩展了RDF,并且是用于描述基于RDF的资源的性质和类的词汇,该词汇具有用于这样的性质和类的广义的分层结构的语义。
OWL[OWL 2Web本体语言文档概览,http://www.w3.org/TR/owl-overview/]增加了用于描述性质和类的更多的词汇:除了别的之外,类之间的关系(例如,不交性)、基数(例如,“正好是一”)、相等、更丰富类型的性质、性质的特性(例如,对称性)和枚举的类。
SPARQL[SPARQL 1.1概览,http://www.w3.org/TR/sparql11-overview/]是用于语义网数据源的协议和查询语言,以查询和操纵Web上的或RDF储存器(例如,语义图储存器)中的RDF图内容(例如,RDF三元组)。
SPARQL 1.1 Query(查询),用于RDF图的查询语言,可以用于表达跨不同的数据源的查询,而不管数据是被本机存储为RDF,还是经由中间件被作为RDF查看。SPARQL包含用于查询必需的和可选的图模式、连同它们的结合和分离的能力。SPARQL还支持聚合、子查询、否定、通过表达来创建值、可扩展的值测试以及约束通过源RDF图进行的查询。SPARQL查询的结果可以是结果集合或RDF图。
SPARQL 1.1 Update(更新),用于RDF图的更新语言。它使用从用于RDF的SPARQL查询语言派生的语法。更新操作是对语义图储存器中的图集合执行的。提供了更新、创建和移除语义图储存器中的RDF图的操作。
RIF是W3C规则互换格式。它是用于表达计算机可以执行的Web规则的XML语言。RIF提供被称为语支的多个版本。它包括RIF基本逻辑语支(RIF-BLD)和RIF生成规则语支(RIFPRD)。
语义搜索试图通过理解搜索者意图和术语出现在可搜索的数据空间(不管是在Web上,还是在闭合的系统内)中时这些术语的上下文意义以产生更相关的结果来改进搜索准确度。语义搜索系统考虑各种要点,包括搜索的上下文、位置、意图、字的变化、同义词、广义的和专门的查询、提供相关搜索结果的概念匹配和自然语言查询。主要的web搜索引擎(比如Google和Bing)合并了语义搜索的一些元素。语义搜索使用语义或语言含义科学来生成更相关的搜索结果。在大多数情况下,目标是交付用户查询的信息,而不是让用户整理松散相关的关键字结果的列表。例如,语义可以用于增强分层关系数据库中的记录搜索或查询。
语义查询使得可以进行关联的和上下文的性质的查询和分析。语义查询使得能够基于数据中包含的语法的、语义的和结构的信息来既检索显式地推导的信息,又检索隐式地推导的信息。它们被设计为交付精确的结果(可能是有区别性的单条信息选择)或者通过模式匹配和数字推理来回答更模糊的和完全开放的问题。
语义查询对命名的图、链接的数据或三元组工作。这使得查询能够处理信息之间的实际的关系并且从数据网络推断答案。这与语义搜索是相对照的,语义搜索在非结构化的文本中使用语义(含义科学)来生成更好的搜索结果(例如,自然语言处理)。
从技术观点来讲,语义查询是很像数据库查询的精确的关系式操作。它们对结构化数据工作,因此具有利用综合特征(比如运算符(例如,>、<和=))、名称空间、模式匹配、子分类、传递关系、语义规则和上下文全文本搜索的可能性。W3C的语义网技术堆栈提供SPARQL来用类似于SQL的语法制定语义查询。语义查询被用于三元组储存器、图数据库、语义维基、自然语言和人工智能系统中。
语义查询的另一个重要的方面是,可以使用关系的类型来将情报合并到系统中。客户和产品之间的关系具有与街区及其城市之间的关系根本上不同的性质。后者使得语义查询引擎能够推断生活在曼哈顿的客户也生活在纽约市,而其他关系可能具有更复杂的模式和“上下文分析”。该处理被称为推断或推理,并且是软件基于给定的事实推导新的信息的能力。
oneM2M功能架构是在oneM2M-TS-0001 oneM2M Functional Architecture(功能架构)–V2.9.0及其语义功能支持中规定的。开发中的oneM2M标准定义了被称为“公共服务实体(CSE,Common Service Entity)”的服务层。该服务层的目的是提供不同的“垂直的”M2M系统和应用可以利用的“水平的”服务。CSE支持如图2所示的四个参考点。Mca参考点与应用实体(AE,Application Entity)通过接口连接。Mcc参考点与同一个服务提供商域内的另一个CSE通过接口连接,Mcc的参考点与不同的服务提供商域内的另一个CSE通过接口连接。Mcn参考点与底层的网络服务实体(NSE)通过接口连接。NSE向CSE提供底层的网络服务,诸如装置管理、定位服务和装置触发。
CSE包含被称为“公共服务函数(CSF)”的多个逻辑函数,诸如“发现(Discovery)”和“数据管理和仓库(Data Management&Repository)”。图3例示说明oneM2M定义的CSF中的一些。
oneM2M架构启用如图2所示的以下类型的节点。应用服务节点(ASN):ASN是包含一个CSE并且包含至少一个应用实体(AE)的节点。物理映射的例子:ASN可以驻留在M2M装置中。应用专用节点(ADN):ADN是包含至少一个AE、但不包含CSE的节点。在oneM2M系统的字段域中可以存在零个或多个ADN。物理映射的例子:应用专用节点可以驻留在受约束的M2M装置中。中间节点(MN):MN是包含一个CSE并且包含零个或多个AE的节点。在oneM2M系统的字段域中可以存在零个或多个MN。物理映射的例子:MN可以驻留在M2M网关中。基础设施节点(IN):IN是包含一个CSE并且包含零个或多个AE的节点。在每一个oneM2M服务提供商的基础设施域中存在正好一个IN。IN中的CSE可以包含不适用于其他节点类型的CSE函数。物理映射的例子:IN可以驻留在M2M服务基础设施中。非oneM2M节点(NoDN):非oneM2M节点是不包含oneM2M实体(既不包含AE,也不包含CSE)的节点。这样的节点表示为了联网的目的(包括管理)而附连到oneM2M系统的装置。
如图4所示的<semanticDescriptor>资源可以用于存储与资源和潜在的子资源有关的语义描述。这样的描述可以根据本体论来提供。语义信息可以被oneM2M系统的语义功能使用,并且也可以供应用或CSE使用。
<semanticDescriptor>资源应包含表A中规定的属性。
表A:<semanticDescriptor>资源的一些重要的属性
此外,<semanticDescriptor>资源应包含<subscription>子资源,<subscription>子资源包含关于其被订阅到的资源的订阅信息。
通用过滤通过具有请求操作(oneM2M-TS-0001 oneM2M FunctionalArchitecture–V2.9.0第8.1.2节)中规定的过滤器准则而被支持。为了提供语义过滤,用于请求操作过滤器准则的附加值已经在oneM2M TR-0007-Study_on_Abstraction_and_Semantics_Enablement_V2.11.1第8.5.4节中描述,定义在下表中示出。多个实例可以被使用,根据用于评估过滤器准则的一般规则,这意味着“OR(或)”语义适用,例如,如果语义过滤器中的一个或多个与语义描述匹配,则语义过滤器准则的总结果为真。注意,下表中的语义在oneM2M TR-0007中定义,并且它对应于请求oneM2M TS-0001中的参数semanticFilter。当semanticFilter参数中包含的SPAQRL查询与父资源的子资源<semanticDescriptor>中的一个中的语义三元组匹配时,这意味着该语义过滤是成功的并且对应的父资源将被返回。
表B.语义过滤器准则[TR-0007]
上面的提议使用以下假设:语义描述被规定为RDF三元组(表示,例如,RDF/XML、Turtle、描述格式在oneM2M中尚未有充分规定);语义过滤器准则将被用于将对语义描述执行的SPARQL请求。
下面是oneM2M TR-0007中给出的语义过滤例子。
例子1:用于表示测量温度的装置的AE资源的过滤器
装置1 AE的语义描述符
装置2 AE的语义描述符
SPARQL请求1
SPARQL执行结果
(On Device1 semantic description)-->my:myDevice1
(On Device 2 semantic description)-->empty
这意味着my:myDevice1描述的AE资源将包括在结果集合中,而my:myDevice2描述的AE资源将不包括在内。
在一些情况下,关于单次搜索的相关语义信息可以分布在不同的<semanticDescriptor>资源之间。图5中提供的例子例示说明这种情况。示出了表示主语-谓语-宾语关系的语义图,该图的不同部分(用椭圆表示)被存储在不同的<semanticDescriptor>资源中。语义过滤需要被应用于整个语义图(的部分),这引起了为了执行语义操作、该图的几个不同的部分必须被放在一起的问题。
该问题在语义网的领域中一般是不明显的,因为识别类实例的URI可以直接取消引用,所以概念(例如,类、关系)信息可以基于其URI找到。在oneM2M情况下,只有可以被访问的资源和语义被存储为资源内容。
目前,SPARQL 1.1支持使用SERVICE(服务)关键字的联合查询,在SERVICE关键字中,远程SPARQL端点的URL可以被规定。对于该方法,请求者将先验地知道哪些语义描述符包含搜索所需的语义实例,使得该方法一般不适用于语义描述符分布在资源树中时。
用于使得能够对跨TR-0007中呈现的<semanticDescriptor>资源存储的语义描述进行语义过滤的解决方案引入了resourceDescriptorLink OWL注释性质的形式的注释链接。该注释性质可以是针对任何类实例规定的,并且其值是<semanticDescriptor>资源的URL,在该URL中,用于给定的类实例的附加的RDF三元组可以被找到。以下例子使用oneM2M基本本体论(图6)中定义的类和关系以便创建图7中的图。
该解决方案需要以下用于接收器处的基于SPARQL的语义过滤引擎的功能流程。对候选资源的语义描述符资源的内容执行被制定为SPARQL请求的语义过滤器。如果在执行过程中遇到具有一个或多个resourceDescriptorLink注释的类实例,则停止执行。将semanticDescriptorLink引用的<semanticDescriptor>资源中的每个的内容添加到正在其上执行SPARQL请求的内容(惰性评估,替代方案:在执行之前提取一切,但是可能导致提取不必要的信息)。在扩大的内容上继续进行SPARQL请求的执行。
oneM2M TR-0007将语义混搭(mashup)定义为“在语义M2M系统中,MEM应用可以公布类似于物理资源动作的‘虚拟事物’,并且提供新的信息,诸如:在过去的一分钟/一小时期间过去的车辆的数量、车辆的平均速度等”。下面在图8中示出的简单的语义虚拟混搭过程已经被定义在TR-0007中。
基本上,这些“虚拟事物”在MEM系统中可以以与其他的MEM资源相同的方式被搜索和发现。然而,与实物事物相对照地,虚拟事物仅被实现为软件。当新的虚拟事物被登记(或公布)到语义M2M系统时,成员M2M资源的列表被一起存储为该事物的属性。如果虚拟事物在接收到查询时动态地收集信息,则收集成员资源的预先编程的查询也被与其他信息一起存储。一旦虚拟事物被添加到IN-CSE,它就被与所有的其他的M2M资源相同地操控和处理。这意味着虚拟事物被显露于M2M应用以被发现。
在图8的步骤1中,M2M应用将语义查询发送到语义M2M系统,例如,“得到房间1的温度”。
在图8的步骤2中,语义引擎像正常的语义查询那样对此进行操控,并且将发现请求发送到IN-CSE。
在图8的步骤3中,IN-CSE返回提供房间1的温度的虚拟事物的URI。
在图8的步骤4中,语义引擎将检索虚拟事物的信息的请求发送到IN-CSE,例如,服务逻辑、混搭类型(要么是静态的,要么是动态的)和预先编程的查询。
在图8的步骤5中,IN-CSE返回请求的信息。
在图8的步骤6中,语义引擎对虚拟事物进行实例化。对于被频繁请求的虚拟事物,它可以被高速缓存在语义引擎中,并且直接对请求进行操控。
在图8的步骤7中,语义引擎处的虚拟事物使用预先编程的查询从其成员资源收集所需数据。
在图8的步骤8中,IN-CSE返回来自成员资源的结果。
在图8的步骤9中,虚拟事物将其服务逻辑(例如,计算平均值)应用于接收的数据,并且计算结果。
如图9所示,基本开放互连联盟(OIC)架构[OIC Specification(规范)1.1,http://openconnectivity.org/resources/specifications/draft-candidate-specifications]包括OIC服务器和OIC客户端。被认为是资源提供者的OIC服务器托管OIC资源,而OIC客户端是访问并且操纵OIC服务器处托管的资源的资源消费者。资源是基于请求/响应模型操纵的,所述请求/响应模型包括五种类型的操作,例如,创建、检索、更新、删除和通知(CRUDN操作);注意,CRUDN将最终被映射到消息传送协议(例如,CoAP、HTTP等)中的PUT/GET/POST/DELETE操作。基本上,OIC客户端发送以OIC服务器处的资源为目标的RESTful请求(例如,创建、检索、更新、删除和通知);然后OIC服务器将对RESTful请求进行处理,并且将对应的响应发送到OIC客户端。OIC规范已经定义了不同类型的资源;每种类型的资源可以具有多个性质;每个性质可以是只读的或读-写的。如下描述一些常见的性质(其在OIC标准中规定)。
资源类型(“rt”):代表资源的类型。特定的资源可以属于多种资源类型,并且该性质可以具有多个值。
接口(“if”):代表资源支持的接口。接口描述并且规定资源和性质应如何被访问。该性质可以具有多个值。OIC规范定义了以下接口。特定的资源可以支持这些接口中的一个或全部。
基线接口(“oic.if.baseline”):资源的所有性质(例如,全部表示)可以经由该接口、通过使用RETRIEVE(检索)(例如,Get(取得)操作——通常,RETRIEVE被映射到消息传送协议(例如,CoAP和HTTP)中的Get操作中。因此,GET用于执行RETRIEVE操作。)和UPDATE(更新)来访问。例如,如图10所示,OIC客户端可以将资源检索请求(例如,GET/My/room/1?if=oic.if.baseline)发送到OIC服务器以获得OIC资源(其由“/My/room/1”的URI识别)的所有性质。
链接列表接口(“oic.if.ll”):该接口提供对于OIC集合(Collection)资源中包含的链接的查看(使用RETRIEVE),OIC集合资源是OIC中定义的资源类型。集合资源基本上包含多个其他的资源(被称为链接)。该接口可以用于发现OIC服务器上托管的资源。图11给出了使OIC客户端将资源检索请求(例如,GET/My/room/1?if=oic.if.ll)发送到OIC服务器以获得集合资源(其由“/My/room/1”的URI识别)中包含的资源/链接列表的一个例子。
致动器接口(“oic.if.a”):该接口允许对OIC致动器资源进行读或写。图12给出了OIC客户端如何在OIC服务器上操作的一个例子,OIC服务器是致动器的一个类型。具体地说,如果OIC客户端试图获得致动器的表示(例如,RETRIEVE操作),则它可以将资源检索请求(例如,GET/the/light/2?if=”oic.if.a”)发送到致动器以检索其表示。如果OIC客户端试图改变致动器的表示中的一个,则它可以将资源更新请求(例如,PUT/the/light/2?if=”oic.if.a”{"color":"blue"})发送到致动器。
传感器接口(“oic.if.s”):该接口允许只读取OIC传感器资源。图13给出了OIC客户端可以如何检索OIC服务器的表示的一个例子,OIC服务器充当传感器。具体地说,如果OIC客户端试图获得传感器的表示,则它可以将资源检索请求(例如,GET/the/light/1?if=”oic.if.s”)发送到传感器以检索其表示。注意,如果OIC客户端试图修改传感器的表示中的一个,则传感器应返回错误消息。
批处理接口(“oic.if.b”):该接口允许通过对OIC集合资源中包含的每个资源/链接同时使用一个RETRIEVE或一个UPDATE(更新)请求来对该集合资源中包含的所有链接或资源进行操作(RETRIEVE和UPDATE)。图14给出了OIC客户端如何通过应用批处理接口来检索不同的资源(由不同的OIC服务器托管)的一个例子。具体地说,OIC客户端可以将资源检索请求(例如,GET My/room/1?if=oic.if.b)发送到OIC装置1(例如,在不同情形下可以充当OIC服务器或OIC客户端的网关)。因此,OIC装置1产生集合资源中的OIC装置1的两个资源/链接相对应的两个资源检索请求(例如,GET the/light/1?if=oic.if.s和GET the/light/2?if=oic.if.a)。这两个资源检索请求应发送到不同的OIC服务器(例如,OIC服务器2和OIC服务器3)以检索它们的表示。在接收到所有的结果之后,OIC装置1应将聚合的结果发送到OIC客户端以对其资源检索请求做出响应。
只读接口(“oic.if.r”):该接口仅允许检索资源的所有的“只读”性质。
读-写接口(“oic.if.rw”):该接口允许检索或更新资源的所有的“读-写”性质。
名称(“n”):代表分派给资源的人类可读的名称。资源身份(“id”):代表资源实例的标识符,该标识符在托管资源的OIC服务器上应是唯一的。
发明内容
本公开描述了在IoT(例如,M2M)中启用语义混搭服务的方法,该方法可以提供改进的可重用性、互操作性和系统效率。
本文中公开了具有模块化设计的语义混搭架构,该架构可以包括单独的语义混搭配置文件(SMP)、虚拟语义混搭资源(VSMR)或语义混搭结果(SMRS)。这种模块化设计可以改进SMP、VSMR和SMRS的可重用性。另外,该混搭架构在每个混搭处理期间利用语义,这提高了互操作性。而且,该架构可以在服务层实现新的语义混搭服务(SMS),因此改进系统效率。
本文中公开了用于SMP发现和检索的特征和过程。SMP的表示可以使用语义数据模型(例如,RDF三元组)来描述,并且它可以以改进的互操作性在语义上被发现和理解。
本文中公开了用于创建VSMR的特征和过程。VSMR链接到对应的SMP,并且可以利用语义发现来找到适当的混搭成员。VSMR支持用于组织其混搭成员、产生SMRS和存储SMRS的灵活的方法。
本文中公开了用于VSMR发现和检索(包括SMRS检索)的特征和过程。VSMR可以基于其语义信息被发现和重用,这可以提高互操作性和可重用性。
本文中公开了用于VSMR维护的特征和过程,其中,几种方法可以被设计为保持VSMR的混搭成员和它们的对应的原始资源之间的同步。
提供本发明内容是为了以简化的形式介绍下面在具体实施方式中进一步描述的构思的选择。本发明内容并非意图认定要求保护的主题的关键特征或必要特征,也并非意图被用来限制要求保护的主题的范围。此外,要求保护的主题不限于解决本公开的任何部分中指出的任何一个或所有的缺点的限制。
附图说明
更详细的理解可以从以下作为例子结合附图给出的描述获得,其中:
图1例示说明语义网的架构。
图2例示说明oneM2M架构的示图。
图3例示说明oneM2M公共服务函数的示图。
图4例示说明资源树中的<semanticDescriptor>资源的结构的示图。
图5例示说明语义过滤器在存储在不同的资源中的语义信息上的范围的示图。
图6例示说明oneM2M基本本体论的示图。
图7例示说明资源描述链接的使用例子的示图。
图8例示说明语义虚拟混搭过程的示图。
图9例示说明OIC架构的示图。
图10例示说明使用基线接口获得OIC资源的性质的一个例子的示图。
图11例示说明使用链接列表接口获得OIC集合资源中的链接的一个例子的示图。
图12例示说明使用致动器接口对OIC致动器资源进行操作的一个例子的示图。
图13例示说明应用传感器接口对OIC传感器进行操作的一个例子的示图。
图14例示说明使用批处理接口对OIC集合资源进行操作的一个例子的示图。
图15例示说明智能农业使用情况的示例性示图。
图16例示说明智能停车使用情况的示例性示图。
图17例示说明问题的例示说明的示例性示图。
图18例示说明用于语义混搭的架构的示例性示图。
图19例示说明SMP中的混搭函数的例示说明的示例性示图。
图20例示说明VSMR产生混搭结果的例示说明的示例性示图。
图21例示说明语义混搭的过程的示例性示图。
图22例示说明VSMR和混搭结果的分离的示例性示图。
图23例示说明SMP主机、VSMR主机和SMRS主机之间的交互的示例性示图。
图24例示说明高级SMS架构中的VSMR迁移的示例性示图。
图25例示说明SMP的表示的一个例子的示例性示图。
图26例示说明SMP发现和检索的示例性示图。
图27例示说明应用RDF三元组表示输入参数的一个例子的示例性示图。
图28例示说明VSMR创建过程的示例性示图。
图29例示说明VSMR发现的示例性示图。
图30例示说明VSMR检索过程的示例性示图。
图31例示说明将混搭成员的表示存储在VSMR中的一个例子的示例性示图。
图32例示说明SMS请求者订阅VSMR的示例性示图。
图33例示说明联合VSMR创建和检索的示例性示图。
图34例示说明SMS主机通过发送资源检索请求来检查原始资源的示例性示图。
图35例示说明SMS主机在原始资源上观察的示例性示图。
图36例示说明资源主机报告原始资源的移除的示例性示图。
图37例示说明资源主机报告新的原始资源的示例性示图。
图38例示说明用于VSMR维护的全部过程的示例性示图。
图39例示说明oneM2M架构中的支持语义混搭服务的示例性示图。
图40例示说明语义混搭配置文件资源<smp>的示例性示图。
图41例示说明用于操作<smp>资源的过程的示例性示图。
图42例示说明虚拟语义混搭资源<vsmr>的示例性示图。
图43例示说明用于操作<vsmr>资源的过程的示例性示图。
图44例示说明语义混搭结果资源<smrs>的示例性示图。
图45例示说明用于操作<smrs>资源的过程的示例性示图。
图46A例示说明oneM2M中的语义混搭的全部过程的示例性示图;
图46B例示说明oneM2M中的语义混搭的全部过程继续进行的示例性示图;
图46C例示说明oneM2M中的语义混搭的全部过程继续进行的示例性示图,
图47A例示说明OIC架构下的SMS的示例性示图;
图47B例示说明OIC架构下的SMS的示例性示图;
图48例示说明OIC服务器提供SMS并且使用其本地资源作为混搭成员的示例性示图;
图49例示说明OIC服务器提供其中混搭成员来自其他OIC服务器的SMS的示例性示图;
图50例示说明图形用户界面的示例性示图;
图51A例示说明在其中可以实现所公开的主题的示例性机器对机器(M2M)或物联网(IoT)通信系统;
图51B例示说明在图51A所示的M2M/IoT通信系统内可以使用的示例性架构;
图51C例示说明在图51A所示的通信系统内可以使用的示例性M2M/IoT终端或网关装置;以及
图51D例示说明图51A的通信系统的各方面示例性计算系统。
具体实施方式
下面介绍使用情况。这些使用情况帮助提供IoT(例如,M2M)中的应用可以被有益地设计为获得推导的信息或知识的观点,所述推导的信息或知识可以通过混搭原始资源而获得。下面的IoT(例如,M2M)使用情况(例如,智能农业、智能停车等)证实仅获得原始资源并不是优选的。在智能农场应用情形下,如图15所示,许多水分传感器1502被部署在农田中以监视土壤的水分含量。同时,气象传感器1504(例如,温度计、气压计、湿度计等)被部署在农田区域中的气象站处。气象传感器1504产生的数据量被气象站用来预测农田区域中的气象(例如,下雨、有风的或晴朗的)。因此,农田的智能灌溉系统将联合对农田的水分程度(由水分传感器产生)和天气预报结果(由气象站部署的不同种类的传感器产生)进行分析,以确定是否对农田进行灌溉以及需要多少水进行灌溉。然而,拥有并且可以自由地访问水分传感器的农田的所有者不拥有气象站(例如,图15中的气象站A和气象站B);这使得农田的所有者做出灌溉决策是不切实际的。结果,需要为农田的所有者提供可以访问来自水分传感器1502和气象传感器1504这二者的数据并且产生智能灌溉决策的新的服务或功能。
在智能停车使用情况下,智能停车可能是智能城市中的主要应用。在智能城市中,每个停车地点(例如,在停车场建筑物的内部和任何街道停车地点)可以配备有停车传感器。停车传感器可以提供状态(例如,是否是空的)、地理位置以及其相关联的停车地点的停车率。图16例示说明示例性智能停车系统。服务器A可以基于客户的目的地地址和来自服务器B、服务器C和服务器D的信息来计算适合于客户的停车地点。服务器B可以提供从一个地理位置到另一个地理位置(步行、骑自行车或乘汽车)的时间成本估计。服务器C可以提供停车场建筑物的位置信息、不同时段内的停车率、以及停车场建筑物里的可用停车地点。服务器D可以提供每个街道停车空间的位置信息、状态和成本。
如图16所示,假设在给定的建筑物A附近存在一些停车场建筑物和许多街道停车地点,这些停车场建筑物里的停车传感器可以被登记到服务器C,建筑物A附近的街道停车地点被登记到服务器D。考虑用户(例如,客户)试图找到合适的停车地点的情况,假设她的目的地是建筑物A。注意,合适的停车地点可以被定义为空的停车地点,该停车地点具有较小的时间成本(例如,从停车地点走到目的地花费较短的时间)和较小的停车成本(例如,较低的停车率)。因此,用户可以向服务器A发送查询(例如,找到建筑物A附近的合适的停车地点),服务器A提供实时的停车服务。在接收到查询之后,服务器A可以检索建筑物A附近的停车地点的信息以找到最适合于用户的停车地点。具体地说,服务器A可以从服务器C和服务器D检索建筑物A附近的每个停车传感器的地理位置、停车率和状态;然后服务器A可以通过查询从每个停车地点到建筑物A的时间成本估计来从服务器B获得这些停车地点的成本。此后,服务器A可以对这些信息进行分析以找到最适合于用户的停车地点。例如,可以通过在建筑物A周围的停车地点之中找到具有“0.5*timeCost+0.5*parkingCost”的最小值的可用停车地点来计算最适合的停车场。基本上,服务器A需要从多个服务器检索资源(例如,停车地点信息和比率信息),并且基于检索的资源的组合来计算结果(例如,最适合的停车地点)。
如智能农业和智能停车使用情况下所描述的,用户或应用可能不知道或者无需知道原始资源(例如,关于智能农业中的特定的水分传感器的水分含量以及关于特定的停车场的停车率),相反它们对从可以在服务层中维护的多个原始资源的组合推导的信息或知识(例如,智能农业中的灌溉建议和智能停车中的适合的停车场)更感兴趣。尽管应用可以独自检索这些原始资源、然后从原始资源计算或推导知识,但是该方法可能引入多个问题。第一,例如,应用需要多次检索原始资源(例如,对于每个原始资源检索一次)。这可能对应用引起高开销,尤其是当涉及大量原始资源时。第二,一些原始资源可能是敏感的。它们可能不被显露于应用,或者不被允许由应用直接检索,并且可能只可以被服务提供商访问。第三,如果许多应用对获得相同的知识感兴趣,则它们中的每个都需要检索原始资源并且在没有任何共享的情况下独立地推导知识。第四,如果所涉及的原始资源是来自不同的域或垂直市场的,则应用需要具有各种域知识以便找到和理解原始资源,这不可避免地对于应用引起额外的负担。
图17例示说明问题例子,在该例子中:1)可能存在可以维护不同的原始资源的几个服务层节点(例如,资源主机2804);2)两个应用产生两个请求(例如,请求1711和请求1712);3)请求1711可能仅基于分别来自服务层节点1701、服务层节点1702和服务层节点1703的三个选定的资源被回答;3)请求1712可能仅基于可以被存储在服务层节点N中的三个选定的资源被回答。在该例子中,应用1721或应用2 1722可能需要检索原始资源三次,其中,它们依赖于自己来执行混搭函数。如果服务层节点1701、服务层节点1702和服务层节点1703可能来自三个不同的垂直域,则应用1721此外还需要具有这三个垂直的域知识。
此外,继续参照图17,可能出现如下问题。应用可以从每个服务层节点直接发现并且检索可能相关的资源,最后它们可以自己回答查询。但是该方法可能是繁琐的、低效的。第一,应用需要多次执行检索操作;第二,不同的应用需要重复相同的处理,尽管它们可能发出类似的请求。服务层需要提供新的服务,这些服务可以从相同的或不同的节点智能地收集各种类型的数据,并且高效地回答来自应用的请求;数据的类型可以由其语义注释或描述信息指定。语义混搭可以提供这样的服务,但是现有的服务层(例如,oneM2M)尚不支持该功能。在该例子中,请求1711可以由任何单个的服务层节点独立地回答。事实上,它可以仅基于分别从服务层节点1701、节点1702和节点1703选择的资源(用√标记)被回答。请求1712可以由服务层节点N回答,但是不是基于单个资源被回答。事实上,它可以仅基于多个选定的资源(用X标记)被回答。每个服务层节点维护某些资源,这些资源可以是相似的(例如,在节点1701、节点1702和节点1703处),或者是不同的(例如,节点N)。
常规的混搭解决方案(例如,web混搭应用和工具)在互操作性或可重用性上具有某些限制。例如,Google混搭编辑器不支持非常动态地混搭来自不同垂直域的资源(互操作性问题),并且由于它没有模块化混搭设计,它不支持应用或用户重用现有的混搭函数和混搭资源(可重用性问题)。
总的来说,可能存在关于常规系统的以下问题中的一个或多个。第一个问题可能是现有的混搭解决方案对互操作性和可重用性具有有限的支持,这对于M2M/IoT系统是关键的。第二个问题可能是在现有的M2M/IoT服务层(例如,oneM2M、OIC)中没有语义混搭解决方案。
下面公开了可以解决本文中公开的问题中的一个或多个的更多细节。首先,描述新颖的具有模块化设计的语义混搭服务架构。另外,描述方法(例如,过程)和高级混搭架构特征。所公开的方法和系统可以解决语义混搭的可重用性和互操作性。所公开的方法和系统规定客户(例如,SMS请求者1808)如何发现和检索SMP资源来改进SMP资源的可重用性和互操作性。所公开的方法和系统规定如何创建VSMR以及如何发现和检索VSMR以便改进VSMR的可重用性和互操作性的细节。所公开的方法和系统进一步规定如何维护VSMR以进一步改进语义混搭系统效率。
下面公开了表1,表1可以用于翻译所公开的首字母缩略词中的一些,而表2可以提供可以为术语中的许多术语提供某种观点的一些描述。
表1–缩写
表2
下面提供关于图18所示的语义混搭服务(SMS)架构1800的细节,SMS架构1800以模块化设计为特征,并且以可以实现更高的可重用性、更好的互操作性和更高的系统效率的方式利用语义。
首先,SMS架构1800可以包括分离的SMP 1802和VSMR 1804。SMP 1802对其相关的混搭服务的配置文件信息进行语义描述,诸如:1)关于输入参数(例如,inputDescriptor)的语义信息;2)关于用于混搭的混搭成员或成员资源[术语“成员资源”、“混搭成员”和“混搭成员资源”可以互换使用]应如何选择的语义信息(例如,memberFilter);3)关于混搭函数(例如,functionDescriptor)的语义信息;或4)关于混搭结果的语义信息(例如,outputDescriptor)。
为了利用SMP 1802描述的混搭服务,VSMR可以被创建为用于使SMS请求者1808(例如,用户或应用)实现混搭服务的接口。VSMR引用SMP 1802,并且使用其配置文件信息来计算或产生语义混搭结果。VSMR维护可以被多个SMR请求者1808检索或访问的语义混搭结果(例如,SMRS 1806)。VSMR还可以维护对于每个原始成员资源的引用。另外,SMS请求者1808可以触发VSMR运行混搭函数,并且重新计算混搭结果。SMP 1802可以由应用或SMS请求者1808调配或创建,而VSMR 1804可以由可能发出创建VSMR的命令的其他应用或SMS请求者1808创建。SMP 1802可以被许多VSMR 1804使用,并且VSMR可以被其他的SMS请求者1808(最初没有创建VSMR的其他的SMS请求者1808)访问。托管SMP 1802的服务层节点被称为SMP主机1810,而托管VSMR 1804的服务层节点被称为VSMR主机2302。SMP主机1810和VSMR主机2302可以位于不同的物理节点处,或者共处于同一个物理节点处。例如,SMS主机可以托管SMP 1802、VSMR或它们二者。
第二,描述SMS架构1800下的语义混搭过程,简要地描述,例如,用于发现和检索SMP 1802的过程、用于创建VSMR的过程、用于发现和检索VSMR的过程、以及用于维护VSMR的过程。
第三,在高级SMS架构2200中,语义混搭结果(例如,SMRS 1806)是从VSMR分离出来的。于是,托管SMRS 1806的服务层节点被称为SMRS主机2304。通过VSMR和SMRS 1806的这个分离,SMS请求者1808甚至可以不需要知道VSMR 1804或者与VSMR 1804通过接口连接,并且可以简单地从SMRS主机2304检索混搭结果,尽管SMRS 1806维护对于其对应的VSMR的引用。该方法可以带来以下益处:1)VSMR可以在对访问SMRS 1806的SMS请求者1808和对应的SMRS1806没有很多影响的情况下被容易地从一个VSMR主机2302(例如,堵塞的主机)移动或迁移到另一个VSMR主机2402(例如,负荷轻的主机);2)它此外可以提高VSMR的可重用性。
语义混搭架构——为了启用SMS,可以解决几个问题以便实现高可重用性和互操作性。例如,是否对混搭成员、所需的输入参数、混搭函数、混搭结果等进行建模以及如何建模。因为混搭成员可能来自具有不同数据模型的不同垂直域,所以如何描述混搭成员对于互操作性可能是重要的。另外,混搭函数对于来自不同域并且具有可能影响可重用性的不同要求的应用应是可理解的。
如图18所示,SMS架构1800可以包括SMS主机1810、SMP库1802、VSMR 1804或SMS请求者1808。SMS主机1810可以向SMS请求者1808提供语义混搭服务。SMS主机可以是SMP主机1810、VSMR主机2302或这二者的组合。可以仅包括SMP 1802的SMS主机可以是SMP主机1810,并且它可以仅提供用于托管SMP 1802的SMS。仅包括VSMR 1804的SMS主机可以是VSMR主机2302,并且它可以仅提供用于托管VSMR 1804的SMS,包括计算或显露混搭结果。如果SMS主机包括SMP库和VSMR 1804这二者,则它可以支持全部的SMS(例如,托管SMP 1802和VSMR1804这二者)。SMS主机例如默认地可以具有包括SMP 1802和VSMR 1804这二者的能力。
SMP主机1810可以具有它自己的包括一组SMP 1802的SMP库。SMP 1802对关于特定的混搭逻辑的配置文件信息进行语义建模和描述(例如,如智能停车使用情况下所讨论的适合的停车场)。在所述架构中,SMP 1802的配置文件信息可以包括输入参数的语义描述、成员资源的语义描述、混搭函数的语义描述、或混搭结果的语义描述,这些语义描述可以被称为SMP元素或表示。可以通过在选定的混搭成员和输入参数(如果有的话)上运行混搭函数来计算混搭结果。SMP 1802可以包括:1)为了使用SMP 1802,可能需要哪些类型的输入参数;2)为了使用SMP 1802,可能需要哪些类型的原始资源作为混搭成员;3)哪些类型的混搭函数可以被用于SMP 1802;4)或者为了使用SMP 1802,可以计算和产生哪些类型的混搭结果。SMP 1802通常不包括输入参数、成员资源或混搭结果。
注意,SMP 1802中的混搭函数可以包括如图19所示的多于一个的运算,并且每个运算可以具有不同的输入(这些输入可以由SMS请求者1808、混搭成员的值或表示、或来自其他运算的输出提供)和输出。另外,混搭函数可以是规定混搭结果应如何计算的脚本。
VSMR 1804可以被认为是提供与SMS请求者1808的SMS接口的虚拟资源。每个VSMR1804可以包括一组混搭成员,并且应用至少一个SMP 1802。VSMR 1804中的每个混搭成员与原始资源相关联。SMP 1802提供基于混搭成员提供的内容和来自SMS请求者1808的输入参数(例如,在找到合适的停车场应用中,SMS请求者1808可以向VSMR 1804提供目的地的地理位置)来产生混搭结果的混搭函数。
图20例示说明VSMR 1804如何产生混搭结果的例子。本质上,混搭函数2002基于混搭成员的内容和来自SMS请求者1808的输入参数(例如,目的地地理位置被认为是输入参数,在找到合适的停车场应用中,该输入参数可以由SMS请求者1808发送)来产生结果。产生的混搭结果可以被存储和组织在SMRS 1806中,SMRS 1806可以被认为是所述架构中的VSMR1804的子资源。VSMR 1804对其提供的SMS进行语义建模和描述,所以可能对获得该SMS感兴趣的其他SMS请求者1808能够发现该VSMR 1804或者检索该VSMR的SMRS 1806。
可能存在用于使SMS请求者1808利用SMS的多种方式。在第一种方法中,SMS请求者1808在SMS主机1810中发现可用的SMP 1802。例如,SMS请求者1808可以发送SMP发现请求以找到可用的SMP 1802(诸如用于智能停车应用的minParkingRate、minTimeCost和suitableParkingLot);然后,SMS请求者1808可以通过识别相关联的SMP 1802并且提供输入参数来向SMS主机发送VSMR创建请求;在VSMR 1804被创建之后,SMS请求者1808可以触发并且检索来自VSMR 1804的语义混搭结果。而且,SMS请求者1808还可以在VSMR 1804已经被创建之后订阅VSMR 1804。在订阅VSMR 1804之后,一旦在VSMR 1804中进行任何改变,SMS请求者1808就可以被通知。如果已经针对预期的SMS创建有VSMR 1804,则SMS请求者1808可以直接访问现有的VSMR 1804以检索其语义混搭结果,或者直接订阅现有的VSMR 1804。注意,SMS请求者1808和原始资源可以是被认为在所述架构之外的部分(例如,它们是可以与SMS主机交互的包括语义混搭架构的实体)。
如所公开的这个架构可以具有以下的技术效果。SMP创建和VSMR创建可以是彼此分离的和独立的,这可以使得SMP 1802可以被所述系统(或其他应用)调配并且被各种VSMR1804使用。这样的分离可以使得SMP 1802和VSMR 1804可以被灵活地并且可能更高效地存储在不同的地方。结果,可重用性和系统效率可以得到改进。
可以使用语义三元组来对每个SMP的表示进行建模,这使得尤其是当混搭成员选自不同的域时能够实现互操作性。SMP 1802的这样的基于语义的建模也可以改进可重用性,因为它帮助应用或机器很好地理解每个SMP 1802的配置文件信息。
要理解,图18-图20所示的功能可以以存储在无线装置或其他设备(例如,服务器、网关、装置或其他计算机系统)(诸如下面描述的图51C或51D所示的那些中的一个)的存储器中并且在该无线装置或其他设备的处理器上执行的软件(例如,计算机可执行指令)的形式实现。还要理解,图18-图20所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。
图21例示说明语义混搭的示例性高级过程。本文中公开了关于每个高级过程的更多细节。步骤2100可以被认为是SMP发现任务。在步骤2100,SMS请求者1808可以在SMS主机中发现现有的SMP 1802,以使得它们可以应用这些SMP 1802来创建对应的VSMR 1804。例如,SMS请求者1808可以通过向SMS主机1810发送语义发现请求来发现停车场相关的SMP1802。此处更详细地讨论了该任务的各方面。步骤2101可以被认为是VSMR创建任务。在步骤2012,在发现对应的SMP 1802之后,SMS请求者1808可以通过发送VSMR创建请求来请求创建VSMR 1804。该请求可以指示哪个SMP被用来创建VSMR 1804。在接收到VSMR创建请求之后,SMS主机可以首先检查是否存在与VSMR创建请求匹配的任何可用的VSMR 1804;如果存在,则SMS主机可以不创建另一个新的VSMR 1804;否则,SMS主机可以通过基于应用的SMP 1802建立它的混搭成员来创建VSMR 1804,例如,应用的SMP 1802定义如何选择作为VSMR 1804的混搭成员的原始资源的准则。SMS主机1810自己也可以主动地创建VSMR 1804。
继续参照图21,步骤2102可以被认为是VSMR发现任务。在步骤2012,在VSMR 1804已经被创建之后,对该VSMR 1804感兴趣的其他的SMS请求者(例如,SMS请求者2108)可以通过向SMS主机1810发送语义发现请求来发现VSMR 1804。注意,SMS请求者也可以首先发现所需的VSMR 1804(例如,步骤2102),然后如果所需的VSMR 1804没有被找到,则创建VSMR(例如,步骤2103-步骤2104)。步骤2102和步骤2012基于应用于SMS请求者的不同策略可能是可交换的。
步骤2103和步骤2014可以被认为是VSMR内容检索任务。在步骤2103和步骤2014,可以如本文中更详细地公开的那样检索VSMR 1804的内容(例如,混搭结果)。例如,这可以在发现SMS请求者2108、SMS请求者1808、VSMR 1804的URI之后进行。
步骤2105可以被认为是VSMR维护任务。在步骤2105,VSMR 1804中的混搭成员实际上链接到不同的资源主机2804托管的原始资源或者从这些原始资源进行拷贝。因此,一旦原始资源的表示被改变,VSMR 1804的对应的混搭成员就可以被更新,并且VSMR 1804的混搭结果就可以被相应地重新计算。而且,原始资源可以被移除或者被添加到它们的资源主机2804中,所以VSMR 1804的混搭成员也可以被相应地修改。
总的来说,它可以被如下分解:A)任务0-SMP发现(例如,步骤2100);B)任务1-VSMR创建(例如,步骤2011);C)任务2-VSMR发现(例如,步骤2102);D)任务3-VSMR内容检索(例如,步骤2103-2104);以及E)任务4-VSMR维护(例如,步骤2105)。
要理解,执行图21所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图21所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图21所示的步骤。还要理解,图21所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图21所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在图18所示的SMS架构1800中,VSMR 1804的混搭结果被存储和组织在SMRS 1806中,SMRS 1806位于VSMR 1804的下面,例如,SMRS 1806可以被认为是VSMR 1804的子资源。在图22中的高级SMS架构2200中,VSMR 1804及其混搭结果可以是分离的,例如,混搭结果可以被认为是不同于其VSMR 1804的单独的资源。如图22所示,SMRS 1806是可以包括一个或多个VSMR 1804产生的混搭结果的资源类型。SMRS 1806可以被托管在被称为图23的SMRS主机2304的不同的服务层节点中。VSMR 1804可以通过包括smrsID来识别其相关联的SMRS1806。因此,混搭结果可能不再被存储在VSMR 1804中。相反,对应的SMRS 1806可以维护用SMRS资源的vsmrID属性表示的相关联的VSMR 1804所产生的混搭结果。SMRS 1806中的混搭结果可以被语义建模和描述,以使得可能对混搭结果感兴趣的其他的SMS请求者可以从对应的SMRS 1806直接检索混搭结果。
要理解,执行图22所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图22所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图22所示的步骤。还要理解,图22所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图22所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
图23例示说明SMP主机1810、VSMR主机2302和SMRS主机2304如何通过应用高级SMS架构2200来彼此交互以便向客户端(例如,SMS请求者)提供SMS的主要过程。
图23的步骤2311:VSMR主机2302从SMS请求者接收VSMR创建请求。VSMR创建请求可以识别哪个SMP 1802可以被应用于新的VSMR 1804中。
图23的步骤2312:在接收到VSMR创建请求之后,VSMR主机2302可以将SMP检索请求发送给对应的SMP主机1810。注意,这里,SMP主机1810和VSMR主机2302被认为是不同的实体(其与图18所示的架构略为不同的是,SMP 1802和VMSR这二者都由SMS主机托管),所以VSMR主机2302可以从SMP主机1810检索对应的SMP 1802。
图23的步骤2313:SMP主机1810可以返回请求的SMP 1802的表示。
图23的步骤2314:在获得请求的SMP 1802的表示之后,VSMR主机2302能够创建SMS请求者在步骤2311中请求的VSMR 1804。此外,新的VSMR 1804可以与SMRS 1806相关联以存储其混搭结果。在创建VSMR 1804之后,VSMR主机2302可以通过发送其相关联的SMRS 1806的URI来通知SMS请求者VSMR 1804已经被创建。
图23的步骤2315:VSMR主机2302通过检索其混搭成员的表示并且对这些表示实施混搭函数来产生混搭结果。
图23的步骤2316:VSMR主机2302可以将产生的混搭结果发送给SMRS主机2304,SMRS主机2304因此存储并且组织产生的混搭结果。
图23的步骤2317:SMRS主机2304可以将指示混搭结果已经被成功地存储在SMRS主机2304中或者尚未被成功地存储在SMRS主机2304中的响应发送给VSMR主机2302。
图23的步骤2318:可以随着时间的过去调整用于存储VSMR的混搭结果的位置,例如,VSMR 1804可以随着时间的过去对其混搭结果选择不同的SMRS主机(例如,原始的SMRS主机2304没有足以存储VSMR 1804的混搭结果的容量)。因此,VSMR主机2302可以维护VSMR1804及其对应的SMRS 1806之间的关系。
图23的步骤2319:如果VSMR 1804改变其SMRS 1806,则VSMR 1804可以向SMS请求者通知新的SMRS 1806的URI。这里,假定VSRM主机维护SMS请求者的地址(例如,URI)以使得VSMR 1804可以将消息发送给SMS请求者;例如,SMS请求者可以订阅VSMR主机2302,并且在订阅VSMR主机2302期间给予通知URI(例如,SMS请求者的URI);然后VSMR主机2302可以将新的SMRS主机2304的URI发送给该通知URI,其可以被SMS请求者接收。当VSMR主机2302自己周期性地执行语义混搭配置文件并且产生混搭结果时,可以使用步骤2315-步骤2319。
图23的步骤2320:想要获得SMRS 1806的SMS请求者(在该图中未示出)可以发现SMRS 1806,并且将SMRS检索请求发送给SMRS主机2304。
图23的步骤2321:在接收到SMRS检索请求之后,SMRS主机2304可以直接用最新的混搭结果对SMS请求者做出响应,或者SMRS主机2304可以产生混搭结果更新请求以使得其相关联的VSMR 1804能够重新计算混搭结果并且将刷新的混搭结果反馈给SMRS主机2304。
图23的步骤2322:在接收到混搭请求之后,VSMR 1804可以通过检索其混搭成员的表示并且对这些表示实施混搭函数来重新产生混搭结果。
图23的步骤2323:VSMR主机2302将新的混搭结果发送给SMRS主机2304以便对来自步骤2321的混搭请求做出响应。
图23的步骤2324:在接收到最新的混搭结果之后,SMRS主机2304可以相应地存储它并且对VSMR主机2302做出响应以便确认混搭结果已经被存储,然后将最新的混搭结果发送给SMS请求者。
要理解,执行图23所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图23所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图23所示的步骤。还要理解,图23所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图23所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
分离VSMR 1804及其混搭结果的一个益处是促进图24所示的VSMR迁移。具体地说,一旦VSMR 1804试图从一个VSMR主机2302迁移到新的VSMR主机2402(由于一些原因,诸如VSMR主机之间的负荷均衡),如果VSMR 1804及其混搭结果是分离的,则VSMR 1804的混搭结果就将无需被相应地迁移。不迁移VSMR的混搭结果可以降低迁移流量。此外,如果VSMR及其混搭结果是分离的,则SMS请求者1808可能不知道或者无需知道VSMR迁移。换句话说,SMS请求者1808可以仍通过将检索请求发送给同一个SMRS主机2304来检索混搭结果。
具体地参照图24,在可能是开头的步骤2411,创建VSMR1,并且将VSMR1托管在VSMR主机2302处。将对应的混搭结果存储在VSMR1的smrsID属性指示的SMRS主机处。在步骤2412,由于诸如负荷均衡的原因,VSMR1迁移到另一个VSMR主机2402。整个VSMR1可以从VSMR主机1拷贝到VSMR主机2402。在步骤2413,VSMR主机2402处的VSMR1的smrsID属性是相同的,并且仍指向SMRS主机2304处托管的SMRS1。VSMR主机2402处产生的混搭结果仍可以被存储在SMRS主机2304处。但是SMRS1可以将VSMR主机2402记录为它对应的VSMR1的新主机。在步骤2414,SMS请求者1808仍像往常一样从SMRS主机2304检索混搭结果。SMS请求者1808可能不知道VSMR1从VSMR主机2302到VSMR主机2402的迁移。
要理解,执行图24所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图24所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图24所示的步骤。还要理解,图24所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图24所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
语义混搭配置文件发现和检索(语义混搭的任务0)-SMP资源
SMP库中的任何SMP 1802可以包括以下属性:smpID、memberFilter、inputDescriptor、functionDescriptor和outputDescriptor,它们在下面被详述。smpID属性指示SMP的ID(例如,其URI)。它应是托管SMP 1802的SMP主机1810(或SMS主机)内的唯一标识符。
memberFilter属性可以用于指示从相同的资源主机或不同的资源主机2804处的若干个原始资源确定混搭成员集合的一套准则。memberFilter属性可以用元数据模型(诸如RDF三元组)来描述。SMS主机可以基于memberFilter属性中的元数据来产生语义查询。图25中示出了一个例子,在该例子中,如果该SMP 1802可以用于创建新的VSMR 1804,则memberFilter属性中的元数据意味着附近的停车场(例如,停车场和目的地之间的距离小于1英里)可以是VSMR 1804的混搭成员;同时,每个混搭成员可以具有四个属性,例如,停车场的URI、状态、地理位置和停车率。
inputDescriptor属性可以包括若干个输入参数和它们的类型。当SMS请求者1808试图应用该SMP 1802来创建VSMR 1804时,这些输入参数可以由SMS请求者1808规定。inputDescriptor属性用语义元数据(诸如RDF三元组)来描述。通过获得inputDescriptor属性,SMS请求者1808可以理解所需的输入参数的数量以及每个所需的输入参数的类型。图25中示出了一个例子,在该例子中,当SMS请求者1808试图应用该SMP 1802来创建VSMR1804时,一个地理位置输入参数(其包括位置的经度和维度值)应由SMS请求者1808提供。
outputDescriptor属性定义输出参数的数量和它们的对应的类型。outputDescriptor属性用语义元数据(诸如RDF三元组)来描述。图25中示出了一个例子,在该例子中,outputDescriptor属性中的元数据意味着所选停车场的URI、状态、地理位置和停车率可以被返回给SMS请求者。
functionDescriptor属性用于描述SMP 1802的混搭函数。混搭函数被应用于混搭成员上以产生可以在outputDescriptor属性中定义的输出(例如,混搭结果)。functionDescriptor属性的内容可以是用SMS主机可以理解的任何编程语言描述的脚本。图25中示出了一个例子,在该例子中,functionDescriptor属性用指示如何在混搭成员之中选择最适合的停车场的一组编程代码来描述,并且混搭函数应返回该适合的停车场的URI、状态、地理位置和停车率。
SMP 1802还可以包括如下详述的<semanticDescriptor>子资源。<semanticDescriptor>子资源用于指示什么种类的混搭度量被应用、哪些本体论可以用于描述该SMP 1802、以及该度量可以被应用于什么种类的SMS(例如,该度量可以被用于什么种类的应用情形下)。<semanticDescriptor>资源的描述符属性被描述为RDF三元组。图25中示出了一个例子,在该例子中,<semanticDescriptor>资源中的元数据指示该SMP 1802的类型是“合适的停车场”(例如,该SMP 1802适用于寻找停车场服务中)并且该SMP 1802的混搭度量是“联合优化”(例如,联合考虑停车场的停车率以及停车场和目的地之间的距离)。[为了清楚地例示说明所述过程,考虑停车场和目的地之间的距离越短将导致对于该停车场的时间成本越低。换句话说,如果停车场更靠近所述距离,则用户将花费更短的时间从停车场到达目的地。]语义混搭配置文件发现和检索(语义混搭的任务0)-SMP发现和检索
假定SMS请求者1808被调配或者发现SMS主机(或SMP主机1810)的地址,那么它可以通过应用以下步骤来发现某种类型的SMP 1802并且从SMS主机检索它的表示。
图26的步骤2611:SMS请求者1808将SMP发现请求发送给SMS主机(注意,SMS请求者1808还可以将SMP发现请求发送给中央语义图储存器,中央语义图储存器可以对该请求做出响应)。SMP发现请求可以包括smpFilter,smpFilter通常规定混搭度量或SMP 1802的类型。例如,如果SMS请求者1808试图发现可以被应用于“寻找停车场”应用中的SMP资源,则smpFilter的值可以如下:
图26的步骤2612:SMS主机可以将包括有资格的SMP 1802的smpID的响应发送给SMS请求者1808,该响应具有包括在<semanticDescriptor>子资源中并且满足smpFilter描述的准则的语义信息。注意,SMS主机可以进行访问控制以检查SMS请求者1808是否具有发现有资格的SMP 1802的适当特权。换句话说,如果SMS请求者1808未被授权发现SMP,则SMS主机可以不将对应的smpID发送给SMS请求者。
图26的步骤2613:在接收到有资格的SMP 1802的smpID之后,SMS请求者1808可以发送SMP检索请求以检索在步骤2612中发现的SMP 1802中的一个。
图26的步骤2614:在接收到SMP检索请求之后,SMS主机可以发送包括对应的SMP1802的表示的响应。注意,SMS主机可以进行访问控制以检查SMS请求者1808是否具有检索SMP的表示的适当特权。换句话说,如果SMS请求者1808未被授权检索SMP的表示,则SMS主机可以将适当的错误代码发送给SMS请求者。
要理解,执行图26所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图26所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图26所示的步骤。还要理解,图26所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图26所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
虚拟语义混搭资源创建(语义混搭的任务1)
VSMR 1804被认为是可以存在于SMS主机或VSMR主机处的资源类型。任何VSMR1804可以包括vsmrID、smpID、smrsStoreType、smrsID、memberStoreType、mashupMemberID、resultGenType、periodForResultGen、smpInputPara、smrs、mashupMember、<semanticDescriptor>或<subscription>参数。注意,这些参数中的每个都可以是VSMR1804的子资源或属性。
vsmrID参数指示该VSMR 1804的ID。它可以被表示为VSMR资源的URI。
smrsID参数指示哪个SMP资源被应用于VSMR资源。
smrsStoreType参数指示语义混搭结果应被存储的方式。具体地说,如果smrsStoreType=“子资源”,则该VSMR 1804的混搭结果可以被存储为该VSMR 1804的子资源。如果smrsStoreType=“引用”,则该VSMR 1804的混搭结果可以被存储在SMRS资源(不同于VSMR 1804的资源)中。注意,如果SMRS资源被应用于存储VSMR 1804的混搭结果,则SMRS资源的URI可以由该VSMR 1804的smrsID参数识别。
smrsID参数指示正在存储该VSMR 1804的混搭结果的SMRS资源的标识符。注意,如果smrsStoreType的值不是“引用”,则smrsID参数可以不被使用。
memberStoreType参数指示用于存储该VSMR 1804的混搭成员的方式。具体地说,如果memberStoreType=“仅URI”,则VSMR 1804可以使用mashupMemberID参数(其接着被描述)来维护每个成员资源的URI;如果memberStoreType=“URI和值”,则VSMR 1804可以使用mashupMember参数来维护每个成员资源的URI和值这二者(例如,在“寻找停车场”应用中,VSMR 1804可以维护用于每个成员资源的parkingLotStatus(停车场状态)、parkingLotLocation(停车场位置)、parkingLotRate(停车场率)和parkingLotURI(停车场URI))。
mashupMemberID参数指示VSMR 1804的混搭成员的标识符。该参数的值为列表。如果mashupMember参数被作为VSMR 1804的子资源放置在VSMR 1804的正下方(例如,当memberStoreType=“仅URI”时),则该参数可以不被使用。
mashupMember参数包括混搭成员集合,所述混搭成员集合可以基于smpID参数表示的对应SMP 1802的memberFilter中描述的准则从原始资源选择。
resultGenType参数暗示VSMR 1804如何产生混搭结果。具体地说,如果resultGenType=“当VSMR被创建时”,则当VSMR 1804被创建时,可以产生混搭结果;如果resultGenType=“当SMS请求者请求时”,则当SMS请求者1808试图检索VSMR 1804的混搭结果时,将计算并且产生混搭结果;如果resultGenType=“周期性地”,则可以周期性地计算并且产生混搭结果(注意,周期长度由periodForResultGen属性识别);如果resultGenType=“当混搭成员被更新时”,则每当在VSMR 1804的混搭成员上进行任何更新时,就可以计算并且产生混搭结果。注意,该属性的值为列表,例如,多个事件可以被触发以针对VSMR 1804计算并产生混搭结果。
periodForResultGen参数指示用于对VSMR 1804重新计算并且产生语义混搭结果的时间周期。当它是重新计算语义混搭结果的时间时,托管VSMR 1804的SMS主机可以检索每个混搭成员的最新的表示,如果它还未被获得的话。当resultGenType=“周期性地”时,该属性可以被使用。
smpInputPara参数包括计算混搭结果可能需要的输入参数的值。这些输入参数的类型可以由该VSMR 1804的smpID参数识别的对应SMP资源的<inputDescriptor>规定。
smrs参数存储VSMR资源的混搭结果。注意,如果smrsStoreType的值不是“子资源”,则smrs参数可以不被使用。
<semanticDescriptor>参数指示什么种类的SMS由该VSMR 1804提供。
<subscription>参数包括关于该VSMR 1804的订阅信息。
在经由语义混搭配置文件发现过程获得SMP资源之后,SMS请求者1808可以通过应用所发现的SMP资源来创建VSMR 1804。如下详述用于创建VSMR 1804的步骤:
图28的步骤2811:在SMS请求者1808发现并且检索SMP 1802之后,它可以将VSMR创建请求发送给SMS主机1810。VSMR创建请求可以包括应用的SMP 1802的URI(例如,smpID属性的值)、resultGenType的值(其指示如何产生混搭结果)、以及输入参数(其可以由应用的SMP 1802中的inputDescriptor属性定义和描述)。输入参数可以用元数据模型(诸如RDF三元组)来描述。例如,如果“合适的停车场”SMP 1802(在图25中描述)被应用来创建新的VSMR,则VSMR创建请求中的输入参数可以被如图27中那样描述。
图28的步骤2812:在接收到VSMR创建请求之后,SMS主机1810可以首先检查输入参数是否可以满足SMP 1802(其由smpID识别)的要求(例如,inputDescriptor属性中的元数据)。例如,如果“合适的停车场”SMP 1802(在图25中描述)被应用,则在VSMR创建请求中应存在两个输入参数(例如,目的地的经度和维度)。换句话说,SMS主机可以仅接受VSMR创建请求,VSMR创建请求包括正好两个输入参数(其类型可以分别是longitude(经度)和latitude(纬度));否则,SMS主机可以拒绝VSMR创建请求,并且将错误代码返回给SMS请求者。
图28的步骤2813:如果接收的VSMR创建请求是有效的,则SMS主机可以检查任何现有的具有与步骤2811中的VSMR创建请求中包括的smpID和输入参数相同的smpID和相同的输入参数的VSMR是否已经被创建。
图28的步骤2814:如果存在具有与VSMR创建请求中的smpID和输入参数相同的smpID和输入参数的现有的VSMR,并且SMS请求者1808被允许访问该现有的VSMR[通常,SMS主机可以维护可以被预先配置的一套访问控制策略。SMS主机中的每个资源(包括VSMR)可以应用这些访问控制策略中的任何一个来进行访问控制。](例如,步骤2814(a)),则SMS主机可以将该现有的VSMR的URI返回给SMS请求者1808(例如,进入步骤2820);否则(例如,具有与VSMR创建请求中的smpID和输入参数相同的smpID和输入参数的现有的VSMR不允许SMS请求者1808访问;或者不存在这样的现有的VSMR),则SMS主机可以开始创建新的VSMR(例如,进入步骤2825)。
图28的步骤2815:SMS主机应通过检查应用于SMS主机的访问控制策略来确定SMS请求者1808是否被授权创建用于这种对应类型的SMP 1802的VSMR。如果SMS请求者1808不被允许创建VSMR,则SMS主机可以将指示其未授权的适当的错误代码返回给SMS请求者1808;否则,进入步骤2816。
图28的步骤2816:SMS主机可以首先通过基于VSMR请求中给出的smpID表示的对应SMP 1802的memberFilter属性中包括的语义信息产生SPARQL查询来选择适合于作为新的VSMR的混搭成员的原始资源。SPARQL查询可以被作为“semanticFilter(语义过滤器)”包括在步骤2817(a)和步骤2817(b)中。
图28的步骤2817:如果在服务层中存在有集中式语义图储存器2802,则SMS主机可以将包括“semanticFilter”的语义发现发送给集中式语义图储存器2802(例如,步骤2817(a))以便找到适合的原始资源的URI。如果不存在集中式语义图储存器2802,则SMS主机可以将语义发现发送给它的注册的资源主机2804(例如,步骤2817(b))以便找到适合的原始资源的URI。
图28的步骤2818:如果集中式语义图储存器2802接收到语义发现请求(例如,步骤2818(a)),则它可以搜索维护的RDF三元组,并且将有资格的原始资源的URI发送给SMS主机。[有资格的原始资源被定义为满足所应用的SMP 1802的memberFilter(成员过滤器)属性中的准则或要求的原始资源。例如,在“合适的停车场”SMP 1802中,memberFilter属性将有资格的资源定义为从其到目的地的距离小于1英里的停车场。]如果资源主机接收到语义发现请求(步骤2818(b)),则它可以构建本地语义图储存器,在本地语义图上搜索RDF三元组,并且将有资格的原始资源的URI返回给SMS主机,注意,在将有资格的原始资源的URI返回给SMS主机之前,集中式语义图储存器2802或资源主机2804可以检查SMS主机是否具有发现那些原始资源的适当特权。[本地语义图储存器由资源主机2804暂时维护,例如,本地语义图存储器作为资源主机的一部分或一个功能。]在本文中设想,集中式语义图储存器2802或资源主机2804还可以检查SMS请求者1808是否具有将那些原始资源包括在VSMR 1804中的适当特权(通过这样做,可以在步骤2817中将SMS请求者的信息(例如,ID)包括在语义发现请求中)。如果SMS主机未被授权发现原始资源(可替代地,SMS请求者1808可以不将原始资源包括在VSMR 1804中),则集中式语义图储存器2802或资源主机2804可以不将原始资源的URI发送给SMS请求者1808。
图28的步骤2819:在获得适合的原始资源的URI之后,SMS主机可以创建对应的VSMR 1804。新的VSMR中的smpID和resultGenType参数的值可以与VSMR创建请求中包括的smpID和resultGenType参数的值是一致的;新的VSMR中的smrs参数的值可以是空的;mashupMember参数包括可以从步骤2818获得的有资格的原始资源和它们的URI,例如,那些有资格的原始资源变为对应的VSMR的混搭成员。
图28的步骤2820:在成功地创建请求的VSMR之后,SMS主机可以将VSMR的URI或VSMR的SMRS的URI发送给SMS请求者1808,以使得SMS请求者1808可以在稍后的时间检索VSMR的内容(例如,混搭结果)。响应消息还可以包括对于SMS请求者创建的VSMR的混搭成员的数量。该信息可能是有用的,因为SMS请求者1808可能知道在步骤2818中没有找到有资格的成员资源的情形(例如,VSMR没有混搭成员)或者有资格的成员资源的数量不足以产生有效的混搭结果。
要理解,执行图28所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图28所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图28所示的步骤。还要理解,图28所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图28所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在成功地创建VSMR之后,其他的SMS请求者1808可能能够发现和使用VSMR(或者相同的SMS请求者1808能够使用VSMR)。虚拟语义混搭资源发现(语义混搭中的任务2)
VSMR发现意味着创建的VSMR 1804可以被对VSMR 1804提供的服务感兴趣的其他的SMS请求者1808发现。因此,现有的VSMR 1804可以被其他的SMS请求者1808重用以改进系统效率。例如,当在体育场里有足球比赛时,数千个用户可能请求找到该体育场附近的适合的停车场(例如,目的地是该体育馆)。然后,提供找到该体育场附近的适合的停车场的服务的VSMR 1804可以被用户重用,以使得不同的用户不一定需要创建他们自己的、实际上提供相同类型的SMS的VSMR 1804。
如图29所示,VSMR发现过程可以包括以下步骤:
图29的步骤2911:对特定SMS感兴趣的SMS请求者将VSMR发现请求发送给SMS主机(或VSMR主机2302)。VSMR发现请求可以包括vsmrFilter,vsmrFilter包括基于SMS请求者请求的SMS的类型的SPARQL查询。
图29的步骤2912:在接收到VSMR发现请求之后,SMS主机可以构建本地语义图储存器,在本地语义图储存器上搜索RDF三元组,并且返回与SMS请求者发出的VSMR发现请求的要求匹配的VSMR的列表。如果在服务层处存在中央语义图储存器,则SMS主机还可以将VSMR发现请求中继给中央语义图储存器,中央语义图储存器可以搜索RDF三元组,并且将匹配的VSMR的URI的列表返回给SMS主机。因此,SMS主机将把匹配的VSMR资源的URI的列表中继给SMS请求者。注意,SMS主机或中央图储存器可以进行访问控制以检查SMS请求者1808是否具有发现匹配的VSMR的适当特权。换句话说,如果SMS请求者1808未被授权发现VSMR,则即使VSMR与VSMR发现请求的要求匹配,SMS主机可能也不能将VSMR的URI发送给SMS请求者1808。
要理解,执行图29所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图29所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图29所示的步骤。还要理解,图29所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图29所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
虚拟语义混搭资源检索(语义混搭的任务3)
SMS请求者1808可以通过应用以下步骤来检索混搭结果的内容。
图30的步骤3010:在检索VSMR 1804的混搭结果之前,SMS请求者1808可以首先创建或发现对应的VSMR 1804。
图30的步骤3011:在创建或发现VSMR 1804之后,SMS请求者1808应已经知道VSMR资源的URI。因此,SMS请求者1808可以将包括VSMR资源的URI的VSMR检索请求发送给SMS主机。[本质上,VSMR检索请求用于检索VSMR 1804的混搭结果。此外,SMS请求者1808可以发送SMRS检索请求以检索对应的VSMR 1804的混搭结果。]
图30的步骤3012:SMS主机应检查SMS请求者1808是否具有访问VSMR 1804的适当特权。如果SMS请求者1808可能不能访问VSMR 1804,则SMS主机可以返回指示其未授权的适当的错误代码;否则,进入步骤3013。
图30的步骤3013:可以存在使VSMR 1804产生可以由resultGenType(例如,VSMR1804的一个属性)定义的混搭结果的不同的方式。具体地说,如果VSMR资源中的resultGenType参数的值是“当SMS请求者请求时”,则一旦VSMR 1804接收到VSMR检索请求,VSMR 1804就可以开始检索它的混搭成员的表示(例如,进入步骤3013);否则,VSMR 1804可以直接用VSMR资源的<smrs>子资源所暗示的当前的混搭结果做出响应(例如,进入步骤3017)。表10中示出了resultGenType的详细描述。
图30的步骤3014:计算混搭结果可能花费长时间,为了避免SMS请求者1808重发VSMR检索请求(由于SMS请求者1808在超时时段期间没有接收到响应的原因),SMS主机可以立即将应答(不包括VSMR 1804的混搭结果)发送给SMS请求者1808以指示SMS主机已经接收到VSMR检索请求并且正在计算混搭结果。
图30的步骤3015:SMS主机可以将混搭成员资源检索请求发送给每个混搭成员。每个混搭成员资源检索请求可以包括对应的混搭成员的URI。
图30的步骤3016:在接收到混搭成员资源检索请求之后,资源主机可以用对应的成员资源的表示来对SMS主机做出响应。注意,资源主机还可以进行访问控制以检查SMS主机是否具有检索成员资源的适当特权(在例子中,资源主机还可以检查SMS请求者1808具有检索成员资源的适当特权;通过这样做,SMS请求者的信息(例如,ID)可以包括在步骤3015中的成员资源检索请求中)。如果SMS主机未被授权检索成员资源(或者如果SMS请求者1808未被授权检索成员资源),则资源主机可能不能将成员资源的表示发送给SMS请求者;实际上,它可以返回适当的错误代码。
图30的步骤3017:在接收到混搭成员的表示之后,SMS主机可以将这些表示存储在VSMR资源中(注意,存储这些表示的到期时间可以基于这些表示在原始资源中的到期时间)。例如,在寻找停车场例子中,VSMR资源可以获得其混搭成员(其被描述为目的地附近的停车场)的状态、地理位置和停车率信息。因此,如图31所示,该信息可以被存储在VSMR资源下。(注意,它可能不能被用于将该信息存储在VSMR 1804下,例如,VSMR 1804可以仅存储原始资源的URI并且按需检索它们的表示。)此后,SMS主机执行对应的SMP 1802(其被VSMR1804所应用)的functionDescriptor属性中描述的混搭函数。混搭函数的输出可以被存储在VSMR 1804内或SMRS 1806中。在寻找停车场例子中,输出可以是最适合的停车场的状态、位置和停车率信息。
图30的步骤3018:SMS主机将存储在SMRS 1806中的混搭结果发送给SMS请求者1808以便对来自步骤3011的VSMR检索请求做出响应。
要理解,执行图30所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图30所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图30所示的步骤。还要理解,图30所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图30所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
此外,SMS请求者1808可以订阅VSMR资源以使得一旦混搭结果被更新,SMS主机就将自动地将混搭结果发送给SMS请求者1808(例如,如果resultGenType=“周期性地”,则混搭结果应被周期性地计算,并且SMS主机可以将更新的混搭结果发送给订阅VSMR 1804的SMS请求者)。可以应用以下步骤。
步骤3210:在订阅VSMR 1804之前,SMS请求者1808可能已经创建或发现了对应的VSMR 1804。
图32的步骤3211:如图32所示,SMS请求者1808将VSMR订阅请求发送给SMS主机。VSMR订阅请求包括SMS请求者1808的URI(例如,订阅者的URI,其暗示通知应被发送到哪里)、notificationContentType(其指示通知的内容类型)和eventNotificationCriteria(其指示使SMS主机将通知发送给SMS请求者的触发事件)。通常,对于VSMR资源,一旦混搭结果被更新,SMS主机就触发将通知发送给SMS请求者1808,通知消息中的内容可以是更新后的混搭结果(例如,在寻找停车场应用中,混搭结果可以是最适合的停车场的URI、状态、地理位置和停车率)。
图32的步骤3212:在接收到VSMR订阅请求之后,SMS主机可以将SMS请求者1808添加到与其notificationContentType和eventNotificationCriteria相关联的VSMR资源中的订阅列表。
图32的步骤3213:SMS主机可以将指示SMS请求者1808已经成功地订阅VSMR资源的响应消息发送给SMS请求者1808。
图32的步骤321:一旦VSMR 1804中的混搭结果被更新,SMS主机就可以立即将通知发送给SMS请求者。通知消息的内容由notificationContentType指示。
图32的步骤3215:SMS请求者1808可以将指示它已经成功地接收到通知消息的响应消息发送给SMS主机。
要理解,执行图32所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图32所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图32所示的步骤。还要理解,图32所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图32所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
联合虚拟语义混搭资源创建和检索
如前所述,SMS请求者1808可以首先创建VSMR 1804;然后托管创建的VSMR资源的SMS主机向SMS请求者1808通知创建的VSMR资源的URI以便在未来重用创建的VSMR资源(例如,SMS请求者1808可以通过在未来将VSMR检索请求发送给URI来检索VSMR资源的内容)。
然而,存在如下情形:因为SMS请求者1808在未来可能不检索VSMR的混搭结果,所以没有必要向SMS请求者1808通知VMSR资源的URI。换句话说,在获得混搭结果之后,SMS请求者1808可能不再对VSMR 1804的未来的混搭结果感兴趣。因此,不是将创建的VSMR 1804的URI发送给SMS请求者,而是SMS主机可以在创建VSMR 1804之后立即计算混搭结果,并且将混搭结果发送给SMS请求者。这被称为联合虚拟语义混搭资源创建和检索。
SMS请求者1808可以应用以下步骤来联合地创建VSMR 1804并且检索创建的VSMR1804的混搭结果。
图33的步骤3310:在联合创建并且检索新的VSMR资源之前,SMS请求者1808可能已经从SMS主机发现了对应的SMP资源。
图33的步骤3311:通过SMS请求者1808发送语义查询请求(而不是在VSMR创建过程中发送VSMR创建请求)来触发联合VSMR创建和检索过程。语义查询可以包括smpID和smpInputPara的值。例如,在寻找合适的停车场应用中,语义查询请求可以被表达为“为我找到合适的停车场,其中,我的目的地为[-73.985833°,40.748417°]”,其中,用蓝色突出的信息(合适的停车场)包括smpID的值,用橙色突出的信息([-73.985833°,40.748417°])包括smpInputPara的值。注意,如果联合VSMR创建和检索方法被应用,则resultGenType的值被默认地设置为“当VSMR被创建时”(表10中示出了resultGenType的详细描述),例如,当VSMR 1804在SMS主机处被创建时,可以计算VSMR 1804的混搭结果。
图33的步骤3312:在接收到语义查询请求之后,SMS主机可以首先通过应用语义查询请求中的smpID值所识别的对应的SMP资源来创建VSMR 1804。用于使SMS主机创建VSMR1804的过程在图28中描述的步骤2812-2819之后。
图33的步骤3313:在成功地创建资源之后,SMS主机可以立即触发通过执行图30中的步骤3014-3016来在VSMR资源中产生混搭结果。
图33的步骤3314:在成功地在VSMR 1804中产生混搭结果之后,SMS主机可以将混搭结果发送给SMS请求者1808以便对步骤3311中的语义查询做出响应。然后,SMS主机可以移除创建的VSMR资源。
要理解,执行图33所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图33所示的方(一种或多种)法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图33所示的步骤。还要理解,图33所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图33所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
虚拟语义混搭资源维护(语义混搭的任务4)
VSMR 1804维护可以包括:1)将新的有资格的资源添加为VSMR资源中的混搭成员;2)移除VSMR资源中的删除的或没有资格的混搭成员;或者3)更新VSMR资源中的混搭成员的表示。VSMR资源维护可以由SMS主机或资源主机初始化。
下面公开SMS主机检查原始资源上的变化。SMS主机可以通过应用以下步骤来对VSMR资源维护进行初始化:
图34的步骤3410:在SMS主机1810对VSMR资源维护进行初始化之前,VSMR 1804可能已经被创建在SMS主机1810中。假定VSMR 1804的混搭成员中的一个为资源主机1 3402中的原始资源(例如,rsc1)。
图34的步骤3411:SMS主机可以通过将资源检索请求发送给原始资源的混搭成员来检查该原始资源上的变化(例如,进行VSMR维护)。如图34所示,SMS主机将资源检索请求发送给VSMR的混搭成员中的一个,例如,资源主机1 3402托管的rsc1。
图34的步骤3412:在接收到资源检索请求之后,资源主机1可以将对应的响应发送给SMS主机1810。
图34的步骤3413(a):如果步骤3412中的响应消息仅包括rsc1的表示并且rsc1仍有资格作为VSMR 1804的混搭成员(例如,rsc1满足memberFilter(其是VSMR 1804应用的SMP的一个属性)中描述的准则),则SMS主机1810可以基于rsc1的表示来更新混搭成员的表示,并且进入步骤3414。
图34的步骤3413(b):如果步骤3412中的响应消息指示rsc1不存在(例如,在“寻找合适的停车场”应用中,一些街道停车计量仪在道路建设期间可能被移除),或者SMS主机1810发现rsc1不再有资格作为VSMR资源的混搭成员,则可以从VSMR资源的混搭成员移除rsc1。可替代地,SMS主机1810可以通过发送语义发现来检查新的资源变为VSMR 1804的混搭成员(注意,找到VSMR资源的新的混搭成员的过程可以应用于图28中的步骤2815-2817)。如果新的资源(其有资格变为VSMR资源的混搭成员)可以被找到,则可以将这些新的资源添加为VSMR 1804的混搭成员,并且SMS主机1810可以检索这些新的资源的表示。
图34的步骤3414:在更新VSMR 1804资源的混搭成员和它们的对应的表示之后,如果resultGenType的值等于“当混搭成员被更新时”,则SMS主机1810可以通过对VSMR 1804的混搭成员执行VSMR 1804的混搭函数(其在应用的SMP资源的functionDescriptor属性中描述)来重新计算混搭结果(例如,当对VSMR 1804的混搭成员进行任何更新时,SMS主机1810可以重新计算混搭结果);否则(例如,resultGenType的值不等于“当混搭成员被更新时”),SMS主机1810可以不重新计算混搭结果。
图34的步骤3415:在更新混搭结果之后,SMS主机可以将混搭结果存储在SMRS1806中,并且基于待定的检索请求或者由于对内容(例如,VSMR 1804的混搭结果)的订阅,将它们发送给SMS请求者1808。
要理解,执行图34所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图34所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图34所示的步骤。还要理解,图34所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图34所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
下面公开资源主机报告原始资源上的变化。资源主机2804还可以通过主动地报告原始资源上的变化来对VSMR维护进行初始化。在资源主机主动地报告原始资源上的任何变化之前,SMS主机1810(或VSMR主机2302)可以首先订阅这些原始资源,这些原始资源是对应的VSMR资源的混搭成员。应用以下步骤:
图35的步骤3510:在订阅VSMR的混搭成员之前,SMS主机可能已经创建了VSMR资源。假定rsc1(其是资源主机1托管的资源)是VSMR资源的一个混搭成员;那么图35示出了SMS主机订阅rsc1的过程。注意,SMS主机1810订阅其他的原始资源可以进行与SMS主机1810订阅rsc1相同的步骤。
图35的步骤3511:SMS主机1810可以将资源订阅请求发送给资源主机1以便订阅rsc1。资源订阅请求可以包括notificationContentType、eventNotificationCriteria和mashupMemURI。notificationContentType暗示通知消息中的内容类型。eventNotificationCriteria指示用于使资源主机1 3402将通知发送给SMS主机1810的触发事件。通常,对rsc1进行的任何改变都可以触发资源主机1发送通知。mashupMemURI指示VSMR的混搭成员的URI;它识别通知应被发送到哪里。
图35的步骤3512:在接收到资源订阅请求之后,资源主机1可以将mashupMemURI添加到与其notificationContentType和eventNotificationCriteria相关联的rsc1的订阅列表。
图35的步骤3513:资源主机1 3402可以将指示SMS主机已经成功地订阅资源主机1中的rsc1的响应消息发送给SMS主机。
图35的步骤3514:在SMS主机1810订阅rsc1之后,一旦对rsc1的表示进行了任何更新,资源主机1 3402就可以将通知发送给资源订阅请求中的mashupMemURI所识别的URI。
图35的步骤3515:在接收到通知之后,SMS主机1810可以改变对应的混搭成员的表示。
图35的步骤3516:在成功地接收到通知之后,SMS主机1810可以将响应发送给资源主机1 3402以便指示通知已经被成功地接收。
要理解,执行图35所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图35所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图35所示的步骤。还要理解,图35所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图35所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
注意,可能的是,在rsc1的表示已经在步骤3515中被改变之后,rsc1不是VSMR1804的有资格的混搭成员。因此,VSMR 1804可以从其混搭成员移除rsc1,并且将订阅删除请求发送给资源主机1。在从VSMR的混搭成员移除rsc1之后,VSMR 1804可以通过进行图34中的步骤3413(b)和步骤3414来触发对于新的有资格的原始资源的搜索以作为其混搭成员。
下面公开资源主机报告原始资源的移除。一些原始资源(其是VSMR 1804的混搭成员)可以由那些原始资源的创建者或其他服务层实体从资源主机移除。然后,资源主机可以发送通知以向VSMR 1804通知对应的原始资源的移除。资源主机报告原始资源的移除的步骤可以如下所示:
图36的步骤3610:假定SMS主机1810可能已经创建了VSMR资源,并且rsc1(其是由资源主机1托管的资源)是VSMR资源的一个混搭成员;同时,SMS主机1810已经订阅了rsc1,例如,如果对rsc1进行了任何改变,则资源主机可以将通知发送给SMS主机。
图36的步骤3611:如图36所示,如果rsc1被从资源主机1移除,则资源主机1可以将通知消息发送给SMS主机1810以向VSMR 1804通知rsc1被移除。
图36的步骤3612:在成功地接收到通知消息之后,SMS主机可以发送响应消息以确认通知消息已经被接收。
图36的步骤3613:SMS主机1810可以删除VSMR 1804的与rsc1相关联的对应的混搭成员。
图36的步骤3614:SMS主机1810可以触发找到可以变为VSMR1804的混搭成员的新的资源。用于找到VSMR资源的新的混搭成员的过程可以应用图28中的步骤2816-2818。如果新的资源(其有资格变为VSMR资源的混搭成员)被找到,则可以将这些新的资源添加为VSMR资源的混搭成员,并且SMS主机1810也可以检索这些新资源的表示。
图36的步骤3615:在更新VSMR资源的混搭成员之后,如果resultGenType的值等于“当混搭成员被更新时”,则SMS主机1810可以通过对VSMR 1804的混搭成员执行VSMR 1804的混搭函数(其在应用的SMP资源的functionDescriptor属性中描述)来更新或重新计算混搭结果(例如,当对VSMR 1804的混搭成员进行任何更新时,SMS主机1810可以重新计算混搭结果);否则(例如,resultGenType的值不等于“当混搭成员被更新时”),SMS主机1810可以不重新计算混搭结果。
图36的步骤3616:在更新混搭结果之后,SMS主机1810可以将混搭结果存储在SMRS1806中,并且将它们发送给请求检索VSMR资源的内容或者订阅VSMR 1804的内容(例如,混搭结果)的SMS请求者1808。
要理解,执行图36所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图36所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图36所示的步骤。还要理解,图36所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图36所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。资源主机报告新的原始资源
新的原始资源可以被添加到资源主机,并且这些新的原始资源可以有资格作为VMSR的混搭成员。因此,资源主机可以向VMSR通知任何新的原始资源是否可能变为其混搭成员。具体地说:
图37的步骤3710:假定SMS主机1810可能已经创建了VSMR 1804,并且rsc1(其是由资源主机1 3402托管的资源)是VSMR 1804的一个混搭成员;同时,SMS主机中的VSMR 1804已经订阅了资源主机1 3402。订阅请求包括VSMR 1804的URI(例如,订阅者的URI)、notificationContentType和eventNotificationCriteria。notificationContentType参数暗示通知消息中的内容类型。eventNotificationCriteria参数指示一旦任何托管资源有资格作为VSMR的混搭成员,资源主机1 3402就可以发送通知。注意,eventNotificationCriteria参数可以包括用于确定托管资源是否有资格作为VSMR的混搭成员的信息。该信息可以与语义发现中的semanticFilter是相同的。
图37的步骤3711:假定新的原始资源(例如,rsc2)被添加到资源主机1 3402,并且rsc2有资格作为VSMR的混搭成员;
图37的步骤3712:资源主机1 3402可以将VSMR混搭成员联合请求(其被认为是通知)发送给SMS主机。VSMR混搭成员联合请求可以包括VSMR的URI、rsc2的URI、以及rsc2的对应表示。
图37的步骤3713:VMSR可以验证新的原始资源是否有资格作为混搭成员,例如,VMSR可以检查新的原始资源是否满足memberFilter(其是VSMR 1804应用的对应的SMP1802的一个属性)中描述的准则。
图37的步骤3714(a):如果rsc2没有资格作为VSMR混搭成员,则SMS主机可以发送指示rsc2无资格的响应。
图37的步骤3714(b):如果rsc2有资格作为VSMR混搭成员,则SMS主机可以将rsc2添加为VSMR资源的混搭成员,并且SMS主机可以发送指示rsc2有资格的响应。
图37的步骤3715:VSMR 1804可以通过应用图35中的步骤3511-步骤3513来订阅rsc2以得到关于rsc2的表示的变化的自动通知。
图37的步骤3716:如果resultGenType的值等于“当混搭成员被更新时”,则SMS主机可以通过对VSMR 1804的混搭成员执行VSMR 1804的混搭函数来重新计算混搭结果(例如,当对VSMR 1804的混搭成员进行任何更新时,SMS主机可以重新计算混搭结果);否则(例如,resultGenType的值不等于“当混搭成员被更新时”),SMS主机可以不重新计算混搭结果。
图37的步骤3717:在更新混搭结果之后,SMS主机可以将混搭结果存储在SMRS1806中,并且将它们发送给请求检索VSMR资源的内容或者订阅VSMR 1804的内容(例如,混搭结果)的SMS请求者1808。
要理解,执行图37所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图37所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图37所示的步骤。还要理解,图37所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图37所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在本节中,提供了用于当资源主机报告它们的原始资源上的变化时VSMR维护的整个过程。
图38的步骤3810:假定VSMR 1804已经被SMS请求者1808创建,并且rsc1和rsc2目前是VSMR 1804的混搭成员。注意,rsc1和rsc2分别可以由资源主机1 3402和资源主机23802托管。假设VSMR 1804周期性地产生混搭结果,例如,resultGenType=“周期性地”。
图38的步骤3811-3814:如前所述,为了使得资源主机2804能够报告它们的原始资源上的变化,SMS主机可以订阅VSMR 1804的原始资源。因此,如图38所示,SMS主机(其托管VSMR 1804)可以分别将VSMR订阅请求发送给资源主机1 3402和资源主机2 3802,以使得资源主机1 3402和资源主机2 3802能够向SMS主机报告任何变化(对rsc1和rsc2进行的变化)。因此,资源主机1 3402和资源主机2 3802可以对VSMR订阅请求做出响应以通知SMS主机是否已经成功地订阅了对应的原始资源。
图38的步骤3815-3816:如果rsc1的一个表示被改变,则资源主机1 3402可以将通知发送给SMS主机处的VSMR 1804的对应的混搭成员。
图38的步骤3817-3818:一旦SMS主机接收到通知,它就可以基于步骤3816中接收的通知中的内容来更新对应的混搭成员的表示。然后,SMS主机可以将指示通知已经被成功地接收到的消息发送给资源主机1 3402。注意,如果resultGenType=“当混搭成员被更新时”,则SMS主机可以开始重新产生混搭结果。
图38的步骤3819-3820:如果rsc2被从资源主机2 3802移除,则资源主机2 3802可以将通知发送给SMS主机处的VSMR 1804的对应的混搭成员。
步骤3821-3822:一旦SMS主机接收到通知,VSMR 1804就可以移除与rsc2相关联的混搭成员。然后,SMS主机可以将指示通知已经被成功地接收的消息发送给资源主机23802。
图38的步骤3823:通常,删除混搭成员将触发SMS主机发现新的有资格的原始资源以作为VSMR 1804的混搭成员;但是所述处理可以不被用于进行VSMR维护。假定资源主机33804中的rsc3在进行语义发现之后被发现是有资格的原始资源。那么,VSMR 1804将把rsc3添加为其混搭成员。
图38的步骤3824-3825:SMS主机可以通过将混搭成员资源请求发送给资源主机33804来检索rsc3的表示。资源主机3 3804可以用rsc3的表示对SMS主机做出响应。
图38的步骤3826:在SMS主机接收到响应消息之后,VSMR 1804可以更新与rsc3相关联的资源成员的表示。注意,如果resultGenType=“当混搭成员被更新时”,则SMS主机可以开始重新产生VSMR 1804的混搭结果。
图38的步骤3827-3828:为了使得资源主机3 3804能够报告rsc3上的变化,SMS主机可以通过将VSMR订阅请求发送给资源主机33804来订阅rsc3。因此,资源主机3 3804可以对VSMR订阅请求做出响应以通知SMS主机已经成功地订阅rsc3。
图38的步骤3829:如果计时器(其对从最后的时段结束起的累积过去时间进行计数)达到时段的长度(其由VSMR 1804的periodForResultGen属性识别),则VSMR 1804可以立即通过对混搭成员进行混搭函数来产生混搭结果。注意,计时器可以在每个时段结束时被重置。
图38的步骤3830:在更新混搭结果之后,SMS主机可以将混搭结果存储在SMRS1806中,并且将它们发送给请求检索VSMR资源的内容的SMS请求者1808。注意,如果一些SMS请求者1808以前订阅了VSMR 1804,则SMS主机可以立即将通知发送给那些SMS请求者1808。
要理解,执行图38所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图38所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图38所示的步骤。还要理解,图38所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图38所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
下面更详细地讨论oneM2M。本节描述一些架构配置、新的oneM2M资源和新的共同属性以及新的oneM2M过程,以便在oneM2M功能架构下支持SMS。
首先,举例说明用于在oneM2M功能架构下支持语义混搭服务的架构配置。
第二,描述资源和属性。用于操作每个新的资源的RESTful过程也被描述。新的<smp>资源被描述为对SMP 1802进行建模并且使得能够对它们进行操作(例如,创建SMP、检索SMP、更新SMP以及删除SMP)。<vsmr>资源被描述为对VSMR进行建模并且使得能够对它们进行操作(例如,创建VSMR、检索VSMR、更新VSMR以及删除VSMR)。<smrs>资源被描述为对SMRS 1806进行建模并且使得能够对它们进行操作(例如,创建SMRS、检索SMRS、更新SMRS以及删除SMRS)。parentVSMR被描述为用于使现有的oneM2M资源将它们与<vsmr>相关联的属性(例如,“共同”属性),如果它们被<vsmr>用作成员资源的话。smpID被描述为用于使oneM2M资源指示它们被用作用于<smp>下的语义混搭服务的成员资源的属性。
第三,描述用于在oneM2M功能架构下实现语义混搭服务的整个过程例子。
下面公开oneM2M架构中的SMS配置。以上章节描述了如何通过共同提供SMS的SMP1802、VSMR 1804和SMRS 1806的模块化设计来进行语义混搭。这样的SMS可以在oneM2M功能架构下被实现为新的CSF(例如,SMS CSF)。该SMS CSF可以被部署在CSE中(例如,图39中)。SMS CSF可以是SMS主机1810、VSMR主机2302、SMRS主机2304或这三个的组合(例如,SMS主机)的功能的实现。
图39示出了SMS CSF位于IN-CSE中的例子(注意,SMS CSF也可以由ASN或MN-CSE托管)。SMS CSF利用MN-CSE3和MN-CSE2 4608和ASN-CSE1中的原始资源(可能是第三方服务或其他服务层)作为创建父VSMR和计算混搭结果的混搭成员。IN-AE1和IN-AE2可以是与IN-CSE通过接口连接以利用SMS CSF来创建VSMR、触发混搭结果的计算或者访问混搭结果的SMS请求者1808。
要理解,图39所示的功能可以以存储在无线装置或其他设备(例如,服务器、网关、装置或其他计算机系统)(诸如下面描述的图51C或图51D所示的那些之一)的存储器中并且在该无线装置或其他设备的处理器上执行的软件(例如,计算机可执行指令)的形式实现。还要理解,图39所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。IN-CSE可以基于其本地资源、来自其他MN-CSE和ASN-CSE的资源、来自第三方的服务、或者甚至来自其他服务器层(诸如OIC)的服务来提供SMS。作为SMS请求者的IN-AE可以使用来自IN-CSE的SMS。MN-CSE和ASN-CSE可以是资源主机。IN-CSE既充当SMS主机,又充当资源主机。
语义混搭配置文件资源<smp>资源被描述为对语义混搭配置文件进行建模并且表示语义混搭配置文件。<smp>资源可以被调配给提供语义混搭服务的oneM2M CSE;可替代地,特殊的管理应用或CSE可以请求在oneM2M CSE处创建<smp>资源。一旦<smp>资源在oneM2M CSE(例如,SMS主机)处被调配或创建,充当SMS请求者1808的其他的oneM2M CSE或AE就可以发现和检索它。
<smp>资源可以包括表3中规定的子资源和表4中规定的属性。<smp>资源的结构也在图40中例示说明。此处设想,一些语义混搭配置文件可能无需、因此可以不使用表3和表4的某些方面,诸如inpuDescriptor。
表3.<smp>资源的子资源
表4.<smp>资源的属性
图41例示说明使用接收器4102和始发器4104来操作<smp>资源(例如,创建、检索、更新或删除<smp>资源)的示例性过程。
要理解,执行图41所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图41所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图41所示的步骤。还要理解,图41所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图41所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在图41中,在步骤4111,始发器4104在始发器处具有一些处理。这可以根据oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0中的条款10.1.1.1(以下10.1.1.1)等。在步骤4112,始发器4104可以将请求消息发送给接收器4102。请求消息可以是对于<smp>的创建消息、检索消息、更新消息或删除消息。在步骤4113,对步骤4112的消息进行处理。在步骤4114,基于步骤4113的处理。表5-表8中进一步描述了这些步骤。创建<smp>过程可以用于创建<smp>资源,如表5中所描述的那样。
表5.<smp>创建
检索<smp>过程可以用于检索<smp>资源的属性,如表6中所描述的那样。
表6.<smp>检索
如表7中所描述的更新<smp>过程可以用于更新现有的<smp>,例如,对于其inputDescriptor的更新。oneM2M-TS-0001 oneM2M Functional Architecture–V2.9.0中的条款10.1.3中描述了一般的更新过程。
表7.<smp>更新
如表8中所描述的删除<smp>过程可以用于删除现有的<smp>。oneM2M-TS-0001oneM2M Functional Architecture–V2.9.0中的条款10.1.4.1中描述了一般的删除过程。
表8.<smp>删除
虚拟语义混搭资源<vsmr>资源可以用于对虚拟语义混搭资源进行建模并且表示虚拟语义混搭资源。作为SMS请求者1808的oneM2M CSE或AE可以请求在实现SMS CSF并且充当SMS主机或VSMR主机2302的另一个oneM2M CSE处创建<vsmr>资源。每个创建的<vsmr>资源可以对应于语义混搭配置文件(例如,<smp>资源)。<vsmr>资源应如何执行混搭操作来计算混搭结果可以在对应的<smp>资源中规定。注意,<vmsr>及其对应的<smp>资源可以被放置在同一个CSE处或不同的oneM2M CSE处,并且<vsmr>的smpID属性可以允许对应的<smp>资源被找出。如果<vsmr>资源(例如,混搭结果)具有作为其子资源的<smrs>,则SMS请求者1808(例如,oneM2M CSE或AE)或者甚至SMS主机可以到<vsmr>资源来检索混搭结果。
<vsmr>资源可以包括表9中规定的子资源和表10中规定的属性。<vsmr>资源的结构也在图42中例示说明。
表9.<vsmr>资源的子资源
表10.<vsmr>资源的属性
图43例示说明操作<vsmr>资源(例如,创建、检索、更新或删除<vsmr>资源)的示例性过程。
要理解,执行图43所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图43所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图43所示的步骤。还要理解,图43所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图43所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在图43中,在步骤4311,始发器4104在始发器处具有一些处理。这可以根据oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0中的条款10.1.1.1(以下10.1.1.1)等。在步骤4312,始发器4104可以将请求消息发送给接收器4102。请求消息可以是对于<smp>的创建消息、检索消息、更新消息或删除消息。在步骤4313,对步骤4312的消息进行处理。在步骤4314,基于步骤4313的处理。表11-表15中进一步描述了这些步骤。创建<vsmr>过程可以用于创建<vsmr>资源,如表11中所描述的那样。
表11.<vsmr>创建
检索<vsmr>过程可以用于检索<vsmr>资源的属性,如表12中所描述的那样。
表12.<vsmr>检索
检索<vsmr>/mashup过程可以用于触发托管<vsmr>的CSE重新计算混搭结果并且将混搭结果返回给这个检索请求的请求者1808(例如,AE),如表13中所描述的那样。
表13.<vsmr>/mashup检索
如表14中所描述的更新<vsmr>过程可以用于更新现有的<vsmr>,例如对于其memberStoreType的更新。在oneM2M-TS-0001 oneM2M Functional Architecture–V2.9.0中的条款10.1.3中描述了一般的更新过程。
表14.<vsmr>更新
如表15中所描述的删除<vsmr>过程可以用于删除现有的<vsmr>。oneM2M-TS-0001oneM2M Functional Architecture–V2.9.0中的条款10.1.4.1中描述了一般的删除过程。
表15.<vsmr>删除
语义混搭结果资源<smrs>资源可以用于对虚拟语义混搭资源的混搭结果进行建模并且表示虚拟语义混搭资源的混搭结果。<smrs>资源可以被作为<vsmr>的子资源放置该<vsmr>的下面;可替代地,<smrs>资源可以被存储在单独的位置中(例如,不是<vsmr>的子资源),因为<vsmr>资源可以具有指向<smrs>资源的smrsID属性。<smrs>资源可以作为混搭操作执行的结果自动地产生。<smrs>资源可以被显露于SMS请求者1808,SMS请求者1808可以是oneM2M CSE或oneM2M AE。作为SMS请求者,oneM2M CSE或AE可以访问<smrs>资源以触发混搭结果的重新计算或者检索混搭结果。当<smrs>和对应的<vsmr>位于不同的地方(例如,不是子-父关系)时,VSMR主机2302(例如,<vsmr>被放置的地方)可以访问<smrs>资源来更新混搭结果;同样地,SMRS主机2304(例如,<smrs>被维护的地方)可以访问<vsmr>来触发混搭操作的执行以得到新的混搭结果。
<smrs>资源可以包括表16中规定的子资源和表17中规定的属性。<smrs>资源的结构也在图44中例示说明。
表16.<smrs>资源的子资源
表17.<smrs>资源的属性
图45例示说明操作<smrs>资源(例如,创建、检索、更新或删除<smrs>资源)的过程。
要理解,执行图45所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图45所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图45所示的步骤。还要理解,图45所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图45所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
在图45中,在步骤4511,始发器4104在始发器处具有一些处理。这可以根据oneM2M-TS-0001 oneM2M Functional Architecture-V2.9.0中的条款10.1.1.1(以下10.1.1.1)等。在步骤4512,始发器4104可以将请求消息发送给接收器4102。请求消息可以是对于<smp>的创建消息、检索消息、更新消息或删除消息。在步骤4513,对步骤4512的消息进行处理。在步骤4514,基于步骤4513的处理。表18-表22中进一步描述了这些步骤。创建<smrs>过程可以用于创建<smrs>资源,如表18中所描述的那样。
表18.<smrs>创建
检索<smrs>过程可以用于检索<smrs>资源的属性,如表19中所描述的那样。
表19.<smrs>检索
检索<smrs>/mashup过程可以用于检索<smrs>资源的虚拟子资源mashup,如表20中所描述的那样。
表20.<smrs>检索
如表21中所描述的更新<smrs>过程可以用于更新现有的<smrs>,例如,对于其mashupResultFormat的更新。oneM2M-TS-0001 oneM2M Functional Architecture–V2.9.0中的条款10.1.3中描述了一般的更新过程。
表21.<smrs>更新
如表22中所描述的删除<smrs>过程可以用于删除现有的<smrs>。oneM2M-TS-0001oneM2M Functional Architecture–V2.9.0中的条款10.1.4.1中描述了一般的删除过程。
表22.<smrs>删除
oneM2M共同属性表23列出了可以作为用于一些oneM2M资源(例如,<container>、<group>等)的共同属性添加的新的属性。
表23.用于支持SMS的oneM2M资源的共同属性
图46A-图46C(在本文中图46)例示说明用于在oneM2M功能架构中支持语义混搭的整个过程例子。它可以包括以下部分:发现和检索SMP 1802(例如,图46的步骤4611-4615),创建VSMR(例如,图46的步骤466-4612),或者检索混搭结果(例如,图46的步骤4613-4615)。在该例子中,可以做出以下假定。IN-AE 4602是SMS请求者;IN-CSE 4604充当SMS主机,并且托管<smp>资源、<vsmr>资源和<smrs>资源以提供语义混搭服务;用于混搭的<vsmr>资源的成员资源可以来自MN-CSE1 4606和MN-CSE2 4608。用于描述<smp>资源、<vsmr>资源和<smrs>资源的语义三元组可以被存储在语义图储存器(SGS)处以使得能够进行语义资源发现。用于描述MN-CSE1 4606和MN-CSE2 4608处的原始资源(例如,成员资源)的语义三元组也可以被存储在SGS处以使得能够进行语义资源发现。资源URI(例如,<smp>、<vsmr>、<smrs>和原始成员资源)已经包括在它们的语义三元组中,这些语义三元组可以被存储在SGS处,并且可以通过使用语义资源发现而被发现或滤除。
下面更详细地描述图46上所示的步骤。图46的步骤4611:IN-AE 4602将检索操作发送给IN-CSE 4604以发现可以支持特定的混搭服务(被称为“SuitableParkingService(合适的停车服务)”)的<smp>资源。该消息包括smpFilter(或者使用现有的oneM2MsemanticFilter参数),smpFilter实际上是SPARQL查询模式。下面示出smpFilter的例子。
可替代地,如果SuitableParkingService已经被定义为语义混搭本体论中的类,则Line5可以变为以下三元组。
?smp rdf:typesmp:SuitableParkingService
图46的步骤4612:IN-CSE 4604通过将步骤4611中的SPARQL查询模式发送给SGS来执行语义资源发现或过滤。
图46的步骤4612.a:IN-CSE 4604将SPARQL查询发送给SGS以发现预期的<smp>资源。SPARQL查询事实上是从步骤4611接收的SPARQL查询模式。
图46的步骤4612.b:SGS执行SPARQL查询,找到对应的<smp>资源,并且进行访问控制以检查IN-CSE 4604或IN-AE 4602是否具有发现这些<smp>资源的适当特权。[所提及的访问控制策略可以仅采用oneM2M系统中的现有的访问控制策略。]注意,如果IN-CSE 4604或IN-AE 4602未被授权发现<smp>资源的URI,则SGS可以不返回<smp>资源的URI。
图46的步骤4612.c:SGS将响应发送给IN-CSE 4604。该响应消息包括满足SPARQL查询中的条件并且被IN-CSE 4604或IN-AE4602发现的<smp>URI的列表。
图46的步骤4613:IN-CSE 4604将发现的<smp>URI返回给IN-AE 4602。
图46的步骤4614:IN-AE 4602从步骤4613中包括的<smp>URI列表拾取<smp>。然后它发送检索操作以检索该<smp>的属性和子资源。该步骤的目的是使IN-AE 4602理解该<smp>所需的输入参数的类型(例如,其inputDescriptor属性)以及通过该<smp>可以产生的混搭结果的类型(例如,其outputDescriptor属性)。
图46的步骤4615:IN-CSE 4604进行访问控制以检查IN-AE 4602是否具有检索对应的<smp>资源的适当特权。注意,如果IN-AE 4602未被授权检索<smp>资源,则IN-CSE4604可以发送适当的错误代码。
图46的步骤4616:如果IN-AE 4602被授权检索<smp>资源,则IN-CSE 4604将响应发送给IN-AE 4602。该响应消息包括<smp>的表示(或者与其子资源的表示一起)。
图46的步骤4617:基于检索的<smp>,IN-AE 4602将创建操作发送给IN-CSE 4604以创建<vsmr>资源。该消息可以包括将被创建的<vsmr>资源的表示(例如,其smpID属性)。IN-AE 4602可以设置<vsmr>的以下属性。
smpID=在步骤4613中发现的并且在步骤4614中选择的<smp>URI。
smrsStoreType=“子资源”。这意味着语义混搭结果可以被创建为该<vsmr>的子资源。
memberStoreType=“仅URI”。
resultGenType=“当VSMR被创建时”与“当SMS请求者请求时”。这意味着当<vsmr>被创建时,并且当IN-AE 4602将检索请求发送给<smrs>的虚拟子资源mashup时,IN-CSE4604可以计算语义混搭结果。
图46的步骤4618:IN-CSE 4604进行访问控制以检查IN-AE 4602是否具有创建<vsmr>资源的适当特权。注意,如果IN-AE 4602未被授权创建<vsmr>资源,则IN-CSE 4604可以将适当的错误代码发送给IN-AE 4602。
图46的步骤4619:如果IN-AE 4602被授权创建<vsmr>资源,则IN-CSE 4604根据步骤4617中给出的smpID来找出对应的<smp>资源。它根据<smp>资源的memberFilter属性来构成SPARQL查询。SPARQL查询可以被发送给SGS以发现用于将在步骤4622中创建的<vsmr>的成员资源。
图46的步骤4619.a:将步骤4619中构成的SPARQL查询从IN-CSE 4604发送给SGS。
图46的步骤4619.b:SGS执行SPARQL查询,找到对应的成员资源,并且进行访问控制以检查IN-CSE 4604或IN-AE 4602是否具有发现这些成员资源的适当特权。注意,如果IN-CSE 4604或IN-AE 4602未被授权发现成员资源的URI,则SGS可以不返回该URI。
图46的步骤4619.c:SGS将响应发送给IN-CSE 4604,该响应包括发现的成员资源(例如,它们的URI)的列表。
图46的步骤4620:IN-CSE 4604从步骤4619.c中的返回的列表选择资源作为用于将在步骤4622中创建的<vsmr>的成员资源。
图46的步骤4621:因为步骤4617中给出resultGenType=“当VSMR被创建时”,所以IN-CSE 4604可以检索每个成员资源的内容值或表示。在该例子中,假定存在分别由MN-CSE1 4604和MN-CSE2 4608托管的两个成员资源rsc1和rsc2。
图46的步骤4621.a:IN-CSE 4604将检索操作发送给MN-CSE1 4606以检索第一成员资源rsc1。
图46的步骤4621.b:MN-CSE1 4604进行访问控制以检查IN-CSE 4604或IN-AE4602是否具有检索成员资源(例如,rsc1)的适当特权。注意,如果IN-CSE 4604或IN-AE4602未被授权检索成员资源,则MN-CSE1 4606可以发送适当的错误代码。
图46的步骤4621.c:如果IN-CSE 4604或IN-AE 4602未被授权检索成员资源,则将第一成员资源rsc1的内容值或表示返回给IN-CSE 4604。
图46的步骤4621.d:IN-CSE 4604将检索操作发送给MN-CSE2 4608以检索第二成员资源rsc2。
图46的步骤4621.e:MN-CSE2 4608进行访问控制以检查IN-CSE 4604或IN-AE4602是否具有检索成员资源(例如,rsc2)的适当特权。注意,如果IN-CSE 4604或IN-AE4602未被授权检索成员资源,则MN-CSE2 4608可以发送适当的错误代码。
图46的步骤4621.f:如果IN-CSE 4604或IN-AE 4602未被授权检索成员资源,则将第二成员资源rsc2的内容值或表示返回给IN-CSE 4604。
图46的步骤4622:IN-CSE 4604基于步骤4617中给出的属性值、步骤4620中确定的成员资源来创建<vsmr>资源。因为步骤4617中给出smrsStoreType=“子资源”,所以IN-CSE4604还可以创建语义混搭结果资源<smrs>并且将语义混搭结果资源<smrs>放置为创建的<vsmr>的子资源。
图46的步骤4623:因为resultGenType=“当VSMR被创建时”,所以IN-CSE 4604执行对应的<smp>资源的functionDescriptor属性中规定的混搭操作。可以对每个成员资源的内容值(在步骤4621.c和步骤4621.f中检索的)和输入参数(在步骤4617中包括的)执行混搭操作。然后IN-CSE 4604将计算的混搭结果存储在<vsmr>/<smrs>资源的mashupResult属性中。
图46的步骤4624:IN-CSE 4604将响应发送给IN-AE 4602。该响应消息可以包括创建的<vsmr>的URI,并且还可以包括用于检索语义混搭结果(例如,<vsmr>/<smrs>)的URI。
图46的步骤4625:IN-AE 4602将检索操作发送给IN-CSE 4604以检索语义混搭结果。该请求的作为目标的URI是<vsmr>/<smrs>,而用于检索<smrs>资源的mashupResult属性,因为语义混搭结果已经在步骤4623中被计算。
可替代地,因为在步骤4617中也已经指示resultGenType=“当SMS请求者请求时”,所以IN-AE 4602可以将检索操作发送给<vsmr>/<smrs>/mashup以触发IN-CSE 4604重新计算语义混搭结果。在这种情况下,可以使用以下步骤4626。
图46的步骤4626:如果步骤4625中的目标URI是<vsmr>/<smrs>/mashup,则可以使用该步骤。在接收到检索操作之后,IN-CSE 4604可以首先进行访问控制以检查IN-AE 4602是否具有检索<vsmr>/<smrs>/mashup资源的适当特权。如果IN-AE 4602被授权检索<vsmr>/<smrs>/mashup资源,则IN-CSE 4604执行步骤4621和步骤4623以重新计算混搭结果;否则,IN-CSE 4604发送适当的错误代码。
图46的步骤4627:IN-CSE 4604将语义混搭结果返回给IN-AE 4602。
要理解,执行图46所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图46所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图46所示的步骤。还要理解,图46所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图46所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
可替代地,oneM2M CSE可以利用现有的oneM2M<group>资源来实现SMS,而不是创建新的<vsmr>资源。它可以如下工作。<group>资源可以具有如表10中所定义的<vsmr>资源的大部分属性(例如,smpID、smpInputPara、resultGenType等)。该<group>资源基本上提供特定的SMS。托管<group>资源的CSE实际上是SMS主机。另外,<group>可以具有作为其子资源的<smrs>,或者仅具有存储混搭结果的新的属性“smrs”。<group>资源的每个成员被认为是混搭成员(例如,原始资源)。结果,<group>资源的memberID属性可以用于包括语义混搭处理所涉及的或所需的混搭成员的列表。
<group>资源可以具有新的虚拟资源“mashup”。当另一个CSE或AE想要利用<group>资源提供的SMS时,它发送以该新的虚拟资源“mashup”(例如,/<group>/mashup)为目标的检索请求。每当接收到以“mashup”虚拟资源为目标的检索请求时,托管<group>资源的CSE就可以使用新的smpID属性所表示的<smp>资源中的混搭配置文件信息、smpInputPara属性中包括的输入参数、以及每个混搭成员的表示(其可以使用该<group>资源的“fanOutPoint”虚拟资源检索)来计算混搭结果。然后,托管<group>资源的CSE将响应发送给请求的CSE或AE;响应消息可以包括计算的混搭结果。如果<group>资源具有作为其子资源的<smrs>,则计算的混搭结果可以被存储在新的属性“smrs”中或<smrs>子资源中。
另外,托管<group>资源的CSE可以周期性地检索每个混搭成员(包括在<group>资源的memberID属性中)的表示,并且基于混搭成员的新的表示来重新计算混搭结果。其他的CSE或AE可以订阅“mashup”虚拟资源。然后,托管<group>资源的CSE可以将自动通知(其包括新的混搭结果)发送给这些其他的CSE或AE,这些其他的CSE或AE实际上可以是混搭结果的订阅者。
此外,托管<group>资源的CSE可以订阅每个混搭成员(包括在<group>资源的memberID属性中)。当对混搭成员存在改变时,CSE可以接收自动通知。然后,如果现有的混搭成员变为不可用,则CSE可能需要找到另一个混搭成员,或者如果一个或多个混搭成员的表示已经被改变,则CSE可能需要重新计算混搭结果。其他的CSE或AE可以订阅“mashup”虚拟资源。然后,当产生新的混搭结果时,托管<group>资源的CSE可以将自动通知(其包括新的混搭结果)发送给这些其他的CSE或AE。
VSMR可以订阅可以是VSMR的混搭成员的原始资源。VSMR发送的订阅请求可以包括原始资源的URI、mashupMemURI、notificationContentType和eventNotificationCriteria,其中,mashupMemURI参数指示通知应被递送到哪里,notificationContentType暗示通知的内容类型,eventNotificationCriteria参数指示用于使资源主机发送通知的触发事件。eventNotificationCriteria参数的条件可以类似于oneM2M规范[oneM2M-TS-0001 oneM2M Functional Architecture–V2.9.0]中提供的eventNotificationCriteria参数的条件。具体地说,eventNotificationCriteria参数中的eventType条件标签指示可以触发资源主机发送通知的事件(例如,其可以在订阅资源时发生)的类型。
eventType条件的示例性值(其可以被应用于订阅原始资源的VSMR)是:A)对于订阅的原始资源的属性的更新;注意VSMR还可以使用attribute条件标签来规定订阅的原始资源的哪些属性可以触发资源主机发送通知;B)订阅的原始资源的删除;C)订阅的原始资源的直接孩子的创建;或者D)订阅的原始资源的直接孩子的删除。
参照订阅的原始资源的直接孩子的创建,注意这里我们引入新的条件标签(例如,creationFilter)来规定创建订阅的原始资源的哪种种类的孩子可以触发资源主机发送通知。该条件标签可以用于使资源主机检查新的原始资源是否有资格作为VSMR的混搭成员(如果新的原始资源有资格,则资源主机应发送通知以向VSMR通知新的有资格的混搭成员;否则,资源主机不应发送通知)。creationFilter的值可以是程序代码集。
下面公开开放互连联盟(OIC)例子。OIC架构可以包括OIC服务器和OIC客户端。被认为是资源提供者的OIC服务器托管OIC资源,而OIC客户端是访问并且操纵OIC服务器处托管的资源的资源消费者。可以基于请求或响应模型来操纵资源。基本上,OIC客户端发送以OIC服务器处的资源为目标的RESTful请求(例如,创建、检索、更新、删除和通知);然后OIC服务器可以对RESTful请求进行处理,并且将对应的响应发送到OIC客户端。OIC规范已经定义了不同类型的资源;每种类型的资源可以具有多个性质;每个性质可以是只读的或读-写的,并且可以通过不同的资源接口访问。而且,一些共同的性质(例如,资源类型(“rt”)、接口(“if”)、名称(“n”)和资源身份(“id”))也已经被详述。结果,从OIC服务器到OIC客户端的响应消息的内容可以取决于多个因素,诸如:1)正从OIC客户端发送到OIC服务器的RESTful请求的类型;2)正被RESTful操作作为目标的资源的类型;或者3)RESTful操作的查询参数中包括的接口的类型。
存在在OIC架构中实现SMS的多个选项。因为OIC服务器可以托管资源并且从OIC客户端接收请求,所以OIC服务器可以被认为是资源主机或SMS主机;换句话说,SMS主机和资源主机的功能可以在OIC服务器内实现。相反,OIC客户端可以实现SMS请求者1808的功能。关于方法1或方法2示出和公开的以下示例性方法在OIC架构中实现SMS。
在方法1中,OIC服务器1 4702可以基于其用作混搭成员的本地资源来提供SMS。如图47(a)所示,OIC服务器1 4702充当SMS主机和资源主机。作为资源主机,其OIC资源可以被用作混搭成员;作为SMS主机,它实现SMS功能和过程。该SMS可以利用现有的OIC集合资源来实现VSMR功能。OIC服务器1 4702基于混搭成员(在这种情况下,可以来自本地OIC资源)的表示来计算混搭结果。OIC客户端2和OIC客户端3可以是使用OIC CRUDN操作访问OIC服务器1 4702处的SMS的两个SMS请求者1808。
在方法2中,OIC服务器1 4702可以提供SMS,但是混搭成员可以来自其他的OIC服务器。如图47(b)所示,OIC服务器1 4702仍充当SMS主机,但是混搭成员可以不是来自其本地资源;相反,来自OIC服务器2 4708和OIC服务器3 4710的OIC资源可以被用作混搭成员。为了访问这些混搭成员(例如,OIC服务器2 4708或OIC服务器3 4710处的原始资源),OIC服务器1 4702利用OIC客户端1来与OIC服务器2 4708和OIC服务器3 4710进行交互;这里我们假定OIC服务器1 4702和OIC客户端1驻留在同一个物理装置处,并且在OIC服务器1 4702和OIC客户端1之间存在内部接口。类似于图47(a),OIC服务器1 4702仍使用其本地集合资源来实现VSMR功能。与图47(a)的不同之处在于,这种情况下的混搭成员可能不是来自本地资源。为了计算混搭结果,OIC服务器1 4702可以从OIC服务器2 4708和OIC服务器3 4710(经由OIC客户端1)检索混搭成员的表示。计算的混搭结果可以在OIC服务器1 4702本地维护,OIC客户端2和OIC客户端3(这二者可以是SMS请求者)可以使用OIC CRUDN操作来访问OIC服务器1 4702。
要理解,执行图47A-B所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图47A-B所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图47A-B所示的步骤。还要理解,图47A-B所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图47A-B所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
方法1——OIC服务器提供SMS,其本地资源是混搭成员。为了支持SMS,可以参照图48来使用以下方面。可以存在新的资源性质和新的资源接口(表24和表25)。语义混搭配置文件(“smp”)可以被作为集合资源的新性质用来描述应如何对集合资源的链接执行混搭。在这种情况下,集合资源的链接可以被认为是用于混搭操作的成员资源。语义输入参数(“sip”)可以被作为集合资源的新性质用来包括如“smp”性质中所描述的混搭可能需要的输入参数。语义混搭结果(“smrs”)可以被作为集合资源的新性质用来维护混搭资源。新的资源接口(例如,mashup1和mashup2)可以被用于集合资源。mashup1接口可以用于检索集合资源的“smrs”性质,而mashup2接口可以用于触发混搭操作以重新计算混搭结果、继而获得最新的混搭结果。
图48例示说明示例性语义混搭过程。对于图48的步骤4811-4813,OIC客户端(或OIC服务器本身)可以在OIC服务器处创建集合资源(例如,/oic/collectionA)。集合资源可以包括几个链接;每个链接是语义混搭成员。集合资源可以具有新的性质:“smp”、“sip”或“smrs”。关于SMP 1802的配置文件信息(尤其是语义混搭函数描述和混搭结果描述)可以包括在“smp”性质中。“smp”性质的值可以在集合资源被创建时设置。“sip”性质可以给出每个输入参数的名称和值。“sip”性质的值可以在集合资源被创建时设置。“smrs”性质可以用于一旦OIC服务器根据“smp”性质中的配置文件信息对链接(例如,混搭成员)计算了混搭结果,就存储混搭结果。
对于图48的步骤4815-4816,OIC客户端4802可以使用mashup1接口来直接检索混搭结果。例如,它可以将以下请求发送给OIC服务器;一旦接收到该请求,OIC服务器4702就可以将包括“smrs”性质的值的响应消息发送给OIC客户端4802。(发送给OIC服务器的请求消息)GET/oic/collectionA?oic.if.mashup1
图48的步骤4816-4818,可替代地,OIC客户端4802可以使用mashup2接口来触发OIC服务器4702重新计算混搭结果。例如,它可以将以下请求发送给OIC服务器4702:(发送给OIC服务器的请求消息)GET/oic/collectionA?oic.if.mashup2。该请求消息可以包括“sip”性质的值。一旦接收到该请求,OIC服务器4702就可以对集合资源的链接(例如,将它们视为混搭成员资源)重新计算混搭结果,将新的混搭结果存储在“smrs”性质中,并且将包括“smrs”性质的更新的值的响应消息发送给OIC客户端4802。
表24.在OIC架构中支持SMS的新资源性质
表25.在OIC架构中支持SMS的新资源接口
要理解,执行图48所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图48所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图48所示的步骤。还要理解,图48所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图48所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
可替代地,可以引入新的OIC资源(被称为VSMR),而不是利用集合资源。新的OICVSMR资源具有如表24中所定义的“smp”、“sip”和“smrs”性质,并且支持如表24中所描述的mashup1和mashup2这两个接口。另外,类似于集合资源,VSMR资源具有作为混搭成员的一组链接。混搭结果基于“smp”性质中包括的混搭配置文件信息(例如,混搭函数)、“sip”性质中包括的输入参数、以及每个混搭成员的值(例如,VSMR中包括的所有链接)被计算。混搭结果经由mashup1接口被显露于OIC客户端;换句话说,OIC客户端可以使用mashup1接口来到VSMR资源以检索混搭结果(例如,GET/oic/vsmrExample?mashup1,其中,/oic/vsmrExample是VSMR资源例子)。如果OIC客户端想要触发OIC服务器重新计算混搭结果,则它可以使用mashup2接口,并且可以将这样的消息发送给OIC服务器:GET/oic/vsmrExample?mashup2,其中,/oic/vsmrExample是VSMR资源例子。可以应用图48的类似过程。
方法2——OIC服务器提供SMS,但是混搭成员来自其他OIC服务器——如图49所示,OIC服务器1 4702通过托管集合资源(例如,/oic/collectionA)来提供SMS。类似于上面的方法1,/oic/collectionA具有新的性质(例如,“smp”、“sip”和“smrs”),并且支持新的接口(例如,mashup1和mashup2)。然而,不同于方法1,/oic/collectionA资源的链接不是被托管在OIC服务器1 4702处,而是分别被托管在OIC服务器2 4708和OIC服务器3 4710处。当OIC服务器1 4702计算混搭结果时,它可以检索/oic/collectionA的每个链接的表示;换句话说,混搭成员可以不被存储在OIC服务器1 4702处,而是来自于其他OIC服务器(例如,OIC服务器2 4708和OIC服务器3 4710)。另外,假定OIC客户端1 4802和OIC服务器1 4702可以在物理上共处一处,并且属于同一个M2M装置或网关。下面描述图49的过程。
图49的步骤4911-4913类似于图48上的步骤4811-4813。在图49的步骤4912中,假定OIC服务器1 4702已经知道将被创建的/oic/collectionA的两个链接(即,OIC服务器24708上的/oic/rsc2资源和OIC服务器3 4710上的/oic/rsc3资源)。
OIC客户端2 4704使用图49的步骤4914-4918来使用新的mashup2接口从OIC服务器1 4702检索混搭结果。
图49的步骤4914与图48的步骤6是相同的。经由内部接口,OIC服务器1 4702与OIC客户端1对话,并且利用它来检索/oic/collectionA的那两个链接。
图49的步骤4915a和4915b:OIC客户端1分别将检索发送给OIC服务器2 4708和OIC服务器3 4710,以从OIC服务器2 4708检索/oic/rsc2并且从OIC服务器2 4708检索/oic/rsc3。
图49的步骤4916a和4916b:可以将/oic/rsc2和/oic/rsc3的表示送回到OIC客户端1,OIC客户端1可以将它们转发给OIC服务器1 4702。
图49的步骤4917:OIC服务器1 4702可以基于其“smp”和“sip”性质值以及来自步骤6a/6b的响应(例如,混搭成员的表示)来计算混搭结果。计算的混搭结果可以被存储在性质“smrs”中。
图49的步骤4918:OIC服务器1 4702可以将响应发送给OIC客户端2。该响应消息可以包括“smrs”性质的值(例如,步骤4917中计算的混搭结果)。
图49的步骤4919-4920:OIC客户端2可以使用新的mashup1接口来从OIC服务器14702检索混搭结果。它们与图48上的步骤4814-4815可以是相同的。
要理解,执行图49所示的步骤的实体可以是可以以存储在被配置用于无线通信或网络通信的设备或计算机系统(诸如图51C或图51D所示的那些)的存储器中并且在该设备或计算机系统的处理器上执行的软件(例如,计算机可执行指令)的形式实现的逻辑实体。也就是说,图49所示的(一种或多种)方法可以以存储在设备(诸如图51C或图51D所示的设备或计算机系统)的存储器中的软件(例如,计算机可执行指令)的形式实现,所述计算机可执行指令在被该设备的处理器执行时执行图49所示的步骤。还要理解,图49所示的功能可以被实现为一组虚拟化的网络功能。所述网络功能可能不一定直接进行通信,相反,它们可以经由转发或路由功能来进行通信。还要理解,图49所示的任何发送步骤和接收步骤可以由所述设备的通信电路在所述设备的处理器和它执行的计算机可执行指令(例如,软件)的控制下执行。
诸如图形用户界面(GUI)的界面可以用于辅助用户控制或配置与语义混搭相关的功能。图50是例示说明示例性界面5002的示图,界面5002允许用户显示或配置语义混搭配置文件(例如,<smp>资源)、虚拟语义混搭资源(例如,<vsmr>资源)或原始资源之间的关系。每个语义混搭配置文件的每个资源结构可以被显示或配置。使用相同的语义混搭配置文件的虚拟语义混搭资源可以被显示或配置。例如,示出了语义混搭配置文件1可以被虚拟语义混搭资源11和虚拟语义混搭资源12使用。
继续参照图50,语义混搭配置文件2可以被三个虚拟语义混搭资源(例如,虚拟语义混搭资源21、虚拟语义混搭资源22和虚拟语义混搭资源23)使用。每个虚拟语义混搭资源的成员资源可以被显示或配置。例如,虚拟语义混搭资源12具有两个成员资源(例如,原始资源12-1和原始资源12-2)。通过该界面,可以从虚拟语义混搭资源移除成员资源,或者将新的成员资源添加到虚拟语义混搭资源。要理解,可以使用显示器(诸如下面描述的图51C-51D所示的那些)来生成界面5002。
图51A例示说明示例的机器对机器(M2M)、物联网(IoT)或万维物联网(WoT)通信系统10的示例性示图,在通信系统10中,可以实现与在IoT中启用语义混搭相关联的一个或多个公开的构思(例如,图17-图50和附随的讨论)。一般来说,M2M技术为IoT/WoT提供构建块,任何M2M装置、M2M网关或M2M服务平台都可以是IoT/WoT以及IoT/WoT服务层等的组件。通信系统10可以用于实现所公开的例子的功能,并且可以包括功能和逻辑实体,诸如SMS架构1800、SMP 1802、VSMR 1804、SMRS 1806、请求者1808、SMS主机1810、原始资源、混搭函数2002、高级SMS架构2200、VSMR主机2302、SMRS主机2304、2402、资源主机2804、3402、语义图储存器2802、接收器4102、始发器4104、MN-SCE 4606、4608、IN-CSE 4604、IN-AE 4602、OIC服务器4702、4708、4710、OIC客户端4704、4706、4802、传感器1502、1504、以及创建GUI(诸如GUI 5002)的逻辑实体。
如图51A所示,M2M/IoT/WoT通信系统10包括通信网络12。通信网络12可以是固定网络(例如,以太网、光纤、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或异构网的网络。例如,通信网络12可以由向多个用户提供内容(诸如语音、数据、视频、讯息、广播等)的多个接入网络组成。例如,通信网络12可以采用一种或多种信道接入方法,诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。此外,通信网络12可以包括其他网络,诸如举例来说核心网络、互联网、传感器网络、工业控制网络、个域网、融合个人网络、卫星网络、家庭网络或企业网络。
如图51A所示,M2M/IoT/WoT通信系统10可以包括基础设施域和场域。基础设施域是指端对端M2M部署的网络侧,场域是指通常在M2M网关后面的区域网络。场域包括M2M网关14和终端装置18。可以意识到,任何数量的M2M网关装置14和M2M终端装置18可以根据期望包括在M2M/IoT/WoT通信系统10中。M2M网关装置14和M2M终端装置18中的每个被配置为经由通信网络12或直接无线电链路发送和接收信号。M2M网关装置14允许无线M2M装置(例如,蜂窝的和非蜂窝的)以及固定网络M2M装置(例如,PLC)通过运营商网络(诸如通信网络12或直接无线电链路)进行通信。例如,M2M装置18可以经由通信网络12或直接无线电链路收集数据并且将数据发送到M2M应用20或M2M装置18。M2M装置18还可以从M2M应用20或M2M装置18接收数据。此外,如下所述,数据和信号可以经由M2M服务层22被发送给M2M应用20并且从M2M应用20接收。M2M装置18和网关14可以经由各种网络(包括例如蜂窝、WLAN、WPAN(例如,ZigBee、6LoWPA、蓝牙)、直接无线电链路和导线)进行通信。
参照图51B,场域中的例示说明的M2M服务层22为M2M应用20(例如,应用1721或应用2 1722)、M2M网关装置14、M2M终端装置18和通信网络12提供服务。通信网络12可以用于实现所公开的例子的功能,并且可以包括功能和逻辑实体,诸如基本SMS架构1800、SMP1802、VSMR 1804、SMRS 1806、请求者1808、SMS主机1810、原始资源、混搭函数2002、高级SMS架构2200、VSMR主机2302、SMRS主机2304、2402、资源主机2804、3402、语义图储存器2802、接收器4102、始发器4104、MN-CSE 4606、4608、IN-CSE 4604、IN-AE 4602、OIC服务器4702、4708、4710、OIC客户端4704、4706、4802、传感器1502、1504、以及创建GUI(诸如GUI 5002)的逻辑实体。M2M服务层22可以根据期望与任何数量的M2M应用、M2M网关装置14、M2M终端装置18和通信网络12进行通信。M2M服务层22可以由一个或多个服务器、计算机等实现。M2M服务层22提供适用于M2M终端装置18、M2M网关装置14和M2M应用20的服务能力。M2M服务层22的功能可以以各种方式实现,例如被实现为web服务器、在蜂窝核心网络中实现、在云中实现、等等。
类似于例示说明的M2M服务层22,在基础设施域中存在M2M服务层22’。M2M服务层22’为基础设施域中的M2M应用20’和底层通信网络12’提供服务。M2M服务层22’还为场域中的M2M网关装置14和M2M终端装置18提供服务。可以理解M2M服务层22’可以与任何数量的M2M应用、M2M网关装置和M2M终端装置进行通信。M2M服务层22’可以通过不同的服务提供商与服务层交互。M2M服务层22’可以由一个或多个服务器、计算机、虚拟机(例如,云/计算机/存储群等)等实现。
还参照图51B,M2M服务层22和22’提供不同的应用和垂直面可以利用的核心的一组服务递送能力。这些服务能力使得M2M应用20和20’能够与装置进行交互,并且执行诸如数据收集、数据分析、装置管理、安全性、记账、服务/装置发现等的功能。本质上,这些服务能力使应用没有实现这些功能的负担,从而使应用部署简化并且降低成本和缩短进入市场的时间。服务层22和22’还使得M2M应用20和20’能够通过与服务层22和22’提供的服务连接的各种网络12和12’进行通信。
在一些例子中,如本文中所公开的,M2M应用20和20’可以包括使用关于在IoT中启用语义混搭的方法进行通信的希望的应用。M2M应用20和20’可以包括各种行业中的应用,诸如,但不限于,运输、健康和保健、联网家庭、能量管理、资产跟踪以及安全和监督。如上所述,跨系统的装置、网关和其他服务器运行的M2M服务层支持诸如举例来说数据收集、装置管理、安全、记账、位置跟踪/地理防护、装置/服务发现以及老式系统整合的功能,并且将这些功能作为服务提供给M2M应用20和20’。
本申请的在IoT中启用语义混搭可以被实现为服务层的一部分。服务层是通过一组应用编程接口(API)和底层联网接口支持增值服务能力的中间件层。M2M实体(例如,M2M功能实体,诸如装置、网关或在硬件上实现的服务/平台)可以提供应用或服务。ETSI M2M和oneM2M这二者使用可以包括本申请的在IoT中启用语义混搭的服务层。oneM2M服务层支持一组公共服务功能(CSF)(例如,服务能力)。一组一种或多种特定类型的CSF的实例化被称为公共服务实体(CSE),CSE可以被托管在不同类型的网络节点(例如,基础设施节点、中间节点、应用特定节点)上。此外,本申请的在IoT中启用语义混搭可以被实现为使用面向服务的架构(SOA)或面向资源的架构(ROA)的M2M网络的一部分以访问诸如本申请的在IoT中启用语义混搭的服务。
如本文中所公开的,服务层可以是网络服务架构内的功能层。服务层通常位于应用协议层(诸如HTTP、CoAP或MQTT)之上,并且向客户端应用提供增值服务。服务层还在较低的资源层(诸如举例来说控制层和传输/接入层)提供与核心网络的接口。服务层支持多种类别的(服务)能力或功能,包括服务定义、服务运行时间启用、策略管理、接入控制和服务聚类。最近,几个工业标准体(例如,oneM2M)一直在开发M2M服务层以解决与M2M类型的装置和应用到诸如互联网/Web、蜂窝网络、企业网络和家庭网络的部署中的整合相关联的挑战。M2M服务层可以为应用和各种装置提供对于可以被称为CSE或SCL的服务层支持的一批或一组上述能力或功能的接入能力。几个例子包括,但不限于,各种应用通常可使用的安全、收费、数据管理、装置管理、发现、调配和连接管理。这些能力或功能经由使用M2M服务层定义的消息格式、资源结构和资源表示而使得可供这样的各种应用使用。CSE或SCL是可以用硬件或软件实现的功能实体,该功能实体提供显露于各种应用或装置的(服务)能力或功能(例如,这样的功能实体之间的功能接口)以便使它们使用这样的能力或功能。
在一个例子中,如图51B所示,逻辑实体,诸如基本SMS架构1800、SMP 1802、VSMR1804、SMRS 1806、请求者1808、SMS主机1810、原始资源、混搭函数2002、高级SMS架构2200、VSMR主机2302、SMRS主机2304、2402、资源主机2804、3402、语义图储存器2802、接收器4102、始发器4104、MN-CSE 4606、4608、IN-CSE 4604、IN-AE 4602、OIC服务器4702、4708、4710、OIC客户端4704、4706、4802、传感器1502、1504、以及创建GUI(诸如GUI 5002)的逻辑实体,可以被托管在M2M节点(诸如M2M服务器、M2M网关或M2M装置)托管的M2M服务层实例内。例如,逻辑实体,诸如基本SMS架构1800、SMP 1802、VSMR 1804、SMRS 1806、请求者1808、SMS主机1810、原始资源、混搭函数2002、高级SMS架构2200、VSMR主机2302、SMRS主机2304、2402、资源主机2804、3402、语义图储存器2802、接收器4102、始发器4104、MN-CSE 4606、4608、IN-CSE 4604、IN-AE 4602、OIC服务器4702、4708、4710、OIC客户端4704、4706、4802、传感器1502、1504、以及创建GUI(诸如GUI 5002)的逻辑实体,可以包括M2M服务层实例内的或者作为现有的服务能力内的子功能的单个的服务能力。
图51C例示说明示例M2M装置30的示例性系统图,M2M装置30诸如举例来说M2M终端装置18(其可以包括OIC客户端2 4704或请求者1808)或M2M网关装置14(其可以包括图26、图28、图41、图49等的一个或多个组件)。如图51C所示,M2M装置30可以包括处理器32、收发器34、发送/接收元件36、扬声器/麦克风38、键区40、显示器/触控板42、不可移动的存储器44、可移动的存储器46、电源48、全球定位系统(GPS)芯片组50和其他外设52。可以意识到,在与所公开的主题保持一致的同时,M2M装置30可以包括前述元件的任何子组合。M2M装置30(例如,VSMR主机2302、SMRS主机2304、2402、资源主机2804、3402、语义图储存器2802、接收器4102、始发器4104、MN-CSE 4606、4608、IN-CSE 4604、IN-AE 4602、OIC服务器4702、4708或其他装置)可以是执行所公开的用于在IoT中启用语义混搭的系统和方法的示例性实现。
处理器32可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)、状态机等。处理器32可以执行信号译码、数据处理、功率控制、输入/输出处理、和/或使得M2M装置30能够在无线环境中操作的任何其他的功能。处理器32可以耦合到收发器34,收发器34可以耦合到发送/接收元件36。虽然图51C将处理器32和收发器34描绘为单独的组件,但是将意识到,处理器32和收发器34可以一起集成在电子封装件或芯片中。处理器32可以执行应用层程序(例如,浏览器)和/或无线电接入层(RAN)程序或通信。处理器32可以执行诸如举例来说接入层和/或应用层处的安全操作,诸如认证、安全密钥协议、或密码操作。
发送/接收元件36可以被配置为将信号发送到M2M服务平台22或者从M2M服务平台22接收信号。例如,发送/接收元件36可以是被配置为发送或接收RF信号的天线。发送/接收元件36可以支持各种网络和空口,诸如WLAN、WPAN、蜂窝等。在实施例中,发送/接收元件36可以是被配置为发送或接收例如IR、UV或可见光信号的发射器/检测器。在又一个实施例中,发送/接收元件36可以被配置为发送和接收RF信号和光信号这二者。可以意识到,发送/接收元件36可以被配置为发送和/或接收无线信号或有线信号的任何组合。
另外,尽管发送/接收元件36在图51C中被描绘为单个元件,但是M2M装置30可以包括任何数量的发送/接收元件36。更具体地说,M2M装置30可以采用MIMO技术。因此,在实施例中,M2M装置30可以包括用于发送和接收无线信号的两个或更多个发送/接收元件36(例如,多个天线)。
收发器34可以被配置为对发送/接收元件36将发送的信号进行调制并且对发送/接收元件36接收的信号进行解调。如上面所指出的,M2M装置30可以具有多节点能力。因此,收发器34可以包括用于使得M2M装置30能够经由多种RAT(诸如举例来说UTRA和IEEE802.11)进行通信的多个收发器。
处理器32可以从任何类型的合适的存储器(比如不可移动的存储器44和/或可移动的存储器46)访问信息并且将数据存储在该存储器中。不可移动的存储器44可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或任何其他类型的存储器存储装置。可移动的存储器46可以包括用户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其他例子中,处理器32可以从不是物理上位于M2M装置30上(诸如服务器或家庭计算机上)的存储器访问信息并且将数据存储在该存储器中。处理器32可以被配置为响应于在本文中描述的例子中的一些中在IoT中启用语义混搭是成功、还是不成功(例如,语义发现、语义混搭、检索<smrs>等)来控制显示器或指示器42上的照明图案、图像或颜色,或者以其他方式指示在IoT和相关联的组件中启用语义混搭的状态。控制显示器或指示器42上的照明图案、图像或颜色可以反映附图(例如,图26、图28、图41、图49等)例示说明的或其中所讨论的方法流程或组件中的任何一个的状态。本文中公开了在IoT中启用语义混搭的消息和过程(例如,方法)。所述消息和过程可以扩展到提供用于使用户经由输入源(例如,扬声器/麦克风38、键区40或显示器/触控板42)请求在IoT中启用语义混搭的接口/API。在另外的例子中,除了可以显示在显示器42上的东西之外,可以存在语义混搭方法的请求、配置或查询。
处理器32可以从电源48接收功率,并且可以被配置为将功率分布给M2M装置30中的其他组件和/或控制给予M2M装置30中的其他组件的功率。电源48可以是用于给M2M装置30供电的任何合适的装置。例如,电源48可以包括一个或多个干电池蓄电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion)等)、太阳能电池、燃料电池等。
处理器32还可以耦合到GPS芯片组50,GPS芯片组50被配置为提供关于M2M装置30的当前位置的位置信息(例如,经度和维度)。可以意识到,在与本文中所公开的信息一致的同时,M2M装置30可以通过任何合适的位置确定方法来获取位置信息。
处理器32可以进一步与其他外设52耦合,所述其他外设52可以包括提供附加的特征、功能和/或有线或无线连接的一个或多个软件和/或硬件模块。例如,外设52可以包括各种传感器,诸如加速计、生物计量(例如,指纹)传感器、电子罗盘、卫星收发器、传感器、数字照相机(用于照片或视频)、通用串行总线(USB)端口或其他互连接口、振动装置、电视收发器、免提耳机、模块、频率调制(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器等。
发送/接收元件36可以包含在其他设备或装置中,诸如传感器、消费者电子产品、可穿戴装置(诸如智能手表或智能服装)、医疗或电子健康装置、机器人、工业设备、无人机、交通工具(诸如汽车、卡车、火车或飞机)。发送/接收元件36可以经由一个或多个互连接口(诸如可以包括外设52之一的互连接口)连接到这样的设备或装置的其他组件、模块或系统。
图51D例示说明示例性计算系统90的示例性框图,在计算机系统90上,例如,可以实现图51A和图51B的M2M服务平台22。计算系统90(例如,M2M终端装置18或M2M网关装置14)可以包括计算机或服务器,并且可以主要通过计算机可读指令、通过这样的指令被存储或访问的任何手段来控制。这样的计算机可读指令可以在中央处理单元(CPU)91内被执行以使计算系统90做工作。在许多已知的工作站、服务器和个人计算机中,中央处理单元91由被称为微处理器的单芯片CPU实现。在其他机器中,中央处理单元91可以包括多个处理器。协处理器81是不同于主CPU 91的可选的处理器,该处理器执行附加的功能或辅助CPU 91。CPU91和/或协处理器81可以接收、产生和处理与所公开的用于在IoT中启用语义混搭(诸如计算混搭结果)的系统和方法相关的数据。
在操作中,CPU 91提取、解码和执行指令,并且经由计算机的主要数据传送路径、系统总线80与其他资源来回传送信息。这样的系统总线连接计算系统90中的组件,并且定义用于数据交换的介质。系统总线80通常包括用于发送数据的数据线、用于发送地址的地址线、以及用于发送中断并且用于操作系统总线的控制线。这样的系统总线80的例子是PCI(外围组件互连)总线。
耦合到系统总线80的存储器装置包括随机存取存储器(RAM)82和只读存储器(ROM)93。这样的存储器包括允许信息被存储和检索的电路。ROM 93一般包括不能容易地被修改的存储的数据。存储在RAM 82中的数据可以被CPU 91或其他硬件装置读取或改变。对于RAM 82和/或ROM 93的访问可以由存储器控制器92控制。存储器控制器92可以提供当指令被执行时将虚拟地址转化为物理地址的地址转化功能。存储器控制器92还可以提供隔离系统内的处理并且使系统处理与用户处理隔离的存储器保护功能。因此,在第一模式下运行的程序可以仅访问被它自己的处理的虚拟地址空间映射的存储器;它不能访问另一个处理的虚拟地址空间内的存储器,除非处理之间共享的存储器已经被设置。
另外,计算系统90可以包含外设控制器83,外设控制器83负责将指令从CPU 91传送给外设,诸如打印机94、键盘84、鼠标95和硬盘驱动器85。
由显示器控制器96控制的显示器86可以用于显示计算系统90产生的视觉输出。这样的视觉输出可以包括文本、图形、动画图形和视频。显示器86可以用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子体的平板显示器或触摸面板来实现。显示器控制器96包括产生发送给显示器86的视频信号所需的电子组件。
此外,计算系统90可以包括网络适配器97,网络适配器97可以用于将计算系统90连接到外部通信网络,诸如图51A和图51B的网络12。
要理解,本文中描述的系统、方法和处理中的任何一个或全部可以以存储在计算机可读存储介质上的计算机可执行指令(例如,程序代码)的形式实施,所述指令当被机器(诸如计算机、服务器、M2M终端装置、M2M网关装置等)执行时执行或实现本文中所描述的系统、方法和处理。具体地说,上述步骤、操作或功能中的任何一个都可以以这样的计算机可执行指令的形式实现。计算机可读存储介质包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动的和不可移动的介质,但是这样的计算机可读存储介质不包括信号本身。如从本文中的描述显而易见的,存储介质应被解释为是法定主题。计算机可读存储介质包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘储存器、磁盒、磁带、磁盘储存器或其他磁性存储装置、或可以用于存储希望信息并且可以被计算机访问的任何其他的物理介质。计算机可读存储介质可以具有存储于其上的计算机程序;所述计算机程序可以可加载到数据处理单元中,并且适于使数据处理单元在所述计算机程序被数据处理单元运行时执行方法步骤。
在如附图所示那样描述本公开的主题的优选方法、系统或设备——在IoT中启用语义混搭时,为清楚起见,采用了特定的术语。然而,要求保护的主题并非意图限于如此选择的特定的术语,并且要理解每个特定的元件包括以与实现类似的目的类似的方式操作的所有的技术等同物。
本文中所描述的各种技术可以结合硬件、固件、软件、或者在适当的情况下它们的组合来实现。这样的硬件、固件和软件可以驻留在位于通信网络的各种节点处的设备中。所述设备可以单独地或者彼此组合地操作以实现本文中所描述的方法。如本文中所使用的,术语“设备”、“网络设备”、“节点”、“装置”、“网络节点”等可以互换使用。另外,词语“或”的使用一般被包容性地使用,除非本文中另有提供。
本撰写的描述使用例子来公开本发明,包括最佳模式,并且还使得本领域任何技术人员能够实施本发明,包括做出和使用任何装置或系统并且执行任何合并的方法。本发明的可取得专利的范围由权利要求限定,并且可以包括本领域技术人员想到的其他例子(例如,跳过步骤、组合步骤、或者在本文中所公开的示例性方法之间添加步骤)。在本文中设想,资源或属性中的一些可以被移除,或者添加来自本文中提供的不同例子的属性或资源(例如,子资源)。例如,如附图(例如,图40、图42或图44等)或表格(例如,表4、表9或表10等)所示的资源或属性中的一些可以在附图或表格之间进行组合,或者被移除(例如,代替具有5个属性,可以存在3个属性)。这样的其他的例子意图在权利要求的范围内,这可以使如本文中所公开的用于在IoT中启用语义混搭的权利要求变宽或变窄。
如本文中所描述的方法、系统和设备等可以提供用于在IoT中启用语义混搭的手段。方法、系统、计算机可读存储介质或设备具有用于以下的部件:获得配置文件;使用配置文件创建从该配置文件指示的多个原始资源收集数据的虚拟资源;基于收集的数据计算虚拟资源的结果;并且将虚拟资源的结果提供给请求者。所述配置文件可以是语义混搭。语义混搭配置文件可以包括混搭函数。混搭函数可以使用来自多个原始资源的数据。混搭函数可以使用来自请求者的输入。虚拟资源是虚拟语义资源,结果是语义混搭结果。虚拟语义资源可以被另一个请求者发现和使用。一旦原始资源被修改,虚拟语义资源就可以被更新。虚拟语义资源可以被迁移到新的位置。结果可以与虚拟资源分开存储。方法、系统、计算机可读存储介质或设备具有用于以下步骤的部件:接收创建语义混搭资源的请求;基于请求消息识别语义混搭配置文件;基于语义混搭配置文件,确定将被创建的语义混搭资源的混搭成员资源,并且产生语义混搭结果;基于确定的混搭成员资源创建语义混搭资源;并且提供发送语义混搭资源的结果的地址和语义混搭资源的地址的指令。语义混搭配置文件可以包括关于混搭函数的语义信息。混搭函数可以使用来自语义混搭配置文件指示的多个原始资源的数据。语义混搭配置文件可以包括关于混搭成员资源将被如何选择的信息。语义混搭资源可以被多个请求者发现或使用。语义混搭资源可以在对应的原始资源被修改之后被更新。请求消息可以包括指示语义混搭行为的类型属性。该段中的并且在整个详细描述中公开的所有组合(包括步骤的移除或添加)被设想。
Claims (20)
1.一种用于语义混搭的设备,所述设备包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器存储可执行指令,所述可执行指令在被所述处理器执行时使所述处理器实现包括以下的操作:
接收用于创建语义混搭资源的请求;
基于请求消息识别语义混搭配置文件;
基于语义混搭配置文件,
确定将被创建的语义混搭资源的混搭成员资源,以及
产生语义混搭结果;
基于所确定的混搭成员资源创建语义混搭资源;以及
提供用于发送以下地址的指令:
语义混搭资源的结果的地址,以及
语义混搭资源的地址。
2.根据权利要求1所述的设备,其中,语义混搭配置文件包括关于混搭函数的语义信息。
3.根据权利要求2所述的设备,其中,混搭函数使用来自语义混搭配置文件指示的多个原始资源的数据。
4.根据权利要求1所述的设备,其中,语义混搭配置文件包括关于混搭成员资源将被如何选择的信息。
5.根据权利要求1所述的设备,其中,语义混搭资源被多个请求者发现和使用。
6.根据权利要求1所述的设备,其中,一旦对应的原始资源被修改,语义混搭资源就被更新。
7.根据权利要求1所述的设备,其中,请求消息包括指示产生语义混搭结果的步骤是否被周期性地进行的类型属性。
8.一种用于语义混搭的方法,所述方法包括:
接收用于创建语义混搭资源的请求;
基于请求消息识别语义混搭配置文件;
基于语义混搭配置文件,
确定将被创建的语义混搭资源的混搭成员资源,以及
产生语义混搭结果;
基于所确定的混搭成员资源创建语义混搭资源;以及
提供用于发送以下地址的指令:
语义混搭资源的结果的地址,以及
语义混搭资源的地址。
9.根据权利要求8所述的方法,其中,语义混搭配置文件包括关于混搭函数的语义信息。
10.根据权利要求9所述的方法,其中,混搭函数使用来自语义混搭配置文件指示的多个原始资源的数据。
11.根据权利要求8所述的方法,其中,语义混搭配置文件包括关于混搭成员资源将被如何选择的信息。
12.根据权利要求8所述的方法,其中,语义混搭资源被多个请求者发现和使用。
13.根据权利要求8所述的方法,其中,一旦对应的原始资源被修改,语义混搭资源就被更新。
14.根据权利要求8所述的方法,其中,请求消息包括指示产生语义混搭结果的步骤是否被周期性地进行的类型属性。
15.一种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被计算装置执行时使所述计算装置实现包括以下的操作:
接收用于创建语义混搭资源的请求;
基于请求消息识别语义混搭配置文件;
基于语义混搭配置文件,
确定将被创建的语义混搭资源的混搭成员资源,以及
产生语义混搭结果;
基于所确定的混搭成员资源创建语义混搭资源;以及
提供用于发送以下地址的指令:
语义混搭资源的结果的地址,以及
语义混搭资源的地址。
16.根据权利要求15所述的计算机可读存储介质,其中,语义混搭配置文件包括关于混搭函数的语义信息。
17.根据权利要求16所述的计算机可读存储介质,其中,混搭函数使用来自语义混搭配置文件指示的多个原始资源的数据。
18.根据权利要求15所述的计算机可读存储介质,其中,语义混搭配置文件包括关于混搭成员资源将被如何选择的信息。
19.根据权利要求15所述的计算机可读存储介质,其中,语义混搭资源被多个请求者发现和使用。
20.根据权利要求15所述的计算机可读存储介质,其中,一旦对应的原始资源被修改,语义混搭资源就被更新。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662401461P | 2016-09-29 | 2016-09-29 | |
US62/401,461 | 2016-09-29 | ||
PCT/US2017/054274 WO2018064464A1 (en) | 2016-09-29 | 2017-09-29 | Enabling semantic mashup in internet of things |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110447025A true CN110447025A (zh) | 2019-11-12 |
Family
ID=60164797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780065993.2A Pending CN110447025A (zh) | 2016-09-29 | 2017-09-29 | 在物联网中启用语义混搭 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11076013B2 (zh) |
EP (1) | EP3519992A1 (zh) |
JP (1) | JP7038113B2 (zh) |
KR (1) | KR102254038B1 (zh) |
CN (1) | CN110447025A (zh) |
WO (1) | WO2018064464A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235325A (zh) * | 2020-12-14 | 2021-01-15 | 中国电力科学研究院有限公司 | 一种对与智能终端相连接的功能模组进行访问控制的方法及系统 |
CN115203172A (zh) * | 2022-06-30 | 2022-10-18 | 北京亚控科技发展有限公司 | 模型构建及模型数据订阅方法、装置、电子设备和介质 |
TWI799349B (zh) * | 2022-09-15 | 2023-04-11 | 國立中央大學 | 利用本體論整合城市模型及物聯網開放式標準之智慧城市應用方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017061815A1 (en) * | 2015-10-07 | 2017-04-13 | Samsung Electronics Co., Ltd. | Method for resource mapping between restful server and onem2m system |
WO2017117345A1 (en) * | 2015-12-30 | 2017-07-06 | Convida Wireless, Llc | Semantics based content specification of iot data |
CN109416627B (zh) * | 2016-06-30 | 2022-09-23 | 西门子股份公司 | 用于修订功能或向自动化设备添加功能的方法 |
US10536294B2 (en) * | 2017-07-17 | 2020-01-14 | Midea America Corp. | Computer-based platform for quality management of home devices |
US11416563B1 (en) * | 2017-10-20 | 2022-08-16 | Amazon Technologies, Inc. | Query language for selecting and addressing resources |
US11366865B1 (en) * | 2018-09-05 | 2022-06-21 | Amazon Technologies, Inc. | Distributed querying of computing hubs |
US20220101962A1 (en) * | 2019-01-11 | 2022-03-31 | Convida Wireless, Llc | Enabling distributed semantic mashup |
CN111539784B (zh) * | 2020-04-10 | 2023-05-26 | 上海交通大学 | 基于组合语义学习的服务包推荐方法及系统 |
WO2023022240A1 (ko) * | 2021-08-17 | 2023-02-23 | 한국전자기술연구원 | 고급 시맨틱 디스커버리 방법 및 이를 적용한 엠투엠 플랫폼 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999563A (zh) * | 2012-11-01 | 2013-03-27 | 无锡成电科大科技发展有限公司 | 基于资源描述框架的网络资源语义检索方法及系统 |
US20150370900A1 (en) * | 2013-02-18 | 2015-12-24 | Nec Europe Ltd. | Method and system for generating a virtual thing for a machine-to-machine application and a method and system for providing a result of a virtual thing to a machine-to-machine application |
US20160004767A1 (en) * | 2013-02-18 | 2016-01-07 | Nec Europe Ltd. | Method and system for semantically querying a database by a machine-to-machine application |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3101840B1 (en) * | 2014-02-24 | 2018-01-03 | Huawei Technologies Co., Ltd. | Method and apparatus for processing information in m2m communications |
CN105610880B (zh) * | 2014-11-10 | 2020-06-16 | 中兴通讯股份有限公司 | M2m通信架构、信息交互方法及装置 |
US11095747B2 (en) * | 2015-07-09 | 2021-08-17 | Samsung Electronics Co., Ltd. | Method and apparatus for receiving response information in M2M system |
CN108353263B (zh) * | 2015-10-30 | 2021-02-09 | Lg 电子株式会社 | 处理无线通信系统中的服务请求的方法及其设备 |
-
2017
- 2017-09-29 JP JP2019516962A patent/JP7038113B2/ja active Active
- 2017-09-29 EP EP17788351.9A patent/EP3519992A1/en not_active Ceased
- 2017-09-29 WO PCT/US2017/054274 patent/WO2018064464A1/en active Search and Examination
- 2017-09-29 KR KR1020197012401A patent/KR102254038B1/ko active IP Right Grant
- 2017-09-29 US US15/720,156 patent/US11076013B2/en active Active
- 2017-09-29 CN CN201780065993.2A patent/CN110447025A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999563A (zh) * | 2012-11-01 | 2013-03-27 | 无锡成电科大科技发展有限公司 | 基于资源描述框架的网络资源语义检索方法及系统 |
US20150370900A1 (en) * | 2013-02-18 | 2015-12-24 | Nec Europe Ltd. | Method and system for generating a virtual thing for a machine-to-machine application and a method and system for providing a result of a virtual thing to a machine-to-machine application |
US20160004767A1 (en) * | 2013-02-18 | 2016-01-07 | Nec Europe Ltd. | Method and system for semantically querying a database by a machine-to-machine application |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235325A (zh) * | 2020-12-14 | 2021-01-15 | 中国电力科学研究院有限公司 | 一种对与智能终端相连接的功能模组进行访问控制的方法及系统 |
CN112235325B (zh) * | 2020-12-14 | 2021-03-09 | 中国电力科学研究院有限公司 | 一种对与智能终端相连接的功能模组进行访问控制的方法及系统 |
CN115203172A (zh) * | 2022-06-30 | 2022-10-18 | 北京亚控科技发展有限公司 | 模型构建及模型数据订阅方法、装置、电子设备和介质 |
CN115203172B (zh) * | 2022-06-30 | 2023-11-07 | 北京亚控科技发展有限公司 | 模型构建及模型数据订阅方法、装置、电子设备和介质 |
TWI799349B (zh) * | 2022-09-15 | 2023-04-11 | 國立中央大學 | 利用本體論整合城市模型及物聯網開放式標準之智慧城市應用方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3519992A1 (en) | 2019-08-07 |
WO2018064464A1 (en) | 2018-04-05 |
JP2020502610A (ja) | 2020-01-23 |
US11076013B2 (en) | 2021-07-27 |
JP7038113B2 (ja) | 2022-03-17 |
KR102254038B1 (ko) | 2021-05-20 |
KR20190059951A (ko) | 2019-05-31 |
US20180278710A1 (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110447025A (zh) | 在物联网中启用语义混搭 | |
CN109845221B (zh) | 用于服务层的访问控制策略同步 | |
JP6636631B2 (ja) | セマンティックiotのためのrestful動作 | |
CN103336813B (zh) | 一种基于中间件架构的物联网数据集成管理方案 | |
KR20200124267A (ko) | 분산형 시맨틱 데이터를 통한 시맨틱 동작들 및 추론 지원 | |
Javed et al. | BIoTope: building an IoT open innovation ecosystem for smart cities | |
JP6734404B2 (ja) | M2m/iotサービス層におけるセマンティクス推論サービス有効化 | |
Soldatos et al. | Design principles for utility-driven services and cloud-based computing modelling for the Internet of Things | |
CN106796607A (zh) | 用于基于模型的搜索及网络数据检索的系统和方法 | |
Bellini et al. | Managing Complexity of Data Models and Performance in Broker-Based Internet/Web of Things Architectures | |
Chang et al. | Integrating intelligent agent and ontology for services discovery on cloud environment | |
Ding et al. | The construction of internet data mining model based on cloud computing | |
Babovic et al. | Novel system architectures for semantic-based integration of sensor networks | |
Zhang et al. | Context-aware generic service discovery and service composition | |
Ding et al. | RDB-KV: A cloud database framework for managing massive heterogeneous sensor stream data | |
Park et al. | Semantic open USN service platform architecture | |
Xue et al. | Managing context data for diverse operating spaces | |
Huang et al. | Web services for things | |
Bellini et al. | Internet 4 Things | |
Xue et al. | Data management for context-aware computing | |
CN104750709A (zh) | 一种语义检索方法及系统 | |
Wang | Context-aware service discovery and service composition over smart phones | |
Gupta et al. | A Study on Various Database Models: Relational, Graph, and Hybrid Databases | |
Zhang | Context-aware non-electronic service discovery and composition | |
Zhukov | Web application for keyword-aware walking route search |
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 |