2016년 10월 31일 월요일

전통적인 개발과 플랫폼을 사용한 개발의 비교

IoT 플랫폼을 사용하게 되면 전통적인 소프트웨어 개발보다 현저히 줄어든 개발 기간을 확인할 수 있다(그림6). 왜냐하면, 센서와 디바이스, 네트워크와 인터페이스의 제어 방법이 플랫폼에서 제시될 수 있고, 빅데이터 수집과 분석 후 서비스를 제공하는 방법까지 플랫폼에서 정의될 수 있기 때문이다. 


<그림7> 전통적인 개발과 플랫폼을 사용한 개발의 비교 
 
출처: RENESAS 


그림7을 살펴보면, 위 쪽의 전통적인 개발에서는 드라이버, 미들웨어 설계까지 포함되어 있지만 아래는 그 부분이 모두 플랫폼에 포함되어 있기 때문에 별도의 설계나 개발이 필요하지 않다. 그리고, 기존 개발에서는 요구사항에 따라 기능에 필요한 하드웨어를 선택하고 주변 하드웨어를 설계하지만, 플랫폼 기반에서는 사용자가 사용하는 기능에 따라 플랫폼에서 사용자가 필요한 부분을 정의하고 적당한 소프트웨어를 개발하면 된다. 



IoT 네트워크와 인터페이스를 위한 소프트웨어 개발 능력



IoT의 발전과 함께 빠질 수 없는 요소가 IoT 게이트웨이(Gateway)다. IoT 게이트웨이는 각 디바이스에서 수집되는 데이터를 모아 전송하기 때문에 IoT 게이트웨이가 있으면 디바이스가 꼭 인터넷에 접근할 필요가 없어 네트워크 대역폭의 부담을 낮출 수 있다. 또한, 불필요한 데이터는 거르고 필요한 데이터만 전송하도록 한다면 데이터의 신뢰도를 높이고 네트워크의 트래픽을 낮출 수 있다. 또, 통신 네트워크와 인터페이스의 유연한 확장을 위해서도 소프트웨어를 통한 제어가 필요하다. 


<그림3> IoT 게이트웨이를 적용한 IoT 구성 
 

출처: Intel 


IoT에서 수집된 빅데이터를 지식화 하기 위한 소프트웨어 개발 능력

IoT는 엄밀히 IoT 자체적인 서비스는 거의 없다. 대부분 IoT에서 수집된 정보를 활용하는 서비스이다. IoT 소프트웨어에 빅데이터 관련 개발 능력이 필요한 이유다. 사물에서 데이터를 수집하고 네트워크를 통해 전달한 후 빅데이터 활용 프로세스에 맞춰 서비스를 제공한다(그림4). 



IoT 디바이스를 제어하기 위한 시스템 소프트웨어 개발 능력



IoT를 위한 디바이스들은 모바일폰과 같은 스마트 디바이스와는 다르게 센서와 같은 하드웨어 측면의 부가적인 기능을 가진 디바이스가 많다. 이러한 기능을 원활히 동작하게 하고 다양한 하드웨어를 추가하기 위해서는 유연성과 확장성이 필요하다. 이를 위해, 펌웨어보다는 임베디드 적용이 필요하고 임베디드 기반의 소프트웨어 개발 능력이 요구된다. 여기서, 기존의 임베디드는 하드웨어 중심의 기능은 단순하고 독립적으로 구성되었지만 IoT가 적용되면서 최근에는 소프트웨어를 중심으로 구성되어 많은 기능을 제어할 수 있고 확장이 용이하게 변화되었다(그림2). 하드웨어의 비중이 줄어들고 유연한 확장이 용이한 소프트웨어 중심의 임베디드 시스템 설계가 이루어지고 있기 때문이다.


<그림2> IoT 모델 변화에 따른 임베디드 시스템의 변화 
 
출처: RENESAS 



2016년 10월 28일 금요일

IoT 사례 연구 - 빅데이터와 연계 - 2

사례 연구 

시스코(Cisco) - 포그 컴퓨팅(Fog Computing) 

IoT의 확산과 빅데이터의 양과 실시간 처리의 필요성이 증가하고 센서 디바이스의 한계로 인해 클라우드 컴퓨팅의 영역보다 더 확대된 역할이 필요하게 되었다. 클라우드 컴퓨팅을 실제 네트워크에 보다 근접한 경계 영역까지 확장하는 새로운 아키텍처가 제시되었는데 이 것이 포그 컴퓨팅이다(그림5). 


<그림5> 포그 컴퓨팅의 구성 
 
출처: Cisco 


포그 컴퓨팅은 센서나 디바이스에서 생성된 데이터를 실시간으로 처리할 수 있는 노드를 기지국처럼 두고 컴퓨팅 파워가 필요한 데이터만 클라우드로 넘겨서 처리하는 방식이다. 노드에는 컴퓨팅에 필요한 메모리나 저장 기능을 가지고 있어 즉각적인 데이터 분석이 가능하도록 되어 있다. 스마트폰과 같은 디바이스에서 생성된 데이터를 근거리 통신망을 이용해 포그 노드에 연결하여 분석하고, 그 이상의 컴퓨팅 파워가 필요한 작업은 클라우드로 보내 처리하게 한다. 이러한 방식은 간단한 데이터 분석은 포그 노드에서 해결하기 때문에 데이터 분석에 필요한 비용과 시간을 절약할 수 있고, 대부분 데이터 분석이 완료된 데이터가 네트워크를 통해 저장되기 때문에 빅데이터 저장공간도 줄일 수 있는 장점이 있다. 아키텍처를 보면 컴퓨터, 네트워크, 저장장치가 있고, 사용자 위치 파악해 주는 엔진과 그 위에서 애플리케이션이 구동된다. 이러한 아키텍처가 라우터나 셋톱박스, AP 등에 탑재될 수 있다. 즉, 전통적인 컴퓨팅 모델과 비교하면, 물리적인 디바이스와 인터넷 사이에 분산 플랫폼을 가지고 있는 것이다.


진보된 시스템 아키텍처의 동향 분석 - 2

FPGA (Field-programmable gate array) 

FPGA는 설계 가능 논리 소자와 프로그래밍가능 내부선이 포함된 반도체 소자이다. 설계 가능 논리 소자는 AND, OR, XOR, NOT, 더 복잡한 디코더나 계산기능의 조합 기능 같은 기본적인 논리 게이트의 기능을 복제하여 프로그래밍할 수 있다. 대부분의 FPGA는 프로그래밍가능 논리 요소 (FPGA 식으로는 논리 블록이라고도 함)에 간단한 플립플롭이나 더 완벽한 메모리 블록으로 된 메모리 요소를 포함하고 있다. 
FPGA는 일반적으로 주문형 반도체(ASIC) 대용품보다 느리고, 복잡한 설계에 적용할 수 없으며, 소비전력이 크다. 그러나 개발시간이 짧고, 오류를 현장에서 재수정 할 수 있고, 초기 개발비가 저렴하다는 장점이 있다. 제조사는 설계 이후에 수정할 수 없도록 할당된 덜 유연한 FPGA 버전으로 싸게 팔 수 있다. 이런 설계개발은 일반적인 FPGA에서 만들었고 좀 더 ASIC와 비슷한 고정된 버전으로 변경되었다. CPLD는 비슷한 역할을 할 수 있는 소자이다. 모든 FPGA 칩은 재구성 가능한 디지털 회로를 실행하기 위해 일정 갯수의 프로그래밍 가능한 커넥트를 가진 미리 정의된 리소스로 구성되어 있다. 


<그림5> FPGA 구성 요소 

 출처: http://www.ni.com/white-paper/  


FPGA 칩이 전 산업 분야에 걸쳐 채택되고 있는 이유는 FPGA가 ASIC 및 프로세서 기반 시스템의 우수한 부분을 통합하기 때문이다. FPGA의 장점은 다음과 같다. 


빅데이터 활성화를 위한 메타데이터 플랫폼 구축 - 2

Q: 새로운 용어가 나타났네요. 지능형 데이터는 무엇인가요? 
말 그대로 개념인데요. 다양한 종류의 정보를 보아서 새로운 정보를 제공하는 것을 말합니다(그림6). 정보가 넘쳐나는 지금 시대에는 매우 필요한 개념 중의 하나이지요. 그림6을 보시면, 속성, 질의, 문서 등이 모여 새로운 지식을 창출하는 것을 나타내고 있습니다. 컴퓨팅이나 네트워크를 통해 더 많은 지식을 찾으려는 최근에 주목 받는 이유입니다. 오늘 주제 관점에서 봤을 때, 여기서 중요한 포인트는 새로운 정보가 오감 중에서 눈으로 볼 수 있는 문장으로 나타나는 것이 좋다는 점입니다. 무슨 얘기냐 하면, 새로운 인사이트를 찾았을 때 보면서도 다시 생각하게 하는 것은 좋지 않습니다. 왜냐하면, 다시 생각하면서 만들어진 정보가 왜곡될 수도 있기 때문이죠. 즉, 동적 메타데이터를 통해 해석되는 것은 가급적 문장으로 명확히 제시되도록 준비하는 것이 좋다는 뜻입니다. 


<그림6> 지능형 데이터의 개념 

 출처: 서울대학교 


Q: 그렇다면, 동적 데이터를 매번 해석할 수도 없으니 이것을 체계적으로 동작할 수 있게 하는 프레임워크를 구성하는 것이 필요할 것 같은데요? 
네 맞습니다. 빅데이터를 위한 메타데이터 관리 프레임워크가 필요합니다. 빅데이터를 수집하면서 메타데이터로 활용이 가능한 것을 찾아내고 이를 활용할 수 있도록 준비하는 것이 좋습니다. 이러한 준비는 빅데이터의 특징을 고려해 정의하면 됩니다. 이러한 것의 예가 그림7에 나타나 있습니다.  


<그림7> 메타데이터 관리 프레임워크를 구성하는 방법 

 출처: 빅데이터 처리를 위한 메타데이터 표준화에 관한 연구  


그림7과 같이 프레임워크를 구성하기 위해서는 빅데이터 특성을 고려해야겠지만, 그림8과 같이 출처, 속성, 의미, 데이터 유형 등과 같은 요소들이 구체화 되도록 하는 것도 방법입니다. 



2016년 10월 27일 목요일

인공지능과 기계 윤리에 대한 논의


인공지능의 사회적 권리
: 로봇 경찰은 우리를 체포 할 수 있는가?


인공 지능에 의한 창작물은 누가 권리를 갖는 것인가?




기계 윤리에 대한 논의는 벌써 시작했어야 한다.







유비쿼터스 컴퓨팅

유비쿼터스의 개념, 유비쿼터스(ubiquitous)란? 

‘어디든지 존재한다’ 또는 ‘편재한다’ 라는 의미를 가진 라틴어임. 노트북 컴퓨터의 일반화, 무선 컴퓨터 접속, PDA의 개발, 휴대폰의 지능화로 인해 언제 어디서나 정보를 원활하게 보내고 받을 수 있는 환경이 유비쿼터스의 세계

▶유비쿼터스는 네트워크에 접속되어야만 한다.
▶유비쿼터스는 사용자에게 잘 보이지 않아야 한다.
▶유비쿼터스 컴퓨팅은 사용자에 따라 제공될 수 있는 서비스가 달라야 한다.


유비쿼터스의 다양한 응용 컴퓨팅 기술

 웨어러블 컴퓨팅(Wearable Computing) 
웨어러블 컴퓨팅은 유비쿼터스 컴퓨팅 기술의 출발점으로서 컴퓨터를 옷이나 안경처럼 착용할 수 있게 해줌으로써 컴퓨터를 인간의 몸의 일부로 여길 수 있도록 기여하는 기술임.

 임베디드 컴퓨팅(Embedded Computing) 
임베디드 컴퓨팅은 사물에다 컴퓨터 칩(microchip) 등을 심어 사물을 지능화 하는 컴퓨팅을 말함. 예를 들면 다리, 빌딩등과 같은 건축물에다 컴퓨터 칩을 장착하여 안정성 진단이나 조치가 가능할 것임.

 감지 컴퓨팅(Sentient computing) 
감지 컴퓨팅은 컴퓨터가 센서 등을 통해 사용자의 상황을 인식하여 사용자가 필요로 하는 정보를 제공해 주는 컴퓨팅 기술임

 노매딕 컴퓨팅(Nomadic computing) 
노매딕 컴퓨팅 환경은 어떠한 장소에서건 이미 다양한 정보 기기가 편재되어 있어 사용자가 정보기기를 굳이 휴대 할 필요가 없는 환경을 말함

웨어러블 디바이스





4차 산업혁명시대, 우리 조직의 소프트웨어 프로세스는 준비되어 있습니까?

소프트웨어 프로세스

•Process
–a sequence of steps performed for a given purpose [IEEE]


•Software Process
– a set of activities, methods, practices, and transformation that people employ to develop and maintain software and the associated products (e.g., design documents, test cases etc.) [SEI]


4차 산업혁명 시대, 소프트웨어 프로세스의 요건



소프트웨어 프로세스 모델




2016년 10월 26일 수요일

사물 인터넷의 생태계 분석


  • 서비스 및 플랫폼




  • 네트워크





  • 디바이스





  • 보안





데이터의 수집, 사물 인터넷 그리고 인공지능

데이터의 수집은 개인이 속한 모든 공간에서 이루어질 것임



데이터의 관리 유지는 어떤 기준으로 이루어져야 하는가?

The FTC also recommended that IoT companies should reasonably limit their collection and retention of PII. These practices, known as data minimization, can help mitigate privacy-related risks. The FTC recommended that:

◦ IoT companies should examine their data practices and business needs and develop policies and practices that impose reasonable limits on the collection and retention of PII; and
◦ to the extent there is a need to collect and store PII, IoT companies should consider whether they can do so while maintaining the PII in a de-identified form.

사물인터넷에 대해서도 사회적, 법륙적, 윤리적 이슈를 논의해야 함





4차 산업혁명시대, 비즈니스 환경은 어떠할 것인가?

높은 성장 가능성

- 디지털 역량기반 신생기업의 시장장악 속도 가속화

승자 독식 시장

- Digital leaders own 69.8% of the market share and 77.1% of the profits, compared to the rest of the players.

기술 플랫폼 기반 비즈니스



고객 기대의 변화

- 디지털 원주민, 밀레니얼 세대
- Customer 3.0 (by Accenture)
   –Highly informed,
   –Socially connected,
   –Trust the crowd,
   –Self-promoting,
   –Price sensitive,
   –‘now’ generation,
   –Security unconscious


2016년 10월 25일 화요일

진보된 시스템 아키텍처(Advanced System Architecture)의 동향 분석

가트너는 2016년 10대 전략 기술 중 진보된 시스템 아키텍처를 발표했다. 갈수록 늘어나는 스마트 디바이스나 사물인터넷(IoT; Internet of Things) 등으로 인해 네트워크가 갈수록 복잡해지고 소형기기를 통해 동작하는 것들이 많아 고도의 컴퓨팅 기술과 이를 동작시킬 수 있는 효율적인 아키텍처가 필요하다. 이번 회에서는 진보된 시스템 아키텍처에 대해 살펴보기로 한다. 


진보된 시스템 아키텍처의 산업 현황 

가트너가 발표한 10대 전략 기술은 크게 3가지로 구분된다. 사용자 관점의 기술, 기계 관점의 기술, 그리고 기술 구조 관점에 대한 기술이다. 진보된 시스템 아키텍처는 기술 구조에 관점의 기술로 구분되어 있다(그림1). 기술 구조 관점에는 진보된 시스템 아키텍처 외에 메시 앱과 서비스, 진보된 보안 아키텍처, 그리고 IoT 관련 아키텍처와 플랫폼을 들고 있다. 이 네 가지는 모두 다양한 서비스가 분산되어 서비스되는 것을 나타내는 것으로, 클라우드 환경에 대비한 전략 기술로 구분할 수 있다. 


<그림1> 가트너 2016년 10대 전략 기술 
 
출처: 가트너  


점점 발전하고 있는 디지털 메시 디바이스와 지능형 기계 시스템이 효율적으로 운영되기 위해서는 강력한 컴퓨터 아키텍처가 뒷받침 되어야 한다. 가트너에서는 이에 충족하는 것으로 뉴로모픽 아키텍처(Neuromorphic Architecture)를 제안하고 있다. 이름처럼 사람의 뇌신경과 비슷한 모양을 지닌 뉴모로픽 아키텍처는 GPU와 FPGAs(Field Programmable Gate Arrays)를 기반으로 개발되며 테라플롭(teraflop) 이상의 속도와 높은 에너지 효율성으로 작동할 수 있도록 되어 있어 이미 상당한 개선이 이뤄져 있는 상태이다. 


빅데이터 활성화를 위한 메타데이터 플랫폼 구축



ICT 산업에서 빅데이터는 최근 몇 년 동안 가장 관심을 끌었던 분야 중 하나였고, 다양한 산업 분야에서 빅데이터와의 연계를 위한 연구가 활발하게 진행되고 있다. 하지만, 아직까지 빅데이터를 활용하는 체계적인 방법이나 표준화된 가이드가 없는 것이 사실이다. 더구나, 데이터의 속성정보라 할 수 있는 메타데이터를 빅데이터에서는 어떻게 적용할 것인지에 대한 연구는 더 없는 실정이다. 이번 회에서는 빅데이터에서 찾고 있는 정보를 효율적으로 이용하기 위한 메타데이터에 대해 CJ O쇼핑 해외사업부 개발팀 곽대기 팀장을 만나 자세한 사항을 들어본다. 

Q: 본격적인 이야기 전에 메타데이터에 대해 설명을 부탁 드립니다. 

메타데이터는 다른 데이터를 설명해주는 구조화된 데이터라고 할 수 있습니다. 흔히, 우리가 영화를 하나 보려고 할 때, 영화의 제목, 상영시간, 등급, 주연, 줄거리 같은 것을 살펴보게 되는데 이러한 정보를 메타데이터라고 할 수 있습니다. 우리가 지금까지도 사용하는 관계형 데이터베이스(Relation Database)에서는 저장해놓은 데이터를 어떻게든 빨리 찾으려고 했습니다. 이럴 때 메타데이터를 활용하게 되는데, 예를 들면 인덱스(Index)를 지정해서 찾는 방법도 한 종류라 할 수 있지요. 사전적인 의미로 정리하자면, 일반적인 데이터는 실제 데이터를 말하는 것이고, 메타데이터는 데이터를 구성하는 속성이나 정보를 말하는 것입니다(그림1). 


 <그림1> 마스터 데이터와 메타데이터 

 출처: Gartner 


IoT 사례 연구 - 빅데이터와 연계

IoT(Internet of Things)의 시대에는 빅데이터를 빼놓고 말할 수 없을 만큼 중요한 요소이다. 엄청난 양(Volume)의 다양한(Variety) 데이터가 엄청난 속도(Velocity)로 쏟아지기 때문이다. 반대로, 빅데이터는 대량의 데이터가 입력되지 않으면 가치를 찾기 어렵기 때문에 빅데이터와 IoT는 뗄 수 없는 관계일 수 밖에 없다. 이번 회에서는 IoT와 빅데이터를 활용하기 위해 사용되는 구성에 대해 알아보기로 한다. 상호 보완적 개념인 빅데이터와 IoT를 연결한 컴퓨팅 구성을 이해하는데 도움이 되기를 기대한다. 


사례 연구 전 확인 사항 

IoT와 빅데이터 

IoT는 사물이 다양한 센서를 통해 수집한 데이터를 네트워크를 통해 전달하는 것이 일반적인 역할이라고 할 수 있다(그림1). IoT에서 수집하는 데이터는 실시간 데이터가 대부분이기 때문에 사물이 24시간 동안 인터넷에 접속되어 있으면서 쉬지 않고 데이터를 수집한다. 이러한 일을 위해 과거에는 많은 비용과 기술이 필요했지만 현재는 디바이스가 점점 소형화 되면서 비용도 함께 내려가는 추세다. 따라서, 지금은 거의 모든 산업에서 IoT를 이용해 빅데이터를 수집하고 있다. 


 <그림1> IoT의 데이터 수집과 전달 


 출처: http://www.tkt.cs.tut.fi/research/waps/ 


2016년 10월 24일 월요일

시스코(Cisco) - 포그 컴퓨팅(Fog Computing)



IoT의 확산과 빅데이터의 양과 실시간 처리의 필요성이 증가하고 센서 디바이스의 한계로 인해 클라우드 컴퓨팅의 영역보다 더 확대된 역할이 필요하게 되었다. 클라우드 컴퓨팅을 실제 네트워크에 보다 근접한 경계 영역까지 확장하는 새로운 아키텍처가 제시되었는데 이 것이 포그 컴퓨팅이다(그림5). 


<그림5> 포그 컴퓨팅의 구성 
 
출처: Cisco 


포그 컴퓨팅은 센서나 디바이스에서 생성된 데이터를 실시간으로 처리할 수 있는 노드를 기지국처럼 두고 컴퓨팅 파워가 필요한 데이터만 클라우드로 넘겨서 처리하는 방식이다. 노드에는 컴퓨팅에 필요한 메모리나 저장 기능을 가지고 있어 즉각적인 데이터 분석이 가능하도록 되어 있다. 스마트폰과 같은 디바이스에서 생성된 데이터를 근거리 통신망을 이용해 포그 노드에 연결하여 분석하고, 그 이상의 컴퓨팅 파워가 필요한 작업은 클라우드로 보내 처리하게 한다. 이러한 방식은 간단한 데이터 분석은 포그 노드에서 해결하기 때문에 데이터 분석에 필요한 비용과 시간을 절약할 수 있고, 대부분 데이터 분석이 완료된 데이터가 네트워크를 통해 저장되기 때문에 빅데이터 저장공간도 줄일 수 있는 장점이 있다. 아키텍처를 보면 컴퓨터, 네트워크, 저장장치가 있고, 사용자 위치 파악해 주는 엔진과 그 위에서 애플리케이션이 구동된다. 이러한 아키텍처가 라우터나 셋톱박스, AP 등에 탑재될 수 있다. 즉, 전통적인 컴퓨팅 모델과 비교하면, 물리적인 디바이스와 인터넷 사이에 분산 플랫폼을 가지고 있는 것이다.



IoT를 통한 실시간 빅데이터 분석의 필요성 증대



IoT에서 수집하는 빅데이터의 증가로 인해 수집된 빅데이터를 분석하기 위해 저장할 수 있는 시간과 공간이 점차 줄어들고 있다. 이로 인해, 필요성이 증가하고 있는 것이 실시간 빅데이터 분석이다. 일반적인 데이터 분석은 데이터의 생성 시점과 분석 시점을 크게 고민할 필요가 없지만, 실시간 분석은 데이터가 생성되는 시점에 분석을 해야 하기 때문에 다양한 방법들이 연구되고 있다. 센서나 소셜 미디어에서 생성되는 시계열 데이터나 로그 데이터가 주 대상이며, 머신 데이터는 빅데이터 중에서도 증가세가 가장 빠른 영역이다. IoT 활용에서 실시간 빅데이터 분석의 중요성이 강조되는 이유는 IoT에서 수집하는 데이터가 워낙 방대하기 때문에 계속 쌓아놓고 데이터를 볼 경우 원하는 IoT 활용이 어렵기 때문이다. 그림4와 같은 방법으로 IoT를 활용한 실시간 데이터 분석이 가능하다. 


<그림4> 실시간 데이터 분석 방법 
 
출처: http://www.openwith.net/?page_id=976 



IoT와 빅데이터, 그리고 클라우드



IoT, 클라우드(Cloud), 빅데이터를 ‘제3의 IT혁명’이라고 불리고 있다. IoT 센서를 통해 빅데이터를 수집하고, 수집된 빅데이터를 정제하고 분석, 이를 다시 서비스하기까지 클라우드 환경이 구축되어 있어야 가능하기 때문이다. 실제 세상의 정보를 센서를 통해 수집하고, 이를 디지털화하여 정제, 분석한 후 디지털 세상에 저장하고, 분석된 결과를 실제 세상에 다시 제공한다. 실제 세상과 디지털 세상을 이어주는 역할을 클라우드가 하게 된다(그림2). 


<그림2> IoT, Cloud, Big data의 연결 
 
출처: SK Telecom - The ERA of Smart things 


지금까지도 수집된 데이터는 대부분 실시간으로 저장하는 경우가 많았다. 하지만, IoT가 쏟아내는 빅데이터의 양은 시간이 갈수록 기하급수적으로 늘어나기 때문에 데이터센터를 구축해도 감당하기 힘든 경우도 발생할 수 있다. 따라서, 센서에서 수집되는 데이터를 효율적으로 수집하고 분석하는 것도 중요하지만 효율적인 데이터 전송, 저장 방법도 중요한 요소로 남아있는 상태다.


2016년 10월 21일 금요일

4차 산업혁명과 소프트웨어

4차 산업 혁명



4차 산업혁명의 정의



                           전체 내용 보기

알고리즘과 데이터가 갖는 사회적 의미 - 이미지 인식

이미지 인식


왜 이미지 인식을 해야 하는가?

 Image Recognition Market worth 29.98 Billion USD by 2020 – MarketsandMarkets
 시각은 인간이 가진 감각기관 중 가장 편리하면서도 반복적으로 사용하는 정보입력기관
 이미지 검색은 이미지 이해를 통해서 고도화 - 구글
 이미지를 통한 관계, 취향, 행동 분석 – 페이스북
 자율 주행차의 기본 기능
 시각 장애인을 위한 사회적 기능


                                         더보기 


스마트디바이스 미래 융합미디어산업

사물인터넷(IoT)의 개념




 사물인터넷(IoT) - 새로운 국가 전략 추진 필요




2016년 10월 20일 목요일

소프트웨어 요구사항 명세서

소프트웨어 소프트웨어 품질 요구사항

템플릿 작성 가이드

<개발할 S/W 시스템의 특성 중 S/W 성능, S/W 용량, 신뢰성, 보안성, 사용성, 가용성, 유지보수성, 이식성, 확장성, 범위성, 구성용이성 등에 대한 비 기능적 요구사항들을 기술한다.>
소프트웨어의 품질을 측정할 수 있는 요구사항을 기록한다. 소프트웨어 요구사항으로는 다음과 같은 소프트웨어 품질을 다룬다.

응답성: 소프트웨어의 입력과 이에 대한 출력이 얼마나 빨리 계산할 수 있을지를 판단함
이식성: 일부 소프트웨어를 다른 하드웨어나 소프트웨어의 다른 레이어로 이식할 때 해당 이식작업이 얼마나 쉽고 효율적으로 진행되는지를 판단함

변경용이성: 소프트웨어 개선을 위해서 신규 소프트웨어 요구사항이 접수되었을 때 변경을 얼마나 쉽고 효율적으로 반영할 수 있을지를 판단함

유지보수성: 필드에서 발생하는 문제점의 원인 분석에서 수정 대응까지 걸리는 시간을 판단함. 혹은 유지보수 인원이 소프트웨어 개발 산출물을 사용하여 얼마나 쉽고 효율적으로 유지보수를 할 수 있을지를 판단함

이상의 품질 요구사항 이외에도, 각 팀에서 필요한 소프트웨어 품질 지표를 추가할 수 있다.




IoT 사례 연구 - LG 보안 사례

LG에서 제시하는 IoT 

보안 제품이 출시되기 전에 보안 취약점이 해결되지 않는다면 제품은 물론 서비스 자체에 큰 손실을 가져다 줄 수 있기 때문에 출시 전부터 보안에 대한 진단과 점검이 필요하다. LG에서는 디바이스, 앱, 게이트웨이, 네트워크, 서비스 등 IoT에서 발생할 수 있는 모든 영역에서 보안 취약점 분석이 이루어진다(그림6). 


<그림6> IoT 서비스 상의 보안 진단 범위 

 
출처: LG CNS 


LG는 각 영역 별로 상세한 보안 체크리스트가 제공되는데 IoT 보안, 스마트폰 앱 보안, 클라이언트/서버 보안, 클라우드 서버 보안으로 분류하고 있다. 클라이언트/서버 보안과 클라우드 서버 보안, 스마트폰 앱 보안의 경우는 기존 ICT에서 제시되는 보안 진단과 유사하게 구성되어 있고, IoT 보안 진단의 경우는 앞에서 얘기한 IoT 영역에 대해 전반적으로 진단되도록 구성되어 있다(그림7). 


<그림7> IoT 보안 체크리스트 


 출처: LG CNS 



애자일 프로젝트의 효율적인 협업 방안 - 2

Q: CBD 방법론이 처음에는 엄청난 반향을 일으켜 SI 프로젝트 방법론으로 많이 적용된 것으로 알고 있습니다. 오늘의 주제인 애자일과는 어떤 연관성이 있는지요? 
애자일이 처음 들어와서 CBD 방법론에 다소 오용된 경우가 있었는데요. 애자일도 점진적 반복이라는 기본 개념이 있기 때문이었습니다. 애자일이 좋아 보이는데 SI 프로젝트의 전체 프로세스에 적용하기는 어려울 것 같고, 이러다 보니 CBD 방법론의 이터레이션 부분에 애자일을 일부 적용해서 개발방법론을 수정한 경우가 종종 있었지요. 하지만, 이러한 시도는 애자일의 장점을 활용하는 것과는 거리가 있었습니다.


Q: 저도 기억이 납니다. 스크럼(Scrum) 개념을 개발방법론에 추가해서 사용했던 기억이 있네요. 애자일의 개념을 몰라서 그랬던 것으로 이해해야 할까요? 
아닙니다. 애자일의 장단점도 관점에 따라 여러 개가 나올 수 있죠. 그 때 당시에는 애자일이 대규모 SI 프로젝트에는 전면 적용하기가 어렵다는 의견이 많았습니다. 하지만, 새로운 시도를 위해 실패를 감내했던 것으로 봐야 할 것입니다. 여기서 말하는 새로운 시도는 스크럼에서 얘기하는 스프린트(Sprint)라는 일의 단위를 사용했다는데 의의를 둬야 할 것입니다(그림4). 


<그림4> 스크럼의 스프린트 

 출처: Wiki  


그림4를 보시면, 스프린트는 실행 가능한 제품 단위입니다. 다시 말해, 고객이 보면 이해를 할 수 있는 단위이지요. 이전의 SI 프로젝트에서는 고객에게 화면 설계, 데이터 설계, 프로세스 설계 같은 문서를 보여주는데 고객은 기술 단위가 아닌 자신이 일을 할 수 있는 단위로 보여주는 것이 이해하기가 훨씬 쉽습니다. 애자일을 적용하는 가장 큰 이유입니다. 
애자일 기반의 개발 순서에 대해 간략히 설명을 하면, 애자일에서는 개발 단위를 고객이 이해가 가능한, 완벽히 실행이 되는 단위로 계획을 세웁니다. 개발자들이 계획을 세우는 시점에 이것은 제품 백로그(Product Backlog)라고 불리고, 이 것은 개발이 되면서 스프린트라는 이름으로 완성이 됩니다. 마지막으로, 고객의 검수가 끝나면 완성된 스프린트는 다시 추가하거나 변경하는 작업을 하지 않습니다. SI 프로젝트와 가장 큰 차이가 있는 부분입니다. SI 프로젝트에서는 고객의 업무 단위가 아닌 개발자의 개발ID 단위이기 때문에 완성된 후에도 다른 개발ID에 따라 변경이 일어나는 경우가 다반사였지요. 

                                                   자세히 보기


2016년 10월 19일 수요일

소프트웨어 요구사항 명세서 - 빌딩 보안 시스템

빌딩보안시스템 빌딩보안시스템 은 빌딩의 보안을 위하여 위하여 다양한 다양한 센서를 센서를 관리하고 관리하고 알람을 알람을 확인하고 확인하고 처리하기 처리하기 위한 시스템이다 시스템이다 . 본 시스템은 시스템은 Event EventEvent -Bus Bus 패턴 이용한 이용한 빌딩보안시스템으로 빌딩보안시스템으로 빌딩보안시스템으로 빌딩보안시스템으로 사용자 사용자 화면으로 알람을 쉽게 확인 할수 있어야 있어야 하고 사용자 사용자 화면에서 화면에서 알람을 알람을 끄고 켤수 있어야 있어야 한다 . 유지보수자 유지보수자 입장 에서는 장애의 장애의 원인을 쉽게 파악할 파악할 수 있어야 있어야 한다 .




MDD에 대하여 - 개발툴, 소스분석, 코딩

개발툴, 소스분석, 코딩의 장단점



IoT 보안을 위한 개발 방향

Art Manion 은 카네기 멜론 대학 소프트웨어 엔지니어링 협회 (SEI) 취약점 분석 팀의 수석 연구원입니다. 2001년 CERT의 일원이 된 이후, Manion은 취약점, 협조 공개 활동, 공개 자문, 경보, CERT/CC 와 US-CERT의 취약성 노트를 연구해 왔습니다. 현재 Manion은 운영상 취약점 대응을 자동화하고 개선하기 위한 방법을 비롯하여 취약점 발견과 기타 실용적인 연구 부분에 집중하고있습니다. SEI에서 근무하기 전에는 Juniata 대학의 네트워크 인프라 책임자로 일했습니다 .


자동차, 인슐린 펌프, 아기 모니터부터 온도조절 장치, 커피 제조기까지 인터넷 연결 기기들의 종류와 복잡성이 증가하고 있습니다. 이들 IoT(Internet of Things) 기기들의 대부부은 연결성과 보안성을 고려하여 만들어진 것이 아니어서 공격에 취약한 상태입니다. 블루투스, 와이파이, 단거리 통신 등을 우리는 일상에서 쉽게 접하고 있습니다. 이를 기반으로 하는 기기들의 소프트웨어 아키텍처나 위협모델링을 검토한다면 여러 취약점을 잡아낼 수 있을 것입니다. 자동차, 비행기 등 안전필수기기(safety-critical devices)에 대해서는 개발할 때 특히 안전과 관련된 정책 고려사항이 적용되어야 하고, 테스팅 프로세스, 수리 절차 등이 엄격히 적용되어 출시전에 잘 지켜지도록 관리되어야 합니다.



2016년 10월 18일 화요일

2016년도 SW기업 품질대상 공모




IoT 사례 연구 - 보안 

최근 들어, IoT(Internet of Things)는 가트너(Gartner)를 비롯한 ICT 관련 전략 기술에 매번 선정되는 핵심 기술로 알려져 있다. 특히, 모바일 디바이스나 무선 네트워크 환경의 발전으로 IoT 디바이스의 활용 폭이 지속적으로 증대되고 있고, 빅데이터와 함께 다양한 산업에 접목시키려는 노력이 늘어나고 있다. IoT는 시장이나 활용처가 모호할 정도로 역할이 정해져 있지 않은 것처럼 보이지만 최근에는 거의 모든 산업에서 역할을 부여하고 있을 정도로 무한한 적용 범위를 나타내고 있다. 이번 회에서는 이렇게 급속도로 적용되는 상황에서 반드시 살펴봐야 하는 보안 문제에 대해 알아보기로 한다. 체계적인 보안 구성으로 효율적인 IoT 서비스가 제공되기를 기대한다. 

사례 연구 전 확인 사항 

IoT 보안 위협 수준 

모바일 디바이스와 무선 인터넷이 일반화 되면서 보안 문제는 지속적으로 증가하고 있다. 이런 상황에, 사물에 네트워크를 연결하여 활용하는 IoT의 보급은 보안 문제를 항상 안고 갈 수 밖에 없는 상황이다. 가전제품과 자동차와 같은 사람이 직접 사용하는 것에서부터 공장, 공공 장비 등의 기기들까지 이제 사회 생활 전반에 걸쳐 보안 위협이 노출되어 있는 상황이다(그림1). 


 <그림1> IoT 보안 위협 요소들 

 출처: LG CNS 

그림1에서 보는 것처럼, IoT는 네트워크를 통해 디바이스부터 서비스까지 거의 모든 부분에서 보안 이슈가 발생할 수 있다. 제품이나 부품을 많이 사용하는 디바이스에서는 검증되지 않은 부품 등을 통해 산업에서 사용하는 공급망 자체에 공격을 가할 수 있고 펌웨어를 통한 해킹으로 비인가 접속과 권한을 획득할 수 있다. 그리고, 원격 접속으로 인한 접속 권한 탈취와 네트워크 해킹으로 정보 노출, 위변조가 발생할 수도 있다. 네트워크에서는 정보 패킷 변조, 파밍, 인터페이스 해킹 등의 문제가 발생할 수 있고, 서비스는 이보다 더 심각한 결과를 초래할 수 있는데 서비스 자체에 대한 보안 문제도 있지만 디바이스나 네트워크 보안 문제로 인해 오염된 정보 서비스를 제공할 수도 있기 때문이다. 

IoT 보안을 다른 보안보다 더 심각하게 인식하는 이유는 사람을 통한 관리 없이 디바이스 자체적인 활동으로 정보 수집부터 서비스가 이루어지는 경우가 많기 때문이다. 다른 ICT 서비스는 사람이 모니터링 하거나 서비스에 대한 보안, 확인, 문제 발생시 대처를 하지만 IoT의 경우는 보안 문제가 발생해도 방치될 여지가 충분히 있기 때문에 서비스 전에 체계적인 보안 설계와 충분한 보안 점검이 필요하다. 

IoT가 보안에 취약한 큰 이유는 무선 네트워크는 구조적인 문제를 안고 있는데 냉장고, TV, 심지어 자동차까지도 무선 네트워크를 사용하기 때문에 거의 모든 전자제품에 보안 문제가 발생한다는 것이고, IoT 관련 디바이스가 대부분 저전력에서 사용되는 것으로 저사양이 대부분이기 때문에 해킹하기가 용이하다는 점, 그리고, IoT 관련 장비들이 너무 많이 나오기 때문에 표준화나 인증 수단이 못 따라간다는 것도 보안에 취약할 수 밖에 없는 구조다. 마지막으로, 각 산업에서는 ICT 지식이 부족하기 때문에 보안과 관련된 규제나 가이드라인을 제시하지 못하고 있는 것이 현실이다.

                자세히 보기

애자일 프로젝트의 효율적인 협업 방안 


우리나라에서 가장 많은 프로젝트 형태인 SI(System Integration)에서도 애자일(Agile) 프로젝트는 관심을 많이 받고 있다. 하지만, 요구사항 중심적이고 전통적인 방식에 많이 치중된 SI 프로젝트에서 애자일을 적용하기란 매우 어려운 것으로 알려져 있다. 이번 회에서는 원활한 커뮤니케이션과 적극적인 협업을 강조하는 애자일이 SI 프로젝트에 효율적으로 적용되는 방법에 대해 (주)Cocoon의 한용만 박사를 만나 자세한 사항을 들어본다.

Q: 본격적인 이야기 전에 애자일 적용 프로젝트에 대해 설명을 부탁 드립니다. 
SI 프로젝트는 관리 요소가 참 많습니다. 인력 관리부터 일정, 비용, 산출물, 무엇보다도 고객 관리가 필수지요. 다른 것들을 아무리 잘해도 고객 관리가 잘 못되면 실패한다는 얘기가 있을 정도로 소프트웨어를 고객 맘에 들게 하는 것은 매우 어려운 일 중에 하나입니다. 비단 SI 프로젝트가 아니라도 소프트웨어를 만드는 프로젝트는 대부분 모두 그럴 겁니다. 이런 상황에서 고객과 커뮤니케이션이 잘 통하게 한다는 애자일은 구세주가 아닐 수 없죠. 이미 2007년도 전후에 애자일이 현장 프로젝트에 적용되기 시작했었죠.


Q: 애자일 얘기 전에, 근본적인 궁금증이 있습니다. SI 프로젝트는 왜 실패율이 높은 건가요? 
SI 프로젝트는 장미 빛으로 시작합니다. 새로운 시스템을 도입하고 고객들이 사용하는 방식으로 일을 자동화 해주는 것이니 당연히 좋아할 수 밖에 없지요. 그런데, 프로젝트 끝날 무렵에는 실망과 다툼만 남는 것이 보통일 정도로 SI 프로젝트 성공은 많지 않습니다. 가장 큰 이유는 그림1에 나와 있습니다.


                                             자세히 보기

2016년 10월 17일 월요일

LG에서 제시하는 IoT



보안 제품이 출시되기 전에 보안 취약점이 해결되지 않는다면 제품은 물론 서비스 자체에 큰 손실을 가져다 줄 수 있기 때문에 출시 전부터 보안에 대한 진단과 점검이 필요하다. LG에서는 디바이스, 앱, 게이트웨이, 네트워크, 서비스 등 IoT에서 발생할 수 있는 모든 영역에서 보안 취약점 분석이 이루어진다(그림6). 


<그림6> IoT 서비스 상의 보안 진단 범위 

 
출처: LG CNS 


LG는 각 영역 별로 상세한 보안 체크리스트가 제공되는데 IoT 보안, 스마트폰 앱 보안, 클라이언트/서버 보안, 클라우드 서버 보안으로 분류하고 있다. 클라이언트/서버 보안과 클라우드 서버 보안, 스마트폰 앱 보안의 경우는 기존 ICT에서 제시되는 보안 진단과 유사하게 구성되어 있고, IoT 보안 진단의 경우는 앞에서 얘기한 IoT 영역에 대해 전반적으로 진단되도록 구성되어 있다(그림7). 


<그림7> IoT 보안 체크리스트 


 출처: LG CNS 



개방형 IoT 플랫폼



IoT 플랫폼은 범위가 넓고 다양한 컴포넌트들이 존재하기 때문에 고민해야 할 사항들이 매우 많다. 통합된 단일 플랫폼이 제공된다면 IoT 플랫폼 구성을 단순화 시킬 수 있기 때문에 보안 문제 해결에 상당히 도움이 될 것으로 보인다. 개방형 IoT 플랫폼으로 오픈소스가 주목을 받고 있는데 오픈소스는 상호 운용성을 기반으로 사실상 표준화가 자동으로 이루어진다는 장점이 있기 때문이다. 수많은 사물이 쏟아지는 IoT에서 상호 호환성을 확보하기 위해서는 오픈소스가 상당히 효과적이라 할 수 있다(그림5). 


<그림5> 개방형 IoT 플랫폼의 예 
 
출처: 전자부품연구원 - 개방형 IoT 소프트웨어 플랫폼 기술  


그림5를 살펴보면, “As is”에서 나타나는 다양한 기능들을 “To be”에서는 개방형 IoT 플랫폼으로 구성한 후, “IoT 제품”을 등록하고 “응용 소프트웨어”만 개발하도록 가이드 하고 있다. 기존에는 “As is”에 나타난 것을 모두 고민하고 개발해야 했지만 개방형 IoT 플랫폼에서는 “To be”와 같이 필요한 부분만 개발하면 되는 것이다.