CA2501718A1 - Service discovery and publication - Google Patents

Service discovery and publication Download PDF

Info

Publication number
CA2501718A1
CA2501718A1 CA002501718A CA2501718A CA2501718A1 CA 2501718 A1 CA2501718 A1 CA 2501718A1 CA 002501718 A CA002501718 A CA 002501718A CA 2501718 A CA2501718 A CA 2501718A CA 2501718 A1 CA2501718 A1 CA 2501718A1
Authority
CA
Canada
Prior art keywords
service
programming interface
application programming
defining
discovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002501718A
Other languages
French (fr)
Other versions
CA2501718C (en
Inventor
Andrew D. Milligan
Charles R. Reeves
Jeffrey B. Parham
Gopal Krishna R. Kakivaya
Lawrence A. Buerk
Angela Mills
Richard L. Hasha
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 Technology Licensing LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CA2782812A priority Critical patent/CA2782812C/en
Publication of CA2501718A1 publication Critical patent/CA2501718A1/en
Application granted granted Critical
Publication of CA2501718C publication Critical patent/CA2501718C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery

Abstract

A system and methods for service discovery and publication are disclose d. Application programs write requests for service discovery, publication, a nd subscription to a service discovery application programming interface. The service discovery application programming interface invokes one or more lower-level protocols to satisfy the discovery, publication and/or subscription request. Service information retrieved from lower-layer protocols is formatted into a consistent data model and returned to the client application. In addition, service informati on may be stored in a persistent data store managed by a discovery persistence service communicatively connected to the service discovery API.

Claims (18)

1. A method for discovering services available in a computing environment, comprising:
in an application program:
defining a discovery scope;
defining a discovery filter; and initiating a search request to a first application programming interface;
in the first application programming interface:
parsing the search request;
retrieving service information corresponding to the requested discovery scope and discovery filter; and returning the service information to the application program.
2. The method of claim 1, wherein retrieving service information corresponding to the requested discovery scope and discovery filter comprises executing a call to at least one low-level API or protocol.
3. The method of claim 1, wherein retrieving service information corresponding to the requested discovery scope and discovery filter comprises querying a persistent data store service.
4. The method of claim 1, further comprising formatting retrieved service information into a consistent service entry object data format.
5. The method of claim 2, further comprising saving information received from the at least one low-level API or protocol in a persistent data store.
6. A method for publishing services available in a computing environment, comprising:
in an application program:
defining a service entry object;
defining a publication scope;
assigning a unique key to the service; and assigning a service type;
defining properties for the service;
defining endpoints for the service; and initiating a publication request to a first application programming interface;
in the first application programming interface:
parsing the search request; and executing at least one low-level API call to publish the service.
7. The method of claim 6, further comprising storing the service information in a persistent data store.
8. A method for deleting a published service in a computing environment, comprising:
in an application program:
defining a service entry object;
specifying a key corresponding to the published service;
defining a deletion scope; and initiating a deletion request to a first application programming interface;
in the first application programming interface:
parsing the search request; and executing at Least one low-level API call to delete the service.
9. The method of claim 8, further comprising deleting the service information from a persistent data store.
10. The method of claim 8, further comprising registering the deleted service information in a persistent data store.
11. A method of subscribing to service events in a computing environment, comprising:
in an application program:
defining a scope;
defining a filter;
defining a callback function; and initiating a subscription request to a first application programming interface;
in the first application programming interface:
parsing the search request; and executing at least one low-level API call to subscribe to service events; and returning information from service events to the application program.
12. The method of claim 11, further comprising formatting retrieved service information into a service entry obtect data format.
13. The method of claim 12, further comprising saving information received from the at least one low-level API in a persistent data store.
14. A system for managing information about services available in a computing environment, comprising:

a first application programming interface configured to accept service queries from an application, wherein the first application programming interface receives service queries in a first service query protocol, processes the service queries, and launches at least one corresponding service query to a second protocol;
a discovery persistence service communicatively connected to the first application programming interface, wherein the discovery persistence service receives service information from the first application programming interface and stores the service information in a data store.
15. The system of claim 14, wherein the first application programming interface provides an interface to at least one directory-based protocol and at least one ad-hoc protocol.
16. The system of claim 14, wherein the first application programming interface discovers services available on a local computing device.
17. The system of claim 14, wherein the first application programming interface discovers services available on a remote computing device.
18. The system of claim 14, wherein the first application programming interface implements a scope map, and wherein the scope map is configurable by a system administrator.
CA2501718A 2003-10-24 2004-07-21 Service discovery and publication Active CA2501718C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2782812A CA2782812C (en) 2003-10-24 2004-07-21 Service discovery and publication

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/693,653 2003-10-24
US10/693,653 US7716357B2 (en) 2003-10-24 2003-10-24 Service discovery and publication
PCT/US2004/023547 WO2005045563A2 (en) 2003-10-24 2004-07-21 Service discovery and publication

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA2782812A Division CA2782812C (en) 2003-10-24 2004-07-21 Service discovery and publication

Publications (2)

Publication Number Publication Date
CA2501718A1 true CA2501718A1 (en) 2005-04-24
CA2501718C CA2501718C (en) 2012-10-02

Family

ID=34573201

Family Applications (2)

Application Number Title Priority Date Filing Date
CA2782812A Active CA2782812C (en) 2003-10-24 2004-07-21 Service discovery and publication
CA2501718A Active CA2501718C (en) 2003-10-24 2004-07-21 Service discovery and publication

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CA2782812A Active CA2782812C (en) 2003-10-24 2004-07-21 Service discovery and publication

Country Status (11)

Country Link
US (2) US7716357B2 (en)
EP (1) EP1676215A4 (en)
JP (2) JP2007509406A (en)
KR (2) KR20060130479A (en)
CN (1) CN100481069C (en)
AU (1) AU2004279194B2 (en)
BR (1) BRPI0406411A (en)
CA (2) CA2782812C (en)
MX (1) MXPA05006611A (en)
RU (1) RU2365973C2 (en)
WO (1) WO2005045563A2 (en)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996492B2 (en) * 2002-02-20 2011-08-09 Hewlett-Packard Development Company, L.P. System for providing information regarding network resources
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7590713B2 (en) 2003-11-24 2009-09-15 Microsoft Corporation Presenting a merged view of remote application shortcuts from multiple providers
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US7475125B2 (en) 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US8694532B2 (en) * 2004-09-17 2014-04-08 First American Data Co., Llc Method and system for query transformation for managing information from multiple datasets
US20060168320A1 (en) * 2004-12-30 2006-07-27 Kidd Nelson F Network topology discovery service
US20070005746A1 (en) * 2005-06-30 2007-01-04 Roe Bryan Y Enhanced network discovery service
US8356011B2 (en) 2005-07-26 2013-01-15 Microsoft Corporation Organizing presence information into collections of publications
US8108345B2 (en) 2006-03-31 2012-01-31 Microsoft Corporation Managing rich presence collections in a single request
US8234559B2 (en) * 2006-03-31 2012-07-31 Microsoft Corporation Managing rich presence collections
US20080046435A1 (en) * 2006-08-18 2008-02-21 Microsoft Corporation Service discovery and automatic configuration
US8265775B2 (en) * 2008-09-30 2012-09-11 Rockwell Automation Technologies, Inc. Modular object publication and discovery
US8041435B2 (en) * 2008-09-30 2011-10-18 Rockwell Automation Technologies, Inc. Modular object dynamic hosting
US9058032B2 (en) * 2006-09-29 2015-06-16 Rockwell Automation Technologies, Inc. Hosting requirements for services
US8732658B2 (en) * 2006-09-29 2014-05-20 Rockwell Automation Technologies, Inc. Layered interface in an industrial environment
US20080082577A1 (en) * 2006-09-29 2008-04-03 Rockwell Automation Technologies, Inc. Module classification and searching for industrial control systems
US8776092B2 (en) * 2006-09-29 2014-07-08 Rockwell Automation Technologies, Inc. Multiple interface support
US8818757B2 (en) * 2008-09-30 2014-08-26 Rockwell Automation Technologies, Inc. Modular object and host matching
US9217998B2 (en) * 2006-09-29 2015-12-22 Rockwell Automation Technologies, Inc. Management and development of an industrial environment
US8078296B2 (en) * 2006-09-29 2011-12-13 Rockwell Automation Technologies, Inc. Dynamic procedure selection
US9261877B2 (en) * 2006-09-29 2016-02-16 Rockwell Automation Technologies, Inc. Multiple machine interface
CN101611609B (en) * 2006-12-28 2012-11-14 艾利森电话股份有限公司 Method and apparatus for service discovery
US9021416B2 (en) * 2007-05-16 2015-04-28 Accenture Global Service Limited Recommended application evaluation system
US7904470B2 (en) * 2007-06-13 2011-03-08 Sap Ag Discovery service for electronic data environment
US20090119769A1 (en) * 2007-11-05 2009-05-07 Microsoft Corporation Cross-site scripting filter
CN102067519A (en) * 2007-11-21 2011-05-18 阿尔卡特朗讯 Network service system based on role
US7987163B2 (en) * 2008-02-12 2011-07-26 Bae Systems Information And Electronic Systems Integration Inc. Apparatus and method for dynamic web service discovery
US9071443B2 (en) * 2008-08-25 2015-06-30 Novell, Inc. Automated service platform prospecting
US8788666B2 (en) * 2008-12-31 2014-07-22 Sap Ag System and method of consolidated central user administrative provisioning
US8250113B2 (en) * 2010-04-30 2012-08-21 International Business Machines Corporation Web service discovery via data abstraction model
US8275806B2 (en) * 2010-04-30 2012-09-25 International Business Machines Corporation Web service discovery via data abstraction model and condition creation
US8583699B2 (en) * 2010-04-30 2013-11-12 International Business Machines Corporation Web service discovery via data abstraction model augmented by field relationship identification
US8949280B2 (en) * 2010-04-30 2015-02-03 International Business Machines Corporation Web service discovery via data abstraction model with input assistance
US8793263B2 (en) * 2010-08-23 2014-07-29 International Business Machines Corporation Avoiding duplicate and equivalent data objects in service registries
US9141411B2 (en) * 2010-09-30 2015-09-22 Microsoft Technology Licensing, Llc Model slicing and versioning
US9262474B2 (en) * 2010-09-30 2016-02-16 Microsoft Technology Licensing, Llc Dynamic domain query and query translation
US8671416B2 (en) * 2011-01-14 2014-03-11 Apple Inc. Dynamic service discovery
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method
US9652314B2 (en) * 2012-10-15 2017-05-16 Alcatel Lucent Dynamic application programming interface publication for providing web services
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US10216812B2 (en) 2013-10-30 2019-02-26 Hewlett Packard Enterprise Development Lp Application programmable interface (API) discovery
WO2017023276A1 (en) * 2015-07-31 2017-02-09 Hewlett Packard Enterprise Development Lp Discovering and publishing api information
US10078562B2 (en) 2015-08-18 2018-09-18 Microsoft Technology Licensing, Llc Transactional distributed lifecycle management of diverse application data structures
US10341444B2 (en) * 2016-07-27 2019-07-02 Microsoft Technology Licensing, Llc Abstracted device service discovery
CN113162996B (en) 2017-06-02 2023-03-24 华为技术有限公司 Service discovery method, registration center and equipment
US10831564B2 (en) 2017-12-15 2020-11-10 International Business Machines Corporation Bootstrapping a conversation service using documentation of a rest API
US10831772B2 (en) 2017-12-20 2020-11-10 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
US10803108B2 (en) 2017-12-20 2020-10-13 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
CN108647012A (en) * 2018-05-04 2018-10-12 山东汇贸电子口岸有限公司 A kind of management method and managing device of service-Engine
CN111161437A (en) * 2019-12-04 2020-05-15 江苏苏宁物流有限公司 General receiving, subscribing and distributing method and system for logistics box codes
JP7346745B2 (en) * 2020-02-14 2023-09-19 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Method and network entity for service API publication
CN115834202A (en) * 2020-05-27 2023-03-21 Oppo广东移动通信有限公司 Information processing method and device, equipment and computer storage medium
CN111865746B (en) * 2020-06-19 2022-08-19 苏宁云计算有限公司 System development method and device based on loop bus
CN113867976A (en) * 2020-06-30 2021-12-31 中兴通讯股份有限公司 Calling method and device of application program interface, storage medium and electronic device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423003A (en) 1994-03-03 1995-06-06 Geonet Limited L.P. System for managing network computer applications
US5893107A (en) * 1996-07-01 1999-04-06 Microsoft Corporation Method and system for uniformly accessing multiple directory services
US6067568A (en) 1996-12-10 2000-05-23 International Business Machines Corporation Automatic setup of services for computer system users
JP2002510088A (en) * 1998-03-27 2002-04-02 インフォミックス ソフトウェア, インコーポレイテッド Processing precomputed views
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
US6487552B1 (en) * 1998-10-05 2002-11-26 Oracle Corporation Database fine-grained access control
US6366934B1 (en) * 1998-10-08 2002-04-02 International Business Machines Corporation Method and apparatus for querying structured documents using a database extender
US6584459B1 (en) * 1998-10-08 2003-06-24 International Business Machines Corporation Database extender for storing, querying, and retrieving structured documents
ATE294480T1 (en) * 1999-06-11 2005-05-15 Microsoft Corp GENERAL API FOR DEVICE REMOTE CONTROL
JP4335405B2 (en) 2000-03-28 2009-09-30 ブラザー工業株式会社 Printing system, network printer, and printing control method
JP2003534597A (en) 2000-05-09 2003-11-18 サン・マイクロシステムズ・インコーポレイテッド Remote function invocation using messaging in a distributed computing environment
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US20020099814A1 (en) * 2001-01-24 2002-07-25 International Business Machines Corporation Method and apparatus for providing automatic discovery of network protocols, configurations and resources
US7249100B2 (en) * 2001-05-15 2007-07-24 Nokia Corporation Service discovery access to user location
JP4096223B2 (en) 2001-09-19 2008-06-04 富士ゼロックス株式会社 Service search apparatus and method
JP2003223449A (en) * 2001-10-26 2003-08-08 Yasuhiro Tanaka Method for registration of terminal information and method of utilizing it
US7603469B2 (en) * 2002-01-15 2009-10-13 International Business Machines Corporation Provisioning aggregated services in a distributed computing environment
US20030140119A1 (en) * 2002-01-18 2003-07-24 International Business Machines Corporation Dynamic service discovery
US8135843B2 (en) 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7614059B2 (en) * 2002-07-11 2009-11-03 Topia Technology System and method for the discovery and usage of local resources by a mobile agent object
US7401338B1 (en) * 2002-09-27 2008-07-15 Symantec Operating Corporation System and method for an access layer application programming interface for managing heterogeneous components of a storage area network
US20040111525A1 (en) * 2002-12-09 2004-06-10 International Business Machines Corporation Dynamic web service implementation discovery and selection apparatus and method
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
US20040120344A1 (en) * 2002-12-20 2004-06-24 Sony Corporation And Sony Electronics, Inc. Device discovery application interface
US20040133896A1 (en) * 2002-12-20 2004-07-08 Sony Corporation And Sony Electronics, Inc. Network device application interface
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
US6959262B2 (en) * 2003-02-27 2005-10-25 Hewlett-Packard Development Company, L.P. Diagnostic monitor for use with an operating system and methods therefor
US20040210630A1 (en) * 2003-04-17 2004-10-21 Microsoft Corporation Systems and methods for discovering, acquiring and maintaining nodes in a logical network
US7444386B2 (en) * 2003-06-20 2008-10-28 Sun Microsystems, Inc. Application programming interface for provisioning services
US20050080768A1 (en) * 2003-10-10 2005-04-14 International Business Machines Corporation Methods and apparatus for dynamic service discovery from Web services representation chain
US7328282B2 (en) * 2003-10-23 2008-02-05 International Business Machines Corporation Aspect oriented web service invocation
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication

Also Published As

Publication number Publication date
KR20060130479A (en) 2006-12-19
MXPA05006611A (en) 2005-08-16
EP1676215A2 (en) 2006-07-05
CA2782812C (en) 2015-09-08
US7716357B2 (en) 2010-05-11
CN100481069C (en) 2009-04-22
US8489759B2 (en) 2013-07-16
AU2004279194A8 (en) 2008-10-02
RU2005115975A (en) 2006-01-20
US20050234873A1 (en) 2005-10-20
KR101176757B1 (en) 2012-08-23
CA2501718C (en) 2012-10-02
WO2005045563A2 (en) 2005-05-19
JP2007509406A (en) 2007-04-12
AU2004279194B2 (en) 2010-03-04
WO2005045563A3 (en) 2005-07-14
EP1676215A4 (en) 2012-10-17
CA2782812A1 (en) 2005-04-24
BRPI0406411A (en) 2005-10-04
CN1705947A (en) 2005-12-07
AU2004279194A1 (en) 2005-06-23
JP2011103131A (en) 2011-05-26
RU2365973C2 (en) 2009-08-27
US20100217782A1 (en) 2010-08-26
JP5193280B2 (en) 2013-05-08
KR20110086193A (en) 2011-07-27

Similar Documents

Publication Publication Date Title
CA2501718A1 (en) Service discovery and publication
US11138150B2 (en) Network repository for metadata
CN100492356C (en) Method, system and devices for management of media items
US8799311B2 (en) Intelligent data caching
CA2533072A1 (en) Automated integration of content from multiple information stores using a mobile communication device
CN100437590C (en) Method for prefetching object
CN109656956B (en) Method and device for realizing centralized caching of service system data
WO2014161261A1 (en) Data storage method and apparatus
EP2767912A2 (en) In-memory real-time synchronized database system and method
CN101764848A (en) Method and device for transmitting network files
US20230409527A1 (en) Method And System For Deleting Obsolete Files From A File System
JP2000181849A5 (en)
US20140280465A1 (en) Method and system for accessing data by a client from a server
US5968138A (en) Method and apparatus for peripheral system management, using multiple object interfaces
JP2007219634A (en) Distributed database system and distributed management method of database
JP2006146615A (en) Object-related information management program, management method and management apparatus
JP2013546072A (en) Autonomous intelligent content items
US20040230744A1 (en) Cache content protocol for a content data delivery system
CN108063684A (en) A kind of processing method and processing system of telecom access network data
US20110055242A1 (en) System and Method for Managing Directories for a Database System Having an In-Memory Database
CN114827256B (en) Data pre-pushing method, data downloading method and system
KR100321866B1 (en) System and operating method of lightweight directory access protocol server compatiable with database managing systems
JPH1153322A (en) Object searching and acquiring method, search server and recording medium
CN117290392A (en) Product recommendation method and device, electronic equipment and storage medium
CN117520018A (en) Method for realizing sustainable message queue

Legal Events

Date Code Title Description
EEER Examination request