CN105766004B - M2m设备的爬取 - Google Patents
M2m设备的爬取 Download PDFInfo
- Publication number
- CN105766004B CN105766004B CN201480063559.7A CN201480063559A CN105766004B CN 105766004 B CN105766004 B CN 105766004B CN 201480063559 A CN201480063559 A CN 201480063559A CN 105766004 B CN105766004 B CN 105766004B
- Authority
- CN
- China
- Prior art keywords
- crawler
- equipment
- service
- metadata
- resources
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 41
- 230000009193 crawling Effects 0.000 claims description 39
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000006855 networking Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 239000011469 building brick Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000004100 electronic packaging Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/08—Upper layer protocols
- H04W80/12—Application layer protocols, e.g. WAP [Wireless Application Protocol]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
根据各种示例实施例,M2M爬取器服务可支持使得M2M设备能够高效地且有效地被网络爬取器爬取的能力。结果,M2M设备可被网络搜索引擎且进而被使用网络搜索引擎的网络用户编索引并搜索到。因此,本文所述的M2M爬取器服务可使得能够将M2M设备集成到互联网/万物网中。
Description
相关申请的交叉引用
本申请要求2013年10月21日提交的美国临时专利申请序号61/893,573的权益,其公开被通过引用结合到本文中,如同在本文中整体地阐述一样。
背景技术
网络用户严重地依赖于网络爬取器、索引器以及搜索引擎来主动地发现可用网络内容,诸如网页、文档等。因此,用户可以及时且有效的方式经由其选择的网络浏览器和搜索引擎来查询并找到其正查看的网络内容。
为了使人们能够经由搜索引擎(例如,谷歌)找到网站,首先网站被搜索引擎的网络爬取器(例如,Googlebot)爬取,并且网站的内容被编索引并添加到搜索引擎的索引数据库(例如,谷歌的索引数据库)。举例来说,参考图1,网络爬取器102可以爬取网络服务器、FTP服务器等。网络索引器104可以使用例如URL或关键字来对所爬取的内容编索引,并且网络搜索引擎106可以发现已编索引的内容,该内容可以被显示为搜索结果。可以以主动式方式执行这些爬取和编索引动作,以便创建可以被网络搜索引擎106使用的信息的可搜索数据库。在这样做时,可以在向网络搜索引擎中输入查询与获得返回的响应之间延迟非常小的情况下,以及时的方式执行网络搜索。虽然在图1中单独地示出了网络爬取器102、网络索引器104以及网络搜索引擎106,但将理解的是该图示仅仅用于示例性目的,并且可以将网络爬取器、网络索引器以及网络搜索引擎相互集成。
因此,网络爬取器一般指代网络客户端,网络客户端在网站之间行进(爬行),从而找到其编索引的新的或已更新网页和文档。网络爬取器也可称为网络机器人。如上所述,网络编索引指代扫描网页或文档以提取可以添加到搜索引擎的编索引数据库的关键字和/或信息的过程。网络搜索引擎一般指代被设计成使用通过网络爬行和编索引提供的信息来服务于查询网络上可用的信息的软件。网站通常被网络管理员维护和管理,其一般是负责管理和维护网站的人。如上所述,网络爬行器可以爬取网络服务器、FTP服务器等,但是当前网络缺乏能力。例如,当前网络未能高效地且有效地爬取资源受限设备,诸如各种机器对机器(M2M)设备。因此,各种M2M设备未被网络搜索引擎有效地编索引或搜索。
发明内容
本文所述的是用于爬取机器对机器(M2M)设备的方法、设备以及系统。例如,在一个实施例中,服务向不具有传统人类网络管理员的M2M设备提供自动化的类似于网络管理员的功能。根据另一示例实施例,M2M节点包括处理器和与处理器耦合的存储器,该存储器具有存储在其上的可执行指令,在处理器执行该可执行指令时该可执行指令促使处理器执行操作。该操作可包括接收与M2M设备相关联的爬取器元数据。M2M节点可托管M2M爬取器服务。M2M节点可根据接收到的爬取器元数据,为了一个或多个资源而爬取M2M设备。此外,M2M节点可发布该一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。例如,M2M节点可向M2M设备发送用于爬取器元数据的查询,并且可响应于该查询而接收爬取器元数据。根据另一示例实施例,M2M节点可向M2M设备发送订阅请求。该订阅请求可包括与爬取器事件相关联的触发条件,其中,M2M设备是根据订阅请求配置的。当满足触发条件时,M2M节点可接收爬取器事件的通知。响应于接收到该通知,M2M节点可为一个或多个资源中的选择资源重新爬取M2M设备,其中,该选择资源是在订阅请求中定义的。替换地或者另外,响应于接收到该通知,M2M节点可生成用于一个或多个网络爬取器的第二通知。
提供本发明内容是为了以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容既不意图识别要求保护的主题的关键特征或实质特征,也不意图限制要求包含的主题的范围。此外,要求保护的主题不限于解决在本公开的任何部分中所提及的任何或所有缺点的限制。
附图说明
从结合附图以示例的方式给出的以下描述中可获得更详细的理解,其中:
图1是示出了网络爬取、编索引以及搜索的示例的图;
图2是示出了定义了爬取器应避开的网页列表的示例文件的表格;
图3是包括M2M服务层的示例性协议栈的描述;
图4是图示出根据示例实施例的M2M爬取器、M2M索引器以及搜索服务的系统图;
图5是图示出根据示例实施例的分布式M2M爬取器服务架构的系统图;
图6是图示出根据示例实施例的集中式M2M爬取器服务架构的系统图;
图7是根据示例实施例的用于爬取M2M设备的流程图;
图8是示出了根据各种示例实施例的M2M爬取器元数据被发布的呼叫流程;
图9是用于根据示例实施例为了M2M爬取器元数据而查询M2M设备的呼叫流程;
图10是示出了根据示例实施例M2M爬取器服务监视用以自动生成爬取器元数据的请求的呼叫流程;
图11是示出了根据另一示例实施例M2M爬取器服务订阅事件以接收爬取器元数据的呼叫流程;
图12是用于根据示例实施例的M2M爬取的流程图;
图13是用于根据另一示例实施例的在没有爬取器元数据的情况下爬取M2M设备资源的呼叫流程;
图14是根据示例实施例的示例站点地图(Sitemap)文件的M2M爬取器扩展的描述;
图15是图示出根据示例实施例的被动式和主动式M2M爬取器元数据发布的呼叫流程;
图16是图示出根据示例实施例的支持爬取器事件生成的M2M爬取器服务的呼叫流程;
图17是图示出根据示例实施例的oneM2M爬取器能力服务功能(CSF)的框图;
图18A是其中可实现一个或多个公开实施例的示例机器对机器(M2M)或物联网(IOT)通信系统的系统图;
图18B是在图18A中所示的M2M/IoT通信系统内可使用的示例架构的系统图;
图18C是在图18A中所示的通信系统内可使用的示例M2M/IoT终端或网关设备的系统图;以及
图18D是其中可体现图18A的通信系统的各方面的示例计算系统的框图。
具体实施方式
提供以下详细描述是为了举例说明示例实施例,并且并不意图限制本发明的范围、适用性或配置。在不脱离本发明的精神和范围的情况下可在元件和步骤的功能和布置方面进行各种改变。
一般参考下面更详细地描述的图18A和18B,示例性机器对机器(M2M)、物联网(IoT)或万物网(WoT)通信系统10可以包括诸如多个机器对机器(M2M)设备的多个设备以及可以经由通信网络12与M2M设备通信的服务层22。如本文所使用,M2M设备可指代在网络中进行通信的任何设备,诸如网关设备14或终端(端点)设备18。M2M网关设备14和M2M终端设备18中的每一个可被配置成经由通信网络12或直接无线电链接来发送和接收数据。M2M设备18还可从M2M应用20或另一M2M设备18接收数据。此外,可经由M2M服务层22向M2M应用20发送数据和信号以及从其接收数据和信号。将理解的是M2M服务层22可按需与任何数目的M2M应用、M2M网关设备、M2M终端设备以及通信网络通信。M2M服务层22可由一个或多个服务器、计算机等实现。服务层22可向M2M应用20、M2M网关设备14以及M2M设备18提供各种服务和能力。此外,可以在各种服务器、网关以及设备上部署M2M服务层。除非另外指明,如本文所使用,M2M节点指代诸如M2M系统10的M2M网络内的任何设备、网关或服务器。可将M2M服务层22实现为软件中间件层(在IP栈之上),该软件中间件层通过一组应用编程接口(API)和底层联网接口来支持用于M2M应用和设备的增值服务。根据示例实施例可以部署的示例性M2M服务是下面详细地描述的M2M爬取器服务400。
经由关于爬取、编索引以及搜索网站的更多背景,网络管理员一般负责维护网站。特别地,网络管理员可保持网站的站点地图和robots.txt文件。网站的站点地图定义了到爬取器应爬取的网页的链接的列表,以及帮助爬取器的属性(例如,爬取页面的频率)。表1列出了支持站点地图的示例XML协议属性。网络管理员可手动地向流行的搜索引擎提交给定网站的站点地图,使得该网站被注意到。在没有限制的情况下示例搜索引擎包括Google、Bing和Yahoo!,以及包括Bing Heallth、WebMD以及Yahoo!News的示例专业搜索引擎。
表1
网站的robots.txt可定义如图2中所描绘的示例中所示的爬取器在爬取网站时应排除的网页列表、重新爬取之间的延迟以及网站的站点地图的位置。
为了爬行到网站并遍历站点的网页和链接,网络爬取器通常依赖于由网站的网络管理员提供的网站的站点地图和robots.txt文件。网络爬取器还可依赖于到网络爬取器在爬取其它网站的同时遇到的网站的超链接。网络爬取器在网站间行进,从而找到新的/已更新网页,并且对然后可以被编索引的网页的快照进行编档和存储。可以在重复的基础上且以不协调的方式由许多独立网络爬取器来爬取网站。基于给定网络爬取器的算法和策略,网络爬取器可确定是否/何时重新爬取网站并将站点的网页/文档重新编索引。网络索引器对由网络爬取器发现的网络内容编索引。可将网络索引器与网络爬取器集成或者可不这样做。编索引可包括扫描网页/文档以提取被添加到搜索引擎的编索引数据库的关键字和信息。网络索引器可支持基于文本(例如,.txt、.html、.doc、.xls、.ppt、.pdf等)的编索引内容。网络搜索引擎可依赖于从网络爬取器和网络索引器获得的编索引的信息,以便服务于搜索引擎查询。网络搜索引擎支持对在已被爬取并被编索引的各种网站上托管的信息的关键字搜索。网络搜索引擎可在索引数据库中查询与在搜索请求中指定的(多个)关键字匹配的条目,并且可创建由匹配链接(例如,URL)列表组成的搜索结果,该匹配链接列表涉及包含与在查询请求中指定的(多个)关键字匹配的内容的网页和网络文档。
再次地一般地参考图18A和18B,M2M服务层可支持应用编程接口(API),其提供应用和设备对服务层所支持的M2M中心能力集的访问。在没有限制的情况下提出的几个示例包括安全、收费、数据管理、设备管理、配置以及连接管理。可经由利用由M2M服务层定义的消息格式、资源结构和资源表示的API来使得这些能力可用于应用。
存在具有服务层的多个M2M架构,诸如在草案ETSI TS 102 690 1.1.1(2011-10)中讨论的欧洲电信标准协会的(M2M)服务层、在草案版本1.0-14Mar 2013中讨论的开放移动联盟(OMA)的轻型M2M服务层,以及在oneM2M-TS-0001 oneM2M FunctionalArchitecture-V-0.1.2.M2M服务层架构中讨论的oneM2M服务层(例如,ETSI M2M、OMALWM2M以及oneM2M)。图3图示出典型的示例联网协议栈300,并且因此图3示出了M2M服务层位于典型联网协议栈中的位置。
现在参考图4-6,根据各种示例实施例,可以将下面描述的M2M爬取器服务400实现为各种M2M服务层内的特定类型的服务/能力。在一个实施例中,根据oneM2M来实现爬取器服务400。在另一实施例中,根据ETSI M2M来实现爬取器服务400。此外,将理解的是M2M爬取器服务400不限于在M2M服务层内实现。例如,根据另一示例实施例,可以将M2M爬取器服务400实现为独立的网络服务。
在本文中应认识到网络爬取器、索引器以及搜索引擎的增强版本可允许网络用户以与其现在找到网络内容的方式类似的方式找到可用M2M设备,使得可将M2M设备完全集成到IoT/WoT中。举例来说,增强型网络爬取器、索引器以及搜索引擎可找到部署在公共空间中(例如,购物中心、城市、体育场、机场、博物馆等)的传感器。在本文中应认识到以这种方式使M2M设备可搜索可增加对可用作免费公共服务(例如,天气、交通等)的M2M设备以及可供收费使用的M2M设备的认识。在本公开中应认识到对于某些使用情况而言使得M2M设备可搜索可能并不是期望和/或适用的。例如,在关注隐私或安全的情况下(例如,保健传感器设备、安全设备等)可能不期望使得M2M设备可搜索。
可能已存在解决如本公开所解决的类似问题的尝试,但并不是使用本文所述的方法。例如,本文所示的示例实施例既未利用IMS网络组件,也不基于搜索引擎请求的实时处理或对来自社交网络的信息的利用。替代地,例如,本文所述的实施例定义了使得现有网络爬取器能够有效地且高效地爬取M2M设备的服务。
如上所述,当前网络缺少高效地且有效地爬取M2M设备的能力。结果,M2M设备不能有效地被网络搜索引擎(例如,谷歌、Yahoo!等)以及进而被网络用户编索引并搜索到。
例如,当前M2M设备可能缺少支持当前网络爬取器框架的能力。在当前网络中,网站通常负责向网络爬取器注册并服务于其自己的网络爬取器业务。但是M2M设备本质上常常是受限的,并且缺少向网络爬取器注册并服务于网络爬取器请求的资源和智能。不同于传统网站,M2M设备通常不是由网络管理员(人类)主动地管理。结果,M2M设备可能不能执行诸如向网络上的不同搜索引擎注册其本身的各种动作。此外,M2M设备可能不具有服务于来自大量网络爬取器的请求的能力。
经由另一示例,当前网络框架缺少协助M2M设备使得可以有效地爬取M2M设备的服务。例如,上文提及的现有M2M服务层(例如,ETSI M2M、OMA LWM2M、oneM2M)可能缺少用于以网络爬取器理解的格式(例如,站点地图协议)主动地发现并向网络爬取器发布M2M设备爬取器元数据的适当支持。结果,现有网络爬取器可能缺少对M2M设备、M2M设备支持的资源以及关于那些资源的属性的认识。现有M2M服务层还可能缺少生成爬取器事件(例如,指示M2M设备要求爬取/重新爬取的事件)的能力。M2M服务层还可能缺少这种支持,即将这些事件转送到网络爬取器以告知其是否/何时由于创建、修改或删除设备资源而需要重新爬取一个或多个M2M设备。这可能是由于当前M2M服务层关于M2M设备以主要被动的方式操作。当前M2M服务层依赖于设备来发起与服务层的交互(例如,向服务层注册,在服务层中存储数据等)。因此,现有M2M服务层可能缺少主动发起与M2M设备的交互的能力。例如,当前M2M服务层可能缺少主动发现M2M设备或在M2M设备上托管的资源的能力,或者缺少订阅并从设备接收通知的能力,所述通知诸如为如果/当已经创建/修改/删除设备资源时可以生成与爬取器事件相关联的通知。当前M2M设备服务还缺少基于再现来主动地爬取M2M设备资源(例如,周期性地或基于事件而检索设备的资源)并存储/缓存资源的本地拷贝的能力。结果,当前M2M服务层可能缺少跟踪并检测新的、修改的或删除的资源的能力,并且因此缺少确定是否应通知网络爬取器重新爬取被许可的能力。
经由另一示例,当前网络中网络爬取器可能缺少对基于事件的爬取的支持。例如,网络爬取器通常以偶然的方式(例如,当遇到从网络服务器到另一网络服务器的链接时)或者以周期性方式(例如,基于由网络服务器在其站点地图或Robots.txt文件中指定的某些优选频率)来重新爬取网络服务器,以刷新其爬取的内容。这些类型的爬取可能是低效的,例如,因为即使当网络服务器的内容未被更新时也可能执行对网络服务器的重新爬取。另外,当网络爬取器尝试爬取M2M设备时,许多M2M设备可能是不可用的(例如,其正在睡眠中)。由于许多设备以不可预测以及基于事件的方式发生改变,所以本文中认识到缺少基于事件的爬取能够对导致M2M设备的低效和/或不必要的爬取和重新爬取,这能够对资源受限的M2M设备和网络具有负面影响。
如本文所述,M2M爬取器服务400除其他方面外可以解决上述问题。M2M爬取器服务400可使得M2M设备能够高效地且有效地被网络爬取器爬取到。结果,M2M设备能够有效地被网络搜索引擎(例如,谷歌、Yahoo!等)且从而被使用该网络搜索引擎(例如,谷歌、Yahoo!等)的网络用户编索引并搜索到。因此,M2M爬取器服务400可充当用于将M2M设备集成到互联网/万物网中的关键使能器。
M2M爬取器服务400可提供协助资源受限M2M设备注册到网络爬取器的能力。根据示例实施例,M2M爬取器服务400还支持主动地与M2M设备相交互,以发现并爬取托管在设备上的资源以及配置并订阅由设备生成的爬取器事件。另外,M2M爬取器服务400可代表M2M设备服务于网络爬取器请求,使得M2M设备不会变得超负荷。
在一个实施例中,M2M爬取器服务400协助网络爬取器爬取M2M设备。M2M爬取器服务支持对所爬取M2M设备资源的主动爬取和存储,并使得这些结果可用于网络爬取器。在这样做时,例如,网络爬取器不必直接地爬取M2M设备资源,直接地爬取M2M设备资源对于具有长且不可预测的睡眠循环的M2M设备而言可能尤其是有问题的。替代地,网络爬取器可以爬取预先已被M2M爬取器服务400主动爬取过的M2M设备资源的缓存/存储版本。M2M爬取器服务400还可生成爬取器事件,例如基于检测到的其已爬取的设备资源的状态变化。M2M爬取器服务400可向网络爬取器发布这些事件。
现在参考图4,示例M2M系统401包括多个设备,诸如M2M/网络服务器402、搜索引擎服务器404、M2M网关14,M2M网关14也可以被称为网络代理14。所示设备可以经由网络或互联网406相互通信。M2M系统401还包括应用20和M2M爬取器服务400。所示设备一般可以被称为节点。因此,如所示,可以将M2M爬取器服务400部署在网络中的各种节点中,诸如在M2M终端设备18、M2M服务器402、网络代理14以及网络服务器402中。现有网络爬取器服务403可以被部署在搜索引擎服务器404上,搜索引擎服务器404可以由诸如谷歌或微软公司的搜索引擎公司提供和操作。可以将M2M爬取器服务400部署为诸如服务层22的水平服务层中的能力,并且服务层可包括服务能力服务器(SCS)、M2M服务器、oneM2M服务器等。因此,可以将M2M爬取器服务部署在各种服务层中,诸如ETSI M2M、oneM2M或OMA LWM2M。替换地,可以将M2M爬取器服务400部署为独立网络服务,并且可以使得其可用于网络应用和/或其它网络服务。因此,还可以使用M2M爬取服务来补充现有网络爬取器,或者可以将其独立地部署为单独的专用M2M爬取器。
为了方便起见,本文所述的各种实施例均提及了系统401。将认识到的是示例系统401被简化以促进对本公开主题的描述,并且其并不意图限制本公开的范围。除诸如系统401的系统之外或者作为其替代,可使用其它设备、系统以及配置来实现在本文中公开的实施例,并且所有此类实施例可被认为在本公开的范围内。
为了介绍M2M爬取器服务400的各种功能,考虑这种示例使用情况:M2M传感器公司已经与购物中心签订合同以允许其在商场的停车场、商店以及公共区域中部署其无线网络传感器。传感器跟踪关于购物者的统计,诸如购物者是谁(例如,年龄、性别等)、购物者买了什么、购物者买了多少、购物者何时购物、哪种车辆在停车场中等。因此,传感器监视并包含与购物者有关的各种资源。M2M传感器公司已经同意向购物中心支付让其遍布整个商场部署其传感器的费用。作为回报,M2M传感器公司计划使得其传感器数据(资源)可用于(收费)多样化的一组潜在客户,诸如零售店主、零售货物制造商以及登广告者。这些客户可能有兴趣获得此信息,使得其可以进行更加智能的营销、产品定位以及产品开发决策。例如,附近电子广告牌主可能愿意发现这些M2M传感器设备并连接到其传感器馈送内容,使得他或她可以更加智能地选择在哪个日、周或年的时间显示哪个广告。
继续上述示例使用情况,M2M传感器公司可能想要最大化可以发现并访问从其在商场中的传感器流出的信息的客户的数目。为促进此目的,根据示例性情形,M2M传感器公司可以将其传感器联网以使得其可经由互联网/网络被访问,并且可以使用M2M爬取器服务400来确保其传感器可以常用的网络搜索引擎(例如,谷歌、Yahoo!、Bing等)找到。
继续参考上述示例使用情况,根据示例实施例,M2M爬取器服务400可充当用于M2M传感器设备的爬取器代理。M2M爬取器服务可以基于由传感器生成的爬取器事件和每个传感器的睡眠状态而主动地且智能地爬取每个M2M设备。爬取器服务400可以以基于事件的方式支持对单独传感器的重新爬取。举例来说,爬取器服务400可以在传感器将其状态的变化用信号通知给爬取器服务400时重新爬取给定传感器。对于已被爬取的每个传感器,爬取器服务400可以缓存/存储传感器读数以及被用来描述传感器数据的元数据。在没有限制的情况下示例元数据可以指示传感器位置、传感器类型、传感器数据的格式、自从传感器数据被更新以来的时间等。爬取器服务400然后可主动地发布对这些缓存/存储的缓冲器读数(资源)的链接(例如,URI)。爬取器服务400还可发布与传感器相关联的元数据,诸如事件的描述和指示何时重新爬取每个传感器的事件的描述。可向各种网络搜索引擎(例如,谷歌、Yahoo!、Bing等)发布该信息。使用此发布信息,网络搜索引擎可爬取缓存/存储的传感器读数并将其编索引,该读数一般可以被称为资源或资源表示,并且这可以使得传感器能够被使用与其用来找到传统网站的网络搜索引擎相同的网络搜索引擎的客户有效地搜索到。如下面进一步描述的,例如,这可以在不对传感器引入大量开销的情况下完成,因为各种网络搜索引擎并未直接地访问传感器。替代地,网络搜索引擎可访问由网络爬取器服务代表传感器存储的所爬取的资源表示的缓存/存储版本。另外,根据示例实施例,爬取器服务400可检测到其已经爬取的传感器资源的改变(例如,新的/更新的资源)。基于此类检测,爬取器服务400可以高效地重新爬取传感器,并为网络搜索引擎生成爬取器事件,使得其可以以基于事件的方式而不是以周期性方式执行对传感器资源的爬取。
一旦传感器资源已被成功地爬取并被网络搜索引擎编索引,网络用户可以使用网络搜索引擎来找到感兴趣的传感器。当网络用户访问存储/缓存的传感器数据时,网络爬取器还可以提供诸如收费/计费服务的各种服务,这使得M2M传感器公司能够对于访问信息而向用户收费。虽然在M2M传感器的背景下程序了上述示例使用情况,但将理解的是传感器用于示例目的,并且因此M2M爬取器服务400可以按需向任何M2M设备提供服务。
参考图5,根据示例实施例,可以用诸如示例分布式架构500的分布式架构来实现M2M爬取器服务400。替换地,参考图6,根据另一示例实施例,可以通过集中式架构来实现M2M爬取器服务400,并且因此可以将M2M爬取器服务400称为集中式M2M爬取器服务400a。图6描绘了包括集中式M2M爬取器服务400a的示例集中式架构600。分布式架构500可定义M2M爬取器服务400的多个示例。如所示,可通过系统401在诸如M2M服务器402、M2M网关14以及M2M设备18的各种M2M节点上托管实例。参考图6,根据所示实施例,集中式架构600定义了在例如M2M服务器402a的位于中央的M2M节点上托管的单个M2M爬取器服务实例。分布式架构500可使得能够以更加并行的方式执行爬取,并且可使得能够实现与集中式架构600相比更大的可扩展性。集中式架构600可简化爬取器服务400的管理,因为例如可以在集中式服务器或服务器群上托管爬取器服务400。
再次参考图5,分布式架构500中的M2M爬取器服务400的实例可以允许由一个或多个M2M服务提供商所有、操作和/或附属于一个或多个M2M服务提供商、且托管将被爬取、编索引和搜索的M2M资源的M2M服务器402、M2M网关/代理14、M2M设备18以及M2M应用20。如图5中所示,可以在网络中的一个或多个M2M服务器402、一个或多个M2M网关/代理14和/或一个或多个M2M设备18上托管M2M爬取器服务400。因此,可以使用M2M爬取器服务实例来高效地爬取由根据分布式方式布置的网络中的M2M节点托管的M2M资源。如下面进一步描述,M2M爬取器服务400的实例可相互合作。
再次地参考图6,集中式M2M爬取器服务400a可以允许爬取由一个或多个M2M服务提供商所有、操作和/或附属于一个或多个M2M服务提供商、且托管各种将被爬取的M2M资源的M2M服务器402a、M2M网关/代理14、M2M设备18以及M2M应用20。在网络内以集中式方式托管集中式M2M爬取器服务400a,使得可以使用M2M爬取器服务400a来高效地爬取网络中的各种M2M资源。
现在参考图5和6,现在将描述多个接口。在M2M设备18与M2M爬取器服务400之间定义了第一接口502,爬取器服务400指代了集中式M2M爬取器服务400a或分布式M2M爬取器服务的实例。第一接口502可以使得M2M爬取器服务400能够发现并爬取M2M设备18和与M2M设备18相关联的资源。在M2M爬取器服务400的实例之间定义了第二接口504。如下面进一步描述,第二接口504可以使得能够实现M2M爬取器服务400的分布式实例之间的合作,以跨服务实例的群组或分级结构来分布爬取器元数据和结果。在可包括传统网络爬取器的网络搜索引擎服务器404与M2M爬取器服务400之间定义了第三接口506。第三接口506可以使得网络搜索引擎能够与M2M爬取器服务相交互。在M2M应用20与M2M爬取器服务400之间定义了第四接口508。第四接口508可以使得M2M应用20能够与M2M爬取器服务400相交互。在应用20和在搜索引擎服务器404上托管的网络爬取器之间定义了第五接口510。第五接口510可以使得应用20能够使用被M2M爬取器服务启用的网络搜索引擎来间接地搜索和找到M2M设备。
如下面进一步描述,M2M爬取器服务400可支持允许各种M2M设备通过第一接口502来发布M2M爬取器元数据的能力。根据示例实施例,可以主动地查询各种M2M设备以获得M2M爬取器元数据,例如在给定M2M设备托管爬取器元数据但不能通过第一接口502将其发布的情况下。M2M爬取器元数据可以是被自动生成和/或富集(enriched)的,例如在给定M2M设备不托管M2M爬取器元数据的情形中,或者当M2M爬取器服务400具有其可以添加的附加爬取器元数据时。经由第一接口502,可将在给定M2M设备上托管的爬取器元数据配置成例如控制由M2M设备生成的爬取器事件。M2M爬取器服务400可使用M2M爬取器元数据来主动地且自发地通过第一接口502来爬取M2M设备。因此,可以以不使设备超负荷的智能且高效的方式(例如,基于设备状态的变化的基于事件的爬取)检索新的/更新的资源表示。在某些情况下,M2M爬取器服务400可以通过第三接口506代表M2M设备与网络爬取器相交互,使得网络爬取器知道M2M设备但是不会以爬取器流量压垮设备。例如,M2M爬取器服务400可与网络爬取器共享M2M设备爬取器元数据,使得网络爬取器知道M2M设备。M2M爬取器服务400可共享爬取的M2M设备资源表示(当前或过去),并使用这些表示来检测给定M2M设备的资源状态的变化。该资源表示还可用来代表M2M设备服务于网络爬取器请求。例如,可从M2M设备卸载爬取器请求。可对网络爬取器生成爬取器事件,使得作为周期性重新爬取的替代或除此之外,网络爬取器可以支持基于事件的重新爬取。M2M爬取器服务400可允许网络爬取器配置由M2M爬取器服务400托管的爬取器元数据,以控制由M2M爬取器服务400生成的爬取器事件。根据另一实施例,网络内的M2M爬取器服务的多个实例可以通过第二接口504相互合作。M2M爬取器服务可相互合作以共享M2M爬取器元数据,共享爬取的资源表示,订阅或生成爬取器事件等。此外,在示例实施例中,M2M应用20可通过接口508访问M2M设备爬取器元数据,并且M2M应用20可访问爬取的M2M设备资源,M2M设备资源也可以被称为资源表示。如下面进一步所述,根据另一示例实施例,M2M应用可订阅爬取器事件。
现在将更详细地描述M2M爬取器元数据。在某些情况下,为了高效地且有效地爬取给定M2M设备,可能需要知道关于设备及其资源的某些类型的信息。此类信息可被称为M2M爬取器元数据。表2定义了可以被M2M爬取器服务400使用的M2M爬取器元数据的示例列表,但将理解的是M2M爬取器服务可以按需使用附加或替换爬取器元数据。元数据一般支持高效且有效的爬取在M2M设备上托管的M2M资源。可以由M2M设备和/或由M2M爬取器服务400生成或托管M2M爬取器元数据。还可以与诸如网络爬取器和/或应用的网络中的其它实体共享M2M爬取器元数据。
表2
参考图7,描绘了可以使用爬取器服务400执行的示例性方法。在702处,例如但不限于新设备注册到爬取器服务400或爬取器服务400接收到对爬取器事件的通知,可触发本方法。在704处,根据所示实施例,爬取器服务400可确定是否可获得与给定设备相关联的发布的爬取器元数据。根据示例实施例,M2M设备可以通过第一接口502明确地向M2M爬取器服务400发布M2M爬取器元数据(例如,参见表2)。因此,M2M爬取器服务400可以通过第一接口502来支持允许M2M设备18直接地向M2M爬取器服务400发布其M2M爬取器元数据的能力。替换地,M2M爬取器服务400与之合作的其它服务可支持从M2M设备18接收发布的M2M爬取器元数据。在某些情况下,当M2M设备注册到M2M爬取器服务400时或者当M2M设备注册到M2M爬取器服务400与之合作的另一服务时,可以由M2M设备发布诸如表2中描绘的元数据的M2M爬取器元数据。
举例来说,如果/当资源链接由于移动性(例如,M2M设备的位置的改变)而改变时,使用本文所述M2M爬取器元数据发布能力,移动M2M设备(例如,汽车中的遥测传感器)可以向M2M爬取器服务400提供关于其资源链接的更新。例如,由于当设备改变网络域时M2M设备可被分配新的IP地址,所以其URI的“托管”组件也可改变。如果例如与M2M设备相关联的URI改变,则M2M设备可以使用发布能力的M2M爬取器元数据来更新M2M爬取器服务400,并且因此更新改变的网络爬取器。
参考图8,示出了示例实施例,其中M2M设备18根据表述性状态转移(RESTful)架构通过第一接口502向M2M爬取器服务400发布了M2M爬取器元数据。对于附加上下文,就应用在架构中的组件、实体、连接器以及数据元件的约束而言而不是就所使用的物理组件实施方式或通信协议而言描述了RESTful架构。因此,将描述组件、实体、连接器以及数据元件的作用和功能。在RESTful架构中,可在实体之间传输唯一可寻址资源的表示。当在RESTful架构中处理资源时,存在可应用于资源的基本方法,诸如创建(创建子资源)、检索(读取资源的内容)、更新(写入资源的内容)或删除(删除资源)。本领域的技术人员将认识到目前实施例的实施方式可在保持在本公开的范围内的同时而变化。本领域的技术人员还将认识到所公开的实施例不限于使用本文所使用的oneM2M来描述示例性实施例的实施方式。可以诸如ETSI M2M以及OMA LWM2M的架构和系统及其它相关M2M系统和架构来实现公开实施例。继续参考图8,可以使用受限RESTful环境(CoRE)资源目录(RD)注册接口协议的增强版本来支持对于M2M爬取器元数据属性的扩展,诸如在例如表2中定义的那些属性。
例如,根据所示示例,在802处,M2M设备18向M2M爬取器服务400发送CoRE RD注册请求。根据一个所示实施例,CoRE RD注册请求在CoRE RD注册请求内的新URI查询串参数中携带在表2中定义的设备中心M2M爬取器元数据。元数据的示例包括在没有限制的情况下呈现的设备类型(dt=sensor(传感器))、设备是否要求爬取器代理(cp=true)、连续爬取器请求之间的最小延迟(min_dcd=3600)以及设备的位置(loc=10.523、-78.324)。在804处,M2M爬取器服务接收与M2M设备相关联的发布的爬取器元数据。替换地,参考803,除了在URI查询串参数中携带设备特定爬取器元数据,可以替代地在也支持新扩展以支持爬取器元数据的CoRE RD注册请求有效载荷内携带元数据。在804处,根据图8中所示的两个示例,M2M爬取器服务接收与M2M设备18相关联的发布的爬取器元数据。在806处,在接收到发布的爬取器元数据时,M2M爬取器服务400可以解析接收到的元数据以发现关于M2M设备18的信息,诸如,例如以及在没有限制的情况下,设备的类型、设备是否要求爬取器代理、连续爬取器请求之间的最小延迟、爬取器优先级以及设备的位置。M2M爬取器服务400可以存储此信息并可以使用此信息来确定将来如何和/或何时执行对M2M设备18的爬取。
因此,可托管例如M2M爬取器服务400的第一节点或M2M节点可接收与M2M设备相关联的爬取器元数据。M2M节点可根据接收到的爬取器元数据为一个或多个资源爬取M2M设备。此外,M2M节点可发布一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。
如图8中所示,可在支持新扩展以支持爬取器元数据的CoRE RD注册请求有效载荷中携带在表2中定义的资源特定M2M爬取器元数据。现有CoRE RD注册请求支持使用CoRE链接格式描述语法来描述资源。根据示例实施例,可以在新的核心链接格式属性中携带单独资源所特定的M2M爬取器元数据。某些示例包括在没有限制的情况下呈现的爬取优先级(p=0.8)、重新爬取尝试之间的最大延迟(max_rcd=86400)、资源单位(ru=“celsius(摄氏)”)以及所支持的资源操作(ro=“RO”)。
再次参考图7,如果在704处确定不可获得发布的元数据,例如,因为给定M2M设备不支持向M2M爬取器服务400发布M2M爬取器元数据,则过程可前进至步骤708,在该处,M2M爬取器服务400可以通过第一接口502来查询M2M设备。可以查询M2M设备以发现与M2M设备相关联的M2M爬取器元数据。可以由M2M爬取器服务400在检测到给定M2M设备时,例如当设备调用爬取器服务400并注册到M2M爬取器服务400时以主动且自主(例如,在未被应用调用的情况下)的方式执行查询。
图9描绘了M2M爬取器服务400通过第一接口502查询M2M设备18的示例。在902处,根据所示实施例,M2M爬取器服务400将定义成‘.well-known/core’资源的CoRE链接格式的增强版本发送到支持在表3中定义的M2M爬取器元数据扩展的M2M设备18。因此,M2M爬取器服务400可通过检索‘.well-known/core’资源来查询M2M设备18。在904处,M2M设备18以包括M2M爬取器元数据扩展的其CoRE链接格式描述来进行响应。因此,在906处,M2M爬取器服务400从M2M设备18接收查询到的爬取器元数据。
因此,如上所述,可托管例如M2M爬取器服务400的M2M节点可接收与M2M设备相关联的爬取器元数据。M2M节点可根据接收到的爬取器元数据为一个或多个资源爬取M2M设备。此外,M2M节点可发布一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。M2M节点可向M2M设备发送对爬取器元数据的查询,并且M2M节点可响应于该查询而接收爬取器元数据。
将理解的是,执行图8和9中所示的步骤的实体是可以以软件(例如,计算机可执行指令)的形式实现的逻辑实体,该软件存储在诸如图18C或18D中所示的那些的设备、服务器或计算机系统的存储器中并在其中的处理器上执行。也就是说,可以以存储在诸如图18C或18D中所示的设备或计算机系统的计算设备的存储器中的软件(例如,计算机可执行指令)的形式来实现图8和9中所示的(多个)方法,其中当计算设备的处理器执行该计算机可执行指令时,该计算机可执行指令执行图8和9中所示的步骤。
可以将与M2M设备相关联的M2M爬取器元数据称为设备特定爬取器元数据。可以将此类元数据指定为设备特定资源的属性(例如,/dev),诸如,例如但不限于,设备的类型(dt=sensor(传感器))、设备要求爬取器代理(cp=true)、连续爬取器请求之间的最小延迟(min_dcd=3600)以及设备的位置(loc=10.523、-78.324)。在某些情况下,可以将在给定M2M设备上托管的单独资源所特定的M2M爬取器元数据指定为单独资源的属性,诸如,例如但不限于,爬取优先级(p=0.8)、重新爬取尝试之间的最大延迟(max_rcd=86400)、资源单位(ru=“celsius(摄氏)”)以及所支持的资源操作(ro=“RO”)。再次参考图7,在710处,M2M爬取服务可确定所查询的元数据是否足以爬取给定M2M设备。例如,M2M设备可能不支持向M2M爬取器服务400发布M2M爬取器元数据并允许M2M爬取器服务400查询且发现M2M爬取器元数据的机制。因此,该过程可前进至步骤712,在该处,M2M服务确定M2M设备是否支持爬取器元数据的自动生成。如果设备不支持自动生成爬取器元数据,则根据所示示例,过程前进至730,在那里过程结束。如果M2M设备支持自动生成爬取器元数据,则根据所示示例,过程前进至步骤714,在那里自动生成爬取器元数据。
例如,参考图10,可以经由M2M爬取器服务400监视通过接口502以M2M设备18为目标的请求,来自动生成爬取器元数据。M2M爬取器服务提取作为被监视请求的目标的资源列表。如所示,M2M爬取器服务400可以是在M2M网关14上托管的服务层22的一部分,以M2M设备18为目标的事务流过M2M网关14。如所示,M2M爬取器服务400可以在将例如来自应用20的一个或多个请求1002发送到M2M设备18之前检查该请求。如所示五个请求(请求1002a、1002b、1002c、1002d以及1002e)被监视,但将理解的是可以按需监视和检查任何数目的请求。此外,M2M爬取器服务400可检查来自M2M设备18的响应。再此外,根据示例实施例,M2M爬取器服务400可维持由请求1002将其作为目标的资源的列表。此列表可以充当M2M爬取器元数据,并且可用来执行对M2M设备18的未来爬取。因此,M2M爬取器服务400可监视到M2M设备的请求,并且M2M爬取器服务400可以自动生成以M2M设备的各种资源为目标的爬取器元数据。
同样地,根据另一示例实施例,M2M爬取器服务可以监视由M2M设备发起的请求,并且使用所监视的信息来生成爬取器元数据。例如,在某些情况下,M2M设备可发起将其资源镜像到代理或网关节点的请求。此类M2M设备可周期性地或以基于事件的方式来更新节点。通过监视请求和/或由这些请求将其作为目标的资源,M2M爬取器服务400可以自动生成M2M设备所支持的资源列表。此列表还可以充当M2M爬取器元数据,并且可以用来执行对M2M设备的未来爬取。
因此,在包括包含第一节点(其可托管M2M爬取器服务400)的多个机器对机器(M2M)节点和多个M2M设备的系统中,其中,所述多个M2M节点经由网络进行通信,第一节点可接收与所述多个M2M设备中的至少一个相关联的爬取器元数据。第一节点可根据接收到的爬取器元数据,为一个或多个资源爬取所述至少一个M2M设备。此外,第一节点可发布该一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。如本文所述,第一节点可监视以所述至少一个M2M设备为目标的一个或多个请求。基于该监视,第一节点可确定与所述至少一个M2M设备相关联的上下文信息。此外,基于该上下文信息,第一节点可配置与所述至少一个M2M设备相关联的爬取器元数据,使得所述至少一个M2M设备可以被爬取。
另外,根据另一示例实施例,M2M爬取器服务400还可作为M2M服务层内的后台服务(或者与M2M服务层合作)运行,以定期地对M2M服务层资源进行梳理并从这些资源中提取爬取器元数据。此类实施例可对将其数据存储在M2M服务层资源内的M2M类型设备是有用的。
在另一示例中,M2M爬取器服务400可以支持基于M2M设备的类型而生成与M2M设备相关联的M2M爬取器元数据。例如,当调用M2M爬取器服务400/向其注册时,M2M设备可发布其设备类型(例如,ACME牌温度传感器)。替换地,M2M爬取器服务400可通过查询设备来发现类型。在各种示例情形中,知道设备的类型可允许M2M爬取器服务400推断设备所支持的资源集,因为例如某些类型的设备可具有其支持的标准资源集。在某些情况下,M2M爬取器服务400可包括用于不同M2M设备类型的M2M爬取器元数据的内部库,或者M2M爬取器服务400可利用外部的查找目录/服务来发现此类信息。
再次参考图7,在716处,M2M爬取器服务400可确定给定M2M设备是否可以支持爬取器元数据的富集。如果在706或710处确定爬取器元数据足以爬取给定M2M设备,则过程可前进至步骤716。因此,M2M爬取器服务400可以能够富集被发布、查询或自动生成的M2M设备爬取器元数据。如下面进一步描述,根据示例实施例,通过利用M2M爬取器服务400收集的上下文或状态来支持富集。
在718处,M2M爬取器服务400可以富集爬取器元数据。例如,M2M爬取器服务400可以通过观察在接口502上流过的请求和/或响应来收集上下文信息。以下在表3中列出了以示例的方式而非以限制的方式呈现的用于富集的示例属性。将理解的是其它属性可按需富集元数据。
表3
参考表3,根据各种实施例,M2M爬取器服务400可以使用不同的机制来观察此信息。例如,M2M爬取器服务400可以主动地监视通过接口502向/从给定M2M设备流动的事务,并提取所监视的信息。可在没有大量增加的开销和复杂性的情况下实现监视和提取。例如,通过监视请求内的目标地址(例如,URI)、请求的时间戳而无论给定M2M设备是否响应于请求和相应响应代码,M2M爬取器服务400可以观察上下文信息,诸如上文列出的上下文信息。替换地,M2M爬取器服务400可以与网络中的其它服务合作以收集此信息(例如,通过经由接口504与其它M2M爬取器服务合作)。
使用该监视信息,例如,M2M爬取器服务400可以推断(确定)较高层次的上下文信息并使用此类信息来配置爬取器元数据,诸如,例如但不限于,给定M2M设备是否要求爬取器代理来代表其服务于爬取器请求;以及爬取策略的定义,诸如爬取器在例如确定何时重新爬取给定M2M设备时应使用的最小/最大延迟或时间表。因此,基于与M2M设备相关联的上下文信息,M2M爬取器服务400可以配置与M2M设备相关联的爬取器元数据,使得可以爬取M2M设备。
根据各种实施例,M2M爬取器服务400可以实现推断此较高层次上下文的不同的机制。例如,M2M爬取器服务400可以支持M2M爬取器服务400可以用来推断此类上下文的本地的一组算法和/或策略。M2M爬取器服务400还可以支持推断上下文的可配置和/或可编程的一组算法和/或策略。例如,如果M2M爬取器服务400检测到给定M2M设备并未通过第一接口502响应于爬取器请求,或者以诸如重试状态的错误响应代码进行响应,则M2M爬取器服务400可推断M2M设备不能跟上处理爬取器请求。在这种情形中,M2M爬取器服务400可以富集爬取器元数据,以因此调整最小/最大爬取器延迟。因此,基于与M2M设备相关联的上下文信息,M2M爬取器服务400可以配置与M2M设备相关联的爬取器元数据,使得可以爬取M2M设备。替换地,M2M爬取器服务可以主动地判定代表M2M设备充当爬取器代理。
再次参考图7,在720处,在爬取器元数据被富集之后或者在确定不支持元数据富集之后,M2M爬取器服务400可确定该元数据是否足以爬取M2M设备。如果元数据不足以爬取M2M设备,则过程可前进至730,在那里过程结束。如果元数据足以爬取M2M设备,则M2M爬取器服务400可确定可以是否可以爬取M2M设备。如果可以爬取M2M设备,则在724处爬取M2M设备。在爬取M2M设备之后或者在确定M2M设备不支持爬取之后,确定M2M爬取器服务400是否可以与其它服务合作以发布元数据和/或爬取结果。如果M2M爬取器服务400不进行合作,则过程前进至步骤730,在那里过程结束。如果M2M爬取器服务可以进行合作,则过程前进至步骤728,M2M爬取器服务400在那里与其它服务合作以发布元数据和/或爬取结果。
在示例实施例中,为了支持高效的基于事件爬取(而不是周期性或随机爬取)M2M设备,M2M爬取器服务400支持配置M2M设备,订阅M2M设备,并从M2M设备接收爬取器事件的通知。例如,M2M爬取器服务400可配置关于M2M设备的触发条件,使得M2M爬取器服务400在特定事件发生时被通知。M2M爬取器服务还可以支持M2M设备的本地(固定)触发条件。在本文中定义了示例的一组语义,以支持可配置爬取器事件触发条件。表4图示出了根据示例实施例的基于JSON的示例的一组语义。将理解的是还可以按需使用其它替换格式,并且M2M爬取器服务400可以按需使用附加或替换语义。
表4
现在参考图11,为了支持通过第一接口502从M2M设备接收爬取器事件的通知,M2M爬取器服务400可以订阅M2M设备以接收爬取器事件通知。作为订阅的一部分,M2M爬取器服务400可以配置触发条件以控制是否/何时由设备生成爬取器事件。参考图11,根据所示实施例,M2M爬取器服务400订阅由M2M设备18生成的爬取器事件。在1102处,M2M爬取器服务400向M2M设备18发送订阅请求。所示M2M设备18支持设备爬取器事件订阅资源(例如,′device/dce/subscriptions′),其允许M2M爬取器服务400使用RESTful POST操作来订阅爬取器事件。包括在示例性订阅请求的有效载荷中的是用于爬取器事件的触发条件,该触发条件使用在表4中指定的所示JSON格式语义描述。在示例性订阅请求中还包括的是回调URI,M2M设备18可以使用该回调URI来在满足触发条件的情况下/时向M2M爬取器服务400发送爬取器事件。例如,在1104处,响应于该请求,在M2M设备18处创建爬取器事件订阅,并在M2M设备18处配置触发器。在1106处,触发爬取器事件。在1108处,向M2M爬取器服务400发送爬取器事件或爬取器事件的通知。根据所示示例,使用RESTful POST请求向M2M爬取器服务400发送爬取器事件。此请求可以在其有效载荷中包括事件信息。事件信息可包括例如用于要求爬取/重新爬取的资源的URI列表。在接收到爬取器事件时,在1110处,M2M爬取器服务400可判定是否如本文所述地执行M2M设备18的爬取和/或是否如本文所述地对一个或多个网络爬取器生成相应的爬取器事件。例如,在1112处,M2M爬取器服务400可基于接收到与爬取器事件相关联的通知来爬取M2M设备18的一个或多个资源。
因此,可托管例如M2M爬取器服务400的第一节点或M2M节点可接收到与M2M设备相关联的爬取器元数据。M2M节点可根据接收到的爬取器元数据为一个或多个资源爬取M2M设备。此外,M2M节点可发布一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。如上所述,M2M节点可向M2M设备发送订阅请求。该订阅请求可包括与爬取器事件相关联的触发条件,并且,可根据订阅请求来配置M2M设备。当满足触发条件时,M2M节点可接收爬取器事件的通知。响应于接收到该通知,M2M节点可为对一个或多个资源中的选择资源重新爬取M2M设备,其中,该选择资源是在订阅请求中定义的。替换地或者另外,响应于接收到该通知,M2M节点可生成用于一个或多个网络爬取器的第二通知。
如上所述,M2M爬取器服务400可以向M2M设备提供爬取器代理服务,诸如存储/缓存所爬取的资源的表示。此类服务可以对各种设备有用,诸如并未向M2M服务层注册和/或并未在M2M服务层资源内存储其资源表示的M2M设备。M2M爬取器服务400可以通过发起爬取以自主/主动式方式执行此爬取,或者M2M爬取器服务400还可以基于来自给定M2M设备的明确事件和/或请求来进行爬取。在爬取M2M设备之后,M2M爬取器服务400可以使用爬取的信息来提供各种服务。例如,M2M爬取器服务400可以生成由传统网络爬取器使用的其自己的爬取器事件。所生成的爬取器事件可基于例如检测到新添加、创建或删除的设备资源。M2M爬取器服务400还可以使用爬取M2M设备资源的缓存/存储表示而代表M2M设备服务于网络爬取器请求。在这样做时,可以将M2M设备从必须服务于潜在地大量爬取器请求中释放出来(解除负担)。
现在参考图12,M2M爬取器服务400可解析M2M爬取器元数据以识别在M2M设备上托管的每个资源和对应于资源的爬取器属性。基于M2M设备上的每个资源的爬取器属性,M2M爬取器服务400可以确定将爬取哪些资源(例如,基于‘不爬取’属性)、将爬取资源的顺序(例如,基于‘持久性’属性)以及何时爬取资源(例如,基于‘设备爬取器延迟’和/或‘资源爬取器延迟’和/或‘下一更新时间’属性)。
参考图12,根据所示示例,M2M爬取器服务在1202处开始爬取给定M2M设备18。在1204处,M2M爬取器服务400确定是否可获得与给定M2M设备相关联的爬取器数据。如果可获得爬取器元数据,则在1206处爬取器服务400基于元数据,诸如‘不爬取’元数据,来识别将爬取的资源。在1208处,爬取器服务400基于与M2M设备相关联的元数据,例如基于‘资源爬取优先级’元数据,来确定爬取顺序。在1210处,爬取器服务400基于与M2M设备相关联的元数据,例如基于‘爬取延迟’元数据,来确定爬取时间表。在1212处,爬取器服务400可获取尚未被获取的与最高优先级相关联的资源。所获取的资源还可满足由元数据定义的爬取器调度要求。在1214处,根据所示示例,爬取器服务400可存储与爬取相关联的各种信息,诸如爬取资源表示、爬取器元数据、上下文信息、状态信息等。在1216处,爬取器服务400确定是否存在仍需要爬取的资源。如果存在需要爬取的资源,则该过程返回到步骤1212。如果不存在需要爬取的更多资源,则在1228处爬取结束。
因此,如上所述,如下面参考图12进一步描述,对爬取的每个资源,M2M爬取器服务400可以从M2M设备获取资源表示并存储/缓存该资源表示(例如,在本地或在网络存储区中)。可以以主动/自主的方式或者以基于事件的方式来完成爬取。例如,M2M设备可以在1202处触发到M2M爬取器服务的事件以发起爬取。可以如上所述由M2M爬取器服务400在M2M设备上配置用于爬取器事件的触发条件。M2M爬取器服务400还可以将附加信息与资源一起存储。例如,可以将包含在M2M爬取器元数据中的信息与爬取的资源表示一起存储(例如,表示源自于其中的设备类型或资源类型、表示的内容类型、资源单位、以及当对该表示编索引时从该表示提取的关键字、到相关的父/子/兄弟资源表示的链接等)。此外,在1214处,还可以将M2M爬取器服务400观察/收集的上下文和/或状态信息与爬取的资源表示(例如,时间戳、位置、触发爬取的事件、到与此资源相关的其它资源的表示和/或链接等)一起存储。
继续参考图12,如果在1204处确定不可获得爬取元数据,则爬取器服务400可在1218处检索分级结构中的另一M2M设备,例如下一M2M设备。在1220处,存储爬取的资源表示,并且可将其它信息与爬取的资源表示一起存储。在1222处,爬取器服务400生成与爬取的资源相关联的爬取器元数据。在1224处,爬取器服务400对到应被爬取的子资源的链接,检查爬取的资源表示。在1226处,爬取器服务400确定是否存在子资源。如果存在子资源,则过程返回到步骤1218,使得可以爬取该子资源。如果不存在子资源,爬取在1228处结束。
将理解的是,执行图12中所示的步骤的实体是可以以软件(例如,计算机可执行指令)的形式实现的逻辑实体,该软件存储在诸如图18C或18D中所示的那些的设备、服务器或计算机系统的存储器中并在其中的处理器上执行。也就是说,可以以存储在诸如图18C或18D中所示的设备或计算机系统的计算设备的存储器中的软件(例如,计算机可执行指令)的形式来实现图12中所示的(多个)方法,其中当计算设备的处理器执行该计算机可执行指令时,该计算机可执行指令执行图12中所示的步骤。
还参考图13,根据示例实施例,M2M爬取器服务400可以支持在不使用M2M爬取器元数据的情况下的爬取。例如,M2M爬取器服务400可以通过首先检索并存储设备的基础资源表示且然后对其进行检查以查看资源表示是否包含到任何子资源的链接,来递归地‘途经(walk)’给定M2M设备。例如,在1302处,向M2M爬取器服务400通知爬取器事件。在1304处,如上所述,M2M爬取器服务400可使用发布的元数据、从查询接收到的元数据或自动生成元数据来构建一个或多个爬取器请求。在1306处,M2M爬取器服务400向第一M2M设备18发送第一爬取器请求。响应于该请求,在1308处,第一M2M设备18可向M2M爬取器服务400发送响应。该响应可包括与请求相关联的资源表示。在1310处,根据所示示例,M2M爬取器服务400存储爬取的资源表示、爬取器元数据以及上下文信息。在1312处,M2M爬取器服务400向第二M2M设备18发送第二爬取器请求。响应于该请求,在1314处,第二M2M设备18可向M2M爬取器服务400发送响应。该响应可包括与第二请求相关联的资源表示。在1316处,根据所示示例,M2M爬取器服务400存储爬取的资源表示、爬取器元数据以及上下文信息。在1318处,M2M爬取器服务400向第三M2M设备18发送第三爬取器请求。响应于该请求,在1320处,第三M2M设备18可向M2M爬取器服务400发送第三响应。该第三响应可包括与第三请求相关联的资源表示。在1322处,根据所示示例,M2M爬取器服务400存储爬取的资源表示、爬取器元数据以及上下文信息。虽然在图13中图示出三个响应和请求,但将理解的是该图示用于示例目的,并且可向任何数目的M2M设备发送任何数目的请求。
基于该响应,如上所述,M2M爬取器服务可以检索并存储子资源表示,并且也检查子资源中的链接。在示例实施例中,此过程可以持续直至未发现到子资源的更多链接为止。通过执行这些操作,M2M爬取器服务400可以爬取给定M2M设备,并且M2M爬取器服务400可以自动生成用于M2M设备的M2M爬取器元数据,M2M爬取器元数据例如可以由M2M爬取器服务400或可以与之共享M2M爬取器元数据的网络中的其它爬取器用于对M2M设备的后续重新爬取。
如上所述,给定M2M爬取器服务可与M2M爬取器服务的其它实例合作。例如,在一个实施例中,M2M爬取器服务400通过第二接口504与M2M爬取器服务400的其它实例合作。M2M爬取器服务400还可分别地通过第三接口506和第四接口508与其它类型的服务和/或应用合作。例如但不限于,合作可包括共享爬取器元数据、共享爬取资源表示、订阅基于爬取器的事件、配置基于爬取器的事件、生成基于爬取器的事件等。
因此,例如,托管M2M爬取器服务400的第一节点或M2M节点可从网络爬取器、服务或应用中的至少一个接收查询消息。M2M节点可响应于接收到查询消息而发布一个或多个资源。M2M节点可向在网络中的另一节点或第二节点上托管的M2M爬取器服务的实例发布一个或多个资源。此外,可从在网络中的另一节点或第二节点上托管的M2M爬取器服务400的实例接收与M2M设备相关联的爬取器元数据。
在示例实施例中,M2M爬取器服务400可以使用支持M2M爬取器元数据扩展和自动化发布的站点地图协议的增强版本来发布M2M爬取器元数据和/或爬取的资源表示。例如,M2M爬取器服务400可以以本文所述的不同类型的爬取器元数据和上下文信息来富集站点地图文件。例如,新的站点地图XML标签定义被定义成支持诸如例如表2中所示的爬取器元数据的各种M2M爬取器元数据,以及诸如例如表3中所示的上下文信息的各种上下文信息。图14示出了支持爬取器元数据扩展(以粗体形式)的示例站点地图XML文件。但将理解的是本文所述的实施例可以按需使用其它爬取器元数据扩展。
M2M爬取器服务可以在用于已被主动爬取的M2M设备资源的爬取版本的一个或多个站点地图文件中发布爬取器元数据。例如,可以将这些富集的站点地图文件通过第三接口506发布给网络爬取器。这可导致爬取器请求的目标被定为存储在网络中的M2M设备资源表示的爬取版本,而不是在M2M设备上托管的资源。替换地,M2M爬取器服务可以在用于在M2M设备上托管的资源的一个或多个站点地图文件中发布爬取器元数据(例如,对于M2M设备并非资源受限的情况)。这可导致爬取器请求的目标被定为M2M设备本身而不是M2M爬取器服务400。
M2M爬取器服务可以支持根据各种实施例的用于经由站点地图文件来发布爬取器元数据的不同方法。在一个实施例中,M2M爬取器服务可以对其正在为之提供爬取器服务的M2M设备,维持单个的站点地图文件。使用这种方法,例如,M2M爬取器服务可以将用于多个M2M设备的M2M爬取器元数据聚合在单个站点地图文件内。这可以通过为每个M2M设备在站点地图XML中包括单独的<device>...</device>区段来完成。维持单个站点地图文件的优点可以是减少了M2M爬取器服务向其它网络爬取器、服务、应用等发布M2M爬取器元数据所需的请求的数目。在图16中示出了用于根据本实施例的示例呼叫流程。
替换地,M2M爬取器服务可以为M2M爬取器服务400为之提供服务的每个M2M设备,维持单独的站点地图文件。可以独立地向网络中的各种网络爬取器、服务和/或应用发布这些单独的站点地图文件。另外,M2M爬取器服务400可以维持站点地图索引文件,其包括到用于每个M2M设备的每个单独站点地图文件的参考(例如,链接)。此站点地图索引文件和单独的站点地图文件可以被M2M爬取器服务400发布。因此,可以发布用于选择M2M设备选择网络中的网络爬取器、服务和/或应用的爬取器元数据。
独立于M2M爬取器服务400是保持单个站点地图文件还是多个站点地图文件,M2M爬取器服务可以根据各种示例实施例支持主动发布或被动发布。现在参考图15,主动发布可包括M2M爬取器服务400向网络中的一个或多个网络爬取器404、服务22和/或应用20发送(多个)站点地图文件(参见1503)。作为响应,在1505中,网络爬取器、服务和/或应用可向M2M爬取器服务400发送指示发布请求被成功执行的响应。替换地,在1504处,M2M爬取器服务400可使得(多个)站点地图文件在本地众所周知的路径(例如,/Sitemap.xml)处可用,在该路径中,(多个)文件可以被访问/调用/爬取M2M爬取器服务400的网络中的网络爬取器、服务、应用找到。这可被称为被动发布,并且爬取器服务400可响应于查询消息而被动地发布一个或多个站点地图文件(参见1502)。
因此,可以使用M2M爬取器服务的(多个)站点地图文件来发布M2M爬取器元数据和上下文信息。另外,如上所述,M2M爬取器服务400可在本地存储爬取的资源表示,或者爬取器服务400可能仅收集并发布M2M爬取器元数据。在其中M2M爬取器服务400存储爬取的资源表示的示例情形中,可以将来自网络中的网络爬取器、服务以及应用的爬取器请求(参见1506)的目标指向可以充当M2M设备18的爬取器代理的M2M爬取器服务400。因此,如在1508处所示,M2M爬取器服务400可以直接地响应于该请求。在其中M2M爬取器服务400并未存储爬取的资源表示的示例情形中,可以将来自网络中的网络爬取器、服务以及应用的请求(参见1510)的目标指向M2M设备18而不是M2M爬取器服务400。因此,如在1512处所示,M2M设备18可响应于该请求。
因此,如上所述,可托管例如M2M爬取器服务400的M2M节点可接收与M2M设备相关联的爬取器元数据。M2M节点可根据接收到的爬取器元数据为一个或多个资源爬取M2M设备。此外,M2M节点可发布一个或多个资源,使得该一个或多个资源可以被网络爬取器、服务或应用中的至少一个发现。发布一个或多个资源可包括直接向网络爬取器、服务或应用中的至少一个发送一个或多个站点地图文件。替换地或另外,发布一个或多个资源可包括使得一个或多个站点地图文件在一地址处可用,使得所述一个或多个站点地图文件可以在该地址处被网络爬取器、服务或应用中的至少一个检索到。
现在参考图16,M2M爬取器服务400还可以支持通过第三接口506生成爬取器事件,例如生成爬取器事件并将其发送到诸如第一网络爬取器1600的一个或多个网络爬取器。此外,M2M爬取器服务400可以通过接口504生成用于M2M爬取器服务的其它实例的爬取器事件。再此外,M2M爬取器服务400可以通过接口508生成用于M2M应用20的爬取器事件,例如用于爬取M2M设备18的M2M应用20。可以通过如上所述的任何M2M设备爬取器事件的接收来触发爬取器事件生成。还可以由M2M爬取器服务400自主地且自然地触发事件生成。例如,M2M爬取器服务400可以在M2M爬取器服务400爬取M2M设备18的同时触发生成的爬取器事件。例如,在爬取的同时,M2M爬取器服务400可检测到触发爬取器事件被生成的某些条件,诸如与由M2M爬取器服务400维持的资源状态的在先版本相比一个或多个设备资源的状态的添加、删除或改变。M2M爬取器服务400还可配置提供给网络爬取器、M2M服务和/或M2M应用的事件触发器。例如,M2M爬取器服务400可使用各种爬取器触发条件语义,诸如在例如表4中所示的那些,来配置支持的爬取器事件。
继续参考图16,所示的M2M爬取器服务400支持爬取器事件订阅资源(‘crawler/dce/subscriptions’),其允许网络爬取器、M2M服务以及M2M应用使用RESTful POST操作来订阅爬取器事件。在1602处,网络爬取器向M2M爬取器服务400发送订阅请求。包括在示例订阅请求的有效载荷中的是使用表4中指定的示例JSON格式语义描述的用于爬取器事件的触发条件。在本示例中,网络爬取器1600将M2M爬取器服务400配置成如果/当爬取器服务400跨其所有M2M设备观察到的创建、更新或删除操作的总数目大于1000时,则生成爬取器事件。在本示例中还包括的是如果/当满足触发条件时M2M爬取器服务400可以用来向网络爬取器1600发送爬取器事件的回调URI。因此,在1604处,M2M爬取器服务400创建爬取器事件订阅并根据响应来配置触发器。在1606处,触发指定的爬取器事件。在1608处,向网络爬取器1600发送事件有效载荷。包括在本示例事件有效载荷中的是由于其状态的改变而要求爬取的资源的URI列表。例如,在1610处,在接收到爬取器事件时,网络爬取器1600可以判定是否根据事件有效载荷来执行对M2M设备资源的爬取。在1612处,网络爬取器1600可爬取选择的M2M设备资源。
因此,如上所述,可托管例如M2M爬取器服务400的M2M节点可从网络爬取器接收订阅请求。该订阅请求可包括与爬取器事件相关联的触发条件。M2M节点可根据订阅请求来创建爬取器事件订阅。当满足触发条件时,M2M节点可向网络爬取器发送爬取器事件的通知。该通知可包括与触发条件相关联的一个或多个资源的列表。
将理解的是,执行图15和16中所示的步骤的实体是可以以软件(例如,计算机可执行指令)的形式实现的逻辑实体,该软件存储在诸如图18C或18D中所示的那些的设备、服务器或计算机系统的存储器中并在其中的处理器上执行。也就是说,可以以存储在诸如图18C或18D中所示的设备或计算机系统的计算设备的存储器中的软件(例如,计算机可执行指令)的形式来实现图15和16中所示的(多个)方法,其中当计算设备的处理器执行该计算机可执行指令时,该计算机可执行指令执行图15和16中所示的步骤。
如参考图5所述,可以跨M2M设备的网络(例如,M2M服务器、M2M网关、M2M设备等)来分布M2M爬取器服务实例。此类服务实例可以分布式和/或分级式进行合作,以分发爬取器请求并相互共享爬取器元数据和爬取的资源表示。例如,在M2M网关设备上托管的M2M爬取器服务实例可以爬取注册到网关的M2M设备。M2M爬取器服务然后可以向在M2M服务器上托管的M2M爬取器服务实例发布(例如,通过接口504)这些爬取的资源表示和爬取器元数据,其中M2M网关注册到该M2M服务器。同样地,此M2M爬取器服务可以向在网络中的其它M2M服务器上托管的其它M2M爬取器服务实例发布这些爬取器结果。
在示例实施例中,M2M爬取器服务合作是基于上述站点地图发布机制,其中,每个M2M爬取器服务实例向在分级结构中较高层次的其它M2M爬取器服务实例发布其站点地图。在这样做时,可以以与当前网络爬取器爬取网络的方式相比更加协调的方式来执行对遍及整个网络的M2M设备的爬取。通过以分级方式发布爬取器元数据和结果,例如,因为可以使爬取器结果上升到在分级结构中更高的M2M爬取器服务实例,所以M2M爬取器服务合作可以减少单独M2M设备被爬取的时间量。然后可以在较低M2M爬取器服务实例之前使用与其它M2M爬取器服务实例相比在分级结构中处于较高处的M2M爬取器服务实例来服务于爬取器请求。如果特定M2M爬取器服务实例不能服务于该请求(例如,不具有有效的爬取器结果),则其然后可以确定是否要将请求转送到在分级结构中较低的M2M爬取器服务实例。通过支持此形式的分级M2M爬取器服务合作,可以大大地减少M2M网络中的爬取器业务量以及资源受限M2M设备上的爬取器业务负担。
现在参考图17,oneM2M定义了oneM2M服务层所支持的能力,其被称为能力服务功能(CSF)1702。oneM2M服务层被称为能力服务实体(CSE)1704。在一个实施例中,可以支持M2M爬取器服务400作为oneM2M CSF,并且因此其可以被称为M2M爬取器CSF 400。例如,爬取器CSF 400爬取的M2M设备可以是M2M设备、网关、以及托管应用和/或CSE自身的服务器。应用和CSE 1704可以支持M2M爬取器CSF 400可以爬取并收集其元数据的资源。此爬取可以通过以‘X’和‘Y’参考点定义的oneM2M来执行。可以通过定义oneM2M‘X’参考点上的相应功能来支持M2M爬取器服务400接口502、506以及508的本文所述功能。同样地,可以通过定义oneM2M‘Y’参考点上的操作来支持M2M爬取器服务400接口504的本文所述功能。
例如,爬取器CSF 400可以与网络中的其它爬取器CSF实例共享爬取器结果。爬取器CSF 400还可以与其它类型的CSF以及网络中的其它非oneM2M服务和应用(例如,网络爬取器)共享爬取器结果。
根据示例实施例,可以将表2中所示的M2M爬取器元数据、表3中所示的M2M爬取器上下文信息以及上述M2M爬取器事件订阅和语义定义为oneM2M架构内的新资源和属性。同样地,可以将本文所述的M2M爬取器方法定义为oneM2M架构中的M2M爬取器CSF过程。
ETSI M2M定义了ETSI M2M服务层所支持的能力,其被称为服务能力(SC)。ETSIM2M服务层被称为服务能力层(SCL)。在一个实施例中,支持本文所述的M2M爬取器服务400作为ETSI M2M SC。爬取器SC爬取的M2M设备可以是M2M设备、网关以及托管应用和/或SCL自身的服务器。该应用和SCL可以支持M2M爬取器SC可以爬取并为之收集元数据的资源。可以在‘dla’、‘mla’和‘mld’参考点上执行此爬取,其中,可以通过定义‘dla’参考点上的操作来支持本文所述的M2M爬取器服务400接口502,可以通过定义‘mla’参考点上的操作来支持本文所述的接口506和508,以及可以通过定义‘mld’参考点上的操作来支持本文所述的接口504。
例如,爬取器SC可以与网络中的其它爬取器SC实例共享爬取器结果。爬取器SC还可以与其它类型的SC以及网络中的其它非ETSI M2M服务和应用(例如,网络爬取器)共享爬取器结果。
根据示例实施例,可以将表2中所示的M2M爬取器元数据、表3中所示的M2M爬取器上下文信息以及上述M2M爬取器事件订阅和语义定义为ETSI M2M M2M资源结构内的新资源和属性。同样地,可以将本文所述的M2M爬取器方法定义为ETSI M2M架构中的M2M爬取器SC过程。例如,根据一个实施例,M2M爬取器SC可以作为后台任务运行,爬取存储在M2M服务层内的M2M设备资源,以及生成爬取器元数据。在这样做时,可以进而使得此元数据可用于网络爬取器(例如,经由增强型站点地图方法)。因此,例如,M2M爬取器SC通过将爬取器元数据公告至人们更容易找到的网络搜索引擎来向本地SCL以及注册到SCL的M2M设备提供服务。
如上所述,实施例允许进行增强的IoT网络浏览。例如,可以使用网络搜索引擎来搜索M2M设备。可以由用户向搜索引擎中输入各种查询以检索与M2M设备相关联的信息。例如但不限于,示例查询包括与M2M设备的类型、M2M设备的物理位置、与M2M设备相关联的内容类型、与M2M设备相关联的测量单位等有关的查询。另外,使用上述实施例,可以在用户的计算设备上显示搜索引擎结果,其包括与M2M设备相关联的各种信息,诸如给定M2M设备的可达性状态、与M2M设备相关联的内容的可用性(例如,过去或当前)等。
图18A是其中可实现一个或多个公开实施例的示例机器对机器(M2M)、物联网(IoT)或万物网(WoT)通信系统10的图。一般地,M2M技术提供了用于IoT/WoT的构建模块,并且任何M2M设备、M2M网关或M2M服务平台可以是IoT/WoT以及IoT/WoT服务层等的组件。
如图18A中所示,M2M/IoT/WoT通信系统10包括通信网络12。通信网络12可以是固定网络(例如,以太网、Fiber、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或者异构网络的网络。例如,通信网络12可由向多个用户提供诸如语音、数据、视频、消息、广播等内容的多个接入网构成。例如,通信网络12可采用一个或多个信道接入方法,诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。此外,通信网络12可包括其它网络,诸如核心网络、互联网、传感器网络、工业控制网络、个域网、融合个人网络、卫星网络、家庭网络或企业网。
如图18A中所示,M2M/IoT/WoT通信系统10可包括基础结构域和场域。基础结构域指代端对端M2M部署的网络侧,以及场域通常指代在M2M网关后面的区域网络。场域包括M2M网关14和终端设备18。将认识到的是可按需在M2M/IoT/WoT通信系统10中包括任何数目的M2M网关设备14和M2M终端设备18。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设备18和网关14可经由各种网络进行通信,该网络例如包括蜂窝式、WLAN WPAN(例如,Zigbee、6LoWPAN、蓝牙)、直接无线电链路以及有线。
参考图18B,场域中的所示M2M服务层22为M2M应用20、M2M网关设备14以及M2M终端设备18和通信网络12提供服务。将理解的是M2M服务层可按需与任何数目的M2M应用、M2M网关设备14、M2M终端设备18以及通信网络12通信。M2M服务层22可由一个或多个服务器、计算机等来实现。M2M服务层22提供适用于M2M终端设备18、M2M网关设备14和M2M应用20的服务能力。可以以多种方式来实现M2M服务层22的功能,例如作为网络服务器、在蜂窝式核心网络中、在云中等。
类似于所示的M2M服务层22,在基础结构域中存在M2M服务层22′。M2M服务层22′为基础结构域中的M2M应用20′和底层通信网络12′提供服务。M2M服务层22′还为场域中的M2M网关设备14和M2M终端设备18提供服务。将理解的是M2M服务层22′可与任何数目的M2M应用、M2M网关设备和M2M终端设备通信。M2M服务层22′可以通过不同的服务提供商与服务层相交互。可通过一个或多个服务器、计算机、虚拟机(例如,云/计算/存储群等)等来实现M2M服务层22′。
仍参考图18B,M2M服务层22和22′提供了不同应用和领域可以利用的一组核心服务递送能力。这些服务能力使得M2M应用20和20′能够与设备相交互并执行功能,诸如数据收集、数据分析、设备管理、安全、计费、服务/设备发现等。本质上,这些服务能力免除了应用实现这些功能的负担,因此简化了应用开发并减少了成本和上市时间。服务层22和22′还使得M2M应用20和20′能够通过与服务层22和22′提供的服务相连接的各种网络12和12′进行通信。
在某些实施例中,如本文所讨论,M2M应用20和20′可包括使用会话证书进行通信的期望应用的。M2M应用20和20′可包括各种行业中的应用,诸如但不限于,运输、健康和保健、联网家庭、能源管理、资产追踪以及安全和监控。如上所述,跨越本系统的设备、网关以及其它服务器的M2M服务层支持诸如数据收集、设备管理、安全、计费、位置追踪/地理围栏、设备/服务发现以及传统系统集成之类的功能,并将这些功能作为服务提供给M2M应用20和20′。
可将本申请的M2M爬取器服务400实现为任何服务层的一部分。该服务层是通过一组应用编程接口(API)和底层联网接口来支持增值服务能力的软件中间件层。M2M实体(例如,M2M功能实体,诸如可由硬件和软件的组合实现的设备、网关或服务/平台)可提供应用或服务。ETSI M2M和oneM2M两者都使用服务层,其可包含E2E M2M服务层会话管理及本发明的其它事项。ETSI M2M的服务层称为服务能力层(SCL)。可在M2M设备(其中,将其称为设备SCL(DSCL))、网关(其中,将其称为网关SCL(GSCL))和/或网络节点(其中,将其称为网络SCL(NSCL))内实现SCL。oneM2M服务层支持一组公共服务功能(CSF)(即服务能力)。一组一个或多个特定类型的CSF的实例化被称为公共服务实体(CSE),CSE可以在不同类型的网络节点(例如基础结构节点、中间节点、应用特定节点)上托管。此外,可以将E2E M2M服务层会话管理及本申请的其它事项实现为使用面向服务架构(SOA)和/或面向资源架构(ROA)的M2M网络的一部分,以访问除诸如会话端点、会话管理程序以及会话证书功能的事项之外的本申请的服务。
图18C是示例M2M设备30的系统图,M2M设备30诸如是M2M终端设备18或M2M网关设备14。如图18C中所示,M2M设备30可包括处理器32、收发器34、发送/接收元件36、扬声器/麦克风38、小键盘40、显示器/触摸板42、不可移动存储器44、可移动存储器46、电源48、全球定位系统(GPS)芯片组50及其它外围设备52。将认识到的是M2M设备30可包括前述元件的任何子组合而仍与实施例一致。该设备可以是使用包括M2M爬取器服务400的所公开的系统和方法的设备。处理器32可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其它类型的集成电路(IC)、状态机等。处理器32可执行信号编码、数据处理、电源控制、输入/输出处理和/或使得M2M设备30能够在无线环境中操作的任何其它功能。处理器32可被耦合到收发器34,收发器34可被耦合到发送/接收元件36。虽然图18C将处理器32和收发器34描绘为单独组件,但将认识到的是可将处理器32和收发器34一起集成在电子封装或芯片中。处理器32可执行应用层程序(例如,浏览器)和/或无线电接入层(RAN)程序和/或通信。处理器32可执行安全操作,诸如例如在接入层和/或应用层上的认证、安全密钥协议和/或密码操作。
发送/接收元件36可被配置成向M2M服务平台22发送信号或从其接收信号。例如,在实施例中,发送/接收元件36可以是被配置成发送和/或接收RF信号的天线。发送/接收元件36可支持各种网络和空中接口,诸如WLAN、WPAN、蜂窝等。在实施例中,发送/接收元件36可以是被配置成发送和/或接收IR、UV或可见光信号的发射器/探测器。在又一实施例中,发送/接收元件36可被配置成发送和接收RF和光信号两者。将认识到的是发送/接收元件36可被配置成发送和/或接收无线或有线信号的任何组合。
另外,虽然在图18C中将发送/接收元件36描绘为单个元件,但M2M设备30可包括任何数目的发送/接收元件36。更具体地,M2M设备30可采用MIMO技术。因此,在实施例中,M2M设备30可包括用于发送和接收无线信号的两个或更多发送/接收元件36(例如,多个天线)。
收发器34可被配置成对将通过发送/接收元件36发送的信号进行调制,并对由发送/接收元件36接收到的信号进行解调。如上所述,M2M设备30可具有多模式能力。因此,例如,收发器34可包括用于使得M2M设备30能够经由诸如UTRA和IEEE 802.11的多个RAT进行通信的多个收发器。
处理器32可从诸如不可移动存储器44和/或可移动存储器46的任何类型的适当存储器访问信息并在其中存储数据。不可移动存储器44可包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其它类型的存储器存储设备。可移动存储器46可包括订户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其它实施例中,处理器32可从诸如服务器或家用计算机的物理上不位于M2M设备30上的存储器访问信息存储以及在其中存储数据。处理器32可被配置成响应于如本文所述的某些实施例中的M2M爬取器服务400(例如,爬取、发布、合作)是成功还是不成功来控制显示器或指示器42上的照明模式、图像或颜色,或者以别的方式指示M2M爬取器服务400执行的状态。在另一示例中,显示器可显示关于本文所述的爬取事件的信息。可在显示器上示出的图形用户界面可分层堆放在API之上,以允许用户经由本文所述的底层M2M爬取器服务400交互式地建立并管理对M2M设备的网络搜索。例如,可以在用户的计算设备上显示搜索引擎结果,其包括与M2M设备相关联的各种信息,例如给定M2M设备的可达性状态、与M2M设备相关联的内容的可用性(例如,过去或当前)等。
处理器32可从电源38接收功率,并且可被配置成向M2M设备30中的其它组件分配和/或控制功率。电源48可以是用于对M2M设备30供电的任何适当设备。例如,电源48可包括一个或多个干电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li离子)等)、太阳能电池、燃料电池等。
处理器32还可被耦合到GPS芯片组50,其被配置成提供关于M2M设备30的当前位置的位置信息(例如,经度和纬度)。将认识到的是M2M设备30可通过任何适当的位置确定方法来获取位置信息在仍与实施例一致。
处理器32可进一步被耦合到其它外围设备52,其可包括提供附加特征、功能和/或有线或无线连接性的一个或多个软件和/或硬件模块。例如,外围设备52可包括加速度计、电子指南针、卫星收发器、传感器、数字式照相机(用于照片或视频)、通用串行总线(USB)端口、振动设备、电视收发器、免提耳机、模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器等。
图18D是可在其上实现图18A和18B的例如M2M服务平台22的示例性计算系统90的框图。计算系统90可包括计算机或服务器,并且可主要由可以以软件为形式的计算机可读指令来控制,无论在哪里或通过何种手段来存储或访问此类软件。此类计算机可读指令可在中央处理单元(CPU)91内被执行以促使计算系统90进行工作。在许多已知的工作站、服务器以及个人计算机中,中央处理单元91由被称为微处理器的单片CPU来实现。在其它机器中,中央处理单元91可包括多个处理器。协处理器81是不同于主CPU 91的可选处理器,其执行附加功能或协助CPU 91。CPU 91和/或协处理器81可接收、生成以及处理与用于E2E M2M服务层会话的公开系统和方法有关的数据,诸如接收会话证书并基于该会话证书进行认证。
在操作中,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,其负责将CPU 91的指令通信给诸如打印机94、键盘84、鼠标95以及磁盘驱动器85的外围设备。
由显示器控制器96控制的显示器86被用来显示由计算系统90生成的视觉输出。此类视觉输出可包括文本、图形、动画图形以及视频。可以使用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子体的平板显示器或触摸屏来实现显示器86。显示器控制器96包括生成被发送到显示器86的视频信号所需的电子组件。
此外,计算系统90可包含网络适配器97,其可被用来将计算系统90连接到诸如图18A和图18B的网络12的外部通信网。
应理解的是可以以存储在计算机可读存储介质上的计算机可执行指令(即,程序代码)的形式来体现本文所述的系统、方法以及过程的任何或全部,其中当诸如计算机、服务器、M2M终端设备、M2M网关设备等机器执行指令时,该指令执行和/或实现本文所述的系统、方法和过程。具体地,可以此类计算机可执行指令的形式来实现上文所述的步骤、操作或功能中的任何。计算机可读存储介质包括以用于信息存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质两者,但是此类计算机可读存储介质不包括信号。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者可以用来存储期望信息且可以由计算机访问的其它物理介质。
在描述本公开的主题的优选实施例时,如图中所示,为了明了起见而采用特定术语。然而,要求保护的主题并不意图限于这样选择的特定术语,并且应理解的是每个特定元件包括以类似方式操作以实现类似目的的所有技术等价物。
本书面描述使用示例来公开本发明,包括最佳模式,并且还使得本领域的技术人员能够实践本发明,包括制造和使用任何设备或系统以及执行任何结合的方法。本发明的可以取得专利的范围由权利要求定义,并且可包括本领域的技术人员想到的其它示例。如果此类其他示例具有不同于权利要求的字面语言的结构元件,或者如果此类其他示例包括与权利要求的字面语言无实质性差别的等价结构元件,则此类其它示例意图落入权利要求的范围内。
Claims (25)
1.一种机器对机器M2M节点,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器上存储有可执行指令,在所述处理器执行所述可执行指令时,所述可执行指令促使所述处理器执行操作,所述操作包括:
接收与M2M设备相关联的爬取器元数据;
根据所接收到的爬取器元数据,为一个或多个资源爬取所述M2M设备,其中所述爬取器元数据指示所述一个或多个资源以及下述中的至少一个:所述一个或多个资源被爬取的顺序或者用于爬取所述一个或多个资源的爬取时间表;以及
发布所述一个或多个资源,使得所述一个或多个资源能够被网络爬取器、服务或应用中的至少一个发现。
2.如权利要求1所述的M2M节点,所述操作还包括:
为所述爬取器元数据向所述M2M设备发送查询;以及
接收响应于所述查询的所述爬取器元数据。
3.如权利要求1所述的M2M节点,所述操作还包括:
向所述M2M设备发送订阅请求,所述订阅请求包括与爬取器事件相关联的触发条件,其中,所述M2M设备是根据所述订阅请求配置的。
4.如权利要求3所述的M2M节点,所述操作还包括:
当满足所述触发条件时,接收所述爬取器事件的通知;以及
响应于接收到所述通知,为所述一个或多个资源中的选择资源重新爬取所述M2M设备,其中,所述选择资源是在所述订阅请求中定义的。
5.如权利要求3所述的M2M节点,所述操作还包括:
当满足所述触发条件时,接收所述爬取器事件的通知;以及
响应于接收到所述通知,生成用于一个或多个网络爬取器的第二通知。
6.如权利要求1所述的M2M节点,所述操作还包括:
从所述至少一个网络爬取器、服务或应用接收查询消息;以及
响应于接收到所述查询消息而发布所述一个或多个资源。
7.如权利要求1所述的M2M节点,其中,发布所述一个或多个资源包括直接向所述至少一个网络爬取器、服务或应用发送一个或多个站点地图文件。
8.如权利要求1所述的M2M节点,其中,发布所述一个或多个资源包括使得一个或多个站点地图文件在一地址处可用,使得所述一个或多个站点地图文件能够在所述地址处被所述至少一个网络爬取器、服务或应用检索到。
9.权利要求1所述的M2M节点,所述操作还包括:
接收受限RESTful环境CoRE资源目录注册请求,所述CoRE资源目录注册请求包括与所述M2M设备相关联的所述爬取器元数据。
10.权利要求9所述的M2M节点,其中,为一个或多个资源爬取所述M2M设备还包括从所述M2M设备接收CoRE链接格式描述,所述CoRE链接格式描述包括所述一个或多个资源。
11.如权利要求1所述的M2M节点,所述操作还包括:
从网络爬取器接收订阅请求,所述订阅请求包括与爬取器事件相关联的触发条件;以及
根据所述订阅请求来创建爬取器事件订阅。
12.如权利要求11所述的M2M节点,所述操作还包括:
当满足所述触发条件时,向所述网络爬取器发送所述爬取器事件的通知,其中,所述通知包括与所述触发条件相关联的一个或多个资源的列表。
13.一种在具有包括第一节点的多个机器对机器M2M节点和多个M2M设备的系统中,由所述第一节点执行的方法,其中,所述多个M2M节点经由网络进行通信,所述方法包括:
接收与所述多个M2M设备中的至少一个M2M设备相关联的爬取器元数据;
根据所接收到的爬取器元数据,为一个或多个资源爬取所述至少一个M2M设备,其中所述爬取器元数据指示所述一个或多个资源以及下述中的至少一个:所述一个或多个资源被爬取的顺序或者用于爬取所述一个或多个资源的爬取时间表;以及
发布所述一个或多个资源,使得所述一个或多个资源能够被网络爬取器、服务或应用中的至少一个发现。
14.如权利要求13所述的方法,所述方法还包括:
为所述爬取器元数据向所述至少一个M2M设备发送查询;以及
接收响应于所述查询的所述爬取器元数据。
15.如权利要求13所述的方法,所述方法还包括:
向所述至少一个M2M设备发送订阅请求,所述订阅请求包括与爬取器事件相关联的触发条件,其中,所述M2M设备是根据所述订阅请求配置的。
16.如权利要求15所述的方法,所述方法还包括:
当满足所述触发条件时,接收所述爬取器事件的通知;以及
响应于接收到所述通知,为所述一个或多个资源中的选择资源重新爬取所述至少一个M2M设备,其中,所述选择资源是在所述订阅请求中定义的。
17.如权利要求15所述的方法,所述方法还包括:
当满足所述触发条件时,接收所述爬取器事件的通知;以及
响应于接收到所述通知,生成用于一个或多个网络爬取器的第二通知。
18.如权利要求13所述的方法,所述方法还包括:
从所述至少一个网络爬取器、服务或应用接收查询消息;以及
响应于接收到所述查询消息而发布所述一个或多个资源。
19.如权利要求13所述的方法,其中,发布所述一个或多个资源包括直接向所述至少一个网络爬取器、服务或应用发送一个或多个站点地图文件。
20.如权利要求13所述的方法,其中,发布所述一个或多个资源包括使得一个或多个站点地图文件在一地址处可用,使得所述一个或多个站点地图文件能够在所述地址处被所述至少一个网络爬取器、服务或应用检索到。
21.如权利要求13所述的方法,所述方法还包括:
从网络爬取器接收订阅请求,所述订阅请求包括与爬取器事件相关联的触发条件;以及
根据所述订阅请求来创建爬取器事件订阅。
22.如权利要求21所述的方法,所述方法进一步包括:
当满足所述触发条件时,向所述网络爬取器发送所述爬取器事件的通知,其中,所述通知包括与所述触发条件相关联的一个或多个资源的列表。
23.如权利要求13所述的方法,其中,向在所述网络中的第二节点上托管的M2M爬取器服务的实例发布所述一个或多个资源。
24.如权利要求13所述的方法,其中,从在所述网络中的第二节点上托管的M2M爬取器服务的实例接收与所述多个M2M设备中的至少一个相关联的爬取器元数据。
25.如权利要求13所述的方法,所述方法还包括:
监视以所述至少一个M2M设备为目标的一个或多个请求;
基于所述监视,确定与所述至少一个M2M设备相关联的上下文信息;以及
基于所述上下文信息,配置与所述至少一个M2M设备相关联的所述爬取器元数据,使得能够爬取所述至少一个M2M设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361893573P | 2013-10-21 | 2013-10-21 | |
US61/893,573 | 2013-10-21 | ||
PCT/US2014/061530 WO2015061290A1 (en) | 2013-10-21 | 2014-10-21 | Crawling of m2m devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105766004A CN105766004A (zh) | 2016-07-13 |
CN105766004B true CN105766004B (zh) | 2019-12-03 |
Family
ID=51866349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480063559.7A Expired - Fee Related CN105766004B (zh) | 2013-10-21 | 2014-10-21 | M2m设备的爬取 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20160275190A1 (zh) |
EP (1) | EP3061272B1 (zh) |
JP (1) | JP6463768B2 (zh) |
KR (2) | KR101825700B1 (zh) |
CN (1) | CN105766004B (zh) |
WO (1) | WO2015061290A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3104648B1 (en) * | 2014-02-04 | 2021-02-24 | NTT DoCoMo, Inc. | Service control system, user device and service control method |
US10929907B1 (en) * | 2014-04-25 | 2021-02-23 | PetroCloud LLC | Automation platform for the internet of things |
CN105610880B (zh) * | 2014-11-10 | 2020-06-16 | 中兴通讯股份有限公司 | M2m通信架构、信息交互方法及装置 |
CN104503983A (zh) * | 2014-11-27 | 2015-04-08 | 百度在线网络技术(北京)有限公司 | 为搜索引擎提供网站认证数据的方法及装置 |
US10262066B2 (en) | 2014-12-24 | 2019-04-16 | Samsung Electronics Co., Ltd. | Crowd-sourced native application crawling |
US20160188716A1 (en) * | 2014-12-24 | 2016-06-30 | Quixey, Inc. | Crowd-Sourced Crawling |
WO2016195199A1 (ko) * | 2015-06-04 | 2016-12-08 | 엘지전자 주식회사 | 무선 통신 시스템에서 폴링 채널을 통해 요청을 처리하기 위한 방법 및 이를 위한 장치 |
CN106469040B (zh) * | 2015-08-19 | 2019-06-21 | 华为终端有限公司 | 通信方法、服务器及设备 |
WO2017040931A1 (en) * | 2015-09-02 | 2017-03-09 | Convida Wireless, Llc | Methods and apparatus for enhancing native service layer device management functionality |
EP3353678B1 (en) | 2015-10-28 | 2021-04-07 | Viasat, Inc. | Time-dependent machine-generated hinting |
US20170187831A1 (en) * | 2015-12-29 | 2017-06-29 | Itron, Inc. | Universal Abstraction Layer and Management of Resource Devices |
KR102095436B1 (ko) | 2016-03-04 | 2020-03-31 | 콘비다 와이어리스, 엘엘씨 | 서비스 계층에서의 요청 처리 |
US10145691B2 (en) * | 2016-05-18 | 2018-12-04 | Here Global B.V. | Ambiguity map match rating |
US10397303B1 (en) * | 2016-08-29 | 2019-08-27 | Amazon Technologies, Inc. | Semantic annotation and translations for devices |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10771479B2 (en) * | 2016-09-26 | 2020-09-08 | Splunk Inc. | Configuring modular alert actions and reporting action performance information |
KR20190059952A (ko) * | 2016-09-29 | 2019-05-31 | 콘비다 와이어리스, 엘엘씨 | 분산형 시맨틱 디스크립터들을 통한 시맨틱 질의 |
TW201814554A (zh) * | 2016-10-12 | 2018-04-16 | 香港商阿里巴巴集團服務有限公司 | 搜索方法、裝置、終端設備和操作系統 |
US10979879B2 (en) | 2016-12-09 | 2021-04-13 | Convida Wireless, Llc | Mechanisms for resource-directory to resource-directory communications |
US11797458B2 (en) | 2017-12-19 | 2023-10-24 | Sony Corporation | Terminal management device and terminal device |
JP7032970B2 (ja) * | 2018-03-28 | 2022-03-09 | 京セラ株式会社 | 通信システム、通信モジュール、サーバ、制御方法、及び制御プログラム |
US11256764B2 (en) * | 2018-05-03 | 2022-02-22 | EMC IP Holding Company LLC | Managing content searches in computing environments |
KR102306542B1 (ko) | 2018-06-05 | 2021-09-29 | 삼성전자주식회사 | 정보 처리 방법 및 디바이스 |
EP3764243B1 (en) * | 2019-07-09 | 2023-11-29 | ABB Schweiz AG | An industrial information identification and retrieval system |
US11366862B2 (en) * | 2019-11-08 | 2022-06-21 | Gap Intelligence, Inc. | Automated web page accessing |
KR102615979B1 (ko) | 2020-04-29 | 2023-12-20 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 데이터 업데이트 방법, 장치, 검색 서버, 단말 및 저장매체 |
CN111767442B (zh) * | 2020-04-29 | 2023-12-26 | 百度在线网络技术(北京)有限公司 | 数据更新方法、装置、搜索服务器、终端及存储介质 |
CN115004671A (zh) * | 2020-06-16 | 2022-09-02 | Oppo广东移动通信有限公司 | 资源发布方法、装置、网关、云平台及计算机存储介质 |
US20230281262A1 (en) * | 2020-07-22 | 2023-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Provision of Network Access Information for a Computing Device |
CN113656683B (zh) * | 2021-07-12 | 2024-08-23 | 北京旷视科技有限公司 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
CN113821705B (zh) * | 2021-08-30 | 2024-02-20 | 湖南大学 | 网页内容的获取方法、终端设备及可读存储介质 |
CN114866354B (zh) * | 2022-07-06 | 2022-10-11 | 中国人民解放军国防科技大学 | 基于指纹元搜索与扩展识别的物联网终端设备识别方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092936A (zh) * | 2013-01-08 | 2013-05-08 | 华北电力大学(保定) | 一种物联网动态页面实时信息采集方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US102690A (en) * | 1870-05-03 | Improvement in pipe-tongs | ||
JPH0981429A (ja) * | 1995-09-19 | 1997-03-28 | Mitsubishi Electric Corp | キャッシュ管理装置 |
JP2001273303A (ja) * | 2000-03-27 | 2001-10-05 | Sony Corp | 情報取得システム、情報取得装置及び情報取得方法並びにプログラム格納媒体 |
US8065359B2 (en) | 2004-09-16 | 2011-11-22 | Nokia Corporation | Integrated method and apparatus to manage mobile devices and services |
US7653617B2 (en) * | 2005-08-29 | 2010-01-26 | Google Inc. | Mobile sitemaps |
EP2131292A1 (en) * | 2008-06-06 | 2009-12-09 | NTT DoCoMo, Inc. | Method and apparatus for searching a plurality of realtime sensors |
US9113283B2 (en) | 2012-04-03 | 2015-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for event notification framework in a machine-to-machine (M2M) context |
KR101432128B1 (ko) * | 2013-01-29 | 2014-08-21 | 주식회사 케이티 | M2m 네트워크상에서의 리소스를 디바이스 오브젝트로 추상화하는 m2mm 플랫폼 |
-
2014
- 2014-10-21 CN CN201480063559.7A patent/CN105766004B/zh not_active Expired - Fee Related
- 2014-10-21 WO PCT/US2014/061530 patent/WO2015061290A1/en active Application Filing
- 2014-10-21 US US15/030,900 patent/US20160275190A1/en not_active Abandoned
- 2014-10-21 JP JP2016549217A patent/JP6463768B2/ja not_active Expired - Fee Related
- 2014-10-21 KR KR1020167013273A patent/KR101825700B1/ko active IP Right Grant
- 2014-10-21 EP EP14793959.9A patent/EP3061272B1/en not_active Not-in-force
- 2014-10-21 KR KR1020187002980A patent/KR20180029232A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092936A (zh) * | 2013-01-08 | 2013-05-08 | 华北电力大学(保定) | 一种物联网动态页面实时信息采集方法 |
Non-Patent Citations (2)
Title |
---|
Facilitating sensor deployment, discovery and resource access using embedded web services;Isam Ishaq 等;《IEEE Xplore》;20120910;全文 * |
SPITFIRE: Toward a Semantic Web of Things;Dennis Pfisterer 等;《IEEE Xplore》;20111110;全文 * |
Also Published As
Publication number | Publication date |
---|---|
KR20160074611A (ko) | 2016-06-28 |
EP3061272B1 (en) | 2019-09-25 |
EP3061272A1 (en) | 2016-08-31 |
US20160275190A1 (en) | 2016-09-22 |
JP2016536729A (ja) | 2016-11-24 |
CN105766004A (zh) | 2016-07-13 |
WO2015061290A1 (en) | 2015-04-30 |
JP6463768B2 (ja) | 2019-02-06 |
KR20180029232A (ko) | 2018-03-20 |
KR101825700B1 (ko) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105766004B (zh) | M2m设备的爬取 | |
US11741138B2 (en) | Enabling resource semantics | |
US10341439B2 (en) | Semantics support and management in M2M systems | |
KR101811966B1 (ko) | 시멘틱 공표 및 탐색을 위한 메커니즘 | |
US10432449B2 (en) | Semantics annotation and semantics repository for M2M systems | |
KR102254038B1 (ko) | 사물 인터넷에서 시맨틱 매시업을 가능케 하기 | |
Zhu et al. | SOLE: Context-aware sharing of living experience in mobile environments | |
Ostermaier | The Web as an Interface to the Physical World: Real-time Search and Development Support: Real-time Search and Development Support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |