(57)【特許請求の範囲】
【請求項１】
複数のコンピュータがネットワークに接続されて成るクライアント／サーバ・システムにおいて、
ネットワーク上のサーバは、クライアント・コンピュータに導入されているクライアント・アプリケーションと連携して動作するメニューボタンに関するデータ（以下、ボタン情報という。）を保有するとともに、前記ボタン情報をクライアント・コンピュータに送信する機能を有し、
前記クライアント・アプリケーションは、前記クライアント・コンピュータに、前記サーバと通信して該サーバから前記ボタン情報を取得する機能と、取得したボタン情報に従ってディスプレイ上に当該クライアント・アプリケーションのＧＵＩ画面と組み合わせてメニューボタンを表示する機能と、表示されたメニューボタンに定義付けられている動作を実行する機能と、を実現させるためのプログラムであり、
前記クライアント・アプリケーションのＧＵＩ画面は、ユーザ操作によりメニューボタンの更新を指示するための更新ボタンを有し、該更新ボタンが操作されることにより、クライアント・アプリケーションから前記サーバに対して更新要求が送信され、該更新要求を受けて前記サーバ側からボタン情報がクライアント・アプリケーション側に提供されることを特徴とするクライアント／サーバ・システム。
【請求項２】
前記ボタン情報は、ボタン毎に定められた固有の識別符号であるボタンＩＤと、ボタンのイネーブル（enable）／ディスエーブル（disable）判別のための条件フラグであるコンディション・フラグと、ボタンが操作されたときの動作判別のための条件フラグであるアクション・タイプと、ボタン画像を特定するための情報と、を含むことを特徴とする請求項１に記載のクライアント／サーバ・システム。
【請求項３】
前記ボタン情報のパラメータに、有効開始日時と有効終了日時を設定し、前記クライアント・アプリケーションは、その期間内に該当する場合にだけ当該メニューボタンを表示する機能を実現させることを特徴とする請求項１又は２に記載のクライアント／サーバ・システム。
【請求項４】
前記クライアント・アプリケーションは、クライアント・コンピュータに、画像の送受信機能及び画像閲覧機能を実現させる画像ビューワであり、前記メニューボタンは画像の送信先が設定されている画像送信用ＧＵＩボタンであることを特徴とする請求項１乃至３の何れか１項に記載のクライアント／サーバ・システム。
【請求項５】
前記サーバは、クライアント・アプリケーションを起動して当該サーバにアクセスするユーザの個人情報が格納されているデータベースと、ユーザの個人情報に基づいて各ユーザに対して配信すべきボタン内容を決定する配信ボタン決定手段と、を有し、前記配信ボタン決定手段で決定されたボタンに係るボタン情報がクライアント・アプリケーションに渡されることを特徴とする請求項１乃至４の何れか１項に記載のクライアント／サーバ・システム。
【請求項６】
ユーザの個人情報は、クライアント・アプリケーションのオンラインユーザ登録機能によって前記データベースに登録され、登録時に各ユーザには固有の識別符号であるユーザＩＤが付与され、以後、クライアントからサーバへの要求には前記ユーザＩＤが付され、ユーザＩＤによる認証が行われることを特徴とする請求項５に記載のクライアント／サーバ・システム。
【請求項７】
前記サーバは、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、組み込むべきメニューボタンのボタンＩＤの一覧情報を送信し、前記一覧情報を受け取ったクライアント・アプリケーションは、該一覧情報に記述されているボタンＩＤと、クライアント・コンピュータの記憶装置に保存されているボタン情報のボタンＩＤとを比較し、異なるボタンＩＤに限り、そのボタンＩＤに関するボタン情報の取得をサーバ側に要求し、前記サーバは、要求されたボタンＩＤに係るボタン情報をクライアント・アプリケーションに送信することを特徴とする請求項２に記載のクライアント／サーバ・システム。
【請求項８】
クライアント・コンピュータとサーバとをネットワークを介して接続してクライアント／サーバ・システムを構成し、
クライアント・コンピュータに導入されているクライアント・アプリケーションと連携して動作するメニューボタンに関するデータ（以下、ボタン情報という。）をサーバ側のメニューボタン情報データベースに格納しておき、
クライアント・アプリケーションを起動して前記サーバにアクセスするユーザの個人情報をサーバ側のユーザ個人情報データベースに登録し、
各メニューボタンについて配信対象者の条件を定め、
前記ユーザ個人情報データベースに登録されているユーザの個人情報と前記条件と照合して、各ユーザに対して配信すべきメニューボタンを決定し、
クライアント・アプリケーションを起動して前記サーバと通信を行い、該サーバから決定されたメニューボタンに係るボタン情報を取得し、
取得したボタン情報に従ってディスプレイ上に当該クライアント・アプリケーションのＧＵＩ画面と組み合わせてメニューボタンを表示し、
表示されたメニューボタンに定義付けられている動作の実行を可能にすることを特徴とするクライアント・アプリケーションのボタン更新方法。
【請求項９】
前記ボタン情報は、メニューボタン毎に定められた固有の識別符号であるボタンＩＤと、ボタンのイネーブル（enable）／ディスエーブル（disable）判別のための条件フラグであるコンディション・フラグと、ボタンが操作されたときの動作判別のための条件フラグであるアクション・タイプと、ボタン画像を特定するための情報と、を含むデータ構成とし、
前記サーバは、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、組み込むべきメニューボタンのボタンＩＤの一覧情報を送信し、
前記一覧情報を受け取ったクライアント・アプリケーションは、該一覧情報に記述されているボタンＩＤと、クライアント・コンピュータの記憶装置に保存されているメニューボタン情報のボタンＩＤとを比較し、異なるボタンＩＤに限り、そのボタンＩＤに係るボタン情報の取得をサーバ側に要求し、
前記サーバは、要求されたボタンＩＤに係るボタン情報をクライアント・アプリケーションに送信することを特徴とする請求項８に記載のクライアント・アプリケーションのボタン更新方法。
【請求項１０】
クライアント・コンピュータとサーバとをネットワークを介して接続してクライアント／サーバ・システムを構成し、
クライアント・コンピュータに導入されているクライアント・アプリケーションと連携して動作するメニューボタンに関するデータ（以下、ボタン情報という。）をサーバ側のメニューボタン情報データベースに格納しておき、
前記ボタン情報は、メニューボタン毎に定められた固有の識別符号であるボタンＩＤと、ボタンのイネーブル（enable）／ディスエーブル（disable）判別のための条件フラグであるコンディション・フラグと、ボタンが操作されたときの動作判別のための条件フラグであるアクション・タイプと、ボタン画像を特定するための情報と、を含むデータ構成とし、
クライアント・アプリケーションを起動して前記サーバと通信を行い、該サーバからメニューボタンの更新要求を行い、
前記サーバは、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、組み込むべきメニューボタンのボタンＩＤの一覧情報を送信し、
前記一覧情報を受け取ったクライアント・アプリケーションは、該一覧情報に記述されているボタンＩＤと、クライアント・コンピュータの記憶装置に保存されているメニューボタン情報のボタンＩＤとを比較し、異なるボタンＩＤに限り、そのボタンＩＤに係るボタン情報の取得をサーバ側に要求し、
前記サーバは、要求されたボタンＩＤに係るボタン情報をクライアント・アプリケーションに送信し、
取得したボタン情報に従ってディスプレイ上に当該クライアント・アプリケーションのＧＵＩ画面と組み合わせてメニューボタンを表示し、
表示されたメニューボタンに定義付けられている動作の実行を可能にすることを特徴とするクライアント・アプリケーションのボタン更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットで代表される広域情報ネットワーク上におけるクライアント／サーバ・システムに関するものであり、特に、画像等のデータのアップロード／ダウンロードを実現するクライアント・アプリケーションの更新技術に関する。
【０００２】
【従来の技術】
従来、インターネット上のクライアント／サーバ・システムにおけるクライアント・アプリケーションは、予め決められた通信機能を持つに過ぎなかった。例えば、アプリケーション上のあるボタンを押した（クリックした）ときに働く通信機能は、アプリケーション自体のアップグレードをしない限り、変わることがないものであった。
【０００３】
【発明が解決しようとする課題】
しかしながら、クライアント・アプリケーションからある特定のＵＲＬ（Uniform Resource Locators ）へ接続する通信機能を持たせても、固定されたＵＲＬでは、コンテンツ・サービスの構成の自由度がなく、また、新たに開始したコンテンツ・サービスに直接接続することができなかった。
【０００４】
本発明は、このような事情に鑑みてなされたもので、クライアント・アプリケーション上に設けられるＧＵＩボタンの機能を簡単に変更することができるクライアント／サーバ・システムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
前記目的を達成するために、請求項１に記載の発明は、複数のコンピュータがネットワークに接続されて成るクライアント／サーバ・システムにおいて、ネットワーク上のサーバは、クライアント・コンピュータに導入されているクライアント・アプリケーションと連携して動作するメニューボタンに関するデータ（以下、ボタン情報という。）を保有するとともに、前記ボタン情報をクライアント・コンピュータに送信する機能を有し、前記クライアント・アプリケーションは、前記クライアント・コンピュータに、前記サーバと通信して該サーバから前記ボタン情報を取得する機能と、取得したボタン情報に従ってディスプレイ上に当該クライアント・アプリケーションのＧＵＩ画面と組み合わせてメニューボタンを表示する機能と、表示されたメニューボタンに定義付けられている動作を実行する機能と、を実現させるためのプログラムであり、前記クライアント・アプリケーションのＧＵＩ画面は、ユーザ操作によりメニューボタンの更新を指示するための更新ボタンを有し、該更新ボタンが操作されることにより、クライアント・アプリケーションから前記サーバに対して更新要求が送信され、該更新要求を受けて前記サーバ側からボタン情報がクライアント・アプリケーション側に提供されることを特徴としている。
【０００６】
本発明によれば、クライアント・アプリケーションは、ネットワーク上に存在するサーバ（メニューサーバ）に接続し、ボタン情報をダウンロードする。ボタン情報とは、クライアント・アプリケーションが各種の処理を行うために必要なパラメータの値とボタン画像から構成される。各ボタンが押されたときのクライアント・アプリケーションの挙動は、ボタン情報に含まれるパラメータの値を変えることにより指定される。例えば、画像転送機能ボタンの場合、転送可能な画像の枚数の上限を各ボタンから接続するサービス毎に異なる値に設定することができる。
【０００７】
サーバは、クライアント・アプリケーションからの要求に応じてクライアント側にメニューボタンの情報を提供し、クライアント側は、これをダウンロードすることで各種のメニューボタンの表示を行う。これにより、クライアント・アプリケーション上に設けられるＧＵＩボタンの機能を簡単に変更することができ、ユーザは、簡単に機能を最新のものに変更できる。特に、ネットワーク上で提供されるサービスへの接続機能の場合、サービス提供事業者は、細かなサービスの変更に伴って、メニューボタンの種類や内容を簡単に変えさせることができる。前記クライアント・アプリケーションのＧＵＩ画面は、ユーザ操作によりメニューボタンの更新を指示するための更新ボタンを有し、該更新ボタンが操作されることにより、クライアント・アプリケーションから前記サーバに対して更新要求が送信され、該更新要求を受けて前記サーバ側からボタン情報がクライアント・アプリケーション側に提供されることを特徴とする態様がある。もちろん、更新ボタンによる更新要求に限らず、アプリケーション起動時に自動的に更新要求を行ってもよいし、所定の時間間隔で自動的に更新要求を実行するようにプログラムされていてもよい。
【０００８】
本発明の一態様として、請求項２に示したように、前記ボタン情報は、ボタン毎に定められた固有の識別符号であるボタンＩＤと、ボタンのイネーブル（enable) ／ディスエーブル(disable) 判別のための条件フラグであるコンディション・フラグと、ボタンが操作されたときの動作判別のための条件フラグであるアクション・タイプと、ボタン画像を特定するための情報と、を含むことを特徴とする態様がある。
【０００９】
請求項３に示したように、前記ボタン情報のパラメータに、有効開始日時と有効終了日時を設定し、前記クライアント・アプリケーションは、その期間内に該当する場合にだけ当該メニューボタンを表示する機能を実現させることを特徴とする態様がある。このように、ボタン情報のパラメータに有効開始日時と有効終了日時を設定し、クラインアトアプリケーションや、コンピュータの時刻がその期間内に該当する場合に限り、当該ボタンの表示を行うことにより、期間限定のサービスなどへの接続ボタンなどにも応用できる。
【００１２】
請求項４に記載の態様によれば、前記クライアント・アプリケーションは、クライアント・コンピュータに、画像の送受信機能及び画像閲覧機能を実現させる画像ビューワであり、前記メニューボタンは画像の送信先が設定されている画像送信用ＧＵＩボタンであることを特徴としている。
【００１３】
請求項５に記載の態様によれば、前記サーバは、クライアント・アプリケーションを起動して当該サーバにアクセスするユーザの個人情報が格納されているデータベースと、ユーザの個人情報に基づいて各ユーザに対して配信すべきボタン内容を決定する配信ボタン決定手段と、を有し、前記配信ボタン決定手段で決定されたボタンに係るボタン情報がクライアント・アプリケーションに渡されることを特徴としている。
【００１４】
この場合、請求項６に示したように、ユーザの個人情報は、クライアント・アプリケーションのオンラインユーザ登録機能によって前記データベースに登録され、登録時に各ユーザには固有の識別符号であるユーザＩＤが付与され、以後、クライアントからサーバへの要求には前記ユーザＩＤが付され、ユーザＩＤによる認証が行われることを特徴とする態様がある。
【００１５】
すなわち、サーバは、クライアント・アプリケーションからメニュー更新の命令を受けたとき、予め収集してあるユーザ毎のユーザ個人情報を用いて、各ユーザの嗜好に合わせてメニューを自動作成し、これをユーザのクライアント・コンピュータに送信する。この方法により、サービス提供事業者は、ユーザに対してきめ細かいマーケティングを行うことができる。
【００１６】
また、請求項７に記載の態様によれば、前記サーバは、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、組み込むべきメニューボタンのボタンＩＤの一覧情報を送信し、前記一覧情報を受け取ったクライアント・アプリケーションは、該一覧情報に記述されているボタンＩＤと、クライアント・コンピュータの記憶装置に保存されているボタン情報のボタンＩＤとを比較し、異なるボタンＩＤに限り、そのボタンＩＤに関するボタン情報の取得をサーバ側に要求し、前記サーバは、要求されたボタンＩＤに係るボタン情報をクライアント・アプリケーションに送信することを特徴としている。
【００１７】
クライアント・アプリケーションは、一覧情報（メニュー情報）に書かれているボタンのＩＤを読み取り、既にクライアント・コンピュータの記憶領域に保存されているボタン情報と比較することにより、同じボタン情報を重複してダウンロードしないようになっている。これにより、無駄な通信を省くことができる。
【００１８】
請求項８に係るクライアント・アプリケーションのボタン更新方法は、クライアント・コンピュータとサーバとをネットワークを介して接続してクライアント／サーバ・システムを構成し、クライアント・コンピュータに導入されているクライアント・アプリケーションと連携して動作するメニューボタンに関するデータ（以下、ボタン情報という。）をサーバ側のメニューボタン情報データベースに格納しておき、クライアント・アプリケーションを起動して前記サーバにアクセスするユーザの個人情報をサーバ側のユーザ個人情報データベースに登録し、各メニューボタンについて配信対象者の条件を定め、前記ユーザ個人情報データベースに登録されているユーザの個人情報と前記条件と照合して、各ユーザに対して配信すべきメニューボタンを決定し、クライアント・アプリケーションを起動して前記サーバと通信を行い、該サーバから決定されたメニューボタンに係るボタン情報を取得し、取得したボタン情報に従ってディスプレイ上に当該クライアント・アプリケーションのＧＵＩ画面と組み合わせてメニューボタンを表示し、表示されたメニューボタンに定義付けられている動作の実行を可能にすることを特徴としている。
【００２０】
請求項９に記載の態様によれば、前記ボタン情報は、メニューボタン毎に定められた固有の識別符号であるボタンＩＤと、ボタンのイネーブル（enable）／ディスエーブル（disable）判別のための条件フラグであるコンディション・フラグと、ボタンが操作されたときの動作判別のための条件フラグであるアクション・タイプと、ボタン画像を特定するための情報と、を含むデータ構成とし、前記サーバは、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、組み込むべきメニューボタンのボタンＩＤの一覧情報を送信し、前記一覧情報を受け取ったクライアント・アプリケーションは、該一覧情報に記述されているボタンＩＤと、クライアント・コンピュータの記憶装置に保存されているメニューボタン情報のボタンＩＤとを比較し、異なるボタンＩＤに限り、そのボタンＩＤに係るボタン情報の取得をサーバ側に要求し、前記サーバは、要求されたボタンＩＤに係るボタン情報をクライアント・アプリケーションに送信することを特徴としている。
【００２１】
【発明の実施の形態】
以下添付図面に従って、本発明に係るクライアント／サーバ・システム及びクラインアント・アプリケーションのボタン更新方法の好ましい実施の形態について詳説する。
【００２２】
図１は、本発明の実施形態によるシステムの全体構成を示す図である。このシステムは、システム全体の運営を管理するサーバ（以下、運営管理サーバという。）１０と、サービス利用者２０のコンピュータ（以下、ユーザＰＣという。）２２と、利用者２０からの要求に応じてプリントその他のサービスを実施するサービスプロバイダ３０のサーバ（以下、サービスサーバという。）３２とがインターネット４０に接続された構成から成る。各サーバ１０、３２は、必要なデータベースを含み、通信仕様は、例えば、HTTP/1.0に準拠し、SSL （Secure Sockets Layer）に対応するものとする。
【００２３】
本システムによるサービスの運営を管理する管理者（以下、運営管理者という。）１２は、運営管理サーバ１０及びサービスサーバ３２を用意して、サービスの運営にあたる。もちろん、全てを自社で保有する必要はなく、サービスプロバイダ３０との業務提携などによってシステムを実現してもよい。運営管理サーバ１０は、サービスを展開する地域毎（例えば、国別）に複数設けてもよい。
【００２４】
利用者２０は、ユーザＰＣ２２その他の通信端末に組み込まれている通信機能付き画像閲覧用ソフトウエア（以下、画像ビューワという。）を用いて運営管理サーバ１０及びサービスサーバ３２との間で必要な通信を行うことができる。画像ビューワの詳細については後述するが、ユーザＰＣ２２に接続されている電子カメラ２４の記録媒体に格納されている画像データをインターネット４０を介して運営管理サーバ１０、サービスサーバ３２その他のサーバにアップロードしたり、サーバ側から必要なデータをダウンロートする機能を備えている。
【００２５】
サービスプロバイダ３０は、例えば、図示せぬプリンタ等のプリント処理設備を保有し、利用者からの注文に応じて写真プリントを実施し、そのプリント物を注文主である利用者に引き渡す業務を行う。
【００２６】
図２は、当該画像ビューワを利用してネットワークに接続するシステムの構成図であり、図３は画像ビューワの表示画面（ＧＵＩ画面）の一例を示す図である。図２において、クレードル２６は、ＵＳＢ等の通信インターフェースを介して電子カメラ２４と通信接続されるとともに、電子カメラ２４に対して電源を供給することができる。電子カメラ２４は、被写体を撮像して光学像を電気信号に変換する撮像手段と、画像信号を処理して所定の信号形態に変換する信号処理手段と、画像を記録媒体（内蔵メモリ又はリムーバブルメディア）に記録する記録手段と、他の通信機器と情報の送受信を行う通信手段とを備えている。電子カメラ２４にマイクロフォンを付加して音声データの記録ができる構成にしてもよい。
【００２７】
電子カメラ２４は、ユーザＰＣ２２等とＵＳＢ接続した場合にストレージデバイスとして機能するストレージモードと、テレビ会議用などに映像信号をリアルタイムで送出するビデオカメラとして機能するＶＣ（video conference) モードとを有し、利用者がモードを選択できるようになっている。
【００２８】
ユーザＰＣ２２は、ＵＳＢ等の通信手段２８を介して電子カメラ２４の接続を自動検出する（Plug&Play 機能を用いて検出する）。ストレージモードに設定した電子カメラ２４をクレードル２６に挿すと、ユーザＰＣ２２はその接続を自動検出して、当該電子カメラ２４内の画像を一覧表示するアプリケーションソフトウェアである画像ビューワ５０（図３参照）を自動で起動することができる。
【００２９】
画像ビューワ５０が起動されると、ユーザＰＣ２２はインターネット４０を介して運営管理サーバ１０にアクセスし、当該サーバ１０に登録されている各種提供可能サービスのサービスメニュー等の情報を取得する。取得したサービスメニュー等の情報に基づいて、図３に示すように、画像ビューワ５０のウインドウ画面に各種のアイコン（メニューボタンという。）５１が表示される。
【００３０】
なお、画像ビューワ５０のアプリケーションをユーザＰＣ２２にインストール後、初めて「ユーザ登録ボタン」（不図示）が押下された時には、所定のサーバ（メインサーバと呼ぶ。）にアクセスして、地域名とそれに対応するローカルサーバ（地域別サーバ）名の一覧の取得要求を行う。メインサーバは、要求に応じて地域別サーバ名の一覧をユーザ側に提供し、ユーザは、その一覧から自身が管轄されるローカルサーバを選択する。
【００３１】
選択されたローカルサーバ上のユーザ登録ページにおいて、氏名、住所、郵便番号、E-mailアドレス、所有している電子カメラの機種、性別、電話番号、生年月日、職業、パスワードなどの個人情報を入力して登録を行う。この登録と引き換えにユーザＩＤが渡され、以後、サーバアクセス時にはユーザＩＤを照合して認証を行う。運営管理サーバ１０は、ユーザＩＤを用いて利用者２０の個人情報を管理する。これにより、各利用者２０毎にカスタマイズしたメニューボタン５１や広告等を配信することができる。
【００３２】
図３に示したように、画像ビューワ５０のウインドウは、フォルダ構造を表示するファイルリスト表示部５３と、ユーザが指定したフォルダ内に格納されている画像の縮小画像（サムネイル画像）５４を一覧表示する画像一覧表示部５５と、各種サービスのメニューボタン５１を一覧表示するメニュー表示部５６と、を備えている。メニュー表示部５６の一部は、広告表示部として兼用することも可能であり、ここに運営管理サーバ１０から配信されるバナー広告等を表示してもよい。
【００３３】
各メニューボタン５１は、図１で説明したサービスプロバイダ３０のサーバ３２へ接続するためのリンクボタンとなっており、例えば、プリントサービスボタン、フォトＣＤ作成サービスボタン、写真公開ボタン、フォトコンテスト投稿ボタン、オークションサイト送信ボタン、携帯電話用表示ボタンなどのサービス選択ボタンが含まれる。
【００３４】
利用者２０は、ファイルリスト表示部５３に表示されているファイル名又は画像一覧表示部５５に表示される縮小画像５４の一覧から所望の１乃至複数の画像を図示せぬマウス等のポインティングデバイス又はキーボードに代表される入力手段を用いて選択して、所望のメニューボタン５１をクリックするだけで、プリントサービス注文に必要な画像等の情報の送信やフォトＣＤ作成サービス、インターネット上での写真公開サービス、及びフォトコンテスト投稿のための画像ファイルや、音声ファイルのアップロードが可能となる。
【００３５】
また、画像ビューワ５０には、メニュー更新ボタン５８が設けられており、利用者２０が必要に応じてこのメニュー更新ボタン５８をクリックすると、運営管理サーバ１０にアクセスして最新のメニューボタン情報の取得を行うことができる。
【００３６】
次に、上記構成の画像ビューワ５０におけるメニュー更新機能について説明する。まず、図４を用いて全体の流れを説明する。ユーザが画像ビューワ５０のメニュー更新ボタン５８をクリックすると、ユーザＰＣ２２はサービスを管轄するローカルサーバ（運営管理サーバ１０に相当）へアクセスし、メニュー情報の取得処理、ボタン情報の取得処理及びボタン画像の取得処理を行う。メニュー情報とは、複数のボタン情報の集まりであり、ボタン情報とは、ボタンが組み込まれる画像ビューワ５０が各種の処理を行うために必要なパラメータの値とボタン画像から構成される。このとき、当該運営管理サーバ１０は、ユーザＰＣ２２に対してメニューボタン５１に関する情報を配信するメニューサーバとして機能する（以下、必要に応じて「メニューサーバ」という用語を用いる。）。
【００３７】
メニューサーバから取得したメニュー情報、ボタン情報及びボタン画像に基づいてユーザＰＣ２２の画像ビューワ５０におけるメニューボタン５１の一覧表示が更新される。メニューボタン５１が押されたときの挙動を決定する各種パラメータ（例えば、リンク先のＵＲＬもその一つ）は、メニューサーバから取得したボタン情報に含まれる。
【００３８】
ユーザがメニューボタン５１を押すと、画像ビューワ５０がＷＷＷブラウザ６０を起動し、このブラウザにサービスサイトのＵＲＬが渡される。そして、該ＵＲＬで指定されるサービスサイトにアクセスし、サービスサイトのサーバ６２からＷｅｂページを取得する。
【００３９】
図５は、メニュー更新時のシーケンスを示すフローチャートである。図上で左側がクライアント（ユーザＰＣ２２）側の処理を示し、右側がメニューサーバ側の処理を示す。ユーザが画像ビューワ５０画面のメニュー更新ボタン５８をクリックすると（ステップＳ１１０）、ユーザＰＣ２２からイベント取得要求が送信される（ステップＳ１１２）。なお、ここでいう「イベント」とは、「特別企画の催し」、或いは「最近のお知らせ」の如き意義を有し、運営管理者がユーザに対して特別に提示する情報である。図６にイベント取得要求に含まれるデータの内容を示す。
【００４０】
図５においてメニューサーバは、イベント取得要求を受理し（ステップＳ１１４）、ユーザＩＤとパスワードで認証を行う（ステップＳ１１６）。この認証処理は、データベース１３に登録されているユーザ個人情報との照合によって行う。ステップＳ１１６において認証に失敗した場合、メニューサーバは、「認証失敗」のステータスコードをクライアント側に送信する。クライアント側が認証失敗通知を受理すると（ステップＳ１１７）、ステップＳ１２４の処理にジャンプする。
【００４１】
ステップＳ１１６において認証に成功したら、ステップＳ１１８に進み、イベントXML の作成処理を行う。ここでは、データベース１４に格納されているイベント情報を活用しながら当該ユーザの条件に適合したイベントが抽出され、XML （Extensible Markup Language）の形式に従って記述される。
【００４２】
こうして作成されたイベントXML は、クライアント側へ送信される（ステップＳ１２０）。クライアント側がメニューサーバから送られたイベント判定結果（イベントXML ）を受理すると（ステップＳ１２２）、画像ビューワ５０上にイベントの情報が表示される。
【００４３】
続いて、ユーザＰＣ２２は、メニューサーバに対してメニュー情報の取得要求を送信する（ステップＳ１２４）。メニューサーバは、メニュー情報取得要求を受理すると（ステップＳ１２６）、ユーザＩＤとパスワードで認証を行う（ステップＳ１２８）。この認証処理は、データベース１３に登録されているユーザ個人情報との照合によって行う。ステップＳ１２８において認証に失敗した場合、メニューサーバは、「認証失敗」のステータスコードをクライアント側に送信する。クライアント側が認証失敗通知を受理すると（ステップＳ１２９）、メニュー更新処理のシーケンスを終了する（ステップＳ１３０）。
【００４４】
ステップＳ１２８において認証に成功したら、ステップＳ１３２に進む。ステップＳ１３２では、メニュー更新回数カウントを１インクリメントし、そのカウント値の更新を行う。メニュー更新回数のカウント値はデータベース１３上にユーザ個人情報の一つとして格納される。
【００４５】
次いで、ステップＳ１３４に進み、当該ユーザの条件に適合したサービスリストXML の作成処理を行う。ここでは、メニュー決定条件データベース１５とユーザの個人情報データベース１３を参照し、メニュー取得要求を行ったユーザの個人情報とメニュー決定条件とから条件が合致するメニューのボタンＩＤを決定する。ボタンＩＤは、各メニューボタン５１についてユニークに（重複なく）定義された識別符号である。また、メニュー配信処理中に画像ビューワ５０に表示するメッセージその他のメッセージ情報がメッセージ情報データベース１６から抽出される。こうして決定されたボタンＩＤの一覧リスト及びメッセージ情報がXML に記述される。このとき、メニューボタン５１の表示優先順位についてもユーザの条件によって適宜決定される。ユーザ側に提示されるサービスリストの決定ロジックについては図１２で詳述する。
【００４６】
図５のステップＳ１３４で作成されたサービスリストXML は、メニュー情報検索結果としてクライアント側のユーザＰＣ２２に送信される（ステップＳ１３６）。メニュー情報としてメニューサーバから画像ビューワ５０へ送信されるデータ内容を図７に示し、図８にメニュー情報XML （サービスリストXML ）の一例を示す。
【００４７】
図５においてユーザＰＣ２２は、サービスリストXML を受理すると（ステップＳ１３８）、その記述内容を解析し（ステップＳ１４０）、取得すべきボタンＩＤを決定する（ステップＳ１４２）。すなわち、クラインアト・アプリケーションである画像ビューワ５０は、サービスリストXML に記述されているボタンのＩＤを読み取り、ユーザＰＣ２２の記憶領域に保存されているボタンＩＤと比較し、サービスリスト中に更新されているＩＤがあるか否かを判定する。そして、追加されたボタン或いは変更されたボタンのみをボタン情報の取得対象として決定する。こうすることで、既にユーザＰＣ２２内に保持しているボタン情報と同じボタン情報については重複したダウンロードを回避し、無駄な通信を省くようになっている。
【００４８】
ステップＳ１４２において取得対象のボタンＩＤが決定したら、次いで、ボタンを１つ以上取得するか否かの判定を行う（ステップＳ１４４）。取得すべきボタンが１つもない場合（ＮＯ判定時）は、ステップＳ１６８にジャンプし、ユーザＰＣ２２内に保持しているボタン情報及びボタン画像に基づいて画像ビューワ５０のメニュー表示部５６にボタン画像の表示を行った後（ステップＳ１６８）、ロード完了メッセージを表示して（ステップＳ１７０）、本シーケンスを終了する（ステップＳ１７２）。
【００４９】
ステップＳ１４４において取得すべきボタンが少なくとも１つある場合（ＹＥＳ判定時）は、ステップＳ１４６に進んで、画像ビューワ５０の画面上にロード中であることを示すメッセージの表示を行う。次いで、ボタン情報の取得要求を送信する（ステップＳ１４８）。ボタン情報の取得要求には、セッションＩＤとボタンＩＤのデータが含まれる。
【００５０】
ボタン情報取得要求を受信したメニューサーバは、メニューボタン情報データベース１７から当該要求に係るボタンＩＤのボタン情報を検索し、その検索結果に基づいてボタン情報XML を作成する（ステップＳ１５０）。こうして作成されたボタン情報XML はクライアント側に送信される（ステップＳ１５２）。ボタン情報としてメニューサーバから画像ビューワ５０へ送信されるデータ内容を図９及び図１０に示し、図１１にボタン情報XML の一例を示す。
【００５１】
図５のステップＳ１５２においてメニューサーバから送信されたボタン情報XML をクライアント側が受理すると（ステップＳ１５４）、クライアント・アプリケーションは、当該ボタン情報XML の解析を行う（ステップＳ１５６）。そして、ボタン情報に含まれているボタン画像ファイルの保存先ＵＲＬの情報を取得し、これを基に、ボタン画像の取得要求をメニューサーバに対して送信する（ステップＳ１５８）。
【００５２】
メニューサーバは、ボタン画像データベース１８から要求に係るボタン画像を検索し（ステップＳ１６０）、該当するボタン画像の画像ファイルを出力する処理を行う（ステップＳ１６２）。
【００５３】
クライアント・アプリケーションは、メニューサーバから送られてくるボタン画像を受理し（ステップＳ１６４）、続いて、未取得のボタンＩＤに関するボタン情報があるか否かの判定を行う（ステップＳ１６６）。もし、未取得のボタンＩＤがあれば、ステップＳ１４８に戻り、取得対象となっている全てのボタンＩＤについて上述の処理（ステップＳ１４８〜Ｓ１６６）を繰り返し、ボタン情報及びボタン画像の取得を行う。
【００５４】
ステップＳ１６６において、未取得のボタンＩＤがなくなったとの判定を得たら、ステップＳ１６８に進み、画像ビューワ５０のメニュー表示部５６にボタン画像を表示する。そして、ロード完了メッセージを表示した後（ステップＳ１７０）、本シーケンスを終了する（ステップＳ１７２）。こうして、画像ビューワ５０のメニュー表示部５６にはユーザ毎に最適化された最新のメニューボタン５１が表示される。なお、本例では、ボタン画像を特定する情報として画像ファイル格納場所のＵＲＬを用いたが、画像そのもののデータをボタン情報に包含させて、サーバ側からクライアント側に提供してもよい。
【００５５】
各メニューボタン５１の振る舞いは、ボタン情報のパラメータによって規定されており、画像ビューワ５０はボタン情報のパラメータに従ってその挙動を判定する。例えば、「電子カメラがＵＳＢケーブルに接続されているか」、「電子カメラのモードは何か」、「画像ビューワで画像選択中か？」という判断に応じて、表示するボタン画像（enable button またはdisable button）と、ボタンにポインタを当てたときにポップアップされる文字列を判定する。
【００５６】
その他、画像ビューワ５０は、ボタン情報のパラメータから以下の事項を決定する。すなわち、▲１▼メニューボタン５１が押されたときに、ブラウザに渡すＵＲＬとそのオプションの判定を行う。▲２▼メニューボタン５１が押されたときに、画像送信するか否かの判定を行う。▲３▼メニューボタンが押されたときに送信することができる画像の枚数、サイズ（縦横のピクセル）、ファイルサイズ（容量）、ファイルの種類等を判断する。▲４▼画像ビューワ５０起動時に、各ボタンがappear-date ／disappear-dateにより規定れるボタンの有効期限内か否かの判定を行う。
【００５７】
次に、図１２を参照しながら、ユーザの個人情報に基づいて当該ユーザ側に提示されるサービスリストの決定ロジックについて説明する。
【００５８】
同図に示したように、メニューサーバ７０（運営管理サーバ１０）は、メニューボタン情報データベース１７、メニュー決定条件データベース１５、及びユーザ個人情報データベース１３を有し、該メニューサーバの管理者７２（運営管理者１２に相当）は、メニューボタン情報の登録及び管理を行うとともに、メニュー決定条件の登録及び管理を行う。メニューボタン情報データベース１７には、ボタンＩＤ毎に、各ボタンの動作内容等を示すボタン情報が格納されている。
【００５９】
メニュー決定条件データベース１５には、メニュー送信の対象者の条件を規定したデータが格納されており、例えば、ボタンＩＤ１は条件なし、ボタンＩＤ２は女性、ボタンＩＤ３は学生又は「デジタルカメラ40i」という製品名のデジタルカメラを使用しているユーザ、ボタンＩＤ４は男性かつ年齢３０歳以上、ボタンＩＤ５は条件なし、という具合に、各ボタンＩＤ毎に送信対象となる人の条件が記述されている。
【００６０】
各ユーザ（Ａさん、Ｂさん）は、それぞれオンラインで個人情報の登録を行い、各ユーザの個人情報はユーザ個人情報データベース１３に格納される。例えば、Ａさんの個人情報には、男性、年齢４０歳、公務員、デジタルカメラ40iユーザという情報が含まれているものとし、Ｂさんの個人情報には、女性、年齢２１歳、学生、デジタルカメラ40iユーザという情報が含まれているものとする。
【００６１】
この場合、Ａさんがメニューサーバ７０に対してメニュー取得の要求を行うと、メニュー決定条件との照合結果として、｛ボタンＩＤ１，ボタンＩＤ３，ボタンＩＤ４，ボタンＩＤ５…｝がメニューサーバ７０から送られてくる。
【００６２】
また、Ｂさんがメニューサーバ７０に対してメニュー取得の要求を行うと、メニュー決定条件との照合結果として、｛ボタンＩＤ１，ボタンＩＤ２，ボタンＩＤ３，ボタンＩＤ５…｝がメニューサーバ７０から送られてくる。以後の処理は図５のステップＳ１３８以降で説明した通りである。
【００６３】
利用者が該メニューサーバ７０やサービスプロバイダ３０を利用した利用頻度（履歴）は、運営管理サーバ１０に個人情報として記録され、利用者側からユーザＩＤを受信すると、個々の利用者の利用履歴に応じて配信すべき情報が選択される。また、利用頻度の高いサービスプロバイダ３０の情報を優先して表示したり、表示の優先順位を入れ換えてもよいし、利用頻度の高いメニューボタン５１を利用者が選択し易い位置に優先して表示するようにしてもよい。
【００６４】
上記説明では、メニュー更新ボタン５８の押下に応動して、ボタンの更新処理を行う例を述べたが、画像ビューワ５０起動時に自動的にボタン更新処理を実行する態様や、オンライン中定期的に更新処理を自動実行する態様も可能である。また、何らかのメニューボタン５１を押してサーバにアクセスした機会に更新処理の可否をユーザに問い合わせる態様もある。また、画像ビューワ５０又はメニューサーバ７０側で更新の履歴を管理し、長期間にわたり更新が行われていない場合には、ユーザに対して更新処理の指示を促す警告を行うようにしてもよい。
【００６５】
上述した実施形態では、画像のダウンロード／アップロードを行うための画像ビューワ５０を説明したが、本発明の適用範囲はこれに限らず、静止画、動画、音声、音楽、書籍（文書）など、様々は電子データを取り扱うコンピュータプログラムについて本発明を適用できる。
【００６６】
【発明の効果】
以上説明したように本発明によれば、クライアント・アプリケーションからの要求に応じてサーバがクライアント側にメニューボタンの情報を提供し、クライアント側は、これをダウンロードすることで各種のメニューボタンの表示を行うようにしたので、クライアント・アプリケーションに組み込まれるＧＵＩボタンの機能や表示形態（ボタン画像やボタン配列を含む）を簡単に変更することができる。また、ユーザの個人情報を用いて、ユーザの嗜好に合わせてメニューボタンを配信することによって、各ユーザに対してきめ細かいマーケティングを行うことができる。
【００６７】
更に、メニューボタンの更新要求を行ったクライアント・アプリケーション側に対して、まず、該当するボタンＩＤの一覧情報を送信し、既にクライアント・コンピュータの記憶領域に保存されているボタン情報と比較することにより、同じボタン情報を重複してダウンロードしないように構成したので、無駄な通信を省略できる。
【図面の簡単な説明】
【図１】本実施形態に係るクラインアト／サーバ・システムの全体構成を示す図
【図２】利用者が画像ビューワを利用してネットワークに接続するシステムの構成を示す図
【図３】画像ビューワのＧＵＩ画面を示す図
【図４】本例のシステム利用形態を説明するために用いた図
【図５】メニュー更新時のシーケンスを示すフローチャート
【図６】イベント取得要求に含まれるデータの内容を示す図表
【図７】メニュー情報のデータ内容を示す図表
【図８】メニュー情報XML （サービスリストXML ）の一例を示す図
【図９】ボタン情報のデータ内容を示す図表
【図１０】ボタン情報のデータ内容を示す図表
【図１１】ボタン情報XML の一例を示す図
【図１２】メニューサーバによるメニュー決定ロジックを説明するために用いた図
【符号の説明】
１０…運営管理サーバ、１３…データベース（ユーザ個人情報データベース）、１５…データベース（メニュー決定条件データベース）、１７…データベース（メニューボタン情報データベース）、２２…ユーザＰＣ、２４…電子カメラ、２６…クレードル、３０…サービスプロバイダ、４０…インターネット、５０…画像ビューワ、５１…メニューボタン、５８…メニュー更新ボタン
【図１】
0004123405.tif 000002
【図２】
0004123405.tif 000003
【図３】
0004123405.tif 000004
【図４】
0004123405.tif 000005
【図５】
0004123405.tif 000006
【図６】
0004123405.tif 000007
【図７】
0004123405.tif 000008
【図８】
0004123405.tif 000009
【図９】
0004123405.tif 000010
【図１０】
0004123405.tif 000011
【図１１】
0004123405.tif 000012
【図１２】
0004123405.tif 000013