JP6642039B2 - Information processing apparatus, apparatus search program, and search method - Google Patents

Information processing apparatus, apparatus search program, and search method Download PDF

Info

Publication number
JP6642039B2
JP6642039B2 JP2016012339A JP2016012339A JP6642039B2 JP 6642039 B2 JP6642039 B2 JP 6642039B2 JP 2016012339 A JP2016012339 A JP 2016012339A JP 2016012339 A JP2016012339 A JP 2016012339A JP 6642039 B2 JP6642039 B2 JP 6642039B2
Authority
JP
Japan
Prior art keywords
execution
search
thread
unit
program
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.)
Active
Application number
JP2016012339A
Other languages
Japanese (ja)
Other versions
JP2017134496A (en
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.)
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/en
Publication of JP2017134496A publication Critical patent/JP2017134496A/en
Application granted granted Critical
Publication of JP6642039B2 publication Critical patent/JP6642039B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、情報処理装置、装置探索プログラムおよび探索方法に関し、特に、ハイブリッドアプリケーションプログラムを実行可能な情報処理装置、その情報処理装置で実行される装置探索プログラムおよび探索方法に関する。   The present invention relates to an information processing apparatus, an apparatus search program, and a search method, and more particularly, to an information processing apparatus capable of executing a hybrid application program, and an apparatus search program and a search method executed by the information processing apparatus.

オフィス等では、複合機(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を探索することが可能である。   In an office or the like, a plurality of image processing apparatuses such as a multifunction peripheral (MFP) may be installed, and these MFPs are generally connected to a local area network (LAN). In such a network environment, a search service that enables detection of a plurality of MFPs connected to the network is used. As an example of a protocol used for the search service, SSDP (Simple Service Discovery Protocol), WSD (Web Services on Devices), SLP (Service Location Protocol), and mDNS (multicast Domain) are known. In a portable information device such as a personal computer (hereinafter, referred to as a “PC”), a smartphone, or a tablet terminal capable of remotely controlling a plurality of MFPs, it is possible to search for an MFP to be remotely controlled using these protocols. is there.

一方、ハイブリッドアプリケーションプログラムを制作するためのフレームワークとしてCordovaが知られている。このハイブリッドアプリケーションプログラムを用いれば、ユーザーインターフェース部分を、HTML(HyperText Markup Language)装置のオペレーティングシステムに依存しない記述言語で記述し、装置のハードウェア資源を制御する部分等のオペレーティングシステムに依存する部分を、Java(登録商標)、C、C++またはObjective−Cといった開発言語で記述することが可能となる。   On the other hand, Cordova is known as a framework for producing a hybrid application program. If this hybrid application program is used, the user interface portion is described in a description language independent of the operating system of an HTML (HyperText Markup Language) device, and a portion that depends on the operating system such as a portion that controls hardware resources of the device is described. , Java (registered trademark), C, C ++, or Objective-C.

しかしながら、ハイブリッドアプリケーションプログラムにおいては、ユーザーインターフェース部分と、オペレーティングシステムに依存する部分とが連携して動作する。具体的には、ユーザーインターフェース部分でユーザーの指示を受け付け、オペレーティングシステムに依存する部分で装置の探索を実行し、ユーザーインターフェース部分で探索結果を表示する一連の処理を実行する。それぞれの処理の順番とそれぞれの処理が実行されるタイミングが定められるため、ユーザーインターフェース部分が装置の探索結果を入手できるのは、オペレーティングシステムに依存する部分による装置の探索処理が完了した後になる。換言すれば、探索処理により複数のMFPの全てが検出された後に探索結果を表示するため、複数のMFPのすべてが検出されるまで探索結果を表示することができず、探索結果が表示されるまでのレスポンスタイムが長くなるといった問題がある。
特表2015−524126号公報
However, in a hybrid application program, a user interface part and a part dependent on an operating system operate in cooperation. Specifically, the user interface receives a user's instruction, executes a device search in a portion depending on the operating system, and executes a series of processes for displaying a search result in the user interface. Since the order of each process and the timing at which each process is executed are determined, the user interface can obtain the device search result after the device search process by the operating system-dependent portion is completed. In other words, since the search result is displayed after all of the plurality of MFPs are detected by the search process, the search result cannot be displayed until all of the plurality of MFPs are detected, and the search result is displayed. There is a problem that the response time until is long.
JP-T-2015-524126A

この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした情報処理装置を提供することである。   SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a program written in a programming language that does not support a thread control instruction, and a search process for searching for an apparatus. The object of the present invention is to provide an information processing apparatus in which the response time is shortened when displaying the result.

この発明の他の目的は、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした装置探索プログラムを提供することである。   Another object of the present invention is to provide a device search program in which a response time is shortened when displaying a result of a search process for searching for a device in a program written in a programming language that does not support a thread control instruction. It is to be.

この発明のさらに他の目的は、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした探索方法を提供することである。   Still another object of the present invention is to provide a search method in which a response time is shortened when displaying a result of a search process for searching for a device in a program written in a programming language that does not support a thread control instruction. It is to be.

この発明の他の局面によれば、情報処理装置は、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行することにより、表示手段および操作手段を制御する第1実行手段と、第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを実行することにより、通信可能な装置を探索する探索処理を実行する第2実行手段と、を備え、第1実行手段は、操作手段により起動操作が受け付けられることに応じて、第2実行手段を起動する起動手段と、第2実行手段が起動されてから探索処理が終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得手段と、装置情報取得手段により装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示手段と、を含み、探索処理は、探索条件の異なる複数の分割処理を含み、第2実行手段は、第1実行手段により起動されることに応じて、複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動するスレッド起動手段と、起動された複数のサブ実行手段のすべてが複数の分割処理のうち対応する担当分割処理を終了することを条件に、第1実行手段に探索処理の終了を通知する終了通知手段と、を備え、複数のサブ実行手段それぞれは、複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生するとともに、第1実行手段に検出された装置の装置識別情報を出力する出力手段と、を含む。 According to another aspect of the present invention, an information processing apparatus includes a display unit for displaying an image, an operation unit for receiving an operation by a user, and a first type of programming language that does not support a thread control instruction. A first execution unit that controls the display unit and the operation unit, and executes a second program that is described in a second type of programming language different from the first type. And a second execution unit that executes a search process for searching for a communicable device, wherein the first execution unit starts the second execution unit in response to a start operation being received by the operation unit. A start-up unit that performs communication and identifies a device with which communication is possible in response to detection of a predetermined interrupt between the start-up of the second execution unit and the end of the search process Device information acquiring means for acquiring the device identification information for the first time, and an interruption display means for displaying the acquired device identification information on the display means each time the device information is acquired by the device information acquiring means. The search process includes a plurality of division processes having different search conditions, and the second execution unit activates a plurality of sub-execution units that respectively execute the plurality of division processes in response to being activated by the first execution unit. End notification for notifying the first execution means of the end of the search processing on condition that all of the started thread execution means and the activated plurality of sub-execution means end the corresponding assigned division processing of the plurality of division processing. Each of the plurality of sub-execution units executes a corresponding assigned division process among the plurality of division processes, and issues an interrupt to the first execution unit each time a communicable device is detected. As well as comprising an output means for outputting the device identification information of the detected device to the first execution means.

この局面に従えば、探索処理は、探索条件の異なる複数の分割処理を含み、第2実行手段は、複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動し、複数のサブ実行手段のすべてが対応する担当分割処理を終了することを条件に、第1実行手段に探索処理の終了を通知し、複数のサブ実行手段それぞれは、担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行手段に対して割り込みを発生するとともに、検出された装置の装置識別情報を出力する。このため、探索処理を、複数の分割処理に分割して並列で実行するので、レスポンスタイムをさらに短くすることができる。   According to this aspect, the search process includes a plurality of division processes having different search conditions, the second execution unit activates a plurality of sub-execution units that respectively execute the plurality of division processes, and executes the plurality of sub-execution units. The first execution unit is notified of the end of the search process on condition that all the corresponding division processes are completed, and each of the plurality of sub-execution units executes the division process and detects a communicable device. Each time, an interrupt is generated for the first execution means, and the device identification information of the detected device is output. Therefore, the search process is divided into a plurality of division processes and executed in parallel, so that the response time can be further reduced.

好ましくは、第1実行手段は、第2実行手段が起動されてから第2実行手段が探索処理を終了するまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行手段に中止指示を出力する中止指示手段を、含み、第2実行手段は、第1実行手段から中止指示が入力されることに応じて、複数のサブ実行手段のうち担当分割処理を終了していないサブ実行手段にサブ中止指示を出力するサブ中止指示手段を含み、複数のサブ実行手段それぞれは、さらに、第2実行手段からサブ中止指示が入力されることに応じて、担当分割処理の実行を中止する。   Preferably, the first execution means receives an operation for instructing stop of the execution of the search processing by the operation means during a period from the activation of the second execution means to the end of the search processing by the second execution means. And a stop instruction means for outputting a stop instruction to the second execution means, wherein the second execution means receives a stop instruction from the first execution means and outputs the stop instruction among the plurality of sub-execution means. A sub-stop instruction means for outputting a sub-stop instruction to a sub-execution means which has not finished the assigned division processing, wherein each of the plurality of sub-execution means further receives a sub-stop instruction from the second execution means. Then, the execution of the assigned division process is stopped.

この局面に従えば、第1のプログラムを実行する第1実行手段が、探索処理の実行の中止を指示する操作を受け付けると、複数のサブ実行手段が担当分割処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。   According to this aspect, when the first execution unit that executes the first program receives an operation to instruct to stop the execution of the search process, the plurality of sub-execution units stop the execution of the assigned division process. For this reason, the user can stop the search process halfway.

好ましくは、第1実行手段は、第2実行手段が起動されてから第2実行手段が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示する探索中通知手段を、さらに含む。   Preferably, the first execution means is a search notifying means for displaying an image indicating that the search processing is being executed from when the second execution means is activated to when the second execution means ends the search processing. Is further included.

この局面に従えば、第1のプログラムを実行する第1実行手段は、第2実行手段が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示するので、ユーザーに探索処理を実行中であることを通知することができる。   According to this aspect, the first execution unit that executes the first program displays an image indicating that the search process is being executed until the second execution unit ends the search process. Can be notified that the search process is being executed.

この発明の他の局面によれば、装置探索プログラムは、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索プログラムであって、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムと、第1の種類とは異なる第2の種類のプログラム言語で記述され、通信可能な装置を探索する探索処理を定めた第2のプログラムと、を含み、第1のプログラムは、操作手段により起動操作が受け付けられることに応じて、第2のプログラムをコンピューターに実行させる起動ステップと、コンピューターにより第2のプログラムが実行されてからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間に、割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示ステップと、をコンピューターに実行させ、探索処理は、探索条件の異なる複数の分割処理を含み、第2のプログラムは、複数の分割処理をそれぞれ定めた複数のサブプログラムと、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドを制御するスレッド制御プログラムと、を含み、起動ステップは、操作手段により起動操作が受け付けられることに応じて、スレッド制御プログラムをコンピューターに実行させ、スレッド制御プログラムは、複数のサブプログラムをコンピューターに実行させるスレッド起動ステップと、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドのすべてが複数の分割処理のうち対応する担当分割処理を終了することを条件に、コンピューターが第1のプログラムを実行する第1実行スレッドに探索処理の終了を通知する終了通知ステップを、コンピューターに実行させ、複数のサブプログラムそれぞれは、複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行スレッドに対して割り込みを発生するとともに、第1実行スレッドに検出された装置の装置識別情報を出力する出力ステップと、をコンピューターに実行させる。 According to another aspect of the present invention, a device search program is a device search program that is executed by a computer that controls an information processing device including a display unit that displays an image and an operation unit that receives an operation by a user. A first program written in a first type of programming language that does not support a thread control instruction, and a first type of program language described in a second type of programming language different from the first type and capable of communication. A second program that defines a search process for searching for an apparatus, wherein the first program causes a computer to execute the second program in response to a start operation being received by the operation unit; After the second program is executed by the computer, the computer executes a thread for executing the second program. Until the process is completed, in response to detecting the interrupt, the device identification information acquiring step for acquiring the device identification information for identifying the communicable device, and the device identification information acquiring in the device information acquiring step A display step for displaying the acquired device identification information on the display means for each time, causing the computer to execute, the search processing includes a plurality of division processings with different search conditions, and the second program includes: And a thread control program that controls a plurality of sub-threads in which the computer executes the plurality of sub-programs, respectively. Optionally, causes the computer to execute the thread control program, and the thread control program On the condition that a thread start step for causing a computer to execute a plurality of subprograms, and that all of a plurality of subthreads for executing a plurality of subprograms by the computer each complete a corresponding division process among a plurality of division processes, The computer causes the computer to execute an end notification step of notifying the first execution thread executing the first program of the end of the search process, and each of the plurality of subprograms executes a corresponding one of the plurality of split processes. Executing an interrupt to the first execution thread each time a device capable of communication is detected and outputting device identification information of the detected device to the first execution thread. Let it.

この局面に従えば、探索処理は、探索条件の異なる複数の分割処理を含み、コンピューターがスレッド制御プログラムを実行するスレッドは、コンピューターが複数のサブプログラムをそれぞれ実行する複数のサブスレッドを起動し、複数のサブスレッドのすべてが対応する担当分割処理を終了することを条件に、コンピューターが第1のプログラムを実行する第1実行スレッドに探索処理の終了を通知し、複数のサブスレッドそれぞれは、担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行スレッドに対して割り込みを発生するとともに、検出された装置の装置識別情報を出力する。このため、探索処理を、複数のスレッドで並列で実行するので、レスポンスタイムをさらに短くすることができる。   According to this aspect, the search process includes a plurality of division processes having different search conditions, the thread in which the computer executes the thread control program activates a plurality of subthreads in which the computer executes the plurality of subprograms, The computer notifies the first execution thread that executes the first program of the end of the search process, on condition that all of the plurality of sub-threads finish the corresponding assigned division process. Each time a division process is executed and a device that can communicate is detected, an interrupt is generated for the first execution thread, and device identification information of the detected device is output. Therefore, the search process is executed in parallel by a plurality of threads, so that the response time can be further reduced.

好ましくは、第1のプログラムは、さらに、コンピューターにスレッド制御プログラムを実行させてからコンピューターがスレッド制御プログラムを実行する制御スレッドから探索処理の終了が通知されるまでの間に、操作手段により探索処理の実行の中止を指示する操作が受け付けられることに応じて、制御スレッドに中止指示を出力する中止指示ステップを、コンピューターに実行させ、スレッド制御プログラムは、さらに、第1実行スレッドから中止指示が入力されることに応じて、複数のサブスレッドのうち担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを、コンピューターに実行させ、複数のサブプログラムそれぞれは、さらに、制御スレッドからサブ中止指示が入力されることに応じて、複数の分割処理のうち対応する担当分割処理の実行を中止するステップを、コンピューターに実行させる。   Preferably, the first program further includes a search process performed by the operating unit after the computer executes the thread control program and before the computer notifies the end of the search process from the control thread that executes the thread control program. In response to an operation for instructing the execution of the thread to be stopped, the computer executes a stop instruction step of outputting a stop instruction to the control thread. The thread control program further receives the stop instruction from the first execution thread. In response, the computer executes a sub-stop instruction step of outputting a sub-stop instruction to a sub-thread of the plurality of sub-threads that has not finished the division processing in charge, and each of the plurality of sub-programs further includes: In response to a sub-stop instruction input from the control thread Te, a step to stop the execution of the charge division processing corresponding one of the plurality of division processing is executed on the computer.

この局面に従えば、コンピューターが第1のプログラムを実行する第1実行スレッドが、探索処理の実行の中止を指示する操作を受け付けると、複数のサブスレッドが担当分割処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。   According to this aspect, when the first execution thread in which the computer executes the first program receives an operation for instructing the execution of the search process to be stopped, the plurality of sub-threads stop the execution of the assigned division process. For this reason, the user can stop the search process halfway.

好ましくは、第1のプログラムは、さらに、コンピューターにより第2のプログラムが実行されてからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示する探索中通知ステップを、コンピューターに実行させる。   Preferably, the first program is further executing a search process from when the second program is executed by the computer until the thread at which the computer executes the second program ends the search process. And causing the computer to execute a search-in-progress notification step of displaying an image indicating.

この局面に従えば、コンピューターが第1のプログラムを実行する第1実行スレッドは、コンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示するので、ユーザーに探索処理を実行中であることを通知することができる。   According to this aspect, the first execution thread in which the computer executes the first program determines that the computer is executing the search process until the thread executing the second program ends the search process. Since the displayed image is displayed, it is possible to notify the user that the search process is being executed.

この発明の他の局面によれば、装置探索方法は、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される探索方法であって、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムをコンピューターに実行させることにより、表示手段および操作手段を制御する第1実行ステップと、第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムをコンピューターに実行させることにより、通信可能な装置を探索する探索処理を実行する第2実行ステップと、を含み、第2実行ステップは、探索処理に含まれる探索条件の異なる複数の分割処理を順に実行し、通信可能な装置を検出するごとに、コンピューターが第1のプログラムを実行する第1実行スレッドに対して割り込みを発生するとともに、第1実行スレッドに検出された装置の装置識別情報を出力する出力ステップを含み、第1実行ステップは、操作手段により起動操作が受け付けられることに応じて、コンピューターに第2のプログラムを実行させる起動ステップと、コンピューターが第2のプログラムを実行してからコンピューターが第2のプログラムを実行する第2実行スレッドが探索処理を終了するまでの間に、第2実行スレッドが発生する割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示ステップと、を含む。 According to another aspect of the present invention, an apparatus search method is a search method executed by a computer that controls an information processing apparatus including a display unit that displays an image and an operation unit that receives an operation by a user. A first execution step of controlling a display unit and an operation unit by causing a computer to execute a first program described in a first type of programming language that does not support a thread control instruction; Executing a search process for searching for a communicable device by causing a computer to execute a second program written in a second type of programming language different from the type of the second type . The two execution steps sequentially execute a plurality of division processes having different search conditions included in the search process, and each time a communicable device is detected. With the computer generates an interrupt to the first execution thread for executing the first program includes an output step of outputting the device identification information of the detected device to the first thread of execution, a first execution step, the operation A start step of causing the computer to execute the second program in response to the start operation being received by the means; and a second execution thread for executing the second program by the computer after the computer executes the second program. A device information acquisition step of acquiring device identification information for identifying a communicable device in response to detecting an interrupt generated by the second execution thread until the search process ends; Displaying the acquired device identification information every time the device identification information is acquired in the step Including, an interrupt during the display step of displaying.

の発明の他の局面によれば、装置探索方法は、画像を表示する表示手段と、ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索方法であって、スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムをコンピューターに実行させることにより、表示手段および操作手段を制御する第1実行ステップと、第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムをコンピューターに実行させることにより、通信可能な装置を探索する探索処理を実行する第2実行ステップと、を含み、第1実行ステップは、操作手段により起動操作が受け付けられることに応じて、コンピューターに第2のプログラムを実行させる起動ステップと、コンピューターが第2のプログラムを実行してからコンピューターが第2のプログラムを実行するスレッドが探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて装置識別情報が取得されるごとに、取得された装置識別情報を表示手段に表示する割込時表示ステップと、を含み、探索処理は、探索条件の異なる複数の分割処理を含み、第2実行ステップは、第1実行ステップにおいて起動されることに応じて、複数の分割処理をそれぞれ実行する複数のサブ実行プログラムをコンピューターに実行させるスレッド起動ステップと、コンピューターが複数のサブ実行プログラムをそれぞれ実行する複数のサブ実行スレッドのすべてが複数の分割処理のうち対応する担当分割処理を終了することを条件に、コンピューターが第1のプログラムを実行する第1実行スレッドに探索処理の終了を通知する終了通知ステップと、を含み、複数のサブ実行スレッドそれぞれは、複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、第1実行スレッドに対して割り込みを発生するとともに、第1実行スレッドに検出された装置の装置識別情報を出力する出力ステップを含む。 According to another aspect of this invention, apparatus search method, apparatus search method executed by a computer for controlling a display means for displaying an image, an operation unit for accepting an operation by a user, the information processing apparatus having a A first execution step of controlling a display unit and an operation unit by causing a computer to execute a first program written in a first type of programming language that does not support a thread control instruction; A second execution step of causing a computer to execute a second program described in a second type of programming language different from the first type, thereby executing a search process for searching for a communicable device. The first execution step is to execute the second program on the computer in response to the start operation being received by the operation means. In response to a startup step to cause the computer to execute the second program, and to detect a predetermined interrupt between the time when the computer executes the second program and the time when the thread executing the second program ends the search processing, A device information acquisition step for acquiring device identification information for identifying a device with which communication is possible, and an interrupt for displaying the acquired device identification information on a display means every time the device identification information is acquired in the device information acquisition step And a time display step. The search processing includes a plurality of division processings having different search conditions, and the second execution step executes the plurality of division processings in response to being activated in the first execution step. A thread launch step that causes the computer to execute a plurality of sub-executable programs; The computer causes the first execution thread executing the first program to terminate the search processing on condition that all of the plurality of sub-execution threads respectively executing the rams finish the corresponding charge division processing among the plurality of division processing. Each of the plurality of sub-execution threads executes a corresponding assigned division process among the plurality of division processes, and sends a first execution thread to the first execution thread each time a device capable of communication is detected. thereby generating an interrupt Te, including an output step of outputting the device identification information of the detected device to the first execution thread.

本発明の実施の形態の1つにおけるプリントシステムの全体概要を示す図である。FIG. 1 is a diagram illustrating an overall outline of a print system according to one embodiment of the present invention. 携帯情報装置の構成の概要の一例を示す図である。It is a figure showing an example of an outline of composition of a personal digital assistant. 第1の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of functions of a CPU included in the portable information device according to the first embodiment. 第1の実施の形態における表示制御処理の流れの一例を示すフローチャートである。5 is a flowchart illustrating an example of a flow of a display control process according to the first embodiment. 第1の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。6 is a flowchart illustrating an example of a flow of a peripheral device search process according to the first embodiment. 第1の実施の形態における割込処理の流れの一例を示すフローチャートである。9 is a flowchart illustrating an example of the flow of an interrupt process according to the first embodiment. 第1の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。FIG. 3 is a diagram illustrating a data flow in the print system according to the first embodiment. 第2の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。FIG. 13 is a block diagram illustrating an example of a function of a CPU included in a portable information device according to a second embodiment. 第2の実施の形態における表示制御処理の流れの一例を示すフローチャートである。13 is a flowchart illustrating an example of a flow of a display control process according to the second embodiment. 第2の実施の形態におけるスレッド制御処理の流れの一例を示すフローチャートである。13 is a flowchart illustrating an example of a flow of a thread control process according to the second embodiment. 第2の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。15 is a flowchart illustrating an example of a flow of a peripheral device search process according to the second embodiment. 第2の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。FIG. 9 is a diagram illustrating a data flow in a print system according to a second embodiment.

以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. Their names and functions are the same. Therefore, detailed description thereof will not be repeated.

<第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に接続される。
<First embodiment>
FIG. 1 is a diagram showing an overall outline of a print system according to one embodiment of the present invention. Referring to FIG. 1, print system 1 includes MFPs 100, 100A, 100B functioning as image processing apparatuses, wireless station 5, and a portable functioning as a remote control apparatus capable of remotely controlling any of MFPs 100, 100A, 100B. And information devices 200, 200A, and 200B. MFPs (Multi Function Peripherals) 100, 100A, 100B, and wireless station 5 are connected to network 3. The portable information devices 200, 200A, and 200B are connected to the network 3 through the wireless station 5.

ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。   The network 3 is a local area network (LAN), and the connection form may be wired or wireless. The network 3 is not limited to a LAN, but may be a wide area network (WAN), a public switched telephone network (PSTN), the Internet, or the like.

携帯情報装置200,200A,200Bは、スマートフォン、タブレット端末、PDA(Personal Digital Assistants)など、ユーザーが携帯して使用するコンピューターである。ここでは、携帯情報装置200,200A,200Bを、スマートフォンとする場合を例に説明する。携帯情報装置200,200A,200Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限り携帯情報装置200を例に説明する。   The portable information devices 200, 200A, and 200B are computers used by users, such as smartphones, tablet terminals, and PDA (Personal Digital Assistants). Here, a case where mobile information devices 200, 200A, and 200B are smartphones will be described as an example. Since the hardware configurations and functions of the portable information devices 200, 200A, and 200B are the same, the portable information device 200 will be described as an example unless otherwise specified.

本実施の形態におけるプリントシステム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を遠隔操作する場合を例に説明する。   In print system 1 according to the present embodiment, portable information devices 200, 200A, and 200B remotely control MFPs 100, 100A, and 100B, respectively. In this case, each of portable information devices 200, 200A, and 200B functions as a remote control device for remotely controlling MFPs 100, 100A, and 100B, and each of MFPs 100, 100A, and 100B is remotely controlled by any of portable information devices 200, 200A, and 200B. Functions as a remote control to be operated. A remote operation program for remotely operating the MFPs 100, 100A, 100B, for example, a printer driver program is installed in the portable information devices 200, 200A, 200B. The remote operation program is an application program that is common to MFPs 100, 100A, and 100B, and that can be applied to any of MFPs 100, 100A, and 100B. On the other hand, a remote control program that is remotely operated by portable information device 200 and executes processing is installed in MFP 100. Here, a case where portable information device 200 remotely controls MFP 100 will be described as an example.

また、携帯情報装置200,200A,200Bは、遠隔操作の対象となる装置を決定するために、ネットワーク3に接続されているMFP100,100A,100Bを探索する処理を実行する。本実施の形態においては、MFP100,100A,100Bそれぞれは、探索サービスに用いられる複数のプロトコルのうち少なくとも1つに対応している。このため、携帯情報装置200,200A,200Bそれぞれは、複数のプロトコルそれぞれを用いてMFP100,100A,100Bを検出する。   Further, portable information devices 200, 200A, and 200B execute a process of searching MFPs 100, 100A, and 100B connected to network 3 in order to determine a device to be remotely operated. In the present embodiment, each of MFPs 100, 100A, and 100B corresponds to at least one of a plurality of protocols used for the search service. Therefore, each of portable information devices 200, 200A, and 200B detects MFPs 100, 100A, and 100B by using a plurality of protocols.

本実施の形態においては、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を探索すれば十分である。   In the present embodiment, an example will be described in which MFP 100 supports the SSDP protocol and MFPs 100A and 100B each support the WSD protocol. In this case, each of portable information devices 200, 200A, and 200B detects MFP 100 using the SSDP protocol, and detects MFPs 100A and 100B using the WSD protocol. If the protocols used by MFPs 100, 100A, and 100B are predetermined, for example, if it is predetermined that all MFPs 100, 100A, and 100B use the SSDP protocol, portable information devices 200, 200A, and 200B respectively Is sufficient to search for MFPs 100, 100A, 100B using the SSDP protocol.

図2は、携帯情報装置の構成の概要の一例を示す図である。図2を参照して、本実施の形態における携帯情報装置200は、携帯情報装置200の全体を制御するためのCPU201と、カメラ202と、データを不揮発的に記憶するフラッシュメモリ203と、通話部205と接続された無線通信部204と、情報を表示する表示部206と、ユーザーの操作を受け付ける操作部207と、無線LANI/F208と、加速度センサー210と、外部記憶装置211と、を含む。   FIG. 2 is a diagram illustrating an example of an outline of a configuration of the portable information device. Referring to FIG. 2, portable information device 200 according to the present embodiment includes a CPU 201 for controlling the entire portable information device 200, a camera 202, a flash memory 203 for storing data in a nonvolatile manner, a communication unit. The wireless communication unit 204 includes a wireless communication unit 204 connected to the terminal 205, a display unit 206 for displaying information, an operation unit 207 for receiving a user operation, a wireless LAN I / F 208, an acceleration sensor 210, and an external storage device 211.

表示部206は、液晶表示装置(LCD)、有機ELD等の表示装置であり、画像を表示する。操作部207は、メインキー207Aと、タッチパネル207Bとを備える。タッチパネル207Bは、静電容量方式である。なお、タッチパネル207Bは、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。   The display unit 206 is a display device such as a liquid crystal display (LCD) and an organic ELD, and displays an image. The operation unit 207 includes a main key 207A and a touch panel 207B. Touch panel 207B is of a capacitance type. Note that the touch panel 207B is not limited to the capacitance type, and may use other types such as a resistance film type, a surface acoustic wave type, an infrared type, and an electromagnetic induction type.

タッチパネル207Bは、検出面中でユーザーにより指示される位置を検出する。タッチパネル165の検出面は、表示部206の上面または下面に表示部206に重畳して設けられる。ここでは、タッチパネル207Bの検出面のサイズと、表示部206の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル207Bは、ユーザーが、表示部206の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU201に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル207Bが出力する座標を、表示面の座標に置き換えることができる。以下、ユーザーが表示部206の表示面を指示することによりタッチパネル207Bが検出面で検出して出力する座標を、表示部206の表示面の座標ともいう。   Touch panel 207B detects a position indicated by the user on the detection surface. The detection surface of the touch panel 165 is provided on the upper surface or the lower surface of the display unit 206 so as to overlap the display unit 206. Here, the size of the detection surface of the touch panel 207B is the same as the size of the display surface of the display unit 206. Therefore, the coordinate system of the display surface and the coordinate system of the detection surface are the same. Touch panel 207 </ b> B detects, on the detection surface, a position where the user indicates the display surface of display unit 206, and outputs the coordinates of the detected position to CPU 201. Since the coordinate system of the display surface is the same as the coordinate system of the detection surface, the coordinates output by the touch panel 207B can be replaced with the coordinates of the display surface. Hereinafter, the coordinates detected and output by the touch panel 207B on the detection surface when the user designates the display surface of the display unit 206 are also referred to as coordinates of the display surface of the display unit 206.

タッチパネル207Bは、マルチタッチ対応のタッチパネルである。このため、タッチパネル165は、ユーザーが、表示部206の表示面を一度に複数個所を複数の指で指示する場合、検出面で表示部206の表示面中でユーザーにより指示された複数の位置を検出し、検出した複数の位置をそれぞれ示す複数の座標を、CPU201に出力する。   The touch panel 207B is a multi-touch compatible touch panel. For this reason, the touch panel 165 displays a plurality of positions designated by the user on the display surface of the display unit 206 on the detection surface when the user designates the display surface of the display unit 206 with a plurality of fingers at one time. The CPU 201 outputs to the CPU 201 a plurality of coordinates indicating the detected positions.

カメラ202は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU201に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。   The camera 202 includes a lens and a photoelectric conversion element, forms an image of light condensed by the lens on the photoelectric conversion element, and the photoelectric conversion element photoelectrically converts the received light and outputs image data to the CPU 201. The photoelectric conversion element is a CMOS (Complementary Metal Oxide Semiconductor) sensor, a CCD (Charge Coupled Device) sensor, or the like.

無線通信部204は、電話通信網に接続された携帯電話用基地局と無線通信する。無線通信部204は、携帯情報装置200を電話通信網に接続し、通話部205を用いた通話を可能とする。無線通信部204は、携帯電話用基地局から受信した無線信号を復調した音声信号を復号して通話部205に出力する。また、無線通信部204は、通話部205から入力される音声を符号化し、携帯電話用基地局に送信する。通話部205は、マイクおよびスピーカーを備え、無線通信部204から入力される音声をスピーカーから出力し、マイクから入力される音声を無線通信部204に出力する。さらに、無線通信部204は、CPU201により制御され、携帯情報装置200を電子メールサーバーに接続し、電子メールを送受信する。   The wireless communication unit 204 wirelessly communicates with a mobile phone base station connected to a telephone communication network. The wireless communication unit 204 connects the portable information device 200 to a telephone communication network, and enables a call using the call unit 205. Radio communication section 204 decodes a voice signal obtained by demodulating a radio signal received from the mobile phone base station, and outputs the signal to communication section 205. Further, wireless communication section 204 encodes the voice input from communication section 205 and transmits the encoded voice to the mobile phone base station. The communication unit 205 includes a microphone and a speaker, and outputs audio input from the wireless communication unit 204 from the speaker, and outputs audio input from the microphone to the wireless communication unit 204. Further, the wireless communication unit 204 is controlled by the CPU 201, connects the portable information device 200 to an electronic mail server, and transmits and receives electronic mail.

無線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で通信するようにしてもよい。   The wireless LAN I / F 208 is an interface for communicating with the wireless station 5 and connecting the portable information device 200 to the network 3. By registering the IP (Internet Protocol) address of each of MFPs 100, 100A, and 100B in portable information device 200, portable information device 200 can communicate with MFPs 100, 100A, and 100B, and can transmit and receive data. Becomes Note that, in the present embodiment, a case where portable information device 200 communicates with MFPs 100, 100A, and 100B using wireless LAN I / F 208 will be described as an example, but communication is performed using another communication method. Is also good. Specifically, when the portable information device 200 and the MFPs 100, 100A, and 100B include a short-range wireless device such as Bluetooth (registered trademark), for example, the portable information device 200 is replaced with one of the MFPs 100, 100A, and 100B. Alternatively, one-to-one communication may be performed.

フラッシュメモリ203は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ203に記録されたプログラムを、CPU201が備えるRAMにロードして実行する。   The flash memory 203 stores a program to be executed by the CPU 201 or data necessary for executing the program. The CPU 201 loads a program recorded in the flash memory 203 into a RAM included in the CPU 201 and executes the program.

加速度センサー210は、互いに直交するX軸、Y軸およびZ軸の3方向の加速度を測定する3軸加速度センサーである。加速度センサー210は、検出した加速度をCPU201に出力する。   The acceleration sensor 210 is a three-axis acceleration sensor that measures acceleration in three directions, that is, an X axis, a Y axis, and a Z axis that are orthogonal to each other. The acceleration sensor 210 outputs the detected acceleration to the CPU 201.

外部記憶装置211は、携帯情報装置200に着脱自在であり、遠隔操作プログラムを記憶したCD−ROM211Aが装着可能である。CPU201は、外部記憶装置211を介してCD−ROM211Aにアクセス可能である。CPU201は、外部記憶装置211に装着されたCD−ROM211Aに記録された遠隔操作プログラムを、CPU201が備えるRAMにロードして実行することが可能である。   The external storage device 211 is detachable from the portable information device 200, and a CD-ROM 211A storing a remote control program can be mounted. The CPU 201 can access the CD-ROM 211A via the external storage device 211. The CPU 201 can load a remote operation program recorded on a CD-ROM 211A mounted on the external storage device 211 into a RAM included in the CPU 201 and execute the program.

なお、CPU201が実行するプログラムとして、フラッシュメモリ203またはCD−ROM211Aに記録されたプログラムについて説明したが、ネットワーク3に接続された他のコンピューターが、フラッシュメモリ203に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、携帯情報装置200が、ネットワーク3に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   Although the program recorded on the flash memory 203 or the CD-ROM 211A has been described as the program executed by the CPU 201, another computer connected to the network 3 may rewrite the program stored in the flash memory 203, Alternatively, it may be a new program additionally written. Furthermore, the portable information device 200 may be a program downloaded from another computer connected to the network 3. The program referred to here includes not only a program that can be directly executed by the CPU 201 but also a source program, a compressed program, an encrypted program, and the like.

なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM211Aに限られず、光ディスク(MO(Magnetic Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。   The medium for storing the program executed by the CPU 201 is not limited to the CD-ROM 211A, but may be an optical disc (MO (Magnetic Optical disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), an IC card, an optical card, A semiconductor memory such as a mask ROM, an EPROM (Erasable Programmable ROM), and an EEPROM (Electrically EPROM) may be used.

図3は、第1の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。図3に示す機能は、携帯情報装置200が備えるCPU201が第1の実施の形態における装置探索プログラムを実行することによりCPU201に形成される機能である。第1の実施の形態における装置探索プログラムは、スレッド制御のコマンドをサポートしていないプログラム言語で記述された表示制御プログラムと、スレッド制御のコマンドをサポートしているプログラム言語で記述された周辺装置探索プログラムと、を含む。   FIG. 3 is a block diagram illustrating an example of functions of a CPU included in the portable information device according to the first embodiment. The function illustrated in FIG. 3 is a function formed in CPU 201 of portable information device 200 as CPU 201 executes the device search program in the first embodiment. The device search program according to the first embodiment includes a display control program written in a programming language that does not support thread control commands and a peripheral device search program written in a program language that supports thread control commands. And a program.

表示制御プログラムは、HTMLおよびJavaScript(登録商標)等の記述言語で記述される。表示制御プログラムは、CSS(Cascading Style Sheets)等の文書の視覚的な構造を定めるスタイルシートを含んでもよい。HTMLおよびJavaScript(登録商標)の記述言語は、それがインストールされる装置のオペレーティングシステムに依存しない汎用的なプログラムング言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合であっても携帯情報装置200,200A,200Bそれぞれに同一の表示制御プログラムをインストールすることができる。このため、表示制御プログラムを開発が容易となる。   The display control program is described in a description language such as HTML and JavaScript (registered trademark). The display control program may include a style sheet that determines the visual structure of a document such as CSS (Cascading Style Sheets). The description language of HTML and JavaScript is a general-purpose programming language that does not depend on the operating system of the device on which it is installed. Therefore, for example, the same display control program can be installed in each of the portable information devices 200, 200A, and 200B even when the operating system is different in the portable information devices 200, 200A, and 200B. This facilitates the development of the display control program.

周辺装置探索プログラムは、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述される。実際には、CPU201は、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述されたソースプログラムをコンパイルした実行ファイルを実行する。以下、周辺装置探索プログラムというときは、ソースプログラムをコンパイルした実行ファイルを含む。周辺装置探索プログラムは、それがインストールされる装置のオペレーティングシステムに依存するプログラム言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合、携帯情報装置200,200A,200Bのオペレーティングシステムにそれぞれ対応する周辺装置探索プログラムをインストールする必要がある。   The peripheral device search program is described in a programming language such as Java (registered trademark), C, C ++, or Objective-C. Actually, the CPU 201 executes an execution file obtained by compiling a source program described in a programming language such as Java (registered trademark), C, C ++, or Objective-C. Hereinafter, the peripheral device search program includes an execution file obtained by compiling a source program. A peripheral device search program is a programming language that depends on the operating system of the device on which it is installed. Therefore, for example, when the portable information devices 200, 200A, and 200B have different operating systems, it is necessary to install peripheral device search programs respectively corresponding to the operating systems of the portable information devices 200, 200A, and 200B.

図3を参照して、CPU201は、第1実行部251と、第2実行部253と、を含む。第1実行部251は、CPU201が、表示制御プログラムを実行する表示制御スレッドであり、第2実行部253は、メインスレッドにより起動され、周辺装置探索プログラムを実行する探索スレッドである。第1実行部251は、表示部206および操作部207を制御し、ユーザーの操作を受け付けるとともに、受け付けられた操作に対する応答をユーザーに通知するユーザーにインターフェースである。   Referring to FIG. 3, CPU 201 includes a first execution unit 251 and a second execution unit 253. The first execution unit 251 is a display control thread in which the CPU 201 executes the display control program, and the second execution unit 253 is a search thread started by the main thread and executing the peripheral device search program. The first execution unit 251 is an interface for a user that controls the display unit 206 and the operation unit 207, receives a user operation, and notifies the user of a response to the received operation.

第1実行部251は、操作受付部261と、起動部263と、中止指示部265と、探索中通知部267と、装置情報取得部269と、割込時表示部271と、を含む。第2実行部253は、探索部273と、出力部275と、終了通知部277と、を含む。   The first execution unit 251 includes an operation reception unit 261, an activation unit 263, a stop instruction unit 265, a searching notification unit 267, a device information acquisition unit 269, and an interruption display unit 271. The second execution unit 253 includes a search unit 273, an output unit 275, and an end notification unit 277.

操作受付部261は、ユーザーが操作部207に入力する操作を受け付ける。操作受付部261は、操作部207がユーザーによる起動操作を受け付けることに応じて、起動部263および探索中通知部267に起動指示を出力する。起動操作は、CPU201に表示制御プログラムの実行を指示する操作である。例えば、表示部206に起動操作を割り当てた探索指示ボタンを表示し、タッチパネル207Bが探索指示ボタン内の位置を検出すると、起動操作を受け付ける。また、操作受付部261は、操作部207がユーザーによる中止操作を受け付けることに応じて、中止指示部265に中止指示を出力する。中止操作は、CPU201に装置探索処理の実行の中止を指示する操作である。例えば、表示部206に中止操作を割り当てた中止指示ボタンを表示し、タッチパネル207Bが中止指示ボタン内の位置を検出すると、中止操作を受け付ける。   The operation reception unit 261 receives an operation input to the operation unit 207 by the user. The operation reception unit 261 outputs a start instruction to the start unit 263 and the searching notification unit 267 in response to the operation unit 207 receiving a start operation by the user. The activation operation is an operation for instructing the CPU 201 to execute the display control program. For example, a search instruction button to which a start operation is assigned is displayed on the display unit 206, and when the touch panel 207B detects a position within the search instruction button, the start operation is accepted. The operation receiving unit 261 outputs a stop instruction to the stop instruction unit 265 in response to the operation unit 207 receiving a stop operation by the user. The stop operation is an operation for instructing the CPU 201 to stop the execution of the device search process. For example, a stop instruction button to which a stop operation is assigned is displayed on the display unit 206, and when the touch panel 207B detects a position within the stop instruction button, the stop operation is accepted.

起動部263は、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263は、CPU201に周辺装置探索プログラムの実行を指示する。第2実行部253は、CPU201が周辺装置探索プログラムを実行する探索スレッドである。起動部263は、第2実行部253を起動すると、第2実行部253を起動したことを示す信号を中止指示部265に出力する。   The activation unit 263 activates the second execution unit 253 in response to an activation instruction input from the operation reception unit 261. Specifically, the activation unit 263 instructs the CPU 201 to execute the peripheral device search program. The second execution unit 253 is a search thread in which the CPU 201 executes a peripheral device search program. When activating the second execution unit 253, the activation unit 263 outputs a signal indicating that the second execution unit 253 has been activated to the stop instruction unit 265.

中止指示部265は、起動部263から第2実行部253を起動したことを示す信号が入力された後、操作受付部261から中止指示が入力されることに応じて、第2実行部253を終了させるとともに、探索中通知部267に表示中止指示を出力する。具体的には、中止指示部265は、第2実行部253を終了させるコマンドをオペレーティングシステムに出力する。これにより、第2実行部253は、オペレーティングシステムにより終了させられる。   After receiving a signal indicating that the second execution unit 253 has been activated from the activation unit 263 and inputting a suspension instruction from the operation reception unit 261, the stop instruction unit 265 causes the second execution unit 253 to respond to the input. At the same time, a display stop instruction is output to the notifying section 267. Specifically, the stop instruction unit 265 outputs a command for terminating the second execution unit 253 to the operating system. Thus, the second execution unit 253 is terminated by the operating system.

探索部273は、起動部263により起動されることに応じて、探索処理を実行する。探索処理は、予め定められたプロトコルにしたがって、無線LANI/F208が通信可能な周辺装置を検出する処理である。具体的には、探索部273は、探索処理のために予め定められたプロトコルにしたがって、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する応答コマンドを受信する。探索部273は、探索処理のために予め定められたプロトコルが複数の場合、複数のプロトコルを順に選択し、選択した通信プロトコルで周辺装置を探索する処理を実行する。本実施の形態においては、MFP100がSSDPのプロトコルに対応し、MFP100A,100BそれぞれがWSDのプロトコルに対応している。このため、探索部273は、SSDPのプロトコルに従った探索処理と、WSDのプロトコルに従った探索処理とを実行する。   The search unit 273 performs a search process in response to being activated by the activation unit 263. The search process is a process for detecting a peripheral device with which the wireless LAN I / F 208 can communicate according to a predetermined protocol. Specifically, the search unit 273 transmits a search command via the wireless LAN I / F 208 according to a predetermined protocol for the search process, and receives a response command returned by a peripheral device that responds to the search command. I do. When there are a plurality of predetermined protocols for the search process, the search unit 273 performs a process of sequentially selecting a plurality of protocols and searching for a peripheral device using the selected communication protocol. In the present embodiment, MFP 100 supports the SSDP protocol, and each of MFPs 100A and 100B supports the WSD protocol. Therefore, the search unit 273 performs a search process according to the SSDP protocol and a search process according to the WSD protocol.

探索部273は、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、出力部275に受信された応答コマンドを出力する。出力部275は、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。   Search unit 273 outputs the received response command to output unit 275 in response to wireless LAN I / F 208 receiving the response command from the peripheral device. The output unit 275 outputs a response command to the first execution unit 251 by interruption via the operating system.

探索部273は、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。探索部273は、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを出力部275に出力し、出力部275は、応答コマンドが入力されるごとに、割り込みにより応答コマンドを第1実行部251に出力する。このため、第2実行部253によって応答コマンドが受信されるごとに、第1実行部251に応答コマンドが出力される。応答コマンドは、応答コマンドを送信してきた装置に関する情報である装置情報を含む。装置情報は、装置を識別するための装置識別情報を少なくとも含む。装置情報は、装置の種類を示す情報を含んでもよい。探索部273は、SSDPのプロトコルに従った探索処理およびWSDのプロトコルに従った探索処理のすべてを終了すると、通知指示を終了通知部277に出力する。   The search unit 273 starts the search process by transmitting the search command, and ends the search process when a predetermined time has elapsed after transmitting the search command. The search unit 273 outputs the received response command to the output unit 275 every time a response command is received from the start to the end of the search process, and the output unit 275 receives the response command. Each time the command is output, a response command is output to the first execution unit 251 by interruption. Therefore, each time the response command is received by the second execution unit 253, the response command is output to the first execution unit 251. The response command includes device information that is information on the device that has transmitted the response command. The device information includes at least device identification information for identifying the device. The device information may include information indicating the type of the device. Upon completing all of the search processing according to the SSDP protocol and the search processing according to the WSD protocol, the search unit 273 outputs a notification instruction to the end notification unit 277.

終了通知部277は、探索部273から終了指示が入力されることに応じて、第1実行部251に探索処理が終了したことを通知する。具体的には、第1実行部251に終了信号を出力する。   The end notification unit 277 notifies the first execution unit 251 that the search processing has ended in response to the input of the end instruction from the search unit 273. Specifically, it outputs an end signal to first execution section 251.

装置情報取得部269は、出力部275から割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、出力部275から出力される応答コマンドを取得する。装置情報取得部269は、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。割込時表示部271は、応答コマンドが入力されるごとに、応答コマンドに含まれる装置情報を、表示部206に表示する。表示部206の予め定められた領域に装置情報を順に並べて表示する。   The device information acquisition unit 269 receives a response command by an interrupt from the output unit 275. When detecting the interruption, the device information acquisition unit 269 acquires the response command output from the output unit 275. When acquiring the response command, the device information acquisition unit 269 outputs the response command to the interrupt-time display unit 271. The interrupt-time display unit 271 displays the device information included in the response command on the display unit 206 every time the response command is input. The device information is displayed in a predetermined area of the display unit 206 in order.

探索中通知部267は、操作受付部261から起動指示が入力されることに応じて、探索処理を実行中であることをユーザーに通知する。具体的には、探索中通知部267は、表示部206にスプラッシュスクリーンを表示する。スプラッシュスクリーンは、探索処理を実行中であることを示す画像であり、例えば、砂時計を示す画像であってもよいし、所定の領域の表示態様が時間の経過に伴って変化する動画像であってもよい。探索中通知部267は、探索処理を実行中であることを示す画像を、表示部206の表示面中の一部に表示する。なお、探索処理を実行中であることを示す画像は、表示部206の表示面の全体に表示してもよい。   The searching notification unit 267 notifies the user that the search process is being executed in response to the start instruction being input from the operation receiving unit 261. Specifically, the notifying section 267 displays a splash screen on the display section 206. The splash screen is an image indicating that the search process is being executed, and may be, for example, an image indicating an hourglass, or a moving image in which the display mode of a predetermined area changes over time. You may. The search-in-progress notification unit 267 displays an image indicating that the search process is being performed on a part of the display surface of the display unit 206. The image indicating that the search process is being performed may be displayed on the entire display surface of the display unit 206.

探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が終了したことを通知することができる。また、探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力される前に、操作受付部261から中止指示が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が途中で中止したことを通知することができる。   The notifying section 267 displays an image indicating that the search process is being executed in response to the input of the start instruction from the operation accepting section 261 and the input of the end signal from the end notifying section 277. finish. This allows the user to be notified that the search processing has been completed. In addition, the search notification unit 267 responds to a stop instruction input from the operation reception unit 261 after a start instruction is input from the operation reception unit 261 and before an end signal is input from the end notification unit 277. Then, the display of the image indicating that the search process is being performed is ended. This allows the user to be notified that the search process has been stopped halfway.

図4は、第1の実施の形態における表示制御処理の流れの一例を示すフローチャートである。表示制御処理は、携帯情報装置200が備えるCPU201が表示制御プログラムを実行することによりCPU201により実行される処理である。以下、CPU201が表示制御プログラムを実行するスレッドを表示制御スレッドという。表示制御プログラムは、装置探索プログラムの一部である。図4を参照して、CPU201は、操作部207が起動操作を受け付けたか否かを判断する(ステップS01)。起動操作を受け付けるまで待機状態となり(ステップS01でNO)、起動操作を受け付けたならば(ステップS01でYES)、処理をステップS02に進める。   FIG. 4 is a flowchart illustrating an example of the flow of the display control process according to the first embodiment. The display control process is a process executed by CPU 201 provided in portable information device 200 as CPU 201 executes the display control program. Hereinafter, a thread in which the CPU 201 executes the display control program is referred to as a display control thread. The display control program is a part of the device search program. Referring to FIG. 4, CPU 201 determines whether or not operation unit 207 has received a start-up operation (step S01). The process is in a standby state until a start operation is received (NO in step S01). If a start operation is received (YES in step S01), the process proceeds to step S02.

ステップS02においては、探索スレッドを起動する。具体的には、CPU201に周辺装置探索プログラムを実行させる。以下、CPU201が周辺装置探索プログラムを実行するスレッドを探索スレッドという。次のステップS03においては、探索スレッドから終了信号が入力されたか否かを判断する。探索スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。   In step S02, a search thread is started. Specifically, it causes the CPU 201 to execute the peripheral device search program. Hereinafter, a thread in which the CPU 201 executes the peripheral device search program is referred to as a search thread. In the next step S03, it is determined whether or not an end signal has been input from the search thread. If an end signal has been input from the search thread, the process ends. If not, the process proceeds to step S04.

ステップS04においては、中止操作を受け付けたか否かを判断する。中止操作を受け付けたならば処理をステップS05に進めるが、そうでなければ処理をステップS03に戻す。ステップS05においては、ステップS01において起動した探索スレッドを終了させ、処理を終了する。   In step S04, it is determined whether a stop operation has been received. If the stop operation has been accepted, the process proceeds to step S05; otherwise, the process returns to step S03. In step S05, the search thread started in step S01 is terminated, and the process is terminated.

図5は、第1の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。周辺装置探索処理は、携帯情報装置200が備えるCPU201が、周辺装置探索プログラムを実行する処理である。CPU201が、周辺装置探索プログラムを実行するスレッドは、表示制御処理のステップS01において起動される探索スレッドである。図5を参照して、CPU201は、表示制御スレッドを検出する(ステップS21)。表示部206を制御するスレッドを、オペレーティングシステムに問い合わせることにより、表示制御スレッドを検出する。   FIG. 5 is a flowchart illustrating an example of the flow of the peripheral device search process according to the first embodiment. The peripheral device search process is a process in which the CPU 201 included in the portable information device 200 executes a peripheral device search program. The thread in which the CPU 201 executes the peripheral device search program is a search thread started in step S01 of the display control process. Referring to FIG. 5, CPU 201 detects a display control thread (step S21). The display control thread is detected by inquiring the operating system of the thread that controls the display unit 206.

次のステップS22においては、通信プロトコルを選択する。装置探索のための通信プロトコルとして予め定められたSSDPおよびWSDのプロトコルのうちから1つを選択する。そして、無線LANI/F208を介して、ステップS22において選択たされたプロトコルに対応する探索コマンドを送信する(ステップS23)。次のステップS24においては、無線LANI/F208が、ステップS23において送信された探索コマンドに応答する周辺装置が送信する応答コマンドを受信した中否かを判断する。応答コマンドを受信したならば処理をステップS25に進めるが、そうでなければ処理をステップS26に進める。ステップS25においては、ステップS21において検出された表示制御スレッドに割り込みを発生させ、応答コマンドを出力する。   In the next step S22, a communication protocol is selected. One of predetermined SSDP and WSD protocols is selected as a communication protocol for device search. Then, a search command corresponding to the protocol selected in step S22 is transmitted via the wireless LAN I / F 208 (step S23). In the next step S24, the wireless LAN I / F 208 determines whether or not it is currently receiving a response command transmitted by the peripheral device that responds to the search command transmitted in step S23. If a response command has been received, the process proceeds to step S25; otherwise, the process proceeds to step S26. In step S25, an interrupt is generated in the display control thread detected in step S21, and a response command is output.

次のステップS26においては、ステップS23において探索コマンドを送信してから所定時間が経過したか否かを判断する。所定時間が経過したならば処理をステップS28に進めるが、そうでなければ処理をステップS27に進める。   In the next step S26, it is determined whether or not a predetermined time has elapsed since the search command was transmitted in step S23. If the predetermined time has elapsed, the process proceeds to step S28; otherwise, the process proceeds to step S27.

ステップS27においては、探索スレッドの終了を検出したか否かを判断する。オペレーティングシステムにより終了が指示されたならば探索スレッドの終了を検出する。探索スレッドの終了を検出したならば処理を終了するが、そうでなければ処理をステップS24に戻す。   In step S27, it is determined whether the end of the search thread has been detected. If the end is instructed by the operating system, the end of the search thread is detected. If the end of the search thread is detected, the process ends. If not, the process returns to step S24.

ステップS28においては、装置探索のためのプロトコルとして予め定められたSSDPおよびWSDのプロトコルのうちステップS22において選択されていないプロトコルが存在するか否かを判断する。未選択のプロトコルが存在するならば処理をステップS22に戻すが、そうでなければ処理を終了する。   In step S28, it is determined whether or not there is a protocol not selected in step S22 among SSDP and WSD protocols predetermined as a device search protocol. If there is an unselected protocol, the process returns to step S22; otherwise, the process ends.

図6は、第1の実施の形態における割込処理の流れの一例を示すフローチャートである。割込処理は、CPU201が、割込時表示プログラムを実行することによりCPU201により実行される処理であり、表示制御処理を実行している段階で、CPU201が割り込みの発生を検出することに応じて、実行する処理である。割込時表示プログラムは、表示制御プログラムの一部である。図6を参照して、CPU201は、割り込みが発生したか否かを判断する(ステップS11)。割り込みの発生を検出するまで待機状態となり、割り込みの発生を検出したならば処理をステップS12に進める。   FIG. 6 is a flowchart illustrating an example of the flow of an interrupt process according to the first embodiment. The interrupt process is a process executed by the CPU 201 when the CPU 201 executes the display program at the time of the interrupt. In the stage where the display control process is being executed, the CPU 201 detects the occurrence of the interrupt. This is the process to be executed. The interruption display program is a part of the display control program. Referring to FIG. 6, CPU 201 determines whether or not an interrupt has occurred (step S11). The process waits until an interrupt is detected. If an interrupt is detected, the process proceeds to step S12.

ステップS12においては、応答コマンドを取得する。割り込みを発生させた探索スレッドが出力する応答コマンドを取得する。そして、取得された応答コマンドに含まれる装置情報を表示部206に表示し、処理を終了する。   In step S12, a response command is obtained. Get the response command output by the search thread that caused the interrupt. Then, the device information included in the obtained response command is displayed on the display unit 206, and the process ends.

図7は、第1の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。図7を参照して、縦方向上から下に向かって時間の流れを示し、表示制御スレッド、探索スレッド、MFP100,100A,100Bそれぞれが送受信するデータを矢印で示している。   FIG. 7 is a diagram illustrating a flow of data in the print system according to the first embodiment. Referring to FIG. 7, the flow of time is shown from the top to the bottom in the vertical direction, and data transmitted and received by display control thread, search thread, and MFPs 100, 100A, and 100B are indicated by arrows.

まず、表示制御スレッドが探索スレッドを起動とともに、探索処理を実行中であることを示す画像を表示する。探索スレッドは、表示制御スレッドにより起動されると、SSDPのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてSSDPのプロトコルに従った探索コマンドが受信される。MFP100は、SSDPのプロトコルに対応しているので、MFP100が探索コマンドに応答して、応答コマンドを探索スレッドに返信する。一方、MFP100A,100Bは、SSDPのプロトコルに対応していないので、探索コマンドを無視する。探索スレッドは、MFP100から受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。   First, the display control thread activates the search thread and displays an image indicating that the search process is being executed. When activated by the display control thread, the search thread broadcasts a search command according to the SSDP protocol. Thus, each of MFPs 100, 100A, and 100B receives the search command according to the SSDP protocol. Since the MFP 100 supports the SSDP protocol, the MFP 100 returns a response command to the search thread in response to the search command. On the other hand, since the MFPs 100A and 100B do not support the SSDP protocol, they ignore the search command. The search thread outputs a response command received from MFP 100 to the display control thread by interruption. The display control thread displays the device information included in the response command in response to receiving the response command.

次に、探索スレッドは、SSDPのプロトコルに従った探索処理が終了すると、WSDのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてWSDのプロトコルに従った探索コマンドが受信される。MFP100は、WSDのプロトコルに対応していないので、探索コマンドを無視する。MFP100A,100Bは、SSDPのプロトコルに対応しているので、MFP100A,100Bそれぞれが探索コマンドに応答して、応答コマンドを探索スレッドに返信する。探索スレッドは、MFP100Aから受信される応答コマンドを、割り込みにより表示制御スレッドに出力し、MFP100Bから受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。   Next, upon completion of the search processing according to the SSDP protocol, the search thread broadcasts a search command according to the WSD protocol. Thereby, each of MFPs 100, 100A, and 100B receives the search command according to the WSD protocol. Since the MFP 100 does not support the WSD protocol, the MFP 100 ignores the search command. Since the MFPs 100A and 100B support the SSDP protocol, each of the MFPs 100A and 100B responds to the search command and returns a response command to the search thread. The search thread outputs a response command received from MFP 100A to the display control thread by interruption, and outputs a response command received from MFP 100B to the display control thread by interruption. The display control thread displays the device information included in the response command in response to receiving the response command.

探索スレッドは、WSDのプロトコルに従った探索処理が終了すると、終了信号を表示制御スレッドに出力し、処理を終了する。終了信号が入力される表示制御スレッドは、探索処理を実行中であることを示す画像の表示を中止する。   When the search processing according to the WSD protocol ends, the search thread outputs an end signal to the display control thread, and ends the processing. The display control thread to which the end signal is input stops displaying the image indicating that the search process is being executed.

以上説明したように、第1の実施の形態における携帯情報装置は、情報処理装置として機能し、スレッド制御の命令をサポートしていない記述言語で記述された表示制御プログラムを実行することにより、表示部206および操作部207を制御する第1実行部251と、スレッド制御の命令をサポートしているプログラム言語で記述された周辺装置探索プログラムを実行することにより、通信可能な装置を探索する第2実行部253と、を備る。第1実行部251は、操作部251により起動操作が受け付けられることに応じて、第2実行部253を起動し、第2実行部253が起動されてから探索処理が終了する前に、第2実行部253によって探索された通信可能な装置の装置識別情報を取得し、表示する。このため、ユーザーによる起動操作を受け付けてから装置識別情報を表示するまでの時間を短くすることができる。その結果、スレッド制御の命令をサポートしていないプログラム言語で記述された表示制御プログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くすることができる。また、表示制御プログラムは、オペレーティングシステムに依存しない記述言語で記述されるので、1種類を作成すればよいので、開発が容易である。   As described above, the portable information device according to the first embodiment functions as an information processing device, and executes a display control program described in a description language that does not support a thread control instruction, thereby providing a display. A first execution unit 251 for controlling the unit 206 and the operation unit 207, and a second device for searching for a communicable device by executing a peripheral device search program described in a programming language that supports a thread control instruction. And an execution unit 253. The first execution unit 251 activates the second execution unit 253 in response to the activation operation received by the operation unit 251, and executes the second execution before the search process ends after the second execution unit 253 is activated. The device identification information of the communicable device searched for by the execution unit 253 is acquired and displayed. For this reason, it is possible to shorten the time from when the start operation by the user is accepted until when the device identification information is displayed. As a result, the response time can be shortened when the result of the search processing for searching for the device is displayed by a display control program written in a program language that does not support the thread control instruction. Further, since the display control program is described in a description language independent of the operating system, only one type needs to be created, which facilitates development.

また、第2実行部253は、通信可能な装置を検出するごとに、第1実行部251に対して割り込みを発生するとともに、第1実行部251に検出された装置の装置識別情報を出力する。このため、第1実行部251は、通信可能な装置が検出されるごとに、検出された装置の装置識別情報を表示することができる。   In addition, every time the second executor 253 detects a communicable device, the second executor 253 generates an interrupt to the first executor 251 and outputs device identification information of the detected device to the first executor 251. . For this reason, the first execution unit 251 can display the device identification information of the detected device every time a communicable device is detected.

また、表示制御プログラムを実行する第1実行部251が、探索処理の実行の中止を指示する操作を受け付けると、周辺装置探索プログラムを実行する第2実行部253が探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。   Further, when the first execution unit 251 executing the display control program receives an operation for instructing the execution of the search process to be stopped, the second execution unit 253 executing the peripheral device search program stops the execution of the search process. For this reason, the user can stop the search process halfway.

また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示部206に表示する。このため、ユーザーに探索処理を実行中であることを通知することができる。   In addition, the first execution unit 251 displays an image indicating that the search process is being executed on the display unit 206 from when the second execution unit 253 is activated to when the second execution unit 253 ends the search process. indicate. Therefore, it is possible to notify the user that the search process is being executed.

なお、第1の実施の形態において、探索部273は、装置探索のための複数のプロトコルにそれぞれに対応する探索処理を順に実行するようにした。これとは別に、探索部273は、ネットワークアドレスをサブネットマスクで複数に細分化し、細分化された複数のサブネットマスクそれぞれに対応する探索処理を順に実行するようにしてもよい。この場合、探索部273は、複数のサブネットマスクの数と同じ数の探索処理を順に実行する。また、探索の対象となる複数の装置が予め定められている場合には、探索部273が複数の装置それぞれを探索する探索処理を順に実行するようにしてもよい。この場合には、探索部273は、複数の装置の数と同じ数の探索処理を順に実行する。さらに、複数の装置をグループ化し、探索部273が、複数のグループそれぞれに対応する探索処理を実行するようにしてもよい。この場合には、探索部273は、複数のグループの数と同じ数の探索処理を順に実行する。   In the first embodiment, the search unit 273 sequentially executes search processes corresponding to a plurality of protocols for device search. Separately from this, the search unit 273 may subdivide the network address into a plurality of subnetwork masks, and sequentially execute the search processing corresponding to each of the subdivided subnetwork masks. In this case, the search unit 273 sequentially performs the same number of search processes as the number of the plurality of subnet masks. When a plurality of devices to be searched are predetermined, the search unit 273 may sequentially execute a search process of searching for each of the plurality of devices. In this case, the search unit 273 sequentially executes the same number of search processes as the number of devices. Further, a plurality of devices may be grouped, and the search unit 273 may execute a search process corresponding to each of the plurality of groups. In this case, the search unit 273 sequentially executes the same number of search processes as the number of groups.

<第2の実施の形態>
第2の実施の形態におけるプリントシステムの全体概要は、図1に示した全体概要と同じである。また、第2の実施の形態における携帯情報装置200の構成は、図2に示した構成と同じである。したがって、ここでは説明を繰り返さない。
<Second embodiment>
The general outline of the print system according to the second embodiment is the same as the general outline shown in FIG. The configuration of the portable information device 200 according to the second embodiment is the same as the configuration shown in FIG. Therefore, description will not be repeated here.

第2の実施の形態における携帯情報装置200は、複数の探索処理をそれぞれ実行する複数の探索スレッドを起動する点で第1の実施の形態における携帯情報装置200と、異なる。第1の実施の形態における携帯情報装置200は、SSDPのプロトコルおよびWSDのプロトコルのいずれかに従って探索処理を実行した後、別のプロトコルのプロトコルに従って探索処理を実行する。第2の実施の形態における携帯情報装置200は、SSDPのプロトコルに対応する探索処理を実行する探索スレッドと、WSDのプロトコルに対応する探索処理を実行する探索スレッドと、を並列で起動する。   The portable information device 200 according to the second embodiment is different from the portable information device 200 according to the first embodiment in that a plurality of search threads that respectively execute a plurality of search processes are activated. The portable information device 200 according to the first embodiment executes a search process according to one of the SSDP protocol and the WSD protocol, and then executes a search process according to another protocol. The portable information device 200 according to the second embodiment activates, in parallel, a search thread for executing a search process corresponding to the SSDP protocol and a search thread for executing a search process corresponding to the WSD protocol.

図8は、第2の実施の形態における携帯情報装置が備えるCPUが有する機能の一例を示すブロック図である。図8に示す機能は、携帯情報装置200が備えるCPU201が第2の実施の形態における装置探索プログラムを実行することによりCPU201に形成される機能である。第2の実施の形態における装置探索プログラムは、スレッド制御のコマンドをサポートしていないプログラム言語で記述された表示制御プログラムと、スレッド制御のコマンドをサポートしているプログラム言語で記述されたスレッド制御プログラムおよび周辺装置探索プログラムと、を含む。   FIG. 8 is a block diagram illustrating an example of functions of a CPU included in the portable information device according to the second embodiment. The function illustrated in FIG. 8 is a function formed in CPU 201 when CPU 201 included in portable information device 200 executes the device search program according to the second embodiment. The device search program according to the second embodiment includes a display control program written in a programming language that does not support thread control commands, and a thread control program written in a programming language that supports thread control commands. And a peripheral device search program.

表示制御プログラムは、HTMLおよびJavaScript(登録商標)等の記述言語で記述される。表示制御プログラムは、CSS(Cascading Style Sheets)等の文書の視覚的な構造を定めるスタイルシートを含んでもよい。HTMLおよびJavaScript(登録商標)の記述言語は、それがインストールされる装置のオペレーティングシステムに依存しない汎用的なプログラムング言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合であっても携帯情報装置200,200A,200Bそれぞれに同一の表示制御プログラムをインストールすることができる。   The display control program is described in a description language such as HTML and JavaScript (registered trademark). The display control program may include a style sheet that determines the visual structure of a document such as CSS (Cascading Style Sheets). The description language of HTML and JavaScript is a general-purpose programming language that does not depend on the operating system of the device on which it is installed. Therefore, for example, the same display control program can be installed in each of the portable information devices 200, 200A, and 200B even when the operating system is different in the portable information devices 200, 200A, and 200B.

スレッド制御プログラムおよび周辺装置探索プログラムは、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述される。実際には、CPU201は、Java(登録商標)、C、C++またはObjective−C等のプログラム言語で記述されたソースプログラムをコンパイルした実行ファイルを実行する。以下、スレッド制御プログラムおよび周辺装置探索プログラムというときは、それらのソースプログラムをコンパイルした実行ファイルを含む。スレッド制御プログラムおよび周辺装置探索プログラムは、それらがインストールされる装置のオペレーティングシステムに依存するプログラム言語である。このため、例えば、携帯情報装置200,200A,200Bで、オペレーティングシステムが異なる場合、携帯情報装置200,200A,200Bのオペレーティングシステムにそれぞれ対応するスレッド制御プログラムおよび周辺装置探索プログラムをインストールする必要がある。   The thread control program and the peripheral device search program are described in a programming language such as Java (registered trademark), C, C ++, or Objective-C. Actually, the CPU 201 executes an execution file obtained by compiling a source program described in a programming language such as Java (registered trademark), C, C ++, or Objective-C. Hereinafter, the thread control program and the peripheral device search program include executable files obtained by compiling the source programs. The thread control program and the peripheral device search program are programming languages depending on the operating system of the device on which they are installed. Therefore, for example, when the operating systems of the portable information devices 200, 200A, and 200B are different, it is necessary to install a thread control program and a peripheral device search program respectively corresponding to the operating systems of the portable information devices 200, 200A, and 200B. .

図8を参照して、第2の実施の形態における携帯情報装置200が備えるCPU201が有する機能が、図3に示した機能と異なる点は、第1実行部251の起動部263および装置情報取得部269が、起動部263Aおよび装置情報取得部269Aに変更された点、第2実行部253が、第2実行部255、第1サブ実行部253Aおよび第2サブ実行部253Bに変更された点である。その他の機能は、図3に示した機能と同じなので、ここでは説明を繰り返さない。   Referring to FIG. 8, the functions of CPU 201 included in portable information device 200 according to the second embodiment are different from the functions shown in FIG. 3 in that activation unit 263 of first execution unit 251 and device information acquisition The point that the unit 269 has been changed to the activation unit 263A and the device information acquisition unit 269A, and the point that the second execution unit 253 has been changed to the second execution unit 255, the first sub execution unit 253A, and the second sub execution unit 253B. It is. The other functions are the same as those shown in FIG. 3, and thus description thereof will not be repeated here.

起動部263Aは、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263Aは、CPU201にスレッド制御プログラムの実行を指示する。第2実行部255は、CPU201がスレッド制御プログラムを実行するスレッド制御スレッドである。起動部263Aは、第2実行部255を起動すると、第2実行部255を起動したことを示す信号を中止指示部265に出力する。   The activation unit 263A activates the second execution unit 253 in response to an activation instruction input from the operation reception unit 261. Specifically, the activation unit 263A instructs the CPU 201 to execute the thread control program. The second execution unit 255 is a thread control thread in which the CPU 201 executes a thread control program. When activating the second execution unit 255, the activation unit 263A outputs a signal indicating that the second execution unit 255 has been activated to the stop instruction unit 265.

第2実行部255は、スレッド起動部281と、サブ中止指示部283と、終了通知部285と、を含む。スレッド起動部281は、起動部263Aにより第2実行部253が起動されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bを起動する。具体的には、スレッド起動部281は、CPU201にSSDPのプロトコルに対応する周辺装置探索プログラムの実行を指示するとともに、CPU201にWSDのプロトコルに対応する周辺装置探索プログラムの実行を指示する。これにより、CPU201は、第1サブ実行部253Aおよび第2サブ実行部253Bを形成する。   The second execution unit 255 includes a thread activation unit 281, a sub stop instruction unit 283, and an end notification unit 285. The thread activation unit 281 activates the first sub execution unit 253A and the second sub execution unit 253B in response to the activation of the second execution unit 253 by the activation unit 263A. More specifically, the thread activation unit 281 instructs the CPU 201 to execute a peripheral device search program corresponding to the SSDP protocol, and instructs the CPU 201 to execute a peripheral device search program corresponding to the WSD protocol. Thereby, the CPU 201 forms the first sub execution unit 253A and the second sub execution unit 253B.

第1サブ実行部253Aは、CPU201がSSDPのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。第2サブ実行部253Bは、CPU201がWSDのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。スレッド起動部281は、第1サブ実行部253Aおよび第2サブ実行部253Bを起動することに応じて、それらを識別するためのスレッド識別情報をサブ中止指示部283および終了通知部285に出力する。   The first sub execution unit 253A is a sub search thread in which the CPU 201 executes a peripheral device search program corresponding to the SSDP protocol. The second sub execution unit 253B is a sub search thread in which the CPU 201 executes a peripheral device search program corresponding to the WSD protocol. In response to the activation of the first sub-execution unit 253A and the second sub-execution unit 253B, the thread activation unit 281 outputs thread identification information for identifying them to the sub-suspension instructing unit 283 and the end notification unit 285. .

なお、ここでは、SSDPのプロトコルに対応するサブ探索スレッドと、およびWSDのプロトコルに対応するサブ探索スレッドとを起動する場合を例に説明するが、スレッド起動部281は、装置探索のために予め定められたプロトコルの数と同じ数のサブ探索スレッドを起動する。   Here, a case will be described as an example in which a sub-search thread corresponding to the SSDP protocol and a sub-search thread corresponding to the WSD protocol are started. Launch the same number of sub-search threads as the defined number of protocols.

第1サブ実行部253Aは、第1探索部273Aと、第1出力部275Aと、第1サブ終了通知部277Aと、を含む。第1探索部273Aは、スレッド起動部281により起動されることに応じて、SSDPのプロトコルに対応する第1探索処理を実行する。具体的には、第1探索部273Aは、SSDPのプロトコルに従って、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する、SSDPのプロトコルに従った応答コマンドを受信する。   The first sub execution unit 253A includes a first search unit 273A, a first output unit 275A, and a first sub end notification unit 277A. The first search unit 273A executes a first search process corresponding to the SSDP protocol in response to being activated by the thread activation unit 281. Specifically, the first search unit 273A transmits a search command via the wireless LAN I / F 208 according to the SSDP protocol, and sends a response command according to the SSDP protocol returned by a peripheral device that responds to the search command. Receive.

第1探索部273Aは、無線LANI/F208が探索コマンドに応答する周辺装置から応答コマンドを受信することに応じて、第1出力部275Aに受信された応答コマンドを出力する。第1探索部273Aは、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。第1探索部273Aは、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを第1出力部275Aに出力する。第1探索部273Aは、第1の種類のプロトコルに対応する探索処理を終了すると、終了信号を第1サブ終了通知部277Aに出力する。   The first search unit 273A outputs the received response command to the first output unit 275A in response to the wireless LAN I / F 208 receiving a response command from a peripheral device responding to the search command. The first search unit 273A starts the search process by transmitting the search command, and ends the search process when a predetermined time has elapsed after transmitting the search command. The first search unit 273A outputs the received response command to the first output unit 275A every time a response command is received during a period from the start to the end of the search process. When ending the search processing corresponding to the first type of protocol, the first search unit 273A outputs an end signal to the first sub end notification unit 277A.

第1出力部275Aは、第1探索部273Aから応答コマンドが入力されることに応じて、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第1出力部275Aは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第1出力部275Aは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。   The first output unit 275A outputs the response command to the first execution unit 251 by interruption via the operating system in response to the response command being input from the first search unit 273A. Note that the first output unit 275A may detect the first execution unit 251 by inquiring the operating system of a display control thread that controls the display unit 206. In this case, the first output unit 275A generates an interrupt to the first execution unit 251 which is the display control thread specified by the thread identification information acquired from the operating system, and outputs a response command.

第1サブ終了通知部277Aは、第1探索部273Aから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第1の探索処理が終了したことを通知する。具体的には、第1サブ終了通知部277Aは、終了通知部285にサブ終了信号を出力する。   The first sub end notification unit 277A notifies the end notification unit 285 of the second execution unit 255 that the first search process has ended in response to the input of the end signal from the first search unit 273A. Specifically, the first sub-termination notification unit 277A outputs a sub-termination signal to the termination notification unit 285.

第2サブ実行部253Bは、第2探索部273Bと、第2出力部275Bと、第2サブ終了通知部277Bと、を含む。第2探索部273Bは、スレッド起動部281により起動されることに応じて、WSDのプロトコルに対応する第2探索処理を実行する。具体的には、第2探索部273Bは、WSDのプロトコルに従って、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する、WSDのプロトコルに従った応答コマンドを受信する。   The second sub execution unit 253B includes a second search unit 273B, a second output unit 275B, and a second sub end notification unit 277B. The second search unit 273B executes a second search process corresponding to the WSD protocol in response to being activated by the thread activation unit 281. Specifically, the second search unit 273B transmits a search command via the wireless LAN I / F 208 according to the WSD protocol, and sends a response command according to the WSD protocol, which is returned by a peripheral device responding to the search command. Receive.

第2探索部273Bは、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、第2出力部275Bに受信された応答コマンドを出力する。第2探索部273Bは、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。第2探索部273Bは、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを第2出力部275Bに出力する。第2探索部273Bは、第2の種類のプロトコルに対応する探索処理を終了すると、終了信号を第2サブ終了通知部277Bに出力する。   The second search unit 273B outputs the received response command to the second output unit 275B in response to the wireless LAN I / F 208 receiving the response command from the peripheral device. The second search unit 273B starts the search process by transmitting the search command, and ends the search process when a predetermined time has elapsed after transmitting the search command. The second search unit 273B outputs the received response command to the second output unit 275B every time a response command is received during a period from the start to the end of the search process. When completing the search processing corresponding to the second type of protocol, the second search unit 273B outputs an end signal to the second sub-end notification unit 277B.

第2出力部275Bは、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第2出力部275Bは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第2出力部275Bは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。   The second output unit 275B outputs a response command to the first execution unit 251 by interruption via the operating system. Note that the second output unit 275B may detect the first execution unit 251 by inquiring the operating system of a display control thread that controls the display unit 206. In this case, the second output unit 275B generates an interrupt to the first execution unit 251 which is the display control thread specified by the thread identification information acquired from the operating system, and outputs a response command.

第2サブ終了通知部277Bは、第2探索部273Bから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第2の探索処理が終了したことを通知する。具体的には、第2サブ終了通知部277Bは、終了通知部285にサブ終了信号を出力する。   The second sub end notification unit 277B notifies the end notification unit 285 of the second execution unit 255 that the second search process has ended, in response to the input of the end signal from the second search unit 273B. Specifically, the second sub-termination notification unit 277B outputs a sub-termination signal to the termination notification unit 285.

終了通知部285は、スレッド起動部281からスレッド起動部281により起動された探索スレッドのスレッド識別情報が入力される。ここでは、終了通知部285は、スレッド起動部281から第1サブ実行部253Aのスレッド識別情報と第2サブ実行部253Bのスレッド識別情報と、が入力される。   The end notification unit 285 receives the thread identification information of the search thread activated by the thread activation unit 281 from the thread activation unit 281. Here, the thread notification information of the first sub-execution unit 253A and the thread identification information of the second sub-execution unit 253B are input from the thread activation unit 281 to the end notification unit 285.

終了通知部285は、スレッド起動部281により起動されたすべての探索スレッドが終了することに応じて、探索中通知部267に終了信号を出力する。具体的には、終了通知部285は、第1サブ終了通知部277Aからサブ終了信号が入力され、かつ、第2サブ終了通知部277Bからサブ終了信号が入力されることに応じて、探索中通知部267に終了信号を出力する。   The end notification unit 285 outputs an end signal to the searching notification unit 267 in response to the termination of all the search threads started by the thread start unit 281. Specifically, end notifying section 285 is searching in response to the input of the sub end signal from first sub end notifying section 277A and the input of the sub end signal from second sub end notifying section 277B. An end signal is output to the notification unit 267.

また、終了通知部285は、第1サブ終了通知部277Aからサブ終了信号が入力されることに応じて、第1サブ実行部253Aのスレッド識別情報を含む第1終了信号をサブ中止指示部283に出力する。終了通知部285は、第2サブ終了通知部277Bからサブ終了信号が入力されることに応じて、第2サブ実行部253Bのスレッド識別情報を含む第2終了信号をサブ中止指示部283に出力する。   Further, in response to the input of the sub end signal from the first sub end notification unit 277A, the end notification unit 285 outputs the first end signal including the thread identification information of the first sub execution unit 253A to the sub stop instruction unit 283. Output to The end notification unit 285 outputs a second end signal including the thread identification information of the second sub execution unit 253B to the sub stop instruction unit 283 in response to the input of the sub end signal from the second sub end notification unit 277B. I do.

中止指示部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を終了させる。   When the stop instruction unit 265 terminates the second execution unit 255, the second execution unit 255 is terminated by the operating system. When terminated by the operating system, the sub stop instruction unit 283 terminates the first sub execution unit 253A and the second sub execution unit 253B. Specifically, when the thread identification information of the first sub-execution unit 253A is input from the thread activation unit 281, the sub-stop instruction unit 283 detects that the first sub-execution unit 253A has been activated. When the thread identification information of the second sub-execution unit 253B is input from the thread activation unit 281, the sub-stop instruction unit 283 detects that the second sub-execution unit 253A has been activated. In addition, when the first termination signal is input from termination notification unit 285, sub stop instruction unit 283 detects that first sub execution unit 253A has completed the search process, and outputs a second termination signal from termination notification unit 285. Is input, the second sub-execution unit 253B detects that the search processing has been completed. When the sub-stop instructing unit 283 is terminated by the operating system, the first sub-executing unit 253A is terminated when the first sub-executing unit 253A is not terminated, and when the second sub-executing unit 253A is not terminated. Terminates the second sub execution unit 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の探索処理をそれぞれ終了する。   When terminating the first sub-execution unit 253A, the sub-stop instruction unit 283 outputs a command for terminating the first sub-execution unit 253A to the operating system, and terminates the second sub-execution unit 253B when executing the second sub-execution unit. A command to end the unit 253B is output to the operating system. When terminating the first sub-execution unit 253A, the sub-stop instruction unit 283 outputs a termination command to the first sub-execution unit 253A. An end command may be output to the unit 253B. In this case, each of the first sub-execution unit 253A and the second sub-execution unit 253B responds to the end command from the sub-stop instruction unit 283 included in the second execution unit 255 to perform the first search processing or the second search. The search process of No. 2 is ended.

装置情報取得部269Aは、第1出力部275Aおよび第2出力部275Bそれぞれから割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、第1出力部275Aから出力される応答コマンドまたは第2出力部275Bから出力される応答コマンドを取得する。装置情報取得部269Aは、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。   The device information acquisition unit 269A receives a response command by an interrupt from each of the first output unit 275A and the second output unit 275B. When detecting the interruption, the device information acquisition unit 269 acquires a response command output from the first output unit 275A or a response command output from the second output unit 275B. When acquiring the response command, the device information acquisition unit 269A outputs the response command to the interruption display unit 271.

図9は、第2の実施の形態における表示制御処理の流れの一例を示すフローチャートである。第2の実施の形態における表示制御処理は、携帯情報装置200が備えるCPU201が表示制御プログラムを実行することによりCPU201により実行される処理である。図9を参照して、CPU201は、操作部207が起動指示を受け付けたか否かを判断する(ステップS01)。起動指示を受け付けるまで待機状態となり(ステップS01でNO)、起動指示を受け付けたならば(ステップS01でYES)、処理をステップS02Aに進める。   FIG. 9 is a flowchart illustrating an example of the flow of a display control process according to the second embodiment. The display control process according to the second embodiment is a process executed by CPU 201 of portable information device 200 as CPU 201 executes the display control program. Referring to FIG. 9, CPU 201 determines whether operation unit 207 has received a start instruction (step S01). The process enters a standby state until a start instruction is received (NO in step S01). If a start instruction is received (YES in step S01), the process proceeds to step S02A.

ステップS02Aにおいては、スレッド制御スレッドを起動する。具体的には、CPU201にスレッド制御プログラムを実行させる。以下、CPU201がスレッド制御プログラムを実行するスレッドをスレッド制御スレッドという。次のステップS03Aにおいては、スレッド制御スレッドから終了信号が入力されたか否かを判断する。スレッド制御スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。   In step S02A, a thread control thread is started. Specifically, the CPU 201 causes the CPU 201 to execute a thread control program. Hereinafter, a thread in which the CPU 201 executes the thread control program is referred to as a thread control thread. In the next step S03A, it is determined whether or not an end signal has been input from the thread control thread. If an end signal has been input from the thread control thread, the process ends. If not, the process proceeds to step S04.

ステップS04においては、中止操作を受け付けたか否かを判断する。中止操作を受け付けたならば処理をステップS05Aに進めるが、そうでなければ処理をステップS03Aに戻す。ステップS05Aにおいては、ステップS01において起動したスレッド制御スレッドを終了させ、処理を終了する。   In step S04, it is determined whether a stop operation has been received. If the cancel operation has been accepted, the process proceeds to step S05A; otherwise, the process returns to step S03A. In step S05A, the thread control thread started in step S01 ends, and the process ends.

第2の実施の形態における携帯情報装置200が備えるCPU201は、図9に示した第2の実施の形態における表示制御処理を実行している間、図6に示した割込処理と同様の処理を実行する。   The CPU 201 included in the portable information device 200 according to the second embodiment performs the same processing as the interrupt processing illustrated in FIG. 6 while performing the display control processing according to the second embodiment illustrated in FIG. Execute

図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に進める。   FIG. 10 is a flowchart illustrating an example of the flow of a thread control process according to the second embodiment. The thread control process is a process that the CPU 201 included in the portable information device 200 executes by executing the thread control program. The thread in which the CPU 201 of the portable information device 200 executes the thread control program is a thread control thread started in step S01 of the display control process. Referring to FIG. 10, CPU 201 selects a protocol for device search (step S31). One of SSDP and WSD predetermined as a protocol for device search is selected. In the next step S32, a sub search thread for executing a device search process corresponding to the protocol selected in step S31 is started. Specifically, the CPU 201 causes the CPU 201 to execute a peripheral device search program corresponding to the protocol selected in step S31. Hereinafter, a thread in which the CPU 201 executes the peripheral device search program corresponding to the device search protocol is referred to as a sub search thread. In the next step S33, the thread identification information of the sub search thread started in step S32 is obtained. In the next step S34, it is determined whether or not there is a protocol not selected in step S31 among SSDP and WSD predetermined as a protocol for device search. If such a protocol exists, the process returns to step S31; otherwise, the process proceeds to step S35.

ステップS35においては、ステップS32において起動したサブ探索スレッドのすべてが終了したか否かを判断する。サブ探索スレッドのすべてが終了したならば処理を終了するが、そうでなければ処理をステップS36に進める。   In step S35, it is determined whether all of the sub search threads started in step S32 have been completed. If all the sub search threads have been completed, the process ends. If not, the process proceeds to step S36.

ステップS36においては、スレッド制御スレッドの終了を検出したか否かを判断する。オペレーティングシステムにより終了が指示されたならばスレッド制御スレッドの終了を検出する。スレッド制御スレッドの終了を検出したならば処理をステップS37に進めるが、そうでなければ処理をステップS35に戻す。   In step S36, it is determined whether the end of the thread control thread has been detected. When the termination is instructed by the operating system, the termination of the thread control thread is detected. If the end of the thread control thread is detected, the process proceeds to step S37; otherwise, the process returns to step S35.

ステップS37においては、ステップS32において起動したサブ探索スレッドのうち終了していないサブ探索スレッドのすべてを終了させ、処理を終了する。   In step S37, all the non-terminated sub search threads among the sub search threads started in step S32 are terminated, and the process is terminated.

図11は、第2の実施の形態における周辺装置探索処理の流れの一例を示すフローチャートである。第2の実施の形態における周辺装置探索処理は、携帯情報装置200が備えるCPU201が、第2の実施の形態における周辺装置探索プログラムを実行することによりCPU201により実行される処理である。CPU201が、第2の実施の形態における周辺装置探索プログラムを実行するスレッドは、スレッド制御処理のステップS32において起動されるサブ探索スレッドである。図11を参照して、図5に示した第1の実施の形態における周辺装置探索処理と異なる点は、ステップS22およびステップS28が削除された点、ステップS23およびステップS24がステップS23AおよびステップS24Aに変更された点である。その他の処理は、図5に示した処理と同じなので、ここでは説明を繰り返さない。ステップS23Aにおいては、第2の実施の形態における装置探索プログラムに割り当てられたプロトコルに対応する探索コマンドを送信する。ステップS24においては、第2の実施の形態における装置探索プログラムに割り当てられたプロトコルに対応する応答コマンドを受信したか否かを判断する。   FIG. 11 is a flowchart illustrating an example of a flow of a peripheral device search process according to the second embodiment. The peripheral device search process according to the second embodiment is a process executed by CPU 201 of portable information device 200 as CPU 201 executes the peripheral device search program according to the second embodiment. The thread in which the CPU 201 executes the peripheral device search program in the second embodiment is a sub search thread started in step S32 of the thread control process. Referring to FIG. 11, the difference from the peripheral device search processing in the first embodiment shown in FIG. 5 is that steps S22 and S28 are deleted, and steps S23 and S24 are replaced with steps S23A and S24A. The point has been changed to. Other processes are the same as those shown in FIG. 5, and thus description thereof will not be repeated here. In step S23A, a search command corresponding to the protocol assigned to the device search program according to the second embodiment is transmitted. In step S24, it is determined whether a response command corresponding to the protocol assigned to the device search program according to the second embodiment has been received.

図12は、第2の実施の形態におけるプリントシステムにおけるデータの流れを示す図である。図12を参照して、縦方向上から下に向かって時間の流れを示し、表示制御スレッド、スレッド制御スレッド、SSDPのプロトコルに対応する第1探索スレッド、WSDのプロトコルに対応する第2探索スレッド、MFP100,100A,100Bそれぞれが送受信するデータを矢印で示している。   FIG. 12 is a diagram illustrating a data flow in the print system according to the second embodiment. Referring to FIG. 12, the flow of time is shown from top to bottom in the vertical direction, and a display control thread, a thread control thread, a first search thread corresponding to the SSDP protocol, and a second search thread corresponding to the WSD protocol , MFPs 100, 100A, and 100B are indicated by arrows.

まず、表示制御スレッドがスレッド制御スレッドを起動するとともに、探索処理を実行中であることを示す画像を表示する。スレッド制御スレッドは、表示制御スレッドにより起動されると、第1探索スレッドおよび第2探索スレッドを起動する。第1探索スレッドは、スレッド制御スレッドにより起動されるとSSDPのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてSSDPのプロトコルに従った探索コマンドが受信される。MFP100は、SSDPのプロトコルに対応しているので、MFP100が探索コマンドに応答して、応答コマンドを第1探索スレッドに返信する。一方、MFP100A,100Bは、SSDPのプロトコルに対応していないので、探索コマンドを無視する。第1探索スレッドは、MFP100から受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。第1探索スレッドは、SSDPのプロトコルに従った探索処理が終了すると、サブ終了信号をスレッド制御スレッドに出力し、処理を終了する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。   First, the display control thread activates the thread control thread and displays an image indicating that the search process is being executed. When activated by the display control thread, the thread control thread activates a first search thread and a second search thread. When activated by the thread control thread, the first search thread broadcasts a search command according to the SSDP protocol. Thus, each of MFPs 100, 100A, and 100B receives the search command according to the SSDP protocol. Since MFP 100 supports the SSDP protocol, MFP 100 responds to the search command and returns a response command to the first search thread. On the other hand, since the MFPs 100A and 100B do not support the SSDP protocol, they ignore the search command. The first search thread outputs a response command received from MFP 100 to the display control thread by interruption. When the search processing according to the SSDP protocol ends, the first search thread outputs a sub end signal to the thread control thread, and ends the processing. The display control thread displays the device information included in the response command in response to receiving the response command.

一方、第2探索スレッドは、スレッド制御スレッドにより起動されるとWSDのプロトコルに従った探索コマンドをブロードキャストで送信する。これにより、MFP100,100A,100BそれぞれにおいてWSDのプロトコルに従った探索コマンドが受信される。MFP100は、WSDのプロトコルに対応していないので、探索コマンドを無視する。MFP100A,100Bは、WSDのプロトコルに対応しているので、MFP100A,100Bそれぞれが探索コマンドに応答して、応答コマンドを第2探索スレッドに返信する。第2探索スレッドは、MFP100Aから受信される応答コマンドを、割り込みにより表示制御スレッドに出力し、MFP100Bから受信される応答コマンドを、割り込みにより表示制御スレッドに出力する。第2探索スレッドは、WSDのプロトコルに従った探索処理が終了すると、サブ終了信号をスレッド制御スレッドに出力し、処理を終了する。表示制御スレッドにおいては、応答コマンドを受信することに応じて、応答コマンドに含まれる装置情報を表示する。   On the other hand, when started by the thread control thread, the second search thread broadcasts a search command according to the WSD protocol. Thereby, each of MFPs 100, 100A, and 100B receives the search command according to the WSD protocol. Since the MFP 100 does not support the WSD protocol, the MFP 100 ignores the search command. Since MFPs 100A and 100B support the WSD protocol, each of MFPs 100A and 100B responds to the search command and returns a response command to the second search thread. The second search thread outputs a response command received from MFP 100A to the display control thread by interruption, and outputs a response command received from MFP 100B to the display control thread by interruption. When the search processing according to the WSD protocol ends, the second search thread outputs a sub end signal to the thread control thread, and ends the processing. The display control thread displays the device information included in the response command in response to receiving the response command.

スレッド制御スレッドは、第1探索スレッドからサブ終了信号が入力され、かつ、第2探索スレッドからサブ終了信号が入力されると、表示制御スレッドに終了信号を出力する。終了信号が入力される表示制御スレッドは、探索処理を実行中であることを示す画像の表示を中止する。   The thread control thread outputs an end signal to the display control thread when the sub end signal is input from the first search thread and the sub end signal is input from the second search thread. The display control thread to which the end signal is input stops displaying the image indicating that the search process is being executed.

第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よりもレスポンスタイムをさらに短くすることができる。   In the portable information device 200 according to the second embodiment, the search process includes a search process corresponding to the SSDP protocol, and a search process corresponding to the WSD protocol having different search conditions from SSDP. Is a first sub-execution unit 253A that executes a search process corresponding to the SSDP protocol in response to being activated by the first execution unit 251, and a search process corresponding to a WSD protocol having different search conditions from SSDP. The second sub-execution unit 253B that executes a plurality of division processes is activated, the first sub-execution unit 253A ends the search process corresponding to the SSDP protocol, and the second sub-execution unit 253B supports the WSD protocol. The first execution unit 251 is notified of the end of the search process on condition that the search process is ended. Each of the first sub-execution unit 253A and the second sub-execution unit 253B generates an interrupt to the first execution unit 251 and detects the device detected by the first execution unit 251 each time it detects a communicable device. The device identification information is output. For this reason, since the search process is divided into a plurality of division processes and executed in parallel, the response time can be further shortened as compared with the portable information device 200 according to the first embodiment.

また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間に、操作部207により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行部253に中止指示を出力し、第2実行部253は、中止指示が入力されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bにサブ中止指示を出力し、第1サブ実行部253Aおよび第2サブ実行部253Bそれぞれは、さらに、第2実行部253からサブ中止指示が入力されることに応じて、探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。   In addition, the first execution unit 251 performs an operation for instructing the execution of the search process to be stopped by the operation unit 207 during a period from when the second execution unit 253 is activated to when the second execution unit 253 ends the search process. In response to the acceptance, the second execution unit 253 outputs a stop instruction to the second execution unit 253. In response to the stop instruction being input, the second execution unit 253 outputs the first sub execution unit 253A and the second sub execution unit 253B. The first sub-execution unit 253A and the second sub-execution unit 253B further stop the execution of the search process in response to the input of the sub-stop instruction from the second execution unit 253. I do. For this reason, the user can stop the search process halfway.

なお、第2の実施の形態において、第2実行部255が起動する複数のサブ探索スレッドは、装置探索のための複数のプロトコルそれぞれに対応するようにした。これとは別に、第2実行部255が起動する複数のサブ探索スレッドを、ネットワークアドレスをサブネットマスクで複数に細分化し、細分化された複数のサブネットマスクそれぞれに対応させるようにしてもよい。この場合、第2実行部255は、複数のサブネットマスクの数と同じ数のサブ探索スレッドを起動する。また、探索の対象となる複数の装置が予め定められている場合には、第2実行部255が起動する複数のサブ探索スレッドを複数の装置それぞれに対応させるようにしてもよい。この場合には、第2実行部255は、複数の装置の数と同じ数のサブ探索スレッドを起動する。さらに、複数の装置をグループ化し、第2実行部255が起動する複数のサブ探索スレッドを複数のグループそれぞれに対応させるようにしてもよい。この場合には、第2実行部255は、複数のグループの数と同じ数のサブ探索スレッドを起動する。   In the second embodiment, the plurality of sub search threads started by the second execution unit 255 correspond to the plurality of protocols for device search, respectively. Separately, the plurality of sub search threads activated by the second execution unit 255 may be subdivided into a plurality of network addresses using subnet masks, and may correspond to each of the plurality of subdivided subnet masks. In this case, the second execution unit 255 activates the same number of sub search threads as the number of the plurality of subnet masks. Further, when a plurality of devices to be searched are predetermined, a plurality of sub-search threads activated by the second execution unit 255 may be associated with each of the plurality of devices. In this case, the second execution unit 255 activates the same number of sub search threads as the number of devices. Furthermore, a plurality of devices may be grouped, and a plurality of sub-search threads activated by the second execution unit 255 may be associated with each of the plurality of groups. In this case, the second execution unit 255 activates the same number of sub-search threads as the number of groups.

なお、上述した実施の形態においては、情報処理装置の一例として、携帯情報装置200を例に説明したが、図4〜図6、または、図9〜図11に示した装置探索処理を、携帯情報装置200に実行させる装置探索方法、およびその装置探索方法を携帯情報装置200を制御するCPU201に実行させる装置探索プログラムとして発明を捉えることができるのは言うまでもない。   In the above-described embodiment, the portable information device 200 has been described as an example of the information processing device. However, the device search process illustrated in FIG. 4 to FIG. 6 or FIG. Needless to say, the invention can be grasped as a device search method to be executed by the information device 200 and a device search program for causing the CPU 201 controlling the portable information device 200 to execute the device search method.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiments disclosed this time are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

<付記>
(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)のいずれかに記載の探索方法。
<Appendix>
(1) In the second execution step, each time a device capable of communication is detected, the computer generates an interrupt to a first execution thread that executes the first program, and the first execution thread 14. The search method according to claim 13, further comprising an output step of outputting device identification information of the detected device.
(2) The first execution step is performed after the computer executes the second program until the second execution thread in which the computer executes the second program ends the search processing. A stop instructing step of outputting a stop instruction to the second execution thread in response to an operation instructing stop of the execution of the search process being received by the operation means,
The search method according to (1), wherein the second execution step includes a step of stopping execution of the search processing in response to input of a stop instruction from the first execution thread.
(3) The search process includes a plurality of division processes having different search conditions,
The second program includes a plurality of subprograms each defining the plurality of division processes, and a thread control program that controls a plurality of subthreads each of which executes the plurality of subprograms by the computer,
The activation step causes the computer to execute the thread control program in response to the activation operation being received by the operating means,
The second execution step includes a thread activation step for causing the computer to execute the plurality of subprograms;
The computer executes the first program on the condition that all of a plurality of sub-threads, each of which executes the plurality of sub-programs, of the corresponding one of the plurality of sub-processes end the corresponding division process. An end notification step of notifying the first execution thread of the end of the search processing,
Each time the computer executes a corresponding division process among the plurality of division processes on each of a plurality of sub-threads that respectively execute the plurality of sub-programs, and detects a communicable device, the first execution thread 14. The search method according to claim 13, further comprising causing an interrupt to be generated and causing the first execution thread to execute an output step of outputting device identification information of the detected device.
(4) The first execution step is performed after the computer executes the second program until the second execution thread in which the computer executes the second program ends the search processing. A stop instruction step in which the computer outputs a stop instruction to a second execution thread that executes the second program in response to receiving an operation for instructing stop of the execution of the search process by the operation means. ,
The second execution step includes executing a plurality of sub-programs in which the computer executes the plurality of sub-programs in response to a stop instruction being input from the first execution thread in which the computer executes the first program. Including a sub-stop instruction step of outputting a sub-stop instruction to sub-threads of the threads that have not completed the assigned division processing,
The search method according to (3), wherein each of the plurality of sub-threads further executes a step of stopping the execution of the assigned division process in response to a sub-stop instruction being input from the second execution thread. .
(5) The first execution step is performed during a period from when the computer executes the second program to when a second execution thread in which the computer executes the second program ends the search processing. The search method according to any one of claims 13 to 14, further comprising a notification step during search for displaying an image indicating that the search processing is being performed.

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 終了通知部。   1 print system, 3 LAN, 5 wireless stations, 100, 100A, 100B MFP, 200, 200A, 200B portable information device, 201 CPU, 202 camera, 203 flash memory, 204 wireless communication unit, 205 communication unit, 206 display unit, 207 operation unit, 207A main key, 207B touch panel, 210 acceleration sensor, 211 external storage device, 251 first execution unit, 253, 255 second execution unit, 253A first sub execution unit, 253B second sub execution unit, 261 operation Accepting unit, 263 starting unit, 263A starting unit, 265 stop instruction unit, 267 searching notification unit, 269, 269A device information obtaining unit, 271 interrupt display unit, 273 searching unit, 273A first searching unit, 273B second Search unit, 275 output unit, 275A first output Unit, 275B second output unit, 277 end notification unit, 277A first sub-end notification unit, 277B second sub-end notification unit, 281 thread start unit, 283 sub stop instruction unit, 285 end notification unit.

Claims (7)

画像を表示する表示手段と、
ユーザーによる操作を受け付ける操作手段と、
スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを実行することにより、前記表示手段および前記操作手段を制御する第1実行手段と、
前記第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを実行することにより、通信可能な装置を探索する探索処理を実行する第2実行手段と、を備え、
前記第1実行手段は、前記操作手段により起動操作が受け付けられることに応じて、前記第2実行手段を起動する起動手段と、
前記第2実行手段が起動されてから前記探索処理が終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得手段と、
前記装置情報取得手段により前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示手段と、を含み、
前記探索処理は、探索条件の異なる複数の分割処理を含み、
前記第2実行手段は、前記第1実行手段により起動されることに応じて、前記複数の分割処理をそれぞれ実行する複数のサブ実行手段を起動するスレッド起動手段と、
前記起動された複数のサブ実行手段のすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記第1実行手段に前記探索処理の終了を通知する終了通知手段と、を備え、
前記複数のサブ実行手段それぞれは、
前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行手段に対して割り込みを発生するとともに、前記第1実行手段に前記検出された装置の装置識別情報を出力する出力手段と、を含む、情報処理装置。
Display means for displaying an image;
Operation means for receiving an operation by the user;
A first execution unit that controls the display unit and the operation unit by executing a first program written in a first type of programming language that does not support a thread control instruction;
A second execution unit that executes a second program described in a second type of programming language different from the first type to execute a search process for searching for a communicable device,
A first execution unit configured to start the second execution unit in response to a start operation received by the operation unit;
A device for acquiring device identification information for identifying a communicable device in response to detecting a predetermined interrupt between the time when the second execution unit is activated and the time when the search processing is completed; Information acquisition means;
Each time the device identification information is acquired by the device information acquisition unit, an interruption-time display unit that displays the acquired device identification information on the display unit,
The search processing includes a plurality of division processing different search conditions,
The second execution means, in response to being activated by the first execution means, a thread activation means for activating a plurality of sub-execution means for respectively executing the plurality of division processes;
End notification means for notifying the first execution means of the end of the search processing, on condition that all of the activated plurality of sub-execution means end the corresponding assigned division processing of the plurality of division processings; ,
Each of the plurality of sub execution units,
Each time a corresponding division process among the plurality of division processes is executed and a device capable of communication is detected, an interrupt is generated for the first execution unit, and the detected execution is performed by the first execution unit. An output unit that outputs device identification information of the device.
前記第1実行手段は、前記第2実行手段が起動されてから前記第2実行手段が前記探索処理を終了するまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記第2実行手段に中止指示を出力する中止指示手段を、含み、
前記第2実行手段は、前記第1実行手段から中止指示が入力されることに応じて、前記複数のサブ実行手段のうち前記担当分割処理を終了していないサブ実行手段にサブ中止指示を出力するサブ中止指示手段を含み、
前記複数のサブ実行手段それぞれは、さらに、前記第2実行手段からサブ中止指示が入力されることに応じて、前記担当分割処理の実行を中止する、請求項に記載の情報処理装置。
The first execution means may perform an operation for instructing the execution of the search processing to be stopped by the operation means during a period from when the second execution means is activated to when the second execution means ends the search processing. A stop instruction unit that outputs a stop instruction to the second execution unit in response to being accepted,
The second execution unit outputs a sub-stop instruction to a sub-execution unit of the plurality of sub-execution units that has not completed the assigned division process in response to a stop instruction input from the first execution unit. Including sub-stop instruction means to
Wherein the plurality of sub-executing means each further in response to the sub-cancellation instruction is inputted from the second execution means, to stop the execution of the charge division processing, the information processing apparatus according to claim 1.
前記第1実行手段は、前記第2実行手段が起動されてから前記第2実行手段が前記探索処理を終了するまでの間、前記探索処理を実行中であることを示す画像を表示する探索中通知手段を、さらに含む、請求項1または2に記載の情報処理装置。 During the search, the first execution means displays an image indicating that the search processing is being executed from when the second execution means is activated to when the second execution means ends the search processing. notification means, further comprising, an information processing apparatus according to claim 1 or 2. 画像を表示する表示手段と、
ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索プログラムであって、
スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムと、前記第1の種類とは異なる第2の種類のプログラム言語で記述され、通信可能な装置を探索する探索処理を定めた第2のプログラムと、を含み、
前記第1のプログラムは、前記操作手段により起動操作が受け付けられることに応じて、前記第2のプログラムを前記コンピューターに実行させる起動ステップと、
前記コンピューターにより前記第2のプログラムが実行されてから前記コンピューターが前記第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間に、割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、
前記装置情報取得ステップにおいて前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示ステップと、を前記コンピューターに実行させ、
前記探索処理は、探索条件の異なる複数の分割処理を含み、
前記第2のプログラムは、前記複数の分割処理をそれぞれ定めた複数のサブプログラムと、前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドを制御するスレッド制御プログラムと、を含み、
前記起動ステップは、前記操作手段により前記起動操作が受け付けられることに応じて、前記スレッド制御プログラムを前記コンピューターに実行させ、
前記スレッド制御プログラムは、前記複数のサブプログラムを前記コンピューターに実行させるスレッド起動ステップと、
前記コンピューターが前記複数のサブプログラムをそれぞれ実行する複数のサブスレッドのすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに前記探索処理の終了を通知する終了通知ステップを、前記コンピューターに実行させ、
前記複数のサブプログラムそれぞれは、
前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップと、を前記コンピューターに実行させる、装置探索プログラム。
Display means for displaying an image;
An operation means for receiving an operation by a user, and a device search program executed by a computer that controls an information processing device including:
A first program written in a first type of programming language that does not support thread control instructions, and a device communicable and described in a second type of programming language different from the first type A second program that defines a search process to be searched.
An activation step for causing the computer to execute the second program in response to an activation operation being received by the operation means;
A device capable of communicating in response to detecting an interrupt between the time when the second program is executed by the computer and the time when the thread for executing the second program ends the search processing; Device information acquisition step of acquiring device identification information for identifying
Each time the device identification information is acquired in the device information acquisition step, an interruption display step of displaying the acquired device identification information on the display unit, causing the computer to execute
The search processing includes a plurality of division processing different search conditions,
The second program includes a plurality of subprograms each defining the plurality of division processes, and a thread control program that controls a plurality of subthreads each of which executes the plurality of subprograms by the computer,
The activation step causes the computer to execute the thread control program in response to the activation operation being received by the operating means,
The thread control program, a thread activation step for causing the computer to execute the plurality of subprograms,
The computer executes the first program on the condition that all of a plurality of sub-threads, each of which executes the plurality of sub-programs, of the corresponding one of the plurality of sub-processes end the corresponding division process. Causing the computer to execute an end notification step of notifying the first execution thread of the end of the search processing;
Each of the plurality of subprograms,
A corresponding division process among the plurality of division processes is executed, and each time a communicable device is detected, an interrupt is generated for the first execution thread, and the detected execution is performed by the first execution thread. An output step of outputting device identification information of the device.
前記第1のプログラムは、さらに、前記コンピューターに前記スレッド制御プログラムを実行させてから前記コンピューターが前記スレッド制御プログラムを実行する制御スレッドから前記探索処理の終了が通知されるまでの間に、前記操作手段により前記探索処理の実行の中止を指示する操作が受け付けられることに応じて、前記制御スレッドに中止指示を出力する中止指示ステップを、前記コンピューターに実行させ、
前記スレッド制御プログラムは、さらに、前記第1実行スレッドから中止指示が入力されることに応じて、前記複数のサブスレッドのうち前記担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを、前記コンピューターに実行させ、
前記複数のサブプログラムそれぞれは、さらに、前記制御スレッドからサブ中止指示が入力されることに応じて、前記複数の分割処理のうち対応する担当分割処理の実行を中止するステップを、前記コンピューターに実行させる、請求項に記載の装置探索プログラム。
The first program may further include, after the computer causes the computer to execute the thread control program, until the computer notifies the control thread executing the thread control program of the end of the search process. Means for causing the computer to execute a stop instruction step of outputting a stop instruction to the control thread in response to an operation for instructing stop of execution of the search processing being received by the means;
The thread control program further outputs a sub-stop instruction to a sub-thread of the plurality of sub-threads that has not finished the assigned division process in response to the stop instruction being input from the first execution thread. Causing the computer to execute a sub-stop instruction step,
Each of the plurality of sub-programs further executes, in response to the sub-stop instruction being input from the control thread, a step of suspending execution of a corresponding assigned division process among the plurality of division processes in the computer. The device search program according to claim 4 , wherein:
前記第1のプログラムは、さらに、前記コンピューターにより第2のプログラムが実行されてから前記コンピューターが第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間、前記探索処理を実行中であることを示す画像を表示する探索中通知ステップを、前記コンピューターに実行させる、請求項4または5に記載の装置探索プログラム。 The first program may further execute the search process from when the second program is executed by the computer until the thread that executes the second program ends the search process after the computer executes the second program. The apparatus search program according to claim 4 or 5 , wherein the computer causes the computer to execute a search-in-progress notification step of displaying an image indicating the presence. 画像を表示する表示手段と、
ユーザーによる操作を受け付ける操作手段と、を備えた情報処理装置を制御するコンピューターで実行される装置探索方法であって、
スレッド制御の命令をサポートしていない第1の種類のプログラム言語で記述された第1のプログラムを前記コンピューターに実行させることにより、前記表示手段および前記操作手段を制御する第1実行ステップと、
前記第1の種類とは異なる第2の種類のプログラム言語で記述された第2のプログラムを前記コンピューターに実行させることにより、通信可能な装置を探索する探索処理を実行する第2実行ステップと、を含み、
前記第1実行ステップは、前記操作手段により起動操作が受け付けられることに応じて、前記コンピューターに前記第2のプログラムを実行させる起動ステップと、
前記コンピューターが前記第2のプログラムを実行してから前記コンピューターが前記第2のプログラムを実行するスレッドが前記探索処理を終了するまでの間に、予め定められた割り込みを検出することに応じて、通信可能な装置を識別するための装置識別情報を取得する装置情報取得ステップと、
前記装置情報取得ステップにおいて前記装置識別情報が取得されるごとに、前記取得された装置識別情報を前記表示手段に表示する割込時表示ステップと、を含み、
前記探索処理は、探索条件の異なる複数の分割処理を含み、
前記第2実行ステップは、前記第1実行ステップにおいて起動されることに応じて、前記複数の分割処理をそれぞれ実行する複数のサブ実行プログラムを前記コンピューターに実行させるスレッド起動ステップと、
前記コンピューターが前記複数のサブ実行プログラムをそれぞれ実行する複数のサブ実行スレッドのすべてが前記複数の分割処理のうち対応する担当分割処理を終了することを条件に、前記コンピューターが前記第1のプログラムを実行する第1実行スレッドに前記探索処理の終了を通知する終了通知ステップと、を含み、
前記複数のサブ実行スレッドそれぞれは、
前記複数の分割処理のうち対応する担当分割処理を実行し、通信可能な装置を検出するごとに、前記第1実行スレッドに対して割り込みを発生するとともに、前記第1実行スレッドに前記検出された装置の装置識別情報を出力する出力ステップを含む、装置探索方法。
Display means for displaying an image;
An operation means for receiving an operation by a user, and a device search method executed by a computer that controls an information processing device including:
A first execution step of controlling the display unit and the operation unit by causing the computer to execute a first program written in a first type of programming language that does not support a thread control instruction;
A second execution step of executing a search process for searching for a communicable device by causing the computer to execute a second program described in a second type of programming language different from the first type; Including
The first execution step is a start step of causing the computer to execute the second program in response to a start operation being received by the operation means;
In response to detecting a predetermined interrupt between the time when the computer executes the second program and the time when the computer executes the second program and the thread that executes the second program ends the search processing, A device information acquisition step of acquiring device identification information for identifying a communicable device;
Each time the device identification information is acquired in the device information acquisition step, an interruption display step of displaying the acquired device identification information on the display means,
The search processing includes a plurality of division processing different search conditions,
The second execution step is a thread activation step that causes the computer to execute a plurality of sub-execution programs that respectively execute the plurality of division processes in response to being activated in the first execution step;
The computer executes the first program on the condition that all of a plurality of sub-execution threads, each of which executes the plurality of sub-execution programs, of the plurality of sub-execution programs, respectively, end the corresponding assigned division process among the plurality of division processes. An end notification step of notifying the first execution thread to be executed of the end of the search processing,
Each of the plurality of sub-execution threads,
A corresponding division process among the plurality of division processes is executed, and each time a communicable device is detected, an interrupt is generated for the first execution thread, and the detected execution is performed by the first execution thread. A device search method including an output step of outputting device identification information of a device.
JP2016012339A 2016-01-26 2016-01-26 Information processing apparatus, apparatus search program, and search method Active JP6642039B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016012339A JP6642039B2 (en) 2016-01-26 2016-01-26 Information processing apparatus, apparatus search program, and search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016012339A JP6642039B2 (en) 2016-01-26 2016-01-26 Information processing apparatus, apparatus search program, and search method

Publications (2)

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

Family

ID=59502786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016012339A Active JP6642039B2 (en) 2016-01-26 2016-01-26 Information processing apparatus, apparatus search program, and search method

Country Status (1)

Country Link
JP (1) JP6642039B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330900A (en) * 2002-05-09 2003-11-21 Nec Corp System and method for application parallel processing
JP2009037404A (en) * 2007-08-01 2009-02-19 Canon Inc Electronic document management system
JP5434435B2 (en) * 2009-09-29 2014-03-05 ブラザー工業株式会社 Terminal device connected to the Internet
JP6061501B2 (en) * 2012-06-04 2017-01-18 キヤノン株式会社 Service providing apparatus, information processing apparatus, image forming apparatus, printing system control method, and computer program
EP2767905A1 (en) * 2013-02-15 2014-08-20 Samsung Electronics Co., Ltd Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser

Also Published As

Publication number Publication date
JP2017134496A (en) 2017-08-03

Similar Documents

Publication Publication Date Title
US11019477B2 (en) Communication apparatus, method of controlling the same, and storage medium
JP6197735B2 (en) Service providing system and service providing method
US10491764B2 (en) Information-processing apparatus, control method of information-processing apparatus, program, recording medium, portable terminal, and information-processing system
JP5435010B2 (en) Image processing system, image processing apparatus, portable information apparatus, image processing apparatus cooperation method, portable information apparatus cooperation method, image processing apparatus cooperation program, and portable information apparatus cooperation program
JP5742651B2 (en) Image processing apparatus, linkage method, and linkage program
US10412564B2 (en) Apparatus, method, and system for displaying antenna location of communication terminal, and recording medium
JP5900433B2 (en) Image forming apparatus, remote control device, remote control method, remote control method, remote control program, and remote control program
EP2784661B1 (en) Computer program product, information processing method, and information processing apparatus
JP2015133572A (en) Information processing system and control method of the same, and program
JP2013162387A (en) Image processing system, image processor, image processor cooperation method, and image processor cooperation program
US10466945B2 (en) Information processing apparatus configured to notify a communication terminal of connection information used to establish a network connection between an information processing apparatus and the communication terminal, communication system, and communication method configured to perform same
JP2014134868A (en) Control device, image forming apparatus, image processing system, control method, and control program
JP6182919B2 (en) Communication program and communication device
JP2018129747A (en) Remote control device, controlled device, remote control system, remote control method, controlled method, and program
JP5879889B2 (en) Image processing apparatus, linkage method, and linkage program
JP6451337B2 (en) Information processing system and communication method
JP6442940B2 (en) Information processing system, information processing apparatus, device control method, and program
JP6319234B2 (en) Remote control system, image processing apparatus, remote control method, and remote control program
JP6642039B2 (en) Information processing apparatus, apparatus search program, and search method
JP2018019279A (en) System, information processing device, mobile terminal, information processing method, and program
JP2016167742A (en) Image forming system, image forming device, remote control method and remote control program
JP2021196906A (en) Information processing apparatus, method for controlling the same, and program
JP6443514B2 (en) Service providing system, service providing method, and information processing apparatus
JP6176233B2 (en) Remote control device, remote control method, and remote control program
JP6561495B2 (en) Image processing apparatus, remote control system, remote control method, and remote control program

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 Written amendment

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 Written amendment

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