JP5802049B2 - Device control apparatus and method, client apparatus, and device control system - Google Patents
Device control apparatus and method, client apparatus, and device control system Download PDFInfo
- Publication number
- JP5802049B2 JP5802049B2 JP2011103755A JP2011103755A JP5802049B2 JP 5802049 B2 JP5802049 B2 JP 5802049B2 JP 2011103755 A JP2011103755 A JP 2011103755A JP 2011103755 A JP2011103755 A JP 2011103755A JP 5802049 B2 JP5802049 B2 JP 5802049B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- definition file
- state
- response information
- session
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムに関し、特に、ネットワークを介してデバイスを制御する機能を備えたデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムに関するものである。 The present invention relates to a device control apparatus and method, a client apparatus, and a device control system, and more particularly to a device control apparatus and method, a client apparatus, and a device control system having a function of controlling a device via a network. .
ネットワークの普及により、従来、パーソナルコンピュータ(PC)等にローカル接続して利用していたデバイス(周辺機器)をネットワーク上のクライアントPCから利用できるように構成されたデバイスサーバが発表されている。 With the widespread use of networks, a device server configured so that a device (peripheral device) that has been used by being locally connected to a personal computer (PC) or the like can be used from a client PC on the network has been announced.
例えば、プリンタ、ストレージ、スキャナ等のデバイスを、ネットワーク上のクライアントPCからデバイスサーバを介して共有デバイスとして利用する方法がいくつか提案されている。 For example, several methods for using devices such as printers, storages, and scanners as shared devices from a client PC on a network via a device server have been proposed.
ひとつの方法として、クライアントPCに専用のアプリケーションソフトウェア(以下、「ユーティリティ」という)を導入しておき、ユーザがデバイスにアクセスしようとするときに、導入されたユーティリティを操作して、クライアントPCに、アクセスすべきデバイスをローカル接続したデバイスとして仮想的に認識させることにより、ネットワーク上のクライアントPCから、アクセスすべきデバイスにローカル接続したデバイスとしてアクセスできるようにするものがある。 As one method, dedicated application software (hereinafter referred to as “utility”) is installed in the client PC, and when the user tries to access the device, the installed utility is operated to Some devices allow a client PC on a network to access a device to be accessed as a locally connected device by virtually recognizing the device to be accessed as a locally connected device.
この方法では、ユーザによるセッション(接続)の開始・終了操作が必要であり、ユーザがユーティリティを使ってデバイスの終了操作をしない限り、デバイスサーバとのセッションが専有されてしまうため、他のクライアントPCがデバイスを使用することができない。 In this method, the user needs to start / end the session (connection), and unless the user uses the utility to end the device, the session with the device server is exclusively used. Can not use the device.
かかる問題を解決するために、ブロックヘッダで特定されるデータ長を有するブロックデータが伝送される間だけ、デバイスサーバがデータ伝送専有状態にあるとして、特定のクライアントPCにデバイスとの間のデータ伝送を許可するネットワークファイル管理システムが開示されている(例えば、特許文献1参照)。 In order to solve such a problem, it is assumed that the device server is in a data transmission exclusive state only while block data having a data length specified by the block header is transmitted, and data transmission between the device and a specific client PC is performed. A network file management system that permits the above is disclosed (for example, see Patent Document 1).
確かに、特許文献1に開示されたネットワークファイル管理システムでは、複数のクライアントPCは手動操作を行うことなくデバイスを共有することはできる。 Certainly, in the network file management system disclosed in Patent Document 1, a plurality of client PCs can share a device without performing a manual operation.
しかしながら、クライアントPCがネットワーク経由で接続された1台のデバイスを専有している状態においては、当該クライアントPCが他のデバイスを使用することはできないという技術的な制限により、クライアントPCとの専有状態を高頻度で必要とするデバイスが接続された場合には、そのクライアントPCは他のデバイスとの同時使用が困難になってしまう。 However, in a state where the client PC occupies one device connected via the network, the client PC cannot occupy another device due to a technical limitation that other devices cannot be used. When a device requiring high frequency is connected, it becomes difficult for the client PC to use it simultaneously with other devices.
例えば、ICカードリーダのようなデバイスの場合、ICカードが検知されたか否かの問い合わせ(ポーリング)、すなわち、デバイス監視処理(状態変化検知処理)を周期的に行う必要があるが、このデバイス監視処理は、一般的に、クライアントPCにインストールされたデバイスドライバによって実行される。 For example, in the case of a device such as an IC card reader, it is necessary to periodically inquire (polling) whether or not an IC card has been detected, that is, to perform device monitoring processing (state change detection processing). The processing is generally executed by a device driver installed on the client PC.
このため、クライアントPCによるネットワークを介したデバイスの専有が頻繁に発生するとともに、当該デバイスの専有中はネットワーク上のトラフィックが著しく増加するので、このようなデバイスの専有は、必要最小限であることが望ましい。 For this reason, the exclusive use of the device via the network by the client PC frequently occurs, and the traffic on the network increases significantly during the exclusive use of the device, so the exclusive use of such a device must be the minimum necessary. Is desirable.
また、デバイスの専有が頻発し、常にネットワーク上にデータが伝送されている状態では、データがハッキングされやすく、セキュリティの面からも望ましくない。 Further, when the device is frequently occupied and data is always transmitted on the network, the data is easily hacked, which is not desirable from the viewpoint of security.
加えて、前述のデバイス監視処理(状態変化検知処理)は、デバイス毎に処理内容が異なる機種依存性をなくすようにするために、デバイスサーバに特定のデバイスに適合したトリガ検知アルゴリズムだけを保持させたときは、デバイスサーバの汎用性が損なわれるという問題がある。一方で、デバイスサーバにシステムに存在する様々なデバイスに適合したトリガ検知アルゴリズムをすべて保持させたときは、デバイスサーバの汎用性は確保できるものの、デバイスサーバは大容量の記憶領域を必要とし、コスト増を招くという問題がある。 In addition, the above-mentioned device monitoring process (state change detection process) causes the device server to retain only the trigger detection algorithm suitable for a specific device in order to eliminate the dependence on the model whose processing contents differ for each device. In such a case, there is a problem that the versatility of the device server is impaired. On the other hand, if the device server holds all trigger detection algorithms that are compatible with various devices in the system, the device server can ensure versatility, but the device server requires a large storage area and costs There is a problem of causing an increase.
本発明の第1の目的は、従来、クライアント装置に実装されていたデバイス監視処理(状態変化検知処理)をデバイス制御装置が備えることで、デバイス制御装置がクライアント装置との通信を伴わずに自立的にデバイスの状態変化を監視し、デバイスの状態変化を検知した時点でこれをクライアント装置へ通知することにより、クライアント装置によるデバイスの監視(ポーリング)を不要とし、ネットワーク上のトラフィックを低減することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。 The first object of the present invention is to provide the device control apparatus with a device monitoring process (state change detection process) that has been conventionally implemented in the client apparatus, so that the device control apparatus is independent without communication with the client apparatus. By monitoring device status changes and notifying client devices when device status changes are detected, device monitoring (polling) by client devices is unnecessary and traffic on the network is reduced. It is an object to provide a device control apparatus and method, a client apparatus, and a device control system.
本発明の第2の目的は、デバイスの状態変化を契機に、クライアント装置とデバイスが通信を行うことで、クライアント装置は必要なときだけデバイスを専有してセキュリティの脆弱性を低減するとともに、専有が頻繁に必要なデバイスであっても複数台数を同時に使用することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。 The second object of the present invention is that the client device communicates with the device in response to a change in the state of the device, so that the client device occupies the device only when necessary to reduce security vulnerabilities. It is an object of the present invention to provide a device control apparatus and method, a client apparatus, and a device control system that can simultaneously use a plurality of devices even if they are frequently required devices.
本発明の第3の目的は、監視対象となったデバイスに適合したトリガ検知アルゴリズムや定義ファイルをデバイスサーバへ動的にインストールまたはダウンロードすることにより、デバイスサーバは汎用性を確保しながらも様々なデバイスの検知処理を実行することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。 A third object of the present invention is to dynamically install or download a trigger detection algorithm and definition file suitable for a device to be monitored to the device server, so that the device server can be used in various ways while ensuring versatility. It is an object to provide a device control apparatus and method, a client apparatus, and a device control system capable of executing a device detection process.
上記目的を達成するために、本発明のデバイス制御装置は、ネットワークを介してクライアント装置に接続されていると共にデバイスがローカル接続されるべきデバイス制御装置であって、前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて当該デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知手段と、前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信手段と、前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御手段と、前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知手段と、前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開手段とを備えることを特徴とする。 In order to achieve the above object, a device control apparatus of the present invention is a device control apparatus that is connected to a client apparatus via a network and to which a device is to be locally connected, and for monitoring the state of the device The first detection means for monitoring the status of the device using the definition file and the trigger detection algorithm, and detecting the status change of the device, and detecting the status change when the status change of the device is detected Transmitting means for transmitting a trigger notification indicating to the client device; data communication control means for starting a session with the client device that has received the trigger notification and relaying data communication with the device that has detected the state change; The data communication with the device is terminated and the session with the client device is disconnected. And a second detecting means for detecting that the first detecting means resumes monitoring of the state of the device when a session with the client device is disconnected. .
本発明のクライアント装置は、デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置であって、当該デバイス制御装置にローカル接続されたデバイスの動作状態を確認するためのポーリングを行う際に蓄積された前記デバイスに対する要求情報及び前記デバイスからの応答情報を含む定義ファイルを作成する作成手段と、前記作成された定義ファイルを前記デバイス制御装置に送信する送信手段と、前記デバイスの状態変化を検知した前記デバイス制御装置から前記デバイスの状態変化の検知を示すトリガ通知を受信する受信手段と、前記受信手段によって受信された前記トリガ通知に応じて前記デバイス制御装置とのセッションを開始するセッション制御手段とを備えることを特徴とする。 A client apparatus according to the present invention is a client apparatus connected to a device control apparatus to which a device is to be locally connected via a network, and for confirming an operation state of the device locally connected to the device control apparatus. Creation means for creating a definition file including request information and response information from the device accumulated when polling, transmission means for sending the created definition file to the device control apparatus, and A receiving unit that receives a trigger notification indicating detection of a change in the state of the device from the device control unit that has detected a change in the state of the device, and a session with the device control unit in response to the trigger notification received by the receiving unit Session control means for starting To.
上記構成によれば、デバイスサーバが「トリガ検知アルゴリズム」/「定義ファイル」に基づき、該当デバイスを監視し、デバイスの状態変化を検知すると、トリガ通知する。トリガ通知を受けたクライアントPCは、デバイスサーバとセッションを開始し、クライアントPC及びデバイス間でデータ通信を実行する。データ通信が終了し、セッションが切断されると、デバイスサーバは、該当デバイスの監視を再開する。これにより、クライアントPC側で実装されていたデバイス監視処理を、デバイスサーバが実施するので、クライアントPC側での監視処理が不要となり、必要な時だけ、クライアントPC及びデバイス間でデータ通信し、通信終了すると、当該デバイスの監視を再開する。 According to the above configuration, the device server monitors the corresponding device based on the “trigger detection algorithm” / “definition file”, and when a change in the state of the device is detected, trigger notification is made. The client PC that has received the trigger notification starts a session with the device server and executes data communication between the client PC and the device. When the data communication ends and the session is disconnected, the device server resumes monitoring of the corresponding device. As a result, since the device monitoring process implemented on the client PC side is performed by the device server, the monitoring process on the client PC side becomes unnecessary, and data communication is performed between the client PC and the device only when necessary. When finished, the monitoring of the device is resumed.
また、クライアントPCは、デバイスの接続を検知すると、当該デバイスの動作状態を確認するためのポーリングを実行し、このときの送受信パケットを蓄積してデバイスサーバに送る。デバイスサーバは、この送受信パケットを定義ファイルとして用いることで、監視処理を実行することができるので、新たに接続が検知されたデバイスであっても、当該デバイスの監視処理が可能となる。 Further, when the client PC detects the connection of the device, the client PC executes polling for confirming the operation state of the device, accumulates transmission / reception packets at this time, and sends them to the device server. Since the device server can execute the monitoring process by using the transmission / reception packet as the definition file, the monitoring process of the device can be performed even for a device for which a connection is newly detected.
以下、本発明を図面に示す実施の形態を参照しながら詳細に説明する。 Hereinafter, the present invention will be described in detail with reference to embodiments shown in the drawings.
<デバイス制御システムの構成>
図1は、本発明の第1の実施の形態に係るデバイス制御システムの概略構成を示す図である。
<Configuration of device control system>
FIG. 1 is a diagram showing a schematic configuration of a device control system according to the first embodiment of the present invention.
図1において、本発明の第1の実施の形態に係るデバイス制御システムは、クライアントPC100(クライアント装置)と、デバイス300(300A,300B)がローカル接続されるデバイスサーバ200(デバイス制御装置)とを備える。クライアントPC100とデバイスサーバ200は、互いにネットワーク500を介して接続されている。ネットワーク500は有線又は無線の通信回線で構成されてもよい。
1, the device control system according to the first embodiment of the present invention includes a client PC 100 (client device) and a device server 200 (device control device) to which a device 300 (300A, 300B) is locally connected. Prepare. The client PC 100 and the
デバイス300は、USB(Universal Serial Bus)インターフェースに準拠した接続ケーブル400でデバイスサーバ200に接続(ローカル接続)される。ただし、接続ケーブル400は、USBインターフェースに限定されるものではなく、IEEE1394等他のインターフェースに準拠したものであってもよい。
The device 300 is connected (locally connected) to the
次に、デバイス制御システムを構成する各装置の構成について順次説明する。 Next, the configuration of each device constituting the device control system will be described sequentially.
<クライアントPC100の構成>
クライアントPC100は、内部バスで互いに接続されたCPU、入力部、表示部、メモリ、通信部、外部記憶部で構成され、ネットワーク500を介してデバイスサーバ200と通信することができる。
<Configuration of client PC 100>
The client PC 100 includes a CPU, an input unit, a display unit, a memory, a communication unit, and an external storage unit that are connected to each other via an internal bus, and can communicate with the
外部記憶部は、不図示のオペレーティングシステム(以下、OS)、アプリケーションプログラム101、常駐モジュール102、デバイスドライバ103、仮想化制御部104、通信制御部105等のソフトウェア部品に加えて、各種データを格納しているデータ記憶部106が記憶される。これらソフトウェア部品及び各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
The external storage unit stores various data in addition to software components such as an operating system (hereinafter referred to as OS), an
アプリケーションプログラム101は、常駐モジュール102やデバイスドライバ103に対してデータ入出力要求を指示することでデバイス300を制御するためのソフトウェアプログラムである。
The
常駐モジュール102は、(1)デバイスサーバ200にローカル接続されるデバイス300を個体別に識別するためのデバイス個体情報を取得する機能、(2)デバイス個体情報によってデバイスの機種等を個体ごとに識別する機能、(3)デバイス300との間のデータ送受信に必要となるデバイスドライバ103及び仮想化制御部104を一意に特定し、順次、それらのソフトウェア部品を動的に生成・起動する機能、(4)通信制御部105を介してデバイスサーバ200とのセッションの開始・切断を指示する機能、(5)デバイスサーバ200とのセッションが開始されると、デバイスドライバ103及び仮想化制御部104を用いて、デバイス300との間のデータ送受信を制御する機能を備えている。
The resident module 102 (1) a function of acquiring device individual information for identifying each device 300 locally connected to the
デバイスドライバ103は、OS(不図示)やアプリケーションプログラム101(以下、「上位層のソフトウェアプログラム」という)からのデータ入出力要求を、デバイス300に応じたデータ形式のデータ(以下、「制御コマンド」という)に変換し、この制御コマンドを仮想化制御部104に送り、この制御コマンドに対する応答を上位層のソフトウェアプログラムへ通知するソフトウェア部品である。
The
仮想化制御部104は、デバイスドライバ103で制御コマンドに変換されたデータ入出力要求をUSBデータ形式に準拠したパケットデータ(以下、「USBデータ」という)に変換し、通信制御部105から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ103へ送るソフトウェア部品である。また、デバイス300に対するデータ送受信要求に対して、デバイス300がクライアントPC100に直接的に接続(ローカル接続)しているときと同様の振る舞いをシミュレートする機能(以下、「仮想化制御」という)を備えたソフトウェア部品である。この「仮想化制御」によって、デバイス300をローカル接続したときと同じ状態でデータ送受信することができるようになる。
The
通信制御部105は、仮想化制御部104を経由して送られてくる「USBデータ」とネットワーク500を介してデバイスサーバ200と通信するときの「ネットワークパケット」との変換処理を行い、デバイスサーバ200との間のデータ送受信を制御するソフトウェア部品である。また、仮想化制御部104を経由して送られてくる上位層のソフトウェアプログラムやデバイスドライバ103からのデータ送受信要求に応じて、デバイスサーバ200との間のセッションの開始・切断の制御を行う。
The
また、データ記憶部106は、後述する図3の定義ファイル107、トリガ検知アルゴリズム108等の各種データが格納される。
The
定義ファイル107は、デバイスサーバ200がデバイス300を監視する際、トリガ検知アルゴリズム108に必要な命令・情報等を格納しているデータファイルである。
The
トリガ検知アルゴリズム108は、デバイスサーバ200において、デバイス300を監視し、その状態変化を検知するための実行手順が記述されたプログラムコードであり、定義ファイル107を読み込むことで、本実行手順に従って、デバイス300の監視処理(以下、「トリガ検知処理」という)が行われる。このトリガ検知処理は図4を用いて後述する。
The
定義ファイル107とトリガ検知アルゴリズム108は、デバイス300の監視を行うための1組の「監視情報」(監視プログラム)であり、デバイス300の機種ごとに異なる。
The
図3は、図1におけるデータ記憶部106に格納される定義ファイルのデータ構成を説明するのに用いられる図である。
FIG. 3 is a diagram used to explain the data structure of the definition file stored in the
図3の定義ファイルは、デバイス300の機能(仕様)に基づいて作成され、ベンダーID(VID)、製品ID(PID)などのデバイス識別情報と、デバイス300に対して発行する要求パケットのデータパターンと、デバイス300の状態変化時の応答パケットのデータパターンを含む。応答パケットのデータパターンには、デバイス300の状態変化時にデバイス300から返送されてくる応答パケットのみが含まれている。 The definition file in FIG. 3 is created based on the function (specification) of the device 300, and includes device identification information such as a vendor ID (VID) and product ID (PID), and a data pattern of a request packet issued to the device 300. And the data pattern of the response packet when the state of the device 300 changes. The data pattern of the response packet includes only the response packet returned from the device 300 when the state of the device 300 changes.
<デバイスサーバ200の構成>
デバイスサーバ200は、内部バスで互いに接続されたCPU、メモリ、通信部、USBインターフェース、及び外部記憶部で構成されており、ネットワーク500を介してクライアントPC100と通信すると共に、ローカル接続されているデバイス300と接続ケーブル400を介してデータ送受信することができる。
<Configuration of
The
外部記憶部は、OS(不図示)、通信制御部201、デバイス制御部202等のソフトウェア部品を格納する。これらのソフトウェア部品、及びデータ記憶部203に格納された各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
The external storage unit stores software components such as an OS (not shown), a
通信制御部201は、OSの制御に従ってネットワーク500経由で接続されているクライアントPC100との間のセッションを制御(開始、切断)する機能を有する。
The
デバイス制御部202は、デバイス300を制御するための機能を有する。また、デバイス制御部202は、通信制御部201を介してデバイス個体情報204、定義ファイル205、トリガ検知アルゴリズム206を取得し、取得したこれらの情報(データ)に基づいて、以下で説明する処理を実行するための機能を備えている。
The device control unit 202 has a function for controlling the device 300. In addition, the device control unit 202 acquires the device
(1)クライアントPC100と通信するための「ネットワークパケット」とデバイス300との間で送受信する「USBデータ」との変換処理を行い、デバイス制御部202と連携してクライアントPC100とデバイス300間のデータ送受信を仲介(中継)する機能、(2)「デバイス」から取得したデバイス個体情報204をクライアントPC100に送信する機能、(3)クライアントPC100から定義ファイル107/トリガ検知アルゴリズム108を受信(取得)する機能、(4)定義ファイル205及びトリガ検知アルゴリズム206(後述)を用いてデバイス300を一定間隔で監視(ポーリング)する「トリガ検知処理」を実行し、状態変化を検知すると、当該検知を示す情報(以下、トリガ通知)をクライアントPC100へ送信する機能、(5)通信制御部201でクライアントPC100との間のセッションが切断されるとこれを検知して、(4)の「トリガ検知処理」を再開させる機能を備えている。
(1) Conversion processing between “network packet” for communicating with the
デバイス個体情報204は、「デバイス」を個体ごとに識別するための情報であって、メーカーを識別するために機器を製造したメーカーごとに割り当てられたベンダーID(VID)、機種を識別するために機種ごとに割り当てられた製品ID(PID)、機器の個体を識別するために個々の機器に割り当てられたシリアル番号等である。デバイス個体情報204は、デバイス300が接続されたとき等に、デバイス制御部202によってデバイス300から取得される。
The device
定義ファイル205とトリガ検知アルゴリズム206は、デバイスサーバ200自身に接続されたデバイス300の監視(ポーリング)に必要な情報であり、デバイスサーバ200は、デバイス個体情報204に基づいてクライアントPC100から取得する。
The
<デバイス300の構成>
デバイス300(300A、300B)は、USBインターフェースを持つ汎用的な入出力機器(デバイス)である。例えば、キーボード、マウス、カードリーダのような入力機器、ディスプレイ等の表示(出力)機器、プリンタ等の単機能周辺機器(SFP:Single Function Peripheral)、又は、プリント機能の他にスキャン機能やコピー機能、ストレージ機能等を兼ね備えた多機能周辺機器(MFP:Multi Function Peripheral)である。ただし、これらに限定されるものでなく、別のデバイスであってもよい。
<Configuration of Device 300>
The device 300 (300A, 300B) is a general-purpose input / output device (device) having a USB interface. For example, an input device such as a keyboard, a mouse, a card reader, a display (output) device such as a display, a single function peripheral device (SFP) such as a printer, or a scan function or a copy function in addition to a print function A multifunction peripheral device (MFP) having a storage function and the like. However, it is not limited to these, and another device may be used.
例えば、デバイス300がICカードリーダのような機器である場合、ICカードがかざされ、ICカードリーダがICカードの読み取り処理を実行すると、デバイスサーバ200は、この読み取り処理の動作をデバイス300の状態変化として検知し、クライアントPC100にトリガ通知を送信する。
For example, when the device 300 is a device such as an IC card reader, when the IC card is held over and the IC card reader executes an IC card reading process, the
ここで、デバイス300の状態変化とは、機器の動作状態の変化のことであり、例えば、ICカードリーダに対してICカードの読み取り操作(ユーザIDの取得)が行われたことや、操作ボタンが押下されたこと等によって生じるものであるが、これらに限定されるものではない。 Here, the change in the state of the device 300 is a change in the operation state of the device. For example, an IC card reading operation (acquisition of a user ID) is performed on the IC card reader, an operation button, or the like. However, the present invention is not limited to these.
なお、上述したデバイスサーバ200、デバイス300は、それぞれ別体の装置、機器として説明したが、これに限定されるものではなく、デバイスサーバ200をデバイス300と一体構造としてもよい。
The
<予めデバイスに応じて作成された定義ファイルを用いる場合>
図2は、図1のデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図である。
<When using a definition file created in advance for each device>
FIG. 2 is a sequence diagram used to explain an operation sequence of the device control system of FIG.
図2のシーケンス図は、クライアントPC100と、デバイスサーバ200に接続されたデバイス300Aとの間でデータ送受信する過程を示している。
The sequence diagram of FIG. 2 shows a process of transmitting and receiving data between the
図2において、デバイスサーバ200は、デバイス300Aが接続されると、当該デバイス300Aのデバイス個体情報を取得し(ステップS201)、デバイス個体情報204としてデータ記憶部203に格納する(ステップS202)。
In FIG. 2, when the
このとき、デバイスサーバ200は、取得したデバイス個体情報204にシリアル番号が格納されているか否かを判断し、シリアル番号が格納されていない場合は、デバイスサーバ200の有する固有情報(例えば、MACアドレス等)及びデバイスが接続されているポートの固有情報(例えば、ポート番号等)からシリアル番号に相当する固有情報を生成し、デバイス個体情報204に追加する。これにより、シリアル番号が格納されていない同一機種が複数接続された場合でも識別可能となる。
At this time, the
次いで、クライアントPC100の常駐モジュール102は、デバイスサーバ200にローカル接続されたデバイス300Aを確認するために、通信制御部105を介して、デバイスサーバ200に対して検索パケットを送信する。例えば、UDP(User Datagram Protocol)等のプロトコルを用いて、デバイスサーバ200に対する検索(問い合わせ)を行う。デバイスサーバ200は、検索パケットを受信すると、データ記憶部203に格納されているデバイス個体情報204をクライアントPC100に送信する(ステップS203)。
Next, the
クライアントPC100の常駐モジュール102は、デバイスサーバ200からデバイス個体情報204を取得すると、デバイス個体情報204に含まれているベンダーID(VID)と製品ID(PID)、シリアル番号等により「デバイス」の識別処理を行い、当該デバイス個体情報204に含まれている個体を識別するための情報に基づいて、デバイスドライバ103、仮想化制御部104を一意に特定し、順次、これらのソフトウェア部品を動的に生成して起動する。これらのソフトウェア部品によって、デバイス300Aの仮想化制御が可能な状態となる(ステップS204)。
When the
次に、クライアントPC100は、データ記憶部106に格納している定義ファイル107、トリガ検知アルゴリズム108の中から、デバイス個体情報204に基づいて識別したデバイス300Aの機種に対応した定義ファイル107、トリガ検知アルゴリズム108を特定する。
Next, the client PC100 is the
そして、クライアントPC100は、特定した定義ファイル107、トリガ検知アルゴリズム108を含んだインストール用パケットを生成し、通信制御部105によってデバイスサーバ200との間でセッションを開始して(ステップS205)、生成したインストール用パケットをデバイスサーバ200に対して送信する(ステップS206)。
Then, the
なお、応答がない(タイムアウト)、接続拒否等、何らかの理由でセッションを開始することができない場合、デバイスサーバ200は、エラー処理(例えば、デバイス300Aに対してエラー通知する、自装置でアラーム報知する等)を実行し、本処理を終了させる。
If the session cannot be started for some reason such as no response (timeout), connection refusal, etc., the
デバイスサーバ200は、インストール用パケットを受信すると、このパケットに含まれる定義ファイル107とトリガ検知アルゴリズム108をインストールし、それぞれ定義ファイル205(第1の定義ファイル)とトリガ検知アルゴリズム206としてデータ記憶部203に格納する(ステップS207)。
Upon receiving the installation packet, the
なお、クライアントPC100のアプリケーションプログラム101は、デバイス個体情報204による識別処理の結果、デバイス300A以外の「デバイス」であると識別した場合、ソフトウェア部品の生成処理は実行しない。
Note that when the
<トリガ検知処理開始>
デバイスサーバ200のデバイス制御部202は、クライアントPC100とデバイスサーバ200との間でセッションが切断されると(ステップS208)、データ記憶部203に格納した定義ファイル205とトリガ検知アルゴリズム206を用いて、デバイス300Aの後述する図4のトリガ検知処理(監視処理)を開始する(ステップS209)。このトリガ検知処理の開始条件は、トリガ通知後、所定時間内にクライアントPC100からセッション開始がない場合も含む。
<Start trigger detection process>
When the session between the
<デバイス制御開始〜終了>
図4は、図1におけるデバイスサーバによって実行されるトリガ検知処理の手順を示すフローチャートである。
<Device control start to end>
FIG. 4 is a flowchart showing a procedure of trigger detection processing executed by the device server in FIG.
図4のトリガ検知処理(図2のステップS209〜S214)により、デバイス300Aの状態変化が監視される。また、図4のトリガ検知処理は、この処理の実行中にクライアントPC100からの割り込み処理が発生した場合は中断され、当該割り込み処理の終了により、再開される。
The state change of the
図4において、まず、デバイスサーバ200とクライアントPC100とのセッションが切断されるか、トリガ通知後、所定時間内にクライアントPC100からセッション開始がないことにより、監視(ポーリング)が開始すると(ステップS401でYES)、定義ファイル205(図3)に含まれている要求データパターン(要求情報)に従い、要求パケットを通信制御部201を介してデバイス制御部202からデバイス300Aに対して送信する(ステップS402)。上記監視(ポーリング)の間隔は、定義ファイル205(図3)で設定することができる。この間隔は、デバイスサーバ200がトリガ検知処理で専有されることを回避し、他の機能(デバイス)を使用できるようにするためのものである。
In FIG. 4, first, monitoring (polling) starts when the session between the
次いで、デバイス300Aからの応答パケットを受信したか否かを判別し(ステップS403)、応答パケットを受信したときは、応答パケットとしてエラー情報が返送されて来た(例えば、デバイス300Aと接続断となった場合等)か否かを判別する(ステップS405)。
Next, it is determined whether or not a response packet from the
ステップS405の判別の結果、エラー情報が返送されて来たときは、直ちに本処理を終了し、応答パケットがエラーでなければ(ステップS405でNO)、デバイス制御部202は、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターン(応答情報)を比較する(ステップS406(図2のステップS210))(第1の検知手段、第1の判別手段)。
If error information is returned as a result of the determination in step S405, the process immediately ends, and if the response packet is not an error (NO in step S405), the device control unit 202 returns a response from the
ステップS406の比較の結果、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致したときは、デバイス300Aで状態変化があり(図2のステップS211)(第1の検知手段)、この状態変化を示すトリガ通知を送信すべきと判断して(ステップS407でYES)、通信制御部201を介してクライアントPC100にトリガ通知を送信して(ステップS409(図2のステップS213))(送信手段)、本処理を終了する(図2のステップS214)。
As a result of the comparison in step S406, when the data patterns of the response packet from the
一方、ステップS406の比較の結果、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致していない(不一致)ときは、デバイス300Aで状態変化がなく、トリガ通知すべきでないとして(ステップS407でNO)、監視(ポーリング)が終了するまで(ステップS408でYES)、ステップS402以降の処理の処理を実行して、次の要求パケットをデバイス300Aに送信する。
On the other hand, as a result of the comparison in step S406, when the data patterns of the response packet from the
ステップS403の判別の結果、要求パケットを送信した後、所定時間内にデバイスからの応答パケットが受信されなかった(タイムアウト)ときは(ステップS404でYES)、監視(ポーリング)が終了するまで(ステップS408でYES)、ステップS402以降の処理を実行して、次の要求パケットを送るようにする。 If the response packet from the device is not received within a predetermined time (timeout) after transmitting the request packet as a result of the determination in step S403 (YES in step S404), monitoring (polling) is completed (step S404). Step S402 and subsequent steps are executed to send the next request packet.
図2に戻り、クライアントPC100は、デバイスサーバ200からトリガ通知を受信すると、デバイスサーバ200との間でセッションを開始し(ステップS215)、デバイスサーバ200を介してデバイス300Aとの間でデータ送受信(データ通信の中継)を開始して(ステップS216)、データ送受信を実行する(ステップS217)(データ通信制御手段)。ステップS213において、デバイスサーバ200は、クライアントPC100にトリガ通知を送信すると共にセッション開始を要求してもよい。
Returning to FIG. 2, when the
<トリガ検知処理再開>
そして、クライアントPC100の通信制御部105によって、データ送受信(デバイス制御)の終了が検知される(例えば、ユーザの終了操作の検知等)(ステップS218)と、デバイスサーバ200とのセッションが切断される(ステップS219)。デバイスサーバ200は、当該セッションの切断が検知される(第2の検知手段)と、トリガ検知処理を開始(ステップS220)し、デバイス300Aの監視(ポーリング)を再開する(再開手段)。ステップS213において、トリガ通知後、所定時間内にクライアントPC100からセッション開始がない場合も、同様にトリガ検知処理を開始し(ステップS220)、デバイス300Aの監視(ポーリング)を再開する。
<Restart trigger detection process>
When the
このように、本第1の実施の形態によれば、デバイス300Aに対する制御権(通信)が、トリガ通知によってデバイスサーバ200からクライアントPC100へ切り替わり、セッション切断を契機にクライアントPC100からデバイスサーバ200に再び切り替わることで、クライアントPC100とデバイス300Aは必要なときだけデータ通信を実施することが可能となり、データ通信が終了すると、デバイスサーバ200によるデバイス300Aの監視が再開される。
As described above, according to the first embodiment, the control right (communication) for the
<クライアントPCが蓄積した要求/応答パケットを定義ファイルとする場合>
図5は、本発明の第2の実施の形態に係るデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図であり、クライアントPC100と、デバイスサーバ200に接続されたデバイス300Bとの間でデータ送受信する過程を示している。
<When request / response packets stored by client PC are used as definition files>
FIG. 5 is a sequence diagram used to describe the operation sequence of the device control system according to the second embodiment of the present invention. Between the
本発明の第2の実施の形態に係るデバイス制御システムは、システム構成は図1のものと同じであるが、先に説明した本発明の第1の実施の形態とは異なり、クライアントPC100が、接続を検知したデバイス300Bに対してポーリングを行い、その際の要求/応答パケットを蓄積しておき、これらを定義ファイルとしてデバイスサーバ200に送信する点に特徴がある。
The device control system according to the second embodiment of the present invention has the same system configuration as that of FIG. 1, but unlike the first embodiment of the present invention described above, the
具体的には、クライアントPC100の仮想化制御部104が、アプリケーションプログラム101からの指示に従い、デバイス300Bにおいて状態変化していない時の応答、例えば、デバイス300Bが処理や制御を実行していない「実行待機状態」の応答を確認するため、通信制御部105を介してポーリングを行い、この際に送受信される要求/応答パケットをデータ記憶部106に記憶させる機能を備えることで実現される。
Specifically, the
また、図5の動作シーケンスでは、図4のトリガ検知処理において、デバイス300Bからの応答パケットと定義ファイルに含まれている応答パケットの各データパターンを比較し、この比較の結果、デバイス300Bからの応答パケットと定義ファイルに含まれている応答パケットの各データパターンが一致していない(不一致)とき、クライアントPC100にトリガ通知を行う点が本発明の第1の実施の形態とは異なっている。
In the operation sequence of FIG. 5, in the trigger detection process of FIG. 4, each data pattern of the response packet from the
<シーケンス動作の説明>
図5において、クライアントPC100は主要な構成のみを図示しており、クライアントPC100がデバイスサーバ200とセッション開始までの動作シーケンス(ステップS501〜S505)は、図2のステップS201〜S205と同じ動作である。
<Description of sequence operation>
In FIG. 5, the
次いで、クライアントPC100は、アプリケーションプログラム101によって、新たに接続が検知されたデバイス300Bに対するポーリングの開始が指示されると(ステップS511)、デバイスドライバ103を介して、ポーリングで送受信される後述する図6のパケットの蓄積開始(ステップS512)及びデバイス300Bの動作状態を確認するための要求パケットの送信(ステップS513)を仮想化制御部104に指示する。
Next, when the
仮想化制御部104は、デバイス300Bの動作状態(ここでは、「実行待機状態」)を確認するための要求パケットを、通信制御部105を介して順次送信させる(ステップS514)と共に、当該要求パケットをデータ記憶部106に蓄積させる(ステップS515)ように指示する。また、通信制御部105で受信した応答パケットをデータ記憶部106に蓄積させる(ステップS516)ように指示する。そして、一連のポーリングが終了するまでこれが繰り返される(ステップS517〜S519)(作成手段)。なお、これらパケットの送受信プロセス(順序等)の記録を指示するようにしてもよい。
The
<パケットのデータ構成について>
図6は、図5の動作シーケンスで送受信される要求/応答パケットのデータ構成を説明するのに用いられる図である。
<About packet data structure>
FIG. 6 is a diagram used for explaining the data structure of a request / response packet transmitted and received in the operation sequence of FIG.
図6において、ヘッダ部には、本システムのプロトコルであることを識別するための「署名データ」、当該パケットのデータサイズを示す「電文サイズ」、パケットの種類を示す「コマンドID」、デバイスを識別するための「機器情報」(「ベンダーID」、「製品ID」、「シリアル番号」)が格納される。データ部には、パケットの種類(「コマンドID」)に応じたデータが格納される。「コマンドID」の違いによって、要求パケットか応答パケットかを判別している。 In FIG. 6, in the header part, “signature data” for identifying the protocol of this system, “message size” indicating the data size of the packet, “command ID” indicating the type of packet, device “Device information” (“vendor ID”, “product ID”, “serial number”) for identification is stored. Data corresponding to the type of packet (“command ID”) is stored in the data portion. Whether the packet is a request packet or a response packet is determined based on the difference in “command ID”.
図5に戻り、アプリケーションプログラム101から仮想化制御部104にポーリングの終了(ステップS520)が通知されると、デバイスドライバ103を介して、図6のパケット蓄積終了を仮想化制御部104に指示する。仮想化制御部104は、データ記憶部106に蓄積した要求パケット及び応答パケットを後述する図7の定義ファイル(第2の定義ファイル)としてデバイスサーバ200に送信する(ステップS521)(送信手段)。
Returning to FIG. 5, when the
<蓄積した要求/応答パケットで作成した定義ファイル>
図7は、図5の動作シーケンスで送信される要求/応答パケットのデータ構造、及びこれらを蓄積して作成される定義ファイルを説明するのに用いられる図である。
<Definition file created with accumulated request / response packets>
FIG. 7 is a diagram used to explain the data structure of the request / response packet transmitted in the operation sequence of FIG. 5 and the definition file created by accumulating these data structures.
なお、要求パケット、応答パケットは、図6で説明した要求/応答パケットのデータ構成と同じであり、「コマンドID」の違いによって、要求パケットか応答パケットが判別され、データ部(USB転送データ)に要求または応答に応じたデータが格納されている。 The request packet and the response packet have the same data structure as the request / response packet described with reference to FIG. 6. The request packet or the response packet is discriminated based on the difference in “command ID”, and the data portion (USB transfer data). The data corresponding to the request or response is stored.
例えば、ポーリングでn個の要求パケットを用いる場合、データ記憶部106には、n個の要求パケット、n個の応答パケットが蓄積され、これらが定義ファイルとしてデバイスサーバ200に送信される。
For example, when n request packets are used in polling, n request packets and n response packets are stored in the
<トリガ検知処理開始〜終了>
図5に戻り、デバイスサーバ200は、通信制御部201を介してクライアントPC100から定義ファイル(図7参照)を受信すると、これを定義ファイル205としてデータ記憶部106に格納する(ステップS522)。
<Trigger detection processing start to end>
Returning to FIG. 5, upon receiving the definition file (see FIG. 7) from the
定義ファイルの送信が完了すると、クライアントPC100とデバイスサーバ200の間のセッションは切断され(ステップS523)、図4のトリガ検知処理が実行される(ステップS524〜S530)。
When the transmission of the definition file is completed, the session between the
デバイスサーバ200のデバイス制御部202は、この定義ファイル205を用いて、クライアントPC100と同様のポーリングを開始する。即ち、デバイス300Bに対する図4のトリガ検知処理を開始する。
The device control unit 202 of the
図4は、図1におけるデバイスサーバ200によって実行されるトリガ検知処理の手順を示すフローチャートである。図4の処理は、先に本発明の第1の実施の形態として説明したもの基本的に同じであるが、下記の点が異なる。
FIG. 4 is a flowchart showing a procedure of trigger detection processing executed by the
具体的には、定義ファイル205に含まれている要求データパターンに従い、要求パケットを順次通信制御部201を介してデバイス制御部202からデバイス300Bに対して送信し(ステップS525(図4のステップS402))、デバイス300Bからの応答パケットを受信する(ステップS526(図4のステップS403))。
Specifically, according to the request data pattern included in the
デバイス制御部202は、デバイス300Bからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンを比較し(図4のステップS406)、それらが一致するか否かの判定処理を行う(第1の検知手段、第2の判別手段)。
The device control unit 202 compares each data pattern of the response packet from the
デバイス300Bからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致するか否かの判定処理は、例えば、しきい値を設定しておき、パケットの先頭からのバイト数を比較し、所定のバイト数以上(例えば、3バイト以上)異なっている場合を一致していないと判断する方法や、n個すべての応答パケットと比較して、何れの応答パケットとも異なるバイト数であった場合、一致していないと判断する等の方法で行う。
For example, the threshold value is set and the number of bytes from the head of the packet is set in the determination process of whether or not the response packet from the
上記判定処理の結果、「一致」判定の場合は、状態変化がないと判断し、次の要求パケットをデバイス300Bに送信する。「一致」と判定されている間は、定義ファイル205に含まれている要求パケットを順次送信してゆく。
If the result of the determination process is “match” determination, it is determined that there is no state change, and the next request packet is transmitted to the
なお、要求パケットを送信した後、所定時間内にデバイスからの応答パケットが受信されなかった(タイムアウト)場合は、次の要求パケットを送るようにしてもよい。 If a response packet from the device is not received within a predetermined time after sending the request packet (timeout), the next request packet may be sent.
また、要求パケットに対して、デバイス300Bからエラー情報が返送されてきた場合(例えば、デバイス300Bと接続断となった場合等)、トリガ検知処理を終了する。トリガ検知処理が終了した後は、データ記憶部から定義ファイル205を削除するようにしてもよいし、データ記憶部203に保存しておき、デバイス300Bが改めて接続されたとき(PID、VIDの一致により判断する)に利用できるようにしておいてもよい。
In addition, when error information is returned from the
一方、「不一致」判定の場合、デバイス300Bで状態変化があり、この状態変化(ステップS527)を検知したものと判断し、この検知を示すトリガ通知(ステップS528)を、通信制御部201を介してクライアントPC100に送信すると共にこのトリガ通知をクライアントPC100が受信する(ステップS529)(送信手段、受信手段)。
On the other hand, in the case of “mismatch” determination, it is determined that there is a state change in the
<デバイス制御開始〜終了>
クライアントPC100は、デバイスサーバ200からトリガ通知を受信すると、これを契機にデバイスサーバ200との間でセッションを開始する(ステップS531)(セッション制御手段)。これ以降の動作シーケンス(ステップS532〜S536)は、図2の動作シーケンス(ステップS216〜S220)と同じであるので、説明を省略する。
<Device control start to end>
Upon receiving the trigger notification from the
このように、クライアントPC100からトリガ通知を送信しない状態のデバイス300Bに対してポーリングを行い、この際に送受信される要求/応答パケットを蓄積して、これを定義ファイルとしてデバイスサーバ200に送信することにより、デバイスの状態変化の監視(トリガ検知処理)を行うことができるようになる。
In this way, polling is performed on the
<定義ファイル有無の判断>
本発明の第2の実施の形態において、さらに、クライアントPC100がデータ記憶部106に該当するデバイス300に適った定義ファイルを保持(記憶)しているか否かを判断する機能を備えるようにしてもよい。この場合、デバイス300の機能(仕様)に応じて予め作成した定義ファイル(図3:本発明の第1の実施の形態)、若しくは、該当デバイス300と同機種のデバイスとポーリングして作成した定義ファイル(図7参照)を既に保持しているときは、上述したようなポーリングによる定義ファイルの作成を実行せず、保持している定義ファイルをデバイスサーバ200に送信し、保持していないときのみ、ポーリングによる定義ファイルの作成を実行する。
<Determining whether a definition file exists>
In the second embodiment of the present invention, the
なお、本発明は、上述した実施の形態に限定されるものではなく、以下に説明する実施の形態も可能であり、本発明の要旨を逸脱しない範囲内において適宜変更可能である。 Note that the present invention is not limited to the above-described embodiments, and the embodiments described below are also possible, and can be appropriately changed without departing from the gist of the present invention.
<シーケンス開始のタイミング>
図2及び図5の動作シーケンスでは、デバイスサーバ200にデバイス300が接続されたときにデバイス個体情報を取得してシーケンスを開始するものとして記載しているが、デバイスサーバ200は、これ以外にも、例えば、デバイスサーバ200やデバイス300の電源がオンになったとき、クライアントPC100のアプリケーションプログラムから指示されたとき、デバイスサーバ200とデバイス300の一方又は両方で所定の接続操作を実行したときにデバイス個体情報を取得し、このデバイス個体情報に基づいて図2又は図5と動作シーケンスを実行するようにしてもよい。
<Sequence start timing>
In the operation sequences of FIGS. 2 and 5, it is described that the device individual information is acquired and the sequence is started when the device 300 is connected to the
<定義ファイルの実行プログラム>
また、クライアントPC100は、定義ファイルとともにトリガ検知アルゴリズムの一部として動作する簡易プログラム(例えば、シェル、スクリプトなど)をデバイスサーバ200に送り、デバイスサーバ200は、この定義ファイルと簡易プログラムを用いてトリガ検知処理を実行するように構成してもよい。
<Execution program of definition file>
Further, the
この場合、トリガ検知アルゴリズムは、定義ファイルに基づいて、デバイス300とのポーリングの実行、クライアントPC100へのトリガ通知などトリガ検知処理の基本的な処理を実行するとともに、デバイスの機種に応じた固有(特有)の処理など一部の処理を簡易プログラムで実行させるように構成される。例えば、状態変化として判断(検知)する条件は、デバイスの機種ごとに異なっているので、この判断を簡易プログラムで実行させることができる。
In this case, the trigger detection algorithm executes basic processing of trigger detection processing such as polling with the device 300 and trigger notification to the
このように構成することで、トリガ検知アルゴリズムは、デバイスの機種に依存しないトリガ検知処理の基本的な実行手順だけを記述しておけばよく、デバイスの機種に応じた処理を実行する簡易プログラムを作成するだけで、多種多様なデバイスに対応することができる。 By configuring in this way, the trigger detection algorithm only needs to describe the basic execution procedure of the trigger detection process independent of the device model, and a simple program that executes the process according to the device model. It can be applied to a wide variety of devices just by creating.
<定義ファイル/アルゴリズムの別の取得(インストール)方法>
デバイスサーバ200は、定義ファイルとトリガ検知アルゴリズムをクライアントPC100からではなく、可搬型記憶媒体から取得するようにしてもよい。
<Another method for obtaining (installing) definition files / algorithms>
The
<デバイスサーバが定義ファイル/アルゴリズムをすでに保持している場合>
また、デバイスサーバ200は、以前に同一機種のデバイス300が接続されたときに、該当する定義ファイルとトリガ検知アルゴリズムを取得、格納(インストール)している場合は、改めて取得・格納を行わなくてもよい。さらに、クライアントPC100に対して、定義ファイルとトリガ検知アルゴリズムの送信が不要である旨を通知してもよい。
<When the device server already holds the definition file / algorithm>
In addition, when the
<トリガ通知先が複数の場合>
また、複数台のクライアントPC100を配置するシステム構成も可能である。この場合、デバイスサーバ200は、複数のクライアントPC100に対してトリガ通知を送信し、最初にセッションの接続開始要求を送信してきたクライアントPC100に対して、デバイス300との接続(データ送受信)を許可すればよい。或いは、接続開始要求を送信した複数のクライアントPC100のうち、任意の台数のみ、デバイス300との接続を許可するように制御してもよい。また、特定の1台のクライアントPC100が、電源オフや故障等でトリガ通知の受信が不可能な場合には、別のクライアントPC100を代替の宛先としてトリガ通知を送信するように制御してもよい。
<When there are multiple trigger notification destinations>
A system configuration in which a plurality of
<定義ファイルとトリガ検知アルゴリズムについて>
図1のクライアントPC100には、デバイス300に対応した定義ファイル107とトリガ検知アルゴリズム108が両方ともに格納されており、デバイスサーバ200がクライアントPC100から定義ファイル107とトリガ検知アルゴリズム108を受信する方法(構成)を説明したが、下記のような方法(構成)も可能である。
<About definition file and trigger detection algorithm>
The
(1)デバイスサーバ200に予め必要なトリガ検知アルゴリズム108を格納させておき、クライアントPC100には、定義ファイル107のみを格納させる。この場合、デバイスサーバ200は、クライアントPC100から、機器情報によって特定されるデバイス300の機種に対応した定義ファイル107のみを受信することになる。
(1) The necessary
例えば、ソフトウェア・ハードウェアの仕様・設計に依拠する場合やシステムの運用・管理上の理由等から、デバイスサーバ200へのアクセスが制限されており、トリガ検知アルゴリズム(プログラムコード)を受信して実行(又はインストール)できない場合に適用できる構成である。本構成は、トリガ検知アルゴリズム(プログラムコード)がデバイスサーバに予め格納されているため、改竄が困難であるというメリットがある。
For example, access to the
(2)デバイスサーバ200は、特定したデバイス300の機種に対応するトリガ検知アルゴリズムや定義ファイルを保持していない場合にのみ、クライアントPC100等から必要なトリガ検知アルゴリズムや定義ファイルを取得するようにしてもよい。
(2) The
さらに、デバイスサーバ200又はクライアントPC100でトリガ検知アルゴリズムや定義ファイルを管理して、これらの追加・更新等が必要か否かを判断させるようにしてもよい。このような構成とすることで、デバイスサーバ200は、追加・更新等の必要性が生じたときだけ、トリガ検知アルゴリズムや定義ファイルの全部又は一部を取得できるようになる。
Further, the
また、上述した実施の形態のように、デバイスサーバ200がクライアントPC100からトリガ検知アルゴリズムや定義ファイルを受信するのではなく、デバイスサーバ200がクライアントPC100にアクセスしてダウンロード(取得)するように構成してもよい。この場合、クライアントPC100は、該当するトリガ検知アルゴリズムや定義ファイルを保持していることだけをデバイスサーバ200に通知すればよい。
Further, as in the above-described embodiment, the
上述したトリガ検知アルゴリズム1つに対して複数の定義ファイルを対応付けることで、複数のデバイス300を連携させて制御することも可能である。例えば、デバイスAとデバイスBを連携させて制御する場合、両方のデバイスからのトリガ通知を受信した後、デバイスAの動作を開始させる、というような制御を行うことができる。 By associating a plurality of definition files with one trigger detection algorithm described above, a plurality of devices 300 can be linked and controlled. For example, when the device A and the device B are controlled in cooperation, it is possible to perform control such that the operation of the device A is started after receiving the trigger notification from both devices.
なお、本発明は、デバイスサーバ200に対して機種の異なる複数のデバイス300が接続される場合にも適用可能である。この場合、デバイスサーバ200には、各デバイスに応じた定義ファイルとトリガ検知アルゴリズムが機種ごとに格納される(複数組が格納される)。そして、各デバイスに適ったトリガ検知アルゴリズムと定義ファイルの組み合わせに基づきトリガ検知処理が実行され、それぞれのデバイス300ごとの状態変化を検知することができる。
Note that the present invention is also applicable when a plurality of devices 300 of different models are connected to the
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して処理を実行することによっても達成することができる。 Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and a computer (or CPU, MPU, etc.) of the system or apparatus. This can also be achieved by reading the program code stored in the storage medium and executing the processing.
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and a computer-readable storage medium storing the program code constitutes the present invention. .
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。 Further, an OS (operating system) or the like running on the computer performs part or all of the actual processing based on an instruction of the program code, and the functions of the above-described embodiments are realized by the processing. May be.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を実行し、その処理に応じて上述した実施形態が実現される場合も含む。 Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It includes the case where the CPU or the like provided in the board or the function expansion unit executes part or all of the actual processing and the above-described embodiment is realized according to the processing.
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。又は、プログラムコードは、ネットワークを介してダウンロードしてもよい。 In order to supply the program code, for example, a floppy (registered trademark) disk, a hard disk, a magneto-optical disk, an optical disk represented by CD or DVD, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. Can do. Alternatively, the program code may be downloaded via a network.
101 クライアントPC
102 常駐モジュール
103 デバイスドライバ
104 仮想化制御部
105 通信制御部
106 データ記憶部
107 定義ファイル
108 トリガ検知アルゴリズム
200 デバイスサーバ
201 通信制御部
202 デバイス制御部
203 データ記憶部
204 デバイス個体情報
205 定義ファイル
206 トリガ検知アルゴリズム
207 定義ファイル
300(300A,300B) デバイス
400 接続ケーブル
500 ネットワーク
101 Client PC
102
207 Definition file 300 (300A, 300B)
Claims (13)
前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて当該デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知手段と、
前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信手段と、
前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御手段と、
前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知手段と、
前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開手段とを備えること
を特徴とするデバイス制御装置。 A device controller connected to a client device via a network and to which a device is to be locally connected,
First detection means for monitoring the state of the device using a definition file and a trigger detection algorithm for monitoring the state of the device, and detecting a change in the state of the device;
A transmission unit that transmits a trigger notification indicating detection of the state change to the client device when a state change of the device is detected;
Data communication control means for starting a session with the client device that has received the trigger notification and relaying data communication with the device that has detected the state change;
Second detection means for detecting that data communication with the device is terminated and the session with the client device is disconnected;
A device control apparatus comprising: a resuming unit that causes the first detection unit to resume monitoring of the state of the device when a session with the client device is disconnected.
前記第1の検知手段は、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したか否かを判別する第1の判別手段を備え、
前記送信手段は、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したときに、前記トリガ通知を前記クライアント装置に送信すること
を特徴とする請求項1記載のデバイス制御装置。 The definition file includes a first definition file that includes response information of the device when the state of the device changes.
The first detection means includes first determination means for determining whether or not the response information of the device matches the response information included in the first definition file,
The said transmission means transmits the said trigger notification to the said client apparatus, when the response information of the said device and the response information contained in the said 1st definition file correspond. Device controller.
前記第1の検知手段は、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致したか否かを判別する第2の判別手段を備え、
前記送信手段は、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致しないときに、前記トリガ通知を前記クライアント装置に送信すること
を特徴とする請求項1記載のデバイス制御装置。 The definition file includes a second definition file including response information of the device when the state of the device has not changed,
The first detection means includes second determination means for determining whether or not the response information of the device matches the response information included in the second definition file,
The said transmission means transmits the said trigger notification to the said client apparatus, when the response information of the said device and the response information contained in the said 2nd definition file do not correspond. Device controller.
を特徴とする請求項1乃至3のいずれか1項に記載のデバイス制御装置。 4. The device control according to claim 1, wherein the resuming unit causes the first detection unit to resume monitoring the state of the device when there is no response from the client device. 5. apparatus.
を特徴とする請求項1乃至4のいずれか1項に記載のデバイス制御装置。 When there is a session request from the client device to the device control apparatus while the first detection means is monitoring the device status, the first detection means monitors the device status. 5. The device control apparatus according to claim 1, wherein when the session is terminated and the session is disconnected, the resuming unit resumes monitoring of the state of the device.
前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて前記デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知ステップと、
前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信ステップと、
前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御ステップと、
前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知ステップと、
前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開ステップとを備えること
を特徴とするデバイス制御方法。 A device control method executed by a device control apparatus connected to a client apparatus via a network and to which a device is to be locally connected,
A first detection step of monitoring the state of the device using a definition file and a trigger detection algorithm for monitoring the state of the device and detecting a change in the state of the device;
A transmission step of transmitting a trigger notification indicating detection of the state change to the client device when the state change of the device is detected;
A data communication control step of starting a session with the client device that has received the trigger notification and relaying data communication with the device that has detected the state change;
A second detection step of detecting that data communication with the device is terminated and the session with the client device is disconnected;
A device control method comprising: a resumption step of causing the first detection unit to resume monitoring of the state of the device when a session with the client device is disconnected.
前記第1の検知ステップは、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したか否かを判別する第1の判別ステップを備え、
前記送信ステップは、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したときに、前記トリガ通知を前記クライアント装置に送信すること
を特徴とする請求項6記載のデバイス制御方法。 The definition file includes a first definition file that includes response information of the device when the state of the device changes.
The first detection step includes a first determination step of determining whether or not the response information of the device matches the response information included in the first definition file,
The said transmission step transmits the said trigger notification to the said client apparatus, when the response information of the said device and the response information contained in the said 1st definition file correspond, The said client device is characterized by the above-mentioned. Device control method.
前記第1の検知ステップは、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致したか否かを判別する第2の判別ステップを備え、
前記送信ステップは、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致しないときに、前記トリガ通知を前記クライアント装置に送信すること
を特徴とする請求項6記載のデバイス制御方法。 The definition file includes a second definition file including response information of the device when the state of the device has not changed,
The first detection step includes a second determination step of determining whether or not the response information of the device matches the response information included in the second definition file,
The said transmission step transmits the said trigger notification to the said client apparatus, when the response information of the said device and the response information contained in the said 2nd definition file do not correspond. Device control method.
を特徴とする請求項6乃至8のいずれか1項に記載のデバイス制御方法。 9. The device control according to claim 6, wherein the restarting step causes the first detection step to restart monitoring of the state of the device when there is no response from the client device. 10. Method.
を特徴とする請求項6乃至9のいずれか1項に記載のデバイス制御方法。 When there is a request for a session with the device control apparatus from the client device while the first detection step is monitoring the device state, the first detection step is to monitor the device state. The device control method according to claim 6, wherein when the session is disconnected and the session is disconnected, the restarting step restarts monitoring of the state of the device.
当該デバイス制御装置にローカル接続されたデバイスの動作状態を確認するためのポーリングを行う際に蓄積された前記デバイスに対する要求情報及び前記デバイスからの応答情報を含む定義ファイルを作成する作成手段と、
前記作成された定義ファイルを前記デバイス制御装置に送信する送信手段と、
前記デバイスの状態変化を検知した前記デバイス制御装置から前記デバイスの状態変化の検知を示すトリガ通知を受信する受信手段と、
前記受信手段によって受信された前記トリガ通知に応じて前記デバイス制御装置とのセッションを開始するセッション制御手段とを備えること
を特徴とするクライアント装置。 A client device in which a device is connected via a network to a device control device to be locally connected,
Creating means for creating a definition file including request information and response information from the device stored when polling for confirming an operation state of a device locally connected to the device control apparatus;
Transmitting means for transmitting the created definition file to the device control apparatus;
Receiving means for receiving a trigger notification indicating detection of a change in the state of the device from the device control apparatus that has detected a change in the state of the device;
A client apparatus comprising: session control means for starting a session with the device control apparatus in response to the trigger notification received by the receiving means.
当該デバイスに適った定義ファイルを保持していると判断した場合、前記作成手段による定義ファイルの作成を行わず、前記送信手段によって当該保持している定義ファイルを送信すること
を特徴とする請求項11記載のクライアント装置。 A judgment unit for judging whether or not the device holds a definition file suitable for the device;
When it is determined that the definition file suitable for the device is held, the definition file is not created by the creation unit, and the held definition file is transmitted by the transmission unit. 11. The client device according to 11.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011103755A JP5802049B2 (en) | 2011-05-06 | 2011-05-06 | Device control apparatus and method, client apparatus, and device control system |
US13/464,159 US8849999B2 (en) | 2011-05-06 | 2012-05-04 | Device control apparatus and method for monitoring device, client apparatus, and device control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011103755A JP5802049B2 (en) | 2011-05-06 | 2011-05-06 | Device control apparatus and method, client apparatus, and device control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012234444A JP2012234444A (en) | 2012-11-29 |
JP5802049B2 true JP5802049B2 (en) | 2015-10-28 |
Family
ID=47091012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011103755A Expired - Fee Related JP5802049B2 (en) | 2011-05-06 | 2011-05-06 | Device control apparatus and method, client apparatus, and device control system |
Country Status (2)
Country | Link |
---|---|
US (1) | US8849999B2 (en) |
JP (1) | JP5802049B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016031456A1 (en) * | 2014-08-28 | 2016-03-03 | ソニー株式会社 | Reader/writer device, information processing device, data transfer control method, and program |
JP6399587B2 (en) * | 2014-10-22 | 2018-10-03 | シャープ株式会社 | Information processing apparatus, information processing system, information processing method, and information processing program |
JP6503988B2 (en) * | 2015-09-02 | 2019-04-24 | 富士通株式会社 | Session control method and session control program |
CN106557399B (en) * | 2015-09-25 | 2019-09-06 | 伊姆西公司 | The method and apparatus of the state of storage cluster for rendering |
US9898272B1 (en) * | 2015-12-15 | 2018-02-20 | Symantec Corporation | Virtual layer rollback |
KR102309110B1 (en) * | 2017-03-24 | 2021-10-06 | 삼성전자 주식회사 | Electronic device and method for controlling external electroinc device connected to usb type-c connector |
JP7321746B2 (en) * | 2019-04-11 | 2023-08-07 | 株式会社Ihiアグリテック | General-purpose system for agricultural machinery automation |
JP2022032183A (en) * | 2020-08-11 | 2022-02-25 | セイコーエプソン株式会社 | Server and printing system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169707A (en) * | 2000-11-30 | 2002-06-14 | Nri & Ncc Co Ltd | System and method for computer operation management |
US20020083143A1 (en) | 2000-12-13 | 2002-06-27 | Philips Electronics North America Corporation | UPnP architecture for heterogeneous networks of slave devices |
JP2003032381A (en) | 2001-07-17 | 2003-01-31 | Casio Comput Co Ltd | Information communication terminal and program |
WO2006112381A1 (en) | 2005-04-14 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | Server device, information report method, and information report system |
JP4418920B2 (en) | 2006-05-29 | 2010-02-24 | サイレックス・テクノロジー株式会社 | Network file management system, device server, and file transmission method |
JP2008148106A (en) * | 2006-12-12 | 2008-06-26 | Murata Mach Ltd | Monitoring device, and network management system |
US8078688B2 (en) | 2006-12-29 | 2011-12-13 | Prodea Systems, Inc. | File sharing through multi-services gateway device at user premises |
-
2011
- 2011-05-06 JP JP2011103755A patent/JP5802049B2/en not_active Expired - Fee Related
-
2012
- 2012-05-04 US US13/464,159 patent/US8849999B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012234444A (en) | 2012-11-29 |
US8849999B2 (en) | 2014-09-30 |
US20120284395A1 (en) | 2012-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5802049B2 (en) | Device control apparatus and method, client apparatus, and device control system | |
JP6252172B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND INFORMATION PROCESSING PROGRAM | |
KR101637894B1 (en) | Pull-print system, print job management method, print server, control method therefor and computer-readable medium | |
US10032013B2 (en) | Image forming apparatus communicating with external device through network, network system, method of controlling image forming apparatus, program, and storage medium | |
JP5745424B2 (en) | Device control apparatus, client apparatus, device control method, and device control system | |
US20070079006A1 (en) | Image processing apparatus and method of acquiring information | |
JP4966753B2 (en) | Information processing system and information processing method | |
US8180934B2 (en) | Device monitoring apparatus, control method therefor, device monitoring system, and recording medium | |
US9086867B2 (en) | Power control for an external device based on device identification information | |
JP2015106798A (en) | Communication device, communication system, control method and program of communication device | |
JP2007088726A (en) | Device, and wireless lan setting system and method therefor | |
JP2006260215A (en) | Control system, control device, and control method of control system | |
CN110286861B (en) | Information processing apparatus, device management apparatus, and recording medium | |
US9398184B2 (en) | Image forming apparatus that maintains compatibility of response data in normal mode and standby mode, and network responding method | |
JP7107066B2 (en) | Equipment management device, equipment management program and equipment management system | |
JP5702134B2 (en) | Device control apparatus, information management apparatus, control method therefor, and device control system | |
US9350600B2 (en) | Network responding method performed by an image forming apparatus that has a normal mode and a standby mode | |
JP2012137864A (en) | Device control device, device control method and device control system | |
JP5712606B2 (en) | Image processing apparatus, device management system, device management method, device management program, and recording medium recording the program | |
JP5901810B2 (en) | Device control apparatus, information management apparatus, control method therefor, and device control system | |
CN104683628A (en) | Responding device and responding method | |
JP2013251600A (en) | Device management system and external device | |
JP2018206019A (en) | Device control apparatus, device control method, and program | |
JP2019012464A (en) | Image processing apparatus, control method thereof, printing system, and program | |
JP2006164092A (en) | Display system and method of setting communication information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140714 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150310 |
|
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: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5802049 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |