JP4223004B2 - ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステム - Google Patents

ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステム Download PDF

Info

Publication number
JP4223004B2
JP4223004B2 JP2004546132A JP2004546132A JP4223004B2 JP 4223004 B2 JP4223004 B2 JP 4223004B2 JP 2004546132 A JP2004546132 A JP 2004546132A JP 2004546132 A JP2004546132 A JP 2004546132A JP 4223004 B2 JP4223004 B2 JP 4223004B2
Authority
JP
Japan
Prior art keywords
service
services
directory
level
hierarchy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004546132A
Other languages
English (en)
Other versions
JP2006504172A (ja
JP2006504172A5 (ja
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 JP2006504172A publication Critical patent/JP2006504172A/ja
Publication of JP2006504172A5 publication Critical patent/JP2006504172A5/ja
Application granted granted Critical
Publication of JP4223004B2 publication Critical patent/JP4223004B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Communication Control (AREA)
  • Machine Translation (AREA)

Description

本発明は、ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステムに関する。特に、本発明は、トップ・レベルの呼び出し元によってランク付けを指定するサービス・プロバイダ階層を有するウエブ・サービス・アーキテクチャに関する。
ウエブ・サービスは、2001年5月のIBMソフトウエア・グループによる文書「Web Services Conceptual Architecture(WSCA1.0)」に記載されている。ウエブ・サービスは、HTTP(ハイパーテキスト転送プロトコル)、拡張マークアップ言語(XML:Extensible markup Language)、シンプル・オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)、ウエブ・サービス記述言語(WDSL:Web Services Description Language)、およびユニバーサル・ディスクリプション、ディスカバリ・アンド・インテグレーション(UDDI:Universal Description, Discovery and Integration)等、既存および新生の規格で構築されたプログラム間通信モデルを提供する。
ウエブ・サービスは、標準化されたXMLメッセージングを介してネットワーク・アクセス可能な機能集合を記述するインタフェースによって記述される。ウエブ・サービスは、サービス記述と呼ばれる、標準的で公式のXML表記を用いて記述される。サービス記述は、メッセージ・フォーマット、転送プロトコル、およびロケーションを含む、サービスとインタラクトするために必要な全ての詳細を包含する。インタフェースは、サービスの実施の詳細を隠し、これが実施されるハードウエアまたはソフトウエア・プラットフォームから独立し、また、これが書かれるプログラミング言語からも独立した使用を可能とする。また、これは、呼び出し側のハードウエアおよびソフトウエア環境からも独立している。これによって、ウエブ・サービスに基づくアプリケーションは、緩く結合され、コンポーネント指向で、技術をまたいだ実施が可能となり、ネットワークを通じて公開し、位置付けし、呼び出すことができる。
ウエブ・サービスは、ネットワークにおいて実施される。ネットワークは、インターネット、イントラネット、または他のいずれかの形態のネットワーク等、公的にアクセス可能なネットワークとすることができる。インターネット利用可能なウエブ・サービスは、一般的に配置されたネットワーク・プロトコルを用いる。かかるプロトコルは、HTTPまたはSMTPもしくはFTP等の他のインターネット・プロトコルであり得る。他のネットワーク(例えばイントラネット)は、MQSeries、COBRA等の信頼性の高いメッセージング・コール・インフラストラクチャを用いることができる。
ここに記載する方法およびシステムは、UDDI/WSDLプロトコルおよびXML/SOAP構文の拡張に関し、ウエブ・サービス・アーキテクチャ内で現在利用可能でない機能を提供する。
www.uddi.orgを通じて入手可能な以下の文書を参照する。
UDDI 2.0 Data Structure Reference
UDDI 2.0 API Specification
UDDI 2.0 Operators Specification
Web Services Description Language (WSDL) 1.1
2001年5月のIBMソフトウエア・グループによる文書「Web Services Conceptual Architecture(WSCA1.0) UDDI 2.0 Data Structure Reference UDDI 2.0 API Specification UDDI 2.0 Operators Specification Web Services Description Language (WSDL) 1.1
ウエブ・サービスにおけるUDDIの目的は、ディレクトリまたはレジストリ・ルックアップに基づいて機能に対するオープンなアクセスを提供することである。これらのサービスは、WSDL部分によって記述され、XML/SOAP機能によって呼び出される。呼び出し元のサービスへの結合は、動的であり、固定されていない。これは、ディレクトリが自由に利用可能であり、どのようにルックアップまたは選択が行われるかが制約されないという点で、オープンである。UDDIは、見事にこの目的を満足させる。しかしながら、これに欠けている点は、サービスの質のような概念である。
ここに記載する方法およびシステムは、サービスの質の問題および他の選択に影響を与えるファクタをUSSI/WSDLの領域に取り入れることができる手段を提供する。
ウエブ・サービスでは、ディレクトリまたはレジストリを用いて、ソフトウエアを、コンポーネント化するようにアセンブルする。UDDIの考えは、WSDLフォーマットの要求をディレクトリまたはレジストリ・サーバに送ってサービスを選択するというものである。このサービス選択は、これを提供している会社およびそれが実行する機能等、一般に適用可能なある規準で指定することができる。この選択情報は、極めて一般的なものである。これは、全てのユーザに対して同一であり、言及されるサービスに対する要求の発信側に固有のものは何もない。
ここに記載する方法およびシステムは、発信側に固有の基準をルックアップに反映させることができる手段を提供する。既知の従来技術のウエブ・サービスとは異なり、サービスの選択は、サービス選択の発信側または要求側によって左右される。
以下は、1つの実例である。ユーザのソフトウエアが、本を買おうとする。ユーザは、「本屋」のカテゴリのディレクトリを参照し、そのサービスを提供する会社のリストが返信される。しかしながら、ユーザは、例えば2つの供給業者と優先レートを取り決めており、そのため、この購入要求を、第1の場合はこれらの2つのいずれかに、第3の選択として別の誰かに送ることを望む。
ユーザは、検索から戻った会社のリストをフィルタリングすることによって、これを行うことができる。なぜなら、検索は直接ユーザに情報を戻し、ユーザが次に起こることを制御するからである。
本の購入要求が、他の誰かによって提供されているサービスの機能の一部として実行されている場合は、違いが生じる。例えば、ユーザがスタートレック本のライブラリを構築している場合があり得る。ユーザは、「ライブラリを構築」選択を用い、適切な販売業者のリストの返信を得る。ユーザは、スタートレックのライブラリ取得要求を、このジョブを実行する供給業者に課す。しかしながら、ユーザは、もはや、気に入っている本屋リストを用いる立場にはない、なぜなら、この時点で、本購入機能は誰か他の人によって処理されているからである。実際には、彼等がユーザの代わりに好みの供給業者を用いる。
ここに記載する本発明の1つの結果は、仲介者ではなくユーザの好む販売業者を用いて、本(または他のアイテム)を購入する方法を提供する。
Figure 0004223004
ここに記載する方法およびシステムは、発信側のプリファレンス(優先的選択)に従ってどのようにWSDL/UDDI要求にバイアスをかけるかに関する。ユーザのプリファレンスにどの条件が影響を与えるかは考察せず、ユーザに任される。ユーザのプリファレンスに影響を与え得る条件の例は、コスト、効率、速度、および信頼性の標準を含む。
本発明の第1の態様によれば、ルート発信サービス・リクエスタを有するサービス階層を有するウエブ・サービス・アーキテクチャにおいてサービスにランク付けするための方法であって、階層における第1のレベルのサービスがもっと低いレベルのサービスを呼び出す方法が提供される。この方法は、発信サービス・リクエスタが1つ以上のサービスに関するプリファレンスを示し、ランク付け機械がプリファレンスに基づいた選択アルゴリズムを有する、ステップと、発信サービス・リクエスタが、階層の1つ以上のレベルのサービスを呼び出すステップと、階層の各レベルにおいて、サービスがディレクトリを用いて1組の可能な低レベル・サービスを検出するステップと、ランク付け機械が、1組の可能な低レベル・サービスに選択アルゴリズムを適用するステップと、を有する。
低レベル・サービスは、サービス・リクエスタまたはサービス・プロバイダとすることができる。
1つの実施形態では、1組の可能な低レベル・サービスを、ディレクトリからランク付け機械に委託し、ランク付け機械によってディレクトリに好適なシーケンスを戻すことができる。ランク付け機械に委託されるステップは、ディレクトリを用いるサービスには見えないようにすることができる。
別の実施形態では、1組の可能な低レベル・サービスを、ディレクトリを用いるサービスによってランク付け機械に送信し、ランク付け機械によってサービスに好適なシーケンスを戻すことができる。
ディレクトリを用いるサービスに、単一の結果または結果のシーケンスを戻すことができる。
好ましくは、階層におけるサービスの低レベル呼び出しは、高レベル・サービスには見えない。
発信サービス・リクエスタのプリファレンスによって、発信サービス・リクエスタがサービスを利用したい順序にサービスをランク付けし、サービスを用いないよう除外し、もしくは他の選択に影響を与える規準を提供するか、またはそれら全てを行うことができる。
発信サービス・リクエスタのプリファレンスは、コスト、効率、速度、および信頼性を含むサービス基準品質に基づくことができる。
発信サービス・リクエスタのプリファレンスがある場合、プリファレンスは、ディレクトリを用いるサービスによる選択よりも優先される。好みのサービスが利用可能でない場合、発信サービス・リクエスタのプリファレンスを参照して以降のサービスを得ることができる。
発信サービス・リクエスタのプリファレンスが保存されていない場合、ディレクトリを用いるサービスが選択を行うことができる。
本発明の第2の態様によれば、ウエブ・サービス・アーキテクチャが提供される。これは、ルート発信サービス・リクエスタと、第1のレベルのサービスがもっと低いレベルのサービスを呼び出すサービス階層と、階層においてサービスを検出するためのディレクトリと、1つ以上のサービスに関する発信サービス・リクエスタのプリファレンスに基づいて、サービスのための選択アルゴリズムを適用するための手段を有するランク付け機械と、を有し、階層の各レベルにおいて、ディレクトリが1組の可能なサービスを提供し、ランク付け機械が選択アルゴリズムを適用して好適なサービスのシーケンスを提供する。
低レベル・サービスは、サービス・リクエスタまたはサービス・プロバイダとすることができる。
ランク付け機械は、好ましくは、ポートによってディレクトリに接続され、1組の可能なサービスが、ディレクトリによってランク付け機械に委託され、好適なサービスのシーケンスが、ランク付け機械によってディレクトリに戻される。
第1のレベルのサービスは、UDDIディレクトリによって、もっと低いレベルのサービスを検出することができる。ランク付け機械は、UDDIディレクトリ上にポートを有し、TModelバッグを1組の選択したTModelに変換するフローを処理することができる。
各UDDI動作を、ランク付け機械に委託し、サービス・リクエスタのプリファレンスに一致するシーケンスとして戻すことができる。
基礎にあるUDDIアプリケーション・コードが参照を実行し、ランク付け機械の位置を以降のXMLフローに追加することができる。
本発明の第3の態様によれば、ルート発信サービス・リクエスタを有するサービス階層を有するウエブ・サービス・アーキテクチャのためのコンピュータ読み取り可能保存媒体上に保存されたコンピュータ・プログラム・プロダクトが提供され、第1のレベルのサービスがもっと低いレベルのサービスを呼び出す。これは、発信サービス・リクエスタが1つ以上のサービスに関するプリファレンスを示し、ランク付け機械がプリファレンスに基づいた選択アルゴリズムを有する、ステップと、発信サービス・リクエスタが、階層の1つ以上のレベルのサービスを呼び出すステップと、階層の各レベルにおいて、サービスがディレクトリを用いて1組の可能な低レベル・サービスを検出するステップと、ランク付け機械が、1組の可能な低レベル・サービスに選択アルゴリズムを適用するステップと、を実行するためのコンピュータ読み取り可能プログラム・コード手段を有する。
これより、添付図面を参照して、本発明の実施形態を、例示としてのみ説明する。
この説明において、ウエブ・サービスという言葉を用いる。これは、ウエブを介して(例えばブラウザから)ウエブ・サービスを呼び出さなければならないことを意味するものと解釈すべきではない。ウエブ・サービスは、インターネット、イントラネット、LAN、WAN等を含むいかなる形態のネットワークにおいても実施することができる。先に定義したように、ウエブ・サービスは、プログラム間の通信モデルを提供し、ウエブ・サービスの機能を記述するインタフェースによって記述される。
図1は、サービス・プロバイダ101、サービス・レジストリ102、およびサービス・リクエスタ103の3つの役割を示すウエブ・サービス・モデル100を示す。インタラクションには、公開104、検出105、および結合106の動作が伴う。結合動作106は、緩く結合された環境におけるエンティティ間のアクセス・フローである。同時に、これらの役割および動作は、ウエブ・サービス・ソフトウエア・モジュール107およびその記述108であるウエブ・サービス・アーチファクトに作用する。
典型的な状況では、サービス・プロバイダ101が、ウエブ・サービスを実施したものであるネットワーク・アクセス可能ソフトウエア・モジュール107をホストする。サービス・プロバイダ101は、ウエブ・サービス107のためのサービス記述108を定義し、これをサービス・レジストリ102に公開する。また、サービス・リクエスタ103は、サービス・プロバイダ101から直接、プッシュ動作ではなくプル動作として、サービス記述108またはその一部を取得することができる。サービス・リクエスタ103は、検出動作105を用いて、サービス・レジストリ102からサービス記述108を検索し、サービス記述108を用いてサービス・プロバイダ101と結合し(106)、ウエブ・サービス実施107を呼び出すか、またはこれとインタラクトする。サービス・プロバイダ101およびサービス・リクエスタ103は、役割であり、1つのサービスが双方の特徴を発揮することができる。
サービス・プロバイダ101は、少なくともサービスのフロンド・エンドに対するアクセスをホストするプラットフォームである。サービス・リクエスタ103は、サービスとのインタラクションを探し、呼び出すかまたは開始しているアプリケーションである。例えば別のウエブ・サービスのようなユーザ・インタフェースを用いずに、人またはプログラムによって駆動されるブラウザによって、サービス・リクエスタの役割を果たすことができる。サービス・レジストリ102は、サービス記述108の検索可能レジストリであり、サービス・プロバイダ101はサービス記述108をこれに公開する。サービス・リクエスタ103は、サービスを検出し、サービス記述108から結合情報を取得して、サービスのために通信および実行を確立する。
アクセス可能とするため、サービス記述108を公開して(104)、サービス・リクエスタ103がこれを検出できるようにする必要がある。検出動作105では、サービス・リクエスタ103は、直接サービス記述108を検索するか、または、サービス発見プロセスを用いて必要なサービス・タイプについてサービス・レジストリ102に問合せを行う。結合動作106では、サービス・リクエスタ103は、サービスに接触しこれを呼び出すため、サービス記述108における結合詳細を用いて実行時にサービスとのインタラクションを呼び出すかまたは開始する。
サービス記述108は、サービスを実施するためのインタフェースの詳細を含む。これには、そのデータ・タイプ、動作、結合情報、およびネットワーク・ロケーションが含まれる。また、これは、サービス・リクエスタ103による発見および利用を容易にするためのカテゴリ化も含むことができる。
図2を参照すると、公開、検出、および結合の3つの動作を相互利用可能な方法で実行するため、各レベルで規格を包含するウエブ・サービス・スタック200がなければならない。
ウエブ・サービス・スタック200の基礎は、ネットワーク・レベル201である。これは、ウエブ・サービスは、ネットワーク・アクセス可能であり、サービス・リクエスタによって呼び出されなければならないからである。スタック200のネットワーク・レベル201に適用される標準的な技術には、HTTP、FTP、eメール、MQSeries、IIOP等が含まれる。
次のレベルは、XMLベースのメッセージング・レベル202であり、メッセージング・プロトコルのための基礎としてのXMLのユーザを表す。XMLメッセージング・プロトコルを増強するものとして、SOAPを用いることができる。
次のレベルは、記述文書の集合であるサービス記述レベル203である。記述は、3つのタイプのもの、すなわち、ロケーション、アクティビティ、およびインタフェースにグループ化される。WSDLは、XMLベースのサービス記述のための標準である。WSDLは、サービス・インタラクションのインタフェースおよび機構を定義する。WSDL文書は、他のサービス記述文書によって補足して、ウエブ・サービスのもっと高いレベルの態様を記述することができる。例えば、ビジネス・コンテクストは、WSDL文書に加えて、UDDIデータ構造を用いて記述される。
ネットワーク・レベル201、XMLベースのメッセージング・レベル202、およびサービス記述レベル203という最初の3つのレベルは、いずれかのウエブ・サービスを提供または用いる必要がある。
図2に示すスタック200の次の2つのレベルは、サービス公開およびサービス発見レベル204、205であり、多数のソリューションによって実施することができる。WSDL文書をサービス・リクエスタに利用可能とする全てのアクションが、サービス公開である。公的UDDIレジストリは、サービス公開のコピーを保持する。
ウエブ・サービスは、これが公開されないならば発見することはできない。従って、サービス発見レベル205はサービス公開レベル204に依存する。発見機構の種類は、公開機構に対応する。サービス・リクエスタがサービス記述に対するアクセスを得ることを可能とし、それを実行時にアプリケーションに利用可能とする全ての機構が、サービス発見として適切である。
図2の最上レベル206は、サービス・フロー・レベル206であり、サービス間通信、協同、およびフローがどのように実行されるかを記述する。
完全なウエブ・サービス記述は、サービスの基本WSDL記述上に構築される。完全なウエブ・サービス記述は、以下をアドレシングする。すなわち、サービスをホストするビジネス、そのビジネスの種類、サービスに関連する製品、ビジネスまたはウエブ・サービスが関連するカテゴリ、サービス呼び出しの選択についてリクエスタに影響を与える態様、サービスを検出しやすくするように提供することができるキーワード等である。
UDDIは、ウエブ・サービスの記述を保持するための機構を提供する。UDDIは、ディレクトリ機構として考えられることが多いが、これは、XMLでサービス記述情報を表すためのデータ構造規格も定義する。図3は、4つの基本的なデータ構造を有するUDDIエントリ300を示す。
UDDIエントリは、ビジネス・エンティティ301で開始する。ビジネス・エンティティ301は、ビジネスに関する情報をモデル化する。ビジネス・エンティティ301は、ビジネスが公開を望む各ウエブ・サービスごとに1つずつ、ビジネス・サービス302の集合を含む。各ビジネス・サービス302は、ビジネス・エンティティのウエブ・サービスに関する技術的および記述的情報を含む。ビジネス・サービス302は、結合テンプレート303の集合を含む。
結合テンプレート303は、例えば終点アドレスのようなアクセス情報を記述し、どのようにビジネス・サービス302が様々な技術仕様を用いるかを記述する。技術仕様は、tModel304としてモデル化される。tModel304は、サービスのタイプ、HTTP等のプラットフォーム技術、または分類等、多くの異なる概念をモデル化することができる。ビジネス・エンティティ301、ビジネス・サービス302、および結合テンプレート303は、定義したタイプのtModelを用いて実施される。1つのビジネス・サービス302に関連した結合テンプレート303の集合は、ビジネス・サービス302が用いる技術の明確な特徴を表す。
tModel304は、発呼側インタフェースおよび結果を定義する。これは、高レベルではXMLで、ユーザには見られない低レベルではAPIによってレンダリングされる。tModel304は、キーと称する一意の識別子を有する。UDDIは、同一キーの指定によって2つ以上の場所における所与のtModel304の使用をサポートし、外見に関する限り、2つの場所での挙動が全く同一であり、プラットフォーム固有のリターン・コードは追加されないことを保証する。
ここに記載する方法およびシステムは、要求の発信側に対する全てのUDDI動作に関する参照を含む。いったんディレクトリまたはレジストリが要求を処理すると、その結果は、フィルタリングのためにこの参照に委託される。
ここで図4を参照すると、ウエブ・サービス階層400が示されている。3階層400のルート・ノードは、ウエブ・サービスを呼び出したいと望むサービス・リクエスタ401である。
3階層400は、中間サービスを表す多数のサービス・レベル402、403を有する。中間サービスは、サービス・リクエスタ401が呼び出したいと望むエンド・ウエブ・サービスを検出するため、サービス・リクエスタ401によって(直接的または間接的に)呼び出すことができる。エンド・ウエブ・サービス404は、3階層400上のリーフ・ノードである。レベル402は、サービス・リクエスタ401によるサービスの選択とすることができ、レベル403および404は、サービス・リクエスタ401には見えない隠れたサブ・サービスの選択とすることができる。
ここで図5を参照すると、レベル402、403、404の各々における選択されたサービス406、408、410のみを示す。ディレクトリ411が設けられ、これは、サービスまたはサービス・プロバイダの形態の可能な結果のグループまたはバッグを検出するために用いられる。
ランク付け機械405が設けられ、これは、サービス・リクエスタ410のサービス選択のプリファレンスの詳細を保存する。これは、ランク付け機械405に対していずれかの適切な時間に提示されるオプション間の選択アルゴリズムの形態で設けられる。サービス・リクエスタ401は、ランク付け機械405に、そのサービス・プロバイダのプリファレンスを知らせ、サービス・プロバイダのプリファレンスをランク付けする選択アルゴリズムがセーブされる。
第1の実施形態では、ランク付け機械405は、ディレクトリ411上のポート412を聴取する。ディレクトリ411がルックアップを実行し結果のバッグを生成する時、ランク付け機械405は、ポート412を聴取しており、結果のバッグはランク付け機械405に送られる(407)。ランク付け機械405は、その選択アルゴリズムを結果のバッグに適用し、サービス・リクエスタ401の好みの順序で、結果シーケンスをディレクトリ411に戻す(409)。ディレクトリ411は、ランク付け機械405によって与えられた結果シーケンスによってルックアップに答える。
ディレクトリにおいてサービスを参照する全ての中間サービス・プロバイダ402、403は、ルックアップをランク付け機械405に委託し、ランク付け機械405は、サービス・リクエスタ401について示されたプリファレンスに従ってサーチ結果をフィルタリングする。ランク付け機械405にプリファレンスが保存されている場合、ランク付け機械405はそのプリファレンスに基づいて選択を行い、中間サービス・プロバイダ402、403は、次のレベルのサービス・プロバイダを呼び出す場合にプリファレンスに従う。
図4および5に示した例では、サービス・リクエスタ401は、もっと低いレベルのサービスの使用を伴う第1レベル402の中間サービス・プロバイダのサービスを用いることを望む。しかしながら、いずれかのもっと低いレベルのサービスを用いるという事実は、サービス・リクエスタ401には明らかにされない。サービス・リクエスタ401は、第1レベル402のサービス・プロバイダのためのディレクトリ411を用いて検索を実行し、可能なサービス・プロバイダ402のシーケンスを得る。可能なサービス・プロバイダ402のシーケンスは、ランク付け機械405によってフィルタリングされており、明らかな非競争者を除去するか、または特定の選択を強制する(すなわち1つのみの結果がバッグにある場合)。バッグに2つ以上の結果がある場合、サービス・リクエスタ401は、第1レベル402のサービス・プロバイダ406の1つを選択する。
ディレクトリ411によって与えられた各ルックアップ応答は、ランク付け機械405によってフィルタリングされた可能な候補のバッグを生成する。ディレクトリ411におけるソフトウエアは、ランク付け機械405に対する参照を行う。ディレクトリ411においてルックアップを要求したエンティティには、ランク付け機械405がそこに存在しないかに関する結果のリストが戻される。ルックアップを要求したエンティティは、ディレクトリ411によって戻された結果の自由選択を有するが、戻された結果は、ランク付け機械405によってすでに制限されている。
サービス・リクエスタ401は、第1レベル402のサービス・プロバイダ406とのみ通信を行う。しかしながら、その機能を実行するために、サービス・プロバイダ406は第2レベル403のサービス・プロバイダ408を用い、サービス・プロバイダ408はエンド・サービス410を用いる。サービス・リクエスタ401は、第2レベルのサービス・プロバイダ408またはエンド・サービス410について知らない。同様に、第1レベルのサービス・プロバイダ406は、第2レベルのサービス・プロバイダ408によって用いられるエンド・サービス410について知らない。
第1レベル402のサービス・プロバイダ406は、ディレクトリ411のルックアップを実行して第2レベル403のサービス・プロバイダ408を検出する。同様に、第2レベル403のサービス・プロバイダ408は、ディレクトリ411のルックアップを実行してエンド・サービス410を検出する。各ルックアップでは、ディレクトリ411が検出した結果のバッグは、発信側サービス・リクエスタ401のプリファレンスに従ってランク付け機械405によりランク付けされている。ランク付け機械405がその選択アルゴリズムで用いるプリファレンスは、階層内でグローバルであり、レベルに依存しない。
第2の実施形態では、ディレクトリは、ルックアップ要求の結果を、発信側サービス・リクエスタまたは中間サービス・プロバイダであり得るリクエスタに戻し、リクエスタは、結果のバグを、ランク付けのためにランク付け機械に送る。ランク付け機械は、結果のシーケンスをリクエスタに戻す。
双方の実施形態では、サービス・リクエスタのプリファレンスは、コスト、効率、速度、および信頼性等、サービスの質の問題に関連させるか、または、プリファレンスに影響を与える他のいずれかの選択に関連させることができる。プリファレンスによって、サービス・リクエスタがサービスを用いたい順序でサービスにランク付けしたり、具体的にあるサービスを使用から除外したり、または他のいずれかのプリファレンスの指示を与えることができる。
なぜプリファレンスを記録するかに関して、サービス・リクエスタには理由は必要でなく、プリファレンスは、中間サービス・プロバイダによって見たり、理解したりする必要はない。サブ・サービス選択の制御は、供給業者には与えられないか、または、元のサービス・リクエスタによって少なくとも影響を受ける。
実施例1
以下は、ユーザと称されるサービス・リクエスタによるウエブ・サービスの呼び出しの1例である。図6は、どのように従来技術のUDDIルックアップ要求が機能するかを示す。UDDIディレクトリは、その結果としてバッグを戻し、これをここでは{セット}として示す。
ユーザ501は、ライブラリを構築したいと望むので、彼は、UDDIディレクトリ502に、これを実行するサービス・プロバイダ503を検出するように頼む。ユーザ501は、ライブラリ・ビルダを検出するためのUDDIルックアップの要求511をディレクトリ502に送る。この場合、このカテゴリのサービス・プロバイダ503は1つのみなので、ディレクトリ502は、{LibraryBuilder1}のセットの結果を戻す(512)。
次いで、ユーザ501は、「ライブラリを構築」の要求513を、サーバLibraryBuilder1504に送る。次いで、LibraryBuilder1504は、UDDIディレクトリ502において、本供給業者505のリストを参照する(514、515)。ディレクトリ502は、{Seller1, UserPreferredSeller2}のセットを戻す(516)。次いで、LibraryBuilder1504は、第1の供給業者を選ぶ(517)。これは、Seller1506であるか、または本を買うために用いる最も適切な供給業者と考えるものである。この結果、本はLibraryBuilder1に都合の良い場所から購入される(518)が、この場合はUserPreferredSeller2507であるユーザの好みの販売者ではない。
図7は、図6と同じであるが本発明の第1の実施形態に従ったUDDIルックアップを示す。ここに記載する方法およびシステムでは、戻されたバッグをユーザのプリファレンスに従った順序でランク付けすることができる場所に各UDDI要求を委託することが必要である。これは、このランク付けにおいてどの基準を用いるかには関連せず、それが実行されることにのみ関連する。
このため、{bag}は、<sequence>として戻され、リストの冒頭に好みのアイテムがある。シーケンスは、バグの全てのメンバ、サブセット、または完全に異なるものでさえ含むことができる。この参照を行うのは、基礎にあるUDDIルックアップ・コード(換言すれば基礎にあるUDDI API)である。余分なコード・ステップは、発呼側には必要でない。
図7は、ランク付け機械508の追加コンポーネントを有する。これは、本の供給業者509についてユーザ501が示すプリファレンスを反映する選択アルゴリズムを保持する。
ユーザは、UDDIディレクトリ502に、ライブラリ・ビルダを検出するよう要求する(521)。ディレクトリ502は、{LibraryBuilder1}セットを検出する。しかしながら、これはユーザ501に知らされない。なぜなら、サービス・プロバイダの基礎にある層は、参照のないローカルな要求はランク付けする必要があることを知っており、これは構成オプションによって実行され、このためユーザには見えないからである。このため、UDDIディレクトリ502からのリターン・フローは、次いで、分析のためにローカル・ランク付け機械508に委託される(522)。選択肢は1つだけで、許容可能な<LibraryBuilder1>である。このため、結果は不変であるので、UDDIディレクトリ502に最初に戻され(523)、リターンをユーザ501に送り返す(524)。
次いで、ユーザ501は、第1の(この例では唯一の)供給業者504を選択し、ライブラリ構築動作を呼び出す(525)。基礎にある層は、これがサービスに対するXML/SOAP要求であることを知っているので、必要なランク付け機械508の位置をXMLフローに追加する。
次いで、供給業者すなわちLibraryBuilder1504は、UDDIディレクトリ502が本販売者504のリストを検出することを要求し(526)、関連ランク付け機械508の位置をフローに追加する。このディレクトリ・ルックアップ527は、保持された本販売者のセット{Seller1, UserPreferredSeller2}を戻す。次いで、基礎にある層は、このセットを前のようにランク付け機械508に委託する(528)。この場合、ランク付け508は、ユーザの優先する本供給業者509の使用を強制したいので、UDDI結果をシーケンス<UserPreferredSeller2>に変更し、その後、結果をUDDIディレクトリ502に返送(529)し、そのルックアップ527の結果としてライブラリ・ビルダ504に結果を返送する(530)。この結果、本は、Selle1506でなくUserPreferredSeller2507から注文される(321、322)。
図8は、図6および7と同一であるが本発明の第2の実施形態に従ったUDDIルックアップを示す。図7と同様、ここに記載する方法およびシステムでは、各UDDI要求を、戻されたバッグをユーザのプリファレンスに従った順序でランク付けすることができる場所に委託する必要がある。これは、このランク付けにおいてどの基準を用いるかには関連せず、それが実行されることにのみ関連する。
この場合も、{bag}は、<sequence>として戻され、リストの冒頭に好みのアイテムがある。第2の実施形態では、UDDIディレクトリ502に対するルックアップのリクエスタは、結果の{bag}を受信し、バッグをランキングのためランク付け機械508に委託し、次いで、リクエスタは、ユーザ501のプリファレンスに従ってランク付け機械508から<sequence>を受信する。
実施形態
第1の実施形態では、ランク付け機械は、UDDI/ランク付け機械ポートを聴取し、上述のフローを処理して、1つのtModelバッグを、選択したtModelのバッグに変える。
UDDI APIに関して、10のfind_xx動詞を、ランク付け機械のURL:portを追加することによって拡張する。
例えば、数式2は、数式3に変換される。
Figure 0004223004
Figure 0004223004
サービスのSOAP/XML実行に関して、これは、ランク付け機械URLを含むように拡張される。これを以降のUDDI関連呼び出しに渡さなければならないことは、UDDパラダイムの要件である。
Figure 0004223004
このフローは、WSDL供給業者によって挿入または処理される。または、いずれにしても、この機能は、UDDIサーバに(Aアドレス:ポートがルックアップ要求に渡される際)、または、UDDI処理に用いられる発呼側のDLLのいずれかに隠れる。いずれの場合にも、UDDIルックアップ・プロセスは、発呼側の介入なしに、フィルタリングを実行する。
このランク付け機械アドレスを受信するサービスが、以降のUDDI/XML/SOAP動作のためにそれをわざわざ渡さない場合は、これはプロトコル違反であり、サービスは、ルールに従って動作しない。この分野における他の全ての規格と同様、これは、自己管理であろう。
しかしながら、サービスがこれらのルールに従ったか否かを示すため、新たなエントリが結合テンプレートおよびビジネス・サービスtModelに追加される。この要素は、<RankingSupported/>と考えることができる。<RANKER>要素が呼に供給され、<RankingSupported/>が存在しない場合、find_xxAPlはtModelを選択しない。
API実行の点で、これは、基本的に、UDDIディレクトリをホストするコンピュータ上で実行される。選択を行うコードを変更して、新しいAPIおよびtModelタグに対応する。
従って、この記載により、URL要求を処理するためのランク付け機械を用い、関連したUDDI/WSDLプロトコルを拡張させることで、どのように新しい発信者プリファレンス選択機能をUDDIパラダイムに導入することができるかが示された。
1つのサービス・プロバイダが利用可能でなく、別のものを選択する必要がある状況では、以下を適用する。実際のサービス自体は、特定の結合tModelによって、インタフェース(パラメータ呼び出し)・レベルで指定する。特定のサービスが望まれる場合、結合テンプレートと呼ばれる特定のtModelを用いることができる(または、多くの異なるXML呼び出しを符号化する)。特定のtModelを用いる供給業者が望ましくない場合(速度が遅すぎる、費用が高すぎる、機能しない等)、コードを変更して、異なるインタフェースを用いる別の供給業者を利用することができる。
記録の問題を回避するため、別の供給業者は、全く同一のインタフェースを用いて選択しなければならない。これは、換言すると、同じ結合tModelを用いるものである。これは、UDDIルックアップにより容易に実行される。
UDDIが、公的(すなわち一般に利用可能な)ディレクトリおよび私的(すなわち発呼側に固有の)ディレクトリに対応することに留意すべきである。これは、要求されたサービス全体が私的ディレクトリの範囲内にある場合(同一の組織内で、同一または複製されたUDDIサーバを用いる)は問題なく、この私的ディレクトリ内で実際動作するものによってプリファレンスの問題に対処することができる。しかしながら、この手法は、要求が私的ディレクトリの範囲外で実行される場合は、うまくいかない。ここに記載する方法およびシステムは、この問題を克服する。
また、UDDIがPublisherAssertionのためのtModelに対応することにも留意すべきである。これは、供給業者を、ある種のもっと大きなエンティティにリンクしようとするものである。これは、ここに記載した方法およびシステムとは重複しない。なぜならPublisherAssertionは、公的で、静的なものであり、これが注目されるる保証はない。
本発明の範囲から逸脱することなく、前述のことに改善および変更を行うことができる。
ウエブ・サービス・モデルの概略図である。 ウエブ・サービス・スタックの概略図である。 UDDIデータ構造のブロック図である。 本発明に従ったウエブ・サービス階層の概略ブロック図である。 本発明に従ったウエブ・サービス・アーキテクチャの概略ブロック図である。 従来技術からの既知のサービス選択のフロー・ライン図である。 本発明に従ったサービス選択の第1の実施形態のフロー・ライン図である。 本発明に従ったサービス選択の第2の実施形態のフロー・ライン図である。

Claims (14)

  1. ルート発信サービス・リクエスタ(401)を伴ったサービス階層(401、406、408、410)を有するウエブ・サービス・アーキテクチャにおいてサービスにランク付けするための方法であって、前記階層における第1のレベルのサービスが、より低いレベルのサービスを呼び出し、
    前記発信サービス・リクエスタ(401)が1つ以上のサービスに関するプリファレンス(優先的選択)を示すステップであって、ランク付け機械(405)が前記プリファレンスに基づいた選択アルゴリズムを有するステップと、
    前記発信サービス・リクエスタ(401)が、階層の1つ以上のレベルのサービスを呼び出すステップと、
    前記階層の各レベルにおいて、サービスが、1組の可能な、より低いレベルのサービスを検出するためにディレクトリ(411)を用いるステップと、
    前記ランク付け機械(405)が、前記1組の可能な、より低いレベルのサービスに前記選択アルゴリズムを適用するステップと、を有する方法。
  2. 前記もっと低いレベルのサービスがサービス・リクエスタまたはサービス・プロバイダによって提供される、請求項1に記載の方法。
  3. 前記1組の可能な、より低いレベルのサービスが、前記ディレクトリ(411)から前記ランク付け機械(405)に委託され、前記ランク付け機械(405)によって前記ディレクトリに好適なシーケンスが戻される、請求項1または2に記載の方法。
  4. 前記ランク付け機械(405)に委託されるステップが、前記ディレクトリ(411)を用いる前記サービスには不可視である、請求項3に記載の方法。
  5. 前記1組の可能な、より低いレベルのサービスが、前記ディレクトリ(411)を用いる前記サービスによって前記ランク付け機械(405)に送信され、前記ランク付け機械(405)によって前記サービスに好適なシーケンスが戻される、請求項1または2に記載の方法。
  6. 前記ディレクトリ(411)を用いる前記サービスに単一の結果または結果のシーケンスが戻される、請求項1から5のいずれか1項に記載の方法。
  7. 前記階層における、より低いレベルのサービスの呼び出しが、より高いレベルのサービスには不可視である、請求項1から6のいずれか1項に記載の方法。
  8. 前記発信サービス・リクエスタ(401)のプリファレンスによって、前記発信サービス・リクエスタ(401)がサービスを利用したい順序に前記サービスをランク付けし、サービスを用いないよう除外し、もしくは選択基準に影響を与える他の選択を提供し、またはそれら全てを行う、請求項1から7のいずれか1項に記載の方法。
  9. 前記発信サービス・リクエスタ(401)のプリファレンスが、コスト、効率、速度、および信頼性を含むサービス基準の品質に基づいている、請求項1から8のいずれか1項に記載の方法。
  10. 発信サービス・リクエスタのプリファレンスがある場合、前記プリファレンスは、前記ディレクトリ(411)を用いる前記サービスによる選択よりも優先される、請求項1から9のいずれか1項に記載の方法。
  11. 前記優先的選択されたサービスが利用可能でない場合、以降のサービスが前記発信サービス・リクエスタのプリファレンスを参照して得られる、請求項1から10のいずれか1項に記載の方法。
  12. 発信サービス・リクエスタのプリファレンスが保存されていない場合、前記ディレクトリ(411)を用いる前記サービスが選択を行う、請求項1から9のいずれか1項に記載の方法。
  13. ルート発信サービス・リクエスタ(401)と、
    第1のレベルのサービスが、より低いレベルのサービスを呼び出すサービス階層(401、406、408、410)と、
    前記階層においてサービスを検出するためのディレクトリ(411)と、
    1つ以上のサービスに関する前記発信サービス・リクエスタのプリファレンス(優先的選択)に基づいて、サービスのための選択アルゴリズムを適用するための手段を有するランク付け機械(405)とを有し、
    前記階層の各レベルにおいて、前記ディレクトリ(411)が1組の可能なサービスを提供し、前記ランク付け機械(405)が前記選択アルゴリズムを適用して好適なサービスのシーケンスを提供する、ウエブ・サービス・アーキテクチャ。
  14. ルート発信サービス・リクエスタ(401)を伴ったサービス階層(401、406、408、410)を有するウエブ・サービス・アーキテクチャのためのコンピュータ・プログラムであって、第1のレベルのサービスもっと低いレベルのサービスを呼び出すものであり、前記コンピュータに、
    前記発信サービス・リクエスタ(401)が1つ以上のサービスに関するプリファレンス(優先的選択)を示すステップであって、ランク付け機械(405)が前記プリファレンスに基づいた選択アルゴリズムを有するステップと、
    前記発信サービス・リクエスタ(401)が、階層の1つ以上高いレベルのサービスを呼び出すステップと、
    前記階層の各レベルにおいて、サービスがディレクトリ(411)を用いて1組の可能な、より低いレベルのサービスを検出するステップと、
    前記ランク付け機械(405)が、前記1組の可能な、より低いレベルのサービスに前記選択アルゴリズムを適用するステップと、
    を実行するための、コンピュータ・プログラム。
JP2004546132A 2002-10-24 2003-04-28 ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステム Expired - Lifetime JP4223004B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0224805.2A GB0224805D0 (en) 2002-10-24 2002-10-24 Method and system for ranking services in a web services architecture
PCT/GB2003/001790 WO2004038621A1 (en) 2002-10-24 2003-04-28 Method and system for ranking services in a web services architecture

Publications (3)

Publication Number Publication Date
JP2006504172A JP2006504172A (ja) 2006-02-02
JP2006504172A5 JP2006504172A5 (ja) 2006-06-15
JP4223004B2 true JP4223004B2 (ja) 2009-02-12

Family

ID=9946538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004546132A Expired - Lifetime JP4223004B2 (ja) 2002-10-24 2003-04-28 ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステム

Country Status (10)

Country Link
US (2) US8560332B2 (ja)
EP (1) EP1556807B1 (ja)
JP (1) JP4223004B2 (ja)
KR (1) KR100745480B1 (ja)
CN (1) CN100568227C (ja)
AT (1) ATE330296T1 (ja)
AU (1) AU2003227887A1 (ja)
DE (1) DE60306186T2 (ja)
GB (1) GB0224805D0 (ja)
WO (1) WO2004038621A1 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308475B1 (en) 2003-05-06 2007-12-11 F5 Networks, Inc. Method and system for accessing network services
US20050027886A1 (en) * 2003-07-03 2005-02-03 Intermec Ip Corp. Method and system for transforming non-web service enabled providers of functional services
US7698398B1 (en) 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8346929B1 (en) 2003-08-18 2013-01-01 Oracle America, Inc. System and method for generating secure Web service architectures using a Web Services security assessment methodology
US8069435B1 (en) 2003-08-18 2011-11-29 Oracle America, Inc. System and method for integration of web services
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US8060553B2 (en) 2003-08-27 2011-11-15 International Business Machines Corporation Service oriented architecture for a transformation function in a data integration platform
US20050240354A1 (en) * 2003-08-27 2005-10-27 Ascential Software Corporation Service oriented architecture for an extract function in a data integration platform
US20050228808A1 (en) * 2003-08-27 2005-10-13 Ascential Software Corporation Real time data integration services for health care information data integration
US20050232046A1 (en) * 2003-08-27 2005-10-20 Ascential Software Corporation Location-based real time data integration services
US20050235274A1 (en) * 2003-08-27 2005-10-20 Ascential Software Corporation Real time data integration for inventory management
US20060069717A1 (en) * 2003-08-27 2006-03-30 Ascential Software Corporation Security service for a services oriented architecture in a data integration platform
US8041760B2 (en) * 2003-08-27 2011-10-18 International Business Machines Corporation Service oriented architecture for a loading function in a data integration platform
US20050234969A1 (en) * 2003-08-27 2005-10-20 Ascential Software Corporation Services oriented architecture for handling metadata in a data integration platform
US20050262193A1 (en) * 2003-08-27 2005-11-24 Ascential Software Corporation Logging service for a services oriented architecture in a data integration platform
US7814142B2 (en) * 2003-08-27 2010-10-12 International Business Machines Corporation User interface service for a services oriented architecture in a data integration platform
US7814470B2 (en) * 2003-08-27 2010-10-12 International Business Machines Corporation Multiple service bindings for a real time data integration service
WO2005022417A2 (en) * 2003-08-27 2005-03-10 Ascential Software Corporation Methods and systems for real time integration services
US20090300161A1 (en) * 2003-11-20 2009-12-03 F5 Networks, Inc. Method and system for using feedback in accessing network services
US20050160153A1 (en) * 2004-01-21 2005-07-21 International Business Machines Corp. Publishing multipart WSDL files to URL
US20050243604A1 (en) * 2004-03-16 2005-11-03 Ascential Software Corporation Migrating integration processes among data integration platforms
US7761406B2 (en) * 2004-03-16 2010-07-20 International Business Machines Corporation Regenerating data integration functions for transfer from a data integration platform
JP2006072785A (ja) * 2004-09-03 2006-03-16 Hitachi Electronics Service Co Ltd サービス利用のためのリクエストメッセージ制御方法、および、サービス提供システム
US8375122B2 (en) * 2005-12-15 2013-02-12 International Business Machines Corporation Web service information management in service-oriented architecture applications
US8949457B1 (en) * 2007-03-08 2015-02-03 Aurea Software, Inc. Local transparent extensibility and routing slip extensibility for business process execution language
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8990369B2 (en) * 2010-10-22 2015-03-24 At&T Intellectual Property I, L.P. Collaborative QoS for service oriented architectures
WO2012158854A1 (en) 2011-05-16 2012-11-22 F5 Networks, Inc. A method for load balancing of requests' processing of diameter servers
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
WO2013163648A2 (en) 2012-04-27 2013-10-31 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
WO2015065326A1 (en) * 2013-10-29 2015-05-07 Hewlett-Packard Development Company, L.P. Hierarchical service trees
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1019812A1 (en) * 1997-10-01 2000-07-19 BRITISH TELECOMMUNICATIONS public limited company Resource management system
JP2000250992A (ja) 1999-03-02 2000-09-14 Ntt Data Corp サービス提案システム、フィルタリング装置、及び、決済処理装置
GB2349715B (en) * 1999-05-05 2003-10-01 Mitel Corp Quotation mechanism for service environments
JP2001034493A (ja) 1999-07-21 2001-02-09 Fuji Xerox Co Ltd ワークプロセス管理装置
JP2001188835A (ja) 1999-12-28 2001-07-10 Hitachi Ltd サービス提供システム
US7249100B2 (en) * 2001-05-15 2007-07-24 Nokia Corporation Service discovery access to user location
WO2003014975A1 (en) * 2001-08-08 2003-02-20 Quiver, Inc. Document categorization engine
US6976027B2 (en) * 2002-08-21 2005-12-13 International Business Machines Corporation Implementing geographical taxonomy within network-accessible service registries using spatial extensions
US8495211B2 (en) * 2002-09-26 2013-07-23 Hewlett-Packard Development Company, L.P. Network service system and mechanism for searching service registries

Also Published As

Publication number Publication date
US20130346581A1 (en) 2013-12-26
KR20050048679A (ko) 2005-05-24
AU2003227887A1 (en) 2004-05-13
GB0224805D0 (en) 2002-12-04
CN100568227C (zh) 2009-12-09
ATE330296T1 (de) 2006-07-15
US20060112367A1 (en) 2006-05-25
CN1689019A (zh) 2005-10-26
DE60306186D1 (de) 2006-07-27
KR100745480B1 (ko) 2007-08-02
EP1556807B1 (en) 2006-06-14
WO2004038621A1 (en) 2004-05-06
DE60306186T2 (de) 2007-04-19
JP2006504172A (ja) 2006-02-02
US8560332B2 (en) 2013-10-15
EP1556807A1 (en) 2005-07-27

Similar Documents

Publication Publication Date Title
JP4223004B2 (ja) ウエブ・サービス・アーキテクチャにおいてサービスをランク付けするための方法およびシステム
US7903656B2 (en) Method and system for message routing based on privacy policies
KR101066659B1 (ko) 프로세스 흐름 및 코레오그래피 제어기를 웹 서비스로서 제시
US7730154B2 (en) Method and system for fragment linking and fragment caching
US7412535B2 (en) Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
JP4594621B2 (ja) 分散コンピューティング環境における集約サービスの供給
US7987239B2 (en) Method and system for caching role-specific fragments
US8032586B2 (en) Method and system for caching message fragments using an expansion attribute in a fragment link tag
Michlmayr et al. Towards recovering the broken SOA triangle: a software engineering perspective
US20050086297A1 (en) Managing virtual business instances within a computer network
US7587515B2 (en) Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user
US20040111525A1 (en) Dynamic web service implementation discovery and selection apparatus and method
Colgrave et al. External matching in UDDI
US8504644B2 (en) Configurable continuous web service invocation on pervasive device
US20050198206A1 (en) Method and apparatus for dynamically selecting functionally equivalent Web services through a single autonomic proxy
Rompothong et al. A query federation of UDDI registries
US7496624B2 (en) Client registration for purposes of maintaining detailed client information at a web services registry
Karunamurthy et al. A novel business model for web service composition
Mukhija et al. Dino: Dynamic and adaptive composition of autonomous services
Pöhlsen et al. Integrating a decentralized web service discovery system into the internet infrastructure
Zhou et al. Using WSMO to enable mediation of heterogeneous services and semi-automation of service discovery and execution in semantic SOA
Saxena et al. Using Web Services for Distributed Computing
Alor-Hernandez et al. Web Services Discovery and Invocation by using DNS-EPD
Bansal Creating Specification Templates for Client-server Families in Service Oriented Architecture
WSDL UDDI and beyond

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081118

R150 Certificate of patent or registration of utility model

Ref document number: 4223004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

EXPY Cancellation because of completion of term