(57)【要約】さまざまな種類のコンピュータ・ネットワーク上で印刷、ファックス送信、電子メールなどの出力を管理するシステムと方法。一態様では、このシステムと方法により、ファイヤウォールの背後にあるプライベート・ネットワークに置かれている印刷および／またはドキュメントのリソースにアクセスすることができる（６１、６２、６３、６４）。ファイヤウォールの向こう側に配置されているシステム・コンポーネントの間にパススルー通信リンクを確立する。システムが備えるユーザ・インターフェイスを使用することで、ソース・データとこのソース・データを印刷する出力デバイスを選択することができ、そのいずれかまたは両方がファイヤウォールの背後にあってもよい。その後、ソース・データを検索して、ソース・データと選択された出力デバイス（Ｄ１）に応じて出力イメージ・データを描画する印刷サービス（ＰＳ１）に転送する。次に、出力イメージ・データは出力デバイスにサブミットされ、物理的に描画される。プライベート・リソースへのアクセスは、パススルー通信リンクで実現される。さらに、このシステムでは、ドキュメントを参照により印刷することもできる。
2005523489.tif 000002
【特許請求の範囲】
【請求項１】
ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントとファイヤウォールの外側にある出力管理システム・コンポーネントとの間の、ファイヤウォールを通過するパススルー通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザ・インターフェイスを介して印刷するソース・データをユーザが選択できるようにすることと、
ソース・データの印刷先のプライベート・ネットワーク上の出力デバイスをユーザが選択できるようにすることと、
ストアからソース・データを検索することと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
ファイヤウォールの外側にある出力管理システム・コンポーネントから出力イメージ・データをファイヤウォールの背後に配置されている出力管理システム・コンポーネントに送信することと、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントから出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。
【請求項２】
ファイヤウォールの外側および背後に配置されている各出力管理システム・コンポーネントは、出力管理システム内の他のコンポーネント管理機能を備えるメッセージ・センター・コンポーネントを含む請求項１に記載の方法。
【請求項３】
さらに、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントを介してアクセスできるファイヤウォールの背後に配置されている１つまたは複数の出力デバイスを識別するパススルー通信リンクを使用し、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントからデータをファイヤウォールの外側にある出力管理システム・コンポーネントに送信することを含む請求項１に記載の方法。
【請求項４】
ファイヤウォールの外側に配置されている出力管理システム・コンポーネントがサーバ・コンポーネントを含み、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントはクライアント・コンポーネントを含む請求項１に記載の方法。
【請求項５】
パススルー通信のリンクは、仮想プライベート・ネットワーク（ＶＰＮ）リンクを含む請求項１に記載の方法。
【請求項６】
発信元デバイスはＷｅｂ対応無線デバイスを含む請求項１に記載の方法。
【請求項７】
発信元デバイスはＢｌｕｅｔｏｏｔｈ対応デバイスを含む請求項１に記載の方法。
【請求項８】
ストアは発信元デバイス上のローカル・ストアを含む請求項１に記載の方法。
【請求項９】
ストアは、無線デバイスから遠い場所に配置されているリモート・ストアを含む請求項１に記載の方法。
【請求項１０】
リモート・ストアはプライベート・ネットワーク上に配置されている請求項９に記載の方法。
【請求項１１】
印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
プリント・サーバを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションと
を実行することにより出力イメージ・データを生成する請求項１に記載の方法。
【請求項１２】
さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項１に記載の方法。
【請求項１３】
ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントとファイヤウォールの外側にある出力管理システム・コンポーネントとの間の、ファイヤウォールを通過するパススルー通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザがユーザ・インターフェイスを介して印刷するソース・データを選択できるようにすることと、
ユーザがソース・データの印刷先のプライベート・ネットワーク上の出力デバイスを選択できるようにすることと、
ファイヤウォールの外側に配置されている出力管理システム・コンポーネントからソース・データまたはそのデータへの参照をファイヤウォールの背後に配置されている出力管理システム・コンポーネントに転送することと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。
【請求項１４】
ファイヤウォールの外側および背後に配置されている各出力管理システム・コンポーネントは、出力管理システム内の他のコンポーネント管理機能を備えるメッセージ・センター・コンポーネントを含む請求項１３に記載の方法。
【請求項１５】
さらに、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントを介してアクセスできるファイヤウォールの背後に配置されている１つまたは複数の出力デバイスを識別するパススルー通信リンクを使用し、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントからデータをファイヤウォールの外側にある出力管理システム・コンポーネントに送信することを含む請求項１３に記載の方法。
【請求項１６】
ファイヤウォールの内側に配置されている出力管理システム・コンポーネントがサーバ・コンポーネントを含み、出力イメージ・データを出力デバイスにサブミットすることが出力イメージ・データをクライアントに供給することを含み、出力イメージ・データを受信したことに対する応答として、クライアントは出力イメージ・データを描画のため出力イメージ・デバイスにサブミットする請求項１３に記載の方法。
【請求項１７】
発信元デバイスはＷｅｂ対応無線デバイスを含む請求項１３に記載の方法。
【請求項１８】
発信元デバイスはＢｌｕｅｔｏｏｔｈ対応デバイスを含む請求項１３に記載の方法。
【請求項１９】
ソース・データには発信元デバイス上に格納されているドキュメントが含まれ、さらに、ファイヤウォールの外側にある出力管理システム・コンポーネントで発信元デバイスからのソース・データを受信することを含む請求項１３に記載の方法。
【請求項２０】
ソース・データは、リモート・ストアに格納され、さらにリモート・ストアからソース・データを検索することを含む請求項１３に記載の方法。
【請求項２１】
リモート・ストアは、プライベート・ネットワーク上に配置されており、ソース・データは、ソース・データへの参照により識別された場所から検索される請求項２０に記載の方法。
【請求項２２】
さらに、ユーザ・インターフェイスを介してジョブ・ステータス情報をユーザに提供することを含む請求項１３に記載の方法。
【請求項２３】
印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
プリント・サーバを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションを実行することにより出力イメージ・データを生成する請求項１３に記載の方法。
【請求項２４】
さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項１３に記載の方法。
【請求項２５】
ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
発信元デバイスとファイヤウォールの背後に配置されている出力管理システム・コンポーネントとの間の、ファイヤウォールを通過する仮想プライベート・ネットワーク（ＶＰＮ）トンネルを備える通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザがユーザ・インターフェイスを介して印刷するソース・データを選択できるようにすることと、
ユーザがソース・データの印刷先のプライベート・ネットワーク上の出力デバイスを選択できるようにすることと、
ＶＰＮトンネルを介して発信元デバイスからソース・データまたはそのデータの参照をファイヤウォールの背後に配置されている出力管理システム・コンポーネントに転送することと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。
【請求項２６】
ユーザ・インターフェイスは、複数の対話型Ｗｅｂページを備え、ＶＰＮトンネルは、ファイヤウォールに配置されているＶＰＮスイッチと組み合わせてファイヤウォールの外側に配置されている共通ゲートウェイ・インターフェイス（ＣＧＩ）ＶＰＮプロキシにより円滑に使用できる請求項２５に記載の方法。
【請求項２７】
発信元デバイスは、ＶＰＮ対応デバイスを備え、ＶＰＮトンネルは、そのＶＰＮ対応デバイスとファイヤウォールに配置されているＶＰＮスイッチ上で実行されるクライアント・サイド・コンポーネントにより円滑に使用できる請求項２５に記載の方法。
【請求項２８】
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントは、サーバ・コンポーネントを含み、出力イメージ・データを出力デバイスにサブミットすることは、出力イメージ・データをクライアントに供給することを含み、出力イメージ・データを受信したことに対する応答として、クライアントは出力イメージ・データを描画のため出力イメージ・デバイスにサブミットする請求項２５に記載の方法。
【請求項２９】
発信元デバイスはＷｅｂ対応無線デバイスを含む請求項２５に記載の方法。
【請求項３０】
発信元デバイスはＢｌｕｅｔｏｏｔｈ対応デバイスを含む請求項２５に記載の方法。
【請求項３１】
ソース・データには発信元デバイス上に格納されているドキュメントが含まれ、さらに、ファイヤウォールの背後にある出力管理システム・コンポーネントでＶＰＮトンネルを介して発信元デバイスからソース・データを受信することを含む請求項２５に記載の方法。
【請求項３２】
ソース・データは、リモート・ストアに格納され、さらにリモート・ストアからソース・データを検索することを含む請求項３１に記載の方法。
【請求項３３】
リモート・ストアがプライベート・ネットワーク上に配置されており、ソース・データがソース・データの参照により識別された場所から検索される請求項３２に記載の方法。
【請求項３４】
さらに、ユーザ・インターフェイスを介してジョブ・ステータス情報をユーザに提供することを含む請求項２５に記載の方法。
【請求項３５】
印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
プリント・サーバを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションを実行することにより出力イメージ・データを生成する請求項２５に記載の方法。
【請求項３６】
さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項２５に記載の方法。
【請求項３７】
ファイヤウォールの外側に配置されている発信元デバイスからファイヤウォールの背後に配備されているプライベート・ネットワークに接続されている送り先出力デバイスで印刷を可能にする出力管理システムであって、
入力ソース・データおよび送り先出力デバイスに対応する出力イメージ・データを生成する印刷サービスと、
ファイヤウォールの外側に配置された、印刷サービスと通信するようにリンクされているメッセージ・センターであって、
描画可能データを供給し、これによりユーザ・インターフェイス（ＵＩ）をＷｅｂサーバ・コンポーネントと通信して動作するようにリンクされている発信元デバイス上に描画し、ユーザが描画するソース・データを選択して、送り先出力デバイス上にソース・データを描画するジョブ要求をサブミットできるようにするＷｅｂサーバ・コンポーネントと、
プライベート・ネットワーク上に配備され、ファイヤウォールを通るリンクを介してメッセージ・センターと通信するようにリンクされているクライアント・サイド・コンポーネントとを含むメッセージ・センターを備え、
メッセージ・センターはさらに、Ｗｅｂサーバ・コンポーネントから受信したジョブ要求を管理し、その受信に対する応答として、
選択したソース・データまたはそのデータへの参照を印刷サービスに送る経路を選択し、
印刷サービスにより生成された出力イメージ・データを送信先のプリンタに配信するのを制御するシステム管理コンポーネントを備える出力管理システム。
【請求項３８】
クライアント・サイド・コンポーネントはさらに、そのサービスを介してアクセスできる出力デバイスをメッセージ・センターに登録するオペレーションを実行する請求項３７に記載の出力管理システム。
【請求項３９】
クライアント・サイド・コンポーネントとメッセージ・センターとの間のファイヤウォールを通るリンクは永続的接続を含む請求項３７に記載の出力管理システム。
【請求項４０】
さらに、出力デバイスにサブミットする前に出力イメージ・データを格納できる出力リポジトリを備える請求項３７に記載の出力管理システム。
【請求項４１】
ユーザ・インターフェイスは、無線Ｗｅｂ対応デバイスを介してアクセスできる無線Ｗｅｂユーザ・インターフェイスを含む請求項３７に記載の出力管理システム。
【請求項４２】
さらに、メッセージ・センターと通信するようにリンクされている無線データ・アクセス・ポイント（ＷＤＡＰ）を備える請求項３７に記載の出力管理システム。
【請求項４３】
さらに、ＷＤＡＰに動作するように結合されているＢｌｕｅｔｏｏｔｈデバイス・エミュレータを備え、Ｂｌｕｅｔｏｏｔｈ対応無線デバイスでシステムにアクセスすることができる請求項４２に記載の出力管理システム。
【請求項４４】
ユーザ・インターフェイスは、Ｂｌｕｅｔｏｏｔｈプロトコル上のＷＡＰ（無線アプリケーション・プロトコル）を使用して提供される請求項４３に記載の出力管理システム。
【請求項４５】
印刷サービスは、
ソース・データのファイル・タイプを判別するオペレーションと、
プリント・サーバを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションと
を実行することにより出力イメージ・データを生成する請求項３７に記載の出力管理システム。
【請求項４６】
さらにユーザ・インターフェイスにより、ソース・データが描画される出力デバイスをユーザが選択できる請求項３７に記載の出力管理システム。
【請求項４７】
さらに、ユーザ・プロファイルおよびシステム・リソース情報が格納されるデータベース・サーバを備える請求項３７に記載の出力管理システム。
【請求項４８】
ユーザ・インターフェイスを使用することによりユーザは出力管理システムを介してアクセス可能な出力デバイスから１つまたは複数のお気に入りの出力デバイスを選択し、かつ／または指定することができ、ユーザにより選択され、かつ／または指定された出力デバイスに関係するデータは、データベース・サーバにより格納される請求項４７に記載の出力管理システム。
【請求項４９】
メッセージ・センターは、ルート・メッセージ・センターを含み、クライアント・サイド・コンポーネントは、第２のメッセージ・センターを含み、メッセージ・センター階層内のルート・メッセージ・センターの下に入れ子になっている請求項３７に記載の出力管理システム。
【請求項５０】
印刷サービスは、ファイヤウォールの背後に配備される請求項３７に記載の出力管理システム。
【請求項５１】
印刷サービスおよびクライアント・サイド・コンポーネントは、単一マシンをホストとする請求項３７に記載の出力管理システム。
【請求項５２】
印刷サービスはファイヤウォールの外側に配備され、クライアント・サイド・コンポーネントはメッセージ・センターを介してイメージ出力ダメージを受け取るリモート・デスクトップ・クライアントを含み、イメージ出力ダメージを描画のため送り先出力デバイスにサブミットする請求項３７に記載の出力管理システム。
【請求項５３】
さらに、印刷サービスは、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給する請求項３７に記載の出力管理システム。
【請求項５４】
ファイヤウォールの外側に配置されている発信元デバイスからファイヤウォールの背後に配備されているプライベート・ネットワークに接続されている送り先出力デバイスで印刷を可能にする出力管理システムであって、
入力ソース・データおよび送り先出力デバイスに対応する出力イメージ・データを生成する印刷サービスと、
ファイヤウォールの内側に配置された、印刷サービスと通信するようにリンクされているメッセージ・センターであって、
描画可能データを供給し、これによりユーザ・インターフェイス（ＵＩ）をセキュリティ保護されたリンクを介してＷｅｂサーバ・コンポーネントと通信して動作するようにリンクされている発信元デバイス上に描画し、ユーザが描画するソース・データを選択して、送り先出力デバイス上にソース・データを描画するジョブ要求をサブミットできるようにするＷｅｂサーバ・コンポーネントと、
Ｗｅｂサーバ・コンポーネントから受信したジョブ要求を管理するシステム管理コンポーネントとを含み、その受信に対する応答として、
選択したソース・データまたはそのデータへの参照を印刷サービスに送る経路を選択し、
印刷サービスにより生成された出力イメージ・データを送信先のプリンタに配信するのを制御するメッセージ・センター
を備える出力管理システム。
【請求項５５】
さらに、ファイヤウォールとともに配備されている仮想プライベート・ネットワーク（ＶＰＮ）スイッチを備え、ＶＰＮ符号化データがファイヤウォールを通ることができ、またこのデータをメッセージ・センターが受信できる請求項５３に記載の出力管理システム。
【請求項５６】
さらに、ファイヤウォールの外側に配備されている共通ゲートウェイ・インターフェイス（ＣＧＩ）ＶＰＮプロキシを備え、ユーザ・インターフェイスを介しＶＰＮ非対応発信元デバイスから受信したデータを符号化してＶＰＮ符号化データにし、それにより、ＶＰＮ非対応無線デバイスとメッセージ・センターとの間のセキュリティ保護された接続を実現する請求項１９に記載の出力管理システム。
【請求項５７】
出力デバイスは、無線デバイスにより直接はアクセスできないプライベート・ネットワーク上に配備される請求項１に記載の出力管理システム。
【請求項５８】
出力管理システムであって、
描画可能データを供給し、それによりユーザ・インターフェイス（ＵＩ）を少なくとも１つのＷｅｂサーバと通信し動作するようにリンクされている発信元デバイス上に描画し、前記ユーザ・インターフェイスにより、ユーザが、描画するソース・データを選択し、送り先出力デバイスにソース・データを描画するジョブ要求をサブミットすることができるように構成されているソフトウェアを実行する少なくとも１つのＷｅｂサーバを含むＷｅｂサーバ層と、
入力ソース・データおよび入力ソース・データを描画する出力デバイスに対応する出力イメージ・データを生成する印刷サービスを実行するソフトウェアを実行する少なくとも１つの印刷サービス・サーバを備える印刷サービス層と、
ジョブ要求を管理し、それに対する応答として、
選択したソース・データまたはそのデータへの参照を印刷サービス層に送る経路を選択し、
印刷サービスにより生成された出力イメージ・データを描画のため送り先出力デバイスにサブミットするのを管理するように構成されているソフトウェアを実行する少なくとも１つのメッセージ・センター・サーバを備えるメッセージ・センター層を備え、
印刷サービス層とメッセージ・サービス層内のサーバからの少なくとも１つのサーバがプライベート・ネットワーク上のファイヤウォールの背後に配置されている出力管理システム。
【請求項５９】
さらに、少なくとも１つのデータベースのホストとなる少なくとも１つのデータベース・サーバを含むデータベース層を備え、前記データベース層は、システム管理およびジョブ要求データを含むシステム・データを格納する請求項５７に記載の出力管理システム。
【請求項６０】
データベース層は、システム管理およびジョブ要求データが格納されるメッセージ・センター・データベースおよび印刷サービスに関係するデータが格納される印刷サービス・データベースを含む請求項５８に記載の出力管理システム。
【請求項６１】
さらに、データベース層は、送り先出力デバイスにサブミットする前に出力イメージ・データを格納できる出力イメージ・ストアを備える請求項５７に記載の出力管理システム。
【請求項６２】
Ｗｅｂサーバ層は、複数のＷｅｂサーバを備え、さらに、複数のＷｅｂサーバの間で着信接続の負荷を分散するロード・バランサーを備える請求項５７に記載の出力管理システム。
【請求項６３】
印刷サービス層は、複数の印刷サービス・サーバをホストとし、さらに、複数のＷｅｂサーバの間で着信印刷サービス要求の負荷を分散するロード・バランサーを備える請求項５７に記載の出力管理システム。
【請求項６４】
さらに、メッセージ・センター層と通信するようにリンクされている、リモート・デスクトップ・クライアントを備え、出力イメージ・データをメッセージ・センター層から受信した出力デバイス・サブミット・コマンドによって指定された送り先出力デバイスに供給する請求項５７に記載の出力管理システム。
【請求項６５】
ユーザ・インターフェイスは、無線Ｗｅｂ対応デバイスを介してアクセスできる無線Ｗｅｂユーザ・インターフェイスを含む請求項５７に記載の出力管理システム。
【請求項６６】
印刷サービスは、
ソース・データのファイル・タイプを判別するオペレーションと、
プリント・サーバを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションと
を実行することにより出力イメージ・データを生成する請求項５７に記載の出力管理システム。
【請求項６７】
さらに、印刷サービスは、ユーザ・インターフェイス上に描画するときに、送り先出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給する請求項５７に記載の出力管理システム。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、出願日の利益が３５  Ｕ．Ｓ．Ｃ．§１１９（ｅ）に従って主張されている２００１年８月２２日に出願された「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＷＩＲＥＬＥＳＳ  ＤＯＣＵＭＥＮＴ  ＰＲＩＮＴＩＮＧ，ＶＩＥＷＩＮＧ  ＡＮＤ  ＳＨＡＲＩＮＧ」という表題の同時係属仮出願第６０／３１４，４１２号明細書および２００２年１月２３日に出願された「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＰＲＩＮＴＩＮＧ  ＡＮＤ  ＦＯＲＭＡＴＴＩＮＧ  ＤＯＣＵＭＥＮＴＳ  ＡＮＤ  ＯＵＴＰＵＴ  ＲＥＳＯＵＲＣＥ  ＭＡＮＡＧＥＭＥＮＴ  ＦＲＯＭ  ＭＯＢＩＬＥ  ＤＥＶＩＣＥＳ」という表題の同時係属仮出願第６０／３５１，７５４号明細書、ならびに出願日の利益が３５  Ｕ．Ｓ．Ｃ．§１２０に従って主張されている２００２年３月１３日に出願された「ＵＮＩＶＥＲＳＡＬ  ＰＲＩＮＴＩＮＧ  ＡＮＤ  ＤＯＣＵＭＥＮＴ  ＩＭＡＧＩＮＧ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ」という表題の同時係属非仮出願第１０／０９８，８３２号明細書および２００２年３月２１日に出願された「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＴＯ  ＰＲＩＮＴ  ＶＩＡ  Ｅ−ＭＡＩＬ」という表題の同時係属非仮出願第１０／１０４，５２８号明細書に基づいている。さらに、参照により各同時係属非仮出願の明細書および図面が全部本明細書に取り込まれている。
【技術分野】
【０００２】
本発明の分野は、一般的にネットワーク印刷環境に関するものであり、より具体的には、またこれに限るわけではないが、モバイル・ネットワーク印刷環境と出力要求の管理に関するものである。
【背景技術】
【０００３】
従来の印刷環境では、ローカル・エリア・ネットワーク（ＬＡＮ）などの閉じたコンピュータ・ネットワークを介して相互接続されているコンピュータを操作するユーザは、そのコンピュータで実行されているアプリケーションにより生成されたドキュメントを、プリンタ、プロッタなどのネットワークに接続されている出力デバイス上に描画させるためにサブミットする。今日の急速に発展するモバイル・ビジネス環境では、このような制限された印刷ソリューションはもはや満足なものとはいえない。従来の印刷技術は、確かに、高い解像度、優れた印字品質、およびカラーのドキュメントを高速に出力するということを目指して発展してきたが、今日のモバイル・ワーカーに適した印刷技術の開発を怠っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今日のモバイル・ビジネス環境では、従来の印刷環境の開発者が印刷に関して考えもしなかった、あるいは取り扱わなかった多くのシナリオが出現している。例えば、以下の状況を考える。ビジネス開発者は、相手のオフィスで商取引について話す準備をしながら自分の会社のホーム・ネットワークに保管されている必要な契約書を相手のネットワーク内のプリンタにサブミットすることができるか。出張中の営業担当は、自分のプレゼンテーション・スライドのドキュメントが手元になくてもプレゼンテーション・スライドを近くのプリンタにたやすく印刷できるか。Ｂｌｕｅｔｏｏｔｈハンドセットのユーザは、部屋の中に入り、Ｂｌｕｅｔｏｏｔｈ対応のプリンタがあるのを知り、近くのプリンタで、たとえプリンタがＢｌｕｅｔｏｏｔｈ対応でなくてもドキュメントを印刷できるか。インスタント・メッセージングのユーザは、ドキュメントを仲間のプリンタ・リストにドラッグ＆ドロップして、ドキュメントを印刷することができるか。投資家は空港にいながら、自分の携帯電話だけを使って本社にある必要なドキュメントを印刷することができるか。これらの状況に対して印刷ソリューションを提供し、また他の同様のシナリオを提供すると都合がよいであろう。
【課題を解決するための手段】
【０００５】
本発明の態様に従って、さまざまな種類のコンピュータ・ネットワーク上で印刷やファックス送信、電子メールなどの出力を管理するシステムと方法を開示する。一態様では、本システムと方法により、ファイヤウォールの背後にあるプライベート・ネットワークに置かれている印刷および／またはドキュメント・リソースにアクセスすることができる。ファイヤウォールの両側に配置されているシステム・コンポーネントの間にファイヤウォールを通過する通信リンクを確立する。有線接続のコンピュータまたは無線デバイスなどの発信元デバイスにシステムによって供給された描画可能なデータが、発信元デバイス上でユーザ・インターフェイスを描画するために提供される。このユーザ・インターフェイスを使用することで、ソース・データとこのソース・データを印刷する出力デバイスを選択することができ、そのいずれかまたは両方がファイヤウォールの背後にあってもよい。選択した後、（場合によっては、プライベート・ネットワークから）ソース・データを検索して、ソース・データと選択された出力デバイスに応じて出力イメージ・データを描画する印刷サービスに転送する。出力イメージ・データは、出力デバイスにサブミットされ、物理的に描画される。プライベート・リソースにアクセスするには、パススルー通信リンクを使用する。さらに、このシステムは、ドキュメントを参照により印刷することもできる。
【０００６】
本発明の前述の態様およびその結果の利点の多くは、特に断りのない限り図面全体を通して類似の参照番号は類似の部品を指している添付の図面に関して、以下の詳細な説明を参照することにより容易に理解できるため明白であろう。
【発明を実施するための最良の形態】
【０００７】
ここでは、モバイル・ユーザおよび地上回線利用ユーザ用の印刷ソリューションを実現する出力管理システムと方法の実施形態を説明する。以下の説明では、本発明の実施形態を完全に理解できるように、アーキテクチャ実装例など、具体的詳細事項を多数述べる。ただし、当業者であれば、本発明が、具体的な詳細事項が１つまたは複数取りあげられていなくても、あるいは他の方法、コンポーネント、材料などを使用していたとしても、実施できることを理解するであろう。他の例では、よく知られている構造、材料、またはオペレーションについては、本発明の態様をわかりにくくしないために詳しく示したり説明していない。
【０００８】
この明細書全体を通して「一実施形態」または「実施形態」と記述する場合、その実施形態と関連して説明している特定の機能、構造、または特性が本発明の少なくとも１つの実施形態に含まれる。したがって、本明細書全体のさまざまな場所に「一実施形態では」または「実施形態では」という語句が出現しても、必ずしもすべて同じ実施形態を指しているわけではない。さらに、特定の機能、構造、または特性を１つまたは複数の実施形態において適当な方法により組み合わせることができる。
【０００９】
以下の用語およびその定義は、以降の説明全体を通して頻繁に使用される。
【００１０】
ソース・データ：ソース・データは、検索してデバイスに出力することができるドキュメントまたは媒体を指す。サポートされている入力データ形式には、以下に限定しないが、ドキュメント・プロセッサでサポートしている種類の大半（例えば、ＰＤＦ、ＰｏｓｔＳｃｒｉｐｔ、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ、ＡＳＣＩＩテキストなど）、Ｗｅｂ  ＵＲＬリンク、電子メール、および電子メール添付ファイルがある。
【００１１】
リモート・ストア：リモート・ストアは、ローカル・エリア・ネットワーク（ＬＡＮ）またはソース・データが格納されるインターネット上のリモート位置を含む。リモート・ストアとしては、以下に限定しないが、ＦＴＰコンテンツ・サーバ、ＮＦＳファイル・サーバ、ＰＣＮＦＳファイル・サーバ、およびＷｅｂサーバがある。
【００１２】
ローカル・ソース：ローカル・ソースは、印刷要求の発行元と同じユーザ・デバイス上に格納されたソース・データを含む。したがって、ローカル・ソースから印刷する場合、ソース・データをユーザのデバイスから出力管理システムにアップロードして処理する必要がある。
【００１３】
リモート・ソース：リモート・ソースは、リモート・ストア上に格納されているソース・データを含む。
【００１４】
発信デバイス：ユーザによるジョブ要求の発信元である無線または有線デバイス。
【００１５】
出力デバイス：出力デバイスは、本システムから出力イメージ・データを得て、表示または記録用に特定の形式に変換する装置を備える。サポートされている出力デバイスとしては、以下に限定しないが、プリンタ、ファックス装置、リモート・ドキュメント・リポジトリ、および電子メール宛先がある。これらの出力デバイスは、ＬＡＮ上に配置することができるが、インターネットやプライベート・ネットワークなどの一般人がアクセスできるネットワークを含む、外部ネットワーク上に置くこともできる。
【００１６】
ジョブ要求：ジョブ要求は、システムに処理させ、出力装置に送ることをユーザがサブミットする要求のことである。
【００１７】
ジョブ・ステータス：これは、要求処理の現在の進捗状況を示すジョブ要求のステータスのことである。これは、ユーザがジョブ要求のステータスを理解すること、またシステム管理者がそれらを管理することを補助するためのメカニズムである。
【００１８】
参照による印刷（ＰＢＲ:Print by Reference）：このジョブ処理方法では、システムはローカル・ソースからではなくリモート・ソースからソース・データを検索しなければならない。
【００１９】
遅延印刷：送り先出力デバイスが現在利用不可能な場合に、処理されたジョブ要求の出力、ジョブ処理の最終段を遅らせることとして定義される。
【００２０】
ユーザ・データベース：各ユーザのシステム構成設定を追跡するために使用されるシステム・データベースである。
【００２１】
サーバ：ネットワーク上でアクセス可能なソフトウェアを実行しているコンピュータ。
【００２２】
Ｗｅｂサーバ：クライアント・コンピュータとサーバ・コンピュータとの間でハイパーテキスト伝送プロトコル（ＨＴＴＰ）またはセキュアＨＴＴＰ（ＨＴＴＰＳ）を使用してハイパーテキスト・マークアップ言語（ＨＴＭＬ）ファイルと、共通ゲートウェイ・インターフェイス（ＣＧＩ）データと、データ・ファイルとを伝送するクライアント・コンピュータと通信するコンピュータまたはサーバ上で実行されているソフトウェア・プログラム。
【００２３】
Ｗｉｎｄｏｗｓ（登録商標）プリンタ：Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティング・システムでは、「プリンタ」とは、プリンタ・ドライバやプリント・プロセッサ、言語モニタ、ポート・モニタの名前を付けた組合せとして定義される。
【００２４】
スプール・ファイル：ＭＳ  Ｗｉｎｄｏｗｓプリンタ・ドライバによって作成されるプリンタ言語ファイル。このファイルの内容を直接プリンタに送信し、印刷することができる。
【００２５】
インターネット印刷プロトコル（ＩＰＰ）：ネットワークで接続されているプリンタにスプール・ファイルを送信したり、ネットワークで接続されているプリンタから印刷ジョブ・ステータスを取得するためのＨＴＴＰに似たプロトコル。
【００２６】
ライン・プリンタ・リモート（ＬＰＲ）：ネットワークで接続されているプリンタにスプール・ファイルをサブミットするためのプロトコル。
【００２７】
ゾーン：自律型の出力管理システムを取り囲んでいるネットワーク。通常、ゾーンはネットワーク・ドメインの論理表現を含む。
【００２８】
本明細書で説明している本発明のさまざまな実施形態を使用することで、無線や有線のユーザは、ローカル・ソースやリモート・ソースからソース・データを検索し、そのソース・データを、送り先出力デバイスまたは宛先出力デバイスともいう選択した出力デバイスに出力するように要求することができる。一般に、出力デバイスは発信元デバイス（つまり、出力要求の発行元であるデバイス）と同じネットワーク上に配置でき、またよくあることだが、通常であれば発信元デバイスにアクセス可能でないネットワークなど、別のネットワーク上に配置することもできる。
【００２９】
最上位では、本明細書で説明している本発明の出力管理システムの実施形態の動作と機能は、メッセージ・センター（ＭＣ）、印刷サービス（ＰＳ）、リモート・デスクトップ・クライアント（ＲＤＣ）、無線データ・アクセス・ポイント（ＷＤＡＰ）の４つの主要コンポーネントのユーザを介して利用することができる。実際の実装では、一般的に、実装の特定の要件に応じて、これらのコンポーネントのさまざまな組合せを使用する。
【００３０】
メッセージ・センターはシステムの心臓部である。システム全体が適切に機能するようにシステム内の残りのコンポーネントとインターフェイスしている。図１に示されているように、一実施形態では、メッセージ・センターＭＣｎは１２個の主要タスク、つまりコンポーネントの登録と登録解除１０、ジョブ要求受信１２、ジョブ要求処理１４、ジョブ出力スケジューリングとキューイング１６、ジョブ出力ステータス監視１８、ピア・メッセージ・センター・インタラクション２０、ルート・レベル・メッセージ・センター・インタラクション２２、リモート・デスクトップ・クライアント管理２４、印刷サービス管理２６、無線データ・アクセス・ポイント管理２８、ユーザ・プロファイル管理３０、ユーザ・インターフェイス管理３２を実行する。
【００３１】
印刷サービス・コンポーネントは、ジョブ要求の描画と印刷を処理する。図２に示されているように、一実施形態では、印刷サービスＰＳｎは、「出力イメージを描画」３４、「出力イメージをリポジトリに保管」３６、「出力イメージをローカル・デバイスに送信」３８、「ジョブ出力ステータスをメッセージ・センターに送信」４０、「ローカル出力デバイス管理」４２などの印刷サービス・タスクを実行する。
【００３２】
リモート・デスクトップ・クライアント・コンポーネントを使用して、リモート・デバイスをシステム全体に接続することができる。図３に示されているように、一実施形態では、リモート・デスクトップ・クライアントＲＤＣｎは、３つの主要タスク、つまり「出力デバイスの登録と登録解除」４４、「メッセージ・センターから出力要求を受信」４６、「ジョブ出力ステータスをメッセージ・センターに返す」４８を実行する。
【００３３】
無線データ・アクセス・ポイント・コンポーネント利用すると、無線ユーザは、Ｂｌｕｅｔｏｏｔｈ、ＩＥＥＥ  ８０２．１１などの標準無線プロトコルを使用してシステムに接続することができる。また、メッセージ・センターは無線アクセスのためのリソース・マッピングを管理することができる。図４に示されているように、一実施形態では、ＷＤＡＰｎは、５つの主要タスク、つまり、「コンポーネントの登録と登録解除」５０、「デバイス接続要求を受信」５２、「ユーザの無線デバイスから要求を中継」５４、「システム応答をユーザの無線デバイスに中継」５６、「出力デバイス地理的関係を記録」５８を実行する。
【００３４】
まとめると、本明細書で説明している出力管理システムの実施形態の本発明の各態様では、１）デバイス・リソース管理、２）デバイス・リソース発見、３）ジョブ要求管理、４）ジョブ要求スケジューリング、５）ジョブ要求監視、６）ユーザ・プロファイル管理、７）ユーザ・モバイル・サインインのオペレーションを対象とする。以下では、これ以降で説明するシステム実施例を使用して説明する詳細とともに各態様の概要を簡単に説明する。
【００３５】
デバイス・リソース管理
システムでは、出力デバイスを簡単に、かつすばやく特定できるようにデバイス・リソースを管理している。一実施形態では、これらのデバイスは、物理出力デバイスと論理出力デバイスに分けられる。物理出力デバイスとしては、以下に限定しないが、プリンタ、ファックス装置、コピー機などがある。論理出力デバイスとしては、以下に限定しないが、ファイル・サーバ、プリント・サーバ、ＦＴＰリポジトリ、電子メール宛先がある。関連するオペレーションの一覧を以下に示す。
【００３６】
階層型ルート・メッセージ・センター、パブリック、プライベート・デバイス分類を使用してリソース管理および共有を行いやすくすること：システムでは、データベースを使用して各メッセージ・センターの関係を記録する。ルート・メッセージ・センターのメッセージ・センターＩＤ（ＭＣＩＤ）は０に等しく、他のメッセージ・センターのＭＣＩＤ値はすべて、０でない正の整数である。ルート・メッセージ・センターのテーブルに、他のメッセージ・センターのゾーンやネットワーク・アドレスを識別する情報が保持される。ローカル・メッセージ・センターは、ルート・メッセージ・センターに登録し、リソース共有のパブリック・リソース情報をアナウンスする必要がある。非公開のすべてのデバイス・リソースは、プライベートとみなされ、それらのリソースが置かれているゾーンの外部では共有できない。
【００３７】
ローカルおよびリモート・クライアント登録メカニズムを使用したデバイス管理：関連する印刷サービスにより、接続された出力デバイスはメッセージ・センターに登録され、同様に、関連するリモート・デスクトップ・クライアントは、その直接接続出力デバイスをメッセージ・センターに登録する。これらの出力デバイスを参照するには、対応する印刷サービスまたはリモート・デスクトップ・クライアントを使用する。実装の特定のセキュリティ要件に応じて、必要ならば、システム内の印刷サービスとリモート・デスクトップ・クライアントに対し暗号化を使用してデータ・セキュリティとデータ保全性を保証するようにすることが賢明であると思われる。
【００３８】
Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂとモバイル・デバイス・インターフェイスを使用したデバイス管理：本システムは、デバイス管理用の単純なモバイル管理インターフェイスとともに管理インターフェイス一式を備える。
【００３９】
集中ドライバ・ストアを使用したリモート・デバイス・インストール：出力デバイスの登録後、対応するドライバを出力デバイスに関連する印刷サービスにインストールする必要がある。メッセージ・センターは、ドライバ・ストア内で一般に使用されるドライバの配列を備え、デバイス側でドライバを印刷サービス・コンポーネントに転送しなくて済むようにしている。ただし、ドライバは、ＭＣドライバ・ストアから現在利用できない場合、ドライバ・ストアに転送してから、印刷サービスにインストールすることができる。
【００４０】
デバイス・リソース発見
本では、ユーザはモバイル・コンピューティング環境で出力デバイスを特定することができる。以下で詳述するが、一実施形態では、ＢｌｕｅｔｏｏｔｈとＩＥＥＥ  ８０２．１１技術をデバイス発見に使用する。また、これを使用することで、Ｂｌｕｅｔｏｏｔｈ非対応デバイスを、Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータを通じてＢｌｕｅｔｏｏｔｈデバイスであるかのように動作させることができる。関連するオペレーションの一覧を以下に示す。
【００４１】
Ｂｌｕｅｔｏｏｔｈ接続を介した出力デバイス発見およびメッセージ・センターへの登録：出力デバイス情報を取得するためにメッセージ・センターとインターフェイスをとるように、無線データ・アクセス・ポイント（ＷＤＡＰ）上でエージェントを実行させることによって行われる。さらにエージェントは、メッセージ・センターと協力して、ＷＤＡＰ上で実行される出力デバイス情報データベースを保持する。
【００４２】
Ｂｌｕｅｔｏｏｔｈゲートウェイを介したＢｌｕｅｔｏｏｔｈクライアントへのローカル汎用出力デバイス利用可能性アナウンス：オプションのＢｌｕｅｔｏｏｔｈゲートウェイを配備することで、メッセージ・センターがＷＤＡＰを通じて受信する情報を管理できるようにする。登録されているＷＤＡＰを通じてネットワークに接続する際に、出力デバイス利用可能性を含むこの情報を無線ユーザにアナウンスする。モバイル・ユーザの場合、この情報は、ネットワークを通じてユーザが移動し、異なるＷＤＡＰに接続するときにシステムよって更新される。
【００４３】
８０２．１１ゲートウェイを介した出力デバイス発見および登録：Ｂｌｕｅｔｏｏｔｈ接続に使用したのと同様の方法で出力デバイス情報を取得するためにメッセージ・センターとインターフェイスをとるように、無線データ・アクセス・ポイント（ＷＤＡＰ）上でエージェントを実行させることによって行われる。
【００４４】
ＩＰブロードキャストを介した出力デバイス利用可能性アナウンス：オプションの８０２．１１ゲートウェイをシステム内に配備することで、メッセージ・センターがＷＤＡＰを通じて受信する情報を管理できるようにする。登録されているＷＤＡＰを通じてネットワークに入る際に、出力デバイス利用可能性を含むこの情報を８０２．１１認証済みユーザにアナウンスする。この情報は、ネットワークを通じてユーザが移動し、異なるＷＤＡＰに接続するときにシステムよって更新される。
【００４５】
インスタント・メッセージング・インターフェイスを介したローカル出力デバイス利用可能性アナウンス：リモート・デスクトップ・クライアントを拡張し、インスタント・メッセージング（ＩＭ）プロトコルを通じてデバイス管理をサポートするようにできる（例えば、ＡＯＬインスタント・メッセージング、Ｙａｈｏｏメッセージング、ＭＳＮメッセージング、ＩＣＱなど）。ユーザの出力リソースを他のメッセンジャー・ユーザ（例えば、仲間）が見られるように、また共有できるようにするというのがこのメッセージングの考え方である。例えば、この機能を使うと、ＩＭユーザはファイルを仲間の出力デバイス・リストに載っている共有デバイスにドラッグ＆ドロップするだけで、それらのファイルに対応する出力を仲間が簡単にアクセスできるデバイス上に出力することができる。
【００４６】
出力リソース発見に基づくデフォルトの出力デバイス割当て：デフォルト出力デバイスは２種類あり、１つは静的デフォルト出力デバイスであり、もう１つは動的デフォルト出力デバイスである。ユーザは、グラフィカル・ユーザ・インターフェイス（ＧＵＩ）を介して自分のプロファイル設定を修正することにより、静的デフォルト出力デバイスを変更することができる。しかし、ユーザがモバイル・デバイスを使用してシステムにアクセスするときに動的デフォルト出力デバイスを更新するのはシステムだけである。いずれにせよ、ユーザは、ユーザのプロファイル設定を修正する方法で動的上書きをオフにするか、または常に出力デバイス宛先を指定することができる。
【００４７】
ジョブ要求管理
本システムでは、ジョブ要求を管理するため要求キューを実装している。関連するオペレーションの一覧を以下に示す。
【００４８】
リモート・デスクトップ・クライアントを使用した出力デバイスに対するジョブ要求の管理：送り先出力デバイスへのジョブ要求はリモート・デスクトップ・クライアントを通じてチャネルが設定される。このＲＤＣにより、出力デバイスは出力データを検索し、ステータスをメッセージ・センターに送り返すことができる。同じＲＤＣで、暗号を実装し、メッセージ・センターとＲＤＣとの間で交換される出力データを保護することができる。
【００４９】
インスタント・メッセージング・インターフェイスを介したジョブ・サブミット：リモート・デスクトップ・クライアントを修正し、インスタント・メッセージング・プロトコルを通じてジョブ・サブミットをサポートするようにできる（例えば、ＡＯＬインスタント・メッセージング、Ｙａｈｏｏメッセージング、ＭＳＮメッセージング、ＩＣＱなど）。このメカニズムを使用することにより、ユーザはファイルを仲間の共有出力デバイス・リストに載っているデバイスにドラッグ＆ドロップすることができる。その後、仲間は、そのデバイスから出力データを受け取る。修正されたＲＤＣは、メッセージ・センターに登録する必要がある（例えば、ＡＯＬ所有、Ｙａｈｏｏ所有、企業所有、またはルートＭＣ）。成功すると、インスタント・メッセージングＵＩ上の出力管理インターフェイスが表示される。ユーザの仲間もそのインスタント・メッセージング・ツール用に手直しされているＲＤＣを実行している場合、ユーザのリソース情報が、インスタント・メッセージング・プロトコルを通じて、接続されている仲間に転送される。ユーザの仲間の共有出力デバイスにドキュメントをドラッグ＆ドロップすることができる。
【００５０】
インスタント・メッセージング・インターフェイスを介したジョブ印刷要求の受信：リモート・デスクトップ・クライアントをインスタント・メッセージング・プロトコルを通じてジョブ受信をサポートするように修正することができる。送信者が出力データを受信者の共有出力デバイス・リストに載っているデバイスにドラッグ＆ドロップすると、ジョブ要求は受信者のＲＤＣに送信され、印刷される。修正されたＲＤＣは、前のようにメッセージ・センターに登録する必要がある。成功すると、インスタント・メッセージングＵＩ上の出力管理インターフェイスが表示される。ユーザの仲間もそのインスタント・メッセージング・ツール用に手直しされているＲＤＣを実行している場合、ユーザのリソース情報が、インスタント・メッセージング・プロトコルを通じて、接続されている仲間に転送される。ユーザは、他の登録されているユーザからジョブ要求を受信することができる。
【００５１】
マルチメディア・メッセージング・システムとのインターフェイス：メッセージ・センターは、ほとんどのマルチメディア・メッセージング・システムとインターフェイスするインバウンド・ゲートウェイとアウトバウンド・ゲートウェイを配備することができる。この配備により、汎用マルチメディア・クライアントは出力管理システム駆動クライアントと通信し、情報を交換したり、共有デバイスおよび宛先への出力を要求することができる。
【００５２】
汎用出力デバイスへのＢｌｕｅｔｏｏｔｈ接続によるジョブ・サブミット：Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータを備えるＷＤＡＰにより、ユーザはＢｌｕｅｔｏｏｔｈ接続を通じてシステムのサブミット・インターフェイスにアクセスすることができる。要求があると、Ｂｌｕｅｔｏｏｔｈや汎用出力デバイスを含む出力デバイス利用可能性に関する情報がユーザに返される。ユーザは、その後、Ｂｌｕｅｔｏｏｔｈ接続を通じて、選択した宛先出力デバイスに出力を送信することができる。
【００５３】
専用サーバによるジョブ要求描画：本システムでは、印刷サービスを専用ジョブ描画サーバとして使用する。このため、クライアント・マシンに必要のないデバイス・ドライバをあまりインストールしなくて済む。リモート・デスクトップ・クライアントでは、数千マイルも離れたところで描画したジョブをローカル・デバイスに出力したり、その逆の作業を行ったりできる。
【００５４】
個人およびビジネス・ジョブ要求分類：現在の企業印刷環境では、個人印刷ジョブ要求とビジネス要求とを区別していない。これに対して、本システムは、ジョブ要求を分類する方法を実装し、データベース内で要求にタグ付けをし、会計目的の情報を保持する。したがって、会計部門は、ジョブ要求で定義されているジョブ特性に基づいて、部門または従業員に請求することができる。
【００５５】
ゲスト印刷のサポート：本システムは、ゲスト印刷をサポートするように構成できる。この作業は、メッセージ・センターにホスティングされているゲスト・ジョブ・サブミット・インターフェイスを通じて行う。このインターフェイスでは、ユーザ・プロファイルの妥当性確認が強制されるわけではなく、むしろパブリック出力リソースへの制限付きアクセスのみが許可される。管理者は、ゲスト印刷をする動的デフォルト・プリンタをそれでもサポートするようにメッセージ・センターを構成することができる。
【００５６】
電子メール・ジョブ要求サポート：本システムは、一般的なジョブ要求として添付ファイルがあってもなくても電子メールを受け付ける。複数の出力チャネルへの添付ファイルがあってもなくてもそれらの要求を処理することができる。
【００５７】
ドキュメント・プレビュー：本システムではドキュメント・プレビューをサポートしているため、ユーザは最終的な出力要求を発行する前に目で見て（例えば、ドキュメントのバージョンが正しいかどうかを）確認することができる。このドキュメント・プレビュー機能を使用すると、ユーザは、イメージをディザリングしたサムネイルで表示すること、および他のファイルをページ参照を保存したままプレーン・テキスト形式で表示することを素早く実行することができる。表計算ソフトでは、縦方向と横方向の両方のナビゲーション機能も備える。さらに、プレビュー・ドキュメントでは、元のドキュメントのページ同士の関係は保持されるため、ユーザはランダム・アクセスでドキュメントをプレビューすることができる。
【００５８】
ジョブ要求スケジューリング
システムでは、ジョブ要求を管理するため要求キューを実装している。関連するオペレーションの一覧を以下に示す。
【００５９】
遅延ジョブ・スケジューリング：ジョブ要求がメッセージ・センターに入ると、ジョブ処理を行ううえで十分な情報を保持するためにジョブ・キュー・エントリがメッセージ・センター・データベースの中に挿入される。送り先出力デバイスが使用可能な状態でない場合、システムはそのエントリをキュー内に保持し、出力デバイスが使用可能になったらサブミットするように後でスケジューリングし直す（管理者構成可能な遅延値を使用して）。
【００６０】
ジョブ・スプーリング・ファクトリ内のファイル参照を使用した出力：本システムでは、印刷サービスを使用して出力イメージを描画する。印刷サービスおよびメッセージ・センターは一般に、同一ホスト・マシン上の同じ場所に置かれることはないため、描画データは、最終段の処理のため印刷サービスからメッセージ・センターに転送する必要がある。効率面から、印刷サービスは描画イメージを共有スプーリング・ファクトリ（つまり、リポジトリ）に格納し、イメージの参照をメッセージ・センターに返す。その後、メッセージ・センターは、この参照を使用して、データを宛先に出力する。
【００６１】
ファイヤウォールを介したセキュリティ保護された出力：本システムはモジュール式設計なので、各コンポーネントの構成をカスタマイズすることが可能である。管理者は、システムを保護するためファイヤウォールをインストールすることができる。リモート・デスクトップ・クライアントには、ファイヤウォールが適切に構成されたときにメッセージ・センターとのインターフェイスをとる機能が備えられている。このため、ファイヤウォールを通してドキュメントを印刷することができる。
【００６２】
ジョブ要求監視
本システムは、ジョブ・キュー・ログ追跡機能を介してジョブ・ステータス監視機能を実装する。関連するオペレーションの一覧を以下に示す。
【００６３】
データベース更新を使用するジョブ永続状態追跡機能を介したジョブ・ステータス監視：メッセージ・センターは、ジョブ要求毎に持続状態を保持する。ジョブ出力要求が送り出されると、出力要求が完了したかどうかを判断するためにテーブル更新ハンドラがジョブ状態を監視する。完了していれば、データベースを更新し、ステータスをユーザに返す。
【００６４】
ＷＡＰプッシュを介したジョブ出力ステータス報告：ジョブ要求が完了すると、データベース内のジョブ状態が更新される。その後、メッセージ・センターは、ジョブ発信元がＷＡＰクライアントであれば、ＷＡＰプッシュを介して、完了したことをユーザに通知する。
【００６５】
ＨＴＴＰブラウザ更新を介したジョブ出力ステータス報告：ジョブ要求が完了すると、データベース内のジョブ状態が更新される。その後、メッセージ・センターは完了したことをユーザに通知する。ＨＴＴＰジョブ・サブミット・クライアントでは、ジョブ状態は、状態に完了のマークが付けられるまで自動ブラウザ更新により更新される。
【００６６】
出力作成
本システムは、出力作成のため印刷サービスを実装する。印刷サービスによって実行される関連するオペレーションの一覧を以下に示す。
【００６７】
入力ファイル形式および構成可能システム設定に基づく出力描画アプリケーションの動的選択：出力ファイル・イメージを描画するために使用されるアプリケーションは、入力ファイルの形式に基づいて優先順位付けすることができる。優先順位は、システム構成設定の変更により調整することができる。
【００６８】
出力ファイル・イメージ描画でのサードパーティー製アプリケーションの使用：本システムは、出力イメージの描画にサードパーティー製アプリケーションを使用することもできる。
【００６９】
複数出力描画アルゴリズムのサポート：システムは、入力ドキュメントの特定の特性に応じて、出力イメージを生成するためさまざまな方法を使用する。印刷ツールおよびプリンタ・ドライバとともにバックグラウンド・サービスを使用したり、アプリケーション制御ハンドラとともにフォアグラウンド・キーストローク・シミュレーションを使用したり、描画を行うためトランスレータを使用したりできる。
【００７０】
複数出力チャネルのサポート：本システムは、以下に限定しないが、プリンタ・チャネルへの印刷、ファックス受信者へのファックス送信、発信元デバイスでの出力イメージのプレビュー、電子メール宛先への出力送信などの複数出力チャネルをサポートする。電子メール宛先出力チャネルが選択された場合、ドキュメントを電子メールの本文に含めたり、または添付ファイルとして送信することができる。
【００７１】
システム全体の信頼性を高めるウィンドウ・ハンドラ：本システムでは、ウィンドウ・ハンドラを使用して、フォアグラウンド出力描画オプションを使用するときに現れるさまざまなポップアップ・ダイアログ・ボックスを処理する。これにより、システムを長期間完全無人状態で稼働させることができる。
【００７２】
ユーザ・プロファイル管理
このシステムを使用することで、ユーザは、Ｗｅｂまたはモバイル・デバイス・インターフェイスを使用して個人プロファイルを管理することができる。関連するオペレーションの一覧を以下に示す。
【００７３】
Ｗｅｂおよびモバイル・デバイス・インターフェイスを介したユーザ・プロファイル管理および動的更新：購読情報を格納するために使用されるメッセージ・センターにより、ユーザ・プロファイルが作成され、保持される。ユーザは、必要な場合、ＷＥＢ（ＨＴＭＬ）またはＷＡＰ（ＷＭＬ）インターフェイスを使用してその構成設定を変更することができる。さらに、ユーザが現在、モバイル・デバイスを使用してユーザのホーム・ネットワーク内システムにアクセスしている場合、システムはユーザの動的デフォルト・プリンタを自動的に更新する。
【００７４】
ユーザ・プロファイル複数ビリング・(billing)レコードのサポート：ユーザ・プロファイルには、異なる種類の課金にタグを付けるためのシステム用の複数のビリングＩＤが含まれる。例えば、ユーザは、個人印刷アカウントとビジネス印刷アカウントの両方を持つことができる。これにより、組織は出力管理システムをビリング・システムに比較的に容易に組み込むことができる。
【００７５】
ユーザ・モバイル・サインイン
このシステムを使用すると、ユーザは、無線データ・アクセス・ポイント（ＷＤＡＰ）を介してローカル・ネットワークにサインオンすることができる。その後、ローカル共有リソースが、ユーザに利用できるようになる。関連するオペレーションの一覧を以下に示す。
【００７６】
モバイル・デバイスからのクエリ結果の検証によるユーザ認証：システムは、クエリ結果の一意的な識別子を検索して、ユーザのプロファイルと突き合わせ有効かどうかを確認する。その後、ユーザの識別に基づいてカスタマイズしたあいさつ文を送ることができる。
【００７７】
モバイル・ユーザによるシステム・リソースへのアクセスを可能にする：無線データ・アクセス・ポイント・コンポーネントを使用すると、無線ユーザは、無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ、８０２．１１）でネットワークにアクセスすることができる。またＷＤＡＰでは、動的デフォルト・プリンタ管理もサポートしている。
【００７８】
システム構成例
単純なシステム構成例５９が図５に示されている。この例では、システムはゾーン０とゾーン１の２つのゾーン内に配備され、インターネット６０経由の通信でリンクされている。ゾーン０には、すべての共有パブリック出力リソースを管理するルート・メッセージ・センターＭＣ０が含まれる。ゾーン０にはさらに、オプションのファイヤウォール６１を入れることもできる。ゾーン１には、２つのメッセージ・センターＭＣ１、ＭＣ２が含まれる。メッセージ・センターＭＣ１は、内部ファイヤウォール６２の背後に配置され、プライベートである。メッセージ・センターＭＣ２は、ファイヤウォール６３、６４の間のネットワークＤＭＺ（非武装地帯）内に配置され、パブリックである。プリンタ・サービスＰＳ１もパブリックであるが、リモート・デスクトップ・クライアントＲＤＣ１もそうである。出力デバイスＤ１およびＤ２も両方ともパブリックである。
【００７９】
図５と以下のシステム構成の図で、実線は接続されているエンティティ同士の間に直接のリンクがあることを示しており、破線はエンティティの接続が直接リンクではなく論理的関連付け（例えば、登録によるもの）であることを示している。例えば、出力デバイスＤ１は、直接リンク６６を介して印刷サービスＰＳ１に直接リンクされ、出力デバイスＤ２は、論理的関連付け６８で示されているように、リモート・デスクトップ・クライアントＲＤＣ１と論理的に関連付けられている。
【００８０】
いくつかの構成では、ユーザからメッセージ・センターＭＣ２にアクセスできるように、またメッセージ・センターＭＣ２から印刷サービスＰＳ１、リモート・デスクトップ・クライアントＲＤＣ１、出力デバイスＤ１、Ｄ２にアクセスできるように、ファイヤウォールでポート８０（例えば、Ａｐａｃｈｅ  Ｗｅｂ  ＳｅｒｖｉｃｅｓによるＣＧＩ呼出しの処理用）とポート５１９０（インスタント・メッセージングおよびシステム通信ポート用）を開く必要がある。ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）が必要な場合、ファイヤウォールはさらに、ポート４４３を開く必要がある。無線データ・アクセス・ポイントＷＤＡＰ１は、セキュリティ上の理由から内部ファイヤウォール６０の背後に配置され、外部無線ユーザを内部ネットワークから遮断していることに注意されたい。
【００８１】
より複雑なシステム構成例７０が図６に示されている。この例では、システムには、ゾーン０、ゾーン１、ゾーン２の３つのゾーンが配備されている。ゾーン０には、すべての共有パブリック出力リソースを管理するルート・メッセージ・センターＭＣ０が含まれている。ゾーン１とゾーン２は、プライベート・ゾーンであり、パブリック・リソースとプライベート・リソースの両方を入れることができる。ゾーン１は、１つのパブリック・メッセージ・センターＭＣ１と、２つのプライベート印刷サービスＰＳ１、ＰＳ２と、２つのプライベートＷＤＡＰ（ＷＤＡＰ１、ＷＤＡＰ２）と、１つのパブリック・リモート・デスクトップ・クライアントＲＤＣ２と、２つのプライベート出力デバイスＤ２、Ｄ３と、１つのパブリック出力デバイスＤ４とを含む。ゾーン２は、２つのパブリック・メッセージ・センターＭＣ２、ＭＣ３と、２つのプライベート印刷サービスＰＳ３、ＰＳ４と、２つのプライベートＷＤＡＰ（ＷＤＡＰ１、ＷＤＡＰ２）と、１つのプライベート・リモート・デスクトップ・クライアントＲＤＣ５と、３つのパブリック・リモート・デスクトップ・クライアントＲＤＣ３、ＲＤＣ４、ＲＤＣ６と、３つのプライベート出力デバイスＤ６、Ｄ８、Ｄ９と、３つのパブリック出力デバイスＤ５、Ｄ７、Ｄ１０とを含む。ゾーン０には、３つのメッセージ・センター（ＭＣ１、ＭＣ２、ＭＣ３）が登録されているパブリック・メッセージ・センターＭＣ０が入る。これは登録済みリモート・デスクトップ・クライアント（ＲＤＣ１）も備える。各ゾーン内のプライベート・リソース（例えば、出力デバイスＤ２、Ｄ３、Ｄ８とリモート・デスクトップ・クライアントＲＤＣ５）はゾーンの外では共有されない。パブリック・リソースを管理するメッセージ・センターは、パブリック要求を介してアクセスできるようにルート・メッセージ・センターＭＣ０に登録される。
【００８２】
メッセージ・センターＭＣ０は、登録されているパブリック・メッセージ・センターへの参照を含むルート・レベルのメッセージ・センターである。システムのインストール後、企業所有メッセージ・センター（ＭＣ１、ＭＣ２）はルート・メッセージ・センターに登録する必要がある。多数のパブリック・リソースを管理する必要がある場合、構成に複数のルート・メッセージ・センターを入れることができる。そのような場合、一実施形態では、ルートＭＣを階層ツリーで表す。一般に、このような実装でのルート・メッセージ・センターの編成は柔軟性が非常に高い。１つの分類方法を例示するために地理的配置を使用すると、ツリー階層の最下位レベルは、特定の地域（例えば、カリフォルニア州、ミネソタ州、台湾、広東省）に対応し、下から２番目のレベルでは、その地域のＭＣのうちいくつかをより大きな地域ＭＣ（例えば、ＵＳ  ＭＣ、中国ＭＣ）にグループ分けし、階層のその上のレベルではさらに、下から２番目のレベルのＭＣのいくつかをより大きな地域ＭＣ（例えば、アメリカ、アジア、ヨーロッパ）にグループ分けすることができ、最終的に、この階層によりマスタＭＣはドメイン全体を表すことになる。企業や個人、政府に関して同様のアプローチを適用し、メッセージ・センター階層をセットアップできる。
【００８３】
登録されているメッセージ・センターは、ルート・メッセージ・センターに対しパブリック出力リソースに関するクエリを実行することができる。一実施形態では、サーチは、ＲＤＣパラメータ、つまりクライアントの名前、クライアントの郵便番号、またはクライアントが所在する州に基づくことができる。このサーチはさらに、ゾーン記述子またはゾーン・タイプに基づくこともできる。さらに、デバイス・リソースのサーチは、デバイス・リソース名またはデバイス・リソース記述に基づくこともできる。ゾーン０のルート・レベルのメッセージ・センターは、サーチ要求を受け取ると、そのデータベース内に見つかったレコードの識別子を返す。その後のサーチの実行では、それらの識別子を修飾として使用し、さらに広範囲にわたる情報を返す。
【００８４】
図１に戻り、メッセージ・センター・コンポーネントの詳細について説明する。リモート・デスクトップ・クライアントと印刷サービスは、コンポーネントの登録と登録解除コンポーネント１０を介してそれらのサービスへのアクセスを可能にするメッセージ・センターにその出力リソースを登録する。登録プロセス実行時に、出力リソース・タイプ（例えば、プリンタ、プロッタなど）は対応するタイプ定義データにより決定される。メッセージ・センターは、これらの出力リソースを収集し、パブリック出力リソースをルート・レベルのメッセージ・センターに登録する。ルート・メッセージ・センターは、十分な情報とともに各登録済みパブリック出力デバイスのレコードを作成し、他のメッセージ・センターがレコードに収められているデータを対応する参照として使用してリソースにリモートからアクセスできるようにする。
【００８５】
出力デバイスをメッセージ・センターから分離する必要がある場合は、メッセージ・センターに登録解除要求を送信する。それに対する応答として、メッセージ・センターはルート・メッセージ・センターから出力デバイスの登録解除を行う。出力デバイスがパブリック・リソースの場合、ルート・メッセージ・センター・データベース内の対応する共有レコードも削除される。
【００８６】
ジョブ要求受信タスク１２で、メッセージ・センターはジョブ要求を受信することができる。一実施形態では、メッセージ・センターは、ジョブ要求をサブミットするために呼び出すことができる一組のＣＧＩスクリプトを実行するＡｐａｃｈｅ  Ｗｅｂサーバを採用している。ＣＧＩスクリプトにより、印刷ジョブがメッセージ・センターのシステム・ジョブ・キューに追加される。ジョブ・キュー・エントリが作成されると、ジョブ・サブミットは完了したものとみなされる。
【００８７】
ジョブ要求がサブミットされた後、その要求の処理は、ジョブ要求処理タスク１４により実行される。ジョブ要求がシステムに入ると、メッセージ・センターが、リモート・ストア上のリモート・ソースの参照を通じてソース・データを収集するか、またはサブミット側が、ローカル・ソースをメッセージ・センターに送信する。次に、メッセージ・センターは、印刷サービスを特定し、ソース・データと送り先出力デバイスに対応する出力イメージ・ファイルを描画する。
【００８８】
出力イメージ・ファイルが作成された後、印刷サービスはメッセージ・センターにファイル参照を返し、その後、メッセージ・センターは対応するＲＤＣを呼び出して、描画されたイメージを出力デバイスに送信する。ＲＤＣまたは送信先のデバイスが使用可能な状態にない場合、印刷要求は遅延される。次に、システムは、構成可能再試行持続時間により定義されているように、印刷要求をＲＤＣに再送しようとする。これらのオペレーションは、ジョブ出力スケジューリングとキューイング・タスク１６により処理される。
【００８９】
ジョブ出力要求が出力デバイスに送信された後、ジョブ出力ステータス監視タスク１８を介してジョブ・ステータスがメッセージ・センターに返される。メッセージ・センターでは、その状態を更新し、現在のジョブ出力ステータスをユーザに通知する。現在の一実装では、システムはジョブ状態として、ＤＯＣＵＭＥＮＴ＿ＤＯＮＥ、ＩＮＰＵＴ＿ＰＥＮＤＩＮＧ、ＲＥＳＯＵＲＣＥ＿ＷＡＩＴ、ＩＮ＿ＰＲＯＧＲＥＳＳ、ＣＯＭＰＬＥＴＥ、ＣＡＮＣＥＬ＿ＢＹ＿ＵＳＥＲ、およびＥＲＲＯＲをサポートしている。
【００９０】
ピア・メッセージ・センター・インタラクション・タスク２０に従い、システム・アーキテクチャでは、さまざまなオペレーションにメッセージ・センターのピア・ツー・ピア通信を行うことができる。ピア・メッセージ・センター間の情報のやり取りには、ゾーン０ルックアップ・クエリやドキュメント経路選択要求、ドキュメント印刷要求、ステータス返信が含まれる。
【００９１】
メッセージ・センター・インタラクションの２つの例が図７および８に示されている。図７の例では、パブリック・デバイスへの後続の要求の準備のためユーザが自分のホーム・メッセージ・センターへの接続をパブリック・デバイスにどのように要求するかを説明している。クエリ手順は以下のように進行する。
１．ユーザ（Ｕ１）はパブリック・デバイス接続要求をユーザのホーム・メッセージ・センター（ＭＣ１）にサブミットする。このパブリック・デバイス（Ｄ２）はたまたまルート・メッセージ・センター接続デバイスである。
２．ユーザのホーム・メッセージ・センター（ＭＣ１）は、出力デバイスへのアクセスに関するクエリをルート・メッセージ・センター（ＭＣ０）に送る。
３．ルート・メッセージ・センター（ＭＣ０）は、指定された出力デバイスへの経路を特定し、接続要求をリモート・デスクトップ・クライアント（ＲＤＣ１）に送信する。
４．リモート・デスクトップ・クライアント（ＲＤＣ１）は、ユーザのホームＭＣ（ＭＣ１）に接続し、そこで、接続が確立される。
【００９２】
図８に示されている例は、ピア・ツー・ピア・メッセージ・センター要求に対応しており、手順は以下のとおりである。
１．ユーザ（Ｕ１）はパブリック・デバイス接続要求をユーザのホーム・メッセージ・センター（ＭＣ１）にサブミットする。このパブリック・デバイス（Ｄ２）はたまたま他のピア・メッセージ・センター（ＭＣ２）に登録されている。
２．ユーザのホーム・メッセージ・センター（ＭＣ１）は、ルートＭＣ（ＭＣ０）にクエリを送る。
３．ルート・メッセージ・センター（ＭＣ０）は、指定されたデバイスへの経路を特定し、接続要求を送信先のメッセージ・センター（ＭＣ２）に送信する。
４．送信先のメッセージ・センター（ＭＣ２）は、ルート・メッセージ・センター（ＭＣ０）からの照会を受け入れて、応答をルート・メッセージ・センター（ＭＣ０）に送り返す。
５．ルート・メッセージ・センター（ＭＣ０）は、「ＯＫ」応答を受信し、経路情報をユーザのホーム・メッセージ・センター（ＭＣ１）に送信する。
６．送信先のメッセージ・センター（ＭＣ２）は、ユーザのホームＭＣ（ＭＣ１）に接続し、そこで、接続が確立される。
【００９３】
ルート・レベル・メッセージ・センター・インタラクション・タスク２２によれば、ルート・レベルのメッセージ・センターという概念により、パブリック出力リソースの共有が助長される。ルート・レベルのメッセージ・センターでは、パブリック・リソースの高速ルックアップ用の位置を１カ所に集中させられるという利点があげられる。このようなメカニズムをサポートするために、ルート・レベルでないメッセージ・センターはルート・レベルのメッセージ・センターとやり取りして、パブリック・リソースをアナウンスするだけでなく、必要ならば他のユーザのパブリック・リソースについてのクエリも実行する必要がある。
【００９４】
リモート・デスクトップ・クライアントを利用することで、メッセージ・センターはジョブ要求を出力デバイスに送信することができる。また、セキュリティ・リスクが低減されるようにシステム全体を構成する場合にも使用できる。例えば、セキュリティ保護された出力デバイス用に内部ＲＤＣをセットアップし、パブリック出力デバイス用に外部ＲＤＣをセットアップすることができる。これらのオペレーションは、リモート・デスクトップ・クライアント管理タスク２４により処理される。
【００９５】
メッセージ・センターは、複数の印刷サービスに接続することができる。この考え方は、出力デバイスの管理効率を高めるために、印刷サービスを１つでなく複数を一組として使用するというものである。これらの印刷サービスは出力イメージを生成するための重要なコンポーネントであるため、メッセージ・センターはこれらの印刷サービスと非常に緊密な関係を保持する。これらのやり取りは、印刷サービス管理タスク２６により処理される。
【００９６】
Ｂｌｕｅｔｏｏｔｈや８０２．１１対応デバイスなどの無線デバイスをサポートするために、システムでは無線データ・アクセス・ポイントを１つまたは複数配備する。各ＷＤＡＰには一組の記述と情報が含まれ、対応するメッセージ・センターでの管理が必要である。例えば、各無線データ・アクセス・ポイントの動的デフォルト出力デバイスはＷＤＡＰの対応するＭＣにより維持される。これらのオペレーションは、無線データ・アクセス・ポイント管理タスク２８により処理される。
【００９７】
メッセージ・センターは、ユーザ・プロファイル管理タスク３０により示されているように、ログイン認証のユーザ・プロファイルおよびいくつかのデフォルト・サービス設定を保持している。例えば、各ユーザに対する静的デフォルト・プリンタや動的デフォルト・プリンタがユーザのプロファイルで定義されている。ユーザは、標準のＷｅｂインターフェイスまたはデバイス・インターフェイスを介して自分のプロファイルを修正することができる。
【００９８】
ユーザ・インターフェイス管理タスク３２は、システムに装備されているさまざまなユーザ・インターフェースを処理する。「コンシューマ」ユーザ・インターフェイスは、ユーザによるアカウント管理だけでなく、サービス要求の行使にも使用される。一実施形態では、コンシューマ・インターフェイスには、ホーム・ユーザ用に１つのセグメント、ゲスト・ユーザ用に別のセグメントを用意している。ゲスト・ユーザ・インターフェイスでは、セキュリティ上の理由から特定の条件下でシステム・リソースへの制限付きアクセスを許す。また、システムはデバッグやメンテナンス用に、さらに各種システム・コンポーネントとパラメータのセットアップ用に管理ユーザ・インターフェースを備えている。
【００９９】
印刷サービスは、図２に示されている５つの主要タスクを実行する。出力イメージ描画タスク３４で、印刷サービスがジョブ描画要求を受け取ると、ドライバレス・プリント（ＤＰ）サーバと呼ばれる内部コンポーネントがソース・データを収集し、そのデータをＤＰサーバ・キュー内に置く。その後、ＤＰサーバはＤＰＳプリント・モジュールを呼び出して、適切なドライバを特定し、出力イメージを生成する。ＤＰＳプリント・モジュールは、出力イメージを内部出力キューに入れ、制御権をＤＰサーバに返す。これらのオペレーションの詳細について、以下で詳述する。
【０１００】
ＤＰＳプリント・モジュールが制御権をＤＰサーバに返すと、ＤＰサーバはステータス・モニタ・モジュールを呼び出す。宛先デバイスがローカルで印刷サービスと接続されていない場合、ステータス・モニタはタスク３６に従って出力イメージを共有リポジトリに書き込む。その後、制御権をＤＰサーバに返す。宛先デバイスがローカル接続デバイスの場合、ステータス・モニタはタスク３８に従って出力イメージをデバイスに送信する。その後、制御権をＤＰサーバに返す。タスク４０により、ステータス・モニタがジョブ・ステータスをＤＰサーバに返した後、ジョブ・ステータスはメッセージ・センターに送り返される。ローカル出力デバイス管理タスク４２を使用することで、印刷サービスはローカル接続出力デバイスをサポートすることができる。これは、メッセージ・センターとの間のデバイス登録と登録解除を処理する。
【０１０１】
図３を参照すると、リモート・デスクトップ・クライアントでは、デバイス登録と登録解除タスク４４を介してデバイスのメッセージ・センターへの接続を管理することができる。登録するには、デバイス登録要求を送信して、メッセージ・センターと関連付けを確立する。登録解除するには、デバイス登録解除要求を送信して、メッセージ・センターから関連付けを削除する。
【０１０２】
リモート・デスクトップ・クライアントは、タスク４６に従って出力イメージ・ファイルを参照してメッセージ・センターからジョブ出力要求を受信する。これは、出力イメージ・ファイルを検索して、送り先出力デバイスに送信する。参照が使用されない場合、メッセージ・センターは、出力データをリモート・デスクトップ・クライアントに直接送信する。ジョブ出力の完了後、リモート・デスクトップ・クライアントは、ジョブ出力ステータスの更新およびタスク４８に基づくユーザへの連絡をメッセージ・センターに通知する。
【０１０３】
図４を参照すると、各無線データ・アクセス・ポイントは以下の主要タスクを実行することがわかる。無線データ・アクセス・ポイントは、メッセージ・センターに登録しシステムにリンクさせる必要があるが、これは、コンポーネントの登録と登録解除タスク５０を介して処理される。ＷＤＡＰ登録は、ＷＤＡＰのデフォルト出力デバイス（つまり、最も近い出力デバイス）をメッセージ・センターに通知することを目的としている。これにより、メッセージ・センターはモバイル・ユーザの動的デフォルト・プリンタを決定することができる。関連付けを削除するには、タスク５０で、登録解除要求を同じメッセージ・センターに送信する。
【０１０４】
無線デバイスから有線ネットワークにアクセスするには、要求を受信し、その要求を無線パケットから地上通信線パケットに変換するアクセス・ポイントが必要である。ＷＤＡＰサーバはシステムのデータ・アクセス・ポイントである。タスク５２により、非セルラー・デバイスの無線要求は無線データ・アクセス・ポイントを通じてシステムに入る。
【０１０５】
無線データ・アクセス・ポイントが接続要求を受け取ると、タスク５４に従って、その要求をＩＰパケットに変換し、さらにそのＩＰパケットを要求によって定義されている宛先に送信する。それと引き換えに、タスク５６でシステム応答が処理される。ユーザが第１のＷＤＡＰに近い第１の位置から第２のＷＤＡＰに近い第２の位置に移動するときに、システムは第２ＷＤＡＰを介して別のデバイス情報群をユーザに返す。したがって、デフォルト出力デバイスの詳細な計画を立て、メッセージ・センターと通信して出力デバイス地理的関係記録タスク５８に従ってデバイス情報を動的に生成できるようにすることがＷＤＡＰの重要な役割の１つである。
【０１０６】
上述のように、システムは、オプションのＢｌｕｅｔｏｏｔｈゲートウェイとＢｌｕｅｔｏｏｔｈデバイス・エミュレーションを使用することで、ＢｌｕｅｔｏｏｔｈでないデバイスであってもそれらのデバイスがＢｌｕｅｔｏｏｔｈ対応デバイスであるかのようにしてシステムを操作することができる。必要ならば、後述のように、Ｂｌｕｅｔｏｏｔｈゲートウェイ機能を無線データ・アクセス・ポイントに組み込み、ハードウェア・コストを低減することができる。
【０１０７】
オペレーション理論
この節では、システムの共通オペレーションとともに要求データの流れについても説明する。システムの特長および要件として際だったものをいくつか以下に示す。
１．ユーザはすべて、ホーム・メッセージ・センターに関連付けられている。
２．システムは、２つのメッセージ・センター間のセキュリティ、メッセージ・センターと印刷サービスとの間のセキュリティ、およびメッセージ・センターとＲＤＣとの間のセキュリティを強制することができる。
３．メッセージ・センターでは、自宅ユーザとゲスト（ビジター）ユーザによるリソースのアクセス制御が行える。
４．各ＷＤＡＰは、構成可能なデフォルト・プリンタが関連付けられている。
５．ＷＤＡＰを介してシステムにアクセスする場合、ユーザが自分のプロファイルで動的システム上書きの許可を指定すると、ユーザのデフォルト・プリンタは、ユーザが現在接続しているＷＤＡＰに基づいて変更される。
６．ゲスト・ユーザ・インターフェースを、ゾーン内でビジター印刷をサポートするメッセージ・センターに実装することができる。このようなインターフェイスでは、ユーザの登録も、プロファイルの作成も必要ない。したがって、静的デフォルト・プリンタ印刷をサポートしない。ただし、システムでは、ビジターによる動的デフォルト・プリンタ印刷が可能であり、オプションにより、ユーザは宛先プリンタを指定できる。
【０１０８】
このシステムはモジュール型アーキテクチャ設計と拡張可能なデータベース・スキーマを採用しているため、高度なセキュリティ方式を実装できる。第１に、ユーザ認証では、加入者データベースに、サポートされているアクセス・デバイスを介してシステムに入力されているユーザ・ログイン・データと突き合わせて確認するために使用されるユーザ・プロファイルが含まれる。この確認が失敗した場合、後で参照または調査できるようにシステムに記録が保管され、ログイン要求は拒否される。さらに、メッセージ・センターは、上のレベルのクライアントとサーバの認証に対する公開鍵インフラストラクチャによるサポートを実装できる。第２に、データ暗号化サポートでは、各モジュールが内容データの保護のため暗号化を実装できる。暗号化は、ファイル・ストアからメッセージ・センター、メッセージ・センターから印刷サービス、印刷サービスから出力リポジトリ、出力リポジトリからＲＤＣへ、強制することができる。第３に、非拒絶(non-repudiation)の実装の下で、システムは各加入者に一意的なＩＤを割り当てる。ユーザがシステムに要求をサブミットすると、その要求に対し即座に、ユーザのＩＤとタイムスタンプがタグとして付けられる。これがジョブ・サブミット要求である場合、複製がシステム内に生成され、ログが記録され、後で参照し請求できるようにアーカイブされる。
【０１０９】
上述のセキュリティ実装に加えて、モジュール型分散アーキテクチャのメリットとしてほかに、管理者が各組織の特定のニーズに基づきセキュリティ設定をカスタマイズすることができるという点があげられる。例えば、仮想プライベート・ネットワーク（ＶＰＮ）は、共有ファイル・サーバをメッセージ・センターにリンクするために使用できる。同様に、ＶＰＮは、メッセージ・センターとリモート・デスクトップ・クライアントとの間に実装することができる。システム・アーキテクチャでは、ソフトウェアとハードウェアの両方によるＶＰＮ構成をサポートしている。システム全体の構成に、公開鍵インフラストラクチャのサポートとともに、認証と認定の提供、データ保全性とデータ・プライバシーの保護、および非拒絶要求の充足を盛り込むことができる。
【０１１０】
ＲＤＣクライアント登録要求に従ってＲＤＣとメッセージ・センターとの間の情報のやり取りを説明する流れ図が図９に示されている。ＲＤＣは、セッション・パケットをメッセージ・センターに送信し、クライアント登録プロセスを開始する。一実施形態では、セッション・パケットに、クライアント記述子文字列、クライアント・タイプ、ファースト・ネーム、ミドル・ネーム、ラストネーム、住所１、住所２、市、州、郵便番号、ＵＳＥＲＩＤ、保護されたＰＡＳＳＷＯＲＤ、ＥＭＡＩＬ値など、メッセージ・センター上でクライアントを定義するためのさまざまなパラメータが含まれる。成功すると、クライアント識別子（ＣＩＤ）がＲＤＣに返される。
【０１１１】
ＲＤＣプリンタ登録要求に対応する流れ図が図１０に示されている。前のプロセスのように、ＲＤＣは、セッション・パケットをメッセージ・センターに送信し、プリンタ登録プロセスを開始する。パケットには、メッセージ・センターでクライアントを識別するデータが含まれ、登録するよう要求されたリソースのステータスを供給する（例えば、出力デバイス）。成功すると、プリンタ・リソース識別子（ＰＩＤ）がＲＤＣに返される。
【０１１２】
リモート・デスクトップ・クライアントは、他のパブリック・リソースにアクセスしたり、リソースを使用可能にするために、ＭＣに登録する必要がある。ＲＤＣがデバイス・リソース定義をメッセージ・センターにサブミットすることに対応する流れ図が図１１に示されている。ＲＤＣはデバイス・リソース定義パケットをメッセージ・センターに送信し、メッセージ・センター内にデバイス・リソースが定義されるようにする。一般に、この情報には、デバイス名、デバイス・タイプ、デバイス記述子、デバイス・ステータスが含まれる。
【０１１３】
クライアントがリモート・パブリック・デバイスにアクセスすること望んでいる場合、まずパブリック・デバイス・クエリを介してデバイスを特定する必要がある。このオペレーションでは、図１２の流れ図に示されているように、ホーム・メッセージ・センターはルート・メッセージ・センターに対し、使用可能なパブリック・デバイスのリストを求めるクエリを送る必要がある。その後、メッセージ・センターは、そのようなパブリック・デバイスがゾーン内でサポートされているかどうかを判別する。つまり、ホーム・メッセージ・センターは、そのようなパブリック・デバイスをサポートする登録されている印刷サービスを特定する必要があるということである。クエリに対する応答として、使用可能なパブリック・デバイスのリストが要求側に返される。パブリック・デバイスに対する登録されている印刷サービスのサポートが見つからなければ、リストに未サポート・パブリック・デバイスが記述されることはない。
【０１１４】
図１３、１４には、ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される参照による印刷（ＰＢＲ）ジョブ要求に対応する流れ図およびコンポーネント相互作用図をそれぞれ示している（例えば、図６のＵ１→Ｄ２、またはＵ１→Ｄ３）。ＰＢＲジョブ要求の下で、ユーザはリモート・ストア７４上に格納されているドキュメント７２（つまり、リモート・ソース）をターゲットの宛先プリンタで印刷することができ、リモートに格納されているドキュメントや宛先プリンタはユーザ・インターフェイス７６により選択することができる。
【０１１５】
非ＰＢＲジョブ要求に対応する処理の流れ図が図１５に示されている。この場合、オペレーションはすべて、ソース・データがユーザのデバイスからメッセージ・センターにアップロードされ、リモート・ソースを検索することはないという点を除き、ＰＢＲジョブ要求と似ている。
【０１１６】
図１６、１７は、ホーム・ドメイン内のユーザによりホーム・ドメイン内のリモート・デスクトップ・クライアントに接続されているローカル・プリンタにサブミットされるＰＢＲジョブ要求に対応する処理流れ図およびコンポーネント相互作用図をそれぞれ示している（例えば、図６のＵ１→Ｄ４）。この場合、出力イメージが印刷サービスにより描画された後、出力イメージ・ファイル８０として出力リポジトリ７８に格納される。その後、印刷要求が該当するＲＤＣ（例えば、ＲＤＣ２）に送信され、そこで、リポジトリから出力イメージ・ファイルを検索し、それを出力デバイス（例えば、Ｄ４）にサブミットして、物理的に描画する。完了後、メッセージ・センターを介して印刷完了通知がユーザに送り返され、ユーザ・インターフェイス７６に表示される。
【０１１７】
図１８、１９は、ホーム・ドメイン（例えば、ゾーン１）内のユーザによりサブミットされ、ルート・メッセージ・センターのパブリック出力デバイス（Ｄ１）で印刷するＰＢＲジョブ要求に対応する処理の流れ図とコンポーネント相互作用図を示している。このプロセスは、ＵＩを使用しユーザ・インターフェイス７６をアクティブにしてパブリック・デバイス・クエリを実行することから始まる。本質的に、このクエリにより、使用可能なパブリック・デバイスのリストが返される。オプションにより、ユーザは知られているパブリック・デバイスを選択することができ、クエリにより、パブリック・アクセスにデバイスが利用可能であることを確認するタスクを実行する。ユーザが自分のホーム・メッセージ・センター（ＭＣ１）にクエリをサブミットすると、そのＭＣはクエリをルートＭＣに転送する。次に、ルートＭＣはデータベースをチェックし、そのユーザの使用可能なプリンタすべてを調べる（クエリとともに送信されたユーザ認証情報、およびユーザのお気に入りのプリンタの構成済みリストに基づく）。ローカル印刷サービスが、ホーム・メッセージ・センターへの出力デバイス経路とともに識別される。その後、パブリック・デバイス情報がユーザに送り返され、ユーザはパブリック出力デバイスを選択し、印刷ジョブ要求をホームＭＣにサブミットすることができる。
【０１１８】
印刷ジョブ要求を受け取った後、ホームＭＣは印刷するドキュメントを検索し（この場合、ドキュメントはローカル・ソースなので、発信元デバイスからＭＣに送信される）、そのドキュメントを描画要求とともに送信先の印刷サービス（ＰＳ１）に送信する。次に、印刷サービスは、ドキュメントの出力イメージを描画し、出力リポジトリ７８に保存する。その後、描画が完了したという通知がＰＳからホームＭＣに送り返され、そこで、ホームＭＣは描画データ（例えば、出力イメージ・ファイル８０）を出力リポジトリから検索し、印刷要求を出力イメージ・データとともに送信先のリモート・デスクトップ・クライアント（ＲＤＣ１）に送信する。さらに、ＲＤＣは出力イメージ・データを送り先出力デバイス（ＤＣ１）に送信し、その後、ハードコピー出力が描画され、印刷完了通知がＲＤＣに返される。そして、ルートＭＣおよびホームＭＣを介して印刷完了通知がユーザに転送され返される。
【０１１９】
メッセージ・センターのアクセス・メカニズム
一般に、ホーム・メッセージ・センターにアクセスするメカニズムは３種類ある。つまり、有線ネットワーク接続、無線ネットワーク接続、無線Ｗｅｂセルラー接続である（本明細書で使用しているように、セルラー接続には、セルラー・ネットワークやＰＳＣネットワークを含むセル・ベースのインフラを介して実装された無線接続を含む）。例えば、セルラー・フォン（携帯電話）１００、ＰＤＡ  １０２、双方向ページャ１０４（例えば、Ｂｌａｃｋｂｅｒｒｙデバイス）を含む無線Ｗｅｂ対応デバイスのユーザは、複数のセルラー・タワー１０６およびセルラー・サービス・プロバイダのネットワーク・オペレーション・センター１０８を含むセルラー・ネットワークを介してメッセージ・センターＭＣｎにアクセスすることができる。
【０１２０】
米国では、無線インターネット（つまり、無線Ｗｅｂ）アクセスは、通常、ＷＡＰ対応デバイスとともに動作する無線アプリケーション・プロトコル（ＷＡＰ）を使用して実現される。アジアでは、無線インターネット・アクセスは、一般に、ｉ−ｍｏｄｅ（登録商標）プロトコルを使用して実現されている。ｉ−ｍｏｄｅプロトコルを使用してデータにアクセスするには、無線デバイスはｉ−ｍｏｄｅデバイスであるか、またはｉ−ｍｏｄｅとＷＡＰ接続の両方を行えなければならない。他の使用されるのが少ないプロトコルも、世界のあちらこちらで使用されている。図２０に示されている実施形態では、この無線Ｗｅｂ接続はさらに、ＷＡＰゲートウェイ・サーバ１１２をホストとするＷＡＰゲートウェイ１１０を介して使用することができる。オプションにより、無線サービス・プロバイダによって提供される機能に応じて、ｉ−ｍｏｄｅゲートウェイなどの他の種類の無線Ｗｅｂゲートウェイを使用することができる。
【０１２１】
ＷＡＰ対応デバイスは、そのようなデバイスにより使用されるように考案されたコンテンツを提供するさまざまなインターネット・サイトからデータにアクセスすることができる。このデータは、一般に、後述のように、無線マークアップ言語（ＷＭＬ）データとしてデバイスに配布される。ＷＭＬは、無線電話やＰＤＡ、ポケットＰＣなどの今日のハンドヘルド・デバイスで利用可能な低解像度ディスプレイと限られたナビゲーション機能を考慮して限られた閲覧能力を効果的に利用するように考えられた特別なマークアップ言語を含む。ＷＭＬは、ＨＤＭＬ（ハンドヘルド・デバイス・マークアップ言語）を含み、そのルーツをＸＭＬ（拡張マークアップ言語）にまで辿ることができる。さらに、ユーザ定義拡張機能をサポートするメタ言語も含む。
【０１２２】
ＷＡＰ対応デバイスでは、１つまたは複数のＷＡＰゲートウェイ・サーバ１１２を使用して実装される、ＷＡＰゲートウェイ（ＷＡＰゲートウェイ１１０など）を介して無線インターネット・コンテンツを提供するさまざまなＷｅｂサイトにアクセスすることができる。一般に、それぞれのＷＡＰゲートウェイは、無線インターネット・アクセスをサポートする地域内のさまざまなサービス・プロバイダにより運営されるが、サービス・プロバイダがＷＡＰゲートウェイ機能を共有することができる。つまり、ＷＡＰゲートウェイ・サーバは、無線Ｗｅｂサイト（無線ＷｅｂコンテンツをＷＭＬで直接符号化しない）からＨＴＴＰ（ハイパーテキスト・トランスポート・プロトコル）を介して検索されたＨＴＭＬ（ハイパーテキスト・マークアップ言語）データをＷＭＬに変換することを含む、ＷＡＰ対応デバイスとのやり取りを円滑に行えるようにする機能を備えるさまざまなソフトウェア・モジュールおよび／またはアプリケーションを実行する。これらの機能は、ＨＴＭＬデータをＷＭＬに変換するＷＡＰエンコーダ、スクリプト・コンパイラ、およびプロトコル・アダプタを含む。
【０１２３】
無線インターネット・コンテンツを作成するには、一般的に、Ｗｅｂサイト側で、そのサイトのページすべて、またはその一部についてテキスト専用バージョンまたは画像や動画を使用しないバージョンを作成しなければならない。今のところインターネットＷｅｂサイトのごくわずかが無線インターネット・コンテンツを提供しているにすぎないが、このようなサイトはＷＡＰ対応デバイスを購入する人々が増えるにつれ指数関数的に増大することが予想される。このようなテキスト専用コンテンツまたは画像や動画を使用しないコンテンツを用意する主な理由は、ＷＡＰ対応デバイスの表示画面の解像度が一般に非常に低く、また典型的な無線データ転送速度は地上通信線によるネットワークを介して使用可能なデータ転送速度に比べてかなり遅いことである。現在の無線インターネット・コンテンツの一部は、ＷＡＰゲートウェイでＷＭＬに変換しなければならないＨＴＭＬを含んでいるが、すでにＷＭＬで符号化されているデータを直接ＷＡＰゲートウェイに供給するＷｅｂサイトが多数存在していることに注意されたい。
【０１２４】
図２０を参照すると、通常のＷＡＰセッションは以下のように進む。ＰＤＡ  １０２などのＷＡＰ対応デバイスを操作しているユーザは、「ミニブラウザ」（そのセッションのＷＡＰクライアント）を開き、その後、ＷＡＰサービスをサーチするＰＤＡ  １０２の無線モデムを介して無線信号１１４を送出する。それに対する応答として、付近のセルラー・タワー１０６を経由して、ユーザが無線インターネット・アクセス加入サービス契約を交わしているサービス・プロバイダとの接続を確立する。その後、ユーザは、ミニブラウザによって提供されるＵＩを通じてＷｅｂサイトのＵＲＬを入力することにより表示したいＷｅｂサイトを選択する（ミニブラウザＵＩ  １０７で示されているように）。その後、サイトにアクセスする要求をＰＤＡ  １０２からＷＡＰゲートウェイ１１０に送信する。ＷＡＰゲートウェイ・サーバ１１２は、ＷｅｂサイトからＨＴＴＰを介してそのＵＲＬに対応する情報をこの場合はＨＴＭＬデータとして検索し、そのＨＴＭＬデータをＷＭＬ（無線マークアップ言語）に符号化する。上述のように、一部のインターネット・サイトでは、データはすでにＷＭＬ形式になっている場合があるため、ＨＴＭＬ−ＷＭＬ符号化は必要ない。
【０１２５】
本発明の一実施形態によれば、各メッセージ・センターＭＣｎは、後述のように、Ｗｅｂサーバ１１３を介して１つまたは複数のそれぞれのＵＲＬのホストとなる。ＨＴＭＬデータ１１４とＷＭＬデータ１１６により示されるように、Ｗｅｂサーバ１１３がホストになっているＵＲＬデータは、インターネット６０またはプライベート・ネットワークなどの通信ネットワークを介して、メッセージ・センターからＷＡＰゲートウェイに受け渡される。次に、ＷＭＬデータが、セルラー・タワー１０６を介してＷＡＰゲートウェイ・サーバ１１２からＰＤＡ  １０２に送信される。従来の閲覧方法と同様にして、ユーザは、ミニブラウザを介してユーザに表示される適切なＵＩコンポーネントをアクティブにすることによりサイト上のさまざまなページを閲覧することができ、それにより、ユーザとの情報のやり取りに対する応答として上述のと同様のプロセスが実行され、ユーザによって選択されたものに対応するコンテンツが表示される。
【０１２６】
無線Ｗｅｂアクセスに加えて、直接地上通信線接続、または地上通信線ネットワークと無線ネットワーク（例えば、８０２．１１ｂ）の組合せを含む通信リンク、またはＢｌｕｅｔｏｏｔｈ無線リンクを介してユーザ・デバイスにリンクされている地上通信線ネットワークを介してメッセージ・センターにアクセスできる。例えば、パーソナル・コンピュータ（ＰＣ）１１８やラップトップ１２０のユーザは、メッセージ・センターへの直接ネットワーク接続（例えば、ＬＡＮ接続）、またはインターネットなどのＷＡＮ接続を介してメッセージ・センターＭＣｎにアクセスできる。これらのネットワーク接続は両方とも、コンピュータ・ネットワーク１２２によって示されている。一実施形態では、ユーザは、後述のように、一組のＷｅｂページ１２６を通じて、ブラウザ・ベースのユーザ・インターフェイス１２４を介してシステムによって提供されるサービスにアクセスすることができる。
【０１２７】
一般に、ユーザ・インターフェイスは、８０２．１１（ＷｉＦｉともいう）接続をさらに含むリンクの場合と似ている。例えば、典型的な８０２．１１実装では、図２０のＰＤＡ  １２８などのＷｉＦｉ対応ユーザ・デバイスは、ＷＤＡＰ  １３０を介した有線ネットワーク（例えば、ネットワーク１２２）に接続されている。ＷＤＡＰは、ＷｉＦｉ対応デバイスからのすべての通信を制御し、その一方で、ネットワークに対してはデバイスを通常のクライアント接続をしているかのように見せかける。したがって、運用上の観点から、有線のクライアントとＷｉＦｉクライアントはメッセージ・センターには同じものとして見える。
【０１２８】
システムではさらに、Ｂｌｕｅｔｏｏｔｈ接続クライアントは選択した出力デバイスに印刷することができるが、ただし異なるメカニズムを使用する。このメカニズムに基づき、Ｂｌｕｅｔｏｏｔｈデバイスと直接通信しているとセルラー１３２などのＢｌｕｅｔｏｏｔｈ対応発信元デバイスに思い込ませるようにＢｌｕｅｔｏｏｔｈエミュレータを実装し、しかも発信元デバイスの組み込みＢｌｕｅｔｏｏｔｈユーザ・インターフェイス１３３に変更を加える必要がない。例えば、ユーザがＢｌｕｅｔｏｏｔｈ非対応の印刷／ファックス・デバイスに印刷することを望んでいるとする。この場合、フロントエンド・エージェントが付近の無線データ・アクセス・ポイントと通信できるようにするＢｌｕｅｔｏｏｔｈプリンタ／ファックス・エミュレータを実装する。一実施形態では、Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータをＷＤＡＰに組み込むことができる。これは、ＷＤＡＰ＋Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータ１３４で示される。オプションにより、Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータは、ネットワーク１２２にリンクされ通信している独立のデバイスとすることができる。一般に、Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータは、メッセージ・センターから検索した対応する出力デバイス情報を使用して必要なＢｌｕｅｔｏｏｔｈデバイス情報（例えば、印刷またはファックス・プロファイル）を生成し、プロファイルはメッセージ・センターから検索されたリソース情報を使用してオンザフライで作成される。したがって、一実施形態では、エミュレータは、メッセージ・センターと（組み込みまたは付近のＷＤＡＰを介して）インターフェイスをとるために採用されているバックエンド通信チャネルも備える。Ｂｌｕｅｔｏｏｔｈ対応デバイスが異なるアクセス・ポイントでシステムに接続する場合、対応するエミュレータはそのアクセス・ポイントに特有のプロファイル情報で応答する。
【０１２９】
このシステムでは、Ｂｌｕｅｔｏｏｔｈ  Ｂａｓｉｃ  ＰｒｉｎｔｉｎｇまたはＦａｘ  Ｐｒｏｆｉｌｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎにより定義されているような類似のＢｌｕｅｔｏｏｔｈデバイス・エミュレーションを通じて、Ｂｌｕｅｔｏｏｔｈ非対応デバイスをＢｌｕｅｔｏｏｔｈ対応デバイスであるかのように動作させることができ、したがって、無線コンピューティング環境で無線技術非対応デバイスを企業が管理するための簡素で費用効果の高い手段となっている。これらのオペレーションは、ユーザにとっても送信先のデバイスにとっても透過的である。さらに、レガシ・デバイスなどのリソースは現在メッセージ・センターにより管理されているため企業はこれらのレガシ・デバイスの修正、交換を行う必要がなく、さらにはアップグレードさえも必要としない。
【０１３０】
さらに、出力管理システムの「参照による印刷」機能をＢｌｕｅｔｏｏｔｈ対応発信元デバイスに拡張することもできる。例えば、一実施形態では、後述のＷＡＰインターフェイスを描画するＷＭＬコンテンツを、Ｂｌｕｅｔｏｏｔｈサービス上でＷＡＰ用に設計されているＷＡＰミニブラウザ１０７Ａを備えるＢｌｕｅｔｏｏｔｈ対応デバイスに供給することができる。このようなデバイスは、遠からず一般的なものになると思われる。このような構成で、Ｂｌｕｅｔｏｏｔｈ対応デバイスのユーザは、ＷＤＡＰ＋Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータを介して同じＷＭＬコンテンツをＢｌｕｅｔｏｏｔｈ対応デバイスに供給することにより無線Ｗｅｂユーザと実質的に同じようにしてシステムとやり取りすることができる。
【０１３１】
デフォルト・デバイス発見（ＷｉＦｉ）
システムは、モバイル・コンピューティング・プロトコルに適切に対応できるように静的および動的デフォルト設定という概念を導入している。例えば、メッセージ・センターは、ユーザのプロファイルでデフォルト・デバイス設定オプションを実装する。プリンタを例にとると、各ユーザに２種類のデフォルト・プリンタ、すなわち静的デフォルト・プリンタと動的デフォルト・プリンタがある。前者は、ユーザが有線接続（例えば、ＰＣ  １１８）を通じてシステムにアクセスする場合に選択され、後者は、ユーザが無線接続（例えば、Ｂｌｕｅｔｏｏｔｈ、８０２．１１など）を通じてシステムにアクセスする場合に選択される。たぶん、ユーザは、ユーザのクライアント・サイトで移動局を使用しているときには自分のオフィス・プリンタに出力を送信する機会はあまりないと思われる。アクセス方法を使用してデフォルト設定を自動的に切り替えるのが、かなり実用的であり手頃でもある。しかし、柔軟性の観点から、ユーザに対し、プロファイル構成を通じて動的デフォルト・プリンタ上書き機能を無効にするオプションが用意されている。
【０１３２】
図２１は、ＷＤＡＰを介してユーザがジョブをサブミットしたときに動的デフォルト・プリンタを決定するために使用されるオペレーションの詳細を説明する概略図である。まず第１に、無線デバイス１２８のユーザが無線データ・アクセス・ポイントＷＤＡＰ２との無線接続でシステムに入る。図に示されている例では、ユーザはＰＢＲジョブ要求をサブミットするものと仮定している。それに対する応答として、ＷＤＡＰ２は、ＰＢＲジョブ要求をメッセージ・センターに中継する。メッセージ・センターは、ＰＢＲジョブ要求に対応するファイル・ストア１３６からソース・データを検索する。メッセージ・センターでは、その要求がＷＤＡＰ２からのものであることを発見し、そのデバイス・データベースをチェックし、ＷＤＡＰ２と関連する動的デフォルト・プリンタが印刷サービスＰＳ１と関連する出力デバイスＤ１であることを知る。そこで、描画要求をＰＳ１に送信する。ＰＳ１はジョブ要求を描画し、その後、出力イメージ・データを出力デバイスＤ１に送信する。出力デバイスＤ１は、ジョブ出力を完了し、タスクの完了をＰＳ１に知らせる。ＰＳ１は次に、メッセージ・センターに知らせる。メッセージ・センターは、応答をＷＤＡＰ２に送信し、ジョブ要求が正常に完了したことをユーザに知らせる。その後、ＷＤＡＰ２は応答をユーザのデバイスに中継する。
【０１３３】
デフォルト・デバイス発見（Ｂｌｕｅｔｏｏｔｈ）
図２２Ａ、２２Ｂに示されている以下のケースでは、ＷＤＡＰ１とＷＤＡＰ２は、それぞれ、ＷＤＡＰ＋Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータ・デバイス１３８、１４０により示されているように、Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータを含むという点を除いてネットワーク構成は実質的に同じである。この両方のケースにおいて、プロセスはＢｌｕｅｔｏｏｔｈ対応発信元デバイス１３２のユーザが他のＢｌｕｅｔｏｏｔｈ対応デバイスとの初期化通信を求めることから始まる。これらの例では、発信元デバイスのＢｌｕｅｔｏｏｔｈ信号がＷＤＡＰ２＋Ｂｌｕｅｔｏｏｔｈデバイス・エミュレータ・デバイス１４０により受信され、これにより、Ｂｌｕｅｔｏｏｔｈ対応発信元デバイスとの通信リンクが確立される。
【０１３４】
この時点では、Ｂｌｕｅｔｏｏｔｈ対応デバイス・ユーザとシステムがやり取りするために使用できる一般的な種類のインターフェイスとして、基本的なＢｌｕｅｔｏｏｔｈ  ＵＩ（例えば、Ｂｌｕｅｔｏｏｔｈ  ＵＩ  １３３）と高度なＢｌｕｅｔｏｏｔｈ  ＵＩ（例えば、ＢｌｕｅｔｏｏｔｈミニブラウザＵＩ  １０７Ａ上のＷＡＰ）がある。基本的なＢｌｕｅｔｏｏｔｈ  ＵＩでは、エミュレータは、シミュレートされたＢｌｕｅｔｏｏｔｈ対応出力デバイス、または複数のこのような出力デバイスとして動作する。高度なＢｌｕｅｔｏｏｔｈ  ＵＩでは、エミュレータは、Ｂｌｕｅｔｏｏｔｈ上のＷＡＰを介してＢｌｕｅｔｏｏｔｈ対応デバイスにＷＡＰコンテンツを供給するつなぎの役を果たす。
【０１３５】
基本的なＢｌｕｅｔｏｏｔｈ  ＵＩが用意されていると仮定する。このケースは、図２２Ａに示されている。この場合、Ｂｌｕｅｔｏｏｔｈリンクを確立した後、ユーザはＢｌｕｅｔｏｏｔｈ対応出力デバイスをサーチする（または、ユーザは出力デバイスサーチ機能を使用してＢｌｕｅｔｏｏｔｈリンクを初期化する）。それに対する応答として、エミュレータは、ルート・メッセージ・センターに（直接的にまたは間接的に）接続し、情報のやり取りを円滑にするＷＤＡＰの近くにある出力デバイスに関係する情報を検索する。この種の情報はメッセージ・センターのデータベースに格納されるため、ＭＣはＢｌｕｅｔｏｏｔｈエミュレーション・パラメータ１４１を、ＷＤＡＰを介して使用できるさまざまな出力デバイスに対応するエミュレータに返すことができる。任意選択の実施形態では、エミュレータはユーザに認証を要求し（または、他の何らかの手段で、例えば一意的なデバイス識別子を使用してユーザを識別し）、そのユーザに固有の出力デバイスのリストを送ることができる。その後、エミュレータは、Ｂｌｕｅｔｏｏｔｈ対応発信元デバイスが１つまたは複数の対応するＢｌｕｅｔｏｏｔｈ対応出力デバイスと直接実際に通信しているものと思い込むように、使用可能な出力デバイスのエミュレーションを行う。例えば、使用可能な出力デバイスにレーザプリンター２種類とテキスト・プリンタが含まれる場合、エミュレータはこれら３つのプリンタすべてに対するＢｌｕｅｔｏｏｔｈデバイス・エミュレーションを実行する。１つのデバイスしか使用できない場合、そのデバイスがデフォルト出力デバイスになる。ユーザは、その後、Ｂｌｕｅｔｏｏｔｈ  ＵＩを介して出力デバイスを選択し、ソース・データを、直接Ｂｌｕｅｔｏｏｔｈ対応出力デバイスにアップロードするかのようにエミュレータにアップロードする。エミュレータは次にソース・データをメッセージ・センターに転送し、そこで、適切な印刷サービスを呼び出して、出力イメージ・データを生成し、選択した出力デバイスにサブミットして描画させる。
【０１３６】
図２２Ｂに示されている例によれば、ユーザは、メッセージ・センターをホストとするＢｌｕｅｔｏｏｔｈサービス上のＷＡＰを介してシステムにアクセスすることができる。最初に、Ｂｌｕｅｔｏｏｔｈ対応発信元デバイスとエミュレータとの間のＢｌｕｅｔｏｏｔｈ接続が上述のようにして確立される。その後、エミュレータは、メッセージ・センターに連絡してＷＭＬコンテンツを供給しＢｌｕｅｔｏｏｔｈミニブラウザ１０７ＡでＷＡＰを介してユーザ・インターフェイスを描画することを開始するが、これによりユーザは、ファイル・ストア１３６からソース・データを選択し出力デバイス（Ｄ１）を選択することができる。残りのオペレーションはすべて、図２１のＰＢＲの例について上で説明したのと実質的に同じようにして進行する。
【０１３７】
一実施形態では、システムはＢｌｕｅｔｏｏｔｈゲートウェイ１４２を採用するオプションの構成を含む。このゲートウェイにより、メッセージ・センターはＢｌｕｅｔｏｏｔｈデバイス・エミュレータと通信することができる。Ｂｌｕｅｔｏｏｔｈゲートウェイはさらに、デバイスと無線データ・アクセス・ポイントとの間のマッピングを追跡し、マップとメッセージ・センターとの同期をとる。このようなマッピングは、デバイス・エミュレータからの入力を使用するか、またはネットワークのスニッフィングにより計算される。
【０１３８】
システム接続トポロジ
図２３には、出力管理システムの通常の実装で発生しうるさまざまな接続経路と接続の種類を表すシステム接続トポロジの概要図１５０が示されている。実線は永続的接続を示し、波線は一時的接続を示す。コンポーネントの通信については、第１の規則として、ＰＳとＲＤＣは常に、メッセージ・センターへの接続を開始する。ピア・ツー・ピア・メッセージ・センター通信に対応する第２の規則によれば、この接続は常に、安全度の高いネットワークから安全度の低いネットワークへ開始される（例えば、プライベート・ネットワークからＤＭＺへ、ゾーン１  ＤＭＺからゾーン０  ＤＭＺへなど）。両方の規則が適用可能な場合、第１の規則が優先する。
【０１３９】
図２３の１５０では、図の真ん中に配置されているゾーン０は、すべてのＭＣがそのパブリック・リソース（例えば、出力デバイス）をアナウンスし、共有するための中央リポジトリを含むルート・メッセージ・センターＭＣ０を含む。したがって、ゾーン０内のコンポーネントは、安全度の適切な保護を使用する着信接続要求を受け入れるためにＤＭＺ内に配置するのが好ましい。ゾーン１およびゾーン２は、ゾーン０の両側に配置されており、それぞれセキュリティ対策が完全に施されたサブネット（つまり、プライベート・ネットワーク部分）とＤＭＺ部分を持つ２つの独立したネットワークを含む。ゾーン１、２のＤＭＺ内のＭＣ（ＭＣ１２、ＭＣ２２）は、パブリック・ソースと共有可能ソースを管理し、したがって、「パブリック」ＭＣと呼ばれる。内部企業ファイヤウォール１５２、１５４の背後にあるプライベート・サブネット内のＭＣ（それぞれＭＣ２１、Ｍ１１）は、プライベート・リソースを管理し、したがって、「プライベート」ＭＣと呼ばれる。
【０１４０】
以下に、本発明の一実施形態によるコンポーネントが常駐する位置を示すコンポーネント配備位置マップの表を示す。「パブリック・ネットワーク」は、インターネットに直接接続されているファイヤウォール保護機能のないネットワークを指す。通常、すべての着信した接続要求を受け入れる。「ＤＭＺ」は、制限付きで保護されているプライベート・ネットワークを指す。通常、着信した接続要求は、いくつかのよく知られているポートを通じてパッチされた場合に受け付けられる。「プライベート・ネットワーク」は、強力なファイヤウォール保護機能を持つネットワークを指す。通常、すべてではないとしても、ほとんどの、着信した接続要求をブロックする。プライベート・ネットワーク内での位置特定は、着信した接続要求がブロックされることを示唆しており、したがって、ジョブ要求へのブリッジとなるプロキシ（例えば、ＤＭＺ  ＭＣまたはルートＭＣ）を使用することでリソース共有がしやすくなる。ＭＣとＰＳは、明白なセキュリティ上の理由から、パブリック・ネットワーク内に配備すべきではない。ルート・メッセージ・センター（例えば、ＭＣ０）は、プライベート・ネットワーク上に配備することができないが、それは、パブリックＭＣが登録できるように少なくとも制限されたパブリック・アクセス権を与える必要があるからである。ＲＤＣをパブリック・ネットワーク内に配置し、広範なリソースを共有を可能にすることができるが、推奨しない。
【表１】
2005523489.tif 000003
【０１４１】
以下に、図２３の１５０のコンポーネント配備位置を説明するコンポーネント配備位置分類マップの表を示す。
【表２】
2005523489.tif 000004
【０１４２】
接続の種類、接続イニシエータ、データ転送の種類を含むコンポーネント同士の通信方法を記述した一組のＭＣネットワーク接続マップを以下の表３〜６に示す。性能上の理由から、永続的接続は、制御メッセージ交換（例えば、リソース・クエリ、リソース登録）に使用する場合に限るのが好ましいが、一時的接続は、制御メッセージ交換と非制御メッセージ交換の両方、つまりソース・ファイル・データ転送と描画出力イメージ・データ転送に使用できる。永続的接続を使用できる場合でも、一時的接続のサポートが暗黙のうちに含まれる。データ転送の種類は、「バッファによる」または「参照による」のいずれかである。「参照による」転送を使用できる場合でも、「バッファによる」転送サポートが暗黙のうちに含まれる。参照による転送は、送信者のファイル・ストアが受信者から見えない場合に使用できるオプションとなっていないことがある。このような場合、適切なＭＣで、データを宛先のリソースに導く。
【０１４３】
以下の表は、ＭＣ０ゾーン内ネットワーク接続マップに対応している。この表には、ルートＭＣと同じゾーン内の他のコンポーネントとの通信方法が説明されている。これはゾーン０内にあるので、「プライベート」ＭＣおよびＰＳは使用できない。
【表３】
2005523489.tif 000005
【０１４４】
以下に、ゾーン間通信の場合を除き、上の表３と同様のＭＣ０ゾーン間・ネットワーク接続マップを示す。この表には、ルートＭＣと異なるゾーン内の他のコンポーネントとの通信方法が説明されている。
【表４】
2005523489.tif 000006
【０１４５】
以下は、ゾーン０でないＭＣゾーン内ネットワーク接続マップである。この表には、ゾーン０でないメッセージ・センターと同じゾーン内の他のコンポーネントとの通信方法が説明されている。
【表５】
2005523489.tif 000007
【０１４６】
以下に、ゾーン間通信の場合を除き、上の表と同様のゾーン０でないＭＣゾーン間・ネットワーク接続マップを示す。この表には、ゾーン０でないＭＣと異なるゾーン内の他のコンポーネントとの通信方法が説明されている。
【表６】
2005523489.tif 000008
【０１４７】
一般に、システム内のコンポーネントはネットワーク・メッセージ・プロトコルを使用して交信する。例えば、リモート・デスクトップ・クライアントとメッセージ・センター・サーバとの間で通信を行うためのＲＤＣネットワーク・メッセージ・プロトコルがある。一実施形態では、ＲＤＣとＭＣサーバとの間の接続は、ＲＤＣからＭＣサーバ上でポート５１９０へのソケット接続により開始される。これらのソケット接続は、セッションが続く間永続的である。セッションは、クライアントとサーバとの間の接続対話として定義される。セッションの大半は、基本的に、クライアントに関連付けられているリモート・プリンタを宛先とする印刷ジョブがない限り、クライアントとサーバとの間で静止状態にある。セッションが開始すると、クライアントは多数のセッション・パラメータをクライアントに送り、接続セッションを確立する。
【０１４８】
サポートするデータ転送の種類
この節では、ジョブ要求データの処理方法と各コンポーネントへの転送方法について簡単に説明する。基本的なジョブ要求プロセスの流れは、以下のオペレーションにまとめることができる。１）入力ファイル・データをメッセージ・センターにアップロードし、２）ＭＣは識別されている宛先出力デバイスに基づいて出力イメージ描画のための適切な印刷サービスを特定し、３）ＭＣは入力データをＰＳに配信するか、またはＰＳに参照によりファイルにアクセスさせ、４）ＰＳは出力イメージを描画し、５）ＰＳは出力イメージをＭＣに転送するか、または出力イメージを共通リポジトリに蓄積し、６）ＭＣは出力データをＲＤＣに送信するか、またはＲＤＣに共通リポジトリへの参照によりファイルにアクセスさせる。実際のジョブ要求発信元と宛先によっては、ステージングＭＣがデータ送信をブリッジする必要がある場合がある。転送種類は、「参照による」と「バッファによる」の２つに分類される。一般に、参照による転送はバッファによる転送よりも効率がよいように見えるが（ファイル・スクーリングが少ないため）、セキュリティ上の制約（例えば、ファイヤウォール）によりネットワークの異なる部分に置かれている異なるコンポーネントから互いの参照を確認できない場合には実現できないことがある。このような場合、バッファによる転送がデータ送信の唯一の選択肢となる。以下の表では、データ転送の種類を定義している。
【表７】
2005523489.tif 000009
【０１４９】
ゾーン内ＭＣ（ＤＭＺ）−ＲＤＣ（パブリック）。この種類の通信の目的は、印刷要求をＤＭＺ  ＭＣから同じゾーン内の同じＤＭＺ内の同じＭＣに登録されているパブリック・ネットワーク内のＲＤＣに接続されているデバイスに送信することである。例えば、ＭＣ１２→ＲＤＣ１４の転送である。
【０１５０】
図２４の流れ図を参照すると、プロセスはブロック１６０から始まり、ユーザはユーザのホーム・メッセージ・センターに接続し、ログイン・オペレーションを実行する。ブロック１６２で、ユーザは、ユーザがシステムに接続する際の相手の発信元デバイスに対応するユーザ・インターフェイスを介して印刷要求をサブミットする。印刷要求は参照による印刷（ＰＢＲ）に対応する場合、ＭＣはブロック１６４で、ＵＩを介して指定され、ＰＢＲ要求により知らされたリモート・ストアからソース・データ（例えば、ソース・データが含まれる「入力」ファイル）をアップロードする。印刷要求が非ＰＢＲ要求に対応している場合（つまり、印刷するソース・データは、発信元デバイスに置かれている）、ＭＣはブロック１６６でバッファによりデバイスからソース・データをアップロードする。
【０１５１】
次に、ＭＣは、適切な印刷サービスを特定し、ブロック１６８でジョブ描画要求を送信する。一般に、適切な印刷サービスは、宛先出力デバイスと同じゾーン内にあるＰＳに対応し、宛先出力デバイスとソース・データの特定の特性に関して印刷サービスのサポートを行う（例えば、出力デバイスに対するドライバ・サポートを行い、またソース・データに対応するイメージ出力データを生成するために実行できるアプリケーションを用意する）。要求がＰＢＲの場合、ＭＣはブロック１７０で入力ファイルのネットワーク上の格納場所を識別する参照を印刷サービスに送る。要求がＰＢＲでない場合、ＭＣはブロック１７２でバッファにより入力ファイルをＰＳに送る。入力ファイルを検索した後または受信した後、ブロック１７４で、印刷サービスが出力イメージ・データ（出力イメージ・ファイル）を生成する。
【０１５２】
リポジトリを使用する場合、ＰＳはブロック１７６で出力イメージ・ファイルをリポジトリに蓄積し、ブロック１７８で参照により出力イメージをＭＣに転送する。この場合、出力イメージ・データはリポジトリ内のファイルに格納され、参照による転送は、ＰＳが経路、ファイル名、出力イメージ・ファイルのネットワーク位置をＭＣに送ることを意味する。リポジトリが使用されない場合、ＰＳはブロック１８０でバッファにより出力イメージをＭＣに転送する。
【０１５３】
このときに、ブロック１８２で、ＭＣは出力イメージを受信する適切なリモート・デスクトップ・クライアントを特定する。これは、一般に、宛先出力デバイスに基づいたデータベース・ルックアウトを通じて行われ、出力イメージを宛先出力デバイスにサブミットするために使用できるＲＤＣを識別する。その後、ＭＣは、ブロック１８４で、参照により出力イメージを識別されたＲＤＣに送信する。この参照を受信した後、ＲＤＣは出力イメージを検索し、ブロック１８６で、出力デバイスにサブミットし、出力デバイスにより描画する。ジョブの印刷が正常に完了したという情報が得られると、ＭＣはユーザに通知を送り返して、印刷ジョブが正常に印刷したことをユーザに知らせる。ブロック１８８で、簡単に表記すると、前記のプロセスは（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＰＢＢで表すことができる。
【０１５４】
ゾーン内ＭＣ（ＤＭＺ）−ＲＤＣ（ＤＭＺ）。この種類の通信の目的は、印刷要求をＤＭＺ内に配置されているメッセージ・センターからそのＭＣと同じゾーン内の同じＭＣに登録されている同じＤＭＺ内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１２→ＲＤＣ１３）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→（ＰＢＲ，ＰＢＢ）である。
【０１５５】
ゾーン内ＭＣ（ＤＭＺ）−ＲＤＣ（プライベート）。この種類の通信の目的は、印刷要求をＤＭＺ  ＭＣから同じゾーン内の同じＭＣに登録されているプライベート・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１２→ＲＤＣ１２）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→（ＰＢＲ，ＰＢＢ）である。
【０１５６】
ゾーン内ＭＣ（プライベート）−ＲＤＣ（パブリック）。この種類の通信の目的は、印刷要求をプライベートＭＣから同じゾーン内のＤＭＺ内の他のＭＣに登録されているパブリック・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ１４）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＳＢＢ→ＰＢＢである。
【０１５７】
ゾーン内ＭＣ（プライベート）−ＲＤＣ（ＤＭＺ）。この種類の通信の目的は、印刷要求をプライベートＭＣから同じゾーン内の同じＤＭＺ内の他のＭＣに登録されているＤＭＺ内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ１３）。対応する表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＳＢＢ→（ＰＢＲ，ＰＢＢ）である。
【０１５８】
ゾーン内ＭＣ（プライベート）−ＲＤＣ（プライベート）。この種類の通信の目的は、印刷要求をプライベートＭＣから同じゾーン内の同じＭＣに登録されているプライベート・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ１１）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→（ＰＢＲ，ＰＢＢ）である。
【０１５９】
ゾーン間ＭＣ（ＤＭＺ）−ＲＤＣ（パブリック）。この種類の通信の目的は、印刷要求をＤＭＺ  ＭＣから異なるゾーンからの外部ＤＭＺ内の他のＭＣに登録されているパブリック・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１２→ＲＤＣ２４）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＰＢＢである。
【０１６０】
ゾーン間ＭＣ（ＤＭＺ）−ＲＤＣ（ＤＭＺ）。この種類の通信の目的は、印刷要求を異なるゾーンからの同じ外部ＤＭＺ内の他のＭＣに登録されている異なるＤＭＺ内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１２→ＲＤＣ２３）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＰＢＢである。
【０１６１】
ゾーン間ＭＣ（ＤＭＺ）−ＲＤＣ（プライベート）。この種類の通信の目的は、印刷要求をＤＭＺ  ＭＣから異なるゾーンからの異なるＤＭＺ内の他のＭＣに登録されているプライベート・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１２→ＲＤＣ２２）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＰＢＢである。
【０１６２】
ゾーン間ＭＣ（プライベート）−ＲＤＣ（パブリック）。この種類の通信の目的は、印刷要求をプライベートＭＣから異なるゾーンからの異なるＤＭＺ内の他のＭＣに登録されているパブリック・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ２４）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＳＢＢ→ＰＢＢである。
【０１６３】
ゾーン間ＭＣ（プライベート）−ＲＤＣ（ＤＭＺ）。この種類の通信の目的は、印刷要求をプライベートＭＣから異なるゾーンからの同じ外部ＤＭＺ内の他のＭＣに登録されているＤＭＺ内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ２３）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＳＢＢ→ＰＢＢである。
【０１６４】
ゾーン間ＭＣ（プライベート）−ＲＤＣ（プライベート）。この種類の通信の目的は、印刷要求をプライベートＭＣから異なるゾーンからの異なる外部ＤＭＺ内の他のＭＣに登録されている異なるプライベート・ネットワーク内のＲＤＣに接続されているデバイスに送信することである（例えば、ＭＣ１１→ＲＤＣ２２）。対応する簡単な表記は、（ＵＢＲ，ＵＢＢ）→（ＤＢＲ，ＤＢＢ）→（ＴＢＲ，ＴＢＢ）→ＳＢＢ→ＰＢＢである。
【０１６５】
システム・ハードウェアの多層アーキテクチャ
一実施形態では、図２５の多層アーキテクチャ２００で示されているように、システムの実装に４層アーキテクチャ設計を使用している。このアーキテクチャの第１層はＷｅｂサーバ・ファーム（ＷＳＦ）２０２を含み、第２層はメッセージ・センター・ファーム（ＭＣＦ）２０４を含み、第３層は印刷サービス・サーバ・ファーム（ＰＳＳＦ）２０６を含み、第４層はデータベース・サーバ・ファーム（ＤＢＳＦ）を含む。以下では、各層について説明する。
【０１６６】
層１  Ｗｅｂサーバ・ファーム（ＷＳＦ）。この層は、ロード・バランサー（ＬＢ）２０８およびＷｅｂサーバ・ファーム２０２からなる。ロード・バランサーは、着信要求を受け取り、それらをＷｅｂサーバ・ファーム内のＷｅｂサーバの１つに分配する。Ｗｅｂサーバは、同じＵＲＬを共有しているので、ユーザはシステムにアクセスするためにＵＲＬを１つ覚えておくだけでよい。要求の分配は、ロード・バランサー２０８の構成によって異なる。ロード・バランサーは、Ｗｅｂサーバの位置と要求ディスパッチを処理する。割り当てられたＷｅｂサーバは、スクリプトをローカルで実行し、対応するデータベース・サーバ・ファームへの共通データベース・アクセス・インターフェイスを呼び出すことにより、ＮＦＳ（ネットワーク・ファイル・システム）またはＳＡＮ（ストレージ・エリア・ネットワーク）デバイス２１２に格納されているデータベース２１０を更新する。さらに、ロード・バランサーは、警告メッセージを管理者に送信し、Ｗｅｂサーバ・ファーム内にエラーが発生したことを示すことができる。
【０１６７】
層２  メッセージ・センター・ファーム（ＭＣＦ）。メッセージ・センター・ファームには、メッセージ・センター・ソフトウェア・コンポーネントの実行中の２つのコピーが含まれる。１つは、処理モードで実行中の１次ＭＣ  ２１４を含み、他方は、スタンバイ・モードで実行中の２次ＭＣ  ２１６を含む。１次ＭＣは、常に、着信要求に最初に応答する。１次ＭＣが応答しなかった場合、２次ＭＣは処理モードに切り替わり、その要求を処理する。その後、警告メッセージをシステム管理者に送信し、エラーがあることを示す。このフェイルオーバー・スイッチは、人間の介入なしで自動的に実行される。問題が解消し、１次ＭＣがオンラインに復帰すると、２次ＭＣは自動的にスタンバイ・モードに戻り、１次ＭＣに引き継ぎを知らせる。
【０１６８】
システムは、１次ＭＣと２次ＭＣとの間の「ハートビート検査」を実装することで、自動フェイルオーバー・スイッチをサポートする。この実装のために、各ＭＣには、２つのＥｔｈｅｒｎｅｔ（登録商標）インターフェイスと１つのシリアル・ポートが備えられている。４つのＥｔｈｅｒｎｅｔインターフェイスはすべて、同じサブネット内で接続され、シリアル・ポートは互いに接続されている。インストール後、ＭＣに対し、Ｅｔｈｅｒｎｅｔインターフェイス（フローティング・インターフェイス）のいずれか１つの同じフローティングＩＰアドレスと他のインターフェイス（静的インターフェイス）の異なる静的ＩＰアドレスが割り当てられる。１次ＭＣは、システム起動時に両方のＥｔｈｅｒｎｅｔインターフェイスを立ち上げる。しかし、２次ＭＣは、コンフリクトを避けるため静的インターフェイスのみを立ち上げる。２次ＭＣは、静的インターフェイスを通じてテスト・パケットを送出することにより１次ＭＣが使用可能かどうかをチェックする。１次ＭＣのフローティング・インターフェイスが到達可能でない場合、保証手段として、２次ＭＣがローカルで接続されているシリアル・ポートを使用して再びチェックし、問題の詳細を調べる。次に、２次ＭＣは、フローティング・インターフェイスを立ち上げて、着信要求を処理し、警告メッセージをシステム管理者に送信する。その間に、ハートビート検査を続行して、１次ＭＣの復旧したかどうかを検出する。１次ＭＣがオンラインに復帰すると、２次ＭＣはフローティング・インターフェイスを停止し、１次ＭＣにそのフローティング・インターフェイスを立ち上げるよう求める要求を送信する。２次ＭＣが常時スタンバイ状態にあることを確認するために、１次ＭＣは２次ＭＣに対しても同じチェックを実行するが、ただし、２次ＭＣに問題がある場合に警告メッセージを管理者に送信するだけである。ハートビート検査は、システムが稼働し、実行されている限り続く。ハートビートの間隔を設定し、システムの信頼性と性能を微調整することができる。
【０１６９】
層３  印刷サービス・サーバ・ファーム（ＰＳＳＦ）。この層は、ロード・バランサー２１８と印刷サービス・サーバ・ファーム２０６からなる。ロード・バランサーは、メッセージ・センター・ファーム２０４から着信要求を受け取り、ＰＳＳＦ  ２０６内の印刷サービス・サーバの１つに分配する。ＭＣＦは常に、同じ宛先ＩＰを使用して印刷サービスにアクセスする。要求の分配は、ロード・バランサー２１８の構成によって異なる。ロード・バランサーは印刷サービス・サーバの位置と要求ディスパッチを処理する。割り当てられた印刷サービス・サーバは描画要求を処理し、必要ならば出力イメージ・データを共有ＮＦＳまたはＳＡＮデバイスに蓄積し、その後、結果をＭＣＦに送り返す。さらに、ロード・バランサーは、警告メッセージを管理者に送信し、印刷サービス・サーバ・ファーム内にエラーが発生したことを示すことができる。
【０１７０】
層４  データベース・サーバ・ファーム（ＤＢＳＦ）。この層は、メッセージ・センター・データベース・サーバ・ファーム（ＭＣＤＳＦ）２２０と印刷サービス・データベース・サーバ・ファーム（ＰＳＤＳＦ）２２２を含む、２つのデータベース・サーバ・ファームからなる。これらのサーバ・ファームはそれぞれ、ＮＦＳサーバまたはストレージ・エリア・ネットワーク（ＳＡＮ）サーバ２２４および２２６に接続されており、各データベース２２８、２３０のホストとなる。
【０１７１】
データベース・サーバ・ファームは、層２のメッセージ・センター・ファームについて上述したのと同様の方法で互いのハートビート検査を実装する。しかし、高度な商用データベース・システムには、サーバのフェイルオーバー・スイッチを組み込んでいるものもある。このような場合、「サーバ・ファーム・ハートビート調査」の実装がなくても信頼性を保持できる。
【０１７２】
スケーラビリティ。層１と層３により多くの実行中インスタンスを生成すると、システム全体を拡張することができる。オプションのロード・バランサーを層２内に配置しても、システムを全面的に拡張することができる。このような場合、ロード・バランサーに対し各コンポーネントへのアクセス性を保証する役割を割り当てることができるためハートビート検査メカニズムは必要ない。
【０１７３】
セキュリティ。モジュール型アーキテクチャ設計と拡張可能なデータベース・スキーマを採用しているため、高度なセキュリティを実装できる。第１に、ユーザ認証では、システムへのユーザ・ログインがサポートされているデバイスを介して実行されたときに有効かどうかを確認するために使用されるユーザ・プロファイルが加入者データベースに含まれる。この確認が失敗した場合、後で参照または調査できるようにシステムに記録が保管され、ログイン要求は拒否される。さらに、メッセージ・センターは、上のレベルのクライアント認証とサーバ認証に対する公開鍵インフラストラクチャによるサポートを実装できる。第２に、データ暗号化サポートでは、各モジュールが内容データの保護のため暗号化を実装できる。暗号化は、ファイル・ストアからメッセージ・センター、メッセージ・センターから印刷サービス、印刷サービスから出力イメージ・リポジトリ、ファイル・イメージ・リポジトリからＲＤＣへの間で行うことができる。確かに、暗号化が多すぎると性能全体が低下するおそれがあり、暗号化が不十分だとユーザ・データが危険にさらされるおそれがある。第３に、非拒絶の実装では、システムは各加入者に一意的なＩＤを割り当てる。ユーザがシステムに要求をサブミットすると、その要求に対し即座に、ユーザのＩＤとタイムスタンプがタグとして付けられる。これがジョブ・サブミット要求である場合、複製がシステム内に生成され、ログが記録され、後で参照し請求できるようにアーカイブされる。
【０１７４】
上述のセキュリティ実装に加えて、システムのモジュール型分散アーキテクチャのメリットとしてほかに、管理者が組織のニーズに基づきセキュリティ設定をカスタマイズすることができるという点があげられる。例えば、仮想プライベート・ネットワーク（ＶＰＮ）は、共有ファイル・サーバとメッセージ・センターとの間の標準セットアップとして実装できる。同様に、ＶＰＮは、メッセージ・センターとリモート・デスクトップ・クライアントとの間に実装することができる。システム・アーキテクチャでは、ソフトウェアとハードウェアの両方によるＶＰＮ構成をサポートしている。システム全体は、公開鍵インフラストラクチャを設けるとともに、認証と認定を与え、データ保全性とデータ・プライバシーを保護し、非拒絶要件を充足させることができる。
【０１７５】
メッセージ・センター
メッセージ・センターは、（例えば、インターネットを介して）（一般に）パブリック・アクセスを提供し、ＲＤＢＭＳ（リレーショナル・データベース管理システム）データベースを実装する１つまたは複数のネットワーク接続サーバを備えている。図２６を参照すると、一実施形態では、メッセージ・センターＭＣｎはＵＮＩＸ（登録商標）サーバ２３２をホストとする。一般に、ＵＮＩＸや、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ、Ｌｉｎｕｘなどのオペレーティング・システムが稼働するサーバなど、さまざまなサーバ・クラスをメッセージ・センターのホストとして使用できる。サーバは、ＲＡＩＤ  ５ディスク・サブシステムなどの冗長コンポーネントおよび高可用性ハードウェアとして実装するのが好ましい。
【０１７６】
メッセージ・センターＭＣｎは、メッセージ・センターおよびその他のシステム・コンポーネントのオペレーションに関するデータが格納されるＲＤＢＭＳデータベース２２８を備える。一般に、ＲＤＢＭＳデータベースのホストは、ＳＱＬ  ＲＤＢＭＳデータベース・ソフトウェアであるが、これは、Ｏｒａｃｌｅ（例えば、８ｉまたは９ｉ）や、Ｍｉｃｒｏｓｏｆｔ（例えば、ＳＱＬ  Ｓｅｒｖｅｒ  ７または２０００）、ＩＢＭ（ＤＢ２）、Ｉｎｆｏｒｍｉｘ、Ｓｙｂａｓｅなどのベンダが販売しているものである。現在の実装では、ネットワーク・ソケット接続とＰＥＲＬおよびＣ言語プログラミングＡＰＩを利用するＭｙＳＱＬ  ＲＤＢＭＳが使用されている。オプションで、データベース２２８のホストを非ＳＱＬ  ＲＤＢＭＳとすることもできる。
【０１７７】
各メッセージ・センターは、さらに、図１を参照して上で説明したタスクを処理するさまざまなソフトウェア・モジュールを備える。これらは、メッセージ・ハンドラ２３４、テーブル更新ハンドラ２３６、テーブル・メンテナンス・オペレーション２３８、印刷サービス通信チャネル２４０を含む。さらに、メッセージ・センターは、Ｗｅｂトラフィックとのインターフェイス用にＷｅｂサーバ・コンポーネントを備える。一実施形態では、リモート・サーバ・メンテナンスと管理さらに印刷サービス通信オペレーションとをサポートするためＰＨＰ４サーバやＳＳＬサーバの拡張および関連するＣＧＩアプリケーションとともにＡｐａｃｈｅ  Ｗｅｂサーバが使用される。
【０１７８】
メッセージ・ハンドラ２３４は、特定のネットワーク・ポート（例えば、システム・ポート５１９０）に束縛されたサービスとして実行される。リモート・デスクトップ・クライアントは、このポートを使用してメッセージ・センターに接続され、セッションが持続している間中永続的接続を維持する。メッセージ・センターとＲＤＣとの通信は、コネクション型であり、それぞれのセッションは、ネットワーク・メッセージ・プロトコルを使用する特定のフェーズからなる。メッセージ・センターとリモート・デスクトップ・クライアントとの通信は、ＲＤＣがセッション起動プロセスを開始したときに始まり、不意に切断したり（ネットワーク接続が途絶えるか、またはＲＤＣホスト・マシン（例えば、ＰＣ）がシャットダウンしたりＲＤＣアプリケーションが異常終了してＲＤＣにエラーが発生した結果生じる）またはＲＤＣがセッション停止プロセスを開始したときに終了する。
【０１７９】
テーブル更新ハンドラ（ＴＵＨ）２３６は、ＲＤＢＭＳシステムのネイティブのＡＰＩで書かれた一組のデータベース・メソッドからなる（例えば、ＭｙＳＱＬ  ＲＤＢＭＳ実装の場合には、Ｃ言語やＰＥＲＬ言語のＡＰＩを使用し、Ｏｒａｃｌｅ  ＲＤＢＭＳ実装の場合には、ＰＬＳＱＬストアド・プロシージャを使用する）。このモジュール内のメソッドは、リモート・プリンタのリソース・ステータスの修正の機能、無線加入者プロファイルの追加、削除、修正の機能、印刷サービスのジョブ・キュー管理テーブルの更新、その他各種の機能からなる。
【０１８０】
テーブル・メンテナンス・オペレーション（ＴＭＯ）モジュール２３８は、ログとレポートを生成し、テーブルを定期的にパージし、データベース・テーブルの問題を解消するために必要なメンテナンス機能を実行する一連の個別データベース・オペレーションを備える。これらの機能の一部は、アドホックで実行されるが、他の機能は、定期的に、例えば、毎時、毎日、または毎週、実行するようにスケジューリングされる。このモジュールの一部の機能は、ポート８０上のＣＧＩインターフェイス（またはＳＳＬ）を介して使用できる。
【０１８１】
印刷サービス通信チャネル２４０は、印刷サービス・コンポーネントによるメッセージ・センターへのアクセスを行うためメッセージ・チャネルを実装する。このチャネルを使用することで、システム内の印刷サービスはメッセージ・センターに接続してジョブ・キュー管理ステータスを更新することができる。一実施形態では、このチャネルは、メッセージ・センターのポート８０またはＳＳＬポートにより実装されており、メッセージング機能を備えるＡＰＩはＣＧＩスクリプトを含む。
【０１８２】
データベース・スキーマ
一般に、メッセージ・センターのＲＤＢＭＳスキーマは、リモート・プリンタ・リソース管理（ＲＰＲＭ）データベース２４２、ジョブ印刷キュー管理（ＪＰＱＭ）データベース２４４、無線加入者（ＳＵＢ）データベース２４６など、３つの別々のデータベースを含む。ＲＰＲＭデータベースには、プリンタ・リソース・レジストリと、ＲＤＣプロセスと、プリンタ資産管理に関係するテーブルが含まれる。ＪＰＱＭデータベースには、印刷サービスにより処理される印刷ジョブのサブミットに関係するテーブルが含まれる。無線加入者データベースには、無線加入者に関係するテーブルが含まれる。
【０１８３】
ＳＵＢデータベース・テーブル
加入者テーブル。このテーブルには、システム内の無線加入者に関する特定の情報が含まれる。加入者は、１回限りの登録手順でこのテーブル内のフィールドに入力する。「ＨＴＴＰ＿Ｘ＿ＵＰ＿ＤＥＶＣＡＰ」で始まる記述に対応するフィールドに、無線デバイスのいくつかの機能を定義しているＨＴＴＰ  ＧＥＴヘッダ内の無線デバイスから返されるデバイス機能の値が入る。ＳＵＢ＿ＮＯフィールドには、登録時に加入者により入力されたセルラー番号に関連付けられた一意的な加入者番号が記述され、これを使用して、すべてのセッションの加入者を識別する。インデックス・フィールドＳＵＢ＿ＩＤは、レコード毎に一意であり、これを使用して、後述のＮＥＴＷＯＲＫ＿ＳＩＴＥＳおよびＰＲＩＮＴＥＲＳテーブルを参照（つまり、リンク）する。
【表８】
2005523489.tif 000010
【０１８４】
ネットワーク・サイト・テーブル。このテーブルには、加入者によって追加されたネットワーク・サイトを定義する複数のフィールドが含まれ、また各サイトのログイン情報も含まれる。
【表９】
2005523489.tif 000011
【０１８５】
プリンタ・リソース・テーブル。このテーブルには、特定の加入者に対するプリンタ・リソースを定義するために必要な情報のいくつかのフィールドが含まれる。
【表１０】
2005523489.tif 000012
【表１１】
2005523489.tif 000013
【０１８６】
ＲＰＲＭデータベース・テーブル
マスタ・プリンタ・リソース・テーブル。このテーブルには、システム全体のリモート・プリンタ・リソース構成とステータス情報が特定のメッセージ・センター上に登録されている印刷リソース毎に記述される。
【表１２】
2005523489.tif 000014
【０１８７】
ゾーン記述子テーブル。このテーブルでは、システム全体のネットワーク内で定義されているゾーンのパラメータを定義する。このテーブル内のレコードは、ゾーン識別子（ＺＩＤ）値により参照される。ＺＯＮＥ＿ＤＥＳＣ記述子、ＺＯＮＥ＿ＴＹＰＥ、ＳＴＡＴＵＳフィールドは、ゾーンの特性を記述する。
【表１３】
2005523489.tif 000015
【０１８８】
メッセージ・センター・テーブル（ＭＣＴ）。このテーブルには、システム内のメッセージ・センターを参照するために使用される情報が含まれる。これらのプロセスは、メッセージ・センター識別子（ＭＣＩＤ）により識別され、値はシステム全体に影響を及ぼす一意的な値である。すべてのＰＵＢＬＩＣリソースについて、０に等しいＭＣＩＤで常に参照されるマスタ・メッセージ・センターがあり、他のすべてのメッセージ・センターのＭＣＩＤ値はゼロでない正数であることに注意されたい。ＭＣＴには、メッセージ・センターのＺＯＮＥおよびネットワーク・アドレスを識別する情報が含まれる。マスタ・メッセージ・センターのＺＯＮＥ識別子（ＺＩＤ）は０に等しく、他のすべてのメッセージ・センターのＭＣＩＤ値は０でない正数値であることに注意されたい。
【表１４】
2005523489.tif 000016
【０１８９】
クライアント記述子テーブル。このテーブルでは、リモート・プリンタ・リソースに関係する個々のクライアントを定義する。このテーブル内のレコードは、クライアント識別子（ＣＩＤ）により参照される。ＣＬＩＥＮＴ＿ＤＥＳＣ、ＣＬＩＥＮＴ＿ＴＹＰＥ、名前およびアドレス・フィールドで、クライアントの属性を定義する。このテーブルに格納されている情報は、デスクトップ・クライアント・ソフトウェアを個人がインストールするか、または企業ファイヤウォールの背後にあるＰＣ上にインストールするときに登録プロセスを実行する際に生成される。印刷ジョブ・キュー情報には、クライアント・プロセスを印刷するジョブに関連付けるＣＩＤ識別子が含まれる。
【表１５】
2005523489.tif 000017
【０１９０】
ジョブ印刷キュー管理データベース・テーブル
印刷サービス・テーブル。このテーブルには、ネットワーク内にインストールされている登録された印刷サービスが記述される。このテーブル内のレコードは、ＭＰＩＤ識別子により参照される。（現在の実装では、印刷サービス・サーバは、「ＭＡＧＩＣＰＲＩＮＴ」（商標）サーバと呼ばれており、したがって、識別子名ＭＰＩＤを使用している。これらの印刷サーバは、この明細書では、ドライバレス・プリント・サーバ（ＤＰＳ）とも呼ばれる。）名前記述子、ＩＰアドレス、ステータス、サーバ記述子文字列フィールドを使用して、各印刷サービスの属性を定義する。印刷サービス・サーバ上のドライバの種類毎に入力することに注意されたい。特定のローカルに置かれているサーバについては、ＺＩＤ識別子を使用して関連するゾーンを参照する。
【表１６】
2005523489.tif 000018
【０１９１】
印刷キュー・テーブル。このテーブルでは、ネットワークのプリンタ・キューを管理する。このテーブル内の各レコードは、ＱＩＤ識別子により参照される単一の印刷ジョブを表す。システム全体の設計は、遅らされた印刷ジョブ機能を促進させ、ＱＤＡＴＥとＤＱＤＡＴＥフィールドにより、ジョブ・キュー入口と出口の日時を追跡する。このテーブル内の識別子の大半は、このテーブルから印刷ジョブが処理された後ＪＯＢキュー・ログ・テーブルにコピーされる。ＤＲＩＶＥＲＤＥＳＣ文字列には、ドキュメントを処理するために使用されたプリンタ・ドライバの種類およびＰＩＤ識別子により参照され、ＣＩＤ識別子により参照されるデスクトップ・クライアントに関連付けられているリモート・プリンタ・リソースを定義する情報が含まれる。
【表１７】
2005523489.tif 000019
【０１９２】
ＪＯＢキューＬＯＧテーブル。ＪＯＢキューＬＯＧテーブルには、処理済み印刷ジョブをログに記録するための情報が含まれる。このログ内のジョブは、ＪＯＢログＩＤ（ＪＩＤ）値により参照される。印刷キュー・テーブルからフィールドがこのテーブルに転送される。印刷サービス・サーバはＭＰＩＤ識別子により参照される。ジョブを印刷するのに使用されるクライアントはＣＩＤ識別子により参照される。ＣＩＤに関連するリモート・プリンタ・リソースはＰＩＤ識別子により参照される。さらに、ＪＯＢ所有者記述子文字列を記述し、印刷ジョブの発信者を識別する。
【表１８】
2005523489.tif 000020
【０１９３】
印刷サービスＰＳｎに使用されるソフトウェア・コンポーネントの一実施形態の詳細な説明が図２７に示されている。ソフトウェア・コンポーネントは、論理的に、セットアップ・コンポーネント３００、メッセージ・センター通信インターフェイス３０１、ドメイン処理コンポーネント３０２、管理コンポーネント３０４を含む４つのグループに分けられる。これらのコンポーネントはそれぞれさらに、１つまたは複数のソフトウェア・アプリケーション、スクリプト、コンポーネント、／またはモジュールを含む。セットアップ・コンポーネント３００は、印刷セットアップ・モジュール３０６およびアカウント・ウィザード・モジュール３０８を備える。メッセージ・センター通信インターフェイス３０１は、メッセージ・センター通信チャネル３１０への印刷サーバを含む。ドキュメント処理コンポーネント３０２は、ＣＧＩスクリプト３１１、ドライバレス・プリント・サーバ・コンポーネント３１２、ポート・モニタ３１４、ステータス・モニタ３１６、プレビュー・モジュール３１８を備える。管理者コンポーネント３０４は、システム・モニタ３２０、管理（コントロール・パネル）Ｗｅｂページ３２２、自動拡張モジュール３２４、自動更新モジュール３２６を含む。
【０１９４】
一実施形態では、プリンタ・セットアップ・モジュール３０６は、システムで使用するＷｉｎｄｏｗｓプリンタの構成を変更するためシステム管理者によって実行されるＭｉｃｒｏｓｏｆｔ（ＭＳ）Ｗｉｎｄｏｗｓアプリケーションを含む。このアプリケーションを使用して、既存のプリンタの変換、新規プリンタのインストール、またはプリンタの削除を行うことができる。既存のプリンタの変換では、既存のプリンタのインストールを行い、ＭＳ  Ｗｉｎｄｏｗｓのポート・モニタによって提供されるオペレーションをポート・モニタ３１４で置き換える。ポート・モニタ３１４を使用することで、ＤＰＳシステムによりスプール・ファイルを操作し、これによりステータス・モニタ３１６はスプール・ファイルを選択した宛先出力デバイスに送信することができる。
【０１９５】
印刷セットアップ・モジュール３０６は、新規プリンタを適切なプリンタ・デバイス・ドライバとともにインストールする場合にも使用できる。例えば、管理者はプリンタのＰｏｓｔＳｃｒｉｐｔプリンタ記述（ＰＰＤ）ファイルを使用しＡｄｏｂｅ  ＰｏｓｔＳｃｒｉｐｔ（商標）ドライバをインストールしてＤＰＳシステムで使用することによりＰｏｓｔＳｃｒｉｐｔプリンタをセットアップすることができる。管理者がＰＤＤを用意できれば、セットアップ・モジュールは、ＰｏｓｔＳｃｒｉｐｔドライバをインストールし、ＤＰＳシステムで使用できるように構成する。他の場合、管理者は新規プリンタに対する適切なプリンタ・デバイス・ドライバ・ソフトウェアを用意する。プリンタ・セットアップ・モジュール３０６はさらに、プリンタの削除にも使用できる。このような場合、Ｗｉｎｄｏｗｓポート・モニタをシステムのポート・モニタとして復元するか、または選択したプリンタのＤＰＳサーバのサポートを完全に削除することができる。
【０１９６】
アカウント・ウィザード・モジュール３０８は、セキュリティを一組の管理用Ｗｅｂページ３２２に適用し、管理者がログインして、アクセスできるＷｅｂページ・セットを決定できるようにする。一実施形態では、システムは、モニタ、マネージャ、管理レベルの３種類の管理レベルを実装する。一実施形態では、アカウント・ウィザードはこれら３つのグループをＭＳ  Ｗｉｎｄｏｗｓユーザ・グループとして作成する。さらに、アカウント・ウィザードは、ＭＳ  Ｗｉｎｄｏｗｓユーザ・アカウントを作成して、それらを管理ユーザ・グループの１つに置く。一実施形態では、アカウント・ウィザード・モジュール３０８は、ＭＳ  Ｗｉｎｄｏｗｓアプリケーションである。
【０１９７】
印刷サービスからメッセージ・センターへの通信チャネル３１０を使用することで、印刷サービスとメッセージ・センターとの間で通信を行うことができる。通信には、印刷サービス登録と登録解除、ジョブ描画要求、ジョブ印刷要求、デバイス登録と登録解除、デバイス・ステータス・クエリなどが含まれる。
【０１９８】
ＣＧＩスクリプト３１１の詳細な説明が図２８に示されている。「印刷ジョブをキャンセル」ＣＧＩスクリプト３２８を使用して、印刷ジョブ要求をシステムから削除する。管理用Ｗｅｂページ３２２から、システムにサブミットされ、スプール・ファイルがまだプリンタに送信されていないあらゆる印刷ジョブに対してスクリプトを呼び出すことができる。このスクリプトを、メッセージ・センターから呼び出すこともできる。
【０１９９】
自動拡張構成ＣＧＩスクリプト３２９は、印刷サービス・ホストにインストール済みアプリケーションがないかサーチし、見つかったアプリケーションによりサポートできるドキュメント・タイプを発見し、発見されたファイル・タイプの印刷ジョブ要求を実行できるように印刷サービスを構成する。この情報をメッセージ・センターに転送することで、リソース構成情報を更新できる。システム更新ＣＧＩスクリプト３３０を使用して、インストール済みシステム・コンポーネントと最新の利用可能なコンポーネントとを比較し、新しいコンポーネント（該当する場合）をダウンロードし、ＰＳホストにインストールする。
【０２００】
印刷要求ＣＧＩスクリプト３３１は、メッセージ・センターからソース・データ（例えば、ドキュメント・ファイル、グラフィック・イメージ・ファイル、またはＵＲＬ）を入力として受け取り、印刷サービスで処理される印刷ジョブ要求を作成する。ジョブ・キューＣＧＩスクリプト３３２は、システムから印刷ジョブ要求のキューを読み出し、そのリストをスクリプトの呼び出し側（例えば、ＭＣ）に返す。「ＣＧＩをプレビュー」ＣＧＩスクリプト３３３は、メッセージ・センターからドキュメント・ファイル、グラフィック・イメージ・ファイル、またはＵＲＬを受け取り、システム上で印刷要求ＣＧＩスクリプトと同様の方法により印刷ジョブ要求を作成する。しかし、プレビューＣＧＩスクリプトが呼び出されると、システムは、ドキュメント、イメージ、またはＷｅｂページを、プリンタに送信して印刷するのではなく、発信元デバイスのユーザ・インターフェイスに表示できる形式に変換する。ドキュメント、イメージ、またはＷｅｂページに対しプレビューＣＧＩスクリプトをもう一度呼び出して、プレビュー済みアイテムを選択した出力デバイスに送信するようシステムに指令を出すことができる。
【０２０１】
リセットＣＧＩスクリプト３３４は、システム・アプリケーションを閉じて、再度起動する。このスクリプトは、プログラム・エラーが発生した場合にそのエラーをクリアするための最後の手段としてシステム管理者によって使用される。ステータスＣＧＩスクリプト３３５は、印刷ジョブ要求の進行状況を示す管理用Ｗｅｂページ３２２を表示する。
【０２０２】
ドライバレス・プリント・サーバ３１２によって実装されるコンポーネントが図２９に示されている。ドライバレス・プリント・サーバは、印刷サービスによって使用される主要ソフトウェア・コンポーネントである。これは、ジョブ要求を受け付け、その要求をキューに入れ、要求から最終印刷までのドキュメント、イメージ、またはＵＲＬの印刷プロセスを指令する印刷サービス・ホスト（つまり、サーバ・コンピュータ）上で実行されるアプリケーションを含む。ドライバレス・プリント・サーバ・コンポーネントには、ファイル・タイプ構成リスト３３６、ブラウザ印刷コンポーネント３３７、補助アプリケーション印刷コンポーネント３３８、シェル拡張印刷コンポーネント３３９、印刷プレビュー・コンポーネント３４０、ジョブ要求サーバ・コンポーネント３４１、ジョブ処理コンポーネント３４２、ウィンドウ処理コンポーネント３４３、ジョブ・ステータス・コンポーネント３４４がある。
【０２０３】
ファイル・タイプ構成リスト３３６は、ドライバレス・プリント・サーバによって保持される。構成リストには、ファイル・タイプ毎に、拡張子とそのファイル・タイプを印刷するために使用される方法が記述される。補助アプリケーション印刷コンポーネント３３８側で印刷方法を用意している場合、リストには、印刷に使用されるアプリケーションへのパス、アプリケーションが印刷に使用するメニュー・コマンド、アプリケーションがアプリケーションを閉じるために使用するメニュー・コマンドが含まれる。
【０２０４】
ブラウザ印刷コンポーネント３３７は、ドライバレス・プリント・サーバが出力イメージ・データの生成に使用する３つの方法のうち１つを備える。一実施形態では、このコンポーネントは、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（ＩＥ）Ｗｅｂブラウザによって提供されるアプリケーション・プログラミング・インターフェイス（ＡＰＩ）を使用する。コンポーネントは、ＩＥ  ＡＰＩを使用して、ドライバレス・プリント・サーバ・アプリケーションのウィンドウ内でブラウザを実行する。ＵＲＬを印刷するために、ドライバレス・プリント・サーバは、用意されているナビゲーション・プログラミング・インターフェイスを使用してＷｅｂページをウィンドウにロードする。ページがロードされた後、コンポーネントは印刷プログラミング・インターフェイスを提供しているＩＥを使用して、印刷オペレーションをインスタンス化する。
【０２０５】
ＤＰＳサーバ・コンピュータ上のＩＥブラウザ・インスタンスが、要求されたドキュメントまたはイメージ・ファイルのタイプに対応するブラウザ・プラグインを使用するように構成されている場合、この方法を使用して、ドキュメントとイメージ・ファイルを印刷することができる。例えば、Ａｄｏｂｅ  Ａｃｒｏｂａｔ（商標）用のＩＥプラグインを考える。Ａｄｏｂｅ  Ａｃｒｏｂａｔドキュメント・ファイルの拡張子はＰＤＦである。Ａｃｒｏｂａｔプラグインがサーバ・コンピュータにインストールされている場合、ＩＥのナビゲーション・プログラミング・インターフェイスにより、ＰＤＦファイルをＩＥにロードすることができ、またＩＥの印刷プログラミング・インターフェイスによりファイルを印刷することができる。
【０２０６】
補助アプリケーション印刷コンポーネント３３８は、ドライバレス・プリント・サーバによって出力イメージ・データの生成に使用される別の方法を用意している。このコンポーネントでは、ファイル・タイプ構成リスト３３６を使用してそのファイル拡張子に関連付けられたアプリケーションを見つけ、ファイルをアプリケーションにロードし、アプリケーションの印刷メニュー・コマンドを実行し、印刷オペレーションの完了後、アプリケーションを閉じる。ファイル・タイプ構成リストと補助アプリケーション印刷方法の組合せにより、システム管理者は、サーバ・マシンにアプリケーションをインストールし、ファイル・タイプ構成リストを編集することにより、追加ドキュメントまたはイメージ・タイプのサポートを追加することができる。
【０２０７】
シェル拡張印刷コンポーネント３３９は、ドライバレス・プリント・サーバが印刷に使用する第３の方法を備える。このコンポーネントは、ＭＳ  Ｗｉｎｄｏｗｓ  Ｓｈｅｌｌ  Ｅｘｔｅｎｓｉｏｎｓプログラミング・インターフェイスを使用して印刷する。ＭＳ  Ｗｉｎｄｏｗｓ  Ｓｈｅｌｌ  Ｅｘｔｅｎｓｉｏｎｓインターフェイスは、ユーザがそのドキュメント・タイプをサポートするアプリケーションに送られるコマンドを使ってドキュメント・タイプを印刷するためのオペレーティング・システムの一機能である。アプリケーションは、Ｓｈｅｌｌ  Ｅｘｔｅｎｓｉｏｎインターフェイスをサポートしていれば、ドキュメントをロードし、印刷し、そして自動的に閉じる。ファイル・タイプ構成リストとシェル拡張印刷方法の組合せにより、システム管理者は、サーバ・マシンにアプリケーションをインストールし、ファイル・タイプ構成リスト３３６を編集することにより、追加ドキュメントまたはイメージ・タイプのサポートを追加することができる。
【０２０８】
印刷プレビュー・コンポーネント３４０は、コンシューマ・ユーザが要求されたドキュメント、イメージ、またはＵＲＬの例を表示できるように、印刷ジョブの要求されたドキュメント、イメージまたはＵＲＬをドキュメント形式のファイルに変換する。このコンポーネントは、プレビューＣＧＩスクリプト３３３と連携して動作する。ドライバレス・プリント・サーバが実行する変換の１つは、Ａｄｏｂｅ  Ａｃｒｏｂａｔドキュメント形式に関するものである。印刷プレビュー・コンポーネントを使用することで、ドライバレス・プリント・サーバは、印刷用にスプール・ファイルを作成する場合と同じ方法によりスプール・ファイルを作成する。しかし、これは、出力デバイスまたはリポジトリに送信するためスプール・ファイルをステータス・モニタ３１６に送信する代わりに、ドキュメントをＡｃｒｏｂａｔ  ＰＤＦ形式に変換するＡｄｏｂｅ  Ａｃｒｏｂａｔ  Ｄｉｓｔｉｌｌｅｒアプリケーションを通じてスプール・ファイルを実行する。この変換では、プリンタ・ドライバはＡｄｏｂｅ  ＰｏｓｔＳｃｒｉｐｔドライバである必要がある。ドライバレス・プリント・サーバに、プレビュー・プロセスで作成したスプール・ファイルが保持されるため、コンシューマ・ユーザがドキュメントの印刷を望んだ場合に、ＤＰＳがスプール・ファイルをステータス・モニタ３１６に単に送信するだけで、そのスプール・ファイルがプリンタに送信され、印刷される。
【０２０９】
ジョブ要求サーバ・コンポーネント３４１は、印刷要求ＣＧＩスクリプト３３１から印刷ジョブ要求を受け取り、キューに入れて処理を待つ。ジョブ処理コンポーネント３４２は、ジョブ・キューに挿入してから出力イメージ・データのスプール・ファイルが生成されるまでの間、印刷ジョブ要求を管理する。このコンポーネントは、キューに入っているジョブ要求を読み取り、印刷に使用する３つの印刷方法のうちの１つを決定し、ドキュメント、イメージ、またはＵＲＬを決定された印刷方法にサブミットし、印刷コマンドの実行を処理し、スプール・ファイルをステータス・モニタにサブミットして保管する。出力イメージ生成処理の各段階で、ステータスを追跡し、ステータスＣＧＩスクリプト３３５を呼び出せる場合にその呼び出しからそのステータスを利用できるようにする。
【０２１０】
ウィンドウ処理コンポーネント３４３を使用して、信頼できる印刷を行う。多くのアプリケーションが、印刷プロセスの実行中にメッセージ・ボックスおよび／またはダイアログボックスを表示し、印刷サービスを要求しているユーザに情報を提供したりそのユーザから情報を収集したりする。印刷要求の自動処理をサポートするには、要求の印刷に使用されるアプリケーションにメッセージ・ボックスまたはダイアログボックスが表示される場合に、それらのメッセージ・ボックスまたはダイアログボックスに応答するメカニズムが必要である。このメカニズムは、ウィンドウ処理コンポーネント３４３によって提供される。ドライバレス・プリント・サーバは、印刷プロセス実行中にメッセージ・ボックスやダイアログボックスが表示されないかサーバを監視している。新しいメッセージ・ボックスやダイアログボックスが表示されると、ウィンドウ処理コンポーネントがその情報を読み込み、知られているメッセージまたは知られているステートメントと比較し、そのプログラムされているロジックに従ってメッセージ・ボックスまたはダイアログボックスを閉じる。ウィンドウ処理コンポーネントの詳細について、図３２を参照しながら以下で説明する。
【０２１１】
各ドライバレス・プリント・サーバ・キュー内にすべてのジョブのメモリマップト・ファイルを保持するためにジョブ・ステータス・コンポーネント３４４を備える。周期的に、ジョブ・ステータス情報をメモリマップト・ファイルに書き込むことで、ステータスＣＧＩスクリプトがジョブ要求のステータスを読み込めるようにしている。
【０２１２】
ポート・モニタは、ＭＳ  Ｗｉｎｄｏｗｓ印刷サブシステム内の標準コンポーネントを含む。ポート・モニタは、印刷サブシステムを介してプリンタ・ドライバからスプールされたデータを受け取る。従来のボート・モニタは、プリンタ・ドライバからスプールされたデータを受け取り、プリンタに引き渡す役割が与えられている。ドライバレス・プリント・サーバでは、ポート・モニタ・モジュール３１４（図２７）がスプールされたデータをファイルに書き込む。スプール・ファイル全体がファイルに書き込まれると、ポート・モニタ・モジュール３１４がドライバレス・プリント・サーバに、スプールされたファイルの名前と位置をメッセージとして送る。
【０２１３】
ステータス・モニタ３１６は、サーバ・コンピュータ上で実行されるアプリケーションを含む。これは、複数の機能を実行するが、主にスプール・ファイルをプリンタに送信する役割を持つ。ドライバレス・プリント・サーバは、ポート・モニタ３１４からスプール・ファイルの位置を示すメッセージを受け取った後、スプール・ファイルの位置、スプール・ファイルの送信先プリンタのＵＲＬ、スプール・ファイルをプリンタに送信するためのプロトコル情報を示すメッセージをステータス・モニタ３１６に送信する。ステータス・モニタ３１６は、それぞれの要求されたプリンタＵＲＬのキューを作成する。プリンタは、一度に１つのスプール・ファイルしか受け取れないので、スプール・ファイルの送信をシリアライズする。ステータス・モニタ３１６は、複数のキューを同時に作成し維持することができる。
【０２１４】
出力イメージが正常に生成された後、ステータス・モニタ３１６はドライバレス・プリンタ・サーバに、ジョブが完了していることをメッセージで知らせる。ジョブ履歴が更新され、ドライバレス・プリント・サーバ・キューからジョブが削除される。ステータス・モニタ３１６は、出力イメージを生成したときかつ／または生成した後、外部コンポーネントにメッセージを送信するように構成できる。例えば、これを使用して、印刷ジョブに対応する出力イメージが完了していることを、印刷ジョブを開始したメッセージ・センターに通知することができる。
【０２１５】
システム・モニタ・コンポーネント３２０は、他のすべての印刷サービス・コンポーネントを監視し、エラーがないか調べ、特定の要求の着信を監視するアプリケーションを含む。印刷ジョブ要求が印刷要求ＣＧＩスクリプト３３１から届いた場合、ドライバレス・プリント・サーバ・アプリケーションが動作していなければ、印刷要求ＣＧＩスクリプトは、システム・モニタ３２０に対し、ドライバレス・プリント・サーバを起動し、印刷ジョブ要求を処理するよう要求することができる。システム・モニタ３２０は、定期的に、メッセージをドライバレス・プリント・サーバに送信し、プログラムとキュー内の印刷ジョブのステータスを取得する。システム・モニタは、エラーを検出すると、この問題を解消しようとする。
【０２１６】
またシステム・モニタ３２０は、より新しい印刷サービス・システム・コンポーネントをダウンロードし、インストールする場合にも使用できる。システム内のすべてのコンポーネントのバージョン番号を収集し、それらをシステムの更新Ｗｅｂサイトに送信する。更新Ｗｅｂサイトでは、より新しいコンポーネントが利用できるかどうかについての情報とともに返信する場合、これらのコンポーネントを検索して、システムにインストールする。システム・モニタは、メニューから、または「システムを更新」ＣＧＩスクリプト３３０から更新要求を受け付ける。
【０２１７】
管理用Ｗｅｂページ３２２では、管理ユーザがシステムのリモート構成および監視を実行できる。セキュリティ機能を使用して、コンシューマ・ユーザによるこれらのＷｅｂページへのアクセスを防止する。
【０２１８】
出力イメージ生成のためファイルをサブミットすると、ドライバレス・プリント・サーバがファイルのファイル・タイプに対応するアプリケーションを開く。例えば、ファイルの拡張子が．ｄｏｃであれば、一般的には、ＭＳ  Ｗｏｒｄアプリケーションが開く。次に、このアプリケーションがファイルを開き、組み込み印刷コマンドを使用して、サブミットされているファイルを選択したプリンタに送信する。拡張子Ｗｅｂページ（図に示されていない）に、（「拡張子」列内の）ファイル・タイプ情報の一覧を表示する行（エントリ）および（「アプリケーション名」列内の）ファイル・タイプに対応するソフトウェア・アプリケーションが表示される。また、各エントリには、拡張子の優先度レベル（サブミットされたファイルに対する適切なアプリケーションを決定するため同じ拡張子を持つファイル・タイプを評価する順序を定義する）、アプリケーションに関するＯＳレジストリ情報の格納先を識別するレジストリ位置、アプリケーションのデフォルト・パス、アプリケーションの実行可能ファイル名、アプリケーションを印刷しアプリケーションを閉じるための内部コードが表示される。管理者は、「新規エントリを追加」ボタンをアクティブにして新規ファイル・タイプを追加でき、このボタンを使用して、前のＷｅｂページの各列の対応する編集コントロールでＷｅｂページ（図に示されていない）を描画する。ユーザはさらに、ファイル・タイプの更新と既存のファイル・タイプの編集も行える。
【０２１９】
ドライバレス・プリント・サーバでは、ファイル・タイプの値に対応する拡張子テーブルを使用して、拡張子テーブルに列挙されている各ファイル・タイプのファイルの印刷に使用するサーバ・コンピュータにインストールされているアプリケーションを判別する。さらに、このテーブルに含まれる情報を使用して、印刷サービス・サーバ・コンピュータの実行可能ファイルの場所を判別する。一実施形態では、拡張子テーブルや他のさまざまな構成および印刷ジョブ・データがデータベース内に保持される。通常、データベースは、ＤＰＳソフトウェアのホストとなるマシンと同じマシンをホストとするが、当業者であれば理解できるであろうが、データベースのホストとして別のマシンを使用することもできる。
【０２２０】
印刷要求の処理
データの流れと印刷要求に対する応答として印刷サービスＤＰＳシステム・ソフトウェア・コンポーネントにより実行されるオペレーションを説明するデータ流れ図が図３０に示されている。最初、発信元デバイス３５０のユーザがシステムに接続し、印刷するソース・データをローカル・ストアまたはリモート・ストアのいずれかから選択し、さらに上述の方法でソース・データを印刷する出力デバイスを選択する。ユーザ入力３５２を含むこの情報は対応するメッセージ・センターにより受信され、処理されて、印刷ジョブ３５３が生成される。一般に、印刷ジョブは、ソース・データまたはソース・データへの参照を含み、印刷サービスによって生成された出力イメージをリポジトリに格納するのか、それとも直接出力デバイスにサブミットするのかを識別する。印刷ジョブはまず、印刷要求ＣＧＩスクリプト３３１により処理され、これにより、印刷ジョブに対応する印刷パラメータやその他のデータを含むｔｍｐｄｏｃ．ｄｐｓｎドキュメント３５４を生成する。その後、ｔｍｐｄｏｃ．ｄｐｓｎドキュメントは、印刷要求ＣＧＩスクリプトにより、ジョブ・キュー３５６に送られる。一実施形態では、ジョブ・キューは先入れ先出し（ＦＩＦＯ）型のジョブ・キューを含む。オプションにより、他の種類のジョブ・キューも使用することができるが、このことは、当業者であれば理解するであろう。上述のように、ジョブ・キューのオペレーションはジョブ処理コンポーネント３４２により実行される。
【０２２１】
ジョブ・キューがサブミットしたジョブ要求は、印刷サービスによって処理される。ｔｍｐｄｏｃ．ｄｐｓｎファイルを解析し、ドキュメント・ファイル３６０に格納されている、印刷要求に対応する印刷ジョブ・パラメータを検索するが、それぞれの要求はブロック３５８により処理される。例えば、解析された情報には、プリンタの選択、部数、コンシューマ・ユーザのＩＤ、ドキュメント名、印刷ジョブをサブミットするメッセージ・センターなどが含まれる。印刷ジョブ・パラメータの一部は、ＤＰＳデータベース３６１に格納される。
【０２２２】
決定ブロック３６２で、どのような種類のドキュメントの印刷が要求されたか、例えば、アプリケーション・ファイルなのか、イメージなのか、ＷｅｂページのＵＲＬなのかが判別される。ドキュメントがＷｅｂページ、イメージ、またはＰＤＦファイルなどの閲覧可能なドキュメントに関係する場合、ロジックの流れはブロック３６４に入り、そこで、Ｗｅｂページ、イメージ、またはＰＤＦドキュメントがドライバレス・プリント・サーバのブラウザを介してロードされる。そうでない場合、ロジックの流れはブロック３６６に入り、そこで、ドキュメントとそのドキュメントの印刷に使用することができる適切な補助アプリケーションがロードされる。例えば、ドキュメントがＭＳ  Ｅｘｃｅｌのスプレッドシートを含む場合、ＭＳ  Ｅｘｃｅｌアプリケーションのインスタンスが、Ｅｘｃｅｌドキュメントとともにロードされる。ブロック３６８では、ブラウザまたは補助アプリケーションのいずれかによりＵＲＬ、イメージ、またはドキュメントを印刷することを要求する印刷オペレーションを要求するユーザをシミュレートする内部コマンドが生成される。例えば、ほとんどのアプリケーションでは、アプリケーションの印刷プロセスを起動する「ファイル」→「印刷」メニュー・オプションを備えている。
【０２２３】
内部アプリケーションまたはブラウザの印刷要求への応答として、さまざまな印刷情報やドキュメント情報が内部的に、プリンタ・オペレーションを処理するオペレーティング・システム・コンポーネントに受け渡される。上述のように、一実施形態では、ドライバレス・プリント・サーバは、ＭＳ  Ｗｉｎｄｏｗｓ  ＯＳ環境で動作する。したがって、この環境は、ターゲット・プリンタ３７４に送られて出力ドキュメントを生成する適切なプリンタ（つまり、出力デバイス）データを生成する選択したプリンタに対応するプリンタ・デバイス・ドライバ３７２と交信するグラフィカル・デバイス・インターフェイス（ＧＤＩ）コンポーネント３７０を含むＯＳ印刷サブシステム３６９を備える。プリンタ・データは、ポート・モニタ３１４によって受信される印刷スプール・ファイルを出力するＭＳ  Ｗｉｎｄｏｗｓ印刷スプーラ・コンポーネント３７６によって内部的に処理される。図に示されている例では、宛先出力デバイスＤDESTはＰｏｓｔＳｃｒｉｐｔプリンタを含むと仮定している。そこで、ポート・モニタ３１４はＰｏｓｔＳｃｒｉｐｔファイル３７８を出力する。
【０２２４】
上述のオペレーションが進行している間、発信元デバイス３５０のユーザは、ソース・ドキュメントを印刷する前に、ドキュメント、イメージ、またはＷｅｂページのシミュレートされた印刷済み出力をプレビューすることを選択できる。決定ブロック３８０で、ユーザがプリンタ出力をプレビューする要求を出したかどうかが判別される。答えが「ｙｅｓ」（ＴＲＵＥ）であれば、一実施形態において、Ａｄｏｂｅ  Ａｃｒｏｂａｔ  Ｄｉｓｔｉｌｌｅｒ３８２のインスタンスが起動され、これを使用してＡｄｏｂｅポータブル・ドキュメント形式（ＰＤＦ）ドキュメント３８４が生成される。ＰＤＦドキュメントは、プレビューＣＧＩスクリプト３３３によって処理され、メッセージ・センターＭＣｎを介して発信デバイス３５０に送り返され、そこでＡｄｏｂｅ  ＰＤＦプラグインにより発信元デバイス上で実行されているブラウザに描画される。描画された表示（図に示されていない）は、印刷されたドキュメントがどのように見えるかを示すプレビューであり、コンシューマ・ユーザがドキュメントを印刷するかまたは取り消すかを選択するためのレーザー・インターフェイス（ＵＩ）コントロールを備える。
【０２２５】
コンシューマ・ユーザがドキュメントを印刷することを望んでいる場合、印刷通知がメッセージ・センターＭＣｎに送り返され、そこでプレビューＣＧＩスクリプト３３３により処理される。印刷通知を受信したことに対する応答として、プレビューＣＧＩスクリプト３３３はステータス・モニタ３１６を起動し、出力イメージ・データの送信先に応じて、印刷ドキュメント３７８を宛先出力デバイスＤDESTまたは出力リポジトリ７８のいずれかにサブミットする。このイベントとともに、ＤＰＳデータベース３６１内のジョブ履歴情報が更新される。さらに、出力イメージが印刷された後、印刷完了通知３８０がステータス・モニタ３１６に送り返され、そこで、通知がジョブ・ステータス・メッセージ３８１としてメッセージ・センターＭＣｎに転送される。
【０２２６】
コンシューマ・ユーザによって印刷プレビュー・オプションが選択されていない場合、決定ブロック３８２に対する答えは、「ｎｏ」（ＦＡＬＳＥ）であり、ステータス・モニタ３１６が起動し、印刷ドキュメント３７８が宛先出力デバイスＤDESTまたは出力リポジトリ７８にサブミットされる。印刷処理中、ステータス・モニタ１１６はプロセスの進捗状況を監視し、ＤＰＳデータベース３６１を更新する。ステータスＣＧＩスクリプト３３５を使用し、ジョブ・ステータス・メッセージ３８１で示されているように、データベースから進捗情報を検索し、適切なＨＴＭＬを生成して対応する印刷ジョブをサブミットしたメッセージ・センターに送り返すことにより印刷ステータス情報をメッセージ・センターに供給する。
【０２２７】
一実施形態では、ドライバレス・プリント・サーバはプリンタ・ファイルの直接印刷をサポートしている。例えば、印刷ジョブ・ファイルがプリンタ・ファイルを含む場合、宛先出力デバイスのプリンタ・ファイル・タイプに対応していれば、直接印刷することができる。例えば、ＰｏｓｔＳｃｒｉｐｔファイルであればＰｏｓｔＳｃｒｉｐｔプリンタに出力することができる。同様に、他の種類のプリンタのプリンタ・ファイルについても、印刷プロセスで「ファイルへ保存」オプションを選択することによりあらかじめ作成しておくことができる。決定ブロック３６２でファイルがプリンタ・ファイルであると判定された場合、このロジックはブロック３６７に進み、そこで、プリンタ・ファイル（プリンタ・ファイル３６７で示されている）は直接、Ｗｉｎｄｏｗｓ印刷スプーラ３７６に送信される。
【０２２８】
出力イメージが、出力デバイスに送信されるのではなく、出力リポジトリ７８に蓄積される場合、ステータス・モニタ３１６は、出力イメージ・ファイル参照３８６により示されているように、ジョブ・ステータス・メッセージ３８１を使用して、メッセージ・センターＭＣｎに、印刷ジョブに対応する出力イメージ・ファイルがリポジトリに格納されていることを示すメッセージを出力イメージ・ファイルの名前と場所とともに送信する。
【０２２９】
ドライバレス・プリント・サーバ・ソフトウェア４６の内部オペレーションの詳細を図３１に示す。前のように、発信元デバイス３５０を操作するコンシューマ・ユーザは、発信元デバイス（例えば、ミニブラウザＵＩ  １０７またはブラウザＵＩ  １２４）に適切なユーザ・インターフェイスを介してソース・データ（例えば、ドキュメント、イメージ・ファイル、またはＷｅｂページ）を印刷することを要求する。適切なＵＩページ上の「今すぐ印刷」ボタンをアクティブにすることに対する応答として、印刷要求ＣＧＩスクリプト３３１によりユーザ入力データが処理され、ｔｍｐｄｏｃ．ｄｐｓｎドキュメント３５４が作成される。印刷要求ＣＧＩスクリプトはさらに、パイプで、印刷要求が含まれるメッセージを新規ジョブ・パイプ・サーバ３９０に送り込み、メッセージをメッセージ・キュー３９２に格納する。印刷要求メッセージ毎に、メッセージ・キュー・ハンドラ３９４が、対応するｔｍｐｄｏｘ．ｄｐｓｎドキュメント３５４を解析する対応するスレッドを起動し、ドキュメント・ファイル３６０を生成し、印刷要求をジョブ・キュー３５６にサブミットする。
【０２３０】
ジョブ・キュー・ループの開始ブロック３９６とジョブ・キュー・ループの終了ブロック３９７に示されているように、これらのループ端の間に表示される以下のオペレーションとロジックが印刷ジョブに対して実行される。まず、ブロック３９８で、次のジョブがジョブ・キュー３５６から検索される。決定ブロック４００で、印刷ジョブがどのような種類のドキュメントに対応しているかが判別される。ドキュメントがアプリケーション・ファイルの場合、ロジックは決定ブロック４０２に進み、そこで、印刷方法としてどのような種類のファイル・タイプを使用すべきかが判別される。ファイルが補助アプリケーション（例えば、ＭＳ  Ｗｏｒｄ、ＭＳ  Ｅｘｃｅｌ、ＡｕｔｏＣＡＤなど）を必要とする場合、ロジックはブロック３６６に進み、そこで、上で説明したように、ドキュメントと適切な補助アプリケーションがロードされる。補助アプリケーションにファイルがロードされると、ファイル印刷コマンドをブロック３６８内に内部的に生成し、前のように、ファイルをサブミットし、ＯＳによる印刷に任せる。
【０２３１】
次に、決定ブロック４０４で、ポート・モニタ３１４から「完了」メッセージを受け取ったかどうかが判別される。この判別は、定期的に、またはソフトウェアの割り込みメカニズムにより、「完了」メッセージが受信されるまで実行される。その後、ブロック４０６でステータス・モニタ３１６が起動し、印刷ドキュメント３７８をターゲット・プリンタ３７４に送信し、ＤＰＳデータベース３８６内のジョブ履歴データが前のように更新される。
【０２３２】
決定ブロック４００および４０２に戻り、ドキュメント・タイプがＷｅｂページであるか、または補助アプリケーション（例えば、ＰＤＦドキュメントまたはさまざまな種類のイメージ・ファイル）なしでドライバレス・プリント・サーバ・コンピュータにより直接印刷することができるファイル・タイプの場合、ロジックはブロック３６４に進み、そこで、ＤＰＳコンピュータのブラウザでそのＷｅｂページのＵＲＬに移動するか、またはブラウザを他の何らかの方法で使用し、ＰＤＦファイルまたはイメージ・ファイルを表示する。描画されると、上述の方法で残りの印刷オペレーションが実行されるが、これはブロック３６８から始まる。上述のように、ドキュメント・タイプがプリンタ・ファイルの場合、ドキュメントは直接、Ｗｉｎｄｏｗｓ印刷スプーラ３７６に送られる。
【０２３３】
ウィンドウ処理コンポーネント３４３によって実行されるロジックとオペレーションを説明する流れ図を図３２に示す。図３０の開始ブロック４５０に示されているように、ウィンドウ処理スレッドが決定ブロック３６２の始め、ブロック３６８で印刷アクションが呼び出された直後に起動される。上述のように、ウィンドウ処理コンポーネントを使用して、アプリケーションをロードするとき、ドキュメントをアプリケーションにロードするとき、印刷アクションを開始するとき、印刷プロセス中などに起動することができるさまざまなダイアログボックスおよびメッセージ・ボックスを処理する。
【０２３４】
図３２の流れ図に戻ると、ウィンドウ処理スレッドは、起動後、ブロック４５２で調べなければならないデスクトップ・ウィンドウがまだあるか判別する。このようなウィンドウは、一般に、ダイアログ・ボックスとメッセージ・ボックスを備える。調べるべきウィンドウがもうなければ、スレッドは、スレッドの終了ブロック４５４に示されているように終了する。調べるべきウィンドウがまだあれば、ロジックはブロック４５６に進み、あるウィンドウに対するウィンドウ情報を取得する。ＭＳ  Ｗｉｎｄｏｗｓオペレーティング・システムで、ウィンドウ情報を取得するには、適切なＷｉｎｄｏｗｓ  ＡＰＩコールを実行する。
【０２３５】
次に、決定ブロック４５８で、ウィンドウが描画アプリケーションの子ウィンドウかどうかを判別する（つまり、補助アプリケーションまたはブラウザで生成されたかどうか）。決定が「ｎｏ」ならば、ウィンドウはその描画アプリケーションに応答せず、ロジックは決定ブロック４５２に進み、次のウィンドウを評価する。決定ブロック４５８に対する答えが「ｙｅｓ」（ＴＲＵＥ）ならば、ロジックはブロック４６０に進み、ウィンドウのテキスト・ボタンとコントロール・ボタンが調べられる。
【０２３６】
決定ブロック４６２により判別されるときに、テキストが標準メッセージ文字列に一致する場合、ロジックはブロック４６４に進み、そこで、「ウィンドウを閉じる」コマンドが内部的に与えられ、ユーザがウィンドウ上の「閉じる」ボタンまたはウィンドウのフレーム内の「ウィンドウを閉じる」アイコンをアクティブにする動作をエミュレートする。その後、ロジックは決定ブロック４５２に戻り、次のウィンドウを処理する。
【０２３７】
テキストが標準メッセージ文字列に一致しない場合、決定ブロック４６２に対する答えは「ｎｏ」（ＦＡＬＳＥ）であり、ロジックは決定ブロック４６６に進み、そこで、テキストがＤＰＳデータベース３８６内のウィンドウ処理テーブル４７０に格納される対応するエントリ・リストのＭｅｓｓａｇｅＴｅｘｔ値と一致するか判別される。一致する値がある場合、ロジックはブロック４６８に進み、そこで、一致するＭｅｓｓａｇｅＴｅｘｔ値の行内のデータを検索し、データによって与えられるパラメータに基づき対応するメッセージをＷｉｎｄｏｗｓ  ＡＰＩに発行することによりテーブル・コマンドを実行する。例えば、通常のエントリ・リストの行４７２が図３２の上に表示されている。行には、ＭｅｓｓａｇｅＩＤ、Ｗｐａｒａｍ、Ｌｐａｒａｍ値を含む、Ｗｉｎｄｏｗｓ  ＡＰＩに関係する情報が格納される。これらのパラメータを使用し、ウィンドウを処理する目的のオペレーションを実行するため対応するＡＰＩを呼び出す。テーブル・コマンドが実行されると、あるいは決定ブロック４６６に対する答えが「ｎｏ」（ＦＡＬＳＥ）であれば、ロジックは決定ブロック４５２に戻り、次のウィンドウの処理を開始する。
【０２３８】
ユーザ・アカウント・セットアップ
図３３〜３７を参照すると、システムはさまざまユーザ・インターフェイス画面を備えており、ユーザは自分のアカウントをセットアップし、ネットワーク、プリンタ、ファックス、連絡先などのさまざまなパラメータを構成することができる。上述のように、これらのＵＩ画面は通常、有線および無線ネットワーク・アクセスを行えるＨＴＭＬベースのＷｅｂページ、セルラー基盤を介してシステムにアクセスするデバイス用のＷＡＰベースのカードを備える。複数のオペレーションを伴うセットアップ・プロセスが、図３３のＷｅｂページ５００に表示される。これらのオペレーションには、セットアップ開始オペレーション５０２、ファイル・サーバ・アクセス・セットアップ・オペレーション５０４、お気に入りのプリンタ・セットアップ５０６、ファックス・セットアップ・オペレーション５０８、連絡先リスト・セットアップ・オペレーション５１０、セットアップ終了オペレーション５１２がある。これらのオペレーションを通じて使用できるさまざまなパラメータをセットアップする前に、ユーザは、ユーザ名および個人識別番号ＰＩＮを伴う標準的なユーザ認証方式を使用してシステムに登録してある。
【０２３９】
ユーザは、システムにログインし、アカウント・セットアップ画面または設定画面のいずれかに移動することでセットアップ・プロセスを開始する。複数のナビゲーション方式を使用して、後述のような内容を含むさまざまな画面にアクセスできる。セットアップ・オペレーション中に、ユーザは後続のユーザ・セッションからソース・データをアクセスしたい１つまたは複数のファイル・サーバに関するパラメータを決める。Ｗｅｂページ５００により、ユーザは、サーバ名（つまり、エイリアス）および対応するサーバ・アドレスを編集ボックス５１４、５１６で定義することができる。ユーザはさらに、それぞれ編集ボックス５１８、５２０にアカウント名とパスワードも入力し、編集ボックス５２２に確認パスワードを入力する。最後に、ユーザはプルダウン・リスト５２４からファイル・サーバ・タイプを選択する。すべてのパラメータを入力し終えたら、ユーザは「ＡＤＤ  ＳＥＲＶＥＲ  ＮＯＷ（今すぐサーバを追加）」ボタン５２６をアクティブにし、ＷｅｂページがパラメータをＷｅｂページのホストとなるメッセージ・センターに返す。その後、これらのパラメータは、メッセージ・センター・データベース２２８内のネットワーク・サイト・テーブルに格納される。
【０２４０】
図３４は、ユーザが複数のサーバを追加した後のＷｅｂページ５００の表示の仕方を示すＷｅｂページ５００Ａを説明している。サーバ名列５２８に示されているように、ユーザはサーバに名前を付けることができるが、名前は好きな名前でよい（３２文字までなど妥当な長さ制限の範囲内で）。ネットワーク・サイト・テーブルではＳＵＢ＿ＩＤ外部キーを介して加入者テーブルを参照し、代理１次キー（ＳＩＴＥ＿ＩＤ）を使用するので、複数のユーザがｍｙＳｅｒｖｅｒ、ｈｏｍｅ＿ｎｅｔｗｏｒｋなど同一のサーバ名を使用しても、混乱を引き起こすことはない。しかし、ユーザから見えるサーバは、ユーザがすでに登録済みのサーバのみである。
【０２４１】
ユーザは、ホスト・アドレス列５３０に示されているように、ＩＰアドレス（例えば、２００．２２１．２１９．２１８）またはドメイン名（例えば、ｆｔｐ．ｐｒｌｓｉｐ．ｃｏｍ）のいずれかを使用してサーバ（ホスト）アドレスを識別することができる。ファイル・サーバ・タイプ列５３２には、ユーザが追加したサーバのサーバ・タイプの一覧が表示される。これらのパラメータに変更を加えるには、「ＥＤＩＴ（編集）」ボタン５３４をアクティブにし、サーバを削除するには、「ＲＥＭＯＶＥ（削除）」ボタン５３６を使用する。
【０２４２】
ユーザは、自分のサーバをセットアップした後、図３５のＷｅｂページ５４０で示されているように、「ＮＥＸＴ（次へ）＞」ボタン５３８をアクティブにし、セットアップ・プロセスをお気に入りのプリンタ・セットアップ・オペレーション５０６に進める。このときに、ユーザに対しプリンタ（つまり、出力デバイス）を選択する２つのオプションが表示される。「ＳＥＬＥＣＴ（選択）」ボタン５４２をアクティブにすると、ユーザはあらかじめ構成されている印刷リストの中でプリンタをサーチすることができ、「ＳＥＡＲＣＨ（サーチ）」ボタン５４４をアクティブにすると、ユーザは１つまたは複数の入力パラメータを介してプリンタをサーチすることができる。一般に、あらかじめ構成されている印刷リストは、管理者のみが利用できる別の管理用Ｗｅｂページ群を介してユーザが勤める会社または企業に関して管理者によって構成される。ユーザに対し、プリンタのリストが表示され、ユーザはそのリストの中から「お気に入り」プリンタとして１つまたは複数のプリンタを選択することができる。
【０２４３】
「ＳＥＡＲＣＨ」ボタン５４４をアクティブにすると、Ｗｅｂページ５４６がユーザに提供される。このＷｅｂページには、ユーザがサーチ情報の入力のため選択できる複数の編集ボックスが用意されており、「市別」編集ボックス４５８、「州別」編集ボックス５５０、「郵便番号別」編集ボックス５５２、「事業別」編集ボックス５５４、「プリンタ・ニックネーム別」編集ボックス５５６、「プリンタ製造別」編集ボックス５５８、「プリンタ機種別」編集ボックス５６０などがある。「ＳＥＡＲＣＨ  ＮＯＷ（今すぐサーチ）」ボタン５６２をアクティブにするとそれに対する応答として、システムは、ユーザが使用することができ、かつユーザのサーチ条件を満たしている登録されているプリンタを識別することを試みる。例えば、３台のプリンタの例示的セットでは、サーチ条件に対する応答として「州別」編集ボックス５５０に入力したワシントンという値が返される。その後、返されるリストに載っているプリンタを選択し、リスト内の各行に対応するチェックボックス５６４をチェックすることによりユーザのプリンタ・リストに追加することができる。次に、ユーザは、「ＦＩＮＩＳＨＥＤ（終了）」ボタン５６６をアクティブにして、選択したプリンタを保存し、Ｗｅｂページ５４０（Ａ）にユーザを戻す。このときに、Ｗｅｂページに、お気に入りプリンタ・リスト５６８内のすでに選択されているプリンタが表示される。ユーザは、必要ならば、アクティブ化ボタン５７０を使用してリストからプリンタを削除することができる。
【０２４４】
ユーザは、自分のお気に入りリストにプリンタを追加した後、「ＮＥＸＴ＞」ボタン５７２をアクティブにし、セットアップ・プロセスをファックス・セットアップ・オペレーション５０８に進める。これにより、ユーザは一連のファックス・セットアップＷｅｂページ（図に示されていない）に進む。これらのページを使用することで、ユーザはデフォルトの送信ファックスを選択し、ファクシミリの表紙を構成することができる。その後、ユーザは、一組の連絡先リスト・セットアップ・ページ（図に示されていない）を使用して、連絡先リスト・セットアップ・オペレーション５１０の実行時に連絡先情報を選択して追加することができる。連絡先情報を使用すると、ユーザは比較的簡単に、ドキュメントおよびファックスを連絡先リストに載っている人々に送信することができる。
【０２４５】
ＷＡＰ  ＵＩの例
上述のように、一実施形態では、無線Ｗｅｂ対応デバイスを使用してＷＡＰゲートウェイ１１０（図２０）を介してシステムにアクセスすることができる。ＷＡＰインターフェイスは、ＷＭＬで符号化され、含まれるデータが著しく少ないという点を除き、ＨＴＭＬベースのＷｅｂページとだいたい似ている「一組のカード」を備える。さらに、ＷＡＰカードは、最小限のユーザ・インターフェイスでナビゲートできるように設計されている。図３８の凡例を参照すると、ＷＡＰベースのユーザ・インターフェイス例に対応するさまざまなＷＡＰカードおよびオペレーションの詳細が図３９〜５２に示されている。一実施形態では、一組のＣＧＩスクリプトを使用して、ＷＡＰカードを自動的に生成する。
【０２４６】
図３９、４０を参照すると、ユーザは以下のようにしてＷＡＰ対応デバイスでシステムにアクセスする。まず、ユーザは自分の無線インターネット・ゲートウェイに上述の方法でアクセスする。その後、ユーザは、直接または記憶されているリンク（つまり、お気に入りリンクなど）を通じて、システムのＵＲＬを入力する。ＷＡＰカード１に対応するスプラッシュ画面６００がユーザに対し表示される。ログインの最初の部分で、システムは無線デバイスを識別し（例えば、セルラー番号またはその他の一意的な識別子を使用して）、データベース・クエリ６０１を介してメッセージ・センター・データベース２２８内の加入者テーブルを使用してデバイスに対応する情報を検索しようとする。デバイスが認識されていれば、ユーザはすでにデバイスをシステムに登録済みである。したがって、ユーザに対し、ＷＡＰカード２に対応するログイン画面６０２が表示される。加入者テーブルにすでに入力されている情報に基づいてユーザのファーストネーム（またはその他の識別子）が画面に表示され、ユーザは自分のＰＩＮを入力するよう求められる。入力したＰＩＮが格納されているＰＩＮと一致すると、ユーザはシステムにログインする。一致しない場合、ユーザに対し、ＰＩＮの再入力を要求する画面６０４が表示される。ＰＩＮの入力が再び失敗した場合、ユーザに対し、電子メールでＰＩＮをユーザ宛てに送信するのを望むかどうかを尋ねる画面６０６が表示される。
【０２４７】
ユーザの無線デバイスがシステムにとって新しいものであれば、データベース・クエリ６０１の結果はＮｕｌｌであり、ロジックは初期入力画面６０６に進み、そこでユーザがユーザ名とＰＩＮを入力する。入力したＰＩＮが無効であれば、新しいＰＩＮを入力することを求める画面６１０がデバイスに表示される。ＰＩＮが正常に入力できると、確認画面６１２がユーザに表示される。図４０を参照すると、ユーザ名とＰＩＮが入力されると、ユーザの電子メール・アドレスを検索するためデータベース・クエリ６１３は加入者テーブルで構成される。ユーザが新規ユーザであるか、または電子メール・アドレスが見つからない場合、ユーザは、画面６１４を介して電子メール・アドレスを入力するよう要求される。既存のユーザ電子メール・アドレスが見つかった場合、新規デバイスの加入者テーブルのエントリはデータベース・クエリ６１６を介して更新される。それとは別に、新規ユーザ名、ＰＩＮ、電子メール・アドレスが入力されると、データベース・クエリ６１８を介して新規加入者レコードが加入者テーブルに挿入される。
【０２４８】
ユーザの確認が行われた後、データベース・クエリ６２２を使用して、すでに構成済みのネットワーク・サイトがユーザにあるかどうかを判別する。ユーザがすでにネットワーク・サイトを構成済みであれば、図４１に詳細が示されているように、ロジックはＣＧＩスクリプト３の実行に進み、そうでなければ、ロジックは図４３に示されているナビゲーション位置５にジャンプする。
【０２４９】
図４１を参照すると、ＣＧＩスクリプト３の実行に対する応答として、サイト選択画面６２４がユーザに対し表示され、ユーザはこれにより、ユーザが印刷することを望んでいるドキュメントに対応するソース・データが置かれているネットワーク・サイトを選択することができる。必要ならば、ユーザは新しいネットワーク・サイトの設定を選択することもでき、この場合、ロジックはナビゲーション位置５にジャンプする。
【０２５０】
ネットワーク・サイトが選択されると、ＣＧＩスクリプト４の実行が開始し、図４２に示されているネットワーク・ナビゲーション画面６２６、６２８、６３０が生成される。これらの画面を使用することで、ユーザはネットワーク・サイトをナビゲートし、ユーザが印刷を望んでいるドキュメント・ファイルを閲覧することができる。ユーザがドキュメントを選択した後、ＣＧＩスクリプト３を使用して、ネットワーク・サイト名とドキュメント・ファイル名が表示される画面６３２を生成する。さらに、この画面で、ユーザは印刷、ファックス、電子メール・オプション６３４を介してユーザが望む出力の種類を選択することができる。
【０２５１】
図４３を参照すると、ナビゲーション位置５にジャンプした後、ユーザに対してセットアップ画面６３６が表示される。この画面を使用して、ユーザは、ネットワーク・サイトやプリンタを含む、さまざまなお気に入りをセットアップし、ファックスや電子メールの情報を決めることができる。ネットワーク・サイト・オプションを選択すると、ユーザはファイル・サーバ追加画面６３８に進み、そこで、ユーザはＷｅｂページ５００を介して新規ネットワーク・サイトを追加することに関して上で説明したのと同様の方法でＵＲＬまたはＩＰアドレス、ユーザ名とパスワードを供給することにより新規ネットワーク・サイトを追加することができる。前のように、ユーザ名とパスワードは、追加される特定のネットワークに関係する。ネットワーク・サイトへの追加を選択した後、ユーザに対して、確認画面６４０が表示される。ユーザは「ＯＫ」オプションを使ってネットワーク・サイトを追加することを選択した後、図４４に示されているように、データベース・クエリ６４２を介して、ＣＧＩスクリプト９が実行され、入力されたデータはネットワーク・サイト・テーブルに格納され、そこで、サーバが追加されたことを確認する画面６４４がユーザのデバイス上に描画される。
【０２５２】
画面６３６のファックス・オプションの選択に対する応答として、ユーザに対して、ファックス追加画面６４６が表示され、ユーザは名前とファックス番号を指定することにより新規ファックスを入力することができる。ユーザがファックス・データ追加を選択した後、確認画面６４７が表示され、ＯＫオプションを選択した後、ＣＧＩスクリプト１１が実行され、図４６に示されているように、データベース・クエリ６４８を介してファックス／電子メール・テーブル（ＦＥＴ）に新規レコードを挿入する。その後、ファックス・データが追加されたことを確認する画面６５０がユーザに対して表示される。
【０２５３】
同様に、画面６３６から電子メール・オプションを選択したことに対する応答として、電子メール追加画面６５２がユーザに対し表示され、そこで、ユーザは電子メール名（つまり、エイリアス）と電子メール・アドレスを入力し、さらに、新しい電子メール情報を追加することを選択すると、確認画面６５３が表示される。ＯＫオプションで受け入れた後、ＣＧＩスクリプト１２が実行され、図４７に示されているように、データベース・クエリ６５４を介してＦＥＴテーブルに新規レコードが挿入される。その後、電子メール・データが追加されたことを確認する画面６５６がユーザに対して表示される。
【０２５４】
図４５に示されているように、画面６３６のプリンタ・オプションを選択したことに対する応答として、プリンタ追加画面６５８がユーザに対して表示され、そこで、ユーザはＷｅｂページ５４０、５４６を参照して上で説明したのと同様のサーチ条件により追加するプリンタを選択することができる。ユーザが返された選択リストからプリンタを追加することを選択した後、確認画面６６０が表示され、ＯＫオプションを選択した後、データベース・クエリ６６２を介してプリンタ・テーブルに新規レコードが挿入される。その後、新規プリンタが追加されたことを確認する画面６６４がユーザに対して表示される。
【０２５５】
図４１の画面６３２に戻ると、ドキュメント・ファイルを選択した後、選択したプリンタにドキュメントを印刷するか、またはドキュメントを選択したファックス装置にファックス送信するか（装置のファックス番号で）、または印刷、ＦＡＸ、電子メール・オプション６３４を使用して電子メールでドキュメントを選択した電子メール受信者に送信することができる。印刷オプションをアクティブにすると、ＣＧＩスクリプト１３が起動され、図４８に示されているプリンタ選択画面６６６が生成される。この画面で、ユーザはユーザのお気に入りプリンタ・リストにすでに追加されている複数のプリンタのうちからプリンタを１つ選択することができる。リスト内のプリンタを選択した後、印刷するドキュメントおよび選択したプリンタを識別する構成画面６６８がユーザに対して表示される。ＯＫオプションをアクティブにすると、図５２に示されているように、ＣＧＩスクリプト１６が実行される。印刷要求に従って、データベース・クエリ６７０を介して対応する印刷ジョブが印刷キュー・テーブルに入れられ、ジョブ・キュー確認画面６７２がユーザに対して表示される。印刷ジョブは、キューに入れられた後、メッセージ・センター、ＲＤＣ、印刷サービスの適切な組合せにより処理され、上述のようにして、選択したプリンタにドキュメントが印刷される。
【０２５６】
画面６３２のＦＡＸオプションをアクティブにすると、ＣＧＩスクリプト１４が起動され、図４９に示されているＦＡＸ選択画面６７４が生成される。この画面で、ユーザはユーザのお気に入りファックス・リストにすでに追加されている複数のファックスのうちからファックスを１つ選択するか、またはファックス・リストにまだセットアップされていないファックス装置の番号を入力することができる。ユーザは、後者の番号を入力することを選択した場合、画面６７６が表示されるので、そこに番号を入力することができる。画面６７６のＯＫオプションを選択するか、または画面６７４のあらかじめ構成されているファックスを選択すると、確認画面６７６が描画される。ＯＫオプションを選択すると、ＣＧＩスクリプト１６が実行され、そこでこの場合には、データベース・クエリ６７８を介してファックス・ジョブ情報がファックス／電子メール・キュー・テーブルに挿入される。ファックス・ジョブは、キューに置かれた後、適切なメッセージ・センターにより処理され、これにより、印刷サービスがドキュメントを印刷用に処理するのといくぶん似た方法でドキュメントに対応するファックス・データが生成され、ファックス番号に基づいて出力先のファックス装置に送信される。
【０２５７】
電子メール要求の処理は、ファックス要求に似た方法で進行する。このプロセスは、図５０に示されているように、画面６３２の電子メール・オプションをアクティブにすることにより開始し、ＣＧＩスクリプト１５が起動される。このＣＧＩスクリプトは最初に、電子メール選択画面６８２を生成し、そこで、ユーザが電子メール・アドレスを選択して、ドキュメントをユーザのお気に入り電子メール受信者の構成済みリスト宛てに送信するか、またはまだ構成されていない誰かの新規電子メール・アドレスを入力することができる。ユーザは、リストにない電子メール・アドレスを手動で入力することを選択した場合、画面６８４が表示されるので、そこにアドレスを入力することができる。画面６８４のＯＫオプションを選択するか、または画面６８２のあらかじめ構成されている電子メール受信者を選択すると、確認画面６８６が描画される。ＯＫオプションを選択すると、ＣＧＩスクリプト１６が実行され、そこでこの場合には、データベース・クエリ６７８を介して電子メール・ジョブ情報がファックス／電子メール・キュー・テーブルに挿入される。電子メール・ジョブは、キューに入れられた後、適切なメッセージ・センターにより処理され、選択したドキュメント・ファイルが添付された電子メール・メッセージが生成され、受信者の電子メール・アドレスまたは画面６８４から入力した電子メール・アドレス宛てに送信される。オプションにより、ドキュメントの内容を電子メールの本文に含めることもできる。電子メール生成の詳細については、２００２年３月２１日に出願された「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＴＯ  ＰＲＩＮＴ  ＶＩＡ  Ｅ−ＭＡＩＬ」という表題の米国同時係属特許出願第ｘｘｘｘｘ号明細書に説明されており、その明細書および図面はすべて、参照により本明細書に組み込まれている。
【０２５８】
図３９の画面６０６に戻ると、ユーザが電子メールで自分のＰＩＮを送信してもらうという要求に対する応答として、システムはメッセージ・センター・データベース２２８からそのユーザのＰＩＮを検索して、ユーザを名前で識別しＰＩＮを含む電子メールを自動的に生成し、ユーザのすでに登録してある電子メール・アドレス宛てでユーザに電子メールを送り返す。その後、図５２に示されているように、ＣＧＩスクリプト１７が実行される。電子メール・メッセージが正常に送信された場合、そのようなものを識別する画面６８８が描画される。電子メール・アドレスの送信でエラーが発生した場合、画面６９０に対応するエラー・メッセージが描画される。
【０２５９】
ドキュメント・プレビュー・ナビゲーション
ジョブ要求のオプションの出力方法の１つにドキュメント・プレビューというのがある。表示能力は一般的に制限されているため（例えば、画面が小さい、アスペクト比が標準と違う、ピクセル解像度が低い）、ドキュメントを出力デバイスに描画するとどのように表示されるかを見るプレビューを生成することは重要なことである、というよりはやっかいな仕事である。さらに、プレビュー要求の所要応答時間は印刷要求に比べてかなり厳しい。出力管理システムは、２つの方向でこれらの難題に取り組んでいる。イメージ・ファイルでは、ディザリングしたサムネイルを作成し、アスペクト比を失うことなく縦の寸法と横の寸法に合うように最終出力サイズを調整する。非イメージ・ファイルについては、ページ間の関係を失うことなくファイルをプレーン・テキスト形式に変換し、各ページを一連のカードに分け、それらのカードを参照によりリンクしてまとめ、ページ・ナビゲーションを縦方向および横方向に行えるようにする。
【０２６０】
図５３の表示７００は、この変換がどのように行われるかを説明している。このプロセスはオリジナルのイメージ７０２から始まる。１段目では、パーム・デバイス７０６の表示能力に基づいてサムネイル７０４が出力され、２段目では、セルラー７１０が備える画面のかなり低い解像度に対応してそれよりも小さいサムネイル７０８が出力されている。アスペクト比を保持するためセルラーのサムネイルは画面全体を覆わないことに注意されたい。
【０２６１】
図５４の表示７１２は、テキスト・ドキュメントの表示変換プロセスを説明している。上述のように、出力ドキュメントのテキスト・ページは、テキストの流れに基づいてＷＡＰカードに分けられる。例えば、ページの先頭２５６バイトは、第１のカード（ラベル「１」）に変換され、次の２５６バイトは第２のカードに変換されるというように続く。オリジナルのテキスト・ページ内のイメージは、それぞれ、イメージ・リンク７１４とプレビュー・イメージ７１６により示されているように、カード内ではイメージ・リンクで置き換えられ、オリジナルの文脈におけるその配置を示す。ユーザは、これらのリンクを使用して、前述のイメージ表示変換メカニズムに基づき生成されたイメージをプレビューすることができる。このレイアウトを使用して、ページ・ナビゲーションを上方向と下方向に行うことができるだけでなく、別のページにもナビゲートすることができる。ページ関係は保持されるため、ユーザはランダム・アクセスでそれらのページをプレビューすることもできる。
【０２６２】
逐次的なテキスト・ドキュメントに加えて、システムでは、図５５の表示７１８に示されているように、スプレッドシート型のドキュメントについてもプレビューすることができる。通常の（つまり、逐次的テキストの）ドキュメントとスプレッドシートのプレビューの違いは、スプレッドシートのプレビューでは物理的レイアウトを保持する必要があるという点である。したがって、スプレッドシートのプレビューは、縦方向と横方向の両寸法内で作成する必要がある。図５５の例は、それぞれ他のページにナビゲートするために２つまたはそれ以上のリンク（該当する場合）を含む、２つの９カード・プレビュー・ページに変換される２ページ・スプレッドシート・ドキュメントに対応している。例えば、第１のカード７２０は、カード７２４への「右」リンク７２２とカード７２８への「下」リンク７２６を含む。ページ間をナビゲートするためのリンクも備える。ページ関係は保持されるため、ユーザはランダム・アクセスでそれらのページをプレビューすることもできる。
【０２６３】
インスタント・メッセージングの統合
インスタント・メッセージング技術が急速に広まり、一般に受け入れられるようになったことで、インスタント・メッセージングはユーザ同士を接続する巨大なシステムになった。インスタント・メッセージングを使用すると、ユーザは、友人や家族とテキスト・メッセージの交換、チャット、イメージまたは音声による挨拶を現実に近い形で単純な方法により送信することができる。しかし、もともとテキスト交換用に設計されたものであるため、一般的に情報またはリソースの共有が認められていなかった。したがって、不足を補うため出力管理システムが介入することがある。
【０２６４】
このシステムを使用すると、インスタント・メッセージング・ユーザは自分たちのリソースを仲間と共有することができる。リソースは、デバイスがネットワーク上で共有されている限り、その種類、接続性（内部または外部、ネットワークまたはローカル）、または実行プラットフォームに制限されない。リソースには、ファイル、フロッピー（登録商標）やコンパクト・ディスクのドライブ、ネットワーク・ファイル・システムがある（つまり、共演ファイル・ディレクトリなど）。ユーザがその共有リソースは使用可能であるとアナウンスすると、それらのソースは仲間たちから見えるようになる。仲間たちは、ボタンを押して他の人のローカル・ディレクトリからファイルをダウンロードし、ファイルを他の人のフロッピーまたはコンパクト・ディスクにドラッグ＆ドロップし、ドライブ・リンクをクリックすることにより他の人のローカル・ドライブ・ディレクトリを表示し、すべてインスタント・メッセージング・オペレーション・ドメイン内に１回だけ出力管理システムを配備すること以外システム管理の著しい繰り返し作業を必要とせず、リモート・デスクトップ・クライアントが有効になっているインスタント・メッセージング・ツールをユーザに実行してもらうだけである。
【０２６５】
インスタント・メッセージング・ドメイン内でリソースを共有を実行するには、インスタント・メッセージング・クライアントはリモート・デスクトップ・クライアント機能を備える必要がある。リモート・デスクトップ・クライアントを使用すると、クライアント・マシンはメッセージ・センターに登録することにより共有リソースをアナウンスすることができる。登録が完了すると、クライアント・マシンはリソースを共有要求を送受信することができる。パフォーマンスを高めるために、インスタント・メッセージング・オペレータはルート・メッセージ・センターに依存する代わりにそのクライアントを管理する専用のメッセージ・センターをインストールするのが好ましい。
【０２６６】
インスタント・メッセンジャの組み込み実装例を説明する表示７２９が図５６に示されている。この例では、２つのパブリック・メッセージ・センターＭＣ１、ＭＣ２は、それぞれ組み込まれた印刷サービスを備え、インスタント・メッセージング（ＩＭ）オペレーティング・ネットワーク７３０内に配置されている。これらのメッセージ・センターは、ゾーン０のルート・メッセージ・センターＭＣ０に登録される。各インスタント・メッセージング・クライアント７３２のユーザは、同じホスト上のリモート・デスクトップ・クライアントを実行し、ＩＭオペレータ・ネットワーク７３０内のメッセージ・センターの１つに登録される。この構成において、インスタント・メッセージング・クライアントのユーザすべてが、ルート・メッセージ・センターに問い合わせをすることなく互いの共有リソースにアクセスすることができる。必要ならば、ＩＭネットワーク・オペレータは、さらに多くのメッセージ・センターをインストールし、システムを拡張してパフォーマンスを高めることもできる。
【０２６７】
説明されているシステムは、デバイス共有のＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓの新しいアーキテクチャを利用している。例えばプリンタ・ドライバを使用する場合、Ｗｉｎｄｏｗｓ共有プリンタのデバイス・ドライバは、要求があったときに、リモート・デスクトップ・クライアントを通じて他のホストに配信することができる。プリンタ・ドライバをダウンロードし、インストールした後、ユーザは、他の人のプリンタを共有ネットワーク・デバイスとしてアクセスすることができる。このため、Ｗｉｎｄｏｗｓにおけるデバイス共有という概念はさらに広い範囲にまで拡大される。この構成におけるネットワークは、ＬＡＮの代わりに、インスタント・メッセージング・ネットワーク全体に拡張される。インスタント・メッセージング・ユーザは、その後、リモート・デスクトップ・クライアントがすべての作業を行っていながら、同じＬＡＮに接続されているかのようにドキュメントを他のそれぞれの共有デバイスに出力することができる。
【０２６８】
マルチメディア・メッセージング・サービスの統合
つい最近まで、一般に無線デバイスはネットワーク帯域幅が狭く、処理能力が不足していたため、無線コンピューティングはまだテキスト型アプリケーションに限られていた。最近になって、一部キャリアが、ＷＡＰアプリケーションなどの広範なサービス群のサポートを導入した。最初の反響はたいしたことなかったが、ほとんどの無線キャリアは、ユーザが経験したくなるようなサービスを提供するようになるであろうと考えられていた。このためには、より高いネットワーク帯域幅、能力のより高いハードウェア、よりパワフルなデバイスが必要になる。キャリア、インフラを提供するプロバイダ、デバイス・メーカーが払った努力のおかげで、「３Ｇ」（第三世代）無線通信の時代が到来した。
【０２６９】
多くのモバイル・デバイス・メーカーが、ビデオ・クリップ、ＭＰ３、スライド・ショー、ビデオ会議などの３Ｇサービス開発への取り組に着手した。これらは、一般的なカテゴリーのマルチメディア無線ソリューションに分類される。本システムのアーキテクチャは、マルチメディア出力管理用の共通プラットフォームを提供することにより、このようなマルチメディアやモバイル・コンピューティング環境を補完するものである。業界大手の１社であるＮｏｋｉａによって開発中のＭｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ（ＭＭＳ）と呼ばれるマルチメディア統合システムに対応する表示７３４が、図５７に示されている。
【０２７０】
この例では、インバウンド・ゲートウェイ７３６とアウトバウンド・ゲートウェイ７３８は、両方ともＭＭＳＣと出力管理ネットワーク７４０内のメッセージ・センターＭＣ１に接続されるように配備されている。インバウンド・ゲートウェイは、ＭＭＳ対応デバイス７４２からモバイル発信ＭＭＳ要求を受信し、それらの要求を変換して、メッセージ・センターＭＣ１に送り、さらに処理する。典型的な要求としては、ムービー・クリップを共有ファイル・サーバに保存すること、ピクチャー・イメージをカラー・レーザー・プリンタに出力すること、またはＭＰ３オーディオ・メッセージを前述の出力管理システム駆動インスタント・メッセージング・クライアントに中継することなどがある。アウトバウンドＭＭＳゲートウェイは、出力管理クライアントからＭＭＳデバイスに宛てた一般的な要求を受け取る。これは、要求を変換して、ＭＭＳ形式に適合するようにして、配信のためマルチメディア・メッセージング・サービス・センター（ＭＭＳＣ）７４４に送信する。システムは、ＭＭＳオペレーション・ネットワーク７４６内のオプションのルート・メッセージ・センターを使用して、ＭＭＳ対応メッセージ・センターとクライアントの間の効率的なリソース共有をサポートすることができる。一実施形態では、インバウンド・ゲートウェイとアウトバウンド・ゲートウェイを同じ場所に配置することで（つまり、同じ機器をホストとし）、ハードウェア・コストを最小限に抑えることができる。このアーキテクチャでは、出力管理システムをつなぎとして使用し非ＭＭＳクライアントへのＭＭＳサービスを活用する。マルチメディア・メッセージング・サービス統合という一般的な概念は、インバウンド・ゲートウェイの着信インターフェイスとアウトバウンド・ゲートウェイの送出インターフェイスを修正するだけでどのような種類のマルチメディア・サービスにも適用することができる。出力管理システムの残りの部分は変更されない。
【０２７１】
セキュアＣＧＩ／ＶＰＩプロキシを使用したファイヤウォールの背後でのドキュメント・アクセス／印刷
上述のように、このシステムを使用すると、ユーザは、ファイヤウォールの背後にあるプライベート・ネットワーク上に置かれているドキュメントや出力デバイスを含むリソースにアクセスすることができる。以前のアーキテクチャでは、この機能は、ファイヤウォールを介したメッセージ・チャネル間の永続的通信チャネルを使用して実現していた。図５８を参照すると、これを実行できる他の方法はＣＧＩ／ＶＰＮプロキシのユーザを経由している。図で説明されているが、ＤＭＺ  ７５４内に配置されているＣＧＩ  ＶＰＮプロキシ７５２を通じてパブリック・ネットワーク（例えば、インターネット６０）からパブリック・ユーザの通信の経路が選択されるように、システムのさまざまなユーザ・インターフェイス７５０を構成することができる。その後、ＣＧＩ  ＶＰＮは、ＤＭＺ  ７５４とプライベート・イントラネット７６０の間のセキュリティ保護を行うファイヤウォール７５８を通る安全なパススルーを備えるＶＰＮスイッチ７５６を通じて通信の経路を選択する。次に、ＶＰＮスイッチは、インバウンド通信の経路をイントラネット７６０内に配置されているメッセージ・センターＭＣ１に設定する。また、イントラネット内には、印刷サービスＰＳ１、ファイル・ストアＦＳ１、出力デバイスＤ１を含む、３つのプライベート・リソースも配置されている。
【０２７２】
説明されているアーキテクチャによれば、パブリック・ユーザはパブリック・アクセス可能なユーザ・インターフェイス（つまり、ＷｅｂおよびＷＡＰ  ＵＩ）とプライベート・ネットワーク内に配置されているメッセージ・センターとの間のＶＰＮリンクを介してプライベート・リソースにアクセスすることが許されている。ＷｅｂおよびＷＡＰ  ＵＩのセキュリティが、例えば、ユーザ認証やオプションの暗号化手法を使用して保護されている場合、認定されたユーザのみがＶＰＮリンクにアクセスすることができ、したがって、ファイヤウォール７５６のセキュリティ機能が維持される。さらに、セキュアＣＧＩ／ＶＰＮプロキシを使用するので、プロキシを通じたプライベート・ネットワークへのハッキングは実質的になくなる。
【０２７３】
この実装により、システムの機能が拡張され、パブリック・アクセス可能なメッセージ・センターを用意する必要がなくなる。例えば、企業側で望んでいるのは、販売担当者が本社を離れているときに１つまたは複数のプライベート・エンタープライズ・ネットワークに保管されているドキュメントを検索して印刷できるようにすることである。ＣＧＩ／ＶＰＮプロキシとプライベートＭＣとを組み合わせることにより、こうした販売担当者はプライベート・エンタープライズ・ネットワーク内のファイル・ストアにアクセスし、ファイル・ストアに格納されているドキュメントをプライベートＭＣに登録されている任意の出力デバイスに印刷することができる。
【０２７４】
ＶＰＮスイッチを通じてプライベートＭＣにアクセスする方法としてはほかに、Ｊ２ＭＥ（Ｊａｖａ（登録商標）  ２  Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎ）＋ＶＰＮ対応デバイス７６２を使用する方法がある。このようなデバイスは現在開発中であるが、近い将来すぐに利用できるようになると思われる。本質的に、Ｊ２ＭＥ＋ＶＰＮ対応デバイスは、図５８に示されているように、ＶＰＮプロキシのユーザがいなくてもデバイスが直接ＶＰＮスイッチと通信できるようにするＶＰＮクライアントを組み込んでいる。
【０２７５】
ＭＣのないプライベート・ネットワーク上のリソースへの印刷
【０２７６】
図５９Ａ、５９Ｂに示されているように、メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスに印刷できるようにシステムを構成することが可能である。例えば、図５９Ａに示されている構成７６４では、メッセージ・センターＭＣ１はＤＭＺ  ７５４内に配置され、送信先のプリンタＤ１はファイヤウォール７５８によりＤＭＺから分離されている適切なプライベート・イントラネット７６０内に配置されている。この構成では、プライベート・イントラネットとともに配置されているリモート・デスクトップ・クライアントＲＤＣ１とメッセージ・センターＭＣ１との間の永続的接続７６４が設定されている。
【０２７７】
セットアップ・オペレーションの間、リモート・デスクトップ・クライアントＲＤＣ１はメッセージ・センターＭＣ１との通信を初期化し、メッセージ・センターとの永続的通信７６６に対応する通信リンクを開く。その後、ＲＤＣはデータをメッセージ・センターＭＣ１に送信し、そこに接続されている出力デバイスを識別する（この場合、出力デバイス（Ｄ１））。この情報は、メッセージ・センターＭＣ１のＲＰＲＭデータベース２４２内に格納される。
【０２７８】
構成７６４に対応する印刷オペレーション例は以下のように進行する。最初に、セルラー７６８などの発信元デバイスのユーザがＵＩ  ７５０を介してメッセージ・センターＭＣ１に接続する。ユーザは、ＵＩを介して、印刷対象の、例えば、ＤＭＺ  ７５４に配置されているファイル・ストアＦＳ１上に格納されているリモート・ソース・ドキュメントを選択する。オプションにより、他のＭＣの構成および他のファイル・ストアの場所に応じて、ドキュメントを他のＤＭＺまたはプライベート・ネットワーク（図に示されていない）から検索することができる。もちろん、ユーザは発信元デバイスに格納されているローカル・ソース・ドキュメントを選択し印刷することもできる。
【０２７９】
ドキュメントを選択した後、ユーザは出力デバイスを選択することになるが、この場合は、出力デバイスＤ１が選択されている。印刷要求の確認の後、印刷サービスＰＳによりファイル・ストアからソース・ドキュメントが検索されるか、またはドキュメントがローカル・リソースであった場合には印刷サービスに送信される。ＭＣは、さらに、選択した出力デバイスのデバイスの能力を識別する情報をＰＳに送信する。次に、印刷サービスは、ソース・ドキュメントと選択した出力デバイスに対応する出力イメージ・データを生成し、その出力イメージ・データを出力イメージ・ファイルとしてリポジトリ（例えば、ファイル・ストアＦＳ１内に置かれている）に格納する。その後、ＰＳは、ジョブが完了したことを、出力イメージ・ファイルへの参照とともにメッセージ・センターＭＣ１に通知する。次に、メッセージ・センターは出力イメージ・ファイルを検索し、永続的接続７６６を介してリモート・デスクトップ・クライアントＲＤＣ１に転送する。イメージ・データ・ファイルを受信した後、ＲＤＣはそれを描画するため出力デバイスＤ１にサブミットする。完了後、ＲＤＣは永続的接続７６６を介してメッセージ・センターＭＣ１に通知を送り、その後、ＭＣはＵＩ  ７５０を更新して、印刷ジョブが完了していることをユーザに通知する。
【０２８０】
同じ最終的結果が得られる他の構成７７０を図５９Ｂに示す。この例では、すべてのコンポーネントは、ＶＰＮスイッチ７５６とＶＣＮクライアント７２２、７７４が追加されている点を除き図５９Ａと同じである。この例では、メッセージ・センターＭＣ１とリモート・デスクトップ・クライアントＲＤＣ１はＶＰＮチャンネル７７６を介して通信を行う。ＶＰＮチャンネルを使用することで、プライベート・イントラネット７６０のセキュリティ・レベルを高めることができる。
【０２８１】
前記の説明および付属の図面では、ＭＳ  Ｗｉｎｄｏｗｓオペレーティング・システム・コンポーネントが備えるソフトウェアのオペレーションを実装する本発明の実施形態が開示されていた。本発明の原理および教示はＵＮＩＸベースのオペレーティング・システムやＬＩＮＵＸベースのオペレーティング・システムなどの他のオペレーティング・システムが使用される実装にも適用できるため、これは制限することを意味しない。例えば、さまざまなＵＮＩＸやＬＩＮＵＸのオペレーティング・システムは、上で説明したＭＳ  Ｗｉｎｄｏｗｓ印刷サポート・コンポーネント（例えば、Ｗｉｎｄｏｗｓ  ＧＤＩ、印刷スプーラ、プリンタ・ドライバなど）と似たオペレーションを実現するＯＳカーネル・コンポーネントによってサポートされているグラフィカル・ユーザ・インターフェイス、アプリケーションＡＰＩ、印刷機能を備える。
【０２８２】
サーバ・コンピュータ・システムの例
図６０を参照すると、一般的に従来型であるコンピュータ・サーバ８００が説明されているが、本発明を実践することと関連して使用するのに適しており、別のコンピュータがＷｅｂサーバ・オペレーションの実行に使用されるＤＰＳサーバ・コンピュータおよびＷｅｂサーバ・コンピュータに使用することができる。これらの目的に適していると考えられるコンピュータ・システムの例として、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、ＵＮＩＸベース、ＬＩＮＵＸベースのオペレーティング・システムが稼働するコンピュータ・サーバが挙げられる。
【０２８３】
コンピュータ・サーバ８００は、一般的に、当業者であればよく知っているように、１つまたは複数のプロセッサ８０４やメモリ（例えば、ＤＩＭＭまたはＳＩＭＭ）を含む、適切な集積回路が配置されているマザーボード（図に示されていない）が搭載されているシャーシ８０２を備える。モニタ８０８は、コンピュータ・サーバによって実行されるソフトウェア・プログラムとプログラム・モジュールにより生成されたグラフィックスやテキストを表示するために備えている。マウス８１０（またはその他のポインティング・デバイス）は、シャーシ８０２の背面のシリアル・ポート（またはバス・ポートまたはＵＳＢポート）に接続することができ、マウス８１０からの信号はマザーボードに伝達され、これにより、コンピュータで実行されるソフトウェア・プログラムやモジュールによりディスプレイ上のカーソルを制御し、モニタ８０８に表示されるテキスト、メニュー・オプション、グラフィック・コンポーネントを選択する。さらに、キーボード８１２は、ユーザがコンピュータ上で実行されるソフトウェア・プログラムの実行に影響を及ぼすテキストとコマンドを入力できるようにマザーボードに結合されている。コンピュータ・サーバ８００は、さらに、サーバがネットワーク８１６を介してデータを送受信できるようにするネットワーク・インターフェイス・カード（ＮＩＣ）８１４または同等の回路をマザーボード内に組み込んでいる。
【０２８４】
本発明に対応するファイル・システムのストレージは、シャーシ８０２内部に収納されている複数のハード・ディスク８１８および／またはマザーボードに組み込まれているＳＣＳＩカード８２２または同等のＳＣＳＩ回路を介してアクセスできる外部ディスク・アレイ８２０内に収納されている複数のハード・ディスクを介して実装することができる。オプションにより、ディスク・アレイ８２０は、適切なＦｉｂｒｅ  Ｃｈａｎｎｅｌインターフェイス・カード（図に示されていない）または組み込み回路を使用してＦｉｂｒｅ  Ｃｈａｎｎｅｌリンクを使用してアクセスすることができる。
【０２８５】
コンピュータ・サーバ８００は一般にコンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ８２４を備えることができ、このドライブにＣＤ−ＲＯＭを挿入し、ディスク上の実行可能ファイルおよびデータを読み込んで、メモリ８０６および／またはハードディスク８１８上のストレージに転送できるすることができる。同様に、フロッピー・ドライブ８２６をそのような目的のために備えることができる。光記録媒体またはＤＶＤドライブなどの他の大容量メモリ・ストレージ・デバイスも備えることができる。上で説明した本発明のオペレーションをプロセッサ８０４に実行させるソフトウェア・プログラム、コンポーネント、モジュールを含む機械語命令は、通常、フロッピー・ディスク８２８またはＣＤ−ＲＯＭ  ８３０（またはその他のメモリ媒体）で配布するか、または１つまたは複数のハード・ディスク８１８上に格納しておき、プロセッサ８０４によって実行するときにメモリ８０６にロードする。オプションにより、ネットワーク８１６を介して機械語命令を搬送波ファイルとしてロードすることもできる。上で述べたように、本発明の実施形態は、処理コア（コンピュータのＣＰＵなど）の何らかの形で実行されるか、または他の何らかの方法により機械可読媒体上でまたは機械可読媒体内に実装または実現されるソフトウェア・プログラムとして使用するか、またはそのソフトウェア・プログラムをサポートするために使用できる。機械可読媒体は、機械（例えば、コンピュータ）で読める形式で情報を格納または送信するためのメカニズムを備える。例えば、機械可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶装置、フラッシュ・メモリ・デバイスなどを含むことができる。さらに、機械可読媒体は、電気的、光学的、音響、またはその他の形式の伝搬信号など伝搬する信号（例えば、搬送波、赤外線信号、デジタル信号など）を含むことができる。
【０２８６】
したがって、本発明の実施形態は、処理コア（コンピュータのＣＰＵなど）の何らかの形で実行されるか、または他の何らかの方法により機械可読媒体上でまたは機械可読媒体内に実装または実現されるソフトウェア・プログラムとして使用するか、またはそのソフトウェア・プログラムをサポートするために使用できる。機械可読媒体は、機械（例えば、コンピュータ）で読める形式で情報を格納または送信するためのメカニズムを備える。例えば、機械可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶装置、フラッシュ・メモリ・デバイスなどを含むことができる。さらに、機械可読媒体は、電気的、光学的、音響、またはその他の形式の伝搬信号など伝搬する信号（例えば、搬送波、赤外線信号、デジタル信号など）を含むことができる。
【０２８７】
要約書の内容を含む、本発明の図の実施形態の上の説明は、網羅的であることを意図していないし、また本発明を開示している正確な形式に制限する意図もない。本発明の特定の実施形態およびその例は、本明細書では説明を目的とするものであるが、本発明の範囲内では、当業者であれば理解するように、さまざまな同等の修正が可能である。
【０２８８】
上述の説明に照らして、これらの修正を本発明に加えることができる。請求項で使用している用語は、本発明を明細書および請求項で開示されている特定の実施形態に制限するものと解釈すべきではない。むしろ、本発明の範囲は、請求項の解釈の確立されている原則にしたがって解釈されるべき請求項により完全に決定される。
【図面の簡単な説明】
【０２８９】
【図１】メッセージ・センター（ＭＣ）により実行されるさまざまなタスクを例示するブロック概略図である。
【図２】印刷サービス（ＰＳ）により実行されるさまざまなタスクを例示するブロック概略図である。
【図３】リモート・デスクトップ・クライアント（ＲＤＣ）により実行されるさまざまなタスクを例示するブロック概略図である。
【図４】無線データ・アクセス・ポイント（ＷＤＡＰ）により実行されるさまざまなタスクを例示するブロック概略図である。
【図５】単純な出力管理システム実装例を例示する概略図である。
【図６】より複雑な出力管理システム実装例を例示する概略図である。
【図７】ルート・メッセージ・センターとプライベート・ネットワークに接続されているメッセージ・センターとの間の情報のやり取りを示す概略図である。
【図８】ピア・ツー・ピア方式のメッセージ・センター接続を確立するために使用するセットアップ・オペレーションを例示する概略図である。
【図９】ＲＤＣクライアント登録要求に従ってＲＤＣとメッセージ・センターとの間の情報のやり取りを例示する流れ図である。
【図１０】ＲＤＣプリンタ登録要求に対応する流れ図である。
【図１１】ＲＤＣがデバイス・リソース定義をメッセージ・センターにサブミットすることに対応する流れ図である。
【図１２】ホーム・メッセージ・センターを経由してルート・メッセージ・センターに送られるパブリック・デバイス・クエリの流れ図である。
【図１３】ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される参照による印刷（ＰＢＲ）ジョブ要求に対応する流れ図である。
【図１４】図１３のＰＢＲジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図１５】ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される非ＰＢＲジョブ要求に対応する流れ図である。
【図１６】ホーム・ドメイン内のユーザによりホーム・ドメイン内のリモート・デスクトップ・クライアントに接続されているローカル・プリンタにサブミットされるＰＢＲジョブ要求に対応する流れ図である。
【図１７】図１６のＰＢＲジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図１８】ホーム・ドメイン（例えば、ゾーン１）内のユーザによりサブミットされ、ルート・メッセージ・センターのパブリック出力デバイス（Ｄ１）上で印刷されるＰＢＲジョブ要求に対応する流れ図である。
【図１９】図１８のＰＢＲジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図２０】システム内のメッセージ・センターと情報をやり取りするための３つの主要アクセス・メカニズムを例示する概略図である。
【図２１】ＷＤＡＰを介してユーザがジョブ要求をサブミットしたときに動的なデフォルト・プリンタを決定するために使用されるオペレーションを例示する概略図である。
【図２２】Ｂｌｕｅｔｏｏｔｈ対応発信元デバイスのユーザがＢｌｕｅｔｏｏｔｈデバイス・エミュレータを含むＷＤＡＰを介してジョブ要求をサブミットしたときに動的なデフォルト・プリンタを決定するために使用されるオペレーションを例示する概略図である。
【図２３】出力管理システムの通常の実装で発生しうるさまざまな接続経路および接続の種類を表すシステム接続トポロジの概要図である。
【図２４】ゾーン内・メッセージ・センターおよびパブリックＲＤＣを介して処理されるジョブ要求の処理時に実行されるオペレーションを例示する流れ図である
【図２５】本発明の一実施形態による４層アーキテクチャに対応する概略ブロック図である。
【図２６】さまざまなソフトウェア・モジュールおよびメッセージ・センターが備えるオペレーションを実装するために使用される対応するデータベース・スキーマを例示するブロック概略図である。
【図２７】印刷サービスにより実装されるさまざまなソフトウェア・コンポーネントを例示するブロック概略図である。
【図２８】印刷サービスにより使用されるさまざまなＣＧＩスクリプトを例示するブロック概略図である。
【図２９】ドライバ・プリント・サーバにより実装されるさまざまなソフトウェア・コンポーネントを例示するブロック概略図である。
【図３０】印刷サービスにサブミットされる印刷要求に対応する代表的なデータ・フロー・プロセスを例示する概略図である。
【図３１】印刷サービスのドライバレス・プリント・サーバ・ソフトウェアによって実現される他のオペレーションおよびロジックを例示する概略図と流れ図を組み合わせた図である。
【図３２】印刷ジョブを処理するときに起動されるさまざまなダイアログ・ボックスおよびメッセージ・ボックスを取り扱うためウィンドウ処理コンポーネントにより使用されるオペレーションおよびロジックを例示する流れ図および概略図である。
【図３３】出力管理システムを介してファイル・サーバ・アクセスをセットアップするためにユーザが使用できるＷｅｂベースのユーザ・インターフェイス（ＵＩ）の図である。
【図３４】複数のファイル・サーバをアクセスできるようにセットアップした後の図３３のＷｅｂベースのＵＩの図である。
【図３５】お気に入りのプリンタのリストをセットアップするためにユーザが使用できるＷｅｂベースのＵＩの図である。
【図３６】システム管理者によってすでに構成済みのプリンタをサーチするためにユーザが使用できるＷｅｂベースのＵＩの図である。
【図３７】複数のプリンタをお気に入りのプリンタのリストに追加した後の図３５のＷｅｂベースのＵＩの図である。
【図３８】図３９〜５２のＷＡＰベースのユーザ・インターフェイスの詳細内容に対応する凡例である。
【図３９】加入者ログイン・プロセスに対応するＷＡＰ  ＵＩの流れ図の第１の部分である。
【図４０】図３９のＷＡＰ  ＵＩの流れ図の第２の部分である。
【図４１】ＣＧＩスクリプトｓｕｂＯｕｔｐｕｔＩｎｄｅｘ．ｐｌに対応するＷＡＰ  ＵＩの流れ図である。
【図４２】ネットワークのナビゲーションで出力するドキュメントの検索を行えるようにする一組のカードに対応するＷＡＰ  ＵＩの流れ図である。
【図４３】ネットワーク・サイト、ファックス装置、電子メール・アドレスを追加することに対応するＷＡＰ  ＵＩの流れ図である。
【図４４】ネットワーク・サイトをユーザのネットワーク・サイト・リストに追加したことをユーザに通知するために使用されるＷＡＰ  ＵＩである。
【図４５】新規プリンタをお気に入りのプリンタのリストに追加することに対応するＷＡＰ  ＵＩの流れ図である。
【図４６】ファックス装置をユーザのファックス・リストに追加したことをユーザに通知するために使用されるＷＡＰ  ＵＩである。
【図４７】電子メール名をユーザの連絡先リストに追加したことをユーザに通知するために使用されるＷＡＰ  ＵＩである。
【図４８】選択したドキュメントおよび出力デバイスの確認に対応するＷＡＰ  ＵＩの流れ図である。
【図４９】新規ファックスをユーザのお気に入りのファックスのリストに追加することに対応するＷＡＰ  ＵＩの流れ図である。
【図５０】新規電子メール連絡をユーザの連絡先リストに追加することに対応するＷＡＰ  ＵＩの流れ図である。
【図５１】プリント・ジョブ、ファックス・ジョブ、電子メール・ジョブを対応するジョブ・キューに挿入することに対応するＷＡＰ  ＵＩの流れ図である。
【図５２】ユーザの送信要求に対する応答としてＰＩＮが電子メールを介してユーザに正しく送信されたかどうかを示すＷＡＰ  ＵＩの流れ図である。
【図５３】低解像度画面を使用するデバイス上でドキュメントのプレビューを行うために元のドキュメント・イメージをさまざまなサイズのサムネイルに変換する方法を例示する図である。
【図５４】テキスト・ベースのドキュメントの部分部分を閲覧し、選択した出力デバイスに出力したときのドキュメントの表示のされ方をプレビューする方法を示している概略図である。
【図５５】表計算ソフトのドキュメントの部分部分を閲覧し、選択した出力デバイスに出力したときのドキュメントの表示のされ方をプレビューする方法を示している概略図である。
【図５６】出力管理システムのアーキテクチャの原理を拡張して、インスタント・メッセージング・サービス経由のリソース共有をサポートする方法を例示する概略図である。
【図５７】マルチメディア・メッセージング対応デバイスを介してシステムを使用する方法を例示する概略図である。
【図５８】システムによって使用されるリソースを含むプライベート・ネットワークのセキュリティを強化するためにＣＧＩ  ＶＰＮプロキシをどのように実装するかを例示する概略図である。
【図５９Ａ】メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスへのアクセスを可能にする第１の構成を例示する概略図である。
【図５９Ｂ】メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスへのアクセスを可能にする第２の構成を例示する概略図である。
【図６０】メッセージ・センターおよび印刷サービスを含む、システムのさまざまなコンポーネントのホストとして使用されるコンピュータ・サーバ例の概略図である。
【図１】
2005523489.tif 000021
【図２】
2005523489.tif 000022
【図３】
2005523489.tif 000023
【図４】
2005523489.tif 000024
【図５】
2005523489.tif 000025
【図６】
2005523489.tif 000026
【図７】
2005523489.tif 000027
【図８】
2005523489.tif 000028
【図９】
2005523489.tif 000029
【図１０】
2005523489.tif 000030
【図１１】
2005523489.tif 000031
【図１２】
2005523489.tif 000032
【図１３】
2005523489.tif 000033
【図１４】
2005523489.tif 000034
【図１５】
2005523489.tif 000035
【図１６】
2005523489.tif 000036
【図１７】
2005523489.tif 000037
【図１８】
2005523489.tif 000038
【図１９】
2005523489.tif 000039
【図２０】
2005523489.tif 000040
【図２１】
2005523489.tif 000041
【図２２】
2005523489.tif 000042
【図２３】
2005523489.tif 000043
【図２４】
2005523489.tif 000044
【図２５】
2005523489.tif 000045
【図２６】
2005523489.tif 000046
【図２７】
2005523489.tif 000047
【図２８】
2005523489.tif 000048
【図２９】
2005523489.tif 000049
【図３０】
2005523489.tif 000050
【図３１】
2005523489.tif 000051
【図３２】
2005523489.tif 000052
【図３３】
2005523489.tif 000053
【図３４】
2005523489.tif 000054
【図３５】
2005523489.tif 000055
【図３６】
2005523489.tif 000056
【図３７】
2005523489.tif 000057
【図３８】
2005523489.tif 000058
【図３９】
2005523489.tif 000059
【図４０】
2005523489.tif 000060
【図４１】
2005523489.tif 000061
【図４２】
2005523489.tif 000062
【図４３】
2005523489.tif 000063
【図４４】
2005523489.tif 000064
【図４５】
2005523489.tif 000065
【図４６】
2005523489.tif 000066
【図４７】
2005523489.tif 000067
【図４８】
2005523489.tif 000068
【図４９】
2005523489.tif 000069
【図５０】
2005523489.tif 000070
【図５１】
2005523489.tif 000071
【図５２】
2005523489.tif 000072
【図５３】
2005523489.tif 000073
【図５４】
2005523489.tif 000074
【図５５】
2005523489.tif 000075
【図５６】
2005523489.tif 000076
【図５７】
2005523489.tif 000077
【図５８】
2005523489.tif 000078
【図５９Ａ】
2005523489.tif 000079
【図５９Ｂ】
2005523489.tif 000080
【図６０】
2005523489.tif 000081
【国際調査報告】
2005523489.tif 000082