JP5802049B2 - デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム - Google Patents

デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム Download PDF

Info

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
Application number
JP2011103755A
Other languages
English (en)
Other versions
JP2012234444A (ja
Inventor
良介 宮下
良介 宮下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Imaging Systems Inc
Original Assignee
Canon Imaging Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Imaging Systems Inc filed Critical Canon Imaging Systems Inc
Priority to JP2011103755A priority Critical patent/JP5802049B2/ja
Priority to US13/464,159 priority patent/US8849999B2/en
Publication of JP2012234444A publication Critical patent/JP2012234444A/ja
Application granted granted Critical
Publication of JP5802049B2 publication Critical patent/JP5802049B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring 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

本発明は、デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムに関し、特に、ネットワークを介してデバイスを制御する機能を備えたデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムに関するものである。
ネットワークの普及により、従来、パーソナルコンピュータ(PC)等にローカル接続して利用していたデバイス(周辺機器)をネットワーク上のクライアントPCから利用できるように構成されたデバイスサーバが発表されている。
例えば、プリンタ、ストレージ、スキャナ等のデバイスを、ネットワーク上のクライアントPCからデバイスサーバを介して共有デバイスとして利用する方法がいくつか提案されている。
ひとつの方法として、クライアントPCに専用のアプリケーションソフトウェア(以下、「ユーティリティ」という)を導入しておき、ユーザがデバイスにアクセスしようとするときに、導入されたユーティリティを操作して、クライアントPCに、アクセスすべきデバイスをローカル接続したデバイスとして仮想的に認識させることにより、ネットワーク上のクライアントPCから、アクセスすべきデバイスにローカル接続したデバイスとしてアクセスできるようにするものがある。
この方法では、ユーザによるセッション(接続)の開始・終了操作が必要であり、ユーザがユーティリティを使ってデバイスの終了操作をしない限り、デバイスサーバとのセッションが専有されてしまうため、他のクライアントPCがデバイスを使用することができない。
かかる問題を解決するために、ブロックヘッダで特定されるデータ長を有するブロックデータが伝送される間だけ、デバイスサーバがデータ伝送専有状態にあるとして、特定のクライアントPCにデバイスとの間のデータ伝送を許可するネットワークファイル管理システムが開示されている(例えば、特許文献1参照)。
特開2007−317067号公報
確かに、特許文献1に開示されたネットワークファイル管理システムでは、複数のクライアントPCは手動操作を行うことなくデバイスを共有することはできる。
しかしながら、クライアントPCがネットワーク経由で接続された1台のデバイスを専有している状態においては、当該クライアントPCが他のデバイスを使用することはできないという技術的な制限により、クライアントPCとの専有状態を高頻度で必要とするデバイスが接続された場合には、そのクライアントPCは他のデバイスとの同時使用が困難になってしまう。
例えば、ICカードリーダのようなデバイスの場合、ICカードが検知されたか否かの問い合わせ(ポーリング)、すなわち、デバイス監視処理(状態変化検知処理)を周期的に行う必要があるが、このデバイス監視処理は、一般的に、クライアントPCにインストールされたデバイスドライバによって実行される。
このため、クライアントPCによるネットワークを介したデバイスの専有が頻繁に発生するとともに、当該デバイスの専有中はネットワーク上のトラフィックが著しく増加するので、このようなデバイスの専有は、必要最小限であることが望ましい。
また、デバイスの専有が頻発し、常にネットワーク上にデータが伝送されている状態では、データがハッキングされやすく、セキュリティの面からも望ましくない。
加えて、前述のデバイス監視処理(状態変化検知処理)は、デバイス毎に処理内容が異なる機種依存性をなくすようにするために、デバイスサーバに特定のデバイスに適合したトリガ検知アルゴリズムだけを保持させたときは、デバイスサーバの汎用性が損なわれるという問題がある。一方で、デバイスサーバにシステムに存在する様々なデバイスに適合したトリガ検知アルゴリズムをすべて保持させたときは、デバイスサーバの汎用性は確保できるものの、デバイスサーバは大容量の記憶領域を必要とし、コスト増を招くという問題がある。
本発明の第1の目的は、従来、クライアント装置に実装されていたデバイス監視処理(状態変化検知処理)をデバイス制御装置が備えることで、デバイス制御装置がクライアント装置との通信を伴わずに自立的にデバイスの状態変化を監視し、デバイスの状態変化を検知した時点でこれをクライアント装置へ通知することにより、クライアント装置によるデバイスの監視(ポーリング)を不要とし、ネットワーク上のトラフィックを低減することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。
本発明の第2の目的は、デバイスの状態変化を契機に、クライアント装置とデバイスが通信を行うことで、クライアント装置は必要なときだけデバイスを専有してセキュリティの脆弱性を低減するとともに、専有が頻繁に必要なデバイスであっても複数台数を同時に使用することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。
本発明の第3の目的は、監視対象となったデバイスに適合したトリガ検知アルゴリズムや定義ファイルをデバイスサーバへ動的にインストールまたはダウンロードすることにより、デバイスサーバは汎用性を確保しながらも様々なデバイスの検知処理を実行することができるデバイス制御装置及び方法、クライアント装置、並びにデバイス制御システムを提供することにある。
上記目的を達成するために、本発明のデバイス制御装置は、ネットワークを介してクライアント装置に接続されていると共にデバイスがローカル接続されるべきデバイス制御装置であって、前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて当該デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知手段と、前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信手段と、前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御手段と、前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知手段と、前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開手段とを備えることを特徴とする。
本発明のクライアント装置は、デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置であって、当該デバイス制御装置にローカル接続されたデバイスの動作状態を確認するためのポーリングを行う際に蓄積された前記デバイスに対する要求情報及び前記デバイスからの応答情報を含む定義ファイルを作成する作成手段と、前記作成された定義ファイルを前記デバイス制御装置に送信する送信手段と、前記デバイスの状態変化を検知した前記デバイス制御装置から前記デバイスの状態変化の検知を示すトリガ通知を受信する受信手段と、前記受信手段によって受信された前記トリガ通知に応じて前記デバイス制御装置とのセッションを開始するセッション制御手段とを備えることを特徴とする。
上記構成によれば、デバイスサーバが「トリガ検知アルゴリズム」/「定義ファイル」に基づき、該当デバイスを監視し、デバイスの状態変化を検知すると、トリガ通知する。トリガ通知を受けたクライアントPCは、デバイスサーバとセッションを開始し、クライアントPC及びデバイス間でデータ通信を実行する。データ通信が終了し、セッションが切断されると、デバイスサーバは、該当デバイスの監視を再開する。これにより、クライアントPC側で実装されていたデバイス監視処理を、デバイスサーバが実施するので、クライアントPC側での監視処理が不要となり、必要な時だけ、クライアントPC及びデバイス間でデータ通信し、通信終了すると、当該デバイスの監視を再開する。
また、クライアントPCは、デバイスの接続を検知すると、当該デバイスの動作状態を確認するためのポーリングを実行し、このときの送受信パケットを蓄積してデバイスサーバに送る。デバイスサーバは、この送受信パケットを定義ファイルとして用いることで、監視処理を実行することができるので、新たに接続が検知されたデバイスであっても、当該デバイスの監視処理が可能となる。
本発明の第1の実施の形態に係るデバイス制御システムの概略構成を示す図である。 図1のデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図である。 図1におけるデータ記憶部に格納される定義ファイルのデータ構成を説明するのに用いられる図である。 図1におけるデバイスサーバによって実行されるトリガ検知処理の手順を示すフローチャートである。 本発明の第2の実施の形態に係るデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図である。 図5の動作シーケンスで送受信されるパケットの基本構成を説明するのに用いられる図である。 図5の動作シーケンスで送信される要求/応答パケットのデータ構造、及びこれらを蓄積して作成される定義ファイルを説明するのに用いられる図である。
以下、本発明を図面に示す実施の形態を参照しながら詳細に説明する。
<デバイス制御システムの構成>
図1は、本発明の第1の実施の形態に係るデバイス制御システムの概略構成を示す図である。
図1において、本発明の第1の実施の形態に係るデバイス制御システムは、クライアントPC100(クライアント装置)と、デバイス300(300A,300B)がローカル接続されるデバイスサーバ200(デバイス制御装置)とを備える。クライアントPC100とデバイスサーバ200は、互いにネットワーク500を介して接続されている。ネットワーク500は有線又は無線の通信回線で構成されてもよい。
デバイス300は、USB(Universal Serial Bus)インターフェースに準拠した接続ケーブル400でデバイスサーバ200に接続(ローカル接続)される。ただし、接続ケーブル400は、USBインターフェースに限定されるものではなく、IEEE1394等他のインターフェースに準拠したものであってもよい。
次に、デバイス制御システムを構成する各装置の構成について順次説明する。
<クライアントPC100の構成>
クライアントPC100は、内部バスで互いに接続されたCPU、入力部、表示部、メモリ、通信部、外部記憶部で構成され、ネットワーク500を介してデバイスサーバ200と通信することができる。
外部記憶部は、不図示のオペレーティングシステム(以下、OS)、アプリケーションプログラム101、常駐モジュール102、デバイスドライバ103、仮想化制御部104、通信制御部105等のソフトウェア部品に加えて、各種データを格納しているデータ記憶部106が記憶される。これらソフトウェア部品及び各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
アプリケーションプログラム101は、常駐モジュール102やデバイスドライバ103に対してデータ入出力要求を指示することでデバイス300を制御するためのソフトウェアプログラムである。
常駐モジュール102は、(1)デバイスサーバ200にローカル接続されるデバイス300を個体別に識別するためのデバイス個体情報を取得する機能、(2)デバイス個体情報によってデバイスの機種等を個体ごとに識別する機能、(3)デバイス300との間のデータ送受信に必要となるデバイスドライバ103及び仮想化制御部104を一意に特定し、順次、それらのソフトウェア部品を動的に生成・起動する機能、(4)通信制御部105を介してデバイスサーバ200とのセッションの開始・切断を指示する機能、(5)デバイスサーバ200とのセッションが開始されると、デバイスドライバ103及び仮想化制御部104を用いて、デバイス300との間のデータ送受信を制御する機能を備えている。
デバイスドライバ103は、OS(不図示)やアプリケーションプログラム101(以下、「上位層のソフトウェアプログラム」という)からのデータ入出力要求を、デバイス300に応じたデータ形式のデータ(以下、「制御コマンド」という)に変換し、この制御コマンドを仮想化制御部104に送り、この制御コマンドに対する応答を上位層のソフトウェアプログラムへ通知するソフトウェア部品である。
仮想化制御部104は、デバイスドライバ103で制御コマンドに変換されたデータ入出力要求をUSBデータ形式に準拠したパケットデータ(以下、「USBデータ」という)に変換し、通信制御部105から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ103へ送るソフトウェア部品である。また、デバイス300に対するデータ送受信要求に対して、デバイス300がクライアントPC100に直接的に接続(ローカル接続)しているときと同様の振る舞いをシミュレートする機能(以下、「仮想化制御」という)を備えたソフトウェア部品である。この「仮想化制御」によって、デバイス300をローカル接続したときと同じ状態でデータ送受信することができるようになる。
通信制御部105は、仮想化制御部104を経由して送られてくる「USBデータ」とネットワーク500を介してデバイスサーバ200と通信するときの「ネットワークパケット」との変換処理を行い、デバイスサーバ200との間のデータ送受信を制御するソフトウェア部品である。また、仮想化制御部104を経由して送られてくる上位層のソフトウェアプログラムやデバイスドライバ103からのデータ送受信要求に応じて、デバイスサーバ200との間のセッションの開始・切断の制御を行う。
また、データ記憶部106は、後述する図3の定義ファイル107、トリガ検知アルゴリズム108等の各種データが格納される。
定義ファイル107は、デバイスサーバ200がデバイス300を監視する際、トリガ検知アルゴリズム108に必要な命令・情報等を格納しているデータファイルである。
トリガ検知アルゴリズム108は、デバイスサーバ200において、デバイス300を監視し、その状態変化を検知するための実行手順が記述されたプログラムコードであり、定義ファイル107を読み込むことで、本実行手順に従って、デバイス300の監視処理(以下、「トリガ検知処理」という)が行われる。このトリガ検知処理は図4を用いて後述する。
定義ファイル107とトリガ検知アルゴリズム108は、デバイス300の監視を行うための1組の「監視情報」(監視プログラム)であり、デバイス300の機種ごとに異なる。
図3は、図1におけるデータ記憶部106に格納される定義ファイルのデータ構成を説明するのに用いられる図である。
図3の定義ファイルは、デバイス300の機能(仕様)に基づいて作成され、ベンダーID(VID)、製品ID(PID)などのデバイス識別情報と、デバイス300に対して発行する要求パケットのデータパターンと、デバイス300の状態変化時の応答パケットのデータパターンを含む。応答パケットのデータパターンには、デバイス300の状態変化時にデバイス300から返送されてくる応答パケットのみが含まれている。
<デバイスサーバ200の構成>
デバイスサーバ200は、内部バスで互いに接続されたCPU、メモリ、通信部、USBインターフェース、及び外部記憶部で構成されており、ネットワーク500を介してクライアントPC100と通信すると共に、ローカル接続されているデバイス300と接続ケーブル400を介してデータ送受信することができる。
外部記憶部は、OS(不図示)、通信制御部201、デバイス制御部202等のソフトウェア部品を格納する。これらのソフトウェア部品、及びデータ記憶部203に格納された各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
通信制御部201は、OSの制御に従ってネットワーク500経由で接続されているクライアントPC100との間のセッションを制御(開始、切断)する機能を有する。
デバイス制御部202は、デバイス300を制御するための機能を有する。また、デバイス制御部202は、通信制御部201を介してデバイス個体情報204、定義ファイル205、トリガ検知アルゴリズム206を取得し、取得したこれらの情報(データ)に基づいて、以下で説明する処理を実行するための機能を備えている。
(1)クライアントPC100と通信するための「ネットワークパケット」とデバイス300との間で送受信する「USBデータ」との変換処理を行い、デバイス制御部202と連携してクライアントPC100とデバイス300間のデータ送受信を仲介(中継)する機能、(2)「デバイス」から取得したデバイス個体情報204をクライアントPC100に送信する機能、(3)クライアントPC100から定義ファイル107/トリガ検知アルゴリズム108を受信(取得)する機能、(4)定義ファイル205及びトリガ検知アルゴリズム206(後述)を用いてデバイス300を一定間隔で監視(ポーリング)する「トリガ検知処理」を実行し、状態変化を検知すると、当該検知を示す情報(以下、トリガ通知)をクライアントPC100へ送信する機能、(5)通信制御部201でクライアントPC100との間のセッションが切断されるとこれを検知して、(4)の「トリガ検知処理」を再開させる機能を備えている。
デバイス個体情報204は、「デバイス」を個体ごとに識別するための情報であって、メーカーを識別するために機器を製造したメーカーごとに割り当てられたベンダーID(VID)、機種を識別するために機種ごとに割り当てられた製品ID(PID)、機器の個体を識別するために個々の機器に割り当てられたシリアル番号等である。デバイス個体情報204は、デバイス300が接続されたとき等に、デバイス制御部202によってデバイス300から取得される。
定義ファイル205とトリガ検知アルゴリズム206は、デバイスサーバ200自身に接続されたデバイス300の監視(ポーリング)に必要な情報であり、デバイスサーバ200は、デバイス個体情報204に基づいてクライアントPC100から取得する。
<デバイス300の構成>
デバイス300(300A、300B)は、USBインターフェースを持つ汎用的な入出力機器(デバイス)である。例えば、キーボード、マウス、カードリーダのような入力機器、ディスプレイ等の表示(出力)機器、プリンタ等の単機能周辺機器(SFP:Single Function Peripheral)、又は、プリント機能の他にスキャン機能やコピー機能、ストレージ機能等を兼ね備えた多機能周辺機器(MFP:Multi Function Peripheral)である。ただし、これらに限定されるものでなく、別のデバイスであってもよい。
例えば、デバイス300がICカードリーダのような機器である場合、ICカードがかざされ、ICカードリーダがICカードの読み取り処理を実行すると、デバイスサーバ200は、この読み取り処理の動作をデバイス300の状態変化として検知し、クライアントPC100にトリガ通知を送信する。
ここで、デバイス300の状態変化とは、機器の動作状態の変化のことであり、例えば、ICカードリーダに対してICカードの読み取り操作(ユーザIDの取得)が行われたことや、操作ボタンが押下されたこと等によって生じるものであるが、これらに限定されるものではない。
なお、上述したデバイスサーバ200、デバイス300は、それぞれ別体の装置、機器として説明したが、これに限定されるものではなく、デバイスサーバ200をデバイス300と一体構造としてもよい。
<予めデバイスに応じて作成された定義ファイルを用いる場合>
図2は、図1のデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図である。
図2のシーケンス図は、クライアントPC100と、デバイスサーバ200に接続されたデバイス300Aとの間でデータ送受信する過程を示している。
図2において、デバイスサーバ200は、デバイス300Aが接続されると、当該デバイス300Aのデバイス個体情報を取得し(ステップS201)、デバイス個体情報204としてデータ記憶部203に格納する(ステップS202)。
このとき、デバイスサーバ200は、取得したデバイス個体情報204にシリアル番号が格納されているか否かを判断し、シリアル番号が格納されていない場合は、デバイスサーバ200の有する固有情報(例えば、MACアドレス等)及びデバイスが接続されているポートの固有情報(例えば、ポート番号等)からシリアル番号に相当する固有情報を生成し、デバイス個体情報204に追加する。これにより、シリアル番号が格納されていない同一機種が複数接続された場合でも識別可能となる。
次いで、クライアントPC100の常駐モジュール102は、デバイスサーバ200にローカル接続されたデバイス300Aを確認するために、通信制御部105を介して、デバイスサーバ200に対して検索パケットを送信する。例えば、UDP(User Datagram Protocol)等のプロトコルを用いて、デバイスサーバ200に対する検索(問い合わせ)を行う。デバイスサーバ200は、検索パケットを受信すると、データ記憶部203に格納されているデバイス個体情報204をクライアントPC100に送信する(ステップS203)。
クライアントPC100の常駐モジュール102は、デバイスサーバ200からデバイス個体情報204を取得すると、デバイス個体情報204に含まれているベンダーID(VID)と製品ID(PID)、シリアル番号等により「デバイス」の識別処理を行い、当該デバイス個体情報204に含まれている個体を識別するための情報に基づいて、デバイスドライバ103、仮想化制御部104を一意に特定し、順次、これらのソフトウェア部品を動的に生成して起動する。これらのソフトウェア部品によって、デバイス300Aの仮想化制御が可能な状態となる(ステップS204)。
次に、クライアントPC100は、データ記憶部106に格納している定義ファイル107、トリガ検知アルゴリズム108の中から、デバイス個体情報204に基づいて識別したデバイス300の機種に対応した定義ファイル107、トリガ検知アルゴリズム108を特定する。
そして、クライアントPC100は、特定した定義ファイル107、トリガ検知アルゴリズム108を含んだインストール用パケットを生成し、通信制御部105によってデバイスサーバ200との間でセッションを開始て(ステップS205)、生成したインストール用パケットをデバイスサーバ200に対して送信する(ステップS206)。
なお、応答がない(タイムアウト)、接続拒否等、何らかの理由でセッションを開始することができない場合、デバイスサーバ200は、エラー処理(例えば、デバイス300Aに対してエラー通知する、自装置でアラーム報知する等)を実行し、本処理を終了させる。
デバイスサーバ200は、インストール用パケットを受信すると、このパケットに含まれる定義ファイル107とトリガ検知アルゴリズム108をインストールし、それぞれ定義ファイル205(第1の定義ファイル)とトリガ検知アルゴリズム206としてデータ記憶部203に格納する(ステップS207)。
なお、クライアントPC100のアプリケーションプログラム101は、デバイス個体情報204による識別処理の結果、デバイス300A以外の「デバイス」であると識別した場合、ソフトウェア部品の生成処理は実行しない。
<トリガ検知処理開始>
デバイスサーバ200のデバイス制御部202は、クライアントPC100とデバイスサーバ200との間でセッションが切断されると(ステップS208)、データ記憶部203に格納した定義ファイル205とトリガ検知アルゴリズム206を用いて、デバイス300Aの後述する図4のトリガ検知処理(監視処理)を開始する(ステップS209)。このトリガ検知処理の開始条件は、トリガ通知後、所定時間内にクライアントPC100からセッション開始がない場合も含む。
<デバイス制御開始〜終了>
図4は、図1におけるデバイスサーバによって実行されるトリガ検知処理の手順を示すフローチャートである。
図4のトリガ検知処理(図2のステップS209〜S214)により、デバイス300Aの状態変化が監視される。また、図4のトリガ検知処理は、この処理の実行中にクライアントPC100からの割り込み処理が発生した場合は中断され、当該割り込み処理の終了により、再開される。
図4において、まず、デバイスサーバ200とクライアントPC100とのセッションが切断されるか、トリガ通知後、所定時間内にクライアントPC100からセッション開始がないことにより、監視(ポーリング)が開始すると(ステップS401でYES)、定義ファイル205(図3)に含まれている要求データパターン(要求情報)に従い、要求パケットを通信制御部201を介してデバイス制御部202からデバイス300Aに対して送信する(ステップS402)。上記監視(ポーリング)の間隔は、定義ファイル205(図3)で設定することができる。この間隔は、デバイスサーバ200がトリガ検知処理で専有されることを回避し、他の機能(デバイス)を使用できるようにするためのものである。
次いで、デバイス300Aからの応答パケットを受信したか否かを判別し(ステップS403)、応答パケットを受信したときは、応答パケットとしてエラー情報が返送されて来た(例えば、デバイス300Aと接続断となった場合等)か否かを判別する(ステップS405)。
ステップS405の判別の結果、エラー情報が返送されて来たときは、直ちに本処理を終了し、応答パケットがエラーでなければ(ステップS405でNO)、デバイス制御部202は、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットのデータパターン(応答情報)を比較する(ステップS406(図2のステップS210))(第1の検知手段、第1の判別手段)。
ステップS406の比較の結果、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致したときは、デバイス300Aで状態変化があり(図2のステップS211)(第1の検知手段)、この状態変化を示すトリガ通知を送信すべきと判断して(ステップS407でYES)、通信制御部201を介してクライアントPC100にトリガ通知を送信して(ステップS409(図2のステップS213))(送信手段)、本処理を終了する(図2のステップS214)。
一方、ステップS406の比較の結果、デバイス300Aからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致していない(不一致)ときは、デバイス300Aで状態変化がなく、トリガ通知すべきでないとして(ステップS407でNO)、監視(ポーリング)が終了するまで(ステップS408でYES)、ステップS402以降の処理の処理を実行して、次の要求パケットをデバイス300Aに送信する。
ステップS403の判別の結果、要求パケットを送信した後、所定時間内にデバイスからの応答パケットが受信されなかった(タイムアウト)ときは(ステップS404でYES)、監視(ポーリング)が終了するまで(ステップS408でYES)、ステップS402以降の処理を実行して、次の要求パケットを送るようにする。
図2に戻り、クライアントPC100は、デバイスサーバ200からトリガ通知を受信すると、デバイスサーバ200との間でセッションを開始し(ステップS215)、デバイスサーバ200を介してデバイス300Aとの間でデータ送受信(データ通信の中継)を開始して(ステップS216)、データ送受信を実行する(ステップS217)(データ通信制御手段)。ステップS213において、デバイスサーバ200は、クライアントPC100にトリガ通知を送信すると共にセッション開始を要求してもよい。
<トリガ検知処理再開>
そして、クライアントPC100の通信制御部105によって、データ送受信(デバイス制御)の終了が検知される(例えば、ユーザの終了操作の検知等)(ステップS218)と、デバイスサーバ200とのセッションが切断される(ステップS219)。デバイスサーバ200は、当該セッションの切断が検知される(第2の検知手段)と、トリガ検知処理を開始(ステップS220)し、デバイス300Aの監視(ポーリング)を再開する(再開手段)。ステップS213において、トリガ通知後、所定時間内にクライアントPC100からセッション開始がない場合も、同様にトリガ検知処理を開始し(ステップS220)、デバイス300Aの監視(ポーリング)を再開する。
このように、本第1の実施の形態によれば、デバイス300Aに対する制御権(通信)が、トリガ通知によってデバイスサーバ200からクライアントPC100へ切り替わり、セッション切断を契機にクライアントPC100からデバイスサーバ200に再び切り替わることで、クライアントPC100とデバイス300Aは必要なときだけデータ通信を実施することが可能となり、データ通信が終了すると、デバイスサーバ200によるデバイス300Aの監視が再開される。
<クライアントPCが蓄積した要求/応答パケットを定義ファイルとする場合>
図5は、本発明の第2の実施の形態に係るデバイス制御システムの動作シーケンスを説明するのに用いられるシーケンス図であり、クライアントPC100と、デバイスサーバ200に接続されたデバイス300Bとの間でデータ送受信する過程を示している。
本発明の第2の実施の形態に係るデバイス制御システムは、システム構成は図1のものと同じであるが、先に説明した本発明の第1の実施の形態とは異なり、クライアントPC100が、接続を検知したデバイス300Bに対してポーリングを行い、その際の要求/応答パケットを蓄積しておき、これらを定義ファイルとしてデバイスサーバ200に送信する点に特徴がある。
具体的には、クライアントPC100の仮想化制御部104が、アプリケーションプログラム101からの指示に従い、デバイス300Bにおいて状態変化していない時の応答、例えば、デバイス300Bが処理や制御を実行していない「実行待機状態」の応答を確認するため、通信制御部105を介してポーリングを行い、この際に送受信される要求/応答パケットをデータ記憶部106に記憶させる機能を備えることで実現される。
また、図5の動作シーケンスでは、図4のトリガ検知処理において、デバイス300Bからの応答パケットと定義ファイルに含まれている応答パケットのデータパターンを比較し、この比較の結果、デバイス300Bからの応答パケットと定義ファイルに含まれている応答パケットの各データパターンが一致していない(不一致)とき、クライアントPC100にトリガ通知を行う点が本発明の第1の実施の形態とは異なっている。
<シーケンス動作の説明>
図5において、クライアントPC100は主要な構成のみを図示しており、クライアントPC100がデバイスサーバ200とセッション開始までの動作シーケンス(ステップS501〜S505)は、図2のステップS201〜S205と同じ動作である。
次いで、クライアントPC100は、アプリケーションプログラム101によって、新たに接続が検知されたデバイス300Bに対するポーリングの開始が指示されると(ステップS511)、デバイスドライバ103を介して、ポーリングで送受信される後述する図6のパケットの蓄積開始(ステップS512)及びデバイス300Bの動作状態を確認するための要求パケットの送信(ステップS513)を仮想化制御部104に指示する。
仮想化制御部104は、デバイス300Bの動作状態(ここでは、「実行待機状態」)を確認するための要求パケットを、通信制御部105を介して順次送信させる(ステップS514)と共に、当該要求パケットをデータ記憶部106に蓄積させる(ステップS515)ように指示する。また、通信制御部105で受信した応答パケットをデータ記憶部106に蓄積させる(ステップS516)ように指示する。そして、一連のポーリングが終了するまでこれが繰り返される(ステップS517〜S519)(作成手段)。なお、これらパケットの送受信プロセス(順序等)の記録を指示するようにしてもよい。
<パケットのデータ構成について>
図6は、図5の動作シーケンスで送受信される要求/応答パケットのデータ構成を説明するのに用いられる図である。
図6において、ヘッダ部には、本システムのプロトコルであることを識別するための「署名データ」、当該パケットのデータサイズを示す「電文サイズ」、パケットの種類を示す「コマンドID」、デバイスを識別するための「機器情報」(「ベンダーID」、「製品ID」、「シリアル番号」)が格納される。データ部には、パケットの種類(「コマンドID」)に応じたデータが格納される。「コマンドID」の違いによって、要求パケットか応答パケットかを判別している。
図5に戻り、アプリケーションプログラム101から仮想化制御部104にポーリングの終了(ステップS520)が通知されると、デバイスドライバ103を介して、図6のパケット蓄積終了を仮想化制御部104に指示する。仮想化制御部104は、データ記憶部106に蓄積した要求パケット及び応答パケットを後述する図7の定義ファイル(第2の定義ファイル)としてデバイスサーバ200に送信する(ステップS521)(送信手段)。
<蓄積した要求/応答パケットで作成した定義ファイル>
図7は、図5の動作シーケンスで送信される要求/応答パケットのデータ構造、及びこれらを蓄積して作成される定義ファイルを説明するのに用いられる図である。
なお、要求パケット、応答パケットは、図6で説明した要求/応答パケットのデータ構成と同じであり、「コマンドID」の違いによって、要求パケットか応答パケットが判別され、データ部(USB転送データ)に要求または応答に応じたデータが格納されている。
例えば、ポーリングでn個の要求パケットを用いる場合、データ記憶部106には、n個の要求パケット、n個の応答パケットが蓄積され、これらが定義ファイルとしてデバイスサーバ200に送信される。
<トリガ検知処理開始〜終了>
図5に戻り、デバイスサーバ200は、通信制御部201を介してクライアントPC100から定義ファイル(図7参照)を受信すると、これを定義ファイル205としてデータ記憶部106に格納する(ステップS522)。
定義ファイルの送信が完了すると、クライアントPC100とデバイスサーバ200の間のセッションは切断され(ステップS523)、図4のトリガ検知処理が実行される(ステップS524〜S530)。
デバイスサーバ200のデバイス制御部202は、この定義ファイル205を用いて、クライアントPC100と同様のポーリングを開始する。即ち、デバイス300Bに対する図4のトリガ検知処理を開始する。
図4は、図1におけるデバイスサーバ200によって実行されるトリガ検知処理の手順を示すフローチャートである。図4の処理は、先に本発明の第1の実施の形態として説明したもの基本的に同じであるが、下記の点が異なる。
具体的には、定義ファイル205に含まれている要求データパターンに従い、要求パケットを順次通信制御部201を介してデバイス制御部202からデバイス300Bに対して送信し(ステップS525(図4のステップS402))、デバイス300Bからの応答パケットを受信する(ステップS526(図4のステップS403))。
デバイス制御部202は、デバイス300Bからの応答パケットと定義ファイル205に含まれている応答パケットのデータパターンを比較し(図4のステップS406)、それらが一致するか否かの判定処理を行う(第1の検知手段、第2の判別手段)。
デバイス300Bからの応答パケットと定義ファイル205に含まれている応答パケットの各データパターンが一致するか否かの判定処理は、例えば、しきい値を設定しておき、パケットの先頭からのバイト数を比較し、所定のバイト数以上(例えば、3バイト以上)異なっている場合を一致していないと判断する方法や、n個すべての応答パケットと比較して、何れの応答パケットとも異なるバイト数であった場合、一致していないと判断する等の方法で行う。
上記判定処理の結果、「一致」判定の場合は、状態変化がないと判断し、次の要求パケットをデバイス300Bに送信する。「一致」と判定されている間は、定義ファイル205に含まれている要求パケットを順次送信してゆく。
なお、要求パケットを送信した後、所定時間内にデバイスからの応答パケットが受信されなかった(タイムアウト)場合は、次の要求パケットを送るようにしてもよい。
また、要求パケットに対して、デバイス300Bからエラー情報が返送されてきた場合(例えば、デバイス300Bと接続断となった場合等)、トリガ検知処理を終了する。トリガ検知処理が終了した後は、データ記憶部から定義ファイル205を削除するようにしてもよいし、データ記憶部203に保存しておき、デバイス300Bが改めて接続されたとき(PID、VIDの一致により判断する)に利用できるようにしておいてもよい。
一方、「不一致」判定の場合、デバイス300Bで状態変化があり、この状態変化(ステップS527)を検知したものと判断し、この検知を示すトリガ通知(ステップS528)を、通信制御部201を介してクライアントPC100に送信すると共にこのトリガ通知をクライアントPC100が受信する(ステップS529)(送信手段、受信手段)。
<デバイス制御開始〜終了>
クライアントPC100は、デバイスサーバ200からトリガ通知を受信すると、これを契機にデバイスサーバ200との間でセッションを開始する(ステップS531)(セッション制御手段)。これ以降の動作シーケンス(ステップS532〜S536)は、図2の動作シーケンス(ステップS216〜S220)と同じであるので、説明を省略する。
このように、クライアントPC100からトリガ通知を送信しない状態のデバイス300Bに対してポーリングを行い、この際に送受信される要求/応答パケットを蓄積して、これを定義ファイルとしてデバイスサーバ200に送信することにより、デバイスの状態変化の監視(トリガ検知処理)を行うことができるようになる。
<定義ファイル有無の判断>
本発明の第2の実施の形態において、さらに、クライアントPC100がデータ記憶部106に該当するデバイス300に適った定義ファイルを保持(記憶)しているか否かを判断する機能を備えるようにしてもよい。この場合、デバイス300の機能(仕様)に応じて予め作成した定義ファイル(図3:本発明の第1の実施の形態)、若しくは、該当デバイス300と同機種のデバイスとポーリングして作成した定義ファイル(図7参照)を既に保持しているときは、上述したようなポーリングによる定義ファイルの作成を実行せず、保持している定義ファイルをデバイスサーバ200に送信し、保持していないときのみ、ポーリングによる定義ファイルの作成を実行する。
なお、本発明は、上述した実施の形態に限定されるものではなく、以下に説明する実施の形態も可能であり、本発明の要旨を逸脱しない範囲内において適宜変更可能である。
<シーケンス開始のタイミング>
図2及び図5の動作シーケンスでは、デバイスサーバ200にデバイス300が接続されたときにデバイス個体情報を取得してシーケンスを開始するものとして記載しているが、デバイスサーバ200は、これ以外にも、例えば、デバイスサーバ200やデバイス300の電源がオンになったとき、クライアントPC100のアプリケーションプログラムから指示されたとき、デバイスサーバ200とデバイス300の一方又は両方で所定の接続操作を実行したときにデバイス個体情報を取得し、このデバイス個体情報に基づいて図2又は図5と動作シーケンスを実行するようにしてもよい。
<定義ファイルの実行プログラム>
また、クライアントPC100は、定義ファイルとともにトリガ検知アルゴリズムの一部として動作する簡易プログラム(例えば、シェル、スクリプトなど)をデバイスサーバ200に送り、デバイスサーバ200は、この定義ファイルと簡易プログラムを用いてトリガ検知処理を実行するように構成してもよい。
この場合、トリガ検知アルゴリズムは、定義ファイルに基づいて、デバイス300とのポーリングの実行、クライアントPC100へのトリガ通知などトリガ検知処理の基本的な処理を実行するとともに、デバイスの機種に応じた固有(特有)の処理など一部の処理を簡易プログラムで実行させるように構成される。例えば、状態変化として判断(検知)する条件は、デバイスの機種ごとに異なっているので、この判断を簡易プログラムで実行させることができる。
このように構成することで、トリガ検知アルゴリズムは、デバイスの機種に依存しないトリガ検知処理の基本的な実行手順だけを記述しておけばよく、デバイスの機種に応じた処理を実行する簡易プログラムを作成するだけで、多種多様なデバイスに対応することができる。
<定義ファイル/アルゴリズムの別の取得(インストール)方法>
デバイスサーバ200は、定義ファイルとトリガ検知アルゴリズムをクライアントPC100からではなく、可搬型記憶媒体から取得するようにしてもよい。
<デバイスサーバが定義ファイル/アルゴリズムをすでに保持している場合>
また、デバイスサーバ200は、以前に同一機種のデバイス300が接続されたときに、該当する定義ファイルとトリガ検知アルゴリズムを取得、格納(インストール)している場合は、改めて取得・格納を行わなくてもよい。さらに、クライアントPC100に対して、定義ファイルとトリガ検知アルゴリズムの送信が不要である旨を通知してもよい。
<トリガ通知先が複数の場合>
また、複数台のクライアントPC100を配置するシステム構成も可能である。この場合、デバイスサーバ200は、複数のクライアントPC100に対してトリガ通知を送信し、最初にセッションの接続開始要求を送信してきたクライアントPC100に対して、デバイス300との接続(データ送受信)を許可すればよい。或いは、接続開始要求を送信した複数のクライアントPC100のうち、任意の台数のみ、デバイス300との接続を許可するように制御してもよい。また、特定の1台のクライアントPC100が、電源オフや故障等でトリガ通知の受信が不可能な場合には、別のクライアントPC100を代替の宛先としてトリガ通知を送信するように制御してもよい。
<定義ファイルとトリガ検知アルゴリズムについて>
図1のクライアントPC100には、デバイス300に対応した定義ファイル107とトリガ検知アルゴリズム108が両方ともに格納されており、デバイスサーバ200がクライアントPC100から定義ファイル107とトリガ検知アルゴリズム108を受信する方法(構成)を説明したが、下記のような方法(構成)も可能である。
(1)デバイスサーバ200に予め必要なトリガ検知アルゴリズム108を格納させておき、クライアントPC100には、定義ファイル107のみを格納させる。この場合、デバイスサーバ200は、クライアントPC100から、機器情報によって特定されるデバイス300の機種に対応した定義ファイル107のみを受信することになる。
例えば、ソフトウェア・ハードウェアの仕様・設計に依拠する場合やシステムの運用・管理上の理由等から、デバイスサーバ200へのアクセスが制限されており、トリガ検知アルゴリズム(プログラムコード)を受信して実行(又はインストール)できない場合に適用できる構成である。本構成は、トリガ検知アルゴリズム(プログラムコード)がデバイスサーバに予め格納されているため、改竄が困難であるというメリットがある。
(2)デバイスサーバ200は、特定したデバイス300の機種に対応するトリガ検知アルゴリズムや定義ファイルを保持していない場合にのみ、クライアントPC100等から必要なトリガ検知アルゴリズムや定義ファイルを取得するようにしてもよい。
さらに、デバイスサーバ200又はクライアントPC100でトリガ検知アルゴリズムや定義ファイルを管理して、これらの追加・更新等が必要か否かを判断させるようにしてもよい。このような構成とすることで、デバイスサーバ200は、追加・更新等の必要性が生じたときだけ、トリガ検知アルゴリズムや定義ファイルの全部又は一部を取得できるようになる。
また、上述した実施の形態のように、デバイスサーバ200がクライアントPC100からトリガ検知アルゴリズムや定義ファイルを受信するのではなく、デバイスサーバ200がクライアントPC100にアクセスしてダウンロード(取得)するように構成してもよい。この場合、クライアントPC100は、該当するトリガ検知アルゴリズムや定義ファイルを保持していることだけをデバイスサーバ200に通知すればよい。
上述したトリガ検知アルゴリズム1つに対して複数の定義ファイルを対応付けることで、複数のデバイス300を連携させて制御することも可能である。例えば、デバイスAとデバイスBを連携させて制御する場合、両方のデバイスからのトリガ通知を受信した後、デバイスAの動作を開始させる、というような制御を行うことができる。
なお、本発明は、デバイスサーバ200に対して機種の異なる複数のデバイス300が接続される場合にも適用可能である。この場合、デバイスサーバ200には、各デバイスに応じた定義ファイルとトリガ検知アルゴリズムが機種ごとに格納される(複数組が格納される)。そして、各デバイスに適ったトリガ検知アルゴリズムと定義ファイルの組み合わせに基づきトリガ検知処理が実行され、それぞれのデバイス300ごとの状態変化を検知することができる。
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して処理を実行することによっても達成することができる。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を実行し、その処理に応じて上述した実施形態が実現される場合も含む。
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。又は、プログラムコードは、ネットワークを介してダウンロードしてもよい。
101 クライアントPC
102 常駐モジュール
103 デバイスドライバ
104 仮想化制御部
105 通信制御部
106 データ記憶部
107 定義ファイル
108 トリガ検知アルゴリズム
200 デバイスサーバ
201 通信制御部
202 デバイス制御部
203 データ記憶部
204 デバイス個体情報
205 定義ファイル
206 トリガ検知アルゴリズム
207 定義ファイル
300(300A,300B) デバイス
400 接続ケーブル
500 ネットワーク

Claims (13)

  1. ネットワークを介してクライアント装置に接続されていると共にデバイスがローカル接続されるべきデバイス制御装置であって、
    前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて当該デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知手段と、
    前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信手段と、
    前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御手段と、
    前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知手段と、
    前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開手段とを備えること
    を特徴とするデバイス制御装置。
  2. 前記定義ファイルは、前記デバイスの状態変化時における前記デバイスの応答情報を含む第1の定義ファイルからなり、
    前記第1の検知手段は、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したか否かを判別する第1の判別手段を備え、
    前記送信手段は、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したときに、前記トリガ通知を前記クライアント装置に送信すること
    を特徴とする請求項1記載のデバイス制御装置。
  3. 前記定義ファイルは、前記デバイスにおいて状態変化していない時の当該デバイスの応答情報を含む第2の定義ファイルからなり、
    前記第1の検知手段は、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致したか否かを判別する第2の判別手段を備え、
    前記送信手段は、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致しないときに、前記トリガ通知を前記クライアント装置に送信すること
    を特徴とする請求項1記載のデバイス制御装置。
  4. 前記再開手段は、前記クライアント装置から応答がないとき、前記第1の検知手段に前記デバイスの状態の監視を再開させること
    を特徴とする請求項1乃至3のいずれか1項に記載のデバイス制御装置。
  5. 前記第1の検知手段が前記デバイスの状態を監視している間に前記クライアント装置から前記デバイス制御装置とのセッションの要求があるとき、前記第1の検知手段は、前記デバイスの状態の監視を終了し、前記セッションが切断されると、前記再開手段は、前記デバイスの状態の監視を再開させること
    を特徴とする請求項1乃至4のいずれか1項に記載のデバイス制御装置。
  6. ネットワークを介してクライアント装置に接続されていると共にデバイスがローカル接続されるべきデバイス制御装置によって実行されるデバイス制御方法であって、
    前記デバイスの状態を監視するための定義ファイル及びトリガ検知アルゴリズムを用いて前記デバイスの状態を監視し、当該デバイスの状態変化を検知する第1の検知ステップと、
    前記デバイスの状態変化が検知されたときに、当該状態変化の検知を示すトリガ通知を前記クライアント装置に送信する送信ステップと、
    前記トリガ通知を受信したクライアント装置とセッションを開始して、前記状態変化を検知したデバイスとのデータ通信を中継するデータ通信制御ステップと、
    前記デバイスとのデータ通信が終了して当該クライアント装置とのセッションが切断されたことを検知する第2の検知ステップと、
    前記クライアント装置とのセッションが切断されたとき、前記第1の検知手段に前記デバイスの状態の監視を再開させる再開ステップとを備えること
    を特徴とするデバイス制御方法。
  7. 前記定義ファイルは、前記デバイスの状態変化時における前記デバイスの応答情報を含む第1の定義ファイルからなり、
    前記第1の検知ステップは、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したか否かを判別する第1の判別ステップを備え、
    前記送信ステップは、前記デバイスの応答情報と前記第1の定義ファイルに含まれている応答情報が一致したときに、前記トリガ通知を前記クライアント装置に送信すること
    を特徴とする請求項6記載のデバイス制御方法。
  8. 前記定義ファイルは、前記デバイスにおいて状態変化していない時の当該デバイスの応答情報を含む第2の定義ファイルからなり、
    前記第1の検知ステップは、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致したか否かを判別する第2の判別ステップを備え、
    前記送信ステップは、前記デバイスの応答情報と前記第2の定義ファイルに含まれている応答情報が一致しないときに、前記トリガ通知を前記クライアント装置に送信すること
    を特徴とする請求項6記載のデバイス制御方法。
  9. 前記再開ステップは、前記クライアント装置から応答がないとき、前記第1の検知ステップに前記デバイスの状態の監視を再開させること
    を特徴とする請求項6乃至8のいずれか1項に記載のデバイス制御方法。
  10. 前記第1の検知ステップが前記デバイスの状態を監視している間に前記クライアント装置から前記デバイス制御装置とのセッションの要求があるときは、前記第1の検知ステップは、前記デバイスの状態の監視を終了し、前記セッションが切断されると、前記再開ステップは、前記デバイスの状態の監視を再開させること
    を特徴とする請求項6乃至9のいずれか1項に記載のデバイス制御方法。
  11. デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置であって、
    当該デバイス制御装置にローカル接続されたデバイスの動作状態を確認するためのポーリングを行う際に蓄積された前記デバイスに対する要求情報及び前記デバイスからの応答情報を含む定義ファイルを作成する作成手段と、
    前記作成された定義ファイルを前記デバイス制御装置に送信する送信手段と、
    前記デバイスの状態変化を検知した前記デバイス制御装置から前記デバイスの状態変化の検知を示すトリガ通知を受信する受信手段と、
    前記受信手段によって受信された前記トリガ通知に応じて前記デバイス制御装置とのセッションを開始するセッション制御手段とを備えること
    を特徴とするクライアント装置。
  12. 前記デバイスに適った定義ファイルを自装置で保持しているか否かを判断する判断手段をさらに備え、
    当該デバイスに適った定義ファイルを保持していると判断した場合、前記作成手段による定義ファイルの作成を行わず、前記送信手段によって当該保持している定義ファイルを送信すること
    を特徴とする請求項11記載のクライアント装置。
  13. 請求項1又は3に記載のデバイス制御装置と請求項11又は12に記載のクライアント装置とが互いにネットワークを介して接続されていることを特徴とするデバイス制御システム。
JP2011103755A 2011-05-06 2011-05-06 デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム Expired - Fee Related JP5802049B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011103755A JP5802049B2 (ja) 2011-05-06 2011-05-06 デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム
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 (ja) 2011-05-06 2011-05-06 デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム

Publications (2)

Publication Number Publication Date
JP2012234444A JP2012234444A (ja) 2012-11-29
JP5802049B2 true JP5802049B2 (ja) 2015-10-28

Family

ID=47091012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011103755A Expired - Fee Related JP5802049B2 (ja) 2011-05-06 2011-05-06 デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム

Country Status (2)

Country Link
US (1) US8849999B2 (ja)
JP (1) JP5802049B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170228333A1 (en) * 2014-08-28 2017-08-10 Sony Corporation Reader/writer device, information processing device, and data transfer control method, and program
JP6399587B2 (ja) * 2014-10-22 2018-10-03 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
JP6503988B2 (ja) * 2015-09-02 2019-04-24 富士通株式会社 セッション制御方法およびセッション制御プログラム
CN106557399B (zh) * 2015-09-25 2019-09-06 伊姆西公司 用于呈现存储集群的状态的方法和装置
US9898272B1 (en) * 2015-12-15 2018-02-20 Symantec Corporation Virtual layer rollback
KR102309110B1 (ko) * 2017-03-24 2021-10-06 삼성전자 주식회사 Usb 타입 c 커넥터에 연결된 외부 전자 장치를 제어하는 전자 장치 및 제어 방법
JP7321746B2 (ja) * 2019-04-11 2023-08-07 株式会社Ihiアグリテック 農作業機自動化用汎用システム
JP7552135B2 (ja) * 2020-08-11 2024-09-18 セイコーエプソン株式会社 サーバー及び印刷システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002169707A (ja) * 2000-11-30 2002-06-14 Nri & Ncc Co Ltd コンピュータ運用管理システム及び運用管理方法
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
JP2003032381A (ja) 2001-07-17 2003-01-31 Casio Comput Co Ltd 情報通信端末装置、及びプログラム
US8341261B2 (en) 2005-04-14 2012-12-25 Panasonic Corporation Server device, information report method, and information report system
JP4418920B2 (ja) 2006-05-29 2010-02-24 サイレックス・テクノロジー株式会社 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法
JP2008148106A (ja) * 2006-12-12 2008-06-26 Murata Mach Ltd 監視装置およびネットワーク管理システム
US8280978B2 (en) 2006-12-29 2012-10-02 Prodea Systems, Inc. Demarcation between service provider and user in multi-services gateway device at user premises

Also Published As

Publication number Publication date
US8849999B2 (en) 2014-09-30
US20120284395A1 (en) 2012-11-08
JP2012234444A (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
JP5802049B2 (ja) デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム
JP6252172B2 (ja) 通信システム、通信装置、および情報処理プログラム
US8127031B2 (en) Image processing apparatus and method of acquiring information
KR101637894B1 (ko) 풀 프린트 시스템, 인쇄 잡 관리방법, 프린트 서버 및 그 제어 방법, 및 컴퓨터 판독 가능한 매체
US10032013B2 (en) Image forming apparatus communicating with external device through network, network system, method of controlling image forming apparatus, program, and storage medium
JP5745424B2 (ja) デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム
JP4966753B2 (ja) 情報処理システム、および情報処理方法
US8180934B2 (en) Device monitoring apparatus, control method therefor, device monitoring system, and recording medium
US20120204043A1 (en) Information Processing Apparatus, Method Of Controlling Information Processing Apparatus, And Computer Program Product
JP2015106798A (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP2009296357A (ja) 画像処理装置、画像処理システム、動作モード制御方法およびプログラム
JP2007088726A (ja) デバイス、無線lan設定システムおよび無線lan設定方法
JP2006260215A (ja) 制御システム、制御装置、制御システムの制御方法
CN110286861B (zh) 信息处理装置、设备管理装置、记录介质
US9398184B2 (en) Image forming apparatus that maintains compatibility of response data in normal mode and standby mode, and network responding method
JP5702134B2 (ja) デバイス制御装置、情報管理装置、及びその制御方法、デバイス制御システム
US9350600B2 (en) Network responding method performed by an image forming apparatus that has a normal mode and a standby mode
US20230128400A1 (en) Management device and non-transitory computer-readable storage medium storing program
JP2012137864A (ja) デバイス制御装置、デバイス制御方法、およびデバイス制御システム
JP5712606B2 (ja) 画像処理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体
JP5901810B2 (ja) デバイス制御装置、情報管理装置、及びその制御方法、デバイス制御システム
CN104683628A (zh) 应答装置及应答方法
JP2013251600A (ja) 機器管理システムおよび外部機器
JP2018206019A (ja) デバイス制御装置、デバイス制御方法、およびプログラム
JP2019012464A (ja) 画像処理装置及びその制御方法、印刷システム、プログラム

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