(57)【要約】  本発明の１つの実現方法において、演算装置にインストールされたサービスは、発行された名前を装置上の「サービスブローカ」に登録する。発行された名前は、リバースドメイン情報等の構造化された命名規則に準拠する。サービスブローカは、単一の周知のポート番号アドレスを使用する。サービスブローカを有する演算装置に接続された外部クライアントがその演算装置上のサービスを使用することを望む場合、外部クライアントは、周知のポート番号を使用して、メッセージをサービスに送信する。メッセージは、所望のサーバの名前を特定し、サービスブローカがそのサーバに対して使用すべき適切な接続ポイント（例えば、ポート番号）を通知することを要求する。ポート番号や構造化されていない任意の命名規則への依存性は存在しない。
2006527437.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算装置上で実行するクライアントを第２の演算装置上で実行するサーバに接続する方法であって、
（ａ）前記第２の演算装置にインストールされたサービスが、発行された名前を前記装置上のサービスブローカに登録するステップと、
（ｂ）前記クライアントが、前記サービスの前記名前を特定するサービスブローカにメッセージを送信するステップとを有し、
前記サービスの前記発行された名前は、構造化された命名規則に準拠することを特徴とする方法。
【請求項２】
前記構造化された命名規則は、リバースドメイン情報を使用することを特徴とする請求項１に記載の方法。
【請求項３】
前記サービスブローカは単一の周知のポート番号アドレスを使用するため、前記クライアントは、メッセージを前記サービスブローカに送信するのに、前記周知のポート番号のみを必要とすることを特徴とする請求項１に記載の方法。
【請求項４】
前記サービスは、接続ポイントを取得し、前記サービスブローカに前記接続ポイントアドレスを通知し、前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知することを特徴とする請求項１に記載の方法。
【請求項５】
前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知し、前記クライアントは、前記サーバと直接通信する際に前記アドレスを使用することを特徴とする請求項４に記載の方法。
【請求項６】
前記接続ポイントアドレスは、ポート番号であることを特徴とする請求項４に記載の方法。
【請求項７】
サービスが２回以上要求される場合、前記サービスを提供する前記サーバが再度開始されることはなく、前記サービスブローカは、キャッシュされたアドレス情報を使用することを特徴とする請求項４に記載の方法。
【請求項８】
サービスを前記サービスブローカに登録する場合、提供する前記サービスのバージョンを示すバージョン番号を登録することを特徴とする請求項１に記載の方法。
【請求項９】
前記サービスブローカが命名されたサービスの入手可能な最新バージョンを開始する場合、前記クライアントは、前記命名されたサービスの特定のバージョンを要求するか、又は前記バージョンを省略することができることを特徴とする請求項８に記載の方法。
【請求項１０】
前記サービスブローカにより、単一の第２の演算装置にインストールされた複数のサービスが、ケーブル、赤外線又は近距離無線（Ｂｌｕｅｔｏｏｔｈ）のローカルリンク、或はネットワークデータ接続のリモートリンクにより接続されたＰＣ又は他のコンピュータである１つ以上の外部クライアントに対応することが可能になることを特徴とする請求項１に記載の方法。
【請求項１１】
前記サービスブローカは、認証された外部クライアントのみがサービスにアクセスできるように、認証情報を提供することを特徴とする請求項１記載の方法。
【請求項１２】
（ａ）第１の演算装置に接続するサーバと、（ｂ）前記演算装置にインストールされたサービスが発行された名前を登録し、前記発行された名前を特定するメッセージを前記第１の演算装置から受信するサービスブローカとを具備し；前記サービスの前記発行された名前は、構造化された命名規則に準拠することを特徴とする演算装置。
【請求項１３】
前記サービスブローカは、構造化された命名規則がリバースドメイン情報を使用するようにプログラムされることを特徴とする請求項１２に記載の装置。
【請求項１４】
前記サービスブローカは、単一の周知のポート番号アドレスを使用することを特徴とする請求項１２に記載の装置。
【請求項１５】
前記サービスは、接続ポイントを取得し、前記サービスブローカに前記接続ポイントアドレスを通知し、前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知することを特徴とする請求項１２に記載の装置。
【請求項１６】
前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知し、前記クライアントは、前記サーバと直接通信する際に前記アドレスを使用することを特徴とする請求項１５に記載の装置。
【請求項１７】
前記接続ポイントアドレスは、ポート番号であることを特徴とする請求項１５に記載の装置。
【請求項１８】
サービスが２回以上要求される場合、前記サービスを提供する前記サーバが再度開始されることはなく、前記サービスブローカは、キャッシュされたアドレス情報を使用することを特徴とする請求項１５に記載の装置。
【請求項１９】
サービスを前記サービスブローカに登録する場合、提供する前記サービスのバージョンを示すバージョン番号を登録することを特徴とする請求項１２に記載の装置。
【請求項２０】
前記サービスブローカが命名されたサービスの入手可能な最新バージョンを開始する場合、前記クライアントは、前記命名されたサービスの特定のバージョンを要求するか、又は前記バージョンを省略することができることを特徴とする請求項１９に記載の装置。
【請求項２１】
前記サービスブローカは、ケーブル、赤外線又は近距離無線（Ｂｌｕｅｔｏｏｔｈ）のローカルリンク、或はネットワークデータ接続のリモートリンクにより接続されたＰＣ又は他のコンピュータである外部クライアントに対応できることを特徴とする請求項１２に記載の装置。
【請求項２２】
前記サービスブローカは、認証された外部クライアントのみがサービスにアクセスできるように、認証情報を提供することを特徴とする請求項１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置上で実行中のクライアントを別の演算装置上で実行中のサーバに接続する方法に関する。
【背景技術】
【０００２】
クライアント（即ち、サービスに対する要求を行なうプログラム）がネットワークを介してサーバ（即ち、要求されたサービスを供給できるプログラム）に接続することを要望する場合、一意にサービスを識別する必要がある。標準的な方法は、「ポート番号」を使用することに依存する。実質上、ポート番号は論理アドレスである：１つのプログラムが異なるコンピュータ上の別のプログラムと通信する場合、メッセージが適正なプログラムに適切に受信されるように、データ伝送毎にプログラムのポート番号を特定する。例えば、ＨＴＴＰは、通常、ポート番号８０を使用する：クライアントからの全てのＨＴＴＰメッセージは、ポート８０を特定するクライアントにより、一意に識別される。
【０００３】
この方法は、手動での構成が必要である（即ち、クライアントプログラムの開発者は、ＩＣＡＮＮにより、いわゆる「周知」のポート番号０〜１０２３、１０２４〜４９１５１の登録ポート、４９１５２〜６５５３５のプライベートポートを指定して、ポート番号を手動で選択する必要がある）。これは、サーバ間において、衝突の危険性がある（即ち、２人の開発者が同一のポート番号を選択する場合）。しかし、この方法は、ＯＳ又は装置製造者により提供されるサービスに対しては実現可能である。これは、装置が製造される時にこれらのポート番号が固定されるからである。しかし、独立系ソフトウェア会社（ＩＳＶ：Independent Software Vendors）は、これらのポート番号を確保できないため、従来の方法では、ＩＳＶが新しいサービスを作成することは困難である。ＩＳＶは、衝突の発生の危険性を有し、ポート番号の割り当てが重複する危険に直面する。
【発明の開示】
【課題を解決するための手段】
【０００４】
発明の概要
本発明の１つの実現方法において、演算装置にインストールされたサービスは、発行された名前を装置上の「サービスブローカ」（Service Broker）に登録する。発行された名前は、リバースドメイン情報等の構造化された命名規則に準拠する。サービスブローカは、単一の周知のポート番号アドレスを使用する。サービスブローカを有する演算装置に接続された外部クライアントがその演算装置上のサービスを使用することを望む場合、外部クライアントは、周知のポート番号を使用して、サービスブローカにメッセージを送信する。そのメッセージは、所望のサーバの名前を特定し、サービスブローカがそのサーバに対して使用すべき適切な接続ポイント（例えば、ポート番号）を通知することを要求する。ポート番号や構造化されていない任意の命名規則への依存性は存在しない。
【０００５】
サービス名が、例えば、リバースドメイン情報を使用してサービス名を事前に保留するなど、構造化された（好ましくは、標準の公開）命名規則を使用することにより一意となるため、装置の既存の構成を変更する必要なく、新しい接続性サービスが装置に追加される。新しいサービスがサービスブローカ及び一貫した命名規則を使用する限り、アドレスの衝突は回避される。
【０００６】
サービスがクライアントにより特定された名前でサービスブローカに対して登録された場合、サービスブローカはサービスを開始する。サービスは、ある手段で接続ポイントを取得し、サービスブローカに接続ポイントアドレス（ＴＣＰ／ＩＰの場合はポート番号であり、他の移送機構（例えば、Ｂｌｕｅｔｏｏｔｈ、シリアル、ＵＳＢ、ＩｒＤＡ等）は他のアドレッシング機構を有するだろう。）を通知する。サービスブローカは、外部クライアントにサービスの接続ポイントアドレスを通知する。クライアントは、仲介する装置が存在する従来の方法とは異なり、サーバと直接通信する。この機構により、静的に割り当てられたアドレスのみが、サービスブローカのアドレスとなる。
【０００７】
サービスが２回以上要求される場合、サーバが再度開始されることはない：その代わり、サービスブローカは、キャッシュされたアドレス情報を使用する。
【０００８】
サービスをサービスブローカに登録する時、提供するサービスのバージョンを示すバージョン番号（並びに、オプションで、他の情報及びサービスの開始方法）を登録してもよい。サービスブローカが命名されたサービスの入手可能な最新バージョンを開始する場合、外部クライアントは、命名されたサービスの特定のバージョンを要求するか、又は、そのバージョンを省略することができる。いずれにせよ、サービスブローカは、リモートクライアントに開始されたサービスのバージョンを通知する。これにより、リモートクライアントは、ある機種の装置と相互に動作できるようになり、また、場合によっては、異なるバージョンのサービスを処理できる。
【０００９】
サービスブローカは、ケーブル、赤外線又は近距離無線（Ｂｌｕｅｔｏｏｔｈ等）等のローカルリンク、或はネットワークデータ接続等のリモートリンクにより接続されたＰＣ又は他のコンピュータである外部クライアントを処理できる。
【００１０】
サービスブローカは、認証された外部クライアントのみがサービスにアクセスできるように、認証情報を提供できる。
【００１１】
サービスブローカは、管理を必要としない。サービスブローカは、拡張可能であり、番号の代わりに名前を使用することによりポートの衝突を解決する。名前は、インターネットドメイン情報を使用することにより、容易に固有のものにすることができる。
【００１２】
サービスブローカは、サービスバージョン番号を処理し且つ発行する機構を提供するため、１つのクライアントは、ある機種の装置に対応することができる。
【００１３】
Symbian LimitedのSymbian OSは、本発明の実施を展開する。Symbian Limited内から発生し、構造化された命名規則に準拠するサービス名の例は、以下を含む：
com.symbian.scrfs；「scrf」は、Symbian Connect Remote Filing Systemである。
【００１４】
com.symbian.swinstall-リモートソフトウェアインストールサービス
com.symbian.syncmlinit-syncML開始サービス
サードパーティサービスの例は、以下のものでもよい：
ian_mcdowall.co.ukが有するＰＩＭインタフェースサービスであるuk.co.ian_mcdowall.pim、又は
big_company.comにより提供される販売管理サービスであるcom.big_company.sales_manage
【発明を実施するための最良の形態】
【００１５】
付録１
概要
目的／範囲
この付録１の目的は、サービスブローカにより提供される機能性を説明することである。
【００１６】
サービスブローカは、リモートクライアントに対して、装置上の種々のサービスプロバイダ（ＴＣＰ／ＩＰプロトコル一式を使用し且つクライアントとサーバとの間で規定されたプロトコルを介して通信するソケットサーバ）を開始し、且つそれらサービスのポート番号を検索する機構を提供する。更に、サービスブローカは、装置とリモートクライアントとの間の接続認証を管理する。リモートクライアントは、装置上の命名されたサービスを開始する前に、接続の認証を要求される。
コンテキストの概要
図１は、アーキテクチャのコンテキスト中のサービスブローカを示す。リモートクライアント上で実行するベアラアブストラクションレイヤ（ＢＡＬ：Bearer Abstraction Layer）は、サービスブローカにより提供されるサーバソケットに接続する。リモートクライアントは、通常、Ｗｉｎｄｏｗｓ(登録商標）ＰＣであるが、装置に対してＴＣＰ／ＩＰ接続を確立できる装置であれば、いずれの装置でもよい。
【００１７】
リモートクライアント上のアプリケーションは、ＢＡＬのサービスポート番号を要求する。ＢＡＬは、メッセージプロトコルを介してサービスブローカのポート番号を要求する。サービス名は、ＢＡＬに対してはクライアントにより特定され、サービスブローカに対してはＢＡＬにより特定される。
【００１８】
サービスブローカは、サービスプロバイダを開始し（まだ実行していない場合）且つそのポート番号を検索することを試みる。これは、クライアントサーバＡＰＩを介して達成される。
【００１９】
サービスプロバイダが開始されると、サービスブローカはＢＡＬに対してポート番号を伝送し、ＢＡＬはそのポート番号をクライアントアプリケーションに通信する。その後、クライアントアプリケーションは、サービスプロバイダに対する直接接続を確立できる。
機能性
サービスブローカの機能性は、ユースケースの集合として表される。それは、外部インタフェースによりトリガされる。本節においては、インタフェースをアクターと呼ぶ。
【００２０】
本節の残りの部分においては、簡略のため、サービスブローカをシステムと呼ぶ。
アクター
以下のアクターが定義される：
・ソケットインタフェースに要求を送信し、その要求に対する応答を受信するリモートクライアント。それらの要求は、メッセージプロトコルに従ってフォーマットされる。
【００２１】
・クライアントサーバインタフェースに接続し、サポートする各サービスに対するポート番号を通信するサービスプロバイダ。
【００２２】
・パスワードプロバイダＤＬＬ。
ユースケース
図２は、このシステムの全ての機能性を含むトップレベルのユースケースを示す。これらユースケースを以下の節において説明する。
【００２３】
【表１】
2006527437.tif 000003
【００２４】
【表２】
2006527437.tif 000004
【００２５】
【表３】
2006527437.tif 000005
【００２６】
【表４】
2006527437.tif 000006
【００２７】
【表５】
2006527437.tif 000007
【００２８】
【表６】
2006527437.tif 000008
【００２９】
【表７】
2006527437.tif 000009
【００３０】
【表８】
2006527437.tif 000010
【００３１】
【表９】
2006527437.tif 000011
【００３２】
【表１０】
2006527437.tif 000012
【００３３】
【表１１】
2006527437.tif 000013
【００３４】
【表１２】
2006527437.tif 000014
【００３５】
【表１３】
2006527437.tif 000015
【００３６】
【表１４】
2006527437.tif 000016
【００３７】
【表１５】
2006527437.tif 000017
【図面の簡単な説明】
【００３８】
【図１】
【図２】
【図１】
2006527437.tif 000018
【図２】
2006527437.tif 000019
【手続補正書】
【提出日】平成17年5月11日(2005.5.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第２の演算装置に接続された第１の演算装置上で実行されるクライアントが前記第２の演算装置でサービスを使用できるようにする方法であって、
（ａ）前記第２の演算装置にインストールされたサービスが、発行された名前を前記第２の演算装置上のサービスブローカに登録するステップと、
（ｂ）前記クライアントが、前記サービスの前記名前を特定するサービスブローカにメッセージを送信するステップとを有し、
前記サービスの前記発行された名前は、特定のベンダーからのサービスとして前記サービスをユニークに特定する構造化された命名規則に従うが、前記サービスの接続ポイントアドレスを特定することなく、衝突のリスクをなくして前記サービスブローカが前記サービスを起動できるようにしたことを特徴する方法
【請求項２】
前記構造化された命名規則は、リバースドメイン情報を使用することを特徴とする請求項１に記載の方法。
【請求項３】
前記サービスブローカは単一の周知のポート番号アドレスを使用するため、前記クライアントは、メッセージを前記サービスブローカに送信するのに、前記周知のポート番号のみを必要とすることを特徴とする請求項１に記載の方法。
【請求項４】
前記サービスは、接続ポイントを取得し、前記サービスブローカに前記接続ポイントアドレスを通知し、前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知することを特徴とする請求項１に記載の方法。
【請求項５】
前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知し、前記クライアントは、前記サーバと直接通信する際に前記アドレスを使用することを特徴とする請求項４に記載の方法。
【請求項６】
前記接続ポイントアドレスは、ポート番号であることを特徴とする請求項４に記載の方法。
【請求項７】
サービスが２回以上要求される場合、前記サービスを提供する前記サーバが再度開始されることはなく、前記サービスブローカは、キャッシュされたアドレス情報を使用することを特徴とする請求項４に記載の方法。
【請求項８】
サービスを前記サービスブローカに登録する場合、提供する前記サービスのバージョンを示すバージョン番号を登録することを特徴とする請求項１に記載の方法。
【請求項９】
前記サービスブローカが命名されたサービスの入手可能な最新バージョンを開始する場合、前記クライアントは、前記命名されたサービスの特定のバージョンを要求するか、又は前記バージョンを省略することができることを特徴とする請求項８に記載の方法。
【請求項１０】
前記サービスブローカにより、単一の第２の演算装置にインストールされた複数のサービスが、ケーブル、赤外線又は近距離無線（Ｂｌｕｅｔｏｏｔｈ）のローカルリンク、或はネットワークデータ接続のリモートリンクにより接続されたＰＣ又は他のコンピュータである１つ以上の外部クライアントに対応することが可能になることを特徴とする請求項１に記載の方法。
【請求項１１】
前記サービスブローカは、認証された外部クライアントのみがサービスにアクセスできるように、認証情報を提供することを特徴とする請求項１に記載の方法。
【請求項１２】
第１の演算装置に接続されタ演算装置であって、
（ａ）サーバと、（ｂ）前記演算装置にインストールされたサービスが発行された名前を登録し、前記発行された名前を特定するメッセージを前記第１の演算装置から受信するサービスブローカとを具備し、
前記サービスの前記発行された名前は、特定のベンダーからのサービスとして前記サービスをユニークに特定する構造化された命名規則に準拠するが、前記サービスの接続ポイントアドレスを特定することなく、衝突のリスクをなくして前記サービスブローカが前記サービスを起動できるようにしたことを特徴とする演算装置。
【請求項１３】
前記サービスブローカは、構造化された命名規則がリバースドメイン情報を使用するようにプログラムされることを特徴とする請求項１２に記載の装置。
【請求項１４】
前記サービスブローカは、単一の周知のポート番号アドレスを使用することを特徴とする請求項１２に記載の装置。
【請求項１５】
前記サービスは、接続ポイントを取得し、前記サービスブローカに前記接続ポイントアドレスを通知し、前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知することを特徴とする請求項１２に記載の装置。
【請求項１６】
前記サービスブローカは、前記クライアントに前記接続ポイントアドレスを通知し、前記クライアントは、前記サーバと直接通信する際に前記アドレスを使用することを特徴とする請求項１５に記載の装置。
【請求項１７】
前記接続ポイントアドレスは、ポート番号であることを特徴とする請求項１５に記載の装置。
【請求項１８】
サービスが２回以上要求される場合、前記サービスを提供する前記サーバが再度開始されることはなく、前記サービスブローカは、キャッシュされたアドレス情報を使用することを特徴とする請求項１５に記載の装置。
【請求項１９】
サービスを前記サービスブローカに登録する場合、提供する前記サービスのバージョンを示すバージョン番号を登録することを特徴とする請求項１２に記載の装置。
【請求項２０】
前記サービスブローカが命名されたサービスの入手可能な最新バージョンを開始する場合、前記クライアントは、前記命名されたサービスの特定のバージョンを要求するか、又は前記バージョンを省略することができることを特徴とする請求項１９に記載の装置。
【請求項２１】
前記サービスブローカは、ケーブル、赤外線又は近距離無線（Ｂｌｕｅｔｏｏｔｈ）のローカルリンク、或はネットワークデータ接続のリモートリンクにより接続されたＰＣ又は他のコンピュータである外部クライアントに対応できることを特徴とする請求項１２に記載の装置。
【請求項２２】
前記サービスブローカは、認証された外部クライアントのみがサービスにアクセスできるように、認証情報を提供することを特徴とする請求項１２に記載の装置。
【国際調査報告】
2006527437.tif 000020
2006527437.tif 000021
2006527437.tif 000022