KR102374887B1 - 통신을 행하기 위한 시스템, 프로그램, 방법 및 서버 - Google Patents

통신을 행하기 위한 시스템, 프로그램, 방법 및 서버 Download PDF

Info

Publication number
KR102374887B1
KR102374887B1 KR1020207022801A KR20207022801A KR102374887B1 KR 102374887 B1 KR102374887 B1 KR 102374887B1 KR 1020207022801 A KR1020207022801 A KR 1020207022801A KR 20207022801 A KR20207022801 A KR 20207022801A KR 102374887 B1 KR102374887 B1 KR 102374887B1
Authority
KR
South Korea
Prior art keywords
token
message
server
app
terminal device
Prior art date
Application number
KR1020207022801A
Other languages
English (en)
Other versions
KR20200105706A (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 KR20200105706A publication Critical patent/KR20200105706A/ko
Application granted granted Critical
Publication of KR102374887B1 publication Critical patent/KR102374887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

보다 간편하게, 동시에 기동하는 복수의 어플리케이션 간에서 통신하는 것이 가능한 시스템을 제공한다. 본 발명은, 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템이며, 휴대 단말 장치는, 토큰을 생성하는 토큰 생성부와, 휴대 단말 장치에서 동작하는 하나의 앱이 다른 앱으로 보내기 위한, 토큰 및 페이로드를 포함하는 발행 메시지를 서버로 송신하는 발행부와, 다른 앱이 발행부에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 토큰을 포함하는 구독 메시지를 서버로 송신하는 구독부를 구비하고, 서버는, 구독 메시지에 포함되는 토큰을 기억하고, 발행 메시지를 수신했을 때에, 발행 메시지에 포함되는 토큰과, 기억된 구독 메시지에 포함되는 토큰을 조합하고, 해당 조합 결과가 소정 조건을 만족시키는 경우, 페이로드를 다른 앱으로 송신한다.

Description

통신을 행하기 위한 시스템, 프로그램, 방법 및 서버
본 발명은, 통신을 행하기 위한 시스템 등에 관한 것이며, 특히, 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템, 프로그램, 방법 및 서버에 관한 것이다.
최근, 터치 패널을 구비한 스마트 디바이스, 특히, 스마트폰이 널리 일반적으로 보급되어 있다. 모바일용 CPU의 멀티 코어화 또는 디스플레이의 대형화에 수반하여, 오늘날의 스마트폰용 OS는, 동시에 복수의 어플리케이션을 기동하는 멀티태스킹 기능을 서포트하고 있다. 일반적으로, 스마트폰에는 복수의 앱(어플리케이션)이 인스톨되어 있고, 복수의 앱을 동시에 사용하는 유저는 많다.
한편, 동시에 기동하는 앱 간의 연계에는, 시큐리티 상, 일정한 제약이 부과되어 있다. 예를 들면, 특허 문헌 1은, iOS 상에서 실행되는 앱의 보호에 관한 기술을 개시하고 있다. 이와 같이 iOS 등의 범용적인 OS에서는, 모든 앱은 샌드 박스화되고, 다른 앱에 의하여 보존된 파일로의 액세스 등을 할 수 없도록 구성되어 있다.
일본 특허 공개 공보 제2017-004528호
상기와 같은 상황이므로, 종래에는 앱끼리가 자동적으로 연계 또는 통신하는 것은 어려웠다. 이에 대하여, 앱 간의 데이터를 중계하는 중계 서버를 도입하고, 이 중계 서버를 통하여 앱 간의 통신을 실현하는 방법이 있다. 그러나, 중계 서버가 각 앱을 적절히 식별 및 인증하여 앱 간을 연계할 필요가 있고, 그 때문에 각 앱은 유저에 대하여 명시적인 인증 조작 등을 요구함으로써, 유저에게는 번잡한 조작이 되고 있었다.
본 발명은, 이러한 과제를 해결하기 위하여 이루어진 것이며, 보다 간편하게, 동시에 기동하는 복수의 어플리케이션 간에서 통신하는 것이 가능한 시스템 등을 제공하는 것을 주목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 시스템은, 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템이며, 상기 휴대 단말 장치는, 시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 토큰 생성부와, 상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 발행부와, 상기 다른 앱이 상기 발행부에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 구독부를 구비하고, 상기 서버는, 상기 구독 메시지에 포함되는 상기 토큰을 기억하고, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는 것을 특징으로 한다.
또한, 본 발명에서, 바람직하게는, 상기 토큰은, 하나의 행이 상기 시각 정보 중 하나의 시각을 나타내는 정보 및 상기 센서 값 정보 중의 해당 시각에 대응된 하나 또는 복수의 센서 값을 나타내는 정보를 포함하는 토큰 매트릭스이다.
또한, 본 발명에서, 바람직하게는, 상기 센서 디바이스는, GPS 센서, 자이로 센서, 및 가속도 센서 중 적어도 하나를 포함한다.
또한, 본 발명에서, 바람직하게는, 상기 발행부는, 상기 발행 메시지로부터 상기 토큰의 일부를 추출하여 상기 페이로드를 암호화하고, 상기 발행 메시지 중의 추출한 해당 일부를 마스킹 또는 삭제하고, 상기 구독부는, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 토큰 생성부가 생성하는 상기 토큰을 비교함으로써, 상기 발행부가 암호화에 이용한 상기 일부를 특정하고, 해당 특정된 상기 일부를 이용하여 상기 페이로드를 복호한다.
또한, 본 발명에서, 바람직하게는, 상기 소정 조건은, 조합한 상기 토큰의 일치하는 비율이 역치 이상인 것이다.
또한, 본 발명에서, 바람직하게는, 상기 구독 메시지는, 상기 다른 앱이 상기 페이로드를 수신하는 포트 번호를 포함하고, 상기 서버는, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 휴대 단말 장치의 상기 포트 번호에 대하여 송신한다.
또한, 본 발명에서, 바람직하게는, 상기 구독부는, 상기 구독 메시지를 정기적으로 상기 서버로 송신한다.
또한, 본 발명에서, 바람직하게는, 상기 토큰은, 상기 휴대 단말 장치의 IP 어드레스를 포함하고, 상기 서버는, 부하 분산 장치 및 복수의 서버 장치로 구성되고, 상기 부하 분산 장치는, 동일한 IP 어드레스로부터 송신되는 상기 발행 메시지 및 상기 구독 메시지를, 동일한 상기 서버 장치에 처리시킨다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 한 조의 프로그램은, 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 한 조의 프로그램이며, 상기 휴대 단말 장치에, 시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 단계와, 상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 단계와, 상기 다른 앱이 상기 발행 메시지에 포함되는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 단계를 실행시키고, 상기 서버에, 상기 구독 메시지에 포함되는 상기 토큰을 기억하는 단계와, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는 단계를 실행시키는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 방법은, 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 방법이며, 상기 휴대 단말 장치에서, 시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 단계와, 상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 휴대 단말 장치로부터 상기 서버로 송신하는 단계와, 상기 다른 앱이 상기 발행 메시지에 포함되는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 휴대 단말 장치로부터 상기 서버로 송신하는 단계와, 상기 서버에서, 상기 구독 메시지에 포함되는 상기 토큰을 기억하는 단계와, 상기 서버에서, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 서버로부터 상기 다른 앱으로 송신하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 서버는, 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템에서의 서버이며, 상기 휴대 단말 장치는, 시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 토큰 생성부와, 상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 발행부와, 상기 다른 앱이 상기 발행부에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 구독부를 구비하고, 상기 서버는, 상기 구독 메시지에 포함되는 상기 토큰을 기억하고, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는 것을 특징으로 한다.
본 발명에 의하면, 보다 간편하게, 동시에 기동하는 복수의 어플리케이션 간에 통신할 수 있다.
도 1은, 본 발명의 일 실시 형태에 의한 시스템의 전체 구성도이다.
도 2는, 본 발명의 일 실시 형태에 의한 휴대 단말 장치의 하드웨어 구성을 도시한 블럭도이다.
도 3은, 본 발명의 일 실시 형태에 의한 서버의 하드웨어 구성을 도시한 블럭도이다.
도 4는, 본 발명의 일 실시 형태에 의한 시스템의 기능 블럭도이다.
도 5는, 토큰 매트릭스의 데이터 구조의 일예를 도시한 도면이다.
도 6은, 본 발명의 일 실시 형태에 의한 휴대 단말 장치에서 동작하는 송신측 앱의 정보 처리의 플로우차트를 도시한 도면이다.
도 7은, 본 발명의 일 실시 형태에 의한 휴대 단말 장치에서 동작하는 수신측 앱의 정보 처리의 플로우차트를 도시한 도면이다.
도 8은, 본 발명의 일 실시 형태에 의한 서버의 정보 처리의 플로우차트를 도시한 도면이다.
도 9는, 발행부에 의한 페이로드 암호화의 일예를 도시한 도면이다.
도 10은, 도 9와 같이 암호화된 페이로드의 구독부에 의한 복호화의 일예를 도시한 도면이다.
도 11은, 본 실시 형태의 응용예에 대하여 설명하기 위한 도면이다.
이하, 도면을 참조하여, 본 발명의 실시 형태에 의한, 시스템에 대하여 설명한다. 본 명세서에서, 앱은, 주로 스마트폰이나 태블릿 단말에서 인스톨되는 앱(App.)을 의미하지만, 어플리케이션 전반을 의미할 수 있다. 또한, 단순히 앱이라고 부르는 경우, 앱은, Web 앱 및 네이티브 앱을 포함한다.
도 1은, 본 발명의 일 실시 형태에 의한 시스템(1)의 전체 구성도이다. 도 1에 도시한 바와 같이, 시스템(1)은, 휴대 단말 장치(3) 및 서버(4)를 구비하고, 휴대 단말 장치(3) 및 서버(4)는, 인터넷 등의 네트워크(2)에 접속되어 서로 통신 가능하다.
도 2는, 본 발명의 일 실시 형태에 의한 휴대 단말 장치(3)의 하드웨어 구성을 도시한 블럭도이다. 본 실시 형태에서, 휴대 단말 장치(3)는 스마트폰이다. 휴대 단말 장치(3)는, 프로세서(11), 표시 장치(12), 입력 장치(13), 기억 장치(14), 및 통신 장치(15)를 구비한다. 이러한 각 구성 장치는 버스(16)에 의하여 접속된다. 버스(16)와 각 구성 장치와의 사이에는, 필요에 따라 인터페이스가 개재되어 있는 것으로 한다. 단, 휴대 단말 장치(3)는, 상기의 구성을 구비하는 것이라면, 데스크탑형의 PC, 노트 PC 또는 태블릿 단말 등으로 할 수 있다.
프로세서(11)는, 휴대 단말 장치(3) 전체의 동작을 제어하는 것이며, 예를 들면, CPU이다. 또한, 프로세서(11)로서는, MPU 등의 전자 회로가 이용되어도 된다. 프로세서(11)는, 기억 장치(14)에 저장되어 있는 프로그램이나 데이터를 읽어들여 실행함으로써, 다양한 처리를 실행한다. 하나의 예에서는, 프로세서(11)는, 복수의 프로세서로 구성된다.
표시 장치(디스플레이)(12)는, 프로세서(11)의 제어에 따라, 어플리케이션 화면 등을 휴대 단말 장치(3)의 유저에게 표시한다. 바람직하게는 액정 디스플레이이지만, 유기 EL을 이용한 디스플레이나 플라즈마 디스플레이 등이여도 된다.
입력 장치(13)는, 터치 패널, 터치 패드, 입력 버튼 등과 같이 유저로부터의 입력을 받아들이는 기능을 가지는 것이다. 본 실시 형태에서는, 휴대 단말 장치(3)는 스마트폰이므로, 휴대 단말 장치(3)는 입력 장치(13)로서 터치 패널을 구비하고, 터치 패널은 표시 장치(12)로서도 기능하며, 표시 장치(12)와 입력 장치(13)는 일체로 된 구조이다. 단, 표시 장치(12)와 입력 장치(13)는, 별도의 위치에 배치되는 별개의 형태여도 된다.
기억 장치(14)는, 휘발성 메모리인 RAM 및 불휘발성 메모리인 ROM을 포함하는, 일반적인 스마트폰이 구비하는 기억 장치이다. 기억 장치(14)는, 외부 메모리를 포함할 수도 있다.
하나의 예에서는, 기억 장치(14)는, 주기억 장치 및 보조 기억 장치를 포함한다. 주기억 장치는, 정보의 고속의 읽고 쓰기가 가능한 휘발성의 기억 매체이며, 프로세서(11)가 정보를 처리할 때의 기억 영역 및 작업 영역으로서 이용된다. 보조 기억 장치는, 다양한 프로그램이나, 각 프로그램의 실행 시에 프로세서(11)가 사용하는 데이터를 저장한다. 보조 기억 장치는, 예를 들면, 하드 디스크 장치이지만, 정보를 저장할 수 있는 것이라면 어떠한 불휘발성 스토리지 또는 불휘발성 메모리여도 되고, 착탈 가능한 것이어도 상관없다. 보조 기억 장치는, 예를 들면, 오퍼레이팅 시스템(OS), 미들웨어, 어플리케이션 프로그램, 이들 프로그램의 실행에 수반하여 참조될 수 있는 각종 데이터 등을 저장한다.
통신 장치(15)는, 네트워크(2)를 통하여 서버(4) 등의 다른 컴퓨터와의 사이에서 데이터의 수수(授受)를 행한다. 예를 들면, 통신 장치(15)는, 이동체 통신이나 무선 LAN 등의 무선 통신을 행하고, 네트워크(2)에 접속한다. 하나의 예에서는, 통신 장치(15)에 의하여, 프로그램을 서버(4)로부터 다운로드하여, 기억 장치(14)에 저장한다. 단, 통신 장치(15)는, 이더넷(등록 상표) 케이블 등을 이용한 유선 통신을 행해도 된다.
도 3은, 본 발명의 일 실시 형태에 의한 서버(4)의 하드웨어 구성을 도시한 블럭도이다. 서버(4)는, 프로세서(21), 표시 장치(22), 입력 장치(23), 기억 장치(24), 및 통신 장치(25)를 구비한다. 이들 각 구성 장치는 버스(26)에 의하여 접속된다. 버스(26)와 각 구성 장치의 사이에는 필요에 따라 인터페이스가 개재되어 있는 것으로 한다. 또한, 서버(4)는, 하나의 서버 장치로 구성해도 되고, 복수의 서버 장치로 구성해도 된다.
프로세서(21)는, 서버(4) 전체의 동작을 제어하는 것이며, 예를 들면, CPU이다. 또한, 프로세서(21)로서는, MPU 등의 전자 회로가 이용되어도 된다. 프로세서(21)는, 기억 장치(24)에 저장되어 있는 프로그램이나 데이터를 읽어들여서 실행함으로써, 다양한 처리를 실행한다. 하나의 예에서는, 프로세서(21)는, 복수의 프로세서로 구성된다.
표시 장치(디스플레이)(22)는, 프로세서(21)의 제어에 따라, 어플리케이션 화면 등을 서버(4)의 사용자에게 표시한다. 입력 장치(23)는, 서버(4)에 대한 유저로부터의 입력을 받아들이는 것이며, 예를 들면, 터치 패널, 터치 패드, 키보드, 또는 마우스이다.
기억 장치(24)는, 주기억 장치 및 보조 기억 장치를 포함한다. 주기억 장치는, 예를 들면, RAM과 같은 반도체 메모리이다. RAM은, 정보의 고속의 읽고 쓰기가 가능한 휘발성의 기억 매체이며, 프로세서(21)가 정보를 처리할 때의 기억 영역 및 작업 영역으로서 이용된다. 주기억 장치는, 판독 전용의 불휘발성 기억 매체인 ROM을 포함하고 있어도 된다. 이 경우, ROM은 펌 웨어 등의 프로그램을 저장한다. 보조 기억 장치는, 다양한 프로그램이나, 각 프로그램의 실행 시에 프로세서(21)가 사용하는 데이터를 저장한다. 보조 기억 장치는, 예를 들면, 하드 디스크 장치이지만, 정보를 저장할 수 있는 것이라면 어떠한 불휘발성 스토리지 또는 불휘발성 메모리여도 되고, 착탈 가능한 것이어도 상관없다. 보조 기억 장치는, 예를 들면, 오퍼레이팅 시스템(OS), 미들웨어, 어플리케이션 프로그램, 이들 프로그램의 실행에 수반하여 참조될 수 있는 각종 데이터 등을 저장한다.
바람직한 하나의 예에서는, 기억 장치(24)는 각종 데이터베이스용의 데이터(예를 들면, 테이블) 또는 프로그램을 기억한다. 프로세서(21)의 동작 등에 의하여, 각종 데이터베이스는 실현된다. 서버(4)는, 데이터베이스 서버 기능을 구비할 수도 있고, 하나 또는 복수의 데이터베이스 서버를 포함할 수도 있으며, 또는 다른 서버를 포함할 수도 있다.
통신 장치(25)는, 네트워크(2)를 통하여 휴대 단말 장치(3) 등의 다른 컴퓨터와의 사이에서 데이터의 수수를 행한다. 예를 들면, 통신 장치(25)는, 이더넷(등록 상표) 케이블 등을 이용한 유선 통신 또는 이동체 통신, 무선 LAN 등의 무선 통신을 행하여 네트워크(2)에 접속한다.
도 4는, 본 발명의 일 실시 형태에 의한 시스템(1)의 기능 블럭도의 일예를 나타낸다. 이들 기능은, 휴대 단말 장치(3)의 프로세서(11) 및 서버(4)의 프로세서(21)에 의하여 프로그램이 실행됨으로써 실현된다. 본 실시 형태에서는, 각종 기능이 프로그램 읽어들임에 의하여 실현되므로, 하나의 파트(기능)의 일부를 다른 파트가 가지고 있어도 된다. 단, 각 기능의 일부 또는 전부를 실현하기 위한 전자 회로 등을 구성함으로써, 하드웨어에 의하여 이들 기능은 실현되어도 된다.
휴대 단말 장치(3)는, OS가 인스톨됨과 동시에, 해당 OS 상에서 동작시키는 복수의 어플리케이션이 인스톨되어 있다. 설명의 편의 상, 휴대 단말 장치(3)는, OS로서 iOS(등록 상표)를 가지는 것으로 하지만, 이에 한정되지 않고, Windows(등록 상표) 또는 Android(등록 상표) 등이여도 된다. 휴대 단말 장치(3)는, 앱을 인스톨할 때에, 각 앱을 위한 특정의 기억 영역을 할당한다. 기억 영역은, 기억부(14)의 일부이며, 일반적으로 샌드 박스라고 불리는 것이다.
도 4는, 하나의 샌드 박스(31)가, 하나의 앱(32)에 대하여 할당되는 모습을 나타낸다. 도 4에 도시한 바와 같이, 앱(32)은, 해당 앱(32)에 대하여 할당된 샌드 박스(31)로 동작하고, 그 밖의 앱(32)에 할당된 샌드 박스(31)와 앱 간 통신을 행할 수 없도록 구성된다. 이와 같이, 시스템(1)은, 보호된 영역인 샌드 박스(31)로 앱(32)을 동작시키므로, 해당 앱(32)에서 보존된 파일에, 해당 샌드 박스(31) 외의 그 밖의 앱(32)이 액세스하는 것 등을 방지하고 있다. 따라서, 예를 들면, 각 앱(32)이 샌드 박스화됨으로써, 유저 데이터는 보호된다. 단, 앱(32)은, OS가 제공하는 API를 이용할 수 있다.
앱(32)은, 앱 기능부(33), 토큰 생성부(34), 발행부(35), 및 구독부(36)를 구비한다.
앱 기능부(33)는, 휴대 단말 장치(3) 상에서 기동된 앱(32)의 기능을 가지고, 해당 앱(32)에 의한 서비스의 제공을 행한다. 앱(32)이 Web 앱인 경우, 서버(4)가 앱 기능부(33)의 일부 또는 전부를 가지고, 앱(32)은, 서버(4)와 데이터의 송수신을 행한다.
토큰 생성부(34)는, 시각 정보 및 휴대 단말 장치(3)가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성한다. 하나의 예에서는, 토큰 생성부(34)는, 휴대 단말 장치(3) 상에서 동작하는 앱(32) 내부의 모듈로서 실장되는 소프트웨어 모듈이다.
휴대 단말 장치(3)는, 센서 디바이스를 구비하고, 센서 디바이스는, GPS 센서, 자이로 센서, 및 가속도 센서 중 적어도 하나를 포함한다. 토큰 생성부(34)는, 센서 디바이스에 액세스하여, 미리 정해진 기간, 센서 값을 취득한다. 미리 정해진 기간은, 예를 들면, 수백 밀리 초 내지 1 초 정도의 기간이다. 하나의 예에서는, 토큰 생성부(34)는, 범용의 스마트폰에 내장되어 있는 GPS 및 6 축 센서를 포함하는 센서 디바이스에 액세스하여, 수백 밀리 초의 기간, 센서 값을 취득한다. 예를 들면, 6 축 센서는, 3 축의 가속 센서 및 자이로 센서로 구성된다.
토큰 생성부(34)는, 어느 한 특정 시간에 특정의 휴대 단말 장치(3) 상에서 동작(기동)하는 앱을 식별하기 위한 토큰을 생성한다. 바람직한 하나의 예에서는, 토큰 생성부(34)는, 복수의 센서로부터 센서 값을 취득하는 경우, 복수의 센서 값의 각각을 열로 하고, 소정의 단위 시간을 행으로 하여, 센서 값의 시계열적인 변화를 나타내는 행렬(매트릭스)을, 토큰으로서 생성한다. 본 실시 형태에서는, 토큰은, 이와 같이 매트릭스로서 생성되는 것으로 하고, 토큰 매트릭스라고 부르기로 한다. 예를 들면, 미리 정해진 기간이 수백 밀리 초인 경우, 소정의 단위 시간은 10 밀리 초 정도이다.
도 5는, 토큰 매트릭스의 데이터 구조의 일예를 나타낸다. 토큰 매트릭스에서의 하나의 행(ri)은, 이하의 식 1과 같이 정의된다.
Figure 112020082625177-pct00001
                             (식 1)
식 1에서, timestampi는, 센서 디바이스로부터 센서 값을 취득한 시간을 나타내는 값이며, IP는, 앱이 동작하는 휴대 단말 장치(3)의 IP 어드레스이며, sensorn는, 각 센서로부터 취득된 n 종류의 센서 값이다. 하나의 예에서는, timestampi는, OS로부터 취득 가능한, 이른바 UNIX(등록 상표) 시간이라고 불리는 정수 값이거나, 또는 "2017/07/14 15:48:43"와 같은 문자열이다. 하나의 예에서는, sensorn가 나타내는 각 센서 값은, GPS가 출력하는 위도(GPS(Lat)), 경도(GPS(Lng)), 및 6 축 센서가 출력하는 6 개의 값(x, y, z, r, p, y)을 포함한다.
바람직한 하나의 예에서는, 센서 디바이스마다 값의 갱신 빈도는 상이하지만, 토큰 생성부(34)가 각 센서 디바이스로부터 값을 취득하는 타이밍은 일정하다. 토큰 생성부(34)는, 토큰 매트릭스에서의 하나의 행(ri)을, 센서 값을 취득하는 주기마다 생성한다. 토큰 생성부(34)는, 예를 들면, 50 내지 100Hz의 샘플링 빈도로, 각 센서 디바이스로부터 센서 값을 취득한다. GPS와 같이 갱신 빈도가 낮은 센서 디바이스에 대해서는, 토큰 생성부(34)는, GPS의 센서 값이 갱신되지 않는 동안, GPS의 센서 값으로서 같은 값을 취득하고, 토큰 매트릭스의 대응하는 열에 같은 값을 저장한다.
또한, 토큰 매트릭스는 IP 어드레스를 포함하지 않아도 된다. 단, 모바일 환경에서는, 이용자의 이동 또는 WiFi로의 접속 등에 의하여 IP 어드레스는 빈번하게 변화하므로, 시간 축에 따른 IP 어드레스의 변화의 이력은, 어느 한 특정 시간에 특정 스마트폰 상에서 기동하는 앱을 식별하기 위하여 유익하다. 따라서, 토큰 매트릭스는 IP 어드레스를 포함하는 것이 바람직하다.
상기와 같이, 토큰은, 하나의 행이 시각 정보 중 하나의 시각을 나타내는 정보 및 센서 값 정보 중의 해당 시각에 대응된 하나 또는 복수의 센서 값을 나타내는 정보를 포함하는 토큰 매트릭스이다. 단, 토큰은, 어느 한 특정 시간에 특정 휴대 단말 장치(3) 상에서 동작하고 있는 것을 식별 가능한 것이라면, 토큰 매트릭스와는 별도의 데이터 구조로 할 수도 있다.
발행부(35)와 구독부(36)는, 일반적인 출판-구독형 모델의 Publisher와 Subscriber에 각각 상당한다. 서버(4)는, 서버 사이드에 있어서, 휴대 단말 장치(3)에서 동작(기동)하는 하나의 앱(32)으로부터 송신된 메시지를, 동일한 휴대 단말 장치(3)에서 동작(기동)하는 다른 앱(32)으로 배송하기 위한 기능을 가지는 메시지 버스(41)를 구비한다. 본 실시 형태의 시스템(1)은, 앱(32) 간은 직접적인 통신을 행하지 않고, 서버(4)를 통하여, 구체적으로는 서버(4)가 구비하는 메시지 버스(41)를 통하여, 앱 간(32)을 간접적으로 연결한다. 본 명세서에서는, 설명의 편의 상, 특별히 언급이 없는 한, 발행 메시지를 송신하는 앱(32)을 송신측 앱(32)(하나의 앱(32)), 구독 메시지를 송신하는 앱(32)을 수신측 앱(32)(다른 앱(32))이라고 부른다. 앱(32) 간의 쌍방향 통신의 경우, 2 개의 앱(32)은, 양쪽 모두, 송신측 앱(32) 및 수신측 앱(32)일 수 있다.
발행부(35)는, 휴대 단말 장치(3)에서 동작하는 송신측 앱(32)이 휴대 단말 장치(3)에서 동작하는 수신측 앱(32)으로 보내기 위한, 토큰 및 페이로드를 포함하는 발행 메시지를 서버(4)로 송신한다. 하나의 예에서는, 발행부(35)는, 동적인 통신을 행하는 앱(32)이, 실제로 데이터를 수신측 앱(32)으로 송신하기 위한 기능을 제공하는 모듈이다.
하나의 예에서는, 발행 메시지는, 토큰 매트릭스를 헤더로 하고, 송신하고자 하는 데이터를 페이로드로 한 메시지다. 발행부(35)는, 발행 메시지를 서버(4)가 구비하는 메시지 버스(41)로 송신한다. 구체적으로는, 발행 메시지는, 이하의 식 2와 같이 정의된다.
Figure 112020082625177-pct00002
                            (식 2)
식 2에서, token_matrix는, 도 5에 나타내는 시계열 데이터이며, payload는, 송신 내용을 나타내는 임의의 데이터이다.
하나의 예에서는, 발행부(35)가 발행 메시지를 UDP로 송신하는 경우, 발행부(35)는, 발행 메시지를 복수 개로 분할하여 메시지 버스(41)로 송신한다.
구독부(36)는, 수신측 앱(32)이 발행부(35)에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 토큰을 포함하는 구독 메시지를 서버(4)로 송신한다. 하나의 예에서는, 구독부(36)는, 앱(32)이 송신측 앱(32)으로부터의 메시지를 수신하기 위한 모듈이다. 따라서, 구독 메시지는, 앱(32)이 발행부(35)에 의하여 보내어지는 데이터를 수신 가능함을 메시지 버스(41)로 전달하기 위한 메시지이며, 수신측 앱(32)이, 이른바 구독 처리를 행할 때에 필요한 것이다.
하나의 예에서는, 구독 메시지는, 토큰 매트릭스 및 휴대 단말 장치(3)의 엔드 포인트 정보를 포함한다. 예를 들면, 엔드 포인트 정보는, IP 어드레스 및 포트 번호이다. 구체적으로는, 구독 메시지는, 이하의 식 3과 같이 정의된다.
Figure 112020082625177-pct00003
                            (식 3)
식 3에서, token_matrix는, 도 5에 나타내는 시계열 데이터이며, IP는, 휴대 단말 장치(3)의 IP 어드레스이며, port는, 수신측 앱(32)이 수신 상태에 있는 포트 번호이다. 서버(4)는, 발행부(35)로부터 수신한 발행 메시지 또는 해당 발행 메시지 중, 적어도 페이로드를 포함하는 데이터를 휴대 단말 장치(3)의 해당 포트 번호에 대하여 송신하고, 수신측 앱(32)은, 해당 포트 번호를 이용하여, 서버(4)로부터 송신된 데이터를 수신한다.
구독부(36)는, 구독 메시지를 정기적으로, 예를 들면, 1 초에 1 회, 서버(4)가 구비하는 메시지 버스(41)로 송신한다. 본 실시 형태의 시스템(1)에서는, 후술하는 바와 같이, 메시지 버스(41)가 토큰 매트릭스를 이용하여 메시지의 배송 가부를 결정하므로, 수신측 앱(32)은, 토큰 매트릭스를 포함하는 구독 메시지를 송신하여, 정보를 계속 갱신할 필요가 있다. 한편, 수신측 앱(32)이 구독의 정지를 행할 때에는, 구독부(36)가 구독 메시지의 송신을 정지하면 된다. 따라서, 구독부(36)는, 구독 정지를 위한 처리는 불필요하다.
또한, 본 실시 형태에서의 발행부(35) 및 구독부(36)는, 서버에 대하여 각 메시지를 송신할 때에 접속 상태를 유지할 필요는 없으므로, TCP에 의존하지 않고, UDP를 이용할 수 있다.
서버(4)는, 메시지 버스(41) 및 이력 데이터베이스(42)를 구비한다. 이력 데이터베이스(42)는, 정기적으로 구독부(36)가 송신하는 구독 메시지에 포함되는 토큰 매트릭스의 이력을 일정 기간, 예를 들면, 10 초간, 보존하는 데이터베이스이다. 단, 이력 데이터베이스(42)는, 이력 데이터베이스(42)의 기억 영역을 고려하여, 보다 많은 기간 및 토큰 매트릭스의 행수(行數)를 기억하도록 구성할 수도 있다.
메시지 버스(41)는, 발행부(35)가 송신하는 발행 메시지 및 구독부(36)가 송신하는 구독 메시지를 수신한다. 메시지 버스(41)는, 구독 메시지를 수신했을 때에, 구독 메시지에 포함되는 토큰 매트릭스를 일정 기간, 예를 들면, 10 초간, 이력 데이터베이스(42)에 기억한다. 메시지 버스(41)는, 발행 메시지를 수신했을 때에, 발행 메시지에 포함되는 토큰 매트릭스와, 이력 데이터베이스(42)에 기억된 구독 메시지에 포함되는 토큰 매트릭스를 조합한다. 또한, 이력 데이터베이스(42)에는 일정 기간 토큰 매트릭스가 기억되므로, 발행 메시지에 포함되는 토큰 매트릭스보다 많은 행수의 토큰 매트릭스가 이력 데이터베이스(42)에 기억됨은 이해된다.
메시지 버스(41)는, 해당 조합 결과가 소정 조건을 만족시키는 경우, 송신측 앱(32)의 발행부(35)로부터 수신한 발행 메시지를 수신측 앱(32)으로 송신한다. 바람직한 하나의 예에서는, 소정 조건은, 조합한 토큰 매트릭스의 일치하는 비율이 역치 이상인 것이다. 소정 조건을 토큰 매트릭스가 완전하게 일치한 경우로 하지 않는 것은, UDP 등의 전송 제어를 행하지 않는 프로토콜을 이용했을 때에 발생되는 패킷 로스를 고려했기 때문이다. 구체적으로는, 일치율의 계산은, 이하의 식 4와 같이 정의된다.
Figure 112020082625177-pct00004
                            (식 4)
식 4에서, Q는, 발행부(35)로부터 송신된 토큰 매트릭스이며, Qi는, 토큰 매트릭스의 i(i=0 내지 n-1) 행째의 데이터이다. M은, 이력 데이터베이스(42)에 기억된, Q와 동일한 IP 어드레스로부터 송신된 토큰 매트릭스로부터, Q와 동일한 개시 시각(timestamp)의 행렬을 추출한 것이다. n은, 토큰 매트릭스(Q)의 행수이다. 식 4에서는, 각 매트릭스의 행이 일치하는 비율을 산출하고 있다. Qi가 undefined의 경우란, Qi가 암호화를 위하여 마스크된 경우 등이다. 메시지 버스(41)는, match(M, Q)가, 미리 설정된 역치 이상일 때에 M와 Q가 일치되었다고 판단하여, 구독 메시지를 송신하는 구독부(36)를 포함하는 수신측 앱(32)으로 메시지를 배송한다.
또한, 메시지 버스(41)는, 해당 조합 결과가 소정 조건을 만족시키는 경우, 송신측 앱(32)의 발행부(35)로부터 수신한 발행 메시지 중, 적어도 페이로드를 포함하는 데이터를 수신측 앱(32)으로 송신해도 된다.
추가의 하나의 예에서는, 서버(4)는, 부하 분산 장치 및 복수의 서버 장치로 구성된다. 이 경우, 토큰 매트릭스는 IP 어드레스를 포함하고, 부하 분산 장치는, 동일한 IP 어드레스로부터 송신되는 발행 메시지 및 구독 메시지를, 동일한 서버 장치에 처리시킨다. 이와 같이, 동일한 IP 어드레스로부터 송신된 메시지를 동일한 서버 장치가 처리하도록 부하 분산을 행하는 구성으로 함으로써, 서버(4)가 고속으로 루팅을 행하는 것이 가능해진다.
예를 들면, 부하 분산 장치는, 수신한 발행 메시지 또는 구독 메시지에 포함되는 IP 어드레스로부터 컨시스턴트 해시를 생성하고, 그 해시값에 따라, 루팅을 담당하는 서버 장치를 결정한다. 이에 의하여, 동일한 IP 어드레스는 동일한 해시값이 됨으로써 반드시 동일한 서버 장치로 배송되므로, 시스템(1)은 고속으로 처리를 행하는 것이 가능해진다.
이어서, 본 발명의 일 실시 형태에 의한 시스템(1)의 정보 처리에 대하여, 도 6 내지 도 8에 도시한 플로우차트를 이용하여 설명한다. 도 6 내지 도 8에 도시하는 정보 처리는, 프로그램을 휴대 단말 장치(3)에 실행시키고, 또한 프로그램을 서버(4)에 실행시킴으로써 실현된다.
도 6은, 본 발명의 일 실시 형태에 의한 휴대 단말 장치(3)에서 동작하는 송신측 앱(32)의 정보 처리의 플로우차트를 도시한 도면이다.
스텝 S601에서, 송신측 앱(32)은, 시각 정보 및 휴대 단말 장치(3)가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰(토큰 매트릭스)을 생성한다. 스텝 S602에서, 송신측 앱(32)은, 수신측 앱(32)으로 송신하는 데이터가 있는지의 여부에 대해 판단한다. 데이터가 있는 경우, 본 처리는 스텝 S603로 진행되고, 데이터가 없는 경우, 본 처리는 종료된다. 스텝 S603에서, 송신측 앱(32)은, 스텝 S601에서 생성된 토큰 및 송신하고자 하는 데이터 본체의 페이로드를 포함하는 발행 메시지를 서버(4)로 송신한다.
바람직하게는, 송신측 앱(32)은, 해당 앱이 기동하고 있는 한, 본 처리가 종료된 후, 정기적으로 스텝 S601가 실행되도록, 본 처리를 개시한다. 하나의 예에서는, 본 처리는, 스텝 S601를 포함하지 않고, 그 대신으로서, 본 처리와는 별도의 처리에서, 송신측 앱(32)은, 해당 앱이 기동하고 있는 한, 소정의 단위 시간마다 토큰을 계속 생성하도록 구성된다. 하나의 예에서는, 송신측 앱(32)은, 송신측 앱(32)이 기동하고 있는 한, 항상 스텝 S601에서 데이터가 있다고 판단하도록 구성된다.
도 7은, 본 발명의 일 실시 형태에 의한 휴대 단말 장치(3)에서 동작하는 수신측 앱(32)의 정보 처리의 플로우차트를 도시한 도면이다.
스텝 S701에서, 수신측 앱(32)은, 시각 정보 및 휴대 단말 장치(3)가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰(토큰 매트릭스)을 생성한다. 스텝 S702에서, 수신측 앱(32)은, 송신측 앱(32)으로부터 송신되는 메시지를 구독하는지의 여부에 대해 판단한다. 구독하는 경우, 본 처리는 스텝 S703으로 진행되고, 구독하지 않는 경우, 본 처리는 종료된다. 스텝 S703에서, 수신측 앱(32)은, 스텝 S701에서 생성된 토큰을 포함하는 구독 메시지를 서버(4)로 송신한다. 구독 메시지는, 수신측 앱(32)이 발행부(35)에 의하여 보내어지는 데이터를 수신 가능함을 나타내는 것이다.
바람직하게는, 수신측 앱(32)은, 해당 앱이 기동하고 있는 한, 본 처리가 종료된 후, 정기적으로 스텝 S701가 실행되도록, 본 처리를 개시한다. 하나의 예에서는, 본 처리는, 스텝 S701을 포함하지 않고, 그 대신으로서, 본 처리와는 별도의 처리에서, 수신측 앱(32)은, 해당 앱이 기동하고 있는 한, 소정의 단위 시간마다 토큰을 계속 생성하도록 구성된다. 하나의 예에서는, 수신측 앱(32)은, 수신측 앱(32)이 기동하고 있는 한, 항상 스텝 S701에서 구독한다고 판단하도록 구성해도 된다.
도 8은, 본 발명의 일 실시 형태에 의한 서버(4)의 정보 처리의 플로우차트를 도시한 도면이다.
스텝 S801에서, 서버(4)는, 구독 메시지를 수신했는지의 여부를 판단하고, 수신한 경우, 본 처리는 S802로 진행되고, 수신하지 않은 경우, 본 처리는 스텝 S803로 진행된다. 스텝 S802에서, 서버(4)는, 수신한 구독 메시지에 포함되는 토큰을 이력 데이터베이스(42)에 기억하고, 본 처리는 스텝 S803으로 진행된다.
스텝 S803에서, 서버(4)는, 발행 메시지를 수신했는지의 여부를 판단하고, 수신한 경우, 본 처리는 스텝 S804로 진행되고, 수신하지 않은 경우, 본 처리는 종료된다. 스텝 S804에서, 서버(4)는, 수신한 발행 메시지에 포함되는 토큰과, 이력 데이터베이스(42)에 기억된 구독 메시지에 포함되는 토큰을 조합하고, 해당 조합 결과가 소정 조건을 만족시키는지의 여부를 판정한다. 조합 결과가 소정 조건을 만족시키는 경우, 본 처리는 스텝 S805로 진행되고, 조합 결과가 소정 조건을 만족시키지 않은 경우, 본 처리는 종료된다. 본 예시에서는, 소정 조건은, 조합한 토큰의 일치하는 비율이 역치 이상인 것이다.
스텝 S805에서, 서버(4)는, 송신측 앱(32)의 발행부(35)로부터 수신한 발행 메시지를 수신측 앱(32)으로 송신한다.
바람직하게는, 서버(4)는, 기동하고 있는 한, 본 처리가 종료된 후, 정기적으로 스텝 S801이 실행되도록, 본 처리를 개시한다. 스텝 S801 내지 S802의 처리는, 스텝 S803 내지 S805의 처리 후에 행하도록 구성할 수도 있으나, 바람직하게는, 서버(4)는, 도 8에 도시한 대로 정보 처리를 실행한다.
이어서, 본 발명의 실시 형태에 의한 시스템(1)의 주된 작용 효과에 대하여 설명한다. 본 실시 형태에서는, 휴대 단말 장치(3)에 인스톨된, 앱 간 통신을 행하는 송신측 앱(32) 및 수신측 앱(32)은, 모두 토큰 생성부(34), 발행부(35), 및 구독부(36)를 구비한다. 토큰 생성부(34)는, 시각 정보 및 휴대 단말 장치(3)가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성한다. 여기서, 휴대 단말 장치(3)가 구비하는 센서 디바이스에 동일 시각에 액세스하면, 동일한 센서 값 정보를 취득할 수 있으므로, 동일한 휴대 단말 장치(3) 상에서 기동하는 앱이라면, 동일 시각에 취득하는 센서 값은 동일하다. 따라서, 본 실시 형태에서는, 앱(32)이 어느 한 특정 시간에 특정의 휴대 단말 장치(3) 상에서 기동하고 있음을 식별하기 위하여, 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 이용하고 있다.
발행부(35)는, 토큰 및 페이로드를 포함하는 발행 메시지를 서버(4)로 송신하고, 구독부(36)는, 토큰을 포함하는 구독 메시지를 서버(4)로 송신한다. 한편, 서버(4)는, 구독 메시지에 포함되는 토큰을 이력 데이터베이스(42)에 기억하고, 발행 메시지를 수신했을 때에, 발행 메시지에 포함되는 토큰과, 해당 기억된 구독 메시지에 포함되는 토큰을 조합한다. 서버(4)는, 조합 결과가 소정 조건을 만족시키는 경우, 발행 메시지(또는 페이로드를 포함하는 데이터)를 수신측 앱(32)으로 송신한다.
이와 같이, 본 실시 형태의 시스템(1)은, 앱(32)이 있는 특정 시간에 특정의 휴대 단말 장치(3) 상에서 기동하고 있음을 식별 가능한 토큰과, 출판-구독형 모델을 조합하여 통신을 행한다. 이에 의하여, 명시적인 유저 등록 또는 어플리케이션 연계를 위한 인증 조작을 필요로 하지 않고, 자동적으로 이종 앱 간을 연계시켜, 예를 들면, 리얼타임의 메시지 통신을 실현하는 것이 가능해진다. 기존의 범용적인 클라우드 앱에서는, 사전에 클라우드 시스템으로의 로그인 또는 어카운트의 연계가 필요해지므로, 초기 상태의 앱 간을 곧바로 통신시킬 수 없으나, 본 실시 형태의 시스템(1)은 이를 해결하는 것이다. 예를 들면, 어느 한 특정 Web 사이트 열람 중에 그 사이트에 고유의 특별한 UI를 표시하는 커스텀 키보드 앱을 표시하는 것, 또는 동시에 2 개의 게임 앱을 기동했을 때에, 각 게임의 캐릭터가 서로 인사하는 것과 같은 연계 연출을 실현하는 것이 가능해진다.
또한, 본 실시 형태에서는, 앱이 표준적으로 가지는 것이 가능한 센서 데이터 취득 기능, 또는 네트워크 통신 기능만을 이용하여 실장할 수 있으므로, 기존의 거의 모든 스마트폰 상에서 실장하는 것이 가능하다.
또한, 본 실시 형태에서는, 토큰은 IP 어드레스를 포함하는 것이며, 서버(4)는, 부하 분산 장치 및 복수의 서버 장치로 구성되고, 부하 분산 장치는, 동일한 IP 어드레스로부터 송신되는 발행 메시지 및 구독 메시지를, 동일한 서버 장치에 처리시킨다. 이러한 구성으로 함으로써, 서버(4)는, 메시지의 배송처를 탐색할 필요가 없어지므로, 실질적으로 O(1)의 계산량으로 루팅을 행하는 것이 가능해지고, 고속으로 처리하는 것이 가능해진다.
상기의 작용 효과는, 특별히 언급이 없는 한, 다른 실시 형태 또는 다른 실시예에서도 마찬가지이다.
본 발명의 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 도시하는 정보 처리를 실현하는 프로그램 또는 해당 프로그램을 저장한 컴퓨터 판독이 가능한 기억 매체로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 도시하는 정보 처리를 단독으로 실현하는 전자 장치로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 도시하는 정보 처리를 실현하는 방법으로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 도시하는 정보 처리를 실현하는 프로그램을 컴퓨터에 공급할 수 있는 서버로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 도시하는 정보 처리를 실현하는 가상 머신으로 할 수도 있다.
이하에 본 발명의 실시 형태의 변형예에 대하여 설명한다. 이하에서 설명하는 변형예는, 모순이 생기지 않는 한, 적절히 조합하여 본 발명의 임의의 실시 형태에 적용할 수 있다.
하나의 변형예에서는, 시스템(1)은, 페이로드 내용을 완전하게 비닉(秘匿)하여, 앱(32) 간 통신을 행한다. 발행부(35)는, 토큰 매트릭스 중의 일부를 발행 메시지로부터 추출하여 페이로드를 암호화한다. 이 때, 발행부(35)는, 발행 메시지 중의 해당 추출한 토큰 매트릭스의 일부를 마스킹 또는 삭제한다. 구독부(36)는, 발행 메시지에 포함되는 토큰 매트릭스와, 토큰 생성부(34)가 생성하는 토큰 매트릭스를 비교함으로써, 발행부(35)가 암호화에 이용한 일부를 특정하고, 해당 특정된 일부를 이용하여 페이로드를 복호한다.
도 9는, 발행부(35)에 의한 페이로드 암호화의 일예를 도시한 도면이다. 발행 메시지는, 헤더로서의 토큰 매트릭스(51)와, 페이로드(52)를 포함한다. 발행부(35)는, 도 9에 도시한 바와 같이, 토큰 매트릭스(51)의 일부를 암호화 키(53)로서 추출하고, 암호화 키(53)를 이용하여 페이로드(52)를 암호화한다. 암호화 키(53)는, 토큰 매트릭스(51)로부터 추출된 하나 또는 복수의 행이다. 예를 들면, 발행부(35)는, 암호화 키(53)로서, 토큰 매트릭스(51)의 행 중, 3의 배수에 해당하는 행을 추출한다.
도 10은, 도 9와 같이 암호화된 페이로드의 구독부(36)에 의한 복호화의 일예를 도시한 도면이다. 구독부(36)는, 도 10에 도시한 바와 같이, 메시지 버스(41)로부터 수신한 메시지의 헤더인 토큰 매트릭스(51)와, 수신측 앱(32)의 토큰 생성부(34)에 의하여 생성된 토큰 매트릭스를 대상으로 하여, XOR 비교를 행한다. 여기서, 송신측 앱(32)과 수신측 앱(32)은, 동일한 휴대 단말 장치(3) 상에서 동작하고 있으므로, 각 앱(32)의 토큰 생성부(34)가 생성하는 토큰 매트릭스는, 동일 시간에서는 동일해진다. 따라서, 구독부(36)는, 해당 XOR 비교를 행함으로써, 암호화 키(53)로서 사용되고 있는 부분을 검출하는 것이 가능해진다. 구독부(36)는, 검출된 암호화 키(53)를 이용하여 페이로드(52)를 복호한다.
전술한 바와 같이, 바람직한 하나의 예에서는, 메시지 버스(41)는, 조합한 토큰 매트릭스의 일치하는 비율이 역치 이상인 경우, 송신측 앱(32)으로부터 수신한 발행 메시지를 수신측 앱(32)으로 송신한다. 메시지 버스(41)는, 예를 들면, 식 4를 이용하여 조합하는 경우, 토큰 매트릭스(51) 중, 마스크된 행에 대해서는 undefined로서 취급함으로써, 역치 판단에 영향을 주지 않도록 처리를 행한다.
이와 같이, 본 실시 형태에서는, 수신측 앱(32)과 송신측 앱(32)은 동일한 휴대 단말 장치(3) 상에서 동작하므로, 반드시 같은 센서 값을 취득하고 같은 토큰을 생성하는 점을 이용하여, 암호화에서의 문제점의 하나인, 열쇠 교환을 매우 안전하게 실현하고 있다. 이에 의하여, 페이로드 내용을 완전하게 비닉하고, 특히, 서버 사이드 모듈에 일절의 정보를 개시하지 않고, 메시지 통신을 행하는 것이 가능해진다.
하나의 변형예에서는, 토큰 생성부(34)는, 시각 정보, 및 휴대 단말 장치(3)에 인스톨된 원 타임 패스워드 등의 소프트웨어로부터 취득된 값 또는 휴대 단말 장치(3)에 탑재된 하드웨어 난수 발생기로부터 취득된 값을 포함하는 토큰을 생성한다. 이 경우, 토큰은, 센서 값 대신에, 원 타임 패스워드 등의 소프트웨어로부터 취득된 값 및 하드웨어 난수 발생기로부터 취득된 값의 적어도 일방을 포함한다. 이와 같이, 토큰은, 어느 특정 시간에 특정의 휴대 단말 장치(3) 상에서 동작하고 있음을 식별 가능한 것이라면 된다.
이하에 본 발명의 실시 형태의 응용예에 대하여 설명한다. 본 실시 형태의 시스템(1)은, 동시에 기동하는 복수의 어플리케이션(32) 간의 연계를 행하는 것이므로, 멀티태스킹 기능을 활용한 앱(32) 간 연계에 적용할 수 있다. 기존의 거의 모든 스마트폰은, 서드 파티의 IME(커스텀 키보드)를 인스톨할 수 있고, IME는 네트워크와 통신할 수 있다. 그 때문에, 앱 간 통신을 행하는 앱(32)이 IME 앱과 게임 앱인 경우, IME 앱과 게임 앱의 연계를 행하면, 「게임 어카운트와 연동한 텍스트 입력」, 또는 「게임의 캠페인과 연동한 전용의 긴 URL의 입력」을, 거의 원 탭으로 행하는 것이 가능해진다.
도 11은, 본 실시 형태의 응용예에 대하여 설명하기 위한 도면이며, 전형적인 멀티태스킹 처리인, 게임 앱(32a)과 키보드 앱(32b)의 연계예를 도시한다. 도 11의 상부에 도시한 게임 앱(32a) 및 도 11의 하부에 도시한 키보드 앱(32b)은, 모두 본 실시 형태의 앱(32)에 대응하는 것이며, 도 11은, 2 개의 앱(32a, 32b)이 동시에 실행된 상태를 나타내고 있다. 게임 앱(32a)은, 키보드 앱(32b)과는 독립적인 프로세스로서 동작하고, 키보드 앱(32b)은, 게임 앱(32a) 등의 다른 앱과는 독립적인 프로세스로서 동작한다. 여기서, 본 실시 형태의 시스템(1)은, 상술한 바와 같이, 사전의 연계 처리 또는 인증 처리를 행하지 않고, 서버(4)를 통하여 게임 앱(32a)과 키보드 앱(32b)의 정보의 송신 경로를 확립하여, 앱(32) 간의 쌍방향 통신을 행하는 것이 가능해진다. 이 경우, 예를 들면, 송신측 앱(32)으로서의 키보드 앱(32b)은, 수신측 앱(32)으로서의 게임 앱(32a)에 대하여, 키보드 앱(32b)에서 입력된 내용 「리얼타임으로 키보드와 앱은 통신할 수 있음」을 송신할 수 있고, 게임 앱(32a)은, 키보드 앱(32b)에서의 입력 내용을 리얼타임으로 수취할 수 있도록 구성된다. 이와 같이 하여, 안전하게 프로세스 간 통신을 행하는 것이 가능해진다. 또한, 키보드 앱(32b)은, 인터넷 상의 서버에 독자적으로 액세스할 수 있고, 또한, 텍스트 입력을 행하기 위하여 임의의 앱으로부터 호출할 수 있는 앱인 것으로 한다.
이상에서 설명한 처리 또는 동작에서, 어느 한 단계에서, 그 단계에서는 아직 이용할 수 없는 데이터를 이용하고 있는 등의 처리 또는 동작 상의 모순이 생기지 않는 한, 처리 또는 동작을 자유롭게 변경할 수 있다. 또한, 이상에서 설명한 각 실시예는, 본 발명을 설명하기 위한 예시이며, 본 발명은 이들 실시예로 한정되는 것은 아니다. 본 발명은, 그 요지를 일탈하지 않는 한, 다양한 형태로 실시할 수 있다.
1 : 시스템
2 : 네트워크
3 : 휴대 단말 장치
4 : 서버
11 : 프로세서
12 : 표시 장치
13 : 입력 장치
14 : 기억 장치
15 : 통신 장치
16 : 버스
21 : 프로세서
22 : 표시 장치
23 : 입력 장치
24 : 기억 장치
25 : 통신 장치
26 : 버스
31 : 샌드 박스
32 : 앱(어플리케이션)
33 : 앱 기능부
34 : 토큰 생성부
35 : 발행부
36 : 구독부
41 : 메시지 버스
42 : 이력 데이터베이스
50 : 발행 메시지
51 : 헤더(토큰 매트릭스)
52 : 페이로드
53 : 암호화 키
60 : 토큰 매트릭스

Claims (11)

  1. 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템으로서,
    상기 휴대 단말 장치는,
    시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 토큰 생성부와,
    상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 발행부와,
    상기 다른 앱이 상기 발행부에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 구독부를 구비하고,
    상기 서버는,
    상기 구독 메시지에 포함되는 상기 토큰을 기억하고,
    상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는, 시스템.
  2. 제1항에 있어서,
    상기 토큰은, 하나의 행이 상기 시각 정보 중 하나의 시각을 나타내는 정보 및 상기 센서 값 정보 중의 해당 시각에 대응된 하나 또는 복수의 센서 값을 나타내는 정보를 포함하는 토큰 매트릭스인, 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 센서 디바이스는, GPS 센서, 자이로 센서, 및 가속도 센서 중 적어도 하나를 포함하는 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 발행부는, 상기 발행 메시지로부터 상기 토큰의 일부를 추출하여 상기 페이로드를 암호화하고, 상기 발행 메시지 중의 추출한 해당 일부를 마스킹 또는 삭제하고,
    상기 구독부는, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 토큰 생성부가 생성하는 상기 토큰을 비교함으로써, 상기 발행부가 암호화에 이용한 상기 일부를 특정하고, 해당 특정된 상기 일부를 이용하여 상기 페이로드를 복호하는, 시스템.
  5. 제1항 또는 제2항에 있어서,
    상기 소정 조건은, 조합한 상기 토큰의 일치하는 비율이 역치 이상인 것인, 시스템.
  6. 제1항 또는 제2항에 있어서,
    상기 구독 메시지는, 상기 다른 앱이 상기 페이로드를 수신하는 포트 번호를 포함하고,
    상기 서버는, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 휴대 단말 장치의 상기 포트 번호에 대하여 송신하는, 시스템.
  7. 제1항 또는 제2항에 있어서,
    상기 구독부는, 상기 구독 메시지를 정기적으로 상기 서버로 송신하는, 시스템.
  8. 제1항 또는 제2항에 있어서,
    상기 토큰은, 상기 휴대 단말 장치의 IP 어드레스를 포함하고,
    상기 서버는, 부하 분산 장치 및 복수의 서버 장치로 구성되고,
    상기 부하 분산 장치는 동일한 IP 어드레스로부터 송신되는 상기 발행 메시지 및 상기 구독 메시지를 동일한 상기 서버 장치에 처리시키는, 시스템.
  9. 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 한 조의 프로그램을 저장하는 컴퓨터 판독 가능 기억 매체로서, 상기 휴대 단말 장치에,
    시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 단계와,
    상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 단계와,
    상기 다른 앱이 상기 발행 메시지에 포함되는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 단계를 실행시키고,
    상기 서버에,
    상기 구독 메시지에 포함되는 상기 토큰을 기억하는 단계와,
    상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는 단계를 실행시키는 한 조의 프로그램을 저장하는 컴퓨터 판독 가능 기억 매체.
  10. 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 방법으로서,
    상기 휴대 단말 장치에서, 시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 단계와,
    상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 휴대 단말 장치로부터 상기 서버로 송신하는 단계와,
    상기 다른 앱이 상기 발행 메시지에 포함되는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 휴대 단말 장치로부터 상기 서버로 송신하는 단계와,
    상기 서버에서, 상기 구독 메시지에 포함되는 상기 토큰을 기억하는 단계와, 상기 서버에서, 상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 서버로부터 상기 다른 앱으로 송신하는 단계를 포함하는 방법.
  11. 네트워크를 통하여 서버에 접속된 휴대 단말 장치에서 동작하고 있는 복수의 어플리케이션 간에서의 통신을 행하기 위한 시스템에서의 서버로서,
    상기 휴대 단말 장치는,
    시각 정보 및 상기 휴대 단말 장치가 구비하는 센서 디바이스로부터 취득된 센서 값 정보를 포함하는 토큰을 생성하는 토큰 생성부와,
    상기 휴대 단말 장치에서 동작하는 하나의 앱이 상기 휴대 단말 장치에서 동작하는 다른 앱으로 보내기 위한, 상기 토큰 및 페이로드를 포함하는 발행 메시지를 상기 서버로 송신하는 발행부와,
    상기 다른 앱이 상기 발행부에 의하여 보내어지는 데이터를 수신 가능함을 나타내는, 상기 토큰을 포함하는 구독 메시지를 상기 서버로 송신하는 구독부를 구비하고,
    상기 서버는,
    상기 구독 메시지에 포함되는 상기 토큰을 기억하고,
    상기 발행 메시지를 수신했을 때에, 상기 발행 메시지에 포함되는 상기 토큰과, 상기 기억된 상기 구독 메시지에 포함되는 상기 토큰을 조합하여, 해당 조합 결과가 소정 조건을 만족시키는 경우, 상기 페이로드를 상기 다른 앱으로 송신하는 서버.
KR1020207022801A 2018-01-17 2019-01-16 통신을 행하기 위한 시스템, 프로그램, 방법 및 서버 KR102374887B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-005616 2018-01-17
JP2018005616A JP6381837B1 (ja) 2018-01-17 2018-01-17 通信を行うためのシステム、プログラム、方法及びサーバ
PCT/JP2019/001012 WO2019142801A1 (ja) 2018-01-17 2019-01-16 通信を行うためのシステム、プログラム、方法及びサーバ

Publications (2)

Publication Number Publication Date
KR20200105706A KR20200105706A (ko) 2020-09-08
KR102374887B1 true KR102374887B1 (ko) 2022-03-16

Family

ID=63354742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207022801A KR102374887B1 (ko) 2018-01-17 2019-01-16 통신을 행하기 위한 시스템, 프로그램, 방법 및 서버

Country Status (5)

Country Link
US (1) US10908978B2 (ko)
JP (1) JP6381837B1 (ko)
KR (1) KR102374887B1 (ko)
CN (1) CN111868688B (ko)
WO (1) WO2019142801A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615463B2 (en) * 2018-08-01 2023-03-28 Appfolio, Inc. Artificial intelligence based digital leasing assistant
JP7058687B2 (ja) * 2020-04-27 2022-04-22 ソフトバンク株式会社 システム、通信デバイス、プログラム、及び通信方法
US11558370B2 (en) 2021-06-14 2023-01-17 Bank Of America Corporation Electronic system for generation of authentication tokens using digital footprint
CN114338801B (zh) * 2022-02-23 2024-03-15 国网湖南省电力有限公司 一种适用于智能量测设备的轻量级发布订阅方法及***、设备、存储介质
CN116723235B (zh) * 2023-08-08 2023-11-07 北京智芯微电子科技有限公司 智慧开关控制单元、硬件架构、功能实现方法及智慧开关

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010062114A2 (ko) 2008-11-25 2010-06-03 Sung Jong-Woo 메타데이터에 기반한 센서노드 관리장치 및 방법
KR101243323B1 (ko) 2011-12-13 2013-03-13 강릉원주대학교산학협력단 수중음향센서 네트워크에서의 패킷 검사방법 및 장치
KR101806070B1 (ko) 2017-05-02 2017-12-07 건양대학교산학협력단 사물인터넷을 위한 인증 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2371125A (en) * 2001-01-13 2002-07-17 Secr Defence Computer protection system
WO2005001618A2 (en) * 2003-06-04 2005-01-06 Mastercard International Incorporated Customer authentication in e-commerce transactions
JP2011027917A (ja) * 2009-07-23 2011-02-10 Lemuria Holdings Ltd デジタル貸金庫システム及びサーバ
JP2011141849A (ja) * 2010-01-09 2011-07-21 Girunetto Kk 携帯端末を用いたプリペイド及びポストペイド決済システム,小額振替方法、ポイントサービスシステム、エスクローサービスシステム。
JP6098636B2 (ja) * 2012-03-28 2017-03-22 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US8898766B2 (en) * 2012-04-10 2014-11-25 Spotify Ab Systems and methods for controlling a local application through a web page
US9003556B2 (en) * 2013-02-28 2015-04-07 Facebook, Inc. Techniques for in-app user data authorization
WO2015122194A1 (ja) * 2014-02-14 2015-08-20 Necソリューションイノベータ株式会社 リアルタイム通信システム、リアルタイム通信装置、リアルタイム通信方法および記録媒体
EP3104291A1 (en) 2015-06-09 2016-12-14 Thomson Licensing Device and method for protection of ios software modules
GB201604362D0 (en) * 2016-03-15 2016-04-27 Tangentix Ltd Computer system and method for sandboxed applications
US20180285172A1 (en) * 2017-03-28 2018-10-04 Vmware, Inc. Data exchange between applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010062114A2 (ko) 2008-11-25 2010-06-03 Sung Jong-Woo 메타데이터에 기반한 센서노드 관리장치 및 방법
KR101243323B1 (ko) 2011-12-13 2013-03-13 강릉원주대학교산학협력단 수중음향센서 네트워크에서의 패킷 검사방법 및 장치
KR101806070B1 (ko) 2017-05-02 2017-12-07 건양대학교산학협력단 사물인터넷을 위한 인증 시스템

Also Published As

Publication number Publication date
JP2019125179A (ja) 2019-07-25
KR20200105706A (ko) 2020-09-08
CN111868688B (zh) 2024-04-23
WO2019142801A1 (ja) 2019-07-25
US20200348992A1 (en) 2020-11-05
US10908978B2 (en) 2021-02-02
CN111868688A (zh) 2020-10-30
JP6381837B1 (ja) 2018-08-29

Similar Documents

Publication Publication Date Title
KR102374887B1 (ko) 통신을 행하기 위한 시스템, 프로그램, 방법 및 서버
CN111683071B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US8484480B2 (en) Transmitting information using virtual input layout
US10880736B2 (en) Method and apparatus for transmitting and receiving encrypted message between terminals
CN111565107B (zh) 基于云服务平台的密钥处理方法、装置和计算机设备
US10693946B2 (en) Instance backed mobile devices
US9166781B2 (en) Key change management apparatus and key change management method
EP3353987B1 (en) Enabling communication while limiting access to user information
CN108809906B (zh) 数据处理方法、***及装置
US11880450B2 (en) Method and apparatus for updating password of electronic device, device and storage medium
EP3007061A1 (en) Application execution program, application execution method, and information processing terminal device in which application is executed
CN103095457A (zh) 一种应用程序的登录、验证方法
CN104954126B (zh) 敏感操作验证方法、装置及***
CN108616499B (zh) 一种应用程序的鉴权方法、终端和计算机可读存储介质
CN103607409A (zh) 一种云存储数据的保护方法及云服务器
CN103281193A (zh) 身份认证方法、***及基于其的数据传输方法、装置
US10831754B2 (en) Using metadata to take action on an SMS message on a proprietary system
KR102362108B1 (ko) 인증 시스템 및 방법
CN114363088A (zh) 用于请求数据的方法和装置
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
CN103036897A (zh) 瘦客户端与服务器端之间基于远程桌面连接的通信方法
CN111371773A (zh) 一种信息发送和显示方法、装置、设备及存储介质
US10579542B2 (en) Browser session storage as storage for private key in public-key encryption schema
EP3465410A1 (en) Encrypted document printing utilizing multiple networks
JP2019125334A (ja) 通信を行うためのシステム、プログラム、方法及びサーバ

Legal Events

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