JP5745424B2 - デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム - Google Patents

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

Info

Publication number
JP5745424B2
JP5745424B2 JP2011539420A JP2011539420A JP5745424B2 JP 5745424 B2 JP5745424 B2 JP 5745424B2 JP 2011539420 A JP2011539420 A JP 2011539420A JP 2011539420 A JP2011539420 A JP 2011539420A JP 5745424 B2 JP5745424 B2 JP 5745424B2
Authority
JP
Japan
Prior art keywords
monitoring
client
detection algorithm
trigger
definition file
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
JP2011539420A
Other languages
English (en)
Other versions
JPWO2011055831A1 (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 JP2011539420A priority Critical patent/JP5745424B2/ja
Publication of JPWO2011055831A1 publication Critical patent/JPWO2011055831A1/ja
Application granted granted Critical
Publication of JP5745424B2 publication Critical patent/JP5745424B2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Description

本発明は、デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システムに関し、特に、ネットワークを介してデバイスを制御する機能を備えたデバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システムに関する。
ネットワークの普及により、従来、パーソナルコンピュータ(PC)などにローカル接続して利用していたデバイス(周辺機器)をネットワーク上のクライアントPCから利用できるように構成されたデバイスサーバが発表されている。
例えば、プリンタ、ストレージ、スキャナなどのデバイスを、ネットワーク上のクライアントPCからデバイスサーバを介して共有デバイスとして利用する方法がいくつか提案されている。
ひとつの方法として、クライアントPCに専用のアプリケーションソフトウェア(以下、「ユーティリティ」という)を導入しておき、ユーザがデバイスにアクセスしようとするときに、導入されたユーティリティを操作して、クライアントPCに、アクセスすべきデバイスをローカル接続したデバイスとして仮想的に認識させることにより、ネットワーク上のクライアントPCから、アクセスすべきデバイスにローカル接続したデバイスとしてアクセスできるようにするものがある。
この方法では、ユーザによるセッション(接続)の開始・終了操作が必要であり、ユーザがユーティリティを使ってデバイスの終了操作をしない限り、デバイスサーバとのセッションが専有されてしまうため、他のクライアントPCがデバイスを使用することができない。
かかる問題を解決するために、デバイスサーバがブロックヘッダで特定されるデータ長のブロックデータが伝送される間だけ、データ伝送専有状態として、特定のクライアントPCにデバイスとの間のデータ伝送を許可するネットワークファイル管理システムが開示されている(たとえば、特開2007−317067号公報参照)。
確かに、特許文献1に開示されたネットワークファイル管理システムでは、複数のクライアントPCから手動操作を行うことなく、デバイスを共有することはできる。
しかしながら、クライアントPCが、ネットワーク経由で接続された1台のデバイスを専有している状態においては、当該クライアントPCが他のデバイスを使用することはできないという技術的な制限により、クライアントPCとの専有状態を高頻度で必要とするデバイスが接続された場合には、その他のデバイスとの同時使用が困難になってしまう。
特に、デバイスがICカードリーダである場合、ICカードが検知されたか否かの問い合わせ(ポーリング)、すなわち、デバイス監視処理(状態変化検知処理)を周期的に行う必要があるが、このデバイス監視処理は、一般的に、クライアントPCにインストールされたデバイスドライバによって実行される。
このため、クライアントPCによるネットワークを介したICカードリーダの専有が頻繁に発生するとともに、当該デバイスの専有中はネットワーク上のトラフィックが著しく増加するので、このようなデバイスの専有は、必要最小限であることが望ましい。
また、デバイスの専有が頻発し、常にネットワーク上にデータが流れている状態では、データをハッキングされやすく、セキュリティの面からも望ましくない。
加えて、前述のデバイス監視処理(状態変化検知処理)は、デバイス毎に処理内容が異なる機種依存性を排除するために、デバイスサーバに特定のデバイスに適合したトリガ検知アルゴリズムだけを保持させたときは、デバイスサーバの汎用性が失われるという問題がある。一方で、デバイスサーバにシステムに存在する様々なデバイスに適合したトリガ検知アルゴリズムをすべて保持させたときは、デバイスサーバの汎用性は確保できるものの、デバイスサーバは大容量の記憶領域を必要とし、コスト増を招いてしまう。
本発明の第1の目的は、従来、クライアント装置に実装されていたデバイス監視処理(状態変化検知処理)をデバイス制御装置が備えることで、デバイス制御装置がクライアント装置との通信を伴わずに自立的にデバイスの状態変化を監視し、デバイスの状態変化を検知した時点でこれをクライアント装置へ通知することにより、クライアント装置によるデバイスの監視(ポーリング)を不要とし、ネットワーク上のトラフィックを低減することができるデバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システムを提供することにある。
本発明の第2の目的は、デバイスの状態変化を契機に、クライアント装置とデバイスが通信を行うことで、クライアント装置は必要なときだけデバイスを専有してセキュリティの脆弱性を低減するとともに、専有が頻繁に必要なデバイスであっても複数台数を同時に使用することができるデバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システムを提供することにある。
本発明の第3の目的は、監視対象となったデバイスに適合したトリガ検知アルゴリズムや定義ファイルをデバイスサーバへ動的にインストールまたはダウンロードすることにより、デバイスサーバは汎用性を確保しながらも様々なデバイスの検知処理を実行することができるデバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システムを提供することにある。
上記目的を達成するために、本発明の第1の態様によれば、ネットワークを介してクライアント装置に接続されているとともにデバイスがローカル接続されるべきデバイス制御装置であって、前記クライアント装置に前記デバイスがローカル接続されたかのように仮想化制御させるデバイス制御装置において、前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得手段と、前記デバイス情報取得手段によって取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取得手段と、前記監視情報取得手段によって取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する監視情報記憶手段と、前記監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、前記ローカル接続されたデバイスを監視するデバイス監視手段と、前記デバイス監視手段によって前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信手段と、前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御手段とを備えることを特徴とするデバイス制御装置が提供される。
上記目的を達成するために、本発明の第2の態様によれば、デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置であって、前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得手段と、前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御手段と、前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する監視情報記憶手段と、前記監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得手段で取得した前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定手段と、前記監視情報特定手段によって特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信手段と、前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信手段と、前記トリガ通知受信手段によって受信された前記トリガ通知に応じて、ユーザによる操作を必要とせずに前記デバイス制御装置とのセッションを開始および切断するセッション手段とを備えることを特徴とするクライアント装置が提供される。
上記目的を達成するために、本発明の第3の態様によれば、ネットワークを介してクライアント装置に接続されているとともにデバイスがローカル接続されるべきデバイス制御装置によって実行されるデバイス制御方法であって、前記クライアント装置に前記デバイスがローカル接続されたかのように仮想化制御させるデバイス制御装置のデバイス制御方法において、前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得ステップと、前記デバイス情報取得ステップで取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取ステップと、前記監視情報取得ステップで取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する監視情報記憶ステップと、前記監視情報記憶ステップで記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、当該ローカル接続されたデバイスを監視するデバイス監視ステップと、前記デバイス監視ステップで前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信ステップと、前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御ステップとを備えることを特徴とするデバイス制御方法が提供される。
上記目的を達成するために、本発明の第4の態様によれば、デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置によって実行されるデバイス制御方法であって、前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得ステップと、前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御ステップと、前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する監視情報記憶ステップと、前記監視情報記憶ステップで記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得ステップで取得された前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定ステップと、前記監視情報特定ステップで特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信ステップと、前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信ステップと、前記トリガ通知受信ステップで受信された前記トリガ通知に応じて、前記デバイス制御装置とのセッションを開始および切断するセッションステップとを備えることを特徴とするデバイス制御方法が提供される。
上記目的を達成するために、本発明の第5の態様によれば、ネットワークを介して互いに接続されているデバイス制御装置およびクライアント装置を備え、前記デバイス制御装置にはデバイスがローカル接続されるように構成されたデバイス制御システムであって、前記デバイス制御装置は、前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得手段と、前記デバイス情報取得手段によって取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取得手段と、前記監視情報取得手段によって取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する第1の監視情報記憶手段と、前記第1の監視情報記憶手段に記憶されている前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、当該ローカル接続されたデバイスを監視するデバイス監視手段と、前記デバイス監視手段によって前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信手段と、前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御手段とを備え、前記クライアント装置は、前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得手段と、前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御手段と、前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する第2の監視情報記憶手段と、前記第2の監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得手段で取得した前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定手段と、前記監視情報特定手段によって特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信手段と、前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信手段と、前記トリガ通知受信手段によって受信された前記トリガ通知に応じて、ユーザによる操作を必要とせずに前記デバイス制御装置とのセッションを開始および切断するセッション手段とを備えることを特徴とするデバイス制御システムが提供される。
本発明によれば、従来、クライアント装置側に実装されていたデバイス監視処理(状態変化検知処理)をデバイス制御装置が備えることで、デバイス制御装置がクライアント装置との通信を伴わずに自立的にデバイスの状態変化を監視し、状態変化を検知した時点でこれをクライアント装置へ通知するので、クライアント装置によるデバイスの監視・ポーリングが不要となり、ネットワーク上のトラフィックを低減することができる。
本発明によれば、デバイスの状態変化を契機(トリガ)に、クライアント装置とデバイスが通信を行なうことで、クライアント装置は必要なときだけデバイスを専有することが可能となるので、セキュリティの脆弱性を低減することができるとともに、専有が頻繁に必要なデバイスであっても複数台数の同時使用が可能となる。
本発明によれば、クライアント装置が、監視対象となったデバイスに適合したトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を、デバイス制御装置へ動的にインストールまたはダウンロード可能に構成することで、デバイス制御装置は汎用性を確保しながらも様々なデバイスの検知処理を実行することができる。
第1図は、本発明の第1の実施の形態に係るデバイス制御システムの概略構成を示すブロック図である。
第2図は、第1図におけるクライアントPC100のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
第3図は、第1図におけるデバイスサーバ200のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
第4図は、第3図のデバイスサーバ200にデバイス300が接続された場合にデバイスサーバ200によって実行されるデバイス情報取得処理の手順を示すフローチャートである。
第5図は、第1図におけるクライアントPC100によって実行されるデバイス300の仮想化制御処理と定義ファイル115とトリガ検知アルゴリズム116の送信処理の手順を示すフローチャートである。
第6図は、第5図のステップS511で送信される定義ファイル115とトリガ検知アルゴリズム116を含むインストール用プロトコルの電文(パケット)のデータ構造を説明するのに用いられる図である。
第7図は、第6図における定義ファイル115のデータ構造を説明するのに用いられる図である。
第8図は、第7図における命令770のデータ構造を説明するのに用いられる図である。
第9図は、第3図のデバイスサーバ200によって実行されるデバイス情報取得後制御処理の手順を示すフローチャートである。
第10図は、第9図のステップS910で実行されるデバイスサーバ200のトリガ検知処理の手順を示すフローチャートである。
第11図は、第1図におけるクライアントPC100によって実行されるデータ送受信処理の手順を示すフローチャートである。
第12図は、第9図のステップS907及び第11図のステップS1104で送受信されるデータ送受信用パケットのデータ構成を説明するのに用いられる図である。
第13図は、本発明の第2の実施の形態に係るデバイス制御システムの概略構成を示すブロック図である。
第14図は、第13図におけるネットワークデバイス250のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
以下、本発明の第1の実施の形態を説明する。
<1.デバイス制御システムの構成>
第1図は、本発明の第1の実施の形態に係るデバイス制御システムの概略構成を示すブロック図である。
第1図において、デバイス制御システムは、クライアントPC100(100A,100B)、デバイスサーバ200(200A,200B)、デバイス300(300A,300B)から構成される。
デバイスサーバ200とデバイス300は、それぞれ、USB(Universal Serial Bus)やIEEE1394などのインターフェースに準拠した接続ケーブル400を介して接続される。また、デバイスサーバ200とクライアントPC100(PC100A,PC100B)は、有線または無線のネットワーク500を介して接続される。
次に、第1図のデバイス制御システムを構成する各装置について順次説明する。
<2.クライアントPC100の構成>
第2図は、第1図におけるクライアントPC100のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
第2図において、クライアントPC100は、本発明の第1の実施の形態に係るクライアント装置の一例であり、CPU101、入力部102、表示部103、メモリ104、通信部105、外部記憶部106などから構成されており、これらが内部バス107を介して接続されている。
CPU101は、中央処理制御部であり、メモリ104や外部記憶部106に格納された所定のプログラムを実行することによってクライアントPC100を全体的に制御する。
入力部102は、各種入力、指示操作などを行なうための操作部であり、キーボードやマウスなどで構成される。
表示部103は、各種画面などを表示するディスプレイであり、クライアントPC100に内蔵もしくは外部接続される。
メモリ104は、ROM(Read Only Memory)およびRAM(Random Access Memory)で構成される記憶領域であり、所定のプログラムやデータを格納する。
通信部105は、Ethernet(登録商標)のような有線ネットワーク、若しくは、IEEE802.11aやIEEE802.11gのような無線ネットワークなど、ネットワーク500の通信方式に対応したネットワークパケットによる送受信や通信制御を行うためのインターフェースである。クライアントPC100は、通信部105を介してデバイスサーバ200とデータの送受信を行うことができる。
外部記憶部106は、OS108、アプリケーションプログラム109、常駐モジュール110、デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113、通信制御部114、定義ファイル115、トリガ検知アルゴリズム116などの各種ソフトウェアプログラムや各種データを記憶する。
外部記憶部106に記憶されたソフトウェアプログラムやデータは、CPU101の制御に従い、メモリ104上に読み出されて実行される。
デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113は、常駐モジュール110がデバイス300のデバイス情報を取得、登録することにより、動的に生成されるドライバソフトウェア部品である。
アプリケーションプログラム109は、上記各ドライバソフトウェア部品(デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113)及び通信制御部114を介して、デバイス300に対してデータ送受信要求を送るソフトウェア部品である。
以下、常駐モジュール110、デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113、通信制御部114、定義ファイル115、トリガ検知アルゴリズム116について順次詳細に説明する。
常駐モジュール110は、OS108が起動している間、常に待機および動作しているソフトウェア部品である。ネットワーク500上にあるデバイスサーバ200とデータの送受信を行うことにより、デバイスサーバ200に接続されたデバイス300を認識し、当該デバイス300のデバイス情報を受信し、受信したデバイス情報をもとに、デバイス300とのデータ送受信に必要なドライバソフトウェア部品(USB仮想バスデバイス113、USBクラスドライバ112、デバイスドライバ111)を一意に特定し、各ドライバソフトウェア部品を順次動的に生成する。
デバイスドライバ111は、OS108やアプリケーションプログラム109など(以下、「上位層のソフトウェア」という)の指示により、デバイス300に対する制御コマンドを生成し、この制御コマンドに対するデバイス300の応答を上位層のソフトウェアへ通知するソフトウェア部品である。
USBクラスドライバ112は、プラグアンドプレイイベントを生成するとともに制御コマンドを送受信するためのUSBポートを作成して、その上位にデバイスドライバ111をロードするソフトウェア部品であって、さらに、デバイスドライバ111で生成される制御コマンドをUSBパケットに変換してUSB仮想バスデバイス113に送るとともに、USB仮想バスデバイス113から送られてくるUSBパケットを制御コマンドに変換してデバイスドライバ111へ送るソフトウェア部品である。
USB仮想バスデバイス113は、デバイスドライバ111、USBクラスドライバ112を介してアプリケーションプログラム109から送られてくるデータ送受信要求を受信すると、デバイス300がクライアントPC100に直結(ローカル接続)しているときと同様の振る舞い(仮想化制御)を提供するソフトウェア部品である。この「仮想化制御」によって、デバイス300をローカル接続したときと同じ状態でデータの送受信を行うことができる。
通信制御部114は、USB仮想バスデバイス113から送られてくるUSBパケットとデバイスサーバ200とネットワーク500を介して通信するためのネットワークパケットとのプロトコル変換を行い、通信部105を介してデバイスサーバ200との間のデータ送受信を制御するソフトウェア部品である。USB仮想バスデバイス113を介して送られてくるアプリケーションプログラム109からのデータ送受信要求を受信すると、デバイスサーバ200とのセッション(接続)を開始し、データの送受信が完了すると、セッションを切断する。
定義ファイル115は、デバイスサーバ200において、デバイス300の監視を実行する際、トリガ検知アルゴリズム116に対する必要な命令・情報等を格納しているデータファイルである(第7図)。
トリガ検知アルゴリズム116は、デバイスサーバ200において、対象となるデバイス300を監視し、その状態変化を検知するための実行手順が記述されたプログラムコードであり、状態変化検知実行時に定義ファイル115を読み込むことで、本実行手順に従って、デバイス300の監視処理(以下、「トリガ検知処理」という)が行われる。
定義ファイル115とトリガ検知アルゴリズム116は、デバイス300の監視を行なうための1組の監視プログラム(監視情報)であり、デバイス300の機種ごとに異なる。このため、クライアントPC100は、各デバイス300に対応した定義ファイル115とトリガ検知アルゴリズム116をそれぞれ1つ以上記憶している。第2図では、1からNまでのN機種分の定義ファイル115とトリガ検知アルゴリズム116を記憶している状態を示している。
<3.デバイスサーバ200の構成>
第3図は、第1図におけるデバイスサーバ200のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
第3図において、デバイスサーバ200は、本発明の第1の実施の形態に係るデバイス制御装置の一例であり、CPU201、メモリ202、通信部203、USBI/F204、外部記憶部205などから構成されており、これらが内部バス206を介して接続されている。
CPU201、メモリ202、通信部203、および内部バス206については、前述したクライアントPC100における構成と同一である。
USBI/F204は、デバイス300を接続するためのインターフェースであり、例えば、USB(Universal Serial Bus)仕様に準拠した入出力インターフェースである。
外部記憶部205は、通信制御部207、デバイス制御部208などのソフトウェア機能部やデータを記憶する。
外部記憶部205に記憶されたこれらのソフトウェア機能部やデータは、CPU201の制御に従い、メモリ202上に読み出されて実行される。
以下、通信制御部207、デバイス制御部208について順次詳細に説明する。
通信制御部207は、通信部203およびネットワーク500を介して接続されているクライアントPC100との間のセッションを制御(開始、切断)するとともに、クライアントPC100との間で送受信するネットワークパケットとデバイス300との間で送受信するUSBパケットとのプロトコル変換を行い、クライアントPC100とデバイス300との間のデータ送受信を仲介(中継)する。
デバイス制御部208は、定義ファイル209、トリガ検知アルゴリズム210、およびデバイス情報211を記憶し、デバイス300を監視してその状態変化を検知し、クライアントPC100へ通知する機能部である。
デバイス制御部208に記憶される定義ファイル209とトリガ検知アルゴリズム210の構成は、クライアントPC100の外部記憶部106に記憶される定義ファイル115とトリガ検知アルゴリズム116と同一である。ただし、デバイスサーバ200は、自身に接続されたデバイス300の監視(ポーリング)に必要な定義ファイル209とトリガ検知アルゴリズム210だけを保持する。
デバイス情報211は、デバイス300を識別するための情報であって、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などを含む。このデバイス情報は、デバイス300がデバイスサーバ200に接続された際などに、デバイス制御部208によってデバイス300から取得される情報である。
デバイス制御部208は、デバイス300から取得したデバイス情報211に基づいて、接続されたデバイス300の機種を特定する。また、デバイス制御部208は、特定されたデバイス300の機種に対応する定義ファイル115とトリガ検知アルゴリズム116をクライアントPC100から受信し、受信した定義ファイル115とトリガ検知アルゴリズム116を定義ファイル209とトリガ検知アルゴリズム210としてメモリ202に保存する。さらに、デバイス制御部208は、保存した定義ファイル209とトリガ検知アルゴリズム210を用いて、接続されたデバイス300に対して一定間隔で後述する第10図の監視(ポーリング)処理を行なうことでデバイス300の状態変化を検知し、この検知した状態変化をクライアントPC100へ通知する。
ここで、デバイスの状態変化とは、例えば、カードリーダに対してカードの読み取り操作が行なわれたことや、プリンタやスキャナの操作ボタンが押下されたことなどである。この様なデバイス300の状態変化の検知を契機(トリガ)として、クライアントPC100は、デバイスサーバ200とのセッションを開始する。
<4.デバイス300の構成>
デバイス300(300A,300B)は、USBインターフェースを持つ汎用的な入出力装置であり、例えば、カードリーダやプリンタなどの単機能周辺装置(SFP:Single Function Peripheral)、あるいは、プリント機能の他にスキャン機能やコピー機能、ストレージ機能などを兼ね備えた多機能周辺機器(MFP:Multi Function Peripheral)である。ただし、これらに限定されるものでなく、別のデバイスであってもよい。
また、本実施の形態では、デバイスサーバ200、デバイス300をそれぞれ別体の装置としているが、これに限定されるものではなく、デバイスサーバ200をデバイス300のケーシング内に収まるように一体構造としても良い。
このような各装置より構成される第1図のデバイス制御システムでは、デバイスサーバ200は、自身に接続されたデバイス300のデバイス情報を取得し、クライアントPC100に送信する。クライアントPC100は、取得したデバイス300のデバイス情報に基づいて、デバイス300の状態変化を検知するための定義ファイル115とトリガ検知アルゴリズム116を外部記憶部106から読み出して、デバイスサーバ200に送信する。デバイスサーバ200は、クライアントPC100から受信した定義ファイル115とトリガ検知アルゴリズム116を、それぞれ定義ファイル209とトリガ検知アルゴリズム210としてデバイス制御部208に記憶し、これらを用いて、デバイス制御部208はデバイス300の監視(ポーリング)を行い、デバイス300の状態変化を検知すると、通信制御部207と通信部203を介して、クライアントPC100にこの状態変化の検知を示す情報(以下、「トリガ通知」という)を送信する。クライアントPC100は、デバイスサーバ200からトリガ通知を受信すると、デバイスサーバ200とのセッションを開始し、デバイスサーバ200を介して、デバイス300とのデータの送受信を行う。
<5.デバイスサーバ200にデバイス300が接続されたときの処理>
第4図は、第3図のデバイスサーバ200にデバイス300が接続された場合にデバイスサーバ200によって実行されるデバイス情報取得処理の手順を示すフローチャートである。
第4図において、デバイスサーバ200は、デバイス300が接続されると、本デバイス情報取得処理を実行する。
まず、デバイス制御部208は、デバイス300からUSBI/F204を介してデバイス300を識別するためのデバイス情報を取得し、デバイス制御部208に格納する(ステップS401)。デバイス情報は、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などを含む。
続いて、デバイス300から取得したデバイス情報にシリアル番号が格納されているか否かを判別する(ステップS402)。
ステップS402の判別の結果、取得したデバイス情報にシリアル番号が格納されていないときは(ステップS402でNO)、デバイスサーバ200の有する固有情報と、デバイスサーバ200の接続ポート固有情報とからシリアル番号を生成してデバイス情報に付与し(ステップS403)、本処理を終了する。一方、取得したデバイス情報にシリアル番号が格納されている場合には(ステップS402でYES)、直ちに本処理を終了する。これにより、シリアル番号が格納されていない同一機種のデバイス300が複数接続された場合でもそれぞれ識別可能となる。
本処理において、デバイスサーバ200に複数のデバイス300が接続された場合には、デバイスごとに本デバイス情報取得処理が繰り返し実行される。
なお、デバイスサーバ200の固有情報は、デバイスサーバ200を識別するための情報であり、例えば、デバイスサーバ200のIPアドレスやMACアドレス、シリアルナンバー(製造番号)などを含むが、これらに限定されず、さらに、これらの情報を組み合わせたものであってもよい。
また、デバイスサーバ200の接続ポート固有情報とは、デバイスサーバ200の接続ポートを識別するための情報であり、例えば、デバイスサーバ200の有するUSBポートの番号やIEEE1394ポートの番号などを含むが、これらに限定されない。
<6.クライアントPC100におけるデバイス300の仮想化制御処理と定義ファイルなどの送信処理>
第5図は、第1図におけるクライアントPC100によって実行されるデバイス300の仮想化制御処理と定義ファイル115とトリガ検知アルゴリズム116の送信処理の手順を示すフローチャートである。
<6−1.クライアントPC100におけるデバイス300の仮想化制御処理>
第5図において、クライアントPC100内の常駐モジュール110は、デバイスサーバ200を介してネットワーク500に接続されたデバイス300を知るために、通信部105を介して、デバイスサーバ200に対して検索パケットをブロードキャストする(ステップS501)。具体的には、UDP(User Datagram Protocol)などのプロトコルを用いて、デバイスサーバ200の検索(問い合わせ)を行なう。
常駐モジュール110は、デバイスサーバ200からの応答を待ち(ステップS502)、デバイスサーバ200から応答がない場合には(ステップS502でNO)、仮想化制御処理は行わずに、本処理を終了する。
一方、常駐モジュール110は、デバイスサーバ200から応答があると(ステップS502でYES)、デバイスサーバ200からの応答電文に含まれるデバイス情報(ディスクリプタ)を取得する(ステップS503)。
常駐モジュール110は、取得したデバイス情報のうち、デバイスディスクリプタに記述されたベンダーID(VID)と製品ID(PID)、ストリングディスクリプタに記述されたシリアル番号とデバイス名称によってデバイスの個体を識別する。また、インターフェースディスクリプタに記述されたインターフェース番号を識別する。このようにして識別されたデバイスの個体に関する情報に基づいて、仮想化制御処理に必要なドライバソフトウェア部品(USB仮想バスデバイス113、USBクラスドライバ112、デバイスドライバ111)を一意に特定し(ステップS504)、各ドライバソフトウェア部品を順次動的に生成する(ステップS505〜S507)。
その後、常駐モジュール110は、アプリケーションプログラム109を起動し、アプリケーションプログラム109からドライバソフトウェア部品を制御するためのインターフェースを起動する(ステップS508)。このようにして、デバイス300の仮想化制御処理が開始される。
<6−2.クライアントPC100によって実行される定義ファイルなどの送信処理>
続いて、クライアントPC100は、取得したデバイス情報からデバイス300の種別(機種)を識別し、そのデバイス300に対応する定義ファイル115とトリガ検知アルゴリズム116が外部記憶部106に記憶されているか否かを判別する(ステップS509)。
取得したデバイス情報で特定されるデバイス300に対応する定義ファイル115とトリガ検知アルゴリズム116が外部記憶部106に記憶されている場合は(ステップS509でYES)、デバイスサーバ200とのセッションを開始し(ステップS510)、デバイス300に対応する定義ファイル115とトリガ検知アルゴリズム116を含む後述する第6図のインストール用の電文(パケット)を暗号化し、この電文(パケット)をデバイス300が接続されたデバイスサーバ200に送信する(ステップS511)。電文の送信後は、デバイスサーバ200とのセッションを切断して(ステップS512)、本処理を終了する。
一方、取得したデバイス情報で特定されるデバイス300に対応する定義ファイル115とトリガ検知アルゴリズム116が外部記憶部106に記憶されていないときは(ステップS509でNO)、エラー通知を行って(ステップS513)、本処理を終了する。ここで、エラー通知は、例えば、表示部103を介してユーザに対して、該当する定義ファイル115とトリガ検知アルゴリズム116が記憶されていないことを伝え、ユーザにインストールを促すことによって実現される。
<7.インストール用パケットのデータ構造>
第6図は、第5図のステップS511で送信される定義ファイル115とトリガ検知アルゴリズム116を含むインストール用プロトコルの電文(パケット)のデータ構造を説明するのに用いられる図である。
パケットは、署名データ610、電文サイズ620、コマンドID630、ベンダーID640、製品ID650、シリアル番号660、定義ファイル115、トリガ検知アルゴリズム116で構成される。
このうち、ベンダーID640、製品ID650、シリアル番号660によって、デバイス300の種別(機種)を一意に識別することができる。また、定義ファイル115、トリガ検知アルゴリズム116は、外部記憶部106に保持されたN組の定義ファイル115とトリガ検知アルゴリズム116の組み合わせの中から、取得したデバイス情報で特定されるデバイス300毎に、対応する定義ファイル115とトリガ検知アルゴリズム116の組み合わせが選択され、ここに格納される。選択される組み合わせの数は1つに限らず、複数であってもよい。
<7−1.定義ファイル115のデータ構造>
第7図は、第6図における定義ファイル115のデータ構造を説明するのに用いられる図である。
第7図において、定義ファイル115は、トリガ検知アルゴリズム116の実行に必要な命令・情報などを含む。データ長710、トリガ検知アルゴリズム116に対応するデバイス300のベンダーID720、プロダクトID730、インターフェース番号740、命令数(n)750、デバイス300からの応答に対して状態変化の有無を判定するのに用いられるキー情報760、デバイス300のトリガ検知処理(監視処理)に必要な手続きが記述された1つまたは複数の命令770で構成される。命令770には1〜n(n:命令数(n)750の値)まで順にインデックスが付与されている。
<7−2.命令のデータ構造>
第8図は、第7図における命令770のデータ構造を説明するのに用いられる図である。
第8図において、命令770は、命令サイズ810、当該コマンド発行に必要なUSBの規格で定義された転送タイプ820、Control転送におけるSetup Tokenで送信する転送用パラメータ830、エンドポイントアドレス840、デバイス300からの応答に状態変化の情報を含むものであるかを示すキー判定フラグ850、デバイス300に対して発行すべきデバイス固有のコマンド860で構成され、1つのコマンドを発行するためのパラメータが格納されたものである。
<8.デバイスサーバ200の制御フロー>
第9図は、第3図のデバイスサーバ200によって実行されるデバイス情報取得後制御処理の手順を示すフローチャートである。
第9図において、デバイスサーバ200は、次の4つの機能を備える。
(1)デバイス300から取得したデバイス情報をクライアントPC100に通知する機能、
(2)クライアントPC100とのセッションを開始し、デバイス300の監視に必要な定義ファイル115とトリガ検知アルゴリズム116を受信する機能、
(3)クライアントPC100とのセッションを開始し、クライアントPC100とデバイス300との間のデータ送受信処理を行う機能、
(4)デバイス300を一定間隔で監視(ポーリング)し、デバイス300の状態変化を検知し、クライアントPC100にトリガ通知を送信する機能。
<8−1.デバイス情報などの送信処理>
はじめに、機能(1)は、第9図のステップS901〜S903の処理に該当する。
デバイスサーバ200は、クライアントPC100から接続要求を受信したか否かを判別し(ステップS901)、接続要求を受信したときは(ステップS901でYES)、その接続要求がTCP以外、例えば、UDPによる接続要求(問い合わせ)の場合には(ステップS902でNO)、デバイス情報をクライアントPC100に通知して(ステップS903)、再びステップS901以降の処理を繰り返す。
<8−2.TCPによるセッション処理>
次に、機能(2)および機能(3)は、第9図のステップS901〜S902、ステップS904〜S908の処理に該当する。
デバイスサーバ200は、クライアントPC100から接続要求があるか否かを判別し(ステップS901)、接続要求がある場合に(ステップS901でYES)、この接続要求がTCPによる接続要求であるときは(ステップS902でYES)、クライアントPC100とのセッションを開始する(ステップS904)。
次に、通信制御部207は、クライアントPC100から受信した電文(パケット)が定義ファイル115とトリガ検知アルゴリズム116のインストール用電文かデータ送受信用電文かを判別する(ステップS905)。
ステップS905の判別の結果、インストール用電文の場合、インストール用電文に含まれる定義ファイル115とトリガ検知アルゴリズム116を、それぞれ定義ファイル209とトリガ検知アルゴリズム210としてデバイス制御部208に格納して(ステップS906)、ステップS908に進む。
ステップS905の判別の結果、データ送受信用電文の場合、デバイス300に対してデータの送受信を行なって(ステップS907)、ステップS908に進む。ステップS907で送受信されるデータにおけるデータ送受信用パケットのデータ構造は第12図を用いて詳述する。
続くステップS908では、クライアントPC100とのセッションを切断(ステップS908)し、再びステップS901以降の処理を繰り返す。
<8−3.トリガ検知処理>
最後に、機能(4)は、第9図のステップS901、ステップS909〜S910の処理に該当する。
デバイスサーバ200は、クライアントPC100から接続要求がなく受信待機状態のときは(ステップS901でNO)、接続されたデバイス300に対応する定義ファイル209とトリガ検知アルゴリズム210がデバイス制御部208に格納されていると(ステップS909でYES)、この定義ファイル209とトリガ検知アルゴリズム210を用いて、後述する第10図のデバイス300のトリガ検知処理(監視処理)を実行して(ステップS910)、再びステップS901以降の処理を繰り返す。
第10図は、第9図のステップS910で実行されるデバイスサーバ200のトリガ検知処理の手順を示すフローチャートである。
第10図において、デバイス制御部208は、トリガ検知アルゴリズム210の起動時に定義ファイル209の読み込みを行い、第7図に示した形式に解読して、トリガ検知処理(監視処理)に必要なデバイス300固有の情報をメモリ202上にセットする(ステップS1001)。
次に、命令770に付与されているインデックスが命令数(n)750の値より小さいか否かを判別して(ステップS1002)、当該インデックスが定義ファイル209に記述された命令数(n)750の値に達したか否かを判別する(ステップS1002)。
ステップS1002の判別の結果、当該インデックスが定義ファイル209に記述された命令数(n)750の値に達していないときは(ステップS1002でYES)には、メモリ202上にセットされた命令770を1つ読み出し、命令770を上述した第8図に従った形式に解読する(ステップS1003)。
デバイス制御部208は、解読後の命令770に記述された転送タイプ820を判別する(ステップS1004)。判別結果によって、転送用パラメータ830をセットし(ステップS1005)、転送用パラメータ830とコマンド860をセットした電文をデバイス300に送信する(ステップS1006)。
ステップS1006で送信した電文に対して、デバイス300からの応答を待ち、デバイス300から応答を受信すると(ステップS1007)、命令770のキー判定フラグ850が有効か否かを判別する(ステップS1008)。
ステップS1008の判別の結果、命令770のキー判定フラグ850が有効であるときは(ステップS1008でYES)、さらに、受信データ中にキー情報760と一致するデータが存在するか否かを判別する(ステップS1009)。
ステップS1008の判別の結果、受信データ中にキー情報760と一致するデータが存在するときは(ステップS1009でYES)、デバイス300の状態変化を検知したと判断して、トリガ通知をクライアントPC100に送信して(ステップS1010)、本処理を終了する。
一方、ステップS1008の判別の結果、命令770のキー判定フラグ850が無効の場合(ステップS1008でNO)、あるいは、ステップS1009の判別の結果、受信データ中にキー情報760に一致するデータが存在しないときは、インデックスをインクリメントして次の命令770を読み出し(ステップS1011)、ステップS1002以降の処理を繰り返す。そして、ステップS1002で、当該インデックスが定義ファイル209に記述された命令数(n)750の値に達し、全ての命令770の読み出しが終了すると(状態変化を検知できなかった場合)、本処理を終了する。
<9.クライアントPC100におけるデータ送受信時の制御>
第11図は、第1図におけるクライアントPC100によって実行されるデータ送受信処理の手順を示すフローチャートである。
本処理は、デバイススタック(デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113および通信制御部114)を介して実行される。
第11図において、クライアントPC100は、常駐モジュール110が、デバイスサーバ200からのトリガ通知を受信するまで待機する(ステップS1101)。
デバイスサーバ200からのトリガ通知を受信すると(ステップS1101でYES)、常駐モジュール110が、トリガ通知の受信をアプリケーションプログラム109に伝え、アプリケーションプログラム109は、デバイス300とのデータの送受信が必要であると判断した場合、通信制御部114を介してデバイスサーバ200との間でTCPによるセッションを開始する(ステップS1102)。
デバイスサーバ200とのセッションの開始に失敗したときは(ステップS1103でNO)は、本処理を終了する。
デバイスサーバ200とのセッションの開始に成功したときは(ステップS1103でYES)、アプリケーションプログラム109は、デバイススタック(デバイスドライバ111、USBクラスドライバ112、USB仮想バスデバイス113および通信制御部114)を介して、デバイスサーバ200との間でデータを送受信する(ステップS1104)。ステップS1104で送受信されるデータにおけるデータ送受信用パケットのデータ構造は第12図を用いて詳述する。
そして、データの送受信が終了するまでは(ステップS1105でNO)、ステップS1104の処理を繰り返す。
クライアントPC100は、すべてのデータの送受信が終了すると(ステップS1105でYES)、デバイスサーバ200との間のTCPによるセッションを切断して(ステップS1106)、本処理を終了する。
<10.パケットのデータ構成>
第12図は、第9図のステップS907及び第11図のステップS1104で送受信されるデータ送受信用パケットのデータ構成を説明するのに用いられる図である。
第12図において、データ送受信用パケットは、プロトコルヘッダ1200とUSB転送データ1210で構成される。デバイス制御部208は、このパケットを解析することにより、デバイス300を識別する。
プロトコルヘッダ1200は、本システムのプロトコルであることを識別するための署名データ1201、電文サイズ1202、デバイスサーバ200に対するコマンドID1203(bulk−in転送要求など)、ベンダーID(VID)1204、製品ID(PID)1205、シリアル番号1206などを含む。
このうち、ベンダーID1204、製品ID1205、シリアル番号1206によって、デバイス300を一意に識別することができる。
上述の通り、本実施の形態に係るデバイスサーバ200によれば、従来、クライアントPC側に実装されていたデバイス監視処理(状態変化検知処理)の機能をデバイスサーバ200が備えることで、デバイスサーバ200がクライアントPC100との通信を伴わずに自立的にデバイス300の状態変化を監視し、状態変化を検知した時点でこれをトリガ通知としてクライアントPC100へ送信するので、クライアントPC100によるデバイス300の監視が不要となり、ネットワーク500上のトラフィックを低減することができる。
また、本実施の形態に係るデバイスサーバ200によれば、デバイス300の状態変化を契機(トリガ)に、クライアントPC100とデバイス300が通信を行なうことで、クライアントPC100は必要なときだけデバイス300を専有することが可能となるので、セキュリティの脆弱性を低減することができるとともに、専有が頻繁に必要なデバイス300であっても複数台数の同時使用が可能となる。
また、本実施の形態に係るデバイスサーバ200によれば、クライアントPC100が、監視対象となったデバイス300に適合したトリガ検知アルゴリズムを、デバイスサーバ200へ動的にインストールまたはダウンロードすることで、デバイスサーバ200は汎用性を確保しながらも様々なデバイス300のトリガ検知処理を実行することができる。
以下、本発明の第2の実施の形態を説明する。
上記第1の実施の形態では、デバイスサーバ200がトリガ検知処理機能を備えている場合の実施形態について述べた。これに対して、第2の実施の形態は、デバイスサーバ200に代えて、トリガ検知処理機能を備えたネットワークデバイスがデバイス制御装置に相当し、他のデバイスの状態変化を検知することが特徴である。本ネットワークデバイスは、LANなどのネットワークに接続して複数のユーザが利用できるデバイス(例えば、ネットワークプリンタなど)を含む。
第2図、第4図〜第12図を用いて説明した第1の実施の形態の構成は、すべて、デバイスサーバ200をネットワークデバイス250に読み替えることで第2の実施の形態に適用される。
第13図は、本発明の第2の実施の形態に係るデバイス制御システムの概略構成を示すブロック図である。
第13図において、クライアントPC100(100A,100B)、ネットワークデバイス250、デバイスサーバ200、デバイス300(300A,300B)から構成される。第1図を用いて説明した第1の実施の形態に係るデバイス制御システムの構成に対して、デバイスサーバ200Aをネットワークデバイス250に置き替えた以外は同じである。
第14図は、第13図におけるネットワークデバイス250のハードウェア構成およびソフトウェア構成を説明するのに用いられるブロック図である。
第14図において、ネットワークデバイス250は、トリガ検知処理機能を備え、外部記憶部255内にデバイス機能部262を備えることを特徴とする。デバイス機能部262を追加した以外は、CPU251、メモリ252、通信部253、USBI/F254、内部バス256、通信制御部257、デバイス制御部258、定義ファイル259、トリガ検知アルゴリズム260、および、デバイス情報261のいずれも、第3図を用いて説明した第1の実施の形態に係るデバイスサーバ200のCPU201、メモリ202、通信部203、USBI/F204、内部バス206、通信制御部207、デバイス制御部208、定義ファイル209、トリガ検知アルゴリズム210、および、デバイス情報211と同一である。
上述のとおり、本実施の形態に係るネットワークデバイス250によれば、例えばネットワークプリンタのように、自らが備えるデバイスとしての機能を果たす他に、第1の実施の形態に係るデバイスサーバ200と同等のトリガ検知処理機能を備えることで、自らにローカル接続されたデバイス300(例えば、カードリーダ)を監視し、デバイス300の状態変化を検知した場合に、その旨をトリガ通知としてクライアントPC100に送信する役割を果たすことができるようになる。
なお、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において適宜変更可能である。
上記では、デバイスサーバ200又はネットワークデバイス250(以下、両者併せて「デバイスサーバ200」という)に定義ファイル209とトリガ検知アルゴリズム210を記憶(インストール)する場合、クライアントPC100から受信した定義ファイル115とトリガ検知アルゴリズム116を記憶すると説明したが、USBI/F204を介して接続された可搬型記憶媒体から定義ファイル115とトリガ検知アルゴリズム116を取得し、デバイス制御部208に記憶してもよい。あるいは、システム全体を管理する管理サーバなどを別途設置し、この管理サーバからネットワークを介して定義ファイル115とトリガ検知アルゴリズム116を取得し、デバイス制御部208に記憶してもよい。
また、デバイスサーバ200は、以前、接続されたデバイスと同一機種のデバイス300がデバイスサーバに接続され、すでに、デバイスサーバ200にその機種に対応する定義ファイル209とトリガ検知アルゴリズム210を記憶(インストール)している場合、クライアントPC100から受信した定義ファイル115とトリガ検知アルゴリズム116を記憶しなくてもよい。さらに、デバイスサーバ200は、クライアントPC100に対して、定義ファイル115とトリガ検知アルゴリズム116が送信不要である旨を通知してもよい。
第10図のステップS1010において、トリガ通知を1台のクライアントPC100に送信すると説明したが、宛先は1台のクライアントPC100とは限らず、複数のクライアントPC100に対して、トリガ通知を送信してもよい。このとき、デバイスサーバ200は、トリガ通知を送信した複数のクライアントPC100のうち、最初に接続要求を受信したクライアントPC100に対してデバイス300との接続を許可すればよい。あるいは、接続要求を送信した複数のクライアントPC100のうち、任意の台数のみ、デバイス300との接続を許可するように制御してもよい。また、特定の1台のクライアントPC100が、電源Offや故障などでトリガ通知の受信が不可能な場合には、別のクライアントPC100を代替の宛先としてトリガ通知を送信するように制御してもよい。
また、上記実施の形態では、クライアントPC100に、デバイス300に対応した定義ファイル115とトリガ検知アルゴリズム116が両方ともに記憶されており、デバイスサーバ200がクライアントPC100から定義ファイル115とトリガ検知アルゴリズム116を受信する方法(構成)を説明したが、本発明は下記のような方法(構成)も可能である。
(1)デバイスサーバ200に予め必要なトリガ検知アルゴリズム116を記憶(導入)させておき、クライアントPC100には、定義ファイル115のみを記憶させる。このような構成とした場合、デバイスサーバ200は、クライアントPC100から、デバイス情報によって特定されるデバイス300の機種に対応した定義ファイル115のみを受信することになる。
例えば、ソフトウェア・ハードウェアの仕様・設計に依拠する場合やシステムの運用・管理上の理由などから、デバイスサーバ200へのアクセスが制限されており、トリガ検知アルゴリズム(プログラムコード)を受信して実行(又はインストール)できない場合に適用できる構成である。本構成は、トリガ検知アルゴリズム(プログラムコード)がデバイスサーバに予め記憶されているため、改竄が困難であるというメリットがある。
この場合、第5図のステップS509の処理において、クライアントPC100は、外部記憶部106にトリガ検知アルゴリズム116が記憶されているかは判別せず、定義ファイル115の記憶の有無だけを判別する。そして、デバイスサーバ200には、対応する定義ファイル115のみが送信される。つまり、第6図における「トリガ検知アルゴリズム116」を含まないパケットが送信される。一方、このパケットを受信したデバイスサーバ200では、第9図のステップS906の処理において、定義ファイル115のみを定義ファイル209としてデバイス制御部208に格納する。
(2)デバイスサーバ200は、特定したデバイス300の機種に対応するトリガ検知アルゴリズムや定義ファイルを保持していない場合にのみ、クライアントPC100などから必要なトリガ検知アルゴリズムや定義ファイルを取得するようにしてもよい。
さらに、デバイスサーバ200若しくはクライアントPC100でトリガ検知アルゴリズムや定義ファイルを管理して、これらの追加・更新などが必要か否かを判断させるようにしてもよい。このような構成とすることで、デバイスサーバ200は、追加・更新などの必要性が生じたときだけ、トリガ検知アルゴリズムや定義ファイルの全部又は一部を取得できるようになる。
また、上述した実施の形態のように、デバイスサーバ200がクライアントPC100からトリガ検知アルゴリズムや定義ファイルを受信するのではなく、デバイスサーバ200がクライアントPC100にアクセスしてダウンロード(取得)するように構成してもよい。この場合、クライアントPC100は、該当するトリガ検知アルゴリズムや定義ファイルを保持していることだけをデバイスサーバ200に通知すればよい。
上述したトリガ検知アルゴリズム1つに対して複数の定義ファイルを対応付けることで、複数のデバイス300を連携させて制御することも可能である。例えば、デバイスAとデバイスBを連携させて制御する場合、両方のデバイスからのトリガ通知を受信した後、デバイスAの動作を開始させる、というような制御を行うことができる。
なお、本発明は、デバイスサーバ200に対して機種の異なる複数のデバイス300が接続される場合にも適用可能である。この場合、デバイスサーバ200には、各デバイスに応じた定義ファイルとトリガ検知アルゴリズムが機種ごとに記憶される(複数組が記憶される)。そして、各デバイスに適ったトリガ検知アルゴリズムと定義ファイルの組み合わせに基づきトリガ検知処理が実行され、それぞれのデバイスごとの状態変化を検知することができる。
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して処理を実行することによっても達成することができる。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成しても良い。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
100(100A,100B) クライアントPC
101 CPU
102 入力部
103 表示部
104 メモリ
105 通信部
106 外部記憶部
107 内部バス
108 OS
109 アプリケーションプログラム
110 常駐モジュール
111 デバイスドライバ
112 USBクラスドライバ
113 USB仮想バスデバイス
114 通信制御部
115 定義ファイル
116 トリガ検知アルゴリズム
200(200A,200B) デバイスサーバ
201 CPU
202 メモリ
203 通信部
204 USBインターフェース
205 外部記憶部
206 内部バス
207 通信制御部
208 デバイス制御部
209 定義ファイル
210 トリガ検知アルゴリズム
211 デバイス情報
250 ネットワークデバイス
251 CPU
252 メモリ
253 通信部
254 USBインターフェース
255 外部記憶部
256 内部バス
257 通信制御部
258 デバイス制御部
259 定義ファイル
260 トリガ検知アルゴリズム
261 デバイス情報
262 デバイス機能部
300(300A,300B) デバイス
400 接続ケーブル
500 ネットワーク

Claims (11)

  1. ネットワークを介してクライアント装置に接続されているとともにデバイスがローカル接続されるべきデバイス制御装置であって、前記クライアント装置に前記デバイスがローカル接続されたかのように仮想化制御させるデバイス制御装置において、
    前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得手段と、
    前記デバイス情報取得手段によって取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取得手段と、
    前記監視情報取得手段によって取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する監視情報記憶手段と、
    前記監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、前記ローカル接続されたデバイスを監視するデバイス監視手段と、
    前記デバイス監視手段によって前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信手段と、
    前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御手段と
    を備えることを特徴とするデバイス制御装置。
  2. 前記トリガ検知アルゴリズムは、前記デバイスに応じた監視処理の実行手順を記述したプログラムコードであることを特徴とする請求項1に記載のデバイス制御装置。
  3. 前記定義ファイルは、前記トリガ検知アルゴリズムを実行するために必要な命令・情報を格納したデータファイルであることを特徴とする請求項1に記載のデバイス制御装置。
  4. 前記デバイス情報取得手段は、前記デバイスの接続を検知した時に、当該検知したデバイスから前記デバイス情報を取得することを特徴とする請求項1に記載のデバイス制御装置。
  5. デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置であって、
    前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得手段と、
    前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御手段と、
    前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する監視情報記憶手段と、
    前記監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得手段で取得した前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定手段と、
    前記監視情報特定手段によって特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信手段と、
    前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信手段と、
    前記トリガ通知受信手段によって受信された前記トリガ通知に応じて、ユーザによる操作を必要とせずに前記デバイス制御装置とのセッションを開始および切断するセッション手段と
    を備えることを特徴とするクライアント装置。
  6. ネットワークを介してクライアント装置に接続されているとともにデバイスがローカル接続されるべきデバイス制御装置によって実行されるデバイス制御方法であって、前記クライアント装置に前記デバイスがローカル接続されたかのように仮想化制御させるデバイス制御装置のデバイス制御方法において、
    前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得ステップと、
    前記デバイス情報取得ステップで取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取ステップと、
    前記監視情報取得ステップで取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する監視情報記憶ステップと、
    前記監視情報記憶ステップで記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、当該ローカル接続されたデバイスを監視するデバイス監視ステップと、
    前記デバイス監視ステップで前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信ステップと、
    前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御ステップと
    を備えること特徴とするデバイス制御方法。
  7. 前記トリガ検知アルゴリズムは、前記デバイスに応じた監視処理の実行手順を記述したプログラムコードであることを特徴とする請求項6に記載のデバイス制御方法。
  8. 前記定義ファイルは、前記トリガ検知アルゴリズムを実行するために必要な命令・情報を格納したデータファイルであることを特徴とする請求項6に記載のデバイス制御方法。
  9. 前記デバイス情報取得ステップにおいて、前記デバイスの接続を検知した時に、当該検知したデバイスから前記デバイス情報を取得することを特徴とする請求項6に記載のデバイス制御方法。
  10. デバイスがローカル接続されるべきデバイス制御装置にネットワークを介して接続されているクライアント装置によって実行されるデバイス制御方法であって、
    前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得ステップと、
    前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御ステップと、
    前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する監視情報記憶ステップと、
    前記監視情報記憶ステップで記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得ステップで取得された前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定ステップと、
    前記監視情報特定ステップで特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信ステップと、
    前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信ステップと、
    前記トリガ通知受信ステップで受信された前記トリガ通知に応じて、前記デバイス制御装置とのセッションを開始および切断するセッションステップと
    を備えることを特徴とするデバイス制御方法。
  11. ネットワークを介して互いに接続されているデバイス制御装置およびクライアント装置を備え、前記デバイス制御装置にはデバイスがローカル接続されるように構成されたデバイス制御システムであって、
    前記デバイス制御装置は、
    前記デバイス制御装置にローカル接続されたデバイスを識別するためのデバイス情報を取得するデバイス情報取得手段と、
    前記デバイス情報取得手段によって取得されたデバイス情報に応じて、当該デバイス情報で識別されるデバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を取得する監視情報取得手段と、
    前記監視情報取得手段によって取得された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を記憶する第1の監視情報記憶手段と、
    前記第1の監視情報記憶手段に記憶されている前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方に基づいて、当該ローカル接続されたデバイスを監視するデバイス監視手段と、
    前記デバイス監視手段によって前記デバイスの状態変化を検知した場合、当該状態変化の検知を示すトリガ通知を前記ネットワークを介して前記クライアント装置に送信するトリガ通知送信手段と、
    前記トリガ通知を受信したクライアント装置からの接続要求に応じてユーザによる操作を必要とせずに当該クライアント装置とのセッションを開始および切断するセッション制御手段とを備え、
    前記クライアント装置は、
    前記デバイス制御装置から、当該デバイス制御装置にローカル接続されたデバイスのデバイス情報を取得するデバイス情報取得手段と、
    前記デバイスが前記クライアント装置にローカル接続されたかのようにデバイスを制御する仮想化制御手段と、
    前記デバイスの状態変化を監視するためのトリガ検知アルゴリズムおよび定義ファイルの少なくとも一方を1つ以上記憶する第2の監視情報記憶手段と、
    前記第2の監視情報記憶手段に記憶された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方の中から、前記デバイス情報取得手段で取得した前記デバイス情報によって識別されるデバイスに適う前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を特定する監視情報特定手段と、
    前記監視情報特定手段によって特定された前記トリガ検知アルゴリズムおよび前記定義ファイルの少なくとも一方を前記デバイス制御装置に送信する監視情報送信手段と、
    前記デバイスの状態変化を検知した前記デバイス制御装置から当該状態変化の検知を示すトリガ通知を受信するトリガ通知受信手段と、
    前記トリガ通知受信手段によって受信された前記トリガ通知に応じて、ユーザによる操作を必要とせずに前記デバイス制御装置とのセッションを開始および切断するセッション手段と
    を備えることを特徴とするデバイス制御システム。
JP2011539420A 2009-11-04 2010-11-02 デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム Expired - Fee Related JP5745424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011539420A JP5745424B2 (ja) 2009-11-04 2010-11-02 デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009253395 2009-11-04
JP2009253395 2009-11-04
JP2011539420A JP5745424B2 (ja) 2009-11-04 2010-11-02 デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム
PCT/JP2010/069871 WO2011055831A1 (ja) 2009-11-04 2010-11-02 デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム

Publications (2)

Publication Number Publication Date
JPWO2011055831A1 JPWO2011055831A1 (ja) 2013-03-28
JP5745424B2 true JP5745424B2 (ja) 2015-07-08

Family

ID=43970063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011539420A Expired - Fee Related JP5745424B2 (ja) 2009-11-04 2010-11-02 デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム

Country Status (4)

Country Link
US (1) US9654588B2 (ja)
JP (1) JP5745424B2 (ja)
CN (1) CN102597974B (ja)
WO (1) WO2011055831A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992368B2 (en) 2016-02-08 2018-06-05 Canon Kabushiki Kaisha Communication control method for controlling communication with USB devices, storage medium, and printing apparatus

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6282434B2 (ja) * 2012-10-22 2018-02-21 キヤノンイメージングシステムズ株式会社 デバイス制御装置、その制御方法、及びデバイス制御システム
JP6025547B2 (ja) * 2012-12-21 2016-11-16 キヤノンイメージングシステムズ株式会社 情報処理装置、デバイス制御装置、およびその制御方法、並びにデバイス制御システム
JP6212367B2 (ja) 2012-12-28 2017-10-11 キヤノンイメージングシステムズ株式会社 情報処理装置、携帯端末、デバイス制御システム、およびその制御方法
US9736227B2 (en) 2013-10-29 2017-08-15 Lantronix, Inc. Data capture on a serial device
JP6482272B2 (ja) * 2014-12-26 2019-03-13 キヤノンイメージングシステムズ株式会社 デバイス制御装置、クライアント、デバイス制御方法、及びデバイス制御システム
KR101996896B1 (ko) 2014-12-29 2019-07-05 삼성전자주식회사 가상 디바이스 드라이버를 이용한 리소스 공유 방법 및 그 전자 디바이스
JP5901810B2 (ja) * 2015-02-19 2016-04-13 キヤノンイメージングシステムズ株式会社 デバイス制御装置、情報管理装置、及びその制御方法、デバイス制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003032381A (ja) * 2001-07-17 2003-01-31 Casio Comput Co Ltd 情報通信端末装置、及びプログラム
JP2004516711A (ja) * 2000-12-13 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スレーブデバイスの異種ネットワーク用UPnP構造

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3949961B2 (ja) * 1999-07-30 2007-07-25 株式会社エヌ・ティ・ティ・ドコモ 信号変換装置、サーバ装置、ネットワーク情報システム及びそれらの制御方法並びに電話機端末装置
CN1142669C (zh) * 2000-01-20 2004-03-17 国际商业机器公司 手持设备、智能卡接口设备及数据传输方法
JP3501361B2 (ja) * 2000-09-04 2004-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータネットワークシステム、コンピュータシステム、コンピュータシステム間の通信方法、コンピュータシステムのパフォーマンス測定方法および記録媒体
CN1486568A (zh) * 2000-11-28 2004-03-31 ϣ�����ʹ�˾ 内容/服务处理及输送
TW200408242A (en) * 2002-09-06 2004-05-16 Matsushita Electric Ind Co Ltd Home terminal apparatus and communication system
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
WO2006112381A1 (ja) * 2005-04-14 2006-10-26 Matsushita Electric Industrial Co., Ltd. サーバ装置、情報通知方法、および情報通知システム
JP4418920B2 (ja) 2006-05-29 2010-02-24 サイレックス・テクノロジー株式会社 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法
US8180735B2 (en) * 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway at user premises

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004516711A (ja) * 2000-12-13 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スレーブデバイスの異種ネットワーク用UPnP構造
JP2003032381A (ja) * 2001-07-17 2003-01-31 Casio Comput Co Ltd 情報通信端末装置、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992368B2 (en) 2016-02-08 2018-06-05 Canon Kabushiki Kaisha Communication control method for controlling communication with USB devices, storage medium, and printing apparatus

Also Published As

Publication number Publication date
JPWO2011055831A1 (ja) 2013-03-28
US9654588B2 (en) 2017-05-16
WO2011055831A1 (ja) 2011-05-12
US20120221736A1 (en) 2012-08-30
CN102597974A (zh) 2012-07-18
CN102597974B (zh) 2016-02-10

Similar Documents

Publication Publication Date Title
JP5745424B2 (ja) デバイス制御装置、クライアント装置、デバイス制御方法、およびデバイス制御システム
JP4865299B2 (ja) 情報処理装置及び情報処理方法及びそのプログラム
EP1528751B1 (en) Simple and dynamic configuration of network devices
JP5802049B2 (ja) デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム
JP2010282610A (ja) ネットワークシステム及びその管理方法
JP2015106798A (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP5581470B2 (ja) デバイス共有システム、デバイス共有サーバ、デバイス共有クライアント、およびデバイス共有方法
JP5563246B2 (ja) 印刷装置及び印刷システム
JP4328972B2 (ja) 印刷システム
JP4431695B2 (ja) プリンタ接続装置およびネットワーク印刷システム
JP2009098977A (ja) 周辺機器接続システム
JP5837189B2 (ja) ローカル装置へのシェアドアクセス
JP2018136876A (ja) 監視装置及び方法及びプログラム
JP2011129111A (ja) クライアント装置、デバイス制御方法、およびデバイス制御システム
JP2008299694A (ja) 周辺機器ドライバインストールシステム
JP2005354233A (ja) 情報処理装置および方法並びにプログラム
JP7107066B2 (ja) 機器管理装置、機器管理プログラム及び機器管理システム
CN110286861B (zh) 信息处理装置、设备管理装置、记录介质
JP2008257319A (ja) 印刷システム、印刷装置、認証印刷実行方法及びプログラム
JP4378338B2 (ja) 情報処理装置、デバイス設定方法、記憶媒体、プログラム
JP2012137864A (ja) デバイス制御装置、デバイス制御方法、およびデバイス制御システム
JP6482272B2 (ja) デバイス制御装置、クライアント、デバイス制御方法、及びデバイス制御システム
JP7305710B2 (ja) 印刷制御装置及びその制御方法
JP2008310532A (ja) コマンド実行方法及びミドルデバイス
JP2013251600A (ja) 機器管理システムおよび外部機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150501

R150 Certificate of patent or registration of utility model

Ref document number: 5745424

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