KR101780220B1 - 네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템 - Google Patents

네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101780220B1
KR101780220B1 KR1020167009611A KR20167009611A KR101780220B1 KR 101780220 B1 KR101780220 B1 KR 101780220B1 KR 1020167009611 A KR1020167009611 A KR 1020167009611A KR 20167009611 A KR20167009611 A KR 20167009611A KR 101780220 B1 KR101780220 B1 KR 101780220B1
Authority
KR
South Korea
Prior art keywords
user
exchange
code
data
authorization code
Prior art date
Application number
KR1020167009611A
Other languages
English (en)
Other versions
KR20160055872A (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 KR20160055872A publication Critical patent/KR20160055872A/ko
Application granted granted Critical
Publication of KR101780220B1 publication Critical patent/KR101780220B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/43Security arrangements using identity modules using shared identity modules, e.g. SIM sharing

Abstract

승인 코드를 포함한 데이터 교환 요청을 제 2 사용자로부터 수신하는 단계(120), 제 2 사용자의 위치의 현재 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하는 단계(130), 승인 코드를 상기 하나 이상의 제 1 사용자들에 사전-할당된 하나 이상의 교환 코드들과 비교하는 단계(140), 및 승인 코드의 유효성을 검증하는 단계를 포함하고 상기 제 2 사용자 위치의 한정된 범위 내에서의 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중에서, 상기 제 2 사용자의 상기 승인 코드와 일치하는(150) 교환 코드가 존재하며, 상기 제 2 사용자의 상기 승인 코드가 유효한 것으로 결정되는 경우에, 상기 사용자들 사이에서 데이터 교환을 수행하는 단계를 포함하는 방법이 개시된다. 상기 데이터 교환은 지불 트랜잭션에 관련될 수 있다. 상기 승인 코드는 시간 제한 1회용 패스워드(OTP)에 관련될 수 있다.

Description

네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템{METHOD AND SYSTEM FOR LOCATION BASED DATA COMMUNICATION OVER NETWORK}
다른 출원들에 대한 상호 참조
본 출원은 모든 목적들을 위해 여기에서 참조로서 통합되는 2013년 11월 13일에 출원된, 데이터 교환 방법 및 시스템(A DATA EXCHANGE METHOD AND SYSTEM)이라는 제목의, 중화 인민 공화국 특허 출원 번호 제201310566609.0호에 대한 우선권을 주장한다.
본 출원은 네트워크를 통한 데이터 통신을 위한 방법 및 시스템에 관한 것이다.
인터넷을 통해, 사용자들은 편리하게 온라인으로 데이터를 저장할 수 있다. 예를 들면, 사용자들에 대한 개인 데이터는 온라인으로 안전하게 저장될 수 있으며 단말 장비를 통해 액세스되고, 보여지고, 교환될 수 있다. 온라인으로 저장된 데이터에 관하여, 사용자들이 관습적으로 단거리들에 걸쳐 오프라인 데이터 교환들을 실시간으로 행할 때, 사용자들은 모바일 전화와 같은 사용자들의 단말 장비 상에 설치된 적절한 클라이언트 앱들을 통해 데이터를 교환할 수 있다. 하나의 사용자가 또 다른 사용자와 데이터를 교환하기를 원한다면, 사용자는 데이트 교환 요청을 금전 등록기에 전송하고 클라이언트 앱 상에 디스플레이된 인터페이스에서 적절한 등록된 계좌 정보를 입력하며 그 후, 적절한 정보를 입력한 후, 데이터 교환을 개시한다. 그러나, 이러한 접근법은 개인 정보, 계좌 번호, 패스워드 등을 입력하거나 등록 정보를 수집하도록 당사자들 중 적어도 하나에 요구한다. 시간 기간 내에서, 사용자는 많은 데이터 동작들을 수행하고 심지어 사용자 인터페이스들 사이에서 앞뒤로 스위칭하도록 요구하며 데이터 교환 동작을 수행하기 위해 2개의 당사자들 사이에서 교환할 수 있다.
데이터 교환을 오프라인으로 하기 위한 이러한 접근법은 편리하지 않고, 비교적 긴 프로세싱 시간을 수반하며, 높은 비용들을 가진다. 따라서, 접근법은 다루기 힘들며 시간-소모적이고, 전체 교환 프로세스는 비효율적이다.
승인 코드를 포함한 데이터 교환 요청을 제 2 사용자로부터 수신하는 단계(120), 제 2 사용자의 위치의 현재 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하는 단계(130), 승인 코드를 상기 하나 이상의 제 1 사용자들에 사전-할당된 하나 이상의 교환 코드들과 비교하는 단계(140), 및 승인 코드의 유효성을 검증하는 단계를 포함하고, 상기 제 2 사용자 위치의 한정된 범위 내에서의 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중에서, 상기 제 2 사용자의 상기 승인 코드와 일치하는(150) 교환 코드가 존재하며, 상기 제 2 사용자의 상기 승인 코드가 유효한 것으로 결정되는 경우에, 상기 사용자들 사이에서 데이터 교환을 수행하는 단계를 포함하는 방법이 개시된다.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부한 도면들에서 개시된다.
도 1은 데이터를 교환하기 위한 프로세스의 일 실시예의 흐름도.
도 2는 데이터를 교환하기 위한 디바이스의 일 실시예의 구조도.
도 3은 데이터를 교환하기 위한 시스템의 일 실시예의 다이어그램을 도시한 도면.
도 4는 데이터를 교환하기 위한 프로그램된 컴퓨터 시스템의 일 실시예를 도시한 기능도.
본 발명은 프로세스; 장치; 시스템; 재료의 구성; 컴퓨터 판독가능한 저장 매체상에 구체화된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리에 저장되고 및/또는 그것에 의해 제공된 지시들을 실행하도록 구성된 프로세서와 같은 프로세서를 포함한, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들로서 불리울 수 있다. 일반적으로, 개시된 프로세서들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 서술되지 않는다면, 태스크를 수행하도록 구성되는 것으로서 설명된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에 태스크를 수행하도록 임시로 구성되는 일반 구성요소 또는 태스크를 수행하도록 제조되는 특정 구성요소로서 구현될 수 있다. 여기에서 사용된 바와 같이, 용어('프로세서')는 컴퓨터 프로그램 지시들과 같은, 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 나타낸다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부한 도면들과 함께 이하에서 제공된다. 본 발명은 이러한 실시예들과 관련되어 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 단지 청구항들에 의해서만 제한되며 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 세부사항들은 본 발명의 철저한 이해를 제공하기 위해 다음의 설명에서 제시된다. 이들 세부사항들은 예의 목적을 위해 제공되며 본 발명은 이들 특정 세부사항들의 일부 또는 모두 없이 청구항들에 따라 실시될 수 있다. 명료함을 위해, 본 발명에 관련된 기술 분야들에서 알려져 있는 기술 자료는 본 발명이 불필요하게 모호하게 되지 않도록 상세히 설명되지 않는다.
본 출원은 패스워드 보안 기술 및 위치 결정 서비스 기술과 데이터 교환들을 조합함으로써 데이터 교환들의 동작 효율 및 보안을 증가시키는 것을 설명한다. 예를 들면, 사용자들이 데이터 교환을 수행하기 전에, 제 1 사용자는 유효 시간을 가진 교환 코드를 사전-할당받는다. 유효 시간을 가지며 상기 제 1 사용자에게 제공된 교환 코드에 기초하여 형성된 승인 코드가 제 2 사용자로부터 수신된다. 상기 승인 코드는 상기 제 1 사용자가 획득하며 상기 제 1 사용자가 데이터 교환들에 참여되는 교환 코드에 대응하고 그것을 갖고 제 2 사용자에게 송신하며, 따라서 상기 제 1 사용자의 교환 코드는 상기 제 2 사용자의 승인 코드로서 작용한다. 사용자 위치 정보는 위치 결정 기술을 사용하여 획득된다. 그 후, 상기 제 2 사용자 주위에서의 특정한 지리적 범위 내에서의 하나 이상의 제 1 사용자들은 상기 제 1 사용자에 의해 보고된 제 1 사용자 위치 정보 및 상기 제 2 사용자에 의해 보고된 제 2 사용자 위치 정보에 기초하여 결정되며, 상기 제 2 사용자로부터 수신된 승인 코드는 상기 결정된 하나 이상의 제 1 사용자들의 상기 사전-할당된 교환 코드들과 비교된다. 상기 승인 코드 및 교환 코드가 일치하며, 상기 일치하는 승인 및 교환 코드들 양쪽 모두가 유효 시간들 내에 있는 경우에, 상기 교환 코드에 대응하는 상기 제 1 사용자 및 상기 승인 코드에 대응하는 상기 제 2 사용자는 데이터를 교환할 수 있다. 일치하는 승인 코드 및 교환 코드가 존재하지 않는 경우에, 또는 상기 승인 코드 및 교환 코드가 유효 시간들을 갖지 않는 경우에, 어떤 데이터 교환도 수행되지 않는다.
더욱이, 일부 실시예들에서, 1회용 패스워드(OTP)는 패스워드 보안 기술로서 사용된다. 예를 들면, 상기 1회용 패스워드는 단지 한 번 사용될 수 있는 랜덤 패스워드이고 유효 시간 기간 및 사용자 제약들의 대상이 되며, 즉 특정한 시간 기간 내에서 상기 1회용 패스워드에 국한된(그것에 대응하는) 사용자에 의해 사용되기 쉽다. 이러한 패스워드 보안 기술은, 예를 들면, 교환 코드들 및 승인 코드들을 생성하기 위해 적용된다. 위치 결정 서비스 기술은 전역적 위치 결정 시스템(GPS), 위치-기반 서비스 기술(LBS, 위치-기반 서버), Wi-Fi 핫 스팟(hot spot)들, 블루투스, 또는 사용자들의 위치를 결정하기 위한 다른 이러한 기술을 포함할 수 있다.
더욱이, 일부 실시예들에서, 사용자들의 Wi-Fi 핫스팟 위치들을 획득하는 것은 다음과 같이 수행된다: 사용자 주위에 존재하는 Wi-Fi 핫스팟의 기본 서비스 세트 식별자(BSSID) 방송이 사용자 단말을 통해 획득된다. 상기 BSSID 방송이 지리적 위치와 부합하므로, 사용자의 위치 정보는 이러한 동작에 기초하여 획득될 수 있다. 일부 실시예들에서, 사용자의 위치 정보는 위도 및 경도로 표현된다. BSSID에 기초하여 지리적 위치를 획득하는 것은 당업자에 의해 이해되며 따라서 간결함을 위해 추가로 설명되지 않을 것이다.
더욱이, 일부 실시예들에서, 사용자들은 블루투스 기술을 사용하여 위치가 찾아진다. 이러한 위치 찾기는 블루투스 장비를 통해 수행되며, 블루투스 장비에 대한 정확한 위치 정보가 이미 서버에 존재한다. 예를 들면, 사용자는 블루투스 기능을 사용하여 블루투스 장비를 탐색한다. 그 후, 사용자의 위치 정보는 사용자 및 블루투스 장비의 위치 관계에 기초하여 결정된다. 일부 실시예들에서, 사용자의 위치 정보는 위도 및 경로로 표현된다.
도 3은 데이터를 교환하기 위한 시스템의 일 실시예의 다이어그램이다. 일부 실시예들에서, 시스템(300)은 네트워크(340)에 걸쳐 서버(330)와 통신하는 제 1 클라이언트(310) 및 제 2 클라이언트(320)를 포함한다.
일부 실시예들에서, 제 1 클라이언트(310)를 사용하는 제 1 사용자는 서버(330)를 통해 네트워크(340)에 걸쳐 제 2 클라이언트(330)를 사용하는 제 2 사용자와 데이터를 교환한다.
도 1은 데이터를 교환하기 위한 프로세스의 일 실시예의 흐름도이다. 일부 실시예들에서, 프로세스(100)는 도 3의 서버(330)에 의해 구현된다. 이 실시예에서 동작들은 위치-기반 서버들 및 1회용 패스워드들의 예들을 수반한다.
제 1 사용자의 디바이스(예로서, 구매자의 모바일 전화)는 서버에 교환 코드 요청을 전송하기 위한 것인 교환 코드를 제 1 사용자에 의해 사용된 제 1 클라이언트 디바이스 또는 제 1 클라이언트를 위해 미리 할당하며 제 1 클라이언트 디바이스의 위치 정보를 미리 서버에 전송한다. 일부 실시예들에서, 하나 이상의 제 1 클라이언트들/제 1 사용자들이 존재한다.
110에서, 서버는 교환 코드 요청을 전송하기 위한 것인 교환 코드를 제 1 사용자에 의해 사용된 제 1 클라이언트 디바이스 또는 제 1 클라이언트를 위해 미리 사전-할당하며, 제 1 클라이언트 디바이스의 위치 정보를 미리 수신한다. 일부 실시예들에서, 서버는 주기적으로 하트비트(heartbeat)로서 제 1 클라이언트 디바이스의 위치를 수신한다. 예를 들면, 제 1 사용자는 제 1 사용자가 제 2 사용자로의 지불의 전송을 개시하기 위해 제 1 사용자의 디바이스에 대한 지불 애플리케이션(앱)을 사용할 때 교환 코드 요청을 전송할 수 있다.
일부 실시예들에서, 서버는 일부 하트비트에 기초하여 제 1 사용자 위치 정보를 획득한다.
교환 코드 요청을 전송하는 제 1 클라이언트로의 교환 코드의 앞선 할당의 설명이 이하에 제공된다. 일부 실시예들에서, 교환 코드는 1회용 패스워드이다. 예를 들면, 교환 코드는 패스워드이며, 패스워드를 사용한 성공적인 인증 시, 제 1 사용자 및 제 2 사용자는 데이터를 교환한다. 또 다른 예에서, 그에 의해 제 1 사용자 및 제 2 사용자가 데이터를 교환하는 패스워드는 교환 코드에 기초하여 생성된다. 예를 들면, 제 1 사용자 및 제 2 사용자는 패스워드에 기초하여 데이터를 교환할 수 있다. 제 1 사용자는 서버에 교환 코드 요청을 전송한다. 일부 실시예들에서, 패스워드는 교환 코드를 획득하도록 서버로의 교환 코드 요청을 생성하기 위해 사용된다. 사용자는 교환 코드가 특정한 요건들(예로서, 교환 코드는 적어도 10자리들이어야 한다 등)을 준수하는 한, 단일 사용 코드로서 교환 코드를 설정할 수 있다.
하나의 예에서, 데이터 교환들을 행하기 전에, 제 1 사용자의 디바이스는 교환 코드를 획득하기 위해 교환 코드 요청을 서버에 전송한다. 일부 실시예들에서, 교환 코드 요청은 예를 들면, 제 1 사용자의 사용자 ID와 같은, 사용자 식별 정보를 포함한다. 제 1 사용자의 사용자 ID는 서버에 대하여 고유하며, 제 1 사용자의 사용자 ID를 사용함으로써, 임의의 제 1 사용자의 사용자 ID를 복제하는 것을 회피하기 위해 하나의 고유한 제 1 사용자를 라벨링하는 것이 가능하다. 서버는 교환 코드 요청에 기초하여 교환 코드 요청을 전송한 제 1 사용자의 사용자 ID를 식별할 수 있다. 데이터 교환을 행하기 전에, 제 1 사용자는 사용자의 디바이스를 통해 교환 코드 요청에 따라 제 1 사용자에 대한 교환 코드를 사전-할당하며, 교환 코드를 제 1 사용자(사용자 ID)에 결합한다. 이러한 결합은 사용자 ID와의 교환 코드의 매핑 관계 또는 대응의 형성을 포함한다. 예를 들면, 제 1 사용자에 할당된 교환 코드는 제 1 사용자(사용자 ID)에 대응한다. 그 후, 결합 관계는 서버에 저장된다. 예를 들면, 표 1에 도시된 바와 같이, 사용자 ID들 및 교환 코드들이 서로 부합하여 저장된다.
더욱이, 일부 실시예들에서, 교환 코드는 고유하며 유효 시간을 가진 랜덤 데이터로서 표현되며, 교환 코드는 교환 코드에 국한된(대응하는) 제 1 사용자에 의해 유효 시간 내에서 단지 한 번 사용될 수 있다. 더욱이, 일부 실시예들에서, 교환 코드는 특정한 범위 내에서 고유하며 유효 시간을 갖고, 교환 코드에 국한된 제 1 사용자에 의해 유효 시간 내에서 단지 한 번 사용될 수 있는 랜덤 데이터로서 표현된다. 일부 실시예들에서, 랜덤 데이터(교환 코드)는 수치 값들, 글자들, 및/또는 심볼들을 포함한다. 예를 들면, 서버는 제 1 사용자에 대한 교환 코드를 생성한다. 교환 코드는 또한 유효 시간을 포함한다. 교환 코드의 유효 시간 내에서, 특정한 시간 범위 내에서 교환 코드를 반복하는(그것과 같은) 또 다른 교환 코드는 발생하지 않도록 보장된다. 게다가, 교환 코드는 재사용될 수 없다. 다시 말해서, 교환 코드는 단지 한 번 제 1 사용자에 의해 사용될 것이다. "특정 범위"는 사전 설정된 지리적 영역 범위를 나타낸다. 예를 들면, 베이징은 지리적 영역 범위에 대응한다.
또 다른 예에서, 교환 코드의 유효 시간은 교환 코드가 사용될 유효 시간을 표현한다. 유효 시간 밖에서, 교환 코드는 유효하지 않게 된다. 예를 들면, 교환 코드 유효 시간은 8시간들에 대응하며, 교환 코드는 2013년 9월 5일 오전 1:00:00에 시행된다. 컷-오프 시간, 즉 실효 시간은 2013년 9월 5일 오전 9:00:00이다. 그러므로, 교환 코드를 획득하는 제 1 사용자가 2013년 9월 5일 오후 10:00에 교환 코드를 사용한다면, 교환 코드는 그날 오전 9:00:00의 컷-오프 시간을 이미 초과하였을 것이다. 다시 말해서, 유효 시작 시간에서 시작한 8-시간 유효 시간 간격은 이미 경과하였으며, 이것은 교환 코드의 유효 시간이 만료되었음을 의미한다. 이 예에서, 교환 코드는 유효하기 위해 중단되며 무효로 된다. 그러므로, 교환 코드와의 데이터 교환을 완료하는 것은 가능하지 않다. 더욱이, 유효 시작 시간은 또한 2013년 9월 5일 오전 1:00:00의 상기 예에서처럼, 서버가 상기 요청에 기초하여 교환 코드를 생성할 때의 시간에 대응한다.
일부 실시예들에서, 교환 코드는 그것이 속하는 제 1 사용자에 의해 단지 한 번 사용될 수 있다. 예를 들면, 교환 코드를 획득한 제 1 사용자가 데이터 교환을 완료하기 위해 교환 코드를 사용한 후, 제 1 사용자는 데이터 교환을 행하기 위해 다시 교환 코드를 사용할 수 없다. 교환 코드는 교환 코드를 획득한 제 1 사용자에 국한된다. 예를 들면, 서버에 의해 생성된, 8-자리 교환 코드("12345678")는 사용자 A에 할당되며, 그것의 사용자 ID는 123이다. 따라서, 이러한 교환 코드(12345678)는 사용자 A에 국한된다. 교환 코드는 랜덤하게 생성되거나 사용자에 의해 입력될 수 있다. 일부 실시예들에서, 교환 코드는 1회용 사용 코드이다.
데이터 교환들의 보안을 증가시키기 위해, 상기 교환 코드의 생성 및 설계는 교환 코드가 할당된 제 1 사용자가 아닌 어떤 사용자도 교환 코드를 디코딩하거나 유효하게 사용할 수 없음을 보장할 수 있다.
일부 실시예들에서, 사용자 교환 코드 정보 표가, 제 1 사용자들에 사전-할당된 교환 코드 정보를 저장하기 위해, 표 1처럼, 생성된다. 예를 들면, 사용자 교환 코드 정보 표는 교환 코드들을 획득한 제 1 사용자들의, 사용자 ID들, 교환 코드들, 교환 코드 유효 시작 시간들, 교환 코드 유효 시간들 등을 포함한다.
Figure 112016035009682-pct00001
표 1에 제공된 사용자 교환 코드 정보 표에서, 사용자 ID(123)를 가진 제 1 사용자가 존재한다. 제 1 사용자의 교환 코드는 12345678이며, 교환 코드가 생성된 시간, 즉 교환 코드에 대한 유효 시작 시간은 20130906-1:00(2013년 9월 5일, 오전 1:00:00)이다. 교환 코드의 유효 시간은 8시간들이며, 따라서 교환 코드의 컷오프 시간은 2013년 9월 5일 오전 9:00:00이 될 것이다. 다시 말해서, 교환 코드는 2013년 9월 5일 오전 9:00에서 무효가 될 것이다.
하나 이상의 제 1 사용자들에 의해 보고된 위치 정보를 미리 획득하며 위치 정보를 저장하기 위한 설명이 이하에서 제공된다.
일부 실시예들에서, 하나 이상의 제 1 사용자들에 의해 보고된 위치 정보는 하나 이상의 제 1 사용자들에 대한 지리적 위치 정보를 포함한다. 제 1 사용자들에 대한 지리적 위치 정보는 하나 이상의 제 1 사용자들의 위치들에 대응한다. 일부 실시예들에서, 지리적 위치 정보는 하나 이상의 제 1 사용자들에 대한 전역적 위치 결정 정보(GPS, 전역적 위치 결정 시스템)에 대응한다.
일부 실시예들에서, 제 1 사용자에 의해 매번 보고되는 위치 정보는 사용자 상태 정보를 포함한다. 예를 들면, 사용자 상태 정보는 제 1 사용자의 사용자 ID를 포함한다. 대응이 제 1 사용자에 의해 보고된 위치 정보와 제 1 사용자의 사용자 ID 사이에서 수립된다. 대응은 서버가 제 1 사용자의 현재 위치를 알 수 있게 하기 위해 서버에 저장된다. 제 1 사용자의 디바이스에 의해 보고된 위치 정보 및 제 1 사용자에 대응하는 고유 사용자 ID는 함께 서버에 전송되며 서버에 의해 수신되고, 이것은 그 후 표 2에 도시된 바와 같이, 서버가 위치 정보 및 사용자 ID를 획득하며 서로와 부합하여 위치 정보 및 사용자 ID를 저장한다. 일부 실시예들에서, 서버는 제 1 사용자의 디바이스에 의해 보고된 위치 정보에 기초하여 저장된 위치 정보를 업데이트한다.
일부 실시예들에서, 제 1 사용자는 서버에 대한 위치 정보의 고정 시간, 고정-위치 보고, 또는 그것의 조합을 구현하기 위해 위치-기반 서비스들(LBS) 기술을 사용한다. 더욱이, 일부 실시예들에서, 제 1 사용자는, 이동하는 프로세스 동안, 그것들의 위치가 실시간으로 변함에 따라 그것들의 위치 정보를 서버에 실시간으로 또는 주기적으로 보고한다. 일부 실시예들에서, 제 1 사용자의 디바이스에 의해 보고된 위치 정보를 수신할 때, 서버는 서버에 저장된 제 1 사용자의 위치 정보를 업데이트한다.
일부 실시예들에서, 고정 시간들에서 제 1 사용자의 디바이스 보고 위치 정보는 LBS 기술에 기초하여 기준 양으로서 시간을 갖고 위치 정보를 보고하는 것을 포함한다. 예를 들면, 제 1 사용자의 디바이스는 위치 정보를 주기적으로(고정 시간들에서) 보고한다. 또 다른 예에서, 제 1 사용자의 디바이스는 매 10분마다 한 번 서버에 보고한다.
일부 실시예들에서, 제 1 사용자의 디바이스는 LBS 기술에 기초하여 기준 양으로서 특정 위치를 갖고 위치 정보를 보고하는 것을 포함한 고정된 위치들에서 위치 정보를 보고한다. 예를 들면, 제 1 사용자의 디바이스는 Wi-Fi 핫스팟에 의해 커버된 특정한 범위(고정 위치) 내에서 위치 정보를 보고한다.
또한, 제 1 사용자의 디바이스는 상기 고정-시간 및 고정-위치 접근법들의 조합을 통해 위치 정보를 또한 보고할 수 있다. 예를 들면, 10분 사이클에 따라, 제 1 사용자의 디바이스는 Wi-Fi 핫스팟에 의해 커버된 슈퍼마켓(고정 위치)의 범위 내에서 위치 정보를 주기적으로(고정-시간) 보고한다.
제 1 사용자에 의해 고정 위치들로부터, 고정된 시간들, 또는 그것의 조합에서 보고된 위치 정보에 기초하여, 서버는 표 1의 사용자 교환 코드 정보 표에 제 1 사용자-보고 위치 정보를 부가할 수 있거나 표 2에 도시된 바와 같이, 대응하는 사용자 교환 코드 정보 표를 업데이트하거나 수립할 수 있다.
Figure 112016035009682-pct00002
표 2에서, 제 1 사용자의 디바이스에 의해 보고된 위치 정보가 처음으로 수신된다면, 서버는 교환 코드 정보 표에서 제 1 사용자에 대한 새로운 위치 정보 로우를 수립할 수 있다. 다시 말해서, 서버는 제 1 사용자(사용자 ID는 123이다)에 대한 북경 39" 26' 및 동위 115" 25'와 같은, 위치 정보를 부가할 수 있다. 위치 정보는 제 1 사용자가 위치를 변경함에 따라 변할 수 있다. 다시 말해서, 보고된 위치 정보가 처음으로 수신되지 않는다면, 서버는 표 2에서 적절한 사용자 ID에 대응하는 위치 정보를 실시간으로 업데이트하기 위해 매번 수신되는(획득되는) 제 1 사용자 위치 정보를 사용할 수 있다. 이러한 방식으로, 서버는 제 1 사용자의 현재, 정확한 위치 정보를 결정할 수 있으며, 즉 서버는 제 1 사용자가 현재 위치되는 곳을 결정할 수 있다.
일례에서: 모바일 전화 사용자와 같은, 단말 장비를 사용하는 제 1 사용자는 모바일 전화상에 클라이언트 프로그램(앱)을 설치한다. 모바일 전화 사용자는 대응하는 서버로부터 교환 코드를 요청하기 위해 상기 앱을 사용할 수 있다. 일부 실시예들에서, 교환 코드는 서버에 의해 랜덤하게 생성된다. 교환 코드의 일례는 사용되지 않은 8-자리 숫자이며, 상기 8-자리 숫자는 모바일 전화 사용자의 계좌 번호에 국한된다. 동시에, 8 시간들의 유효 시간 기간은 8-자리 숫자에 대해 설정된다. 모바일 전화 사용자 클라이언트 앱은 또한 획득된 교환 코드를 디스플레이할 수 있다. 또한, 모바일 전화 사용자의 지리적 위치에서의 변화들은 상기 앱을 통해 검출될 수 있다. 그 다음에, 모바일 전화 사용자의 계좌 정보 및 LBS 정보는 고정-시간, 주기적, 또는 다른 접근법을 사용하여 서버에 송신될 수 있다. 예를 들면, 계좌 정보는 사용자 id를 포함한다. 또한, LBS 정보를 보고하는 것에 대한 고정-시간 접근법은, 예를 들면, LBS 타이머가 타임 아웃되었는지를 모니터링함으로써와 같이, 이용될 수 있으며, LBS 타이머가 타임 아웃되었다면, 앱은 모바일 전화 사용자 위치 정보를 서버에 보고한다. LBS 타이머가 타임 아웃되지 않았다면, 앱은 대기 모드에 남아 있는다.
120에서, 서버는 제 2 클라이언트 또는 제 2 클라이언트 디바이스를 사용하는 제 2 사용자에 의해 제출된 데이터 교환 요청을 수신하며, 제 2 사용자의 위치 정보(즉, 제 2 클라이언트의 위치)를 획득한다. 일부 실시예들에서, 데이터 교환 요청은 데이터 교환 프로세싱을 요청하는 메시지를 포함한다. 제 2 사용자의 디바이스의 위치 정보를 획득함으로써, 서버는 제 2 사용자의 위치를 결정할 수 있다. 일부 실시예들에서, 하나 이상의 제 2 사용자들이 존재한다.
일부 실시예들에서, 제 2 사용자 위치 정보는, 제 2 사용자가 데이터 교환 요청을 전송하거나 제출할 때(전송/제출), 제 2 사용자가 데이터 교환 요청을 제출하기 전에, 또는 제 2 사용자가 데이터 교환 요청을 제출한 후 획득된다.
데이터 교환 프로세싱을 요청하는 메시지(데이터 교환 요청)는 제 2 사용자의 선택적 아이덴티티 정보, 제 1 사용자의 디바이스에 의해 송신된 교환 코드에 기초하여 제 2 사용자에 대해 생성된 승인 코드 등을 포함한다. 예를 들면, 제 2 사용자의 아이덴티티 정보는 제 2 사용자의 사용자 ID를 포함한다.
승인 코드는 데이터 교환을 행하기 위해 제 1 사용자가 제 2 사용자에 대한 권한을 승인받았음을 표시한다. 일부 실시예들에서, 승인 코드는 제 1 사용자 및 제 2 사용자에 의해 행해진 데이터 교환을 위한 패스워드로서 작용한다. 제 1 사용자의 디바이스는 제 2 사용자에 대한 승인 코드를 생성하기 위해 제 2 사용자에 사전-할당된 교환 코드를 송신한다. 하나의 접근법에서, 제 2 사용자의 승인 코드는 제 1 사용자의 디바이스에 의해 송신된 교환 코드에 기초하여 생성된다. 예를 들면, 제 2 사용자는 승인 코드로서 제 1 사용자의 디바이스에 의해 송신된 교환 코드를 직접 취하고, 교환 코드를 암호화/디코딩하는 것과 같은 또 다른 미리 결정된 규칙을 이용하거나, 교환 코드에 또 다른 식별자를 부가함으로써 승인 코드를 생성한다. 예를 들면, 제 1 사용자의 디바이스 상에서의 앱은 교환 코드를 암호화하며, 서버는 암호화된 교환 코드를 복호화한다. 따라서, 제 2 사용자는 제 1 사용자와의 데이터 교환을 행하기 위해 승인 코드를 사용할 수 있다.
일례로서, 데이터 교환이 제 1 사용자와 제 2 사용자 사이에서 발생하기 전에, 제 1 사용자의 디바이스는 그것들의 교환 코드를 제 2 사용자의 디바이스에 송신(또는 통지/전송/입력)한다. 제 2 사용자의 디바이스는 수신된 교환 코드에 기초하여 제 2 사용자의 승인 코드를 생성한다. 따라서, 제 2 사용자는, 제 1 사용자가 데이터 교환을 허용(또는 허가)하는 경우에만, 제 1 사용자와 데이터를 교환하거나, 제 1 사용자로부터 데이터를 획득할 수 있다.
하나의 접근법에서, 제 1 사용자의 디바이스는 미리 획득한 교환 코드를 제 2 사용자에게 송신(통지/전송)하며, 교환 코드는 제 2 사용자의 승인 코드, 즉 제 1 사용자에서 제 2 사용자로의 승인 및 제 1 사용자로부터 데이터를 획득하기 위해 제 2 사용자에 대한 허가를 나타내는 데이터 교환 패스워드로서 작용한다.
예를 들면, 제 2 사용자가 획득하려고 하고 있는 데이터는 서버상에서 제 1 사용자의 개인용 온라인 하드 드라이브 상에 저장된다. 이 예에서, 제 2 사용자는, 제 1 사용자의 디바이스에 의해 송신된 승인 코드(교환 코드)를 입력함으로써, 제 1 사용자의 개인용 온라인 하드 드라이브로부터 데이터를 획득하기 위한 요청을 서버에 전송할 수 있다.
제 2 사용자는 서버가 제 1 사용자의 디바이스와 제 2 사용자의 디바이스 사이에서 통신 채널을 수립하기 위해 수신된 승인 코드에 기초하여 데이터 교환을 궁극적으로 완료할 수 있도록 서버에 그것들의 승인 코드를 전송한다. 제 2 사용자의 디바이스가 승인 코드를 서버에 전송하는 것과 동시에, 일부 실시예들에서, 제 2 사용자의 식별 정보, 예로서 제 2 사용자의 사용자 ID는 또한 제 2 사용자의 사용자 ID에 기초하여, 어떤 제 2 사용자가 승인 코드를 전송하였는지를 식별하기 위해 서버에 전송된다. 제 2 사용자의 사용자 ID는 고유하며, 제 2 사용자의 사용자 ID는 임의의 제 2 사용자의 어떤 사용자 ID도 복제되지 않도록 하나의 고유한 제 2 사용자를 라벨링하기 위해 사용된다.
제 2 사용자의 디바이스의 위치 정보의 획득에 대한 설명이 이하에서 제공된다.
일부 실시예들에서, 각각의 제 2 사용자는 그것들의 위치 정보를 서버에 제출하거나 보고한다. 제 2 사용자의 디바이스의 위치 정보는 제 2 사용자에 대한 지리적 위치 정보를 포함할 수 있으며, 이것은 제 2 사용자의 위치를 표시하기 위해 사용된다. 일부 실시예들에서, 제 2 사용자의 지리적 위치 정보는 제 2 사용자에 대한 GPS 정보이다. 서버는 제 2 사용자에 대해 제출되었던 위치 정보에 기초하여 제 2 사용자의 위치를 결정할 수 있다. 제 2 사용자의 위치 정보를 획득하는 것은 상기 설명된 제 1 사용자의 위치 정보를 획득하는 것과 유사하며 간결함을 위해 추가로 논의되지 않을 것이다.
하나의 접근법에서, 제 2 사용자의 위치 정보는 제 2 사용자에 의해 사전-보고될 수 있다. 사전-보고된 위치 정보는 제 2 사용자의 기록을 생성하기 위해 서버에서의 식별 정보와 부합하여 사전-저장될 수 있다. 어떤 변화도 제 2 사용자의 위치 정보에서 발생하지 않는 경우에, 서버는 제 2 사용자의 위치 정보를 업데이트하지 않는다. 제 2 사용자의 위치 정보가 변한 경우에, 제 2 사용자의 위치 정보는 업데이트하기 위해 서버에 재제출되거나 보고될 수 있다. 서버가 데이터 교환 프로세싱을 요청하는 메시지를 제 2 사용자로부터 수신하는 경우에, 서버는, 데이터 교환 프로세싱을 요청하는 메시지에서의 식별 정보(예로서, 사용자 ID)에 기초하여, 표에 저장되고 기록된 식별 정보에 대응하는 제 2 사용자를 찾고, 제 2 사용자에 대해 기록된 위치 정보를 찾으며, 그 안에 기록된 위치 정보를 획득할 것이다. 이러한 방식으로, 서버는 데이터 교환 프로세싱을 요청하는 제 2 사용자의 위치를 결정한다. 제 2 사용자의 위치가 비교적 고정되며 규칙적으로 이동하지 않는 경우에, 제 2 사용자의 위치 정보는 이러한 방식으로 서버에 사전-저장될 수 있다. 제 2 사용자는 그 후 그것들의 위치 정보를 보고하도록 요구되지 않거나, 그것들의 위치가 변할 때만 그것들의 위치 정보를 보고할 수 있다.
또 다른 접근법에서, 제 2 사용자의 디바이스는 승인 코드를 전송할 때 그것들의 위치 정보를 보고할 수 있다. 예를 들면, 제 2 사용자의 위치 정보는 전송될 데이터 교환 프로세싱을 요청하는 메시지에 포함되며 승인 코드 및 식별 정보와 함께 서버에 송신된다. 서버는 데이터 교환 프로세싱을 요청하는 메시지로부터 제 2 사용자에 대응하는 승인 코드, 식별 정보, 및 위치 정보를 획득한다. 따라서, 제 2 사용자의 위치가 결정될 수 있다. 그 후, 위치 정보가 이전에 기록된 위치 정보와 상이한 경우에, 이전 저장된 위치 정보는 업데이트될 수 있다. 일례로서, 표 3은 서버상에 저장된 제 2 사용자 위치 정보 표이다.
Figure 112016035009682-pct00003
표 3은 제 2 사용자와 그것들의 위치 정보 사이에서의 대응의 기록의 예, 즉 제 2 사용자 및 제 2 사용자 위치 정보를 저장하기 위한 형태를 도시한다. 예에서, 제 2 사용자의 사용자 ID는 456이며, 그 사용자 ID가 456인 제 2 사용자에 대응하는 위치 정보는 북경 39" 26' 및 동위 115" 25'이다. 제 2 사용자의 위치가 변할 때, 서버는 고정 시간들에서 또는 실시간으로 보고된 위치 정보에 기초하여 제 2 사용자 위치 정보 표의 기록을 업데이트할 수 있다.
일례로서(상기 예를 계속해서), 모바일 전화 사용자가 상인(제 2 사용자)에 모바일 전화 사용자의 교환 코드("12345678")를 제공한다면, 상인은 승인 코드로서 교환 코드를 그것의 금전 등록기에 입력한다. 다시 말해서, 승인 코드는 "12345678"이다. 금전 등록기는 서버에 연결된다. 예를 들면, 금전 등록기는 서버에 연결되는 컴퓨터 단말일 수 있다. 따라서, 승인 코드 및 상인의 위치 정보 및 식별 정보는 금전 등록기를 통해 서버에 전송된다. 서버는 정보를 수신하며 저장된 기록에서 상인 및 대응하는 위치를 찾는다.
130에서, 서버는 제 2 사용자의 위치 정보 및 하나 이상의 제 1 사용자들의 위치 정보에 기초하여 제 2 사용자의 특정 범위 또는 사전 설정된 범위의 위치 내에 위치된 하나 이상의 제 1 사용자들을 식별한다. 예를 들면, 서버는 금전 등록기의 위치를 알고 있으며, 서버는 예를 들면, 사용자들의 모바일 전화들이 위치 정보를 포함한 하트비트들을 서버에 주기적으로 전송하기 때문에 제 1 사용자들을 식별한다. 따라서, 예를 들면, 제 1 사용자를 찾기 위해, 서버는 금전 등록기의 50 피트의 반경 내에서 사용자들을 탐색할 수 있다.
일부 실시예들에서, 제 2 사용자의 위치에 관한 "특정 범위"는 교환 코드의 상기 할당 동안 나타내어진 사전 설정된 지리적 영역 범위와 유사하게, 사전 설정될 지리적 영역 범위에 기초한다. 예를 들면, 제 2 사용자가 비교적 큰 슈퍼마켓이면, 슈퍼마켓은 비교적 큰 사이트를 차지하는 것이다. 따라서, 슈퍼마켓에 의해 점유된 사이트의 크기에 기초하여, 500미터들의 반경 및 슈퍼마켓에 관한 원형 영역의 중심 포인트에서의 중심을 가진 원형 영역이 제 2 사용자에 대한 특정 범위로서 설정될 수 있다.
각각의 제 1 사용자의 위치 정보 및 제 2 사용자의 위치 정보가 이미 서버에 의해 저장되거나 획득되었으므로, 데이터 교환 요청을 전송한 제 2 사용자의 위치 정보 및 하나 이상의 제 1 사용자들의 위치 정보는 제 2 사용자의 특정 범위의 위치 내에서 하나 이상의 제 1 사용자들을 결정하기 위해 비교될 수 있다. 다시 말해서, 하나 이상의 제 1 사용자들에 대한 탐색은 하나의 제 2 사용자의 위치에 기초하여 사전 설정된 지리적 영역 범위 내에서 수행된다. 일례로서, 하나의 제 1 사용자로부터의 위치 정보는 제 2 사용자로부터의 위치 정보와 비교된다. 하나의 제 1 사용자 위치 정보에 의해 표시된 위치가 제 2 사용자 위치 정보에 의해 표시된 위치에 대한 사전 설정된 지리적 영역 범위 내에 포함되는 경우에, 서버는 하나의 제 1 사용자를 특정 범위의 제 2 사용자 위치 내에 있는 것으로 확인한다.
예를 들면, 제 2 사용자 위치 정보는 경도 120.1262, 위도 30.2619에 대응한다. 저장된 제 1 사용자 위치 정보는 다음을 포함한다: 제 1 사용자 A 위치 정보는 경도 120.1272, 위도 30.2629에 대응한다; 제 1 사용자 B 위치 정보는 경도 120.1292, 위도 30.2609에 대응한다; 및 제 1 사용자 C 위치 정보는 경도 120.1262, 위도 30.2719에 대응한다. 제 2 사용자 위치 정보가 원의 중심이며, 영역이 500 m 반경의 범위를 갖도록 설정되는 경우에, 제 1 사용자 A 및 제 1 사용자 B는 제 2 사용자 주위에서 500 m 범위 내에 위치되며, 제 1 사용자 C는 제 2 사용자 주위에서 500 m 범위 밖에 위치된다.
애플리케이션의 예에서(상기 예를 계속해서), 상인(예로서, 상인의 금전 등록기)의 위치로부터, 서버는 지리적 위치에 기초하여 근처에서 모바일 전화 사용자들에 대한 탐색을 행한다.
140에서, 서버는 특정 범위의 제 2 사용자 위치 내에서의 위치를 가진 하나 이상의 제 1 사용자들에 사전-할당된 교환 코드와 제 2 사용자에 의해 제출된 데이터 교환을 요청하는 수신된 메시지에서의 승인 코드를 비교하며, 교환 코드와 일치된 승인 코드의 유효성을 검증한다. 일부 실시예들에서, 서버는 제 2 사용자의 승인 코드와 일치된(예로서, 특정한 사전 설정된 규칙들 또는 조건들과 동일하거나 이를 만족시키는) 교환 코드를 결정하며 승인 코드의 유효성을 확인한다. 따라서, 서버는 교환 코드에 대응하는 제 1 사용자를 결정하는 것의 대상이다.
제 1 사용자 및 제 1 사용자에 대응하는(국한된) 교환 코드가 미리 저장되므로, 특정 범위의 제 2 사용자 위치 내에 위치된 하나 이상의 제 1 사용자들을 결정함으로써, 서버는 하나 이상의 제 1 사용자들 중에서 각각의 제 1 사용자에 국한된 교환 코드를 아는 것의 대상이 된다.
일부 실시예들에서, 제 2 사용자 승인 코드는 하나 이상의 제 1 사용자 교환 코드들에 대해 매칭된다. 비교를 수행할 때, 하나 이상의 제 1 사용자들의 교환 코드들은 제 2 사용자의 승인 코드에 기초하여 탐색된다. 승인 코드 대 탐색된 교환 코드들의 비는 1:n이다. 승인 코드는 n개의 교환 코드들 중에서 탐색할 때 탐색 항으로서 사용되며, 여기에서 n은 자연 수에 대응한다.
여기에서 사용된 바와 같이, 매칭은 동일한 콘텐트를 가진 매칭된 승인 코드 및 교환 코드를 나타내거나 매칭된 승인 코드 및 교환 코드는 사전 설정된 규칙을 따른다. 승인 코드 및 교환 코드 사이에 매칭이 존재하는 경우에, 즉, 관련된 교환 코드가 탐색 기준에 기초하여 발견된다면, 매칭은 대응하는 제 1 사용자가 존재함을 표시한다. 예를 들면, 제 2 사용자의 승인 코드가 제 1 사용자에 의해 제 2 사용자에 전송된 직접 사용된 사전-획득된 교환 코드일 때, 매칭된 승인 코드 및 교환 코드는 존재하며, 즉 승인 코드 및 교환 코드는 동일한 콘텐트를 가진다. 그 다음에, 매칭된 승인 코드 및 교환 코드가 존재한다는 결정의 경우에, 표 1 및 표 2에서의 기록들은 매칭된 교환 코드에 국한된 제 1 사용자를 결정하기 위해 참조될 수 있다. 사전 설정된 규칙은 사람이 20분들 내에서, 20 km 반경에서 이동 중이면, 단지 1개의 이러한 코드가 있도록 중복 코드들의 존재를 방지하기 위해 사용된다.
매칭된 승인 코드 및 교환 코드가 존재하지 않는다면, 즉 관련된 교환 코드에 대한 탐색이 실패하고 동일한 콘텐트를 가진 교환 코드가 존재하지 않거나 어떤 특정한 규칙 등을 따르는 교환 코드가 없다면, 제 2 사용자의 디바이스에 의해 제공된 승인 코드에서의 에러가 존재하거나 그것의 승인 코드를 생성하기 위해 제 2 사용자에게 교환 코드를 제공한 제 1 사용자가 특정 범위의 제 2 사용자 내에 존재하지 않는다. 더욱이, 어떤 매칭된 승인 코드 및 교환 코드도 존재하지 않는 경우에, 승인 코드는 유효하지 않는 것으로 고려된다. 그 결과, 서버는 데이터 교환 요청이 실패하였음을 제 2 사용자에게 통지할 것이며, 데이터 교환 프로세스 흐름은 종료된다.
또한, 승인 코드의 유효성이 검증될 수 있다. 일부 실시예들에서, 매칭 동작이 먼저 행해질 수 있다. 제 2 사용자의 승인 코드와 일치하는 교환 코드가 존재할 때, 승인 코드의 유효성이 검증된다. 그 직접적인 결과로, 승인 코드가 검증될 수 있으며 승인 코드가 유효하지 않은 것으로 결정된다면, 데이터 교환 프로세스 흐름은 종료된다. 비교가 먼저 수행될 때, 제 2 사용자의 승인 코드와 일치하는 교환 코드가 존재하지 않는다면, 승인 코드는 더 이상 유효한 것으로 고려되지 않으며, 데이터 교환 프로세스 흐름은 종료된다.
일례로서, 제 1 사용자의 디바이스에 의해 송신된 교환 코드가 제 2 사용자의 승인 코드로서 직접 작용하는 경우에, 서버가 제 2 사용자의 승인 코드를 수신할 때, 또는 서버가 매칭된 승인 코드 및 교환 코드가 존재한다고 결정할 때, 승인 코드는 시간이 유효 시간 기간 내에 있는지의 여부를 결정하기 위해 검증될 수 있으며, 즉 승인 코드의 유효성이 검증된다.
이 예에서, 제 2 사용자가 제 1 사용자로부터 수신하는 교환 코드는 승인 코드로서 직접 서버에 전송된다. 특정 범위의 제 2 사용자 지리적 위치 내에 위치된 하나 이상의 제 1 사용자들 중에서 하나의 제 1 사용자의 교환 코드가 제 2 사용자의 승인 코드와 매칭될 때(예로서, 콘텐트가 일치하고/동일하고/같다), 승인 코드의 유효성이 여전히 검증될 것이다. 승인 코드가 유효 시간 기간 내에 없는 경우에, 데이터 교환 프로세스 흐름은 종료된다. 승인 코드가 유효 시간 기간 내에 있는 경우에, 일치하는 교환 코드가 존재하며 시간은 유효 시간 기간 내에 있다. 따라서, 데이터 교환 프로세스 흐름은 계속될 수 있다.
일부 실시예들에서, 승인 코드가 유효한지의 여부를 검증하는 것은 승인 코드와 일치하는 교환 코드의 컷-오프 시간과 승인 코드 업로드 시간을 비교하는 것을 포함한다. 승인 코드 업로드 시간은 교환 코드가 생성될 때 결정된다. 승인 코드 업로드 시간이 컷-오프 시간보다 작거나 같은 경우에, 승인 코드는 유효하다. 승인 코드의 업로드 시간이 컷-오프 시간보다 큰(그것을 초과하는) 경우에, 승인 코드는 유효하지 않은 것으로 결정된다. 컷-오프 시간들, 또는 유한 컷-오프 시간 포인트들에 관하여, 대응하는 시간 포인트들은 예를 들면 유효 시작 시간에 유효 시간을 부가함으로써 획득되며, 표 1 및 표 2는 교환 코드들에 대한 컷-오프 시간으로서 작용할 수 있다. 매칭된 교환 코드의 예에 관하여: 승인 코드 및 교환 코드가 매칭된 후, 표 1 및 표 2에 도시된 콘텐트는 1+8=9에 대한 기초를 형성하며, 그에 의해 교환 코드의 유효 시간은 2013년 9월 5일 오전 9:00에서 만료되는 것으로 결정된다. 유사하게, 승인 코드의 유효 시간은 또한 2013년 9월 5일 오전 9:00에 만료된다. 따라서, 서버가 2013년 9월 5일 오전 9:00 후, 예로서 오전 10:00에 승인 코드를 수신한다면, 9시간들은 오전 1:00에서 교환 코드 유효 시작 시간으로부터 오전 10:00까지 경과할 것이며, 이것은 8시간들의 유효 시간을 초과할 것이다. 다시 말해서, 시간은 표 1 및 표 2에 도시된 바와 같이, 교환 코드에 대한 유효 시간에 포함되지 않는다. 교환 코드의 만료는 승인 코드의 만료(실효)에 대응한다. 다시 말해서, 교환 코드가 성공적으로 매칭되지만, 교환 코드가 만료된 경우에, 승인 코드는 또한 만료된다. 따라서, 데이터 교환이 수행될 수 있으며, 프로세스 흐름은 종료된다. 더욱이, 일부 실시예들에서, 교환 코드 및 대응하는 제 1 사용자 정보는 표 1 및 표 2로부터 삭제된다. 물론, 승인 코드가 수신되는 시간이 그 날 8:00인 경우에, 매칭된 교환 코드 및 승인 코드 양쪽 모두는 유효하며, 제어는 동작(150)으로 진행되며 매칭된 교환 코드를 갖고 제 2 사용자 및 대응하는 제 1 사용자에 대한 데이터 교환 프로세스를 실행할 수 있다.
고유한 교환 코드들을 사용함으로써, 프로세스는 중복 교환 코드들의 발생을 회피할 수 있다. 특히, 프로세스는 제 2 사용자의 위치의 범위 내에서의 두 명의 제 1 사용자들이 동일한 교환 코드들을 갖는 상황을 회피할 수 있다. 다시 말해서, 다음의 문제가 회피될 수 있다: 제 1 사용자들(A 및 B) 양쪽 모두가 교환 코드(12345678)를 가질 때, 어떤 제 1 사용자를 갖고 데이터 교환이 행해져야 하는지를 결정하는 것은 불가능하다.
또 다른 상황에서, 교환 코드는 특정한 범위 내에서 고유한 랜덤 데이터를 가질 수 있다. 교환 코드는 유효 시간을 가지며 이러한 유효 시간 내에서, 교환 코드는 단지 교환 코드에 국한된 제 1 사용자에 의해 한 번 사용될 수 있다. 이러한 특정 범위는 베이징 영역 또는 톈진 영역과 같은, 사전 설정된 지리적 영역 범위일 수 있다. 따라서, 상이한 범위들에서의 랜덤 숫자-생성된 교환 코드들은 동일할 수 있다. 그러므로, 교환 코드들이 승인 코드와 비교될 때, 특정 범위의 제 2 사용자 위치 내에서의 승인 코드와 동일한 복수의 교환 코드들이 존재할 수 있다. 다시 말해서, 서버로부터 삭제되지 않은 동일한 무효 교환 코드들 또는 또 다른 영역으로부터 로컬 영역으로 운반된 동일한 교환 코드들과 같은, 동일한 많은 교환 코드들이 존재할 수 있다. 서버를 갖는 것을 회피하는 것은 이러한 경우들에서 하나 이상의 제 1 사용자들과 제 2 사용자 사이에서의 잘못된 데이터 교환을 수행하며, 서버는 또한 서버가 복수의 동일한 교환 코드들과 일치할 때 제 2 사용자에게 검증 메시지를 전송할 수 있다. 서버는 동일한 교환 코드에 국한된 하나 이상의 제 1 사용자들 중에서 제 1 사용자들 중 어떤 것이 제 2 사용자와 데이터 교환을 수행하는지를 결정하기 위해 제 2 사용자와 데이터 교환들을 수행할 하나 이상의 제 1 사용자들의 아이덴티티를 검증한다. 검증 메시지는 제 1 사용자의 사용자 ID와 같은, 제 1 사용자의 식별 정보를 제공하기 위해 제 2 사용자에 교환 코드를 송신한 제 1 사용자에 대한 요청일 수 있다. 다시 말해서, 검증 메시지는 서버에 의해 검증되는 사용자에게 제공된다. 서버는 제 1 사용자의 사용자 ID에 기초하여 데이터 교환을 행하기 위해 제 1 사용자를 결정한다.
예에서, 제 2 사용자는 제 1 사용자로부터 교환 코드를 수신하며, 데이터 교환을 요청하기 위해 서버로, 승인 코드(12345678)와 같은, 승인 코드로서 수신된 교환 코드를 송신한다. 상기 승인 코드는 사용자들(A 및 B)의 교환 코드들과 비교될 수 있다. 승인 코드가 오전 7:00에 전송된다면, 및 사용자 A의 컷-오프가 사용자 B의 컷-오프가 오전 6:00인 동안 오전 9:00이면, 사용자 B의 교환 코드는, 교환 코드가 만료 시간(표 1 및 표 2)을 갖기 때문에 이미 만료되었을 것이다(오전 7:00는 오전 6:00를 지난다). 사실상 유효한 교환 코드는 사용자 A의 교환 코드이다. 다시 말해서, 유효성 검증이 그것의 만료된 교환 코드를 갖고 사용자 B의 아직 삭제되지 않은 무효 교환 및 승인 코드들 상에서 수행될 때, 사용자 B의 무효 승인 코드 및 교환 코드는 제거될 수 있다. 어떤 데이터 교환도 무효 교환 코드를 전송했던, 제 1 사용자 B와 수행될 수 없다. 데이터 교환들은 단지 여전히 유효한 교환 코드들을 가진 사용자들과 수행된다. 따라서, 서버는 제 1 사용자들이 여전히 유효한 교환 코드들을 저장한 제 1 사용자들인지의 여부를 검증할 수 있으며 그에 의해 유효한 교환 코드들을 갖고 제 1 사용자들의 데이터 보안을 보장하며 허가되지 않은 데이터 교환들을 회피한다.
또 다른 예에서, 상이한 지리적 구역 범위에서의 제 1 사용자 C는 또 다른 지리적 구역 범위에 들어가고, 우연히 제 1 사용자 C는 제 1 사용자 D와 동일한 교환 코드를 가지며, 제 1 사용자들(C 및 D) 양쪽 모두는 동일한 제 2 사용자의 특정 범위 내에 있다. 제 2 사용자가 획득된 교환 코드를 취하며 승인 코드로서 교환 코드를 서버에 송신하자마자, 서버는 제 1 사용자들(C 및 D)의 두 개의 교환 코드들을 매칭시킬 것이다. 그 후, 서버는 교환 코드들을 제 2 사용자에 제공한 제 1 사용자들이 어떤 제 1 사용자와 데이터 교환을 행할지를 결정하기 위해 그들의 사용자 ID를 제공하도록 요청하는 검증 메시지를 제 2 사용자에게 발행할 것이다.
프로세스 흐름은 종료된다(데이터 교환 프로세스 흐름은 종료된다). 다시 말해서, 서버는 승인 코드와 일치한 교환 코드에 대응하는 제 1 사용자와 제 2 사용자 사이에서 데이터 교환을 실행하는 것을 거절한다. 일부 실시예들에서, 사용자는 데이터 교환이 실패하였음을 통지받는다. 물론, 승인 코드가 유효한 것으로 결정되며 매칭된 교환 코드가 동시에 존재한다면, 후속 데이터 교환이 동작(150)에서 수행될 수 있다.
성공적이지 않게 매칭된 제 1 사용자 교환 코드의 경우에, 즉 승인 코드와 일치하는 어떤 교환 코드도 존재하지 않는 경우에, 또는 승인 코드가 유효하지 않은 것으로, 예를 들면, 유효 시간을 넘기거나 유효 시간을 경과한 것으로 결정되었다면, 제 1 사용자 및 제 2 사용자는 "동작 실패" 경보를 수신할 수 있다. 따라서, 데이터 교환은 거절되며, 프로세스 흐름은 종료된다.
예에서(상기 예를 계속해서), 서버는 서버가 위치한 근처의 모바일 전화 사용자들에 관한 서버에 저장된 정보에서 상인(상인의 금전 등록기와 같은)의 승인 코드에 대응하는 교환 코드를 탐색한다(예로서, 교환 코드는 승인 코드와 동일하다). 다시 말해서, 서버는 비교들을 수행하며, 매칭이 성공적으로 발견된다. 다시 말해서, 승인 코드는 동일한 교환 코드와 매칭되며, 교환 코드는 만료되지 않는다. 교환 코드에 대응하는 모바일 전화 계좌로부터 돈을 공제하는 것과 같은, 프로세싱의 다음 동작이 수행될 수 있다. 어떤 매칭도 존재하지 않은 경우에 또는 검증이 성공적이지 않은 경우에, 프로세스 흐름이 종료되며 실패 또는 "거래할 수 없음" 메시지가 상인 금전 등록기, 모바일 전화 사용자, 또는 그것의 조합으로 리턴된다.
150에서, 한정된 범위의 제 2 사용자 위치 내에서 실패한 하나 이상의 제 1 사용자들 중에서 하나의 제 1 사용자의 교환 코드가 제 2 사용자의 승인 코드와 매칭되며 제 2 사용자의 승인 코드가 유효한 경우에, 데이터 교환은 제 2 사용자와 제 2 사용자 승인 코드와 매칭된 교환 코드에 대응하는 하나의 제 1 사용자 사이에서 수행된다.
교환 코드가 승인 코드와 일치하는 것으로 결정되었으며 대응하는 제 1 사용자가 또한 결정되었기 때문에, 데이터 교환 연결이 승인 코드를 전송한 제 2 사용자와 매칭된 교환 코드에 국한된 제 1 사용자 사이에서 수립될 수 있다(데이터 교환 채널이 수립된다).
제 2 사용자는 연결을 수립한 후 제 2 사용자로부터 원하는 데이터를 획득할 수 있다. 더욱이, 일부 실시예들에서, 제 1 사용자 및 제 2 사용자가 연결을 수립한 후, 서버는 여전히 제 2 사용자로부터 데이터 요청을 수신한다. 데이터 요청을 전송한 제 2 사용자는 제 1 사용자로부터 데이터를 획득하기를 원할 것이다. 일부 실시예들에서, 서버는 데이터 요청에 기초하여 제 1 사용자로부터 제 2 사용자로 데이터 요청에 대응하는 제 1 사용자의 데이터를 전달한다. 일부 실시예들에서, 서버는 수립된 채널 및 제 1 사용자로부터 수신된 데이터 요청에 기초하여 제 1 사용자로 제 2 사용자 데이터를 전달한다. 그 직접적인 결과로, 서버가 제 1 사용자 데이터를 제 2 사용자에 성공적으로 전달할 때, 서버는 "데이터 교환 성공" 통지를 갖고 제 1 및 제 2 사용자에 통지할 수 있다. 또한, 보안 목적들을 위해, 교환 코드 및 승인 코드는, 단일-사용 실효를 갖는 것 외에, 즉, 그것들은 단지 한 번 사용될 수 있고, 또한 만료 시간(예로서, 상기 설명된 8시간들)을 가질 수 있다. 단일-사용 실효 및 만료 시간은 제 2 사용자 지리적 위치의 사전 설정된 커버리지 범위 내에서 충분히 작은 양 또는 용량의 교환 코드들/승인 코드들을 허용한다. 예를 들면, 제 2 사용자에 가까운 제 1 사용자들의 양은 100이다. 게다가, 모든 100명의 제 1 사용자들이 8-자리 교환 코드/승인 코드에 대해 이용하는 확률은 매우 작으며, 이것은 1/10의 8 제곱 = 1/100000000에 대응한다. 다시 말해서, 제 1 사용자 및 제 2 사용자가 동시에 가까운 위치들에 있을 것이며 또한 강요된 디코딩을 겪을 수 있는 매우 작은 확률이 존재한다.
상기 프로세스에서, 제 1 사용자들은 임의의 시간에서 및 임의의 위치에서 (요청) 교환 코드들을 신청할 수 있다. 제 1 사용자들은 단지 교환 코드만을 운반할 수 있으며, 제 1 사용자들이 교환 코드가 만료되지 않은 동안 교환 코드를 사용한다면, 제 1 사용자들은 제 2 사용자와의 데이터 교환들에 참여할 수 있다. 예를 들면, 슈퍼마켓에서 매장에 가기 전에, 제 1 사용자는 교환 코드를 획득한다. 쇼핑한 후, 제 1 사용자의 디바이스는 교환 코드를 제 2 사용자에 송신한다. 예를 들면, 교환 코드는 금전 등록기로 입력된다. 금전 등록기는 교환 코드를 승인 코드로서 간주하며, 금전 등록기는 승인 코드 및 제 1 사용자 계좌로부터 공제될 양을 서버에 전송한다. 서버는 제 1 사용자 계좌와 제 2 사용자 계좌 사이에서 데이터 교환 채널을 수립하고, 제 1 사용자의 계좌로부터 적절한 양을 공제하며, 제 2 사용자의 계좌에 적절한 양을 부가한다. 제 1 사용자 및 제 2 사용자는 이 프로세스에서 대용량 데이터 동작들에 참여할 필요가 없다. 데이터 교환(지불) 프로세스의 대용량 데이터 동작 태스크들은 서버에 의해 완료되며, 이것은 데이터 교환 시간을 감소시키며 데이터 교환 효율을 증가시킨다.
도 2는 데이터를 교환하기 위한 디바이스의 일 실시예의 구조도이다. 일부 실시예들에서, 디바이스(200)는 도 1의 프로세스(100)를 구현하며 할당 및 획득 모듈(210), 수신 및 획득 모듈(220), 식별 모듈(230), 비교 모듈(240), 및 교환 모듈(250)을 포함한다.
일부 실시예들에서, 할당 및 획득 모듈(210)은 교환 코드 요청들을 전송하는 제 1 사용자들에 교환 코드들을 사전-할당하며 제 1 사용자들의 위치 정보를 사전-획득한다. 일부 실시예들에서, 교환 코드는 고유한 랜덤 데이터를 나타내며 유효 시간을 가진다. 게다가, 유효 시간 내에서, 교환 코드는 단지 교환 코드에 국한된 제 1 사용자에 의해 한 번 사용될 수 있다. 또한, 교환 코드는 특정 범위 내에서 고유한 랜덤 데이터를 포함할 수 있다. 교환 코드는 유효 시간을 가지며 유효 시간 내에 있고, 교환 코드는 단지 교환 코드에 국한된 제 1 사용자에 의해 한 번 사용될 수 있다.
일부 실시예들에서, 수신 및 획득 모듈(220)은 제 2 사용자의 디바이스에 의해 제출된 데이터 교환 요청(데이터 교환 프로세싱을 요청하는 메시지)을 수신하며 제 2 사용자의 위치 정보를 획득한다.
일부 실시예들에서, 식별 모듈(230)은 제 2 사용자의 위치 정보 및 하나 이상의 제 1 사용자들의 위치 정보에 기초하여 제 2 사용자의 특정 범위 또는 미리 정의된 범위의 위치 내에서 하나 이상의 제 1 사용자들을 식별한다. "특정 범위들"은 사전 설정된 지리적 영역 범위들을 포함한다. 더욱이, 제 1 사용자들로부터의 위치 정보는 제 2 사용자 위치 정보에 비교된다. 제 1 사용자 위치 정보에 의해 표시된 위치가 제 2 사용자 위치 정보에 의해 표시된 위치에 대해 사전 설정된 지리적 영역 범위 내에 포함되는 경우에, 제 2 사용자 위치 정보에 의해 표시된 위치에 대해 사전 설정된 지리적 영역 범위 내에서의 위치들을 가진 하나 이상의 제 1 사용자들은 특정 범위의 제 2 사용자 위치 내에서의 하나 이상의 제 1 사용자들로서 확인된다.
일부 실시예들에서, 비교 모듈(240)은 특정 범위의 제 2 사용자 위치 내에 위치되는 하나 이상의 제 1 사용자들에 사전-할당된 교환 코드와 제 2 사용자의 디바이스로부터 수신된 데이터 교환 요청에서의 승인 코드를 비교하며, 승인 코드의 유효성을 검증한다. 제 2 사용자의 데이터 교환 요청에서의 승인 코드는 제 1 사용자에 사전-할당된 교환 코드에 기초하여 생성된다. 데이터 교환 프로세스 흐름은 특정 범위의 제 2 사용자 위치 내에 위치된 하나 이상의 제 1 사용자들의 교환 코드들 중 어떤 것도 제 2 사용자 승인 코드와 일치하지 않을 때 또는 제 2 사용자 승인 코드가 유효하지 않은 것으로 결정될 때 종료된다. 더욱이, 비교는 비교 및 검증 프로세스에서 먼저 수행될 수 있다. 제 2 사용자의 승인 코드와 일치하는 교환 코드가 존재할 때, 승인 코드의 유효성이 검증된다. 승인 코드가 유효하지 않은 것으로 결정된다면, 데이터 교환 프로세스 흐름은 종료된다. 비교가 먼저 수행될 때, 제 2 사용자의 승인 코드와 일치하는 교환 코드가 존재하지 않는다면, 승인 코드는 검증되지 않으며, 데이터 교환 프로세스 흐름은 종료된다. 더욱이, 승인 코드에 대한 업로드 시간은 승인 코드와 매칭된 교환 코드의 컷-오프 시간에 비교된다. 승인 코드 업로드 시간이 컷-오프 시간보다 작거나 그와 같다면, 승인 코드는 유효한 것으로 결정된다.
일부 실시예들에서, 교환 모듈(250)은 한정된 범위의 제 2 사용자 위치 내에서의 하나 이상의 제 1 사용자들 중에서 제 1 사용자의 교환 코드가 제 2 사용자의 승인 코드와 매칭하며, 제 2 사용자의 승인 코드가 유효한 것으로 결정될 때 제 2 사용자 승인 코드와 매칭된 교환 코드에 대응하는 제 1 사용자와 제 2 사용자 사이에서 데이터 교환을 실행한다.
상기 설명된 모듈은 하나 이상의 프로세서들 상에서 실행하는 소프트웨어 구성요소들로서, 특정한 기능들을 수행하도록 설계된 프로그래밍 가능한 로직 디바이스들 및/또는 주문형 반도체(Application Specific Integrated Circuit)들과 같은 하드웨어로서, 또는 그것의 조합으로서 구현될 수 있다. 일부 실시예들에서, 모듈들은 컴퓨터 디바이스(개인용 컴퓨터들, 서버들, 네트워크 장비 등과 같은)를 본 출원의 실시예들에서 설명된 방법들을 구현하게 하기 위한 다수의 지시들을 포함하여, 비휘발성 저장 매체(광 디스크, 플래시 저장 디바이스, 이동 하드 디스크 등과 같은)에 저장될 수 있는 소프트웨어 제품들의 형태에 의해 구체화될 수 있다. 모듈들은 단일 디바이스 상에서 구현되거나 다수의 디바이스들에 걸쳐 분배될 수 있다. 모듈들의 기능들은 서로 병합되거나 추가로 다수의 서브-모듈들로 분리될 수 있다.
도 4는 데이터를 교환하기 위한 프로그램된 컴퓨터 시스템의 일 실시예를 도시한 기능도이다. 분명할 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들은 데이터 교환을 수행하기 위해 사용될 수 있다. 이하에서 설명되는 바와 같이 다양한 서브시스템들을 포함하는, 컴퓨터 시스템(400)은 적어도 하나의 마이크로프로세서 서브시스템(또한 프로세서 또는 중앙 프로세싱 유닛(CPU)로서 불리울 수 있는)(402)을 포함한다. 예를 들면, 프로세서(402)는 단일-칩 프로세서에 의해 또는 다수의 프로세서들에 의해 구현될 수 있다. 일부 실시예들에서, 프로세서(402)는 컴퓨터 시스템(400)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(410)로부터 검색된 지시들을 사용하여, 프로세서(402)는 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예로서, 디스플레이(418)) 상에서 데이터의 출력 및 디스플레이를 제어한다.
프로세서(402)는 제 1 1차 저장 장치, 통상적으로 랜덤 액세스 메모리(RAM), 및 제 2 1차 저장 영역, 통상적으로 판독-전용 메모리(ROM)를 포함할 수 있는, 메모리(410)와 양-방향으로 결합된다. 이 기술분야에 잘 알려진 바와 같이, 1차 저장 장치는 일반 저장 영역으로서 및 스크래치-패드 메모리로서 사용될 수 있으며, 입력 데이터 및 프로세싱된 데이터를 저장하기 위해 또한 사용될 수 있다. 1차 저장 장치는 또한, 프로세서(402) 상에서 동작하는 프로세스들에 대한 다른 데이터 및 지시들 외에, 데이터 오브젝트들 및 텍스트 오브젝트들의 형태로, 프로그래밍 지시들 및 데이터를 저장할 수 있다. 또한 이 기술분야에 잘 알려진 바와 같이, 1차 저장 장치는 통상적으로 그것의 기능들(예로서, 프로그램된 지시들)을 수행하기 위해 프로세서(402)에 의해 사용된 기본 동작 지시들, 프로그램 코드, 데이터 및 오브젝트들을 포함한다. 예를 들면, 메모리(410)는 예를 들면, 데이터 액세스가 양-방향 또는 단-방향일 필요가 있는지의 여부에 의존하여, 이하에 설명된, 임의의 적절한 컴퓨터 판독가능한 저장 매체를 포함할 수 있다. 예를 들면, 프로세서(402)는 또한 캐시 메모리(도시되지 않음)에서 빈번하게 요구된 데이터를 직접 및 매우 빠르게 검색하며 저장할 수 있다.
착탈 가능한 대용량 저장 디바이스(412)는 컴퓨터 시스템(400)에 대한 부가적인 데이터 저장 용량을 제공하며, 양-방향으로(판독/기록) 또는 단-방향으로(판독 전용) 프로세서(402)에 결합된다. 예를 들면, 저장 장치(412)는 또한 자기 테이프, 플래시 메모리, PC-CARDS, 휴대용 대용량 저장 디바이스들, 홀로그램 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터 판독가능한 매체를 포함할 수 있다. 고정 대용량 저장 장치(420)는 또한, 예를 들면, 부가적인 데이터 저장 용량을 제공할 수 있다. 대용량 저장 장치(420)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대용량 저장 장치(412, 420)는 일반적으로 통상적으로 프로세서(402)에 의해 능동적인 사용에 있지 않은 부가적인 프로그래밍 지시들, 데이터 등을 저장한다. 대용량 저장 장치(412 및 420) 내에 유지된 정보는 가상 메모리로서 메모리(410)의 일부로서(예로서, RAM) 표준 방식으로, 필요하다면, 통합될 수 있다는 것이 이해될 것이다.
저장 서브시스템들에 프로세스(402) 액세스를 제공하는 것 외에, 버스(414)는 또한 다른 서브시스템들 및 디바이스들로의 액세스를 제공하기 위해 사용될 수 있다. 도시된 바와 같이, 이것들은 디스플레이 모니터(418), 네트워크 인터페이스(416), 키보드(404), 및 포인팅 디바이스(406), 뿐만 아니라 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 다른 서브시스템들을 필요하다면 포함할 수 있다. 예를 들면, 포인팅 디바이스(406)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있으며, 그래픽 사용자 인터페이스와 상호작용하기 위해 유용하다.
네트워크 인터페이스(416)는 프로세서(402)가 도시된 바와 같이 네트워크 연결을 사용하여 또 다른 컴퓨터, 컴퓨터 네트워크, 또는 원격통신 네트워크에 결합되도록 허용한다. 예를 들면, 네트워크 인터페이스(416)를 통해, 프로세서(402)는 방법/프로세스 단계들을 수행하는 과정에서 또 다른 네트워크로부터 정보(예로서, 데이터 오브젝트들 또는 프로그램 지시들)를 수신하거나 또 다른 네트워크로 정보를 출력할 수 있다. 종종 프로세서 상에서 실행될 지시들의 시퀀스로서 표현된, 정보는 또 다른 네트워크로부터 수신되며 그것으로 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(402)에 의해 구현된(예로서, 그것 상에서 실행된/수행된) 적절한 소프트웨어는 외부 네트워크에 컴퓨터 시스템(400)을 연결하며 표준 프로토콜들에 따라 데이터를 전달하기 위해 사용될 수 있다. 예를 들면, 여기에서 개시된 다양한 프로세스 실시예들은, 프로세싱의 일부를 공유하는 원격 프로세서와 함께, 프로세서(402) 상에서 실행될 수 있거나, 인터넷, 인트라넷 네트워크들, 또는 근거리 네트워크들과 같은 네트워크에 걸쳐 수행될 수 있다. 부가적인 대용량 저장 디바이스들(도시되지 않음)은 또한 네트워크 인터페이스(416)를 통해 프로세서(402)에 연결될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(400)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(402)가 데이터를 전송하며, 보다 통상적으로 마이크로폰들, 터치-민감 디스플레이들, 트랜듀서 카드 판독기들, 테이프 판독기들, 음성 또는 친필 인식기들, 생체인식 판독기들, 카메라들, 휴대용 대용량 저장 디바이스들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 수신하도록 허용하는 일반 및 맞춤형 인터페이스들을 포함할 수 있다.
도 4에 도시된 컴퓨터 시스템은 여기에 개시된 다양한 실시예들을 갖고 사용하기에 적합한 컴퓨터 시스템의 예이다. 이러한 사용에 적합한 다른 컴퓨터 시스템들은 부가적인 또는 보다 적은 서브시스템들을 포함할 수 있다. 또한, 버스(414)는 서브시스템들을 연결하도록 작용하는 임의의 상호연결 기법을 도시한다. 상이한 구성들의 서브시스템들을 가진 다른 컴퓨터 아키텍처들이 또한 이용될 수 있다.
여기에서 개시된 실시예들을 고려하여 설명된 방법들 또는 알고리즘 단계들은 하드웨어, 프로세서-실행 소프트웨어 모듈들, 또는 양쪽 모두의 조합들을 사용하여 구현될 수 있다. 소프트웨어 모듈들은 랜덤-액세스 메모리(RAM), 메모리, 판독-전용 메모리(ROM), 전기적으로 프로그램된 ROM, 전기적으로 소거 가능한 프로그래밍 가능한 ROM, 레지스터들, 하드 드라이브들, 착탈 가능한 디스크들, CD-ROM, 또는 기술 분야에 알려진 임의의 다른 형태들의 저장 매체에 설치될 수 있다.
앞서 말한 실시예들은 이해의 명료함을 위해 상세히 설명되었지만, 본 발명은 제공된 세부사항들에 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 있다. 개시된 실시예들은 예시적이며 제한적이지 않다.
200: 디바이스 210: 할당 및 획득 모듈
220: 수신 및 획득 모듈 230: 식별 모듈
240: 비교 모듈 250: 교환 모듈
300: 시스템 310: 제 1 클라이언트
320: 제 2 클라이언트 330: 서버
340: 네트워크 400: 컴퓨터 시스템
402: 프로세서 404: 키보드
406: 포인팅 디바이스 410: 메모리
412: 대용량 저장 장치 414: 버스
416: 네트워크 인터페이스 418: 디스플레이
420: 대용량 저장 장치

Claims (16)

  1. 네트워크를 통한 데이터 통신을 위한 방법에 있어서,
    제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하는 단계로서, 상기 식별은 제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하는, 상기 식별하는 단계;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하는 단계;
    상기 승인 코드의 유효성을 검증하는 단계로서,
    상기 승인 코드와 일치하는 하나 이상의 교환 코드들에서의 교환 코드의 컷오프 시간과 상기 승인 코드에 대한 업로드 시간을 비교하는 단계; 및
    상기 승인 코드의 업로드 시간이 상기 컷오프 시간보다 작거나 같을 경우, 상기 승인 코드를 유효하다고 결정하는 단계를 포함하는, 상기 승인 코드의 유효성을 검증하는 단계;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되면,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 사전할당된 하나 이상의 제 1 사용자들 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 상기 데이터 교환 채널 상의 데이터 교환을 수행하는 단계; 및
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하는 단계를 포함하는, 네트워크를 통한 데이터 통신을 위한 방법.
  2. 제 1 항에 있어서,
    상기 사전 설정된 범위는 사전 설정된 지리적 영역 범위를 포함하며;
    상기 제 2 사용자 위치 정보 및 상기 제 1 사용자 위치 정보에 기초하여 상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들의 상기 식별 단계는:
    상기 제 2 사용자 위치 정보와 상기 하나 이상의 제 1 사용자들로부터의 상기 제 1 사용자 위치 정보를 비교하는 단계; 및
    상기 제 1 사용자 위치 정보에 의해 표시된 위치가 상기 제 2 사용자 위치 정보에 의해 표시된 위치에 대한 상기 사전 설정된 지리적 영역 범위 내에 포함되는 경우, 상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에서 제 1 사용자로서 상기 사전 설정된 지리적 영역 범위 내에서 상기 제 1 사용자 위치 정보를 가진 제 1 사용자를 확인하는 단계를 더 포함하는, 네트워크를 통한 데이터 통신을 위한 방법.
  3. 제 1 항에 있어서,
    상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중 어떤 것도 상기 승인 코드와 일치하지 않거나 상기 승인 코드가 유효하지 않은 것으로 결정되는 경우, 상기 데이터 교환을 종료하는 단계를 더 포함하는, 네트워크를 통한 데이터 통신을 위한 방법.
  4. 제 1 항에 있어서,
    상기 승인 코드와 일치하는 상기 교환 코드가 존재하는 경우,
    상기 승인 코드의 상기 유효성을 검증하고;
    상기 승인 코드가 유효하지 않은 것으로 결정되는 경우, 상기 데이터 교환을 종료하고;
    상기 승인 코드와 일치하는 상기 교환 코드가 존재하지 않는 경우,
    상기 승인 코드의 상기 유효성을 검증하는 것을 생략하고;
    상기 데이터 교환을 종료하는, 네트워크를 통한 데이터 통신을 위한 방법.
  5. 제 1 항에 있어서,
    상기 교환 코드는 고유한 데이터를 나타내고, 유효 시간을 가지며, 상기 유효 시간 내에서 상기 교환 코드에 국한된 제 1 사용자에 의한 단지 하나의 사용의 대상이 되거나;
    상기 교환 코드는 특정 범위 내에서 고유한 랜덤 데이터를 나타내고, 유효 시간을 가지며, 상기 유효 시간 내에서 상기 교환 코드에 국한된 제 1 사용자에 의한 단지 하나의 사용의 대상이 되는, 네트워크를 통한 데이터 통신을 위한 방법.
  6. 네트워크를 통한 데이터 통신을 위한 방법에 있어서,
    제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하여 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하는 단계;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하는 단계;
    상기 승인 코드의 유효성을 검증하는 단계;
    상기 제 2 사용자의 위치의 한정된 범위 내의 상기 하나 이상의 제 1 사용자들의 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되면,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 제 1 사용자 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 상기 데이터 교환 채널 상의 데이터 교환을 수행하는 단계; 및
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하는 단계를 포함하는, 네트워크를 통한 데이터 통신을 위한 방법.
  7. 삭제
  8. 네트워크를 통한 데이터 통신을 위한 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 연결된 메모리를 포함하고,
    상기 메모리는, 실행될 때 프로세서로 하여금,
    제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하고, 상기 식별은 제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하며;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하고;
    상기 승인 코드의 유효성을 검증하는 것으로서,
    상기 승인 코드와 일치된 상기 교환 코드의 컷오프 시간과 상기 승인 코드에 대한 업로드 시간을 비교하고;
    상기 승인 코드의 상기 업로드 시간이 상기 컷오프 시간보다 작거나 동일한 경우, 상기 승인 코드를 유효한 것으로 결정하는 것을 포함하며;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 상기 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되는 경우,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 사전할당된 하나 이상의 제 1 사용자들 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 데이터 교환 채널 상에서 데이터 교환을 수행하며;
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하는;
    명령들을 상기 프로세서에 제공하도록 구성된, 네트워크를 통한 데이터 통신을 위한 시스템.
  9. 제 8 항에 있어서,
    상기 사전 설정된 범위는 사전 설정된 지리적 영역 범위를 포함하고;
    상기 제 2 사용자 위치 정보 및 상기 제 1 사용자 위치 정보에 기초하여 상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들을 식별하는 명령은:
    상기 제 2 사용자 위치 정보와 상기 하나 이상의 제 1 사용자들로부터의 상기 제 1 사용자 위치 정보를 비교하고;
    상기 제 1 사용자 위치 정보에 의해 표시된 위치가 상기 제 2 사용자 위치 정보에 의해 표시된 위치에 대한 상기 사전 설정된 영역 범위 내에 포함되는 경우, 상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에서의 제 1 사용자로서 상기 사전 설정된 지리적 영역 범위 내에서의 상기 제 1 사용자 위치 정보를 가진 제 1 사용자를 확인하는 명령을 더 포함하는, 네트워크를 통한 데이터 통신을 위한 시스템.
  10. 제 8 항에 있어서,
    상기 메모리는 또한, 실행될 때 프로세서로 하여금,
    상기 제 2 사용자의 위치의 상기 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중 어떤 것도 상기 승인 코드와 일치하지 않거나 상기 승인 코드가 유효하지 않은 것으로 결정되는 경우, 상기 데이터 교환을 종료하도록 하는 명령을 프로세서에 제공하도록 구성된, 네트워크를 통한 데이터 통신을 위한 시스템.
  11. 제 8 항에 있어서,
    상기 승인 코드와 일치하는 상기 교환 코드가 존재하는 경우:
    상기 승인 코드의 유효성을 검증하고;
    상기 승인 코드가 유효하지 않은 것으로 결정되는 경우, 상기 데이터 교환을 종료하고;
    상기 제 2 사용자의 상기 승인 코드와 일치하는 상기 교환 코드가 존재하지 않는 경우:
    상기 승인 코드의 유효성을 검증하는 것을 생략하고;
    상기 데이터 교환을 종료하는, 네트워크를 통한 데이터 통신을 위한 시스템.
  12. 제 8 항에 있어서,
    상기 교환 코드는 고유한 데이터를 나타내고, 유효 시간을 가지며, 상기 유효 시간 내에서 상기 교환 코드에 국한된 제 1 사용자에 의한 단지 하나의 사용의 대상이 되거나;
    상기 교환 코드는 특정 범위 내에서의 고유한 랜덤 데이터를 나타내고, 유효 시간을 가지며, 상기 유효 시간 내에서 상기 교환 코드에 국한된 제 1 사용자에 의한 단지 하나의 사용의 대상이 되는, 네트워크를 통한 데이터 통신을 위한 시스템.
  13. 네트워크를 통한 데이터 통신을 위한 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 연결된 메모리를 포함하고,
    상기 메모리는, 실행될 때 프로세서로 하여금,
    제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하여 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하고;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하고;
    상기 승인 코드의 유효성을 검증하고;
    상기 제 2 사용자의 위치의 한정된 범위 내의 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되는 경우,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 제 1 사용자들 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 데이터 교환 채널 상에서 데이터 교환을 수행하며, 상기 승인 코드는 상기 제 1 사용자에 사전할당된 교환 코드에 기초하여 생성되고;
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하는;
    명령들을 프로세서에 제공하도록 구성된, 네트워크를 통한 데이터 통신을 위한 시스템.
  14. 삭제
  15. 네트워크를 통한 데이터 통신을 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서,
    상기 컴퓨터 프로그램은 유형의(tangible) 비-일시적 컴퓨터 판독가능한 기록 매체에서 구현되고, 상기 컴퓨터 프로그램은:
    제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하여 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하고;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하고;
    상기 승인 코드의 유효성을 검증하고;
    상기 제 2 사용자의 위치의 한정된 범위 내에서 상기 하나 이상의 제 1 사용자들의 상기 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되는 경우,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 제 1 사용자 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 데이터 교환 채널 상의 데이터 교환을 수행하며, 상기 제 2 사용자의 데이터 요청에서의 승인 코드는 상기 제 1 사용자에 사전할당된 교환 코드에 기초하여 생성되며;
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하고, 상기 제 2 사용자의 데이터 요청에서의 승인 코드는 상기 제 1 사용자에 사전할당된 교환 코드에 기초하여 생성되는;
    컴퓨터 명령들을 포함하는, 컴퓨터 판독가능한 기록 매체.
  16. 네트워크를 통한 데이터 통신을 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서,
    상기 컴퓨터 프로그램은 유형의 비-일시적 컴퓨터 판독가능한 기록 매체에서 구현되고, 상기 컴퓨터 프로그램은:
    제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 하나 이상의 제 1 사용자들을 식별하고, 상기 식별은 제 2 사용자 위치 정보 및 제 1 사용자 위치 정보에 기초하며;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들과 상기 제 2 사용자로부터 수신된 데이터 요청에서의 승인 코드를 비교하고;
    상기 승인 코드의 유효성을 검증하는 것으로서,
    상기 승인 코드에 대한 업로드 시간을 상기 승인 코드와 일치하는 하나 이상의 교환 코드들에서의 교환 코드의 컷오프 시간과 비교하고;
    상기 승인 코드의 업로드 시간이 상기 컷오프 시간보다 작거나 같을 경우, 상기 승인 코드를 유효하다고 결정하는 것을 포함하고;
    상기 제 2 사용자의 위치의 사전 설정된 범위 내에 위치된 상기 하나 이상의 제 1 사용자들에 사전할당된 하나 이상의 교환 코드들 중에서, 상기 승인 코드와 일치하는 교환 코드가 존재하고, 상기 승인 코드가 유효한 것으로 결정되면,
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 사전할당된 하나 이상의 제 1 사용자들 사이의 통신 네트워크상의 데이터 교환 채널을 설정하고;
    상기 제 2 사용자 및 상기 승인 코드와 일치하는 상기 교환 코드에 대응하는 상기 제 1 사용자 사이의 상기 데이터 교환 채널 상의 데이터 교환을 수행하며;
    상기 승인 코드에 일치하는 교환 코드가 존재하지 않거나 또는 상기 승인 코드가 유효하지 않은 것으로 결정되면, 상기 제 2 사용자 및 상기 제 1 사용자 사이에 데이터 교환을 거절하는;
    컴퓨터 명령들을 포함하는, 컴퓨터 판독가능한 기록 매체.
KR1020167009611A 2013-11-13 2014-11-10 네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템 KR101780220B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201310566609.0A CN104639586B (zh) 2013-11-13 2013-11-13 一种数据交互方法和系统
CN201310566609.0 2013-11-13
US14/535,726 US9386005B2 (en) 2013-11-13 2014-11-07 Method and system for data communication over network
US14/535,726 2014-11-07
PCT/US2014/064750 WO2015073352A1 (en) 2013-11-13 2014-11-10 Method and system for location based data communication over network

Publications (2)

Publication Number Publication Date
KR20160055872A KR20160055872A (ko) 2016-05-18
KR101780220B1 true KR101780220B1 (ko) 2017-09-21

Family

ID=53045017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009611A KR101780220B1 (ko) 2013-11-13 2014-11-10 네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템

Country Status (7)

Country Link
US (2) US9386005B2 (ko)
JP (2) JP6023394B1 (ko)
KR (1) KR101780220B1 (ko)
CN (1) CN104639586B (ko)
HK (1) HK1205606A1 (ko)
TW (1) TWI648996B (ko)
WO (1) WO2015073352A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836780B (zh) * 2014-02-12 2017-03-15 腾讯科技(深圳)有限公司 数据交互方法、验证终端、服务器和系统
CN104966198A (zh) * 2015-07-10 2015-10-07 苏州海博智能系统有限公司 一种授权消费方法及系统
CN106447323A (zh) 2015-08-05 2017-02-22 阿里巴巴集团控股有限公司 业务验证方法及装置
US20170161729A1 (en) * 2015-12-07 2017-06-08 Leadot Innovation, Inc. Method of Exchanging Currencies Using an Offline Point of Sale Third Party Payment System and Internet-connected Mobile Computing Device
CN106970780B (zh) * 2016-01-13 2021-02-23 菜鸟智能物流控股有限公司 一种数据交互方法及装置
CN106878002B (zh) 2016-07-05 2020-04-24 阿里巴巴集团控股有限公司 一种权限撤销方法及装置
US20200090170A1 (en) * 2017-05-31 2020-03-19 Reza Jalili Improved Methods and Systems for Creating and Controlling Use of Transaction Keys
CN108171512A (zh) * 2017-11-20 2018-06-15 胡研 一种交易方法以及电子设备
KR102088523B1 (ko) * 2017-12-28 2020-03-12 주식회사 엘핀 하이브리드 패스워드 인증 방법 및 시스템
CN108600215A (zh) * 2018-04-20 2018-09-28 中国联合网络通信集团有限公司 验证码防盗取方法、装置及网络设备
CN108882223A (zh) * 2018-05-30 2018-11-23 努比亚技术有限公司 应用数据上报方法、移动终端及计算机可读存储介质
CN108964941A (zh) * 2018-06-28 2018-12-07 深圳市福科信息技术有限公司 一种建立临时会话的方法和系统
JP6491809B1 (ja) * 2018-10-10 2019-03-27 株式会社ネイン 情報処理システム、情報処理方法、コンピュータプログラムおよび情報処理装置
CN109583910B (zh) * 2018-10-26 2023-05-12 蚂蚁金服(杭州)网络技术有限公司 一种商品授权鉴定方法、装置及设备
US11886550B2 (en) * 2019-12-05 2024-01-30 APPDIRECT, Inc. Geographically local license sharing
CN115358744A (zh) * 2021-01-20 2022-11-18 支付宝(杭州)信息技术有限公司 基于电子凭证的互动方法、装置及电子设备
WO2023215233A1 (en) * 2022-05-02 2023-11-09 Tether Llc Interconnecting and tracking groups for safe travel and related systems and methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136573A1 (en) * 2005-12-05 2007-06-14 Joseph Steinberg System and method of using two or more multi-factor authentication mechanisms to authenticate online parties
US20130219290A1 (en) * 2012-02-16 2013-08-22 Samsung Electronics Co. Ltd. System and method of transmitting data by using widget window

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073630A (ja) * 2000-08-29 2002-03-12 Casio Comput Co Ltd 端末検索装置、位置情報処理システム、及び記憶媒体
US8352582B2 (en) * 2001-06-28 2013-01-08 Koninklijke Philips Electronics N.V. Temporal proximity to verify physical proximity
JP2004005500A (ja) * 2002-03-28 2004-01-08 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理プログラム
JP3912269B2 (ja) * 2002-12-09 2007-05-09 株式会社日立製作所 ゲートウェイ装置、情報機器装置及び通信制御方法
US7831828B2 (en) 2004-03-15 2010-11-09 Cardiac Pacemakers, Inc. System and method for securely authenticating a data exchange session with an implantable medical device
US20070100752A1 (en) 2005-10-06 2007-05-03 Resh Wallaja Systems and methods for secure financial transaction authorization
JP2007257500A (ja) * 2006-03-24 2007-10-04 Nippon Telegr & Teleph Corp <Ntt> 被認証装置、被認証プログラム、被認証方法、WebブラウザプラグインおよびWebブラウザブックマークレット
JP2007272813A (ja) * 2006-03-31 2007-10-18 Nec Corp 認証システム、認証サーバ、認証方法及びコンピュータ読み取り可能な認証制御プログラム
KR100725944B1 (ko) * 2006-04-07 2007-06-11 삼성전자주식회사 동행으로부터의 이탈 방지 방법 및 그 장치
WO2009056897A1 (en) 2007-10-30 2009-05-07 Telecom Italia S.P.A Method of authentication of users in data processing systems
JP2010226336A (ja) * 2009-03-23 2010-10-07 Denso It Laboratory Inc 認証方法および認証装置
US8621588B2 (en) * 2009-06-15 2013-12-31 National University Corporation Asahikawa Medical University Information processing system, terminal device, and server
US20120094596A1 (en) 2010-10-14 2012-04-19 Research In Motion Limited Near-field communication (nfc) system providing nfc tag geographic position authentication and related methods
JP5889525B2 (ja) * 2010-12-21 2016-03-22 パナソニックIpマネジメント株式会社 認証システム
US9009475B2 (en) * 2011-04-05 2015-04-14 Apple Inc. Apparatus and methods for storing electronic access clients
US8868921B2 (en) * 2011-07-20 2014-10-21 Daon Holdings Limited Methods and systems for authenticating users over networks
GB2495474B (en) 2011-10-03 2015-07-08 Barclays Bank Plc User authentication
JP2013222231A (ja) * 2012-04-13 2013-10-28 Nec Corp 感情共有コミュニケーション促進システム、感情共有コミュニケーション促進方法、およびプログラム
US9626726B2 (en) * 2012-10-10 2017-04-18 Google Inc. Location based social networking system and method
KR20140101199A (ko) 2013-02-08 2014-08-19 장활 일회용 코드를 이용한 휴대용 통신 단말 결제 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136573A1 (en) * 2005-12-05 2007-06-14 Joseph Steinberg System and method of using two or more multi-factor authentication mechanisms to authenticate online parties
US20130219290A1 (en) * 2012-02-16 2013-08-22 Samsung Electronics Co. Ltd. System and method of transmitting data by using widget window

Also Published As

Publication number Publication date
KR20160055872A (ko) 2016-05-18
JP6387064B2 (ja) 2018-09-05
CN104639586B (zh) 2018-06-08
US20150135274A1 (en) 2015-05-14
TWI648996B (zh) 2019-01-21
CN104639586A (zh) 2015-05-20
US9386005B2 (en) 2016-07-05
US9692769B2 (en) 2017-06-27
HK1205606A1 (en) 2015-12-18
WO2015073352A1 (en) 2015-05-21
US20160285889A1 (en) 2016-09-29
JP2017033589A (ja) 2017-02-09
JP2017500674A (ja) 2017-01-05
TW201519676A (zh) 2015-05-16
JP6023394B1 (ja) 2016-11-09

Similar Documents

Publication Publication Date Title
KR101780220B1 (ko) 네트워크를 통한 위치 기반 데이터 통신을 위한 방법 및 시스템
US10826910B2 (en) Frictionless multi-factor authentication system and method
US11599875B2 (en) Autonomous exchange via entrusted ledger application specific wallet
US20190325432A1 (en) Autonomous exchange via entrusted ledger key management
JP6875433B2 (ja) サービス処理方法および装置、およびサービスサーバ
US10621326B2 (en) Identity authentication method, server, and storage medium
KR102179152B1 (ko) 사회 관계 데이터를 이용한 클라이언트 인증
US9439072B2 (en) System and method for authentication
US20210012332A1 (en) Autonomous exchange via entrusted ledger digital signature
JP2022513977A (ja) 指定ポイント承認における身元識別方法、装置及びサーバ
US20150278795A1 (en) Secure offline payment system
CN106716471A (zh) 用于识别移动装置的方法和系统
US20160364716A1 (en) System and method for transaction approval based on confirmation of proximity of mobile subscriber device to a particular location
US11605071B2 (en) Autonomous exchange via entrusted ledger key management
CN104579667A (zh) 一种账户密码的管理方法、相关装置及系统
KR101600455B1 (ko) 서비스 계정에 대한 사용자 인증 방법과 시스템, 및 기록 매체
JP2019510289A (ja) サービス処理方法及び装置
US20160219436A1 (en) User verification
JP7277826B2 (ja) 制御装置、データ登録システム、および制御プログラム
KR101574783B1 (ko) 전자영수증 발행 시스템의 회원 데이터베이스 구축 방법 및 장치
TWI775113B (zh) 交易檢核系統及方法
WO2017054287A1 (zh) 一种服务处理方法及服务设备
KR20110081922A (ko) 공간데이터베이스를 활용한 인증방법 및 인증시스템
WO2023219928A1 (en) System and method for facilitating transaction account provisioning
EP4133393A1 (en) Privacy enforcer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right