(57)【要約】【課題】ファクシミリ送信を管理する方法を提供する。【解決手段】ファクシミリ送信を管理するデバイス、システム、及び方法は、ファクスデバイスのファクスドライバで、ファクスジョブを送信するための要求を受信し、前記ファクスジョブ用のファクス宛先番号が存在するかを判定し、前記ファクスジョブ用の前記ファクス宛先番号が存在しないと判定されたことに応じて、通知を表示するための要求を送信し、前記ファクスジョブ用の前記ファクス宛先番号を受信し、前記ファクスジョブ用の前記受信したファクス宛先番号を前記ファクスデバイスへ送信する。【選択図】図２
2017073836.tif 000002
【特許請求の範囲】
【請求項１】
ファックスドライバが動作可能な情報処理装置において実行される方法であって、
ファックス送信における宛先情報を入力するための入力画面を表示部に表示させる表示制御工程を有し、
ユーザから受け付けた要求に従って生成されたファックスジョブ用の宛先情報が取得されていないと、ファックスデバイスと通信することにより、判定された場合、オペレーティングシステムにメッセージを含む通知を表示させ、
前記メッセージを含む通知がユーザにより操作された場合、前記表示制御工程は、前記入力画面を前記表示部に表示させ、
前記入力画面を介して入力された宛先情報が前記ファックスジョブ用の宛先情報として前記ファックスデバイスに送信される、
ことを特徴とする方法。
【請求項２】
前記ファックスジョブ用の宛先情報が取得されていないと判定された場合、前記オペレーティングシステムに前記メッセージを含む通知を表示させると共に、前記ファックスジョブの処理をリスタートさせることで前記ファックスジョブ用の宛先情報が取得されているか否かの判定処理が再度実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、トースト通知であることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、所定時間経過後に消えることを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記オペレーティングシステムにより提供される前記通知には、前記ファックスジョブ用の宛先情報が無いことを示すメッセージが含まれることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記ファックスドライバは、前記ファックスジョブと前記入力画面に入力された宛先情報に基づいて前記ファックスデバイスが解釈可能なコマンドを生成することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
ファックスドライバが動作可能な情報処理装置であって、
ファックス送信における宛先情報を入力するための入力画面を表示部に表示させる表示制御手段を有し、
ユーザから受け付けた要求に従って生成されたファックスジョブ用の宛先情報が取得されていないと、ファックスデバイスと通信することにより、判定された場合、オペレーティングシステムにメッセージを含む通知を表示させ、
前記メッセージを含む通知がユーザにより操作された場合、前記表示制御手段は、前記入力画面を前記表示部に表示させ、
前記入力画面を介して入力された宛先情報が前記ファックスジョブ用の宛先情報として前記ファックスデバイスに送信される、
ことを特徴とする情報処理装置。
【請求項８】
前記ファックスジョブ用の宛先情報が取得されていないと判定された場合、前記オペレーティングシステムに前記メッセージを含む通知を表示させると共に、前記ファックスジョブの処理をリスタートさせることで前記ファックスジョブ用の宛先情報が取得されているか否かの判定処理が再度実行されることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、トースト通知であることを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、所定時間経過後に消えることを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記オペレーティングシステムにより提供される前記通知には、前記ファックスジョブ用の宛先情報が無いことを示すメッセージが含まれることを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記ファックスドライバは、前記ファックスジョブと前記入力画面に入力された宛先情報に基づいて前記ファックスデバイスが解釈可能なコマンドを生成することを特徴とする請求項７乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
ファックスドライバが動作可能な情報処理装置に、
ファックス送信における宛先情報を入力するための入力画面を表示部に表示させる表示制御工程を実行させるためのプログラムであり、
ユーザから受け付けた要求に従って生成されたファックスジョブ用の宛先情報が取得されていないと、ファックスデバイスと通信することにより、判定された場合、オペレーティングシステムにメッセージを含む通知を表示させ、
前記メッセージを含む通知がユーザにより操作された場合、前記表示制御工程において、前記入力画面を前記表示部に表示させ、
前記入力画面を介して入力された宛先情報が前記ファックスジョブ用の宛先情報として前記ファックスデバイスに送信される、
ことを特徴とするプログラム。
【請求項１４】
前記ファックスジョブ用の宛先情報が取得されていないと判定された場合、前記オペレーティングシステムに前記メッセージを含む通知を表示させると共に、前記ファックスジョブの処理をリスタートさせることで前記ファックスジョブ用の宛先情報が取得されているか否かの判定処理が再度実行されることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、トースト通知であることを特徴とする請求項１３または１４に記載のプログラム。
【請求項１６】
前記オペレーティングシステムにより提供される前記メッセージを含む通知は、所定時間経過後に消えることを特徴とする請求項１３乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記オペレーティングシステムにより提供される前記通知には、前記ファックスジョブ用の宛先情報が無いことを示すメッセージが含まれることを特徴とする請求項１３乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記ファックスドライバは、前記ファックスジョブと前記入力画面に入力された宛先情報に基づいて前記ファックスデバイスが解釈可能なコマンドを生成することを特徴とする請求項１３乃至１７のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファックスドライバが動作可能な情報処理装置における方法、情報処理装置、およびプログラムに関する。
【背景技術】
【０００２】
コンピュータベースのファクスは、コンピューティングデバイスからファクスデバイスを介したドキュメントのファクスを可能にする。より多くの情報がデジタル的に記憶されるので、コンピューティングデバイスからファクスデバイスを介してファクスできることはユーザにとって便利である。加えて、コンピューティングデバイスからのファクスは、ペーパーの浪費の低減を実現し、その結果、環境保全上の利点やコストの低減につながる。
【０００３】
マイクロソフトは、ユーザインタフェース（ＵＩ）をドライバ部品にビルトインさせないプリントアーキテクチャを提供するオペレーティングシステムを導入した。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
つまり、コンピュータベースのファクスの場合、ファクス宛先番号を得るためのＵＩ（例えば、ダイアログボックス）は、ドライバ部品から直接に表示されない。従って、ユーザは、コンピューティングデバイスでＵＩを介してファクス宛先番号を入力する代わりに、ファクスデバイスでファクス宛先番号を入力することが要求される。
【課題を解決するための手段】
【０００５】
本発明に係る方法は、ファックスドライバが動作可能な情報処理装置において実行される方法であって、ファックス送信における宛先情報を入力するための入力画面を表示部に表示させる表示制御工程を有し、ユーザから受け付けた要求に従って生成されたファックスジョブ用の宛先情報が取得されていないと、ファックスデバイスと通信することにより、判定された場合、オペレーティングシステムにメッセージを含む通知を表示させ、前記メッセージを含む通知がユーザにより操作された場合、前記表示制御工程は、前記入力画面を前記表示部に表示させ、前記入力画面を介して入力された宛先情報が前記ファックスジョブ用の宛先情報として前記ファックスデバイスに送信される、ことを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】図１は、ファクス送信を管理するシステムの一例となる実施形態を示すブロック図である。
【図２】図２は、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。
【図３Ａ】図３Ａは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。
【図３Ｂ】図３Ｂは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。
【図３Ｃ】図３Ｃは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。
【図４】図４は、システム通知の一例となる実施形態を示す。
【図５】図５は、ダイアログボックスの一例となる実施形態を示す。
【発明を実施するための形態】
【０００７】
以下、実施形態の説明を記載する。他の実施形態において代替えや同等物や変形したものを含む場合があるが、以下に説明のための実施形態を記載する。加えて、説明する実施形態は、幾つかの新規の特徴を含んで良く、また、特定の特徴が以下に記載するシステムや方法を実行するために不可欠なものとはならない。
【０００８】
図１は、ファクス送信を管理するシステムの一例となる実施形態を示すブロック図である。ファクス送信を管理するシステムは、コンピューティングデバイス１００とファクスデバイス１８０を含む。
【０００９】
コンピューティングデバイス１００は、どのようなコンピューティングデバイスでも良く、例えば、デスクトップやラップトップコンピュータ、サーバである。他の実施形態において、コンピューティングデバイス１００は、モバイルフォン、パーソナル・デジタル・アシスタント（ＰＤＡ）、若しくは、タブレットであっても良い。また、コンピューティングデバイス１００は、ネットワークを介した通信が可能であり、及び／又は、画像をレンダリング可能な少なくとも１つのディスプレイを含む。コンピューティングデバイス１００は、少なくとも１つのプロセッサを含み（ＣＰＵと呼ぶ）、それらは、従来の若しくはカスタマイズされたマイクロプロセッサであっても良い。ＣＰＵは、コンピュータが読取可能な命令を読み出して実行するように構成される。また、ＣＰＵは、コンピューティングデバイス１００の他のコンポーネントに命令し、及び／又は、制御しても良い。
【００１０】
コンピューティングデバイス１００は、また、Ｉ／Ｏインタフェース、Ｉ／Ｏデバイス、若しくは、その両方を含む。Ｉ／Ｏインタフェースは、Ｉ／Ｏデバイスへの通信インタフェースを提供する。また、Ｉ／Ｏデバイスは、キーボード、ディスプレイデバイス、マウス、タッチスクリーン、ライトペン、光学ストレージデバイス、マイクロフォン、カメラ、スキャナ、プリント等を含んでも良い。コンピューティングデバイス１００は、また、メモリを含む。メモリは、揮発性（例えばＲＡＭ）や、不揮発性（例えば、ＲＯＭ、フラッシュメモリ）、若しくは、その両方であっても良い。コンピューティングデバイス１００は、さらに、コンピューティングデバイス１００に他のデバイスと通信させるネットワークインタフェースを含む。コンピューティングデバイス１００は、また、少なくとも１つのコンピュータが読取可能な若しくはコンピュータが書込可能なストレージ媒体を含むストレージデバイスを含む。コンピュータが読取可能なストレージ媒体は、単なる一時的（transitory）な伝搬信号と対照的に実体的な製品物であり、例えば、磁気ディスク（例えばハードドライブ、フロッピー（登録商標）ディスク）、光学ディスク（例えば、ＣＤ、ＤＶＤ、ブルーレイ）、磁気光学ディスク、磁気テープ、半導体メモリ（例えば、不揮発性メモリカード、フラッシュメモリ、ソリッド・ステート・ドライブ、ＳＲＡＭ、ＤＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ）である。コンピューティングデバイス１００は、オペレーティングシステムを含み、オペレーティングシステムは、コンピューティングデバイス１００の、ハードウェア、プロセス、割込み、メモリ、及び／又は、ファイルシステムを管理する。コンピューティングデバイス１００は、また、接続されたデバイス（例えば、ファクスデバイス１８０）と双方向に通信を行うための双方向（bidi）拡張技術を含む。コンピューティングデバイス１００は、さらに、アプリケーション１１０、ファクスドライバ１２０、スプーラ１４０、システム通知モジュール１５０、プリンタ拡張１６０、ポートモニタ１７０を含む。
【００１１】
アプリケーション１１０は、データを印刷するどのようなアプリケーションでも良く、例えば、文書処理アプリケーション、写真編集アプリケーション、Ｗｅｂブラウザである。アプリケーション１１０は、ユーザインタフェースを生成するように構成され、ユーザインタフェースは、ユーザへの情報の提示、コンピューティングデバイス１００を介した（例えば、コンピューティングデバイス１００のＩ／Ｏインタフェースを介した）ユーザからの受信、若しくは、その両方を行う。情報は、ユーザに、情報を見ることや、少なくとも１つのオプションを選択すること、若しくは、その両方を許可するのであれば、他の方法によって提示されても良い。アプリケーション１１０は、さらに、ユーザからファクス要求を受信し、ファクスを送信するためのファクス要求に基づいてファクスジョブを生成するように構成される。ファクス要求は、ユーザが選択したオプションやファクス文書を含む。さらに、生成されたファクスジョブは、例えばプリントチケット文書のようなマークアップ言語の形式で纏められている。プリントチケット文書は、ファクスジョブ用に選択されたオプションを記述するＸＭＬデータであっても良い。プリントチケット文書は、マイクロソフトのプリントスキーマにより定義された文書であっても良い。
【００１２】
ファクスドライバ１２０は、アプリケーション１１０により生成されたファクスジョブを受信して有効にするように構成される。ファクスドライバ１２０は、ファクスジョブ用のジョブＩＤ（ＩＤ）を生成する。ファクスジョブにジョブＩＤを含んでも良い。ファクスドライバ１２０は、また、ファクスジョブを一時的に記憶するために（例えば、ストレージデバイスやメモリに）、スプーラ１４０と通信するように構成される。ファクスドライバ１２０は、他のファクスドライバでも良いが、コンピューティングデバイス１００のＩ／Ｏデバイス上に表示される通知やダイアログボックスを引き起こす（invoke、呼び出す）ことはできない。例えば、幾つかの実施形態においては、ファクスドライバ１２０は、Ｗｉｎｄｏｗｓ（登録商標）  ｖ４のプリンタドライバであり、Ｗｉｎｄｏｗｓ８は、オペレーティングシステムである。ファクスドライバ１２０は、また、レンダリングフィルタ１３０を含む。
【００１３】
レンダリングフィルタ１３０は、ファクスジョブを、ファクスデバイス１８０がサポートし理解するフォーマットであるプリントコマンドストリームに変換するように構成される。レンダリングフィルタ１３０は、また、スプーラ１４０からファクスジョブを受信するように構成され、ポートモニタ１７０と通信するように構成される。例えば、レンダリングフィルタ１３０は、ポートモニタ１７０を介してファクスデバイス１８０への問い合わせを送信し、ポートモニタ１７０を介してファクスデバイス１８０からの応答を受信することができる。加えて、レンダリングフィルタ１３０は、プリンタ拡張１６０、システム通知モジュール１５０、若しくは、両方の機能性を引き起こすために、イベントを引き起こす要求を提供するように構成される。幾つかの実施形態において、レンダリングフィルタ１３０は、システム通知モジュール１５０と通信するように構成される。例えば、レンダリングフィルタ１３０は、システム通知を表示する要求をシステム通知モジュール１５０に対して送信することができる。さらに、幾つかの他の実施形態においては、レンダリングフィルタ１３０は、プリンタ拡張１６０と直接に通信し、プリンタ拡張１６０の機能性を引き起こす。幾つかの実施形態においては、レンダリングフィルタ１３０は、コンピューティングデバイス１００のディスプレイに提示され得るダイアログボックスを提供するように構成される。レンダリングフィルタ１３０を含みファクスドライバ１２０により実行される幾つかの機能は、以下、加えて詳細に記述する。
【００１４】
スプーラ１４０は、アプリケーション１１０により生成されたファクスジョブを受信して記憶するように構成される。スプーラ１４０は、さらに、ポートモニタ１７０と通信してファクスデバイス１８０のステータスを得るように構成される。スプーラ１４０は、ファクスデバイス１８０のステータスをチェックし、ファクスデバイス１８０がファクスジョブを処理する準備ができたと判定した後、ファクスドライバ１２０のレンダリングフィルタ１３０へファクスジョブをリリースするように構成されても良い。そして、ファクスジョブは、スプーラ１４０に一時的に記憶されても良い。さらに、幾つかの実施形態において、スプーラ１４０は、スプール等のレポジトリに記憶されたファクスジョブを送信する。
【００１５】
システム通知モジュール１５０は、レンダリングフィルタ１３０、ポートモニタ１７０、若しくは、両方からの、通知を表示する要求を受信するように構成される。要求の受信に応じて、システム通知モジュール１５０は、通知を含む表示を生成する。それは、コンピューティングデバイス１８０の表示デバイス上に提示されても良い（例えば、コンピューティングデバイス１００のＩ／Ｏインタフェースにより）。通知では、ファクスデバイス１８０、ファクスドライバ１２０、若しくは、両方に関連した、そして、切断されているファクスデバイス等、ユーザに注意を要求するイベントをユーザに通知する。さらに、通知は、ユーザの応答を受信するよう構成されても良い。例えば、ユーザは、通知の表示内でのどのような箇所についてもクリック、タップ、押下することにより通知に対して応答することができる。ユーザの応答が通知を介してＩ／Ｏデバイスにより受信された場合、システム通知モジュール１５０は、プリンタ拡張１６０を呼び出す。その後、プリンタ拡張１６０の機能がトリガされる。プリンタ機能１６０の機能の付加的な詳細は後述する。システム通知モジュール１５０は、Ｗｉｎｄｏｗｓにおけるtoast notificationのようなネイティブ通知コンポーネントであっても良い。従って、システム通知モジュール１５０は、コンピューティングデバイス１００のオペレーティングシステムの一部分であっても良い。
【００１６】
プリンタ拡張１６０は、システム通知モジュール１５０等により引き起こされた時に、ユーザインタフェース（例えば、ダイアログボックス）を生成するように構成される。幾つかの実施形態において、プリンタ拡張１６０の機能は、レンダリングフィルタ１３０によりトリガされる。プリンタ拡張１６０により生成されるユーザインタフェースは、ユーザに対して情報を提示し、若しくは、コンピューティングデバイス１００のディスプレイ（例えば、コンピューティングデバイス１００のＩ／Ｏインタフェース）を介してユーザから情報を受信しても良い。ユーザインタフェースは、グラフィカルユーザインタフェースの形式で情報を提示しても良い。グラフィカルユーザインタフェースは、メッセージやダイアログボックスを示し、ユーザに対してファクスジョブ用のファクス宛先番号を入力するように促す若しくはファクスジョブをキャンセルするためのオプションを提示しても良い。また、グラフィカルユーザインタフェースは、ファクスジョブのキャンセル等、オプションのユーザ選択を受信する。情報は、ユーザに情報を見、オプションを選択させるのであれば、他のどのようなコンピュータ実行型の方法によって提示されても良い。例えば、プリンタ拡張１６０は、Ｗｉｎｄｏｗｓ８におけるプリンタ拡張アプリケーション、若しくは、Ｗｉｎｄｏｗｓ８  Ｍｅｔｒｏ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＵＩ）におけるＷｉｎｄｏｗｓストアデバイスアプリケーションであっても良いが、特にそれらに限定されない。さらに、幾つかの実施形態において、プリンタ拡張１６０は、プリンタ拡張１６０の機能の少なくとも１つを実行可能なスタンドアロンなアプリケーションであっても良い。
【００１７】
ポートモニタ１７０は、ファクスドライバ１２０とファクスデバイス１８０との間の通信を許可するように構成されている。ポートモニタ１７０は、双方向通信をサポートするために、双方向拡張（不図示）を含んでも良い。ポートモニタ１７０は、双方向機能コール（bidi-function calls）等の要求を受信し、対応する双方向機能コールの応答を生成しても良い。
【００１８】
ファクスデバイス１８０は、予め定められたファクス宛先番号へファクシミリデータを処理して送信するように構成されたどのようなファクシミリ通信デバイスであっても良い。ファクスデバイス１８０は、さらに、ポートモニタ１７０を介してコンピューティングデバイス１００と通信するように構成されている。
【００１９】
ファクス送信を管理するためのシステム内のエンティティは、エンティティ間でのデータ交換を許可する有線若しくは無線のチャネルを介して通信しても良い。
【００２０】
図２は、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。ここに記載する本方法及び他の方法のブロックは、ここに記載するシステムやデバイス等、少なくとも１つのコンピューティングデバイスにより実行されても良い。また、ここに記載する本方法及び他の方法はそれぞれある順序により提示されるが、幾つかの実施形態では、少なくとも幾つかの動作は提示された順序と異なる順序で実行しても良い。可能な異なる順序付けの例は、並列、重複、再順序付け、同時発生、増加、インターリーブによる順序付けである。従って、ここに記載する本方法及び他の方法の他の実施形態では、ブロックを省略したり、ブロックを追加したり、ブロックの順序を変更したり、ブロックを結合したり、若しくは、ブロックを多数のブロックに分割する場合がある。
【００２１】
ブロック２００において開始し、ファクスの送信要求がアプリケーション（例えば、アプリケーション１１０）で受信される。例えば、幾つかの実施形態では、ユーザは、少なくとも１つの所望のファクスオプションを選択し、アプリケーションのユーザインタフェースを介して、対象のファクスデバイス（例えば、ファクスデバイス１８０）にファクス要求を送信する。ブロック２０１において、選択されたオプション及び受信したファクス要求に従って、ファクスジョブが生成される。ファクスジョブは、ファクスジョブに特有のジョブＩＤを含む。その後、ブロック２０２において、ファクスジョブは、スプーラ（例えば、スプーラ１４０）に送信され、対象のファクスデバイスのファクスドライバを介してファクスデバイスがファクスジョブを処理する準備ができるまで記憶される。次に、ブロック２０３において、ファクスデバイスがファクスジョブを処理する準備ができているか否かが判定される。即ち、スプーラは、ファクスデバイスのステータスについてポートモニタを介してファクスデバイスへ問い合わせを送信する。ファクスデバイスのステータスが、ファクスがファクスジョブを処理する準備ができていることを示している場合（ブロック２０３＝ＹＥＳ）、フローは、ブロック２０４に進む。そうでなければ、ステータスが、ファクスデバイスがファクスジョブを処理する準備ができていないことを示している場合（ブロック２０３＝ＮＯ）、ファクスデバイスがファクスジョブを処理する準備ができるまで、フローはブロック２０３を繰り返す。ある実施形態では、ステータス問い合わせの数は、管理者やユーザによりプリファレンス設定において設定される。ブロック２０４において、ファクスジョブは、スプーラからレンダリングフィルタ（例えば、レンダリングフィルタ１３０）で受信される。その後、フローは、ブロック２０５に進む。
【００２２】
ブロック２０５において、ファクスジョブ用のファクス宛先番号が取得されているか否かが判定される。ファクスジョブ用のファクス宛先番号が取得されているかの判定は、ファクスジョブに含まれるジョブＩＤを送信することにより、そして、ジョブＩＤ（例えば、ファクスジョブ）用のファクス宛先番号が対象のファクスデバイスに格納されているかを確認することにより行われても良い。ファクス宛先番号が対象のファクスデバイスに格納されている場合、ファクス宛先番号は、取得されていると判定される。そうでなければ、ファクス宛先番号が対象のファクスデバイスに格納されていない場合、ファクス宛先番号は、取得されていないと判定される。幾つかの実施形態において、その判定は、ジョブＩＤ（例えば、ファクスジョブ）用のファクス宛先番号がデータベースに格納されているかを確認することにより行われる。データベースは、コンピューティングデバイスに含まれても良いし、外部にあってコンピューティングデバイスに接続されていても良い。さらに、データベースは、有線若しくは無線を介してコンピューティングデバイスと通信しても良い。ファクス宛先番号がデータベースに格納されている場合、ファクス宛先番号は、取得されていると判定される。そうでなければ、ファクス宛先番号がデータベースに格納されていない場合、ファクス宛先番号は、取得されていないと判定される。幾つかの他の実施形態において、その判定は、ファクス宛先番号がファクスジョブに含まれているかを確認することにより行われる。即ち、ファクス宛先番号がファクスジョブに含まれている場合、ファクス宛先番号は、取得されていると判定される。そうでなければ、ファクス宛先番号がファクスジョブに含まれていない場合、ファクス宛先番号は、取得されていないと判定される。ファクス宛先番号が取得されていると判定された場合（ブロック２０５＝ＹＥＳ）、フローは、ブロック２０６に進む。そうでなければ、ファクス宛先番号が取得されていないと判定された場合（ブロック２０５＝ＮＯ）、フローは、ブロック２０８とブロック２０９に進む。
【００２３】
ブロック２０６において、ファクス宛先番号が取得されていると判定された後、スプーラから受信されたファクスジョブはレンダリングされ、プリントコマンドストリームがレンダリングフィルタで生成される。その後、ブロック２０７において、プリントコマンドストリームは、レンダリングフィルタから対象のファクスデバイスへポートモニタを介して送信される。その後、対象のファクスデバイスは、プリントコマンドストリームをファクスジョブのファクス宛先番号へ送信する。幾つかの実施形態において、ファクスジョブのファクス宛先番号は、ファクスジョブがファクス宛先番号へ送信された後、対象のファクスデバイスから削除される。その後、フローは終了する。
【００２４】
ブロック２０５においてファクスジョブのファクス宛先番号が取得されていないと判定された場合、ブロック２０８において、ファクスジョブはリスタートされる。例えば、レンダリングフィルタは、ファクスジョブをリスタートするために、スプーラに指示を送信する。そして、フローはブロック２０３に戻る。
【００２５】
加えて、ブロック２０５においてファクスジョブのファクス宛先番号が取得されていないと判定された場合、ブロック２０９において、ドライバイベントが引き起こされる（raise）。ドライバイベントは、検出されたときにシステム通知の表示が引き起こされるような予め特定されたイベントであっても良い。
【００２６】
次に、ブロック２１０において、システム通知がシステム通知モジュール（例えばシステム通知モジュール１５０）により、コンピューティングデバイスの表示デバイスを介して（例えば、コンピューティングデバイス１００のＩ／Ｏインタフェースを介して）表示される。幾つかの実施形態において、システム通知は、システム通知が予め定められた時間表示されるように構成される。さらに、システム通知は、予め定められた時間の後に消滅するように構成され、予め定められた時間の後、再び現れるようにしても良い。例えば、ユーザが予め定められた時間内にシステム通知に応答しなかった場合、システム通知は消滅する。その後、他の予め定められた時間の後、システム通知は、再び表示されるようにしても良い。システム通知の数は、ユーザやシステム管理者により任意に設定されても良い。さらに、システム通知モジュールは、システム通知を介してユーザの応答を受信しても良い。
【００２７】
ブロック２１１において、ユーザがシステム通知に応答したかが判定される。ユーザは、クリック、タップ、システム通知上のどの部分での押下によって、システム通知に応答しても良い。ユーザがシステム通知に応答する場合（ブロック２１１＝ＹＥＳ）、フローは、ブロック２１２に進む。そうでなければ、ユーザがシステム通知に応答しない場合（ブロック２０１１＝ＮＯ）、フローはブロック２１１を繰り返す。
【００２８】
ブロック２１２において、ユーザがシステム通知に応答するのに応じて、ユーザからファクス宛先番号を取得するためのユーザインタフェース（ＵＩ）がコンピューティングデバイスのディスプレイに表示される。ＵＩは、ユーザがファクス宛先番号を入力するためのスペースを有しても良い。ＵＩは、また、そのスペースにファクス宛先番号を入力するようユーザを促すメッセージを含んでも良い。
【００２９】
その後、ブロック２１３において、ファクス宛先番号が、ブロック２１２で表示されたＵＩを介して取得される。ファクスジョブ用のファクス宛先番号が存在するかの判定がファクスデバイスへの問い合わせにより行われた場合、取得されたファクス宛先番号は、ジョブＩＤに関連付けられる。そして、ジョブＩＤに関連付けられたファクス宛先番号は、ファクスデバイスに格納される。
【００３０】
ファクスジョブ用のファクス宛先番号が存在するかの判定がデータベースを確認することにより行われた場合、取得されたファクス宛先番号は送信されて、データベースに格納される。ファクス宛先番号は、データベースに格納される前にジョブＩＤと関連付けられても良い。
【００３１】
ファクスジョブ用の宛先番号が存在するかの判定がファクスジョブを確認することにより行われた場合、取得されたファクス宛先番号は、プリンタ拡張でファクスジョブに含まれる。その後、ファクス宛先番号を含むファクスジョブがレンダリングフィルタを介してファクスデバイスに送信される。
【００３２】
図３Ａは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。ファクスデバイス（例えば、ファクスデバイス１８０）がファクスジョブを処理する準備ができていると判定された後、スプーラ（例えば、スプーラ１４０）は、ブロックＡ３００の前に、レンダリングフィルタ（例えば、レンダリングフィルタ１３０）へファクスジョブを送信する。
【００３３】
次に、ブロックＡ３００において、スプーラからファクスジョブを受信したレンダリングフィルタは、ファクスデバイスへファクス宛先番号の問い合わせを送信する。即ち、レンダリングフィルタは、スプーラから送信されたファクスジョブのファクス宛先番号がファクスデバイスに格納されているかについて、ファクスデバイスへ問い合わせを送信する。ファクス宛先番号の問い合わせは、ポートモニタを介してファクスデバイスへ送信されても良い。ブロックＡ３０１において、レンダリングフィルタは、ファクスデバイスから、ファクス宛先番号の問い合わせへの応答を受信する。その後、ブロックＡ３０２において、レンダリングフィルタは、ファクス宛先番号についてファクスデバイスから受信した応答に従って、ファクスデバイスがファクスジョブ用のファクス宛先番号を有するかを判定する。ファクスデバイスがファクスジョブ用のファクス宛先番号を有する場合（ブロックＡ３０２＝ＹＥＳ）、フローは、ブロックＡ３０３に進む。そうでなければ、ファクスデバイスがファクスジョブ用のファクス宛先番号を有さない場合（ブロックＡ３０２＝ＮＯ）、フローは、ブロックＡ３０５及びブロックＡ３０６に進む。
【００３４】
ファクス宛先番号がファクスデバイスに格納されている場合、ブロックＡ３０３において、レンダリングフィルタは、ファクスジョブをレンダリングし、ファクスジョブによりサポートされるフォーマットでプリントコマンドストリーム（例えば、プリントコマンドストリーム）を生成する。その後、ブロックＡ３０４において、レンダリングフィルタは、ファクスデバイスへプリントコマンドストリームを送信する。ファクスデバイスがプリントコマンドストリームを受信する場合、ファクスデバイスは、ファクスジョブのファクス宛先番号へファクスを送信する。
【００３５】
ファクスジョブのファクス宛先番号がファクスデバイスに格納されていない場合、ブロックＡ３０５において、レンダリングフィルタは、ファクスジョブをリスタートするために、スプーラへ指示を送信する。幾つかの実施形態において、レンダリングフィルタは、ファクス宛先番号がファクスデバイスに存在しないという判定の後はいつでも、ファクスジョブをリスタートするための要求を送信しても良い。その後、フローは、Ａ３００に戻る。
【００３６】
加えて、ファクスジョブのファクス宛先番号がファクスデバイスに格納されていない場合、ブロックＡ３０６において、レンダリングフィルタは、ドライバイベントを呼び出す（引き起こす）。ドライバイベントは、ファクスドライバや対象のファクスデバイスに関連付けられ、ある処理を発生させる契機となる予め定められたイベントである。例えば、ドライバイベントが引き起こされたとき、イベントハンドラが引き起こされる。その後、イベントハンドラは、ドライバイベントに関連付けられた少なくとも１つの機能をトリガする。少なくとも１つの機能は、前もってドライバイベントと関連付けられている。さらに、ドライバイベントは、ドライバイベントをトリガするコマンドをファクスデバイスへ送信することにより引き起こされても良い。幾つかの実施形態において、ドライバイベントは、予め定義されたステータスを示すデバイスステータスビットをオンとオフに切り換えることにより引き起こされる。さらに、ドライバイベントファイルが、プリントスキーマにおいて双方向通信スキーマプロパティをトリガするイベントを加えるように生成される。ドライバイベントが引き起こされた後、ブロックＡ３０７において、システム通知が、コンピューティングデバイスのＩ／Ｏインタフェースを介して表示される。幾つかの実施形態において、レンダリングフィルタは、例えば、共通のアプリケーションプログラミングインタフェースでシステム通知モジュールと直接に通信することによりシステム通知を表示するようシステム通知モジュールへ要求を送信する。システム通知は、コンピューティングデバイスのディスプレイ上のどの部分に表示されても良い。例えば、幾つかの実施形態において、システム通知は、ディスプレイの上右隅に表示される。さらに、システム通知は、ユーザ応答を受信するように設計される。
【００３７】
ブロックＡ３０８において、ユーザがブロックＡ３０６において表示されたシステム通知に応答したかが判定される。システム通知では、例えば、コンピューティングデバイスのＩ／Ｏインタフェースを介して表示されたシステム通知をクリック、タップ、タッチ、押下することにより、システム通知に応答した場合（ブロックＡ３０８＝ＹＥＳ）、プリンタ拡張が起動され、フローはブロックＡ３０９に進む。そうでなければ、ユーザは、システム通知に応答していない場合（ブロックＡ３０８＝ＮＯ）、ブロックＡ３０８が繰り返される。システム通知は、ユーザが応答するまでディスプレイ上に繰り返し表示される。
【００３８】
ブロックＡ３０９において、ファクスジョブ用のファクス宛先番号を入力するようにユーザを促すためのユーザインタフェース（ＵＩ）がプリンタ拡張により表示される。ＵＩは、ファクス宛先番号をユーザから取得可能なダイアログボックスであっても良い。ブロックＡ３１０において、プリンタ拡張は、ＵＩを介してユーザからファクスジョブのファクス宛先番号を取得する。ブロックＡ３１１において、ファクス宛先番号は、プリンタ拡張からファクスデバイスへ送信される。ファクス宛先番号は、ファクスデバイスに格納されても良い。
【００３９】
図３Ｂは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。ファクスデバイスがファクスジョブを処理する準備ができていると判定された後、スプーラは、ファクスジョブをレンダリングフィルタへ送信する。
【００４０】
ブロックＢ３００において、レンダリングフィルタは、ファクスジョブのファクス宛先番号用のデータベースをチェックする。データベースは、コンピューティングデバイスに含まれても良い。幾つかの実施形態において、データベースは、外部的にコンピューティングデバイスに接続される。ブロックＢ３０１において、レンダリングフィルタは、ファクスジョブ用のファクス宛先番号がデータベースに格納されているかを判定する。ファクスジョブ用のファクス宛先番号がデータベースに格納されている場合（ブロックＢ３０１＝ＹＥＳ）、フローは、ブロックＢ３０２へ進む。そうでなければ、ファクスジョブ用のファクス宛先番号がデータベースに格納されていない場合（ブロックＢ３０１＝ＮＯ）、フローは、ブロックＢ３０６及びブロックＢ３０７へ進む。
【００４１】
ファクス宛先番号がデータベースに格納されている場合、ブロックＢ３０２において、レンダリングフィルタは、ファクスジョブのファクス宛先番号をデータベースから取得する。ブロックＢ３０３において、レンダリングフィルタは、ファクスジョブをレンダリングし、ファクスジョブに従ってプリントコマンドストリームを生成する。
【００４２】
その後、ブロックＢ３０４において、レンダリングフィルタは、データベースから取得したファクスジョブのファクス宛先番号をプリントコマンドストリームに含める。幾つかの実施形態において、レンダリングフィルタがファクスジョブのファクス宛先番号をデータベースから取得した後、プリンタコマンドストリームに含められる代わりに、ファクスジョブのファクス宛先番号は、対象のファクスデバイスへ送信されて格納される。そのような実施形態においては、ブロックＢ３０４は省略される。そして、ファクスジョブのファクス宛先番号とプリントコマンドストリームは、別個に対象のファクスデバイスへ送信される。
【００４３】
ブロックＢ３０５において、レンダリングフィルタは、プリントコマンドストリームを対象のファクスデバイスへ送信する。プリントコマンドストリームは、対象のファクスデバイスにより理解されるフォーマットである。対象のファクスデバイスがプリントコマンドストリームを受信したとき、対象のファクスデバイスは、プリントコマンドストリームをプリントコマンドストリームに関連付けられたファクス宛先番号へ送信する。
【００４４】
ファクス宛先番号がデータベースに格納されていない場合、ブロックＢ３０６において、レンダリングフィルタは、ファクスジョブをリスタートするよう指示する。その後、フローはブロックＢ３００に戻る。
【００４５】
加えて、ファクスジョブのファクス宛先番号がデータベースに格納されていない場合、ブロックＢ３０７において、レンダリングフィルタは、ドライバイベントを引き起こす。ドライバイベントは、ファクスドライバ若しくは対象のファクスデバイスに関連し、ある処理を発生させるトリガとなる予め定義されたイベントである。例えば、ドライバイベントが引き起こされたとき、イベントハンドラが引き起こされる。その後、イベントハンドラは、ドライバイベントに関連付けられた少なくとも１つの機能をトリガする。その少なくとも１つの機能は、前もってドライバイベントに関連付けられている。さらに、ドライバイベントは、ドライバイベントをトリガするコマンドをファクスデバイスへ送信することにより引き起こされても良い。幾つかの実施形態において、ドライバイベントは、予め定義されたステータスを示すデバイスステータスビットをオンとオフに切り換えることによって引き起こされる。さらに、ドライバイベントファイルが、プリントスキーマにおいて双方向通信スキーマプロパティをトリガするイベントを追加するように作成される。ドライバイベントが引き起こされた後、ブロックＢ３０８において、システム通知がコンピューティングデバイスのＩ／Ｏインタフェースを介して表示される。幾つかの実施形態において、レンダリングフィルタは、例えば、共通のアプリケーションプログラミングインタフェースで、システム通知モジュールと直接に通信することによりシステム通知を表示するようシステム通知モジュールに要求を送信する。システム通知は、コンピューティングデバイスのディスプレイ上のどの部分に表示されても良い。例えば、幾つかの実施形態において、システム通知は、ディスプレイの上右隅に表示される。さらに、システム通知は、ユーザ応答を受信するように設計されても良い。
【００４６】
ブロックＢ３０９において、ユーザがシステム通知に応答したかが判定される。ユーザがシステム通知に応答した場合（ブロックＢ３０９＝ＹＥＳ）、プリンタ拡張が起動され、フローはブロックＢ３１０に進む。そうでなければ、ユーザがシステム通知に応答していない場合（ブロックＢ３０９＝ＮＯ）、ユーザがシステム通知に応答するまで、ブロックＢ３０９が繰り返される。
【００４７】
ユーザがシステム通知に応答し、プリンタ拡張が起動された場合、ブロックＢ３１０において、プリンタ拡張は、ファクスジョブ用のファクス宛先番号を入力するようユーザを促すＵＩを表示する。その後、ブロックＢ３１１において、ファクス宛先番号が、ＵＩを介してユーザから取得される。ブロックＢ３１２において、プリンタ拡張は、取得されたファクス宛先番号をデータベースへ送信する。
【００４８】
図３Ｃは、ファクス送信を管理する方法の一例となる実施形態を示すフローチャートである。ファクスデバイスがファクスジョブを処理する準備ができていると判定された場合、スプーラは、ファクスジョブをレンダリングフィルタへ送信する。
【００４９】
その後、ブロックＣ３００において、レンダリングフィルタは、ファクスジョブのファクス宛先番号用のスプーラから受信したファクスジョブをチェックする。ファクスジョブは、ファクスジョブ用の選択されたオプションを記述するＸＭＬデータであるプリントチケットを含む。従って、レンダリングフィルタは、ファクスジョブをパースし、ファクス宛先番号がファクスジョブのプリントチケットに含まれているかをチェックする。
【００５０】
ブロックＣ３０１において、ファクス宛先番号がファクスジョブに含まれているかが判定される。ファクス宛先番号がファクスジョブのプリントチケットに含まれている場合（ブロックＣ３０１＝ＹＥＳ）、フローは、ブロックＣ３０２に進む。そうでなければ、ファクス宛先番号がファクスジョブのプリントチケットに含まれていない場合（ブロックＣ３０１＝ＮＯ）、フローはブロックＣ３０６及びブロックＣ３０７に進む。
【００５１】
ファクスジョブのプリントチケットがファクスジョブ用のファクス宛先番号を含む場合、ブロックＣ３０２において、レンダリングフィルタは、プリントチケットからファクス宛先番号を取得する。その後、ブロックＣ３０３において、レンダリングフィルタは、ファクスデバイスにより理解されるフォーマットであるプリントコマンドストリームにファクスジョブをレンダリングする。プリントコマンドストリームのフォーマットは、プリントコマンドストリームであっても良い。次に、ブロックＣ３０３において、レンダリングフィルタは、プリントチケットから取得したファクス宛先番号をプリントコマンドストリームに含める。幾つかの実施形態において、ファクス宛先番号をプリントコマンドストリームに含める代わりに、レンダリングフィルタは、対象となるファクスデバイスへファクス宛先番号を送信する。そのような実施形態において、ブロックＣ３０４は、省略される。そして、ファクス宛先番号及びプリントコマンドストリームは、別個に対象のファクスデバイスへ送信される。
【００５２】
ブロックＣ３０５において、レンダリングフィルタは、プリントコマンドストリームをファクスデバイスへ送信する。プリントコマンドストリームは、ポートモニタを介してレンダリングフィルタからファクスデバイスへ送信されても良い。ファクスデバイスがプリントコマンドストリームを受信したとき、ファクスデバイスは、プリントコマンドストリームに従って、ファクス宛先番号へプリントコマンドストリームを送信する。
【００５３】
ファクスジョブのプリントチケットがファクスジョブ用のファクス宛先番号を含んでいない場合、ブロックＣ３０６において、レンダリングフィルタは、ファクスジョブをリスタートするようスプーラを指示し、フローはブロックＣ３００に戻る。
【００５４】
さらに、ファクスジョブのプリントチケットがファクスジョブ用のファクス宛先番号を含んでいない場合、ブロックＣ３０７において、レンダリングフィルタは、例えば、ドライバイベントを引き起こすようファクスデバイスへ要求を送信することにより、ドライバイベントを引き起こす。ブロックＣ３０８において、ドライバイベントが引き起こされた後、システム通知が、コンピューティングデバイスのＩ／Ｏインタフェースを介してシステム通知モジュールにより表示される。システム通知は、ユーザの注意を必要とするイベントをユーザに通知する。システム通知は、システム通知へ応答するようユーザを促し、ユーザの応答を受信するようさらに構成されても良い。
【００５５】
ブロックＣ３０９において、ユーザがシステム通知に応答したかが判定される。ユーザが、例えば、システム通知をクリック、タップ、若しくは押下することにより、システム通知に応答している場合（ブロックＣ３０９＝ＹＥＳ）、フローは、Ｃ３１０に進む。そうでなければ、ユーザがシステム通知に応答していない場合（ブロックＣ３０９＝ＮＯ）、ブロックＣ３０９が繰り返される。
【００５６】
ブロックＣ３１０、プリンタ拡張は、コンピューティングデバイスのディスプレイを介してユーザにユーザインタフェース（ＵＩ）を表示する。ＵＩは、ファクスジョブを識別し、識別されたファクスジョブに関連付けられたファクス宛先番号をＵＩに設けられたスペースに入力するようユーザを促すメッセージを含んでも良い。ブロックＣ３１１において、プリンタ拡張は、ＵＩを介してファクスジョブのファクス宛先番号を取得する。ブロックＣ３１２において、プリンタ拡張は、プリントチケットにファクス宛先番号を組み込む。
【００５７】
図４は、システム通知４００の一例となる実施形態を示す。システム通知４００は、対象のファクスデバイス（例えば、ファクスデバイス１８０）でファクスジョブの処理中に問題（例えば、ドライバイベント）が生じたときに、ユーザに問題を通知する。例えば、その問題は、ファクスジョブ用のファクス宛先番号がないことや、ネットワークの接続断、若しくは、電話線ビジーであっても良い。システム通知４００は、ポップアップメッセージとして、コンピューティングデバイス（例えば、コンピューティングデバイス１００）のＩ／Ｏインタフェースを介して提示される。さらに、システム通知４００は、クリック、タップ、タッチ、若しくは押下等、ユーザ応答を受信するよう構成される。図示されるシステム通知５００により、ディスプレイボックスに「あなたのファクスデバイスはあなたの注意を必要としています。ファクス問題が発生しました」が表示されることでファクスデバイスで生じた問題をユーザに通知した場合でも、ディスプレイボックス内のメッセージは、システム通知４００をクリック、タップ、タッチ、若しくは、押下することでシステム通知４００へ応答するようユーザを促すメッセージを含んでも良い。
【００５８】
図５は、ダイアログボックス（例えば、ファクス宛先番号を取得するためのＵＩ）の一例となる実施形態を示す。ダイアログボックスは、ファクス対象のドキュメントの記述や、記述されたファクスジョブ用のファクス宛先番号を入力するようユーザを促すメッセージや、ファクス宛先番号（例えば、ファクス番号）を入力するためのスペース、ファクス宛先番号を保存する若しくはドキュメントのファクスをキャンセルするオプション、を含む。ドキュメントの記述は、ファクスジョブ識別子（ＩＤ）であっても良く、連続した番号及び／又はアルファベット文字、送信時間（submission time）及び日付、及び／又は、ユーザＩＤとして提示される。ユーザがドキュメントのファクスを中断すると判断した場合、ユーザは、ダイアログボックスの隅に位置するキャンセルボタン若しくはＸボタンを選択する。そうでなければ、ユーザは、ファクス宛先番号を入力し、ドキュメントのファクスに進むために保存ボタンを選択する。ダイアログボックスは、コンピューティングデバイス（例えば、コンピューティングデバイス１００のＩ／Ｏインタフェース）を介して表示される。
【００５９】
上述のデバイス、システム、方法は、少なくとも１つのコンピューティングデバイスで上述の動作を実現するためのコンピュータ実行可能な指示を記憶する少なくとも１つのコンピュータ読取可能な媒体を供給することにより実現され得る。少なくとも１つのコンピューティングデバイスは、コンピュータ実行可能な指示を読み出して実行するよう構成される。本ケースでは、システム若しくはデバイスは、コンピュータ実行可能な指示を実行する際、上述の実施形態の動作を実行する。また、少なくとも１つのシステムやデバイス上のオペレーティングシステムが上述の実施形態の動作を実行しても良い。従って、コンピュータ実行可能な指示や、コンピュータ実行可能な指示を記憶する少なくとも１つのコンピュータ読取可能な媒体は実施形態を構成する。
【００６０】
いかなるコンピュータ読取可能な媒体（例えば、磁気ディスク（フロッピーディスクやハードディスクを含む）、光ディスク（ＣＤ、ＤＶＤ、ブルーレイディスクを含む）、磁気光学ディスク、磁気テープ、ソリッドステートメモリ（フラッシュメモリ、ＤＲＡＭ、ＳＲＡＭ、ソリッドステートドライブを含む）が、コンピュータ実行可能な指示のためのコンピュータ読取可能な媒体として用いられ得る。コンピュータ実行可能な指示は、デバイスに挿入された機能拡張ボード、若しくはデバイスに接続された機能拡張ユニット上に設けられたコンピュータ読取可能な媒体に書き込まれても良い。そして、機能拡張ボード若しくはユニット上に設けられたＣＰＵが、上述の実施形態の動作を実行しても良い。
【００６１】
上記の開示が図示された実施形態を記述する一方、上記の開示に限られないと理解されるべきである。対して、発明は、付加されたクレームの範囲や思想内で、様々な変更や等価な構成をカバーする。
【符号の説明】
【００６２】
１００  コンピューティングデバイス：  １１０  アプリケーション：  １２０  ファクスドライバ：  １３０  レンダリングフィルタ：  １４０  スプーラ：  １５０  システム通知モジュール：  １６０  プリンタ拡張：  １７０  ポートモニタ
【図１】
2017073836.tif 000003
【図２】
2017073836.tif 000004
【図３Ａ】
2017073836.tif 000005
【図３Ｂ】
2017073836.tif 000006
【図３Ｃ】
2017073836.tif 000007
【図４】
2017073836.tif 000008
【図５】
2017073836.tif 000009