JP2013541069A - サービス・レジストリからのサービス展開のための方法、サービス・レジストリ、およびコンピュータ・プログラム - Google Patents

サービス・レジストリからのサービス展開のための方法、サービス・レジストリ、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2013541069A
JP2013541069A JP2013524399A JP2013524399A JP2013541069A JP 2013541069 A JP2013541069 A JP 2013541069A JP 2013524399 A JP2013524399 A JP 2013524399A JP 2013524399 A JP2013524399 A JP 2013524399A JP 2013541069 A JP2013541069 A JP 2013541069A
Authority
JP
Japan
Prior art keywords
service
registry
provider
requester
endpoint
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
JP2013524399A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013541069A publication Critical patent/JP2013541069A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】この実施形態は、サービス指向アーキテクチャ(SOA)に合致するシステム内でのサービス・ベースの展開のための方法、システム、およびコンピュータ・プログラムに関する。
【解決手段】特に、これは、サービス指向アーキテクチャ・システム内でサービスを提供するためのシステム内のサービス・レジストリにより動作可能である方法、システム、およびコンピュータ・プログラムに関する。この方法は、このシステムにおいてサービス要求側からサービスの要求を受信するステップと、サービス・レジストリに登録されているサービスのステータスを調べるステップと、を含み、サービスが登録されたサービス・エンドポイントを有しないか、またはサービスの特性が既定の閾値未満であることに応答して、1つ以上のサービス・プロバイダまたは以降のサービス・レジストリに新しいサービスを提供する要求を送信し、既定の閾値に従うことと、サービス・プロバイダが既定の標準に従って新しいサービスを提供することに応答して、サービス・レジストリを新しいサービスによって更新して、サービスが利用可能であることをサービス要求側に応答することと、によって特徴付けられる。実施形態によって、要求側とプロバイダとの間の直接インタラクションおよびサービス管理レイヤを介した間接インタラクションの双方が可能となる。また、実施形態によって、サービス・プロバイダを仮想サーバとして提供可能となり、サービスを仮想アプリケーションとして提供可能となる。
【選択図】図4

Description

本発明は、サービス指向アーキテクチャ(SOA:service oriented architecture)に基づいたシステム内でのサービスに基づいた展開のための方法および装置に関する。特に、これは、サービス・レジストリからサービス・エンドポイントの位置を特定するための方法および装置に関する。
サービス指向アーキテクチャ(SOA)は、ビジネス主導ITアーキテクチャ手法であり、ビジネス・プロセスの統合を、リンクされた反復可能なビジネス・タスクとして、またはサービス文書に規定されたサービスとしてサポートする。サービス文書はSOAの基本的な構築ブロックであり、どのようにサービスを他のサービスと共に使用、アクセス、および管理可能であるかを規定する。サービス文書は、SOAライフ・サイクルの開発段階中に分析者、設計者、および開発者によって用いられて、再使用するサービスの位置を特定し、サービス・コンフィギュレーションに対する変更の影響を評価する。サービス文書は、メタデータ、オブジェクト、記述、エンティティ、およびアーチファクトとして様々に記述され、サービス記述およびサービス・エンドポイントを含むサービスに関する情報を保存する。サービス・エンドポイントは、サービスのための一意のコンピュータ・アドレス指定可能位置である。サービス文書は、SOAシステム内のサービス・レジストリに記憶される。サービス・エンドポイントを含む各サービス文書における情報は、シュレッディング(shredding)として知られるプロセスにおいてインデックスされる。全てのサービスおよびサービス・エンドポイントのリストを維持するためにサービス文書にインデックスすることは、オン・デマンド・サービスを維持することの一部である。サービス・レジストリの一例は、IBM(R)WebSphere(R)Service Registry & Repositoryである。レジストリは、サービス要求をルーティングするためにいくつかのエンドポイントが利用可能であることを強調することができる。要求が来ると、レジストリは、利用可能なサービス・アーキテクチャ・トポロジの知識を用いて、要求されたサービスが利用可能でないかまたは同意されたサービス・レベルに関する合意(service level agreement)以下で実行されていることを示す。IBM及びWebSphereは、世界中の多くの管轄区域で登録されたインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。
米国特許第7,171,470B2号
登録されたサービス・エンドポイントを有するインストール済みのサービスは呼び出すことができるが、登録されたエンドポイントを有しないサービスを呼び出すことはできない。サービスは、サービス・プロバイダにおいてインストールされる際に、固定のまたは容易に利用可能なサービス・エンドポイントがサービス文書に規定されサービス・レジストリによってインデックスされている。しかしながら、多くのサービス・プロバイダは、固定のリソースを有し、低需要サービスよりも高需要サービスを優先させなければならない。従って、全てのサービスが同時に利用可能であるわけではない。
低需要サービスは、サービス・プロバイダからアンインストールし、サービス・プロバイダのアクティブなサービスから除去することができる。このサービスに関連付けられたいかなるサービス・エンドポイントもレジストリによって除去され、サービスはアーカイブされて、新しいサービス・エンドポイントを用いた再インストールおよびセットアップが必要であるようになっている。カスタマが、アンインストールされたサービスを要求し、サービスにおいて遅延または差異を経験しないことが有用であろう。低需要のまたはアンインストールされたサービスは、時として、レガシーまたは利用不足のサービスと称される場合がある。
サービス・プロバイダは、アンインストールの代わりに、低需要サービスの処理優先度を下げるか、または他の何らかの方法で低需要サービスに与える処理帯域幅を狭くする場合がある。これによって、サービス要求側が経験するサービス品質が低下し、サービス要求側の求めたサービスでないものになってしまう恐れがある。場合によっては、この品質低下はサービス契約の条項に反するものである。要求されたサービスの処理優先度が低下し、再度コンフィギュレーションを行う必要があった場合であっても、サービス要求側が所望の品質のサービスを受け、サービス品質の遅延または差異を経験しないことが有用であろう。
2007年1月30日の米国特許第7,171,470B2号(Doyle,R.P.等の「Grid Service Scheduling of Related Services using Heuristics」は、要求されたトランザクションの少なくとも一部を処理するためにコンピューティング・グリッドにおいてサービス・インスタンスをスケジューリングする方法およびシステムを開示する。
従って、当技術分野において、前述の問題に対処することが必要とされている。
本発明の第1の態様によれば、請求項1から10に記載されるようなサービス・レジストリ方法が提供される。
本発明の第2の態様によれば、請求項11から20に記載されるようなサービス・レジストリ・システムが提供される。
本発明の第3の態様によれば、請求項21から30に記載されるようなコンピュータ・プログラムが提供される。
好適な実施形態によるサービス・レジストリは、サービス(またはサービスの追加のインスタンス)がサービス・プロバイダにより利用可能となることを要求し、例えばサービスを含む仮想機械(virtual machine)画像を利用可能なハードウェア上に配置することによって、クラウド・コンピューティングによって提供することができる。レジストリに新しいサービス・エンドポイントを追加し、エンタープライズ・サービス・バス(ESB)は(いずれかの既存のエンドポイントに加えて)新しいエンドポイントをルーティングすることができる。サービスを除去し、他のサービス向けにハードウェアを利用可能とする何らかのタイムアウトまたは使用値に達するまで、サービスは展開されたままである。サービス・プロバイダからサービス・エンドポイントが除去されたことをレジストリが発見した場合、サービス・エンドポイントはレジストリから除去される。
レジストリは、直接サービスを提供している管理者(administrators)によって、またはSOA管理アプリケーションの使用によって用いられる。管理者によりサービスが開始されると、管理者またはSOA管理アプリケーションが使用するため、エンドポイント情報がレジストリに自動的に配置される。エンドポイント情報は、他のタイプのエンドポイントおよびサービス・エンドポイントを含み、本発明では、サービス・エンドポイントが失われた場合に、他のタイプのエンドポイント情報を用いて新しいサービス・エンドポイントを入手または提供可能であることが認められる。他のタイプのエンドポイントは、一般にインターネット・プロトコル・アドレスであるサービス・エンドポイントよりも抽象的である。実施形態によって、他のタイプのエンドポイント情報が管理者または管理アプリケーションあるいはその両方に利用可能となる。
好適な実施形態および他の実施形態は、サービス・レジストリにおいて実現される。レジストリは間接レイヤ(a layer of indirection)を提供し、これによって呼び出しアプリケーションは必ずしもサービス・エンドポイントの位置を知っている必要がなくなる。間接レイヤは、エンタープライズ・サービス・バス(ESB)上のサービス・アプリケーションによって用いられて、サービスの品質または負荷バランス等のサービス特徴に応じた異なるエンドポイントへのサービス要求の方向付けの管理を可能とする。
適切なサービス・エンドポイントが存在しない場合、または性能特徴が低すぎる場合、サービスの新しいインスタンスを提供するために要求が行われる。サービス・エンドポイントでない既存のエンドポイントの例は、必要に応じて仮想機械画像を提供するクラウド・ツールである。
サービス・エンドポイントが存在しない場合、新しいサービス・エンドポイント・インスタンスが提供されるまでレジストリは待機することができる。サービス・レジストリは、この新しいサービス・エンドポイントを要求側のアプリケーションに戻し、要求は新しいサービス・エンドポイントにルーティングされる。すでに利用可能なサービス・エンドポイントが存在する場合、要求は既存のサービス・エンドポイントにルーティングすることができるが、新しいサービス・エンドポイントが利用可能となった場合、今後の要求は、既存のサービス・エンドポイントに加えて新しいサービス・エンドポイントを利用することができる。
この解決策の利点として、サービスを効率的にアンインストールし、その後インストールすることができるので、サービス・プロバイダの利用可能なサービスからの低需要サービスをいっそう効率的に管理することができる。サービス使用が設定レベル未満に低下した場合またはタイムアウトに達した場合にはクラウド・サーバからサービス仮想機械画像を除去するように、展開されたサービス・インスタンスを監視することができる。
この解決策は、限られた数のサーバを有するがクラウド・リソースを用いてカスタマに多くのサービスを提供してサービスを拡大したいサービス・プロバイダにとって、特に有利である。かかるサービス・プロバイダは、多数のサービスのいずれか1つのホストとなり得る仮想エンドポイントを利用可能とすることができる。サービス・プロバイダは、サービス要求が受信された場合に単に新しいサービスを提供し、その後、使用レベルが低下した場合にサービスを除去する。これが意味するのは、サービス・プロバイダが、サービスのホストとなるために用いているクラウドの使用についてのみ支払いをすれば良いといことであり、従ってそれらのサーバのコストは固定されないことが確実となる。
これより添付図面を参照して一例としてのみ本発明の実施形態を説明する。
従来技術に従ったコンピュータ・システム・ノードのコンポーネントの図である。 従来技術に従った2つ以上のコンピュータ・システム・ノードを含むコンピュータ・ネットワーク環境のコンポーネントの図である。 本発明の好適な実施形態に従った、サービス・レジストリ、サービス要求側、およびサービス・プロバイダ間のインタラクションを示すSOAシステムのコンポーネントの図である。 本発明のリソース・プロバイダの実施形態に従った、サービス・レジストリ、サービス要求側、サービス・プロバイダ、およびリソース・プロバイダ間のインタラクションを示すSOAシステムのコンポーネントの図である。 本発明の実施形態に従ったサービス・レジストリのコンポーネントの図である。 本発明のクラウド実施形態に従った仮想化レイヤを示す。 本発明の好適な実施形態の方法のプロセス図である。 本発明の好適な実施形態の実行方法のプロセス図である。 本発明の好適な実施形態の補足的なレジストリ検索方法を示すプロセス図である。
図1を参照すると、従来技術に従ったコンピュータ・システム・ノード10のコンポーネントの図が示されている。コンピュータ・システム・ノード10は、コンピュータ・システム/サーバ12を含み、これは多数の他の汎用または特殊用途コンピューティング・システム環境またはコンフィギュレーションと共に動作する。コンピュータ・システム/サーバ12で用いるのに適切であり得る周知のコンピューティング・システム、環境、またはコンフィギュレーションあるいはそれら全ての例は、限定ではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント(thin client)、シック・クライアント(thick client)、ハンドヘルド・デバイス、またはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル民生用電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上述のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境等を含む。
コンピュータ・システム/サーバ12は、コンピュータ・システムにより実行されるプログラム・モジュール等のコンピュータ・システム実行可能命令の一般的なコンテキストにおいて記述することができる。一般に、プログラム・モジュールは、特定のタスクを実行するかまたは特定の抽象データ・タイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造等を含むことができる。
コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境において具現化することができる。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含むローカルおよび遠隔の双方のコンピュータ・システム記憶媒体に位置することができる。
図1に示すように、コンピュータ・システム・ノード10におけるコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、限定ではないが、1つ以上のプロセッサまたは処理ユニット16と、システム・メモリ28と、システム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に結合するバス18と、を含む。
バス18は、多種多様なバス・アーキテクチャのいずれかを用いた、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィック・ポート、およびプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれかの1つ以上を表す。限定ではなく一例として、かかるアーキテクチャは、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、VESA(VideoElectronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスを含む。
コンピュータ・システム/サーバ12は典型的に、多種多様なコンピュータ・システム読み取り可能媒体を含む。かかる媒体は、コンピュータ・システム/サーバ12によってアクセス可能であるいずれかの利用可能媒体とすることができ、揮発性および不揮発性媒体、着脱可能および着脱不可能媒体の双方を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30およびキャッシュ・メモリ32あるいはその両方等、揮発性メモリの形態のコンピュータ・システム読み取り可能媒体を含むことができる。コンピュータ・システム/サーバ12は更に、他の着脱可能/着脱不可能、揮発性/不揮発性コンピュータ・システム記憶媒体を含むことも可能である。一例に過ぎないが、着脱不可能、不揮発性磁気媒体(図示せず。典型的に「ハード・ドライブ」と呼ばれる)からの読み取りおよびそれに対する書き込みのために、記憶システム34を設けることができる。図示しないが、着脱可能、不揮発性磁気ディスク(例えば「フレキシブル・ディスク」)からの読み取りおよびそれに対する書き込みのための磁気ディスク・ドライブ、ならびにCD−ROM、DVD−ROM、または他の光媒体等の着脱可能、不揮発性光ディスクに対する読み取りまたはそれに対する書き込みのための光ディスク・ドライブを設けることができる。かかる例では、各々は1つ以上のデータ媒体インタフェースによってバス18に接続することができる。以下で更に図示し記載するように、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば少なくとも1つ)を有する少なくとも1つのプログラムを含むことができる。
限定ではないが一例として、メモリ28に、プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40を記憶することができ、更に、オペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも記憶することができる。オペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装を含むことができる。プログラム・モジュール42は一般的に、本明細書に説明するような本発明の実施形態の機能および方法論あるいはその両方を実行する。
また、コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24等の1つ以上の外部デバイス14、ユーザがコンピュータ・システム/サーバ12とインタラクトすることを可能とする1つ以上のデバイス、コンピュータ・システム/サーバ12が1つ以上の他のコンピューティング・デバイスと通信を行うことを可能とするいずれかのデバイス(例えばネットワーク・カード、モデム等)あるいはそれら全てと通信を行うことができる。かかる通信はI/Oインタフェース22を介して行うことができる。更にコンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、または公衆回線(例えばインターネット)あるいはそれら全て等の1つ以上のネットワークと通信を行うことができる。図示するように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信を行う。図示しないが、コンピュータ・システム/サーバ12と関連付けて他のハードウェアまたはソフトウェアのコンポーネントあるいはその両方を使用可能であることは理解されよう。限定ではないが、その例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル記憶システムを含む。
ここで図2を参照すると、従来技術の例示的なクラウド・コンピューティング環境50が示されている。図示のように、クラウド・コンピューティング環境50は1つ以上のクラウド・コンピューティング・ノード10を含み、これらは、例えばパーソナル・デジタル・アシスタント(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはそれら全て等のクラウド消費者によって用いられるローカル・コンピューティング・デバイスと通信を行うことができる。ノード10は相互に通信可能である。それらは、プライベート(private)、コミュニティ、パブリック(public)、またはハイブリッド・クラウド、またはそれらの組み合わせ等の1つ以上のネットワークにおいて物理的にまたは仮想的にグループ化することができる(図示せず)。これによってクラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはそれら全てをサービスとして提供することができ、クラウド消費者はそのためにローカル・コンピューティング・デバイス上でリソースを維持する必要はない。図2に示すコンピューティング・デバイス54A〜54Nのタイプは例示を意図するだけであり、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、いずれかのタイプのネットワークまたはネットワーク・アドレス指定可能接続を介して(例えばウェブ・ブラウザを用いて)いかなるタイプのコンピュータ化デバイスとも通信可能であることは理解されよう。
図3を参照すると、本発明の好適な実施形態によるSOAシステム300のコンポーネント図が示されている。SOAシステム300は、ユーザ・デバイス54Aならびに少なくとも2つのネットワーク301および306を含む。第1のネットワーク301は、少なくとも1つのサービス・プロバイダ302およびレジストリ304を含む。典型的に、第1のネットワーク301はエンタープライズ・ネットワークである。サービス・プロバイダ302は、例示的なマッピングおよびナビゲーション・サービス310を含む。第2のネットワーク306はサービス・プロバイダ308A〜308Nを含む。レジストリ304はサービス・エンドポイント・エンジン532を含む。
クライアント・デバイス54Aとサービス・プロバイダ302または308A〜308Nとの間の既知のインタラクションは次のように進む。クライアント・デバイス54Aはレジストリ304からサービスの使用を要求する。例えば、クライアント・デバイスはその位置のマップを要求することができる。レジストリ304は、例えばマッピングおよびナビゲーション・サービス310のような要求されたサービスを検索して位置を特定する。次いでレジストリは、位置を特定したサービスに関連付けられた1つ以上のサービス・エンドポイントを選択する。各サービス・エンドポイントは、少なくともインターネット・プロトコル(IP)・アドレスならびに任意にポート番号およびサービス・プロバイダ名を含み、サービス・プロバイダに対するIPサービス要求を可能とする。次いでレジストリ304は、サービス・エンドポイントを要求側のクライアント・デバイス54Aに返信し、クライアント・デバイス54Aは、提供されたサービス・エンドポイントの1つ以上を用いてサービス・プロバイダ302または308A〜308Nからマッピング・サービスを要求する。レジストリ304は、レジストリ304と同一のドメインもしくはエンタープライズ(すなわち第1のネットワーク301)内にあるサービス・エンドポイントを供給することができ、または別のドメインもしくはエンタープライズ内にあるものを供給することができる。供給されたサービス・エンドポイントによって、クライアントはサービス・プロバイダからのサービスを独立して要求することができる。
レジストリ304がサービス要求のための適切なサービス・エンドポイントを見つけられない場合、問題が発生する。全ての実施形態は、レジストリの一部としてサービス・エンドポイント・エンジン532を提供して、レジストリにおいて見つからない場合にレジストリの外部で適切なサービス・エンドポイントを探し出す。全ての実施形態は、サービス・プロバイダおよび他のサービス・レジストリ(図3および図4には他のサービス・レジストリは示していない)から、サービス・エンドポイントを探し出す。また、レジストリ304にサービス・エンドポイントが存在しない場合は、他のサービス・エンティティとの通信によって、レジストリ304は、サービスが一時的にオフラインであるか、またはいかなるサービス・プロバイダによっても提供されていないかを確かめることができる。一時的にオフラインのサービスは、サービス・エンドポイントが失われたかまたはインストールされていないサービスである。サービスが一時的にオフラインである場合、レジストリ304はサービス・プロバイダにおいてサービスを利用可能に再確立しようとする。いったんサービス・プロバイダ302または308A〜308Nが特定のサービスのためのサービス・エンドポイントを利用可能とすると、新たに利用可能となったサービス・エンドポイントは、初めてサービス・レジスタに登録され、またはレジストリ304によって再び登録され、次いでサービス要求側54Aに戻される。好適な実施形態において、サービス要求側54Aは、提供されたエンドポイントを用いてサービス・プロバイダと直接通信を行う。
図4を参照すると、本発明のサービス管理実施形態に従った完全なサービス管理を提供するSOAシステム400が示されている。SOAシステム400は、ユーザ・デバイス54Aならびに少なくとも2つのネットワーク401および406を含む。第1のネットワーク401は、少なくとも1つのサービス・プロバイダ402と、レジストリ404と、リソース・プロバイダ405と、を含む。典型的に、第1のネットワーク401はエンタープライズネットワークである。第2のネットワーク406はサービス・プロバイダ408A〜408Nを含む。レジストリ404はサービス・エンドポイント・エンジン532を含む。サービス・プロバイダ402は例示的なマッピングおよびナビゲーション・サービス410を含む。
この実施形態においては、完全なサービス管理は、レジストリ404がリソース・プロバイダ405とインタラクトして、例えばマッピング・サービスのようなサービスを提供することを含み、クライアントがサービス・プロバイダに関与する必要はない。クライアントはサービス・レジストリからサービスを要求し、次いでリソース・プロバイダがサービス・プロバイダからサービスを提供する。新たに発見されたサービス・エンドポイントがいったん登録されると、リソース・プロバイダ405がサービス・プロバイダ402または408A〜408Nとインタラクトしてサービスを制御するために用いられる。リソース・プロバイダ405は、サービス・プロバイダ402または408A〜408Nとサービス要求側54Aとの間の通信を行うためのプロキシとして機能する。リソース・プロバイダ405は、サービスの課金およびサービス品質の管理を含むサービスの完全サービス管理を可能とする。この実施形態では、サービス要求側54Aはサービス・プロバイダ402と直接に通信せず、サービス・プロバイダ402または408A〜408Nの実際のエンドポイント・アドレスはサービス要求側54Aに知られていない。
図5を参照すると、本発明の実施形態に従ったサービス・レジストリ304(または404)のコンポーネント図が示されている。サービス・レジストリ304または404は、複数のサービス文書を記憶しており、これらの文書および対応するサービスに対するアクセスを可能とする。サービス文書はインデックスされ、インデックスはサービス・レジストリに記憶されて特定の特徴を有する具体的なサービスの位置特定を可能とする。サービス・レジストリは、サービスに関する情報のサブセットのインデックスであり(例えばサービス文書の位置および名前)、リポジトリ514における対応するサービス文書の位置特定およびアクセス(またはサービス・プロバイダにおける対応するサービスの位置特定)を可能とする。堅固に結合されたサービス・レジストリおよびリポジトリによって、サービス動作は、レジストリ内のインデックスされたサービス情報およびリポジトリ内の詳細なサービス情報の双方を用いることができる。一体型サービス・レジストリおよびリポジトリの一例は、IBM WebSphere* Registry and Repository(WSRR)である。
かかる一体型のサービス・レジストリおよびリポジトリは、分離型のシステムに比べ、再使用によるビジネスの機敏さおよび回復力という利点を有する。一体化から、結合のゆるさ、高い柔軟性、良好なインターオペラビリティ、および良好な統制(governance)という更に別の利点も得られる。これらの利点は、サービス記述をそれらの実施から分離させ、サービスのライフ・サイクル全体を通してサービス記述を使用することによって与えられる。WSDL(ウェブ・サービス定義言語)、拡張可能XML(extensible mark-up language)スキーマ、ポリシまたはサービス・コンポーネント・アーキテクチャ(SCA)文書等の規格に基づいたサービス・メタデータ・アーチファクトによって、サービスによって何が実行可能なのか、サービスをどのように呼び出すことができるか、または他のサービスによる実行が予想されることの技術的な詳細を捕捉する。これらのアーチファクトに意味論的な(Semantic)注釈および他のメタデータを関連付けて、どのように、いつ使用可能か、および何の目的に供するかに基づいてサービスの潜在的なユーザに見通しを与えることができる。
好適な実施形態は、IBM WebSphere Service Registry and Repositoryに基づいたサービス文書のためのサービス・レジストリおよびリポジトリである。かかるサービス文書は、ある範囲のプロトコルを用いて多種多様なプログラミング・モデルに従って実装される従来のインターネット・サービスを含む。好適な実施形態はスタンドアロンのサービス・レジストリであるが、実施形態は、一体型サービス・レジストリを有する他のSOAコンポーネントを含む場合もある。例えば、サービス・プロバイダは、レジストリ機能およびサービス・プロバイダ機能を可能とする一体型サービス・レジストリを有することができる。
好適な実施形態のサービス・レジストリ304(または404)は、Java* Platform、Enterprise Edition(Java EE6)アプリケーションであり、IBM WebSphere Application Server 7上で動作し、バッキング・ストア(backing store)としてオブジェクト・データベースを用いてサービス・メタデータを維持する。サービス・レジストリは、ロールベース・アクセス制御(role-based access control)を利用して、サービス・レジストリおよびリポジトリが企業全体のアプリケーションとして展開された場合にロールベースのビューおよびアクセス制御をオンすることを可能とする。図5を参照すると、サービス・レジストリ304/404は、レジストリ・エンジン512、リポジトリ514、統制部520、分類部522、アクセス・コントローラ524、管理インタフェース526、ユーザ・インタフェース528、プログラミング・インタフェース530、サービス・エンドポイント・エンジン532を含む。
レジストリ・エンジン512は、サービス・メタデータのためのレジストリ機能およびリポジトリ機能の双方を提供する。リポジトリ機能によって、ユーザは、サービス記述を保持するサービス・メタデータ・アーチファクトを(リポジトリ514に)記憶し、管理し、照会することができる。レジストリ・エンジン512は、信頼性の高いデータ維持によってサービス・メタデータを含む文書を慎重に扱うだけでなく、例えばいくつかのサービス文書におけるポートおよびポート・タイプのようなそれらの文書の内容の詳細な表現を提供する。レジストリ・エンジン512は、得られた内容モデルの登録サービス宣言および要素を、ユーザが規定した特性、関係、および分類によって装飾するための対応をする。レジストリは、サービス・エンドポイントまたはサービス・インタフェース等のエンティティを見つけるために検索を行う場合にそれらの装飾を利用するユーザ・インタフェース528を提供する。
リポジトリ514に記憶された文書は、レジストリ・エンジン512によって変更の有無を監視される。サービス文書に対する変更がレジストリ・エンジン512によって検出された場合はいつでも、検証および通知機能を呼び出す。これら双方の種類の機能は拡張機構と考えられ、レジストリ・エンジン512が変更に対してどのように反応するかをカスタマイズするために用いることができる。検証機能は、内容に変更があった場合にレジストリ・エンジン512が実行するように記述することができる。例えば、検証機能はサービス規定の完全性についてチェックを行う。レジストリ・エンジン512は、通知プラグ・イン(図示せず)を含み、これはサービス・レジストリおよびリポジトリの内容の変更を伝達する通知の購読(subscription)機能を有する。
統制部520によって、レジストリ・エンジン512は多数の拡張可能な統制機能をサポートする。これらの機能は、統制されたエンティティについてのサービス・ライフ・サイクルをモデル化し、サービス状態間の有効な遷移を規定し、状態間の遷移を守るためにバリデータ(validators)を記述およびプラグ・インし、遷移の結果行われるアクション(通知アクション)を指定する能力を含む。統制部520は、内容に対する変更の影響を分析するためのインタフェースを提供し、かかる変更の監査を行う。
分類部522によって、サービス記述およびサービス規定の一部に、企業の語彙で注釈を付け、統制状態を捕捉することができる。サービス分類システムは、管理インタフェース526を用いてサービス・レジストリ内にロードされたウェブ・オントロジー言語(OWL)文書において捕捉される。サービス・レジストリ・エンティティは、これらの分類システムからの値によって分類して、分類に基づいた照会を実行し、分類に基づいたアクセス制限を実行することができる。
アクセス・コントローラ524は、詳細なアクセス制御モデルをサポートし、これによって、どのユーザロールが対応したアーチファクトに対する特定のタイプのアクションを実行可能であるかを規定することができる。サービスの可視性はビジネス領域によって制限することができ、ユーザロールは一定のライフ・サイクル状態にサービスが遷移するのを制限することができる。これは、サービス・レジストリおよびリポジトリが提供するロールベース・アクセス制御に追加される。
管理インタフェース526は、他のリポジトリとの交換のためにリポジトリ内容のインポートおよびエクスポートをサポートし、コンフィギュレーションおよび基本的な管理のためのアプリケーション・プログラミング・インタフェース(API)を提供する。これらは、アクセス・コントローラ524および分類部522とのインタラクションをサポートする。
ユーザ・インタフェース528は、サービス・レジストリおよびリポジトリとのユーザのインタラクションを可能とし、全てのユーザロールすなわち参照提供、閲覧、検索、公開、および注釈付け機能、ならびにインポート/エクスポートおよび影響分析等の統制アクティビティをサポートする。ユーザ・インタフェースは、様々なサード・パーティ・ツールのためのプラグ・インとして提供してインターオペラビリティをサポートすることができる。
プログラミング・インタフェース530は、標準的なAPIを用いてレジストリ・エンジン512(例えばJavaおよび標準的なSOAプロトコル)とインタラクトする。プログラミング・インタフェース530は、生成、検索、更新、および削除(CRUD)等の基本的な動作、統制動作、および柔軟な照会機能のためのインタフェースを提供する。プログラミング・インタフェース530は、XMLデータ構造を用いてまたはサービス・データ・オブジェクト(SDO)を用いることによって内容を伝達することができる。文書は、ユーザ・インタフェース528またはプログラミング・インタフェース530のいずれかを用いて、生成、検索、更新、および削除することができる。
サービス・エンドポイント・エンジン532は、サービス・エンドポイントについての要求を処理するための処理論理を含む。この処理論理は、サービス・エンドポイントが存在しない場合、または要求されたサービスの品質がサービス・エンドポイントにより提供されるサービスの品質と一致しない場合に、要求を処理する。サービス・エンドポイント・エンジン532が実行するプロセス・ステップについては、図7、図8、および図9の実施形態を参照して説明する。
図6を参照して、本発明の好適な実施形態のクラウド・コンピューティング環境が提供する仮想化抽象モデル・レイヤについて説明する。図6に示すコンポーネント、レイヤ、および機能は、例示のみを意図しており、本発明の実施形態はこれに限定されない。図示のように、以下のレイヤおよび対応する機能が提供される。すなわち、ハードウェアおよびソフトウェア・レイヤ60、仮想化レイヤ62、管理レイヤ64、および作業負荷レイヤ66である。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、一例としてIBM zSeries*システムがあげられるメインフレーム、一例としてIBM pSeries*システムがあげられる縮小命令セット・コンピュータ(RISC)・アーキテクチャ・ベースのサーバ、IBM xSeries*システム、IBM BladeCenter*システム、記憶デバイス、ネットワークおよびネットワーキング・コンポーネントを含む。ソフトウェア・コンポーネントの例は、一例としてIBM WebSphereアプリケーション・サーバ・ソフトウェアがあげられるネットワーク・アプリケーション・サーバ・ソフトウェア、および一例としてIBM DB2*データベース・ソフトウェアがあげられるデータベース・ソフトウェアを含む。
仮想化レイヤ62は抽象化レイヤを提供し、ここから以下のような仮想エンティティの例を提供することができる。すなわち、仮想サーバ、仮想記憶、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、および仮想クライアントである。
好適な実施形態においては、サービス・レジストリ304およびリソースの提供は、クラウド・システムの管理レイヤ64の一部である。管理レイヤ64は更に、計測および価格付け、ユーザ・ポータル、およびサービス・レベル管理等の他の機能を含む。リソースの提供は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。サービス・レジストリは、クラウド・システムにおいて用いられるコンピューティングおよび他のリソースのためのディレクトリを提供する。計測および価格付けは、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡を提供し、これらのリソースの消費について課金またはインボイス作成を提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含むことができる。ユーザ・ポータルは、消費者およびシステム管理者のためにクラウド・コンピューティング環境に対するアクセスを提供する。サービス・レベル管理は、要求されたサービス・レベルを満足させるようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。
作業負荷レイヤ66は、クラウド・コンピューティング環境を利用することができる機能性の例を提供する。このレイヤから提供可能である作業負荷および機能の例は、マッピングおよびナビゲーション、ソフトウェア開発およびライフ・サイクル管理、仮想クラスルーム教育配信、データ分析処理、トランザクション処理、およびモバイル・デスクトップを含む。SOAシステムでは、作業負荷レイヤにおける作業負荷はサービスとして実装される。
図7を参照すると、SOAシステム300または400においてサービス・エンドポイント・エンジン532および関連するコンポーネントの処理論理によって実行される好適な実施形態のプロセスが示されている。このプロセスは、適切な変更を行って少なくとも完全なサービス・リソースを提供する実施形態のために適合させることができる。このプロセスは、SOAシステムの主要コンポーネントに関して、特にサービス・レジストリに関して実行されるプロセス・ステップとして説明する。
ステップ702において、サービス要求側54Aはサービス・プロバイダにサービスを要求し、この要求をサービス・レジストリ304に送出する。例えば、作業負荷66のいずれかのサービスである(図6を参照のこと)。
ステップ704において、サービス・レジストリ304は、リポジトリ514内でサービス要求に関連付けられたサービス・エンドポイントを検索するが、この実施形態により対処される問題に従い、ここでサービス・レジストリは関連付けられたサービス・エンドポイントを発見しない。
ステップ706において、レジストリ内で正確なサービス・エンドポイントの位置は特定されないが、要求されたサービスに関連付けられたサービス情報を用いてサービス・プロバイダの位置を特定する。関連付けたサービス情報が存在しない場合、デフォルトのサービス・プロバイダの位置を特定する。例えば、サービス・プロバイダの名前または汎用的な管理エンドポイント情報をリポジトリに記憶してサービス要求に関連付けることができる。いずれの場合であっても、ステップ706においてサービス・プロバイダの位置を特定するかまたは提供する。
ステップ708において、位置特定したかまたはデフォルトのサービス・プロバイダから、要求されたサービスのためのサービス・エンドポイントを要求する。
位置特定したかまたはデフォルトのサービス・プロバイダ308Nは、ステップ710においてサービス要求を受信し、ステップ712においてサービスをセットアップする。いったんセットアップしたら、サービス・プロバイダはセットアップしたサービスをサービス・エンドポイントに関連付ける。サービスは、すでにセットアップされており、サービス・レジストリが認識していなかった既存のサービス・エンドポイントを有する場合がある。サービスは、サービス・エンドポイントなしでセットアップされている可能性もあり、この場合サービス・プロバイダはサービス・エンドポイントをセットアップし関連付けるだけである。サービスがセットアップされていない場合、サービス・プロバイダは既知の位置でまたは未知の位置で仮想的にそれをセットアップする。仮想セットアップでは、管理レイヤ64におけるリソース提供は、サーバ、記憶装置、ネットワーク、アプリケーション、およびクライアント、および作業負荷66の必要な仮想化レイヤ・コンフィギュレーションをセットアップする。
サービス・エンドポイントが既存であった場合もそうでない場合も、これはステップ714においてレジストリ304に返信される。
ステップ716において、レジストリは、受信したサービス・エンドポイントに、サービス・レジストリに登録されたサービスを関連付ける。
ステップ718において、レジストリは、受信したサービス・エンドポイントをサービス要求側54Aに送信する。
この好適な実施形態においては、サービス要求側54Aは、受信したサービス・エンドポイントにおいてサービス・プロバイダ302Nからのサービスを要求する。
ステップ722において、サービス・プロバイダはサービス・エンドポイントにおいてサービス要求を受信し、サービス要求側54Aに対するサービス提供を開始する。
例えば、移動電話サービス要求側54Aは、サービス要求側が移動する際に、GPS(Global Positioning System)データをログ記録することをマッピング・サービスに要求する。かかるGPSデータ・ログ記録サービスの要求702がサービス・レジストリに対して行われるが、レジストリはこのサービスに関連付けられた特定のサービス・エンドポイントを発見しない。しかしながら、レジストリは、サービスに関連付けられたサービス名「GPSマッピング・サービス」およびサービス・プロバイダ「Telemaps Logger」を発見する。ステップ708において、サービス・レジストリは「Telemaps Logger」からサービス・エンドポイントを要求する。「Telemaps Logger」は、サービス・エンドポイント要求を受信し、ステップ712において、例えばIPアドレス192.168.2.3およびポート1200(192.168.2.3:1200)のようなサービス・エンドポイントにおける「GPSマッピング・サービス」をセットアップまたは発見する。次いでステップ714において、「Telemaps Logger」サービス・プロバイダは、サービス・エンドポイントをサービス・レジストリに返信する。サービス・レジストリ304は、192.168.2.3:1200を「GPSマッピング・サービス」に関連付け、同一のサービス・エンドポイントを移動電話に返信する。次いでステップ720において、移動電話は、受信したサービス・エンドポイントを用いて「Telemaps Logger」からのサービスを自由に要求する。Telemaps Loggerは、サービス・エンドポイント192.168.2.3:1200に要求された場合、「GPSマッピング・サービス」を提供する。例えば、サービスは、移動電話の地理的位置を示すマップ・データを送信し、マップ・データは移動電話によって移動電話の画面上に描画される。
図8を参照すると、本発明の好適な実施形態の実行方法800の図が示されている。方法700と同様に、方法800も、適切な変更を行って完全なサービス・リソース提供実施のために適合させることができる。このプロセスは、SOAシステムの主要コンポーネントに関して、特にサービス・レジストリに関して実行されるプロセス・ステップとして説明する。
ステップ802において、サービス要求側54Aは、規定の性能レベルを有するサービスをサービス・プロバイダに要求し、この要求をサービス・レジストリ304に送出する。
ステップ804において、サービス・レジストリ304は、リポジトリ514内で規定の性能レベルを有しサービス要求に関連付けられたサービス・エンドポイントを検索するが、この実施形態により対処される問題に従い、ここではサービス・レジストリはかかる関連付けられたサービス・エンドポイントを発見しない。
サービスを提供するが必要な性能レベルでない1つ以上のサービス・エンドポイントが位置特定されると、これらのサービス・プロバイダは潜在的なサービス・プロバイダ・リストにリスト化される。サービス・エンドポイントを有しない、要求されたサービスに関連付けられたサービス・プロバイダが位置特定されると、これらのサービス・プロバイダも潜在的なサービス・プロバイダ・リストにリスト化される。ステップ806において、潜在的なサービス・プロバイダ・リスト内のものから第1のサービス・プロバイダを選択する。この選択は、必要な性能レベルに対するサービス性能の近さに基づいている。任意に、サービス・エンドポイントを有するサービス・プロバイダは、有しないものよりも選択の優先度が高い。関連付けられたサービス情報が存在しない場合、デフォルトのサービス・プロバイダを選択する。
ステップ808において、選択したサービス・プロバイダから、要求されたサービスのためのサービス・エンドポイントを要求する。
ステップ810において、選択したかまたはデフォルトのサービス・プロバイダ308Nはサービス要求を受信し、必要なサービス性能を提供することができる場合は、ステップ812において、規定のサービス性能を有するサービスのためのサービス・エンドポイントをセットアップする。サービス・プロバイダがサービス性能を提供することができない場合、要求は断られ、サービス・レジストリはステップ806において別のサービス・プロバイダを選択する必要がある。サービス・プロバイダがサービスを提供可能である場合、サービスはサービス・エンドポイントを用いてすでにセットアップされている場合があるが、適正な性能レベルを得るために追加のコンフィギュレーションが必要である。サービスは、正しいサービス性能レベルですでにセットアップされているが、サービス・エンドポイントを有しない場合がある。この場合、サービス・プロバイダは、ステップ814において関連するサービス・エンドポイントをセットアップし、これを返信するだけで良い。サービスがまだセットアップされていない場合、サービス・プロバイダは既知の位置でまたは未知の位置で仮想的にこれをセットアップする。サービス・エンドポイントが既存であった場合でもそうでない場合でも、ステップ814においてこれはレジストリ304に返信される。
次いでステップ816において、レジストリは、受信したサービス・エンドポイントに、規定の性能レベルを有する登録済みのサービスを関連付ける。
次いでステップ818において、レジストリは受信したサービス・エンドポイントをサービス要求側54Aに送信する。
この実施形態では、ステップ820において、サービス要求側54Aは、受信したサービス・エンドポイントにおいてサービス・プロバイダ308Nからのサービスを要求する。この実施形態では、サービス・エンドポイントを規定の性能レベルに関連付けているので、第2の要求で規定の性能レベルを要求する必要がない。他の実施形態では、所与のサービス・エンドポイントにおけるサービスは、サービス要求側からの要求に基づいて様々な性能レベルを有することが考えられる。
サービス・プロバイダは、サービス・エンドポイントにおいてサービス要求を受信し、ステップ822において、サービス要求側に対するサービス提供を開始する。
例えば、移動電話サービス要求側54Aは、サービス要求側が移動して、GPSデータをログ記録することをマッピング・サービスに要求し、1秒またはもっと短い更新を要求する。この例では、1秒の更新では我々の要求側デフォルトGPSサービスは除外される。かかるGPSデータ・ログ記録サービスの要求802がサービス・レジストリにされるが、レジストリはこのサービスに関連付けられた特定のサービス・エンドポイントを発見しない。しかしながら、レジストリは、その精度が0.8秒更新である特性を有する「ユーロGPSマッピング・サービス」という名前のサービスを発見し、レジストリは0.8秒が1秒よりも短いことを理解する。従って、サービス・プロバイダ「Euro Map Logger」がサービスに関連付けられる。ステップ808において、サービス・レジストリは「Euro Map Logger」からサービス・エンドポイントを要求する。「Euro Map Logger」は、サービス・エンドポイント要求を受信し、ステップ812において、セットアップを行い、または、例えばIPアドレス214.168.2.3およびポート2400(214.168.2.3:2400)のようなサービス・エンドポイントにおける「ユーロGPSマッピング・サービス」を発見する。次いでステップ814において、「Euro Map Logger」サービス・プロバイダは、サービス・エンドポイントをサービス・レジストリに返信する。サービス・レジストリ304は、214.168.2.3:2400を「ユーロGPSマッピング・サービス」に関連付け、同一のサービス・エンドポイントを移動電話に返信する。次いでステップ820において、移動電話は、受信したサービス・エンドポイントを用いて「Euro Maps Logger」からのサービスを自由に要求する。Euro Maps Loggerは、サービス・エンドポイント214.168.2.3:2400に要求された場合、「ユーロGPSマッピング・サービス」を提供する。例えば、サービスは、移動電話の地理的位置を示すマップ・データを送信し、マップ・データは移動電話によって移動電話の画面に描画される。
図9を参照すると、本発明のサービス・レジストリ・プロキシ実施形態の検索方法900の図が示されている。方法700および800と同様に、方法900も、適切な変更を行って完全なサービス・リソース提供実施形態のために適合させることができる。このプロセスは、SOAシステムの主要コンポーネントに関して、特にサービス・レジストリに関して実行されるプロセス・ステップとして説明する。
サービス要求側54Aは、第1のサービス・レジストリ304Aからのサービスをサービス・プロバイダに要求する。
ステップ904において、サービス・レジストリ304Aは、リポジトリ514内でサービス要求に関連付けられたサービス・エンドポイントを検索するが、この実施形態により対処される問題に従い、ここで第1のサービス・レジストリ304Aは関連付けられたサービス・エンドポイントを発見しない。
関連付けられたサービス情報が存在しない場合、以前の実施形態に従ってデフォルトのサービス・プロバイダを位置特定することができる。この実施形態では、サービス・レジストリ304Aは、デフォルトのサービス・プロバイダを用いるか、または要求を以降のサービス・レジストリに転送するかを決定する。サービス・レジストリは、位置特定したサービス・プロバイダの各々について適合度(relevance)の値を発生する検索アルゴリズムを用い、この適合度が閾値未満であると共に問い合わせる第2のまたはそれ以降のサービス・レジストリがある場合には、ステップ908においてサービス・レジストリ304Aは第2の(またはそれ以降の)サービス・レジストリ304Bからサービス・プロバイダを要求する。また、第1のサービス・レジストリが位置特定したサービス情報も第2の(またはそれ以降の)レジストリに送信して、第2の(またはそれ以降の)レジストリがサービス・プロバイダを選択した際に一つにまとめたサービス情報を用いることを可能とする。
ステップ910において、第2の(またはそれ以降の)サービス・レジストリ304Bは、レジストリ内でサービス要求に関連付けられたサービス・エンドポイントを検索する。正確な一致が発見された場合には、サービス・エンドポイントを第1のサービス・レジストリ304Aに返信し、プロセスはステップ920に継続する。正確な一致が発見されない場合、ステップ912において、第2のサービス・レジストリは位置特定したサービス・プロバイダまたはデフォルトのサービス・プロバイダを選択する。第2のサービス・レジストリ304Bは、検索の適合度に基づいて以降のサービス・レジストリを選択することができるが、これは図示しない。
ステップ914において、選択したサービス・プロバイダから、要求されたサービスのためのサービス・エンドポイントを要求する。
選択したサービス・プロバイダ308Nは、サービス要求を受信してサービスをセットアップする。いったんセットアップされると、サービス・プロバイダはサービスをサービス・エンドポイントに関連付ける。サービス・エンドポイントは第2のサービス・レジストリ304Bに返信される。
次いでステップ916において、第2のサービス・レジストリ304Bは、受信したサービス・エンドポイントに登録済みのサービスを関連付ける。
次いでステップ918において、第2のサービス・レジストリ304Bは、受信したサービス・エンドポイントを第1のサービス・レジストリ304Aに送信する。
ステップ920において、第1のサービス・レジストリ304Aは、受信したサービス・エンドポイントに登録済みのサービスを関連付ける。
ステップ922において、第1のサービス・レジストリ304Aは、受信したサービス・エンドポイントをサービス要求側54Aに送信する。
サービス要求側54Aは、受信したサービス・エンドポイント(図示せず)においてサービス・プロバイダ302Nからのサービスを要求する。サービス・プロバイダは、サービス・エンドポイントにおいてサービス要求を受信し、サービス要求側に対するサービス提供を開始する(図示せず)。
要約すると、サービス指向アーキテクチャ(SOA)に合致するシステム内でのサービス・ベースの展開のための方法、システム、およびコンピュータ・プログラムについて説明した。この方法、システム、およびコンピュータ・プログラムは、サービス指向アーキテクチャ・システム内でサービスを提供するためのシステム内のサービス・レジストリにより動作可能であり、このシステムにおいてサービス要求側からサービスの要求を受信するステップと、サービス・レジストリに登録されているサービスのステータスを調べるステップと、を含み、サービスが登録されたサービス・エンドポイントを有しないか、またはサービスの特性が既定の閾値未満であることに応答して、1つ以上のサービス・プロバイダまたは以降のサービス・レジストリに新しいサービスを提供する要求を送信し、サービス・プロバイダが新しいサービスを提供することに応答して、サービス・レジストリを新しいサービスによって更新して、サービスが利用可能であることをサービス要求側に応答することと、によって特徴付けられる。これらの実施形態によって、要求側とプロバイダとのインタラクション間の直接インタラクションおよびサービス管理レイヤを介した間接インタラクションの双方が可能となる。また、これらの実施形態によって、サービス・プロバイダを仮想サーバとして提供可能となり、サービスを仮想アプリケーションとして提供可能となる。
更に別の実施形態
本発明の好適な実施形態の方法の全てまたは一部は、この方法のステップを実行するように構成された論理要素を含む1つの論理装置または複数の論理装置において適切かつ有用に具現化することができること、ならびに、かかる論理要素はハードウェア・コンポーネント、ファームウェア・コンポーネント、またはそれらの組み合わせを含むことができることは、当業者には明らかであろう。
本発明の好適な実施形態に従った論理構成の全てまたは一部は、この方法のステップを実行する論理要素を含む論理装置において適切に具現化することができること、ならびに、かかる論理要素は、例えばプログラマブル論理アレイまたは特定用途向け集積回路における論理ゲート等のコンポーネントを含むことができることは、当業者には明らかであろう。かかる論理構成は更に、固定または送信可能キャリア媒体を用いて記憶および送信可能な、例えば仮想ハードウェア記述子言語を用いて、かかるアレイまたは回路において一時的または永久的に論理構造を確立するための可能化要素(enabling element)において具現化することも可能である。
また、上述の方法および構成は、1つ以上のプロセッサ(図には示していない)上で動作するソフトウェアにおいて完全にまたは部分的に適切に実行可能であること、ならびに、このソフトウェアは、磁気ディスクまたは光ディスク等のいずれかの適切なデータ・キャリア(これも図には示していない)上で搬送される1つ以上のコンピュータ・プログラム要素の形態で提供可能であることは認められよう。データ送信のためのチャネルは同様に、全ての記述の記憶媒体、および有線または無線の信号搬送媒体等の信号搬送媒体を含むことができる。
本発明は更に、コンピュータ・システムと共に用いるためのコンピュータ・プログラムとして適切に具現化することができる。かかる実施は、一連のコンピュータ読み取り可能命令を含むことができ、この命令は、例えばディスケット、CD−ROM、ROM、もしくはハードディスクのようなコンピュータ読み取り可能媒体等のタンジブルな媒体上に固定されているか、またはモデムもしくは他のインタフェース・デバイスを用いて、限定ではないが光もしくはアナログ通信ラインを含むタンジブルな媒体上で、または限定ではないがマイクロ波、赤外線、もしくは他の伝送技法を含む無線技法を用いてインタンジブルに(intagibly)コンピュータ・システムに送信可能である。一連のコンピュータ読み取り可能命令は、本明細書に前述した機能性の全てまたは一部を具現化する。
かかるコンピュータ読み取り可能命令は、多くのコンピュータ・アーキテクチャまたはオペレーティング・システムと共に用いるための多数のプログラミング言語で記述することができることは、当業者には認められよう。更に、かかる命令は、限定ではないが、半導体、磁気、もしくは光を含む現在もしくは今後のいずれかのメモリ技術を用いて記憶するか、または限定ではないが光、赤外線、もしくはマイクロ波を含む現在もしくは今後のいずれかの通信技術を用いて送信することができる。かかるコンピュータ・プログラムは、例えばシュリンクラップソフトウェアのような、印刷文書または電子文書が添付された着脱可能媒体として分配可能であるか、または、例えばシステムROMもしくは固定ディスク上のように、コンピュータ・システムにプリロードされるか、インターネットもしくはワールド・ワイド・ウェブのようなネットワーク上でサーバもしくは電子掲示板から配布可能であることが考えられる。
代替案においては、本発明の好適な実施形態は、サービスを展開するコンピュータ実装方法の形態で実現可能である。この方法は、コンピュータ・プログラム・コードを展開させ、コンピュータ・インフラストラクチャにおいて展開されてそこで実行された場合にコンピュータ・システムにこの方法の全てのステップを実行させるように動作する方法を含む。
更に別の代替案においては、本発明の好適な実施形態は、機能データを有するデータ・キャリアの形態で実現可能である。前記機能データは、コンピュータ・システムにおいてロードされてそれによって動作されると前記コンピュータ・システムがこの方法の全てのステップを実行することを可能とする機能コンピュータ・データ構造を含む。
本発明の範囲から逸脱することなく、前述の例示的な実施形態に多くの改良および変更を実施可能であることは、当業者には明らかであろう。
注記
*BladeCenter*、DB2、IBM、Lotus、Tivoli、pSeries、WebSphere、xSeriesおよびzSeriesは、米国または他の国々あるいはその両方におけるインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標または商標である。
**Javaおよび全てのJavaベースの商標およびロゴは、オラクルまたはその関連会社あるいはその両方の商標または登録商標である。

Claims (31)

  1. サービス指向環境内でサービスを提供するための、前記環境におけるサービス・レジストリによって動作可能な方法であって、
    前記環境においてサービス要求側からサービスの要求を受信するステップと、
    前記サービス・レジストリに登録されている前記要求されたサービスの詳細を調べるステップと、
    を含み、
    前記要求されたサービスが登録されていないことに応答して、1つ以上のサービス・プロバイダに新しいサービスを提供するよう要求を送信することと、、
    サービス・プロバイダが前記新しいサービスを提供することに応答して、前記サービス・レジストリを前記新しいサービスによって更新して、前記サービスが利用可能であることを前記サービス要求側に応答することと、
    によって特徴付けられる、方法。
  2. 前記サービス要求側が必要なサービス標準を含み、前記サービスが登録されているが前記必要な標準を有しないことに応答して、1つ以上のサービス・プロバイダに前記必要な標準を有するサービスを提供するよう要求を送信することと、
    サービス・プロバイダが、前記必要な標準を有するサービスを提供することに応答して、前記サービス・レジストリを前記新しいサービスおよびサービス標準によって更新することと、
    を含む、請求項1に記載の方法。
  3. 前記サービス標準は、サービス特性が必要な閾値を満足させることである、請求項2に記載の方法。
  4. 前記サービス特性が、
    前記サービスを実行する速度、
    前記サービスのコスト、または
    提供するサービス・インスタンスの数、
    の1つ以上である、請求項3に記載の方法。
  5. 前記要求されたサービスが登録されていないことに応答して、1つ以上の以降のサービス・レジストリに前記サービスのためのサービス・プロバイダを提供するよう前記サービス要求を送信することを更に含む、請求項1、2、または3に記載の方法。
  6. 前記1つ以上の以降のサービス・レジストリに、位置特定されたサービス情報を送信して、前記1つ以上の以降のサービス・レジストリが、以前に位置特定されたサービス情報およびそれ以降に位置特定されたサービス情報を用いてサービス・プロバイダを選択することを可能とする、請求項5に記載の方法。
  7. 前記サービス要求側と前記サービス・プロバイダとの間に介在するサービス管理層を更に含み、前記サービス要求側が前記サービス・プロバイダの実際のサービス・エンドポイントを受信せずに前記サービス管理層を介して前記サービスを用いる、請求項1から6のいずれか1項に記載の方法。
  8. 前記サービス要求側が前記サービス・エンドポイントを受信し、直接前記サービス・プロバイダからの前記サービスを要求する、請求項1から6のいずれか1項に記載の方法。
  9. 前記サービス・プロバイダが仮想サーバとして提供される、請求項1から8のいずれか1項に記載の方法。
  10. 前記サービスが仮想アプリケーションとして提供される、請求項1から9のいずれか1項に記載の方法。
  11. サービス指向アーキテクチャ・システム内でサービスを提供するための、前記システムにおけるサービス・レジストリであって、
    前記システムにおいてサービス要求側からサービス要求を受信するための手段と、
    前記サービス・レジストリに登録されている前記サービスのステータスを調べるための手段と、
    を含み、
    前記ステータスが既定の標準未満であることに応答して、1つ以上のサービス・プロバイダに前記既定の標準に従って新しいサービスを提供するよう要求を送信するための手段と、
    サービス・プロバイダが前記既定の標準に従って前記新しいサービスを提供することに応答して、前記サービス・レジストリを前記新しいサービスによって更新して、前記サービスが利用可能であることを前記サービス要求側に応答するための手段と、
    によって特徴付けられる、サービス・レジストリ。
  12. 前記既定の標準は、前記サービスが登録されたサービス・エンドポイントを有することである、請求項11に記載のサービス・レジストリ。
  13. 前記既定の標準は、サービス特性が閾値を満足させることである、請求項11に記載のサービス・レジストリ。
  14. 前記サービス特性が、
    前記サービスを実行する速度、
    前記サービスのコスト、
    提供するサービス・インスタンスの数、または
    前記サービスの他のいずれかの可変特性、
    の1つ以上である、請求項13に記載のサービス・レジストリ。
  15. 前記ステータスが既定の標準を満足させていないことに応答して、1つ以上の以降のサービス・レジストリに前記サービスのためのサービス・プロバイダを提供するよう要求を送信することを更に含む、請求項11、12、または13に記載のサービス・レジストリ。
  16. 前記1つ以上の以降のサービス・レジストリに、位置特定されたサービス情報を送信して、前記1つ以上の以降のサービス・レジストリが、一つにまとめたサービス情報を用いてサービス・プロバイダを選択することを可能とする、請求項15に記載のサービス・レジストリ。
  17. 前記サービス要求側と前記サービス・プロバイダとの間に介在するサービス管理層を更に含み、前記サービス要求側が前記サービス・プロバイダの実際のサービス・エンドポイントを受信せずに前記サービス管理層を介して前記サービスを用いる、請求項11から16のいずれか1項に記載のサービス・レジストリ。
  18. 前記サービス要求側が前記サービス・エンドポイントを受信し、直接前記サービス・プロバイダからの前記サービスを要求する、請求項11から16のいずれか1項に記載のサービス・レジストリ。
  19. 前記サービス・プロバイダが仮想サーバとして提供される、請求項11から18のいずれか1項に記載のサービス・レジストリ。
  20. 前記サービスが仮想アプリケーションとして提供される、請求項11から19のいずれか1項に記載のサービス・レジストリ。
  21. サービス指向アーキテクチャ・システム内でサービス・レジストリを動作させ、前記システムにおいてサービスを管理するための、コンピュータ読み取り可能コードを含むコンピュータ・プログラムであって、前記コンピュータ読み取り可能コードが、コンピュータ・システム上にロードされて実行された場合に、
    前記システムにおいてサービス要求側からサービス要求を受信するステップと、
    前記サービス・レジストリに登録されている前記サービスのステータスを調べるステップと、
    を実行し、
    前記ステータスが既定の標準未満であることに応答して、1つ以上のサービス・プロバイダに前記既定の標準に従って新しいサービスを提供するよう要求を送信することと、
    サービス・プロバイダが前記既定の標準に従って前記新しいサービスを提供することに応答して、前記サービス・レジストリを前記新しいサービスによって更新して、前記サービスが利用可能であることを前記サービス要求側に応答することと、
    によって特徴付けられる、コンピュータ・プログラム。
  22. 前記既定の標準は、前記サービスが登録されたサービス・エンドポイントを有することである、請求項21に記載のコンピュータ・プログラム。
  23. 前記既定の標準は、サービス特性が閾値を満足させることである、請求項21に記載のコンピュータ・プログラム。
  24. 前記サービス特性が、
    前記サービスを実行する速度、
    前記サービスのコスト、
    提供するサービス・インスタンスの数、または
    前記サービスの他のいずれかの可変特性、
    の1つ以上である、請求項23に記載のコンピュータ・プログラム。
  25. 前記ステータスが既定の標準を満足させていないことに応答して、1つ以上の以降のサービス・レジストリに前記サービスのためのサービス・プロバイダを提供するよう要求を送信することを更に含む、請求項21、22、または23に記載のコンピュータ・プログラム。
  26. 前記1つ以上の以降のサービス・レジストリに、位置特定されたサービス情報を送信して、前記1つ以上の以降のサービス・レジストリが、一つにまとめたサービス情報を用いてサービス・プロバイダを選択することを可能とする、請求項25に記載のコンピュータ・プログラム。
  27. 前記サービス要求側と前記サービス・プロバイダとの間に介在するサービス管理層を更に含み、前記サービス要求側が前記サービス・プロバイダの実際のサービス・エンドポイントを受信せずに前記サービス管理層を介して前記サービスを用いる、請求項21から26のいずれか1項に記載のコンピュータ・プログラム。
  28. 前記サービス要求側が前記サービス・エンドポイントを受信し、直接前記サービス・プロバイダからの前記サービスを要求する、請求項21から26のいずれか1項に記載のコンピュータ・プログラム。
  29. 前記サービス・プロバイダが仮想サーバとして提供される、請求項21から28のいずれか1項に記載のコンピュータ・プログラム。
  30. 前記サービスが仮想アプリケーションとして提供される、請求項21から29のいずれか1項に記載のコンピュータ・プログラム。
  31. コンピュータ読み取り可能媒体上に記憶され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されると請求項1から10のいずれかの方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
JP2013524399A 2010-08-16 2011-07-25 サービス・レジストリからのサービス展開のための方法、サービス・レジストリ、およびコンピュータ・プログラム Pending JP2013541069A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10172929.1 2010-08-16
EP10172929 2010-08-16
PCT/EP2011/062743 WO2012022585A1 (en) 2010-08-16 2011-07-25 Service deployment from a service registry

Publications (1)

Publication Number Publication Date
JP2013541069A true JP2013541069A (ja) 2013-11-07

Family

ID=44629488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013524399A Pending JP2013541069A (ja) 2010-08-16 2011-07-25 サービス・レジストリからのサービス展開のための方法、サービス・レジストリ、およびコンピュータ・プログラム

Country Status (6)

Country Link
US (5) US9483312B2 (ja)
JP (1) JP2013541069A (ja)
DE (1) DE112011102073B4 (ja)
GB (1) GB2496332A (ja)
TW (1) TW201220189A (ja)
WO (1) WO2012022585A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015187859A (ja) * 2014-03-18 2015-10-29 アクシス アーベー サービス指向アーキテクチャにおけるケイパビリティ監視
JP2020536320A (ja) * 2017-09-30 2020-12-10 オラクル・インターナショナル・コーポレイション Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110064674A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 동적 로컬 기능 결합 장치 및 방법
US9483312B2 (en) * 2010-08-16 2016-11-01 International Business Machines Corporation Locating service endpoints from a service registry
US9432454B2 (en) * 2011-08-29 2016-08-30 At&T Intellectual Property I, L.P. Cloud-to-cloud peering
KR101857020B1 (ko) * 2012-01-17 2018-05-14 삼성전자주식회사 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법
GB2501513A (en) 2012-04-26 2013-10-30 Ibm Message handling in an enterprise service bus
US9374228B2 (en) 2012-10-12 2016-06-21 International Business Machines Corporation Verifying a geographic location of a virtual disk image executing at a data center server within a data center
US10417679B1 (en) 2013-06-06 2019-09-17 Intuit Inc. Transaction validation scoring
US20140365347A1 (en) * 2013-06-06 2014-12-11 Intuit Inc. Using commerce networks to facilitate business interactions among entities
US8996779B2 (en) 2013-06-12 2015-03-31 International Business Machines Corporation Service oriented architecture service dependency determination
US9471474B2 (en) 2013-08-19 2016-10-18 Microsoft Technology Licensing, Llc Cloud deployment infrastructure validation engine
WO2015047436A1 (en) 2013-09-28 2015-04-02 Mcafee, Inc. Efficient request-response routing over a data exchange layer
CN105493046B (zh) 2013-09-28 2019-08-13 迈克菲有限公司 面向服务的中介、方法和计算机可读存储介质
CN104519096B (zh) * 2013-09-29 2018-02-06 国际商业机器公司 用于在云计算系统中部署服务的方法和系统
US9864623B2 (en) 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
US9960964B2 (en) * 2014-02-18 2018-05-01 Cellos Software Ltd System, method and apparatus to manage services in a network
US9479517B2 (en) * 2014-02-28 2016-10-25 Wal-Mart Stores, Inc. Service governance for distributed systems
US9998320B2 (en) 2014-04-03 2018-06-12 Centurylink Intellectual Property Llc Customer environment network functions virtualization (NFV)
US20160043909A1 (en) * 2014-08-08 2016-02-11 Microsoft Corporation Hierarchical Subscription Management
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
JP6387756B2 (ja) * 2014-09-11 2018-09-12 株式会社リコー 機器、管理モジュール、プログラムおよび制御方法
AU2015374063C1 (en) 2014-12-31 2020-03-12 Servicenow, Inc. Classification based automated instance management
US10057186B2 (en) 2015-01-09 2018-08-21 International Business Machines Corporation Service broker for computational offloading and improved resource utilization
CN105141674B (zh) * 2015-08-07 2018-06-22 北京思特奇信息技术股份有限公司 一种能力接入方法及系统
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10742750B2 (en) * 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
EP3655857A1 (en) * 2017-07-20 2020-05-27 Cisco Technology, Inc. Managing a distributed network of function execution environments
US10469600B2 (en) * 2017-11-14 2019-11-05 Dell Products, L.P. Local Proxy for service discovery
US10937572B2 (en) 2018-04-06 2021-03-02 Abb Power Grids Switzerland Ag Apparatus and method for forming an article
US10999150B2 (en) * 2018-07-27 2021-05-04 Vmware, Inc. Methods, systems and apparatus for dynamically extending a cloud management system by adding endpoint adapter types
US11057496B2 (en) 2018-09-05 2021-07-06 Nutanix, Inc. Distributed computing systems having capability services
US11392702B2 (en) 2019-03-17 2022-07-19 Microsoft Technology Licensing, Llc Discovery and matching of internet of things (IoT) devices and services using a secure global registry
CN110401706A (zh) * 2019-07-19 2019-11-01 北京大米科技有限公司 业务请求处理方法、装置、存储介质及终端
CN110740172B (zh) * 2019-09-29 2022-04-29 北京淇瑀信息科技有限公司 一种基于微服务架构的路由管理方法、装置和系统
CN110995728A (zh) * 2019-12-06 2020-04-10 上海上讯信息技术股份有限公司 映射网络的rcp调用方法、装置及电子设备
US11347545B2 (en) 2020-03-19 2022-05-31 International Business Machines Corporation Adaptive state management for stateless services
CN115208937B (zh) * 2022-07-07 2024-08-20 北京火山引擎科技有限公司 业务请求处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030360A (ja) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Webサービスの提供システムおよび提供支援システム
US20040236633A1 (en) * 2003-05-05 2004-11-25 Knauerhase Robert C. Management and arbitration of mobile service discovery
JP2005510819A (ja) * 2001-11-30 2005-04-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サービスプッシュモデルによる拡張uddi
JP2009531760A (ja) * 2006-03-31 2009-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・レジストリ、ならびに関連したシステムおよび方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US7299346B1 (en) * 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
US7171470B2 (en) 2003-02-20 2007-01-30 International Business Machines Corporation Grid service scheduling of related services using heuristics
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
US20080140759A1 (en) 2006-03-21 2008-06-12 Conner Peter A Dynamic service-oriented architecture system configuration and proxy object generation server architecture and methods
JP2009543493A (ja) * 2006-07-11 2009-12-03 ウルトラ プロイズボドニャ エレクトロンスキー ナプラブ デー.オー.オー. 携帯電話を用いるオンラインインターネット支払いのための顧客識別及び認証手順
GB0619248D0 (en) 2006-09-29 2006-11-08 Ibm Service metada management in service-oriented architecture
US7979554B2 (en) 2006-12-21 2011-07-12 International Business Machines Corporation Apparatus, system, and method for enabling conversational transactions in a service oriented architecture
CN101637006B (zh) * 2007-03-14 2013-11-06 艾利森电话股份有限公司 用于使用uddi来调解web服务的方法和设备
US20080270212A1 (en) * 2007-04-25 2008-10-30 Jeffrey Blight Method, apparatus or software for managing a data processing process
US7987163B2 (en) * 2008-02-12 2011-07-26 Bae Systems Information And Electronic Systems Integration Inc. Apparatus and method for dynamic web service discovery
US7921195B2 (en) * 2008-06-09 2011-04-05 International Business Machines Corporation Optimizing service processing based on business information, operational intelligence, and self-learning
US9218218B2 (en) 2008-08-27 2015-12-22 International Business Machines Corporation Method and system for policy based lifecycle management of virtual software appliances
US9483312B2 (en) * 2010-08-16 2016-11-01 International Business Machines Corporation Locating service endpoints from a service registry
US10715633B2 (en) * 2018-01-10 2020-07-14 Cisco Technology, Inc. Maintaining reachability of apps moving between fog and cloud using duplicate endpoint identifiers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005510819A (ja) * 2001-11-30 2005-04-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サービスプッシュモデルによる拡張uddi
JP2004030360A (ja) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Webサービスの提供システムおよび提供支援システム
US20040236633A1 (en) * 2003-05-05 2004-11-25 Knauerhase Robert C. Management and arbitration of mobile service discovery
JP2009531760A (ja) * 2006-03-31 2009-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・レジストリ、ならびに関連したシステムおよび方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015187859A (ja) * 2014-03-18 2015-10-29 アクシス アーベー サービス指向アーキテクチャにおけるケイパビリティ監視
JP2020536320A (ja) * 2017-09-30 2020-12-10 オラクル・インターナショナル・コーポレイション Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング
JP7196164B2 (ja) 2017-09-30 2022-12-26 オラクル・インターナショナル・コーポレイション Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング
US11681573B2 (en) 2017-09-30 2023-06-20 Oracle International Corporation API registry in a container platform providing property-based API functionality
US11755393B2 (en) 2017-09-30 2023-09-12 Oracle International Corporation API registry in a container platform for automatically generating client code libraries
JP7481421B2 (ja) 2017-09-30 2024-05-10 オラクル・インターナショナル・コーポレイション Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング

Also Published As

Publication number Publication date
US10708177B2 (en) 2020-07-07
US9483312B2 (en) 2016-11-01
WO2012022585A1 (en) 2012-02-23
TW201220189A (en) 2012-05-16
DE112011102073T5 (de) 2013-03-28
US20120042040A1 (en) 2012-02-16
GB201301505D0 (en) 2013-03-13
US20120158906A1 (en) 2012-06-21
US9459924B2 (en) 2016-10-04
US10700963B2 (en) 2020-06-30
US20160337458A1 (en) 2016-11-17
GB2496332A (en) 2013-05-08
US20160366050A1 (en) 2016-12-15
DE112011102073B4 (de) 2022-02-03
US11153204B2 (en) 2021-10-19
US20200220809A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
US11153204B2 (en) Locating service endpoints from a service registry
US11132729B2 (en) Systems and methods for blueprint-based cloud management
CN109643312B (zh) 托管查询服务
US9253055B2 (en) Transparently enforcing policies in hadoop-style processing infrastructures
US10983774B2 (en) Extensions for deployment patterns
US9722886B2 (en) Management of cloud provider selection
US8396989B2 (en) Resource planning and data interchange functionality within a cloud computing environment
KR101063667B1 (ko) 분산된 환경에서의 계층화된 용량에 근거한 프로비저닝
US10891569B1 (en) Dynamic task discovery for workflow tasks
US9094473B2 (en) Installation of an asset from a cloud marketplace to a cloud server in a private network
Munteanu et al. Multi-cloud resource management: cloud service interfacing
EP3281168A1 (en) Discovering and publishing api information
AU2015404396A1 (en) Federated marketplace portal
Goscinski et al. Toward higher level abstractions for cloud computing
US8650548B2 (en) Method to derive software use and software data object use characteristics by analyzing attributes of related files
US20230259406A1 (en) Workflow Data Redistribution in Hybrid Public/Private Computing Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160308