(57)【要約】【課題】情報処理装置と外部装置との間で通信を行う際、オペレーティングシステムの仕様や不具合に影響しないフロー制御を実行することができる情報処理システム、情報処理装置及び外部装置を提供する。【解決手段】情報処理システム２０は、情報処理装置１から送信されたデータを保持するデータ記憶領域１１２、データ記憶領域１１２の空き容量を検出する空き容量検出部１１５、及びデータ記憶領域１１２の空き容量を情報処理装置１に通知するデータ送信処理部１１４を有する外部装置１１と、外部装置１１からデータ記憶領域１１２の空き容量を受信するデータ受信処理部１０４、及びデータ記憶領域１１２の空き容量に応じて外部装置１１へのデータの送信量を調整するデータ送信制御部１０３を有する情報処理装置１とを備えている。【選択図】図２
2017016534.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信されたデータを保持する記憶手段、
前記記憶手段のデータ受信可能容量を検出する検出手段、及び
前記データ受信可能容量を前記情報処理装置に通知する通知手段を有する外部装置と、
前記外部装置から前記データ受信可能容量を受信する第１受信手段、及び
前記データ受信可能容量に応じて前記外部装置へのデータの送信量を調整する調整手段を有する情報処理装置と
を備えることを特徴とする情報処理システム。
【請求項２】
前記調整手段は、前記データ受信可能容量が閾値以上になると、前記データを前記外部装置に送信することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記データ受信可能容量が前記閾値以上になるまで、前記第１受信手段は前記外部装置から周期的に前記データ受信可能容量を受信することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記外部装置は、前記外部装置で実行される処理の状況に応じて、前記閾値を変更する変更手段を備え、
前記通知手段は、前記データ受信可能容量及び前記閾値を前記情報処理装置に通知することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記情報処理装置は、前記データ受信可能容量を要求する命令を前記外部装置に送信する送信手段を備え、
前記外部装置は、前記データ受信可能容量を要求する命令を前記情報処理装置から受信する第２受信手段を備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
外部装置に含まれるデータ記憶手段のデータ受信可能容量を要求する命令を前記外部装置に送信する送信手段と、
前記データ受信可能容量を前記外部装置から受信する受信手段と、
前記データ受信可能容量に応じて前記外部装置へのデータの送信量を調整する調整手段とを有することを特徴とする情報処理装置。
【請求項７】
情報処理装置から送信されたデータを保持する記憶手段と、
前記記憶手段のデータ受信可能容量を検出する検出手段と、
前記データ受信可能容量を要求する命令を前記情報処理装置から受信する受信手段と、
前記データ受信可能容量を前記情報処理装置に通知する通知手段とを有することを特徴とする外部装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及び外部装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置は、プリンタなどの外部装置と接続され、通信を行うことで特定の処理を行うことが可能である。情報処理装置上には一般的にオペレーティングシステムが搭載されており、外部装置はオペレーティングシステム上でデバイスドライバと呼ばれるソフトウェアによって抽象化されて認識される。このため、使用者が外部装置固有の通信制御を行わなくても、情報処理装置はオペレーティングシステムで規定された汎用的な方法を用いて容易に外部装置との通信可能である。
【０００３】
また、通常、情報処理装置と外部装置の接続では、フロー制御と呼ばれる通信制御により通信の中断及び再開を制御することで情報処理装置と外部装置の送受信におけるデータの欠損を防いでいるが、上記オペレーティングシステムではフロー制御も自動的に行うことが多い。オペレーティングシステムの種類によっては、フロー制御のような外部装置固有の制御はオペレーティングシステムが全て制御し、使用者が直接制御することは不可能となる場合もある。
【０００４】
また、従来より、情報処理装置が所望の機器からデータを受信する場合に、情報処理装置のデータ通信手段が情報処理装置のＯＳに適合しないような場合であって、受信データ蓄積用の記憶手段のフロー制御を確実に行える情報処理装置が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３０７５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述の情報処理システムには次のような課題が存在した。
【０００７】
オペレーティングシステムの仕様や不具合により、フロー制御が正常に動作しない場合がある。外部装置のデータ記憶領域の空き容量が枯渇し、外部装置がフロー制御により情報処理装置へデータの受信不可を通知しても、情報処理装置上のオペレーティングシステムがデータを送信し続けることで、データの欠損が発生することがあった。
【０００８】
または、外部装置が、フロー制御により情報処理装置から外部装置へのデータ送信不可を通知する時間が長い場合、情報処理装置上のオペレーティングシステムが、規定時間を経過しても外部装置と通信ができないため、当該オペレーティングシステムが通信失敗と判定して通信処理を終了してしまう場合がある。この場合、フロー制御により外部装置へのデータ送信は不可となっているため、情報処理装置のオペレーティングシステムは外部装置へ通信処理終了の通知を行わない。そのため、外部装置上のデータ記憶領域の空き容量が増加し、情報処理装置が外部装置へのデータ送信可能状態であっても、情報処理装置では通信が終了しているため、次のデータが送信されない。これにより、情報処理装置と外部装置の状態が不一致となり情報処理システムが異常動作となる問題がある。
【０００９】
また、特許文献１の技術を用いた場合、バッファメモリのデータ蓄積量が設定値を超えてからデータ送信を停止する信号を出力しても、その信号の受信先が停止処理をするまでに、次の送信がされた場合、データの欠損が発生する可能性がある。
【００１０】
本発明は、情報処理装置と外部装置との間で通信を行う際、オペレーティングシステムの仕様や不具合に影響しないフロー制御を実行することができる情報処理システム、情報処理装置及び外部装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、明細書に開示された情報処理システムは、情報処理装置から送信されたデータを保持する記憶手段、前記記憶手段のデータ受信可能容量を検出する検出手段、及び前記データ受信可能容量を前記情報処理装置に通知する通知手段を有する外部装置と、前記外部装置から前記データ受信可能容量を受信する第１受信手段、及び前記データ受信可能容量に応じて前記外部装置へのデータの送信量を調整する調整手段を有する情報処理装置とを備える。
【００１２】
上記目的を達成するため、明細書に開示された情報処理装置は、外部装置に含まれるデータ記憶手段のデータ受信可能容量を要求する命令を前記外部装置に送信する送信手段と、前記データ受信可能容量を前記外部装置から受信する受信手段と、前記データ受信可能容量に応じて前記外部装置へのデータの送信量を調整する調整手段とを有する。
【００１３】
上記目的を達成するため、明細書に開示された外部装置は、情報処理装置から送信されたデータを保持する記憶手段と、前記記憶手段のデータ受信可能容量を検出する検出手段と、前記データ受信可能容量を要求する命令を前記情報処理装置から受信する受信手段と、前記データ受信可能容量を前記情報処理装置に通知する通知手段とを有する。
【発明の効果】
【００１４】
本発明によれば、情報処理装置と外部装置との間で通信を行う際、オペレーティングシステムの仕様や不具合に影響しないフロー制御を実行することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態に係る情報処理システムの構成図である。
【図２】本発明に係る情報処理システムの機能ブロック図である。
【図３】情報処理装置で実行される処理を示すフローチャートである。
【図４】外部装置で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１７】
図１は、本実施の形態に係る情報処理システムの構成図である。
【００１８】
図１において、情報処理システム２０は、情報処理装置１と外部装置１１とを備えている。情報処理装置１は、デスクトップ型又はラップトップ型等のコンピュータ、タブレット端末、スマートフォン又はゲーム機等である。外部装置１１は、プリンタ、スキャナー又はディスプレイなどの周辺機器である。また、外部装置１１は、情報処理装置１以外のコンピュータ、タブレット端末、スマートフォン又はゲーム機等でもよい。
【００１９】
情報処理装置１は、ハードウェアとして、ＣＰＵ（Central Processing Unit）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４、補助記憶装置５及びインターフェース６を備えている。
【００２０】
ＲＯＭ３には制御プログラムが記録されており、ＣＰＵ２が制御プログラムを読み込んでＲＡＭ４に展開する。ＣＰＵ２はＲＡＭ４に展開したプログラムに従って処理を行う。補助記憶装置５は例えば、ハードディスクドライブであり、ＲＡＭ４に展開しているデータやアプリケーション等を記録することなどに利用される。
【００２１】
インターフェース６は、例えば、ＲＳ−２３２Ｃ用のシリアルインターフェース又はＵＳＢ（Universal Serial Bus）インターフェースであり、ケーブル１０を介して外部装置１１と接続されており、外部装置１１と通信を行う。ケーブル１０は、ＲＳ−２３２Ｃケーブル又はやＵＳＢケーブルである。尚、インターフェース６は、例えば、赤外線通信やBlue tooth（登録商標）のような無線通信モジュールでもよい。インターフェース６が無線通信モジュールである場合には、ケーブル１０は不要である。
【００２２】
尚、インターフェースの個数は、１つに限定されるものではない。例えば、情報処理装置１は、外部装置１１と接続する複数のインターフェースを備えていてもよい。情報処理装置１が複数のインターフェースを備える場合には、外部装置１１へのデータ転送と外部装置１１に対するフロー制御とを別々のインターフェースを使ってそれぞれ実行してもよい。
【００２３】
外部装置１１は、ハードウェアとして、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、特定制御部１５及びインターフェース１６を備えている。ＣＰＵ１２は変更手段として機能する。
【００２４】
ＲＯＭ１３には制御プログラムが記録されており、ＣＰＵ１２が制御プログラムを読み込んでＲＡＭ１４に展開する。ＣＰＵ１２はＲＡＭ１４に展開したプログラムに従って処理を行う。インターフェース１６は、例えば、ＲＳ−２３２Ｃ用のシリアルインターフェース又はＵＳＢ（Universal Serial Bus）インターフェースであり、ケーブル１０を介して情報処理装置１と接続されており、情報処理装置１と通信を行う。尚、インターフェース１６は、例えば、赤外線通信やBlue tooth（登録商標）のような無線通信モジュールでもよい。例えば、外部装置１１は、情報処理装置１と接続する複数のインターフェースを備えていてもよい。外部装置１１が複数のインターフェースを備える場合には、情報処理装置１へのデータ転送と情報処理装置１に対するフロー制御とを別々のインターフェースを使ってそれぞれ実行してもよい。
【００２５】
特定制御部１５は、外部装置１１の固有の制御を実行する。例えば、外部装置１１がプリンタであれば、特定制御部１５はプリンタエンジンや印刷機構に対応し、印刷及び印刷に関する制御を行う。外部装置１１がスキャナーであれば、特定制御部１５は、スキャンヘッドや駆動機構に対応し、スキャン及びスキャンに関する制御を行う。外部装置１１が情報処理装置１以外のコンピュータであれば、特定制御部１５は、外部装置１１内のいずれかのハードウェアに対応し、外部装置１１に割り当てられた情報の処理を実行する。
【００２６】
図２は、本発明に係る情報処理システムの機能ブロック図である。
【００２７】
データ記憶領域１０１はＲＡＭ４に形成され、外部装置１１に送信するデータを記憶している。データ送信処理部１０２は、ＣＰＵ２によって実現され、データ記憶領域１０１内のデータをインターフェース６に転送する。データ送信制御部１０３は、ＣＰＵ２によって実現され、データ受信処理部１０４が受信した外部装置１１のＲＡＭ１４の空き容量の値を判定して、データ送信のフロー制御を実行する。尚、外部装置１１のＲＡＭ１４の空き容量は、外部装置１１のデータ受信可能容量の一例である。データ送信制御部１０３は、外部装置１１のＲＡＭ１４の空き容量の値が閾値以上になるまで、データを外部装置１１に送信せずに待機する。しかし、外部装置１１に送信すべきデータのサイズが外部装置１１のＲＡＭ１４の容量よりも大きく、一度に当該データを外部装置１１に送信できない場合には、データ送信制御部１０３は、外部装置１１のＲＡＭ１４の空き容量よりも小さな容量で、データを分割してもよい。データ受信処理部１０４は、ＣＰＵ２によって実現され、外部装置１１からＲＡＭ１４の空き容量の値を受信する。データ受信処理部１０４は第１受信手段として機能し、データ送信制御部１０３は調整手段及び送信手段として機能する。
【００２８】
データ受信処理部１１１は、ＣＰＵ１２によって実現され、情報処理装置１から受信したデータの内容を判定し、受信したデータが空き容量通知要求コマンドである場合には、空き容量通知要求コマンドを空き容量検出部１１５に通知する。受信したデータが空き容量通知要求コマンド以外のデータである場合には、データ受信処理部１１１は、受信したデータをデータ記憶領域１１２に転送する。データ記憶領域１１２はＲＡＭ１４に形成され、データ受信処理部１１１が転送したデータを記憶する。処理部１１３は、特定制御部１５によって実現され、データ記憶領域１１２からデータを取り出し、所定の処理を実行する。処理部１１３の処理は、例えば外部装置１１がプリンタであれば、印刷処理である。データ送信処理部１１４は、ＣＰＵ１２によって実現され、空き容量検出部１１５で検出されたＲＡＭ１４の空き容量を情報処理装置１へ送信する。空き容量検出部１１５は、ＣＰＵ１２によって実現され、データ記憶領域１１２（即ち、ＲＡＭ１４）の空き容量を検出する。データ記憶領域１１２は記憶手段として機能し、空き容量検出部１１５が検出手段として機能する。データ送信処理部１１４は通知手段として機能し、データ受信処理部１１１は第２受信手段として機能する。
【００２９】
図３は、情報処理装置１で実行される処理を示すフローチャートである。
【００３０】
まず、データ送信処理部１０２がデータ記憶領域１０１にデータがあるか否かを判別する（ステップＳ１）。データ記憶領域１０１にデータが無いと判別された場合には（ステップＳ１でＮＯ）、データ記憶領域１０１にデータが書き込まれるまで、ステップＳ１の判別が繰り返される。
【００３１】
データ記憶領域１０１にデータがあると判別された場合には（ステップＳ１でＹＥＳ）、データ送信処理部１０２は、データ記憶領域１０１からデータを取得する（ステップＳ２）。データ送信処理部１０２は、ステップＳ２で取得したデータをデータ送信制御部１０３へ転送する（ステップＳ３）。次に、データ送信制御部１０３が、外部装置１１へ空き容量通知要求コマンドを送信する（ステップＳ４）。
【００３２】
データ受信処理部１０４は、外部装置１１からデータ記憶領域１１２（即ち、ＲＡＭ１４）の空き容量の値を受信したか否かを判別する（ステップＳ５）。データ記憶領域１１２の空き容量の値を受信していないと判別された場合には（ステップＳ５でＮＯ）、ステップＳ５の判別が繰り返される。
【００３３】
データ記憶領域１１２の空き容量の値を受信したと判別された場合には（ステップＳ５でＹＥＳ）、データ送信制御部１０３は外部装置のデータ記憶領域１１２の空き容量が閾値以上であるか否かを判別する（ステップＳ６）。データ記憶領域１１２の空き容量が閾値未満であると判別された場合には（ステップＳ６でＮＯ）、手順はステップＳ４に戻る。データ記憶領域１１２の空き容量が閾値以上であると判別された場合には（ステップＳ６でＹＥＳ）、データ送信制御部１０３は外部装置１１へデータを送信し（ステップＳ７）、手順はステップＳ１に戻る。
【００３４】
このように、データ送信制御部１０３はデータ記憶領域１１２の空き容量が閾値以上になるまで、外部装置１１へデータを送信しないので、データの欠損の発生を回避することができる。
【００３５】
ステップＳ４〜Ｓ６のループ処理では、データ記憶領域１１２の空き容量が閾値未満である場合、空き容量が閾値以上になるまで、データ受信処理部１０４は周期的（例えば１秒間隔）に空き容量を取得する。このように、データ記憶領域１１２の変動する空き容量を周期的に取得するので、情報処理装置１のオペレーティングシステムの仕様や不具合に影響しないフロー制御を実行することができる。
【００３６】
ステップＳ６の判別に用いる閾値は、予め情報処理装置１のＲＯＭ３等に記憶された固定値を用いてもよい、あるいは情報処理装置１のＲＡＭ４等に動的に記憶された値を用いてもよい。また、外部装置１１のＲＯＭ１３等に記憶された値を通信により取得し、その取得した値をステップＳ６の閾値として利用してもよい。
【００３７】
また、ステップＳ６の判別に用いる閾値は、外部装置１１の特定制御部１５で実行される処理の状況に応じて動的に変更されてもよい。外部装置１１の特定制御部１５で実行される処理の状況に応じてＲＡＭ１４の空き領域が増減する場合があるので、外部装置１１の特定制御部１５で実行される処理の状況に応じて閾値を動的に変更することで、情報処理システム２０の動作効率を向上することができ、特定制御部１５で実行される処理の状況に応じたフロー制御が可能である。
【００３８】
尚、外部装置１１の特定制御部１５で実行される処理の状況に応じてＲＡＭ１４の空き領域が増減する場合とは、例えば、特定制御部１５で実行される処理のために予め確保されたＲＡＭ１４の一部の領域が、処理の終了により解放されて、ＲＡＭ１４の空き容量が増加する場合、又は特定制御部１５で実行される割り込み処理によってＲＡＭ１４の一部の領域が使用され、ＲＡＭ１４の空き容量が後発的に減少する場合などである。
【００３９】
また、閾値を動的に変更する場合には、外部装置１１のＣＰＵ１２が当該閾値を変更し、データ送信処理部１１４はデータ記憶領域１１２の空き容量の値だけでなく、当該閾値を情報処理装置１へ送信する。データ受信処理部１０４は、データ記憶領域１１２の空き容量の値だけでなく、当該閾値を外部装置１１から受信する。
【００４０】
また、本実施の形態では、情報処理装置１は、空き容量通知要求コマンドの送信処理、空き容量の値の受信処理、及び情報処理装置１から外部装置１１へのデータ送信処理を１つのインターフェース６を使って実行する。外部装置１１は、空き容量通知要求コマンドの受信処理、空き容量の値の送信処理、及び情報処理装置１からのデータ受信処理を１つのインターフェース１６を使って実行する。上述したように、情報処理装置１が外部装置１１に接続する複数のインターフェースを備えている場合には、空き容量通知要求コマンドの送信処理及び空き容量の値の受信処理を一のインターフェースで行い、情報処理装置１から外部装置１１へのデータ送信処理を他のインターフェースで行ってもよい。同様に、外部装置１１が情報処理装置１に接続する複数のインターフェースを備えている場合には、空き容量通知要求コマンドの受信処理及び空き容量の値の送信処理を一のインターフェースで行い、情報処理装置１からのデータ受信処理を他のインターフェースで行ってもよい。この場合、空き容量通知要求コマンド及び空き容量の値は少量のデータなので、上記一のインターフェースとして、他のインターフェースよりもデータ転送能力が低い安価なインターフェースを採用できる。
【００４１】
図４は、外部装置１１で実行される処理を示すフローチャートである。
【００４２】
データ受信処理部１１１は、情報処理装置１からデータを受信したか否かを判別する（ステップＳ１１）。情報処理装置１からデータを受信していないと判別された場合には（ステップＳ１１でＮＯ）、情報処理装置１からデータを受信するまで、ステップＳ１１の判別が繰り返される。情報処理装置１からデータを受信したと判別された場合には（ステップＳ１１でＹＥＳ）、データ受信処理部１１１は、受信したデータが空き容量通知要求コマンドであるか否かを判別する（ステップＳ１２）。
【００４３】
受信したデータが空き容量通知要求コマンドであると判別された場合には（ステップＳ１２でＹＥＳ）、空き容量検出部１１５はデータ記憶領域１１２の空き容量の値を取得する（ステップＳ１３）。空き容量検出部１１５は空き容量の値をデータ送信処理部１１４へ転送する（ステップＳ１４）。データ送信処理部１１４は、空き容量の値を情報処理装置１へ送信する（ステップＳ１５）。その後、手順はステップＳ１１に戻る。
【００４４】
ステップＳ１２において、受信したデータが空き容量通知要求コマンドでないと判別された場合には（ステップＳ１２でＮＯ）、データ受信処理部１１１は受信したデータをデータ記憶領域１１２に転送する（ステップＳ１６）。処理部１１３は、データ記憶領域１１２からデータを取得する（ステップＳ１７）。処理部１１３は、取得したデータに基づいて処理を実行する（ステップＳ１８）。処理部１１３の処理とは、外部装置１１がプリンタであれば印刷処理である。その後、手順はステップＳ１１に戻る。
【００４５】
以上説明したように、本実施の形態によれば、情報処理システム２０は、情報処理装置１から送信されたデータを保持するデータ記憶領域１１２、データ記憶領域１１２の空き容量を検出する空き容量検出部１１５、及びデータ記憶領域１１２の空き容量を情報処理装置１に通知するデータ送信処理部１１４を有する外部装置１１と、外部装置１１からデータ記憶領域１１２の空き容量を受信するデータ受信処理部１０４、及びデータ記憶領域１１２の空き容量に応じて外部装置１１へのデータの送信量を調整するデータ送信制御部１０３を有する情報処理装置１とを備えている。このように、情報処理装置１が外部装置１１のデータ記憶領域１１２の空き容量を取得し、外部装置１１のデータ記憶領域１１２の空き容量に応じて外部装置１１へのデータの送信量を調整するので、情報処理装置１のオペレーティングシステムの仕様や不具合に影響しないフロー制御を実行することができる。
【００４６】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００４７】
１  情報処理装置
２，１２  ＣＰＵ
３，１３  ＲＯＭ
４，１４  ＲＡＭ
５  補助記憶装置
６，１６  インターフェース
１１  外部装置
１５  特定制御部
２０  情報処理システム
【図１】
2017016534.tif 000003
【図２】
2017016534.tif 000004
【図３】
2017016534.tif 000005
【図４】
2017016534.tif 000006