本発明の目的、技術的解決法、及び利点をより明確にするために、以下では、本発明の実施形態について、添付の図面を参照して詳細に説明する。
SDカードの標準サイズは、32mm×24mm×2.1mmである。SDカードは、サンディスク(SanDisk)(登録商標)のフラッシュメモリカード制御及びマルチレベルセル(MLC)技術と東芝(登録商標)の0.16μ及び0.13μのNot AND(NAND)技術との組み合わせであり、9ピンインタフェースを介して専用ドライバに接続される。9ピンインタフェースには、セキュアデジタル入出力(SDIO)及びシリアル周辺インタフェース(SPI)という2つの配線モードが適用可能である。図1Aは、SDカード及び9ピンインタフェースの外観の概略図である。図1Bは、SDカードインタフェースの9つのピンの名称及びタイプ、9つのピンによって処理される信号の概略図である。SDIOモードでは、ピン1は、カード検出信号を伝送するために使用され、ピン9、ピン8及びピン7の信号と結合して4ビットデータ信号を形成し、ピン2はコマンド及び応答を伝送するために使用され、ピン3及びピン6は接地ピンであり、ピン4は電源に接続され、ピン5はクロック信号を受信する。SPIモードでは、ピン1はチップを選択するために使用され、ピン2はデータを入力するために使用され、ピン7はデータを出力するために使用され、ピン3及びピン6は接地ピンであり、ピン4は電源に接続され、ピン5はクロック信号を受信する。図1Aに示す書き込み保護(Write Protect)(WP)端子は、物理的スイッチング構成であってもよく、SDカードの書き込み保護機能を設定又は解除するように構成される。WP端子の構成及び原理はよく知られておりここでは繰り返さない。SDカードは、その小さく扱いやすい構成により、デジタルカメラ、携帯電話、及びモバイルインターネットデバイス(MID)などのUEに広く適用可能である。標準的なSDカードに加えて、15mm×11mm×1mmのサイズのMicroSDカード(Trans Flash(TF)カードとしても知られている)、及び21.5mm×20mm×1.4mmのサイズのMiniSDカードが広く適用されている。アダプタの接続を介してMicroSDカード又はMiniSDカードは、使用のためにUEの標準的なSDカードスロットに挿入されることも可能である。
本発明の実施形態において開示される技術的解決法は、標準的なSDカード、MicroSDカード、又はMiniSDカードに無線アクセスモジュールを組み入れることである。標準的なSDカード、又はMicroSDカード、又はMiniSDカードのSDインタフェースを有する無線アクセスモジュールは、データカードとして働いてもよい。アダプタの接続を介してMicroSDカード又はMiniSDカードは、使用のためにホストのSDカードスロットに挿入されることが可能である。従って、本明細書で開示される技術的解決法に関する以下の説明においては、標準的なSDカードが例として採用される。MicroSDカード又はMiniSDカードに無線アクセスモジュールを組み入れる方法は、標準的なSDカードにモジュールを組み入れる方法に類似している。説明を簡単にするために、以下に記載されるSDカードは、特に明記しない限り、標準的なSDカードである。
図2は、本発明の一実施形態において提供される無線アクセスモジュール200の構成を示す。このモジュールは、SDカードインタフェースサブモジュール201と、無線アクセス処理サブモジュール202と、を含み、無線アクセス処理サブモジュール202は、SDカードインタフェースサブモジュール201を介してUEと情報を交換する。
無線アクセスモジュール200は、無線接続を作るために、SDカードスロット又はMicroSDカードスロットを介してUEに挿入されてもよい。このUEを使用して、ユーザは無線ネットワークを介してインターネットにアクセスしたり、無線ネットワークを介して写真を送信したりすることが可能である。
無線アクセスモジュール200は図1Aに示すSDカードの外観を呈してもよく、SDカードインタフェースサブモジュール201は図1Aに示す9つのピンを有する。配線モードはSDIOモード又はSPIモードであってもよい。ピンの信号は図1Bに示されている。両方の配線モードにおけるSDカードのピンの配線及び駆動は、従来技術に含まれており、当業者に周知であり、ここでは繰り返さない。
図3に示すように、本発明の一実施形態における無線アクセス処理サブモジュール202は、アンテナ301と、無線周波数(RF)処理ユニット302と、加入者識別モジュール(SIM)ユニット303と、ベースバンド処理ユニット304と、を含む。
アンテナ301は、受信した無線信号をRF処理ユニット302に伝送するように、又は、RF処理ユニット302によって伝送された信号を電磁波に変換し、電磁波を送信するように構成される。
アンテナ301は、無線アクセスモジュールのメインボードに設けられてもよいということに留意されたい。例えば、アンテナ301は無線アクセスモジュールのメインボード上に設けられる。図4に示すように、アンテナ301は無線アクセスモジュールの反対側に位置し、すなわち、アンテナ301とSDカードインタフェースとは無線アクセスモジュールの2つの異なる側に位置する。あるいは、アンテナは無線アクセスモジュールのメインボード接点を介してRF処理ユニットに接続されてもよい。
アンテナの周囲に領域が確保されてもよく、この領域にはいかなる部品も設けられないということに留意されたい。
RF処理ユニット302は、アンテナ301によって受信した無線信号に対して、周波数選択、増幅、及びダウンコンバージョンを実行し、無線信号を中間周波信号又はベースバンド信号に変換し、次に、信号をベースバンド処理ユニットに送信するように構成され、又は、RF処理ユニット302は、ベースバンド処理ユニット304によって送信されたベースバンド信号又は中間周波信号に対して、アップコンバージョン及び適切な増幅を実行し、アンテナ301を介して信号を送信するように構成される。
SIMユニット303は、ユーザパラメータ情報を記憶するように構成される。ユーザパラメータ情報は、デジタル携帯電話ユーザに関する情報及び暗号化キーを含んでもよく、これらを介してネットワークはユーザIDを認証し、ユーザの通話において生成された音声情報を暗号化する。
SIMユニットは、パッケージング技術によってSIMダイがパッケージされたチップであってもよいということに留意されたい。
ベースバンド処理ユニット304は、SIMユニット303によって取得されたパラメータ情報と無線標準プロトコルの要求とに従って受信した中間周波信号又はベースバンド信号を処理するように構成され、又は、SDカードインタフェースサブモジュール201からデータ情報を受信し、データ情報を識別し、データ情報が伝送制御コマンドを含む場合、伝送制御コマンドポートを介してデータ情報を送信し、又は、データ情報が伝送ネットワークパケットを含む場合、伝送ネットワークパケットポートを介してデータ情報を送信するように構成される。
無線アクセス処理サブモジュール202は、電源管理ユニット305と、記憶ユニット306と、を更に含んでもよいということに留意されたい。
電源管理ユニット305は、UEの供給電圧をベースバンド処理ユニット304、記憶ユニット306、RF処理ユニット302、及びSIMユニット303によって要求される電圧に変換して、ユニットに電力を供給するように構成される。
記憶ユニット306は、ベースバンド処理ユニット304によって処理及び取得された伝送ネットワークパケットと、無線アクセスモジュールを実行するために必要とされるアプリケーションと、を記憶するように構成される。
前述の説明から、無線アクセスモジュール200がSDカード上に組み入れられた後、無線アクセスモジュール200は、SDカードインタフェースのみを介して、すなわち、SDIOモード又はSPIモードでPCと相互作用するということがわかる。しかし、従来技術では、PC上のSDカードスロットは、特定のコマンドのみを識別し、無線アクセスモジュール200とPCとの間の情報相互作用を実施することはできない。
そのような技術的問題を解決するために、本発明の実施形態は、図5に示す以下の技術的解決法を提唱する。図5は、無線アクセスモジュール200の機能構成の概略図である。SDカードインタフェース機能ユニット501は、SDカードインタフェースサブモジュール201上のソフトウェア機能ユニットであり、既存のSDカードの9ピンインタフェースを介してSDIOモード又はSPIモードで既存のホストと通信するように構成される。この機能ユニットは既存のSDカードに存在する。アクセス処理機能ユニット503は、無線アクセス処理サブモジュール202上のソフトウェア機能ユニットであり、既存のモードで無線アクセスを実施することが可能である。具体的には、この機能ユニットは、いくつかのポート(例えば、図に示すように、装置管理ポート5031、モデムポート5033、及びその他の機能ポート5035)を含んでもよい。装置管理ポート5031は、ホストからの装置管理コマンド及び/又はデータに従って無線アクセス処理サブモジュール202を管理するように構成され、モデムポート5033は、ホストからのモデムコマンド及び/又はデータに従ってダイヤルアップネットワークアクセス及びデータパケット転送などの無線アクセス機能を実施するように構成され、その他の機能ポート5035は、ホストからのその他のコマンド及びデータに従ってネットワークアダプタ機能及びグローバルポジショニングシステム(GPS)機能などの本発明の実施形態に限定されないその他の機能を実施するように構成される。上述のように、この実施形態におけるSDカードインタフェース機能ユニット501及び無線アクセス処理機能ユニット503の両方の動作原理は、従来技術における技術的解決法を適用することによって実施されることが可能である。もちろん、本発明は2つの機能ユニットを別個に改良してユニットの機能及び効率を向上させるものであってもよい。
SDカードインタフェース機能ユニット501及び無線アクセス処理機能ユニット503が従来技術に含まれるモードで動作する場合、あるいは、いずれか又は両方の機能ユニットに対して改良が行われるにもかかわらず、2つのユニットとその他の機能ユニットとの間の通信インタフェースが変化しないままである場合、SDカードインタフェースの無線アクセスモジュール200に無線アクセス処理サブモジュール202を組み入れるために上述の解決法が適用される。SDカードインタフェースサブモジュール201がホストと相互作用する場合、無線アクセス処理サブモジュール202の通信インタフェースはSDカードインタフェースサブモジュール201の通信インタフェースと異なるため、無線アクセス処理サブモジュール202とSDカードインタフェースサブモジュール201との間の通信及び相互作用のための変換及びブリッジングを提供するために、2つの機能モジュール間に適応ユニット505が挿入される必要がある。
適応ユニット505は、ハードウェアユニット、又は、この実施形態においては、好ましくは、ソフトウェアユニットであってもよい。適応ユニット505がソフトウェアユニットである場合、適応ユニットは無線アクセス処理サブモジュール202の記憶ユニット306にインストールされてもよく、又は、SDカードインタフェースサブモジュール201にドライバを記憶するように構成された記憶ユニットにインストールされてもよく、又は、無線アクセスモジュール200に設けられた独立した記憶空間にインストールされてもよい。適応ユニット505は、無線アクセス処理機能ユニット502上のポートをSDカードパーティションでシミュレートし、SDカードインタフェース機能ユニット501を介してホストにSDカードパーティションを報告し、SDカードインタフェース機能ユニット501を介してホストから送信され、SDカードインタフェースフォーマットにカプセル化されたダウンリンクインタラクティブ情報を受信し、SDカードインタフェースフォーマットにカプセル化されたダウンリンクインタラクティブ情報を脱カプセル化し、次に、無線アクセス処理機能ユニットのインタフェースフォーマットで各ポートにダウンリンクインタラクティブ情報を送信し、無線アクセス処理機能ユニットのインタフェースフォーマットで各ポートによってホストに報告されるアップリンクインタラクティブ情報をSDカードインタフェースフォーマットを使用してカプセル化し、次に、SDカードインタフェース機能ユニット501を介してホストにアップリンクインタラクティブ情報を送信するように構成される。ダウンリンクインタラクティブ情報は、ホストによって無線アクセス処理サブモジュール202の各ポートに送信されるコマンド又はデータであってもよく、あるいは、無線アクセス処理サブモジュール202の各ポートによってホストに報告されるデータ又は応答であってもよい。適応ユニット505は、無線アクセス処理機能ユニットの各ポートの構成情報を取得し、構成情報に従って各ポートに対応するSDカードパーティション情報を生成するように構成されたSDカードパーティション情報生成サブユニットと、SDカードの初期化手順に従ってホストと相互作用し、ホストにSDカードパーティション情報を報告するように構成されたSDカードパーティション情報報告サブユニットと、生成されたパーティションをそれぞれ無線アクセス処理機能ユニットの対応するポートにマッピングするように構成されたSDカードパーティションマッピングサブユニットと、を含んでもよいと理解され得る。更に、適応ユニット505は、ホストからSDカードインタフェース機能ユニットによって受信されたパケットを解析するように構成された脱カプセル化サブユニットと(ここで、パケットは、スモールコンピュータシステムインタフェース(SCSI)書き込み要求コマンド又はSCSI読み出し要求コマンドのパケットであり)、脱カプセル化サブユニットによって解析されたSCSI読み出し要求コマンドパケットのコマンド又はデータを無線アクセス処理機能ユニットの対応するポートに書き込むように構成されたポート書き込みサブユニットと、脱カプセル化サブユニットによって解析されたSCSI読み出し要求コマンドパケットの読み出しコマンドに従って無線アクセス処理機能ユニットの対応するポートからパケットを読み出すように構成されたポート読み出しサブユニットと、無線アクセス処理機能ユニットの対応するポートからポート読み出しサブユニットによって読み出されたパケットをSCSI読み出し要求コマンドに対する応答パケットにカプセル化し、SDカードインタフェース機能ユニットを介してホストに応答パケットを報告するように構成されたカプセル化サブユニットと、を更に含んでもよい。
一例として、図6は、適応ユニット505によって無線アクセス処理機能ユニット502上のポートをSDカードパーティションでシミュレートし、SDカードインタフェース機能ユニット501を介してホストにSDカードパーティションを報告する手順のフローチャートである。
ステップ601:適応ユニット505は、SDカードインタフェース機能ユニット501とホストとの間に接続がセットアップされたことを検出する。適応ユニット505は、ホストと、適応ユニット505を含む無線アクセスモジュール200との間に電気的接続が検出されたら、SDカードインタフェース機能ユニット501とホストとの間に接続がセットアップされたと判断する。実際には、ホスト上のSDカードスロット又はカードリーダに挿入された場合、SDカードインタフェースの無線アクセスモジュール200は、9ピンインタフェースのピン4を介してホストに電気的に接続される。この場合、適応ユニット505は、無線アクセスモジュール200が電源投入されたことを検出した後、SDカードインタフェース機能ユニット501とホストとの間に接続がセットアップされたと判断する。
ステップ602:適応ユニット505は、無線アクセス処理機能ユニット503の各ポートの構成情報を取得し、構成情報に従って各ポートに対応するSDカードパーティション情報を生成する。構成情報は、ポートの数、ポートのタイプ、及びポートを配列する順序を含んでもよい。SDカードパーティション情報は、SDカード自体のパーティショニングの仕様に関する。
ステップ603:適応ユニット505は、標準的なSDカード初期化手順に従ってホストと相互作用し、ホストにSDカードパーティション情報を報告する。
ステップ604:適応ユニット505は、生成されたパーティションをそれぞれ無線アクセス処理機能ユニット503の対応するポートにマッピングし、対応するバッファを各ポートに割り当てる。バッファは、ホストと各ポートとの間のアップリンクインタラクティブ情報、及び、必要に応じて、ダウンリンクインタラクティブ情報を記憶するように構成される。バッファは、無線アクセスモジュール上に位置してもよいと理解され得る。この場合、無線アクセスモジュールは記憶ユニットを更に含む。
上述のように、SDカードインタフェースの無線アクセスモジュール200上のアダプテーションレイヤ505は、ホストにSDカードのパーティションを報告する。各パーティションは、実際には、無線アクセスモジュール200上の無線アクセス処理機能ユニット503の各ポート(例えば、装置管理ポート5031、及びモデムポート5033)である。従って、ホストのアプリケーションレイヤソフトウェアが無線アクセスモジュール200の無線アクセス機能を使用できるように、ホストはSDカードインタフェースの無線アクセスモジュール200を無線アクセス装置として識別する必要がある。ホストはPCであると仮定して、以下では、PCによってSDカードスロット又はカードリーダの装置を無線アクセス装置として識別する方法について説明する。
図7は、従来技術における汎用SDカードインタフェース装置のPC側ドライバの概略構成図である。図7において、SDカードインタフェース装置は、SDカードリーダ又はSDカードスロットに挿入される。SDカードリーダ又はSDカードスロットを駆動しているホストのモードに応じて、R1及びR2という2つのデータ経路が存在してもよい。
R1が適用される場合、SDカードリーダ又はSDカードスロットは、USBバスに直接接続される。データは、USBバスと、マスストレージドライバと、SCSIバスの中間レベルと、ディスクドライバとを通過し、アプリケーションレイヤソフトウェアと情報が交換される。
R2が適用される場合、SDカードリーダ又はSDカードスロットは、マルチメディアカード(MMC)又はSDバスに直接接続される。データは、MMC/SDバスと、ブロックメディアドライバ(block media driver)と、SCSIバスの中間レベルと、ディスクドライバとを通過し、アプリケーションレイヤソフトウェアと情報が交換される。
R1が適用されるか、R2が適用されるかに関係なく、従来技術では、ホストは、SDカードインタフェース装置を記憶装置として識別し、使用することのみが可能である。SDカードリーダ又はSDカードスロットに挿入されたSDカードインタフェースの無線アクセスモジュール200に対して、従来技術におけるPCドライバ構成は無線アクセス機能を実施することができない。図8は、本発明の一実施形態によるPC側ドライバの構成を示す。
図7と比較して、図8に示す実施形態におけるホストのドライバレイヤは、仮想バスと、モデムドライバと、シリアルポートドライバとを更に有する。必要に応じて、SDカードインタフェースの無線アクセスモジュール200がローカルエリアネットワーク(LAN)接続をサポートする場合、ネットワークアダプタドライバが追加されてもよい。この場合、無線アクセスモジュール200上のその他の機能ポート5035は、ネットワークアダプタ機能ポートを、又は、もちろん、その他の機能ポートを含まなければならない。モデムドライバ、シリアルポートドライバ、及びネットワークアダプタドライバは、SDカードインタフェースの無線アクセスモジュール200の専用ドライバ、すなわち、SDカードインタフェースの無線アクセスモジュール200のために特別に開発されたドライバであってもよく、又は、PCのオペレーティングシステムの固有の標準ドライバであってもよい。一般に、Windows(登録商標)オペレーティングシステムには、いくつかの汎用周辺装置ドライバが添付されている場合がある。ドライバが無線アクセスモジュール200上のポートを識別できる場合、それらのドライバが利用可能である。好ましくは、専用ドライバが、この実施形態において適用される。
SDカードインタフェースの無線アクセスモジュール200がPCに接続された場合、SDカードインタフェースの無線アクセスモジュール200上のアダプテーションレイヤ505はホストにSDカードパーティション情報を報告する。従来技術におけるSDカードインタフェース装置の条件に従ってSDカードインタフェースの無線アクセスモジュール200上にディスクドライバがロードされた後、仮想バスは、SDカードインタフェースの無線アクセスモジュール200を検出し、対応するシリアルポートドライバ及びモデムドライバを自動的にロードし、仮想シリアルポート装置及びモデム装置をアプリケーションレイヤに提供する。シリアルポート装置及びモデム装置は、仮想バスを介して、SDカードインタフェースの無線アクセスモジュール200に対応するSDカードパーティションにマッピングされる。仮想バスを介して実行されるマッピングは、仮想バスの開発者とSDインタフェースの無線アクセスモジュール200の開発者とが、SDカードインタフェースの無線アクセスモジュール200のパーティションから様々な装置へのマッピングの規則(例えば、各パーティションから、シリアルポート装置及びモデム装置のそれぞれへのマッピングの規則)について予め合意するということを意味する。すなわち、仮想バスは、どのSDカードパーティションが対応するシリアルポート装置であり、どのパーティションが対応するモデム装置であるかを知っている。このようにして、アプリケーションレイヤが仮想シリアルポート装置及びモデム装置を操作する場合、その操作は、SDカードインタフェースの無線アクセスモジュール200の対応するパーティションを操作することと同等になる。SDカードインタフェースの無線アクセスモジュール200の各パーティションは、実際には、無線アクセスモジュール200上の無線アクセス処理機能ユニット503の各ポート(例えば、装置管理ポート5031、及びモデムポート5033)である。従って、アプリケーションレイヤが仮想シリアルポート装置及びモデム装置を操作する場合、その操作は、SDカードインタフェースの無線アクセスモジュール200の装置管理ポート5031及びモデムポート5033を操作することと同等である。言い換えると、アプリケーションレイヤとシリアルポート装置/モデム装置との間の通信は、SDカードインタフェースの無線アクセスモジュール200に対応するSDカードパーティション上にマッピングされる。この場合、ホスト通信モジュールがホスト上に構成されると考えられ、ホスト通信モジュールは、SDカードインタフェースユニットと、ディスクドライバユニットとを含み、そして、仮想バスユニットと、シリアルポートドライバユニットと、モデムドライバユニットとを更に含む。SDカードインタフェースユニットは、SDカードインタフェースの無線アクセスモジュールとの接続をセットアップするように構成される。ディスクドライバユニットは、SDカードインタフェースユニットと、仮想バスユニットとの間の通信接続をセットアップするように構成される。仮想バスユニットは、SDカードインタフェースの無線アクセスモジュールによって報告されたSDカードパーティション情報を受信し、シリアルポートドライバユニット及びモデムユニットを動作可能にする(enable)ように構成される。シリアルポートドライバユニット及びモデムユニットは、仮想シリアルポート装置及び仮想モデム装置を、アプリケーションレイヤに提供するように構成される。仮想バスユニットは、アプリケーションレイヤと仮想シリアルポート装置/モデム装置との間の通信をSDカードインタフェースの無線アクセスモジュールに対応するSDカードパーティション上にマッピングするように更に構成される。仮想バスユニットは、仮想シリアルポート装置/モデム装置をSDカードインタフェースの無線アクセスモジュールに対応するSDカードパーティションにマッピングする予め設定された規則に従って、アプリケーションレイヤと仮想シリアルポート装置/モデム装置との間の通信をSDカードインタフェースの無線アクセスモジュールに対応するSDカードパーティション上にマッピングするように構成されたマッピングサブユニットを含む。
R1経路については、図9に示す本発明の一実施形態による別のPC側ドライバ構成が適用されてもよい。図9から、本発明の一実施形態において、SCSIバスの中間レベルとディスクドライバとの間にフィルタドライバが追加されることがわかる。フィルタドライバ上には、ディスクドライバと並列に、バスドライバ、対応するシリアルポートドライバ、モデムドライバ、及び、必要に応じて、ネットワークアダプタドライバが追加される。シリアルポートドライバ、モデムドライバ、及び、ネットワークアダプタドライバは、SDカードインタフェースの無線アクセスモジュール200の専用ドライバであってもよく、又は、標準ドライバであってもよく、これについてはここでは繰り返さない。この場合、別のホスト通信モジュールがホスト上に構成されると考えられ、ホスト通信モジュールは、SDカードインタフェースユニットと、USBドライバユニットと、フィルタドライバユニットと、バスドライバユニットとを含む。SDカードインタフェースユニットは、SDカードインタフェース装置のアクセスを検出し、SDカードインタフェース装置との接続をセットアップするように構成される。USBドライバユニットは、SDカードインタフェースユニットとフィルタドライバユニットとの間の通信接続をセットアップするように構成される。フィルタドライバユニットは、SDカードインタフェース装置がSDカードインタフェースの無線アクセスモジュールであるかどうかを検出し、SDカードインタフェース装置がSDカードインタフェースの無線アクセスモジュールである場合、SDカードインタフェースの無線アクセスモジュールによって報告されたSDカードパーティション情報を受信し、SDカードインタフェースの無線アクセスモジュールのハードウェアIDを修正し、バスドライバユニットを動作可能にするように構成される。バスドライバユニットは、アプリケーションレイヤがシリアルポート装置及びモデム装置を介したSDカードインタフェースの無線アクセスモジュールに対応するSDカードパーティションとの通信をセットアップできるように、SDカードパーティション情報に従ってシリアルポート装置及びモデム装置を作成し、対応するシリアルポートドライバ及びモデムドライバをロードするように構成される。
図9に示す、PC側ドライバ構成が適用される場合、SDカードインタフェースの無線アクセスモジュール200がPCに接続されると、SDカードインタフェースの無線アクセスモジュール200上のアダプテーションレイヤ505はホストにSDカードパーティションを報告する。図10は、PCシステムによってSDカードインタフェースの無線アクセスモジュール200のためのドライバをロードする手順のフローチャートである。このロード手順は、以下のステップを含む。
ステップ1001:システムは、SDカードインタフェース装置のアクセスを検出する。
ステップ1002:システムは、SDカードインタフェース装置のためのUSBマスストレージドライバをロードする。
ステップ1003:システムは、USBマスストレージ上にフィルタドライバをロードする。
ステップ1004:フィルタドライバは、ユーザ定義のUSBコマンドを使用して、装置がSDカードインタフェースの無線アクセスモジュールであるかどうかを問い合わせる。以下は、ユーザ定義のUSBコマンドの例示的なフォーマットである。
上に示したように、USBコマンドは、標準USBコマンドのフォーマットである。これはユーザ定義であり、bRequestフィールドの値が0x9aである場合、このコマンドは、装置がSDカードインタフェースの無線アクセスモジュールであるかどうかを問い合わせるために使用される。このユーザ定義の値は、例示的なものであり、限定的なものではない。その他のユーザ定義の文字が、同じ機能を実施するために、フィールドの値として使用されてもよい。問い合わせ機能は、フィルタドライバユニットの問い合わせサブモジュールによって実施されてもよい。
このコマンドに応えて、SDカードインタフェースの無線アクセスモジュールによって返される値は、特定のフォーマット又は内容の文字又は符号(例えば、ASCIIフォーマットの文字列「HW_SD_DATACARD」)であるように設定されてもよく、又は、他の装置の場合、このユーザ定義のコマンドはサポートされていないため、返される値は、装置がSDカードインタフェースの無線アクセスモジュールであることを示さない(例えば、「STALL」値が直接返される)。
ステップ1005:装置が、SDカードインタフェースの無線アクセスモジュールであることを返された値が示すことができない場合(例えば、「STALL」値が直接返された場合)、フィルタドライバは、アクセス装置が無線アクセスモジュールではないと判断し、その装置をディスク装置としてシステムに報告し、システムの固有のディスクドライバをロードする。そして、ドライバをロードするプロセスは完了する。
ステップ1006:返された値が、装置がSDカードインタフェースの無線アクセスモジュールであることを示す場合、フィルタドライバは、装置のハードウェアIDを修正することによって装置のためのバスドライバをロードする。例えば、ハードウェアIDは、「HW_SD/VID_12D1&PID_xxxx」の形式に修正されてもよい。無線アクセスモジュールの異なるポートに対して、異なるハードウェアIDが設定されてもよいと理解され得る。フィルタドライバの開発者とSDインタフェースの無線アクセスモジュール200の開発者とは、SDカードインタフェースの無線アクセスモジュール200のパーティションから様々な装置へのマッピングの規則(例えば、シリアルポート装置からモデム装置へのマッピングの規則)について予め合意する。すなわち、フィルタドライバは、どのSDカードパーティションが対応するシリアルポート装置であり、どのパーティションが対応するモデム装置であるかを知っている。ハードウェアIDの修正により、もはやバスドライバ上でマッピング関係を維持する必要はなくなる。ハードウェアIDを修正する機能は、フィルタドライバユニットのハードウェアID修正サブモジュールによって実施されてもよい。フィルタドライバユニットは、接続されたSDカードインタフェース装置がSDカードインタフェースの無線アクセスモジュールでない場合、接続されたSDカードインタフェース装置を通常のSDカードインタフェースの記憶装置として報告するように構成された記憶装置報告サブモジュールを更に含むと理解され得る。
ステップ1007:バスドライバは、SDカードインタフェースの無線アクセスモジュール200によって報告されたSDカードパーティション情報に従って対応する装置を作成し、対応するドライバをロードする。例えば、バスドライバは、標準SCSIコマンドを使用することによって、SDインタフェースの無線アクセス装置のパーティションの数を問い合わせ、パーティションの拡張タイプ情報に従って、様々な装置オブジェクトを作成し、モデムドライバ、シリアルポートドライバ、及びネットワークアダプタドライバなどの様々なドライバをロードする。そして、ドライバをロードするプロセスは完了する。
前述のいずれかのモードでドライバがロードされた後、無線アクセスモジュール管理ソフトウェアなどのアプリケーションレイヤソフトウェアは、SDインタフェースの無線アクセスモジュール200と通信することができる。図8に示すドライバ構成を例として採用したPC側における通信方法を図11に示す。
図11Aは、PCによって無線アクセスモジュール200にコマンド又は書き込みデータを送信する方法を示す。例えば、PC側におけるアプリケーションレイヤソフトウェアは、無線アクセスモジュール200を管理するために、仮想シリアルポート装置に対応するSDカードパーティションにコマンドを送信し、又は、無線アクセスモジュール200の無線アクセス機能を介して外部ネットワークにデータを伝送するために、仮想モデム装置に対応するSDカードパーティションにデータを伝送し、ここで、SDカードパーティションは無線アクセスモジュール200のパーティションである。
ステップ1101:仮想バスは、アプリケーションレイヤソフトウェアからコマンド又はデータを受信する。例えば、コマンドは、無線アクセスモジュール200を管理するためにアプリケーションレイヤソフトウェアによって使用されるコマンドであってもよく、データは、アプリケーションレイヤソフトウェアによって無線アクセスモジュール200を介して外部ネットワークに伝送される必要があるデータであってもよい。コマンド又はデータの様々な特性、及び現在の無線アクセスモジュール200の様々なネットワークアクセスモードに応じて、コマンド又はデータは、シリアルポート、モデムポート、又はネットワークポートを介して送信されてもよいと理解され得る。
ステップ1102:コマンド又はデータは、SCSI書き込み要求コマンドのパケットにカプセル化される。具体的には、例えば、書き込み要求に対応する値がSCSIコマンドの操作タイプを示すフィールドに割り当てられ、コマンド又はデータをバッファリングするためのアドレス又はアドレスを示す情報が、書き込み要求コマンドと一緒に、SCSI書き込み要求コマンドのパケットとしてカプセル化される。
ステップ1103:SCSI書き込み要求コマンドのパケットは、ディスクドライバレイヤを介して、無線アクセスモジュール200の対応するパーティションインタフェースに送信される。対応するパーティションは、アプリケーションレイヤソフトウェアからのコマンド又はデータの機能又は特性に対応するパーティションである。従来のPCドライバアーキテクチャによれば、データは、ディスクドライバによってSDカードパーティションに書き込まれる。無線アクセスモジュール200の各パーティションインタフェースに書き込まれる必要がある各パケットについて、仮想バスがパケットをディスクドライバに送信する必要があり、次に、ディスクドライバがパケットを書き込む。対応するパーティションは、ステップ1101において、コマンド又はデータの特性に従って決定される。例えば、コマンドが無線アクセスモジュール200を管理するためにアプリケーションレイヤソフトウェアによって使用されるコマンドである場合、対応するパーティションは無線アクセスモジュール200の装置管理ポート5031に対応するSDカードパーティションであり、データがアプリケーションレイヤソフトウェアによって無線アクセスモジュール200を介して外部ネットワークに伝送される必要があるデータである場合、対応するパーティションは無線アクセスモジュール200のモデムポート5033に対応するSDカードパーティションである。
ステップ1101〜1103を介してアプリケーションレイヤソフトウェアのコマンド又はデータは、無線アクセスモジュール200のSDカードパーティションに書き込まれることが可能である。このようにして、無線アクセスモジュール200が管理され、その無線アクセス機能が使用される。
無線アクセスモジュール200を管理するプロセス又は無線アクセス機能を使用するプロセスにおいて、無線アクセスモジュール200からの応答を受信するか、又は、無線アクセスモジュール200を介して外部ネットワークからのデータを受信する必要がある。この場合、アプリケーションレイヤソフトウェアは、無線アクセスモジュール200上のデータを読み出すことができる必要がある。この実施形態では、仮想バスは、無線アクセスモジュール200に対応するSDカードパーティションを介してデータを読み出す。例えば、図11Bは、本発明の一実施形態によるPCによって無線アクセスモジュール200からの応答又はデータを読み出す方法を示す。この方法は、以下のステップを含む。
ステップ1104:仮想バスは、SCSI読み出し要求コマンドのパケットをディスクドライバレイヤを介して無線アクセスモジュール200の対応するパーティションに送信する。対応するパーティションは、仮想バスによって読み出される必要がある応答又はデータの特性に対応するパーティションである。ステップ1103と同様に、例えば、無線アクセスモジュール200を管理するためにアプリケーションレイヤソフトウェアによって使用されたコマンドに対する応答を仮想バスが読み出す必要がある場合、対応するパーティションは、無線アクセスモジュール200の装置管理ポート5031に対応するSDカードパーティションであり、アプリケーションレイヤソフトウェアによって無線アクセスモジュール200を介して外部ネットワークから受信される必要があるデータを仮想バスが読み出す必要がある場合、対応するパーティションは、無線アクセスモジュール200のモデムポート5033に対応するSDカードパーティションである。例えば、SCSI読み出し要求コマンドのパケットは、読み出し要求に対応する値がSCSIコマンドの操作タイプを示すフィールドに割り当てられていなければならないということ、及び、読み出しデータをバッファリングするためのホストによって予め割り当てられたアドレス又はこのアドレスを示す情報が一緒にカプセル化されていなければならないということを必要とする。
ステップ1105:読み出し要求コマンドに対する応答パケットが無線アクセスモジュール200の対応するパーティションインタフェースから受信される。読み出し要求コマンドに対する応答パケットは、アプリケーションレイヤソフトウェアのコマンド(装置管理コマンド又はダイヤルアップコマンドなど)に対して、無線アクセスモジュール200によって報告される応答を含むか又は外部ネットワークからのデータを含む。
ステップ1106:読み出し要求コマンドに対する応答パケットに対してSCSI脱カプセル化が実行され、応答パケットから取得された応答又はデータがアプリケーションレイヤソフトウェアに送信される。応答又はデータがステップ1104に従ってカプセル化されている場合、データの脱カプセル化及び送信のプロセスは以下の通りであってもよい。読み出し要求に従って、操作が読み出し操作として識別された場合、脱カプセル化の後、報告される必要があるデータはホストによって予め割り当てられたバッファアドレスに送信される。
ステップ1104〜1106を介して無線アクセスモジュール200がアプリケーションレイヤソフトウェアに応答又はデータを報告する場合、応答又はデータは、仮想バスによって無線アクセスモジュール200の対応するポートを介して報告されてもよい。このようにして、無線アクセスモジュール200が管理され、その無線アクセス機能が使用される。ステップ1104〜1106における無線アクセスモジュール200から応答又はデータを読み出すプロセスは、ステップ1101〜1103における無線アクセスモジュール200にコマンド又はデータを書き込むプロセスに対応するが、必ずしもステップ1101〜1103の直後に行われるとは限らないと理解され得る。例えば、ステップ1101〜1103において書きこまれたコマンドは、必ずしも次の読み出しプロセス(すなわち、ステップ1104〜1106)において応答されるとは限らず、いくつかの読み出しプロセスの完了の後、特定の読み出しプロセスにおいて応答されてもよい。もちろん、2つのプロセスを連続して実行することも適切である。
実際には、仮想バスユニットは、アプリケーションレイヤからコマンド又はデータを受信するように構成されたアプリケーションレイヤインタフェースサブユニットと、SCSI書き込み要求コマンドのパケットにコマンド又はデータをカプセル化するように構成されたカプセル化サブユニットとを更に含んでもよいと理解され得る。マッピングサブユニットは、SCSI書き込み要求コマンドのパケットを無線アクセスモジュールに対応するSDカードパーティションに送信するように構成される。更に、仮想バスユニットは、読み出しコマンド生成サブユニットと、脱カプセル化サブユニットとを更に含む。読み出しコマンド生成サブユニットは、SCSI読み出し要求コマンドのパケットを生成するように構成される。この場合、マッピングサブユニットは、SCSI読み出し要求コマンドのパケットを、無線アクセスモジュールに対応するSDカードパーティションに送信し、SDカードパーティションからSCSI読み出し要求コマンドに対する応答パケットを読み出すように構成され、ここで、SCSI読み出し要求コマンドに対する応答パケットは、アプリケーションレイヤのコマンドに対して無線アクセスモジュールによって報告される応答を含むか、又は、外部ネットワークからのデータを含む。脱カプセル化サブユニットは、SCSI読み出し要求コマンドに対する応答パケットに対してSCSI脱カプセル化を実行するように構成される。アプリケーションレイヤインタフェースサブユニットは、脱カプセル化された応答又はデータをアプリケーションレイヤに送信するように構成される。更に、仮想バスユニットは、カプセル化サブユニットによって生成されたSCSI書き込み要求コマンドが無線アクセスモジュール上で正常に処理されたかどうかを判定し、カプセル化サブユニットによって生成されたSCSI書き込み要求コマンドが無線アクセスモジュール上で正常に処理された場合、SCSI読み出し要求コマンドのパケットを生成するよう読み出しコマンド生成サブユニットをトリガするように構成された判定ユニットを更に含む。
図9に示すPC側ドライバ構成が適用される場合、ステップ1101〜1106で説明した仮想バスは、バスドライバに置き換えられてもよいと理解され得る。上述の仮想シリアルポート装置及び仮想モデム装置に関しては、図9に示すPC側ドライバ構成が適用される場合、バスドライバがSDカードパーティション情報に従ってシリアルポート装置及びモデム装置を作成する。以下の実施形態において述べる仮想バス、仮想シリアルポート装置、仮想モデム装置、及び仮想ネットワークポートは、このマッピング関係に従って置き換えられて、図9に示すPC側ドライバ構成が適用される場合の実施形態が導き出されてもよく、これについてはここでは繰り返さない。
図5に示す無線アクセスモジュール200の機能構成の概略図に関する説明において述べたように、この実施形態で提唱される技術的解決法において、SDカードパーティションが無線アクセスモジュール200の無線アクセス処理機能ユニット502上の各ポートに対応し、コマンド又はデータが変換されて、伝送されるように、無線アクセスモジュール200に適応ユニット505が設けられる。具体的には、無線アクセスモジュール200上での図11に示す方法に対応するSDカードインタフェースの無線アクセスモジュール200とPCとの間の通信の方法を図12Aに示す。
ステップ1201:適応ユニットは、SDカードパーティションを介してPCから書き込み要求コマンドのパケットを受信する。パーティションは、PCに報告されたSDカードパーティションのうちの1つである。特定のパーティションは、PCが送信する書き込み要求コマンドのパケットが通過するパーティションによって決まる。詳細については、前述の図11Aにおけるステップ1103の説明を参照されたい。
ステップ1202:書き込み要求コマンドのパケットが解析され、取得されたコマンド又はデータが、無線アクセス処理機能ユニット503上のSDカードパーティションに対応するポートに送信される。書き込み要求コマンドのパケットは、PC側においてパケットが送信される際に、SDインタフェースフォーマットにカプセル化される。適応ユニット505は、書き込み要求コマンドのパケットを脱カプセル化し、パケットのコマンド又はデータを取得する。例えば、コマンドは無線アクセスモジュール200を管理するためのコマンドであってもよく、又は、データは無線アクセスモジュール200を介して外部ネットワークに送信される必要があるデータであってもよい。ステップ1201において書き込み要求コマンドのパケットを受信した様々なパーティションインタフェースに応じて、適応ユニットは、対応するポートにコマンド又はデータを送信する。パーティションインタフェースは、適応ユニットがPCにSDカードパーティション情報を報告する際に、対応するポートに結び付けられる。詳細については、図6に関する前述の対応する説明を参照されたい。
ステップ1203:ポートは、コマンド又はデータに応じた対応する処理を実行する。ポートは、装置管理ポート5031又はモデムポート5033であってもよい。コマンド又はデータに応じた対応する処理は、以下の通りであってもよい。コマンドが、無線アクセスモジュール200を管理するためのコマンドであり、装置管理ポート5031に宛てられている場合、装置管理ポート5031は、コマンドに従って無線アクセスモジュール200を設定し、データがモデムポートに送信され、外部ネットワークに宛てられている場合、モデムポート5033は、データを変調し、変調されたパケットを送信する。
ステップ1204:操作において応答が生成された場合、応答パケットがポートのバッファに書き込まれる。必ずしも全ての操作において応答データが生成されるとは限らないため、このステップは省略可能であると理解され得る。応答は、操作コマンドに対する操作結果応答、又は、外部ネットワークからのデータ応答、又は、外部ネットワークからのデータ要求であってもよい。これらの全ての応答は、アプリケーションレイヤソフトウェアによって送信されたコマンド又はデータに対する応答とみなされてもよい。バッファは、ステップ604において説明した適応ユニット505によって各ポートに割り当てられたバッファである。
ステップ1201〜1204を介して、PCのコマンド又はデータが無線アクセスモジュール200の対応するポートに書き込まれることが可能である。このようにして、無線アクセスモジュール200が管理され、その無線アクセス機能が使用される。
無線アクセスモジュール200を管理するプロセス又は無線アクセス機能を使用するプロセスにおいては、PCに無線アクセスモジュール200の応答を報告するか、又は、無線アクセスモジュール200を介して外部ネットワークからデータを受信し、PCにデータを報告する必要がある。図12Bは、無線アクセスモジュール200によってPCに応答又はデータを報告する方法を示す。この方法は、以下のステップを含む。
ステップ1205:適応ユニットは、SDカードパーティションを介して、PCから読み出し要求コマンドのパケットを受信する。このステップはステップ1201に類似しているが、このステップでは読み出し要求コマンドのパケットが受信されるという点が異なる。
ステップ1206:このパーティションに対応するポートのバッファからパケットが読み出される。バッファのパケットは、ステップ1204において記憶されたパケットである。パケットは、操作コマンドに対する操作結果応答パケット、又は、外部ネットワークからのデータ応答パケット、又は、外部ネットワークからのデータ要求パケットであってもよい。
ステップ1207:読み出されたパケットは、読み出し要求コマンドに対する応答パケットにカプセル化され、ホストに送信される。
ステップ1205〜1207を介して、無線アクセスモジュール200の無線アクセス処理機能ユニット503の各ポートが、適応ユニット505を介してPCに応答又はデータを報告する。このようにして、無線アクセスモジュール200が管理され、その無線アクセス機能が使用される。ステップ1205〜1207のプロセスは、ステップ1201〜1204のプロセスに対応するが、必ずしもステップ1201〜1204の直後に行われるとは限らないと理解され得る。もちろん、2つのプロセスを連続して実行することも適切である。
本発明の実施形態において開示された、SDインタフェースの無線アクセスモジュール200と、PC側ドライバ構成とを使用することによって、図11に示す方法が図12に示す方法と組み合わされて、PC上のアプリケーションレイヤソフトウェアと、無線アクセスモジュール200の無線アクセス処理機能ユニット503の各ポートとの間の通信が実施されると理解され得る。このようにして、アプリケーションレイヤソフトウェアは、無線アクセス処理機能ユニット503を管理し、その無線アクセス機能を使用する。
図13及び図14は、本発明の実施形態において開示されるSDインタフェースの無線アクセスモジュール200を使用する方法を説明するためのより詳細な実施形態を示す。
図13は、アプリケーションレイヤソフトウェアによって、仮想シリアルポート装置を介してSDインタフェースの無線アクセスモジュール200を管理する方法を示す。この方法は、以下のステップを含む。
ステップ1301:アプリケーションレイヤソフトウェアは、仮想シリアルポート装置を起動し、ATコマンドを送信する。図8又は図9に示すPC側ドライバ構成が適用された後、アプリケーションレイヤソフトウェア(モデム管理ソフトウェアなど)は、シリアルポートドライバ及びモデムドライバなどの仮想シリアルポート装置及びモデム装置を見付ける。ATコマンドは、モデムに適用されるコマンド言語である。ATは、Attentionを意味する。ユーザは、呼、ショートメッセージ、電話帳、データサービス、及びファックスを制御するために、ATコマンドを使用してもよい。1990年代初頭には、ATコマンドはモデム操作のみのために使用されていた。従来技術では、携帯電話テキストメッセージを制御するためにATコマンドは使用されず、ホスト又はコンピュータを介して完全にメッセージを制御するために、SMSブロックモードプロトコルのみが開発された。このプロトコルは、ヘイズ(Hayes)によって発明され、現在は実際の標準であり、全てのモデム製造業者によって適用されるモデムコマンド言語である。各コマンドが文字「AT」から始まるため、このコマンドは、ATコマンドと呼ばれる。コマンドの「AT」の後の文字又は数字が、特定の機能を示す。数年後、ノキア(Nokia)(登録商標)、エリクソン(Ericsson)(登録商標)、モトローラ(Motorola)(登録商標)、及びヒューレット・パッカード(HP)(登録商標)などの主要な携帯電話製造業者が共同で作業を行い、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)のためのATコマンド一式を開発した。そのようなATコマンドは、ショートメッセージサービス(SMS)を制御するためのコマンドを含む。ATコマンドはこれに基づいて発展し、GSM07.05標準及びGSM07.07標準が、ATコマンドに追加された。本発明の実施形態は、ATコマンドが無線アクセスモジュール200を管理することが可能である限り、ATコマンドに適用される標準のバージョンを限定せず、ATコマンドが標準に基づくかどうかさえも限定しない。
ステップ1302:仮想バスは、ATコマンドを取得し、ATコマンドをSCSI書き込み要求コマンドのパケットにカプセル化する。
ステップ1303:仮想バスは、パケットをディスクドライバレイヤに送信し、そして、データを対応するパーティションに書き込むよう要求する。
ステップ1304:ディスクドライバは、SDインタフェースの無線アクセスモジュール200の装置管理ポート5031に対応するパーティションインタフェースにパケットを送信する。
ステップ1305:SDインタフェースの無線アクセスモジュールは、パーティションインタフェースからパケットを取得し、適応ユニット505は、パケットを解析して、ATコマンドを取得する。
ステップ1306:SDインタフェースの無線アクセスモジュールの装置管理ポート5301は、ATコマンドに従って、無線アクセスモジュール200を管理する。
ステップ1307:装置管理ポート5301に対応するバッファは、ATコマンド応答をバッファリングする。コマンド送信手順は終了する。
以下のステップは、ステップ1301〜1307において送信されたコマンドに対する応答を読み出すプロセスである。コマンド応答読み出しプロセスは、コマンド送信プロセスに対応するが、必ずしもコマンド送信プロセスの直後に行われるとは限らない。すなわち、ステップ1301〜1307において送信されたコマンドに対する応答が、必ずしもステップ1308〜1313において読み出されるとは限らない。
ステップ1308:仮想バスは、SCSI書き込み要求コマンドの処理の結果を待つ。
ステップ1309:仮想バスは、SCSI書き込み要求コマンドが正常に処理されたかどうかを判定する。SCSI書き込み要求コマンドが正常に処理された場合、手順はステップ1310に進み、SCSI書き込み要求コマンドが正常に処理されなかった場合、手順は終了する。SCSI書き込み要求コマンドが正常に処理されたかどうかは、SCSIコマンド仕様に従って(例えば、アクノリッジ(ACK)パケットを使用することによって)判定される。
ステップ1310:仮想バスは、標準SCSI読み出し要求コマンドを送信する。
ステップ1311:適応ユニット505は、装置管理ポート5301に対応するバッファキューのATコマンド応答情報をSCSI読み出し要求コマンドに対する応答にカプセル化し、仮想バスに応答を送信する。
ステップ1312:仮想バスは、読み出し要求コマンドに対する応答を解析して、ATコマンド応答情報を取得する。
ステップ1313:仮想バスは、仮想シリアルポート装置を介してアプリケーションレイヤソフトウェアにATコマンド応答結果をフィードバックする。
上記のステップ1301〜1313を介して、アプリケーションレイヤソフトウェアは、SDインタフェースの無線アクセスモジュール200を管理する。
図14は、アプリケーションレイヤソフトウェアによって、仮想モデム装置を介して、SDインタフェースの無線アクセスモジュール200を使用したデータサービスを実行する方法を示す。この方法は、以下のステップを含む。
ステップ1401:アプリケーションレイヤソフトウェアは仮想モデム装置を介してダイヤルアップ操作を開始し、ダイヤルアップが成功した後、データサービスを実行する。このステップにおいて、アプリケーションレイヤソフトウェアは、ダイヤルアップ操作の開始、又は、データを送信するプロセスにおけるデータサービスの実施のいずれかを選択する。ダイヤルアップ操作の開始は、ユーザの操作、又は、自動リダイヤルにおいて発生するダイヤルアップ操作、又は、ネットワークが切断されていることが検出された後の自動ダイヤルアップ操作によってトリガされてもよいが、この実施形態ではこれらに限定されない。データサービスは、通常のインターネットアクセスプロセスにおける外部ネットワークとデータパケットを交換するサービスである。
ステップ1402:仮想バスは、モデム装置によって送信されたダイヤルアップコマンド、又は、データサービスにおいて使用されるデータを取得し、コマンド又はデータをSCSI書き込み要求コマンドのパケットにカプセル化する。
ステップ1403:仮想バスは、カプセル化されたSCSI書き込み要求コマンドのパケットをディスクドライバに送信し、そして、データを対応するパーティションに書き込むよう要求する。
ステップ1404:ディスクドライバは、SDインタフェースの無線アクセスモジュール200に対応するパーティションインタフェースにSCSI書き込み要求コマンドのパケットを送信する。対応するパーティションインタフェースは、一般にモデムポートに対応するパーティションインタフェースである。
ステップ1405:SDインタフェースの無線アクセスモジュール200の適応ユニット505は、パーティションインタフェースからSCSI書き込み要求コマンドのパケットを取得し、パケットを解析して、ダイヤルアップコマンド、又はデータサービスを実行するために使用されるデータを取得する。
ステップ1406:モデムポートは、操作がダイヤルアップコマンドであるかどうかを判定する。操作がダイヤルアップコマンドである場合、手順はステップ1407に進み、操作がダイヤルアップコマンドでない場合、操作はデフォルトでデータサービスであり、手順はステップ1410に進む。
ステップ1407:SDインタフェースの無線アクセスモジュール200は、ダイヤルアップコマンドに従ってダイヤルアップを開始する。具体的には、ダイヤルアップは、SDインタフェースの無線アクセスモジュール200上の無線アクセス処理機能モジュール503のモデムポート5033によって開始される。
ステップ1408:無線アクセスモジュール200は、ダイヤルアップが成功したかどうかを判定し、ダイヤルアップが成功した場合、手順はステップ1409に進み、又は、ダイヤルアップが失敗した場合、ダイヤルアッププロセスは終了する。あるいは、無線アクセスモジュール200上に自動リダイヤル機能が設定されている場合、ダイヤルアップは続けられてもよく、ダイヤルアップが成功するまで、又は、無線アクセスモジュール200上に設定されたダイヤルアップを停止するその他の条件が満たされるまで(例えば、ダイヤルアップが10回連続して失敗するまで)リダイヤルするために、手順はステップ1407に進む。
ステップ1409:SDインタフェースの無線アクセスモジュールは、モデムに対応するパーティションをデータモードに設定する。手順はステップ1401に進み、アプリケーションレイヤソフトウェアはデータサービスを開始することができる。
ステップ1410:SDインタフェースの無線アクセスモジュール200は、データに従ってデータサービスを実行する。手順はステップ1401に進み、アプリケーションレイヤソフトウェアは前述のステップに従ってデータサービスを続ける。
以下のステップは、ステップ1401〜1410で送信されたダイヤルアップコマンドに対する応答を読み出すプロセス、又は、ステップ1401〜1410で実行されたデータサービスにおいて外部ネットワークから受信されたデータを読み出すプロセスである。応答又はデータを読み出すプロセスは、コマンド又はデータを送信するプロセスに対応するが、必ずしもコマンド又はデータを送信するプロセスの直後に行われるとは限らない。すなわち、ステップ1401〜1410において送信されたデータに対する応答が、必ずしもステップ1411〜1417において直ちに読み出されるとは限らない。
ステップ1411:仮想バスは、SCSI書き込み要求コマンドの処理の結果を待つ。
ステップ1412:仮想バスは、SCSI書き込み要求コマンドが正常に処理されたかどうかを判定する。SCSI書き込み要求コマンドが正常に処理された場合、手順はステップ1310に進み、SCSI書き込み要求コマンドが正常に処理されなかった場合、手順は終了する。判定は、他のモードで(例えば、ACKパケットを使用することによって)行われてもよい。
ステップ1413:仮想バスは、標準SCSI読み出し要求コマンドを送信する。
ステップ1414:報告される必要があるデータについて、SDインタフェースの無線アクセスモジュール200の適応ユニット505は、データを読み出し要求コマンドに対する応答パケットとして使用し、パケットを読み出し要求コマンドに従って仮想バスに伝送する。
ステップ1415:仮想バスは、読み出し要求コマンドに対する応答パケットを解析して、報告されたデータを取得する。
ステップ1416:仮想バスは、仮想モデム装置に報告されたデータをアップロードする。
上記のステップ1401〜1417を介して、アプリケーションレイヤソフトウェアは、SDインタフェースの無線アクセスモジュール200へのダイヤルアップを開始し、モジュールの無線アクセス機能を介して外部ネットワークとデータを交換することができる。
前述の方法で述べたSDインタフェースの無線アクセスモジュール200は図2に示す無線アクセスモジュールであり、その機能構成の概略図は図5に示されている。実際には、SDカードのメモリ機能が無線アクセスモジュールに組み入れられてもよい。図15に示すように、無線アクセスモジュール1500は、SDカードインタフェースサブモジュール1501と、無線アクセス処理サブモジュール1502と、SD記憶サブモジュール1503とを含む。SDカードインタフェースサブモジュール1501及び無線アクセス処理サブモジュール1502は、図2に示すSDカードインタフェースサブモジュール201及び無線アクセス処理サブモジュール202と同じである。SD記憶サブモジュール1503は、従来技術におけるSDカードの記憶モジュールと同じである。従って、図16は、図15に示す機能構成の概略図である。SDカードインタフェース機能ユニット1601及び無線アクセス処理機能ユニット1603は、図5におけるSDカードインタフェース機能ユニット501及び無線アクセス処理機能ユニット503と同じである。無線アクセス処理機能ユニット1603の装置管理ポート16031、モデムポート16033、及びその他の機能ポート16035は、図5における無線アクセス処理機能ユニット503の装置管理ポート5031、モデムポート5033及びその他の機能ポート5035と同じである。図16におけるSDメモリ機能ユニット1607は、従来技術におけるSDカードのメモリ機能ユニットを使用することによって実施される。SDメモリ機能ユニット1607と無線アクセス処理機能ユニット1603との間に、通信チャネルが存在してもよく又は存在しなくてもよい。図16における適応ユニット1605は、図5における適応ユニット505の機能を提供するのみでなく、更に、SDメモリ機能ユニットをSDインタフェースの無線アクセスモジュール1500のSDカードパーティションとしてPCに報告する。更に、従来技術におけるSDカードのメモリ機能を実施するためにPCとデータを交換するプロセスにおいて、適応ユニット1605は、PCによってSDメモリ機能ユニットに対応するSDカードパーティションに送信されるデータをトランスペアレントに伝送する。
SDインタフェースの無線アクセスモジュール1500は、無線アクセスモジュールを管理するためのアプリケーションソフトウェアを実行することが可能なホスト(例えば、PC又はスマートフォン)に適用可能である。しかし、ほとんどの消費可能電子製品(カメラ及び電子フォトフレームなど)は製品と一体化されたSDカードスロット又はカードリーダを有するが、高度な装置管理機能又はネットワーク管理機能は有さない。この場合、SDインタフェースの無線アクセスモジュール1500の装置管理ポートの機能及びモデムポートの機能は、ホスト側アプリケーションソフトウェアのサポートの欠如のため無効にされ、SDインタフェースの無線アクセスモジュール1500は、通常のSDカード装置に格下げされる。
本発明の実施形態は、通常の消費可能電子製品(カメラ及び電子フォトフレームなど)がSDインタフェースの無線アクセス装置を介して外部ネットワークに直接接続されるようにSDインタフェースの無線アクセスモジュール1500を改良し、従来技術における問題(そのような消費可能電子製品におけるデータは、PC又はスマートフォンによってデータが転送されない限り、ネットワークと交換されることはできない)を克服する。図17を参照されたい。図16と比較すると、図17は、図16におけるSDインタフェースの無線アクセスモジュール1500の機能構成に基づいて、データ同期化機能ユニット1709を含む。SDカードインタフェース機能ユニット1701及びSDメモリ機能ユニット1707などのその他の機能ユニットは、図16におけるSDカードインタフェース機能ユニット1601及びSDメモリ機能ユニット1607と同じである。データ同期化機能ユニット1709は、SDメモリ機能ユニット1707のデータ又はSDメモリ機能ユニット1707に結び付けられた外部ネットワーク空間のデータのいかなる変化を検出した場合も、予め設定された同期化ポリシーに従ってデータを同期させるように構成される。無線アクセス処理機能ユニット1603と比較すると、無線アクセス処理機能ユニット1703は、無線アクセスモジュール1500が電源投入されたことを検出した場合、予め設定されたダイヤルアップ情報に従って自動ダイヤルアップを実行するという側面において改良される。適応ユニット1705は、更に、ホストがデータ同期化機能ユニットを設定し、同期化ポリシーを予め設定できるように、データ同期化機能ユニット1709をSDカードパーティションとして報告する必要がある。前述の実施形態におけるPC側におけるアプリケーションソフトウェアによって無線アクセスモジュールを管理及び設定する方法は、データ同期化機能ユニット1709上に同期化ポリシーを予め設定すること、及び、無線アクセス処理機能ユニット1703上にダイヤルアップ情報を予め設定することに適用可能であると理解され得る。すなわち、同期化ポリシー及びダイヤルアップ情報は、図2〜図16に示す実施形態における前述の方法を使用することによって、高度な装置管理機能及びネットワーク管理機能が可能な電子装置(例えば、PC又はスマートフォン)上の無線アクセスモジュールによって予め設定される必要がある。
データ同期化機能ユニット1709上に同期化ポリシーが予め設定され、無線アクセス処理機能ユニット1703上にダイヤルアップ情報が予め設定された後、SDインタフェースの無線アクセスモジュールは、通常の消費可能電子製品(カメラ、及び電子フォトフレームなど)のSDカードスロットに挿入されて、動作させられることが可能である。以下では、消費可能電子製品の例としてデジタルカメラを採用した図18に示す使用方法について説明する。
ステップ1801:SDインタフェースの無線アクセスモジュールが動作可能にされる。SDインタフェースの無線アクセスモジュールは、デジタルカメラのSDカードスロットに挿入され、デジタルカメラが電源投入されるとすぐに、SDインタフェースの無線アクセスモジュールは動作可能にされる。もちろん、SDインタフェース装置を動作可能にするかどうかを示す自由選択機能が、デジタルカメラのオペレーティングシステム又はハードウェア上に設けられてもよい。この場合、SDインタフェースの無線アクセスモジュールは、SDインタフェース装置を動作可能にする自由選択機能が選択されるまで、動作可能にされる。
ステップ1802;無線アクセス処理機能ユニット1703は、予め設定されたダイヤルアップ情報に従って自動ダイヤルアップを実行する。
ステップ1803:データ同期化機能ユニット1709は、ネットワークの接続状態を検出する。
ステップ1804:ネットワークが正常に接続された場合、手順はステップ1805に進み、ネットワークが正常に接続されなかった場合、手順はステップ1803に戻る。
ステップ1805:データ同期化機能ユニット1709は、モジュールに予め設定されたネットワーク空間情報に従って、ネットワーク空間に自動的にログインする。ネットワーク空間は、ユーザの個人ホームページ、QQ空間、Kaixin(開心)ウェブサイト(www.kaixin.com)の空間、facebook(登録商標)空間、MSN(登録商標)空間、又は、個人サーバ上の空間、又は他の人々と共有されるネットワーク空間であってもよい。
ステップ1806:データ同期化機能ユニット1709は、ネットワーク空間のデータをSDメモリ機能ユニット1707の指定されたディレクトリにマッピングする。このようにして、指定されたディレクトリのデータに対する操作は、対応するネットワーク空間に同期させられる。
ステップ1807:データ同期化機能ユニット1709は、ネットワーク空間のデータの変化を検出し、ステップ1809が実行される。
ステップ1808:データ同期化機能ユニット1709は、ユーザがSDメモリ機能ユニット1707に新たなデータを書き込んでいることを検出し、ステップ1809が実行される。
ステップ1807のシナリオ又はステップ1808のシナリオのいずれかが発生した場合、ステップ1809が実行される。データ同期化機能ユニット1709は、予め設定された同期化ポリシーに従ってデータ同期化が必要とされているかどうかを調べる。予め設定された同期化ポリシーは、リアルタイム同期化(すなわち、ネットワーク空間及びSDメモリ機能ユニット1707の任意のデータの変化によってトリガされる同期化)、又は、定時同期化(例えば、日中の午後3時に開始される同期化)、又は周期的同期化(例えば、毎週水曜日の午前8時に開始される同期化)、又はデータディレクトリに固有の同期化(例えば、SDメモリ機能ユニット1707の「My Photo」ディレクトリのデータとネットワーク空間の「My Album」ディレクトリのデータとの同期化のみ)、又はデータタイプに固有の同期化(例えば、SDメモリ機能ユニット1707のテキストファイル又はオーディオ/ビデオファイルとネットワーク空間のテキストファイル又はオーディオ/ビデオファイルとの同期化ではなく、SDメモリ機能ユニット1707の画像ファイルとネットワーク空間の画像ファイルとの同期化のみ)であってもよい。
ステップ1810:同期化が必要とされている場合、手順はステップ1811に進み、同期化が必要とされていない場合、手順はステップ1809に戻る。
ステップ1811:データ同期化機能ユニット1709は、ネットワーク空間との接続の状態を検出する。
ステップ1812:接続が正常である場合、手順はステップ1813に進み、接続が異常である場合、同期化手順は終了する。
ステップ1813:データ同期化機能ユニット1709は、SDメモリ機能ユニット1707のデータをネットワーク空間に同期させる、又は、ネットワーク空間のデータをSDメモリ機能ユニット1707に同期させる。
本発明のこの実施形態におけるSDインタフェースの無線アクセスモジュールと図18に示す方法とを使用することによって、高度な装置管理機能及びネットワーク管理機能の能力がない消費可能電子製品(カメラ及び電子フォトフレームなど)上のデータが、いかなるインターネット接続可能な電子装置(PC又はスマートフォンなど)によっても転送されることなしに、ネットワーク空間上に直接同期させられることが可能である。
本発明の前述の実施形態では、いくつかのSDインタフェースの無線アクセスモジュールについて説明し、無線アクセスモジュールの機能モジュールの構成を改良した。本発明の実施形態において改良されたPC側ドライバ構成を使用することによって、SDインタフェースの無線アクセスモジュールは、PC上のアプリケーションレイヤソフトウェアと通信することが可能であり、アプリケーションレイヤソフトウェアは、SDインタフェースの無線アクセスモジュールを管理及び設定し、無線アクセスモジュールを介して外部ネットワークにアクセスすることが可能である。更に、SDカードのメモリ機能が、改良されたSDインタフェースの無線アクセスモジュールに組み入れられることが可能であり、更に改良されたSDインタフェースの無線アクセスモジュールを使用することによって、高度な装置管理機能及びネットワーク管理機能の能力がない消費可能電子製品(カメラ及び電子フォトフレームなど)上のデータがネットワーク空間上に直接同期させられることが可能であり、これにより、ユーザ体験が向上し、無線通信サービスが拡張される。前述の実施形態における無線アクセスモジュールは、標準的なSDカード、MicroSDカード、又はMiniSDカードの外観を呈し、9ピンSDカードインタフェースを含むデータカード製品に設けられてもよい。
前述の実施形態の説明から、当業者は、本発明の実施形態が、ハードウェアを介して、又は、好ましくは、ほとんどの環境において、必要な汎用ハードウェアプラットフォームに加えたソフトウェアを介して実施されてもよいということを明確に認識する。従って、本発明の技術的解決法又は従来技術に対するその寄与は、ソフトウェア製品において実施されてもよい。ソフトウェア製品は、フロッピー(登録商標)ディスク、ハードディスク、及びコンパクトディスク読み取り専用メモリ(CD−ROM)などのコンピュータ読み取り可能な記憶媒体に記憶され、コンピュータ装置(例えば、パーソナルコンピュータ、サーバ、又はネットワーク装置)に、本発明の任意の実施形態において指定された方法を実行するよう指示するためのいくつかの命令を包含する。
上記の実施形態は、本発明の技術的解決法を説明するために提供されたにすぎず、本発明を限定することを意図するものではない。本発明について、前述の実施形態を参照して詳細に説明したが、当業者が、本発明の精神及び範囲から逸脱することなく、本発明に対して様々な修正及び変形を行うことが可能であることは明らかである。本発明は、それらの修正及び変形が、添付の特許請求の範囲又はその均等物によって規定される保護範囲に入るならば、それらの修正及び変形を包含することを意図するものである。