728x90
반응형
SMALL

IPS (Indoor Positioning System) 등장배경

자동차를 운전할 때 필수기기가 되어버린 네이게이션, 요즘은 네비게이션 단말기도 한물 가버렸고
지금은 스마트폰이 그 역할을 한지 오래되었는데, 이 네이게이션의 핵심 기능이 바로
GPS
(위성위치확인시스템) 이다. 위성과 통신을 해서 내 차 (정확하게 말하면 스마트폰) 의 위치를
인식하는 시스템인데 이 GPS의 가장 큰 단점은 위성신호를 받지 못하는 실내에서는 작동이
안 된다는 것이다.
IPSWiFi, 블루투스,Beacon, 자기장 등을 이용하여 건물 내부에 있는 사용자의 위치를 파악하고, 이를
스마트폰에 내장된 지도와 대조해 물건이나 장소의 위치를 쉽게 찾아주는 시스템으로서
‘실내 내비게이션’이라고도 한다
(참조 : [네이버 지식백과] IPS[Indoor Positioning System] - 실내 위치 확인 시스템, 실내 위치 측위
          시스템 (지형 공간정보체계 용어사전, 2016. 1. 3., 이강원, 손호웅)
더군다나 최근 지속적인 무선통신 및 인터넷의 폭발적인 성장은 사용자의 모빌리티를 크게 강화시켰고,
특히 2007년 애플사의 아이폰의 등장과 함께 무선통신, GNSS, 카메라, 관성센서 등이 결합된 스마트폰의
보급 확대를 통해 이동 단말의 위치 인식 범위가 확대되고 위치 장확도가 정차 향상되고 있는 추세이다
(
[출처] 사용자 참여 기반 실내 위치인식 플랫폼 기술|작성자 센서로세계로미래로)


IPS의 특징

특징 설명 관련사례
Device Mobility
확장
사용자가 실외에서 실내로 이동 시 Beacon 신호 송수신
을 통해 실시간 위치기반서비스(LBS) 제공 가능
애플의 iBeacon
CSR의 SiRFusion 제품
실내외 네트워킹
연계
인공위성의 GPS 신호를 삼각측량한 정보와 인접한
Cell-ID 정보를 결합하여 높은 수준의 위치측정
실내외 참조포인트
무선WPS
산업간 융복합
플랫폼 구축
공장, 쇼핑몰 등에서 센서 부착한 로봇, 사용자의 이동
경로를 추적하여 서비스 모니터링 및 공급망 관리 수행
물류로봇
스마트팩토리
다양한 사용자
경험 제공
스마트폰, HMD 기기와 연계하여 현실세계와 가상세
계가 유기적으로 결합된 향상된 UX/UI 제공
AR, VR게임
옴니채널, O2O

                               < 출처 : 정보관리기술사 118회 모임 - 두드림 >


비콘 (Beacon) 을 이용한 위치측위기술

구분 설명
체크포인트
(Check Point) 방식
비콘(Beacon) 1대의 신호를 받아서 그 위치를 통과한 경우 그 대상물이 그 위치를 통과한 정보를 기록하는 것으로 RFID태그가 RFID 리더를 통과했을 때의 위치정보를 확인하는 방식이다.
존 (Zone) 방식 비콘(Beacon)  1대 혹은 여러 대가 신호 범위별로 배치되어 있고, 대상물이 특정 비콘 주변에 놓여 있을 때, 그 비콘 위치 주변에 있다는 정보를 기록하는 것대부분의 BLE (Bluetooth Low Energy) 비콘이 이 방식을 사용
실시간 위치 (Track)
방식
여러 대의 비콘이 실내에 신호 범위별로 배치되어 있고, 대상물이 3대 이상의 비콘으로부터 ID신호와 신호세기를 수신해 그 위치를 측위 알고리즘으로 계산, 위치를 파악하는 방식이다. 정확한 측위 알고리즘을 위한 AOA(Angle of Attach), ROA, Finger Print, TDOA(Time Difference of Arrial), TOA(Time of Arrival) 등의 기술이 있으며, 실외에서 사용하는 GPS도 3개 이상의 위성으로부터 오는 신호를 삼각측량 방식으로 계산한다



Radio 기반 IPS 측위 기술

구분 측위 기술 설명
기지국 기반 Cell-ID 기지국에서 위상, 전계강도 정보 받아 측위서버 전송
셀의 전파세기 측정하여 구축DB의 유사패턴매칭
Fingerprint 실제환경에서 위치별로 RSSI (Received Signal Strength Indicator)값을 측정하여 테이블 생성
기존에 구축된 전파맵과 수신한 비콘 신호를 비교
삼각측량법 3개 이상의 기준점과 한 점과의 거리를 통해 좌표 측정
기준점과의 거리를 반지름으로 하는 원을 그려 교점 탐색
Wi-Fi환경에서는 AP를 기준점으로 상대적 거리 계산
WLAN 기반 WPS 무선AP의 SSID와 MAC주소를 주요 파라미터로 활용
핑거프린팅방식으로 GPS가 지원되지 않는 영역에서 측위
RSSI 센서로부터 전압레벨을 측정하여 실내위치 측위
무선주파수 내에서 송수신된 전력으로 거리 측정
WPAN 기반 UWB UWB 단말에서 고유ID를 32bit로 송출
광대역주파수를 활용하여 뛰어난 투과력과 고속성 제공
* UWB(Ultra Wide Band)
    협대역 시스템 및 3G 셀룰러 기술로 설명되는 광대역 시스템과
    구분하기 위해 중심 주파수의 20% 이상의 점유대역폭을 차지하는
    시스템이나 500MHz 이상의 점유대역폭을 차지하는 무선 전송
    기술을 말함. (500Mbps의 고속 전송이 가능)
Zigbee ZigBee 탑재단말이 AP통해 단말위치 전송
저전력성 제공 및 다수 노드와 클러스터링 용이
Bluetooth Bluetooth 4.0, iBeacon 사용, 최대 50m까지 전송 가능
블루투스 AP 활용하여 지오펜싱 기반의 전파맵 생성

        < 출처 : 정보관리기술사 118회 모임 - 두드림>


Non-Radio 기반 IPS 측위 기술

구분 측위 기술 설명
센서기반 자기장센서 스마트 폰 자기장 센서 센서로 측정하여 미리 입력된 건물 내부 자기장 지도와 비교해 길을 안내
관성센서 단말기 내 관성센서(가속도,방향계 등) 이용하여 측위
- 실내의 특정 기준점을 근간으로 상대적인 위치 측위
LED 실내 LED 조명마다 식별번호 부여하고 스마트폰이 감지
- 식별번호를 데이터베이스와 대조해 현재 위치를 파악
주파수기반 RFID RFID Tag로 Bluetooth, WiFi등의 전송망을 이용하여 서비스 제공
- Tag의 위치 정보 수집 및 분석에 별도의 서버 필요
적외선 실내 곳곳에 부착된 적외선 센서가 고유 ID 코드를 가진 적외선 
장치를 인식하여 위치를 찾아내는 방식
- 디바이스 내부에 IrDA 컨트롤러 탑재필요
초음파 스마트폰으로 초음파를 발사해 벽에 부딪혔다가 반사되는 것을 포착해 위치와 건물내부의 형태 파악
영상기반 비주얼 마커 모바일의 카메라로 위치좌표를 디코딩하여 실내위치 결정
- 라이더, 스테레오 카메라로 주변 공간의 좌표 정보와 특징점
정보를 추출하여 3차원의 공간정보 DB화
CCTV기반 CCTV 실시간 영상, 이미징 정보를 기반으로 상대측위 최근 고해상도 CCTV 출시로 실내 및 실외감시 서비스

        < 출처 : 정보관리기술사 118회 모임 - 두드림>



IPS 활용 서비스 고도화 방안

728x90
반응형
LIST
728x90
반응형
SMALL

이동단말기의 위치를 측정하기 위해 이동통신망의 기지국 셀정보인 RF전파환경정보를 이용하여 
소트프웨어적으로 위치를 계산하는 네트워크기반 방식과 이동단말기내에 장착된 GPS 수신기를 이용한
GPS측위방식으로 크게 분류할 수 있으며. GPS가 수신되는 실외에서는 GPS방식을 사용하고 GPS음영
지역 (보통 실내)에서는 네트워크 방식을 수행함으로써 seamless 한 측위에 기반한 LBS 서비스를 제공
한다.

구분 종류 설명
1. 네트워크 기반 
측위방식
(특별한 장치를 추가로 사용하지 않으나 위치의 정확도는 차이가 많다)
Cell-ID 방식 기지국 단위 반경의 중심점을 측위정보로 제공
가장 단순한 기술로서 이용자가 현재 속해있는 기지국의
서비스셀ID를 통해 이용자의 위치를 3초 이내에 파악하는
장점이 있지만, 셀반경의 크기가 크면 클수록 정확도는
떨어질수 밖에 없다. 
AOA
(Angle of Arrival)
이동단말기에서 보내는 신호를 기지국에서 수신하면서 방향각을 계산하여 위치를 계산하는 방식
이론상으로는 50~150m의 정확도를 보장하지만, 실제로는
150~200m의 정확도를 보여준다.
TOA 방식
(Time of Arrival)
3개 이상의 기지국에서 발사한 전파의 도착시간으로 이동단말기 의 위치를 계산하는 방식.
TDOA 방식
(Time Difference of
 Arrival)
이동단말기에서 3개의 기지국으로부터 수신한 파일롯 
신호의 도착시간차이를 측정하여 기지국 간의 거리차이를 계산하여 얻어진 2개의 쌍곡선이 교차하는 지점을 이동단말기의 위치로 결정하는 방식.
RF Fingerprint 방식 서비스 대상지역을 격자로 분할하고 각각의 격자에 기지국 특성 데이터를 수집하여 DB화 한다음 측위 요청한 단말에서 측정한 RF전파특성정보와 기 구축한 DB의 정합정도를 판단하여 가장 적합하게 정합되는 격자를 측위 결과로 
선택
 * 중계기 관련한 문제점을 해결할 수 있는 방법임.
RSSI 방식
(Received Signal 
Strength Indicator)
기지국간 신호세기 차에 의해 위치를 계산
2. GPS 기반 측위방식

* 정확도는 높으나 
  실내에서는 수신
  간섭 발생


A-GPS
(Asisted-GPS)
GPS수신기를 내장한 이동단말기와 이동통신망 내에 설치한 위치측위서버간에 OMA SUPL 규격을 이용하여 위치계산을 수행하게 되는데 이중에서 A-GPS측위를 위한 프로토콜인 SUPL POS 를 통한 메시지 송수신으로 단말기의 위치를 결정함.
 * 초기 인식시간을 기존의 GPS방식보다 줄일수 있다.

인공위성에서 보내는 위치정보를 단말기내의 내장된 칩이
읽어서 기지국에 알려주는 방법으로서 GPS위성을 사용
할 경우라도 도심지역이나 실내에서는 정확도와 사용성이
떨어지기 때문에 이러한 단점을 보완하기 위해 기존의
네트워크 방식과 결합한 방식이다

즉 단말기로부터 GPS위치정보(GPS기반)를 전달받은 위치측위시스템은 기지국에서 생성된 정보(네트워크기반)를
혼합하여 단말기의 위치를 측정한다.
DGPS
(Differential GPS)
기존의 GPS가 갖는 위성의 위치에 따른 오차를 보정하여
정확도를 높이기 위한 방식이다. 
지상에 위치를 정확히 알고있는 기준 수신기를 설치하고
이 수신기로부터 보정신호를 받아 위성으로부터 수신된
위치 신호의 오차를 조정하는 방식이다.
E-OTD 
(Enhanced Observed
Time Difference)
네트워크와 단말기 기반 측위 기술을 혼합한 기술이다.
2개 이상의 기지국에서 단말기로 전파를 보내어 다시 이
전파가 되돌아오는 시간의 차이를 측정하는 방식으로
거리가 먼 교외나 거리가 짧은 도심이나 정확도의 편차가
크기 않다.
GPS를 지원하는 단말기가 필요하며 약 75~150m의 정확
도를 제공한다.
Conventional GPS 위치측위서버의 도움을 받지 않고 단말 자체내에 내장된 GPS 수신 안테나및 측위 알고리즘을 이용해 자체적으로 GPS방식위치 측위를 수행하는 방식이다.
3. 유비쿼터스 
   측위방식
Bluetooth, ZigBee, RFID , Wi-Fi , UWB , RTLS (Real Time Location System)등의 
무선통신방식을 이용하여 측위
* IPS (Indoor Positioning System) 으로 확장됨



TOA 개념도


TDOA 개념도

TDOA 개념도

 

728x90
반응형
LIST

'디지털서비스' 카테고리의 다른 글

근거리 무선 통신 기술  (0) 2019.10.18
IPS (Indoor Positioning System)  (0) 2019.10.17
디지털 트윈 (Digital Twin)  (0) 2019.10.10
R 과 Python 의 비교  (0) 2019.09.25
머클트리(Merkle Tree)  (0) 2019.09.19
728x90
반응형
SMALL

디지털 트윈(Digital Twin)  의 개념

디지털 트윈 (Digital Twin) 이란 가상공간에 현실세계의 실물,시스템,환경 등과 똑같은 쌍둥이(Twin) 을
만들어서다양한 모의실험 및 시뮬레이션을 수행함으로써 미리 기술과 효과를 검증해 보는 기술을 말한다.
영화에 보면 비행기 조정사들이 실제 비행기를 조정하지 않고 시뮬레이션을 통해 연습을 하는 장면이
나오는데 그런 개념과 비슷하다고 볼수 있다.
하지만 디지털 트윈은 단순한 가상세계를 독립적으로 만드는 개념보다는 한발짝 더 나아가서 실제 대상에 
센서를 달아서 상태정보를 바로바로 트윈 가상세계에 반영함으로써 현실세계와 조건을 똑같이 동기화
시킴으로서 다양한 환경에 대한 영향도 파악및 기기 고장을 예측할 수 있는 시스템이다.
따라서 사물인터넷(IoT)와 밀접한 관계를 가질 수 밖에 없다. 
미국 가전업체인 제너럴 일렉트릭(GE)이 주창한 개념으로 2000년대 들어 제조업에 도입되기 시작했으며
항공, 건설, 헬스케어, 에너지, 국방, 도시설계 등 다양한 분야에서도 활용되고 있다. 예를 들어 항공기가
비행하면서 겪게 되는 환경 정보를 수집해 디지털 트윈에 적용하면 환경이 항공기에 미치는 영향을 파악하고
기기 고장을 예측할 수 있다.  (참고 : 네이버 지식백과)

디지털 트윈(Digital Twin) 의 장점

디지털 트윈 기술을 활용하면 가상세계에서 장비, 시스템 등의 상태를 모니터링하고 유지·보수 시점을 파악해
개선할 수 있다. 가동 중 발생할 수 있는 다양한 상황을 예측해 안전을 검증하거나 돌발 사고를 예방해 사고
위험을 줄일 수도 있다. 또한 생산성 향상, 장비 최적화 등의 결과를 가져올 수 있고 시제품 제작에 들어가는
비용과 시간을 대폭 절감할 수 있다.  (
[네이버 지식백과] 디지털 트윈 (시사상식사전, pmg 지식엔진연구소))

디지털 트윈(Digital Twin) 의 모델 사례

그림 1의 모델을 구성하는 구성 요소들은 다음과 같이 설명된다.

구성요소 설명
센서 제조공정 전반에 걸쳐 배치된 센서들이 실세계의 물리적 프로세스에 대한 운영 및 환경 정보를 포착하는 신호를 생성
데이터 센서에서 생성된 실제 세계의 운영 및 환경 데이터는 기업의 다른 데이터들과 결합되어 
종합되는데, 기타 데이터에는 자재명세서(bill of material), 기업 시스템 정보, 설계 시방서
,
 엔지니어링 도안, 외부 데이터 피드 연결정보, 고객 불만사항 등이 존재
종합 센서는 종합 기술(통신 인터페이스, 보안 기술 등 포함)을 통해 물리적 세계와 디지털 
세계 간의 데이터 전송을 수행. 
애널리틱스 애널리틱스 기법은 알고리즘 기반의 시뮬레이션과 시각화 루틴을 통해 데이터를 분석하는 데 사용되어 인사이트를 생성. 
디지털 트윈 그림 1의 ‘디지털’ 부분이 디지털 트윈이며, 앞의 구성 요소들을 결합해 물리적 세계 및 프로세스를 거의 실시간에 가까운 디지털 모델로 생성. 모델의 목표는 최적값에서 벗어나는 허용 불가능한 오차를 다양한 차원에 걸쳐 파악하는 것. 즉, 이러한 오차의 분석을 통해 비용 절감, 품질 개선, 높은 효율성 달성 등의 기회를 파악. 분석 결과는 물리적 세계에서의 행동으로 이어질 수 있음. 
작동장치 실제 세계에서의 대응을 위해, 디지털 트윈은 작동장치를 통한 행동 절차를 생성. 작동장치는 물리적 프로세스의 동작을 유발하는 인간의 개입에 의해 통제됨.
그림 1의 모델은 제품 라이프사이클 중 제조과정에 초점을 맞춘 디지털 트윈의 단지 한
가지 모습에 불과하다. 하지만 이 모델은 물리적 세계와 디지털 세계의 연결이 가진 총체적, 통합적, 반복적 특성을 보여준다.

< 출처 : Deloitte Anjin Review | No.9 -  "인더스트리 4.0과 디지털 트윈 제조업이 천생연분을 만나다" >


디지털 트윈(Digital Twin) 의 구축 기술

구분 구축기술 상세
스마트시티의
현실세계
정보수집
Sensor 이용한 Agent 
활용 기술
이미지, 음향, 근접, 조도, 가속도, 자이로스코프, 동작인식, 온도/습도, 기 압, 제스처 센서장비 이용한 지능형 Agent 활용
IoT(Internet of Things) 
컨트롤러와 통신
WPAN, PLC, Modbus, RS-232, 485, PLC 등 다양한 산업 프로토콜 이용 제어기와 NB-IoT, LoRa 저전력 통신 수집
스마트시티
가상세계
모델링
시뮬레이션 모델링 - 수학적 모델 표현 어려운 시스템을 모의실험 통해 분석하는
  모델링
- 미분방정식을 통한 연속모델링과 시간별 샘플링 추상화한 
  이산모델링
수학적 및 3D 모델링 행위기준 수학적 모델링과, 이산모델 기반 가상환경 모델링
스마트시티의
데이터
저장&분석
클라우드 분산컴퓨팅, 가상화 등 활용 정형, 비정형 데이터 저장
인공지능 지도학습, 비지도학습, 딥러닝 기술 등을 활용하여 데이터 분석 및 예측
시티 내,외부간
상호작용
Actuator 연결 제어 분석 된 데이터를 현실세계의 동력 생산 기계인 Actuator 전달
디지털 스레드 디자인/분석/시뮬레이션, 제작 및 모니터링, 테스트 및 검증
, 출하 및 유지보수가 하나의 공정으로 연결
728x90
반응형
LIST

'디지털서비스' 카테고리의 다른 글

IPS (Indoor Positioning System)  (0) 2019.10.17
LBS (Location Based Service) 측위 기술  (0) 2019.10.16
R 과 Python 의 비교  (0) 2019.09.25
머클트리(Merkle Tree)  (0) 2019.09.19
Data Lake - 데이터 단일 저장소  (0) 2019.09.09
728x90
반응형
SMALL

요즘 ICT쪽의 여러가지 화두 중 하나는 데이터 분석, 특히 빅데이터(Big data) 분석이라고 할수 있다.
전통적인 DBMS 를 기반으로 하는 데이터 분석은 데이터의 양이 어마어마 하게 커지고 비정형 데이터
의 중요성이 더 커지면서 한계점에 다다르게 되었다. 
그래서 요즘은  하둡(Hadoop) 이라는 분산데이터저장구조를 기반으로 해서 빅데이터를 분산 저장한 후
이 데이터를 R 이나 Python 등의 Language로 데이터의 통계 분석 및 시각화 작업을 많이 하고 있다.
그럼 R 과 파이썬(Python) 의 차이점 은 머고 장단점은 무엇일까? 어느것이 우리 회사에 맞는 Languge
인지 판단에 조금이라도 도움이 되고자 두 언어를 비교해보고자 한다.

오프소스 분석 도구 R 

R은 통계처리를 위한 공개소프트웨어 패키지로 최근 가장 주목받는 빅데이터 분석 도구이다.
R은 기존 통계 소프트웨어인 S를 바탕으로 만들어졌으며, 자바(Java), C, C++, 파이썬(Python) 등
다른 프로그램 언어와도 쉽게 연동할 수 있으며, windows, Linux, Unix, Mac OS 등 대부분의 개발환경
을 지원한다. 또한 하둡(Hadoop) 분산처리환경을 지원하는 Library 를 제공하기 때문에 구굴, 페이스북
,아마존 등도 빅데이터 분석에 R 을 활용하고 있다. 
R은 연구목적의 업무에 최적화되어 있지만 웬만한 종류의 데이터 분석에도 매우 용이하다. 왜냐면
R은 방대한 양의 Package 와 즉시 사용가능한 테스트 SET 을 제공하기 때문이다. 이 점의 R의 최대 강점
이다. 또한 전세계의 Mail List , Over Flow (네이버 지식인 처럼 묻고 답할 수 있는 커뮤니티) 와 같은
그룹의 도움을 언제든지 받을 수 있는 점 또한 강점이다. (오픈소스 이기 때문..)

파이썬(Python)

1991년 프로그래머인 귀도 반 로섬 이 발표한 고급 프로그램밍 언어로 플랫폼 독립적이며, 인터프리터식
객체지향적, 동적 타이핑(dynamic typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디
<Monty Python's Flying Circus> 에서 따온 것이다. 파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하
는 개방형, 공동체 기반 개발 모델을 가지고 있다. C언어로 구현된 C파이썬이 사실상의 표준이다.
파이썬은 주로 데이터 분석 결과를 다른 웹 애플리케이션에 접목하거나 통계적인 코드를 데이터베이스에
포한시켜야 할 때 사용한다. 필요한 패키지나 라이브러리를 불러오고 조합하여 분석 목적에 맞는 작업을
수행할 수 있다. 또한 직관적인 프로그래밍 언어로 초보자도 쉽게 배울 수 있다는 강점이 있다.
물론 R의 비해 초기 발전단계이자만 최근 몇년 상이 각광을 받으며 많이 발전하고 있다. 

R의 장점

장점 설명
1. 데이터 시각화 시각화된 데이터는 Raw 데이터 보다 훨씬 효과적으로 그 의도를 전달할
수 있으며, R을 처음 만든 목적 자체가 '데이터 분석. 통계학 그리고 시각화
를 하기 위해 좋은 방버을 만들어 보자' 라는 데에서 출발했다.
그 만큼 R은 강력한 데이터 시각화 기능을 가지고 있다.
2. 생테계 R은 정말 풍부하고 다양한 Package와 활발한 Community를 가지고 있다는 것이 큰 강점이다. 말 그래도 'R의 생태계' 를 이루고 있다고 할수 있다.
R함수와 데이터들의 모음인 패키지(Package) , 이를 통해 언제나 쉽게
최근의 테크닉과 기능에 접근이 가능하다.  자료 찾느라고 구글링을 밤새
할필요가 없다.
3. 데이터 사이언스의 통용어 R은 원래 통계학자들에 의해 통계학을 위해 개발되었기 때문에 통계적인
개념이 잘 녹여 있기 때문에 R을 습득하면 데이터 사이언스를 시작하기

 
R의 단점

단점 설명
1. 느린 속도 R은 통계학자들이 좀 더 쉽게 연구하려고 만든 언어이기 때문에
아무래도 컴퓨터를 효율적으로 활용하는 방법은 그리 깊게 고민하지
않았다. 그래서 R은 읽기 어려운 코드 때문에 좀 느릴 수 있다.
하지만 요즘 그런 단점을 상쇄해줄 수 있는 pqR, renjin, FastR, Riposte
등의 패키지가 개발되어 있다.
2. 어렵다 R은 아무래도 고급언어보다는 기계어적인 언어에 가깝다고 볼수 있기
때문에 배우기가 좀 어렵다. 풍부한 패키지 사용에 익숙해지려면 상당한
시간이 걸릴 수 있다.. 어쩔수 없이 꾸준한 학습이 필요한 언어이다


파이썬의 장점

장점 설명
1.lPython Notebook

보통 Languge 들은 통합개발환경(IDE)를 갖고 있다. 예를 들어 Visual Studio 라던가 eclipse 등이 있다. 
파이썬의 IDE가 바로 lPython Notebook 이다 이 환경은 파이썬을 가지고 있는 데이터 작업을 훨씬 쉽게 만들어 준다. 따로 부가적인 설치도 필요없이 동료들과 메모와 작업을 공유할수 있으며 이를 통해 코드, 결과물, 메모파일들을 정리하는데 필요한 비용을 획기적으로 줄여줄 수 있다.
파이썬의 Libaray 중 하나인 lPython은 대화형 방식으로 Python 의 
웹기반 Notebook을 지원하고 있다. 현재는 (Julia + Python + R)을 
합쳐서 Jupyter Notebook 으로 발전했다.
2. 특정 주제나 용도에 국한되지
  않은 배우기 쉬운 언어
파이썬은 특정 분야를 위한 언어가 아니라 비교적 쉽고, 직관적인
UI를 가지고 있다. 따라서 데이터 사이언스 말고도 다양한 분아에
적용이 가능하다.
3. 다양한 용도의 언어 파이썬은 다양한 백그라운드의 사람들이 모두 사용할수 있는 언어이다 . 이해하기 쉬운 언어이기 때문에 통계 백 그라운드를 가진 사람들도 배울수 있다. 


파이썬의 단점

단점 설명
1. 시각화 기능이 아쉽다. R의 최대 장점이었던 시각화 기능이 파이썬에서는 가장 큰 단점이기도 한다. 시각화는 데이터 분석의 효율성을 높이는 데 중요한 요소이지만 파이썬은 R에 비해 시각화 기능이 떨어져 있다. 
2. 파이썬은 도전자이다. 데이터 분석 툴에 있어서 R이 파이썬보다 선구자적인 위치에 있다.
파이썬은 후발주자라고 할수 있다. 그래서 R의 수백개 Package 에 
비해 파이썬은 아직은 많이 부족하다고 할수 있다. 파이썬이 최근 각광을 받고 있지만은 R의 방대한 Package 를 포기하고 파이썬으로 갈아탈지는 아직은 미지수이다. 
728x90
반응형
LIST

'디지털서비스' 카테고리의 다른 글

LBS (Location Based Service) 측위 기술  (0) 2019.10.16
디지털 트윈 (Digital Twin)  (0) 2019.10.10
머클트리(Merkle Tree)  (0) 2019.09.19
Data Lake - 데이터 단일 저장소  (0) 2019.09.09
망중립성 (Network Neutrality)  (0) 2019.09.08
728x90
반응형
SMALL

머클트리 (Merkle Tree) 의 정의

머클트리(Merkle Tree)는 이진트리(Binary Tree) 의 형태를 띠고 있다.
이진트리는 아시겠지만 아래 그림과 같이 부모노드가 자식노드를 2개만 가지고
있는 트리구조를 말한다. 

이진 트리 (Binary Tree)

그럼 머클트리는 무었이냐?. 머클트리는 맨 마지막 노드 (Leaf Node) 는 값에 대한
Hash값을 저장하고 있고 그 상위 부모노드는 자식노드의 Hash값을  가지고 
다시 Hashing 한 Hash값을 저장하는 방식입니다.
예를 들어 a 에 대한 Hash값을 H(a) 라고 하고, b에 대한 Hash값을 H(b) 라고 하면
그 부모노드는 H(a)+(Hb) 에 대한 Hash값 H(ab)를 저장하고,, 계속 상위 노드로
올라가보면 결국 최상위 노드 즉 Root Node 는 전체  Node에 대한 Hash값을
가지고 있는 머클루트(Merkle Root) 가 되는 것이다.

머클트리 (Merkle Tree)

머클트리(Merkle Tree)의 특징

1. 이진트리와 동일한 방식이지만 노드값이 Hash값으로 이루어져 있으며노
2. Hash값은 항상 동일한 크기의 값을 리턴하기 때문에 머클트리의  모든 노드는
   동일한 크기를 가지게 된다.
3. 따라서 
공간절약을 장점으로 꼽을 수 있다. 
4. 일반적인 이진트리(Binary Tree)는 위에서 아래로 트리구조가 만들어지는
   반면 머클트리(Merkle Tree)는 아래에서 위로 올라가면서 노드가 생성되는 구조이다.
5. a,b,c,d 중 어느 값이 하나라도 변경되면 머클루트 도 변경된다.
   이는 곧 특정 노드값의 위변조를 알아차릴수 있다는 뜻으로 머클트리의 탄생배경의
   주된 이유라고 볼수 있을 만큼 제일 중요한 머클트리의 특징이다.

머클트리(Merkle Tree) 의 용도

그럼 이 머클트리는 왜 만들었을까?
요즘 이슈가 되고 있는 블록체인(Block Chain)은 각 블록(노드)마다 원장을 공유함으로써 특정
블록(노드)의 원장의 위변조를 검증할 수 있다는 게 가장 큰 특징이다.
그러면 모든 블록(노드)이 전체 거래원장을 가지고 있다면 어마어마한 용량의 PC가 있어야 하고
스마트폰에서는 블록체인 원장을 가지고 있을 수 도 없을 것이다.
물론 실제 이런 구조로 되어 있지도 않다.
노드(Node)는 크게 풀노드(Full Node)와 SPV노드(Simple Payment Verification)  로 분류할수
있다. 풀노드(Full Node)는 블록체인에 있는 모든 데이터를 자기의 로컬에 저장을 하는 노드
이며, SPV노드는 블록의 헤더값만 저장을 하는 노드입니다. 일반적인 블록체인의 블록들은
이 SPV노드이기 때문에 스마트폰과 같은 저장용량이 적은 경우에도 운용을 할수 가 있는
것이다.  따라서 SPV노드는 특정 거래를 검증을 위해서는 풀(Full Node) 로부터 데이터를
받아와서 비교를 해야 하는데 이때 쓰이는 것이 바로 머클트리(Merkle Tree) 이다.
SPV노드는 블록체인의 전체원장을 가지고 있지 않다고 했고, 대신 블록헤더(Block Header)라는
정보만 가지고 있는데 그 블록헤더에 머클루트(Merkle Root) 값이 저장되어 있다.
예를 들어 어떤 SPV노드가 있는데 이 노드에서 거래 c 에 대해서 진짜 유효한 거래 c 인지 
알고싶을때 SPV노드는 풀노드에게 물어본다. 그러면 풀노드는 SPV노드에게 H(d) , H(ab) 값을
전달해 준다. SPV노드는 H(c)를 만들어서 풀노드가 준  H(d)를 가지고  H(cd)를 만든다.
그리고 H(ab) 와 H(cd)를 가지고 H(abcd)를 만들어서 자기가 갖고 있는 블록헤더에 있는
H(abcd) 와 비교를 해서 같으면 c는 유효한 거래이고, 틀리면 먼가 위조된 거래인 것이다.
(요 방법을  머클패스(Merkle Path)  라고 함)


SPV노드

<출처 : https://blog.naver.com/mage7th/221457285394>

SPV노드는 위 그림과 같이 Chain으로 묶인 블록헤더(Block Header) 정보만을 가지고 있다.
그 안에  머클루트(Merkle Root) 값 즉, H(abcd) 값이 들어있다.

블록체인(Block Chain)의 용량은 시간이 갈수록 기하급수적으로 늘어나기 때문에  이제는 성능이
좋은 컴퓨터만 모든 블록체인을 다운받는 풀노드(Full Node)가 될수 있는데 이 머클트리(Merkle Tree)
방식은 우리가 들고 다니는 모바일 기기에서도 일부 블록체인만 다운받는 라이트노드(Light Node)
로도 특정 거래를 빠르게 찾을 수있게 해주는 역할을 한다.

728x90
반응형
LIST
728x90
반응형
SMALL

▶ Data Lake의 탄생 배경 - DW의 한계

거의 모든 기업은 정보시스템을 구축해서 사용하고 있으며 이 정보시스템을 통해 많은
데이터가 생성되고,저장되고,가공되고,분석되고,보고되어 지고 있다. 
이 단계중에서 데이터를 분석하는 부분의 기업의 의사결정에 중요한 기준자료가 되기
때문에 많은 기업들이 이 데이터를 분석하기 위한 솔루션 구축에 많은 투자를 하고 있고
대표적으로 DW (Data Warehouse) 를 많이 사용하고 있다.
DW는 기업의 정보시스템(기간계,지원계,채널계..)으로 부터 생성된 데이터 중 분석가치가
있는 데이터를 주제별로 분류해서 ETL을 통해서 수집하고 이 데이터를 정형화해서
데이터 마트(Data Mart)에 쌓아 놓은 후 각종 분석 View Tool (OLAP,SQL)을 이용해서
정형화되고 시각화된 데이터를 (Dashboard 같은) 의사결정자에게 제공을 하고 있다.
하지만 DW를 사용해보신 분은 느끼시겠지만 DW를 사용하기 위해서는 다양한 데이터를 
그대로 사용하지 못하고 데이터 마트(Data Mart) 라는 규격화된 그릇에 담을 수 있도록
데이터를 가공,편집하는 정형화 작업이 선행되어야 한다. 이 작업이 만만치 않은 작업이다.
또한 먼가 새로운 항목을 추가하는 등 모델을 변경하는 것은 상당한 어려운 작업이 된다.
그리고 제일 DW의 약점이라고 하면 바로 비정형 데이터를 처리할 수 없다는 것이다.
요즘 정보의 형태는 과거 정형적인 데이터에서 비정형 데이터 즉 SNS, 블로그 포스팅, 제품리뷰
,스트리밍, 디바이스 로그 등 과 같은 형태의 데이터가 더 가치를 가진 정보로 각광받고 있는 시대로 변하고
있다.  DW에서는 이러한 비정형 데이터를 처리하는 데 한계가 있다.

이러한 DW의 정보분석의 한계를 극복하고자 나온 것이 바로 "Data Lake" 이다.

 Data Lake의 정의 - 잔잔한 호수

Data Lake는 다양한 원천 데이터를 통합된 단일 형식으로 만들어서 저장하는(Schema-on-write)
DW와는 다르게 원천 데이터를 그대로 원래 형식으로 저장을 하고 나중에 읽을 때 (Schema-on-read)
쉽게 분석할 수 있도록 하는 대규모 저장소의 개념이다 . 
이 Data Lake 개념을 처음 제안한 사람은 데이비드 바틀렛 이라는 GE 직원이었는데 그는 평소
생물학에 관심이 있어 호수(Lake) 를 보면 잔잔해 보이지만 수면 밑으로는 여러 다양한 생물들과
그들의 상호작용으로 생태계가 유지된다는 측면에서 Data Lake 라는 용어를 사용했다고 한다.
낚시에 비유해 보면 DW는 규격화 되어 있는 양식장에서 양식 광어를 낚는 방식이고, Data Lake
호수에서 바로 물고기를 낚는 거라고 할 수 있다.

 Data Lake의 처리방식

Data Lake 에서는 비정형데이터 , 즉 SNS나 로그 같은 데이터를 독립적으로 나누고 다시 취합하는
기법을 사용하는데 보통 이때 사용하는 기술로  하둡(Hadoop) 과 같은 맵리듀스(Map Reduce)  방식의
분산처리기법이다.  독립적으로 나눈 데이터를 하둡분산파일시스템(HDFS)을 통해 분산 서버에
저장하고 , 맵리듀스를 통해 각각의 분산서버에서 병렬처리한다.

 Data Lake 의 구성도

<출처 : 181회 정보관리기술사 모임 : 두드림>

구성요소 세부설명 요소기술
Data Source (생성) 정형/비정형/반정형 Raw  Data  
Ingestion Layer (수집) Raw Data를 웹서버,파일서버,IoT 이용한
스토리지 수집
Database, WebServer,FTP
IoT, Storage
Caching Layer (저장) 수집된 데이터를 저장 SQL, NoSQL, Elastic Search
Processing Layer (처리) 알고리즘 수행, 요구사항 전처리  HDFS
Insight Layer (통찰,활용) 시스템 모니터링, BI, 평가 Data Discovery, Data Dashboard

                                  <출처 : 181회 정보관리기술사 동기화 : 두드림 >

▶ Data Lake  의 장점

1) 데이터의 구조화여부에 상관없이 활용할 수 있다. 
2) 원시 Raw Data를 저장할 수 있으며 이 데이터는 작업자의 이해와 Insight Improves (통찰력) 에 의해
    재정의 될 수 있다.
3) 물리적으로 분산되어 저장되어 있는 대용량의 Raw Data 를 분석할 수 있다.
4) 유지보수 비용이 적게 든다

▶ Data Lake 와 DW 의 비교

구분 DW (Data Warehouse) Date Lake
스키마 Schema-on-write
저장시에 규격에 맞게 저장하는 방식
Schema-on-read
저장은 Raw Data 를 그대로 저장하고
읽을 때 분석하는 방식
접근방법 표준화된 SQL이나 BI 를 통해 접근 SQL, 개발된 프로그램, 빅데이터 분석 Tool 등을 통해서 접근
데이터 Cleansed Raw and refined 
데이터 복잡성 복잡한 통합 (Complex Integration) 복잡한 처리 (Complex Processing)
비용 높다 낮다
데이터 유형 정형, 구조적 데이터  정형, 비정형, 반정형

 

728x90
반응형
LIST
728x90
반응형
SMALL

망중립성은 망제공사업자가 특정 콘텐츠나 CP (Content Provider) 에 대해서 차별,차단을
금지하는 정책으로 망 자체를 공공재로 보기 때문에 차별없이 누구나 참여해서 사용할 수
있어야 한다는 개념이다. 
예를 들면 대표적인 통신기업인 SK,KT,LG 등 ISP 사업자가 제공하는 인터넷망에 접속하면
어느 콘텐츠나 트랙픽 제한이나 차단없이 동등하게 볼수 있어야 한다는 뜻이다.
요즘 한창 이슈가 되는 Youtube 와 같이 대용량 동영상 콘텐츠를 제공하지만 이들은 
인터넷망을 아무 비용지불없이 무임승차를 하고 있을 수 있는 것은 이 망중립성때문이다.
Youtube를 이용하는 사용자는 계속 증가하고 제공되는 동영상 볼륨도 크기 때문에
그만큼 네트워크 트래픽을 엄청 잡아먹기 때문에 일정 요금제에 가입해서 스마트폰을
보는 사용자에게는 안정된 서비스를 제공할려면 지속적인 망투자가 필요하고  이는
only 망사업자의 비용으로 전가될 수밖에 없다. 
그래서 요즘 망중립성에 대한 원칙이 흔들리는 추세이고 실제 2017년 12월 14일에 
미국 연방통신위원회는 망중립성 폐지 방안을 통과시켰고 따라서 망사업자는 구글,넷플릭스
등 OTT사업자등을 대상으로 사용량,속도 등에 따라 차별화된 요금을 부과할 수있게 되었다.

이와 같이 망중립성은 동면의 양면성 처럼 장단점이 있다.
제한된 주파수 할당을 통해 인터넷망이 제공되기때문에 마치 고속도로 통행료 처럼 사용자의
편익에 따라 비용을 부과할 수밖에 없기도 하지만 통신사업자의 독점을 통해 사용자 Lock-In
으로 인해 소비자의 선택권이 제한받을 수 있는 상황이 될 수도 있기 때문이다.

728x90
반응형
LIST
728x90
반응형
SMALL

우리가 보통 인터넷사이트를 이용할려면 우선 회원가입을 통해 ID와 Password 를 설정한 후
로그인을 통해 해당 사이트에 접속을 하고 있다.
해당 사이트는 사용자가 입력한 ID와 Password를 자신의 서버에 저장되어 있는 사용자의 
정보와 대조해서 일치하면 접속을 허용하는 방식인 것이다.
이 ID/Password 인증방식은 지식기반의 인증방식의 하나로 널리 쓰이고 있지만 치명적인
약점 또한 가지고 있다.  사용자의 정보를 각 사이트의 서버에 저장되어 있다는 것이다.
이는 유출의 위험이 항상 있을 수 밖에 없는 구조이다. 물론 암호화 등 다양한 보안조치를 통해
유출의 위험을 줄이고는 있다고 하지만 100% 안전할 수는 없다. 
또한 각 사이트마다 ID,Password를 설정해야 하다 보니깐 잊어버리는 경우도 있고, 보통 동일한
ID.Password로 설정하기 때문에 한곳에서 노출되면 전체가 다 노출되는 위험성이 크다.

요즘은 이런 걸 보완하기 위해 네이버/구글/페이스북/카카오 등에서 로그인서비스를 제공하는
데 이를 연합인증(Federated Identity) 이라고 하는데 OpenID, OAuth  등을이용해서 기존에
가입된 소셜미디어 계정으로 다른 사이트나 앱에 로그인 하는 방법이다.
이로 인해서 개별 회원가입을 해야하는 불편함이 확 줄었지만 이 또한 개인정보 유출 및
해킹에서는 자유롭지 못하다. 오히려 특정서비스로의 개인정보 집중화로 인해 대량개인정보유출
사고가 일어날 수 있다.

이러한 문제점은 모두 개인정보가 중앙서버에 저장되어 있기 때문이다. 그래서 나온 개념이
이 DID (Decentralized Identifiers)  즉 분산ID, 탈중앙화 신원확인시스템이다.
간단히 이야기하면 개인정보를 중앙서버에 저장하는 것이 아니라 각 개인이 가지고 있고
각 개인이 가지고 있는 개인정보에 대한 유효성은 블록체인 기술을 이용해서 인증하는 방식이다.
블록체인을 통해 개인정보를 분산저장하고 한쪽에서 이 개인정보를 위조하더라도 나머지 분산
저장된 개인정보와 비교를 통해서 위조여부를 알수 있는 것이다. 
이는 자기주권(self-soverign) 의 개념을 도입한 것으로 개인정보를 개인 본인이 보관하는 방법으로
사용자는 블록체인에 자기 개인정보를 올리고 자기 스마트폰에 저장하면 된다.

블록체인ID인증은 다음과 같은 단계로 이루어진다.
1. 사용자는 자신에 대한 인증이 필요한경우 Issuer에게  자신의 증명자료와 요청정보를 제공한다.
    (여기서 Issuer 는 지금의 공인인증서 인증기관같은 걸 말한다.)
2. Issuer는 증명자료와 요청정보를 기반으로 Verifiable Claims 를 발급해서 사용자에게 준다.
    (이때 Issuer는 증명자료나 요청정보를 따로 저장하지 않는다. ◀이게 핵심!!!!!)
3. 사용자는 Issuer로부터 전달받은 Verifiable Claims 를 자기 스마트폰에 저장한다.
4. 사용자는 은행사이트 로그인 시 이 Verifiable Claims를 제출한다.
5. 은행사이트는 사용자가 제출한 Verifiable Claims 를 블록체인에서 비교 검사해서
   위조여부를 검사한 후 로그인을 허용한다.
   (DID는 결국 블록체인의 DLT (Distributed Ledger Technology) 상에서 신원을 확인하는데
   사용되는 식별자 역할을 하는 셈이다)

● DID 구성도와 기술요소

                 < 출처 : 118회 정보관리기술사 두드리 동기회 >

Digital Wallet (전자지갑) DID를 개인이 저장할 수 있는 지갑으로 DKMS 을 이용한다.
 ▶ DKMS : DID 즉 사설키를 저장관리하는 표준
블록체인의 분산원장을 통해 검증
DKMS (Decentralized Key Management System)  DID 즉 사설키를 저장관리하는 공개표준
DID Auth (본인인증 Digital Wallet에 있는 DKMS에 저장된 키 기반 본인인증
외부에 정보요청, 전달, 거래 등 수행
Verify Credential 본인 인증을 위해 상대방에게 증명서(DID) 제출
Peer 거래 상대방으로 제출받은 증명서(DID)를 블록체인 분산원장
을 통해 검증한다.
Issue Credential 거래 상대방이 증명이 되었다는 결과를 사용자에게 전달


● DID 와 공인인증서 방식 비교

구분 공인인증서 DID
개념 중앙집중형 분산인증 블록체인 기반 탈중앙화 신원확인시스템
신원관리주체 서비스제공자 이용자 본인
특징 개인정보를 중앙서버에 저장 개인정보는 중앙서버에 저장되지 않고
개인 본인이 자기한테 저장
보안 중앙서버가 실패 단일점
중앙서버의 데이터 유출가능
블록체인 원장에 분산저장되어 무결성및
위조 불가
확장성 서버가 추가되면서 신뢰관계
구축이 필요해서 확장성낮음
노드 추가를 통해 블록체인 원장에 쉽게
확장 가능
기술요소 SSL/TLS, SAML, OAuth,  PKI DID, DLT, DKMS, Digial Wallet, 블록체인


 

 

728x90
반응형
LIST

'디지털서비스' 카테고리의 다른 글

머클트리(Merkle Tree)  (0) 2019.09.19
Data Lake - 데이터 단일 저장소  (0) 2019.09.09
망중립성 (Network Neutrality)  (0) 2019.09.08
제로레이팅 (Zero Rating)  (0) 2019.09.06
도커(Docker)  (0) 2019.09.05

+ Recent posts