(57)【特許請求の範囲】
【請求項１】
第１のインタフェースに対応する第１のバスと、
第２のインタフェースに対応する第２のバスと、
記憶装置に対して発行する第１のプロトコルのローカルコマンドを伝達するためのコマンドであって、前記第１のインタフェースに準拠したフォーマットでパケット化される、前記ローカルコマンドの種類を示すコマンドタイプ情報を含む第２のプロトコルのリモートコマンドを他の電子機器から受信すると共に、当該リモートコマンドに対するレスポンスを前記他の電子機器に送信するリモートコマンド送受信手段と、
前記リモートコマンド送受信手段が前記他の電子機器から受信する前記リモートコマンドに含まれる前記コマンドタイプ情報に基づき、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドが、データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのいずれであるのかを判定し、前記データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのそれぞれについて予め定められた前記記憶装置との間の通信手順および前記他の電子機器との間の通信手順に従って、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドを含む１以上のローカルコマンドの前記記憶装置に対する発行と、前記記憶装置からのレスポンスを前記リモートコマンド送受信手段が前記他の電子機器に送信する前記リモートコマンドに対するレスポンスに含めた前記他の電子機器への伝達とを実行するコマンド処理手段と
を具備し、
前記コマンド処理手段は、前記記憶装置が前記第１のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットをそのまま前記記憶装置に対して転送し、前記第２のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットを前記第１のインタフェースに準拠したフォーマットから前記第２のインタフェースに準拠したフォーマットに変換して前記記憶装置に対して転送する
電子機器。
【請求項２】
第１のインタフェースに対応する第１のバスと、
第２のインタフェースに対応する第２のバスと、
記憶装置に対して発行する第１のプロトコルのローカルコマンドを伝達するためのコマンドであって、前記記憶装置が前記第１のバス経由で接続されている場合、前記第１のインタフェースに準拠したフォーマットでパケット化され、前記第２のバス経由で接続されている場合、前記第２のインタフェースに準拠したフォーマットでパケット化される、前記ローカルコマンドの種類を示すコマンドタイプ情報を含む第２のプロトコルのリモートコマンドを他の電子機器から受信すると共に、当該リモートコマンドに対するレスポンスを前記他の電子機器に送信するリモートコマンド送受信手段と、
前記リモートコマンド送受信手段が前記他の電子機器から受信する前記リモートコマンドに含まれる前記コマンドタイプ情報に基づき、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドが、データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのいずれであるのかを判定し、前記データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのそれぞれについて予め定められた前記記憶装置との間の通信手順および前記他の電子機器との間の通信手順に従って、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドを含む１以上のローカルコマンドの前記記憶装置に対する発行と、前記記憶装置からのレスポンスを前記リモートコマンド送受信手段が前記他の電子機器に送信する前記リモートコマンドに対するレスポンスに含めた前記他の電子機器への伝達とを実行するコマンド処理手段と
を具備し、
前記コマンド処理手段は、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットをそのまま前記記憶装置に対して転送する
電子機器。
【請求項３】
前記第１のプロトコルは、全二重方式の通信を行うためのプロトコルであり、前記第２のプロトコルは、半二重方式の通信を行うためのプロトコルである請求項１または２に記載の電子機器。
【請求項４】
前記リモートコマンドは、前記ローカルコマンドに対する前記記憶装置からのレスポンスの種類を示すレスポンスタイプ情報を含み、
前記コマンド処理手段は、前記リモートコマンドに含まれる前記レスポンスタイプ情報に基づき、前記記憶装置からのレスポンスを格納するための記憶領域を確保する
請求項１または２に記載の電子機器。
【請求項５】
前記コマンド処理手段は、前記リモートコマンドに含まれる前記レスポンスタイプ情報に基づき、前記記憶装置からのレスポンスのタイミングを認識する請求項４に記載の電子機器。
【請求項６】
前記コマンド処理手段は、前記リモートコマンドを格納するパケットのヘッダ内に定義されるフラグであって、前記リモートコマンドによって伝達される第１のローカルコマンドの発行前または発行後に前記記憶装置に対して第２のローカルコマンドを発行すべきことを伝達するためのフラグがオンに設定されていた場合、前記第１のローカルコマンドの発行前または発行後に前記記憶装置に対して前記第２のローカルコマンドを発行する請求項１または２に記載の電子機器。
【請求項７】
前記コマンド処理手段は、前記フラグがオンに設定されていた場合、前記第２のローカルコマンドの発行要否を判定し、必要と判定した場合に、前記記憶装置に対して前記第２のローカルコマンドを発行する請求項６に記載の電子機器。
【請求項８】
第１のインタフェースに対応する第１のバスと、第２のインタフェースに対応する第２のバスとを有する電子機器のリモートアクセス処理方法であって、
記憶装置に対して発行する第１のプロトコルのローカルコマンドを伝達するためのコマンドであって、前記第１のインタフェースに準拠したフォーマットでパケット化される、前記ローカルコマンドの種類を示すコマンドタイプ情報を含む第２のプロトコルのリモートコマンドを他の電子機器から受信し、
前記リモートコマンドに含まれる前記コマンドタイプ情報に基づき、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドが、データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのいずれであるのかを判定し、前記データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのそれぞれについて予め定められた前記記憶装置との間の通信手順および前記他の電子機器との間の通信手順に従って、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドを含む１以上のローカルコマンドの前記記憶装置に対する発行と、前記記憶装置からのレスポンスを前記リモートコマンド送受信手段が前記他の電子機器に送信する前記リモートコマンドに対するレスポンスに含めた前記他の電子機器への伝達とを実行し、
前記１以上のローカルコマンドの前記記憶装置に対する発行を実行することは、前記記憶装置が前記第１のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットをそのまま前記記憶装置に対して転送し、前記第２のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットを前記第１のインタフェースに準拠したフォーマットから前記第２のインタフェースに準拠したフォーマットに変換して前記記憶装置に対して転送することである
リモートアクセス処理方法。
【請求項９】
第１のインタフェースに対応する第１のバスと、第２のインタフェースに対応する第２のバスとを有する電子機器のリモートアクセス処理方法であって、
記憶装置に対して発行する第１のプロトコルのローカルコマンドを伝達するためのコマンドであって、前記記憶装置が前記第１のバス経由で接続されている場合、前記第１のインタフェースに準拠したフォーマットでパケット化され、前記第２のバス経由で接続されている場合、前記第２のインタフェースに準拠したフォーマットでパケット化される、前記ローカルコマンドの種類を示すコマンドタイプ情報を含む第２のプロトコルのリモートコマンドを他の電子機器から受信し、
前記リモートコマンドに含まれる前記コマンドタイプ情報に基づき、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドが、データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのいずれであるのかを判定し、前記データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのそれぞれについて予め定められた前記記憶装置との間の通信手順および前記他の電子機器との間の通信手順に従って、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドを含む１以上のローカルコマンドの前記記憶装置に対する発行と、前記記憶装置からのレスポンスを前記リモートコマンド送受信手段が前記他の電子機器に送信する前記リモートコマンドに対するレスポンスに含めた前記他の電子機器への伝達とを実行し、
前記１以上のローカルコマンドの前記記憶装置に対する発行を実行することは、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットをそのまま前記記憶装置に対して転送することである
リモートアクセス処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、第１の電子機器によって制御される記憶装置を第２の電子機器から第１の電子機器を介して遠隔制御するリモートアクセス技術に関する。
【背景技術】
【０００２】
近年、データ通信技術の向上やネットワーク環境の整備等に伴い、複数の電子機器間におけるデータのやり取りが様々な様態で行われている。このようなことから、複数の電子機器間におけるデータのやり取りに関する仕組みが、これまでも種々提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００４−５３１００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近では、オフィス環境に止まらず、家庭環境においても、テレビジョン受像機、ＨＤＤ（Hard disk drive）／ＤＶＤ（Digital versatile disc）レコーダ、パーソナルコンピュータ（ＰＣ：Personal computer）、プリンタ等の家庭用電化製品間を無線通信によってケーブルレスで接続する無線ＬＡＮ（Local area network）を構築することが行われ始めている。
【０００５】
例えば、ＨＤＤ／ＤＶＤレコーダやプリンタ等の中には、ＳＤカード（登録商標）等の可搬媒体を収納するためのスロットを備えたものも存在する。そのため、これらＨＤＤ／ＤＶＤレコーダやプリンタ等に収納された可搬媒体を、無線通信によってＰＣ等から遠隔制御したいという要望が高まっている。
【０００６】
ところで、複数の家庭用電化製品間における通信は、有線または無線に関わらず、一般に、半二重方式またはそれに準ずる通信方式である。一方、可搬媒体の中には、全二重方式のインタフェースを有するものも少なくない。ある家庭用電化製品に収納された（全二重方式のインタフェースを有する）可搬媒体を（半二重方式の通信を実行する）他の家庭用電化製品から遠隔制御する場合、前段の半二重通信部分と後段の全二重通信部分とを整合させる必要が生じるが、複数の家庭用電化製品間における通信、つまり前段の半二重通信部分の処理は、後段の全二重通信部分との整合を意識することのない軽微なものであることが好ましい。
【０００７】
また、可搬媒体の中には、新たな機能が追加され得るものも存在する。よって、新機能の追加に伴い、将来、後段の全二重通信部分で処理されるコマンドが増えたとしても、前段の半二重通信部分の処理を変更することなく運用できることが好ましい。
【０００８】
本発明は、第１の電子機器によって制御される記憶装置を第２の電子機器から第１の電子機器を介して遠隔制御するリモートアクセス機能を、利便性および拡張性に優れた仕組みとして実現する電子機器およびリモートアクセス処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態によれば、電子機器は、第１のインタフェースに対応する第１のバスと、第２のインタフェースに対応する第２のバスと、リモートコマンド送受信手段と、コマンド処理手段とを具備する。リモートコマンド送受信手段は、記憶装置に対して発行する第１のプロトコルのローカルコマンドを伝達するためのコマンドであって、前記第１のインタフェースに準拠したフォーマットでパケット化される、前記ローカルコマンドの種類を示すコマンドタイプ情報を含む第２のプロトコルのリモートコマンドを他の電子機器から受信すると共に、当該リモートコマンドに対するレスポンスを前記他の電子機器に送信する。コマンド処理手段は、前記リモートコマンド送受信手段が前記他の電子機器から受信する前記リモートコマンドに含まれる前記コマンドタイプ情報に基づき、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドが、データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのいずれであるのかを判定し、前記データ無しのコマンド、データアウトのコマンドまたはデータインのコマンドのそれぞれについて予め定められた前記記憶装置との間の通信手順および前記他の電子機器との間の通信手順に従って、前記リモートコマンドによって前記他の電子機器から伝達される前記ローカルコマンドを含む１以上のローカルコマンドの前記記憶装置に対する発行と、前記記憶装置からのレスポンスを前記リモートコマンド送受信手段が前記他の電子機器に送信する前記リモートコマンドに対するレスポンスに含めた前記他の電子機器への伝達とを実行する。コマンド処理手段は、前記記憶装置が前記第１のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットをそのまま前記記憶装置に対して転送し、前記第２のバス経由で接続されている場合、前記リモートコマンドに含まれる前記ローカルコマンドを格納するパケットを前記第１のインタフェースに準拠したフォーマットから前記第２のインタフェースに準拠したフォーマットに変換して前記記憶装置に対して転送する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態のリモートアクセスシステムの概略構成を示すブロック図。
【図２】第１実施形態のリモートアクセスシステムが適用する第１のプロトコルのコマンドタイプを示す図。
【図３】第１実施形態のリモートアクセスシステムが適用する第１のプロトコルのレスポンスタイプを示す図。
【図４】第１実施形態のリモートアクセスシステムにおけるデータ無しのコマンド実行シーケンスを示す図。
【図５】第１実施形態のリモートアクセスシステムにおけるデータアウトのコマンド実行シーケンスを示す図。
【図６】第１実施形態のリモートアクセスシステムにおけるデータインのコマンド実行シーケンスを示す図。
【図７】第２実施形態のリモートアクセスシステムにおけるACMDフラグをオンにした場合のコマンド実行シーケンスを示す図。
【図８】第２実施形態のリモートアクセスシステムにおけるtransフラグをオンにした場合のコマンド実行シーケンスを示す図。
【図９】第２実施形態のリモートアクセスシステムにおけるstbyフラグをオンにした場合のコマンド実行シーケンスを示す図。
【図１０】第２実施形態のリモートアクセスシステムにおけるSTOPフラグをオンにした場合のコマンド実行シーケンスを示す図。
【図１１】第２実施形態のリモートアクセスシステムにおけるBLKCOUNTフラグをオンにした場合のコマンド実行シーケンスを示す図。
【図１２】第３実施形態のリモートアクセスシステムの概略構成を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、実施の形態について図面を参照して説明する。
【００１２】
（第１実施形態）
まず、第１実施形態について説明する。
【００１３】
図１は、本実施形態に係るリモートアクセスシステムの概略構成を示すブロック図である。図１に示すように、本実施形態のリモートアクセスシステムは、大きく分けて、リモートホスト１、ローカルホスト２および可搬デバイス３によって構成される。リモートホスト１は、例えばＰＣであり、ローカルホスト２は、例えばＨＤＤ／ＤＶＤレコーダである。可搬デバイス３は、例えばＳＤカード（登録商標）であり、例えばローカルホスト２に設けられたスロットに取り外し自在に収納される。
【００１４】
ローカルホスト２は、ホストコントローラ２５を介して可搬デバイス３を直接制御している。例えばローカルホスト２に設けられたスロットに収容された可搬デバイス３は、このホストコントローラ２５と、コマンド／レスポンスポートおよびデータポートの物理伝送路を介して接続される。そのために、ホストコントローラ２５と可搬デバイス３との間の通信は、コマンド／レスポンスポートとデータポートとが異なるデータ線構成を前提に設計されているコマンド、レスポンス、データ送受信体系の第１のプロトコル（全二重方式）が適用されている。また、図示していないが、ローカルホスト２からは、可搬デバイス３に対して、電源およびクロックも別の伝送路を用いて供給されている。ローカルホスト２に可搬デバイス３が接続されると、ローカルホスト２によって自動的に可搬デバイス３の初期化処理が行われ、可搬デバイス３は、スタンバイ（stby）状態になる。
【００１５】
リモートホスト１とローカルホスト２とは、有線または無線の通信手段によって接続されている。当該有線または無線の通信手段による接続用のインタフェースとして、リモートホスト１とローカルホスト２との双方が、リモートコマンド送受信部（１４，２１）を有している。そして、リモートコマンド送受信部（１４，２１）間の通信は、入力ポートと出力ポートとが異なるデータ線構成を前提に設計されているコマンド、レスポンス、データ送受信体系の第２のプロトコル（半二重方式）が適用されている。
【００１６】
従って、リモートホスト１からローカルホスト２を介して可搬デバイス３を遠隔制御する場合に実行される通信には、第２のプロトコルが適用される半二重通信部分と第１のプロトコルが適用される全二重通信部分とが混在することになる。そこで、本実施形態のリモートアクセスシステムは、リモートホスト１からローカルホスト２を介して可搬デバイス３を遠隔制御するリモートアクセス機能を、利便性および拡張性に優れた仕組みとして実現したものであり、以下、この点について詳述する。
【００１７】
前述した（コマンド／レスポンスポートとデータポートとが異なるデータ線構成を前提に設計されているコマンド、レスポンス、データ送受信体系の）第１のプロトコルは、図２に示すように、br、bcr、ac、adtcの４つのコマンドタイプを持つ。brは、”Broadcast commands, no response”、bcrは、”Broad commands with response”、acは、”Addressed (point-to-point) commands”、adtcは、”Addressed (point-to-point) data transfer commands”と定義されている。また、第１のプロトコルは、図３に示すように、r1、r1b、r2、r3、r4、r5、r6、r7の８つのレスポンスタイプを持つ。r1は、”Normal Response Command”、r1bは、”Normal Response Command with busy”、r2は、”CID, CSD register”、r3は、”OCR register”、r4は、”IO_SEND_OP_COND response”、r5は、”IO_RW_DIRECT response”、r6は、”Published RCA response”、r7は、”Card interface condition”と定義されており、かつ、それぞれデータフォーマットとデータサイズとが定義されている。
【００１８】
本実施形態のリモートアクセスシステムでは、リモート環境からの可搬デバイス３に対するアクセスを、以下の３体系に整理する。
【００１９】
（１）データ無しのコマンド実行
（２）データアウトのコマンド実行
（３）データインのコマンド実行
上記（１）は、br、bcr、acのコマンドタイプに対応する。上記（２）は、adtcのコマンドタイプにおいてホスト機器がデータを書き込む場合である。また、上記（３）は、adtcのコマンドタイプにおいてホスト機器がデータを読み出す場合である。
【００２０】
リモートホスト１は、ローカルホスト２を介して可搬デバイス３を遠隔制御する際、可搬デバイス３に発行する第１のプロトコルのコマンド（ローカルコマンド）を、第２のプロトコルのコマンド（リモートコマンド）でローカルホスト２に伝達する。ローカルコマンドは、コマンド番号と引数とで構成される。この際、リモートホスト１は、ローカルコマンドのコマンドタイプをリモートコマンドのヘッダ情報として併せて伝達する。
【００２１】
一方、ローカルホスト２は、このコマンドタイプから、伝達されたローカルコマンドが上記（１）〜（３）の３体系のいずれに属するのかを判定し、判定した体系に対応する手順に従って、伝達されたローカルコマンドを含む１以上のローカルコマンドを可搬デバイス３に対して発行する。
【００２２】
また、リモートホスト１は、このコマンドタイプに加えて、ローカルコマンドに対して期待される可搬デバイス３からのレスポンスの種類を示すレスポンスタイプをリモートコマンドのヘッダ情報としてローカルホスト２にさらに伝達する。前述したように、レスポンスタイプそれぞれにデータサイズが定義されているので、ローカルホスト２は、伝達されたレスポンスタイプに基づき、可搬デバイス３からのレスポンスを格納するための記憶領域を確保する。さらに、このレスポンスタイプによって、ローカルホスト２は、レスポンスのタイミングを認識することができる。
【００２３】
ここで、図１を再び参照して、本実施形態のリモートアクセスシステムにおけるリモートホスト１およびローカルホスト２の各部の基本的な動作について説明する。
【００２４】
リモートホスト１上で動作するアプリケーションプログラム１１が、可搬デバイス３の制御を行う場合、コマンド生成部１２にて、可搬デバイス３を制御するためのコマンドが生成される。制御対象の可搬デバイス３がリモートの環境に存在する場合、コマンド生成部１２にて生成されたコマンドは、リモートコマンド生成部１３にて、生成されたコマンドに応じて、リモートコマンドに変換される。この時、ヘッダ情報として、上記コマンドタイプとレスポンスタイプとが付与される。変換されたリモートコマンドは、リモートコマンド送受信部１４によって、ローカルホスト２に送信される。
【００２５】
ローカルホスト２は、リモートホスト１からのリモートコマンドをリモートコマンド送受信部２１によって受信し、コマンドヘッダ解釈部２２に転送する。コマンドヘッダ解釈部２２は、このリモートコマンド送受信部２１によって受信されたリモートコマンドについてヘッダの解釈を実行する。コマンドヘッダ解釈部２２は、リモートコマンドヘッダから解釈したコマンドタイプとリモートコマンド本体とをローカルコマンド生成部２４、リモートコマンドヘッダから解釈したレスポンスタイプをレスポンス解釈部２３にそれぞれ転送する。
【００２６】
ローカルコマンド生成部２４は、コマンドヘッダ解釈部２２から受け取ったコマンドタイプとリモートコマンド本体とから可搬デバイス３を制御するためのコマンド群を生成する。ローカルコマンド生成部２４は、この生成したコマンド群を、コマンドヘッダ解釈部２２から受け取ったコマンドタイプから特定される上記（１）〜（３）のいずれかの体系に対応する手順に従って、ホストコントローラ２５経由で可搬デバイス３に発行する。
【００２７】
可搬デバイス３内にて実行された結果は、ホストコントローラ２５に戻され、レスポンス解釈部２３にて確認される。レスポンス解釈部２３は、コマンドヘッダ解釈部２２から受け取ったレスポンスタイプに対応する、期待されるレスポンスデータフォーマットの場合、この結果をリモートコマンド送受信部２１に送る。これにより、この結果はリモートホスト１に転送される。リモートホスト１では、レスポンス解釈部１５にてレスポンスが解釈され、最終的に、アプリケーションプログラム１１に実行結果が通知される。
【００２８】
以上が、本実施形態のリモートアクセスシステムにおけるリモートホスト１およびローカルホスト２の各部の基本的な動作である。
【００２９】
次に、上記（１）〜（３）の各体系のコマンド実行シーケンスを各々説明する。
【００３０】
図４は、データ無しのコマンド実行シーケンスを示す図である。
【００３１】
データなしのコマンドタイプ（br、bcr、ac)の場合、リモートホスト１は、ローカルホスト２に対して、コマンドタイプ、コマンド番号、引数およびレスポンスタイプを送信する（図４のａ１）。一方、ローカルホスト２は、受信したコマンドタイプがデータなしのコマンドタイプ（br、bcr、ac)の場合、受信したコマンド番号および引数を可搬デバイス３に送信する（図４のａ２，ａ３）。そして、ローカルホスト２は、可搬デバイス３から返却されたレスポンスをリモートホスト１に送信する（図４のａ４〜ａ６）。なお、レスポンスがないコマンドの場合、ローカルホスト２は、レスポンスデータが空のレスポンスをリモートホスト１に送信する。
【００３２】
図５は、データアウトのコマンド実行シーケンスを示す図である。
【００３３】
データアウトのコマンドタイプ(adtc)の場合、リモートホスト１は、ローカルホスト２に対して、コマンドタイプ、コマンド番号、引数、レスポンスタイプおよびデータを送信する（図５のｂ１）。一方、ローカルホスト２は、受信したコマンドタイプがデータアウトのコマンドタイプ(adtc)の場合、まず、受信したコマンド番号および引数を可搬デバイス３に送信する（図５のｂ２，ｂ３）。ローカルホスト２は、可搬デバイス３からレスポンスが返却されたら（図５のｂ４，ｂ５）、受信したデータの可搬デバイス３への送信を実行する（図５のｂ６，ｂ７）。ローカルホスト２は、受信したデータを可搬デバイス３へ送信し終えると、自動的に、ストップコマンドであるCMD13を発行する（図５のｂ８，ｂ９）。ローカルホスト２は、このCMD13でデータの送信終了およびエラーが発生していないことを確認し（図５のｂ１０，ｂ１１）、実行済みのコマンドのレスポンスをリモートホスト１に送信する（図５のｂ１２）。
【００３４】
図６は、データインのコマンド実行シーケンスを示す図である。
【００３５】
データインのコマンドタイプ(adtc)の場合、リモートホスト１は、ローカルホスト２に対して、コマンドタイプ、コマンド番号、引数およびレスポンスタイプを送信する（図６のｃ１）。一方、ローカルホスト２は、受信したコマンドタイプがデータインのコマンドタイプ(adtc)の場合、まず、受信したコマンド番号および引数を可搬デバイス３に送信する（図６のｃ２，ｃ３）。また、ローカルホスト２は、可搬デバイス３から返却されるレスポンスを受信する（図６のｃ４，ｃ５）。ローカルホスト２は、可搬デバイス３からレスポンスを受信し終えると（図６のｃ６，ｃ７）、自動的に、ストップコマンドであるCMD13を発行する（図６のｃ８，ｃ９）。ローカルホスト２は、このCMD13でデータの受信終了およびエラーが発生していないことを確認し（図６のｃ１０，ｃ１１）、実行済みのコマンドのレスポンスと受信したデータとをリモートホスト１に送信する（図６のｃ１２）。
【００３６】
以上のように、本実施形態のリモートアクセスシステムは、リモートホスト１からローカルホスト２にコマンドタイプおよびレスポンスタイプをコマンド（コマンド番号および引数）と同時に伝達する。ローカルホスト２は、伝達されたコマンドタイプおよびレスポンスタイプに基づき、コマンド実行シーケンスや、レスポンスのタイミング、サイズ等を認識する。これにより、リモートホスト１とローカルホスト２との間の通信を軽微なものとすることができる。また、将来、可搬デバイス３のコマンドが増えても、上記（１）〜（３）の３体系のいずれかに合致すれば、追加の実装が必要ない。
【００３７】
また、データアウトにおいては、コマンドとデータとを一緒にリモートホスト１からローカルホスト２に伝達することによって、リモートホスト１とローカルホスト２とが無線接続されていた場合、当該無線区間上でのプロトコル情報のやりとりを削減することができる。同様に、データインにおいても、レスポンスとデータとを一緒にローカルホスト２からリモートホスト１に伝達することによって、無線区間上でのプロトコル情報のやりとりを削減することができる
（第２実施形態）
次に、第２実施形態について説明する。
【００３８】
可搬デバイス３は、特定のコマンドにおいて、そのコマンドの前または後に固有のコマンドの実行を必要とする場合がある。本実施形態のリモートアクセスシステムは、前段の半二重通信部分でのコマンドおよびレスポンスの送受信を省略し、プロトコルのオーバヘッド削減を実現するために、当該特定のコマンドをリモートホスト１からローカルホスト２に伝達するためのリモートコマンドのヘッダにフラグを設定することで、ローカルホスト２と可搬デバイス３との間で前述の固有のコマンドを自動実行させる仕組みをさらに備える。
【００３９】
図７は、ACMDフラグをオンにした場合のコマンド実行シーケンスを示す図である。
【００４０】
可搬デバイス３に対してアプリケーション（拡張）コマンドを発行する場合、その前にCMD55を発行する必要がある。リモートホスト１は、アプリケーションコマンドをローカルホスト２に伝達する際、ACMDフラグをオンに設定する（図７のｄ１）。ローカルホスト２は、ACMDフラグがオンの場合、指定されたコマンドの前に、CMD55を可搬デバイス３に対して発行する（図７のｄ２，ｄ３）。可搬デバイス３からレスポンスが返却されたら（図７のｄ４，ｄ５）、ローカルホスト２は、伝達されたコマンドを可搬デバイス３に対して発行する（図７のｄ６，ｄ７）。ローカルホスト２は、伝達されたコマンドに対して可搬デバイス３から返却されたレスポンスをリモートホスト１に送信する（図７のｄ８〜ｄ１０）。
【００４１】
図８は、transフラグをオンにした場合のコマンド実行シーケンスを示す図である。
【００４２】
可搬デバイス３のコマンドの中には、可搬デバイス３がtrans状態にあるときに発行されるべきコマンドが存在する。この種のコマンドを発行する際、可搬デバイス３がstby状態であったならば、その前に、可搬デバイス３をstby状態からtrans状態に遷移させるためのCMD7を発行する必要がある。リモートホスト１は、この種のコマンドをローカルホスト２に伝達する際、transフラグをオンに設定する（図８のｅ１）。
【００４３】
ローカルホスト２は、可搬デバイス３がstby状態またはtrans状態のいずれの状態であるのかを把握しているので、transフラグがオンの場合、可搬デバイス３がstby状態であったならば、CMD7を発行してtrans状態に遷移させる（図８のｅ２，ｅ３）。CMD7に対するレスポンスが可搬デバイス３から返却されたら（図８のｅ４，ｅ５）、ローカルホスト２は、伝達されたコマンドを可搬デバイス３に対して発行する（図８のｅ６，ｅ７）。可搬デバイス３が元々trans状態であった場合、CMD7の発行は不要であることは言うまでもない。ローカルホスト２は、伝達されたコマンドに対して可搬デバイス３から返却されたレスポンスをリモートホスト１に送信する（図８のｅ８〜ｅ１０）。
【００４４】
図９は、stbyフラグをオンにした場合のコマンド実行シーケンスを示す図である。
【００４５】
可搬デバイス３のコマンドの中には、可搬デバイス３がstby状態にあるときに発行されるべきコマンドが存在する。この種のコマンドを発行する際、可搬デバイス３がtrans状態であったならば、その前に、可搬デバイス３をtrans状態からstby状態に遷移させるためのCMD7を発行する必要がある。つまり、CMD7は、可搬デバイス３をstby状態とtrans状態との間で遷移させるためのコマンドである。リモートホスト１は、この種のコマンドをローカルホスト２に伝達する際、stbyフラグをオンに設定する（図９のｆ１）。
【００４６】
ローカルホスト２は、可搬デバイス３がstby状態またはtrans状態のいずれの状態であるのかを把握しているので、stbyフラグがオンの場合、可搬デバイス３がtrans状態であったならば、CMD7を発行してstby状態に遷移させる（図９のｆ２，ｆ３）。CMD7に対するレスポンスが可搬デバイス３から返却されたら（図９のｆ４，ｆ５）、ローカルホスト２は、伝達されたコマンドを可搬デバイス３に対して発行する（図９のｆ６，ｆ７）。可搬デバイス３が元々stby状態であった場合、CMD7の発行は不要であることは言うまでもない。ローカルホスト２は、伝達されたコマンドに対して可搬デバイス３から返却されたレスポンスをリモートホスト１に送信する（図９のｆ８〜ｆ１０）。
【００４７】
図１０は、STOPフラグをオンにした場合のコマンド実行シーケンスを示す図である。
【００４８】
例えば、可搬デバイス３に対して複数ブロックのデータライト・リードを行う場合、通常、転送ストップコマンドであるCMD12を最後に発行する。そこで、例えば複数ブロックのデータライトを伴うコマンドをローカルホスト２に伝達する際、リモートホスト１は、STOPフラグをオンに設定する（図１０のｇ１）。
【００４９】
第１実施形態で説明したように、データアウトのコマンドタイプの場合、ローカルホスト２は、まず、受信したコマンド番号および引数を可搬デバイス３に送信し（図１０のｇ２，ｇ３）、可搬デバイス３からレスポンスが返却されたら（図１０のｇ４，ｇ５）、受信したデータの可搬デバイス３への送信を実行する（図１０のｇ６，ｇ７）。そして、STOTフラグがオンに設定されている場合、ローカルホスト２は、受信したデータを可搬デバイス３へ送信し終えた際、転送ストップコマンドであるCMD12を自動的に発行する（図１０のｇ８，ｇ９）。このCMD12に対するレスポンスが可搬デバイス３から返却されたら（図１０のｇ１０，ｇ１１）、ローカルホスト２は、実行済みのコマンドのレスポンスをリモートホスト１に送信する（図１０のｇ１２）。
【００５０】
図１１は、BLKCOUNTフラグをオンにした場合のコマンド実行シーケンスである。
【００５１】
可搬デバイス３のコマンドのうち、CMD18またはCMD25は、データアウトのコマンドタイプであって、データサイズをCMD23によって事前に通知するためのコマンドである。リモートホスト１は、これらのコマンドをローカルホスト２に伝達する際、BLKCOUNTフラグをオンに設定する（図１１のｈ１）。
【００５２】
BLKCOUNTフラグがオンの場合、ローカルホスト２は、リモートホスト１から伝達されたデータのデータサイズを事前に可搬デバイス３に通知するためにCMD23を発行する（図１１のｈ２，ｈ３）。このCMD23に対するレスポンスが可搬デバイス３から返却されたら（図１１のｈ４，ｈ５）、ローカルホスト２は、伝達されたコマンドであるCMD18またはCMD25を可搬デバイス３に対して発行する（図１１のｈ６，ｈ７）。ローカルホスト２は、可搬デバイス３からレスポンスが返却されたら（図１１のｈ８，ｈ９）、受信したデータの可搬デバイス３への送信を実行する（図１１のｈ１０，ｈ１１）。ローカルホスト２は、受信したデータを可搬デバイス３へ送信し終えると、実行済みのコマンドのレスポンスをリモートホスト１に送信する（図１１のｈ１２）。
【００５３】
以上のように、本実施形態のリモートアクセスシステムは、特定のコマンドの前後に必要とされるコマンド（引数なし、または伝達されたコマンドの引数から推測できるもの）については、リモートホスト１とローカルホスト２との間の通信パケットのヘッダにフラグを設定することで、リモートホスト１とローカルホスト２との間の通信を省略し、ローカルホスト２と可搬デバイス３との間で自動的かつ適時に実行させることを実現する。
【００５４】
（第３実施形態）
次に、第３実施形態について説明する。
【００５５】
図１２は、本実施形態に係るリモートアクセスシステムの概略構成を示すブロック図である。図１２に示すように、本実施形態のリモートアクセスシステムにおいては、ローカルホスト２のホストコントローラ２５が、２つの接続インタフェース（ＳＤバス、ＵＨＳ−IIバス）に対応している。
【００５６】
ＳＤバスでは、コマンドはCommand Token Format、レスポンスはResponse Token Formatにてパケット化される。一方、ＵＨＳ−IIバスでは、コマンドおよびレスポンスの双方がUHS-II Packet Formatにてパケット化される。ローカルホスト２のホストコントローラ２５が、１つの接続インタフェースのみに対応する場合、リモートホスト１とローカルホスト２との間のリモート区間でのデータ形式も、当該１つの接続インタフェースのデータ形式に対応させればよい。これに対して、ローカルホスト２のホストコントローラ２５が、２つの接続インタフェースに対応する場合には、リモートホスト１とローカルホスト２との間のリモート区間でのデータ形式について何らかの工夫が必要となる。このような状況下において、本実施形態のリモートアクセスシステムは、リモートホスト１とローカルホスト２との間のリモート区間でのデータ形式として、以下の４形式のいずれかを採用する。
【００５７】
（ａ）リモートホスト１は、独自形式にて、コマンドタイプ、ローカルコマンド（コマンド番号および引数）、レスポンスタイプ、データを伝達するためのリモートコマンドをローカルホスト２に対して発行する。ローカルホスト２は、ホストコントローラ２５において、伝達されたコマンドがＳＤバス経由で接続された可搬デバイス３宛てまたはＵＨＳ−IIバス経由で接続された可搬デバイス３宛てかに応じて、当該コマンドを各々の接続インタフェースのデータ形式にてパケット化する。
【００５８】
（ｂ）リモートホスト１は、（ＳＤバスの）Command Token Format形式にて、コマンドタイプ、コマンド（コマンド番号および引数）、レスポンスタイプ、データを伝達するためのリモートコマンドをローカルホスト２に対して発行する。ローカルホスト２は、伝達されたコマンドがＳＤバス経由で接続された可搬デバイス３宛てであれば、ホストコントローラ２５によって、そのまま可搬デバイス３に送信する。この場合、可搬デバイス３からResponse Token Format形式のレスポンスが返却されるので、そのままリモートコマンドのレスポンスに含めてリモートホスト１に伝達する。
【００５９】
一方、伝達されたコマンドがＵＨＳ−IIバス経由で接続された可搬デバイス３宛てであれば、ホストコントローラ２５において、当該コマンドをUHS-II Packet Formatのパケットに変換して可搬デバイス３に送信する。この場合、可搬デバイス３からUHS-II Packet Format形式のレスポンスが返却されるので、ホストコントローラ２５において、当該レスポンスをResponse Token Format形式に変換し、リモートコマンドのレスポンスに含めてリモートホスト１に伝達する。
【００６０】
（ｃ）リモートホスト１は、（ＵＨＳ−IIバスの）UHS-II Packet Format形式にて、コマンドタイプ、コマンド（コマンド番号および引数）、レスポンスタイプ、データを伝達するためのリモートコマンドをローカルホスト２に対して発行する。ローカルホスト２は、伝達されたコマンドがＵＨＳ−IIバス経由で接続された可搬デバイス３宛てであれば、ホストコントローラ２５によって、そのまま可搬デバイス３に送信する。この場合、可搬デバイス３からUHS-II Packet Format形式のレスポンスが返却されるので、そのままリモートコマンドのレスポンスに含めてリモートホスト１に伝達する。
【００６１】
一方、伝達されたコマンドがＳＤバス経由で接続された可搬デバイス３宛てであれば、ホストコントローラ２５において、当該コマンドをCommand Token Formatのパケットに変換して可搬デバイス３に送信する。この場合、可搬デバイス３からResponse Token Format形式のレスポンスが返却されるので、ホストコントローラ２５において、当該レスポンスをUHS-II Packet Format形式に変換し、リモートコマンドのレスポンスに含めてリモートホスト１に伝達する。
【００６２】
（ｄ）リモートホスト１は、ローカルホスト２に接続された可搬デバイス３のバスを認識して、コマンドタイプ、コマンド（コマンド番号および引数）、レスポンスタイプ、データを伝達するためのリモートコマンドを、適切なバケット形式にてローカルホスト２に送出する。ローカルホスト２は、伝達されたコマンドを可搬デバイス３に、また、可搬デバイス３から返却されたレスポンスをリモートホスト１にパススルーするだけでよい。
【００６３】
上記（ａ）〜（ｄ）のいずれの形式を採用した場合であっても、ローカルコマンドを３つの体系に分類することによって、リモートホスト１とローカルホスト２との間の通信は軽微なものとなる。
【００６４】
このように、第１実施形態乃至第３実施形態のリモートアクセスシステムによれば、第１の電子機器によって制御される記憶装置を第２の電子機器から第１の電子機器を介して遠隔制御するリモートアクセス機能を、利便性および拡張性に優れた仕組みとして実現できる。
【００６５】
なお、第１実施形態乃至第３実施形態の可搬媒体はＳＤカード（登録商標）を例に説明したが、前記第１のプロトコルを具備する可搬媒体としてはメモリ機能を持つメモリカードおよび通信機能を持つＩＯカード、およびメモリ機能と通信機能の両方をもつコンボカードがこれら可搬媒体に含まれる。また、可搬媒体は可搬可能な形態でなくてもよく、電子機器に内蔵される形態で前記第１のプロトコルを具備する媒体でもよい。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１…リモートホスト、２…ローカルホスト、３…可搬デバイス、１１…アプリケーションプログラム、１２…コマンド生成部、１３…リモートコマンド生成部、１４…リモートコマンド送受信部、１５…レスポンス解釈部、２１…リモートコマンド送受信部、２２…コマンドヘッダ解釈部、２３…レスポンス解釈部、２４…ローカルコマンド生成部、２５…ホストコントローラ。
【図１】
0005458193.tif 000002
【図２】
0005458193.tif 000003
【図３】
0005458193.tif 000004
【図４】
0005458193.tif 000005
【図５】
0005458193.tif 000006
【図６】
0005458193.tif 000007
【図７】
0005458193.tif 000008
【図８】
0005458193.tif 000009
【図９】
0005458193.tif 000010
【図１０】
0005458193.tif 000011
【図１１】
0005458193.tif 000012
【図１２】
0005458193.tif 000013