説明

通信装置及びプログラム

【課題】適切なタイミングで通信装置とのセッションを終了するための技術を提供する。
【解決手段】
通信装置は、セッション制御手段と、取得手段と、確認手段と、を備える。セッション制御手段は、他の通信装置にデータを送信するために、他の通信装置との間で確立されるセッションを制御する。取得手段は、他の通信装置にデータが送信された後に、他の通信装置から、他の通信装置でデータに従った出力を完了するために要する完了期間に関する期間情報を取得する。確認手段は、期間情報に基づいて、完了期間が経過した後に、データに従った出力が既に完了しているか否かを、他の通信装置に対して問い合わせることによって確認する。セッション制御手段は、確認手段によって、他の通信装置でデータに従った出力が既に完了していることが確認された場合に、他の通信装置とのセッションを終了する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定の通信装置にデータを送信するための通信装置に関する。
【背景技術】
【0002】
従来より、通信装置間でデータを送受信する際に、第1の通信装置からデータを受信した第2の通信装置が、第2の通信装置でデータに従った出力を実行した後、出力が完了した旨の情報を、第1の通信装置に送信する技術がある。ここで、出力が完了した旨の情報を第2の通信装置から受け取ることに際し、例えば特許文献1では、データを受信した画像形成装置が、受信データに対する応答(受信データに係るデコード処理)までに所定値以上の時間を要するか否かの判定を行い、当該所定値以上の時間を要すると判断された場合は、エラーコードを返信して通信セッションを切断している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−206674号公報
【特許文献2】特開2007−6263号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、データの出力が完了したことが確認されない段階で、通信セッションを切断しているという問題があった。本発明は、上述した問題点を解決するためになされたものであり、適切なタイミングで通信装置とのセッションを終了するための技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
この目的を達成するために、本発明の第1の装置は、特定の通信装置にデータを送信するための通信装置であって、前記特定の通信装置に前記データを送信するために、前記特定の通信装置との間で確立されるセッションを制御するセッション制御手段と、前記特定の通信装置に前記データが送信された後に、前記特定の通信装置から、前記特定の通信装置が前記データに従った出力を完了するために要する完了期間に関する期間情報を取得する取得手段と、前記期間情報に基づいて、前記完了期間が経過した後に、前記データに従った出力が既に完了しているか否かを、前記特定の通信装置に対して問い合わせることによって確認する確認手段とを備え、前記セッション制御手段は、前記確認手段によって、前記特定の通信装置で前記データに従った出力が既に完了していることが確認された場合に、前記特定の通信装置とのセッションを終了することを特徴とする。
【0006】
この構成により、第1の装置は、特定の通信装置でデータに従った出力が完了したことを確認してからセッションを終了することができるため、適切なタイミングで特定の通信装置とのセッションを終了することができる。
【0007】
また、上記の装置は、前記期間情報を送信するように、前記特定の通信装置に対して要求する要求手段を備え、前記取得手段は、前記確認手段によって、前記特定の通信装置で前記データの出力が完了したことが確認されない場合に、さらに、前記特定の通信装置から、前記期間情報を再度取得すること特徴とすることが好ましい。
【0008】
この構成により、特定の通信装置でデータの出力が完了したことが確認されない場合に、特定の通信装置から再度期間情報を取得することができる。このため、例えば、データに従った出力が完了したことが確認されるまで、特定の通信装置とのセッションを維持することができる。
【0009】
また、上記の装置は、さらに、前記完了期間が、特定の期間を超過するか否かを判断する判断手段を備え、前記セッション制御手段は、前記判断手段によって、前記完了期間が前記特定の期間を超過しないと判断される場合に、前記特定の通信装置とのセッションを維持し、前記判断手段によって、前記完了期間が前記特定の期間を超過すると判断される場合に、前記特定の通信装置とのセッションを終了することを特徴とすることが好ましい。
【0010】
この構成により、特定の期間が超過するか否かに応じて、特定の通信装置とのセッションを維持するか終了するかを切り替えることができる。このため、例えば、特定の期間が経過すると、ステップ状に料金が課金される場合に、セッションを維持するための通信料金を減少させることができる。
【0011】
また、上記の装置において、前記セッション制御手段は、前記判断手段によって、前記完了期間が前記特定の期間を超過すると判断される場合に、前記特定の通信装置とのセッションを終了し、第1の期間が経過した後に、再度前記特定の通信装置とのセッションを確立し、前記確認手段は、前記特定の通信装置とのセッションが再度か確立された後に、前記特定の通信装置で前記データの出力が完了しているか否かを、前記特定の通信装置に対して問い合わせることによって確認することを特徴とすることが好ましい。
【0012】
この構成により、特定の通信装置とのセッションを終了した後に、再度特定の通信装置とのセッションを確立することができるため、再度特定の通信装置でデータに従った出力が完了したか否かを確認することができる。
【0013】
また、上記の装置において、前記セッション制御手段は、1台の前記特定の通信装置に対して前記データが送信される場合に、前記1台の特定の通信装置で前記データの出力が完了したことが確認された後に、前記1台の特定の通信装置とのセッションを終了し、複数台の前記特定の通信装置に対して前記データが順次送信される場合に、前記データが送信された第1の前記特定の通信装置での前記データの出力が完了したことが確認される前に、前記第1の特定の通信装置とは異なる第2の特定の通信装置に前記データを送信するために、前記第1の特定の通信装置とのセッションを終了することを特徴とすることが好ましい。
【0014】
この構成により、複数台の通信装置に対して順次データを送信する場合に、第1の通信装置でのデータに従った出力が完了したことが確認される前に、第2の通信装置に対してもデータを送信することができる。そのため、第1の通信装置でのデータに従った出力が完了したことが確認されてから第2の通信装置にデータを送信する場合に比べて、セッションを維持している期間を短縮させることができる。
【0015】
また、上記の装置において、前記セッション制御手段は、複数台の前記特定の通信装置に対して前記データが順次送信される場合に、前記第2の特定の通信装置に前記データが送信された後に、前記第1の特定の通信装置とのセッションを再度確立し、前記確認手段は、前記第1の特定の通信装置とのセッションが再度確立された後に、前記第1の通信装置で前記データの出力が完了しているか否かを、前記特定の第1の通信装置に対して問い合わせることによって確認することを特徴とすることが好ましい。
【0016】
この構成により、複数台の通信装置に対して順次データを送信する場合に、第2の通信装置にデータを送信した後に、第1の通信装置とのセッションを再度確立することができる。そのため、第1の通信装置でのデータの出力が完了したことが確認されてから第2の通信装置にデータを送信する場合に比べて、セッションを維持している期間を短縮させることができるとともに、第1の通信装置でデータに従った出力が完了したことを確認できる。
【0017】
また、上記の装置において、前記セッション制御手段は、前記確認手段が、前記特定の通信装置での前記データの出力が完了しているか否かを問い合わせてから第2の期間を超過しても、前記データに従った出力が完了しているか否かを確認できない場合に、前記特定の通信装置とのセッションを終了することが好ましい。
【0018】
この構成により、第2の期間を超過した場合はセッションを終了することができるため、例えば、特定の通信装置に異常が発生した場合はセッションを終了することができる。
【0019】
また、上記の装置において、前記確認手段は、前記完了期間が経過しているか否かに関わらず、特定の期間が経過する時刻から第3の期間だけ後に、前記データの出力が完了しているか否かを、前記特定の通信装置に対して問い合わせることを特徴とすることが好ましい。
【0020】
この構成により、特定の期間が経過しているか否かにかかわらず、特定の期間が経過する時刻よりも第3の期間だけ前に特定の通信装置に対してデータの出力が完了しているかを確認することができるため、例えば、特定の期間が経過する前にデータに従った出力が完了している場合には、セッションを終了することができ、セッションを維持するための期間を短縮させることができる。
【0021】
なお、この発明は、通信装置及び通信装置で実行される方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。
【図面の簡単な説明】
【0022】
【図1】第1実施例における通信システムの構成を示すブロック図。
【図2】料金体系の具体例を示す図。
【図3】通信システムを示すシーケンス図。
【図4】第1実施例におけるFAX装置10の通信処理における動作を説明するフローチャート。
【図5】セッション確立処理を示すフローチャート。
【図6】第2実施例におけるFAX装置10の通信処理を説明するフローチャート。
【図7】第2実施例における印刷完了を確認するタイミングを示す図
【図8】第3実施例におけるFAX装置10の通信処理を説明するフローチャート。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について以下の順序で説明する。
A.第1実施例:
A−1.通信システムの構成:
A−1−1.FAX装置の構成:
A−1−2.通信システムで用いられる機器:
A−1−3.料金情報:
A−2.通信処理の概要:
A−2−1.通信システムの動作:
A−2−2.FAX装置の通信処理:
A−2−3.セッション確立処理:
B.第2実施例:
C.第3実施例:
D.まとめ:
【0024】
A.第1実施例:
A−1.通信システムの構成:
図1は、第1実施例における通信システムの構成を示すブロック図である。図1に示すように、本通信システムは、2つのLAN100、200を含む。なお、LAN100、200は、例えば、一般家庭内や企業内において構築される。
【0025】
LAN100は、FAX装置10と、ゲートウェイ60と、を備える。LAN100は、LANケーブル30Aに接続されるゲートウェイ60を介して、インターネット40と接続されている。LAN200は、FAX装置70と、ゲートウェイ110と、を備える。LAN200は、LANケーブル30Bに接続されるゲートウェイ110を介して、インターネット40と接続されている。さらに、インターネット40には、SIPサーバ80が接続されている。
【0026】
また、FAX装置10及びFAX装置70は、PSTN90によって接続されている。PSTN90は、回線交換方式によって接続される電話回線ネットワークである。
【0027】
FAX装置10は、PSTNFAX機能と、IPFAX機能と、を備える。PSTNFAX機能は、PSTN90で用いられる外線番号を用いて、PSTNインターフェース29を介してFAX通信(即ちFAXデータの送受信)を実行するための機能である。IPFAX機能は、URI(Uniform Resource Identifier)を用いて、IP網(LANケーブル30A、インターネット40等)を介してFAX通信を実行するための機能である。なお、IPFAX機能は、SIP(Session Initiation Protocol)の通信方式に従って実現される。当該IPFAX機能によって通信処理が行われるため、通信システムに、ゲートウェイと、SIPサーバと、が備えられている。
【0028】
なお、第1実施例ではインターネット40に接続されるLANが2つであるとして説明を行うが、1つのLANが接続される通信システムであっても良いし、3つ以上のLANが接続される通信システムであっても良い。
【0029】
A−1−1.FAX装置の構成:
次に、図1を用いて、第1実施例におけるFAX装置10の構成を説明する。
【0030】
FAX装置10は、CPU21、RAM22、NVRAM23、スキャン実行部24、表示部25、印刷実行部26、操作部27、ネットワークインターフェース28、PSTNインターフェース29を備えており、各々がバス線で互いに接続されている。
【0031】
CPU21は、FAX装置10の動作を制御する。第1実施例では、NVRAM23は、他のFAX装置との通信を制御するための通信プログラム23Aと、ユーザによって入力された少なくとも1つの他のFAX装置のFAX番号を含むアドレス帳23Bと、料金情報23Cと、を記憶している。CPU21は、NVRAM23に記憶されている通信プログラムを読み出してRAM22に格納し、当該通信プログラムを実行する。これにより、CPU21は、FAX装置20によって実行される通信処理を制御することができる。料金情報23Cについては、後述する。
【0032】
スキャン実行部24は、CCD等から成るスキャン機構を備え、原稿をスキャンすることによってスキャンデータを生成する。
【0033】
表示部25は、パネルを備えており、各種の画面を表示する。操作部27は、複数のボタンを備えている。ユーザは、操作部27を操作することによって、表示部25に表示される項目を選択する。なお、表示部25は、タッチパネルであってもよい。この場合、表示部25は、操作部27としても機能し、ユーザは、表示部25に表示された画面内の一部の領域に触れることによって項目を選択する。
【0034】
CPU21は、通信プログラムに従ってスキャン実行部24に原稿をスキャンさせ、スキャンによって生成されたスキャンデータをRAM22に格納する。ユーザは、操作部27に備えられたボタンを操作することによって、通信先のFAX装置を選択する。これにより、CPU21は、ネットワークインターフェース28と接続されたLAN(ローカルエリアネットワーク)ケーブル30を介して、選択された他のFAX装置にスキャンデータを送信することができる。
【0035】
印刷実行部26は、レーザ方式等の印刷機構を備えている。CPU21は、ユーザの指示に従って、RAM22に格納されているスキャンデータを印刷実行部26に印刷出力させることができる。
【0036】
A−1−2.通信システムで用いられる機器:
続いて、第1実施例での通信システムで用いられる機器について説明する。具体的には、ゲートウェイ60、110と、SIPサーバ80と、について説明を行う。
【0037】
ゲートウェイ60は、LAN100とインターネット40とを仲介する機能を保有する機器であり、SIP−URIが1つ割り当てられる。SIP−URIは、IPFAX機能を用いて通信を行うために使用されるものであり、PSTNFAX機能での通信に用いられる外線番号に、所定のドメインを付加したものである。例えば、LAN100の外線番号が「1112223333」であり、所定のドメインが「sip.com」であった場合、SIPURIは「1112223333@sip.com」となる。
【0038】
ゲートウェイ110は、LAN200とインターネット40とを仲介する機能を保有する機器であり、ゲートウェイ60と同様に、SIP−URIが1つ割り当てられている。
【0039】
SIPサーバ80は、特定のプロバイダが保有する機器である。SIPサーバ80は、LAN100、200それぞれのゲートウェイ60、110に割り当てられている、SIP―URIと、MACアドレスと、グローバルIPアドレスと、を対応付けて記憶する機能を有する。これにより、SIPサーバ80は、インターネット40を介して、異なるLANに属するFAX装置、例えば、FAX装置10と、FAX装置70と、の間でのセッションを確立することができる。
【0040】
SIPサーバ80に上記の情報(各ゲートウェイのSIP−URI、MACアドレス、グローバルIPアドレス)を記憶させるために、ゲートウェイ60は、SIPサーバ80に対して、ゲートウェイ60のSIP−URIを登録するよう要求する。SIPサーバ80は、当該要求に従って、ゲートウェイ60のSIP−URIと、ゲートウェイ60のMACアドレスと、ゲートウェイ60のグローバルIPアドレスとを、SIPサーバ80内に登録する。
【0041】
A−1−3.料金情報:
料金情報23Cは、上述した特定のプロバイダ(すなわち、IPFAX機能を提供するプロバイダ)によって提供される情報である。ユーザは、例えば、特定のプロバイダが保有するサーバから、料金情報23Cをダウンロードし、NVRAM23に記憶させることができる。料金情報23Cは、IPFAX機能を用いて実行される通信での料金体系に関する情報を含む。
【0042】
続いて、上述した料金体系について説明する。IPFAX機能を用いて実行される通信では、FAX装置間でセッションが確立される期間に応じて、課金される料金が変化する。また、ネットワーク上で一定の帯域(単位時間当たりに送信されるデータ量)を保証する技術であるQoS(quality of Service)が用いられており、使用する帯域に応じて、課金される料金が変化する。ユーザは、操作部27を操作することによって、所望の帯域を選択する。
【0043】
図2は、第1実施例で用いられる料金体系の具体例である。図示するように、セッションを維持する期間が所定の期間の長さを超過するたびに、課金される料金が増加する。例えば、単位時間(second)あたり64kb(kilobit)以下のデータを用いて通信する場合(すなわち、帯域が64kbps以下の場合)であれば、セッションを維持する期間が0からT1までの期間であれば、課金される料金はP1である。しかしながら、T1を超過した瞬間に、課金される料金の合計はP1の2倍の料金(2×P1)に増加する。
【0044】
一方、図示するように、例えば、単位時間あたり64kbから512kbのデータを用いて通信する場合は、0からT2までの期間のセッションの維持に対して課金される料金はP2である。
【0045】
A−2.通信処理の概要:
A−2−1.通信システムの動作:
次に、第1実施例で実行される通信システムについて、図3のシーケンス図を用いて説明を行う。なお、以降の説明では、LAN100内のFAX装置10から、LAN200内のFAX装置70に対してFAXデータを送信する場合について説明を行う。
【0046】
図2の通信処理は、ユーザが操作部27を操作することによって、送信元のFAX装置であるFAX装置10と、送信先のFAX装置であるFAX装置70と、の間で、セッションが確立されることにより開始される(S1)。セッションの確立は、FAX装置10とFAX装置70との間でP2P(Pear to Pear)通信をするために行われる処理である。なお、セッションの確立のために実行される処理については後述する。
【0047】
セッションが確立されると、FAX装置10は、FAX装置70にFAXデータを送信する(S2)。なお、送信されるFAXデータは、スキャン実行部24でスキャンされたデータである。また、FAXデータは、送信元情報(FAX装置10のSIP−URI)と、送信先情報(FAX装置70のSIP−URI)と、に関する情報を含む。
【0048】
FAXデータを送信した後、FAX装置10は、印刷完了予定期間情報を送信するようFAX装置70に要求する(S3)。印刷完了予定期間情報は、FAX装置70の印刷部でFAXデータを印刷するために必要な期間である印刷完了予定期間に関する情報を含む。
【0049】
FAX装置70は、FAX装置10からの印刷完了予定期間情報の要求に伴い、印刷完了予定期間を算出する(S4)。例えば、FAXデータのデータ容量が算出され、当該データ容量に応じた印刷完了予定期間が算出される。なお、複数ページにわたって印刷を行う場合は、最終ページの印刷が完了するまでの期間が算出される。
【0050】
印刷完了予定期間が算出されると、FAX装置70は、印刷完了予定期間情報を、FAX装置10に送信する(S5)。
【0051】
印刷完了予定期間情報を受信すると、FAX装置10は、印刷完了予定期間が経過するまで待機する(S6)。
【0052】
印刷完了予定期間が経過すると(S6 YES)、FAX装置10は、FAX装置70での印刷が既に完了しているか否かを確認するための印刷完了確認情報を、FAX装置70に送信する(S7)。
【0053】
FAX装置70は、印刷部においてFAXデータの印刷が完了しているか否かを確認する(S8)。FAX装置70において、印刷がまだ完了していないと判断される場合は(S8 NO)、FAX装置70は、S4の処理に戻り、再度印刷完了予定期間を算出する。その後、印刷完了予定期間情報を、FAX装置10に送信する(S5)。なお、印刷完了予定期間が経過したにもかかわらず、印刷が完了していない状態としては、例えば、データ容量の大きい自然画の画像データが印刷される場合に、印刷完了予定期間よりも長い期間を要する場合が想定される。また、他の例としては、印刷の途中で用紙や色材を交換する必要性が生じた場合が想定される。
【0054】
一方、FAX装置70において、印刷が完了していると判断される場合は(S8 YES)、FAX装置70は、印刷が完了した旨の情報である印刷完了情報をFAX装置10に送信する(S9)。
【0055】
印刷完了情報を受信すると、FAX装置10は、FAX装置70にセッション終了情報を送信して、FAX装置70とのセッションを終了する(S10)。その後、セッションが終了した旨の情報であるセッション終了情報を受信したFAX装置70も、セッションを終了する(S11)。
【0056】
A−2−2.FAX装置の通信処理:
続いて、第1実施例で実行されるFAX装置10の通信処理について説明する。図4は、FAX装置10の通信処理における動作を説明するフローチャートである。
【0057】
まず始めに、CPU21は、送信先のFAX装置であるFAX装置10とのセッションを確立するためのセッション確立処理を実行する(S120)。なお、セッション確立処理については後述する。
【0058】
セッション確立処理が実行されると、CPU21は、すでにFAXデータをFAX装置70に送信済みであるか否かを確認する(S140)。
【0059】
FAXデータが送信されていないと判断された場合は(S140 NO)、CPU21は、スキャン実行部24に原稿のスキャンを実行させることによって、FAXデータを生成し、FAX装置70にFAXデータを送信する(S160)。なお、スキャンの実行は、ユーザが操作部27を操作することによって開始される。その後、CPU21は、FAX装置70の図示しない印刷部にてFAXデータが印刷されるまでに要する期間を示す、印刷完了予定期間情報を送信するよう、FAX装置70に要求する(S180)。
【0060】
なお、FAX装置70は、受信したFAXデータのデータ容量を算出することによって、印刷するまでに必要な期間を算出し、算出された期間に関する情報をFAX装置10に送信する。
【0061】
CPU21は、FAX装置70から印刷完了予定期間情報を取得し(S200)、RAM22に格納する。印刷完了予定期間情報を取得すると、CPU21は、セッションを維持するための料金が増加するまでに、FAX装置70での印刷が完了するか否かを特定する(S220)。具体的には、NVRAM23に格納されている料金情報23Cを読み出し、セッションを維持するための料金が増加するまでの期間(例えば、図2のT1)と、印刷完了予定期間と、を比較する。
【0062】
なお、第1実施例では、印刷完了予定期間が、当該料金が増加するまでの期間(T1)を越えるか否かを特定しているが、異なる構成であってもよい。例えば、CPU21は、使用される帯域(単位時間当たりに送信されるデータ量)に対応する、料金が増加するまでの期間を判断して、当該料金が増加するまでの期間と、印刷完了予定期間と、を比較しても良い。なぜならば、図2で示したように、使用する帯域に応じて、料金が増加するまでの期間が変化するからである。例えば、通信速度が64kbps〜512kbpsと特定されれば、CPU21は、印刷完了予定期間がT2を超えるか否かを特定してもよい。
【0063】
セッションを維持するための料金が増加するまでの期間内に印刷が完了すると判断された場合は(S220 YES)、CPU21は、印刷完了予定期間まで待機し(S240)、印刷完了予定期間が経過した後、FAX装置70でのFAXデータの印刷が完了したか否かを、FAX装置70に問い合わせる(S260)。
【0064】
CPU21の問い合わせに対して、FAX装置70から印刷完了情報の応答があった場合は、CPU21は、CPU21は、FAX装置70とのセッションを終了し(S320)、図4の通信処理を終了する。
【0065】
一方、CPU21の問い合わせに対して、FAX装置70からの印刷完了予定時間情報の応答があった場合は、CPU21は、S220の処理に戻り、セッションを維持するための料金が増加するまでに、FAX装置70での印刷が完了するか否かを特定する。
【0066】
CPU21の問い合わせに対して、応答がない場合は(S280 NO)、CPU21は、FAX装置70に対して問い合わせてからの期間が、タイムアウトの期間を超過したか否かを特定する(S300)。FAX70からの応答がタイムアウトの期間を超過しても受信できない場合は(S300 YES)、CPU21は、異常が発生したと判断し、セッションを終了する(S340)。
【0067】
なお、第1実施例では、S260の問い合わせは、タイムアウトの期間を超過するまでCPU21によって実行されることとしているが、別の構成としてもよい。例えば、S260における問い合わせの回数が所定の回数を超過したら、問い合わせを終了する構成としてもよい。なお、所定の回数は、例えば、ユーザに操作部27を操作されることによって決定され、当該所定の回数を示す情報をRAM22に記憶させる態様が想定される。
【0068】
一方、S220にて、接続料金が増加する前に印刷が完了しないと特定された場合は(S220 NO)、CPU21は、印刷の完了を確認することなく、FAX装置70とのセッションを終了する(S340)。
【0069】
S340でセッションを終了する処理が実行されると、CPU21は、RAM22に記憶されている印刷完了予定期間情報を読み出すことによって、印刷完了予定期間が経過するまで待機する(S360)。印刷完了予定期間が経過した場合(S360 YES)は、S120に戻り、再度FAX装置70とのセッションを確立する。
【0070】
ここで、図4のフローチャートについて、次の2つの場合を想定して説明する。具体的には、(1)通信を開始した時刻から、次に料金が増加する時刻までの期間(図2の0〜T1)に印刷が完了することが予定される場合と、(2)通信を開始してからT1の期間が経過した後に印刷が完了することが予定される場合と、について説明する。
【0071】
まず、(1)の場合に実行される処理について説明する。まず、S120でセッションが確立される。FAXデータをFAX装置70に送信していないため、S160でFAX装置70にFAXデータを送信する処理が実行される。その後、S180、S200、S220、S240、S260の処理が順に実行される。その後、S280で、FAX装置70からの応答があったか否かが特定される。その際、CPU21が印刷完了情報を受信した場合、すなわち印刷が完了している場合は、S320でFAX装置70とのセッションを終了する。
【0072】
一方、CPU21が印刷完了予定時間情報を受信した場合、すなわち印刷が完了していない場合は、S220に戻り、新たに取得した印刷完了予定時間情報に基づいて、料金が増加するまでに印刷が完了するか否かが特定される。印刷がT1の期間内に完了することが予定される場合は、S240の処理が実行される。印刷がT1の期間を経過した後に完了することが予定される場合は、S340で一旦セッションが終了され、S360で印刷完了予定時間が経過するまで処理が待機される。
【0073】
次に、(2)の場合に実行される処理について説明する。まず、(1)の場合と同様に、S120でセッションが確立され、S160でFAXデータを送信する処理が実行される。その後、S180、S200の処理が実行される。S220の処理では、料金が増加するまでに印刷が完了しないと判断されるため、S340に移行し一旦セッションが終了される。その後、S360で印刷完了予定時間まで待機し、S120で再度セッションを確立する。FAXデータは既にFAX装置70に送信されているため、S140での判定の後、S200の処理が実行される。以降、S220での処理に応じた処理が実行される。
【0074】
A−2−3.セッション確立処理:
続いて、第1実施例で実行されるセッション確立処理(S120)について説明する。図5は、FAX装置10のセッション確立処理を説明するフローチャートである。
【0075】
まず始めに、FAX装置10のCPU21は、ゲートウェイ60に問い合わせることによって、ゲートウェイ60のIPアドレスを取得する(S122)。
【0076】
続いてCPU21は、アドレス帳23Bに登録されているFAX装置70の外線番号に、SIPドメインを付加することによって、SIP−URIを生成する(S124)。例えば、FAX装置70の外線番号が「4445556666」であり、所定のドメインが「sip.com」であった場合、SIPURIは「4445556666@sip.com」である。なお、SIPドメインは特定のプロバイダによって供給されるドメインである。SIPドメインは、例えば、ユーザに操作部27を操作されることによって、NVRAM23内に記憶されている。
【0077】
続いて、CPU21は、INVITEコマンドを生成し、S122で取得したゲートウェイ60のIPアドレスの情報を用いて、ゲートウェイ60にINVITEコマンドを送信する(S126)。当該INVITEコマンドは、FAX装置70のSIP−URIと、FAX装置10のSIP−URIと、に関する情報が含まれる。当該INVITEコマンドは、ゲートウェイ60を介して、SIPサーバ80に送信される。
【0078】
SIPサーバ80は、送信先のSIP−URIと、IPアドレスと、を対応付けて記憶している。従って、SIPサーバ80では、FAX装置70のSIP−URIと対応付けられているFAX装置70のIPアドレスが特定される。SIPサーバ80は、FAX装置70に対して、INVITEコマンドを転送する。その後、FAX装置10が、FAX装置70からINVITEコマンドを受け付ける旨の情報を受信することによって、FAX装置10と、FAX装置70と、の間でセッションが確立される。
【0079】
B.第2実施例:
続いて、本発明の第2実施例について、図6を参酌して説明する。図6は、第2実施例での通信処理の流れを示すフローチャートである。なお、システム構成は第1実施例と同様であるため、説明を省略する。
【0080】
また、図7は、第2実施例において、印刷完了を確認するタイミングを示す図である。第2実施例では、送信先FAX装置(FAX装置70)の印刷完了予定期間とは無関係に、セッションを維持するための料金が増加した時刻(通信開始時刻を含む)から所定の期間が経過した後に、印刷が完了しているか否かを問い合わせる。具体的には、図7において、通信開始から0、T1、2×T1、…、N×T1(Nは0以上の整数)の期間が経過する時刻からTr(Tr<T1)の期間後に、FAX装置70に対し、印刷が完了したか否かを確認する。こうすることで、印刷完了予定期間前に印刷が完了していた場合は、接続料金を増加させることなく、セッションを終了することができる。
【0081】
なお、Trは、ユーザに操作部27を操作されることによって指定されてもよいし、NVRAM23に予め格納されていてもよい。Trに関する情報は、通信処理が開始された後、RAM22に格納される。
【0082】
第2実施例での通信処理について説明する。第1実施例と同様に、CPU21は、FAX装置70とのセッションを確立し(S120a)、FAX装置70にFAXデータを送信する(S160a)。その後、FAX装置70に印刷完了予定期間情報を要求し(S180a)、印刷完了予定期間情報を取得する(S200a)。
【0083】
続いて、CPU21は、印刷完了予定期間まで待機し、印刷完了予定期間が経過した後、FAX装置70でのFAXデータの印刷が完了したか否かを確認する(S400)。印刷完了予定期間が経過していることが確認された場合(S400 YES)は、S440の処理に移行する。
【0084】
一方、印刷完了予定期間は経過していないことが確認された場合は(S400 NO)、CPU21は、セッションを維持するための料金が増加した時刻から所定の期間(以下、Tr)が経過したか否かを特定する。
【0085】
Trを経過したことが確認されない場合は(S420 NO)、CPU21は、S400の処理に戻る。
【0086】
Trを経過したことが確認された場合(S420 YES)は、S440の処理に移行する。
【0087】
CPU21は、FAX装置70とのセッションが確立されているか否かを特定する(S440)。FAX装置70とのセッションが確立されていない場合(S440 NO)、CPU21はFAX装置70とのセッションを確立する処理であるセッション確立処理(S460。図6のS120と同様の処理)を実行する。
【0088】
続いて、CPU21は、印刷が完了したか否かを、FAX装置70に問い合わせる(S260a)。FAX装置70から印刷完了情報の応答があった場合は(S280a YES)、CPU21は、FAX装置70とのセッションを終了し(S320a)、図6の通信処理を終了する。
【0089】
一方、印刷完了情報の応答がない場合(S280a NO)は、CPU21は、料金が増加してからTrを経過しているか否かを特定する(S480)。Trを経過していると判断される場合(S480 YES)は、CPU21は、FAX装置70とのセッションを終了し(S500)、印刷完了予定時間が経過するまで待機する(S560)。印刷完了予定期間が経過した後、S440の処理に戻る。一方、Trを経過していないと判断される場合(S480 NO)は、CPU21は、FAX装置70とのセッションを終了することなく、再度FAX装置70から印刷完了予定期間情報を取得する(S520)。その後、Trが経過するまで待機し(S540)、S400の処理に戻る。
【0090】
こうすることで、Trを経過していた場合に一旦セッションを終了できるので、接続料金の増加を抑制することができる。
【0091】
ここで、図6のフローチャートについて、以下の3つの場合を想定して説明する。すなわち(1)印刷が完了する予定の時刻が、通信を開始してからTrの期間内である場合と、(2)印刷が完了する予定の時刻が、通信を開始してからTr〜T1の期間内である場合と、(3)印刷が完了する予定の時刻が、通信を開始してからT1の期間後である場合と、について説明する。なお、(1)から(3)の場合は、それぞれ図7に示した(1)から(3)と対応する。
【0092】
まず、(1)の場合に実行される処理について説明する。まず、S120aでセッションが確立された後、S160a、S180a、S200aの処理が順に実行される。(1)の場合は、Trを経過するまでに印刷を完了することが予定されているため、S400で印刷完了予定期間が経過するまで待機した後、S440に移行する。セッションは確立済みであるため、S440の処理が実行された後、S260aに移行し、印刷が完了しているか否かを示す印刷完了確認情報をFAX装置70に問い合わせる。S280aで印刷が完了していると判断された場合は、S320aでFAX装置70とのセッションを終了する。
【0093】
一方、印刷が完了していないと判断された場合は、S480に移行する。(1)の場合は、Trを経過するまでに印刷が完了することが予定されているため、S480の処理の後、S520に移行し、再度印刷完了予定時間情報が取得される。その後、S540でTrを経過するまで待機し、再度S400に移行する。
【0094】
再度取得した印刷完了予定期間が、Trより短い場合は、S400で印刷完了予定期間が経過するまで待機した後、S440に移行する。再度取得した印刷完了予定期間が、Trより長い場合(すなわち、図7の(2)、(3)の場合)、S420でTrを経過したと判断され、S440の処理が実行される。セッションは確立済みであるため、S440の処理の後、S260aに移行する。以降、S280aでの処理に応じた処理が実行される。
【0095】
次に、(2)の場合について説明する。まず、(1)の場合と同様に、S120aでセッションが確立された後、S160a、S180a、S200aの処理が順に実行される。(2)の場合は、印刷完了予定期間を経過する時刻よりも、Trを経過する時刻のほうが早いため、S420でTrを経過したと判断され、S440の処理が実行される。セッションは確立済みであるため、S440の処理が実行された後S260aに移行し、印刷が完了しているか否かを示す印刷完了確認情報をFAX装置70に問い合わせる。S280aで印刷が完了していると判断された場合は、S320aでFAX装置70とのセッションを終了する。
【0096】
一方、印刷が完了していないと判断された場合は、S480に移行する。(2)の場合は、Trを経過した後に印刷が完了することが予定されている。すなわち、S480の処理では、Trを経過したと判断される。そのため、S480の後S500に移行し、FAX装置70とのセッションを終了する。その後、S560で印刷完了予定時間が経過するまで待機する。印刷完了予定期間が経過した後、再度S440に移行する。その後、S460で再度FAX装置70とのセッションを確立し、S260a、S280aの処理が実行される。その後、S280aの処理に応じた処理が実行される。
【0097】
最後に、(3)の場合について説明する。まず、(1)の場合と同様に、S120aでセッションが確立された後、S160a、S180a、S200aの処理が順に実行される。(3)の場合は、(2)の場合と同様に、印刷完了予定期間を経過する時刻よりも、Trを経過する時刻のほうが早いため、S420でTrを経過したと判断され、S440の処理が実行される。セッションは確立済みであるため、S440の処理が実行された後S260aに移行し、印刷が完了しているか否かを示す印刷完了確認情報をFAX装置70に問い合わせる。S280aで印刷が完了していると判断された場合は、S320aでFAX装置70とのセッションを終了する。
【0098】
一方、印刷が完了していないと判断された場合は、S480に移行する。(3)の場合は、Trを経過した後に印刷が完了することが予定されている。すなわち、S480の処理では、Trを経過したと判断される。そのため、S480の後S500に移行し、FAX装置70とのセッションを終了する。その後、S560で印刷完了予定時間が経過するまで待機する。印刷完了予定期間が経過した後、再度S440に移行する。その後、S460で再度FAX装置70とのセッションを確立し、S260a、S280aの処理が実行される。その後、S280aの処理に応じた処理が実行される。
【0099】
C.第3実施例:
続いて、本発明の第3実施例について、図9を参酌して説明する。図9は、第3実施例での通信処理の流れを示すフローチャートである。なお、システム構成は第1実施例と同様であるため、説明を省略する。
【0100】
第3の実施形態では、複数のFAX装置に対してFAXデータを送信する場合を想定する。具体的には、ユーザが、どのFAX装置に対してFAXデータを送信することを所望するかを予め決定し、操作部27を用いて、当該複数のFAX装置をFAX装置70に指示する。CPU21は、当該指示に従って、FAXデータを送信するFAX装置の送信リストを作成し、RAM22に記憶する。CPU21は、送信リストにおいて最も上位に記録されているFAX装置から順に、複数のFAX装置に対してFAXデータを送信する。第3実施例では、CPU21は、送信リストの中の第1のFAX装置に対してFAXデータを送信した後、第1のFAX装置でFAXデータが印刷されるまで待機するのではなく、印刷完了予定期間中に、第1のFAX装置と異なる第2のFAX装置にFAXデータを送信する。こうすることで、CPU21は、時間を有効に活用して、複数台のFAX装置に対してFAXデータを送信することができる。
【0101】
第3実施例での通信処理について説明する。電源投入時処理(S100b)から、セッションを終了する処理(S320b)までは、第1実施例と同様であるため、説明を省略する。
【0102】
CPU21は、S320bにおいて、送信先のFAX装置とのセッションを終了すると、FAXデータを送信する予定である全てのFAX装置に対し、FAXデータを送信したか否かを特定する(S620)。具体的には、RAM22に記憶されている送信リストを参照し、全てのFAX装置に対してFAXデータを送信したか否かを特定する。
【0103】
FAXデータを送信していないFAX装置が存在する場合(S620 NO)、CPU21は、送信リスト内のFAX装置の中で、FAXデータを送信していないFAX装置を特定する(S640)。具体的には、送信リストに含まれるFAX装置を上位から順次確認し、FAXデータを送信していないFAX装置を特定する。その後、S120bに処理を戻し、特定されたFAX装置とセッションを確立する。
【0104】
一方、FAXデータを送信していないFAX装置が存在しない場合(S620 YES)、CPU21は、FAXデータを送信した全てのFAX装置に対し、FAXデータの印刷完了が確認されているか否かを特定する(S660)。具体的には、CPU21は、RAM22に記憶されている送信リストを参照し、全てのFAX装置の印刷完了を確認したか否かを特定する。
【0105】
印刷完了を確認していないFAX装置が存在する場合(S660 NO)、CPU21は、RAM22を参照することによって、送信リスト内のFAX装置の中で、印刷完了を確認していないFAX装置を特定し、特定されたFAX装置の中で、最も印刷完了予定期間が早いFAX装置の印刷完了予定期間が完了するまで待機する(S680)。その後、CPU21は、S120bに処理を戻し、特定されたFAX装置とセッションを確立する。
【0106】
一方、全てのFAX装置で印刷完了が確認された場合(S660 YES)、CPU21は図9の通信処理を終了する。
【0107】
ここで、図8のフローチャートについて、以下の場合を想定して説明する。具体的には、N台のFAX装置(Nは自然数)に対してFAXデータを送信する場合に、送信リストの上位からk番目(2≦k≦N)のFAX装置に着目して説明する。
【0108】
FAX装置10から送信リストのk−1番目のFAX装置へのFAXデータの送信が終了した後、送信リストのk番目のFAX装置にFAXデータを送信するため、S120bにおいて、FAX装置10と、k番目のFAX装置と、の間でセッションが確立される。FAXデータをFAX装置70に送信していないため、S160bでFAX装置70にFAXデータを送信する処理が実行される。その後、S180b、S200bの処理が順に実行される。
【0109】
k番目のFAX装置において、接続料金が増加するまでに印刷が完了することが予定されている場合は、S220bでの判定の後、S240b、S260b、S280bの処理が順に実行される。この場合、他のFAX装置にFAXデータを送信することなく、印刷が完了したことが確認されるまで、FAX装置10とk番目のFAX装置とのセッションを維持する。印刷が完了したことが確認された場合は、S320bでセッションを終了する。
【0110】
一方、k番目のFAX装置において、接続料金が増加するまでに印刷が完了しないことが予定されている場合は、S220bでの判定の後、S320bに移行し、セッションを一旦終了する。その後、S620において、FAX装置10のCPU21が、他の全てのFAX装置に対してFAXデータを送信したか否かを特定する。FAXデータが送信されていないFAX装置が存在すると判断された場合は、S640で送信先のFAX装置を特定し、特定されたFAX装置とセッションを確立する。このように、全てのFAX装置にFAXデータが送信されるまでは、S660の処理に移行することはない。
【0111】
S620において、全てのFAX装置にFAXデータを送信したと判断された場合は、S660に移行し、全てのFAX装置での印刷完了を確認したか否かが判断される。この場合、印刷完了が確認されていないFAX装置は、以下の2つのいずれかに該当するFAX装置である。すなわち、(ア)S220bにおいて、料金が増加するまでに印刷が完了しないと判断されたため一旦セッションを終了したFAX装置と、(イ)S300bにおいて、タイムアウトの期間が経過したと判断されたためセッションを終了したFAX装置と、のいずれかに該当するFAX装置である。
【0112】
印刷完了が確認されていないFAX装置が存在しない場合は、図8の処理を終了する。
一方、印刷完了が確認されていないFAX装置が存在する場合は、S680に移行し、最も早く印刷が完了することが予定されるFAX装置の印刷完了予定時間が経過するまで待機する。その後、再度S120bの処理が実行される。
【0113】
D.まとめ
以上の説明において、CPU21によって実行される通信プログラムのうち、図3のS1、S2、S10、S11、図4のS120からS160、S320、S340、図6のS120a、S160a、S440、S460、S280a、S500、及び図8のS120bからS160b、S320b、S620、S640が本発明のセッション制御手段によって実行される処理に相当する。また、図3のS4、S5、図4のS200、図6のS200a、及び図8のS200bが取得手段によって実行される処理に相当する。また、図3のS6からS9、図4のS280、S300、図6のS400、S420、S280a、S480、及び図8のS240b、S260b、S660、S680が確認手段によって実行される処理に相当する。また、図3のS3、図4のS180、図6のS180a、及び図8のS180bが要求手段によって実行される処理に相当する。また、図4のS220、図8のS220bが判断手段によって実行される処理に相当する。
【0114】
また、印刷完了予定期間が本発明の完了期間に相当し、印刷完了予定期間情報が本発明の期間情報に相当する。また、セッションを維持するための料金が増加するまでの期間が本発明の特定の期間に相当し、タイムアウトの期間が本発明の第2の期間に相当し、料金が増加してからTrが経過するまでの期間が本発明の第3の期間に相当する。
【0115】
以上説明したように、他のFAX装置(第1実施例におけるFAX装置70)にFAXデータを送信するFAX装置10は、FAX装置70にFAXデータを送信するために、FAX装置70とセッションを確立し、FAX装置70にFAXデータを送信した後、FAX装置70から、FAX装置70でFAXデータを印刷するために必要な期間である印刷完了予定機関に関する情報を取得する。その後、印刷完了予定期間が経過した後に、FAX装置70に対し、印刷が完了しているか否かをFAX装置70に確認する。FAX装置10は、FAX装置70で印刷が完了したことが確認されたら、FAX装置70とのセッションを終了する。このように、FAX装置10は、FAX装置10においてFAXデータの印刷が完了したことが確認されたから、FAX70とのセッションを終了することができる。
【0116】
なお、本発明における技術的範囲は、上述した実施例に限られるものではなく、以下に示すような種々の態様によって実施することが可能である。
【0117】
(1)上述した実施例では、印刷完了確認情報がタイムアウトの期間を経過しても受信できない場合にセッションを終了しているが、これに代えて、またはこれに加えて、印刷完了予定期間情報が受信できない場合にも、セッションを終了してもよい。
【0118】
(2)上述した実施例では、料金が増加するまでの期間に印刷が完了するか否かに応じて、セッションを終了するか否かを切り替えているが、異なる構成であってもよい。例えば、料金が増加する時刻より後に印刷が完了する場合であっても、CPU21はFAX装置70とのセッションを終了することなく、待機し続けてもよい。
【0119】
(3)上述した第3実施例において、複数のFAX装置にFAXデータを順次送信する場合に、第2のFAX装置にFAXデータを送信する場合は、第1のFAX装置とのセッションを終了しているが、異なる構成であってもよい。すなわち、第1のFAX装置とのセッションを維持したまま、第2のFAX装置に対してFAXデータを送信してもよい。
【符号の説明】
【0120】
10…FAX装置、21…CPU、22…RAM、23…NVRAM、23A…通信プログラム、23B…アドレス帳、23C…料金情報、24…スキャン実行部、25…表示部、26…印刷実行部、27…操作部、28…ネットワークインターフェース、29…PSTNインターフェース、30A…LANケーブル、30B…LANケーブル、40…インターネット、60…ゲートウェイ、70…FAX装置、80…SIPサーバ、90…PSTN、100…LAN、110…ゲートウェイ、200…LAN

【特許請求の範囲】
【請求項1】
特定の通信装置にデータを送信するための通信装置であって、
前記特定の通信装置に前記データを送信するために、前記特定の通信装置との間で確立されるセッションを制御するセッション制御手段と、
前記特定の通信装置に前記データが送信された後に、前記特定の通信装置から、前記特定の通信装置が前記データに従った出力を完了するために要する完了期間に関する期間情報を取得する取得手段と、
前記期間情報に基づいて、前記完了期間が経過した後に、前記データに従った出力が既に完了しているか否かを、前記特定の通信装置に対して問い合わせることによって確認する確認手段と、
を備え、
前記セッション制御手段は、前記確認手段によって、前記特定の通信装置で前記データに従った出力が既に完了していることが確認された場合に、前記特定の通信装置とのセッションを終了する、通信装置。
【請求項2】
請求項1に記載の通信装置であって、さらに
前記期間情報を送信するように、前記特定の通信装置に対して要求する要求手段を備え、
前記取得手段は、前記確認手段によって、前記特定の通信装置で前記データの出力が完了したことが確認されない場合に、さらに、前記特定の通信装置から、前記期間情報を再度取得する、通信装置。
【請求項3】
請求項1または2に記載の通信装置において、さらに、
前記完了期間が、特定の期間を超過するか否かを判断する判断手段を備え、
前記セッション制御手段は、
前記判断手段によって、前記完了期間が前記特定の期間を超過しないと判断される場合に、前記特定の通信装置とのセッションを維持し、
前記判断手段によって、前記完了期間が前記特定の期間を超過すると判断される場合に、前記特定の通信装置とのセッションを終了する、通信装置。
【請求項4】
請求項3に記載の通信装置において、
前記セッション制御手段は、前記判断手段によって、前記完了期間が前記特定の期間を超過すると判断される場合に、前記特定の通信装置とのセッションを終了し、第1の期間が経過した後に、再度前記特定の通信装置とのセッションを確立し、
前記確認手段は、前記特定の通信装置とのセッションが再度か確立された後に、前記特定の通信装置で前記データの出力が完了しているか否かを、前記特定の通信装置に対して問い合わせることによって確認する、通信装置。
【請求項5】
請求項1乃至4に記載の通信装置であって、
前記セッション制御手段は、
1台の前記特定の通信装置に対して前記データが送信される場合に、前記1台の特定の通信装置で前記データの出力が完了したことが確認された後に、前記1台の特定の通信装置とのセッションを終了し、
複数台の前記特定の通信装置に対して前記データが順次送信される場合に、前記データが送信された第1の前記特定の通信装置での前記データの出力が完了したことが確認される前に、前記第1の特定の通信装置とは異なる第2の特定の通信装置に前記データを送信するために、前記第1の特定の通信装置とのセッションを終了する、通信装置。
【請求項6】
請求項5に記載の通信装置であって、
前記セッション制御手段は、複数台の前記特定の通信装置に対して前記データが順次送信される場合に、前記第2の特定の通信装置に前記データが送信された後に、前記第1の特定の通信装置とのセッションを再度確立し、
前記確認手段は、前記第1の特定の通信装置とのセッションが再度確立された後に、前記第1の通信装置で前記データの出力が完了しているか否かを、前記特定の第1の通信装置に対して問い合わせることによって確認する、通信装置。
【請求項7】
請求項1乃至6のいずれかに記載の通信装置であって、
前記セッション制御手段は、前記確認手段が、前記特定の通信装置での前記データの出力が完了しているか否かを問い合わせてから第2の期間を超過しても、前記データの出力が完了しているか否かを確認できない場合に、前記特定の通信装置とのセッションを終了する、通信装置。
【請求項8】
請求項1乃至7のいずれかに記載の通信装置であって、
前記確認手段は、前記完了期間が経過しているか否かに関わらず、特定の期間が経過する時刻から第3の期間だけ後に、前記データの出力が完了しているか否かを、前記特定の通信装置に対して問い合わせる、通信装置。
【請求項9】
データ通信システムであって、
請求項1乃至7のいずれかに記載の通信装置と、
特定の通信装置と、を備え、
前記特定の通信装置は、
前記通信装置から前記データを受信した後に、前記通信装置に対し前記期間情報を送信する期間情報送信手段と、
前記確認手段によって問い合わせられた場合に、前記データの出力が完了しているか否かを前記通信装置に対して通知する出力結果通知手段と、
を備える、データ送信システム。
【請求項10】
特定の通信装置にデータを送信するコンピュータに、
前記特定の通信装置に前記データを送信するために、前記特定の通信装置との間で確立されるセッションを制御するセッション制御手段と、
前記特定の通信装置に前記データが送信された後に、前記特定の通信装置から、前記特定の通信装置が前記データの出力を完了するために要する期間である完了期間に関する期間情報を取得する取得手段と、
前記完了期間が経過した後に、前記データの出力が完了しているか否かを、前記特定の通信装置に対して問い合わせることによって確認する確認手段として機能させるプログラムであって、
前記セッション制御手段は、前記確認手段によって、前記特定の通信装置で前記データの出力を完了したことが確認された場合に、前記特定の通信装置とのセッションを終了する、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate