KR20050060013A - 가입자 식별 모듈(sim)을 에뮬레이팅하는 방법,시스템, 및 컴퓨터 판독가능 매체 - Google Patents

가입자 식별 모듈(sim)을 에뮬레이팅하는 방법,시스템, 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20050060013A
KR20050060013A KR1020040105466A KR20040105466A KR20050060013A KR 20050060013 A KR20050060013 A KR 20050060013A KR 1020040105466 A KR1020040105466 A KR 1020040105466A KR 20040105466 A KR20040105466 A KR 20040105466A KR 20050060013 A KR20050060013 A KR 20050060013A
Authority
KR
South Korea
Prior art keywords
sim
command
configuration data
data
response
Prior art date
Application number
KR1020040105466A
Other languages
English (en)
Inventor
프레지어재슨
보워스네빌
캐시얍샤운
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20050060013A publication Critical patent/KR20050060013A/ko

Links

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

본 발명의 실시예들은 가입자 식별 모듈(Subscriber Identification Module: SIM)을 에뮬레이팅(emulate)하는 방법, 시스템, 및 컴퓨터 판독가능 매체에 관한 것이다. SIM 에뮬레이션은 SIM의 하나 이상의 특징을 나타내는 구성 데이터를 판독하는 단계를 포함한다. 그 다음 에뮬레이션의 실행이 초기화된다. SIM의 자원을 액세스하라는 SIM 명령이 라디오 인터페이스 계층(Radio Interface Layer: RIL)으로부터 수신된다. SIM 명령은 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 처리된다. SIM 명령 및 이 명령의 처리에 관련된 데이터는 로깅(log)된다.

Description

가입자 식별 모듈(SIM)을 에뮬레이팅하는 방법, 시스템, 및 컴퓨터 판독가능 매체{SUBSCRIBER IDENTIFICATION MODULE(SIM) EMULATOR}
본 발명은 일반적으로 컴퓨터 소프트웨어 분야에 관한 것으로 보다 상세히는 SIM을 사용하는 애플리케이션을 검사하기 위한 소프트웨어 개발 도구에 관한 것이다.
셀룰러폰(cellular phone), 페이저(pager), PDA 등과 같은 매우 다양한 모바일 컴퓨팅 장치가 일반적으로 사용되고 있다. 이들 모바일 장치에서 사용 가능한 소프트웨어는 게임, 전화번호부, 달력, 이메일, 웹 브라우저 등을 포함하는 광범위한 애플리케이션을 포함한다. 이들 애플리케이션이, 모바일 장치에서 실행될 때는 이 모바일 장치의 SIM의 자원을 자주 이용한다. SIM은 보안 기능을 수행하고 정보를 저장하는 파일 시스템을 보유하는 등의 다양한 기능을 수행하는 메모리 및 프로세서를 포함하는 "스마트 카드(smart card)" 장치이다.
예를 들면, 전화번호부 애플리케이션은 SIM의 파일 시스템에 엔트리(entry)들을 저장할 수 있다. SIM은 이들 엔트리가 오직 허가된 애플리케이션으로만 액세스하도록 할 것이다. 애플리케이션이 허가되면, 이 애플리케이션은 예를 들면, 새로운 전화번호부 엔트리를 저장하도록 파일 시스템의 컨텐츠를 갱신할 수 있다. SIM은 또한 이 SIM의 보안 기능들을 통하여 허가된 애플리케이션이 사용자의 개인 식별 번호(Personal Identification Number:PIN)를 판독하고 갱신하도록 할 수도 있다.
SIM의 자원을 사용하는 애플리케이션을 검사하는 것은 일반적으로 애플리케이션이 실행될 장치에서 사용될 SIM을 구비한 애플리케이션을 검사하는 것에 의존한다. 통상적으로, 이들 검사는 애플리케이션이 개발되고 검사되는, 퍼스널 컴퓨터와 같은 컴퓨팅 장치에 접속된 SIM 장치를 사용한다. 또는, 애플리케이션은 SIM을 사용하는 모바일 장치에서 검사된다.
그러나, SIM을 획득하고 이 SIM을 활성화 상태로 유지시키는 것은 비용이 많이 들므로, SIM을 구비한 애플리케이션을 검사하는 것은 고가로 된다. 게다가, 대부분의 SIM이 PIN을 판독하고 갱신하는 등의, 몇몇의 기능으로 제한된 액세스만을 허용하기 때문에, SIM은 이들 기능을 검사하기 위하여 오직 제한된 횟수 만큼만 사용될 수밖에 없어서 각 검사의 전체 비용을 증가시킨다. 게다가, SIM의 다른 유형이 다양한 모바일 장치에서 이용될 수 있다. 그러므로, SIM으로 철저한 검사를 하는 것은 소프트웨어 벤더(vendor)가 복수의 다른 유형의 매우 많은 SIM을 획득해야 하는 필요성을 초래한다. 이러한 사항 및 다른 사항에 관하여 본 발명이 이루어졌다.
본 발명에 따르면, SIM 장치를 에뮬레이팅하는 방법 및 시스템이 상술한 문제 및 그 밖의 문제들을 해결한다. 이들 방법 및 시스템을 사용하면, 모바일 장치에서 이용되는 애플리케이션은 실제 SIM이 아닌 에뮬레이팅된 SIM을 이용하여 검사될 수 있다. SIM 에뮬레이터는 구성 데이터를 통해 설정되고 에뮬레이팅되는 실제 SIM과 동일한 방식으로 동작한다. 실제 SIM을 이용하는 것과 같은 방식으로 SIM 에뮬레이터를 사용함으로써 애플리케이션이 실행되고 검사될 수 있다. 또한, SIM 에뮬레이터는 SIM 에러를 검사하고 시뮬레이션하는 동안 데이터를 로깅(log)함으로써 애플리케이션을 검사하고 디버깅(debug)하는 것을 더 도울 수 있다.
다른 양상에 따르면, 본 발명은 SIM을 에뮬레이팅하는 방법에 관한 것이다. 이 방법은 SIM의 하나 이상의 특성을 나타내는 구성 데이터를 판독하는 단계를 포함한다. 그 다음 에뮬레이션의 실행이 초기화된다. SIM의 자원을 액세스하라는 SIM 명령이 라디오 인터페이스 계층(Radio Interface Layer: RIL)으로부터 수신된다. SIM 명령은 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 처리된다. SIM 명령 및 이 명령의 처리에 관련된 데이터가 로깅된다.
또 다른 양상에 따르면, 본 발명은 SIM을 에뮬레이팅하는 시스템에 관한 것이다. 시스템은 프로세서 및 프로세서에 연결되고 프로세서에 의해 판독가능한 메모리를 포함한다. 메모리는 프로세서에 의해 실행가능할 때, 프로세서로 하여금 하나 이상의 SIM의 특성을 나타내는 구성 데이터를 판독하도록 하는 일련의 명령어를 포함한다. 그 다음 프로세서는 에뮬레이션의 실행을 초기화한다. SIM의 자원을 액세스하라는 SIM 명령이 RIL로부터 수신된다. SIM 명령은 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 처리된다. SIM 명령 및 이 명령의 처리에 관련된 데이터는 로깅된다.
본 발명은 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품이나 컴퓨터 판독가능 매체와 같은 제품으로 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 프로세스를 실행하는 컴퓨터 프로그램 명령어를 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨팅 시스템에 의해 판독가능하고 컴퓨터 프로세스를 실행하는 컴퓨터 프로그램 명령어를 인코딩하는 반송파 상의 전달 신호일 수 있다.
본 발명을 특징짓는 이들 및 다양한 다른 특성 및 이점은 이하의 상세한 설명을 읽고 관련 도면을 검토함으로써 명백해질 것이다.
본 발명의 실시예는 SIM의 에뮬레이팅에 관한 것이다. 후술될 바와 같이, SIM 에뮬레이션은 다양한 환경에서 수행될 수 있다. 예를 들면, SIM 에뮬레이션은 실제 모바일 장치 내에서 수행될 수 있다. 또는, SIM 에뮬레이션은 실제 모바일 장치의 다양한 컴포넌트의 기능이 SIM 에뮬레이션과 함께 에뮬레이팅되는, 모바일 장치의 에뮬레이션의 일부로서 수행될 수 있다. 물론, 실제 컴포넌트 및 에뮬레이팅된 컴포넌트의 다양한 조합 또한 가능하다.
도 1은 본 발명의 실시예가 구현될 수 있는 모바일 장치의 몇몇의 컴포넌트 를 도시한다. 예를 들면, 실제 모바일 장치(100)가 도시된다. 모바일 장치(100)는 하나 이상의 애플리케이션(105), RIL 프록시(110), RIL 드라이버(115), 라디오(120), 및 SIM 에뮬레이터(125)를 포함한다.
애플리케이션(105)은 전화번호부, 달력, 웹 브라우저, 게임 등과 같은 모바일 장치(100)에서 실행될 수 있는 다양한 가능한 소프트웨어 애플리케이션을 하나 이상 포함할 수 있다. 이들 애플리케이션은 검사 및 디버깅용 애플리케이션의 개발 중에 모바일 장치에서 실행될 수 있다. 실행 중에, 애플리케이션(105)은 RIL 프록시(110)와 대화한다.
RIL 프록시(110)는 애플리케이션(105)에 RIL 애플리케이션 프로그램 인터페이스(API)의 세트를 노출시키는 소프트웨어 계층이다. RIL 드라이버(115)는 RIL 프록시(110)와 함께, 애플리케이션(105)과 라디오(120) 간의 통신을 제공하는데, 예를 들면, 이 RIL(110)을 통하여 애플리케이션들이 라디오(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의 하나 이상의 특징들을 나타낸다. 예를 들면, 구성 데이터는 시간 지연 등과 같이, 실제 SIM 명령과 관련된 기능을 수행하기 위한 실제 SIM의 동작 특징 나타내는 하나 이상의 파라미터를 포함할 수 있다. 다른 예에서, 구성 데이터는 SIM의 파일 시스템에 저장될 전화번호부 엔트리와 같은 하나 이상의 데이터 파일을 포함할 수 있다.
일 실시예에서, SIM 에뮬레이터(125)는 파일 시스템을 보유하고, 보안 시스템을 보유하며, SIM 명령에 응답하도록 하드 코딩(hard code)된 함수들을 구비한 소프트웨어 루틴을 포함할 수 있다. 구성 데이터는 특성 및 행위가 SIM의 다른 유형마다 다른 곳들에서 이들 루틴의 변수로 이용될 값들을 제공한다.
구성 데이터를 판독한 후에, SIM 에뮬레이터(125)는 에뮬레이션의 실행을 초기화한다. SIM의 에뮬레이션은 구성 데이터가 지정한 바와 같이 실제 SIM에 의해 수행되는 기능과 동일한 기능들을 수행하는 동작을 포함한다. 예를 들면, SIM 에뮬레이터(125)는 구성 데이터로부터의 데이터를 포함하는 하나 이상의 데이터 파일을 포함하는 파일 시스템을 에뮬레이팅 할 수 있다. 또한, SIM 에뮬레이터(125)는 파일 시스템의 파일로의 액세스를 보유하고 처리하며 PIN으로의 액세스를 제공하는 SIM 보안 시스템을 제공할 수 있다. 다른 예로, SIM 에뮬레이터(125)는 메세지가 디스플레이되게 하거나 특정 이벤트의 발생시 사운드가 재생되도록 하는 통상적인 SIM 프로그램들을 포함하는 SIM 툴킷(toolkit)을 제공할 수 있다.
애뮬레이션의 실행 중에, SIM 에뮬레이터는 RIL(110)로부터 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 에뮬레이터에 의해 임의로, 특정 시간마다, 또는 특정한 이벤트에 응답하여 생성될 하나 이상의 에러를 지시하여 검사될 애플리케이션의 기능을 보다 철저하게 검사하여 이러한 에러를 처리할 수 있다.
도 2는 본 발명의 실시예가 구현될 수 있는 모바일 장치를 에뮬레이팅하는 시스템의 주 기능적인 컴포넌트를 상위 레벨에서 도시한다. 상술한 바와 같이, SIM 에뮬레이터는 에뮬레이팅된 모바일 장치 및 실제 모바일 장치에서 이용될 수 있다. SIM 에뮬레이터가 이용될 수 있는 에뮬레이팅된 모바일 장치의 일례는 본 출원의 양수인에게 양도되고 본 명세서에 참조로서 포함되는 2003년 10월 23일에 출원된 발명의 명칭이 "전화 통신 드라이버를 에뮬레이팅하는 시스템 및 방법(System and Method for Emulating a Telephone Driver)"인 U. S. 특허 출원 번호(MS304256.01/M&G50037.0199US01)에 기술되어 있다.
도 2에 도시된 예는 도 3의 참조로 이하 기술될 시스템(300)과 같은 컴퓨팅 시스템에 구현될 수 있는 애플리케이션 검사/개발 시스템(200)을 도시한다. 애플리케이션 검사/개발 시스템(200)은 하나 이상의 애플리케이션(205), RIL 프록시(207), 및 장치 에뮬레이터(210)를 포함한다. 장치 에뮬레이터(210)는 RIL 에뮬레이터(215), 라디오 에뮬레이터(225), 네트워크 에뮬레이터(230) 및 SIM 에뮬레이터(235)를 포함한다.
상술한 바와 같이, 애플리케이션(205)은 전화번호부, 달력, 웹 브라우저 등과 같은 다양한 가능한 소프트웨어 애플리케이션 중 하나 이상을 포함할 수 있다. 이들 애플리케이션(205)은 애플리케이션 검사/개발 시스템(200)에 의해 실행되어 애플리케이션(205)이 검사되고 디버깅된다.
실행 중에, 애플리케이션(205)은 RIL 프록시(207)와 대화하며, 그 다음 RIL 프록시(207)는 장치 에뮬레이터(210)의 RIL 드라이버 에뮬레이터(215)와 대화한다. 상술한 바와 같이, RIL 프록시(207)는 애플리케이션(205)에게 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의 하나 이상의 특징을 나타내는 구성 데이터를 판독하는 단계, 에뮬레이션의 실행을 초기화하는 단계, RIL로부터 SIM의 자원을 액세스하라는 SIM 명령을 수신하는 단계, 구성 데이터에 기반하여 실제 SIM의 동작과 동일한 방식으로 SIM 명령을 처리하는 단계, 및 SIM 명령 및 이 명령의 처리에 관련된 데이터를 로깅하는 단계를 포함한다. 이들 동작의 더욱 상세한 내용도 도 5 내지 도 7을 참조하여 이하 기술될 것이다.
도 3은 본 발명의 실시예가 구현될 수 있는 적절한 컴퓨팅 시스템 환경의 일례를 도시한다. 이 시스템(300)은 웹사이트 서비스에서 재지정자(redirector) 및/또는 서버로 작용하는 데에 이용될 수 있는 것들 중 하나를 대표한다. 가장 기본적인 구성에서, 시스템(300)은 통상적으로 적어도 하나의 프로세싱 유닛(302) 및 메모리(304)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 메모리(304)는 (RAM과 같은) 휘발성, (ROM, 플래쉬 메모리, 등과 같은) 비휘발성 또는 이 둘의 몇몇의 조합일 수 있다. 이러한 가장 기본적인 구성은 도 3에서 점선(306)으로 도시된다. 또한, 시스템(300)은 추가적인 특징/기능도 가질 수 있다. 예를 들면, 장치(300)는 자기 디스크, 광 디스크 또는 테이프(이에 한정되지 않는다)를 포함하는 추가적인 저장 장치(분리형(removable) 및/또는 비분리형(non-removable)) 또한 포함할 수 있다. 이러한 추가적인 저장 장치는 분리형 저장 장치(308) 및 비분리형 저장 장치(310)로 도 3에서 도시된다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 메모리(304), 분리형 저장 장치(308), 및 비분리형 저장 장치(310)는 컴퓨터 저장 매체의 모든 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 기술, CD-ROM, DVD, 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치, 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데에 이용될 수 있고 시스템(300)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만 이에 한정되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체는 시스템(300)의 일부일 수 있다.
시스템(300)은 시스템을 다른 장치와 통신하도록 하는 통신 접속(들)(312) 또한 포함할 수 있다. 통신 접속(들)(312)은 통신 매체의 일례이다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 본 명세서에서 사용하는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘다를 포함한다.
시스템(300)은 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 등과 같은 입력 장치(들)(314)를 가진다. 디스플레이, 스피커, 프린터, 등과 같은 출력 장치(들)(316)도 포함된다. 이들 장치 모두는 본 기술 분야에서 잘 알려졌으며 본 명세서에서 길게 논의될 필요가 없다.
시스템(300)과 같은, 컴퓨팅 장치는 통상적으로 컴퓨터 판독가능 매체의 적어도 몇몇의 형태를 포함한다. 컴퓨터 판독가능 매체는 시스템(300)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만 이에 한정되지 않는다.
도 4는 본 발명의 일 실시예에 따른 SIM을 에뮬레이팅하는 시스템의 주 기능적 컴포넌트를 도시한다. 이러한 예에서, SIM 에뮬레이터(400)는 제어 모듈(420), 구성 데이터(435), 구성 관리자(440), SIM 명령 처리 모듈(405), SIM 보안 에뮬레이터(415), SIM 파일 시스템 에뮬레이터(430), 하나 이상의 로그(425), 및 선택적인 SIM 툴킷 에뮬레이터(410)를 포함한다.
SIM 에뮬레이터를 수행하기 이전에, 사용자는 구성 관리자(440)를 사용하여 구성 데이터(435)를 설정한다. 상술했듯이, 구성 데이터(435)는 XML파일, 텍스트 파일 또는 다른 포맷의 형태일 수 있다. 구성 데이터(435)는 에뮬레이팅될 실제 SIM의 하나 이상의 특징을 나타낸다. 예를 들면, 구성 데이터는 SIM 명령에 관련된 함수를 수행하는 시간 지연과 같은, 실제 SIM의 동작 특징을 나타내는 하나 이상의 파라미터를 포함할 수 있다. 즉, 시간 지연은 명령마다 또는 파일마다 지시될 수 있다. 다른 예에서, 구성 데이터는 SIM의 파일 시스템에 저장되는 전화번호부 엔트리와 같은 하나 이상의 데이터 파일들을 포함할 수 있다.
명백히 기술될 바와 같이, 구성 데이터(435)는 에뮬레이션의 실행 중에 변경되고 갱신될 수 있다. 예를 들면, 검사를 수행하는 오퍼레이터(operator)는 데이터를 변경하여 검사를 바꿀 수 있다. 또한, 구성 데이터(435)를 액세스하는 기록 명령과 같은 SIM 명령이 에뮬레이션의 실행 중에 구성 데이터(435) 또한 변경할 수 있다.
제어 모듈(420)은 구성 데이터(435)를 판독한다. 제어 모듈(420)은 구성 데이터(435)를 사용하여 SIM 에뮬레이터(400)의 다른 컴포넌트를 설정한다. 그 다음 제어 모듈(420)은 에뮬레이션의 실행을 초기화한다. 몇몇의 경우에서, 제어 모듈(420)은 후에, 에뮬레이션의 실행 중에, 주기적으로 또는 몇몇의 이벤트에 응답하여 구성 데이터(435)를 판독하고 SIM 에뮬레이터(400)의 다른 컴포넌트를 설정하여 구성 데이터(435)의 임의의 변경을 반영할 수 있다.
SIM 에뮬레이션의 실행 중에, SIM 명령 처리 모듈(405)은 실제 라디오 또는 에뮬레이션된 라디오로부터 SIM 명령을 수신하여 SIM 에뮬레이터(400)의 자원을 액세스할 수 있다. 예를 들면, SIM 명령 처리 모듈(405)은 RIL로부터 라디오를 통하여 파일 시스템의 데이터를 판독하고 기록하라는 SIM 명령을 수신할 수 있다. 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)로부터의 데이터를 포함하는 하나 이상의 데이터 파일을 포함할 수 있다. 예를 들면, 구성 데이터(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)는 또한 하나 이상의 로그(425)를 포함한다. 로그(425)는 제어 모듈(420)에 의해 기록될 수 있다. 예를 들면, 제어 모듈은 SIM 명령 및 이들 명령어에 대한 응답을 기록할 수 있다. 몇몇의 경우에서, 응답 데이터 및 SIM 명령의 처리에 관련된 다른 데이터 또한 기록될 수 있다.
선택적인 SIM 툴킷 에뮬레이터(410)는 통상적인 SIM 툴킷 프로그램을 포함하는 SIM 툴킷을 제공할 수 있다. 예를 들면, 툴킷은 메세지를 디스플레이하거나 지정된 이벤트의 발생 시에 사운드를 재생하도록 하며, 무선 상에서 무선 애플리케이션 프로토콜(Wireless Application Protocol: WAP) 규정 시나리오들을 검사하고, 무선 상에서 소프트웨어 업그레이드를 시뮬레이션하는 프로그램 또는 실제 SIM의 프로세서에서 정상적으로 실행되는 다른 애플리케이션을 포함할 수 있다. 일반적으로 말하면, SIM 툴킷 에뮬레이터(410)는 검사될 에뮬레이팅된 SIM 애플리케이션에 부착할 수 있는 고리(hook)를 제공한다. 모바일 장치 상의 애플리케이션은 적절한 SIM 명령을 이용하여 제어 모듈(420)을 통해 언제든지 에뮬레이팅된 SIM 애플리케이션과 통신할 수 있다. 이러한 SIM 명령을 수신할 때에, 제어 모듈(420)은 이 명령을 SIM 툴킷 에뮬레이터(410)에 전달한다. SIM 에뮬레이터(400)의 다른 컴포넌트에서와 같이, 구성 데이터(435)는 지연 시간 등과 같은 SIM 툴킷의 특징을 지정하는 데에 이용될 수 있다. 또한, 제어 모듈(420)은 이후의 검색을 위하여 로그(425)에 툴킷에 관련된 SIM 명령을 기록할 수 있다.
마지막으로, SIM 에뮬레이터(400)는 또한 구성 데이터(435)에 기반하여 SIM 에러를 시뮬레이션할 수 있다. 즉, 구성 데이터(435)는 임의로, 지시된 시간에, 또는 지정된 이벤트에 응답하여 SIM 에뮬레이터(400)의 제어 모듈(420)에 의하여 생성될 하나 이상의 에러를 지시할 수 있다. 이러한 시뮬레이션된 에러는 이러한 에러를 처리하는 애플리케이션 기능들을 검사함으로써 검사되는 애플리케이션의 기능을 보다 철저히 검사하도록 돕는다.
에러 시뮬레이션의 상세한 내용은 도 8을 참조하여 이하 논의될 것이다. 일반적으로 말하면, 명령들이 RIL로부터 라디오를 통하여 수신되면, 제어 모듈(420)은 소정의 명령 또는 명령들의 캡슐화된 클래스가 구성 데이터(435)에 의해 실패한 것으로 규정될지 여부를 판정하는 에러 시뮬레이션 모듈(445)로 그 명령을 전달한다. 이들 규정은, 실패 이전에 성공해야할 호출의 횟수, 임의의 실패의 가능성, 실패 이전의 지연 시간 등과 같은, 그 실패에 대한 특정 조건을 포함할 수 있다. 에러 시뮬레이션 모듈(445)이 들어오는 명령이 실패한 것으로 판정하면, 구성 데이터(435)에 의해 지시된 에러 코드가 리턴된다. 에러 코드 예는 "SIM 존재하지 않음", "SIM 시스템 결함", 등을 포함할 수 있다. 에러 코드는 에러 시뮬레이션 모듈(445)로부터 제어 모듈(420)로 리턴되고, 그 다음 제어 모듈(420)은 라디오를 통해 RIL로 에러를 리턴한다. 실패한 명령은 제어 모듈(420)이 회수하여 임의의 다른 모듈을 통해 전달되지 않는다. 또한, 구성 데이터(435)에 기반하여 에러 시뮬레이션 모듈(445)은 SIM 부재 에러, SIM 과부하 에러, 등과 같은 에러 이벤트를 자동적으로 트리거할 수도 있다. 그러나 에러는 애플리케이션이 존재하지 않는 파일 을 액세스하려 할 때의 SIM 파일 시스템 에뮬레이터(430), 또는 애플리케이션이 잘못된 즉, 허가되지 않은 PIN을 사용할 때의 SIM 보안 애뮬레이터 등의, 다른 모듈에서 생성될 수도 있음을 유의한다.
본 발명의 다양한 실시예의 논리적인 동작은 (1) 컴퓨팅 시스템 상에서 실행되는 일련의 컴퓨터로 구현되는 행위 또는 프로그램 모듈 및/또는 (2) 컴퓨팅 시스템 내에 내부 접속된 기계 논리 회로 또는 회로 모듈로 구현된다. 이 구현은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요구 사항에 따라서 달라지는 선택적 사항이다. 따라서, 본 명세서에서 기술되는 본 발명의 실시예를 구성하는 논리적인 동작은 동작들, 구조적인 장치, 행위 또는 모듈로 다양하게 칭한다. 본 기술 분야 숙련된 기술을 가진 자들은 특허 청구 범위에서 인용된 본 발명의 사상 및 범위로부터 벗어나지 않고 이들 동작, 구조적 장치, 행위 및 모듈이 소프트웨어, 펌웨어, 특정 용도의 디지털 논리, 및 그것들의 임의의 조합에서 구현될 수 있다고 인식할 것이다.
도 5는 본 발명의 일 실시예에 따른 SIM 에뮬레이션을 도시하는 흐름도이다. 이 예에서, 동작은 판독 동작(500)으로 시작한다. 판독 동작(500)은 실제 SIM의 하나 이상의 특징을 나타내는 구성 데이터를 판독하는 동작을 포함한다. 상술한 바와 같이, 구성 데이터는 SIM의 동작 특성을 나타내는 하나 이상의 파라미터를 포함할 수 있다. 에뮬레이션의 실행에 대한 하나 이상의 파라미터 중 하나는 SIM 명령에 관련된 기능을 수행하는 시간 지연을 포함할 수 있다. 또한, 구성 데이터는 SIM의 파일 시스템에 저장될 하나 이상의 데이터 파일을 포함할 수 있다. 구성 데이터는 XML 파일, 텍스트 파일, 또는 이용에 편리한 포맷의 형태일 수 있다. 다른 실시예에서, SIM 에뮬레이터는 실제 SIM과 관련된 소정의 구성 데이터를 가지고 있어 어떠한 판독 동작도 필요하지 않는다. 중요한 것은 SIM 에뮬레이터가 적절한 구성 데이터를 판독하거나 그 데이터로 인코딩되는 것이다.
그 다음, 초기화 동작(505)이 에뮬레이션의 실행을 초기화한다. 즉, 구성 데이터가 사용되어 SIM 에뮬레이션을 설정함으로써 에뮬레이션이 에뮬레이션되는 실제 SIM과 동일한 방식으로 행동할 것이다. 예를 들면, 다른 유형의 SIM마다 다른 특징 및 행위가 나타나는 SIM 에뮬레이터의 코드에서의 변수들을 구성 데이터로부터의 값들로 설정할 수 있다.
수신 동작(510)에서 SIM 에뮬레이터는 라디오를 통해 RIL로부터 SIM의 자원을 액세스하라는 명령을 수신한다. 명령의 특성에 따라, 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에서와 같이 파일 시스템에서 각 파일에 대하여 보유되는 액세스 제어 리스트(Access Control List: 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)은 명령의 포맷, 명령에 관련된 하나 이상의 파라미터를 평가함으로써, 또는 명령이나 명령들의 캡슐화된 클래스가 실패한 것으로 규정되었다는 구성 데이터의 지시로 명령이 "잘못된" 명령인지 여부를 판정한다. 명령이 잘못된 명령으로 간주되지 않아야 한다는 판정이 이루어지면, 제어는 질의 동작(835)으로 전달된다. 그러나, 명령이 잘못된 명령이라고 간주되어야 한다는 판정이 이루어지면, 제어는 리턴 동작(810)으로 전달된다. 리턴 동작(810)은 잘못된 명령 에러 코드를 리턴하는 동작을 포함한다.
질의 동작(835)은 임의 에러가 생성되었는지 여부를 판정하는 동작을 포함한다. 이 판정은, 예를 들면, 임의 숫자 생성기를 기반할 수 있는데, 이 생성기에 대한 파라미터가 구성 데이터에 저장된다. 임의 에러가 생성되지 않았다는 판정이 이루어지면, 제어는 질의 동작(845)으로 전달한다. 그러나, 임의 에러가 생성되었다는 판정이 이루어지면, 제어는 리턴 동작(840)으로 전달된다. 리턴 동작(840)은 생성된 임의 에러에 기반하여 에러 코드를 리턴하는 동작을 포함한다. 에러 코드는 구성 데이터에 저장된 복수의 가능한 에러들 중 하나일 수 있다. 또한, 이 복수의 가능한 에러로부터 리턴되는 정확한 에러 코드는 임의 숫자 생성기에 의해 생성된 값에 기반할 수 있다.
질의 동작(845)은 구성 데이터에 저장된, 수신된 명령에 응답하기 위한 지연 시간이 그 구성 데이터에 또한 저장된, 이 응답에 대한 제한을 초과하는지 여부를 판정하는 동작을 포함한다. 즉, 명령 지연 시간과 그 지연 시간에 대한 제한과의 비교가 이루어진다. 상술했듯이, 구성 데이터에 지시된 지연 시간은 특정 명령 또는 특정 파일과 관련될 수 있다. 지연 시간이 제한을 초과한다면, 제어는 리턴 동작(850)으로 전달된다. 리턴 동작(850)은 타임 아웃 에러를 리턴하는 동작을 포함할 수 있다.
본 발명은 컴퓨터 구조적 특징 및 방법론적인 행위로 특정된 언어로, 컴퓨터 판독가능 매체에 의해 기술되었지만, 특허 청구 범위에 정의된 본 발명은 기술된 특정 구조, 행위 또는 매체에 반드시 제한되지 않는다고 이해되어야 한다. 예로서, SIM 에뮬레이터는 실제 장치, 에뮬레이팅된 장치, 또는 실제 또는 에뮬레이팅된 컴포넌트의 몇몇의 조합을 포함하는 다양한 환경에 이용될 수 있다. 또한, 구성 데이터는 자신의 포맷 및 컨텐츠를 상당량 변경할 수 있다. 그러므로, 특정 구조적 특징, 행위 및 매체는 청구된 발명을 구현하는 예시적인 실시예로서 개시된다.
상기 기술된 다양한 실시예는 단지 예시로서 제공되었으며 본 발명을 한정짓는 것으로 해석되어서는 안된다. 본 기술 분야에서 숙련된 기술을 가진 자라면 본 명세서에서 도시되고 기술된 예시적인 실시예 및 애플리케이션을 따르지 않고, 특허 청구 범위에서 설명되는, 본 발명의 진정한 사상 및 범위를 벗어나지 않으면서, 본 발명에 이루어질 수 있는 다양한 수정 및 변경을 쉽게 인식할 것이다.
본 발명에 따르면, SIM 장치를 에뮬레이팅하는 방법 및 시스템이 상술한 문제 및 그 밖의 문제들을 해결한다. 이들 방법 및 시스템을 사용하면, 모바일 장치에서 이용되는 애플리케이션은 실제 SIM이 아닌 에뮬레이팅된 SIM을 이용하여 검사될 수 있다. SIM 에뮬레이터는 구성 데이터를 통해 설정되고 에뮬레이팅되는 실제 SIM과 동일한 방식으로 동작한다. 실제 SIM을 이용하는 것과 같은 방식으로 SIM 에뮬레이터를 사용함으로써 애플리케이션이 실행되고 검사될 수 있다. 또한, SIM 에뮬레이터는 SIM 에러를 검사하고 시뮬레이션하는 동안 데이터를 로깅(log)함으로써 애플리케이션을 검사하고 디버깅(debug)하는 것을 더 도울 수 있다.
도 1은 본 발명의 실시예가 구현될 수 있는 모바일 장치의 기능적 컴포넌트를 도시.
도 2는 본 발명의 실시예가 구현될 수 있는 모바일 장치를 에뮬레이팅(emulate)하는 시스템의 기능적 컴포넌트를 도시.
도 3은 본 발명의 실시예가 구현될 수 있는 적절한 컴퓨팅 시스템 환경의 일례를 도시.
도 4는 본 발명의 실시예에 따른 가입자 식별 모듈(Subscriber Identification Module: SIM)을 에뮬레이팅하는 시스템의 기능적 컴포넌트를 도시.
도 5는 본 발명의 실시예에 따른 SIM 에뮬레이션을 도시하는 흐름도.
도 6은 도 5에 도시된 SIM 에뮬레이션의 또 다른 실시예에 따른 SIM 파일 시스템 명령어 처리를 도시하는 흐름도.
도 7은 도 5에 도시된 SIM 에뮬레이션의 또 다른 실시예에 따른 SIM 보안 시스템 명령 처리를 도시하는 흐름도.
도 8은 본 발명의 실시예에 따른 에러 시뮬레이션을 도시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100: 모바일 장치
110: RIL
115: RIL 드라이버
125: SIM 에뮬레이터
130: 네트워크
225: 라디오 에뮬레이터
302: 프로세싱 유닛
304: 시스템 메모리
405: SIM 명령 처리 모듈
415: SIM 보안 에뮬레이터
435: 구성 데이터

Claims (39)

  1. 가입자 식별 모듈(Subscriber Identification Module: SIM)을 에뮬레이팅(emulate)하는 방법에 있어서,
    상기 SIM의 하나 이상의 특징을 나타내는 구성 데이터를 판독하는 단계,
    에뮬레이션의 실행을 초기화하는 단계,
    상기 SIM의 자원을 액세스하라는 SIM 명령을 라디오 인터페이스 계층(Radio Interface Layer: RIL)으로부터 수신하는 단계,
    상기 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 상기 SIM 명령을 처리하는 단계,
    상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 구성 데이터는 SIM의 동작 특징을 나타내는 하나 이상의 파라미터를 포함하는 방법.
  3. 제2항에 있어서,
    상기 에뮬레이션의 실행을 위한 상기 하나 이상의 파라미터 중 하나는 상기 SIM 명령에 관련된 기능을 수행하기 위한 시간 지연을 포함하는 방법.
  4. 제1항에 있어서,
    상기 구성 데이터는 상기 SIM의 파일 시스템에 저장될 하나 이상의 데이터 파일을 포함하는 방법.
  5. 제1항에 있어서,
    상기 RIL로부터 SIM 명령을 수신하는 단계는 상기 SIM 명령에 관련된 데이터를 수신하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 SIM 명령이 상기 SIM의 파일 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 단계는
    상기 SIM 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 단계, 및
    상기 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 파일 시스템에서 데이터를 액세스하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    상기 SIM 명령이 상기 SIM의 보안 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 단계는
    상기 SIM 보안 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 단계, 및
    상기 SIM 보안 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 보안 시스템의 기능을 수행하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 단계
    를 포함하는 방법.
  8. 제6항에 있어서,
    상기 SIM 파일 시스템에서 데이터를 액세스하는 단계에 기반하여 응답 코드를 리턴하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 응답 코드와 관련된 응답 데이터를 리턴하는 단계를 더 포함하는 방법.
  10. 제6항에 있어서,
    상기 SIM 보안 시스템에서 데이터를 액세스하는 단계에 기반하여 응답 코드를 리턴하는 단계를 더 포함하는 방법.
  11. 제9항에 있어서,
    상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하는 단계는 상기 SIM 명령, 상기 응답 코드, 및 상기 응답 데이터를 기록하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서,
    상기 구성 데이터에 기반하여 SIM 에러들을 시뮬레이션하는 단계를 포함하는 방법.
  13. 제1항에 있어서,
    구성 데이터의 제2 세트를 판독하고 상기 구성 데이터의 제2 세트에 기반하여 상기 SIM의 동작과 동일한 방식으로 후속 SIM 명령을 처리하는 단계를 더 포함하는 방법.
  14. 가입자 식별 모듈(SIM)을 에뮬레이팅하는 시스템에 있어서,
    프로세서, 및
    상기 프로세서에 연결되고 상기 프로세서에 의해 판독가능한 메모리를 포함하고,
    상기 메모리는 상기 프로세서에 의해 실행될 때,
    상기 프로세서로 하여금 상기 SIM의 하나 이상의 특징을 나타내는 구성 데이터를 판독하고, 에뮬레이션의 실행을 초기화하고, 상기 SIM의 자원을 액세스하라는 SIM 명령을 라디오 인터페이스 계층(RIL)으로부터 수신하고, 상기 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 상기 SIM 명령을 처리하고, 상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하도록 하는 일련의 명령어를 포함하는 시스템.
  15. 제14항에 있어서,
    상기 구성 데이터는 SIM의 동작 특징을 나타내는 하나 이상의 파라미터를 포함하는 시스템.
  16. 제15항에 있어서,
    상기 에뮬레이션의 실행을 위한 상기 하나 이상의 파라미터 중 하나는 상기 SIM 명령에 관련된 기능을 수행하기 위한 시간 지연을 포함하는 시스템.
  17. 제14항에 있어서,
    상기 구성 데이터는 상기 SIM의 파일 시스템에 저장될 하나 이상의 데이터 파일을 포함하는 시스템.
  18. 제14항에 있어서,
    상기 RIL로부터 SIM 명령을 수신하는 동작은 상기 SIM 명령과 관련된 데이터를 수신하는 동작을 포함하는 시스템.
  19. 제14항에 있어서,
    상기 SIM 명령이 상기 SIM의 파일 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 동작은
    상기 SIM 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 동작, 및
    상기 SIM 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 파일 시스템의 데이터를 액세스하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 동작
    을 포함하는 시스템.
  20. 제14항에 있어서,
    상기 SIM 명령이 상기 SIM의 보안 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 동작은
    상기 SIM 명령 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 동작, 및
    상기 SIM 보안 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 보안 시스템의 기능을 수행하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 동작
    을 포함하는 시스템.
  21. 제19항에 있어서,
    상기 SIM 파일 시스템에서 데이터를 액세스하는 동작에 기반하여 응답 코드를 리턴하는 동작을 더 포함하는 시스템.
  22. 제21항에 있어서,
    상기 응답 코드와 관련된 응답 데이터를 리턴하는 동작을 더 포함하는 시스템.
  23. 제19항에 있어서,
    상기 SIM 보안 시스템에 데이터를 액세스하는 동작에 기반하여 응답 코드를 리턴하는 동작을 더 포함하는 시스템.
  24. 제23항에 있어서,
    상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하는 동작은 상기 SIM 명령, 상기 응답 코드, 및 상기 응답 데이터를 기록하는 동작을 포함하는 시스템.
  25. 제14항에 있어서,
    상기 구성 데이터에 기반하여 SIM 에러들을 시뮬레이션하는 동작을 더 포함하는 시스템.
  26. 제14항에 있어서,
    구성 데이터의 제2 세트를 판독하고 상기 구성 데이터의 제2 세트에 기반하여 상기 SIM의 동작과 동일한 방식으로 후속 SIM 명령을 처리하는 동작을 더 포함하는 시스템.
  27. 가입자 식별 모듈(SIM)을 에뮬레이팅하는 컴퓨터 프로세스를 실행하는 컴퓨터 프로그램 명령어들을 인코딩하는 컴퓨터 판독가능 매체에 있어서,
    상기 컴퓨터 프로세스는
    상기 SIM의 하나 이상의 특징을 나타내는 구성 데이터를 판독하는 동작,
    에뮬레이션의 실행을 초기화하는 동작,
    상기 SIM의 자원을 액세스하라는 SIM 명령을 라디오 인터페이스 계층(RIL)으로부터 수신하는 동작,
    상기 구성 데이터에 기반하여 상기 SIM의 동작과 동일한 방식으로 상기 SIM 명령을 처리하는 동작, 및
    상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하는 동작
    을 포함하는 컴퓨터 판독가능 매체.
  28. 제27항에 있어서,
    상기 구성 데이터는 SIM의 동작 특징을 나타내는 하나 이상의 파라미터를 포함하는 컴퓨터 판독가능 매체.
  29. 제28항에 있어서,
    상기 에뮬레이션의 실행을 위한 상기 하나 이상의 파라미터 중 하나는 상기 SIM 명령에 관련된 기능을 수행하기 위한 시간 지연을 포함하는 컴퓨터 판독가능 매체.
  30. 제27항에 있어서,
    상기 구성 데이터는 상기 SIM의 파일 시스템에 저장될 하나 이상의 데이터 파일을 포함하는 컴퓨터 판독가능 매체.
  31. 제27항에 있어서,
    상기 RIL로부터 SIM 명령을 수신하는 동작은 상기 SIM 명령에 관련된 데이터를 수신하는 동작을 포함하는 컴퓨터 판독가능 매체.
  32. 제27항에 있어서,
    상기 SIM 명령이 상기 SIM의 파일 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 동작은
    상기 SIM 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 동작, 및
    상기 SIM 파일 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 파일 시스템에서 데이터를 액세스하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 동작
    을 포함하는 컴퓨터 판독가능 매체.
  33. 제27항에 있어서,
    상기 SIM 명령이 상기 SIM의 보안 시스템을 액세스하라는 명령인 것에 응답하여, 상기 SIM 명령을 처리하는 동작은
    상기 SIM 보안 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었는지 여부를 판정하는 동작, 및
    상기 SIM 보안 시스템으로의 액세스가 상기 SIM 명령에 대하여 허가되었다는 판정에 응답하여, 상기 SIM 명령 및 상기 구성 데이터에 기반하여 상기 SIM 보안 시스템의 기능을 수행하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했는지 여부를 판정하고, 상기 구성 데이터가 상기 SIM 명령에 대한 지연 시간을 지시했다는 판정에 응답하여, 상기 구성 데이터에 지정된 시간 동안 정지하는 동작
    을 포함하는 컴퓨터 판독가능 매체.
  34. 제32항에 있어서,
    상기 SIM 파일 시스템에서 데이터를 액세스하는 단계에 기반하여 응답 코드를 리턴하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
  35. 제34항에 있어서,
    상기 응답 코드에 관련된 응답 데이터를 리턴하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
  36. 제32항에 있어서,
    상기 SIM 보안 시스템에서 데이터를 액세스하는 동작에 기반하여 응답 코드를 리턴하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
  37. 제35항에 있어서,
    상기 SIM 명령 및 상기 명령의 처리에 관련된 데이터를 로깅하는 동작은 상기 SIM 명령, 상기 응답 코드, 및 상기 응답 데이터를 기록하는 동작을 포함하는 컴퓨터 판독가능 매체.
  38. 제27항에 있어서,
    상기 구성 데이터에 기반하여 SIM 에러들을 시뮬레이션하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
  39. 제27항에 있어서,
    구성 데이터의 제2 세트를 판독하고 상기 구성 데이터의 제2 세트에 기반하여 상기 SIM의 동작과 동일한 방식으로 후속 SIM 명령을 처리하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
KR1020040105466A 2003-12-15 2004-12-14 가입자 식별 모듈(sim)을 에뮬레이팅하는 방법,시스템, 및 컴퓨터 판독가능 매체 KR20050060013A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR20050060013A true KR20050060013A (ko) 2005-06-21

Family

ID=34523135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040105466A KR20050060013A (ko) 2003-12-15 2004-12-14 가입자 식별 모듈(sim)을 에뮬레이팅하는 방법,시스템, 및 컴퓨터 판독가능 매체

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2723895C1 (ru) * 2019-09-23 2020-06-18 Общество с ограниченной ответственностью "Крокс Плюс" Устройство удалённого подключения sim-карт

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 百度在线网络技术(北京)有限公司 移动终端的骚扰拦截功能的测试方法和装置
US9756452B2 (en) * 2013-09-16 2017-09-05 Qualcomm Incorporated Presence and on-device proxying
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仿真技术
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
RU2723895C1 (ru) * 2019-09-23 2020-06-18 Общество с ограниченной ответственностью "Крокс Плюс" Устройство удалённого подключения sim-карт

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
JP2005182798A (ja) 2005-07-07
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
CN108984389B (zh) 一种应用程序测试方法及终端设备
US7778801B2 (en) Automated test script for communications server
US20060101404A1 (en) Automated system for tresting a web application
CN105808399A (zh) 一种远程调试的方法和装置
JP2005122725A (ja) スマートメモリパススルー通信のための方法及び装置
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN109831351B (zh) 链路跟踪方法、装置、终端及存储介质
CN107391362A (zh) 应用测试方法、移动终端及存储介质
CN114065204A (zh) 一种无文件木马查杀方法及装置
CN112948234B (zh) 接口测试方法、装置及电子设备
KR20070015999A (ko) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
EP1977342A1 (en) Analyzing interpretable code for harm potential
CN113297084A (zh) 一种测试方法、***、电子设备及存储介质
Usman et al. Test case generation from android mobile applications focusing on context events
US20080154574A1 (en) Application emulation on a non-production computer system
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN110737900A (zh) 网页功能测试方法及装置、服务器和计算机可读存储介质
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN112860224B (zh) 一种函数执行环境构建方法、装置、电子设备及存储介质
CN111858310B (zh) 一种基于源代码的动态测试的方法、***、设备及介质
CN114861183A (zh) 一种文档宏安全检测方法、装置、电子设备及存储介质
US8898636B1 (en) Method and apparatus for testing an application running in a virtual machine
US20030105885A1 (en) Capturing command execution status

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid