KR20200132667A - 서버 및 이의 제어 방법 - Google Patents

서버 및 이의 제어 방법 Download PDF

Info

Publication number
KR20200132667A
KR20200132667A KR1020200026506A KR20200026506A KR20200132667A KR 20200132667 A KR20200132667 A KR 20200132667A KR 1020200026506 A KR1020200026506 A KR 1020200026506A KR 20200026506 A KR20200026506 A KR 20200026506A KR 20200132667 A KR20200132667 A KR 20200132667A
Authority
KR
South Korea
Prior art keywords
group
data
information
type
server
Prior art date
Application number
KR1020200026506A
Other languages
English (en)
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 삼성전자주식회사
Priority to EP20174366.3A priority Critical patent/EP3739490A1/en
Priority to PCT/KR2020/006353 priority patent/WO2020235858A1/en
Priority to US16/875,455 priority patent/US11657368B2/en
Publication of KR20200132667A publication Critical patent/KR20200132667A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

서버 및 이의 제어 방법이 개시된다. 본 개시의 서버는 회로를 포함하는 통신부, 복수의 그룹간의 데이터 공유 협약에 대한 정보 및 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장하는 메모리 및 제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 통신부를 통해 수신하면, 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하고, 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하고, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 제1 그룹의 외부 장치로 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하도록 통신부를 제어하는 프로세서를 포함할 수 있다.

Description

서버 및 이의 제어 방법{SERVER AND CONTROLLING METHOD OF DISPLAY DEVICE}
본 개시는 서버 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 데이터 공유에 대한 협약 및 사용자 동의 여부를 바탕으로 이종 그룹간의 데이터 공유를 제어하는 서버 및 이의 제어 방법에 관한 것이다.
최근 개인 정보 보호의 중요성이 대두되면서, 각 국가마다 개인 정보를 보호하기 위한 법률이 신설 및 개정되고 있으며, 각 기업마다 수집된 개인 정보를 활용 또는 공유할 때 필요한 절차에 대한 규정을 마련하고 있다.
한편, 개인 정보 보호를 위한 각종 법률 또는 규정과 실제 개인 정보를 공유하기 위한 시스템 프로세스가 유기적으로 결합되어 있지 않다. 따라서, 특정 그룹의 서버가 다른 그룹의 서버에게 개인 정보 공유를 요청한 경우, 다른 그룹의 서버는 공유할 것을 요청 받은 개인 정보를 특정 그룹의 서버와 공유하는 것이 각종 법률 또는 규정에 부합하는지 여부를 별도로 판단해야 한다는 한계가 존재한다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 이종 그룹간의 데이터 공유 요청 현황을 모니터링하고, 데이터 공유에 대한 협약 및 사용자 동의 여부를 바탕으로 이종 그룹간의 데이터 공유를 제어하는 서버 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시예에 따른, 서버는 회로를 포함하는 통신부, 복수의 그룹(Group)간의 데이터 공유 협약에 대한 정보 및 상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장하는 메모리 및 제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 상기 통신부를 통해 수신하면, 상기 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하고, 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하고, 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 상기 제1 그룹의 외부 장치로 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하도록 상기 통신부를 제어하는 프로세서를 포함할 수 있다.
한편, 본 개시의 일 실시예에 따른, 복수의 그룹간의 데이터 공유 협약에 대한 정보 및 상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장하는 메모리를 포함하는 서버의 제어 방법은, 제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 수신하면, 상기 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하는 단계, 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하는 단계 및 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 상기 제1 그룹의 외부 장치로 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하는 단계를 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시예에 따라, 서버는 이종 그룹간의 데이터 공유 요청 현황 및 공유 과정을 모니터링 및 제어함으로써, 이종 그룹 각각의 사용자는 자신의 개인 정보를 보호함과 동시에 데이터 공유에 대한 협약에 부합하도록 다른 그룹의 데이터를 활용할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 서버가 복수의 그룹 간의 데이터 공유를 제어하는 과정을 설명하기 위한 도면,
도 2는 본 개시의 일 실시예에 따른, 서버의 구성을 도시한 블록도,
도 3은 본 개시의 일 실시예에 따른, 각 그룹이 수집한 개인 정보에 대한 메타 데이터를 거버넌스 서버에 전송하는 과정을 설명하기 위한 순서도,
도 4는 본 개시의 일 실시예에 따른, 서버가 각 그룹간의 데이터 공유를 제어하는 방식을 설명하기 위한 시퀀스도,
도 5는 본 개시의 일 실시예에 따른, 서버가 각 그룹간의 데이터 공유를 제어하는 방식을 설명하기 위한 시퀀스도,
도 6은 본 개시의 일 실시예에 따른, 서버가 각 그룹의 데이터 공유를 제어하는 방식을 설명하기 위한 도면,
도 7은 본 개시의 일 실시예에 따른, 서버의 제어 방법을 설명하기 위한 순서도이다.
본 개시는 복수의 그룹간의 데이터 공유 요청 현황을 모니터링하고, 복수의 그룹 간의 데이터 공유 협약에 대한 정보 및 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 바탕으로 각 그룹 간의 데이터 공유를 제어 및 관리할 수 있는 서버(100) 및 그의 제어 방법에 관한 것이다. 즉, 본 개시의 서버(100)는 이종 서버 각각이 데이터 공유 협약이 존재하고 사용자가 동의한 범위 내에서 데이터를 자유롭게 공유 내지 활용할 수 있도록 제어할 수 있다.
한편, 본 개시를 설명함에 있어서, 데이터 공유 협약은 유럽 연합(EU) 가입국을 대상으로 시행되는 GDPR(General Data Protection Regulation)(또는, 일반 개인 정보 보호법)에 따른 DPA(Data Processing Agreement)(또는, 개인 정보 처리 계약)을 의미할 수 있다. 다만, 이는 일 실시예에 불과하며, 데이터 공유 협약은 복수의 그룹 각각이 상호간에 체결한 데이터 공유와 관련된 협약 또는 복수의 그룹 각각의 개인 정보 보호를 위해 공포한 법률일 수 있다.
그리고, 본 개시를 설명함에 있어서, 그룹(Group)은 기정의된 기준으로 구분 또는 분류되는 집단을 의미할 수 있다. 그룹의 예로는, 국가, 기업, 지역, 단체, 국제 조직(International Organization) 등이 있으며, 본 개시에서의 그룹은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 본 개시에 따른, 서버(또는, 클라우드(cloud))는 개인 정보의 주체로부터 동의 받은 목적으로만 개인 정보를 처리할 수 있다. 여기서, 개인 정보는 개인에 관한 정보로서 개인을 알아볼 수 있거나 다른 정보와 쉽게 결합하여 알아볼 수 있는 정보를 의미할 수 있다. 동의(consent)라는 것은 개인 정보의 주체가 진술 또는 적극적 행동을 통하여 자신의 개인 정보의 처리에 대한 긍정의 의사를 표현하는 것을 의미할 수 있다. 그리고, 개인 정보를 처리한다는 것은 개인 정보를 수집, 생성, 기록, 저장, 보유, 가공, 편집, 검색, 이용, 제공, 공개하는 행위 등을 의미할 수 있다.
그리고, 서버(또는, 클라우드)는 비식별화(de-identification)된 개인 정보에 대해서는 개인 정보의 주체의 동의 없이 처리할 수 있다. 여기서, 비식별화란 주체를 식별할 수 없도록 개인 정보 중 일부 또는 전부를 제거, 교환, 대체 등 또는 이와 유사한 동작을 수행하는 것을 의미할 수 있다. 비식별화의 예로는 개인 정보 중 일부를 가명화, 교환, 암호화하는 가명 처리(pseudonymization), 총계 처리(aggregation), 데이터 값 제거(data reduction), 범주화(data suppression), 데이터 마스킹(data masking)이 있으며, 본 개시에서의 비식별화는 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
비식별화 동작의 적정성은, 프라이버시(privacy) 노출에 대한 정량적인 위험성을 규정하는 프라이버시 보호 모델을 통하여 평가될 수 있다. 프라이버시 보호 모델의 예로는, k-익명성(anonymity) 모델, l-다양성(diversity) 모델, t-근접성(closeness) 모델, m-프라이버시 모델(privacy) 및 Differential Privacy 알고리즘을 수행하는 모델 등이 있으며, 본 개시에서의 프라이버시 보호 모델은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
그리고, 서버(또는, 클라우드)는, 다른 그룹(예를 들어, 국가 등)에 포함된 전자 장치로 수집한 개인 정보를 전송할 수 있다. 일 실시예로, 서버(또는, 클라우드)는 별도의 제한 없이 수집한 개인 정보를 다른 그룹에 포함된 전자 장치로 전송할 수 있다. 또 다른 실시예로, 서버가 포함된 그룹으로부터 전자 장치가 포함된 다른 그룹의 개인 정보 보호 수준이 서버가 포함된 그룹의 정보 보호 수준과 동등하다고 인정받은 경우, 서버(또는, 클라우드)는 다른 그룹에 포함된 전자 장치에 수집한 개인 정보를 전송할 수 있다. 또 다른 예로, 서버(또는, 클라우드)가 포함된 그룹으로부터 계약이 개인 정보를 보호할 수 있는 조약 또는 규정이 포함되었다는 승인을 받은 경우, 서버는 다른 그룹에 포함된 전자 장치에 수집한 개인 정보를 전송할 수 있다. 또 다른 실시예로, 서버가 포함된 그룹으로부터 허가를 받은 경우, 서버(또는, 클라우드)는 다른 그룹에 포함된 전자 장치에 수집한 개인 정보의 사본 데이터를 전송할 수 있다.
이하에서는 첨부한 도면을 참조하여 본 개시의 일 실시예에 대하여, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른, 서버(100)가 복수의 그룹 간의 데이터 공유를 제어하는 과정을 설명하기 위한 도면이다. 서버(100)는 복수의 그룹의 서버간의 데이터 공유를 제어하기 위한 서버로 중앙 서버, 또는 거버넌스(governance) 서버라고 표현될 수 있다. 따라서, 본 개시를 설명함에 있어서, 특정 그룹의 서버로 기재하지 않고 서버(100)라고 기재한 경우, 서버(100)는 중앙 서버 또는 거버넌스 서버를 의미한다.
한편, 도 1에 도시된 바와 같이, 서버(100)는 하나의 서버로 구현되어 있으나 이는 일 실시예에 불과하며 복수의 서버로 구현될 수 있다. 예를 들면, 도 1에 개시된 서버(100)는 복수의 그룹의 사용자에 대한 정보의 메타 데이터를 저장하는 메타 데이터 서버, 외부 장치로부터 수신된 신호를 통해 외부 장치에 대응되는 그룹 ID를 식별하는 계정 서버, 각 그룹 간의 데이터 공유 요청 등을 모니터링하고 액세스 토큰에 대한 정보를 제공하는 제어 서버 등을 포함할 수 있다.
그리고, 도 1에 도시된 바와 같이, 복수의 그룹의 서버(10,20,30)는 각 그룹에 포함되는 사용자에 대한 정보를 저장할 수 있다. 사용자에 대한 정보는 사용자의 개인 정보를 의미할 수 있으며, 사용자의 개인 정보는 사용자를 알아볼 수 있거나 다른 정보와 쉽게 결합하여 알아볼 수 있는 정보를 의미할 수 있다. 예를 들어, 사용자의 개인 정보는 개인의 이메일 주소, 사용자 얼굴, 디바이스 또는 디바이스 내의 어플리케이션의 사용 이력, 전화 번호 등을 포함할 수 있으며, 본 개시에서 사용자의 개인 정보는 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
도 1에 도시된 바와 같이, 제1 그룹의 외부 장치(10-1)로부터 제2 그룹(또는, 제2 그룹의 서버)에 포함된 제1 유형의 데이터를 요청하는 신호를 수신하면, 서버(100)는 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹 및 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별할 수 있다. 이 때, 제1 그룹의 외부 장치(10-1)은 제1 그룹에 속하는 사용자가 사용하는 전자 장치 또는 제1 그룹에서 제작되어 제1 그룹의 서버(10)에 저장된 정보의 전체 또는 일부를 활용할 수 있는 전자 장치를 의미할 수 있다. 도 1의 경우, 제1 그룹의 외부 장치(10-1)가 스마트폰으로 구현되어 있으나 이는 일 실시예에 불과하며, 외부 장치는 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 디스플레이 장치, 클라우드 또는 다른 종류의 서버, PDA, 의료기기, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 외부 장치는, 예를 들면, 텔레비전, 냉장고, 에어컨, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM) 중 적어도 하나를 포함할 수 있다.
일 실시예로, 제1 그룹의 서버(10)가 한국의 A사 서버이고, 제2 그룹의 서버(20)는 유럽의 A사 서버인 경우, 제1 그룹의 외부 장치(10-1)는 한국에서 사용되거나, 한국의 A사 서버에 저장된 정보를 사용되는 스마트 폰 일 수 있다. 한국에서 사용되는 스마트 폰이 유럽의 A사 서버에 저장된 유럽 사용자의 이 메일에 대한 정보를 요청한 경우, A사 전체 서버의 데이터 공유를 제어하는 서버는 각 국가 또는 지역에 위치한 A사 간의 데이터 공유 협약에 대한 정보를 바탕으로 한국의 A사와 유럽의 A사 간에 이메일에 대한 데이터 공유 협약이 존재하는지 여부를 식별할 수 있다.
한편, 복수의 그룹간의 데이터 공유 협약에 대한 정보는 복수의 그룹간의 복수의 데이터 유형 각각에 대한 데이터 공유 협약이 존재하는지 여부에 대한 정보를 포함할 수 있다. 예를 들어, 복수의 그룹간의 데이터 공유 협약에 대한 정보는 제1 그룹과 제2 그룹간에 디바이스 사용 이력에 대한 정보를 공유 협약이 존재하는지에 대한 정보를 포함할 수 있다.
복수의 그룹간의 데이터 공유 협약에 대한 정보는 매트릭스의 형태로 구성될 수 있다. 구체적으로, 복수의 그룹이 N(이 때, N은 2 이상의 자연수)개인 경우, 복수의 그룹간의 데이터 공유 협약에 대한 정보는 N X N 매트릭스(Matrix)로 구성될 수 있으며, 매트릭스에 포함된 원소(element)는 데이터 유형 별로 공유 협약 여부를 확인할 수 있는 벡터일 수 있다. 예를 들어, 복수의 그룹 간의 데이터 공유 협약에 대한 정보는 하기 수학식 1과 같이 구현될 수 있다.
Figure pat00001
수학식 1에서 M은 N 개의 그룹 상호간의 데이터 공유 협약에 대한 정보를 포함하는 매트릭스를 의미한다. 제1 그룹과 제2 그룹간의 데이터 공유 협약에 대한 정보는 M의 (1,2) 또는 (2,1) 성분에 위치한 벡터 형태로 구성된 정보일 수 있다.
수학식 1을 참조할 때, Jxy는 x그룹과 y그룹 간에 복수의 유형의 데이터 각각과 관련하여 데이터 공유 협약이 존재하는지 여부에 대한 정보를 포함하는 벡터를 의미한다. 만약 x그룹과 y그룹이 i번째 유형의 데이터에 대해 데이터 공유 협약을 맺은 경우, ji=1이고, 데이터 공유 협약을 맺지 않은 경우, ji=0일 수 있다. 그리고, 수학식 1의 L은 1 이상의 자연수일 수 있다. 따라서, 서버(100)는 매트릭스 및 벡터로 구현된 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별할 수 있다.
일 실시예로, 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 서버(100)는 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별할 수 있다. 구체적으로, 서버(100)는 제1 그룹의 외부 장치(10-1)로부터 수신된 신호에 대응되는 데이터 사용 방식(또는, 목적)을 식별할 수 있다. 예를 들어, 서버(100)는 제1 그룹의 외부 장치(10-1)로부터 수신된 신호를 통해 제1 그룹의 외부 장치(10-1)가 제2 그룹의 제1 유형의 데이터를 마케팅 목적 또는 리서치 목적으로 활용한다는 것을 식별할 수 있다. 그리고, 서버(100)는 제2 그룹의 사용자에 대한 정보의 메타 데이터를 통해 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 마케팅 목적 또는 리서치 목적이 포함되었는지 여부를 식별할 수 있다. 또 다른 실시예로, 제1 그룹과 상기 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하지 않는다고 식별되면, 서버(100)는 제1 그룹의 외부 장치(10-1)에게 제1 유형의 데이터를 공유할 수 없다는 신호를 전송할 수 있다.
한편, 사용자에 대한 정보의 메타 데이터는 사용자에 대한 정보의 유형 및 사용자가 동의한 데이터 사용 방식(또는, 목적)에 대한 정보를 포함할 수 있다. 메타 데이터는 하기 표 1과 같이 구현될 수 있다.
Dataset ID Personal information vector Usability vector Organization ID
da Ia Ua Oa
표 1에서 da는 메타 데이터에 대응되는 데이터 세트를 식별할 수 있는 ID를 의미하며, Ia(또는, Personal information vector)는 사용자에 대한 정보의 유형을 벡터 형태로 구성된 데이터를 의미하며, 하기 수학식 2로 구현될 수 있다. 수학식 2에서 L은 사용자에 대한 정보의 유형의 개수를 의미하며, 1 이상의 자연수를 의미한다. 그리고,
Figure pat00002
이 0이면 사용자에 대한 정보의 l번째 유형의 데이터가 포함되어 있지 않으며,
Figure pat00003
이 1이면 사용자에 대한 정보의 l번째 유형의 데이터가 포함되어 있음을 의미한다.
Figure pat00004
그리고, Ua는 사용자가 동의한 데이터 사용 방식에 대한 정보를 벡터 형태로 구성된 데이터를 의미하며, 하기 수학식 3과 같이 표현될 수 있다. 수학식 3에서 M은 사용자가 동의한 데이터 사용 방식(또는, 목적)의 개수를 의미하며, 1 이상의 자연수이다. 데이터 사용 방식(또는, 목적)은 예로, 마케팅 활용, 기계 학습 활용, 리서치 등이 있을 수 있으며 이에 한정되지 않는다. 그리고,
Figure pat00005
이 0이면 사용자가 m번째 데이터 활용 방식에 대해 동의하였음을 의미하며,
Figure pat00006
이 1이면 사용자가 m번째 데이터 활용 방식에 대해 동의하였을 의미한다.
Figure pat00007
그리고, Oa 는 각 그룹을 식별할 수 있는 ID를 의미하며, 서버(100)는 Oa를 통해 복수의 그룹 중 메타 데이터에 대응되는 그룹을 식별할 수 있다.
한편, 서버(100)에 다른 그룹의 데이터를 요청하는 신호를 전송하기 전, 복수의 그룹의 서버 각각은 수집한 사용자에 대한 정보의 메타 데이터를 생성하고 서버(100)에 전송할 수 있다. 예를 들어, 제1 그룹의 서버(10)는 수집한 제1 그룹에 포함된 사용자에 대한 정보를 구조화한 메타 데이터를 생성하여 서버(100)에 전송할 수 있다. 그리고, 제1 그룹에 포함된 사용자에 대한 정보에 수정 사항이 존재하여 메타 데이터가 변경된 경우, 제1 그룹의 서버(10)는 수정 정보를 서버(100)에 전송할 수 있다. 이와 관련된 실시예는 도 3을 참조하여 구체적으로 설명하도록 한다.
한편, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 서버(100)는 제1 그룹의 외부 장치(10-1)로 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송할 수 있다. 구체적으로, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 서버(100)는 제2 그룹의 서버(20)에게 기설정된 시간 동안 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 요청할 수 있다. 그리고, 제2 그룹의 서버(20)로부터 기설정된 시간 동안 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 수신하면, 서버(100)는 제1 그룹의 외부 장치(10-1)에게 제2 그룹의 서버(20)로부터 수신된 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송할 수 있다.
제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보는 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스 할 수 있는 액세스 토큰에 대한 정보를 포함할 수 있다. 따라서, 제1 그룹의 외부 장치(10-1)는 서버(100)로부터 수신된 액세스 토큰을 통해 제2 그룹의 제1 유형의 데이터가 저장된 영역을 액세스할 수 있으며, 액세스된 영역에서 기설정된 시간 동안 제1 유형의 데이터를 제2 그룹의 사용자가 동의한 것으로 식별된 사용 방식(또는, 목적)으로 활용할 수 있다.
한편, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하지 않았다고 식별되면, 서버(100)는 제1 그룹의 외부 장치(10-1)에게 제2 그룹의 제1 유형의 데이터를 공유 할 수 없다는 신호를 전송할 있다.
본 개시의 또 다른 실시예로, 제1 그룹의 외부 장치(10-1)는 제2 그룹의 특정 유형의 데이터가 아닌 제2 그룹의 데이터 전체를 요청하는 신호를 전송할 수 있다. 제1 그룹의 외부 장치(10-1)로부터 제2 그룹의 데이터 전체를 요청하는 신호를 수신하면, 서버(100)는 제1 그룹의 외부 장치(10-1)로부터 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹 간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별할 수 있다. 그리고, 서버(100)는 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 동의한 데이터 유형의 사용 방식(또는, 목적)을 식별할 수 있다.
그리고, 서버(100)는 제1 그룹과 제2 그룹 간에 데이터 공유 협약이 존재하는 유형의 데이터 및 상기 제2 그룹의 사용자가 동의한 데이터 사용 방식(또는, 목적)에 대한 정보를 제1 그룹의 외부 장치(10-1)에 전송할 수 있다. 그리고, 제1 그룹의 외부 장치(10-1)로부터 제2 그룹의 사용자가 동의한 데이터 사용 방식(또는, 목적)으로 데이터 공유 협약이 존재하는 제2 유형의 데이터를 요청하는 신호를 수신하면, 서버(100)는 제2 그룹의 제2 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 제1 그룹의 외부 장치(10-1)에 전송할 수 있다.
도 2는 본 개시의 일 실시예에 따른, 서버(100)의 구성을 도시한 블록도이다. 도 2에 도시된 바와 같이, 서버(100)는 메모리(110), 통신부(120), 프로세서(130), 입력부(140)를 포함할 수 있다. 다만, 도 2에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 서버(100)에 추가로 포함될 수 있다.
메모리(110)는 서버(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 그리고, 메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
특히, 메모리(110)는 프로세서(130)가 실행할 수 있는 적어도 하나의 프로그램에 대응되는 인스트럭션 집합(instruction set)을 저장할 수 있다. 인스트럭션은 프로그래밍 작성 언어에서 프로세서(130)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다.
그리고, 메모리(110)는 복수의 그룹 간의 데이터 공유 협약에 대한 정보 및 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장할 수 있다. 그리고, 메모리(110)는 특정 그룹의 서버로부터 수신된 특정 그룹의 서버에 저장된 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 저장할 수 있다.
그리고, 예를 들어, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 그리고, 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬(미도시), 램(미도시) 또는 서버(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(110)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
통신부(120)는 회로를 포함하며, 복수의 그룹의 서버, 복수의 그룹의 외부 장치 또는 다른 장치와의 통신을 수행할 수 있다. 구체적으로, 프로세서(130)는 통신부(120)를 통해 복수의 그룹의 서버, 복수의 그룹의 외부 장치 또는 다른 장치로부터 데이터 또는 정보를 수신 및 전송할 수 있다. 예를 들어, 통신부(120)는 복수의 그룹의 서버 각각으로부터 복수의 그룹 각각의 사용자에 대한 정보의 메타 데이터를 수신할 수 있다. 그리고, 통신부(120)는 복수의 그룹의 서버 각각으로부터 메타 데이터를 수정할 수 있는 정보를 수신할 수 있다.
또한, 통신부(120)는 특정 그룹의 외부 장치 또는 서버로부터 다른 그룹(또는, 그룹의 서버)가 수집한 데이터를 요청하는 신호를 수신할 수 있다. 이 때, 특정 그룹으로부터 수신된 수집한 데이터를 요청하는 신호에는 특정 그룹의 외부 장치를 식별할 수 있는 ID, 수집한 데이터를 활용하는 시간, 데이터의 사용 방식 등을 포함할 수 있다.
그리고, 통신부(120)는 복수의 그룹 각각의 서버로부터 복수의 그룹 각각의 서버에 수집된 데이터를 액세스할 수 있는 권한에 대한 정보를 수신할 수 있다. 그리고, 통신부(120)는 수신된 특정 그룹의 데이터를 액세스할 수 있는 권한에 대한 정보를 데이터를 요청한 서버에 전송할 수 있다.
그리고, 통신부(120)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(130)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 5G(5th generation) 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 중 적어도 하나를 포함할 수 있다.
프로세서(130)는 메모리(110)와 전기적으로 연결되어 서버(100)의 전반적인 동작을 수행할 수 있다. 본 개시를 설명함에 있어, 프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있으며, CPU(Central Processing unit)과 같은 범용 프로세서로 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(130)는 GPU(graphics-processing Unit), VPU (Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서로 구현될 수 있음은 물론이다.
본 개시의 일 실시예로, 제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 통신부(120)를 통해 수신하면, 프로세서(130)는 메모리(110)에 저장된 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별할 수 있다. 프로세서(130)가 제1 그룹의 외부 장치로부터 수신된 요청 신호는 하기 표 2와 같이 구성될 수 있다.
Requested user ID Dataset ID Usability Request vector Usage Period
Figure pat00008
Figure pat00009
Figure pat00010
[
Figure pat00011
,
Figure pat00012
]
표 2에
Figure pat00013
는 제1 그룹의 외부 장치를 식별할 수 있는 외부 장치 ID이며,
Figure pat00014
는 제1 그룹의 외부 장치가 요청하는 그룹의 데이터 집합을 식별할 수 있는 ID이다. 그리고,
Figure pat00015
는 제1 그룹의 외부 장치가 제2 그룹의 제1 유형의 데이터를 활용하고자 하는 방식(또는, 목적)을 나타내는 데이터이며, 하기 수학식 4와 같이 벡터의 형태로 구성될 수 있다.
Figure pat00016
Figure pat00017
은 데이터를 m 번째 사용 방식(또는, 목적)으로 활용할 것을 요청하는지 여부를 식별할 수 있는 값이다. 이 때, 사용 방식은 마케팅 활용, 기계 학습 활용, 리서치 등 M 개의 사용 방식(또는, 목적)의 유형이 있을 수 있다. 그리고,
Figure pat00018
이 1이면, 제1 그룹의 외부 장치가 제2 그룹의 제1 유형의 데이터를 m번째 사용 방식으로 활용할 것을 요청한다는 것을 의미하며,
Figure pat00019
이 0이면, 제1 그룹의 외부 장치가 제2 그룹의 제1 유형의 데이터를 m번째 사용 방식으로 활용할 것을 요청하지 않는다는 것을 의미할 수 있다.
그리고, [
Figure pat00020
,
Figure pat00021
]는 제1 그룹의 외부 장치가 제2 그룹의 제1 유형의 데이터를
Figure pat00022
부터
Figure pat00023
까지 기간 동안 활용할 것을 요청한다는 것을 의미할 수 있다.
한편, 프로세서(130)는 제1 그룹의 외부 장치로부터 수신된 요청 신호에 포함된 제1 그룹의 외부 장치 ID(
Figure pat00024
또는, Requested user ID)를 통해 제1 그룹의 ID(Oa 또는, Organization ID)를 식별할 수 있다. 그리고, 프로세서(130)는 메모리(110)에 저장된 복수의 그룹간의 데이터 공유 협약에 대한 정보 중 제1 그룹과 제2 그룹 간의 데이터 공유에 대한 협약에 대한 정보를 식별할 수 있다. 예를 들어, 복수의 그룹간의 데이터 공유 협약에 대한 정보가 수학식 1과 같이 N X N 매트릭스의 형태로 구성된 경우, 프로세서(130)는 매트릭스 M의 복수의 성분 중 (1,2)에 위치한 성분 즉, 제1 그룹과 제2 그룹 간의 데이터 공유에 대한 협약에 대한 정보가 포함된 벡터(J1,2)를 식별할 수 있다.
그리고, 프로세서(130)는 제1 유형의 데이터와 관련하여 제1 그룹과 제2 그룹 간의 데이터 공유 협정이 존재하는지 여부를 식별하기 위해 벡터 J1,2 중 제1 유형의 데이터에 대응되는 원소가 1인지 여부를 식별할 수 있다. 제1 유형의 데이터에 대응되는 원소가 J1,2 중 첫 번째 요소인 j1인 경우, 벡터 J1,2 중 첫 번째 요소인 j1가 1이면, 프로세서(130)는 제1 유형의 데이터와 관련하여 제1 그룹과 제2 그룹간의 데이터 공유 협정이 존재하는 것으로 식별할 수 있다. 그리고, j1가 0이면, 프로세서(130)가 제1 유형의 데이터와 관련하여 제1 그룹과 제2 그룹간의 데이터 공유 협정이 존재하지 않는 것으로 식별할 수 있다.
일 실시예로, 프로세서(130)는 상술한 실시예를 하기 수학식 5를 통해 수행할 수 있다. 예를 들면, 하기 수학식 5에 따르면, j1가 1이고, i1이 1(이 때, i1이 1이라는 것은 제2 그룹의 사용자와 관련된 정보 중 제1 유형의 데이터가 포함되어 있음을 의미한다.)인 경우,
Figure pat00025
값은 0이므로, Vpersonal 값은 1이다. 따라서, Vpersonal 값은 1 이므로, 프로세서(130)는 제1 그룹과 제2 그룹 간의 제1 유형의 데이터에 대해 데이터 공유 협정이 존재하는 것으로 식별할 수 있다.
Figure pat00026
제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 프로세서(130)는 메모리(120)에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별할 수 있다. 구체적으로, 프로세서(130)는 제1 그룹의 외부 장치로부터 수신된 신호에 대응되는 데이터 사용 방식(또는, 목적)을 식별할 수 있다. 표 2에 도시된 바와 같이, 제1 그룹의 외부 장치로부터 수신된 요청 신호에는 제1 그룹의 외부 장치가 데이터를 사용하고자 하는 방식에 대한 정보가 벡터(
Figure pat00027
) 형태로 구성될 수 있다.
그리고, 프로세서(130)는 제1 그룹의 외부 장치로부터 수신된 요청 신호에 포함된 벡터(
Figure pat00028
)와 제2 그룹의 사용자에 대한 정보의 메타 데이터 중 사용자가 동의한 사용 방식에 대한 정보가 포함된 벡터(Ua)를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별할 수 있다. 예를 들어, 프로세서(130)는 하기 수학식 6을 통해 제2 그룹의 사용자가 제1 그룹의 외부 장치가 요청하는 데이터 사용 방식(또는, 목적)에 대해 동의하였는지 여부를 식별할 수 있다.
Figure pat00029
예를 들어, 제1 그룹의 외부 장치가 마케팅 및 리서치를 위하여 제2 그룹의 제1 유형의 데이터를 요청하고, 마케팅 및 리서치 용도가 벡터(
Figure pat00030
) 중 첫번째 및 세번째 요소와 대응되는 경우,
Figure pat00031
중 첫번째(r1) 및 세번째 요소(r3)는 1일 수 있다. 그리고, 제2 그룹의 사용자는 마케팅 용도로는 데이터 활용에 동의하지 않고 리서치 용도로 동의한 경우, 메타 데이터에 포함된 Ua의 첫번째 요소(u1)는 0이고 세번째 요소(u3)는 1이다. 따라서, u1-r1는 -1이고 Vusability는 0이므로, 프로세서(130)는 제2 그룹의 사용자가 마케팅을 위해 데이터를 활용하는 것은 동의하지 않은 것으로 식별할 수 있다. 그리고, u3-r3는 0이고 Vusability는 1이므로, 프로세서(130)는 제1 그룹의 사용자가 리서치를 위해 데이터를 활용하는 것은 동의한 것으로 식별할 수 있다.
그리고, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 프로세서(130)는 제1 그룹의 외부 장치로 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하도록 통신부(120)를 제어할 수 있다. 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보는 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스 할 수 있는 액세스 토큰에 대한 정보를 포함할 수 있다. 이 때, 기설정된 시간은 제1 그룹의 외부 장치의 요청 신호에 포함된
Figure pat00032
부터
Figure pat00033
까지의 시간일 수 있다.
일 실시예로, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 프로세서(130)는 제2 그룹의 서버로 제1 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 요청하는 신호를 전송하도록 통신부(120)를 제어할 수 있다. 그리고, 프로세서(130)는 제2 그룹의 서버로부터 수신된 권한에 대한 정보를 제1 그룹의 외부 장치에 전송할 수 있다.
또 다른 실시예로, 프로세서(130)는 특정 그룹의 서버에 수집된 데이터를 접근할 수 있는 액세스 토큰에 대한 정보를 특정 그룹의 서버로부터 통신부(120)를 통해 미리 수신하고, 기정의된 조건을 만족할 경우에 액세스 토큰에 대한 정보를 다른 그룹에 전송할 수 있는 권한을 부여받을 수 있다. 이 때, 기정의된 조건은 특정 그룹과 다른 그룹간에 데이터 공유 협정이 존재하는지 여부 및 각 그룹의 사용자가 데이터 활용에 동의하였는지 여부일 수 있다. 예를 들어, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 프로세서(130)는 데이터를 활용할 수 있는 기설정된 시간을 포함한 액세스 토큰에 대한 정보를 제1 그룹의 외부 장치에 전송할 수 있다. 따라서, 제1 그룹의 외부 장치는 수신된 액세스 토큰을 이용하여 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스할 수 있다.
한편, 제1 그룹과 제2 그룹간에 제1 유형의 데이터 공유에 대한 협약이 존재하지 않는다고 식별되거나, 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 제1 그룹의 외부 장치가 요청한 사용 방식이 포함되어 있지 않은 경우, 프로세서(130)는 제1 그룹의 외부 장치에게 제1 유형의 데이터를 공유할 수 없다는 신호를 전송하도록 통신부(120)를 제어할 수 있다.
본 개시의 또 다른 실시예로, 제1 그룹의 외부 장치로부터 제3 그룹의 데이터를 요청하는 신호를 통신부(120)를 통해 수신하면, 프로세서(130)는 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제3 그룹 간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별할 수 있다. 구체적으로, 제1 그룹의 외부 장치는 제3 그룹의 특정 유형의 데이터를 요청하는 것이 아니라 제3 그룹의 데이터 전체를 요청하는 신호를 프로세서(130)에게 전송할 수 있다. 이 때, 프로세서(130)는 N X N 매트릭스로 구성된 복수의 그룹간의 데이터 공유 협약에 대한 정보 중 (1,3) 또는 (3,1)에 위치한 J1.3 또는 J3.1의 벡터에서 어떤 요소가 1인지 여부를 식별할 수 있다. 예를 들어, J1.3 중 이메일 및 전화 번호에 대해 데이터 공유 협약이 존재하고, 이메일 및 전화 번호가 첫번째 및 세번째 요소에 대응되는 경우, j1 및 j3의 값이 1일 수 있다. 따라서, 프로세서(130)는 j1 및 j3의 값이 1이므로, 복수의 데이터 유형 중 이메일 및 전화 번호에 대해 데이터 공유 협약이 존재하는 것으로 식별할 수 있다.
그리고, 프로세서(130)는 메모리(110)에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제3 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제3 그룹의 사용자가 동의한 식별된 데이터 유형의 사용 방식을 식별할 수 있다. 예를 들어, 프로세서(130)는 제3 그룹의 사용자에 대한 정보의 메타 데이터를 통해 제3 그룹의 사용자가 리서치 용도의 데이터 공유만을 동의한 것을 식별할 수 있다.
그리고, 프로세서(130)는 식별된 데이터 유형 및 제3 그룹의 사용자가 동의한 것으로 식별된 사용 방식에 대한 정보를 제1 그룹의 외부 장치에 전송하도록 통신부(120)를 제어할 수 있다. 예를 들어, 프로세서(130)는 제3 그룹의 데이터 중 이메일 및 전화번호에 대한 정보를 리서치 용도로만 활용할 수 있다는 정보를 제1 그룹의 외부 장치에 전송할 수 있다.
그리고, 제1 그룹의 외부 장치로부터, 통신부(120)를 통해, 식별된 데이터 유형 중 제2 유형의 데이터를 제3 그룹의 사용자가 동의한 데이터 사용 방식으로 사용하기 위하여 제2 유형의 데이터를 요청하는 신호를 수신하면, 프로세서(130)는 제2 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 제1 그룹의 외부 장치로 전송하도록 통신부(120)를 제어할 수 있다. 예를 들어, 제1 그룹의 외부 장치로부터 이메일에 대한 정보를 리서치 용도로 활용하기 위하여 이메일에 대한 정보를 요청하는 신호를 통신부(120)를 통해 수신하면, 프로세서(130)는 요청 신호에 포함된 기설정된 시간 동안 제3 그룹의 사용자의 이메일에 대한 정보를 액세스할 수 있는 액세스 토큰에 대한 정보를 제1 그룹의 외부 장치에 전송할 수 있다.
입력부(140)는 회로를 포함하며, 프로세서(130)는 입력부(140)를 통해 서버(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 입력부(140)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다.
특히, 입력부(140)를 통해 특정 그룹의 서버에게 특정 그룹의 서버에 저장된 특정 데이터를 액세스하기 위한 권한에 대한 정보를 요청하는 신호를 요청하기 위한 명령을 입력받을 수 있다.
도 3은 본 개시의 일 실시예에 따른, 각 그룹이 수집한 개인 정보에 대한 메타 데이터를 거버넌스 서버(100)에 전송하는 과정을 설명하기 위한 순서도이다.
복수의 그룹 중 제1 그룹의 서버(10-1)는 제1 그룹에 포함된 사용자에 대한 정보를 획득하고, 제1 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 생성할 수 있다(S310). 구체적으로, 제1 그룹의 서버(10-1)는 수집한 사용자에 대한 정보를 유형 별로 분류하고, 표 1에 개시된 바와 같이 메타 데이터의 일 요소인 Personal information vector를 구성할 수 있다. 예를 들어, Personal information vector의 첫 번째 원소에 대응되는 정보가 이메일이고, 제1 그룹의 사용자로부터 이메일 정보를 수집한 경우, 제1 그룹의 서버(10-1)는 Personal information vector 중 첫번째 원소를 1로 설정할 수 있다.
그리고, 제1 그룹의 서버(10-1)는 사용자가 동의한 데이터 사용 방식(또는, 목적)을 식별하고, 식별된 데이터 사용 방식(또는, 목적)을 바탕으로 메타 데이터의 일 요소인 Usability vector를 구성할 수 있다. 예를 들어, Usability vector의 첫 번째 요소에 대응되는 사용 방식이 마케팅이고, 제1 그룹의 사용자가 마케팅 용도로 데이터를 활용하는 것에 대해 동의한 경우, 제1 그룹의 서버(10-1)는 Usability vector 중 첫번째 요소를 1로 설정할 수 있다.
그리고, 제1 그룹의 서버(10)는 제1 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 서버(100)에 전송할 수 있다(S320). 그리고, 서버(100)는 제1 그룹의 서버(10-1)로부터 수신한 제1 그룹의 사용자에 대한 정보의 메타 데이터를 저장할 수 있다(S330). 그리고, 서버(100)는 저장한 메타 데이터를 바탕으로 제1 그룹과 다른 그룹 간의 데이터 공유를 제어할 수 있다.
한편, 제1 그룹의 서버(10-1)는 제1 그룹에 포함된 사용자로부터 수정 정보를 획득할 수 있다(S340). 예를 들어, 제1 그룹의 사용자들이 특정 데이터 사용 방식에 대해 동의하지 않거나, 새로운 유형의 데이터가 수집되는 등, 제1 그룹의 서버(10-1)는 수집된 사용자에 대한 정보가 변경된 경우, 변경된 사항에 대응되도록 메타 데이터를 수정할 수 있다. 그리고, 제1 그룹의 서버(10-1)는 서버(100)에게 메타 데이터에 대한 수정 정보를 전송할 수 있다(S350).
그리고, 서버(100)는 제1 그룹의 서버(10-1)로부터 수신된 수정 정보를 바탕으로 제1 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 수정할 수 있다(S360). 따라서, 서버(100)는 갱신된 메타 데이터를 바탕으로 제1 그룹과 다른 그룹 간의 데이터 공유를 제어할 수 있다.
도 4는 본 개시의 일 실시예에 따른, 서버(100)가 각 그룹간의 데이터 공유를 제어하는 방식을 설명하기 위한 시퀀스도이다. 서버(100)가 각 그룹의 서버로부터 메타 데이터를 수신하는 과정은 도 3을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.
우선, 제1 그룹의 외부 장치(10-1)는 서버(100)에 저장된 복수의 그룹의 사용자에 대한 정보의 메타 데이터를 요청하는 신호를 전송할 수 있다(S410). 한편, 이는 일 실시예에 불과하며, 제1 그룹의 외부 장치(10-1)는 복수의 그룹 중 특정 그룹의 사용자에 대한 정보의 메타 데이터를 요청하는 신호를 서버(100)에 전송할 수 있다. 그리고, 서버(100)는 제1 그룹의 외부 장치(10-1)에게 복수의 그룹(또는, 제1 그룹의 외부 장치(10-1)가 요청한 특정 그룹)의 사용자에 대한 정보의 메타 데이터를 전송할 수 있다(S420).
그리고, 제1 그룹의 외부 장치(10-1)는 수신한 복수의 그룹(또는, 특정 그룹)의 사용자에 대한 정보의 메타 데이터를 통해 서버(100)에 요청할 데이터를 검색할 수 있다(S430). 제2 그룹의 제1 유형의 데이터가 필요하다고 식별된 경우, 제1 그룹의 외부 장치(10-1)는 서버(100)에 제2 그룹의 제1 유형의 데이터를 요청하는 신호를 전송할 수 있다(S440). 한편, 요청 신호는 표 2와 같이 구성될 수 있다. 요청 신호를 수신하면, 서버(100)는 복수의 그룹간 데이터 공유에 대한 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터에 대한 협약이 존재하는지 여부를 식별할 수 있다(S450). 예를 들어, 서버(100)는 수학식 1과 같이 N X N 매트릭스 형태로 구성된 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터에 대한 협약이 존재하는지 여부를 식별할 수 있다. 구체적으로, 서버(100)는 제1 그룹과 제2 그룹간의 데이터 협약 존재 여부를 식별하기 위해 매트릭스 중 (1,2) 또는 (2,1)에 위치한 벡터 J1,2 또는 J2,1를 식별할 수 있다. 그리고, 서버(100)는 벡터 J1,2 또는 J2,1 중 제1 유형의 데이터에 대응되는 요소의 값이 1 또는 0인지 여부를 식별할 수 있다. 예를 들면, 제1 유형의 데이터에 대응되는 요소의 값이 0인 경우, 서버(100)는 제1 그룹과 제2 그룹간에 제1 유형의 데이터에 대한 협약이 존재하지 않은 것으로 식별하고, 제1 그룹의 외부 장치(10-1)에 제1 유형의 데이터를 공유할 수 없다는 신호를 전송할 수 있다(S460).
또 다른 예로, 제1 유형의 데이터에 대응되는 요소의 값이 1인 경우, 서버(100)는 제1 그룹과 제2 그룹간의 데이터에 대한 협약이 존재하는 것으로 식별하고, 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별할 수 있다(S470). 구체적으로, 서버(100)는 제1 그룹의 외부 장치(10-1)로부터 수신된 요청 신호에 대응되는 사용 방식(또는, 목적)을 식별할 수 있다. 예를 들어, 제1 그룹의 외부 장치(10-1)로부터 수신된 요청 신호가 표 2와 같이 구성된 경우, 서버(100)는 Usability Request vector를 통해 제1 그룹의 외부 장치(10-1)가 요청하는 데이터 사용 방식(또는, 목적)을 식별할 수 있다. 그리고, 서버(100)는 제2 그룹의 사용자에 대한 정보의 메타 데이터를 통해 제1 그룹의 외부 장치(10-1)가 요청한 사용 방식(또는, 목적)에 대해 사용자가 동의하였는지 여부를 식별할 수 있다.
일 실시예로, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하지 않았다고 식별되면, 서버(100)는 제1 그룹의 외부 장치(10-1)에게 제1 유형의 데이터를 공유할 수 없다는 신호를 전송할 수 있다(S480). 또 다른 실시예로, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 서버(100)는 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 제1 그룹의 외부 장치(10-1)에게 전송할 수 있다(S490).
일 실시예로, 서버(100)는 제2 그룹의 서버(20)에게 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 요청할 수 있다. 그리고, 서버(100)는 제2 그룹의 서버(20)로부터 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스 할 수 있는 액세스 토큰에 대한 정보를 수신할 수 있다. 이 때, 기설정된 시간은 표 2에 도시된 바와 같이 제1 그룹의 외부 장치(10-1)로부터 수신된 요청 신호에 포함될 수 있다.
또 다른 실시예로, 서버(100)는, 제3 그룹으로부터, 특정 유형의 데이터에 액세스할 수 있는 권한에 대한 정보를 수신하고, 기정의된 조건을 만족하면 권한에 대한 정보를 다른 그룹으로 전송할 수 있는 권한을 미리 부여 받을 수 있다. 따라서, 서버(100)는 미리 수신된 권한에 대한 정보에 제1 그룹의 외부 장치(10-1)가 요청한 기설정된 시간을 포함하여 제1 그룹의 외부 장치(10-1)에 전송할 수 있다. 그리고, 제1 그룹의 외부 장치(10-1)는 수신된 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 통해 제1 유형의 데이터가 저장된 영역에 액세스할 수 있다(S495).
도 5는 본 개시의 일 실시예에 따른, 서버(100)가 각 그룹간의 데이터 공유를 제어하는 방식을 설명하기 위한 시퀀스도이다. 서버(100)가 각 그룹의 서버로부터 메타 데이터를 수신하는 과정은 도 3을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.
우선, 제1 그룹의 외부 장치(10-1)는 서버(100)에게 제3 그룹의 데이터를 요청하는 신호를 전송할 수 있다(S510). 요청 신호는 표 2와 같이 구성될 수 있다. 제3 그룹의 데이터에 대한 요청 신호를 제1 그룹의 외부 장치(10-1)로부터 수신하면, 서버(100)는 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제3 그룹간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별할 수 있다(S520). 일 실시예로, 서버(100)는 수학식 1과 같이 매트릭스 형태로 구성된 복수의 그룹간의 데이터 공유 협약에 대한 정보 중 제1 그룹과 제3 그룹간의 데이터 공유 협약에 대한 정보가 포함된 벡터 J1,3 또는 J3,1을 식별할 수 있다. 그리고, 서버(100)는 벡터 J1,3 또는 J3,1 에 포함된 원소 중 값이 1인 원소에 대응되는 데이터의 유형을 식별할 수 있다. 예를 들어, J1,3 중 첫번째 원소가 1이고, 첫번째 원소에 대응되는 데이터의 유형이 이메일인 경우, 서버(100)는 제1 그룹과 제3 그룹간의 이메일 정보에 대한 데이터 공유 협약이 존재하는 것으로 식별할 수 있다.
그리고, 서버(100)는 제3 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제3 그룹의 사용자가 동의한 식별된 데이터 유형의 사용 방식(또는, 목적)을 식별할 수 있다(S530). 구체적으로, 서버(100)는 표 1과 같이 구성된 메타 데이터 중 Usability vector를 통해 제3 그룹의 사용자가 동의한 사용 방식(또는, 목적)에 대한 정보를 식별할 수 있다.
그리고, 서버(100)는 식별된 데이터 유형 및 제3 그룹의 사용자가 동의한 사용 방식(또는, 목적)에 대한 정보를 제1 그룹의 외부 장치(10-1)에 전송할 수 있다(S540). 구체적으로, 서버(100)는 제1 그룹과 제3 그룹 간의 데이터 공유 협약이 존재하는 것으로 식별된 데이터 유형 및 제3 그룹의 사용자가 동의한 데이터 사용 방식에 대한 정보를 제1 그룹의 외부 장치(10-1)에 전송할 수 있다. 그리고, 제1 그룹의 외부 장치(10-1)는 서버(100)로부터 수신된 정보를 바탕으로 식별된 데이터 유형 중 제2 유형의 데이터를 요청하는 신호를 서버(100)에 전송할 수 있다. 즉, 제1 그룹의 외부 장치(10-1)는 데이터 협약이 존재하는 데이터 유형 및 제3 그룹의 사용자가 동의한 사용 방식(또는, 목적) 내에서 제3 그룹의 데이터를 요청하는 신호를 서버(100)에 전송할 수 있다.
예를 들어, 제2 유형의 데이터와 관련하여 제1 그룹과 제3 그룹간에 데이터 공유 협정이 존재한 경우, 제3 그룹의 제2 유형의 데이터를 제3 그룹의 사용자가 동의한 사용 방식(또는, 목적)으로 사용하겠다는 요청 신호를 수신하면, 서버(100)는 제3 그룹의 제2 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송할 수 있다(S560). 일 실시예로, 제3 그룹의 제2 유형의 데이터를 요청하는 신호를 수신하면, 서버(100)는 먼저 제3 그룹의 서버(40)로부터 제2 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 요청하는 신호를 전송할 수 있다. 요청 신호를 수신하면, 제3 그룹의 서버(40)는 제2 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 액세스 토큰에 대한 정보를 서버(100)에 전송할 수 있다. 그리고, 서버(100)는 기설정된 시간 동안 제3 그룹의 제2 유형의 데이터를 액세스할 수 있는 액세스 토큰에 대한 정보를 제1 그룹의 외부 장치(10-1)에 전송할 수 있다.
또 다른 실시예로, 서버(100)는, 제3 그룹으로부터, 제2 유형의 데이터에 액세스할 수 있는 권한에 대한 정보를 수신하고, 기정의된 조건을 만족한 경우 권한에 대한 정보를 다른 그룹으로 전송할 수 있는 권한을 미리 부여 받을 수 있다. 이 때, 기정의된 조건은 제1 그룹과 제3 그룹간에 제2 유형의 데이터 공유 협정이 존재하는지 여부 및 제3 그룹의 사용자가 데이터 활용에 동의하였는지 여부일 수 있다. 기정의된 조건이 만족한 경우, 서버(100)는 미리 수신된 권한에 대한 정보에 제1 그룹의 외부 장치(10-1)가 요청한 기설정된 시간을 포함하여 제1 그룹의 외부 장치(10-1)에 전송할 수 있다. 그리고, 제1 그룹의 외부 장치(10-1)는 제3 그룹의 제2 유형의 데이터가 저장된 영역을 액세스할 수 있다(S570).
도 6은 본 개시의 일 실시예에 따른, 서버가 각 그룹의 데이터 공유를 제어하는 방식을 설명하기 위한 도면이다. 도 6에 도시된 바와 같이, 제1 그룹의 외부 장치(620)는 A사의 디스플레이 장치로 구현되고, 제2 그룹의 외부 장치(600)는 B사의 스마트폰으로 구현되고, 거버넌스 서버(100)는 B 사의 서버(또는, 클라우드)로 구현될 수 있다. 다만, 이는 일 실시예에 불과하며 그룹은 국가, 지역, 단체, 국제 기관, 기업 등으로 다양하게 구현될 수 있으며, 외부 장치도 다양한 전자 장치로 구현될 수 있음은 물론이다.
도 6의 (a)에 도시된 바와 같이, B사의 스마트폰(600)은 사용자 명령에 의해 영상 컨텐츠를 표시할 수 있다. 그리고, B사의 스마트폰(600)은 사용자가 시청한 영상 컨텐츠에 대한 정보(예를 들어, 영상 컨텐츠의 제목, 영상 컨텐츠를 재생한 날짜, 영상 컨텐츠를 재생하기 위해 실행한 어플리케이션, 영상 컨텐츠의 재생 시간에 대한 정보 등)를 B사의 서버에 전송할 수 있다.
그리고, 도 6의 (b)에 도시된 바와 같이, A사의 디스플레이 장치(620)는 사용자로부터 '금요일에 스마트폰으로 보던 영화 틀어줘'라는 음성을 입력받을 수 있다. A사의 디스플레이 장치(620)는 입력된 사용자 음성을 인식하고, 사용자의 스마트폰과 연결된 B사의 서버(또는, 클라우드)로 금요일에 스마트폰으로 보던 영화에 대한 정보를 요청하는 신호를 전송할 수 있다. 일 실시예로, A 사의 디스플레이 장치(620)에는 사용자 스마트폰에 대한 정보 또는 사용자 스마트폰에 대응되는 사용자 계정으로 로그인된 B사의 서버(또는 클라우드)에 대한 정보가 저장되어 있을 수 있다. 따라서, A사의 디스플레이 장치(620)는 저장된 사용자 스마트폰에 대한 정보 또는 사용자 스마트폰에 대응되는 계정으로 로그인된 B사의 서버(또는, 클라우드)로 금요일에 사용자가 스마트폰으로 보던 영화에 대한 정보를 요청하는 신호를 수신할 수 있다. 이 때, A 사의 디스플레이 장치(620)가 B사의 서버로 전송하는 요청 신호는 표 2와 같이 구성될 수 있다.
금요일에 사용자가 스마트폰으로 보던 영화에 대한 정보를 요청하는 신호를 수신하면, B사의 서버는 A사와 B사간에 사용자가 시청한 영상 컨텐츠에 대한 정보와 관련된 데이터 공유 협정이 존재하는지 여부를 식별할 수 있다. 예를 들어, B사의 서버는 N X N 매트릭스로 구성된 복수의 그룹간의 데이터 공유 협약에 대한 정보 중 B사와 A사간의 데이터 공유 협약에 대한 정보를 포함하는 벡터로 구성된 원소를 식별할 수 있다. 그리고, B사의 서버는 벡터로 구성된 원소를 통해 B사와 A사 간에 사용자가 시청한 영상 컨텐츠에 대한 정보와 관련된 데이터 공유 협정이 존재하는지 여부를 식별할 수 있다. 예를 들어, B사와 A사간의 데이터 공유 협약에 대한 정보가 포함된 벡터의 원소 중 사용자가 시청한 영상 컨텐츠에 대한 정보에 대응되는 값이 1인 경우, B사의 서버는 A사와 B사간에 사용자가 시청한 영상 컨텐츠에 대한 정보와 관련된 데이터 공유 협약이 존재하는 것으로 식별할 수 있다. 또 다른 예로, B사와 A사간의 데이터 공유 협약에 대한 정보가 포함된 벡터 중 사용자가 시청한 영상 컨텐츠에 대한 정보에 대응되는 값이 0인 경우, B 사의 서버는 A사와 B사간에 사용자가 시청한 영상 컨텐츠에 대한 정보와 관련된 데이터 공유 협약이 존재하지 않는 것으로 식별할 수 있다.
A사와 B사간에 사용자가 시청한 영상 컨텐츠에 대한 정보와 관련된 데이터 공유 협약이 존재하는 것으로 식별되면, B사의 서버는 B사의 사용자에 대한 정보의 메타 데이터를 통해 B사의 사용자가 시청한 영상 컨텐츠에 대한 정보의 공유에 대해 동의하는지 여부를 식별할 수 있다. 구체적으로, B사의 서버는 A사의 디스플레이 장치로부터 수신된 요청 신호에 대응되는 사용 방식(또는, 목적)을 식별할 수 있다. 예를 들어, B사는 A사의 디스플레이 장치로부터 수신된 요청 신호를 통해 A사는 사용자가 시청한 영상 컨텐츠를 다시 재생하기 위해 데이터를 요청하는 것임을 식별할 수 있다. 그리고, B사의 서버는 B사의 사용자가 동의한 데이터 사용 방식(또는, 목적) 중 A사가 요청한 신호에 포함된 사용 방식(또는, 목적)이 포함되어 있는지 여부를 식별할 수 있다.
그리고, B사의 사용자가 시청한 영상 컨텐츠를 다시 재생하기 위해 데이터를 공유하는 것을 동의한 것으로 식별된 경우, B사의 서버는 B사의 사용자가 시청한 영상 컨텐츠에 대한 정보를 액세스할 수 있는 권한에 대한 정보를 A사의 디스플레이 장치에 전송할 수 있다. 따라서, A사의 디스플레이 장치는 수신한 권한에 대한 정보를 이용하여 B 사의 사용자가 시청한 영상 컨텐츠에 대한 정보가 저장된 영역을 액세스할 수 있다.
그리고, 도 6의 (b)에 도시된 바와 같이, A사의 디스플레이 장치는 액세스하여 획득된 B사의 사용자가 시청한 영상 컨텐츠에 대한 정보를 이용하여 사용자가 시청한 영상 컨텐츠를 표시할 수 있다. 일 실시예로, A사의 디스플레이 장치는 B사의 사용자가 시청한 영상 컨텐츠의 제목, 영상 컨텐츠를 재생한 날짜, 영상 컨텐츠를 재생하기 위해 실행한 어플리케이션, 영상 컨텐츠의 재생 시간에 대한 정보 중 적어도 하나를 이용하여 영상 컨텐츠를 재생하는 화면을 표시할 수 있다.
도 7은 본 개시의 일 실시예에 따른, 서버(100)의 제어 방법을 설명하기 위한 순서도이다. 우선, 제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 수신하면, 서버(100)는 데이터 공유 협약에 대한 정보를 바탕으로 제1 그룹과 제2 그룹간에 제1 유형의 데이터와 관련하여 데이터에 대한 공유 협약이 존재하는지 여부를 식별할 수 있다(S710). 구체적으로, 서버(100)는 복수의 그룹 간의 데이터 공유 협약에 대한 정보를 매트릭스 형태로 저장할 수 있다. 그리고, 서버(100)는 매트릭스 형태로 구성된 데이터 공유 협약에 대한 정보 중 제1 그룹과 제2 그룹간에 제1 유형의 데이터와 관련된 데이터 공유 협약이 존재하는지 여부를 식별할 수 있다.
제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 서버(100)는 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별할 수 있다(S720). 구체적으로, 서버(100)는 제1 그룹의 외부 장치로부터 수신된 요청 신호에 대응되는 데이터 사용 방식(또는, 목적)을 식별할 수 있다. 그리고, 서버(100)는 복수의 그룹 각각의 사용자에 대한 정보의 메타 데이터를 바탕으로 제2 그룹의 사용자가 동의한 데이터 사용 방식(또는, 목적) 중 식별된 요청 신호에 대응되는 데이터 사용 방식이 포함되어 있는지 여부를 식별할 수 있다.
그리고, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 서버(100)는 제1 그룹의 외부 장치로 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송할 수 있다(S730). 일 실시예로, 제2 그룹의 사용자가 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 서버(100)는 제2 그룹의 서버에게 제1 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 요청하는 신호를 전송할 수 있다. 그리고, 제2 그룹의 서버로부터 수신된 제1 유형의 데이터를 기설정된 시간 동안 액세스할 수 있는 권한에 대한 정보를 수신하면, 서버(100)는 수신한 정보를 제1 그룹의 외부 장치에 전송할 수 있다. 또 다른 실시예로, 서버(100)는, 제2 그룹의 서버로부터, 특정 유형의 데이터에 액세스할 수 있는 권한에 대한 정보를 수신하고, 권한에 대한 정보를 다른 그룹으로 전송할 수 있는 권한을 미리 부여 받을 수 있다. 따라서, 서버(100)는 미리 수신된 권한에 대한 정보에 제1 그룹의 외부 장치(10-1)가 요청한 기설정된 시간을 포함하여 제1 그룹의 외부 장치(10-1)에 전송할 수 있다.
그리고, 제1 그룹의 외부 장치는 수신한 액세스할 수 있는 권한에 대한 정보를 바탕으로 제2 그룹의 제1 유형의 데이터를 액세스할 수 있다.
한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
메모리: 110 프로세서: 120

Claims (20)

  1. 서버에 있어서,
    회로를 포함하는 통신부;
    복수의 그룹(Group)간의 데이터 공유 협약에 대한 정보 및 상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장하는 메모리; 및
    제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 상기 통신부를 통해 수신하면, 상기 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하고,
    상기 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하고,
    상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 상기 제1 그룹의 외부 장치로 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하도록 상기 통신부를 제어하는 프로세서;를 포함하는 서버.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하지 않는다고 식별되면, 상기 제1 그룹의 외부 장치에게 상기 제1 유형의 데이터를 공유할 수 없다는 신호를 전송하도록 상기 통신부를 제어하는 서버.
  3. 제1항에 있어서,
    상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터는,
    상기 복수의 그룹 각각의 사용자에 대한 정보의 유형 및
    상기 복수의 그룹 각각의 사용자가 동의한 데이터 사용 방식에 대한 정보를 포함하는 것을 특징으로 하는 서버.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 그룹의 외부 장치로부터 수신된 신호에 대응되는 데이터 사용 방식을 식별하고,
    상기 복수의 그룹 각각의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있는지 여부를 식별하는 서버.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있는 경우, 상기 제1 그룹의 외부 장치에게 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 키를 전송하도록 상기 통신부를 제어하고,
    상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있지 않은 경우, 상기 제1 그룹의 외부 장치에게 상기 제1 유형의 데이터를 공유할 수 없다는 신호를 전송하도록 상기 통신부를 제어하는 서버.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 그룹의 외부 장치로부터 제3 그룹의 데이터를 요청하는 신호를 상기 통신부를 통해 수신하면, 상기 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제3 그룹 간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별하고,
    상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 상기 제3 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제3 그룹의 사용자가 동의한 상기 식별된 데이터 유형의 사용 방식을 식별하는 서버.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 식별된 데이터 유형 및 상기 제3 그룹의 사용자가 동의한 것으로 식별된 사용 방식에 대한 정보를 상기 외부 장치에 전송하도록 상기 통신부를 제어하고,
    상기 외부 장치로부터, 상기 통신부를 통해, 상기 식별된 데이터 유형 중 제2 유형의 데이터를 상기 제3 그룹의 사용자가 동의한 사용 방식으로 사용하기 위해 상기 제2 유형의 데이터를 요청하는 신호를 수신하면, 상기 식별된 제2 유형의 데이터를 액세스할 수 있는 키를 상기 외부 장치로 전송하도록 상기 통신부를 제어하는 서버.
  8. 제1항에 있어서,
    상기 복수의 그룹간의 데이터 공유 협약에 대한 정보는,
    상기 복수의 그룹간의 복수의 데이터 유형 각각에 대한 데이터 공유 협약이 존재하는지 여부에 대한 정보를 포함하는 것을 특징으로 하는 서버.
  9. 제8항에 있어서,
    상기 복수의 그룹이 N개인 경우, 상기 복수의 그룹 간의 데이터 공유 협약에 대한 정보는 N X N 형태의 매트릭스(Matrix)이며,
    상기 매트릭스에 포함된 원소(element)는 상기 복수의 그룹간에 데이터 유형 별로 공유 협약 여부를 확인할 수 있는 벡터인 것을 특징으로 하는 서버.
  10. 제1항에 있어서,
    상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보는,
    상기 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스 할 수 있는 액세스 토큰(access token)에 대한 정보를 포함하는 것을 특징으로 하는 서버.
  11. 복수의 그룹간의 데이터 공유 협약에 대한 정보 및 상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터를 저장하는 메모리를 포함하는 서버의 제어 방법에 있어서,
    제1 그룹의 외부 장치로부터 제2 그룹에 포함된 제1 유형의 데이터를 요청하는 신호를 수신하면, 상기 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하는 단계;
    상기 제1 유형의 데이터 공유에 대한 협약이 존재하는 것으로 식별되면, 상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 제2 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하는 단계; 및
    상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였다고 식별되면, 상기 제1 그룹의 외부 장치로 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 전송하는 단계;를 포함하는 서버의 제어 방법.
  12. 제11항에 있어서,
    상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하는지 여부를 식별하는 단계는,
    상기 제1 그룹과 상기 제2 그룹간에 상기 제1 유형의 데이터 공유에 대한 협약이 존재하지 않는다고 식별되면, 상기 제1 그룹의 외부 장치에게 상기 제1 유형의 데이터를 공유할 수 없다는 신호를 전송하는 단계;를 포함하는 서버의 제어 방법.
  13. 제11항에 있어서,
    상기 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터는,
    상기 복수의 그룹 각각의 사용자에 대한 정보의 유형 및
    상기 복수의 그룹 각각의 사용자가 동의한 데이터 사용 방식에 대한 정보를 포함하는 것을 특징으로 하는 서버의 제어 방법.
  14. 제13항에 있어서,
    상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하는 단계는,
    상기 제1 그룹의 외부 장치로부터 수신된 신호에 대응되는 데이터 사용 방식을 식별하는 단계; 및
    상기 복수의 그룹 각각의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있는지 여부를 식별하는 단계;를 포함하는 서버의 제어 방법.
  15. 제14항에 있어서,
    상기 제2 그룹의 사용자가 상기 제1 유형의 데이터 공유에 대해 동의하였는지 여부를 식별하는 단계는,
    상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있는 경우, 상기 제1 그룹의 외부 장치에게 상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 키를 전송하고,
    상기 제2 그룹의 사용자가 동의한 데이터 사용 방식 중 상기 식별된 사용 방식이 포함되어 있지 않은 경우, 상기 제1 그룹의 외부 장치에게 상기 제1 유형의 데이터를 공유할 수 없다는 신호를 전송하는 단계;를 포함하는 서버의 제어 방법.
  16. 제11항에 있어서,
    상기 제1 그룹의 외부 장치로부터 제3 그룹의 데이터를 요청하는 신호를 상기 통신부를 통해 수신하면, 상기 복수의 그룹간의 데이터 공유 협약에 대한 정보를 바탕으로 상기 제1 그룹과 상기 제3 그룹 간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별하는 단계; 및
    상기 메모리에 저장된 복수의 그룹에 포함된 사용자에 대한 정보의 메타 데이터 중 상기 제3 그룹의 사용자에 대한 정보의 메타 데이터를 바탕으로 상기 제3 그룹의 사용자가 동의한 상기 식별된 데이터 유형의 사용 방식을 식별하는 단계;를 더 포함하는 서버의 제어 방법.
  17. 제16항에 있어서,
    상기 제1 그룹과 상기 제3 그룹 간의 데이터 공유에 대한 협약이 존재하는 데이터 유형을 식별하는 단계는,
    상기 식별된 데이터 유형 및 상기 제3 그룹의 사용자가 동의한 것으로 식별된 사용 방식에 대한 정보를 상기 외부 장치에 전송하는 단계; 및
    상기 외부 장치로부터, 상기 식별된 데이터 유형 중 제2 유형의 데이터를 상기 제3 그룹의 사용자가 동의한 사용 방식으로 사용하기 위해 상기 제2 유형의 데이터를 요청하는 신호를 수신하면, 상기 식별된 제2 유형의 데이터를 액세스할 수 있는 권한에 대한 정보를 상기 외부 장치에 전송하는 단계;를 포함하는 서버의 제어 방법.
  18. 제11항에 있어서,
    상기 복수의 그룹간의 데이터 공유 협약에 대한 정보는,
    상기 복수의 그룹간의 복수의 데이터 유형 각각에 대한 데이터 공유 협약이 존재하는지 여부에 대한 정보를 포함하는 것을 특징으로 하는 서버의 제어 방법.
  19. 제18항에 있어서,
    상기 복수의 그룹이 N개인 경우, 상기 복수의 그룹 간의 데이터 공유 협약에 대한 정보는 N X N 형태의 매트릭스(Matrix)이며,
    상기 매트릭스에 포함된 원소(element)는 상기 복수의 그룹간에 데이터 유형 별로 공유 협약 여부를 확인할 수 있는 벡터인 것을 특징으로 하는 서버의 제어 방법.
  20. 제11항에 있어서,
    상기 제2 그룹의 제1 유형의 데이터를 액세스할 수 있는 권한에 대한 정보는,
    상기 제2 그룹의 제1 유형의 데이터를 기설정된 시간 동안 액세스 할 수 있는 액세스 토큰(access token)에 대한 정보를 포함하는 것을 특징으로 하는 서버의 제어 방법.
KR1020200026506A 2019-05-17 2020-03-03 서버 및 이의 제어 방법 KR20200132667A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20174366.3A EP3739490A1 (en) 2019-05-17 2020-05-13 Server and control method thereof
PCT/KR2020/006353 WO2020235858A1 (en) 2019-05-17 2020-05-14 Server and control method thereof
US16/875,455 US11657368B2 (en) 2019-05-17 2020-05-15 Server and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190058356 2019-05-17
KR1020190058356 2019-05-17

Publications (1)

Publication Number Publication Date
KR20200132667A true KR20200132667A (ko) 2020-11-25

Family

ID=73645679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200026506A KR20200132667A (ko) 2019-05-17 2020-03-03 서버 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20200132667A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022160833A1 (zh) * 2021-01-26 2022-08-04 青岛海尔空调器有限总公司 语音设备及其数据处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022160833A1 (zh) * 2021-01-26 2022-08-04 青岛海尔空调器有限总公司 语音设备及其数据处理方法

Similar Documents

Publication Publication Date Title
KR102132504B1 (ko) 컴퓨팅 장치의 보안 식별 및 보안 식별 방법
US10438004B2 (en) Dual-system electronic apparatus and terminal
US20180307847A1 (en) Selective encoding method and electronic device using same
US9003542B1 (en) Systems and methods for replacing sensitive information stored within non-secure environments with secure references to the same
US10032038B2 (en) File system support for rolling keys
KR20160008885A (ko) 전자 장치 및 전자 장치의 메모리 관리 방법
KR102277087B1 (ko) 콘텐츠 분류 방법 및 전자 장치
US20180107493A1 (en) Synchronous control method and device via external apparatus
US10380370B2 (en) Column wise encryption for lightweight DB engine
US10430040B2 (en) Method and an apparatus for providing a multitasking view
US10216404B2 (en) Method of securing image data and electronic device adapted to the same
CN104158858A (zh) 一种访问分布式集群文件系统方法及系统
US20190370009A1 (en) Intelligent swap for fatigable storage mediums
US11657368B2 (en) Server and control method thereof
US11899668B2 (en) Database management apparatus, database control method and program
US20170308714A1 (en) Data management for combined data using structured data governance metadata
KR20200132667A (ko) 서버 및 이의 제어 방법
KR102533726B1 (ko) 전자 장치 및 그의 제어방법
US11995196B2 (en) Electronic apparatus and method for controlling thereof
US9959598B2 (en) Method of processing image and electronic device thereof
US20200081597A1 (en) Application program management method and apparatus
KR101575369B1 (ko) 비휘발성 메모리에 기록 및 소거하기 위한 방법
US20160179483A1 (en) Automatic componentization engine
US10097588B2 (en) Method and system for configuring simple kernel access control policy for android-based mobile terminal
EP2955621B1 (en) Electronic device and file storing method thereof