JP2004532481A - ウェブベースのファイル操作システム - Google Patents

ウェブベースのファイル操作システム Download PDF

Info

Publication number
JP2004532481A
JP2004532481A JP2002592590A JP2002592590A JP2004532481A JP 2004532481 A JP2004532481 A JP 2004532481A JP 2002592590 A JP2002592590 A JP 2002592590A JP 2002592590 A JP2002592590 A JP 2002592590A JP 2004532481 A JP2004532481 A JP 2004532481A
Authority
JP
Japan
Prior art keywords
client computer
peripheral device
software component
information
peripheral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002592590A
Other languages
English (en)
Other versions
JP2004532481A5 (ja
Inventor
アラン エル. モイヤー,
オルランド ロペス,
Original Assignee
ポラロイド コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ポラロイド コーポレイション filed Critical ポラロイド コーポレイション
Publication of JP2004532481A publication Critical patent/JP2004532481A/ja
Publication of JP2004532481A5 publication Critical patent/JP2004532481A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

クライアントコンピュータを介して周辺機器(デジタルカメラまたはスキャナ等)からの情報を操作する(消去する、ダウンロードする)ための方法および装置が提供される。クライアントコンピュータ上で実行するクライアントアプリケーション内のソフトウェアコンポーネントは、クライアントアプリケーションを再実行することなく、クライアントコンピュータ上で周辺機器を操作するために、周辺機器ドライバをインストールする。ソフトウェアコンポーネントは、周辺機器ドライバを利用して周辺機器からクライアントコンピュータへ情報を転送し、情報を操作、処理し、処理された情報をウェブサイトにアップロードし、または、クライアントアプリケーションを再実行することなく、クライアントコンピュータ内に処理された情報を格納する。
【選択図】図1

Description

【背景技術】
【0001】
(発明の背景)
(発明の分野)
本発明は、ネットワークを介する情報の送信、より具体的には、操作に関する入力をサーバから受信するクライアントコンピュータに接続された周辺機器内のデジタルファイルを操作することに関する。
(従来技術)
ワールドワイドウェブ(「the Web」)は、公共のインターネット上で利用可能な多様なサービスのうちの1つである。その初期段階では、研究所、図書館および政府機関で入手可能な技術論文や書類の索引のようなスタティックな情報を共有するために用いられた。文書をウェブ上で利用可能にしたいと思う者は、ユニフォームリソースロケーター(URL)によって特定された所定のインターネットプロトコル(IP)アドレスにおいて文書をウェブサーバ上に格納することができ、他のユーザは、ウェブブラウザと呼ばれるクライアントソフトウェアを用いて、ウェブブラウザを文書のURLに合わせてインターネット上でその文書を見るか、または「閲覧する」ことができる。
【0002】
近年、ウェブの性能は実質的に向上したが、ウェブクライアントとサーバとの間で情報を交換するための基礎的な根底にある技術構造は、実質的には変わらないままである。ユーザが、(典型的には「ウェブブラウザ」と呼ばれる)ウェブクライアントによってウェブページが表示されるようにリクエストする場合、ウェブブラウザは、そのウェブページ用にハイパーテキスト転送プロトコル(HTTP)に従って定義されたリクエストをそのウェブページをホストするウェブサーバに送信する。そのリクエストに応答して、ウェブサーバは、HTTPに従ってまた定義された応答メッセージにおいて、リクエストしているウェブサーバに対してリクエストされたウェブページを送信する。ウェブブラウザは、ウェブサーバからの応答に含まれる情報に基づいて、ユーザにウェブページを表示する。
【0003】
ウェブサイトは、ユーザが情報を共有し、グループ活動に参加し得る官民のフォーラムを提供するためにますます用いられている。例えば、いくつかのウェブサイトは、ユーザがメッセージを掲示し、他のユーザによって掲示されたメッセージを見ることができる仮想のメッセージボードやチャットルームを提供し、そうしてユーザがオンライン上での会話に参加することを可能にする。さらには、いくらかのウェブサイトは、格納、共有、配布および/またはコラボレーションするために、ユーザがデジタル画像および他の情報をローカルコンピュータからウェブサイトにアップロードすることを可能にする。仮想フォトアルバムは、標準的なウェブブラウザを用いてインターネット上で見られ得る。他のウェブサイトは、サイト外での格納のためにユーザがファイルをアップロードすることを可能にする、オンラインバックアップサービスを提供する。
【0004】
ユーザが情報をアップロードすることを可能にするウェブサイトは、典型的には、アップロードされる情報を取得すること、および情報をウェブサイトにアップロードする前にユーザのローカルコンピュータに適切なフォーマットで情報を格納することに対して責任を持つことをユーザに必要とする。例えば、ユーザが仮想フォトアルバムにデジタル画像をアップロードすることを可能にするウェブサイトは、典型的には、ユーザがユーザのローカルコンピュータ上で情報を取得し、格納するために必要ないかなるステップもとることを必要とする。そのようなウェブサイトは、典型的には、そのような(適切に取得し、格納された)情報をローカル(クライアント)コンピュータからウェブサイトへアップロードするために従来技術を用いる。そのようなウェブサイトは、典型的には、アップロードされる情報を取得し、アップロードするために適切なフォーマットで情報を格納する際にユーザを補助しない。
【0005】
クライアントコンピュータで情報を取得し、格納することは、ユーザによる多大な努力を必要とし得る。例えば、デジタル画像の場合、ユーザは、典型的には、デジタルカメラを用いて画像を取得し、その画像をクライアントコンピュータに送信する。しかし、画像がデジタルカメラからクライアントコンピュータに送信され得る前に、ユーザは、典型的には、デジタルカメラかクライアントコンピュータと通信できるように、適切なドライバソフトウェアを手動でインストールしなければならない。ドライバソフトウェアは、典型的には、特定のブランドおよびモデルのデジタルカメラとの使用のために設計されており、フロッピー(R)ディスクまたはCD−ROMのようなコンピュータによって読み取り可能な媒体でデジタルカメラの製造業者によって提供される。クライアントコンピュータにドライバソフトウェアをインストールするために、ユーザは典型的には、フロッピー(R)ディスクまたはCD−ROMからインストールするソフトウェアを実行し、提供されたインストール命令に従わなければならない。クライアントコンピュータは、典型的には、デジタルカメラがクライアントコンピュータとともに使用され得る前に、ドライバソフトウェアがインストールされた後に再起動されなければならない。他のコンピュータ周辺機器は、典型的には同様のインストール手順を必要とする。
【0006】
上記のように、従来のウェブサイトは、アップロードされるいかなる情報も適切なフォーマットで既にクライアントコンピュータ上に格納されていると想定する。従って、ユーザは、典型的には、(デジタルカメラのような)周辺機器から従来のウェブサイトに情報をアップロードする前に、2つの手動ステップを実行しなければならない。(1)上記のように、適切なドライバソフトウェアをクライアントコンピュータ上にインストールし、(2)アップロードされる情報を周辺機器からクライアントコンピュータに送信する。周辺機器からクライアントコンピュータに情報を送信することは、(周辺機器用ドライバソフトウェアに加えて)周辺機器の製造業者または第三者によって提供されたソフトウェアの使用を必要とし得、ユーザによるクライアントコンピュータへの別のインストールも必要とし得る。
【0007】
他の場合において、ウェブサイトはクライアントコンピュータにトランザクションの証明を送り、周辺機器において情報を削除すること、または周辺機器に情報をダウンロードすることのような、周辺機器におけるファイルの操作を可能にする。例えば、同日に出願された(filed on this same date)米国特許出願AA/AAA,AAA、「Method and System for Enabling the Use of Reloadable Single Use Digital Cameras」に開示されるシステムは、サーバからトランザクション証明を受信し次第、クライアントコンピュータに接続されたカメラからファイルを削除することを可能にすることを必要とする。他の実施例は、サーバからトランザクション証明を受信し次第、情報を周辺機器にダウンロードすることにある。これらの場合において、ユーザは、典型的には、(デジタルカメラのような)周辺機器から情報を削除するか、周辺機器に情報をダウンロードする前に、2つの手動ステップを実行しなければならない。ユーザは、(1)上記のように、クライアントコンピュータに適切なドライバソフトウェアをインストールし、(2)クライアントコンピュータに接続された周辺機器から情報を削除するか、ダウンロードしなければならない。クライアントコンピュータに接続された周辺機器から情報を削除するか、ダウンロードすることは、(周辺機器用ドライバソフトウェアに加えて)適切なソフトウェアの使用を必要とし得、ユーザによるクライアントへの別のインストールも必要とし得る。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、必要なものは、周辺機器における情報操作の処理を容易にするシステムである。
【課題を解決するための手段】
【0009】
(要約)
1つの一般的な局面において、本発明は、サーバから情報を受信し次第、クライアントコンピュータに接続された(デジタルカメラまたはスキャナのような)周辺機器において(デジタル画像のような)情報を操作するためのコンピュータによって実行される方法を提供する。クライアントコンピュータに周辺機器を接続した後、ユーザは、周辺機器において情報を操作する際にユーザを補助をする所定のウェブサイトにナビゲートするために、クライアントコンピュータにインストールされた従来のウェブブラウザを用い得る。ウェブサイトは、クライアントコンピュータにダウンロードされ、クライアントコンピュータを再起動をするか、ウェブブラウザを再実行する必要なしにウェブブラウザ内で実行されるJAVA(R)appletのようなソフトウェアコンポーネントを含む。ソフトウェアコンポーネントはウェブサイトとのトランザクションを開始し、そのトランザクションの確認を受信し、(ウェブブラウザを介して)同じまたは別のウェブサーバからデータを受信し、ウェブサーバからデータを受信し次第、周辺機器において情報を操作する。
【0010】
ソフトウェアコンポーネントは、周辺機器を動作させるための周辺機器用ドライバがクライアントコンピュータに既にインストールされているかどうか判断する。周辺機器用ドライバがクライアントコンピュータに依然としてインストールされていないとソフトウェアコンポーネントが判断する場合、ソフトウェアコンポーネントは、周辺機器用ドライバを周辺機器用ドライバのサーバからダウンロードし、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなくクライアントコンピュータに周辺機器用ドライバをインストールする。
【0011】
ユーザは、処理後にウェブサイトにアップロードするための(デジタル画像のような)情報を選択し得る。ユーザとソフトウェアコンポーネントとの間のやりとりは、ウェブブラウザインターフェースを介して起こり、その結果、画像を選択および/またはアップロードするために、クライアントコンピュータに別のアプリケーションプログラムをインストールし、実行する必要を避ける。
【0012】
(処理することが所望される場合)、ユーザが選択された情報を処理した後、ソフトウェアコンポーネントは、選択された情報を(情報を選択するために用いられる同じウェブサイトに組込まれ得る)デバイスデータベースにアップロードする。選択された情報を処理および/またはアップロードした後、ソフトウェアコンポーネントは、ユーザにクライアントコンピュータから周辺機器用ドライバを削除する見解を提示する。ユーザが周辺機器用ドライバを削除するように選択する場合、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなく削除される。クライアントコンピュータを再起動する、および/または、ウェブブラウザを再実行することなく、ソフトウェアコンポーネントもクライアントコンピュータから削除され得る。例えば、JAVA(R)appletは、典型的には、ウェブブラウザを終了し次第、クライアントコンピュータから自動的に除去される。
【0013】
本発明のさらなる局面および実施形態は、より詳しく以下に説明される。
【発明を実施するための最良の形態】
【0014】
(詳細な記述)
本発明の1つの一般的な局面において、本発明は、クライアントコンピュータに接続された(デジタルカメラまたはスキャナのような)周辺機器における(デジタル画像のような)情報操作のためのコンピュータによって操作される方法を提供する。以下に用いられるように、情報操作は、周辺機器からの情報を削除すること、周辺機器に情報をダウンロードすることまたは周辺機器からの情報に処理動作を実行することを含む。クライアントコンピュータに周辺機器を接続した後、ユーザは、ウェブサーバの所定のウェブサイトにナビゲートするために、クライアントコンピュータにインストールされた従来のウェブブラウザを用い得る。ウェブサイトは、周辺機器における情報操作の際にユーザを補助するように設計されている。ウェブサイトは、クライアントコンピュータが再起動することも、ウェブブラウザが再実行される必要もなくクライアントコンピュータにダウンロードされ、ウェブブラウザ内で実行されるJAVA(R)appletのようなソフトウェアコンポーネントを含む。参照としてここに示される2000年8月31日に出願された「Web Based File Upload System」とタイトルが付けられた同一出願人による米国特許出願番号09/653,597において、クライアントコンピュータを介して(デジタルカメラまたはスキャナのような)周辺機器からウェブサイトに(デジタル画像のような)情報をアップロードするためのコンピュータによって実行される方法は開示されている。本発明において、コンピュータ操作された方法においてソフトウェアコンポーネントは、サーバからの許可情報を受信し次第、周辺機器での情報操作が可能であるように、設計されている。
【0015】
ソフトウェアコンポーネントは、周辺機器を動作させるための周辺機器用ドライバが既にインストールされているかどうか判断する。ソフトウェアコンポーネントは、周辺機器用ドライバがクライアントコンピュータに依然としてインストールされていないと判断する場合、ソフトウェアコンポーネントは、周辺機器用ドライバのサーバから周辺機器用ドライバをダウンロードし、クライアントコンピュータを再起動することも、ウェブブラウザを再実行することもなく、クライアントコンピュータに周辺機器用ドライバをインストールする。
【0016】
本発明の詳細な実施形態の利点を説明するために、同日に出願された米国特許出願番号AA/AAA,AAA、「Method and System for Enabling the Use of Reloadable Single Use Digital Camera」中に開示されるシステムおよび方法が実施例として用いられる。AA/AAA,AAAにおいて、顧客によって選択された画像に対応するデータを電子的に記録し、格納するタイプのリロード可能なシングルユーズデジタルカメラを顧客に提供し、顧客が画像形式のデータをデジタルカメラから取り出すための手段を提供せず、画像に対応するデータを取得し、格納するためにデジタルカメラを利用した後に、選択された画像に対応するデータを顧客から受信し、その後、顧客用のデータから選択された画像を取り出すステップを含む、画像に対応するデータを取得および格納するためのリロード可能なシングルユーズデジタルカメラの使用を可能にし、リロードサーバにデータを送信し次第、選択された画像を格納されたデータから取り出すための手段を供給する方法が開示されている。米国特許出願番号AA/AAA,AAAの発明の他の局面において、方法は、サーバから許可情報を送信するステップをさらに含み、情報は、画像に対応するデータを取得し、記録するために顧客によって利用された後、データのうちの選択されたものをデジタルカメラから除去することを可能にし、それによりカメラを再使用のために準備する。データのうちの選択されたもののカメラからの除去(削除)が起こり、クライアントサイトでカメラ(またはカメラ内の取り外し可能な記憶デバイス)がコンピュータに接続されており、それにより顧客がカメラを再利用のために準備することを可能にする。ここに記述される技術を用いて、顧客は、手動でドライバソフトウェアを複数のクライアントコンピュータにインストールする必要なしに、複数のクライアントコンピュータを介して選択された画像を取り出し得るか、または削除し得る。
【0017】
米国特許出願番号AA/AAA,AAAの発明の1つの実施形態において、顧客は画像として取り出すデータを選択し、ソフトウェアコンポーネントは画像形式でデータを取り出す。(取り出しは、暗号解読のような処理動作を介して起こる。)顧客が、(ソフトウェアコンポーネントをダウンロードするために用いられる同じウェブサイトに組み込まれ得る)画像データベースに画像をアップロードするように選択する場合、ソフトウェアコンポーネントは選択された画像を画像データベースにアップロードする。顧客がカメラを「リロードする」ように選択する場合、デジタル画像に対応する選択されたデータはカメラ内のメモリから除去され、カメラから削除される。この動作が可能にされる前に、顧客はカメラの継続再使用のために支払わなければならない。顧客は支払い情報を、決済が処理される(ソフトウェアコンポーネントをダウンロードするために用いられたサーバとは異なるサーバであり得る)サーバに送る。この決済およびその処理は、当業分野において周知である手段を介して起こる。決済を首尾よく処理し次第、クライアントコンピュータは、サーバから許可情報を受信する。許可情報の受信をもって、ソフトウェアコンポーネントは選択されたデータをカメラ内のメモリから削除し、カメラは再使用の準備ができる。
【0018】
本発明において、デバイス用のドライバは、顧客がデジタル画像の取り出し、アップロードまたは除去を完了した後、クライアントコンピュータから削除され得る。削除は、処理の最後に自動的に起こり得る。このように、顧客は、シングルユーズカメラから永久的にデバイス用ドライバまたはソフトアプリケーションをクライアントコンピュータにインストールすることなく、かつ、デジタル画像をクライアントコンピュータに永久的に格納することなく、デジタル画像を取り出す、アップロードまたは除去するための一時的なステーションとして用い得る。この特性は、例えば顧客が誰かのコンピュータを借りるか、クライアントコンピュータの永久的な変更が所望されないまたは許可されないカフェまたはインターネットキオスクのような公共の場でクライアントコンピュータを使用する場合に、有利であり得る。このように、本発明は、米国特許出願番号AA/AAA,AAAに記載のシステムの使用を単純化し、向上し得る。
【0019】
以下により詳細に記載されているように、従来のウェブブラウザ内で実行しているソフトウェアコンポーネントは、周辺機器ドライバをクライアントコンピュータにインストールし、シングルユーズカメラからデジタル画像を取り出し、アップロードし、または、除去するような機能を実行するために用いられ得る。ソフトウェアコンポーネントは、例えば、JAVA(R)appletであり得る。
【0020】
ウェブブラウザのようなクライアントアプリケーション内で実行するアプレットのようなソフトウェアコンポーネントの使用は、いくつかの利点を提供する。例えば、ウェブページに含まれるアプレットは、ウェブブラウザによってクライアントコンピュータに自動的にダウンロードされ、ユーザがアプレットを手動でインストールするか、フロッピー(R)ディスクまたはCD‐ROMのようなコンピュータ読み取り可能な媒体でアプレットを提供する必要はない。さらに、Microsoft Windows(R)環境内では、アプレットのアップロードまたは実行は、既存のアプリケーションと後方互換性の問題を生じかねないDLLのクライアントコンピュータへのインストールを必要としない。さらに、アプレットのインストールは、クライアントコンピュータが再起動されることを必要とし得るWindows(R)レジストリへの変更を必要としない。
【0021】
アプレットはウェブブラウザ内で実行するので、アプレットは、ウェブブラウザの一部としてクライアントコンピュータに既にインストールされた機能性を利用し得る。結果として、アプレットは、典型的には、対応するアプリケーションプログラムよりも小さく、アプリケーションプログラム用よりも短いダウンロード時間およびアプレット用に小さい必要メモリを招く。従来のウェブブラウザは、大部分のクライアントコンピュータに既にインストールされているので、アプレットおよび同様のソフトウェアコンポーネントは、大きなアプリケーションプログラムのダウンロードまたはインストールを必要とせずに、多くの既存のクライアントコンピュータ上でここに記載される様々な特性を実現するために有利に用いられ得る。
【0022】
同様に、アプレットはウェブブラウザ内で実行するので、アプレットの実行は、クライアントコンピュータ上で別のアプリケーションプログラムの実行を必要としない。むしろ、アプレットは典型的に、クライアントコンピュータ上で既に実行されているウェブブラウザを介して出力を提供し入力を受信する。結果として、アプレットおよび同様のソフトウェアコンポーネントは、周辺機器からの(画像に対応するデータのような)情報の操作を補助するために、単一統合ウェブサイト内でここに記載される様々な特性を実現するために用いられ得る。
【0023】
アプレットおよび同様のソフトウェアコンポーネントを用いるさらなる利点は、クライアントコンピュータが再起動される必要がないか、ウェブブラウザが再実行される必要なしに、典型的には自動的にアンインストールされる(すなわち、ユーザが「アンインストール」コマンドを実行する必要がない)ことである。例えば、ウェブページ内に含まれるアプレットは、ユーザが別のウェブページにナビゲートする場合、典型的には自動的にクライアントコンピュータのメモリから除去される。このことは、ユーザがアップロード処理を完了した後に、アプレットに関連するデータをクライアントコンピュータから除去することによって、情報をアップロードすることのユーザの経験をさらに単純化し、クライアントコンピュータへの影響を軽減する。
【0024】
上記のように、1つの実施形態において、適切な周辺機器用ドライバが、ユーザによる干渉なしで、周辺機器用ドライバのサーバからインターネットのようなTCP/IPネットワークを介してクライアントコンピュータに自動的にダウンロードされる。この特性は、典型的にはユーザがフロッピー(R)ディスクまたはCD−ROMを用意し、ドライバインストール用ソフトウェアを実行し、ドライバインストール用ソフトウェアに提供される命令に従うような手動動作の実行を必要とする従来のインストール手順に比べて、周辺機器用デバイスをインストールするプロセスを単純化する。周辺機器用のドライバを手動でインストールするユーザの負担を軽減することに加えて、自動インストールはまた、周辺機器用ドライバをインストールするために必要とされる時間を短縮し得、従って、ユーザがクライアントコンピュータとともに周辺機器を初めて使用するために待たなければならない時間を短縮し得る。
【0025】
上記のように、1つの実施形態において、周辺機器用ドライバは、周辺機器用ドライバがクライアントコンピュータに既にインストールされていない場合に限り、クライアントコンピュータにダウンロードされ、インストールされる。結果として、周辺機器用ドライバは、必要な場合にクライアントコンピュータにのみ送信され、インストールされる。このことは、必要な場合にTCP/IPネットワークを介して周辺機器用ドライバを送信することだけによって、ネットワーク帯域幅の効率的な使用をもたらす。この技術はまた、周辺機器ドライバが不正になるか、または更新される必要がある場合のような必要な場合に、周辺機器ドライバを再インストールするために用いられ得る。
【0026】
さらなる実施形態において、クライアントコンピュータに接続される周辺機器は識別され、その識別に基づいてクライアントコンピュータにインストールするために適切な周辺機器用ドライバが選択される。そのような自動識別は、どの周辺機器がクライアントコンピュータに接続されているか判断し、周辺機器を識別するユーザの責任を軽減する。周辺機器の自動識別は、周辺機器のモデル番号またはバージョン番号の不正確な識別のような周辺機器を識別する際にユーザによって犯され得る誤りを除き得る。
【0027】
本発明の実施形態の様々な局面および特性は、以下により詳細に記載される。しかしながら、初めに、本発明の実施形態が動作し得るシステムは図1に関して記載される。
【0028】
図1に関して、本発明の様々な実施形態に従って、TCP/IPネットワークを介してウェブクライアントとウェブサーバとの間で情報を送信するために用いられ得る様々な技術を示すデータフロー図が示されている。ユーザは、典型的にウェブブラウザ100と呼ばれるクライアントソフトウェアを介して、ウェブサーバ110によって利用可能にされた情報にアクセスする。ウェブブラウザ100は、典型的には従来のデスクトップコンピュータのようなコンピュータ上で実行する。所定のウェブページを見るために、ユーザは、そのウェブページを見るためにウェブブラウザ100にリクエスト102を出す。ユーザは、ウェブページのURLをウェブブラウザ100に打ち込むか、ウェブブラウザ100によって現在表示されているウェブページ内にある所定のウェブページへのハイパーリンクをクリックするような様々な様式のうちのいずれかにおいて、リクエスト102を出す。ウェブブラウザ100は、リクエストされたウェブページのURLを識別するために、ユーザのリクエスト102を解析し、ハイパーテキスト送信プロトコル(HTTP)に従ってウェブページ用にリクエスト104を生成する。
【0029】
HTTPは、ウェブクライアント(ブラウザ)およびブラウザサーバが互いに通信するために用いる言語である。より詳しくは、HTTPは、(テキスト、グラフィック画像、サウンドまたはビデオなどの)情報をウェブを介して交換するための規則を定義する。従って、ウェブクライアントとウェブサーバとの間で送信されたメッセージは、HTTPによって特定された規則に従って定義かつ交換される。HTTPは、インターネットを介してホストを接続するために用いられる通信プロトコルのスートである伝送制御プロトコル/インターネットプロトコル(TCP/IP)を介してレイヤーとして送信される。電子メールおよびファイル送信のようなインターネット上で利用可能な他のサービスも、TCP/IPを介してレイヤーとして送信されるポストオフィスプロトコル(POP)およびファイル転送プロトコル(FTP)のようなプロトコルを用いる。
【0030】
HTTPリクエスト104は、ユーザリクエスト102によって特定されたURLにあるウェブページが、(例えば、コンピュータモニタであり得る)出力デバイス106上での表示のために、ウェブブラウザ100に送達されるようにリクエストする。ウェブブラウザ100は、例えば公共のインターネットまたは私有のイントラネットであり得るTCP/IPネットワーク108を介して、HTTPリクエスト104を送信する。ウェブブラウザ100が実行されるクライアントコンピュータは、典型的に、アナログ電話またはT1接続のような従来手段によってTCP/IPネットワークに接続される。TCP/IPネットワーク108は、当業者に周知な手法を用いて、ユーザリクエスト102によってリクエストされたウェブページをホストするウェブサーバ110にHTTPリクエスト104を伝送する。例えば、ウェブサーバは、従来のコンピュータ上で実行しているソフトウェアにおいて実行され得る。図示する目的ために、ウェブサーバ110は、図1において、いくらでも相互に関連するページを含む所定のウェブサイト112をホストしているように示されている。ウェブサーバ110は、さらなるウェブページをホストし得、さらなるウェブサーバおよびウェブサイトは、TCP/IPネットワーク108を介してアクセス可能であることが理解される必要がある。ウェブサーバ110は、HTTPリクエスト104の送信者(すなわち、ウェブブラウザ100)を識別し、ウェブサイト112内のどのウェブページがリクエストされたか判断するためにHTTPリクエスト104を解析する。
【0031】
ハイパーマークアップ言語(HTML)は、ウェブページが書かれる言語である。例えば、ウェブサイト112内のウェブページは、典型的にはHTMLを用いて定義されている。ウェブページを拡張するための他の様々な所有または非所有基準が長年にわたって開発されてきたが、HTMLは依然として全てのウェブページが定義されている基礎的な言語である。さらなる言語および技術は、典型的には、HTMLの特有の特性に対する追加または代用として実現される。HTTPリクエスト104を受信かつ解析した後、リクエストされたウェブページに対応するウェブサーバ110はHTMLコードをウェブサイト112から抽出する。ウェブサーバは、抽出されたHTMLを含むHTTPレスポンス114をTCP/IPネットワークを介してウェブブラウザ100に送信する。
【0032】
TCP/IPネットワーク108は、当業者に周知な手法を用いて、HTTPレスポンス114をウェブブラウザ100へ伝送する。ウェブブラウザ100はHTTPレスポンス114を解析し、それをリクエストされたウェブページのHTMLコードから抽出する。ウェブブラウザ100は、現在のウェブページ120のさらなる処理およびやりとりを容易にするために、リクエストされたページのHTMLコードのコピーを現在のウェブページ120として局所的に格納し得る。ウェブブラウザ100は、ウェブブラウザ100がユーザに表示するための出力デバイス106に送達するレンダリング情報116を生成するためにHTMLを解析する。このように、ユーザによってリクエストされたウェブページは、表示される。
【0033】
本発明の様々な実施形態は、ここにより詳細に記載される。図2Aに関して、1つの実施形態において、米国特許出願番号AA/AAA,AAA、「Method and System for Enabling the Use of Reloadable Single Use Digital Camera」に記載されるようなシングルユーズデジタルカメラのようなユーザは周辺機器202を、入力/出力ポート206aを介して、クライアントコンピュータ204に接続する。例えば、入力/出力ポート206aは、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)ポートまたは無線通信ポートであり得る。
【0034】
図2Aに示されてあるように、周辺機器202はデバイスデータ210を含み得る。1つの実施形態において、周辺機器202はシングルユーズデジタルカメラである。デバイスデータ210は、1つ以上のデジタル画像に対応するデータを含み、米国特許出願番号AA/AAA,AAAに記載されるシングルユーズデジタルカメラ内のメモリに格納される。しかしながら、デバイスデータ210は、どのデータでもあり得、どの媒体に格納されてもよい。さらに、デバイスデータ210は、図2Aに示されるように、周辺機器202内に格納される必要はない。例えば、デバイスデータ210は、(フロッピー(R)ディスク、カートリッジ、フラッシュメモリカード、CD−RWまたはCD−ROMのような)、格納されているものが周辺機器202にアクセス可能なコンピュータによって読み取り可能な媒体に格納され得る。
【0035】
周辺機器202をクライアントコンピュータ204のポート206aに接続することによって、ユーザは、(コマンドを送信/受信し、周辺機器202からクライアントコンピュータ204にデバイスデータ210を送信することなどによって)クライアントコンピュータ204および周辺機器202が通信し得る物理的な接続を提供する。しかしながら、そのような物理的な接続は、適切な周辺機器用ドライバがクライアントコンピュータ204にインストールされていない場合、クライアントコンピュータ204と周辺機器202との間の通信を可能にするためには不十分であり得る。例えば、図2aに示されるように、周辺機器202を動作させるための周辺機器用ドライバは、クライアントコンピュータ204にインストールされているように示されてある。本発明の1つの実施形態において、クライアントコンピュータ204と周辺機器202との間の通信は以下のようにして可能となる。
【0036】
図2Aに示されるように、一実施形態では、ウェブブラウザ100は、クライアントコンピュータ204上で実行する。ウェブブラウザ100は、ウェブブラウザ100がクライアントコンピュータ204のコンピュータ読み出し可能メモリに格納され、当業者に周知の技術を用いてクライアントコンピュータ204のプロセッサによって実行されることを示すために、クライアントコンピュータ204内部でブロック図の形態で示されることが理解されるべきである。その結果、クライアントコンピュータ204は、図1に関して説明されたように、ウェブサイト112および他のウェブサイトからウェブページを取り出し得る。一実施形態では、ウェブサイト112は、ユーザがデバイスデータ210を周辺機器202からクライアントコンピュータ204に転送できるようにし、かつデータを操作するために1つ以上の相互に関連するウェブページを含む。デバイスデータ210のいくつかまたは全てをクライアントコンピュータ204に転送するためには、ユーザは、ウェブブラウザ100をウェブサイト112内の所定のウェブページ(ウェブサイトのホームページ等)にナビゲートする。ウェブサイト112を実装するための種々の技術が以下により詳細に説明される。ユーザによって選択されたウェブページは、現在のウェブページ120としてウェブブラウザ100によって表示される。単一の現在のウェブページ120のみが図2Aに示されるが、現在のウェブページ120が任意の特定の時間にウェブブラウザ100によって現在表示されているウェブページを表すことが理解されるべきである。従って、ユーザがウェブサイト112を介してナビゲートし、本明細書中で説明された動作を実行する場合、現在のウェブページ120のコンテンツが経時的に変化し得る。ユーザは、クライアントコンピュータ204のポート206cに接続された入力デバイス226(キーボードまたはマウス等)を介して、ユーザ入力228(ナビゲーションコマンド等)を提供し得る。
【0037】
現在のウェブページ120は、本明細書で説明された種々の機能を実行するためのソフトウェアコンポーネント212を含む。以下により詳細に説明されるように、ソフトウェアコンポーネント212は、ウェブブラウザ100によって実行され得る任意のソフトウェアコンポーネント(Java(R)appletまたはActiveXコントロール)であり得る。一実施形態では、ウェブブラウザ100が現在のウェブページ120を表示する場合、ウェブブラウザ100はまた、ソフトウェアコンポーネント212をダウンロードし、これを実行する。
【0038】
例示のために、シングルユーズのデジタルカメラに対して、以下の説明は、ウェブブラウザ100によって実行され、ユーザがデバイスデータ210をクライアントコンピュータ204に転送し、データを操作し(データを復号化し)、データを画像形式で取り出し、そして画像をサーバ232にアップロードするかまたはクライアントコンピュータ204に画像を格納した後にデータを削除することができるようにウェブブラウザ100によって実行され得るアクションを指す。このようなアクションは、ウェブブラウザ100によっておよび/またはウェブブラウザ100内で実行するソフトウェアコンポーネント212によって実行され得ることが理解されるべきである。
【0039】
現在のウェブページ120は、デバイスデータ210のいくつかまたは全てをクライアントコンピュータ204に転送する(ステップ302)能力をユーザに提供する。図3Aを参照すると、ブラウザ100によってダウンロードされたソフトウェアコンポーネント212によって実行され得る方法300が示され、一実施形態では、ソフトウェアコンポーネント212は、ブラウザ100において動作してデバイスデータ210のいくつかまたは全てを周辺機器202(例えば、シングルユーズのカメラ)からクライアントコンピュータ204に転送し、データを操作し(例えば、画像形式でデータを取り出す)、操作(例えば削除)するためにデータを選択し、そしてサーバ232からの情報を受信すると、データを操作する。
【0040】
ユーザは、周辺機器202からデバイスデータ210を取り出すプロセスを開始する要求を示す(例えば、現在のウェブページ120上に表示されたボタンをクリックすることによって)ユーザ入力228を提供する。ウェブブラウザ100は、ユーザ入力118を受信する(ステップ301)。ユーザ入力228にレスポンスして、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するソフトウェアコンポーネント212は、クライアントコンピュータ204をリブートすることなく、デバイスデータ210を周辺機器202からクライアントコンピュータ204に転送する(ステップ302)(必ずしもデバイスデータ210をクライアントコンピュータ204に転送する必要がないアプリケーションが存在することが理解されるべきである)。ソフトウェアコンポーネント212は、転送されたデバイスデータ210を処理する(ステップ303)。シングルユーズのカメラの例では、処理は、データを画像形式で取り出す。いくつかのアプリケーションでは、処理が必要とされないことが理解されるべきである。
【0041】
ユーザは、選択された処理データをサーバ232にアップロードすること、または選択された処理データをクライアントコンピュータ204に格納すること(ステップ303のデータ処理の後で)のいずれかを判断し得る。ユーザが選択された処理データをクライアントコンピュータ204に格納することを判断する場合、ユーザは、どの処理データアイテムを格納するかについて(例えば、現在のウェブページ120上に表示された画像上をクリックすることによって)ユーザ入力228を提供する。ウェブブラウザ100は、どの処理データアイテムを格納するかについて(ステップ304)ユーザの入力228を受信する。図2Bに示されるように、ウェブブラウザ100は、デバイスデータ210を処理デバイスデータ216として格納する(ステップ305)。
【0042】
図3Bを参照すると、ユーザが選択された処理データをサーバ232にアップロードすることを判断する場合、ユーザは、どの処理データアイテムを格納するかについて(例えば、現在のウェブページ120上に表示された画像上をクリックすることによって)ユーザ入力228を提供する。ウェブブラウザ100は、どの処理データアイテムをアップロードするかについて(ステップ340)ユーザの入力228を受信する。ウェブブラザは、クライアントコンピュータ204をリブートすることなく、TCP/IPネットワーク108を介して、選択された処理デバイスデータを処理デバイスデータデータベース230にアップロードする(ステップ345)。一実施形態では、選択された処理デバイスデータは、ウェブブラウザ100を再実行することなく処理デバイスデータデータベース230にアップロードされる。アップロードおよび格納の両方が選択され得ることが理解されるべきある。この場合、ウェブブラウザは、TCP/IPネットワーク108を介して、選択された処理デバイスデータ216を処理デバイスデータデータベース230にアップロードし、処理デバイスデータ216としてデバイスデータ210を格納する。アップロードのみが選択される場合、選択された処理画像は、ソフトウェアコンポーネント212に対応するメモリから処理デバイスデータデータベース230に転送され得る。
【0043】
次いでユーザは、どの処理データアイテムを操作するかについて(例えば、現在のウェブページ120上に表示された画像の各々に配置された「削除(delete)」ボタン上をクリックすることによって)ユーザ入力228を提供する。ウェブブラウザ100は、どのデータアイテムを操作するかについて(ステップ306)ユーザの入力を受信する。次いで、リクエスト104は、サーバ232に送信される(ステップ307)。シングルユーズのカメラの例では、リクエストは、カメラの再使用についての支払い情報を含む。サーバは、リクエストを処理し、レスポンス114を再度ウェブブラウザ100に送信する。シングルユーズのカメラの例では、サーバは、支払い情報に関する検証およびトランザクションを実行し、そのレスポンスはトランザクションの成功を示す。ウェブブラウザ100はレスポンス114を受信する(ステップ308)。肯定レスポンスを受信すると、ソフトウェアコンポーネント212の制御下にある周辺機器ドライバ214は、デバイスデータ210を処理する(ステップ309)。シングルユーズのカメラの例では、支払いの検証を受信した後に、ソフトウェアコンポーネント212の制御下にあるドライバ214は、デバイスデータ210から選択されたデータアイテムを削除する。
【0044】
図3Cを参照すると、一実施形態では、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するソフトウェアコンポーネント212は、以下のようにデバイスデータ210を周辺機器202からクライアントコンピュータ204に転送する(ステップ304)。ブラウザ100によってダウンロードされ、かつブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、クライアントコンピュータ204に接続される周辺機器202を識別する(ステップ310)。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100またはソフトウェアコンポーネント212は、例えば、そのバージョン番号、モデル番号、および/またはシリアル番号等の周辺機器の特徴を識別し得る。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212が周辺機器202を識別し得る種々の方法が、以下により詳細に説明される。周辺機器202を識別した後、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、周辺機器202を動作させるための周辺機器ドライバがクライアントコンピュータ204上にインストールされるかどうかを判断する(ステップ312)。ウェブブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、周辺機器202を動作させるための周辺機器ドライバがクライアントコンピュータ204上にインストールされないことを判断し、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、クライアントコンピュータ204をリブートすることなく、周辺機器202を動作させるために周辺機器ドライバをインストールする(ステップ314)。周辺機器ドライバ214は、ウェブブラウザ100を再実行することなく、ステップ314でインストールされ得る。クライアントコンピュータ204をリブートすることなく、かつウェブブラウザ100を再実行することなくドライバソフトウェアをインストールするために、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212によって使用され得るプロセスの一例は、図4を参照しながら以下により詳細に説明される。図2A、図2Bを参照すると、周辺機器ドライバ214がクライアントコンピュータ204上でインストールされるものとして示される。
【0045】
周辺機器ドライバ214は、ウェブブラウザ100(および/またはソフトウェアコンポーネント212)と周辺機器202との間の中介物として機能する。図5を参照しながら以下により詳細に説明されるように、ウェブブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212と周辺機器202との間の全ての通信は、周辺機器ドライバ214を介して実行される。ウェブブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100またはソフトウェアコンポーネント212は、周辺機器ドライバ214を用いて周辺機器202からクライアントコンピュータ204にデバイスデータ210を転送する(ステップ316)。
【0046】
一実施形態では、周辺機器202からクライアントコンピュータ204にデバイスデータ210を転送する(ステップ316)ために使用された後、周辺機器ドライバ214がクライアントコンピュータからアンインストール(除去)される。以下により詳細に説明されるように、クライアントコンピュータ204をリブートすることなく、周辺機器ドライバ214がクライアントコンピュータ204から除去され得る。
【0047】
ウェブブラウザ100のユーザが、クライアントコンピュータ204上の周辺機器ドライバ214を手動でインストールすることなく、周辺機器202からクライアントコンピュータ204までデバイスデータ210(例えば画像に対応するデータ)を転送し、そしてクライアントコンピュータ204から処理デバイスデータデータベース230に処理デバイスデータをアップロードできるようにするために上述の技術が使用され得ることが理解されるべきである。さらに、転送および/またはアップロードする前に周辺機器ドライバ214がクライアントコンピュータ204上にインストールされなかったとしても、クライアントコンピュータ204をリブートすることなく、かつウェブブラウザ100を再実行することなくデバイスデータ210がクライアントコンピュータ204に転送され、処理デバイスデータデータベース230にアップロードされ得ることが理解されるべきである。
【0048】
ウェブブラウザ100は、当業者に周知である技術を用いて処理デバイスデータデータベース230に処理デバイスデータをアップロードし得る。ウェブページ120は、例えば、処理デバイスデータデータベース230を位置決めし、かつそれにアクセスするために、ウェブブラウザ100が使用し得る処理デバイスデータデータベース230のユニフォームリソースロケータ(URL)を含み得る。一旦、処理デバイスデータが処理デバイスデータデータベース230にアップロードされると、処理デバイスデータは、ウェブブラウザ100を用いてTCP/IPネットワーク108を介してブラウジングするために利用可能にされ得る。例えば、一実施形態では、処理デバイスデータは、ウェブサイト112等のウェブサイト上で閲覧するために提供される1つ以上のデジタル画像を含む。
【0049】
上述のように、一実施形態では、ウェブブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、クライアントコンピュータ204に接続される周辺機器202を識別する(図3C、ステップ310)。一実施形態では、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、周辺機器202のモデルを識別するユーザ入力228を受信することによって周辺機器202を識別し得る。ユーザはまた、ユーザ入力228を介して周辺機器202が接続されるポートを識別し得る。Microsoft Windows(R)オペレーティングシステムがクライアントコンピュータ204上で実行する一実施形態では、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、以下のように、周辺機器ドライバ214を介して周辺機器202を識別し得る。図2Aに示されたように、クライアントコンピュータ204は、複数のポート206a〜c(3つのポートが例示の目的のために示される)を含む。これらのポート206a〜cは、例えば、シリアルポートであり得る。周辺機器ドライバ214は、Windows(R)オペレーティングシステムによって提供された標準的なコマンドを用いてポート206a〜cの各々に問い合わせ得る。これらのコマンドは、ポート206a〜cの各々に対して周辺機器がポートに接続されるかどうかを示し、周辺機器がポートに接続される場合、周辺機器の識別子(ID)を提供する。周辺機器製造業者は、固有であることが意図される(しかしそれが保証されない)IDを有する周辺機器を構成する。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、オペレーティングシステムコマンドを用いて獲得された任意の周辺機器IDとユーザによって選択された周辺機器のIDとを比較し得る。ポート206a〜cの内の特定の1つに接続された周辺機器のIDがユーザによって選択された周辺機器のIDと同じである場合、周辺機器ドライバ214は、ユーザによって選択された周辺機器がポート206a〜cの内のその特定の1つに接続されることを判断し得る。
【0050】
あるいは、ユーザが周辺機器を選択しない場合、周辺機器ドライバ214は、ポート206a〜cに接続された周辺機器のデバイス識別子(もしあれば)を獲得するためにポート206a〜cに問い合わせし得る。周辺機器ドライバ214は、この態様で獲得された任意のデバイスIDと公知の周辺機器に対する所定のIDリストとを比較し得る。公知の周辺機器がこの態様でポート206a〜cの1つにおいて見出された場合、周辺機器ドライバ214は、識別された周辺機器に対する適切な周辺機器ドライバをインストールして、ポート206a〜cの識別された1つを介して周辺機器202との以後の通信を実行し得る。
【0051】
上述のように、一実施形態では、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、クライアントコンピュータ204をリブートすることなく周辺機器ドライバ214をインストールする(図3C、ステップ314)。図4を参照すると、位置実施形態において、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、以下のようにこのインストールを実行する。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、周辺機器ドライバ214の位置を識別する(ステップ402)。例えば、図2Cを参照すると、一実施形態では、周辺機器ドライバサーバ222は、種々の周辺機器に対する周辺機器ドライバ224の格納を維持する。周辺機器ドライバ224の各々は、特定のユニフォームリソースロケータ(URL)を用いてTCP/IPネットワーク108を介してアクセス可能である。ウェブブラウザ100は、例えば、周辺機器IDを周辺機器ドライバURLに関連付けるテーブルにおいてURLを検索することによって、ステップ310において実行された周辺機器202の識別に基づいて周辺機器202に対する周辺機器ドライバ214のURLを識別する。
【0052】
ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、例えば、周辺機器ドライバ214に対する周辺機器ドライバリクエスト220を周辺機器ドライバサーバ222にTCP/IPネットワーク108を介して送信することによって、周辺機器ドライバサーバ222から周辺機器ドライバ214をダウンロードする(ステップ404)。これにレスポンスして、周辺機器ドライバサーバ222は、TCP/IPネットワーク108を介して、周辺機器ドライバ214をウェブブラウザ100に送信する。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、所定の位置(例えば、クライアントコンピュータ204にアクセス可能なハードディスクドライブ上の所定のディレクトリ)に周辺機器ドライバ214を格納する。
【0053】
周辺機器ドライバサーバ222から周辺機器ドライバ214をダウンロードした後、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、クライアントコンピュータ204をリブートすることなく、かつウェブブラウザ100を再実行することなく、上述のように周辺機器202と通信するように周辺機器ドライバ214を使用し得る。
【0054】
デバイスドライバサーバ222の利用の1つの利点は、ユーザがフロッピー(R)ディスク(R)またはCD−ROM等のコンピュータ読み出し可能媒体上でクライアントコンピュータ204に周辺機器ドライバ214を提供する必要性を排除するためにデバイスドライバ222が使用され得ることである。デバイスドライバサーバ222を使用する別の利点は、ユーザがデバイスドライバをインストールする必要なしで任意のコンピュータに周辺機器を接続し得、これによりポータビリティを得ることである。この利点は、「Method and System for Enabling the Use of Relordable Single Use Digital Cameras」と題された、米国特許出願第AA/AAA,AAA号に開示されたような出願が複数のコンピュータで使用されることを可能にする。
【0055】
ここで、周辺機器ドライバ214の一実施形態がより詳細に説明される。異なる周辺機器が種々の機能を実行するための異なるコマンドのセットを理解するように製造されることが理解されるべきである。周辺機器ドライバ214は、アプリケーションプログラムインターフェース(API)に従って定義されたコマンドのセットを認識する。周辺機器ドライバ214は、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212が、周辺機器ドライバのAPIによって定義された単一のコマンドのセットを用いて複数の周辺機器と通信できるようにする。
【0056】
図5を参照すると、ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212は、APIコマンド506を周辺機器202によって理解されるダイレクトデバイスコマンド514に変換する周辺機器ドライバ214に、APIに従って定義されたAPIコマンド506を送信することによって、周辺機器202と通信し得る。周辺機器202は、ダイレクトデバイスコマンド514を処理し、そしてAPIコマンドレスポンス508に変換されるダイレクトデバイスレスポンス516と共に周辺機器ドライバ214にレスポンスする。ダイレクトデバイスコマンド514は、周辺機器202によって理解された任意のコマンドであり得る。
【0057】
周辺機器ドライバ214は、上記のようなウェブブラウザ100による使用のためのコマンドの標準セットを実装するアプリケーションプログラムインターフェース(API)層502を含む。例えば、このようなコマンドは、周辺機器202からクライアントコンピュータ204にデバイスデータ210を転送するためのコマンド、周辺機器202からデバイスデータ210を削除するためのコマンド、デバイスデータ210を周辺機器202にダウンロードするためのコマンド、および周辺機器202およびデバイスデータ210に関する情報を獲得するためのコマンドを含み得る。ブラウザ100によってダウンロードされ、そしてブラウザ100において動作するウェブブラウザ100および/またはソフトウェアコンポーネント212がAPIコマンド506を周辺機器ドライバ214に送信する場合、APIコマンド506は、APIコマンド506を下位レベルデバイスコマンド510に変換するAPI層502によって受信される。下位レベルデバイスコマンド510は、下位レベルデバイスドライバ504によって理解されたコマンドセットに従って定義される。下位レベルデバイスドライバ504は、ポート206aを介して周辺機器202と共に直接通信するように構成され、周辺機器202の製造業者によって提供され得る。API層502は、下位レベルデバイスコマンド510を、下位レベルデバイスコマンド510を適切に処理する下位レベルデバイスドライバ504に送信する。下位レベルデバイスドライバ504は、下位レベルデバイスコマンド510を周辺機器202によって直接理解されるダイレクトデバイスコマンド514に変換する。
【0058】
周辺機器202は、ダイレクトデバイスレスポンス516を用いてダイレクトデバイスコマンド514にレスポンスし得る。例えば、ダイレクトデバイスレスポンス516は、デバイスデータ210および/または状態情報(ダイレクトデバイスコマンド514の実行が成功されたかどうかの表示等)のいくつかまたは全てを含み得る。下位レベルデバイスドライバ504は、ダイレクトデバイスレスポンス516を受信し、そのレスポンスを、API層502によって理解される下位レベルデバイスレスポンス512に変換する。次いで、API層502は、ウェブブラウザ100に配信されるAPIコマンドレスポンス508(周辺機器ドライバAPIに従って定義される)APIコマンドレスポンス508に下位レベルデバイスレスポンス512を変換する。例えば、APIコマンドレスポンス508は、デバイスデータ210および/または状態情報の一部または全てを含み得る。
【0059】
一実施形態では、API層502の機能性は、現在のウェブページ120によって提供され、従って、現在のウェブページ120の一部としてクライアントコンピュータ204に転送される。その結果、API層502は、周辺機器ドライバサーバ222から別個にダウンロードされる必要がない。むしろ、本実施形態では、下位レベルデバイスドライバ504のみが周辺機器202を動作させるために周辺機器ドライバサーバ222からダウンロードされる。なぜなら、API層502の機能性が現在のウェブページ120内のクライアントコンピュータ204上に既に存在しているためである。
【0060】
単一のみの周辺機器202および単一の下位レベルデバイスドライバ504が図5に示されるが、複数の周辺機器および複数の対応する下位レベルデバイスドライバが存在することが理解されるべきである。例えば、クライアントコンピュータ204に接続された各周辺機器に対する明確な下位レベルデバイスドライバが存在し得る。単一のアプリケーション層502は、複数の下位レベルデバイスドライバを用いて、ウェブブラウザ100と周辺機器との間の中介物として機能するように構成され得る。
【0061】
本発明の特定の実施形態が、ここで、より詳細に記載される。この実施形態は、Java(R)プログラミング言語のバージョン1.1およびバージョン1.1以上によって提供され、かつ、Netscape Navigator(バージョン4.0.8およびバージョン4.0.8以上、以降「Navigator」)およびMicrosoft Windows(R)プラットフォーム上のMicrosoft Internet Explorer(バージョン4.0.1およびバージョン4.0.1以上、以降「Internet Explorer」)ウェブブラウザ等のウェブブラウザによってサポートされる特徴を用いる。Java(R)プログラミング言語は、NavigatorおよびInternet Explorer内のわずかに異なる態様で実装されるが、当業者は、本明細書の記述に基づく2つのウェブブラウザのいずれかにおいて以下に記載される特徴を実装することができる。
【0062】
この実施形態によると、クライアントコンピュータ204は、Microsoft Windows(R)オペレーティングシステム(Windows(R)95、Windows(R)98、Windows(R) NT、またはWindows(R)2000等)を実行するように構成される従来のデスクトップまたはラップトップコンピュータである。ウェブブラウザ100は、Java(R)バージョン1.1およびそれ以上をサポートするNavigatorまたはInternet Explorerのいずれかのバージョンである。周辺機器202は、ポート206aに接続された単一使用デジタルカメラ(米国特許出願第AA/AAA,AAA「Methos and System for Enabling the Use of Reloable Single Use Digital Camera」に記載された単一使用デジタルカメラ)である。ポート206aは、クライアントコンピュータ204のシリアルポートである。デバイスデータ210は、周辺機器202のメモリ等のコンピュータ読み出し可能媒体上に格納された画像に対応する1以上のデータアイテムを含む。ウェブサイト112は、周辺機器202からのデータを操作する(例えば、削除する、処理する)場合およびクライアントコンピュータ204から処理されるデバイスデータデータベース230にデジタル画像をアップロードする場合にユーザをアシストするように設計されたウェブサイトである。
【0063】
この実施形態では、ユーザは、単一使用デジタルカメラを用いてデジタル画像を獲得し、単一使用デジタルカメラをクライアントコンピュータ204のポート206aに接続する。例示の目的のため、単一使用デジタルカメラを動作させるための周辺機器ドライバは、クライアントコンピュータ204上にインストールされないと仮定する。さらに、例示の目的のため、ウェブサイト112のホームページのURLはユーザに既知であると仮定する。ユーザは、ウェブブラウザ100を用いてウェブサイト112のホームページをナビゲートし、ホームページが現在のウェブページ120となる。ウェブブラウザ100は、コンピュータモニタ等の出力デバイス(図示せず)上に現在のウェブページ120を与える。
【0064】
この実施形態では、現在のウェブページ120は、Java(R)プログラミング言語にしたがって書き込まれたアプレットを含む。本明細書にて用いられるように、用語「アプレット」は、ウェブブラウザ100内で実行可能なコンピュータプログラムをいう。例えば、アプレットは、Sun MicrosystemのJava(R)TMプログラミング言語で書き込まれ得、かつ、従来のウェブブラウザ内で実行され得る。アプレットは、典型的には、ウェブページ(現在のウェブページ120等)に組み込まれる(または、ウェブページによって参照される)。ウェブブラウザ100がアプレットを含むウェブページを表示する場合、ウェブブラウザ100は、アプレットのオブジェクトコードをクライアントコンピュータ204にダウンロードし、アプレットのオブジェクトコードを実行する。アプレットの出力は、典型的には、アプレットを含むウェブページ内の矩形領域内に表示される。ウェブページ内にアプレットを組み込むために、「アプレット」タグが、典型的には、URLを用いて、アプレットのオブジェクトコードの位置を識別し、アプレットに提供されるパラメータを提供するウェブページのソースコード内に提供される。
【0065】
アプレットは、典型的には、ウェブブラウザ100等のアプリケーションプログラムがクライアントコンピュータ上にインストールされるのと同一の態様でクライアントコンピュータ204上にインストールされないことが理解されるべきである。例えば、アプリケーションプログラムをMicrosoft Windows(R)オペレーティングシステム環境にインストールするために、ユーザは、典型的には、クライアントコンピュータ204上のインストレーションプログラムを実行する。インストレーションプログラムは、アプリケーションプログラムのファイルをクライアントコンピュータのハードディスクドライブにコピーし、さらに、Windows(R) Registryを改変する等の他のアクションを行い得る。インストレーションプログラムのオペレーションは、典型的には、ユーザが、アプリケーションプログラムがインストールされるディレクトリを特定する等のなんらかの入力を提供することを必要とする。いくつかのアプリケーションプログラムは、クライアントコンピュータ204が、インストールされた後にリブートされることを必要とする。アプリケーションプログラムをMicrosoft Windows(R)にインストールすることは、既存のDLLに、DLLのより新しいバージョンで上書きすることを行わせ得る。これは、しばしば、DLLのより古いバージョンを用いていた既存のアプリケーションに後方互換性の問題を引き起こし得る。
【0066】
他方、アプレットは、典型的には、別々のインストレーションプログラムを実行することによってはクライアントコンピュータ204上にインストールされない。むしろ、上記のように、それらは、アプレットを含むウェブページ(現在のウェブページ120等)がウェブブラウザ100によって表示される場合に、典型的には、ウェブブラウザ100によって自動的にダウンロードされ実行される。アプレットは、典型的には、(出力を表示し、入力を受信することによって)アプレットを含むウェブページを表示する同一のウェブブラウザウィンドウを通じてユーザと相互作用する。さらに、アプレットのダウンロードおよび実行は、典型的には、潜在的に矛盾するDLLのインストレーションを必要とせず、クライアントコンピュータ204がリブートされることを必要としない。
【0067】
上記のアプレットの特徴の結果として、アプレットは、周辺機器ドライバ214をインストールし、デバイスデータ210をクライアントコンピュータ204に移動させ、移動されたデバイスデータ210を処理し、および/または、処理されたデバイスデータ216を処理されたデバイスデータデータベース230にアップロードするための能率化されたプロセスを提供するために有利なように用いられ得る。アプレットは、別々に実行されるアプリケーションプログラムではなくウェブブラウザ100内で実行されるので、アプレットは、典型的には、対応するアプリケーションプログラムより小さい量のデータを含み、したがって、対応するアプリケーションプログラムより少ないダウンロードされるための時間を必要とする。小さいサイズは、クライアントコンピュータ204上にすでにインストールされているウェブブラウザ100がアプレットによって要求される機能性の多くを提供するという事実に起因する。さらに、ユーザは、ウェブブラウザウィンドウを通じて入力および出力を行うので、周辺機器ドライバ214をインストールする、周辺機器202からクライアントコンピュータ204にデバイスデータ210を移動させる、画像フォームでデータを取り出すために処理する、単一使用デジタルカメラを「リロードする」ために周辺機器202からデバイスデータ210を削除する、および処理されたデバイスデータを処理されたデバイスデータデータベース230にアップロードする、全体のプロセスが、同一のウェブブラウザウィンドウ内で行われ得、これにより、ユーザに、従来の方法と比較して能率化されかつ簡略化された、デバイスデータ210を操作するための方法を提供する。
【0068】
アプレットは、典型的には、現在のウェブページ120の所定の矩形領域内のウェブブラウザ100によって与えられる。アプレットは、テキストおよび画像を表示する、および、ユーザ入力に応答する等の種々の機能を行い得る。デフォルトにより、アプレットは、典型的には、ファイルを削除する等の不当な活動に係合することを防止するために、クライアントコンピュータ204にアクセス可能なファイルへのアクセスを否定する。しかしながら、ユーザは、アプレットがローカルファイルにアクセスして他の活動を行うことを可能にするために、アプレットに特別な特権を付与し得る。アプレットは、アプレットが信頼されたソースから始まり、クライアントコンピュータ204上の不当な活動に係合しないユーザに検査を提供するために署名されたアプレットとして実装され得る。アプレットをインストールすることをユーザから認可を受信すると、ウェブブラウザ100は、ウェブサーバ110からアプレットをダウンロードし、アプレットを実行して、アプレットが現在のウェブページ120内に表示されるようにする。
【0069】
アプレットをダウンロードおよびインストールする前に、現在のウェブページ120に含まれるかまたは現在のウェブページ120によって参照されるコンピュータプログラムコード(ブラウザ内のサーバまたはJava(R)ScriptコードにおけるJava(R)またはMicrosoft Active Server Page(ASP)コード等)が、クライアントコンピュータ204のオペレーティングシステムを決定するおよびウェブブラウザ100のモデルおよびバージョンを決定する等の機能を行うために適切なようにクライアントコンピュータ204および/またはウェブサーバ110上で実行され得る。アプレットの異なるバージョンが、検出されたオペレーティングシステムおよび/またはウェブブラウザに応じてクライアントコンピュータ100上にインストールされ得る。ウェブブラウザ100の現在のユーザに関連付けられる識別子および/またはパスワード等の現在のウェブページ120内のコードはまた、アプレットを実行する場合にアプレットに情報を提供し得る。アプレットは、ユーザのアカウントまたはユーザに対応する特定のディレクトリまたはURLにデジタル画像をアップロードするためにデジタル画像をアップロードする場合にそのような識別子および/またはパスワードを実質的に用い得る。
【0070】
アプレットは、上記(図3C、ステップ310)のように周辺機器202を識別する。アプレットが周辺機器202を識別した後、アプレットは、周辺機器202を動作させるための周辺機器ドライバがクライアントコンピュータ204上にインストールされるかどうかを決定する(図3C、ステップ312)。この決定を行うために、アプレットは、任意のインストールされた周辺機器ドライバを、クライアントコンピュータ204のローカルハードディスクドライブ上の所定のディレクトリ(あるいは、異なるドライバファイルネームを有する一つの所定のディレクトリ)に格納する。各ディレクトリ(または各ドライバファイル)は、対応する周辺機器を識別する固有の名前を有する。結果として、アプレットは、特定の周辺機器に対応するドライバソフトウェアが、周辺機器に対応するディレクトリがクライアントコンピュータ204上にあるかどうかを決定することによって、および正しい周辺機器ドライバファイルがディレクトリ内に格納されるかどうかを決定することによってクライアントコンピュータ204上にインストールされるかどうかを決定し得る。
【0071】
アプレットが、デジタルカメラのための周辺機器ドライバがクライアントコンピュータ204上にインストールされないことを決定する場合、アプレットは、ウェブサーバ110から周辺機器ドライバ214をダウンロードし、クライアントコンピュータ204をリブートすることなく周辺機器ドライバ214をクライアントコンピュータ204上にインストールする(図3C、ステップ314)。アプレットは、ネットワークアドレス(URL)を識別し、このネットワークアドレスから、デバイスドライバURLにデジタルカメラモデルをマッピングする所定のターブルを用いることによって周辺機器ドライバ214をダウンロードする。
【0072】
アプレットが周辺機器ドライバ214をクライアントコンピュータ204上にインストールする前に、アプレットは、周辺機器ドライバ214の格納のためにクライアントコンピュータ204のローカルハードディスクドライブ上にディレクトリを生成する。アプレットは、単一使用デジタルカメラに格納された画像に対応するデータを、アプレットによって用いられるように割り当てられたメモリ位置(以降、アプレットのメモリと呼ぶ)に移動させる。アプレットは、データを画像フォームで与えるために画像(画像フォームではない)に対応するデータを処理する。ユーザが画像をクライアントコンピュータに格納することを望む場合、アプレットは、画像の格納のためにクライアントコンピュータ204のローカルハードディスクドライブ上にディレクトリを生成する。(画像)処理デバイスデータデータベース230に画像をアップロードすることが望まれる場合、アプレットは、以下に詳細に記載される態様で画像を(画像)処理されたデバイスデータデータベース230にアップロードする。
【0073】
本発明の一実施形態におけるデジタルカメラからクライアントコンピュータ204にデジタル画像を移動させるために用いられる技術が、ここで、より詳細に記載される。Microsoft Windows(R)環境内のクライアントコンピュータ204上で実行するアプリケーションは、Microsoft Windows(R)オペレーティングシステムによって提供される低レベルの入力/出力(I/O)コマンドを用いてクライアントコンピュータ204のシリアルポート(ポート206a〜c等)と直接通信し得る。このような低レベルI/Oコマンドは、シリアルポート206aを通じて周辺機器(周辺機器202等)と直接通信するために用いられ得る。図5に示されるように、一実施形態の周辺機器ドライバ214は、直接シリアルポート206aを通じて周辺機器202と通信するように提供される。
【0074】
Microsoft Windows(R)環境内で実行するJava(R) appletは、シリアルポートに直接アクセスすることはできない。例えば、一実施形態では、ポート206aは、シリアルポートであり、アプレットは、上記のようなシリアルポート206aと通信することが可能なMicrosoft Windows(R)アプリケーションプログラムとして周辺機器ドライバ214を実行する。アプレットは、Java(R) Runtime.exec()方法を用いて周辺機器ドライバ214であるWindows(R)アプリケーションを実行し、周辺機器ドライバ214にAPIコマンドを発する。周辺機器ドライバ214は、次いで、シリアルポート206aを通じて周辺機器202と通信する。Runtime.exec()方法は、種々の目的のために用いられ得るJava(R) Processオブジェクトに戻る。種々の目的のいくつかは、以下により詳細に記載される。シリアルポート206aとのアプレットによる通信への本明細書の任意の参照が適切な場合に周辺機器ドライバ214を通じたシリアルポート206aとのアプレットによる通信を含むものと考えられるべきであることが理解されるべきである。
【0075】
一実施形態では、周辺機器ドライバ214は、API層502によって提供される機能性のみを含むWindows(R)アプリケーションとして実装される。この実施形態では、低レベルのデバイスドライバ504は、低レベルデバイスドライバ504によって提供される機能を行うためのオブジェクトコードを含む1以上のダイナミックリンクライブラリ(DLL)として実装される。低レベルデバイスドライバ504に対応するDLLが周辺機器ドライバサーバ222からダウンロードされる場合(図2C)、それらは、周辺機器ドライバ214に対応するWindows(R)アプリケーションと同一のディレクトリに格納される。結果として、周辺機器ドライバDLLがクライアントコンピュータ204上に以前にインストールされた他のDLLを上書きするまたはそのDLLと矛盾するリスクがない。さらに、DLLは、Windows(R) Registryに登録されない。結果として、クライアントコンピュータ204は、リブートされる必要がなく、ウェブブラウザ100は、DLLがインストールされた後に再実行される必要がない。周辺機器ドライバWindows(R)アプリケーションは、それらがWindows(R)アプリケーションと同一のディレクトリに格納されるので、ダウンロードされたDLL内のライブラリルーチンを首尾よく呼び出し得る。結果として、ダウンロードされたDLL(図5の低レベルデバイスドライバ504に対応する)は、クライアントコンピュータ204上にインストールされ得、Windows(R)アプリケーション(図5のAPI層502に対応する)は、クライアントコンピュータ204をリブートすることなく、および、ウェブブラウザ100を再実行することなくダウンロードされたDLLと通信し得る。
【0076】
アプレットは、Windows(R)オペレーティングシステムによって認識される従来のSTDINおよびSTDOUT入力および出力を用いて周辺機器ドライバ214と通信し得る。典型的には、STDINストリームは、キーボードを通じてユーザから入力を受信し、STDOUTストリームは、ウィンドウに出力を表示する。初期化の際、アプレットは、(1)Windows(R) STDOUTストリームに送られたデータを受信する入力ストリームを取得するために上記のJava(R) ProcessオブジェクトのgetInputStream()方法を呼び出し、(2)Windows(R) STFINストリームにデータを送るために用いられ得る出力ストリームを取得するために上記のJava(R) ProcessオブジェクトのgetOutputStream()方法を呼び出し得る。結果として、アプレットは、そのような情報をアプレットの出力ストリーム上に出力することによって周辺機器ドライバ214に情報(APIコマンド506等)を送信し得、周辺機器ドライバ214は、このような情報を周辺機器ドライバのSTDOUTストリーム上に出力することによってアプレットに情報(APIコマンド応答508および周辺機器202から受信された画像に対応するデータ等)を送信し得る。
【0077】
一実施形態では、APIコマンド506およびAPIコマンド応答508が、STDINおよびSTDOUTを用いて送信を容易にするためにASCIIテキストにおいて符号化される。例えば、APIコマンド506は、ASCIIテキストストリングにおいて符号化され得る。ここで、ストリングの最初のキャラクタは、APIコマンド506を識別し、バー「|」キャラクタ等の所定のセパレータキャラクタによって分離された1以上のコマンドパラメータに続く。同様に、APIコマンド応答508は、ASCIIテキストストリングにおいて符号化され得る。ここで、ストリングの最初のキャラクタは、APIコマンド応答が応答するAPIコマンド506を識別し、ステータスコード(成功に対する数字0および失敗に対する任意の他のディジット等)およびステータスメッセージに続く。APIコマンド506およびAPIコマンド応答508は、ASCIIにおいて符号化される必要がないことが理解されるべきである。むしろ、任意の方法が、STDINおよびSTDOUTを用いて送信に対するAPIコマンドおよびAPIコマンド応答を符号化するために用いられ得る。例えば、APIコマンド506およびAPIコマンド応答508は、バイナリデータとして符号化され得る。
【0078】
周辺機器ドライバ214は、画像に対応するデータアイテムをファイルに格納し、APIコマンド応答508においてファイルのファイルネームをアプレットに送信することによって、画像に対応するデータアイテムのアプレットへの送信に影響し得る。これは、APIコマンド応答508内の画像に対応するデータアイテムを符号化する必要なく、周辺機器ドライバ214が画像に対応するデータアイテムを効果的に送信することを可能にする。
【0079】
図3Dを参照すると、単一使用デジタルカメラからクライアントコンピュータ204(に画像に対応するデータアイテムを移動させるため、画像形態でデータを与えるためおよびクライアントコンピュータ204から処理されたデバイスデータデータベース230(図3B、ステップ345)に移動されたデジタル画像をアップロードするために画像(画像形態ではない)に対応するデータを加工するために用いられ得る方法がここでより詳細に記載される。ユーザは、周辺機器202(現在のウェブページ120上に表示されるボタンをクリックオンすること等)からデバイスデータ210を取り出すプロセスを開始することの望みを示すユーザ入力228を提供することにより移動を開始する。アプレットは、APIコマンド506を用いて適切なAPIルーチンを呼び出すことによって周辺機器202からクライアントコンピュータ204に、画像に対応するデータアイテムを移動させる(ステップ332)。画像に対応するデータアイテムは、周辺機器202から、アプレットによって用いられるように割り当てられたクライアントコンピュータ204内のメモリ位置(アプレットのメモリ)に直接移動される(ステップ322)。アプレットは、サムネイル画像を含む画像形態でデータを与えるのに必要な処理動作を行う(ステップ324)。
【0080】
次いで、アプレットは、当業者に周知の技術を用いて現在のウェブページ120のレンディション(rendition)にサムネイルを表示する。ユーザは、画像を格納するかまたはアップロードするかどうかを選択する(ステップ325)。アップロードすることが選択された場合、ユーザは、アップロードするために画像を選択する(現在のウェブページ120上の各画像下に表示されたボタンをクリックオンすること等によって)(ステップ326)。次いで、各選択された画像に対して、アプレットは、アプレットのメモリ内で画像を望みのフォーマット(JPEGまたは別の圧縮されたまたは圧縮されていないフォーマットに変換する(ステップ328)。再度、図3Dを参照すると、現在の画像を処理されたデバイスデータデータベース230にアップロードする(図3A、ステップ306)ために、アプレットは、処理されたデバイスデータデータベース230によって提供された「提示」API機能を呼び出す(ステップ334)。これにより、画像ファイル(image.jpg)が処理されたデバイスデータデータベース230にアップロードおよび格納される。一実施形態では、画像ファイルは、バイナリフォームで処理されたデバイスデータデータベース230に画像ファイルをアップロードするソケット接続を用いてアップロードされる。別の実施形態では、画像ファイルは、処理されたデバイスデータデータベース230に、HTTPを用いるASCIIフォームでアップロードされる。
【0081】
クライアントコンピュータ204において格納することが選択された場合、ユーザは、格納するために画像を選択する(現在のウェブページ120上の各画像下に表示されたボタンをクリックオンすること等によって)(ステップ332)。次いで、各選択された画像に対して、アプレットは、アプレットのメモリ内でWindow Bitmap(BMP)フォーマット等の所与のフォーマットに画像を変換する(ステップ334)。アプレットは、クライアントコンピュータのハードディスクドライブ上の現在の画像を所与のフォーマットに格納すること等によって現在の画像を転送されたデバイスデータ216に格納する(ステップ336)。
【0082】
画像に対応する全てのデータアイテムが処理され画像として与えられた後、ユーザがカメラを「リロードする」ことを選択すれば、ユーザは、データアイテムのどれが削除されるかに関してユーザ入力228を提供する(現在のウェブページ120上に表示された画像のそれぞれによって位置付けられる「削除」ボタンをクリックオンすること等によって)。削除が可能にされ得る前に、ユーザは、カメラの継続された再使用に対する支払いを提供しなければならない。「リロードすること」が望まれることを示すユーザ入力228により、ウェブブラウザ100は、「リロードすること」の支払いに対する取引を開始するためにサーバ232にHTTPSリクエスト104を送信する。サーバ232は、HTTP応答114を返信する。1より多くのリクエスト/応答シーケンスは、取引を完了するために必要であり得ることが明らかであるべきである。取引の完了時に、サーバ232からのHTTP応答114は、結果またはインジケータを含む。成功取引の表示の受信時に、アプレットは、APIコマンド506を用いて適切なAPIルーチンを呼び出すことによって周辺機器202から選択された画像に対応するデータアイテムを削除する。
【0083】
処理されたデバイスデータデータベース230に画像をアップロードした後、アプレットは、クライアントコンピュータ204から周辺機器ドライブ214(または低レベルデバイスドライバ504)をインストールしない(除去する)ことのオプションをユーザに提供し得る。ユーザが周辺機器ドライバ214を削除しないことを選択する場合、ユーザが周辺機器202からクライアントコンピュータ204に画像を次に転送するときに周辺機器ドライバ214をクライアントコンピュータ204にダウンロードすることは必ずしも必要ではない。
【0084】
周辺機器ドライバ214が、クライアントコンピュータ204がリブートされることを要求することなくおよび/またはウェブブラウザ100が再実行されることを要求することなくクライアントコンピュータ204から削除され得ることは理解されるべきである。さらに、周辺機器ドライバ214は、ユーザがアンインストールする動作を手動で行うことを要求することなく削除され得る。例えば、周辺機器ドライバ214が、Windows(R) Registryに登録されないDLLを用いて実装される上記に記載された実施形態では、周辺機器ドライバ214は、クライアントコンピュータのハードディスクドライブから対応するDLL(および、オプションとして、同封ディレクトリ)を削除することによってクライアントコンピュータ204からアンインストールされ得る。このような削除は、Windows(R) Registryの変更を含まないので、クライアントコンピュータ204をリブートすることなく、かつ、ウェブブラウザ100を再実行することなく行われ得る。
【0085】
上記例示は、1より多いサーバ(クライアントコンピュータ204でのウェブブラウザ100にダウンロードされるソフトウェアコンポーネント212をホストするサーバ、取引を行うために対照区別されるサーバ)、周辺機器ドライバサーバ222)を含み得ること、および処理されたデバイスデータデータベース230が、ウェブサーバ110とは異なり得るウェブ上のオンラインフォンアルバムをホストするためのウェブサーバであり得ることが明らかであるべきである。これらのサーバは、異なり得、いくつかは、結び付けられ得るか、あるいは、あるサーバが別のサーバにアクセスし得る。
【0086】
本明細書中に説明される技術は、「Method and System for Enabling the Use of Reloadable Single Use Digital Cameras」と称する米国特許出願AA/AAA,AAA号内に記載される単一の用途のデジタルカメラの実施形態のインプリメンテーションにおいて利用され得る。
【0087】
本発明は特定の実施形態に関して上述されたが、前述の実施形態は、説明のためのみであり、本発明の範囲を制限または規定しないように提供されていることが理解されるべきである。他の実施形態はまた、以下の請求項の範囲によって規定される本発明の範囲内に存在する。以下の特許請求の範囲内に収まる他の実施形態は、以下を含むが、それに制限されない。
【0088】
クライアントコンピュータ204は、デスクトップコンピュータ、ラップトップコンピュータ、インターネットが可能な携帯電話、または、パーソナルデジタルアシスタント(PDA)等のコンピュータプロセッサを組み込む任意のコンピュータまたはデバイスであり得る。
【0089】
本明細書中で利用されるように、周辺機器202は、クラインアントコンピュータ204等のコンピュータと通信し得る任意のデバイスを表わす。例えば、周辺機器202は、デジタルカメラ、スキャナ、ハードディスクドライブ、フロッピー(R)ディスクドライブ、マルチファンクションデバイス(スキャン、印刷、コピー、ファックスおよび/またはデジタルイメージ取得性能)あるいはデジタルオーディオデバイスであり得る。周辺機器202は、シリアルケーブル、パラレルケーブルまたはワイヤレス接続等の任意のコネクタを利用して、クライアントコンピュータ204に接続され得る。
【0090】
前述の例は、デバイスデータ210の例としてイメージに対応するデータを利用するが、これは、本発明の制限ではなく、データデバイス210は、デジタルビデオ、デジタルオーディオ、デジタルマルチメディアストリームまたは任意のその組み合わせ等の任意の種類のデータを含み得ることが理解されるべきである。
【0091】
処理された(processed)デバイスデータデータベース230は、例えば、TCP/IPネットワーク108を介してクライアントコンピュータ204と通信することができ、かつ、デバイスデータ210のいくらかまたは全てを格納することができる任意のデータベースあるいは記憶媒体であり得る。例えば、処理されたデバイスデータデータベース230は、ウェブ上のオンラインフォトアルバムをホストするためのウェブサーバであり得る。処理されたデバイスデータデータベース230は、ウェブサーバ110から区別され得る、あるいは、ウェブサイト112をホストし、かつ、送信されたデバイスデータ216を格納するためのシングルウェブサーバを形成するためにウェブサーバ110とマージされ得る。
【0092】
トランザクションデータデータベース234は、例えば、TCP/IPネットワーク108を介してクライアントコンピュータ204と通信することができ、かつ、トランザクションデータを格納することができる任意のデータベースあるいは記憶媒体であり得る。トランザクションデータデータベース234は、トランザクションを処理するためのウェブサーバホスティングアプリケーションであり得る。ウェブブラウザ100は、任意のウェブブラウザまたはHTTPクライアントであり得、かつ、ハードウェア、ソフトウェア、ファームウェアまたは任意のその組み合わせで実装され得る。例えば、ウェブブラウザ100は、従来のデスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドデバイス、パーソナルデジタルアシスタント(PDA)、携帯電話または任意の他のデバイスのプロセッサ上で実行するソフトウェアアプリケーションであり得る。ウェブブラウザ100は、例えば、California Mountain ViewのNetscape Communications Corporationから入手可能なNavigatorTMウェブブラウザまたはWashington RedmondのMicrosoft Corporationから入手可能なInternet ExplorerTMウェブブラウザ等の市販のウェブブラウザであり得る。同様に、ウェブサーバ110は、任意のHTTPサーバであり得、任意の特定のインプリメンテーションに制限されない。
【0093】
上述の説明のある部分は、ソフトウェアコンポーネント212の様々な局面を実装するアプレットの利用を表わす。ソフトウェアコンポーネント212は、アプレット(Java(R)プログラミング言語で書かれたアプレット等)だけでなく、ウェブブラウザ100内で実行され得る任意のソフトウェアコンポーネントも表わすことが理解されるべきである。例えば、ソフトウェアコンポーネント212は、Java(R)プログラミング言語、MicrosoftのActiveX技術、Java(R)Script、Microsoft VBScriptまたは任意のその組み合わせを利用して実装され得る。
【0094】
単一の現在のウェブページ120のみが、上記のように示されかつ説明されたが、現在のウェブページ120は、任意の特定の時間にウェブブラウザ100によって現在表示されているウェブページを表わし、従って、ウェブサイト内の複数のウェブページなどの複数のウェブページを表示し得ることが理解されるべきである。例えば、上述の実施形態のいくらかでは、現在のウェブページ120は、ユーザが周辺機器202からデジタルイメージをアップロードすることを可能にするために、ウェブサイト内のウェブページを表示し得る。
【0095】
TCP/IPネットワーク108は、TCP/IPに従って通信を送信することができる任意のネットワーク、インターネット(パブリックインターネット等)、イントラネット、エクストラネット、サブネットワークまたはその組み合わせであり得る。ウェブブラウザ100およびウェブサーバ100は、標準アナログ電話回線、光ファイバまたはワイヤレスネットワークによって等、任意の方法でTCP/IPネットワーク108に接続され得る。
【0096】
周辺機器ドライバ214は、任意の方法で実装され得、周辺機器ドライバ214が、周辺機器202を操作することを可能にし、かつ、クライアントコンピュータ204のリブートおよび/またはウェブブラウザ100の再実行を要求することなく、クライアントコンピュータ204上にインストールされることができるようにする。例えば、1つの実施形態では、周辺機器ドライバ214は、クライアントコンピュータ204のリブートおよび/またはウェブブラウザ100の再実行を要求することなく、クラインアントコンピュータ204上にインストールされ得るダイナミックリンクライブラリ(DLL)のコレクションのようなMicrosoft Windows(R)オペレーティングシステム環境で、実装される。
【0097】
周辺機器ドライバサーバ222は、任意の態様で実装され得、周辺機器ドライバ214をウェブブラウザ100に提供する。例えば、周辺機器ドライバサーバ222は、所定のURLに周辺機器ドライバを格納し、それによって、ウェブブラウザ100を利用して周辺機器ドライバのURLにアクセスすることによって、特定の周辺機器でドライバを獲得するために利用され得るウェブサーバとして、実装され得る。例えば、ウェブサイト112は、所定のURLでアクセス可能な周辺機器ドライバを含み得、その場合、周辺機器ドライバサーバ222の機能は、ウェブサーバ110と関連するウェブサイト112によって提供される。
【0098】
一般的に、本明細書中で説明される方法は、n層(tier)クライアント/サーバシステムに関し、n層(tier)クライアント/サーバシステムを実装するために利用される任意の技術とともに利用され得る。例えば、R.OrfallおよびD.Harkeyによる「Client/Server Programming with Java(R) and CORBA」(ISBN 0−471−24578−X)に説明される任意の技術が利用され得る(R.OrfallおよびD.Harkeyによる「Client/Server Programming with Java(R) and CORBA」の特にpp.186〜371およびpp.849〜883)ことが理解されるべきである。
【0099】
一般的に、上述の技術は、例えば、ハードウェア、ソフトウェア、ファームウェアまたは任意のその組み合わせで実装され得る。上述の技術は、プロセッサ、プロセッサによる読み込み可能記憶媒体(例えば、揮発性および不揮発性メモリおよび/または記憶エレメント)、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスを含むプログラム可能コンピュータ上で実行する1つ以上のコンピュータプログラムで実装され得る。プログラムコードは、入力デイバスを利用してエンターされるデータに適用され得、説明された機能を実行し、かつ、出力情報を生成する。出力情報は、1つ以上の出力デバイスに提供され得る。
【0100】
本明細書中に説明されるエレメントおよびコンポーネントは、さらに、付加的なコンポーネントに分配されるか、または、同一の機能を実行するより少ないコンポーネントを形成するために共に結合される。
【0101】
各コンピュータプログラムは、アセンブリ言語、機械語、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語等の任意のプログラミング言語で実装され得る。プログラミング言語は、プログラム言語をコンパイルされるか、または、インタプリタされ得る。
【0102】
各コンピュータプログラムは、コンピュータプロセッサによって実行するために、機械読み込み可能記憶デバイスに明白に組み込まれたコンピュータプログラム製品で実装され得る。発明の方法ステップは、入力および生成される出力を操作することによって、本発明の機能を実行するために、コンピュータ読み込み可能媒体上に明白に組み込まれるプログラムを実行するコンピュータプロセッサによって、実行され得る。
【図面の簡単な説明】
【0103】
【図1】図1は、本発明の1つの実施形態に従ったコンピュータシステムのデータフロー図である。
【図2A】図2Aは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図2B】図2Bは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図2C】図2Cは、本発明の様々な実施形態に従ったコンピュータシステムのデータフロー図である。
【図3A】図3Aは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図3B】図3Bは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図3C】図3Bは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図3D】図3Dは、本発明の様々な実施形態によって実行される、情報を周辺機器からクライアントコンピュータに送信し、送信された情報をクライアントコンピュータからウェブサイトにアップロードする方法のフローチャートである。
【図4】図4は、クライアントコンピュータを再起動することなく、クライアントコンピュータに周辺機器用ドライバをインストールする、本発明の1つの実施形態に従う方法のフローチャートである。
【図5】図5は、本発明の1つの実施形態に記載の、ウェブブラウザ、周辺機器ドライバおよび周辺機器間の通信を示すデータフロー図である。

Claims (33)

  1. クライアントコンピュータに接続される周辺機器内の情報を操作するためのコンピュータで実装される方法であって、該方法は、
    (A)該クライアントコンピュータ上で実行するクライアントアプリケーション内のソフトウェアコンポーネントを実行するステップであって、該ソフトウェアコンポーネントは、複数のサーバの少なくとも1つへ出力を提供し、かつ、該複数のサーバの少なくとも1つから入力を受信することができる、ステップと、
    (B)複数のサーバの該少なくとも1つのサーバの1つのサーバから、データを受信するステップと、
    (C)該データを受信するとすぐ、該周辺機器内の該情報を操作するステップと
    を包含する、方法。
  2. (D)ステップ(B)の前に、前記サーバとのトランザクションを開始するステップであって、ステップ(B)はさらに、該トランザクションの確認を受信するステップを包含する、ステップ
    をさらに包含する、請求項1に記載の方法。
  3. (D)前記ソフトウェアコンポーネントを利用して、前記クライアントアプリケーションを再実行することなく、前記クライアントコンピュータ上で前記周辺機器を操作するために、周辺機器ドライバをインストールするステップ
    をさらに包含する、請求項1に記載の方法。
  4. (D)前記クライアントコンピュータからウェブサーバへ前記情報をアップロードするステップ
    をさらに包含する、請求項1に記載の方法。
  5. 前記ステップ(D)は、前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするために、前記ソフトウェアコンポーネントを利用するステップを包含する、請求項4に記載の方法。
  6. (D)前記クライアントコンピュータにおいて前記情報を処理するステップと、
    (E)前記クライアントコンピュータからウェブサーバへ該処理された情報をアップロードするステップと
    をさらに包含する、請求項1に記載の方法。
  7. 前記ステップ(E)は、前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするために、前記ソフトウェアコンポーネントを利用するステップを包含する、請求項6に記載の方法。
  8. (C)前記ステップ(A)を実行する前に、前記クライアントコンピュータ上に前記ソフトウェアコンポーネントをインストールするステップ
    をさらに包含する、請求項1に記載の方法。
  9. (D)前記ステップ(C)を実行した後に、前記クライアントコンピュータから前記ソフトウェアコンポーネントをアンインストールするステップ
    をさらに包含する、請求項8に記載の方法。
  10. 前記ステップ(D)は、
    (D)(1)前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを判断するステップと、
    (D)(2)該周辺機器ドライバが、該クライアントコンピュータ上に既にインストールされていないと判断される場合、前記ソフトウェアコンポーネントを利用して、該クライアントコンピュータ上に該周辺機器ドライバをインストールする、ステップと
    を包含する、請求項3に記載の方法。
  11. 前記クライアントアプリケーションは、ウェブブラウザを含む、請求項1に記載の方法。
  12. 前記ソフトウェアコンポーネントは、Java(R)appletを含む、請求項11に記載の方法。
  13. 前記ソフトウェアコンポーネントは、ActiveXコントロールを含む、請求項11に記載の方法。
  14. 前記情報は、イメージに対応する少なくとも1つのデータアイテムを含む、請求項1に記載の方法。
  15. 前記周辺機器は、デジタルイメージ取得デバイスを含む、請求項14に記載の方法。
  16. クライアントコンピュータに接続される周辺機器内の記憶コンポーネントから情報を消去するためのコンピュータで実装される方法であって、該方法は、
    (A)ウェブブラウザを再実行することなく、該クライアントコンピュータ上で実行する該ウェブブラウザにおける実行のために、ソフトウェアコンポーネントをインストールするステップであって、該ソフトウェアコンポーネントは、ウェブサーバへ出力を提供し、かつ、ウェブサーバから入力を受信する、ステップと、
    (B)該ソフトウェアコンポーネントを利用して、該ウェブブラウザを再実行することなく、該クライアントコンピュータ上の該周辺機器を操作するために、周辺機器ドライバをインストールする、ステップと、
    (C)該ウェブサーバからデータを受信するステップと、
    (D)該ウェブサーバからの該データを受信するとすぐ、該ソフトウェアコンポーネントを利用して、該周辺機器ドライバを利用することによって、該周辺機器の該記憶コンポーネントから該デジタルイメージを消去する、ステップと
    を包含する、方法。
  17. (E)ステップ(C)の前に、前記サーバにおけるサービスとのトランザクションを開始するステップ
    をさらに包含し、ステップ(C)は、該トランザクションの確認を受信するステップをさらに包含する、請求項16に記載の方法。
  18. (E)前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされたかどうかを判断するステップと、
    (F)該周辺機器ドライバが、既に該クライアントコンピュータ上にインストールされていないと判断される場合、ステップ(B)を実行するステップと
    をさらに包含する、請求項16に記載の方法。
  19. 前記情報は、イメージに対応する少なくとも1つのデータアイテムを含む、請求項16に記載の方法。
  20. 前記周辺機器は、デジタルイメージ取得デバイスを含む、請求項19に記載の方法。
  21. クライアントコンピュータに接続される周辺機器内の情報を操作するための装置であって、該装置は、
    該クライアントコンピュータ上で実行するクライアントコンピュータ内のソフトウェアコンポーネントを実行するための手段であって、該ソフトウェアコンポーネントは、複数のサーバの少なくとも1つへ出力を提供し、かつ、該複数のサーバの少なくとも1つから入力を受信することができる、手段と、
    該複数のサーバの少なくとも1つのサーバの1つのサーバから、データを受信するための手段と、
    該データを受信するとすぐ、該周辺機器内の該情報を操作するための手段と
    を備える、装置。
  22. 前記サーバとのトランザクションを開始するための手段
    をさらに備え、サーバからデータを受信するための前記手段は、該トランザクションの確認を受信するための手段をさらに備える、請求項21に記載の装置。
  23. 前記ソフトウェアコンポーネントを利用して、前記クライアントアプリケーションを再実行することなく、前記クライアントコンピュータ上の前記周辺機器を操作するために、周辺機器ドライバをインストールするための手段
    をさらに備える、請求項21に記載の装置。
  24. 前記クライアントコンピュータからウェブサーバへ前記情報をアップロードするための手段
    をさらに備える、請求項21に記載の装置。
  25. 前記クライアントコンピュータから前記ウェブサーバへ前記情報をアップロードするための前記手段は、前記ソフトウェアコンポーネントを利用して該情報をアップロードする、請求項24に記載の装置。
  26. 前記クライアントコンピュータにおいて前記情報を処理するための手段と、
    前記クライアントコンピュータからウェブサーバへの該処理された情報をアップロードするための手段と
    をさらに備える、請求項21に記載の装置。
  27. 前記クライアントコンピュータから前記ウェブサーバへ前記処理された情報をアップロードするための前記手段は、前記ソフトウェアコンポーネントを利用して前記情報をアップロードする、請求項26に記載の装置。
  28. 前記クライアントコンピュータ上に前記ソフトウェアコンポーネントをインストールするための手段
    をさらに備える、請求項21に記載の装置。
  29. 前記クライアントコンピュータから前記ソフトウェアコンポーネントをアンインストールするための手段
    をさらに備える、請求項28に記載の装置。
  30. 前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを決定するための手段
    をさらに備える、請求項23に記載の装置。
  31. クライアントコンピュータに接続される周辺機器内の記憶コンポーネントから情報を消去するための装置であって、該装置は、
    ウェブブラウザを再実行することなく、該クライアントコンピュータ上で実行する該ウェブブラウザにおける実行のために、ソフトウェアコンポーネントをインストールするための手段であって、該ソフトウェアコンポーネントは、ウェブサーバへ出力を提供し、かつ、ウェブサーバから入力を受信することができる、手段と、
    該ソフトウェアコンポーネントを利用して、該ウェブブラウザを再実行することなく、該クライアントコンピュータ上で該周辺機器を操作するために、周辺機器ドライバをインストールするための手段と、
    該ウェブサーバからデータを受信するための手段と、
    該ソフトウェアコンポーネントを利用して、該ウェブサーバから該データを受信するとすぐ、該周辺機器ドライバを利用することによって、該周辺機器内の記憶コンポーネントから該デジタルイメージを消去するための手段と
    を備える、装置。
  32. 前記サーバとのトランザクションを開始するための手段
    をさらに備え、サーバからデータを受信するための前記手段は、前記トランザクションの確認を受信するための手段を備える、請求項31に記載の装置。
  33. 前記周辺機器ドライバが、既に前記クライアントコンピュータ上にインストールされているかどうかを判断するための手段
    をさらに備える、請求項31に記載の装置。
JP2002592590A 2001-05-21 2002-05-06 ウェブベースのファイル操作システム Pending JP2004532481A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/861,792 US20020174206A1 (en) 2001-05-21 2001-05-21 Web-based file manipulating system
PCT/US2002/014200 WO2002096058A2 (en) 2001-05-21 2002-05-06 Web-based file manipulating system

Publications (2)

Publication Number Publication Date
JP2004532481A true JP2004532481A (ja) 2004-10-21
JP2004532481A5 JP2004532481A5 (ja) 2005-07-21

Family

ID=25336774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002592590A Pending JP2004532481A (ja) 2001-05-21 2002-05-06 ウェブベースのファイル操作システム

Country Status (4)

Country Link
US (1) US20020174206A1 (ja)
EP (1) EP1389390A2 (ja)
JP (1) JP2004532481A (ja)
WO (1) WO2002096058A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021201058A1 (ja) * 2020-03-31 2021-10-07 株式会社富士通ゼネラル 空気調和システム

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002079968A1 (ja) * 2001-03-30 2004-07-22 セイコーエプソン株式会社 不具合対策のためのネットワーク技術
KR100671153B1 (ko) * 2001-04-25 2007-01-17 엘지전자 주식회사 디바이스 드라이버 설치방법
US7085807B2 (en) * 2001-06-04 2006-08-01 Hewlett-Packard Development Company, L.P. System and method for providing links to available services over a local network by a thin portal service configured to access imaging data stored in a personal imaging repository
US20020184335A1 (en) * 2001-06-04 2002-12-05 Simpson Shell S. System and method for transferring selected imaging data from a digital camera
US7424509B2 (en) * 2001-06-04 2008-09-09 Hewlett-Packard Development Company, L.P. System and method for printing from a web application
US8750480B2 (en) * 2001-08-03 2014-06-10 Nokia Corporation Mobile browsing
BR0213202A (pt) * 2001-10-11 2004-08-31 Yappa Corp Sistema de exibição de imagem 3d baseado na rede
US20080320296A1 (en) * 2004-12-07 2008-12-25 Airprint Networks, Inc. Methods and systems for secure remote mobile printing
US20090000969A1 (en) * 2004-12-07 2009-01-01 Airprint Networks, Inc. Media cartridge and method for mobile printing
US7330913B1 (en) * 2002-02-11 2008-02-12 Novell, Inc. Method and apparatus for maintaining peripheral device support information
US7304758B2 (en) * 2002-03-27 2007-12-04 Sharp Laboratories Of America, Inc. Dynamically updating a printer driver
US7571221B2 (en) * 2002-04-03 2009-08-04 Hewlett-Packard Development Company, L.P. Installation of network services in an embedded network server
US7213060B2 (en) * 2002-04-23 2007-05-01 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US20040003151A1 (en) * 2002-07-01 2004-01-01 Logitech Europe S.A. Method and system for streaming transfer of data between a digital camera and a host
US20040066528A1 (en) * 2002-10-03 2004-04-08 Gregory Nutt Methods and systems for gathering device data using the internet
US20040085578A1 (en) * 2002-11-03 2004-05-06 Quek Su Mien Producing personalized photo calendar
US7493614B2 (en) * 2003-03-31 2009-02-17 Microsoft Corporation System architecture and related methods for dynamically adding software components to extend functionality of system processes
JP4307227B2 (ja) * 2003-12-03 2009-08-05 キヤノン株式会社 設定方法
JP2005242520A (ja) * 2004-02-25 2005-09-08 Ricoh Co Ltd ネットワーク通信システム、および、ネットワーク複合機
US7698415B1 (en) * 2004-10-27 2010-04-13 Sprint Communications Company L.P. Networked port-inventory system and method
US20080084578A1 (en) * 2004-12-07 2008-04-10 Airprint Networks, Inc. Quality of service methods and systems for mobile printing
US20060164676A1 (en) * 2004-12-07 2006-07-27 Airprint Networks, Inc. Subscriber service and micro-printer for remote, mobile printing
US9009265B2 (en) 2005-09-28 2015-04-14 Photobucket Corporation System and method for automatic transfer of data from one device to another
KR20080068647A (ko) * 2005-09-28 2008-07-23 온텔라, 인크. 이형, 분산 컴퓨팅 시스템에 서비스 애플리케이션 실행환경을 형성하기 위한 방법 및 시스템, 그리고 상기 서비스애플리케이션 실행 환경에서 실행하는 사용자 친화적데이터 전달 서비스 애플리케이션
US8015253B1 (en) 2005-09-28 2011-09-06 Photobucket Corporation System and method for controlling inter-device media exchanges
US9049243B2 (en) * 2005-09-28 2015-06-02 Photobucket Corporation System and method for allowing a user to opt for automatic or selectively sending of media
JP4756994B2 (ja) * 2005-10-27 2011-08-24 キヤノン株式会社 ネットワークプリントシステム及びネットワーク周辺装置及び情報処理装置とプログラム
JP4865299B2 (ja) * 2005-11-02 2012-02-01 キヤノン株式会社 情報処理装置及び情報処理方法及びそのプログラム
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
US9397944B1 (en) 2006-03-31 2016-07-19 Teradici Corporation Apparatus and method for dynamic communication scheduling of virtualized device traffic based on changing available bandwidth
US8199902B1 (en) * 2006-05-22 2012-06-12 Avaya Inc. Passing URL for XML documents via a telephone signaling system
US7886000B1 (en) 2006-06-27 2011-02-08 Confluence Commons, Inc. Aggregation system for social network sites
US8990340B1 (en) 2006-06-27 2015-03-24 Fingerprint Cards Ab Aggregation system
US9424270B1 (en) 2006-09-28 2016-08-23 Photobucket Corporation System and method for managing media files
US20080127173A1 (en) * 2006-10-18 2008-05-29 Thomas Tripp Systems and methods for performing computer diagnostics
US8095631B2 (en) 2008-04-10 2012-01-10 Eastman Kodak Company Simplified walk-up enablement of internet-based, personalized access to retail imaging devices and services
US7979565B2 (en) * 2008-08-27 2011-07-12 International Business Machines Corporation System and method to provide a network service
US8805930B2 (en) * 2009-02-24 2014-08-12 Red Hat, Inc. Managing application programming interfaces in a collaboration space
US9247007B2 (en) * 2009-04-23 2016-01-26 Disney Enterprises, Inc. System and method for providing a peripheral control interface for extending media device functions
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US9143633B2 (en) * 2010-10-12 2015-09-22 Lexmark International Technology S.A. Browser-based scanning utility
JP6349783B2 (ja) * 2014-02-28 2018-07-04 富士通株式会社 端末装置、サーバ装置、デバイスドライバプログラム及び外部周辺機器制御方法
US10387196B2 (en) 2016-04-18 2019-08-20 Imaging Advantage Llc Medical imaging distribution system and device
US11604823B2 (en) 2016-01-26 2023-03-14 Envision Healthcare Corporation Medical imaging distribution system and device
US10401975B2 (en) * 2016-01-26 2019-09-03 Imaging Advantage Llc System and method for medical imaging report input
US10474590B2 (en) * 2017-09-06 2019-11-12 Roland Corporation Storage medium storing device driver, peripheral device, and information processing system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000228740A (ja) * 1999-02-05 2000-08-15 Fuji Photo Film Co Ltd ディジタルカメラ、再生装置および生産システムならびにディジタルカメラの製造方法
JP2000253292A (ja) * 1998-12-28 2000-09-14 Fuji Photo Film Co Ltd 画像撮像装置、画像記録装置、画像撮像記録システム及び画像送受信方法
JP2000298567A (ja) * 1999-03-12 2000-10-24 Internatl Business Mach Corp <Ibm> インターネット・ベース・プリンティング
JP2000350077A (ja) * 1999-03-30 2000-12-15 Ricoh Co Ltd デジタルカメラおよびその文書撮影・転送方法
JP2000350174A (ja) * 1999-03-26 2000-12-15 Seiko Epson Corp 画像データ処理システム
WO2001001267A1 (en) * 1999-06-29 2001-01-04 Flashpoint Technology, Inc. Method and system for viewing images from an image capture device on a host computer
JP2001069384A (ja) * 1999-08-25 2001-03-16 Olympus Optical Co Ltd 電子カメラシステム
JP2001125977A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd ネットワークシステム、課金処理装置、業者処理装置、および記録媒体
JP2001128113A (ja) * 1999-10-29 2001-05-11 Fuji Photo Film Co Ltd 画像データ転送システム、電子カメラ及び通信端末

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233543B1 (en) * 1996-04-01 2001-05-15 Openconnect Systems Incorporated Server and terminal emulator for persistent connection to a legacy host system with printer emulation
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
CN1124010C (zh) * 1997-03-13 2003-10-08 国际商业机器公司 连到计算机网络上的信息站和服务器
US6353848B1 (en) * 1998-07-31 2002-03-05 Flashpoint Technology, Inc. Method and system allowing a client computer to access a portable digital image capture unit over a network
US6289371B1 (en) * 1998-09-30 2001-09-11 Hewlett-Packard Company Network scan server support method using a web browser
US6393470B1 (en) * 1998-11-13 2002-05-21 International Business Machines Corp. Non intrusive automatic remote support for freeing overloaded storage in portable devices
US6381029B1 (en) * 1998-12-23 2002-04-30 Etrauma, Llc Systems and methods for remote viewing of patient images
FR2791159B1 (fr) * 1999-03-15 2001-05-04 Bull Cp8 Procede d'acces a un objet a l'aide d'un navigateur de type "web" cooperant avec une carte a puce et architecture pour la mise en oeuvre du procede
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
US7165109B2 (en) * 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000253292A (ja) * 1998-12-28 2000-09-14 Fuji Photo Film Co Ltd 画像撮像装置、画像記録装置、画像撮像記録システム及び画像送受信方法
JP2000228740A (ja) * 1999-02-05 2000-08-15 Fuji Photo Film Co Ltd ディジタルカメラ、再生装置および生産システムならびにディジタルカメラの製造方法
JP2000298567A (ja) * 1999-03-12 2000-10-24 Internatl Business Mach Corp <Ibm> インターネット・ベース・プリンティング
JP2000350174A (ja) * 1999-03-26 2000-12-15 Seiko Epson Corp 画像データ処理システム
JP2000350077A (ja) * 1999-03-30 2000-12-15 Ricoh Co Ltd デジタルカメラおよびその文書撮影・転送方法
WO2001001267A1 (en) * 1999-06-29 2001-01-04 Flashpoint Technology, Inc. Method and system for viewing images from an image capture device on a host computer
JP2001069384A (ja) * 1999-08-25 2001-03-16 Olympus Optical Co Ltd 電子カメラシステム
JP2001125977A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd ネットワークシステム、課金処理装置、業者処理装置、および記録媒体
JP2001128113A (ja) * 1999-10-29 2001-05-11 Fuji Photo Film Co Ltd 画像データ転送システム、電子カメラ及び通信端末

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021201058A1 (ja) * 2020-03-31 2021-10-07 株式会社富士通ゼネラル 空気調和システム
JP2021162253A (ja) * 2020-03-31 2021-10-11 株式会社富士通ゼネラル 空気調和システム
JP7060032B2 (ja) 2020-03-31 2022-04-26 株式会社富士通ゼネラル 空気調和システム
AU2021248176B2 (en) * 2020-03-31 2023-12-07 Fujitsu General Limited Air conditioning system

Also Published As

Publication number Publication date
US20020174206A1 (en) 2002-11-21
WO2002096058A3 (en) 2003-06-12
EP1389390A2 (en) 2004-02-18
WO2002096058A2 (en) 2002-11-28

Similar Documents

Publication Publication Date Title
JP2004532481A (ja) ウェブベースのファイル操作システム
US8438222B2 (en) Information processing system, information processing apparatus, information processing method, and computer program
US6944859B2 (en) System and method for automatically installing data on a handheld computer
US7299422B2 (en) System and method for transferring personalization information among computer systems
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US20140289244A1 (en) Associating a file type with an application in a network storage service
KR101190426B1 (ko) 동기화 방법 및 시스템
EP2731070A1 (en) Methods and systems for open source integration
US20060047798A1 (en) System and method for automated capture, editing, replication, and deployment of server configurations
US20030119386A1 (en) Method and system for installing server-specific plug-ins
US20020109717A1 (en) Customizing a graphical user interface of a host application
EP2323034A2 (en) Information-processing device, communication system, program, and information-processing method
WO2018107719A1 (zh) 数据分享方法、装置、终端设备和服务器
JP2002500392A (ja) Htmlフォーマットを有するファイル内にデータを埋め込み、抽出し、処理する方法および装置
US20100333204A1 (en) System and method for virus resistant image transfer
WO2010150105A2 (en) System and method for virus resistant image transfer
JP2011175461A (ja) 通信システム及びサーバ及び端末装置及び通信システムの通信方法及びサーバ用プログラム及び端末用プログラム
US20080270566A1 (en) System and method of hosting or publishing of content
WO2004114142A1 (ja) ウェブ情報管理装置、ウェブ情報管理方法ならびにウェブ情報管理プログラムおよびその記録媒体
US7882171B1 (en) Automatic download provisioning
US9378217B2 (en) Method and system for managing data and a corresponding computer program and a corresponding computer-readable storage medium
WO2001029723A1 (fr) Systeme de commerce electronique
JP2005157858A (ja) ネットワークシステムおよびネットワークデバイスおよび電子証明処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2003280906A (ja) サーバシステムおよびその処理方法、サーバ
CN112989233A (zh) 文件下载方法、装置及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070417

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080801