(57)【要約】【課題】アップデート用電子メールに基づきプリントサーバソフトウェアのアップデートを行うプリントサーバシステムを提供すること。【解決手段】ネットワーク(124)を介して電子メールを受信するよう構成された電子メールオンランプ(302)を含むプリントサーバシステム(126)。該電子メールオンランプは、プリント動作を指定する受信プリント用電子メールとソフトウェアアップデートを含む受信アップデート用電子メールとを区別するよう構成される。該サーバシステムは、前記電子メールオンランプを介して受信したプリント用電子メールに基づいて文書のプリントを調整するよう構成されたプリントジョブコントローラ(202,208H)を含む。該サーバシステムは、前記電子メールオンランプを介して受信したアップデート用電子メール中のソフトウェアアップデート(138)に基づいて該サーバシステム内のソフトウェア(208)を自動的にアップデートするよう構成されたソフトウェアアップデートコントローラ(202,208E)を含む。【選択図】図４
2004362589.tif 000002
【特許請求の範囲】
【請求項１】
プリントサーバシステム(126)であって、
ネットワーク(124)を介して電子メールを受信するよう構成され、及びプリント動作を指定する受信プリント用電子メールとソフトウェアアップデートを含む受信アップデート用電子メールとを区別するよう構成された、電子メールオンランプ(302)と、
該電子メールオンランプを介して受信したプリント用電子メールに基づいて文書のプリントを調整するよう構成されたプリントジョブコントローラ(202,208H)と、
前記電子メールオンランプを介して受信したアップデート用電子メール中のソフトウェアアップデート(138)に基づいて該サーバシステム内のソフトウェア(208)を自動的にアップデートするよう構成されたソフトウェアアップデートコントローラ(202,208E)と
を含む、プリントサーバシステム(126)。
【請求項２】
前記電子メールオンランプが、受信したアップデート用電子メールの送信者が権限ある送信者であることを確認するよう構成される、請求項１に記載のプリントサーバシステム。
【請求項３】
前記電子メールオンランプが、認証動作を実行して、受信アップデート用電子メールの送信者が真正であることを確認するよう構成される、請求項２に記載のプリントサーバシステム。
【請求項４】
前記電子メールオンランプが、ソフトウェアアップデートを含む転送されたアップデート用電子メールを受信するよう構成され、該転送されたアップデート用電子メールが、第１の送信者から第２の送信者へ送信され、及び該第２の送信者から該サーバシステムへ手作業で転送されたものであり、前記ソフトウェアアップデートコントローラが、前記転送されたアップデート用電子メールに基づいて該サーバシステム内のソフトウェアを自動的にアップデートするよう構成される、請求項１に記載のプリントサーバシステム。
【請求項５】
前記電子メールオンランプが、前記第１及び第２の送信者の少なくとも一方が権限ある送信者であることを確認するよう構成される、請求項４に記載のプリントサーバシステム。
【請求項６】
前記電子メールオンランプが、認証動作を実行して、前記第１及び第２の送信者の少なくとも一方が真正であることを確認するよう構成される、請求項５に記載のプリントサーバシステム。
【請求項７】
該サーバシステム内の前記ソフトウェアが、実質的に独立した複数のソフトウェアコンポーネント(208A〜208M)を含み、前記ソフトウェアアップデートコントローラが、該プリントサーバシステムがプリント用電子メールを処理している間に前記複数のソフトウェアコンポーネントのうちの選択されたものを動的にアップデートするよう構成される、請求項１に記載のプリントサーバシステム。
【請求項８】
前記ソフトウェアアップデートコントローラが、該プリントサーバシステムがアイドル状態にあるときを識別し、該プリントサーバシステムがアイドルであると識別された場合に該サーバシステム内の前記ソフトウェアを自動的にアップデートするよう構成される、請求項１に記載のプリントサーバシステム。
【請求項９】
前記ソフトウェアアップデートコントローラが、該プリントサーバシステム内の前記ソフトウェアをアップデートした後に該プリントサーバシステムを試験するよう構成され、及び該プリントサーバシステムの前記試験が該プリントサーバシステムの動作上の問題を示す場合にソフトウェアアップデートを自動的にアンインストールするよう構成される、請求項１に記載のプリントサーバシステム。
【請求項１０】
複数のプリントサーバ(126,144A〜144C)のソフトウェア(208)をアップデートする方法であって、
複数の電子メールアドレスを含む電子メールリスト(141)を維持し、該電子メールリストの各電子メールアドレスが前記複数のプリントサーバのうちの少なくとも１つに関するものであり、
ソフトウェアアップデート(138)を添付した電子メールメッセージを前記電子メールリストの前記電子メールアドレスの各々に送信し、
該電子メールメッセージを前記プリントサーバの各々で受信し、
前記プリントサーバの各々で前記受信した電子メールメッセージが権限ある送信元からのものであることを確認し、
各プリントサーバが、前記電子メールメッセージから前記ソフトウェアアップデートを自動的に分離させ、前記電子メールメッセージが権限ある送信元からのものであることが確認された場合に前記ソフトウェアアップデートに基づいて前記プリントサーバのソフトウェアを自動的にアップデートする、
という各ステップを含む、複数のプリントサーバ(126,144A〜144C)のソフトウェア(208)をアップデートする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にプリントサーバに関し、特にアップデート用電子メールに基づくプリントサーバソフトウェアのアップデートに関するものである。
【背景技術】
【０００２】
近年、個人情報端末（PDA）、携帯電話及び／又は他の携帯電子機器等の携帯電子機器が急増してきた。例えば、現在、カリフォルニア州Palo Altoを拠点とするヒューレット・パッカード社（Hewlett-Packard Company）製のHP Jornada、カナダのOntarioを拠点とするResearch in Motion（商標）Limited製のBlackberry（商標）、並びにその他のブランドとして、個人情報端末が入手可能である。これらのモバイル機器は、モバイルカレンダー、編成機能、及びモバイルページャネットワーク又は他のモバイルネットワーク等を介して送受信される電子メールを含む、様々な機能を提供する。
【０００３】
残念なことに、これらの機器は、典型的には、その処理能力及びメモリサイズが制限されているという事実のために能力が制限される。例えば、多くのかかる機器は、平均的なパーソナルコンピュータで利用可能な多くの様々なアプリケーションを実行することができない。特に、かかる機器は、ワードプロセッサその他の広範なアプリケーションを実施することができない場合がある。プリント等の作業を行うことになると、かかる機器は、典型的には、文書をプリンタ互換形式にレンダリングするといった様々なタスクを実行することができない。
【０００４】
ヒューレット・パッカード社は、現在、モバイル・エンタープライズ・プリンティング（Mobile Enterprise Printing（MEP））製品を提供しており、これは、モバイル機器のユーザが会社のネットワーク上のプリンタにファイル、ウェブページ、及び電子メールメッセージ（添付ファイルを含む）をプリントすることを可能にする、サーバベースソフトウェアソリューションである。ヒューレット・パッカード社のMEP製品に関する情報は、インターネット（http://www.hp.com/go/mep）から入手することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ヒューレット・パッカードのMEP製品を実行するサーバ等のプリントサーバに対するソフトウェアアップデートは、通常は、コンパクトディスクで、又はウェブサイトをホストするサーバ等のサーバからダウンロードされるファイルとして、配布される。ユーザは、ウェブサイトにアクセスしてソフトウェアアップデートをダウンロードする場合には、手作業でウェブサイトにログオンし、ウェブサイトから情報を「引き出す（pull）」。ソフトウェアアップデートが取得されると、ユーザ（通常はネットワーク管理者）は、手作業で該アップデートをインストールする。ソフトウェアアップデートを適用するためには、通常は、ソフトウェアを一時的にシャットダウンすることにより、一定期間にわたりその機能を使用不能にする必要がある。更に、プリントサーバ又はその類の機器は、便利にアクセスすることができないサーバルームに配置される可能性がある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、ネットワークを介して電子メールを受信するように構成された電子メールオンランプ（onramp）を含むプリントサーバシステムを提供する。該電子メールオンランプは、プリント動作を指定する受信プリント用電子メールとソフトウェアアップデートを含む受信アップデート用電子メールとを区別するように構成される。サーバシステムは、オンランプを介して受信されたプリント用電子メールに基づいて文書のプリントを調整するように構成されたプリントジョブコントローラを含む。該サーバシステムは、オンランプを介して受信されたアップデート用電子メール中のソフトウェアアップデートに基づいてサーバシステム内のソフトウェアを自動的にアップデートするように構成されたソフトウェアアップデートコントローラを含む。
【発明を実施するための最良の形態】
【０００７】
好ましい実施形態の以下の詳細な説明では、その一部を形成し、本発明を実施することができる特定の実施形態を例として示す、図面を参照する。他の実施形態を利用してもよく、本発明の範囲から逸脱することなく、構造的又は論理的変更を行ってもよい、ということを理解しなければならない。したがって、以下の詳細な説明は限定する意味でとられるべきではなく、本発明の範囲は、特許請求の範囲によって規定される。
【０００８】
図１は、本発明の一実施形態によるモバイルプリントネットワーク100を示すブロック図である。該モバイルプリントネットワーク100は、モバイルネットワーク108、ローカルエリアネットワーク124、及びネットワーク142を含む。該モバイルネットワーク108は、ゲートウェイ114を介してローカルエリアネットワーク124に結合される。該ローカルエリアネットワーク124は、ゲートウェイ132を介してネットワーク142に結合される。モバイルネットワーク108は、例えば、当業者には一般に既知であるように、モバイル機器への無線伝送に適応するページャネットワーク又はセルラーネットワークを含んでもよい。ネットワーク142は、例えば、インターネット、広域ネットワーク、若しくはその他のネットワーク、又はかかるネットワークの組み合わせであってもよい。
【０００９】
モバイル機器102は、モバイルネットワーク108に通信可能に結合される。ローカルエリアネットワーク124には、管理者ワークステーション110と、ネットワークプリンタ116と、エクスチェンジサーバ118と、ウェブサーバ120と、ファイルサーバ122と、モバイルプリントサーバ126と、ファクシミリ（FAX）装置130とが結合される。ネットワーク142には、ソフトウェアアップデートシステム134とモバイルプリントサーバ144A〜144C（包括的にモバイルプリントサーバ144と称す）とが結合される。本発明の一実施形態では、複数のモバイルプリントサーバ144は、それぞれ別々のローカルエリアネットワークに接続されるが、例示を単純化するために単一のネットワーク142に接続されているように示す。一実施形態では、管理者ワークステーション110と、エクスチェンジサーバ118と、ウェブサーバ120と、ファイルサーバ122と、モバイルプリントサーバ126と、ソフトウェアアップデートシステム134と、モバイルプリントサーバ144とは、それらと同様の機能を有するコンピュータシステム又は機器である。
【００１０】
モバイル機器102、管理者ワークステーション110、モバイルプリントサーバ126、及びソフトウェアアップデートシステム134は、電子メールシステム104,112,128,136をそれぞれ有する。本書では、「電子メール」とは、ネットワーク108,124及び／又は142等の通信ネットワーク上でSMTP（Simple Mail Transfer Protocol）又はその類のプロトコルを使用するデータ情報交換を称するものである。一実施形態では、各モバイルプリントサーバ144は、モバイルプリントサーバ126と実質的に同様に構成され、その各モバイルプリントサーバ144もまた電子メールシステムを含むものとなる。
【００１１】
一実施形態では、モバイル機器102は、個人情報端末（PDA）、携帯電話、又はその他の同様の機器であって、一般にその内部に格納されている文書をレンダリングし及び／又はプリントする処理能力を有さず又はかかるタスクを実行するための適当なドライバ等のアプリケーションを有さない機器である。モバイルプリントネットワーク100は、モバイル機器102からの電子メールプリントを容易にするために使用される。より詳細には、モバイル機器102のユーザは、電子メールシステム104を使用して電子メールプリントメッセージを生成し、該メッセージに、プリントするための任意の文書（例えば文書106）を添付する。一実施形態では、電子メールメッセージは、モバイルプリントサーバ126に関連づけされた電子メールアドレスを使用して該メッセージの宛先が設定される。電子メールプリントメッセージには、ローカルエリアネットワーク124又はその他のネットワーク上のプリンタ（例えばネットワークプリンタ116）のプリンタ名その他の識別子が含まれる。
【００１２】
電子メールプリントメッセージは、モバイル機器102からモバイルネットワーク108に送信され、ゲートウェイ114を介してローカルエリアネットワーク124へ送信される。そこで、モバイルプリントサーバ126により、電子メールプリントメッセージが受信される。別の実施形態では、モバイルプリントサーバ126は、エクスチェンジサーバ118とインタフェースすることにより、最初に該エクスチェンジサーバ118が受信した電子メールプリントメッセージを取得してもよい。
【００１３】
モバイルプリントサーバ126は、電子メールプリントメッセージを受信すると、電子メール及びその添付文書106を、指定されたプリンタ116に適したプリント準備が完了した形式にレンダリングすることを含む、該電子メール及び添付文書106（複数可）をネットワークプリンタ116上でプリントするために必要なタスクを実行する。かかるタスクを達成するためにモバイルプリントサーバ126の一実施形態において使用される特定のステップ及び／又はロジックは、本願人の、2001年6月18日に出願し、「System and Method for Mobile Printing」と題し、及び2002年12月19日に公開番号US2002/0191210 A1として公開された、米国特許出願第09/884,594号と、2001年6月18日に出願し、「System and Method for Configuring a Printing System」と題し、及び2002年12月19日に公開番号US2002/0191211 A1として公開された、米国特許出願第09/884,598号と、2001年6月18日に出願し、「System and Method for Remote Document Retrieval」と題し、及び2002年12月19日に公開番号US2002/0194307 A1として公開された、米国特許出願第09/884,600号とに、一層詳細に記載されている。
【００１４】
電子メールプリントメッセージにおいて１つ又は２つ以上のプリンタを指定する代わりに、又はかかるプリンタを指定することに加えて、モバイル機器102のユーザはまた、電子メールプリントメッセージにおいてファクシミリ装置130を指定することが可能である。モバイルプリントサーバ126は、かかる電子メールプリントメッセージを受信すると、ファクシミリ装置130に電子メールのハードコピーとその（１つ又は２つ以上の）添付文書106とを出力するために必要なタスクを実行する。
【００１５】
モバイルプリントネットワーク100の一実施形態は、ウェブサーバ120及び／又はファイルサーバ122に格納された文書（又は他のファイル）へのリモートアクセスを、モバイル機器102のユーザに提供するものとなる。本発明の一実施形態では、ユーザは、モバイル機器102の電子メールシステム104を使用して、電子メールメッセージという形で、文書に対する要求を生成することにより、かかる文書にリモートアクセスする。一実施形態では、その要求用電子メールメッセージは、取り出すべき文書のディレクトリロケーション及びファイル名を含む。該要求用電子メールメッセージは、モバイル機器102からモバイルプリントサーバ126に送信される。モバイルプリントサーバ126は、要求用電子メールメッセージを受信すると、要求された文書をウェブサーバ120又はファイルサーバ122から取り出し、及び応答用電子メールメッセージを作成する。モバイルプリントサーバ126は、応答用電子メールメッセージに要求された文書を添付し、該応答用電子メールメッセージを添付文書と共に自動的にモバイル機器102へ送信する。
【００１６】
更に、モバイル機器102のユーザは、ウェブサーバ120又はファイルサーバ122から取り出された文書をプリントしたい場合に、モバイルプリントサーバ126に送信する要求用電子メールメッセージにおいてその文書のための宛先アドレス（例えばプリンタ識別子）を指定することが可能である。次いで、モバイルプリントサーバ126は、取り出された文書を、要求用電子メールメッセージにおいて指定されたプリンタによりプリントさせることになる。
【００１７】
本発明の一実施形態は、ソフトウェアアップデートシステム134からの電子メールにより、モバイルプリントサーバ126,144内のソフトウェアの自動アップデートを提供するものとなる。ソフトウェアアップデートシステム134のオペレータは、電子メールを介してソフトウェアアップデートを受信するように構成されたモバイルプリントサーバ126,144に関する電子メールアドレスを識別するソフトウェアアップデート電子メールリスト141を保持する。一実施形態では、該電子メールリスト141は、モバイルプリントサーバ126,144及びローカルエンタープライズ管理者の電子メールアドレスを含む。新たなソフトウェアアップデートが入手可能になると、電子メールシステム136を使用してソフトウェアアップデート用電子メールが生成され、アップデートのためのインストールパッケージ138が作成される。該インストールパッケージ138は、様々な構成（例えば、完全アップグレード、部分アップデート、パッチ等）を有することが可能である。
【００１８】
インストールパッケージ138は、ソフトウェアアップデート用電子メールに添付される。一実施形態では、インストールパッケージ138が添付されたソフトウェアアップデート用電子メールは、ソフトウェアアップデート電子メールリスト141中の各電子メールアドレスに送信される。電子メールアドレスがモバイルプリントサーバ126,144に関するものである場合には、ソフトウェアアップデート用電子メールは、それらモバイルプリントサーバ126,144に直接配信される。電子メールアドレスがローカルエンタープライズ管理者に関するものである場合には、ソフトウェアアップデート用電子メールは、該ソフトウェアアップデート用電子メールをローカルモバイルプリントサーバ126又は144へ如何に転送するかに関する命令を含むものとなる。
【００１９】
ソフトウェアアップデート用電子メールを、モバイルプリントサーバ126又は144に直接送信するのではなく、ローカルエンタープライズ管理者に送信することにより、ローカルエンタープライズ管理者は、ソフトウェアアップデートを適用可能な状態にする前に、その検討及び許可を行う機会を有することになる。例えば、ローカルエンタープライズ管理者は、管理者ワークステーション110の電子メールシステム112を使用してソフトウェアアップデート用電子メールを受信することが可能である。ソフトウェアアップデートが管理者にとって許容可能なものである場合に、管理者は、電子メールシステム112を使用してソフトウェアアップデート用電子メールを手作業でモバイルプリントサーバ126に転送し、該モバイルプリントサーバ126は、そのアップデートを自動的に適用する。
【００２０】
一実施形態では、ソフトウェアアップデート用電子メールを受信する各モバイルプリントサーバ126又は144は、認証を実行して、送信者がアップデートを実行するための許可を得ていることを保証し、送信者が許可を得ている場合には、モバイルプリントサーバ126又は144はそれ自体にインストールパッケージ138を自動的に適用し、これによりその内部のソフトウェアをアップデートする。ソフトウェアアップデート用電子メールは、ソフトウェアアップデートシステム134から直接受信することが可能であり、又はローカルエンタープライズ管理者から転送されたメッセージとすることが可能である。
【００２１】
本発明の一実施形態では、ソフトウェアアップデートシステム134は、サブスクリプション（定期購買）ベースのアップデート方式を提供し、この場合、モバイルプリントサーバ126又は144の管理者は、ソフトウェアアップデート電子メールリスト141に署名することになる。一実施形態では、ソフトウェアアップデートシステム134は、管理者が電子メールアップデートのためにサインアップすることができるようにするウェブサイト140を含む。そのサインアッププロセスの一部として、管理者は、電子メールアップデートが管理者の電子メールアドレスにメール送信され、又はモバイルプリントサーバ126又は144の電子メールアドレスに直接メール送信されるように、指定することができる。本発明の一実施形態では、ソフトウェアアップデートは、該アップデートがソフトウェアプロバイダによって利用可能となった際に、ソフトウェアアップデートシステム134による電子メールを介して自動的に展開される。
【００２２】
図２は、本発明の一実施形態による図１に示すモバイルプリントサーバ126の主要構成要素を示すブロック図である。モバイルプリントサーバ126は、プロセッサ202とメモリ204とを有し、それらは共にローカルインタフェース210に結合される。一実施形態では、ローカルインタフェース210は、当業者には一般に既知であるように制御／アドレスバスが付随するデータバスである。モバイルプリントサーバ126はまた、モバイルプリントサーバ126をローカルエリアネットワーク124（図１）に結合するネットワークインタフェースカード212も含む。
【００２３】
メモリ204に格納されてプロセッサ202により実行可能であるのは、オペレーティングシステム206及びソフトウェアコンポーネント又はサブシステム208である。オペレーティングシステム206は、例えば、モバイルプリントサーバ126においてハードウェアリソースの割り当て及び使用を制御するために実行される。特に、オペレーティングシステム206は、メモリ204の様々な部分、処理時間、及び周辺機器の割り当て及び使用を制御し、またその他の機能を実行する。このように、オペレーティングシステム206は、当業者には一般に既知であるようにアプリケーションが依存することになる基盤として働くものである。ソフトウェアコンポーネント208について図３を参照して以下で一層詳細に説明する。
【００２４】
メモリ204は、揮発性メモリ構成要素及び不揮発性メモリ構成要素の両者を含むことが可能である。揮発性構成要素は、電源の喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源の喪失時にデータを保持するものである。このため、メモリ204は、例えば、ランダムアクセスメモリ（RAM）、リードオンリメモリ（ROM）、ハードディスクドライブ、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、コンパクトディスクドライブを介してアクセスされるコンパクトディスク、適当なテープドライブを介してアクセスされる磁気テープ、及び／又はその他のメモリ構成要素、又はこれらのメモリ構成要素のうちの任意の２つ又は３つ以上の組み合わせから構成することが可能である。更に、RAMは、例えば、スタティックランダムアクセスメモリ（SRAM）、ダイナミックランダムアクセスメモリ（DRAM）、又は磁気ランダムアクセスメモリ（MRAM）、及び他のかかるデバイスから構成することが可能である。ROMは、例えば、プログラマブルリードオンリメモリ（PROM）、消去可能プログラマブルリードオンリメモリ（EPROM）、電気的消去可能プログラマブルリードオンリメモリ（EEPROM）、又はその他の同様のメモリデバイスから構成することが可能である。
【００２５】
図３は、本発明の一実施形態による図１に示すモバイルプリントサーバ126のソフトウェアコンポーネント208A〜208M（包括的にソフトウェアコンポーネント又はサブシステム208と称す）を示すブロック図である。該ソフトウェアコンポーネント208は、ウェブコンテンツ取出構成要素208Aと、電子メールコンテンツ取出構成要素208Bと、ファイルサーバコンテンツ取出構成要素208Cと、SMTP構成要素208Dと、ブートストラップサービス構成要素（ソフトウェアアップデートコントローラ）208Eと、ユーザ偽装（impersonation）構成要素208Fと、拡張(enhanced)SMTP構成要素208Gと、ジョブコントロール構成要素208Hと、コンテンツ変換構成要素208Iと、プリンタオフランプ（offramp）構成要素208Jと、ドライバ管理構成要素208Kと、FAXオフランプ構成要素208Lと、レジストリ構成要素208Mとを含む。一実施形態では、構成要素208は、Java（登録商標）プログラミング言語で書かれたJava（登録商標）コンポーネントである。
【００２６】
構成要素208A,208B,208C,208D,208G,208J,208Lは、モバイルプリントサーバ126の外部の機器と通信するための外部インタフェースを有する。SMTP構成要素208D及び拡張SMTP構成要素208Gは、ローカルエリアネットワーク124から電子メールを受信し、受信した電子メールを処理し、その後その電子メールを他のソフトウェアコンポーネント208に渡す。拡張SMTP構成要素208Gは、SMTP構成要素208Gがサポートしないプリントオプションに対するサポートを提供する。本書では、SMTP構成要素208D及び拡張SMTP構成要素208Gを包括的に電子メールオンランプ（onramp）302と称す。
【００２７】
受信した各電子メール毎に、電子メールオンランプ302は、該電子メールがプリント（又はFAX）ジョブを指定するプリント用電子メールであるか否か、又は該電子メールがソフトウェアアップデート用電子メールであるか否かを識別する。電子メールオンランプ302は、プリント用電子メールをジョブ制御構成要素208Hに転送し、ソフトウェアアップデート用電子メールをブートストラップサービス構成要素208Eに転送する。
【００２８】
ウェブコンテンツ取出構成要素208Aは、ウェブサーバ120（図１）又はその他のウェブサーバと通信して、ウェブサーバ120からコンテンツを取り出す。電子メールコンテンツ取出構成要素208Bは、エクスチェンジサーバ118（図１）又はドミノサーバと通信して、電子メールメッセージを取り出す。ファイルサーバコンテンツ取出構成要素208Cは、ファイルサーバ122（図１）と通信して、該ファイルサーバ122からファイルを取り出す。
【００２９】
ユーザ偽装構成要素208Fは、ユーザ識別データ（例えばユーザ名及びパスワード）を、電子メールコンテンツ取出構成要素208Bとファイルサーバコンテンツ取出構成要素208Cとに提供する。該ユーザ識別データは、それら構成要素208B,208Cがモバイル機器102（図１）のユーザを偽装して該ユーザが要求したデータを取り出すために必要となる場合がある。一実施形態では、ユーザは、モバイルプリントサーバ126に送信された電子メールプリントメッセージ中に自分自身のユーザ識別データを指定する。
【００３０】
ジョブ制御構成要素208Hは、プリントジョブを管理する責務を有し、受信した電子メールプリントメッセージが適当な構成要素208にルーティングされること、及びプリントジョブが適切に完了すること、を確実にするのを助ける。コンテンツ変換構成要素208Iは、入力ファイルタイプを有する文書を出力ファイルタイプを有するファイルにする。一実施形態では、入力ファイルタイプは、Microsoft Office97/2000/XP（Word、Powerpoint、Excel）、HTML、PDF及びグラフィックス（例えば、JPG、GIF、BMP等）、及びその他のファイルタイプを含み、出力ファイルタイプは、Postscript、プリンタ制御言語（PCL）、FAX用のG4 TIFF、及びその他のプリント準備完了形式を含む。モバイルプリントサーバ126が、ユーザにより指定されたプリンタ用のドライバを有していない場合には、ドライバ管理構成要素208Kが呼び出されて、指定されたプリンタ用のドライバが取り出される。
【００３１】
プリンタオフランプ構成要素208Jは、モバイル機器102のユーザにより指定されたプリンタと通信して、そのプリンタにプリント準備完了データを送信する。プリンタオフランプ構成要素208Jはまた、プリントプロセス中に発生するあらゆるエラーを追跡し、それらエラーをモバイル機器102のユーザに返すよう通信する。FAXオフランプ構成要素208Lは、モバイル機器102のユーザにより指定されたFAX装置と通信して、プリント準備完了データ（例えばG4 TIFF）をFAX装置に送信する。
【００３２】
一実施形態では、電子メールオンランプ302は、ブートストラップサービス構成要素208Eにソフトウェアアップデート用電子メールを提供する前に、送信者の権限確認と送信者の認証動作とを実行する。一実施形態では、電子メールオンランプ302は、受信した電子メールがソフトウェアアップデート用電子メールであることを識別した後に、電子メールメッセージの「from」フィールドを確認してその電子メールの送信者を識別し、識別した送信者を、ソフトウェアアップデートを提供する権限が与えられているエンティティのリストと比較し、その電子メールメッセージが権限のあるエンティティによって送信されたか否かを判定する。本発明の一実施形態では、電子メールオンランプ302はまた、認証ルーチンを実行して、ソフトウェアアップデート用電子メールを送信したエンティティが真正である（すなわち、送信者が、自身が表明するまさにその人である）ことを確実にする。
【００３３】
本発明の一実施形態では、電子メールオンランプ302は、信頼できるエンティティからの署名付きソフトウェアアップデート用電子メールメッセージしか受信しないように構成される。一実施形態では、電子メールオンランプ302は、電子メールメッセージの署名及び認証を行うための公的な規格である、S/MIME（Secure Multipart Internet Mail Extensions）を使用する。別の実施形態では、サーバ証明書、又は公開及び秘密暗号鍵を使用する暗号化署名といった、別の認証方式を使用する。本発明の一実施形態では、電子メールオンランプ302は、以下の４つの規則のうちの１つに基づいてソフトウェアアップデート用電子メールを受容するよう構成される。（1）ローカルエンタープライズ管理者により署名されたソフトウェアアップデート用電子メールのみを受容する、（2）サービスソフトウェアプロバイダにより署名されたソフトウェアアップデート用電子メールのみを受容する、（3）ローカルエンタープライズ管理者及びサービスソフトウェアプロバイダの両者により署名されたソフトウェアアップデート用電子メールのみを受容する、又は（4）ローカルエンタープライズ管理者又はサービスソフトウェアプロバイダの何れかにより署名されたソフトウェアアップデート用電子メールのみを受容する。別の実施形態では、電子メールオンランプ302はまた、１つ又は２つ以上の権限のあるサードパーティソフトウェアプロバイダからのソフトウェアアップデート用電子メールを受容するよう構成される。例えば、サードパーティソフトウェアプロバイダが、モバイルプリントサーバ126に追加の機能を提供するソフトウェアアドオンを開発する可能性がある。サードパーティプロバイダは、かかる開発を行う権限を有している場合には、１つ又は２つ以上のモバイルプリントサーバ126にアドオンを送信することができ、該モバイルプリントサーバ126は、該アドオンを自動的にインストールすることになる。
【００３４】
電子メールオンランプ302は、ソフトウェアアップデート用電子メールの送信者がかかる電子メールを送信する権限を有していること、及びその送信者が真正であることを判定した場合に、そのソフトウェアアップデート用電子メールをブートストラップサービス構成要素208Eに転送する。電子メールオンランプ302は、ソフトウェアアップデート用電子メールの送信者が権限を有しておらず又は真正でないと判定した場合には、受信したソフトウェアアップデート用電子メールを破棄する。
【００３５】
ブートストラップサービス構成要素208Eは、受信したソフトウェアアップデート用電子メールからインストールパッケージ138を抽出し、そのインストールパッケージ138を適用する最良の方法を決定する。一実施形態では、各インストールパッケージ138は、一組の圧縮された（例えばzip圧縮された）ファイル及びインストール情報ファイルを含む。該インストール情報ファイルは、ソフトウェアアップデートの実行態様（アップデートをインストールするために停止する必要のある構成要素208を含む）、ファイルを解凍すべき場所、及びシステムにコンポーネントを登録し又はバインドする態様に関する情報を含む。インストールパッケージ138内のファイルは、完全な一組のプリンタサーバソフトウェアコンポーネント208とすることが可能であり、又はソフトウェアコンポーネント208の全てのサブセットとすることが可能である。
【００３６】
一実施形態では、ブートストラップサービス構成要素208Eは、インストールパッケージ138中の圧縮ファイルを解凍し、アップデート中に保存する必要のあるあらゆる設定データを抽出して保存し、解凍されたファイルをインストール情報ファイル中の命令に従ってインストールし、保存された設定データに基づいてインストールされたソフトウェアをアップデートする。ブートストラップサービス構成要素208Eは、ソフトウェアインストールパッケージ138を適用するにあたりサーバ126を安全な状態にするように構成される。ブートストラップサービス構成要素208Eは、モバイルプリントサーバ126がプリントジョブの処理を続行している間に、受信したインストールパッケージ138を動的に適用することができると判定した場合に、サーバ126がプリントジョブを処理している間にインストールパッケージ138を直ちに適用する。ブートストラップサービス構成要素208Eは、インストールパッケージ138を適用するために他の構成要素208のうちの１つ又は２つ以上を停止する必要があると判定した場合、かかる他の構成要素208を置換し又はパッチする前に、該構成要素208を適切に停止させる。
【００３７】
一実施形態では、ブートストラップサービス構成要素208Eは、インストールパッケージ138を動的に（すなわちサーバ126がプリントジョブを処理している間に）適用することができないと判定した場合に、モバイルプリントサーバ126がアイドル状態にある（すなわち現在プリントジョブを処理していない）ときを識別する。次いで、ブートストラップサービス構成要素208Eは、アイドル期間中に他のソフトウェアコンポーネント208を停止し、インストールパッケージ138を適用し、その後新たな及び／又はアップデートされたソフトウェアコンポーネント208を実行する。ブートストラップサービス構成要素208Eは、他の構成要素208から分離しており、このため、該構成要素208Eが、他の構成要素208の全てと、単一の構成要素208を含む他の構成要素208のサブセットとを停止させること、又は個々のクラスファイル、ダイナミックリンクライブラリ（DLL）、若しくはその他の小さな単位の（fine-grained）ソフトウェアコンポーネントを選択的に置換することが可能となる。
【００３８】
一実施形態では、ソフトウェアコンポーネント208は、実質的に互いに独立しているため、システム全体をシャットダウンさせる必要なく、個々のソフトウェアコンポーネント208又はソフトウェアコンポーネント208のサブセットを選択的に停止させて１つ又は２つ以上のアップデートされたソフトウェアコンポーネント208に置換することが可能となる。
【００３９】
ソフトウェアアップデートをインストールした後、全ての新たな又はアップデートされたソフトウェアコンポーネント208がレジストリ構成要素208Mに登録される。レジストリ構成要素208Mは、サーバ126内の他のソフトウェアコンポーネント208の全てを追跡する。作動しており実行中の各個々のソフトウェアコンポーネント208は、それ自体をレジストリ構成要素208Mに登録する。２つの構成要素208が互いに通信する必要がある場合には、レジストリ構成要素208Mは、これらの構成要素208に、互いに通信するための適当なインタフェースを提供する。新たな又はアップデートされたソフトウェアコンポーネント208がレジストリ構成要素208Mに登録された後、サーバ126内の他のソフトウェアコンポーネント208は、新たにインストールされた構成要素を見つけてそれらと通信することが可能である。
【００４０】
本発明の別の実施形態では、ソフトウェアアップデートシステム134は、既存のインストールエンジンを利用してモバイルプリントサーバ126のためのソフトウェアアップデートをインストールする。この実施形態では、インストールパッケージ138は、インストールエンジンを含み、又はオペレーティングシステム206（図２）の一部をなすインストールエンジンに対する命令を含む、実行可能ファイルである。一実施形態では、使用することが可能なかかる既存のインストールエンジンには、InstallShield（登録商標）、Wise（登録商標）、及びMSI Script（商標）が含まれる。既存のインストールエンジンを使用してソフトウェアアップデートを容易化する場合、一実施形態ではブートストラップサービス構成要素208Eが呼び出されて、インストールエンジンがソフトウェアアップデートをインストールするために停止する必要のある構成要素208を停止させるのを支援する。
【００４１】
一実施形態では、ブートストラップサービス構成要素208Eは、ソフトウェアアップデートをインストールした後、基本機能試験（すなわち「スモークテスト」）を開始して、システムの基本機能を試験する。一実施形態では、モバイルプリントサーバ126は、システムの機能を試験するために呼び出すことができる一式の試験を含む。置換されたソフトウェアコンポーネント208及びインストール命令は、ソフトウェアアップデートの後に保存され、これにより、基本機能試験が問題を示した場合に、ブートストラップサービス構成要素208Eがソフトウェアアップデートを「ロールバック」させてシステムをアップデート前の状態に戻すことが可能となる。
【００４２】
図４は、本発明の一実施形態による図１に示すモバイルプリントサーバ126のソフトウェアコンポーネント208をアップデートする方法400を示すフローチャートである。一実施形態では、モバイルプリントサーバ126は該方法400を実行するよう構成される。
【００４３】
ステップ402で、モバイルプリントサーバ126の電子メールオンランプ302（図３）が電子メールを受信する。電子メールオンランプ302は、ステップ404で、受信した電子メールがソフトウェアアップデート用電子メールであるか否かを判定する。電子メールオンランプ302は、受信した電子メールがソフトウェアアップデート用電子メールではないと判定した場合、方法400はステップ432に進む（これは方法400が終了したことを示している）。
【００４４】
電子メールオンランプ302は、ステップ404で、受信した電子メールがソフトウェアアップデート用電子メールであると判定した場合、次にステップ406で、受信した電子メールが、例えばローカルエンタープライズ管理者により転送された転送メールであるか否かを判定する。受信した電子メールが転送メールでない場合、方法400はステップ410（後述する）に進む。電子メールオンランプ302は、ステップ406で、受信した電子メールが転送電子メールであると判定した場合、次にステップ408で、ソフトウェアアップデート用電子メールを転送したエンティティが権限のある送信者であるか否か、及び送信者が真正であるか否かを判定する。電子メールオンランプ302は、電子メールを転送した送信者が権限を有さず又は真正でないと判定した場合、その受信した電子メールを破棄し、方法はステップ432に進む（これは方法400が終了したことを示す）。電子メールオンランプ302は、ステップ408で、電子メールを転送した送信者が権限を有しており及び真正であると判定した場合、方法はステップ410に進む。
【００４５】
ステップ410で、電子メールオンランプ302は、最初にソフトウェアアップデート用電子メールを送信したエンティティが権限のある送信者であるか否か、及び送信者が真正であるか否かを判定する。電子メールオンランプ302は、元の送信者が権限を有さず又は真正でないと判定した場合に、受信した電子メールを破棄し、方法はステップ432に進む（これは方法400が完了したことを示す）。電子メールオンランプ302は、ステップ410で、元の送信者が権限を有し及び真正であると判定した場合、方法はステップ412に進む。
【００４６】
ステップ412で、受信したソフトウェアアップデート用電子メールを、ブートストラップサービス構成要素208E（図３）に転送し、ブートストラップサービス構成要素208Eは、その電子メールからインストールパッケージ138を抽出する。ステップ414で、ブートストラップサービス構成要素208Eは、インストールパッケージ138の内容に基づき、アップデートされるべきソフトウェアコンポーネント208を識別する。
【００４７】
ステップ420で、ブートストラップサービス構成要素208Eは、ソフトウェアアップデートを動的に（すなわちモバイルプリントサーバ126がプリントジョブを処理している間に）適用することができるか否かを判定する。ソフトウェアアップデートを動的に適用することができる場合、方法400はステップ422（後述する）に進む。ブートストラップサービス構成要素208Eは、ステップ420で、ソフトウェアアップデートを動的に適用することができないと判定した場合、次にステップ418で、モバイルプリントサーバ126がアイドル（すなわち現在如何なるプリントジョブも処理していない）状態にあるか否かを判定する。モバイルプリントサーバ126がアイドル状態にある場合、方法はステップ422に進む。ブートストラップサービス構成要素208Eは、ステップ418で、モバイルプリントサーバ126がアイドル状態にないと判定した場合、ステップ416で所定期間待機し、方法はステップ418に戻る。このように、ブートストラップサービス構成要素208Eは、ステップ418からステップ422に進む前に、モバイルプリントサーバ126がアイドルになるまで待機する。
【００４８】
ステップ422で、ブートストラップサービス構成要素208Eは、ステップ414で識別された、置換され又はアップデートされるソフトウェアコンポーネント208を適切に停止させる。ステップ424で、ブートストラップサービス構成要素208Eは、インストールパッケージ138をインストールし、これにより他のソフトウェアコンポーネント208のうちの１つ又は２つ以上を置換し又はアップデートする。
【００４９】
ステップ426で、ソフトウェアアップデートのインストールが実行された後、ブートストラップサービス構成要素208Eは、モバイルプリントサーバ126の機能を試験する。ステップ430で、ブートストラップサービス構成要素208Eは、機能試験の結果を調べて、モバイルプリントサーバ126が正常に機能しているか否か、又はサーバ126の動作に問題があるか否かを判定する。ステップ430で、ソフトウェアが新たにインストールされた状態でモバイルプリントサーバ126が正常に動作していると判定された場合、ステップ432に示すように方法400は終了する。ソフトウェアが新たにインストールされた状態で動作しているモバイルプリントサーバ126に問題がある場合には、ステップ428で、ブートストラップサービス構成要素208Eが、ソフトウェアアップデートをアンインストールして、方法400がステップ432に進む（これは方法400が終了したことを示す）。
【００５０】
当業者には、ソフトウェアアップデートシステム134及びモバイルプリントサーバ126によって実行される機能を、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実施することが可能である、ということが理解されよう。実施態様は、マイクロプロセッサ、プログラマブルロジックデバイス、又は状態機械を介したものとすることが可能である。本発明の構成要素は、コンピュータにより読み取ることが可能な１つ又は２つ以上の媒体上のソフトウェア内に存在することが可能である。本書で使用する「コンピュータにより読み取ることが可能な媒体」なる用語は、フロッピーディスク、ハードディスク、CD−ROM、フラッシュメモリ、リードオンリメモリ（ROM）、及びランダムアクセスメモリといった、揮発性又は不揮発性のあらゆる種類のメモリを含むものとして定義される。
【００５１】
本発明の一実施形態は、プリントジョブを受信するだけでなくサーバによって自動的に確認されて適用されるソフトウェアアップデートも受信する電子メールオンランプを含む、拡張モバイルプリントサーバを提供する。本発明の一実施形態において行うように、電子メールを使用してソフトウェアアップデートを適用することにより、モバイルプリントサーバは、現在使用中でない場合等、都合のよい時に、ソフトウェアアップデートを適用することができる。一実施形態では、あらゆる電子メールクライアントからモバイルプリントサーバへソフトウェアアップデートを実施することができ、これにより、かかるプロセスがより便利なものとなる。本発明の一実施形態による電子メールを介してサーバパッチを引き渡すことができる能力により、顧客のソフトウェアが最新であることを保証する便利な機構が提供されることになる。
【００５２】
本発明の一実施形態において行うように、電子メールを介してソフトウェアアップデートを引き渡す能力は、価値のあるサービスツールであり、これをカスタマーコールセンタが使用して顧客をサポートし顧客が最新コードに基づいていることを保証することが可能である。カスタマーコールセンタは、最新のソフトウェアアップデートの全てにアクセスすることができる。顧客が問題があってセンターに電話した場合に、サービス担当者は、顧客の機器をソフトウェアのより新しいバージョンにアップグレードした場合に当該問題を解決することができると識別する場合がある。顧客の許可を得て、サービス担当者は、顧客のマシンにソフトウェアアップデートを電子メール送信し、顧客のマシンはそのアップデートを自動的に適用する。このように、サービス担当者は、顧客に対し、特定のアップデートのダウンロードの仕方や該アップデートをインストールするために必要なステップを説明する必要がない。本発明の一実施形態では、ソフトウェアアップデートを、顧客がソフトウェアプロバイダからアップデートを「プルする」（例えば、ウェブサイトからアップデートをダウンロードする）必要なしに、アップデートが利用可能となった場合に、電子メールを介して顧客に「プッシュする（push）」ものとなる。
【００５３】
本書では、好ましい実施形態を説明する目的で、特定の実施形態を例示し説明したが、当業者には、本発明の範囲から逸脱することなく図示し説明した特定の実施形態に対して多種多様の代替及び／又は等価な実施態様を置き換えることが可能である、ということが理解されよう。機械、電気機械、電気及びコンピュータ技術分野における当業者は、本発明を、非常に多種多様の実施形態で実施することが可能である、ということを容易に理解するであろう。この出願は、本書で論考した好ましい実施形態のいかなる適応又は変形をも包含することが意図されている。したがって、この発明は、特許請求の範囲とその等価物とによってのみ限定される、ということが明示的に意図されている。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態によるモバイルプリントネットワークを示すブロック図である。
【図２】本発明の一実施形態による図１に示すモバイルプリントサーバの主要構成要素を示すブロック図である。
【図３】本発明の一実施形態による図１に示すモバイルプリントサーバのソフトウェアコンポーネントを示すブロック図である。
【図４】本発明の一実施形態による図１に示すモバイルプリントサーバのソフトウェアコンポーネントをアップデートする方法を示すフローチャートである。
【符号の説明】
【００５５】
100    モバイルプリントネットワーク
102    モバイル機器
104,112,128,136    電子メールシステム
108    モバイルネットワーク
110    管理者ワークステーション
114    ゲートウェイ
116    ネットワークプリンタ
118    エクスチェンジサーバ
120    ウェブサーバ
122    ファイルサーバ
124    ローカルエリアネットワーク
126    モバイルプリントサーバ
130    ファクシミリ（FAX）装置
132    ゲートウェイ
134    ソフトウェアアップデートシステム
142    ネットワーク
144A〜144C    モバイルプリントサーバ
【図１】
2004362589.tif 000003
【図２】
2004362589.tif 000004
【図３】
2004362589.tif 000005
【図４】
2004362589.tif 000006