JP2017134496A - 情報処理装置、装置探索プログラムおよび探索方法 - Google Patents

情報処理装置、装置探索プログラムおよび探索方法 Download PDF

Info

Publication number
JP2017134496A
JP2017134496A JP2016012339A JP2016012339A JP2017134496A JP 2017134496 A JP2017134496 A JP 2017134496A JP 2016012339 A JP2016012339 A JP 2016012339A JP 2016012339 A JP2016012339 A JP 2016012339A JP 2017134496 A JP2017134496 A JP 2017134496A
Authority
JP
Japan
Prior art keywords
search
execution
program
thread
unit
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.)
Granted
Application number
JP2016012339A
Other languages
English (en)
Other versions
JP6642039B2 (ja
Inventor
伸広 野島
Nobuhiro Nojima
伸広 野島
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2016012339A priority Critical patent/JP6642039B2/ja
Publication of JP2017134496A publication Critical patent/JP2017134496A/ja
Application granted granted Critical
Publication of JP6642039B2 publication Critical patent/JP6642039B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで探索処理の結果を表示する場合に、レスポンスタイムを短くする。
【解決手段】 情報処理装置は、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行する第1実行部251と、第2の種類のプログラム言語で記述された第2のプログラムを実行する第2実行部253と、を備え、第1実行部251は、起動操作が受け付けられることに応じて、第2実行部253を起動する起動部263と、第2実行部253が起動されてから探索処理が終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置の装置識別情報を取得する装置情報取得部269と、装置識別情報が取得されるごとに装置識別情報を表示する割込時表示部271と、を含む。
【選択図】 図3

Description

この発明は、情報処理装置、装置探索プログラムおよび探索方法に関し、特に、ハイブリッドアプリケーションプログラムを実行可能な情報処理装置、その情報処理装置で実行される装置探索プログラムおよび探索方法に関する。
オフィス等では、複合機(MFP)等の画像処理装置が複数台設置される場合があり、それら複数のMFPは、ローカルエリアネットワーク(LAN)に接続されるのが一般的である。このようなネットワーク環境において、ネットワークに接続された複数のMFPの検出を可能にした探索サービスが用いられている。探索サービスに用いられるプロトコルの一例としては、SSDP(Simple Service Discovery Protocol)、WSD(Web Services on Devices)、SLP(Service Location Protocol)、mDNS(multicast Domain Name System)が知られている。複数のMFPを遠隔操作可能なパーソナルコンピューター(以下「PC」という)、スマートフォンまたはタブレット端末等の携帯情報装置においては、これらのプロトコルを用いて遠隔操作の対象となるMFPを探索することが可能である。
一方、ハイブリッドアプリケーションプログラムを制作するためのフレームワークとしてCordovaが知られている。このハイブリッドアプリケーションプログラムを用いれば、ユーザーインターフェース部分を、HTML(HyperText Markup Language)装置のオペレーティングシステムに依存しない記述言語で記述し、装置のハードウェア資源を制御する部分等のオペレーティングシステムに依存する部分を、Java(登録商標)、C、C++またはObjective−Cといった開発言語で記述することが可能となる。
しかしながら、ハイブリッドアプリケーションプログラムにおいては、ユーザーインターフェース部分と、オペレーティングシステムに依存する部分とが連携して動作する。具体的には、ユーザーインターフェース部分でユーザーの指示を受け付け、オペレーティングシステムに依存する部分で装置の探索を実行し、ユーザーインターフェース部分で探索結果を表示する一連の処理を実行する。それぞれの処理の順番とそれぞれの処理が実行されるタイミングが定められるため、ユーザーインターフェース部分が装置の探索結果を入手できるのは、オペレーティングシステムに依存する部分による装置の探索処理が完了した後になる。換言すれば、探索処理により複数のMFPの全てが検出された後に探索結果を表示するため、複数のMFPのすべてが検出されるまで探索結果を表示することができず、探索結果が表示されるまでのレスポンスタイムが長くなるといった問題がある。
特表2015−524126号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした情報処理装置を提供することである。
この発明の他の目的は、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした装置探索プログラムを提供することである。
この発明のさらに他の目的は、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした探索方法を提供することである。
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行することにより、表示手段および操作手段を制御する第1実行手段と、第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを実行することにより、通信可能な装置を探索する第2実行手段と、を備え、第1実行手段は、操作手段により起動操作が受け付けられることに応じて、第2実行手段を起動する起動手段と、第2実行手段が起動されてから探索処理が終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得手段と、装置情報取得手段により装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示手段と、を含む。
この局面によれば、第1のプログラムを実行する第1実行手段は、第2のプログラムを実行する第2実行手段が探索処理を終了する前に、第2実行手段によって探索された通信可能な装置の装置識別情報を取得し、表示する。このため、ユーザーによる起動操作を受け付けてから装置識別情報を表示するまでの時間を短くすることができる。その結果、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした情報処理装置を提供することができる。
好ましくは、第2実行手段は、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生するとともに、第1実行手段に検出された装置の装置識別情報を出力する出力手段を含む。
この局面に従えば、第2実行手段は、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生し、検出された装置の装置識別情報を出力するので、通信可能な装置が検出されるごとに、検出された装置の装置識別情報を表示することができる。
好ましくは、第1実行手段は、第2実行手段が起動されてから第2実行手段が探索処理を終了するまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行手段に中止指示を出力する中止指示手段を、含み、第2実行手段は、第1実行手段から中止指示が入力されることに応じて、探索処理の実行を中止する。
この局面に従えば、第1のプログラムを実行する第1実行手段が、探索処理の実行の中止を指示する操作を受け付けると、第2のプログラムを実行する第2実行手段が探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
好ましくは、探索処理は、探索条件の異なる複数の分割処理を含み、第2実行手段は、第1実行手段により起動されることに応じて、複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動するスレッド起動手段と、起動された複数のサブ実行手段のすべてが複数の分割処理のうち対応する担当分割処理を終了することを条件に、第1実行手段に探索処理の終了を通知する終了通知手段と、を備え、複数のサブ実行手段それぞれは、複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生するとともに、第1実行手段に検出された装置の装置識別情報を出力する出力手段と、を含む。
この局面に従えば、探索処理は、探索条件の異なる複数の分割処理を含み、第2実行手段は、複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動し、複数のサブ実行手段のすべてが対応する担当分割処理を終了することを条件に、第1実行手段に探索処理の終了を通知し、複数のサブ実行手段それぞれは、担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生するとともに、検出された装置の装置識別情報を出力する。このため、探索処理を、複数の分割処理に分割して並列で実行するので、レスポンスタイムをさらに短くすることができる。
好ましくは、第1実行手段は、第2実行手段が起動されてから第2実行手段が探索処理を終了するまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行手段に中止指示を出力する中止指示手段を、含み、第2実行手段は、第1実行手段から中止指示が入力されることに応じて、複数のサブ実行手段のうち担当分割処理を終了していないサブ実行手段にサブ中止指示を出力するサブ中止指示手段を含み、複数のサブ実行手段それぞれは、さらに、第2実行手段からサブ中止指示が入力されることに応じて、担当分割処理の実行を中止する。
この局面に従えば、第1のプログラムを実行する第1実行手段が、探索処理の実行の中止を指示する操作を受け付けると、複数のサブ実行手段が担当分割処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
好ましくは、第1実行手段は、第2実行手段が起動されてから第2実行手段が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示する探索中通知手段を、さらに含む。
この局面に従えば、第1のプログラムを実行する第1実行手段は、第2実行手段が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示するので、ユーザーに探索処理を実行中であることを通知することができる。
この発明の他の局面によれば、装置探索プログラムは、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索プログラムであって、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムと、第1の種類とは異なる第2の種類のプログラム言語で記述され、通信可能な装置を探索する探索処理を定めた第2のプログラムと、を含み、第1のプログラムは、操作手段により起動操作が受け付けられることに応じて、第2のプログラムをコンピューターに実行させる起動ステップと、コンピューターにより第2のプログラムが実行されてからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示ステップと、をコンピューターに実行させる。
この局面によれば、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行するコンピューターは、コンピューターが第2のプログラムを実行するスレッドが探索処理を終了する前に、コンピューターが第2のプログラムを実行するスレッドによって探索された通信可能な装置の装置識別情報を取得し、表示する。このため、ユーザーによる起動操作を受け付けてから装置識別情報を表示するまでの時間を短くすることができる。その結果、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした装置探索プログラムを提供することができる。
好ましくは、第2のプログラムは、さらに、通信可能な装置を検出するごとに、コンピューターが第1のプログラムを実行する第1実行スレッドに対して割り込みを発生するとともに、第1実行スレッドに検出された装置の装置識別情報を出力する出力ステップを、コンピューターに実行させる。
この局面に従えば、コンピューターが第2のプログラムを実行するスレッドは、通信可能な装置を検出するごとに、コンピューターが第1のプログラムを実行する第1実行スレッドに対して割り込みを発生し、検出された装置の装置識別情報を出力するので、通信可能な装置が検出されるごとに、検出された装置の装置識別情報を表示することができる。
好ましくは、第1のプログラムは、さらに、コンピューターにより第2のプログラムが実行されてからコンピューターが第2のプログラムを実行する第2実行スレッドが探索処理を終了するまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行スレッドに中止指示を出力する中止指示ステップを、コンピューターに実行させ、第2のプログラムは、さらに、第1実行スレッドから中止指示が入力されることに応じて、探索処理の実行を中止するステップを、コンピューターに実行させる。
この局面に従えば、コンピューターが第1のプログラムを実行する第1実行スレッドが、探索処理の実行の中止を指示する操作を受け付けると、コンピューターが第2のプログラムを実行する第2実行スレッドが探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
好ましくは、探索処理は、探索条件の異なる複数の分割処理を含み、第2のプログラムは、複数の分割処理をそれぞれ定めた複数のサブプログラムと、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドを制御するスレッド制御プログラムと、を含み、起動ステップは、操作手段により起動操作が受け付けられることに応じて、スレッド制御プログラムをコンピューターに実行させ、スレッド制御プログラムは、複数のサブプログラムをコンピューターに実行させるスレッド起動ステップと、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドのすべてが複数の分割処理のうち対応する担当分割処理を終了することを条件に、コンピューターが第1のプログラムを実行する第1実行スレッドに探索処理の終了を通知する終了通知ステップを、コンピューターに実行させ、複数のサブプログラムそれぞれは、複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行スレッドに対して割り込みを発生するとともに、第1実行スレッドに検出された装置の装置識別情報を出力する出力ステップと、をコンピューターに実行させる。
この局面に従えば、探索処理は、探索条件の異なる複数の分割処理を含み、コンピューターがスレッド制御プログラムを実行するスレッドは、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドを起動し、複数のサブスレッドのすべてが対応する担当分割処理を終了することを条件に、コンピューターが第1のプログラムを実行する第1実行スレッドに探索処理の終了を通知し、複数のサブスレッドそれぞれは、担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行スレッドに対して割り込みを発生するとともに、検出された装置の装置識別情報を出力する。このため、探索処理を、複数のスレッドで並列で実行するので、レスポンスタイムをさらに短くすることができる。
好ましくは、第1のプログラムは、さらに、コンピューターにスレッド制御プログラムを実行させてからコンピューターがスレッド制御プログラムを実行する制御スレッドから探索処理の終了が通知されるまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、制御スレッドに中止指示を出力する中止指示ステップを、コンピューターに実行させ、スレッド制御プログラムは、さらに、第1実行スレッドから中止指示が入力されることに応じて、複数のサブスレッドのうち担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを、コンピューターに実行させ、複数のサブプログラムそれぞれは、さらに、制御スレッドからサブ中止指示が入力されることに応じて、複数の分割処理のうち対応する担当分割処理の実行を中止するステップを、コンピューターに実行させる。
この局面に従えば、コンピューターが第1のプログラムを実行する第1実行スレッドが、探索処理の実行の中止を指示する操作を受け付けると、複数のサブスレッドが担当分割処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
好ましくは、第1のプログラムは、さらに、コンピューターにより第2のプログラムが実行されてからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示する探索中通知ステップを、コンピューターに実行させる。
この局面に従えば、コンピューターが第1のプログラムを実行する第1実行スレッドは、コンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示するので、ユーザーに探索処理を実行中であることを通知することができる。
この発明の他の局面によれば、探索方法は、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される探索方法であって、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムをコンピューターに実行させることにより、表示手段および操作手段を制御する第1実行ステップと、第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムをコンピューターに実行させることにより、通信可能な装置を探索する探索処理を実行する第2実行ステップと、を含み、第1実行ステップは、操作手段により起動操作が受け付けられることに応じて、コンピューターに第2のプログラムを実行させる起動ステップと、コンピューターが第2のプログラムを実行してからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示ステップと、を含む。
この局面に従えば、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした探索方法を提供することができる。
本発明の実施の形態の1つにおけるプリントシステムの全体概要を示す図である。 携帯情報装置の構成の概要の一例を示す図である。 第1の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。 第1の実施の形態における表示制御処理の流れの一例を示すフローチャートである。 第1の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。 第1の実施の形態における割込処理の流れの一例を示すフローチャートである。 第1の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。 第2の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。 第2の実施の形態における表示制御処理の流れの一例を示すフローチャートである。 第2の実施の形態におけるスレッド制御処理の流れの一例を示すフローチャートである。 第2の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。 第2の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
<第1の実施の形態>
図1は、本発明の実施の形態の1つにおけるプリントシステムの全体概要を示す図である。図1を参照して、プリントシステム1は、画像処理装置として機能するMFP100,100A,100Bと、無線局5と、MFP100,100A,100Bのいずれかを遠隔操作可能な遠隔操作装置として機能する携帯情報装置200,200A,200Bと、を含む。MFP(Multi Function Peripheral)100,100A,100B、および無線局5は、ネットワーク3に接続される。携帯情報装置200,200A,200Bは、無線局5を通して、ネットワーク3に接続される。
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
携帯情報装置200,200A,200Bは、スマートフォン、タブレット端末、PDA(Personal Digital Assistants)など、ユーザーが携帯して使用するコンピューターである。ここでは、携帯情報装置200,200A,200Bを、スマートフォンとする場合を例に説明する。携帯情報装置200,200A,200Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限り携帯情報装置200を例に説明する。
本実施の形態におけるプリントシステム1において、携帯情報装置200,200A,200Bそれぞれは、MFP100,100A,100Bを遠隔操作する。この場合、携帯情報装置200,200A,200Bそれぞれは、MFP100,100A,100Bを遠隔操作する遠隔操作装置として機能し、MFP100,100A,100Bそれぞれは、携帯情報装置200,200A,200Bいずれかによって遠隔操作される遠隔制御装置として機能する。携帯情報装置200,200A,200Bには、MFP100,100A,100Bを遠隔操作するための遠隔操作プログラム、例えば、プリンタードライバープログラムがインストールされる。遠隔操作プログラムは、MFP100,100A,100Bに共通し、MFP100,100A,100Bのいずれにも対応可能なアプリケーションプログラムである。一方、MFP100には、携帯情報装置200により遠隔操作され、処理を実行する遠隔制御プログラムがインストールされている。ここでは、携帯情報装置200がMFP100を遠隔操作する場合を例に説明する。
また、携帯情報装置200,200A,200Bは、遠隔操作の対象となる装置を決定するために、ネットワーク3に接続されているMFP100,100A,100Bを探索する処理を実行する。本実施の形態においては、MFP100,100A,100Bそれぞれは、探索サービスに用いられる複数のプロトコルのうち少なくとも1つに対応している。このため、携帯情報装置200,200A,200Bそれぞれは、複数のプロトコルそれぞれを用いてMFP100,100A,100Bを検出する。
本実施の形態においては、MFP100がSSDPのプロトコルに対応し、MFP100A,100BそれぞれがWSDのプロトコルに対応する場合を例に説明する。この場合、携帯情報装置200,200A,200Bそれぞれは、SSDPのプロトコルを用いてMFP100を検出し、WSDのプロトコルを用いてMFP100A,100Bを検出する。なお、MFP100,100A,100Bが用いるプロトコルが予め定められている場合、例えば、MFP100,100A,100BすべてがSSDPのプロトコルを用いることが予め定められている場合、携帯情報装置200,200A,200Bそれぞれは、SSDPのプロトコルでMFP100,100A,100Bを探索すれば十分である。
図2は、携帯情報装置の構成の概要の一例を示す図である。図2を参照して、本実施の形態における携帯情報装置200は、携帯情報装置200の全体を制御するためのCPU201と、カメラ202と、データを不揮発的に記憶するフラッシュメモリ203と、通話部205と接続された無線通信部204と、情報を表示する表示部206と、ユーザーの操作を受け付ける操作部207と、無線LANI/F208と、加速度センサー210と、外部記憶装置211と、を含む。
表示部206は、液晶表示装置(LCD)、有機ELD等の表示装置であり、画像を表示する。操作部207は、メインキー207Aと、タッチパネル207Bとを備える。タッチパネル207Bは、静電容量方式である。なお、タッチパネル207Bは、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
タッチパネル207Bは、検出面中でユーザーにより指示される位置を検出する。タッチパネル165の検出面は、表示部206の上面または下面に表示部206に重畳して設けられる。ここでは、タッチパネル207Bの検出面のサイズと、表示部206の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル207Bは、ユーザーが、表示部206の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU201に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル207Bが出力する座標を、表示面の座標に置き換えることができる。以下、ユーザーが表示部206の表示面を指示することによりタッチパネル207Bが検出面で検出して出力する座標を、表示部206の表示面の座標ともいう。
タッチパネル207Bは、マルチタッチ対応のタッチパネルである。このため、タッチパネル165は、ユーザーが、表示部206の表示面を一度に複数個所を複数の指で指示する場合、検出面で表示部206の表示面中でユーザーにより指示された複数の位置を検出し、検出した複数の位置をそれぞれ示す複数の座標を、CPU201に出力する。
カメラ202は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU201に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。
無線通信部204は、電話通信網に接続された携帯電話用基地局と無線通信する。無線通信部204は、携帯情報装置200を電話通信網に接続し、通話部205を用いた通話を可能とする。無線通信部204は、携帯電話用基地局から受信した無線信号を復調した音声信号を復号して通話部205に出力する。また、無線通信部204は、通話部205から入力される音声を符号化し、携帯電話用基地局に送信する。通話部205は、マイクおよびスピーカーを備え、無線通信部204から入力される音声をスピーカーから出力し、マイクから入力される音声を無線通信部204に出力する。さらに、無線通信部204は、CPU201により制御され、携帯情報装置200を電子メールサーバーに接続し、電子メールを送受信する。
無線LANI/F208は、無線局5と通信し、携帯情報装置200をネットワーク3に接続するためのインターフェースである。携帯情報装置200に、MFP100,100A,100BそれぞれのIP(Internet Protocol)アドレスを登録しておくことにより、携帯情報装置200は、MFP100,100A,100Bと通信することができ、データの送受信が可能となる。なお、本実施の形態においては、携帯情報装置200が無線LANI/F208を用いて、MFP100,100A,100Bと通信する場合を例に説明するが、他の通信方法を用いて通信するようにしてもよい。具体的には、携帯情報装置200、MFP100,100A,100Bが、例えばBluetooth(登録商標)等の近距離無線装置を搭載する場合には、携帯情報装置200が、MFP100,100A,100Bのいずれかと、1対1で通信するようにしてもよい。
フラッシュメモリ203は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ203に記録されたプログラムを、CPU201が備えるRAMにロードして実行する。
加速度センサー210は、互いに直交するX軸、Y軸およびZ軸の3方向の加速度を測定する3軸加速度センサーである。加速度センサー210は、検出した加速度をCPU201に出力する。
外部記憶装置211は、携帯情報装置200に着脱自在であり、遠隔操作プログラムを記憶したCD−ROM211Aが装着可能である。CPU201は、外部記憶装置211を介してCD−ROM211Aにアクセス可能である。CPU201は、外部記憶装置211に装着されたCD−ROM211Aに記録された遠隔操作プログラムを、CPU201が備えるRAMにロードして実行することが可能である。
なお、CPU201が実行するプログラムとして、フラッシュメモリ203またはCD−ROM211Aに記録されたプログラムについて説明したが、ネットワーク3に接続された他のコンピューターが、フラッシュメモリ203に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、携帯情報装置200が、ネットワーク3に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM211Aに限られず、光ディスク(MO(Magnetic Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
図3は、第1の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。図3に示す機能は、携帯情報装置200が備えるCPU201が第1の実施の形態における装置探索プログラムを実行することによりCPU201に形成される機能である。第1の実施の形態における装置探索プログラムは、スレッド制御のコマンドをサポートしていないプログラム言語で記述された表示制御プログラムと、スレッド制御のコマンドをサポートしているプログラム言語で記述された周辺装置探索プログラムと、を含む。
表示制御プログラムは、HTMLおよびJavaScript(登録商標)等の記述言語で記述される。表示制御プログラムは、CSS(Cascading Style Sheets)等の文書の視覚的な構造を定めるスタイルシートを含んでもよい。HTMLおよびJavaScript(登録商標)の記述言語は、それがインストールされる装置のオペレーティングシステムに依存しない汎用的なプログラムング言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合であっても携帯情報装置200,200A,200Bそれぞれに同一の表示制御プログラムをインストールすることができる。このため、表示制御プログラムを開発が容易となる。
周辺装置探索プログラムは、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述される。実際には、CPU201は、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述されたソースプログラムをコンパイルした実行ファイルを実行する。以下、周辺装置探索プログラムというときは、ソースプログラムをコンパイルした実行ファイルを含む。周辺装置探索プログラムは、それがインストールされる装置のオペレーティングシステムに依存するプログラム言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合、携帯情報装置200,200A,200Bのオペレーティングシステムにそれぞれ対応する周辺装置探索プログラムをインストールする必要がある。
図3を参照して、CPU201は、第1実行部251と、第2実行部253と、を含む。第1実行部251は、CPU201が、表示制御プログラムを実行する表示制御スレッドであり、第2実行部253は、メインスレッドにより起動され、周辺装置探索プログラムを実行する探索スレッドである。第1実行部251は、表示部206および操作部207を制御し、ユーザーの操作を受け付けるとともに、受け付けられた操作に対する応答をユーザーに通知するユーザーにインターフェースである。
第1実行部251は、操作受付部261と、起動部263と、中止指示部265と、探索中通知部267と、装置情報取得部269と、割込時表示部271と、を含む。第2実行部253は、探索部273と、出力部275と、終了通知部277と、を含む。
操作受付部261は、ユーザーが操作部207に入力する操作を受け付ける。操作受付部261は、操作部207がユーザーによる起動操作を受け付けることに応じて、起動部263および探索中通知部267に起動指示を出力する。起動操作は、CPU201に表示制御プログラムの実行を指示する操作である。例えば、表示部206に起動操作を割り当てた探索指示ボタンを表示し、タッチパネル207Bが探索指示ボタン内の位置を検出すると、起動操作を受け付ける。また、操作受付部261は、操作部207がユーザーによる中止操作を受け付けることに応じて、中止指示部265に中止指示を出力する。中止操作は、CPU201に装置探索処理の実行の中止を指示する操作である。例えば、表示部206に中止操作を割り当てた中止指示ボタンを表示し、タッチパネル207Bが中止指示ボタン内の位置を検出すると、中止操作を受け付ける。
起動部263は、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263は、CPU201に周辺装置探索プログラムの実行を指示する。第2実行部253は、CPU201が周辺装置探索プログラムを実行する探索スレッドである。起動部263は、第2実行部253を起動すると、第2実行部253を起動したことを示す信号を中止指示部265に出力する。
中止指示部265は、起動部263から第2実行部253を起動したことを示す信号が入力された後、操作受付部261から中止指示が入力されることに応じて、第2実行部253を終了させるとともに、探索中通知部267に表示中止指示を出力する。具体的には、中止指示部265は、第2実行部253を終了させるコマンドをオペレーティングシステムに出力する。これにより、第2実行部253は、オペレーティングシステムにより終了させられる。
探索部273は、起動部263により起動されることに応じて、探索処理を実行する。探索処理は、予め定められたプロトコルにしたがって、無線LANI/F208が通信可能な周辺装置を検出する処理である。具体的には、探索部273は、探索処理のために予め定められたプロトコルにしたがって、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する応答コマンドを受信する。探索部273は、探索処理のために予め定められたプロトコルが複数の場合、複数のプロトコルを順に選択し、選択した通信プロトコルで周辺装置を探索する処理を実行する。本実施の形態においては、MFP100がSSDPのプロトコルに対応し、MFP100A,100BそれぞれがWSDのプロトコルに対応している。このため、探索部273は、SSDPのプロトコルに従った探索処理と、WSDのプロトコルに従った探索処理とを実行する。
探索部273は、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、出力部275に受信された応答コマンドを出力する。出力部275は、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。
探索部273は、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。探索部273は、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを出力部275に出力し、出力部275は、応答コマンドが入力されるごとに、割り込みにより応答コマンドを第1実行部251に出力する。このため、第2実行部253によって応答コマンドが受信されるごとに、第1実行部251に応答コマンドが出力される。応答コマンドは、応答コマンドを送信してきた装置に関する情報である装置情報を含む。装置情報は、装置を識別するための装置識別情報を少なくとも含む。装置情報は、装置の種類を示す情報を含んでもよい。探索部273は、SSDPのプロトコルに従った探索処理およびWSDのプロトコルに従った探索処理のすべてを終了すると、通知指示を終了通知部277に出力する。
終了通知部277は、探索部273から終了指示が入力されることに応じて、第1実行部251に探索処理が終了したことを通知する。具体的には、第1実行部251に終了信号を出力する。
装置情報取得部269は、出力部275から割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、出力部275から出力される応答コマンドを取得する。装置情報取得部269は、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。割込時表示部271は、応答コマンドが入力されるごとに、応答コマンドに含まれる装置情報を、表示部206に表示する。表示部206の予め定められた領域に装置情報を順に並べて表示する。
探索中通知部267は、操作受付部261から起動指示が入力されることに応じて、探索処理を実行中であることをユーザーに通知する。具体的には、探索中通知部267は、表示部206にスプラッシュスクリーンを表示する。スプラッシュスクリーンは、探索処理を実行中であることを示す画像であり、例えば、砂時計を示す画像であってもよいし、所定の領域の表示態様が時間の経過に伴って変化する動画像であってもよい。探索中通知部267は、探索処理を実行中であることを示す画像を、表示部206の表示面中の一部に表示する。なお、探索処理を実行中であることを示す画像は、表示部206の表示面の全体に表示してもよい。
探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が終了したことを通知することができる。また、探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力される前に、操作受付部261から中止指示が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が途中で中止したことを通知することができる。
図4は、第1の実施の形態における表示制御処理の流れの一例を示すフローチャートである。表示制御処理は、携帯情報装置200が備えるCPU201が表示制御プログラムを実行することによりCPU201により実行される処理である。以下、CPU201が表示制御プログラムを実行するスレッドを表示制御スレッドという。表示制御プログラムは、装置探索プログラムの一部である。図4を参照して、CPU201は、操作部207が起動操作を受け付けたか否かを判断する(ステップS01)。起動操作を受け付けるまで待機状態となり(ステップS01でNO)、起動操作を受け付けたならば(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、探索スレッドを起動する。具体的には、CPU201に周辺装置探索プログラムを実行させる。以下、CPU201が周辺装置探索プログラムを実行するスレッドを探索スレッドという。次のステップS03においては、探索スレッドから終了信号が入力されたか否かを判断する。探索スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。
ステップS04においては、中止操作を受け付けたか否かを判断する。中止操作を受け付けたならば処理をステップS05に進めるが、そうでなければ処理をステップS03に戻す。ステップS05においては、ステップS01において起動した探索スレッドを終了させ、処理を終了する。
図5は、第1の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。周辺装置探索処理は、携帯情報装置200が備えるCPU201が、周辺装置探索プログラムを実行する処理である。CPU201が、周辺装置探索プログラムを実行するスレッドは、表示制御処理のステップS01において起動される探索スレッドである。図5を参照して、CPU201は、表示制御スレッドを検出する(ステップS21)。表示部206を制御するスレッドを、オペレーティングシステムに問い合わせることにより、表示制御スレッドを検出する。
次のステップS22においては、通信プロトコルを選択する。装置探索のための通信プロトコルとして予め定められたSSDPおよびWSDのプロトコルのうちから1つを選択する。そして、無線LANI/F208を介して、ステップS22において選択たされたプロトコルに対応する探索コマンドを送信する(ステップS23)。次のステップS24においては、無線LANI/F208が、ステップS23において送信された探索コマンドに応答する周辺装置が送信する応答コマンドを受信した中否かを判断する。応答コマンドを受信したならば処理をステップS25に進めるが、そうでなければ処理をステップS26に進める。ステップS25においては、ステップS21において検出された表示制御スレッドに割り込みを発生させ、応答コマンドを出力する。
次のステップS26においては、ステップS23において探索コマンドを送信してから所定時間が経過したか否かを判断する。所定時間が経過したならば処理をステップS28に進めるが、そうでなければ処理をステップS27に進める。
ステップS27においては、探索スレッドの終了を検出したか否かを判断する。オペレーティングシステムにより終了が指示されたならば探索スレッドの終了を検出する。探索スレッドの終了を検出したならば処理を終了するが、そうでなければ処理をステップS24に戻す。
ステップS28においては、装置探索のためのプロトコルとして予め定められたSSDPおよびWSDのプロトコルのうちステップS22において選択されていないプロトコルが存在するか否かを判断する。未選択のプロトコルが存在するならば処理をステップS22に戻すが、そうでなければ処理を終了する。
図6は、第1の実施の形態における割込処理の流れの一例を示すフローチャートである。割込処理は、CPU201が、割込時表示プログラムを実行することによりCPU201により実行される処理であり、表示制御処理を実行している段階で、CPU201が割り込みの発生を検出することに応じて、実行する処理である。割込時表示プログラムは、表示制御プログラムの一部である。図6を参照して、CPU201は、割り込みが発生したか否かを判断する(ステップS11)。割り込みの発生を検出するまで待機状態となり、割り込みの発生を検出したならば処理をステップS12に進める。
ステップS12においては、応答コマンドを取得する。割り込みを発生させた探索スレッドが出力する応答コマンドを取得する。そして、取得された応答コマンドに含まれる装置情報を表示部206に表示し、処理を終了する。
図7は、第1の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。図7を参照して、縦方向上から下に向かって時間の流れを示し、表示制御スレッド、探索スレッド、MFP100,100A,100Bそれぞれが送受信するデータを矢印で示している。
まず、表示制御スレッドが探索スレッドを起動とともに、探索処理を実行中であることを示す画像を表示する。探索スレッドは、表示制御スレッドにより起動されると、SSDPのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてSSDPのプロトコルに従った探索コマンドが受信される。MFP100は、SSDPのプロトコルに対応しているので、MFP100が探索コマンドに応答して、応答コマンドを探索スレッドに返信する。一方、MFP100A,100Bは、SSDPのプロトコルに対応していないので、探索コマンドを無視する。探索スレッドは、MFP100から受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。
次に、探索スレッドは、SSDPのプロトコルに従った探索処理が終了すると、WSDのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてWSDのプロトコルに従った探索コマンドが受信される。MFP100は、WSDのプロトコルに対応していないので、探索コマンドを無視する。MFP100A,100Bは、SSDPのプロトコルに対応しているので、MFP100A,100Bそれぞれが探索コマンドに応答して、応答コマンドを探索スレッドに返信する。探索スレッドは、MFP100Aから受信される応答コマンドを、割り込みにより表示制御スレッドに出力し、MFP100Bから受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。
探索スレッドは、WSDのプロトコルに従った探索処理が終了すると、終了信号を表示制御スレッドに出力し、処理を終了する。終了信号が入力される表示制御スレッドは、探索処理を実行中であることを示す画像の表示を中止する。
以上説明したように、第1の実施の形態における携帯情報装置は、情報処理装置として機能し、スレッド制御の命令をサポートしていない記述言語で記述された表示制御プログラムを実行することにより、表示部206および操作部207を制御する第1実行部251と、スレッド制御の命令をサポートしているプログラム言語で記述された周辺装置探索プログラムを実行することにより、通信可能な装置を探索する第2実行部253と、を備る。第1実行部251は、操作部251により起動操作が受け付けられることに応じて、第2実行部253を起動し、第2実行部253が起動されてから探索処理が終了する前に、第2実行部253によって探索された通信可能な装置の装置識別情報を取得し、表示する。このため、ユーザーによる起動操作を受け付けてから装置識別情報を表示するまでの時間を短くすることができる。その結果、スレッド制御の命令をサポートしていないプログラム言語で記述された表示制御プログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くすることができる。また、表示制御プログラムは、オペレーティングシステムに依存しない記述言語で記述されるので、1種類を作成すればよいので、開発が容易である。
また、第2実行部253は、通信可能な装置を検出するごとに、第1実行部251に対して割り込みを発生するとともに、第1実行部251に検出された装置の装置識別情報を出力する。このため、第1実行部251は、通信可能な装置が検出されるごとに、検出された装置の装置識別情報を表示することができる。
また、表示制御プログラムを実行する第1実行部251が、探索処理の実行の中止を指示する操作を受け付けると、周辺装置探索プログラムを実行する第2実行部253が探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示部206に表示する。このため、ユーザーに探索処理を実行中であることを通知することができる。
なお、第1の実施の形態において、探索部273は、装置探索のための複数のプロトコルにそれぞれに対応する探索処理を順に実行するようにした。これとは別に、探索部273は、ネットワークアドレスをサブネットマスクで複数に細分化し、細分化された複数のサブネットマスクそれぞれに対応する探索処理を順に実行するようにしてもよい。この場合、探索部273は、複数のサブネットマスクの数と同じ数の探索処理を順に実行する。また、探索の対象となる複数の装置が予め定められている場合には、探索部273が複数の装置それぞれを探索する探索処理を順に実行するようにしてもよい。この場合には、探索部273は、複数の装置の数と同じ数の探索処理を順に実行する。さらに、複数の装置をグループ化し、探索部273が、複数のグループそれぞれに対応する探索処理を実行するようにしてもよい。この場合には、探索部273は、複数のグループの数と同じ数の探索処理を順に実行する。
<第2の実施の形態>
第2の実施の形態におけるプリントシステムの全体概要は、図1に示した全体概要と同じである。また、第2の実施の形態における携帯情報装置200の構成は、図2に示した構成と同じである。したがって、ここでは説明を繰り返さない。
第2の実施の形態における携帯情報装置200は、複数の探索処理をそれぞれ実行する複数の探索スレッドを起動する点で第1の実施の形態における携帯情報装置200と、異なる。第1の実施の形態における携帯情報装置200は、SSDPのプロトコルおよびWSDのプロトコルのいずれかに従って探索処理を実行した後、別のプロトコルのプロトコルに従って探索処理を実行する。第2の実施の形態における携帯情報装置200は、SSDPのプロトコルに対応する探索処理を実行する探索スレッドと、WSDのプロトコルに対応する探索処理を実行する探索スレッドと、を並列で起動する。
図8は、第2の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。図8に示す機能は、携帯情報装置200が備えるCPU201が第2の実施の形態における装置探索プログラムを実行することによりCPU201に形成される機能である。第2の実施の形態における装置探索プログラムは、スレッド制御のコマンドをサポートしていないプログラム言語で記述された表示制御プログラムと、スレッド制御のコマンドをサポートしているプログラム言語で記述されたスレッド制御プログラムおよび周辺装置探索プログラムと、を含む。
表示制御プログラムは、HTMLおよびJavaScript(登録商標)等の記述言語で記述される。表示制御プログラムは、CSS(Cascading Style Sheets)等の文書の視覚的な構造を定めるスタイルシートを含んでもよい。HTMLおよびJavaScript(登録商標)の記述言語は、それがインストールされる装置のオペレーティングシステムに依存しない汎用的なプログラムング言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合であっても携帯情報装置200,200A,200Bそれぞれに同一の表示制御プログラムをインストールすることができる。
スレッド制御プログラムおよび周辺装置探索プログラムは、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述される。実際には、CPU201は、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述されたソースプログラムをコンパイルした実行ファイルを実行する。以下、スレッド制御プログラムおよび周辺装置探索プログラムというときは、それらのソースプログラムをコンパイルした実行ファイルを含む。スレッド制御プログラムおよび周辺装置探索プログラムは、それらがインストールされる装置のオペレーティングシステムに依存するプログラム言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合、携帯情報装置200,200A,200Bのオペレーティングシステムにそれぞれ対応するスレッド制御プログラムおよび周辺装置探索プログラムをインストールする必要がある。
図8を参照して、第2の実施の形態における携帯情報装置200が備えるCPU201が有する機能が、図3に示した機能と異なる点は、第1実行部251の起動部263および装置情報取得部269が、起動部263Aおよび装置情報取得部269Aに変更された点、第2実行部253が、第2実行部255、第1サブ実行部253Aおよび第2サブ実行部253Bに変更された点である。その他の機能は、図3に示した機能と同じなので、ここでは説明を繰り返さない。
起動部263Aは、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263Aは、CPU201にスレッド制御プログラムの実行を指示する。第2実行部255は、CPU201がスレッド制御プログラムを実行するスレッド制御スレッドである。起動部263Aは、第2実行部255を起動すると、第2実行部255を起動したことを示す信号を中止指示部265に出力する。
第2実行部255は、スレッド起動部281と、サブ中止指示部283と、終了通知部285と、を含む。スレッド起動部281は、起動部263Aにより第2実行部253が起動されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bを起動する。具体的には、スレッド起動部281は、CPU201にSSDPのプロトコルに対応する周辺装置探索プログラムの実行を指示するとともに、CPU201にWSDのプロトコルに対応する周辺装置探索プログラムの実行を指示する。これにより、CPU201は、第1サブ実行部253Aおよび第2サブ実行部253Bを形成する。
第1サブ実行部253Aは、CPU201がSSDPのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。第2サブ実行部253Bは、CPU201がWSDのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。スレッド起動部281は、第1サブ実行部253Aおよび第2サブ実行部253Bを起動することに応じて、それらを識別するためのスレッド識別情報をサブ中止指示部283および終了通知部285に出力する。
なお、ここでは、SSDPのプロトコルに対応するサブ探索スレッドと、およびWSDのプロトコルに対応するサブ探索スレッドとを起動する場合を例に説明するが、スレッド起動部281は、装置探索のために予め定められたプロトコルの数と同じ数のサブ探索スレッドを起動する。
第1サブ実行部253Aは、第1探索部273Aと、第1出力部275Aと、第1サブ終了通知部277Aと、を含む。第1探索部273Aは、スレッド起動部281により起動されることに応じて、SSDPのプロトコルに対応する第1探索処理を実行する。具体的には、第1探索部273Aは、SSDPのプロトコルに従って、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する、SSDPのプロトコルに従った応答コマンドを受信する。
第1探索部273Aは、無線LANI/F208が探索コマンドに応答する周辺装置から応答コマンドを受信することに応じて、第1出力部275Aに受信された応答コマンドを出力する。第1探索部273Aは、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。第1探索部273Aは、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを第1出力部275Aに出力する。第1探索部273Aは、第1の種類のプロトコルに対応する探索処理を終了すると、終了信号を第1サブ終了通知部277Aに出力する。
第1出力部275Aは、第1探索部273Aから応答コマンドが入力されることに応じて、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第1出力部275Aは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第1出力部275Aは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。
第1サブ終了通知部277Aは、第1探索部273Aから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第1の探索処理が終了したことを通知する。具体的には、第1サブ終了通知部277Aは、終了通知部285にサブ終了信号を出力する。
第2サブ実行部253Bは、第2探索部273Bと、第2出力部275Bと、第2サブ終了通知部277Bと、を含む。第2探索部273Bは、スレッド起動部281により起動されることに応じて、WSDのプロトコルに対応する第2探索処理を実行する。具体的には、第2探索部273Bは、WSDのプロトコルに従って、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する、WSDのプロトコルに従った応答コマンドを受信する。
第2探索部273Bは、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、第2出力部275Bに受信された応答コマンドを出力する。第2探索部273Bは、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。第2探索部273Bは、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを第2出力部275Bに出力する。第2探索部273Bは、第2の種類のプロトコルに対応する探索処理を終了すると、終了信号を第2サブ終了通知部277Bに出力する。
第2出力部275Bは、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第2出力部275Bは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第2出力部275Bは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。
第2サブ終了通知部277Bは、第2探索部273Bから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第2の探索処理が終了したことを通知する。具体的には、第2サブ終了通知部277Bは、終了通知部285にサブ終了信号を出力する。
終了通知部285は、スレッド起動部281からスレッド起動部281により起動された探索スレッドのスレッド識別情報が入力される。ここでは、終了通知部285は、スレッド起動部281から第1サブ実行部253Aのスレッド識別情報と第2サブ実行部253Bのスレッド識別情報と、が入力される。
終了通知部285は、スレッド起動部281により起動されたすべての探索スレッドが終了することに応じて、探索中通知部267に終了信号を出力する。具体的には、終了通知部285は、第1サブ終了通知部277Aからサブ終了信号が入力され、かつ、第2サブ終了通知部277Bからサブ終了信号が入力されることに応じて、探索中通知部267に終了信号を出力する。
また、終了通知部285は、第1サブ終了通知部277Aからサブ終了信号が入力されることに応じて、第1サブ実行部253Aのスレッド識別情報を含む第1終了信号をサブ中止指示部283に出力する。終了通知部285は、第2サブ終了通知部277Bからサブ終了信号が入力されることに応じて、第2サブ実行部253Bのスレッド識別情報を含む第2終了信号をサブ中止指示部283に出力する。
中止指示部265が第2実行部255を終了させる場合、第2実行部255は、オペレーティングシステムによって終了される。サブ中止指示部283は、オペレーティングシステムにより終了される場合、第1サブ実行部253Aおよび第2サブ実行部253Bを終了させる。具体的には、サブ中止指示部283は、スレッド起動部281から第1サブ実行部253Aのスレッド識別情報が入力される場合、第1サブ実行部253Aが起動したことを検出する。サブ中止指示部283は、スレッド起動部281から第2サブ実行部253Bのスレッド識別情報が入力される場合、第2サブ実行部253Aが起動したことを検出する。また、サブ中止指示部283は、終了通知部285から第1終了信号が入力される場合、第1サブ実行部253Aが探索処理を終了したことを検出し、終了通知部285から第2終了信号が入力される場合、第2サブ実行部253Bが探索処理を終了したことを検出する。サブ中止指示部283は、オペレーティングシステムにより終了される場合、第1サブ実行部253Aが終了していない場合は第1サブ実行部253Aを終了させ、第2サブ実行部253Aが終了していない場合は第2サブ実行部253Bを終了させる。
サブ中止指示部283は、第1サブ実行部253Aを終了させる場合、第1サブ実行部253Aを終了させるコマンドをオペレーティングシステムに出力し、第2サブ実行部253Bを終了させる場合、第2サブ実行部253Bを終了させるコマンドをオペレーティングシステムに出力する。なお、サブ中止指示部283は、第1サブ実行部253Aを終了させる場合、第1サブ実行部253Aに終了コマンドを出力するようにし、第2サブ実行部253Bを終了させる場合、第2サブ実行部253Bに終了コマンドを出力するようにしてもよい。この場合、第1サブ実行部253Aおよび第2サブ実行部253Bそれぞれは、第2実行部255が有するサブ中止指示部283から終了コマンドが入力されることに応じて、第1の探索処理または第2の探索処理をそれぞれ終了する。
装置情報取得部269Aは、第1出力部275Aおよび第2出力部275Bそれぞれから割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、第1出力部275Aから出力される応答コマンドまたは第2出力部275Bから出力される応答コマンドを取得する。装置情報取得部269Aは、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。
図9は、第2の実施の形態における表示制御処理の流れの一例を示すフローチャートである。第2の実施の形態における表示制御処理は、携帯情報装置200が備えるCPU201が表示制御プログラムを実行することによりCPU201により実行される処理である。図9を参照して、CPU201は、操作部207が起動指示を受け付けたか否かを判断する(ステップS01)。起動指示を受け付けるまで待機状態となり(ステップS01でNO)、起動指示を受け付けたならば(ステップS01でYES)、処理をステップS02Aに進める。
ステップS02Aにおいては、スレッド制御スレッドを起動する。具体的には、CPU201にスレッド制御プログラムを実行させる。以下、CPU201がスレッド制御プログラムを実行するスレッドをスレッド制御スレッドという。次のステップS03Aにおいては、スレッド制御スレッドから終了信号が入力されたか否かを判断する。スレッド制御スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。
ステップS04においては、中止操作を受け付けたか否かを判断する。中止操作を受け付けたならば処理をステップS05Aに進めるが、そうでなければ処理をステップS03Aに戻す。ステップS05Aにおいては、ステップS01において起動したスレッド制御スレッドを終了させ、処理を終了する。
第2の実施の形態における携帯情報装置200が備えるCPU201は、図9に示した第2の実施の形態における表示制御処理を実行している間、図6に示した割込処理と同様の処理を実行する。
図10は、第2の実施の形態におけるスレッド制御処理の流れの一例を示すフローチャートである。スレッド制御処理は、携帯情報装置200が備えるCPU201が、スレッド制御プログラムを実行することによりCPU201が実行する処理である。携帯情報装置200が備えるCPU201が、スレッド制御プログラムを実行するスレッドは、表示制御処理のステップS01において起動されるスレッド制御スレッドである。図10を参照して、CPU201は、装置探索のためのプロトコルを選択する(ステップS31)。装置探索のためのプロトコルとして予め定められたSSDPおよびWSDのうちから1つを選択する。次のステップS32においては、ステップS31において選択されたプロトコルに対応する装置探索処理を実行するサブ探索スレッドを起動する。具体的には、CPU201に、ステップS31において選択されたプロトコルに対応する周辺装置探索プログラムを実行させる。以下、CPU201が装置探索プロトコルに対応する周辺装置探索プログラムを実行するスレッドをサブ探索スレッドという。次のステップS33においては、ステップS32において起動したサブ探索スレッドのスレッド識別情報を取得する。次のステップS34においては、装置探索のためのプロトコルとして予め定められたSSDPおよびWSDのうち、ステップS31において選択されていないプロトコルが存在するか否かを判断する。そのようなプロトコルが存在するならば処理をステップS31に戻し、存在しなければ処理をステップS35に進める。
ステップS35においては、ステップS32において起動したサブ探索スレッドのすべてが終了したか否かを判断する。サブ探索スレッドのすべてが終了したならば処理を終了するが、そうでなければ処理をステップS36に進める。
ステップS36においては、スレッド制御スレッドの終了を検出したか否かを判断する。オペレーティングシステムにより終了が指示されたならばスレッド制御スレッドの終了を検出する。スレッド制御スレッドの終了を検出したならば処理をステップS37に進めるが、そうでなければ処理をステップS35に戻す。
ステップS37においては、ステップS32において起動したサブ探索スレッドのうち終了していないサブ探索スレッドのすべてを終了させ、処理を終了する。
図11は、第2の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。第2の実施の形態における周辺装置探索処理は、携帯情報装置200が備えるCPU201が、第2の実施の形態における周辺装置探索プログラムを実行することによりCPU201により実行される処理である。CPU201が、第2の実施の形態における周辺装置探索プログラムを実行するスレッドは、スレッド制御処理のステップS32において起動されるサブ探索スレッドである。図11を参照して、図5に示した第1の実施の形態における周辺装置探索処理と異なる点は、ステップS22およびステップS28が削除された点、ステップS23およびステップS24がステップS23AおよびステップS24Aに変更された点である。その他の処理は、図5に示した処理と同じなので、ここでは説明を繰り返さない。ステップS23Aにおいては、第2の実施の形態における装置探索プログラムに割り当てられたプロトコルに対応する探索コマンドを送信する。ステップS24においては、第2の実施の形態における装置探索プログラムに割り当てられたプロトコルに対応する応答コマンドを受信したか否かを判断する。
図12は、第2の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。図12を参照して、縦方向上から下に向かって時間の流れを示し、表示制御スレッド、スレッド制御スレッド、SSDPのプロトコルに対応する第1探索スレッド、WSDのプロトコルに対応する第2探索スレッド、MFP100,100A,100Bそれぞれが送受信するデータを矢印で示している。
まず、表示制御スレッドがスレッド制御スレッドを起動するとともに、探索処理を実行中であることを示す画像を表示する。スレッド制御スレッドは、表示制御スレッドにより起動されると、第1探索スレッドおよび第2探索スレッドを起動する。第1探索スレッドは、スレッド制御スレッドにより起動されるとSSDPのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてSSDPのプロトコルに従った探索コマンドが受信される。MFP100は、SSDPのプロトコルに対応しているので、MFP100が探索コマンドに応答して、応答コマンドを第1探索スレッドに返信する。一方、MFP100A,100Bは、SSDPのプロトコルに対応していないので、探索コマンドを無視する。第1探索スレッドは、MFP100から受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。第1探索スレッドは、SSDPのプロトコルに従った探索処理が終了すると、サブ終了信号をスレッド制御スレッドに出力し、処理を終了する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。
一方、第2探索スレッドは、スレッド制御スレッドにより起動されるとWSDのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてWSDのプロトコルに従った探索コマンドが受信される。MFP100は、WSDのプロトコルに対応していないので、探索コマンドを無視する。MFP100A,100Bは、WSDのプロトコルに対応しているので、MFP100A,100Bそれぞれが探索コマンドに応答して、応答コマンドを第2探索スレッドに返信する。第2探索スレッドは、MFP100Aから受信される応答コマンドを、割り込みにより表示制御スレッドに出力し、MFP100Bから受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。第2探索スレッドは、WSDのプロトコルに従った探索処理が終了すると、サブ終了信号をスレッド制御スレッドに出力し、処理を終了する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。
スレッド制御スレッドは、第1探索スレッドからサブ終了信号が入力され、かつ、第2探索スレッドからサブ終了信号が入力されると、表示制御スレッドに終了信号を出力する。終了信号が入力される表示制御スレッドは、探索処理を実行中であることを示す画像の表示を中止する。
第2の実施の形態における携帯情報装置200において、探索処理は、SSDPのプロトコルに対応する探索処理と、SSDPとは探索条件の異なるWSDのプロトコルに対応する探索処理を含み、第2実行部253は、第1実行部251により起動されることに応じて、SSDPのプロトコルに対応する探索処理を実行する第1サブ実行部253Aと、SSDPとは探索条件の異なるWSDのプロトコルに対応する探索処理複数の分割処理を実行する第2サブ実行部253Bを起動し、第1サブ実行部253AがSSDPのプロトコルに対応する探索処理を終了し、かつ第2サブ実行部253BがWSDのプロトコルに対応する探索処理を終了することを条件に、第1実行部251に探索処理の終了を通知する。第1サブ実行部253Aおよび第2サブ実行部253Bそれぞれは、通信可能な装置を検出するごとに、第1実行部251に対して割り込みを発生するとともに、第1実行部251に検出された装置の装置識別情報を出力する。このため、探索処理を、複数の分割処理に分割して並列で実行するので、第1の実施の形態における携帯情報装置200よりもレスポンスタイムをさらに短くすることができる。
また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間に、操作部207により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行部253に中止指示を出力し、第2実行部253は、中止指示が入力されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bにサブ中止指示を出力し、第1サブ実行部253Aおよび第2サブ実行部253Bそれぞれは、さらに、第2実行部253からサブ中止指示が入力されることに応じて、探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
なお、第2の実施の形態において、第2実行部255が起動する複数のサブ探索スレッドは、装置探索のための複数のプロトコルそれぞれに対応するようにした。これとは別に、第2実行部255が起動する複数のサブ探索スレッドを、ネットワークアドレスをサブネットマスクで複数に細分化し、細分化された複数のサブネットマスクそれぞれに対応させるようにしてもよい。この場合、第2実行部255は、複数のサブネットマスクの数と同じ数のサブ探索スレッドを起動する。また、探索の対象となる複数の装置が予め定められている場合には、第2実行部255が起動する複数のサブ探索スレッドを複数の装置それぞれに対応させるようにしてもよい。この場合には、第2実行部255は、複数の装置の数と同じ数のサブ探索スレッドを起動する。さらに、複数の装置をグループ化し、第2実行部255が起動する複数のサブ探索スレッドを複数のグループそれぞれに対応させるようにしてもよい。この場合には、第2実行部255は、複数のグループの数と同じ数のサブ探索スレッドを起動する。
なお、上述した実施の形態においては、情報処理装置の一例として、携帯情報装置200を例に説明したが、図4〜図6、または、図9〜図11に示した装置探索処理を、携帯情報装置200に実行させる装置探索方法、およびその装置探索方法を携帯情報装置200を制御するCPU201に実行させる装置探索プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記第2実行ステップは、通信可能な装置を検出するごとに、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップを含む、請求項13に記載の探索方法。
(2) 前記第1実行ステップは、前記コンピューターが前記第2のプログラムを実行してから前記コンピューターが前記第2のプログラムを実行する第2実行スレッドが前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記第2実行スレッドに中止指示を出力する中止指示ステップを、含み、
前記第2実行ステップは、前記第1実行スレッドから中止指示が入力されることに応じて、前記探索処理の実行を中止するステップを含む、(1)に記載の探索方法。
(3) 前記探索処理は、探索条件の異なる複数の分割処理を含み、
前記第2のプログラムは、前記複数の分割処理をそれぞれ定めた複数のサブプログラムと、前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドを制御するスレッド制御プログラムと、を含み、
前記起動ステップは、前記操作手段により前記起動操作が受け付けられることに応じて、前記スレッド制御プログラムを前記コンピューターに実行させ、
前記第2実行ステップは、前記複数のサブプログラムを前記コンピューターに実行させるスレッド起動ステップと、
前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドのすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに前記探索処理の終了を通知する終了通知ステップと、を含み、
前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドそれぞれに、前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップを、実行させる、請求項13に記載の探索方法。
(4) 前記第1実行ステップは、前記コンピューターが前記第2のプログラムを実行してから前記コンピューターが前記第2のプログラムを実行する第2実行スレッドが前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記コンピューターが前記第2のプログラムを実行する第2実行スレッドに中止指示を出力する中止指示ステップを、含み、
前記第2実行ステップは、前記コンピューターが前記第1のプログラムを実行する前記第1実行スレッドから中止指示が入力されることに応じて、前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドのうち前記担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを含み、
前記複数のサブスレッドそれぞれは、さらに、前記第2実行スレッドからサブ中止指示が入力されることに応じて、前記担当分割処理の実行を中止するステップを実行させる、(3)に記載の探索方法。
(5) 前記第1実行ステップは、前記コンピューターが前記第2のプログラムを実行してから前記コンピューターが前記第2のプログラムを実行する第2実行スレッドが前記探索処理を終了するまでの間、前記探索処理を実行中であることを示す画像を表示する探索中通知ステップを、さらに含む、請求項13、(1)〜(4)のいずれかに記載の探索方法。
1 プリントシステム、3 LAN、5 無線局、100,100A,100B MFP、200,200A,200B 携帯情報装置、201 CPU、202 カメラ、203 フラッシュメモリ、204 無線通信部、205 通話部、206 表示部、207 操作部、207A メインキー、207B タッチパネル、210 加速度センサー、211 外部記憶装置、251 第1実行部、253,255 第2実行部、253A 第1サブ実行部、253B 第2サブ実行部、261 操作受付部、263 起動部、263A 起動部、265 中止指示部、267 探索中通知部、269,269A 装置情報取得部、271 割込時表示部、273 探索部、273A 第1探索部、273B 第2探索部、275 出力部、275A 第1出力部、275B 第2出力部、277 終了通知部、277A 第1サブ終了通知部、277B 第2サブ終了通知部、281 スレッド起動部、283 サブ中止指示部、285 終了通知部。

Claims (13)

  1. 画像を表示する表示手段と、
    ユーザーによる操作を受け付ける操作手段と、
    スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行することにより、前記表示手段および前記操作手段を制御する第1実行手段と、
    前記第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを実行することにより、通信可能な装置を探索する探索処理を実行する第2実行手段と、を備え、
    前記第1実行手段は、前記操作手段により起動操作が受け付けられることに応じて、前記第2実行手段を起動する起動手段と、
    前記第2実行手段が起動されてから前記探索処理が終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得手段と、
    前記装置情報取得手段により前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示手段と、を含む情報処理装置。
  2. 前記第2実行手段は、通信可能な装置を検出するごとに、前記第1実行手段に対して割り込みを発生するとともに、前記第1実行手段に前記検出された装置の装置識別情報を出力する出力手段を含む、請求項1に記載の情報処理装置。
  3. 前記第1実行手段は、前記第2実行手段が起動されてから前記第2実行手段が前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記第2実行手段に中止指示を出力する中止指示手段を、含み、
    前記第2実行手段は、前記第1実行手段から中止指示が入力されることに応じて、前記探索処理の実行を中止する、請求項2に記載の情報処理装置。
  4. 前記探索処理は、探索条件の異なる複数の分割処理を含み、
    前記第2実行手段は、前記第1実行手段により起動されることに応じて、前記複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動するスレッド起動手段と、
    前記起動された複数のサブ実行手段のすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記第1実行手段に前記探索処理の終了を通知する終了通知手段と、を備え、
    前記複数のサブ実行手段それぞれは、
    前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行手段に対して割り込みを発生するとともに、前記第1実行手段に前記検出された装置の装置識別情報を出力する出力手段と、を含む、請求項1に記載の情報処理装置。
  5. 前記第1実行手段は、前記第2実行手段が起動されてから前記第2実行手段が前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記第2実行手段に中止指示を出力する中止指示手段を、含み、
    前記第2実行手段は、前記第1実行手段から中止指示が入力されることに応じて、前記複数のサブ実行手段のうち前記担当分割処理を終了していないサブ実行手段にサブ中止指示を出力するサブ中止指示手段を含み、
    前記複数のサブ実行手段それぞれは、さらに、前記第2実行手段からサブ中止指示が入力されることに応じて、前記担当分割処理の実行を中止する、請求項4に記載の情報処理装置。
  6. 前記第1実行手段は、前記第2実行手段が起動されてから前記第2実行手段が前記探索処理を終了するまでの間、前記探索処理を実行中であることを示す画像を表示する探索中通知手段を、さらに含む、請求項1〜5のいずれかに記載の情報処理装置。
  7. 画像を表示する表示手段と、
    ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索プログラムであって、
    スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムと、前記第1の種類とは異なる第2の種類のプログラム言語で記述され、通信可能な装置を探索する探索処理を定めた第2のプログラムと、を含み、
    前記第1のプログラムは、前記操作手段により起動操作が受け付けられることに応じて、前記第2のプログラムを前記コンピューターに実行させる起動ステップと、
    前記コンピューターにより前記第2のプログラムが実行されてから前記コンピューターが前記第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、
    前記装置情報取得ステップにおいて前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示ステップと、を前記コンピューターに実行させる、装置探索プログラム。
  8. 前記第2のプログラムは、さらに、通信可能な装置を検出するごとに、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップを、前記コンピューターに実行させる、請求項7に記載の装置探索プログラム。
  9. 前記第1のプログラムは、さらに、前記コンピューターにより前記第2のプログラムが実行されてから前記コンピューターが前記第2のプログラムを実行する第2実行スレッドが前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記第2実行スレッドに中止指示を出力する中止指示ステップを、前記コンピューターに実行させ、
    前記第2のプログラムは、さらに、前記第1実行スレッドから中止指示が入力されることに応じて、前記探索処理の実行を中止するステップを、前記コンピューターに実行させる、請求項8に記載の装置探索プログラム。
  10. 前記探索処理は、探索条件の異なる複数の分割処理を含み、
    前記第2のプログラムは、前記複数の分割処理をそれぞれ定めた複数のサブプログラムと、前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドを制御するスレッド制御プログラムと、を含み、
    前記起動ステップは、前記操作手段により前記起動操作が受け付けられることに応じて、前記スレッド制御プログラムを前記コンピューターに実行させ、
    前記スレッド制御プログラムは、前記複数のサブプログラムを前記コンピューターに実行させるスレッド起動ステップと、
    前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドのすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに前記探索処理の終了を通知する終了通知ステップを、前記コンピューターに実行させ、
    前記複数のサブプログラムそれぞれは、
    前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップと、を前記コンピューターに実行させる、請求項7に記載の装置探索プログラム。
  11. 前記第1のプログラムは、さらに、前記コンピューターに前記スレッド制御プログラムを実行させてから前記コンピューターが前記スレッド制御プログラムを実行する制御スレッドから前記探索処理の終了が通知されるまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記制御スレッドに中止指示を出力する中止指示ステップを、前記コンピューターに実行させ、
    前記スレッド制御プログラムは、さらに、前記第1実行スレッドから中止指示が入力されることに応じて、前記複数のサブスレッドのうち前記担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを、前記コンピューターに実行させ、
    前記複数のサブプログラムそれぞれは、さらに、前記制御スレッドからサブ中止指示が入力されることに応じて、前記複数の分割処理のうち対応する担当分割処理の実行を中止するステップを、前記コンピューターに実行させる、請求項10に記載の装置探索プログラム。
  12. 前記第1のプログラムは、さらに、前記コンピューターにより第2のプログラムが実行されてから前記コンピューターが第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間、前記探索処理を実行中であることを示す画像を表示する探索中通知ステップを、前記コンピューターに実行させる、請求項7〜11のいずれかに記載の装置探索プログラム。
  13. 画像を表示する表示手段と、
    ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索方法であって、
    スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを前記コンピューターに実行させることにより、前記表示手段および前記操作手段を制御する第1実行ステップと、
    前記第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを前記コンピューターに実行させることにより、通信可能な装置を探索する探索処理を実行する第2実行ステップと、を含み、
    前記第1実行ステップは、前記操作手段により起動操作が受け付けられることに応じて、前記コンピューターに前記第2のプログラムを実行させる起動ステップと、
    前記コンピューターが前記第2のプログラムを実行してから前記コンピューターが前記第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、
    前記装置情報取得ステップにおいて前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示ステップと、を含む装置探索方法。
JP2016012339A 2016-01-26 2016-01-26 情報処理装置、装置探索プログラムおよび探索方法 Active JP6642039B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016012339A JP6642039B2 (ja) 2016-01-26 2016-01-26 情報処理装置、装置探索プログラムおよび探索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016012339A JP6642039B2 (ja) 2016-01-26 2016-01-26 情報処理装置、装置探索プログラムおよび探索方法

Publications (2)

Publication Number Publication Date
JP2017134496A true JP2017134496A (ja) 2017-08-03
JP6642039B2 JP6642039B2 (ja) 2020-02-05

Family

ID=59502786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016012339A Active JP6642039B2 (ja) 2016-01-26 2016-01-26 情報処理装置、装置探索プログラムおよび探索方法

Country Status (1)

Country Link
JP (1) JP6642039B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330900A (ja) * 2002-05-09 2003-11-21 Nec Corp アプリケーション並列処理システム及びアプリケーション並列処理方法
JP2009037404A (ja) * 2007-08-01 2009-02-19 Canon Inc 電子文書管理システム
JP2011076171A (ja) * 2009-09-29 2011-04-14 Brother Industries Ltd インターネットに接続される端末装置
JP2013250915A (ja) * 2012-06-04 2013-12-12 Canon Inc サービス提供装置、情報処理装置、画像形成装置、印刷システムの制御方法、およびコンピュータプログラム
JP2014157604A (ja) * 2013-02-15 2014-08-28 Samsung Electronics Co Ltd 端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330900A (ja) * 2002-05-09 2003-11-21 Nec Corp アプリケーション並列処理システム及びアプリケーション並列処理方法
JP2009037404A (ja) * 2007-08-01 2009-02-19 Canon Inc 電子文書管理システム
JP2011076171A (ja) * 2009-09-29 2011-04-14 Brother Industries Ltd インターネットに接続される端末装置
JP2013250915A (ja) * 2012-06-04 2013-12-12 Canon Inc サービス提供装置、情報処理装置、画像形成装置、印刷システムの制御方法、およびコンピュータプログラム
JP2014157604A (ja) * 2013-02-15 2014-08-28 Samsung Electronics Co Ltd 端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法

Also Published As

Publication number Publication date
JP6642039B2 (ja) 2020-02-05

Similar Documents

Publication Publication Date Title
JP6115152B2 (ja) 情報処理システム、情報処理装置、情報処理端末及びプログラム
JP5708589B2 (ja) 画像処理連携システム、画像処理連携方法、携帯端末装置、画像処理装置及び連携プログラム
JP6365197B2 (ja) 遠隔操作支援プログラム、遠隔操作支援方法、情報処理装置
JP5435010B2 (ja) 画像処理システム、画像処理装置、携帯情報装置、画像処理装置連携方法、携帯情報装置連携方法、画像処理装置連携プログラム、および携帯情報装置連携プログラム
US10491764B2 (en) Information-processing apparatus, control method of information-processing apparatus, program, recording medium, portable terminal, and information-processing system
JP5742651B2 (ja) 画像処理装置、連携方法および連携プログラム
US9560224B2 (en) Remote control device, remote operation device, screen transmission control method, and non-transitory computer-readable recording medium encoded with screen display control program
JP5900433B2 (ja) 画像形成装置、遠隔操作装置、遠隔制御方法、遠隔操作方法、遠隔制御プログラムおよび遠隔操作プログラム
US10412564B2 (en) Apparatus, method, and system for displaying antenna location of communication terminal, and recording medium
JP2016163280A (ja) 通信装置及びその制御方法と、プログラム
EP2784661B1 (en) Computer program product, information processing method, and information processing apparatus
JP2013162387A (ja) 画像処理システム、画像処理装置、画像処理装置連携方法、および画像処理装置連携プログラム
US20160274854A1 (en) Apparatus, system, and method of providing screen data
JP6182919B2 (ja) 通信プログラムおよび通信装置
JP5879889B2 (ja) 画像処理装置、連携方法および連携プログラム
US10757275B2 (en) Information processing apparatus, method of controlling information processing apparatus, and program
JP6133564B2 (ja) 電子機器、制御方法、及び制御プログラム
JP6451337B2 (ja) 情報処理システム及び通信方法
JP6319234B2 (ja) 遠隔制御システム、画像処理装置、遠隔制御方法、および遠隔制御プログラム
JP2017060030A (ja) 遠隔制御システム、画像処理装置、遠隔制御方法、および遠隔制御プログラム
JP6642039B2 (ja) 情報処理装置、装置探索プログラムおよび探索方法
JP2016167742A (ja) 画像形成システム、画像形成装置、遠隔制御方法および遠隔制御プログラム
JP6344233B2 (ja) 画像形成システム、画像形成装置、遠隔制御方法および遠隔制御プログラム
JP6176233B2 (ja) 遠隔制御装置、遠隔制御方法および遠隔制御プログラム
JP6812873B2 (ja) プログラム及び情報処理端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191018

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: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191216

R150 Certificate of patent or registration of utility model

Ref document number: 6642039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150