KR20170010747A - 어그노스틱 데이터 브로커 - Google Patents

어그노스틱 데이터 브로커 Download PDF

Info

Publication number
KR20170010747A
KR20170010747A KR1020167025714A KR20167025714A KR20170010747A KR 20170010747 A KR20170010747 A KR 20170010747A KR 1020167025714 A KR1020167025714 A KR 1020167025714A KR 20167025714 A KR20167025714 A KR 20167025714A KR 20170010747 A KR20170010747 A KR 20170010747A
Authority
KR
South Korea
Prior art keywords
data
api
broker
agnostic
manifest
Prior art date
Application number
KR1020167025714A
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 삼성전자주식회사
Publication of KR20170010747A publication Critical patent/KR20170010747A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • G06F17/30528
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • G06F17/30342
    • G06F17/30516
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

본 발명은 어그노스틱 데이터 브로커에 데이터를 통합하는 방법 및 시스템을 제공한다. 상기 데이터의 형식 및 구조는 상기 데이터 브로커에게 이전에 알려져 있지 않다. 본 발명의 일 실시예는 상기 데이터 및 상기 데이터의 형식과 상기 데이터의 구조를 설명하는 매니페스트를 포함하는 제1 API 호출이 수신되는 제1 API를 제공함으로써 상기 데이터를 데이터 소스로부터 습득하는 단계, 데이터 저장소에 상기 데이터를 저장하는 단계, 및 상기 매니페스트에 근거하여 상기 데이터를 질의하는 제2 API 호출이 수신되는 제2 API를 제공하는 단계를 포함한다.

Description

어그노스틱 데이터 브로커{AGNOSTIC DATA BROKER}
본 발명은 어그노스틱 데이터 브로커에 관한 것으로, 좀 더 구체적으로 어그노스틱 데이터 브로커에 데이터를 통합하는 방법 및 데이터 브로커 시스템에 관한 것이다.
사물 인터넷(통상적으로 IoT로 약칭)은 종래의 사물 통신(M2M, machine-to-machine)을 넘어, 다양한 프로토콜들, 도메인들, 및 어플리케이션들을 포함하는 장치들, 시스템들, 및 서비스들의 향상된 연결성을 나타내는 데 사용된다. 하나의 설명으로 예를 들어, 기계 판독 식별기들이 구비된 장치들 및 센서들과 같은 전세계의 물체들은 와이파이, 블루투스, 저전력 라디오, 또는 다른 대안들을 통하여 인터넷/웹(Ineternet/WEB) 상에 연결될 것이다. 몇 가지 지표들에 따르면, 2020년에는 260억 내지 300억개의 장치들이 사물 인터넷으로 무선 연결될 것이라고 한다.
어떠한 정보 감지 장치들로부터 데이터를 수집하는 것은 온라인 플랫폼의 몇 가지 유형으로 수집, 저장, 및 분석될 필요가 있는 크고 복잡한 데이터 세트들 또는 “빅 데이터”의 수집으로 이어질 것이다. 그러나, 현재 빅 데이터 플랫폼 구조들은 여러 장치들과 통신하고 데이터를 저장하기 위한 데이터의 형식 및 구조에 대한 지식뿐만 아니라 데이터가 수집될 여러 장치들의 형식에 대한 지식까지 요구한다는 점에서 제한적이다. 즉, 이러한 플랫폼들은 일반적으로 특정 형식의 어플리케이션 또는 사용 사례(예를 들어, 특정 도메인)에 맞게 커스터마이즈(customize) 된다.
사물 인터넷에서 장치들로부터 데이터를 수집하기 위한 온라인 플랫폼이 설계되고 구현될 수 있다. 다만, 플랫폼의 필요한 범위 및 온라인 플랫폼을 연결시키는 많은 수의 장치들에 대해, 현재 및 미래에도 대부분의 플랫폼의 구현자들이 이에 대한 지식이 없을 것이기 때문에, 플랫폼이 적절한 혹은 관련된 사용자 경험을 제공하기 위하여 제때 임의의 시점에서의 플랫폼에 필요한 통신 프로토콜과 정보를 “프로그램”하는 것은 불가능하다.
따라서, 장치들(알려지거나 알려지지 않은)이 사용자에게 관련된 기능을 제공하기 위하여 데이터를 연결 및 전송할 수 있는 향상된 소프트웨어 플랫폼이 요구된다.
본 발명의 실시예는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법 및 시스템을 제공하는 데 있다. 상기 데이터의 형식 및 구조는 데이터 브로커에게 이전에 알려져 있지 않다.
본 발명의 일 실시예는 상기 데이터 및 상기 데이터의 형식과 상기 데이터의 구조를 설명하는 매니페스트를 포함하는 제1 API 호출이 수신되는 제1 API를 제공함으로써 상기 데이터를 데이터 소스로부터 습득하는 단계, 데이터 저장소에 상기 데이터를 저장하는 단계, 및 상기 매니페스트에 근거하여 상기 데이터를 질의하는 제2 API 호출이 수신되는 제2 API를 제공하는 단계를 포함한다.
본 명세서에 제공된 일 실시예에 따르면, 매니페스트는 데이터 브로커 플랫폼이 어그노스틱 하도록 하는 수단으로 제공된다. 데이터 브로커는 어떠한 소프트웨어 또는 구조적인 조정들을 요구하지 않고 데이터 브로커에게 이전에 알려지지 않은 데이터 소스들로부터 데이터를 수신할 수 있도록 한다.
본 발명의 일반적인 개념의 여러 특징들 및 이점들은 첨부된 도면과 함께 실시예에 대한 설명으로부터 명백하고 보다 용이하게 이해될 것이다.
도 1은 데이터 어그노스틱 소프트웨어 플랫폼의 일 실시예를 도시한 블록도이다.
도 2는 예시적인 실시 예에 따른 어그노스틱 데이터 브로커에 데이터를 통합하기 위한 처리 과정을 도시한 도면이다.
도 3은 실시 예에 따른 어그노스틱 데이터 브로커를 구현하기 위한 시스템을 도시한 도면이다.
도 4는 스트리밍 데이터의 실시간 처리, 저장, 및 공개에 대한 프로세스를 도시한 흐름도이다.
참조문은 현재 본 발명의 일반적인 개념의 실시 예들, 예를 들어 첨부된 도면들, 참조 번호들이 같은 구성요소들을 참조함으로써 상세하게 설명될 것이다. 이러한 실시예들은 도면들을 참조하면서 본 발명의 일반적인 개념을 설명하도록 후술될 것이다.
본 발명의 이점 및 특징, 그리고 이를 달성하기 위한 방법은 실시예의 상세한 설명 및 첨부된 도면들을 참조함으로써 명확하게 이해될 수 있을 것이다. 본 발명의 일반적인 개념은 그러나, 많은 다양한 형식들로 실시되고, 여기에서 설명하는 실시예들로 한정되도록 구현되는 것은 아니다. 오히려, 이러한 실시예들은 개시물이 철저하고 완전하도록 하고 본 발명의 일반적인 개념을 당업자에 전달하기 위하여 제공되는 것이고, 본 발명의 일반적인 개념은 오직 첨부된 청구항에 의하여 정의된다. 도면들에 도시된 층의 두께와 영역들은 명확성을 기하기 위하여 과장되었다.
“a”, “an”, 및 “the”와 같은 용어들의 사용 및 본 발명을 설명하는 문맥상 유사한 지시 대상들(특히 청구항들의 문맥에서)은 문맥상에서 달리 언급되지 않는 한 단수 및 복수를 모두 포함하도록 해석된다. “comprising”, “having”, “including”, 및 “containing”의 용어들은 달리 언급되지 않는 이상 열린 용어들(즉, 포함하지만, 이에 제한되지 않음)로 해석된다.
여기에서 사용되는 “컴포넌트” 또는 “모듈”과 같은 용어는 특정 작업을 수행하는 a field programmable gate array (FPGA) 또는 an application specific integrated circuit (ASIC) 와 같은 소프트웨어 또는 하드웨어 구성요소를 의미하나 이에 제한되지 않는다. 따라서, 컴포넌트 또는 모듈은 예를 들어 소프트웨어 컴포넌트들, 객체 지향 소프트웨어 컴포넌트들, 클래스 컴포넌트들, 및 태스크 컴포넌트들, 프로세스들, 함수들, 속성들, 프로시저들, 서브 루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터배이스들, 데이터 구조들, 테이블들, 어레이들, 그리고 변수들을 포함한다. 컴포넌트들 및 컴포넌트들 또는 모듈들에 제공되는 기능은 더 작은 수의 컴포넌트들 및 컴포넌트들 또는 모듈들에 결합되거나, 추가적인 컴포넌트들 및 컴포넌트들 또는 모듈들로 분리될 수 있다.
달리 정의되지 않는다면, 여기에서 사용되는 모든 기술적이고 과학적인 용어들은 일반적으로 본 발명에 속하는 당업자에 의해 이해되는 것과 동일한 의미를 갖는다. 본 상세한 설명에 제공된 모든 예시들 또는 예시적인 용어들의 사용은 본 발명을 더 밝혀주기 위한 의도이고, 명시되지 않는 한 본 발명의 범위를 제한하기 위한 것은 아니다. 나아가, 달리 정의되지 않는다면, 사전에서 일반적으로 사용되는 정의된 용어들은 과도하게 설명하지 않을 수 있다.
도 1은 데이터 어그노스틱 소프트웨어 플랫폼(data agnostic software flatform)의 일 실시예를 도시한 블록도이다. 일 실시예는 사물 인터넷(IoT)의 맥락에서 임의의 모든 데이터 소스들(12)로부터 출력된 데이터(4)를 습득할 수 있는 어그노스틱 데이터 브로커(agnostic data broker)(10)로 불리우는 소프트웨어 플랫폼을 포함한다. 데이터 소스들(12)의 예로는 센서들 및 알고리즘들을 포함한다. “어그노스틱 데이터 브로커(agnostic data broker)”라는 어구는 소프트웨어 플랫폼이 알려지지 않은 미래의 데이터 소스들(12)로부터 출력된 데이터의 미래 타입들의 존재 및 구조는 말할 것도 없고, 기존의 모든 데이터 소스들(12)로부터 출력된 기존의 모든 데이터의 존재와 구조를 알 수 없다는 가정하에 설계된다는 사실을 언급하는 것이다. 소프트웨어 플랫폼은 데이터 브로커가 데이터 소스들(12)로부터 입력된 데이터(4)의 형식 또는 포맷에 관한 어떠한 가정이나 판단, 또는 데이터 브로커가 접근하도록 제공하는 저장된 데이터의 형식에 관한 어떠한 가정이나 판단을 하지 않는 점에서 데이터 어그노스틱하다.
기존의 플랫폼들/시스템들은 습득할 수 있는 데이터의 형식에 갇혀 있다. 기존 플랫폼들은 일단 작동할 데이터의 온톨로지(ontology)를 정의해야 하므로, 온톨로지에 의하여 정의된 특정 도메인 내에서 작동으로 국한된다. 어그노스틱 데이터 브로커(10)는 데이터의 허용 가능한 형식을 포함하는 것을 정의할 필요가 없다. 그래서, 어그노스틱 데이터 브로커(10)는 온톨로지로부터 자유롭고(ontologically-free) 도메인에 제한되지 않는다(domain-unlimited).
어그노스틱 데이터 브로커(10)의 중요한 일례로써, 현재 출원인의 양수인에 의하여 개발된 모바일 건강을 위한 웨어러블 센서 플랫폼(16)을 고려해보자. 웨어러블 센서 플랫폼(16)은 사용자로부터 생리적인 데이터를 감지하는 다양한 교체가능 센서들(18)이 구비된 스마트 밴드를 포함하는 스마트 워치 또는 다른 웨어러블 장치로서 구현될 수 있다. 웨어러블 센서 플랫폼(16)의 모듈성(modularity)은 스마트 밴드에 통합될 수 있는 새로운 형식의 교체가능 센서들(18) 및 센서 데이터 결과를 분석하는 새로운 디지털의 건강 솔루션 어플리케이션/두뇌부(14)를 제 3자가 설계하고 개발할 수 있도록 한다.
웨어러블 센서 플랫폼(wearable sensor flatform)(16)은 사용자가 착용하면서 웨어러블 센서 플랫폼(16)을 충전하도록 하는 충전 메커니즘을 더 포함할 수 있다. 이러한 특별한 기능은 실제로 계속적인 건강상태 모니터링을 가능하게 하는데, 이는 사용자들이 장치를 벗을 필요가 없을 것이기 때문에 센서 데이터(4)의 연속적인 스트림들이 어그노스틱 데이터 브로커(10)에 입력되게 된다. 센서들(18)로부터 데이터(4)는 간단한 일회성의 심장 박동 및 혈압 측정뿐만 아니라, 사용자의 건강상태에 대한 더욱 깊은 이해를 가능케 하도록 심장 박동과 혈압을 계산하는데 사용되는 전체적이고 연속적인 가공되지 않은(raw) 신호들을 포함한다.
따라서, 어그노스틱 데이터 브로커(10)는 다시 프로그래밍 하거나(reprogramming) 구조적인 변경들 없이, 알려지지 않은 미래의 장치들(예를들어 교체가능 센서들(18))을 포함하는 다른 형식들의 데이터 소스들(12)로부터의 다른 형식의 데이터(4)를 습득, 처리, 및 게시할 수 있다.
도 2는 예시적인 실시 예에 따른 어그노스틱 데이터 브로커(10)에 데이터를 통합하기 위한 처리 과정을 도시한 도면이다. 도 1 및 도 2를 참조하면, 어그노스틱 데이터 브로커(10)를 포함하는 소프트웨어 컴포넌트들은 습득될 데이터(4)뿐만 아니라 데이터의 형식 및 구조를 설명하는 매니페스트(manifest)(6)을 포함하는 제1 API 호출들(2)이 수신되는 제1 API(습득 API(20)라고 언급됨)를 제공함으로써 데이터 소스(12)로부터의 데이터(4)를 습득할 수 있다(블록 21).
일 실시예에서, 매니페스트(6)는 데이터 브로커 플랫폼이 어그노스틱 하도록 할 수 있는 도구이다. 이러한 데이터 브로커는 어떠한 구조적인 조정들을 요구하지 않고, 데이터 브로커에게 이전에 알려지지 않은 데이터 소스들로부터 데이터를 수신할 수 있도록 한다. 일 실시예에서, 매니페스트(6)는 데이터(4)가 분리된 블록에 있는지 또는 스트림인지와 같은 데이터의 구조 및 포맷을 다른 여러 것들 중에서 정의하는 항목별 리스트를 통하여 데이터(4)의 구조 및 포맷을 설명하는 XML 파일로 구현될 수 있다. 예를 들어, 웨어러블 모듈형 플랫폼(wearable modular flatform)(16)으로부터의 API 호출(2)은 특정한 매니페스트(6)을 포함할 수 있는데, 온도계의 온도 데이터는 데이터(4)의 블록 1에서의 문자열이고, 바이오임피던스(bioimpedence) 센서 데이터는 블록 2-6에서의 문자열이고, 심장 박동 센서 데이터는 스트림이고, EKG 센서 데이터는 스트림인 것 등과 같다.
일 실시예에서, 데이터(4)와 매니페스트(6)를 포함하는 API 호출(2)은 데이터 소스(12)가 예를 들어 Wi-Fi 또는 블루투스 활성화 센서와 같이 통신 가능하다는 가정 하에 네트워크(미도시)를 통하여, 직접 데이터 소스들(12)로부터 어그노스틱 데이터 브로커(10)로 전송될 수 있다. 다른 실시예에서, 데이터 소스(12)는 API 호출(2)을 개시시키는 호스트 장치(host device), 예를 들어 웨어러블 모듈형 플랫폼(16)에 통합될 수 있다. 일 실시예에서, 데이터(4)와 매니페스트(6)는 인수(argument)들로서 API 호출(2)에 포함될 수 있다. 대안적인 실시예에서, 데이터(4) 및 매니페스트(6)는 다른 API 호출들에 전송될 수 있다.
데이터가 습득될 때, 어그노스틱 데이터 브로커(10)는 데이터를 데이터 저장소에 저장한다(블록 23). 일 실시예에서, 데이터(4)는 가공되지 않은 데이터로 저장된다. 그러나, 또 다른 실시예에서 API 호출(2)은 다른 인수로써 어떻게 가공되지 않은 데이터가 사용자에게 유용한 포맷으로 해석되고 저장되는지를 설명하는 표준화 경로(8)를 선택적으로 포함할 수 있다. 예를 들어, 웨어러블 센서 플랫폼(16) 상의 온도 센서로부터의 가공되지 않은 온도 데이터에 대한 표준화 경로(8)는 가공되지 않은 온도 데이터가 화씨 또는 섭씨로 저장되도록 특정할 수 있다. 다수의 데이터 소스들(12) 로부터 다량의 데이터(4)를 습득하고 저장하는 것(예를 들어, 웨어러블 센서 플랫폼(16)으로부터 연속적으로 스트리밍하는 데이터)은 학술 및 분석을 위한 제 3자들(예를 들어 연구 기관, 기업등)에서 주된 관심을 가질 수 있는 “빅 데이터(11)(Big Data)”로 언급될 수 있다.
저장된 데이터의 접근성을 위하여, 어그노스틱 데이터 브로커(10)는 매니페스트(6)에 기초하여 데이터(4)를 질의하는 제2 API 호출이 수신되는 제2 API(질의(query) API(24)로 언급됨)를 더 제공할 수 있고, 이에 대응하여, 어그노스틱 데이터 브로커(10)는 데이터를 반환한다(블록 25). 일 실시예에서, 어그노스틱 데이터 브로커(10)는 데이터를 제3 API를 통하여 반환하고, 이는 후술된다.
질의 API(24)를 통하여, 어그노스틱 데이터 브로커(10)는 제2 형식의 질의 API 호출을 실행함으로써, 여기에서 두뇌부(14)로 언급되는 다른 형태들의 제 3자 어플리케이션들(apps)과 알고리즘들/서비스들이 데이터(4)를 접근하는데 사용될 수 있게끔 하는 플랫폼을 제공한다. 예를 들어, 많은 데이터 소스(12)로부터 출력되는 연속적이고 다양한 데이터로부터 수집 및 저장될 수 있는 “빅 데이터”(11)(도 1)는 연구자들에게 많은 다른 사용자들로부터 상관 관계를 검색하고 상호 작용을 관찰하고 가치있는 과학적 통찰력들을 개발하기 위한 데이터(4)를 분석 및 집계하기 위한 새로운 빅 데이터 타입의 두뇌부들(14)을 개발할 수 있는 기회를 제공할 수 있다.
빅 데이터(11)는 주로 대형 단체들에 도움이 될 수 있지만, “작은 데이터(Little Data)(13)”는 개인들에게 도움이 될 수 있다. 여기에서 사용된 바와 같이, 작은 데이터(13)는 특정 사용자에 대한 정보를 참조할 수 있다. 선택된 관심있는 두뇌부들(14)을 통하여, 개인 사용자들은 작은 데이터 타입의 두뇌부들(14)(예를 들어, 코칭, 시각화 도구들, 및 건강 추적 어플리케이션들)에 접근할 수 있다. 작은 데이터 타입의 두뇌부들(14)은 특정 사용자의 웨어러블 센서 플랫폼(16)으로부터 연속적인 센서 데이터를 분석할 수 있고, 예를 들어 특정 사용자에게 피드백, 격려 및 보상들을 제공할 수 있다.
화살표로 도시된 바와 같이, 두뇌부들(14)은 어그노스틱 데이터 브로커(10)에 습득된 데이터(4)에 접근하고 및 분석할 수 있을 뿐만 아니라, 어그노스틱 데이터 브로커(10)에게 분석 결과를 공급할 수 있다. 이러한 분석 결과들은 새로운 통찰력들을 이끌어내도록 다른 데이터 소스들(12)과 다른 두뇌부들에 의하여 출력된 다른 데이터와 혼합될 수 있다.
일 실시예에서, 두뇌부들(14)은 어그노스틱 데이터 브로커(10)의 사용자들에게 이용될 수 있는 어그노스틱 데이터 브로커(10)의 지능형 애드온(add-on)들로 고려될 수 있다. 데이터(빅 데이터(11) 및 작은 데이터(13)의 유형으로서) 및 다양한 형태의 두뇌부들(14)로의 접근은 유료 가입 모델 및 다양한 방식의 수익 창출에 근거하여 사용자들에게 이용될 수 있다. 예를 들어, 어그노스틱 데이터 브로커(10)는 사용자들이 “가입(subscribe)”할 수 있는 온라인 스토어를 포함할 수 있고, 사용자들에게 관련된 서비스를 제공할 수 있는 그들의 “개인적인 데이터 클라우드(personal data cloud)” 상에 선택된 두뇌부들(14)을 추가할 수 있다. 일 실시예로, 두뇌부(14)들은 임의의 사용자의 연결된 장치들 상에서 동작할 수 있다. 즉, 사용자들은 더 좋은 서비스들 및/또는 집계된 데이터에의 접근(연속적인 심장 박동 정보 등)을 프리미엄으로 제공받을 수 있다.
도 3은 실시 예에 따른 어그노스틱 데이터 브로커(10)를 구현하기 위한 시스템(8)을 도시한 도면이다. 어그노스틱 데이터 브로커(10)는 각각 다양한 프로세서들과 메모리를 포함하는 어플리케이션 서버들, 웹 서버들 및/또는 데이터베이스 서버들(미도시) 중 임의의 개수를 사용하여 구현될 수 있다. 일 실시예에서, 어그노스틱 데이터 브로커(10)는 공용 클라우드에 확장 가능한 가상 기기를 사용하여 구현될 수 있다. 서비스 공간과 같은 사회 기반 시설 (infrastructure as a service (IaaS))에서 상업적으로 이용가능한 클라우드 제공 업체들은 예를 들어 Amazon Web Services™ (AWS), Rackspace Public Cloud™, 및 Digital Ocean™을 포함한다. 대안적인 실시예에서, 어그노스틱 데이터 브로커(10)는 적합한 리소스들을 포함하는 독립형 컴퓨터 또는 사용자 장치의 임의의 형식으로 구현될 수 있다.
API 호출들을 통한 어그노스틱 데이터 브로커(10)와의 전자통신은 개인 또는 공용 네트워크(미도시)의 임의의 형식을 사용하여 일어날 수 있다. 공용 네트워크의 예는 인터넷을 포함하고, 반면 유무선 네트워크들의 예는 근거리 통신망 (local area networks, LAN), 무선 근거리 통신망 (wireless local area networks, WLAN), 무선 개인 영역 네트워크 (wireless personal area networks, WPANs), 무선 광역 네트워크, 무선 망 네트워크, 휴대용 네트워크, 및 글로벌 영역 네트워크(global area network, GAN)를 포함할 수 있다.
일 실시예에 따르면, 어그노스틱 데이터 브로커(10)는 API 호출들을 통하여 데이터가 미리 정의될 필요가 없는 방식으로 데이터 소스들(12), 사용자 장치들(18), 및 두뇌부들(14)이 어그노스틱 데이터 브로커(10)와 전자적으로 통신할 수 있도록 하는 일련의 어플리케이션 프로그래밍 인터페이스들(application programming interfaces, APIs) 및 소프트웨어 컴포넌트들을 제공한다. 일 실시예에서, 습득 API(20)와 질의 API(24)에 추가하여, 어그노스틱 데이터 브로커(10)는 파이어호스(firehose) API(22), 동작(actuation) API(26), 관리 API(28), 알고리즘 API(30), 3D 어플리케이션 API(32), 및 스토어 API(34)를 더 포함할 수 있다.
일 실시예에서, 어그노스틱 데이터 브로커(10)는 데이터 저장소(36), 확장부(38), 및 앱 스토어(40)를 더 포함할 수 있다. 일 실시예에서, 데이터 저장소(36)는 가공되지 않은 데이터베이스(38), 표준화 데이터베이스(40), 히스토리 데이터베이스(42), 및 계정 데이터베이스(44)를 포함할 수 있다.
습득 API(20)는 다수의 데이터 소스들(12)이 데이터를 어그노스틱 데이터 브로커(10)에게 전송하도록 하는 동안, 동작 API(26)는 동작 API 호출들을 실행함으로써 어그노스틱 데이터 브로커(10)와 두뇌부들(14)이 데이터 소스들(12) 및 사용자 장치들(18)에 출력을 송신하게끔 하는 인터페이스이다. 동작 API 호출들은 명령어들(27)이 지정된 데이터 소스들(12) 및/또는 사용자 장치들(18)로 전송되도록 야기한다. 출력은 데이터 저장소(36)에 저장된 데이터 및/또는 두뇌부들(14)에 의하여 계산된 결과물들(15)을 포함할 수 있다. 이러한 맥락에서, 동작은 데이터를 스크린 상에 표시 여부, 또는 스위치의 활성화 여부 등의 상태 변화를 암시한다.
앞의 예와 같이, 사용자는 어그노스틱 데이터 브로커(10)와 연결된 데이터 소스들(12) 및 사용자 장치들(18)을 사용자의 신체와 사용자의 집에 지닐 수 있다. 데이터 소스들(12)은 그들의 데이터를 어그노스틱 데이터 브로커(10)에 송신할 수 있다. 예를 들어, 인체 센서들(건강, 활동성등), 집 센서들(온도, 습도, 알람, 문 열림등), 스마트 가전들(세탁기, TV, 조명, 스프링클러), 휴대폰, 에너지 소비 트래커, 카메라 등이 있다. 소스들(12) 및 사용자 장치들(18)로부터의 데이터 일부는 어그노스틱 데이터 브로커(10)로부터 명령어(27)들을 수신하도록 구성될 수 있다. 예를 들어, 스마트 가전(커피 머신), 조명, 도어락, TV 등이 있다.
상술한 바와 같이, 습득 API(20)는 데이터 소스(12)가 습득 API 호출(여기에서 겟(get) 호출(2)로 언급됨)을 개시할 수 있도록 한다. 이는 데이터(4), 매니페스트(6), 및 선택적으로 인수들로써 표준화 경로(8)를 송신함으로써 어그노스틱 데이터 브로커(10)에 임의의 형태의 데이터를 제공한다. 일 실시예에서, 습득 API들은 다양한 다른 호출들을 포함할 수 있다. 예를 들어, 데이터 브로커와의 통신을 가능케하는 오픈 호출(Open call), 및 데이터(4)의 전송을 중지 또는 중단시키는 신호를 보내는 클로즈 호출(Close call) 등이 있다.
일 실시예에서, 어그노스틱 데이터 브로커(10)는 사용자 계정들 및 사용자들과 데이터 소스들(12)에 대한 기록들을 계정 데이터베이스(44)에 유지시킨다. 겟 호출(2)이 특정 데이터 소스(12)로부터 수신될 때, 데이터 브로커(10)는 데이터(4)를 데이터 저장소(36)에 저장하고, 후술할 바와 같이, 호출을 만든 데이터 소스(12)가 어떠한 기존 계정에 속하는지 결정하기 위하여 계정 데이터베이스(44)를 검색한다. 만약 없다면, 데이터 브로커(10)는 데이터 소스(12)에 장치의 형태을 식별하는 장치 형태 ID, 특정 장치를 식별하는 장치 ID, 그리고 데이터 소스(12)의 소유자/제조자를 식별하는 사용자 ID를 할당할 수 있다. 또한, 데이터 브로커(10)는 계정 데이터베이스(44)에 있는 사용자 계정 기록에 할당된 ID들을 추가할 수 있다.
일 실시예에서, 데이터 소스(12)의 사용자들(예를 들어, 소유자들/ 제조자들)은 수동으로 사용자 계정들을 생성하고 관리하는 관리 API(28)을 사용할 수 있다. 일 실시예에서, 각각의 사용자에 대한 계정 정보는 사용자에 의하여 등록된 데이터 소스들(12) 및 사용자와 연관된 임의의 등록된 사용자 장치들(18)을 식별한다.
일 실시예에서, 겟 호출(2)은 매니페스트 파일 자체를 포함할 수 있고, 일단 수신된 매니페스트(6)는 또한 송신한 데이터 소스(12)와 관련된 사용자 계정에 계정 데이터베이스(44)에 저장될 수 있다. 많은 다른 데이터 소스들(12) 및 사용자 장치들(18)은 각각의 사용자와 연관될 수 있고, 하나 또는 그 이상의 매니페스트들(6)은 데이터 소스(12)에 의하여 생성된 데이터를 설명하는 각각의 데이터 소스(12)와 연관될 수 있다.
또 다른 실시예에서, 매니페스트 파일의 복사본을 포함하기 보다는, 겟 호출(2)은 대신 매니페스트(6)에 대한 참조문을 포함할 수 있다. 일 실시예에서 매니페스트(6)에 대한 참조문은 계정 데이터베이스(44) 또는 매니페스트의 URL에 이미 제출되고 저장된 기존 매니페스트(6)에 대한 매니페스트 ID를 포함할 수 있다.
어그노스틱 데이터 브로커(10)가 겟 호출(2)을 통하여 데이터(4)를 수신할 때, 데이터(4)는 자동적으로 시스템에 의하여 수정되지 않은 가공되지 않은 데이터, 예를 들면 본래의 유형 및 구조로 가공되지 않은 데이터베이스(38)에 저장된다. 만약 표준화 경로(8)가 특정되면, 가공되지 않은 데이터는 특정되어 처리되고, 표준화 데이터베이스(40)에 저장된 표준화된 데이터가 된다. 일 실시예에서, 표준화된 데이터는 표준화된 필드명과 필드값을 포함하는 JSON (JavaScript Object Notation) 포맷된 것일 수 있다. 데이터(4)가 데이터 저장소(36)에 저장될 때, 데이터는 대응하는 매니페스트 ID와 관련하여 저장된다. 계정 데이터베이스(44)의 임의의 데이터 소스들(12)은 “공개”될 수 있으므로 두뇌부들(14)은 데이터 소스들(12)과 이들에 대응하는 데이터에 접근할 수 있다.
일 실시예에서, 두뇌부들(14)은 데이터 저장소(36)에 저장된 데이터를 질의 및 분석하는 어플리케이션들 및 서비스들을 포함하고 사용자들에게 서비스를 제공한다. 두뇌부들(14)은 사용자들에게 부가적인 관련된 기능을 제공하는 어그노스틱 데이터 브로커(10)에 플러그(plug in)될 수 있는 백-엔드 클라우드 서비스들(backend cloud services) 또는 다운로드 가능한 어플리케이션들로 구현될 수 있다. 예를 들어, “연결(plug in)”한 두뇌부(14)의 일 유형은 다수의 사용자 데이터 소스들(12)로부터 수집된 데이터에 근거한 가입 다이어트 서비스(인체 센서들, 추적된 활동 패턴들 등)를 포함할 수 있다. 또 다른 예는 사용자의 집의 조명들을 연결하고 제어하는 두뇌부(14)를 포함할 수 있다. 제 3자의 회사는 집에 사람이 존재, 그들의 활동성 등에 기초한 조명의 온/오프를 위한 (플랫폼에 의하여 기본적으로 제공되는 것보다)더 나은 관리를 얻도록 할 수 있는 모듈(비용이 지급되거나 아니거나)을 사용자에게 제공할 수 있다.
데이터 저장소(36)로부터 데이터는 결과물(15)들의 형태로 두뇌부들(14)에 의하여 분석되고 출력된다. 피드백 루프(17)를 결정하는 결과물들(15) 및 새로운 매니페스트(6)를 포함하는 겟 호출(2)을 제공함으로써 데이터는 두뇌부들(14)에 의해 어그노스틱 데이터 브로커(10)에 피드백 될 수 있다. 결과물들(15)은 다른 두뇌부들(14)에 의한 사용을 위하여 히스토리 데이터베이스(42)와 같은 데이터 저장소(36)에 저장될 수 있다.
예를 들어, 매니페스트(6)와 함께 사용자의 생체 데이터를 송신하고 데이터 브로커에 의하여 저장되는 생체 센서를 개발한 회사를 고려해보자. 제 3자의 두뇌부(14)는 데이터에 접근하고, 데이터로부터 스코어(score)의 몇가지 형태를 계산하고, 다른 매니페스트와 함께 스코어를 다시 데이터 브로커로 보낸다. 이러한 스코어는 다른 사람들의 사용을 위하여 저장되고 게시된다. 게시함과 더불어, 스코어는 히스토리 데이터베이스(42)에 저장될 수 있다. 히스토리 데이터베이스(42)에 저장된 데이터는 다른 히스토리 데이터베이스에 있는 다른 데이터와 결합될 수 있고, 예를 들어 경향 및 패턴들을 개발하고자 하는 다른 두뇌부들(14)에 의하여 동작될 수 있다. 따라서, 어그노스틱 데이터 브로커(10)는 제 3자들이 지속적으로 오가는 피드백 데이터를 활용하도록 할 수 있다.
두뇌부들(14)은 저장된 매니페스트(6)에 근거하여 질의 API(24)와 파이어호스 API(22)를 사용하여 데이터 저장소(36)에 저장된 데이터(4)에 접근하고 검색할 수 있다. 일 실시예로, 데이터(4)는 가공되지 않은 데이터베이스(38), 표준화 데이터베이스(40), 히스토리 데이터베이스(42), 및 계정 데이터베이스(44)와 같은 데이터베이스들에 저장되기 때문에, 질의 API들(24)을 통하여 만들어진 호출들은 예를 들어 SQL 명령어들과 유사한 데이터베이스 질의들과 비슷할 수 있다. 요청한 두뇌부(14)로부터 질의 API 호출 수신에 응답하여, 어그노스틱 데이터 브로커(10)는 데이터를 검색하고, 동작 API(26)을 통하여 요청한 두뇌부(14)에 데이터를 반환한다.
일 실시예에 따르면, 스트리밍 데이터(streaming data)는 가공되지 않은 데이터베이스(38)에 가공되지 않은 데이터로 저장되고, 동시에 이벤트 큐(event queue)(27)에 전송되고, 파이어호스 API(22)를 통하여 외부 두뇌부들(14)에 즉시 이용 가능하도록 제공된다.
도 4는 스트리밍 데이터의 실시간 처리, 저장, 및 공개에 대한 프로세스를 도시한 흐름도이다. 프로세스는 습득 API 호출을 통하여 데이터 소스(12)로부터, 예를 들어 오디오/비디오 스트림 또는 연속적인 심박수 데이터와 같은 데이터 스트림(48)을 획득함으로써 시작될 수 있다(블록 50). 일 실시예에서, 오픈 호출은 데이터 스트림(48)을 전송하기 위한 어그노스틱 데이터 브로커(10)와 함께 스트림/웹 소켓을 여는 데 이용될 수 있다. 상술한 바와 같이, 습득 API 호출은 매니페스트(6) 또는 이의 참조문, 그리고 표준화 경로(8)를 포함한다.
데이터 스트림(48)은 동시에 이벤트 큐(27)에 전송될 수 있고, 가공되지 않은 데이터 베이스(38)에 저장될 수 있다(블록 52). 이벤트 큐(27)에서, 데이터 스트림(48)은 표준화 경로(8)에 근거하여 필터, 변형, 및 증강될 수 있고(블록 54), 그 다음에 표준화 데이터베이스(40)에 저장될 수 있다(블록 56). 표준화된 스트리밍 데이터는 실시간 분석될 수 있다(블록 58). 두뇌부(14)의 요청으로부터 파이어호스 API 호출을 수신하는 것에 응답하여, 분석 결과들은 검색되고, 두뇌부(14)에 송신된다(블록 60).
일 실시예에서, 파이어호스 API들은 데이터 스트림들을 질의하는 데 특화된다. 파이어호스 API 호출이 두뇌부(14)로부터 수신될 때, 두뇌부(14)는 이벤트 큐(27)에서 지정 이벤트 또는 데이터 스트림에 가입될 수 있다. 이벤트 큐(27)는 지정된 시간에 이용 가능한 다수의 데이터 스트림들 또는 이벤트들을 가질 수 있기 때문에, 이러한 API들은 파이어호스로 불리어지고, 두뇌부(14)는 단지 파이어호스 API 호출(들)에서 지정된 관심있는 이벤트들에 가입한다.
저장 후에 언제든지, 가공되지 않은 데이터와 표준화된 스트리밍 데이터는 백그라운드 프로세스(background process)(64)에 의하여 분석될 수 있다(블록 62). 두뇌부(14)의 요청으로 질의 API 호출을 수신하는 것에 응답하여, 어그노스틱 데이터 브로커(10)는 두뇌부(14)에 분석 결과들을 검색하고 전송한다(블록 64).
도 3을 다시 참조하면, 어그노스틱 데이터 브로커(10)에 의하여 제공된 API들의 예시적인 개요가 설명될 것이다. 일 실시예에서, 각각의 데이터 소스(12)는 데이터 브로커(10)를 질의함으로써 소스 장치(12)를 위한 매니페스트(6)가 어그노스틱 데이터 브로커(10) 상에 존재하는지 결정하도록 구성된 소프트웨어를 실행할 수 있다. 예를 들어, 질의 API들(15) 중 하나는 “Does This Device Exist”라고 언급될 수 있다. 데이터 소스(12)가 활성화될 때, 데이터 소스(12) 내부의 소프트웨어는 데이터 소스(12)와 연관된 매니페스트가 존재하는지 결정하는 Does This Device Exist 호출을 사용하여 데이터 브로커(10)에 질의한다. 만약 데이터 브로커(10)가 매니페스트가 이미 존재하는 것으로 결정하면, 데이터 브로커(10)는 매니페스트 ID, 예를 들어 ID#1을 반환한다. 데이터 소스(12)가 겟 호출(2)에서 데이터를 제출할 때, 데이터 소스(12)는 매니페스트 ID, 예를 들어 ID#1을 포함한다. 그리고, 데이터 브로커(10)는 매니페스트 ID를 사용하는 저장된 매니페스트(6)을 검색하고, 저장된 매니페스트(6)에 근거하여 데이터를 데이터 저장소(36)에 저장한다. 데이터가 스트림인 경우, 데이터는 파이어호스 API(22)를 경유하여 이벤트, 예를 들면 #1 데이터 형태의 이벤트로 제공된다. 그리고, 파이어호스 API(22)는 #1 데이터 형태의 이벤트가 이용 가능함을 공개한다. #1 데이터 형태를 분석하기 위해 쓰여진 두뇌부(14)는 데이터에 대한 접근을 위하여 파이어호스 API(22) 또는 질의 API(24)를 사용하고, 데이터(예를 들어, 사용자 스코어를 계산하기 위하여)를 분석한다. 그리고, 두뇌부(14)는 동작 API(26)를 통하여 사용자에게 표시 및/또는 저장하기 위하여 분석된 데이터와 데이터 형태(예를 들어, #72 형태)을 제출한다. 다른 두뇌부(14)는 트렌드 등을 결정하기 위하여 다수의 사용자들로부터 분석된 데이터를 집계할 수 있고, 피드백 루프(17) 및 습득 API(20)을 경유하여 데이터 브로커에게 이용 가능한 데이터를 제공할 수 있다.
어그노스틱 데이터 브로커(10)는 두뇌부(14)들이 높은 수준의 내부 기능들에 접근하도록 제공하는 확장부(38)를 포함할 수 있다. 확장부(38)는 데이터 브로커 내의 서비스로 클라우드로 간주될 수 있고, 알고리즘 API들(30)을 통하여 두뇌부들(14)에 접근할 수 있다. 확장부들(38)은 데이터 브로커(10) 내의 알고리즘들의 실행을 위하여 두뇌부들(14)에 제공되는 룰 엔진(rules engine)(31), 분석부(analytics)(33), 및 샌드 박스들(sandboxes)(35)을 포함할 수 있다.
샌드 박스들(35)은 두뇌부들(14)이 알고리즘 API들(30)을 통하여 저장된 데이터와 특정한 연관성을 갖는 그들의 알고리즘들을 게시하는 영역들이다. 알고리즘들은 가상의 두뇌부들로써 실행된다. 이것의 장점은 알고리즘들이 수행하는 데이터가 데이터 브로커(10)로부터 외부 두뇌부들(14)로 전송 될 필요가 없다는 것이고, 실시간 어플리케이션들을 위한 전송시간을 절약할 수 있다는 것이다. 샌드 박스들(35)은 데이터가 송수신 될 필요가 없도록 국지적으로 실시간 데이터 저장소(36)의 데이터에 대한 접근을 제공한다. 샌드 박스들(35)에서 알고리즘들은 게시되고 그리고 다른 이들은 이미 샌드 박스들(35)에 이미 존재하는 알고리즘들을 사용할 수 있다. 샌드 박스들(35)에 의해 출력된 데이터는 피드백 루프(17)를 거치지 않고 다른 두뇌부들에 의한 사용을 위하여 데이터 저장소(36)로 직접 피드백 될 수 있고, 그 결과 지연을 줄일 수 있다. 일반적으로 확장부(38)는 데이터 브로커(10) 내의 CPU 시간을 빌림으로써 수익을 창출할 수 있다.
앱 스토어(40)는 다운로드 가능한 어플리케이션들뿐만 아니라 두뇌부들(14)에 대한 접근을 제공하는 온라인 스토어이다. 앱 스토어(40)는 개인 정보 보호/결제 서비스들(37), 저장된 어플리케이션들(39), 및 웹 스토어 프론트 엔드(41)를 포함한다. 앱 스토어(40)의 일 기능은 다른 이들에 의한 접근을 허용하는 두뇌부들(14)의 존재를 공개하는 것이다. 3D 앱스토어 API(32)는 두뇌부들(14)이 공개 및/또는 저장되도록 한다. 동시에, 두뇌부(14)에 의하여 제공되는 서비스를 설명하는 매니페스트 역시 제출된다. 예를 들어, 만약 두뇌부(14)에 의하여 제공된 특정 서비스가 호출된 때 특정 파라미터를 요구한다면, 서비스에 대한 매니페스트는 파라미터를 정의할 것이다. 일 실시예에서, 서비스에 대한 매니페스트는 관리 API(28)를 통해 제작자에 의하여 제출되고 이후 웹 스토어 프론트 엔드(41)를 통한 접근을 위하여 3D 어플리케이션 API(32)를 통해 서비스를 게시 한다. 스토어 API(34)는 사용자들이 사용자 장치들(18)을 통해 두뇌부들/어플리케이션들/서비스들을 질의할 수 있도록 한다. 스토어 API(34)는 사용자들이 무슨 서비스들이 특정 사용자 장치(18)에 주어질 수 있는지 질의할 수 있도록 한다(오직 데이터 제출만이 가능한 데이터 소스들(12)과 반대된다). 다른 실시예에서, 사용자 장치들(18)은 스토어 API(34)에 질의 할 수 있고, 어플리케이션들을 자동적으로 다운로드 할 수 있다.
어그노스틱 데이터 브로커에 대한 방법 및 시스템이 개시되었다. 본 발명은 도시된 실시예들에 따라 설명되었지만, 이러한 실시예들은 변형될 수 있고, 임의의 변형들은 본 발명의 사상 및 범위 내에 있을 것이다. 예를 들어, 본 발명은 하드웨어, 소프트웨어, 프로그램 명령어들을 포함하는 컴퓨터 판독 가능 매체, 또는 이들의 조합으로 구현될 수 있다. 본 발명에 따라 쓰여진 소프트웨어는 메모리, 하드 디스크, 또는 CD/DVD/블루레이 디스크 중 하나와 같은 컴퓨터 판독 가능 매체의 몇가지 형식으로 저장되고, 프로세서에 의하여 실행될 수 있다. 따라서, 첨부된 청구항들의 사상 및 범위를 벗어나지 않고 다양한 변경들이 당업자에 의해 이루어질 수 있다.
2: API 호출 (겟 호출) 4: 데이터
6: 매니페스트 8: 표준화 경로
10: 어그노스틱 데이터 브로커 12: 데이터 소스
14: 두뇌부 16: 센서 모듈
18: 사용자 장치들 20: 습득 API
24: 질의 API

Claims (18)

  1. 데이터 및 상기 데이터의 형식과 상기 데이터의 구조를 설명하는 매니페스트를 포함하는 제1 API 호출이 수신되는 제1 API를 제공함으로써, 적어도 하나의 프로세서 상에서 실행하는 적어도 하나의 소프트웨어 컴포넌트에 의하여, 상기 데이터를 데이터 소스로부터 습득하는 단계;
    데이터 저장소에 상기 데이터를 저장하는 단계; 및
    상기 매니페스트에 근거하여 상기 데이터를 질의하는 제2 API 호출이 수신되는 제2 API를 제공하는 단계를 포함하고,
    상기 데이터의 상기 형식 및 상기 구조는 어그노스틱 데이터 브로커에게 이전에 알려지지 않은 상기 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  2. 제1 항에 있어서,
    상기 데이터가 분리된 블록인지 스트림인지 정의하는 항목별 리스트를 통하여 상기 데이터의 상기 구조의 포맷을 설명하는 XML파일로 상기 매니페스트를 구현하는 단계를 더 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  3. 제1 항에 있어서,
    상기 데이터 및 상기 매니페스트는 상기 제1 API 호출의 독립변수들인 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  4. 제1 항에 있어서,
    가공되지 않은 데이터로 상기 데이터를 저장하는 단계를 더 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  5. 제4 항에 있어서,
    상기 제1 API 호출은 상기 가공되지 않은 데이터가 해석되고 저장되는 방법을 설명하는 표준화 경로를 더 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  6. 제1 항에 있어서,
    상기 제2 API 호출은 두뇌부에 의하여 지급되고,
    상기 두뇌부는 상기 데이터를 분석하는 적어도 하나의 어플리케이션 및 알고리즘/서비스를 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  7. 제6 항에 있어서,
    상기 분석의 결과물들은 상기 두뇌부에 의하여 어그노스틱 데이터 브로커에 피드백 되고, 다른 데이터 소스들 및 다른 두뇌부들로부터 다른 데이터와 혼합되는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  8. 제6 항에 있어서,
    유료 가입 모델에 근거하여 사용자들에게 상기 데이터 및 두뇌부들의 다양한 형식들의 접근을 제공하는 단계를 더 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  9. 제1 항에 있어서,
    적어도 하나의 상기 데이터 소스와 사용자 장치로 명령어들을 전송하기 위하여 제3 API를 사용하는 단계를 더 포함하는 어그노스틱 데이터 브로커에 데이터를 통합하는 방법.
  10. 데이터의 형식 및 구조는 데이터 브로커에 이전에 알려지지 않고, 상기 데이터를 데이터 소스로부터 습득하기 위하여 제1 API 호출이 수신되고, 상기 데이터 및 상기 데이터의 상기 형식과 상기 데이터의 상기 구조를 설명하는 매니페스트를 포함하는 제1 API;
    상기 데이터를 저장하기 위한 데이터 저장소;
    상기 매니페스트에 근거하여 상기 데이터를 질의하는 제2 API 호출이 수신되는 제2 API를 포함하고,
    각각 다양한 프로세서들과 메모리를 포함하는 어플리케이션 서버들, 웹 서버들, 및 데이터베이스 서버들의 임의의 결합을 이용하여 구현되는 어그노스틱 데이터 브로커 시스템.
  11. 제10 항에 있어서,
    상기 매니페스트는 상기 데이터가 분리된 블록인지 스트림인지 정의하는 항목별 리스트를 통하여 상기 데이터의 상기 구조 포맷을 설명하는 XML 파일로 구현되는 어그노스틱 데이터 브로커 시스템.
  12. 제1 항에 있어서,
    상기 데이터 및 상기 매니페스트는 상기 제1 API 호출의 독립변수들인 어그노스틱 데이터 브로커 시스템.
  13. 제1 항에 있어서,
    상기 데이터는 가공되지 않은 데이터로 저장되는 어그노스틱 데이터 브로커 시스템.
  14. 제13 항에 있어서,
    상기 제1 API 호출은 상기 가공되지 않은 데이터가 해석되고 저장되는 방법을 설명하는 표준화 경로를 더 포함하는 어그노스틱 데이터 브로커 시스템.
  15. 제1 항에 있어서,
    상기 제2 API 호출은 상기 데이터를 분석하는 적어도 하나의 어플리케이션 및 알고리즘/서비스를 포함하는 두뇌부에 의하여 지급되는 어그노스틱 데이터 브로커 시스템.
  16. 제15 항에 있어서,
    상기 분석의 결과물들은 상기 두뇌부에 의하여 상기 어그노스틱 데이터 브로커에 피드백되고, 다른 데이터 소스들 및 다른 두뇌부들로부터 다른 데이터와 혼합되는 어그노스틱 데이터 브로커 시스템.
  17. 제15 항에 있어서,
    유료 가입 모델에 근거하여 사용자들에게 상기 데이터 및 두뇌부들의 다양한 형식들의 접근이 제공되는 어그노스틱 데이터 브로커 시스템.
  18. 제1 항에 있어서,
    적어도 하나의 상기 데이터 소스와 사용자 장치로 명령어들을 전송하는 제3 API를 더 포함하는 어그노스틱 데이터 브로커 시스템.
KR1020167025714A 2014-05-27 2015-05-26 어그노스틱 데이터 브로커 KR20170010747A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462003333P 2014-05-27 2014-05-27
US62/003,333 2014-05-27
PCT/US2015/032450 WO2015183819A1 (en) 2014-05-27 2015-05-26 Agnostic data broker

Publications (1)

Publication Number Publication Date
KR20170010747A true KR20170010747A (ko) 2017-02-01

Family

ID=54699658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025714A KR20170010747A (ko) 2014-05-27 2015-05-26 어그노스틱 데이터 브로커

Country Status (6)

Country Link
US (1) US10360202B2 (ko)
EP (1) EP3149604A4 (ko)
JP (1) JP6545189B2 (ko)
KR (1) KR20170010747A (ko)
CN (1) CN106462540B (ko)
WO (1) WO2015183819A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262273B2 (en) 2014-06-09 2019-04-16 Cognitive Scale, Inc. Method for interfacing with a cognitive inference and learning system
US10026040B2 (en) * 2014-06-09 2018-07-17 Cognitive Scale, Inc. Cognitive interfaces for use within a cognitive environment
CN105518673B (zh) * 2014-07-15 2020-07-07 微软技术许可有限责任公司 管理数据摄取
US10575250B2 (en) * 2016-12-15 2020-02-25 Cable Television Laboratories, Inc. Normalization of data originating from endpoints within low power wide area networks (LPWANs)
US10616168B2 (en) * 2017-11-07 2020-04-07 International Business Machines Corporation Dynamically changing message classification and priority based on IOT device publication
US11665241B1 (en) * 2017-12-28 2023-05-30 Itential, Inc. Systems and methods for dynamic federated API generation
US11465056B2 (en) 2018-01-12 2022-10-11 Bunch Live, Inc. Game mediation component for enriching multiplayer gaming sessions
US11103772B2 (en) * 2018-01-12 2021-08-31 Bunch Live, Inc. Mediating multiplayer electronic game sessions
US11653467B2 (en) 2018-12-21 2023-05-16 Intel Corporation Modular system for internet of things and method of assembling the same

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286015B1 (en) * 1998-09-08 2001-09-04 Oracle Corporation Opaque types
JP2001117798A (ja) 1999-10-18 2001-04-27 Takayuki Miyashita 電子データ統合化データ管理システム
US7509248B2 (en) * 2001-11-14 2009-03-24 Intel Corporation Generic persistence engine
EP1745430A4 (en) * 2004-01-16 2008-01-23 Hillcrest Lab Inc SERVER AND METHODS OF BROKERING METADATA
GB0420673D0 (en) 2004-09-17 2004-10-20 Ibm Data sharing system, method and software tool
US7325007B2 (en) * 2005-03-07 2008-01-29 Microsoft Corporation System and method for supporting non-native data types in a database API
JP2007086889A (ja) 2005-09-20 2007-04-05 Shin Caterpillar Mitsubishi Ltd 遠隔管理システムにおける管理部側管理装置
US8135862B2 (en) 2008-01-14 2012-03-13 Schlumberger Technology Corporation Real-time, bi-directional data management
US8352432B2 (en) * 2009-03-31 2013-01-08 Commvault Systems, Inc. Systems and methods for normalizing data of heterogeneous data sources
US9576268B2 (en) * 2009-08-26 2017-02-21 Hewlett Packard Enterprise Development Lp Distributed data analysis
US8806345B2 (en) * 2009-12-10 2014-08-12 Business Objects Software Limited Information exchange using generic data streams
US8447768B2 (en) * 2010-01-29 2013-05-21 Novell, Inc. Techniques for generically accessing data
US20120046966A1 (en) * 2010-08-19 2012-02-23 International Business Machines Corporation Health Management Application Development and Deployment Framework
US9225793B2 (en) * 2011-01-28 2015-12-29 Cisco Technology, Inc. Aggregating sensor data
CN102508912A (zh) * 2011-11-09 2012-06-20 深圳市同洲电子股份有限公司 数据提取、转化和加载的方法及系统
WO2013123097A1 (en) * 2012-02-13 2013-08-22 SkyKick, Inc. Migration project automation, e.g., automated selling, planning, migration and configuration of email systems

Also Published As

Publication number Publication date
CN106462540A (zh) 2017-02-22
US20150347486A1 (en) 2015-12-03
CN106462540B (zh) 2020-06-30
WO2015183819A1 (en) 2015-12-03
JP2017517803A (ja) 2017-06-29
EP3149604A4 (en) 2017-11-22
EP3149604A1 (en) 2017-04-05
JP6545189B2 (ja) 2019-07-17
US10360202B2 (en) 2019-07-23

Similar Documents

Publication Publication Date Title
KR20170010747A (ko) 어그노스틱 데이터 브로커
US20200401607A1 (en) Knowledge-intensive data processing system
US10171586B2 (en) Physical environment profiling through Internet of Things integration platform
US10594715B2 (en) Apparatus for detecting anomaly and operating method for the same
Yürür et al. Context-awareness for mobile sensing: A survey and future directions
JP6290609B2 (ja) 検索中に関連性のない情報を削減するシステム及び方法
EP3274869A1 (en) Knowledge-intensive data processing system
US20090083768A1 (en) Context platform framework for aggregation, analysis and use of contextual information
US11736412B1 (en) Systems and methods for multi-tier resource and subsystem orchestration and adaptation
Almeida et al. An IoT-aware architecture for collecting and managing data related to elderly behavior
EP3079569B1 (en) Combining information from multiple formats
US11283690B1 (en) Systems and methods for multi-tier network adaptation and resource orchestration
US20200327986A1 (en) Integrated predictive analysis apparatus for interactive telehealth and operating method therefor
Tinati et al. Building a real-time web observatory
Jin et al. Peekaboo: A hub-based approach to enable transparency in data processing within smart homes
Alberternst et al. Orchestrating heterogeneous devices and AI services as virtual sensors for secure cloud-based IoT applications
Gim et al. A study of prescriptive analysis framework for human care services based on CKAN cloud
CN114373526A (zh) 一种基于物联网的智慧养老健康系统
Triboan et al. Towards a mobile assistive system using service-oriented architecture
Hiriyannaiah et al. Data Reduction Techniques in Fog Data Analytics for IoT Applications
Rimland Hybrid human-computing distributed sense-making: extending the SOA paradigm for dynamic adjudication and optimization of human and computer roles
Zhang et al. An infrastructure supporting considerate sensor service provisioning
Junior et al. KREATION: Kotlin Framework for Self-Adaptive IoHT Applications
KR102577681B1 (ko) 자기 수치화 서비스 장치
Dauwed et al. Classification of Internet of Things (IoT) Models in Healthcare Systems

Legal Events

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