(57)【要約】クライアントコンピュータを介して周辺機器（デジタルカメラまたはスキャナ等）からの情報を操作する（消去する、ダウンロードする）ための方法および装置が提供される。クライアントコンピュータ上で実行するクライアントアプリケーション内のソフトウェアコンポーネントは、クライアントアプリケーションを再実行することなく、クライアントコンピュータ上で周辺機器を操作するために、周辺機器ドライバをインストールする。ソフトウェアコンポーネントは、周辺機器ドライバを利用して周辺機器からクライアントコンピュータへ情報を転送し、情報を操作、処理し、処理された情報をウェブサイトにアップロードし、または、クライアントアプリケーションを再実行することなく、クライアントコンピュータ内に処理された情報を格納する。【選択図】図１
2004532481.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータに接続される周辺機器内の情報を操作するためのコンピュータで実装される方法であって、該方法は、
（Ａ）該クライアントコンピュータ上で実行するクライアントアプリケーション内のソフトウェアコンポーネントを実行するステップであって、該ソフトウェアコンポーネントは、複数のサーバの少なくとも１つへ出力を提供し、かつ、該複数のサーバの少なくとも１つから入力を受信することができる、ステップと、
（Ｂ）複数のサーバの該少なくとも１つのサーバの１つのサーバから、データを受信するステップと、
（Ｃ）該データを受信するとすぐ、該周辺機器内の該情報を操作するステップと
を包含する、方法。
【請求項２】
（Ｄ）ステップ（Ｂ）の前に、前記サーバとのトランザクションを開始するステップであって、ステップ（Ｂ）はさらに、該トランザクションの確認を受信するステップを包含する、ステップ
をさらに包含する、請求項１に記載の方法。
【請求項３】
（Ｄ）前記ソフトウェアコンポーネントを利用して、前記クライアントアプリケーションを再実行することなく、前記クライアントコンピュータ上で前記周辺機器を操作するために、周辺機器ドライバをインストールするステップ
をさらに包含する、請求項１に記載の方法。
【請求項４】
（Ｄ）前記クライアントコンピュータからウェブサーバへ前記情報をアップロードするステップ
をさらに包含する、請求項１に記載の方法。
【請求項５】
前記ステップ（Ｄ）は、前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするために、前記ソフトウェアコンポーネントを利用するステップを包含する、請求項４に記載の方法。
【請求項６】
（Ｄ）前記クライアントコンピュータにおいて前記情報を処理するステップと、
（Ｅ）前記クライアントコンピュータからウェブサーバへ該処理された情報をアップロードするステップと
をさらに包含する、請求項１に記載の方法。
【請求項７】
前記ステップ（Ｅ）は、前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするために、前記ソフトウェアコンポーネントを利用するステップを包含する、請求項６に記載の方法。
【請求項８】
（Ｃ）前記ステップ（Ａ）を実行する前に、前記クライアントコンピュータ上に前記ソフトウェアコンポーネントをインストールするステップ
をさらに包含する、請求項１に記載の方法。
【請求項９】
（Ｄ）前記ステップ（Ｃ）を実行した後に、前記クライアントコンピュータから前記ソフトウェアコンポーネントをアンインストールするステップ
をさらに包含する、請求項８に記載の方法。
【請求項１０】
前記ステップ（Ｄ）は、
（Ｄ）（１）前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを判断するステップと、
（Ｄ）（２）該周辺機器ドライバが、該クライアントコンピュータ上に既にインストールされていないと判断される場合、前記ソフトウェアコンポーネントを利用して、該クライアントコンピュータ上に該周辺機器ドライバをインストールする、ステップと
を包含する、請求項３に記載の方法。
【請求項１１】
前記クライアントアプリケーションは、ウェブブラウザを含む、請求項１に記載の方法。
【請求項１２】
前記ソフトウェアコンポーネントは、Ｊａｖａ（Ｒ）ａｐｐｌｅｔを含む、請求項１１に記載の方法。
【請求項１３】
前記ソフトウェアコンポーネントは、ＡｃｔｉｖｅＸコントロールを含む、請求項１１に記載の方法。
【請求項１４】
前記情報は、イメージに対応する少なくとも１つのデータアイテムを含む、請求項１に記載の方法。
【請求項１５】
前記周辺機器は、デジタルイメージ取得デバイスを含む、請求項１４に記載の方法。
【請求項１６】
クライアントコンピュータに接続される周辺機器内の記憶コンポーネントから情報を消去するためのコンピュータで実装される方法であって、該方法は、
（Ａ）ウェブブラウザを再実行することなく、該クライアントコンピュータ上で実行する該ウェブブラウザにおける実行のために、ソフトウェアコンポーネントをインストールするステップであって、該ソフトウェアコンポーネントは、ウェブサーバへ出力を提供し、かつ、ウェブサーバから入力を受信する、ステップと、
（Ｂ）該ソフトウェアコンポーネントを利用して、該ウェブブラウザを再実行することなく、該クライアントコンピュータ上の該周辺機器を操作するために、周辺機器ドライバをインストールする、ステップと、
（Ｃ）該ウェブサーバからデータを受信するステップと、
（Ｄ）該ウェブサーバからの該データを受信するとすぐ、該ソフトウェアコンポーネントを利用して、該周辺機器ドライバを利用することによって、該周辺機器の該記憶コンポーネントから該デジタルイメージを消去する、ステップと
を包含する、方法。
【請求項１７】
（Ｅ）ステップ（Ｃ）の前に、前記サーバにおけるサービスとのトランザクションを開始するステップ
をさらに包含し、ステップ（Ｃ）は、該トランザクションの確認を受信するステップをさらに包含する、請求項１６に記載の方法。
【請求項１８】
（Ｅ）前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされたかどうかを判断するステップと、
（Ｆ）該周辺機器ドライバが、既に該クライアントコンピュータ上にインストールされていないと判断される場合、ステップ（Ｂ）を実行するステップと
をさらに包含する、請求項１６に記載の方法。
【請求項１９】
前記情報は、イメージに対応する少なくとも１つのデータアイテムを含む、請求項１６に記載の方法。
【請求項２０】
前記周辺機器は、デジタルイメージ取得デバイスを含む、請求項１９に記載の方法。
【請求項２１】
クライアントコンピュータに接続される周辺機器内の情報を操作するための装置であって、該装置は、
該クライアントコンピュータ上で実行するクライアントコンピュータ内のソフトウェアコンポーネントを実行するための手段であって、該ソフトウェアコンポーネントは、複数のサーバの少なくとも１つへ出力を提供し、かつ、該複数のサーバの少なくとも１つから入力を受信することができる、手段と、
該複数のサーバの少なくとも１つのサーバの１つのサーバから、データを受信するための手段と、
該データを受信するとすぐ、該周辺機器内の該情報を操作するための手段と
を備える、装置。
【請求項２２】
前記サーバとのトランザクションを開始するための手段
をさらに備え、サーバからデータを受信するための前記手段は、該トランザクションの確認を受信するための手段をさらに備える、請求項２１に記載の装置。
【請求項２３】
前記ソフトウェアコンポーネントを利用して、前記クライアントアプリケーションを再実行することなく、前記クライアントコンピュータ上の前記周辺機器を操作するために、周辺機器ドライバをインストールするための手段
をさらに備える、請求項２１に記載の装置。
【請求項２４】
前記クライアントコンピュータからウェブサーバへ前記情報をアップロードするための手段
をさらに備える、請求項２１に記載の装置。
【請求項２５】
前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするための前記手段は、前記ソフトウェアコンポーネントを利用して該情報をアップロードする、請求項２４に記載の装置。
【請求項２６】
前記クライアントコンピュータにおいて前記情報を処理するための手段と、
前記クライアントコンピュータからウェブサーバへの該処理された情報をアップロードするための手段と
をさらに備える、請求項２１に記載の装置。
【請求項２７】
前記クライアントコンピュータから前記ウェブサーバへ前記処理された情報をアップロードするための前記手段は、前記ソフトウェアコンポーネントを利用して前記情報をアップロードする、請求項２６に記載の装置。
【請求項２８】
前記クライアントコンピュータ上に前記ソフトウェアコンポーネントをインストールするための手段
をさらに備える、請求項２１に記載の装置。
【請求項２９】
前記クライアントコンピュータから前記ソフトウェアコンポーネントをアンインストールするための手段
をさらに備える、請求項２８に記載の装置。
【請求項３０】
前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを決定するための手段
をさらに備える、請求項２３に記載の装置。
【請求項３１】
クライアントコンピュータに接続される周辺機器内の記憶コンポーネントから情報を消去するための装置であって、該装置は、
ウェブブラウザを再実行することなく、該クライアントコンピュータ上で実行する該ウェブブラウザにおける実行のために、ソフトウェアコンポーネントをインストールするための手段であって、該ソフトウェアコンポーネントは、ウェブサーバへ出力を提供し、かつ、ウェブサーバから入力を受信することができる、手段と、
該ソフトウェアコンポーネントを利用して、該ウェブブラウザを再実行することなく、該クライアントコンピュータ上で該周辺機器を操作するために、周辺機器ドライバをインストールするための手段と、
該ウェブサーバからデータを受信するための手段と、
該ソフトウェアコンポーネントを利用して、該ウェブサーバから該データを受信するとすぐ、該周辺機器ドライバを利用することによって、該周辺機器内の記憶コンポーネントから該デジタルイメージを消去するための手段と
を備える、装置。
【請求項３２】
前記サーバとのトランザクションを開始するための手段
をさらに備え、サーバからデータを受信するための前記手段は、前記トランザクションの確認を受信するための手段を備える、請求項３１に記載の装置。
【請求項３３】
前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを判断するための手段
をさらに備える、請求項３１に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
（発明の背景）
（発明の分野）
本発明は、ネットワークを介する情報の送信、より具体的には、操作に関する入力をサーバから受信するクライアントコンピュータに接続された周辺機器内のデジタルファイルを操作することに関する。
（従来技術）
ワールドワイドウェブ（「ｔｈｅ  Ｗｅｂ」）は、公共のインターネット上で利用可能な多様なサービスのうちの１つである。その初期段階では、研究所、図書館および政府機関で入手可能な技術論文や書類の索引のようなスタティックな情報を共有するために用いられた。文書をウェブ上で利用可能にしたいと思う者は、ユニフォームリソースロケーター（ＵＲＬ）によって特定された所定のインターネットプロトコル（ＩＰ）アドレスにおいて文書をウェブサーバ上に格納することができ、他のユーザは、ウェブブラウザと呼ばれるクライアントソフトウェアを用いて、ウェブブラウザを文書のＵＲＬに合わせてインターネット上でその文書を見るか、または「閲覧する」ことができる。
【０００２】
近年、ウェブの性能は実質的に向上したが、ウェブクライアントとサーバとの間で情報を交換するための基礎的な根底にある技術構造は、実質的には変わらないままである。ユーザが、（典型的には「ウェブブラウザ」と呼ばれる）ウェブクライアントによってウェブページが表示されるようにリクエストする場合、ウェブブラウザは、そのウェブページ用にハイパーテキスト転送プロトコル（ＨＴＴＰ）に従って定義されたリクエストをそのウェブページをホストするウェブサーバに送信する。そのリクエストに応答して、ウェブサーバは、ＨＴＴＰに従ってまた定義された応答メッセージにおいて、リクエストしているウェブサーバに対してリクエストされたウェブページを送信する。ウェブブラウザは、ウェブサーバからの応答に含まれる情報に基づいて、ユーザにウェブページを表示する。
【０００３】
ウェブサイトは、ユーザが情報を共有し、グループ活動に参加し得る官民のフォーラムを提供するためにますます用いられている。例えば、いくつかのウェブサイトは、ユーザがメッセージを掲示し、他のユーザによって掲示されたメッセージを見ることができる仮想のメッセージボードやチャットルームを提供し、そうしてユーザがオンライン上での会話に参加することを可能にする。さらには、いくらかのウェブサイトは、格納、共有、配布および／またはコラボレーションするために、ユーザがデジタル画像および他の情報をローカルコンピュータからウェブサイトにアップロードすることを可能にする。仮想フォトアルバムは、標準的なウェブブラウザを用いてインターネット上で見られ得る。他のウェブサイトは、サイト外での格納のためにユーザがファイルをアップロードすることを可能にする、オンラインバックアップサービスを提供する。
【０００４】
ユーザが情報をアップロードすることを可能にするウェブサイトは、典型的には、アップロードされる情報を取得すること、および情報をウェブサイトにアップロードする前にユーザのローカルコンピュータに適切なフォーマットで情報を格納することに対して責任を持つことをユーザに必要とする。例えば、ユーザが仮想フォトアルバムにデジタル画像をアップロードすることを可能にするウェブサイトは、典型的には、ユーザがユーザのローカルコンピュータ上で情報を取得し、格納するために必要ないかなるステップもとることを必要とする。そのようなウェブサイトは、典型的には、そのような（適切に取得し、格納された）情報をローカル（クライアント）コンピュータからウェブサイトへアップロードするために従来技術を用いる。そのようなウェブサイトは、典型的には、アップロードされる情報を取得し、アップロードするために適切なフォーマットで情報を格納する際にユーザを補助しない。
【０００５】
クライアントコンピュータで情報を取得し、格納することは、ユーザによる多大な努力を必要とし得る。例えば、デジタル画像の場合、ユーザは、典型的には、デジタルカメラを用いて画像を取得し、その画像をクライアントコンピュータに送信する。しかし、画像がデジタルカメラからクライアントコンピュータに送信され得る前に、ユーザは、典型的には、デジタルカメラかクライアントコンピュータと通信できるように、適切なドライバソフトウェアを手動でインストールしなければならない。ドライバソフトウェアは、典型的には、特定のブランドおよびモデルのデジタルカメラとの使用のために設計されており、フロッピー（Ｒ）ディスクまたはＣＤ−ＲＯＭのようなコンピュータによって読み取り可能な媒体でデジタルカメラの製造業者によって提供される。クライアントコンピュータにドライバソフトウェアをインストールするために、ユーザは典型的には、フロッピー（Ｒ）ディスクまたはＣＤ−ＲＯＭからインストールするソフトウェアを実行し、提供されたインストール命令に従わなければならない。クライアントコンピュータは、典型的には、デジタルカメラがクライアントコンピュータとともに使用され得る前に、ドライバソフトウェアがインストールされた後に再起動されなければならない。他のコンピュータ周辺機器は、典型的には同様のインストール手順を必要とする。
【０００６】
上記のように、従来のウェブサイトは、アップロードされるいかなる情報も適切なフォーマットで既にクライアントコンピュータ上に格納されていると想定する。従って、ユーザは、典型的には、（デジタルカメラのような）周辺機器から従来のウェブサイトに情報をアップロードする前に、２つの手動ステップを実行しなければならない。（１）上記のように、適切なドライバソフトウェアをクライアントコンピュータ上にインストールし、（２）アップロードされる情報を周辺機器からクライアントコンピュータに送信する。周辺機器からクライアントコンピュータに情報を送信することは、（周辺機器用ドライバソフトウェアに加えて）周辺機器の製造業者または第三者によって提供されたソフトウェアの使用を必要とし得、ユーザによるクライアントコンピュータへの別のインストールも必要とし得る。
【０００７】
他の場合において、ウェブサイトはクライアントコンピュータにトランザクションの証明を送り、周辺機器において情報を削除すること、または周辺機器に情報をダウンロードすることのような、周辺機器におけるファイルの操作を可能にする。例えば、同日に出願された（ｆｉｌｅｄ  ｏｎ  ｔｈｉｓ  ｓａｍｅ  ｄａｔｅ）米国特許出願ＡＡ／ＡＡＡ，ＡＡＡ、「Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏａｄａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａｓ」に開示されるシステムは、サーバからトランザクション証明を受信し次第、クライアントコンピュータに接続されたカメラからファイルを削除することを可能にすることを必要とする。他の実施例は、サーバからトランザクション証明を受信し次第、情報を周辺機器にダウンロードすることにある。これらの場合において、ユーザは、典型的には、（デジタルカメラのような）周辺機器から情報を削除するか、周辺機器に情報をダウンロードする前に、２つの手動ステップを実行しなければならない。ユーザは、（１）上記のように、クライアントコンピュータに適切なドライバソフトウェアをインストールし、（２）クライアントコンピュータに接続された周辺機器から情報を削除するか、ダウンロードしなければならない。クライアントコンピュータに接続された周辺機器から情報を削除するか、ダウンロードすることは、（周辺機器用ドライバソフトウェアに加えて）適切なソフトウェアの使用を必要とし得、ユーザによるクライアントへの別のインストールも必要とし得る。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、必要なものは、周辺機器における情報操作の処理を容易にするシステムである。
【課題を解決するための手段】
【０００９】
（要約）
１つの一般的な局面において、本発明は、サーバから情報を受信し次第、クライアントコンピュータに接続された（デジタルカメラまたはスキャナのような）周辺機器において（デジタル画像のような）情報を操作するためのコンピュータによって実行される方法を提供する。クライアントコンピュータに周辺機器を接続した後、ユーザは、周辺機器において情報を操作する際にユーザを補助をする所定のウェブサイトにナビゲートするために、クライアントコンピュータにインストールされた従来のウェブブラウザを用い得る。ウェブサイトは、クライアントコンピュータにダウンロードされ、クライアントコンピュータを再起動をするか、ウェブブラウザを再実行する必要なしにウェブブラウザ内で実行されるＪＡＶＡ（Ｒ）ａｐｐｌｅｔのようなソフトウェアコンポーネントを含む。ソフトウェアコンポーネントはウェブサイトとのトランザクションを開始し、そのトランザクションの確認を受信し、（ウェブブラウザを介して）同じまたは別のウェブサーバからデータを受信し、ウェブサーバからデータを受信し次第、周辺機器において情報を操作する。
【００１０】
ソフトウェアコンポーネントは、周辺機器を動作させるための周辺機器用ドライバがクライアントコンピュータに既にインストールされているかどうか判断する。周辺機器用ドライバがクライアントコンピュータに依然としてインストールされていないとソフトウェアコンポーネントが判断する場合、ソフトウェアコンポーネントは、周辺機器用ドライバを周辺機器用ドライバのサーバからダウンロードし、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなくクライアントコンピュータに周辺機器用ドライバをインストールする。
【００１１】
ユーザは、処理後にウェブサイトにアップロードするための（デジタル画像のような）情報を選択し得る。ユーザとソフトウェアコンポーネントとの間のやりとりは、ウェブブラウザインターフェースを介して起こり、その結果、画像を選択および／またはアップロードするために、クライアントコンピュータに別のアプリケーションプログラムをインストールし、実行する必要を避ける。
【００１２】
（処理することが所望される場合）、ユーザが選択された情報を処理した後、ソフトウェアコンポーネントは、選択された情報を（情報を選択するために用いられる同じウェブサイトに組込まれ得る）デバイスデータベースにアップロードする。選択された情報を処理および／またはアップロードした後、ソフトウェアコンポーネントは、ユーザにクライアントコンピュータから周辺機器用ドライバを削除する見解を提示する。ユーザが周辺機器用ドライバを削除するように選択する場合、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなく削除される。クライアントコンピュータを再起動する、および/または、ウェブブラウザを再実行することなく、ソフトウェアコンポーネントもクライアントコンピュータから削除され得る。例えば、ＪＡＶＡ（Ｒ）ａｐｐｌｅｔは、典型的には、ウェブブラウザを終了し次第、クライアントコンピュータから自動的に除去される。
【００１３】
本発明のさらなる局面および実施形態は、より詳しく以下に説明される。
【発明を実施するための最良の形態】
【００１４】
（詳細な記述）
本発明の１つの一般的な局面において、本発明は、クライアントコンピュータに接続された（デジタルカメラまたはスキャナのような）周辺機器における（デジタル画像のような）情報操作のためのコンピュータによって操作される方法を提供する。以下に用いられるように、情報操作は、周辺機器からの情報を削除すること、周辺機器に情報をダウンロードすることまたは周辺機器からの情報に処理動作を実行することを含む。クライアントコンピュータに周辺機器を接続した後、ユーザは、ウェブサーバの所定のウェブサイトにナビゲートするために、クライアントコンピュータにインストールされた従来のウェブブラウザを用い得る。ウェブサイトは、周辺機器における情報操作の際にユーザを補助するように設計されている。ウェブサイトは、クライアントコンピュータが再起動することも、ウェブブラウザが再実行される必要もなくクライアントコンピュータにダウンロードされ、ウェブブラウザ内で実行されるＪＡＶＡ（Ｒ）ａｐｐｌｅｔのようなソフトウェアコンポーネントを含む。参照としてここに示される２０００年８月３１日に出願された「Ｗｅｂ  Ｂａｓｅｄ  Ｆｉｌｅ  Ｕｐｌｏａｄ  Ｓｙｓｔｅｍ」とタイトルが付けられた同一出願人による米国特許出願番号０９／６５３，５９７において、クライアントコンピュータを介して（デジタルカメラまたはスキャナのような）周辺機器からウェブサイトに（デジタル画像のような）情報をアップロードするためのコンピュータによって実行される方法は開示されている。本発明において、コンピュータ操作された方法においてソフトウェアコンポーネントは、サーバからの許可情報を受信し次第、周辺機器での情報操作が可能であるように、設計されている。
【００１５】
ソフトウェアコンポーネントは、周辺機器を動作させるための周辺機器用ドライバが既にインストールされているかどうか判断する。ソフトウェアコンポーネントは、周辺機器用ドライバがクライアントコンピュータに依然としてインストールされていないと判断する場合、ソフトウェアコンポーネントは、周辺機器用ドライバのサーバから周辺機器用ドライバをダウンロードし、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなく、クライアントコンピュータに周辺機器用ドライバをインストールする。
【００１６】
本発明の詳細な実施形態の利点を説明するために、同日に出願された米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡ、「Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏａｄａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａ」中に開示されるシステムおよび方法が実施例として用いられる。ＡＡ／ＡＡＡ，ＡＡＡにおいて、顧客によって選択された画像に対応するデータを電子的に記録し、格納するタイプのリロード可能なシングルユーズデジタルカメラを顧客に提供し、顧客が画像形式のデータをデジタルカメラから取り出すための手段を提供せず、画像に対応するデータを取得し、格納するためにデジタルカメラを利用した後に、選択された画像に対応するデータを顧客から受信し、その後、顧客用のデータから選択された画像を取り出すステップを含む、画像に対応するデータを取得および格納するためのリロード可能なシングルユーズデジタルカメラの使用を可能にし、リロードサーバにデータを送信し次第、選択された画像を格納されたデータから取り出すための手段を供給する方法が開示されている。米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡの発明の他の局面において、方法は、サーバから許可情報を送信するステップをさらに含み、情報は、画像に対応するデータを取得し、記録するために顧客によって利用された後、データのうちの選択されたものをデジタルカメラから除去することを可能にし、それによりカメラを再使用のために準備する。データのうちの選択されたもののカメラからの除去（削除）が起こり、クライアントサイトでカメラ（またはカメラ内の取り外し可能な記憶デバイス）がコンピュータに接続されており、それにより顧客がカメラを再利用のために準備することを可能にする。ここに記述される技術を用いて、顧客は、手動でドライバソフトウェアを複数のクライアントコンピュータにインストールする必要なしに、複数のクライアントコンピュータを介して選択された画像を取り出し得るか、または削除し得る。
【００１７】
米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡの発明の１つの実施形態において、顧客は画像として取り出すデータを選択し、ソフトウェアコンポーネントは画像形式でデータを取り出す。（取り出しは、暗号解読のような処理動作を介して起こる。）顧客が、（ソフトウェアコンポーネントをダウンロードするために用いられる同じウェブサイトに組み込まれ得る）画像データベースに画像をアップロードするように選択する場合、ソフトウェアコンポーネントは選択された画像を画像データベースにアップロードする。顧客がカメラを「リロードする」ように選択する場合、デジタル画像に対応する選択されたデータはカメラ内のメモリから除去され、カメラから削除される。この動作が可能にされる前に、顧客はカメラの継続再使用のために支払わなければならない。顧客は支払い情報を、決済が処理される（ソフトウェアコンポーネントをダウンロードするために用いられたサーバとは異なるサーバであり得る）サーバに送る。この決済およびその処理は、当業分野において周知である手段を介して起こる。決済を首尾よく処理し次第、クライアントコンピュータは、サーバから許可情報を受信する。許可情報の受信をもって、ソフトウェアコンポーネントは選択されたデータをカメラ内のメモリから削除し、カメラは再使用の準備ができる。
【００１８】
本発明において、デバイス用のドライバは、顧客がデジタル画像の取り出し、アップロードまたは除去を完了した後、クライアントコンピュータから削除され得る。削除は、処理の最後に自動的に起こり得る。このように、顧客は、シングルユーズカメラから永久的にデバイス用ドライバまたはソフトアプリケーションをクライアントコンピュータにインストールすることなく、かつ、デジタル画像をクライアントコンピュータに永久的に格納することなく、デジタル画像を取り出す、アップロードまたは除去するための一時的なステーションとして用い得る。この特性は、例えば顧客が誰かのコンピュータを借りるか、クライアントコンピュータの永久的な変更が所望されないまたは許可されないカフェまたはインターネットキオスクのような公共の場でクライアントコンピュータを使用する場合に、有利であり得る。このように、本発明は、米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡに記載のシステムの使用を単純化し、向上し得る。
【００１９】
以下により詳細に記載されているように、従来のウェブブラウザ内で実行しているソフトウェアコンポーネントは、周辺機器ドライバをクライアントコンピュータにインストールし、シングルユーズカメラからデジタル画像を取り出し、アップロードし、または、除去するような機能を実行するために用いられ得る。ソフトウェアコンポーネントは、例えば、ＪＡＶＡ（Ｒ）ａｐｐｌｅｔであり得る。
【００２０】
ウェブブラウザのようなクライアントアプリケーション内で実行するアプレットのようなソフトウェアコンポーネントの使用は、いくつかの利点を提供する。例えば、ウェブページに含まれるアプレットは、ウェブブラウザによってクライアントコンピュータに自動的にダウンロードされ、ユーザがアプレットを手動でインストールするか、フロッピー（Ｒ）ディスクまたはＣＤ‐ＲＯＭのようなコンピュータ読み取り可能な媒体でアプレットを提供する必要はない。さらに、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）環境内では、アプレットのアップロードまたは実行は、既存のアプリケーションと後方互換性の問題を生じかねないＤＬＬのクライアントコンピュータへのインストールを必要としない。さらに、アプレットのインストールは、クライアントコンピュータが再起動されることを必要とし得るＷｉｎｄｏｗｓ（Ｒ）レジストリへの変更を必要としない。
【００２１】
アプレットはウェブブラウザ内で実行するので、アプレットは、ウェブブラウザの一部としてクライアントコンピュータに既にインストールされた機能性を利用し得る。結果として、アプレットは、典型的には、対応するアプリケーションプログラムよりも小さく、アプリケーションプログラム用よりも短いダウンロード時間およびアプレット用に小さい必要メモリを招く。従来のウェブブラウザは、大部分のクライアントコンピュータに既にインストールされているので、アプレットおよび同様のソフトウェアコンポーネントは、大きなアプリケーションプログラムのダウンロードまたはインストールを必要とせずに、多くの既存のクライアントコンピュータ上でここに記載される様々な特性を実現するために有利に用いられ得る。
【００２２】
同様に、アプレットはウェブブラウザ内で実行するので、アプレットの実行は、クライアントコンピュータ上で別のアプリケーションプログラムの実行を必要としない。むしろ、アプレットは典型的に、クライアントコンピュータ上で既に実行されているウェブブラウザを介して出力を提供し入力を受信する。結果として、アプレットおよび同様のソフトウェアコンポーネントは、周辺機器からの（画像に対応するデータのような）情報の操作を補助するために、単一統合ウェブサイト内でここに記載される様々な特性を実現するために用いられ得る。
【００２３】
アプレットおよび同様のソフトウェアコンポーネントを用いるさらなる利点は、クライアントコンピュータが再起動される必要がないか、ウェブブラウザが再実行される必要なしに、典型的には自動的にアンインストールされる（すなわち、ユーザが「アンインストール」コマンドを実行する必要がない）ことである。例えば、ウェブページ内に含まれるアプレットは、ユーザが別のウェブページにナビゲートする場合、典型的には自動的にクライアントコンピュータのメモリから除去される。このことは、ユーザがアップロード処理を完了した後に、アプレットに関連するデータをクライアントコンピュータから除去することによって、情報をアップロードすることのユーザの経験をさらに単純化し、クライアントコンピュータへの影響を軽減する。
【００２４】
上記のように、１つの実施形態において、適切な周辺機器用ドライバが、ユーザによる干渉なしで、周辺機器用ドライバのサーバからインターネットのようなＴＣＰ／ＩＰネットワークを介してクライアントコンピュータに自動的にダウンロードされる。この特性は、典型的にはユーザがフロッピー（Ｒ）ディスクまたはＣＤ−ＲＯＭを用意し、ドライバインストール用ソフトウェアを実行し、ドライバインストール用ソフトウェアに提供される命令に従うような手動動作の実行を必要とする従来のインストール手順に比べて、周辺機器用デバイスをインストールするプロセスを単純化する。周辺機器用のドライバを手動でインストールするユーザの負担を軽減することに加えて、自動インストールはまた、周辺機器用ドライバをインストールするために必要とされる時間を短縮し得、従って、ユーザがクライアントコンピュータとともに周辺機器を初めて使用するために待たなければならない時間を短縮し得る。
【００２５】
上記のように、１つの実施形態において、周辺機器用ドライバは、周辺機器用ドライバがクライアントコンピュータに既にインストールされていない場合に限り、クライアントコンピュータにダウンロードされ、インストールされる。結果として、周辺機器用ドライバは、必要な場合にクライアントコンピュータにのみ送信され、インストールされる。このことは、必要な場合にＴＣＰ／ＩＰネットワークを介して周辺機器用ドライバを送信することだけによって、ネットワーク帯域幅の効率的な使用をもたらす。この技術はまた、周辺機器ドライバが不正になるか、または更新される必要がある場合のような必要な場合に、周辺機器ドライバを再インストールするために用いられ得る。
【００２６】
さらなる実施形態において、クライアントコンピュータに接続される周辺機器は識別され、その識別に基づいてクライアントコンピュータにインストールするために適切な周辺機器用ドライバが選択される。そのような自動識別は、どの周辺機器がクライアントコンピュータに接続されているか判断し、周辺機器を識別するユーザの責任を軽減する。周辺機器の自動識別は、周辺機器のモデル番号またはバージョン番号の不正確な識別のような周辺機器を識別する際にユーザによって犯され得る誤りを除き得る。
【００２７】
本発明の実施形態の様々な局面および特性は、以下により詳細に記載される。しかしながら、初めに、本発明の実施形態が動作し得るシステムは図１に関して記載される。
【００２８】
図１に関して、本発明の様々な実施形態に従って、ＴＣＰ／ＩＰネットワークを介してウェブクライアントとウェブサーバとの間で情報を送信するために用いられ得る様々な技術を示すデータフロー図が示されている。ユーザは、典型的にウェブブラウザ１００と呼ばれるクライアントソフトウェアを介して、ウェブサーバ１１０によって利用可能にされた情報にアクセスする。ウェブブラウザ１００は、典型的には従来のデスクトップコンピュータのようなコンピュータ上で実行する。所定のウェブページを見るために、ユーザは、そのウェブページを見るためにウェブブラウザ１００にリクエスト１０２を出す。ユーザは、ウェブページのＵＲＬをウェブブラウザ１００に打ち込むか、ウェブブラウザ１００によって現在表示されているウェブページ内にある所定のウェブページへのハイパーリンクをクリックするような様々な様式のうちのいずれかにおいて、リクエスト１０２を出す。ウェブブラウザ１００は、リクエストされたウェブページのＵＲＬを識別するために、ユーザのリクエスト１０２を解析し、ハイパーテキスト送信プロトコル（ＨＴＴＰ）に従ってウェブページ用にリクエスト１０４を生成する。
【００２９】
ＨＴＴＰは、ウェブクライアント（ブラウザ）およびブラウザサーバが互いに通信するために用いる言語である。より詳しくは、ＨＴＴＰは、（テキスト、グラフィック画像、サウンドまたはビデオなどの）情報をウェブを介して交換するための規則を定義する。従って、ウェブクライアントとウェブサーバとの間で送信されたメッセージは、ＨＴＴＰによって特定された規則に従って定義かつ交換される。ＨＴＴＰは、インターネットを介してホストを接続するために用いられる通信プロトコルのスートである伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を介してレイヤーとして送信される。電子メールおよびファイル送信のようなインターネット上で利用可能な他のサービスも、ＴＣＰ／ＩＰを介してレイヤーとして送信されるポストオフィスプロトコル（ＰＯＰ）およびファイル転送プロトコル（ＦＴＰ）のようなプロトコルを用いる。
【００３０】
ＨＴＴＰリクエスト１０４は、ユーザリクエスト１０２によって特定されたＵＲＬにあるウェブページが、（例えば、コンピュータモニタであり得る）出力デバイス１０６上での表示のために、ウェブブラウザ１００に送達されるようにリクエストする。ウェブブラウザ１００は、例えば公共のインターネットまたは私有のイントラネットであり得るＴＣＰ／ＩＰネットワーク１０８を介して、ＨＴＴＰリクエスト１０４を送信する。ウェブブラウザ１００が実行されるクライアントコンピュータは、典型的に、アナログ電話またはＴ１接続のような従来手段によってＴＣＰ／ＩＰネットワークに接続される。ＴＣＰ／ＩＰネットワーク１０８は、当業者に周知な手法を用いて、ユーザリクエスト１０２によってリクエストされたウェブページをホストするウェブサーバ１１０にＨＴＴＰリクエスト１０４を伝送する。例えば、ウェブサーバは、従来のコンピュータ上で実行しているソフトウェアにおいて実行され得る。図示する目的ために、ウェブサーバ１１０は、図１において、いくらでも相互に関連するページを含む所定のウェブサイト１１２をホストしているように示されている。ウェブサーバ１１０は、さらなるウェブページをホストし得、さらなるウェブサーバおよびウェブサイトは、ＴＣＰ／ＩＰネットワーク１０８を介してアクセス可能であることが理解される必要がある。ウェブサーバ１１０は、ＨＴＴＰリクエスト１０４の送信者（すなわち、ウェブブラウザ１００）を識別し、ウェブサイト１１２内のどのウェブページがリクエストされたか判断するためにＨＴＴＰリクエスト１０４を解析する。
【００３１】
ハイパーマークアップ言語（ＨＴＭＬ）は、ウェブページが書かれる言語である。例えば、ウェブサイト１１２内のウェブページは、典型的にはＨＴＭＬを用いて定義されている。ウェブページを拡張するための他の様々な所有または非所有基準が長年にわたって開発されてきたが、ＨＴＭＬは依然として全てのウェブページが定義されている基礎的な言語である。さらなる言語および技術は、典型的には、ＨＴＭＬの特有の特性に対する追加または代用として実現される。ＨＴＴＰリクエスト１０４を受信かつ解析した後、リクエストされたウェブページに対応するウェブサーバ１１０はＨＴＭＬコードをウェブサイト１１２から抽出する。ウェブサーバは、抽出されたＨＴＭＬを含むＨＴＴＰレスポンス１１４をＴＣＰ／ＩＰネットワークを介してウェブブラウザ１００に送信する。
【００３２】
ＴＣＰ／ＩＰネットワーク１０８は、当業者に周知な手法を用いて、ＨＴＴＰレスポンス１１４をウェブブラウザ１００へ伝送する。ウェブブラウザ１００はＨＴＴＰレスポンス１１４を解析し、それをリクエストされたウェブページのＨＴＭＬコードから抽出する。ウェブブラウザ１００は、現在のウェブページ１２０のさらなる処理およびやりとりを容易にするために、リクエストされたページのＨＴＭＬコードのコピーを現在のウェブページ１２０として局所的に格納し得る。ウェブブラウザ１００は、ウェブブラウザ１００がユーザに表示するための出力デバイス１０６に送達するレンダリング情報１１６を生成するためにＨＴＭＬを解析する。このように、ユーザによってリクエストされたウェブページは、表示される。
【００３３】
本発明の様々な実施形態は、ここにより詳細に記載される。図２Ａに関して、１つの実施形態において、米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡ、「Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏａｄａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａ」に記載されるようなシングルユーズデジタルカメラのようなユーザは周辺機器２０２を、入力／出力ポート２０６ａを介して、クライアントコンピュータ２０４に接続する。例えば、入力／出力ポート２０６ａは、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）ポートまたは無線通信ポートであり得る。
【００３４】
図２Ａに示されてあるように、周辺機器２０２はデバイスデータ２１０を含み得る。１つの実施形態において、周辺機器２０２はシングルユーズデジタルカメラである。デバイスデータ２１０は、１つ以上のデジタル画像に対応するデータを含み、米国特許出願番号ＡＡ／ＡＡＡ，ＡＡＡに記載されるシングルユーズデジタルカメラ内のメモリに格納される。しかしながら、デバイスデータ２１０は、どのデータでもあり得、どの媒体に格納されてもよい。さらに、デバイスデータ２１０は、図２Ａに示されるように、周辺機器２０２内に格納される必要はない。例えば、デバイスデータ２１０は、（フロッピー（Ｒ）ディスク、カートリッジ、フラッシュメモリカード、ＣＤ−ＲＷまたはＣＤ−ＲＯＭのような）、格納されているものが周辺機器２０２にアクセス可能なコンピュータによって読み取り可能な媒体に格納され得る。
【００３５】
周辺機器２０２をクライアントコンピュータ２０４のポート２０６ａに接続することによって、ユーザは、（コマンドを送信／受信し、周辺機器２０２からクライアントコンピュータ２０４にデバイスデータ２１０を送信することなどによって）クライアントコンピュータ２０４および周辺機器２０２が通信し得る物理的な接続を提供する。しかしながら、そのような物理的な接続は、適切な周辺機器用ドライバがクライアントコンピュータ２０４にインストールされていない場合、クライアントコンピュータ２０４と周辺機器２０２との間の通信を可能にするためには不十分であり得る。例えば、図２ａに示されるように、周辺機器２０２を動作させるための周辺機器用ドライバは、クライアントコンピュータ２０４にインストールされているように示されてある。本発明の１つの実施形態において、クライアントコンピュータ２０４と周辺機器２０２との間の通信は以下のようにして可能となる。
【００３６】
図２Ａに示されるように、一実施形態では、ウェブブラウザ１００は、クライアントコンピュータ２０４上で実行する。ウェブブラウザ１００は、ウェブブラウザ１００がクライアントコンピュータ２０４のコンピュータ読み出し可能メモリに格納され、当業者に周知の技術を用いてクライアントコンピュータ２０４のプロセッサによって実行されることを示すために、クライアントコンピュータ２０４内部でブロック図の形態で示されることが理解されるべきである。その結果、クライアントコンピュータ２０４は、図１に関して説明されたように、ウェブサイト１１２および他のウェブサイトからウェブページを取り出し得る。一実施形態では、ウェブサイト１１２は、ユーザがデバイスデータ２１０を周辺機器２０２からクライアントコンピュータ２０４に転送できるようにし、かつデータを操作するために１つ以上の相互に関連するウェブページを含む。デバイスデータ２１０のいくつかまたは全てをクライアントコンピュータ２０４に転送するためには、ユーザは、ウェブブラウザ１００をウェブサイト１１２内の所定のウェブページ（ウェブサイトのホームページ等）にナビゲートする。ウェブサイト１１２を実装するための種々の技術が以下により詳細に説明される。ユーザによって選択されたウェブページは、現在のウェブページ１２０としてウェブブラウザ１００によって表示される。単一の現在のウェブページ１２０のみが図２Ａに示されるが、現在のウェブページ１２０が任意の特定の時間にウェブブラウザ１００によって現在表示されているウェブページを表すことが理解されるべきである。従って、ユーザがウェブサイト１１２を介してナビゲートし、本明細書中で説明された動作を実行する場合、現在のウェブページ１２０のコンテンツが経時的に変化し得る。ユーザは、クライアントコンピュータ２０４のポート２０６ｃに接続された入力デバイス２２６（キーボードまたはマウス等）を介して、ユーザ入力２２８（ナビゲーションコマンド等）を提供し得る。
【００３７】
現在のウェブページ１２０は、本明細書で説明された種々の機能を実行するためのソフトウェアコンポーネント２１２を含む。以下により詳細に説明されるように、ソフトウェアコンポーネント２１２は、ウェブブラウザ１００によって実行され得る任意のソフトウェアコンポーネント（Ｊａｖａ（Ｒ）ａｐｐｌｅｔまたはＡｃｔｉｖｅＸコントロール）であり得る。一実施形態では、ウェブブラウザ１００が現在のウェブページ１２０を表示する場合、ウェブブラウザ１００はまた、ソフトウェアコンポーネント２１２をダウンロードし、これを実行する。
【００３８】
例示のために、シングルユーズのデジタルカメラに対して、以下の説明は、ウェブブラウザ１００によって実行され、ユーザがデバイスデータ２１０をクライアントコンピュータ２０４に転送し、データを操作し（データを復号化し）、データを画像形式で取り出し、そして画像をサーバ２３２にアップロードするかまたはクライアントコンピュータ２０４に画像を格納した後にデータを削除することができるようにウェブブラウザ１００によって実行され得るアクションを指す。このようなアクションは、ウェブブラウザ１００によっておよび／またはウェブブラウザ１００内で実行するソフトウェアコンポーネント２１２によって実行され得ることが理解されるべきである。
【００３９】
現在のウェブページ１２０は、デバイスデータ２１０のいくつかまたは全てをクライアントコンピュータ２０４に転送する（ステップ３０２）能力をユーザに提供する。図３Ａを参照すると、ブラウザ１００によってダウンロードされたソフトウェアコンポーネント２１２によって実行され得る方法３００が示され、一実施形態では、ソフトウェアコンポーネント２１２は、ブラウザ１００において動作してデバイスデータ２１０のいくつかまたは全てを周辺機器２０２（例えば、シングルユーズのカメラ）からクライアントコンピュータ２０４に転送し、データを操作し（例えば、画像形式でデータを取り出す）、操作（例えば削除）するためにデータを選択し、そしてサーバ２３２からの情報を受信すると、データを操作する。
【００４０】
ユーザは、周辺機器２０２からデバイスデータ２１０を取り出すプロセスを開始する要求を示す（例えば、現在のウェブページ１２０上に表示されたボタンをクリックすることによって）ユーザ入力２２８を提供する。ウェブブラウザ１００は、ユーザ入力１１８を受信する（ステップ３０１）。ユーザ入力２２８にレスポンスして、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４をリブートすることなく、デバイスデータ２１０を周辺機器２０２からクライアントコンピュータ２０４に転送する（ステップ３０２）（必ずしもデバイスデータ２１０をクライアントコンピュータ２０４に転送する必要がないアプリケーションが存在することが理解されるべきである）。ソフトウェアコンポーネント２１２は、転送されたデバイスデータ２１０を処理する（ステップ３０３）。シングルユーズのカメラの例では、処理は、データを画像形式で取り出す。いくつかのアプリケーションでは、処理が必要とされないことが理解されるべきである。
【００４１】
ユーザは、選択された処理データをサーバ２３２にアップロードすること、または選択された処理データをクライアントコンピュータ２０４に格納すること（ステップ３０３のデータ処理の後で）のいずれかを判断し得る。ユーザが選択された処理データをクライアントコンピュータ２０４に格納することを判断する場合、ユーザは、どの処理データアイテムを格納するかについて（例えば、現在のウェブページ１２０上に表示された画像上をクリックすることによって）ユーザ入力２２８を提供する。ウェブブラウザ１００は、どの処理データアイテムを格納するかについて（ステップ３０４）ユーザの入力２２８を受信する。図２Ｂに示されるように、ウェブブラウザ１００は、デバイスデータ２１０を処理デバイスデータ２１６として格納する（ステップ３０５）。
【００４２】
図３Ｂを参照すると、ユーザが選択された処理データをサーバ２３２にアップロードすることを判断する場合、ユーザは、どの処理データアイテムを格納するかについて（例えば、現在のウェブページ１２０上に表示された画像上をクリックすることによって）ユーザ入力２２８を提供する。ウェブブラウザ１００は、どの処理データアイテムをアップロードするかについて（ステップ３４０）ユーザの入力２２８を受信する。ウェブブラザは、クライアントコンピュータ２０４をリブートすることなく、ＴＣＰ／ＩＰネットワーク１０８を介して、選択された処理デバイスデータを処理デバイスデータデータベース２３０にアップロードする（ステップ３４５）。一実施形態では、選択された処理デバイスデータは、ウェブブラウザ１００を再実行することなく処理デバイスデータデータベース２３０にアップロードされる。アップロードおよび格納の両方が選択され得ることが理解されるべきある。この場合、ウェブブラウザは、ＴＣＰ／ＩＰネットワーク１０８を介して、選択された処理デバイスデータ２１６を処理デバイスデータデータベース２３０にアップロードし、処理デバイスデータ２１６としてデバイスデータ２１０を格納する。アップロードのみが選択される場合、選択された処理画像は、ソフトウェアコンポーネント２１２に対応するメモリから処理デバイスデータデータベース２３０に転送され得る。
【００４３】
次いでユーザは、どの処理データアイテムを操作するかについて（例えば、現在のウェブページ１２０上に表示された画像の各々に配置された「削除（ｄｅｌｅｔｅ）」ボタン上をクリックすることによって）ユーザ入力２２８を提供する。ウェブブラウザ１００は、どのデータアイテムを操作するかについて（ステップ３０６）ユーザの入力を受信する。次いで、リクエスト１０４は、サーバ２３２に送信される（ステップ３０７）。シングルユーズのカメラの例では、リクエストは、カメラの再使用についての支払い情報を含む。サーバは、リクエストを処理し、レスポンス１１４を再度ウェブブラウザ１００に送信する。シングルユーズのカメラの例では、サーバは、支払い情報に関する検証およびトランザクションを実行し、そのレスポンスはトランザクションの成功を示す。ウェブブラウザ１００はレスポンス１１４を受信する（ステップ３０８）。肯定レスポンスを受信すると、ソフトウェアコンポーネント２１２の制御下にある周辺機器ドライバ２１４は、デバイスデータ２１０を処理する（ステップ３０９）。シングルユーズのカメラの例では、支払いの検証を受信した後に、ソフトウェアコンポーネント２１２の制御下にあるドライバ２１４は、デバイスデータ２１０から選択されたデータアイテムを削除する。
【００４４】
図３Ｃを参照すると、一実施形態では、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するソフトウェアコンポーネント２１２は、以下のようにデバイスデータ２１０を周辺機器２０２からクライアントコンピュータ２０４に転送する（ステップ３０４）。ブラウザ１００によってダウンロードされ、かつブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４に接続される周辺機器２０２を識別する（ステップ３１０）。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００またはソフトウェアコンポーネント２１２は、例えば、そのバージョン番号、モデル番号、および／またはシリアル番号等の周辺機器の特徴を識別し得る。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２が周辺機器２０２を識別し得る種々の方法が、以下により詳細に説明される。周辺機器２０２を識別した後、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、周辺機器２０２を動作させるための周辺機器ドライバがクライアントコンピュータ２０４上にインストールされるかどうかを判断する（ステップ３１２）。ウェブブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、周辺機器２０２を動作させるための周辺機器ドライバがクライアントコンピュータ２０４上にインストールされないことを判断し、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４をリブートすることなく、周辺機器２０２を動作させるために周辺機器ドライバをインストールする（ステップ３１４）。周辺機器ドライバ２１４は、ウェブブラウザ１００を再実行することなく、ステップ３１４でインストールされ得る。クライアントコンピュータ２０４をリブートすることなく、かつウェブブラウザ１００を再実行することなくドライバソフトウェアをインストールするために、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２によって使用され得るプロセスの一例は、図４を参照しながら以下により詳細に説明される。図２Ａ、図２Ｂを参照すると、周辺機器ドライバ２１４がクライアントコンピュータ２０４上でインストールされるものとして示される。
【００４５】
周辺機器ドライバ２１４は、ウェブブラウザ１００（および／またはソフトウェアコンポーネント２１２）と周辺機器２０２との間の中介物として機能する。図５を参照しながら以下により詳細に説明されるように、ウェブブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２と周辺機器２０２との間の全ての通信は、周辺機器ドライバ２１４を介して実行される。ウェブブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００またはソフトウェアコンポーネント２１２は、周辺機器ドライバ２１４を用いて周辺機器２０２からクライアントコンピュータ２０４にデバイスデータ２１０を転送する（ステップ３１６）。
【００４６】
一実施形態では、周辺機器２０２からクライアントコンピュータ２０４にデバイスデータ２１０を転送する（ステップ３１６）ために使用された後、周辺機器ドライバ２１４がクライアントコンピュータからアンインストール（除去）される。以下により詳細に説明されるように、クライアントコンピュータ２０４をリブートすることなく、周辺機器ドライバ２１４がクライアントコンピュータ２０４から除去され得る。
【００４７】
ウェブブラウザ１００のユーザが、クライアントコンピュータ２０４上の周辺機器ドライバ２１４を手動でインストールすることなく、周辺機器２０２からクライアントコンピュータ２０４までデバイスデータ２１０（例えば画像に対応するデータ）を転送し、そしてクライアントコンピュータ２０４から処理デバイスデータデータベース２３０に処理デバイスデータをアップロードできるようにするために上述の技術が使用され得ることが理解されるべきである。さらに、転送および／またはアップロードする前に周辺機器ドライバ２１４がクライアントコンピュータ２０４上にインストールされなかったとしても、クライアントコンピュータ２０４をリブートすることなく、かつウェブブラウザ１００を再実行することなくデバイスデータ２１０がクライアントコンピュータ２０４に転送され、処理デバイスデータデータベース２３０にアップロードされ得ることが理解されるべきである。
【００４８】
ウェブブラウザ１００は、当業者に周知である技術を用いて処理デバイスデータデータベース２３０に処理デバイスデータをアップロードし得る。ウェブページ１２０は、例えば、処理デバイスデータデータベース２３０を位置決めし、かつそれにアクセスするために、ウェブブラウザ１００が使用し得る処理デバイスデータデータベース２３０のユニフォームリソースロケータ（ＵＲＬ）を含み得る。一旦、処理デバイスデータが処理デバイスデータデータベース２３０にアップロードされると、処理デバイスデータは、ウェブブラウザ１００を用いてＴＣＰ／ＩＰネットワーク１０８を介してブラウジングするために利用可能にされ得る。例えば、一実施形態では、処理デバイスデータは、ウェブサイト１１２等のウェブサイト上で閲覧するために提供される１つ以上のデジタル画像を含む。
【００４９】
上述のように、一実施形態では、ウェブブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４に接続される周辺機器２０２を識別する（図３Ｃ、ステップ３１０）。一実施形態では、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、周辺機器２０２のモデルを識別するユーザ入力２２８を受信することによって周辺機器２０２を識別し得る。ユーザはまた、ユーザ入力２２８を介して周辺機器２０２が接続されるポートを識別し得る。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステムがクライアントコンピュータ２０４上で実行する一実施形態では、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、以下のように、周辺機器ドライバ２１４を介して周辺機器２０２を識別し得る。図２Ａに示されたように、クライアントコンピュータ２０４は、複数のポート２０６ａ〜ｃ（３つのポートが例示の目的のために示される）を含む。これらのポート２０６ａ〜ｃは、例えば、シリアルポートであり得る。周辺機器ドライバ２１４は、Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステムによって提供された標準的なコマンドを用いてポート２０６ａ〜ｃの各々に問い合わせ得る。これらのコマンドは、ポート２０６ａ〜ｃの各々に対して周辺機器がポートに接続されるかどうかを示し、周辺機器がポートに接続される場合、周辺機器の識別子（ＩＤ）を提供する。周辺機器製造業者は、固有であることが意図される（しかしそれが保証されない）ＩＤを有する周辺機器を構成する。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、オペレーティングシステムコマンドを用いて獲得された任意の周辺機器ＩＤとユーザによって選択された周辺機器のＩＤとを比較し得る。ポート２０６ａ〜ｃの内の特定の１つに接続された周辺機器のＩＤがユーザによって選択された周辺機器のＩＤと同じである場合、周辺機器ドライバ２１４は、ユーザによって選択された周辺機器がポート２０６ａ〜ｃの内のその特定の１つに接続されることを判断し得る。
【００５０】
あるいは、ユーザが周辺機器を選択しない場合、周辺機器ドライバ２１４は、ポート２０６ａ〜ｃに接続された周辺機器のデバイス識別子（もしあれば）を獲得するためにポート２０６ａ〜ｃに問い合わせし得る。周辺機器ドライバ２１４は、この態様で獲得された任意のデバイスＩＤと公知の周辺機器に対する所定のＩＤリストとを比較し得る。公知の周辺機器がこの態様でポート２０６ａ〜ｃの１つにおいて見出された場合、周辺機器ドライバ２１４は、識別された周辺機器に対する適切な周辺機器ドライバをインストールして、ポート２０６ａ〜ｃの識別された１つを介して周辺機器２０２との以後の通信を実行し得る。
【００５１】
上述のように、一実施形態では、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４をリブートすることなく周辺機器ドライバ２１４をインストールする（図３Ｃ、ステップ３１４）。図４を参照すると、位置実施形態において、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、以下のようにこのインストールを実行する。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、周辺機器ドライバ２１４の位置を識別する（ステップ４０２）。例えば、図２Ｃを参照すると、一実施形態では、周辺機器ドライバサーバ２２２は、種々の周辺機器に対する周辺機器ドライバ２２４の格納を維持する。周辺機器ドライバ２２４の各々は、特定のユニフォームリソースロケータ（ＵＲＬ）を用いてＴＣＰ／ＩＰネットワーク１０８を介してアクセス可能である。ウェブブラウザ１００は、例えば、周辺機器ＩＤを周辺機器ドライバＵＲＬに関連付けるテーブルにおいてＵＲＬを検索することによって、ステップ３１０において実行された周辺機器２０２の識別に基づいて周辺機器２０２に対する周辺機器ドライバ２１４のＵＲＬを識別する。
【００５２】
ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、例えば、周辺機器ドライバ２１４に対する周辺機器ドライバリクエスト２２０を周辺機器ドライバサーバ２２２にＴＣＰ／ＩＰネットワーク１０８を介して送信することによって、周辺機器ドライバサーバ２２２から周辺機器ドライバ２１４をダウンロードする（ステップ４０４）。これにレスポンスして、周辺機器ドライバサーバ２２２は、ＴＣＰ／ＩＰネットワーク１０８を介して、周辺機器ドライバ２１４をウェブブラウザ１００に送信する。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、所定の位置（例えば、クライアントコンピュータ２０４にアクセス可能なハードディスクドライブ上の所定のディレクトリ）に周辺機器ドライバ２１４を格納する。
【００５３】
周辺機器ドライバサーバ２２２から周辺機器ドライバ２１４をダウンロードした後、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、クライアントコンピュータ２０４をリブートすることなく、かつウェブブラウザ１００を再実行することなく、上述のように周辺機器２０２と通信するように周辺機器ドライバ２１４を使用し得る。
【００５４】
デバイスドライバサーバ２２２の利用の１つの利点は、ユーザがフロッピー（Ｒ）ディスク（Ｒ）またはＣＤ−ＲＯＭ等のコンピュータ読み出し可能媒体上でクライアントコンピュータ２０４に周辺機器ドライバ２１４を提供する必要性を排除するためにデバイスドライバ２２２が使用され得ることである。デバイスドライバサーバ２２２を使用する別の利点は、ユーザがデバイスドライバをインストールする必要なしで任意のコンピュータに周辺機器を接続し得、これによりポータビリティを得ることである。この利点は、「Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏｒｄａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａｓ」と題された、米国特許出願第ＡＡ／ＡＡＡ，ＡＡＡ号に開示されたような出願が複数のコンピュータで使用されることを可能にする。
【００５５】
ここで、周辺機器ドライバ２１４の一実施形態がより詳細に説明される。異なる周辺機器が種々の機能を実行するための異なるコマンドのセットを理解するように製造されることが理解されるべきである。周辺機器ドライバ２１４は、アプリケーションプログラムインターフェース（ＡＰＩ）に従って定義されたコマンドのセットを認識する。周辺機器ドライバ２１４は、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２が、周辺機器ドライバのＡＰＩによって定義された単一のコマンドのセットを用いて複数の周辺機器と通信できるようにする。
【００５６】
図５を参照すると、ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２は、ＡＰＩコマンド５０６を周辺機器２０２によって理解されるダイレクトデバイスコマンド５１４に変換する周辺機器ドライバ２１４に、ＡＰＩに従って定義されたＡＰＩコマンド５０６を送信することによって、周辺機器２０２と通信し得る。周辺機器２０２は、ダイレクトデバイスコマンド５１４を処理し、そしてＡＰＩコマンドレスポンス５０８に変換されるダイレクトデバイスレスポンス５１６と共に周辺機器ドライバ２１４にレスポンスする。ダイレクトデバイスコマンド５１４は、周辺機器２０２によって理解された任意のコマンドであり得る。
【００５７】
周辺機器ドライバ２１４は、上記のようなウェブブラウザ１００による使用のためのコマンドの標準セットを実装するアプリケーションプログラムインターフェース（ＡＰＩ）層５０２を含む。例えば、このようなコマンドは、周辺機器２０２からクライアントコンピュータ２０４にデバイスデータ２１０を転送するためのコマンド、周辺機器２０２からデバイスデータ２１０を削除するためのコマンド、デバイスデータ２１０を周辺機器２０２にダウンロードするためのコマンド、および周辺機器２０２およびデバイスデータ２１０に関する情報を獲得するためのコマンドを含み得る。ブラウザ１００によってダウンロードされ、そしてブラウザ１００において動作するウェブブラウザ１００および／またはソフトウェアコンポーネント２１２がＡＰＩコマンド５０６を周辺機器ドライバ２１４に送信する場合、ＡＰＩコマンド５０６は、ＡＰＩコマンド５０６を下位レベルデバイスコマンド５１０に変換するＡＰＩ層５０２によって受信される。下位レベルデバイスコマンド５１０は、下位レベルデバイスドライバ５０４によって理解されたコマンドセットに従って定義される。下位レベルデバイスドライバ５０４は、ポート２０６ａを介して周辺機器２０２と共に直接通信するように構成され、周辺機器２０２の製造業者によって提供され得る。ＡＰＩ層５０２は、下位レベルデバイスコマンド５１０を、下位レベルデバイスコマンド５１０を適切に処理する下位レベルデバイスドライバ５０４に送信する。下位レベルデバイスドライバ５０４は、下位レベルデバイスコマンド５１０を周辺機器２０２によって直接理解されるダイレクトデバイスコマンド５１４に変換する。
【００５８】
周辺機器２０２は、ダイレクトデバイスレスポンス５１６を用いてダイレクトデバイスコマンド５１４にレスポンスし得る。例えば、ダイレクトデバイスレスポンス５１６は、デバイスデータ２１０および／または状態情報（ダイレクトデバイスコマンド５１４の実行が成功されたかどうかの表示等）のいくつかまたは全てを含み得る。下位レベルデバイスドライバ５０４は、ダイレクトデバイスレスポンス５１６を受信し、そのレスポンスを、ＡＰＩ層５０２によって理解される下位レベルデバイスレスポンス５１２に変換する。次いで、ＡＰＩ層５０２は、ウェブブラウザ１００に配信されるＡＰＩコマンドレスポンス５０８（周辺機器ドライバＡＰＩに従って定義される）ＡＰＩコマンドレスポンス５０８に下位レベルデバイスレスポンス５１２を変換する。例えば、ＡＰＩコマンドレスポンス５０８は、デバイスデータ２１０および／または状態情報の一部または全てを含み得る。
【００５９】
一実施形態では、ＡＰＩ層５０２の機能性は、現在のウェブページ１２０によって提供され、従って、現在のウェブページ１２０の一部としてクライアントコンピュータ２０４に転送される。その結果、ＡＰＩ層５０２は、周辺機器ドライバサーバ２２２から別個にダウンロードされる必要がない。むしろ、本実施形態では、下位レベルデバイスドライバ５０４のみが周辺機器２０２を動作させるために周辺機器ドライバサーバ２２２からダウンロードされる。なぜなら、ＡＰＩ層５０２の機能性が現在のウェブページ１２０内のクライアントコンピュータ２０４上に既に存在しているためである。
【００６０】
単一のみの周辺機器２０２および単一の下位レベルデバイスドライバ５０４が図５に示されるが、複数の周辺機器および複数の対応する下位レベルデバイスドライバが存在することが理解されるべきである。例えば、クライアントコンピュータ２０４に接続された各周辺機器に対する明確な下位レベルデバイスドライバが存在し得る。単一のアプリケーション層５０２は、複数の下位レベルデバイスドライバを用いて、ウェブブラウザ１００と周辺機器との間の中介物として機能するように構成され得る。
【００６１】
本発明の特定の実施形態が、ここで、より詳細に記載される。この実施形態は、Ｊａｖａ（Ｒ）プログラミング言語のバージョン１．１およびバージョン１．１以上によって提供され、かつ、Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（バージョン４．０．８およびバージョン４．０．８以上、以降「Ｎａｖｉｇａｔｏｒ」）およびＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）プラットフォーム上のＭｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（バージョン４．０．１およびバージョン４．０．１以上、以降「Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ」）ウェブブラウザ等のウェブブラウザによってサポートされる特徴を用いる。Ｊａｖａ（Ｒ）プログラミング言語は、ＮａｖｉｇａｔｏｒおよびＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ内のわずかに異なる態様で実装されるが、当業者は、本明細書の記述に基づく２つのウェブブラウザのいずれかにおいて以下に記載される特徴を実装することができる。
【００６２】
この実施形態によると、クライアントコンピュータ２０４は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステム（Ｗｉｎｄｏｗｓ（Ｒ）９５、Ｗｉｎｄｏｗｓ（Ｒ）９８、Ｗｉｎｄｏｗｓ（Ｒ）  ＮＴ、またはＷｉｎｄｏｗｓ（Ｒ）２０００等）を実行するように構成される従来のデスクトップまたはラップトップコンピュータである。ウェブブラウザ１００は、Ｊａｖａ（Ｒ）バージョン１．１およびそれ以上をサポートするＮａｖｉｇａｔｏｒまたはＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒのいずれかのバージョンである。周辺機器２０２は、ポート２０６ａに接続された単一使用デジタルカメラ（米国特許出願第ＡＡ／ＡＡＡ，ＡＡＡ「Ｍｅｔｈｏｓ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａ」に記載された単一使用デジタルカメラ）である。ポート２０６ａは、クライアントコンピュータ２０４のシリアルポートである。デバイスデータ２１０は、周辺機器２０２のメモリ等のコンピュータ読み出し可能媒体上に格納された画像に対応する１以上のデータアイテムを含む。ウェブサイト１１２は、周辺機器２０２からのデータを操作する（例えば、削除する、処理する）場合およびクライアントコンピュータ２０４から処理されるデバイスデータデータベース２３０にデジタル画像をアップロードする場合にユーザをアシストするように設計されたウェブサイトである。
【００６３】
この実施形態では、ユーザは、単一使用デジタルカメラを用いてデジタル画像を獲得し、単一使用デジタルカメラをクライアントコンピュータ２０４のポート２０６ａに接続する。例示の目的のため、単一使用デジタルカメラを動作させるための周辺機器ドライバは、クライアントコンピュータ２０４上にインストールされないと仮定する。さらに、例示の目的のため、ウェブサイト１１２のホームページのＵＲＬはユーザに既知であると仮定する。ユーザは、ウェブブラウザ１００を用いてウェブサイト１１２のホームページをナビゲートし、ホームページが現在のウェブページ１２０となる。ウェブブラウザ１００は、コンピュータモニタ等の出力デバイス（図示せず）上に現在のウェブページ１２０を与える。
【００６４】
この実施形態では、現在のウェブページ１２０は、Ｊａｖａ（Ｒ）プログラミング言語にしたがって書き込まれたアプレットを含む。本明細書にて用いられるように、用語「アプレット」は、ウェブブラウザ１００内で実行可能なコンピュータプログラムをいう。例えば、アプレットは、Ｓｕｎ  ＭｉｃｒｏｓｙｓｔｅｍのＪａｖａ（Ｒ）ＴＭプログラミング言語で書き込まれ得、かつ、従来のウェブブラウザ内で実行され得る。アプレットは、典型的には、ウェブページ（現在のウェブページ１２０等）に組み込まれる（または、ウェブページによって参照される）。ウェブブラウザ１００がアプレットを含むウェブページを表示する場合、ウェブブラウザ１００は、アプレットのオブジェクトコードをクライアントコンピュータ２０４にダウンロードし、アプレットのオブジェクトコードを実行する。アプレットの出力は、典型的には、アプレットを含むウェブページ内の矩形領域内に表示される。ウェブページ内にアプレットを組み込むために、「アプレット」タグが、典型的には、ＵＲＬを用いて、アプレットのオブジェクトコードの位置を識別し、アプレットに提供されるパラメータを提供するウェブページのソースコード内に提供される。
【００６５】
アプレットは、典型的には、ウェブブラウザ１００等のアプリケーションプログラムがクライアントコンピュータ上にインストールされるのと同一の態様でクライアントコンピュータ２０４上にインストールされないことが理解されるべきである。例えば、アプリケーションプログラムをＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステム環境にインストールするために、ユーザは、典型的には、クライアントコンピュータ２０４上のインストレーションプログラムを実行する。インストレーションプログラムは、アプリケーションプログラムのファイルをクライアントコンピュータのハードディスクドライブにコピーし、さらに、Ｗｉｎｄｏｗｓ（Ｒ）  Ｒｅｇｉｓｔｒｙを改変する等の他のアクションを行い得る。インストレーションプログラムのオペレーションは、典型的には、ユーザが、アプリケーションプログラムがインストールされるディレクトリを特定する等のなんらかの入力を提供することを必要とする。いくつかのアプリケーションプログラムは、クライアントコンピュータ２０４が、インストールされた後にリブートされることを必要とする。アプリケーションプログラムをＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）にインストールすることは、既存のＤＬＬに、ＤＬＬのより新しいバージョンで上書きすることを行わせ得る。これは、しばしば、ＤＬＬのより古いバージョンを用いていた既存のアプリケーションに後方互換性の問題を引き起こし得る。
【００６６】
他方、アプレットは、典型的には、別々のインストレーションプログラムを実行することによってはクライアントコンピュータ２０４上にインストールされない。むしろ、上記のように、それらは、アプレットを含むウェブページ（現在のウェブページ１２０等）がウェブブラウザ１００によって表示される場合に、典型的には、ウェブブラウザ１００によって自動的にダウンロードされ実行される。アプレットは、典型的には、（出力を表示し、入力を受信することによって）アプレットを含むウェブページを表示する同一のウェブブラウザウィンドウを通じてユーザと相互作用する。さらに、アプレットのダウンロードおよび実行は、典型的には、潜在的に矛盾するＤＬＬのインストレーションを必要とせず、クライアントコンピュータ２０４がリブートされることを必要としない。
【００６７】
上記のアプレットの特徴の結果として、アプレットは、周辺機器ドライバ２１４をインストールし、デバイスデータ２１０をクライアントコンピュータ２０４に移動させ、移動されたデバイスデータ２１０を処理し、および／または、処理されたデバイスデータ２１６を処理されたデバイスデータデータベース２３０にアップロードするための能率化されたプロセスを提供するために有利なように用いられ得る。アプレットは、別々に実行されるアプリケーションプログラムではなくウェブブラウザ１００内で実行されるので、アプレットは、典型的には、対応するアプリケーションプログラムより小さい量のデータを含み、したがって、対応するアプリケーションプログラムより少ないダウンロードされるための時間を必要とする。小さいサイズは、クライアントコンピュータ２０４上にすでにインストールされているウェブブラウザ１００がアプレットによって要求される機能性の多くを提供するという事実に起因する。さらに、ユーザは、ウェブブラウザウィンドウを通じて入力および出力を行うので、周辺機器ドライバ２１４をインストールする、周辺機器２０２からクライアントコンピュータ２０４にデバイスデータ２１０を移動させる、画像フォームでデータを取り出すために処理する、単一使用デジタルカメラを「リロードする」ために周辺機器２０２からデバイスデータ２１０を削除する、および処理されたデバイスデータを処理されたデバイスデータデータベース２３０にアップロードする、全体のプロセスが、同一のウェブブラウザウィンドウ内で行われ得、これにより、ユーザに、従来の方法と比較して能率化されかつ簡略化された、デバイスデータ２１０を操作するための方法を提供する。
【００６８】
アプレットは、典型的には、現在のウェブページ１２０の所定の矩形領域内のウェブブラウザ１００によって与えられる。アプレットは、テキストおよび画像を表示する、および、ユーザ入力に応答する等の種々の機能を行い得る。デフォルトにより、アプレットは、典型的には、ファイルを削除する等の不当な活動に係合することを防止するために、クライアントコンピュータ２０４にアクセス可能なファイルへのアクセスを否定する。しかしながら、ユーザは、アプレットがローカルファイルにアクセスして他の活動を行うことを可能にするために、アプレットに特別な特権を付与し得る。アプレットは、アプレットが信頼されたソースから始まり、クライアントコンピュータ２０４上の不当な活動に係合しないユーザに検査を提供するために署名されたアプレットとして実装され得る。アプレットをインストールすることをユーザから認可を受信すると、ウェブブラウザ１００は、ウェブサーバ１１０からアプレットをダウンロードし、アプレットを実行して、アプレットが現在のウェブページ１２０内に表示されるようにする。
【００６９】
アプレットをダウンロードおよびインストールする前に、現在のウェブページ１２０に含まれるかまたは現在のウェブページ１２０によって参照されるコンピュータプログラムコード（ブラウザ内のサーバまたはＪａｖａ（Ｒ）ＳｃｒｉｐｔコードにおけるＪａｖａ（Ｒ）またはＭｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＡＳＰ）コード等）が、クライアントコンピュータ２０４のオペレーティングシステムを決定するおよびウェブブラウザ１００のモデルおよびバージョンを決定する等の機能を行うために適切なようにクライアントコンピュータ２０４および／またはウェブサーバ１１０上で実行され得る。アプレットの異なるバージョンが、検出されたオペレーティングシステムおよび／またはウェブブラウザに応じてクライアントコンピュータ１００上にインストールされ得る。ウェブブラウザ１００の現在のユーザに関連付けられる識別子および／またはパスワード等の現在のウェブページ１２０内のコードはまた、アプレットを実行する場合にアプレットに情報を提供し得る。アプレットは、ユーザのアカウントまたはユーザに対応する特定のディレクトリまたはＵＲＬにデジタル画像をアップロードするためにデジタル画像をアップロードする場合にそのような識別子および／またはパスワードを実質的に用い得る。
【００７０】
アプレットは、上記（図３Ｃ、ステップ３１０）のように周辺機器２０２を識別する。アプレットが周辺機器２０２を識別した後、アプレットは、周辺機器２０２を動作させるための周辺機器ドライバがクライアントコンピュータ２０４上にインストールされるかどうかを決定する（図３Ｃ、ステップ３１２）。この決定を行うために、アプレットは、任意のインストールされた周辺機器ドライバを、クライアントコンピュータ２０４のローカルハードディスクドライブ上の所定のディレクトリ（あるいは、異なるドライバファイルネームを有する一つの所定のディレクトリ）に格納する。各ディレクトリ（または各ドライバファイル）は、対応する周辺機器を識別する固有の名前を有する。結果として、アプレットは、特定の周辺機器に対応するドライバソフトウェアが、周辺機器に対応するディレクトリがクライアントコンピュータ２０４上にあるかどうかを決定することによって、および正しい周辺機器ドライバファイルがディレクトリ内に格納されるかどうかを決定することによってクライアントコンピュータ２０４上にインストールされるかどうかを決定し得る。
【００７１】
アプレットが、デジタルカメラのための周辺機器ドライバがクライアントコンピュータ２０４上にインストールされないことを決定する場合、アプレットは、ウェブサーバ１１０から周辺機器ドライバ２１４をダウンロードし、クライアントコンピュータ２０４をリブートすることなく周辺機器ドライバ２１４をクライアントコンピュータ２０４上にインストールする（図３Ｃ、ステップ３１４）。アプレットは、ネットワークアドレス（ＵＲＬ）を識別し、このネットワークアドレスから、デバイスドライバＵＲＬにデジタルカメラモデルをマッピングする所定のターブルを用いることによって周辺機器ドライバ２１４をダウンロードする。
【００７２】
アプレットが周辺機器ドライバ２１４をクライアントコンピュータ２０４上にインストールする前に、アプレットは、周辺機器ドライバ２１４の格納のためにクライアントコンピュータ２０４のローカルハードディスクドライブ上にディレクトリを生成する。アプレットは、単一使用デジタルカメラに格納された画像に対応するデータを、アプレットによって用いられるように割り当てられたメモリ位置（以降、アプレットのメモリと呼ぶ）に移動させる。アプレットは、データを画像フォームで与えるために画像（画像フォームではない）に対応するデータを処理する。ユーザが画像をクライアントコンピュータに格納することを望む場合、アプレットは、画像の格納のためにクライアントコンピュータ２０４のローカルハードディスクドライブ上にディレクトリを生成する。（画像）処理デバイスデータデータベース２３０に画像をアップロードすることが望まれる場合、アプレットは、以下に詳細に記載される態様で画像を（画像）処理されたデバイスデータデータベース２３０にアップロードする。
【００７３】
本発明の一実施形態におけるデジタルカメラからクライアントコンピュータ２０４にデジタル画像を移動させるために用いられる技術が、ここで、より詳細に記載される。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）環境内のクライアントコンピュータ２０４上で実行するアプリケーションは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステムによって提供される低レベルの入力／出力（Ｉ／Ｏ）コマンドを用いてクライアントコンピュータ２０４のシリアルポート（ポート２０６ａ〜ｃ等）と直接通信し得る。このような低レベルＩ／Ｏコマンドは、シリアルポート２０６ａを通じて周辺機器（周辺機器２０２等）と直接通信するために用いられ得る。図５に示されるように、一実施形態の周辺機器ドライバ２１４は、直接シリアルポート２０６ａを通じて周辺機器２０２と通信するように提供される。
【００７４】
Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）環境内で実行するＪａｖａ（Ｒ）  ａｐｐｌｅｔは、シリアルポートに直接アクセスすることはできない。例えば、一実施形態では、ポート２０６ａは、シリアルポートであり、アプレットは、上記のようなシリアルポート２０６ａと通信することが可能なＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）アプリケーションプログラムとして周辺機器ドライバ２１４を実行する。アプレットは、Ｊａｖａ（Ｒ）  Ｒｕｎｔｉｍｅ．ｅｘｅｃ（）方法を用いて周辺機器ドライバ２１４であるＷｉｎｄｏｗｓ（Ｒ）アプリケーションを実行し、周辺機器ドライバ２１４にＡＰＩコマンドを発する。周辺機器ドライバ２１４は、次いで、シリアルポート２０６ａを通じて周辺機器２０２と通信する。Ｒｕｎｔｉｍｅ．ｅｘｅｃ（）方法は、種々の目的のために用いられ得るＪａｖａ（Ｒ）  Ｐｒｏｃｅｓｓオブジェクトに戻る。種々の目的のいくつかは、以下により詳細に記載される。シリアルポート２０６ａとのアプレットによる通信への本明細書の任意の参照が適切な場合に周辺機器ドライバ２１４を通じたシリアルポート２０６ａとのアプレットによる通信を含むものと考えられるべきであることが理解されるべきである。
【００７５】
一実施形態では、周辺機器ドライバ２１４は、ＡＰＩ層５０２によって提供される機能性のみを含むＷｉｎｄｏｗｓ（Ｒ）アプリケーションとして実装される。この実施形態では、低レベルのデバイスドライバ５０４は、低レベルデバイスドライバ５０４によって提供される機能を行うためのオブジェクトコードを含む１以上のダイナミックリンクライブラリ（ＤＬＬ）として実装される。低レベルデバイスドライバ５０４に対応するＤＬＬが周辺機器ドライバサーバ２２２からダウンロードされる場合（図２Ｃ）、それらは、周辺機器ドライバ２１４に対応するＷｉｎｄｏｗｓ（Ｒ）アプリケーションと同一のディレクトリに格納される。結果として、周辺機器ドライバＤＬＬがクライアントコンピュータ２０４上に以前にインストールされた他のＤＬＬを上書きするまたはそのＤＬＬと矛盾するリスクがない。さらに、ＤＬＬは、Ｗｉｎｄｏｗｓ（Ｒ）  Ｒｅｇｉｓｔｒｙに登録されない。結果として、クライアントコンピュータ２０４は、リブートされる必要がなく、ウェブブラウザ１００は、ＤＬＬがインストールされた後に再実行される必要がない。周辺機器ドライバＷｉｎｄｏｗｓ（Ｒ）アプリケーションは、それらがＷｉｎｄｏｗｓ（Ｒ）アプリケーションと同一のディレクトリに格納されるので、ダウンロードされたＤＬＬ内のライブラリルーチンを首尾よく呼び出し得る。結果として、ダウンロードされたＤＬＬ（図５の低レベルデバイスドライバ５０４に対応する）は、クライアントコンピュータ２０４上にインストールされ得、Ｗｉｎｄｏｗｓ（Ｒ）アプリケーション（図５のＡＰＩ層５０２に対応する）は、クライアントコンピュータ２０４をリブートすることなく、および、ウェブブラウザ１００を再実行することなくダウンロードされたＤＬＬと通信し得る。
【００７６】
アプレットは、Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステムによって認識される従来のＳＴＤＩＮおよびＳＴＤＯＵＴ入力および出力を用いて周辺機器ドライバ２１４と通信し得る。典型的には、ＳＴＤＩＮストリームは、キーボードを通じてユーザから入力を受信し、ＳＴＤＯＵＴストリームは、ウィンドウに出力を表示する。初期化の際、アプレットは、（１）Ｗｉｎｄｏｗｓ（Ｒ）  ＳＴＤＯＵＴストリームに送られたデータを受信する入力ストリームを取得するために上記のＪａｖａ（Ｒ）  ＰｒｏｃｅｓｓオブジェクトのｇｅｔＩｎｐｕｔＳｔｒｅａｍ（）方法を呼び出し、（２）Ｗｉｎｄｏｗｓ（Ｒ）  ＳＴＦＩＮストリームにデータを送るために用いられ得る出力ストリームを取得するために上記のＪａｖａ（Ｒ）  ＰｒｏｃｅｓｓオブジェクトのｇｅｔＯｕｔｐｕｔＳｔｒｅａｍ（）方法を呼び出し得る。結果として、アプレットは、そのような情報をアプレットの出力ストリーム上に出力することによって周辺機器ドライバ２１４に情報（ＡＰＩコマンド５０６等）を送信し得、周辺機器ドライバ２１４は、このような情報を周辺機器ドライバのＳＴＤＯＵＴストリーム上に出力することによってアプレットに情報（ＡＰＩコマンド応答５０８および周辺機器２０２から受信された画像に対応するデータ等）を送信し得る。
【００７７】
一実施形態では、ＡＰＩコマンド５０６およびＡＰＩコマンド応答５０８が、ＳＴＤＩＮおよびＳＴＤＯＵＴを用いて送信を容易にするためにＡＳＣＩＩテキストにおいて符号化される。例えば、ＡＰＩコマンド５０６は、ＡＳＣＩＩテキストストリングにおいて符号化され得る。ここで、ストリングの最初のキャラクタは、ＡＰＩコマンド５０６を識別し、バー「｜」キャラクタ等の所定のセパレータキャラクタによって分離された１以上のコマンドパラメータに続く。同様に、ＡＰＩコマンド応答５０８は、ＡＳＣＩＩテキストストリングにおいて符号化され得る。ここで、ストリングの最初のキャラクタは、ＡＰＩコマンド応答が応答するＡＰＩコマンド５０６を識別し、ステータスコード（成功に対する数字０および失敗に対する任意の他のディジット等）およびステータスメッセージに続く。ＡＰＩコマンド５０６およびＡＰＩコマンド応答５０８は、ＡＳＣＩＩにおいて符号化される必要がないことが理解されるべきである。むしろ、任意の方法が、ＳＴＤＩＮおよびＳＴＤＯＵＴを用いて送信に対するＡＰＩコマンドおよびＡＰＩコマンド応答を符号化するために用いられ得る。例えば、ＡＰＩコマンド５０６およびＡＰＩコマンド応答５０８は、バイナリデータとして符号化され得る。
【００７８】
周辺機器ドライバ２１４は、画像に対応するデータアイテムをファイルに格納し、ＡＰＩコマンド応答５０８においてファイルのファイルネームをアプレットに送信することによって、画像に対応するデータアイテムのアプレットへの送信に影響し得る。これは、ＡＰＩコマンド応答５０８内の画像に対応するデータアイテムを符号化する必要なく、周辺機器ドライバ２１４が画像に対応するデータアイテムを効果的に送信することを可能にする。
【００７９】
図３Ｄを参照すると、単一使用デジタルカメラからクライアントコンピュータ２０４（に画像に対応するデータアイテムを移動させるため、画像形態でデータを与えるためおよびクライアントコンピュータ２０４から処理されたデバイスデータデータベース２３０（図３Ｂ、ステップ３４５）に移動されたデジタル画像をアップロードするために画像（画像形態ではない）に対応するデータを加工するために用いられ得る方法がここでより詳細に記載される。ユーザは、周辺機器２０２（現在のウェブページ１２０上に表示されるボタンをクリックオンすること等）からデバイスデータ２１０を取り出すプロセスを開始することの望みを示すユーザ入力２２８を提供することにより移動を開始する。アプレットは、ＡＰＩコマンド５０６を用いて適切なＡＰＩルーチンを呼び出すことによって周辺機器２０２からクライアントコンピュータ２０４に、画像に対応するデータアイテムを移動させる（ステップ３３２）。画像に対応するデータアイテムは、周辺機器２０２から、アプレットによって用いられるように割り当てられたクライアントコンピュータ２０４内のメモリ位置（アプレットのメモリ）に直接移動される（ステップ３２２）。アプレットは、サムネイル画像を含む画像形態でデータを与えるのに必要な処理動作を行う（ステップ３２４）。
【００８０】
次いで、アプレットは、当業者に周知の技術を用いて現在のウェブページ１２０のレンディション（ｒｅｎｄｉｔｉｏｎ）にサムネイルを表示する。ユーザは、画像を格納するかまたはアップロードするかどうかを選択する（ステップ３２５）。アップロードすることが選択された場合、ユーザは、アップロードするために画像を選択する（現在のウェブページ１２０上の各画像下に表示されたボタンをクリックオンすること等によって）（ステップ３２６）。次いで、各選択された画像に対して、アプレットは、アプレットのメモリ内で画像を望みのフォーマット（ＪＰＥＧまたは別の圧縮されたまたは圧縮されていないフォーマットに変換する（ステップ３２８）。再度、図３Ｄを参照すると、現在の画像を処理されたデバイスデータデータベース２３０にアップロードする（図３Ａ、ステップ３０６）ために、アプレットは、処理されたデバイスデータデータベース２３０によって提供された「提示」ＡＰＩ機能を呼び出す（ステップ３３４）。これにより、画像ファイル（ｉｍａｇｅ．ｊｐｇ）が処理されたデバイスデータデータベース２３０にアップロードおよび格納される。一実施形態では、画像ファイルは、バイナリフォームで処理されたデバイスデータデータベース２３０に画像ファイルをアップロードするソケット接続を用いてアップロードされる。別の実施形態では、画像ファイルは、処理されたデバイスデータデータベース２３０に、ＨＴＴＰを用いるＡＳＣＩＩフォームでアップロードされる。
【００８１】
クライアントコンピュータ２０４において格納することが選択された場合、ユーザは、格納するために画像を選択する（現在のウェブページ１２０上の各画像下に表示されたボタンをクリックオンすること等によって）（ステップ３３２）。次いで、各選択された画像に対して、アプレットは、アプレットのメモリ内でＷｉｎｄｏｗ  Ｂｉｔｍａｐ（ＢＭＰ）フォーマット等の所与のフォーマットに画像を変換する（ステップ３３４）。アプレットは、クライアントコンピュータのハードディスクドライブ上の現在の画像を所与のフォーマットに格納すること等によって現在の画像を転送されたデバイスデータ２１６に格納する（ステップ３３６）。
【００８２】
画像に対応する全てのデータアイテムが処理され画像として与えられた後、ユーザがカメラを「リロードする」ことを選択すれば、ユーザは、データアイテムのどれが削除されるかに関してユーザ入力２２８を提供する（現在のウェブページ１２０上に表示された画像のそれぞれによって位置付けられる「削除」ボタンをクリックオンすること等によって）。削除が可能にされ得る前に、ユーザは、カメラの継続された再使用に対する支払いを提供しなければならない。「リロードすること」が望まれることを示すユーザ入力２２８により、ウェブブラウザ１００は、「リロードすること」の支払いに対する取引を開始するためにサーバ２３２にＨＴＴＰＳリクエスト１０４を送信する。サーバ２３２は、ＨＴＴＰ応答１１４を返信する。１より多くのリクエスト／応答シーケンスは、取引を完了するために必要であり得ることが明らかであるべきである。取引の完了時に、サーバ２３２からのＨＴＴＰ応答１１４は、結果またはインジケータを含む。成功取引の表示の受信時に、アプレットは、ＡＰＩコマンド５０６を用いて適切なＡＰＩルーチンを呼び出すことによって周辺機器２０２から選択された画像に対応するデータアイテムを削除する。
【００８３】
処理されたデバイスデータデータベース２３０に画像をアップロードした後、アプレットは、クライアントコンピュータ２０４から周辺機器ドライブ２１４（または低レベルデバイスドライバ５０４）をインストールしない（除去する）ことのオプションをユーザに提供し得る。ユーザが周辺機器ドライバ２１４を削除しないことを選択する場合、ユーザが周辺機器２０２からクライアントコンピュータ２０４に画像を次に転送するときに周辺機器ドライバ２１４をクライアントコンピュータ２０４にダウンロードすることは必ずしも必要ではない。
【００８４】
周辺機器ドライバ２１４が、クライアントコンピュータ２０４がリブートされることを要求することなくおよび／またはウェブブラウザ１００が再実行されることを要求することなくクライアントコンピュータ２０４から削除され得ることは理解されるべきである。さらに、周辺機器ドライバ２１４は、ユーザがアンインストールする動作を手動で行うことを要求することなく削除され得る。例えば、周辺機器ドライバ２１４が、Ｗｉｎｄｏｗｓ（Ｒ）  Ｒｅｇｉｓｔｒｙに登録されないＤＬＬを用いて実装される上記に記載された実施形態では、周辺機器ドライバ２１４は、クライアントコンピュータのハードディスクドライブから対応するＤＬＬ（および、オプションとして、同封ディレクトリ）を削除することによってクライアントコンピュータ２０４からアンインストールされ得る。このような削除は、Ｗｉｎｄｏｗｓ（Ｒ）  Ｒｅｇｉｓｔｒｙの変更を含まないので、クライアントコンピュータ２０４をリブートすることなく、かつ、ウェブブラウザ１００を再実行することなく行われ得る。
【００８５】
上記例示は、１より多いサーバ（クライアントコンピュータ２０４でのウェブブラウザ１００にダウンロードされるソフトウェアコンポーネント２１２をホストするサーバ、取引を行うために対照区別されるサーバ）、周辺機器ドライバサーバ２２２）を含み得ること、および処理されたデバイスデータデータベース２３０が、ウェブサーバ１１０とは異なり得るウェブ上のオンラインフォンアルバムをホストするためのウェブサーバであり得ることが明らかであるべきである。これらのサーバは、異なり得、いくつかは、結び付けられ得るか、あるいは、あるサーバが別のサーバにアクセスし得る。
【００８６】
本明細書中に説明される技術は、「Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｅｎａｂｌｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｒｅｌｏａｄａｂｌｅ  Ｓｉｎｇｌｅ  Ｕｓｅ  Ｄｉｇｉｔａｌ  Ｃａｍｅｒａｓ」と称する米国特許出願ＡＡ／ＡＡＡ，ＡＡＡ号内に記載される単一の用途のデジタルカメラの実施形態のインプリメンテーションにおいて利用され得る。
【００８７】
本発明は特定の実施形態に関して上述されたが、前述の実施形態は、説明のためのみであり、本発明の範囲を制限または規定しないように提供されていることが理解されるべきである。他の実施形態はまた、以下の請求項の範囲によって規定される本発明の範囲内に存在する。以下の特許請求の範囲内に収まる他の実施形態は、以下を含むが、それに制限されない。
【００８８】
クライアントコンピュータ２０４は、デスクトップコンピュータ、ラップトップコンピュータ、インターネットが可能な携帯電話、または、パーソナルデジタルアシスタント（ＰＤＡ）等のコンピュータプロセッサを組み込む任意のコンピュータまたはデバイスであり得る。
【００８９】
本明細書中で利用されるように、周辺機器２０２は、クラインアントコンピュータ２０４等のコンピュータと通信し得る任意のデバイスを表わす。例えば、周辺機器２０２は、デジタルカメラ、スキャナ、ハードディスクドライブ、フロッピー（Ｒ）ディスクドライブ、マルチファンクションデバイス（スキャン、印刷、コピー、ファックスおよび／またはデジタルイメージ取得性能）あるいはデジタルオーディオデバイスであり得る。周辺機器２０２は、シリアルケーブル、パラレルケーブルまたはワイヤレス接続等の任意のコネクタを利用して、クライアントコンピュータ２０４に接続され得る。
【００９０】
前述の例は、デバイスデータ２１０の例としてイメージに対応するデータを利用するが、これは、本発明の制限ではなく、データデバイス２１０は、デジタルビデオ、デジタルオーディオ、デジタルマルチメディアストリームまたは任意のその組み合わせ等の任意の種類のデータを含み得ることが理解されるべきである。
【００９１】
処理された（ｐｒｏｃｅｓｓｅｄ）デバイスデータデータベース２３０は、例えば、ＴＣＰ／ＩＰネットワーク１０８を介してクライアントコンピュータ２０４と通信することができ、かつ、デバイスデータ２１０のいくらかまたは全てを格納することができる任意のデータベースあるいは記憶媒体であり得る。例えば、処理されたデバイスデータデータベース２３０は、ウェブ上のオンラインフォトアルバムをホストするためのウェブサーバであり得る。処理されたデバイスデータデータベース２３０は、ウェブサーバ１１０から区別され得る、あるいは、ウェブサイト１１２をホストし、かつ、送信されたデバイスデータ２１６を格納するためのシングルウェブサーバを形成するためにウェブサーバ１１０とマージされ得る。
【００９２】
トランザクションデータデータベース２３４は、例えば、ＴＣＰ／ＩＰネットワーク１０８を介してクライアントコンピュータ２０４と通信することができ、かつ、トランザクションデータを格納することができる任意のデータベースあるいは記憶媒体であり得る。トランザクションデータデータベース２３４は、トランザクションを処理するためのウェブサーバホスティングアプリケーションであり得る。ウェブブラウザ１００は、任意のウェブブラウザまたはＨＴＴＰクライアントであり得、かつ、ハードウェア、ソフトウェア、ファームウェアまたは任意のその組み合わせで実装され得る。例えば、ウェブブラウザ１００は、従来のデスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドデバイス、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話または任意の他のデバイスのプロセッサ上で実行するソフトウェアアプリケーションであり得る。ウェブブラウザ１００は、例えば、Ｃａｌｉｆｏｒｎｉａ  Ｍｏｕｎｔａｉｎ  ＶｉｅｗのＮｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＮａｖｉｇａｔｏｒＴＭウェブブラウザまたはＷａｓｈｉｎｇｔｏｎ  ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＩｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒＴＭウェブブラウザ等の市販のウェブブラウザであり得る。同様に、ウェブサーバ１１０は、任意のＨＴＴＰサーバであり得、任意の特定のインプリメンテーションに制限されない。
【００９３】
上述の説明のある部分は、ソフトウェアコンポーネント２１２の様々な局面を実装するアプレットの利用を表わす。ソフトウェアコンポーネント２１２は、アプレット（Ｊａｖａ（Ｒ）プログラミング言語で書かれたアプレット等）だけでなく、ウェブブラウザ１００内で実行され得る任意のソフトウェアコンポーネントも表わすことが理解されるべきである。例えば、ソフトウェアコンポーネント２１２は、Ｊａｖａ（Ｒ）プログラミング言語、ＭｉｃｒｏｓｏｆｔのＡｃｔｉｖｅＸ技術、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ、Ｍｉｃｒｏｓｏｆｔ  ＶＢＳｃｒｉｐｔまたは任意のその組み合わせを利用して実装され得る。
【００９４】
単一の現在のウェブページ１２０のみが、上記のように示されかつ説明されたが、現在のウェブページ１２０は、任意の特定の時間にウェブブラウザ１００によって現在表示されているウェブページを表わし、従って、ウェブサイト内の複数のウェブページなどの複数のウェブページを表示し得ることが理解されるべきである。例えば、上述の実施形態のいくらかでは、現在のウェブページ１２０は、ユーザが周辺機器２０２からデジタルイメージをアップロードすることを可能にするために、ウェブサイト内のウェブページを表示し得る。
【００９５】
ＴＣＰ／ＩＰネットワーク１０８は、ＴＣＰ／ＩＰに従って通信を送信することができる任意のネットワーク、インターネット（パブリックインターネット等）、イントラネット、エクストラネット、サブネットワークまたはその組み合わせであり得る。ウェブブラウザ１００およびウェブサーバ１００は、標準アナログ電話回線、光ファイバまたはワイヤレスネットワークによって等、任意の方法でＴＣＰ／ＩＰネットワーク１０８に接続され得る。
【００９６】
周辺機器ドライバ２１４は、任意の方法で実装され得、周辺機器ドライバ２１４が、周辺機器２０２を操作することを可能にし、かつ、クライアントコンピュータ２０４のリブートおよび／またはウェブブラウザ１００の再実行を要求することなく、クライアントコンピュータ２０４上にインストールされることができるようにする。例えば、１つの実施形態では、周辺機器ドライバ２１４は、クライアントコンピュータ２０４のリブートおよび／またはウェブブラウザ１００の再実行を要求することなく、クラインアントコンピュータ２０４上にインストールされ得るダイナミックリンクライブラリ（ＤＬＬ）のコレクションのようなＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）オペレーティングシステム環境で、実装される。
【００９７】
周辺機器ドライバサーバ２２２は、任意の態様で実装され得、周辺機器ドライバ２１４をウェブブラウザ１００に提供する。例えば、周辺機器ドライバサーバ２２２は、所定のＵＲＬに周辺機器ドライバを格納し、それによって、ウェブブラウザ１００を利用して周辺機器ドライバのＵＲＬにアクセスすることによって、特定の周辺機器でドライバを獲得するために利用され得るウェブサーバとして、実装され得る。例えば、ウェブサイト１１２は、所定のＵＲＬでアクセス可能な周辺機器ドライバを含み得、その場合、周辺機器ドライバサーバ２２２の機能は、ウェブサーバ１１０と関連するウェブサイト１１２によって提供される。
【００９８】
一般的に、本明細書中で説明される方法は、ｎ層（ｔｉｅｒ）クライアント／サーバシステムに関し、ｎ層（ｔｉｅｒ）クライアント／サーバシステムを実装するために利用される任意の技術とともに利用され得る。例えば、Ｒ．ＯｒｆａｌｌおよびＤ．Ｈａｒｋｅｙによる「Ｃｌｉｅｎｔ／Ｓｅｒｖｅｒ  Ｐｒｏｇｒａｍｍｉｎｇ  ｗｉｔｈ  Ｊａｖａ（Ｒ）  ａｎｄ  ＣＯＲＢＡ」（ＩＳＢＮ  ０−４７１−２４５７８−Ｘ）に説明される任意の技術が利用され得る（Ｒ．ＯｒｆａｌｌおよびＤ．Ｈａｒｋｅｙによる「Ｃｌｉｅｎｔ／Ｓｅｒｖｅｒ  Ｐｒｏｇｒａｍｍｉｎｇ  ｗｉｔｈ  Ｊａｖａ（Ｒ）  ａｎｄ  ＣＯＲＢＡ」の特にｐｐ．１８６〜３７１およびｐｐ．８４９〜８８３）ことが理解されるべきである。
【００９９】
一般的に、上述の技術は、例えば、ハードウェア、ソフトウェア、ファームウェアまたは任意のその組み合わせで実装され得る。上述の技術は、プロセッサ、プロセッサによる読み込み可能記憶媒体（例えば、揮発性および不揮発性メモリおよび／または記憶エレメント）、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスを含むプログラム可能コンピュータ上で実行する１つ以上のコンピュータプログラムで実装され得る。プログラムコードは、入力デイバスを利用してエンターされるデータに適用され得、説明された機能を実行し、かつ、出力情報を生成する。出力情報は、１つ以上の出力デバイスに提供され得る。
【０１００】
本明細書中に説明されるエレメントおよびコンポーネントは、さらに、付加的なコンポーネントに分配されるか、または、同一の機能を実行するより少ないコンポーネントを形成するために共に結合される。
【０１０１】
各コンピュータプログラムは、アセンブリ言語、機械語、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語等の任意のプログラミング言語で実装され得る。プログラミング言語は、プログラム言語をコンパイルされるか、または、インタプリタされ得る。
【０１０２】
各コンピュータプログラムは、コンピュータプロセッサによって実行するために、機械読み込み可能記憶デバイスに明白に組み込まれたコンピュータプログラム製品で実装され得る。発明の方法ステップは、入力および生成される出力を操作することによって、本発明の機能を実行するために、コンピュータ読み込み可能媒体上に明白に組み込まれるプログラムを実行するコンピュータプロセッサによって、実行され得る。
【図面の簡単な説明】
【０１０３】
【図１】図１は、本発明の１つの実施形態に従ったコンピュータシステムのデータフロー図である。
【図２Ａ】図２Ａは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図２Ｂ】図２Ｂは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図２Ｃ】図２Ｃは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図３Ａ】図３Ａは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図３Ｂ】図３Ｂは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図３Ｃ】図３Ｂは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図３Ｄ】図３Ｄは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図４】図４は、クライアントコンピュータを再起動することなく、クライアントコンピュータに周辺機器用ドライバをインストールする、本発明の１つの実施形態に従う方法のフローチャートである。
【図５】図５は、本発明の１つの実施形態に記載の、ウェブブラウザ、周辺機器ドライバおよび周辺機器間の通信を示すデータフロー図である。
【図１】
2004532481.tif 000003
【図２Ａ】
2004532481.tif 000004
【図２Ｂ】
2004532481.tif 000005
【図２Ｃ】
2004532481.tif 000006
【図３Ａ】
2004532481.tif 000007
【図３Ｂ】
2004532481.tif 000008
【図３Ｃ】
2004532481.tif 000009
【図３Ｄ】
2004532481.tif 000010
【図４】
2004532481.tif 000011
【図５】
2004532481.tif 000012
【国際公開パンフレット】
2004532481.tif 000013
2004532481.tif 000014
2004532481.tif 000015
2004532481.tif 000016
2004532481.tif 000017
2004532481.tif 000018
2004532481.tif 000019
2004532481.tif 000020
2004532481.tif 000021
2004532481.tif 000022
2004532481.tif 000023
2004532481.tif 000024
2004532481.tif 000025
2004532481.tif 000026
2004532481.tif 000027
2004532481.tif 000028
2004532481.tif 000029
2004532481.tif 000030
2004532481.tif 000031
2004532481.tif 000032
2004532481.tif 000033
2004532481.tif 000034
2004532481.tif 000035
2004532481.tif 000036
2004532481.tif 000037
2004532481.tif 000038
2004532481.tif 000039
2004532481.tif 000040
2004532481.tif 000041
2004532481.tif 000042
2004532481.tif 000043
2004532481.tif 000044
2004532481.tif 000045
2004532481.tif 000046
2004532481.tif 000047
2004532481.tif 000048
2004532481.tif 000049
2004532481.tif 000050
2004532481.tif 000051
2004532481.tif 000052
2004532481.tif 000053
2004532481.tif 000054
2004532481.tif 000055
2004532481.tif 000056
2004532481.tif 000057
2004532481.tif 000058
2004532481.tif 000059
2004532481.tif 000060
2004532481.tif 000061
2004532481.tif 000062
2004532481.tif 000063
2004532481.tif 000064
2004532481.tif 000065
2004532481.tif 000066
2004532481.tif 000067
2004532481.tif 000068
2004532481.tif 000069
【国際公開パンフレット（コレクトバージョン）】
2004532481.tif 000070
【国際調査報告】
2004532481.tif 000071
2004532481.tif 000072
2004532481.tif 000073