JP4594621B2 - 分散コンピューティング環境における集約サービスの供給 - Google Patents

分散コンピューティング環境における集約サービスの供給 Download PDF

Info

Publication number
JP4594621B2
JP4594621B2 JP2003560738A JP2003560738A JP4594621B2 JP 4594621 B2 JP4594621 B2 JP 4594621B2 JP 2003560738 A JP2003560738 A JP 2003560738A JP 2003560738 A JP2003560738 A JP 2003560738A JP 4594621 B2 JP4594621 B2 JP 4594621B2
Authority
JP
Japan
Prior art keywords
service
provisioning
computer
interface
provisioning interface
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
JP2003560738A
Other languages
English (en)
Other versions
JP2005515540A (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 JP2005515540A publication Critical patent/JP2005515540A/ja
Application granted granted Critical
Publication of JP4594621B2 publication Critical patent/JP4594621B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

(関連発明)
本発明は、「Building Distributed Software Services as Aggregations of OtherServices」という名称の米国特許:整理番号RSW920010189(第09/955788号)、「Programmatic Management of Software Resources in a Content FrameworkEnvironment」という名称の米国特許:整理番号RSW920010190(第09/956268号)、および「Dynamic, Real-Time Integration of Software Resources throughServices of a Content Framework」という名称の米国特許:整理番号RSW920010144(第09/956276号)に関し、これらはすべて、本願譲受人であるインターナショナル・ビジネス・マシンズ・コーポレーションに譲渡され、かつ2001年9月19日付で出願されたものである。これらの米国特許は、本明細書では「関連発明」と呼ばれる。
本発明はコンピュータ・ソフトウェアに関し、より詳細には、分散コンピューティング環境において集約サービスを供給するための技法を対象とするものである。
近年、分散コンピューティング・ネットワークおよびネットワーク・コンピューティングの人気が急激に高まりつつあるが、その大きな要因は、「ワールド・ワイド・ウェブ」(または単に「ウェブ」)として知られる公衆インターネットおよびそのサブネットを、企業や一般消費者が使用する機会が増加したことにある。企業イントラネットおよびエクストラネットなどの、他のタイプの分散コンピューティング環境の人気も高まってきている。ソリューション・プロバイダが、改良型ウェブ・ベース・コンピューティングの供給に焦点を絞るにつれて、開発されるソリューションの多くが他の分散コンピューティング環境に適合するようになっている。したがって、本明細書でインターネットおよびウェブを参照するのは例示のためであって、限定するためではない。
分散コンピューティングで進歩してきた領域が、いわゆる「ウェブ・サービス」イニシアティブ(主導)である。このイニシアティブは、一般に、分散コンピューティングのための「サービス指向アーキテクチャ」とも呼ばれる。ウェブ・サービスは、インターネットにおいて分散アプリケーションを統合するために急速に台頭しつつある技術である。一般に、「ウェブ・サービス」とは、ネットワーク・アクセスが可能な動作の集まりを記述したインターフェースのことである。ウェブ・サービスは、特定のタスクまたはタスク・セットを実行する。それらウェブ・サービスは、相互に動作可能な方法で1つまたは複数の他のウェブ・サービスと協働し、複雑な作業フローまたは業務トランザクションのうちのそれらウェブ・サービスの部分を実行する。たとえば、複雑な購入注文トランザクションを完了するためには、注文会社側での発注サービス(すなわち、発注ソフトウェア)と、その業務パートナのうちの1つまたは複数での注文履行サービスとの間の対話を、自動化することが必要となる場合がある。
業界の専門家の多くは、サービス指向のウェブ・サービス・イニシアティブが、インターネットの次の発展段階となるであろうと考えている。ウェブ・サービスを使用すると、人間の介入を必要とせずに、ソフトウェアへの分散ネットワーク・アクセスがプログラム間の動作に幅広く利用できるようになるであろう。
ウェブ・サービスは、一般に、モデルを使用して構成されるものであり、このモデルでは、ネットワーク・アクセス可能サービスを提供する企業がネットワーク・アクセス可能レジストリにサービスを発行し、サービスを必要とする他の企業がレジストリを照会してサービスの可用性を知ることができる。このコンピューティング・モデルの参加者は、一般に(1)サービス・プロバイダ、(2)サービス要求者、および(3)サービス・ブローカと呼ばれる。これらの参加者と、参加者間でのメッセージ交換に関係する基本的な動作とが、図1に示されている。サービス・プロバイダ100は使用可能なサービスを有するエンティティ(事業体、団体)であり、これらのサービスが発行される(110)レジストリは、サービス・ブローカ120によって維持される。サービス要求者150は、サービスを必要としてサービス・ブローカのレジストリを照会する(140)エンティティである。レジストリを使用して所望のサービスが見つかると、サービス要求者は、サービスを使用するために見つかったサービス・プロバイダにバインドする(130)。これらの動作は、人間の介入なしにプログラムに基づいて発生するように設計されているため、サービス要求者は特定のサービスを探し、そのサービスを実行時に動的に使用することができる。ウェブ・サービス・モデルは、理論上はどのようなタイプのコンピューティング・アプリケーションも使用することができる。ただし、現在、レジストリからアクセスできるウェブ・サービスは、「Hello, World!」デモ・プログラムなどの比較的単純なプログラム、特定の郵便番号に関して現在の気温を調べるプログラム、通貨為替計算を実行するプログラムなどに限られている。
ウェブ・サービス作業が構築されている標準の主なセットには、HTTP(「ハイパーテキスト転送プロトコル」)、SOAP(「簡易オブジェクト・アクセス・プロトコル」)、および/またはXML(「拡張可能マークアップ言語」)プロトコル、WSDL(「ウェブ・サービス記述言語」)、およびUDDI(「ユニバーサル記述、ディスカバリ、およびインテグレーション」)が含まれる。HTTPは、一般に、インターネットなどのTCP/IP(「伝送制御プロトコル/インターネット・プロトコル」)ネットワークを介してメッセージを交換するために使用される。SOAPは、分散環境でメソッドを呼び出すためのメッセージを送信する際に使用される、XMLベースのプロトコルである。XMLプロトコルは、アプリケーション層転送プロトコルに関するワールド・ワイド・ウェブ・コンソーシアム(「W3C」)の仕様を発展させたものであり、アプリケーション間のメッセージングを可能とすることになり、SOAPと収束(converge)することができる。UDDIは、企業が自社のサービスをリストアップする際およびサービス要求者が特定のサービスを提供している企業を見つける際に使用することができる、XMLベースのレジストリ技法である。(SOAPについての詳細は、インターネット上のhttp://www.w3.org/TR/2000/NOTE-SOAP-20000508から入手可能な、2000年5月8日付W3Cノート「Simple Object Access Protocol(SOAP) 1.1」を参照のこと。)XMLプロトコルおよびXMLプロトコル標準の作成に関する詳細は、http://www.w3.org/2000/xpを参照されたい。WSDL仕様には「Web Services Description Language (WSDL)1.1、2001年3月15日付W3Cノート」という名称が付けられており、インターネット上のhttp://www.w3.org/TR/2001/NOTE-wsdl-20010315で見ることができる。UDDIに関する詳細は、「UDDI Version 2.0 API Specification、2001年6月8日UDDI公開ドラフト仕様」という名称が付けられており、インターネット上のhttp://www.uddi/org/specification.htmlで見ることができる。HTTPは、Internet Engineering Task ForceからのRequest For Comments(「RFC」)2616に、「Hypertext Transfer Protocol−−HTTP/1.1」(1999年6月)という名称で記載されている。
これらの公開標準を使用してアプリケーションを統合するためには、いくつかのステップが必要である。ウェブ・サービスへのインターフェースは、サービスの呼出しに使用するメソッド名、メソッドの入出力パラメータおよびそれらのデータ・タイプ、等を含めて記述しなければならない。WSDL文書はこの情報を提供し、また、UDDI発行動作を使用して、UDDI仕様に従って実施されるレジストリに対して伝送される。いったんUDDIレジストリにサービスが登録されると、サービス要求者はUDDI検索要求を発行して分散サービスを見つけることができる。この方法でサービスを見つけたサービス要求者は、次にUDDIバインド要求を発行するが、これは、WSDL文書からのサービス情報を使用して、要求者と見つかったサービスとを動的にバインドするものである。(これらのUDDI動作については、図1で高水準で示されている。)SOAP/XMLプロトコルおよびHTTPメッセージは、一般に、WSDL文書およびUDDI要求を伝送するために使用される。(以下、SOAPについての言及は、XMLプロトコルの、意味的に同じ側面について、等価的に述べているとみなすものとする。さらに、本明細書での「HTTP」についての言及は、一般的な意味で、HTTPと同様の機能について述べていることを意図するものであることに留意されたい。たとえばUDDI動作の中には、HTTPではなくHTTPSを必要とするものがあり、HTTPSはHTTPのセキュリティ強化バージョンである。しかし、これらの相違点は本発明に直接関係するものではないため、以下でHTTPについて論じる際に区別はしない。)
ウェブ・サービスの目的は、1つまたは複数のリモート位置に常駐することのあるプログラム・コンポーネントが、たとえ異なるオペレーティング・システム上で実行され、要求者のものとは異なるプログラミング言語で作成されている場合であっても、それらのコンポーネントへのトランスペアレントなアクセスをサービス要求者に提供することである。ウェブ・サービスの基礎となるはずのこの目的、アーキテクチャ、および標準を定義するために、莫大な作業が行われてきたが、ウェブ・サービスを効果的かつ効率的に動作させるためには、なお多くの作業が残されている。
具体的に言えば、従来の方法で提供された多くのアプリケーション・サービスが、それらサービスを使用する前にユーザの認証および許可を必要とすることを考えてみる。この状況で、認証とは、実際にユーザがそうであると称している人物であると特定することを意味し、許可とは通常、このユーザのアクセス権が何であるか、あるいはこのユーザに特定のサービスまたはその機能へのアクセスが許可されているかどうかを特定することを意味する。ウェブ・サービス環境では、サービス・プロバイダが動的に配置されて特定のサービスを実行できることが目的である。複数のサービス・プロバイダが利用できる場合、これらのサービス・プロバイダのうちの特定の1つを、このプロバイダ・サービスの利用価格、このプロバイダ・サービスの応答時間保証、などといった基準に基づいて選択することができる。各プロバイダが、認証および許可情報に関する異なるフォーマット、ならびに認証および許可機能にアクセスするための固有の方法を有する可能性がある。本発明者が知るところでは、ウェブ・サービス環境において異種のアイデンティティ・システムを統合またはバインドするための技法はなく、これが、集約されたウェブ・サービスの使用を大幅に妨げるものとなるであろう。
本発明は、コンピューティング・ネットワークにおいて集約サービスを供給するための、方法、システム、およびコンピュータ・プログラムを提供するものである。
好ましい実施形態では、1つまたは複数のソフトウェア・リソースが集約サービスを供給し、この技法が、集約サービスのプロビジョニング(需要の変化に応じて柔軟に変更対応する)・インターフェースを定義するステップ、サービス記述文書においてプロビジョニング・インターフェースを指定するステップ、サービス記述文書に従って集約サービスのユーザの信用証明を取得するステップ、取得した信用証明を分析するステップ、ならびに分析によって示された場合はユーザに集約サービスの実行を許可するステップを有する。
さらにこの技法は、集約サービスの1つまたは複数のソフトウェア・リソースのうちの少なくとも1つのプロビジョニング・インターフェースを定義するステップ、ならびに、少なくとも1つのソフトウェア・リソースのそれぞれについて、ソフトウェア・リソースによって実行されるサービスのプロビジョニング・インターフェースを指定するステップ、を有することができる。この場合、集約サービスのユーザの信用証明を取得することに加えて、少なくとも1つのソフトウェア・リソースについても、サービス記述文書あるいは1つまたは複数の他のサービス記述文書に従って信用証明を取得することができる。その後ユーザは、同様にこれらの信用証明の分析によって示された場合、少なくとも1つのソフトウェア・リソースのプロビジョニング・インターフェースによって表された、選択されたサービスを実行できることが望ましい。
好ましい実施形態では、分析が、信用証明の(1)認証と(2)許可のうちの少なくとも1つを有する。
したがってアイデンティティ情報は、集約サービスのソフトウェア・リソースによって実行される分散サービス間でプログラムに基づいてリレー(中継)されることが可能である。好ましくは、プログラムに基づきリレーするステップが、メッセージのヘッダ中に信用証明を、さらにメッセージの本文中にサービス要求を、指定するメッセージを送信するステップを有することが望ましい。たとえばメッセージは、SOAP(「簡易オブジェクト・アクセス・プロトコル」)メッセージである場合がある。
マークアップ言語は、サービス記述文書を指定するために使用されることが望ましい。当該マークアップ言語は、ウェブ・サービス記述言語(「WSDL」)であることが望ましい。
当該技法は、サービス記述文書をレジストリに登録するステップをさらに有することが可能であり、このレジストリは、標準化されたメッセージを使用してアクセスされるネットワーク・アクセス可能レジストリである場合がある。
次に、本発明の好ましい実施形態について、以下の図面を参照しながら例示の目的で説明するが、図面全体を通じて同じ参照番号は同じ要素を示す。
ウェブ・サービスには、全く異なるアプリケーションが今までには決してなかったような相互動作を可能にする見込みがあるため、企業システムの開放性および都市化を通じて、シームレスな高度に統合されたアプリケーションの新しい風を吹き込むことになる。ウェブ・サービスは、分散ソフトウェア・リソースをより広く入手可能とするものであり、ソフトウェアをサービスとしてマーケティングできるようにするものである。1つまたは複数のサービス・プロバイダからのサービスを動的に集約することで、それぞれの特定のユーザにとって現在関心のあるタスクまたはサービス、を実行するために必要な機能が、ユーザに提供される。これらの動的に統合されたサービスを効果的に使用するためには、それらサービスが使用する可能性のある異種のアイデンティティ(同一性識別)・システムに、自動的かつ動的にバインド(参加)できることが必要である。このバインドはリアルタイムに実行されなければならず、その結果、それらサービスの使用について、ユーザ(人間またはプログラムどちらか)がシームレスに認証および許可、すなわち「識別」されることが可能となる。さらに、特定のサービス(複数のサブ・サービスからなるサービスを含む)を通じてユーザが自分自身を繰り返し識別することが必要であると、ユーザをいらいらさせることになり、また時間の浪費および非効率的であるため、このシームレスな識別は単一のサイン・オンを使用して提供することが望ましい。本発明は、以下で説明するように、これらの要件の解決策を提供し、それを実行する中で、いくつかの公開された業界標準技術を活用するものである。
実施形態について詳細に論じる前に、本発明の好ましい実施形態を構築する基になる技術を含む背景情報について、少し再考しておくのが良いであろう。関連発明では、ウェブ・サービスを管理するため、ならびに、サービスを集約して新しいサービスを形成し、その後それらを展開することのできる集約ポイントを提供するための、技法が定義された。関連発明の好ましい実施形態は、ポータル・プラットフォームなどのコンテンツ・フレームワークを基に構築されているが、その理由は、この種のフレームワークが、コンテンツ管理のため、ならびに持続性、個人化、およびコード変換といったサービス・ホスティングのための、多くの組込みサービスを提供するものであるためである。関連発明で開示された技法は、このプラットフォームを拡張し、ウェブ・サービスの集約、展開、および管理に備えるようにするものである。モデル化合成ツールが開示されており、これを使用して集約サービスを定義することが可能であり、その後この集約サービスの定義に従い、ソフトウェア・リソースをプログラムに基づいて統合することができる。さらにこの集約サービスを、自動化された方法で管理することができる。
本発明は、当該関連発明の使用の結果もたらされる集約されたサービスを提供するための技法を定義するものである。これらの技法は、本発明の範囲を逸脱することなく、他の方法で作成された集約サービスにも適合することができる。さらに留意すべきことは、本明細書の議論は「集約」サービスの提供に関するものである一方で、集約サービスそれ自身は(サブ・サービスからなる)ウェブ・サービスであり、それ故、アトミック(一微小単位の)サービスとみなすことのできるそれらのウェブ・サービスで(そして、それ故にそれらウェブ・サービスは、集約の縮退のケースであり、集約された「サブ・サービス」の組が単一のメンバを有するのだが)、本発明が有利に使用できるものであるということである。
本発明(ならびに関連発明)の実施形態が実施可能な市販のポータル・プラットフォームの1つが、インターナショナル・ビジネス・マシンズ・コーポレーション(「IBM」)のWebSphere(R)Portal Server(「WPS」)である。(「WebSphere」はIBMの登録商標である。)しかしながら、関連発明および本発明の考察はポータル・プラットフォームに関するものであるが、その発明概念は、類似した機能を提供しかつWPS以外のポータルにも適用可能な他のタイプのコンテンツ・フレームワークに適用することができるため、ポータルおよびそれらのポートレットの実例に対する参照は例示のために過ぎず、限定的なものではない。
関連発明によって可能とされる動的なウェブ・サービス実行時間の統合では、新しいウェブ・サービスを集約するための合成ツールを使用することができる。システム管理者(すなわち、サービスを合成する者または他の人物)は、この合成ツールを使用して、よりきめ細かなサービスからなる新しいサービスを定義することができる。他のサービスを構築する基となるきめ細かなサービスはローカルまたはリモートに常駐することが可能であり、関連発明の技法は、それらがローカルであるかリモートであるかに関わらずトランスペアレントな方法で、それらのサービスを参照すること、およびそれらのサービスを使用することを可能にするものである。きめ細かなサービスは、スクリプト・プログラム、Java(TM)クラス、COMクラス、EJB(「Enterprise JavaBeans」(TM))、ストアド・プロシージャ、IMSまたは他のデータベース・トランザクション、レガシー・アプリケーション、その他を含む、任意の形式のプログラミング論理を含むことができる。(「Java」および「Enterprise JavaBeans」は、Sun Microsystems,Inc.の商標である。)この方法で作成されたウェブ・サービスは、その後ポータル・プラットフォームによって自動的に管理することが可能であり、関連発明に記載されているように、帰納的方法で新しいウェブ・サービスを作成する際にも使用することができる。
関連発明は、ポートレットをポータル・インターフェースとして活用し、さらにリモート・ポートレット・インターフェースの概念(この概念はプログラムに基づいたポートレットに適用するように拡張される)に基づいて、ソフトウェア・リソースへのアクセスを可能にするようにも構築する。この方法で機能するポートレットは「ウェブ・サービス・インターメディアリ(intermediay)」または「ウェブ・サービス・プロキシ」と呼ばれることがある。すなわち、関連発明は、ポートレットが、特定のサービスを要求するアプリケーションまたはソフトウェア・リソースと、そのサービスを提供するソフトウェア・リソースとの間の仲介者として動作できるようにする。特定の機能を実行するソフトウェア・リソースは、ウェブ・サービス・プロキシと静的に(たとえば開発時に)バインドすることが可能であるか、またはウェブ・サービス・プロキシを、(たとえば、実行時に評価された基準に基づいて)動的に選択されたソフトウェア・リソースとバインドすることができる。どちらの場合も、ポートレット・プロキシは要求メッセージを受け取り、自分がバインドされているソフトウェア・リソースにそれらを転送して、当該ソフトウェア・リソースは、要求された機能を完了すると、その応答をポートレット・プロキシに戻し、その後ポートレット・プロキシが要求者に応答を転送する。
集約サービスを実行するために呼び出されるソフトウェア・リソースは、プログラム間の対話用に設計することができるが、代替方法として、本質的に視覚的なものとすることもできる。たとえば視覚指向のリソースを、主としてプログラム間方式で動作するウェブ・サービスの実行中に呼び出すことができる。「プログラムに基づいたポートレット」という用語は、本明細書では一般に、基礎となるソフトウェア・リソースが視覚指向コードに関係するものであろうとなかろうと、関連発明および本発明に従ったポートレット・プロキシを言い表すものとして使用される。
関連発明に従って、ウェブ・サービス・プロキシとして構成されたポートレットを示すブロック図が、図2に示されている。これに示されるように、ポートレット・プロキシ240は、展開インターフェース210、システム・インターフェース220、および機能インターフェース230を含む。ポートレット・プロキシは、ポータル・プラットフォームと当該機能を実行するソフトウェア・リソース250との間の仲介者として動作するこれらのインターフェースを使用して、ポータル・プラットフォーム200と通信する。それぞれの機能インターフェースの細部はソフトウェア・リソース250によって提供されるウェブ・サービスに固有であり、関連発明の一部を形成するものではない。しかし、関連発明は、ソフトウェア・リソース250の機能インターフェースをポートレット・プロキシのインターフェース230として使用可能にする。(WSDL定義およびSOAPサービスを使用して機能インターフェースを現すことは、関連発明で論じられたように、展開プロセス時にIBMのWeb Services Toolkit、すなわち「WSTK」などの市販のツールを使用して実施することができる。)
展開インターフェースおよびシステム・インターフェースについては、関連発明に詳細に記載されている。ここでは簡単に概説しておく。関連発明の好ましい実施形態によれば、展開インターフェースおよびシステム・インターフェースは、ウェブ・サービス・プロキシとして働く各ポートレットごとについて定義される(しかし代替の実施形態では、これらインターフェースのうちの一方または他方を実施することができる)。これらの新しいインターフェースは、それぞれ、展開ポート・タイプおよびシステム・ポート・タイプと呼ばれることもある。このように、関連発明に従ったポートレットは、ソフトウェア・リソースのポータル統合とサービスの対話および管理とに必要なポート・タイプ、を含むサービス・プロバイダ・タイプを定義する。(「ポート・タイプ」とは、当分野でポートレットの動作の仕様を示すために使用される用語であり、「サービス・プロバイダ・タイプ」とは、ポート・タイプの集まりを示すために使用される用語である。)
展開インターフェースは、ポートレット・プロキシ(すなわち、ポートレット・プロキシによって表される集約されたウェブ・サービス)を、後続のウェブ・サービス合成動作で関連発明に従って帰納的方法で使用できるようにするものである。たとえば、ポートレット「A」の展開インターフェースは、ポートレットAが他のポートレットと集約されて新しいウェブ・サービス「Z」を形成するときに使用する、ポートレットAに関する情報を提供する。関連発明に従ってウェブ・サービスZに関する展開インターフェースを定義することによって、その後、サービスZが他の新しいサービスを合成するために使用されるときに、ウェブ・サービスZに関する情報を提供することができる。
システム・インターフェースは、ポートレットの(すなわち、ポートレット・プロキシによって表されるウェブ・サービスの)ポータル・プラットフォームによる実行時管理に使用される。システム・インターフェースを使用することにより、ポータル・プラットフォームが、イベントのログ、課金、およびウェブ・サービスの実行に関連する他のタイプの管理動作、といった機能を実行することができる。そのために、ポータル・プラットフォームとポートレット・プロキシとの間の双方向通信が使用される。
図3から図5は、それぞれ、展開インターフェース仕様およびシステム・インターフェース使用を示すWSDL文書の例である。関連発明の好ましい実施形態によれば、展開ポート・タイプおよびシステム・ポート・タイプはWSDL文書として表された後、レジストリに登録することができる。図3のWSDL文書300の310で示されるように、展開インターフェース例は「Deployment」と命名され、「getDisplayName」および「getDisplayIcon16x16」などの動作を含む(要素330を参照のこと)。これらの動作を使用して、たとえばウェブ・サービスの記述名を取り出すこと、およびウェブ・サービス合成ツールのパレット上に配置するためにウェブ・サービスを表すグラフィック・イメージを取り出すことができる。WSDL仕様によれば、サービスと通信するために使用される入力および出力のメッセージは「<message>」エレメント320で指定され、これらのメッセージによって使用されるパラメータは「<part>」要素として定義される。このように、このポート・タイプに関して指定される各動作の各メッセージについて、メッセージ要素が定義される。(WSDL文書に関する詳細は、WSDL仕様を参照されたい。)
図4のWSDL文書350は、この例では「System」と命名されたシステム・インターフェースを定義する(要素360を参照のこと)。この例では、2つの文字列パラメータおよび日付パラメータを有する、「Event」と命名された複合データ・タイプが定義される(要素370を参照のこと)。このデータ・タイプは、たとえば監査ログ・ファイルに記録されるロギング・データを交換する場合に使用することができる。「logEvent」動作も定義され(要素390を参照のこと)、この例では、タイプがEventであるパラメータを有する「logEventReceive」メッセージ(要素380を参照のこと)を使用して呼び出される一方向動作である。さらにこの例は、2つのメッセージ「reportInput」および「reportOutput」を有する「reportUsage」動作を定義する。
本発明の好ましい実施形態は、集約されたウェブ・サービスに関するプロビジョニング情報を含めるために、展開インターフェースを拡張することができる。別の方法では、そのために本発明の範囲を逸脱することなく、別のプロビジョニング・インターフェースを定義することができる。プロビジョニング・インターフェース仕様の例500が、図7から図11に示されている。本明細書で開示されるように、プロビジョニング・ポート・タイプまたはインターフェースをWSDL文書として表すことによって、ウェブ・サービスに関するプロビジョニング情報をプログラムに基づいてレジストリに登録することが可能であり、また、プロビジョニング・インターフェースに関する情報を見つけて、実行時にプログラムに基づいてバインドすることができる。
プロビジョニング・インターフェースが展開インターフェースの拡張として実施される場合、特定のウェブ・サービスに関するインターフェース仕様が、展開インターフェース定義の範囲内で、その動作をプロビジョニングなportType要素内に指定することが望ましい。たとえば、図3の展開インターフェース仕様300を、展開portType要素を含めるように拡張することができる。次に図7から図11を簡単に参照すると、このアプローチを用いる場合に(図3の要素320で示された)展開仕様に定義された他のメッセージに図7から図9に示されたメッセージ仕様例を追加することが可能であり、また、図10および図11に示されたような追加のportType要素を、展開動作に関するportType330と共に指定することができる。別の方法では、特にプロビジョニングのために別のWSDL文書を提供することが可能であり、この別の文書はそれ自身の<types>要素、<schema>要素、その他を有する。この代替では、WSDL文書の<definitions>要素が、図7から11のインターフェース仕様で示されたようなプロビジョニング・メッセージおよび動作からなるものとすることが可能である。
WSDL仕様によれば、ウェブ・サービスと通信するために使用される入力および出力のメッセージは、「<message>」要素で指定され、これらのメッセージによって使用されるパラメータは「<part>」要素として定義される。したがって、このポート・タイプのために指定された各動作の各メッセージについて、メッセージ要素が定義される。(WSDL文書に関する詳細は、WSDL仕様を参照されたい。)
関連発明で開示されたように、好ましくは有向グラフを使用して、他のウェブ・サービス(すなわちサブ・サービス)からなる集約ウェブ・サービスの実行に関係のある動作をモデル化する。選択されたポートレット動作がグラフのノード(節点)を表し、ノードをリンクするグラフ・エッジ(辺)が、1つのサービス動作またはプロセスから別のものへの潜在的な移行を表す。これらのサービス・リンクは、1つまたは複数の移行条件によって、また適用可能であればデータ・マッピング情報によっても、制限することが可能である。この条件は、どのような条件の下で、次のリンクされたサービスを呼び出すべきかを指定するものである。これらの条件は、以前のサービス呼出しの結果を使用して決定されることが多い。データ・マッピングとは、ポートレット・ポート・タイプ間の動作をリンクする能力、および1つの動作から別の動作へデータを転送する能力のことである。たとえば、データ・マッピング情報は、1つのサービスの出力パラメータが他のサービスの入力パラメータにマッピングされていることを示すことができる。
好ましくは、この有向グラフのサポートのためにウェブ・サービス・フロー言語(「WSFL」)が活用される。具体的には、有向グラフを使用するWSFLの永続的ストレージ技法および実行時評価技法をウェブ・サービス・スタックに追加して、サービス作成者によって作成されたグラフ上で動作させることができる。WSFLの詳細な考察については、インターネット上のhttp://www- 4.ibm.com/software/solutions/webservices/pdf/WSFL.pdfでIBMから入手可能なF.レイマン博士による「Web Services Flow Language (WSFL 1.0)」(2001年5月)という名称のWSFL仕様を参照すると良いが、ここではあたかも全文が記載されたかのように参照により本明細書に組み込むものとする。
関連発明に開示されたようなサービス集約のためのウェブ・サービスのスタック方法の例については、図6を参照されたい。好ましくは、ウェブ・サービス・スタック400が集約サービスの定義および実行のためにWSFLサービス・フロー・サポート410を使用し、また好ましくは、UDDIを使用してサービス発見420およびサービス発行430が提供される。ウェブ・サービス・スタックは、サービス記述文書をサポートするためのWSDL層440も有する。SOAPを使用してXMLベース・メッセージング450を提供することができる。HTTPなどのプロトコル、ファイル転送プロトコル(「FTP」)、電子メール、メッセージ・キューイング(「MQ」)、およびその他を、ネットワーク・サポート470のために使用することができる。関連発明で論じたように、WSDLは、ウェブ・サービスのポート・タイプを定義するため、およびこれらのポート・タイプの動作を呼び出す方法を定義するために使用され、さらにWSDLは、ウェブ・サービスを集約するため(および、それらのインターフェースを集約するため)に使用される。実行時に、UDDIサービス発見プロセスを使用してサービスがレジストリ内で検索され、それらの持つWSDL定義からの情報を使用してバインドされる。その後、WSFLは実行時にこれらの(ポート・タイプ)定義を使用して、サービスを集約する。(動作の署名は通常、1対1で突き合されないため、WSFL仕様に定義された「プラグ・リンク」をプロキシ・モデルで使用して、関連発明に記載されたような単純な方法でインターフェースをマッピングし、それによって動作インターフェース間の対応関係を提供する。)関連発明は、このプラグ・リンク・メカニズムを、ウェブ・サービスを実施するためのポートレット・プロキシ統合の永続的な定義として開示している。
ウェブ・サービスとして展開されることになるソフトウェア・リソース用のソース・コードを作成する開発者は、そのサービスによって提供されることになる認証、許可、および/または構成の方法を指定する。その後、関連発明に記載されたようにサービスを集約することが可能であり、また本発明の技法を使用して集約サービスを供給することができる。たとえば、集約サービスが人間のユーザに電子メール・サービスを供給するように設計されると想定する。ユーザの電子メール・アカウントを確立するために、サブ・サービスを提供することができる。通常は、このアカウント確立のサブ・サービスには、ユーザのフルネーム、この人物に関連する電子メール・ユーザ識別子、この人物が自分の電子メール・アカウントにアクセスする際に使用するパスワード、そしておそらくは、このユーザの電子メール・メッセージにどのくらいのストレージが割り振られるべきかといった構成情報、などの入力情報が必要となる。(記憶されたパスワードを後でユーザ識別子と組み合わせて使用すれば、このユーザが、集約された電子メール・サービスの別のサブ・サービスを使用して自分の電子メール・メッセージにアクセスするときに、この人物を認証することができる。)アカウント確立サブ・サービスへの入力として、アクセス権情報を提供することもできる。たとえばシステム管理者であるユーザに、他のユーザのストレージ・スペースの割振り追加、他のユーザの電子メール削除、その他等の動作を実行するための追加のアクセス権を与えることができる。その後WSDL文書を使用して、各サブ・サービスによって提供される動作と、それらの動作を呼び出すために使用されるメッセージおよびパラメータとを定義することができる。
関連発明で論じられたように、WSDL文書の作成は、人間のユーザによって、またはプログラムに基づく動作を使用して、あるいはそれらを組み合わせることによって、実行することができる。(たとえば、人間のユーザに、ポート・タイプ名、名前スペース情報の場所、その他等の情報を供給するよう求める場合もあるが、プログラムに基づく動作は、ソフトウェア・リソースの公開方法に関する<operation>および<message>要素を生成する。IBMのWSTKは、既存のソフトウェア・リソース用のWSDLをプログラムに基づいて生成する際に使用できる市販製品の一例である。「getTemp」および「setTemp」動作を有する単純な天気予報サービス用のWSDL文書をプログラムに基づいて生成する一例を示した、インターネット上のhttp://www-106.ibm.com/developerworks/webservices/library/ws-peer4でIBMが公表している、G.グラス氏の「The Web services (r)evolution:Part 4, Web Services Description Language(WSDL)」(2001年2月)を参照されたい。)
本発明に従って動的に統合されたサービスのアイデンティティ・システムを接合させるために、各サービスのプロビジョニング・インターフェースがWSDL文書を使用してUDDIレジストリに発行される。その後、集約を有するサブ・サービスのインターフェースから手動でまたはプログラムに基づいて選択することによって、集約サービスのプロビジョニング・インターフェースを作成することが可能であり、また、WSDL文書をこの新しいプロビジョニング・インターフェース用に作成し、再帰的方法で発行することができる。
統合された認証および許可動作は、分散サービスの発見および呼び出しの両方の動的な性格によって、さらに困難なものとなっている。本明細書に開示された技法は、ウェブ・サービスの作業フローに関連して集約サービスを供給できるようにすることでこの困難に対処するものであり、動作はWSDL文書を使用して識別され、作業フローの定義範囲内にあるSOAPメッセージを使用して呼び出される。
集約サービスは、公表されたそれらの動作に十分な信用証明を有するユーザがアクセスするのを制約し、公表された許可動作を使用してこれらの信用証明を首尾よく明示することができる。さらに、集約サービスに及ぶユーザ・プロファイルの作成を可能にすること、ならびにオプションで、対応するサービス動作を使用して、これらのユーザ・プロファイルを照会、変更、および/または削除できるようにすることも有利な場合がある。
次に、図7から図11に示されたメッセージおよび動作のサンプルについて説明し、これらを使用して、分散コンピューティング環境において集約サービスの供給を本発明が可能にする方法を例示する。(当業者の一人であれば明らかなように、図7から図11に示されたメッセージおよび動作ならびにそのパラメータは、例示のためにのみ示されたものである。実際のプロビジョニング・インターフェースは、本発明の範囲を逸脱することなく、他のメッセージおよび動作を含むことができる。)
「InResolveProvisioningIDRequest」メッセージ502は、特定の認証済みユーザまたはエンティティが誰であるか、を見るためのサービスを照会する際に使用することのできる、入力要求メッセージを示すものである。(以下、特に認められない限り、「ユーザ」という用語は、人間のユーザ、または自動化サービスなどのプログラムに基づいたエンティティに対して、等価に適用されるものと解釈することができる。)メッセージ仕様502は、この要求が文字列タイプである「authToken」と命名されたパラメータを取ることを宣言するものである。たとえば、ある人間のユーザが集約サービスに認証されており、当該集約サービスがその人間のユーザに関する認証トークン「X」を保持しているものと想定する。さらに、集約サービスが、この人間のユーザを特定のサブ・サービス「ServiceABC」に認識させる方法をプログラムに基づいて決定しようとしていると想定する。集約サービスは、そのユーザに関する情報を有するプロビジョニング・システムを見つける必要がある。メッセージ502および504を使用してこの機能を提供することが可能であり、トークン「X」が「ServiceABC」の「ResolveProvisioningID」動作に渡される(好ましくはSOAPメッセージを使用するが、これについては図13および図14を参照しながら説明する)。図10に示されるように、「ResolveProvisioningID」552は、「InResolveProvisioningIDRequest」メッセージ(図7の要素502を参照)ならびに「OutResolveProvisioningIDResponse」(図7の要素504を参照)メッセージを有する動作である。「OutResolveProvisioningIDResponse」メッセージ504は、(文字列タイプの)「Identifier」と命名されたパラメータを戻すように定義される。好ましくは、戻される識別子はリモート・プロビジョニング・システムの識別子である。次にこの識別子を後続動作用の入力パラメータとして使用して(たとえば、以下で説明するメッセージ506、510、および526を参照)、場合に応じて、ユーザ・プロファイルまたはサービス構成情報を管理しているプロビジョニング・システムを指定することができる。
次に図13および図14を参照すると、本発明の好ましい実施形態が、ウェブ・サービス間の通信用にSOAPメッセージを使用している。SOAPメッセージ700の例は、従来技術に従ってヘッダにデジタル署名が記載されたSOAPエンベロープを有する。ヘッダ710およびデジタル署名720については、図13を参照されたい。デジタル署名は、SOAPメッセージ本文に記載されたサービス要求を提示する要求者の認証を行うのに使用することができる。メッセージ本文730および要求740については、図14を参照されたい。このメッセージ例700では、子要素<m:symbol>が値「IBM」を有するような「GetLastTradePrice」メッセージをメッセージ本体が指定する。これが株式相場サービスの呼出しであること、およびこのサービスがユーザの認証を必要とすることが推定できるため、ユーザのデジタル署名がSOAPヘッダに記載されている。(この方法でSOAPメッセージを使用することについての詳細は、インターネット上のhttp://www.w3.org/TR/SOAP-dsig/で見つけることのできる、「SOAP Security Extensions:Digital Signature(SOAPセキュリティ拡張:デジタル署名)、2001年2月6日付W3Cノート」を参照されたい。)
本実施形態は、集約されたウェブ・サービスのユーザを認証すること、それらユーザの許可を決定すること、および/または集約されたウェブ・サービスを構成すること、に関係する認証情報を伝達するために、このデジタル署名技法を活用するものである。
図7のプロビジョニング・インターフェース・メッセージの例についての考察に戻ると、「InResolveUsersRequest」メッセージ506は、特定サービスへのアクセスを許可されたユーザのセットを決定するために使用可能な入力要求メッセージを示す。この例では、照会されているサービスに認証トークンが渡され、好ましくは、このメッセージで情報要求者(すなわち、許可されたユーザ情報を要求している、プログラムに基づいたエンティティまたは人間のユーザ)を認証する働きをする。「provID」パラメータを使用して、サービス・プロバイダによって提供されているプロビジョニング・システムのアドレス(Uniform Resource Identifier、すなわち「URI」のような)を提供することができる。サービスの「ResolveUsers」動作(図10の要素554を参照のこと)が「InResolveUsersRequest」メッセージ506を受け取り、「OutResolveUsersResponse」メッセージ508で応答する。この例では、この出力メッセージ508は「UserSet」と命名された配列を戻すときに定義される。メッセージ508の部分要素内にある構文「SOAP-ENC」は名前空間の接頭辞(プリフィックス)であり、配列の定義を修飾するために使用される。(この出力配列は、おそらく、UDDIを使用してバインドされ、また、SOAPメッセージを使用して呼び出された、この「ResolveUsers」動作554を提供している特定サービス、が許可されたユーザを識別するものである。「ResolveUsers」動作が実行された場合、許可されたユーザを決定するようにプロビジョニング・システムに対して要求した可能性がある。)
「InCreateUserProfileRequest」メッセージ510は、ユーザ・プロファイルを作成する入力要求メッセージのインターフェースがどのように設計できるかを示す。他のメッセージ例の場合と同様に、リモート・サービスに渡された入力パラメータのうちの1つとして認証トークンを含めることが有益であるため、リモート・サービスは、情報要求者を認証することができ、また、この要求者は「InCreateUserProfileRequest」メッセージ510を公表する「CreateUserProfile」556サービスを使用するように許可されているのかどうかを判別することが可能である。「provID」パラメータを使用して、前述のように、ユーザのプロファイルがこのプロビジョニング・システムで格納されることになっている、URIまたはプロビジョニング・システムの他のアドレスを提供することができる。好ましくは「userID」パラメータが、プロファイル作成の対象となっているユーザ(人間のユーザまたはプログラムに基づいたユーザ)を識別する。「password」パラメータを提供して、このユーザに関連するパスワードを確立することができる。(所望であれば、パスワード以外の信用証明をこの目的に使用することができる。)基礎となるサービスの必要性に応じて、ユーザのフルネームを「FullName」パラメータで渡すことができる。最後にこのメッセージ例では、ユーザのアクセス権が配列として提供される。「CreateUserProfile」動作556が「InCreateUserProfileRequest」メッセージ510を受け取り、「OutCreateUserProfileResponse」メッセージ512で応答する。この例では、この出力メッセージ512が、プロファイル作成が成功したか否かを示すブール代数値を戻す。
「InQueryUserProfileRequest」メッセージ514は、以前に格納したユーザ・プロファイルから情報を取り出すために使用される入力要求メッセージ用インターフェースの例を示す。メッセージ・パラメータは、情報要求者を認証するための認証トークン「authToken」と、プロファイルが格納されたプロビジョニング・システムを識別するためのプロビジョニング識別子「provID」と、プロファイル情報の要求元となっているユーザを識別するためのユーザ識別子「userID」とを含む。このメッセージ514が、入力インターフェースとして「QueryUserProfile」558サービスに提供され、この例の「OutQueryUserProfileResponse」メッセージ516が、ユーザのパスワード、フルネーム、およびアクセス権を、格納されたプロファイルから戻す。
「InUpdateUserProfileRequest」メッセージ518は「inCreateUserProfileRequest」メッセージ510に類似しており、この例では同じパラメータを使用する。「UpdateUserProfile」動作560は「InUpdateUserProfileRequest」メッセージ518を受け取り、「OutCreateUserProfileResponse」512に類似した「OutUpdateUserProfileResponse」メッセージ520で応答する。この例では、この出力メッセージ512が、プロファイル作成が成功したか否かを示すブール代数値を戻す。
「InDeleteUserProfileRequest」メッセージ522および「OutDeleteUserProfileResponse」メッセージ524が、「DeleteUserProfile」動作562の入力および出力インターフェースとして提供され(図11を参照のこと)、「CreateUserProfile」動作556および「UpdateUserProfile」動作560でプロファイルを作成または更新することができるのと同様の方法で、ユーザのプロファイルを削除することができる。
これまでに説明したような認証および許可メッセージに加えて、集約されたウェブ・サービスの構成に関連するメッセージおよび動作を定義することも有用である。「SetConfigParameter」564および「GetConfigParameter」566の動作例が図11に示されている。
「SetConfigParameter」564動作に関する入力メッセージの例が「InSetConfigParameterRequest」526であり、出力メッセージの例が「OutSetConfigParameterRequest」528である。この例の入力メッセージ526は、要求者に関する認証トークン「authToken」と、パラメータ値を格納すべきプロビジョニング・システムを識別するためのプロビジョニング識別子「provID」と、このパラメータを関連付けるべきユーザを識別するためのユーザ識別子「userID」と、構成パラメータの名前「parameterName」および値「parameterValue」と、を含む入力パラメータを有する。出力メッセージ528は、「SetConfigParameter」動作が成功したかどうかを示すブール代数値「result」を戻す。
「GetConfigParameter」566動作に関する入力メッセージの例が「InGetConfigParameterRequest」530であり、出力メッセージの例が「OutGetConfigParameterRequest」532である。この例の入力メッセージ530は、「parameterValue」パラメータが省略されている点を除いて「InSetConfigParameterRequest」メッセージ526のそれと同一の入力パラメータを有する。出力メッセージ532は、「parameterValue」パラメータを使用して、要求されたパラメータの値を戻す。
次に図12を見ると、本発明の好ましい実施形態に従って、集約サービスと、ウェブ・サービスの作業フローに関連したそのサブ・サービスのアイデンティティおよび/または構成動作と、を実行するために使用可能な論理が示されている。
本発明に従って、集約サービスに「統合ログイン」またはシングル・サインオン機能を提供することが可能であり、これにより、集約サービスのプロビジョニング・インターフェースを使用して、集約サービス実行の最初にすべての必要な情報をユーザに請求することができる。(実行中に何らかの情報をユーザに要求する必要が生じることがあり、本発明がこうした要求を最小限に抑えられるものとみなされることは明らかであろう。)
集約サービスのWSFL作業フローにおいて順番に定義された動作は、当該作業フロー定義に従って実行される。ユーザから取得されたログイン情報は、好ましくは、ログイン情報の個々の要素が関連するサブ・サービスによる使用のために「スタック」される。モジュールのスタッキングは、当分野では、シングル・サインオン機能を提供するアイデンティティ・システムおよび認証システムに精通した人々に知られている。スタッキングとは、暗号化鍵として「1次」パスワードを使用し、このようにして暗号化された情報が1つまたは複数の「2次」パスワードを有することである。スタッキング・プロセスが本発明で使用される場合、2次パスワードとはサブ・サービス用に使用されるパスワードであり、1次パスワードは集約サービスの範囲に適用されてこれら2次パスワードを保護する。WSFL定義に従って指定された順序でサブ・サービスが呼び出され、その後スタックされたパスワードがスタック解除されて、適切な認証または許可サブ・サービスに提示される。
このプロセスは図12のブロック600で開始され、ユーザ識別子およびパスワード(または同様のタイプの認証入力)が取得される。(本明細書で言及される「パスワード」とは、サポート可能な信用証明のタイプを限定することを意味するものではない。信用証明は、平文や、暗号化された文字列や、チケットや、およびX.509証明書などの公開鍵セキュリティ証明書、を含む多くの方法で提供することができる。)この認証情報を入力としてリモート・サービスに渡すことが可能であり、このサービスが認証動作を呼び出すと認証トークンを生成することになる(ブロック610)。
好ましくは、ブロック610で生成される認証トークンがXMLフラグメントとして生成され、その後SOAPメッセージ・ヘッダに含めることができる。この方法では、ウェブ・サービスにアクセスしたときにユーザ・アイデンティティがリレーされるようにすることができる。図13および図14のサンプルSOAPメッセージ700の考察を参照すると、XML構文を使用してデジタル署名をSOAPヘッダに含める方法が示されている。(ここで示されるように、デジタル署名トークンは修飾された名前スペースを使用するため、先頭に文字「ds」が付く。)同様に、SOAPヘッダを使用して、認証システムおよびポリシー・システムをサービス動作にバインドすることができる。好ましくは、WSDL記述が、SOAPヘッダと本文との組合せとして動作をモデル化することができる。すなわち、アイデンティティの証明を必要とするすべての動作が、ユーザ信用証明の交換を必要とする。本明細書の例で使用されるSOAPセキュリティ拡張技法は、これがどのように達成できるかの一例である。Security Association Markup Language(「SAML」)、Generic Security Service(「GSS」)API、およびCommon Secure Interoperability(「CSI」)アーキテクチャも、プリンシパルの信用証明の交換におけるセキュリティのための手段を提供するものである。(SAMLのバージョンは、インターネット上のhttp://www.oasis-open.org/committees/security/docs/draft-sstc-saml-spec-00.PDFで見つけることのできる2001年4月11日付のOASISドラフトに定義されている。GSS−APIは、2000年1月付のRFC 2743「Generic Security Service Application Program Interface, Version 2, Update 1」に定義されている。CSIは、インターネット上のhttp://www.omg.org/cgi-bin/doc?ptc/2001-03-02で入手可能な「Common Secure Interoperability V2 Specification」に定義されている。)
ブロック600で取得された入力情報を使用してブロック610で生成されるトークンは、好ましくは集約サービスの様々なサブ・サービスに対してその後ユーザを識別させるのに使用することのできる、このユーザの代理として働くという点で、本明細書では「一般」認証トークンと呼ばれる。(言い換えれば、このトークンはどのような1つのサブ・サービスまたは動作に特有なものでもないことが望ましい。)
ブロック620のテストは、このユーザが(依然として)グローバルに(すなわち、集約サービスに関して)認証されているかどうかをチェックするものである。好ましい実施形態では、いったんユーザが認証されると、その人の信用証明が残りのフローに関する要求(すなわち、集約サービスに従った呼出し)に関連付けられる。しかし、図12の論理は、たとえばフロー・モデルに指定された動作シーケンス中にログ・オフする可能性のあるユーザを反映するために、ブロック620でテストを複数回実行するように設計されている。テストの結果が否定的である場合、このユーザは集約サービスの操作を続行することができず、好ましくは障害コードが戻された(ブロック640)後、図12のプロセスが終了する。テストの結果が肯定的である場合、プロセスはブロック630で続行され、(すなわち、WSFLフロー・モデルに従って決定される、次に実行されることになるサービスについて)このユーザが確実にローカルであるかどうかがテストされる。このテストの結果が否定的である場合、制御はブロック640に移り、そうでない場合、制御はブロック670に移る。
ブロック625では、次に実行されることになる動作に関するスタックされたアイデンティティ情報が取り出される。この取り出された情報がこの次の動作の認証サービスに渡され、このサービスがこのアイデンティティ情報を使用して動作特有のトークンを生成する(または取り出す)。
ブロック660では、動作特有のトークンが、(図13および図14を参照しながら述べたように)SOAPヘッダを使用して呼出し側に戻される。(図7から図9の応答メッセージには認証トークンを戻すことが示されていないが、所望であればこうしたトークンを追加することができることに留意されたい。)次にブロック670は、受け取った動作特有のトークンを使用して、ユーザの動作特有の許可を決定する。(ユーザは、特定クラスの動作に関する信用証明を決定するいくつかの役割を有することができる。一例として、マネージャである人物が、マネージャとしての自分の役割を果たしているときには自分の従業員の人事記録を閲覧することができるが、従業員としての自分の役割を果たしているときには、自分自身の人事記録を見るために同じ操作を使用することはできないものとすることがある。)ブロック670の許可呼出しは、好ましくは、ブロック660で受け取った動作特有のトークンを渡すためにSOAPヘッダも使用する。許可動作の結果が、集約サービスで次に実行されることになる動作についてユーザが許可されていることを示す場合、処理はブロック680に進む。(そうでない場合、エラーが生成されること、および/またはフローが異なる動作に進むことがある。特定の処理は実施によって異なることがあるため、図12には示されていない。通常の当業者の1人であれば、どのようにして図12に適切な論理を追加できるかが明らかになろう。)
ブロック680は、シーケンスの次の動作を呼び出す。この呼出しも、ユーザの信用証明が必要であれば、ブロック660で受け取った動作特有のトークンを渡すためにSOAPヘッダを使用することができる。(許可トークンがブロック670の処理の結果として受け取られる場合、ブロック650からのトークンに加えて、あるいはこのトークンの代わりに、その許可トークンを渡すことができる。)当該動作が完了した後、ブロック690が、このシーケンスにその他の動作があるかどうかをチェックする。動作がなければ、図12の処理は終了する。そうでなければ、制御がブロック620に戻り、依然として集約サービスについてユーザが認証されているかどうかを判別する(上記で論じたように、その後、ブロック630で、次のサービスについてユーザが認証されているかどうかを判別することになる)。
これまで例証してきたように、本発明は、集約されたウェブ・サービスを提供するための有利な技法を提供するものである。好ましくは、SOAPヘッダを使用してアイデンティティ情報がリレーされる。開示された技法は、ウェブ・サービスの動的な実行時統合環境において、異種のアイデンティティ・システムを接合できるようにするものである。公開標準が活用される。好ましい実施形態について説明する際に、特定の標準(WSFLおよびSOAPなど)について参照してきたが、これは本発明の発明上の概念を例示するためのものである。本発明の範囲を逸脱することなく、類似の機能を提供するための代替手段を使用することができる。
当業者の1人であれば理解することになるように、本発明の実施形態は、方法、システム、またはコンピュータ・プログラムとして提供することができる。したがって本発明は、全体としてハードウェアの実施形態、全体としてソフトウェアの実施形態、または、ソフトウェア面とハードウェア面を組み合わせた実施形態の形を取ることができる。さらに本発明は、そこで実施されるコンピュータ使用可能プログラム・コードを有する、1つまたは複数のコンピュータ使用可能記憶媒体(ディスク・ストレージ、CD−ROM、光ストレージ、およびその他を含むが、これらに限定されることはない)上で実施される、コンピュータ・プログラムの形を取ることができる。
以上、本発明について、本発明の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラムの、フロー図および/またはブロック図を参照しながら説明してきた。フロー図および/またはブロック図のそれぞれのフローおよび/またはブロック、ならびに、フロー図および/またはブロック図中のフローおよび/またはブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができる。マシンを製造するためにこれらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途向けコンピュータ、埋め込み型プロセッサ、または他のプログラム可能データ処理装置のプロセッサに提供し、その結果、当該コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される当該命令が、フロー図の1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロック、において、指定された機能を実施するための手段を作成することになる。
コンピュータまたは他のプログラム可能データ処理装置に対して特定の方法で機能するように指示することの可能なこれらのコンピュータ・プログラム命令を、コンピュータ読取り可能メモリに格納することも可能であり、その結果、コンピュータ読取り可能メモリに格納された命令が、フロー図の1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロック、において指定された機能を実施する命令手段を含む製品を形成することになる。
コンピュータ・プログラム命令を、コンピュータまたは他のプログラム可能データ処理装置上にロードし、コンピュータまたは他のプログラム可能装置上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することも可能であり、その結果、コンピュータまたは他のプログラム可能装置上で実行する命令が、フロー図の1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロックにおいて、指定された機能を実施するためのステップを提供することになる。
以上、本発明の好ましい実施形態について説明してきたが、いったん当業者が基本的な発明の概念を習得すれば、これらの実施形態における追加の変形および修正が可能であろう。したがって、添付の特許請求の範囲は、好ましい実施形態と、本発明の範囲内にあるすべてのこうした変形および修正との両方を含むものと解釈されるものとする。
従来技術に従ってサービス指向アーキテクチャの参加者および基本的動作を示す図である。 関連発明の好ましい実施形態に従ってウェブ・サービス・プロキシとして構成されたポートレットを示すブロック図である。 関連発明の好ましい実施形態に従って展開インターフェースを指定する、サンプルWSDL文書のコンテンツを示す図である。 関連発明の好ましい実施形態に従ってシステム・インターフェースを指定する、サンプルWSDL文書のコンテンツを示す図である。 関連発明の好ましい実施形態に従ってシステム・インターフェースを指定する、サンプルWSDL文書のコンテンツを示す図である。 関連発明に開示された、サービス集約のためのウェブ・サービスのスタック方式を示す図である。 本発明の好ましい実施形態に従ってプロビジョニング・サービス・インターフェースを記述する、WSDL文書の断片を示す図である。 本発明の好ましい実施形態に従ってプロビジョニング・サービス・インターフェースを記述する、WSDL文書の断片を示す図である。 本発明の好ましい実施形態に従ってプロビジョニング・サービス・インターフェースを記述する、WSDL文書の断片を示す図である。 本発明の好ましい実施形態に従ってプロビジョニング・サービス・インターフェースを記述する、WSDL文書の断片を示す図である。 本発明の好ましい実施形態に従ってプロビジョニング・サービス・インターフェースを記述する、WSDL文書の断片を示す図である。 本発明の好ましい実施形態を実施するために使用可能な論理を示すフロー図である。 従来技術に従ってヘッダにデジタル署名が記載された、SOAPエンベロープの例を示す図である。 従来技術に従ってヘッダにデジタル署名が記載された、SOAPエンベロープの例を示す図である。
符号の説明
100 サービス・プロバイダ
120 サービス・ブローカ
150 サービス要求者
200 ポータル・プラットフォーム
210 展開インターフェース
220 システム・インターフェース
230 機能インターフェース
240 ポートレット・プロキシ
250 ソフトウェア・リソース
400 ウェブ・サービス・スタック
410 サービス・フロー
420 サービス発見
430 サービス発行
440 サービス記述
450 XMLベースのメッセージング
470 ネットワーク・サポート

Claims (2)

  1. 集約サービスを行う複数のサービス・プロバイダ・コンピュータと、前記集約サービスに係るレジストリを維持するサービス・ブローカ・コンピュータと、前記レジストリを参照して所望の集約サービスに対するサービス・プロバイダ・コンピュータにバインドするサービス要求者・コンピュータと、が相互に接続されたコンピューティング・ネットワークで用いられ、
    前記サービス・ブローカ・コンピュータが、
    前記サービス・プロバイダ・コンピュータによって発行されたプロビジョニング・インターフェースであって、前記サービス・プロバイダ・コンピュータによって提供される動作について、当該動作を呼び出すために使用されるメッセージおよびパラメータを定義するプロビジョニング・インターフェースを前記レジストリに登録するステップと、
    前記レジストリに登録された前記プロビジョニング・インターフェースから前記集約サービスを提供する前記プロビジョニング・インターフェースを選択し、選択した前記プロビジョニング・インターフェースを使用する動作を順番に定義して、前記集約サービスの前記プロビジョニング・インターフェースを作成するステップと、
    作成した前記集約サービスの前記プロビジョニング・インターフェースを前記レジストリに登録し、前記集約サービスを提供するステップと、
    前記サービス要求者・コンピュータが、
    前記サービス・ブローカ・コンピュータによって提供された前記集約サービスの内から一の集約サービスを選択し、選択した前記集約サービスの前記プロビジョニング・インターフェースを使用して動作を実行する、前記複数の前記サービス・プロバイダ・コンピュータうち一の前記サービス・プロバイダ・コンピュータにバインドするステップと、
    バインドされた前記サービス・プロバイダ・コンピュータが、
    前記サービス要求者・コンピュータから取得したユーザのログイン情報をスタックするステップと、
    前記集約サービスの前記プロビジョニング・インターフェースを使用して、スタックされた前記ログイン情報に関する情報を有するプロビジョニング・システムを見つける動作を呼び出すステップと、
    呼び出した動作が戻したプロビジョニング・システム識別子を受け取り、受け取った前記プロビジョニング・システム識別子によって信用証明を生成する動作を呼び出し、呼び出した動作が生成した前記信用証明を受け取るステップと、
    受け取った前記信用証明を、前記集約サービスの前記プロビジョニング・インターフェースに定義された順番に基づいて後続の動作を呼び出すためのメッセージおよびパラメータに使用するステップと、
    を実行する方法。
  2. 集約サービスを行う複数のサービス・プロバイダ・コンピュータと、前記集約サービスに係るレジストリを維持するサービス・ブローカ・コンピュータと、前記レジストリを参照して所望の集約サービスに対するサービス・プロバイダ・コンピュータにバインドするサービス要求者・コンピュータと、が相互に接続されたコンピューティング・ネットワークにおいて、
    前記サービス・ブローカ・コンピュータが、
    前記サービス・プロバイダ・コンピュータによって発行されたプロビジョニング・インターフェースであって、前記サービス・プロバイダ・コンピュータによって提供される動作について、当該動作を呼び出すために使用されるメッセージおよびパラメータを定義するプロビジョニング・インターフェースを前記レジストリに登録する手段と、
    前記レジストリに登録された前記プロビジョニング・インターフェースから前記集約サービスを提供する前記プロビジョニング・インターフェースを選択し、選択した前記プロビジョニング・インターフェースを使用する動作を順番に定義して、前記集約サービスの前記プロビジョニング・インターフェースを作成する手段と、
    作成した前記集約サービスの前記プロビジョニング・インターフェースを前記レジストリに登録し、前記集約サービスを提供する手段と、
    前記サービス要求者・コンピュータが、
    前記サービス・ブローカ・コンピュータによって提供された前記集約サービスの内から一の集約サービスを選択し、選択した前記集約サービスの前記プロビジョニング・インターフェースを使用して動作を実行する、前記複数の前記サービス・プロバイダ・コンピュータうち一の前記サービス・プロバイダ・コンピュータにバインドする手段と、
    バインドされた前記サービス・プロバイダ・コンピュータが、
    前記サービス要求者・コンピュータから取得したユーザのログイン情報をスタックする手段と、
    前記集約サービスの前記プロビジョニング・インターフェースを使用して、スタックされた前記ログイン情報に関する情報を有するプロビジョニング・システムを見つける動作を呼び出す手段と、
    呼び出した動作が戻したプロビジョニング・システム識別子を受け取り、受け取った前記プロビジョニング・システム識別子によって信用証明を生成する動作を呼び出し、呼び出した動作が生成した前記信用証明を受け取る手段と、
    受け取った前記信用証明を、前記集約サービスの前記プロビジョニング・インターフェースに定義された順番に基づいて後続の動作を呼び出すためのメッセージおよびパラメータに使用する手段と、
    を有するシステム。
JP2003560738A 2002-01-15 2002-12-11 分散コンピューティング環境における集約サービスの供給 Expired - Lifetime JP4594621B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/047,811 US7603469B2 (en) 2002-01-15 2002-01-15 Provisioning aggregated services in a distributed computing environment
PCT/GB2002/005626 WO2003060710A2 (en) 2002-01-15 2002-12-11 Provisioning aggregated services in a distributed computing environment

Publications (2)

Publication Number Publication Date
JP2005515540A JP2005515540A (ja) 2005-05-26
JP4594621B2 true JP4594621B2 (ja) 2010-12-08

Family

ID=21951105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003560738A Expired - Lifetime JP4594621B2 (ja) 2002-01-15 2002-12-11 分散コンピューティング環境における集約サービスの供給

Country Status (11)

Country Link
US (1) US7603469B2 (ja)
EP (1) EP1483671B1 (ja)
JP (1) JP4594621B2 (ja)
KR (1) KR100600959B1 (ja)
CN (1) CN1291318C (ja)
AT (1) ATE353453T1 (ja)
AU (1) AU2002347391A1 (ja)
DE (1) DE60218069T2 (ja)
ES (1) ES2278066T3 (ja)
IL (1) IL162438A0 (ja)
WO (1) WO2003060710A2 (ja)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035944B2 (en) * 2001-09-19 2006-04-25 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US7343428B2 (en) * 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7747856B2 (en) * 2002-07-26 2010-06-29 Computer Associates Think, Inc. Session ticket authentication scheme
US7266582B2 (en) * 2002-08-09 2007-09-04 Sun Microsystems, Inc. Method and system for automating generation of web services from existing service components
US7512975B2 (en) * 2002-08-16 2009-03-31 Intel Corporation Hardware-assisted credential validation
US20040064528A1 (en) * 2002-09-30 2004-04-01 Microsoft Corporation Safe interoperability among web services
CA2405673C (en) * 2002-09-30 2009-10-06 Ibm Canada Limited-Ibm Canada Limitee Provisioning web services
US8356067B2 (en) * 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates
US7178163B2 (en) * 2002-11-12 2007-02-13 Microsoft Corporation Cross platform network authentication and authorization model
SE0300368D0 (sv) * 2003-02-11 2003-02-11 Ericsson Telefon Ab L M System for internet privacy
US20040225656A1 (en) * 2003-05-07 2004-11-11 Panacea Corporation Web services method and system
EP2280524A3 (en) 2003-06-05 2012-08-08 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US7490127B2 (en) * 2003-06-13 2009-02-10 Microsoft Corporation Concurrent recipient resolution and certificate acquisition
US6959325B2 (en) * 2003-08-11 2005-10-25 Teamon Systems, Inc. System and method for generating configurations used for accessing electronic mailboxes
US7539974B2 (en) * 2003-10-24 2009-05-26 Microsoft Corporation Scalable synchronous and asynchronous processing of monitoring rules
US7506307B2 (en) * 2003-10-24 2009-03-17 Microsoft Corporation Rules definition language
US7676560B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Using URI's to identify multiple instances with a common schema
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7805713B2 (en) * 2003-10-27 2010-09-28 Hewlett-Packard Development Company, L.P. Transaction processing architecture
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
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
AU2004300300A1 (en) * 2003-12-12 2005-06-30 International Business Machines Corporation Port type agnostic proxy support for web services intermediaries
US7464142B2 (en) 2003-12-12 2008-12-09 International Business Machines Corporation Port type agnostic proxy support for web services intermediates
US7676562B2 (en) * 2004-01-20 2010-03-09 Microsoft Corporation Computer system for accessing instrumentation information
DE102004004345A1 (de) * 2004-01-29 2005-08-18 Abb Research Ltd. System und Verfahren zur Kommunikation zwischen entfernten Objekten und lokalen Stellvertretern
EP1730634A4 (en) * 2004-01-30 2009-09-16 Ibm AUTOMATIC CREATION AND MANAGEMENT IN THE FORM OF COMPONENTS OF COMPUTER ENVIRONMENTS FOR COMPUTER UTILITIES
JP4873852B2 (ja) * 2004-02-26 2012-02-08 株式会社リコー 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体
US8862570B1 (en) 2004-03-02 2014-10-14 Rockstar Consortium Us Lp Method and apparatus for open management of multi-media services
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US7467399B2 (en) * 2004-03-31 2008-12-16 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US20050228984A1 (en) * 2004-04-07 2005-10-13 Microsoft Corporation Web service gateway filtering
US8010783B1 (en) 2004-04-15 2011-08-30 Aol Inc. Service provider invocation
US9088561B2 (en) * 2004-05-19 2015-07-21 Ca, Inc. Method and system for authentication in a computer network
US20060041669A1 (en) * 2004-05-19 2006-02-23 Lucent Technologies, Inc. Securing web services
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US8566461B1 (en) * 2004-06-09 2013-10-22 Digital River, Inc. Managed access to media services
US20050283352A1 (en) * 2004-06-18 2005-12-22 Dieter Roller Evaluation of process expressions on the basis of deployment information
DE602004015761D1 (de) * 2004-06-29 2008-09-25 Sap Ag Rechnersystem und Datenverarbeitungsverfahren zum Gebrauch eines Webdienstes
US7739695B2 (en) * 2004-07-19 2010-06-15 Sap Ag Computer implemented method and system for running a plurality of business processes
CN101789951B (zh) * 2004-09-06 2011-12-28 佳能株式会社 信息处理装置及信息处理方法
US20060069995A1 (en) * 2004-09-30 2006-03-30 British Telecommunications Public Limited Company Personalised process automation
US7483994B1 (en) 2004-11-01 2009-01-27 Ameriprise Financial, Inc. System and method for creating a standard envelope structure
US7613830B2 (en) * 2004-12-10 2009-11-03 Microsoft Corporation Reliably transferring queued application messages
US20060136242A1 (en) * 2004-12-21 2006-06-22 International Business Machines Corporation Documents between services exchange and visualization of negotiation
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US7983209B2 (en) * 2005-04-18 2011-07-19 Research In Motion Limited System and method for producing notification based web services
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US20060248082A1 (en) * 2005-04-29 2006-11-02 Amit Raikar Method and an apparatus for securely communicating between a management server and a managed node associated with a dynamic provisioning system
US8464317B2 (en) * 2005-05-06 2013-06-11 International Business Machines Corporation Method and system for creating a protected object namespace from a WSDL resource description
US8566462B2 (en) * 2005-05-12 2013-10-22 Digital River, Inc. Methods of controlling access to network content referenced within structured documents
US20060294383A1 (en) * 2005-06-28 2006-12-28 Paula Austel Secure data communications in web services
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
CN100401259C (zh) * 2005-08-15 2008-07-09 中兴通讯股份有限公司 一种分布式服务系统的服务提供方法
CN100454833C (zh) * 2005-08-19 2009-01-21 华为技术有限公司 一种识别网管接口参数的方法
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
EP2124164A3 (en) 2005-10-18 2010-04-07 Intertrust Technologies Corporation Digital rights management engine system and method
CN100444148C (zh) * 2005-12-08 2008-12-17 北京北方微电子基地设备工艺研究中心有限责任公司 基于Web服务的工厂主机与集群控制器系统的控制方法
US8230487B2 (en) 2005-12-21 2012-07-24 International Business Machines Corporation Method and system for controlling access to a secondary system
JP5483884B2 (ja) * 2006-01-17 2014-05-07 キダロ (イスラエル) リミテッド 複数のコンピューティング環境のシームレスな統合
EP1818820A1 (en) * 2006-02-03 2007-08-15 Research In Motion Limited System and method for installing custom services on a component-based application platform
US20070220035A1 (en) * 2006-03-17 2007-09-20 Filip Misovski Generating user interface using metadata
US7698251B2 (en) * 2006-04-27 2010-04-13 International Business Machines Corporation Fault tolerant facility for the aggregation of data from multiple processing units
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US9386327B2 (en) 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
US9830145B2 (en) 2006-08-14 2017-11-28 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure and middleware provisioning
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US20080147835A1 (en) * 2006-12-19 2008-06-19 Sunil Chandra Partially decentralized composition of web services
US20080178010A1 (en) * 2007-01-18 2008-07-24 Vaterlaus Robert K Cryptographic web service
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US8863102B2 (en) * 2007-04-02 2014-10-14 International Business Machines Corporation Method and system for assembling information processing applications based on declarative semantic specifications
US8166465B2 (en) * 2007-04-02 2012-04-24 International Business Machines Corporation Method and system for composing stream processing applications according to a semantic description of a processing goal
US8307372B2 (en) * 2007-04-02 2012-11-06 International Business Machines Corporation Method for declarative semantic expression of user intent to enable goal-driven information processing
US8370812B2 (en) * 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8098248B2 (en) * 2007-04-02 2012-01-17 International Business Machines Corporation Method for semantic modeling of stream processing components to enable automatic application composition
US8656472B2 (en) 2007-04-20 2014-02-18 Microsoft Corporation Request-specific authentication for accessing web service resources
US8117233B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Method and system for message-oriented semantic web service composition based on artificial intelligence planning
US8528058B2 (en) 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US7991877B2 (en) * 2007-10-05 2011-08-02 International Business Machines Corporation Rogue router hunter
CN101488843A (zh) * 2008-01-16 2009-07-22 北京航空航天大学 一种基于冗余机制的高可用服务组合实现方法
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
US8364788B2 (en) * 2008-03-13 2013-01-29 Hewlett-Packard Development Company, L.P. Processing client requests for common services according to one or more canonical forms
US8601253B2 (en) * 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US8893242B2 (en) * 2008-04-29 2014-11-18 Ebay Inc. System and method for pool-based identity generation and use for service access
CN101304410A (zh) * 2008-06-05 2008-11-12 郭丰亮 分布式web的智能信息平台
US8782065B2 (en) * 2008-06-06 2014-07-15 Microsoft Corporation Interfacing an application to data sources via a web service interface
CN101616136B (zh) * 2008-06-26 2013-05-01 阿里巴巴集团控股有限公司 一种提供互联网服务的方法及服务集成平台系统
US9357247B2 (en) 2008-11-24 2016-05-31 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US8555407B2 (en) * 2009-10-09 2013-10-08 Lockheed Martin Corporation On demand visibility services and smart directory
US8396055B2 (en) 2009-10-20 2013-03-12 Time Warner Cable Inc. Methods and apparatus for enabling media functionality in a content-based network
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US9519728B2 (en) 2009-12-04 2016-12-13 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and optimizing delivery of content in a network
US9342661B2 (en) 2010-03-02 2016-05-17 Time Warner Cable Enterprises Llc Apparatus and methods for rights-managed content and data delivery
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
CN102546322A (zh) * 2010-12-31 2012-07-04 青岛海尔软件有限公司 数字家庭的Web服务系统
US20120239727A1 (en) * 2011-03-16 2012-09-20 Kddi Corporation Multimedia service network and method for providing the same
JP6047553B2 (ja) 2011-04-11 2016-12-21 インタートラスト テクノロジーズ コーポレイション 情報セキュリティのためのシステムと方法
CN103220259B (zh) 2012-01-20 2016-06-08 华为技术有限公司 Oauth API的使用、调用方法、设备及系统
US9401904B1 (en) * 2012-03-15 2016-07-26 Motio, Inc. Security migration in a business intelligence environment
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US20140082645A1 (en) 2012-09-14 2014-03-20 Peter Stern Apparatus and methods for providing enhanced or interactive features
JP6066647B2 (ja) * 2012-09-27 2017-01-25 キヤノン株式会社 デバイス装置、その制御方法、およびそのプログラム
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
CN103391294A (zh) * 2013-07-24 2013-11-13 佳都新太科技股份有限公司 一种基于服务描述的远程方法调用
CN103970214B (zh) * 2014-05-19 2018-05-04 浪潮电子信息产业股份有限公司 一种异构加速刀片式计算机系统架构
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US11088807B2 (en) * 2014-05-30 2021-08-10 Apple Inc. Application-level acknowledgements
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10574750B2 (en) * 2015-04-27 2020-02-25 Microsoft Technology Licensing, Llc Aggregation and federation of distributed service entities and associations
US9225711B1 (en) * 2015-05-14 2015-12-29 Fmr Llc Transferring an authenticated session between security contexts
US10404758B2 (en) 2016-02-26 2019-09-03 Time Warner Cable Enterprises Llc Apparatus and methods for centralized message exchange in a user premises device
US10657478B2 (en) 2016-09-11 2020-05-19 Bank Of America Corporation Aggregated entity resource tool
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
US10984078B2 (en) * 2018-07-16 2021-04-20 Vmware, Inc. Systems and methods for improved authentication
US11196837B2 (en) 2019-03-29 2021-12-07 Intel Corporation Technologies for multi-tier prefetching in a context-aware edge gateway
US11711268B2 (en) 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment
US11283635B2 (en) 2019-09-28 2022-03-22 Intel Corporation Dynamic sharing in secure memory environments using edge service sidecars
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US59526A (en) * 1866-11-06 Improvement in carriages
US184070A (en) * 1876-11-07 Improvement in gage-cocks
US34771A (en) * 1862-03-25 parmenter
US142760A (en) * 1873-09-16 Improvement in alloys to resemble silver
US111848A (en) * 1871-02-14 jackson
US7976A (en) * 1851-03-11 Action
US4667882A (en) 1981-10-15 1987-05-26 West Point Pepperell, Inc. Device for applying foam to textiles
DE3582232D1 (de) 1984-12-28 1991-04-25 Mackie Donald E Geraet zum spielen eines spiels.
US5715453A (en) 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5991535A (en) 1996-07-03 1999-11-23 Sun Microsystems, Inc. Visual composition tool for constructing application programs using distributed objects on a distributed object network
JP3410324B2 (ja) 1997-04-30 2003-05-26 日本電信電話株式会社 オーダエントリ情報変換装置およびオーダエントリシステム
US5884317A (en) 1997-08-20 1999-03-16 Bea Systems, Inc. Service interface repository
CA2273179A1 (en) 1997-09-22 1999-04-01 Hughes Electronics Corporation Broadcast delivery newsgroup of information to a personal computer for local storage and access
WO1999050756A1 (en) 1998-03-27 1999-10-07 Infoimage Incorporated Methods and apparatus for network applications using object tools
US6564251B2 (en) 1998-12-03 2003-05-13 Microsoft Corporation Scalable computing system for presenting customized aggregation of information
US6738964B1 (en) 1999-03-11 2004-05-18 Texas Instruments Incorporated Graphical development system and method
US6560633B1 (en) * 1999-06-10 2003-05-06 Bow Street Software, Inc. Method for creating network services by transforming an XML runtime model in response to an iterative input process
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6516349B1 (en) 1999-09-07 2003-02-04 Sun Microsystems, Inc. System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services
US6839680B1 (en) * 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US7441232B2 (en) 1999-11-08 2008-10-21 British Telecommunications Public Limited Company Task management
US6851088B1 (en) 1999-12-07 2005-02-01 International Business Machines Corporation Conditional highlighting of given cells in a dynamic HTML table
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
JP3711866B2 (ja) 2000-04-10 2005-11-02 日本電気株式会社 プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
US6857008B1 (en) 2000-04-19 2005-02-15 Cisco Technology, Inc. Arrangement for accessing an IP-based messaging server by telephone for management of stored messages
WO2001086486A2 (en) 2000-05-09 2001-11-15 Sun Microsystems, Inc. Method and apparatus for proximity discovery of services
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
WO2002015515A2 (en) * 2000-08-11 2002-02-21 Manugistics, Inc. System and method for integrating disparate networks for use in electronic communication and commerce
FR2813471B1 (fr) 2000-08-31 2002-12-20 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap
AU2001292692A1 (en) 2000-09-15 2002-03-26 Wonderware Corporation A method and system for administering a concurrent user licensing agreement on amanufacturing/process control information portal server
US20020065946A1 (en) 2000-10-17 2002-05-30 Shankar Narayan Synchronized computing with internet widgets
US6681221B1 (en) 2000-10-18 2004-01-20 Docent, Inc. Method and system for achieving directed acyclic graph (DAG) representations of data in XML
US6829630B1 (en) 2000-11-24 2004-12-07 Xerox Corporation Mechanisms for web-object event/state-driven communication between networked devices
US20020111848A1 (en) 2001-02-12 2002-08-15 White Craig R. Aggregation of services on network portals
US7283811B2 (en) 2001-02-23 2007-10-16 Lucent Technologies Inc. System and method for aggregation of user applications for limited-resource devices
US7236939B2 (en) 2001-03-31 2007-06-26 Hewlett-Packard Development Company, L.P. Peer-to-peer inter-enterprise collaborative process management method and system
US20020158899A1 (en) 2001-04-30 2002-10-31 Robert Raymond Portal system and method for managing resources in a networked computing environment
US20020198973A1 (en) 2001-04-30 2002-12-26 Besaw Lawrence M. System for dynamic customer filtering of management information presented through a web-based portal
US20030005090A1 (en) * 2001-06-30 2003-01-02 Sullivan Robert R. System and method for integrating network services
US6920461B2 (en) 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform

Also Published As

Publication number Publication date
EP1483671B1 (en) 2007-02-07
EP1483671A2 (en) 2004-12-08
ATE353453T1 (de) 2007-02-15
KR100600959B1 (ko) 2006-07-13
US20030135628A1 (en) 2003-07-17
DE60218069T2 (de) 2007-08-09
WO2003060710A3 (en) 2004-05-06
ES2278066T3 (es) 2007-08-01
JP2005515540A (ja) 2005-05-26
WO2003060710A2 (en) 2003-07-24
DE60218069D1 (de) 2007-03-22
AU2002347391A1 (en) 2003-07-30
AU2002347391A8 (en) 2003-07-30
CN1291318C (zh) 2006-12-20
KR20040068106A (ko) 2004-07-30
CN1608248A (zh) 2005-04-20
US7603469B2 (en) 2009-10-13
IL162438A0 (en) 2005-11-20

Similar Documents

Publication Publication Date Title
JP4594621B2 (ja) 分散コンピューティング環境における集約サービスの供給
Kreger Web services conceptual architecture (WSCA 1.0)
US20030163513A1 (en) Providing role-based views from business web portals
US6985939B2 (en) Building distributed software services as aggregations of other services
US7937500B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US7346923B2 (en) Federated identity management within a distributed portal server
US7035944B2 (en) Programmatic management of software resources in a content framework environment
US20020116454A1 (en) System and method for providing communication among legacy systems using web objects for legacy functions
JP2004504657A (ja) 分散コンピューティング環境でのセキュア・メッセージングを用いるリモート・メソッド・コール
JP2004501428A (ja) サービスの近接発見の方法および装置
Myerson The complete book of middleware
WO2007109235A2 (en) Inter domain services manager
Mukhi et al. Cooperative middleware specialization for service oriented architectures
US8499031B1 (en) Markup language messaging service for secure access by edge applications
JP2004515833A (ja) データ表現言語メッセージベースの分散コンピューティング環境と他の環境との間のブリッジング
Jayakumar et al. Suitable QoS parameters survey for standard web services & web applications to understand their cloud deployability
Pennington Introduction to web services
Credle et al. Implementing IBM CICS JSON Web Services for Mobile Applications
Hillenbrand et al. Web services and peer-to-peer
Paul et al. CRUD and REST APIs–Pillars of Efficient Data Exchange
Burnett et al. Application Development for IBM CICS Web Services
Pather A framework for promoting interoperability in a global electronic market-space
Zhang et al. Domain-specific web services for scientific application developers
JIN et al. An effective approach beneficial to the sustainable development-the global supply chain based on web services
Wahli et al. WebSphere Version 4

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071218

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100917

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

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4594621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term