(57)【特許請求の範囲】
【請求項１】
互いに無線接続されるデータ記録装置とホスト装置からなる通信システムにおいて、前記ホスト装置内に存在し、メモリに対するデータの読み出し又は書き込みを制御するアクセス装置であって、
データを格納するメモリと、
前記メモリ上に構築されたファイルシステムにより管理されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を、前記データ記録装置と前記ホスト装置内部の中央制御部との間で行うデバイスコントローラと、
を備え、
前記デバイスコントローラは、前記データ制御権を前記データ記録装置に付与した後、前記データ記録装置からデータが転送されている間に前記データの転送の中断要求を前記ホスト装置内部の中央制御部から受信したとき、前記データ記録装置に前記データ制御権を解放させると共に、前記データ記録装置に対して前記メモリに格納されるデータのファイルシステム管理情報に不整合が生じているかどうかを判定させ、
前記ファイルシステム管理情報に不整合が生じていると判定された場合には、前記データ記録装置に前記データ制御権を戻し、
前記データ記録装置は、
戻された前記データ制御権に応じて前記ファイルシステム管理情報の不整合を解消した後、前記データ制御権を解放する、
アクセス装置。
【請求項２】
前記デバイスコントローラは、
前記ファイルシステム管理情報に不整合が生じていると判定されて前記データ記録装置に前記データ制御権を戻すとき、前記ファイルシステム管理情報の不整合を解消させる指令信号を生成し、前記データ記録装置に送信する、
請求項１に記載のアクセス装置。
【請求項３】
前記デバイスコントローラは、前記データ転送の中断要求を前記中央制御部から受信した場合、前記データ記録装置に対して前記データ制御権の解放を要求すると共に、前記データ記録装置からの前記データ転送を中断させる指令信号を生成し、前記データ記録装置に送信する、
請求項１に記載のアクセス装置。
【請求項４】
前記デバイスコントローラは、前記データ転送の中断要求を前記中央制御部から受信した場合、前記データ記録装置に対して前記データ制御権の解放を要求すると共に、前記データ記録装置からの前記データ転送を一時停止させる指令信号を生成し、前記データ記録装置に送信する、
請求項１に記載のアクセス装置。
【請求項５】
前記デバイスコントローラは、前記ファイルシステム管理情報に不整合が生じていると判定された場合、前記データ記録装置に前記データ制御権を戻すと共に、前記データ転送を再開させる指令信号を生成し、前記データ記録装置に送信する、
請求項４に記載のアクセス装置。
【請求項６】
前記デバイスコントローラは、前記データ転送の中断要求を前記中央制御部から受信した場合、前記データ記録装置からのデータ転送の状態に応じて、前記データ転送を中断させる指令信号か一時停止させる指令信号かのいずれかを生成し、前記データ記録装置に送信する、
請求項１に記載のアクセス装置。
【請求項７】
前記デバイスコントローラは、前記データ記録装置が前記データ転送を一時停止している間に、前記中央制御部からの指示により前記メモリに対する所定の処理を実行し、
前記所定の処理は、前記メモリからのデータの読み出し及び前記データ記録装置からのデータ転送に関係しないアドレスへの書き込みの少なくともいずれかである、
請求項４から６のいずれかに記載のアクセス装置。
【請求項８】
互いに無線接続されるデータ記録装置とホスト装置からなる通信システムにおいて、前記ホスト装置内に存在し、メモリに対するデータの読み出し又は書き込みを制御するアクセス装置であって、
データを格納するメモリと、
前記メモリ上に構築されたファイルシステムにより管理されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を、前記データ記録装置と前記ホスト装置内部の中央制御部との間で行うデバイスコントローラと、
を備え、
前記デバイスコントローラは、前記データ制御権を前記データ記録装置に付与した後、前記データ記録装置からデータが転送されている間に前記データ転送の中断要求を前記ホスト装置内部の中央制御部から受信したとき、前記データ記録装置に対して前記データ転送を中断させる指令信号を生成して前記データ記録装置に送信し、
前記データ記録装置は、前記データ転送を中断させる指令信号を前記ホスト装置内の前記アクセス装置から受信した場合、前記メモリに格納されるデータのファイルシステム管理情報の不整合を解消してから、前記データ制御権を解放する、
アクセス装置。
【請求項９】
請求項１又は請求項８に記載のアクセス装置と、
前記データ記録装置に前記データ制御権が付与されている場合に、ユーザーによる操作に応じて前記アクセス装置の前記デバイスコントローラに対し、前記データ記録装置からの前記データ転送の中断要求を送信すると共に、前記デバイスコントローラより前記データ制御権を取得し、前記メモリに対するデータの書き込み又は読み出しを行う前記中央制御部と、
前記中央制御部による処理の結果を表示する表示部と、
ユーザーによる操作を受け付ける操作部と、
を備える、通信機器。
【請求項１０】
請求項１に記載のアクセス装置と、
前記アクセス装置と無線接続される前記データ記録装置と、
を備える通信システムであって、
前記データ記録装置は、
データを格納するデータ格納部と、
前記データ格納部に格納されたデータの転送を制御するデータ転送制御部と、
を有し、
前記データ転送制御部は、
前記アクセス装置より前記アクセス装置内の前記メモリ上に構築されたファイルシステムのファイルシステム管理情報を取得し、
前記ファイルシステム管理情報に基づいて、前記メモリ上にファイルを生成し、前記生成したファイルに対するデータ記録として、前記データ格納部に格納されたデータを前記アクセス装置に転送し、
前記アクセス装置にデータを転送している間に前記データ転送の中断要求を前記アクセス装置より受信すると、前記データ転送を中断し、
前記データ転送の中断後、前記ファイルシステム管理情報の不整合の有無を判定し、前記判定の結果を前記アクセス装置に送信する、
通信システム。
【請求項１１】
請求項８に記載のアクセス装置と、
前記アクセス装置と無線接続される前記データ記録装置と、
を備える通信システムであって、
前記データ記録装置は、
データを格納するデータ格納部と、
前記データ格納部に格納されたデータの転送を制御するデータ転送制御部と、
を有し、
前記データ転送制御部は、
前記アクセス装置より前記アクセス装置内の前記メモリ上に構築されたファイルシステムのファイルシステム管理情報を取得し、
前記ファイルシステム管理情報に基づいて、前記メモリ上にファイルを生成し、前記生成したファイルに対するデータ記録として、前記データ格納部に格納されたデータを前記アクセス装置に転送し、
前記アクセス装置にデータを転送している間に前記データ転送の中断要求を前記アクセス装置より受信すると、前記ファイルシステム管理情報の不整合の有無を判定し、
前記ファイルシステム管理情報に不整合があると判定した場合、前記ファイルシステム管理情報の不整合を解消させるための情報を前記アクセス装置に送信する、
通信システム。
【請求項１２】
互いに無線接続されるデータ記録装置とホスト装置からなる通信システムにおいて、前記ホスト装置内に存在し、メモリに対するデータの読み出し又は書き込みを制御するアクセス装置であって、データを格納するメモリと、前記メモリ上に構築されたファイルシステムにより管理されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を、前記データ記録装置と前記ホスト装置内部の中央制御部との間で行うデバイスコントローラと、を有するアクセス装置を用いたデータアクセス方法であって、
前記デバイスコントローラにより、前記データ記録装置から前記アクセス装置内の前記メモリにデータが転送されている間に前記データ転送の中断要求を前記中央制御部から受信し、
前記データ記録装置により、前記データ制御権を解放し、
前記デバイスコントローラにより、前記メモリに格納されるデータに関するファイルシステム管理情報に不整合が生じているかどうかを前記データ記録装置から通知される情報を元に判定し、
前記デバイスコントローラにより、前記ファイルシステム管理情報に不整合が生じていると判定した場合は、前記データ記録装置に前記データ制御権を戻し、
前記データ記録装置により、戻された前記データ制御権に応じて前記ファイルシステム管理情報の不整合を解消し、
前記データ記録装置により、前記データ制御権を解放する、
ことを含む、データアクセス方法。
【請求項１３】
更に、前記アクセス装置と無線接続される前記データ記録装置を用い、
前記アクセス装置より前記アクセス装置内の前記メモリ上に構築されたファイルシステムのファイルシステム管理情報を取得し、
前記ファイルシステム管理情報に基づいて、前記メモリ上にファイルを生成し、前記生成したファイルに対するデータ記録として、前記データ記録装置に格納されたデータを前記アクセス装置に転送し、
前記アクセス装置にデータを転送している間に前記データ転送の中断要求を前記アクセス装置より受信すると、前記データの転送を中断し、
前記データ転送の中断後、前記ファイルシステム管理情報の不整合の有無を判定し、
前記判定の結果を前記アクセス装置に送信する、
ことを含む、請求項１２に記載のデータアクセス方法。
【請求項１４】
互いに無線接続されるデータ記録装置とホスト装置からなる通信システムにおいて、前記ホスト装置内に存在し、メモリに対するデータの読み出し又は書き込みを制御するアクセス装置であって、データを格納するメモリと、前記メモリ上に構築されたファイルシステムにより管理されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を、前記データ記録装置と前記ホスト装置内部の中央制御部との間で行うデバイスコントローラと、を有するアクセス装置を用いたデータアクセス方法であって、
前記デバイスコントローラにより、前記データ制御権を前記データ記録装置に付与した後、前記データ記録装置からデータが転送されている間に前記データ転送の中断要求を前記ホスト装置内部の中央制御部から受信し、
前記デバイスコントローラにより、前記データ記録装置に対して前記データ制御権の解放を要求し、
前記デバイスコントローラにより、前記データ転送を中断させる指令信号を生成して前記データ記録装置に送信し、
前記データ記録装置により、前記メモリに格納されるデータのファイルシステム管理情報の不整合を解消し、
前記データ記録装置により、前記データ制御権を解放する、
ことを含む、データアクセス方法。
【請求項１５】
更に、前記アクセス装置と無線接続される前記データ記録装置を用い、
前記アクセス装置より前記アクセス装置内の前記メモリ上に構築されたファイルシステムのファイルシステム管理情報を取得し、
前記ファイルシステム管理情報に基づいて、前記メモリ上にファイルを生成し、前記生成したファイルに対するデータ記録として、前記データ記録装置に格納されたデータを前記アクセス装置に転送し、
前記アクセス装置にデータを転送している間に前記データ転送の中断要求を前記アクセス装置より受信すると、前記ファイルシステム管理情報の不整合の有無を判定し、
前記ファイルシステム管理情報に不整合があると判定した場合、前記ファイルシステム管理情報の不整合を解消させるための情報を前記アクセス装置に送信する、
ことを含む、請求項１４に記載のデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データにアクセスするための技術に関する。
【背景技術】
【０００２】
一つのデータ記録装置に、データの書き込み及び読み出しを行う複数のアクセス装置が接続される場合、アクセス装置間においてデータ記録装置に記録・保持されるデータの整合性を保つ必要がある。このため、従来から様々な技術が開示されている。
特許文献１は、ソリッド・ステート・ディスク装置（ＳＳＤ）を共有する複数のクライアントの内、あるクライアントがＳＳＤにデータを書き込む場合の処理について開示する。ここでは、当該クライアントがＳＳＤのファイル管理情報権を取得したことを宣言するロック処理を行ない、その後にデータの書き込みを行なう。データ書き込みが終了すると、クライアントは、アンロック処理を行ないファイル管理情報権を放棄する。
【０００３】
特許文献１の方法では、一つのデータ記録装置へのデータ書き込み／変更等を行なう場合、複数のアクセス装置、つまりクライアントが相互に排他処理を行なう。この排他処理により、データ記録装置へデータの書き込み／変更等が同時に発生しないようにしている。
通信技術の分野では、通信線に接続された複数の通信装置の内、通信網にデータを送信できる通信装置を特定するための排他的権利（以下、データ制御権或いはホスト権とも称する）を有する通信装置のみが、データを能動的に送信させる、あるいは、通信を主体的に制御させる技術が知られている。この場合、ホスト権を設定することが一種の排他制御を実現するための具体的な手段となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１５３０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ある通信装置がホスト権を有しているとき、他の通信装置が任意のタイミングで強制的に上記のホスト権を取り戻す場合、以下のような課題が生じる可能性がある。
つまり、通信ネットワークにデータを送信等する権利は、ホスト権の移転とともに管理されている。よって、通信ネットワーク全体としての整合は保たれるものの、ホスト権を放棄する通信装置は、ホスト権を奪われることで処理中の内容が中断してしまう。この処理中の内容が通信装置間で共有しているデータ記録装置等へのデータ書き込み／変更／読み出し等である場合には、このデータの整合性が保たれない可能性がある。
【０００６】
そこで、本出願の目的は、データ記録装置等へのアクセスが中断されるような場合でも、データの整合性が保たれることを目的とするものである。
【課題を解決するための手段】
【０００７】
本出願の発明の一つの観点によれば、通信線を介してデータの読み出し又は書き込みを制御するアクセス装置は、データを格納するメモリと、メモリに格納されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を通信線を介して行う第１制御部と、アクセス装置に接続されたデータ記録装置に対するデータの送受信を制御し、第１制御部からの指令に応じてデータ制御権を取得又は解放し、データ制御権を保持している間にデータ記録装置から転送されるデータをメモリに書き込む第２制御部と、を備える。第１制御部は、データ記録装置からデータが転送されている間にデータの転送の中断要求を受信したとき、第２の制御部にデータ制御権を解放させ、メモリに格納されるデータの管理情報の不整合が生じているかどうかを判定し、管理情報の不整合が生じていると判定した場合は、第２の制御部にデータ制御権を戻す。第２制御部は、戻されたデータ制御権に応じて管理情報の不整合を解消した後、データ制御権を解放する。
【０００８】
本出願の発明の別の観点によれば、上記アクセス装置と、アクセス装置と接続可能なデータ記録装置と、を備える通信システムにおいて、データ記録装置は、データを格納するデータ格納部と、データ格納部に格納されたデータの転送を制御するデータ転送制御部と、を有する。データ転送制御部は、アクセス装置の第２制御部よりデータの管理情報を取得し、データの管理情報に基づいてデータ格納部に格納されたデータをアクセス装置に転送し、アクセス装置にデータが転送されている間にデータの転送の中断要求をアクセス装置より受信すると、データの転送を中断させ、データの転送の中断後、管理情報の不整合の有無を判定し、判定の結果をアクセス装置に送信する。
【０００９】
本出願の発明の更に別の観点によれば、通信線を介してデータの読み出し又は書き込みを制御するアクセス装置は、データを格納するメモリと、メモリに格納されたデータの読み出し又は書き込みを実行するための排他的権利であるデータ制御権の授受を通信線を介して行う第１制御部と、アクセス装置に接続されたデータ記録装置に対するデータの送受信を制御し、第１制御部からの指令に応じてデータ制御権を取得又は解放し、データ制御権を保持している間にデータ記録装置から転送されるデータをメモリに書き込む第２制御部と、を備える。第１制御部は、データ記録装置からデータが転送されている間にデータの転送の中断要求を受信したとき、第２制御部に対してデータ制御権を要求すると共に、データの転送を中断させる指令信号を生成し、第２の制御部を介してデータ記録装置に送信する。第２制御部は、データの転送を中断させる指令信号を送信後、メモリに格納されるデータの管理情報の不整合を解消してから、データ制御権を解放する。
【００１０】
本出願の発明の更に別の観点によれば、上記アクセス装置と、アクセス装置と接続可能なデータ記録装置と、を備える通信システムにおいて、データ記録装置は、データを格納するデータ格納部と、データ格納部に格納されたデータの転送を制御するデータ転送制御部と、を有する。データ転送制御部は、アクセス装置の第２制御部よりデータの管理情報を取得し、データの管理情報に基づいてデータ格納部に格納されたデータをアクセス装置に転送し、アクセス装置にデータが転送されている間にデータの転送の中断要求をアクセス装置より受信すると、管理情報の不整合の有無を判定し、管理情報の不整合があると判定した場合、管理情報の不整合を解消させるための情報をアクセス装置の第２制御部に送信する。
【００１１】
本出願の発明の更に別の観点によれば、上記いずれかの観点によるアクセス装置と、ユーザーによる操作に応じてアクセス装置の第１制御部に対しデータの転送の中断要求を送信すると共に、第１制御部よりデータ制御権を取得しメモリに対するデータの書き込み又は読み出しを行う中央制御部と、中央制御部による処理の結果を表示する表示部と、ユーザーによる操作を受け付ける操作部と、を備える通信機器が提供される。
【００１２】
本出願の発明の更に別の観点によれば、上記いずれかの観点によるアクセス装置を用いたデータアクセス方法が提供される。
【発明の効果】
【００１３】
本出願の発明により、データ記録装置等へのアクセスが中断されるような場合でも、データの整合性を保つことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１における通信システムの概略外観図
【図２】実施の形態１における通信システムの機能構成図
【図３】実施の形態１における各構成部間のシーケンス図
【図４】実施の形態１におけるアクセス装置の処理フローチャート
【図５】実施の形態１における周辺装置の処理フローチャート
【図６】実施の形態１の変形例による各構成部間のシーケンス図
【図７】実施の形態２における各構成部間のシーケンス図
【発明を実施するための形態】
【００１５】
１  実施の形態１
１．１  通信システム１００
図１は、本出願の実施の形態における一例である通信システム１００の構成を示した図である。図１における通信システム１００は、スマートフォン１０１（通信機器の一例）、及びデジタルカメラ２０１（データ記録装置の一例）を備える。
【００１６】
スマートフォン１０１は、デバイスコントローラ１０７、内蔵メモリデバイス１０３、ＧＰＳデバイス１０４、及びＷｉＧｉｇ（Ｗｉｒｅｌｅｓｓ  Ｇｉｇａｂｉｔ）デバイス１０５を含む。デバイスコントローラ１０７、内蔵メモリデバイス１０３、ＧＰＳデバイス１０４、及びＷｉＧｉｇデバイス１０５は、リングバス１０６で接続されている。
ＷｉＧｉｇとは、転送速度がギガｂｐｓ以上の転送が可能な近接無線インターフェースである。ユーザーは、デジタルカメラ２０１をスマートフォン１０１に近接させると、デジタルカメラ２０１の内部に設けられたＷｉＧｉｇデバイス２０８と、ＷｉＧｉｇデバイス１０５との間で所定の通信手順に則って通信が可能となる。
【００１７】
基本的にデバイスコントローラ１０７は、リングバス１０６上のデバイス間の通信を制御する。スマートフォン１０１は、ＷｉＧｉｇデバイス１０５を使ってインターネットに接続したり他の周辺デバイスと通信したりすることができる。また、その際、画像や動画等のデータは、内蔵メモリデバイス１０３に格納される。
デジタルカメラ２０１は、撮影した画像や動画をデジタルデータとして生成し、内部の記録媒体であるデータ格納部２１３に格納する。データ格納部２１３は、例えば不揮発性メモリである。
【００１８】
尚、図１では、デジタルカメラ及びスマートフォンを例に挙げて説明したが、本実施の形態は、これに限定するものではない。デジタルカメラ以外のビデオカメラや、音声レコーダ、放送受信レコーダ等、データを生成又は外部から受信し、他の機器に記録する装置であれば、そのカテゴリを限定するものではない。
以下の説明ではスマートフォン１０１をホスト装置、デジタルカメラ２０１を周辺装置として説明する。
図２は、図１の通信システム１００の機能構成を示した図である。図２において通信システム１００は、スマートフォン１０１（以下、ホスト装置１０１と称する）と、デジタルカメラ２０１（以下、周辺装置２０１と称する）と、それらを接続する通信回線とを有する。ホスト装置１０１と、周辺装置２０１とは、無線通信網もしくは有線通信網のどちらで接続しても構わない。
【００１９】
１．１．１  ホスト装置１０１
ホスト装置１０１は、周辺装置２０１と所定の通信手順に基づき通信を確立し、データや制御信号の送受信を行う。本実施の形態では、ホスト装置１０１は、アクセス装置１５０、ＧＰＳデバイス１０４、及びリングバス１０６（通信線の一例）を有する。アクセス装置１５０は、内蔵メモリデバイス１０３（メモリの一例）、ＷｉＧｉｇデバイス１０５（第２制御部の一例）、及びデバイスコントローラ１０７（第１制御部の一例）を有する。内蔵メモリデバイス１０３、ＧＰＳデバイス１０４、ＷｉＧｉｇデバイス１０５、及びデバイスコントローラ１０７は、リングバス１０６により接続される。ホスト装置１０１は更に、第一バス１３７で接続されたＣＰＵ１３１（中央制御部の一例）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３３、操作部１３４（操作部の一例）、入出力部１３５、及び表示部１３６（表示部の一例）を備える。
【００２０】
内蔵メモリデバイス１０３は、記憶領域を論理的に管理する論理アドレス空間上で、処理開始論理アドレスと処理サイズを指定され、ファイルアロケーションテーブル（ＦＡＴ）、ディレクトリエントリ（Ｄ．Ｅ．）等のＦＳ（ファイルシステム）管理情報を記憶する。内蔵メモリデバイス１０３はまた、撮影した画像や動画のデータの書き込み・読み出しを所定のコマンドやプロトコルを用いて制御し記憶する。例えば内蔵メモリデバイス１０３は、不揮発性メモリや、その不揮発性メモリのデータの送受信を制御するコントローラを含む。本実施の形態では、内蔵メモリデバイス１０３へのデータの記憶は、ホスト装置１０１のＲＯＭの中に格納されているファイルシステムにより管理されるだけでなく、周辺装置２０１からの後述するコマンドやプロトコルを使って管理される。本実施の形態では、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムを例として説明するが、これに限定するものではない。ＮＦＴＳ（Ｎｅｗ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、ＨＳＦ（Ｈｉｅｒａｃｈｉｃａｌ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等の他のファイルシステムを用いてもよい。
【００２１】
ＧＰＳデバイス１０４は、現在のホスト装置１０１の位置を検知するためのデバイスである。
ＷｉＧｉｇデバイス１０５は、周辺装置２０１とホスト装置１０１とを接続するためのインターフェース部分であり、制御信号やデータの送受信を行う。ＷｉＧｉｇデバイス１０５は、リモートアクセス受信制御部１４０を有する。リモートアクセス受信制御部１４０は、ＷｉＧｉｇデバイス１０５に後述するホスト権が委譲された時に周辺装置２０１からの制御信号やデータを送受信できるようにするリモートアクセス許可信号を送信し、リングバス１０６を介して他のデバイスを制御することができる機能を備える。更に、リモートアクセス受信制御部１４０は、保持しているホスト権（データ制御権の一例）を戻す制御信号（ホスト権解放要求）をデバイスコントローラ１０７から受信すると、コマンドやデータの送受信（データの転送の一例）を中断したことを周辺装置２０１に対して通知するユーザー中断命令を送信し、デバイスコントローラ１０７にホスト権を戻す。更に、リモートアクセス受信制御部１４０は、コマンドやデータの送受信が中断したことにより、ファイルシステムの不整合、つまりファイルシステムにおける管理情報の不整合が発生していることの有無を含むＦＳ不整合通知を周辺装置２０１から受信し、ファイルシステムの不整合が発生したかどうかをデバイスコントローラ１０７に通知することができる機能を有する。
【００２２】
リングバス１０６は、内蔵メモリデバイス１０３、ＧＰＳデバイス１０４、ＷｉＧｉｇデバイス１０５、デバイスコントローラ１０７の各機能部間でデータの授受を行うために接続されたデータ配線等である。尚、図２の配線形態は、リング型の接続形態であるが、本実施の形態は、これに限定するものではない、他の接続形態であってもよい。
デバイスコントローラ１０７は、第一バス１３７を介してＣＰＵ１３１から所定のコマンドとプロトコルにより制御される。この制御により、リングバス１０６に接続される内蔵メモリデバイス１０３、ＧＰＳデバイス１０４、ＷｉＧｉｇデバイス１０５が所定のコマンドとプロトコルにより制御される。デバイスコントローラ１０７は、バス権利制御部１４１、リモートアクセス中断制御部１４２、メモリＤｒｉｖｅｒ１４３、及び無線制御Ｄｒｉｖｅｒ１４４、を備える。
【００２３】
バス権利制御部１４１は、ＣＰＵ１３１からホスト権を他のデバイスへ渡すためのコマンドを受けとると、その制御に従い他のデバイスへホスト権を渡す制御信号を発行する（ホスト権委譲）。尚、通常は、デバイスコントローラ１０７がリングバス１０６を介して内蔵メモリデバイス１０３へのコマンドの発行やデータの送受信を制御するホスト権を持っている。ホスト権を渡されたデバイスは、リングバス１０６に接続されている更に他のデバイスを所定のプロトコルに従ってコマンドやデータの送受信の制御をすることができるようになる。本実施の形態では、ＷｉＧｉｇデバイス１０５にホスト権を渡し、ＷｉＧｉｇデバイス１０５が内蔵メモリデバイス１０３を制御するものとする。
【００２４】
リモートアクセス中断制御部１４２は、ホスト権を有するデバイス（以下、第１のデバイスと称する。）からホスト権を取得する処理を行う機能を備えたものである。ＣＰＵ１３１からリングバス１０６内の他のデバイス（以下、第２のデバイスと称する。）にアクセスしたい場合、ホスト権を有する第１のデバイスに対してホスト権を取得する制御信号を送信（ホスト権解放要求）し、第１のデバイスからホスト権が解放されたことを確認する応答を受信（ホスト権解放）する。その後、リモートアクセス中断制御部１４２は、ファイルシステムにおける管理情報の不整合が発生していないか確認するためのＦＳ不整合発生確認の制御信号を発する。ファイルシステムに不整合が発生している場合は、ファイルシステムの不整合を解消するために、再度、ホスト権の委譲（ホスト権委譲（ＦＳ不整合解消指示））を行い、ホスト権を解放した第１のデバイスにホスト権を戻す。ファイルシステムの不整合が解消されると、第１のデバイスが再びホスト権を解放するのを待つ。ホスト権が再び戻ってきた後、ＣＰＵ１３１からの制御に基づきリングバス１０６に接続されている第２のデバイスの制御を行う。
【００２５】
メモリＤｒｉｖｅｒ１４３は、ＣＰＵ１３１からの制御信号に基づき、内蔵メモリデバイス１０３を制御するための機能である。
無線制御Ｄｒｉｖｅｒ１４４は、ＣＰＵ１３１からの制御信号に基づき、ＷｉＧｉｇデバイス１０５を制御するための機能である。
ＣＰＵ１３１は、ホスト装置１０１全体を制御する。具体的には、ＣＰＵ１３１はＲＯＭ１３３に記録されたプログラムを実行することで、他の構成部を制御するものである。
【００２６】
ＲＯＭ１３３は、ホスト装置１０１の電源の制御や初期化、画像や動画の表示を制御等するためのプログラムを格納している。このプログラムは、ＲＡＭ１２を一時記憶領域等として使用し、ＣＰＵ１３１上で動作する。ＲＯＭ１３３はまた、内蔵メモリデバイス１０３に対するデータの書き込み、読み出しを行いファイル単位で管理するファイルシステムのプログラムも有する。
【００２７】
ＲＡＭ１３２は、ＣＰＵ１３１が上記のプログラム等を実行する際に必要となるデータの一時記憶領域、又は、ＲＯＭ１３３に記録されたプログラムを実行する際のプログラムデータを記録保持する領域である。尚、ＲＡＭ１３２は、これ以外の用途として用いられる場合もある。
操作部１３４は、周辺装置２０１との通信設定を行ったり画像や動画を見たりするためのボタン等で、ユーザーによる操作等を受け付けるものである。
【００２８】
入出力部１３５は、マイクやスピーカー等他のアクセサリー機器を装着するためのものである。
表示部１３６は、ＣＰＵ１３１の処理の結果を表示する。具体的には、ユーザーが操作するための情報や画像、動画を表示するための部分であり、液晶パネルによって実現される。
第一バス１３７は、デバイスコントローラ１０７、ＣＰＵ１３１、ＲＡＭ１３２、ＲＯＭ１３３、操作部１３４、入出力部１３５、表示部１３６の各機能部間でデータの授受を行うために接続するためのデータ配線等である。
【００２９】
１．１．２  周辺装置２０１
周辺装置２０１は、ホスト装置１０１と所定の通信手順に基づき通信を確立し、データ及び制御信号の送受信を行う。本実施の形態では、周辺装置２０１は、ＷｉＧｉｇデバイス２０８、ＣＰＵ２１１、ＲＡＭ２１２、データ格納部２１３（データ格納部の一例）、撮影部２１４、操作部２１５、表示部２１６、バス２１７、及びＲＯＭ２２０を備える。尚、ここでは、周辺装置２０１としてデジタルカメラを例に挙げている。
【００３０】
ＷｉＧｉｇデバイス２０８は、周辺装置２０１とホスト装置１０１とを接続するためのインターフェース部分であり、制御信号及びデータの送受信を行う。
ＣＰＵ２１１は、周辺装置２０１全体を制御する。具体的には、ＣＰＵ２１１はＲＯＭ２２０に記録されたプログラムを実行することにより、他の構成部を制御するものである。
【００３１】
ＲＡＭ２１２は、ＣＰＵ２１１がプログラム等を実行する際に必要となるデータの一時記憶領域、又は、ＲＯＭ２２０に記録されたプログラムを実行する際のプログラムデータを記録保持する領域である。尚、ＲＡＭ２１２は、これ以外の用途として用いられる場合もある。
データ格納部２１３は、撮影部２１４で撮影された画像や動画等のデータを格納する。またデータ格納部２１３よりＷｉＧｉｇデバイス２０８を介して外部に送信するデータが読み出される。
【００３２】
撮影部２１４は、周辺装置２０１において、レンズを通して入射した被写体からの光を電気信号に変更し画像データを生成する。
操作部２１５は、撮影を開始・終了を行うためのレリーズボタン、その他の設定用ボタン等、ユーザーからの操作等を受け付けるものである。
表示部２１６は、撮影部２１４が撮影、生成した画像データを表示するための部分であり、液晶パネル等によって実現される。
【００３３】
バス２１７は、各機能部間でデータの授受を行うために接続するためのデータ配線等である。尚、図２の配線形態は、バス型の接続形態であるが、本実施の形態は、これに限定するものではない、他の接続形態であってもよい。
ＲＯＭ２２０は、周辺装置２０１を制御等するためのプログラムを格納している。このプログラムはＲＡＭ２１２を一時記憶領域等として使用しＣＰＵ２１１上で動作する。また、ＲＯＭ２２０に記録されているプログラムは、アプリケーション制御部２２１、格納データ制御部２２２、無線制御Ｄｒｉｖｅｒ２２３、リモートＦＳ（Ｆｉｌｅ Ｓｙｓｔｅｍ）制御部２２４（データ転送制御部の一例）、リモートアクセス中断検知部２２５（データ転送制御部の一例）、ＦＳ（Ｆｉｌｅ Ｓｙｓｔｅｍ）不整合処理部２２６（データ転送制御部の一例）等の機能単位を持つ。これらは、ＣＰＵ２１１上で動作可能なソフトウェアとして実現されるが、全部もしくは一部をハードウェアにより実現しても構わない。
【００３４】
アプリケーション制御部２２１は、周辺装置２０１の電源の制御や初期化、画像を撮影するプログラム、操作部２１５に入力された操作内容から撮影の準備・開始・終了、ホスト装置１０１との通信確立等、周辺装置２０１全体の制御を行う。
格納データ制御部２２２は、データ格納部２１３に対するデータの書き込み、読み出しを行いファイル単位で管理するファイルシステムのプログラムである。
【００３５】
無線制御Ｄｒｉｖｅｒ２２３は、ＣＰＵ２１１からの制御信号に基づき、ＷｉＧｉｇデバイス２０８を制御するためのプログラムである。
リモートＦＳ制御部２２４は、ＷｉＧｉｇデバイス１０５、２０８を介してホスト装置１０１の中にある内蔵メモリデバイス１０３の記憶領域を論理的に管理する論理アドレス空間上のファイルアロケーションテーブル（ＦＡＴ）、ディレクトリエントリ（Ｄ．Ｅ．）等のＦＳ管理情報を読み出す。リモートＦＳ制御部２２４は、読み出したＦＳ管理情報に基づいて、空きクラスタを探し、データ格納部２１３にある撮影した画像や動画のデータを内蔵メモリデバイス１０３に転送する機能を備える。つまり処理開始論理アドレスと処理サイズの指定やＦＳ管理情報に書き込むデータの生成は、このリモートＦＳ制御部２２４により行われる。
【００３６】
リモートアクセス中断検知部２２５は、リモートＦＳ制御部２２４が画像や動画等の転送を行っている際に、ホスト装置１０１からのユーザー中断命令を受信し、リモートＦＳ制御部２２４によるデータの転送を中断させ、処理をＦＳ不整合処理部２２６に渡す。
ＦＳ不整合処理部２２６は、データの転送が中断された際に、ファイルシステムの不整合が発生する箇所で中断されていないか確認し、不整合が発生していない場合は、リモートアクセス完了の通知を、ＷｉＧｉｇデバイス１０５、２０８を介してホスト装置１０１に行う。不整合が発生している場合は、ファイルシステムの不整合が発生していることを通知するためのＦＳ不整合通知を、ＷｉＧｉｇデバイス１０５、２０８を介してホスト装置１０１に行う。ＦＳ不整合処理部２２６は、ＦＳ不整合通知を送信した後、ホスト装置１０１から再度リモートアクセスが許可されるのを待つ。そして、許可された後に、ＦＳ不整合処理部２２６は、途中まで書き込んだ画像や動画のデータができるだけ再生可能な状態になるように、ファイルシステムのディレクトリエントリとＦＡＴと書き込んだデータに関するＦＳ管理情報の不整合を解消するためのコマンドとデータを送信し、それが完了した後にリモートアクセス完了の通知を行う。
【００３７】
１．２  通信システム１００による処理
以上のように構成された本実施の形態に係る通信システム１００の処理について図３を用いて説明する。図３は、周辺装置２０１からホスト装置１０１の内蔵メモリデバイス１０３へ動画のデータを転送している最中に、ホスト装置１０１から中断する際の処理を示す。尚、ホスト装置１０１と周辺装置２０１は、ＷｉＧｉｇデバイス１０５、２０８を介して所定のプロトコルを使ってコマンドやデータを送受信し通信ができる状態が確立されているものとし、本実施の形態のポイントとなる内蔵メモリデバイス１０３に周辺装置２０１がリモートでアクセスを開始する手順から説明する。
ステップＳ００１では、ＣＰＵ１３１からホスト権委譲の制御信号をデバイスコントローラ１０７が受信する。デバイスコントローラ１０７は、更にＷｉＧｉｇデバイス１０５にホスト権委譲（動画書き込み許可）の制御信号を送る。デバイスコントローラ１０７は、その後、ホスト権が解放されるのを待機すると共に、ホスト装置１０１のユーザーがデータ転送を中断させるための操作を行った時に発生する中断指示を待つ状態となる。
【００３８】
ステップＳ００２では、ＷｉＧｉｇデバイス１０５がホスト権委譲の制御信号をデバイスコントローラ１０７より受信すると、リモートアクセス受信制御部１４０が周辺装置２０１からの制御信号やデータを送受信できるようにするリモートアクセス許可信号を周辺装置２０１に送信する。
ステップＳ００３では、周辺装置２０１のＷｉＧｉｇデバイス２０８を介してリモートアクセス許可の信号を受信すると、リモートＦＳ制御部２２４は内蔵メモリデバイス１０３のＦＳ管理情報を取得するための処理開始論理アドレスと処理サイズの情報を生成する。生成された情報は、ＦＳ管理情報読み出し要求の制御信号として、ＷｉＧｉｇデバイス２０８を介してホスト装置１０１に送信される。
【００３９】
ステップＳ００４では、ＷｉＧｉｇデバイス１０５を介してリモートアクセス受信制御部１４０がＦＳ管理情報読み出し要求の制御信号を受信する。リモートアクセス受信制御部１４０は、受信した情報を内蔵メモリデバイス１０３が解釈できるプロトコルとコマンドに変換して、内蔵メモリデバイス１０３にＦＳ管理情報読み出し要求を発行する。
ステップＳ００５では、内蔵メモリデバイス１０３からＦＳ管理情報がＷｉＧｉｇデバイス１０５に読み出される。
【００４０】
ステップＳ００６では、ＷｉＧｉｇデバイス１０５がＦＳ管理情報を送信する。周辺装置２０１のリモートＦＳ制御部２２４がＦＳ管理情報を受信することにより、内蔵メモリデバイス１０３のどの記憶領域が書き込みできるか把握できるようになり、いわゆるマウントされた状態となる。
以下のステップＳ００７〜Ｓ０１４における処理は、ホスト装置１０１と周辺装置２０１の間で事前に決められた画像や動画等のデータを、周辺装置２０１のデータ格納部２１３からホスト装置１０１の内蔵メモリデバイス１０３に転送する処理に関する。
【００４１】
ステップＳ００７では、リモートＦＳ制御部２２４がＦＳ管理情報からディレクトリエントリ（Ｄ．Ｅ）を書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号とデータを、ＷｉＧｉｇデバイス２０８を介してホスト装置１０１へ送信する。
ステップＳ００８では、ＷｉＧｉｇデバイス１０５を介してリモートアクセス受信制御部１４０にてＤ．Ｅ書き込みのための制御信号とデータを受信する。リモートアクセス受信制御部１４０は、同制御信号及びデータを、内蔵メモリデバイス１０３で解釈できるプロトコルとコマンドに変換して発行する。図示は省略しているが、その書き込みが成功したどうかの情報を周辺装置２０１のリモートＦＳ制御部２２４に返す。
【００４２】
ステップＳ００９では、リモートＦＳ制御部２２４がデータ格納部２１３に格納されている動画のデータの一部を読み出し、ＦＳ管理情報から空きクラスタを見つけ出し書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号とデータをホスト装置１０１へ送信する。
ステップＳ０１０では、ＷｉＧｉｇデバイス１０５を介してリモートアクセス受信制御部１４０にて動画データの一部の書き込みのための制御信号とデータを受信する。リモートアクセス受信制御部１４０は、同制御信号及びデータを、内蔵メモリデバイス１０３で解釈できるプロトコルとコマンドに変換して発行する。また図示は省略しているが、その書き込みが成功したどうかの情報を周辺装置２０１のリモートＦＳ制御部２２４に返す。
【００４３】
ステップＳ０１１では、リモートＦＳ制御部２２４が、ＦＳ管理情報を更新するためのＦＡＴ情報を生成し、書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号とデータをホスト装置１０１へ送信する。
ステップＳ０１２では、ＷｉＧｉｇデバイス１０５を介してリモートアクセス受信制御部１４０にてＦＡＴを更新するための制御信号とデータを受信する。リモートアクセス受信制御部１４０は、同制御信号及びデータを、内蔵メモリデバイス１０３で解釈できるプロトコルとコマンドに変換して発行する。また図示は省略しているが、その書き込みが成功したどうかの情報を周辺装置２０１のリモートＦＳ制御部２２４に返す。
【００４４】
ステップＳ０１３では、選択された動画のファイルの全部の書き込みが終わったか、つまり動画の転送が完了したかを確認するためのステップである。ファイルの全部の書き込みが終わっている場合は、ステップＳ０２６に進む。ファイルの全体の書き込みが終わっていない場合は、ステップＳ００７に戻る。
ステップＳ０１４は、ステップＳ００７からＳ０１３までをファイルの全体が書き終わるまで繰り返し行うことを示す。このステップＳ０１４を行っている最中に、ホスト装置１０１のユーザーがデータの転送を中断させるための操作を行うと、ＣＰＵ１３１からデバイスコントローラ１０７にユーザー中断命令の信号が送信される。
【００４５】
ステップＳ０１５では、同ユーザー中断命令の信号を受信したデバイスコントローラ１０７のリモートアクセス中断制御部１４２が、リングバス１０６を介してＷｉＧｉｇデバイス１０５に対しホスト権解放要求（ユーザー中断命令）の信号を送信する。
ステップＳ０１６では、ＷｉＧｉｇデバイス１０５がホスト権解放要求（ユーザー中断命令）の信号を受信すると、リモートアクセス受信制御部１４０がコマンドやデータの送受信を中断したことを通知するユーザー中断命令を周辺装置２０１に送信する。
【００４６】
ステップＳ０１７では、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の信号を送信する。
ステップＳ０１８では、ユーザー中断命令を受信したリモートアクセス中断検知部２２５がリモートＦＳ制御部２２４による動画の転送を中断させ、処理をＦＳ不整合処理部２２６に渡す。ＦＳ不整合処理部２２６は、データの転送が中断された際に、ファイルシステムの不整合が発生する箇所で中断されていないか確認する。ここで不整合が発生していない場合は、ステップＳ０２６に進む。不整合が発生している場合は、ファイルシステムの不整合が発生していることを通知するためのＦＳ不整合通知を、ＷｉＧｉｇデバイス１０５、２０８を介して行う。尚、このＦＳ不整合通知後、ＷｉＧｉｇデバイス１０５は周辺装置２０１とのリモートアクセスを一度終了させる。
【００４７】
ステップＳ０１９では、ホスト権を戻されたデバイスコントローラ１０７のリモートアクセス中断制御部１４２が、ファイルシステムに不整合が発生していないか確認するための制御信号をＷｉＧｉｇデバイス１０５に対して発行する。
ステップＳ０２０では、ＷｉＧｉｇデバイス１０５のリモートアクセス受信制御部１４０が、周辺装置２０１からのファイルシステムの不整合が発生したか否かの情報をデバイスコントローラ１０７からの問い合わせである制御信号の応答として返す。本実施の形態では、ファイルシステムの不整合が発生したものとして応答を返している。尚、ファイルシステムの不整合が発生したか否かの情報が周辺装置２０１から送られるタイミングが遅れ、デバイスコントローラ１０７からの確認に応答できないような場合がある。その場合、デバイスコントローラ１０７に対して確認中等の応答を一旦返す等すれば良い。また割り込みを使う等他の方法を使っても良い。
【００４８】
ステップＳ０２１では、デバイスコントローラ１０７がファイルシステムの不整合が発生したという情報を受けると、バス権利制御部１４１がホスト権委譲（ＦＳ不整合解消指示）の制御信号をＷｉＧｉｇデバイス１０５に対して送信する。
ステップＳ０２２では、ＷｉＧｉｇデバイス１０５がホスト権委譲（ＦＳ不整合解消指示）の制御信号を受信すると、リモートアクセス受信制御部１４０は周辺装置２０１からの制御信号やデータを送受信できるようにするリモートアクセス許可信号を周辺装置２０１に送信する。
【００４９】
ステップＳ０２３では、周辺装置２０１がリモートアクセス許可信号を受信すると、ＦＳ不整合処理部２２６により、途中まで書き込んだ画像や動画のデータができるだけ再生可能な状態になるように、次の処理を行う。ファイルシステムのディレクトリエントリとＦＡＴと書き込んだデータの不整合を解消するためのＦＳ不整合解消の情報として、処理開始論理アドレスと処理サイズを含むデータを生成し、ホスト装置１０１に送信する。
【００５０】
ステップＳ０２４では、ＷｉＧｉｇデバイス１０５を介してリモートアクセス受信制御部１４０にてＦＳ不整合解消の情報を受信し、その情報を内蔵メモリデバイス１０３が解釈できるプロトコルとコマンドに変換して発行する。
ステップＳ０２５では、リモートアクセス受信制御部１４０が内蔵メモリデバイス１０３に対する書き込みが完了したことを通知するための信号を周辺装置２０１に送信する。ステップＳ０２３からＳ０２５のＦＳ不整合解消の処理は、不整合が解消されるまで複数回繰り返されるが、ここでは図示を省略する。
【００５１】
ステップＳ０２６では、ＦＳ不整合処理部２２６の処理が完了したことを通知するリモートアクセス完了の制御信号をホスト装置１０１へ送信する。
ステップＳ０２７では、リモートアクセス完了の制御信号を、ＷｉＧｉｇデバイス１０５を介して受信し、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の制御信号を送信する。このホスト権解放の制御信号を受信したデバイスコントローラ１０７は、ＣＰＵ１３１にデータの転送の中断処理が完了したことを通知し、以降ＣＰＵ１３１から内蔵メモリデバイス１０３に対してアクセスができるようになる。
【００５２】
１．２．１  ホスト装置１０１による処理
次に本実施の形態に係る通信システム１００を実現するため、ホスト装置１０１におけるアクセス装置１５０による処理、特にＷｉＧｉｇデバイス１０５のリモートアクセス受信制御部１４０の処理手順について図４を用いて説明する。ＷｉＧｉｇデバイス１０５はデバイスコントローラ１０７からのさまざまな制御信号を受信するが、ホスト権を委譲する制御信号を受信した時に本実施の形態のリモートアクセス受信制御部１４０が処理を開始する。
ステップＳ１０１では、ホスト権委譲の制御信号を受信するまで待機し、ホスト権委譲の制御信号を受信するとステップＳ１０２に進む。
ステップＳ１０２では、周辺装置２０１からアクセスできるようにするリモートアクセス許可信号を周辺装置２０１へ送信する。
ステップＳ１０３では、周辺装置２０１から送られてくる内蔵メモリデバイス１０３に対する処理開始アドレス、処理サイズ、及び書き込みデータがある場合はそのデータを、内蔵メモリデバイス１０３が解釈できるプロトコルとコマンド、データに変換し、内蔵メモリデバイス１０３に送信する。その送信が成功したか失敗したかの情報と、あれば内蔵メモリデバイス１０３からの読み込みのデータとを、周辺装置２０１に送信する。
【００５３】
ステップＳ１０４では、ホスト権解放の要求がデバイスコントローラ１０７から受信していないか確認する。ホスト権解放要求を受信している場合は、ステップＳ１１０に進み、受信していない場合は、ステップＳ１０５に進む。
ステップＳ１０５では、周辺装置２０１からのデータの転送が終了したことを示すリモートアクセス完了の制御信号を受信していないか確認する。リモートアクセス完了の制御信号を受信している場合は、ステップＳ１０６に進む。リモートアクセス完了の制御信号を受信していない場合は、ステップＳ１０３に戻る。
【００５４】
ステップＳ１０６では、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の制御信号を送信する。その後、再びデバイスコントローラ１０７からの制御信号を待ち受ける状態となる。
ステップＳ１１０では、ステップＳ１０４においてデバイスコントローラ１０７からのホスト権解放要求（ユーザー中断命令）の信号を受信した場合、リモートアクセス受信制御部１４０がコマンドやデータの送受信を中断したことを通知するユーザー中断命令を周辺装置２０１に送信する。
【００５５】
ステップＳ１１１では、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の信号を送信する。
ステップＳ１１２では、周辺装置２０１からのファイルシステムの不整合が発生したか否かの情報を待機する。例えば、待機している間にデバイスコントローラ１０７からの不整合の確認のための制御信号を受信した場合は、待機中である旨応答する。周辺装置２０１からファイルシステムの不整合の確認の結果を受信し、不整合が発生していない場合は、ステップＳ１１３に進み、不整合が発生している場合は、ステップＳ１１４に進む。
【００５６】
ステップＳ１１３では、デバイスコントローラ１０７からの不整合の確認のための制御信号に対してファイルシステムの不整合が発生していなかったとして応答する。その後、リモートアクセス受信制御部１４０の処理のはじめの待機状態、つまりＷｉＧｉｇデバイス１０５がデバイスコントローラ１０７からホスト権委譲を受信する前の状態であるステップＳ１０１に戻る。
【００５７】
ステップＳ１１４では、デバイスコントローラ１０７からの確認に対してファイルシステムの不整合が発生していたとして応答し、次の指示を待機する。
ステップＳ１１５では、ファイルシステムの不整合を解消するためのホスト権委譲（ＦＳ不整合解消指示）の制御信号を待機し、受信した場合は、ステップＳ１１６に進む。それ以外の制御信号を受信した場合は別の処理を行うことになるが、図示は省略する。
【００５８】
ステップＳ１１６では、周辺装置２０１に対し、ファイルシステムの不整合を解消するための制御信号を送受信できるようにするリモートアクセス許可信号を送信する。
ステップＳ１１７では、周辺装置２０１からファイルシステムを解消するための処理開始アドレス、処理サイズ、書き込むデータを含む情報を受信する。受信した情報は、内蔵メモリデバイス１０３が解釈できるプロトコルとコマンド、データに変換されて内蔵メモリデバイス１０３に送信される。そして、その送信が成功したか失敗したかどうかの情報を、周辺装置２０１に送信する。このステップＳ１１７は、ファイルシステムの不整合が解消されてリモートアクセス完了の制御信号を受信するまで繰り返し行う。
ステップＳ１１８では、リモートアクセス完了の制御信号を受信し、ホスト権をデバイスコントローラ１０７に解放するホスト権解放の制御信号を送信する。その後、リモートアクセス受信制御部１４０の処理のはじめの待機状態に戻る。
【００５９】
１．２．２  周辺装置２０１による処理
次に本実施の形態の通信システムにおける周辺装置２０１が内蔵メモリデバイス１０３に動画等のデータを転送する手順と、転送中にホスト装置１０１から中断命令を受信した時の対処方法を実現するための処理手順について図５を用いて説明する。周辺装置２０１は、ホスト装置１０１との所定の通信手順に基づき通信を確立し、データ及び制御信号の送受信が行える状態になっている。その状態で、リモートアクセス許可の制御信号を受信した後の処理を説明する。
【００６０】
ステップＳ２０１では、ホスト装置１０１からの内蔵メモリデバイス１０３に対してアクセスするためのリモートアクセス許可の制御信号を受信する。
ステップＳ２０２では、リモートＦＳ制御部２２４が内蔵メモリデバイス１０３のＦＳ管理情報を取得するために、処理開始論理アドレスと処理サイズの情報を生成し、ＦＳ管理情報読み出し要求の制御信号を、ホスト装置１０１に送信する。ホスト装置１０１から指定した処理開始論理アドレスと処理サイズのデータを受信する。これを繰り返すことにより内蔵メモリデバイス１０３のＦＳ管理情報を読み出することができ、記憶領域へ書き込みできる場所を把握できるようになり、いわゆるマウントされた状態となる。
【００６１】
ステップＳ２０３では、ホスト装置１０１と周辺装置２０１の間に事前に決められた画像や動画などのファイルのデータをホスト装置１０１の内蔵メモリデバイス１０３に転送するため、次の処理が行われる。リモートＦＳ制御部２２４がＦＳ管理情報からディレクトリエントリ（Ｄ．Ｅ）を書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号をホスト装置１０１へ送信する。また、その送信結果を確認し、成功の場合は、ステップＳ２０４へ進む。失敗した場合は、ステップＳ２０３で再度書き込みを試す。リモートアクセス中断検知部２２５がユーザー中断命令を受信している場合は、ステップＳ２１０に進む。
【００６２】
ステップＳ２０４では、リモートＦＳ制御部２２４がデータ格納部２１３に格納されている動画のデータの一部を読み出し、ＦＳ管理情報から空きクラスタを見つけ出し、書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号をホスト装置１０１へ送信する。その送信結果が、成功の場合は、ステップＳ２０５へ進む。失敗した場合は、ステップＳ２０４で再度書き込みを試す。リモートアクセス中断検知部２２５がユーザー中断命令を受信している場合は、ステップＳ２１０に進む。
【００６３】
ステップＳ２０５では、リモートＦＳ制御部２２４が、ＦＳ管理情報を更新するためのＦＡＴ情報を生成し、書き込むための処理開始アドレス及び処理サイズを生成し、その制御信号を、ＷｉＧｉｇデバイス２０８を介してホスト装置１０１へ送信する。その送信結果が成功の場合は、ステップＳ２０６へ進む。失敗した場合は、ステップＳ２０５で再度書き込みを試す。リモートアクセス中断検知部２２５がユーザー中断命令を受信している場合は、ステップＳ２１０に進む。
【００６４】
ステップＳ２０６では、選択された動画のファイルの全部の書き込みが終わったかを確認するためのステップである。ファイルの全部の書き込みが終わっている場合は、ステップＳ２０７に進む。ファイルの全体の書き込みが終わっていない場合は、ステップＳ２０３に戻る。
ステップＳ２０７では、リモートＦＳ制御部２２４の処理が完了したことを通知するリモートアクセス完了の制御信号をホスト装置１０１へ送信し、内蔵メモリデバイス１０３へのアクセスを終了し、次の処理の待機状態に戻る。
【００６５】
ステップＳ２１０では、ユーザー中断命令を受信したリモートアクセス中断検知部２２５がリモートＦＳ制御部２２４の転送を中断させ、処理をＦＳ不整合処理部２２６に渡す。ＦＳ不整合処理部２２６は、データの転送が中断された際に、ファイルシステムの不整合が発生する箇所で中断されていないか確認する。ここで不整合が発生していない場合は、ステップＳ２０７に進む。不整合が発生している場合は、ステップＳ２１１に進む。
ステップＳ２１１では、ＦＳ不整合処理部２２６は、ファイルシステムの不整合が発生していることを通知するためのＦＳ不整合通知をホスト装置１０１に送信する。
ステップＳ２１２では、周辺装置２０１からのリモートアクセス許可信号を待機し、その信号を受信すると次のステップに進む。
ステップＳ２１３では、ＦＳ不整合処理部２２６により、途中まで書き込んだ画像や動画のデータが再生可能な状態になるように、次の処理を行う。ファイルシステムのディレクトリエントリとＦＡＴと書き込んだデータの不整合を解消するためのＦＳ不整合解消の制御信号として、処理開始論理アドレスとデータを生成し、ホスト装置１０１に送信する。このステップを不整合が解消されるまで繰り返し、終了したらステップＳ２０７に進む。
【００６６】
１．３  実施の形態１の特徴
上記実施の形態においては、デバイスコントローラ１０７は、周辺装置２０１からデータが転送されている間にデータの転送の中断要求を受信したとき、ＷｉＧｉｇデバイス１０５にホスト権を解放させ、周辺装置２０１との間でファイルシステムにおける管理情報の不整合が生じているかどうかを判定し、不整合が生じていると判定した場合は、ＷｉＧｉｇデバイス１０５にホスト権を戻し、ＷｉＧｉｇデバイス１０５は戻されたホスト権に応じて管理情報の不整合を解消した後、ホスト権を解放する。これにより、ホスト装置１０１と周辺装置２０１との間で、データ転送が中断されてもデータの整合性を保つことができる。つまり、ＷｉＧｉｇデバイス１０５からホスト権を強制的に取得した場合に、ＷｉＧｉｇデバイス１０５による内蔵メモリデバイス１０３へのアクセス処理が不整合なままである場合には、再度ＷｉＧｉｇデバイス１０５へホスト権を戻し、不整合な状態を解消させ、データの整合性を保つことができる。よって、ユーザーはデータ転送の終了を待たずに途中で転送を中断することができ、使い勝手が良い装置を実現できる。
【００６７】
上記実施の形態においては、周辺装置２０１からホスト装置１０１へのデータの転送に際しては、デバイスコントローラ１０７は、ホスト装置１０１のメインの制御部であるＣＰＵ１３１ではなく他の制御部であるＷｉＧｉｇデバイス１０５にホスト権を委譲しデータの書き込みを行っているため、ＣＰＵ１３１に負荷をかけることなく画像や動画のデータを転送できる。
【００６８】
１．４  実施の形態１の変形例
図６は、実施の形態１の一変形例に係る通信システム１００の処理を示す。図６に示す処理においては、図３のステップＳ０１７〜Ｓ０２２の処理は行われない点で、上記実施の形態１とは異なる。具体的には、次の通りである。
ＷｉＧｉｇデバイス１０５がホスト権解放要求（ユーザー中断命令）の信号を受信し（ステップＳ０１５）、リモートアクセス受信制御部１４０がコマンドやデータの送受信を中断したことを通知するユーザー中断命令を周辺装置２０１に送信する（ステップＳ０１６）。このとき、ＷｉＧｉｇデバイス１０５は上記実施の形態１とは異なりホスト権を解放しない。
【００６９】
一方、ユーザー中断命令を受信した周辺装置２０１は、リモートアクセス中断検知部２２５がリモートＦＳ制御部２２４による動画の転送を中断させ、処理をＦＳ不整合処理部２２６に渡す。ＦＳ不整合処理部２２６は、データの転送が中断された際に、ファイルシステムの不整合が発生する箇所で中断されていないか確認する。ここで不整合が発生していない場合は、ステップＳ０２６に進む。
【００７０】
不整合が発生している場合は、途中まで書き込んだ画像や動画のデータができるだけ再生可能な状態になるように、次の処理を行う。ファイルシステムのディレクトリエントリとＦＡＴと書き込んだデータの不整合を解消するためのＦＳ不整合解消の情報として、処理開始論理アドレスと処理サイズを含むデータを生成し、ホスト装置１０１に送信する（ステップＳ０２３）。
【００７１】
その後のステップＳ０２４〜Ｓ０２７の処理は、図３に示す例と同じである。
上記変形例に係る通信システム１００によれば、ＷｉＧｉｇデバイス１０５はデータの転送を中断した後すぐにホスト権を解放せず、ＦＳ不整合解消が行われてからホスト権を解放する。従って、図３の例に比して、ＷｉＧｉｇデバイス１０５とデバイスコントローラ１０７間の処理を簡単にすることができ、ＦＳ不整合が発生した場合は不整合解消までの時間を短縮できる。
【００７２】
２  実施の形態２
２．１  通信システム１００による処理
図７は、実施の形態２に係る通信システム１００の処理を示す。本実施の形態に係る通信システム１００は、図１及び２に示すものと同様の構成を有する。尚、実施の形態１と同じ構成、機能、処理については同じ符号を付すものとし、詳細な説明は省略する。
ステップＳ２００１〜ステップＳ２０１４までの処理は、図３のステップＳ００１〜ステップＳ０１４と同様である。
ステップＳ２０１５では、ステップＳ２０１４においてＣＰＵ１３１からユーザー中断命令の信号を受信したデバイスコントローラ１０７のリモートアクセス中断制御部１４２が、リングバス１０６を介してＷｉＧｉｇデバイス１０５に対してホスト権解放要求（ポーズ指令）の信号を送信する。
【００７３】
ステップＳ２０１６では、ＷｉＧｉｇデバイス１０５がホスト権解放要求（ポーズ指令）の信号を受信すると、リモートアクセス受信制御部１４０がポーズ指令を周辺装置２０１に送信する。
ステップＳ２０１７では、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の信号を送信する。
【００７４】
ステップＳ２０１８では、ポーズ指令を受信したリモートアクセス中断検知部２２５は、リモートＦＳ制御部２２４による動画の転送を中断させ、処理をＦＳ不整合処理部２２６に渡す。ＦＳ不整合処理部２２６は、データの転送が中断された際に、ファイルシステムの不整合が発生する箇所で中断されていないか確認する。ここで不整合が発生していない場合は、ステップＳ２０２４に進む。不整合が発生している場合は、ファイルシステムの不整合が発生していることを通知するためのＦＳ不整合通知を、ＷｉＧｉｇデバイス１０５、２０８を介して行う。更に、周辺装置２０１は、ＦＳ不整合通知の送信後、ポーズ状態、つまり一時停止状態となるよう制御される。
【００７５】
ステップＳ２０１９では、ホスト権を戻されたデバイスコントローラ１０７のリモートアクセス中断制御部１４２が、ファイルシステムに不整合が発生していないか確認するための制御信号をＷｉＧｉｇデバイス１０５に対して発行する。
ステップＳ２０２０では、ＷｉＧｉｇデバイス１０５のリモートアクセス受信制御部１４０が、周辺装置２０１からのファイルシステムの不整合が発生したか否かの情報をデバイスコントローラ１０７からの制御信号の応答として返す。本実施の形態では、ファイルシステムの不整合が発生したものとして応答を返している。尚、ファイルシステムの不整合が発生したか否かの情報が周辺装置２０１から送られるタイミングが遅れ、デバイスコントローラ１０７からの確認に応答できないような場合がある。その場合、デバイスコントローラ１０７に対して確認中等の応答を一旦返す等すれば良い。また割り込みを使う等他の方法を使っても良い。
【００７６】
ステップＳ２０２１では、ホスト権を解放されたデバイスコントローラ１０７は、内蔵メモリデバイス１０３に対し、所定の処理を実行する。所定の処理とは、例えば内蔵メモリデバイス１０３からのデータの読み出しや、中断された転送データとは異なる論理アドレスへの書き込み処理等である。このように、周辺装置２０１からのデータ転送を一時停止にしている間に、新たに管理情報の不整合を発生させない範囲で内蔵メモリデバイス１０３に対し行える処理を実行する。
【００７７】
ステップＳ２０２２では、デバイスコントローラ１０７は、ステップＳ２０２１における内蔵メモリデバイス１０３への処理を終了すると、バス権利制御部１４１がホスト権委譲（再開指示）の制御信号をＷｉＧｉｇデバイス１０５に対して送信する。
ステップＳ２０２３では、ＷｉＧｉｇデバイス１０５がホスト権委譲（再開指示）の制御信号を受信すると、リモートアクセス受信制御部１４０は周辺装置２０１からの制御信号やデータを送受信できるようにするリモートアクセス許可信号を周辺装置２０１に送信する。周辺装置２０１は、リモートアクセス許可信号を受信すると、一時停止していたデータ転送を再開する。このとき、周辺装置２０１はテータ転送を中断したところから再開できるため、ＦＳ管理情報の読み出しから行う必要はない（つまり、マウントされた状態をつくる必要はない）。従って、実施の形態１（図３）のように、ＦＳ不整合処理部２２６により不整合解消の情報を生成して送信する必要はない。また、ホスト装置１０１においては、リモートアクセス受信制御部１４０にてＦＳ不整合解消の情報を処理する必要はない。
【００７８】
ステップＳ２０２４では、ＦＳ不整合処理部２２６の処理が完了したことを通知するリモートアクセス完了の制御信号をホスト装置１０１へ送信する。
ステップＳ２０２５では、リモートアクセス完了の制御信号を、ＷｉＧｉｇデバイス１０５を介して受信し、リモートアクセス受信制御部１４０がホスト権をデバイスコントローラ１０７に解放するホスト権解放の制御信号を送信する。このホスト権解放の制御信号を受信したデバイスコントローラ１０７は、ＣＰＵ１３１にデータの転送の中断処理が完了したことを通知し、以降ＣＰＵ１３１から内蔵メモリデバイス１０３に対してアクセスができるようになる。
【００７９】
２．２  実施の形態２の特徴
上記実施の形態においては、データの転送が中断されファイルシステムにおける管理情報に不整合が生じた場合、ホスト装置１０１は周辺装置２０１に対してポーズ指令を送信し、解放されたホスト権によりデバイスコントローラ１０７が内蔵メモリデバイス１０３に対して所定の処理を行った後、ホスト権を再びＷｉｇＧｉｇデバイス１０５に戻し、周辺装置２０１に対してデータ転送を再開させる。これにより、ホスト装置１０１は、周辺装置２０１との間においてファイルシステムの不整合を解消するために、ＦＳ管理情報の読み出し等の初期処理からやり直す必要がない。よって、データ転送の中断状態を早期に解消することができる。
【００８０】
２．３  実施の形態２の変形例
上記実施の形態においては、デバイスコントローラ１０７はホスト権解放要求と共にポーズ指令を出しているが（Ｓ２０１５）、最初からポーズ指令を出す必要はない。例えば、デバイスコントローラ１０７は、ホスト権解放要求と共に所定の制御信号（ポーズ指令や中断指令に限定されない）を送信し、ＷｉＧｉｇデバイス１０５を介してデータ転送の状態を確認した後、ポーズ指令か中断指令を生成し、ＷｉＧｉｇデバイス１０５に送信するようにしてもよい。
【００８１】
３  その他実施の形態
上記実施形態で説明した通信システム、ホスト装置、周辺装置において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
尚、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【００８２】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る通信システム、ホスト装置、周辺装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリを挙げることができる。
【００８３】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
また、上記実施形態において、ホスト装置と周辺装置とは、別装置である場合について説明したが、これに限定されることはなく、ホスト装置と周辺装置とは、１つの装置内に構成されるものであってもよい。また、ホスト装置は、アクセスモジュール（ホストモジュール）を含む概念であり、周辺装置は、周辺装置モジュールを含む概念である。
【００８４】
尚、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態において使用した数値は一例であり、その他の数値を使用しても良い。
【産業上の利用可能性】
【００８５】
上記実施の形態に係るホスト装置は、動画記録再生装置等のＡＶ機器あるいは携帯電話等の用途に適用でき、周辺装置は、無線ＬＡＮ等通信デバイスが装置の中に組み込まれる半導体モジュール等の用途に適用できる。
【符号の説明】
【００８６】
１００  通信システム（通信システムの一例）
１０１  スマートフォン／ホスト装置（通信機器の一例）
１０３  内蔵メモリデバイス（メモリの一例）
１０４  ＧＰＳデバイス
１０５、２０８  ＷｉＧｉｇデバイス（第２制御部の一例）
１０６  リングバス（通信線の一例）
１０７  デバイスコントローラ（第１制御部の一例）
１３１  ＣＰＵ（中央制御部の一例）
１３２  ＲＡＭ
１３３  ＲＯＭ
１３４  操作部（操作部の一例）
１３５  入出力部
１３６  表示部（表示部の一例）
１３７  第一バス
１４０  リモートアクセス受信制御部
１４１  バス権利制御部
１４２  リモートアクセス中断制御部
１４３  メモリＤｒｉｖｅｒ
１４４  無線制御Ｄｒｉｖｅｒ
２０１  デジタルカメラ／周辺装置（データ記録装置の一例）
２１１  ＣＰＵ
２１２  ＲＡＭ
２１３  データ格納部
２１４  撮影部
２１５  操作部
２１６  表示部
２１７  バス
２２０  ＲＯＭ
２２１  アプリケーション制御部
２２２  格納データ制御部
２２３  無線制御Ｄｒｉｖｅｒ
２２４  リモートＦＳ制御部（データ転送制御部の一例）
２２５  リモートアクセス中断検知部（データ転送制御部の一例）
２２６  ＦＳ不整合処理部（データ転送制御部の一例）
【図１】
0005468710.tif 000002
【図２】
0005468710.tif 000003
【図３】
0005468710.tif 000004
【図４】
0005468710.tif 000005
【図５】
0005468710.tif 000006
【図６】
0005468710.tif 000007
【図７】
0005468710.tif 000008