説明

通信装置及びコンピュータプログラム

【課題】 一対のデバイス間の通信負荷が大きくなるのを抑制する。
【解決手段】 多機能機は、第1期間では、最初に、「m=audio」を含むINVITEコマンドを送信し、第2期間では、最初に、「m=video」を含むINVITEコマンドを送信する。多機能機は、第1期間内の所定のタイミングで、最初に、「m=video」を含むINVITEコマンドを送信する処理を試行する。その結果、通信セッションが確立されなかった場合(図6の上段)に、第1期間が継続し、通信セッションが確立された場合(図6の下段)に、第1期間から第2期間に移行する。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、通信対象の対象データを通信先デバイスと通信する通信装置を開示する。
【背景技術】
【0002】
例えば、特許文献1には、以下の技術が開示されている。送信側装置は、自身が利用可能な全ての符号化方式(メディアタイプ)を受信側装置に送信する。受信側装置は、自身が利用可能な1個以上の符号化方式を送信側装置に送信する。送信側装置は、受信側装置から受信される1個以上の符号化方式の中から1個の符号化方式を選択する。送信側装置は、選択した1個の符号化方式を含むINVITEコマンドを受信側装置に送信する。その結果、受信側装置と送信側装置との間で通信セッションが確立される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開2003/021911号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、送信側装置から受信側装置に送信される符号化方式の中に、受信側装置が利用不可能な符号化方式が含まれていると、受信側装置が利用可能な符号化方式を送信側装置に送信せずに、NGコマンドを送信側装置に送信するタイプ(以下では「特定のタイプ」と呼ぶ)の受信側装置が存在する。
【0005】
本明細書では、一対のデバイス間で適切に通信セッションを確立し得る技術を提供する。
【課題を解決するための手段】
【0006】
本明細書は、通信装置を開示する。通信装置は、要求実行部と、対象データ通信部と、動作制御部と、を備える。要求実行部は、通信対象の対象データが通信先デバイスと通信されるべき際に、通信装置と通信先デバイスとの間で通信セッションを確立するために、第1種の要求処理と第2種の要求処理とを含む複数種類の要求処理のうちのいずれかを実行する。第1種の要求処理は、複数種類の情報のうちの第1種の情報を含む第1種の通信要求を、複数種類の情報のうちの第2種の情報を含む第2種の通信要求よりも先に通信先デバイスに送信する処理と、第1種の通信要求を送信することによって通信セッションが確立されなかった場合に、第2種の通信要求を通信先デバイスに送信する処理と、を含む。第2種の要求処理は、第2種の通信要求を、第1種の通信要求よりも先に通信先デバイスに送信する処理と、第2種の通信要求を送信することによって通信セッションが確立されなかった場合に、第1種の通信要求を通信先デバイスに送信する処理と、を含む。対象データ通信部は、通信装置と通信先デバイスとの間で通信セッションが確立されている状態で、対象データを通信先デバイスと通信する。動作制御部は、要求実行部の動作を制御する。動作制御部は、(A)第1期間では、対象データが通信先デバイスと通信されるべき毎に、要求実行部に第1種の要求処理を実行させ、(B)第1期間内の所定のタイミングで、要求実行部に第2種の要求処理を試行させ、(C)試行において、第2種の通信要求を送信することによって通信セッションが確立されなかった場合に、第1期間を継続し、(D)試行において、第2種の通信要求を送信することによって通信セッションが確立された場合に、第1期間から第2期間に移行させ、(E)第2期間では、対象データが通信先デバイスと通信されるべき毎に、要求実行部に第2種の要求処理を実行させる。
【0007】
上記の構成によると、通信装置は、第1種の通信要求(第2種の通信要求)を送信することによって通信セッションが確立されなかった場合に、第2種の通信要求(第1種の通信要求)を通信先デバイスに送信する処理を実行することができる。そのため、例えば、通信先デバイスが上記の特定のタイプのデバイスであった場合であっても、適切にセッションが確立されるように、通信要求に含まれる情報を変えながら、通信要求の送信を繰り返すことができる。さらに、通信装置は、第1期間では、通常、第1種の通信要求を第2種の通信要求よりも先に送信する第1種の要求処理を実行し、第2期間では、通常、第2種の通信要求を第1種の通信要求よりも先に送信する第2種の要求処理を実行する。通信装置は、第1期間内の所定のタイミングで第2種の要求処理を試行する。当該試行において第2種の通信要求を送信することによって通信セッションが確立された場合に、第1期間から第2期間に移行させる。この結果、通信装置は、通常、通信セッションが確立される可能性が高い通信要求(第2種の通信要求)を先に送信することになる。従って、通信装置が、第2種の通信要求を送信した後に、第1種の通信要求を送信する可能性が低くなる。このために、通信装置と通信先デバイスとの間の通信負荷が大きくなるのを抑制し得る。
【0008】
なお、上記の通信装置のための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。さらに、上記の通信装置と上記の通信先デバイスとを備えるシステムも、新規で有用である。
【図面の簡単な説明】
【0009】
【図1】通信システムの構成を示す。
【図2】起動処理のフローチャートを示す。
【図3】メイン処理のフローチャートを示す。
【図4】優先順序に従った通信処理のフローチャートを示す。
【図5】デフォルト通信処理のフローチャートを示す。
【図6】第1実施例の多機能機の処理のタイムチャートの一例を示す。
【図7】第2実施例の多機能機の処理のタイムチャートの一例を示す。
【発明を実施するための形態】
【0010】
(第1実施例)
(システムの構成)
図1に示すように、通信システム2は、LAN4と、インターネット6と、多機能機10、90と、DHCP(Dynamic Host Configuration Protocol)サーバ60と、SIP(Session Initiation Protocol)サーバ70と、を備える。多機能機10とDHCPサーバ60とは、LAN4に接続されている。多機能機10とDHCPサーバ60とは、LAN4を介して相互に通信可能である。SIPサーバ70と多機能機90とは、インターネット6に接続されている。多機能機10と多機能機90とSIPサーバ70とは、インターネット6を介して相互に通信可能である。
【0011】
(多機能機10の構成)
多機能機10は、IP音声電話機能、IPTV電話機能、SMS(ショートメッセージサービス)機能等を含む多機能を実行可能である。IP音声電話機能は、SIPURI(SIP Uniform Resource Identifier)を用いて、音声データを通信するための機能である。なお、IP音声電話機能では、映像データは通信されない。IPTV電話機能は、SIPURIを用いて、音声データ及び映像データを通信するための機能である。SMS機能は、SIPURIを用いて、メッセージを通信するための機能である。
【0012】
多機能機10は、表示部12と、操作部14と、ネットワークインターフェイス16と、通話デバイス18と、撮像部19と、制御部20と、を備える。各部12〜20は、バス線22に接続されている。なお、多機能機90も、上記の多機能機10と同様の構成を備える。
【0013】
表示部12は、様々な情報を表示するためのディスプレイである。操作部14は、複数のキーによって構成されている。ユーザは、操作部14を操作することによって、様々な指示を多機能機10に入力することができる。ネットワークインターフェイス16は、LAN4と接続されている。通話デバイス18は、スピーカ及びマイク(図示省略)を備える。ユーザは、通話デバイス18のスピーカ及びマイクを用いて、音声通話を行うことができる。撮像部19は、CCD等の撮像素子を備え、撮影対象物を撮影することによって、映像データを生成する。
【0014】
制御部20は、CPU30とメモリ32とを備える。メモリ32は、プログラム34、enterprise-numberリスト36、アドレス帳38、及び、優先順序テーブル40を格納する。CPU30は、メモリ32に格納されているプログラム34に従って様々な処理を実行する。CPU30が当該プログラム34に従って処理を実行することによって、各部50〜56の機能が実現される。
【0015】
(enterprise-numberリスト36)
enterprise-numberリスト36は、多機能機10のSIP通信を実現するための複数のプロバイダを識別する複数のenterprise-numberを含む。enterprise-numberリスト36は、多機能機10の出荷段階において、メモリ32内に予め格納されている。多機能機10のベンダは、IPTV電話機能を実現不可能であるが、IP音声電話機能を実現可能であるSIPサーバを提供している各プロバイダを調査して、当該各プロバイダのenterprise-numberをenterprise-numberリスト36に登録する。このようなSIPサーバは、将来的に、IPTV電話機能が実現可能な仕様に変更される可能性がある。即ち、enterprise-numberリスト36には、現時点ではIPTV電話機能を実現不可能な仕様であるが、将来的にIPTV電話機能を実現可能な仕様に変更され得るプロバイダが登録される。
【0016】
(アドレス帳38)
アドレス帳38は、ユーザによって入力されたSIPURI、メールアドレス、電話番号等を含む。
【0017】
(優先順序テーブル40)
優先順序テーブル40は、SIPURIと、各メディアタイプの優先順序と、変更フラグと、指定日時と、が関連付けられたテーブルである。各メディアタイプの優先順序は、「audio」、「video」、及び、「application」の3種類のメディアタイプの優先順序を示す。なお、「audio」はIP音声電話機能に対応し、「video」はIPTV電話機能に対応し、「application」は音声データ、映像データ、メッセージデータ(SMS)を同時に通信する機能に対応する。後で詳しく説明するが、多機能機10は、SIPURIによって特定される通信先デバイスと通信が実行されるべき際に、当該SIPURIに関連付けられている優先順序に従って、メディアタイプを利用する。変更フラグは、優先順序が変更済みか否かを示すフラグである。本実施例では、「0」が未変更を示し、「1」が変更済みを示す。指定日時は、優先順序を一時的に変更するか否かの基準となる日時である。なお、優先順序テーブル40内の各情報は、後述の図3のS36の処理で優先順序テーブル40に書き込まれる。
【0018】
(SIPサーバ70の構成)
SIPサーバ70は、複数のデバイス(例えば多機能機10、90)のそれぞれについて、当該デバイスのIPアドレスと、当該デバイスのSIPURIと、を対応付けて記憶している。SIPサーバ70は、一対のデバイスの間で通信セッションを確立するために、一方のデバイスから送信されるコマンドを、他方のデバイスに転送する。
【0019】
(DHCPサーバ60の構成)
DHCPサーバ60は、LAN4に接続されている各デバイス(多機能機10等)にIPアドレスを割り当てる。また、DHCPサーバ70は、DHCP情報を記憶している。DHCP情報は、後で説明するoption120(SIPサーバ70のIPアドレス)、及び、option125(プロバイダを示すプロバイダ情報)を含む。
【0020】
(ユーザの事前準備)
多機能機10が実行する各処理について説明する前に、多機能機10のユーザが行うべき事前準備について説明する。まず、ユーザは、いずれかのプロバイダと契約することによって、多機能機10がSIP通信を実行可能な状態を構築する。以下では、ユーザによって契約されたプロバイダのことを「契約プロバイダ」と呼ぶ。契約プロバイダは、多機能機10にSIPURIを割り当てる。多機能機10のSIPURIは、契約プロバイダによって提供されるSIPサーバ(例えばSIPサーバ70)に登録される。これにより、多機能機10は、当該SIPサーバを介して、他のデバイスとの間で通信セッションを確立することができる。
【0021】
さらに、ユーザは、契約プロバイダを示すenterprise-numberと、契約プロバイダによって提供されるSIPサーバのIPアドレスと、をDHCPサーバ60に登録する。この登録作業は、例えば、LAN4に接続されている図示省略のPCによって実行される。なお、以下では、契約プロバイダによって提供されるSIPサーバが、SIPサーバ70である場合を例として、説明を続ける。
【0022】
(多機能機10が実行する処理)
続いて、図2〜図5を参照して、多機能機10の制御部20が実行する各処理について説明する。
【0023】
(起動処理)
図2の起動処理は、多機能機10が特定の状態であるか否かを判断する処理である。上記の特定の状態は、多機能機10が、enterprise-numberリスト36に登録されているいずれかのプロバイダによって提供されるSIPサーバを介して、他のデバイスとの間の通信セッションを確立可能な状態である。換言すると、上記の特定の状態は、多機能機10のユーザが、enterprise-numberリスト36に登録されているいずれかのプロバイダと契約している状態である。
【0024】
多機能機10の電源がONにされると、S2において、判断部56(図1参照)は、LAN4に接続されているDHCPサーバ60を探索するための探索コマンドをブロードキャストする。LAN4に接続されているDHCPサーバ60は、探索コマンドを受信すると、自身のIPアドレスを含む応答パケットを多機能機10に送信する。判断部56は、探索コマンドをブロードキャストすると、S4において、LAN4に接続されるDHCPサーバ60が発見されたか否かを判断する。判断部56は、探索コマンドをブロードキャストしてから所定の時間内に応答パケットを受信した場合に、S4でYESと判断する。S4でYESの場合、S6に進む。一方、S4でNOの場合、S20に進む。
【0025】
S6では、判断部56は、option120及びoption125を含むDHCP情報の送信を要求する要求コマンドを、DHCPサーバ60に送信する。DHCPサーバ60は、要求コマンドを受信すると、DHCP情報を多機能機10に送信する。なお、option120は、契約プロバイダによって提供されるSIPサーバ70のIPアドレスを含み、option125は、上記の契約プロバイダを示すプロバイダ情報を含む。option125に含まれるプロバイダ情報は、上記の契約プロバイダのenterprise-numberを含む。S8において、判断部56は、DHCPサーバ60から送信されたDHCP情報を受信する。
【0026】
次いで、S10において、判断部56は、受信したDHCP情報がoption120を含むか否かを判断する。例えば、SIPサーバ70のIPアドレスが、ユーザによってDHCPサーバ60に予め登録されている場合には、DHCP情報は、SIPサーバ70のIPアドレスを示すoption120を含む。この場合、S10でYESと判断される。一方において、例えば、SIPサーバ70のIPアドレスが、ユーザによってDHCPサーバ60に登録されていない場合(例えばユーザがプロバイダと契約していない場合)には、DHCP情報は、option120を含まない。この場合、S10でNOと判断される。
【0027】
DHCP情報がoption120を含む場合(即ちS10でYESの場合)、S12において、判断部56は、DHCP情報がoption125を含むか否かを判断する。例えば、契約プロバイダのenterprise-numberが、DHCPサーバ60に予め登録されている場合には、DHCP情報は、契約プロバイダのenterprise-numberを示すoption125を含む。この場合、S12でYESと判断される。一方において、例えば、契約プロバイダのenterprise-numberが、DHCPサーバ60に登録されていない場合(例えばユーザがプロバイダと契約していない場合)には、DHCP情報は、option125を含まない。この場合、S12でNOと判断される。
【0028】
DHCP情報がoption125を含む場合(即ちS12でYESの場合)、S14において、判断部56は、option125に含まれるenterprise-numberが、enterprise-numberリスト36(図1参照)に含まれるのか否かを判断する。S14でYESの場合、S16において、判断部56は、option120が示す値を、SIPサーバ70のIPアドレスとして、メモリ32に記憶させる。次いで、S18において、判断部56は、多機能機10が上記の特定の状態であることを示す判断結果情報をメモリ32に記憶させる。S18を終えると、起動処理が終了する。
【0029】
なお、上記のS4、S10、S12、S14のいずれかにおいてNOと判断される場合、S20において、判断部56は、多機能機10が上記の特定の状態でないことを示す判断結果情報をメモリ32に記憶させる。S20を終えると、起動処理が終了する。
【0030】
(メイン処理)
続いて、多機能機10が多機能機90と通信する場合を例として、図3のメイン処理の内容を説明する。
【0031】
この処理が行われるためには、前提条件として、メモリ32内に、SIPサーバ70のIPアドレスが記憶されていることが必要である。上記の起動処理で、多機能機10が上記の特定の状態であると判断された場合(図2のS14でYESの場合)には、SIPサーバ70のIPアドレスがメモリ32に記憶されている(図2のS16)。しかしながら、上記の起動処理で、多機能機10が上記の特定の状態でないと判断された場合には、SIPサーバ70のIPアドレスはメモリ32に記憶されない。この場合、ユーザは、例えば、LAN4に接続されている図示省略のPCを用いて、契約プロバイダのホームページにアクセスするなどすることによって、SIPサーバ70のIPアドレスを知ることができる。そして、ユーザは、多機能機10の操作部14を操作して、SIPサーバ70のIPアドレスをメモリ32に記憶させることができる。
【0032】
ユーザは、操作部14を操作して、多機能機90のSIPURIを通信先として指定することができる。この指定操作は、アドレス帳38から多機能機90のSIPURIを選択するための操作であってもよいし、多機能機90のSIPURIを構成する各文字を多機能機10に入力するための操作であってもよい。上記の指定操作が実行されると、制御部20は、図3のメイン処理を実行する。
【0033】
S30において、動作制御部54(図1参照)は、多機能機10が上記の特定の状態であるか否かを確認する。具体的には、動作制御部54は、メモリ32に記憶されている判断結果情報を読み出し、読み出された判断結果情報が、多機能機10が上記の特定の状態であることを示す情報であるか否か判断する。判断結果情報が、多機能機10が上記の特定の状態であることを示す情報である場合、動作制御部54は、S30でYESと判断する。
【0034】
本実施例では、上記の起動処理(図2参照)において、判断部56が既に多機能機10が上記の特定の状態であるか否か判断している。そのため、ユーザによって上記の指定操作が行われる場合に、制御部20は、上記の判断を再び実行する必要がなく(即ち図2のS2〜S14の処理を実行する必要がなく)、判断結果を確認すれば済む(S30)。メモリ32に記憶されている判断結果情報を確認するための処理負荷よりも、上記の判断の処理負荷の方が高いために、多機能機10の処理負荷が少なくて済む。
【0035】
(多機能機10が上記の特定の状態である場合)
多機能機10が上記の特定の状態である場合(即ちS30でYESの場合)、S34において、動作制御部54は、ユーザによって指定された多機能機90のSIPURIが、メモリ32内の優先順序テーブル40内に存在するか否かを判断する。ユーザによって指定された多機能機90のSIPURIが、優先順序テーブル40内に存在する場合(即ちS34でYESの場合)、S38に進む。
【0036】
一方、ユーザによって指定された多機能機90のSIPURIが、優先順序テーブル40内に存在しない場合(即ちS34でNOの場合)、S36において、動作制御部54は、多機能機90のSIPURIを、優先順序テーブル40に書き込む。S36では、さらに、動作制御部54は、多機能機90のSIPURIに関連付けて、各メディアタイプの優先順序と、変更フラグと、指定日時と、を優先順序テーブル40に書き込む。S36で書き込まれる各メディアタイプの優先順序は、予め決められており、1位が「audio」であり、2位が「video」であり、3位が「application」である。また、変更フラグとして「0」が書き込まれ、指定日時として現在日時の次の月の1日の0時0分が書き込まれる。例えば、現在日時が2010年9月10日15時0分であった場合、S36では、動作制御部54は、指定日時として「2010年10月1日0時0分」を書き込む。S36を終えると、S38に進む。
【0037】
S38では、動作制御部54は、多機能機90のSIPURIに関連付けられている変更フラグが「1」であるか否かを判断する。変更フラグが「1」である場合(即ちS38でYESの場合)、S46において、要求実行部50(図1参照)は、通信処理を実行する。一方、変更フラグが「0」である場合(即ちS38でNOの場合)、S40において、動作制御部54は、現在日時が、多機能機90のSIPURIに関連付けられている指定日時を経過しているか否かを判断する。現在日時が指定日時を経過していない場合(即ちS40でNOの場合)、S46において、要求実行部50は、通信処理を実行する。
【0038】
一方、現在日時が指定日時を経過している場合(即ちS40でYESの場合)、S42において、動作制御部54は、多機能機90のSIPURIに関連付けられている優先順序を一時的に変更する。具体的には、S42では、動作制御部54は、1位のメディアタイプ(audio)を最下位(3位)に繰り下げるとともに、2位のメディアタイプ(video)、3位のメディアタイプ(application)を、それぞれ、1位、2位に繰り上げる。S42を終了すると、S44において、要求実行部50は、通信処理を実行する。
【0039】
(優先順序に従った通信処理(図3のS44及びS46))
図4に示すように、S60では、要求実行部50は、多機能機90のSIPURIに関連付けられた優先順序を、優先順序テーブル40から取得する。例えば、図3のS42で優先順序が一時的に変更されていれば、S60では、要求実行部50は、変更後の優先順序を取得する。
【0040】
次いで、S62において、要求実行部50は、S60で取得された優先順序の1位のメディアタイプを含むINVITEコマンドを生成する。具体的には、S62では、要求実行部50は、1位のメディアタイプを表わす情報(例えば「video」等)を、INVITEコマンドのm行に書き込む。なお、以下では、INVITEコマンドのm行にメディアタイプを表わす情報が書き込まれている状態のことを、「m=書き込まれたメディアタイプ(例えばvideo)」と表現する場合がある。S62では、さらに、要求実行部50は、多機能機90のSIPURIを送信先として、INVITEコマンドをSIPサーバ70に送信する(S62)。
【0041】
SIPサーバ70は、INVITEコマンドに含まれるメディアタイプが、SIPサーバ70自身が利用可能なメディアタイプである場合に、INVITEコマンドを多機能機90に転送する。一方、SIPサーバ70は、INVITEコマンドに含まれるメディアタイプが、SIPサーバ70自身が利用不可能なメディアタイプである場合、INVITEコマンドを多機能機90に転送せずに、多機能機10にNGコマンド(具体的には488 Not Acceptable Here)を送信する。例えば、SIPサーバ70が、IP音声電話機能を実現可能であるが、IPTV電話機能を実現不可能である状態で、「m=video」を含むINVITEコマンドを受信すると、多機能機10にNGコマンドを送信する。
【0042】
多機能機90は、SIPサーバ70から受信したINVITEコマンドに含まれるメディアタイプが、多機能機90自身が利用可能なメディアタイプである場合、200OKコマンドをSIPサーバ70に送信する。この場合、SIPサーバ70は、200OKコマンドを多機能機10に転送する。一方、多機能機90は、INVITEコマンドに含まれるメディアタイプが、多機能機90自身が利用不可能なメディアタイプである場合、NGコマンドをSIPサーバ70に送信する。この場合、SIPサーバ70は、NGコマンドを多機能機10に転送する。
【0043】
S64において、要求実行部50は、200OKコマンドを受信することを監視する。要求実行部50は、200OKコマンドを受信した場合(即ちS64でYESの場合)に、多機能機90のSIPURIを送信先として、SIPサーバ70にACKコマンドを送信する。SIPサーバ70は、ACKコマンドを多機能機90に転送する。これにより、多機能機10と多機能機90との間で、INVITEコマンドに含まれるメディアタイプに対応する通信セッションが確立する。例えば、INVITEコマンドが「m=audio」である場合、メディアタイプ「audio」に対応する通信セッション(IP音声電話機能のためのRTP(Real-time Transport Protocol)通信セッション)が確立する。この場合、当該通信セッションを用いて、音声データを通信可能である(映像データを通信不可能である)。また、例えば、INVITEコマンドが「m=video」である場合、メディアタイプ「video」に対応する通信セッションが確立する。この場合、当該通信セッションを用いて、音声データ及び映像データを通信可能である。
【0044】
次いで、S70において、対象データ通信部52(図1参照)は、S64で確立された通信セッションを用いて、SIPサーバ70を介さずに、通信対象の対象データを多機能機90と通信する。即ち、多機能機10と多機能機90とは、ピアツーピアの通信を実行することによって、対象データの通信を実行する。なお、対象データは、確立済みの通信セッションに対応するメディアタイプに依存する。例えば、確立済みの通信セッションに対応するメディアタイプが「audio」の場合、対象データは、多機能機10のマイクに入力される音声データと、多機能機90のマイクに入力される音声データと、を含む。例えば、確立済みの通信セッションに対応するメディアタイプが「video」の場合、対象データは、各多機能機10,90のマイクに入力される音声データのみならず、多機能機10の撮像部19で生成される映像データと、多機能機90の撮像部で生成される映像データと、を含む。また、例えば、確立済みの通信セッションのメディアタイプが「application」の場合、対象データは、各多機能機10,90のマイクに入力される音声データと、多機能機10の撮像部19で生成される映像データと、多機能機10、90の操作部12に入力されるメッセージデータである。S70が終了すると、図4の通信処理が終了する。
【0045】
上述したように、多機能機10は、200OKコマンドを受信せずに、NGコマンドをSIPサーバ70から受信することがある。この場合、要求実行部50は、S64でNOと判断し、次いで、S66において、全てのメディアタイプの試行が終了したか否かを判断する。「audio」、「video」、及び、「application」の3種類の全てについて、INVITEコマンドの送信の試行が終了している場合に、要求実行部50はS66でYESと判断する。S66でYESの場合、図4の通信処理が終了する。この場合、多機能機10と多機能機90との間で通信セッションが確立されず、対象データの通信が実行されない。
【0046】
一方、全てのメディアタイプの試行が終了していない場合(即ちS66でNOの場合)、S68において、要求実行部50は、次の順位のメディアタイプを含むINVITEコマンドを、多機能機90のSIPURIを送信先として送信する。次いで、要求実行部50は、S64に戻って、200OKコマンドを受信することを監視する。その後の各処理については、上述の通りである。
【0047】
図3のS46の通信処理が終了すると、メイン処理が終了する。一方、図3のS44の通信処理が終了すると、S48において、動作制御部54は、1位のメディアタイプを含むINVITEコマンドを送信することによって、通信セッションが確立されたのか否かを判断する。ここでYESの場合、S50において、動作制御部54は、多機能機90のSIPURIに関連付けられている変更フラグを「0」から「1」に変更する。さらに、S50では、動作制御部54は、多機能機90のSIPURIに関連付けられている指定日時を消去する。S50が終了すると、図3のメイン処理が終了する。
【0048】
一方、1位のメディアタイプを含むINVITEコマンドを送信することによって、通信セッションが確立されなかった場合(即ちS48でNOの場合)、S52において、動作制御部54は、S42で一時的に変更した優先順序を元に戻す。次いで、S54において、動作制御部54は、多機能機90のSIPURIに関連付けられている指定日時を更新する。具体的に言うと、動作制御部54は、新たな指定日時として、現在日時の次の月の1日の0時0分を書き込む。S54を終えると、図3のメイン処理が終了する。
【0049】
(多機能機10が上記の特定の状態でない場合)
多機能機10が上記の特定の状態でない場合(即ちS30でNOの場合)、S32に進む。S32では、要求実行部50は、デフォルト通信処理(図5参照)を実行する。
【0050】
(デフォルト通信処理(図3のS32))
図5に示すように、S80では、要求実行部50は、多機能機90のSIPURIを送信先として、「m=video」を含むINVITEコマンドをSIPサーバ70に送信する。この場合のSIPサーバ70の動作は、上述の通りである。
【0051】
S82において、要求実行部50は、200OKコマンドを受信することを監視する。要求実行部50は、200OKコマンドを受信した場合(即ちS82でYESの場合)に、多機能機90のSIPURIを送信先として、ACKコマンドをSIPサーバ70に送信する。SIPサーバ70は、ACKコマンドを多機能機90に転送する。これにより、多機能機10と多機能機90との間で、INVITEコマンドに含まれるメディアタイプ「video」に対応する通信セッションが確立する。
【0052】
次いで、S84において、対象データ通信部52は、S82で確立された通信セッションを用いて、SIPサーバ70を介さずに、通信対象の対象データ(即ち音声データ及び映像データ)を多機能機90と通信する。S84が終了すると、図5のデフォルト通信処理が終了する。
【0053】
一方、多機能機10が、200OKコマンドを受信せずに、NGコマンドを受信した場合(即ちS82でNOの場合)、図5のデフォルト通信処理が終了する。この場合、多機能機10と多機能機90との間で通信セッションが確立されず、対象データの通信が実行されない。図5のデフォルト通信処理(図3のS32)が終了すると、図3のメイン処理が終了する。
【0054】
上述の通り、多機能機10が上記の特定の状態である場合(S30でYESの場合)には、多機能機10のユーザが、enterprise-numberリスト36に登録されているいずれかのプロバイダと契約している。従って、多機能機10が上記の特定の状態である場合、SIPサーバ70は、IPTV電話機能が実現可能な仕様に変更されない限り、IPTV電話機能を実現不可能であり、IP音声電話機能を実現可能である。このために、多機能機10は、図3のS36で、1位の順位として「audio」を記憶して、通信セッションが確立される可能性が高い「m=audio」のINVITEコマンドを優先的に送信する。一方、多機能機10が上記の特定の状態でない場合(図3のS32でNOの場合)には、SIPサーバ70がIPTV電話機能を実現可能である可能性が高い。従って、多機能機10が上記の特定の状態でない場合、多機能機10は、「m=video」のINVITEコマンドを送信する(図5のS80参照)。この構成によると、多機能機10は、多機能機10が上記の特定の状態であるのか否かに応じて、適切なINVITEコマンドを送信することができる。即ち、通信セッションが確立される可能性が低いINVITEコマンドが送信されることを抑制し得る。従って、多機能機10と多機能機90との間の通信負荷が大きくなるのを抑制し得る。
【0055】
(具体例:図6のタイムチャート)
上記の図2〜図5のフローチャートに従って実現される多機能機10の処理の具体例を説明する。図6の例では、多機能機10は、上記の特定の状態である。そのため、SIPサーバ70は、IPTV電話機能を実現可能な仕様に変更されない限り、IPTV電話機能を実現不可能であり、IP音声電話機能を実現可能である。従って、図3のS36において、動作制御部54は、優先順序テーブル40に、各メディアタイプの優先順序として、1位「audio」、2位「video」、3位「application」を記憶させる。以下では、この優先順序のことを「デフォルト優先順序」と呼ぶ。また、S36では、動作制御部54は、優先順序テーブル40に変更フラグ「0」を記憶させる。この状態では、指定日時が経過する前に、通信指示I1(即ち多機能機90のSIPURIの指定操作)が入力されると、要求実行部50は、デフォルト優先順序に従って、最初に、「m=audio」を含むINVITEコマンドを送信する。これにより、多機能機10と多機能機90との間で通信セッションが適切に確立される。対象データ通信部52は、メディアタイプ「audio」に従って、対象データ(即ち音声データ)を多機能機90と通信する。なお、以下では、多機能機90のSIPURIに関連付けてデフォルト優先順序が優先順序テーブル40に継続的に記憶される期間のことを「第1期間」と呼ぶ。
【0056】
上述の通り、SIPサーバ70は、将来的に、IPTV電話機能を実現可能な仕様に変更される可能性がある。そのような仕様の変更の有無を確認するために、指定日時が経過した後に通信指示I2が入力されると、動作制御部54は、優先順序テーブル40内のデフォルト優先順序を他の優先順序に一時的に変更する(図3のS42)。上記の他の優先順序は、1位「video」、2位「application」、3位「audio」である。以下では、この優先順序のことを「変更後優先順序」と呼ぶ。この状態では、要求実行部50は、最初に、「m=video」を含むINVITEコマンドを送信することを試行する。なお、以下では、多機能機90のSIPURIに関連付けて変更後優先順序が優先順序テーブル40に一時的に記憶される期間のことを「第3期間」と呼ぶ。なお、変更後優先順序は、SIPサーバ70の仕様の変更の有無を確認するために一時的に利用される優先順序である。即ち、「m=video」を含むINVITEコマンドによって通信セッションが確立されない場合には、変更後優先順序からデフォルト優先順序に再び変更される。従って、デフォルト優先順序が継続的に記憶される第1期間の中に、変更後優先順序が一時的に記憶される第3期間が含まれると考えることができる。
【0057】
(SIPサーバ70がIPTV電話機能を実現可能な仕様に変更されない場合)
通信指示I2が入力される時点で、SIPサーバ70が、IPTV電話機能を実現可能な仕様に変更されていない場合について説明する。この場合、図6の上段に示すように、上記の第3期間において、「m=video」を含むINVITEコマンドが送信されても、通信セッションが確立されない(多機能機10はNGコマンドを受信する)。従って、動作制御部54は、変更後優先順序をデフォルト優先順序に戻す(図3のS52)。また、動作制御部54は、指定日時を更新する(図3のS54)。この例では、第1期間が継続する。
【0058】
第1期間が継続する場合には、更新済みの指定日時が経過する前に通信指示I3が入力されると、多機能機10は、デフォルト優先順位に従って、上記の通信指示I1が入力された場合と同様の処理を実行する。また、更新済みの指定日時が経過した後に通信指示I4が入力されると、多機能機10は、変更後優先順位に従って、上記の通信指示I2が入力された場合と同様の処理を実行する。
【0059】
(SIPサーバ70がIPTV電話機能を実現可能な仕様に変更される場合)
上記の通信指示I2が入力される時点で、SIPサーバ70が、IPTV電話機能を実現可能な仕様に変更されている場合について説明する。この場合、図6の下段に示すように、「m=video」を含むINVITEコマンドによって通信セッションが確立される。この場合、対象データ通信部52は、メディアタイプ「video」に従って、対象データ(即ち音声データ及び映像データ)を多機能機90と通信する。次いで、動作制御部54は、多機能機90のSIPURIに関連付けられている変更フラグを「1」に変更する(図3のS48でYES、S50)。この例では、デフォルト優先順位に戻ることなく、変更後優先順序が維持される。この場合、変更後優先順序から他の優先順序にさらに変更されることがなく、変更後優先順序が継続的に記憶される。即ち、多機能機90のSIPURIに関連付けて変更後優先順序が優先順序テーブル40に継続的に記憶される期間に移行する。以下では、この期間のことを「第2期間」と呼ぶ。
【0060】
第2期間に移行した後に通信指示I5が入力されると、要求実行部50は、変更後優先順序に従って、最初に、「m=video」を含むINVITEコマンドを送信する。これにより、多機能機10と多機能機90との間で通信セッションが適切に確立される。この場合、対象データ通信部52は、メディアタイプ「video」に従って、対象データ(音声データ及び映像データ)を多機能機90との間で通信する。
【0061】
(本実施例の効果)
本実施例の通信システム2について詳しく説明した。図6に示すように、第1期間では、「m=audio」を含むINVITEコマンドによって通信セッションが確立されなかった場合に、「m=video」を含むINVITEコマンドを送信する。そのため、多機能機90が、受信したINVITEコマンドに含まれるメディアタイプが利用不可能なメディアタイプである場合にNGコマンドを送信する(上記の特定のタイプ)場合であっても、多機能機10は、多機能機90との間で適切にセッションが確立されるように、INVITEに含まれる情報を変えながら、INVITEの送信を繰り返すことができる。
【0062】
また、本実施例では、図6に示すように、第1期間(例えば「第1動作モード」と言い換えてもよい)では、最初に、「m=audio」を含むINVITEコマンドが送信され、第2期間(例えば「第2動作モード」と言い換えてもよい)では、最初に、「m=video」を含むINVITEコマンドが送信される。指定日時が経過した後に、通信指示I2が入力されると、第1期間内の第3期間(例えば「第3動作モード」と言い換えてもよい)に移行する。ここで、「m=video」を含むINVITEコマンドによって通信セッションが確立されなかった場合(図6の上段)には、第1期間が継続する。一方、「m=video」を含むINVITEコマンドによって通信セッションが確立された場合(図6の下段)には、第1期間内の第3期間から第2期間に移行する。第2期間に移行した後に通信指示I5が入力されると、通信セッションが確立される可能性が高い「m=video」を含むINVITEコマンドが最初に送信される。そのため、「m=audio」を含むINVITEコマンドが送信される可能性が低くなる。本実施例によると、通信セッションが確立される可能性が低いINVITEコマンドが送信されることを抑制し得る。従って、多機能機10と多機能機90との間の通信負荷が大きくなるのを抑制し得る。
【0063】
また、第1期間が継続する場合(図6の上段)には、指定日時が経過する前に通信指示I3が入力されると、通信セッションが確立される可能性が高い「m=audio」を含むINVITEコマンドが最初に送信される。そのため、「m=video」を含むINVITEコマンドが送信される可能性が低くなる。通信セッションが確立される可能性が低いINVITEコマンドが送信されることを抑制し得る。従って、多機能機10と多機能機90との間の通信負荷が大きくなるのを抑制し得る。
【0064】
多機能機90(通信相手となるデバイス)やSIPサーバ70は、ファームウェア更新や利用者による機器の買い替えなどにより、利用可能なメディアタイプが変更される可能性がある。メディアタイプが変更された場合に、その通知を受けなければ、送信側装置(多機能機10)はその変更があったことを知ることができない。したがって、今まで利用不可能なメディアタイプが利用可能に変更されたり、今まで利用可能なメディアタイプが利用不可能に変更されたりした場合、多機能機10では対応できない。本実施例の多機能機10は、所定のタイミングで、優先順序を変更したINVITEコマンドを送信する。そのため、多機能機90やSIPサーバ70が利用可能なメディアタイプが変更された場合であっても、多機能機10と多機能機90との間の通信負荷を抑制する順序でのINVITEコマンドの送信を行うことができる。
【0065】
多機能機10が特定の状態である場合において、所定のタイミングで「m=video」を含むINVITEコマンドを送信して通信セッションが確立されなかった場合は、多機能機90やSIPサーバ70で、IPTV電話機能(「m=video」)を実現可能とするための仕様変更が行われていないことを意味する。その場合、本実施例の多機能機10は、指定期間を更新する。従って、通信が実行される毎に、「m=video」を含むINVITEコマンドの送信が試行される場合と比べて、多機能機10と多機能機90との間の通信負荷が大きくなることを抑制し得る。
【0066】
また、本実施例では、通信先デバイス(SIPURI)毎に、上記の各処理を行うため、通信先デバイス毎に、適切な優先順序でINVITEコマンドを送信することができる。
【0067】
本実施例の各要素と本発明の各要素の対応関係を記載しておく。「audio」、「video」、及び、「application」の3種類の情報が「複数種類の情報」の一例である。「audio」、「video」が、それぞれ、「第1種の情報」、「第2種の情報」の一例である。なお、「複数種類の情報」の語は、「異なるメディアタイプに対応する複数種類の情報」と言い換えてもよい。「m=audio」を含むINVITEコマンド、「m=video」を含むINVITEコマンドが、それぞれ、「第1種の通信要求」、「第2種の通信要求」の一例である。図5のS80で送信される「m=video」を含むINVITEコマンドが「第3種の通信要求」の一例である。デフォルト優先順序、変更後優先順序が、それぞれ、「第1種のデータ」、「第2種のデータ」の一例である。
【0068】
(第2実施例)
図7のタイムチャートを用いて、第1実施例と異なる点を中心に説明する。第1期間において、指定日時が経過する前に、通信指示I11が入力された場合の処理は、図6の例で通信指示I1が入力された場合の処理と同様である。ただし、第2実施例では、指定日時が経過した後に、通信指示I12が入力された場合の処理が、図6の例で通信指示I2が入力された場合の処理と異なる。即ち、動作制御部54は、優先順序テーブル40内のデフォルト優先順序を変更後優先順序に一時的に変更しない。ただし、要求実行部50は、変更後優先順序に従って、最初に、「m=video」を含むINVITEコマンドを送信する。
【0069】
(SIPサーバ70がIPTV電話機能を実現可能な仕様に変更されない場合)
図7の上段に示すように、「m=video」を含むINVITEコマンドによって通信セッションが確立されない。この場合、動作制御部54は、指定日時を更新する。第1期間が継続する。その後、更新済みの指定日時が経過する前に通信指示I13が入力されると、多機能機10は、上記の通信指示I11が入力された場合と同様の処理を実行する。また、更新済みの指定日時が経過した後に通信指示I14が入力されると、多機能機10は、上記の通信指示I12が入力された場合と同様の処理を実行する。
【0070】
(SIPサーバ70がIPTV電話機能を実現可能な仕様に変更される場合)
図7の下段に示すように、「m=video」を含むINVITEコマンドによって通信セッションが確立される。対象データ通信部52は、メディアタイプ「video」に従って、対象データ(即ち音声データ及び映像データ)を多機能機90と通信する。次いで、動作制御部54は、優先順序テーブル40内のデフォルト優先順序を変更後優先順序に変更する。さらに、動作制御部54は、変更フラグを「1」に変更する。この場合、変更後優先順序から他の優先順序にさらに変更されることがなく、変更後優先順序が継続的に記憶される。即ち、第1期間から第2期間に移行する。第2期間に移行した後に通信指示I15が入力されると、要求実行部50は、変更後優先順序に従って、最初に、「m=video」を含むINVITEコマンドを送信する。これにより、多機能機10と多機能機90との間で通信セッションが適切に確立される。対象データ通信部52は、メディアタイプ「video」に従って、対象データ(即ち音声データ及び映像データ)を多機能機90と通信する。
【0071】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【0072】
(変形例1)上記の各実施例では、多機能機10は、インターネット6を介して、多機能機90及びSIPサーバ70と通信可能である。これに代えて、多機能機10は、NGN(Next Generation Network:次世代ネットワーク)を介して、多機能機90及びSIPサーバ70と通信可能であってもよい。
【0073】
(変形例2)上記の各実施例では、優先順序テーブル40内には、SIPURIに関連付けて、各メディアタイプの優先順序が記憶される。これに代えて、メモリ32内には、SIPURIに関連付けて、順位フラグ(「1」又は「0」)が記憶されていてもよい。この場合、要求実行部50は、ユーザによって指定された通信先のSIPURIに関連付けられている順位フラグが「0」である場合には、第1種の要求処理を実行し、当該順位フラグが「1」である場合には、第2種の要求処理を実行してもよい。本変形例では、順位フラグ「0」、「1」が、それぞれ、「第1種のデータ」、「第2種のデータ」の一例である。
【0074】
(変形例3)上記の各実施例では、各メディアタイプの優先順序を変更する際に、1位のメディアタイプを最下位(3位)に変更し、2位、3位のメディアタイプをそれぞれ1位、2位に変更する。これに代えて、1位のメディアタイプと2位のメディアタイプとを入れ替え、3位のメディアタイプの順位を維持してもよい。。
【0075】
(変形例4)上記の各実施例では、動作制御部54は、第2期間に移行した後に、変更後優先順序をさらに変更しない。即ち、一般的に言うと、動作制御部54は、第2期間に移行した後に、要求実行部50に第2種の要求処理のみを実行させる。これに代えて、動作制御部54は、第2期間に移行した後に、所定のタイミングで第1種の要求処理を要求実行部50に試行させてもよい。動作制御部54は、当該試行において、第1種の通信要求によって通信セッションが確立されなかった場合に、第2期間を維持し、当該試行において、第1種の通信要求によって通信セッションが確立された場合に、第1期間に再び移行させてもよい。
【0076】
(変形例5)上記の各実施例では、動作制御部54は、対象データが通信されるべき際に、現在日時が指定日時を経過している場合(図3のS40でYESの場合)に、各メディアタイプの優先順序を一時的に変更する(S42)。即ち、一般的に言うと、所定のタイミングは、現在日時が所定日時を経過している状態で、対象データが通信先デバイスと通信されるべきタイミングである。これに代えて、所定のタイミングは、例えば、通信先デバイスの通信識別情報を送信先として通信要求が送信された回数が所定回数を超えた後に、対象データが通信先デバイスと通信されるべきタイミングであってもよい。また、所定のタイミングは、対象データが通信先デバイスと通信されるべきタイミングでなくてもよく、例えば、通信装置のベンダによって予め決められた日時(例えば毎月1日の0時0分)であってもよい。
【0077】
(変形例6)上記の各実施例では、例えば、図6の上段の例に示されるように、指定日時が経過する毎に、デフォルト優先順序から変更後優先順序に一時的に変更される。即ち、一般的に言うと、第1期間内に所定のタイミングが2回以上設けられ得る。これに代えて、所定のタイミングが1回のみ設けられるようにしてもよい。即ち、第1期間内に第2種の要求処理が試行された後に、第2種の要求処理が再び試行されないようにしてもよい。
【0078】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0079】
2:通信システム、4:LAN、6:インターネット、10:多機能機、60:DHCPサーバ、70:SIPサーバ、90:多機能機

【特許請求の範囲】
【請求項1】
通信装置であって、
通信対象の対象データが通信先デバイスと通信されるべき際に、前記通信装置と前記通信先デバイスとの間で通信セッションを確立するために、第1種の要求処理と第2種の要求処理とを含む複数種類の要求処理のうちのいずれかを実行する要求実行部であって、
前記第1種の要求処理は、複数種類の情報のうちの第1種の情報を含む第1種の通信要求を、前記複数種類の情報のうちの第2種の情報を含む第2種の通信要求よりも先に前記通信先デバイスに送信する処理と、前記第1種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第2種の通信要求を前記通信先デバイスに送信する処理と、を含み、
前記第2種の要求処理は、前記第2種の通信要求を、前記第1種の通信要求よりも先に前記通信先デバイスに送信する処理と、前記第2種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第1種の通信要求を前記通信先デバイスに送信する処理と、を含む、
前記要求実行部と、
前記通信装置と前記通信先デバイスとの間で前記通信セッションが確立されている状態で、前記対象データを前記通信先デバイスと通信する対象データ通信部と、
前記要求実行部の動作を制御する動作制御部と、を備え、
前記動作制御部は、
第1期間では、前記対象データが前記通信先デバイスと通信されるべき毎に、前記要求実行部に前記第1種の要求処理を実行させ、
前記第1期間内の所定のタイミングで、前記要求実行部に前記第2種の要求処理を試行させ、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第1期間を継続し、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立された場合に、前記第1期間から第2期間に移行させ、
前記第2期間では、前記対象データが前記通信先デバイスと通信されるべき毎に、前記要求実行部に前記第2種の要求処理を実行させる、
通信装置。
【請求項2】
前記通信装置が、特定のサーバを介して、前記通信セッションを確立可能な特定の状態であるのか否かを判断する判断部をさらに備え、
前記複数種類の要求処理は、さらに、第3種の要求処理を含み、
前記第3種の要求処理は、前記複数種類の情報のうちの所定の情報を含む第3種の通信要求を前記通信先デバイスに送信する処理を含み、前記第3種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、他の種類の通信要求を前記通信先デバイスに送信する処理を含まず、
前記動作制御部は、
前記通信装置自身が前記特定の状態であると判断される場合には、
前記第1期間では、前記対象データが前記通信先デバイスと通信されるべき毎に、前記要求実行部に前記第1種の要求処理を実行させ、
前記第1期間内の前記所定のタイミングで、前記要求実行部に前記第2種の要求処理を試行させ、
前記通信装置自身が前記特定の状態でないと判断される場合には、
前記第1期間では、前記通信先デバイスと前記対象データが通信されるべき毎に、前記要求実行部に前記第3種の要求処理を実行させる、請求項1に記載の通信装置。
【請求項3】
前記判断部は、前記通信装置の起動時に、前記判断を実行し、
前記動作制御部は、前記対象データが前記通信先デバイスと通信されるべき毎に、前記判断の結果を確認する、請求項2に記載の通信装置。
【請求項4】
第1種のデータと第2種のデータとを含む複数種類のデータのいずれかを記憶するためのメモリをさらに備え、
前記第1期間は、前記メモリに前記第1種のデータが継続的に記憶される期間であり、
前記第2期間は、前記メモリに前記第2種のデータが継続的に記憶される期間であり、
前記動作制御部は、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立された場合に、前記メモリに前記第1種のデータが継続的に記憶される状態から、前記メモリに前記第2種のデータが継続的に記憶される状態に変更することによって、前記第1期間から前記第2期間に移行させる、請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
前記第1期間は、前記メモリに前記第2種のデータが一時的に記憶される第3期間を含み、
前記動作制御部は、
前記第1期間内の前記所定のタイミングで、前記メモリに、前記第1種のデータに代えて、前記第2種のデータを一時的に記憶させることによって、前記第1期間内の前記第3期間に移行させ、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記メモリに、前記第2種のデータに代えて、前記第1種のデータを記憶させることによって、前記第1期間を継続し、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立された場合に、前記メモリに前記第2種のデータが記憶される状態を維持することによって、前記第1期間内の前記第3期間から前記第2期間に移行させる、請求項4に記載の通信装置。
【請求項6】
前記メモリは、複数個の通信識別情報のそれぞれについて、当該通信識別情報と、前記複数種類のデータのいずれかと、を関連付けて記憶可能であり、
前記第1期間は、前記複数個の通信識別情報のうち、前記通信先デバイスに対応する特定の通信識別情報に関連付けて、前記第1種のデータが継続的に記憶される期間であり、
前記第2期間は、前記特定の通信識別情報に関連付けて、前記第2種のデータが継続的に記憶される期間である、請求項4又は5に記載の通信装置。
【請求項7】
前記動作制御部は、
前記第2期間では、前記要求実行部に前記第1種の要求処理を試行させない、請求項1から6のいずれか一項に記載の通信装置。
【請求項8】
前記第1期間内の前記所定のタイミングは、現在日時が所定日時を経過している状態で、前記対象データが前記通信先デバイスと通信されるべきタイミングである、請求項1から7のいずれか一項に記載の通信装置。
【請求項9】
通信装置のためのコンピュータプログラムであって、
前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、
通信対象の対象データが通信先デバイスと通信されるべき際に、前記通信装置と前記通信先デバイスとの間で通信セッションを確立するために、第1種の要求処理と第2種の要求処理とを含む複数種類の要求処理のうちのいずれかを実行する要求実行処理であって、
前記第1種の要求処理は、複数種類の情報のうちの第1種の情報を含む第1種の通信要求を、前記複数種類の情報のうちの第2種の情報を含む第2種の通信要求よりも先に前記通信先デバイスに送信する処理と、前記第1種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第2種の通信要求を前記通信先デバイスに送信する処理と、を含み、
前記第2種の要求処理は、前記第2種の通信要求を、前記第1種の通信要求よりも先に前記通信先デバイスに送信する処理と、前記第2種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第1種の通信要求を前記通信先デバイスに送信する処理と、を含む、
前記要求実行処理と、
前記通信装置と前記通信先デバイスとの間で前記通信セッションが確立されている状態で、前記対象データを前記通信先デバイスと通信する対象データ通信処理と、
を実行させ、
前記要求実行処理は、
第1期間では、前記対象データが前記通信先デバイスと通信されるべき毎に、前記第1種の要求処理を実行すること、
前記第1期間内の所定のタイミングで、前記第2種の要求処理を試行すること、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立されなかった場合に、前記第1期間を継続すること、
前記試行において、前記第2種の通信要求を送信することによって前記通信セッションが確立された場合に、前記第1期間から第2期間に移行すること、及び、
前記第2期間では、前記対象データが前記通信先デバイスと通信されるべき毎に、前記第2種の要求処理を実行すること、
を含む、コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−90213(P2012−90213A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−237247(P2010−237247)
【出願日】平成22年10月22日(2010.10.22)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】