JP6642039B2 - Information processing apparatus, apparatus search program, and search method - Google Patents
Information processing apparatus, apparatus search program, and search method Download PDFInfo
- 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
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のすべてが検出されるまで探索結果を表示することができず、探索結果が表示されるまでのレスポンスタイムが長くなるといった問題がある。
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、スレッド制御の命令をサポートしていないプログラム言語で記述されたプログラムで、装置を探索する探索処理の結果を表示する場合に、レスポンスタイムを短くした情報処理装置を提供することである。 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.
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。 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,
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
The
携帯情報装置200,200A,200Bは、スマートフォン、タブレット端末、PDA(Personal Digital Assistants)など、ユーザーが携帯して使用するコンピューターである。ここでは、携帯情報装置200,200A,200Bを、スマートフォンとする場合を例に説明する。携帯情報装置200,200A,200Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限り携帯情報装置200を例に説明する。
The
本実施の形態におけるプリントシステム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
また、携帯情報装置200,200A,200Bは、遠隔操作の対象となる装置を決定するために、ネットワーク3に接続されているMFP100,100A,100Bを探索する処理を実行する。本実施の形態においては、MFP100,100A,100Bそれぞれは、探索サービスに用いられる複数のプロトコルのうち少なくとも1つに対応している。このため、携帯情報装置200,200A,200Bそれぞれは、複数のプロトコルそれぞれを用いてMFP100,100A,100Bを検出する。
Further,
本実施の形態においては、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
図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,
表示部206は、液晶表示装置(LCD)、有機ELD等の表示装置であり、画像を表示する。操作部207は、メインキー207Aと、タッチパネル207Bとを備える。タッチパネル207Bは、静電容量方式である。なお、タッチパネル207Bは、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
The
タッチパネル207Bは、検出面中でユーザーにより指示される位置を検出する。タッチパネル165の検出面は、表示部206の上面または下面に表示部206に重畳して設けられる。ここでは、タッチパネル207Bの検出面のサイズと、表示部206の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル207Bは、ユーザーが、表示部206の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU201に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル207Bが出力する座標を、表示面の座標に置き換えることができる。以下、ユーザーが表示部206の表示面を指示することによりタッチパネル207Bが検出面で検出して出力する座標を、表示部206の表示面の座標ともいう。
タッチパネル207Bは、マルチタッチ対応のタッチパネルである。このため、タッチパネル165は、ユーザーが、表示部206の表示面を一度に複数個所を複数の指で指示する場合、検出面で表示部206の表示面中でユーザーにより指示された複数の位置を検出し、検出した複数の位置をそれぞれ示す複数の座標を、CPU201に出力する。
The
カメラ202は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU201に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。
The
無線通信部204は、電話通信網に接続された携帯電話用基地局と無線通信する。無線通信部204は、携帯情報装置200を電話通信網に接続し、通話部205を用いた通話を可能とする。無線通信部204は、携帯電話用基地局から受信した無線信号を復調した音声信号を復号して通話部205に出力する。また、無線通信部204は、通話部205から入力される音声を符号化し、携帯電話用基地局に送信する。通話部205は、マイクおよびスピーカーを備え、無線通信部204から入力される音声をスピーカーから出力し、マイクから入力される音声を無線通信部204に出力する。さらに、無線通信部204は、CPU201により制御され、携帯情報装置200を電子メールサーバーに接続し、電子メールを送受信する。
The
無線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 /
フラッシュメモリ203は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ203に記録されたプログラムを、CPU201が備えるRAMにロードして実行する。
The
加速度センサー210は、互いに直交するX軸、Y軸およびZ軸の3方向の加速度を測定する3軸加速度センサーである。加速度センサー210は、検出した加速度をCPU201に出力する。
The
外部記憶装置211は、携帯情報装置200に着脱自在であり、遠隔操作プログラムを記憶したCD−ROM211Aが装着可能である。CPU201は、外部記憶装置211を介してCD−ROM211Aにアクセス可能である。CPU201は、外部記憶装置211に装着されたCD−ROM211Aに記録された遠隔操作プログラムを、CPU201が備えるRAMにロードして実行することが可能である。
The
なお、CPU201が実行するプログラムとして、フラッシュメモリ203またはCD−ROM211Aに記録されたプログラムについて説明したが、ネットワーク3に接続された他のコンピューターが、フラッシュメモリ203に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、携帯情報装置200が、ネットワーク3に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
Although the program recorded on the
なお、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
図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
表示制御プログラムは、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
周辺装置探索プログラムは、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
図3を参照して、CPU201は、第1実行部251と、第2実行部253と、を含む。第1実行部251は、CPU201が、表示制御プログラムを実行する表示制御スレッドであり、第2実行部253は、メインスレッドにより起動され、周辺装置探索プログラムを実行する探索スレッドである。第1実行部251は、表示部206および操作部207を制御し、ユーザーの操作を受け付けるとともに、受け付けられた操作に対する応答をユーザーに通知するユーザーにインターフェースである。
Referring to FIG. 3,
第1実行部251は、操作受付部261と、起動部263と、中止指示部265と、探索中通知部267と、装置情報取得部269と、割込時表示部271と、を含む。第2実行部253は、探索部273と、出力部275と、終了通知部277と、を含む。
The
操作受付部261は、ユーザーが操作部207に入力する操作を受け付ける。操作受付部261は、操作部207がユーザーによる起動操作を受け付けることに応じて、起動部263および探索中通知部267に起動指示を出力する。起動操作は、CPU201に表示制御プログラムの実行を指示する操作である。例えば、表示部206に起動操作を割り当てた探索指示ボタンを表示し、タッチパネル207Bが探索指示ボタン内の位置を検出すると、起動操作を受け付ける。また、操作受付部261は、操作部207がユーザーによる中止操作を受け付けることに応じて、中止指示部265に中止指示を出力する。中止操作は、CPU201に装置探索処理の実行の中止を指示する操作である。例えば、表示部206に中止操作を割り当てた中止指示ボタンを表示し、タッチパネル207Bが中止指示ボタン内の位置を検出すると、中止操作を受け付ける。
The
起動部263は、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263は、CPU201に周辺装置探索プログラムの実行を指示する。第2実行部253は、CPU201が周辺装置探索プログラムを実行する探索スレッドである。起動部263は、第2実行部253を起動すると、第2実行部253を起動したことを示す信号を中止指示部265に出力する。
The
中止指示部265は、起動部263から第2実行部253を起動したことを示す信号が入力された後、操作受付部261から中止指示が入力されることに応じて、第2実行部253を終了させるとともに、探索中通知部267に表示中止指示を出力する。具体的には、中止指示部265は、第2実行部253を終了させるコマンドをオペレーティングシステムに出力する。これにより、第2実行部253は、オペレーティングシステムにより終了させられる。
After receiving a signal indicating that the
探索部273は、起動部263により起動されることに応じて、探索処理を実行する。探索処理は、予め定められたプロトコルにしたがって、無線LANI/F208が通信可能な周辺装置を検出する処理である。具体的には、探索部273は、探索処理のために予め定められたプロトコルにしたがって、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する応答コマンドを受信する。探索部273は、探索処理のために予め定められたプロトコルが複数の場合、複数のプロトコルを順に選択し、選択した通信プロトコルで周辺装置を探索する処理を実行する。本実施の形態においては、MFP100がSSDPのプロトコルに対応し、MFP100A,100BそれぞれがWSDのプロトコルに対応している。このため、探索部273は、SSDPのプロトコルに従った探索処理と、WSDのプロトコルに従った探索処理とを実行する。
The
探索部273は、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、出力部275に受信された応答コマンドを出力する。出力部275は、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。
探索部273は、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。探索部273は、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを出力部275に出力し、出力部275は、応答コマンドが入力されるごとに、割り込みにより応答コマンドを第1実行部251に出力する。このため、第2実行部253によって応答コマンドが受信されるごとに、第1実行部251に応答コマンドが出力される。応答コマンドは、応答コマンドを送信してきた装置に関する情報である装置情報を含む。装置情報は、装置を識別するための装置識別情報を少なくとも含む。装置情報は、装置の種類を示す情報を含んでもよい。探索部273は、SSDPのプロトコルに従った探索処理およびWSDのプロトコルに従った探索処理のすべてを終了すると、通知指示を終了通知部277に出力する。
The
終了通知部277は、探索部273から終了指示が入力されることに応じて、第1実行部251に探索処理が終了したことを通知する。具体的には、第1実行部251に終了信号を出力する。
The
装置情報取得部269は、出力部275から割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、出力部275から出力される応答コマンドを取得する。装置情報取得部269は、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。割込時表示部271は、応答コマンドが入力されるごとに、応答コマンドに含まれる装置情報を、表示部206に表示する。表示部206の予め定められた領域に装置情報を順に並べて表示する。
The device
探索中通知部267は、操作受付部261から起動指示が入力されることに応じて、探索処理を実行中であることをユーザーに通知する。具体的には、探索中通知部267は、表示部206にスプラッシュスクリーンを表示する。スプラッシュスクリーンは、探索処理を実行中であることを示す画像であり、例えば、砂時計を示す画像であってもよいし、所定の領域の表示態様が時間の経過に伴って変化する動画像であってもよい。探索中通知部267は、探索処理を実行中であることを示す画像を、表示部206の表示面中の一部に表示する。なお、探索処理を実行中であることを示す画像は、表示部206の表示面の全体に表示してもよい。
The searching
探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が終了したことを通知することができる。また、探索中通知部267は、操作受付部261から起動指示が入力された後、終了通知部277から終了信号が入力される前に、操作受付部261から中止指示が入力されることに応じて、探索処理を実行中であることを示す画像の表示を終了する。これにより、ユーザーに、探索処理が途中で中止したことを通知することができる。
The notifying
図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
ステップS02においては、探索スレッドを起動する。具体的には、CPU201に周辺装置探索プログラムを実行させる。以下、CPU201が周辺装置探索プログラムを実行するスレッドを探索スレッドという。次のステップS03においては、探索スレッドから終了信号が入力されたか否かを判断する。探索スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。
In step S02, a search thread is started. Specifically, it causes the
ステップ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
次のステップ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 /
次のステップ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
ステップ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
図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
まず、表示制御スレッドが探索スレッドを起動とともに、探索処理を実行中であることを示す画像を表示する。探索スレッドは、表示制御スレッドにより起動されると、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
次に、探索スレッドは、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
探索スレッドは、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
また、第2実行部253は、通信可能な装置を検出するごとに、第1実行部251に対して割り込みを発生するとともに、第1実行部251に検出された装置の装置識別情報を出力する。このため、第1実行部251は、通信可能な装置が検出されるごとに、検出された装置の装置識別情報を表示することができる。
In addition, every time the
また、表示制御プログラムを実行する第1実行部251が、探索処理の実行の中止を指示する操作を受け付けると、周辺装置探索プログラムを実行する第2実行部253が探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
Further, when the
また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間、探索処理を実行中であることを示す画像を表示部206に表示する。このため、ユーザーに探索処理を実行中であることを通知することができる。
In addition, the
なお、第1の実施の形態において、探索部273は、装置探索のための複数のプロトコルにそれぞれに対応する探索処理を順に実行するようにした。これとは別に、探索部273は、ネットワークアドレスをサブネットマスクで複数に細分化し、細分化された複数のサブネットマスクそれぞれに対応する探索処理を順に実行するようにしてもよい。この場合、探索部273は、複数のサブネットマスクの数と同じ数の探索処理を順に実行する。また、探索の対象となる複数の装置が予め定められている場合には、探索部273が複数の装置それぞれを探索する探索処理を順に実行するようにしてもよい。この場合には、探索部273は、複数の装置の数と同じ数の探索処理を順に実行する。さらに、複数の装置をグループ化し、探索部273が、複数のグループそれぞれに対応する探索処理を実行するようにしてもよい。この場合には、探索部273は、複数のグループの数と同じ数の探索処理を順に実行する。
In the first embodiment, the
<第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
第2の実施の形態における携帯情報装置200は、複数の探索処理をそれぞれ実行する複数の探索スレッドを起動する点で第1の実施の形態における携帯情報装置200と、異なる。第1の実施の形態における携帯情報装置200は、SSDPのプロトコルおよびWSDのプロトコルのいずれかに従って探索処理を実行した後、別のプロトコルのプロトコルに従って探索処理を実行する。第2の実施の形態における携帯情報装置200は、SSDPのプロトコルに対応する探索処理を実行する探索スレッドと、WSDのプロトコルに対応する探索処理を実行する探索スレッドと、を並列で起動する。
The
図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
表示制御プログラムは、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
スレッド制御プログラムおよび周辺装置探索プログラムは、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
図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
起動部263Aは、操作受付部261から起動指示が入力されることに応じて、第2実行部253を起動する。具体的には、起動部263Aは、CPU201にスレッド制御プログラムの実行を指示する。第2実行部255は、CPU201がスレッド制御プログラムを実行するスレッド制御スレッドである。起動部263Aは、第2実行部255を起動すると、第2実行部255を起動したことを示す信号を中止指示部265に出力する。
The activation unit 263A activates the
第2実行部255は、スレッド起動部281と、サブ中止指示部283と、終了通知部285と、を含む。スレッド起動部281は、起動部263Aにより第2実行部253が起動されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bを起動する。具体的には、スレッド起動部281は、CPU201にSSDPのプロトコルに対応する周辺装置探索プログラムの実行を指示するとともに、CPU201にWSDのプロトコルに対応する周辺装置探索プログラムの実行を指示する。これにより、CPU201は、第1サブ実行部253Aおよび第2サブ実行部253Bを形成する。
The
第1サブ実行部253Aは、CPU201がSSDPのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。第2サブ実行部253Bは、CPU201がWSDのプロトコルに対応する周辺装置探索プログラムを実行するサブ探索スレッドである。スレッド起動部281は、第1サブ実行部253Aおよび第2サブ実行部253Bを起動することに応じて、それらを識別するためのスレッド識別情報をサブ中止指示部283および終了通知部285に出力する。
The first
なお、ここでは、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
第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
第1出力部275Aは、第1探索部273Aから応答コマンドが入力されることに応じて、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第1出力部275Aは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第1出力部275Aは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。
The
第1サブ終了通知部277Aは、第1探索部273Aから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第1の探索処理が終了したことを通知する。具体的には、第1サブ終了通知部277Aは、終了通知部285にサブ終了信号を出力する。
The first sub
第2サブ実行部253Bは、第2探索部273Bと、第2出力部275Bと、第2サブ終了通知部277Bと、を含む。第2探索部273Bは、スレッド起動部281により起動されることに応じて、WSDのプロトコルに対応する第2探索処理を実行する。具体的には、第2探索部273Bは、WSDのプロトコルに従って、無線LANI/F208を介して探索コマンドを送信し、探索コマンドに応答する周辺装置が返信する、WSDのプロトコルに従った応答コマンドを受信する。
The second
第2探索部273Bは、無線LANI/F208が周辺装置から応答コマンドを受信することに応じて、第2出力部275Bに受信された応答コマンドを出力する。第2探索部273Bは、探索コマンドを送信することにより探索処理を開始し、探索コマンドを送信してから所定時間経過すると探索処理を終了する。第2探索部273Bは、探索処理を開始してから終了するまでの間に、応答コマンドを受信するごとに、受信された応答コマンドを第2出力部275Bに出力する。第2探索部273Bは、第2の種類のプロトコルに対応する探索処理を終了すると、終了信号を第2サブ終了通知部277Bに出力する。
The
第2出力部275Bは、オペレーテンングシステムを介して、割り込みにより応答コマンドを第1実行部251に出力する。なお、第2出力部275Bは、表示部206を制御する表示制御スレッドをオペレーティングシステムに問い合わせることにより、第1実行部251を検出するようにしてもよい。この場合、第2出力部275Bは、オペレーティングシステムから取得するスレッド識別情報で特定される表示制御スレッドである第1実行部251に割り込みを発生させ、応答コマンドを出力する。
The
第2サブ終了通知部277Bは、第2探索部273Bから終了信号が入力されることに応じて、第2実行部255の終了通知部285に第2の探索処理が終了したことを通知する。具体的には、第2サブ終了通知部277Bは、終了通知部285にサブ終了信号を出力する。
The second sub
終了通知部285は、スレッド起動部281からスレッド起動部281により起動された探索スレッドのスレッド識別情報が入力される。ここでは、終了通知部285は、スレッド起動部281から第1サブ実行部253Aのスレッド識別情報と第2サブ実行部253Bのスレッド識別情報と、が入力される。
The
終了通知部285は、スレッド起動部281により起動されたすべての探索スレッドが終了することに応じて、探索中通知部267に終了信号を出力する。具体的には、終了通知部285は、第1サブ終了通知部277Aからサブ終了信号が入力され、かつ、第2サブ終了通知部277Bからサブ終了信号が入力されることに応じて、探索中通知部267に終了信号を出力する。
The
また、終了通知部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
中止指示部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
サブ中止指示部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
装置情報取得部269Aは、第1出力部275Aおよび第2出力部275Bそれぞれから割り込みによる応答コマンドが入力される。装置情報取得部269は、割り込みを検出すると、第1出力部275Aから出力される応答コマンドまたは第2出力部275Bから出力される応答コマンドを取得する。装置情報取得部269Aは、応答コマンドを取得すると、応答コマンドを割込時表示部271に出力する。
The device
図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
ステップS02Aにおいては、スレッド制御スレッドを起動する。具体的には、CPU201にスレッド制御プログラムを実行させる。以下、CPU201がスレッド制御プログラムを実行するスレッドをスレッド制御スレッドという。次のステップS03Aにおいては、スレッド制御スレッドから終了信号が入力されたか否かを判断する。スレッド制御スレッドから終了信号が入力されたならば処理を終了するが、そうでなければ処理をステップS04に進める。
In step S02A, a thread control thread is started. Specifically, the
ステップ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
図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
ステップ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
図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 ,
まず、表示制御スレッドがスレッド制御スレッドを起動するとともに、探索処理を実行中であることを示す画像を表示する。スレッド制御スレッドは、表示制御スレッドにより起動されると、第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
一方、第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
スレッド制御スレッドは、第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
また、第1実行部251は、第2実行部253が起動されてから第2実行部253が探索処理を終了するまでの間に、操作部207により探索処理の実行の中止を指示する操作が受け付けられることに応じて、第2実行部253に中止指示を出力し、第2実行部253は、中止指示が入力されることに応じて、第1サブ実行部253Aおよび第2サブ実行部253Bにサブ中止指示を出力し、第1サブ実行部253Aおよび第2サブ実行部253Bそれぞれは、さらに、第2実行部253からサブ中止指示が入力されることに応じて、探索処理の実行を中止する。このため、ユーザーは、探索処理を途中で中止させることができる。
In addition, the
なお、第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
なお、上述した実施の形態においては、情報処理装置の一例として、携帯情報装置200を例に説明したが、図4〜図6、または、図9〜図11に示した装置探索処理を、携帯情報装置200に実行させる装置探索方法、およびその装置探索方法を携帯情報装置200を制御するCPU201に実行させる装置探索プログラムとして発明を捉えることができるのは言うまでもない。
In the above-described embodiment, the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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.
前記第2実行手段は、前記第1実行手段から中止指示が入力されることに応じて、前記複数のサブ実行手段のうち前記担当分割処理を終了していないサブ実行手段にサブ中止指示を出力するサブ中止指示手段を含み、
前記複数のサブ実行手段それぞれは、さらに、前記第2実行手段からサブ中止指示が入力されることに応じて、前記担当分割処理の実行を中止する、請求項1に記載の情報処理装置。 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の種類のプログラム言語で記述された第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実行スレッドから中止指示が入力されることに応じて、前記複数のサブスレッドのうち前記担当分割処理を終了していないサブスレッドにサブ中止指示を出力するサブ中止指示ステップを、前記コンピューターに実行させ、
前記複数のサブプログラムそれぞれは、さらに、前記制御スレッドからサブ中止指示が入力されることに応じて、前記複数の分割処理のうち対応する担当分割処理の実行を中止するステップを、前記コンピューターに実行させる、請求項4に記載の装置探索プログラム。 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の種類のプログラム言語で記述された第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.
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)
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 |
-
2016
- 2016-01-26 JP JP2016012339A patent/JP6642039B2/en active Active
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 |