JP2005501341A - 無線デバイス経由の印刷を可能にする出力管理システムおよび方法 - Google Patents
無線デバイス経由の印刷を可能にする出力管理システムおよび方法 Download PDFInfo
- Publication number
- JP2005501341A JP2005501341A JP2003523393A JP2003523393A JP2005501341A JP 2005501341 A JP2005501341 A JP 2005501341A JP 2003523393 A JP2003523393 A JP 2003523393A JP 2003523393 A JP2003523393 A JP 2003523393A JP 2005501341 A JP2005501341 A JP 2005501341A
- Authority
- JP
- Japan
- Prior art keywords
- output
- user
- data
- firewall
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 173
- 238000007639 printing Methods 0.000 title claims abstract description 85
- 238000004891 communication Methods 0.000 claims description 54
- 230000004044 response Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 28
- 238000009877 rendering Methods 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 72
- 238000010586 diagram Methods 0.000 description 60
- 238000013515 script Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 49
- 238000012545 processing Methods 0.000 description 33
- 238000012546 transfer Methods 0.000 description 22
- 230000001413 cellular effect Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 15
- 230000002085 persistent effect Effects 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 230000003213 activating effect Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 229920001690 polydopamine Polymers 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 239000000969 carrier Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 101100000928 Canis lupus familiaris ADRA1B gene Proteins 0.000 description 2
- 101100247631 Metacordyceps chlamydosporia rdc2 gene Proteins 0.000 description 2
- 101100247634 Metacordyceps chlamydosporia rdc5 gene Proteins 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 102100027493 5-hydroxytryptamine receptor 1D Human genes 0.000 description 1
- 101000724739 Homo sapiens 5-hydroxytryptamine receptor 1D Proteins 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 101100247632 Metacordyceps chlamydosporia rdc3 gene Proteins 0.000 description 1
- 101100297539 Schizosaccharomyces pombe (strain 972 / ATCC 24843) php4 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010017 direct printing Methods 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
- H04N1/00413—Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
- H04N1/00416—Multi-level menus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/327—Initiating, continuing or ending a single-mode communication; Handshaking therefor
- H04N1/32765—Initiating a communication
- H04N1/32767—Initiating a communication in response to a user operation, e.g. actuating a switch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
【0001】
本出願は、出願日の利益が35 U.S.C.§119(e)に従って主張されている2001年8月22日に出願された「METHOD AND APPARATUS FOR WIRELESS DOCUMENT PRINTING,VIEWING AND SHARING」という表題の同時係属仮出願第60/314,412号明細書および2002年1月23日に出願された「METHOD AND SYSTEM FOR PRINTING AND FORMATTING DOCUMENTS AND OUTPUT RESOURCE MANAGEMENT FROM MOBILE DEVICES」という表題の同時係属仮出願第60/351,754号明細書、ならびに出願日の利益が35 U.S.C.§120に従って主張されている2002年3月13日に出願された「UNIVERSAL PRINTING AND DOCUMENT IMAGING SYSTEM AND METHOD」という表題の同時係属非仮出願第10/098,832号明細書および2002年3月21日に出願された「METHOD AND SYSTEM TO PRINT VIA E−MAIL」という表題の同時係属非仮出願第10/104,528号明細書に基づいている。さらに、参照により各同時係属非仮出願の明細書および図面が全部本明細書に取り込まれている。
【技術分野】
【0002】
本発明の分野は、一般的にネットワーク印刷環境に関するものであり、より具体的には、またこれに限るわけではないが、モバイル・ネットワーク印刷環境と出力要求の管理に関するものである。
【背景技術】
【0003】
従来の印刷環境では、ローカル・エリア・ネットワーク(LAN)などの閉じたコンピュータ・ネットワークを介して相互接続されているコンピュータを操作するユーザは、そのコンピュータで実行されているアプリケーションにより生成されたドキュメントを、プリンタ、プロッタなどのネットワークに接続されている出力デバイス上に描画させるためにサブミットする。今日の急速に発展するモバイル・ビジネス環境では、このような制限された印刷ソリューションはもはや満足なものとはいえない。従来の印刷技術は、確かに、高い解像度、優れた印字品質、およびカラーのドキュメントを高速に出力するということを目指して発展してきたが、今日のモバイル・ワーカーに適した印刷技術の開発を怠っていた。
【発明の開示】
【発明が解決しようとする課題】
【0004】
今日のモバイル・ビジネス環境では、従来の印刷環境の開発者が印刷に関して考えもしなかった、あるいは取り扱わなかった多くのシナリオが出現している。例えば、以下の状況を考える。ビジネス開発者は、相手のオフィスで商取引について話す準備をしながら自分の会社のホーム・ネットワークに保管されている必要な契約書を相手のネットワーク内のプリンタにサブミットすることができるか。出張中の営業担当は、自分のプレゼンテーション・スライドのドキュメントが手元になくてもプレゼンテーション・スライドを近くのプリンタにたやすく印刷できるか。Bluetoothハンドセットのユーザは、部屋の中に入り、Bluetooth対応のプリンタがあるのを知り、近くのプリンタで、たとえプリンタがBluetooth対応でなくてもドキュメントを印刷できるか。インスタント・メッセージングのユーザは、ドキュメントを仲間のプリンタ・リストにドラッグ&ドロップして、ドキュメントを印刷することができるか。投資家は空港にいながら、自分の携帯電話だけを使って本社にある必要なドキュメントを印刷することができるか。これらの状況に対して印刷ソリューションを提供し、また他の同様のシナリオを提供すると都合がよいであろう。
【課題を解決するための手段】
【0005】
本発明の態様において、さまざまな種類のコンピュータ・ネットワーク上で印刷、ファックス送信、電子メールなどの出力を管理するシステムと方法を提供する。一態様では、この方法は無線デバイス経由の印刷を提供する。本システムは描画可能なデータをユーザ・インターフェイス(UI)が構成される無線デバイスに供給する。このUIを使用することで、ユーザは、ソース・データとそのソース・データを印刷する出力デバイスを選択することができる。ソース・データはローカルまたはリモート・ストアから検索され、印刷サービスに転送される。印刷サービスはソース・データと選択された出力デバイスに対応する出力イメージ・データを描画する。さらに、出力イメージ・データは出力デバイスにサブミットされ、物理的に描画される。このユーザ・インターフェイスを使用することにより、有線デバイスと無線デバイスからシステムにアクセスすることができる。このシステムでは、ドキュメントを参照により印刷することができ、またファイヤウォールの背後にあるリソースにアクセスすることができる。
【0006】
本発明の前述の態様およびその結果の利点の多くは、特に断りのない限り図面全体を通して類似の参照番号は類似の部品を指している添付の図面に関して、以下の詳細な説明を参照することにより容易に理解できるため明白であろう。
【発明を実施するための最良の形態】
【0007】
ここでは、モバイル・ユーザおよび地上回線利用ユーザ用の印刷ソリューションを実現する出力管理システムと方法の実施形態を説明する。以下の説明では、本発明の実施形態を完全に理解できるように、アーキテクチャ実装例など、具体的詳細事項を多数述べる。ただし、当業者であれば、本発明が、具体的な詳細事項が1つまたは複数取りあげられていなくても、あるいは他の方法、コンポーネント、材料などを使用していたとしても、実施できることを理解するであろう。他の例では、よく知られている構造、材料、またはオペレーションについては、本発明の態様をわかりにくくしないために詳しく示したり説明していない。
【0008】
この明細書全体を通して「一実施形態」または「実施形態」と記述する場合、その実施形態と関連して説明している特定の機能、構造、または特性が本発明の少なくとも1つの実施形態に含まれる。したがって、本明細書全体のさまざまな場所に「一実施形態では」または「実施形態では」という語句が出現しても、必ずしもすべて同じ実施形態を指しているわけではない。さらに、特定の機能、構造、または特性を1つまたは複数の実施形態において適当な方法により組み合わせることができる。
【0009】
以下の用語およびその定義は、以降の説明全体を通して頻繁に使用される。
【0010】
ソース・データ:ソース・データは、検索してデバイスに出力することができるドキュメントまたは媒体を指す。サポートされている入力データ形式には、以下に限定しないが、ドキュメント・プロセッサでサポートしている種類の大半(例えば、PDF、PostScript、Microsoft Word、ASCIIテキストなど)、Web URLリンク、電子メール、および電子メール添付ファイルがある。
【0011】
リモート・ストア:リモート・ストアは、ローカル・エリア・ネットワーク(LAN)またはソース・データが格納されるインターネット上のリモート位置を含む。リモート・ストアとしては、以下に限定しないが、FTPコンテンツ・サーバ、NFSファイル・サーバ、PCNFSファイル・サーバ、およびWebサーバがある。
【0012】
ローカル・ソース:ローカル・ソースは、印刷要求の発行元と同じユーザ・デバイス上に格納されたソース・データを含む。したがって、ローカル・ソースから印刷する場合、ソース・データをユーザのデバイスから出力管理システムにアップロードして処理する必要がある。
【0013】
リモート・ソース:リモート・ソースは、リモート・ストア上に格納されているソース・データを含む。
【0014】
発信デバイス:ユーザによるジョブ要求の発信元である無線または有線デバイス。
【0015】
出力デバイス:出力デバイスは、本システムから出力イメージ・データを得て、表示または記録用に特定の形式に変換する装置を備える。サポートされている出力デバイスとしては、以下に限定しないが、プリンタ、ファックス装置、リモート・ドキュメント・リポジトリ、および電子メール宛先がある。これらの出力デバイスは、LAN上に配置することができるが、インターネットやプライベート・ネットワークなどの一般人がアクセスできるネットワークを含む、外部ネットワーク上に置くこともできる。
【0016】
ジョブ要求:ジョブ要求は、システムに処理させ、出力装置に送ることをユーザがサブミットする要求のことである。
【0017】
ジョブ・ステータス:これは、要求処理の現在の進捗状況を示すジョブ要求のステータスのことである。これは、ユーザがジョブ要求のステータスを理解すること、またシステム管理者がそれらを管理することを補助するためのメカニズムである。
【0018】
参照による印刷(PBR :Print by Reference ):このジョブ処理方法では、システムはローカル・ソースからではなくリモート・ソースからソース・データを検索しなければならない。
【0019】
遅延印刷:送り先出力デバイスが現在利用不可能な場合に、処理されたジョブ要求の出力、ジョブ処理の最終段を遅らせることとして定義される。
【0020】
ユーザ・データベース:各ユーザのシステム構成設定を追跡するために使用されるシステム・データベースである。
【0021】
サーバ:ネットワーク上でアクセス可能なソフトウェアを実行しているコンピュータ。
【0022】
Webサーバ:クライアント・コンピュータとサーバ・コンピュータとの間でハイパーテキスト伝送プロトコル(HTTP)またはセキュアHTTP(HTTPS)を使用してハイパーテキスト・マークアップ言語(HTML)ファイルと、共通ゲートウェイ・インターフェイス(CGI)データと、データ・ファイルとを伝送するクライアント・コンピュータと通信するコンピュータまたはサーバ上で実行されているソフトウェア・プログラム。
【0023】
Windows(登録商標)プリンタ:Microsoft Windowsオペレーティング・システムでは、「プリンタ」とは、プリンタ・ドライバやプリント・プロセッサ、言語モニタ、ポート・モニタの名前を付けた組合せとして定義される。
【0024】
スプール・ファイル:MS Windowsプリンタ・ドライバによって作成されるプリンタ言語ファイル。このファイルの内容を直接プリンタに送信し、印刷することができる。
【0025】
インターネット印刷プロトコル(IPP):ネットワークで接続されているプリンタにスプール・ファイルを送信したり、ネットワークで接続されているプリンタから印刷ジョブ・ステータスを取得するためのHTTPに似たプロトコル。
【0026】
ライン・プリンタ・リモート(LPR):ネットワークで接続されているプリンタにスプール・ファイルをサブミットするためのプロトコル。
【0027】
ゾーン:自律型の出力管理システムを取り囲んでいるネットワーク。通常、ゾーンはネットワーク・ドメインの論理表現を含む。
【0028】
本明細書で説明している本発明のさまざまな実施形態を使用することで、無線や有線のユーザは、ローカル・ソースやリモート・ソースからソース・データを検索し、そのソース・データを、送り先出力デバイスまたは宛先出力デバイスともいう選択した出力デバイスに出力するように要求することができる。一般に、出力デバイスは発信元デバイス(つまり、出力要求の発行元であるデバイス)と同じネットワーク上に配置でき、またよくあることだが、通常であれば発信元デバイスにアクセス可能でないネットワークなど、別のネットワーク上に配置することもできる。
【0029】
最上位では、本明細書で説明している本発明の出力管理システムの実施形態の動作と機能は、メッセージ・センター(MC)、印刷サービス(PS)、リモート・デスクトップ・クライアント(RDC)、無線データ・アクセス・ポイント(WDAP)の4つの主要コンポーネントのユーザを介して利用することができる。実際の実装では、一般的に、実装の特定の要件に応じて、これらのコンポーネントのさまざまな組合せを使用する。
【0030】
メッセージ・センターはシステムの心臓部である。システム全体が適切に機能するようにシステム内の残りのコンポーネントとインターフェイスしている。図1に示されているように、一実施形態では、メッセージ・センターMCnは12個の主要タスク、つまりコンポーネントの登録と登録解除10、ジョブ要求受信12、ジョブ要求処理14、ジョブ出力スケジューリングとキューイング16、ジョブ出力ステータス監視18、ピア・メッセージ・センター・インタラクション20、ルート・レベル・メッセージ・センター・インタラクション22、リモート・デスクトップ・クライアント管理24、印刷サービス管理26、無線データ・アクセス・ポイント管理28、ユーザ・プロファイル管理30、ユーザ・インターフェイス管理32を実行する。
【0031】
印刷サービス・コンポーネントは、ジョブ要求の描画と印刷を処理する。図2に示されているように、一実施形態では、印刷サービスPSnは、「出力イメージを描画」34、「出力イメージをリポジトリに保管」36、「出力イメージをローカル・デバイスに送信」38、「ジョブ出力ステータスをメッセージ・センターに送信」40、「ローカル出力デバイス管理」42などの印刷サービス・タスクを実行する。
【0032】
リモート・デスクトップ・クライアント・コンポーネントを使用して、リモート・デバイスをシステム全体に接続することができる。図3に示されているように、一実施形態では、リモート・デスクトップ・クライアントRDCnは、3つの主要タスク、つまり「出力デバイスの登録と登録解除」44、「メッセージ・センターから出力要求を受信」46、「ジョブ出力ステータスをメッセージ・センターに返す」48を実行する。
【0033】
無線データ・アクセス・ポイント・コンポーネント利用すると、無線ユーザは、Bluetooth、IEEE 802.11などの標準無線プロトコルを使用してシステムに接続することができる。また、メッセージ・センターは無線アクセスのためのリソース・マッピングを管理することができる。図4に示されているように、一実施形態では、WDAPnは、5つの主要タスク、つまり、「コンポーネントの登録と登録解除」50、「デバイス接続要求を受信」52、「ユーザの無線デバイスから要求を中継」54、「システム応答をユーザの無線デバイスに中継」56、「出力デバイス地理的関係を記録」58を実行する。
【0034】
まとめると、本明細書で説明している出力管理システムの実施形態の本発明の各態様では、1)デバイス・リソース管理、2)デバイス・リソース発見、3)ジョブ要求管理、4)ジョブ要求スケジューリング、5)ジョブ要求監視、6)ユーザ・プロファイル管理、7)ユーザ・モバイル・サインインのオペレーションを対象とする。以下では、これ以降で説明するシステム実施例を使用して説明する詳細とともに各態様の概要を簡単に説明する。
【0035】
デバイス・リソース管理
システムでは、出力デバイスを簡単に、かつすばやく特定できるようにデバイス・リソースを管理している。一実施形態では、これらのデバイスは、物理出力デバイスと論理出力デバイスに分けられる。物理出力デバイスとしては、以下に限定しないが、プリンタ、ファックス装置、コピー機などがある。論理出力デバイスとしては、以下に限定しないが、ファイル・サーバ、プリント・サーバ、FTPリポジトリ、電子メール宛先がある。関連するオペレーションの一覧を以下に示す。
【0036】
階層型ルート・メッセージ・センター、パブリック、プライベート・デバイス分類を使用してリソース管理および共有を行いやすくすること:システムでは、データベースを使用して各メッセージ・センターの関係を記録する。ルート・メッセージ・センターのメッセージ・センターID(MCID)は0に等しく、他のメッセージ・センターのMCID値はすべて、0でない正の整数である。ルート・メッセージ・センターのテーブルに、他のメッセージ・センターのゾーンやネットワーク・アドレスを識別する情報が保持される。ローカル・メッセージ・センターは、ルート・メッセージ・センターに登録し、リソース共有のパブリック・リソース情報をアナウンスする必要がある。非公開のすべてのデバイス・リソースは、プライベートとみなされ、それらのリソースが置かれているゾーンの外部では共有できない。
【0037】
ローカルおよびリモート・クライアント登録メカニズムを使用したデバイス管理:関連する印刷サービスにより、接続された出力デバイスはメッセージ・センターに登録され、同様に、関連するリモート・デスクトップ・クライアントは、その直接接続出力デバイスをメッセージ・センターに登録する。これらの出力デバイスを参照するには、対応する印刷サービスまたはリモート・デスクトップ・クライアントを使用する。実装の特定のセキュリティ要件に応じて、必要ならば、システム内の印刷サービスとリモート・デスクトップ・クライアントに対し暗号化を使用してデータ・セキュリティとデータ保全性を保証するようにすることが賢明であると思われる。
【0038】
World Wide Webとモバイル・デバイス・インターフェイスを使用したデバイス管理:本システムは、デバイス管理用の単純なモバイル管理インターフェイスとともに管理インターフェイス一式を備える。
【0039】
集中ドライバ・ストアを使用したリモート・デバイス・インストール:出力デバイスの登録後、対応するドライバを出力デバイスに関連する印刷サービスにインストールする必要がある。メッセージ・センターは、ドライバ・ストア内で一般に使用されるドライバの配列を備え、デバイス側でドライバを印刷サービス・コンポーネントに転送しなくて済むようにしている。ただし、ドライバは、MCドライバ・ストアから現在利用できない場合、ドライバ・ストアに転送してから、印刷サービスにインストールすることができる。
【0040】
デバイス・リソース発見
本では、ユーザはモバイル・コンピューティング環境で出力デバイスを特定することができる。以下で詳述するが、一実施形態では、BluetoothとIEEE 802.11技術をデバイス発見に使用する。また、これを使用することで、Bluetooth非対応デバイスを、Bluetoothデバイス・エミュレータを通じてBluetoothデバイスであるかのように動作させることができる。関連するオペレーションの一覧を以下に示す。
【0041】
Bluetooth接続を介した出力デバイス発見およびメッセージ・センターへの登録:出力デバイス情報を取得するためにメッセージ・センターとインターフェイスをとるように、無線データ・アクセス・ポイント(WDAP)上でエージェントを実行させることによって行われる。さらにエージェントは、メッセージ・センターと協力して、WDAP上で実行される出力デバイス情報データベースを保持する。
【0042】
Bluetoothゲートウェイを介したBluetoothクライアントへのローカル汎用出力デバイス利用可能性アナウンス:オプションのBluetoothゲートウェイを配備することで、メッセージ・センターがWDAPを通じて受信する情報を管理できるようにする。登録されているWDAPを通じてネットワークに接続する際に、出力デバイス利用可能性を含むこの情報を無線ユーザにアナウンスする。モバイル・ユーザの場合、この情報は、ネットワークを通じてユーザが移動し、異なるWDAPに接続するときにシステムよって更新される。
【0043】
802.11ゲートウェイを介した出力デバイス発見および登録:Bluetooth接続に使用したのと同様の方法で出力デバイス情報を取得するためにメッセージ・センターとインターフェイスをとるように、無線データ・アクセス・ポイント(WDAP)上でエージェントを実行させることによって行われる。
【0044】
IPブロードキャストを介した出力デバイス利用可能性アナウンス:オプションの802.11ゲートウェイをシステム内に配備することで、メッセージ・センターがWDAPを通じて受信する情報を管理できるようにする。登録されているWDAPを通じてネットワークに入る際に、出力デバイス利用可能性を含むこの情報を802.11認証済みユーザにアナウンスする。この情報は、ネットワークを通じてユーザが移動し、異なるWDAPに接続するときにシステムよって更新される。
【0045】
インスタント・メッセージング・インターフェイスを介したローカル出力デバイス利用可能性アナウンス:リモート・デスクトップ・クライアントを拡張し、インスタント・メッセージング(IM)プロトコルを通じてデバイス管理をサポートするようにできる(例えば、AOLインスタント・メッセージング、Yahooメッセージング、MSNメッセージング、ICQなど)。ユーザの出力リソースを他のメッセンジャー・ユーザ(例えば、仲間)が見られるように、また共有できるようにするというのがこのメッセージングの考え方である。例えば、この機能を使うと、IMユーザはファイルを仲間の出力デバイス・リストに載っている共有デバイスにドラッグ&ドロップするだけで、それらのファイルに対応する出力を仲間が簡単にアクセスできるデバイス上に出力することができる。
【0046】
出力リソース発見に基づくデフォルトの出力デバイス割当て:デフォルト出力デバイスは2種類あり、1つは静的デフォルト出力デバイスであり、もう1つは動的デフォルト出力デバイスである。ユーザは、グラフィカル・ユーザ・インターフェイス(GUI)を介して自分のプロファイル設定を修正することにより、静的デフォルト出力デバイスを変更することができる。しかし、ユーザがモバイル・デバイスを使用してシステムにアクセスするときに動的デフォルト出力デバイスを更新するのはシステムだけである。いずれにせよ、ユーザは、ユーザのプロファイル設定を修正する方法で動的上書きをオフにするか、または常に出力デバイス宛先を指定することができる。
【0047】
ジョブ要求管理
本システムでは、ジョブ要求を管理するため要求キューを実装している。関連するオペレーションの一覧を以下に示す。
【0048】
リモート・デスクトップ・クライアントを使用した出力デバイスに対するジョブ要求の管理:送り先出力デバイスへのジョブ要求はリモート・デスクトップ・クライアントを通じてチャネルが設定される。このRDCにより、出力デバイスは出力データを検索し、ステータスをメッセージ・センターに送り返すことができる。同じRDCで、暗号を実装し、メッセージ・センターとRDCとの間で交換される出力データを保護することができる。
【0049】
インスタント・メッセージング・インターフェイスを介したジョブ・サブミット:リモート・デスクトップ・クライアントを修正し、インスタント・メッセージング・プロトコルを通じてジョブ・サブミットをサポートするようにできる(例えば、AOLインスタント・メッセージング、Yahooメッセージング、MSNメッセージング、ICQなど)。このメカニズムを使用することにより、ユーザはファイルを仲間の共有出力デバイス・リストに載っているデバイスにドラッグ&ドロップすることができる。その後、仲間は、そのデバイスから出力データを受け取る。修正されたRDCは、メッセージ・センターに登録する必要がある(例えば、AOL所有、Yahoo所有、企業所有、またはルートMC)。成功すると、インスタント・メッセージングUI上の出力管理インターフェイスが表示される。ユーザの仲間もそのインスタント・メッセージング・ツール用に手直しされているRDCを実行している場合、ユーザのリソース情報が、インスタント・メッセージング・プロトコルを通じて、接続されている仲間に転送される。ユーザの仲間の共有出力デバイスにドキュメントをドラッグ&ドロップすることができる。
【0050】
インスタント・メッセージング・インターフェイスを介したジョブ印刷要求の受信:リモート・デスクトップ・クライアントをインスタント・メッセージング・プロトコルを通じてジョブ受信をサポートするように修正することができる。送信者が出力データを受信者の共有出力デバイス・リストに載っているデバイスにドラッグ&ドロップすると、ジョブ要求は受信者のRDCに送信され、印刷される。修正されたRDCは、前のようにメッセージ・センターに登録する必要がある。成功すると、インスタント・メッセージングUI上の出力管理インターフェイスが表示される。ユーザの仲間もそのインスタント・メッセージング・ツール用に手直しされているRDCを実行している場合、ユーザのリソース情報が、インスタント・メッセージング・プロトコルを通じて、接続されている仲間に転送される。ユーザは、他の登録されているユーザからジョブ要求を受信することができる。
【0051】
マルチメディア・メッセージング・システムとのインターフェイス:メッセージ・センターは、ほとんどのマルチメディア・メッセージング・システムとインターフェイスするインバウンド・ゲートウェイとアウトバウンド・ゲートウェイを配備することができる。この配備により、汎用マルチメディア・クライアントは出力管理システム駆動クライアントと通信し、情報を交換したり、共有デバイスおよび宛先への出力を要求することができる。
【0052】
汎用出力デバイスへのBluetooth接続によるジョブ・サブミット:Bluetoothデバイス・エミュレータを備えるWDAPにより、ユーザはBluetooth接続を通じてシステムのサブミット・インターフェイスにアクセスすることができる。要求があると、Bluetoothや汎用出力デバイスを含む出力デバイス利用可能性に関する情報がユーザに返される。ユーザは、その後、Bluetooth接続を通じて、選択した宛先出力デバイスに出力を送信することができる。
【0053】
専用サーバによるジョブ要求描画:本システムでは、印刷サービスを専用ジョブ描画サーバとして使用する。このため、クライアント・マシンに必要のないデバイス・ドライバをあまりインストールしなくて済む。リモート・デスクトップ・クライアントでは、数千マイルも離れたところで描画したジョブをローカル・デバイスに出力したり、その逆の作業を行ったりできる。
【0054】
個人およびビジネス・ジョブ要求分類:現在の企業印刷環境では、個人印刷ジョブ要求とビジネス要求とを区別していない。これに対して、本システムは、ジョブ要求を分類する方法を実装し、データベース内で要求にタグ付けをし、会計目的の情報を保持する。したがって、会計部門は、ジョブ要求で定義されているジョブ特性に基づいて、部門または従業員に請求することができる。
【0055】
ゲスト印刷のサポート:本システムは、ゲスト印刷をサポートするように構成できる。この作業は、メッセージ・センターにホスティングされているゲスト・ジョブ・サブミット・インターフェイスを通じて行う。このインターフェイスでは、ユーザ・プロファイルの妥当性確認が強制されるわけではなく、むしろパブリック出力リソースへの制限付きアクセスのみが許可される。管理者は、ゲスト印刷をする動的デフォルト・プリンタをそれでもサポートするようにメッセージ・センターを構成することができる。
【0056】
電子メール・ジョブ要求サポート:本システムは、一般的なジョブ要求として添付ファイルがあってもなくても電子メールを受け付ける。複数の出力チャネルへの添付ファイルがあってもなくてもそれらの要求を処理することができる。
【0057】
ドキュメント・プレビュー:本システムではドキュメント・プレビューをサポートしているため、ユーザは最終的な出力要求を発行する前に目で見て(例えば、ドキュメントのバージョンが正しいかどうかを)確認することができる。このドキュメント・プレビュー機能を使用すると、ユーザは、イメージをディザリングしたサムネイルで表示すること、および他のファイルをページ参照を保存したままプレーン・テキスト形式で表示することを素早く実行することができる。表計算ソフトでは、縦方向と横方向の両方のナビゲーション機能も備える。さらに、プレビュー・ドキュメントでは、元のドキュメントのページ同士の関係は保持されるため、ユーザはランダム・アクセスでドキュメントをプレビューすることができる。
【0058】
ジョブ要求スケジューリング
システムでは、ジョブ要求を管理するため要求キューを実装している。関連するオペレーションの一覧を以下に示す。
【0059】
遅延ジョブ・スケジューリング:ジョブ要求がメッセージ・センターに入ると、ジョブ処理を行ううえで十分な情報を保持するためにジョブ・キュー・エントリがメッセージ・センター・データベースの中に挿入される。送り先出力デバイスが使用可能な状態でない場合、システムはそのエントリをキュー内に保持し、出力デバイスが使用可能になったらサブミットするように後でスケジューリングし直す(管理者構成可能な遅延値を使用して)。
【0060】
ジョブ・スプーリング・ファクトリ内のファイル参照を使用した出力:本システムでは、印刷サービスを使用して出力イメージを描画する。印刷サービスおよびメッセージ・センターは一般に、同一ホスト・マシン上の同じ場所に置かれることはないため、描画データは、最終段の処理のため印刷サービスからメッセージ・センターに転送する必要がある。効率面から、印刷サービスは描画イメージを共有スプーリング・ファクトリ(つまり、リポジトリ)に格納し、イメージの参照をメッセージ・センターに返す。その後、メッセージ・センターは、この参照を使用して、データを宛先に出力する。
【0061】
ファイヤウォールを介したセキュリティ保護された出力:本システムはモジュール式設計なので、各コンポーネントの構成をカスタマイズすることが可能である。管理者は、システムを保護するためファイヤウォールをインストールすることができる。リモート・デスクトップ・クライアントには、ファイヤウォールが適切に構成されたときにメッセージ・センターとのインターフェイスをとる機能が備えられている。このため、ファイヤウォールを通してドキュメントを印刷することができる。
【0062】
ジョブ要求監視
本システムは、ジョブ・キュー・ログ追跡機能を介してジョブ・ステータス監視機能を実装する。関連するオペレーションの一覧を以下に示す。
【0063】
データベース更新を使用するジョブ永続状態追跡機能を介したジョブ・ステータス監視:メッセージ・センターは、ジョブ要求毎に持続状態を保持する。ジョブ出力要求が送り出されると、出力要求が完了したかどうかを判断するためにテーブル更新ハンドラがジョブ状態を監視する。完了していれば、データベースを更新し、ステータスをユーザに返す。
【0064】
WAPプッシュを介したジョブ出力ステータス報告:ジョブ要求が完了すると、データベース内のジョブ状態が更新される。その後、メッセージ・センターは、ジョブ発信元がWAPクライアントであれば、WAPプッシュを介して、完了したことをユーザに通知する。
【0065】
HTTPブラウザ更新を介したジョブ出力ステータス報告:ジョブ要求が完了すると、データベース内のジョブ状態が更新される。その後、メッセージ・センターは完了したことをユーザに通知する。HTTPジョブ・サブミット・クライアントでは、ジョブ状態は、状態に完了のマークが付けられるまで自動ブラウザ更新により更新される。
【0066】
出力作成
本システムは、出力作成のため印刷サービスを実装する。印刷サービスによって実行される関連するオペレーションの一覧を以下に示す。
【0067】
入力ファイル形式および構成可能システム設定に基づく出力描画アプリケーションの動的選択:出力ファイル・イメージを描画するために使用されるアプリケーションは、入力ファイルの形式に基づいて優先順位付けすることができる。優先順位は、システム構成設定の変更により調整することができる。
【0068】
出力ファイル・イメージ描画でのサードパーティー製アプリケーションの使用:本システムは、出力イメージの描画にサードパーティー製アプリケーションを使用することもできる。
【0069】
複数出力描画アルゴリズムのサポート:システムは、入力ドキュメントの特定の特性に応じて、出力イメージを生成するためさまざまな方法を使用する。印刷ツールおよびプリンタ・ドライバとともにバックグラウンド・サービスを使用したり、アプリケーション制御ハンドラとともにフォアグラウンド・キーストローク・シミュレーションを使用したり、描画を行うためトランスレータを使用したりできる。
【0070】
複数出力チャネルのサポート:本システムは、以下に限定しないが、プリンタ・チャネルへの印刷、ファックス受信者へのファックス送信、発信元デバイスでの出力イメージのプレビュー、電子メール宛先への出力送信などの複数出力チャネルをサポートする。電子メール宛先出力チャネルが選択された場合、ドキュメントを電子メールの本文に含めたり、または添付ファイルとして送信することができる。
【0071】
システム全体の信頼性を高めるウィンドウ・ハンドラ:本システムでは、ウィンドウ・ハンドラを使用して、フォアグラウンド出力描画オプションを使用するときに現れるさまざまなポップアップ・ダイアログ・ボックスを処理する。これにより、システムを長期間完全無人状態で稼働させることができる。
【0072】
ユーザ・プロファイル管理
このシステムを使用することで、ユーザは、Webまたはモバイル・デバイス・インターフェイスを使用して個人プロファイルを管理することができる。関連するオペレーションの一覧を以下に示す。
【0073】
Webおよびモバイル・デバイス・インターフェイスを介したユーザ・プロファイル管理および動的更新:購読情報を格納するために使用されるメッセージ・センターにより、ユーザ・プロファイルが作成され、保持される。ユーザは、必要な場合、WEB(HTML)またはWAP(WML)インターフェイスを使用してその構成設定を変更することができる。さらに、ユーザが現在、モバイル・デバイスを使用してユーザのホーム・ネットワーク内システムにアクセスしている場合、システムはユーザの動的デフォルト・プリンタを自動的に更新する。
【0074】
ユーザ・プロファイル複数ビリング・ (billing) レコードのサポート:ユーザ・プロファイルには、異なる種類の課金にタグを付けるためのシステム用の複数のビリングIDが含まれる。例えば、ユーザは、個人印刷アカウントとビジネス印刷アカウントの両方を持つことができる。これにより、組織は出力管理システムをビリング・システムに比較的に容易に組み込むことができる。
【0075】
ユーザ・モバイル・サインイン
このシステムを使用すると、ユーザは、無線データ・アクセス・ポイント(WDAP)を介してローカル・ネットワークにサインオンすることができる。その後、ローカル共有リソースが、ユーザに利用できるようになる。関連するオペレーションの一覧を以下に示す。
【0076】
モバイル・デバイスからのクエリ結果の検証によるユーザ認証:システムは、クエリ結果の一意的な識別子を検索して、ユーザのプロファイルと突き合わせ有効かどうかを確認する。その後、ユーザの識別に基づいてカスタマイズしたあいさつ文を送ることができる。
【0077】
モバイル・ユーザによるシステム・リソースへのアクセスを可能にする:無線データ・アクセス・ポイント・コンポーネントを使用すると、無線ユーザは、無線接続(例えば、Bluetooth、802.11)でネットワークにアクセスすることができる。またWDAPでは、動的デフォルト・プリンタ管理もサポートしている。
【0078】
システム構成例
単純なシステム構成例59が図5に示されている。この例では、システムはゾーン0とゾーン1の2つのゾーン内に配備され、インターネット60経由の通信でリンクされている。ゾーン0には、すべての共有パブリック出力リソースを管理するルート・メッセージ・センターMC0が含まれる。ゾーン0にはさらに、オプションのファイヤウォール61を入れることもできる。ゾーン1には、2つのメッセージ・センターMC1、MC2が含まれる。メッセージ・センターMC1は、内部ファイヤウォール62の背後に配置され、プライベートである。メッセージ・センターMC2は、ファイヤウォール63、64の間のネットワークDMZ(非武装地帯)内に配置され、パブリックである。プリンタ・サービスPS1もパブリックであるが、リモート・デスクトップ・クライアントRDC1もそうである。出力デバイスD1およびD2も両方ともパブリックである。
【0079】
図5と以下のシステム構成の図で、実線は接続されているエンティティ同士の間に直接のリンクがあることを示しており、破線はエンティティの接続が直接リンクではなく論理的関連付け(例えば、登録によるもの)であることを示している。例えば、出力デバイスD1は、直接リンク66を介して印刷サービスPS1に直接リンクされ、出力デバイスD2は、論理的関連付け68で示されているように、リモート・デスクトップ・クライアントRDC1と論理的に関連付けられている。
【0080】
いくつかの構成では、ユーザからメッセージ・センターMC2にアクセスできるように、またメッセージ・センターMC2から印刷サービスPS1、リモート・デスクトップ・クライアントRDC1、出力デバイスD1、D2にアクセスできるように、ファイヤウォールでポート80(例えば、Apache Web ServicesによるCGI呼出しの処理用)とポート5190(インスタント・メッセージングおよびシステム通信ポート用)を開く必要がある。SSL(Secure Socket Layer)が必要な場合、ファイヤウォールはさらに、ポート443を開く必要がある。無線データ・アクセス・ポイントWDAP1は、セキュリティ上の理由から内部ファイヤウォール60の背後に配置され、外部無線ユーザを内部ネットワークから遮断していることに注意されたい。
【0081】
より複雑なシステム構成例70が図6に示されている。この例では、システムには、ゾーン0、ゾーン1、ゾーン2の3つのゾーンが配備されている。ゾーン0には、すべての共有パブリック出力リソースを管理するルート・メッセージ・センターMC0が含まれている。ゾーン1とゾーン2は、プライベート・ゾーンであり、パブリック・リソースとプライベート・リソースの両方を入れることができる。ゾーン1は、1つのパブリック・メッセージ・センターMC1と、2つのプライベート印刷サービスPS1、PS2と、2つのプライベートWDAP(WDAP1、WDAP2)と、1つのパブリック・リモート・デスクトップ・クライアントRDC2と、2つのプライベート出力デバイスD2、D3と、1つのパブリック出力デバイスD4とを含む。ゾーン2は、2つのパブリック・メッセージ・センターMC2、MC3と、2つのプライベート印刷サービスPS3、PS4と、2つのプライベートWDAP(WDAP1、WDAP2)と、1つのプライベート・リモート・デスクトップ・クライアントRDC5と、3つのパブリック・リモート・デスクトップ・クライアントRDC3、RDC4、RDC6と、3つのプライベート出力デバイスD6、D8、D9と、3つのパブリック出力デバイスD5、D7、D10とを含む。ゾーン0には、3つのメッセージ・センター(MC1、MC2、MC3)が登録されているパブリック・メッセージ・センターMC0が入る。これは登録済みリモート・デスクトップ・クライアント(RDC1)も備える。各ゾーン内のプライベート・リソース(例えば、出力デバイスD2、D3、D8とリモート・デスクトップ・クライアントRDC5)はゾーンの外では共有されない。パブリック・リソースを管理するメッセージ・センターは、パブリック要求を介してアクセスできるようにルート・メッセージ・センターMC0に登録される。
【0082】
メッセージ・センターMC0は、登録されているパブリック・メッセージ・センターへの参照を含むルート・レベルのメッセージ・センターである。システムのインストール後、企業所有メッセージ・センター(MC1、MC2)はルート・メッセージ・センターに登録する必要がある。多数のパブリック・リソースを管理する必要がある場合、構成に複数のルート・メッセージ・センターを入れることができる。そのような場合、一実施形態では、ルートMCを階層ツリーで表す。一般に、このような実装でのルート・メッセージ・センターの編成は柔軟性が非常に高い。1つの分類方法を例示するために地理的配置を使用すると、ツリー階層の最下位レベルは、特定の地域(例えば、カリフォルニア州、ミネソタ州、台湾、広東省)に対応し、下から2番目のレベルでは、その地域のMCのうちいくつかをより大きな地域MC(例えば、US MC、中国MC)にグループ分けし、階層のその上のレベルではさらに、下から2番目のレベルのMCのいくつかをより大きな地域MC(例えば、アメリカ、アジア、ヨーロッパ)にグループ分けすることができ、最終的に、この階層によりマスタMCはドメイン全体を表すことになる。企業や個人、政府に関して同様のアプローチを適用し、メッセージ・センター階層をセットアップできる。
【0083】
登録されているメッセージ・センターは、ルート・メッセージ・センターに対しパブリック出力リソースに関するクエリを実行することができる。一実施形態では、サーチは、RDCパラメータ、つまりクライアントの名前、クライアントの郵便番号、またはクライアントが所在する州に基づくことができる。このサーチはさらに、ゾーン記述子またはゾーン・タイプに基づくこともできる。さらに、デバイス・リソースのサーチは、デバイス・リソース名またはデバイス・リソース記述に基づくこともできる。ゾーン0のルート・レベルのメッセージ・センターは、サーチ要求を受け取ると、そのデータベース内に見つかったレコードの識別子を返す。その後のサーチの実行では、それらの識別子を修飾として使用し、さらに広範囲にわたる情報を返す。
【0084】
図1に戻り、メッセージ・センター・コンポーネントの詳細について説明する。リモート・デスクトップ・クライアントと印刷サービスは、コンポーネントの登録と登録解除コンポーネント10を介してそれらのサービスへのアクセスを可能にするメッセージ・センターにその出力リソースを登録する。登録プロセス実行時に、出力リソース・タイプ(例えば、プリンタ、プロッタなど)は対応するタイプ定義データにより決定される。メッセージ・センターは、これらの出力リソースを収集し、パブリック出力リソースをルート・レベルのメッセージ・センターに登録する。ルート・メッセージ・センターは、十分な情報とともに各登録済みパブリック出力デバイスのレコードを作成し、他のメッセージ・センターがレコードに収められているデータを対応する参照として使用してリソースにリモートからアクセスできるようにする。
【0085】
出力デバイスをメッセージ・センターから分離する必要がある場合は、メッセージ・センターに登録解除要求を送信する。それに対する応答として、メッセージ・センターはルート・メッセージ・センターから出力デバイスの登録解除を行う。出力デバイスがパブリック・リソースの場合、ルート・メッセージ・センター・データベース内の対応する共有レコードも削除される。
【0086】
ジョブ要求受信タスク12で、メッセージ・センターはジョブ要求を受信することができる。一実施形態では、メッセージ・センターは、ジョブ要求をサブミットするために呼び出すことができる一組のCGIスクリプトを実行するApache Webサーバを採用している。CGIスクリプトにより、印刷ジョブがメッセージ・センターのシステム・ジョブ・キューに追加される。ジョブ・キュー・エントリが作成されると、ジョブ・サブミットは完了したものとみなされる。
【0087】
ジョブ要求がサブミットされた後、その要求の処理は、ジョブ要求処理タスク14により実行される。ジョブ要求がシステムに入ると、メッセージ・センターが、リモート・ストア上のリモート・ソースの参照を通じてソース・データを収集するか、またはサブミット側が、ローカル・ソースをメッセージ・センターに送信する。次に、メッセージ・センターは、印刷サービスを特定し、ソース・データと送り先出力デバイスに対応する出力イメージ・ファイルを描画する。
【0088】
出力イメージ・ファイルが作成された後、印刷サービスはメッセージ・センターにファイル参照を返し、その後、メッセージ・センターは対応するRDCを呼び出して、描画されたイメージを出力デバイスに送信する。RDCまたは送信先のデバイスが使用可能な状態にない場合、印刷要求は遅延される。次に、システムは、構成可能再試行持続時間により定義されているように、印刷要求をRDCに再送しようとする。これらのオペレーションは、ジョブ出力スケジューリングとキューイング・タスク16により処理される。
【0089】
ジョブ出力要求が出力デバイスに送信された後、ジョブ出力ステータス監視タスク18を介してジョブ・ステータスがメッセージ・センターに返される。メッセージ・センターでは、その状態を更新し、現在のジョブ出力ステータスをユーザに通知する。現在の一実装では、システムはジョブ状態として、DOCUMENT_DONE、INPUT_PENDING、RESOURCE_WAIT、IN_PROGRESS、COMPLETE、CANCEL_BY_USER、およびERRORをサポートしている。
【0090】
ピア・メッセージ・センター・インタラクション・タスク20に従い、システム・アーキテクチャでは、さまざまなオペレーションにメッセージ・センターのピア・ツー・ピア通信を行うことができる。ピア・メッセージ・センター間の情報のやり取りには、ゾーン0ルックアップ・クエリやドキュメント経路選択要求、ドキュメント印刷要求、ステータス返信が含まれる。
【0091】
メッセージ・センター・インタラクションの2つの例が図7および8に示されている。図7の例では、パブリック・デバイスへの後続の要求の準備のためユーザが自分のホーム・メッセージ・センターへの接続をパブリック・デバイスにどのように要求するかを説明している。クエリ手順は以下のように進行する。
1.ユーザ(U1)はパブリック・デバイス接続要求をユーザのホーム・メッセージ・センター(MC1)にサブミットする。このパブリック・デバイス(D2)はたまたまルート・メッセージ・センター接続デバイスである。
2.ユーザのホーム・メッセージ・センター(MC1)は、出力デバイスへのアクセスに関するクエリをルート・メッセージ・センター(MC0)に送る。
3.ルート・メッセージ・センター(MC0)は、指定された出力デバイスへの経路を特定し、接続要求をリモート・デスクトップ・クライアント(RDC1)に送信する。
4.リモート・デスクトップ・クライアント(RDC1)は、ユーザのホームMC(MC1)に接続し、そこで、接続が確立される。
【0092】
図8に示されている例は、ピア・ツー・ピア・メッセージ・センター要求に対応しており、手順は以下のとおりである。
1.ユーザ(U1)はパブリック・デバイス接続要求をユーザのホーム・メッセージ・センター(MC1)にサブミットする。このパブリック・デバイス(D2)はたまたま他のピア・メッセージ・センター(MC2)に登録されている。
2.ユーザのホーム・メッセージ・センター(MC1)は、ルートMC(MC0)にクエリを送る。
3.ルート・メッセージ・センター(MC0)は、指定されたデバイスへの経路を特定し、接続要求を送信先のメッセージ・センター(MC2)に送信する。
4.送信先のメッセージ・センター(MC2)は、ルート・メッセージ・センター(MC0)からの照会を受け入れて、応答をルート・メッセージ・センター(MC0)に送り返す。
5.ルート・メッセージ・センター(MC0)は、「OK」応答を受信し、経路情報をユーザのホーム・メッセージ・センター(MC1)に送信する。
6.送信先のメッセージ・センター(MC2)は、ユーザのホームMC(MC1)に接続し、そこで、接続が確立される。
【0093】
ルート・レベル・メッセージ・センター・インタラクション・タスク22によれば、ルート・レベルのメッセージ・センターという概念により、パブリック出力リソースの共有が助長される。ルート・レベルのメッセージ・センターでは、パブリック・リソースの高速ルックアップ用の位置を1カ所に集中させられるという利点があげられる。このようなメカニズムをサポートするために、ルート・レベルでないメッセージ・センターはルート・レベルのメッセージ・センターとやり取りして、パブリック・リソースをアナウンスするだけでなく、必要ならば他のユーザのパブリック・リソースについてのクエリも実行する必要がある。
【0094】
リモート・デスクトップ・クライアントを利用することで、メッセージ・センターはジョブ要求を出力デバイスに送信することができる。また、セキュリティ・リスクが低減されるようにシステム全体を構成する場合にも使用できる。例えば、セキュリティ保護された出力デバイス用に内部RDCをセットアップし、パブリック出力デバイス用に外部RDCをセットアップすることができる。これらのオペレーションは、リモート・デスクトップ・クライアント管理タスク24により処理される。
【0095】
メッセージ・センターは、複数の印刷サービスに接続することができる。この考え方は、出力デバイスの管理効率を高めるために、印刷サービスを1つでなく複数を一組として使用するというものである。これらの印刷サービスは出力イメージを生成するための重要なコンポーネントであるため、メッセージ・センターはこれらの印刷サービスと非常に緊密な関係を保持する。これらのやり取りは、印刷サービス管理タスク26により処理される。
【0096】
Bluetoothや802.11対応デバイスなどの無線デバイスをサポートするために、システムでは無線データ・アクセス・ポイントを1つまたは複数配備する。各WDAPには一組の記述と情報が含まれ、対応するメッセージ・センターでの管理が必要である。例えば、各無線データ・アクセス・ポイントの動的デフォルト出力デバイスはWDAPの対応するMCにより維持される。これらのオペレーションは、無線データ・アクセス・ポイント管理タスク28により処理される。
【0097】
メッセージ・センターは、ユーザ・プロファイル管理タスク30により示されているように、ログイン認証のユーザ・プロファイルおよびいくつかのデフォルト・サービス設定を保持している。例えば、各ユーザに対する静的デフォルト・プリンタや動的デフォルト・プリンタがユーザのプロファイルで定義されている。ユーザは、標準のWebインターフェイスまたはデバイス・インターフェイスを介して自分のプロファイルを修正することができる。
【0098】
ユーザ・インターフェイス管理タスク32は、システムに装備されているさまざまなユーザ・インターフェースを処理する。「コンシューマ」ユーザ・インターフェイスは、ユーザによるアカウント管理だけでなく、サービス要求の行使にも使用される。一実施形態では、コンシューマ・インターフェイスには、ホーム・ユーザ用に1つのセグメント、ゲスト・ユーザ用に別のセグメントを用意している。ゲスト・ユーザ・インターフェイスでは、セキュリティ上の理由から特定の条件下でシステム・リソースへの制限付きアクセスを許す。また、システムはデバッグやメンテナンス用に、さらに各種システム・コンポーネントとパラメータのセットアップ用に管理ユーザ・インターフェースを備えている。
【0099】
印刷サービスは、図2に示されている5つの主要タスクを実行する。出力イメージ描画タスク34で、印刷サービスがジョブ描画要求を受け取ると、ドライバレス・プリント(DP)サーバと呼ばれる内部コンポーネントがソース・データを収集し、そのデータをDPサーバ・キュー内に置く。その後、DPサーバはDPSプリント・モジュールを呼び出して、適切なドライバを特定し、出力イメージを生成する。DPSプリント・モジュールは、出力イメージを内部出力キューに入れ、制御権をDPサーバに返す。これらのオペレーションの詳細について、以下で詳述する。
【0100】
DPSプリント・モジュールが制御権をDPサーバに返すと、DPサーバはステータス・モニタ・モジュールを呼び出す。宛先デバイスがローカルで印刷サービスと接続されていない場合、ステータス・モニタはタスク36に従って出力イメージを共有リポジトリに書き込む。その後、制御権をDPサーバに返す。宛先デバイスがローカル接続デバイスの場合、ステータス・モニタはタスク38に従って出力イメージをデバイスに送信する。その後、制御権をDPサーバに返す。タスク40により、ステータス・モニタがジョブ・ステータスをDPサーバに返した後、ジョブ・ステータスはメッセージ・センターに送り返される。ローカル出力デバイス管理タスク42を使用することで、印刷サービスはローカル接続出力デバイスをサポートすることができる。これは、メッセージ・センターとの間のデバイス登録と登録解除を処理する。
【0101】
図3を参照すると、リモート・デスクトップ・クライアントでは、デバイス登録と登録解除タスク44を介してデバイスのメッセージ・センターへの接続を管理することができる。登録するには、デバイス登録要求を送信して、メッセージ・センターと関連付けを確立する。登録解除するには、デバイス登録解除要求を送信して、メッセージ・センターから関連付けを削除する。
【0102】
リモート・デスクトップ・クライアントは、タスク46に従って出力イメージ・ファイルを参照してメッセージ・センターからジョブ出力要求を受信する。これは、出力イメージ・ファイルを検索して、送り先出力デバイスに送信する。参照が使用されない場合、メッセージ・センターは、出力データをリモート・デスクトップ・クライアントに直接送信する。ジョブ出力の完了後、リモート・デスクトップ・クライアントは、ジョブ出力ステータスの更新およびタスク48に基づくユーザへの連絡をメッセージ・センターに通知する。
【0103】
図4を参照すると、各無線データ・アクセス・ポイントは以下の主要タスクを実行することがわかる。無線データ・アクセス・ポイントは、メッセージ・センターに登録しシステムにリンクさせる必要があるが、これは、コンポーネントの登録と登録解除タスク50を介して処理される。WDAP登録は、WDAPのデフォルト出力デバイス(つまり、最も近い出力デバイス)をメッセージ・センターに通知することを目的としている。これにより、メッセージ・センターはモバイル・ユーザの動的デフォルト・プリンタを決定することができる。関連付けを削除するには、タスク50で、登録解除要求を同じメッセージ・センターに送信する。
【0104】
無線デバイスから有線ネットワークにアクセスするには、要求を受信し、その要求を無線パケットから地上通信線パケットに変換するアクセス・ポイントが必要である。WDAPサーバはシステムのデータ・アクセス・ポイントである。タスク52により、非セルラー・デバイスの無線要求は無線データ・アクセス・ポイントを通じてシステムに入る。
【0105】
無線データ・アクセス・ポイントが接続要求を受け取ると、タスク54に従って、その要求をIPパケットに変換し、さらにそのIPパケットを要求によって定義されている宛先に送信する。それと引き換えに、タスク56でシステム応答が処理される。ユーザが第1のWDAPに近い第1の位置から第2のWDAPに近い第2の位置に移動するときに、システムは第2WDAPを介して別のデバイス情報群をユーザに返す。したがって、デフォルト出力デバイスの詳細な計画を立て、メッセージ・センターと通信して出力デバイス地理的関係記録タスク58に従ってデバイス情報を動的に生成できるようにすることがWDAPの重要な役割の1つである。
【0106】
上述のように、システムは、オプションのBluetoothゲートウェイとBluetoothデバイス・エミュレーションを使用することで、BluetoothでないデバイスであってもそれらのデバイスがBluetooth対応デバイスであるかのようにしてシステムを操作することができる。必要ならば、後述のように、Bluetoothゲートウェイ機能を無線データ・アクセス・ポイントに組み込み、ハードウェア・コストを低減することができる。
【0107】
オペレーション理論
この節では、システムの共通オペレーションとともに要求データの流れについても説明する。システムの特長および要件として際だったものをいくつか以下に示す。
1.ユーザはすべて、ホーム・メッセージ・センターに関連付けられている。
2.システムは、2つのメッセージ・センター間のセキュリティ、メッセージ・センターと印刷サービスとの間のセキュリティ、およびメッセージ・センターとRDCとの間のセキュリティを強制することができる。
3.メッセージ・センターでは、自宅ユーザとゲスト(ビジター)ユーザによるリソースのアクセス制御が行える。
4.各WDAPは、構成可能なデフォルト・プリンタが関連付けられている。
5.WDAPを介してシステムにアクセスする場合、ユーザが自分のプロファイルで動的システム上書きの許可を指定すると、ユーザのデフォルト・プリンタは、ユーザが現在接続しているWDAPに基づいて変更される。
6.ゲスト・ユーザ・インターフェースを、ゾーン内でビジター印刷をサポートするメッセージ・センターに実装することができる。このようなインターフェイスでは、ユーザの登録も、プロファイルの作成も必要ない。したがって、静的デフォルト・プリンタ印刷をサポートしない。ただし、システムでは、ビジターによる動的デフォルト・プリンタ印刷が可能であり、オプションにより、ユーザは宛先プリンタを指定できる。
【0108】
このシステムはモジュール型アーキテクチャ設計と拡張可能なデータベース・スキーマを採用しているため、高度なセキュリティ方式を実装できる。第1に、ユーザ認証では、加入者データベースに、サポートされているアクセス・デバイスを介してシステムに入力されているユーザ・ログイン・データと突き合わせて確認するために使用されるユーザ・プロファイルが含まれる。この確認が失敗した場合、後で参照または調査できるようにシステムに記録が保管され、ログイン要求は拒否される。さらに、メッセージ・センターは、上のレベルのクライアントとサーバの認証に対する公開鍵インフラストラクチャによるサポートを実装できる。第2に、データ暗号化サポートでは、各モジュールが内容データの保護のため暗号化を実装できる。暗号化は、ファイル・ストアからメッセージ・センター、メッセージ・センターから印刷サービス、印刷サービスから出力リポジトリ、出力リポジトリからRDCへ、強制することができる。第3に、非拒絶(non-repudiation)の実装の下で、システムは各加入者に一意的なIDを割り当てる。ユーザがシステムに要求をサブミットすると、その要求に対し即座に、ユーザのIDとタイムスタンプがタグとして付けられる。これがジョブ・サブミット要求である場合、複製がシステム内に生成され、ログが記録され、後で参照し請求できるようにアーカイブされる。
【0109】
上述のセキュリティ実装に加えて、モジュール型分散アーキテクチャのメリットとしてほかに、管理者が各組織の特定のニーズに基づきセキュリティ設定をカスタマイズすることができるという点があげられる。例えば、仮想プライベート・ネットワーク(VPN)は、共有ファイル・サーバをメッセージ・センターにリンクするために使用できる。同様に、VPNは、メッセージ・センターとリモート・デスクトップ・クライアントとの間に実装することができる。システム・アーキテクチャでは、ソフトウェアとハードウェアの両方によるVPN構成をサポートしている。システム全体の構成に、公開鍵インフラストラクチャのサポートとともに、認証と認定の提供、データ保全性とデータ・プライバシーの保護、および非拒絶要求の充足を盛り込むことができる。
【0110】
RDCクライアント登録要求に従ってRDCとメッセージ・センターとの間の情報のやり取りを説明する流れ図が図9に示されている。RDCは、セッション・パケットをメッセージ・センターに送信し、クライアント登録プロセスを開始する。一実施形態では、セッション・パケットに、クライアント記述子文字列、クライアント・タイプ、ファースト・ネーム、ミドル・ネーム、ラストネーム、住所1、住所2、市、州、郵便番号、USERID、保護されたPASSWORD、EMAIL値など、メッセージ・センター上でクライアントを定義するためのさまざまなパラメータが含まれる。成功すると、クライアント識別子(CID)がRDCに返される。
【0111】
RDCプリンタ登録要求に対応する流れ図が図10に示されている。前のプロセスのように、RDCは、セッション・パケットをメッセージ・センターに送信し、プリンタ登録プロセスを開始する。パケットには、メッセージ・センターでクライアントを識別するデータが含まれ、登録するよう要求されたリソースのステータスを供給する(例えば、出力デバイス)。成功すると、プリンタ・リソース識別子(PID)がRDCに返される。
【0112】
リモート・デスクトップ・クライアントは、他のパブリック・リソースにアクセスしたり、リソースを使用可能にするために、MCに登録する必要がある。RDCがデバイス・リソース定義をメッセージ・センターにサブミットすることに対応する流れ図が図11に示されている。RDCはデバイス・リソース定義パケットをメッセージ・センターに送信し、メッセージ・センター内にデバイス・リソースが定義されるようにする。一般に、この情報には、デバイス名、デバイス・タイプ、デバイス記述子、デバイス・ステータスが含まれる。
【0113】
クライアントがリモート・パブリック・デバイスにアクセスすること望んでいる場合、まずパブリック・デバイス・クエリを介してデバイスを特定する必要がある。このオペレーションでは、図12の流れ図に示されているように、ホーム・メッセージ・センターはルート・メッセージ・センターに対し、使用可能なパブリック・デバイスのリストを求めるクエリを送る必要がある。その後、メッセージ・センターは、そのようなパブリック・デバイスがゾーン内でサポートされているかどうかを判別する。つまり、ホーム・メッセージ・センターは、そのようなパブリック・デバイスをサポートする登録されている印刷サービスを特定する必要があるということである。クエリに対する応答として、使用可能なパブリック・デバイスのリストが要求側に返される。パブリック・デバイスに対する登録されている印刷サービスのサポートが見つからなければ、リストに未サポート・パブリック・デバイスが記述されることはない。
【0114】
図13、14には、ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される参照による印刷(PBR)ジョブ要求に対応する流れ図およびコンポーネント相互作用図をそれぞれ示している(例えば、図6のU1→D2、またはU1→D3)。PBRジョブ要求の下で、ユーザはリモート・ストア74上に格納されているドキュメント72(つまり、リモート・ソース)をターゲットの宛先プリンタで印刷することができ、リモートに格納されているドキュメントや宛先プリンタはユーザ・インターフェイス76により選択することができる。
【0115】
非PBRジョブ要求に対応する処理の流れ図が図15に示されている。この場合、オペレーションはすべて、ソース・データがユーザのデバイスからメッセージ・センターにアップロードされ、リモート・ソースを検索することはないという点を除き、PBRジョブ要求と似ている。
【0116】
図16、17は、ホーム・ドメイン内のユーザによりホーム・ドメイン内のリモート・デスクトップ・クライアントに接続されているローカル・プリンタにサブミットされるPBRジョブ要求に対応する処理流れ図およびコンポーネント相互作用図をそれぞれ示している(例えば、図6のU1→D4)。この場合、出力イメージが印刷サービスにより描画された後、出力イメージ・ファイル80として出力リポジトリ78に格納される。その後、印刷要求が該当するRDC(例えば、RDC2)に送信され、そこで、リポジトリから出力イメージ・ファイルを検索し、それを出力デバイス(例えば、D4)にサブミットして、物理的に描画する。完了後、メッセージ・センターを介して印刷完了通知がユーザに送り返され、ユーザ・インターフェイス76に表示される。
【0117】
図18、19は、ホーム・ドメイン(例えば、ゾーン1)内のユーザによりサブミットされ、ルート・メッセージ・センターのパブリック出力デバイス(D1)で印刷するPBRジョブ要求に対応する処理の流れ図とコンポーネント相互作用図を示している。このプロセスは、UIを使用しユーザ・インターフェイス76をアクティブにしてパブリック・デバイス・クエリを実行することから始まる。本質的に、このクエリにより、使用可能なパブリック・デバイスのリストが返される。オプションにより、ユーザは知られているパブリック・デバイスを選択することができ、クエリにより、パブリック・アクセスにデバイスが利用可能であることを確認するタスクを実行する。ユーザが自分のホーム・メッセージ・センター(MC1)にクエリをサブミットすると、そのMCはクエリをルートMCに転送する。次に、ルートMCはデータベースをチェックし、そのユーザの使用可能なプリンタすべてを調べる(クエリとともに送信されたユーザ認証情報、およびユーザのお気に入りのプリンタの構成済みリストに基づく)。ローカル印刷サービスが、ホーム・メッセージ・センターへの出力デバイス経路とともに識別される。その後、パブリック・デバイス情報がユーザに送り返され、ユーザはパブリック出力デバイスを選択し、印刷ジョブ要求をホームMCにサブミットすることができる。
【0118】
印刷ジョブ要求を受け取った後、ホームMCは印刷するドキュメントを検索し(この場合、ドキュメントはローカル・ソースなので、発信元デバイスからMCに送信される)、そのドキュメントを描画要求とともに送信先の印刷サービス(PS1)に送信する。次に、印刷サービスは、ドキュメントの出力イメージを描画し、出力リポジトリ78に保存する。その後、描画が完了したという通知がPSからホームMCに送り返され、そこで、ホームMCは描画データ(例えば、出力イメージ・ファイル80)を出力リポジトリから検索し、印刷要求を出力イメージ・データとともに送信先のリモート・デスクトップ・クライアント(RDC1)に送信する。さらに、RDCは出力イメージ・データを送り先出力デバイス(DC1)に送信し、その後、ハードコピー出力が描画され、印刷完了通知がRDCに返される。そして、ルートMCおよびホームMCを介して印刷完了通知がユーザに転送され返される。
【0119】
メッセージ・センターのアクセス・メカニズム
一般に、ホーム・メッセージ・センターにアクセスするメカニズムは3種類ある。つまり、有線ネットワーク接続、無線ネットワーク接続、無線Webセルラー接続である(本明細書で使用しているように、セルラー接続には、セルラー・ネットワークやPSCネットワークを含むセル・ベースのインフラを介して実装された無線接続を含む)。例えば、セルラー・フォン(携帯電話)100、PDA 102、双方向ページャ104(例えば、Blackberryデバイス)を含む無線Web対応デバイスのユーザは、複数のセルラー・タワー106およびセルラー・サービス・プロバイダのネットワーク・オペレーション・センター108を含むセルラー・ネットワークを介してメッセージ・センターMCnにアクセスすることができる。
【0120】
米国では、無線インターネット(つまり、無線Web)アクセスは、通常、WAP対応デバイスとともに動作する無線アプリケーション・プロトコル(WAP)を使用して実現される。アジアでは、無線インターネット・アクセスは、一般に、i−mode(登録商標)プロトコルを使用して実現されている。i−modeプロトコルを使用してデータにアクセスするには、無線デバイスはi−modeデバイスであるか、またはi−modeとWAP接続の両方を行えなければならない。他の使用されるのが少ないプロトコルも、世界のあちらこちらで使用されている。図20に示されている実施形態では、この無線Web接続はさらに、WAPゲートウェイ・サーバ112をホストとするWAPゲートウェイ110を介して使用することができる。オプションにより、無線サービス・プロバイダによって提供される機能に応じて、i−modeゲートウェイなどの他の種類の無線Webゲートウェイを使用することができる。
【0121】
WAP対応デバイスは、そのようなデバイスにより使用されるように考案されたコンテンツを提供するさまざまなインターネット・サイトからデータにアクセスすることができる。このデータは、一般に、後述のように、無線マークアップ言語(WML)データとしてデバイスに配布される。WMLは、無線電話やPDA、ポケットPCなどの今日のハンドヘルド・デバイスで利用可能な低解像度ディスプレイと限られたナビゲーション機能を考慮して限られた閲覧能力を効果的に利用するように考えられた特別なマークアップ言語を含む。WMLは、HDML(ハンドヘルド・デバイス・マークアップ言語)を含み、そのルーツをXML(拡張マークアップ言語)にまで辿ることができる。さらに、ユーザ定義拡張機能をサポートするメタ言語も含む。
【0122】
WAP対応デバイスでは、1つまたは複数のWAPゲートウェイ・サーバ112を使用して実装される、WAPゲートウェイ(WAPゲートウェイ110など)を介して無線インターネット・コンテンツを提供するさまざまなWebサイトにアクセスすることができる。一般に、それぞれのWAPゲートウェイは、無線インターネット・アクセスをサポートする地域内のさまざまなサービス・プロバイダにより運営されるが、サービス・プロバイダがWAPゲートウェイ機能を共有することができる。つまり、WAPゲートウェイ・サーバは、無線Webサイト(無線WebコンテンツをWMLで直接符号化しない)からHTTP(ハイパーテキスト・トランスポート・プロトコル)を介して検索されたHTML(ハイパーテキスト・マークアップ言語)データをWMLに変換することを含む、WAP対応デバイスとのやり取りを円滑に行えるようにする機能を備えるさまざまなソフトウェア・モジュールおよび/またはアプリケーションを実行する。これらの機能は、HTMLデータをWMLに変換するWAPエンコーダ、スクリプト・コンパイラ、およびプロトコル・アダプタを含む。
【0123】
無線インターネット・コンテンツを作成するには、一般的に、Webサイト側で、そのサイトのページすべて、またはその一部についてテキスト専用バージョンまたは画像や動画を使用しないバージョンを作成しなければならない。今のところインターネットWebサイトのごくわずかが無線インターネット・コンテンツを提供しているにすぎないが、このようなサイトはWAP対応デバイスを購入する人々が増えるにつれ指数関数的に増大することが予想される。このようなテキスト専用コンテンツまたは画像や動画を使用しないコンテンツを用意する主な理由は、WAP対応デバイスの表示画面の解像度が一般に非常に低く、また典型的な無線データ転送速度は地上通信線によるネットワークを介して使用可能なデータ転送速度に比べてかなり遅いことである。現在の無線インターネット・コンテンツの一部は、WAPゲートウェイでWMLに変換しなければならないHTMLを含んでいるが、すでにWMLで符号化されているデータを直接WAPゲートウェイに供給するWebサイトが多数存在していることに注意されたい。
【0124】
図20を参照すると、通常のWAPセッションは以下のように進む。PDA 102などのWAP対応デバイスを操作しているユーザは、「ミニブラウザ」(そのセッションのWAPクライアント)を開き、その後、WAPサービスをサーチするPDA 102の無線モデムを介して無線信号114を送出する。それに対する応答として、付近のセルラー・タワー106を経由して、ユーザが無線インターネット・アクセス加入サービス契約を交わしているサービス・プロバイダとの接続を確立する。その後、ユーザは、ミニブラウザによって提供されるUIを通じてWebサイトのURLを入力することにより表示したいWebサイトを選択する(ミニブラウザUI 107で示されているように)。その後、サイトにアクセスする要求をPDA 102からWAPゲートウェイ110に送信する。WAPゲートウェイ・サーバ112は、WebサイトからHTTPを介してそのURLに対応する情報をこの場合はHTMLデータとして検索し、そのHTMLデータをWML(無線マークアップ言語)に符号化する。上述のように、一部のインターネット・サイトでは、データはすでにWML形式になっている場合があるため、HTML−WML符号化は必要ない。
【0125】
本発明の一実施形態によれば、各メッセージ・センターMCnは、後述のように、Webサーバ113を介して1つまたは複数のそれぞれのURLのホストとなる。HTMLデータ114とWMLデータ116により示されるように、Webサーバ113がホストになっているURLデータは、インターネット60またはプライベート・ネットワークなどの通信ネットワークを介して、メッセージ・センターからWAPゲートウェイに受け渡される。次に、WMLデータが、セルラー・タワー106を介してWAPゲートウェイ・サーバ112からPDA 102に送信される。従来の閲覧方法と同様にして、ユーザは、ミニブラウザを介してユーザに表示される適切なUIコンポーネントをアクティブにすることによりサイト上のさまざまなページを閲覧することができ、それにより、ユーザとの情報のやり取りに対する応答として上述のと同様のプロセスが実行され、ユーザによって選択されたものに対応するコンテンツが表示される。
【0126】
無線Webアクセスに加えて、直接地上通信線接続、または地上通信線ネットワークと無線ネットワーク(例えば、802.11b)の組合せを含む通信リンク、またはBluetooth無線リンクを介してユーザ・デバイスにリンクされている地上通信線ネットワークを介してメッセージ・センターにアクセスできる。例えば、パーソナル・コンピュータ(PC)118やラップトップ120のユーザは、メッセージ・センターへの直接ネットワーク接続(例えば、LAN接続)、またはインターネットなどのWAN接続を介してメッセージ・センターMCnにアクセスできる。これらのネットワーク接続は両方とも、コンピュータ・ネットワーク122によって示されている。一実施形態では、ユーザは、後述のように、一組のWebページ126を通じて、ブラウザ・ベースのユーザ・インターフェイス124を介してシステムによって提供されるサービスにアクセスすることができる。
【0127】
一般に、ユーザ・インターフェイスは、802.11(WiFiともいう)接続をさらに含むリンクの場合と似ている。例えば、典型的な802.11実装では、図20のPDA 128などのWiFi対応ユーザ・デバイスは、WDAP 130を介した有線ネットワーク(例えば、ネットワーク122)に接続されている。WDAPは、WiFi対応デバイスからのすべての通信を制御し、その一方で、ネットワークに対してはデバイスを通常のクライアント接続をしているかのように見せかける。したがって、運用上の観点から、有線のクライアントとWiFiクライアントはメッセージ・センターには同じものとして見える。
【0128】
システムではさらに、Bluetooth接続クライアントは選択した出力デバイスに印刷することができるが、ただし異なるメカニズムを使用する。このメカニズムに基づき、Bluetoothデバイスと直接通信しているとセルラー132などのBluetooth対応発信元デバイスに思い込ませるようにBluetoothエミュレータを実装し、しかも発信元デバイスの組み込みBluetoothユーザ・インターフェイス133に変更を加える必要がない。例えば、ユーザがBluetooth非対応の印刷/ファックス・デバイスに印刷することを望んでいるとする。この場合、フロントエンド・エージェントが付近の無線データ・アクセス・ポイントと通信できるようにするBluetoothプリンタ/ファックス・エミュレータを実装する。一実施形態では、Bluetoothデバイス・エミュレータをWDAPに組み込むことができる。これは、WDAP+Bluetoothデバイス・エミュレータ134で示される。オプションにより、Bluetoothデバイス・エミュレータは、ネットワーク122にリンクされ通信している独立のデバイスとすることができる。一般に、Bluetoothデバイス・エミュレータは、メッセージ・センターから検索した対応する出力デバイス情報を使用して必要なBluetoothデバイス情報(例えば、印刷またはファックス・プロファイル)を生成し、プロファイルはメッセージ・センターから検索されたリソース情報を使用してオンザフライで作成される。したがって、一実施形態では、エミュレータは、メッセージ・センターと(組み込みまたは付近のWDAPを介して)インターフェイスをとるために採用されているバックエンド通信チャネルも備える。Bluetooth対応デバイスが異なるアクセス・ポイントでシステムに接続する場合、対応するエミュレータはそのアクセス・ポイントに特有のプロファイル情報で応答する。
【0129】
このシステムでは、Bluetooth Basic PrintingまたはFax Profile Interoperability Specificationにより定義されているような類似のBluetoothデバイス・エミュレーションを通じて、Bluetooth非対応デバイスをBluetooth対応デバイスであるかのように動作させることができ、したがって、無線コンピューティング環境で無線技術非対応デバイスを企業が管理するための簡素で費用効果の高い手段となっている。これらのオペレーションは、ユーザにとっても送信先のデバイスにとっても透過的である。さらに、レガシ・デバイスなどのリソースは現在メッセージ・センターにより管理されているため企業はこれらのレガシ・デバイスの修正、交換を行う必要がなく、さらにはアップグレードさえも必要としない。
【0130】
さらに、出力管理システムの「参照による印刷」機能をBluetooth対応発信元デバイスに拡張することもできる。例えば、一実施形態では、後述のWAPインターフェイスを描画するWMLコンテンツを、Bluetoothサービス上でWAP用に設計されているWAPミニブラウザ107Aを備えるBluetooth対応デバイスに供給することができる。このようなデバイスは、遠からず一般的なものになると思われる。このような構成で、Bluetooth対応デバイスのユーザは、WDAP+Bluetoothデバイス・エミュレータを介して同じWMLコンテンツをBluetooth対応デバイスに供給することにより無線Webユーザと実質的に同じようにしてシステムとやり取りすることができる。
【0131】
デフォルト・デバイス発見(WiFi)
システムは、モバイル・コンピューティング・プロトコルに適切に対応できるように静的および動的デフォルト設定という概念を導入している。例えば、メッセージ・センターは、ユーザのプロファイルでデフォルト・デバイス設定オプションを実装する。プリンタを例にとると、各ユーザに2種類のデフォルト・プリンタ、すなわち静的デフォルト・プリンタと動的デフォルト・プリンタがある。前者は、ユーザが有線接続(例えば、PC 118)を通じてシステムにアクセスする場合に選択され、後者は、ユーザが無線接続(例えば、Bluetooth、802.11など)を通じてシステムにアクセスする場合に選択される。たぶん、ユーザは、ユーザのクライアント・サイトで移動局を使用しているときには自分のオフィス・プリンタに出力を送信する機会はあまりないと思われる。アクセス方法を使用してデフォルト設定を自動的に切り替えるのが、かなり実用的であり手頃でもある。しかし、柔軟性の観点から、ユーザに対し、プロファイル構成を通じて動的デフォルト・プリンタ上書き機能を無効にするオプションが用意されている。
【0132】
図21は、WDAPを介してユーザがジョブをサブミットしたときに動的デフォルト・プリンタを決定するために使用されるオペレーションの詳細を説明する概略図である。まず第1に、無線デバイス128のユーザが無線データ・アクセス・ポイントWDAP2との無線接続でシステムに入る。図に示されている例では、ユーザはPBRジョブ要求をサブミットするものと仮定している。それに対する応答として、WDAP2は、PBRジョブ要求をメッセージ・センターに中継する。メッセージ・センターは、PBRジョブ要求に対応するファイル・ストア136からソース・データを検索する。メッセージ・センターでは、その要求がWDAP2からのものであることを発見し、そのデバイス・データベースをチェックし、WDAP2と関連する動的デフォルト・プリンタが印刷サービスPS1と関連する出力デバイスD1であることを知る。そこで、描画要求をPS1に送信する。PS1はジョブ要求を描画し、その後、出力イメージ・データを出力デバイスD1に送信する。出力デバイスD1は、ジョブ出力を完了し、タスクの完了をPS1に知らせる。PS1は次に、メッセージ・センターに知らせる。メッセージ・センターは、応答をWDAP2に送信し、ジョブ要求が正常に完了したことをユーザに知らせる。その後、WDAP2は応答をユーザのデバイスに中継する。
【0133】
デフォルト・デバイス発見(Bluetooth)
図22A、22Bに示されている以下のケースでは、WDAP1とWDAP2は、それぞれ、WDAP+Bluetoothデバイス・エミュレータ・デバイス138、140により示されているように、Bluetoothデバイス・エミュレータを含むという点を除いてネットワーク構成は実質的に同じである。この両方のケースにおいて、プロセスはBluetooth対応発信元デバイス132のユーザが他のBluetooth対応デバイスとの初期化通信を求めることから始まる。これらの例では、発信元デバイスのBluetooth信号がWDAP2+Bluetoothデバイス・エミュレータ・デバイス140により受信され、これにより、Bluetooth対応発信元デバイスとの通信リンクが確立される。
【0134】
この時点では、Bluetooth対応デバイス・ユーザとシステムがやり取りするために使用できる一般的な種類のインターフェイスとして、基本的なBluetooth UI(例えば、Bluetooth UI 133)と高度なBluetooth UI(例えば、BluetoothミニブラウザUI 107A上のWAP)がある。基本的なBluetooth UIでは、エミュレータは、シミュレートされたBluetooth対応出力デバイス、または複数のこのような出力デバイスとして動作する。高度なBluetooth UIでは、エミュレータは、Bluetooth上のWAPを介してBluetooth対応デバイスにWAPコンテンツを供給するつなぎの役を果たす。
【0135】
基本的なBluetooth UIが用意されていると仮定する。このケースは、図22Aに示されている。この場合、Bluetoothリンクを確立した後、ユーザはBluetooth対応出力デバイスをサーチする(または、ユーザは出力デバイスサーチ機能を使用してBluetoothリンクを初期化する)。それに対する応答として、エミュレータは、ルート・メッセージ・センターに(直接的にまたは間接的に)接続し、情報のやり取りを円滑にするWDAPの近くにある出力デバイスに関係する情報を検索する。この種の情報はメッセージ・センターのデータベースに格納されるため、MCはBluetoothエミュレーション・パラメータ141を、WDAPを介して使用できるさまざまな出力デバイスに対応するエミュレータに返すことができる。任意選択の実施形態では、エミュレータはユーザに認証を要求し(または、他の何らかの手段で、例えば一意的なデバイス識別子を使用してユーザを識別し)、そのユーザに固有の出力デバイスのリストを送ることができる。その後、エミュレータは、Bluetooth対応発信元デバイスが1つまたは複数の対応するBluetooth対応出力デバイスと直接実際に通信しているものと思い込むように、使用可能な出力デバイスのエミュレーションを行う。例えば、使用可能な出力デバイスにレーザプリンター2種類とテキスト・プリンタが含まれる場合、エミュレータはこれら3つのプリンタすべてに対するBluetoothデバイス・エミュレーションを実行する。1つのデバイスしか使用できない場合、そのデバイスがデフォルト出力デバイスになる。ユーザは、その後、Bluetooth UIを介して出力デバイスを選択し、ソース・データを、直接Bluetooth対応出力デバイスにアップロードするかのようにエミュレータにアップロードする。エミュレータは次にソース・データをメッセージ・センターに転送し、そこで、適切な印刷サービスを呼び出して、出力イメージ・データを生成し、選択した出力デバイスにサブミットして描画させる。
【0136】
図22Bに示されている例によれば、ユーザは、メッセージ・センターをホストとするBluetoothサービス上のWAPを介してシステムにアクセスすることができる。最初に、Bluetooth対応発信元デバイスとエミュレータとの間のBluetooth接続が上述のようにして確立される。その後、エミュレータは、メッセージ・センターに連絡してWMLコンテンツを供給しBluetoothミニブラウザ107AでWAPを介してユーザ・インターフェイスを描画することを開始するが、これによりユーザは、ファイル・ストア136からソース・データを選択し出力デバイス(D1)を選択することができる。残りのオペレーションはすべて、図21のPBRの例について上で説明したのと実質的に同じようにして進行する。
【0137】
一実施形態では、システムはBluetoothゲートウェイ142を採用するオプションの構成を含む。このゲートウェイにより、メッセージ・センターはBluetoothデバイス・エミュレータと通信することができる。Bluetoothゲートウェイはさらに、デバイスと無線データ・アクセス・ポイントとの間のマッピングを追跡し、マップとメッセージ・センターとの同期をとる。このようなマッピングは、デバイス・エミュレータからの入力を使用するか、またはネットワークのスニッフィングにより計算される。
【0138】
システム接続トポロジ
図23には、出力管理システムの通常の実装で発生しうるさまざまな接続経路と接続の種類を表すシステム接続トポロジの概要図150が示されている。実線は永続的接続を示し、波線は一時的接続を示す。コンポーネントの通信については、第1の規則として、PSとRDCは常に、メッセージ・センターへの接続を開始する。ピア・ツー・ピア・メッセージ・センター通信に対応する第2の規則によれば、この接続は常に、安全度の高いネットワークから安全度の低いネットワークへ開始される(例えば、プライベート・ネットワークからDMZへ、ゾーン1 DMZからゾーン0 DMZへなど)。両方の規則が適用可能な場合、第1の規則が優先する。
【0139】
図23の150では、図の真ん中に配置されているゾーン0は、すべてのMCがそのパブリック・リソース(例えば、出力デバイス)をアナウンスし、共有するための中央リポジトリを含むルート・メッセージ・センターMC0を含む。したがって、ゾーン0内のコンポーネントは、安全度の適切な保護を使用する着信接続要求を受け入れるためにDMZ内に配置するのが好ましい。ゾーン1およびゾーン2は、ゾーン0の両側に配置されており、それぞれセキュリティ対策が完全に施されたサブネット(つまり、プライベート・ネットワーク部分)とDMZ部分を持つ2つの独立したネットワークを含む。ゾーン1、2のDMZ内のMC(MC12、MC22)は、パブリック・ソースと共有可能ソースを管理し、したがって、「パブリック」MCと呼ばれる。内部企業ファイヤウォール152、154の背後にあるプライベート・サブネット内のMC(それぞれMC21、M11)は、プライベート・リソースを管理し、したがって、「プライベート」MCと呼ばれる。
【0140】
以下に、本発明の一実施形態によるコンポーネントが常駐する位置を示すコンポーネント配備位置マップの表を示す。「パブリック・ネットワーク」は、インターネットに直接接続されているファイヤウォール保護機能のないネットワークを指す。通常、すべての着信した接続要求を受け入れる。「DMZ」は、制限付きで保護されているプライベート・ネットワークを指す。通常、着信した接続要求は、いくつかのよく知られているポートを通じてパッチされた場合に受け付けられる。「プライベート・ネットワーク」は、強力なファイヤウォール保護機能を持つネットワークを指す。通常、すべてではないとしても、ほとんどの、着信した接続要求をブロックする。プライベート・ネットワーク内での位置特定は、着信した接続要求がブロックされることを示唆しており、したがって、ジョブ要求へのブリッジとなるプロキシ(例えば、DMZ MCまたはルートMC)を使用することでリソース共有がしやすくなる。MCとPSは、明白なセキュリティ上の理由から、パブリック・ネットワーク内に配備すべきではない。ルート・メッセージ・センター(例えば、MC0)は、プライベート・ネットワーク上に配備することができないが、それは、パブリックMCが登録できるように少なくとも制限されたパブリック・アクセス権を与える必要があるからである。RDCをパブリック・ネットワーク内に配置し、広範なリソースを共有を可能にすることができるが、推奨しない。
【表1】
【0141】
以下に、図23の150のコンポーネント配備位置を説明するコンポーネント配備位置分類マップの表を示す。
【表2】
【0142】
接続の種類、接続イニシエータ、データ転送の種類を含むコンポーネント同士の通信方法を記述した一組のMCネットワーク接続マップを以下の表3〜6に示す。性能上の理由から、永続的接続は、制御メッセージ交換(例えば、リソース・クエリ、リソース登録)に使用する場合に限るのが好ましいが、一時的接続は、制御メッセージ交換と非制御メッセージ交換の両方、つまりソース・ファイル・データ転送と描画出力イメージ・データ転送に使用できる。永続的接続を使用できる場合でも、一時的接続のサポートが暗黙のうちに含まれる。データ転送の種類は、「バッファによる」または「参照による」のいずれかである。「参照による」転送を使用できる場合でも、「バッファによる」転送サポートが暗黙のうちに含まれる。参照による転送は、送信者のファイル・ストアが受信者から見えない場合に使用できるオプションとなっていないことがある。このような場合、適切なMCで、データを宛先のリソースに導く。
【0143】
以下の表は、MC0ゾーン内ネットワーク接続マップに対応している。この表には、ルートMCと同じゾーン内の他のコンポーネントとの通信方法が説明されている。これはゾーン0内にあるので、「プライベート」MCおよびPSは使用できない。
【表3】
【0144】
以下に、ゾーン間通信の場合を除き、上の表3と同様のMC0ゾーン間・ネットワーク接続マップを示す。この表には、ルートMCと異なるゾーン内の他のコンポーネントとの通信方法が説明されている。
【表4】
【0145】
以下は、ゾーン0でないMCゾーン内ネットワーク接続マップである。この表には、ゾーン0でないメッセージ・センターと同じゾーン内の他のコンポーネントとの通信方法が説明されている。
【表5】
【0146】
以下に、ゾーン間通信の場合を除き、上の表と同様のゾーン0でないMCゾーン間・ネットワーク接続マップを示す。この表には、ゾーン0でないMCと異なるゾーン内の他のコンポーネントとの通信方法が説明されている。
【表6】
【0147】
一般に、システム内のコンポーネントはネットワーク・メッセージ・プロトコルを使用して交信する。例えば、リモート・デスクトップ・クライアントとメッセージ・センター・サーバとの間で通信を行うためのRDCネットワーク・メッセージ・プロトコルがある。一実施形態では、RDCとMCサーバとの間の接続は、RDCからMCサーバ上でポート5190へのソケット接続により開始される。これらのソケット接続は、セッションが続く間永続的である。セッションは、クライアントとサーバとの間の接続対話として定義される。セッションの大半は、基本的に、クライアントに関連付けられているリモート・プリンタを宛先とする印刷ジョブがない限り、クライアントとサーバとの間で静止状態にある。セッションが開始すると、クライアントは多数のセッション・パラメータをクライアントに送り、接続セッションを確立する。
【0148】
サポートするデータ転送の種類
この節では、ジョブ要求データの処理方法と各コンポーネントへの転送方法について簡単に説明する。基本的なジョブ要求プロセスの流れは、以下のオペレーションにまとめることができる。1)入力ファイル・データをメッセージ・センターにアップロードし、2)MCは識別されている宛先出力デバイスに基づいて出力イメージ描画のための適切な印刷サービスを特定し、3)MCは入力データをPSに配信するか、またはPSに参照によりファイルにアクセスさせ、4)PSは出力イメージを描画し、5)PSは出力イメージをMCに転送するか、または出力イメージを共通リポジトリに蓄積し、6)MCは出力データをRDCに送信するか、またはRDCに共通リポジトリへの参照によりファイルにアクセスさせる。実際のジョブ要求発信元と宛先によっては、ステージングMCがデータ送信をブリッジする必要がある場合がある。転送種類は、「参照による」と「バッファによる」の2つに分類される。一般に、参照による転送はバッファによる転送よりも効率がよいように見えるが(ファイル・スクーリングが少ないため)、セキュリティ上の制約(例えば、ファイヤウォール)によりネットワークの異なる部分に置かれている異なるコンポーネントから互いの参照を確認できない場合には実現できないことがある。このような場合、バッファによる転送がデータ送信の唯一の選択肢となる。以下の表では、データ転送の種類を定義している。
【表7】
【0149】
ゾーン内MC(DMZ)−RDC(パブリック)。この種類の通信の目的は、印刷要求をDMZ MCから同じゾーン内の同じDMZ内の同じMCに登録されているパブリック・ネットワーク内のRDCに接続されているデバイスに送信することである。例えば、MC12→RDC14の転送である。
【0150】
図24の流れ図を参照すると、プロセスはブロック160から始まり、ユーザはユーザのホーム・メッセージ・センターに接続し、ログイン・オペレーションを実行する。ブロック162で、ユーザは、ユーザがシステムに接続する際の相手の発信元デバイスに対応するユーザ・インターフェイスを介して印刷要求をサブミットする。印刷要求は参照による印刷(PBR)に対応する場合、MCはブロック164で、UIを介して指定され、PBR要求により知らされたリモート・ストアからソース・データ(例えば、ソース・データが含まれる「入力」ファイル)をアップロードする。印刷要求が非PBR要求に対応している場合(つまり、印刷するソース・データは、発信元デバイスに置かれている)、MCはブロック166でバッファによりデバイスからソース・データをアップロードする。
【0151】
次に、MCは、適切な印刷サービスを特定し、ブロック168でジョブ描画要求を送信する。一般に、適切な印刷サービスは、宛先出力デバイスと同じゾーン内にあるPSに対応し、宛先出力デバイスとソース・データの特定の特性に関して印刷サービスのサポートを行う(例えば、出力デバイスに対するドライバ・サポートを行い、またソース・データに対応するイメージ出力データを生成するために実行できるアプリケーションを用意する)。要求がPBRの場合、MCはブロック170で入力ファイルのネットワーク上の格納場所を識別する参照を印刷サービスに送る。要求がPBRでない場合、MCはブロック172でバッファにより入力ファイルをPSに送る。入力ファイルを検索した後または受信した後、ブロック174で、印刷サービスが出力イメージ・データ(出力イメージ・ファイル)を生成する。
【0152】
リポジトリを使用する場合、PSはブロック176で出力イメージ・ファイルをリポジトリに蓄積し、ブロック178で参照により出力イメージをMCに転送する。この場合、出力イメージ・データはリポジトリ内のファイルに格納され、参照による転送は、PSが経路、ファイル名、出力イメージ・ファイルのネットワーク位置をMCに送ることを意味する。リポジトリが使用されない場合、PSはブロック180でバッファにより出力イメージをMCに転送する。
【0153】
このときに、ブロック182で、MCは出力イメージを受信する適切なリモート・デスクトップ・クライアントを特定する。これは、一般に、宛先出力デバイスに基づいたデータベース・ルックアウトを通じて行われ、出力イメージを宛先出力デバイスにサブミットするために使用できるRDCを識別する。その後、MCは、ブロック184で、参照により出力イメージを識別されたRDCに送信する。この参照を受信した後、RDCは出力イメージを検索し、ブロック186で、出力デバイスにサブミットし、出力デバイスにより描画する。ジョブの印刷が正常に完了したという情報が得られると、MCはユーザに通知を送り返して、印刷ジョブが正常に印刷したことをユーザに知らせる。ブロック188で、簡単に表記すると、前記のプロセスは(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→PBBで表すことができる。
【0154】
ゾーン内MC(DMZ)−RDC(DMZ)。この種類の通信の目的は、印刷要求をDMZ内に配置されているメッセージ・センターからそのMCと同じゾーン内の同じMCに登録されている同じDMZ内のRDCに接続されているデバイスに送信することである(例えば、MC12→RDC13)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→(PBR,PBB)である。
【0155】
ゾーン内MC(DMZ)−RDC(プライベート)。この種類の通信の目的は、印刷要求をDMZ MCから同じゾーン内の同じMCに登録されているプライベート・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC12→RDC12)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→(PBR,PBB)である。
【0156】
ゾーン内MC(プライベート)−RDC(パブリック)。この種類の通信の目的は、印刷要求をプライベートMCから同じゾーン内のDMZ内の他のMCに登録されているパブリック・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC14)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→SBB→PBBである。
【0157】
ゾーン内MC(プライベート)−RDC(DMZ)。この種類の通信の目的は、印刷要求をプライベートMCから同じゾーン内の同じDMZ内の他のMCに登録されているDMZ内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC13)。対応する表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→SBB→(PBR,PBB)である。
【0158】
ゾーン内MC(プライベート)−RDC(プライベート)。この種類の通信の目的は、印刷要求をプライベートMCから同じゾーン内の同じMCに登録されているプライベート・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC11)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→(PBR,PBB)である。
【0159】
ゾーン間MC(DMZ)−RDC(パブリック)。この種類の通信の目的は、印刷要求をDMZ MCから異なるゾーンからの外部DMZ内の他のMCに登録されているパブリック・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC12→RDC24)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→PBBである。
【0160】
ゾーン間MC(DMZ)−RDC(DMZ)。この種類の通信の目的は、印刷要求を異なるゾーンからの同じ外部DMZ内の他のMCに登録されている異なるDMZ内のRDCに接続されているデバイスに送信することである(例えば、MC12→RDC23)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→PBBである。
【0161】
ゾーン間MC(DMZ)−RDC(プライベート)。この種類の通信の目的は、印刷要求をDMZ MCから異なるゾーンからの異なるDMZ内の他のMCに登録されているプライベート・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC12→RDC22)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→PBBである。
【0162】
ゾーン間MC(プライベート)−RDC(パブリック)。この種類の通信の目的は、印刷要求をプライベートMCから異なるゾーンからの異なるDMZ内の他のMCに登録されているパブリック・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC24)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→SBB→PBBである。
【0163】
ゾーン間MC(プライベート)−RDC(DMZ)。この種類の通信の目的は、印刷要求をプライベートMCから異なるゾーンからの同じ外部DMZ内の他のMCに登録されているDMZ内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC23)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→SBB→PBBである。
【0164】
ゾーン間MC(プライベート)−RDC(プライベート)。この種類の通信の目的は、印刷要求をプライベートMCから異なるゾーンからの異なる外部DMZ内の他のMCに登録されている異なるプライベート・ネットワーク内のRDCに接続されているデバイスに送信することである(例えば、MC11→RDC22)。対応する簡単な表記は、(UBR,UBB)→(DBR,DBB)→(TBR,TBB)→SBB→PBBである。
【0165】
システム・ハードウェアの多層アーキテクチャ
一実施形態では、図25の多層アーキテクチャ200で示されているように、システムの実装に4層アーキテクチャ設計を使用している。このアーキテクチャの第1層はWebサーバ・ファーム(WSF)202を含み、第2層はメッセージ・センター・ファーム(MCF)204を含み、第3層は印刷サービス・サーバ・ファーム(PSSF)206を含み、第4層はデータベース・サーバ・ファーム(DBSF)を含む。以下では、各層について説明する。
【0166】
層1 Webサーバ・ファーム(WSF)。この層は、ロード・バランサー(LB)208およびWebサーバ・ファーム202からなる。ロード・バランサーは、着信要求を受け取り、それらをWebサーバ・ファーム内のWebサーバの1つに分配する。Webサーバは、同じURLを共有しているので、ユーザはシステムにアクセスするためにURLを1つ覚えておくだけでよい。要求の分配は、ロード・バランサー208の構成によって異なる。ロード・バランサーは、Webサーバの位置と要求ディスパッチを処理する。割り当てられたWebサーバは、スクリプトをローカルで実行し、対応するデータベース・サーバ・ファームへの共通データベース・アクセス・インターフェイスを呼び出すことにより、NFS(ネットワーク・ファイル・システム)またはSAN(ストレージ・エリア・ネットワーク)デバイス212に格納されているデータベース210を更新する。さらに、ロード・バランサーは、警告メッセージを管理者に送信し、Webサーバ・ファーム内にエラーが発生したことを示すことができる。
【0167】
層2 メッセージ・センター・ファーム(MCF)。メッセージ・センター・ファームには、メッセージ・センター・ソフトウェア・コンポーネントの実行中の2つのコピーが含まれる。1つは、処理モードで実行中の1次MC 214を含み、他方は、スタンバイ・モードで実行中の2次MC 216を含む。1次MCは、常に、着信要求に最初に応答する。1次MCが応答しなかった場合、2次MCは処理モードに切り替わり、その要求を処理する。その後、警告メッセージをシステム管理者に送信し、エラーがあることを示す。このフェイルオーバー・スイッチは、人間の介入なしで自動的に実行される。問題が解消し、1次MCがオンラインに復帰すると、2次MCは自動的にスタンバイ・モードに戻り、1次MCに引き継ぎを知らせる。
【0168】
システムは、1次MCと2次MCとの間の「ハートビート検査」を実装することで、自動フェイルオーバー・スイッチをサポートする。この実装のために、各MCには、2つのEthernet(登録商標)インターフェイスと1つのシリアル・ポートが備えられている。4つのEthernetインターフェイスはすべて、同じサブネット内で接続され、シリアル・ポートは互いに接続されている。インストール後、MCに対し、Ethernetインターフェイス(フローティング・インターフェイス)のいずれか1つの同じフローティングIPアドレスと他のインターフェイス(静的インターフェイス)の異なる静的IPアドレスが割り当てられる。1次MCは、システム起動時に両方のEthernetインターフェイスを立ち上げる。しかし、2次MCは、コンフリクトを避けるため静的インターフェイスのみを立ち上げる。2次MCは、静的インターフェイスを通じてテスト・パケットを送出することにより1次MCが使用可能かどうかをチェックする。1次MCのフローティング・インターフェイスが到達可能でない場合、保証手段として、2次MCがローカルで接続されているシリアル・ポートを使用して再びチェックし、問題の詳細を調べる。次に、2次MCは、フローティング・インターフェイスを立ち上げて、着信要求を処理し、警告メッセージをシステム管理者に送信する。その間に、ハートビート検査を続行して、1次MCの復旧したかどうかを検出する。1次MCがオンラインに復帰すると、2次MCはフローティング・インターフェイスを停止し、1次MCにそのフローティング・インターフェイスを立ち上げるよう求める要求を送信する。2次MCが常時スタンバイ状態にあることを確認するために、1次MCは2次MCに対しても同じチェックを実行するが、ただし、2次MCに問題がある場合に警告メッセージを管理者に送信するだけである。ハートビート検査は、システムが稼働し、実行されている限り続く。ハートビートの間隔を設定し、システムの信頼性と性能を微調整することができる。
【0169】
層3 印刷サービス・サーバ・ファーム(PSSF)。この層は、ロード・バランサー218と印刷サービス・サーバ・ファーム206からなる。ロード・バランサーは、メッセージ・センター・ファーム204から着信要求を受け取り、PSSF 206内の印刷サービス・サーバの1つに分配する。MCFは常に、同じ宛先IPを使用して印刷サービスにアクセスする。要求の分配は、ロード・バランサー218の構成によって異なる。ロード・バランサーは印刷サービス・サーバの位置と要求ディスパッチを処理する。割り当てられた印刷サービス・サーバは描画要求を処理し、必要ならば出力イメージ・データを共有NFSまたはSANデバイスに蓄積し、その後、結果をMCFに送り返す。さらに、ロード・バランサーは、警告メッセージを管理者に送信し、印刷サービス・サーバ・ファーム内にエラーが発生したことを示すことができる。
【0170】
層4 データベース・サーバ・ファーム(DBSF)。この層は、メッセージ・センター・データベース・サーバ・ファーム(MCDSF)220と印刷サービス・データベース・サーバ・ファーム(PSDSF)222を含む、2つのデータベース・サーバ・ファームからなる。これらのサーバ・ファームはそれぞれ、NFSサーバまたはストレージ・エリア・ネットワーク(SAN)サーバ224および226に接続されており、各データベース228、230のホストとなる。
【0171】
データベース・サーバ・ファームは、層2のメッセージ・センター・ファームについて上述したのと同様の方法で互いのハートビート検査を実装する。しかし、高度な商用データベース・システムには、サーバのフェイルオーバー・スイッチを組み込んでいるものもある。このような場合、「サーバ・ファーム・ハートビート調査」の実装がなくても信頼性を保持できる。
【0172】
スケーラビリティ。層1と層3により多くの実行中インスタンスを生成すると、システム全体を拡張することができる。オプションのロード・バランサーを層2内に配置しても、システムを全面的に拡張することができる。このような場合、ロード・バランサーに対し各コンポーネントへのアクセス性を保証する役割を割り当てることができるためハートビート検査メカニズムは必要ない。
【0173】
セキュリティ。モジュール型アーキテクチャ設計と拡張可能なデータベース・スキーマを採用しているため、高度なセキュリティを実装できる。第1に、ユーザ認証では、システムへのユーザ・ログインがサポートされているデバイスを介して実行されたときに有効かどうかを確認するために使用されるユーザ・プロファイルが加入者データベースに含まれる。この確認が失敗した場合、後で参照または調査できるようにシステムに記録が保管され、ログイン要求は拒否される。さらに、メッセージ・センターは、上のレベルのクライアント認証とサーバ認証に対する公開鍵インフラストラクチャによるサポートを実装できる。第2に、データ暗号化サポートでは、各モジュールが内容データの保護のため暗号化を実装できる。暗号化は、ファイル・ストアからメッセージ・センター、メッセージ・センターから印刷サービス、印刷サービスから出力イメージ・リポジトリ、ファイル・イメージ・リポジトリからRDCへの間で行うことができる。確かに、暗号化が多すぎると性能全体が低下するおそれがあり、暗号化が不十分だとユーザ・データが危険にさらされるおそれがある。第3に、非拒絶の実装では、システムは各加入者に一意的なIDを割り当てる。ユーザがシステムに要求をサブミットすると、その要求に対し即座に、ユーザのIDとタイムスタンプがタグとして付けられる。これがジョブ・サブミット要求である場合、複製がシステム内に生成され、ログが記録され、後で参照し請求できるようにアーカイブされる。
【0174】
上述のセキュリティ実装に加えて、システムのモジュール型分散アーキテクチャのメリットとしてほかに、管理者が組織のニーズに基づきセキュリティ設定をカスタマイズすることができるという点があげられる。例えば、仮想プライベート・ネットワーク(VPN)は、共有ファイル・サーバとメッセージ・センターとの間の標準セットアップとして実装できる。同様に、VPNは、メッセージ・センターとリモート・デスクトップ・クライアントとの間に実装することができる。システム・アーキテクチャでは、ソフトウェアとハードウェアの両方によるVPN構成をサポートしている。システム全体は、公開鍵インフラストラクチャを設けるとともに、認証と認定を与え、データ保全性とデータ・プライバシーを保護し、非拒絶要件を充足させることができる。
【0175】
メッセージ・センター
メッセージ・センターは、(例えば、インターネットを介して)(一般に)パブリック・アクセスを提供し、RDBMS(リレーショナル・データベース管理システム)データベースを実装する1つまたは複数のネットワーク接続サーバを備えている。図26を参照すると、一実施形態では、メッセージ・センターMCnはUNIX(登録商標)サーバ232をホストとする。一般に、UNIXや、Microsoft Windows Server、Linuxなどのオペレーティング・システムが稼働するサーバなど、さまざまなサーバ・クラスをメッセージ・センターのホストとして使用できる。サーバは、RAID 5ディスク・サブシステムなどの冗長コンポーネントおよび高可用性ハードウェアとして実装するのが好ましい。
【0176】
メッセージ・センターMCnは、メッセージ・センターおよびその他のシステム・コンポーネントのオペレーションに関するデータが格納されるRDBMSデータベース228を備える。一般に、RDBMSデータベースのホストは、SQL RDBMSデータベース・ソフトウェアであるが、これは、Oracle(例えば、8iまたは9i)や、Microsoft(例えば、SQL Server 7または2000)、IBM(DB2)、Informix、Sybaseなどのベンダが販売しているものである。現在の実装では、ネットワーク・ソケット接続とPERLおよびC言語プログラミングAPIを利用するMySQL RDBMSが使用されている。オプションで、データベース228のホストを非SQL RDBMSとすることもできる。
【0177】
各メッセージ・センターは、さらに、図1を参照して上で説明したタスクを処理するさまざまなソフトウェア・モジュールを備える。これらは、メッセージ・ハンドラ234、テーブル更新ハンドラ236、テーブル・メンテナンス・オペレーション238、印刷サービス通信チャネル240を含む。さらに、メッセージ・センターは、Webトラフィックとのインターフェイス用にWebサーバ・コンポーネントを備える。一実施形態では、リモート・サーバ・メンテナンスと管理さらに印刷サービス通信オペレーションとをサポートするためPHP4サーバやSSLサーバの拡張および関連するCGIアプリケーションとともにApache Webサーバが使用される。
【0178】
メッセージ・ハンドラ234は、特定のネットワーク・ポート(例えば、システム・ポート5190)に束縛されたサービスとして実行される。リモート・デスクトップ・クライアントは、このポートを使用してメッセージ・センターに接続され、セッションが持続している間中永続的接続を維持する。メッセージ・センターとRDCとの通信は、コネクション型であり、それぞれのセッションは、ネットワーク・メッセージ・プロトコルを使用する特定のフェーズからなる。メッセージ・センターとリモート・デスクトップ・クライアントとの通信は、RDCがセッション起動プロセスを開始したときに始まり、不意に切断したり(ネットワーク接続が途絶えるか、またはRDCホスト・マシン(例えば、PC)がシャットダウンしたりRDCアプリケーションが異常終了してRDCにエラーが発生した結果生じる)またはRDCがセッション停止プロセスを開始したときに終了する。
【0179】
テーブル更新ハンドラ(TUH)236は、RDBMSシステムのネイティブのAPIで書かれた一組のデータベース・メソッドからなる(例えば、MySQL RDBMS実装の場合には、C言語やPERL言語のAPIを使用し、Oracle RDBMS実装の場合には、PLSQLストアド・プロシージャを使用する)。このモジュール内のメソッドは、リモート・プリンタのリソース・ステータスの修正の機能、無線加入者プロファイルの追加、削除、修正の機能、印刷サービスのジョブ・キュー管理テーブルの更新、その他各種の機能からなる。
【0180】
テーブル・メンテナンス・オペレーション(TMO)モジュール238は、ログとレポートを生成し、テーブルを定期的にパージし、データベース・テーブルの問題を解消するために必要なメンテナンス機能を実行する一連の個別データベース・オペレーションを備える。これらの機能の一部は、アドホックで実行されるが、他の機能は、定期的に、例えば、毎時、毎日、または毎週、実行するようにスケジューリングされる。このモジュールの一部の機能は、ポート80上のCGIインターフェイス(またはSSL)を介して使用できる。
【0181】
印刷サービス通信チャネル240は、印刷サービス・コンポーネントによるメッセージ・センターへのアクセスを行うためメッセージ・チャネルを実装する。このチャネルを使用することで、システム内の印刷サービスはメッセージ・センターに接続してジョブ・キュー管理ステータスを更新することができる。一実施形態では、このチャネルは、メッセージ・センターのポート80またはSSLポートにより実装されており、メッセージング機能を備えるAPIはCGIスクリプトを含む。
【0182】
データベース・スキーマ
一般に、メッセージ・センターのRDBMSスキーマは、リモート・プリンタ・リソース管理(RPRM)データベース242、ジョブ印刷キュー管理(JPQM)データベース244、無線加入者(SUB)データベース246など、3つの別々のデータベースを含む。RPRMデータベースには、プリンタ・リソース・レジストリと、RDCプロセスと、プリンタ資産管理に関係するテーブルが含まれる。JPQMデータベースには、印刷サービスにより処理される印刷ジョブのサブミットに関係するテーブルが含まれる。無線加入者データベースには、無線加入者に関係するテーブルが含まれる。
【0183】
SUBデータベース・テーブル
加入者テーブル。このテーブルには、システム内の無線加入者に関する特定の情報が含まれる。加入者は、1回限りの登録手順でこのテーブル内のフィールドに入力する。「HTTP_X_UP_DEVCAP」で始まる記述に対応するフィールドに、無線デバイスのいくつかの機能を定義しているHTTP GETヘッダ内の無線デバイスから返されるデバイス機能の値が入る。SUB_NOフィールドには、登録時に加入者により入力されたセルラー番号に関連付けられた一意的な加入者番号が記述され、これを使用して、すべてのセッションの加入者を識別する。インデックス・フィールドSUB_IDは、レコード毎に一意であり、これを使用して、後述のNETWORK_SITESおよびPRINTERSテーブルを参照(つまり、リンク)する。
【表8】
【0184】
ネットワーク・サイト・テーブル。このテーブルには、加入者によって追加されたネットワーク・サイトを定義する複数のフィールドが含まれ、また各サイトのログイン情報も含まれる。
【表9】
【0185】
プリンタ・リソース・テーブル。このテーブルには、特定の加入者に対するプリンタ・リソースを定義するために必要な情報のいくつかのフィールドが含まれる。
【表10】
【表11】
【0186】
RPRMデータベース・テーブル
マスタ・プリンタ・リソース・テーブル。このテーブルには、システム全体のリモート・プリンタ・リソース構成とステータス情報が特定のメッセージ・センター上に登録されている印刷リソース毎に記述される。
【表12】
【0187】
ゾーン記述子テーブル。このテーブルでは、システム全体のネットワーク内で定義されているゾーンのパラメータを定義する。このテーブル内のレコードは、ゾーン識別子(ZID)値により参照される。ZONE_DESC記述子、ZONE_TYPE、STATUSフィールドは、ゾーンの特性を記述する。
【表13】
【0188】
メッセージ・センター・テーブル(MCT)。このテーブルには、システム内のメッセージ・センターを参照するために使用される情報が含まれる。これらのプロセスは、メッセージ・センター識別子(MCID)により識別され、値はシステム全体に影響を及ぼす一意的な値である。すべてのPUBLICリソースについて、0に等しいMCIDで常に参照されるマスタ・メッセージ・センターがあり、他のすべてのメッセージ・センターのMCID値はゼロでない正数であることに注意されたい。MCTには、メッセージ・センターのZONEおよびネットワーク・アドレスを識別する情報が含まれる。マスタ・メッセージ・センターのZONE識別子(ZID)は0に等しく、他のすべてのメッセージ・センターのMCID値は0でない正数値であることに注意されたい。
【表14】
【0189】
クライアント記述子テーブル。このテーブルでは、リモート・プリンタ・リソースに関係する個々のクライアントを定義する。このテーブル内のレコードは、クライアント識別子(CID)により参照される。CLIENT_DESC、CLIENT_TYPE、名前およびアドレス・フィールドで、クライアントの属性を定義する。このテーブルに格納されている情報は、デスクトップ・クライアント・ソフトウェアを個人がインストールするか、または企業ファイヤウォールの背後にあるPC上にインストールするときに登録プロセスを実行する際に生成される。印刷ジョブ・キュー情報には、クライアント・プロセスを印刷するジョブに関連付けるCID識別子が含まれる。
【表15】
【0190】
ジョブ印刷キュー管理データベース・テーブル
印刷サービス・テーブル。このテーブルには、ネットワーク内にインストールされている登録された印刷サービスが記述される。このテーブル内のレコードは、MPID識別子により参照される。(現在の実装では、印刷サービス・サーバは、「MAGICPRINT」(商標)サーバと呼ばれており、したがって、識別子名MPIDを使用している。これらの印刷サーバは、この明細書では、ドライバレス・プリント・サーバ(DPS)とも呼ばれる。)名前記述子、IPアドレス、ステータス、サーバ記述子文字列フィールドを使用して、各印刷サービスの属性を定義する。印刷サービス・サーバ上のドライバの種類毎に入力することに注意されたい。特定のローカルに置かれているサーバについては、ZID識別子を使用して関連するゾーンを参照する。
【表16】
【0191】
印刷キュー・テーブル。このテーブルでは、ネットワークのプリンタ・キューを管理する。このテーブル内の各レコードは、QID識別子により参照される単一の印刷ジョブを表す。システム全体の設計は、遅らされた印刷ジョブ機能を促進させ、QDATEとDQDATEフィールドにより、ジョブ・キュー入口と出口の日時を追跡する。このテーブル内の識別子の大半は、このテーブルから印刷ジョブが処理された後JOBキュー・ログ・テーブルにコピーされる。DRIVERDESC文字列には、ドキュメントを処理するために使用されたプリンタ・ドライバの種類およびPID識別子により参照され、CID識別子により参照されるデスクトップ・クライアントに関連付けられているリモート・プリンタ・リソースを定義する情報が含まれる。
【表17】
【0192】
JOBキューLOGテーブル。JOBキューLOGテーブルには、処理済み印刷ジョブをログに記録するための情報が含まれる。このログ内のジョブは、JOBログID(JID)値により参照される。印刷キュー・テーブルからフィールドがこのテーブルに転送される。印刷サービス・サーバはMPID識別子により参照される。ジョブを印刷するのに使用されるクライアントはCID識別子により参照される。CIDに関連するリモート・プリンタ・リソースはPID識別子により参照される。さらに、JOB所有者記述子文字列を記述し、印刷ジョブの発信者を識別する。
【表18】
【0193】
印刷サービスPSnに使用されるソフトウェア・コンポーネントの一実施形態の詳細な説明が図27に示されている。ソフトウェア・コンポーネントは、論理的に、セットアップ・コンポーネント300、メッセージ・センター通信インターフェイス301、ドメイン処理コンポーネント302、管理コンポーネント304を含む4つのグループに分けられる。これらのコンポーネントはそれぞれさらに、1つまたは複数のソフトウェア・アプリケーション、スクリプト、コンポーネント、/またはモジュールを含む。セットアップ・コンポーネント300は、印刷セットアップ・モジュール306およびアカウント・ウィザード・モジュール308を備える。メッセージ・センター通信インターフェイス301は、メッセージ・センター通信チャネル310への印刷サーバを含む。ドキュメント処理コンポーネント302は、CGIスクリプト311、ドライバレス・プリント・サーバ・コンポーネント312、ポート・モニタ314、ステータス・モニタ316、プレビュー・モジュール318を備える。管理者コンポーネント304は、システム・モニタ320、管理(コントロール・パネル)Webページ322、自動拡張モジュール324、自動更新モジュール326を含む。
【0194】
一実施形態では、プリンタ・セットアップ・モジュール306は、システムで使用するWindowsプリンタの構成を変更するためシステム管理者によって実行されるMicrosoft(MS)Windowsアプリケーションを含む。このアプリケーションを使用して、既存のプリンタの変換、新規プリンタのインストール、またはプリンタの削除を行うことができる。既存のプリンタの変換では、既存のプリンタのインストールを行い、MS Windowsのポート・モニタによって提供されるオペレーションをポート・モニタ314で置き換える。ポート・モニタ314を使用することで、DPSシステムによりスプール・ファイルを操作し、これによりステータス・モニタ316はスプール・ファイルを選択した宛先出力デバイスに送信することができる。
【0195】
印刷セットアップ・モジュール306は、新規プリンタを適切なプリンタ・デバイス・ドライバとともにインストールする場合にも使用できる。例えば、管理者はプリンタのPostScriptプリンタ記述(PPD)ファイルを使用しAdobe PostScript(商標)ドライバをインストールしてDPSシステムで使用することによりPostScriptプリンタをセットアップすることができる。管理者がPDDを用意できれば、セットアップ・モジュールは、PostScriptドライバをインストールし、DPSシステムで使用できるように構成する。他の場合、管理者は新規プリンタに対する適切なプリンタ・デバイス・ドライバ・ソフトウェアを用意する。プリンタ・セットアップ・モジュール306はさらに、プリンタの削除にも使用できる。このような場合、Windowsポート・モニタをシステムのポート・モニタとして復元するか、または選択したプリンタのDPSサーバのサポートを完全に削除することができる。
【0196】
アカウント・ウィザード・モジュール308は、セキュリティを一組の管理用Webページ322に適用し、管理者がログインして、アクセスできるWebページ・セットを決定できるようにする。一実施形態では、システムは、モニタ、マネージャ、管理レベルの3種類の管理レベルを実装する。一実施形態では、アカウント・ウィザードはこれら3つのグループをMS Windowsユーザ・グループとして作成する。さらに、アカウント・ウィザードは、MS Windowsユーザ・アカウントを作成して、それらを管理ユーザ・グループの1つに置く。一実施形態では、アカウント・ウィザード・モジュール308は、MS Windowsアプリケーションである。
【0197】
印刷サービスからメッセージ・センターへの通信チャネル310を使用することで、印刷サービスとメッセージ・センターとの間で通信を行うことができる。通信には、印刷サービス登録と登録解除、ジョブ描画要求、ジョブ印刷要求、デバイス登録と登録解除、デバイス・ステータス・クエリなどが含まれる。
【0198】
CGIスクリプト311の詳細な説明が図28に示されている。「印刷ジョブをキャンセル」CGIスクリプト328を使用して、印刷ジョブ要求をシステムから削除する。管理用Webページ322から、システムにサブミットされ、スプール・ファイルがまだプリンタに送信されていないあらゆる印刷ジョブに対してスクリプトを呼び出すことができる。このスクリプトを、メッセージ・センターから呼び出すこともできる。
【0199】
自動拡張構成CGIスクリプト329は、印刷サービス・ホストにインストール済みアプリケーションがないかサーチし、見つかったアプリケーションによりサポートできるドキュメント・タイプを発見し、発見されたファイル・タイプの印刷ジョブ要求を実行できるように印刷サービスを構成する。この情報をメッセージ・センターに転送することで、リソース構成情報を更新できる。システム更新CGIスクリプト330を使用して、インストール済みシステム・コンポーネントと最新の利用可能なコンポーネントとを比較し、新しいコンポーネント(該当する場合)をダウンロードし、PSホストにインストールする。
【0200】
印刷要求CGIスクリプト331は、メッセージ・センターからソース・データ(例えば、ドキュメント・ファイル、グラフィック・イメージ・ファイル、またはURL)を入力として受け取り、印刷サービスで処理される印刷ジョブ要求を作成する。ジョブ・キューCGIスクリプト332は、システムから印刷ジョブ要求のキューを読み出し、そのリストをスクリプトの呼び出し側(例えば、MC)に返す。「CGIをプレビュー」CGIスクリプト333は、メッセージ・センターからドキュメント・ファイル、グラフィック・イメージ・ファイル、またはURLを受け取り、システム上で印刷要求CGIスクリプトと同様の方法により印刷ジョブ要求を作成する。しかし、プレビューCGIスクリプトが呼び出されると、システムは、ドキュメント、イメージ、またはWebページを、プリンタに送信して印刷するのではなく、発信元デバイスのユーザ・インターフェイスに表示できる形式に変換する。ドキュメント、イメージ、またはWebページに対しプレビューCGIスクリプトをもう一度呼び出して、プレビュー済みアイテムを選択した出力デバイスに送信するようシステムに指令を出すことができる。
【0201】
リセットCGIスクリプト334は、システム・アプリケーションを閉じて、再度起動する。このスクリプトは、プログラム・エラーが発生した場合にそのエラーをクリアするための最後の手段としてシステム管理者によって使用される。ステータスCGIスクリプト335は、印刷ジョブ要求の進行状況を示す管理用Webページ322を表示する。
【0202】
ドライバレス・プリント・サーバ312によって実装されるコンポーネントが図29に示されている。ドライバレス・プリント・サーバは、印刷サービスによって使用される主要ソフトウェア・コンポーネントである。これは、ジョブ要求を受け付け、その要求をキューに入れ、要求から最終印刷までのドキュメント、イメージ、またはURLの印刷プロセスを指令する印刷サービス・ホスト(つまり、サーバ・コンピュータ)上で実行されるアプリケーションを含む。ドライバレス・プリント・サーバ・コンポーネントには、ファイル・タイプ構成リスト336、ブラウザ印刷コンポーネント337、補助アプリケーション印刷コンポーネント338、シェル拡張印刷コンポーネント339、印刷プレビュー・コンポーネント340、ジョブ要求サーバ・コンポーネント341、ジョブ処理コンポーネント342、ウィンドウ処理コンポーネント343、ジョブ・ステータス・コンポーネント344がある。
【0203】
ファイル・タイプ構成リスト336は、ドライバレス・プリント・サーバによって保持される。構成リストには、ファイル・タイプ毎に、拡張子とそのファイル・タイプを印刷するために使用される方法が記述される。補助アプリケーション印刷コンポーネント338側で印刷方法を用意している場合、リストには、印刷に使用されるアプリケーションへのパス、アプリケーションが印刷に使用するメニュー・コマンド、アプリケーションがアプリケーションを閉じるために使用するメニュー・コマンドが含まれる。
【0204】
ブラウザ印刷コンポーネント337は、ドライバレス・プリント・サーバが出力イメージ・データの生成に使用する3つの方法のうち1つを備える。一実施形態では、このコンポーネントは、Microsoft Internet Explorer(IE)Webブラウザによって提供されるアプリケーション・プログラミング・インターフェイス(API)を使用する。コンポーネントは、IE APIを使用して、ドライバレス・プリント・サーバ・アプリケーションのウィンドウ内でブラウザを実行する。URLを印刷するために、ドライバレス・プリント・サーバは、用意されているナビゲーション・プログラミング・インターフェイスを使用してWebページをウィンドウにロードする。ページがロードされた後、コンポーネントは印刷プログラミング・インターフェイスを提供しているIEを使用して、印刷オペレーションをインスタンス化する。
【0205】
DPSサーバ・コンピュータ上のIEブラウザ・インスタンスが、要求されたドキュメントまたはイメージ・ファイルのタイプに対応するブラウザ・プラグインを使用するように構成されている場合、この方法を使用して、ドキュメントとイメージ・ファイルを印刷することができる。例えば、Adobe Acrobat(商標)用のIEプラグインを考える。Adobe Acrobatドキュメント・ファイルの拡張子はPDFである。Acrobatプラグインがサーバ・コンピュータにインストールされている場合、IEのナビゲーション・プログラミング・インターフェイスにより、PDFファイルをIEにロードすることができ、またIEの印刷プログラミング・インターフェイスによりファイルを印刷することができる。
【0206】
補助アプリケーション印刷コンポーネント338は、ドライバレス・プリント・サーバによって出力イメージ・データの生成に使用される別の方法を用意している。このコンポーネントでは、ファイル・タイプ構成リスト336を使用してそのファイル拡張子に関連付けられたアプリケーションを見つけ、ファイルをアプリケーションにロードし、アプリケーションの印刷メニュー・コマンドを実行し、印刷オペレーションの完了後、アプリケーションを閉じる。ファイル・タイプ構成リストと補助アプリケーション印刷方法の組合せにより、システム管理者は、サーバ・マシンにアプリケーションをインストールし、ファイル・タイプ構成リストを編集することにより、追加ドキュメントまたはイメージ・タイプのサポートを追加することができる。
【0207】
シェル拡張印刷コンポーネント339は、ドライバレス・プリント・サーバが印刷に使用する第3の方法を備える。このコンポーネントは、MS Windows Shell Extensionsプログラミング・インターフェイスを使用して印刷する。MS Windows Shell Extensionsインターフェイスは、ユーザがそのドキュメント・タイプをサポートするアプリケーションに送られるコマンドを使ってドキュメント・タイプを印刷するためのオペレーティング・システムの一機能である。アプリケーションは、Shell Extensionインターフェイスをサポートしていれば、ドキュメントをロードし、印刷し、そして自動的に閉じる。ファイル・タイプ構成リストとシェル拡張印刷方法の組合せにより、システム管理者は、サーバ・マシンにアプリケーションをインストールし、ファイル・タイプ構成リスト336を編集することにより、追加ドキュメントまたはイメージ・タイプのサポートを追加することができる。
【0208】
印刷プレビュー・コンポーネント340は、コンシューマ・ユーザが要求されたドキュメント、イメージ、またはURLの例を表示できるように、印刷ジョブの要求されたドキュメント、イメージまたはURLをドキュメント形式のファイルに変換する。このコンポーネントは、プレビューCGIスクリプト333と連携して動作する。ドライバレス・プリント・サーバが実行する変換の1つは、Adobe Acrobatドキュメント形式に関するものである。印刷プレビュー・コンポーネントを使用することで、ドライバレス・プリント・サーバは、印刷用にスプール・ファイルを作成する場合と同じ方法によりスプール・ファイルを作成する。しかし、これは、出力デバイスまたはリポジトリに送信するためスプール・ファイルをステータス・モニタ316に送信する代わりに、ドキュメントをAcrobat PDF形式に変換するAdobe Acrobat Distillerアプリケーションを通じてスプール・ファイルを実行する。この変換では、プリンタ・ドライバはAdobe PostScriptドライバである必要がある。ドライバレス・プリント・サーバに、プレビュー・プロセスで作成したスプール・ファイルが保持されるため、コンシューマ・ユーザがドキュメントの印刷を望んだ場合に、DPSがスプール・ファイルをステータス・モニタ316に単に送信するだけで、そのスプール・ファイルがプリンタに送信され、印刷される。
【0209】
ジョブ要求サーバ・コンポーネント341は、印刷要求CGIスクリプト331から印刷ジョブ要求を受け取り、キューに入れて処理を待つ。ジョブ処理コンポーネント342は、ジョブ・キューに挿入してから出力イメージ・データのスプール・ファイルが生成されるまでの間、印刷ジョブ要求を管理する。このコンポーネントは、キューに入っているジョブ要求を読み取り、印刷に使用する3つの印刷方法のうちの1つを決定し、ドキュメント、イメージ、またはURLを決定された印刷方法にサブミットし、印刷コマンドの実行を処理し、スプール・ファイルをステータス・モニタにサブミットして保管する。出力イメージ生成処理の各段階で、ステータスを追跡し、ステータスCGIスクリプト335を呼び出せる場合にその呼び出しからそのステータスを利用できるようにする。
【0210】
ウィンドウ処理コンポーネント343を使用して、信頼できる印刷を行う。多くのアプリケーションが、印刷プロセスの実行中にメッセージ・ボックスおよび/またはダイアログボックスを表示し、印刷サービスを要求しているユーザに情報を提供したりそのユーザから情報を収集したりする。印刷要求の自動処理をサポートするには、要求の印刷に使用されるアプリケーションにメッセージ・ボックスまたはダイアログボックスが表示される場合に、それらのメッセージ・ボックスまたはダイアログボックスに応答するメカニズムが必要である。このメカニズムは、ウィンドウ処理コンポーネント343によって提供される。ドライバレス・プリント・サーバは、印刷プロセス実行中にメッセージ・ボックスやダイアログボックスが表示されないかサーバを監視している。新しいメッセージ・ボックスやダイアログボックスが表示されると、ウィンドウ処理コンポーネントがその情報を読み込み、知られているメッセージまたは知られているステートメントと比較し、そのプログラムされているロジックに従ってメッセージ・ボックスまたはダイアログボックスを閉じる。ウィンドウ処理コンポーネントの詳細について、図32を参照しながら以下で説明する。
【0211】
各ドライバレス・プリント・サーバ・キュー内にすべてのジョブのメモリマップト・ファイルを保持するためにジョブ・ステータス・コンポーネント344を備える。周期的に、ジョブ・ステータス情報をメモリマップト・ファイルに書き込むことで、ステータスCGIスクリプトがジョブ要求のステータスを読み込めるようにしている。
【0212】
ポート・モニタは、MS Windows印刷サブシステム内の標準コンポーネントを含む。ポート・モニタは、印刷サブシステムを介してプリンタ・ドライバからスプールされたデータを受け取る。従来のボート・モニタは、プリンタ・ドライバからスプールされたデータを受け取り、プリンタに引き渡す役割が与えられている。ドライバレス・プリント・サーバでは、ポート・モニタ・モジュール314(図27)がスプールされたデータをファイルに書き込む。スプール・ファイル全体がファイルに書き込まれると、ポート・モニタ・モジュール314がドライバレス・プリント・サーバに、スプールされたファイルの名前と位置をメッセージとして送る。
【0213】
ステータス・モニタ316は、サーバ・コンピュータ上で実行されるアプリケーションを含む。これは、複数の機能を実行するが、主にスプール・ファイルをプリンタに送信する役割を持つ。ドライバレス・プリント・サーバは、ポート・モニタ314からスプール・ファイルの位置を示すメッセージを受け取った後、スプール・ファイルの位置、スプール・ファイルの送信先プリンタのURL、スプール・ファイルをプリンタに送信するためのプロトコル情報を示すメッセージをステータス・モニタ316に送信する。ステータス・モニタ316は、それぞれの要求されたプリンタURLのキューを作成する。プリンタは、一度に1つのスプール・ファイルしか受け取れないので、スプール・ファイルの送信をシリアライズする。ステータス・モニタ316は、複数のキューを同時に作成し維持することができる。
【0214】
出力イメージが正常に生成された後、ステータス・モニタ316はドライバレス・プリンタ・サーバに、ジョブが完了していることをメッセージで知らせる。ジョブ履歴が更新され、ドライバレス・プリント・サーバ・キューからジョブが削除される。ステータス・モニタ316は、出力イメージを生成したときかつ/または生成した後、外部コンポーネントにメッセージを送信するように構成できる。例えば、これを使用して、印刷ジョブに対応する出力イメージが完了していることを、印刷ジョブを開始したメッセージ・センターに通知することができる。
【0215】
システム・モニタ・コンポーネント320は、他のすべての印刷サービス・コンポーネントを監視し、エラーがないか調べ、特定の要求の着信を監視するアプリケーションを含む。印刷ジョブ要求が印刷要求CGIスクリプト331から届いた場合、ドライバレス・プリント・サーバ・アプリケーションが動作していなければ、印刷要求CGIスクリプトは、システム・モニタ320に対し、ドライバレス・プリント・サーバを起動し、印刷ジョブ要求を処理するよう要求することができる。システム・モニタ320は、定期的に、メッセージをドライバレス・プリント・サーバに送信し、プログラムとキュー内の印刷ジョブのステータスを取得する。システム・モニタは、エラーを検出すると、この問題を解消しようとする。
【0216】
またシステム・モニタ320は、より新しい印刷サービス・システム・コンポーネントをダウンロードし、インストールする場合にも使用できる。システム内のすべてのコンポーネントのバージョン番号を収集し、それらをシステムの更新Webサイトに送信する。更新Webサイトでは、より新しいコンポーネントが利用できるかどうかについての情報とともに返信する場合、これらのコンポーネントを検索して、システムにインストールする。システム・モニタは、メニューから、または「システムを更新」CGIスクリプト330から更新要求を受け付ける。
【0217】
管理用Webページ322では、管理ユーザがシステムのリモート構成および監視を実行できる。セキュリティ機能を使用して、コンシューマ・ユーザによるこれらのWebページへのアクセスを防止する。
【0218】
出力イメージ生成のためファイルをサブミットすると、ドライバレス・プリント・サーバがファイルのファイル・タイプに対応するアプリケーションを開く。例えば、ファイルの拡張子が.docであれば、一般的には、MS Wordアプリケーションが開く。次に、このアプリケーションがファイルを開き、組み込み印刷コマンドを使用して、サブミットされているファイルを選択したプリンタに送信する。拡張子Webページ(図に示されていない)に、(「拡張子」列内の)ファイル・タイプ情報の一覧を表示する行(エントリ)および(「アプリケーション名」列内の)ファイル・タイプに対応するソフトウェア・アプリケーションが表示される。また、各エントリには、拡張子の優先度レベル(サブミットされたファイルに対する適切なアプリケーションを決定するため同じ拡張子を持つファイル・タイプを評価する順序を定義する)、アプリケーションに関するOSレジストリ情報の格納先を識別するレジストリ位置、アプリケーションのデフォルト・パス、アプリケーションの実行可能ファイル名、アプリケーションを印刷しアプリケーションを閉じるための内部コードが表示される。管理者は、「新規エントリを追加」ボタンをアクティブにして新規ファイル・タイプを追加でき、このボタンを使用して、前のWebページの各列の対応する編集コントロールでWebページ(図に示されていない)を描画する。ユーザはさらに、ファイル・タイプの更新と既存のファイル・タイプの編集も行える。
【0219】
ドライバレス・プリント・サーバでは、ファイル・タイプの値に対応する拡張子テーブルを使用して、拡張子テーブルに列挙されている各ファイル・タイプのファイルの印刷に使用するサーバ・コンピュータにインストールされているアプリケーションを判別する。さらに、このテーブルに含まれる情報を使用して、印刷サービス・サーバ・コンピュータの実行可能ファイルの場所を判別する。一実施形態では、拡張子テーブルや他のさまざまな構成および印刷ジョブ・データがデータベース内に保持される。通常、データベースは、DPSソフトウェアのホストとなるマシンと同じマシンをホストとするが、当業者であれば理解できるであろうが、データベースのホストとして別のマシンを使用することもできる。
【0220】
印刷要求の処理
データの流れと印刷要求に対する応答として印刷サービスDPSシステム・ソフトウェア・コンポーネントにより実行されるオペレーションを説明するデータ流れ図が図30に示されている。最初、発信元デバイス350のユーザがシステムに接続し、印刷するソース・データをローカル・ストアまたはリモート・ストアのいずれかから選択し、さらに上述の方法でソース・データを印刷する出力デバイスを選択する。ユーザ入力352を含むこの情報は対応するメッセージ・センターにより受信され、処理されて、印刷ジョブ353が生成される。一般に、印刷ジョブは、ソース・データまたはソース・データへの参照を含み、印刷サービスによって生成された出力イメージをリポジトリに格納するのか、それとも直接出力デバイスにサブミットするのかを識別する。印刷ジョブはまず、印刷要求CGIスクリプト331により処理され、これにより、印刷ジョブに対応する印刷パラメータやその他のデータを含むtmpdoc.dpsnドキュメント354を生成する。その後、tmpdoc.dpsnドキュメントは、印刷要求CGIスクリプトにより、ジョブ・キュー356に送られる。一実施形態では、ジョブ・キューは先入れ先出し(FIFO)型のジョブ・キューを含む。オプションにより、他の種類のジョブ・キューも使用することができるが、このことは、当業者であれば理解するであろう。上述のように、ジョブ・キューのオペレーションはジョブ処理コンポーネント342により実行される。
【0221】
ジョブ・キューがサブミットしたジョブ要求は、印刷サービスによって処理される。tmpdoc.dpsnファイルを解析し、ドキュメント・ファイル360に格納されている、印刷要求に対応する印刷ジョブ・パラメータを検索するが、それぞれの要求はブロック358により処理される。例えば、解析された情報には、プリンタの選択、部数、コンシューマ・ユーザのID、ドキュメント名、印刷ジョブをサブミットするメッセージ・センターなどが含まれる。印刷ジョブ・パラメータの一部は、DPSデータベース361に格納される。
【0222】
決定ブロック362で、どのような種類のドキュメントの印刷が要求されたか、例えば、アプリケーション・ファイルなのか、イメージなのか、WebページのURLなのかが判別される。ドキュメントがWebページ、イメージ、またはPDFファイルなどの閲覧可能なドキュメントに関係する場合、ロジックの流れはブロック364に入り、そこで、Webページ、イメージ、またはPDFドキュメントがドライバレス・プリント・サーバのブラウザを介してロードされる。そうでない場合、ロジックの流れはブロック366に入り、そこで、ドキュメントとそのドキュメントの印刷に使用することができる適切な補助アプリケーションがロードされる。例えば、ドキュメントがMS Excelのスプレッドシートを含む場合、MS Excelアプリケーションのインスタンスが、Excelドキュメントとともにロードされる。ブロック368では、ブラウザまたは補助アプリケーションのいずれかによりURL、イメージ、またはドキュメントを印刷することを要求する印刷オペレーションを要求するユーザをシミュレートする内部コマンドが生成される。例えば、ほとんどのアプリケーションでは、アプリケーションの印刷プロセスを起動する「ファイル」→「印刷」メニュー・オプションを備えている。
【0223】
内部アプリケーションまたはブラウザの印刷要求への応答として、さまざまな印刷情報やドキュメント情報が内部的に、プリンタ・オペレーションを処理するオペレーティング・システム・コンポーネントに受け渡される。上述のように、一実施形態では、ドライバレス・プリント・サーバは、MS Windows OS環境で動作する。したがって、この環境は、ターゲット・プリンタ374に送られて出力ドキュメントを生成する適切なプリンタ(つまり、出力デバイス)データを生成する選択したプリンタに対応するプリンタ・デバイス・ドライバ372と交信するグラフィカル・デバイス・インターフェイス(GDI)コンポーネント370を含むOS印刷サブシステム369を備える。プリンタ・データは、ポート・モニタ314によって受信される印刷スプール・ファイルを出力するMS Windows印刷スプーラ・コンポーネント376によって内部的に処理される。図に示されている例では、宛先出力デバイスDDESTはPostScriptプリンタを含むと仮定している。そこで、ポート・モニタ314はPostScriptファイル378を出力する。
【0224】
上述のオペレーションが進行している間、発信元デバイス350のユーザは、ソース・ドキュメントを印刷する前に、ドキュメント、イメージ、またはWebページのシミュレートされた印刷済み出力をプレビューすることを選択できる。決定ブロック380で、ユーザがプリンタ出力をプレビューする要求を出したかどうかが判別される。答えが「yes」(TRUE)であれば、一実施形態において、Adobe Acrobat Distiller382のインスタンスが起動され、これを使用してAdobeポータブル・ドキュメント形式(PDF)ドキュメント384が生成される。PDFドキュメントは、プレビューCGIスクリプト333によって処理され、メッセージ・センターMCnを介して発信デバイス350に送り返され、そこでAdobe PDFプラグインにより発信元デバイス上で実行されているブラウザに描画される。描画された表示(図に示されていない)は、印刷されたドキュメントがどのように見えるかを示すプレビューであり、コンシューマ・ユーザがドキュメントを印刷するかまたは取り消すかを選択するためのレーザー・インターフェイス(UI)コントロールを備える。
【0225】
コンシューマ・ユーザがドキュメントを印刷することを望んでいる場合、印刷通知がメッセージ・センターMCnに送り返され、そこでプレビューCGIスクリプト333により処理される。印刷通知を受信したことに対する応答として、プレビューCGIスクリプト333はステータス・モニタ316を起動し、出力イメージ・データの送信先に応じて、印刷ドキュメント378を宛先出力デバイスDDESTまたは出力リポジトリ78のいずれかにサブミットする。このイベントとともに、DPSデータベース361内のジョブ履歴情報が更新される。さらに、出力イメージが印刷された後、印刷完了通知380がステータス・モニタ316に送り返され、そこで、通知がジョブ・ステータス・メッセージ381としてメッセージ・センターMCnに転送される。
【0226】
コンシューマ・ユーザによって印刷プレビュー・オプションが選択されていない場合、決定ブロック382に対する答えは、「no」(FALSE)であり、ステータス・モニタ316が起動し、印刷ドキュメント378が宛先出力デバイスDDESTまたは出力リポジトリ78にサブミットされる。印刷処理中、ステータス・モニタ116はプロセスの進捗状況を監視し、DPSデータベース361を更新する。ステータスCGIスクリプト335を使用し、ジョブ・ステータス・メッセージ381で示されているように、データベースから進捗情報を検索し、適切なHTMLを生成して対応する印刷ジョブをサブミットしたメッセージ・センターに送り返すことにより印刷ステータス情報をメッセージ・センターに供給する。
【0227】
一実施形態では、ドライバレス・プリント・サーバはプリンタ・ファイルの直接印刷をサポートしている。例えば、印刷ジョブ・ファイルがプリンタ・ファイルを含む場合、宛先出力デバイスのプリンタ・ファイル・タイプに対応していれば、直接印刷することができる。例えば、PostScriptファイルであればPostScriptプリンタに出力することができる。同様に、他の種類のプリンタのプリンタ・ファイルについても、印刷プロセスで「ファイルへ保存」オプションを選択することによりあらかじめ作成しておくことができる。決定ブロック362でファイルがプリンタ・ファイルであると判定された場合、このロジックはブロック367に進み、そこで、プリンタ・ファイル(プリンタ・ファイル367で示されている)は直接、Windows印刷スプーラ376に送信される。
【0228】
出力イメージが、出力デバイスに送信されるのではなく、出力リポジトリ78に蓄積される場合、ステータス・モニタ316は、出力イメージ・ファイル参照386により示されているように、ジョブ・ステータス・メッセージ381を使用して、メッセージ・センターMCnに、印刷ジョブに対応する出力イメージ・ファイルがリポジトリに格納されていることを示すメッセージを出力イメージ・ファイルの名前と場所とともに送信する。
【0229】
ドライバレス・プリント・サーバ・ソフトウェア46の内部オペレーションの詳細を図31に示す。前のように、発信元デバイス350を操作するコンシューマ・ユーザは、発信元デバイス(例えば、ミニブラウザUI 107またはブラウザUI 124)に適切なユーザ・インターフェイスを介してソース・データ(例えば、ドキュメント、イメージ・ファイル、またはWebページ)を印刷することを要求する。適切なUIページ上の「今すぐ印刷」ボタンをアクティブにすることに対する応答として、印刷要求CGIスクリプト331によりユーザ入力データが処理され、tmpdoc.dpsnドキュメント354が作成される。印刷要求CGIスクリプトはさらに、パイプで、印刷要求が含まれるメッセージを新規ジョブ・パイプ・サーバ390に送り込み、メッセージをメッセージ・キュー392に格納する。印刷要求メッセージ毎に、メッセージ・キュー・ハンドラ394が、対応するtmpdox.dpsnドキュメント354を解析する対応するスレッドを起動し、ドキュメント・ファイル360を生成し、印刷要求をジョブ・キュー356にサブミットする。
【0230】
ジョブ・キュー・ループの開始ブロック396とジョブ・キュー・ループの終了ブロック397に示されているように、これらのループ端の間に表示される以下のオペレーションとロジックが印刷ジョブに対して実行される。まず、ブロック398で、次のジョブがジョブ・キュー356から検索される。決定ブロック400で、印刷ジョブがどのような種類のドキュメントに対応しているかが判別される。ドキュメントがアプリケーション・ファイルの場合、ロジックは決定ブロック402に進み、そこで、印刷方法としてどのような種類のファイル・タイプを使用すべきかが判別される。ファイルが補助アプリケーション(例えば、MS Word、MS Excel、AutoCADなど)を必要とする場合、ロジックはブロック366に進み、そこで、上で説明したように、ドキュメントと適切な補助アプリケーションがロードされる。補助アプリケーションにファイルがロードされると、ファイル印刷コマンドをブロック368内に内部的に生成し、前のように、ファイルをサブミットし、OSによる印刷に任せる。
【0231】
次に、決定ブロック404で、ポート・モニタ314から「完了」メッセージを受け取ったかどうかが判別される。この判別は、定期的に、またはソフトウェアの割り込みメカニズムにより、「完了」メッセージが受信されるまで実行される。その後、ブロック406でステータス・モニタ316が起動し、印刷ドキュメント378をターゲット・プリンタ374に送信し、DPSデータベース386内のジョブ履歴データが前のように更新される。
【0232】
決定ブロック400および402に戻り、ドキュメント・タイプがWebページであるか、または補助アプリケーション(例えば、PDFドキュメントまたはさまざまな種類のイメージ・ファイル)なしでドライバレス・プリント・サーバ・コンピュータにより直接印刷することができるファイル・タイプの場合、ロジックはブロック364に進み、そこで、DPSコンピュータのブラウザでそのWebページのURLに移動するか、またはブラウザを他の何らかの方法で使用し、PDFファイルまたはイメージ・ファイルを表示する。描画されると、上述の方法で残りの印刷オペレーションが実行されるが、これはブロック368から始まる。上述のように、ドキュメント・タイプがプリンタ・ファイルの場合、ドキュメントは直接、Windows印刷スプーラ376に送られる。
【0233】
ウィンドウ処理コンポーネント343によって実行されるロジックとオペレーションを説明する流れ図を図32に示す。図30の開始ブロック450に示されているように、ウィンドウ処理スレッドが決定ブロック362の始め、ブロック368で印刷アクションが呼び出された直後に起動される。上述のように、ウィンドウ処理コンポーネントを使用して、アプリケーションをロードするとき、ドキュメントをアプリケーションにロードするとき、印刷アクションを開始するとき、印刷プロセス中などに起動することができるさまざまなダイアログボックスおよびメッセージ・ボックスを処理する。
【0234】
図32の流れ図に戻ると、ウィンドウ処理スレッドは、起動後、ブロック452で調べなければならないデスクトップ・ウィンドウがまだあるか判別する。このようなウィンドウは、一般に、ダイアログ・ボックスとメッセージ・ボックスを備える。調べるべきウィンドウがもうなければ、スレッドは、スレッドの終了ブロック454に示されているように終了する。調べるべきウィンドウがまだあれば、ロジックはブロック456に進み、あるウィンドウに対するウィンドウ情報を取得する。MS Windowsオペレーティング・システムで、ウィンドウ情報を取得するには、適切なWindows APIコールを実行する。
【0235】
次に、決定ブロック458で、ウィンドウが描画アプリケーションの子ウィンドウかどうかを判別する(つまり、補助アプリケーションまたはブラウザで生成されたかどうか)。決定が「no」ならば、ウィンドウはその描画アプリケーションに応答せず、ロジックは決定ブロック452に進み、次のウィンドウを評価する。決定ブロック458に対する答えが「yes」(TRUE)ならば、ロジックはブロック460に進み、ウィンドウのテキスト・ボタンとコントロール・ボタンが調べられる。
【0236】
決定ブロック462により判別されるときに、テキストが標準メッセージ文字列に一致する場合、ロジックはブロック464に進み、そこで、「ウィンドウを閉じる」コマンドが内部的に与えられ、ユーザがウィンドウ上の「閉じる」ボタンまたはウィンドウのフレーム内の「ウィンドウを閉じる」アイコンをアクティブにする動作をエミュレートする。その後、ロジックは決定ブロック452に戻り、次のウィンドウを処理する。
【0237】
テキストが標準メッセージ文字列に一致しない場合、決定ブロック462に対する答えは「no」(FALSE)であり、ロジックは決定ブロック466に進み、そこで、テキストがDPSデータベース386内のウィンドウ処理テーブル470に格納される対応するエントリ・リストのMessageText値と一致するか判別される。一致する値がある場合、ロジックはブロック468に進み、そこで、一致するMessageText値の行内のデータを検索し、データによって与えられるパラメータに基づき対応するメッセージをWindows APIに発行することによりテーブル・コマンドを実行する。例えば、通常のエントリ・リストの行472が図32の上に表示されている。行には、MessageID、Wparam、Lparam値を含む、Windows APIに関係する情報が格納される。これらのパラメータを使用し、ウィンドウを処理する目的のオペレーションを実行するため対応するAPIを呼び出す。テーブル・コマンドが実行されると、あるいは決定ブロック466に対する答えが「no」(FALSE)であれば、ロジックは決定ブロック452に戻り、次のウィンドウの処理を開始する。
【0238】
ユーザ・アカウント・セットアップ
図33〜37を参照すると、システムはさまざまユーザ・インターフェイス画面を備えており、ユーザは自分のアカウントをセットアップし、ネットワーク、プリンタ、ファックス、連絡先などのさまざまなパラメータを構成することができる。上述のように、これらのUI画面は通常、有線および無線ネットワーク・アクセスを行えるHTMLベースのWebページ、セルラー基盤を介してシステムにアクセスするデバイス用のWAPベースのカードを備える。複数のオペレーションを伴うセットアップ・プロセスが、図33のWebページ500に表示される。これらのオペレーションには、セットアップ開始オペレーション502、ファイル・サーバ・アクセス・セットアップ・オペレーション504、お気に入りのプリンタ・セットアップ506、ファックス・セットアップ・オペレーション508、連絡先リスト・セットアップ・オペレーション510、セットアップ終了オペレーション512がある。これらのオペレーションを通じて使用できるさまざまなパラメータをセットアップする前に、ユーザは、ユーザ名および個人識別番号PINを伴う標準的なユーザ認証方式を使用してシステムに登録してある。
【0239】
ユーザは、システムにログインし、アカウント・セットアップ画面または設定画面のいずれかに移動することでセットアップ・プロセスを開始する。複数のナビゲーション方式を使用して、後述のような内容を含むさまざまな画面にアクセスできる。セットアップ・オペレーション中に、ユーザは後続のユーザ・セッションからソース・データをアクセスしたい1つまたは複数のファイル・サーバに関するパラメータを決める。Webページ500により、ユーザは、サーバ名(つまり、エイリアス)および対応するサーバ・アドレスを編集ボックス514、516で定義することができる。ユーザはさらに、それぞれ編集ボックス518、520にアカウント名とパスワードも入力し、編集ボックス522に確認パスワードを入力する。最後に、ユーザはプルダウン・リスト524からファイル・サーバ・タイプを選択する。すべてのパラメータを入力し終えたら、ユーザは「ADD SERVER NOW(今すぐサーバを追加)」ボタン526をアクティブにし、WebページがパラメータをWebページのホストとなるメッセージ・センターに返す。その後、これらのパラメータは、メッセージ・センター・データベース228内のネットワーク・サイト・テーブルに格納される。
【0240】
図34は、ユーザが複数のサーバを追加した後のWebページ500の表示の仕方を示すWebページ500Aを説明している。サーバ名列528に示されているように、ユーザはサーバに名前を付けることができるが、名前は好きな名前でよい(32文字までなど妥当な長さ制限の範囲内で)。ネットワーク・サイト・テーブルではSUB_ID外部キーを介して加入者テーブルを参照し、代理1次キー(SITE_ID)を使用するので、複数のユーザがmyServer、home_networkなど同一のサーバ名を使用しても、混乱を引き起こすことはない。しかし、ユーザから見えるサーバは、ユーザがすでに登録済みのサーバのみである。
【0241】
ユーザは、ホスト・アドレス列530に示されているように、IPアドレス(例えば、200.221.219.218)またはドメイン名(例えば、ftp.prlsip.com)のいずれかを使用してサーバ(ホスト)アドレスを識別することができる。ファイル・サーバ・タイプ列532には、ユーザが追加したサーバのサーバ・タイプの一覧が表示される。これらのパラメータに変更を加えるには、「EDIT(編集)」ボタン534をアクティブにし、サーバを削除するには、「REMOVE(削除)」ボタン536を使用する。
【0242】
ユーザは、自分のサーバをセットアップした後、図35のWebページ540で示されているように、「NEXT(次へ)>」ボタン538をアクティブにし、セットアップ・プロセスをお気に入りのプリンタ・セットアップ・オペレーション506に進める。このときに、ユーザに対しプリンタ(つまり、出力デバイス)を選択する2つのオプションが表示される。「SELECT(選択)」ボタン542をアクティブにすると、ユーザはあらかじめ構成されている印刷リストの中でプリンタをサーチすることができ、「SEARCH(サーチ)」ボタン544をアクティブにすると、ユーザは1つまたは複数の入力パラメータを介してプリンタをサーチすることができる。一般に、あらかじめ構成されている印刷リストは、管理者のみが利用できる別の管理用Webページ群を介してユーザが勤める会社または企業に関して管理者によって構成される。ユーザに対し、プリンタのリストが表示され、ユーザはそのリストの中から「お気に入り」プリンタとして1つまたは複数のプリンタを選択することができる。
【0243】
「SEARCH」ボタン544をアクティブにすると、Webページ546がユーザに提供される。このWebページには、ユーザがサーチ情報の入力のため選択できる複数の編集ボックスが用意されており、「市別」編集ボックス458、「州別」編集ボックス550、「郵便番号別」編集ボックス552、「事業別」編集ボックス554、「プリンタ・ニックネーム別」編集ボックス556、「プリンタ製造別」編集ボックス558、「プリンタ機種別」編集ボックス560などがある。「SEARCH NOW(今すぐサーチ)」ボタン562をアクティブにするとそれに対する応答として、システムは、ユーザが使用することができ、かつユーザのサーチ条件を満たしている登録されているプリンタを識別することを試みる。例えば、3台のプリンタの例示的セットでは、サーチ条件に対する応答として「州別」編集ボックス550に入力したワシントンという値が返される。その後、返されるリストに載っているプリンタを選択し、リスト内の各行に対応するチェックボックス564をチェックすることによりユーザのプリンタ・リストに追加することができる。次に、ユーザは、「FINISHED(終了)」ボタン566をアクティブにして、選択したプリンタを保存し、Webページ540(A)にユーザを戻す。このときに、Webページに、お気に入りプリンタ・リスト568内のすでに選択されているプリンタが表示される。ユーザは、必要ならば、アクティブ化ボタン570を使用してリストからプリンタを削除することができる。
【0244】
ユーザは、自分のお気に入りリストにプリンタを追加した後、「NEXT>」ボタン572をアクティブにし、セットアップ・プロセスをファックス・セットアップ・オペレーション508に進める。これにより、ユーザは一連のファックス・セットアップWebページ(図に示されていない)に進む。これらのページを使用することで、ユーザはデフォルトの送信ファックスを選択し、ファクシミリの表紙を構成することができる。その後、ユーザは、一組の連絡先リスト・セットアップ・ページ(図に示されていない)を使用して、連絡先リスト・セットアップ・オペレーション510の実行時に連絡先情報を選択して追加することができる。連絡先情報を使用すると、ユーザは比較的簡単に、ドキュメントおよびファックスを連絡先リストに載っている人々に送信することができる。
【0245】
WAP UIの例
上述のように、一実施形態では、無線Web対応デバイスを使用してWAPゲートウェイ110(図20)を介してシステムにアクセスすることができる。WAPインターフェイスは、WMLで符号化され、含まれるデータが著しく少ないという点を除き、HTMLベースのWebページとだいたい似ている「一組のカード」を備える。さらに、WAPカードは、最小限のユーザ・インターフェイスでナビゲートできるように設計されている。図38の凡例を参照すると、WAPベースのユーザ・インターフェイス例に対応するさまざまなWAPカードおよびオペレーションの詳細が図39〜52に示されている。一実施形態では、一組のCGIスクリプトを使用して、WAPカードを自動的に生成する。
【0246】
図39、40を参照すると、ユーザは以下のようにしてWAP対応デバイスでシステムにアクセスする。まず、ユーザは自分の無線インターネット・ゲートウェイに上述の方法でアクセスする。その後、ユーザは、直接または記憶されているリンク(つまり、お気に入りリンクなど)を通じて、システムのURLを入力する。WAPカード1に対応するスプラッシュ画面600がユーザに対し表示される。ログインの最初の部分で、システムは無線デバイスを識別し(例えば、セルラー番号またはその他の一意的な識別子を使用して)、データベース・クエリ601を介してメッセージ・センター・データベース228内の加入者テーブルを使用してデバイスに対応する情報を検索しようとする。デバイスが認識されていれば、ユーザはすでにデバイスをシステムに登録済みである。したがって、ユーザに対し、WAPカード2に対応するログイン画面602が表示される。加入者テーブルにすでに入力されている情報に基づいてユーザのファーストネーム(またはその他の識別子)が画面に表示され、ユーザは自分のPINを入力するよう求められる。入力したPINが格納されているPINと一致すると、ユーザはシステムにログインする。一致しない場合、ユーザに対し、PINの再入力を要求する画面604が表示される。PINの入力が再び失敗した場合、ユーザに対し、電子メールでPINをユーザ宛てに送信するのを望むかどうかを尋ねる画面606が表示される。
【0247】
ユーザの無線デバイスがシステムにとって新しいものであれば、データベース・クエリ601の結果はNullであり、ロジックは初期入力画面606に進み、そこでユーザがユーザ名とPINを入力する。入力したPINが無効であれば、新しいPINを入力することを求める画面610がデバイスに表示される。PINが正常に入力できると、確認画面612がユーザに表示される。図40を参照すると、ユーザ名とPINが入力されると、ユーザの電子メール・アドレスを検索するためデータベース・クエリ613は加入者テーブルで構成される。ユーザが新規ユーザであるか、または電子メール・アドレスが見つからない場合、ユーザは、画面614を介して電子メール・アドレスを入力するよう要求される。既存のユーザ電子メール・アドレスが見つかった場合、新規デバイスの加入者テーブルのエントリはデータベース・クエリ616を介して更新される。それとは別に、新規ユーザ名、PIN、電子メール・アドレスが入力されると、データベース・クエリ618を介して新規加入者レコードが加入者テーブルに挿入される。
【0248】
ユーザの確認が行われた後、データベース・クエリ622を使用して、すでに構成済みのネットワーク・サイトがユーザにあるかどうかを判別する。ユーザがすでにネットワーク・サイトを構成済みであれば、図41に詳細が示されているように、ロジックはCGIスクリプト3の実行に進み、そうでなければ、ロジックは図43に示されているナビゲーション位置5にジャンプする。
【0249】
図41を参照すると、CGIスクリプト3の実行に対する応答として、サイト選択画面624がユーザに対し表示され、ユーザはこれにより、ユーザが印刷することを望んでいるドキュメントに対応するソース・データが置かれているネットワーク・サイトを選択することができる。必要ならば、ユーザは新しいネットワーク・サイトの設定を選択することもでき、この場合、ロジックはナビゲーション位置5にジャンプする。
【0250】
ネットワーク・サイトが選択されると、CGIスクリプト4の実行が開始し、図42に示されているネットワーク・ナビゲーション画面626、628、630が生成される。これらの画面を使用することで、ユーザはネットワーク・サイトをナビゲートし、ユーザが印刷を望んでいるドキュメント・ファイルを閲覧することができる。ユーザがドキュメントを選択した後、CGIスクリプト3を使用して、ネットワーク・サイト名とドキュメント・ファイル名が表示される画面632を生成する。さらに、この画面で、ユーザは印刷、ファックス、電子メール・オプション634を介してユーザが望む出力の種類を選択することができる。
【0251】
図43を参照すると、ナビゲーション位置5にジャンプした後、ユーザに対してセットアップ画面636が表示される。この画面を使用して、ユーザは、ネットワーク・サイトやプリンタを含む、さまざまなお気に入りをセットアップし、ファックスや電子メールの情報を決めることができる。ネットワーク・サイト・オプションを選択すると、ユーザはファイル・サーバ追加画面638に進み、そこで、ユーザはWebページ500を介して新規ネットワーク・サイトを追加することに関して上で説明したのと同様の方法でURLまたはIPアドレス、ユーザ名とパスワードを供給することにより新規ネットワーク・サイトを追加することができる。前のように、ユーザ名とパスワードは、追加される特定のネットワークに関係する。ネットワーク・サイトへの追加を選択した後、ユーザに対して、確認画面640が表示される。ユーザは「OK」オプションを使ってネットワーク・サイトを追加することを選択した後、図44に示されているように、データベース・クエリ642を介して、CGIスクリプト9が実行され、入力されたデータはネットワーク・サイト・テーブルに格納され、そこで、サーバが追加されたことを確認する画面644がユーザのデバイス上に描画される。
【0252】
画面636のファックス・オプションの選択に対する応答として、ユーザに対して、ファックス追加画面646が表示され、ユーザは名前とファックス番号を指定することにより新規ファックスを入力することができる。ユーザがファックス・データ追加を選択した後、確認画面647が表示され、OKオプションを選択した後、CGIスクリプト11が実行され、図46に示されているように、データベース・クエリ648を介してファックス/電子メール・テーブル(FET)に新規レコードを挿入する。その後、ファックス・データが追加されたことを確認する画面650がユーザに対して表示される。
【0253】
同様に、画面636から電子メール・オプションを選択したことに対する応答として、電子メール追加画面652がユーザに対し表示され、そこで、ユーザは電子メール名(つまり、エイリアス)と電子メール・アドレスを入力し、さらに、新しい電子メール情報を追加することを選択すると、確認画面653が表示される。OKオプションで受け入れた後、CGIスクリプト12が実行され、図47に示されているように、データベース・クエリ654を介してFETテーブルに新規レコードが挿入される。その後、電子メール・データが追加されたことを確認する画面656がユーザに対して表示される。
【0254】
図45に示されているように、画面636のプリンタ・オプションを選択したことに対する応答として、プリンタ追加画面658がユーザに対して表示され、そこで、ユーザはWebページ540、546を参照して上で説明したのと同様のサーチ条件により追加するプリンタを選択することができる。ユーザが返された選択リストからプリンタを追加することを選択した後、確認画面660が表示され、OKオプションを選択した後、データベース・クエリ662を介してプリンタ・テーブルに新規レコードが挿入される。その後、新規プリンタが追加されたことを確認する画面664がユーザに対して表示される。
【0255】
図41の画面632に戻ると、ドキュメント・ファイルを選択した後、選択したプリンタにドキュメントを印刷するか、またはドキュメントを選択したファックス装置にファックス送信するか(装置のファックス番号で)、または印刷、FAX、電子メール・オプション634を使用して電子メールでドキュメントを選択した電子メール受信者に送信することができる。印刷オプションをアクティブにすると、CGIスクリプト13が起動され、図48に示されているプリンタ選択画面666が生成される。この画面で、ユーザはユーザのお気に入りプリンタ・リストにすでに追加されている複数のプリンタのうちからプリンタを1つ選択することができる。リスト内のプリンタを選択した後、印刷するドキュメントおよび選択したプリンタを識別する構成画面668がユーザに対して表示される。OKオプションをアクティブにすると、図52に示されているように、CGIスクリプト16が実行される。印刷要求に従って、データベース・クエリ670を介して対応する印刷ジョブが印刷キュー・テーブルに入れられ、ジョブ・キュー確認画面672がユーザに対して表示される。印刷ジョブは、キューに入れられた後、メッセージ・センター、RDC、印刷サービスの適切な組合せにより処理され、上述のようにして、選択したプリンタにドキュメントが印刷される。
【0256】
画面632のFAXオプションをアクティブにすると、CGIスクリプト14が起動され、図49に示されているFAX選択画面674が生成される。この画面で、ユーザはユーザのお気に入りファックス・リストにすでに追加されている複数のファックスのうちからファックスを1つ選択するか、またはファックス・リストにまだセットアップされていないファックス装置の番号を入力することができる。ユーザは、後者の番号を入力することを選択した場合、画面676が表示されるので、そこに番号を入力することができる。画面676のOKオプションを選択するか、または画面674のあらかじめ構成されているファックスを選択すると、確認画面676が描画される。OKオプションを選択すると、CGIスクリプト16が実行され、そこでこの場合には、データベース・クエリ678を介してファックス・ジョブ情報がファックス/電子メール・キュー・テーブルに挿入される。ファックス・ジョブは、キューに置かれた後、適切なメッセージ・センターにより処理され、これにより、印刷サービスがドキュメントを印刷用に処理するのといくぶん似た方法でドキュメントに対応するファックス・データが生成され、ファックス番号に基づいて出力先のファックス装置に送信される。
【0257】
電子メール要求の処理は、ファックス要求に似た方法で進行する。このプロセスは、図50に示されているように、画面632の電子メール・オプションをアクティブにすることにより開始し、CGIスクリプト15が起動される。このCGIスクリプトは最初に、電子メール選択画面682を生成し、そこで、ユーザが電子メール・アドレスを選択して、ドキュメントをユーザのお気に入り電子メール受信者の構成済みリスト宛てに送信するか、またはまだ構成されていない誰かの新規電子メール・アドレスを入力することができる。ユーザは、リストにない電子メール・アドレスを手動で入力することを選択した場合、画面684が表示されるので、そこにアドレスを入力することができる。画面684のOKオプションを選択するか、または画面682のあらかじめ構成されている電子メール受信者を選択すると、確認画面686が描画される。OKオプションを選択すると、CGIスクリプト16が実行され、そこでこの場合には、データベース・クエリ678を介して電子メール・ジョブ情報がファックス/電子メール・キュー・テーブルに挿入される。電子メール・ジョブは、キューに入れられた後、適切なメッセージ・センターにより処理され、選択したドキュメント・ファイルが添付された電子メール・メッセージが生成され、受信者の電子メール・アドレスまたは画面684から入力した電子メール・アドレス宛てに送信される。オプションにより、ドキュメントの内容を電子メールの本文に含めることもできる。電子メール生成の詳細については、2002年3月21日に出願された「METHOD AND SYSTEM TO PRINT VIA E−MAIL」という表題の米国同時係属特許出願第xxxxx号明細書に説明されており、その明細書および図面はすべて、参照により本明細書に組み込まれている。
【0258】
図39の画面606に戻ると、ユーザが電子メールで自分のPINを送信してもらうという要求に対する応答として、システムはメッセージ・センター・データベース228からそのユーザのPINを検索して、ユーザを名前で識別しPINを含む電子メールを自動的に生成し、ユーザのすでに登録してある電子メール・アドレス宛てでユーザに電子メールを送り返す。その後、図52に示されているように、CGIスクリプト17が実行される。電子メール・メッセージが正常に送信された場合、そのようなものを識別する画面688が描画される。電子メール・アドレスの送信でエラーが発生した場合、画面690に対応するエラー・メッセージが描画される。
【0259】
ドキュメント・プレビュー・ナビゲーション
ジョブ要求のオプションの出力方法の1つにドキュメント・プレビューというのがある。表示能力は一般的に制限されているため(例えば、画面が小さい、アスペクト比が標準と違う、ピクセル解像度が低い)、ドキュメントを出力デバイスに描画するとどのように表示されるかを見るプレビューを生成することは重要なことである、というよりはやっかいな仕事である。さらに、プレビュー要求の所要応答時間は印刷要求に比べてかなり厳しい。出力管理システムは、2つの方向でこれらの難題に取り組んでいる。イメージ・ファイルでは、ディザリングしたサムネイルを作成し、アスペクト比を失うことなく縦の寸法と横の寸法に合うように最終出力サイズを調整する。非イメージ・ファイルについては、ページ間の関係を失うことなくファイルをプレーン・テキスト形式に変換し、各ページを一連のカードに分け、それらのカードを参照によりリンクしてまとめ、ページ・ナビゲーションを縦方向および横方向に行えるようにする。
【0260】
図53の表示700は、この変換がどのように行われるかを説明している。このプロセスはオリジナルのイメージ702から始まる。1段目では、パーム・デバイス706の表示能力に基づいてサムネイル704が出力され、2段目では、セルラー710が備える画面のかなり低い解像度に対応してそれよりも小さいサムネイル708が出力されている。アスペクト比を保持するためセルラーのサムネイルは画面全体を覆わないことに注意されたい。
【0261】
図54の表示712は、テキスト・ドキュメントの表示変換プロセスを説明している。上述のように、出力ドキュメントのテキスト・ページは、テキストの流れに基づいてWAPカードに分けられる。例えば、ページの先頭256バイトは、第1のカード(ラベル「1」)に変換され、次の256バイトは第2のカードに変換されるというように続く。オリジナルのテキスト・ページ内のイメージは、それぞれ、イメージ・リンク714とプレビュー・イメージ716により示されているように、カード内ではイメージ・リンクで置き換えられ、オリジナルの文脈におけるその配置を示す。ユーザは、これらのリンクを使用して、前述のイメージ表示変換メカニズムに基づき生成されたイメージをプレビューすることができる。このレイアウトを使用して、ページ・ナビゲーションを上方向と下方向に行うことができるだけでなく、別のページにもナビゲートすることができる。ページ関係は保持されるため、ユーザはランダム・アクセスでそれらのページをプレビューすることもできる。
【0262】
逐次的なテキスト・ドキュメントに加えて、システムでは、図55の表示718に示されているように、スプレッドシート型のドキュメントについてもプレビューすることができる。通常の(つまり、逐次的テキストの)ドキュメントとスプレッドシートのプレビューの違いは、スプレッドシートのプレビューでは物理的レイアウトを保持する必要があるという点である。したがって、スプレッドシートのプレビューは、縦方向と横方向の両寸法内で作成する必要がある。図55の例は、それぞれ他のページにナビゲートするために2つまたはそれ以上のリンク(該当する場合)を含む、2つの9カード・プレビュー・ページに変換される2ページ・スプレッドシート・ドキュメントに対応している。例えば、第1のカード720は、カード724への「右」リンク722とカード728への「下」リンク726を含む。ページ間をナビゲートするためのリンクも備える。ページ関係は保持されるため、ユーザはランダム・アクセスでそれらのページをプレビューすることもできる。
【0263】
インスタント・メッセージングの統合
インスタント・メッセージング技術が急速に広まり、一般に受け入れられるようになったことで、インスタント・メッセージングはユーザ同士を接続する巨大なシステムになった。インスタント・メッセージングを使用すると、ユーザは、友人や家族とテキスト・メッセージの交換、チャット、イメージまたは音声による挨拶を現実に近い形で単純な方法により送信することができる。しかし、もともとテキスト交換用に設計されたものであるため、一般的に情報またはリソースの共有が認められていなかった。したがって、不足を補うため出力管理システムが介入することがある。
【0264】
このシステムを使用すると、インスタント・メッセージング・ユーザは自分たちのリソースを仲間と共有することができる。リソースは、デバイスがネットワーク上で共有されている限り、その種類、接続性(内部または外部、ネットワークまたはローカル)、または実行プラットフォームに制限されない。リソースには、ファイル、フロッピー(登録商標)やコンパクト・ディスクのドライブ、ネットワーク・ファイル・システムがある(つまり、共演ファイル・ディレクトリなど)。ユーザがその共有リソースは使用可能であるとアナウンスすると、それらのソースは仲間たちから見えるようになる。仲間たちは、ボタンを押して他の人のローカル・ディレクトリからファイルをダウンロードし、ファイルを他の人のフロッピーまたはコンパクト・ディスクにドラッグ&ドロップし、ドライブ・リンクをクリックすることにより他の人のローカル・ドライブ・ディレクトリを表示し、すべてインスタント・メッセージング・オペレーション・ドメイン内に1回だけ出力管理システムを配備すること以外システム管理の著しい繰り返し作業を必要とせず、リモート・デスクトップ・クライアントが有効になっているインスタント・メッセージング・ツールをユーザに実行してもらうだけである。
【0265】
インスタント・メッセージング・ドメイン内でリソースを共有を実行するには、インスタント・メッセージング・クライアントはリモート・デスクトップ・クライアント機能を備える必要がある。リモート・デスクトップ・クライアントを使用すると、クライアント・マシンはメッセージ・センターに登録することにより共有リソースをアナウンスすることができる。登録が完了すると、クライアント・マシンはリソースを共有要求を送受信することができる。パフォーマンスを高めるために、インスタント・メッセージング・オペレータはルート・メッセージ・センターに依存する代わりにそのクライアントを管理する専用のメッセージ・センターをインストールするのが好ましい。
【0266】
インスタント・メッセンジャの組み込み実装例を説明する表示729が図56に示されている。この例では、2つのパブリック・メッセージ・センターMC1、MC2は、それぞれ組み込まれた印刷サービスを備え、インスタント・メッセージング(IM)オペレーティング・ネットワーク730内に配置されている。これらのメッセージ・センターは、ゾーン0のルート・メッセージ・センターMC0に登録される。各インスタント・メッセージング・クライアント732のユーザは、同じホスト上のリモート・デスクトップ・クライアントを実行し、IMオペレータ・ネットワーク730内のメッセージ・センターの1つに登録される。この構成において、インスタント・メッセージング・クライアントのユーザすべてが、ルート・メッセージ・センターに問い合わせをすることなく互いの共有リソースにアクセスすることができる。必要ならば、IMネットワーク・オペレータは、さらに多くのメッセージ・センターをインストールし、システムを拡張してパフォーマンスを高めることもできる。
【0267】
説明されているシステムは、デバイス共有のMicrosoft Windowsの新しいアーキテクチャを利用している。例えばプリンタ・ドライバを使用する場合、Windows共有プリンタのデバイス・ドライバは、要求があったときに、リモート・デスクトップ・クライアントを通じて他のホストに配信することができる。プリンタ・ドライバをダウンロードし、インストールした後、ユーザは、他の人のプリンタを共有ネットワーク・デバイスとしてアクセスすることができる。このため、Windowsにおけるデバイス共有という概念はさらに広い範囲にまで拡大される。この構成におけるネットワークは、LANの代わりに、インスタント・メッセージング・ネットワーク全体に拡張される。インスタント・メッセージング・ユーザは、その後、リモート・デスクトップ・クライアントがすべての作業を行っていながら、同じLANに接続されているかのようにドキュメントを他のそれぞれの共有デバイスに出力することができる。
【0268】
マルチメディア・メッセージング・サービスの統合
つい最近まで、一般に無線デバイスはネットワーク帯域幅が狭く、処理能力が不足していたため、無線コンピューティングはまだテキスト型アプリケーションに限られていた。最近になって、一部キャリアが、WAPアプリケーションなどの広範なサービス群のサポートを導入した。最初の反響はたいしたことなかったが、ほとんどの無線キャリアは、ユーザが経験したくなるようなサービスを提供するようになるであろうと考えられていた。このためには、より高いネットワーク帯域幅、能力のより高いハードウェア、よりパワフルなデバイスが必要になる。キャリア、インフラを提供するプロバイダ、デバイス・メーカーが払った努力のおかげで、「3G」(第三世代)無線通信の時代が到来した。
【0269】
多くのモバイル・デバイス・メーカーが、ビデオ・クリップ、MP3、スライド・ショー、ビデオ会議などの3Gサービス開発への取り組に着手した。これらは、一般的なカテゴリーのマルチメディア無線ソリューションに分類される。本システムのアーキテクチャは、マルチメディア出力管理用の共通プラットフォームを提供することにより、このようなマルチメディアやモバイル・コンピューティング環境を補完するものである。業界大手の1社であるNokiaによって開発中のMultimedia Messaging Service(MMS)と呼ばれるマルチメディア統合システムに対応する表示734が、図57に示されている。
【0270】
この例では、インバウンド・ゲートウェイ736とアウトバウンド・ゲートウェイ738は、両方ともMMSCと出力管理ネットワーク740内のメッセージ・センターMC1に接続されるように配備されている。インバウンド・ゲートウェイは、MMS対応デバイス742からモバイル発信MMS要求を受信し、それらの要求を変換して、メッセージ・センターMC1に送り、さらに処理する。典型的な要求としては、ムービー・クリップを共有ファイル・サーバに保存すること、ピクチャー・イメージをカラー・レーザー・プリンタに出力すること、またはMP3オーディオ・メッセージを前述の出力管理システム駆動インスタント・メッセージング・クライアントに中継することなどがある。アウトバウンドMMSゲートウェイは、出力管理クライアントからMMSデバイスに宛てた一般的な要求を受け取る。これは、要求を変換して、MMS形式に適合するようにして、配信のためマルチメディア・メッセージング・サービス・センター(MMSC)744に送信する。システムは、MMSオペレーション・ネットワーク746内のオプションのルート・メッセージ・センターを使用して、MMS対応メッセージ・センターとクライアントの間の効率的なリソース共有をサポートすることができる。一実施形態では、インバウンド・ゲートウェイとアウトバウンド・ゲートウェイを同じ場所に配置することで(つまり、同じ機器をホストとし)、ハードウェア・コストを最小限に抑えることができる。このアーキテクチャでは、出力管理システムをつなぎとして使用し非MMSクライアントへのMMSサービスを活用する。マルチメディア・メッセージング・サービス統合という一般的な概念は、インバウンド・ゲートウェイの着信インターフェイスとアウトバウンド・ゲートウェイの送出インターフェイスを修正するだけでどのような種類のマルチメディア・サービスにも適用することができる。出力管理システムの残りの部分は変更されない。
【0271】
セキュアCGI/VPIプロキシを使用したファイヤウォールの背後でのドキュメント・アクセス/印刷
上述のように、このシステムを使用すると、ユーザは、ファイヤウォールの背後にあるプライベート・ネットワーク上に置かれているドキュメントや出力デバイスを含むリソースにアクセスすることができる。以前のアーキテクチャでは、この機能は、ファイヤウォールを介したメッセージ・チャネル間の永続的通信チャネルを使用して実現していた。図58を参照すると、これを実行できる他の方法はCGI/VPNプロキシのユーザを経由している。図で説明されているが、DMZ 754内に配置されているCGI VPNプロキシ752を通じてパブリック・ネットワーク(例えば、インターネット60)からパブリック・ユーザの通信の経路が選択されるように、システムのさまざまなユーザ・インターフェイス750を構成することができる。その後、CGI VPNは、DMZ 754とプライベート・イントラネット760の間のセキュリティ保護を行うファイヤウォール758を通る安全なパススルーを備えるVPNスイッチ756を通じて通信の経路を選択する。次に、VPNスイッチは、インバウンド通信の経路をイントラネット760内に配置されているメッセージ・センターMC1に設定する。また、イントラネット内には、印刷サービスPS1、ファイル・ストアFS1、出力デバイスD1を含む、3つのプライベート・リソースも配置されている。
【0272】
説明されているアーキテクチャによれば、パブリック・ユーザはパブリック・アクセス可能なユーザ・インターフェイス(つまり、WebおよびWAP UI)とプライベート・ネットワーク内に配置されているメッセージ・センターとの間のVPNリンクを介してプライベート・リソースにアクセスすることが許されている。WebおよびWAP UIのセキュリティが、例えば、ユーザ認証やオプションの暗号化手法を使用して保護されている場合、認定されたユーザのみがVPNリンクにアクセスすることができ、したがって、ファイヤウォール756のセキュリティ機能が維持される。さらに、セキュアCGI/VPNプロキシを使用するので、プロキシを通じたプライベート・ネットワークへのハッキングは実質的になくなる。
【0273】
この実装により、システムの機能が拡張され、パブリック・アクセス可能なメッセージ・センターを用意する必要がなくなる。例えば、企業側で望んでいるのは、販売担当者が本社を離れているときに1つまたは複数のプライベート・エンタープライズ・ネットワークに保管されているドキュメントを検索して印刷できるようにすることである。CGI/VPNプロキシとプライベートMCとを組み合わせることにより、こうした販売担当者はプライベート・エンタープライズ・ネットワーク内のファイル・ストアにアクセスし、ファイル・ストアに格納されているドキュメントをプライベートMCに登録されている任意の出力デバイスに印刷することができる。
【0274】
VPNスイッチを通じてプライベートMCにアクセスする方法としてはほかに、J2ME(Java(登録商標) 2 Micro Edition)+VPN対応デバイス762を使用する方法がある。このようなデバイスは現在開発中であるが、近い将来すぐに利用できるようになると思われる。本質的に、J2ME+VPN対応デバイスは、図58に示されているように、VPNプロキシのユーザがいなくてもデバイスが直接VPNスイッチと通信できるようにするVPNクライアントを組み込んでいる。
【0275】
MCのないプライベート・ネットワーク上のリソースへの印刷
【0276】
図59A、59Bに示されているように、メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスに印刷できるようにシステムを構成することが可能である。例えば、図59Aに示されている構成764では、メッセージ・センターMC1はDMZ 754内に配置され、送信先のプリンタD1はファイヤウォール758によりDMZから分離されている適切なプライベート・イントラネット760内に配置されている。この構成では、プライベート・イントラネットとともに配置されているリモート・デスクトップ・クライアントRDC1とメッセージ・センターMC1との間の永続的接続764が設定されている。
【0277】
セットアップ・オペレーションの間、リモート・デスクトップ・クライアントRDC1はメッセージ・センターMC1との通信を初期化し、メッセージ・センターとの永続的通信766に対応する通信リンクを開く。その後、RDCはデータをメッセージ・センターMC1に送信し、そこに接続されている出力デバイスを識別する(この場合、出力デバイス(D1))。この情報は、メッセージ・センターMC1のRPRMデータベース242内に格納される。
【0278】
構成764に対応する印刷オペレーション例は以下のように進行する。最初に、セルラー768などの発信元デバイスのユーザがUI 750を介してメッセージ・センターMC1に接続する。ユーザは、UIを介して、印刷対象の、例えば、DMZ 754に配置されているファイル・ストアFS1上に格納されているリモート・ソース・ドキュメントを選択する。オプションにより、他のMCの構成および他のファイル・ストアの場所に応じて、ドキュメントを他のDMZまたはプライベート・ネットワーク(図に示されていない)から検索することができる。もちろん、ユーザは発信元デバイスに格納されているローカル・ソース・ドキュメントを選択し印刷することもできる。
【0279】
ドキュメントを選択した後、ユーザは出力デバイスを選択することになるが、この場合は、出力デバイスD1が選択されている。印刷要求の確認の後、印刷サービスPSによりファイル・ストアからソース・ドキュメントが検索されるか、またはドキュメントがローカル・リソースであった場合には印刷サービスに送信される。MCは、さらに、選択した出力デバイスのデバイスの能力を識別する情報をPSに送信する。次に、印刷サービスは、ソース・ドキュメントと選択した出力デバイスに対応する出力イメージ・データを生成し、その出力イメージ・データを出力イメージ・ファイルとしてリポジトリ(例えば、ファイル・ストアFS1内に置かれている)に格納する。その後、PSは、ジョブが完了したことを、出力イメージ・ファイルへの参照とともにメッセージ・センターMC1に通知する。次に、メッセージ・センターは出力イメージ・ファイルを検索し、永続的接続766を介してリモート・デスクトップ・クライアントRDC1に転送する。イメージ・データ・ファイルを受信した後、RDCはそれを描画するため出力デバイスD1にサブミットする。完了後、RDCは永続的接続766を介してメッセージ・センターMC1に通知を送り、その後、MCはUI 750を更新して、印刷ジョブが完了していることをユーザに通知する。
【0280】
同じ最終的結果が得られる他の構成770を図59Bに示す。この例では、すべてのコンポーネントは、VPNスイッチ756とVCNクライアント722、774が追加されている点を除き図59Aと同じである。この例では、メッセージ・センターMC1とリモート・デスクトップ・クライアントRDC1はVPNチャンネル776を介して通信を行う。VPNチャンネルを使用することで、プライベート・イントラネット760のセキュリティ・レベルを高めることができる。
【0281】
前記の説明および付属の図面では、MS Windowsオペレーティング・システム・コンポーネントが備えるソフトウェアのオペレーションを実装する本発明の実施形態が開示されていた。本発明の原理および教示はUNIXベースのオペレーティング・システムやLINUXベースのオペレーティング・システムなどの他のオペレーティング・システムが使用される実装にも適用できるため、これは制限することを意味しない。例えば、さまざまなUNIXやLINUXのオペレーティング・システムは、上で説明したMS Windows印刷サポート・コンポーネント(例えば、Windows GDI、印刷スプーラ、プリンタ・ドライバなど)と似たオペレーションを実現するOSカーネル・コンポーネントによってサポートされているグラフィカル・ユーザ・インターフェイス、アプリケーションAPI、印刷機能を備える。
【0282】
サーバ・コンピュータ・システムの例
図60を参照すると、一般的に従来型であるコンピュータ・サーバ800が説明されているが、本発明を実践することと関連して使用するのに適しており、別のコンピュータがWebサーバ・オペレーションの実行に使用されるDPSサーバ・コンピュータおよびWebサーバ・コンピュータに使用することができる。これらの目的に適していると考えられるコンピュータ・システムの例として、Microsoft Windows、UNIXベース、LINUXベースのオペレーティング・システムが稼働するコンピュータ・サーバが挙げられる。
【0283】
コンピュータ・サーバ800は、一般的に、当業者であればよく知っているように、1つまたは複数のプロセッサ804やメモリ(例えば、DIMMまたはSIMM)を含む、適切な集積回路が配置されているマザーボード(図に示されていない)が搭載されているシャーシ802を備える。モニタ808は、コンピュータ・サーバによって実行されるソフトウェア・プログラムとプログラム・モジュールにより生成されたグラフィックスやテキストを表示するために備えている。マウス810(またはその他のポインティング・デバイス)は、シャーシ802の背面のシリアル・ポート(またはバス・ポートまたはUSBポート)に接続することができ、マウス810からの信号はマザーボードに伝達され、これにより、コンピュータで実行されるソフトウェア・プログラムやモジュールによりディスプレイ上のカーソルを制御し、モニタ808に表示されるテキスト、メニュー・オプション、グラフィック・コンポーネントを選択する。さらに、キーボード812は、ユーザがコンピュータ上で実行されるソフトウェア・プログラムの実行に影響を及ぼすテキストとコマンドを入力できるようにマザーボードに結合されている。コンピュータ・サーバ800は、さらに、サーバがネットワーク816を介してデータを送受信できるようにするネットワーク・インターフェイス・カード(NIC)814または同等の回路をマザーボード内に組み込んでいる。
【0284】
本発明に対応するファイル・システムのストレージは、シャーシ802内部に収納されている複数のハード・ディスク818および/またはマザーボードに組み込まれているSCSIカード822または同等のSCSI回路を介してアクセスできる外部ディスク・アレイ820内に収納されている複数のハード・ディスクを介して実装することができる。オプションにより、ディスク・アレイ820は、適切なFibre Channelインターフェイス・カード(図に示されていない)または組み込み回路を使用してFibre Channelリンクを使用してアクセスすることができる。
【0285】
コンピュータ・サーバ800は一般にコンパクト・ディスク読み取り専用メモリ(CD−ROM)ドライブ824を備えることができ、このドライブにCD−ROMを挿入し、ディスク上の実行可能ファイルおよびデータを読み込んで、メモリ806および/またはハードディスク818上のストレージに転送できるすることができる。同様に、フロッピー・ドライブ826をそのような目的のために備えることができる。光記録媒体またはDVDドライブなどの他の大容量メモリ・ストレージ・デバイスも備えることができる。上で説明した本発明のオペレーションをプロセッサ804に実行させるソフトウェア・プログラム、コンポーネント、モジュールを含む機械語命令は、通常、フロッピー・ディスク828またはCD−ROM 830(またはその他のメモリ媒体)で配布するか、または1つまたは複数のハード・ディスク818上に格納しておき、プロセッサ804によって実行するときにメモリ806にロードする。オプションにより、ネットワーク816を介して機械語命令を搬送波ファイルとしてロードすることもできる。上で述べたように、本発明の実施形態は、処理コア(コンピュータのCPUなど)の何らかの形で実行されるか、または他の何らかの方法により機械可読媒体上でまたは機械可読媒体内に実装または実現されるソフトウェア・プログラムとして使用するか、またはそのソフトウェア・プログラムをサポートするために使用できる。機械可読媒体は、機械(例えば、コンピュータ)で読める形式で情報を格納または送信するためのメカニズムを備える。例えば、機械可読媒体は、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶装置、フラッシュ・メモリ・デバイスなどを含むことができる。さらに、機械可読媒体は、電気的、光学的、音響、またはその他の形式の伝搬信号など伝搬する信号(例えば、搬送波、赤外線信号、デジタル信号など)を含むことができる。
【0286】
したがって、本発明の実施形態は、処理コア(コンピュータのCPUなど)の何らかの形で実行されるか、または他の何らかの方法により機械可読媒体上でまたは機械可読媒体内に実装または実現されるソフトウェア・プログラムとして使用するか、またはそのソフトウェア・プログラムをサポートするために使用できる。機械可読媒体は、機械(例えば、コンピュータ)で読める形式で情報を格納または送信するためのメカニズムを備える。例えば、機械可読媒体は、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶装置、フラッシュ・メモリ・デバイスなどを含むことができる。さらに、機械可読媒体は、電気的、光学的、音響、またはその他の形式の伝搬信号など伝搬する信号(例えば、搬送波、赤外線信号、デジタル信号など)を含むことができる。
【0287】
要約書の内容を含む、本発明の図の実施形態の上の説明は、網羅的であることを意図していないし、また本発明を開示している正確な形式に制限する意図もない。本発明の特定の実施形態およびその例は、本明細書では説明を目的とするものであるが、本発明の範囲内では、当業者であれば理解するように、さまざまな同等の修正が可能である。
【0288】
上述の説明に照らして、これらの修正を本発明に加えることができる。請求項で使用している用語は、本発明を明細書および請求項で開示されている特定の実施形態に制限するものと解釈すべきではない。むしろ、本発明の範囲は、請求項の解釈の確立されている原則にしたがって解釈されるべき請求項により完全に決定される。
【図面の簡単な説明】
【0289】
【図1】メッセージ・センター(MC)により実行されるさまざまなタスクを例示するブロック概略図である。
【図2】印刷サービス(PS)により実行されるさまざまなタスクを例示するブロック概略図である。
【図3】リモート・デスクトップ・クライアント(RDC)により実行されるさまざまなタスクを例示するブロック概略図である。
【図4】無線データ・アクセス・ポイント(WDAP)により実行されるさまざまなタスクを例示するブロック概略図である。
【図5】単純な出力管理システム実装例を例示する概略図である。
【図6】より複雑な出力管理システム実装例を例示する概略図である。
【図7】ルート・メッセージ・センターとプライベート・ネットワークに接続されているメッセージ・センターとの間の情報のやり取りを示す概略図である。
【図8】ピア・ツー・ピア方式のメッセージ・センター接続を確立するために使用するセットアップ・オペレーションを例示する概略図である。
【図9】RDCクライアント登録要求に従ってRDCとメッセージ・センターとの間の情報のやり取りを例示する流れ図である。
【図10】RDCプリンタ登録要求に対応する流れ図である。
【図11】RDCがデバイス・リソース定義をメッセージ・センターにサブミットすることに対応する流れ図である。
【図12】ホーム・メッセージ・センターを経由してルート・メッセージ・センターに送られるパブリック・デバイス・クエリの流れ図である。
【図13】ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される参照による印刷(PBR)ジョブ要求に対応する流れ図である。
【図14】図13のPBRジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図15】ホーム・ドメイン内のユーザによりホーム・ドメイン内の印刷サービスに直接接続されている出力デバイスに発行される非PBRジョブ要求に対応する流れ図である。
【図16】ホーム・ドメイン内のユーザによりホーム・ドメイン内のリモート・デスクトップ・クライアントに接続されているローカル・プリンタにサブミットされるPBRジョブ要求に対応する流れ図である。
【図17】図16のPBRジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図18】ホーム・ドメイン(例えば、ゾーン1)内のユーザによりサブミットされ、ルート・メッセージ・センターのパブリック出力デバイス(D1)上で印刷されるPBRジョブ要求に対応する流れ図である。
【図19】図18のPBRジョブ要求に対応するコンポーネントの情報のやり取りを示す図である。
【図20】システム内のメッセージ・センターと情報をやり取りするための3つの主要アクセス・メカニズムを例示する概略図である。
【図21】WDAPを介してユーザがジョブ要求をサブミットしたときに動的なデフォルト・プリンタを決定するために使用されるオペレーションを例示する概略図である。
【図22】Bluetooth対応発信元デバイスのユーザがBluetoothデバイス・エミュレータを含むWDAPを介してジョブ要求をサブミットしたときに動的なデフォルト・プリンタを決定するために使用されるオペレーションを例示する概略図である。
【図23】出力管理システムの通常の実装で発生しうるさまざまな接続経路および接続の種類を表すシステム接続トポロジの概要図である。
【図24】ゾーン内・メッセージ・センターおよびパブリックRDCを介して処理されるジョブ要求の処理時に実行されるオペレーションを例示する流れ図である
【図25】本発明の一実施形態による4層アーキテクチャに対応する概略ブロック図である。
【図26】さまざまなソフトウェア・モジュールおよびメッセージ・センターが備えるオペレーションを実装するために使用される対応するデータベース・スキーマを例示するブロック概略図である。
【図27】印刷サービスにより実装されるさまざまなソフトウェア・コンポーネントを例示するブロック概略図である。
【図28】印刷サービスにより使用されるさまざまなCGIスクリプトを例示するブロック概略図である。
【図29】ドライバ・プリント・サーバにより実装されるさまざまなソフトウェア・コンポーネントを例示するブロック概略図である。
【図30】印刷サービスにサブミットされる印刷要求に対応する代表的なデータ・フロー・プロセスを例示する概略図である。
【図31】印刷サービスのドライバレス・プリント・サーバ・ソフトウェアによって実現される他のオペレーションおよびロジックを例示する概略図と流れ図を組み合わせた図である。
【図32】印刷ジョブを処理するときに起動されるさまざまなダイアログ・ボックスおよびメッセージ・ボックスを取り扱うためウィンドウ処理コンポーネントにより使用されるオペレーションおよびロジックを例示する流れ図および概略図である。
【図33】出力管理システムを介してファイル・サーバ・アクセスをセットアップするためにユーザが使用できるWebベースのユーザ・インターフェイス(UI)の図である。
【図34】複数のファイル・サーバをアクセスできるようにセットアップした後の図33のWebベースのUIの図である。
【図35】お気に入りのプリンタのリストをセットアップするためにユーザが使用できるWebベースのUIの図である。
【図36】システム管理者によってすでに構成済みのプリンタをサーチするためにユーザが使用できるWebベースのUIの図である。
【図37】複数のプリンタをお気に入りのプリンタのリストに追加した後の図35のWebベースのUIの図である。
【図38】図39〜52のWAPベースのユーザ・インターフェイスの詳細内容に対応する凡例である。
【図39】加入者ログイン・プロセスに対応するWAP UIの流れ図の第1の部分である。
【図40】図39のWAP UIの流れ図の第2の部分である。
【図41】CGIスクリプトsubOutputIndex.plに対応するWAP UIの流れ図である。
【図42】ネットワークのナビゲーションで出力するドキュメントの検索を行えるようにする一組のカードに対応するWAP UIの流れ図である。
【図43】ネットワーク・サイト、ファックス装置、電子メール・アドレスを追加することに対応するWAP UIの流れ図である。
【図44】ネットワーク・サイトをユーザのネットワーク・サイト・リストに追加したことをユーザに通知するために使用されるWAP UIである。
【図45】新規プリンタをお気に入りのプリンタのリストに追加することに対応するWAP UIの流れ図である。
【図46】ファックス装置をユーザのファックス・リストに追加したことをユーザに通知するために使用されるWAP UIである。
【図47】電子メール名をユーザの連絡先リストに追加したことをユーザに通知するために使用されるWAP UIである。
【図48】選択したドキュメントおよび出力デバイスの確認に対応するWAP UIの流れ図である。
【図49】新規ファックスをユーザのお気に入りのファックスのリストに追加することに対応するWAP UIの流れ図である。
【図50】新規電子メール連絡をユーザの連絡先リストに追加することに対応するWAP UIの流れ図である。
【図51】プリント・ジョブ、ファックス・ジョブ、電子メール・ジョブを対応するジョブ・キューに挿入することに対応するWAP UIの流れ図である。
【図52】ユーザの送信要求に対する応答としてPINが電子メールを介してユーザに正しく送信されたかどうかを示すWAP UIの流れ図である。
【図53】低解像度画面を使用するデバイス上でドキュメントのプレビューを行うために元のドキュメント・イメージをさまざまなサイズのサムネイルに変換する方法を例示する図である。
【図54】テキスト・ベースのドキュメントの部分部分を閲覧し、選択した出力デバイスに出力したときのドキュメントの表示のされ方をプレビューする方法を示している概略図である。
【図55】表計算ソフトのドキュメントの部分部分を閲覧し、選択した出力デバイスに出力したときのドキュメントの表示のされ方をプレビューする方法を示している概略図である。
【図56】出力管理システムのアーキテクチャの原理を拡張して、インスタント・メッセージング・サービス経由のリソース共有をサポートする方法を例示する概略図である。
【図57】マルチメディア・メッセージング対応デバイスを介してシステムを使用する方法を例示する概略図である。
【図58】システムによって使用されるリソースを含むプライベート・ネットワークのセキュリティを強化するためにCGI VPNプロキシをどのように実装するかを例示する概略図である。
【図59A】メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスへのアクセスを可能にする第1の構成を例示する概略図である。
【図59B】メッセージ・センターを含まないプライベート・ネットワーク上に配置されている出力デバイスへのアクセスを可能にする第2の構成を例示する概略図である。
【図60】メッセージ・センターおよび印刷サービスを含む、システムのさまざまなコンポーネントのホストとして使用されるコンピュータ・サーバ例の概略図である。
Claims (72)
- 無線デバイスを介して印刷する方法であって、
ユーザ・インターフェイス(UI)が無線デバイス上に描画される描画可能なデータを無線デバイスに供給することと、
ユーザがUIを介して印刷するソース・データを選択できるようにすることと、
ユーザが出力デバイスを選択するか、またはUIを介してソース・データを印刷する印刷先のデフォルト出力デバイスを使用できるようにすることと、
ソース・データを印刷サービスを介して受信することと、
印刷サービスを介してソース・データおよび選択された出力デバイスまたはデフォルト出力デバイスの1つに対応する出力イメージ・データを描画することと、
出力イメージ・データを出力デバイスにサブミットして、印刷することを含む方法。 - 無線デバイスは無線Web対応デバイスを含む請求項1に記載の方法。
- 無線Web対応デバイスは、無線アプリケーション・プロトコル(WAP)対応デバイスを含み、描画可能データは無線マークアップ言語(WML)データを含む請求項2に記載の方法。
- 無線デバイスはIEEE 802.11対応デバイスを含む請求項1に記載の方法。
- 無線デバイスはBluetooth対応デバイスを含む請求項1に記載の方法。
- ソース・データは無線デバイスに格納される請求項1に記載の方法。
- ソース・データは、無線デバイスから遠い場所に配置されているリモート・ストアに格納される請求項1に記載の方法。
- ユーザ・インターフェイスを使用することで、ユーザはリモート・ストアにナビゲートし、ソース・データを選択することができる請求項7に記載の方法。
- リモート・ストアは、無線デバイスにより直接にはアクセスできないプライベート・ネットワーク上にあり、さらに無線デバイスがこのプライベート・ネットワークにアクセスできるようにするプロキシを備えることを含む請求項7に記載の方法。
- プロキシは、仮想プライベート・ネットワーク(VPN)プロキシを含む請求項9に記載の方法。
- 方法が出力管理システムによって利用され、さらに、
ユーザが出力管理システムを介してアクセス可能な出力デバイスから1つまたは複数のお気に入りの出力デバイスを選択し、かつ/または指定することができるようにすることと、
ユーザによって選択されたかつ/または指定された出力デバイスに関係する情報を出力管理システムに格納することを含む請求項1に記載の方法。 - さらに、ユーザ・インターフェイスを使用することにより、ユーザはソース・データのアクセス元のネットワーク・サーバを指定できる請求項1に記載の方法。
- さらに、ユーザ・インターフェイスを使用することにより、ユーザは1つまたは複数の検索パラメータを介して出力デバイスをサーチできる請求項1に記載の方法。
- 印刷サービスは、
ソース・データのファイル・タイプを判別するオペレーションと、
印刷サービスを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションとを実行することにより出力イメージ・データを生成する請求項1に記載の方法。 - さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される印刷出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項1に記載の方法。
- ソース・データはテキストベースのドキュメントに対応し、さらに、ユーザが印刷出力のシミュレート表現のさまざまな部分にナビゲートするのに使用できるユーザ・インターフェイス経由のナビゲーション・コントロールを備えることを含む請求項15に記載の方法。
- ソース・データはスプレッドシート型ドキュメントに対応し、さらに、ユーザが印刷出力のシミュレート表現のさまざまな部分にナビゲートするのに使用できるユーザ・インターフェイス経由のナビゲーション・コントロールを備えることを含み、ソース・データに対応するスプレッドシート・ドキュメントの単一ページ内で横方向および縦方向に移動することを含む請求項15に記載の方法。
- ソース・データはオリジナルのイメージを含み、さらに画面の表示特性に基づき、サイズが設定され無線デバイスの画面に表示されるように構成されているオリジナル・イメージのサムネイル・イメージを生成すること含む請求項15に記載の方法。
- さらに、
出力イメージ・データをリポジトリに格納することと、
出力イメージ・データをリポジトリから取り出すことと、
出力イメージ・データを出力デバイスに転送することとを含む請求項1に記載の方法。 - さらに、ユーザ・インターフェイスを介してジョブ・ステータス情報をユーザに提供することを含む請求項1に記載の方法。
- Bluetooth対応発信元デバイスを介して印刷する方法であって、
付近にBluetooth対応出力デバイスが存在するかどうかを検出するクエリに応答するBluetoothデバイス・エミュレータを介してBluetooth対応発信元デバイスから入力を受信することと、
Bluetoothデバイス・エミュレータを介してBluetooth対応出力デバイスをエミュレートし、Bluetooth対応発信元デバイスに対して、そのようなBluetooth対応出力デバイスがBluetooth対応発信元デバイスと通信しているように見せかけることと、
Bluetooth対応発信元デバイスから印刷要求を受信し、エミュレートされているBluetooth対応出力デバイスに対応する出力デバイスにソース・データを印刷することと、
印刷要求に対応するソース・データを受信または取り出すことと、
ソース・データと出力デバイスに対応する出力イメージ・データを生成することと、
出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することとを含む方法。 - 出力デバイスはBluetooth非対応出力デバイスである請求項21に記載の方法。
- ソース・データはBluetooth対応発信元デバイスから受信される請求項21に記載の方法。
- ソース・データはリモート・ストアから取り出される請求項21に記載の方法。
- さらに、
Bluetoothデバイス・エミュレータを介してBluetooth対応のネットワーク閲覧オペレーションをエミュレートすることと、
Bluetooth対応発信元デバイスのユーザがエミュレートされているネットワーク閲覧オペレーションを介してファイル・ストアから印刷対象のソース・データを選択できるようにすることと、
ファイル・ストアからソース・データを取り出すこととを含む請求項24に記載の方法。 - ソース・データは出力イメージ・データを生成する印刷サービスに送られるか、またはその印刷サービスにより取り出される請求項21に記載の方法。
- 印刷サービスにおいてソース・データを受信すること、または取り出すことに対する応答として、
ソース・データのファイル・タイプを判別するオペレーションと、
印刷サービスを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションを実行する請求項26に記載の方法。 - さらに、
Bluetoothデバイス・エミュレータを出力管理システムにリンクすることと、
Bluetooth対応デバイスのユーザを識別することと、
出力管理システムを介してアクセスできる出力デバイスに対応するBluetoothデバイス・パラメータを出力管理システムから取り出すことと、
Bluetoothデバイス・パラメータを使用してBluetoothデバイス・エミュレータを介してそれらの出力デバイスをエミュレートし、エミュレートされている出力デバイスの前記1つまたは複数に対応するBluetooth対応出力デバイスと直接通信しているようにBluetoothデバイスに思いこませることを含む請求項21に記載の方法。 - さらに、
ユーザがアクセスできる1つまたは複数の出力デバイスに対応するBluetoothデバイス・パラメータを出力管理システムから取り出すBluetooth対応デバイスのユーザを識別することと、
Bluetoothデバイス・エミュレータを介して前記1つまたは複数の出力デバイスをエミュレートすることを含む請求項28に記載の方法。 - ユーザ・インターフェイスを使用することでユーザがリモート・ストアに格納されているソース・データを選択することができる請求項21に記載の方法。
- Bluetoothデバイス・エミュレータは、Bluetoothの経路上の無線アプリケーション・プロトコル(WAP)として動作し、さらに
Bluetoothデバイス・エミュレータを介してWAPベースのコンテンツをユーザ・インターフェイスを描画することができるBluetooth対応発信元デバイスに供給することと、
ユーザがリモート・ストアから選択した出力デバイスにより印刷するドキュメントを選択できるようにすることを含む請求項21に記載の方法。 - リモート・ストアは、無線デバイスにより直接にはアクセスできないプライベート・ネットワーク上にあり、さらに無線デバイスがこのプライベート・ネットワークにアクセスできるようにするプロキシを備えることを含む請求項31に記載の方法。
- プライベート・ネットワークは、不正ユーザがアクセスするのを防止するファイヤウォールを備え、プロキシは仮想プライベート・ネットワーク(VPN)プロキシを備える請求項32に記載の方法。
- ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントとファイヤウォールの外側にある出力管理システム・コンポーネントとの間の、ファイヤウォールを通過するパススルー通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザがユーザ・インターフェイスを介して印刷するソース・データを選択できるようにすることと、
ユーザがソース・データの印刷先のプライベート・ネットワーク上の出力デバイスを選択できるようにすることと、
ストアからソース・データを取り出すことと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
ファイヤウォールの外側にある出力管理システム・コンポーネントから出力イメージ・データをファイヤウォールの背後に配置されている出力管理システム・コンポーネントに送信することと、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントから出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。 - ファイヤウォールの外側と背後に配置されている各出力管理システム・コンポーネントは、出力管理システム内の他のコンポーネント管理機能を備えるメッセージ・センター・コンポーネントを含む請求項34に記載の方法。
- さらに、ファイヤウォール背後に配置されている出力管理システム・コンポーネントを介してアクセスできるファイヤウォールの背後に配置されている1つまたは複数の出力デバイスを識別するパススルー通信リンクを使用し、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントからデータをファイヤウォールの外側にある出力管理システム・コンポーネントに送信することを含む請求項34に記載の方法。
- ファイヤウォールの外側に配置されている出力管理システム・コンポーネントはサーバ・コンポーネントを含み、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントはクライアント・コンポーネントを含む請求項34に記載の方法。
- パススルー通信のリンクは、仮想プライベート・ネットワーク(VPN)リンクを含む請求項34に記載の方法。
- 発信元デバイスはWeb対応無線デバイスを含む請求項34に記載の方法。
- 発信元デバイスはBluetooth対応デバイスを含む請求項34に記載の方法。
- ストアは発信元デバイス上のローカル・ストアを含む請求項34に記載の方法。
- ストアは、無線デバイスから遠い場所に配置されているリモート・ストアを含む請求項34に記載の方法。
- リモート・ストアはプライベート・ネットワーク上に配置されている請求項42に記載の方法。
- 印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
印刷サービスを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションとを実行することにより出力イメージ・データを生成する請求項34に記載の方法。 - さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項34に記載の方法。
- ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
ファイヤウォールの背後に配置されている出力管理システム・コンポーネントとファイヤウォールの外側にある出力管理システム・コンポーネントとの間の、ファイヤウォールを通過するパススルー通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザがユーザ・インターフェイスを介して印刷するソース・データを選択できるようにすることと、
ユーザがソース・データの印刷先のプライベート・ネットワーク上の出力デバイスを選択できるようにすることと、
ファイヤウォールの外側に配置されている出力管理システム・コンポーネントからソース・データまたはそのデータへの参照をファイヤウォールの背後に配置されている出力管理システム・コンポーネントに転送することと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。 - ファイヤウォールの外側と背後に配置されている各出力管理システム・コンポーネントは、出力管理システム内の他のコンポーネント管理機能を備えるメッセージ・センター・コンポーネントを含む請求項46に記載の方法。
- さらに、ファイヤウォール背後に配置されている出力管理システム・コンポーネントを介してアクセスできるファイヤウォールの背後に配置されている1つまたは複数の出力デバイスを識別するパススルー通信リンクを使用し、ファイヤウォールの背後に配置されている出力管理システム・コンポーネントからデータをファイヤウォールの外側にある出力管理システム・コンポーネントに送信することを含む請求項46に記載の方法。
- ファイヤウォールの内側に配置されている出力管理システム・コンポーネントは、サーバ・コンポーネントを含み、出力イメージ・データを出力デバイスにサブミットすることは、出力イメージ・データをクライアントに供給することを含み、出力イメージ・データを受信したことに対する応答として、クライアントは出力イメージ・データを描画のため出力イメージ・デバイスにサブミットする請求項46に記載の方法。
- 発信元デバイスはWeb対応無線デバイスを含む請求項46に記載の方法。
- 発信元デバイスはBluetooth対応デバイスを含む請求項46に記載の方法。
- ソース・データには発信元デバイス上に格納されているドキュメントが含まれ、さらに、ファイヤウォールの外側にある出力管理システム・コンポーネントで発信元デバイスからのソース・データを受信することを含む請求項46に記載の方法。
- ソース・データは、リモート・ストアに格納され、さらにリモート・ストアからソース・データを取り出すことを含む請求項46に記載の方法。
- リモート・ストアは、プライベート・ネットワーク上に配置されており、ソース・データは、ソース・データへの参照により識別された場所から取り出される請求項53に記載の方法。
- さらに、ユーザ・インターフェイスを介してジョブ・ステータス情報をユーザに提供することを含む請求項1に記載の方法。
- 印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
印刷サービスを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションとを実行することにより出力イメージ・データを生成する請求項46に記載の方法。 - さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項46に記載の方法。
- ファイヤウォールの外側にある発信元デバイスからファイヤウォールの背後にあるプライベート・ネットワーク上で印刷する方法であって、
発信元デバイスとファイヤウォールの背後に配置されている出力管理システム・コンポーネントとの間の、ファイヤウォールを通過する仮想プライベート・ネットワーク(VPN)トンネルを備える通信リンクを確立することと、
描画可能なデータを発信元デバイスに供給し、それによりユーザ・インターフェイスを発信元デバイス上に描画することと、
ユーザがユーザ・インターフェイスを介して印刷するソース・データを選択できるようにすることと、
ユーザがソース・データの印刷先のプライベート・ネットワーク上の出力デバイスを選択できるようにすることと、
VPNトンネルを介して発信元デバイスからソース・データまたはそのデータへの参照をファイヤウォールの背後に配置されている出力管理システム・コンポーネントに転送することと、
ソース・データと選択された出力デバイスに対応する出力イメージ・データを描画することと、
出力イメージ・データを出力デバイスにサブミットし、出力デバイスにより物理的に描画することを含む方法。 - ユーザ・インターフェイスは、複数の対話型Webページを備え、VPNトンネルは、ファイヤウォールに配置されているVPNスイッチと組み合わせてファイヤウォールの外側に配置されている共通ゲートウェイ・インターフェイス(CGI)VPNプロキシにより円滑に使用できる請求項58に記載の方法。
- 発信元デバイスは、VPN対応デバイスを備え、VPNトンネルは、そのVPN対応デバイスとファイヤウォールに配置されているVPNスイッチ上で実行されるクライアント・サイド・コンポーネントにより円滑に使用できる請求項58に記載の方法。
- ファイヤウォールの背後に配置されている出力管理システム・コンポーネントは、サーバ・コンポーネントを含み、出力イメージ・データを出力デバイスにサブミットすることは、出力イメージ・データをクライアントに供給することを含み、出力イメージ・データを受信したことに対する応答として、クライアントは出力イメージ・データを描画のため出力イメージ・デバイスにサブミットする請求項58に記載の方法。
- 発信元デバイスはWeb対応無線デバイスを含む請求項58に記載の方法。
- 発信元デバイスはBluetooth対応デバイスを含む請求項58に記載の方法。
- ソース・データには発信元デバイス上に格納されているドキュメントが含まれ、さらに、ファイヤウォールの背後にある出力管理システム・コンポーネントでVPNトンネルを介して発信元デバイスからソース・データを受信することを含む請求項58に記載の方法。
- ソース・データは、リモート・ストアに格納され、さらにリモート・ストアからソース・データを取り出すことを含む請求項58に記載の方法。
- リモート・ストアは、プライベート・ネットワーク上に配置されており、ソース・データは、ソース・データへの参照により識別された場所から取り出される請求項65に記載の方法。
- さらに、ユーザ・インターフェイスを介してジョブ・ステータス情報をユーザに提供することを含む請求項58に記載の方法。
- 印刷サービスを使用し、
ソース・データのファイル・タイプを判別するオペレーションと、
印刷サービスを介してロードし、出力イメージ・データを生成するのに適したアプリケーションを判別するオペレーションと、
アプリケーションと印刷サブシステムを組み合わせて出力イメージ・データを生成させる印刷アクションを開始するオペレーションとを実行することにより出力イメージ・データを生成する請求項58に記載の方法。 - さらに、ユーザ・インターフェイス上に描画するときに、出力デバイスにより生成される描画された出力のシミュレート表現を含む印刷プレビュー・データを無線デバイスに供給することを含む請求項58に記載の方法。
- さらに、リモート・ストア上のソース・データの位置を識別する参照を印刷サービスに送信し、その参照を受信したことに対する応答として、その参照を使用して印刷サービスを介してソース・データを取り出すことを含む請求項7に記載の方法。
- さらに、
無線デバイスの位置を判別することと、
無線デバイスの位置に基づきデフォルト出力デバイスを動的に判別することを含む請求項1に記載の方法。 - 複数の無線データ・アクセス・ポイント(WDAP)を備える出力管理システムにより円滑に利用できる方法であって、さらに、
前記複数のWDAPのトポロジ的位置およびそれらのWDAPを介してアクセス可能な出力デバイスを識別するデータを格納することと、
無線デバイスで出力管理システムにアクセスする際に使用するWDAPへの近さに基づいてデフォルト出力デバイスを判別することを含む請求項71に記載の方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31441201P | 2001-08-22 | 2001-08-22 | |
US35175402P | 2002-01-23 | 2002-01-23 | |
US10/098,832 US20020138564A1 (en) | 2001-03-21 | 2002-03-13 | Universal printing and document imaging system and method |
US10/104,528 US6993562B2 (en) | 2002-03-21 | 2002-03-21 | Method and system to print via email |
US10/225,581 US20030078965A1 (en) | 2001-08-22 | 2002-08-21 | Output management system and method for enabling printing via wireless devices |
PCT/US2002/026783 WO2003019403A2 (en) | 2001-08-22 | 2002-08-22 | Output management system and method for enabling printing via wireless devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005501341A true JP2005501341A (ja) | 2005-01-13 |
JP2005501341A5 JP2005501341A5 (ja) | 2006-01-05 |
Family
ID=27536903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003523393A Pending JP2005501341A (ja) | 2001-08-22 | 2002-08-22 | 無線デバイス経由の印刷を可能にする出力管理システムおよび方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1428134A2 (ja) |
JP (1) | JP2005501341A (ja) |
KR (1) | KR20040029438A (ja) |
CN (1) | CN1575460A (ja) |
WO (1) | WO2003019403A2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014177069A (ja) * | 2013-03-15 | 2014-09-25 | Canon Inc | 情報処理装置、情報処理端末およびその制御方法 |
JP2015111424A (ja) * | 2014-12-25 | 2015-06-18 | セイコーエプソン株式会社 | 印刷システムおよびプリンター |
JP2016057942A (ja) * | 2014-09-11 | 2016-04-21 | コニカミノルタ株式会社 | 画像処理システム、アプリケーションサーバー及びプログラム |
JP2021124792A (ja) * | 2020-01-31 | 2021-08-30 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法ならびにプログラム |
JP7435760B2 (ja) | 2020-05-26 | 2024-02-21 | 日本電気株式会社 | 印刷システム、印刷制御装置、印刷方法及びプログラム |
JP7540250B2 (ja) | 2019-09-26 | 2024-08-27 | ブラザー工業株式会社 | サーバ及びサーバのためのコンピュータプログラム |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843617B2 (en) | 2000-03-01 | 2014-09-23 | Printeron Inc. | Multi-stage polling mechanism and system for the transmission and processing control of network resource data |
CA2301996A1 (en) | 2000-03-13 | 2001-09-13 | Spicer Corporation | Wireless attachment enabling |
US20040184060A1 (en) * | 2003-03-18 | 2004-09-23 | Xerox Corporation | Automated electronic mail document printing |
US7403300B2 (en) | 2003-03-21 | 2008-07-22 | Toshiba Corporation | Wireless wide area network printing |
KR100736931B1 (ko) * | 2005-10-24 | 2007-07-10 | 삼성전자주식회사 | 이동 단말기를 이용한 데이터 송수신 시스템 및 그 방법,이동 단말기를 이용한 데이터 송수신 시스템에서의 복합기 |
KR100965820B1 (ko) * | 2007-01-19 | 2010-06-24 | 삼성전자주식회사 | 데이터 출력을 위한 장치 및 데이터 출력 방법 |
JP5187007B2 (ja) * | 2008-06-05 | 2013-04-24 | 株式会社リコー | 画像形成装置、表示制御方法、及び表示制御プログラム |
US9043503B2 (en) * | 2008-10-28 | 2015-05-26 | At&T Intellectual Property I, L.P. | System and method of interacting with data at a wireless communication device |
CN102200950B (zh) * | 2010-03-24 | 2014-01-22 | 原相科技股份有限公司 | 通用串行总线控制器及其执行方法 |
US8970873B2 (en) | 2010-09-17 | 2015-03-03 | Printeron Inc. | System and method for managing printer resources on an internal network |
US8570566B2 (en) * | 2010-09-17 | 2013-10-29 | Printeron Inc. | System and method that provides user interface on mobile network terminal for releasing print jobs based on location information |
EP2646899B1 (en) | 2010-11-30 | 2020-02-26 | Hewlett-Packard Development Company, L.P. | System for internet enabled printing |
US9319244B2 (en) * | 2010-12-22 | 2016-04-19 | Usablenet Inc. | Methods for emailing labels as portable data files and devices thereof |
JP5929399B2 (ja) * | 2012-03-26 | 2016-06-08 | 富士ゼロックス株式会社 | 情報提供装置、情報提供システム及びプログラム |
BR112015024791B1 (pt) * | 2013-03-28 | 2022-04-19 | Hewlett-Packard Development Company, L.P. | Meio de armazenamento legível por computador não transitório, sistema e método implementado por processador |
US9356882B2 (en) | 2014-02-04 | 2016-05-31 | Printeron Inc. | Streamlined system for the transmission of network resource data |
JP6455195B2 (ja) * | 2015-02-04 | 2019-01-23 | 富士ゼロックス株式会社 | 操作画面提供システム、中継装置及びプログラム |
JP2016167795A (ja) * | 2015-03-02 | 2016-09-15 | 株式会社リコー | 通信装置、通信方法、システム及びプログラム |
JP6311666B2 (ja) * | 2015-07-01 | 2018-04-18 | コニカミノルタ株式会社 | 通信システム、管理サーバおよびプログラム |
JP6601621B2 (ja) * | 2016-02-05 | 2019-11-06 | コニカミノルタ株式会社 | 画像形成装置、プリント制御方法およびプリント制御プログラム |
CN107391051B (zh) * | 2016-05-16 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种文件打印方法、装置和系统 |
CN106557288B (zh) * | 2016-11-15 | 2020-04-14 | 华为技术有限公司 | 一种获取打印数据的方法及装置 |
CN106792361A (zh) * | 2017-02-22 | 2017-05-31 | 安徽井利电子有限公司 | 一种远程传真机扬声器控制系统 |
CN110519376B (zh) * | 2019-08-29 | 2022-04-12 | 珠海奔图电子有限公司 | 一种应用于云服务器的图像处理方法及图像形成装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1748797A (en) * | 1996-01-16 | 1997-08-11 | Raptor Systems, Inc. | Key management for network communication |
US6088796A (en) * | 1998-08-06 | 2000-07-11 | Cianfrocca; Francis | Secure middleware and server control system for querying through a network firewall |
AU2416501A (en) * | 1999-12-13 | 2001-06-18 | Axis Ab | Method and system for presenting information |
US6255800B1 (en) * | 2000-01-03 | 2001-07-03 | Texas Instruments Incorporated | Bluetooth enabled mobile device charging cradle and system |
-
2002
- 2002-08-22 KR KR10-2004-7002681A patent/KR20040029438A/ko not_active Application Discontinuation
- 2002-08-22 WO PCT/US2002/026783 patent/WO2003019403A2/en active Application Filing
- 2002-08-22 CN CNA028209796A patent/CN1575460A/zh active Pending
- 2002-08-22 JP JP2003523393A patent/JP2005501341A/ja active Pending
- 2002-08-22 EP EP02773235A patent/EP1428134A2/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014177069A (ja) * | 2013-03-15 | 2014-09-25 | Canon Inc | 情報処理装置、情報処理端末およびその制御方法 |
JP2016057942A (ja) * | 2014-09-11 | 2016-04-21 | コニカミノルタ株式会社 | 画像処理システム、アプリケーションサーバー及びプログラム |
JP2015111424A (ja) * | 2014-12-25 | 2015-06-18 | セイコーエプソン株式会社 | 印刷システムおよびプリンター |
JP7540250B2 (ja) | 2019-09-26 | 2024-08-27 | ブラザー工業株式会社 | サーバ及びサーバのためのコンピュータプログラム |
JP2021124792A (ja) * | 2020-01-31 | 2021-08-30 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法ならびにプログラム |
JP7422464B2 (ja) | 2020-01-31 | 2024-01-26 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法ならびにプログラム |
JP7435760B2 (ja) | 2020-05-26 | 2024-02-21 | 日本電気株式会社 | 印刷システム、印刷制御装置、印刷方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2003019403A2 (en) | 2003-03-06 |
WO2003019403A3 (en) | 2003-11-20 |
EP1428134A2 (en) | 2004-06-16 |
KR20040029438A (ko) | 2004-04-06 |
CN1575460A (zh) | 2005-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8019829B2 (en) | Output management system and method for enabling printing via wireless devices | |
US8065357B2 (en) | Output management system and method for enabling access to private network resources | |
JP2005501341A (ja) | 無線デバイス経由の印刷を可能にする出力管理システムおよび方法 | |
JP2005523489A (ja) | プライベート・ネットワーク・リソースへのアクセスを可能にする出力管理システムと方法 | |
US7024497B1 (en) | Methods for accessing remotely located devices | |
US7171468B2 (en) | System and method for accessing a document management repository | |
US9009265B2 (en) | System and method for automatic transfer of data from one device to another | |
US6993562B2 (en) | Method and system to print via email | |
US7949706B2 (en) | Automatic electronic publishing | |
JP2005251194A (ja) | アクセスを管理する方法、プログラム、及びシステム、及び、電子メール・メッセージを送信する方法、及びプログラム | |
US20020107904A1 (en) | Remote service agent for sending commands and receiving data over e-mail network | |
JP2004213656A (ja) | ドライバレス・ウェブ・プリント・サーバでのオンライン・プリント | |
KR20040071203A (ko) | 프록시를 이용하여 데이터를 다운로딩하기 위한 시스템 및방법 | |
US20030081788A1 (en) | Secure printing to a web-based imaging print service | |
WO2012173899A2 (en) | Remotely retrieving information from consumer devices | |
JP2002328869A (ja) | モバイル機器によりファイアウォールを通してリモートで情報を適用する方法及び装置 | |
JP2000293458A (ja) | データ配信装置及びデータ受信装置及びそれらの制御方法 | |
JP3743314B2 (ja) | 移動端末によるpc端末接続操作システム及び方法 | |
US20030046334A1 (en) | Client resident service that launches a browser to provide device status | |
AU2002336388A1 (en) | Output management system and method for enabling printing via wireless devices | |
AU2002327508A1 (en) | Output management system and method for enabling access to private network resources | |
JP2001024691A (ja) | サーバシステム及びサーバシステムにおけるアドレス情報提供方法 | |
KR100492379B1 (ko) | 무선단말기를 이용한 데이터의 관리방법 및데이터관리시스템 | |
TW200404449A (en) | System and method for implementing virtual mobile messaging services | |
JP2007148605A (ja) | ワークフロー情報管理装置、同方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050822 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |