IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイレックス・テクノロジー株式会社の特許一覧

特開2023-79675デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム
<>
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図1
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図2
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図3
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図4
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図5
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図6
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図7
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図8
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図9
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図10
  • 特開-デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023079675
(43)【公開日】2023-06-08
(54)【発明の名称】デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラム
(51)【国際特許分類】
   G06F 13/14 20060101AFI20230601BHJP
   H04L 67/562 20220101ALI20230601BHJP
【FI】
G06F13/14 310D
H04L67/562
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021193257
(22)【出願日】2021-11-29
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和3年11月1に、サイレックス・テクノロジー株式会社のウェブサイト(https://www.silex.jp/backnumber/press/press_product_211101_ds700.html及びhttps://www.silex.jp/doc/PR211101_SVL_Remote.pdf)にて公開
(71)【出願人】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】林 栄植
(72)【発明者】
【氏名】山中 伸二
(72)【発明者】
【氏名】上田 裕二郎
(57)【要約】
【課題】異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができるデバイスサーバを提供する。
【解決手段】デバイスサーバ30は、通信部32と、通信部32を介して複数のクライアント装置と情報の送受信を行う制御部31と、を備え、制御部31は、第2クライアント装置がデバイスと通信可能に接続している場合に、第2クライアント装置とデバイスとの接続の切断の要求を示す切断要求情報を第1クライアント装置から受信した場合、切断要求情報を第2クライアント装置へ送信し、第2クライアント装置とデバイスとの接続の切断の要求を受諾したことを示す受諾情報を第2クライアント装置から受信した場合、第2クライアント装置とデバイスとの接続を切断し、第1クライアント装置とデバイスとを通信可能に接続する。
【選択図】図3
【特許請求の範囲】
【請求項1】
第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおけるデバイスサーバであって、
前記複数のクライアント装置と通信するサーバ通信部と、
前記サーバ通信部を介して前記複数のクライアント装置と情報の送受信を行うサーバ制御部と、
サーバ記憶部と、を備え、
前記サーバ制御部は、
前記第2クライアント装置が前記デバイスと通信可能に接続している場合に、前記第1クライアント装置から問い合わせを受信したとき、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記第1クライアント装置へ送信し、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記第1クライアント装置から受信した場合、前記切断要求情報を前記サーバ記憶部に記憶し、
前記第2クライアント装置から問い合わせを受信した場合に、前記サーバ記憶部に前記切断要求情報が記憶されているとき、前記切断要求情報を前記第2クライアント装置へ送信し、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記第2クライアント装置から受信した場合、前記第2クライアント装置と前記デバイスとの接続を切断し、前記第1クライアント装置と前記デバイスとを通信可能に接続する、
デバイスサーバ。
【請求項2】
前記サーバ制御部は、前記接続情報に、前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスを含めて、前記接続情報を前記第1クライアント装置へ送信する、
請求項1に記載のデバイスサーバ。
【請求項3】
前記サーバ制御部は、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なる場合、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報を含めて、前記接続情報を前記第1クライアント装置へ送信する、
請求項1に記載のデバイスサーバ。
【請求項4】
前記サーバ制御部は、
前記デバイスサーバが属するネットワークセグメントにおけるアドレスを含む情報を前記第2クライアント装置に送信し、
前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報は、前記第2クライアント装置から送信される情報に基づくものである、
請求項3に記載のデバイスサーバ。
【請求項5】
前記サーバ制御部は、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なる場合、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なることを示す情報を含めて、前記接続情報を前記第1クライアント装置へ送信する、
請求項1に記載のデバイスサーバ。
【請求項6】
第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記第1クライアント装置であるクライアント装置であって、
前記デバイスサーバと通信するクライアント通信部と、
前記クライアント通信部を介して前記デバイスサーバと情報の送受信を行うクライアント制御部と、を備え、
前記クライアント制御部は、
問い合わせを前記デバイスサーバへ送信し、
前記問い合わせに対する応答として、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記デバイスサーバから受信した場合、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記デバイスサーバへ送信し、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記デバイスサーバから受信した場合、前記第1クライアント装置と前記デバイスとを通信可能に接続することの要求を示す接続要求情報を前記デバイスサーバへ送信する、
クライアント装置。
【請求項7】
前記クライアント制御部は、前記デバイスサーバから前記接続情報を受信し、かつ、所定の条件を満たす場合に、前記切断要求情報を前記デバイスサーバへ送信する、
請求項6に記載のクライアント装置。
【請求項8】
前記所定の条件を満たす場合は、前記接続情報に含まれる前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスと、前記クライアント装置と前記デバイスサーバとの通信に用いられたアドレスとが異なる場合である、
請求項7に記載のクライアント装置。
【請求項9】
前記所定の条件を満たす場合は、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報が含まれている場合である、
請求項7に記載のクライアント装置。
【請求項10】
前記所定の条件を満たす場合は、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なることを示す情報が含まれている場合である、
請求項7に記載のクライアント装置。
【請求項11】
複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおけるクライアント装置であって、
前記デバイスサーバと通信するクライアント通信部と、
前記クライアント通信部を介して前記デバイスサーバと情報の送受信を行うクライアント制御部と、を備え、
前記クライアント制御部は、
前記デバイスサーバが属するネットワークセグメントにおける当該デバイスサーバのアドレスを含む情報を当該デバイスサーバから受信し、
前記情報に含まれる前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスと、前記クライアント装置と前記デバイスサーバとの通信に用いられたアドレスとが異なる場合、前記デバイスサーバが属するネットワークセグメントと前記クライアント装置が属するネットワークセグメントが異なる旨を前記デバイスサーバに送信する、
クライアント装置。
【請求項12】
請求項1~5のいずれか1項に記載のデバイスサーバと、
請求項6~11のいずれか1項に記載のクライアント装置と、を備える、
デバイスサーバシステム。
【請求項13】
第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記デバイスサーバが行う接続方法あって、
前記第2クライアント装置が前記デバイスと通信可能に接続している場合に、前記第1クライアント装置から問い合わせを受信したとき、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記第1クライアント装置へ送信するステップと、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記第1クライアント装置から受信した場合、前記切断要求情報を前記デバイスサーバのサーバ記憶部に記憶するステップと、
前記第2クライアント装置から問い合わせを受信した場合に、前記切断要求情報が前記サーバ記憶部に記憶されているとき、前記切断要求情報を前記第2クライアント装置へ送信するステップと、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記第2クライアント装置から受信した場合、前記第2クライアント装置と前記デバイスとの接続を切断し、前記第1クライアント装置と前記デバイスとを通信可能に接続するステップと、を含む、
接続方法。
【請求項14】
請求項13に記載の接続方法をコンピュータに実行させるためのプログラム。
【請求項15】
第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記第1クライアント装置が行う接続方法あって、
問い合わせを前記デバイスサーバへ送信するステップと、
前記問い合わせに対する応答として、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記デバイスサーバから受信した場合、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記デバイスサーバへ送信するステップと、
前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記デバイスサーバから受信した場合、前記第1クライアント装置と前記デバイスとを通信可能に接続することの要求を示す接続要求情報を前記デバイスサーバへ送信するステップと、を含む、
接続方法。
【請求項16】
請求項15に記載の接続方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイスサーバ、クライアント装置、デバイスサーバシステム、接続方法及びプログラムに関する。
【背景技術】
【0002】
近年、デバイスサーバと呼ばれる装置が普及している(例えば特許文献1参照)。デバイスサーバは、USB(Universal Serial Bus)を介して自身にローカルに接続(以下、単に接続とも記載することがある)されたMFP(Multi Function Peripheral)、スキャナ又は地デジチューナーといったコンピュータ周辺機器(以下、デバイスとも呼ぶ)をネットワークに接続し、複数のクライアント装置(例えば、PC又はタブレット等)からネットワークを介してこれらのデバイスを利用するための装置である。
【0003】
デバイスサーバは、USBの仕様上、複数のクライアント装置のうちの一のクライアント装置がデバイスサーバを介してデバイスと通信可能に接続している間、他のクライアント装置を当該デバイスに接続することができない。デバイスと通信可能に接続していたクライアント装置と当該デバイスとの接続が切断されると、当該デバイスは、他のクライアント装置から接続可能な状態となる。
【0004】
これに対して、1人のユーザが複数のクライアント装置を利用して、デバイスサーバを介してデバイスを利用したいという要望がある。例えば、ユーザがある場所に設置されたPCで地上デジタル放送を視聴しているときに、ユーザが別の場所へ移動し、別の場所に設置されたPCで地上デジタル放送を引き続き視聴したいといった要望である。このとき、デバイスと接続しているクライアント装置と当該デバイスとの接続を切断した後、他のクライアント装置と当該デバイスとを接続する必要がある。特許文献1では、他のクライアント装置がデバイスと接続しているクライアント装置へ直接切断要求を行うことで、クライアント装置とデバイスとの接続を切断し、デバイスと接続するクライアント装置の切り替えを行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016-162110号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1では、同じネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことを前提にしているが、1人のユーザである場合に限らず、異なるネットワークセグメントのクライアント装置について、デバイスと接続するクライアント装置の切り替えを行いたいという要望もある。しかしながら、異なるネットワークセグメントにおいては、異なるネットワークセグメントにおけるクライアント装置間の通信を直接行うための通信経路がなく、他のクライアント装置がデバイスと接続しているクライアント装置へ直接切断要求を行うことが難しいという問題がある。
【0007】
本発明は、上記問題を解決するためになされたものであり、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができるデバイスサーバ等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の一態様に係るデバイスサーバは、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおけるデバイスサーバであって、前記複数のクライアント装置と通信するサーバ通信部と、前記サーバ通信部を介して前記複数のクライアント装置と情報の送受信を行うサーバ制御部と、サーバ記憶部と、を備え、前記サーバ制御部は、前記第2クライアント装置が前記デバイスと通信可能に接続している場合に、前記第1クライアント装置から問い合わせを受信したとき、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記第1クライアント装置へ送信し、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記第1クライアント装置から受信した場合、前記切断要求情報を前記サーバ記憶部に記憶し、前記第2クライアント装置から問い合わせを受信した場合に、前記サーバ記憶部に前記切断要求情報が記憶されているとき、前記切断要求情報を前記第2クライアント装置へ送信し、前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記第2クライアント装置から受信した場合、前記第2クライアント装置と前記デバイスとの接続を切断し、前記第1クライアント装置と前記デバイスとを通信可能に接続する。
【0009】
これによれば、デバイスサーバは、第2クライアント装置がデバイスと通信可能に接続している場合に、第1クライアント装置から、第2クライアント装置とデバイスとの接続の切断を要求され、第2クライアント装置がデバイスとの接続の切断の要求を受諾したときに、第2クライアント装置とデバイスとの接続を切断し、第1クライアント装置とデバイスとを通信可能に接続する。つまり、第1クライアント装置は、第2クライアント装置へ直接切断要求を行わずに、デバイスサーバを介して第2クライアント装置へ切断要求を行うことができるため、第1クライアント装置が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている場合であっても、第1クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことができる。このように、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができる。
【0010】
例えば、前記サーバ制御部は、前記接続情報に、前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスを含めて、前記接続情報を前記第1クライアント装置へ送信してもよい。
【0011】
これによれば、第1クライアント装置は、接続情報に含まれるデバイスサーバのアドレスと、デバイスサーバとの通信に用いたデバイスサーバのアドレスとが異なっている場合、第1クライアント装置が属するネットワークセグメントと、デバイスサーバが属するネットワークセグメントとが異なることを判定することができる。第1クライアント装置が属するネットワークセグメントと、デバイスサーバが属するネットワークセグメントとが異なる場合、第1クライアント装置が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている可能性が高い。このため、この場合、第1クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0012】
例えば、前記サーバ制御部は、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なる場合、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報を含めて、前記接続情報を前記第1クライアント装置へ送信してもよい。具体的には、前記サーバ制御部は、前記デバイスサーバが属するネットワークセグメントにおけるアドレスを含む情報を前記第2クライアント装置に送信し、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報は、前記第2クライアント装置から送信される情報に基づくものであってもよい。
【0013】
これによれば、接続情報に、第2クライアント装置が属するネットワークセグメントが、デバイスサーバが属するネットワークセグメントと異なることを示す情報が含まれている場合、第1クライアント装置が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている可能性が高い。このため、この場合、第1クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0014】
例えば、前記サーバ制御部は、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なる場合、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なることを示す情報を含めて、前記接続情報を前記第1クライアント装置へ送信してもよい。
【0015】
これによれば、接続情報に、第2クライアント装置が属するネットワークセグメントが、第1クライアント装置が属するネットワークセグメントと異なることを示す情報が含まれている場合、第1クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0016】
上記課題を解決するために、本発明の一態様に係るクライアント装置は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記第1クライアント装置であるクライアント装置であって、前記デバイスサーバと通信するクライアント通信部と、前記クライアント通信部を介して前記デバイスサーバと情報の送受信を行うクライアント制御部と、を備え、前記クライアント制御部は、問い合わせを前記デバイスサーバへ送信し、前記問い合わせに対する応答として、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記デバイスサーバから受信した場合、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記デバイスサーバへ送信し、前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記デバイスサーバから受信した場合、前記第1クライアント装置と前記デバイスとを通信可能に接続することの要求を示す接続要求情報を前記デバイスサーバへ送信する。
【0017】
これによれば、クライアント装置(第1クライアント装置)は、第2クライアント装置がデバイスと通信可能に接続している場合に、第2クライアント装置とデバイスとの接続の切断をデバイスサーバに要求し、第2クライアント装置が、デバイスとの接続の切断の要求を受諾したときに、クライアント装置とデバイスとを通信可能に接続することをデバイスサーバに要求する。つまり、クライアント装置は、第2クライアント装置へ直接切断要求を行わずに、デバイスサーバを介して第2クライアント装置へ切断要求を行うことができるため、クライアント装置が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている場合であっても、クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことができる。このように、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができる。
【0018】
例えば、前記クライアント制御部は、前記デバイスサーバから前記接続情報を受信し、かつ、所定の条件を満たす場合に、前記切断要求情報を前記デバイスサーバへ送信してもよい。
【0019】
これによれば、クライアント装置は、常にデバイスサーバを介して第2クライアント装置へ切断要求を行わなくてもよく、所定の条件を満たす場合に限って、デバイスサーバを介して第2クライアント装置へ切断要求を行ってもよい。クライアント装置は、所定の条件を満たさない場合(第2クライアント装置へ直接切断要求を行うことができる場合)には、第2クライアント装置へ直接切断要求を行うことで、切断要求に対する応答を早く得ることが可能となる。
【0020】
例えば、前記所定の条件を満たす場合は、前記接続情報に含まれる前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスと、前記クライアント装置と前記デバイスサーバとの通信に用いられたアドレスとが異なる場合であってもよい。
【0021】
これによれば、クライアント装置は、接続情報に含まれるデバイスサーバのアドレスと、デバイスサーバとの通信に用いたデバイスサーバのアドレスとが異なっている場合、クライアント装置(自装置)が属するネットワークセグメントと、デバイスサーバが属するネットワークセグメントとが異なることを判定することができる。クライアント装置が属するネットワークセグメントと、デバイスサーバが属するネットワークセグメントとが異なる場合、クライアント装置(自装置)が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている可能性が高い。このため、この場合、クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0022】
例えば、前記所定の条件を満たす場合は、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記デバイスサーバが属するネットワークセグメントと異なることを示す情報が含まれている場合であってもよい。
【0023】
これによれば、接続情報に、第2クライアント装置が属するネットワークセグメントが、デバイスサーバが属するネットワークセグメントと異なることを示す情報が含まれている場合、クライアント装置(自装置)が属するネットワークセグメントと、第2クライアント装置が属するネットワークセグメントとが異なっている可能性が高い。このため、この場合、クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0024】
例えば、前記所定の条件を満たす場合は、前記接続情報に、前記第2クライアント装置が属するネットワークセグメントが、前記第1クライアント装置が属するネットワークセグメントと異なることを示す情報が含まれている場合であってもよい。
【0025】
これによれば、接続情報に、第2クライアント装置が属するネットワークセグメントが、クライアント装置が属するネットワークセグメントと異なることを示す情報が含まれている場合、クライアント装置は、デバイスサーバを介して第2クライアント装置へ切断要求を行うことを決定することができる。
【0026】
上記課題を解決するために、本発明の一態様に係るクライアント装置は、複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおけるクライアント装置であって、前記デバイスサーバと通信するクライアント通信部と、前記クライアント通信部を介して前記デバイスサーバと情報の送受信を行うクライアント制御部と、を備え、前記クライアント制御部は、前記デバイスサーバが属するネットワークセグメントにおける当該デバイスサーバのアドレスを含む情報を当該デバイスサーバから受信し、前記情報に含まれる前記デバイスサーバが属するネットワークセグメントにおける前記デバイスサーバのアドレスと、前記クライアント装置と前記デバイスサーバとの通信に用いられたアドレスとが異なる場合、前記デバイスサーバが属するネットワークセグメントと前記クライアント装置が属するネットワークセグメントが異なる旨を前記デバイスサーバに送信する。
【0027】
これによれば、デバイスサーバが属するネットワークセグメントにおけるデバイスサーバのアドレスと、クライアント装置とデバイスサーバとの通信に用いられたアドレスとが異なることを示す情報は、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行う際に用いることができる。このため、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えをスムーズに行うことができる。
【0028】
上記課題を解決するために、本発明の一態様に係るデバイスサーバシステムは、上記のデバイスサーバと、上記のクライアント装置と、を備える。
【0029】
これによれば、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができるデバイスサーバシステムを提供することができる。
【0030】
上記課題を解決するために、本発明の一態様に係る接続方法は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記デバイスサーバが行う接続方法あって、前記第2クライアント装置が前記デバイスと通信可能に接続している場合に、前記第1クライアント装置から問い合わせを受信したとき、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記第1クライアント装置へ送信するステップと、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記第1クライアント装置から受信した場合、前記切断要求情報を前記デバイスサーバのサーバ記憶部に記憶するステップと、前記第2クライアント装置から問い合わせを受信した場合に、前記切断要求情報が前記サーバ記憶部に記憶されているとき、前記切断要求情報を前記第2クライアント装置へ送信するステップと、前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記第2クライアント装置から受信した場合、前記第2クライアント装置と前記デバイスとの接続を切断し、前記第1クライアント装置と前記デバイスとを通信可能に接続するステップと、を含む。
【0031】
これによれば、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができる接続方法を提供することができる。
【0032】
上記課題を解決するために、本発明の一態様に係るプログラムは、上記の接続方法をコンピュータに実行させるためのプログラムである。
【0033】
これによれば、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができるプログラムを提供することができる。
【0034】
上記課題を解決するために、本発明の一態様に係る接続方法は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、前記複数のクライアント装置のうちの一のクライアント装置を、前記デバイスサーバを介して前記デバイスと通信可能に接続するデバイスサーバシステムにおける前記第1クライアント装置が行う接続方法あって、問い合わせを前記デバイスサーバへ送信するステップと、前記問い合わせに対する応答として、前記第2クライアント装置が前記デバイスと通信可能に接続していることを示す接続情報を前記デバイスサーバから受信した場合、前記第2クライアント装置と前記デバイスとの接続の切断の要求を示す切断要求情報を前記デバイスサーバへ送信するステップと、前記第2クライアント装置と前記デバイスとの接続の切断の要求を受諾したことを示す受諾情報を前記デバイスサーバから受信した場合、前記第1クライアント装置と前記デバイスとを通信可能に接続することの要求を示す接続要求情報を前記デバイスサーバへ送信するステップと、を含む。
【0035】
これによれば、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができる接続方法を提供することができる。
【0036】
上記課題を解決するために、本発明の一態様に係るプログラムは、上記の接続方法をコンピュータに実行させるためのプログラムである。
【0037】
これによれば、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができるプログラムを提供することができる。
【発明の効果】
【0038】
本発明により、異なるネットワークセグメントにおいて、デバイスと接続するクライアント装置の切り替えを行うことができる。
【図面の簡単な説明】
【0039】
図1】実施の形態1に係るデバイスサーバシステムの第一例を示す構成図である。
図2】実施の形態1に係るクライアント装置の一例を示す構成図である。
図3】実施の形態1に係るデバイスサーバの一例を示す構成図である。
図4】実施の形態1に係るデバイスサーバシステムの動作の第一例を示すシーケンス図である。
図5】実施の形態1に係るデバイスサーバシステムの第二例を示す構成図である。
図6】実施の形態1に係るデバイスサーバシステムの動作の第二例を示すシーケンス図である。
図7】実施の形態1に係るデバイスサーバシステムの第三例を示す構成図である。
図8】実施の形態2に係るデバイスサーバシステムの一例を示す構成図である。
図9】実施の形態2に係るデバイスサーバシステムの動作の一例を示すシーケンス図である。
図10】その他の実施の形態に係る接続方法の一例を示すフローチャートである。
図11】その他の実施の形態に係る接続方法の他の一例を示すフローチャートである。
【発明を実施するための形態】
【0040】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0041】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【0042】
(実施の形態1)
以下、実施の形態1について図1から図7を用いて説明する。
【0043】
図1は、実施の形態1に係るデバイスサーバシステム1の第一例を示す構成図である。
【0044】
デバイスサーバシステム1は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイス40が接続されたデバイスサーバ30と、を備えるシステムである。デバイスサーバシステム1は、複数のクライアント装置のうちの一のクライアント装置を、デバイスサーバ30を介してデバイス40と通信可能に接続する。つまり、複数のクライアント装置のうちの一のクライアント装置がデバイスサーバ30を介してデバイス40と通信可能に接続している間、他のクライアント装置はデバイス40に接続することができない。デバイス40と通信可能に接続していたクライアント装置とデバイス40との接続が切断されると、デバイス40は、他のクライアント装置から接続可能な状態となる。
【0045】
ここでは、複数のクライアント装置として、クライアント装置10及び20を示す。なお、デバイスサーバシステム1は、3つ以上のクライアント装置を備えていてもよい。クライアント装置10は第1クライアント装置の一例であり、クライアント装置20は第2クライアント装置の一例である。第1クライアント装置は、これからデバイス40と通信可能に接続しようとするクライアント装置であり、第2クライアント装置は、その前にすでにデバイス40と通信可能に接続されているクライアント装置である。複数のクライアント装置のそれぞれは、デバイス40との接続状態に応じて、第1クライアント装置及び第2クライアント装置のいずれにもなり得る。
【0046】
デバイス40は、MFP、スキャナ又は地デジチューナーといったコンピュータ周辺機器である。デバイス40は、例えば、USBを介してデバイスサーバ30に接続される。なお、デバイスサーバ30には、複数のデバイス40が接続されてもよく、例えば、クライアント装置10があるデバイス40と通信可能に接続され、同時に、クライアント装置20が他のデバイス40と通信可能に接続されてもよい。
【0047】
図1に示される第一例では、クライアント装置10はネットワークセグメント100に属し、クライアント装置20及びデバイスサーバ30はネットワークセグメント200に属する。ネットワークセグメント100及び200は、例えば、それぞれLAN(Local Area Network)である。ネットワークセグメント100とネットワークセグメント200とは、IPアドレスのセグメントが異なるネットワークセグメントであり、ネットワークセグメント100に属する機器は、インターネットを介してネットワークセグメント200に属する機器と通信を行う。各ネットワークセグメントには、モデム又はルーター等が設けられており、各ネットワークセグメントに属する機器は、モデム又はルーター等を介してインターネットに接続することができる。あるネットワークセグメントに属する機器が外部のネットワークセグメントに属する機器と通信する場合、モデム及びルーター等においてNAT(Network Address Translation)又はNAPT(Network Address Port Translation)等が行われる。つまり、各ネットワークセグメントにおける各機器のアドレス(例えばIPアドレス)は、外部のネットワークセグメントに属する機器と通信する際に別のアドレスに変換される。
【0048】
次に、クライアント装置10の構成について図2を用いて説明する。
【0049】
図2は、実施の形態1に係るクライアント装置10の一例を示す構成図である。なお、クライアント装置20もクライアント装置10と同じ構成要素を有するため、クライアント装置20の説明は省略する。
【0050】
クライアント装置10は、制御部11及び通信部12を備える。クライアント装置10は、PC又はタブレット等の装置であり、デバイスサーバ30を介してデバイス40を利用するための機能を有する。この機能は、例えば制御部11により実現される。制御部11は、デバイスサーバ30に接続されているデバイス40についての情報等を取得し、クライアント装置10からデバイス40を管理する。ユーザは、制御部11によって、クライアント装置10と所望のデバイス40とを通信可能に接続したり、接続中のデバイス40との接続を切断したりすることができ、デバイスサーバ30を介して接続されたデバイス40を、あたかもクライアント装置10に直接接続されたかのように利用することができる。具体的には、例えばこの機能はクライアント装置10に備わるアプリケーション(仮想接続用ツール)により実現される。
【0051】
クライアント装置10は、プロセッサ、メモリ及び通信インタフェース等を含むコンピュータである。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)等であり、プロセッサにより実行されるプログラムを記憶することができる。制御部11は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。通信部12は、通信インタフェース等によって実現される。
【0052】
通信部12は、デバイスサーバ30と通信するクライアント通信部の一例である。通信部12は、有線又は無線によりデバイスサーバ30と通信する。
【0053】
制御部11は、クライアント通信部を介してデバイスサーバ30と情報の送受信を行うクライアント制御部の一例である。制御部11は、デバイスサーバ30に定期的に問い合わせを行い、デバイス40の使用状況(すなわち複数のクライアント装置との接続状況)等を監視し、デバイス40の使用状況等を示す情報(以下、接続情報とも記載することがある)を取得する。また、制御部11は、クライアント装置10とデバイス40との接続又は切断の要求をデバイスサーバ30に対して行う。制御部11の動作の詳細については後述する。
【0054】
なお、図示していないが、クライアント装置10は、アプリケーション、デバイスドライバ及びトンネリングドライバを備えていてもよい。
【0055】
アプリケーションは、ユーザがデバイス40に特定の作業を実行させたい場合に、ユーザが指示を行う際に用いられるソフトウェアである。例えば、デバイス40がスキャナである場合、アプリケーションは、スキャナ機能を実行するためにユーザから直接的な指示を受ける、デバイス40に付属のスキャナツールなどのソフトウェアである。
【0056】
デバイスドライバは、デバイス40を制御するためのソフトウェアであり、通常は、デバイス40のベンダーから提供されるものである。ワープロソフト等のアプリケーションは、このようなデバイスドライバを介してデバイス40を利用することができる。
【0057】
トンネリングドライバは、デバイスドライバの発行するデバイス40への入出力要求をネットワークパケット(トンネリングパケットとも呼ぶ)にカプセル化し、通信部12を介してデバイスサーバ30へ送信する。一方、トンネリングドライバは、当該入出力要求に対する応答が含まれるトンネリングパケットを受信すると、当該トンネリングパケットから当該応答を取り出し(デカプセル化し)、デバイスドライバへ渡す。
【0058】
次に、デバイスサーバ30の構成について図3を用いて説明する。
【0059】
図3は、実施の形態1に係るデバイスサーバ30の一例を示す構成図である。
【0060】
デバイスサーバ30は、制御部31、通信部32及び記憶部33を備える。デバイスサーバ30は、USBを介して自身に接続されたデバイス40をネットワークに接続し、複数のクライアント装置からネットワークを介してデバイス40を利用するための機能を有する装置(コンピュータ)である。この機能は、例えば制御部31により実現される。
【0061】
デバイスサーバ30は、プロセッサ、メモリ、通信インタフェース及びUSBインタフェース等を含むコンピュータである。メモリは、ROM及びRAM等であり、プロセッサにより実行されるプログラムを記憶することができる。制御部31は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。通信部32は、通信インタフェース等によって実現される。記憶部33は、メモリにより実現されるが、プログラムが記憶されるメモリと記憶部33とは別のメモリであってもよい。USBインタフェースは、デバイスサーバ30とデバイス40とを接続するインタフェースである。
【0062】
通信部32は、複数のクライアント装置と通信するサーバ通信部の一例である。通信部32は、有線又は無線により複数のクライアント装置と通信する。
【0063】
記憶部33は、サーバ記憶部の一例である。記憶部33には、切断要求情報が記憶される。切断要求情報については後述する。
【0064】
制御部31は、サーバ通信部を介して複数のクライアント装置と情報の送受信を行うサーバ制御部の一例である。制御部31の動作の詳細については後述する。
【0065】
なお、図示していないが、デバイスサーバ30は、USBホストコントローラ及びトンネリングドライバを備えていてもよい。
【0066】
USBホストコントローラは、USBのホスト側デバイスが備える装置であり、デバイス40の入出力等の管理するものである。
【0067】
トンネリングドライバは、クライアント装置10におけるトンネリングドライバと同じ機能を有するドライバである。
【0068】
デバイスサーバシステム1では、データのカプセル化及びデカプセル化によって、複数のクライアント装置のうちの一のクライアント装置とデバイス40との間で通信が行われる。このため、一のクライアント装置は、理論上は、デバイスが備える全ての機能をネットワーク経由で利用することができる。しかし、このような通信は、NAS(Network Attached Storage)のように、ファイル単位での排他制御又は同時アクセスが可能なネットワークで利用されることを規定したプロトコルを用いないため、常に1台のクライアント装置からしかデバイス40を利用できない。
【0069】
次に、デバイスサーバシステム1の動作の第一例について図4を用いて説明する。
【0070】
図4は、実施の形態1に係るデバイスサーバシステム1の動作の第一例を示すシーケンス図である。
【0071】
なお、以下で説明する動作の主体をクライアント装置10、20及びデバイスサーバ30として説明するが、各動作は、基本的には、クライアント装置10の制御部11、クライアント装置20の制御部11及びデバイスサーバ30の制御部31が行う。
【0072】
クライアント装置20は、定期的にデバイスサーバ30に対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置20は、デバイスサーバ30へ問い合わせを送信する(ステップS101)。
【0073】
デバイスサーバ30は、問い合わせに対する応答として、デバイス40がいずれのクライアント装置とも通信可能に接続しておらず、デバイス40と接続可能であることを示す接続情報をクライアント装置20へ送信する(ステップS102)。
【0074】
クライアント装置20は、クライアント装置20とデバイス40とを通信可能に接続することの要求を示す接続要求情報をデバイスサーバ30へ送信する(ステップS103)。これにより、デバイスサーバ30は、クライアント装置20とデバイス40とを通信可能に接続し、クライアント装置20のユーザがデバイス40の利用を開始する。
【0075】
一方、クライアント装置10も、デバイスサーバ30に対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置10は、デバイスサーバ30へ問い合わせを送信する(ステップS104)。
【0076】
デバイスサーバ30は、クライアント装置20がデバイス40と通信可能に接続している場合に、クライアント装置10から問い合わせを受信したとき、問い合わせに対する応答として、クライアント装置20がデバイス40と通信可能に接続していることを示す接続情報をクライアント装置10へ送信する(ステップS105)。このとき、デバイスサーバ30は、接続情報に、デバイスサーバ30が属するネットワークセグメント200におけるデバイスサーバ30のアドレス(例えばIPアドレス)を含めて、接続情報をクライアント装置10へ送信する。
【0077】
クライアント装置10は、デバイス40がすでにクライアント装置20と通信可能に接続中であり、現状クライアント装置10がデバイス40を利用することができない状態となっているため、クライアント装置20とデバイス40との接続の切断の要求を行う。このとき、クライアント装置10は、クライアント装置20とデバイス40との接続の切断要求を直接クライアント装置20に行うか、デバイスサーバ30を介して行うかを判定する(ステップS106)。例えば、クライアント装置10は、所定の条件を満たす場合、切断要求を、デバイスサーバ30を介して行うと判定し、所定の条件を満たさない場合、切断要求を直接クライアント装置20に行うと判定する。
【0078】
例えば、第一例の状況において所定の条件を満たす場合とは、接続情報に含まれるデバイスサーバ30が属するネットワークセグメント200におけるデバイスサーバ30のアドレスと、クライアント装置10とデバイスサーバ30との通信に用いられたアドレスとが異なる場合である。クライアント装置10は、接続情報に含まれるデバイスサーバ30のアドレス(ステップS105で通知を受けたアドレス)と、デバイスサーバ30との通信に用いたデバイスサーバ30のアドレスとが異なっている場合、クライアント装置10が属するネットワークセグメント100と、デバイスサーバ30が属するネットワークセグメント200とが異なると判定することができる。デバイスサーバ30が属するネットワークセグメント200におけるデバイスサーバ30のアドレスと、クライアント装置10とデバイスサーバ30との通信に用いられたアドレスとが異なる場合、NAT等によりデバイスサーバ30のIPアドレスの変換が行われており、クライアント装置10が属するネットワークセグメント100と、デバイスサーバ30が属するネットワークセグメント200とが異なることになるためである。このため、この場合、クライアント装置10は、デバイスサーバ30を介してクライアント装置20へ切断要求を行うことを決定することができる。
【0079】
クライアント装置10は、デバイスサーバ30からクライアント装置20がデバイス40と通信可能に接続していることを示す接続情報を受信し、かつ、上述した所定の条件を満たすと判定した場合、切断要求情報をデバイスサーバ30へ送信する(ステップS107)。つまり、クライアント装置10は、デバイスサーバ30から当該接続情報を受信し、かつ、所定の条件を満たす場合には、直接クライアント装置20へ切断要求情報を送信しない。
【0080】
デバイスサーバ30は、クライアント装置20とデバイス40との接続の切断の要求を示す切断要求情報をクライアント装置10から受信した場合、切断要求情報を記憶部33に記憶する(ステップS108)。例えば、切断要求情報には、どのクライアント装置がどのデバイス40を利用するために、クライアント装置20に対して切断の要求をしているかを示す情報が含まれる。
【0081】
上述したように、クライアント装置20は、定期的にデバイスサーバ30に対して問い合わせを行っており、クライアント装置20は、デバイスサーバ30へ問い合わせを送信する(ステップS109)。
【0082】
デバイスサーバ30は、クライアント装置20から問い合わせを受信した場合に、記憶部33に切断要求情報が記憶されているとき、切断要求情報をクライアント装置20へ送信する。具体的には、ステップS110からステップS112までの処理が行われる。
【0083】
デバイスサーバ30は、クライアント装置20に対して切断の要求があることを示す情報をクライアント装置20へ送信する(ステップS110)。
【0084】
例えば、クライアント装置20がステップS110で受信した情報では、どのクライアント装置がどのデバイス40を利用するために、クライアント装置20に対して切断の要求をしているのかはわからないため、クライアント装置20は、デバイスサーバ30に切断要求情報を要求する(ステップS111)。例えば、クライアント装置20は、同時に複数のデバイス40(例えば、MFP及びスキャナ等)を利用している場合もあり、どのデバイス40との切断の要求があるのかを確認するために、デバイスサーバ30に切断要求情報を要求する。
【0085】
デバイスサーバ30は、記憶部33に記憶された切断要求情報をクライアント装置20へ送信する(ステップS112)。これにより、クライアント装置20は、クライアント装置10がデバイス40を利用するために、クライアント装置20に対して切断の要求をしているのか確認することができる。
【0086】
クライアント装置20は、切断の要求を処理する(ステップS113)。具体的には、クライアント装置20は、クライアント装置20のユーザに対して、クライアント装置10がデバイス40を利用するために、クライアント装置20に対してデバイス40との接続の切断の要求をしていること、及び、切断の要求を受諾するか否かを提示する。図4の説明では、例えば、クライアント装置20のユーザは、デバイス40の利用が終わっており、切断の要求を受諾したとする。
【0087】
クライアント装置20は、クライアント装置20とデバイス40との接続の切断の要求を受諾したことを示す受諾情報をデバイスサーバ30へ送信する(ステップS114)。
【0088】
デバイスサーバ30は、クライアント装置20とデバイス40との接続の切断の要求を受諾したことを示す受諾情報をクライアント装置20から受信した場合、クライアント装置20とデバイス40との接続を切断し、クライアント装置10とデバイス40とを通信可能に接続する。具体的には、ステップS115からステップS118までの処理が行われる。
【0089】
上述したように、クライアント装置10は、定期的にデバイスサーバ30に対して問い合わせを行っており、クライアント装置10は、デバイスサーバ30へ問い合わせを送信する(ステップS115)。
【0090】
デバイスサーバ30は、クライアント装置20とデバイス40との接続の切断の要求を受諾したことを示す受諾情報をクライアント装置20へ送信する(ステップS116)。
【0091】
クライアント装置20は、クライアント装置20とデバイス40との接続の切断の要求をデバイスサーバ30へ送信する(ステップS117)。これにより、デバイスサーバ30は、クライアント装置20とデバイス40との接続を切断する。
【0092】
クライアント装置10は、クライアント装置20とデバイス40との接続の切断の要求を受諾したことを示す受諾情報をデバイスサーバ30から受信した場合(ステップS116)、クライアント装置10とデバイス40とを通信可能に接続することの要求を示す接続要求情報をデバイスサーバ30へ送信する(ステップS118)。これにより、デバイスサーバ30は、クライアント装置10とデバイス40とを通信可能に接続する。
【0093】
なお、ステップS115が行われる前にステップS117が行われてもよいし、ステップS114において、クライアント装置20とデバイス40との接続の切断の要求がデバイスサーバ30へ送信されてもよい。
【0094】
また、ステップS111において、クライアント装置20は、デバイスサーバ30に切断要求情報を要求することで説明したが、例えば、デバイスサーバ30は、クライアント装置20から問い合わせを受信した場合(ステップS109)に、問い合わせを行ったクライアント装置20と切断要求情報に含まれる切断要求の対象のクライアント装置とが一致する場合には、当該問い合わせを行ったクライアント装置20に切断要求情報をデバイスサーバ30が自ら応答してもよい。この場合、ステップS110及びステップS111の処理を省くことができる。
【0095】
図1及び図4では、クライアント装置10がデバイスサーバ30を介してデバイス40と通信可能に接続したい場合において、クライアント装置20とデバイスサーバ30とが同じネットワークセグメント200に属しており、クライアント装置10とデバイスサーバ30とが異なるネットワークセグメントに属している第一例について説明した。次に説明する図5及び図6では、クライアント装置10がデバイスサーバ30を介してデバイス40と通信可能に接続したい場合において、クライアント装置20とデバイスサーバ30とが異なるネットワークセグメントに属しており、クライアント装置10とデバイスサーバ30とが同じネットワークセグメントに属している第二例について説明する。
【0096】
図5は、実施の形態1に係るデバイスサーバシステム1の第二例を示す構成図である。
【0097】
図5に示される第二例では、クライアント装置10及びデバイスサーバ30はネットワークセグメント100aに接続され、クライアント装置20はネットワークセグメント200aに接続される。
【0098】
デバイスサーバシステム1の動作の第二例について図6を用いて説明する。
【0099】
図6は、実施の形態1に係るデバイスサーバシステム1の動作の第二例を示すシーケンス図である。
【0100】
なお、以下で説明する動作の主体をクライアント装置10、20及びデバイスサーバ30として説明するが、各動作は、基本的には、クライアント装置10の制御部11、クライアント装置20の制御部11及びデバイスサーバ30の制御部31が行う。
【0101】
クライアント装置20は、ユーザの指示(デバイス40を利用したい旨)に基づく、又は、定期的にデバイスサーバ30に対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置20は、デバイスサーバ30へ問い合わせを送信する(ステップS201)。
【0102】
デバイスサーバ30は、問い合わせに対する応答として、デバイス40がいずれのクライアント装置とも通信可能に接続しておらず、デバイス40と接続可能であることを示す接続情報をクライアント装置20へ送信する(ステップS202)。このとき、デバイスサーバ30は、接続情報に、デバイスサーバ30が属するネットワークセグメント100aにおけるデバイスサーバ30のアドレス(例えばIPアドレス)を含めて、接続情報をクライアント装置20へ送信する。
【0103】
クライアント装置20は、クライアント装置20が属するネットワークセグメント200aとデバイスサーバ30が属するネットワークセグメント100aとが異なるネットワークセグメントであるか否かを判定する(ステップS203)。クライアント装置20は、接続情報に含まれるデバイスサーバ30のアドレス(ステップS202で通知を受けたアドレス)と、デバイスサーバ30との通信に用いたデバイスサーバ30のアドレスとが異なっている場合、クライアント装置20が属するネットワークセグメント200aと、デバイスサーバ30が属するネットワークセグメント100aとが異なることを判定することができる。デバイスサーバ30が属するネットワークセグメント100aにおけるデバイスサーバ30のアドレスと、クライアント装置20とデバイスサーバ30との通信に用いられたアドレスとが異なる場合、NAT等によりデバイスサーバ30のIPアドレスの変換が行われており、クライアント装置20が属するネットワークセグメント200aと、デバイスサーバ30が属するネットワークセグメント100aとが異なることになるためである。
【0104】
クライアント装置20は、クライアント装置20とデバイス40とを通信可能に接続することの要求を示す接続要求情報をデバイスサーバ30へ送信する(ステップS204)。このとき、クライアント装置20は、クライアント装置20が属するネットワークセグメント200aと、デバイスサーバ30が属するネットワークセグメント100aとが異なることを接続要求情報に含めて、デバイスサーバ30へ送信する。これにより、デバイスサーバ30は、クライアント装置20とデバイス40とを通信可能に接続し、また、クライアント装置20が属するネットワークセグメント200aと、デバイスサーバ30が属するネットワークセグメント100aとが異なることを認識する。
【0105】
一方、クライアント装置10は、定期的にデバイスサーバ30に対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置10は、デバイスサーバ30へ問い合わせを送信する(ステップS205)。
【0106】
デバイスサーバ30は、クライアント装置20がデバイス40と通信可能に接続している場合に、クライアント装置10から問い合わせを受信したとき、問い合わせに対する応答として、クライアント装置20がデバイス40と通信可能に接続していることを示す接続情報をクライアント装置10へ送信する(ステップS206)。このとき、デバイスサーバ30は、クライアント装置20が属するネットワークセグメント200aが、デバイスサーバ30が属するネットワークセグメント100aと異なる場合、接続情報に、クライアント装置20が属するネットワークセグメント200aが、デバイスサーバ30が属するネットワークセグメント100aと異なることを示す情報を含めて、接続情報をクライアント装置10へ送信する。クライアント装置20が属するネットワークセグメント200aが、デバイスサーバ30が属するネットワークセグメント100aと異なることを示す情報は、クライアント装置20から送信される情報(ステップS204で送信された情報)に基づくものである。
【0107】
クライアント装置10は、デバイス40がすでにクライアント装置20と通信可能に接続中であり、現状クライアント装置10がデバイス40を利用することができない状態となっているため、クライアント装置20とデバイス40との接続の切断の要求を行う。このとき、クライアント装置10は、クライアント装置20とデバイス40との接続の切断要求を直接クライアント装置20に行うか、デバイスサーバ30を介して行うかを判定する(ステップS207)。例えば、クライアント装置10は、所定の条件を満たす場合、切断要求を、デバイスサーバ30を介して行うと判定し、所定の条件を満たさない場合、切断要求を直接クライアント装置20に行うと判定する。
【0108】
例えば、第二例の状況において所定の条件を満たす場合とは、接続情報に、クライアント装置20が属するネットワークセグメント200aが、デバイスサーバ30が属するネットワークセグメント100aと異なることを示す情報が含まれている場合である。接続情報に、クライアント装置20が属するネットワークセグメント200aが、デバイスサーバ30が属するネットワークセグメント100aと異なることを示す情報が含まれている場合、クライアント装置10とデバイスサーバ30とが同一セグメントに属していれば、クライアント装置10が属するネットワークセグメント100aと、クライアント装置20が属するネットワークセグメント200aとが異なる。このため、この場合、クライアント装置10は、デバイスサーバ30を介してクライアント装置20へ切断要求を行うことを決定することができる。
【0109】
ステップS208からステップS219までの処理は、第一例で説明したステップS107からステップS118までの処理と基本的には同じであるため、説明は省略する。
【0110】
図1図4図5及び図6では、クライアント装置10及び20が異なるネットワークセグメントに属している例について説明した。次に説明する図7では、クライアント装置10とクライアント装置20とが同じネットワークセグメントに属しており、デバイスサーバ30も同じネットワークセグメントに属している第三例について、第一例について説明した図4を参照しながら説明する。
【0111】
図7は、実施の形態1に係るデバイスサーバシステム1の第三例を示す構成図である。
【0112】
図7に示される第三例では、クライアント装置10、20及びデバイスサーバ30は同じネットワークセグメント300に接続される。
【0113】
第三例では、第一例について説明した図4のステップS105において接続情報に含められる、デバイスサーバ30が属するネットワークセグメント200におけるデバイスサーバ30のアドレス(例えばIPアドレス)と、クライアント装置10とデバイスサーバ30との通信に用いられたアドレスとは同じになる。つまり、クライアント装置10とデバイスサーバ30とが同じネットワークセグメント300に接続されているためである。このため、第一例について説明した図4のステップS106において、所定の条件が満たされず、切断要求を直接クライアント装置20に行うと判定される。このように、第三例では、クライアント装置10は、デバイスサーバ30を介さずに、切断要求を直接クライアント装置20に行う。具体的には、例えば当該機能(対象のクライアント装置に直接に切断要求を行う機能)はクライアント装置10及び20に備わるアプリケーション(仮想接続用ツール)により実現され得る。クライアント装置10は、所定の条件を満たさない場合(クライアント装置20へ直接切断要求を行うことができる場合)には、クライアント装置20へ直接切断要求を行うことで、切断要求に対する応答を早く得ることが可能となる。
【0114】
以上説明したように上述の所定の条件を満たしているとき、デバイスサーバ30は、クライアント装置20がデバイス40と通信可能に接続しており、クライアント装置10から、クライアント装置20とデバイス40との接続の切断の要求を受けると、この要求をクライアント装置20に伝え、クライアント装置20がデバイス40との接続の切断の要求を受諾したときに、クライアント装置20とデバイス40との接続を切断し、クライアント装置10とデバイス40とを通信可能に接続する。また、上述の所定の条件を満たしているとき、クライアント装置10は、クライアント装置20がデバイス40と通信可能に接続している場合に、クライアント装置20とデバイス40との接続の切断をデバイスサーバ30に要求し、クライアント装置20がデバイス40との接続の切断の要求を受諾したときに、クライアント装置10(自装置)とデバイス40とを通信可能に接続することをデバイスサーバ30に要求する。つまり、クライアント装置10は、クライアント装置20へ直接切断要求を行わずに、デバイスサーバ30を介してクライアント装置20へ切断要求を行うことができるため、クライアント装置10が属するネットワークセグメントと、クライアント装置20が属するネットワークセグメントとが異なっている場合であっても、クライアント装置10は、デバイスサーバ30を介してクライアント装置20へ切断要求を行うことができる。このように、異なるネットワークセグメントにおいて、デバイス40と接続するクライアント装置の切り替えを行うことができる。これにより、例えばクライアント装置20がデバイスサーバ30を介してデバイス40と通信可能に接続している場合に、クライアント装置10がインターネット経由でデバイス40を利用したい場合などに適用できる。
【0115】
(実施の形態2)
例えば、デバイスサーバは、複数の異なるネットワークセグメントに接続する機能を有していてもよい。これについて、図8及び図9を用いて説明する。
【0116】
図8は、実施の形態2に係るデバイスサーバシステム2の一例を示す構成図である。
【0117】
デバイスサーバシステム2は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイス40が接続されたデバイスサーバ30aと、を備えるシステムである。デバイスサーバシステム2は、複数のクライアント装置のうちの一のクライアント装置を、デバイスサーバ30aを介してデバイス40と通信可能に接続する。つまり、複数のクライアント装置のうちの一のクライアント装置がデバイスサーバ30aを介してデバイス40と通信可能に接続している間、他のクライアント装置はデバイス40に接続することができない。デバイス40と通信可能に接続していたクライアント装置とデバイス40との接続が切断されると、デバイス40は、他のクライアント装置から接続可能な状態となる。
【0118】
ここでは、複数のクライアント装置として、クライアント装置10及び20を示す。なお、デバイスサーバシステム2は、3つ以上のクライアント装置を備えていてもよい。クライアント装置10は第1クライアント装置の一例であり、クライアント装置20は第2クライアント装置の一例である。
【0119】
図8に示される例では、クライアント装置10はネットワークセグメント100bに属しており、クライアント装置20は、ネットワークセグメント200bに属し、デバイスサーバ30aはネットワークセグメント100b及び200bに属している。例えば、ネットワークセグメント100bは無線LANであり、ネットワークセグメント200bは有線LANであり、デバイスサーバ30aは、無線LAN及び有線LANの両方と接続する機能を有する。
【0120】
デバイスサーバ30aの構成要素は、基本的にはデバイスサーバ30と同じであるため説明は省略するが、ネットワークセグメント100bに接続されたクライアント装置10と通信する通信部(通信インタフェース)と、ネットワークセグメント200bに接続されたクライアント装置20と通信する通信部(通信インタフェース)とを、それぞれ備えている。また、デバイスサーバ30aは、3つ以上の通信部(通信インタフェース)を備えていてもよい。この場合、各通信部それぞれに対応した異なるネットワークセグメントが割り当てられてもよい。
【0121】
次に、デバイスサーバシステム2の動作の例について図9を用いて説明する。
【0122】
図9は、実施の形態2に係るデバイスサーバシステム2の動作の一例を示すシーケンス図である。
【0123】
なお、以下で説明する動作の主体をクライアント装置10、20及びデバイスサーバ30aとして説明するが、各動作は、基本的には、クライアント装置10の制御部11、クライアント装置20の制御部11及びデバイスサーバ30aの制御部31が行う。
【0124】
クライアント装置20は、定期的にデバイスサーバ30aに対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置20は、デバイスサーバ30aへ問い合わせを送信する(ステップS301)。
【0125】
デバイスサーバ30aは、問い合わせに対する応答として、デバイス40がいずれのクライアント装置とも通信可能に接続しておらず、デバイス40と接続可能であることを示す接続情報をクライアント装置20へ送信する(ステップS302)。
【0126】
クライアント装置20は、ユーザの指示(デバイス40を利用したい旨)に基づく、又は、クライアント装置20とデバイス40とを通信可能に接続することの要求を示す接続要求情報をデバイスサーバ30aへ送信する(ステップS303)。これにより、デバイスサーバ30aは、クライアント装置20とデバイス40とを通信可能に接続する。
【0127】
クライアント装置10は、ユーザの指示(デバイス40を利用したい旨)に基づく、又は、定期的にデバイスサーバ30aに対してデバイス40の使用状況等についての問い合わせを行っており、クライアント装置10は、デバイスサーバ30aへ問い合わせを送信する(ステップS304)。
【0128】
デバイスサーバ30aは、デバイス40と通信可能に接続しているクライアント装置20が属するネットワークセグメント200bと、問い合わせを行ったクライアント装置10が属するネットワークセグメント100bとが異なるか否かを判定する(ステップS305)。この例におけるデバイスサーバ30aは、各クライアント装置が接続しているネットワークセグメントを判定することができるため、ステップS305での判定を行うことができる。
【0129】
デバイスサーバ30aは、クライアント装置20がデバイス40と通信可能に接続している場合に、クライアント装置10から問い合わせを受信したとき、問い合わせに対する応答として、クライアント装置20がデバイス40と通信可能に接続していることを示す接続情報をクライアント装置10へ送信する(ステップS306)。このとき、デバイスサーバ30aは、クライアント装置20が属するネットワークセグメント200bが、クライアント装置10が属するネットワークセグメント100bと異なる場合、接続情報に、クライアント装置20が属するネットワークセグメント200bが、クライアント装置10が属するネットワークセグメント100bと異なることを示す情報を含めて、接続情報をクライアント装置10へ送信する。
【0130】
次に、クライアント装置10は、デバイス40がすでにクライアント装置20に接続中であり、現状クライアント装置10がデバイス40を利用することができない状態となっているため、クライアント装置20とデバイス40との接続の切断の要求を行う。このとき、クライアント装置10は、クライアント装置20とデバイス40との接続の切断要求を直接クライアント装置20に行うか、デバイスサーバ30aを介して行うかを判定する(ステップS307)。例えば、クライアント装置10は、所定の条件を満たす場合、切断要求を、デバイスサーバ30aを介して行うと判定し、所定の条件を満たさない場合、切断要求を直接クライアント装置20に行うと判定する。
【0131】
例えば、所定の条件を満たす場合は、接続情報に、クライアント装置20が属するネットワークセグメント200bが、クライアント装置10が属するネットワークセグメント100bと異なることを示す情報が含まれている場合である。この場合、クライアント装置10は、デバイスサーバ30aを介してクライアント装置20へ切断要求を行うことを決定することができる。
【0132】
ステップS308からステップS319までの処理は、実施の形態1の第一例で説明したステップS107からステップS118までの処理と基本的には同じであるため、説明は省略する。
【0133】
なお、実施の形態2において、クライアント装置10とクライアント装置20とが同じネットワークセグメントに属している場合には、ステップS307では所定の条件が満たされず、切断要求を直接クライアント装置20に行うと判定され、クライアント装置10は、デバイスサーバ30aを介さずに、切断要求を直接クライアント装置20に行う。
【0134】
このように、デバイスサーバ30aは、複数の異なるネットワークセグメントに接続する機能を有していてもよく、この場合であっても、異なるネットワークセグメントにおいて、デバイス40と接続するクライアント装置の切り替えを行うことができる。
【0135】
(その他の実施の形態)
以上、本発明のデバイスサーバ、クライアント装置及びデバイスサーバシステムについて、実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【0136】
例えば、本発明は、デバイスサーバとして実現できるだけでなく、デバイスサーバを構成する構成要素(例えば制御部31)が行うステップ(処理)を含む接続方法として実現できる。
【0137】
図10は、その他の実施の形態に係る接続方法の一例を示すフローチャートである。
【0138】
接続方法は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、複数のクライアント装置のうちの一のクライアント装置を、デバイスサーバを介してデバイスと通信可能に接続するデバイスサーバシステムにおけるデバイスサーバが行う接続方法であって、第2クライアント装置がデバイスと通信可能に接続している場合に、第1クライアント装置から問い合わせを受信したとき、第2クライアント装置がデバイスと通信可能に接続していることを示す接続情報を第1クライアント装置へ送信するステップ(ステップS11)と、第2クライアント装置とデバイスとの接続の切断の要求を示す切断要求情報を第1クライアント装置から受信した場合、切断要求情報をデバイスサーバのサーバ記憶部に記憶するステップ(ステップS12)と、第2クライアント装置から問い合わせを受信した場合に、切断要求情報がサーバ記憶部に記憶されているとき、切断要求情報を第2クライアント装置へ送信するステップ(ステップS13)と、第2クライアント装置とデバイスとの接続の切断の要求を受諾したことを示す受諾情報を第2クライアント装置から受信した場合、第2クライアント装置とデバイスとの接続を切断し、第1クライアント装置とデバイスとを通信可能に接続するステップ(ステップS14)と、を含む。
【0139】
また、例えば、本発明は、クライアント装置として実現できるだけでなく、クライアント装置を構成する構成要素(例えば制御部11)が行うステップ(処理)を含む接続方法として実現できる。
【0140】
図11は、その他の実施の形態に係る接続方法の他の一例を示すフローチャートである。
【0141】
接続方法は、第1クライアント装置及び第2クライアント装置を含む複数のクライアント装置と、デバイスが接続されたデバイスサーバと、を備え、複数のクライアント装置のうちの一のクライアント装置を、デバイスサーバを介してデバイスと通信可能に接続するデバイスサーバシステムにおける第1クライアント装置が行う接続方法あって、問い合わせをデバイスサーバへ送信するステップ(ステップS21)と、問い合わせに対する応答として、第2クライアント装置がデバイスと通信可能に接続していることを示す接続情報をデバイスサーバから受信した場合、第2クライアント装置とデバイスとの接続の切断の要求を示す切断要求情報をデバイスサーバへ送信するステップ(ステップS22)と、第2クライアント装置とデバイスとの接続の切断の要求を受諾したことを示す受諾情報をデバイスサーバから受信した場合、第1クライアント装置とデバイスとを通信可能に接続することの要求を示す接続要求情報をデバイスサーバへ送信するステップ(ステップS23)と、を含む。
【0142】
また、例えば、各接続方法における各ステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本発明は、これらの方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【0143】
例えば、本発明が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
【0144】
また、上記実施の形態のデバイスサーバ及びクライアント装置に含まれる複数の構成要素は、それぞれ、専用又は汎用の回路として実現されてもよい。これらの構成要素は、1つの回路として実現されてもよいし、複数の回路として実現されてもよい。
【0145】
また、上記実施の形態のデバイスサーバ及びクライアント装置に含まれる複数の構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。LSIは、集積度の違いにより、システムLSI、スーパーLSI又はウルトラLSIと呼称される場合がある。
【0146】
また、集積回路はLSIに限られず、専用回路又は汎用プロセッサで実現されてもよい。上述したように、プログラム可能なFPGA、又は、LSI内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【0147】
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、デバイスサーバ及びクライアント装置に含まれる各構成要素の集積回路化が行われてもよい。
【0148】
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
【産業上の利用可能性】
【0149】
本発明は、複数のクライアント装置からネットワークを介してコンピュータ周辺機器等のデバイスを利用するデバイスサーバ等に利用できる。
【符号の説明】
【0150】
1、2 デバイスサーバシステム
10、20 クライアント装置
11、31 制御部
12、32 通信部
33 記憶部
30、30a デバイスサーバ
40 デバイス
100、100a、100b、200、200a、200b、300 ネットワークセグメント
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11