(57)【特許請求の範囲】
【請求項１】
通信端末と情報処理装置との間でBluetooth（登録商標）を使用した無線通信を行う通信システムであって、
前記情報処理装置が、
前記無線通信の切断を要求する切断要求の送信を前記情報処理装置に要求する送信要求を、前記通信端末から受信する要求受信部と、
前記送信要求を受けて、前記通信端末に対して前記切断要求を送信するように指示する指示部と、
前記指示部からの指示を受けて、前記切断要求を前記通信端末に送信する通信部とを含み、
前記通信部は、前記通信端末からの前記切断要求に対する応答を受けて、該通信端末との通信を切断し、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記送信要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、通信システム。
【請求項２】
前記送信要求は、前記情報処理装置の記憶部に前記切断要求の送信に関する情報を書き込む処理を該情報処理装置に実行させるための書き込み要求であり、
前記情報処理装置は、前記切断要求の送信に関する情報を書き込む処理を行う読み書き処理部をさらに含む、請求項１に記載の通信システム。
【請求項３】
時間を計測する計測部を含み、
前記切断要求の送信に関する情報は、該切断要求を送信するまでに計測する時間であり、
前記指示部は、前記読み書き処理部が前記記憶部に前記切断要求を送信するまでに計測する時間を書き込む処理が終了したことを受けて、前記計測部に対して時間の計測を開始するように指示し、前記計測部により計測される時間が前記記憶部に書き込まれた前記時間に達したときに、前記切断要求を送信するように指示する、請求項２に記載の通信システム。
【請求項４】
前記読み書き処理部は、前記計測部により時間を計測している間に、前記通信端末から前記記憶部に対する情報の読み出し、もしくは書き込み、またはその両方の実行要求を受けて、該情報の読み出し処理、もしくは書き込み処理、またはその両方の処理を実行する、請求項３に記載の通信システム。
【請求項５】
前記読み書き処理部は、前記通信端末から切断処理を取り消すことを示す情報を前記記憶部に書き込み、
前記指示部は、前記記憶部に前記切断処理を取り消すことを示す情報が書き込まれていることを受けて、前記通信部に対して前記切断要求の送信を指示しない、請求項２〜４のいずれか１項に記載の通信システム。
【請求項６】
前記通信端末へ送信する情報を符号化する符号化部と、前記通信端末から受信した符号化された情報を復号する復号化部とをさらに含む、請求項４または５に記載の通信システム。
【請求項７】
前記異なる種類のパケットは、Attribute Write Requestパケットである、請求項１〜６のいずれか１項に記載の通信システム。
【請求項８】
前記情報処理装置は画像形成装置であって、
前記要求受信部は、
前記無線通信とは異なる通信を前記通信端末と行うための通信情報を、前記画像形成装置が前記通信端末から受信した後に、前記送信要求を前記通信端末から受信する請求項１〜７のいずれか１項に記載の通信システム。
【請求項９】
通信端末と情報処理装置との間でBluetooth（登録商標）を使用した無線通信を行う通信システムに用いられる該情報処理装置であって、
前記無線通信の切断を要求する切断要求の送信を前記情報処理装置に要求する送信要求を、前記通信端末から受信する要求受信部と、
前記送信要求を受けて、前記通信端末に対して前記無線通信を切断する切断要求を送信するように指示する指示部と、
前記指示部からの指示を受けて、前記切断要求を前記通信端末に送信する通信部とを含み、
前記通信部は、前記通信端末からの前記切断要求に対する応答を受けて、該通信端末との通信を切断し、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記送信要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、情報処理装置。
【請求項１０】
通信端末と情報処理装置との間でBluetooth（登録商標）を使用した無線通信を行う通信システムであって、
前記通信端末が、
前記無線通信を切断する切断要求の送信に関する情報を前記情報処理装置が備える記憶部に書き込む処理を該情報処理装置に実行させるための書き込み要求を出力する要求出力部と、
前記要求出力部により出力された前記書き込み要求を前記情報処理装置に送信する通信部とを含み、
前記情報処理装置が、
前記書き込み要求を受け付ける要求受付部と、
前記記憶部に前記切断要求の送信に関する情報を書き込む処理を行う読み書き処理部と、
前記読み書き処理部が前記記憶部に前記切断要求の送信に関する情報として該切断要求を送信するまでに計測する時間を書き込む処理が終了したことを受けて時間の計測を開始する計測部と、
前記計測部により計測される時間が前記記憶部に書き込まれた前記時間に達したときに、前記通信端末に対して前記無線通信を切断する切断要求を送信するように指示する指示部と、
前記指示部からの指示を受けて、前記切断要求を前記通信端末に送信する通信部とを含み、
前記通信端末の前記通信部は、前記情報処理装置から前記切断要求を受信して、該切断要求に対する応答を送信し、
前記情報処理装置の前記通信部は、前記通信端末からの前記応答を受信して、該通信端末との通信を切断し、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記書き込み要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、通信システム。
【請求項１１】
通信端末と情報処理装置との間でBluetooth（登録商標）を使用した無線通信を行う通信システムに用いられる該通信端末であって、
前記無線通信の切断を要求する切断要求の送信を前記情報処理装置に要求する送信要求を前記情報処理装置に送信する通信部を含み、
前記通信部は、前記情報処理装置から前記無線通信を切断する切断要求を受信して、該切断要求に対する応答を送信し、前記無線通信を切断し、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記送信要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、通信端末。
【請求項１２】
通信端末と情報処理装置との間でBluetooth（登録商標）を使用した無線通信を行う通信システムにおいて、該情報処理装置により実行される通信方法であって、
前記通信端末から前記無線通信を切断する切断要求を送信する要求を受け付けるステップと、
前記要求を受けて、前記通信端末に対して前記無線通信を切断する切断要求を送信するように指示するステップと、
前記切断要求の送信指示を受けて、該切断要求を前記通信端末に送信するステップと、
前記通信端末からの前記切断要求に対する応答を受けて、該通信端末との通信を切断するステップとを含み、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記送信する要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、通信方法。
【請求項１３】
通信端末と情報処理装置との間で行われるBluetooth（登録商標）を使用した無線通信を切断する通信方法であって、
前記通信端末が、
前記無線通信を切断する切断要求の送信に関する情報を前記情報処理装置が備える記憶部に書き込む処理を該情報処理装置に実行させるための書き込み要求を出力するステップと、
出力された前記書き込み要求を前記情報処理装置に送信するステップとを実行し、
前記情報処理装置が、
前記書き込み要求を受け付けるステップと、
前記記憶部に前記切断要求の送信に関する情報を書き込む処理を行うステップと、
前記記憶部に前記切断要求の送信に関する情報として該切断要求を送信するまでに計測する時間を書き込む処理が終了したことを受けて時間の計測を開始するステップと、
計測される時間が前記記憶部に書き込まれた前記時間に達したときに、前記通信端末に対して前記無線通信を切断する切断要求を送信するように指示するステップと、
前記切断要求の送信指示を受けて、前記切断要求を前記通信端末に送信するステップとを実行し、
前記通信端末が、前記情報処理装置から前記切断要求を受信して、該切断要求に対する応答を送信するステップを実行し、
前記情報処理装置が、前記通信端末からの前記応答を受信して、該通信端末との通信を切断するステップを実行し、
前記切断要求は、LL_TERMINATE_INDパケットであり、
前記書き込み要求は、LL_TERMINATE_INDパケットとは異なる種類のパケットである、通信方法。
【請求項１４】
請求項１２または１３に記載の通信方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末と情報処理装置との間で通信を行う通信システム、通信システムに用いられる情報処理装置および通信端末、通信方法およびその処理をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
スマートデバイス等の通信端末やサーバ等の情報処理装置は、その機器の基本的な機能や制御を行うためのソフトウェアとして、オペレーティングシステム(OS)が実装される。OSは、ドライバやアプリケーション等の多くのソフトウェアが共通して利用する基本的な機能を備えている。そのOSに対しては、その基本的な機能を呼び出し、利用するための手続きを定めたAPI(Application Programming Interface)が公開され、提供されている。これにより、ソフトウェアの開発者は、APIに従って上記OSの機能を呼び出すプログラムを記述するのみで、ソフトウェアを作成することができる。
【０００３】
そのOSの機能の１つとして、無線通信の接続の確立やその接続の切断がある。その接続の切断に関し、電波環境が悪化したときに接続を自動的に切断する際、その自動切断判定時間を状況に応じて任意に設定可能にする技術が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
無線通信の１つであるBluetooth（登録商標）を利用して通信を行う機器のハードウェアを開発するメーカは、その機器に実装するソフトウェアやプロトコルスタックの開発も行うという慣例がある。ここで、プロトコルスタックは、通信プロトコルを階層状に積み上げ、それらを連携して通信機能を実現するものである。この慣例に従えば、上記の技術のように独自の制御パケットを開発して導入することが可能である。
【０００５】
しかしながら、現在では、代表的なメーカがスマートデバイス間の機種依存差異を吸収するAndroid（登録商標）やiOS（登録商標）等のOSを開発し、提供しており、ソフトウェアを開発するメーカは、ハードウェアやプロトコルスタックの制御まで自由に行うことはできなくなっている。
【０００６】
このため、スマートデバイスのアプリケーションからAPIを実行しても、ハードウェアやプロトコルスタックの制御を自由に行えず、OSの設計都合でスマートデバイスから切断要求が即座に送信されないという状況が発生している。これでは、通信相手である情報処理装置との間で確立した通信を切断したいときに切断することができず、他のスマートデバイスがその情報処理装置と通信することができない時間が発生するという問題があった。
【０００７】
そこで、通信端末が指定したタイミングで情報処理装置との通信を切断することができ、他の通信端末が情報処理装置と通信できない時間を短縮することができるシステムや方法等の提供が望まれていた。
【課題を解決するための手段】
【０００８】
本発明は、上記課題に鑑みなされたものであり、通信端末と情報処理装置との間で通信を行う通信システムであって、情報処理装置が、通信端末に対して通信を切断する切断要求を送信する要求を受け付ける要求受付部と、その要求を受けて、通信端末に対して切断要求を送信するように指示する指示部と、指示部からの指示を受けて、切断要求を通信端末に送信する通信部とを含み、通信部は、通信端末からの切断要求に対する応答を受けて、該通信端末との通信を切断する、通信システムが提供される。
【発明の効果】
【０００９】
本発明によれば、通信端末が指定したタイミングで情報処理装置との通信を切断することができ、他の通信端末が情報処理装置と通信できない時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の通信システムの構成例を示した図。
【図２】Bluetooth（登録商標）により確立した通信を切断する処理について説明する図。
【図３】通信システムが備える通信端末としてのスマートデバイスのハードウェア構成を示した図。
【図４】通信システムが備える情報処理装置としての画像形成装置のハードウェア構成を示した図。
【図５】スマートデバイスの機能構成を示したブロック図。
【図６】画像形成装置の機能構成を示したブロック図。
【図７】画像形成装置が保持する切断処理用のデータベースの構成を示した図。
【図８】データベースに書き込まれる情報を示した図。
【図９】通信システムが行う処理の第１の実施形態を示したシーケンス図。
【図１０】通信システムが行う処理の第２の実施形態を示したシーケンス図。
【図１１】通信システムが行う処理の第３の実施形態を示したシーケンス図。
【図１２】通信システムが行う処理の第４の実施形態を示したシーケンス図。
【図１３】通信システムが行う具体的なユースケースに照らし合わせてより具体的に説明する図。
【発明を実施するための形態】
【００１１】
図１は、本実施形態の通信システムの構成例を示した図である。通信システムは、通信端末としてのスマートデバイス１０と、スマートデバイス１０と無線通信を行う情報処理装置としての画像形成装置１１とを含んで構成される。図１では、画像形成装置１１は、LAN(Local Area Network)やインターネット等のネットワーク１２に接続され、画像形成装置１１と無線通信を行うスマートデバイス１０が１つのみとされているが、これに限られるものではない。したがって、画像形成装置１１は、ネットワーク１２に接続されていなくてもよく、スマートデバイス１０は、２以上であってもよい。また、画像形成装置１１も、２以上であってもよい。ネットワーク１２は、有線ネットワークでも、無線ネットワークであってもよく、１つのネットワークに限らず、ルータ等で２以上のネットワークが接続されたものであってもよい。
【００１２】
スマートデバイス１０は、無線通信により画像形成装置１１に接続し、印刷やスキャン等のジョブ実行を指示するアプリケーション、OS、APIを実装する。スマートデバイス１０としては、スマートフォン、タブレット端末、スマートウォッチ、スマートグラス、PDA(Personal Digital Assistant)等を用いることができる。スマートウォッチやスマートグラス等は、ユーザが身に付けて利用するため、ウェアラブル端末と呼ばれる。ここでは、スマートデバイス１０を一例として挙げたが、これに限られるものではなく、ノートPCやその他の通信可能な機器であってもよい。
【００１３】
無線通信は、赤外線通信、Bluetooth（登録商標）、無線LANのいずれであってもよいが、ここでは、Bluetooth（登録商標）4.0で追加されたBluetooth（登録商標） Low Energy(BLE)で無線通信を行うものとして説明する。なお、Bluetooth(登録商標)は、Bluetooth（登録商標）3.x以前のいわゆるクラシックBluetooth（登録商標）等のPAN(Personal Area Network)無線メディアであってもよい。
【００１４】
ちなみに、BLEは、省電力通信を行う規格で、その通信の接続は、接続のルールを規定するBluetooth（登録商標） SIG(Special Interest Group)のGAP(Generic Access Profile)で定義されている。
【００１５】
画像形成装置１１は、スマートデバイス１０から無線通信により印刷やスキャンの指示を受け、印刷や画像の読み取りを行う。画像形成装置１１としては、プリンタ、スキャナ、ファックス装置、コピー機、これらの機能を実装するMFP(Multi-Function Peripheral)等を用いることができる。ここでは、情報処理装置として画像形成装置１１を用いる例を示しているが、これに限られるものではなく、サーバ、PC、プロジェクタ、電子黒板、デジタルカメラ、3Dプリンタ等であってもよい。
【００１６】
ユーザは、スマートデバイス１０を利用し、スマートデバイス１０に実装されたアプリケーションを起動して印刷あるいはスキャン等したい画像を開き、その画像の印刷あるいはスキャン等を指示する。スマートデバイス１０は、画像形成装置１１との間で無線通信により接続を確立し、画像形成装置１１に対してその画像の画像データを送信するとともに印刷あるいはスキャン等を要求する。画像形成装置１１は、その画像データおよびその要求を受けて、その画像データの印刷あるいはスキャン等を実行する。
【００１７】
スマートデバイス１０は、画像形成装置１１に対して印刷あるいはスキャン等を要求し、画像形成装置１１への全ての処理を完了したときに、その接続を自動的に切断する処理を行う。なお、接続を切断する処理は、ユーザが、印刷あるいはスキャン等が終了した後、スマートデバイス１０と画像形成装置１１との間で確立された通信の切断を指示することによっても行うことができる。この場合、スマートデバイス１０および画像形成装置１１は、その指示を受けて、その接続を切断する処理を実行することができる。
【００１８】
ここで、図２を参照して、Bluetooth（登録商標）対応デバイス間の接続を切断する処理について説明する。図２（ａ）は、１つのデバイスに実装されるプロトコルスタックの上位層であるアプリケーション層、すなわちホストAが切断を要求する場合の処理を示した図である。図２（ｂ）は、ホストAの通信相手の他のデバイスに実装されるプロトコルスタックのホストBが切断を要求する場合の処理を示した図である。これらの図では、１つのデバイスがホストAとその下位層であるリンク層(LL)Aとを有し、他のデバイスがホストBとリンク層Bとを有している。例えば、１つのデバイスは、スマートデバイス１０であり、他のデバイスは、画像形成装置１１である。
【００１９】
図２（ａ）に示す処理では、ホストAがリンク層Aに対して接続の切断を要求し(S1)、リンク層Aは、その要求に対して応答する(S2)。リンク層Aは、リンク層Bに対してLL_TERMINATE_INDパケットを接続の切断要求として送信する(S3)。リンク層Bは、その切断要求を受信し、リンク層Aに対してLL ackパケットにより応答する(S4)。この応答を受けて接続を切断し、リンク層BはホストBに対して切断が完了した旨を通知する(S5)。リンク層Aも同様に、ホストAに対して切断が完了した旨を通知する(S6)。
【００２０】
図２（ｂ）に示す処理では、ホストBがリンク層Bに対して接続の切断を要求し(S1)、リンク層Bは、その要求に対して応答する(S2)。リンク層Bは、リンク層Aに対して接続の切断要求を送信する(S3)。リンク層Aは、その切断要求を受け取り、リンク層Bに対してLL ackパケットにより応答する(S4)。この応答を受けて接続を切断し、リンク層AはホストAに対して切断が完了した旨を通知する(S5)。リンク層Bも同様に、ホストBに対して切断が完了した旨を通知する(S6)。
【００２１】
ユーザは、スマートデバイス１０を利用し、スマートデバイス１０と画像形成装置１１との接続の切断を決定し、それを指示する。このため、接続を切断する処理は、図２（ａ）に示すような処理となる。しかしながら、実際にスマートデバイス１０に実装されるアプリケーションからAPIを実行しても、OSやハードウェア等の基礎部分（プラットフォーム）からの切断要求が意図したタイミングで画像形成装置１１へ送信されないことがある。これは、上記のようにプラットフォームを開発するメーカとアプリケーション等のソフトウェアを開発するメーカが異なり、アプリケーションがプラットフォームを構成するハードウェアやプロトコルスタックを制御することができないためである。なお、本実施形態において、プラットフォームとは、iOS、ANDROID、CHROMEその他のオペレーティング・システム（ＯＳ）で動作する情報処理端末のことを意味する。より具体的に言えば、本実施形態のプラットフォームは、通信機能を備える機能部を意味する。例えばiOSでは接続元から接続先との接続状態を切断するためのAPIが公開されているが、そのAPIを実行しても30秒ほど接続状態が残ってしまい、結果接続先は別のスマートデバイスと接続出来ない時間がある。下表はiOSでBLEのコマンドごとにAPIを実行したタイミングと実際に送信されるタイミングがあまりにも異なり実運用上問題に成り得るかをまとめたものである。
【００２２】
【表１】
0006668917.tif 000002
【００２３】
これでは、ユーザが指示し、アプリケーションが指定したタイミングで画像形成装置１１との通信を切断することができず、他のスマートデバイスが画像形成装置１１と通信できない時間が発生し、その時間が長期化してしまう。
【００２４】
この切断要求の送信に比較して、アプリケーション層の独自の通信、例えばデータの送受信は、アプリケーションが意図したタイミングで実施することができる。このため、この通信システムでは、スマートデバイス１０から何らのデータを画像形成装置１１に送信し、画像形成装置１１から切断要求を送信させるように構成して、図２（ｂ）に示す切断処理を実現する。画像形成装置１１は、プラットフォームとソフトウェアを開発するメーカが同じであるため、上記の問題は生じないからである。
【００２５】
これにより、スマートデバイス１０のアプリケーションが意図したタイミングで通信を切断することが可能となり、他のスマートデバイスが画像形成装置１１を利用することができない時間を短縮することができる。
【００２６】
これを実現するためのスマートデバイス１０および画像形成装置１１のハードウェア構成および機能構成を、図３〜図６を参照して説明する。図３は、スマートデバイス１０のハードウェア構成を示した図である。スマートデバイス１０は、一般的なスマートフォン等の通信端末と同様の構成とされる。すなわち、スマートデバイス１０は、CPU(Central Processing Unit)２０と、RAM(Random Access Memory)２１と、ROM(Read Only Memory)２２と、HDD(Hard Disk Drive)２３と、I/F２４と、表示装置２５と、入力装置２６と、無線通信メディア２７、２８とを含んで構成される。
【００２７】
CPU２０は、演算手段であり、スマートデバイス１０全体を制御する。RAM２１は、情報の高速な読み書きが可能な揮発性の記憶媒体で、CPU２０が情報を処理する際の作業領域として用いられる。ROM２２は、読み出し専用の不揮発性の記憶媒体で、スマートデバイス１０を起動させるためのブートプログラムやファームウェア等を記憶する。HDD２３は、情報の読み書きが可能な不揮発性の記憶媒体で、OS、各種の制御プログラムやアプリケーション等を記憶する。
【００２８】
I/F２４は、バス２９と各種のハードウェアやネットワーク等とを接続し、各種のハードウェア等を制御する。表示装置２５は、例えばLCD(Liquid Crystal Display)であり、ユーザがスマートデバイス１０の状態を確認するための視覚的インタフェースである。入力装置２６は、例えばキーボードやマウス等で、ユーザがスマートデバイス１０に情報を入力するためのユーザインタフェースである。ここでは、表示装置２５と入力装置２６とが別個の装置として記載しているが、両方の機能を備えたタッチパネルを採用してもよい。
【００２９】
無線通信メディア２７は、アプリケーションから制御可能なBluetooth（登録商標）送受信機で、無線通信メディア２８は、無線通信メディア２７とは異なるWi-Fi送受信機とされる。無線通信メディア２７としては、Bluetooth（登録商標）4.0の無線メディアを使用することができるが、Bluetooth（登録商標）3.x以前のいわゆるクラシックBluetooth（登録商標）等のPAN無線メディアであってもよい。無線通信メディア２８としては、IEEE802.11規格で定義されるWi-Fi等の無線メディアを使用することができる。
【００３０】
図４は、画像形成装置１１のハードウェア構成を示した図である。画像形成装置１１は、コントローラ３０と、エンジン部４０とをPCI(Peripheral Component Interface)バス４１で接続した構成とされる。コントローラ３０は、画像形成装置１１全体の制御、描画、通信、操作部４２からの情報の入力を制御する。エンジン部４０は、PCIバス４１に接続可能なプリンタエンジン等であり、例えば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナ、ファックスユニット等である。エンジン部４０は、これらのプロッタ等に加えて、誤差拡散やガンマ変換等を行う画像処理部も含んで構成される。
【００３１】
コントローラ３０は、CPU３１、ノースブリッジ(NB)３２、システムメモリ(MEM-P)３３、サウスブリッジ(SB)３４、ローカルメモリ(MEM-C)３５を備える。また、コントローラ３０は、ASIC(Application Specific Integrated Circuit)３６、HDD３７を備え、NB３２とASIC３６との間をAGP(Accelerated Graphics Port)バス３８で接続した構成とされている。なお、MEM-P３３は、ROM３３ａとRAM３３ｂとを含んで構成されている。
【００３２】
CPU３１は、画像形成装置１１全体の制御を行い、NB３２、MEM-P３３、SB３４からなるチップセットを有し、このチップセットを介して他の機器と接続される。NB３２は、CPU３１とMEM-P３３、SB３４、AGPバス３８とを接続するためのブリッジで、MEM-P３３に対する読み書き等を制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。PCIマスタは、データ転送を行うデバイスで、AGPターゲットは、そのデータ転送を受けるデバイスである。
【００３３】
MEM-P３３は、プログラムやデータを記憶する記憶用のメモリとして、また、そのプログラムやデータを読み出し展開する展開用のメモリとして、さらには、描画処理を行う際に使用する描画用のメモリとして使用される。ROM３３ａは、記憶用のメモリとして用いられる読み出し専用のメモリである。RAM３３ｂは、展開用および描画用のメモリとして用いられる書き込み、読み出しの両方を行えるメモリである。
【００３４】
SB３４は、NB３２とPCIバス、周辺デバイスとを接続するためのブリッジである。SB３４は、PCIバスを介してNB３２と接続されており、PCIバスには、ネットワークインタフェース(I/F)部等も接続される。MEM-C３５は、コピーするために画像データを一時的に記憶するコピー用画像バッファとして、符号化する際に一時的に記憶する符号バッファとして用いられる。
【００３５】
ASIC３６は、画像処理用のIC(Integrated Circuit)で、AGPバス３８、PCIバス４１、HDD３７、MEM-C３５をそれぞれ接続するブリッジとしての役割を有する。ASIC３６は、PCIマスタおよびAGPターゲットと、ASIC３６の中核をなすARB(Arbiter)と、MEM-C３５とを制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等を行う複数のDMAC(Direct Memory Access Controller)と、エンジン部４０との間でPCIバス４１を介したデータ転送を行うPCIユニットとから構成される。
【００３６】
ASIC３６には、PCIバス４１を介してFCU(Facsimile Control Unit)４３、USB(Universal Serial Bus)４４、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース４５が接続される。また、ASIC３６には、スマートデバイス１０と同様、無線通信メディア４６、４７が接続される。無線通信メディア４６は、Bluetooth（登録商標）4.0送受信機等のアプリケーションから制御可能な無線メディアで、これも、Bluetooth（登録商標）3.x以前のいわゆるクラシックBluetooth（登録商標）等のPAN無線メディアであってもよい。無線通信メディア４７は、無線通信メディア４６とは異なるWi-Fi送受信機等の無線メディアである。
【００３７】
HDD３７は、画像データ、プログラム、フォントデータ、フォーム等を記憶する不揮発性の記憶媒体である。また、HDD３７は、画像形成装置１１で実行されるアプリケーションのライセンスファイル等も記憶する。ここでは、HDD３７を使用しているが、SSD(Solid State Drive)であってもよい。AGPバス３８は、グラフィック処理を高速化するために提案されたグラフィックアクセラレータカード用のバスインタフェースであり、MEM-P３３に対して高スループットで直接アクセスすることにより、グラフィックアクセラレータカードを高速にする。
【００３８】
操作部４２は、ASIC３６に直接接続され、ユーザからの情報の入力や画像形成装置１１のジョブ処理の状況等をユーザに対して表示する。操作部４２は、表示部と入力ボタンを有する構成であってもよいし、タッチパネルを備える操作パネルであってもよい。
【００３９】
図５は、スマートデバイス１０の機能ブロック図である。スマートデバイス１０は、通信部５０と、通信管理部５１と、要求出力部５２と、時間決定部５３と、符号化部５４と、復号化部５５とを含んで構成される。本実施形態における通信部５０が、本明細書において定義するプラットフォームに相当する機能を提供する。要求出力部５２、時間決定部５３、符号化部５４、復号化部５５は、CPU２０がHDD２３に記憶されたアプリケーションを実行することにより実現される。また、通信部５０および通信管理部５１は、上記のI/F２４および無線通信メディア２７、２８と、プラットフォームが提供する無線通信のプロトコルスタックとにより実現される。
【００４０】
要求出力部５２は、ユーザからの指示を受けて、画像形成装置１１と無線通信により接続するための接続要求を出力する。通信管理部５１は、要求出力部５２から接続要求を受け付けると、通信部５０に対して指示し、通信部５０がその接続要求で指定されたデバイスアドレスに対して接続処理を実行する。
【００４１】
実際のBLEで説明すると、スマートデバイス１０のプロトコルスタックにおけるアプリケーション層（ホスト）からリンク層に対してLE Create Connectionコマンドを発行する。通信管理部５１は、このホストにより実現され、通信部５０は、リンク層により実現される。リンク層は、これを受けて、そのデバイスアドレスにある画像形成装置１１に対して接続要求としてのCONNECTION_REQパケットを送信する。その後、画像形成装置１１との間で接続パラメータを交換し、接続が完了すると、スマートデバイス１０のリンク層はホストに対してLE Connection Completeイベントを通知する。
【００４２】
要求出力部５２は、画像形成装置１１と接続している間に、画像形成装置１１に対して情報を読み書きするための読み出し要求あるいは書き込み要求を出力する。通信部５０は、要求出力部５２から通信管理部５１を介して読み出し要求あるいは書き込み要求を受け付けると、その要求で指定された手続きを実行する。
【００４３】
これもBLEで説明すると、アプリケーションがその要求を行うためにAPIを実行し、プロトコルスタックがその要求で指定された手続きを実行する。各手続きは、GATTプロファイルに基づいてGATT ServiceのGATT Characteristic値の読み書きを実行するというものである。ここで、プロファイルは、各機器がBluetooth（登録商標）を使用してどのような事が出来るかを示したもので、GATT Serviceは、画像形成装置１１がもつ機能（サービス）の一覧で、GATT Characteristic値は、そのサービスを構成するデータの値である。BLEでは、スマートデバイス１０が画像形成装置１１へ上記のGATT Characteristic値の読み書きをする形で通信が行われる。GATT ServiceのGATT Characteristic値の読み書きは、各プラットフォームのAPIをサブプロシージャとして利用し、実現することができる。
【００４４】
このGATT Characteristic値の読み書きでは、その値であるデータを符号化したり、符号化されたデータを復号したりすることができる。通信規格には、符号化機能が存在するが、特にBLEでペアリングをせずに機器と接続する場合、暗号化オプションを使用することができない。このため、アプリケーションにおいて符号化または復号化することができる。スマートデバイス１０は、符号化および復号化するために符号化部５４、復号化するために復号化部５５を備えることができる。符号化部５４は、画像形成装置１１へ送信する接続要求、読み書き要求等の情報を符号化、すなわち暗号化し、復号化部５５は、画像形成装置１１から受信した暗号化された情報を復号する。符号化するための暗号アルゴリズムはいかなるアルゴリズムであってもよい。
【００４５】
要求出力部５２は、画像形成装置１１との間で読み書きが終了し、接続が不要になった場合、その接続を切断するための切断要求を出力することができる。通信部５０は、その切断要求を、通信管理部５１を介して受け取り、画像形成装置１１へ送信することができる。しかしながら、Bluetooth（登録商標）を使用した無線通信では、上記の問題が発生するため、上記の切断要求に代えて以下の要求を出力し、送信する。
【００４６】
要求出力部５２は、接続が不要になった場合、スマートデバイス１０に対してその接続を切断する切断要求を送信する要求を出力する。この要求は、例えば、その接続を切断するまでの時間（例えば、秒数を表す数値）を画像形成装置１１の特定の場所へ書き込む要求である。なお、書き込む情報は、時間のみに限らず、予め決められたすぐに切断することを示す指示であってもよい。BLEでは、画像形成装置１１の所定のGATT Characteristicに上記の時間や指示を書き込むように要求する。なお、上記の指示は、GATT Descriptorなどの他の場所に書き込んでもよい。GATT Characteristicは、BLEで使用されるGATTプロファイルに対応してアプリケーションが保持するGATT Serviceというデータベース内にあり、その値がデータとして格納されている。通信部５０は、その時間等を書き込む書き込み要求を画像形成装置１１へ送信し、その時間等の書き込みを実行させる。
【００４７】
通信部５０は、上記の書き込み要求により画像形成装置１１から書き込まれた時間が経過後に、あるいは時間を計測することなく即座に切断要求が送信されるため、その切断要求を受信する。通信部５０は、切断要求に対する応答を返信する。BLEでは、画像形成装置１１から切断要求としてLL_TERMINATED_INDパケットが送信されるため、それを受信し、プロトコルスタックのリンク層がその応答としてLL ackパケットを返信する。その後、リンク層は、Disconnection Completeイベントをホストに通知し、切断処理が完了する。このため、通信部５０は、通信管理部５１に対して切断処理が終了した旨を通知することができる。
【００４８】
時間決定部５３は、要求出力部５２が上記時間の書き込み要求を出力する場合に、画像形成装置１１との通信時間を予測し、上記時間をどの程度の時間にするかを決定する。時間決定部５３は、例えばスマートデバイス１０から画像形成装置１１への通信回数が３回で、１回の通信が約３秒で終了する場合、時間を書き込み切断するまでの時間を３×３＝９秒と予測し、９秒あるいは１秒の余裕を見て１０秒と決定する。書き込む値は、上記の９秒と１０秒のいずれであってもよいが、確実に３回通信が終了した後に切断するように時間的な余裕を与える任意の値（ここでは１秒）を加算した値とすることが望ましい。
【００４９】
通信時間は、残りの読み書きに必要な時間として予測することができる。通信回数は、読み書きが必要な回数により判断することができ、１回の通信にかかる時間は、それまでに通信を行った履歴から、平均してかかる時間を求め、その時間を採用することができる。これらは一例であるので、その他の方法で時間を予測してもよい。また、上記の任意の値は、上記の１秒に限定されるものではなく、０．５秒や２秒等のその他の値であってもよい。
【００５０】
要求出力部５２は、時間決定部５３が決定した時間を書き込む要求を書き込み要求として生成し、出力することができるが、通信部５０が画像形成装置１１にその書き込み要求を送信した後、その時間を変えたい場合がある。例えば、通信回数を３回後である１０秒後に切断することを考えていたが、即座に切断したい場合等である。
【００５１】
このような場合、要求出力部５２は、その書き込みにより指定された時間が経過後に切断要求が送信されるのを取り消すため、キャンセル要求を出力する。キャンセル要求は、書き込み要求と同様、画像形成装置１１の特定の場所にキャンセル情報としての数値を書き込む要求とされる。その数値は、指定された時間として計測できる数値以外であればどのような数値であってもよい。そのような数値であれば、時間を計測することができないからである。例えば、0（ゼロ）や−１等のマイナスの値とすることができる。特定の場所は、先に書き込んだ場所と同じ場所とし、上書きすることができる。なお、上記の即座に切断することを示す指示が、0を書き込むことにより実現される場合は、キャンセル情報は、マイナスの値とすることができる。
【００５２】
図６は、画像形成装置１１の機能ブロック図である。画像形成装置１１は、機能部として、通信部６０と、通信管理部６１と、読み書き処理部６２と、上記のデータベースとしての記憶部６３と、計測部６４と、指示部６５とを含んで構成される。通信部６０は、本明細書において定義するプラットフォームに相当する機能を提供する。スマートデバイス１０から時間等の書き込み要求を受信し、通信管理部６１を介して読み書き処理部６２に渡す。
【００５３】
図６では、通信部６０が書き込み要求を受け付ける要求受信部としての機能も備えているが、要求受信部は別個の機能部として構成されていてもよい。読み書き処理部６２は、切断要求の送信に関する情報として、要求された時間や上記の指示を記憶部６３の特定の場所に書き込み、記憶させる。そして、読み書き処理部６２は、指示部６５に対して書き込みが完了した旨を通知する。以下、書き込みは、時間のみとして説明する。
【００５４】
計測部６４は、指示部６５からの指示を受け、記憶部６３の特定の場所に記憶された時間を参照し、時間の計測を開始し、その時間に達したとき、指示部６５に対して時間に達した旨を通知する。指示部６５は、その通知を受けて、スマートデバイス１０に対して接続を切断するための切断要求を生成し、通信管理部６１に対してその切断要求を送信するように指示する。通信管理部６１は、その切断要求を受け付け、通信部６０に指示し、通信部６０がスマートデバイス１０に対してその切断要求を送信する。
【００５５】
スマートデバイス１０は、その切断要求を受け、応答を返すが、通信部６０は、その応答を受信し、スマートデバイス１０との通信を切断する処理を実行する。通信を切断する処理では、スマートデバイス１０と接続時に交換した接続パラメータの破棄等が行われる。
【００５６】
実際にBLEでは、スマートデバイス１０からの接続要求としてのCONNECT_REQパケットを画像形成装置１１のプロトコルスタックが受信すると、スマートデバイス１０と接続パラメータの交換を行う。この交換により接続完了状態になると、LE Connection Completeイベントをリンク層からホストに通知し、APIを経由してアプリケーションに通知する。そして、スマートデバイス１０から情報の読み書きの要求を受信すると、プロトコルスタックは、APIを経由してアプリケーションが保持するデータベースの読み書きに応じる。BLEでは、GATT Characteristic値が読み書きされる。読み書きが終了すると、GATT Characteristic Read/Write Responseを返答し、スマートデバイス１０にその結果を通知する。
【００５７】
読み書きする際、読み書きするデータは、符号化されていてもよい。読み出されたデータは、符号化してスマートデバイス１０に送信することができ、そのために符号化部６６をさらに備えることができる。また、スマートデバイス１０から送信された符号化されたデータを復号するため、復号化部６７をさらに備えることができる。
【００５８】
スマートデバイス１０から切断要求が送信された場合、プロトコルスタックが、スマートデバイス１０に切断応答を返す。そして、そのプロトコルスタックがAPIを経由して、アプリケーションに対して切断が完了した旨を通知する。
【００５９】
詳細に説明すると、スマートデバイス１０からLL_TERMINATED_INDパケットが送信され、それをプロトコルスタックが受信すると、そのプロトコルスタックのリンク層がLL ackパケットをスマートデバイス１０に送信する。そして、リンク層は、LE Disconnection Completeイベントをホストに通知する。ホストは、アプリケーションに対してAPIを経由して切断を完了した旨を通知し、これにより、切断処理が完了となる。
【００６０】
スマートデバイス１０から切断要求が送信された場合の処理は以上であるが、プラットフォームによっては即座に切断要求が送信されないため、接続を切断する場合は、スマートデバイス１０から時間を書き込む要求が送信される。画像形成装置１１は、書き込み要求に従って時間を所定の場所に書き込み、書き込まれた分の時間だけタイマを計時する。そして、画像形成装置１１は、タイマが発火したタイミングで切断処理のAPIを実行し、プロトコルスタックからスマートデバイス１０に切断要求を送信する。具体的には、プロトコルスタックのリンク層からLL_TERMINATE_INDパケットをスマートデバイス１０に送信する。
【００６１】
プロトコルスタックのリンク層は、スマートデバイス１０からLL ackパケットが返ってきたら、ホストにLE Disconnection Completeイベントを通知する。ホストは、APIを経由して切断を完了した旨を通知し、これにより、切断処理が完了となる。
【００６２】
既にタイマが計時されているときに、スマートデバイス１０から画像形成装置１１へキャンセル要求が送信され、特定の場所にキャンセルする旨の値が書き込まれた場合について説明する。この場合は、このキャンセルする旨の値が書き込まれたことにより、タイマ発火によって動作する切断処理が無効化される。したがって、この書き込みによりキャンセルすることができ、新たに時間を設定する場合は、キャンセル後に新たに値を書き込むことで実現することができる。
【００６３】
読み書き処理部６２が書き込みを行う記憶部６３であるデータベースについて、図７を参照して説明する。BLEでは、GATT Serviceが複数のGATT Characteristicを内包する形で特性と振る舞いを定義することができる。ここでは、GATT Serviceを独自の切断サービスとして定義する。複数のCharacteristicの各々は、その値としてIDを有する。実際には、GATT Characteristicには値や振る舞いを示すプロパティ、権限を示すパーミッション等があるが、図７では１つの論理的な単位として示している。
【００６４】
スマートデバイス１０から画像形成装置１１に切断要求をする場合、そのデータベースに適切な値を書き込むことがスマートデバイス１０のアプリケーションに求められる。このため、図７に示すように複数のGATT Characteristicに分割され得るIDとタイマ時間を１つのGATT Characteristicとして定義している。これは、GATT Characteristicを複数に分けると書き込み処理が複数回発生し、通信時間がかかり、通信速度も低下することになるからである。なお、通信速度も、通信時間も問題にならない場合は、複数のGATT CharacteristicとしてIDとタイマ時間とを別個に定義してもよい。
【００６５】
なお、IDは、スマートデバイス１０が切断処理を要求する際に、スマートデバイス１０のハッシュ関数等により算出される衝突のない一意な値として決定される。この値は、切断処理をキャンセルする際に、どの切断処理をキャンセルするか判断する際に利用される。なお、タイマ時間は、スマートデバイス１０から切断処理を要求する際に書き込む、切断処理を開始するまでの時間である。
【００６６】
具体的にどのような値を書き込むかについて、図８を参照して説明する。図８では、IDがタイマを識別するための識別情報とされている。図８（ａ）では、IDが0x0024のタイマで１秒後に切断するように、IDが0x0024に対応付けて1という値が書き込まれている。図８（ｂ）では、IDが0x0051のタイマで１０秒後に切断するように、IDが0x0051に対応付けて10という値が書き込まれている。
【００６７】
図８（ｃ）では、同じIDが0x0051のタイマに対して切断要求をキャンセルするため、0という値が再度書き込まれている。0という値はタイマによる計時を無効にする値である。なお、0という値が即座に切断要求を送信する情報として書き込まれる場合、マイナスの値をタイマによる計時を無効にする値として用いることができる。
【００６８】
図９に示すシーケンス図を参照し、通信システムにより実行されるスマートデバイス１０と画像形成装置１１との接続を切断する処理について、BLEのコマンド仕様に基づき説明する。スマートデバイス１０が、通信部５０、通信管理部５１、要求出力部５２を含み、画像形成装置１１が、通信部６０、通信管理部６１、読み書き処理部６２、計測部６４、指示部６５を備えるものとして説明する。
【００６９】
要求出力部５２は、例えばユーザからの接続の切断指示を受けて、図示しない時間決定部５３が決定した時間の書き込み要求を生成し、通信管理部５１に出力する (S1)。通信管理部５１は、その書き込み要求を、GATT Characteristic Write Requestコマンドとして通信部５０に出力する(S2)。通信部５０は、Attribute Write Requestパケットに変換して画像形成装置１１に送信する(S3)。なお、接続パラメータにより一度に転送できる最大データ量であるMTU(Maximum Transmission Unit)が小さく設定されている場合、パケットは分割されて送信される。この場合、受信側は分割されたパケットを結合し、再構成される。
【００７０】
画像形成装置１１では、通信部６０がそのAttribute Write Requestパケットを受信し、それを抽象化したGATT Characteristic Write Requestコマンドに変換し、通信管理部６１に出力する(S4)。通信管理部５１は、そのコマンドを書き込み要求として読み書き処理部６２に出力する(S5)。読み書き処理部６２はその書き込み要求で要求される時間を記憶部６３の特定の場所に書き込み、設定する(S6)。そして、読み書き処理部６２は、時間の書き込みが完了した旨を指示部６５に通知する(S7)。指示部６５は、計測部６４に対して時間の計測を開始するように指示し(S8)、計測部６４は、その指示を受けて、時間の計測を開始する(S9)。
【００７１】
読み書き処理部６２は、書き込みが完了した旨を通信管理部６１にも通知する(S10)。通信管理部６１は、書き込みが完了した旨をGATT Characteristic Write Responseイベントとして通信部６０に返す(S11)。通信部６０は、GATT Characteristic Write ResponseイベントをAttribute Write Responseパケットに変換し、スマートデバイス１０に対して応答する(S12)。
【００７２】
通信部５０は、画像形成装置１１からAttribute Write Responseパケットを受信し、GATT Characteristic Write Responseイベントに変換し、通信管理部５１に返す(S13)。通信管理部５１は、GATT Characteristic Write Responseイベントを書き込み結果として要求出力部５２に返す(S14)。要求出力部５２は、書き込み結果を表示部に表示する等してユーザにその結果を通知することができる。
【００７３】
計測部６４は、記憶部６３に書き込まれた時間に達したとき、指示部６５に時間に達した旨を通知する(S15)。指示部６５は、スマートデバイス１０との接続を切断する要求を生成し、その切断要求を通信管理部６１に出力して切断を指示する(S16)。通信管理部６１は、切断要求をLE_Disconnectコマンドとして通信部６０に出力する(S17)。通信部６０は、LE_DisconnectコマンドをLL_TERMINATE_INDパケットに変換し、スマートデバイス１０に送信する(S18)。
【００７４】
スマートデバイス１０の通信部５０は、LL_TERMINATE_INDパケットを受信すると、その応答としてLL ackパケットを返信する(S19)。画像形成装置１１の通信部６０は、LL ackパケットを受信すると、LE_Disconnection Completeイベントに変換し、通信管理部６１に出力する(S20)。通信管理部６１は、LE_Disconnection Completeイベントを切断が完了した旨の通知として指示部６５に対して応答する(S21)。
【００７５】
また、スマートデバイス１０の通信部５０は、受信したLL_TERMINATE_INDパケットをLE_Disconnection Completeイベントに変換し、通信管理部５１に出力する(S22)。通信管理部５１は、そのLE_Disconnection Completeイベントを切断が完了した旨の通知として要求出力部５２に出力する(S23)。
【００７６】
図９に示した処理は、書き込む時間が短い場合の処理であるが、書き込む時間が長い場合、図１０に示すような処理となる。書き込む時間は、例えば１０秒等である。基本的な処理の流れは、図９に示した処理と同様であるが、切断要求が出されるまでに時間があることから、別の読み書き処理が挿入されている。別の読み書き処理は、S14で書き込み結果を受信した後に実施される。
【００７７】
具体的には、要求出力部５２が別の読み書き要求を出力する(S15)。通信管理部５１は、その読み書き要求を、GATT Characteristic Read/Write Requestコマンドとして通信部５０に出力する(S16)。通信部５０は、Attribute Read/Write Requestパケットに変換して画像形成装置１１に送信する(S17)。
【００７８】
画像形成装置１１では、通信部６０がそのAttribute Read/Write Requestパケットを受信し、それを抽象化したGATT Characteristic Read/Write Requestコマンドに変換し、通信管理部６１に出力する(S18)。通信管理部６１は、そのコマンドを読み書き要求として読み書き処理部６２に出力する(S19)。読み書き処理部６２はその読み書き要求で要求された処理を記憶部６３に対して行う(S20)。そして、読み書き処理部６２は、読み書きが完了した旨を通信管理部６１に通知する(S21)。通信管理部６１は、読み書きが完了した旨をGATT Characteristic Read/Write Responseイベントとして通信部６０に返す(S22)。通信部６０は、GATT Characteristic Read/Write ResponseイベントをAttribute Read/Write Responseパケットに変換し、スマートデバイス１０に対して応答する(S23)。
【００７９】
通信部５０は、画像形成装置１１からAttribute Read/Write Responseパケットを受信し、GATT Characteristic Read/Write Responseイベントに変換し、通信管理部５１に返す(S24)。通信管理部５１は、GATT Characteristic Read/Write Responseイベントを読み書きの結果として要求出力部５２に返す(S25)。要求出力部５２は、書き込み結果を表示装置２５に表示する等してユーザにその結果を通知することができる。
【００８０】
図１０に示す実施形態では、計測部６４による時間の計測が書き込まれた時間に達した後は、図９に示したS15以降の処理と同様の処理が実施される。このように、書き込む時間を可変にし、かつその時間を計測している間にスマートデバイス１０から画像形成装置１１の情報の読み書き処理が行えると、スマートデバイス１０からの通信回数に応じた時間を設定することができる。また、何らのトラブルによりスマートデバイス１０からの通信が不可能になってしまった場合の切断処理までの時間を制御することが可能となる。
【００８１】
図１１を参照して、スマートデバイス１０から時間を書き込み、一度キャンセルし、再度時間を書き込む処理について説明する。キャンセルは、時間を書き込んだ記憶部６３の所定の場所に、その時間に達する前に無効な値を上書きすることで実現することができる。このように、画像形成装置１１においてGATT Characteristic値を参照し、所定の値でなければ切断処理が実行されないような構成とすることで、切断処理をキャンセルすることができ、再度所定の値を書き込むことで切断処理を実行することができる。例えば、１０秒後に切断処理が実行されるように要求した後、スマートデバイス１０側でエラーが発生し、直ぐに切断処理を実行させたい場合、一度キャンセルしてから再度要求することで、最初の要求を待たずに切断することができる。
【００８２】
図９に示した処理と相違する部分についてのみ説明する。S14の書き込み結果を受信するまでの処理は、図９に示した処理と同様である。図１１では、スマートデバイス１０において何らかのエラーが発生する(S15)。要求出力部５２は、書き込んだ時間後に切断処理が実行される要求をキャンセルするために、キャンセル情報として無効な値を書き込む要求を生成し、通信管理部５１に出力する(S16)。通信管理部５１は、その書き込み要求を、GATT Characteristic Write Requestコマンドとして通信部５０に出力する(S17)。通信部５０は、Attribute Write Requestパケットに変換して画像形成装置１１に送信する(S18)。
【００８３】
画像形成装置１１では、通信部６０がそのAttribute Write Requestパケットを受信し、それを抽象化したGATT Characteristic Write Requestコマンドに変換し、通信管理部６１に出力する(S19)。通信管理部５１は、そのコマンドを書き込み要求として読み書き処理部６２に出力する(S20)。読み書き処理部６２はその書き込み要求で要求される時間を記憶部６３の特定の場所に上書きする(S21)。そして、読み書き処理部６２は、書き込みが完了した旨を指示部６５に対して通知する(S22)。
【００８４】
計測部６４は、書き込まれた時間に達したところで達した旨を指示部６５に通知する(S23)。指示部６５は、通知を受けたが、記憶部６３に記憶されている時間の値が無効な値であるため、切断要求を生成せず、切断要求の送信を指示しない。すなわち、指示部６５は、切断を指示しない。
【００８５】
要求出力部５２は、再度切断を要求するために、時間の書き込み要求を生成し、通信管理部５１に出力する(S24)。通信管理部５１は、その書き込み要求を、GATT Characteristic Write Requestコマンドとして通信部５０に出力する(S25)。通信部５０は、Attribute Write Requestパケットに変換して画像形成装置１１に送信する(S26)。
【００８６】
画像形成装置１１では、通信部６０がそのAttribute Write Requestパケットを受信し、それを抽象化したGATT Characteristic Write Requestコマンドに変換し、通信管理部６１に出力する(S27)。通信管理部５１は、そのコマンドを書き込み要求として読み書き処理部６２に出力する(S28)。読み書き処理部６２はその書き込み要求で要求される時間を記憶部６３の特定の場所に上書きする(S29)。そして、読み書き処理部６２は、書き込みが完了した旨を指示部６５に対して通知する(S30)。
【００８７】
指示部６５は、計測部６４に対して時間の計測を開始するように指示する(S31)。計測部６４は、その通知を受けて、時間の計測を開始する(S32)。
【００８８】
計測部６４は、書き込まれた時間に達したとき、指示部６５に時間に達した旨を通知する(S33)。指示部６５は、記憶部６３に記憶された値を確認し、スマートデバイス１０との接続を切断する要求を生成し、その切断要求を通信管理部６１に出力して切断を指示する(S34)。通信管理部６１は、切断要求をLE_Disconnectコマンドとして通信部６０に出力する(S35)。通信部６０は、LE_DisconnectコマンドをLL_TERMINATE_INDパケットに変換し、スマートデバイス１０に送信する(S36)。
【００８９】
スマートデバイス１０の通信部５０は、LL_TERMINATE_INDパケットを受信すると、その応答としてLL ackパケットを返信する(S37)。画像形成装置１１の通信部６０は、LL ackパケットを受信すると、LE_Disconnection Completeイベントに変換し、通信管理部６１に出力する(S38)。通信管理部６１は、LE_Disconnection Completeイベントを切断が完了した旨の通知として指示部６５に対して応答する(S39)。
【００９０】
また、スマートデバイス１０の通信部５０は、受信したLL_TERMINATE_INDパケットをLE_Disconnection Completeイベントに変換し、通信管理部５１に出力する(S40)。通信管理部５１は、そのLE_Disconnection Completeイベントを切断が完了した旨の通知として要求出力部５２に出力する(S41)。
【００９１】
スマートデバイス１０と画像形成装置１１との接続を切断する処理は、ユーザからの指示によりスマートデバイス１０から書き込み要求を送ることで実施することができるが、指示しなくても自動的に実施することも可能である。具体的には、接続完了から所定時間後に接続を切断するように設定しておくことで、その計測部６４がその時間を計測し、その時間に達したときに自動的に切断処理を実施することができる。これにより、ユーザが気付かないうちに誤操作で誤って長時間無線接続を行い、画像形成装置１１との無線接続を専有してしまうとき等に、自動で切断することができる。また、他のスマートデバイスが画像形成装置１１と接続することができない時間を短縮することができる。
【００９２】
図１２を参照して、自動的に切断処理を実施する場合について説明する。要求出力部５２は、例えばユーザからの接続指示を受けて、画像形成装置１１に対する接続要求を生成し、通信管理部５１に出力する(S1)。通信管理部５１は、その接続要求を、LE Create Connectionコマンドとして通信部５０に出力する(S2)。通信部５０は、CONNECT_REQパケットに変換して画像形成装置１１に送信する(S3)。
【００９３】
画像形成装置１１では、通信部６０がそのCONNECT_REQパケットを受信し、接続パラメータをスマートデバイス１０の通信部５０との間で交換し、接続を確立する。通信部６０は、通信が確立した旨をLE Connection Completeコマンドとして通信管理部６１に出力する(S4)。通信管理部５１は、そのコマンドを接続完了通知として指示部６５に通知する(S5)。指示部６５は、時間の計測を開始するように計測部６４に対して指示する(S6)。計測部６４は、その指示を受けて、記憶部６３の所定の場所に予め書き込まれている時間の計測を開始する(S7)。
【００９４】
スマートデバイス１０の通信部５０は、接続が確立した後、通信管理部５１に接続が確立した旨をLE Connection Completeコマンドとして通信管理部５１に出力する(S8)。通信管理部５１は、そのコマンドを接続完了通知として要求出力部５２に通知する(S9)。要求出力部５２は、接続が完了した旨を表示装置２５に表示する等してユーザにその結果を通知することができる。
【００９５】
計測部６４は、予め書き込まれている時間に達したとき、指示部６５に時間に達した旨を通知する(S10)。この例では、書き込まれている値が変更されていないので、指示部６５は、スマートデバイス１０との接続を切断する要求を生成し、その切断要求を通信管理部６１に出力して切断を指示する(S11)。通信管理部６１は、切断要求をLE_Disconnectコマンドとして通信部６０に出力する(S12)。通信部６０は、LE_DisconnectコマンドをLL_TERMINATE_INDパケットに変換し、スマートデバイス１０に送信する(S13)。
【００９６】
スマートデバイス１０の通信部５０は、LL_TERMINATE_INDパケットを受信すると、その応答としてLL ackパケットを返信する(S14)。画像形成装置１１の通信部６０は、LL ackパケットを受信すると、LE_Disconnection Completeイベントに変換し、通信管理部６１に出力する(S15)。通信管理部６１は、LE_Disconnection Completeイベントを切断が完了した旨の通知として指示部６５に対して応答する(S16)。
【００９７】
また、スマートデバイス１０の通信部５０は、受信したLL_TERMINATE_INDパケットをLE_Disconnection Completeイベントに変換し、通信管理部５１に出力する(S17)。通信管理部５１は、そのLE_Disconnection Completeイベントを切断が完了した旨の通知として要求出力部５２に出力する(S18)。
【００９８】
これまでBLEの仕様に基づき通信システム、通信端末、情報処理装置が行う処理について詳細に説明してきたが、BLEに基づく無線通信に限定されるものではない。したがって、他の無線通信に対しても適用することが可能なものである。また、上記の例では、記憶部６３の特定の場所に値を上書きするように記載しているが、別の場所に記憶してもよく、その場合、最新に書き込まれた値を採用することができる。
【００９９】
本願を具体的なユースケースに照らし合わせてより具体的に説明する。図１３はスマートデバイス１０から画像形成装置１１に印刷をするための印刷設定や無線で接続するための情報を、印刷に先立って無線通信にて取得する流れを示した図である。スマートデバイス１０の要求処理部５２がプラットフォームで提供されているAPIを用いて接続要求をすると（S1)、スマートデバイス１０の通信管理部５１から通信部５０に対してLE Create Connectionコマンドが送られる(S2)。
【０１００】
これを契機にスマートデバイス１０の通信部５０から画像形成装置１１の通信部６０に対して接続要求であるCONNECT_REQコマンドが送られる（S3)。スマートデバイス１０と、画像形成装置１１との間で接続に関するパラメータを交換した後、接続完了した場合は、スマートデバイス１０の通信部５０と、画像形成装置１１の通信部６０から、それぞれのホストに対してLE Connection Completeコマンドが送られる(S4)。さらに、スマートデバイス１０の通信管理部５１は、LE Connection Complete ()を、APIを介して受け取り(S4)、接続が完了となる(S5)。
【０１０１】
一方画像形成装置１１の通信部６０は、接続要求を受け取ると、接続開始要求LE Create Connection()を通信管理部６１に発行し(S6)、通信管理部６１は、読み書き処理部６２に対して接続完了を通知する(S7)。これらの一連の処理でスマートデバイス１０から画像形成装置１１への接続が完了し、以後、スマートデバイス１０から画像形成装置１１への接続完了した無線通信上で印刷に必要なパラメータや他の無線接続に必要な情報を交換し合う処理を実行する。
【０１０２】
具体的にはスマートデバイスから画像形成装置１１へと、通信情報としてIPアドレスの通知を行う。逆に画像形成装置１１からスマートデバイスへIPアドレスを通知しても良い。IPアドレスの通知は、双方向に行う必要は無く、画像形成装置１１からスマートデバイスへ、スマートデバイスから画像形成装置１１へと、一方向に通知するだけでよい。
【０１０３】
なお、通知するべき通信情報は、IPアドレスに限られず、例えば、MACアドレス、SSIDやスマートデバイスと画像形成装置との間で無線接続を行うための通信情報であれば、特に限定されることはない。なお、本実施形態において、無線接続とは、BLEと異なる通信基盤を使用するワイヤレス通信を意味し、ieee.802.x規格の無線通信、LTE、Wi-fi、3G、いかなる通信プロトコルを使用するものでもかまわない。
【０１０４】
その後、スマートデバイス１０の要求出力部５２は、不要になった接続を直ちに接続するため、設定された時間の時間書き込み要求を、通信管理部５１に発行する（S8)。IPアドレスを通知し終えたら、スマートデバイス１０の要求処理部５２から直ぐに接続を切断するために、本実施形態では時間書込を行う。この図では直ぐに切断をしたいので、１秒を設定することができる。これは、書き込み完了後、１秒後に画像系装置のタイマが発火して切断要求が画像形成装置側から送られてくることを期待している。
【０１０５】
切断が完了したら、スマートデバイスと画像形成装置で印刷をするため、上述した通信情報を使用する無線接続を行い、印刷設定や印刷データを通信してスマートデバイスから印刷を行う。通信管理部５１は、時間書き込み要求を受領すると、GATT Characteristic値に当該時間を設定し、GATT Characteristic Write ()を通信部５０に発行し(S9)、通信部５０から画像形成装置１１に対してAttribute Write Request ()を、画像形成装置１１の通信部６０に発行する(S10)。
【０１０６】
画像形成装置１１の通信部６０は、通信管理部６１に対して受領したAttribute Write Request ()を、通信管理部６１に渡し（S11)、GATT Characteristic値の書き込みを、読み書き処理部６２に指令する(S12)。読み書き処理部６２は、受領したGATT Characteristic値を使用してタイマ計時の開始をタイマ６２ａに指示する(S13)、タイマ６２ａは、直ちにタイマ計時を開始する(S14)。
【０１０７】
一方、読み書き処理部６２は、タイマ計時の開始を発行すると、通信管理部６１に対してGATT Characteristic値の書き込みが完了したことを通知するLE_GATT Characteristic Response()を発行し(S15)、通信管理部６１は、通信部６０に対して、Attribute Write Response()を発行する(S16)。画像形成装置１１の通信部６０は、スマートデバイス１０の通信部５０に対して、Attribute Write Responseを通知する(S17)。
【０１０８】
当該通知を受領した通信部５０は、通信管理部５１に対してGATT Characteristic Responseを通知し、(S18)、通信管理部５１は、要求出力部52に対して書き込みが終了したことを通知する(S19)。
【０１０９】
タイマ６２ａの計時が満了すると、タイマが発動され(S20)、接続を切断する処理要求を、読み書き処理部６２が通信管理部６１に発行し(S21)、通信管理部６１は、通信部６０に対してスマートデバイス１０の通信状態を終了させるべく、LE Disconnect()を発行し（S22)、通信部６０は、スマートデバイス１０の通信部５０へと、LL_terminate_INDを送付する(S23)。スマートデバイス１０の通信部５０は、当該通知を受け取ると、画像形成装置１１の通信部６０に対してLL_ackを発行する（S24）。画像形成装置１１の通信部６０は、当該通知を受領して、切断が完了したことを通知するLE Disconnection Completeを、通信管理部６１に通知する(S25)。
【０１１０】
通信管理部６１は、読み書き処理部62に対して切断完了通知を発行し(S26)、画像形成装置１１側の切断処理を終了する。
【０１１１】
LL_ackを発行すると、スマートデバイス１０の通信部５０は、通信管理部５１に対して切断完了を通知するLE Disconnection Completeを発行する(S27)。当該通知を受領したスイマートデバイス１０の通信管理部５１は、要求種屡直部５２に対して切断完了を通知し、スマートデバイス１０側の処理も終了させる(S28)。その後、スマートデバイス１０と、画像形成装置１１とが無線ＬＡＮなどを使用して無線接続を行うことにより、印刷を開始させることが可能となる。
【０１１２】
これまで本発明を、通信システム、情報処理装置、通信端末、通信切断方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記のプログラムが記録された記録媒体、そのプログラムを、ネットワークを介して提供する外部機器等も提供することができるものである。
【符号の説明】
【０１１３】
１０…スマートデバイス、１１…画像形成装置、１２…ネットワーク、２０…CPU、２１…RAM、２２…ROM、２３…HDD、２４…I/F、２５…表示装置、２６…入力装置、２７、２８…無線通信メディア、２９…バス、３０…コントローラ、３１…CPU、３２…NB、３３…MEM-P、３３ａ…ROM、３３ｂ…RAM、３４…SB、３５…MEM-C、３６…ASIC、３７…HDD、３８…AGPバス、４０…エンジン部、４１…PCIバス、４２…操作部、４３…FCU、４４…USB、４５…IEEE1394インタフェース、４６、４７…無線通信メディア、５０…通信部、５１…通信管理部、５２…要求出力部、５３…時間決定部、５４…符号化部、５５…復号化部、６０…通信部、６１…通信管理部、６２…読み書き処理部、６３…記憶部、６４…計測部、６５…指示部、６６…符号化部、６７…復号化部
【先行技術文献】
【特許文献】
【０１１４】
【特許文献１】特開２００３−６１１５９号公報
【図１】
0006668917.tif 000003
【図２】
0006668917.tif 000004
【図３】
0006668917.tif 000005
【図４】
0006668917.tif 000006
【図５】
0006668917.tif 000007
【図６】
0006668917.tif 000008
【図７】
0006668917.tif 000009
【図８】
0006668917.tif 000010
【図９】
0006668917.tif 000011
【図１０】
0006668917.tif 000012
【図１１】
0006668917.tif 000013
【図１２】
0006668917.tif 000014
【図１３】
0006668917.tif 000015