(57)【特許請求の範囲】
【請求項１】
クライアントデバイスから画像又は動画のデータをサービス提供サーバにアップロードする際に、前記クライアントデバイスと複数のサービス提供サーバの間の通信を交換サーバに仲介させる方法であって、
交換サーバの電子メモリに格納されて各々が複数のサービス提供サーバのそれぞれの１つに対応する複数のサーバ特異ＡＰＩから独立した共通ＡＰＩに従って、クライアントデバイスにおいて画像又は動画のデータをアップロードするためのユーザインタフェースを生成する段階と、
前記ユーザインタフェースに入力され、前記複数のサービス提供サーバの望ましいサービス提供サーバに対応するサービスの選択及び画像又は動画のデータを含む入力データを前記交換サーバにおいて受信する段階と、
前記望ましいサービス提供サーバに対応する前記サーバ特異ＡＰＩのそれぞれの１つに従って、前記交換サーバにおいて前記入力データを変換する段階と、
前記複数のサーバ特異ＡＰＩの前記それぞれの１つに従って、前記変換された入力データを前記交換サーバから前記望ましいサービス提供サーバに送信し、該望ましいサービス提供サーバからの応答が、変換されて前記共通ＡＰＩに従って前記クライアントデバイスに送信される段階と、
を含み、
前記共通ＡＰＩは、
前記望ましいサービス提供サーバ上に前記クライアントデバイスをログインさせるログイン機能と、
前記望ましいサービス提供サーバ上に格納された該望ましいサービス提供サーバにおける前記クライアントデバイスに関連付けられたデータ群のリストを前記交換サーバを通じて該クライアントデバイスに返送するアルバム機能と、
前記望ましいサービス提供サーバに新しいデータ群を前記交換サーバを通じて生成する新しいアルバム機能と、
前記望ましいサービス提供サーバ上に格納された該望ましいサービス提供サーバにおける前記クライアントデバイスに関連付けられたアセットのリストを前記交換サーバを通じて該クライアントデバイスに返送するアセット機能と、  前記クライアントデバイスのディスプレイ上に表示された選択されたデータを前記交換サーバを通じて該クライアントデバイスに返送する画像機能と、
前記交換サーバを通じて前記入力データを前記望ましいサービス提供サーバにアップロードするアップロード機能と、
を含み、
前記共通ＡＰＩによって各サービス提供サーバごとに前記クライアントデバイスにおいて生成される前記ユーザインタフェースは、少なくとも各サービス提供サーバに特有のアイコン又はロゴ、各サービス提供サーバにログインするのに必要である情報を入力するのに使用されるログイン情報入力ボックス、及びアップロード画像を設定するのに使用されるアップロード画像設定ボックスの表示位置は、いずれのユーザインタフェースでも共通である、
ことを特徴とする方法。
【請求項２】
新しいサービス提供サーバを前記交換サーバにおいて判断する段階と、
前記新しいサービス提供サーバに対応するサーバ特異ＡＰＩを前記交換サーバの前記電子メモリに格納する段階と、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のサービス提供サーバ上で利用可能なサービスを前記交換サーバにおいて判断する段階と、
前記ユーザインタフェースに組み込まれている前記利用可能なサービスのリストを前記共通ＡＰＩに従って前記クライアントデバイスに送信する段階と、
利用不能なサービス提供サーバに対応するサービスを前記ユーザインタフェースから除去する段階と、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記交換サーバに予め格納されて前記クライアントデバイスに対応するマシン特異情報を使用して前記入力データを該交換サーバにおいて検証する段階、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記共通ＡＰＩは、ＸＭＬフォーマットデータ及びＪＳＯＮフォーマットデータのうちの一方を生成することを特徴とする請求項１に記載の方法。
【請求項６】
コンピュータ可読命令を格納するコンピュータ可読媒体であって、
コンピュータ可読命令が、コンピュータによって実行された時に該コンピュータに方法を実行させ、
前記方法は、クライアントデバイスから画像又は動画のデータをサービス提供サーバにアップロードする際に、前記クライアントデバイスと複数のサービス提供サーバの間の通信を交換サーバに仲介させる方法であり、
交換サーバの電子メモリに格納されて各々が複数のサービス提供サーバのそれぞれの１つに対応する複数のサーバ特異ＡＰＩから独立した共通ＡＰＩに従って、クライアントデバイスにおいて画像又は動画のデータをアップロードするためのユーザインタフェースを生成する段階と、
前記ユーザインタフェースに入力され、前記複数のサービス提供サーバの望ましいサービス提供サーバに対応するサービスの選択及び画像又は動画のデータを含む入力データを前記交換サーバにおいて受信する段階と、
前記望ましいサービス提供サーバに対応する前記サーバ特異ＡＰＩのそれぞれの１つに従って前記入力データを変換する段階と、
前記複数のサーバ特異ＡＰＩの前記それぞれの１つに従って、前記変換された入力データを前記交換サーバから前記望ましいサービス提供サーバに送信し、該望ましいサービス提供サーバからの応答が、変換されて前記共通ＡＰＩに従って前記クライアントデバイスに送信される段階と、
を含み、
前記共通ＡＰＩは、
前記望ましいサービス提供サーバ上に前記クライアントデバイスをログインさせるログイン機能と、
前記望ましいサービス提供サーバにおける前記クライアントデバイスに関連付けられて該望ましいサービス提供サーバ上に格納されたデータ群のリストを該クライアントデバイスに前記交換サーバを通じて返送するアルバム機能と、
前記交換サーバを通じて前記望ましいサービス提供サーバに新しいデータ群を生成する新しいアルバム機能と、
前記望ましいサービス提供サーバにおける前記クライアントデバイスに関連付けられて該望ましいサービス提供サーバ上に格納されたアセットのリストを該クライアントデバイスに前記交換サーバを通じて返送するアセット機能と、
前記クライアントデバイスのディスプレイ上に表示されている選択されたデータを該クライアントデバイスに前記交換サーバを通じて返送する画像機能と、
前記入力データを前記望ましいサービス提供サーバに前記交換サーバを通じてアップロードするアップロード機能と、
を含み、
前記共通ＡＰＩによって各サービス提供サーバごとに前記クライアントデバイスにおいて生成される前記ユーザインタフェースは、少なくとも各サービス提供サーバに特有のアイコン又はロゴ、各サービス提供サーバにログインするのに必要である情報を入力するのに使用されるログイン情報入力ボックス、及びアップロード画像を設定するのに使用されるアップロード画像設定ボックスの表示位置は、いずれのユーザインタフェースでも共通である、
ことを特徴とするコンピュータ可読媒体。
【請求項７】
新しいサービス提供サーバを判断する段階と、
前記新しいサービス提供サーバに対応するサーバ特異ＡＰＩを前記交換サーバの前記電子メモリに格納する段階と、
を更に含むことを特徴とする請求項６に記載のコンピュータ可読媒体。
【請求項８】
前記複数のサービス提供サーバ上で利用可能なサービスを判断する段階と、
前記ユーザインタフェースに組み込まれている前記利用可能なサービスのリストを前記共通ＡＰＩに従って前記交換サーバから前記クライアントデバイスに送信する段階と、
利用不能なサービス提供サーバに対応するサービスを前記ユーザインタフェースから除去する段階と、
を更に含むことを特徴とする請求項６に記載のコンピュータ可読媒体。
【請求項９】
前記交換サーバに予め格納されて前記クライアントデバイスに対応するマシン特異情報を使用して前記入力データを検証する段階、
を更に含むことを特徴とする請求項６に記載のコンピュータ可読媒体。
【請求項１０】
前記共通ＡＰＩは、ＸＭＬフォーマットデータ及びＪＳＯＮフォーマットデータのうちの一方を生成することを特徴とする請求項６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２００８年７月２８日出願の「メディア交換」という発明の名称の米国特許出願番号第６１／１３７，２４１号、及び２００８年８月５日出願の「交換サーバを使用することによって画像をアップロード及びダウンロードするシステム」という発明の名称の米国特許出願番号第６１／０８６，２３５号の利益を請求するものであり、これらの両方は、引用により本明細書にその全体が組み込まれる。
【０００２】
本発明の進展は、サービスプロバイダにより管理されたサービス提供サーバによって提供されるサービスにアクセスするカメラのようなクライアントデバイスに関する。例えば、クライアントデバイスが、画像データなどのようなユーザデータをサーバに送信してサーバデータベースにアップロードデータを格納するアップロード処理を提供することができる。
【背景技術】
【０００３】
様々なタイプのサービスが、ネットワーク上でアクセス可能である。例えば、サーバにより管理されるデータベース内の格納に向けてデジタルカメラなどにより捕捉された画像のようなユーザデータをサーバにアップロードすることを可能にするサービスは公知である。ユーザは、オンデマンドでサーバのデータベース内に格納されている画像を閲覧することができる。更に、アップロードされた画像は、ユーザプリファレンスに基づいてネットワーク上で公的にアクセス可能にすることができる。このような画像アップロード処理は、例えば、本明細書において引用により組み込まれている日本公開特許出願公報第２００６−２５２１５２号に説明されている。
【０００４】
提供されるサービスのタイプ及びモードは、サービスプロバイダにより異なる。ユーザは、彼らのプリファレンスに応じてあらゆるサービスを選択することができる。
【０００５】
このような画像アップロードサービスを提供するサービスプロバイダは、「インターネット」ブラウザを通じて画像をアップロードする個々のソリューション、すなわち、各個々のサービスプロバイダに固有のソリューションを提供している。例えば、クライアントデバイスは、「インターネット」ブラウザによってアップロード処理を実行することができる。しかし、一般的に、この処理は、「インターネット」ブラウザに固有の多くの制限があるので困難である。
【０００６】
有用性を改善するために、一部のデジタルカメラのような一部のモバイルデバイスは、例えば、写真画像をアップロードするのに使用される前にそのメモリに格納されたアップロード処理実行プログラムを有する。あるいは、別の例として、このようなプログラムは、サーバからダウンロードされ、次に、カメラのようなモバイルデバイスのメモリに格納される。アップロード処理は、格納されたアップロード専用プログラムを使用して実行される。
【０００７】
しかし、このようなアップロード処理プログラムの多くは、それぞれのサービスプロバイダに固有のものである。すなわち、ある一定のサービスプロバイダによって提供される画像アップロードサービスを使用するためには、このある一定のサービスプロバイダに固有の専用プログラムが必要である。
【０００８】
ある一定のサービスプロバイダに一意的に対応する専用プログラムが、デジタルカメラのようなクライアントデバイスに使用される時、クライアントは、サービスプロバイダに固有であるＡＰＩ（アプリケーションプログラミングインタフェース）を使用する。ＡＰＩは、所定の処理の実行のためのプログラムのユニットである。ある一定のＡＰＩが呼び出されると、呼び出されたＡＰＩに指定されている所定の処理が実行される。例えば、ＡＰＩは、サーバ接続処理、ログイン処理、及びアップロード処理などの各々に対応するように設定される。クライアントは、これらのＡＰＩを使用して一連の処理を実行することができる。
【０００９】
殆どの場合、このようなＡＰＩは、各サービスプロバイダに固有である。すなわち、各サービスプロバイダにより指定されているログイン処理又はアップロード処理などに対応する専用ＡＰＩが設定されている。従って、クライアントは、このような専用ＡＰＩを使用することを要求される。
【００１０】
上述のように、画像アップロードサービスを提供するサービスプロバイダは、自社のサービスに固有である複数のＡＰＩを設定する。サービスプロバイダは、アップロード処理を実行するためにクライアントにこれらのＡＰＩを使用させる。上述のＡＰＩアプリケーション処理を通じて、サービスプロバイダに固有である満足できるデータフォーマットに従うアップロードデータの作成のようなアップロード処理及びクライアントサーバ通信処理などが実行される。この手段により、エラーがないアップロード処理が保証される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願番号第６１／１３７，２４１号
【特許文献２】米国特許出願番号第６１／０８６，２３５号
【特許文献３】日本公開特許出願公報第２００６−２５２１５２号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
クライアントが、１つのサービスプロバイダによって提供されるサービスのみを使用する場合、クライアント側で上述の１つのサービスプロバイダに一意的に対応するプログラム／ＡＰＩをインストールすれば十分である。しかし、実際には、画像アップロードサービスを提供する多くのサービスプロバイダが存在する。従って、ユーザがそれらの中からサービスプロバイダを自由に選択することを可能にするためには、クライアント側で全てのサービスプロバイダにそれぞれ対応する多くのプログラム／ＡＰＩをインストールすることが必要である。これは、限られたメモリ空間を有するカメラのようなクライアントデバイスに対しては望ましくない。
【００１３】
更に、プログラム／ＡＰＩは、例えば、サービスプロバイダによって提供されるサービスモードの変化のために変化及び／又は更新を受ける。複数のサービスプロバイダによって提供されたる画像アップロードサービスに対応する複数のＡＰＩ及びプログラムがインストールされているクライアントデバイスがユーザに提供された後にこのような変化及び／又は更新が達成される場合、プログラム／ＡＰＩを更新することがクライアント側で必要になる。ユーザがこのような更新処理を実行することを要求される場合、ユーザに負担が掛かる。更に、処理エラーの発生の危険性がある。
【課題を解決するための手段】
【００１４】
以上に鑑みて、本発明の進展は、クライアントデバイス、情報処理システム、情報処理方法、及び共通プログラム及び共通ＡＰＩを通じて複数のサービス提供サーバにアクセスするためのコンピュータ可読媒体を提供する。
【００１５】
本発明の開示は、クライアントデバイスと複数のサービス提供サーバの間の通信を交換サーバに仲介させる方法を提供する。ユーザインタフェースは、複数のサービス提供サーバとは独立している共通ＡＰＩに従ってクライアントデバイスにおいて生成される。ユーザインタフェースに入力された入力データは、交換サーバで受信される。入力データは、複数のサービス提供サーバのうちの少なくとも１つに対応するサービスの選択を含む。入力データは、選択されたサービスに対応する少なくとも１つのサービス提供サーバに関連付けられた少なくとも１つのサービス特異ＡＰＩに従って変換される。サービス特異ＡＰＩは、複数のサービス提供サーバにそれぞれ対応する複数の異なるサービス特異ＡＰＩの一部として交換サーバの電子メモリに格納される。変換されたデータは、少なくとも１つのサービス特異ＡＰＩに従って交換サーバから少なくとも１つのサービス提供サーバに送信され、少なくとも１つのサービス提供サーバからの応答は、変換されて共通ＡＰＩに従ってクライアントに送信される。
【００１６】
本発明の開示の他の目的、特徴、及び利点は、添付図面と共に読まれる本発明の例示的な実施形態の以下の詳細説明から完全に理解されるであろう。
【００１７】
本発明の進展及び付随する利点の多くのより完全な理解は、添付図面と共に考慮される時に以下の詳細説明の参照によりそれらがより良く理解されると容易に得られるであろう。しかし、添付図面及びその例示的な説明は、本明細書によって包含される本発明の進展の範囲をいかなる点においても制限するものではない。本明細書及び図面によって包含される本発明の進展の範囲は、添付の特許請求の範囲の文言によって定められる。
【図面の簡単な説明】
【００１８】
【図１】本発明の開示の例示的な実施形態による情報処理システムの図である。
【図２】サービスプロバイダによって提供されるサービスのモードの表である。
【図３】サービスプロバイダによって提供されるサービスのモードの付加的な表である。
【図４】本発明の開示の例示的な実施形態によるクライアント、交換サーバ、及びサービス提供サーバの間で実行される処理の処理シーケンス図である。
【図５】本発明の開示の例示的な実施形態によるクライアント、交換サーバ、及びサービス提供サーバの間で実行される処理の別の処理シーケンス図である。
【図６】本発明の開示の例示的な実施形態によるクライアント、交換サーバ、及びサービス提供サーバの間で実行される処理の更に別の処理シーケンス図である。
【図７】本発明の開示の例示的な実施形態によりクライアントに交換サーバによって提供されるサービス詳細情報の図である。
【図８】本発明の開示の例示的な実施形態によりクライアントの表示画面上に表示される画像アップロード処理のためのユーザインタフェース（ＵＩ）の図である。
【図９】本発明の開示の例示的な実施形態によりクライアントの表示画面上に表示される画像アップロード処理のためのユーザインタフェース（ＵＩ）の別の図である。
【図１０】本発明の開示の例示的な実施形態によりアップロードされた画像を閲覧する時点でクライアントの表示画面上に表示される画像リストの図である。
【図１１】本発明の開示の例示的な実施形態によりアップロードされた画像を閲覧する時点でクライアントの表示画面上に表示される画像リストの別の図である。
【図１２】本発明の開示の例示的な実施形態によりクライアントに交換サーバによって提供されるアップロード画像に対応するＵＲＬを選択するＵＲＬ選択処理シーケンスの流れ図である。
【図１３】本発明の開示の例示的な実施形態によりクライアント、交換サーバ、及びサービス提供サーバの間の処理に適用されるＡＰＩのシーケンス図表である。
【図１４】本発明の開示の例示的な実施形態によりクライアント、交換サーバ、及びサービス提供サーバの間の処理に適用されるＡＰＩの別のシーケンス図表である。
【図１５】本発明の開示の例示的な実施形態によりクライアント、交換サーバ、及びサービス提供サーバの間の処理に適用されるＡＰＩの更に別のシーケンス図表である。
【図１６】本発明の開示の例示的な実施形態によるクライアント、交換サーバ、及びサービス提供サーバの各々に関するハードウエア構成の図である。
【発明を実施するための形態】
【００１９】
以下において、好ましい実施形態を説明することにより、かつ添付図面を参照することにより本発明の進展を説明する。しかし、当業者は、包含される独立請求項に定める本発明の範囲内で他の用途及び修正を実現させるであろう。
【００２０】
図１は、クライアントデバイス１０１、別のクライアント１０２、ウェブサーバ１０５、交換サーバ１１０、及びサービス提供サーバＡ〜Ｆ、１２１〜１２６を含む本発明の開示の例示的な実施形態による情報処理システムの構成の例である。これらの装置は、ネットワーク上で通信を行うことができるように構成されている。
【００２１】
サービス提供サーバ１２１〜１２６は、クライアント１０１及び１０２にサービスを提供するサービスプロバイダＡ〜Ｆにより作動されるサーバである。具体的には、例えば、サービス提供サーバ１２１〜１２６は、クライアントによりアップロードされる画像データをデータベースに格納し、かつ格納したデータを管理する。クライアントによりアップロードされる画像は、クライアントユーザによるオンデマンドの画像の閲覧に向けて利用可能であるようにクライアント単位で管理される。更に、ユーザ設定に基づいて、ネットワーク上の一般からのアクセスに向けて画像を利用可能にすることができる。
【００２２】
サービス提供サーバ１２１〜１２６の各々は、他と異なるサービスプロバイダＡ〜Ｆにより作動されるサーバである。これらのサービスプロバイダＡ〜Ｆは、画像アップロードサービスを提供するという点で互いに同じであるが、サービスプロバイダによって提供されるサービスモードは、サービスプロバイダにより異なる。
【００２３】
図２及び図３は、サービスプロバイダＡ〜Ｆによって提供されるサービスの例である。図２、図３では、「Ｏ」は、サービス提供サーバによって提供されるサービスモードを表し、「Ｘ」は、サービス提供サーバによって提供されないサービスモードを表し、「−」は、サービス提供サーバに適用されない表エントリを表している。
【００２４】
サービスプロバイダＡ〜Ｆによって提供されるサービスは、各々がクライアントデバイスによりアップロードされる画像を管理するという点で共通性を有するが、サービスプロバイダによって提供されるサービスの特定モードは、サービスプロバイダにより異なり、その例を図２及び図３に示している。
【００２５】
以下は、図２、図３に含まれるサービスモードを説明するものである。
【００２６】
（１）「適合画像フォーマット」は、各サービスに従って許可されているのが静止画像のアップロード及び動画のアップロードの一方又はその両方であることを示している。
【００２７】
（２）「公開／非公開設定」は、一般公開画像／非公開画像としてクライアント（ユーザ）によって又は各サービス以外でアップロードされる画像を設定することが可能か否かを示している。
【００２８】
（３）「アルバム機能」は、クライアントデバイスにより又は各サービス以外でアップロードされる画像の管理のユニットとしてアルバムを設定することが可能か否かを示している。
【００２９】
（４）「アルバム表題エントリ」は、クライアントによりアップロードされる群の画像に向けて設定されるアルバムの表題の入力が各サービス下で受諾されているか否かを示している。
【００３０】
（５）「画像表題エントリ」は、クライアントデバイスによりアップロードされる画像の表題付記が各サービス下で許可されているか否かを示している。
【００３１】
（６）「画像説明エントリ」は、クライアントデバイスによりアップロードされる画像の説明文の入力が各サービス下で許可されているか否かを示している。
【００３２】
（７）「タグエントリ」は、クライアントデバイスによりアップロードされる画像のタグの付記が各サービス下で許可されているか否かを示している。
【００３３】
（８）「ログインパラメータ」は、クライアントからのアップロードの実行の時点で各サービスＡ〜Ｆにより必要とされるログインパラメータのタイプを示している。
【００３４】
（９）「静止画像最大サイズ」は、アップロードすることができる静止画像の最大サイズ、すなわち、そのアップロードが各サービス下で許可されていることを示している。
【００３５】
（１０）「動画最大サイズ」は、アップロードすることができる動画の最大サイズ、すなわち、そのアップロードが各サービス下で許可されていることを示している。
【００３６】
（１１）「動画最大時間」は、アップロードすることができる動画の時間の最大長さ、すなわち、そのアップロードが各サービス下で許可されていることを示している。
【００３７】
（１２）「最大コンテンツ数」は、アップロードすることができるコンテンツの最大数、すなわち、各サービス中でそのアップロードが許可されていることを示している。
【００３８】
（１３）「サービスロゴ」は、各サービスのサービスロゴを示している。
【００３９】
（１４）「サービス商標クレジットライン」は、各サービスの商標クレジットのテキストを示している。
【００４０】
（１５）「アップロード順序」は、クライアントによりアップロードされ、次に、各サービス下で閲覧時に及び／又は閲覧に向けて配置される画像の配置の順番を示している。
【００４１】
（１６）「サーバ側自動処理」は、サーバが各サービス下でアップロード処理の時点で自動的に行う処理を示している。
【００４２】
図２及び図３から良く理解されるように、サービスプロバイダＡ〜Ｆによって提供されるサービスは、各々がクライアントデバイスによりアップロードされる画像を管理するという点で共通性を有するが、サービスプロバイダによって提供されるサービスの特定モードは、サービスプロバイダにより異なる。図２及び図３は、単に例示的であるにすぎず、サービスの他のモードが可能であることに注意すべきである。従って、本発明の進展は、いかなる点においても図２、図３内に含まれるサービスのモードにより制限されるものではない。
【００４３】
図１のサービス提供サーバ１２１〜１２６に対応するサービスプロバイダＡ〜Ｆの各々は、上述のように、固有である画像アップロードサービスをクライアントデバイスに提供する。従って、サービスプロバイダＡ〜Ｆは、アップロード処理に必要とされるプログラム／ＡＰＩをクライアントに提供することが一般的である。クライアントは、サービスプロバイダ１２１〜１２６によって提供されるプログラム／ＡＰＩを使用しながらアップロード処理を行うことができる。
【００４４】
しかし、上述のように、クライアントが様々なサービスプロバイダＡ〜Ｆによって提供されるサービスを使用すると仮定された場合、これらのサービスプロバイダＡ〜Ｆによって提供される全てのプログラム／ＡＰＩをメモリ内にクライアントが記憶することが必要である。更に、例えば、プログラムの更新又は新しいＡＰＩの追加が行われる時、クライアント側で応答することが必要である。
【００４５】
本発明の進展による情報処理システムには、クライアントの負担を低減するために交換サーバ１１０が設けられている。
【００４６】
クライアント１０１及び１０２の各々は、サービス提供サーバ１２１〜１２６と直接の通信を行わず、間接的通信を実行する。すなわち、クライアント１０１は、交換サーバ１１０と通信し、一方、クライアント１０２は、ウェブサーバ１０５と通信する。
【００４７】
クライアント１０１は、例えば、メモリユニット内にアップロード処理の実施に向けてプログラム／ＡＰＩを格納し、プログラム／ＡＰＩを使用しながら処理を実行するクライアントである。各サービスプロバイダのサービス提供サーバ１２１〜１２６によって提供されるサービスを使用する時、クライアント１０１は、交換サーバ１１０で通信を行うために、これらのサービスプロバイダの全てに共通である共通のプログラム／ＡＰＩを使用する。すなわち、クライアント１０１は、交換サーバ１１０の仲介を通じてサービス提供サーバ１２１〜１２６を利用しながら、画像のアップロード、又は画像の閲覧などを実行する。
【００４８】
クライアント１０２は、アップロード処理に適用されるプログラム／ＡＰＩを有していないクライアントである。クライアント１０２は、直接に交換サーバ１１０と通信しないが、クライアント１０２は、閲覧機能を有し、ウェブサーバ１０５によって提供されるウェブページによって画像のアップロードを実行する。すなわち、クライアント１０２は、ウェブサーバ１０５及び交換サーバ１１０の仲介を通じてサービス提供サーバ１２１〜１２６を利用しながら画像のアップロード、又は画像の閲覧などを実行する。
【００４９】
ウェブサーバ１０５は、交換サーバ１１０とクライアント１０２の間のどこかに位置する。交換サーバ１１０によって提供されるデータに基づいて、ウェブサーバ１０５は、ＨＴＭＬデータから成るウェブページを作成する。次に、ウェブサーバ１０５は、作成したウェブページをクライアント１０２に提供する。更に、ウェブサーバ１０５は、クライアント１０２から送られるデータを交換サーバ１１０に転送する。例えば、ウェブサーバ１０５は、アップロードデータを交換サーバ１１０に転送する。
【００５０】
クライアント１０１は、サービス提供サーバ１２１〜１２６によって提供されるサービスのいずれかが使用される時、交換サーバ１１０との通信に向けて共通プログラム／ＡＰＩを使用して処理を実行する。同じことが、ウェブサーバ１０５にも当て嵌まる。従って、ウェブサーバ１０５は、クライアント１０１と同じプログラム実行機能を有する。
【００５１】
次に、図４〜図６を参照すると、交換サーバの仲介を通じてクライアントとサービス提供サーバの間でクライアントがサービス提供サーバ１２１〜１２６のいずれかによって提供されるサービスを使用する時に実行される通信処理シーケンスを説明している。
【００５２】
図４〜図６の各々は、ユーザを一番左にして、クライアント側ユーザ、クライアント、交換サーバ、及びサービス提供サーバを本明細書での登場順に示している。図４〜図６のクライアントは、図１のクライアント１０１に対応することに注意されたい。図４〜図６の交換サーバは、図１内の交換サーバ１１０に対応する。図４〜図６のサービス提供サーバは、図１のサービス提供サーバ１２１〜１２６のいずれか１つに対応する。
【００５３】
図４〜図６の各処理シーケンスを以下に説明する。
【００５４】
第一に、段階Ｓ１１では、クライアントユーザは、予めクライアント内に格納されたクライアントプログラムを起動する。クライアントプログラムは、サービス提供サーバ１２１〜１２６のいずれかのサービスのために実行される共通のプログラムである。
【００５５】
段階Ｓ１２では、クライアントは、起動プログラムに従って交換サーバに「現在利用可能なサービスのリスト」を要求する。クライアントがこのような要求を提出した時、クライアントは、要求に加えてパラメータとしてクライアントローカルエリア情報及びクライアント言語情報を送信することができる。パラメータ送信は、ユーザ設定に従う処理として行うことができることに注意されたい。
【００５６】
段階Ｓ１３では、交換サーバは、現在利用可能なサービスの要求されたリストをクライアントに返信する。交換サーバは、予め図１に示すサービス提供サーバ１２１〜１２６からの最新のサービスに関する受信済みの情報を有する。交換サーバは、予め受信した情報に従うサービスリストを作成し、次に、クライアントにサービスリストを提供する。交換サーバがクライアントからの受信したローカルエリア情報及び言語情報を有する場合、交換サーバは、受信済みの情報に基づいてサービスリストのフィルタリングを行うことができる。例えば、クライアントのローカルエリアが日本であり、クライアントの言語が日本語である場合、交換サーバは、クライアントに日本語版リストを提供する。
【００５７】
更に、交換サーバは、クライアントデバイスからの入力なしで、定期的にサービスリストを作成及び／又は更新することができる。例えば、交換サーバは、サービス提供サーバによる更新されたサービスの通知に応答し、新しいサービス提供サーバの発見に応答し、及び／又はサービスがサービスリスト内に含まれるサービス提供サーバの不稼動率に応答してサービスリストを更新することができる。当業者によって認めることができるように、交換サーバによるサービスリスト更新のケースは単に例示的であるにすぎず、他のケースも本発明の開示の範囲から逸脱することなく可能である。
【００５８】
段階Ｓ１４では、クライアントは、交換サーバから受信されていた現在利用可能なサービスのリストを例えばユーザインタフェース（ＵＩ）情報として表示画面で表示する。サービスリストは、各サービスプロバイダによって提供されるサービスを示すリストである。サービスリストは、ユーザがあらゆるサービスを選択することができるように設定されるＵＩである。例えば、サービスリストは、以下を含む。
【００５９】
サービスプロバイダＡ：静止画像アップロードサービス、閲覧サービス
【００６０】
サービスプロバイダＢ：静止画像アップロードサービス、閲覧サービス
【００６１】
サービスプロバイダＣ：静止画像アップロードサービス、閲覧サービス
【００６２】
サービスプロバイダＤ：動画アップロードサービス、閲覧サービス
【００６３】
サービスプロバイダＥ：動画アップロードサービス、閲覧サービス
【００６４】
段階Ｓ１５では、クライアントユーザは、サービスリストから特定のサービスを選択し、次に、処理の実施、例えば、画像のアップロードを指令する。
【００６５】
段階Ｓ１６では、クライアントは、入力されたユーザ命令に基づいて、選択されたサービス（すなわち、指定のサービス）に関する詳細情報を交換サーバに要求する。
【００６６】
段階Ｓ１７では、交換サーバは、選択されたサービスに関する詳細情報をクライアントに送信する。上述のように、交換サーバは、予め図１に示すサービス提供サーバ１２１〜１２６からの最新のサービスに関する受信した詳細情報を有する。交換サーバは、予め受信した最新のサービス詳細情報からユーザにより選択されたサービスに対応する情報を選択して、次に、選択した情報をクライアントに提供する。
【００６７】
詳細情報を送信する前に、交換サーバは、詳細情報に関してクライアント要求を検証することができる。例えば、交換サーバは、クライアントに関連するマシン特異情報を格納することができ、かつマシン特異情報を使用してクライアント要求を検証することができる。このようなマシン特異情報には、クライアント固有のデバイスＩＤ及びクライアントバージョンＩＤがあるが、これらに限定されるものではない。しかし、当業者によって認めることができるように、製造番号又は「ＭＡＣ  ＩＤ」のような他のマシン特異情報も可能である。
【００６８】
マシン特異情報は、クライアントから交換サーバへは送信されない。代わりに、予め交換サーバ内に格納される。クライアントは、次に、マシン特異情報を使用して、要求に添付されるチェックサムを生成することができる。交換サーバは、次に、マシン特異情報を使用することにより、添付のチェックサムに基づいて要求を検証することができる。要求が検証された状態で、交換サーバは、クライアントに詳細情報を送信する。
【００６９】
図７は、クライアントに交換サーバによって提供されるサービス詳細情報の例である。図７では、サービス詳細情報は、例えば、拡張マークアップ言語（ＸＭＬ）データフォーマットを有するが、また、Ｊａｖａｓｃｒｉｐｔオブジェクト表記（ＪＳＯＮ）フォーマットで提供することもできる。詳細情報のための他のフォーマットも、本発明の開示の範囲から逸脱することなく可能である。従って、詳細情報のフォーマットは、いかなる点においても本発明の開示の範囲を制限するものではない。
【００７０】
サービス詳細情報は、画像アップロード処理が実行される時にクライアントの表示画面上に表示されるユーザインタフェース（ＵＩ）の生成に使用される情報を含む。更に、サービス詳細情報は、アップロードすることができる画像のモードに関する情報、例えば、静止画像のアップロード及び動画のアップロードのどちらが許可されているかに関する情報を含む。サービス詳細情報は、更に、画像のサイズに関する情報、例えば、静止画像のサイズに関する情報又は動画のサイズに関する情報を含む。サービス詳細情報は、更に、ログインの時に及び／又はログインに対して必要とされるパラメータに関する情報を含む。アップロードすべきである複数の画像がある場合、サービス詳細情報は、更に、アップロードする予定である画像の順番に関する設定情報を含む。図７に示すサービス詳細情報が単に略示例であるに過ぎないことに注意すべきである。すなわち、図７は、サービス詳細情報の全てを示すというわけではない。当業者は、他のサービス詳細情報が本発明の開示の範囲から逸脱することなく可能であることを容易に認識するであろう。
【００７１】
サービス詳細情報は、図２及び図３を参照して上述したサービスモードに関する情報を含む。すなわち、サービス詳細情報は、（１）適合画像タイプ、（２）公開／非公開設定、（３）アルバム機能、（４）アルバム表題エントリ、（５）画像表題エントリ、（６）画像説明エントリ、（７）タグエントリ、（８）ログインパラメータ、（９）静止画像最大サイズ、（１０）動画最大サイズ、（１１）動画最大時間、（１２）最大コンテンツ数、（１３）サービスロゴ、（１４）サービス商標クレジットライン、（１５）アップロード順序、及び（１６）サーバ側自動処理に関する情報を含む。
【００７２】
段階Ｓ１８では、クライアントは、交換サーバから受信したサービス詳細情報、すなわち、ユーザにより選択されたサービスに対応する選択済みの情報に従って画像アップロード処理を行うのに使用されるユーザインタフェース（ＵＩ）を表示する。
【００７３】
画像アップロード処理を行うのに使用されるユーザインタフェース（ＵＩ）は、サービスより、すなわち、ユーザにより選択されたサービスによって異なる。すなわち、ユーザインタフェースＵＩは、ユーザが選択した情報に従って交換サーバにより選択され、次に、クライアントに送られたサービスプロバイダに対応するサービス詳細情報に従って生成される。
【００７４】
図８及び図９は、クライアントに示されるユーザインタフェース（ＵＩ）の例である。図８は、画像アップロード処理を行うのに使用され、かつサービスプロバイダＡに対応するサービス詳細情報に従って生成されるユーザインタフェース（ＵＩ）である。図９は、画像アップロード処理を行うのに使用され、かつサービスプロバイダＢに対応するサービス詳細情報に従って生成されるユーザインタフェース（ＵＩ）である。
【００７５】
図８及び図９では、画像アップロード処理を行うのに使用されるユーザインタフェース（ＵＩ）は、例えば、以下の表示データを含む。
【００７６】
（ａ）サービスプロバイダのアイコン／ロゴ２０１。
【００７７】
（ｂ）ログインに必要である情報を入力するのに使用されるログイン情報入力ボックス２０２。
【００７８】
（ｃ）アップロード画像を設定するのに使用されるアップロード画像設定ボックス２０３。
【００７９】
（ｄ）アップロード画像公開／非公開チェックボックス２０４（図８のサービスＡだけに関して図示）。
【００８０】
（ｅ）アルバム機能を提供するサービスに向けて設けられているアルバム情報設定領域２０５（図９のサービスＢだけに関して図示）。
【００８１】
更に、様々な種類の情報が、サービスに基づいてＵＩとして表示される。当業者により容易に認められるように、他のユーザインタフェースも本発明の開示の範囲から逸脱することなく可能である。
【００８２】
更に、フィルタリング処理は、例えば、サービスの適合画像タイプに従わない画像が表示されないように行うことができる。更に、商標クレジットライン、ｎｏｔａｎｄｕｍ、すなわち、権利／ライセンス情報（ＥＵＬＡ）などをアップロードするための命令事項及び禁止事項の表示が行われる。これらの表示は、クライアントに交換サーバによって提供されるサービス詳細情報に含まれたデータに基づいて行われ、これに関しては、図７を参照して先に説明済みである。
【００８３】
図４〜図６のシーケンス図表を再び参照して、通信シーケンスを更に以下に説明する。図４の段階Ｓ１８では、画像アップロード処理を行うのに使用されるユーザインタフェース（ＵＩ）（例えば、図８及び図９）をクライアントのディスプレイ上に示す。
【００８４】
次に、図５の段階Ｓ１９では、ユーザは、図示のユーザインタフェースＵＩのログイン情報入力ボックス内にログイン情報（認証情報）を入力する。ログイン情報（認証情報）は、サービスプロバイダにより異なる。ユーザは、ＵＩ上に示される入力命令に従ってログイン情報を入力する。例えば、ユーザが図８に示すサービスプロバイダＡによって提供されるサービスＡを使用する場合、ユーザは、ログイン情報入力ボックス２０２ａ内で表示されるプロンプトに従ってログイン情報（認証情報）として自分のユーザ名を入力する。
【００８５】
一方、ユーザがサービスプロバイダＢによって提供されるサービスＢを使用する場合、図９のユーザインタフェースが使用される。その中で、ユーザは、ログイン情報入力ボックス２０２ｂ内で表示されるプロンプトに従ってログイン情報（認証情報）として自分の電子メールアドレスを入力する。
【００８６】
段階Ｓ２０では、クライアントは、交換サーバにログイン情報（認証情報）を送信する。
【００８７】
段階Ｓ２１では、交換サーバは、ユーザにより選択されたサービスプロバイダＡ〜Ｆのサービス提供サーバの１つにログイン情報（認証情報）を送信する。ユーザにより選択されたサービスプロバイダによりログイン情報（認証情報）の送信のために提供されるプログラム／ＡＰＩはこのログイン情報通信処理に使用されることに注意すべきである。
【００８８】
交換サーバからログイン情報（認証情報）を受信すると、サービス提供サーバは、受信したログイン情報（認証情報）を確認する。次に、ユーザが正当なアップロード権限を有するクライアントユーザ／個人であることが確認された場合、サービス提供サーバは、ログイン要求を受諾する。段階Ｓ２２では、サービス提供サーバは、交換サーバにログインに確認結果（成功）を返信してセッションを維持するための通信接続を確立する。
【００８９】
次に、段階Ｓ２３では、交換サーバは、クライアントにログイン確認結果（成功）を転送して、クライアントと交換サーバの間の通信セッションを維持するためのセッションＩＤを出す。クライアントと交換サーバの間のその後の通信は、パラメータとしてのセッションＩＤの付加的な表記を用いて行われる。
【００９０】
段階Ｓ２４では、ユーザは、アップロード処理に必要とされる情報を入力する。例えば、ユーザは、アップロード画像などを設定する。この段階では、ユーザは画像アップロード処理に向けて設けられているユーザインタフェースを使用して必要な情報を入力するが、この数例は、図８及び図９を参照して先に説明済みである。ユーザはアルバムを作成し、必要な場合、表題及び／又はコメントを入力する。次に、ユーザは、アップロード命令を出す。
【００９１】
段階Ｓ２５では、ユーザにより出されるアップロード命令に応答して、クライアントは、アップロードすべき画像を含む画像データ及びメタデータ（例えば、コメント）を交換サーバに送り、すなわち、アップロードする。複数の画像がアップロードされた場合、アップロードの順番は、ユーザにより選択されたサービスプロバイダによって提供されるサービスに従って制御される。このような制御情報は、図７を参照して上述のサービス詳細情報にも含まれている。
【００９２】
複数の画像をアップロードする順番がユーザにより選択されたサービスに基づいて、すなわち、選択されたサービスプロバイダに基づいて変更される理由は、複数のアップロードされた画像の表示の順番がサービスプロバイダにより異なるからである。換言すれば、アップロードされた画像を閲覧するために示されている画像リストのシーケンスフォーマットがサービスプロバイダにより変わるからである。
【００９３】
例えば、一部のサービスプロバイダは、クライアントにより行われるアップロードの順序に配置される画像を閲覧するためのリストを提供する。すなわち、最も早く（すなわち、第１の）アップロードされた画像を第１の画像として、後でアップロードされた画像をアップロードの順番に従って配置されるその後の画像として示す閲覧リストを提供する。
【００９４】
他のサービスプロバイダは、クライアントにより行われるアップロードの順序と逆の順番に配置されている画像を閲覧するためのリストを提供する。すなわち、最新の（すなわち、最後の）アップロード画像を第１の画像として、その前にアップロードされた画像をアップロードの順番と逆の順番に従って配置されるその後の画像として示す閲覧リストを提供する。
【００９５】
このような画像閲覧リストの例を図１０及び図１１を参照して説明する。図１０及び図１１は、互いと異なる２つのサービスプロバイダによって提供されるアップロードされた画像を閲覧するためのリストである。
【００９６】
図１０は、クライアントにより行われるアップロードの順番に配置されている画像を閲覧するためのリストである。すなわち、図１０は、クライアントによりアップロードされた第１の画像を第１の画像として、かつクライアントによりアップロードされた後の画像をアップロードの順番に従って配置されるその後の画像として示す画像閲覧リストである。
【００９７】
図１１は、クライアントにより行われるアップロードの順番と逆の順番に配置されている画像を閲覧するためのリストである。すなわち、図１１は、クライアントによりアップロードされた最後の画像を第１の画像として、かつクライアントによりアップロードされたその前の画像をアップロードの順番と逆の順番に従って配置されるその後の画像として示す画像閲覧リストである。
【００９８】
１つのサービスプロバイダによりクライアントに提供される１つの画像閲覧リストに含まれた画像の構成が別のサービスプロバイダによってクライアントに提供される別の画像閲覧リストに含まれた画像の構成と異なる場合、サービスを使用するクライアントユーザは混乱する可能性がある。ユーザが混乱することを防止するために、画像をアップロードする順番は、どのサービスプロバイダが選択されるかに関係なく、画像閲覧リストに含まれた画像の構成が常に同じであるように変更される。
【００９９】
すなわち、クライアントが順番に複数の画像をアップロードする時、順番は、どのサービスが選択されるかに関係なく、画像閲覧の時に提供される表示の順序が確実に常に同じことであるように制御される。
【０１００】
例えば、図１０の画像の表示順序、すなわち、クライアントによりアップロードの順番に配置されている画像を閲覧するためのリストの順序は、「通常の順序」と設定される。図１１の画像の表示順序、すなわち、クライアントによりアップロードの順番と逆の順序に配置されている画像を閲覧するためのリストの順序は、「逆の順番」と設定される。
【０１０１】
このような設定では、ユーザにより選択されたサービスが、「逆の順序」の閲覧リストを提供するサービスプロバイダによって提供されるサービスである場合、アップロード処理は、クライアントがこれらの画像をアップロードする時、複数のアップロード画像の順番を逆転させた後に行われる。
【０１０２】
一方、ユーザにより選択されたサービスが、「通常の順序」閲覧リストを提供するサービスプロバイダによって提供されるサービスである場合、アップロード処理は、クライアントがこれらの画像をアップロードする時、複数のアップロード画像の順番を逆転させることなく行われる。
【０１０３】
画像をアップロードする順番が上述のように制御されるので、サービスプロバイダは、選択された「通常の順番」の閲覧リストの形式で示される画像を閲覧することができる。
【０１０４】
上述のアップロード処理例においては、説明は、全てのサービスの各々が「通常の順序」の画像リストを呈示するという仮定条件の下で行われているが、必ずしもその仮定条件に制限されるわけではない。すなわち、アップロード処理は、「逆の順序」の画像リストが全てのサービスの各々に示される設定で行うことができる。このような修正した設定では、ユーザにより選択されたサービスが、「逆の順序」の閲覧リストを提供するサービスプロバイダによって提供されるサービスである場合、アップロード処理は、クライアントがこれらの画像をアップロードする時、複数のアップロード画像の順番を逆転させることなく行われる。
【０１０５】
これに反して、ユーザにより選択されたサービスが、「通常の順序」の閲覧リストを提供するサービスプロバイダによって提供されるサービスである場合、アップロード処理は、クライアントがこれらの画像をアップロードする時、複数のアップロード画像の順番を逆転させた後に行われる。
【０１０６】
画像のアップロードの順番が上述のように制御されるので、サービスプロバイダが選択される「逆の順番」の閲覧リストの形式で示される画像を閲覧することができる。
【０１０７】
上述のように、複数の画像が、図５の画像アップロード段階Ｓ２５でアップロードされる時、制御は、ユーザにより選択されたサービスに基づいて画像の送信の順番を変更するように実行される。
【０１０８】
次に、段階Ｓ２６では、交換サーバは、クライアントデバイスから受信されていた画像データをメモリに一時的に格納する。次に、交換サーバは、ユーザにより選択されたサービス提供サーバに画像データをアップロードする。
【０１０９】
ユーザにより選択されたサービスプロバイダによりアップロード処理に向けて提供されるプログラム／ＡＰＩがこのアップロード処理に使用されることに注意すべきである。
【０１１０】
このアップロード処理においては、交換サーバは、情報を追加し、及び／又はオンデマンドで情報を補正する。例えば、交換サーバは、画像にメタデータ（表題、コメント、及び／又はタグ）を付加することによって送信情報を処理する。
【０１１１】
具体的には、例えば、クライアントから交換サーバに送信されたデータがサービスプロバイダにより必要とされるアップロードフォーマット条件を満たさない場合、交換サーバは、所要の条件を満たすようにアップロードのデータの処理を実行する。
【０１１２】
例えば、一部の場合には、クライアントから交換サーバに送信されるアップロードデータ内に含まれる画像に付されているコメントに含まれている文字数は、選択されたサービスプロバイダに関する満足できる文字数と一致しない場合がある。別の例として、省略されることが許可にされない所要のメタデータは、画像に付加されない場合がある。そのような場合、交換サーバは、そのアップロードエラーが発生しないことを保証するために、そのフォーマットを配置するように情報の追加及び／又はその補正を提供する。
【０１１３】
次に、段階Ｓ２７では、交換サーバは、クライアントから受信済みである画像を含むアップロードデータ（例えば、画像及びメタデータなど）をユーザにより選択されたサービス提供サーバに送信する。
【０１１４】
サービス提供サーバは、交換サーバからアップロードデータを受信する。次に、サービス提供サーバは、そのデータ管理方針に基づいて受信アップロードデータを維持管理する。
【０１１５】
次に、図６の段階Ｓ２８では、サービス提供サーバは、交換サーバにアップロードの結果（例えば、成功／失敗）を返送する。サービス提供サーバは、アップロード結果として、アップロードされた画像にアクセスするための情報としてアップロードされた画像に向けて設定されているＵＲＬを交換サーバに返送することができる。
【０１１６】
段階Ｓ２９では、交換サーバは、サービス提供サーバから受信済みであるアップロードされた画像に対応するＵＲＬ情報と共にアップロードの結果をクライアントに送信する。
【０１１７】
サービスプロバイダからアップロードされた画像に対応するＵＲＬを受信すると、交換サーバは、あらゆる処理を行うことなく、アップロードされた画像に対応するＵＲＬをクライアントに転送することができる。あるいは、例えば、図１２の流れ図では、交換サーバは、アップロードされた画像に対応するＵＲＬから１つのＵＲＬを選択し、次に、選択したＵＲＬをクライアントに送ることができる。
【０１１８】
図１２の作動フローは、以下の３つのアップロードモードからクライアントにより取られるアップロードの実際のモードによって選択が行われる場合にクライアントに提供すべきである１つのＵＲＬを選択する手順を含む。
【０１１９】
クライアントが、単一の画像をアップロードした時、交換サーバは、アップロードされた画像との直接リンクためのＵＲＬをクライアントに提供する。クライアントがアルバム機能を提供するサービス提供サーバに複数の画像をアップロードした時、交換サーバは、アルバムのフロントページのＵＲＬをクライアントに提供する。クライアントがアルバム機能を提供しないサービス提供サーバに複数の画像をアップロードした時、交換サーバは、ユーザのフロントページのＵＲＬをクライアントに提供する。
【０１２０】
図１２の流れ図を以下に説明する。先ず最初に、段階Ｓ１０１では、交換サーバは、クライアントが複数の画像をアップロードしたか否かに関する判断を提供する。
【０１２１】
クライアントが単一の画像をアップロードしたと段階Ｓ１０１において判断された場合、処理は、段階Ｓ１０２に移動する。段階Ｓ１０２では、交換サーバは、単一のアップロードされた画像との直接リンクのためのＵＲＬをクライアントに提供する。
【０１２２】
クライアントが複数の画像をアップロードしたと段階Ｓ１０１において判断された場合、処理は、段階にＳ１０３に移動する。段階Ｓ１０３では、交換サーバは、アップロード宛先サービスプロバイダがアルバムサービスを提供するか否かを判断する。すなわち、交換サーバは、アップロード宛先サービスプロバイダがバッチ送信においてアップロードされる群の複数の画像をアルバムとして管理するためのサービスを提供するか否かを確認する。
【０１２３】
アップロード宛先サービスプロバイダがアルバム管理サービスを提供すると段階Ｓ１０３において判断された場合、処理は、段階Ｓ１０４に向かう。段階Ｓ１０４では、交換サーバは、アルバムフロントページのＵＲＬをクライアントに提供する。
【０１２４】
一方、アップロード宛先サービスプロバイダがアルバム管理サービスを提供しないと段階Ｓ１０３において判断された場合、処理は、段階Ｓ１０５に向かう。段階Ｓ１０５では、交換サーバは、ユーザフロントページのＵＲＬをクライアントに提供する。
【０１２５】
上述のように、交換サーバは、１つのＵＲＬを選択し、次に、選択したＵＲＬをクライアントに提供する。このようなＵＲＬ選択処理が行われる場合、ユーザは、最適に選択したＵＲＬを利用しながら効率的に画像を閲覧することができる。交換サーバは、全てのサービスプロバイダに共通の手順として上述のＵＲＬ選択処理を実行する。
【０１２６】
図６を再び参照して、シーケンス全体を以下に更に説明する。段階Ｓ２９では、交換サーバは、サービス提供サーバから受信済みであるアップロードされた画像に対応するＵＲＬ情報と共にアップロードの結果をクライアントに送信する。
【０１２７】
最後に、段階Ｓ３０では、クライアントは、表示画面上でアップロード及びＵＲＬの結果を表示し、次に、処理を終了する。ＵＲＬは、クライアントのメモリユニット（不揮発性メモリ）に格納される。格納されたＵＲＬは、閲覧処理実行時に使用される。
【０１２８】
以上の説明では、図４〜図６を参照して上述したシーケンスは、図１の交換サーバ１１０の仲介を通じてクライアント１０１とサービス提供サーバ１２１〜１２６の間の通信処理として行われると仮定されている。
【０１２９】
シーケンスが図１のウェブサーバ１０５及び交換サーバ１１０の仲介を通じてクライアント１０２とサービス提供サーバ１２１〜１２６の間の処理として行われる場合、交換サーバ１１０とサービス提供サーバ１２１〜１２６の間の処理は、処理は、図４〜図６を参照して先に説明した交換サーバとサービス提供サーバとの間に行われた処理と同じ処理として行われる。
【０１３０】
更に、交換サーバ１１０とウェブサーバ１０５の間の処理は、図４〜図６を参照して先に説明した交換サーバとクライアントの間で行われるのと同じ方法で行われる。図４〜図６を参照して先に説明したクライアントとユーザの間の処理は、ウェブサーバ１０５、クライアント１０２とユーザの間の処理として行われる。
【０１３１】
ウェブサーバ１０５は、交換サーバ１１０から受信済みであるデータに従ってＨＴＭＬデータフォーマットでウェブページを作成する。次に、ウェブサーバ１０５は、作成したウェブページをクライアント１０２に呈示する。クライアント１０２は、ブラウザ機能を使用してウェブサーバ１０５によって提供されたウェブページを表示する。
【０１３２】
ユーザは、ユーザインタフェースとしてクライアント１０２上で表示されているウェブページを使用して、データの入力、アップロード画像の設定などを提供する。次に、ユーザは、ウェブページを使用してアップロード画像を含むデータをウェブサーバ１０５に送信する。クライアントＡにより行われるように、ウェブサーバ１０５は、交換サーバ１１０との通信を行うために、全てのサービスプロバイダに共通である共通のプログラム／ＡＰＩを使用する。この手段により、ウェブサーバ１０５は、クライアント１０２から受信済みであるアップロード情報を交換サーバ１１０に送信する。
【０１３３】
このような処理を通じて、アップロード処理に適用されるいずれのプログラム／ＡＰＩも持たないクライアントであるクライアント１０２は、クライアント１０１と同じ画像アップロード処理を実行することができる。
【０１３４】
上述のように、サービス提供サーバ１２１〜１２６のいずれかによって提供されるサービスが使用される時、クライアント１０１及び１０２が選択されたサービスに一意的に適用されるプログラム／ＡＰＩに切り換わることは不要である。これは、交換サーバの仲介者のおかげである。
【０１３５】
サービス提供サーバ１２１〜１２６によって提供されるいずれかのサービスが使用される時、クライアント１０１及びウェブサーバ１０５の各々は、交換サーバとの通信に向けて共通のプログラム／ＡＰＩを使用することができる。
【０１３６】
ＡＰＩの使用例を図１３〜図１５を参照して以下に説明する。図１３−図１５の各々は、左から右に見た時の本明細書での登場順にクライアント、交換サーバ、及びサービス提供サーバを含む。図１３〜図１５のクライアントは、図１のクライアント１０１、又は図１のクライアント１０２との通信を行うウェブサーバ１０２に対応する。図示の交換サーバは、図１の交換サーバ１１０に対応する。図示のサービス提供サーバは、図１のサービス提供サーバ１２１〜１２６のいずれかに対応する。
【０１３７】
図１３〜図１５の１組のシーケンス図表は、図４〜図６を参照して上述したように、交換サーバの仲介を通じたサービス提供サーバへのクライアントによる画像のアップロードのシーケンスを含む。図１３〜図１５のシーケンス図表は、クライアント（又はウェブサーバ）によって使用されるＡＰＩ及び交換サーバによって使用されるＡＰＩの例である。
【０１３８】
図１のサービス提供サーバ１２１〜１２６によって提供されるいずれかのサービスが使用される時、クライアントは、そのサービスに共通であるＡＰＩ（すなわち、共通ＡＰＩ）を使用することができる。クライアント側で１つのサービスが選択されると、選択されたサービスは、交換サーバに通知される。従って、１つのサービスがクライアント側で決定されると、交換サーバは、選択されたサービスを提供するサービス提供サーバとの通信／処理を行うためにクライアントにより選択されたサービスに対応するＡＰＩを使用することに注意すべきである。
【０１３９】
先ず最初に、段階Ｓ３０１では、クライアントは、サービスリストの取得を要求するために共通ＡＰＩ［ＧＥＴ  ｓｅｒｖｉｃｅｓ］を使用する（すなわち、適用する）。ＡＰＩ［ＧＥＴ  ｓｅｒｖｉｃｅｓ］は、サービスリストを交換サーバに要求するためのシーケンスを定めるプログラムを実行させるＡＰＩである。段階Ｓ３０２では、交換サーバは、クライアントから出された要求に応答して、クライアントにサービスリストを送信する。
【０１４０】
次に、段階Ｓ３０３では、クライアントは、サービス詳細情報の取得を要求するために共通ＡＰＩ［ＧＥＴ  ｓｅｒｖｉｃｅ］を使用する。ＡＰＩ［ＧＥＴ  ｓｅｒｖｉｃｅ］は、交換サーバにサービス詳細情報を要求するためのシーケンスを定めるプログラムを実行させるＡＰＩである。クライアントは、交換サーバにサービス詳細情報を要求する時、選択したサービスの識別子を交換サーバに送信することに注意されたい。
【０１４１】
段階Ｓ３０４では、交換サーバは、クライアントにより行われる要求に応答して、クライアントにより選択されたサービスに対応するサービス詳細情報を送る。サービス詳細情報は、例えば、図７を参照して上述した情報である。
【０１４２】
次に、図１４の段階Ｓ３０５では、クライアントは、サービス詳細情報に基づいて画像アップロード処理を行うのに使用されるように表示画面上に表示されているユーザインタフェース（ＵＩ）のログイン情報入力ボックス２０２内にログイン情報を入力する（図８及び図９を参照されたい）。このようにして、段階Ｓ３０５では、ログイン処理を実行する。ログイン処理に使用されるＡＰＩは、図１４の段階Ｓ３０５では共通ＡＰＩ［ＧＥＴ  ｌｏｇｉｎ］である。ＡＰＩ［ＧＥＴ  ｌｏｇｉｎ］は、ログイン情報を送信するためのシーケンスを定めるプログラムを交換サーバに実行させるＡＰＩである。
【０１４３】
クライアントによるログイン情報の入力に応答して、交換サーバは、クライアントにより選択されたサービスに対応するサービス提供サーバへのログインを提供する。クライアントにより選択されたサービスに対応するサービスプロバイダによって提供されるＡＰＩは、このログイン処理に使用される。すなわち、それは、選択されたサービスプロバイダに固有であるシーケンスに対応するログイン処理として実行される。
【０１４４】
図１４では、段階Ｓ３１１で、クライアントがサービスＡを選択した場合に処理が実行され、一方、段階Ｓ３２１〜Ｓ３２３で、クライアントがサービスＢを選択した場合に処理が実行される。例えば、段階Ｓ３１１の処理は、サービスＡを提供するサービス提供サーバＡへのログインに向けて実行される。サービス提供サーバＡを管理するサービスプロバイダＡから提供される固有ＡＰＩ［ＧＥＴ  ｌｏｇｉｎ］は、このログイン処理に適用される。交換サーバは、全てのサービスプロバイダから提供される全てのＡＰＩを使用することができるように予め設定されている。上述のように予め設定されているので、交換サーバは、クライアントから送られるサービス選択情報に基づいて適用すべきである１つのＡＰＩを選択し、次に、選択したＡＰＩを使用する。
【０１４５】
クライアントがサービスＢを選択した場合、段階Ｓ３２１〜Ｓ３２３は、サービス提供サーバＢへのログインに向けて実行される。サービスＢを提供するサービス提供サーバＢにログインするために、サービスＢ固有である３つのＡＰＩが使用される。より具体的には、［ＧＥＴ  ｇｅｔｓｅｒｖｉｃｅｔｏｋｅｎ］、［ＧＥＴ  ｓｅｒｖｉｃｅｌｏｇｉｎ］、及び［ＧＥＴ  ｇｅｔｓｅｓｓｉｏｎ］は、サービス提供サーバＢへのログインに使用される。サービス提供サーバＢへのログインのための処理は、これらの３つのＡＰＩの適用で実行される。
【０１４６】
クライアントが、サービスＢを提供するサービス提供サーバＢに直接にログインを実行する場合、本発明のこの実施形態による構成と異なり、これらの３つのＡＰＩをクライアントが使用することが必要になる。しかし、この点においては、交換サーバは、本発明のこの実施形態による構成においてクライアントの代わりに選択されたサービスへのサービスログインを実行するので、クライアントは、サービスが使用される共通ＡＰＩを常に使用することができる（段階Ｓ３０５）。
【０１４７】
図１５は、画像アップロード処理のためのＡＰＩの適用例である。クライアントは、画像アップロード処理を行うのに使用されるように表示画面上に表示されているユーザインタフェース（ＵＩ）のアップロード画像設定ボックス２０３内でアップロードすべき画像を設定する（図８及び図９を参照されたい）。更に、クライアントは、ユーザインタフェース（ＵＩ）の各データ入力フィールド内にデータを入力し、データを入力した後に、アップロードボタンを押す。上述のアップロード作動を通じて、共通ＡＰＩ［ＰＯＳＴ  ｕｐｌｏａｄ］が実行される。このＡＰＩも、全てのサービスに共通である共通ＡＰＩである。
【０１４８】
共通ＡＰＩ［ＰＯＳＴ  ｕｐｌｏａｄ］は、画像−アップロードユーザインタフェース（ＵＩ）のアップロード画像設定ボックス２０３内に設定されているアップロード画像及び入力されたデータを交換サーバに送信するのに使用されるＡＰＩである（図８及び図９を参照されたい）。
【０１４９】
クライアントからアップロードデータを受信すると、交換サーバは、上述のログイン処理において行われるように、画像アップロード処理を実行するようにクライアントにより指定されたサービスに対応するサービスプロバイダによって提供されるＡＰＩを使用する。すなわち、交換サーバは、選択されたサービスプロバイダに固有であるシーケンスに対応する画像アップロード処理を実行する。
【０１５０】
図１５では、段階Ｓ３４１で、クライアントがサービスＡを選択した場合に処理が実行され、一方、段階Ｓ３５１で、クライアントがサービスＢを選択した場合に処理が実行される。例えば、段階Ｓ３４１の処理は、サービスＡを提供するサービス提供サーバＡに画像をアップロードするために実行される。サービス提供サーバＡを管理するサービスプロバイダＡから提供される固有ＡＰＩ［ＰＯＳＴ  ｕｐｌｏａｄ  Ａ］は、この画像アップロード処理に適用される。
【０１５１】
段階Ｓ３５１の処理は、サービスＢを提供するサービス提供サーバＢに画像をアップロードするために実行される。サービス提供サーバＢを管理するサービスプロバイダＡから提供される固有ＡＰＩ［ＰＯＳＴ  ｕｐｌｏａｄ  Ｂ］は、この画像アップロード処理に適用される。
【０１５２】
上述のように、本発明のこの実施形態による構成では、交換サーバは、サービス提供サーバに固有であるシーケンスに従って処理を行うためにサービス提供サーバに対応するＡＰＩを使用しながら処理を実行する。これとは対照的に、クライアントは、どのサービスが使用されるかに関係なく、全てのサービス提供サーバに共通である共通ＡＰＩを使用しながら処理を行うことができる。
【０１５３】
更に、プログラム／ＡＰＩがサービス提供サーバで更新される場合、交換サーバは、更新されたプログラム／ＡＰＩ及びその使用を取得し、それによってクライアントがプログラム／ＡＰＩに向けて何らかの更新処理を行うことが不要になる。従って、クライアントの負担は、実質的に低減される。
【０１５４】
上述のように、図１３〜図１５の共通ＡＰＩを使用して処理を行うクライアントは、図１のクライアントデバイス１０１に限定されない。すなわち、ウェブサーバ１０５も、共通ＡＰＩを使用して処理を実行する。
【０１５５】
図１６を参照して、クライアント、交換サーバ、及びサービス提供サーバの各々のハードウエア構成の例を以下に説明する。
【０１５６】
図１６では、クライアント５１０には、様々なプログラム／ＡＰＩを使用しながらデータ処理を行う制御ユニット５１１、ネットワーク上で通信を行う通信ユニット５１２、プログラム、ＡＰＩ、パラメータ、及び画像データなどを記憶するメモリユニット５１３、例えば画像及びユーザインタフェースを表示する表示ユニット５１４、及びユーザ作動情報を入力する入力ユニット５１５が設けられている。表示ユニットは、例えば、クライアント５１０がＵＩを通じて入力を受諾する構成を有する場合に入力ユニットとしても機能することができる。このような構成の例は、タッチパネルＵＩである。
【０１５７】
本発明の進展の上述の例示的な実施形態において上述したように、クライアント５１０の制御ユニット５１１は、実施処理を定める複数のＡＰＩ（アプリケーションプログラミングインタフェース）を選択的に適用し、サービス提供サーバによって提供されるサービスを使用するために交換サーバの仲介を通じてサービス提供サーバとの通信を実行する。複数のサービス提供サーバによって提供される互いと異なる複数のサービスの中からいずれかのサービスを使用する時、制御ユニット５１１は、共通ＡＰＩを使用して処理を実行する。
【０１５８】
サービスの使用ための処理を行う時、例えば、制御ユニット５１１は、交換サーバにサービス選択情報を送信するために共通ＡＰＩを使用し、かつ交換サーバから選択されたサービスに対応するサービス詳細情報を受信し、制御ユニット５１１は、ユーザインタフェースを表示するために受信サービス詳細情報に含まれたユーザインタフェース生成情報を使用し、制御ユニット５１１は、交換サーバにユーザインタフェースを通じて入力される情報を送信するために共通ＡＰＩを使用する。
【０１５９】
図１３〜図１５を参照して上述したように、共通ＡＰＩは、サービス提供サーバによって提供されるサービスを使用するために実行すべきであるログイン処理を定めるログイン処理実行ＡＰＩを含む。サービス提供サーバを使用する時、制御ユニット５１１は、サービス詳細情報に基づいて生成されるユーザインタフェース内で定められるそのログイン情報が入力された後に、交換サーバにログイン情報を送信するためにログイン機能を使用する。交換サーバは、クライアントにより選択されたサービスに対応するサービス提供サーバに固有であるログイン処理シーケンスを実行するためにクライアントから受信されるログイン情報を使用する。
【０１６０】
更に、共通ＡＰＩは、サービス提供サーバによって提供されるサービスである画像アップロード処理を実行するのに使用すべきである画像アップロード機能を含む。サービス提供サーバを使用する時、制御ユニット５１１は、そのデータがサービス詳細情報に基づいて生成されるユーザインタフェース内で定められるアップロード画像設定部内で入力された後、交換サーバにアップロード情報を送信するために画像アップロード機能を使用する。交換サーバは、クライアントにより選択されたサービスに対応するサービス提供サーバに固有であるアップロード処理シーケンスを実行するためにクライアントから受信されるアップロード情報を使用する。
【０１６１】
上述のように、サービス詳細情報は、サービス提供サーバに複数の画像をアップロードするためのアップロード順番を規定するアップロード順番規定情報を含む。複数の画像をサービス提供サーバにアップロードすべきである時、制御ユニット５１１は、アップロード順番規定情報に従って画像アップロード処理を実行する。
【０１６２】
他の機能も、共通ＡＰＩ内に含まれる。例えば、クライアントがログインされるサービス提供サーバ上でのクライアントアルバムの一覧表示を判断するアルバム機能が含まれる。新しいアルバム機能を使用して、サービス提供サーバ上で新しいクライアントアルバムを作成することができる。更に、画像機能を使用して、サービス提供サーバ上で格納されたて画像をクライアントに表示することができ、かつアセット機能を使用して、サービス提供サーバ上に格納されたクライアントアセットを判断することができる。クライアントアセットとして、例えば、写真、映像、オーディオファイル、及び他のメディアがある。当業者により認められるように、他の機能も本発明の開示の範囲から逸脱することなく可能である。
【０１６３】
図１６では、交換サーバ５２０には、様々なプログラム／ＡＰＩを使用しながらデータ処理を行う制御ユニット５２１、ネットワーク上で通信を行う通信ユニット５２２、及びプログラム、ＡＰＩ、パラメータ、及び画像データなどを記憶するメモリユニット５２３が設けられている。
【０１６４】
交換サーバ５２０の制御ユニット５２１は、クライアントから受信済みであるサービス選択情報に基づいてクライアントにより選択されたサービスに対応するサービス詳細情報をクライアントに提供する。次に、交換サーバ５２０の制御ユニット５２１は、クライアントからサービス詳細情報に基づいて生成されるユーザインタフェースを通じて入力されたデータを受信し、次に、選択されたサービスに対応する受信済みデータをサービス提供サーバに転送する。
【０１６５】
更に、図１３〜図１５を参照して上述したように、制御ユニット５２１は、クライアントからログイン情報又はアップロードデータを受信し、サービス提供サーバに固有であるログイン処理シーケンス又はサービス提供サーバに固有であるアップロード処理シーケンスを実行するために、クライアントにより選択されたサービスを提供するサービス提供サーバに固有である固有ＡＰＩを使用する。
【０１６６】
更に、交換サーバ５２０の制御ユニット５２１は、クライアントからアップロードされたデータにアクセスするための情報としてサービス提供サーバからＵＲＬを受信し、サービス提供サーバによって提供されるアップロードデータ又はサービスのモードに基づいてクライアントに送信すべきであるＵＲＬを選択するためにＵＲＬ選択処理を実行する。これは、図１２の流れ図を参照して上述した選択処理を用いている。
【０１６７】
交換サーバ５３０には、様々なプログラム／ＡＰＩを使用しながらデータ処理を行う制御ユニット５３１、ネットワーク上で通信を行う通信ユニット５３２、及びプログラム、ＡＰＩ、パラメータ、及び画像データなどを記憶するメモリユニット５３３が設けられている。
【０１６８】
ウェブサーバは、ウェブサーバにクライアント５１０の表示ユニット及び入力ユニットで設けられないことを除き、基本的に図１６に示すクライアント５１０と同じ構成を有することに注意されたい。クライアント１０１及び１０２の各々は、クライアント１０２のプログラム／ＡＰＩ実行機能がクライアント１０１より劣ることを除き、基本的に図１６に示すクライアント５１０と同じ構成を有する。クライアント１０２のプログラム／ＡＰＩ実行機能がクライアント１０１より劣るという事実にも関わらず、クライアントＢには閲覧機能が設けられているので、クライアント１０２は、ウェブサーバによって示されるウェブページを表示することによってクライアント１０１により行われるのと全く同じ方法で画像アップロード処理及び閲覧処理を行うことができる。
【０１６９】
本明細書で説明する一連の処理は、ハードウエア、ソフトウエア、又はハードウエア及びソフトウエアの組合せによって実施することができる。本明細書で説明する一連の処理がソフトウエアによって実施される場合、１組のコンピュータ可読命令を専用ハードウエア内に内蔵されているコンピュータのメモリ内にインストールするか、又は処理を行うことができる汎用コンピュータ内にインストールすることができる。例えば、コンピュータ可読命令は、コンピュータ可読記録媒体内に予め格納することができる。コンピュータ可読命令は、記録媒体からコンピュータ上にインストールすることができ、又はコンピュータ可読命令は、ＬＡＮ（ローカルエリアネットワーク）又は「インターネット」のようなネットワーク上で受信することができ、次に、内部／一体型ハードディスクのような記録媒体上にインストールすることができる。
【０１７０】
本発明の進展の態様によるコンピュータ可読命令は、例えば、記憶媒体又は通信媒体のコンピュータ可読形式で様々なプログラムコードを実行することができる汎用コンピュータシステムに提供することができるコンピュータプログラムであることに注意されたい。このようなプログラムは、コンピュータ可読形式で提供されるので、処理は、コンピュータシステム上のプログラムに従って達成される。
【０１７１】
更に、本明細書で説明する様々な種類の処理は、本明細書においては必ずしも登場順に従って時系列で実行されるというわけではない。すなわち、処理は、処理を行う装置／複数の装置の処理機能に基づいて及び／又は必要性に従って並行に又は個別に行うことができる。本明細書で使用する用語「システム」は、複数の装置の論理的な組を意味する。装置は、必ずしも同じ単一フレーム／ハウジング内に内蔵されるわけではないことに注意すべきである。
【０１７２】
上述のように、本発明の例示的な実施形態による画像処理システムは、複数のサービス提供サーバ、複数のサービス提供サーバによって提供されるサービスを使用するクライアント、及びクライアントがサービスを使用する時に仲介処理を行う交換サーバを含む。このような構成においては、クライアントは、複数のサービス提供サーバによって提供される互いと異なる複数のサービスの中からいずれかのサービスを使用する時、共通ＡＰＩを使用しながら交換サーバとの通信を実行する。交換サーバは、サービス提供サーバに固有である処理シーケンスを実行するために、クライアントにより選択されたサービスを提供するサービス提供サーバに固有である固有ＡＰＩを使用する。このような構成は、クライアントが、複数のサービス提供サーバの各々に固有である固有ＡＰＩを使用する必要なく共通ＡＰＩを使用して複数のサービス提供サーバによって提供されるサービスの中からあらゆるサービスを使用することを可能にする。
【０１７３】
明らかに、以上の教示に照らして本発明の開示の多くの修正及び変形が可能である。従って、特許請求の範囲内で、本明細書で具体的に説明したもの以外で本発明を実施することができることは理解されるものとする。
【符号の説明】
【０１７４】
１０１  クライアントデバイス
１０２  別のクライアントデバイス
１０５  ウェブサーバ
１１０  交換サーバ
【図１】
0005867812.tif 000002
【図２】
0005867812.tif 000003
【図３】
0005867812.tif 000004
【図４】
0005867812.tif 000005
【図５】
0005867812.tif 000006
【図６】
0005867812.tif 000007
【図７】
0005867812.tif 000008
【図８】
0005867812.tif 000009
【図９】
0005867812.tif 000010
【図１０】
0005867812.tif 000011
【図１１】
0005867812.tif 000012
【図１２】
0005867812.tif 000013
【図１３】
0005867812.tif 000014
【図１４】
0005867812.tif 000015
【図１５】
0005867812.tif 000016
【図１６】
0005867812.tif 000017