CN101467397A - 使用经编译的范围来定位服务 - Google Patents

使用经编译的范围来定位服务 Download PDF

Info

Publication number
CN101467397A
CN101467397A CNA2007800221816A CN200780022181A CN101467397A CN 101467397 A CN101467397 A CN 101467397A CN A2007800221816 A CNA2007800221816 A CN A2007800221816A CN 200780022181 A CN200780022181 A CN 200780022181A CN 101467397 A CN101467397 A CN 101467397A
Authority
CN
China
Prior art keywords
service
inquiry
scope
action
computing system
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
Application number
CNA2007800221816A
Other languages
English (en)
Inventor
V·A·莫迪
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101467397A publication Critical patent/CN101467397A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在包含了能够互相通信的多个计算系统的计算环境中,一种计算系统帮助定位其它计算系统所提供的服务。例如,在接收到表示要定位的服务的范围的查询时,可以将该查询中所表示的范围与各个经编译的范围信息进行比较,其中每一范围都使用不同的匹配规则来编译。随后可以基于该比较来定位服务提供方。服务提供方随后可被标识。

Description

使用经编译的范围来定位服务
背景
当今社会越来越多地使用通信设备。这些设备的迅速采用引发了对无故障的互操作性的需求。多家公司生产通信设备且许多这种设备都有其自身的按其进行通信的一组规则。这些设备的消费者需要在这些设备之间以及在其上运行的应用程序之间的互操作性,以便高效地访问连接的设备所提供的服务。
例如,一类服务可以与由微软公司、IBM及其它公司共同设计的web服务(Web Services)协议相一致,然而设备可另外地或另选地提供与web服务协议不兼容的服务。web服务是集成应用程序的标准化方式。标准化XML文档可与SOAP(简单对象访问协议)消息和WSDL(web服务描述语言)描述一起使用来集成应用程序而不必详尽地了解被集成的应用程序。web服务还可以被用来启用设备之间的通信。web服务可在各种类型的设备上实现且可使用“WS-发现(WS-Discovery)”协议来定位。
通常,如果实现web服务协议,则客户机将使用WS-发现协议发送多播消息来定位所需的web服务。多播消息包含被用来标识所需的web服务的“范围”。例如,如果位于建筑物10楼的用户想要使用位于10楼的彩色打印机来打印文档,则范围将包括楼层号和所需打印机功能—在该情况下是彩色打印。作为另一示例,如果用户想要与电话号码范围从555-8000到555-8010的启用web的蜂窝电话进行通信,则范围将只包括那些启用web的且在该电话号码范围内的蜂窝电话。
接收到该多播消息的每一设备随后可以使用所提供的范围来执行适当的处理以确定该设备是否包含所需的web服务。在执行处理之后,设备将响应该多播消息以允许做出请求的客户机来标识那些能够提供由该范围所标识的所请求的服务的设备。
这些多播消息和因此而生成的多个响应导致大量的网络通信和拥塞。此外,提供服务的设备通常具有很少的计算能力并且通常不适于处理多个多播请求。
在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技术领域。
简要概述
在本发明的一实施例中,用户可以定位服务而不必对网络或提供该服务的系统施加显著的负担。例如,该用户可以输入一个或多个搜索准则,随后该用户的计算机系统可以使用一个或多个匹配规则来编译范围。该经编译的范围可被用来标识服务。用户发送包含经编译的范围的查询,该查询由提供服务的计算机系统接收。在一实例中,经编译的范围允许计算机系统执行简单的串匹配而不必处理复杂的算法,来确定系统是否提供所需的服务。
在另一实施例中,用户可以通过向将查询与一组预编译的范围进行比较的代理发送查询来避免多播消息泛滥网络。在比较查询之后,该代理将具有提供所需服务的系统的列表的消息返回给用户的计算机。以此方式,网络带宽和计算机系统处理能力两者都可因降低的资源负担而受益。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
为了描述能够获得上述和其它优点和特征的方式,将通过参考附图中示出的各具体实施例来呈现对以上简述的主题的更为具体的描述。可以理解,这些附图仅描述各典型实施例,从而不被认为是对其范围的限制,将通过使用附图用附加特征和细节来描述和说明各实施例,附图中:
图1示出其中本发明的原理的各实施例可以操作的计算系统;
图2示意性地示出其中本发明的各实施例可以操作的环境,包括生成被用来定位服务的查询的多个服务消费者计算系统和提供对查询的响应的多个服务经纪人计算系统;
图3示出根据本发明的各实施例的用于定位服务的方法的流程图;
图4示出根据本发明的各实施例的显示根据各种匹配规则来编译的示例范围的流程图;
图5示意性地示出其中本发明的各实施例可以操作的环境,包括生成被用来定位服务的查询的多个服务消费者计算系统、代理计算系统、和提供对查询的响应的多个服务经纪人计算系统;以及
图6示出根据本发明的各实施例的用于定位服务的方法的流程图。
详细描述
本发明的各实施例涉及在计算系统中编译用于标识和定位服务的范围。此处的各实施例可以包括含有各种计算机硬件的专用或通用计算机,这将在以下做出更详细的讨论。图1示出可用于实现本发明的特征的示例计算系统100的示意图。所述计算系统只是这种合适的计算系统的一个示例,而并不旨在对本发明使用范围或功能提出任何限制。也不应该把本发明解释为对图1中示出的任一组件或其组合有任何依赖性或要求。
计算系统现在越来越多地采用各种各样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、或甚至常规上不被认为是计算系统的设备或系统。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括包含至少一个处理器以及其上能含有可由处理器执行的计算机可执行指令的存储器的任何设备或系统(或其组合)。存储器可采取任何形式,且可取决于计算系统的本质和形式。计算系统可分布在网络环境上,且可包括多个组成计算系统。
参考图1,在其最基本的配置中,计算系统100一般包括至少一个处理单元102和存储器104。存储器104可以是系统存储器,它可以是易失性的、非易失性的或两者的某种组合。易失性存储器的示例包括随机存取存储器(RAM)。非易失性存储器的示例包括只读存储器(ROM)、闪存等。术语“存储器”也可在此处用来指示诸如物理存储介质等非易失性大容量存储。这样的存储可以是可移动或不可移动的,且可包括(但不限于)PCMCIA卡、磁盘和光盘、磁带等。
如此处所使用的,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处描述的不同的组件、模块、引擎和服务可被实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。尽管此处描述的系统和方法可用软件实现,但用硬件以及软件和硬件的组合的实现也是可能的且已被想到。
在以下描述中,参考由一个或多个计算系统执行的动作描述本发明的各实施例。如果这样的动作用软件实现,则相关联计算系统中执行该动作的一个或多个处理器响应于执行了计算可执行指令而引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(和所操纵的数据)可被存储或包括在计算系统100的存储器104中。
计算系统100还可包含允许计算系统100例如通过网络110与其它计算系统通信的通信信道108。通信信道108是通信介质的示例。通信介质一般用诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、无线电、红外线和其它无线介质。
本发明的范围内的各实施例还包括用于承载或其上储存有计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可包括物理存储和/或存储器介质,诸如RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其它介质。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。以上的组合也应包括在计算机可读介质的范围之内。
计算机可执行指令包括例如,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于在此所述的具体特征或动作。相反,在此所述的具体特征和动作是作为实现权利要求的示例形式公开的。
图2示出了其中可利用本发明的原理的环境200。环境200包括一个或多个服务消费者计算系统210以及一个或多个服务经纪人计算系统220。服务251-255由各种形状来表示,包括三角形251、平行四边形252、圆形253、梯形254、或六边形255。每一形状类型都可以对应于一不同类型的服务。例如,web服务可由梯形254来指示。在同一类型的服务存在多个实例的情况下,用后附字母的以上所标识的适当的数字来标记该服务的各个实例,例如,253A、253B、253C等。
服务可以是计算机代码或软件应用程序,或提供对某些所需功能的访问的其它装置。例如,打印机可以提供打印服务;VPN服务器(虚拟专用网络服务器)可以提供VPN服务。web服务是允许计算系统使用例如,SOAP(简单对象访问协议)消息来互相通信的一类服务。web服务还通过提供XML(可扩展标记语言)和WSDL(web服务描述语言)描述能力来便于应用程序集成。服务251-255的任一个都可以是web服务或其它类型的服务。
服务消费者计算系统210的任一个都可以是使用服务或寻找要使用的服务的计算系统。服务经纪人计算系统220的任一个都可以是或者直接提供服务或者提供到另一服务提供方230的链接的计算系统。计算系统210和220能够经由计算网络240互相通信。计算网络240可以是有线或无线网络。
在计算环境200中,可以存在多个服务消费者计算系统211-214。例如,在图2中,服务消费者计算系统210被示为包括三个服务消费者计算系统211、212和213。然而,垂直省略号214表示服务消费者计算系统210可以包括比所示出的三个服务消费者计算系统更多,且在此还被用来表示可以存在仅一个或可能两个服务消费者计算系统而不影响本发明的原理。
类似地,在环境200中,还可以存在多个服务经纪人计算系统221-224。例如,在图2中,服务经纪人计算系统220被示为包括三个服务消费者计算系统221、222和223。然而,垂直省略号224表示服务经纪人计算系统210可以包括比所示出的三个服务经纪人计算系统更多,且在此还被用来表示可以存在仅一个或可能两个服务经纪人计算系统而不影响本发明的原理。
服务消费者计算系统211-214的每一个都能够与服务经纪人计算系统221-224的任一个进行通信,并且进而能够与由服务经纪人计算系统221-224的任一个链接的服务提供方230的任一个进行通信。在计算环境200中,服务经纪人计算系统221不直接提供服务,而是被链接到分别提供服务253B、252A和253A和251B的三个服务提供方231、232和233。服务经纪人计算系统222直接提供服务253C和251A,而未被链接到任何其它服务提供方230。服务经纪人计算系统223直接提供三个服务253E、255和252B,并被链接到分别提供服务253D和254的其它服务提供方234和235。服务经纪人计算系统可以直接提供任何数量的服务和到服务提供方230的链接。
图3示出供服务消费者计算系统210帮助定位一个或多个服务经纪人计算系统220或服务提供方230所提供的服务的方法300的流程图。因为方法300可在图2的环境200的上下文中执行,所以现将频繁参考图2来描述图3的方法300。图3的左栏中在标题“服务消费者计算系统210”下示出由或可由服务消费者计算系统执行的动作。图3的右栏中在标题“服务经纪人计算系统220”下示出由或可由服务经纪人计算系统执行的动作。
方法300包括生成表示要定位的服务的范围的查询的动作(动作311)。范围是一个项的上下文标识,例如,服务的位置的标识。例如,如果用户请求了诸如其建筑物的四楼上的彩色打印等服务,则范围将包括所请求的彩色打印服务,和所请求的位置,即四楼。继续该示例,将生成表示该范围(彩色打印服务、四楼)的查询(动作311)。该查询可以包含该范围的文本表示,和/或其可以包含用户输入的搜索准则或可能包含简单的通知消息。用户输入的搜索准则可以包括,例如,关于所需服务的概要信息。
例如,如果用户想要搜索四楼的所有扫描仪或传真机,则搜索准则将包括位于四楼的扫描仪和传真机。搜索准则可被用来生成范围。在某些实施例中,范围是URI(统一资源标识符)。不管范围是如何生成的,都可以用匹配规则来编译该范围以创建经编译的范围(动作331)。动作331可以包括图4的数据结构和流程400(以下称为“数据流程400”)中示出的多个步骤。
图4中的数据流程400示出如动作331(参见图3)所标识的生成经编译的范围的动作。可以用匹配规则430来编译范围410(见动作420)以生成所得的经编译的范围信息440。在本说明书和权利要求书中,匹配规则430被定义为用于在环境200中分类和/或定位服务的机制。
在一实施例中,例如,可以用LDAP(轻量级目录访问协议)431匹配规则来编译四楼的彩色打印机的LDAP范围(例如,“ldap:///pf=4thfloor,pt=color”)。在该情况下,可以得到以下经编译的范围信息:“ldapmatch::ldap:///pf=4thfloor,pt=color”,其中在适当的LDAP模式中公知“pf”是指“打印机楼层”而“pt”是指“打印机类型”。
再次参考图4,另一匹配规则可以包括使用该范围生成文本串的STRCMP0(串比较)432匹配规则。例如,在使用串比较进行编译时,四楼的同一彩色打印机范围(例如,“urn:4thfloor.printers.colorprinters”)可能导致如下:“strcmp0match::urn:4thfloor.printers.colorprinters”。
还可以使用URI(统一资源标识符)433匹配规则。URI匹配规则以诸如URL(统一资源定位符)等URI的形式来对该范围进行公式化。在使用URI433匹配规则进行编译时,四楼彩色打印机示例的所得的经编译的范围信息可以表现如下:“rfc2936match::http://www.domain.com/4thfloor/printers/color”。
还可以使用将范围表示为简单的唯一标识符的UUID(全局唯一标识符)434匹配规则。例如,四楼彩色打印机范围可以由以下标识符来简单地表示:“500f0400-e31a-11d4-a716-450010020300”,其中该标识符的某些部分可以(或可以不)相关于该范围的特定方面。经编译的范围可表现如下:“uuidmatch::500f0400-e31a-11d4-a716-450010020300”。
在某些实施例中,用少于所有类型且可能一种类型(例如,由于兼容性)的匹配规则来编译范围。因此,可以用匹配规则430中的一个或多个和/或用图4中未示出的其它匹配规则来编译420范围410。例如,情况可以是用LDAP规则而不用UUID规则来编译LDAP范围。另外,在其它实施例中,经编译的范围信息可以包括计算系统环境200中所有服务可用的经编译的范围(参见图2)。
参考图3,服务消费者计算系统210使用范围生成查询(动作311)。使用范围生成查询(动作311)可以仅仅涉及生成包括该范围的查询,随后该查询可被发送到服务经纪人计算系统。另选地,服务消费者计算系统210可以执行包括动作331和332的附加的可任选步骤来生成查询。在图3中,可任选步骤使用点划线来表示。取决于服务消费者计算系统210执行了哪些附加步骤(如果有的话),服务经纪人计算系统在评估该查询和范围(动作321)时可以完成该可任选步骤。
在一实施例中,例如,在服务消费者计算系统210正使用范围生成查询(动作311)时,服务消费者计算系统210在使用范围生成查询时可以任选地执行附加步骤。服务消费者计算系统210可以执行生成经编译的范围(动作331)或将范围和经编译的范围信息进行比较(动作332)的附加可任选步骤中的任一个、两者或两者都不执行。
例如,服务消费者计算系统210可以通过仅仅生成包括该范围的查询来使用范围生成查询(动作311)并发送该查询。另选地,服务消费者计算系统210可以改为生成经编译的范围(动作331),并随后发送具有该经编译的范围的查询。另选地,服务消费者计算系统可以执行生成经编译的范围(动作331)和将该范围与经编译的范围信息进行比较(动作332)两个可任选步骤,并随后发送具有动作332的比较结果的查询。
参考图3继续该示例,在评估查询和范围(动作321)时,取决于在该查询中所接收到的信息,服务经纪人计算系统220可以执行以下任何动作:1)如果该查询包括范围,则服务经纪人计算系统220可以执行生成经编译的范围(动作331)和将该范围与经编译的范围信息进行比较(动作332)的可任选步骤,2)如果该查询包括经编译的范围,则服务经纪人计算系统220可以跳过动作331(生成经编译的范围)并执行将该范围与经编译的范围信息进行比较(动作332)的可任选步骤,或3)如果该查询包括范围与经编译的范围信息的比较结果,则服务经纪人计算系统220可以仅仅评估该查询和范围(动作321)并且不执行附加的可任选步骤331或332。
标识服务的动作(动作322)可以包括基于范围与经编译的范围信息的比较(动作332)来标识服务。经编译的范围信息440(参见图4)可以是使用一个或多个匹配规则430编译的、一个或多个经编译的范围的组合。在一实施例中,经编译的范围信息440可被安排为一个或多个文本串。在这样一实施例中,服务经纪人计算系统220能够通过仅仅匹配文本串来标识所需服务。这可以减轻服务经纪人计算系统220的处理能力上的某些可能的负担。通常,服务经纪人计算系统220不适于执行复杂的处理(例如,蜂窝电话、打印机、传真机等)。因为文本串匹配比用匹配规则编译范围需要小得多的处理能力,所以许多服务经纪人计算系统220都将受益。
对该查询作出响应的动作(动作323)可以包括发送一个或多个服务和/或服务提供方230的位置。在接收到对该查询的响应(动作312)之后,服务消费者计算系统210随后可以访问该响应并从中提取标识信息(动作313)。服务消费者计算系统210随后可以使用所提取的标识信息来定位该服务(动作314)。标识信息可以包括但不限于以下信息:网际协议地址(IP地址)、媒体访问控制地址(MAC地址)、UUID、域名、电话号码、序列号、范围、经编译的范围、或标识服务或服务提供方的任何其它手段。如果出于某种原因服务经纪人计算系统210不能够定位所需服务,则对于该查询的响应可以指示未发现所需服务。
图5示出了其中可采用本发明的原理的环境500。环境500包括一个或多个服务消费者计算系统210、代理计算系统510和可以链接到其它服务提供方230的一个或多个服务经纪人计算系统220。因为环境500基本上类似于图2,所以现将频繁参考图2来描述图5的环境500。
在一实施例中,环境500采用代理计算系统来作为服务消费者计算系统210和服务经纪人计算系统220之间的中介。代理计算系统510是至少被配置为接收查询、处理该查询中所包含的信息和发送查询的计算系统。在一实施例中,服务消费者计算系统210向代理计算系统510发送查询。代理计算系统510根据查询中的信息处理该查询,并向服务经纪人计算系统220发送另一查询。
图6示出供服务消费者计算系统210和代理计算系统510帮助定位一个或多个服务经纪人计算系统220或服务提供方230所提供的服务的方法600的流程图。因为方法600可在图2的环境200和图5的环境500的上下文中执行,所以现将频繁参考图2和图5来描述图6的方法600。图6的左栏中在标题“服务消费者计算系统210”下示出由或可由服务消费者计算系统执行的动作。图6的中间栏中在标题“代理计算系统510”下示出由或可由代理计算系统执行的动作。图6的右栏中在标题“服务经纪人计算系统220”下示出由或可由服务经纪人计算系统执行的动作。
在一实施例中,方法600采用服务消费者计算系统210、代理计算系统510和服务经纪人计算系统220来定位所需服务。所涉及的方法和步骤基本上类似于在图3的方法300中所概述的那些。如在方法300中一样,可任选步骤用点划线来表示。服务消费者计算系统210、代理计算系统510、和服务经纪人计算系统220的每一个都可以执行可任选步骤中的任一个、两者或两者都不执行。类似地,如在方法300的一实施例中一样,如果在接收到该查询之前曾执行过可任选步骤(动作331和332)则可以将其跳过。
例如,如果服务消费者计算系统210生成了具有范围的查询,则在发送该查询之前,服务消费者计算系统210可以执行附加的可任选步骤(动作331和332)中的任一个、两者或两者都不执行。如果服务消费者计算系统210执行了动作331,则服务消费者计算系统210随后可以发送具有经编译的范围的查询。另选地,如果服务消费者计算系统210执行了两个可任选步骤,则服务消费者计算系统210可以发送具有动作332的比较结果的查询。另选地,如果服务消费者计算系统210没有执行任一可任选步骤,则服务消费者计算系统210可以向代理计算系统510发送查询。
代理计算系统510进而可以任选地执行附加两个可任选步骤(动作331和332)并随后基于可任选步骤的结果来发送查询。或另选地,取决于查询指示已经执行了什么附加步骤,代理计算系统510可以执行附加的可任选步骤中的任何一个或两者都不执行。代理计算系统510随后可以向服务经纪人计算系统220发送另一查询。
服务经纪人计算系统220随后可以评估来自代理计算系统510的查询。在评估来自代理计算系统510的查询时,取决于来自代理计算系统510的查询指示已经执行了什么,服务经纪人计算系统220可以执行附加的可任选步骤(动作331和332)中的任一个、两者或两者都不执行。
如在方法300中一样,范围可以是预编译的范围,其中该预编译的范围是使用一个或多个不同的匹配规则来生成的,或另选地,范围可以是用户输入的搜索准则。通过向代理计算系统510而不是向所有服务经纪人计算系统220发送查询,可以显著地降低网络240上的通信量。
在评估来自代理计算系统510的查询(动作321)之后,服务经纪人计算系统220可以标识服务的位置(动作322)。服务经纪人计算系统220随后可以发送对该查询的响应(动作323),该响应将由服务消费者计算系统210接收(动作312),从而服务消费者计算系统210可以从该响应中提取标识(动作313)并使用该标识来定位服务(动作314)。
在某些实施例中,范围可以被编译到搜索准则中并被包括在查询中。服务经纪人计算系统220随后可以使用经编译的范围并将其与其各经编译的范围进行比较以标识可能的匹配。可以忽略不支持的或不兼容的经编译的范围。可以用各种不同的方式来表示经编译的范围的范围信息。在某些实施例中,经编译的范围的范围信息以根据XML模式所定义的XML指令来表示。以下指令表示用来表示经编译的范围的范围信息的示例XML模式定义的数据格式:
      <?xml version="1.0"encoding="UTF-8"?>
      <xs:schema
targetNamespace="http://schemas.microsoft.com/ws/2005/04/xdiscovery"
       xmlns="http://schemas.microsoft.com/ws/2005/04/xdiscovery"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       elementFormDefault="qualified"
       attributeFormDefault="unqualified">
       <xs:element                                  name="CompiledScopes"
type="tns:CompiledScopesType"/>
         <xs:complexType name="CompiledScopesType">
            <xs:complexContent>
               <xs:extension base="tns:StringListType">
                   <xs:attribute name="StartsWithMatch"type="xs:boolean"
                                              use="optional"default="false"/>
                   <xs:anyAttribute                         namespace="##other"
processContents="lax"/>
              </xs:extension>
          </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="StringListType">
         <xs:list itemType="xs:string"/>
      </xs:simpleType>
   </xs:schema>
以下指令表示包括根据XML模式定义的经编译的范围的范围信息的SOAP消息。
<?xml version="1.0"encoding="utf-8"?>
<s:Envelope
 xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
 xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery"
 xmlns:i="http://printer.example.org/2003/imaging"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action>
      http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
    </a:Action>
    <a:MessageID>
      uuid:0a6dc791-2be6-4991-9af1-454778a1917a
    </a:MessageID>
    <a:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</a:To>
 </s:Header>
       <d:Probe>
         <d:Types>i:PrintBasic</d:Types>
         <d:Scopes
         MatchBy="http://schemas.xmlsoap.org/ws/2005/04/discovery/ldap"
>
           ldap:///ou=engineering,o=examplecom,c=us
         </d:Scopes>
         <x:CompiledScopes
xmlns:x="http://schemas.microsoft.com/ws/2005/04/xdiscovery"
         StartsWithMatch="true">
           ldapmatch::ldap::389:c=us/o=examplecom/ou=engineering/
         </x:CompiledScopes>
       </d:Probe>
       </s:Body>
     </s:Envelope>
这些示例中:
/s:Envelope/s:Body/d:Probe/x:CompiledScopes是请求中由/s:Envelope/s:Body/d:Probe/d:Scopes所指定的、关于/s:Envelope/s:Body/d:Probe/d:Scopes/@MatchBy所指定的匹配算法的每一范围的经编译的范围的列表。
经编译的范围的列表是可以与服务的经编译的范围匹配的串列表。在Probe(探针)中的经编译的范围匹配该服务的经编译的范围时,该服务可以作出响应。
/s:Envelope/s:Body/d:Probe/x:CompiledScopes/@StartsWithMatch指示Probe中经编译的范围可以如何与该服务的经编译的范围进行匹配。如果为假,则Probe中经编译的范围可以与经编译的服务范围的一个相匹配。如果为真,则即使服务范围自其开始,Probe中的经编译的范围也可以匹配。
因此,上述各实施例示出用于使用范围信息来定位一个或多个服务经纪人计算系统上的服务的系统和方法。通过使用经编译的范围信息来定位范围,系统和方法可以潜在地对降低网络通信量和降低服务提供方的处理能力的负担做出贡献。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所述实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范围涵盖。

Claims (20)

1.一种在包括能够互相通信的多个计算系统的计算环境中的供计算系统帮助定位所述多个计算系统的一个或多个所提供的服务的方法,所述方法包括:
接收表示要定位的服务的范围的查询的动作;
将所述查询中所表示的范围与经编译的范围信息进行比较的动作,所述经编译的范围信息对于多个范围的至少一个的每一个包括以下;多个经编译的范围,每一个都使用不同的匹配规则来编译;
基于所述比较动作,将所述多个计算系统的至少一个标识为提供所述要定位的服务的动作;以及
提供对所述查询的响应的动作,所述响应包括所述多个计算系统的至少一个的一个或多个的标识。
2.如权利要求1所述的方法,其特征在于,所述多个经编译的范围包括文本串。
3.如权利要求1所述的方法,其特征在于,所述查询包括用户输入的搜索准则。
4.如权利要求1所述的方法,其特征在于,所述服务包括web服务。
5.如权利要求1所述的方法,其特征在于,所述匹配规则包括以下规则的一个或多个:统一资源标识符(URI)、全局唯一标识符(UUID)、轻量级目录访问协议(LDAP)、和串比较(STRCMP0)。
6.如权利要求1所述的方法,其特征在于,所述多个经编译的访问是在所述多个计算系统的一个或多个上本地地编译的。
7.如权利要求1所述的方法,其特征在于,所述查询中所表示的范围包括预编译的范围信息。
8.如权利要求7所述的方法,其特征在于,所述预编译的范围信息是使用不同的匹配规则来编译的。
9.一种包括其上含有计算机可执行指令的一种或多种计算机可读介质的计算机程序产品,所述指令在由计算系统的一个或多个处理器执行时,使所述计算系统执行供计算系统定位由多个计算系统的一个或多个所提供的服务的方法,所述方法包括:
使用用户输入,标识多个范围中所述要定位的服务的范围的动作;
访问所标识的范围的多个编译的动作,所述多个范围的每一个的至少某些使用不同的匹配规则来编译;
使得包括所述多个编译的至少一个的查询被发送的动作;
检测已接收到对于所述查询的响应的动作;以及
响应于所述检测动作,访问对于所述查询的响应的动作,所述响应包括足以标识提供所述服务的所述多个计算系统的至少一个的信息。
10.如权利要求9所述的计算机程序产品,其特征在于,所述用户输入包括一个或多个搜索准则。
11.如权利要求10所述的计算机程序产品,其特征在于,还包括基于所述一个或多个搜索准则标识所述范围。
12.如权利要求9所述的计算机程序产品,其特征在于,所述多个编译是远程地访问的。
13.如权利要求9所述的计算机程序产品,其特征在于,所述多个编译是预编译的。
14.如权利要求13所述的计算机程序产品,其特征在于,所述预编译的多个编译是远程地访问的。
15.一种在包括能够互相通信的多个计算系统的计算环境中的供代理定位所述多个计算系统的一个或多个所提供的服务的方法,所述方法包括:
接收表示要定位的服务的范围的第一查询的动作;
将所述第一查询中所表示的范围与经编译的范围信息进行比较的动作,所述经编译的范围信息对多个范围的至少一个的每一个包括以下;多个经编译的范围,每一个都使用不同的匹配规则来编译;以及
发送第二查询的动作,其中所述第二查询包括所述多个经编译的范围的至少一个。
16.如权利要求15所述的方法,其特征在于,所述代理接收一个或多个搜索准则并基于所述搜索准则计算所述范围。
17.如权利要求15所述的方法,其特征在于,所述第一查询包括预编译的范围信息。
18.如权利要求17所述的方法,其特征在于,所述预编译的范围信息是使用不同的匹配规则来编译的。
19.如权利要求15所述的方法,其特征在于,所述第二查询包括用户输入的搜索准则。
20.如权利要求15所述的方法,其特征在于,所述第二查询包括预编译的范围信息。
CNA2007800221816A 2006-06-15 2007-05-08 使用经编译的范围来定位服务 Pending CN101467397A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/424,458 US7783718B2 (en) 2006-06-15 2006-06-15 Locating services using compiled scopes
US11/424,458 2006-06-15

Publications (1)

Publication Number Publication Date
CN101467397A true CN101467397A (zh) 2009-06-24

Family

ID=38832055

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800221816A Pending CN101467397A (zh) 2006-06-15 2007-05-08 使用经编译的范围来定位服务

Country Status (6)

Country Link
US (1) US7783718B2 (zh)
EP (1) EP2036257B1 (zh)
JP (1) JP2009540462A (zh)
KR (1) KR20090029715A (zh)
CN (1) CN101467397A (zh)
WO (1) WO2007145743A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365588A1 (en) * 2012-09-22 2014-12-11 Cedar Point Partners, Llc Methods, systems, and computer program products for processing a data object identification request in a communication
US10158590B1 (en) 2010-07-09 2018-12-18 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US10419374B1 (en) 2010-07-09 2019-09-17 Gummarus, Llc Methods, systems, and computer program products for processing a request for a resource in a communication
US10212112B1 (en) 2010-07-09 2019-02-19 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US10171392B1 (en) 2010-07-09 2019-01-01 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US10015122B1 (en) 2012-10-18 2018-07-03 Sitting Man, Llc Methods and computer program products for processing a search
US10021052B1 (en) 2012-09-22 2018-07-10 Sitting Man, Llc Methods, systems, and computer program products for processing a data object identification request in a communication
US10013158B1 (en) 2012-09-22 2018-07-03 Sitting Man, Llc Methods, systems, and computer program products for sharing a data object in a data store via a communication
US10019135B1 (en) 2012-10-18 2018-07-10 Sitting Man, Llc Methods, and computer program products for constraining a communication exchange
US10033672B1 (en) 2012-10-18 2018-07-24 Sitting Man, Llc Methods and computer program products for browsing using a communicant identifier
US11138529B2 (en) * 2017-09-11 2021-10-05 Bentley Systems, Incorporated Techniques for coordinating codes for infrastructure modeling

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE269097T1 (de) 1998-12-22 2004-07-15 Janssen Pharmaceutica Nv Antiprotozoale saponine
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6957199B1 (en) * 2000-08-30 2005-10-18 Douglas Fisher Method, system and service for conducting authenticated business transactions
JP2002196990A (ja) * 2000-12-27 2002-07-12 Kddi Corp サービス発見プロトコル変換ゲートウェイ
WO2003014867A2 (en) * 2001-08-03 2003-02-20 John Allen Ananian Personalized interactive digital catalog profiling
JP3826807B2 (ja) 2002-02-13 2006-09-27 日本電気株式会社 移動通信ネットワークにおける測位システム
US7570943B2 (en) * 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US7188155B2 (en) * 2002-12-17 2007-03-06 International Business Machines Corporation Apparatus and method for selecting a web service in response to a request from a client device
CN1277424C (zh) 2003-03-28 2006-09-27 华为技术有限公司 位置业务中进行去激活和激活操作的交互方法
CN1276671C (zh) 2003-07-04 2006-09-20 华为技术有限公司 位置业务中位置信息请求的处理方法
US7467389B2 (en) * 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices

Also Published As

Publication number Publication date
US7783718B2 (en) 2010-08-24
WO2007145743A1 (en) 2007-12-21
KR20090029715A (ko) 2009-03-23
US20070294711A1 (en) 2007-12-20
EP2036257A4 (en) 2013-11-06
JP2009540462A (ja) 2009-11-19
EP2036257B1 (en) 2021-12-29
EP2036257A1 (en) 2009-03-18

Similar Documents

Publication Publication Date Title
CN101467397A (zh) 使用经编译的范围来定位服务
EP1916823B1 (en) Content management method and apparatus
US20220014583A1 (en) Sharing network addresses
CN100546310C (zh) 电子设备及其控制方法
KR20070009633A (ko) 통지 방법, 접속 장치, 통신 방법, 및 프로그램
EP2738992B1 (en) Method and device for controlling digital living network alliance contents
JP4261111B2 (ja) ホームネットワーク内の機器にサービスを提供するシステムとその方法及びホームネットワークでサービスが提供されるシステムとその方法
CN102263782A (zh) 信息处理装置、信息处理方法和信息处理系统
CN105340243B (zh) 用于检测数字媒体设备存在于网络上的方法、系统和介质
CN105760397A (zh) 物联网本体模型处理方法及装置
CN102067525A (zh) 用于发现对等覆盖网络的方法和装置
EP1881677B1 (en) Method and apparatus for transmitting event information between devices connected via a network
KR20040028915A (ko) 정보 단말기 이용자의 위치 정보 취득 장치 및 취득 방법
JP5317835B2 (ja) コンテンツ属性情報提供装置、コンテンツ属性情報提供方法、及びコンピュータプログラム
US7860924B2 (en) Method and system for supporting multiple versions of web services standards
US20090019006A1 (en) Apparatus, method and system for providing content of media server
KR20120124789A (ko) 기기간 연결 방법 및 그 장치
WO2000078002A2 (en) Multi-dimensional authoritative names registry in pervasive computing
US20060168211A1 (en) Information processing system, information processing device and method, program storage medium, and program
JP5187908B2 (ja) 配信ポリシに基づくコンテンツ協調再生方法、プロキシ制御端末及びプログラム
KR102236043B1 (ko) 프록시 서버를 이용하는 가용 서비스 정보 제공장치 및 그 방법
JP2004078277A (ja) 通信網から独立したアドレス情報提供装置を用いる情報提供方法、情報提供システム、情報提供者側端末装置、アドレス情報提供装置、情報閲覧者側端末装置、管理装置、これらのプログラム並びにプログラム記録媒体
US20050177874A1 (en) Access information generating device, access information generating method and receiver device
KR101862700B1 (ko) 휴대용 단말기의 메타데이터 데이터베이스 복사를 이용한 멀티미디어 공유장치 및 방법
JP4487137B2 (ja) 受信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090624