(57)【要約】【課題】  ユーザがネットワーク環境や接続先のアプリケーションで使用するプロトコルの種別を意識して接続情報の設定を行うことなくプロトコルを自動で選択し、接続を行う。【解決手段】  プロトコル自動選択装置に、あらかじめアプリケーションとの接続に用いられるプロトコル毎のプロトコル情報を記憶するプロトコル情報格納部１７と、前記アプリケーションへの接続要求を受け、接続先の該アプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部１７に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、前記プロトコル情報格納部１７から順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示するプロトコル制御部１４と、前記プロトコル制御部１４から指示されたプロトコル情報を用いたプロトコルにより接続先の前記アプリケーションとの接続を要求する通信制御部１８とを備える。【選択図】  図１
2005078193.tif 000002
【特許請求の範囲】
【請求項１】
接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置であって、
ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部と、
前記ノードあるいはアプリケーションへの接続要求を受け、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、前記プロトコル情報格納部から順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示するプロトコル制御部と、
前記プロトコル制御部から指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求する通信制御部と、
を備えることを特徴とするプロトコル自動選択装置。
【請求項２】
直前に接続が成功したプロトコルのプロトコル情報を記憶する接続設定情報格納部をさらに備え、
前記プロトコル制御部は、前記接続設定情報格納部から読み出したプロトコル情報を用いたプロトコルによる通信先の前記ノードあるいはアプリケーションとの接続を指示し、この接続が失敗したときに、前記プロトコル情報格納部内のプロトコル情報を読み出して、該プロトコル情報を用いたプロトコルによる接続先の前記ノードあるいはアプリケーションへの接続を指示する、
ことを特徴とする請求項１に記載のプロトコル自動選択装置。
【請求項３】
前記プロトコル情報格納部は、接続が成功したプロトコルの頻度を記憶し、
前記プロトコル制御部は、前記プロトコル情報格納部内の頻度に応じた順にプロトコル情報を読み出して、該プロトコル情報を用いたプロトコルによる接続先の前記ノードあるいはアプリケーションとの接続を指示するとともに、接続が成功した頻度をプロトコルに対応させて前記プロトコル情報格納部に書き込む、
ことを特徴とする請求項１または請求項２に記載のプロトコル自動選択装置。
【請求項４】
接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置に用いられるプロトコル自動選択方法であって、
ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部を用意し、
前記ノードあるいはアプリケーションへの接続要求を受け、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、前記プロトコル情報格納部から順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示し、
前記プロトコル制御部から指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求する、
ことを特徴とするプロトコル自動選択方法。
【請求項５】
接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置に用いられるプロトコル自動選択プログラムであって、
前記ノードあるいはアプリケーションへの接続要求を受け、ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部から、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示するステップと、
指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求するステップと、
をコンピュータに実行させるプロトコル自動選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロトコル自動選択装置および方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの拡充に伴い、インターネット上で様々なサービスが提供されている。例えば、インスタントメッセージングサービスは、通信したい相手がインターネットに接続しているオンライン状態であるかどうかを調べ、オンラインであればユーザ端末間でインターネットを介して瞬時にメッセージを交換しあうことができるサービスである。このサービスでは、端末側のインスタントメッセージングサービスのソフトウェアであるインスタントメッセンジャークライアントソフトウェア（以下、クライアントソフト）から、サーバ側のインスタントメッセージングサービスのソフトウェアであり、相手が現在インターネットに接続しているかを知る機能を持つインスタントメッセンジャーサーバソフトウェア（以下、サーバソフト）に接続する必要がある。しかし、クライアントソフト−サーバソフト間のネットワークの接続構成や、サーバソフトなどにより、使用するプロトコルが異なる。従って、相手先端末のオンライン状態を問い合わせる先のサーバソフトや、現在のサーバソフトとの間の接続構成に応じてどのプロトコルにより接続を行うかをクライアントソフトの利用者（以下、ユーザ）が自ら選択し、クライアントソフトへの接続設定画面で適切な設定を行う必要がある。
【０００３】
一方、特許文献１には、種々の方式で接続されている端末装置を使用するユーザについて、その所在を認識し得る技術について開示されている。具体的には、ユーザが複数の異なる端末装置を使用する際、ユーザ固有の情報及びユーザが使用する端末装置固有の情報を特定情報として情報管理装置に送信する。情報管理装置は特定情報を記憶することにより端末装置を使用するユーザを特定すると共に、特定されたユーザに関する情報を他のユーザに通知することにより、各ユーザは互いに使用する端末装置を認識することができる。
【特許文献１】特開２０００−２９５２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述する従来の方法では、以下のような問題がある。まず、第１の問題は、正常にサーバソフトへ接続できるまでに時間がかかってしまうことである。その理由は、接続に必要な情報には、一般のユーザには難しい情報が多く、設定を間違えやすいことが上げられる。第２の問題は、ユーザの利用するネットワーク環境が変更になるたびに再設定が必要なことである。その理由は、ユーザが手動で設定をする場合、クライアントが保持できる設定情報は、１つだけの場合が多く、また、複数の設定情報を保持できる場合でも、どのプロトコルを利用するかは１つしか選択できないからである。
しかし、特許文献１の技術では、端末装置が備えるアプリケーションに応じた上位レイヤのプロトコルを選択することはできない。
【０００５】
本発明は上記事情に鑑みてなされたものであり、ユーザがネットワーク環境や接続先のノードあるいはアプリケーションで使用するプロトコルの種別を意識して接続情報の設定を行うことなく、プロトコルを自動で選択し、接続を行うことのできるプロトコル自動選択装置および方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために本発明は、接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置であって、ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部と、前記ノードあるいはアプリケーションへの接続要求を受け、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、前記プロトコル情報格納部から順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示するプロトコル制御部と、前記プロトコル制御部から指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求する通信制御部と、を備えることを特徴とするプロトコル自動選択装置である。
【０００７】
また、本発明において、直前に接続が成功したプロトコルのプロトコル情報を記憶する接続設定情報格納部をさらに備え、前記プロトコル制御部は、前記接続設定情報格納部から読み出したプロトコル情報を用いたプロトコルによる通信先の前記ノードあるいはアプリケーションとの接続を指示し、この接続が失敗したときに、前記プロトコル情報格納部内のプロトコル情報を読み出して、該プロトコル情報を用いたプロトコルによる接続先の前記ノードあるいはアプリケーションへの接続を指示する、ことを特徴とする。
【０００８】
また、本発明において、前記プロトコル情報格納部は、接続が成功したプロトコルの頻度を記憶し、前記プロトコル制御部は、前記プロトコル情報格納部内の頻度に応じた順にプロトコル情報を読み出して、該プロトコル情報を用いたプロトコルによる接続先の前記ノードあるいはアプリケーションとの接続を指示するとともに、接続が成功した頻度をプロトコルに対応させて前記プロトコル情報格納部に書き込む、ことを特徴とする。
【０００９】
上記した課題を解決するために本発明は、接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置に用いられるプロトコル自動選択方法であって、ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部を用意し、前記ノードあるいはアプリケーションへの接続要求を受け、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、前記プロトコル情報格納部から順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示し、前記プロトコル制御部から指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求する、ことを特徴とするプロトコル自動選択方法である。
【００１０】
上記した課題を解決するために本発明は、接続先のノードあるいはアプリケーションとの通信に用いられるプロトコルを選択するプロトコル自動選択装置に用いられるプロトコル自動選択プログラムであって、前記ノードあるいはアプリケーションへの接続要求を受け、ノードあるいはアプリケーションとの接続に用いられるプロトコル毎に該プロトコルによる接続に使用される情報であるプロトコル情報を記憶するプロトコル情報格納部から、接続先の該ノードあるいはアプリケーションとの接続が成功するか、あるいは、プロトコル情報格納部に記憶されている全てのプロトコル情報を用いたプロトコルによる接続が失敗するまで、順にプロトコル情報を読み出し、当該プロトコル情報を用いた接続を指示するステップと、指示されたプロトコル情報を用いたプロトコルにより接続先の前記ノードあるいはアプリケーションとの接続を要求するステップと、をコンピュータに実行させるプロトコル自動選択プログラムである。
【発明の効果】
【００１１】
本発明によれば、ユーザは、通信先のノードやアプリケーションが実装するプロトコルや、ノードへの接続ネットワークを意識することなく、自身の端末から通信先のノードあるいはアプリケーションへ接続することができる。
また、前回接続に成功したプロトコルにより通信先ノードあるいはアプリケーションとの接続を最初に試みるため、接続が成功するまでの処理動作及び時間を軽減することができる。
また、接続に成功した頻度が高い順のプロトコルにより接続を試みることで、接続が成功するまでの処理動作及び時間を軽減することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明実施形態の構成を機能展開して示したブロック図である。ここでは、本発明のプロトコル自動選択装置が実装される、例えばＰＣ（パーソナルコンピュータ）等で構成されるクライアント端末１の主要な構成が示されている。
同図において、クライアント端末１は、インターネットやＬＡＮ（Local Area Network）などのネットワーク２を介して、サーバ３ａ〜３ｎ（以下、「サーバ３」と記載）と接続される。サーバ３ａ〜３ｎは、それぞれ、インスタントメッセージングサービスのサーバ側機能、例えば、通信先のクライアント端末１が現在ネットワークに接続されているかをチェックする機能などを実現するインスタントメッセンジャーサーバ部３１ａ〜３１ｎ（以下、「インスタントメッセンジャーサーバ部３１」と記載）を備える。それぞれのインスタントメッセンジャーサーバ部３１は、例えば、ＳＩＰ（Session Initiation Protocol）、ＨＴＴＰ（Hypertext Transfer Protocol）などの異なるプロトコルを実装する。
【００１３】
クライアント端末１は、入力部１１、インスタントメッセンジャークライアント部１２、及び、ブラウザ定義情報格納部１９を備える。
入力部１１は、キーボードやマウスなどによる入力を制御する。
ブラウザ定義情報格納部１９は、クライアント端末１が備えるＷＷＷブラウザが使用するプロキシ情報を記憶している。プロキシ情報は、例えば、プロキシがあるか否か、プロキシがある場合にはそのＩＰアドレスなどの情報からなる。
【００１４】
インスタントメッセンジャークライアント部１２は、インスタントメッセージングサービスのクライアント側のソフトウェアであり、メッセージ制御部１３、プロトコル制御部１４、接続設定情報格納部１５、プロキシ情報取得部１６、プロトコル情報格納部１７、及び、通信制御部１８から構成される。
プロトコル情報格納部１７は、各インスタントメッセンジャーサーバ部３１が実装するプロトコルに使用されるプロトコル情報、試行順序及び接続成功頻度を記憶している。プロトコル情報は、例えば、各インスタントメッセンジャーサーバ部３１との通信に用いられるポート番号や、プロトコルの種別、状態遷移に従って送信すべきメッセージ、メッセージ内に設定すべき内容などの情報からなる。また、ネットワーク２との間でＮＡＴ（Network Address Translation）が行われる構成の場合は、このＮＡＴを通過するために試行すべきポート番号の情報が記憶されうる。従って、例えば、同じＳＩＰやＨＴＴＰを用いるサーバ３であっても、プロトコル情報が異なり、これらは、別のプロトコルであると考える。なお、試行順序は、接続成功頻度の多い順に決定される。
接続設定情報格納部１５は、前回インスタントメッセンジャーサーバ部３１との接続に成功したプロトコルのプロトコル情報及びプロキシ情報からなる接続設定情報を記憶している。
【００１５】
メッセージ制御部１３は、ユーザが入力したメッセージを入力部１１から受け、プロトコル制御部１４へ当該メッセージの送信をプロトコル制御部１４に依頼する。また、サーバ３から受信したメッセージを図示しないディスプレイなどの表示手段に表示させる。
プロトコル制御部１４は、接続設定情報格納部１５に前回接続に成功したプロトコルの接続設定情報を問い合わせる。前回接続に成功したプロトコルの接続設定情報が得られた場合には、この接続設定情報で示されるプロトコル情報及びプロキシ情報を用いたプロトコルによる接続を通信制御部１８へ指示する。一方、接続設定情報が得られなかった場合には、プロトコル情報格納部１７内から読み出した試行順序１番目のプロトコルのプロトコル情報及びプロキシ情報取得部１６から得たプロキシ情報を用いた接続を通信制御部１８へ指示する。接続に失敗した場合、プロトコル情報格納部１７から試行順序に従って次のプロトコルのプロトコル情報を読み出し、通信制御部１８へ接続を指示する。また、接続に成功した場合、このとき使用したプロトコルのプロトコル情報及びプロキシ情報からなる接続設定情報を接続設定情報格納部１５に書き込む。また、接続成功頻度をプロトコル情報格納部１７へ書き込む。
プロキシ情報取得部１６は、ブラウザ定義情報格納部１９からクライアント端末１が備えるＷＷＷブラウザに使用されているプロキシ情報を取得する。プロキシ情報を読み出すための定義ファイルを用いることにより、複数の異なるＷＷＷブラウザに対応することができる。
通信制御部１８は、プロトコル制御部１４から指示されたプロトコル情報及びプロキシ情報を用いたプロトコルによりサーバ３との接続を行い、メッセージの送受信を行う。
【００１６】
図２は、接続設定情報格納部１５に前回接続に成功したプロトコルの接続設定情報が格納されていない場合の接続動作について説明する。これは、例えば、サーバ３への初回の接続であるときなどが想定できる。
まず、ユーザがクライアント端末１のキーボードを使ってメッセージを入力する。これにより、メッセージ制御部１３は、入力部１１を介してメッセージを受信する（ステップＳ１１０）。メッセージ制御部１３は、サーバ３へのメッセージ送信をプロトコル制御部１４へ依頼する（ステップＳ１２０）。
【００１７】
プロトコル制御部１４は、前回接続に成功したプロトコルの接続設定情報を接続設定情報格納部１５に問い合わせる（ステップＳ１３０）。接続設定情報格納部１５は、要求された情報が格納されていないため、「情報がない」旨の応答を返送する（ステップＳ１４０）。これを受けてプロトコル制御部１４は、プロキシ情報取得部１６にプロキシ情報の取得を要求する（ステップＳ１５０）。プロキシ情報取得部１６は、ブラウザ定義情報格納部１９からプロキシ情報を取得する。ここでは、１つのプロキシ情報が取得されることとするが、複数のＷＷＷブラウザがある場合は、それぞれのプロキシ情報を取得する。プロキシ情報取得部１６は、取得したプロキシ情報をプロトコル制御部１４へ返送する（ステップＳ１６０）。プロトコル制御部１４は、接続設定情報格納部１５へ取得したプロキシ情報を格納する（ステップＳ１７０）。
【００１８】
続いてプロトコル制御部１４は、通信制御部１８がサーバ３との通信に成功するか、もしくは、サポートするプロトコルがなくなるまで、プロトコル情報格納部１７からプロトコルの試行順序に従って順にプロトコル情報を読み出し、プロキシ情報取得部１６から取得したプロキシ情報と合わせて通信制御部１８へ通知し、接続を要求する。
具体的には、以下のように動作する。
プロトコル制御部１４は、プロトコル情報格納部１７から読み出した試行順序１番目のプロトコルのプロトコル情報と、プロキシ情報取得部１６から読み出したプロキシ情報とを用いたプロトコルその１による接続を通信制御部１８へ要求する（ステップＳ１８０）。通信制御部１８は、指示されたプロトコル情報及びプロキシ情報を用いたプロトコルその１により、サーバ３への接続を試みる（ステップＳ１９０）。プロトコルその１がサーバ３との接続に用いるプロトコルではなかった場合、ネットワーク２を構成するルータあるいは接続サーバなどから接続の失敗の通知が返送される（ステップＳ２００）。通信制御部１８は、接続が失敗であったことをプロトコル制御部１４へ通知する（ステップＳ２１０）。
【００１９】
プロトコル制御部１４は、接続が失敗したことの通知を受けると、試行順序２番目のプロトコルのプロトコル情報と、プロキシ情報取得部１６から読み出したプロキシ情報とを用いたプロトコルその２による接続を通信制御部１８へ要求する（ステップＳ２２０）。通信制御部１８は、指示されたプロトコル情報及びプロキシ情報を用いたプロトコルその２により、サーバ３への接続を試みる（ステップＳ２３０）。プロトコルその１と同様、プロトコルその２がサーバ３との接続に用いるプロトコルではなかった場合、通信制御部１８は、ネットワーク２から接続の失敗の通知を受ける（ステップＳ２４０）。これは、プロトコル制御部１４へ通知される（ステップＳ２５０）。
【００２０】
上述する手順によりプロトコルそのＮ−１までが接続に失敗し、次に、プロトコルそのＮで接続を行うとする。
プロトコル制御部１４は、プロトコル情報格納部１７から読み出した試行順序Ｎ番目のプロトコルのプロトコル情報と、プロキシ情報取得部１６から読み出したプロキシ情報とを用いたプロトコルそのＮによる接続を通信制御部１８へ要求する（ステップＳ３００）。通信制御部１８は、指示されたプロトコル情報及びプロキシ情報を用いたプロトコルそのＮにより、サーバ３への接続を試みる（ステップＳ３１０）。プロトコルそのＮが、サーバ３との接続に用いるプロトコルであった場合、ネットワーク２を介してサーバ３へ接続の要求が通知される（ステップＳ３２０）。そして、サーバ３から、接続の成功の応答を受信すると、ネットワーク２を介して接続の成功が通信制御部１８へ返送される（ステップＳ３３０、Ｓ３４０）。通信制御部１８は、接続が成功であったことをプロトコル制御部１４へ通知する（ステップＳ３５０）。
【００２１】
プロトコル制御部１４は、通信制御部１８から接続の成功の通知を受けると、メッセージ制御部１３へ接続が成功したことを通知する（ステップＳ３６０）。さらに、プロトコル制御部１４は、接続設定情報格納部１５へこの接続が成功したプロトコルそのＮのプロトコル情報を格納する（ステップＳ３７０）。さらに、プロトコル制御部１４は、接続が成功した回数をこのプロトコルそのＮに使用したプロトコル情報に対応させて書き込む。これにより、接続が成功した回数が多い順に、プロトコル情報の試行順序が決定される。
【００２２】
なお、プロキシ情報取得部１６が読み出したプロキシ情報が複数であった場合、例えば、以下のような順でプロトコルの試行を行うことができる。すなわち、プロトコル制御部１４は、まず、試行順序１番目のプロトコルのプロトコル情報と、プロキシ情報取得部１６から読み出したプロキシ情報それぞれについて、通信制御部１８へ接続を要求する。続いて、試行順序２番目のプロトコルのプロトコル情報と、プロキシ情報取得部１６から読み出したプロキシ情報それぞれについて、通信制御部１８へ接続を要求する。このように、接続設定情報格納部１５内の試行順序に従った全てのプロトコル情報について、それぞれのプロキシ情報と組み合わせたプロトコルにより接続を試みる。
また、上記においては、プロキシ情報を、ブラウザ定義情報格納部１９から取得しているが、ユーザに入力させることでもよい。
【００２３】
図３は、接続設定情報格納部１５に前回接続に成功したプロトコルの接続設定情報が格納されており、このプロトコルにより接続が成功する場合の接続動作について説明する。
ユーザがメッセージを入力し、プロトコル制御部１４が接続設定情報格納部１５へ前回接続に成功したプロトコルの接続設定情報を接続設定情報格納部１５に問い合わせるステップＳ４１０〜ステップＳ４３０の動作は、図２におけるステップＳ１１０〜ステップＳ１３０の動作と同様である。
接続設定情報格納部１５は、内部に記憶している前回接続に成功したプロトコルそのＮの接続設定情報をプロトコル制御部１４へ返送する（ステップＳ４４０）。プロトコル制御部１４は、取得した接続設定情報内のプロトコル情報及びプロキシ情報を用いたプロトコルそのＮによるサーバ３への接続を通信制御部１８へ要求する（ステップＳ４５０）。
【００２４】
通信制御部１８は、プロトコル制御部１４から指示されたプロトコル情報及びプロキシ情報を用いたプロトコルそのＮにより、サーバ３への接続を試みる（ステップＳ４６０）。プロトコルそのＮが、サーバ３との接続に用いるプロトコルと合致した場合、ネットワーク２を介してサーバ３へ接続の要求が通知される（ステップＳ４７０）。そして、サーバ３から、接続の成功の応答を受信すると、ネットワーク２を介して接続の成功が通信制御部１８へ返送される（ステップＳ４８０、Ｓ４９０）。通信制御部１８は、接続が成功であったことをプロトコル制御部１４へ通知する（ステップＳ５００）。
【００２５】
プロトコル制御部１４が、メッセージ制御部１３へ接続が成功したことを通知し、メッセージ制御部１３が接続に成功したプロトコルそのＮに用いたプロトコル情報及びプロキシ情報からなる接続設定情報を接続設定情報格納部１５に格納し、さらに、接続が成功した回数をこのプロトコルそのＮに使用したプロトコル情報に対応させて書き込むステップＳ５１０〜ステップＳ５２０の手順は、図２のステップＳ３６０〜ステップＳ３７０の手順と同様である。
【００２６】
図４は、接続設定情報格納部１５に前回接続に成功したプロトコルの接続設定情報が格納されており、このプロトコルによる接続が失敗する場合の接続動作について説明する。
ユーザがメッセージを入力し、プロトコル制御部１４の指示を受け、通信制御部１８が接続設定情報格納部１５から読み出された前回接続に成功した接続設定情報を用いたプロトコルそのＮによりサーバ３への接続を試みるステップＳ６１０〜ステップＳ６６０の動作は、図３におけるステップＳ４１０〜ステップＳ４６０の動作と同様である。
プロトコルそのＮが、サーバ３との接続に用いるプロトコルではなかった場合、ネットワーク２を構成するルータあるいは接続サーバなどから接続の失敗の通知が返送される（ステップＳ６７０）。通信制御部１８は、接続が失敗であったことをプロトコル制御部１４へ通知する（ステップＳ６８０）。
【００２７】
プロトコル制御部１４は、接続が失敗したことの通知を受けると、プロキシ情報取得部１６を介してプロキシ情報取得を要求し、さらに、通信制御部１８がサーバ３との通信に成功するか、もしくは、サポートするプロトコルがなくなるまで、プロトコル情報格納部１７から試行順序に従い、順にプロトコル情報を読み出し、通信制御部１８へ接続を要求する動作であるステップＳ６９０以降の動作は、図２のステップＳ１５０以降の動作と同様である。ただし、図４においては、プロトコルそのＪにより接続が成功している場合の例を示している。従って、ステップＳ８７０において、プロトコル制御部１４は、プロトコルそのＪに用いたプロトコル情報を接続設定情報格納部１５へ格納する。さらに、プロトコル制御部１４は、接続が成功した回数をこのプロトコルそのＪに使用したプロトコル情報に対応させて書き込む。そして、接続が成功した回数が多い順に、プロトコル情報の試行順序が決定される。
【００２８】
図５は、本発明の他の実施形態を示す。同図において、図１に示す実施形態と同一の部分には同一の符号を付し、その説明を省略する。
クライアント端末４とネットワーク２との間には、ルータ５が設置されている。そして、クライアント端末４は、ルータ５及びネットワーク２を介して、サーバ３と接続される。
ルータ５は、例えば、ユーザが保有するブロードバンドルータなどである。ルータ５は、特定のポート及びプロトコルのみを通過させるものとする。
【００２９】
クライアント端末４は、入力部４１、インスタントメッセンジャークライアント部４２、及び、ルータ定義情報格納部４９を備える。
入力部４１は、入力部１１と同様の機能を有する。
ルータ定義情報格納部４９は、例えば、ルータ５のＩＰアドレスやルータ情報を読み出すために使用する通信プロトコルやコマンドなどを示すルータ定義情報を記憶している。
【００３０】
インスタントメッセンジャークライアント部４２は、インスタントメッセージングサービスのクライアント側のソフトウェアであり、メッセージ制御部４３、プロトコル制御部４４、接続設定情報格納部４５、ルータ情報取得部４６、プロトコル情報格納部４７、及び、通信制御部４８から構成される。
接続設定情報格納部４５は、前回インスタントメッセンジャーサーバ部３１との接続に成功したプロトコルのプロトコル情報を記憶している。
プロトコル情報格納部４７は、プロトコル情報格納部１７と同様に、各インスタントメッセンジャーサーバ部３１が実装するプロトコルに使用されるプロトコル情報、試行順序及び接続成功頻度を記憶している。
【００３１】
メッセージ制御部４３は、メッセージ制御部１３と同様の機能を有する。
ルータ情報取得部４６は、ルータ定義情報格納部４９から読み出したルータ定義情報を用いてルータ５へアクセスし、ルータ情報を取得する。ルータ情報は、例えば、ルータ５が通過を許可しているプロトコルの種別やポート番号を示す。
プロトコル制御部４４は、接続設定情報格納部４５に前回接続が成功したプロトコルのプロトコル情報を問い合わせる。前回接続が成功したプロトコルのプロトコル情報が得られた場合には、このプロトコル情報を用いたプロトコルによる接続指示する。一方、プロトコル情報が得られなかった場合には、ルータ情報取得部４６が読み出したルータ情報で示される、ルータ５が通過を許可する試行順序が最も若いプロトコルのプロトコル情報をプロトコル情報格納部４７内から読み出し、当該プロトコル情報を用いたプロトコルによる接続を通信制御部４８へ指示する。接続に失敗した場合、プロトコル情報格納部４７から試行順序に従ってルータ５が通過を許可するプロトコルのうち次のプロトコル情報を読み出し、通信制御部４８へ接続を指示する。また、接続に成功した場合、このとき使用したプロトコルのプロトコル情報を接続設定情報格納部４５に書き込む。このとき、さらに、ルータ情報の一部または全部を格納してもよい。また、接続成功頻度をプロトコル情報格納部４７へ書き込む。
通信制御部４８は、通信制御部１８と同様の機能を有する。
【００３２】
上記構成により、クライアント端末４のプロトコル制御部４４は、図２のステップＳ１５０からステップＳ１７０、及び、図４のステップＳ６９０からステップＳ７１０において、プロキシ情報取得部１６からプロキシ情報を得る代わりに以下の動作を行う。すなわち、プロトコル制御部４４は、ルータ情報取得部４６へルータ定義情報を問い合わせる。ルータ情報取得部４６は、ルータ定義情報格納部４９からルータ定義情報を読み出し、このルータ定義情報に従って、ルータ５へルータ情報を問い合わせる。ルータ情報取得部４６は、ルータ５からルータ情報を受信すると、プロトコル制御部４４へ受け渡す。
そして、図２のステップＳ１８０からステップＳ３００、及び、図４のステップＳ７２０からステップＳ８００において、プロトコル制御部４４は、プロトコル情報格納部４７から試行順序の若い順に、ルータ情報で示されるルータ５が通過を許可するプロトコルのプロトコル情報を読み出す。そして、読み出したプロトコル情報を使用し、ルータ５が通過を許可するポートを用いてサーバ３のインスタントメッセンジャーサーバ部３１との接続を要求するよう、通信制御部４８へ指示する。
上記のように、クライアント端末４のプロトコル制御部４４は、どのプロトコルを利用するか選択する際に、ルータ５から得たルータ情報を利用する。その結果適切なプロトコルをより早く選択することができる。また、ルータ定義情報を用意することにより、各社のルータ５に対応することができる。
【００３３】
なお、上述する例では、ネットワークを介して接続される異なるノード内のアプリケーション間で用いられるプロトコルの選択を行っているが、同一装置内における異なるアプリケーション間で用いられるプロトコルに適用してもよい。また、上述する例では、上位レイヤのプロトコルの選択を行っているが、下位レイヤのプロトコル選択に適用してもよい。
【００３４】
以上説明のように本実施の形態によれば、ユーザの端末は、通信先のノード（アプリケーション）がサポートしているプロトコルのプロトコル情報を内部に備え、このプロトコル情報を用いたプロトコルを順に試していく。従って、ユーザは、通信先のノードが実装するプロトコルや、ノードとの間のネットワーク構成を意識することなく、自身の端末から通信先のノードへ接続することができる。これにより、ユーザは、自身のクライアント端末へ接続設定を行うことなく、インスタントメッセンジャーサービスなどのアプリケーションを提供するサーバに接続し、アプリケーションを享受することができる。
また、ユーザの端末内で他のアプリケーション等が使用しているプロキシ情報を読み出し、通信先ノードとの接続に利用することができる。これにより、ユーザが煩雑な接続設定の情報を入力する必要がなくなる。
また、前回接続に成功したプロトコルにより通信先ノードとの接続を試みる。また、接続に成功した頻度が高い順のプロトコルにより、通信先ノードとの接続を試みる。これにより、接続が成功するまでの処理動作及び時間を軽減することができる。
【００３５】
なお、図１に示すクライアント端末１のインスタントメッセンジャークライアント部１２内の各部及びクライアント端末４のインスタントメッセンジャークライアント部４２内の各部、サーバ３、及び、ルータ５のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより本発明のネットワーク切替え装置が実現されるものとする。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含むものである。
【００３６】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３８】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００３９】
複数のノードと接続される装置において、接続先のノードとの通信に用いられる接続プロトコルを自動的に選択し、接続するために利用可能である。また、アプリケーション間で使用されるプロトコルを自動的に選択することにも適用可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明実施形態の構成を機能展開して示したブロック図である。
【図２】本発明実施形態の動作シーケンスを示す図である。
【図３】本発明実施形態の動作シーケンスを示す図である。
【図４】本発明実施形態の動作シーケンスを示す図である。
【図５】本発明実施形態の構成を機能展開して示したブロック図である。
【符号の説明】
【００４１】
１…クライアント端末
１１、４１…入力部
１２、４２…インスタントメッセンジャークライアント部
１３、４３…メッセージ制御部
１４、４４…プロトコル制御部
１５、４５…接続設定情報格納部
１６…プロキシ情報取得部
１７、４７…プロトコル情報格納部
１８、４８…通信制御部
１９…ブラウザ定義情報記憶部
２…ネットワーク
３、３ａ、３ｂ、３ｎ…サーバ
３１ａ、３１ｂ、３１ｎ…インスタントメッセンジャーサーバ部
４６…ルータ情報取得部
４７…ルータ定義情報格納部
４９…ルータ定義情報
５…ルータ
【図１】
2005078193.tif 000003
【図２】
2005078193.tif 000004
【図３】
2005078193.tif 000005
【図４】
2005078193.tif 000006
【図５】
2005078193.tif 000007