JP2005182798A - 加入者識別モジュール(sim)エミュレータ - Google Patents

加入者識別モジュール(sim)エミュレータ Download PDF

Info

Publication number
JP2005182798A
JP2005182798A JP2004361657A JP2004361657A JP2005182798A JP 2005182798 A JP2005182798 A JP 2005182798A JP 2004361657 A JP2004361657 A JP 2004361657A JP 2004361657 A JP2004361657 A JP 2004361657A JP 2005182798 A JP2005182798 A JP 2005182798A
Authority
JP
Japan
Prior art keywords
sim
command
configuration data
data
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004361657A
Other languages
English (en)
Other versions
JP4185043B2 (ja
JP2005182798A5 (ja
Inventor
Jason Frazier
フレーザー ジェーソン
Neville Bowers
バウアーズ ネビル
Shawn Kashyap
キャシャプ ショーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005182798A publication Critical patent/JP2005182798A/ja
Publication of JP2005182798A5 publication Critical patent/JP2005182798A5/ja
Application granted granted Critical
Publication of JP4185043B2 publication Critical patent/JP4185043B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 加入者識別モジュール(SIM)をエミュレートする方法、システム、およびコンピュータ可読媒体を提供すること。
【解決手段】 SIMエミュレーションは、SIMの1つまたは複数の特性を表す構成データを読み出すことを含む。次いで、エミュレーションの実行が開始される。SIMコマンドが、SIMの資源にアクセスするために無線インターフェース層(RIL)から受け取られる。SIMコマンドは、構成データに基づいて、SIMの動作と合致したやり方で処理される。SIMコマンドおよびコマンドの処理に関連するデータが、ログをとられる。
【選択図】 図1

Description

本発明は、一般に、コンピュータソフトウェアの分野に関し、より詳細には、加入者識別モジュール(SIM)を使用するアプリケーションをテストするソフトウェア開発ツールに関する。
セルラー電話、ページャ、携帯情報端末(PDA)など、非常に様々なモバイルコンピューティング装置が一般的に使用されている。こうしたモバイル装置において利用可能なソフトウェアは、ゲーム、電話帳、カレンダ、eメール、ウェブブラウザなど、広範なアプリケーションを含む。こうしたアプリケーションは、モバイル装置上で実行されたとき、モバイル装置内の加入者識別モジュール(SIM)の資源を頻繁に使用する。SIMは、メモリと、セキュリティ機能を実施することや、情報を格納するためにファイルシステムを維持することなど、様々な機能を実施するプロセッサとからなる「スマートカード」装置である。
たとえば、電話帳アプリケーションは、SIMのファイルシステムにエントリを格納することができる。SIMは、こうしたエントリへのアクセスを、許可されたアプリケーションに対してのみ認める。許可されると、アプリケーションは、ファイルシステムの内容を、たとえば、新しい電話帳エントリを格納するように更新することができる。SIMは、そのセキュリティ機能を介して、許可されたアプリケーションに、ユーザの個人識別番号(PIN)を読み出させ、かつ/または更新させることもできる。
SIMの資源を利用するアプリケーションのテストは概して、アプリケーションが実行される装置と共に使われるSIMと共にアプリケーションをテストすることに依存する。通常、こうしたテストは、アプリケーションが開発されテストされる、パーソナルコンピュータなどのコンピューティングデバイスと接続されたSIM装置を使用する。それ以外の場合、アプリケーションは、SIMを使用するモバイル装置上でテストされる。
しかし、SIMを得てアクティブに保つことは非常にコストがかかり、その結果、SIMと共にアプリケーションをテストすることはコストがかかる。さらに、ほとんどのSIMは、PINの読み出しや更新など、いくつかの機能への限定アクセスを可能にするだけであるため、SIMは、そうした機能をテストするのに、限られた回数だけ使用できるに過ぎず、このことは、各テストの総コストを高くする。さらに、様々なモバイル装置において異なるタイプのSIMが使われる場合もあり得る。
したがって、SIMを用いて完全なテストを行うことは、ソフトウェアベンダが、異なる多くのタイプの、多数のSIMを取得する必要を生じさせる。本発明は、こうした検討事項および他の検討事項を鑑みてなされたものである。
本発明によれば、上記の問題および他の問題は、加入者識別モジュール(SIM)装置をエミュレートする方法およびシステムによって解決される。こうした方法およびシステムを用いることによって、モバイル装置で使うためのアプリケーションが、実SIM(real SIM)ではなくエミュレートされたSIMを使ってテストされることができる。SIMエミュレータは、構成データを介して、エミュレートされている実際のSIM(actual SIM)と合致したやり方で動作するようにセットアップされることができる。アプリケーションは、実SIMを使う場合と同じように、SIMエミュレータを使って実行されテストされることができる。さらに、SIMエミュレータは、検査中にデータのログをとり、アプリケーションのテストおよびデバッグをさらに助けるためにSIMエラーをシミュレートすることができる。
他の態様によれば、本発明は、加入者識別モジュール(SIM)をエミュレートする方法に関する。この方法は、SIMの1つまたは複数の特性を表す構成データを読み出すことを含む。次いで、エミュレーションの実行が開始される。SIMコマンドが、SIMの資源にアクセスするために無線インターフェース層(RIL)から受け取られる。SIMコマンドは、構成データに基づいて、SIMの動作と合致したやり方で処理される。SIMコマンドおよびコマンドの処理に関連するデータが、ログをとられる。
さらに他の態様によれば、本発明は、加入者識別モジュール(SIM)をエミュレートするためのシステムに関する。このシステムは、プロセッサ、およびプロセッサと結合されプロセッサによる読出しが可能なメモリを含む。メモリは、プロセッサによって実行されると、プロセッサに、SIMの1つまたは複数の特性を表す構成データを読み出させる一連の命令を含む。プロセッサは次いで、エミュレーションの実行を開始する。SIMコマンドが、SIMの資源にアクセスするために無線インターフェース層(RIL)から受け取られる。SIMコマンドは、構成データに基づいて、SIMの動作と合致したやり方で処理される。SIMコマンドおよびコマンドの処理に関連するデータが、ログをとられる。
本発明は、コンピュータ処理、計算機システム、またはコンピュータプログラム製品やコンピュータ可読媒体などの製造品として実装されることができる。コンピュータプログラム製品は、コンピュータシステムによって読取り可能であり、コンピュータ処理を実行する命令からなるコンピュータプログラムを符号化するコンピュータ記憶媒体でよい。コンピュータプログラム製品は、計算機システムによって読取り可能であり、コンピュータ処理を実行する命令からなるコンピュータプログラムを符号化する搬送波上で伝搬される信号でもよい。
本発明を特徴づけるこうしたおよび他の様々な特徴ならびに利点が、以下の詳細な説明を読み、関連する図面を見ることによって明らかになるであろう。
本発明の実施形態は、加入者識別モジュール(SIM)のエミュレートに関する。後で説明されるように、SIMエミュレーションは、様々な環境において実施されることができる。たとえば、SIMエミュレーションは、実モバイル装置内で実施されることができる。あるいは、SIMエミュレーションは、モバイル装置のエミュレーションの一部として実施されることができ、この場合、実際のモバイル装置の様々なコンポーネントの機能が、SIMエミュレーションに従ってエミュレートされる。当然ながら、実コンポーネントおよびエミュレートされたコンポーネントの様々な組合せも可能である。
図1は、本発明の実施形態が実装されることができるモバイル装置の機能コンポーネントの一部を示す。この例では、実モバイル装置100が示されている。モバイル装置100は、1つまたは複数のアプリケーション105、無線インターフェース層(RIL)プロキシ110、RILドライバ115、無線機(radio)120、および加入者識別モジュール(SIM)エミュレータ125を含む。
アプリケーション105は、電話帳、カレンダ、ウェブブラウザ、ゲームなど、モバイル装置100上で実行されることができる可能な様々なソフトウェアアプリケーションの1つまたは複数を含むことができる。こうしたアプリケーションは、テストおよびデバッグ用アプリケーションの開発中に、モバイル装置上で実行されることができる。実行中、アプリケーション105は、RILプロキシ110とインターフェースをとる。
RILプロキシ110は、アプリケーション105に1組のRILアプリケーションプログラムインターフェース(API)を公開するソフトウェア層である。RILドライバ115は、RILプロキシ110と共に、アプリケーション105と無線機120の間の通信を提供する。たとえば、RIL110を介して、アプリケーションは、無線機120にアクセスすることができる。これに対して、無線機120は、セルラーネットワークなどの無線ネットワーク130との接続を提供し、このネットワークを介して、モバイル装置100は、他の装置と通信することができる。この実施形態において、「無線機」は、無線ネットワークと接続し、こうした無線ネットワークを介した接続を提供する送受信機と定義される。
また、無線機120は、アプリケーション105とSIMエミュレータ125の間の接続を提供する。SIMエミュレータ125は、モバイル装置100のメモリに格納されると共にモバイル装置100によって実行されるソフトウェアからなることができる。あるいは、SIMエミュレータ125は、適切なケーブル配線または他のタイプの接続を介してモバイル装置100と接続されたパーソナルコンピュータなど別の装置のメモリ内に常駐し、その装置上で実行されることもできる。いずれの場合でも、SIMエミュレータ125は、実SIMの機能を提供する。このようにして、アプリケーション105は、実SIMを使用する際のコストおよび障害なく、テストされることができる。
SIMエミュレータ125によって実施される機能の詳細は、図5〜7を参照して後で説明される。概して、SIMは、アプリケーション105用の様々なファイルシステムおよび認証機能を提供する。動作する際、SIMエミュレータ125は、実SIMが提供するのと同じ機能をアプリケーション105に提供する。これを達成するために、SIMエミュレータ125は、最初に構成データを読み出す。この構成データは、拡張マークアップ言語(XML)ファイル、テキストファイルの形、または他の形式でよい。構成データは、エミュレートされている実SIMの1つまたは複数の特性を表す。たとえば、構成データは、SIMコマンドに関連づけられた機能を実施するための時間遅延(time delay)など、実SIMの動作特性を表す1つまたは複数のパラメータを含むことができる。別の例では、構成データは、SIMのファイルシステムに格納される電話帳エントリなど、1つまたは複数のデータファイルを含むことができる。
一実施形態では、SIMエミュレータ125は、ファイルシステムを維持し、セキュリティシステムを維持し、SIMコマンドに応答する、ハードコードされた(hard coded)機能を有するソフトウェアルーチンを備えることができる。構成データは、異なるタイプのSIMの間で特性および行動が変化する場合に、こうしたルーチン中の変数用に使われる値を表す。
構成データを読み出した後、SIMエミュレータ125は、エミュレーションの実行を開始する。SIMのエミュレーションは、構成データによって示される、実SIMによって実施される機能と合致した機能の実施を含む。たとえば、SIMエミュレータ125は、構成データからのデータを含む1つまたは複数のデータファイルを含むファイルシステムをエミュレートすることができる。さらに、SIMエミュレータ125は、ファイルシステム内でファイルを維持すると共にそうしたファイルへのアクセスを処理し、かつ個人識別番号(PIN)へのアクセスを提供するSIMセキュリティシステムを提供することができる。別の例では、SIMエミュレータ125は、指定されたイベントが発生するとメッセージが表示され、または音が鳴らされるようにする一般的なSIMプログラムを含むSIMツールキットを提供することができる。
エミュレーションの実行中、SIMエミュレータは、RIL110から、SIMの資源にアクセスするためのSIMコマンドを受け取ることができる。たとえば、SIMエミュレータ125は、RILから、ファイルシステム内のデータを読み出しまたは書き込むためのSIMコマンドを受け取ることができる。したがって、書込みコマンドの場合、SIMコマンドの受取りは、ファイルシステムに書き込まれるデータなど、SIMコマンドに関連づけられたデータの受取りをさらに含むことができる。
SIMエミュレータ125は、構成データに基づいて、実SIMの動作と合致したやり方でSIMコマンドを処理する。たとえば、SIMコマンドの処理は、実SIMが返すような応答コードを返すことを含むことができる。戻りコードは、SIMファイルシステム内のデータへのアクセスに基づくことができる。したがって、SIMコマンドの処理は、SIM読出しコマンドの処理の完了成功に応答してファイルシステムから読み出されるデータなど、応答コードに関連づけられた応答データを返すことを含むこともできる。
SIMエミュレータ125は、SIMコマンドおよびコマンドの処理に関連するデータのログをとることもできる。たとえば、SIMエミュレータ125は、SIMコマンドおよび応答コードを記録することができる。いくつかの場合では、SIMコマンドの処理に関連づけられた応答データおよび他のデータが記録されることもできる。ログをとられたデータは、テストされているアプリケーションのデバッグを助けるために、後でアクセスされることができる。
最後に、SIMエミュレータは、構成データに基づいて、SIMエラーをシミュレートすることもできる。つまり、構成データは、このようなエラーを処理する、テストされているアプリケーションの性能をより完全にテストするために、ランダムに、指定されたときに、または指定されたイベントに応答してSIMエミュレータによって生じられる1つまたは複数のエラーを示すことができる。
図2は、本発明の実施形態が実装されることができるモバイル装置をエミュレートするシステムの主な機能コンポーネントを高レベルで示す。上述したように、SIMエミュレータは、エミュレートされたモバイル装置ならびに実モバイル装置において使われることができる。
図2に示される例は、図3を参照して後で説明されるシステム300などの計算機システム上で実装されることができるアプリケーションテスト/開発システム200を示す。アプリケーションテスト/開発システム200は、1つまたは複数のアプリケーション205、RILプロキシ207、および装置エミュレータ210を含む。装置エミュレータ210は、無線インターフェース層(RIL)エミュレータ215、無線機エミュレータ225、ネットワークエミュレータ230、および加入者識別モジュール(SIM)エミュレータ235を含む。
上記のように、アプリケーション205は、電話帳、カレンダ、ウェブブラウザなど、可能な様々なソフトウェアアプリケーションの1つまたは複数を含むことができる。こうしたアプリケーション205は、アプリケーション205をテストしデバッグするために、アプリケーションテスト/開発システム200によって実行される。
実行中、アプリケーション205は、RILプロキシ207とインターフェースをとり、これに対してRILプロキシ207は、装置エミュレータ210のRILドライバエミュレータ215とインターフェースをとる。上記のように、RILプロキシ207は、アプリケーション205に1組のRIL APIを提供する。RILドライバエミュレータ215は、RILプロキシ207と共に、アプリケーション205と無線機エミュレータ225の間の通信を提供する。これに対して、無線機エミュレータ225は、セルラーネットワークなどの無線ネットワークをエミュレートするネットワークエミュレータ230との接続を提供する。
また、無線機エミュレータ225は、アプリケーション205とSIMエミュレータ235の間の接続を提供する。上述したように、SIMエミュレータ235は、アプリケーションおよび無線機の視点からの実SIMの機能を提供する。このようにして、アプリケーション205は、実SIMを使う際のコストおよび障害なくテストされることができる。
SIMエミュレータが、図1のモバイル装置100などの実際のモバイル装置、または図2の装置エミュレータ210によって表されるようなエミュレートされた装置のいずれと接続されるかに関わらず、SIMエミュレータによって実施される機能は概して同じである。概して、こうした機能は、実SIMの1つまたは複数の特性を表す構成データを読み出すこと、エミュレーションの実行を開始すること、SIMの資源にアクセスするためのSIMコマンドを無線インターフェース層(RIL)から受け取ること、構成データに基づいて、実SIMの動作と合致したやり方でSIMコマンドを処理すること、ならびにSIMコマンドおよびコマンドの処理に関連するデータのログをとることを含む。こうした動作のこれ以上の詳細は、図5〜7を参照して後で説明される。
図3は、本発明の実施形態が実装されることができる適切な計算機システム環境の例を示す。このシステム300は、ウェブサイトサービスにおいてリダイレクタおよび/またはサーバとして働くのに使われることができるシステムを表す。最も基本的な構成において、システム300は通常、少なくとも1つの処理ユニット302およびメモリ304を含む。コンピューティングデバイスの正確な構成およびタイプに応じて、メモリ304は、RAMなどの揮発性でも、たとえばROM、フラッシュメモリなどの不揮発性でも、この2つの何らかの組合せでもよい。この最も基本的な構成は、図3に破線306で示される。さらに、システム300は、追加特徴/機能をもつこともできる。たとえば、装置300は、磁気/光ディスク/テープを含むがそれに限定されない、取外し可能および/または固定式の追加記憶装置を含むこともできる。このような追加記憶装置は、図3に取外し可能記憶装置308および固定式記憶装置310で示される。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するどの方法でも技術でも実装される、揮発性および不揮発性媒体、取外し可能および固定式媒体を含む。メモリ304、取外し可能記憶装置308、および固定式記憶装置310は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使われることができると共にシステム300によってアクセスされることができる他のどの媒体も含むが、それに限定されるものではない。このようなどのコンピュータ記憶媒体も、システム300の一部でよい。
システム300は、システムが他の装置と通信することを可能にする通信接続(群)312も含むことができる。通信接続(群)312は、通信媒体の例である。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調データ信号で具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号に情報を符号化するようなやり方でその特性の1つまたは複数が設定されまたは変更された信号を意味する。限定ではなく例として、通信媒体は、配線接続された媒体、たとえば配線接続されたネットワークおよび直接配線接続、ならびに無線媒体、たとえば音波、RF、赤外線、および他の無線媒体を含む。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体および通信媒体両方を含む。
システム300は、たとえばキーボード、マウス、ペン、音声入力装置、タッチ式入力装置などの入力装置(群)314も有することができる。たとえばディスプレイ、スピーカ、プリンタなどの出力装置(群)316も含まれることができる。こうしたすべての装置は、当該分野において公知であり、本明細書で詳細に説明される必要はない。
システム300などのコンピューティングデバイスは一般に、少なくとも何らかの形のコンピュータ可読媒体を含む。コンピュータ可読媒体は、システム300によってアクセスされることができる、市販されているどの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができよう。
図4は、本発明の一実施形態による、加入者識別モジュール(SIM)をエミュレートするシステムの主な機能コンポーネントを示す。この例では、SIMエミュレータ400は、制御モジュール420、構成データ435、構成マネージャ440、SIMコマンド処理モジュール405、SIMセキュリティエミュレータ415、SIMファイルシステムエミュレータ430、1つまたは複数のログ425、および任意選択のSIMツールキットエミュレータ410を含む。
SIMエミュレーションを実施する前に、ユーザは、構成マネージャ440を使って、構成データ435を設定する。上述したように、構成データ435は、拡張マークアップ言語(XML)ファイル、テキストファイルの形、または他の形式でよい。構成データ435は、エミュレートされている実SIMの1つまたは複数の特性を表す。たとえば、構成データは、SIMコマンドに関連づけられた機能を実施するための時間遅延など、実SIMの動作特性を表す1つまたは複数のパラメータを含むことができる。つまり、時間の遅れ(time lag)は、コマンドごと、またはファイルごとに指定されることができる。別の例では、構成データは、SIMのファイルシステムに格納される電話帳エントリなど、1つまたは複数のデータファイルを含むことができる。
構成データ435は、エミュレーションの実行中に変更されることも更新されることもできることが明らかであろう。たとえば、テストを実施するオペレータは、テストを変更するためにデータを変えることができる。さらに、構成データ435にアクセスする書込みコマンドなどのSIMコマンドも、エミュレーションの実行中に構成データ435を変更することができる。
制御モジュール420は、構成データ435を読み出す。制御モジュール420は、構成データ435を用いて、SIMエミュレータ400の他のコンポーネントをセットアップする。制御モジュール420は次いで、エミュレーションの実行を開始する。いくつかの場合では、制御モジュール420は、後で、エミュレーションの実行中に、周期的に、または何らかのイベントに応答して、構成データ435を読み出し、構成データ435のどの変更も反映するようにSIMエミュレータ400の他のコンポーネントをセットアップすることができる。
SIMエミュレーションの実行中、SIMコマンド処理モジュール405は、実無線機またはエミュレートされた無線機いずれからも、SIMエミュレータ400の資源にアクセスするためのSIMコマンドを受け取ることができる。たとえば、SIMコマンド処理モジュール405は、ファイルシステムにおいてデータを読み出しまたは書き込むためのSIMコマンドを、無線機を介してRILから受け取ることができる。SIMコマンド処理モジュール405は、コマンドの形式、およびコマンドに関連づけられたどのデータも調べて、処理を進める前にコマンドを確認することができる。
SIMコマンド処理モジュール405は次いで、制御モジュール420にSIMコマンドを渡す。制御モジュール420は次いで、コマンドに基づいて、エラーシミュレーションや、コマンドおよび関連するどのデータのログもとるなどの機能を実施することができる。制御モジュール420は次いで、SIMセキュリティエミュレータ415を介してSIMファイルシステムにアクセスすることを試みる。
SIMセキュリティエミュレータ415は、ファイルシステム内のファイルへのアクセスを維持し処理する。さらに、SIMセキュリティエミュレータ415は、個人識別番号(PIN)へのアクセスを提供し、通常はSIMによって実施される他のセキュリティ機能を実施する。SIMセキュリティコマンドの処理の詳細は、図7を参照して後でさらに説明される。概して、SIMセキュリティエミュレータ415は、SIMセキュリティシステムへのアクセスがSIMコマンドに対して許可されるかどうか判定することによって、セキュリティコマンドを処理する。SIMセキュリティシステムへのアクセスがSIMコマンドに対して許可されるという判定に応答して、SIMセキュリティエミュレータ415は、SIMコマンドおよび構成データ435に基づいて、SIMセキュリティシステムの機能を実施する。SIMセキュリティエミュレータ415は次いで、構成データ435が、SIMコマンドに対する遅れ時間を示すかどうか判定する。構成データ435が、SIMコマンドに対する遅れ時間を示すという判定に応答して、SIMセキュリティエミュレータ415は、構成データ435において指定されたある程度の時間、休止する。
SIMファイルシステムエミュレータ430は、ファイルシステムをエミュレートする。SIMファイルシステムエミュレータ430は、構成データ435のデータを含む1つまたは複数のデータファイルを含むことができる。たとえば、構成データ435は、電話帳エントリを表すデータを含むことができる。制御モジュール420は、このデータを構成データ435から読み出し、実SIMと合致したやり方でこのデータを表すようにSIMファイルシステムエミュレータ430をセットアップする。SIMファイルシステムのコマンドの処理の詳細は、図6を参照して後でさらに説明される。概して、ファイルシステムのコマンドの処理は、SIMファイルシステムへのアクセスがSIMコマンドに対して許可されるかどうか判定することを含む。SIMファイルシステムへのアクセスがSIMコマンドに対して許可されるという判定に応答して、SIMファイルシステムエミュレータ430は、SIMコマンドおよび構成データ435に基づいて、SIMファイルシステム内のデータにアクセスし、構成データ435が、SIMコマンドに対する遅れ時間を示すかどうか判定し、構成データ435が、SIMコマンドに対する遅れ時間を示すという判定に応答して、構成データ435において指定されたある程度の時間、休止する。
エミュレーションを実行するとき、SIMコマンド処理モジュール405は、SIMセキュリティモジュール415およびSIMファイルシステムエミュレータ430と協同して、構成データ435に基づいて、実SIMの動作と合致したやり方でSIMコマンドを処理する。たとえば、SIMコマンドの処理は、実SIMが返す応答コードなどの応答コードを返すことを含むことができる。戻りコードは、SIMファイルシステム内のデータへのアクセスに基づくことができる。したがって、SIMコマンドの処理は、SIM読出しコマンドの処理の完了成功に応答してファイルシステムから読み出されるデータなど、応答コードに関連づけられた応答データを返すことを含むこともできる。
SIMエミュレータ400は、1つまたは複数のログ425も含む。ログ425は、制御モジュール420によって書き込まれることができる。たとえば、制御モジュールは、SIMコマンド、およびそうしたコマンドへの応答を記録することができる。いくつかの場合では、応答データ、およびSIMコマンドの処理に関連づけられた他のデータも、記録されることができる。
任意選択のSIMツールキットエミュレータ410は、一般的なSIMツールキットプログラムを含むSIMツールキットを提供することができる。たとえば、ツールキットは、指定されたイベントが発生すると、メッセージが表示され、または音が鳴らされるようにするプログラムを含むことができ、無線アプリケーションプロトコル(WAP)提供シナリオをテストし、無線によるソフトウェアのアップグレード、または実SIMのプロセッサ上で通常は実行される他のアプリケーションをシミュレートする。概して、SIMツールキットエミュレータ410は、テストされているエミュレートされたSIMアプリケーションに取り付けることができるフックを提供する。モバイル装置上のアプリケーションは、適切なSIMコマンドを用いて、制御モジュール420を介して、エミュレートされたSIMアプリケーションといつでも通信することができる。このようなSIMコマンドを受け取ると、制御モジュール420は、SIMツールキットエミュレータ410にコマンドを転送する。SIMエミュレータ400の他のコンポーネントと同様に、構成データ435は、たとえば遅れ時間など、SIMツールキットの特性を指定するのに使われることができる。さらに、制御モジュール420は、後で取り出すために、ツールキットに関連するSIMコマンドをログ425に記録することができる。
最後に、SIMエミュレータ400は、構成データ435に基づいて、SIMエラーをシミュレートすることもできる。つまり、構成データ435は、ランダムに、指定されたときに、または指定されたイベントに応答して、SIMエミュレータ400の制御モジュール420によって生じられる1つまたは複数のエラーを示すことができる。シミュレートされたこのようなエラーは、このようなエラーを処理するためのアプリケーションの性能をテストすることによって、テストされているアプリケーションの性能をより完全にテストするのを助ける。
エラーシミュレーションの詳細は、図8を参照して後で説明される。概して、コマンドが、無線機を介してRILから受け取られると、制御モジュール420は、そのコマンドをエラーシミュレーションモジュール445に渡し、モジュール445は、与えられたコマンド、またはコマンドをカプセル化するクラスが、構成データ435によって失敗するように規定されているかどうか判定する。こうした規定は、その失敗に対する特定の条件、たとえば失敗するまでに何個のコールが成功するか、ランダムな失敗の確率、失敗するまでの遅れ時間などを含むことができる。エラーシミュレーションモジュール445は、着信コマンドが失敗すると判定すると、構成データ435によって指定されたエラーコードを返す。エラーコードの例は、SIM未挿入、SIMシステム障害などを含むことができよう。エラーコードは、エラーシミュレーションモジュール445から制御モジュール420に返され、制御モジュール420は次いで、そのエラーを、無線機を介してRILに返す。失敗したコマンドは、制御モジュール420によって止められ、他のどのモジュールも通らない。さらに、エラーシミュレーションモジュール445は、構成データ435に基づいて、たとえばSIM削除エラー、SIMビジーエラーなどのエラーイベントを自律的にトリガすることもできる。ただし、アプリケーションが、存在しないファイルへのアクセスを試みるときのSIMファイルシステムエミュレータ430や、アプリケーションが不正なまたは認証されていないPINを使うときのSIMセキュリティエミュレータなど、他のモジュールでもエラーが生成され得ることに留意されたい。
本発明の様々な実施形態の論理動作は、(1)計算機システムで実行される、一連のコンピュータ実装作用もしくはプログラムモジュールとして、かつ/または(2)相互接続されたマシン論理回路、もしくは計算機システム内の回路モジュールとして実装される。この実装形態は、本発明を実装する計算機システムの性能要件に応じた選択の問題である。したがって、本明細書において説明される本発明の実施形態を構成する論理動作は、動作、構造装置、作用、またはモジュールなど、様々に呼ばれる。こうした動作、構造装置、作用、およびモジュールは、本明細書に添付された特許請求の範囲に記載される本発明の精神および範囲から逸脱することなく、ソフトウェア、ファームウェア、特殊目的のデジタル論理、およびこれらのどの組合せとしても実装され得ることが、当業者には理解されよう。
図5は、本発明の実施形態によるSIMエミュレーションを示すフローチャートである。この例において、動作は、読出し動作500で始まる。読出し動作500は、実SIMの1つまたは複数の特性を表す構成データの読み出しを含む。上述したように、構成データは、SIMの動作特性を表す1つまたは複数のパラメータを含むことができる。エミュレーションの実行用の1つまたは複数のパラメータの1つは、SIMコマンドに関連づけられた機能を実施するための時間遅延を含むことができる。さらに、構成データは、SIMのファイルシステムに格納される1つまたは複数のデータファイルを含むことができる。構成データは、XMLファイル、テキストファイルの形、または他の好都合な形式でよい。他の実施形態では、SIMエミュレータは、読出し動作が必要とされないように実SIMに関連づけられた、予め定義された構成データを有する。重要なことは、SIMエミュレータが、適切な構成データを読み出し、またはそうしたデータを用いて符号化されることである。
次に、開始動作505が、エミュレーションの実行を開始する。つまり、構成データが、エミュレートされている実SIMと合致したやり方でエミュレーションが動作するようにSIMエミュレーションをセットアップするのに用いられる。たとえば、異なるタイプのSIMの間で変化する特性および行動を表す、SIMエミュレータのコード中の変数が、構成データの値を設定するのに使われることができる。
受取り動作510で、SIMエミュレータは、SIMの資源にアクセスするためのSIMコマンドを、無線機を介して無線インターフェース層(RIL)から受け取る。コマンドの性質に応じて、SIMコマンドの受取りは、SIMコマンドに関連づけられたデータの受取りをさらに含むことができる。たとえば、書込みコマンドは、書き込まれる関連づけられたデータ、または書き込まれる位置へのポインタを有することができる。受取り動作510で、SIMコマンドがまだ受け取られていない場合、制御は、受取り動作510で、SIMコマンドが受け取られるのを待つためにループし、または休止することができる。他の実装形態では、SIMエミュレータがSIMコマンドを受け取るのを待っている間、他の動作が実施されることができる。SIMコマンドが受け取られたという判定が行われると、制御は、処理動作515に移る。
処理動作515は、構成データに基づいて、実SIMの動作と合致したやり方でSIMコマンドを処理する。SIMエミュレータは、いくつかのSIMコマンドにある特定のやり方で応答するようにハードコードされることができる。たとえば、読出しコマンドは、SIMエミュレータに、読出しが成功した場合はファイルシステムの一部のデータに従う固定応答コードを用い、読出しが成功しなかった場合は異なる応答コードを用いて応答させることができる。さらに、エミュレーションをセットアップするのに使われる構成データ中の情報は、異なるタイプのSIMの間で変わる動作パラメータを示すことができる。たとえば、構成データは、コマンドに応答するための遅れ時間も、応答の形式さえも示すことができる。SIMコマンド処理のこれ以上の詳細は、図6および7を参照して後で説明される。
いくつかの実施形態では、コマンドを処理すると、ログ動作520が、SIMコマンドおよびコマンドの処理に関連するデータのログをとる。SIMコマンドおよびコマンドの処理に関連するデータのログをとることは、SIMコマンドおよび応答コードを記録することを含むことができる。さらに、エミュレーションの実行およびSIMコマンドの処理に関連づけられた応答データおよび他のデータも、記録されることができる。上で説明したように、このデータは次いで、テストされているアプリケーションのデバッグにおいて使用可能である。
上述したように、構成データは、エミュレーションの実行中に変化してもよい。したがって、多くの場合、SIMエミュレーションの実施は、周期的に、または何らかのイベントが発生したときに構成データを再度読み出すことを含むこともできる。このような場合、上で概説された動作に従って、SIMエミュレータは、第2のまたは後続の組の構成データを読み出し、第2の組の構成データに基づいて、SIMの動作と合致したやり方で後続のSIMコマンドを処理する。
図6は、図5に示されるSIMエミュレーションのさらなる実施形態による、SIMファイルシステムコマンドの処理を示すフローチャートである。使用され得る一般的なSIMファイルシステムコマンドは、標準SIM読出しコマンドおよび書込みコマンドを含むが、それに限定されない。ここで、動作は、クエリ動作605で始まる。クエリ動作605は、SIMファイルシステムへのアクセスがSIMコマンドに対して許可されるか判定する。この判定は、実SIM内と同様にファイルシステム内の各ファイル用に維持されるアクセス制御リスト(ACL)に照らして現在のアプリケーションのセキュリティレベルを調べることを含むことができる。アクセスが許可されないという判定が行われると、制御は、戻り動作625に移る。クエリ動作605での、SIMファイルシステムへのアクセスがSIMコマンドに対して許可されるという判定に応答して、制御は、読出し/書込み動作610に移る。
読出し/書込み動作610は、SIMコマンドおよび構成データに基づいて、SIMファイルシステム内のデータにアクセスすることを含む。つまり、読出しコマンドは、SIMエミュレータに、ファイルシステムからデータを取得させ、書込みコマンドは、SIMエミュレータに、ファイルシステムにデータを追加させ、またはファイルシステムを更新させる。
次に、クエリ動作615が、SIMコマンドに対する遅れ時間を構成データが示しているかどうか判定する。構成データ中で遅れが示されていない場合、制御は、戻り動作625に移る。構成データが、SIMコマンドに対する遅れ時間を示しているという判定に応答して、制御は、休止動作620に移る。休止動作620は、構成データ中で指定されたある程度の時間休止することを含む。制御は次いで、戻り動作625に移る。
戻り動作625は、SIMファイルシステム内のデータへのアクセスに基づいて、応答コードを返す。たとえば、SIMエミュレータが、成功した書込みを完了した場合、成功した書込み用の通常のSIM応答コードが返されることができる。別の例では、存在しないファイルの読出しの試みが、エラーコードが返されるという結果を生じさせる場合がある。さらに、いくつかの場合では、戻り動作625は、応答コードに関連づけられた応答データを返すことを含むこともできる。たとえば、成功した読出し動作用の応答コードが、読み出されたデータに関連づけられることができる。
図7は、図5に示されるSIMエミュレーションのさらなる実施形態による、SIMセキュリティシステムコマンドの処理を示すフローチャートである。使われ得るSIMセキュリティコマンドは、ユーザの個人識別番号(PIN)を確認し、変更し、有効にし、または無効にする一般的なSIMコマンドを含むが、それに限定されない。この例では、動作は、クエリ動作705で始まる。クエリ動作705は、SIMセキュリティシステムへのアクセスがSIMコマンドに対して許可されるか判定する。この判定は、実SIM内と同様にファイルシステム内の各ファイル用に維持されるアクセス制御リスト(ACL)と突き合わせて現在のアプリケーションのセキュリティレベルを調べることを含むことができる。アクセスが許可されないという判定が行われると、制御は、戻り動作725に移る。クエリ動作705での、SIMセキュリティシステムへのアクセスがSIMコマンドに対して許可されるという判定に応答して、制御は、実行動作710に移る。
実行動作710は、SIMコマンドおよび構成データに基づいた、SIMセキュリティシステムの機能の実施を含む。つまり、コマンドに応じて、PINが、読み出され、更新され、有効にされ、または無効にされることができる。
次に、クエリ動作715が、SIMコマンドに対する遅れ時間を構成データが示しているかどうか判定する。構成データ中で遅れが示されていない場合、制御は、戻り動作725に移る。構成データが、SIMコマンドに対する遅れ時間を示しているという判定に応答して、制御は、休止動作720に移る。休止動作720は、構成データ中で指定されたある程度の時間休止することを含む。制御は次いで、戻り動作725に移る。
戻り動作725は、動作の成功に基づいて、応答コードを返す。たとえば、SIMエミュレータが、成功した変更を完了した場合、成功したPIN変更用の通常のSIM応答コードが返されることができる。別の例では、PINの失敗したアクセスが、エラーコードが返されるという結果を生じさせる場合がある。さらに、いくつかの場合では、戻り動作725は、応答コードに関連づけられた応答データを返すことを含むこともできる。
図8は、本発明の一実施形態によるエラーシミュレーションを示すフローチャートである。この例では、動作は、クエリ動作805で始まる。クエリ動作805は、受け取ったコマンドが、不良すなわち無効なコマンドとみなされるかどうか判定する。ある実施形態では、クエリ動作805は、コマンドの形式、コマンドに関連づけられた1つまたは複数のパラメータを評価することによって、あるいはコマンドまたはコマンドをカプセル化するクラスが失敗するように規定されているという構成データ中の指示に基づいて、コマンドが「不良」であるか判定する。コマンドが不良コマンドとみなされないという判定が行われた場合、制御は、クエリ動作835に移る。しかし、コマンドが不良コマンドとみなされるという判定が行われた場合、制御は、戻り動作810に移る。戻り動作810は、不良コマンドのエラーコードを返すことを含む。
クエリ動作835は、ランダムエラーが生成されるかどうかの判定を含む。この判定は、たとえば、構成データ中にそのパラメータが格納される乱数ジェネレータに基づくことができる。ランダムエラーが生成されないという判定が行われた場合、制御は、クエリ動作845に移る。しかし、ランダムエラーが生成されるという判定が行われた場合、制御は、戻り動作840に移る。戻り動作840は、生成されたランダムエラーに基づいたエラーコードを返すことを含む。エラーコードは、構成データに格納されている、起こり得るいくつかのエラーの1つでよい。さらに、起こり得るいくつかのエラーのうち、返される正確なエラーコードは、乱数ジェネレータによって生成される値に基づくことができる。
クエリ動作845は、構成データに格納されている、受け取ったコマンドに応答するための遅れ時間が、やはり構成データに格納されている、その応答に対する限度を超えているかどうかの判定を含む。つまり、コマンドの遅れ時間と、遅れ時間の限度との比較が行われる。上述したように、構成データ中で指定された遅れ時間は、特定のコマンドまたは特定のファイルに関連することができる。遅れ時間が限度を超えている場合、制御は戻り動作850に移る。戻り動作850は、時間切れエラーを返すことを含む。
以上、コンピュータの構造上の特徴、方法を行うための動作、およびコンピュータ可読媒体に特有の言葉で本発明が説明されたが、添付の特許請求の範囲において定義される本発明は、説明した特定の構造、動作、または媒体に必ずしも限定されないことを理解されたい。一例として、SIMエミュレータは、実装置、エミュレートされた装置、または実コンポーネントおよびエミュレートされたコンポーネントの何らかの組合せを含む様々な環境において使われることができる。さらに、構成データは、その形式ならびにその内容において大きく変わり得る。したがって、こうした特定の構造上の特徴、動作、および媒体は、権利請求される本発明を実装する例示的な実施形態として開示されるものである。
上述した様々な実施形態は、例として示したに過ぎず、本発明を限定するものと解釈されるべきでない。本明細書において例示し説明した、例である実施形態および適用例に従わなくとも、また、添付の特許請求の範囲において述べられる本発明の真の精神および範囲から逸脱することなく、本発明に対して行われ得る様々な修正および変更を、当業者は容易に理解するであろう。
本発明の実施形態が実装されることができるモバイル装置の機能コンポーネントを示す図である。 本発明の実施形態が実装されることができるモバイル装置をエミュレートするシステムの機能コンポーネントを示す図である。 本発明の実施形態が実装されることができる適切な計算機システム環境の例を示す図である。 本発明の実施形態による、加入者識別モジュール(SIM)をエミュレートするシステムの機能コンポーネントを示す図である。 本発明の実施形態によるSIMエミュレーションを示すフローチャートである。 図5に示されるSIMエミュレーションのさらなる実施形態による、SIMファイルシステムコマンドの処理を示すフローチャートである。 図5に示されるSIMエミュレーションのさらなる実施形態による、SIMセキュリティシステムコマンドの処理を示すフローチャートである。 本発明の実施形態によるエラーシミュレーションを示すフローチャートである。
符号の説明
100 モバイル装置
105 アプリケーション
110 無線インターフェース層プロキシ(RIL)
115 RILドライバ
120 無線機
125 加入者識別モジュール(SIM)エミュレータ
130 ネットワーク
200 アプリケーションテスト/開発システム
205 アプリケーション
207 無線インターフェース層(RIL)プロキシ
210 装置エミュレータ
215 無線インターフェース層(RIL)ドライバエミュレータ
225 無線機エミュレータ
230 ネットワークエミュレータ
235 加入者識別モジュール(SIM)エミュレータ
302 処理ユニット
304 システムメモリ
308 取外し可能記憶装置
310 固定式記憶装置
312 通信接続(群)
314 入力装置(群)
316 出力装置(群)
400 SIMエミュレータ
405 SIMコマンド処理モジュール
410 SIMツールキットエミュレータ
415 SIMセキュリティエミュレータ
420 制御モジュール
425 ログ
430 SIMファイルシステムエミュレータ
435 構成データ
440 構成マネージャ
445 エラーシミュレーションモジュール

Claims (39)

  1. 加入者識別モジュール(SIM)をエミュレートする方法であって、
    前記SIMの1つまたは複数の特性を表す構成データを読み出すステップと、
    前記エミュレーションの実行を開始するステップと、
    前記SIMの資源にアクセスするためのSIMコマンドを受け取るステップと、
    前記構成データに基づいて、前記SIMの動作と合致したやり方で前記SIMコマンドを処理するステップと、
    前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとるステップとを含むことを特徴とする方法。
  2. 前記構成データは、SIMの動作特性を表す1つまたは複数のパラメータを含むことを特徴とする請求項1に記載の方法。
  3. 前記エミュレーションの実行用の前記1つまたは複数のパラメータの1つは、前記SIMコマンドに関連づけられた機能を実施するための時間遅延を含むことを特徴とする請求項2に記載の方法。
  4. 前記構成データは、前記SIMのファイルシステムに格納される1つまたは複数のデータファイルを含むことを特徴とする請求項1に記載の方法。
  5. SIMコマンドを受け取るステップは、前記SIMコマンドに関連づけられたデータを受け取るステップをさらに含むことを特徴とする請求項1に記載の方法。
  6. 前記SIMコマンドが前記SIMのファイルシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理するステップは、
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定するステップと、
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMファイルシステム内のデータにアクセスし、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止するステップとをさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記SIMコマンドが前記SIMのセキュリティシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理するステップは、
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定するステップと、
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMセキュリティシステムの機能を実施し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止するステップとをさらに含むことを特徴とする請求項1に記載の方法。
  8. 前記SIMファイルシステム内のデータへのアクセスに基づいて、応答コードを返すステップをさらに含むことを特徴とする請求項6に記載の方法。
  9. 前記応答コードに関連づけられた応答データを返すステップをさらに含むことを特徴とする請求項8に記載の方法。
  10. 前記SIMセキュリティシステム内のデータへのアクセスに基づいて、応答コードを返すステップをさらに含むことを特徴とする請求項6に記載の方法。
  11. 前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとるステップは、前記SIMコマンド、前記応答コード、および前記応答データを記録するステップを含むことを特徴とする請求項9に記載の方法。
  12. 前記構成データに基づいたSIMエラーをシミュレートするステップをさらに含むことを特徴とする請求項1に記載の方法。
  13. 第2の組の構成データを読み出すステップと、前記第2の組の構成データに基づいて、前記SIMの動作と合致したやり方で後続のSIMコマンドを処理するステップとをさらに含むことを特徴とする請求項1に記載の方法。
  14. プロセッサと、
    前記プロセッサと結合され前記プロセッサによる読出しが可能なメモリとを備える、加入者識別モジュール(SIM)をエミュレートするためのシステムであって、前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、前記SIMの1つまたは複数の特性を表す構成データを読み出させ、前記エミュレーションの実行を開始させ、前記SIMの資源にアクセスするためのSIMコマンドを受け取らせ、前記SIMコマンドを、前記構成データに基づいて、前記SIMの動作と合致したやり方で処理させ、前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとらせる一連の命令を含むことを特徴とするシステム。
  15. 前記構成データは、SIMの動作特性を表す1つまたは複数のパラメータを含むことを特徴とする請求項14に記載のシステム。
  16. 前記エミュレーションの実行用の前記1つまたは複数のパラメータの1つは、前記SIMコマンドに関連づけられた機能を実施するための時間遅延を含むことを特徴とする請求項15に記載のシステム。
  17. 前記構成データは、前記SIMのファイルシステムに格納される1つまたは複数のデータファイルを含むことを特徴とする請求項14に記載のシステム。
  18. SIMコマンドを受け取ることは、前記SIMコマンドに関連づけられたデータを受け取ることをさらに含むことを特徴とする請求項14に記載のシステム。
  19. 前記SIMコマンドが、前記SIMのファイルシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理することは、
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定すること、ならびに
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMファイルシステム内のデータにアクセスし、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止することをさらに含むことを特徴とする請求項14に記載のシステム。
  20. 前記SIMコマンドが、前記SIMのセキュリティシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理することは、
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定すること、ならびに
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMセキュリティシステムの機能を実施し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止することをさらに含むことを特徴とする請求項14に記載のシステム。
  21. 前記SIMファイルシステム内のデータへのアクセスに基づいて、応答コードを返すことをさらに含むことを特徴とする請求項19に記載のシステム。
  22. 前記応答コードに関連づけられた応答データを返すことをさらに含むことを特徴とする請求項21に記載のシステム。
  23. 前記SIMセキュリティシステム内のデータへのアクセスに基づいて、応答コードを返すことをさらに含むことを特徴とする請求項19に記載のシステム。
  24. 前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとることは、前記SIMコマンド、前記応答コード、および前記応答データを記録することを含むことを特徴とする請求項23に記載のシステム。
  25. 前記構成データに基づいたSIMエラーをシミュレートすることをさらに含むことを特徴とする請求項14に記載のシステム。
  26. 第2の組の構成データを読み出すこと、および前記第2の組の構成データに基づいて、前記SIMの動作と合致したやり方で後続のSIMコマンドを処理することをさらに含むことを特徴とする請求項14に記載のシステム。
  27. 加入者識別モジュール(SIM)をエミュレートするコンピュータ処理を実行する命令からなるコンピュータプログラムを符号化するコンピュータ可読媒体であって、前記コンピュータ処理は、
    前記SIMの1つまたは複数の特性を表す構成データを読み出すステップと、
    前記エミュレーションの実行を開始するステップと、
    前記SIMの資源にアクセスするためのSIMコマンドを受け取るステップと、
    前記構成データに基づいて、前記SIMの動作と合致したやり方で前記SIMコマンドを処理するステップと、
    前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとるステップとを含むことを特徴とするコンピュータ可読媒体。
  28. 前記構成データは、SIMの動作特性を表す1つまたは複数のパラメータを含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  29. 前記エミュレーションの実行用の前記1つまたは複数のパラメータの1つは、前記SIMコマンドに関連づけられた機能を実施するための時間遅延を含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  30. 前記構成データは、前記SIMのファイルシステムに格納される1つまたは複数のデータファイルを含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  31. SIMコマンドを受け取るステップは、前記SIMコマンドに関連づけられたデータを受け取るステップをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  32. 前記SIMコマンドが、前記SIMのファイルシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理するステップは、
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定するステップと、
    前記SIMファイルシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMファイルシステム内のデータにアクセスし、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止するステップとをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  33. 前記SIMコマンドが、前記SIMのセキュリティシステムにアクセスするためのコマンドであることに応答して、前記コマンドを処理するステップは、
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるかどうか判定するステップと、
    前記SIMセキュリティシステムへのアクセスが前記SIMコマンドに対して許可されるという判定に応答して、前記SIMコマンドおよび前記構成データに基づいて、前記SIMセキュリティシステムの機能を実施し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すかどうか判定し、前記構成データが、前記SIMコマンドに対する遅れ時間を示すという判定に応答して、前記構成データにおいて指定されたある程度の時間、休止するステップとをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  34. 前記SIMファイルシステム内のデータへのアクセスに基づいて、応答コードを返すステップをさらに含むことを特徴とする請求項32に記載のコンピュータ可読媒体。
  35. 前記応答コードに関連づけられた応答データを返すステップをさらに含むことを特徴とする請求項34に記載のコンピュータ可読媒体。
  36. 前記SIMセキュリティシステム内のデータへのアクセスに基づいて、応答コードを返すステップをさらに含むことを特徴とする請求項32に記載のコンピュータ可読媒体。
  37. 前記SIMコマンドおよび前記コマンドの処理に関連するデータのログをとるステップは、前記SIMコマンド、前記応答コード、および前記応答データを記録するステップを含むことを特徴とする請求項35に記載のコンピュータ可読媒体。
  38. 前記構成データに基づいたSIMエラーをシミュレートするステップをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
  39. 第2の組の構成データを読み出すステップと、前記第2の組の構成データに基づいて、前記SIMの動作と合致したやり方で後続のSIMコマンドを処理するステップとをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
JP2004361657A 2003-12-15 2004-12-14 加入者識別モジュール(sim)エミュレータ Expired - Fee Related JP4185043B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/736,971 US7162408B2 (en) 2003-12-15 2003-12-15 Subscriber identification module (SIM) emulator

Publications (3)

Publication Number Publication Date
JP2005182798A true JP2005182798A (ja) 2005-07-07
JP2005182798A5 JP2005182798A5 (ja) 2008-02-07
JP4185043B2 JP4185043B2 (ja) 2008-11-19

Family

ID=34523135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004361657A Expired - Fee Related JP4185043B2 (ja) 2003-12-15 2004-12-14 加入者識別モジュール(sim)エミュレータ

Country Status (5)

Country Link
US (1) US7162408B2 (ja)
EP (1) EP1544708A3 (ja)
JP (1) JP4185043B2 (ja)
KR (1) KR20050060013A (ja)
CN (1) CN1630403A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016530849A (ja) * 2013-09-16 2016-09-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated プレゼンスおよびオンデバイスプロキシング

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096012B2 (en) * 2003-10-23 2006-08-22 Microsoft Corporation System and method for emulating a telephony driver
US20060048009A1 (en) * 2004-09-01 2006-03-02 Huemiller Louis D Jr Device switch error injection
DE102004062963A1 (de) * 2004-12-28 2006-07-06 Sigos Systemintegration Gmbh Testgerät zum Einsatz in einem Testsystem zur Überprüfung von Übertragungsvorgängen innerhalb eines Mobilfunknetzes
US7821974B2 (en) * 2005-03-29 2010-10-26 Microsoft Corporation UMTS RIL extension
US7886311B2 (en) 2005-03-29 2011-02-08 Microsoft Corporation Synchronous RIL proxy
US20060282247A1 (en) * 2005-05-25 2006-12-14 Brennan James T Combined hardware and network simulator for testing embedded wireless communication device software and methods
JP5057475B2 (ja) * 2005-06-23 2012-10-24 フランス・テレコム サービスアクセス認証データ管理システム
FR2892212A1 (fr) * 2005-10-17 2007-04-20 St Microelectronics Sa Lecteur nfc ayant un mode de fonctionnement passif a faible consommation electrique
CN101111016B (zh) * 2006-07-18 2010-09-29 中兴通讯股份有限公司 在移动通信网络中提供固定通信业务的设备、***和方法
WO2008012738A2 (en) * 2006-07-25 2008-01-31 Nxp B.V. Mobile device comprising an operating system emulator
EP2206386B1 (en) * 2007-10-29 2014-04-23 InterDigital Technology Corporation Integration of 802.21 media independent handover functionality to radio interface layer and telephony server
US20090281949A1 (en) * 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US20100250442A1 (en) * 2009-03-30 2010-09-30 Appsware Wireless, Llc Method and system for securing a payment transaction with a trusted code base
US20100250441A1 (en) * 2009-03-30 2010-09-30 Appsware Wireless, Llc Method and system for securing a payment transaction with trusted code base on a removable system module
US9369938B2 (en) * 2009-03-31 2016-06-14 Microsoft Technology Licensing, Llc Subscriber identity module (SIM) for mobile stations
CN101835142B (zh) * 2010-04-23 2014-01-01 中兴通讯股份有限公司 一种用户识别应用发展工具的实现方法及装置
US8707022B2 (en) * 2011-04-05 2014-04-22 Apple Inc. Apparatus and methods for distributing and storing electronic access clients
CN103260138B (zh) * 2013-05-07 2018-11-20 百度在线网络技术(北京)有限公司 移动终端的骚扰拦截功能的测试方法和装置
US10123191B2 (en) 2014-10-31 2018-11-06 At&T Intellectual Property I, L.P. Device operational profiles
US10694023B2 (en) * 2015-07-10 2020-06-23 Rohde & Schwarz Gmbh & Co. Kg Testing methods and systems for mobile communication devices
KR102605461B1 (ko) * 2018-09-20 2023-11-23 삼성전자주식회사 보안 엘리먼트를 이용하여 서비스를 제공하는 전자 장치 및 그의 동작 방법
CN109451130B (zh) * 2018-12-04 2021-08-03 惠州Tcl移动通信有限公司 移动终端测试方法、装置、移动终端及存储介质
CN109831496B (zh) * 2019-01-22 2021-06-15 卢建超 一种终端数据的调试方法
CN110059425B (zh) * 2019-04-24 2023-04-18 上海磐启微电子有限公司 基于sd卡镜像文件的sd卡文件***的eda仿真技术
RU2723895C1 (ru) * 2019-09-23 2020-06-18 Общество с ограниченной ответственностью "Крокс Плюс" Устройство удалённого подключения sim-карт
US20220300604A1 (en) * 2021-03-16 2022-09-22 Sony Group Corporation Method and apparatus for testing a device under test
CN113778773B (zh) * 2021-09-09 2024-01-16 展讯通信(天津)有限公司 Sim卡模拟方法、装置和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272450B1 (en) * 1998-06-16 2001-08-07 Telefonaktiebolaget L M Ericsson (Publ) Cellular network traffic simulator (cents)
FI107110B (fi) * 1998-06-24 2001-05-31 Nokia Networks Oy Menetelmä ja verkkoelementti tilaajan liittämiseksi matkaviestinverkkoon
DE19831929C1 (de) * 1998-07-16 1999-11-25 Wandel & Goltermann Management Testeinrichtung und -verfahren zur laufenden Überprüfung der Dienste in GSM-Netzen
US6799155B1 (en) * 1998-12-11 2004-09-28 Allied Signal Inc. Replacement of externally mounted user interface modules with software emulation of user interface module functions in embedded processor applications
DE20218416U1 (de) * 2002-11-28 2003-02-13 Sigos Systemintegration Gmbh Testsystem zur Prüfung von Übertragungsvorgängen innerhalb eines Mobilfunknetzes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016530849A (ja) * 2013-09-16 2016-09-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated プレゼンスおよびオンデバイスプロキシング

Also Published As

Publication number Publication date
EP1544708A3 (en) 2008-04-02
US7162408B2 (en) 2007-01-09
JP4185043B2 (ja) 2008-11-19
EP1544708A2 (en) 2005-06-22
KR20050060013A (ko) 2005-06-21
US20050131671A1 (en) 2005-06-16
CN1630403A (zh) 2005-06-22

Similar Documents

Publication Publication Date Title
JP4185043B2 (ja) 加入者識別モジュール(sim)エミュレータ
US7277700B2 (en) System and method for emulating a telephony driver
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
JP4800068B2 (ja) パスワード管理装置、パスワード管理方法、パスワード管理プログラム
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
US20060101404A1 (en) Automated system for tresting a web application
US7778801B2 (en) Automated test script for communications server
CN106649084A (zh) 函数调用信息的获取方法及装置、测试设备
CN105808399A (zh) 一种远程调试的方法和装置
JP2005182798A5 (ja)
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN110221959B (zh) 应用程序的测试方法、设备以及计算机可读介质
CN114065204A (zh) 一种无文件木马查杀方法及装置
JP5157586B2 (ja) エミュレータ装置
CN112699034B (zh) 虚拟登录用户构建方法、装置、设备及存储介质
Usman et al. Test case generation from android mobile applications focusing on context events
CN109933479B (zh) 故障模拟与仿真方法以及相关设备
CN116795679A (zh) 一种Web应用测试方法、装置、电子设备及存储介质
CN107765998A (zh) Raid管理方法、装置及计算机可读存储介质
CN109831496B (zh) 一种终端数据的调试方法
CN113050936A (zh) 基于集成开发环境的前端数据处理方法及装置
CN109144415B (zh) 节点检测方法及共享存储装置
CN115826875B (zh) 缓存数据无效化验证方法、装置及***
CN107728944A (zh) Raid管理方法、装置及计算机可读存储介质
US20230179624A1 (en) Attack reproduction support apparatus, attack reproduction support method, and computer readable recording medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071214

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080808

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4185043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees