(57)【要約】【課題】  ネットワークが使用できない環境でのアクセス先を自動的に切り替えることができる通信方法及び装置を提供する。【解決手段】  ネットワークを介して利用可能なアプリケーションを実行するサーバと通信する端末において、ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、ネットワークが使用可能か否かを判定する第１のステップ、その判定によりネットワークが使用可能な場合は、アクセス先にサーバを設定する第２のステップ、前記判定によりネットワークが使用不可の場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する第３のステップ、及びアクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する第４のステップを実行することを特徴とする。【選択図】  図６
2006260399.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して利用可能なアプリケーションを実行するサーバと端末との間で通信する方法であって、前記端末において、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する第１のステップ、
前記判定により前記ネットワークが使用可能な場合は、アクセス先に前記サーバを設定する第２のステップ、
前記判定により前記ネットワークが使用不可の場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する第３のステップ、
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する第４のステップ
を実行することを特徴とする通信方法。
【請求項２】
ネットワークを介して利用可能なアプリケーションを実行するために必要なファイルやデータを有するサーバとの間で通信するための装置であって、
前記ネットワークへの接続を確認するネットワーク接続確認手段、及び
前記ネットワークへの接続が確認されたとき前記サーバにアクセスして前記ファイルやデータを呼び出すデータアクセス手段
を備えたことを特徴とする通信装置。
【請求項３】
ネットワークを介して利用可能なアプリケーションを実行するために必要なファイルやデータを有するサーバとの間で通信するための通信装置であって、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する判定手段、
前記ネットワークが使用可能と判定された場合は、アクセス先に前記サーバを設定し、前記ネットワークが使用不可と判定された場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する設定手段、及び
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する手段
を備えたことを特徴とする通信装置。
【請求項４】
ネットワークを介して利用可能なアプリケーションを実行するサーバと通信する端末において、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する機能、
前記ネットワークが使用可能と判定された場合は、アクセス先に前記サーバを設定し、前記ネットワークが使用不可と判定された場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する機能、及び
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己ＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する機能
を実行するコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにアクセス可能な端末からネットワーク上のサーバへの接続の可否にかかわらず、サーバ接続時と同じサービスを実現するための通信方法及び装置に関する。
【背景技術】
【０００２】
企業等での業務用コンピュータシステムを構築するための手段として、嘗ては大型汎用機で全処理を行うホスト集中型システムが主流であったが、近年のパーソナルコンピュータ（ＰＣ）及びワークステーションの高性能・低価格化により、機能の一部をクライアントＰＣに持たせ、サーバと協調して稼働するクライアント・サーバ型システム（以下「C/Sシステム」という）が主流となってきた。
【０００３】
C/Sシステムは開放系技術を用いているため、各メーカ独自の仕様であったホスト集中型システムと比較して非常に少ない初期投資で構築できるという大きな利点を有し、ホスト集中型システムにとって代わると思われたが、クライアント側にもソフトウェアを導入しなければならない等の理由により、メンテナンス費用も含めた総費用（TCO）の点で、ホスト集中型とあまり変わらないことが判明してきた。
【０００４】
このC/SシステムのTCO増大という問題を解決するため、最近、オペレーションシステム（ＯＳ）に標準で搭載されているインターネットブラウザを使用した３層モデルというものが提案された。これは、「ブラウザ」と称されるとおり閲覧する（ブラウズ）には適しているが、業務処理システムのように入力が主となるものには適しておらず、帳票印刷のような定型フォーマットに印刷する用途にも適していない。また、ネットワーク接続を前提としているため、インターネットに接続できない環境では使用できない等の理由により、企業情報システムとして、ホスト集中型システムやC/Sシステムを完全に置き換えるまでには至っていない。
【０００５】
今後は分散環境の発展に伴って、複数のサーバにまたがる分散処理に対し完全性を保証することが要求される。そのためには、通信エラーやサーバのダウン等により、いずれかの処理が実行できなかった場合に、代替処理ができるサーバを探して実行するか、或いは実行済みの処理（例えば、後述のXML Webサービス）に対してキャンセル処理を行うことで処理自体なかったことにするかという複雑な処理を行わなければならない。
【０００６】
ここで、XML Webサービスとは、コンピュータシステムで提供されるサービスであって、インターネット上で扱うデータを記述するための新しいデータフォーマット言語であるXML（eXtensible Markup Language）を用いて記述されるものである。XMLによれば、記述された情報に対して「タグ」という独自の意味づけを定義することができるため、プログラムからの操作が容易であり、XML WebサービスのLOGや動的画面を描画するための記述言語としてXMLが使用される。
【０００７】
近年、インターネットの普及により、いつでも場所を問わず商品を購入できるようになったが、現状のWebサイトは、既存の商売の仕組みをそのままインターネット上に展開したものに過ぎない。すなわち、殆どのWebサイトは、人間に向かって配信するように設計されている。このため、例えば、旅行や出張に必要な手配をインターネットを用いて行う際には、航空会社や鉄道などの交通機関のWebサイトにアクセスして航空券や乗車券の予約をすること、また、ホテルのサイトにアクセスして宿泊予約をすることを要するのが通常である。ここで、ホテルが満室なら別ホテルの検索を行う等、ユーザ（顧客）自身が旅行代理店の役割を果たしており、顧客の利便性の追及には至っていない。
【０００８】
このように現在のWebサイトの対象は基本的に人間であるが、今後、XML Webサービスを用いた「次世代Webサイト」を構築すると、Webサイト同士すなわちコンピュータ同士が自立的に結合して連係処理を行うことで、顧客に対するワンストップサービスの提供が可能になり、顧客の利便性がより良くなることが期待される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のようにネットワークの使用を前提とするシステムでは、ネットワークが使えない環境での運用が最大の課題となる。近年は、携帯電話その他の無線通信設備の発達により、ネットワークが使えないという状況は少なくなっているが、予定のネットワークが使えない場合、他の通信手段でシステムを運用しようとしても、同じアプリケーション（例えば、上記XML Webサービスを実行するためのコンピュータプログラム）は使えず、たとえ使えたとしても、通信不能の場合は別の操作方法を強いられる等、ユーザにとって使いやすいとはいい難いのが現状である。
【００１０】
しかしながら、ネットワークの使用が不可欠なシステムにおいては、通信環境の状況に関係なく所定のアプリケーションを使用できる仕組みを実現しなければならない。その仕組みに必要な条件は、次のとおりである。
（１）ネットワークのアクセスを確認し、状況に応じて自己ＰＣの環境のみで運用が可能であること。
（２）ネットワークが使用不能である場合、アプリケーションは自己ＰＣにデータを保存できる仕組みであること。
（３）ネットワークが使用不可能である場合、アプリケーションは自己ＰＣからデータを取得できる仕組みであること。
（４）上記の仕組みは、自己ＰＣの操作性を変えることなく、自動的に実行可能なものであること。
【００１１】
本発明の目的は、上記のようにネットワーク使用が不可欠なシステムの構築に際して基礎となる、ネットワークが使用できない環境でのアクセス先を自動的に切り替えることができる通信方法及び装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明は、ネットワークの使用が不可欠なシステムにおいて通信環境の状況に関係なく所定のアプリケーションを使用できる仕組みを実現するため、ネットワークが使用可能か否かを自動的に判断し、データの要求先その他アクセス先を自動的に切り替えることを特徴とする。
【００１３】
詳細には、本発明の方法は、ネットワークを介して利用可能なアプリケーション（例えばXML Webサービス）を実行するサーバと端末との間で通信する方法であって、前記端末において、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する第１のステップ、
前記判定により前記ネットワークが使用可能な場合は、アクセス先に前記サーバを設定する第２のステップ、
前記判定により前記ネットワークが使用不可の場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する第３のステップ、
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する第４のステップを実行することを特徴とする。
【００１４】
本発明の装置は、ネットワークを介して利用可能なアプリケーションを実行するために必要なファイルやデータを有するサーバとの間で通信するための装置であって、前記ネットワークへの接続を確認するネットワーク接続確認手段、及び前記ネットワークへの接続が確認されたとき前記サーバにアクセスして前記ファイルやデータを呼び出すデータアクセス手段を備えたことを特徴とする。
【００１５】
また、本発明は、ネットワークを介して利用可能なアプリケーションを実行するために必要なファイルやデータを有するサーバとの間で通信するための通信装置であって、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する判定手段、
前記ネットワークが使用可能と判定された場合は、アクセス先に前記サーバを設定し、前記ネットワークが使用不可と判定された場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する設定手段、及び
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する手段
を備えたことを特徴とする。
【００１６】
更に、本発明によれば、ネットワークを介して利用可能なアプリケーションを実行するサーバと通信する端末において、
ＤＮＳによる名前解決後ＩＰアドレスによる前記サーバへのアクセスにより、前記ネットワークが使用可能か否かを判定する機能、
前記ネットワークが使用可能と判定された場合は、アクセス先に前記サーバを設定し、前記ネットワークが使用不可と判定された場合は、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定する機能、及び
アクセス先に前記サーバを設定した場合は当該サーバ上で、アクセス先に自己のＩＰアドレス若しくはＤＮＳ名を設定した場合は当該端末上で、それぞれ前記アプリケーションを起動する機能
を実行するコンピュータ・プログラムが提供される。
【発明の効果】
【００１７】
本発明によれば、端末からネットワークが使用可能か不可能かを判断し、データ等を要求するアクセス先を自動的に切り替えることで、あらゆる環境下での同一アプリケーションの使用を可能にする。また、ユーザが操作方法を習得するための難度を軽減し、ユーザの利便性を拡大できる。更に、システム製作者側もこの仕組みにより、過去に実現不可能だったシステムやサービスを顧客に提供でき、ビジネスチャンスを広げることができる。
【００１８】
また、アプリケーションの一例のXML Webサービスを提供するサーバに対してデータ要求などを行うプログラムにより、ネットワークを介してサーバにアクセスできないときでも端末側にあるサービスを同様に呼び出せるので、使用者はもとより、プログラム製作者側も同様のプログラム記述でサービスを実現できる。これにより、アプリケーションプログラムの製作コストの削減、習得難易度の軽減にも貢献し得る。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施例として複数XML Webサービスを提供するシステムの構成例を示す図である。
【００２０】
このシステムは、本サービスを利用するユーザ側のクライアント端末（ＰＣ）１からネットワーク（例えばインターネット）２を介して接続され、複数XML Webサービスを仲介するサーバ（以下「コーディネートサーバ」という）３と、サービス提供者側の複数のサーバ（以下「エージェントサーバ」という）４ａ，４ｂ，４ｃ・・・とで構成されている。
【００２１】
クライアント端末１はクライアントエンジン、各サーバはサーバエンジンをそれぞれ備える。この２種のエンジンは、コンピュータプログラムから成り、クライアント端末又は各サーバを構成するコンピュータに格納される。
【００２２】
プログラムは、種々の要素の組み合わせにより、ユーザに対してサービスを提供するものである。そこで、このような要素を用意して、各要素の基本的な機能を予め規定しておき、それらの要素を機能させる仕組み（エンジン）を配置することで、現状のプログラムと同等の動作を実現することが考えられる。
【００２３】
上記エンジン自体を製作するためのプログラミング言語は何でもよく、設定を定義するXMLデータをエンジンの言語に対応させるためにXSL (eXtensible Stylesheet Language) を使用し、プログラミング言語の使用の違いを吸収する。これにより、プログラミング言語ごとにエンジンとXSLのみを作成すれば、あらゆる環境でこの仕組みが実現できる。
【００２４】
サーバエンジンは、図２に示すように、クライアント端末１からの処理要求に応じて、サーバ上のWebサービス処理を実行し、結果を回答する。これにより、クライアント端末以外で行う処理をコンピュータ同士が自立的にやり取りして分散処理を実現するXML Webサービスを動的に生成し、複数のXML Webサービスに対して整合性を保った処理環境（トランザクション環境）を提供できる。
【００２５】
クライアントエンジンは、従来のWebアプリケーションでは不得意な、表現力に乏しいGUI環境を大きく改善するものである。詳細には、次のような機能を有する。
【００２６】
通常のクライアント画面はコンパイルしたもの、つまり静的な画面というのが一般的であるが、上記クライアントエンジンでは、画面構成情報からイベント処理等の全てをXMLと呼ばれるタグ言語にて記述し、サーバ側で実行されるXML WebサービスによりXMLで記述された画面構成情報をXML Webサービスから受け取り、その内容を解釈して画面上に動的に描画する。このため、非常に柔軟で表現力に富んだ画面になる一方で、そのやり取りされるXMLの情報量は相当のものになる。
【００２７】
また、クライアントエンジンでは、画面構成情報からイベント処理など全てをXMLと呼ばれるタグ言語にて記述し、その定義情報から、画面表示の各要素（部品）の表示位置（X,Y座標）や基礎的な表示状態などを動的に再現する。更に、その動作方法及び手順についても、XMLを用いた定義情報から取得して動作させる。これにより、プログラミング作業そのものが変革される。すなわち、プログラマは、プログラムコードを記述するのではなく、プログラムの見栄えや振る舞いに思考の中心を移すことができ、新しいプログラム制作が実現することとなる。
【００２８】
クライアントエンジンは、図３に示すように、コーディネートサーバ３から複数のクライアント端末１ａ，１ｂ，１ｃ・・・にそれぞれダウンロードされる。
【００２９】
従って、図４に示すように、コーディネートサーバ３と各種クライアント端末１ａ，１ｂ，１ｃ・・・との間では次の動作が行われる。
（１）コーディネートサーバ３からクライアントエンジン送信（配布）、
（２）クライアント端末１でクライアントアプリケーションの生成、
（３）クライアント端末１からＷｅｂサービス（予約など）要求、
（４）コーディネートサーバ３からエージェントサーバ４へＷｅｂサービス呼び出し及び実行、
（５）エージェントサーバ４からのＷｅｂサービス実行処理結果をクライアント側へ送信。
【００３０】
図１のシステムにおいて、上記サーバ（コーディネートサーバ３のみならず、エージェントサーバ４ａ〜４ｃもふくまれる。以下同様。）は、XML Webサービスを実行するために必要なファイルやデータを格納するデータベース３１と、このデータベース３１に外部或いは内部からアクセスしてファイルやデータの呼出し等を行うためのデータアクセスプログラム３２（図５）とを備えている。
【００３１】
クライアント端末１は、XML Webサービス等のアプリケーションを実行するための手段に加えて、ネットワークが使用できない環境でのアクセス先を自動的に切り替えるための手段として自動切換え通信コンポーネント５を備えている。
【００３２】
詳細には、図５に示すように、クライアント端末１は、XML Webサービス等を実行するために必要なファイルやデータを格納するデータベース１０と、XML Webサービス等を実行するためのアプリケーションプログラム１１を備えている。また、自動切換え通信コンポーネント５は、XML Webサービス実行のために必要なファイルやデータにアクセスする機能実現手段としてのデータアクセスプログラム１２と、ネットワークへの接続を確認する機能実現手段としてのネットワーク接続確認プログラム１３とで構成される。これらのプログラムは、クライアント端末に限らず、必要に応じてサーバに格納することも可能である。これらのプログラムを組み込んだクライアント端末又はサーバは、本発明を実施するための装置となる。
【００３３】
上記クライアント端末１は、ネットワーク２を介してサーバ３に接続するが、自動切換え通信コンポーネント５を備えたことにより、以下のように動作する。
【００３４】
図６の処理フローにおいて、初めに、自己ＰＣのＩＰアドレスを取得する（ＳＴ１）。これは、DHCP（Dynamic Host Configuration Protocol）を使ってＩＰアドレス及びネットワーク環境を設定するか、或いはネットワーク管理者より割り当てられたネットワーク設定を行うことである。なお、DHCPとは、インターネットに接続するコンピュータに、ＩＰアドレス等のインターネット接続に必要な情報を自動的に割り当てるプロトコルをいう。
【００３５】
次に、システムとして通常規定されているＤＮＳ（Domain Name System）による名前解決を行った後、ＩＰアドレスによりサーバにアクセスする（ＳＴ２）。インターネットでコンピュータ同士が通信をするためには、ＩＰアドレスというネットワーク上の24ビットで表されたインターネット上で唯一の数字列があり、そのアドレス同士で通信を行うが、数字の羅列では非常に覚えにくいということで考え出されたのが、覚えやすい英数字からなるDomain Name（例えば“www.c-grip.com”）であり、ＤＮＳは、Domain Nameの英数字をＩＰアドレスに変換（もしくは逆変換）する。
【００３６】
上記サーバへのアクセスにより、ネットワークが使用可能か否かを判断する（ＳＴ３）。すなわち、DNSエラーやHTTPエラーでなければ、ネットワーク使用可能と判断できる。この場合、サーバへのアクセス可であるから、アクセス先にサーバのアドレスをセットする（ＳＴ４）。一方、DNSエラー又はHTTPエラーの場合には、ネットワークは使用不可と判断して、アクセス先にlocalhost又は自己ＰＣのＩＰアドレスをセットする（ＳＴ５）。これは、自己ＰＣに対してlocalhostというDNS名又は１２７．０．０．１というＩＰアドレスにてアクセスすることである。通常のＴＣＰ／ＩＰクライアントでは、自己ＰＣに対してlocalhost  (127.0.0.1)というDNS名でアクセスが可能である。本発明の実施例では、これを利用している。
【００３７】
上記のように、アクセス先にサーバのアドレスをセットした場合（ＳＴ４）は当該サーバで、アクセス先にlocalhost又は自己ＰＣのＩＰアドレスをセットした場合（ＳＴ５）は自己ＰＣ上で、それぞれデータアクセスプログラムを実行する（ＳＴ６）。ここで実行するプログラムの例は、アクセス先がインターネット上のサーバ（例えば、図１のシステムでは、コーディネートサーバ３及びエージェントサーバ４ａ，４ｂａ，４ｃ）の場合は、当該サーバで前述のXML Webサービス処理を実行するためのプログラムであり、アクセス先が自己ＰＣの場合は、当該ＰＣ上で稼働するXML WebサービスやＤＢアクセス用のプログラムである。いずれも、アプリケーションの一例のXML Webサービスを行うためのプログラムとしては同じである。従って、図６の通信処理手順を実行することにより、使用可能なネットワークの状況に応じて、同じプログラムを実行できるアクセス先を自動的に変更できる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施例としてXML Webサービス提供システムを示す図。
【図２】図１のシステムにおいてクライアント端末からの処理要求に応じてWebサービス処理を実行し、結果を回答するサーバエンジンを示す図。
【図３】図１のシステムを構成するコーディネートサーバから各クライアント端末にクライアントエンジンがダウンロードされることを示す図。
【図４】ネットワークを介して通信する各クライアント端末とコーディネートサーバとを示す図。
【図５】図１の端末装置に備えられた自動切換え通信コンポーネント等の構成を示す図。
【図６】図５の端末装置で実行される通信処理の手順を示すフローチャート。
【符号の説明】
【００３９】
１…クライアント端末、２…ネットワーク、３…コーディネートサーバ、４ａ，４ｂ，４ｃ…エージェントサーバ、５…自動切換え通信コンポーネント、１１…アプリケーションプログラム、１２…データアクセスプログラム、１３…ネットワーク接続確認プログラム。
【図１】
2006260399.tif 000003
【図２】
2006260399.tif 000004
【図３】
2006260399.tif 000005
【図４】
2006260399.tif 000006
【図５】
2006260399.tif 000007
【図６】
2006260399.tif 000008