JP2002196932A - サービス・ゲートウェイのための拡張可能な提供機構 - Google Patents

サービス・ゲートウェイのための拡張可能な提供機構

Info

Publication number
JP2002196932A
JP2002196932A JP2001316466A JP2001316466A JP2002196932A JP 2002196932 A JP2002196932 A JP 2002196932A JP 2001316466 A JP2001316466 A JP 2001316466A JP 2001316466 A JP2001316466 A JP 2001316466A JP 2002196932 A JP2002196932 A JP 2002196932A
Authority
JP
Japan
Prior art keywords
service
gateway
module
service module
external source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001316466A
Other languages
English (en)
Inventor
Pierre Delisle
ピエール・デリル
Serge Andre Rigori
セルジュ・アンドレ・リゴリ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002196932A publication Critical patent/JP2002196932A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 少なくとも1つのローカル・クライアントを
外部ネットワークに接続するサービス・ゲートウェイを
提供すること。 【解決手段】 サービス・ゲートウェイは、いくつかの
機能を提供する制御機構を備える。この制御機構は、サ
ービス・ゲートウェイにないサービス・モジュールによ
って提供されるサービスを求める要求に応答して、ゲー
トウェイにサービス・モジュールがないことを解決する
ために、不足のサービス・モジュールを解決できるよう
にするサービス・モジュールであってゲートウェイが保
持するサービス・モジュールを含む情報を外部ソースか
らの応答が識別するまで1回または複数回の反復でメッ
セージを送るように動作可能である。従って、サービス
・ゲートウェイは、必要なソフトウェアおよび/または
データがサービス・ゲートウェイで元のサービス要求を
満たすために利用可能になるまで、他のサービスを繰り
返し探すための反復的または帰納的プロセスを提供する
ように構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部ネットワーク
(例えばインターネット)を内部ネットワークに接続す
るサービス・ゲートウェイにおけるサービスの提供に関
する。サービス・ゲートウェイは、ローカル・クライア
ント・システムおよびローカル・クライアント・デバイ
スをサポートするためにローカル・クライアントにサー
ビスを提供する。サービス・ゲートウェイは、ネットワ
ーク接続されたコンピュータ・システムまたはサーバ・
コンピュータ、ルータ、セットトップ・ボックス、電源
メータなどに実装することができる。
【0002】
【従来の技術】ローカル・クライアントは、ローカル環
境内で接続されたいくつかのデバイスを含むことができ
る。ローカル環境は、例えば家庭、作業空間、工場、農
場、乗り物などとすることができる。技術の進歩に伴
い、これらのデバイスがサービス・プロバイダによって
ネットワーク・リンクを介してサポートされる可能性が
ますます高まっている。このサポートを提供するため
に、ソフトウェア・モジュール、プログラム、データな
どをローカル環境または家庭環境に提供することが必要
な場合がある。これは、これらのソフトウェア・モジュ
ール、プログラム、データなどを、ローカル環境と外部
ネットワークとの間のインタフェースを提供するサービ
ス・ゲートウェイに備えることによって対処することが
できる。
【0003】これに伴う困難は、異なるクライアント・
サイトに異なる構成および必要が存在することである。
通常、これらのサイトには異なる機器の組合せが存在す
ることになる。構成および必要はまた、例えば障害に応
答して診断機能を提供するためにソフトウェア・モジュ
ールの新しいバージョンが現れたときや、クライアント
・サイトのデバイスおよびその他のシステムが変更され
たときに、時と共に変化することにもなる。
【0004】
【発明が解決しようとする課題】このことに鑑みて、サ
ービス・ゲートウェイで新しいサービスを提供するため
にサービス・プロバイダ側またはクライアント側からく
る可能性のある要求に応答できることが必要である。し
たがって、サービス・ゲートウェイにサービスをロード
できるようにすることの可能な機構を提供することが課
題である。しかし現在、サービス・ゲートウェイを介し
てサービスを提供する仕方を開発者が容易に拡張および
変更することを可能にする機構を開発者が有しないの
で、このようなシステムの開発は阻まれている。本発明
は、このことに対処しようとするものである。
【0005】
【課題を解決するための手段】本発明の特定かつ好まし
い態様は、添付の独立クレームおよび従属クレームに述
べる。
【0006】一実施態様では、本発明は、少なくとも1
つのローカル・クライアントを外部ネットワークに接続
するためのサービス・ゲートウェイを用意する。サービ
ス・ゲートウェイは、対応するサービスを提供するため
の少なくとも1つのサービス・モジュールを保持するよ
うに動作可能である。サービス・ゲートウェイは、その
サービス・ゲートウェイにないサービス・モジュールに
よって提供されるサービスを求める要求に応答して、ゲ
ートウェイにサービス・モジュールがないことを解決す
るために外部ソースにメッセージを送るように動作可能
な制御機構を備える。この制御機構は、不足のサービス
・モジュールを解決できるようにするサービス・モジュ
ールであってゲートウェイが保持するサービス・モジュ
ールを含む情報を外部ソースからの応答が識別するま
で、1回または複数回の反復で外部ソースにメッセージ
を送るように動作可能である。
【0007】したがってサービス・ゲートウェイは、必
要なソフトウェアおよび/またはデータがサービス・ゲ
ートウェイで元のサービス要求を満たすために利用可能
になるまで別のサービスを繰り返し探すための反復的ま
たは帰納的プロセスを提供するように構成される。
【0008】サービス・ゲートウェイは、対応するサー
ビスを提供するための少なくとも1つのサービス・モジ
ュールを保持するように、かつ、サービス・ゲートウェ
イが保持する各サービス・モジュールへの関連ポインタ
によってそのサービス・モジュールを識別する記録を維
持するように動作可能とすることができる。
【0009】制御機構は、例えば次のような方式で動作
することができる。制御機構は、第1のサービス・モジ
ュールを識別する要求に反応して、第1のサービス・モ
ジュールがサービス・ゲートウェイによって保持されて
いるかどうかを識別するために記録にアクセスすること
ができる。第1のサービス・モジュールがサービス・ゲ
ートウェイによって保持されている場合には、関連する
ポインタを使用して、第1のサービス・モジュールが対
応サービスを提供するようにする。第1のサービス・モ
ジュールがサービス・ゲートウェイによって保持されて
いない場合には、第1のサービス・モジュールの識別を
含むメッセージを外部ソースに送ることにより、第1の
サービス・モジュールについて外部ソースに要求を行
う。制御機構はさらに、第2のサービス・モジュールを
識別する外部ソースからの応答に反応して、第2のサー
ビス・モジュールがサービス・ゲートウェイによって保
持されているかどうかを識別するために記録にアクセス
する。第2のサービス・モジュールがサービス・ゲート
ウェイによって保持されている場合には、関連するポイ
ンタを使用して、第2のサービス・モジュールが対応サ
ービスを提供するようにする。第2のサービス・モジュ
ールがサービス・ゲートウェイによって保持されていな
い場合には、第2のサービス・モジュールの識別を含む
メッセージを外部ソースに送ることによって外部ソース
にサポートを要求する。
【0010】制御機構はさらに、別のサービス・モジュ
ールを識別する外部ソースからの応答に反応して、その
別のサービス・モジュールがサービス・ゲートウェイに
よって保持されているかどうかを識別するために記録に
アクセスするように動作可能とすることができる。その
別のサービス・モジュールがサービス・ゲートウェイに
よって保持されている場合には、関連するポインタを使
用して、その別のサービス・モジュールが対応サービス
を提供するようにする。その別のサービス・モジュール
がサービス・ゲートウェイによって保持されていない場
合には、その別のサービス・モジュールの識別を含むメ
ッセージを外部ソースに送ることによって外部ソースに
サポートを要求する。このように、このプロセスは、別
のサービスがサービス・ゲートウェイによって本当に提
供されるまで反復的に動作可能とすることができる。
【0011】制御機構は、外部ソースからの連続した応
答を比較して、帰納的エラーを示す応答重複を識別する
ように動作可能とすることができる。これは例えば、サ
ービス記録中で調べられるサービス名を追跡することに
よってチェックすることができる。
【0012】制御機構は、外部ソースからの応答の中に
あるサービス・モジュールの識別および関連データに反
応して、識別されたサービス・モジュールがサービス・
ゲートウェイによって保持されていればそれによって処
理されるようにそのデータをサービス・モジュールに供
給するように構成することができる。
【0013】外部ソースは、ローカル・クライアントに
サービスを提供するためのサービス・プロバイダとする
ことができる。あるいは、サービス・ゲートウェイに機
能を提供するサービス・ゲートウェイ・オペレータとす
ることもできる。
【0014】本発明の別の態様は、少なくとも1つのロ
ーカル・クライアントを外部ネットワークに接続するた
めのサービス・ゲートウェイ・コンピュータ中で動作可
能なコンピュータ・コードを含むコンピュータ・プログ
ラムである。このプログラム・コードは、前述の制御機
構の機能を提供するように動作可能である。
【0015】コンピュータ・プログラムには、コンピュ
ータ・コードを搬送するための搬送媒体を含めることが
できる。搬送媒体は、例えば記憶媒体や伝送媒体とする
ことができる。
【0016】本発明の別の態様は、プロセッサおよびメ
モリを備えたサービス・ゲートウェイ・システムを提供
するが、このシステムは、前述のサービス・ゲートウェ
イを提供するように構成される。例えばこのシステム
は、先に定義したコンピュータ・プログラムを含むこと
ができる。
【0017】本発明の別の態様は、サービス・ゲートウ
ェイを介して少なくとも1つのローカル・クライアント
を外部ネットワークに接続する方法を提供する。この方
法は、対応するサービスを提供するために少なくとも1
つのサービス・モジュールをサービス・ゲートウェイ中
で保持するステップを含む。サービス・ゲートウェイに
ないサービス・モジュールによって提供されるサービス
を求める要求に応答して、サービス・モジュールがゲー
トウェイにないことを解決するために少なくとも1つの
メッセージが少なくとも1回の反復で外部ソースに送ら
れるが、これは、サービス・モジュールがないことを解
決できるようにするサービス・モジュールであって、ゲ
ートウェイが保持するサービス・モジュールを含む情報
を外部ソースからの応答が識別するまで送られる。
【0018】したがって本発明の一実施態様は、サービ
ス・ゲートウェイによってサービスされるクライアント
に対するサポートを得るための反復プロセスを提供し、
したがって、サービス・ゲートウェイによって提供され
るサービスをフレキシブルかつ拡張可能な方式で更新す
ることが可能である。
【0019】本発明の例示的な実施形態を、添付の図面
を参照しながら単なる例として以下に述べるが、図面で
は、同じ参照符号は同じ要素に関係する。
【0020】
【発明の実施の形態】本発明の例示的な実施形態を、添
付の図面を参照しながら以下に述べる。
【0021】図1は、本発明の例示的な実施形態の実装
の概略図である。
【0022】図1には、いくつかのステーションが接続
された外部ネットワーク環境(例えばインターネット)
10が示してある。図1に示すように、サービス・ゲー
トウェイ・ステーション12が接続14を介してインタ
ーネット10に接続され、ローカル環境または家庭環境
20へのインタフェースを提供している。図1に示すサ
ービス・ゲートウェイ・ステーション12は、ローカル
環境20内の2つのローカル・ネットワークをサポート
する。サービス・ゲートウェイ・ステーション12は、
接続16を介して第1のローカル・ネットワーク22
に、かつ接続18を介して第2のローカル・ネットワー
ク24に接続される。それぞれの場合に、いくつかのデ
バイスがローカル・ネットワーク22および24に接続
される。2つのローカル・ネットワークを設けること
は、図示のための単なる一例である。1つまたは複数の
ローカル・ネットワークを設けることができる。各ロー
カル・ネットワークは、ローカル・ネットワーク22/
24に接続された個々のデバイス26にサービスするた
めに、同じまたは異なるローカル・プロトコルをサポー
トすることができる。
【0023】この実施形態が関係する特定の例では、ロ
ーカル環境は、いくつかの家屋内デバイスをネットワー
クに接続しているかまたは接続可能な、家庭の家屋内環
境である。これらのデバイスには、コンピュータ・シス
テムやオーディオ・ビジュアル機器などの複合システ
ム、セキュリティ・システムや環境制御システムなどの
家屋内制御システム、および、白物家電(例えば冷蔵
庫、オーブン、その他の台所機器)など以前はネットワ
ーク可能でなかったすべての形のデバイスなどを含める
ことができる。
【0024】他の例では、ローカル環境は、仕事場、事
務所、工場、農場、乗り物、展示サイトなどのうちの1
つまたは複数を含むことができる。
【0025】サービス・ゲートウェイ・オペレータ・ス
テーション28が接続30を介してインターネット10
に接続され、かつ、任意選択で、点線31として示す別
の接続(例えば電話接続)でサービス・ゲートウェイに
直接に接続される。サービス・ゲートウェイ・オペレー
タ・ステーション28は通常、サービス・ゲートウェイ
・オペレータによって操作され、サービス・ゲートウェ
イ・オペレータは、サービス・ゲートウェイ・ステーシ
ョン12を制御するための情報を提供し、サービス・ゲ
ートウェイ・ステーション12の機能を定義するための
サービスを(例えばプログラム・モジュールとして)提
供する。
【0026】2つのサービス・プロバイダ・ステーショ
ン32および36もまた、それぞれの接続34および3
8でインターネット10に接続される。サービス・プロ
バイダ・ステーションは通常、ローカル環境内の個々の
デバイス26に関係するサービスのプロバイダが操作す
ることができる。例えば、あるサービス・プロバイダ
は、ローカル環境内のオーディオ/ビジュアル・デバイ
ス26の製造業者とすることができ、これらのデバイス
をサポートするサービスを提供することができる。別の
サービス・プロバイダは、ローカル環境20内のデバイ
ス26を形成する白物家電の製造業者とすることがで
き、これらの白物家電をサポートするサービスを提供す
ることができる。可能なサービスの例は、リモート診断
サービスや、デバイス・プログラミングまたは再プログ
ラミング・サービスなどである。
【0027】サービス・ゲートウェイ・オペレータ・ス
テーション28とサービス・プロバイダ・ステーション
32および36は、サービスをソフトウェア・モジュー
ルおよび/またはデータの形で保持して要求があり次第
インターネットを介して供給するのに適した任意のタイ
プの、別々のコンピュータ・システムとして構成するこ
とができる。サービス・ゲートウェイ・オペレータ・ス
テーションおよび/またはサービス・プロバイダ・ステ
ーションは、サービス・ゲートウェイ・オペレータおよ
び/またはサービス・プロバイダから提供されるそれぞ
れのウェブ・サイトによって実装することができ、かつ
/または第三者によってホストすることができる。した
がって、図1のサービス・ゲートウェイ・オペレータ・
ステーション28とサービス・プロバイダ・ステーショ
ン32および36の表現は、単に概念上の情報ソースと
して表現したものであり、実際にはどんな技術を用いて
実装してもよいことを理解されたい。1つのサービス・
ゲートウェイ・オペレータ28と2つのサービス・プロ
バイダ32および36を図示してあるが、実際には複数
のサービス・ゲートウェイ・オペレータ28があっても
よく、通常は、図1に示すサービス・プロバイダ・ステ
ーション32および36などのステーションをサポート
する多くのサービス・プロバイダがあることを理解され
たい。
【0028】サービス・ゲートウェイ・ステーション1
2は、スタンドアロン・コンピュータ、例えばパーソナ
ル・コンピュータや別の形のコンピュータ・ワークステ
ーション、またはサーバ・コンピュータとして実装する
ことができる。あるいは、他の任意のネットワーク可能
機器、例えばセットトップ・ボックスとして通常は記述
されるユニットによって実装することもできる。
【0029】図2は、そのようなセットトップ・ボック
ス40の概略図である。図2に示すように、セットトッ
プ・ボックス40は、表示パネル42と、キー・ボタン
44およびポインティング・デバイス46を含めた入力
デバイスと、スピーカ用のアウトレット48を備える。
図2のセットトップ・ボックスはまた、マイクロホンを
組み込むこともでき、ステレオ・スピーカを備えること
もでき、代替形の表示装置を備えることもでき、全く異
なる形式を有することもできる。図2には示していない
が、セットトップ・ボックス40の背面には通常、図1
に示した外部および内部ネットワークにセットトップ・
ボックスを接続できるようにするための適切なコネクタ
がいくつかある。
【0030】図3は、図2のセットトップ・ボックス4
0のコンポーネントの例示的な構成の概略図である。図
3に示すように、いくつかのコンポーネントがバス50
を介して接続されている。マイクロプロセッサまたはマ
イクロコントローラ52がバス50に接続されており、
これらは、同様にバス50に接続されたランダム・アク
セス・メモリおよび/または読出し専用メモリ54にア
クセスすることができる。メディア・インタフェース5
6が、メディア・ドライブ58をバス50に接続できる
ようにする。リモート・インタフェース60が、接続1
4を介してバス50を外部ネットワークに接続できるよ
うにする。第1および第2のローカル・インタフェース
62および64が、ローカル・ネットワーク16および
18への接続を可能にする。2つのローカル・インタフ
ェース62および64の表現は単なる例でしかなく、ロ
ーカル・インタフェースは1つだけでも複数あってもよ
いことを理解されたい。各ローカル・インタフェース
は、1つまたは複数のローカル・ネットワーク・プロト
コルをサポートするように構成される。ユーザ入力デバ
イス・インタフェース66が、キー44およびポインテ
ィング・デバイス46をバス50に接続している。表示
インタフェース68もまた、表示装置42をバス50に
接続している。オーディオ・インタフェース70が、ス
ピーカ48をバス50に接続し、任意選択でマイクロホ
ン72をバス50に接続する。
【0031】図3に示す構成は、図2に示したセットト
ップ・ボックス40内のハードウェア・コンポーネント
の構成の単なる一例でしかないことを理解されたい。ま
た、図3に示す多くの別々のユニットを単一の大規模集
積回路内に組み込むことを含め、他の構成も可能である
ことも理解されたい。他の実施形態では、複数の内部バ
ス50を設けて、セットトップ・ボックスの様々なコン
ポーネント間で異なるデータ転送率を効率的にサポート
できるようにすることもできる。
【0032】また、パーソナル・コンピュータなどによ
って実装されるサービス・ゲートウェイの一実施形態の
基礎を、図3に示す構成に類似しない構成で形成するこ
とができることも理解されたい。このような場合、表示
インタフェース68はフルサイズのコンピュータ表示装
置をサポートすることができ、ユーザ入力デバイス・イ
ンタフェース66は従来型のキーボード、マウスなどを
サポートすることができる。
【0033】図4に、マイクロプロセッサ52を制御す
るのに使用される図3のメモリ54内に備わるいくつか
の機能要素を示す。図4に示す機能要素は通常、適切な
プログラミング言語を使用するソフトウェア・モジュー
ルによって実装される。このインスタンスでは、この例
は基本的なリアルタイム・オペレーティング・システム
80に基づく。リアルタイム・オペレーティング・シス
テム80にはバーチャル・オペレーション・システム環
境がサポートされている。これは、この例ではJava
(登録商標)バーチャル・マシン環境82である。サー
ビス・サポート・フレームワーク84がJavaバーチ
ャル・マシン環境82に関して構成されている。サービ
ス・サポート・フレームワーク84は不定数のサービス
86をサポートし、これらのサービスはサービス・サポ
ート・フレームワーク84に登録される。
【0034】図5に、本発明によるサービス・ゲートウ
ェイ90の一実施形態の、いくつかのソフトウェア・コ
ンポーネントをより詳細に示す。サービス・リゾルバ9
2が個々のサービス94からの要求に応答する。ローカ
ル環境20中のデバイス26をサポートするために、こ
のようないくつかのサービス94が用意されている。サ
ービス・ネゴシエータ96が、サービス・リゾルバ92
に応答して、サービス・リゾルバ92からの要求に関す
る情報をサービス・プロバイダまたはサービス・ゲート
ウェイ・オペレータから得る。いくつかの応答エンジン
98が、サービス・プロバイダまたはサービス・ゲート
ウェイ・オペレータから提供されたデータ・ストリーム
の処理を制御するように動作可能である。サービス・リ
ゾルバ92はローカル・サービス・テーブル100を参
照および維持するが、このローカル・サービス・テーブ
ル100は、サービス名102を、ローカルにサポート
されるサービスへのポインタ104にリンクする。ポイ
ンタ104は、サービス・ゲートウェイのメモリ54内
に保持されている個々のサービス94それぞれを指す。
【0035】サービス94、サービス・リゾルバ92、
サービス・ネゴシエータ96、および応答エンジン98
はそれぞれ、図4に表したサービス86としてサービス
・サポート・フレームワーク84に登録されることに留
意されたい。
【0036】本発明の特定の実施形態では、サービス・
サポート・フレームワーク84は、「Java Emb
edded Server」(JES)製品を使用して
具体化される。この場合、ローカル・サービス・テーブ
ル100はJESレジストリとして具体化され、これ
は、JESによって利用可能になるすべてのサービスが
登録されるレジストリである。Java Embedd
ed Server(登録商標)製品は、フットプリン
トの小さい、Java(登録商標)技術に基づくネット
ワーク・デバイス用サーバである。サービス・サポート
・フレームワーク84は「ServiceSpace」
(登録商標)と呼ばれ、プラグアンドプレイ・サービス
およびアプリケーションのライフサイクル管理のための
アプリケーション・プログラム・インタフェース(AP
I)を備える。サービス・サポート・フレームワーク8
4は、インストール、バージョン管理、コンテンツ管
理、監視、およびサービス発見の機能を備える。個々の
サービスには、HTTPサービス、SNMPサービス、
ロギング、スレッド管理、リモート管理、サーブレット
・サポートなどを含めることができる。Java Em
bedded Server(登録商標)製品について
は、http://www.sun.com/soft
ware/embeddedserver/overv
iew/index.html.でさらに詳細を知るこ
とができる。
【0037】Embedded Serverは、以下
のようなサービスを提供することができる。クライアン
ト・サービスがHTTPプロトコルを介してそれらのリ
ソースをエクスポートできるようにするHyperTe
xtTransfer(HTTP)サービス;エラーお
よびイベントをログするためのシステム・ログ様のイン
タフェースを定義するログ/リモート・ログ・サービ
ス;日付(および時間)サービスを提供する日付サービ
ス;ソケット結合の処理、接続の受入れ、およびサービ
ス・サポート・フレームワークによって停止されたとき
にすべての結合済みサービスの結合を開放することを含
め、ネットワークと対話するサービスを可能にする接続
マネージャ・サービス;サービス・サポート・フレーム
ワークおよびそのサービスに対するスレッド管理を提供
するスレッド管理サービス、クライアント・サービスが
未来の時点に対してイベントを計画できるようにするス
ケジューラ・サービス;バンドルに対するRMIサポー
トを提供し、サービス・サポート・フレームワーク全体
を通して単一のRMIレジストリを維持するリモート・
メソッド呼出し(RMI)サービス;ブラウザなどロー
カルとリモートのSNMPエンティティとの間のエージ
ェントとしての働きをするSNMP(Simple N
etwork Management Protoco
l)サービス;どのプロトコルが選択されるかに応じて
HTTPまたはRMIサービスを介してエクスポートさ
れるアプレットを介してリモート管理を提供するコンソ
ール・サービス;クライアント・サーバ管理能力のバッ
クエンドを提供し、HTTPサービスに管理サーブレッ
トを登録することによりHTTPを介してサービス・サ
ポート・フレームワークAPIをエクスポーズする、リ
モートAPIのHTTPベースの実装;およびクライア
ント・サーバ管理能力のバックエンドを提供し、RMI
プロトコルを介してサービス・サポート・フレームワー
クAPIをエクスポーズする、リモートAPIのRMI
ベースの実装。
【0038】サービス・サポート・フレームワーク84
は、バンドル間の依存関係を管理する。あらゆる実用上
の目的で、バンドルは、任意の量のコードまたは機能を
必要に応じて含むことのできるファイルである。バンド
ルは、狭義には限られた数のファイルおよび機能だけを
含むものとすることもでき、広義にはそれ以上を含むも
のとすることもできる。依存関係は、Javaコードの
1つまたは1チャンクが、Javaコードの別の1つま
たは1チャンクに依拠して正しく動作するときに存在す
る。しかし、依存関係の定義は詳細には、コードの2つ
のチャンクが異なるバンドル中にあることである。例え
ば、JESコアHTTPサービスは、接続マネージャが
なければHTTP接続を確立することができないので、
接続マネージャ・サービスに依存する。これらのサービ
スが両方ともサービス・サポート・フレームワーク中の
異なるバンドル中にインストールされる場合、これらの
サービス間には依存関係がある。しかし、HTTPサー
ビスと接続マネージャ・サービスが一緒にパッケージ化
されて、同じバンドルの一部としてインストールされる
場合には、依存関係はないことになる。
【0039】以上のことから、図4に示した環境のサー
ビス・サポート・フレームワーク84が、バンドル間の
依存関係を認識および監視する機構を提供することが分
かるが、これは、依存関係を認識し、依存関係を追跡
し、他方の利用可能性を自覚する必要が相互にあるバン
ドルを作り、依存するバンドル間の対話を容易にし、ラ
イフサイクル・イベントにわたって依存性を監視し、そ
れらの依存性が変化したときに更新することを含む。本
発明の一実施形態は、このようなサービス・サポート・
フレームワーク84によって提供される機能を利用す
る。
【0040】もう一度図5を参照すると、サービス・ゲ
ートウェイ90は、外部ネットワークを内部クライアン
トに接続するための組込みサブシステムをネットワーク
環境中に提供する。これによりサービス・ゲートウェイ
90は、サービス・プロバイダおよび/またはサービス
・ゲートウェイ・オペレータと、クライアントのローカ
ル・システム中に保持されているローカル・デバイスと
の間に、インタフェースとなっている。したがってサー
ビス・ゲートウェイは、環境全体のトポロジを外部ネッ
トワーク環境と内部ネットワーク環境とに分離する。前
述のように、セットトップ・ボックス、ルータ、専用ハ
ードウェア、電力計、パーソナル・コンピュータなど、
異なるタイプのデバイスがサービス・ゲートウェイをサ
ポートすることができる。
【0041】やはり先に示したように本発明の一実施形
態は、サービス・リゾルバ92、サービス・ネゴシエー
タ96、および応答エンジン98の形で、異なる3つの
タイプのモジュールを用意しているが、応答エンジン9
8の例は複数あってもよく、これらのエンティティはそ
れぞれ、サービス・サポート・フレームワーク84に登
録されたサービスとして実装される。
【0042】次に、図5のサービス・ゲートウェイ90
の一実施形態のオペレーションの簡単な例示的概要につ
いて、図6を参照しながら述べる。
【0043】サービス・ゲートウェイによってサポート
されるローカル・サイト中で動作しているサービス94
のうちの1つ、または別のアプリケーションが、タスク
を実行するために別のサービスを必要とするとき、この
サービス94またはアプリケーションは、サービス・リ
ゾルバ92を呼び出す。呼出しのパラメータとしては、
要求しているサービスの論理名を指定することが可能で
ある。
【0044】図6Aは、サービス要求側からサービス・
リゾルバ92へのサービスAを求める要求を示してい
る。
【0045】サービス・リゾルバ92は、次いでレジス
トリ100(利用可能になっているすべてのサービスが
ここに登録されている)に照会して、サービス名「A」
が登録されているかどうか調べる。
【0046】要求されたサービスAが見つかった場合に
は、そのサービスが要求側に返される。しかし、要求さ
れたサービスが見つからない場合には、サービス・リゾ
ルバ92はサービス・ネゴシエータ96を利用する。サ
ービス・ネゴシエータ96は、要求されたサービスに関
するいくらかの追加情報と共にHTTP GETを送る
ことにより、要求されたサービスについてサービス・プ
ロバイダと交渉する。図6Bに、要求されたサービス名
「A」を伴う照会(HTTP GET)の送信を示す。
【0047】サービス・ネゴシエータ96は、サービス
名とサービス・プロバイダから提供された入力ストリー
ムとをサービス・リゾルバに返す。入力ストリームは、
応答のためのペイロードを形成する。図6Cは、要求さ
れたサービスAをエンコードしたバージョンであるA
(ENC)を入力ストリームとして含み、提案されるサ
ービスYを伴うサービス・プロバイダからの応答の返信
を示している。Yは、エンコードされたサービスAをデ
コードするのに必要なサービスの名前である。
【0048】サービス名は、専用のHTTPヘッダ・フ
ィールドを使用して明示的に提供することができる。こ
のヘッダ・フィールドはまた、受信される入力ストリー
ムのフォーマットを識別することもできる。サービス・
リゾルバ92は、サービス・ネゴシエータ96からの応
答の中で指定されたサービスが利用可能であれば、それ
を取り出す。
【0049】サービス・リゾルバ92はこの場合、受信
した情報のプロトコルに適した応答エンジン98を採用
して、識別されたサービスへの入力ストリームの転送を
管理する。
【0050】これは対話式のプロセスである。すなわ
ち、サービス・プロバイダからの応答の中で指定された
名前のサービスがサービス・ゲートウェイ90中でロー
カルに利用可能でない場合、サービス・リゾルバ92
は、もう一度サービス・ネゴシエータを利用して、この
件を解決するためのさらなるサービスを得ることにな
る。
【0051】例えば、エンコードされたバージョンのサ
ービスAをデコードするためのサービスYをサービス・
ゲートウェイが有しないと仮定すると、図6Dに表すよ
うに、サービス名Yを指定した次の要求をサービス・プ
ロバイダに送信することができる。
【0052】次いで図6Eに表すように、サービス・プ
ロバイダはこれに応答して、サービスYに対するコード
と共にサービスXを入力ストリームとして指定すること
ができる。サービスXは、サービスYに対するコードの
Zip圧縮バージョンをZip解凍するためのZip機
能に対するサービス名とすることができる。サービス・
ゲートウェイはZip解凍サービスを保持していると仮
定する。
【0053】次いでサービス・ゲートウェイは、サービ
スX(Zip解凍サービス)を利用してサービスYに対
するコードをZip解凍するように動作することができ
る。次いで、サービスYを利用してサービスAをデコー
ドすることができ、それにより、サービスAをサービス
・ゲートウェイに提供することができる。
【0054】この例から、本発明の一実施形態が、ロー
カル・サービス・ゲートウェイでサービスを提供するフ
レキシブルかつ拡張可能な手法を提供できることがわか
るであろう。この特定の例からはまた、本発明の一実施
形態が、サービス・ゲートウェイでサービスを安全に提
供するためにサービス・プロバイダからサービス・ゲー
トウェイにソフトウェアおよび/またはデータを安全に
通信することを可能にすることもわかるであろう。
【0055】次に、サービス・リゾルバ92、サービス
・ネゴシエータ96、および応答エンジン98の個々の
機能を以下により詳細に説明する。
【0056】サービス・リゾルバ92 サービス・リゾルバ92は、サービス・ゲートウェイ中
でサービスを提供するための中央接触ポイントを提供す
る。サービス・リゾルバ92は、サービス記述に関連す
るバンドルのインストールおよびアクティブ化を担う。
サービスがまだサービス・サポート・フレームワーク8
4に登録されていない(すなわちその名前がレジストリ
100に保持されていない)場合、サービス・リゾルバ
92は、サービス・プロバイダまたはサービス・ゲート
ウェイ・オペレータとの接触を構成して適切なサービス
・バンドルを提供することを担う。こうするために、サ
ービス・リゾルバ92は、後述するようにリモートのサ
ービス・プロバイダまたはサービス・ゲートウェイ・オ
ペレータから命令を得るためにサービス・ネゴシエータ
96を利用する。次いで、やはり後述するように、提供
命令を処理するための応答エンジンに受け取った命令を
渡す。命令が実行された後で、リゾルバはサービス・サ
ポート・フレームワークに照会して、このときサービス
が利用可能かどうかをチェックする。
【0057】サービス・リゾルバを提供するメソッドの
概要を以下の表1に述べる。
【表1】
【0058】このメソッドまたはリゾルバ・サービスを
以下の表2により詳細に述べる。
【表2】
【0059】サービス・ネゴシエータ96 サービス・ネゴシエータ96は、外部のサービス・プロ
バイダまたはサービス・ゲートウェイ・オペレータとの
通信を担う。サービス・ネゴシエータ96は、現在サー
ビス・サポート・フレームワーク84に登録されていな
いサービスをサービス・リゾルバ92が見つける必要が
ある場合に、サービス・リゾルバ92から呼び出され
る。
【0060】サービス・ネゴシエータ96を呼び出し
て、サービス・プロバイダまたはサービス・ゲートウェ
イ・オペレータにあるサービスを呼び出すことができ
る。サービス・ネゴシエータ96は、サービス・プロバ
イダまたはサービス・ゲートウェイ・オペレータに対す
るサーバに要求を送る。応答を受け取ると、その応答を
処理できるように応答ヘッダ中の情報から適した応答エ
ンジンを識別することを試みる。後述する応答エンジン
は、サービス記述によって識別される。
【0061】サービス・ネゴシエータ96は、サービス
・プロバイダとの通信を処理するように動作可能であ
り、したがって、サービス・ゲートウェイによってサポ
ートされるサービスは、サービス・プロバイダとの通信
に用いられる通信方式の変更による影響を受けない。
【0062】サービス・ネゴシエータ96は、呼出しの
中で指定されたHTMLアンカーへのURLと事前定義
済みURLのどちらかを使用してサービス・プロバイダ
を呼び出す。
【0063】サービス・ネゴシエータ96は、サービス
・プロバイダに応答を送り、その応答を処理できる応答
エンジンを識別する。次いで、サービス・リゾルバに命
令を返す。
【0064】サービス・ネゴシエータ96は、特定のH
TTPヘッダによって応答エンジンが指定されることを
予想し、サービス・ネゴシエータ96は特定の命令を使
用して構成することができる。ヘッダ名は、デフォルト
では「engine」である。
【0065】ヘッダが存在しない場合、サービス・ネゴ
シエータ96は、使用すべきであるとサービス・プロバ
イダが指示するMIMEタイプのコンテンツを使用す
る。例えば、「text/plain」および「tex
t/html」のMIMEタイプをサポートすることが
できる。
【0066】ネゴシエータ・サービスを提供するメソッ
ドの概要を以下の表3に述べる。
【表3】
【0067】このメソッド概要を以下の表4により詳細
に述べる。
【表4】
【0068】応答エンジン98 先に示したように、応答エンジン98は、サービス・ネ
ゴシエータが受け取った入力ストリームの処理を担う。
サービス・プロバイダから受け取った応答を処理するた
めの応答エンジンは、前述のようにサービス・ネゴシエ
ータ96が応答のヘッダを使用して選択する。選択され
た応答エンジンは、処理すべき入力ストリームを受け取
る。応答エンジンを適切に選択することにより、サービ
ス・プロバイダと当該の応答エンジンが入力ストリーム
の構造について一致をはかることができる。
【0069】応答エンジンによって提供されるメソッド
の概要を以下の表5に述べる。
【表5】
【0070】このメソッドを以下の表6により詳細に述
べる。
【表6】
【0071】図7は、前述の様々なサービスのオペレー
ションを示す流れ図である。
【0072】この例では、サービス・サポート・フレー
ムワークに登録されたサービス(以下サービス要求側と
する)がサービスAを要求すると仮定する。したがって
ステップS1で、サービス要求側は、サービスAを求め
る要求をサービス・リゾルバ92に発行する。ステップ
S2で、サービス・リゾルバ92は、そのサービス名が
レジストリ100に保持されているかどうかをチェック
する。
【0073】サービス名がレジストリ100に保持され
ている場合、ステップS3で、サービス・リゾルバ92
はそのサービスへのポインタをサービス要求側94に返
すように動作可能であり、次いでステップS4で、サー
ビス要求側はそのサービスの呼出しを処理するように動
作可能である。
【0074】ステップS2でサービス名がレジストリ1
00に保持されていないと判定された場合には、ステッ
プS5で、サービス・リゾルバ92は、サービス・ネゴ
シエータ96への呼出しを発行して、適切なサービス・
プロバイダまたはサービス・ゲートウェイ・オペレータ
からサービスを得るようにサービス・ネゴシエータ96
に要求する。したがってステップS6で、サービス・ネ
ゴシエータは、適切なプロバイダまたはサービス・ゲー
トウェイ・オペレータに呼出しを送る。サービス・ネゴ
シエータは、ゲートウェイ・オペレータによって構成さ
れる。さらに、サービス要求側がデフォルト構成をサー
ビス・ネゴシエータに渡すことによって特定のURLで
サービス・リゾルバに照会することも可能である。
【0075】ステップS7で、サービス・プロバイダま
たはサービス・ゲートウェイ・オペレータは、ネゴシエ
ータ・サービスからの呼出しを処理して、要求されたサ
ービスに関係する適切な応答を返すように動作可能であ
る。ステップS8で、サービス・ネゴシエータ96は、
この応答を受け取ってサービス・リゾルバ92に転送す
るように動作可能である。
【0076】ステップS9で、サービス・リゾルバは、
サービス・プロバイダまたはサービス・ゲートウェイ・
オペレータからサービス・ネゴシエータを介して提供さ
れた応答の中のサービス名がレジストリ100に保持さ
れているかどうかをチェックするように動作可能であ
る。
【0077】サービス名がレジストリ100に保持され
ていない場合には、ステップS10で制御がステップS
5に戻り、そこで、未解決の問題を解決するさらなるサ
ービスを得るためにさらに呼出しが行われる。このルー
プは、要求されたサービスがサービス・レジストリ10
0に登録されているとステップS9で判定されるまで継
続することができる。
【0078】当該のサービス名がサービス・レジストリ
100に登録されており、それ以上の情報が必要ない場
合には、ステップS11でそのサービスへのポインタが
サービス要求側に返され、次いでステップS12で、サ
ービス要求側はそのサービスを呼び出して結果を処理す
る。
【0079】あるいは、ステップS9でサービスがレジ
ストリ中にあると判定され、さらにサービス・プロバイ
ダから入力ストリームのダウンロードを得る必要がある
場合には、ステップS13で、リゾルバ・サービスは、
入力ストリームを処理するための適切な応答エンジン9
8を呼び出す。
【0080】適切な応答エンジン98の識別は、応答の
ヘッダ(指定されていれば)および/または応答のフォ
ーマットに基づいてサービス・ネゴシエータ96によっ
て行われる。適切な応答エンジンを識別した後で、サー
ビス・ネゴシエータは、サービス・プロバイダが実行す
べき命令を構築する。この命令は、識別された応答エン
ジンに渡す論理名および入力ストリームを含む。
【0081】選択された応答エンジン98は、ステップ
S14で、受け取った入力ストリームを処理するように
動作可能であり、これは、適切な場合にサービス・プロ
バイダまたはサービス・ゲートウェイ・オペレータにそ
の入力ストリームを要求することを含む。
【0082】この場合、ステップS15で、サービス・
プロバイダまたはサービス・ゲートウェイ・オペレータ
は応答エンジンに応答して、要求された入力ストリーム
を返す。ステップS16で、応答エンジンは、受け取っ
た入力ストリームを処理してサービス・リゾルバ92に
返すように動作可能であり、ステップS17で、サービ
ス・リゾルバ92は適切な入力ストリームをサービス要
求側に転送する。
【0083】次いでステップS18で、サービス要求側
は、受け取った情報を処理するように動作可能である。
【0084】したがって、少なくとも1つのローカル・
クライアントを外部ネットワークに接続するサービス・
ゲートウェイについて述べた。このサービス・ゲートウ
ェイは、対応するサービスを提供するための少なくとも
1つのサービス・モジュールを保持するように、かつ、
サービス・ゲートウェイが保持する各サービス・モジュ
ールへの関連ポインタによってそのサービス・モジュー
ルを識別する記録を維持するように動作可能である。サ
ービス・ゲートウェイは、いくつかの機能を提供する制
御機構を備える。この制御機構は、サービス・ゲートウ
ェイにないサービス・モジュールによって提供されるサ
ービスを求める要求に応答して、ゲートウェイにサービ
ス・モジュールがないことを解決するために、不足のサ
ービス・モジュールを解決できるようにするサービス・
モジュールであってゲートウェイが保持するサービス・
モジュールを含む情報を外部ソースからの応答が識別す
るまで1回または複数回の反復でメッセージを送るよう
に動作可能である。したがって、サービス・ゲートウェ
イは、必要なソフトウェアおよび/またはデータがサー
ビス・ゲートウェイで元のサービス要求を満たすために
利用可能になるまで、他のサービスを繰り返し探すため
の反復的または帰納的プロセスを提供するように構成さ
れる。
【0085】リゾルバ、ネゴシエータ、および応答エン
ジンは、サービス・ゲートウェイに登録されたソフトウ
ェア・サービスとして構成することができる。これらの
サービスは、搬送媒体上のコンピュータ・プログラムと
して提供することができる。搬送媒体は適宜、記憶媒体
(ディスク、テープ、固体デバイスなどとして構成され
た、光学、光磁気、磁気、または固体記憶媒体など)、
または伝送媒体(電話、無線、銅、光学の媒体、または
その他の有線媒体など)、またはこれらの混合とするこ
とができる。
【0086】本発明の特定の実施形態について述べた
が、本発明の範囲内で多くの修正/追加、および/また
は代用を行うことができることを理解されたい。
【図面の簡単な説明】
【図1】サービス・ゲートウェイを含むネットワーク環
境の概観の概略図である。
【図2】セットトップ・ボックスの形をとるサービス・
ゲートウェイ・システムの一例の概略図である。
【図3】サービス・ゲートウェイのコンポーネントの例
示的なハードウェア構成の概観図である。
【図4】サービス・ゲートウェイのソフトウェア環境の
概略ブロック図である。
【図5】サービス・ゲートウェイのソフトウェア・コン
ポーネントの概略ブロック図である。
【図6】本発明の一実施形態のオペレーションの一例に
おけるいくつかの段階を示す図である。
【図7A】図7Bとで構成された、本発明によるサービ
ス・ゲートウェイの一実施形態の動作例を示す流れ図で
ある。
【図7B】図7Aとで構成された、本発明によるサービ
ス・ゲートウェイの一実施形態の動作例を示す流れ図で
ある。
【符号の説明】
10 外部ネットワーク環境 12 サービス・ゲートウェイ・ステーション 20 ローカル環境 22 ローカル・ネットワーク 24 ローカル・ネットワーク 26 デバイス 28 サービス・ゲートウェイ・オペレータ・ステーシ
ョン 32 サービス・プロバイダ・ステーション 36 サービス・プロバイダ・ステーション 52 マイクロプロセッサ 54 メモリ 56 メディア・インタフェース 60 リモート・インタフェース 62 ローカル・インタフェース 64 ローカル・インタフェース 80 リアルタイム・オペレーティング・システム 82 Javaバーチャル・マシン環境 84 サービス・サポート・フレームワーク 86 サービス 90 サービス・ゲートウェイ 92 リゾルバ 94 サービス 96 ネゴシエータ 98 応答エンジン 100 ローカル・サービス・テーブル 100 レジストリ
フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ピエール・デリル アメリカ合衆国・95117・カリフォルニア 州・サン ホゼ・パークランド アベニ ュ・3572 (72)発明者 セルジュ・アンドレ・リゴリ フランス国・38120・プロベイズュ・プラ ンフェイ・番地なし Fターム(参考) 5B076 AC03 BB06

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 対応するサービスを提供するための少な
    くとも1つのサービス・モジュールを保持するように動
    作可能であって、少なくとも1つのローカル・クライア
    ントを外部ネットワークに接続するためのサービス・ゲ
    ートウェイにおいて、サービス・ゲートウェイにないサ
    ービス・モジュールによって提供されるサービスを求め
    る要求に応答して、ゲートウェイにサービス・モジュー
    ルがないことを解決するために、ゲートウェイが保持
    し、不足のサービス・モジュールを解決できるサービス
    ・モジュールを含んでいる情報を外部ソースからの応答
    が識別するまで1回または複数回の反復で外部ソースに
    メッセージを送るように動作可能な制御機構を備えたサ
    ービス・ゲートウェイ。
  2. 【請求項2】 ゲートウェイによって保持されているサ
    ービス・モジュールの記録であって前記サービス・モジ
    ュールへの参照を含む記録を備え、制御機構が、 第1のサービス・モジュールを識別する要求に反応し
    て、第1のサービス・モジュールがサービス・ゲートウ
    ェイによって保持されているかどうかを識別するために
    記録にアクセスし、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第1のサービス・モジュールが対応サービス
    を提供するようにし、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されていない場合には、第1のサービス・
    モジュールの識別を含むメッセージを外部ソースに送る
    ことによって外部ソースにサポートを要求し、 第2のサービス・モジュールを識別する外部ソースから
    の応答に反応して、第2のサービス・モジュールがサー
    ビス・ゲートウェイによって保持されているかどうかを
    識別するために記録にアクセスし、 第2のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第2のサービス・モジュールが対応サービス
    を提供するようにし、 第2のサービス・モジュールがサービス・ゲートウェイ
    によって保持されていない場合には、第2のサービス・
    モジュールの識別を含むメッセージを外部ソースに送る
    ことによって外部ソースにサポートを要求するように動
    作可能である請求項1に記載のサービス・ゲートウェ
    イ。
  3. 【請求項3】 制御機構が、 別のサービス・モジュールを識別する外部ソースからの
    応答に反応して、前記別のサービス・モジュールがサー
    ビス・ゲートウェイによって保持されているかどうかを
    識別するために記録にアクセスし、 前記別のサービス・モジュールがサービス・ゲートウェ
    イによって保持されている場合には、関連するポインタ
    を使用して、前記別のサービス・モジュールが対応サー
    ビスを提供するようにし、 前記別のサービス・モジュールがサービス・ゲートウェ
    イによって保持されていない場合には、前記別のサービ
    ス・モジュールの識別を含むメッセージを外部ソースに
    送ることによって外部ソースにサポートを要求するよう
    に動作可能である請求項2に記載のサービス・ゲートウ
    ェイ。
  4. 【請求項4】 制御機構が、外部ソースからの連続した
    応答を比較して、帰納的エラーを示す応答重複を識別す
    るように動作可能である請求項1に記載のサービス・ゲ
    ートウェイ。
  5. 【請求項5】 制御機構が、外部ソースからの応答の中
    のサービス・モジュールの識別および関連データに反応
    して、識別されたサービス・モジュールがサービス・ゲ
    ートウェイによって保持されていれば前記データをサー
    ビス・モジュールによって処理されるようにサービス・
    モジュールに供給する請求項1に記載のサービス・ゲー
    トウェイ。
  6. 【請求項6】 外部ソースがサービス・プロバイダであ
    る請求項1に記載のサービス・ゲートウェイ。
  7. 【請求項7】 外部ソースがサービス・ゲートウェイ・
    オペレータである請求項1に記載のサービス・ゲートウ
    ェイ。
  8. 【請求項8】 少なくとも1つのローカル・クライアン
    トを外部ネットワークに接続するためのサービス・ゲー
    トウェイ・コンピュータ中で動作可能なコンピュータ・
    プログラムであって、搬送媒体にプログラム・コードを
    含み、前記プログラム・コードは、 対応するサービスを提供するために少なくとも1つのサ
    ービス・モジュールをサービス・ゲートウェイでサポー
    トし、 サービス・ゲートウェイにないサービス・モジュールに
    よって提供されるサービスを求める要求に応答して、ゲ
    ートウェイにサービス・モジュールがないことを解決す
    るために、ゲートウェイが保持し、不足のサービス・モ
    ジュールを解決できるようにするサービス・モジュール
    を含む情報を外部ソースからの応答が識別するまで1回
    または複数回の反復で外部ソースにメッセージを送るよ
    うに動作可能である、コンピュータ・プログラム。
  9. 【請求項9】 プログラム・コードが、サービス・ゲー
    トウェイが保持する各サービス・モジュールへの関連参
    照によって前記サービス・モジュールを識別する記録を
    維持し、 第1のサービス・モジュールを識別する要求に反応し
    て、第1のサービス・モジュールがサービス・ゲートウ
    ェイによって保持されているかどうかを識別するために
    記録にアクセスし、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第1のサービス・モジュールが対応サービス
    を提供するようにし、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されていない場合には、第1のサービス・
    モジュールの識別を含むメッセージを外部ソースに送る
    ことによって外部ソースにサポートを要求し、 第2のサービス・モジュールを識別する外部ソースから
    の応答に反応して、第2のサービス・モジュールがサー
    ビス・ゲートウェイによって保持されているかどうかを
    識別するために記録にアクセスし、 第2のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第2のサービス・モジュールが対応サービス
    を提供するようにし、 第2のサービス・モジュールがサービス・ゲートウェイ
    によって保持されていない場合には、第2のサービス・
    モジュールの識別を含むメッセージを外部ソースに送る
    ことによって外部ソースにサポートを要求するように動
    作可能である請求項8に記載のコンピュータ・プログラ
    ム。
  10. 【請求項10】 プログラム・コードが、 別のサービス・モジュールを識別する外部ソースからの
    応答に反応して、前記別のサービス・モジュールがサー
    ビス・ゲートウェイによって保持されているかどうかを
    識別するために記録にアクセスし、 前記別のサービス・モジュールがサービス・ゲートウェ
    イによって保持されている場合には、関連するポインタ
    を使用して、前記別のサービス・モジュールが対応サー
    ビスを提供するようにし、 前記別のサービス・モジュールがサービス・ゲートウェ
    イによって保持されていない場合には、前記別のサービ
    ス・モジュールの識別を含むメッセージを外部ソースに
    送ることによって外部ソースにサポートを要求するよう
    に動作可能である請求項9に記載のコンピュータ・プロ
    グラム。
  11. 【請求項11】 制御機構が、外部ソースからの連続し
    た応答を比較して、帰納的エラーを示す応答重複を識別
    するように動作可能である請求項8に記載のコンピュー
    タ・プログラム。
  12. 【請求項12】 コンピュータ・コードが、外部ソース
    からの応答の中のサービス・モジュールの識別および関
    連データに反応して、識別されたサービス・モジュール
    がサービス・ゲートウェイによって保持されていれば前
    記データをサービス・モジュールによって処理されるよ
    うにサービス・モジュールに供給する請求項8に記載の
    コンピュータ・プログラム。
  13. 【請求項13】 外部ソースがサービス・プロバイダで
    ある請求項8に記載のコンピュータ・プログラム。
  14. 【請求項14】 外部ソースがサービス・ゲートウェイ
    ・オペレータである請求項8に記載のコンピュータ・プ
    ログラム。
  15. 【請求項15】 プロセッサと、メモリと、前記メモリ
    中に保持されており少なくとも1つのローカル・クライ
    アントを外部ネットワークに接続するために前記プロセ
    ッサを制御するように動作可能なコンピュータ・プログ
    ラムとを備えたサービス・ゲートウェイ・システムであ
    って、前記コンピュータ・プログラムはプログラム・コ
    ードを含み、前記プログラム・コードは、 対応するサービスを提供するために少なくとも1つのサ
    ービス・モジュールをサービス・ゲートウェイでサポー
    トし、 サービス・ゲートウェイにないサービス・モジュールに
    よって提供されるサービスを求める要求に応答して、ゲ
    ートウェイにサービス・モジュールがないことを解決す
    るために、ゲートウェイが保持し、不足のサービス・モ
    ジュールを解決できるようにするサービス・モジュール
    を含む情報を外部ソースからの応答が識別するまで1回
    または複数回の反復で外部ソースにメッセージを送るよ
    うに動作可能である、サービス・ゲートウェイ・システ
    ム。
  16. 【請求項16】 対応するサービスを提供するための少
    なくとも1つのサービス・モジュールを提供するように
    構成され、プロセッサおよびメモリを備えているサービ
    ス・ゲートウェイ・システムであって、そのサービス・
    ゲートウェイにないサービス・モジュールによって提供
    されるサービスを求める要求に応答して、ゲートウェイ
    にサービス・モジュールがないことを解決するために、
    ゲートウェイが保持する、不足のサービス・モジュール
    を解決できるようにするサービス・モジュールを含む情
    報を外部ソースからの応答が識別するまで1回または複
    数回の反復で外部ソースにメッセージを送るように動作
    可能な制御機構を提供するサービス・ゲートウェイ・シ
    ステム。
  17. 【請求項17】 サービス・ゲートウェイを介して外部
    ネットワークに接続された少なくとも1つのローカル・
    クライアントにサービスする方法であって、 対応するサービスを提供するために少なくとも1つのサ
    ービス・モジュールをサービス・ゲートウェイ中に保持
    すること、およびサービス・ゲートウェイにないサービ
    ス・モジュールによって提供されるサービスを求める要
    求に応答して、サービス・モジュールがゲートウェイに
    ないことを解決するために、ゲートウェイが保持する、
    サービス・モジュールがないことを解決できるようにす
    るサービス・モジュールを含む情報を外部ソースからの
    応答が識別するまで少なくとも1回の反復でメッセージ
    を外部ソースに送ることを含む方法。
  18. 【請求項18】 サービス・ゲートウェイが保持する各
    サービス・モジュールへの関連ポインタによって前記サ
    ービス・モジュールを識別する記録を維持すること、 第1のサービス・モジュールを識別する要求に反応し
    て、第1のサービス・モジュールがサービス・ゲートウ
    ェイによって保持されているかどうかを識別するために
    記録にアクセスすること、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第1のサービス・モジュールが対応サービス
    を提供するようにすること、 第1のサービス・モジュールがサービス・ゲートウェイ
    によって保持されていない場合には、第1のサービス・
    モジュールの識別を含むメッセージを外部ソースに送る
    ことによって外部ソースにサポートを要求すること、 第2のサービス・モジュールを識別する外部ソースから
    の応答に反応して、第2のサービス・モジュールがサー
    ビス・ゲートウェイによって保持されているかどうかを
    識別するために記録にアクセスすること、 第2のサービス・モジュールがサービス・ゲートウェイ
    によって保持されている場合には、関連するポインタを
    使用して、第2のサービス・モジュールが対応サービス
    を提供するようにすること、および第2のサービス・モ
    ジュールがサービス・ゲートウェイによって保持されて
    いない場合には、第2のサービス・モジュールの識別を
    含むメッセージを外部ソースに送ることによって外部ソ
    ースにサポートを要求することを含む請求項17に記載
    の方法。
  19. 【請求項19】 別のサービス・モジュールを識別する
    外部ソースからの応答に反応して、前記別のサービス・
    モジュールがサービス・ゲートウェイによって保持され
    ているかどうかを識別するために記録にアクセスするこ
    と、 前記別のサービス・モジュールがサービス・ゲートウェ
    イによって保持されている場合には、関連するポインタ
    を使用して、前記別のサービス・モジュールが対応サー
    ビスを提供するようにすること、および前記別のサービ
    ス・モジュールがサービス・ゲートウェイによって保持
    されていない場合には、前記別のサービス・モジュール
    の識別を含むメッセージを外部ソースに送ることによっ
    て外部ソースにサポートを要求することを含む請求項1
    8に記載の方法。
  20. 【請求項20】 外部ソースからの連続した応答を比較
    して、帰納的エラーを示す応答重複を識別することを含
    む請求項17に記載の方法。
  21. 【請求項21】 外部ソースからの応答の中のサービス
    ・モジュールの識別および関連データに反応して、識別
    されたサービス・モジュールがサービス・ゲートウェイ
    によって保持されていれば前記データをサービス・モジ
    ュールによって処理されるようにサービス・モジュール
    に供給する請求項17に記載の方法。
  22. 【請求項22】 所与のサービス・モジュールがサービ
    ス・ゲートウェイによって保持されていない場合には、
    外部サービス・プロバイダにサポートを要求することを
    含む請求項17に記載の方法。
  23. 【請求項23】 所与のサービス・モジュールがサービ
    ス・ゲートウェイによって保持されていない場合には、
    外部サービス・ゲートウェイ・オペレータにサポートを
    要求することを含む請求項17に記載の方法。
JP2001316466A 2000-10-13 2001-10-15 サービス・ゲートウェイのための拡張可能な提供機構 Pending JP2002196932A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00402830A EP1198102B1 (en) 2000-10-13 2000-10-13 Extendable provisioning mechanism for a service gateway
EP00402830.4 2000-10-13

Publications (1)

Publication Number Publication Date
JP2002196932A true JP2002196932A (ja) 2002-07-12

Family

ID=8173899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001316466A Pending JP2002196932A (ja) 2000-10-13 2001-10-15 サービス・ゲートウェイのための拡張可能な提供機構

Country Status (4)

Country Link
US (1) US7191232B2 (ja)
EP (1) EP1198102B1 (ja)
JP (1) JP2002196932A (ja)
DE (1) DE60035348T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012512445A (ja) * 2008-09-03 2012-05-31 マイクロソフト コーポレーション メッセージ処理パイプラインの構成

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209945B2 (en) * 2002-09-11 2007-04-24 Bellsouth Intellectual Property Corporation Application services gateway
US20040059797A1 (en) * 2002-09-20 2004-03-25 G-Connect Ltd. System and method for enabling a web user to control network services
US7516244B2 (en) * 2003-07-02 2009-04-07 Caterpillar Inc. Systems and methods for providing server operations in a work machine
US7532640B2 (en) * 2003-07-02 2009-05-12 Caterpillar Inc. Systems and methods for performing protocol conversions in a machine
US7983820B2 (en) * 2003-07-02 2011-07-19 Caterpillar Inc. Systems and methods for providing proxy control functions in a work machine
US7509373B2 (en) 2003-11-24 2009-03-24 At&T Intellectual Property I, L.P. Methods for providing communications services
US7467219B2 (en) * 2003-11-24 2008-12-16 At&T Intellectual Property I, L.P. Methods for providing communications services
US7716663B2 (en) * 2004-02-26 2010-05-11 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20050223101A1 (en) * 2004-03-22 2005-10-06 International Business Machines Corporation Computer-implemented method, system and program product for resolving prerequisites for native applications utilizing an open service gateway initiative ( OSGi) framework
US7478396B2 (en) * 2004-03-22 2009-01-13 International Business Machines Corporation Tunable engine, method and program product for resolving prerequisites for client devices in an open service gateway initiative (OSGi) framework
EP1737161A1 (en) * 2005-06-20 2006-12-27 Thomson Telecom Belgium Device and method for managing two types of devices
US7831997B2 (en) * 2006-06-22 2010-11-09 Intel Corporation Secure and automatic provisioning of computer systems having embedded network devices
US8448163B2 (en) * 2006-08-15 2013-05-21 International Business Machines Corporation Deploying J2EE web applications in an OSGI environment
US11265383B2 (en) * 2012-04-27 2022-03-01 Interdigital Patent Holdings, Inc. Systems and methods for personalizing and/or tailoring a service interface
US20150326430A1 (en) * 2012-07-10 2015-11-12 Hewlett-Packard Development Company, L.P. Home Network Information
US10594548B2 (en) 2014-10-27 2020-03-17 Hewlett Packard Enterprise Development Lp Home network information
EP3602314A4 (en) * 2017-03-30 2021-03-03 Blonder Tongue Laboratories, Inc. CORPORATE CONTENT GATEWAY
US10680879B2 (en) * 2017-06-06 2020-06-09 Dell Products L.P. WWAN-enabled remote switch management system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
IL107636A (en) * 1992-11-18 1998-02-08 Csir Identify multiple items
WO1995017064A1 (en) * 1993-12-17 1995-06-22 Taligent, Inc. Object-oriented distributed communications directory service
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5787403A (en) * 1995-03-08 1998-07-28 Huntington Bancshares, Inc. Bank-centric service platform, network and system
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5712903A (en) * 1995-08-21 1998-01-27 Bell Atlantic Network Services, Inc. Split intelligent peripheral for broadband and narrowband services
US6115737A (en) * 1996-07-24 2000-09-05 Telcordia Technologies, Inc. System and method for accessing customer contact services over a network
US6115744A (en) * 1996-07-30 2000-09-05 Bea Systems, Inc. Client object API and gateway to enable OLTP via the internet
US6175922B1 (en) * 1996-12-04 2001-01-16 Esign, Inc. Electronic transaction systems and methods therefor
US6192415B1 (en) * 1997-06-19 2001-02-20 International Business Machines Corporation Web server with ability to process URL requests for non-markup language objects and perform actions on the objects using executable instructions contained in the URL
US6029203A (en) * 1997-09-26 2000-02-22 3Com Corporation Apparatus and methods for use therein for an ISDN LAN modem that provides enhanced network activity
US6178438B1 (en) * 1997-12-18 2001-01-23 Alcatel Usa Sourcing, L.P. Service management system for an advanced intelligent network
US6112279A (en) * 1998-03-31 2000-08-29 Lucent Technologies, Inc. Virtual web caching system
US6519286B1 (en) * 1998-04-22 2003-02-11 Ati Technologies, Inc. Method and apparatus for decoding a stream of data
US20020062334A1 (en) * 1998-08-19 2002-05-23 Qiming Chen Dynamic agents for dynamic service provision
US6212561B1 (en) * 1998-10-08 2001-04-03 Cisco Technology, Inc. Forced sequential access to specified domains in a computer network
US6614784B1 (en) * 1999-01-15 2003-09-02 Telefonaktiebolaget L M Ericsson (Publ) System and method for providing supplementary services (SS) in an integrated telecommunications network
US6993570B1 (en) * 1999-06-15 2006-01-31 Sun Microsystems, Inc. System and method for pushing personalized content to small footprint devices
US6954777B1 (en) * 1999-07-29 2005-10-11 International Business Machines Corporation Method for extending capabilities of an arbitrary web server
US6711157B1 (en) * 1999-08-24 2004-03-23 Telefonaktiebolaget L M Ericsson (Publ) System and method of creating subscriber services in an IP-based telecommunications network
US6625274B1 (en) * 1999-10-12 2003-09-23 Broadsoft, Inc. Computer system and method for providing services to users of communication systems using service entities, interface entities, and a service bus
EP1117049A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Dynamic conversion of data
US6601086B1 (en) * 2000-06-06 2003-07-29 Emware, Inc. Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012512445A (ja) * 2008-09-03 2012-05-31 マイクロソフト コーポレーション メッセージ処理パイプラインの構成

Also Published As

Publication number Publication date
DE60035348D1 (de) 2007-08-09
US20020069262A1 (en) 2002-06-06
DE60035348T2 (de) 2008-03-20
EP1198102B1 (en) 2007-06-27
US7191232B2 (en) 2007-03-13
EP1198102A1 (en) 2002-04-17

Similar Documents

Publication Publication Date Title
JP2002196932A (ja) サービス・ゲートウェイのための拡張可能な提供機構
US8151281B2 (en) Method and system of mapping at least one web service to at least one OSGi service
US6970869B1 (en) Method and apparatus to discover services and negotiate capabilities
JP3853593B2 (ja) ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置
US7072967B1 (en) Efficient construction of message endpoints
US6862594B1 (en) Method and apparatus to discover services using flexible search criteria
US7716492B1 (en) Method and apparatus to obtain service capability credentials
US6792466B1 (en) Trusted construction of message endpoints in a distributed computing environment
US7412518B1 (en) Method and apparatus for proximity discovery of services
US6789077B1 (en) Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6918084B1 (en) Spawning new repository spaces using information provided in advertisement schema messages
US7395333B1 (en) Method and apparatus to obtain negotiated service advertisement
US7571208B2 (en) Creating proxies from service description metadata at runtime
JP3711866B2 (ja) プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
US7472349B1 (en) Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6643650B1 (en) Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
TWI224899B (en) Dynamic binding and fail-over of comparable web service instances in a services grid
US6973493B1 (en) Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7370091B1 (en) Method and apparatus for obtaining space advertisements
US20060253558A1 (en) Web dispatch service
US20020116454A1 (en) System and method for providing communication among legacy systems using web objects for legacy functions
JP2004501427A (ja) 分散コンピューティング環境でサービスの結果を返す機構および装置
JP2003533766A (ja) 分散コンピューティング環境でサービスにアクセスし、アドレッシングする機構および装置
JP2003534588A (ja) 分散コンピューティング環境でのプロセスのデータ表現言語表現を使用するプロセスの移植
EP1483671A2 (en) Provisioning aggregated services in a distributed computing environment