(57)【要約】 【課題】接続されるクライアント機器の言語に応じて、ユーザーインターフェースを変えることが可能なメモリシステムを提供する。【解決手段】メモリシステムは、不揮発性半導体記憶装置18と、無線ＬＡＮ機能部19aと、制御部11aを具備し、制御部11aは、無線ＬＡＮ機能部19aを介して接続されるクライアント機器から送信されたHTMLファイルの送信を要求する第１のコマンドの応答として、クライアント機器からＣＧＩプログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルをクライアント機器に送信し、クライアント機器から送信される第２のコマンドを受けた場合、ＣＧＩプログラムのオプションの指定に基づき、クライアント機器の言語情報を認識する。【選択図】図１
2013210972.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体記憶装置と、
無線ＬＡＮ機能部と、
前記不揮発性半導体記憶装置と前記無線ＬＡＮ機能部とを制御する制御部と、を具備し、
前記制御部は、前記無線ＬＡＮ機能部を介して接続されるクライアント機器から送信されたHTML(Hyper Text Markup Language)ファイルの送信を要求する第１のコマンドのレスポンスとして、前記クライアント機器からＣＧＩ(Common Gateway Interface)プログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識することを特徴とするメモリシステム。
【請求項２】
前記制御部は、認識した前記言語情報を前記第２のコマンドの応答として、前記ホスト機器に送信することを特徴とする請求項１記載のメモリシステム。
【請求項３】
前記制御部は、前記クライアント機器から送信される前記第２のコマンドのパケットから送信元を示すＭＡＣアドレスを取得し、
前記ＭＡＣアドレスと、前記言語情報とを対応付けたテーブルを生成することを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記制御部は、前記クライアント機器の言語情報を認識した後、ネットワークを介してパケットが送受信できるかどうかを確認する第３のコマンドを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第３のコマンドのレスポンスに基づき、前記クライアント機器のＭＡＣアドレスを取得し、
前記ＭＡＣアドレスと、前記言語情報とを対応付けたテーブルを生成することを特徴とする請求項１記載のメモリシステム。
【請求項５】
不揮発性半導体記憶装置と、
無線ＬＡＮ機能部と、
前記不揮発性半導体記憶装置と前記無線ＬＡＮ機能部とを制御する制御部と、を具備し、
前記制御部は、前記無線ＬＡＮ機能部を介して接続されるクライアント機器との接続要求が完了した状態において、セキュリティの設定が行われたかどうかを判別し、
前記セキュリティの設定が行われている場合、前記クライアント機器から送信されたHTML(Hyper Text Markup Language)ファイルの送信を要求する第１のコマンドのレスポンスとして、前記クライアント機器からＣＧＩ(Common Gateway Interface)プログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識することを特徴とするメモリシステム。
【請求項６】
前記制御部は、前記セキュリティの設定が行われたかどうかを判別した結果、前記セキュリティの設定が行われていない場合、前記クライアント機器から送信された前記第１のコマンドのレスポンスとして、セキュリティを設定するための画面のファイルと、前記クライアント機器からＣＧＩプログラムのオプションを指定したHTMLファイルの送信を要求する第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識することを特徴とする請求項５記載のメモリシステム。
【請求項７】
不揮発性半導体記憶装置と、
無線ＬＡＮ機能部と、
前記不揮発性半導体記憶装置と前記無線ＬＡＮ機能部とを制御する制御部と、
前記無線ＬＡＮ機能部を介して接続されるクライアント機器のＭＡＣ(Media Access Control)アドレスと言語情報を登録するテーブルと、
を具備し、
前記制御部は、前記無線ＬＡＮ機能部を介して接続されるクライアント機器との接続要求が完了した状態において、セキュリティの設定が行われたかどうかを判別し、
前記セキュリティの設定が行われていない場合、前記テーブルに前記クライアント機器のＭＡＣアドレスが登録されているかを判別し、
前記テーブルに前記ＭＡＣアドレスが登録されていない場合、前記クライアント機器から送信されたHTML(Hyper Text Markup Language)ファイルの送信を要求する第１のコマンドのレスポンスとして、セキュリティを設定するための画面のファイルと、前記クライアント機器からＣＧＩ(Common Gateway Interface)プログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識し、
前記クライアント機器から送信される前記第２のコマンドのパケットから送信元を示すＭＡＣアドレスを取得し、
前記ＭＡＣアドレスと、前記言語情報とを対応付けて前記テーブルに登録することを特徴とすることを特徴とするメモリシステム。
【請求項８】
前記制御部は、前記テーブルに前記クライアント機器のＭＡＣアドレスが登録されているかを判別した結果、前記テーブルに前記ＭＡＣアドレスが登録されている場合、前記ＭＡＣアドレスに対応して前記テーブルに登録された言語情報を前記クライアント機器の言語情報と認識し、
前記クライアント機器から送信されたHTMLファイルの送信を要求する第１のコマンドのレスポンスとして、セキュリティを設定するための画面のファイルを前記クライアント機器に送信することを特徴とする請求項７記載のメモリシステム。
【請求項９】
前記制御部は、前記セキュリティの設定が行われたかどうかを判別した結果、前記セキュリティの設定が行われている場合、
前記テーブルに前記クライアント機器のＭＡＣアドレスが登録されているかを判別し、
前記テーブルに前記ＭＡＣアドレスが登録されていない場合、前記クライアント機器から送信されたHTMLファイルの送信を要求する第１のコマンドのレスポンスとして、前記クライアント機器からＣＧＩプログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、
前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識し、
前記クライアント機器から送信される前記第２のコマンドのパケットから送信元を示すＭＡＣアドレスを取得し、
前記ＭＡＣアドレスと、前記言語情報とを対応付けて前記テーブルに登録することを特徴とすることを特徴とする請求項７記載のメモリシステム。
【請求項１０】
前記制御部は、前記セキュリティの設定が行われたかどうかを判別した結果、前記セキュリティの設定が行われている場合、
前記テーブルに前記クライアント機器のＭＡＣアドレスが登録されているかを判別し、
前記テーブルに前記ＭＡＣアドレスが登録されている場合、前記ＭＡＣアドレスに対応して前記テーブルに登録された言語情報を前記クライアント機器の言語情報と認識することを特徴とする請求項７記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、無線ＬＡＮ機能を備えたＳＤ（Secure Digital）カード等のメモリシステムに関する。
【背景技術】
【０００２】
無線通信機能や、無線ＬＡＮ機能を備えたＳＤカードが開発されている。無線ＬＡＮ機能を活用することで、ネットワークとの接続が可能となり、ＳＤカード内に格納されたファイルを転送するなど、新たなサービスが提供可能となる。さらに、ＳＤカード内でネットワークのプロトコルを処理できれば、さらに新たなサービスを提供することが可能となる。
【０００３】
しかし、これまでの無線ＬＡＮ機能を備えたＳＤカードは、ユーザーインターフェースが提供されていたとしても、共通言語として一般的な英語表記を用いていた。このため、接続されるクライアント機器の言語に応じて、ユーザーインターフェースを変えることができなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−７０９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、接続されるクライアント機器の言語に応じて、ユーザーインターフェースを変えることが可能なメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本実施形態のメモリシステムによれば、不揮発性半導体記憶装置と、無線ＬＡＮ機能部と、前記不揮発性半導体記憶装置と前記無線ＬＡＮ機能部とを制御する制御部と、を具備し、前記制御部は、前記無線ＬＡＮ機能部を介して接続されるクライアント機器から送信されたHTML(Hyper Text Markup Language)で記述されたファイルの送信を要求する第１のコマンドの応答として、前記クライアント機器からＣＧＩ(Common Gateway Interface)プログラムのオプションを指定した第２のコマンドを送信させるためのスクリプトを含むHTMLファイルを前記クライアント機器に送信し、前記クライアント機器から送信される前記第２のコマンドを受けた場合、前記ＣＧＩプログラムのオプションの指定に基づき、前記クライアント機器の言語情報を認識することを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態が適用される無線ＬＡＮ機能を有するメモリカードの一例を示す構成図。
【図２】第１の実施形態が適用される無線ＬＡＮ機能を有するメモリカードの一例を示す構成図。
【図３】第１の実施形態に係るメモリカードの使用例を説明するために示す図。
【図４】第１の実施形態に係るメモリカードが有する信号処理プロトコル機能のレイヤ構成を示す図。
【図５】第１の実施形態に係る無線ＬＡＮのセキュリティ設定時に表示される画面の例を示す図。
【図６】図６（ａ）（ｂ）は、クライアント機器のウェブブラウザに表示されるユーザーインターフェースの例を示す図。
【図７】メモリカードがクライアント機器の言語を認識するまでの処理の一例を示すシーケンスチャート。
【図８】メモリカードがクライアント機器の言語を認識するまでの処理の他の例を示すシーケンスチャート。
【図９】メモリカードの動作を示すフローチャート。
【図１０】第２の実施形態に係り、メモリカード、クライアント機器の言語を認識するまでの処理の一例を示すシーケンスチャート。
【図１１】無線ＬＡＮパケットの一例を示す図。
【図１２】クライアント機器のＭＡＣ(Media Access Control)アドレスと表示言語との関係を示すテーブルの一例を示す図。
【図１３】第２の実施形態に係るメモリカード１１の動作を示すフローチャート。
【図１４】第３の実施形態に係り、クライアント機器のＭＡＣアドレスを取得する他の例を示すシーケンスチャート。
【発明を実施するための形態】
【０００８】
無線ＬＡＮ機能を有する無線機器は、無線であるがゆえに伝送される情報の秘匿性が低くなってしまう傾向がある。このため、無線機器はセキュリティなどの設定を行った上で使用する必要がある。さらに、ファイルを転送するサービスなどにおいてもセキュリティなどの設定を行うことが有用であることは言うまでもない。
【０００９】
無線ＬＡＮ機能を備えたＳＤカード等のメモリカードが提供するネットワークを介したサービスを利用し易くするには、無線ＬＡＮ機能を備えたメモリカードがユーザーインターフェースを準備し、このユーザーインターフェースをクライアント機器が使えるようにしておく必要がある。ユーザーインターフェースは、カードの動作の各種設定を行うため使用できるだけでなく、ネットワークを介した種々のサービス機能を選択したりする際にも有用である。
【００１０】
しかしながら、これまでの無線ＬＡＮ機能を備えたメモリカードは、ユーザーインターフェースが提供されていたとしても、指示内容を画像で表示することで、言語に依存した表記をなくしたり、共通言語として一般的な英語表記を用いたりしていた。つまり、接続される相手の言語に応じて、ユーザーインターフェースを変えることは出来なかった。もしくは、予めユーザーに対応付けられた言語で動作するようになっていた。
【００１１】
そこで、本実施形態は、接続されるホスト装置の言語に応じて、ユーザーインターフェースの言語表記を変更可能としている。
【００１２】
本実施形態に係る無線ＬＡＮ機能を備えたメモリカードが提供するネットワークサービスの概要は以下の通りである。
【００１３】
・無線ＬＡＮのＳＳＩＤ（Service Set ID）の名称がデフォルト値として決まっている。
【００１４】
・クライアント機器としてのパーソナルコンピュータや携帯電話器のブラウザ等により、メモリカード内のファイルをアクセスできる。メモリカード内にあるファイルが提供対象である。
【００１５】
・ブラウザからメモリカードがアクセスされた場合に表示される画面があり、その画面で無線ＬＡＮのセキュリティに関する初期設定を行うことにより、データ転送のサービスが可能となる。
【００１６】
・ファイルを提供する側がＡＰモードとなり、ファイルを受信する側がＳＴＡモードとなる。
【００１７】
このようなネットワークサービスを提供する無線ＬＡＮ機能を備えたメモリカードにおいて、このメモリカードが、クライアント機器に対してクライアント機器の表示言語に合ったユーザーインターフェースを出力するようにする。このため、クライアント機器からメモリカードに対してユーザーインターフェースを表示するためのファイルの出力を要求された時、この要求の応答として、言語を探索する機能が実装されたスクリプトを加えたファイルをクライアント機器に返す。このスクリプトは、クライアント機器が、無線ＬＡＮ機能を備えたメモリカードに対して、ＣＧＩ(Common Gateway Interface)プログラムに含まれるcommand.cgiのオプション番号yyyを指定する要求を送信するように指示している。
【００１８】
無線ＬＡＮ機能を備えたメモリカードは、command.cgiの処理において、オプション番号yyyが指定されている場合、クライアント機器のブラウザがそのファイルの要求において付けたヘッダ情報などから、言語に関する情報を探索する。具体的には、HTMLのGETコマンドのデータを解析し、ACCEPT-Languageのオプションを探索し、それから、言語に関する情報を見つけ出す。
【００１９】
さらに、クライアント機器のＭＡＣアドレスと、クライアント機器の表示言語を対応付けるテーブルを作成し、このテーブルを用いることにより、クライアント機器の言語探索を容易化する。
【００２０】
（第１の実施形態）
以下、実施の形態について、図面を参照して説明する。
【００２１】
図１、図２は、本実施形態に係る無線ＬＡＮ機能を備えたＳＤカード等のメモリカード１１の構成の例を示している。
【００２２】
無線ＬＡＮ機能を備えたメモリカード（以下、単にメモリカードと称す）１１は、図示されていないホスト装置と、インターフェースを介して接続される。メモリカード１１は、ホスト装置に接続されたときに電源供給を受けて動作し、ホスト装置からのアクセスに応じた処理を行う。このメモリカード１１は、コントローラ１１ａを有している。
【００２３】
コントローラ１１ａは、例えばＳＤインターフェース（Ｉ／Ｆ）１２、ＣＰＵ１３、ＲＯＭ（Read only Memory）１４、ＲＡＭ（Random Access Memory）１５、バッファ１６、無線インターフェース（Ｉ／Ｆ）１７ａ、メモリインターフェース（Ｉ／Ｆ）１７ｂにより構成されている。これらは、バスにより接続されている。メモリインターフェース１７ｂには、例えばＮＡＮＤフラッシュメモリ１８が接続されている。無線通信インターフェース１７ａには、無線ＬＡＮ信号処理部１９ａが接続されている。この無線ＬＡＮ信号処理部１９ａには、高周波信号を送受信するアンテナＡＮＴａが接続されている。
【００２４】
尚、無線通信信号処理部は、無線ＬＡＮ信号処理部１９ａに限らず、その他の無線通信信号処理部１９ｂ、及びこの無線通信信号処理部１９ｂに接続されたアンテナＡＮＴｂなどを増設し、マルチファンクションのＳＤカードを構成することが可能である。無線ＬＡＮ信号処理部１９ａは、例えばＷｉ−Ｆｉ（登録商標）による無線通信機能を制御し、無線通信信号処理部１９ｂは、例えばＴｒａｎｓｆｅｒＪｅｔ（登録商標）による近接無線通信機能を制御する。
【００２５】
ＳＤインターフェース１２は、コントローラ１１ａとホスト装置との間のインターフェース処理を行う。一方、無線通信インターフェース１７ａは、無線ＬＡＮ信号処理部１９ａや無線通信信号処理部１９ｂとの間のインターフェース処理を行う。メモリインターフェース１７ｂは、コントローラ１１ａとＮＡＮＤフラッシュメモリ１８との間のインターフェース処理を行う。
【００２６】
ＣＰＵ１３は、メモリカード１１全体の動作を司るものである。このＣＰＵ１３を制御するプログラムは、ＲＯＭ１４の中に格納されているファームウェア（制御プログラム等）を用いるか、あるいは、ＲＡＭ１１５上にロードして所定の処理が実行される。すなわち、ＣＰＵ１３は、各種のテーブルや拡張レジスタをＲＡＭ１５上に作成したり、ホスト装置からライト（書き込み）コマンド、リード（読み出し）コマンド、イレース（消去）コマンドを受けてＮＡＮＤフラッシュメモリ１８上の領域をアクセスしたり、バッファ１６を介してデータ転送処理を制御したりする。
【００２７】
ＲＯＭ１４は、ＣＰＵ１３により使用される制御プログラムなどのファームウェアを格納する。ＲＡＭ１５は、ＣＰＵ１３の作業エリアとして使用され、制御プログラムや各種のテーブルや拡張レジスタを記憶する。
【００２８】
バッファ１６は、ホスト装置から送られてくるデータを、例えばＮＡＮＤフラッシュメモリ１８へ書き込む際、一定量のデータ（例えば１ページ分）を一時的に記憶したり、ＮＡＮＤフラッシュメモリ１８から読み出されたデータをホスト装置へ送り出す際、一定量のデータを一時的に記憶したりする。またバッファ１６を介することにより、ＳＤバスインターフェースとバックエンドを非同期に制御することができる。
【００２９】
無線ＬＡＮ信号処理部１９ａでは、無線ＬＡＮの信号処理が行われる。無線通信Ｉ／Ｆ１７ａを介して制御される。
【００３０】
ホスト装置は、例えばデジタルカメラや携帯電話、パーソナルコンピュータなどである。ホスト装置は、ホストコントローラを有しており、各種のＳＤコマンドを発行する。ホストコントローラは、メモリカード１１が接続された状態において、メモリカード１１とのインターフェース処理を行う。
【００３１】
（無線ＬＡＮ対応ＳＤカード）
図３は、メモリカード１１の使用例を示している。メモリカード１１は、ホストとしての例えばデジタルカメラ５１、５２に装着される。
【００３２】
メモリカード１１は、デジタルカメラ５１とともに使用することにより、写真データを無線通信ネットワーク上で他のカメラ５２に送信したり、他のカメラ５２から受信したりすることが可能である。さらに、メモリカード１１は、無線通信ネットワークを介して例えばパーソナルコンピュータ５４や携帯電話５５などのクライアント機器６１に接続され、写真データをデジタルカメラ５１からこれらパーソナルコンピュータ５４や携帯電話５５に転送することができる。
【００３３】
図４は、メモリカード１１が有する信号処理プロトコル機能のレイヤ構成を示している。
【００３４】
メモリカード１１は、インターフェース機能と、ネットワークインターフェースの機能を有している。インターフェース機能は、メモリカード１１を制御するホスト装置としての例えばデジタルカメラ５１とのインターフェースとなる。ネットワークインターフェース機能は、デジタルカメラ５１とクライアント機器６１としての例えばカメラ５２や、パーソナルコンピュータ５４、テレビ５６、プリンタ５７などと無線ＬＡＮ接続を行う。
【００３５】
図１に示すＳＤインターフェース１２は、ＳＤＡ(SD Association)で規格化された“SD Specifications Part 1”と“SD Specifications Part 2”（図４に “SD card Part 1”, “SD card Part 2”と示している）に従って、カード内のデータにＦＡＴ３２などのファイルシステム経由でアクセス（読み書き）する機能を有するとともに、無線通信機能を有するカード特有のレジスタ（例えば図示せぬＷＬＡＮ  ＳＤレジスタ）にアクセスする機能を有している。ここで、ＷＬＡＮ  ＳＤレジスタのアクセスには、ＳＤ  ＷＬＡＮ  ＣＯＭＭＡＮＤが用いられる。
【００３６】
次に、メモリカード１１内にあるデータを無線ＬＡＮ経由で接続されたクライアント機器６１に対して公開する機能について説明する。
【００３７】
無線ＬＡＮ対応のメモリカード１１は、ＳＤカードであるため、カード内のＦＡＴ３２などのファイルシステムにファイルを書き込むことができる。メモリカード１１内にあるデータを無線ＬＡＮ経由で接続された機器に対して公開する機能は、このメモリカード１１内のデータへのアクセスを許可し、公開する機能である。
【００３８】
無線ＬＡＮネットワーク経由で、メモリカード１１内のファイルシステムにアクセスした場合、ファイルシステムのファイル名の情報や、そのファイルのサムネールやメタデータを取得することができるようになっている。さらに、メモリカード１１内のファイル自体の受信も可能である。
【００３９】
次に、メモリカード１１における、無線ＬＡＮのセキュリティ設定方法について説明する。メモリカード１１は、無線機器であるがゆえに伝送される情報の秘匿性が低くなってしまう傾向がある。無線機器は、セキュリティなどの設定を行った上で使用する必要がある。
【００４０】
図５は、無線ＬＡＮのセキュリティ設定時に表示されるユーザーインターフェースとしての画面の例を示している。この画面は、メモリカード１１に接続される無線機器としてのクライアント機器６１のウェブブラウザにおいて表示される。この画面を表示するためのHTMLファイルは、後述するように、メモリカード１１からクライアント機器６１に送信される。
【００４１】
メモリカード１１は、無線ＬＡＮのセキュリティ設定の初期状態、すなわち、工場出荷時のデフォルト状態が、メモリカード１１の予め定められた規則に従った設定になっている。具体的には、クライアント機器のセキュリティ設定画面に入力されるべきＳＳＩＤと、“Password”の文字列が予め定められた文字列となっている。
【００４２】
メモリカード１１は、デジタルカメラなどに挿入され、デジタルカメラの電源が投入され、メモリカード１１に電源が供給されると、無線ＬＡＮのアクセスポイント（ＡＴ）モードで動作を開始する。また、クライアント機器６１は、ステーション（ＳＴＡ）モードとなる。尚、メモリカード１１の動作モードは設定によって変更可能とされている。
【００４３】
メモリカード１１に接続されるクライアント機器６１は、先ず、無線ＬＡＮでの接続を確立するため、メモリカード１１のＳＳＩＤを探索する。次いで、ＳＳＩＤが認識された場合、出荷時に設定されたパスワードの入力が促される。この後、入力されたパスワードが設定されたパスワードと一致している場合、無線ＬＡＮの接続が確立される。
【００４４】
この後、無線ＬＡＮの接続が確立されたクライアント機器のウェブブラウザで、メモリカード１１のＩＰアドレスにアクセスすると、メモリカード１１内のファイルのリストを取得することができる。
【００４５】
尚、メモリカード１１内のファイルへのアクセス機能は、メモリカード１１が、無線ＬＡＮのセキュリティ設定が初期状態となっている時は、無効となっている。
【００４６】
クライアント機器６１のウェブブラウザで、メモリカード１１のＩＰアドレスに最初にアクセスした場合、図５に示すような、無線ＬＡＮのセキュリティ設定の画面が表示される。この表示状態において、ＳＳＩＤとパスワードが所定の欄に入力された後、図５に示す矢印のマーク５８が押下されると、設定が反映される。これによって、無線ＬＡＮ経由で接続された機器に対してＳＤカード内にあるデータを公開する機能が有効となる。
【００４７】
次に、上記メモリカード１１におけるユーザーインターフェースの言語認識処理について説明する。
【００４８】
図６（ａ）（ｂ）は、無線ＬＡＮ対応のメモリカード１１に接続されたクライアント機器６１のウェブブラウザに表示されるユーザーインターフェースの例を示したものである。このようなユーザーインターフェースは、カードの動作の各種設定を行うため使用できるだけでなく、ネットワークを介した種々のサービス機能を選択したりする際にも有用である。
【００４９】
メモリカード１１は、クライアント機器６１に対してユーザーインターフェースを提供する際、図６（ａ）（ｂ）に示すように、クライアント機器６１の言語に合った言語のユーザーインターフェースを出力可能とされている。ここで、図６（ａ）は英語による表記を示し、図６（ｂ）は日本語による表記を示している。
【００５０】
（第１の言語認識処理）
図７は、メモリカード１１が、クライアント機器６１の言語を認識するまでの処理を示している。
【００５１】
上記のように、メモリカード１１がクライアント機器６１に無線ＬＡＮ経由で接続された状態において、クライアント機器６１は、クライアント機器６１のウェブブラウザにおいて、メモリカード１１にアクセスする。具体的には、クライアント機器１１は、メモリカード１１に対して、http (hyper text transport protocol)の GETコマンドにより、HTMLによって記述されたファイルxxxx.htmlの送信を要求する（Ｓ１１）。
【００５２】
メモリカード１１は、このGETコマンドに応じて、図５に示すセキュリティ設定の画面を表示するためのxxxx.htmlを準備し、クライアント機器６１に送信する（Ｓ１２）。このxxxx.htmlには、クライアント機器６１からメモリカード１１に対するHTMLのGETコマンドが実行されるようなJAVA(登録商標)言語で記述されたスクリプト（javascript(登録商標)）が含められる。
【００５３】
以下に、HTMLのGETコマンドのレスポンスとしてメモリカード１１から送信されるxxxx.htmlに含まれる言語を探索する機能が実装されたスクリプトの例を示す。
【００５４】
httpObj = new XMLHttpRequest();
httpObj.open("GET","/command.cgi?op=yyy",false);
httpObj.send(null);
lang = httpObj.responseText.substr(aa, bb);
上記スクリプトは、後述するスクリプトの主要部を記載したものである。
【００５５】
クライアント機器６１は、xxxx.html を受信した後、上記スクリプトを実行し（Ｓ１３）、メモリカード１１に対してcommand.cgi（cgi : common gateway interface）のオプション番号としてyyyを指定したHTMLのGETコマンドを送信する（Ｓ１４）。
【００５６】
メモリカード１１は、HTMLのGETコマンドに基づき、command.cgiの処理を実行する（Ｓ１５）。すなわち、command.cgiにオプション番号yyyが指定された場合、クライアント機器６１のブラウザが、HTMLのGETコマンドにおいて付けたヘッダ情報などから言語に関する情報を探索する。具体的には、HTMLのGETコマンドのデータを解析し、ACCEPT-LanguageのオプションやUser-Agentヘッダを見つけ、これらから、言語に関する情報を見つけ出す。この処理によって、メモリカード１１は、クライアント機器６１の言語設定を認識する。
【００５７】
このように、クライアント機器６１の言語を認識した後、メモリカード１１は、クライアント機器６１からのHTMLのGETコマンドのレスポンスをクライアント機器６１に送信する。
【００５８】
尚、言語に関する情報とは、例えば言語ロケール文字列等など、言語が類推できる情報を指す。
【００５９】
このような構成とすることで、メモリカード１１は、クライアント機器６１から言語情報を得ることができる。
【００６０】
（第２の言語認識処理）
図８は、メモリカード１１が、クライアント機器６１の言語を認識するまでの処理の別の例を示している。図８において、図７と同一部分には、同一符号を付している。
【００６１】
図８において、図７と異なる点は、メモリカード１１が、クライアント機器６１の言語設定を認識した後（Ｓ１５）、クライアント機器６１からのHTMLのGETコマンドのレスポンスとして、言語情報をクライアント機器６１に送信することである（Ｓ１７）。さらに、クライアント機器６１において、メモリカード１１からのレスポンスに基づき、表示に使用される言語が設定される。
【００６２】
以下に、図８に示すステップＳ１２において、xxxx.hmtlに含めるjavascriptの例を示す。
【００６３】
--
<html>
<head>
<title>  Title of xxxx.html  </title>
<script type="text/javascript">
function opyyyFunc () {
try {
var lang;
httpObj = new XMLHttpRequest();
httpObj.open("GET","/command.cgi?op=yyy",false);
httpObj.send(null);
lang = httpObj.responseText.substr(aa,bb);
return lang;
}
catch(e) {
return undefined;
}
}
</script>
</head>
<body>
<script type="text/javascript">
var lang = opyyyFunc();
</script>
</body>
</html>
--
上記スクリプトにおいて、メモリカード１１に対するHTMLのGETコマンドが実行されるようなjavascriptの例が、function opyyyFunc()である。また、xxxx.htmlを要求したクライアント機器６１に対して、メモリカード１１がHTTP通信を行うため、XMLHttpRequestの機能を使用している。さらに、メモリカード１１から知らされた言語情報をクライアント機器６１が活用できるように、HTMLのGETコマンドのレスポンスに含まれる言語情報をlangの変数に入れる処理を行っている。
【００６４】
尚、上記スクリプトの例において、htmlのbodyに記載される処理は、本実施形態に関連する部分のみしか記載されていない。しかし、ここには、その他の処理が記載されることは言うまでもない。
【００６５】
図８に示すような処理を実行することにより、クライアント機器１１は、表示言語を認識することが可能となる。
【００６６】
尚、このような言語認識手順を経る場合、メモリカード１１が提供するユーザーインタフェースの処理が簡素化されるという利点がある。つまり、メモリカード１１が提供するユーザーインターフェースを多言語対応としておき、どのようなクライアント機器に対しても常に同様のファイルを提供することができるため、メモリカード１１の処理が簡素化される。クライアント機器６１は、表示言語を認識することが出来るため、認識したユーザーインターフェースの表示言語を選択できるようになる。
【００６７】
具体的には、無線ＬＡＮ機能をメモリカード１１が提供するユーザーインターフェースのHTMLファイルを、クライアント機器６１毎に変更する必要が無くなる。このため、メモリカード１１の処理を簡素化することができる。
【００６８】
（メモリカード１１の動作）
図９は、メモリカード１１のコントローラ１１ａの動作を示すものであり、メモリカード１１内にあるデータを無線ＬＡＮ経由で接続されたクライアント機器６１に対して公開する機能の動作開始時のフローチャートである。
【００６９】
無線ＬＡＮ経由で接続されたクライアント機器６１に対してメモリカード１１内にあるデータを公開する機能が有効となっている場合、先ず、無線ＬＡＮのアクセスポイントモードでの動作を開始する（Ｓ２１）。
【００７０】
この状態において、クライアント機器６１からの接続を待つ。クライアント機器６１は、無線ＬＡＮでの接続を確立するため、メモリカード１１のＳＳＩＤを探し、対応するパスワードを入力する。パスワードが合致した場合、クライアント機器６１と無線ＬＡＮでの接続が確立される（Ｓ２２）。
【００７１】
この後、クライアント機器６１から、クライアント機器６１のウェブブラウザで、メモリカード１１のＩＰアドレスに最初にアクセスされた場合、メモリカード１１のセキュリティの設定が実施されたことがあるかどうかが確認される（Ｓ２３）。
【００７２】
もし、無線ＬＡＮのセキュリティ設定が実施されたことがない場合、図５に示すような、無線ＬＡＮのセキュリティを設定するための画面、すなわち、ユーザーインターフェースを表示するために必要なファイルとしてのxxxx.htmlがクライアント機器６１に転送される。この時、前述したように、言語を探索する機能が実装されたスクリプトがxxxx.htmlに含められ、このxxxx.htmlがHTMLのGETコマンドのレスポンスとしてクライアント機器６１に送信される（Ｓ２４）。
【００７３】
クライアント機器６１は、メモリカード１１からのxxxx.htmlを受け、xxxx.htmlに含まれたスクリプトを実行し、メモリカード１１に対して、command.cgiのオプション番号yyyを指定するGETコマンドを送信する。メモリカード１１は、そのGETコマンドから言語に関する情報を探索し、クライアント機器の言語を認識する。さらに、クライアント機器６１には、無線ＬＡＮのセキュリティ設定の画面が転送されているため、この画面に従って、セキュリティ設定の更新がなされる（Ｓ２５）。
【００７４】
この後、メモリカード１１は、無線ＬＡＮ経由で接続されたクライアント機器６１に対してメモリカード１１内に保存されているデータを公開する動作を開始する（Ｓ２９）。
【００７５】
一方、前記ステップＳ２３において、無線ＬＡＮのセキュリティ設定が実施されたことがあると判別された場合、図６（ａ）又は図６（ｂ）に示すような、welcome画面を表示するためのデータをクライアント機器に転送する。この時、前述したような、言語を探索する機能が実装されたスクリプトを含めておく（Ｓ２６）。
【００７６】
クライアント機器６１は、メモリカード１１に対して、command.cgiのオプション番号yyyを指定するGETコマンドを送信する。
【００７７】
メモリカード１１は、そのGETコマンドから言語に関する情報を探索し、クライアント機器６１の言語を認識する（Ｓ２７）。この後、command.cgiのオプション番号yyyを指定したGETコマンドに対するレスポンスとして、言語情報を送信する（Ｓ２８）。
【００７８】
クライアント機器は、welcome画面を表示するためのデータを受け取っており、さらにメモリカード１１から受け取った言語情報を用いて、クライアント機器のブラウザにwelcomeの画面を表示する。
【００７９】
この後、メモリカード１１は、無線ＬＡＮ経由で接続されたクライアント機器６１に対してメモリカード１１内に保存されているデータを公開する動作を開始する（Ｓ２９）。
【００８０】
これにより、クライアント機器６１は、メモリカード１１内のファイルのリストを取得したり、ファイルシステムのファイル名の情報や、そのファイルのサムネールやメタデータを取得したりすることができるようになる。さらに、メモリカード１１内のファイル自体の受信も可能となる。
【００８１】
上記第１の実施形態によれば、クライアント機器６１からメモリカード１１に対して、GETコマンドによりユーザーインタフェースとしてのHTMLファイルの出力を要求された時、この要求の応答として、言語を探索する機能が実装されたjavascriptを加えたHTMLファイルをクライアント機器に返す。このスクリプトは、クライアント機器が、無線ＬＡＮ機能を備えたメモリカードに対して、command.cgiのオプション番号yyyを指定するGETコマンドを送信するように指示している。メモリカード１１は、command.cgiの処理において、オプション番号yyyが指定されている場合、クライアント機器６１のブラウザがそのHTMLのGETコマンドにおいて付けたヘッダ情報などから、クライアント機器６１の言語情報を探索し、クライアント機器６１の言語設定を認識する。このため、メモリカード１１は、簡単な処理によりクライアント機器６１の言語情報を認識することができる。
【００８２】
しかも、メモリカード１１は、command.cgiのオプション番号yyyを指定したHTMLを要求するGETコマンドのレスポンスとして、認識した言語情報をクライアント機器６１に送信している。このため、クライアント機器６１は、表示言語を認識することができるため、認識したユーザーインターフェースの表示言語を選択できる。
【００８３】
また、無線ＬＡＮのセキュリティ設定のユーザーインターフェースにおいても、クライアント機器６１の言語を認識することができる。このため、使い勝手の良いユーザーインターフェースを実現することができる。
【００８４】
さらに、本実施形態によれば、クライアント機器６１の言語情報を認識できた後、メモリカードがクライアント機器６１の言語情報にあったhtmlファイルを提供することが可能となる。
【００８５】
また、クライアント機器６１にクライアント機器６１の言語情報を送信した場合、クライアント機器６１側で自らに適した言語情報を選択して表示することも可能である。
【００８６】
また、ステップＳ１１〜Ｓ１５の言語情報を取得するシーケンスにおいて、言語情報の取得に失敗した場合、ステップＳ１１〜Ｓ１５のシーケンスをリトライするように実装しておくことが有用である。
【００８７】
（第２の実施形態）
図１０は、第２の実施形態を示すものである。第２の実施形態は、メモリカード１１の言語認識処理の他の例を示すものであり、図１０において、第１の実施形態と同一部分には同一符号を付している。
【００８８】
図１０に示す第２の実施形態は、ステップＳ３１、Ｓ３２で示す処理が、図８に示す第２の言語認識処理と相違する。
【００８９】
前述したように、メモリカード１１は、クライアント機器６１から送信されたcommand.cgiの処理において、オプション番号yyyが指定されている場合、そのHTMLを要求するGETコマンドの情報から言語に関する情報を探索する（Ｓ１５）。この処理は第１の実施形態と同様である。
【００９０】
次いで、メモリカード１１は、クライアント機器６１から送信されるGETコマンドの無線ＬＡＮパケットから、送信元を示すＭＡＣアドレス情報を取得する（Ｓ３１）。
【００９１】
具体的には、図１に示すメモリカード１１のコントローラ１１ａは、無線ＬＡＮ信号処理部１９ａから、クライアント機器６１からのGETコマンドの無線ＬＡＮパケットを受け取る際、送信元を示すＭＡＣアドレス情報を受け取る。
【００９２】
図１１は、無線ＬＡＮ信号処理部１９ａからコントローラ１１ａのＲＡＭ１５に供給される無線ＬＡＮパケットの一例を示している。この無線ＬＡＮパケット７１は、ネットワークパケットデータとしての無線ＬＡＮパケットのデータ部７１ａと、データ部７１ａに付随し、例えば発信元のＭＡＣアドレスや、受信電力レベルなどの情報などから構成される付随データ部７１ｂと、チェックコード７１ｃにより構成されている。
【００９３】
コントローラ１１ａは、無線ＬＡＮパケット７１を用いて、ネットワークのプロトコル処理(TCP/IPv4、HTTP/HTTPS)を実行する。すなわち、コントローラ１１ａは、このプロトコル処理において、送信元のＭＡＣアドレスをネットワークパケットデータに関連付けして上位のプロトコルに渡す。この処理により、クライアント機器６１からのGETコマンドの無線ＬＡＮパケットを受け取る際、送信元を示すＭＡＣアドレスを取得することができる。
【００９４】
メモリカード１１のコントローラ１１ａは、この取得したクライアント機器６１のＭＡＣアドレスと、クライアント機器６１の言語情報（表示言語）を関連付けた記憶部としてのテーブルを例えばＲＡＭ１５内に形成する（Ｓ３２）。
【００９５】
図１２は、テーブルの一例を示すものである。テーブル８１は、ＭＡＣアドレス８２と、そのＭＡＣアドレスを有するクライアント機器６１の表示言語とを関連付けて登録している。
【００９６】
テーブル８１は、これらの情報の他に、ＭＡＣアドレスと表示言語の組み合わせが新規に作成された日付、又は更新された日付などを記録してもよい。この種の日付を管理し、古くなった情報を削除するようにしてもよい。
【００９７】
また、テーブル８１にクライアント機器６１のアクセス回数などの統計情報を管理し、クライアント機器６１のユーザーに対する付加サービスに活用しても良い。
【００９８】
テーブル８１は、メモリカード１１の電源が切られるとき、例えばＮＡＮＤフラッシュメモリ１８に書き込まれ、情報が保持される。また、ＲＯＭ１４が、書換え可能なＲＯＭである場合、このＲＯＭ１４にテーブル８１を保持してもよい。
【００９９】
（メモリカード１１の動作）
図１３は、第２の実施形態に係るメモリカード１１の動作を示すものであり、図９と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１００】
図１３において、ステップＳ２１〜Ｓ２３までは、図９に示す処理と同様である。ステップＳ２３において、セキュリティ設定が実施されたことがないと判別された場合、テーブル８１が参照され、テーブル８１内にクライアント機器６１のＭＡＣアドレスが存在するかどうかが判別される（Ｓ４１）。
【０１０１】
この判別の結果、テーブル８１に一致するＭＡＣアドレスが登録されている場合、ＭＡＣアドレスに対応して登録された表示言語がクライアント機器の表示言語と認識され、図５に示す無線ＬＡＮのセキュリティ設定のユーザーインターフェースを表示するHTMLファイルのみがクライアント機器６１に転送される(Ｓ４２)。
【０１０２】
この後、図５に示すセキュリティ設定のユーザーインターフェースが表示された状態において、ＳＳＩＤとパスワードが入力され、これらが一致した場合、メモリカード１１は、無線ＬＡＮ経由で接続されたクライアント機器６１に対してメモリカード１１内に保存されているデータを公開する動作を開始する（Ｓ２９）。
【０１０３】
また、ステップＳ４１の判別の結果、テーブル８１に一致するＭＡＣアドレスが登録されていないと判別された場合、前述したように、言語を探索する機能が実装されたスクリプトを含んだ無線ＬＡＮのセキュリティを設定するためのユーザーインターフェースがクライアント機器６１に送信される（Ｓ２４）。
【０１０４】
クライアント機器６１は、スクリプトに従って、メモリカード１１に対して、command.cgiのオプション番号yyyを指定するGETコマンドを送信する。
【０１０５】
メモリカード１１は、前述したように、クライアント機器６１の言語情報を探索し、クライアント機器６１の言語を認識する（Ｓ２５）。
【０１０６】
さらに、メモリカード１１は、クライアント機器６１から送信されるGETコマンドの無線ＬＡＮパケットから、送信元を示すＭＡＣアドレス情報を取得する（Ｓ４３）。
【０１０７】
次いで、メモリカード１１のコントローラ１１ａは、この取得したクライアント機器６１のＭＡＣアドレスと、クライアント機器６１の言語情報（表示言語）を関連付けたテーブルをＲＡＭ１５内に形成する（Ｓ４４）。
【０１０８】
この後、図５に示す無線ＬＡＮのセキュリティ設定のユーザーインターフェース表示するHTMLファイルがGETコマンドのレスポンスとしてクライアント機器６１に転送される(Ｓ４５)。この後、制御がステップＳ２９に移行される。
【０１０９】
一方、ステップＳ２３において、無線ＬＡＮのセキュリティ設定が実施されたことがあると判別された場合、テーブル８１が参照され、クライアント機器６１のＭＡＣアドレスが存在するかどうかが判別される（Ｓ４６）。
【０１１０】
この判別の結果、テーブル８１に一致するＭＡＣアドレスが登録されていない場合、前述した言語を探索する機能が実装されたスクリプトを含んだHTMLファイルがクライアント機器６１に送信される（Ｓ４７）。
【０１１１】
クライアント機器６１は、スクリプトに従って、メモリカード１１に対して、command.cgiのオプション番号yyyを指定するGETコマンドを送信する。
【０１１２】
メモリカード１１は、前述したように、クライアント機器６１の言語情報を探索し、クライアント機器６１の言語を認識する（Ｓ４８）。
【０１１３】
さらに、メモリカード１１は、クライアント機器６１から送信されるGETコマンドの無線ＬＡＮパケットから、送信元を示すＭＡＣアドレス情報を取得する（Ｓ４９）。
【０１１４】
次いで、メモリカード１１のコントローラ１１ａは、この取得したクライアント機器６１のＭＡＣアドレスと、クライアント機器６１の言語情報（表示言語）を関連付けたテーブルをＲＡＭ１５内に形成する（Ｓ５０）。
【０１１５】
この後、図５に示す無線ＬＡＮのセキュリティ設定のユーザーインターフェース表示するHTMLファイルがGETコマンドのレスポンスとしてクライアント機器６１に転送される(Ｓ５１)。この後、制御がステップＳ２９に移行される。
【０１１６】
また、ステップＳ４６の判別の結果、テーブル８１に一致するＭＡＣアドレスが登録されていると判別された場合、ＭＡＣアドレスに対応する表示言語がクライアント機器６１の表示言語と認識される。このため、以降の処理において、現在接続されているクライアント機器６１に対して、前記認識された表示言語が用いられる。
【０１１７】
この後、メモリカード１１は、無線ＬＡＮ経由で接続されたクライアント機器６１に対してメモリカード１１内にあるデータを公開する動作を開始する（Ｓ２９）。
【０１１８】
このようにして、クライアント機器６１は、メモリカード１１内のファイルのリストを取得したり、ファイルシステムのファイル名の情報や、そのファイルのサムネールやメタデータを取得したりすることができるようになる。さらに、メモリカード１１内のファイル自体の受信も可能となる。
【０１１９】
上記第２の実施形態によれば、メモリカード１１は、クライアント機器６１から得られたＭＡＣアドレスを用いて、クライアント機器６１の表示言語を認識することができる。このため、言語認識のための処理を簡素化することができる。
【０１２０】
また、クライアント機器６１の言語情報を用いて、使い勝手の良いユーザーインターフェースを提供することが可能となる。
【０１２１】
さらに、メモリカード１１は、クライアント機器６１から取得したＭＡＣアドレスに対応して、クライアント機器６１から認識した言語情報が記録されたテーブル８１を形成している。このため、クライアント機器６１がメモリカード１１に無線ＬＡＮを経由して接続された場合において、ＭＡＣアドレスに基づき、テーブル８１を参照することにより、クライアント機器６１の言語情報を容易に探索することが可能である。したがって、言語探索処理を簡単化することが可能であり、高速なレスポンスが可能である。
【０１２２】
（第３の実施形態）
図１４は、第３の実施形態を示しており、図１４において、図１０と同一部分には、同一符号を付している。
【０１２３】
第３の実施形態は、クライアント機器６１のＭＡＣアドレスを取得する他の例として、クライアント機器６１が、クライアント機器６１のウェブブラウザにおいて、メモリカード１１のＩＰアドレスにアクセスして、GETコマンドによりxxxx.htmlを要求した場合を示している。
【０１２４】
図１４において、ステップＳ１１〜Ｓ１５は、図１０と同様である。
【０１２５】
メモリカード１１は、ステップＳ１５において、オプション番号yyyのcommand.cgiの処理において、クライアント機器６１のブラウザがそのHTMLのGETコマンドにおいて付けたヘッダ情報などから、言語に関する情報を探索する。
【０１２６】
この後、メモリカード１１は、クライアント機器６１のＭＡＣアドレスを把握するために、HTMLのGETコマンドを送信したクライアント機器６１のＩＰアドレスに対して、pingコマンドを送信する（Ｓ６１）。このpingコマンドは、ＩＰネットワークを介してパケットが送受信できるかどうかを確認するコマンドである。
【０１２７】
クライアント機器６１は、pingコマンドに対してレスポンスを返す（Ｓ６２）。
【０１２８】
メモリカード１１は、pingコマンドのレスポンスを受けるために要する時間分だけ待機した後、ＴＣＰ／ＩＰのネットワークプロトコルレイヤの機能であるＡＲＰ（Address Resolution Protocol）テーブルを参照して、当該ＩＰアドレスに対応するＭＡＣアドレスを探索する（Ｓ６３）。
【０１２９】
このようにして把握したクライアント機器６３のＭＡＣアドレスと、言語情報とを関連付け、テーブル８１が作成される（Ｓ６４）。
【０１３０】
第３の実施形態によれば、メモリカード１１からpingコマンドを送信し、このpingコマンドのレスポンスからＭＡＣアドレスを探索している。このようにしても、ＭＡＣアドレスを得ることができ、テーブル８１を生成することが可能である。
【０１３１】
前述したように、このテーブル８１には、これらの情報の他に、そのＭＡＣアドレスと表示言語の組み合わせが新規に作成された日付や、これらが更新された日付などを登録しても良い。この情報を用いることにより、古くなった情報を削除することも可能となる。
【０１３２】
また、クライアント機器６１のアクセス回数などの統計情報を登録してもよい。この統計情報を用いることにより、クライアント機器６１のユーザーに対する付加サービスに活用することもできる。
【０１３３】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３４】
１…メモリカード、１１ａ…コントローラ、１２…ＳＤインターフェース、１８…ＮＡＮＤフラッシュメモリ、１９ａ…無線ＬＡＮ信号処理部、５１…ホスト装置、６１…クライアント機器、８１…テーブル。
【図１】
2013210972.tif 000003
【図２】
2013210972.tif 000004
【図３】
2013210972.tif 000005
【図４】
2013210972.tif 000006
【図５】
2013210972.tif 000007
【図６】
2013210972.tif 000008
【図７】
2013210972.tif 000009
【図８】
2013210972.tif 000010
【図９】
2013210972.tif 000011
【図１０】
2013210972.tif 000012
【図１１】
2013210972.tif 000013
【図１２】
2013210972.tif 000014
【図１３】
2013210972.tif 000015
【図１４】
2013210972.tif 000016