CN100352218C - 动态网络环境下的资源发现方法 - Google Patents

动态网络环境下的资源发现方法 Download PDF

Info

Publication number
CN100352218C
CN100352218C CNB2004100377095A CN200410037709A CN100352218C CN 100352218 C CN100352218 C CN 100352218C CN B2004100377095 A CNB2004100377095 A CN B2004100377095A CN 200410037709 A CN200410037709 A CN 200410037709A CN 100352218 C CN100352218 C CN 100352218C
Authority
CN
China
Prior art keywords
service
equipment
message
software
resource
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 - Lifetime
Application number
CNB2004100377095A
Other languages
English (en)
Other versions
CN1691622A (zh
Inventor
黄景楠
罗予晋
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB2004100377095A priority Critical patent/CN100352218C/zh
Publication of CN1691622A publication Critical patent/CN1691622A/zh
Application granted granted Critical
Publication of CN100352218C publication Critical patent/CN100352218C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种适用于动态网络环境下的资源发现方法,在网络拓扑结构处于高度不稳定状态下发现网络资源进而实现共享。在网络中的物理设备上安装一个支持设备动态资源发现的软件,该软件包括用于启动、停止软件本身的启动、停止控制接口,用于监测设备自身服务状况的服务注册、注销接口,和用于发现资源的资源查找、资源变化订阅及资源变化通知接口,该软件的网络调用接口在指定的多播地址上进行侦听和作出应答。该软件通过调用并处理上述接口,监测设备的工作状态及资源变更状态。不同设备上的软件间通过组播查找、相应的单播应答,以及资源变化事件订阅与通知,实现网络资源的动态发现。在网络中没有资源管理设备时无需遍历整个网络。

Description

动态网络环境下的资源发现方法
技术领域
本发明涉及一种计算机网络资源发现技术,更确切地说是涉及动态网络环境下的资源发现技术。该动态网络是指网络拓扑结构处于一种高度不稳定的状态下,即设备频繁地出入网络。
背景技术
随着计算机技术及网络技术的迅猛发展,各种设备通过网络连接从而共享资源已经非常普及。要实现资源共享的前提是资源发现,尤其是在具有高度动态特性的网络环境中,如无线局域网。由于各个设备非常容易地进出网络,而且频繁地进出,如何迅速准确的发现网络中的资源状况就成为高效共享网络资源的一个重要技术问题。
针对相对固定网络环境的资源发现问题,业界已有很多成熟的技术,如服务定位协议SLP(Service Location Protocol),Jini,OSGI等相关技术。这些技术具有一个共同特性,即在网络中都需要一个相对固定的资源索引设备,网络中的其它设备通过向资源索引设备发布自身资源以充实资源索引设备,和检索资源索引设备以发现网络中的资源进而实现资源共享。如SLP协议需要一个相对固定设备起目录代理(Directory Agent)作用,如Jini技术,需要一个固定设备提供发现(Lookup)服务,如OSGI技术,需要一个固定的网关来实现资源索引。
申请号为02129531.x,名称为“家庭网络中实现资源共享时的服务查找方法”中国专利申请文件中,公开了一种在家庭网络中使用的服务查找方法,当网络中不存在资源管理设备时,需要查找服务的设备必须先建立与目标设备的连接,再向目标设备逐一发起服务查找请求。由于无法预先知道哪个设备上存在需要的服务,因此,在查找时有可能需要遍历网络中的所有设备才能完成查找过程,查找效率无疑是非常低下的。
综上所述,在动态网络环境下,由于无法预先指定一个设备作为资源索引设备,因而以上介绍的这些技术,都将无法有效发挥作用。
发明内容
本发明的目的是设计一种动态网络环境下的资源发现方法,即在网络拓扑结构处于高度不稳定状态下的网络资源发现方法,无需在网络中预先指定一个资源索引设备,在设备频繁进出网络的环境中,可以有效发现网络中的资源并实现资源共享。
本发明方法所涉及到的设备,是指连接到网络上的可以正常工作的物理设备,网络中的任一个设备可以访问网络中的其它设备,也可以被网络中的其它设备所访问。
本发明方法所涉及到的服务,是指运行在设备上的、具有可调用接口的功能实体,网络中的任一个设备上的服务可被本设备的应用程序调用,或被其它设备上的应用程序调用。
本发明方法所涉及到的资源,是设备和服务两者的统称。
实现本发明目的的技术方案是这样的:一种动态网络环境下的网络资源发现方法,其特征在于包括:
A.在每一个希望实现动态网络环境下资源发现的设备上安装用于支持动态资源发现的软件,该软件包括用于启动、停止软件本身的启动控制接口、停止控制接口,用于监测设备自身服务状况的服务注册接口、服务注销接口,用于发现资源的资源查找接口、资源变化订阅接口及资源变化通知接口,和用于在指定的多播地址上进行侦听和作出应答的网络调用接口;
B.所述用于支持动态资源发现的软件启动后的设备在调用并处理所述的服务注册接口时,进行服务记录,并向所述的多播地址多播发送服务上线消息,该设备在调用并处理所述的服务注销接口时,删除服务记录,并向所述的多播地址多播发送服务下线消息;
C.网络上设备在多播地址上侦听由其它设备发出的服务上线消息,由其上应用程序调用并处理所述软件的资源变化通知接口,获得网络上服务动态变化信息,供设备上应用程序向提供服务程序发起程序调用;和在需要时,由其上应用程序调用并处理所述软件的资源查找接口,向所述的多播地址多播发送服务查找消息,该服务查找消息中包含查找条件,在多播地址上侦听到查找消息的设备软件,从服务记录中找到符合查找条件的服务,向发起服务查找的设备单播发送服务查找响应。并且,
D.所述设备在调用并处理所述的资源变化订阅接口时,向指定设备的所述软件发送资源变化事件订阅的请求消息,接收到该请求消息的指定设备在决定接收事件订阅时进行事件订阅记录,该指定设备在多播地址上侦听由其它设备发出的服务上线或下线消息时还查找事件订阅记录,当发现有符合订阅记录的服务上线或下线时,向事件订阅请求设备发送服务增加或减少的动态变化通知消息。
本发明通过在网络中的物理设备上安装一个用于支持设备动态资源发现的软件,该软件负责监测自身设备的工作状态及设备上的资源变更状态。由于无需在网络中预先指定一个资源索引设备,则可以在动态网络环境下,无需遍历整个网络上设备,就可随时发现网络资源。
附图说明
图1是动态网络环境中设备上下线消息发送示意图。
图2是动态网络环境中服务上下线消息发送示意图。
图3是动态网络环境中服务查找过程示意图。
图4是动态网络环境中资源变化事件订阅/通知机制示意图。
图5是家庭网络中的资源发现过程实施例示意图。
图6是办公网络中的资源发现过程实施例示意图。
具体实施方式
实施本发明方法,必须在各个希望在动态网络环境中动态发现资源的设备上安装一个用于支持动态资源发现的软件(简述为“软件”),包括软件启动与停止控制接口,服务注册与服务注销接口,资源查找接口,资源变化订阅接口,资源变化通知接口和网络调用接口。其中的软件启动与停止控制接口,服务注册与服务注销接口,资源查找接口,资源变化订阅接口,资源变化通知接口可统称为软件的本地调用接口。其中的网络调用接口指定一网络多播地址259.255.255.250:1900,一设备上软件的网络调用接口在该指定的网络多播地址上侦听网络中其它设备发出的用于资源发现的网络消息并将相应的应答消息发送到网络上。
通过调用并处理本地调用接口中的软件启动、停止控制接口,所述软件能够根据需要改***件本身的工作状态,包括启动或停止。通过对本地调用接口中服务注册和注销接口的调用处理,所述软件能够监测设备自身服务状况,包括对服务进行记录和将记录的服务删除。一设备上需要使用服务的应用程序,通过调用处理本地调用接口中的资源查找接口、资源变化订阅接口、资源变化通知接口发现网络上资源。
参见图1,图中示出设备A与设备B间的设备上、下线消息发送过程。
步骤11,用户通过启动设备B中支持动态资源发现软件的启动控制接口,来启动设备B中的该软件;
步骤12,设备B上的该软件在启动接口被调用且成功处理后,向网络多播地址259.255.255.250:1900多播发送设备上线消息,在设备上线消息中至少包含本设备B的设备标识、B设备名称等设备必备的其它属性信息;
步骤13,设备A通过侦听网络多播地址259.255.255.250:1900,接收到B设备的设备上线消息,设备A软件可通过资源变化通知接口将B设备的设备上线消息通知设备A的应用程序。
步骤14,用户通过启动设备B中支持动态资源发现软件的停止接口,来停止设备B中的该软件;
步骤15,设备B上的该软件在停止接口被调用且成功处理后,向网络多播地址259.255.255.250:1900多播发送设备下线消息,在设备下线消息中至少包含本设备B的设备标识、B设备名称等设备必备的其它属性信息;
步骤16,设备A通过侦听网络多播地址259.255.255.250:1900,接收到B设备的设备下线消息,设备A软件可通过资源变化通知接口将B设备的设备下线消息通知设备A的应用程序。
参见图2,图中示出设备A与设备B间的服务上、下线消息发送过程。
步骤21,设备B上软件在所提供的服务注册接口被某一服务程序E调用且成功处理后,进行服务记录,即记录所增加服务的相关信息,相关信息至少包括服务类型、服务标识、服务名称、服务接口描述文档信息等;
步骤22,设备B同时向网络多播地址259.255.255.250:1900多播发送服务上线消息,在服务上线消息中至少包含B设备的设备标识,增加的服务标识、服务类型、服务名称等。
步骤23,设备A软件通过侦听网络多播地址259.255.255.250:1900,接收到B设备的服务上线消息,通过解析该消息,该软件即可了解网络上设备B的服务动态变化信息,设备A软件可通过资源变化通知接口将B设备的服务上线消息通知设备A的应用程序,A设备的应用程序即可获得网络上服务动态变化信息。
步骤24,设备B上软件在所提供的服务注销接口被服务程序E调用且成功处理后,进行服务记录删除,即删除软件内相应的服务记录信息。
步骤25,设备B同时向网络多播地址259.255.255.250:1900多播发送服务下线消息,在服务下线消息中至少包含B设备的设备标识,减少的服务的服务标识、服务类型、服务名称等。
步骤26,设备A通过侦听网络多播地址259.255.255.250:1900,接收到B设备的服务下线消息,通过解析该下线消息,该软件即可了解网络上设备B的服务动态变化信息。设备A软件可通过资源变化通知接口将B设备的服务下线消息通知设备A的应用程序,A设备的应用程序即可获得网络上服务动态变化信息。
参见图3,为一服务查找过程。
步骤31,同图2中步骤21,设备B上软件在所提供的服务注册接口被名称为“Test”的服务程序调用且成功处理后,进行服务记录,即记录所增加的“Test”服务的相关信息,相关信息至少包括服务类型、服务标识、服务名称、服务接口描述文档信息等;
步骤32,同图2中步骤22,设备B同时向网络多播地址259.255.255.250:1900多播发送服务上线消息,在服务上线消息中至少包含B设备的设备标识,增加的“Test”服务的服务标识、服务类型、服务名称等。
步骤33,同图2中步骤21,设备A上软件在所提供的服务注册接口被名称为“Test 1”的服务程序调用且成功处理后,进行服务记录,即记录所增加的“Test 1”服务的相关信息,相关信息至少包括服务类型、服务标识、服务名称、服务接口描述文档信息等;
步骤34,同图2中步骤22,设备A同时向网络多播地址259.255.255.250:1900多播发送服务上线消息,在服务上线消息中至少包含A设备的设备标识,增加的“Test 1”服务的服务标识、服务类型、服务名称等。
步骤35,设备C上软件通过侦听网络多播地址259.255.255.250:1900,接收到上述的上线消息,设备C的应用程序通过调用软件的资源查找接口,查找名称为“Test”的服务程序;
步骤36,设备C上的应用程序通过软件的资源查找接口向网络多播地址259.255.255.250:1900多播发送服务查找消息,服务查找消息中至少包含发起服务查找的设备C的设备标识、应用程序标识,以及查找条件,在查找条件中至少包含待查找的服务名称或服务类型或服务所在设备标识或者上述条件的组合。
步骤371,网络中设备A上的软件通过侦听网络多播地址259.255.255.250:1900侦听到服务查找消息,解析服务查找消息获知服务查找条件及发起服务查找的设备C的设备标识和应用程序标识,通过对本设备A的服务记录与服务查找条件的匹配,判断本设备是否存在符合查找条件的服务,由于其上注册的服务名称为“Test 1”,不存在名称为“Test”的服务程序,故不进行响应。
步骤372,网络中设备B上的软件通过侦听网络多播地址259.255.255.250:1900侦听到服务查找消息,解析服务查找消息获知服务查找条件及发起服务查找的设备C的设备标识和应用程序标识,通过对本设备B的服务记录与服务查找条件的匹配,判断本设备B是否存在符合查找条件的服务,由于其上注册的服务名称为“Test”,即存在名称为“Test”的服务程序。
步骤38,设备B向发起服务查找的设备C单播发送服务查找响应消息,服务查找响应消息中至少包含“Test”服务所在设备B的设备标识,服务标识、服务类型、服务名称等。
参见图4,图中示出资源变化事件订阅/通知过程。
步骤401,网络中任一设备B上的某一应用程序F可以通过调用其软件的资源变化事件订阅接口,使其软件能向指定设备A上的相应软件发送订阅的服务类型为“Printer”的资源变化事件订阅请求消息;
步骤402,设备B向设备A发送资源变化事件订阅请求消息,该资源变化事件订阅请求消息中至少包含该应用程序感兴趣的资源变化消息的匹配条件,在匹配条件中指明感兴趣的资源类型(设备或服务),资源标识(设备标识或服务标识),资源属性(设备类型或服务类型),资源名称(设备名称或服务名称)等。
步骤403,网络中设备A上的软件收到设备B发来的关于服务类型为“Printer”的资源变化事件订阅请求消息时,可以根据本设备当前的处理能力或其它因素决定是否接受该事件订阅,决定接受时进行事件订阅记录并向设备B返回资源变化事件订阅响应消息。在该资源变化事件订阅响应消息中指明对订阅请求的处理结果,包括成功(或失败),订阅成功时的订阅标识及订阅有效时间等。
步骤404,同图2中步骤21,设备C上软件在所提供的服务注册接口(或注销接口)被某一服务程序G调用且成功处理后,进行服务记录(或服务删除),即记录所增加(或减少)服务的相关信息,该相关信息中的服务类型为“Printer”、服务名称为“Test”,还包括服务标识、服务接口描述文档信息等;
步骤405,同图2中步骤22,设备C同时向网络多播地址259.255.255.250:1900多播发送服务上线(或下线)消息,在服务上线(或下线)消息中包含C设备的设备标识,增加(或减少)的服务标识、服务类型“Printer”、服务名称“Test”等。
步骤406,网络中设备A上的软件通过侦听网络多播地址259.255.255.250:1900接收到服务上线(或下线)消息,应该检查本软件中的事件订阅记录,检查是否有与此服务“Printer”变化相应的订阅请求。
步骤407,存在与此服务“Printer”变化相应的订阅请求时,则应向订阅记录中的订阅设备B发送相应的资源变化事件通知信息,即向设备B发送相应的服务上线(或下线)消息,在该服务上线(或下线)消息中指明发生变化的服务消息,该服务消息中可以包括服务类型“Printer”、服务标识、服务名称“Test”等。
步骤408,网络中设备B上的软件在接收到设备A对资源变化事件订阅请求返回的订阅成功响应后,应启动订阅记录维护过程,若某个订阅记录时间超过订阅响应中给出的订阅有效时间时,该订阅记录应该被删除。设备C上的应用程序F通过软件的资源变化事件通知接口获知资源变化事件一“Printer”类型服务上线(或下线),就可使用(或停止使用)设备C上的相应变化的服务资源。
步骤409,网络中任一设备如设备B,通过其软件的资源变化事件通知接口获知其事件订阅成功后,可以得到一个订阅有效时间,在该有效时间内,应用程序可以调用软件的资源变化订阅接口,使得其软件向接受事件订阅的设备A发送事件订阅刷新请求消息,事件订阅刷新请求消息中至少包含订阅标识,应用程序标识等信息。
步骤410,网络中任何一设备如设备A上的软件收到事件订阅刷新请求消息时,应检查软件中的事件订阅记录,检查是否存在该记录,并根据本设备的处理能力或其它因素决定是否接受事件订阅刷新,并向发起订阅刷新请求消息的设备B返回事件订阅刷新响应消息,在事件订阅刷新响应消息中至少包含订阅标识,订阅有效时间等信息。
参见图5,以一家庭网络说明本发明在动态环境下的资源发现。一个家庭网络中包括安装了本发明中所述软件的PC机、电视机和笔记本电脑,且笔记本、PC、电视通过无线对等网络连接。PC、笔记本上分别安装了基于本发明软件的多媒体内容提供服务程序,电视上则安装了基于本发明软件的多媒体内容播放应用程序。
当PC、笔记本处于关机状态,而电视处于开机状态时,电视在网络多播地址上侦听网络中的设备与服务上、下线消息。
当PC启动并加入网络后,PC上的多媒体内容提供服务程序首先调用软件的启动接口启动软件,该软件向网络多播地址239.255.255.250:1900多播发送设备上线消息,电视上的软件则可以在相应地址上侦听到PC设备上线消息。该设备上线消息格式如表一中所示。
                    表一
  设备上线消息
  M-NOTIFY*HTTP/1.1
  Host:239.255.255.255.250:1900
  Cache-control:max-age=30
  Location:http://www.igrs.org/device
  NT:urn:IGRS:Device:DeviceType:PC
  NTS:ssdp:alive
  SERVER:OS/version IGRS/1.0product/version
  USN:urn:IGRS:Device:DeviceId:012dabcdefg
  Man:”http://www.igrs.org/spec”;ns=01
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:DeviceOnlineAdvertisement
  01-SequenceId:0000001
  01-ConfigId:00001
  01-BootId:000001
  01-DeviceName:MyPC
  01-DeviceType:PC
多媒体内容提供服务程序调用软件的启动控制接口并成功后,即可调用软件的注册接口,注册名称为PCMediaDatabase,类型为MediaContentService的服务,触发软件向网络多播地址239.255.255.250:1900发送服务上线消息,该服务上线消息的格式如表二所示。
                   表二
 服务上线消息
 M-NOTIFY*HTTP/1.1
 Host:239.255.255.255.250:1900
 Cache-control:max-age=30
 Location:http://www.igrs.org/device
 NT:urn:IGRS:Service:SeviceType:MediaContentService
 NTS:ssdp:alive
 SERVER:OS/version IGRS/1.0product/version
 USN:urn:IGRS:Device:DeviceId:012dabcdefg
 Man:”http://www.igrs.org/spec”;ns=01
 01-IGRSVersion:IGRS/1.0
 01-IGRSMessageType:ServiceOnlineAdvertisement
 01-SequenceId:0000001
 01-ConfigId:00001
 01-BootId:000001
 01-ServiceName:PCMediaDatabase
 01-ServiceType:MediaContentService
电视上的软件在239.255.255.250:1900多播地址上收到多媒体内容提供服务上线消息后,即可通过资源变化通知接口通知多媒体内容播放应用程序,播放应用程序即可向PC上的多媒体内容提供服务程序发起程序调用,获得PC上的多媒体文件列表,并通过电视界面向用户显示,进而获取用户选定的文件进行播放。
当笔记本启动并进入家庭网络后,笔记本上的多媒体内容提供服务程序调用软件的启动控制接口并成功后,即可调用注册接口,注册名称为NBMediaDatabase,类型为MediaContentService的服务,触发软件向网络多播地址239.255.255.250:1900发送如表三所示的服务上线消息。
                    表三
 服务上线消息
 M-NOTIFY*HTTP/1.1
 Host:239.255.255.255.250:1900
 Cache-control:max-age=30
 Location:http://www.igrs.org/device
 NT:urn:IGRS:Service:SeviceType:MediaContentService
 NTS:ssdp:alive
 SERVER:OS/version IGRS/1.0 product/version
 USN:urn:IGRS:Device:DeviceId:012dabafe1234
 Man:”http://www.igrs.org/spec”;ns=01
 01-IGRSVersion:IGRS/1.0
 01-IGRSMessageType:ServiceOnlineAdvertisement
 01-SequenceId:0000001
 01-ConfigId:00001
 01-BootId:000001
 01-ServiceName:NBMediaDatabase
 01-ServiceType:MediaContentService
电视上的软件在239.255.255.250:1900多播地址上收到笔记本的多媒体内容服务上线消息后,即可通过资源变化通知接口通知多媒体内容播放应用程序,播放应用程序即可向笔记本上的多媒体内容提供服务程序发起程序调用,获得笔记本上的多媒体文件列表,并通过电视界面向用户显示,用户即可在PC和笔记本所提供的服务之间选择感兴趣的多媒体文件。
电视上的多媒体播放程序在需要时也可以调用软件的资源查找接口查找网络上存在的类型为MediaContentService的服务,通过对资源查找接口的调用处理,软件将向网络地址239.255.255.250:1900多播发送如表四所示的媒体内容服务查找消息:
                            表四
  媒体内容服务查找消息
  M-SEARCH*HTTP/1.1
  Host:239.255.255.250:1900
  MAN:ssdp:discover
  MX:响应延迟的最大时间
  ST:urn:schemas-IGRS-org:Service:MediaContentService:1
  Man:”http://www.igrs.org/spec1.0”:ns=01
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:SearchServiceRequest
  01-SourceDeviceId:urn:IGRS:Device:DeviceId:012dabc2156
  媒体内容服务查找消息
  01-SequenceId:000004
  01-clientId:0000001
  01-SearchByServiceType:urn:schemas-IGRS-org:Service:MediaContentService
笔记本和PC上的软件通过侦听多播地址接收到来自电视的媒体内容服务查找消息后,经过查找条件匹配即可向电视发送查找响应消息。表五给出了笔记本给电视单播发送的服务查找响应消息。
                        表五
  服务查找响应消息
  HTTP/1.1200 OK
  Cache-control:max-age=30;no-cache=”Ext”
  Ext:
  SERVER:OS/version IGRS/1.0 product/version
  ST:urn:schemas-IGRS-org:Service:MediaContentService:1
  USN;urn:IGRS:Device:DeviceId:012dabc1234
  MAN:”http://www.igrs.org/spec1.0”;ns=01
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:SearchServiceResponse
  01-SourceDeviceId:urn:IGRS:Device:DeviceId:012dabc1234
  01-TargetDeviceId:urn:IGRS:Device:DeviceId:012dabc2156
  Content-type:text/xml
  Content-length:123
  MAN:”http://schemas.xmlsoap.org/soap/envelope/”;ns=02
  02-SoapAction:”IGRS-SearchService-Response”
  <SOAP-ENV:Envelopexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”SOAP-ENV:encodingStyle=”http://schemas.xml soap.org/soap/encoding/”>
  <SOAP-ENV:Body>
  <DeviceOperation xmlns=“http://www.igrs.org/spec1.0”>
  <AcknowledgId>00004</AcknowledgeId>
  <ClientId>0000001</ClientId>
  <ReturnCode>200</ReturnCode>
  <SearchResult>
  <ServiceInfoList>
  <ServiceInfo>
  <DeviceId>urn:IGRS:Device:DeviceId:012dabc1234</DeviceId>
  <ServiceId>000001</ServiceId>
  <ServiceName>NBMediaContentService</ServiceName>
  <ServiceType>urn:schemas-IGRS-org:Service:MediaContentService</ServiceType>
  <location>“http://www.igrs.org/service”</location>
  </ServiceInfo>
  <!-其他服务信息->
  </ServiceInfoList>
  </SearchResult>
  服务查找响应消息
  </DeviceOperation>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
参见图6,以一办公网络说明本发明的动态网络环境下的资源发现。一个办公室网络中包括安装了本发明软件的一台服务器、一台打印机、一台投影仪、和一台笔记本,其中投影仪、笔记本通过无线局域网与接入点设备AP连接,AP、服务器、打印机通过有线以太网连接。笔记本上还安装了基于本发明软件的无线投影应用程序和打印应用程序,投影仪上则安装了无线投影服务程序。
笔记本接入办公网络后,其上的无线投影应用程序和打印应用程序可以通过其软件分别向服务器发起无线投影服务、打印服务的服务状态变化事件订阅请求,并获得服务器的订阅成功响应。其中无线投影服务的服务状态变化订阅请求的消息格式如表六中所示,对该无线投影服务订阅请求的响应消息的格式如表七所示。
                               表六
  投影服务状态变化订阅请求消息
  M-POST/IGRS HTTP/1.1
  Host:10.90.10.1:2500
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:SubscribeServiceEventRequest
  01-SequenceId:00000002
  01-SourceDeviceId:urn:IGRS:Device:DeviceId:00000001234e
  01-TargetDeviceId:urn:IGRS:Device:DeviceId:000000013fed
  Content-type:text/xml
  Content-length:123
  MAN:”http://www.igrs.org/spec”;ns=01
  MAN:”http://schemas.xml soap.org/soap/envelope/”:ns-02
  02-SoapAction:”IGRS-SubscribeServiceEvent-Request”
  <SOAP-ENV:Envelopexmlns:SOAP-ENV=″http://schemas.xmlsoap.org/soap/envelope/″SOAP-ENV:encodingStyle=″http://schemas.xmlsoap.org/soap/encoding/″>
  <SOAP-ENV:Body>
  <DeviceOperation xmlns=“http://www.igrs.org/spec”>
  <SourceClientId>00001</SourceClientId>
  <SubscriptionId>00000234</SubscriptionId>
  <ExpectSubscriptionTerm>60</ExpectSubscriptionTerm>
  <SubscriptionFilter>
  <SubscribeByServiceType>Projector</SubscribeByServiceType>
  </SubscriptionFilter>
  </DeviceOperation>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
                               表七
  投影状态变化订阅响应消息
  HTTP/1.1200 0K
  Ext:
  Cache-control:no-cache=”Ext”
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessage:SubscribeServiceEventResponse
  01-AcknowledgeId:00000002
  01-TargetDeviceId:urn:IGRS:Device:DeviceId:000000013fed
  01-SourceDeviceId:urn:IGRS:Device:DeviceId:00000001234a
  Content-type:text/xml
  Content-length:100
  MAN:”http://www.igrs.org/spec”;ns=01
  MAN:”http://schemas.xml soap.org/soap/envelope/”;ns-02
  02-SoapAction:”IGRS-SubscribeDeviceEvent-Response”
  <SOAP-ENV:Envelopexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”SOAP-ENV:encodingStyle=”http://schemas.xml soap.org/soap/encoding/”>
  <SOAP-ENV:Body>
  <DeviceOperation xmlns=“http://www.igrs.org/spec”>
  <TargetClientId>000001</TargetClientId>
  <SubscriptionId>00000234</SubscriptionId>
  <ApprovedSubcriptionTerm>60</ApprovedSubscriptionTerm>
  <ReturnCode>200</ReturnCode>
  </DeviceOperation>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
服务器在接收到笔记本发送的投影服务状态变化订阅请求消息和打印服务状态变化订阅请求消息并给出如表七所示的成功应答后,则在服务器内部创建相应的事件订阅记录,如表八所示:
                                           表八
                                     事件订阅记录表格
  订阅设备标识   订阅客户标识   订阅标识   订阅事件类型 订阅条件   订阅时间
  urn:IGRS:Device:DeviceId:000000013fed   000001   000234   服务状态变化 服务类型=ProjectorService   60
  urn:IGRS:Device:DeviceId:000000013fed   000001   000235   服务状态变化 服务类型=PrinterService   60
当投影仪、打印机启动并加入网络后,投影仪、打印机上的服务程序分别调用各自设备上软件的服务注册接口分别注册投影服务和打印服务,进行服务记录,投影仪、打印机上的软件则分别向网络中多播发送投影服务、打印服务上线消息,其中投影服务上线的通知消息如表九所示。
                    表九
  服务上线消息
  M-NOTIFY*HTTP/1.1
  Host:239.255.255.255.250:1900
  Cache-control:max-age=30
  Location:http://www.igrs.org/device
  NT:urn:IGRS:Service:SeviceType:ProjectorService
  NTS:ssdp:alive
  SERVER:OS/version IGRS/1.0 product/version
  USN:urn:IGRS:Device:DeviceId:012dabafe1234
  Man:”http://www.igrs.org/spec”;ns=01
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:ServiceOnlineAdvertisement
  01-SequenceId:0000001
  01-ConfigId:00001
  01-BootId:000001
  01-ServiceName:WirelessProjector
  01-ServiceType:ProjectorService
服务器接收投影服务和打印服务上线通知消息后通过查找内部的事件订阅记录,发现存在对应投影服务和打印服务的订阅记录,即向订阅者—笔记本发送服务状态变化通知消息。服务器向笔记本发送的投影服务上线通知消息格式如表十所示。
                            表十
  投影服务上线通知消息
  M-POST/IGRS HTTP/1.1
  Host:10.90.10.234:1900
  01-IGRSVersion:IGRS/1.0
  01-IGRSMessageType:NotifyServiceEvent
  01-SourceDeviceId:urn:IGRS:Device:DeviceId:00000001234a
  01-TargetDeviceId:urn:IGRS:Device:DeviceId:000000013fed
  Content-type:text/xml
  Content-length:97
  MAN:”http://www.igrs.org/spec1.0”;ns=01
  MAN:”http://schemas.xmlsoap.org/soap/envelope/”:ns=02
  02-SoapAction:”IGRS-ServiceEvent-Notify”
  <SOAP-ENV:Envelopexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”SOAP-ENV:encodingStvle=”http://schemas.xmlsoap.org/soap/encoding/”>
  <SOAP-ENV:Body>
  <DeviceOperation xmlns=“http://www.igrs.org/spec1.0”>
  <TargetClientId>000001</TargetClientId>
  <SubscriptionId>00000234</SubscriptionId>
  <EventType>Online</EventType>
  <ServiceInfo>
  <DeviceId></DeviceId>
  <ServiceName>WirelessProjector</ServiceName>
  <ServiceId></ServiceId>
  <ServiceType>ProjectorService</ServiceType>
  <Location>”http://www.igrs.org/service”</Location>
  </ServiceInfo>
  </DeviceOperation>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
笔记本上相应的应用程序通过软件的资源变化通知接口即可收到由服务器发来的投影仪、打印机设备上线及投影服务和打印服务的上线通知,从而可以提示用户可使用相应资源。而当投影仪、打印机上的投影服务和打印服务调用软件的服务注销接口后,投影仪、打印机上的软件将向网络中多播发送相应的服务下线通知消息。服务器收到服务下线消息后,查找事件订阅记录,给笔记本上的应用程序发送相应的服务状态变化通知消息。笔记本上的应用程序通过软件的资源变化通知接口即可收到服务器发送的投影服务和打印服务下线事件通知,从而可以提示用户相应资源不再可用。投影仪、打印机通过调用软件的停止接口将向网络中多播发送相应的设备下线消息,服务器、笔记本上的应用程序通过软件的资源变化通知接口即可收到投影仪、打印机的设备下线通知,可以提示用户相应的投影、打印资源不再可用。
本发明的方法,在网络设备上安装支持动态资源发现的软件,设备上的服务、应用程序通过调用软件的软件启动与停止控制接口、服务注册与注销接口、资源查找接口、资源变化订阅接口和资源变化通知接口,并利用软件的网络调用接口—网络多播地址,实现动态发现,为随时随地的在动态网络环境中的资源共享创造了基本条件。

Claims (12)

1.一种动态网络环境下的资源发现方法,其特征在于包括:
A.在每一个希望实现动态网络环境下资源发现的设备上安装用于支持动态资源发现的软件,该软件包括用于启动、停止软件本身的启动控制接口、停止控制接口,用于监测设备自身服务状况的服务注册接口、服务注销接口,用于发现资源的资源查找接口、资源变化订阅接口及资源变化通知接口,和用于在指定的多播地址上进行侦听和作出应答的网络调用接口;
B.所述用于支持动态资源发现的软件启动后的设备在调用并处理所述的服务注册接口时,进行服务记录,并向所述的多播地址多播发送服务上线消息,该设备在调用并处理所述的服务注销接口时,删除服务记录,并向所述的多播地址多播发送服务下线消息;
C.网络上设备在多播地址上侦听由其它设备发出的服务上线消息,由其上应用程序调用并处理所述软件的资源变化通知接口,获得网络上服务动态变化信息,供设备上应用程序向提供服务程序发起程序调用;和在需要时,由其上应用程序调用并处理所述软件的资源查找接口,向所述的多播地址多播发送服务查找消息,该服务查找消息中包含查找条件,在多播地址上侦听到查找消息的设备软件,从服务记录中找到符合查找条件的服务,向发起服务查找的设备单播发送服务查找响应。
2.根据权利要求1所述的动态网络环境下的资源发现方法,其特征在于:所述步骤B中的用于支持动态资源发现的软件启动,是设备在调用并处理所述的启动控制接口时,启动该软件并向网络上的多播地址多播发送设备上线消息;该设备在调用并处理所述的停止控制接口时,停止该软件并向网络上的多播地址多播发送设备下线消息。
3.根据权利要求2所述的动态网络环境下的资源发现方法,其特征在于:所述的设备上线消息、设备下线消息中,至少包括该设备的设备标识、设备名称、及设备的其它必备属性信息。
4.根据权利要求1所述的动态网络环境下的资源发现方法,其特征在于:所述步骤B中进行服务记录与删除服务记录,该服务记录至少包括服务类型、服务标识、服务名称、和服务接口描述文档信息。
5.根据权利要求1所述的动态网络环境下的资源发现方法,其特征在于:所述步骤B中发送服务上线消息和服务下线消息,该服务上、下线消息中包括该设备的设备标识、增加或减少的服务标识、服务类型和服务名称。
6.根据权利要求1所述的动态网络环境下的资源发现方法,其特征在于:所述步骤C中的服务查找消息,还包括发起服务查找设备的设备标识和应用程序标识;所述的查找条件包括待查找的服务名称或服务类型或服务所在设备标识或上述各项的组合;所述的服务查找响应,包括服务所在设备标识、服务标记、服务类型和服务名称。
7.根据权利要求1所述的动态网络环境下的资源发现方法,其特征在于进一步包括:
D.所述设备在调用并处理所述的资源变化订阅接口时,向指定设备的所述软件发送资源变化事件订阅的请求消息,接收到该请求消息的指定设备在决定接收事件订阅时进行事件订阅记录,该指定设备在多播地址上侦听由其它设备发出的服务上线或下线消息时还查找事件订阅记录,当发现有符合订阅记录的服务上线或下线时,向事件订阅请求设备发送服务增加或减少的动态变化通知消息。
8.根据权利要求7所述的动态网络环境下的资源发现方法,其特征在于:所述步骤D中,所述资源变化事件订阅的请求消息中至少包括资源变化消息的匹配条件,该匹配条件包括设备或服务的资源类型、设备或服务的资源标识、设备或服务的资源属性、和设备或服务的资源名称。
9.根据权利要求7所述的动态网络环境下的资源发现方法,其特征在于:所述步骤D中,所述的接收到资源变化事件订阅请求的设备还向事件订阅请求设备返回资源变化事件订阅的响应消息,该响应消息中包含对请求或成功或失败的处理结果,在请求成功时该响应消息中还包括订阅标识和订阅有效时间。
10.根据权利要求9所述的动态网络环境下的资源发现方法,其特征在于:所述步骤D中,所述的接收到资源变化事件订阅请求的设备在向事件订阅请求设备返回资源变化事件订阅成功的响应消息后,启动一订阅记录维护过程,在订阅记录超过响应消息中给出的该订阅的有效时间时删除所述的订阅记录。
11.根据权利要求9所述的动态网络环境下的资源发现方法,其特征在于:所述步骤D中,所述的接收到资源变化事件订阅请求的设备在向事件订阅请求设备返回资源变化事件订阅成功的响应消息后,在响应消息给出的订阅有效时间内,事件订阅请求设备上的应用程序调用所述软件的网络调用接口,向接收到资源变化事件订阅请求的设备发送事件订阅刷新请求消息;接收到事件订阅刷新请求消息的设备检查事件订阅记录,有记录并决定接收时,向发起事件订阅刷新请求消息的设备返回事件订阅刷新响应消息。
12.根据权利要求11所述的动态网络环境下的资源发现方法,其特征在于:所述的刷新请求消息中至少包括订阅标识、应用程序标识,所述的刷新响应消息中至少包括订阅标识和订阅有效时间。
CNB2004100377095A 2004-04-28 2004-04-28 动态网络环境下的资源发现方法 Expired - Lifetime CN100352218C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100377095A CN100352218C (zh) 2004-04-28 2004-04-28 动态网络环境下的资源发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100377095A CN100352218C (zh) 2004-04-28 2004-04-28 动态网络环境下的资源发现方法

Publications (2)

Publication Number Publication Date
CN1691622A CN1691622A (zh) 2005-11-02
CN100352218C true CN100352218C (zh) 2007-11-28

Family

ID=35346767

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100377095A Expired - Lifetime CN100352218C (zh) 2004-04-28 2004-04-28 动态网络环境下的资源发现方法

Country Status (1)

Country Link
CN (1) CN100352218C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937848B (zh) * 2006-11-02 2011-03-30 杭州华三通信技术有限公司 一种无线漫游用户的组播实现方法及接入控制器
CN100547974C (zh) * 2007-05-30 2009-10-07 四川长虹电器股份有限公司 网络设备的服务查找方法
CN101110700B (zh) * 2007-06-14 2012-05-30 上海众恒信息产业股份有限公司 资源管理平台中的资源管理器
CN101453413A (zh) * 2007-12-04 2009-06-10 华为技术有限公司 一种pbb网络中自动拓扑发现及资源管理的方法和装置
US8583610B2 (en) 2008-03-04 2013-11-12 International Business Machines Corporation Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects
US8291479B2 (en) 2008-11-12 2012-10-16 International Business Machines Corporation Method, hardware product, and computer program product for optimizing security in the context of credential transformation services
CN101431467B (zh) * 2008-12-18 2010-12-01 中国人民解放军国防科学技术大学 共享资源网络的实时任务接纳控制方法
US8392567B2 (en) 2009-03-16 2013-03-05 International Business Machines Corporation Discovering and identifying manageable information technology resources
US8533230B2 (en) 2009-06-24 2013-09-10 International Business Machines Corporation Expressing manageable resource topology graphs as dynamic stateful resources
JP5891881B2 (ja) * 2012-03-19 2016-03-23 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN103888930B (zh) * 2012-12-24 2018-02-16 华为技术有限公司 服务信息获取方法、提供方法及设备
CN104009894A (zh) * 2013-02-26 2014-08-27 海尔集团公司 局域网内服务信息的自动获取方法和***、设备
CN103237053A (zh) * 2013-03-28 2013-08-07 东莞宇龙通信科技有限公司 媒体文件共享方法及电视盒
CN107196983A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 一种资源分发方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240066B1 (en) * 1997-02-11 2001-05-29 Lucent Technologies Inc. Dynamic bandwidth and buffer management algorithm for multi-service ATM switches
CN1375962A (zh) * 2001-03-12 2002-10-23 朗迅科技公司 异机种***中用于自动端口标识发现的设备和方法
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
CN1466326A (zh) * 2002-09-10 2004-01-07 联想(北京)有限公司 家庭网络的主干网组网方法
CN1466324A (zh) * 2002-09-06 2004-01-07 联想(北京)有限公司 家庭主干网中实现设备间动态组网与资源共享的方法
CN1482762A (zh) * 2003-01-31 2004-03-17 联想(北京)有限公司 网络会议中设备及服务动态加入的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240066B1 (en) * 1997-02-11 2001-05-29 Lucent Technologies Inc. Dynamic bandwidth and buffer management algorithm for multi-service ATM switches
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
CN1375962A (zh) * 2001-03-12 2002-10-23 朗迅科技公司 异机种***中用于自动端口标识发现的设备和方法
CN1466324A (zh) * 2002-09-06 2004-01-07 联想(北京)有限公司 家庭主干网中实现设备间动态组网与资源共享的方法
CN1466326A (zh) * 2002-09-10 2004-01-07 联想(北京)有限公司 家庭网络的主干网组网方法
CN1482762A (zh) * 2003-01-31 2004-03-17 联想(北京)有限公司 网络会议中设备及服务动态加入的方法

Also Published As

Publication number Publication date
CN1691622A (zh) 2005-11-02

Similar Documents

Publication Publication Date Title
CN100352218C (zh) 动态网络环境下的资源发现方法
CN100352222C (zh) 用于同等地管理媒体内容的设备和方法
DE112013002674B4 (de) Bewerben, Ermitteln und Verwenden von Diensten durch virtuelle Zugriffspunkt-Schnittstellen
US7583685B2 (en) Gateway device, network system, communication program, and communication method
CN1640130A (zh) 根据节目指南获取互联网内容的方法和***
KR20070086813A (ko) 멀티캐스트 환경에서의 데이터의 선택적 수신
JP2011517884A (ja) ワイヤレスネットワークにおけるサービスディスカバリ方法
CN1732454A (zh) 在多个装置上呈现内容的***和方法
CN101056277A (zh) 在数字生活网络联盟***中转换内容的方法
CN1829202A (zh) 多个帐号同时在一个客户端上实现imps业务的***及方法
KR20140095571A (ko) 구성원 자원에 액세스하는 방법, 그룹 서버 및 구성원 장치
CN1523828A (zh) 允许有效地访问家庭网络设备的控制点服务器***和方法
CN1886998A (zh) 自动发现共同多媒体服务能力的方法和通信***
CN103493500A (zh) 媒体播放方法、控制点和终端
CN1825946A (zh) 家庭网络***及其发送内容的方法
CN1980242A (zh) 在dlna***中提供使用三个帧配置的用户接口的方法
CN1925448A (zh) 与其他网络装置共享多媒体数据的网络装置及其方法
JP2009540462A (ja) コンパイルスコープを用いたサービスの発見
US8635341B2 (en) Termination criteria in service discovery request
WO2009116265A1 (en) Information processing apparatus, image forming apparatus, and control method therefor
US8453164B2 (en) Method and apparatus for reduction of event notification within a web service application of a multi-functional peripheral
CN1933413A (zh) 一种无线局域网ip组播帧传输的组播成员管理方法
CN1588927A (zh) 一种大规模多媒体接入网关的方法
EP2895961A2 (en) Device discovery using broadcast technology
US20220294868A1 (en) Enhancements of registration of nef at nrf

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20071128