KR20180091887A - 모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 기법 - Google Patents

모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 기법 Download PDF

Info

Publication number
KR20180091887A
KR20180091887A KR1020187019409A KR20187019409A KR20180091887A KR 20180091887 A KR20180091887 A KR 20180091887A KR 1020187019409 A KR1020187019409 A KR 1020187019409A KR 20187019409 A KR20187019409 A KR 20187019409A KR 20180091887 A KR20180091887 A KR 20180091887A
Authority
KR
South Korea
Prior art keywords
magnetic
output signals
magnetometer output
digital magnetometer
mobile device
Prior art date
Application number
KR1020187019409A
Other languages
English (en)
Other versions
KR101989488B1 (ko
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 KR20180091887A publication Critical patent/KR20180091887A/ko
Application granted granted Critical
Publication of KR101989488B1 publication Critical patent/KR101989488B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/0672Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with resonating marks
    • G06K19/0677Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with resonating marks the record carrier being programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes
    • G06K7/082Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors
    • G06K7/083Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive
    • G06K7/084Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive sensing magnetic material by relative movement detecting flux changes without altering its magnetised state
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/02Magnetic compasses
    • G01C17/28Electromagnetic compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/02Measuring direction or magnitude of magnetic fields or magnetic flux
    • G01R33/0206Three-component magnetometers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06187Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with magnetically detectable marking
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/80Data visualisation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • G16H10/65ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records stored on portable record carriers, e.g. on smartcards, RFID tags or CD
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/60ICT specially adapted for the handling or processing of medical references relating to pathologies
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Environmental & Geological Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Electromagnetism (AREA)
  • Geology (AREA)
  • Chemical & Material Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Pathology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measuring Magnetic Variables (AREA)
  • Telephone Function (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

모바일 장치에 의해 자기 정보를 판독하기 위한 기법이 제시된다. 모바일 장치는, 자기 스와이프 카드를 스와이핑하기 위한 집적 표면을 갖는 하우징과, 하우징 내에 위치하고, 자계의 방향 및 강도를 검출하여 다양한 소스로부터 자기 정보를 판독하고 디지털 자력계 출력 신호를 생성하기 위한 자력계를 포함한다. 디지털 자력계 출력 신호들은 자기 스와이프 카드 및 지구 자계(또는 다른 소스)로부터 도출된 자기 정보를 나타낸다. 디지털 자력계 출력 신호들의 각각은 검출된 자계의 강도와 관련된 크기를 갖는다. 모바일 장치는 디지털 자력계 출력 신호들 중 적어도 일부가 자기 스와이프 카드로부터 도출된 자기 정보 및/또는 지구 자계를 나타내는지 판정하고 해당 정보를 처리를 위해 자기 카드 애플리케이션에 제공한다.

Description

모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 기법
관련 출원에 대한 참조
본 출원은 2015년 12월 9일에 출원된 미국 특허 출원 제 14/963,639 호의 우선권의 이점을 주장하며, 그 전체는 참조로써 본원에 포함된다.
기술분야
본 개시물의 실시예들은 일반적으로 데이터 처리에 관한 것으로, 보다 구체적으로, 모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 방법 및 시스템에 관한 것이나 이로 제한되는 것은 아니다.
전통적으로, 스마트폰과 같은 모바일 장치는 나침반과 같은 자력계를 포함한다. 예를 들어, 아이폰 3GS에서부터 모든 아이폰은 내장형 자력계를 구비한다. 아이폰 내의 자력계(예를 들어, 나침반)는 아이폰이 위치한 방향을 찾는데 사용된다. 범지구 위치결정 시스템(global positioning systems: GPS)과 함께, 아이폰이 위치한 방향을 앎으로써(지구의 자계의 방향을 측정함으로써), 사용자가 자신의 아이폰으로 내비게이션 앱을 사용할 수 있게 한다.
첨부된 도면 중 다양한 도면들은 단지 본 개시물의 예시적인 실시예를 예시하는 것일 뿐 본 개시물의 범위를 제한하는 것으로 여겨져서는 안 된다.
도 1은 일부 예시적인 실시예들에 따라 자기 스와이프 카드로부터 자기 정보를 판독하고 다양한 애플리케이션의 자기 정보를 이용하는 시스템을 도시하는 고수준 블록도이다.
도 2는 예시적인 실시예에 따라 금융 거래에 사용되는 자기 스와이프 카드 상의 자기 스트라이프에 관한 일례를 도시한다.
도 3a 및 도 3b는 일 예시적인 실시예에 따라 자기 정보를 판독하기 위한 자력계를 포함하는 모바일 장치를 도시한다.
도 4는 일 예시적인 실시예에 따른 전자 나침반 집적 회로를 도시한다.
도 5는 일 예시적인 실시예에 따라 자기 카드 판독기로부터 자기 카드 정보를 검출하기 위한 방법에 관한 흐름도를 도시한다.
도 6은 다른 예시적 실시예에 따라 자기 카드 판독기로부터 자기 카드 정보를 검출하기 위한 방법에 관한 흐름도를 도시한다.
도 7은 일부 예시적인 실시예들에 따라 네트워크화된 시스템을 도시하는 블록도이다.
도 8은 일부 예시적인 실시예들에 따라 머신 상에 설치될 수 있는 소프트웨어 아키텍처에 관한 일례를 도시하는 블록도이다.
도 9는 일 예시적인 실시예에 따라 머신으로 하여금 본원에 설명된 방법들 중 임의의 하나 이상의 방법을 수행하게 하도록 하기 위해 명령어 세트가 실행될 수 있는 컴퓨터 시스템 형태의 머신의 개략도를 도시한다.
본원에 제공된 머리글은 편의를 위한 것이며 사용된 용어의 범위 또는 의미에 반드시 영향을 미치는 것은 아니다.
이하의 설명은 본 개시물의 예시적인 실시예들을 구현하는 시스템, 방법, 기법, 명령어 시퀀스, 및 컴퓨팅 머신 프로그램 제품을 포함한다. 이하의 설명에서, 설명을 위해, 본 발명의 주제의 다양한 실시예들에 대한 이해를 제공하기 위해 다수의 특정 세부사항이 설명된다. 그러나, 당업자에게는 본 발명의 주제의 실시예들이 그러한 특정 세부사항 없이 실시될 수 있음이 명백할 것이다. 일반적으로, 잘 알려진 명령어 인스턴스, 프로토콜, 구조 및 기법은 반드시 상세하게 표시되지는 않는다.
다양한 예시적인 실시예들에서, 모바일 장치는 자기 정보를 판독하기 위한 모바일 장치의 집적 표면에 걸쳐 자기 스와이프 카드를 이동시킴으로써 자기 스와이프 카드 상의 자기 스트라이프에 저장된 자기 정보를 정렬하도록 구성된 집적 표면을 갖는 하우징을 포함한다. 도 2는 금융 거래 카드(예를 들어, 신용 카드 및 직불 카드)에 대한 자기 스와이프 카드의 자기 스트라이프에 관한 예를 도시한다. 자기 스와이프 카드는 식별 카드(예를 들어, 운전 면허증), 보안 배지, 교통 티켓, 포인트 적립 카드 등으로 사용될 수도 있다. 자기 스트라이프는 자극 위치(예를 들어, 북쪽 또는 남쪽) 중 하나로 향하도록 인코딩된 철계 자성 입자의 트랙을 나타낸다. 자기 신호가 자기 스트라이프를 거쳐 판독될 때 발생하는 자화 반전(flux reversal)은 판독기(예를 들어, 자력계)에 의해 해석될 수 있는 코드를 야기한다. 따라서, 자기 스와이프 카드 상의 자기 스트라이프는 자기 물질의 스트라이프를 사용하여 디지털 데이터를 저장한다. 소량의 데이터가 스트라이프에 저장되고 카드 소유자의 이름, 계좌 번호, 유효 기간 등을 포함할 수 있다.
예시적인 실시예에서, 모바일 장치는 스마트폰이고 집적 표면은 스마트폰의 후면이다. 집적 표면은 모바일 장치 내부의 자력계 위에 적어도 부분적으로 배치된다. 자력계는 자기 판독기를 나타낸다. 일부 실시예들에서, 모바일 장치 내의 내장형 자력계는 자기 스와이프 카드가 모바일 장치의 후면에 걸쳐 스와이핑될 때 자기 스트라이프에서 자화 반전을 획득하는데 사용된다.
또 다른 실시예들에서, 내장형 자력계는 자기 스와이프 카드가 모바일 장치의 후면에 걸쳐 스와이핑될 때 자기 스트라이프에서 자화 반전을 획득하도록 조정(calibrate)될 수 있다. 다른 실시예들에서, 디지털 자력계 출력 신호는 알고리즘을 실행하는 프로세서에 의해 조정될 수 있다. 조정은 지구 자계, 이온층의 전류, 온도, 강자성 왜곡 및 연자성 왜곡과 같은 다양한 환경 요인을 설명하는 데 사용될 수 있다. 예를 들어, 지구의 자계에 대해 조정하기 위해, (예를 들어, GPS를 통해) 장치의 위치를 찾아낼 수 있는데, 이 위치는 장치의 위치를 가우스 단위(이는 테슬라로 변환될 수 있음)로 측정되는 지구 상의 해당 위치에 알려진 자기 강도와 비교하는데 사용될 수 있다. 이온층에서의 약간의 변형은 대략 0.2-0.3 mGauss(평균)의 지구 자계에 영향을 줄 수 있다. 온도 또한 자기 판독에 고려될 수 있고 알고리즘에 고려되어야 한다. 강자성 왜곡 및 연자성 왜곡은 자계 내의 물체에 기인하고, 강자성 왜곡과 연자성 왜곡 사이의 차이는 물체의 특정 물질과 관련된다. 모바일 장치와 관련하여, 자력계를 둘러싸는 내부 구성요소도 알고리즘에 고려되어야 하고 이들의 구성요소가 다양하기 때문에 장치마다 다를 수 있다. 이차 왜곡은 인체와 같은 다른 물체에서 발생할 수 있다.
또 다른 실시예들에서, 자력계는 디지털 자력계 출력 신호를 생성하기 위해 지구로부터의 자계 및 자기 카드 정보로부터의 자계의 방향 및 강도를 검출함으로써 정보를 판독하는데 사용된다. 일부 실시예들에서, 자력계는 다양한 자기 소스, 예를 들어, 자기 스와이프 카드로부터의 자기 카드 정보뿐만 아니라 지구의 자계로부터 자계를 검출할 수 있는 모바일 장치 내에 위치한 집적 회로 나침반 칩이다.
다양한 실시예들에서, 자력계는 자기 카드 정보 및 다른 자기 소스와 연관된 디지털 자력계 출력 신호를 생성한다. 일부 실시예들에서, 다른 디지털 자력계 출력 신호는 지구와 연관되거나 사람 또는 사용자의 인체와 관련된 의료 정보와 연관된 디지털 자력계 출력 신호를 나타낸다. 다른 실시예들에서, 모바일 장치 내의 프로세서는 다양한 자기 소스로부터 도출된 디지털 자력계 출력 신호를 필터링하기 위한 필터링 기능을 수행한다. 다양한 실시예들에서, 필터링은 디지털 자력계 출력 신호의 크기에 기초하여 수행될 수 있다. 다양한 실시예들에서, 디지털 자력계 출력 신호의 크기는 자력계에 의해 검출되거나 측정된 자계의 세기와 연관된다. 설명된 다양한 실시예들에서, 자계의 방향은 x, y 및 z 방향 벡터로 제시될 수 있다.
다른 실시예들에서, 자력계는 자기 카드 정보와 연관된 디지털 자력계 출력 신호 및 지구 및 자기 소스와 연관된 디지털 자력계 출력 신호를 제공하기 위한 아날로그-디지털 변환기를 포함한다.
다른 실시예들에서, 모바일 장치는 디지털 자력계 출력 신호를 수신하고, 모바일 장치 상에서 실행되는 앱과 같은 다양한 애플리케이션에서 디지털 자력계 출력 신호를 이용하기 전에 추가 처리(예를 들어, 조정, 필터링 등)를 수행할 수 있는 프로세서를 포함한다. 디지털 자력계 출력 신호는 상이한 자기 소스, 예를 들어, 자기 카드 정보, 지구, 또는 인체와 연관된 의료 정보와 연관될 수 있다. 다양한 실시예들에서, 모바일 장치의 프로세서는 어느 디지털 자력계 출력 신호가 모바일 장치 또는 몇몇 다른 컴퓨팅 장치 상에 설치되고/되거나 실행중인 어느 애플리케이션에 제공되어야 하는지를 결정한다. 예를 들어, 모바일 장치는 디지털 자력계 출력 신호를 특정 애플리케이션에 제공하기 위해 일종의 표시를 수신할 수 있다. 하나의 표시는 특정 응용 애플리케이션(예를 들어, 자기 스와이프 카드 애플리케이션)이 모바일 장치에서 열릴 때일 수 있고, 이에 따라 관련 디지털 자력계 출력 신호(예를 들어, 자기 카드 정보와 연관된 신호)가 모바일 장치 내의 프로세서에 의해 해당 애플리케이션에 송신된다.
일부 실시예들에서, 디지털 자력계 출력 신호는 자기 카드 정보와 연관되고, 모바일 장치 내의 프로세서는 자기 카드 정보와 연관된 자기 정보를 디코딩하고 모바일 장치의 프로세서가 자기 스와이프 카드 애플리케이션으로부터의 명령어를 실행하고 있을 때 자기 스와이프 카드 애플리케이션에 이용 가능한 디지털 신호를 만드는데 사용된다. 다른 실시예들에서, 디지털 자력계 출력 신호는 다른 자기 소스로부터의 다른 자기 정보와 연관되고, 모바일 장치 내의 프로세서는 모바일 장치의 프로세서가 다른 애플리케이션으로부터의 명령어를 실행하고 있을 때 다른 애플리케이션에 이용 가능한 디지털 신호를 만들도록 또한 구성된다. 다른 애플리케이션에 관한 예들은, 지구와 연관된 디지털 자력계 출력 신호를 사용하는 나침반 애플리케이션, 인체로부터의 의료 정보와 연관된 디지털 자력계 출력 신호를 사용하는 의료 애플리케이션(예를 들어, 혈액 애플리케이션 또는 체지방 애플리케이션)을 포함한다.
다른 예시적인 실시예들에서, 자기 스와이프 카드 애플리케이션의 구성요소들의 일부 또는 전부는 다른 컴퓨팅 장치 상에서 구동될 수 있고 자기 카드 정보와 연관된 디지털 자력계 출력 신호에 액세스할 수 있다.
또 다른 실시예에서, 모바일 장치를 사용하여 판독하는 자기 스트라이프 판독 방법이 설명된다. 이 방법은 자력계 위에 부분적으로 위치한 모바일 장치의 표면을 따라 자기 스와이프 카드 상의 자기 스트라이프를 스와이핑함으로써 자기 카드 정보를 판독하는 단계를 포함한다. 모바일 장치 내의 자력계는 자기 카드 정보를 판독하고 또한 다른 자기 소스(예를 들어, 지구, 인체, 전자 장치 또는 환경 내의 다른 아이템)로부터 다른 자기 정보를 검출한다. 모바일 장치 내의 자력계는 디지털 자력계 출력 신호를 생성한다. 머신의 프로세서는 디지털 자력계 출력 신호 중 적어도 일부가 인코딩된 자기 카드 정보를 나타내고, 디지털 자력계 출력 신호 중 적어도 일부는 검출된 다른 자기 정보를 나타낸다고 결정한다. 머신의 프로세서는 자기 카드 정보 애플리케이션 및 다른 자기 애플리케이션 중 적어도 하나를 실행한다. 자기 카드 정보 애플리케이션은 인코딩된 자기 카드 정보를 이용하고 다른 자기 애플리케이션은 예시적인 실시예들에서 검출된 다른 자기 정보를 이용한다.
다른 실시예에서, 모바일 장치를 사용하는 자기 스트라이프 판독 방법이 설명된다. 모바일 장치에 포함된 자력계는 자기 정보를 감지한다. 자기 정보의 적어도 일부는 머신의 프로세서에 의해 디코딩된다. 머신의 프로세서는 자기 정보를 필터링하여 자기 카드 애플리케이션과 연관된 자기 카드 정보 및 나침반 애플리케이션과 연관된 지구의 자계 정보를 결정한다. 자기 카드 애플리케이션으로부터 명령어가 머신의 프로세서 상에서 실행되는 것에 응답하여, 자기 카드 정보가 액세스된다. 나침반 애플리케이션으로부터 명령어가 머신의 프로세서 상에서 실행되는 것에 응답하여, 지구의 자계 정보가 액세스된다.
도 1은 예시적인 실시예에 따른 자기 스와이프 카드로부터 자기 정보를 판독하기 위한 시스템을 도시한다. 시스템(1000)은 네트워크(104)를 통해 네트워크 시스템(102)에 통신 가능하게 결합된 모바일 장치(1300)를 포함한다. 네트워크 시스템(102)은 하나 이상의 원격 서버 및 연관된 데이터베이스를 포함한다. 예시적인 실시예들에서, 모바일 장치(1300)는 도 7에 도시된 바와 같은 클라이언트 장치(710)를 나타낼 수도 있다. 네트워크화된 시스템(102), 네트워크(104) 및 (클라이언트 장치(710)로 표현되는) 모바일 장치(1300)는 도 7에 기술된 실시예와 관련하여 보다 상세하게 설명된다.
자기 스와이프 카드(1200)는 카드 상의 자기 물질의 밴드(자기 스트라이프 또는 마그네틱 스트라이프(magstripe)로도 지칭됨) 상에 작은 철계 자성 입자의 자성을 변경함으로써 데이터를 저장할 수 있는 카드의 유형을 나타낸다. 자기 스트라이프로부터의 데이터는 자기 판독 헤드를 지나서 자기 스트라이프를 스와이핑하여 판독된다. 자력계(1310)는 판독기로도 지칭되는 판독 헤드의 일례를 나타낸다.
도 1에 도시된 실시예에서, 사용자(1100)는 사용자가 모바일 장치(1300)에 걸쳐 스와핑하는 자기 스와이프 카드(1200)를 갖는다. 예를 들어, 모바일 장치(1300)는 자기 스와이프 카드(1200)를 후면에 걸쳐 움직임으로써 자기 스와이프 카드(1200)를 스와이핑하는데 사용될 수 있는 뒷면 또는 표면을 갖는 스마트폰을 나타낸다. 다양한 실시예들에서, 스와이핑에 사용되는 표면은 모바일 장치(1300)의 이어폰 잭 또는 다른 유형의 판독기를 통해 접속된 외부 장치(예를 들어, 동글)가 아닌 모바일 장치(1300)와 통합될 수 있다. 사용자 장치(1300)의 후면의 적어도 일부는 자기 스와이프 카드(1200)로부터 자기 카드 정보를 판독하기 위한 자력계(1310) 위에 위치된다.
모바일 장치(1300)는 내장형 자력계(1310)를 포함하고 자기 스와이프 카드(1200)에 인코딩된 자기 정보 및 자력계(1310)에 의해 감지된 다른 자기 정보를 사용할 수 있는 모바일 장치(1300)(예를 들어, 도 1에 도시됨) 상에 설치된 다양한 애플리케이션을 갖는다. 자력계(1310)에 의해 감지되거나 검출되는 다른 정보는, 예를 들어, 지구의 자계에 관련된 자기 정보, 사용자 또는 인체와 관련된 자기 정보 또는 전자 구성요소와 관련된 자기 정보를 포함할 수 있다.
다양한 자력계는 상이한 감도를 갖고 다양한 자기 소스로부터 발생하는 자계의 범위를 측정할 수 있다. 따라서, 모바일 장치 내의 자력계의 감도에 따라 어느 자계가 검출되는지가 결정된다. 자계의 다른 자기 소스 및 연관 강도(또는 크기)의 예로는 펄스 필드(예를 들어, 40 내지 60 테슬라), 전자석(예를 들어, 2 내지 5 테슬라); 지구의 장(예를 들어, 10-5 내지 10-4 테슬라), 교통, 가전제품 등(예를 들어, 10-6 내지 10-5 테슬라); 10미터 전력 송전선(예를 들어, 10-8 내지 10-7 테슬라); 인간 청력 신호(예를 들어, 10-10 내지 10-9 테슬라), 시신경 신호(예를 들어, 10-12 테슬라 내지 10-11 테슬라 사이), 및 근육 자극 및 특발성 뇌 활성도(예를 들어, 10-12의 범위)를 포함한다.
이러한 자계는 인체(예를 들어, 사람의 심장 및 뇌, 근육 자극, 시신경 신호), 자석, TV 및 컴퓨터를 포함하는 다양한 전기/전자 어플라이언스, 전력 송전선 등과 같은 다양한 자기 소스에 의해 생성될 수 있다. 지구의 자계는 또한 극에서 가장 크고(~ 60,000 나노 노트(nT)) 적도에서 가장 작다(~ 30,000 nT). 자기 스와이프 카드(1200) 이외의 다양한 소스들에 의해 생성된 자기 신호들의 이러한 예들은 본 명세서 전반에 걸쳐 다른 자기 정보로 지칭된다. 본 명세서 전반에 걸쳐 설명되는 다양한 실시예들은 상이한 소스로부터 도출된 자기 정보가 결정되거나 식별될 수 있도록 자기 정보를 필터링한다. 그 이후 필터링된 디지털 자력계 출력 신호는 관련 애플리케이션 또는 앱으로 송신된다. 다른 실시예들에서, 조정은 검출된 자력계 신호에서 (다른 소스로부터의 자계에 의해 야기된) 편차를 정정하는데 사용된다.
자력계(1310)에 의해 검출, 감지 또는 측정된 정보는 모바일 장치(1300) 상에 설치된 다수의 애플리케이션에 의해 사용될 수 있다. 도 1에 도시된 바와 같이, 예시적인 실시예에서, 모바일 장치(1300)는 모바일 장치 상에 설치되는 나침반 애플리케이션(1320), 자기 스와이프 카드 애플리케이션(1330) 및 다른 자기 애플리케이션(1340)(예를 들어, 의료 애플리케이션) 중 적어도 하나의 애플리케이션 또는 애플리케이션 유형을 가질 수 있다. 나침반 애플리케이션은 지구 자계와 연관된 디지털 자력계 출력 신호의 정보를 사용할 수 있다. 자기 스와이프 카드 애플리케이션(예를 들어, 결제 애플리케이션, 은행 애플리케이션, 보안 애플리케이션, 여행 애플리케이션 및 발권 애플리케이션)은 자기 스와이프 카드 상의 자기 스트라이프와 연관된 디지털 자력계 출력 신호로부터의 정보를 사용할 수 있다. 의료 애플리케이션은 인체(예를 들어, 심장, 뇌, 혈액, 근육 및 신경)와 관련된 디지털 자력계 출력 신호의 정보를 사용할 수 있다.
일부 예들에서, 지구 자계와 연관된 디지털 자력계 출력 신호는 제 1 범위 내의 크기를 갖고, 자기 스와이프 카드 상의 자기 스트라이프와 연관된 디지털 자력계 출력 신호는 제 2 범위 내의 크기를 가지며, 인체와 연관된 디지털 자력계 출력 신호는 제 3 범위 내의 크기를 갖는다. 제 1 범위, 제 2 범위 및 제 3 범위 중 하나 이상은 일부 겹칠 수 있다. 다양한 실시예에서, 필터링은 디지털 자력계 출력 신호의 크기 범위에 기초할 수 있다. 예를 들어, 제 1 범위 내의 크기를 갖는 디지털 자력계 출력 신호는 제 2 범위 내의 크기를 갖는 디지털 자력계 출력 신호로부터 필터링될 수 있다.
모바일 장치(1300) 상의 애플리케이션들 중 하나를 실행할 때, 관련 정보(즉, 관련 자기 소스로부터 도출됨)가 해당 애플리케이션에 제공된다. 다양한 실시 예들에서, 모바일 장치의 프로세서는 어느 정보가 어떤 애플리케이션에 액세스 가능하도록 만들어졌는지 판정한다. 일부 실시예들에서, 프로세서는 자력계에 의해 검출된 신호(디지털 자력계 출력 신호라고도 지칭됨)의 크기에 기초하여 디지털 자력계 출력 신호를 필터링할 수 있다. 일부 예들에서, 신호들의 크기 범위는 필터링을 위해 사용될 수 있다. 다른 실시예들에서, 다른 컴퓨팅 장치 또는 구성요소의 프로세서는 출력 신호의 크기에 기초하여 자력계에 의해 생성된 출력 신호의 필터링을 수행하는 데 사용될 수 있다.
일부 실시예들에서, 네트워크화된 시스템(102)은 하나 이상의 원격 서버 및 연관된 데이터베이스를 포함한다. 모바일 장치(1300)에 설치된 클라이언트 애플리케이션은 네트워크화된 시스템(102)에 의해 호스팅되는 대응하는 서버 측 애플리케이션을 가질 수 있다. 예를 들어, 나침반 애플리케이션(1620)(나침반 애플리케이션(1320)에 대응함), 자기 스와이프 카드 애플리케이션(1630)(자기 스와이프 카드 애플리케이션(1330)에 대응함), 및 다른 자기 애플리케이션(1640)(다른 자기 애플리케이션(1340)에 대응함)은 네트워크화된 시스템(102)에 의해 호스팅된다. 일부 실시예들에서, 애플리케이션의 기능 컴포넌트는 클라이언트 애플리케이션과 대응하는 서버 측 애플리케이션 사이에 공유되거나 분산될 수 있다. 예를 들어, 자력계(1310)를 포함하는 모바일 장치(1300)는 하나 이상의 자기 소스로부터 자기 신호를 감지 및 캡처할 수 있고, 처리(예를 들어, 필터링, 처리 및 다양한 신호에 기초한 작업)는 네트워크화된 시스템(102)에 의해 부분적으로 수행될 수 있다.
일 실시예에서, 모바일 장치는 자기 스와이프 카드를 스와핑하기 위한 집적 표면을 갖는 하우징, 자기 정보를 판독하고 디지털 자력계 출력 신호를 생성하기 위해 그리고 자계의 방향 및 강도를 검출하기 위해 모바일 장치 내에 위치한 자력계를 포함한다. 디지털 자력계 출력 신호는 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 나타낸다. 각각의 디지털 자력계 출력 신호는 검출된 자계의 강도와 관련된 크기를 갖는다. 모바일 장치는 명령어를 저장하기 위한 메모리 장치 및 자력계에 결합된 프로세서를 포함하고, 프로세서는 명령어를 실행할 때 모바일 장치로 하여금, 자기 카드 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호의 적어도 일부를 판정하게 하고; 지구 자계로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호 중 적어도 일부를 판정하게 하며; 자기 카드 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호를 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하게 하고; 지구의 자기 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호를 처리를 위해 나침반 애플리케이션에 제공하게 한다.
모바일 장치(1300)는 자계를 측정하기 위해 사용되는 자력계(1310)를 포함한다. 일반적으로, 자력계는 자속 밀도 B(테슬라 단위)를 측정하는 센서를 포함한다. 자계는 강도와 방향 둘 모두에 의해 특징지어지는 벡터 양으로 고려된다. 자계의 강도는 국제 단위계(SI 단위)에서 테슬라 단위로 측정되고, 센티미터-그램-초 단위계(cgs 단위)에서 가우스로 측정된다. 10,000 가우스는 1 테슬라와 같다. 지구 자계의 측정은 감마로도 지칭되는 나노테슬라(nanotesla)(nT)의 단위로 종종 인용된다. 지구의 자계는 위치에 따라 20,000에서 80,000nT까지 다양할 수 있고, 지구의 자계의 변동은 대략 100nT 정도이며, 피코테슬라(pT) 범위의 다양한 자기 이상으로 인한 자계 변화가 있다.
자력계 측정에는 2가지 기본 유형이 있다. 벡터 자력계는 자계의 벡터 성분을 측정한다. 총 자기장(total field) 자력계 또는 스칼라 자력계는 벡터 자계의 크기를 측정한다. 지구 자계를 연구하기 위해 사용된 자력계는 편각(declination)(필드 벡터의 수평 성분과 자북(magnetic north) 사이의 각도)과 복각(inclination)(필드 벡터와 수평면 사이의 각도)으로 필드의 벡터 성분을 표현할 수 있다.
현재 이용 가능한 많은 스마트폰들은 나침반의 역할을 하는 애플리케이션에 제공되는 자기 정보를 검출하는 자력계를 포함한다. 예를 들어, iPhone®의 자력계(Apple® 인코퍼레이션에서 제조)는 3축에 따른 자계 강도를 마이크로 테슬라(μT)로 제공하고 iPhone®이 가리키는 방향을 찾는 데 사용할 수 있다. iPhone®의 자력계는 자계 강도를 측정하는데 또한 사용될 수 있다. 일부 iPhone®에서, 홀 효과를 사용하여 자계를 검출하기 위해 AK8973 칩 또는 AK8963 칩(아사히 카세히 마이크로디바이스 코포레이션(Asahi Kasei MicroDevices Corp.)에서 제조)을 사용하는 자력계가 구현된다. 이들 칩은 고감도 홀 센서 기술을 갖춘 3축 전자 나침반 집적 회로(IC)이다. 예시적인 iPhone®은 약 8μT(8 마이크로 테슬라)의 정밀도로 최대 약 1T까지의 자계를 측정할 수 있다.
자기 포화 및 잔류자기(remanence)는 자기 스와이프 카드 정보에 의해 제공된 자기 정보의 강도(또는 측정 가능성)를 결정하는 2가지 특성이다. 자기 포화는 스트라이프가 전달할 수 있는 최대 자화와 최대 출력 신호 진폭을 생성하는 지점을 나타낸다. 잔류자기는 포화 자계를 적용한 후에 스트라이프가 자화된 채로 남아있는 정도를 나타낸다. 세 번째 특성은 보자력(coercivity)으로 자기 스트라이프를 지우거나 덮어쓸 때 얼마나 많은 자계가 필요한지 결정한다. 낮은 보자력 카드는 약 300 에르스텟(Oed)(30,000 마이크로테슬라)이고 높은 보자력 카드는 약 4000 Oed(400,000 마이크로테슬라)이다. 예시적인 실시예들에서, 카드에 사용된 자기 스트라이프의 보자력은 300 내지 4000 Oed 사이에 어딘가에 속한다.
전술한 바와 같이, 자기 스와이프 카드(1200)는 카드 상의 자성 물질 밴드의 작은 철계 자성 입자의 자기를 변경함으로써 데이터를 저장할 수 있는 일종의 카드이다. 도 2는 예시적인 실시예에 따른 자기 스와이프 카드(1200)를 도시한다. 자기 스트라이프에 데이터를 인코딩함으로써, 데이터는 자기 스와이프 카드(1200)의 단일 스와이프로 컴퓨터에 입력될 수 있다. 도 2에 도시된 치수는, 예시적인 금융 거래 카드의 치수를 나타낸다. 예시적인 자기 스와이프 카드(1200)의 치수는 0.030 인치의 두께(203), 2.125 인치의 높이(201) 및 3.375 인치의 폭(202)을 포함한다. 다른 자기 스와이프 카드는 다른 수치를 가질 수도 있다.
대부분의 자기 스와이프 카드들(예를 들어, 자기 스와이프 카드(1200))은 플라스틱형 필름에 포함된다. 자기 스트라이프(204)는 카드의 가장자리로부터 0.223 인치(5.66mm)에 위치한다. 자기 스트라이프는 폭이 0.110인치(2.79mm)인 3개의 트랙을 포함한다. 트랙 1과 3은 일반적으로 인치 당 210 비트(8.27 비트/mm)로 기록되는 반면, 트랙 2는 일반적으로 인치 당 75 비트(2.95 비트/mm)의 기록 밀도를 갖는다. 각 트랙은 7비트 영숫자 문자 또는 5비트 숫자 문자를 포함할 수 있다. 트랙 1 표준은 항공사 업계(IATA)에서 생성되었다. 트랙 2 표준은 은행 업계(ABA)에서 생성되었다. 트랙 3 표준은 검약 저축(Thrift-Savings) 업계에서 생성되었다.
현재, 자기 스트라이프 사용을 위한 ISO/IEC 표준이라고 언급되는 국제 표준화기구(International Organization for Standardization) 및 국제 전기 기술위원회(International Electrotechnical Commission)에 의한 많은 표준들이 있다. 가장 보편적으로 사용되는 표준은 ISO/IEC 7810, 7811, 7812 및 7813 표준 시리즈이다. 이러한 표준은 신용 카드 및 직불 카드 시장에 대해 작성되고 카드의 양각된 문자에 대한 정보뿐만 아니라 자기 스트라이프 상의 트랙 위치 및 정보를 포함한다. ISO/IEC 7811은 6개 파트를 갖고 구체적으로 파트 2 및 6은 낮은 보자력의 자기 스트라이프 및 높은 보자력의 자기 스트라이프에 대한 것이다. 이러한 표준은 미국뿐만 아니라 일본의 자기 스트라이프 판독기로 스트라이프가 판독될 수 있도록 보장하는 자기 속성에 대한 정보를 포함한다. ISO/IEC 7811 표준 시리즈는 트랙 1을 210비트/인치 및 6비트+패리티 비트/문자의 판독 전용 트랙으로 정의한다. 이는 완전한 영숫자 인코딩을 허용한다. 트랙 2와 트랙 3 둘 모두는 4비트+패리티 비트(숫자인 문자+A~F)만 사용하고, 트랙 2는 75비트/인치이고, 트랙 3은 210비트/인치이다. 또한, 자기 스트라이프 성능과 관련된 3개의 새로운 미국 표준(American National Standards: ANSI) 표준이 진행 중이다. 이들은, (1) 자기 스트라이프의 효과적인 자기 파라미터; (2) 애플리케이션을 위해 제안된 자기 파라미터 값, 및 (3) 자기 스트라이프 판독기 및 인코더-장비 사양이다.
자기 스트라이프 기술이 많은 사람들에 의해 사용되고, 종종 다양한 산업 분야에서 매일 사용된다. 운송 업계는 종종 항공권 및 기타 운송 또는 교통 티켓에 스트라이프 기술을 사용한다. 보안 업계는 종종 보안 배지 및 보안 검색대에 자기 스트라이프 기술을 사용한다. 소매 업계는 종종 로열티 카드 및 보상 카드에 스트라이프 기술을 사용한다. 금융 업계에서는 종종 금융 거래 카드(예를 들어, 신용 카드, 직불 카드 및 기타 은행 카드)에 스트라이프 기술을 사용한다. 오늘날, 교통 카드와 함께 금융 카드(일반적으로 전 세계적 판독 신뢰도를 보장하기 위해 ISO 표준을 준수함)는 자기 스와이프 카드의 가장 큰 사용자를 구성한다.
자기 스트라이프 기술은 우리 삶의 여러 측면에 대한 최적의 솔루션을 제공한다. 이는 매우 저렴하고 많은 기능에 쉽게 적응할 수 있다. 금융 시장에 대한 높은 보자력의 표준화는 업계에 긴 수명을 제공한다. 이는 지금 이용 가능한 보안 기술의 출현과 함께 많은 애플리케이션이 미래에 자기 스트라이프 기술을 사용할 것으로 기대할 수 있음을 의미한다.
이러한 표준을 준수하는 카드의 예로는 ATM 카드, 은행 카드(VISA 및 마스터 카드를 포함하는 신용 카드 및 직불 카드), 기프트 카드, 포인트 적립 카드, 운전 면허증, 전화 카드, 멤버십 카드, 전자 혜택 전송 카드(예를 들어, 푸드 스탬프) 및 가치 또는 보안 정보가 카드 자체에 저장되어 있지 않은 거의 모든 애플리케이션을 포함한다. 많은 비디오 게임 및 어뮤즈먼트 센터(amusement center)에서는 이제 자기 스와이프 카드 기반의 직불 카드 시스템을 사용한다.
도 3a는 예시적인 실시예에 따른 모바일 장치(1300)에 관한 블록도이다. 일부 실시예들에서, 모바일 장치(1300)는 스마트폰일 수 있고, 대안적인 실시예들에서, 모바일 장치(1300)는 태블릿 컴퓨터, 퍼스널 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스, 비디오 게임 콘솔, 헤드 장착 디스플레이(HMD) 또는 다른 웨어러블 컴퓨팅 장치, 자력계를 포함하는 다른 유형의 장치일 수 있다. 모바일 장치(1300)는 모바일 장치(예를 들어, XScale 아키텍처 마이크로프로세서, MIPS(Microprocessor without Interlocked Pipeline) 아키텍처 프로세서, 또는 다른 유형의 프로세서)에 적합한 다양한 상이한 종류의 상업적으로 이용 가능한 프로세서 중 임의의 프로세서일 수 있는 프로세서(310)를 포함할 수 있다. 예시적인 실시예들에서, 프로세서(310)는 하나 이상의 중앙 처리 장치(CPU), 마이크로컨트롤러, 그래픽 처리 장치(GPU) 및/또는 디지털 신호 프로세서(DSP)로 구현될 수 있다.
랜덤 액세스 메모리(RAM), 플래시 메모리 또는 다른 유형의 메모리와 같은 메모리(320)는 전형적으로 프로세서(310)에 액세스 가능하다. 메모리(320)는 운영 체제(OS)(330)뿐만 아니라 애플리케이션(340)을 저장하도록 구성될 수 있다. 애플리케이션(340)은 나침반 애플리케이션(1320), 자기 스와이프 카드 애플리케이션(1330) 및 다른 자기 애플리케이션(1340)을 나타낼 수 있다.
프로세서(310)는 디스플레이(350) 및 키패드, 터치 패널 센서, 마이크로폰 등과 같은 하나 이상의 입출력(I/O) 장치(360)에 직접 또는 적절한 중간 하드웨어를 통해 연결될 수 있다. 또한, 모바일 장치(1300)는 자력계(1310)를 포함할 수 있다.
자력계(예를 들어, 자력계(1310))의 성능 및 능력은 그들의 기술 사양을 통해 설명된다. 주요 사양은 다음과 같다:
- 샘플 레이트(sample rate)는 초당 주어진 판독 횟수이다. 역수는 판독 당 사이클 시간(초)이다. 샘플 레이트는 모바일 자력계에서 중요하고, 샘플 레이트 및 차량 속도는 측정값들 사이의 거리를 결정한다.
- 대역폭 또는 대역 통과는 자력계가 자계의 급격한 변화를 얼마나 잘 추적하는지 특징짓는다. 온보드 신호 처리가 없는 자력계의 경우, 대역폭은 샘플 레이트에 의해 설정된 나이퀴스트 한계(Nyquist limit)에 의해 결정된다. 현대 자력계는 순차 표본에 대해 평활화 또는 평균화를 수행하여 낮은 대역폭으로 교환하여 낮은 잡음을 달성할 수 있다.
- 분해능(Resolution)은 자력계가 해결할 수 있는 최소 자계 변화이다. 자력계는 양자화 오차를 피하기 위해 관찰하고자 하는 최소 변화보다 훨씬 더 낮은 분해능을 가져야 한다.
- 절대 오차(Absolute error)는 일정한 자계와 실제 자계에서 자력계의 평균 판독 값들 사이의 차이이다.
- 드리프트(Drift)는 시간에 따른 절대 오차의 변화이다.
- 열적 안정성(Thermal stability)은 온도에 대한 측정의 의존성이다. 섭씨 도당 nT의 단위의 온도 계수로 주어진다.
- 잡음(Noise)은 자력계 센서 또는 전자 장치에 의해 발생하는 임의의 변동이다. 잡음은
Figure pct00001
단위로 표시되고, 여기서 주파수 구성요소는 대역폭을 지칭한다.
- 감도는 잡음 또는 분해능 중 큰 값이다.
- 방위각 오차(Heading error)는 일정한 자계에서 장비의 배향의 변화로 인한 측정값의 변화이다.
- 데드 존(dead zone)은 장비가 열악한 측정값을 생성하거나 측정값을 생성하지 못하는 자력계 배향의 각도 영역이다. 모든 광여기형, 양성자 자유 세차(proton-free precession) 및 오버하우저 자력계가 일부 데드 존 효과를 경험한다.
- 기울기 허용오차(Gradient tolerance)는 자계 기울기가 있는 상태에서 신뢰할 수 있는 측정값을 얻을 수 있는 자력계의 능력이다.
유사하게, 일부 실시예들에서, 프로세서(310)는 안테나(390)와 인터페이싱하는 트랜시버(370)에 연결될 수 있다. 트랜시버(370)는 모바일 장치(1300)의 속성에 따라 셀룰러 네트워크 신호, 무선 데이터 신호 또는 다른 유형의 신호를 안테나(390)를 통해 송신 및 수신하도록 구성될 수 있다. 이러한 방식으로, 모바일 장치(1300)와 네트워크(104) 사이의 접속이 수립될 수 있다. 또한, 일부 구성에서, GPS 수신기(380)는 안테나(390)를 사용하여 GPS 신호를 수신할 수 있다.
도 3b는 예시적인 실시예에 따른 모바일 장치(1300)의 배면도(1320)를 도시한다. 다양한 실시예들에서, 배면도는 자기 스와이프 카드(1200)에 대한 스와이핑 표면으로서 사용될 수 있는 모바일 장치(1300)의 후면을 나타낸다.
도 4는 예시적인 실시예에 따른 전자 나침반 IC(400)를 도시한다. 일부 실시 예들에서 자력계(1310)(도 1에 도시됨)는 모바일 장치(1300)(도 1에 도시됨) 내에 위치한 전자 나침반 IC(400)와 같은 집적 회로 나침반 칩을 사용하여 구현될 수 있다. 전자 나침반 IC(400)는 자기 신호를 검출 및 캡처할 수 있고, 일부 실시예들에서는 자기 센서 신호의 추가 처리를 수행할 수 있다. 전자 나침반 IC(400)는 X축, Y축 및 Z축의 지구 자기를 검출하기 위한 자기 센서, 센서 구동회로, 신호 증폭 체인 및 각 센서로부터의 자기 센서 신호를 처리하기 위한 산술 회로를 통합하는 AK8963 IC를 사용하여 구현될 수 있다. AK8963 칩은 넓은 동적 측정 범위와 낮은 전류 소비의 높은 분해능을 포함한다. 출력 데이터 분해능: 14비트(0.6 uT/LSB) 및 16비트(0.15uT/LSB).
일부 실시예들에서, 전자 나침반 IC 회로(400) 내의 하나 이상의 하드웨어 및/또는 소프트웨어 컴포넌트는 원하는 자기 소스로부터의 자계를 검출하고 측정하도록 변경(또는 새로운 구성 요소가 추가)될 필요가 있을 수 있다. 예를 들어, 자기 나침반 IC 회로(400)의 감도는 자기 스와이프 카드로부터의 자기 카드 정보 또는 인체로부터의 의료 정보를 판독하고 처리하기 위해 증가될 필요가 있을 수 있다.
전자 나침반 IC 회로(400)는 모놀리식 홀 소자를 포함하는 3축 홀 센서(401); 홀 소자를 선택하는 MUX(402); (즉, DC 신호가 더 쉽게 처리되고 증폭될 수 있도록 분해하여 신호의 안정성 및 정확도를 증가시키는) 초핑(chopping)을 수행하는 초퍼 SW(403); 자기 센서 구동 회로를 나타내는 HE-드라이브(405); 자기 센서 신호를 증폭하는데 사용되는 고정 이득 차동 증폭기를 나타내는 전치 증폭기(404); 전압 레퍼런스(407); 전치 AMP 출력을 적분 및 증폭하고 아날로그-디지털 변환을 수행하는 적분기 및 ADC(412), 입력/출력(I/O)(415)을 사용하여 CPU와 신호를 교환하는 인터페이스 로직 및 레지스터(413), 센서 측정을 위한 동작 클록을 생성하는 OSC1(408); 시퀀서를 위한 동작 클록을 생성하는 OSC2(410); OSC1(408)에 의해 생성된 클록으로부터 내부 동작에 필요한 타이밍 신호를 생성하는 타이밍 제어부(409); 리셋 회로 상의 전력을 나타내는 POR(411); 조정용 퓨즈를 나타내는 퓨즈용 ROM(414); 자기 센서의 자가 테스트를 위한 자계를 생성하는 자기 소스(406)를 포함한다. 다양한 전원 공급 핀(415)은 핀들(VSS, VDD 및 VID)을 포함한다. 다양한 입력 전류 핀(417)은 핀들(CAD0, CAD1, TRG 및 TST1)을 포함한다. 초퍼(403)는 다른 스위치의 제어하에 신호를 인터럽트하는 전자 스위치이고, 이 경우, 홀 효과로 인한 신호 오류를 정정한다. I/O(415)는 입력 신호를 수신하는 SDA/SI 단자 및 디지털 직렬 인터페이스(예를 들어, I2C 버스 인터페이스)를 통해 출력 신호를 제공하는 SO 단자를 포함한다.
또한, 도 5 및 도 6은 다양한 실시예들에서 구현된 방법에 대한 흐름도(500-600)를 도시한다. 일부 실시예들에서, 추가 동작이 방법(500-600)의 각각에 추가되거나, 하나 이상의 동작이 방법(500-600)의 각각으로부터 삭제될 수도 있다. 추가 실시예들에서, 방법(500-600) 또는 이들 방법의 변형이 조합될 수 있다. 방법들(500-600)에서 수행되는 동작들은 네트워크화된 시스템(102)(예를 들어, 자기 판독기 시스템(750)) 내의 하나 이상의 컴포넌트들 또는 모듈들에 의해 또는 모바일 장치(1300)에 의해 수행될 수 있다. 예를 들어, 방법(500-600)에 의해 수행되는 동작들 중 일부는 네트워크 시스템(102) 상에서 작동하는 자기 스와이프 카드 애플리케이션(1630) 또는 모바일 장치(1300) 상에서 작동하는 자기 스와이프 카드 애플리케이션(1320)에 의해 실행될 수 있다. 예를 들어, 다양한 자기 소스들로부터의 자기 정보의 판독은 모바일 장치에서 발생할 수 있지만, 자력계에 의해 검출된 신호들의 추가 처리는 모바일 장치 또는 다른 컴퓨팅 장치(예를 들어, 원격 서버)에 의해 수행될 수 있다.
도 5는 예시적인 실시예에 따라, 다양한 애플리케이션에 의해 이용하기 위해 디지털 자력계 출력 신호를 판독하고 검출하는 방법(500)을 설명한다. 방법(500)은 동작(510 내지 560)을 포함한다. 동작(510)에서, 자기 카드 정보는 적어도 부분적으로 이동 장치 내의 자력계 위에 적어도 부분적으로 위치한 모바일 장치의 표면을 따라 자기 스와이프 카드 상에 자기 스트라이프를 스와이핑함으로써 준비된다.
동작(520)에서, 다른 자기 정보는 다른 자기 소스로부터 이동 장치 내의 자력계에 의해 검출된다. 예를 들어, 자력계(예를 들어, 자력계(1310))에 의해 감지 된 다른 자기 정보는, 예를 들어, 지구 자계에 관련된 자기 정보, 사용자 또는 인체와 관련된 자기 정보, 전자 부품과 관련된 자기 정보, 또는 환경 내의 다른 항목과 관련된 자기 정보를 포함할 수 있다.
동작(530)에서, 모바일 장치 내의 자력계에 의해, 디지털 자력계 출력 신호를 생성한다. 동작(540)에서, 머신의 프로세서에 의해, 디지털 자력계 출력 신호의 적어도 일부가 인코딩된 자기 카드 정보를 나타낸다. 동작(550)에서, 머신의 프로세서에 의해, 디지털 자력계 출력 신호의 적어도 일부는 검출된 다른 자기 정보를 나타낸다. 동작의 단계(560)에서, 머신의 프로세서에 의해, 인코딩된 자기 카드 정보를 이용하는 자기 카드 정보 애플리케이션 및 검출된 다른 자기 정보를 이용하는 다른 자기 애플리케이션 중 적어도 하나를 실행한다.
다른 실시예들에서, 방법(500)은 디지털 자력계 출력 신호를 저장하는 단계; 머신의 프로세서에 의해, 자기 카드 정보 애플리케이션으로부터의 명령어에 기초하여 인코딩된 자기 카드 정보에 액세스하는 단계; 및 다른 프로세서 애플리케이션의 프로세서에 의해, 다른 자기 애플리케이션으로부터의 명령어에 기초하여 다른 자기 애플리케이션에 액세스하는 단계를 포함한다.
다른 실시예에서, 디지털 자력계 출력 신호들 중 적어도 일부가 인코딩된 자기 카드 정보를 나타내는지 결정하는 동작은 자기 스와이프 카드 상의 자기 스트라이프에 의해 생성된 자계의 강도에 기초하여 인코딩된 자기 카드 정보를 식별하는 것을 포함한다.
또 다른 실시예에서, 디지털 자력계 출력 신호들 중 적어도 일부가 검출된 다른 자기 정보를 나타내는지 결정하는 동작은 지구에 의해 생성된 자계의 세기에 기초하여 다른 자기 정보를 식별하는 것을 포함한다.
또 다른 실시예에서, 디지털 자력계 출력 신호들 중 적어도 일부가 검출된 다른 자기 정보를 나타내는지 결정하는 동작은 혈액 샘플에 의해 생성된 자계의 강도에 기초하여 다른 자기 정보를 식별하는 것을 포함한다.
예시적인 실시예에서, 다양한 애플리케이션에 의해 이용하기 위해 디지털 자력계 출력 신호를 판독하고 검출하는 방법은, 모바일 장치 내의 자력계에 의해, 모바일 장치의 표면을 따라 스와이핑된 자기 스와이프 카드로부터의 자계의 방향 및 강도를 검출하는 단계; 모바일 장치 내의 자력계에 의해, 다른 자기 소스로부터의 자계의 방향 및 강도를 검출하는 단계; 모바일 장치 내의 자력계에 의해, 디지털 자력계 출력 신호를 생성하는 단계로서, 디지털 자력계 출력 신호는 자기 스와이프 카드 및 다른 자기 소스로부터 도출된 자기 정보를 나타내며, 각각의 디지털 자력계 출력 신호의 각각은 검출된 자계의 강도와 관련된 크기를 갖는 단계; 머신의 프로세서에 의해, 디지털 자력계 출력 신호들 중 적어도 일부가 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는지 판정하는 단계; 머신의 프로세서에 의해, 디지털 자력계 출력 신호들 중 적어도 일부가 다른 자기 소스로부터 검출 된 자기 정보를 나타내는지를 판정하는 단계; 및 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호를 이용하는 자기 카드 애플리케이션 및 다른 자기 소스로부터 유도된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호를 이용하는 다른 애플리케이션 중 적어도 하나를 머신의 프로세서에 의해 실행하는 단계를 포함한다.
도 6은 예시적인 실시예들에 따라, 다양한 애플리케이션에 의해 이용하기 위해 디지털 자력계 출력 신호를 검출하기 위한 방법(600)을 설명한다. 방법(600)은 동작(610 내지 650)을 포함한다. 동작(610)에서, 모바일 장치 내에 포함된 자력계에 의해 자기 정보를 검출한다. 동작(620)에서, 출력 신호를 생성하기 위해 검출된 자기 정보의 적어도 일부를 머신의 프로세서에 의해 디코딩한다.
동작(630)에서, 자기 카드 애플리케이션과 연관된 자기 카드 정보 및 나침반 애플리케이션과 연관된 지구의 자계를 결정하기 위해, 머신의 프로세서에 의해, 자기 정보를 필터링한다. 보다 구체적으로, 출력 신호의 크기에 기초하여 다양한 소스로부터 도출된 자기 정보를 필터링한다. 예를 들어, 자기 카드 정보는 제 1 범위 내의 크기를 갖는 출력 신호를 갖고 지구의 자계 정보는 제 2 범위 내의 크기를 갖는 출력 신호를 갖는다.
동작(640)에서, 자기 카드 애플리케이션으로부터 머신의 프로세서 상에서 실행되는 명령어에 응답하여 자기 카드 정보에 액세스한다. 동작(650)에서, 나침반 애플리케이션으로부터 머신의 프로세서 상에서 실행되는 명령어에 응답하여 지구의 자계 정보에 액세스한다.
다른 실시예에서, 방법(600)은 머신의 프로세서에 의해 의료 애플리케이션과 연관된 의료 정보를 결정하기 위해 자기 정보를 필터링하는 단계; 및 의료 애플리케이션으로부터 머신의 프로세서 상에서 실행되는 명령어에 응답하여 의료 정보에 액세스하는 단계를 포함한다.
예시적인 실시예에서, 다양한 애플리케이션에 의해 이용하기 위해 디지털 자력계 출력 신호를 판독하고 검출하는 방법은, 모바일 장치에 의해 캡처된 디지털 자력계 출력 신호를 수신하는 동작으로서, 디지털 자력계 출력 신호는 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 포함하는 동작; 디지털 자력계 출력 신호의 크기에 기초하여 디지털 자력계 출력 신호가 자기 스와이프 카드와 연관된 자기 정보 또는 지구의 자계와 연관된 자기 정보를 나타내는지를 결정하기 위해 자기 정보를 필터링하는 동작; 자기 스와이프 카드와 연관된 자기 정보를 나타내는 디지털 자력계 출력 신호를 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하는 동작; 및 처리를 위해 지구 자계와 연관된 자기 정보를 나타내는 디지털 자력계 출력 신호를 나침반 애플리케이션에 제공하는 동작을 포함한다.
도 7을 참조하면, 고수준 클라이언트-서버-기반 네트워크 아키텍처(700)의 예시적인 실시예가 도시된다. 네트워크 기반 마켓플레이스 또는 결제 시스템의 형태의 네트워크화된 시스템(102)은 네트워크(104)(예를 들어, 인터넷 또는 광역 네트워크(WAN))를 통해 하나 이상의 클라이언트 장치(710)에 서버 측 기능을 제공한다. 도 7은, 예를 들어, 클라이언트 상에서 실행되는 웹 클라이언트(712)(예를 들어, 워싱턴 주, 레드몬드에 소재한 마이크로소프트® 코포레이션에 의해 개발된 인터넷 익스플로러®와 같은 브라우저), 클라이언트 애플리케이션(들)(714), 및 프로그래매틱 클라이언트(716)를 도시한다.
클라이언트 장치(710)는 모바일폰, 또는 자력계를 포함하는 다른 클라이언트 장치를 포함할 수 있지만, 이로 한정되는 것은 아니다. 예를 들어, 데스크톱 컴퓨터, 랩톱, PDA, 스마트폰, 태블릿, 울트라 북, 넷북, 랩톱들, 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능 가전제품, 게임 콘솔, 셋톱 박스 또는 네트워크화된 시스템(102)에 액세스할 수 있는 임의의 다른 장치는 자력계를 포함할 수 있다. 다양한 실시예들에서, 모바일 장치는 다양한 소스들로부터의 자계의 강도를 측정할 수 있는 자력계를 갖는 전술된 하나 이상의 장치들을 포함한다. 일부 실시예들에서, 클라이언트 장치(710)는 (예를 들어, 사용자 인터페이스의 형태로) 정보를 디스플레이하는 디스플레이 모듈(미도시)을 포함할 수 있다. 다른 실시예들에서, 클라이언트 장치(710)는 자력계 또는 다른 자기 판독기, 터치 스크린, 가속도계, 자이로스코프, 카메라, 마이크로폰, GPS(Global Positioning System) 장치 등에서 하나 이상을 포함할 수 있다. 클라이언트 장치(710)는 네트워크 시스템(102) 내에서 디지털 아이템을 수반하는 거래를 수행하는데 사용되는 사용자의 장치일 수 있다. 일 실시예에서, 네트워크화된 시스템(102)은 제품 아이템 목록에 대한 요청에 응답하고, 네트워크 기반 마켓플레이스에서 이용 가능한 제품의 아이템 목록을 포함하는 게시물을 발행하고, 이들 마켓플레이스 거래에 대한 결제를 관리하는 네트워크 기반 마켓플레이스이다. 하나 이상의 사용자(706)는 사람, 머신, 또는 클라이언트 장치(710)와 상호작용하는 다른 수단일 수 있다. 실시예들에서, 사용자(706)는 네트워크 아키텍처(700)의 일부가 아니지만, 클라이언트 장치(710) 또는 다른 수단을 통해 네트워크 아키텍처(700)와 상호작용할 수 있다. 예를 들어, 네트워크(104)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 통신망(WAN), 무선 WAN(WWAN), 도시권 통신망(Metropolitan Area Network: MAN), 인터넷의 일부, 공중 전화 교환망(Public Switched Telephone Network: PSTN)의 일부, 휴대 전화 네트워크, 무선 네트워크, Wi-Fi 네트워크, WiMAX 네트워크, 다른 유형의 네트워크, 또는 둘 이상의 그러한 네트워크의 조합일 수 있다.
클라이언트 장치(710)의 각각은 웹 브라우저, 메시징 애플리케이션, 전자 메일(이메일) 애플리케이션, 전자 상거래(e-commerce) 사이트 애플리케이션(마켓플레이스 애플리케이션으로도 지칭됨) 등과 같은 하나 이상의 애플리케이션("앱"으로도 지칭됨)을 포함할 수 있으나 이로 제한되는 것은 아니다. 일부 실시예들에서, 전자 상거래 사이트 애플리케이션이 클라이언트 장치(710) 중 주어진 하나에 포함되면, 그 이후 이 애플리케이션은 로컬로 이용 가능하지 않은 데이터 및/또는 처리 능력을 위해(예를 들어, 판매할 수 있는 아이템에 관한 데이터베이스에 액세스하거나, 사용자를 인증하거나, 결제 방법을 증명하기 위해 등), 필요에 따라 사용자 인터페이스 및 네트워크화된 시스템(102)과 통신하도록 구성된 애플리케이션의 기능 중 적어도 일부를 로컬로 제공하도록 구성된다. 이와 반대로, 전자 상거래 사이트 애플리케이션이 클라이언트 장치(710)에 포함되지 않으면, 클라이언트 장치(710)는 자신의 웹 브라우저를 사용하여 네트워크화된 시스템(102) 상에 호스팅된 전자 상거래 사이트(또는 그 변형)에 액세스할 수 있다.
하나 이상의 사용자(706)는 사람, 머신, 또는 클라이언트(710)와 상호작용하는 다른 수단일 수 있다. 예시적인 실시예들에서, 사용자(706)는 네트워크 아키텍처(700)의 일부가 아니지만, 클라이언트 장치(710) 또는 다른 수단을 통해 네트워크 아키텍처(700)와 상호 작용할 수 있다. 예를 들어, 사용자(706)는 클라이언트 장치(710)에 입력(예를 들어, 터치 스크린 입력 또는 영숫자 입력)을 제공하고 입력은 네트워크(104)를 통해 네트워크화된 시스템(102)에 전달된다. 이러한 경우, 네트워크화된 시스템(102)은 사용자로부터 입력을 수신한 것에 응답하여 사용자에게 제시될 정보를 네트워크(104)를 통해 클라이언트 장치(710)에 전달한다. 이러한 방식으로, 사용자는 클라이언트 장치(710)를 사용하여 네트워크화된 시스템(102)과 상호작용할 수 있다.
애플리케이션 프로그램 인터페이스(API) 서버(720) 및 웹 서버(722)는, 하나 이상의 애플리케이션 서버(들)(740) 각각에, 연결되고 프로그래매틱 및 웹 인터페이스를 제공한다. 애플리케이션 서버(740)는 하나 이상의 발행 시스템(742) 및 결제 시스템(744)을 호스팅할 수 있고, 이들 각각은 하나 이상의 모듈 또는 애플리케이션을 포함할 수 있고, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수 있다. 이어서 애플리케이션 서버(740)는 하나 이상의 정보 저장소 또는 데이터베이스(들)(726)에 대한 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(들)(724)에 연결되는 것으로 도시된다. 예시적인 실시예에서, 데이터베이스(들)(726)는 발행 시스템(720)에 게시될 정보(예를 들어, 게시물 또는 목록)를 저장하는 저장 장치이다. 데이터베이스(들)(726)는 예시적인 실시예들에 따라 디지털 아이템 정보를 또한 저장할 수 있다.
추가적으로, 제 3 자 서버(들)(730) 상에서 실행되는 제 3 자 애플리케이션(732)은 API 서버(720)에 의해 제공되는 프로그래매틱 인터페이스를 통해 네트워크화된 시스템(102)에 프로그래매틱 방식으로 액세스하는 것으로 도시된다. 예를 들어, 네트워크화된 시스템(102)으로부터 검색된 정보를 이용하는 제 3 자 애플리케이션(732)은 제 3 자에 의해 호스팅되는 웹 사이트 상의 하나 이상의 특징 또는 기능을 지원한다. 제 3 자 웹 사이트는, 예를 들어, 네트워크화된 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 프로모션, 마켓플레이스 또는 결제 기능을 제공한다.
발행 시스템(742)은 네트워크화된 시스템(102)에 액세스하는 사용자(706)에게 다수의 발행 기능 및 서비스를 제공할 수 있다. 결제 시스템(744)은 결제 및 거래를 수행하거나 용이하게 하기 위한 다수의 기능을 유사하게 제공할 수 있다. 도 7에서 발행 시스템(742) 및 결제 시스템(744) 둘 모두가 네트워크화된 시스템(102)의 일부를 형성하는 것으로 도시되어 있지만, 대안적인 실시예에서, 각각의 시스템(742 및 744)은 네트워크화된 시스템(102)과 분리되고 별개인 결제 서비스의 일부를 형성할 수도 있다는 점을 이해할 수 있을 것이다. 일부 실시예들에서, 결제 시스템(744)은 발행 시스템(742)의 일부를 형성할 수 있다.
자기 판독기 시스템(750)은 다양한 자기 소스들로부터의 정보를 이용하여 다양한 애플리케이션들을 실행하도록 동작 가능한 기능성을 제공할 수 있다. 일 예시적인 실시예에서, 모바일 장치(1300)(도 1에 도시됨)를 사용하여 수행된 온보드 처리 및 신호 캡처 처리는 자기 판독기 시스템(750)에 의해 수행된다. 예를 들어, 다양한 신호들에 기초한 필터링, 처리 및 작업은 애플리케이션 서버(들)(740)(예를 들어, 자기 판독기 시스템(750))에 의해 결정될 수 있고, 이에 따라 클라이언트 장치(710)를 오히려 자기 소스로부터 신호를 감지하고 캡처하기 위해서만 사용되는 얇은 클라이언트로 만든다. 다른 예시적인 실시예들에서, 온보드 처리 및 신호 캡처 처리는 클라이언트 장치(710)(예를 들어, 모바일 장치(1300))에 의해 수행된다.
예를 들어, 자기 판독기 시스템(750)은 데이터베이스(726), 제 3 자 서버(730), 발행 시스템(742) 및 다른 소스로부터 사용자 선택 데이터에 액세스할 수 있다. 일부 실시예들에서, 자기 판독기 시스템(750)은 나침반 애플리케이션(1620), 자기 스와이프 카드 애플리케이션(1630), 및 다른 자기 애플리케이션(1640) 중 적어도 하나의 일부 컴포넌트 또는 전체 컴포넌트를 실행할 수 있다.
일부 실시예들에서, 자기 판독기 시스템(750)은 발행 시스템(들)(742) 및 결제 시스템(들)(744)과 통신할 수 있다. 예를 들어, 자기 정보의 소스가 금융 거래 카드로부터 도출된 경우, 자기 판독기 시스템(750)은 결제 시스템(들)(744)과 통신할 수 있다. 다른 실시예들에서, 자기 정보의 소스가 보상 카드 또는 포인트 적립 카드로부터 도출된 경우, 자기 판독기 시스템(750)은 발행 시스템(120)과 통신할 수 있다. 대안적인 실시예에서, 자기 판독기 시스템(750)은 발행 시스템(742) 및 결제 시스템(744)의 적어도 하나의 일부분일 수 있다.
또한, 도 7에 도시된 클라이언트-서버-기반 네트워크 아키텍처(700)는 클라이언트-서버 아키텍처를 채용하지만, 본 발명의 주제는 그러한 아키텍처로 물론 국한되지 않으며, 예를 들어, 분산형 또는 피어 투 피어(peer-to-peer) 아키텍처 시스템에서 동등하게 애플리케이션을 잘 발견할 수 있다. 다양한 발행 시스템(742), 결제 시스템(744), 및 자기 판독기 시스템(750)은 반드시 네트워킹 능력을 반드시 갖지는 않는 독립형 소프트웨어 프로그램으로서 구현될 수도 있다.
웹 클라이언트(712)는 웹 서버(722)에 의해 지원되는 웹 인터페이스를 통해 다양한 발행 및 결제 시스템(742 및 744)에 액세스할 수 있다. 유사하게, 프로그래매틱 클라이언트(716)는 API 서버(720)에 의해 제공되는 프로그래매틱 인터페이스를 통해 발행 및 결제 시스템(742 및 744)에 의해 제공되는 다양한 서비스 및 기능에 액세스한다. 프로그래매틱 클라이언트(716)는, 예를 들어, 판매자가 오프라인 방식으로 네트워크화된 시스템(102) 상의 리스팅을 저작 및 관리할 수 있게 하고 프로그래매틱 클라이언트(716)와 네트워크화된 시스템(102) 사이에서 배치 모드 통신을 수행하게 하기 위한 판매자 애플리케이션(예를 들어, 캘리포니아 산호세에 소재한 이베이® 인코포레이션에 의해 개발된 터보 리스터 애플리케이션)일 수 있다.
추가적으로, 제 3 자 서버(들)(730) 상에서 실행되는 제 3 자 애플리케이션(732)은 API 서버(720)에 의해 제공되는 프로그래매틱 인터페이스를 통해 네트워크 시스템(102)에 프로그래밍 방식으로 액세스하는 것으로 도시된다. 예를 들어, 네트워크화된 시스템(102)으로부터 검색된 정보를 이용하는 제 3 자 애플리케이션(732)은 제 3 자에 의해 호스팅된 웹 사이트 상의 하나 이상의 특징 또는 기능을 지원할 수 있다. 제 3 자 웹 사이트는, 예를 들어, 네트워크화된 시스템(102)의 관련 애플리케이션에 의해 지원되는 하나 이상의 프로모션, 마켓플레이스 또는 결제 기능을 제공할 수 있다.
모듈, 컴포넌트, 및 로직
본원에서 특정 실시예는 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 머신 판독 가능 매체 상에 구현된 코드) 또는 하드웨어 모듈 중 하나를 구성할 수 있다. "하드웨어 모듈"은 특정 동작을 수행할 수 있는 유형의 유닛이고 특정 물리적 방식으로 구성 또는 배치될 수 있다. 다양한 예시적인 실시예들에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템(예를 들어, 프로세서 또는 프로세서 그룹)의 하나 이상의 하드웨어 모듈은, 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 본원에 설명된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 구성될 수 있다.
일부 실시예들에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 필드 프로그램 가능 게이트 어레이(Field-Programmable Gate Array: FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit: ASIC)와 같은 특수 목적 프로세서일 수 있다. 하드웨어 모듈은 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그램 가능 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 이러한 소프트웨어에 의해 일단 구성되면, 하드웨어 모듈은 구성된 기능을 수행하도록 고유하게 맞춰진 특정 머신(또는 머신의 특정 컴포넌트)이 되어 더 이상 범용 프로세서가 아니다. 전용이고 영구적으로 구성된 회로에서, 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)에서 하드웨어 모듈을 기계적으로 구현하기 위한 결정은 비용 및 시간 고려사항에 의해 추진될 수 있다는 점을 이해할 것이다.
따라서, "하드웨어 모듈"이라는 문구는 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들어, 하드와이어드(hardwired)) 일시적으로 구성되어(예를 들어, 프로그램되어) 특정 방식으로 동작하거나 본원에 설명된 특정 동작을 수행하는 엔티티인 유형의 엔티티를 포괄하는 것으로 이해되어야 한다. 본원에 사용되는, "하드웨어 구현 모듈"은 하드웨어 모듈을 지칭한다. 하드웨어 모듈들이 일시적으로 구성되는(예를 들어, 프로그램되는) 실시예들을 고려하면, 하드웨어 모듈들의 각각은 어느 한 시점에 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 특수 목적 프로세서가 되도록 소프트웨어에 의해 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 (예를 들어, 상이한 하드웨어 모듈을 포함하는) 상이한 특수 목적 프로세서로 각각 구성될 수 있다. 소프트웨어는, 예를 들어, 특정 프로세서 또는 프로세서들을 구성하여, 예를 들어, 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고 다른 시간 인스턴스에서 다른 하드웨어 모듈을 구성한다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈들은 통신 가능하게 연결된 것으로 고려될 수 있다. 동시에 다수의 하드웨어 모듈이 존재하는 경우, 통신은 2개 이상의 하드웨어 모듈들 사이의 신호 송신(예를 들어, 적절한 회로 및 버스를 통해)을 통해 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예들에서, 그러한 하드웨어 모듈들 사이의 통신은, 예를 들어, 복수의 하드웨어 모듈이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 해당 동작의 출력을 통신 가능하게 연결된 메모리 장치에 저장할 수 있다. 그 이후, 추가 하드웨어 모듈은 저장된 출력을 검색하고 처리하기 위해 메모리 장치에 액세스할 수 있다. 하드웨어 모듈은 입력 또는 출력 장치와의 통신을 개시할 수도 있고, 리소스(예를 들어, 정보의 모음)에 대해 동작할 수 있다.
본원에 설명된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되더라도, 그러한 프로세서는 본원에 설명된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서로 구현된 모듈을 구성할 수 있다. 본원에서 사용되는 "프로세서로 구현된 모듈"은 하나 이상의 프로세서를 사용하여 구현된 하드웨어 모듈을 지칭한다.
유사하게, 본원에 설명된 방법들은 적어도 부분적으로 프로세서로 구현될 수 있고, 특정 프로세서 또는 프로세서들은 하드웨어의 일례이다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서로 구현된 모듈에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "서비스로서의 소프트웨어(SaaS)"로서 관련 동작의 성능을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는 컴퓨터의 그룹(프로세서들을 포함하는 머신의 예로서)에 의해 수행될 수 있고, 이러한 동작들은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(API))를 통해 액세스 가능하다.
특정 동작들의 성능은 단일 머신 내에 상주할 뿐만 아니라 다수의 머신들에 걸쳐 배치되는 프로세서들 사이에서 분산될 수 있다. 일부 예시적인 실시예들에서, 프로세서 또는 프로세서로 구현된 모듈은 단일 지리적 위치(예를 들어, 가정 환경, 사무실 환경 또는 서버 팜 내)에 위치할 수 있다. 다른 예시적인 실시예들에서, 프로세서 또는 프로세서로 구현된 모듈은 다수의 지리적 위치에 걸쳐 분산될 수도 있다.
머신 및 소프트웨어 아키텍처
도 5 및 도 6와 관련하여 기술된 모듈, 방법, 애플리케이션 등은, 머신 및 연관 소프트웨어 아키텍처의 환경에서 일부 실시예들로 구현된다. 이하의 섹션은 개시된 실시예들과 함께 사용하기에 적합한 대표적인 소프트웨어 아키텍처(들) 및 머신(예를 들어, 하드웨어) 아키텍처를 설명한다.
소프트웨어 아키텍처는 특정 목적에 맞춰진 장치 및 머신을 생성하기 위해 하드웨어 아키텍처와 함께 사용된다. 예를 들어, 특정 소프트웨어 아키텍처와 연결된 특정 하드웨어 아키텍처는 휴대 전화, 태블릿 장치 등과 같은 모바일 장치를 생성할 것이다. 약간 상이한 하드웨어 및 소프트웨어 아키텍처가 "사물 인터넷"에서 사용할 스마트 장치를 생산할 수 있다. 또 다른 조합은 클라우드 컴퓨팅 아키텍처 내에서 사용할 서버 컴퓨터를 생산한다. 당업자가 본원에 포함된 개시와 상이한 상황에서 본 발명을 구현하는 방법을 용이하게 이해할 수 있으므로, 그러한 소프트웨어 및 하드웨어 아키텍처의 모든 조합이 본원에 제시되지는 않는다.
소프트웨어 아키텍처
도 8은 본원에 설명된 다양한 하드웨어 아키텍처와 함께 사용될 수 있는 대표적인 소프트웨어 아키텍처(802)를 도시하는 블록도(800)이다. 도 8의 실시예는 단지 소프트웨어 아키텍처의 비제한적 예일 뿐이고 본원에 설명된 기능을 용이하게 하기 위해 많은 다른 아키텍처가 구현될 수 있다는 점이 이해될 것이다. 소프트웨어 아키텍처(802)는 무엇보다도 프로세서(1010), 메모리(1030), 및 I/O 컴포넌트(1050)를 포함하는 도 9의 머신(1000)과 같은 하드웨어 상에서 실행될 수 있다. 대표적인 하드웨어 계층(904)이 도시되고, 예를 들어, 도 9의 머신(1000)을 나타낼 수 있다. 대표적인 하드웨어 계층(904)은 연관된 실행 가능 명령어(908)를 갖는 하나 이상의 처리 유닛(906)을 포함한다. 실행 가능 명령어(908)는 도 6 및 도 7의 방법, 모듈 등의 구현예를 포함하는 소프트웨어 아키텍처(802)의 실행 가능 명령어를 나타낸다. 하드웨어 계층(904)은 실행 가능 명령어(908)를 또한 갖는 메모리 및/또는 저장 모듈(910)을 포함한다. 하드웨어 계층(904)은 또한 하드웨어(904)의 임의의 다른 하드웨어, 예컨대, 머신(1000)의 일부로서 도시된 다른 하드웨어를 나타내는 912로 표시된 다른 하드웨어를 포함할 수 있다.
도 8의 예시적인 아키텍처에서, 소프트웨어(802)는 각 계층이 특정 기능을 제공하는 계층들의 스택으로서 개념화될 수 있다. 예를 들어, 소프트웨어(802)는 운영 체제(814), 라이브러리(816), 프레임워크/미들웨어(818), 애플리케이션(820) 및 프레젠테이션 계층(822)과 같은 계층을 포함할 수 있다. 동작 가능하게, 애플리케이션(820) 및/또는 계층 내의 다른 컴포넌트는 소프트웨어 스택을 통해 애플리케이션 프로그래밍 인터페이스(API) 호(824)를 호출하고, API 호(824)에 응답하여 메시지(826)로 도시된 응답, 반환 값 등을 수신할 수 있다. 예시된 계층은 사실상 대표적인 것으로 모든 소프트웨어 아키텍처가 모든 계층을 갖는 것은 아니다. 예를 들어, 일부 모바일 또는 특수 목적 운영 체제는 프레임워크/미들웨어 계층(818)을 제공하지 않을 수도 있지만, 다른 것들은 그러한 계층을 제공할 수도 있다. 다른 소프트웨어 아키텍처는 추가 또는 다른 계층을 포함할 수도 있다.
운영 체제(814)는 하드웨어 리소스를 관리하고 공통 서비스를 제공할 수 있다. 운영 체제(814)는, 예를 들어, 커널(828), 서비스(830) 및 드라이버(832)를 포함할 수 있다. 커널(828)은 하드웨어와 다른 소프트웨어 계층 사이에서 추상화 계층(abstraction layer)의 역할을 할 수 있다. 예를 들어, 커널(828)은 메모리 관리, 프로세서 관리(예를 들어, 스케줄링), 컴포넌트 관리, 네트워킹, 보안 설정 등을 담당할 수 있다. 서비스(830)는 다른 소프트웨어 계층을 위한 다른 공통 서비스를 제공할 수 있다. 드라이버(832)는 하부 하드웨어를 제어하거나 하부 하드웨어의 인터페이싱을 담당할 수 있다. 예를 들어, 드라이버(832)는 하드웨어 구성에 따라 디스플레이 드라이버, 카메라 드라이버, 블루투스® 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예를 들어, 범용 직렬 버스(USB) 드라이버), Wi-Fi® 드라이버, 오디오 드라이버, 전력 관리 드라이버 등을 포함할 수 있다.
라이브러리(816)는 애플리케이션(820) 및/또는 다른 컴포넌트 및/또는 계층에 의해 이용될 수 있는 공통 기반구조를 제공할 수 있다. 라이브러리(816)는 전형적으로 다른 소프트웨어 모듈이 하위 운영 체제(814) 기능(예를 들어, 커널(828), 서비스(830) 및/또는 드라이버(832))과 직접 인터페이싱하는 것보다 용이한 방식으로 작업을 수행할 수 있게 하는 기능을 제공한다. 라이브러리(816)는 메모리 할당 기능, 문자열 조작 기능, 수학 기능 등과 같은 기능을 제공할 수 있는 시스템(834) 라이브러리(예를 들어, C 표준 라이브러리)를 포함할 수 있다. 또한, 라이브러리(816)는 미디어 라이브러리(예를 들어, MPREG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 표현 및 조작을 지원하는 라이브러리), 그래픽 라이브러리(예를 들어, 디스플레이 상의 그래픽 콘텐츠에서 2D 및 3D를 렌더링하는 데 사용될 수 있는 OpenGL 프레임워크), 데이터베이스 라이브러리(예를 들어, 다양한 관계형 데이터베이스 기능을 제공할 수 있는 SQLite), 웹 라이브러리(예를 들어, 웹 브라우징 기능을 제공할 수 있는 WebKit) 등을 포함할 수 있다. 라이브러리(816)는 또한 많은 다른 API를 애플리케이션(820) 및 다른 소프트웨어 컴포넌트/모듈에 제공하도록 매우 다양한 다른 라이브러리(838)를 포함할 수 있다.
프레임워크(818)(때로는 미들웨어로도 지칭됨)는 애플리케이션(820) 및/또는 다른 소프트웨어 컴포넌트/모듈에 의해 이용될 수 있는 상위 레벨의 공통 기반구조를 제공할 수 있다. 예를 들어, 프레임워크(818)는 다양한 그래픽 사용자 인터페이스(GUI) 기능, 고수준 리소스 관리, 고수준 위치 서비스 등을 제공할 수 있다. 프레임워크(818)는 애플리케이션(820) 및/또는 다른 소프트웨어 컴포넌트/모듈(이들 중 일부는 특정 운영 체제 또는 플랫폼에 특정될 수 있음)에 의해 이용될 수 있는 광범위한 다른 스펙트럼의 API를 제공할 수 있다.
애플리케이션(820)은 내장형 애플리케이션(840) 및/또는 제 3 자 애플리케이션(842)을 포함한다. 대표적인 내장형 애플리케이션(840)의 예는 연락처 애플리케이션, 브라우저 애플리케이션, 북 리더 애플리케이션, 위치 애플리케이션, 미디어 애플리케이션, 메시징 애플리케이션 및/또는 게임 애플리케이션일 수 있다. 일부 실시예들에서, 나침반 애플리케이션 및/또는 자기 판독기 애플리케이션은 내장형 애플리케이션(840) 및/또는 제 3 자 애플리케이션(842) 내에 포함될 수 있다. 일부 실시예들에서, 자기 판독기 애플리케이션은 도 5 및 도 6에 각각 도시된 방법들(500 및 600)에서 설명된 동작을 수행할 수 있다. 제 3 자 애플리케이션(842)은 내장형 애플리케이션뿐만 아니라 매우 여러 가지 다른 애플리케이션 중 임의의 것을 포함할 수 있다. 특정 예에서, 제 3 자 애플리케이션(842)(예를 들어, 특정 플랫폼의 벤더 이외의 엔티티에 의해 AndroidTM 또는 iOSTM 소프트웨어 개발 키트(SDK)를 사용하여 개발된 애플리케이션)은 모바일 운영 체제(예컨대, iOSTM, AndroidTM, Windows® 폰 또는 기타 모바일 운영 체제) 상에서 작동하는 모바일 소프트웨어일 수 있다. 이 예에서, 제 3 자 애플리케이션(842)은 본원에 설명된 기능을 용이하게 하기 위해 운영 체제(814)와 같은 모바일 운영 체제에 의해 제공되는 API 호(824)를 호출할 수 있다. 애플리케이션(820) 내에 포함된 다른 애플리케이션의 예들은 나침반 애플리케이션(1320), 자기 스와이프 카드 애플리케이션(1330), 및 다른 자기 카드 애플리케이션(1340)을 포함한다. 다른 실시예들에서, 모바일 장치(710) 상에 설치되고 실행 가능한 대응하는 모바일 애플리케이션(예를 들어, 나침반 애플리케이션(1320), 자기 스와이프 카드 애플리케이션(1330) 및 다른 자기 카드 애플리케이션(1340))은 클라이언트 애플리케이션(714)에 포함될 수 있다. 다른 실시예들에서, 나침반 애플리케이션, 자기 스와이프 카드 애플리케이션 및 다른 자기 카드 애플리케이션은 제 3 자 애플리케이션(842) 내에 포함된 제 3 자 애플리케이션일 수 있다.
애플리케이션(820)은 내장형 운영 체제 기능(예를 들어, 커널(828), 서비스(830) 및/또는 드라이버(832)), 라이브러리(예를 들어, 시스템(834), API(836) 및 다른 라이브러리(838)), 프레임워크/미들웨어(818)을 이용하여 시스템의 사용자와 상호작용하기 위한 사용자 인터페이스를 생성할 수 있다. 대안적으로 또는 추가 적으로, 일부 시스템에서, 사용자와의 상호작용은 표현 계층(844)과 같은 표현 계층을 통해 발생할 수 있다. 이들 시스템에서, 애플리케이션/모듈 "로직"은 사용자와 상호작용하는 애플리케이션/모듈의 양태들에서 분리될 수 있다.
일부 소프트웨어 아키텍처는 가상 머신을 이용한다. 도 8의 예에서는 가상 머신(848)으로 예시된다. 가상 머신은 마치 애플리케이션/모듈이 하드웨어 머신(예를 들어, 도 9의 머신) 상에서 실행중인 것처럼 애플리케이션/모듈을 실행할 수 있는 소프트웨어 환경을 생성한다. 가상 머신은 호스트 운영 체제(도 9의 운영 체제(814))에 의해 호스팅되고, 전형적으로 항상은 아니지만, 가상 머신의 동작 뿐만 아니라 호스트 운영 체제(즉, 운영 체제(814))와의 인터페이스를 관리하는 가상 머신 모니터(846)를 갖는다. 소프트웨어 아키텍처는 운영 체제(850), 라이브러리(852), 프레임워크/미들웨어(854), 애플리케이션(856) 및/또는 프레젠테이션 계층(858)과 같은 가상 머신 내에서 실행된다. 가상 머신(848) 내에서 실행되는 이러한 소프트웨어 아키텍처의 계층은 이전에 설명된 대응 계층과 동일할 수도 있고 상이할 수도 있다.
예시적인 머신 아키텍처 및 머신 판독 가능 매체
도 9는 머신 판독 가능 매체(예를 들어, 머신 판독 가능 저장 매체)로부터 명령어를 판독하고 본원에 논의된 임의의 하나 이상의 방법을 수행할 수 있는, 일부 예시적인 실시예에 따른 머신(1000)의 컴포넌트들을 도시하는 블록도이다. 구체적으로, 도 9는 컴퓨터 시스템의 예시적인 형태로 머신(1000)의 개략적 표현을 보여주고, 그 내부에서 머신(1000)으로 하여금 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행하게 하기 위한 명령어(1016)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행 가능 코드)가 실행될 수 있다. 예를 들어, 명령어는 머신으로 하여금 도 5 및 도 6의 흐름도를 실행하게 할 수 있다. 명령어는 프로그램되지 않는 범용 머신을 설명된 방식으로 설명되고 도시된 기능을 실행하도록 프로그램된 특정 머신으로 변환한다. 대안적인 실시예들에서, 머신(1000)은 독립형 장치로서 동작하거나 다른 머신들에 연결(예를 들어, 네트워크화)될 수 있다. 네트워크화된 배치에서, 머신(1000)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 기능으로 동작할 수 있거나 피어 투 피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(1000)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 휴대 전화, 스마트폰, 모바일 장치, 웨어러블 장치(예를 들어, 스마트 와치), 스마트 홈 장치(예를 들어, 스마트 어플라이언스), 다른 스마트 장치, 웹 어플라이언스, 또는 머신(1000)에 의해 취해질 작업들을 순차적으로 또는 달리 명시하는 명령어(1016)를 실행할 수 있는 임의의 머신을 포함할 수 있으나, 이로 제한되지 않는다. 다양한 실시예들에서, 모바일 장치는 모바일이라고 고려된 전술된 장치들 중 하나 이상을 지칭한다. 또한, 단일 머신(1000)이 도시되지만, "머신"이라는 용어는 또한 본원에 논의된 방법들 중 임의의 하나 이상의 방법을 수행하도록 명령어(1016)를 개별적으로 또는 공동으로 실행하는 머신(1000)의 집합을 포함하는 것으로 여겨져야 한다.
머신(1000)은, 예컨대, 버스(1002)를 통해 서로 통신하도록 구성될 수 있는 프로세서(1010), 메모리(1030) 및 I/O 컴포넌트(1050)를 포함할 수 있다. 일 실시예에서, 프로세서(1010)(예를 들어, 중앙 처리 장치(CPU), 축소 명령어 세트 컴퓨팅(Reduced Instruction Set Computing: RISC) 프로세서, 복합 명령어 세트 컴퓨팅(complex Instruction Set Computing: CISC) 프로세서, 그래픽 처리 장치(GPU), 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 무선 주파수 집적 회로(RFIC), 다른 프로세서, 또는 이들의 임의의 적합한 조합)은, 예를 들어, 명령어(1016)를 실행할 수 있는 프로세서(1012) 및 프로세서(1014)를 포함할 수 있다. "프로세서"라는 용어는 동시에 명령어를 실행할 수 있는 둘 이상의 독립 프로세서(때로 "코어"로 지칭됨)를 포함할 수 있는 다중 코어 프로세서를 포함하고자 한다. 도 9는 복수의 프로세서를 도시하지만, 머신(1000)은 단일 코어를 갖는 단일 프로세서, 복수의 코어(예를 들어, 멀티 코어 프로세스)를 갖는 단일 프로세서, 단일 코어를 갖는 복수의 프로세서, 복수의 코어를 갖는 복수의 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/저장소(1030)는 메인 메모리 또는 다른 메모리 스토리지와 같은 메모리(1032) 및 저장 유닛(1036)을 포함할 수 있고, 이 둘 모두는, 예컨대, 버스(1002)를 통해, 프로세서(1010)에 모두 액세스 가능하다. 저장 유닛(1036) 및 메모리(1032)는 본원에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(1016)를 저장한다. 명령어(1016)는 또한 머신(1000)에 의한 실행 동안 메모리(1032) 내에, 저장 유닛(1036) 내에, 프로세서(1010) 중 적어도 하나 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적합한 조합 내에 완전히 또는 부분적으로 상주할 수 있다. 따라서, 메모리(1032), 저장 유닛(1036), 및 프로세서(1010)의 메모리는 머신 판독 가능 매체의 예이다.
본원에 사용된 "머신 판독 가능 매체"는 명령어 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 장치를 의미하고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 유형의 저장소(예를 들어, 제거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 포함할 수 있으나, 이로 제한되는 것은 아니다. "머신 판독 가능 매체"라는 용어는 명령어(1016)를 저장할 수 있는 단일 매체 또는 복수의 매체(예를 들어, 중앙 집중형 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 여겨져야 한다. "머신 판독 가능 매체"라는 용어는 또한 머신(예를 들어, 머신(1000))에 의한 실행을 위한 명령어(예를 들어, 명령어(1016))를 저장 또는 운반할 수 있는 임의의 매체 또는 복수의 매체의 조합을 포함하는 것으로 여겨져야 하고, 이로써 명령어는 머신(1000)의 하나 이상의 프로세서들(예를 들어, 프로세서(1010))에 의해 실행될 때, 머신(1000)으로 하여금 본원에 설명된 임의의 하나 이상의 방법들 중 임의의 하나 이상을 수행하게 한다. 따라서, "머신 판독 가능 매체"는 다수의 저장 장치 또는 디바이스 뿐만 아니라 복수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크를 지칭한다.
I/O 컴포넌트(1050)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 송신하고, 정보를 교환하고, 측정을 캡처하기 위한 매우 다양한 컴포넌트를 포함할 수 있다. 특정 머신에 포함되는 특정 I/O 컴포넌트(1050)는 머신의 유형에 의존할 것이다. 예를 들어, 모바일폰과 같은 휴대용 머신은 터치 입력 장치 또는 기타 입력 메커니즘을 포함할 가능성이 있지만 헤드리스 서버 머신은 그러한 터치 입력 장치를 포함할 가능성이 없다. I/O 컴포넌트(1050)는 도 9에 도시되지 않은 많은 다른 컴포넌트를 포함할 수 있음을 이해할 것이다. I/O 컴포넌트(1050)는 단지 다음의 설명을 단순화하기 위해 기능에 따라 그룹화되고, 그룹화는 결코 제한적이지 않다. 다양한 예시적인 실시예들에서, I/O 컴포넌트(1050)는 출력 컴포넌트(1052) 및 입력 컴포넌트(1054)를 포함할 수 있다. 출력 컴포넌트(1052)는 시각 컴포넌트(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터 또는 음극선관(CRT)), 음향 컴포넌트(예를 들어, 스피커), 햅틱 컴포넌트(예를 들어, 진동 모터, 저항 메커니즘), 다른 신호 생성기 등을 포함할 수 있다. 입력 컴포넌트(1054)는 영숫자 입력 컴포넌트(예를 들어, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 광학 키보드(photo-optical keyboard) 또는 다른 영숫자 입력 컴포넌트), 포인트 기반 입력 컴포넌트(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 도구), 촉각 입력 컴포넌트(예를 들어, 물리적인 버튼, 터치 또는 터치 제스처의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 컴포넌트), 오디오 입력 컴포넌트(예를 들어, 마이크로폰) 등을 포함할 수 있다.
또 다른 예시적인 실시예에서, I/O 컴포넌트(1050)는 다른 컴포넌트들의 광범위한 배열 중에서 생체 인식 컴포넌트(1056), 모션 컴포넌트(1058), 환경 컴포넌트(1060) 또는 위치 컴포넌트(1062)를 포함할 수 있다. 예를 들어, 생체 인식 컴포넌트(1056)는 표현(예를 들어, 손 표현, 표정, 음성 표현, 몸짓 또는 눈 추적), 생체 신호(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파), 사람 식별(예를 들어, 음성 식별, 망막 식별, 안면 식별, 지문 식별 또는 뇌전도 기반 식별) 등을 검출하기 위한 컴포넌트를 포함할 수 있다. 모션 컴포넌트(1058)는 가속도 센서 컴포넌트(예를 들어, 가속도계), 중력 센서 컴포넌트, 회전 센서 컴포넌트(예를 들어, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트(1060)는, 예를 들어, 조명 센서 컴포넌트(예를 들어, 광도계), 온도 센서 컴포넌트(예를 들어, 주위 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트, 압력 센서 컴포넌트(예를 들어, 기압계), 음향 센서 컴포넌트(예를 들어, 주변 소음을 검출하는 적외선 센서), 가스 센서(예를 들어, 안전을 위해 유해 가스의 농도를 검출하거나 대기의 오염물질을 측정하기 위한 가스 검출 센서), 또는 주변 물리적 환경에 대응하는 표시, 측정값 또는 신호를 제공할 수 있는 기타 컴포넌트를 포함할 수 있다. 위치 컴포넌트(1062)는 위치 센서 컴포넌트(예컨대, GPS(Global Position System) 수신기 컴포넌트), 고도 센서 컴포넌트(예를 들어, 고도가 도출될 수 있는 공기압을 검출하는 고도계 또는 기압계), 방향 센서 컴포넌트(예를 들어, 자력계) 등을 포함할 수 있다.
통신은 다양한 기술을 사용하여 구현될 수 있다. I/O 컴포넌트(1050)는 각각 커플링(1082) 및 커플링(1072) 각각을 통해 머신(1000)을 네트워크(104) 또는 장치(l070)에 연결하도록 동작 가능한 통신 컴포넌트(1064)를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1064)는 네트워크 인터페이스 컴포넌트 또는 네트워크(104)와 인터페이싱하기 위한 다른 적절한 장치를 포함할 수 있다. 추가 예들에서, 통신 컴포넌트(1064)는 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, 근거리 통신(NFC) 컴포넌트, 블루투스® 컴포넌트(예를 들어, 블루투스® 저 에너지), Wi-Fi® 컴포넌트 및 다른 양식을 통해 통신을 제공하는 기타 통신 컴포넌트를 포함할 수 있다. 장치들(1070)은 다른 머신 또는 임의의 다양한 주변 장치들(예를 들어, 범용 직렬 버스(USB)를 통해 연결된 주변 장치)일 수 있다.
더욱이, 통신 컴포넌트(1064)는 식별자를 검출하거나 식별자를 검출하도록 동작 가능한 컴포넌트를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1064)는 무선 주파수 식별(RFID) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(예를 들어, 유니버설 제품 코드(UPC) 바코드, QR(Quick Response) 코드, 아즈텍 코드, 데이터 매트릭스, 데이터글리프, 맥시코드, PDF417, 울트라 코드, UCC RSS-2D 바코드 및 기타 광학 코드와 같은 다차원 바코드) 또는 음향 검출 컴포넌트(예를 들어, 태그된 오디오 신호를 식별하는 마이크로폰)를 포함할 수 있다. 또한, 인터넷 프로토콜(IP) 지리적 위치, Wi-Fi® 신호 삼각측량을 통한 위치, 특정 위치를 표시할 수 있는 NFC 비콘 신호 검출을 통한 위치 등과 같이 통신 컴포넌트(1064)를 통해 다양한 정보가 도출될 수 있다.
송신 매체
다양한 예시적인 실시예들에서, 네트워크(104)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 통신망(WAN), 무선 WAN(WWAN), 도시권 통신망(MAN), 인터넷, 인터넷의 일부분, 공중 전화 교환망(PSTN)의 일부분, 기존 전화 서비스(plain old telephone service: POTS) 네트워크, 휴대 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 둘 이상의 그러한 네트워크의 조합일 수 있다. 예를 들어, 네트워크(104) 또는 네트워크(104)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(1082)은 코드 분할 다중 액세스(CDMA) 접속, 이동통신 글로벌 시스템(Global System for Mobile communications: GSM) 접속, 다른 유형의 셀룰러 또는 무선 커플링을 포함할 수 있다. 이 예에서, 커플링(1082)은 단일 반송파 무선 송신 기술(1xRTT), 에볼루션 데이터 최적화(EVDO) 기술, 일반 패킷 무선 서비스(GPRS) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4세대 무선(4G) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 기타 표준 설정 기관이 정의한 다른 표준, 기타 장거리 프로토콜 또는 기타 데이터 전달 기술과 같은 임의의 다양한 유형의 데이터 전달 기술을 구현할 수 있다.
명령어(1016)는 네트워크 인터페이스 장치(예를 들어, 통신 컴포넌트(1064)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 송신 매체를 사용하고 다수의 잘 알려진 전송 프로토콜(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 임의의 프로토콜을 이용하여 네트워크(104)를 통해 송신되거나 수신될 수 있다. 유사하게, 명령어(1016)는 장치(1070)에 대한 커플링(1072)(예를 들어, 피어 투 피어 커플 링)을 통해 송신 매체를 사용하여 송신되거나 수신될 수 있다. "송신 매체"라는 용어는 머신(1000)에 의한 실행을 위한 명령어(1016)를 저장, 인코딩, 또는 운반할 수 있는 임의의 무형 매체를 포함하는 것으로 여겨져야 하고, 그러한 소프트웨어의 통신을 용이하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다. 송신 매체는 머신 판독 가능 매체의 일 실시예이다.
다음의 숫자가 매겨진 예들은 실시예들이다.
1. 모바일 장치로서,
자기 스와이프 카드(magnetic swipe card)를 스와이핑하기 위한 집적 표면을 갖는 하우징과,
하우징 내에 위치하고, 자계의 방향 및 강도를 검출하여 자기 정보를 판독하고 디지털 자력계 출력 신호들을 생성하기 위한 자력계(magnetometer) - 디지털 자력계 출력 신호들은 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 나타내고, 디지털 자력계 출력 신호들의 각각은 검출된 자계의 강도와 관련된 크기를 가짐 - 와,
명령어를 저장하기 위한 메모리 장치와,
자력계에 연결된 프로세서를 포함하되,
프로세서는 명령어를 실행할 때, 모바일 장치로 하여금,
디지털 자력계 출력 신호들의 적어도 일부가 자기 카드 정보로부터 도출된 자기 정보를 나타내는지 판정하게 하고,
디지털 자력계 출력 신호들의 적어도 일부가 지구 자계로부터 도출된 자기 정보를 나타내는지 판정하게 하며,
자기 스와이프 카드로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하게 하고,
지구 자계 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 나침반 애플리케이션에 제공하게 한다.
2. 예 1의 모바일 장치로서, 자력계는 3축 전자 나침반 집적 회로(IC)를 포함한다.
3. 예 1 또는 예 2의 모바일 장치로서, 프로세서는 또한, 명령어를 실행할 때, 모바일 장치로 하여금, 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하게 한다.
4. 예 1 내지 예 3 중 어느 하나의 모바일 장치로서, 프로세서는 디지털 자력계 신호들 중 적어도 일부가 자기 스와이프 카드로부터 도출된 자기 정보를 나타내는지 판정하게 하는 명령어를 실행할 때, 모바일 장치로 하여금 또한,
자기 정보로부터 판독된 검출된 자계 강도의 범위와 관련된 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하게 한다.
5. 예 1 내지 예 4 중 어느 하나에 따른 모바일 장치로서, 프로세서는, 디지털 자력계 출력 신호들 중 적어도 일부가 지구 자계로부터 도출된 자기 정보를 나타내는지 판정하게 하는 명령어를 실행할 때, 모바일 장치로 하여금 또한,
지구와 연관된 자계 강도의 범위와 관련된 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하게 하되, 범위는 적어도 20,000 내지 80,000 나노테슬라(nTs)를 나타낸다.
6. 예 1 내지 예 5 중 어느 하나의 모바일 장치로서, 디지털 자력계 출력 신호들은 3축 자기 컴포넌트의 각각에 대한 선택 가능한 데이터 출력 신호들을 포함한다.
7. 예 1 내지 예 6 중 어느 하나의 모바일 장치로서, 나침반 애플리케이션은 내비게이션 애플리케이션을 나타낸다.
8. 예 3의 모바일 장치로서,
하우징 내에 포함되는 다른 자기 컴포넌트를 더 포함하고,
프로세서는, 명령어를 실행할 때, 모바일 장치로 하여금 또한,
다른 자기 컴포넌트에 의해 야기된 자기 편차를 계산하게 하고,
모바일 장치로 하여금 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하게 하는 명령어를 실행하기 전에 계산된 자기 편차에 기초하여 디지털 자력계 출력 신호들을 조정하게 한다.
9. 예 1 내지 예 8 중 어느 하나의 모바일 장치로서, 디지털 자력계 출력 신호들은 의료 정보로부터 도출된 자기 정보를 나타내고,
프로세서는, 명령어를 실행할 때, 모바일 장치로 하여금 또한,
디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하게 하고,
의료 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 다른 애플리케이션에 제공하게 한다.
10. 방법으로서,
모바일 장치 내의 자력계에 의해, 모바일 장치의 표면을 따라 스와이핑된 자기 스와이프 카드로부터 자계의 방향 및 강도를 검출하는 단계와,
모바일 장치 내의 자력계에 의해, 다른 자기 소스로부터 자계의 방향 및 강도를 검출하는 단계와,
모바일 장치 내의 자력계에 의해, 디지털 자력계 출력 신호들을 생성하는 단계 - 디지털 자력계 출력 신호들은 자기 스와이프 카드 및 다른 자기 소스로부터 도출된 자기 정보를 나타내고, 디지털 자력계 출력 신호들의 각각은 검출된 자계의 강도와 관련된 크기를 가짐 - 와,
머신의 프로세서에 의해, 디지털 자력계 출력 신호들 중 적어도 일부가 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는지 판정하는 단계와,
머신의 프로세서에 의해, 디지털 자력계 출력 신호들 중 적어도 일부가 다른 자기 소스로부터의 검출된 자기 정보를 나타내는지 판정하는 단계와,
머신의 프로세서에 의해, 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호를 이용하는 자기 카드 애플리케이션 및 다른 자기 소스로부터 도출된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 이용하는 다른 애플리케이션 중 적어도 하나를 실행하는 단계를 포함한다.
11. 예 10의 방법으로서,
디지털 자력계 출력 신호들을 저장하는 단계와,
머신의 프로세서에 의해, 자기 카드 애플리케이션으로부터의 명령어에 기초하여 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호들에 액세스하는 단계와,
머신의 프로세서에 의해, 다른 애플리케이션에 기초하여 다른 자기 소스로부터 도출된 검출된 자기 정보를 나타내는 디지털 자력계 출력 신호들에 액세스하는 단계를 더 포함한다.
12. 예 10 또는 예 11의 방법으로서, 디지털 자력계 출력 신호들 중 적어도 일부가 자기 스와이프 카드로부터 도출된 검출된 자기 정보를 나타내는지 판정하는 단계는,
디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하는 단계를 더 포함한다.
13. 예 10 내지 예 12 중 어느 하나의 방법으로서, 디지털 자력계 출력 신호들 중 적어도 일부가 자기 카드 정보로부터 도출된 자기 정보를 나타내는지 판정하는 단계는,
자기 정보로부터 판독된 검출된 자계 강도의 범위와 관련된 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들을 필터링하는 단계를 더 포함한다.
14. 예 10 내지 예 13 중 어느 하나의 방법으로서, 디지털 자력계 출력 신호들 중 적어도 일부가 다른 자기 소스로부터의 검출된 자기 정보를 나타내는지 판정하는 단계는,
지구와 연관된 자계 강도의 범위와 관련된 디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호를 필터링하는 단계 - 범위는 적어도 20,000 내지 80,000 나노테슬라(nTs)를 나타냄 - 를 더 포함한다.
15. 예 10 내지 예 14 중 어느 하나의 방법으로서, 디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하는 단계와,
의료 정보로부터 도출된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 의료 애플리케이션에 제공하는 단계를 더 포함한다.
16. 예 15의 방법으로서, 디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하는 단계는,
디지털 자력계 출력 신호들 중 적어도 일부가 혈액 샘플로부터 도출된 자기 정보를 나타내는지 판정하는 단계를 더 포함한다.
17. 적어도 하나의 프로세서와 통신하고 명령어를 저장한 비일시적 머신 판독가능 저장 매체로서,
명령어는 적어도 하나의 프로세서에 의해 실행될 때,
모바일 장치에 의해 캡처된 디지털 자력계 출력 신호들을 수신하는 동작 - 디지털 자력계 출력 신호들은 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 포함함 - 과,
디지털 자력계 출력 신호들의 크기에 기초하여 디지털 자력계 출력 신호들이 자기 스와이프 카드와 연관된 자기 정보를 나타내는지 또는 지구 자계와 연관된 자기 정보를 나타내는지 판정하기 위해 자기 정보를 필터링하는 동작과,
자기 스와이프 카드와 연관된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하는 동작과,
지구 자계와 연관된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 나침반 애플리케이션에 제공하는 동작을 수행한다.
18. 예 17의 머신 판독가능 저장 매체로서, 명령어는 적어도 하나의 프로세서에 의해 실행될 때,
모바일 장치에 의해 캡처된 디지털 자력계 출력 신호들을 수신하는 동작 - 디지털 자력계 출력 신호들은 의료 정보로부터 도출된 자기 정보를 포함함 - 과,
디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보와 연관된 자기 정보를 나타내는지 판정하는 동작과,
의료 정보와 연관된 자기 정보를 나타내는 디지털 자력계 출력 신호들을 처리를 위해 의료 애플리케이션에 제공하는 동작을 또한 수행한다.
19. 명령어 세트를 운반하는 머신 판독가능 매체로서, 명령어 세트는 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 예 10 내지 예 18 중 어느 하나의 방법을 실행하게 한다.
언어
본 명세서 전체에 걸쳐, 복수의 인스턴스는 단일 인스턴스로 기술된 컴포넌트, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별 동작이 별도의 동작으로 도시되고 설명되지만, 개별 동작들 중 하나 이상은 동시에 수행될 수 있으며, 동작들이 반드시 도시된 순서대로 수행되어야 하는 것은 아니다. 예시적인 구성에서 별도의 컴포넌트로 제시된 구조 및 기능은 조합된 구조 또는 컴포넌트로 구현될 수 있다. 유사하게, 단일 구성 요소로서 제시된 구조 및 기능은 별도의 컴포넌트로 구현될 수 있다. 이러한 및 다른 변형, 수정, 추가 및 개선은 본원의 청구 대상의 범위 내에 있다.
본 발명의 청구 대상에 대한 개요가 특정 예시적인 실시예들을 참조하여 설명되었지만, 그러한 실시예들에 대한 다양한 수정 및 변경이 본 개시물의 실시예들의 더 넓은 범위를 벗어나지 않으면서 행해질 수 있다. 본 발명의 청구 대상의 이러한 실시예들은 실제로 둘 이상이 개시되면 임의의 단일 개시 또는 발명적 개념으로 본 출원의 범위를 자발적으로 제한하지 않으면서 단지 편의를 위해 본원에서 용어 "발명"으로 개별적으로 또는 집합적으로 지칭될 수 있다.
본원에 예시된 실시예들은 당업자가 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시물의 범위를 벗어나지 않으면서 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 다른 실시예들이 사용될 수 있고 그로부터 도출될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 여겨져서는 안 되고, 다양한 실시예들의 범위는 첨부된 청구 범위와 함께 그러한 청구 범위가 부여되는 등가물의 전체 범위에 의해서만 정의된다.
본원에 사용된 용어 "또는"은 포괄적이거나 배타적인 의미로 고려될 수 있다. 또한, 본원에 단일 인스턴스로서 기술된 리소스, 동작 또는 구조에 대해 복수의 인스턴스가 제공될 수도 있다. 추가적으로, 다양한 리소스, 동작, 모듈, 엔진 및 데이터 저장소 사이의 경계는 다소 임의적이며 특정 동작은 특정 예시적인 구성의 맥락에서 예시된다. 기능의 다른 할당이 계획되고 본 개시물의 다양한 실시예들의 범위 내에 있을 수 있다. 일반적으로, 예시적인 구성에서 별도의 리소스로 제시된 구조 및 기능은 조합된 구조 또는 리소스로 구현될 수 있다. 유사하게, 단일 리소스로 제시된 구조 및 기능은 별도의 리소스로 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 첨부된 청구 범위에 의해 제시되는 본 개시물의 실시예들의 범위 내에 있다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다.

Claims (19)

  1. 모바일 장치로서,
    자기 스와이프 카드(magnetic swipe card)를 스와이핑하기 위한 집적 표면을 갖는 하우징과,
    상기 하우징 내에 위치하고, 자계의 방향 및 강도를 검출하여 자기 정보를 판독하고 디지털 자력계 출력 신호들을 생성하기 위한 자력계(magnetometer) - 상기 디지털 자력계 출력 신호들은 상기 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 나타내고, 상기 디지털 자력계 출력 신호들의 각각은 검출된 자계의 강도와 관련된 크기를 가짐 - 와,
    명령어를 저장하기 위한 메모리 장치와,
    상기 자력계에 연결된 프로세서를 포함하되,
    상기 프로세서는 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금,
    상기 디지털 자력계 출력 신호들의 적어도 일부가 상기 자기 카드 정보로부터 도출된 상기 자기 정보를 나타내는지 판정하게 하고,
    상기 디지털 자력계 출력 신호들의 적어도 일부가 상기 지구 자계로부터 도출된 상기 자기 정보를 나타내는지 판정하게 하며,
    상기 자기 스와이프 카드로부터 도출된 상기 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하게 하고,
    상기 지구 자계로부터 도출된 상기 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 나침반 애플리케이션에 제공하게 하는
    모바일 장치.
  2. 제 1 항에 있어서,
    상기 자력계는 3축 전자 나침반 집적 회로(IC)를 포함하는
    모바일 장치.
  3. 제 1 항에 있어서,
    상기 프로세서는 또한, 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금,
    상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하게 하는
    모바일 장치.
  4. 제 1 항에 있어서,
    상기 프로세서는 상기 디지털 자력계 신호들 중 적어도 일부가 상기 자기 스와이프 카드로부터 도출된 상기 자기 정보를 나타내는지 판정하게 하는 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금 또한,
    상기 자기 정보로부터 판독된 상기 검출된 자계 강도의 범위와 관련된 상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하게 하는
    모바일 장치.
  5. 제 1 항에 있어서,
    상기 프로세서는, 상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 지구 자계로부터 도출된 상기 자기 정보를 나타내는지 판정하게 하는 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금 또한,
    지구와 연관된 자계 강도의 범위와 관련된 상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하게 하되,
    상기 범위는 적어도 20,000 내지 80,000 나노테슬라(nTs)를 나타내는
    모바일 장치.
  6. 제 1 항에 있어서,
    상기 디지털 자력계 출력 신호들은 3축 자기 컴포넌트의 각각에 대한 선택 가능한 데이터 출력 신호들을 포함하는
    모바일 장치.
  7. 제 1 항에 있어서,
    상기 나침반 애플리케이션은 내비게이션 애플리케이션을 나타내는
    모바일 장치.
  8. 제 3 항에 있어서,
    상기 하우징 내에 포함되는 다른 자기 컴포넌트를 더 포함하고,
    상기 프로세서는, 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금 또한,
    상기 다른 자기 컴포넌트에 의해 야기된 자기 편차를 계산하게 하고,
    상기 모바일 장치로 하여금 상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하게 하는 명령어를 실행하기 전에 상기 계산된 자기 편차에 기초하여 상기 디지털 자력계 출력 신호들을 조정하게 하는
    모바일 장치.
  9. 제 1 항에 있어서,
    상기 디지털 자력계 출력 신호들은 의료 정보로부터 도출된 자기 정보를 나타내고,
    상기 프로세서는, 상기 명령어를 실행할 때, 상기 모바일 장치로 하여금 또한,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하게 하고,
    상기 의료 정보로부터 도출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 다른 애플리케이션에 제공하게 하는
    모바일 장치.
  10. 모바일 장치 내의 자력계에 의해, 상기 모바일 장치의 표면을 따라 스와이핑된 자기 스와이프 카드로부터 자계의 방향 및 강도를 검출하는 단계와,
    상기 모바일 장치 내의 자력계에 의해, 다른 자기 소스로부터 자계의 방향 및 강도를 검출하는 단계와,
    상기 모바일 장치 내의 자력계에 의해, 디지털 자력계 출력 신호들을 생성하는 단계 - 상기 디지털 자력계 출력 신호는 상기 자기 스와이프 카드 및 상기 다른 자기 소스로부터 도출된 자기 정보를 나타내고, 상기 디지털 자력계 출력 신호들의 각각은 상기 검출된 자계의 강도와 관련된 크기를 가짐 - 와,
    머신의 프로세서에 의해, 상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 자기 스와이프 카드로부터 도출된 상기 검출된 자기 정보를 나타내는지 판정하는 단계와,
    상기 머신의 프로세서에 의해, 상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 다른 자기 소스로부터의 상기 검출된 자기 정보를 나타내는지 판정하는 단계와,
    상기 머신의 프로세서에 의해, 상기 자기 스와이프 카드로부터 도출된 상기 검출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호를 이용하는 자기 카드 애플리케이션 및 상기 다른 자기 소스로부터 도출된 상기 검출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 이용하는 다른 애플리케이션 중 적어도 하나를 실행하는 단계를 포함하는
    방법.
  11. 제 10 항에 있어서,
    상기 디지털 자력계 출력 신호들을 저장하는 단계와,
    상기 머신의 상기 프로세서에 의해, 상기 자기 카드 애플리케이션으로부터의 명령어에 기초하여 상기 자기 스와이프 카드로부터 도출된 상기 검출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들에 액세스하는 단계와,
    상기 머신의 상기 프로세서에 의해, 상기 다른 애플리케이션에 기초하여 상기 다른 자기 소스로부터 도출된 상기 검출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들에 액세스하는 단계를 더 포함하는
    방법.
  12. 제 10 항에 있어서,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 자기 스와이프 카드로부터 도출된 상기 검출된 자기 정보를 나타내는지 판정하는 단계는,
    상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하는 단계를 더 포함하는
    방법.
  13. 제 10 항에 있어서,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 자기 카드 정보로부터 도출된 상기 자기 정보를 나타내는지 판정하는 단계는,
    상기 자기 정보로부터 판독된 상기 검출된 자계 강도의 범위와 관련된 상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들을 필터링하는 단계를 더 포함하는
    방법.
  14. 제 10 항에 있어서,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 다른 자기 소스로부터의 상기 검출된 자기 정보를 나타내는지 판정하는 단계는,
    지구와 연관된 자계 강도의 범위와 관련된 상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호를 필터링하는 단계 - 상기 범위는 적어도 20,000 내지 80,000 나노테슬라(nTs)를 나타냄 - 를 더 포함하는
    방법.
  15. 제 10 항에 있어서,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하는 단계와,
    상기 의료 정보로부터 도출된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 의료 애플리케이션에 제공하는 단계를 더 포함하는
    방법.

  16. 제 15 항에 있어서,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 의료 정보로부터 도출된 자기 정보를 나타내는지 판정하는 단계는,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 혈액 샘플로부터 도출된 자기 정보를 나타내는지 판정하는 단계를 더 포함하는
    방법.
  17. 적어도 하나의 프로세서와 통신하고 명령어를 저장한 비일시적 머신 판독가능 저장 매체로서,
    상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때,
    모바일 장치에 의해 캡처된 디지털 자력계 출력 신호들을 수신하는 동작 - 상기 디지털 자력계 출력 신호들은 자기 스와이프 카드 및 지구 자계로부터 도출된 자기 정보를 포함함 - 과,
    상기 디지털 자력계 출력 신호들의 크기에 기초하여 상기 디지털 자력계 출력 신호들이 상기 자기 스와이프 카드와 연관된 자기 정보를 나타내는지 또는 상기 지구 자계와 연관된 자기 정보를 나타내는지 판정하기 위해 상기 자기 정보를 필터링하는 동작과,
    상기 자기 스와이프 카드와 연관된 상기 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 자기 스와이프 카드 애플리케이션에 제공하는 동작과,
    상기 지구 자계와 연관된 상기 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 나침반 애플리케이션에 제공하는 동작을 수행하는
    머신 판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때,
    모바일 장치에 의해 캡처된 디지털 자력계 출력 신호들을 수신하는 동작 - 상기 디지털 자력계 출력 신호들은 의료 정보로부터 도출된 자기 정보를 포함함 - 과,
    상기 디지털 자력계 출력 신호들 중 적어도 일부가 상기 의료 정보와 연관된 자기 정보를 나타내는지 판정하는 동작과,
    상기 의료 정보와 연관된 자기 정보를 나타내는 상기 디지털 자력계 출력 신호들을 처리를 위해 의료 애플리케이션에 제공하는 동작을 또한 수행하는
    머신 판독가능 저장 매체.
  19. 명령어 세트를 운반하는 머신 판독가능 매체로서,
    상기 명령어 세트는 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 제 10 항 내지 제 16 항 중 어느 한 항의 방법을 실행하게 하는
    머신 판독가능 매체.
KR1020187019409A 2015-12-09 2016-12-07 모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 기법 KR101989488B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/963,639 US9589219B1 (en) 2015-12-09 2015-12-09 Method and system for magnetic stripe reading using mobile magnetometers
US14/963,639 2015-12-09
PCT/US2016/065328 WO2017100286A2 (en) 2015-12-09 2016-12-07 Magnetic stripe reading using mobile magnetometers

Publications (2)

Publication Number Publication Date
KR20180091887A true KR20180091887A (ko) 2018-08-16
KR101989488B1 KR101989488B1 (ko) 2019-09-24

Family

ID=58163472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019409A KR101989488B1 (ko) 2015-12-09 2016-12-07 모바일 자력계를 사용하여 자기 스트라이프를 판독하기 위한 기법

Country Status (5)

Country Link
US (3) US9589219B1 (ko)
EP (1) EP3387587A2 (ko)
KR (1) KR101989488B1 (ko)
CN (2) CN108369657B (ko)
WO (1) WO2017100286A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015213806A1 (de) * 2015-07-22 2017-01-26 Volkswagen Aktiengesellschaft Positionsbestimmung mit einem Magnetfeldsensor für ein Fahrzeug
US9589219B1 (en) * 2015-12-09 2017-03-07 Ebay Inc. Method and system for magnetic stripe reading using mobile magnetometers
US20180068145A1 (en) * 2016-09-07 2018-03-08 Hand Held Products, Inc. Smart scan peripheral
US11450160B2 (en) 2018-12-13 2022-09-20 Carrier Corporation Wireless access control using an electromagnet
US10888283B1 (en) * 2020-06-30 2021-01-12 Boonsieng Benjauthrit COVID-19 symptoms alert machine (CSAM) scanners

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04500939A (ja) * 1988-09-23 1992-02-20 データカード コーポレイション データカード作成システム及び方法
JPH1173606A (ja) * 1998-06-02 1999-03-16 Data Card Corp 磁気エンコーディング方法
US20150069126A1 (en) * 2013-09-09 2015-03-12 Omne Mobile Payments, Inc. Method and apparatus for enabling communication between two devices using magnetic field generator and magnetic field detector

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8302860B2 (en) 2010-10-13 2012-11-06 Square, Inc. Read head device with narrow card reading slot
US7059520B1 (en) * 2005-03-17 2006-06-13 Joel Shtesl Universal credit card integrated with cellular telephone
US20140257058A1 (en) * 2011-10-19 2014-09-11 Scanadu Incorporated Automated personal medical diagnostic system, method, and arrangement
TW201336474A (zh) * 2011-12-07 2013-09-16 通路實業集團國際公司 行為追蹤及修正系統
US11026600B2 (en) * 2012-01-09 2021-06-08 Invensense, Inc. Activity classification in a multi-axis activity monitor device
CA2915901A1 (en) * 2012-06-20 2013-12-27 David Allen Brule Wearable rfid storage devices
CN104884902B (zh) * 2012-08-02 2018-04-06 美新公司 用于三轴磁力计和三轴加速度计的数据融合的方法和装置
US9500464B2 (en) * 2013-03-12 2016-11-22 Adidas Ag Methods of determining performance information for individuals and sports objects
CN104287703B (zh) * 2013-06-03 2018-06-05 飞比特公司 个人健身跟踪装置中的陀螺仪的使用
CN106073737B (zh) * 2013-06-03 2018-11-23 飞比特公司 可佩戴心率监视器
US9589219B1 (en) * 2015-12-09 2017-03-07 Ebay Inc. Method and system for magnetic stripe reading using mobile magnetometers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04500939A (ja) * 1988-09-23 1992-02-20 データカード コーポレイション データカード作成システム及び方法
JPH1173606A (ja) * 1998-06-02 1999-03-16 Data Card Corp 磁気エンコーディング方法
US20150069126A1 (en) * 2013-09-09 2015-03-12 Omne Mobile Payments, Inc. Method and apparatus for enabling communication between two devices using magnetic field generator and magnetic field detector

Also Published As

Publication number Publication date
WO2017100286A2 (en) 2017-06-15
EP3387587A2 (en) 2018-10-17
CN113011545B (zh) 2024-05-28
US20170169257A1 (en) 2017-06-15
CN108369657B (zh) 2021-03-12
WO2017100286A3 (en) 2017-09-08
US20180150657A1 (en) 2018-05-31
US9928389B2 (en) 2018-03-27
KR101989488B1 (ko) 2019-09-24
CN113011545A (zh) 2021-06-22
US9589219B1 (en) 2017-03-07
US10192079B2 (en) 2019-01-29
CN108369657A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
US10192079B2 (en) Method and system for magnetic stripe reading using mobile magnetometers
US11100564B2 (en) Regional item recommendations
US11792733B2 (en) Battery charge aware communications
US11416915B2 (en) Crowd sourcing locations for seller privacy
KR102598806B1 (ko) 동적으로 구성 가능한 소셜 미디어 플랫폼
KR20170004400A (ko) 근거리 통신을 이용한 결제 방법 및 그 전자 장치
US20240104556A1 (en) Redirecting to a trusted device for secured data transmission
WO2016168663A1 (en) Web barcode scanner
US20210158371A1 (en) Verified video reviews
KR102553318B1 (ko) 결제를 수행하는 전자 장치 및 방법
US11128631B2 (en) Portable electronic device with user-configurable API data endpoint
AU2016250656B2 (en) Generating a discovery page depicting item aspects
US10902507B2 (en) Replaced device handler
US11048374B2 (en) Online pluggable 3D platform for 3D representations of items
US10417724B2 (en) Methods and systems for inventory yield management

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
E701 Decision to grant or registration of patent right
GRNT Written decision to grant