本出願は、その全体が参照により本明細書に組み込まれている、2016年6月6日に中国特許庁に出願された、「DATA ACCESS METHOD AND RELATED DEVICE」という名称の中国特許出願第201610395894.8号の優先権を主張する。
本発明は、通信技術の分野に関し、詳細には、データアクセス方法および関連するデバイスに関する。
現在、携帯電話は、PCのデータにアクセスするために、ワイヤレスフィデリティ(Wireless−Fidelity、Wi−Fi)を使用することによってパーソナルコンピュータ(Personal Computer、PC)に接続され得る。図1に示されているように、アンドロイド(Android)携帯電話におけるLinux(登録商標)システムは、コンピュータ用語:ルートアクセスを提供し、それにより、携帯電話はネットワーク共有ファイルをLinux側にマウントすることによってPCのデータにアクセスする。具体的な実装処理は以下の通りである。まず、携帯電話がルートアクセスを得るのを可能にするために、ルートファイルパッケージが携帯電話上にインストールされる必要がある。次に、ネットワークファイルシステム(Network File System、NFS)サーバがLinux側に構成され、NFSサーバが起動される。次に、ネットワーク共有ファイルをLinux側にマウントすることによってNFSファイルがマウントされ、PC上のWindowsシステムのデータが直接、携帯電話にマップされ、携帯電話がコンピュータのデータにアクセスするのを可能にする。
しかしながら、携帯電話は、携帯電話とPCがネットワークに接続され、固定のインターネットプロトコル(Internet Protocol、IP)アドレスがPC上に構成されているときにしかPCのデータにアクセスすることができない。動作は複雑である。
本発明の目的は、データアクセス方法および関連するデバイスを提供し、携帯電話がPCのデータにアクセスするときに見られる従来技術の欠点を解消することである。
本発明の第1の態様によれば、データアクセス方法が提供される。この方法は、第1のデバイスに適用され、第1のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第2のデバイスに接続される。この方法は、第1のデバイスによって、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスするステップと、第1のデバイスによって、インターフェースに対して入力された(entered for)命令を受信し、第2のデバイスのデータを表示するステップと、データに対して入力された動作命令を受信するステップと、動作命令に従ってデータを処理するステップとを含む。
第1のデバイスが、USBインターフェースを使用することによって第2のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。第2のデバイスが第1のデバイスの仮想記憶ユニットとして働き、それによって、第1のデバイスの記憶空間を拡張することが理解され得る。このようにして、第1のデバイスは、インターフェースに対して入力された命令を受信したときに第2のデバイスのデータを表示することができる。さらに、第1のデバイスは、データに対して入力された動作命令を受信し、動作命令に従ってデータを処理する。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。
いくつかの実装形態では、第1のデバイスによって、データに対して入力された動作命令を受信するステップは具体的には、第1のデバイスによって、データに対して入力された選択動作命令を受信し、ターゲットデータを決定するステップと、第1のデバイスによって、ターゲットデータに対して入力された処理動作命令を受信するステップとを含み、第1のデバイスによって、動作命令に従ってデータを処理するステップは具体的には、第1のデバイスによって、処理動作命令に従って、処理動作命令に対応する動作をターゲットデータに対して実行するステップを含む。
第1のデバイスが、データに対して入力された選択動作命令を受信し、ターゲットデータを決定し、たとえば、第2のデバイスのデータからあるデータをターゲットデータとして選択することが理解され得る。この動作は単純である。さらに、第1のデバイスは、ターゲットデータに対して入力された処理動作命令を受信し、処理動作命令に従って、処理動作命令に対応する動作をターゲットデータに対して実行し、たとえば、ターゲットデータを削除、修正、またはコピーする。このことは、本明細書では特に限定されない。
いくつかの他の考えられる実装形態では、この方法は、第1のデバイスによって、動作命令に従ってデータを処理する前に、第1のデバイスによって、第2のデバイスによって送信された制御要求を受信するステップをさらに含み、第1のデバイスによって、動作命令に従ってデータを処理するステップは具体的には、第1のデバイスによって、制御要求に基づいて動作命令を第2のデバイスに送信するステップであって、動作命令が、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される、ステップを含む。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスが、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスすることが理解され得る。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、大容量記憶ドライバおよびUSB上位層アプリケーションドライバ上に同じパラメータが定義され、第1のデバイスは、同じパラメータに基づいて第2のデバイスと対話する。
USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続される前に、第2のデバイスのデータへの第1のデバイスのアクセスを実現するために、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、大容量記憶ドライバおよびUSB上位層アプリケーションドライバ上に同じパラメータが定義され、それによって、2つのドライバの動作モードが一致し、第1のデバイスが第2のデバイスのデータに正しくアクセスするのを可能にすることが理解され得る。
いくつかの他の考えられる実装形態では、パラメータは、USB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
実際の適用時には、パラメータは、USB機能インターフェース情報、デバイス情報、USBインターフェースにおけるエンドポイント情報などを含む。アクセスモードは、USB機能インターフェースを使用することによって定義される。たとえば、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続されると、第2のデバイスは、アクセスモード情報を識別し、それによって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイスは端末であり、第2のデバイスはパーソナルコンピュータPCである。第1のデバイスが二次デバイスであり、第2のデバイスが一次デバイスであることが理解され得る。二次デバイスは、一次/二次アクセスモードにおいて一次デバイスのデータにアクセスする。
本発明の第2の態様によれば、データアクセス方法が提供される。この方法は第2のデバイスに適用され、第2のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続され、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、USB上位層アプリケーションドライバ上に、第1のデバイスと対話するためのパラメータが定義される。この方法は、第2のデバイスによって、制御要求を生成するステップと、第2のデバイスによって、制御要求を第1のデバイスに送信するステップであって、制御要求が、第1のデバイスに、動作命令を第2のデバイスに送信するように命令するために使用される、ステップとを含む。
第2のデバイスが、USBインターフェースを使用することによって第1のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第2のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続される。USB上位層アプリケーションドライバが第2のデバイス上にインストールされ、第1のデバイスと対話するためのパラメータがUSB上位層アプリケーションドライバ上に定義され、それによって、第1のデバイスは第2のデバイスのデータに正しくアクセスする。さらに、第2のデバイスは、制御要求を生成し、制御要求を第1のデバイスに送信し、制御要求は、第1のデバイスに、動作命令を第2のデバイスに送信するように命令するために使用される。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。
いくつかの考えられる実装形態では、第2のデバイスは、第1のデバイスによって送信された動作命令を受信し、第2のデバイスは、動作命令に従ってターゲットデータを処理する。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスが、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスすることが理解され得る。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、パラメータは、USB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
実際の適用時には、パラメータは、USB機能インターフェース情報、デバイス情報、USBインターフェースにおけるエンドポイント情報などを含む。アクセスモードは、USB機能インターフェースを使用することによって定義される。たとえば、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続されると、第2のデバイスは、アクセスモード情報を識別し、それによって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイスは端末であり、第2のデバイスはパーソナルコンピュータPCである。第1のデバイスが二次デバイスであり、第2のデバイスが一次デバイスであることが理解され得る。二次デバイスは、一次/二次アクセスモードにおいて一次デバイスのデータにアクセスする。
第3の態様によれば、動作デバイスが提供される。この動作デバイスは、第1の態様もしくは第1の態様の任意の考えられる実装形態、または第2の態様もしくは第2の態様の任意の考えられる実装形態において提供される方法の機能を実現するように構成され、ハードウェア/ソフトウェアによって実装され、このハードウェア/ソフトウェアは機能に対応するユニットを含む。
従来技術におけるPCのデータへの携帯電話のアクセスの概略構造図である。
本発明の一実施形態によるシステムのフレームワークの概略構造図である。
本発明の一実施形態による第1のデバイスの概略構造図である。
本発明の一実施形態によるデータアクセスの一実装形態の概略図である。
本発明の一実施形態によるデータアクセスの別の実施形態の概略図である。
本発明の一実施形態によるデータアクセスシステムの概略構造図である。
以下の説明は、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的解決策について明確にかつ完全に説明する。明らかに、記載された実装形態は、本発明のすべての実施形態ではなく、いくつかの実施形態に過ぎない。当業者によって創造的な労力なしに本発明の実施形態に基づいて得られるすべての他の実施形態は、本発明の保護範囲内であるものとする。
本明細書、特許請求の範囲および本発明の添付の図面では、「第1の」、「第2の」、「第3の」、「第4の」などの用語は、それぞれに異なる対象を区別することを目的とした用語であり、特定の順序を示すものではない。さらに、「含む」、「備える」、およびそれらの任意の他の変形形態の用語は、非排他的な包含を対象とすることを目的とした用語である。たとえば、一連のステップまたはユニットを含む処理、方法、システム、製品、もしくはデバイスは、列挙されたステップもしくはユニットに限定されず、任意選択で、列挙されていないステップもしくはユニットをさらに含み、または任意選択で、処理、方法、製品、もしくはデバイスの別の固有のステップまたはユニットをさらに含む。
図2−aは、本発明の実施形態におけるシステムのフレームワーク図を示す。このシステムは、第1のデバイスと第2のデバイスとを含む。第2のデバイスは、複数の第1のデバイスに接続されることがある。たとえば、第1のデバイスは端末であり、第2のデバイスはPCである。第1のデバイス上に、カスタマイズされた大容量記憶(mass_storage)ドライバが作成され、第2のデバイス上に、カスタマイズされたUSB上位層アプリケーションドライバが作成される。カスタマイズされたUSB上位層アプリケーションドライバは、第2のデバイスのカーネル内で動作する。第1のデバイスと第2のデバイスはUSBインターフェースを使用することによって接続される。第1のデバイス上にカスタマイズされた大容量記憶ドライバを作成する具体的な処理は以下の通りである。大容量記憶ドライバは、大容量記憶プロトコルに基づいて第1のデバイス上に作成され、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などの第1のデバイスに関する情報が、大容量記憶ドライバ上に定義される。デバイス記述子は、種類、ベンダーコード、製品識別子、ベンダー記述子、USBプロトコルバージョンなどの第1のデバイスに関する情報を定義するために使用される。USBインターフェース記述子は、USBインターフェースの種類などの情報を定義するために使用され、1つのUSBインターフェースが特定の機能に対応する。エンドポイント記述子は、USBインターフェースにおける各エンドポイントの特定の機能を定義するために使用される。たとえば、第2のデバイスから受信されたデータを入力するために入力エンドポイントが使用され、第2のデバイスにデータを出力するために出力エンドポイントが使用される。第2のデバイス上にカスタマイズされたUSB上位層アプリケーションドライバを作成する具体的な処理は以下の通りである。第2のデバイスのプラットフォームに対応するUSBドライバ展開ツールが選択され、USB上位層アプリケーションドライバが作成され、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などの、バインドされる必要がある第1のデバイスに関する情報が、USB上位層アプリケーションドライバ上に定義される。USB上位層アプリケーションドライバ上に定義された第1のデバイスに関する情報は、大容量記憶ドライバ上に定義された第1のデバイスに関する情報と一致しており、これによって、上位層アプリケーションUSBドライバと大容量記憶ドライバの動作モードが確実に一致する。
第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。たとえば、プロトコル展開によってUSB物理ポートに関して複数のUSB機能インターフェースが定義されることがあり、USB機能インターフェースは、プロトコルマッピングによって得られる仮想インターフェースである。USB機能インターフェースは特定の機能に対応する。USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続されると、第2のデバイスは、第2のデバイスのデータにアクセスするためのUSB機能インターフェースにマップされる。第2のデバイスは、対応するUSB機能インターフェース情報に基づいてカスタマイズされたUSB上位層アプリケーションドライバを自動的にロードし、第2のデバイスのデータをSDカードの形態で第1のデバイス上にマウントして第2のデバイスのデータを第1のデバイスにマップし、第1のデバイスが第2のデバイスのデータにアクセスするのを可能にする。カスタマイズされたUSB上位層アプリケーションドライバが正常に動作した後、第2のデバイスは、USB機能インターフェース上に定義されたインターフェースモードに基づいて第1のデバイスと通信する。たとえば、第2のデバイスは、第1のデバイスと協働して第2のデバイスのデータにアクティブにアクセスするために、制御要求を第1のデバイスに送信する必要があり、それによって、第1のデバイスは、第2のデバイスのデータにアクセスすることを決定すると、制御要求に基づいて第2のデバイスに動作命令を返す。第2のデバイスは、第1のデバイスによって返された動作命令を受信した後、第1のデバイスが第2のデバイスのデータにアクセスするように対応する動作命令を実行する。
第1のデバイスは、第2のデバイスのデータにアクセスする際、第2のデバイスによって送信された制御要求に基づいて第2のデバイスに動作命令を返す。この動作命令は具体的には、第2のデバイスのデータのトラバース、書込み、読取り、削除、修正、作成、移動、コピー、送信、または追加などを含む。たとえば、第1のデバイスが第2のデバイスのデータをトラバースする必要があるとき、第1のデバイスは、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスの特定のデータをトラバースするための動作命令を第2のデバイスに返す。第2のデバイスは、動作命令を受信した後、第2のデバイスの対応するデータをトラバースしてトラバース結果(たとえば、トラバースされたファイルに関する情報)を得て、トラバースされたファイルに関する情報を第1のデバイスに送信する。トラバースされたファイルに関する情報が特に量が多く、第2のデバイスによって1つのバッチで送信されることが許可されたバイトの最大量を超えている場合、トラバースされたファイルに関する情報は、複数回にわたって第1のデバイスに送信されることがある。別の例では、第1のデバイスが第2のデバイスのデータを削除する必要があるとき、第1のデバイスは、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて、第2のデバイスの特定のデータを削除するための動作命令を第2のデバイスに返す。第2のデバイスは、動作命令を受信した後、第2のデバイスの対応するデータを削除し、第1のデバイスに削除結果を返す。
本発明の技術的解決策がアンドロイドシステムに適用され、または別のオペレーティングシステム、たとえば、MACシステムもしくはWindowsシステムに適用されることがあることに留意されたい。このことは、本明細書では特に限定されない。本発明のこの実施形態では、第1のデバイスは二次デバイスであることがあり、第2のデバイスは一次デバイスであることがある。以下の説明は、第1のデバイスが端末であり、第2のデバイスがPCである例を使用することによって本発明における2つのデータ処理実装形態について説明する。
実装形態1:
端末とPCが接続される前にまず、端末上に大容量記憶ドライバがインストールされる。大容量記憶ドライバはカスタマイズされたドライバである。PC上にUSB上位層アプリケーションドライバがインストールされる。USB上位層アプリケーションドライバはカスタマイズされた上位層アプリケーションドライバである。大容量記憶ドライバとUSB上位層アプリケーションドライバ上に同じパラメータ、たとえば、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子が別々に定義される。このことは、USBインターフェースを使用することによって端末とPCが接続された後で、各ドライバの動作モードを確実に一致させ、データ交換を容易にする。
端末がPCのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。USBインターフェースを使用することによって端末がPCに接続されると、PCが、アクセスモードに対応するUSB機能インターフェースにマップされる。PCは、対応するUSB機能インターフェース情報に基づいてUSB上位層アプリケーションドライバを自動的にロードし、PCのデータを仮想SDカードの形態で端末上にマウントし、マップされたインターフェースを使用することによって端末の表示画面上にデータを表示し、それによって、端末は、表示画面のユーザインターフェース上にPCのデータを表示することができる。ユーザは、端末のディスプレイインターフェースからPCのデータを見ることもある。端末上のカスタマイズされた大容量記憶ドライバおよびPC上のカスタマイズされた上位層アプリケーションドライバは、カスタマイズされたコマンドプロトコルを使用することによってデータアクセスおよび交換を実現する。PCのデータが仮想SDカードの形態で端末上にマウントされた後、端末上のすべてのアプリケーションは、ローカルSDカードにアクセスする場合と同様にPCのデータにアクセスする。
端末がPCのデータにアクセスするアクセスモードは、あらかじめ定義される。したがって、PCは制御要求を周期的に端末に送信する。端末は、PCによって送信された制御要求を受信した後にのみPCのデータにアクセスするための動作命令を含むメッセージをPCに返す。この理由は、一次/二次モードにおけるUSBプロトコルでは、端末は、二次デバイスとして、PCに動作命令を直接送信することができないからである。
実際の適用時には、端末が動作命令をPCに返す前に、上位層アプリケーションプログラムがデータにアクセスするとき、たとえば、上位層プログラムがファイルを削除する必要があるときに端末上の大容量記憶ドライバにおいて動作命令がトリガされる。削除コマンドの場合、PCによって周期的に送信される制御要求においてPCに動作命令が返される。PC上のカスタマイズされたUSB上位層アプリケーションドライバは、命令を受信した後、ファイルを削除する。次に、PCは、新しい制御要求においてファイル削除結果を端末に送信する。カスタマイズされた大容量記憶ドライバは、結果を受信した後、コールアンドリターン方式で上位層アプリケーションプログラムに結果を通知する。削除結果を返す方法は、上位層アプリケーションがローカルSDカードを呼び出してローカルSDカード内のファイルを削除するときに結果を返す方法と同様である。同様に、上位層アプリケーションプログラムは、ファイルをトラバースする必要があるとき、端末上のカスタマイズされた大容量記憶ドライバを呼び出してファイルトラバース動作命令をトリガする。この命令は、PCの制御要求のリターン命令においてPC上のカスタマイズされたUSB上位層アプリケーションドライバに転送される。カスタマイズされたUSB上位層アプリケーションドライバは、動作命令を得た後、ファイルをトラバースし、トラバース結果を新しい制御要求において端末側のカスタマイズされた大容量記憶ドライバに送信する。カスタマイズされた大容量記憶ドライバは、ドライバコールアンドリターン方式で上位層アプリケーションプログラムにトラバースされたファイルに関する情報を通知する。ファイル情報と、上位層アプリケーションプログラムがローカルSDカード内のファイルを呼び出してトラバースしたときに返される情報は、フォーマットが完全に一致する。同様に、上位層アプリケーションによってカスタマイズされたmass_storageドライバにアクセスするためのすべてのコマンドが、PCによってアクティブに要求される制御要求に応答してPC上のカスタマイズされたUSB上位層アプリケーションドライバに返される。PC上のカスタマイズされたUSB上位層アプリケーションドライバは、コマンドを実行した後、新しい制御要求において、結果を端末上のカスタマイズされた大容量記憶ドライバに送信する。結果は、大容量記憶ドライバの標準的なドライバリターン方法で上位層アプリケーションプログラムに通知される。このようにして、端末上にマウントされたPCのハードウェアディスクへのアクセスは、ローカルSDカードへのアクセスと完全に一致する。端末は、ユーザインターフェース上のユーザによってPCのデータに対して入力された動作命令を受信する。たとえば、PCのデータが端末のユーザインターフェース上に表示され、ユーザがPC上の特定のデータを削除する必要があるとき、ユーザは、データを削除するための動作オプションをクリックして、この動作オプションに対応する動作命令をトリガしてもよい。このようにして、端末は、PCから受信された制御要求に基づいて、動作命令を受信することができ、動作命令をPCに返す。
PCは、端末によって返された動作命令を受信した後、対応する動作を実行して実行結果を端末に送信する。このようにして、端末は、PCが動作命令を実行することに失敗したかそれとも成功したかに関する特定の状況を知ることができる。端末は、PCが動作命令を完全に実行することに失敗したことを知ったときには、引き続き動作命令をPCに送信することがあり、それによって、PCは、動作命令全体を実行するまで、引き続き終了していない動作命令を実行する。次に、PCは、制御要求を周期的に送信する段階に再び入る。たとえば、PCが制御要求を端末に送信した後、端末は動作命令を含まないメッセージをPCに送信する。
実装形態2:
端末とPCが接続される前にまず、端末上にカスタマイズされた大容量記憶ドライバが作成され、PC上にカスタマイズされたUSB上位層アプリケーションドライバが作成される。2つのドライバ上に同じデバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などが定義され、それにより、USBインターフェースを使用することによって端末とPCが接続された後に各ドライバの動作モードが確実に一致する。
端末がPCのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。USBインターフェースを使用することによって端末がPCに接続されると、PCは、アクセスモードに対応するUSB機能インターフェースにマップされ、PCは、対応するUSB機能インターフェース情報に基づいてカスタマイズされたUSB上位層アプリケーションドライバを自動的にロードして、端末とPCとの間の通信を実現する。
PCは、端末がPCのデータにアクセスするアクセスモードと協働するために、制御要求を端末に送信し、それによって、PCのデータがSDカードの形態で端末上にマウントされる。たとえば、PCは、仮想ストレージとして端末上にマウントされ、それによって、端末は、端末のユーザインターフェース上にPCのデータを表示することができる。このようにして、ユーザは、ユーザインターフェース上のPCのデータを見ることができ、それによって、端末は、ユーザインターフェース上のユーザによってデータに対して入力された動作命令を受信し、対応する動作を実行する。
たとえば、PCのデータが端末のユーザインターフェース上に表示され、ユーザがPC上の特定のデータを削除する必要があるとき、ユーザは、データを削除するための動作オプションをクリックして、この動作オプションに対応する動作命令をトリガしてもよい。このようにして、端末は、動作命令を受信することができ、動作命令を実行する。
端末は、動作命令を実行した後、ユーザインターフェース上に実行結果を表示する。このようにして、ユーザは、端末が動作命令を実行することに失敗したかそれとも成功したかに関する特定の状況を知ることができる。ユーザは、端末が動作命令を完全に実行することに失敗したことを知った後、引き続き動作命令をユーザインターフェース上に入力し、それによって、端末は、動作命令全体を実行するまで、引き続き終了していない動作命令を実行する。次に、PCは、制御要求を周期的に送信する段階に再び入る。たとえば、PCが制御要求を端末に送信した後、端末は動作命令を含まないメッセージをPCに送信する。次に、端末は一時的にドーマント状態であることがある。
本発明の一実施形態は、図2−bに示されているように第1のデバイスをさらに備える。説明を容易にするために、本発明のこの実施形態に関係する部分のみが示されている。開示されない技術的詳細については、本発明の実施形態における方法の部分を参照されたい。第1のデバイスは、携帯電話、タブレットコンピュータ、携帯情報端末(Personal Digital Assistant、略してPDA)、ポイントオブセール(Point of Sales、POS)、または車載コンピュータなどの任意の端末デバイスであってもよい。たとえば、第1のデバイスは携帯電話である。
図2−bは、本発明のこの実施形態に設けられる第1のデバイスに関連する携帯電話の部分構造のブロック図を示す。図2−bを参照するとわかるように、携帯電話は、無線周波数(Radio Frequency、略してRF)回路110、メモリ120、入力ユニット130、ディスプレイユニット140、センサー150、オーディオ回路160、USBモジュール170、プロセッサ160、および電源170などの構成要素を含む。当業者は、図2−bに示されている携帯電話の構造が携帯電話に対する制限を構成することはなく、携帯電話が、図示されている構成要素よりも多いかもしくは少ない構成要素を含むことがあり、またはいくつかの構成要素を組み合わせることがあり、または異なる構成要素レイアウトを有することがあることを理解し得る。
以下の説明は、携帯電話の構成部品について図2−bを参照しながら詳細に説明する。
RF回路110は、情報を送受信し、または呼の間に信号を送受信するように構成されることがある。具体的には、RF回路110は、第2のデバイスのデータが対象とされた動作命令をユーザから受信し、動作命令を処理のためにプロセッサ160に送信する。たとえば、プロセッサ160は、動作命令に従ってデータを処理する。一般に、RF回路110は、限定はされないが、アンテナと、少なくとも1つの増幅器、トランシーバ、カプラー、低雑音増幅器(Low Noise Amplifier、略してLNA)、デュプレクサなどを含む。加えて、RF回路110はさらに、ワイヤレス通信を介してネットワークおよび別のデバイスと通信することがある。上記のワイヤレス通信は、限定はされないが、グローバルシステムフォアモバイルコミュニケーションズ(Global System for Mobile Communications、略してGSM(登録商標))、汎用パケット無線サービス(General Packet Radio Service、GPRS)、符号分割多元接続(略してCode Division Multiple Access、CDMA)、広域符号分割多元接続(Wideband Code Division Multiple Access、略してWCDMA(登録商標))、ロングタームエボリューション(Long Term Evolution、略してLTE)、電子メール、ショートメッセージングサービス(Short Messaging Service、略してSMS)などを含む任意の通信標準またはプロトコルを使用することがある。
メモリ120は、ソフトウェアプログラムおよびコンピュータ命令を記憶するように構成されることがある。本発明のこの実施形態では、たとえば、メモリ120は第2のデバイスのデータを記憶する。プロセッサ160は、メモリ120に記憶されたソフトウェアプログラムおよびモジュールを動作させることによって携帯電話の様々な機能アプリケーションおよびデータ処理を実行する。メモリ120は、主としてプログラム記憶領域とデータ記憶領域とを含む。プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能によって必要とされるアプリケーションプログラム(たとえば、音声再生機能または画像再生機能)などを記憶することがある。データ記憶領域は、携帯電話の使用に基づいて作成されたデータ(たとえば、音声データまたはアドレス帳)などを記憶することがある。さらに、メモリ120は、高速ランダムアクセスメモリを含むことがあり、または不揮発性メモリ、たとえば、少なくとも1つの磁気ディスク記憶構成要素、フラッシュ記憶構成要素、または別の揮発性ソリッドステート記憶構成要素をさらに含むことがある。
入力ユニット130は、入力された数字情報または文字情報を受信して、携帯電話のユーザ設定および機能制御に関するキー信号入力を生成するように構成されることがある。具体的には、入力ユニット130は、タッチパネル131と別の入力デバイス132とを含むことがある。タッチパネル131は、タッチスクリーンとも呼ばれ、タッチパネル131上でまたはタッチパネル131の近くでユーザによって実行されるタッチ動作(たとえば、指またはスタイラスなどの任意の適切な物体または付属品を使用することによって、タッチパネル131上でまたはタッチパネル131の近くでユーザによって実行される動作)を回収し、あらかじめ設定されたプログラムに基づいて対応する接続装置を駆動することがある。たとえば、ユーザは、タッチパネル131上でタッチ動作を実行して第2のデータのインターフェースに対する入力命令を入力する。任意選択で、タッチパネル131は2つの部分、すなわち、タッチ検出装置およびタッチコントローラを含むことがある。タッチ検出装置は、ユーザのタッチ方向を検出し、タッチ動作によって伝達された信号を検出し、この信号をタッチコントローラに転送する。タッチコントローラは、タッチ検出装置からタッチ情報を受信し、タッチ情報を接触座標に変換して、次いで接触座標をプロセッサ160に送信し、プロセッサ160によって送信されたコマンドを受信して実行する。さらに、タッチパネル131は、抵抗型、容量型、赤外線、および弾性表面波などの複数の種類を使用することによって実装されることがある。タッチパネル131に加えて、入力ユニット130は、別の入力デバイス132をさらに含むことがある。具体的には、別の入力デバイス132は、限定はされないが、物理キーボード、機能キー(たとえば、音量調節キーまたはオン/オフキー)、トラックボール、マウス、ジョイスティックなどのうちの1つまたは複数を含むことがある。
ディスプレイユニット140は、ユーザによって入力された情報またはユーザのために提供された情報、および携帯電話の様々なメニューを表示するように構成されてもよい。本発明のこの実施形態では、たとえば、ディスプレイユニット140は、第2のデバイスのデータを表示し、または第2のデバイスがマップされたインターフェースを表示する。ディスプレイユニット140は、ディスプレイパネル141を含むことがある。任意選択で、ディスプレイパネル141は、液晶ディスプレイ(Liquid Crystal Display、略してLCD)、有機発光ダイオード(Organic Light−Emitting Diode、略してOLED)などの形態に構成されることがある。さらに、タッチパネル1131はディスプレイパネル141を覆うことがある。タッチパネル131は、タッチパネル131上またはタッチパネル131の近くでのタッチ動作を検出すると、タッチ動作をプロセッサ160に転送してこのタッチイベントの種類を決定する。次いで、プロセッサ160は、タッチイベントの種類に基づいてディスプレイパネル141上に対応する視覚出力を提供する。
ユーザは、携帯電話を使用して、USBモジュール150を使用することによって電子メールを送受信すること、ウェブページを閲覧すること、ストリーミングメディアにアクセスすることなどを行うことができる。USBモジュール150は、ユーザが、ワイヤレスブロードバンドインターネットアクセスを行うのを可能にし、たとえば、USBモジュールを使用することによって第2のデバイスのデータにアクセスするのを可能にする。図2−bは、USBモジュール150を示しているが、USBモジュール150が、携帯電話の必須部分ではなく、本発明の本質を変化させずに必要に応じて間違いなく省略され得ることが理解され得る。
プロセッサ160は、携帯電話の制御センターであり、様々なインターフェースおよび配線を使用することによって携帯電話全体のすべての部分を接続する。プロセッサ160は、メモリ120内に記憶されたソフトウェアプログラムおよび/またはモジュールを動作させるかまたは実行し、メモリ120内に記憶されたデータを呼び出すことによって、携帯電話の様々な機能を実行しデータを処理して、携帯電話の全体的な監視を実行し、たとえば、第2のデバイスのデータを処理する。任意選択で、プロセッサ160は、1つまたは複数の処理ユニットを含むことがある。好ましくは、アプリケーションプロセッサとモデムプロセッサは、プロセッサ160として一体化されることがある。アプリケーションプロセッサは主として、オペレーティングシステム、ユーザインターフェース、アプリケーションプログラムなどを処理する。モデムプロセッサは主として、ワイヤレス通信を処理する。モデムプロセッサがプロセッサ160に一体化されないことがあることが理解され得る。
携帯電話は、各部分に電力を供給する電源170(たとえば、バッテリー)をさらに含む。好ましくは、電源は、電源管理システムを使用することによってプロセッサ160に論理的に接続され、電源管理システムを使用することによって充電、放電などの機能および電力消費量を管理する。
図示されていないが、携帯電話は、カメラ、Bluetooth(登録商標)モジュールなどをさらに含むことがある。ここには詳細な説明は記載されない。
本発明のこの実施形態では、ディスプレイユニット140は、第2のデバイスがマップされたインターフェースを表示するように構成され、
入力ユニット130は、インターフェースに対して入力された命令を受信するように構成され、
プロセッサ160は、入力された命令に従って、ディスプレイユニットに第2のデバイスのデータを表示するように命令するように構成され、
ディスプレイユニット140は、第2のデバイスのデータを表示するようにさらに構成され、
入力ユニット130は、データに対して入力された動作命令を受信するようにさらに構成されて、かつ
プロセッサ160は、動作命令に従ってデータを処理するようにさらに構成される。
いくつかの考えられる実装形態では、動作命令は、選択動作命令と処理動作命令とを含み、
入力ユニット130は、データに対して入力された選択動作命令を受信し、ターゲットデータを決定し、ターゲットデータに対して入力された処理動作命令を受信するようにさらに構成されて、かつ
プロセッサ160は、選択動作命令に従ってターゲットデータを決定し、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行するように特に構成される。
いくつかの他の考えられる実装形態では、入力ユニット130は、プロセッサ160が動作命令に従ってデータを処理する前に、第2のデバイスによって送信された制御要求を受信するようにさらに構成され、
プロセッサ160は、制御要求に基づいて動作命令を第2のデバイスに送信するようにさらに構成され、動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
図2−bに示されている第1のデバイスの構造は、本発明のこの実施形態における第2のデバイスにも適用可能である。詳細については図2−bに示されている構造を参照されたい。ここでは詳細な説明は繰り返されない。
プロセッサ160は、制御要求を生成するように構成され、かつ
USBモジュール150は、制御要求を第1のデバイスに送信するように構成され、制御要求は、第1のデバイスに、動作命令を動作デバイスに送信するように命令するために使用される。
いくつかの考えられる実装形態では、USBモジュール150は、第1のデバイスによって送信された動作命令を受信するように構成され、かつ
プロセッサ160は、動作命令に従ってターゲットデータを処理するようにさらに構成される。
本発明のこの実施形態についての説明が記載される前にまず、本発明のアプリケーションシナリオについての説明が記載される。たとえば、第1のデバイスが携帯電話であり、第2のデバイスがPCである。PC上にカスタマイズされたUSB上位層アプリケーションドライバがインストールされ、携帯電話上にカスタマイズされた大容量記憶ドライバが実装される。携帯電話とPCは、USBインターフェースを使用することによって接続される。PCのデータが仮想SDカードの形態で携帯電話上にマウントされ、携帯電話が、PCを制御することによってPCのデータにアクセスする。いくつかの他のシナリオでは、たとえば、第1のデバイスはスマートルータであり、第2のデバイスはPCである。スマートルータは、USBインターフェースを使用することによってPCに接続され、スマートルータは、PCのハードディスクをスマートルータの記憶デバイスとして使用し、それによってデータアクセス機能を実質的に向上させる。いくつかの他のシナリオでは、たとえば、第1のデバイスは携帯電話であり、第2のデバイスはルータである。第2のデバイスとして、ルータは通常、マンマシン動作インターフェースを実現しない。携帯電話は通常、別の手法(たとえば、ウェブテレビジョンまたはオンラインPC)を使用することによって間接的にルータにアクセスする。通常、この間接的なアクセス方法では、直接的な動作機能(すなわち、データ追加、削除、修正など)が実現されることはない。しかしながら、本発明では、携帯電話は、USBインターフェースを使用することによってルータに直接的に接続され、ルータのデータは、仮想ローカルファイルの形態で携帯電話からアクセスされ得る。さらに、ルータのデータには追加、削除、修正などが行われ得る。
図3を参照するとわかるように、図3は、本発明の一実施形態によるデータアクセスの一実施形態の概略図である。この方法は、第1のデバイスおよび第2のデバイスに適用され、第1のデバイスと第2のデバイスは、USBインターフェースを使用することによって接続される。この実施形態の具体的な手順は以下の通りである。
ステップ301:第2のデバイスが第1のデバイス上のインターフェースにマップされる。
本発明のこの実施形態では、第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続された後、第2のデバイスが第1のデバイス上のインターフェースにマップされる。このインターフェースはメニューオプションまたはアイコンであることがある。このことは、本明細書では特に限定されない。第2のデバイスが仮想記憶ユニットとして第1のデバイス上にマウントされ、第1のデバイスの記憶空間を拡張することが理解され得る。
ステップ302:第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、このインターフェースを使用することによって第2のデバイスのデータにアクセスする。
実際の適用時には、第1のデバイスは、第2のデバイスがマップされたインターフェースをユーザインターフェース上に表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。ユーザは、ユーザインターフェース上の第2のデバイスのデータを見てもよく、データに対する入力命令を決定する。
第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。このデータは、第2のデバイス上のハードディスクに記憶されたテキスト、ピクチャ、音声、映像などである。このことは、本明細書では特に限定されない。
USBインターフェースを使用することによって第1のデバイスが初めて第2のデバイスに接続されると、第2のデバイスがUSB機能インターフェースにマップされ、第1のデバイスは、USB機能インターフェースを介して第2のデバイスのデータにアクセスする。第2のデバイスは、USB機能インターフェースに対応するインターフェースモードを識別し、カスタマイズされたUSB上位層アプリケーションドライバを自動的にロードし、カスタマイズされたUSB上位層アプリケーションドライバを第2のデバイスのカーネルにおいて動作させ、高い動作速度を実現する。第2のデバイス上のカスタマイズされたUSB上位層アプリケーションドライバ上に定義された第1のデバイスに関する情報は、第1のデバイス上のカスタマイズされた大容量記憶ドライバ上に定義された第1のデバイスに関する情報と同じであるので、このことは、カスタマイズされた大容量記憶ドライバとカスタマイズされたUSB上位層アプリケーションドライバの動作モードを確実に一致させる。カスタマイズされた大容量記憶ドライバがカスタマイズされたUSB上位層アプリケーションドライバにバインドされた後、第2のデバイスは、USB機能インターフェースに定義されたインターフェースモードに基づいて第1のデバイスと通信する。
ステップ303:第1のデバイスは、ユーザによってインターフェースに対して入力された命令を受信し、第2のデバイスのデータを表示する。
ステップ304:第1のデバイスは、データに対して入力された動作命令を受信する。
いくつかの考えられる実装形態では、第1のデバイスがデータに対して入力された動作命令を受信することは、具体的には、
第1のデバイスによって、データに対して入力された選択動作命令を受信し、ターゲットデータを決定することと、
第1のデバイスによって、ターゲットデータに対して入力された処理動作命令を受信することとを含む。
第1のデバイスが動作命令に従ってデータを処理することは、具体的には、
第1のデバイスによって、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行することを含む。
ステップ305:第2のデバイスは制御要求を生成する。
ステップ306:第2のデバイスは制御要求を第1のデバイスに送信する。制御要求は、第1のデバイスに動作命令を第2のデバイスに送信するように命令するために使用される。
ステップ307:第1のデバイスは、第2のデバイスによって送信された制御要求を受信する。
ステップ308:第1のデバイスは、制御要求に基づいて動作命令を第2のデバイスに送信する。動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってターゲットデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
本発明のこの実施形態では、第1のデバイスは、第2のデバイスのデータにアクセスすることを決定すると、制御要求に基づいて第2のデバイスに第1の動作命令を返す。第2のデバイスは、第1の動作命令を受信した後、第1のデバイスが第2のデバイスのデータにアクセスする必要があることを知り、第1の動作命令を実行し、第1の動作命令を実行した結果を第1のデバイスに送信する。第1の動作命令は、任意の種類の動作命令である。制御コマンドは、第2のデバイスのデータをトラバースすること、追加すること、削除すること、修正すること、または送信することを含み、第2のデバイスのデータを書き込むこと、読み取ること、作成すること、移動させること、またはコピーすることなどをさらに含む。複数の種類の特定の動作命令がある。このことは、本明細書では特に限定されない。
ステップ309:第2のデバイスは、第1のデバイスによって送信された動作命令を受信する。
ステップ310:第2のデバイスは、動作命令に従ってターゲットデータを処理する。
実際の適用時には、たとえば、第1のデバイスは、第2のデバイスのデータを修正することを決定すると、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスに動作命令を返す。動作命令が第2のデバイスの特定のデータを修正することである場合、第2のデバイスは、メッセージを受信した後、第2のデバイスの対応するデータを修正する。別の例では、第1のデバイスは、第2のデバイスの特定のデータをコピーする必要があるとき、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスに動作命令を返す。動作命令が第2のデバイスの特定のデータをコピーすることである場合、第2のデバイスは、メッセージを受信した後、第2のデバイスの対応するデータをコピーする。第2のデバイスがすべての必要なデータを1つのバッチでコピーすることができないと仮定すると、データは複数回にわたってコピーされ得る。
従来技術とは異なり、本発明は、第2のデバイスのデータの単なる書込みおよび読取りに限定されない。第2のデバイスのデータはさらに、削除、修正、コピーなどが施されることがある。第2のデバイスのデータに対する動作モードがより多様で融通性に富んでおり、そのことが、第1のデバイスと第2のデバイスとの間の対話方法の融通性を向上させることが理解され得る。
実際の適用時には、第1のデバイス上にユーザインターフェースが提供され、第2のデバイスによって送信された動作命令を実行した結果がユーザインターフェース上に表示され、それによって、ユーザは特定の実行結果を知る。たとえば、第2のデバイスは、特定のデータを修正した後、修正結果を第1のデバイスに送信する。第1のデバイスは、修正結果を受信した後、ユーザインターフェース上に対応する情報を表示し、ユーザによる閲覧を容易にする。
いくつかの考えられる実装形態では、USB伝送の電力消費量を低減させるために、第1のデバイスは、第2のデバイスのデータにアクセスしないことを決定すると、動作命令を運ばないメッセージを第2のデバイスに送信し、それによって、第2のデバイスは、第1のデバイスが今のところデータにアクセスする必要がないことを知る。しかしながら、第1のデバイスのデータアクセス要件を満たすために、第2のデバイス上にタイマーがセットされ、第2のデバイスは期間Tの間隔で制御要求を第1のデバイスに送信する。期間Tは、実際の適用に基づいて任意の時間に調整され得る。期間Tがより大きい値に調整されるにつれてポーリング占有率が減少する。Tが100msであると仮定すると、それは、第2のデバイスが制御要求を送信した後、第1のデバイスがデータアクセス要件を有さない場合、第2のデバイスが100ms後に再び制御要求を第1のデバイスに送信することを示す。USB帯域幅は、ポーリング間隔が100msに設定されるときにはほとんど影響が与えられず、100msの応答時間は、様々な通常の適用シナリオの要件も満たす。第2のデバイスが性能に関して比較的高い要件を有する場合、たとえば、第2のデバイスは、中央演算処理装置(Central Processing Unit、CPU)の電力消費量に関して比較的高い要件を有し、Tが500msに設定されることがある。このことは、実質的に、USB伝送の電力消費量を低減させ、CPU電力消費量に関する要求を増大させることがあるが、このことは、リアルタイム性能に関して高い要件を有さない適用シナリオに影響を与えない。したがって、Tは、実際の適用に基づいて決定されることがある。このことは、本明細書では特に限定されない。
従来技術では、第1のデバイスは、第2のデバイスによって送信されたコマンドの受信、および第2のデバイスによって送信されたコマンドに対する応答を受動的にしか行うことができない。しかしながら、本発明のこの実施形態では、カスタマイズされた大容量記憶ドライバが第1のデバイス上にインストールされ、カスタマイズされたUSB上位層アプリケーションドライバが第2のデバイス上にインストールされる。同じ情報、たとえば、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などが大容量記憶ドライバおよびUSB上位層アプリケーションドライバ向けにカスタマイズされる。第2のデバイスのデータにアクセスするためのアクセスモードは、USBインターフェース記述子に定義される。USBインターフェースを使用することによって第1のデバイスと第2のデバイスが接続された後、第2のデバイスは、USBインターフェースに対応するアクセスモードを識別し、次いでカスタマイズされたUSB上位層アプリケーションドライバを第2のデバイス上に自動的にロードする。カスタマイズされたUSB上位層アプリケーションドライバ上に定義された情報は、第1のデバイス上のカスタマイズされた大容量記憶ドライバ上に定義された情報と同じであるので、このことは、カスタマイズされたUSB上位層アプリケーションドライバおよびカスタマイズされた大容量記憶ドライバの動作モードを確実に一致させ、第1のデバイスは第2のデバイスのデータにアクセスする。
図4を参照するとわかるように、図4は、本発明の一実施形態によるデータアクセスの別の実施形態の概略図である。たとえば、第1のデバイスは携帯電話であり、第2のデバイスはPCである。具体的な手順は以下の通りである。PCは制御要求(cmd req)を携帯電話に送信する。携帯電話は、制御要求を受信した後、PCのデータにアクセスすべきどうかを決定する。携帯電話は、PCのデータにアクセスする必要がない場合、動作命令を運ばないメッセージ(ok nocmd)をPCに送信する。期間T(たとえば、100ms)の後、PCは再び制御要求(cmd req)を携帯電話に送信する。携帯電話は、PCのデータにアクセスする必要があるとき、第1の動作命令を運ぶメッセージ(cmd_request1)をPCに返す。PCは、メッセージを受信した後、第1の動作命令に対応する結果データを作成し、さらに、対応する結果データ(cmd req responedata1)を携帯電話に送信する。携帯電話が対応する結果データを受信した後、他のコマンドがない場合、携帯電話は、動作命令を運ばないメッセージ(ok nocmd)をPCに送信する。携帯電話は、PCが第1の動作命令の実行を終了していないことを確認すると、第2の動作命令を運ぶメッセージ(cmd request2)を再びPCに送信する。PCは、メッセージを受信した後、第2の動作命令を実行し、第2の動作命令に対応する結果データを作成し、さらに、対応する結果データ(cmd req responedata2)を携帯電話に送信する。携帯電話は、対応する結果データを受信した後、上記のステップを再び実行し、それによって、PC側は、携帯電話が依然としてデータにアクセスする必要があるかどうかを知り、上記と同様のことを実行する。ここでは詳細な説明は繰り返されない。
本発明の実施形態における上記の関連する方法をより良く実施するために、以下の説明は、上記の方法と協働する関連するシステムを提供する。
図5を参照するとわかるように、図5は、本発明の一実施形態によるデータアクセスシステムの概略構造図である。このシステムは、第1のデバイス500と第2のデバイス600とを含む。第1のデバイス500は、ユニバーサルシリアルバスUSBインターフェースを使用することによって第2のデバイス600に接続される。第1のデバイスは、ディスプレイモジュール501と、受信モジュール502と、処理モジュール503とを含む。
ディスプレイモジュール501は、第2のデバイスがマップされたインターフェースを表示するように構成され、
受信モジュール502は、ディスプレイモジュール501によって表示されたインターフェースに対して入力された命令を受信するように構成され、
処理モジュール503は、受信モジュール502によって受信された入力された命令に従って、ディスプレイモジュール501に第2のデバイスのデータを表示するように命令するように構成され、
ディスプレイモジュール501は、第2のデバイスのデータを表示するようにさらに構成され、
受信モジュール502は、データに対して入力された動作命令を受信するようにさらに構成され、かつ
処理モジュール503は、受信モジュール502によって受信された動作命令に従ってデータを処理するようにさらに構成される。
いくつかの考えられる実装形態では、動作命令は、選択動作命令と処理動作命令とを含み、
受信モジュール502は、データに対して入力された選択動作命令を受信し、ターゲットデータに対して入力された処理動作命令を受信するようにさらに構成され、
処理モジュール503は、選択動作命令に従ってターゲットデータを決定し、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行するように構成される。
いくつかの他の考えられる実装形態では、受信モジュール502は、処理モジュール503が動作命令に従ってデータを処理する前に、第2のデバイスによって送信された制御要求を受信するようにさらに構成され、
処理モジュール503は、制御要求に基づいて動作命令を第2のデバイスに送信するようにさらに構成され、動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
いくつかの他の考えられる実装形態では、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイスと対話するためのパラメータが大容量記憶ドライバ上に定義される。
いくつかの他の考えられる実装形態では、パラメータはUSB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
いくつかの考えられる実装形態では、第1の端末は端末である。
第2のデバイス600は、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続される。動作デバイス上にUSB上位層アプリケーションドライバがインストールされる。第1のデバイスと対話するためのパラメータがUSB上位層アプリケーションドライバ上に定義される。第2のデバイスは、処理モジュール601と、送信モジュール602と、受信モジュール603とを含む。
処理モジュール601は、制御要求を生成するように構成され、かつ
送信モジュール602は、制御要求を第1のデバイスに送信するように構成され、制御要求は、第1のデバイスに、動作命令を動作デバイスに送信するように命令するために使用される。
いくつかの考えられる実装形態では、第2のデバイス600は、
第1のデバイスによって送信された動作命令を受信するように構成された受信モジュール603と、
受信モジュール603によって受信された動作命令に従ってターゲットデータを処理するようにさらに構成された処理モジュール601とをさらに含む。
いくつかの他の考えられる実装形態では、パラメータはUSB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが動作デバイスのデータにアクセスするアクセスモードに関する情報を含む。
いくつかの考えられる実装形態では、第2のデバイス600は、パーソナルコンピュータPCである。
USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。第2のデバイスが第1のデバイスの仮想記憶ユニットとして働き、それによって第1のデバイスの記憶空間を拡張することが理解され得る。このようにして、第1のデバイスは、インターフェースに対して入力された命令を受信したときに第2のデバイスのデータを表示することができる。さらに、第1のデバイスは、データに対して入力された動作命令を受信し、動作命令に従ってデータを処理する。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。従来技術とは異なり、本発明の実施形態ではネットワークが接続される必要はなく、それによってネットワーク通信の消費量を低減させる。
考えられる実装形態では、送信モジュールおよび受信モジュールは、ソフトウェアモジュールであることもあり、ポータブル電子デバイスのトランシーバに実装され得る。処理モジュールも、ソフトウェアモジュールであることがあり、コンピュータシステムのプロセッサに実装され得るか、または特定の集積回路であることもある。
図5に示されている第1のデバイスおよび第2のデバイスが、図3に示されている方法実施形態における第1のデバイスおよび第2のデバイスに対応することがあり、第1のデバイスまたは第2のデバイスにおける各ユニットの上記の動作および/または機能ならびに他の動作および/または機能がそれぞれ、図3に示されている方法の対応する手順を実施することを目的としたものであることに留意されたい。説明を簡潔にするために、ここには詳細な説明は記載されない。
上記の実施形態では、実施形態の説明はそれぞれの焦点を有する。実施形態において詳細に記載されていない部分については、他の実施形態における関連する説明が参照されてもよい。
説明を好都合にかつ簡単にするために、上記のポータブル電子デバイス、コンピュータ可読記憶媒体、およびユニットの詳細な動作処理に関しては、上記の方法実装形態における対応する処理が参照されてもよく、ここには詳細な説明は記載されないことが当業者によって明確に理解されることがある。
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、および方法が他の方法で実施されてもよいことを理解されたい。たとえば、記載された装置実施形態は、例に過ぎない。たとえば、ユニットの分割は、論理的な機能の分割に過ぎず、実際の実装形態では他の分割であってもよい。たとえば、複数のユニットもしくは構成要素が別のシステムとして組み合わされるかもしくは一体化されてもよく、またはいくつかの特徴が無視されてもよく、もしくは実行されなくてもよい。さらに、表示されるかまたは論じられた相互結合または直接結合または通信接続は、いくつかのインターフェースを使用して実装されてもよい。装置もしくはユニット間の間接的な結合もしくは通信接続は、電気的な形態で実装されてもよく、機械的な形態で実装されてもよく、または他の形態で実装されてもよい。
別個の部品として記載されたユニットは、物理的に別個の部品であってもよくまたはそうでなくてもよく、ユニットとして表示された部品は、物理的なユニットであってもよくまたはそうでなくてもよく、1つの位置に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。ユニットのいくつかまたはすべては、実施形態において提供された技術的解決策を実現するために実際のニーズに従って選択されてもよい。
さらに、本発明の実施形態における機能ユニットが1つの処理ユニットとして一体化されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットとして一体化されてもよい。一体化されたユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用されるとき、一体化されたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づいて、基本的に本発明の技術的解決策、または従来技術に寄与する部分、またはこの技術的解決策のすべてもしくはいくつかが、ソフトウェア製品の形態で実装されてもよい。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってもよい)に本発明の実施形態に記載された方法のステップのうちのすべてまたはいくつかを実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ(Read−Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
本発明は、上記に詳細に記載されている。本発明の原則および実装形態は、本明細書において具体的な例を介して記載されている。実施形態に関する説明は、本発明の方法および主要な考えの理解を助けるために提供されているに過ぎない。さらに、当業者は、本発明の考えに従って、具体的な実装形態および適用範囲に関して本発明に変更を施すことができる。したがって、本明細書の内容は、本発明に対する制限と解釈されるものではない。
本出願は、その全体が参照により本明細書に組み込まれている、2016年6月6日に中国特許庁に出願された、「DATA ACCESS METHOD AND RELATED DEVICE」という名称の中国特許出願第201610395894.8号の優先権を主張する。
本発明は、通信技術の分野に関し、詳細には、データアクセス方法および関連するデバイスに関する。
現在、携帯電話は、PCのデータにアクセスするために、ワイヤレスフィデリティ(略してWi−Fi)を使用することによってパーソナルコンピュータ(略してPC)に接続され得る。図1に示されているように、アンドロイド携帯電話におけるLinux(登録商標)システムは、コンピュータ用語:ルートアクセスを提供し、それにより、携帯電話はネットワーク共有ファイルをLinux側にマウントすることによってPCのデータにアクセスする。具体的な実装処理は以下の通りである。まず、携帯電話がルートアクセスを得るのを可能にするために、ルートファイルパッケージが携帯電話上にインストールされる必要がある。次に、ネットワークファイルシステム(NFS)サーバがLinux側に構成され、NFSサーバが起動される。次に、ネットワーク共有ファイルをLinux側にマウントすることによってNFSファイルがマウントされ、PC上のWindowsシステムのデータが直接、携帯電話にマップされ、携帯電話がコンピュータのデータにアクセスするのを可能にする。
しかしながら、携帯電話は、携帯電話とPCがネットワークに接続され、固定のインターネットプロトコル(略してIP)アドレスがPC上に構成されているときにしかPCのデータにアクセスすることができない。動作は複雑である。
本発明の目的は、データアクセス方法および関連するデバイスを提供し、携帯電話がPCのデータにアクセスするときに見られる従来技術の欠点を解消することである。
本発明の第1の態様によれば、データアクセス方法が提供される。この方法は、第1のデバイスに適用され、第1のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第2のデバイスに接続される。この方法は、第1のデバイスによって、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスするステップと、第1のデバイスによって、インターフェースに対して入力された(entered for)命令を受信し、第2のデバイスのデータを表示するステップと、データに対して入力された動作命令を受信するステップと、動作命令に従ってデータを処理するステップとを含む。
第1のデバイスが、USBインターフェースを使用することによって第2のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。第2のデバイスが第1のデバイスの仮想記憶ユニットとして働き、それによって、第1のデバイスの記憶空間を拡張することが理解され得る。このようにして、第1のデバイスは、インターフェースに対して入力された命令を受信したときに第2のデバイスのデータを表示することができる。さらに、第1のデバイスは、データに対して入力された動作命令を受信し、動作命令に従ってデータを処理する。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。
いくつかの実装形態では、第1のデバイスによって、データに対して入力された動作命令を受信するステップは具体的には、第1のデバイスによって、データに対して入力された選択動作命令を受信し、ターゲットデータを決定するステップと、第1のデバイスによって、ターゲットデータに対して入力された処理動作命令を受信するステップとを含み、第1のデバイスによって、動作命令に従ってデータを処理するステップは具体的には、第1のデバイスによって、処理動作命令に従って、処理動作命令に対応する動作をターゲットデータに対して実行するステップを含む。
第1のデバイスが、データに対して入力された選択動作命令を受信し、ターゲットデータを決定し、たとえば、第2のデバイスのデータからあるデータをターゲットデータとして選択することが理解され得る。この動作は単純である。さらに、第1のデバイスは、ターゲットデータに対して入力された処理動作命令を受信し、処理動作命令に従って、処理動作命令に対応する動作をターゲットデータに対して実行し、たとえば、ターゲットデータを削除、修正、またはコピーする。このことは、本明細書では特に限定されない。
いくつかの他の考えられる実装形態では、この方法は、第1のデバイスによって、動作命令に従ってデータを処理する前に、第1のデバイスによって、第2のデバイスによって送信された制御要求を受信するステップをさらに含み、第1のデバイスによって、動作命令に従ってデータを処理するステップは具体的には、第1のデバイスによって、制御要求に基づいて動作命令を第2のデバイスに送信するステップであって、動作命令が、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される、ステップを含む。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスが、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスすることが理解され得る。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、大容量記憶ドライバおよびUSB上位層アプリケーションドライバ上に同じパラメータが定義され、第1のデバイスは、同じパラメータに基づいて第2のデバイスと対話する。
USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続される前に、第2のデバイスのデータへの第1のデバイスのアクセスを実現するために、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、大容量記憶ドライバおよびUSB上位層アプリケーションドライバ上に同じパラメータが定義され、それによって、2つのドライバの動作モードが一致し、第1のデバイスが第2のデバイスのデータに正しくアクセスするのを可能にすることが理解され得る。
いくつかの他の考えられる実装形態では、パラメータは、USB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
実際の適用時には、パラメータは、USB機能インターフェース情報、デバイス情報、USBインターフェースにおけるエンドポイント情報などを含む。アクセスモードは、USB機能インターフェースを使用することによって定義される。たとえば、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続されると、第2のデバイスは、アクセスモード情報を識別し、それによって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイスは端末であり、第2のデバイスはパーソナルコンピュータPCである。第1のデバイスが二次デバイスであり、第2のデバイスが一次デバイスであることが理解され得る。二次デバイスは、一次/二次アクセスモードにおいて一次デバイスのデータにアクセスする。
本発明の第2の態様によれば、データアクセス方法が提供される。この方法は第2のデバイスに適用され、第2のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続され、第2のデバイス上にUSB上位層アプリケーションドライバがインストールされ、USB上位層アプリケーションドライバ上に、第1のデバイスと対話するためのパラメータが定義される。この方法は、第2のデバイスによって、制御要求を生成するステップと、第2のデバイスによって、制御要求を第1のデバイスに送信するステップであって、制御要求が、第1のデバイスに、動作命令を第2のデバイスに送信するように命令するために使用される、ステップとを含む。
第2のデバイスが、USBインターフェースを使用することによって第1のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第2のデバイスは、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続される。USB上位層アプリケーションドライバが第2のデバイス上にインストールされ、第1のデバイスと対話するためのパラメータがUSB上位層アプリケーションドライバ上に定義され、それによって、第1のデバイスは第2のデバイスのデータに正しくアクセスする。さらに、第2のデバイスは、制御要求を生成し、制御要求を第1のデバイスに送信し、制御要求は、第1のデバイスに、動作命令を第2のデバイスに送信するように命令するために使用される。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。
いくつかの考えられる実装形態では、第2のデバイスは、第1のデバイスによって送信された動作命令を受信し、第2のデバイスは、動作命令に従ってターゲットデータを処理する。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスが、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスすることが理解され得る。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、パラメータは、USB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
実際の適用時には、パラメータは、USB機能インターフェース情報、デバイス情報、USBインターフェースにおけるエンドポイント情報などを含む。アクセスモードは、USB機能インターフェースを使用することによって定義される。たとえば、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続されると、第2のデバイスは、アクセスモード情報を識別し、それによって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。
いくつかの他の考えられる実装形態では、第1のデバイスは端末であり、第2のデバイスはパーソナルコンピュータPCである。第1のデバイスが二次デバイスであり、第2のデバイスが一次デバイスであることが理解され得る。二次デバイスは、一次/二次アクセスモードにおいて一次デバイスのデータにアクセスする。
第3の態様によれば、動作デバイスが提供される。この動作デバイスは、第1の態様もしくは第1の態様の任意の考えられる実装形態、または第2の態様もしくは第2の態様の任意の考えられる実装形態において提供される方法の機能を実現するように構成され、ハードウェア/ソフトウェアによって実装され、このハードウェア/ソフトウェアは機能に対応するユニットを含む。
従来技術におけるPCのデータへの携帯電話のアクセスの概略構造図である。
本発明の一実施形態によるシステムのフレームワークの概略構造図である。
本発明の一実施形態による第1のデバイスの概略構造図である。
本発明の一実施形態によるデータアクセス方法の一実装形態の概略図である。
本発明の一実施形態によるデータアクセス方法の別の実施形態の概略図である。
本発明の一実施形態によるデータアクセスシステムの概略構造図である。
以下の説明は、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的解決策について明確にかつ完全に説明する。明らかに、記載された実装形態は、本発明のすべての実施形態ではなく、いくつかの実施形態に過ぎない。当業者によって創造的な労力なしに本発明の実施形態に基づいて得られるすべての他の実施形態は、本発明の保護範囲内であるものとする。
本明細書、特許請求の範囲および本発明の添付の図面では、「第1の」、「第2の」、「第3の」、「第4の」などの用語は、それぞれに異なる対象を区別することを目的とした用語であり、特定の順序を示すものではない。さらに、「含む」、「備える」、およびそれらの任意の他の変形形態の用語は、非排他的な包含を対象とすることを目的とした用語である。たとえば、一連のステップまたはユニットを含む処理、方法、システム、製品、もしくはデバイスは、列挙されたステップもしくはユニットに限定されず、任意選択で、列挙されていないステップもしくはユニットをさらに含み、または任意選択で、処理、方法、製品、もしくはデバイスの別の固有のステップまたはユニットをさらに含む。
図2−aは、本発明の実施形態におけるシステムのフレームワーク図を示す。このシステムは、第1のデバイスと第2のデバイスとを含む。第2のデバイスは、複数の第1のデバイスに接続されることがある。たとえば、第1のデバイスは端末であり、第2のデバイスはPCである。第1のデバイス上に、カスタマイズされた大容量記憶(mass_storage)ドライバが作成され、第2のデバイス上に、カスタマイズされたUSB上位層アプリケーションドライバが作成される。カスタマイズされたUSB上位層アプリケーションドライバは、第2のデバイスのカーネル内で動作する。第1のデバイスと第2のデバイスはUSBインターフェースを使用することによって接続される。第1のデバイス上にカスタマイズされた大容量記憶ドライバを作成する具体的な処理は以下の通りである。大容量記憶ドライバは、大容量記憶プロトコルに基づいて第1のデバイス上に作成され、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などの第1のデバイスに関する情報が、大容量記憶ドライバ上に定義される。デバイス記述子は、種類、ベンダーコード、製品識別子、ベンダー記述子、USBプロトコルバージョンなどの第1のデバイスに関する情報を定義するために使用される。USBインターフェース記述子は、USBインターフェースの種類などの情報を定義するために使用され、1つのUSBインターフェースが特定の機能に対応する。エンドポイント記述子は、USBインターフェースにおける各エンドポイントの特定の機能を定義するために使用される。たとえば、第2のデバイスから受信されたデータを入力するために入力エンドポイントが使用され、第2のデバイスにデータを出力するために出力エンドポイントが使用される。第2のデバイス上にカスタマイズされたUSB上位層アプリケーションドライバを作成する具体的な処理は以下の通りである。第2のデバイスのプラットフォームに対応するUSBドライバ展開ツールが選択され、USB上位層アプリケーションドライバが作成され、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などの、バインドされる必要がある第1のデバイスに関する情報が、USB上位層アプリケーションドライバ上に定義される。USB上位層アプリケーションドライバ上に定義された第1のデバイスに関する情報は、大容量記憶ドライバ上に定義された第1のデバイスに関する情報と一致しており、これによって、上位層アプリケーションUSBドライバと大容量記憶ドライバの動作モードが確実に一致する。
第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。たとえば、プロトコル展開によってUSB物理ポートに関して複数のUSB機能インターフェースが定義されることがあり、USB機能インターフェースは、プロトコルマッピングによって得られる仮想インターフェースである。USB機能インターフェースは特定の機能に対応する。USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続されると、第2のデバイスは、第2のデバイスのデータにアクセスするためのUSB機能インターフェースにマップされる。第2のデバイスは、対応するUSB機能インターフェース情報に基づいてカスタマイズされたUSB上位層アプリケーションドライバを自動的にロードし、第2のデバイスのデータをSDカードの形態で第1のデバイス上にマウントして第2のデバイスのデータを第1のデバイスにマップし、第1のデバイスが第2のデバイスのデータにアクセスするのを可能にする。カスタマイズされたUSB上位層アプリケーションドライバが正常に動作した後、第2のデバイスは、USB機能インターフェース上に定義されたインターフェースモードに基づいて第1のデバイスと通信する。たとえば、第2のデバイスは、第1のデバイスと協働して第2のデバイスのデータにアクティブにアクセスするために、制御要求を第1のデバイスに送信する必要があり、それによって、第1のデバイスは、第2のデバイスのデータにアクセスすることを決定すると、制御要求に基づいて第2のデバイスに動作命令を返す。第2のデバイスは、第1のデバイスによって返された動作命令を受信した後、第1のデバイスが第2のデバイスのデータにアクセスするように対応する動作命令を実行する。
第1のデバイスは、第2のデバイスのデータにアクセスする際、第2のデバイスによって送信された制御要求に基づいて第2のデバイスに動作命令を返す。この動作命令は具体的には、第2のデバイスのデータのトラバース、書込み、読取り、削除、修正、作成、移動、コピー、送信、または追加などを含む。たとえば、第1のデバイスが第2のデバイスのデータをトラバースする必要があるとき、第1のデバイスは、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスの特定のデータをトラバースするための動作命令を第2のデバイスに返す。第2のデバイスは、動作命令を受信した後、第2のデバイスの対応するデータをトラバースしてトラバース結果(たとえば、トラバースされたファイルに関する情報)を得て、トラバースされたファイルに関する情報を第1のデバイスに送信する。トラバースされたファイルに関する情報が特に量が多く、第2のデバイスによって1つのバッチで送信されることが許可されたバイトの最大量を超えている場合、トラバースされたファイルに関する情報は、複数回にわたって第1のデバイスに送信されることがある。別の例では、第1のデバイスが第2のデバイスのデータを削除する必要があるとき、第1のデバイスは、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて、第2のデバイスの特定のデータを削除するための動作命令を第2のデバイスに返す。第2のデバイスは、動作命令を受信した後、第2のデバイスの対応するデータを削除し、第1のデバイスに削除結果を返す。
本発明の技術的解決策がアンドロイドシステムに適用され、または別のオペレーティングシステム、たとえば、MACシステムもしくはWindowsシステムに適用されることがあることに留意されたい。このことは、本明細書では特に限定されない。本発明のこの実施形態では、第1のデバイスは二次デバイスであることがあり、第2のデバイスは一次デバイスであることがある。以下の説明は、第1のデバイスが端末であり、第2のデバイスがPCである例を使用することによって本発明における2つのデータ処理実装形態について説明する。
実装形態1:
端末とPCが接続される前にまず、端末上に大容量記憶ドライバがインストールされる。大容量記憶ドライバはカスタマイズされたドライバである。PC上にUSB上位層アプリケーションドライバがインストールされる。USB上位層アプリケーションドライバはカスタマイズされた上位層アプリケーションドライバである。大容量記憶ドライバとUSB上位層アプリケーションドライバ上に同じパラメータ、たとえば、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子が別々に定義される。このことは、USBインターフェースを使用することによって端末とPCが接続された後で、各ドライバの動作モードを確実に一致させ、データ交換を容易にする。
端末がPCのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。USBインターフェースを使用することによって端末がPCに接続されると、PCが、アクセスモードに対応するUSB機能インターフェースにマップされる。PCは、対応するUSB機能インターフェース情報に基づいてUSB上位層アプリケーションドライバを自動的にロードし、PCのデータを仮想SDカードの形態で端末上にマウントし、マップされたインターフェースを使用することによって端末の表示画面上にデータを表示し、それによって、端末は、表示画面のユーザインターフェース上にPCのデータを表示することができる。ユーザは、端末のディスプレイインターフェースからPCのデータを見ることもある。端末上のカスタマイズされた大容量記憶ドライバおよびPC上のカスタマイズされた上位層アプリケーションドライバは、カスタマイズされたコマンドプロトコルを使用することによってデータアクセスおよび交換を実現する。PCのデータが仮想SDカードの形態で端末上にマウントされた後、端末上のすべてのアプリケーションは、ローカルSDカードにアクセスする場合と同様にPCのデータにアクセスする。
端末がPCのデータにアクセスするアクセスモードは、あらかじめ定義される。したがって、PCは制御要求を周期的に端末に送信する。端末は、PCによって送信された制御要求を受信した後にのみPCのデータにアクセスするための動作命令を含むメッセージをPCに返す。この理由は、一次/二次モードにおけるUSBプロトコルでは、端末は、二次デバイスとして、PCに動作命令を直接送信することができないからである。
実際の適用時には、端末が動作命令をPCに返す前に、上位層アプリケーションプログラムがデータにアクセスするとき、たとえば、上位層プログラムがファイルを削除する必要があるときに端末上の大容量記憶ドライバにおいて動作命令がトリガされる。削除コマンドの場合、PCによって周期的に送信される制御要求においてPCに動作命令が返される。PC上のカスタマイズされたUSB上位層アプリケーションドライバは、命令を受信した後、ファイルを削除する。次に、PCは、新しい制御要求においてファイル削除結果を端末に送信する。カスタマイズされた大容量記憶ドライバは、結果を受信した後、コールアンドリターン方式で上位層アプリケーションプログラムに結果を通知する。削除結果を返す方法は、上位層アプリケーションがローカルSDカードを呼び出してローカルSDカード内のファイルを削除するときに結果を返す方法と同様である。同様に、上位層アプリケーションプログラムは、ファイルをトラバースする必要があるとき、端末上のカスタマイズされた大容量記憶ドライバを呼び出してファイルトラバース動作命令をトリガする。この命令は、PCの制御要求のリターン命令においてPC上のカスタマイズされたUSB上位層アプリケーションドライバに転送される。カスタマイズされたUSB上位層アプリケーションドライバは、動作命令を得た後、ファイルをトラバースし、トラバース結果を新しい制御要求において端末側のカスタマイズされた大容量記憶ドライバに送信する。カスタマイズされた大容量記憶ドライバは、ドライバコールアンドリターン方式で上位層アプリケーションプログラムにトラバースされたファイルに関する情報を通知する。ファイル情報と、上位層アプリケーションプログラムがローカルSDカード内のファイルを呼び出してトラバースしたときに返される情報は、フォーマットが完全に一致する。同様に、上位層アプリケーションによってカスタマイズされたmass_storageドライバにアクセスするためのすべてのコマンドが、PCによってアクティブに送信される制御要求に応答してPC上のカスタマイズされたUSB上位層アプリケーションドライバに返される。PC上のカスタマイズされたUSB上位層アプリケーションドライバは、コマンドを実行した後、新しい制御要求において、結果を端末上のカスタマイズされた大容量記憶ドライバに送信する。結果は、大容量記憶ドライバの標準的なドライバリターン方法で上位層アプリケーションプログラムに通知される。このようにして、端末上にマウントされたPCのハードウェアディスクへのアクセスは、ローカルSDカードへのアクセスと完全に一致する。端末は、ユーザインターフェース上のユーザによってPCのデータに対して入力された動作命令を受信する。たとえば、PCのデータが端末のユーザインターフェース上に表示され、ユーザがPC上の特定のデータを削除する必要があるとき、ユーザは、データを削除するための動作オプションをクリックして、この動作オプションに対応する動作命令をトリガしてもよい。このようにして、端末は、PCから受信された制御要求に基づいて、動作命令を受信することができ、動作命令をPCに返す。
PCは、端末によって返された動作命令を受信した後、対応する動作を実行して実行結果を端末に送信する。このようにして、端末は、PCが動作命令を実行することに失敗したかそれとも成功したかに関する特定の状況を知ることができる。端末は、PCが動作命令を完全に実行することに失敗したことを知ったときには、引き続き動作命令をPCに送信することがあり、それによって、PCは、動作命令全体を実行するまで、引き続き終了していない動作命令を実行する。次に、PCは、制御要求を周期的に送信する段階に再び入る。たとえば、PCが制御要求を端末に送信した後、端末は動作命令を含まないメッセージをPCに送信する。
実装形態2:
端末とPCが接続される前にまず、端末上にカスタマイズされた大容量記憶ドライバが作成され、PC上にカスタマイズされたUSB上位層アプリケーションドライバが作成される。2つのドライバ上に同じデバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などが定義され、それにより、USBインターフェースを使用することによって端末とPCが接続された後に各ドライバの動作モードが確実に一致する。
端末がPCのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。USBインターフェースを使用することによって端末がPCに接続されると、PCは、アクセスモードに対応するUSB機能インターフェースにマップされ、PCは、対応するUSB機能インターフェース情報に基づいてカスタマイズされたUSB上位層アプリケーションドライバを自動的にロードして、端末とPCとの間の通信を実現する。
PCは、端末がPCのデータにアクセスするアクセスモードと協働するために、制御要求を端末に送信し、それによって、PCのデータがSDカードの形態で端末上にマウントされる。たとえば、PCは、仮想ストレージとして端末上にマウントされ、それによって、端末は、端末のユーザインターフェース上にPCのデータを表示することができる。このようにして、ユーザは、ユーザインターフェース上のPCのデータを見ることができ、それによって、端末は、ユーザインターフェース上のユーザによってデータに対して入力された動作命令を受信し、対応する動作を実行する。
たとえば、PCのデータが端末のユーザインターフェース上に表示され、ユーザがPC上の特定のデータを削除する必要があるとき、ユーザは、データを削除するための動作オプションをクリックして、この動作オプションに対応する動作命令をトリガしてもよい。このようにして、端末は、動作命令を受信することができ、動作命令を実行する。
端末は、動作命令を実行した後、ユーザインターフェース上に実行結果を表示する。このようにして、ユーザは、端末が動作命令を実行することに失敗したかそれとも成功したかに関する特定の状況を知ることができる。ユーザは、端末が動作命令を完全に実行することに失敗したことを知った後、引き続き動作命令をユーザインターフェース上に入力し、それによって、端末は、動作命令全体を実行するまで、引き続き終了していない動作命令を実行する。次に、PCは、制御要求を周期的に送信する段階に再び入る。たとえば、PCが制御要求を端末に送信した後、端末は動作命令を含まないメッセージをPCに送信する。次に、端末は一時的にドーマント状態であることがある。
本発明の一実施形態は、図2−bに示されているように第1のデバイスをさらに備える。説明を容易にするために、本発明のこの実施形態に関係する部分のみが示されている。開示されない技術的詳細については、本発明の実施形態における方法の部分を参照されたい。第1のデバイスは、携帯電話、タブレットコンピュータ、携帯情報端末(略してPDA)、ポイントオブセール(略してPoint of Sales、POS)、または車載コンピュータなどの任意の端末デバイスであってもよい。たとえば、第1のデバイスは携帯電話である。
図2−bは、本発明のこの実施形態に設けられる第1のデバイスに関連する携帯電話の部分構造のブロック図を示す。図2−bを参照するとわかるように、携帯電話は、無線周波数(略してRF)回路110、メモリ120、入力ユニット130、ディスプレイユニット140、センサー150、オーディオ回路160、USBモジュール170、プロセッサ180、および電源190などの構成要素を含む。当業者は、図2−bに示されている携帯電話の構造が携帯電話に対する制限を構成することはなく、携帯電話が、図示されている構成要素よりも多いかもしくは少ない構成要素を含むことがあり、またはいくつかの構成要素を組み合わせることがあり、または異なる構成要素レイアウトを有することがあることを理解し得る。
以下の説明は、携帯電話の構成部品について図2−bを参照しながら詳細に説明する。
RF回路110は、情報を送受信し、または呼の間に信号を送受信するように構成されることがある。具体的には、RF回路110は、第2のデバイスのデータが対象とされた動作命令をユーザから受信し、動作命令を処理のためにプロセッサ180に送信する。たとえば、プロセッサ180は、動作命令に従ってデータを処理する。一般に、RF回路110は、限定はされないが、アンテナと、少なくとも1つの増幅器、トランシーバ、カプラー、低雑音増幅器(略してLNA)、デュプレクサなどを含む。加えて、RF回路110はさらに、ワイヤレス通信を介してネットワークおよび別のデバイスと通信することがある。上記のワイヤレス通信は、限定はされないが、グローバルシステムフォアモバイルコミュニケーションズ(略してGSM(登録商標))、汎用パケット無線サービス(略してGPRS)、符号分割多元接続(略してCDMA)、広域符号分割多元接続(略WCDMA(登録商標))、ロングタームエボリューション(略してLTE)、電子メール、ショートメッセージングサービス(略してSMS)などを含む任意の通信標準またはプロトコルを使用することがある。
メモリ120は、ソフトウェアプログラムおよびコンピュータ命令を記憶するように構成されることがある。本発明のこの実施形態では、たとえば、メモリ120は第2のデバイスのデータを記憶する。プロセッサ180は、メモリ120に記憶されたソフトウェアプログラムおよびモジュールを動作させることによって携帯電話の様々な機能アプリケーションおよびデータ処理を実行する。メモリ120は、主としてプログラム記憶領域とデータ記憶領域とを含む。プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能によって必要とされるアプリケーションプログラム(たとえば、音声再生機能または画像再生機能)などを記憶することがある。データ記憶領域は、携帯電話の使用に基づいて作成されたデータ(たとえば、音声データまたはアドレス帳)などを記憶することがある。さらに、メモリ120は、高速ランダムアクセスメモリを含むことがあり、または不揮発性メモリ、たとえば、少なくとも1つの磁気ディスク記憶構成要素、フラッシュ記憶構成要素、または別の揮発性ソリッドステート記憶構成要素をさらに含むことがある。
入力ユニット130は、入力された数字情報または文字情報を受信して、携帯電話のユーザ設定および機能制御に関するキー信号入力を生成するように構成されることがある。具体的には、入力ユニット130は、タッチパネル131と別の入力デバイス132とを含むことがある。タッチパネル131は、タッチスクリーンとも呼ばれ、タッチパネル131上でまたはタッチパネル131の近くでユーザによって実行されるタッチ動作(たとえば、指またはスタイラスなどの任意の適切な物体または付属品を使用することによって、タッチパネル131上でまたはタッチパネル131の近くでユーザによって実行される動作)を回収し、あらかじめ設定されたプログラムに基づいて対応する接続装置を駆動することがある。たとえば、ユーザは、タッチパネル131上でタッチ動作を実行して第2のデータのインターフェースに対する入力命令を入力する。任意選択で、タッチパネル131は2つの部分、すなわち、タッチ検出装置およびタッチコントローラを含むことがある。タッチ検出装置は、ユーザのタッチ方向を検出し、タッチ動作によって伝達された信号を検出し、この信号をタッチコントローラに転送する。タッチコントローラは、タッチ検出装置からタッチ情報を受信し、タッチ情報を接触座標に変換して、次いで接触座標をプロセッサ180に送信し、プロセッサ180によって送信されたコマンドを受信して実行する。さらに、タッチパネル131は、抵抗型、容量型、赤外線、および弾性表面波などの複数の種類を使用することによって実装されることがある。タッチパネル131に加えて、入力ユニット130は、別の入力デバイス132をさらに含むことがある。具体的には、別の入力デバイス132は、限定はされないが、物理キーボード、機能キー(たとえば、音量調節キーまたはオン/オフキー)、トラックボール、マウス、ジョイスティックなどのうちの1つまたは複数を含むことがある。
ディスプレイユニット140は、ユーザによって入力された情報またはユーザのために提供された情報、および携帯電話の様々なメニューを表示するように構成されてもよい。本発明のこの実施形態では、たとえば、ディスプレイユニット140は、第2のデバイスのデータを表示し、または第2のデバイスがマップされたインターフェースを表示する。ディスプレイユニット140は、ディスプレイパネル141を含むことがある。任意選択で、ディスプレイパネル141は、液晶ディスプレイ(略してLCD)、有機発光ダイオード(略してOLED)などの形態に構成されることがある。さらに、タッチパネル1131はディスプレイパネル141を覆うことがある。タッチパネル131は、タッチパネル131上またはタッチパネル131の近くでのタッチ動作を検出すると、タッチ動作をプロセッサ180に転送してこのタッチイベントの種類を決定する。次いで、プロセッサ180は、タッチイベントの種類に基づいてディスプレイパネル141上に対応する視覚出力を提供する。
ユーザは、携帯電話を使用して、USBモジュール170を使用することによって電子メールを送受信すること、ウェブページを閲覧すること、ストリーミングメディアにアクセスすることなどを行うことができる。USBモジュール170は、ユーザが、ワイヤレスブロードバンドインターネットアクセスを行うのを可能にし、たとえば、USBモジュールを使用することによって第2のデバイスのデータにアクセスするのを可能にする。図2−bは、USBモジュール170を示しているが、USBモジュール170が、携帯電話の必須部分ではなく、本発明の本質を変化させずに必要に応じて間違いなく省略され得ることが理解され得る。
プロセッサ180は、携帯電話の制御センターであり、様々なインターフェースおよび配線を使用することによって携帯電話全体のすべての部分を接続する。プロセッサ180は、メモリ120内に記憶されたソフトウェアプログラムおよび/またはモジュールを動作させるかまたは実行し、メモリ120内に記憶されたデータを呼び出すことによって、携帯電話の様々な機能を実行しデータを処理して、携帯電話の全体的な監視を実行し、たとえば、第2のデバイスのデータを処理する。任意選択で、プロセッサ180は、1つまたは複数の処理ユニットを含むことがある。好ましくは、アプリケーションプロセッサとモデムプロセッサは、プロセッサ180として一体化されることがある。アプリケーションプロセッサは主として、オペレーティングシステム、ユーザインターフェース、アプリケーションプログラムなどを処理する。モデムプロセッサは主として、ワイヤレス通信を処理する。モデムプロセッサがプロセッサ180に一体化されないことがあることが理解され得る。
携帯電話は、各部分に電力を供給する電源190(たとえば、バッテリー)をさらに含む。好ましくは、電源は、電源管理システムを使用することによってプロセッサ180に論理的に接続され、電源管理システムを使用することによって充電、放電などの機能および電力消費量を管理する。
図示されていないが、携帯電話は、カメラ、Bluetooth(登録商標)モジュールなどをさらに含むことがある。ここには詳細な説明は記載されない。
本発明のこの実施形態では、ディスプレイユニット140は、第2のデバイスがマップされたインターフェースを表示するように構成され、
入力ユニット130は、インターフェースに対して入力された命令を受信するように構成され、
プロセッサ180は、入力された命令に従って、ディスプレイユニットに第2のデバイスのデータを表示するように命令するように構成され、
ディスプレイユニット140は、第2のデバイスのデータを表示するようにさらに構成され、
入力ユニット130は、データに対して入力された動作命令を受信するようにさらに構成されて、かつ
プロセッサ180は、動作命令に従ってデータを処理するようにさらに構成される。
いくつかの考えられる実装形態では、動作命令は、選択動作命令と処理動作命令とを含み、
入力ユニット130は、データに対して入力された選択動作命令を受信し、ターゲットデータを決定し、ターゲットデータに対して入力された処理動作命令を受信するようにさらに構成されて、かつ
プロセッサ180は、選択動作命令に従ってターゲットデータを決定し、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行するように特に構成される。
いくつかの他の考えられる実装形態では、入力ユニット130は、プロセッサ180が動作命令に従ってデータを処理する前に、第2のデバイスによって送信された制御要求を受信するようにさらに構成され、
プロセッサ180は、制御要求に基づいて動作命令を第2のデバイスに送信するようにさらに構成され、動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
図2−bに示されている第1のデバイスの構造は、本発明のこの実施形態における第2のデバイスにも適用可能である。詳細については図2−bに示されている構造を参照されたい。ここでは詳細な説明は繰り返されない。
プロセッサ180は、制御要求を生成するように構成され、かつ
USBモジュール170は、制御要求を第1のデバイスに送信するように構成され、制御要求は、第1のデバイスに、動作命令を動作デバイスに送信するように命令するために使用される。
いくつかの考えられる実装形態では、USBモジュール170は、第1のデバイスによって送信された動作命令を受信するように構成され、かつ
プロセッサ180は、動作命令に従ってターゲットデータを処理するようにさらに構成される。
本発明のこの実施形態についての説明が記載される前にまず、本発明のアプリケーションシナリオについての説明が記載される。たとえば、第1のデバイスが携帯電話であり、第2のデバイスがPCである。PC上にカスタマイズされたUSB上位層アプリケーションドライバがインストールされ、携帯電話上にカスタマイズされた大容量記憶ドライバが実装される。携帯電話とPCは、USBインターフェースを使用することによって接続される。PCのデータが仮想SDカードの形態で携帯電話上にマウントされ、携帯電話が、PCを制御することによってPCのデータにアクセスする。いくつかの他のシナリオでは、たとえば、第1のデバイスはスマートルータであり、第2のデバイスはPCである。スマートルータは、USBインターフェースを使用することによってPCに接続され、スマートルータは、PCのハードディスクをスマートルータの記憶デバイスとして使用し、それによってデータアクセス機能を実質的に向上させる。いくつかの他のシナリオでは、たとえば、第1のデバイスは携帯電話であり、第2のデバイスはルータである。第2のデバイスとして、ルータは通常、マンマシン動作インターフェースを実現しない。携帯電話は通常、別の手法(たとえば、ウェブテレビジョンまたはオンラインPC)を使用することによって間接的にルータにアクセスする。通常、この間接的なアクセス方法では、直接的な動作機能(すなわち、データ追加、削除、修正など)が実現されることはない。しかしながら、本発明では、携帯電話は、USBインターフェースを使用することによってルータに直接的に接続され、ルータのデータは、仮想ローカルファイルの形態で携帯電話からアクセスされ得る。さらに、ルータのデータには追加、削除、修正などが行われ得る。
図3を参照するとわかるように、図3は、本発明の一実施形態によるデータアクセス方法の一実施形態の概略図である。この方法は、第1のデバイスおよび第2のデバイスに適用され、第1のデバイスと第2のデバイスは、USBインターフェースを使用することによって接続される。この実施形態の具体的な手順は以下の通りである。
ステップ301:第2のデバイスが第1のデバイス上のインターフェースにマップされる。
本発明のこの実施形態では、第1のデバイスと第2のデバイスがUSBインターフェースを使用することによって接続された後、第2のデバイスが第1のデバイス上のインターフェースにマップされる。このインターフェースはメニューオプションまたはアイコンであることがある。このことは、本明細書では特に限定されない。第2のデバイスが仮想記憶ユニットとして第1のデバイス上にマウントされ、第1のデバイスの記憶空間を拡張することが理解され得る。
ステップ302:第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、このインターフェースを使用することによって第2のデバイスのデータにアクセスする。
実際の適用時には、第1のデバイスは、第2のデバイスがマップされたインターフェースをユーザインターフェース上に表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。ユーザは、ユーザインターフェース上の第2のデバイスのデータを見てもよく、データに対する入力命令を決定する。
第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードを実現するために、このアクセスモードに対応するUSB機能インターフェースが展開される。このデータは、第2のデバイス上のハードディスクに記憶されたテキスト、ピクチャ、音声、映像などである。このことは、本明細書では特に限定されない。
USBインターフェースを使用することによって第1のデバイスが初めて第2のデバイスに接続されると、第2のデバイスがUSB機能インターフェースにマップされ、第1のデバイスは、USB機能インターフェースを介して第2のデバイスのデータにアクセスする。第2のデバイスは、USB機能インターフェースに対応するインターフェースモードを識別し、カスタマイズされたUSB上位層アプリケーションドライバを自動的にロードし、カスタマイズされたUSB上位層アプリケーションドライバを第2のデバイスのカーネルにおいて動作させ、高い動作速度を実現する。第2のデバイス上のカスタマイズされたUSB上位層アプリケーションドライバ上に定義された第1のデバイスに関する情報は、第1のデバイス上のカスタマイズされた大容量記憶ドライバ上に定義された第1のデバイスに関する情報と同じであるので、このことは、カスタマイズされた大容量記憶ドライバとカスタマイズされたUSB上位層アプリケーションドライバの動作モードを確実に一致させる。カスタマイズされた大容量記憶ドライバがカスタマイズされたUSB上位層アプリケーションドライバにバインドされた後、第2のデバイスは、USB機能インターフェースに定義されたインターフェースモードに基づいて第1のデバイスと通信する。
ステップ303:第1のデバイスは、ユーザによってインターフェースに対して入力された命令を受信し、第2のデバイスのデータを表示する。
ステップ304:第1のデバイスは、データに対して入力された動作命令を受信する。
いくつかの考えられる実装形態では、第1のデバイスがデータに対して入力された動作命令を受信することは、具体的には、
第1のデバイスによって、データに対して入力された選択動作命令を受信し、ターゲットデータを決定することと、
第1のデバイスによって、ターゲットデータに対して入力された処理動作命令を受信することとを含む。
第1のデバイスが動作命令に従ってデータを処理することは、具体的には、
第1のデバイスによって、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行することを含む。
ステップ305:第2のデバイスは制御要求を生成する。
ステップ306:第2のデバイスは制御要求を第1のデバイスに送信する。制御要求は、第1のデバイスに動作命令を第2のデバイスに送信するように命令するために使用される。
ステップ307:第1のデバイスは、第2のデバイスによって送信された制御要求を受信する。
ステップ308:第1のデバイスは、制御要求に基づいて動作命令を第2のデバイスに送信する。動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
第1のデバイスが第2のデバイスのデータにアクセスする前にアクセスモードがカスタマイズされており、したがって、第1のデバイスは、カスタマイズされたアクセスモードに基づいて第2のデバイスのデータにアクセスする。たとえば、第1のデバイスは、第2のデバイスによって送信された制御要求に応答して動作命令を第2のデバイスに送信する必要があり、それによって、第2のデバイスは、動作命令に従ってターゲットデータを処理する。この動作は単純であり、第1のデバイスは第2のデバイスのデータにアクセスする。
本発明のこの実施形態では、第1のデバイスは、第2のデバイスのデータにアクセスすることを決定すると、制御要求に基づいて第2のデバイスに第1の動作命令を返す。第2のデバイスは、第1の動作命令を受信した後、第1のデバイスが第2のデバイスのデータにアクセスする必要があることを知り、第1の動作命令を実行し、第1の動作命令を実行した結果を第1のデバイスに送信する。第1の動作命令は、任意の種類の動作命令である。制御コマンドは、第2のデバイスのデータをトラバースすること、追加すること、削除すること、修正すること、または送信することを含み、第2のデバイスのデータを書き込むこと、読み取ること、作成すること、移動させること、またはコピーすることなどをさらに含む。複数の種類の特定の動作命令がある。このことは、本明細書では特に限定されない。
ステップ309:第2のデバイスは、第1のデバイスによって送信された動作命令を受信する。
ステップ310:第2のデバイスは、動作命令に従ってターゲットデータを処理する。
実際の適用時には、たとえば、第1のデバイスは、第2のデバイスのデータを修正することを決定すると、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスに動作命令を返す。動作命令が第2のデバイスの特定のデータを修正することである場合、第2のデバイスは、メッセージを受信した後、第2のデバイスの対応するデータを修正する。別の例では、第1のデバイスは、第2のデバイスの特定のデータをコピーする必要があるとき、第2のデバイスによって送信された制御要求を受信した後、制御要求に基づいて第2のデバイスに動作命令を返す。動作命令が第2のデバイスの特定のデータをコピーすることである場合、第2のデバイスは、メッセージを受信した後、第2のデバイスの対応するデータをコピーする。第2のデバイスがすべての必要なデータを1つのバッチでコピーすることができないと仮定すると、データは複数回にわたってコピーされ得る。
従来技術とは異なり、本発明は、第2のデバイスのデータの単なる書込みおよび読取りに限定されない。第2のデバイスのデータはさらに、削除、修正、コピーなどが施されることがある。第2のデバイスのデータに対する動作モードがより多様で融通性に富んでおり、そのことが、第1のデバイスと第2のデバイスとの間の対話方法の融通性を向上させることが理解され得る。
実際の適用時には、第1のデバイス上にユーザインターフェースが提供され、第2のデバイスによって送信された動作命令を実行した結果がユーザインターフェース上に表示され、それによって、ユーザは特定の実行結果を知る。たとえば、第2のデバイスは、特定のデータを修正した後、修正結果を第1のデバイスに送信する。第1のデバイスは、修正結果を受信した後、ユーザインターフェース上に対応する情報を表示し、ユーザによる閲覧を容易にする。
いくつかの考えられる実装形態では、USB伝送の電力消費量を低減させるために、第1のデバイスは、第2のデバイスのデータにアクセスしないことを決定すると、動作命令を運ばないメッセージを第2のデバイスに送信し、それによって、第2のデバイスは、第1のデバイスが今のところデータにアクセスする必要がないことを知る。しかしながら、第1のデバイスのデータアクセス要件を満たすために、第2のデバイス上にタイマーがセットされ、第2のデバイスは期間Tの間隔で制御要求を第1のデバイスに送信する。期間Tは、実際の適用に基づいて任意の時間に調整され得る。期間Tがより大きい値に調整されるにつれてポーリング占有率が減少する。Tが100msであると仮定すると、それは、第2のデバイスが制御要求を送信した後、第1のデバイスがデータアクセス要件を有さない場合、第2のデバイスが100ms後に再び制御要求を第1のデバイスに送信することを示す。USB帯域幅は、ポーリング間隔が100msに設定されるときにはほとんど影響が与えられず、100msの応答時間は、様々な通常の適用シナリオの要件も満たす。第2のデバイスが性能に関して比較的高い要件を有する場合、たとえば、第2のデバイスは、中央演算処理装置(Central Processing Unit、CPU)の電力消費量に関して比較的高い要件を有し、Tが500msに設定されることがある。このことは、実質的に、USB伝送の電力消費量を低減させ、CPU電力消費量に関する要求を増大させることがあるが、このことは、リアルタイム性能に関して高い要件を有さない適用シナリオに影響を与えない。したがって、Tは、実際の適用に基づいて決定されることがある。このことは、本明細書では特に限定されない。
従来技術では、第1のデバイスは、第2のデバイスによって送信されたコマンドの受信、および第2のデバイスによって送信されたコマンドに対する応答を受動的にしか行うことができない。しかしながら、本発明のこの実施形態では、カスタマイズされた大容量記憶ドライバが第1のデバイス上にインストールされ、カスタマイズされたUSB上位層アプリケーションドライバが第2のデバイス上にインストールされる。同じ情報、たとえば、デバイス記述子、USBインターフェース記述子、USBインターフェースにおけるエンドポイント記述子などが大容量記憶ドライバおよびUSB上位層アプリケーションドライバ向けにカスタマイズされる。第2のデバイスのデータにアクセスするためのアクセスモードは、USBインターフェース記述子に定義される。USBインターフェースを使用することによって第1のデバイスと第2のデバイスが接続された後、第2のデバイスは、USBインターフェースに対応するアクセスモードを識別し、次いでカスタマイズされたUSB上位層アプリケーションドライバを第2のデバイス上に自動的にロードする。カスタマイズされたUSB上位層アプリケーションドライバ上に定義された情報は、第1のデバイス上のカスタマイズされた大容量記憶ドライバ上に定義された情報と同じであるので、このことは、カスタマイズされたUSB上位層アプリケーションドライバおよびカスタマイズされた大容量記憶ドライバの動作モードを確実に一致させ、第1のデバイスは第2のデバイスのデータにアクセスする。
図4を参照するとわかるように、図4は、本発明の一実施形態によるデータアクセス方法の別の実施形態の概略図である。たとえば、第1のデバイスは携帯電話であり、第2のデバイスはPCである。具体的な手順は以下の通りである。PCは制御要求(cmd req)を携帯電話に送信する。携帯電話は、制御要求を受信した後、PCのデータにアクセスすべきどうかを決定する。携帯電話は、PCのデータにアクセスする必要がない場合、動作命令を運ばないメッセージ(ok nocmd)をPCに送信する。期間T(たとえば、100ms)の後、PCは再び制御要求(cmd req)を携帯電話に送信する。携帯電話は、PCのデータにアクセスする必要があるとき、第1の動作命令を運ぶメッセージ(cmd_request1)をPCに返す。PCは、メッセージを受信した後、第1の動作命令に対応する結果データを作成し、さらに、対応する結果データ(cmd req responedata1)を携帯電話に送信する。携帯電話が対応する結果データを受信した後、他のコマンドがない場合、携帯電話は、動作命令を運ばないメッセージ(ok nocmd)をPCに送信する。携帯電話は、PCが第1の動作命令の実行を終了していないことを確認すると、第2の動作命令を運ぶメッセージ(cmd request2)を再びPCに送信する。PCは、メッセージを受信した後、第2の動作命令を実行し、第2の動作命令に対応する結果データを作成し、さらに、対応する結果データ(cmd req responedata2)を携帯電話に送信する。携帯電話は、対応する結果データを受信した後、上記のステップを再び実行し、それによって、PC側は、携帯電話が依然としてデータにアクセスする必要があるかどうかを知り、上記と同様のことを実行する。ここでは詳細な説明は繰り返されない。
本発明の実施形態における上記の関連する方法をより良く実施するために、以下の説明は、上記の方法と協働する関連するシステムを提供する。
図5を参照するとわかるように、図5は、本発明の一実施形態によるデータアクセスシステムの概略構造図である。このシステムは、第1のデバイス500と第2のデバイス600とを含む。第1のデバイス500は、ユニバーサルシリアルバスUSBインターフェースを使用することによって第2のデバイス600に接続される。第1のデバイスは、ディスプレイモジュール501と、受信モジュール502と、処理モジュール503とを含む。
ディスプレイモジュール501は、第2のデバイスがマップされたインターフェースを表示するように構成され、
受信モジュール502は、ディスプレイモジュール501によって表示されたインターフェースに対して入力された命令を受信するように構成され、
処理モジュール503は、受信モジュール502によって受信された入力された命令に従って、ディスプレイモジュール501に第2のデバイスのデータを表示するように命令するように構成され、
ディスプレイモジュール501は、第2のデバイスのデータを表示するようにさらに構成され、
受信モジュール502は、データに対して入力された動作命令を受信するようにさらに構成され、かつ
処理モジュール503は、受信モジュール502によって受信された動作命令に従ってデータを処理するようにさらに構成される。
いくつかの考えられる実装形態では、動作命令は、選択動作命令と処理動作命令とを含み、
受信モジュール502は、データに対して入力された選択動作命令を受信し、ターゲットデータに対して入力された処理動作命令を受信するようにさらに構成され、
処理モジュール503は、選択動作命令に従ってターゲットデータを決定し、処理動作命令に従って処理動作命令に対応する動作をターゲットデータに対して実行するように構成される。
いくつかの他の考えられる実装形態では、受信モジュール502は、処理モジュール503が動作命令に従ってデータを処理する前に、第2のデバイスによって送信された制御要求を受信するようにさらに構成され、
処理モジュール503は、制御要求に基づいて動作命令を第2のデバイスに送信するようにさらに構成され、動作命令は、第2のデバイスに動作命令に従ってデータを処理するように命令するために使用される。
いくつかの他の考えられる実装形態では、第1のデバイス上に大容量記憶ドライバがインストールされ、第2のデバイスと対話するためのパラメータが大容量記憶ドライバ上に定義される。
いくつかの他の考えられる実装形態では、パラメータはUSB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが第2のデバイスのデータにアクセスするアクセスモードに関する情報を含む。
いくつかの考えられる実装形態では、第1のデバイスは端末である。
第2のデバイス600は、ユニバーサルシリアルバスUSBインターフェースを使用することによって第1のデバイスに接続される。動作デバイス上にUSB上位層アプリケーションドライバがインストールされる。第1のデバイスと対話するためのパラメータがUSB上位層アプリケーションドライバ上に定義される。第2のデバイスは、処理モジュール601と、送信モジュール602と、受信モジュール603とを含む。
処理モジュール601は、制御要求を生成するように構成され、かつ
送信モジュール602は、制御要求を第1のデバイスに送信するように構成され、制御要求は、第1のデバイスに、動作命令を動作デバイスに送信するように命令するために使用される。
いくつかの考えられる実装形態では、第2のデバイス600は、
第1のデバイスによって送信された動作命令を受信するように構成された受信モジュール603と、
受信モジュール603によって受信された動作命令に従ってターゲットデータを処理するようにさらに構成された処理モジュール601とをさらに含む。
いくつかの他の考えられる実装形態では、パラメータはUSB機能インターフェース情報を含み、USB機能インターフェース情報は、第1のデバイスが動作デバイスのデータにアクセスするアクセスモードに関する情報を含む。
いくつかの考えられる実装形態では、第2のデバイス600は、パーソナルコンピュータPCである。
USBインターフェースを使用することによって第1のデバイスが第2のデバイスに接続されることが理解され得る。このことは、従来技術と比較してデータ伝送速度を実質的に向上させる。第1のデバイスは、第2のデバイスがマップされたインターフェースを表示し、インターフェースを使用することによって第2のデバイスのデータにアクセスする。第2のデバイスが第1のデバイスの仮想記憶ユニットとして働き、それによって第1のデバイスの記憶空間を拡張することが理解され得る。このようにして、第1のデバイスは、インターフェースに対して入力された命令を受信したときに第2のデバイスのデータを表示することができる。さらに、第1のデバイスは、データに対して入力された動作命令を受信し、動作命令に従ってデータを処理する。この動作は単純であり、特別なIPアドレスが構成される必要はなく、それによって、デバイス間の対話の融通性を向上させる。従来技術とは異なり、本発明の実施形態ではネットワークが接続される必要はなく、それによってネットワーク通信の消費量を低減させる。
考えられる実装形態では、送信モジュールおよび受信モジュールは、ソフトウェアモジュールであることもあり、ポータブル電子デバイスのトランシーバに実装され得る。処理モジュールも、ソフトウェアモジュールであることがあり、コンピュータシステムのプロセッサに実装され得るか、または特定の集積回路であることもある。
図5に示されている第1のデバイスおよび第2のデバイスが、図3に示されている方法実施形態における第1のデバイスおよび第2のデバイスに対応することがあり、第1のデバイスまたは第2のデバイスにおける各ユニットの上記の動作および/または機能ならびに他の動作および/または機能がそれぞれ、図3に示されている方法の対応する手順を実施することを目的としたものであることに留意されたい。説明を簡潔にするために、ここには詳細な説明は記載されない。
上記の実施形態では、実施形態の説明はそれぞれの焦点を有する。実施形態において詳細に記載されていない部分については、他の実施形態における関連する説明が参照されてもよい。
説明を好都合にかつ簡単にするために、上記のポータブル電子デバイス、コンピュータ可読記憶媒体、およびユニットの詳細な動作処理に関しては、上記の方法実装形態における対応する処理が参照されてもよく、ここには詳細な説明は記載されないことが当業者によって明確に理解されることがある。
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、および方法が他の方法で実施されてもよいことを理解されたい。たとえば、記載された装置実施形態は、例に過ぎない。たとえば、ユニットの分割は、論理的な機能の分割に過ぎず、実際の実装形態では他の分割であってもよい。たとえば、複数のユニットもしくは構成要素が別のシステムとして組み合わされるかもしくは一体化されてもよく、またはいくつかの特徴が無視されてもよく、もしくは実行されなくてもよい。さらに、表示されるかまたは論じられた相互結合または直接結合または通信接続は、いくつかのインターフェースを使用して実装されてもよい。装置もしくはユニット間の間接的な結合もしくは通信接続は、電気的な形態で実装されてもよく、機械的な形態で実装されてもよく、または他の形態で実装されてもよい。
別個の部品として記載されたユニットは、物理的に別個の部品であってもよくまたはそうでなくてもよく、ユニットとして表示された部品は、物理的なユニットであってもよくまたはそうでなくてもよく、1つの位置に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。ユニットのいくつかまたはすべては、実施形態において提供された技術的解決策を実現するために実際のニーズに従って選択されてもよい。
さらに、本発明の実施形態における機能ユニットが1つの処理ユニットとして一体化されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットとして一体化されてもよい。一体化されたユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用されるとき、一体化されたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づいて、基本的に本発明の技術的解決策、または従来技術に寄与する部分、またはこの技術的解決策のすべてもしくはいくつかが、ソフトウェア製品の形態で実装されてもよい。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってもよい)に本発明の実施形態に記載された方法のステップのうちのすべてまたはいくつかを実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ(Read−Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
本発明は、上記に詳細に記載されている。本発明の原則および実装形態は、本明細書において具体的な例を介して記載されている。実施形態に関する説明は、本発明の方法および主要な考えの理解を助けるために提供されているに過ぎない。さらに、当業者は、本発明の考えに従って、具体的な実装形態および適用範囲に関して本発明に変更を施すことができる。したがって、本明細書の内容は、本発明に対する制限と解釈されるものではない。