JP4455009B2 - 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置 - Google Patents

電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置 Download PDF

Info

Publication number
JP4455009B2
JP4455009B2 JP2003368923A JP2003368923A JP4455009B2 JP 4455009 B2 JP4455009 B2 JP 4455009B2 JP 2003368923 A JP2003368923 A JP 2003368923A JP 2003368923 A JP2003368923 A JP 2003368923A JP 4455009 B2 JP4455009 B2 JP 4455009B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
information
session
start request
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.)
Expired - Fee Related
Application number
JP2003368923A
Other languages
English (en)
Other versions
JP2005135076A (ja
Inventor
泰 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003368923A priority Critical patent/JP4455009B2/ja
Publication of JP2005135076A publication Critical patent/JP2005135076A/ja
Application granted granted Critical
Publication of JP4455009B2 publication Critical patent/JP4455009B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

複数の情報処理装置とターゲット(電子機器)とが通信可能である環境において、複数の情報処理装置からターゲットに接続するための技術に関する。
複数の情報処理装置とターゲットが接続されているネットワーク環境において、ターゲットが既に1つ又は複数の情報処理装置とセッション中であって、そのターゲットがセッション中の情報処理装置の数が接続許容数に達している場合、他の情報処理装置からそのターゲットに接続要求が発行されると、その情報処理装置に対して接続不成立の応答を行う。これに対して、この接続不成立の応答を受けた情報処理装置は、そのターゲットから接続成功の応答を受け取るまで、周期的に接続要求を繰り返し発行する。そして、そのターゲットと情報処理装置とのセッションが終了して、その情報処理装置との接続が解除されて接続許容数以下となった後、ターゲットが新たな接続要求を情報処理装置から受け取ると、その接続が許可され、その接続要求を出した情報処理装置に対して接続成功の応答を返す(例えば、特許文献1)。
特開2001−353931号公報
ここで、ターゲットにおけるセッション中の情報処理装置の数が、そのターゲットの接続許容数に達している場合に、ある情報処理装置Aが、そのターゲットに接続要求を出し、遅れて更に別の情報処理装置Bが接続要求を出し始めた場合を考える。各情報処理装置は互いに異なる周期で接続の再要求を繰り返し発行することになるが、この状況では、先に接続要求を出した情報処理装置Aが次に接続に成功する保証はなく、たまたま、そのターゲットがセッションを終了したタイミングで接続要求を発行した情報処理装置Bとの接続が確立されてしまうことがある。
これに対して、最先に接続要求を発行した情報処理装置Aが、ターゲットが他の情報処理装置との接続が可能になった時に、最先に接続することを概ね保証できるようにすることが提案されている。これらによれば、接続要求の受付順に情報処理装置の優先順位を決め、ターゲットから情報処理装置に対して接続不成立を応答する際に、その優先順位が高いほど時間間隔が短くなるようにターゲットが情報処理装置に再接続要求タイミングを指示することが提案されている。
しかし、この提案では、常にターゲット側が複数の情報処理装置の優先順位を管理する必要がある。また、この提案では、先に接続要求を発行した情報処理装置からの再接続要求の発行時期が早まるだけであるため、その情報処理装置からの再接続要求の発行が僅かに遅れた場合であっても、後から接続要求を発行した別の情報処理装置に対して接続許可が応答されるという問題も起こり得る。よって、上述した問題点を十分に解決するには至っていない。
本発明は上記問題点に鑑みてなされたもので、複数の情報処理装置とターゲットとが接続されたネットワーク環境において、ターゲットに対して複数の情報処理装置から接続要求が発行された場合に、そのターゲットにおいて、それら複数の情報処理装置に対して最も効率良く接続許可を与える方法、装置、及びシステムを提供することにある。
本発明に係る電子機器は、
情報処理装置からのセッション開始要求を受信して、情報処理装置との間で通信を行う電子機器であって、
第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録手段と、
前記登録手段が前記第2情報処理装置を示す情報を登録した後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定手段と、
前記決定手段が、前記第3情報処理装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新手段と、
前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御手段と、を有することを特徴とする。
また本発明に係る通信システムは、
情報処理装置とターゲットとが通信可能な通信システムであって、
前記情報処理装置は、ターゲットに対してセッション開始要求を発行し、
前記ターゲットは、
第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録手段と、
前記登録手段が前記第2情報処理装置を示す情報を登録した後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定手段と、
前記決定手段が、前記第3情報処理装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新手段と、
前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御手段とを有することを特徴とする。
また本発明に係る通信制御方法は、
情報処理装置とターゲットとが通信可能な通信システム通信制御方法であって、
前記情報処理装置からターゲットに対して、セッション開始要求を発行し、
前記ターゲットにおいて、
第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録工程と、
前記登録工程で前記第2情報処理装置を示す情報が登録された後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定工程と、
前記決定工程において、前記第3情報処理装置を優先して接続すると決定された場合に、前記登録工程で登録された候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新工程と、
前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御工程とを実行することを特徴とする。
本発明によれば、ターゲット或いは電子機器と複数の情報処理装置が接続されたネットワーク環境において、そのターゲット或いは電子機器に対して複数の情報処理装置からセッション開始要求が発行された場合に、それら複数の情報処理装置に対して最も効率良くセッションの開始許可を与えることができるという効果がある。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。この実施の形態では、データ通信システムにおいて、ターゲットとしてプリンタを用いた場合で説明するが、本発明はこれに限定されるものでない。
図1は、本発明の実施の形態に係るデータ通信システムの構成を示すブロック図である。
図において、101は、有線又は無線で構成されたネットワークである。102及び103は共にネットワーク101に接続されたホストコンピュータ(PC)である。104はプリンタで、ターゲットの一例を示している。プリンタは、その他の種類の印刷装置などのデータ処理装置であっても良い。105はネットワークアダプタを示している。106は、プリンタ104とネットワークアダプタ105とを接続するインターフェースである。このインターフェースは、プリンタ104とネットワークアダプタ105とを接続するもので、USBやIEEE1394などのコネクタを有し、それぞれを有線ケーブルで接続しているものでもよく、或はプリンタ104とネットワークアダプタ105とを同一の筐体に収容し、金属銅線の内部バスにより接続したものの何れで構成されても良く、またこれに限定されない。
図2は、ホストコンピュータ(PC)102,103が備えるソフトウェアの構成を示すブロック図である。
アプリケーション層201は、各種アプリケーションソフトウェアを表し、ユーザの操作に従って、例えば文字や図形などのデータ作成や編集などを行う。プリンタドライバ層202は、各種プリンタを制御するためのドライバソフトウェアである。アプリケーション層201において、ユーザの指示で印刷処理が呼び出されると、プリンタドライバ層202の所定のプリンタドライバが選択される。そしてアプリケーション層201のアプリケーションソフトウェアから印刷に必要なデータが、選択されたプリンタドライバに渡され、プリンタ104が解釈できる適切なプリンタコマンドに変換される。ポートドライバ層203は、各種ネットワーク用のパケットを生成し、通信を制御して、プリンタドライバによって生成されたプリンタコマンドを送受信する役目を持つ。ネットワークインターフェース層204は、ホストコンピュータにおけるネットワーク通信用のドライバであり、Ethernet(登録商標)やIEEE1394などのような有線ネットワークや、例えばIEEE802.11aやIEEE802.11bなどのような無線ネットワークに対応したドライバを備えている。
ここで、アプリケーション層201、プリンタドライバ層202、ポートドライバ層203、ネットワークインターフェース層204の各層は、全て同一のホストコンピュータ(PC)内にある必要はなく、例えば、ホストコンピュータ(PC)が備えるアプリケーション層201とプリンタドライバ層202で生成したプリンタコマンドを他のサーバコンピュータに転送し、そのサーバコンピュータにあるポートドライバ層203とネットワークインターフェース層204を用いて通信を行っても同等の機能を実現できる。
図3は、本実施の形態に係るプリンタ(ターゲット)104が備えるソフトウェアの構成を示すブロック図である。
通信層301は、ネットワークに接続された通信モジュールの制御を行うソフトウェアであって、ホストコンピュータ(PC)のポートドライバ層203が生成するパケットを解釈して適切な処理及び制御を行う。ホストコンピュータ(PC)からプリンタ104に印刷用プリンタコマンドが送信された場合、通信層301は、その通信に用いたパケットヘッダを取り外し、プリンタコマンドのみをプリンタ層302に転送する。通信層301はプリンタ104に置かれ、プリンタ104の入力部に接続された内蔵型であっても良いし、別の筐体内に設けられてインターフェース機能モジュールと共に、プリンタ104が備えるセントロニクス、USB,IEEE1394などの拡張ポートに接続可能なインターフェースを有した外付けアダプタ型であっても良い。また、この通信層301は、上記の機能を有したコンピュータであっても良い。
次に、上述した図2及び図3に示す各ソフトウェア構成を説明したホストコンピュータ(PC)とプリンタ104との間の通信に関して説明する。
ここでは、ポートドライバ層203(図2)は、図3の通信層301とTCPプロトコル(Transmission Control Protocol)とUDP(User Datagram Protocol)プロトコルを用いて通信される。
このTCPプロトコルは、ネットワークアプリケーションに対して信頼性のあるストリームサービスを提供するためのプロトコルであって、2台の機器間で行われる通信の単位であるセッションの接続を行う必要があるが、通信に関しては保障されているため、印刷用のプリントデータの転送などに用いられる。UDPプロトコルは、信頼性よりもリアルタイム性が重要なアプリケーションや、複数の相手に通知するようなアプリケーションなどで主に使われるプロトコルであって、TCPセッションを既に接続した状態においても利用でき、本実施の形態に係るコマンド及びパケットを生成して送受信する。尚、コマンドの種類及び使用されるプロトコルについては後述する。
図4は、各コマンドで共通に使用されるデータパケットのフォーマットを説明する図である。
このパケットは、固定の識別子401と、コマンドの種別を示すコマンド番号402と、エラーの種別を示すエラー番号403と、このパケットのシーケンス番号404と、パケットヘッダ以降に続くデータ量を示すデータサイズ405と、各コマンドに応じたデータ部406とを備えている。
シーケンス番号404は、ホストコンピュータ(PC)とプリンタ104との間における通信の各パケットに対して「0x00」〜「0xFF」まで順番に付与される番号を示し、「0xFF」に達すると「0x00」に初期化される。このシーケンス番号404はホストコンピュータ(PC)のみでインクリメントされ、プリンタ104はUDPの応答パケットを返す際に、同じシーケンス番号を付して応答する。ホストコンピュータ(PC)が発行したUDPのシーケンス番号に対応する応答がプリンタ104から送られてこない場合は、ホストコンピュータ(PC)は、再度同じコマンドを、同じシーケンス番号でプリンタ104に送信する。
図5は、パケットに含まれるコマンドの一覧を説明する図である。
UDPとTCPの両プロトコルに対応するコマンドは、セッション確立前はUDPで、セッション確立後はTCPで通信する。各コマンドの説明欄における上段、1)は、ホストコンピュータ(PC)からプリンタ104へ送られるコマンド内容を示し、下段、2)はプリンタ104からホストコンピュータ(PC)へ送られるコマンド内容を示している。また、各コマンドには、予めコマンド番号が割り当てられており、これが図4に示すデータパケットのコマンド番号402にセットされる。これによりコマンドの種類を識別することができる。
[第1実施例]
図6は、本発明の実施の形態1に係るホストコンピュータ(PC)からプリンタ104へ送られるセッション開始要求パケットを説明する図である。このコマンドはUDPプロトコルを用いて通信される。ここではコマンド番号402に「セッション開始要求」を示す「05」が記入されており、これは図5を参照すると「ターゲット(Target)(プリンタ)へのセッション開始要求」であることが分かる。尚、図4に示すパケットの識別子401、コマンド番号402、エラー番号403、シーケンス番号404、そしてデータサイズ405と共通するエリアは同じ番号で示している。
データ部406には、セッション開始を要求した回数を示すリトライカウント(Retry Count)、セッション開始要求を始めた時刻を示すホストコンピュータにおける(Time Stamp)、ホストコンピュータの識別名(コンピュータ名)及びドキュメント名などが格納される。但し、これらはいつも全てデータ部406に含まれるわけではなく、コマンドの種類に応じて、これらの一部のみが含まれる場合もある。ここで、「Retry Count」と「Time Stamp」は、後述するセッション開始要求の可否判定に用いられる情報である。コンピュータ名、ドキュメント名、その他のデータは、セッション中にプリンタ104が保持する情報であり、他ホストコンピュータからのセッション情報の取得要求に対して応答する場合などに用いられる。「Time Stamp」は、ホストコンピュータ(PC)が備えるリアルタイムクロックに基づいて、あるジョブについて最初のセッション開始要求時に設定され、セッション成立まで同一値が保持される。「Retry Count」は、最初のセッション開始要求時には「Retry Count」の値を「0」とし、以降、再要求の度に1ずつインクリメントされる。
図7は、プリンタ104からホストコンピュータ(PC)へ送られるセッション開始要求応答パケットのフォーマットを示す図である。ここではコマンド番号402に「85」が記入されており、これは図5を参照すると「セッション開始要求に対する応答(Reply)」であることが分かる。
この応答コマンドは、UDPプロトコルを用いて通信される。プリンタ104は、セッション開始の可否を示す所定のエラー番号403を格納してホストコンピュータ(PC)へ返信する。このパケットでは、データ部406が存在しないため、データサイズ405の値は「0」となっている。
次に図8及び図9を参照して、本実施の形態に係るホストコンピュータ(PC)102(103)及びプリンタ104の構成を説明する。
図8は、本実施の形態に係るホストコンピュータ(PC)の構成を示すブロック図である。
図8において、81は、このホストコンピュータ全体の動作を制御するCPUである。ハードディスク(HD)83に記憶されているプログラムやデータがRAM82にロードされてCPU81により実行されることにより、このホストコンピュータの動作制御が実行される。またこのRAM82は、CPU81による制御動作時にワークメモリとして使用され、各種データを一時的に保存している。HD83は、各種アプリケーションソフトウェアやドライバなどを記憶している大容量記憶装置である。入力部84は、キーボードやポインティングデバイスなどを有し、ユーザにより操作されて各種データやコマンドの入力に使用される。表示部85は液晶やCRT等を有し、オペレータへのメッセージやデータなどを表示する。ネットワークインターフェース86は、ネットワーク101とのインターフェースを制御している。
図9は、本実施の形態に係るターゲットの一例を示すプリンタ104の構成を示すブロック図である。
図9において、91は制御部を示し、この制御部91は、このプリンタ104全体の動作を制御するCPU94、このCPU94により実行されるプログラムを記憶しているプログラムメモリ95、CPU94により動作時にワークエリアとして使用され、各種データを一時的に保存するRAM97、ネットワーク101との間の通信を制御するネットワークインターフェース96を備えている。操作パネル92は、ユーザにより操作されて各種データやコマンドを入力するキーや表示部を有している。プリンタエンジン93は、例えば電子写真法やインクジェット方式により記録シート上に画像を印刷する。
図10は、本実施の形態に係るホストコンピュータ(PC)によるセッション開始要求処理を示すフローチャートで、この処理を実行するプログラムはHD83にインストールされており、実行時にRAM82にロードされて実行される。
このホストコンピュータは、セッション開始要求を始めるに当たって、まず最初にステップS1で、「Time Stamp」に、現在の時間を設定し、ステップS2で、「Retry Count」を「0」に設定して、セッション開始要求パケットを作成して送信する(ステップS3)。尚、セッション開始要求の時間及び「Retry Count」の値は、RAM82に記憶されている。尚、「Time Stamp」に設定される現在の時間は、不図示のタイマによる計時に基づくものであっても、或はネットワーク101を介して他のホストコンピュータ等から取得した時間情報であっても良い。
そしてステップS4で、プリンタ104からの応答をタイムアウトまで待ち、それまでにプリンタ104からの応答があると、ステップS5で、その応答パケットがセッション開始を許可する(SUCCESS)ものか否かを判断する。セッションの開始が許可されたならば、プリンタ104とのセッションを開始して(ステップS9)、この処理フローを終了する。
一方、ステップS5でセッション開始が不許可となった場合はステップS7に進み、「Retry Count」の値を1つインクリメントし、次にステップS8に進み、ジョブがキャンセルされているかどうかをチェックし、キャンセルされていなければステップS3に戻ってパケットを再送する。また、ジョブがキャンセルされている時はステップS10に進み、セッション開始が失敗したものとして処理を終了する。
また、ステップS4で、プリンタ104からの応答をタイムアウトまで待ち、それまでにプリンタ104からの応答がないときはステップS6に進み、セッション開始要求パケットをプリンタ104に再送するように指示されたかどうかを判断し、再送が指示されたときはステップS3に戻って前述の処理を繰り返す。再送指示がないときはそのまま処理を終了する(ステップS10)。
図11は、本実施の形態に係るプリンタ104における、ホストコンピュータ(PC)からのセッション開始要求への応答処理を示すフローチャートで、この処理を実行するプログラムはプログラムメモリ95に記憶されている。プリンタ104は、ホストコンピュータからのセッション開始要求パケットに対して、SUCCESS(成功)又はNG(失敗)応答を返すが、その判断について説明する。尚、これ以降の説明において、説明を簡単にするために、プリンタ104が一度に実行できるセッション数を「1」として説明する。
プリンタ104の電源投入直後には、セッションは接続されておらず、プリンタ104内部で保持している、次のセッション開始要求に対してSUCCESSを返す候補コンピュータ情報はクリアされており、無効な状態である。
この処理は、ホストコンピュータからセッション開始要求パケットを受信することにより開始され、まずステップS11で、現在セッション中であるかどうかを判定し、セッション中でなければステップS15に進むが、セッション中であればステップS12に進む。ステップS15では、ある候補コンピュータの情報をクリアするまでの時間(有効時間)が経過しているか否かを判定する。この有効時間は、例えば、セッションが空き状態になってから5秒等というように、各パケットを送受信する処理よりも十分長い時間の固定値であってもよく、候補コンピュータのリトライ間隔を追従し、次に予測されるリトライのタイミングまででもよい。また更に、ネットワーク規模を考慮して推測してもよい(候補コンピュータのリトライ間隔を追従して、有効時間を算出する処理については後述する)。そして、その候補コンピュータの情報をクリアするまでの時間(有効時間)が経過している時はステップS16に進み、その候補コンピュータの情報をクリアしてステップS17に進む。
一方、ステップS15で、セッションが解放されてから、その候補コンピュータの情報の有効時間以上が経過していない場合は、候補コンピュータの情報をそのまま保持してステップS17に進み、候補コンピュータの情報が有効かどうかを判断する。この候補コンピュータの情報が有効かどうかの判定は、初期状態或はセッションの競合が発生していないために、候補コンピュータ情報が全てクリアされていたならば、候補コンピュータ情報が無効であると判断する。候補コンピュータ情報が全てクリアされていればステップS19に進んで、SUCCESS応答を、そのホストコンピュータに返す。このように初期状態では、元々候補コンピュータ情報はクリアされているのでSUCCESS応答が返送されることになる。
これに対しステップS17で、候補コンピュータ情報がクリアされておらず、候補コンピュータ情報が有効であると判断されるとステップS18に進み、そのセッション開始要求を送信したホストコンピュータが候補コンピュータと同じであるか否かを判断する。同じであればステップS19に進んで、そのホストコンピュータにSUCCESS応答を返し、セッション開始を可能にする。一方、ステップS18で、そのセッションの開始を要求したホストコンピュータが候補コンピュータと異なる場合はステップS14に進んでNG応答を返し、セッション不許可とする。
一方、ステップS11で、セッションが開始されている状態で、他のホストコンピュータからセッション開始要求を受信するとステップS12に進み、そのセッション開始を要求したホストコンピュータと候補コンピュータとを比較する。ここで候補コンピュータ情報が登録されていないときは、そのセッションを要求したホストコンピュータを候補コンピュータとして保持する。一方、既に候補コンピュータ情報が登録されている場合は、そのセッション要求したホストコンピュータと比較を行う。その比較条件としては、
(a)「Time Stamp」がより古いかどうか
(b)「Retry Count」がより多いかどうか
(c)「Time Stamp」が等しい場合、「Retry Count」がより多いかどうか
(d)「Retry Count」が等しい場合、「Time Stamp」がより古いかどうか
などというように、セッションの開始を要求した回数を示す「Retry Count」、セッション開始要求を始めた時刻を示す「Time Stamp」のいずれか一方又は両方を用いて、どのホストコンピュータが先に要求を出し始めたかを判断できるものであればどの様な条件であっても良い。
また、予め何れかの条件が固定的に設定されていても良いし、設定された条件を任意に変更できるようにしても良い。尚、これら条件の少なくともいずれかを満足したホストコンピュータの情報により、候補コンピュータの情報が更新される。ここにおいて、コンピュータ情報とはMACアドレスなどのように、そのホストコンピュータを特定できる情報である。
次に候補コンピュータとして登録されているホストコンピュータからのセッション開始要求のリトライ間隔に基づいて、前述の有効時間を算出する処理を説明する。
図12は、ホストコンピュータ(PC102,103)とプリンタ104との間のセッションを説明する図である。
先ず1200で、ホストコンピュータ102からプリンタ104に対してセッション開始を要求する。これに対してプリンタ104から「SUCCESS」が返送されて、セッションの開始が許可されると(1201)、ホストコンピュータ102はセッションの開始を指示する(1203)。これに対してプリンタ104より「開始OK」が返送されると(1204)、ホストコンピュータ102とプリンタ104との間でのセッションが開始される。このセッションは1205で、ホストコンピュータ102からプリンタ104に対してセッション終了が送信されるまで継続される。
その間、1210で、別のホストコンピュータ103からセッション開始要求がプリンタ104に送信されると、このセッション開始要求は受け付けられず、プリンタ104から「NG」が返送される(1211)。ここで、1210におけるセッション開始要求における「Retry Count」の値は「0」で、プリンタ104から「NG」が返送されることにより、ホストコンピュータ103からセッション開始要求がプリンタ104に送信される度に、この「Retry Count」の値は+1される。
プリンタ104は、このセッション開始要求コマンドを受信する度に、各セッション開始要求コマンドの時間間隔(Time Interval)を算出する。
いま、セッション終了(1205)の直前のセッション開始要求パケット(1213)の「Retry Count」の値を「n」とすると、このセッション開始要求パケット1213の処理を行った際に、このセッション開始要求パケット1213と、直前の「Retry Count」の値が「n−1」のセッション開始要求パケット1212との時間間隔(1220)を求める。
そして、セッション終了(1205)の直後にホストコンピュータ103から発行されるセッション開始要求パケット(1214)(Retry Count」の値が「n+1」)は、セッション開始要求パケット(1213)から時間間隔1220と同じ時間間隔1221の後に送信されてくると予想される。
このようにして、候補コンピュータの情報の有効時間は、セッション終了直前のセッション開始要求パケット1213の到着時間に、その直前のパケット1212との間の時間間隔1220を加え、更に多少の余裕を加えた時間として算出される。
図13は、本実施の形態に係るプリンタ104における有効時間の決定処理を説明するフローチャートで、この処理を実行するプログラムはプログラムメモリ95に記憶されている。
この処理は、プリンタ104において、ホストコンピュータからセッション開始要求パケットを受信し、そのセッション開始要求パケットを送信しているホストコンピュータが候補コンピュータであると判断されることにより開始され、例えば前述の図11のフローチャートのステップS13で実行される。
先ずステップS21で、そのセッション開始要求パケットの到着時間を取得する。次にステップS22進み、セッション開始要求パケットの「Retry Count」の値を調べ「0」であれば、初めてのセッション開始要求パケットであること示しているのでステップS28に進み、最初の有効時間としてデフォルト値を設定してステップS27に進む。尚、このデフォルト値は、後述する最大設定(Max)値を利用してもよい。
一方、ステップS22で、「Retry Count」の値が「0」以外の場合はステップS23に進み、RAM97に記憶しておいた一つ前のパケットの到着時間を読み取る。次にステップS24で、一つ前のバケットの到着時間と現パケットの到着時間との時間間隔(Time Interval)を算出し、余裕を持たせるため、例えば、この1.5倍の値を求めて有効時間とする。そしてステップS25で、ステップS24で求めた有効時間が、始めに定義されていた固定の最大値(Max)よりも大きいかどうかを調べ、大きくなければそれを有効時間として確定してステップS27に進み、そうでないときはステップS26で、その有効時間を最大値(Max)に置き換える。尚、この最大値(Max)は、ネットワーク101の一時的な負荷の増大等により有効時間が極端に長くなるのを避けるために設定した値である。そしてステップS27に進み、現パケットの到着時間をRAM97に記憶する。
上述の説明では、次のセッション開始要求パケットを受信するまでの有効時間の算出に際して、現パケットの到着時間と直前のパケットの到着時間間隔を使用したが本発明はこれに限定されるものでなく、例えば、「Retry Count」の値が「0」から「n」までのn個の時間間隔の平均を求め、この平均値に基づいて有効時間を決定しても良い。また、平均値と実測値が大きく隔たる場合は、n回の時間間隔の最大値を利用してもよい。
図14は、本実施の形態に係るプリンタ104における状態遷移を説明する遷移図である。
電源投入時は、セッション無しで、かつ候補コンピュータ情報が無い状態1400である。この状態で、ホストコンピュータからセッション開始要求パケットを受信し「SUCCESS」を返すと、セッション有りの状態1401に移行する。この状態1401でセッションが終了すると状態1400に戻る。
あるホストコンピュータとのセッション状態1401で、更に他のホストコンピュータからのセッション開始要求があった場合は「NG」で応答し、セッション有りで、かつ候補コンピュータ情報有りの状態1402に移行する。この状態1402で更にセッション開始要求があれば、そのセッション開始要求を発行したホストコンピュータと候補コンピュータ情報とを比較し、条件に合致すればその候補コンピュータの情報を更新する。
状態1402で、セッションが終了すると、セッション無しで、かつ候補コンピュータ情報有りの状態1403に移行する。状態1403で、有効時間内に候補コンピュータからセッション開始要求があった場合は、そのホストコンピュータにセッションの開始を許可し、これで候補コンピュータ情報がなくなると状態1401へ移行する。また状態1403で、有効時間内で候補コンピュータ以外からの要求に対しては「NG」応答を繰り返し、状態1403を保持する。そして、ある候補コンピュータ情報の有効時間以上経過した場合は、その候補コンピュータ情報をクリアし、候補コンピュータ情報が無くなると状態1400に移行する。
尚、前述の説明では、候補コンピュータ情報は一種類だけとして説明したが、複数の候補コンピュータ情報を管理している状態で、状態1403において有効時間内に候補コンピュータからセッション開始要求があり、そのホストコンピュータにセッションの開始を許可した場合に、まだ候補コンピュータ情報が存在している場合には状態1402へ移行することになる。
次に、複数のホストコンピュータ102,103,106と1台のプリンタ104との間のセッションの様子をタイミングチャートを用いて説明する。
図15は、候補コンピュータから有効時間内にセッション要求がある場合のタイミングチャートである。
まずホストコンピュータ102からプリンタ104に対してセッションの開始要求1500が送信されると、これに対して「SUCCESS」1501で応答する。これに対してホストコンピュータ102がセッション開始コマンド1502をプリンタ104に送信すると、プリンタ104からホストコンピュータ102に開始OK1503が応答されることにより、ホストコンピュータ102とプリンタ104との間でセッションが開始される。
このとき、ホストコンピュータ102からのセッション開始コマンド1502と略同時に、ホストコンピュータ103からセッション開始要求1504が送られている。しかし、ホストコンピュータ102からの開始要求が先であるため、この要求1504に対して「NG」1505が応答され、このホストコンピュータ103の情報は候補コンピュータ情報として登録される。またこの後、ホストコンピュータ106からセッション開始要求1506がプリンタ104に送信されてくると、この要求1506に対して「NG」1507が応答される。尚、ここで、ホストコンピュータ106の「Time Stamp3」は、ホストコンピュータ103の「Time Stamp2」よりも新しく、かつ「Retry Count」の値も「0」であるため、このホストコンピュータ106の情報は候補コンピュータ情報として登録されない。
次に、プリンタ104とホストコンピュータ102とのセッションの最中にホストコンピュータ103からのセッション開始要求1508がプリンタ104に送信されてくると、この要求1508に対して「NG」1509が応答される。
そして、ホストコンピュータ102からセッション終了1510が送信され、その応答1511を返送することにより、ホストコンピュータ102とプリンタ104との間のセッションが終了する。
この後、ホストコンピュータ106からセッション開始要求1512が送信されると、この時点ではホストコンピュータ103が候補コンピュータ情報に登録されているので、このセッション開始要求1512に対する応答は一時保留される。
その後、ホストコンピュータ103からセッション開始要求1513が送信されると、この時点で候補コンピュータ情報として有効であるホストコンピュータ103からのセッション開始要求が受け付けられて、ホストコンピュータ103に「SUCCESS」1514が応答され、ホストコンピュータ106に「NG」1515が応答される。次にホストコンピュータ103からのセッション開始コマンド1516によりプリンタ104から開始OK1517が返送されると、ホストコンピュータ103とプリンタ104との間でのセッションが開始される。この後、1518で、ホストコンピュータ106からのセッション開始要求が送られてくると、このホストコンピュータ106の情報が候補コンピュータ情報として登録されることになる。
なお、図中、太い矢印で示したものはTCPによる通信部分、細い矢印で示したものはUDPによる通信部分を意味している。
図16は、候補コンピュータから有効時間内に要求がない場合のタイミングチャートである。
まずホストコンピュータ102からプリンタ104に対してセッションの開始要求1600が送信されると、これに対して「SUCCESS」1601で応答する。これに対してホストコンピュータ102がセッション開始コマンド1602をプリンタ104に送信すると、プリンタ104からホストコンピュータ102に開始OK1603が応答されることにより、ホストコンピュータ102とプリンタ104との間でセッションが開始される。
このとき、ホストコンピュータ102からのセッション開始コマンド1602と略同時に、ホストコンピュータ103からセッション開始要求1604が送られている。しかし、ホストコンピュータ102からの開始要求が先であるため、この要求1604に対して「NG」1605が応答され、このホストコンピュータ103の情報が候補コンピュータ情報として登録される。また、この後、ホストコンピュータ106からセッション開始要求1606がプリンタ104に送信されてくると、このセッション開始要求1606に対して「NG」1607が応答される。尚、前述したようの、このホストコンピュータ106の情報は候補コンピュータ情報として登録されない。
次に、プリンタ104とホストコンピュータ102とのセッションの最中にホストコンピュータ103からのセッション開始要求1608がプリンタ104に送信されてくると、この要求1608に対して「NG」1609が応答される。
そして、ホストコンピュータ102からセッション終了1610が送信され、その応答1611を返送することにより、ホストコンピュータ102とプリンタ104との間のセッションが終了する。この後、ホストコンピュータ106からセッション開始要求1612が送信されると、ホストコンピュータ106に「NG」1613が応答される。これは、この時点では、ホストコンピュータ103が候補コンピュータ情報に登録されており、そのセッション開始要求を受信すると予測される有効時間内であるため、これ以外のホストコンピュータ106からの開始要求が無視されることになる。
しかし、この有効時間を経過した後、ホストコンピュータ103からのセッション開始要求が送られてこないときは、そのホストコンピュータ103は候補コンピュータ情報から消去される。このため、次にホストコンピュータ106がセッション開始要求1614を発行すると、これに対してセッション開始要求応答(OK)1615がプリンタ104からホストコンピュータ106に送信される。これによりホストコンピュータ106からセッション開始コマンド1616がプリンタ104に送信されると、プリンタ104からホストコンピュータ106にセッション開始OK1617が送信されて、ホストコンピュータ106とプリンタ104とのセッションが開始される。
このように、ホストコンピュータ103の候補コンピュータ情報としての有効時間内に、ホストコンピュータ103からプリンタ104に対してセッション開始要求パケットが発行されない場合には、その有効時間以上が経過したタイミングで、候補コンピュータ情報がクリアされる。
[第2実施例]
上述のホストコンピュータが備えるリアルタイムクロックは、全て正しく設定されているとは限らない。また、例え全てのホストコンピュータで計時されている時刻を正確に合わせたとしても、それぞれのコンピュータの進みや遅れ誤差によって不正確になりがちである。従って、各ホストコンピュータのリアルタイムクロックによる計時に基づいて「Time Stamp」を設定するようにした前述の実施の形態1のシステムでは、実際にはセッション開始要求を始めたのが先であるにも拘わらず、セッション開始要求が許可されないということも起こり得る。
そこで、この実施の形態2では、プリンタ104で「Time Stamp」を設定することにより、各ホストコンピュータにおける計時誤差による問題をなくして、より精度の高い計時に基づく判断を実現するものである。
この実施の形態2に係るホストコンピュータからプリンタ104へ送られるセッション開始要求パケットの構造は、前述の実施の形態1(図6)で説明したものがそのまま適用できる。但し、ここでの「Time Stamp」は、あるジョブについての最初のセッション開始要求(「Retry Count」の値が「0」)に対してプリンタ104から返される応答パケットに格納される情報である。従って、最初のセッション開始要求時(「Retry Count」の値が「0」)には「Time Stamp」には「0」が設定されているものとする。このプリンタ104からの「Time Stamp」は、プリンタ104の制御部91に設けられた時計機能による時刻、プリンタ104の電源投入後の相対的な積算時間、又はプリンタ104が送受信したパケットの積算などのいずれか1つである。つまりダウンストリームにおける接続要求のコマンドを受信したタイミングが、時系列上において新旧を区別できる情報であれば、どのようなフォーマットであっても同等の機能を有することができる。
図17は、本発明の実施の形態2に係るプリンタ104からホストコンピュータへ送られるセッション開始要求応答パケットのデータ構成を説明する図で、前述の図6及び図7と共通する部分は同じ記号で示している。
前述の実施の形態1に係るセッション開始要求応答パケット(図7)と異なるのは、図17では、データ部406に「Time Stamp」の値が格納されている点である。
プリンタ104では、ホストコンピュータからのセッション開始要求に応答する際に、「Time Stamp」の値を、このパケットのデータ部406に格納する。同一ジョブについての再要求及びその応答に際しては、同一の「Time Stamp」の値がホストコンピュータとプリンタ104との間でやり取りされる。
図18は、実施の形態2に係るホストコンピュータにおけるセッション開始要求処理を示すフローチャートである。
セッション開始要求を始めるに当たって、まず初めにステップS31で、「Time Stamp」を「0」にセットし、次にステップS32で、「Retry Count」に「0」をセットし、ステップS33で、セッション開始要求パケットをプリンタ104に送信する。
ステップS34でプリンタ104からの応答をタイムアウトまで待ち、プリンタ104からの応答があるとステップS35に進み、その応答パケットがセッション開始を許可するもの「SUCCESS」か否かを判断する。ここで、「SUCCESS」即ち、セッションが許可されるとステップS41に進み、プリンタ104とのセッションを開始して、このフローチャートで示される処理を終了する。
一方、ステップS34で、タイムアウトとなった場合はステップS36に進み、再送するように指示されたかどうかを判定し、再送が指示されるとステップS33に戻り、前述の処理を実行する。再送指示がない場合はステップS42に進み、セッション開始が失敗したものとして処理を終了する。
またステップS35で、応答が「SUCCESS」でない場合はステップS37に進み、「Retry Count」の値が「0」かどうかをチェックし、「0」であればステップS38に進み、応答パケットから「Time Stamp」を取得し、次の再要求パケットに格納する「Time Stamp」としてステップS39に進む。これにより、「Retry Count」の値が「0」でないパケットでは、「Retry Count」の値が「0」の時の「Time Stamp」が、そのまま再送時に用いられることになる。
次にステップS39に進み、「Retry Count」の値を1つインクリメントし、次にステップS40に進み、ジョブがキャンセルされているかどうかをチェックし、キャンセルされていなければステップS33に戻ってパケットを再送する。また、ジョブがキャンセルされている時はステップS42に進み、セッション開始が失敗したものとして処理を終了する。
図19は、本実施の形態に係るプリンタ104におけるセッション開始要求に対する応答処理を示すフローチャートである。
先ずステップS51で、ホストコンピュータから受信したセッション開始要求パケットに格納された「Retry Count」の値が「0」かどうかを調べ、「0」であればステップS52に進み、「Time Stamp」を作成する。ここで作成される「Time Stamp」は前述の通り、プリンタの104の制御部91に設けられた時計機能による時刻、プリンタ104の電源投入後の相対的な積算時間、またはプリンタ104が送受信したパケットの積算などのダウンストリームにおける接続要求のコマンドを受信したタイミングが時系列上において新旧を区別できる情報であればよい。一方ステップS51で、「Retry Count」の値が「0」以外の場合はステップS53に進み、セッション開始要求パケット中の「Time Stamp」が保持される。次にステップS53に進み、応答パケットに格納する「Time Stamp」を設定する。
次にステップS11に進み、現在実行中のセッションがあるかどうかを判定する。これ以降の処理は、前述の実施の形態1において、図11のフローチャートを参照して説明したステップS11〜S19における候補コンピュータ情報との比較及び有効時間に関する処理と同一であるので、その説明を省略する。
図20は、前述の候補コンピュータ情報から有効時間内に要求がある場合の複数のホストコンピュータ102,103,106と1台のプリンタ104との間のセッションの様子を示すタイミングチャートで、前述の図15と共通する部分は同じ記号で示し、その説明を省略する。
前述の実施の形態1におけるタイミングチャート(図15)との相違は、本実施の形態においては、「NG」応答1505,1507で、ホストコンピュータが「Time Stamp」を設定するのではなく、プリンタ104が「Time Stamp」を設定する点にある。
図21は、候補コンピュータから有効時間内に要求がない場合の複数のホストコンピュータ102,103,106と1台のプリンタ104との間のセッションの様子を示すタイミングチャートで、前述の図16と共通する部分は同じ記号で示し、その説明を省略する。
前述の実施の形態1におけるタイミングチャート(図16)との相違は、本実施の形態2においては、「NG」応答1605,1607で、ホストコンピュータが「Time Stamp」を設定するのではなく、プリンタ104が「Time Stamp」を設定する点にある。
[実施の形態3]
本実施の形態3は、前述の実施の形態2と同様に、プリンタ104で「Time Stamp」を設定することで、より精度の高い判断を実現するものである。但し、前述の実施の形態2が、プリンタ104で設定した「Time Stamp」を応答パケットに格納してホストコンピュータへ返していたのに対して、本実施の形態3では、プリンタ104で設定した「Time Stamp」をプリンタ104でのみ保持して、ホストコンピュータには返さない点で異なっている。
尚、プリンタ104からホストコンピュータへ送られるセッション開始要求応答パケットの構造は、前述の実施の形態1において、図7を用いて説明したものがそのまま適用できる。
図22は、本実施の形態3に係るホストコンピュータからプリンタ104へ送られるセッション開始要求パケットのデータフォーマットを説明する図である。本実施の形態3では、「Time Stamp」をプリンタ104のRAM97でのみ保持するので、前述の実施の形態1,2のセッション開始要求パケット(図6)と異なり、データ部406に「Time Stamp」を格納する必要はない。
図23は、ホストコンピュータにおけるセッション開始要求処理を示すフローチャートで、この処理を実行するプログラムはHD83にインストールされており、実行時にRAM82にロードされて実行される。
セッション開始要求を始めるに当たって、まず初めにステップS71で、「Retry Count」の値を「0」にセットし、ステップS72で、セッション開始要求パケットをプリンタ104に送信する。そしてステップS73に進み、プリンタ104からの応答をタイムアウトまで待ち、プリンタ104からの応答があるとステップS74に進み、その応答パケットがセッション開始を許可するもの「SUCCESS」か否かを判断する。「SUCCESS」であれば、即ち、許可されたならばステップS78に進み、プリンタ104とのセッションを開始して、このフローを終了する。
一方、ステップS73でタイムアウトとなった場合はステップS75に進み、再送指示が入力されたかどうかを判定し、再送が指示されるとステップS72に進んで、前述の処理を繰り返す。再送指示が入力されないときはステップS79に進み、セッションの開始が失敗したものとして処理を終了する。
またステップS74で、「SUCCESS」を受信していない場合はステップS76に進み、「Retry Count」の値を1つインクリメントする。次にステップS77に進み、ジョブがキャンセルされているかどうかをチェックし、キャンセルされていなければステップS72に戻ってパケットを再送する。ジョブがキャンセルされているときはステップS79に進み、セッションの開始が失敗したものとして処理を終了する。
図24は、本実施の形態3に係るプリンタ104におけるセッション開始要求に対する応答処理を示すフローチャートで、この処理を実行するプログラムはプログラムメモリ95に記憶されている。
先ずステップS81で、ホストコンピュータから受信したセッション開始要求パケットに格納された「Retry Count」の値が「0」かどうかをみる。「0」であればステップS82に進み、「Time Stamp」を作成し、プリンタ104のRAM97に、そのホストコンピュータからの要求パケットと対応付けて格納する。ここで作成される「Time Stamp」は前述の通り、プリンタ104の制御部91に設けられた時計機能による時刻、プリンタ104の電源投入後の相対的な積算時間、またはプリンタ104が送受信したパケットの積算などのダウンストリームにおける接続要求のコマンドを受信したタイミングが時系列上において新旧を区別できる情報であればよい。
一方ステップS81で、「Retry Count」の値が「0」以外の場合はステップS83に進み、既にRAM97に格納されている「Time Stamp」がそのまま保持される。
尚、ステップS11以降の処理については、前述の実施の形態1において、図11を用いて説明した候補コンピュータ情報の比較及び有効時間に関する処理(ステップS11〜S19)と同一であるので、その説明を省略する。
ここでプリンタ104のRAM97のメモリ領域が十分にある場合には、第2、第3の候補コンピュータ情報も格納してもよい。セッションが接続されている際に、格納したホストコンピュータ以外の第2、第3のホストコンピュータから、セッション開始要求パケットを受信すると、第2、第3の候補コンピュータとしてRAM97に格納する。
現在のセッションが解放された後、候補コンピュータのセッション開始要求パケットに対して、プリンタ104は「SUCCESS」を返し、候補コンピュータからのセッションを接続する。これによりプリンタ104のRAM97に保持されていた、セッションを開始した候補コンピュータの情報はクリアされ、保持していた第2の候補コンピュータの情報が次の候補コンピュータとして繰り上がる。同様に第3の候補コンピュータの情報が第2へと繰り上がる。以降、同様の処理が繰り返される。
また,この場合のプリンタ104における状態遷移の様子は、前述の実施の形態1において図14を用いて説明したものが適用できる。但し,状態1403で、有効時間内に候補コンピュータからのセッション開始要求を受信してセッションが開始された場合、他の候補があれば状態1402に移行して、その候補を次に有効な候補コンピュータ情報とする。
また、複数のホストコンピュータと1台のプリンタ104との間のセッションの様子を示すタイミングチャートは、前述の実施の形態2において図20及び図21を用いて説明したものがそのまま適用できる。
[他の実施の形態]
また前述の実施の形態以外にも、例えば、ホストコンピュータからプリンタ104に送られるセッション開始要求に優先度情報を含ませることで、その優先度を加味したセッション要求の受け付け可否判定を行うようにしても良い。例えば、H(優先度高)、M(優先度中)、L(優先度低)の3レベルの優先度の何れかをホストコンピュータ(ユーザ)で指定して、この優先度を含んだセッション開始要求をプリンタ104に送信する。このセッション開始要求を受け取ったプリンタ104は、優先度がH(優先度高)のものだけを、上述した第1〜3実施の形態で説明したセッション可否判定の対象とするようにしても良い。
また、ホストコンピュータが備えるリアルタイムクロックに基づいて設定される第1の「Time Stamp」と、プリンタ104の制御部91に設けられた時計機能による時刻、プリンタ104の電源投入後の相対的な積算時間、またはプリンタ104が送受信したパケットの積算などのいずれか1つから設定される第2の「Time Stamp」とを用いて、より複合的なセッション可否判定を行うようにしても良い。これにより、例えば、一方の「Time Stamp」の値が等しいセッション開始要求が複数あった場合に、他方の値がより古い方にセッション開始許可を与えるようにもできる。また、一方の「Time Stamp」が何かの要因で失われている場合に、他方の「Time Stamp」値を基に、セッション開始の可否判定を行うことが考えられる。
また、ターゲット(電子機器)としては、この実施の形態に係るプリンタの他にファックスや、プリンタ機能、ファックス機能など複数機能を備えた多機能複合機であっても良い。
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムをコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが該供給されたプログラムを読出して実行することによって、その目的を達成することができる。
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接に供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はCPUに供給し、そのコンピュータ又はCPUが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
プログラムコードを記憶する記憶媒体としては、例えば、ROM、RAM、NV−RAM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(登録商標)、光磁気ディスク、CD−ROM、MO、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード等がある。
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するOS等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
本発明の実施の形態に係るデータ通信システムの構成を示すブロック図である。 本実施の形態に係るホストコンピュータ(PC)が備えるソフトウェア構成を示すブロック図である。 本実施の形態に係るプリンタ(ターゲット)が備えるソフトウェアの構成を示すブロック図である。 各コマンドで共通に使用されるデータパケットのフォーマットを説明する図である。 パケットに含まれるコマンドの一覧を説明する図である。 本発明の実施の形態1に係るホストコンピュータ(PC)からプリンタへ送られるセッション開始要求パケットを説明する図である。 本実施の形態に係るプリンタからホストコンピュータ(PC)へ送られるセッション開始要求応答パケットのフォーマットを示す図である。 本実施の形態に係るホストコンピュータ(PC)の構成を示すブロック図である。 本実施の形態に係るターゲットの一例を示すプリンタの構成を示すブロック図である。 本実施の形態に係るホストコンピュータ(PC)によるセッション開始要求処理を示すフローチャートである。 本発明の実施の形態1に係るプリンタにおける、PCからのセッション開始要求への応答処理を示すフローチャートである。 本実施の形態1に係るホストコンピュータとプリンタとの間のセッションを説明する図である。 本実施の形態1に係るプリンタにおける有効時間の決定処理を説明するフローチャートである。 本実施の形態1に係るプリンタにおける状態遷移を説明する遷移図である。 本実施の形態1に係る候補コンピュータから有効時間内にセッション要求がある場合のタイミングチャートである。 本実施の形態1に係る候補コンピュータから有効時間内に要求がない場合のタイミングチャートである。 本実施の形態2に係るプリンタからホストコンピュータへ送られるセッション開始要求応答パケットのデータ構成を説明する図である。 実施の形態2に係るホストコンピュータにおけるセッション開始要求処理を示すフローチャートである。 本実施の形態2に係るプリンタにおけるセッション開始要求に対する応答処理を示すフローチャートである。 本実施の形態2に係る候補コンピュータから有効時間内に要求がある場合の複数のホストコンピュータと1台のプリンタとの間のセッションの様子を示すタイミングチャートである。 本実施の形態2に係る候補コンピュータから有効時間内に要求がない場合の複数のホストコンピュータと1台のプリンタとの間のセッションの様子を示すタイミングチャートである。 本実施の形態3に係るホストコンピュータからプリンタへ送られるセッション開始要求パケットのデータフォーマットを説明する図である。 本実施の形態3に係るホストコンピュータにおけるセッション開始要求処理を示すフローチャートである。 本実施の形態3に係るプリンタにおけるセッション開始要求に対する応答処理を示すフローチャートである。

Claims (10)

  1. 情報処理装置からのセッション開始要求を受信して、情報処理装置との間で通信を行う電子機器であって、
    第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録手段と、
    前記登録手段が前記第2情報処理装置を示す情報を登録した後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定手段と、
    前記決定手段が、前記第3情報処理装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新手段と、
    前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御手段と、
    を有することを特徴とする電子機器。
  2. 前記セッション開始要求は、セッション開始要求発行を開始した時間を示す時間情報を含み、前記決定手段は、前記第2情報処理装置及び前記第3情報処理装置のうち、より早い時間を示す時間情報を含むセッション開始要求を発行した方の情報処理装置を、優先して接続する情報処理装置と決定することを特徴とする請求項1に記載の電子機器。
  3. 前記セッション開始要求は、セッション開始要求の再試行回数を含み、前記決定手段は、前記第2情報処理装置及び前記第3情報処理装置のうち前記再試行回数の数がより多いセッション開始要求を発行した方の情報処理装置を、優先して接続する情報処理装置と決定することを特徴とする請求項1に記載の電子機器。
  4. 前記セッション開始要求は、更にセッション開始要求の再試行回数を含み、前記決定手段は、前記第2情報処理装置が発行したセッション開始要求が含む時間情報と前記第3情報処理装置が発行したセッション開始要求が含む時間情報とが同一の時間を示す場合に、前記第2情報処理装置及び前記第3情報処理装置のうち前記再試行回数がより多いセッション開始要求を発行した方の情報処理装置を、優先して接続する情報処理装置と決定することを特徴とする請求項に記載の電子機器。
  5. 前記セッション開始要求は、更にセッション開始要求発行を開始した時間を示す時間情報を含み、前記決定手段は、前記第2情報処理装置が発行したセッション開始要求の再試行回数と前記第3情報処理装置が発行したセッション開始要求の再試行回数とが同一である場合に、前記第2情報処理装置及び前記第3情報処理装置のうち、より早い時間を示す時間情報を含むセッション開始要求を発行した方の情報処理装置を、優先して接続する情報処理装置と決定することを特徴とする請求項に記載の電子機器。
  6. 情報処理装置とターゲットとが通信可能な通信システムであって、
    前記情報処理装置は、ターゲットに対してセッション開始要求を発行し、
    前記ターゲットは、
    第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録手段と、
    前記登録手段が前記第2情報処理装置を示す情報を登録した後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定手段と、
    前記決定手段が、前記第3情報処理装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新手段と、
    前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御手段とを有することを特徴とする通信システム。
  7. 情報処理装置とターゲットとが通信可能な通信システム通信制御方法であって、
    前記情報処理装置からターゲットに対して、セッション開始要求を発行し、
    前記ターゲットにおいて、
    第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録工程と、
    前記登録工程で前記第2情報処理装置を示す情報が登録された後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定工程と、
    前記決定工程において、前記第3情報処理装置を優先して接続すると決定された場合に、前記登録工程で登録された候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新工程と、
    前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御工程とを実行することを特徴とする通信制御方法。
  8. コンピュータを、情報処理装置からのセッション開始要求を受信して、情報処理装置との間で通信を行う電子機器であって、
    第1情報処理装置とのセッション中に前記第1情報処理装置とは異なる第2情報処理装置からのセッション開始要求を受信すると、当該第2情報処理装置を示す情報を候補情報として登録する登録手段と、
    前記登録手段が前記第2情報処理装置を示す情報を登録した後、前記第1情報処理装置及び前記第2情報処理装置のいずれとも異なる第3情報処理装置からのセッション開始要求を受信した場合に、前記第2情報処理装置および前記第3情報処理装置のうちどちらを優先して接続するかを決定する決定手段と、
    前記決定手段が、前記第3情報処理装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2情報処理装置を示す情報から前記第3情報処理装置を示す情報へと更新する更新手段と、
    前記第1情報処理装置とのセッション終了後、情報処理装置からのセッション開始要求を受信すると、当該情報処理装置を示す情報が前記候補情報として登録されていることを条件として、当該情報処理装置とのセッションを開始するように制御する制御手段とを有する電子機器として機能させるためのプログラム。
  9. 請求項に記載のプログラムを記憶している、コンピュータにより読み取り可能な記憶媒体。
  10. 外部装置からの通信開始要求を受信して、前記外部装置との間でデータ通信を行うデータ処理装置であって、
    第1の外部装置とのデータ通信中に前記第1の外部装置とは異なる第2の外部装置からの通信開始要求を受信すると、当該第2の外部装置を示す情報を候補情報として登録する登録手段と、
    前記登録手段が前記第2の外部装置を示す情報を登録した後、前記第1の外部装置及び前記第2の外部装置のいずれとも異なる第3の外部装置からの通信開始要求を受信した場合に、前記第2の外部装置および前記第3の外部装置のうちどちらを優先して接続するかを決定する決定手段と、
    前記決定手段が、前記第3の外部装置を優先して接続すると決定した場合に、前記登録手段により登録されている候補情報を、前記第2の外部装置を示す情報から前記第3の外部装置を示す情報へと更新する更新手段と、
    前記第1の外部装置とのデータ通信の終了後、外部装置からの通信開始要求を受信すると、当該外部装置を示す情報が前記候補情報として登録されていることを条件として、当該外部装置とのデータ通信を開始するように制御する制御手段と、
    を有することを特徴とするデータ処理装置。
JP2003368923A 2003-10-29 2003-10-29 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置 Expired - Fee Related JP4455009B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003368923A JP4455009B2 (ja) 2003-10-29 2003-10-29 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003368923A JP4455009B2 (ja) 2003-10-29 2003-10-29 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2005135076A JP2005135076A (ja) 2005-05-26
JP4455009B2 true JP4455009B2 (ja) 2010-04-21

Family

ID=34646441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003368923A Expired - Fee Related JP4455009B2 (ja) 2003-10-29 2003-10-29 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置

Country Status (1)

Country Link
JP (1) JP4455009B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4694421B2 (ja) * 2005-07-29 2011-06-08 株式会社リコー 画像転送システムおよび画像転送方法
JP2007060326A (ja) * 2005-08-25 2007-03-08 Hitachi Ltd セッション中継装置およびセッション救済方法
JP4666501B2 (ja) * 2005-12-28 2011-04-06 Kddi株式会社 コネクション確立要求の受付方法、装置およびプログラムならびにコネクション確立要求装置
JP2008078769A (ja) * 2006-09-19 2008-04-03 Denso Corp 通信システム
JP7400313B2 (ja) * 2019-10-02 2023-12-19 株式会社リコー 情報処理装置、情報処理システム、及びプリンタドライバ

Also Published As

Publication number Publication date
JP2005135076A (ja) 2005-05-26

Similar Documents

Publication Publication Date Title
US7814480B2 (en) Control software updating technique for a network apparatus
JP4464029B2 (ja) 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
US20040201866A1 (en) Setting information transmission/reception system
CN101604230A (zh) 打印设备和打印系统
US20050015498A1 (en) Network apparatus and control method therefor
US20070055675A1 (en) Information processing device, control method therefor, data processing apparatus connectable with information processing device, and program for causing computer to execute the control method
EP2015169B1 (en) Image-forming apparatus, control method for image-forming apparatus and storage medium
US8379259B2 (en) Image forming system, device managing method thereof, and program therefor
JP4455009B2 (ja) 電子機器及び通信システムとその通信制御方法とそのプログラム、及びデータ処理装置
JPH11203218A (ja) データ通信システム、インタフェース装置、及び記憶媒体
JP2009269259A (ja) 印刷装置及び印刷装置の制御方法
US8270001B2 (en) Printing apparatus and canceling method
JP2005316543A (ja) 分散印刷制御装置及び印刷ジョブ分散方法
US8521831B2 (en) Data processing apparatus, data input control method thereof, information processing device, and program for implementing the method
JP4552815B2 (ja) ネットワーク装置の制御ソフトウェアの更新
JP2007087046A (ja) ネットワークアダプタ装置を有するプリントシステム
US8326952B2 (en) Parameter setting system, device and parameter setting program
JP2007080055A (ja) ネットワーク装置の制御ソフトウェアの更新
JP4378372B2 (ja) 情報処理方法、情報処理装置、及び記憶媒体
JP3782573B2 (ja) 印刷システム、印刷装置及びデータ転送方法
JP2006256089A (ja) 分散印刷制御装置及び印刷ジョブ分散方法
US20010023444A1 (en) Information processing apparatus, information processing method and information processing program for transmitting data to external apparatus for communication of information on device
JPH11191047A (ja) 印刷システムおよび印刷システムのドライバ管理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4164243B2 (ja) 印刷監視システム、印刷監視方法、及びコンピュータプログラム
JP4289164B2 (ja) 分散印刷制御装置及び印刷ジョブ分散方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4455009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees