KR101905054B1 - 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기 - Google Patents

다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기 Download PDF

Info

Publication number
KR101905054B1
KR101905054B1 KR1020147002097A KR20147002097A KR101905054B1 KR 101905054 B1 KR101905054 B1 KR 101905054B1 KR 1020147002097 A KR1020147002097 A KR 1020147002097A KR 20147002097 A KR20147002097 A KR 20147002097A KR 101905054 B1 KR101905054 B1 KR 101905054B1
Authority
KR
South Korea
Prior art keywords
application
delete delete
network
service
integrated system
Prior art date
Application number
KR1020147002097A
Other languages
English (en)
Other versions
KR20140074273A (ko
Inventor
앤드류 폴 도너기
데이비드 빅터 악티브 레블랑크
Original Assignee
프리스타일 테크놀러지 피티와이 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2011902569A external-priority patent/AU2011902569A0/en
Application filed by 프리스타일 테크놀러지 피티와이 리미티드 filed Critical 프리스타일 테크놀러지 피티와이 리미티드
Publication of KR20140074273A publication Critical patent/KR20140074273A/ko
Application granted granted Critical
Publication of KR101905054B1 publication Critical patent/KR101905054B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning
    • Y02P90/84Greenhouse gas [GHG] management systems
    • Y02P90/845Inventory and reporting systems for greenhouse gases [GHG]

Abstract

본 발명에 따르면, 엔드 디바이스에 대한 데이터를 저장하기 위한 적어도 하나의 메모리; 및 복수의 엔드 디바이스들에 보내고자 하는 서비스 공급자로부터의 통신을 수신하고 상기 통신을 복수의 엔드 디바이스들에 재전송하기 위한 인터페이스를 구비하는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템이 제공된다. 상기 복수의 엔드 디바이스들은 2 이상의 다른 서비스 공급자들과 소통하도록 구성되며, 통합 시스템은 유입한 통신을 서비스 공급자로부터 엔드 디바이스에 해당하는 프로토콜로 번역하도록 구성된다.

Description

다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기{SYSTEMS, METHODS, AND/OR APPARATUS FOR ENABLING COMMUNICATION BETWEEN DEVICES USING DIFFERENT COMMUNICATION PROTOCOLS}
본 출원은 2011년 6월 29일자로 출원된 호주특허출원 제2011902569호 및 2011년 12월 19일자로 출원된 미국특허출원 제61/577,396호의 우선권을 주장하며, 각각은 본 명세서에 전체적으로 참조로 합체되어 있다.
본 개시는 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기 및 엔드 디바이스 및/또는 인프라구조 디바이스에 애플리케이션의 선택, 구성 및/또는 전달을 돕기 위한 통합 시스템, 기기 및/또는 방법에 관한 것이다.
수도 및 전기공사, 소매업자 및 배급업자와 같은 인프라구조 공급자들은 그들의 고객들에게 더 큰 유연성을 제공하고 공급자가 전달하는 서비스 및 전달된 서비스들이 어떻게 청구되는지를 컨트롤하기 위해 인프라구조 네트워크를 배치하도록 현재 작업 중에 있다. 이들 네트워크들은 계기(meter devices)와 같은 엔드 디바이스들을 네트워크에 연결해 제공자의 장비와 듀플렉스 디지털 통신을 가능하게 한다. 네트워크를 종종 "스마트 그리드"라고 하는데, 이는 공급자 및 공급자들의 고객 또는 사용자 모두에게 추가적 기능을 제공하기 때문이다.
이들 네트워크를 배치하는데 있어 문제들 중 하나는 이들이 기존 분배장비에 세워지고 다양한 전매특허 또는 인프라구조 공급자 특정 기술이 이용되고 있다는 것이다. 이는 다른 네크워크 및 종종 본질적으로 다른 네트워크 상의 엔드 디바이스들에 액세스하기 어렵게 하고, 디바이스들에 이용될 수 있는 기능에 대한 제한 및/또는 장비의 중복이 상당할 수 있다. 상기 문제는 인프라구조 구성부품들의 개수가 늘어남에 따라 악화되고, 장비를 관리하기 극히 어렵게 한다.
사용자 및/또는 고객은 그들이 자신의 엔드 디바이스들을 어떻게 이용할지에 관해 더 많은 컨트롤 및/또는 유연성을 원한다. 예컨대, 원격관리, 웹브라우저를 통한 컨트롤, 휴대용 디바이스를 통한 컨트롤, 추가 특징들을 갖는 잦은 업데이트의 수신, 공급자들로부터 거의 즉시적 지원 및/또는 이들의 조합에 대한 요구가 있다. 공급자들 스스로도 또한 그들의 기존 인프라구조 및/또는 그들의 네트워크에 배치된 구성요소들을 여전히 유지할 수 있으면서 가능하면 이 요구를 충족하고 싶어한다. 따라서, 이용되는 본질적으로 다른 네트워크 구성요소들과 본 명세서에 언급된 제한들에도 불구하고 사용자 또는 고객 및 인프라구조 공급자 장비 간의 통합을 가능하게 하는 기술적 방안을 제공하는 것이 필요하다.
웹서비스 어댑터들과 같은 모듈들을 이용해 인터넷과 같은 기존 통신망을 통해 레거시 시스템 및/또는 구성부품을 통합하는 것은 적어도 하나 이상의 다음의 문제들뿐만 아니라 여기에 열거되지 않은 다른 문제들을 나타낸다:
(i) 공유된 통신 프로토콜을 이용해 구성부품들이 통신하는 것을 보장하기 위한 통신 통합;
(ii) 데이터가 공통언어 및/또는 포맷, 가령, XML, CSV, 메인프레임 EBCDIC 레코드에 전달되는 것을 보장하기 위한 데이터 변환 통합; 및
(iii) 통신 당사자들을 인증하고 데이터 무결성 및 프라이버시를 보장하기 위한 보안 통합.
하나 이상의 상기 문제들뿐만 아니라 상기에서 열거되지 않은 다른 문제들은 고유 솔루션의 통합 어댑터들과 함께 개개의 솔루션을 고유 노드들에 배치함으로써 해결될 수 있으나, 이는 가령 아래와 같이 하나 이상의 단점들을 수반할 수 있다:
(i) 양방향 데이터 통합 및 다수의 데이터 변환을 다루기 위한 데이터 모델 및 프로세스 모델을 개발하기 위해 상세한 프로세스 분석이 수행될 필요가 있다. 설령 변환들이 웹서비스를 이용해 XML로 데이터를 간단히 표현하도록 적용되더라도, 이는 시간 소모적이다.
(ii) 노드간 통합을 위해, 제 3 자의 보안정책들에 충실한 것을 보장하기 위해 보안 모듈이 구축될 필요가 있으며, 이는 종종 시간 및 비용 추가를 수반한다.
(iii) 서비스 엔드 포인트들 또는 어댑터들을 구축하고 배치하는 것은 상세한 시스템 지식과 개개의 개발자들을 포함해 상당한 개발 시간을 필요로 한다.
(iv) 인프라구조 공급자들은 확장성(scalability)과 상당한 신뢰성을 필요로 한다. 가령, 수백만 개의 엔드 디바이스들이 가능한 엔드 노드들일 수 있고 특히 가스망 또는 전기망에 대해 고도의 신뢰도 및/또는 편의를 제공하는 것이 바람직하다.
기존 문제들은 인프라구조 공급자들이 추가 기능을 제공하는 추가 애플리케이션 및/또는 모듈들을 허용가능한 속도 및/또는 허용가능한 비용으로 엔드 디바이스들에 배치하기 어렵게 한다. 기술적 어려움으로 인해 사용자 또는 고객들은 다양한 인프라구조 네트워크를 통해 광범위한 가능한 애플리케이션들을 간단히 선택하고 이용하지 못하게 된다.
따라서, 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하는 시스템, 방법, 및/또는 기기와 엔드 디바이스들 및/또는 인프라구조 디바이스들에 대한 애플리케이션의 선택, 구성 및/또는 전달을 돕기 위한 통합 시스템, 기기 및/또는 방법이 요구된다. 본 개시는 본 명세서의 논으로부터 명백해지는 바와 같이 종래 기술의 단점들 중 적어도 하나를 극복 및/또는 완화하거나 적어도 유용한 대안을 제공하도록 지향된다.
본 명세서에 기술된 소정의 실시예들은 엔드 디바이스에 대한 데이터를 저장하기 위한 적어도 하나의 메모리; 및 복수의 엔드 디바이스들에 보내고자 하는 서비스 공급자로부터의 통신을 수신하고 상기 통신을 복수의 엔드 디바이스들에 재전송하기 위한 인터페이스를 구비하고, 상기 복수의 엔드 디바이스들은 2 이상의 다른 서비스 공급자들과 소통하도록 구성되며, 통합 시스템은 유입한 통신을 서비스 공급자로부터 엔드 디바이스에 해당하는 프로토콜로 번역하도록 구성되는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템을 구비할 수 있다.
소정 실시예에서, 통합 디바이스는 공통 프로토콜을 이용해 서비스 공급자로부터 통신을 수신하기 위한 공통 인트페이스를 더 구비할 수 있다.
소정 실시예에서, 통합 디바이스는 복수의 서비스 공급자들을 가로질러 액세스 관리 프로토콜을 실행하기 위한 프로세서를 더 구비할 수 있다.
소정 실시예에서, 액세스 관리 프로토콜은 보안 프로토콜을 포함할 수 있다.
소정 실시예에서, 보안 프로토콜은 인증, 서비스 공급자 권한 및 역할, 엔드 디바이스 데이터 또는 서비스 공급자 데이터 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 통합 디바이스는 엔드 디바이스에 배포하기 위한 애플리케이션을 저장하기 위한 애플리케이션 키오스크를 더 구비할 수 있다.
소정 실시예에서, 애플리케이션을 엔드 디바이스에 공급하기 위해 서비스 공급자가 엔드 디바이스와 소통하기를 바란다.
소정 실시예에서, 엔드 디바이스를 쿼리하기 위해 서비스 공급자가 엔드 디바이스와 소통하기를 바란다.
소정 실시예에서, 시스템은 서비스 공급자 및 엔드 디바이스 간에 비디오 통신을 지원할 수 있다(가령, 서비스 공급자는 시스템에 연결된 카메라를 이용해 엔드 디바이스로부터 사진 또는 비디오를 요청할 수 있다).
소정 실시예에서, 서비스 공급자는 제한된 디바이스 명령 세트에 액세스할 수 있다. 가령, 제조업체는 애플리케이션을 만들어 디바이스에 배치하기 때문에 모든 디바이스 명령에 대한 액세스를 가질 수 있으나, 에너지 판매자들은 제한된 수의 디바이스 명령들, 가령, 디바이스 "온"이 아니라 디바이스 "오프" 및 "중지"에 대해 액세스할 수 있다. 소정 실시예에서, 이 정보는 가령, 프로파일 - 액세스 레벨에 있을 수 있다.
소정 실시예에서, 서비스 공급자가 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜을 요청하기 바란다.
소정 실시예에서, 통합 시스템은 엔드 디바이스로부터 서비스 공급자에 해당하는 프로토콜로 통신을 번역하도록 더 구성될 수 있다.
소정 실시예에서, 엔드 디바이스는 고객구내 유틸리티 디바이스, 모바일 디바이스, 휴대용 디바이스, 및/또는 실장된 트래킹 디바이스 또는 센서 중 적어도 하나를 구비할 수 있다.
소정 실시예에서, 서비스 공급자는 엔드 디바이스 제조업체, 공사(公事), 및/또는 제3자 서비스 공급자 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 제조업체에 엔드 디바이스에 펌웨어를 업데이트하고 애플리케이션을 제공할 권한이 주어질 수 있고 나머지 서비스 공급자들에는 각각의 디바이스를 쿼리할 권한이 주어진다.
소정 실시예에서, 제조업체에는 엔드 디바이스에 펌웨어를 업데이트하고 애플리케이션을 제공할 권한이 주어질 수 있고 나머지 서비스 공급자들은 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜을 요청하기를 바란다.
소정 실시예에서, 적어도 3개의 다른 통신 프로토콜들을 이용하는 적어도 100개의 엔드 디바이스들이 있다.
소정 실시예에서, 적어도 5개의 다른 통신 프로토콜들을 이용하는 적어도 10,000개의 엔드 디바이스들이 있다.
소정 실시예에서, 적어도 10개의 다른 통신 프로토콜들을 이용하는 적어도 100,000개의 엔드 디바이스들이 있다.
소정 실시예들은 서비스 공급자로부터 통신을 수신하는 단계; 통신이 의도된 복수의 엔드 디바이스들을 식별하는 단계; 복수의 엔드 디바이스들이 2 이상의 통신 프로토콜들 중 어떤 것을 이용할지 결정하는 단계; 수신된 통신을 복수의 다른 통신 프로토콜들로 번역하는 단계; 및 통신을 식별된 복수의 엔드 디바이스들로 재전송하는 단계를 포함하는 복수의 엔드 디바이스들과 소통하는 방법에 관한 것일 수 있다.
소정 실시예에서, 공통 프로토콜을 이용해 서비스 공급자들로부터의 통신이 수신될 수 있다.
소정 실시예에서, 상기 방법은 복수의 서비스 공급자들을 가로질러 액세스 관리 프로토콜들을 실행하는 단계를 더 포함할 수 있다.
소정 실시예에서, 액세스 관리 프로토콜들은 보안 프로토콜들을 포함할 수 있다.
소정 실시예에서, 보안 프로토콜들은 인증, 서비스 공급자 권한 및 역할, 엔드 디바이스 데이터, 또는 서비스 공급자 데이터 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 상기 방법은 엔드 디바이스에 배포하기 위한 애플리케이션을 저장하는 단계를 더 포함할 수 있다.
소정 실시예에서, 엔드 디바이스에 애플리케이션을 공급하기 위해 서비스 공급자가 엔드 디바이스와 소통하기 바랄 수 있다.
소정 실시예에서, 엔드 디바이스를 쿼리하기 위해 서비스 공급자가 엔드 디바이스와 소통하기 바랄 수 있다.
소정 실시예에서, 서비스 공급자가 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜을 요청하기 바랄 수 있다.
소정 실시예에서, 상기 방법은 엔드 디바이스로부터 서비스 공급자에 해당하는 프로토콜로 통신을 번역하는 단계를 더 포함할 수 있다.
소정 실시예에서, 엔드 디바이스는 고객구내 유틸리티 디바이스, 모바일 디바이스, 휴대용 디바이스, 및/또는 실장된 트래킹 디바이스 또는 센서 중 적어도 하나를 구비할 수 있다.
소정 실시예에서, 서비스 공급자는 엔드 디바이스 제조업체, 공사(公社), 및/또는 제3자 서비스 공급자들 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 제조업체에는 엔드 디바이스에 펌웨어를 업데이트하고 애플리케이션을 제공할 권한이 주어질 수 있고 나머지 서비스 공급자들에는 엔드 디바이스를 쿼리할 권한이 주어진다.
소정 실시예에서, 제조업체에는 엔드 디바이스에 펌웨어를 업데이트하고 애플리케이션을 제공할 권한이 주어질 수 있고 나머지 서비스 공급자들은 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜을 요청하기 바랄 수 있다.
소정 실시예에서, 적어도 3개의 다른 통신 프로토콜들을 이용하는 적어도 100개의 엔드 디바이스들이 있다.
소정 실시예에서, 적어도 5개의 다른 통신 프로토콜들을 이용하는 적어도 10,000개의 엔드 디바이스들이 있다.
소정 실시예에서, 적어도 10개의 다른 통신 프로토콜들을 이용하는 적어도 100,000개의 엔드 디바이스들이 있다.
소정 실시예들은 엔드 디바이스에 데이터를 관리하기 위한 데이터베이스; 엔드 디바이스에 대한 애플리케이션 프로파일을 저장하는 애플리케이션 키오스크; 사용자가 시스템에 액세스할 수 있는 사용자 인터페이스; 애플리케이션 키오스크에 애플리케이션을 업로딩하고, 애플리케이션 키오스크로부터 사용자 요청 및 각각의 애플리케이션 정책을 기반으로 복수의 엔드 디바이스들로 애플리케이션을 배치하며, 애플리케이션의 각각의 애플리케이션 프로파일에 정의된 명령을 이용해 배치된 애플리케이션들과 소통하기 위한 서비스 인터페이스를 구비하고, 상기 애플리케이션 파일은 (i) 각각의 애플리케이션의 기능적 능력을 나타내고 각각의 디바이스들에 대한 이용가능한 명령을 포함하는 애플리케이션용 프로파일; 및 (ii) 배치 환경에 대한 구성 데이터를 포함하는 정책을 포함하는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템을 제공할 수 있다.
소정 실시예에서, 엔드 디바이스는 고객구내 유틸리티 디바이스, 모바일 디바이스, 휴대용 디바이스, 및/또는 트럭 및 공장 또는 선박 장비 또는 물류 또는 보안과 같은 실장된 트래킹 디바이스 또는 센서 중 적어도 하나를 구비할 수 있다.
소정 실시예에서, 상기 시스템은 통합 시스템에 인증 및 액세스를 관리하기 위한 보안 관리 서비스를 또한 포함할 수 있다.
소정 실시예에서, 서비스 인터페이스는 웹서비스 인터페이스이다.
소정 실시예들은 복수의 다른 인프라구조 공급자 네트워크를 통해 복수의 엔드 디바이스들에 다른 애플리케이션들을 선택 및 배치하기 위한 구성요소들을 포함하는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템을 제공할 수 있다.
소정 실시예에서, 통합 시스템은 원격으로 애플리케이션을 선택하고 다른 인프라구조 공급자 네트워크의 원격 엔드 디바이스들에 설치를 유발하기 위한 사용자 인터페이스를 또한 포함할 수 있다.
소정 실시예들은
- 고객 디바이스 상에 실행될 애플리케이션을 저장하는 애플리케이션 키오스크;
- (i) 애플리케이션 키오스크에 애플리케이션을 업로딩; (ii) 사용자 요청, 구성 데이터 및 애플리케이션 코드에 기반해 애플리케이션 키오스크로부터 엔드 디바이스로 애플리케이션을 배치; 및 (iii) 각각의 애플리케이션 프로파일들에 정의된 명령을 이용해 배치된 애플리케이션과 소통하기 위한 웹서비스 인터페이스; 및
- 고객으로부터 수신된 메시지를 처리하고 디바이스를 컨트롤하기 위해 프로파일을 이용해 메시지로부터 명령을 발생하기 위한 변환 구성요소를 구비하고,
상기 애플리케이션은 하고, (i) 애플리케이션 코드; (ii) 다른 각각의 고객 디바이스들에 실행될 때 애플리케이션에 대한 이용가능한 명령을 나타내는 프로파일; (iii) 펌웨어 코드; 및 (iv) 다른 각각의 고객 디바이스들 및 다른 환경에 애플리케이션을 배치하기 위한 구성 데이터 중 하나 이상을 포함하는 서비스 공급자 및 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템을 제공할 수 있다.
소정 실시예에서, 변환 구성요소는 명령을 발생하기 위해 상기 프로파일들의 변환 규칙을 실행할 수 있다.
소정 실시예에서, 변환 구성요소는 웹서비스 인터페이스에 의해 엔드 디바이스로부터의 데이터를 사용자용 디스플레이를 발생하기 위한 메시지로 변환하기 위해 상기 프로파일들의 변환 규칙을 실행할 수 있다.
본 개시의 소정 실시예들은
- 고객구내 고객 디바이스 상에 데이터를 유지하는 디바이스 및 고객 데이터 베이스;
- (i) 각각의 애플리케이션의 기능적 능력을 나타내고 각각의 디바이스들에 대한 이용가능한 명령을 포함하는 각 애플리케이션에 대한 프로파일; 및 (ii) 배치 환경에 대한 구성 데이터를 포함한 정책을 포함한, 고객 디바이스에 대한 애플리케이션 파일을 저장하는 애플리케이션 키오스크;
- 통합 시스템에 인증 및 액세스 중 적어도 하나를 관리하기 위한 보안관리 서비스;
- 시스템에 인증된 액세스를 가능하게 하는 사용자 인터페이스; 및
- 애플리케이션 키오스크에 애플리케이션을 업로드하고, 애플리케이션 키오스크로부터의 애플리케이션을 사용자 요청 및 각각의 애플리케이션 정책을 기반으로 디바이스에 배치하며, 애플리케이션의 각각의 애플리케이션 프로파일에 정의된 명령들을 이용해 배치된 애플리케이션과 소통하기 위한 웹서비스 인터페이스를 포함하는 통합 시스템을 제공한다.
소정 실시예들은 또한 애플리케이션이 고객 디바이스에 실행되게 애플리케이션 번들을 저장하는 애플리케이션 키오스크;
상기 애플리케이션 키오스크에, (i) 다른 각각의 고객 디바이스들에 실행시 애플리케이션에 대한 이용가능한 명령을 나타내는 프로파일; 및 (ii) 다른 각각의 고객 디바이스 및 다른 환경에 상기 애플리케이션을 배치하기 위한 구성 데이터를 각각 포함하는 애플리케이션 번들을 업로드하고, 애플리케이션 키오스크로부터의 애플리케이션을 사용자 요청에 기반하고 구성 데이터 및 애플리케이션의 코드를 이용해 디바이스에 배치하며, 애플리케이션의 각각의 애플리케이션 프로파일에 정의된 명령들을 이용해 배치된 애플리케이션과 소통하기 위한 웹서비스 인터페이스; 및
사용자 장비로부터 수신된 메시지를 처리하고 디바이스를 컨트롤하기 위해 프로파일들을 이용해 메시시로부터 명령을 발행하기 위한 변환 구성요소를 포함하는 통합 시스템을 제공한다.
요약에 언급된 실시예들 뿐만 아니라, 다른 실시예들도 명세서, 도면 및 특허청구범위에 개시되어 있다. 요약은 본 개시와 더불어 각각 및 모든 실시예, 조합 또는 변형들을 포함하지 않는다.
소정 실시예들은 엔드 디바이스용 애플리케이션 프로파일을 저장하는 애플리케이션 키오스크를 제공할 수 있고, 상기 애플리케이션 프로파일은
(i) 각각의 애플리케이션의 기능적 능력을 나타내고 각각의 디바이스들에 대해 이용가능한 명령을 포함하기 위한 프로파일; 및
(ii) 배치 환경에 대한 구성 데이터를 포함하는 정책을 포함한다.
소정 실시예에서, 애플리케이션 키오스크는 상기 애플리케이션 키오스크, 사용자가 시스템에 액세스할 수 있는 사용자 인터페이스; 및 상기 애플리케이션 키오스크에 애플리케이션을 업로드하고, 사용자 요청 및 각각의 애플리케이션 정책을 기반으로 애플리케이션 키오스크로부터 디바이스로 애플리케이션을 배치하며, 애플리케이션의 각각의 애플리케이션 프로파일에 정의된 명령을 이용해 배치된 애플리케이션과 소통하기 위한 서비스 인터페이스를 포함한 시스템의 일부일 수 있다.
소정 실시예에서, 엔드 디바이스 위치는 고객구내 유틸리티 디바이스, 모바일 디바이스, 휴대용 디바이스, 가령, 트럭 및 공장 또는 선박장비나 물류 또는 보안과 같이 실장된 트래킹 디바이스 또는 센서 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 시스템은 또한 통합 시스템에 인증 및 액세스를 관리하기 위한 보안관리 서비스를 포함할 수 있다.
소정 실시예에서, 서비스 인터페이스는 웹 서비스 인터페이스이다.
소정 실시예에서, 통합 시스템은 복수의 다른 인프라구조 공급자 네트워크를 통해 복수의 엔드 디바이스에 다른 애플리케이션들을 선택 및 배치하기 위한 구성요소를 포함한다.
소정 실시예에서, 통합 시스템은 애플리케이션을 원격으로 선택해 다른 인프라구조 공급자 네트워크의 원격 엔드 디바이스상에 설치를 야기하기 위한 사용자 인터페이스를 구비할 수 있다.
소정 실시예에서, 애플리케이션이 고객 디바이스에 실행되게 하기 위한 애플리케이션 번들을 저장하는 애플리케이션 키오스크가 제공될 수 있다. 애플리케이션 번들은 다음 중 하나 이상을 포함할 수 있다:
(i) 애플리케이션 코드;
(ii) 다른 각각의 고객 디바이스들에 실행될 때 애플리케이션에 대한 이용가능 명령을 나타내는 프로파일;
(iii) 펌웨어 코드; 및
(iv) 다른 각각의 고객 디바이스와 다른 환경에서 상기 애플리케이션을 배치하기 위한 구성 데이터.
소정 실시예에서, 변환 구성요소는 명령을 발생하기 위해 상기 프로파일의 변환 규칙을 실행할 수 있다.
소정 실시예에서, 변환 구성요소는 웹서비스 인터페이스에 의해 디바이스로부터 데이터를 사용자용 디스플레이를 발생하기 위한 메시지로 변환하기 위해 상기 프로파일의 변환 규칙들을 실행할 수 있다.
소정 실시예에서, 시스템 및 디바이스들은 더 큰 유연성을 나타내고/나타내거나 다양한 프로세스들을 컨트롤할 수 있다. 가령, 디바이스들은 업데이트, 새로운 애플리케이션, 보정된 측량법 등을 거의 실시간으로(가령, 이용될 수 있는 업데이트의 1, 5, 10, 20, 30, 60분 내에) 수신할 수 있다.
소정 실시예에서, 디바이스 및 시스템은 더 많은 디바이스들을 지원하고 여러 네트워크 타입을 가로지르는 디바이스들을 포함할 수 있다. 예컨대, 시스템은 여러 인터페이스 및/또는 별개의 시스템들이 필요업이 다른(가능하게는 전매 특허) 통신방법을 갖는 다른 제조업체 및/또는 디바이스들로부터 디바이스를 지원할 수 있다. 소정 실시예에서, 디바이스들은 적어도 2, 3, 4, 5, 6, 7, 8, 9, 10개 등의 다른 제조업체들에 의해 제조될 수 있다.
소정 실시예에서, 시스템 및 디바이스들은 하나의 인터페이스 또는 실질적으로 소수의 인터페이스들로부터 다수의 플랫폼들에 연결할 능력을 가질 수 있다. 예컨대, 단일 인터페이스는 적어도 3, 4, 5, 6, 7, 8, 9, 10개의 다른 플랫폼들에 연결되도록 구성될 수 있다. 소정 실시예에서, 플랫폼들은 유무선 통신 기준을 포함할 수 있다. 소정 실시예에서, 통신 프로토콜은 전매특허될 수 있다.
본 발명의 내용에 포함됨.
본 개시의 특징, 태양 및 이점들은 하기의 설명, 특허청구범위 및 첨부도면을 참조로 더 잘 이해될 것이다:
도 1은 소정의 실시예에 따른 고객 컴퓨터와 인프라구조 공급자 통신네트워크에 연결된 통합시스템의 블록도이다.
도 2는 소정의 실시예에 따른 통합 시스템의 예시적인 하드웨어 아키텍처의 블록도이다.
도 3은 소정의 실시예에 따른 통합 시스템의 예시적인 소프트웨어 아키텍처의 블록도이다.
도 4는 소정의 실시예에 따른 통합 시스템의 예시적인 변환 서비스 구성요소의 블록도이다.
도 5는 소정의 실시예에 따른 다른 네트워크들 및 다른 고객 디바이스들에 애플리케이션을 배치하는 다른 서비스 공급자들의 블록도이다.
도 6은 소정 실시예에 따른 통합 시스템의 예시적인 구성요소 업데이트 프롤세스의 블록도이다.
도 7은 소정 실시예에 따른 다른 사용자 장비 및 다른 인프라구조 공급자 네트워크에 연결된 통합 시스템의 블록도이다.
도 8은 소정 실시예에 따른 고객 게이트웨이에 연결된 인프라구조 공급자 네트워크의 블록도이다.
도 9는 소정 실시예에 따른 2개 통합 시스템들간에 디바이스 로밍을 도시한 블록도이다.
도 10은 소정 실시예에 따른 다양한 고객 디바이스들과 인프라구조 공급자 장비에 연결된 통합 시스템의 블록도이다.
도 11은 소정 실시예에 따른 다양한 고객 디바이스들과 인프라구조 공급자 장비에 연결된 통합 시스템의 블록도이다.
도 12는 소정 실시예에 따른 복수의 기관들(가령, 은행들)을 상호연결하는 통합 시스템의 블록도이다.
도 13은 소정 실시예에 따른 애플리케이션 프로세싱의 다양한 태양들을 다루기 위한 통합 시스템의 블록도이다.
하나 이상의 실시예들을 참조로 본 개시를 상세히 설명할 것이며, 실시예들 각각이 첨부도면에 도시되어 있다. 예제 및 실시예들은 단지 설명을 위해 제공되며 본 개시의 범위에 대한 제한으로 해석되지 않아야 한다. 더욱이, 한 실시예의 일부로서 도시되거나 설명된 특징들은 한 실시예의 일부가 다른 실시예들을 제공하기 위해 하나 이상의 다른 실시예들과 함께 사용될 수 있기 때문에 도시되거나 기술된 다른 실시예들 및 특징들을 스스로 제공하는데 이용될 수 있다. 본 개시는 이들 변형들 및 실시예들뿐만 아니라 다른 변형들 및/또는 변경들을 포함하는 것임을 알게 될 것이다.
특허청구범위, 요약서 및 도면을 포함한 본 명세서에 개시된 특징들은 명확히 다르게 진술하지 않는 한 동일하거나 등가이거나 유사한 목적을 제공하는 다른 특징들로 대체될 수 있다. 따라서, 명확히 다르게 진술되지 않는 한, 개시된 각 특징은 일반적인 일련의 등가 또는 유사한 특징들의 일예이다.
일반적으로, 본 명세서에 기술된 실시예들은 서비스 공급자들과 엔드-디바이스들 간에 통신을 가능하게 하기 위한 통합 시스템을 포함할 수 있다. 소정의 실시예에서, 통합 디바이스는 엔드 디바이스들에 대한 데이터를 저장하기 위해 적어도 하나의 메모리; 및 복수의 엔드 다비이스들을 위해 의도된 서비스 공급자들로부터 통신을 수신하고 상기 통신을 복수의 엔드 디바이스들에 재전송하기 위한 인터페이스를 포함할 수 있다. 소정의 실시예에서, 복수의 엔드 디바이스들은 2 이상의 다른 서비스 공급자들과 소통하도록 구성될 수 있고, 통합 시스템은 서비스 공급자로부터의 유입한 통신을 엔드 디바이스에 해당하는 통신 프로토콜로 번역하도록 구성될 수 있다.
소정 실시예에서, 통합 디바이스는 공통 프로토콜(가령, XML, SOAP, REST, JSON, AMQP)을 이용해 서비스 공급자들로부터 통신을 수신하기 위한 공통 인터페이스를 더 구비할 수 있다.
소정 실시예에서, 통합 디바이스는 복수의 서비스 공급자들을 가로질러 액세스 관리 프로토콜을 실행하기 위한 프로세서들을 더 구비할 수 있다.
소정 실시예에서, 액세스 관리 프로토콜은 보안 프로토콜(가령, PKI, RADIUS, Active Directory, LDAP)을 포함할 수 있다.
소정 실시예에서, 보안 프로토콜은 인증, 서비스 공그자 권리 및 역할, 엔드 디바이스 데이터 또는 서비스 공급자 데이터 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 통합 디바이스는 엔드 디바이스들에 배포하기 위한 애플리케이션들(가령, 온도, 모델 업그레이드, 빌딩 컨트롤, 보건, 공사(公事), 농업, 자산관리, 물류, 수도, 가스, 홈 오토메이션에 대한 모니터링, 빌링, 지오 펜싱(geo fencing), 알람, 셀프-힐링, 중복, 디바이스 컨트롤, 자동 컨트롤을 위한 애플리케이션)을 저장하기 위한 애플리케이션 키오스크를 더 구비할 수 있다.
소정 실시예에서, 서비스 공급자들은 애플리케이션을 엔드 디바이스에 제공하기 위해 엔드 디바이스들과 소통하길 바랄 수 있다.
소정 실시예에서, 서비스 공급자들은 엔드 디바이스들(가령, 소프트웨어 버전, 하드웨어 버전, 디바이스 상태, 인터페이스 상태, 위치, 에러, 온도, 전압)를 쿼리하기 위해 엔드 디바이스들과 소통하길 바랄 수 있다.
소정 실시예에서, 서비스 공급자들은 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜(가령, IPV4, IPV6, SEP1.0, SEP1.1, FMP, Zigbee, Coronis, IEC61850, IEC61107, MQTT, MQTTS, AMQP)을 요청하길 바랄 수 있다.
소정 실시예에서, 통합 시스템은 엔드 디바이스로부터의 통신을 서비스 공급자에 해당하는 프로토콜로 번역하도록 더 구성될 수 있다.
소정 실시예에서, 엔드 디바이스들은 고객 구내의 유틸리티 디바이스들, 모바일 디바이스들, 휴대용 디바이스들, 및/또는 장착된 트랙킹 디바이스들 또는 센서들 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 서비스 공급자들은 엔드 디바이스 제조업체, 공익기업, 및/또는 제3자 서비스 공급자들(가령, 제조업체들: General Electric, Samsung, Siemens, LG, Elster, Itron, Whirlpool, Electrolux. 공공기관들: Pacific Gas & Electric, San Diego Gas & Electric, Florida Power & Light Company. 제3자: IBM, Computer Science Corporation, Logica and Value Added Resellers (VAR’s)) 중 적어도 하나를 포함할 수 있다.
소정 실시예에서, 제조업체들에는 엔드 디바이스들에 펌웨어를 업데이트하고 애플리케이션을 제공하는 권한들이 주어질 수 있으며, 나머지 서비스 공급자들에게는 엔드 디바이스들을 쿼리할 권한들이 주어진다.
소정 실시예에서, 제조업체들에는 엔드 디바이스들에 펌웨어를 업데이트하고 애플리케이션을 제공하는 권한들이 주어질 수 있으며, 나머지 서비스 공급자들은 통합 시스템으로부터 엔드 디바이스에 해당하는 프로토콜을 요청하길 바란다.
소정 실시예에서, 적어도 3(가령, 적어도 2, 3, 4, 5, 10, 15, 20, 25 등)개의 다른 통신 프로토콜들을 이용하는 적어도 100(가령, 적어도 75, 100, 150, 200, 500, 1000, 10000, 25000, 50000, 100000, 1000000, 10000000 등)개의 엔드 디바이스들이 있을 수 있다. 소정 실시예에서, 3 내지 25개, 3 내지 15개, 3 내지 10개, 4 내지 25개, 4 내지 15개, 4 내지 10개, 5 내지 25개, 5 내지 15개, 5 내지 10개, 10 내지 25개, 10 내지 15개, 또는 10 내지 20개의 다른 통신 프로토콜들을 이용하는 50 내지 1천만 개, 100 내지 천만 개, 100 내지 1백만 개, 100 내지 100,000개, 500 내지 200,000개, 1000 내지 500,000개, 5000 내지 200,000개, 5000 내지 500,000개, 5000 내지 2백만 개, 10,000 내지 5천만 개, 100,000 내지 5천만 개, 250,000 내지 5천만 개의 엔드 디바이스들이 있을 수 있다. 가령, 디바이스들은 업데이트, 새로운 애플리케이션, 보정된 측량법 등을 수신할 수 있다. 엔드 디바이스들 중 적어도 60%, 70%, 80%, 90%, 95%, 97%, 99%, 또는 99.5%가 업데이트가 가능한 1, 5, 10, 20, 30, 60 분, 2 시간, 3 시간, 8 시간, 24 시간, 또는 48 시간 내에 업데이트될 수 있다. 대안으로 또는 조합으로, 엔드 디바이스들은 서비스 공급자들이 적어도(가령, 적어도, 2, 3, 4, 5, 10, 15, 20, 25개 등) 다른 통신 프로토콜들을 이용해 엔드 디바이스들로부터 컨텐츠를 수신할 수 있도록 컨텐츠, 정보 및/또는 데이터를 실질적으로 실시간으로 서비스 공급자들에 제공할 수 있다. 소정 실시예에서, 엔드 디바이스의 적어도 60%, 70%, 80%, 90%, 95%, 97%, 99%, 또는 99.5%가 업데이트가 가능한 1, 5, 10, 20, 30, 60 분, 2 시간, 3 시간, 8 시간, 24 시간, 또는 48 시간 내에 서비스 공급자들에게 컨텐츠, 정보 및/또는 데이터를 제공할 수 있다.
엔드 디바이스들과 다른 통신 프로토콜들의 개수의 다른 조합들도 또한 엔드 디바이스가 업데이트, 새로운 애플리케이션, 수정된 측정법 등을 수신하는데 걸리는 시간 및/또는 엔드 디바이스가 컨텐츠, 정보 및/또는 데이터를 서비스 공급자들에 제공하는데 걸리는 시간과 조합해 고려된다.
소정 실시예에서, 적어도 5개의 다른 통신 프로토콜들을 이용하는 적어도 10,000개의 엔드 디바이스들이 있을 수 있다.
소정 실시예에서, 적어도 10개의 다른 통신 프로토콜들을 이용하는 적어도 100,000개의 엔드 디바이스들이 있을 수 있다.
소정 실시예들은 디바이스에 관한 것이고/것이거나 시스템들이 다수의 네트워크 타입들을 가로지르는 디바이스들을 포함해 더 많은 디바이스들을 지원할 수 있다. 예컨대, 시스템은 다수의 인터페이스들 및/또는 별개의 시스템들을 필요치 않고도 다른 제조업체의 디바이스들 및/또는 다른(가능하게는 전매 특허의) 통신 방법들에 따른 디바이스들을 지원할 수 있다. 소정 실시예에서, 디바이스들은 적어도 2, 3, 4, 5, 6, 7, 8, 9, 10개 등으로 제조될 수 있다. 소정 태양에서, 디바이스들은 적어도 다른 제조업체들에 의해 1 에서 20개, 2 에서 10개, 2 에서 20개, 3 에서 15개, 5 에서 25개, 3 에서 12개 등으로 제조될 수 있다.
소정 실시예들은 하나의 인터페이스 또는 실질적으로 소수의 인터페이스들로부터 다수의 플랫폼들에 연결하는 능력을 가질 수 있는 시스템 및/또는 디바이스들에 관한 것이다. 예컨대, 하나의 인터페이스는 적어도 3, 4, 5, 6, 7, 8, 9, 10개 등에 연결되도록 구성될 수 있다. 예컨대, 하나의 인터페이스는 2 에서 10개, 3 에서 10개, 4 에서 10개, 2 에서 5개, 3 에서 8개, 4 에서 8개 등의 다른 플랫폼들에 연결되도록 구성될 수 있다. 플랫폼들은 유선 및/또는 무선 통신표준을 포함할 수 있다. 통신 프로토콜은 전매특허일 수 있다.
본 개시는 장비 및 프로세스들이 본 명세서에 기술된 예시적인 시스템 및/또는 방법을 달성하는데 어떻게 이용될 수 있는지 기술하고 있다. 시스템은 가령 아래와 같이 하나 이상의 가능한 엔드 디바이스들(가령, 고객 기기, 산업장비, 모니터링 및 스위칭 시스템)에 사용하기 위한 컨트롤의 실질적으로 균일한 방법 및 실질적으로 균일한 애플리케이션 세트로 이용가능한 마이크로컨트롤러들을 만들기 위한 예시적인 메카니즘을 기술한다;
· 엔드 디바이스로 애플리케이션의 전달;
· 이런 디바이스들 상에 애플리케이션 및/또는 애플리케이션 특징들의 인에이블링 또는 활성화;
· 통신 매체 위로 애플리케이션을 통한 관리 및 컨트롤
· HTTP를 통한 XML과 같은 표준기반의 인터넷 프로토콜(SOAP 및 REST가 이 예임)의 이용을 통해 "서비스"로서 애플리케이션의 퍼블리싱 및 소비;
· 기능 특징들은 가령 다음 중 하나 이상을 포함할 수 있다:
o 가능한 경우 인프라구조와 더불어 디바이스 등록(가령, 자동 등록);
o 집합적으로 "앱 키오스크(App Kiosk)"로 알려진애플리케이션 리포지토리들을 통해 배치된 애플리케이션들;
o 인프라구조 공급자 네트워크를 통해 디바이스 및/또는 게이트웨이와 소통 및/또는 컨트롤;
o 하나 이상의 통합 시스템들의 이용을 통해 디바이스들 및 애플리케이션 서비스들의 어그리게이션(Aggregation) 및 퍼블리싱; 및/또는
o 애플리케이션, 프로파일, 및/또는 정책의 글로벌 퍼블리싱 및 발견;
o 디바이스들의 인증;
o 사용자들의 인증; 및/또는
o 모든 통신들의 암호화.
본 명세서에서 소정 실시예에 사용된 바와 같이, 하기의 용어들은 본 명세서에 기술된 예시적인 의미를 가질 수 있다:
고객 본 명세서에 기술된 바와 같이 통합 시스템에 연결될 수 있는 자산(가령, 장비, 기기 또는 디바이스)을 구매하는 개인 또는 회사
인프라구조 공급자 본 명세서에 기술된 시스템 및/또는 방법의 예를 발생하기 위한 통신 및 계산 자원을 제공하는 엔티티. (가령, 관리 시스템, 집중기, 통신망 등) 또한 3G, xDSL(DSL, ADSL, HDSL, VHDSL, 등), FTTH(국가 광대역 롤아웃/NBN에서와 같이 댁내광가입자망), 임의의 이동통신사 관리망 및/또는 사설 공공기관망(가령, 공공기관의 SCADA망) 또는 회사망(가령, MPLS 또는 DDN/DDS), 및/또는 Mesh망(802.14.5/ZigBee/6LowPAN/등)과 같은 "독점"고유망으로 기술된다.
서비스 공급자 고객 서비스를 제공하는 엔티티(가령, 디바이스 판매자), 소정 실시예에서, 고객은 통신목적용으로 인프라구조 공급자 네트워크를 이용해 서비스 공급자와 함께 디바이스를 등록할 수 있다.
웹서비스 장치
인터페이스
외부 인터페이스
애플리케이션 층 통신 프로토콜, 가령, 웹서비스, HTTP/HTTPs, MQ, MQTT/MQTT-s, AMQP, XMPP 및/또는 기타
디바이스 또는 엔드 디바이스 적어도 하나의 특이 함수를 수행하고 하나 이상의 애플리케이션들의 전달 및/또는 실행을 지원할 수 있는 소프트웨어 또는 펌웨어와 더불어 선택적으로 프로세싱 유닛 또는 컨트롤 회로
게이트웨이 다음 중 하나 이상의 임의 조합을 허용할 수 있는 통합 및/또는 통신방법들을 포함하는 디바이스:
애플리케이션의 포워딩; 데이터의 포워딩; 게이트웨이 너머 디바이스들의 컨트롤; 게이트웨이 너머 애플리케이션 디바이스들과의 통신; 및 디바이스 컨트롤 기능들의 임의의 표준 네트워크. 포워딩 기능은 IP 게이트위에 또는 라우터로서, 유선 및/또는 무선기술(이더넷, 3G, WIFI, ZigBee, 및 기타)과 같은 통신 기술들 간에 게이트웨이 또는 라우터로서 기능하는 것을 포함한다.
WSDL / XSLT / XML / DTD / XSD / 등 XML 용어체계의 이용은 전송가능한 데이터 포맷팅을 위한 표현 방법의 취지를 나타내는 것으로 간주된다. 상술하지 않은 JSON, CSV, YML 또는 기타 포맷들의 사용은 반대를 가르키지 않고 본 개시의 개개의 실시예들을 판단할 때 임의의 조합으로 사용될 수 있다.
인터넷 2가지 문맥으로, 즉, (1)"인터넷 프로토콜"의 일부로서 및 (2) 인터넷 프로토콜을 기반으로 공공망을 말하는 명사 "인터넷"으로 사용될 수 있다.
통합 서비스
메시징 서비스
변환 서비스
통합 서비스는 메시지 및 요청을 수신하기 위한 "브로커(Broker)"로서 행동한 후, 상기 메시지를 이런 메시지, 소정 타입의 메시지, 소정 디바이스로부터의 메시지들, 또는 모든 메시지들에 관심을 등록했을 수 있는 수령인에게 포워딩함(또는 나중에 포워딩을 위한 저장함)
메시징 서비스는 메시지의 송수신을 관리한다. 예들은 메시지를 수신하길 바라는 서비스에 대한 "가입자" 및 관심있는 가입자들에 "퍼블리시" 메시지들을 모듈화하는 "퍼블리시/가입자" 방법을 포함할 수 있다. 일예에서, 디바이스는 집중기 없이 301을 통해 가입자 및/또는 퍼블리시를 연결할 수 있다.
변환 서비스는 부분적으로 또는 실질적으로 메시지 컨텐츠를 변경하기 위한 변환 규칙들을 적용한다. 변환 서비스들은 가령 계기로부터 이진 메시지 덤프와 같은 공지의 포맷으로 메시지를 수신하고, 고객/소비자/애플케이션/애플리케이션 서비스 등에 의해 직간접적으로 이용될 수 있는 JSON 또는 XML과 같은 "공통" 포맷으로 이를 "변환"하도록 될 수 있다. 반대로, 변환 서비스는 또한 특정 포맷으로 구독될 수 있으나 (가령, 메시지 크기로 인해)"공통" 포맷으로 메시지를 수신 및 처리할 수 없는 디바이스로 전달하기 위해 공통 포맷에서 공지의 포맷으로 변환할 수 있다.
소정의 예시적인 실시예들이 도 1에 도시되어 있다. 도 1에 도시된 바와 같이, 통합 컴퓨터 시스템(120)은 웹브라우저, 휴대용 또는 모바일 전자 또는 통신 디바이스를 통해 이용가능한 웹인터페이스(301)와 같은 사용자 인터페이스를 제공하고, 인터페이스는 그래픽 디스플레이, 하나 이상의 웹페이지, (가령, 텔넷 프로토콜을 이용한 컴맨드 라인 인터페이스와 같은) 컴맨드 세션, 및 웹서비스 인터페이스(302), 컴퓨터(110), 컴퓨터 애플리케이션, 웹페이지 또는 휴대용 디바이스와 같은 디바이스 또는 고객이나 서비스 공급자의 디바이스 애플리케이션이 애플리케이션 키오스크(308)에 저장된 컴퓨터 프로그램 애플리케이션을 선택하도록 통합 시스템(120)과 연결 및 소통하게 할 수 있도록 되어 있는 인터페이스를 제공한다. 당업자가 아는 바와 같이, 키오스크는 애플리케이션을 저장하도록 구성된 하나의 컴퓨터 또는 하나 이상의 컴퓨터들일 수 있다. 예시적인 실시예에서, 키오스크는 제 3 자의 저장 시스템에서 실행될 수 있다. 선택된 애플리케이션은 통합 시스템(120)에 의해 인프라구조 공급자의 네트워크(130)를 통해 고객의 구내 장비 또는 디바이스(132)에 배치될 수 있다. 이를 가능하게 하기 위해, 통합 시스템(120)은 장비(134), 가령, 서버, 방화벽, 라우터 및 인프라구조 공급자의 네트워크(130)의 네트워크 장비와 직간접적으로 소통할 수 있다. 애플리케이션은 웹인터페이스(301)를 이용해 또는 웹서비스 인터페이스(302) 요청의 결과로서 애플리케이션을 전달하기 위해 선택될 수 있다. 예컨대, 기존 애플리케이션은 이용가능한 애플리케이션 업데이트를 요청 및 식별할 수 있다. 통합 시스템(120)의 애플리케이션 키오스크(308)는 통합 시스템(120)과 함께 등록되고 디바이스들(132)로 배치되게 이용될 수 있는 애플리케이션 및/또는 펌웨어 파일들에 대한 데이터를 저장 및/또는 관리할 수 있는 오라클 DB 또는 마이크로소프트 SQL 서버와 같은 데이터베이스 관리시스템에 의해 제공된 데이터베이스일 수 있다. 애플리케이션 번들이 클라우드 또는 제3자 위치에, 가령 110 또는 120 외부에 저장될 수 있다. 고객 디바이스(132)는 통신 네트워크(130)에 연결될 수 있는 다양한 고객구내장비(CPE) 형태로 될 수 있고, 네트워크(130)는 HAN(Home Area Network), 인터넷에 연결된 LAN(local area network), 기타 공공망 또는 이들의 조합을 포함할 수 있다. 디바이스(132)는 수급계기(utility meter), 모뎀, 기지국, 텔레비전 또는 홈 애플리케이션, 보안 시스템, 파워 릴레이, 빌딩 컨트롤 시스템, 가정 및/또는 산업 자동화 시스템, 물류관리 디바이스, 수동 모니터링 디바이스, 능동 모니터링 디바이스 등일 수 있다. 디바이스(132)는 하나 이상의 애플리케이션들에 대한 지원을 포함 및/또는 하나 이상의 애플리케이션들을 지원하는 디바이스 및/또는 펌웨어 및/또는 구성을 지원할 수 있는 디바이스와 소통할 수 있다(가령, 소정 실시예에서, 디바이스는 국제특허출원 No. WO2006/000033에 언급된 바와 같은 마이크로엔진(FME)일 수 있다). 디바이스(132)가 애플리케이션 코드를 수신할 수 있는 프로세싱 회로를 포함하지 않는 경우, 하나 이상의 애플리케이션들을 지원하는 디바이스와 같이, 코드를 수신할 수 있는 디바이스와 소통할 필요가 있을 수 있다.
소정 애플리케이션에서, 애플리케이션 키오스크(308)와 함께 등록되고 검증된 애플리케이션들은 컴퓨터 프로그램 애플리케이션용 애플리케이션 번들의 일부이다. 애플리케이션 번들은 하기의 구성요소들 중 하나 이상의 임의 조합을 포함할 수 있다:
(a) 애플리케이션 정책. 네트워크, 위치, 국가 등과 같은 다른 환경에 대한 애플리케이션에 적용하는 구성 설정 세트를 포함한 XML 파일과 같은 구성 데이터 파일. 구성 데이터는 가령 고객 특정 데이터, 빌링 데이터, 허용 및/또는 보안 데이터를 포함할 수 있다. 정책은 통합 시스템(120)에 의해 보호, 통제 및/또는 편집될 수 있다.
(b) 애플리케이션 프로파일. 응용프로그램 인터페이스(API) 및/또는 애플리케이션용 변환 규칙들을 포함한 WSDL 파일과 같은 서비스 정의 데이터 파일. API 규칙들은 디바이스(132)와 같은 프로파일을 지원하는 광범위한 디바이스들에 대한 애플리케이션의 일부로서 이용될 수 있는 API 명령어들을 포함할 수 있다. 프로파일은 다른 타입의 디바이스들(132)에 이용되거나 될 수 없는 명령어들을 정의할 수 있다. 소정 애플리케이션에서, 프로파일은 고유의 명령어들이 고유의 또는 특정 타입 또는 분류의 디바이스들(132)에 이용될 수 있는 것을 나타내고/나타내거나 설명할 수 있다. 애플리케이션 프로파일은 통합 시스템(120)의 웹서비스 인터페이스(302) 및 변환 서비스(303)를 이용해 애플리케이션과 고객/서비스 공급자(110) 간에 소통을 정의할 수 있다.
(c) 애플리케이션 코드. 하나 이상의 애플리케이션을 지원하는 디바이스(132)용 애플리케이션의 실행가능한 이진 코드. 소정 애플리케이션에서, 코드는 애플리케이션 서명, 액세스 컨트롤 및/또는 허용 데이터와 같은 보안 특징들을 포함할 수 있다.
(d) 애플리케이션 서비스 코드. 통합 시스템(120)에 실행될 수 있는 C, C#, 자바(Java), 루비(Ruby), 파이썬(Python) 또는 임의의 다른 프로그래밍 언어를 이용해 개발된 실행가능한 이진 코드. 애플리케이션 서비스 코드는 다음 중 하나 이상을 제공할 수 있다: (a) 디바이스 및/또는 디바이스에 대한 애플리케이션 지원, (b) 휴먼 인터페이스, 가령 웹 인터페이스, 텔넷 인터페이스 제공, (c) 장치 인터페이스, 가령 웹서비스 인터페이스, XML/HTTP/SOAP/REST/JSON 또는 이들의 임의의 조합 또는 디바이스나 장치 인터페이스를 통해 디바이스에 대한 애플리케이션을 지원하는데 필요한 임의의 다른 포맷을 제공.
(e) 기타 파일. 필요에 따라, 예는 애플리케이션 또는 디바이스 구성 파일들, 메뉴 정보 및 도움말 파일을 포함할 수 있다.
애플리케이션을 수신하고 실행하는 능력을 충분히 지원하지 못하는 고객 디바이스들에 대해, 통합 시스템은 본 명세서에 열거된 구성요소들 중 하나 이상을 포함한 애플리케이션 키오스크(308)에 있는 애플리케이션 번들을 배치 및/또는 저장할 수 있다. 고객 디바이스들(132)에 대해, 통합 시스템은 가령 직접 디바이스에 및/또는 하기의 하나 이상의 유사한 구성요소들의 임의 조합을 포함할 수 있는 애플리케이션 키오스크(308)에 애플리케이션 번들을 배치 및/또는 저장할 수 있다:
(a) 다른 환경들에 대한 애플리케이션에 적용하는 구성 셋팅들을 포함할 수 있는 구성 데이터 파일.
(b) 디바이스 프로파일. 본 명세서에 언급된 애플리케이션 프로파일과 유사한 디바이스에 대한 서비스 정의 데이터 파일. 디바이스 프로파일은 또한 애플리케이션용 API 및/또는 변환 규칙들을 포함하는 WSDL 파일과 같은 서비스 정의 데이터 파일을 포함할 수 있다.
(c) 디바이스 펌웨어. 이는 애플리케이션을 실행하기 위해 디바이스(132)에 대한 실행가능한 이진 코드이다.
(d) 다른 파일들. 필요에 따라, 예는 구성 파일, 고객 정보, 제품 정보 등을 포함할 수 있다.
애플리케이션의 공개된 APIs는 고객 디바이스(132)에 배치된 애플리케이션을 컨트롤 및/또는 고객 디바이스(132)에 배치된 애플리케이션과 상호작용하도록 통합 시스템(120)의 웹서비스 인터페이스(302)를 통해 고객 및 서비스 공급자(110)에 이용될 수 있다.
소정의 예시적인 실시예들이 도 2에 도시되어 있다. 도 2에 도시된 바와 같이, 통합 컴퓨터 시스템(120)은 Lenovo사(社), IBM사, or Apple사가 제조한 32 또는 64비트 인텔 아키텍쳐 컴퓨터와 같은 표준 컴퓨터(202)를 기반으로 할 수 있다. 컴퓨터 시스템(202)에 의해 실행된 프로세서는 컴퓨터(202)의 비휘발성(가령, 하드 디스크) 스토리지(204)에 저장된 소프트웨어 구성요소 또는 모듈(250)의 컴퓨터 프로그램 명령어 코드에 의해 정의되고 컨트롤될 수 있다. 소정의 애플리케이션에서, 컴퓨터 시스템(202)에 의해 실행된 프로세서는 컴퓨터(202)의 비휘발성(가령, 하드 디스크) 스토리지(204)에 저장된 소프트웨어 구성요소 또는 모듈(250)의 컴퓨터 프로그램 명령어 코드 및/또는 데이터에 의해 전체적으로 또는 일부분으로 정의 및/또는 컨트롤될 수 있다. 모듈(250)에 의해 수행된 프로세서는 대안으로 ROM(Read Only Memory)에 저장된 펌웨어에 의해 또는 적어도 부분적으로 ASICs(Application Specific Integrated Circuits) 및/또는 FPGAs(Field Programmable Gate Arrays)와 같은 컴퓨터(202)의 전용 하드웨어 회로에 의해 실행될 수 있다.
소정 애플리케이션에서, 컴퓨터(202)는 RAM(206), 적어도 하나의 마이크로프로세서(208), 및 가령 시스템 버스(216)에 의해 연결되는 외부 인터페이스(210,212,214)를 포함할 수 있다. 외부 인터페이스는 USB 인터페이스(210), NIC(Network Interface Connector)(212), 및 디스플레이 어댑터(214)를 포함할 수 있다. USB 인터페이스(210)는 키보드 및 마우스(218)와 같은 입출력 디바이스에 연결될 수 있다. 디스플레이 어댑터(214)는 LCD 디스플레이 스크린(222)과 같은 디스플레이 디바이스에 연결될 수 있다. NIC(212)는 컴퓨터(202)가 통신 네트워크(220)에 연결되게 할 수 있다. 네트워크(220)는 LAN, WAN, PSTN, 인터넷, 휴대폰 네트워크 등과 같은 기존 네트워크들(130) 중 하나 또는 조합을 포함할 수 있다. 컴퓨터(202)는 마이크로소프트 윈도우, 맥 OSX 또는 리눅스와 같은 운영 시스템(OS)(224)을 포함한다. 모듈(250)이 OS(224)상에 실행될 수 있고, 운영 또는 기능에 해를 주지 않으면서 C, C++, 파이썬, 루비, C#, 등과 같은 언어들을 이용해 작성된 프로그램 코드를 포함한다.
도 3은 소정의 예시적인 실시예들을 도시한 것이다. 통합 시스템(120)의 모듈들(250)은 도 3에 도시된 바와 같이 브라우저 기반의 액세스 및 관리를 지원하는 웹인터페이스(301)를 포함할 수 있다. 웹인터페이스(301)의 한가지 기능은 고객, 공급자 및/또는 디바이스(132)를 추가 및/또는 제거하는 것과 같이 통합 시스템(120)내에 엔티티들의 조작 및 관리를 위한 것일 수 있다. 가령 Apache Tomcat5, WS02 또는 Oracle WebLogic에 의해 제공된 웹서비스 인터페이스(302)는 WSDL 및 애플리케이션 및/또는 API 기반의 애플리케이션 액세스 및/또는 관리를 위한 디바이스 프로파일 기반의 통신을 지원하는데 이용될 수 있다. 웹서비스 인터페이스(302)는 애플리케이션의 자동 전개 및/또는 조작을 제공할 수 있다. 웹인터페이스(301)에 접속한 사용자들에 의해 보여지고 선택되게 이용될 수 있는 프로파일 서비스 정의 구성요소들에 기술된 애플리케이션 인터페이스를 제공함으로써 하나 이상의 애플리케이션들을 지원하는 고객 디바이스(132)에서 애플리케이션의 컨트롤이 표현될 수 있다. 애플리케이션들의 특징들은 애플리케이션에 대한 프로파일의 일부로 표현되고/표현되거나 고객에 대한 서비스로서 이용될 수 있다.
소정 애플리케이션에서, 웹서비스(302)를 통한 외부 요청들은 연방 서비스 프레임워크(304)를 통해 인증을 조정하는 통합 서비스 메시지 브로커(317)에 의해 관리될 수 있다. 인증은 또한 변환 서비스(303)를 통한 변환 및 웹서비스(302)를 통해 상기 요청을 애플리케이션 서비스(313)에 또는 외부 고객 또는 디바이스에 전달함으로써 조정될 수 있다. 소정 실시예에서, 연방 서비스 프레임워크(304)는 요청 및/또는 거래가 빌링 및/또는 보안 목적을 위해 회계감사모듈(305)을 통해 로그되는 것을 보장하게 도울 수 있다. 연방 서비스 모듈(304)은 요청을 위해 액세스 관리모듈(307)을 관리하고 조정할 수 있다. 소정 애플리케이션에서, 연방 서비스 모듈(304)은 요청들의 상당부분 또는 요청들 모두에 대해 액세스 관리모듈(307) 및 변환 서비스 모듈(303)을 관리 및/또는 조정할 수 있다. 소정 애플리케이션에서, 통합 서비스 메시지 브로커(317)는 요청의 상당 부분에 대해 연방 서비스 모듈(304) 및/또는 메시징 서비스(318) 및/또는 변환 서비스(303) 및/또는 애플리케이션 서비스(313)을 관리 및/또는 조정할 수 있다.
소정 애플리케이션에서, 액세스 관리모듈(307)은 보안관리 서비스층(309)를 이용해 사용자에 의한 웹서비스 인터페이스 요청을 검증하는데 이용될 수 있다. 이것이 완료된 후에, 인증된 사용자에 대한 정보는 가령 고객관리모듈(306)을 이용해 엔드 디바이스 및/또는 정책을 식별하는데 사용될 수 있다. 고객관리모듈(306)을 통해 발견된 정보는 보안 목적으로 로그될 수 있다.
소정 애플리케이션에서, 컴퓨터, 고객 및/또는 디바이스의 인증을 다루기 위해 한 세트의 보안관리서비스들(309)이 이용될 수 있다. 예로서, 인증 공급자(310)는 Microsoft Active Directory Services, RADIUS, LDAP, 데이터베이스(Database) 등 중 하나 또는 조합과 같이 보안정보의 내부 또는 외부 공급자일 수 있다. 인증 정보가 획득된 후에, 보안 공급자(311)는 액세스 컨트롤 정보의 데이터베이스를 이용해 기능들이 실행될 수 있고, 엔드 디바이스들(132)이 상호작용될 수 있는 사용자에 이용가능한 액세스를 식별한다. 소정 애플이케이션에서, 인증 정보가 얻어지면, 보안 공급자(311)는 액세스 컨트롤 정보의 데이터베이스를 이용해 기능들이 실행될 수 있거나, 엔드 디바이스들(132)이 상호작용될 수 있거나, 이들의 조합인 사용자에 이용가능한 액세스를 식별한다.
디바이스 및 고객 데이터 스토어(312)는 웹서비스 인터페이스(302) 요청 및 현재 또는 두드러진 거래에 대한 정보를 존속시키는데 사용되는 데이터 리포지토리(data repository)이다. 이는 또한 통합 시스템(120)이 필요한 고객, 사용자, 공급자 및/또는 디바이스(132)에 대한 데이터를 유지할 수 있다.
웹서비스 인터페이스 요청은 애플리케이션 키오스크(308)에 포함된 애플리케이션 또는 디바이스 프로파일과 애플리케이션 정책 또는 구성 데이터를 이용해 변환 서비스 모듈(303)에 의해 검증되고 변환될 수 있다. 애플리케이션이 애플리케이션 코드 및 정책 또는 구성과 함께 디바이스(132)에 또는 디바이스(132)에 대해 배치된 다음, 변환 서비스(303)에 의해 애플리케이션 또는 디바이스 프로파일이 이용될 수 있다.
소정 실시예에서, 변환 서비스 구성요소(303)는 SOAP, HTTPS, XML 및 WSDL의 조합일 수 있는 고급 웹서비스 인터페이스(302) 요청들 간에 번역을 제공하는 데이터 프로세서일 수 있다. 웹서비스 인터페이스 요청은 고급 데이터 타입 및 이뉴머레이션(enumeration)으로 표현된 아규먼트(argument)로 'Light On' 및 'Request Meter Data'와 같은 API 명령어들을 합체한 고급 XML 요청들을 포함할 수 있다. 배치된 애플리케이션들은 XML, CSV, ASCII, 또는 패킷 이진 데이터 구조를 포함한 다양한 포맷들의 요청들을 예상할 수 있다. 변환 서비스 구성요소(303)는 유입 XML 요청과 애플리케이션 프로파일 및/또는 디바이스에 정의된 바와 같이 애플리케이션 특정 요청 포맷 간의 변환을 실행한다. 변환 서비스 구성요소(303)는 또한 애플리케이션 특정 요청 포맷으로부터 고급 웹서비스 인터페이스(302) 응답에 적합한 고급 XML 포맷으로 역변환을 수행할 수 있다. 변환은 웹서비스 스키마 검증(XSD), XSLT를 이용한 번역, 애플리케이션 스키마 검증(XSD) 또는 그 조합을 포함할 수 있다.
소정 애플리케이션에서, 변환 서비스 구성요소(303)는 통합 시스템(120)과 소통할 수 있는 개개의 디바이스들(132) 및 애플리케이션들 또는 디바이스들(132) 각각 또는 상당수와 웹서비스 인터페이스 요청(302)의 통합을 책임질 수 있다. 소정 실시예에서, 시스템(120)에 의해 관리되고 지원되는 디바이스 또는 애플리케이션은 본 명세서에 논의된 바와 같이 피검색 디바이스 또는 애플리케이션 프로파일(404)을 필요로 할 수 있다. 디바이스 또는 애플리케이션용 프로파일은 외부에 액세스 가능한 웹서비스 인터페이스(WSDL), 유입 XML 요청들을 검증(406)하는데 사용되는 스키마(XSD) 및 각각의 메시지 프로세서들(408 및 410)에 의해 실행된 메시지 변환 프로세싱을 수행하는데 사용된 코드 모듈(플러그 인) 또는 변환규칙들(XSLT) 세트를 포함할 수 있다. XML 요청은 웹서비스 인터페이스(302)를 통해 수신된다. 요청은 디바이스 및/또는 애플리케이션으로부터, 또는 웹인터페이스(301)를 통해 직접적이거나 간접적으로 수신될 수 있고, 하나 이상의 엔드 디바이스들에 예정될 수 있다. 연방 서비스(340)에 의해 성공적으로 승인된 후, 요청은 변환 매니저(402)에 의해 처리될 수 있다. 변환 매니저(402)는 애플리케이션 키오스크(308)로부터 관련 애플리케이션 프로파일(404)을 검색한다.
타겟 디바이스 각각 또는 상당수에 대해, 메시지 타겟이 선택될 수 있고(412), 메시지 프로세싱이 계속된다.
메시지 타켓 선택(412)은 메시지 또는 요청의 의도된 수령인을 결정한다. 애플리케이션을 포함하는 것으로 알려질 때, 의도된 수령인은 애플리케이션 키오스크(308)로부터 애플리케이션 프로파일이 검색되게 한다(404).
애플리케이션 프로파일이 XSD(XML 스키마 딕셔너리) 또는 등가물을 포함하면, 메시지가 검증된다(406).
애플리케이션 프로파일이 XSLT(XML Stylesheet Language Transformation) 또는 등가물을 포함하면, 메시지가 검증된다(408).
애플리케이션 프로파일이 실행가능 변환코드를 포함하면, 변환코드의 실행을 통해 변환이 수행될 수 있다(410).
선택적 변환 및 변환 후에 메시지가 웹서비스 인터페이스(302)를 통해 응답으로서 전달을 위해 패키지될 수 있다(414).
그런 후 프로세싱이 다음 이용가능한 메시지 타겟과 계속되어, 메시지 목적지 각각 또는 상당수가 전달 전에 고유의 변환 및 검증 규칙들을 적용하게 한다.
소정 애플리케이션에서, 변환 서비스 구성요소(303)는 또한 사용자, 가령 디바이스 소유자가 명령을 내리고/내리거나 추가 변환이나 플러그-인 프로세싱을 수행하지 않고도 원격 디바이스를 왔다갔다하며 데이터를 직접적으로(또는 간접적으로) 송수신하게 하는 '패스-스루'라고 하는 프로세스를 변환 메니저(402)가 지원하기 때문에 디바이스 및/또는 디바이스의 애플리케이션에 대한 원격 액세스를 지원할 수 있다. 디바이스 프로파일이 통신방식(즉, 프로토콜) 및 패스-스루 능력을 명시할 때 패스-스루가 이용될 수 있다. 웹서비스 요청(302)을 통한 요청시, 사용자의 외부장비(110)와 디바이스(132) 자체 간에 보안 통신 채널의 확립을 통해 패스-스루 능력이 활성화될 수 있다. 디바이스가 웹서비스 인터페이스 및 변환 또는 플러그-인을 통해 적절하게 지원받을 수 없는 경우, '패스-스루'는 사용자 장비(110)가 원격 디바이스(132)에 영향받지 않은 채 전달되는 명령을 내리게 한다.
소정 실시예에 따른 통합 시스템(120)의 유연성이 도 5에 도시되어 있다. 도 5에 도시된 바와 같이, 서비스 공급자는 (웹인터페이스(301) 또는 웹서비스 인프라구조(302)와 같은 장치 인터페이스와 같은) 외부 인터페이스를 통해 통합 시스템(120)을 이용하기 위한 컴퓨터 장비(502,520)를 이용할 수 있다. 제 1 서비스 공급자(502)는 하나 이상의 애플리케이션 및/또는 정책들을 지원하는 디바이스들 또는 애플리케이션 코드, 애플리케이션 정책, 애플리케이션 프로파일 또는 그 조합을 포함한 애플리케이션 번들을 받아들일 수 있는 다른 디바이스들에 대해 애플리케이션 번들을 배치한다. 애플리케이션 코드 및 정책은 인터넷(506)과 같은 네트워크(507) 또는 DSL 130 또는 3G 707 서비스를 제공하는 도 11에 기술된 바와 같은 관리형 통신 네트워크를 통해 직접적으로 전달될 수 있다.
애플리케이션 코드 및 정책은 디바이스들(508)에 전달을 위한 WiBro 통신 네트워크(506)와 같은 통신 네트워크와 소통하는 제 1 FMS 집중기(504)를 이용해 다운로드될 수 있다.
디바이스(508)는 통합 시스템(102)과 직접 소통하거나 하나 이상의 게이트웨이(802) 디바이스 또는 FMS 집중기 시스템(504)과 같은 중간 네트워킹 디바이스와 함께 사용될 때 통합 시스템(102)과 간접 소통하게 할 수 있다.
소정 실시예에서, 제 2 서비스 공급자는 컴퓨터 장비(520)를 이용해 구성 코드 및/또는 디바이스 펌웨어 코드 및/또는 디바이스 프로파일 또는 그 조합을 포함한 통합 시스템(120)에 애플리케이션 번들을 배치할 수 있다. 번들용 구성 데이터 및 펌웨어 코드는 제 2 FMS 집중기(528)를 이용해 DSL 및/또는 3G 네트워크(524 및 526) 위로 애플리케이션 번들의 배치를 지원할 수 있는 디바이스(522)에 다운로드될 수 있다. 통합 시스템(120)에 저장된 애플리케이션 및 디바이스 프로파일은 서비스 공급자(502 및 520)가 메시지를 보내고/보내거나 각각의 디바이스(508 및 522)로부터 직접적으로(또는 간접적으로) 응답을 수신하게 하고 또한 통합 시스템(120)의 웹서비스 인터페이스(302)를 이용해 광범위한 애플리케이션들을 배치할 수 있다.
디바이스(522)는 집중기(528)의 사용을 통해 서비스 공급자(520)와 소통할 수 있다.
소정 실시예에서, 통합 서비스 구성요소(317)는 디바이스 소스 및 애플리케이션 프로파일 데이터로서 애플리케이션 키오스크(308)를 이용할 수 있다. 지원된 애플리케이션 프로파일은 다음 중 하나 이상을 포함할 수 있다:
(a) 웹서비스 기반의 스키마(XDS), 변환(XSLT) 및 인터페이스 사양(WSDL) 디테일을 포함할 수 있는 하나 이상의 애플리케이션을 지원하는 디바이스들에 대한 애플리케이션 프로파일 디테일;
(b) 애플리케이션 없이 동작을 지원하는 디바이스용 디바이스 프로파일 디테일. 디바이스 프로파일은 하드웨어 특징 및/또는 능력 및/또는 리모트 펌웨어나 구성 업그레이드 지원 디테일을 포함하나 이에 국한되지 않는 애플리케이션 없이 동작하는 디바이스에 고유하거나 실질적으로 고유한 선택적 디바이스 특정 속성들을 갖는 디바이스 애플리케이션 프로파일 디테일과 유사한 스키마(XSD), 변환(XSLT) 인터페이스 사양(WSDL)을 포함한다.
(c) 통합 시스템 통신 프로토콜들을 본래대로 지원하지 않는 디바이스들에 대한 통신 디테일 및 선택적 "플러그-인". "플러그-인"은 고유의 디바이스 변환을 적용 및/또는 게이트웨어(802)와 같은 물리적 통신을 관리하도록 설계된 소프트웨어 코드 모듈을 포함할 수 있다. 변환 결과는 다른 해석없이 디바이스로 직접적으로(또는 간접적으로) 전달된다.
소정 애플리케이션에서, 애플리케이션 및 디바이스 프로파일은 다음 중 하나 이상을 포함할 수 있다:
(i) WSDL(Web Services Definition Language) 파일.
WSDL 파일은 웹서비스 인터페이스(302) 사용자에게 액세스될 수 있는 인터페이스 세트를 정의하는 일련의 명령어들을 포함한다. 첨부한 부록에 제공딘 예시적인 WSDL 파일은 am2m.sendCommand 웹서비스 API의 정의를 나타낸다. "sendCommand" 서비스는 디바이스(132)로 XML 명령을 전달하기 위해 고객에 의해 외부로 불러낼 수 있다.
(ii) XSD(XML Schema Definition) 파일.
XSD 파일은 유입 XML 웹요청 또는 메시지를 검사 및/또는 검증하는데 사용된 스키마 정의를 포함한다. "sendCommand"와 같은 명령이 고객에 의해 XML 메시지를 보내도록 사용된 후에, 메시지 그자체가 검증될 수 있다. XSD 파일을 이용해, XML 메시지가 검사될 수 있다. 메시지가 스키마 정의에 따라 정확하게 입증될 수 없다면, 에러가 사용자에 반환된다. 첨부 부록에 제공된 예시적인 XDS 파일은 조명 제어와 관련된 많은 명령어들에 대한 스키마를 나타낸다.
(iii) XSLT(Extensible Stylesheet Language Transformation)
XSLT 파일은 메시지 변환 프로세서(408)를 이용해 XML 메시지의 데이터를 위치지정 및/또는 변환하기 위해 사용 및 실행된 일련의 코드 규칙들을 포함한다. 엔드 디바이스(132)는 명령을 위한 특정 데이터 포맷을 필요로 할 수 있다. 소정 애플리케이션에서, 엔드 디바이스(132)는 모든 명령들에 대한 특정 데이터 포맷을 필요로 할 수 있다. 이 데이터 포맷은 아주 컴팩트할 수 있고 종종 이진수이다. 첨부 부록에 제공된 예시적인 XSLT 파일은 XSD 정의된 메시지 포맷과 애플리케이션 특정 이진 메시지 포맷 간의 변환을 나타낸다.
(iv) XML(Extensible Markup Language)
XML 포맷은 메시지 처리뿐만 아니라 지원파일에 대한 포멧에 사용될 수 있다. 소정 애플리케이션에서, XML 포맷은 모든 메시지 처리뿐만 아니라 모든 지원파일들에 대한 포맷에 사용된다. 첨부 부록에 제공된 예시적인 XML 요청은 소정 실시예들에 따라 디바이스 애플리케이션에 예시적인 명령을 명시하는 애플리케이션 네임스페이스를 식별하기 위해 적절한 xmlns 품질들을 가지며 XML의 사용을 나타낸다. 제 1 예는 특정 횟수로 광을 플래싱하는 것에 관한 넘버링된 서비스(0×95)를 제공하고. 제 2 예는 자동 스키마를 설정하는 것에 관한 번호 넘버링된 서비스(0×A1)를 제공한다.
소정 실시예에서, 변환 서비스(303) 요청 결과가 특정 애플리케이션에 또는 다수의 애플리케이션들에 전달을 위해 인프라구조 공급자에 전달될 수 있다. 또한, 웹 서비스(302) 요청 변환 결과는 애플리케이션 서비스 구성요소(313) 내부에 전달될 수 있다. 애플리케이션 서비스(313) 모듈에 의해 제공된 애플리케이션 특징들은 통합 시스템(120)의 운영자에 따라 변할 수 있다. 가령, 애플리케이션 서비스(313)는 다음 중 하나 이상을 포함할 수 있다:
(i) 탄소 거래(314). 디바이스 애플리케이션은 애플리케이션 서비스(313)의 API를 통해 (가령, 사용, 탄소 신용카드 및 데빗(debit) 세부내용, 사용 시간 등을 나타내는) 기설정된 간격의 탄소 거래 데이터를 통합 시스템(120)에 보고할 수 있다. 탄소 거래는 통합 시스템(120)에 의해 또는 통합 시스템(120) 및 탄소 거래 서비스(314)의 데이터에 액세스을 갖는 승인된 거래당사자를 통해 실행될 수 있다.
(ii) 에너지 거래(315). 디바이스 애플리케이션은 애플리케이션 서비스(313)의 API를 통해 (가령, 사용, 비용, 사용 시간, 사용 시간, 관세, 티어(tier) 등을 나타내는) 기설정된 간격의 에너지 거래 데이터를 보고할 수 있다. 거래는 통합 시스템(120)에 의해 또는 통합 시스템(120) 및 에너지 거래 서비스(315)의 데이터에 액세스을 갖는 승인된 거래당사자를 통해 실행될 수 있다.
(iii) 가령 디바이스에서 애플리케이션 이진 코드 및/또는 디바이스 기능, 디바이스 상태 또는 디바이스 사용을 기초로 발생된 데이터 또는 메시지에 대해 동작하도록 통합 시스템이 불러낸 애플리케이션 번들의 일부로서 전달된 고객 또는 제3자 애플리케이션(317).
다른 애플리케이션 서비스들, 예컨대, 디바이스 애플리케이션이 거리 및 허용된 할당시간과 같은 기준을 토대로 디바이스 요 청을 응답 및 수신할 수 있는 물류거래 서비스도 또한 고려된다. 거래는 통합 시스템(120)에 의해 또는 통합 시스템(120) 및 물류 거래 서비스의 데이터에 액세스을 갖는 승인된 거래당사자를 통해 실행될 수 있다. 디바이스(132)는 한 위치에서 또 다른 위치로 이동하는 비용을 경매에 부칠 수 있다.
소정 실시예에서, 디바이스(132)의 기능은 디바이스(132) 상의 애플리케이션들에 의해 결정 및/또는 정의될 수 있다. 소정 애플리케이션에서, 디바이스(132)의 기능은 상기 디바이스(132) 상의 애플리케이션에 의해 적어도 부분적으로 결정 및/또는 정의될 수 있다. 애플리케이션 코드, 정책, 및/또는 디바이스 펌웨어는 릴리스 버전 및/또는 플랫폼 버전 및/또는 디바이스(132)에 의해 사용된 하드웨어를 식별하는데 일조할 수 있는 식별자로 변형될 수 있다.
소정 실시예들에서, 디바이스(132) 상의 애플리케이션(코드 및/또는 정책) 및/또는 펌웨어 및/또는 구성은 도 6에 도시된 바와 같이 예시적인 업데이트 프로세스(600)를 실행함으로써 통합 시스템(120)을 이용해 업데이트될 수 있다. 가령, 통합 시스템(120)에 대해 원거리 위치에 위치된 외부 업데이트 프로세스에 의해 다른 업데이팅도 또한 실행될 수 있다. 도 6에 도시된 예시적인 도면에서, 업데이트 프로세스는 다음과 같이 실행된다:
(i) 디바이스(132)가 시스템(120)과 네트워크 통신을 구축할 경우 디바이스 시동시;
(ii) 이용가능 업데이트들이 정상 동작 동안 식별 및 요청되게 하는 기설정되고 구성가능한 스케쥴에 따라; 및/또는
(iii) 에러 복구 동안. 이상 조건, 가령, 애플리케이션 예외가 검출되는 경우, 업데이트가 이용가능한지 입증하도록 업데이트 프로세스가 촉발될 수 있다.
소정 실시예에서, 업데이트 프로세스는 하나 이상의 구성요소들의 현재 버전을 수집하고, 가령, 펌웨어, 애플리케이션 코드 및/또는 정책를 포함하며, 하드웨어 타입(플랫폼 타입)을 식별하는 디바이스의 펌웨어로 개시될 수 있다. 예컨대, 도 6에 도시된 바와 같이, 업데이트 프로세스(600)는 모든 또는 실질적으로 모든 구성요소들의 현재 버전을 수집하고, 펌웨어, 애플리케이션 코드 및 정책을 포함하며(612), 고유 하드웨어 타입(플랫폼 타입)을 식별하는(614) 디바이스(132)의 펌웨어로 개시된다(단계 601). 디바이스(132)는 수집된 식별 데이터와 함께 요청 이용가능한 업데이트 메시지를 인프라구조 서비스 공급자에 보낼 수 있다(602). 메시지는 인프라구조 공급자 장비(134)가 통합 시스템(120)에서 식별 업데이트 프로세스를 개시하게 한다(603). 소정 실시예에서, 공지의 애플리케이션 및 펌웨어 업데이트 애플리케이션 키오스크(308)로부터 액세스될 수 있거나(620 또는 622), 애플리케이션 또는 플랫폼 타입이 미지(未知)인 경우, 공지의 업데이트들에 대한 요청이 기존의 웹서비스 인터페이스(302)를 이용해 통합 시스템(120)에 의해 펌웨어 업데이트를 위해 적절한 하드웨어 판매자들에게 및/또는 애플리케이션 코드 및 정책 업데이트들 위해 서비스 공급자에게 보내질 수 있다(624). 업데이트 데이터에 대한 디테일이 디바이스(132)로 전달될 수 있다(604). 디바이스(132)는 시스템(120)과 더불어 업데이트 요청을 예정한다(605). 시스템(120)은 적절하게 스케줄을 기반으로 업데이트를 전달한다(606). 업데이트는 가령 디바이스 재시작 또는 필요 또는 요망에 따른 애플리케이션 재시작에 의해 활성화된다(607).
애플리케이션 및/또는 애플리케이션 번들 전달은 즉각적이거나 지연될 수 있고, 이는 애플리케이션 키오스크(308)로부터 애플리케이션 및/또는 애플리케이션 번들의 선택에 의해 그리고 애플리케이션 코드 및 애플리케이션 정책을 포함한 애플리케이션 및/또는 애플리케이션 번들을 애플리케이션 배치 및 활성화를 위한 인프라구조 공급자에게 수동 또는 자동으로 전송함으로써 달성될 수 있다. 애플리케이션 프로파일은 통합 시스템(120)과 함께 남아 있다. 통합 시스템(120)으로부터 정책의 요청과 관련된 비용이 있을 수 있고/있거나 애플리케이션 또는 애플리케이션 번들을 디바이스(132)로 전달할 수 있다.
소정 실시예에서, 통합 시스템(120)은 다음 중 하나 이상의 임의 조합을 지원할 수 있다:
(i) 시스템(120)과 함께 인프라구조 공급자들 및 고객들의 등록;
(ii) (일련번호, 하드웨어 식별자, 디바이스 식별자 또는 고유 바코드 정보와 같은) 고유 식별 데이터를 기반으로 한 디바이스의 등록;
(iii) 애플리케이션 키오스크(308)에 애플리케이션 번들의 설치. 애플리케이션 번들은 애플리케이션 실행가능 파일, 애플리케이션 프로파일(웹서비스용으로 XML, DTD, XSLT 및 WSDL 코드에 사용된 애플리케이션 구성 및 데이터 포멧을 기술하는 메타데이터) 및 액세스 컨트롤을 지원하는 애플리케이션 정책 데이터 및 애플리케이션 구성 및 사용을 지원하기 위해 요구되는 기타 파일들의 코드를 포함할 수 있다.
(iv) 고객 디바이스의 자동 발견 및/또는 구성;
(v) 고객 디바이스로 애플리케이션의 배치;
(vi) 디바이스 및/또는 애플리케이션에 고객 액세스의 할당 및/또는 철회;
(vii) 가상머신을 이용해 많은 애플리케이션들이 디바이스에 실행될 수 있는 모드로 디바이스가 동작하고/하거나 OS와 다른 고객들(테넌트(tenants))이 다른 애플리케이션 또는 애플리케이션 인스턴스들에 어드레스 또는 액세스할 수 있는 디바이스 상의 다중공유 모드;
(viii) 애플리케이션 키오스크(308)로부터 애플리케이션 및/또는 애플리케이션 템플레이트의 제거;
(ix) 거래의 적어도 상당부 또는 모든 거래의 회계감사 및/또는 로깅 및/또는 에러 핸들링;
(x) 애플리케이션의 적어도 상당부 또는 모든 애플리케이션들에 의해 제공될 수 있는 애플리케이션 서비스. 예들은 에너지 거래, 탄소 배출권의 등록, 탄소 배출권 거래, 가장 큰 비용효과적인 물류 이송을 얻기 위한 물류 도는 그 조합, 및 비디오 및/또는 오디오 관리, 전달 및 컨트롤을 포함하나 이에 국한되지 않는다. 디바이스 애플리케이션은 비디오 및/또는 오디오를 디스플레이하고 컨트롤할 수 있다.
디바이스는 자동 발견 프로세스(상기 iv)에서 부분적으로 또는 전체적으로 애플리케이션 실행가능 코드, 애플리케이션 프로파일 및/또는 애플리케이션 정책에 속하는 통합 시스템 정보에 기용될 수 있다.
소정 실시예에서, 통합 시스템(120)은 도 7에 도시된 바와 같이 사용자들(700,701,702)에게 다른 인프라구조 공급자 네트워크에 연결된 고객 디바이스들(709)에 액세스를 제공할 수 있다는 점에서 크로스 도메인 스위칭 형태를 제공한다. 고객 또는 고객들(700,701,702)은, 인터넷(703) 또는 VPN(704)을 통해 통합 시스템(120)에 연결된 후, 모든 공급자 네트워크들(705,706,707,708)을 가로지르는 애플리케이션들을 배치해 상호작용할 수 있다. 소정 실시예에서, 인터넷 또는 VPN(704)을 통해 연결된 후 고객 또는 고객들은 공급자 네트워크의 상당부에 걸쳐 애플리케이션들을 배치해 상호작용할 수 있다.
디바이스에서 애플리케이션 층을 통한 컨트롤이 통합 시스템(120)에 의해 고객들(700,701,702)에 제공될 수 있다. 디바이스에서 애플리케이션층을 통한 컨트롤을 제공하는 다른 방법들은 가령 디바이스(709), 또는 네트워크들(705,706,707,708)에 직접 액세스에 의해 제공될 수 있다. 소정 애플리케이션에서, 물리적 엔드 디바이스(709)의 컨트롤은 인프라구조 공급자의 장비(705,706)의 직접(또는 간접) 관리 하에 유지된다.
소정 실시예에서, 고객 엔드 디바이스(709)는 도 8에 도시된 바와 같이 인텔리전트 게이트웨이(802)인 경우, 상기 게이트웨이는 인프라구조 공급자 네트워크(707,708)의 일부로서 완전히 소유 및/또는 관리될 수 있다. 소정 애플리케이션에서, 게이트웨이는 인프라구조 공급자 네트워크의 일부로서 적어도 부분적으로 소유 및/또는 관리될 수 있다. 게이트웨어(802)는 (공급자 네트워크들 간에 이동할 수 있는) 모바일 디바이스를 지원하도록 초기에 배치된 인프라구조 및 게이트웨이 디바이스, 인프라구조 공급자 네트워크(707,708)에 의해 직접 지원될 수 없는 HAN(804)에서의 고객 디바이스(809)와 같은 저전력 무선 디바이스 또는 이들의 조합을 넘어서 고객(700,701,702)의 범위를 확장하는데 이용할 수 있다.
게이트웨이(802)는 디바이스 펌웨어 및/또는 구성 및/또는 애플리케이션 또는 엔드 디바이스(809) 및 공급자(705,706) 간에 애플리케이션 요청의 포워딩, 및 애플리케이션, 애플리케이션 정책 및/또는 엔드 디바이스(709)용 펌웨어와 같은 구성요소 업데이트의 포워딩 또는 그 조합을 지원할 수 있다. 이 지원은 표준 게이트웨이, 가령, 간단히 펌웨어에 의해, 또는 하나 이상의 애플리케이션들을 지원할 수 있는 인텔리전트 게이트웨이에 의해 제공될 수 있다.
소정 실시예에서, 고객 디바이스(132)는 다른 통신 네트워크 및/또는 가령 선박 컨테이너에 설치된 경우 사법구역 간에 로밍이 허용될 수 있다. 디바이스(132)가 도 9에 도시된 바와 같이 2개의 다른 통합 시스템들(900 및 902)의 통신 경계들 사이에서 로밍될 수 있는 경우, 디바이스(132)는 범위 내에서 인텔리전트 게이트웨이(802)와 여전히 통신할 수 있다. 게이트웨이 디바이스(802)는 인프라구조 공급자의 관리시스템(903)을 통해 디바이스(132)로부터 통합 시스템(902)으로 통신을 보낸다. 통합 시스템(902)은 통신 네트워크(904)를 통해 관리 시스템(906)으로부터 보안 및/또는 인증 데이터를 얻기 위해 디바이스(132)가 통상적으로 통신하는 관리 시스템(906)과 소통하는 또 다른 통합 시스템(900)에 통신할 수 있다.
소정 실시예에서, 로밍 엔드 디바이스(132)는 인접한 게이트웨이 디바이스(802)에 연결되어, 먼저 인증하도록 시도한다. 관리 시스템(903)은 디바이스(132)를 외부 보안 크리덴셜(foreign security credentials)을 이용해 외부 디바이스로 식별하고, 통합 시스템(902)에 외부 디바이스 인증 요청을 보낸다. 동의된 이웃시스템(900,902,120)의 확립된 그룹과 같은 다른 통합 시스템들과 접촉하기 위한 메카니즘을 이용한 통합 시스템(900,902,120)은 가령 인터넷 VP 및/또는 사설망 세트일 수 있는 통신 네트워크(904)를 통해 참여 및 통신한다. 시스템(900,902,120)은 로밍할 수 있는 많은 디바이스들(132)을 식별할 수 있다. 통합 시스템 이웃들 및 로밍 디바이스(132) 식별들에 대한 데이터를 이용해, 통합 시스템(902)은 디바이스 인증 요청을 통합 시스템(900)에 전송하고, 차례로, 상기 요청을 관리 시스템(906)에 보고해 인증을 완료하고 로밍 디바이스들(132)과 관리 시스템(906) 간에 가상 연결(910)을 확립한다. 가상 연결(910)은 디바이스(132)가 사법구역 및 관리 시스템(906)의 영역으로 돌아오거나 또 다른 게이트웨이 디바이스(802)를 통해 연결하려 시도할 때까지 인프라구조 공급자 관리 시스템(906)과 로밍 디바이스(132) 간에 계속 통신하게 한다.
도 12는 소정 실시예에 따른 복수의 기관들(가령, 은행들)을 상호연결하는 통합 시스템의 블록도이다. 도 12는 기관이 특별한 서비스를 고객에 제공하고 싶어하는 통합 시스템의 예시적인 사용을 도시한 것이다. 예컨대, 예시적인 실시예에서, 은행/기관(1)은 은행(2)으로부터 데이터 또는 서비스를 요망할 수 있다; 은행(2)은 은행(1 및 3)과 같은 외부 당사자들에 서비스를 제공할 수 있다; 그리고 은행(3)은 은행(1)에 의해 구축된 은행(2)으로부터 데이터 또는 서비스를 이용할 수 있다.
따라서, 은행(1)(금융기관은 서비스를 고객들(개인들, 기관들 및 은행 3과 같은 다른 은행들)에 제공하고자 함)은 애플리케이션(실행가능한 코드), 애플리케이션 정책(가령 액세스 요건들), 및 애플리케이션 프로파일(가령 변환 규칙들)을 포함한 애플리케이션 번들을 생성할 수 있다. 그런 후 애플리케이션은 임의의 디바이스 또는 애플리케이션을 지원하는 애플리케이션 실행 환경에 배치될 수 있다.
애플리케이션은, 타겟 애플리케이션 환경에 설치된 후, 은행(2)가 허락한 자원들에 액세스과 더불어 설계된 비지니스 기능을 수행할 수 있다.
예컨대, 은행(1)이 가령 두드러진 송금에 대한 일일 보고를 필요로 하면, 종래의 경로는 은행(2)에 의해 발생될 보고를 요청하게 하고, 은행(1)에 전자적으로 또는 다르게 포워딩될 것이다. 은행(3)이 동일한 보고를 필요로 하면, 별도의 요청이 전송되고 별도의 보고가 발생되는 것을 필요로 할 수 있다.
통합 시스템이 이용할 수 있는 액세스는 은행(1)이 애플리케이션을 개발해 은행(2)내 애플리케이션 실행 환경에 배치하게 할 것이다. 명령 및 소프트웨어 인터페이스는 통합 시스템에 퍼블리시될 것이다. 완료된 후에, 명령 및 소프트웨어 인터페이스가 필요한 데이터 및 보고를 요청 및 발생하기 위해 은행(1) 또는 은행(3)에 이용될 수 있게 된다.
따라서, 은행(3)은 통합 시스템과 접촉할 수 있고, 통합 시스템(및/또는 가령 애플리케이션 키오스크)로부터 직접적으로 또는 은행(2)을 식별하고 (또한 은행(1)(애플리케이션)으로부터 이들을 포함할 수 있고 은행(3)에 알려질 기타, 즉 은행들(4,5,6,7,8 등)을 포함할 수 있는) 은행(2)으로부터 이용가능한 명령 및 소프트웨어 인터페이스를 허용하는 "발견"을 완료함으로써 이용가능한 명령 및 소프트웨어 인터페이스를 "발견"할 수 있다. 인터페이스는 가령 웹서비스(302)일 수 있고 명령들이 애플리케이션을 통해 이용될 수 있는 행동을 기술할 수 있다.
도 13은 소정 실시예에 따른 애플리케이션 프로세싱의 다양한 태양들을 취급하기 위한 통합 시스템의 블록도이다. 도 13에서, 고객은 애플리케이션 번들(가령, 코드, 정책 및 프로파일)을 개발 및 배치하는 책임을 맡을 수 있다; 디바이스/엔드 디바이스는 애플리케이션들에 대한 애플리케이션 실행 환경을 제공하는 애플리케이션 소프트웨어를 갖는 컴퓨터 또는 서버이다.
애플리케이션 배치의 경우, 고객이 로컬로 저장되거나 애플리케이션 키오스크 선택을 통해 애플리케이션을 선택하면, 고객은 애플리케이션 배치를 개시해, "배치 애플리케이션" 요청이 발생된다. 애플리케이션이 로컬에 위치된 경우, 애플리케이션에 요청이 전달된다. 애플리케이션이 애플리케이션 키오스크와 같은 통합 시스템에 위치된 경우, 애플리케이션이 통합 시스템에 의해 실행되고 요청에 첨부된다.
모든 장래의 통신을 위해 디바이스에 대해 애플리케이션 프로파일이 기록된다.
애플리케이션 배치 후에, 먼저 디바이스로부터 통합 시스템으로, 그런 후 통합 시스템으로부터 고객으로 확인이 전송된다.
애플리케이션 요청의 경우, 고객은 통합 시스템을 통해 애플리케이션 요청을 디바이스로 보낸다. 통합 시스템은 요청을 수신한다. 변환을 요청한 요청의 임의 부분에 대해 변환이 수행된다. 최종 메시지가 그런 후 디바이스로 보내진다. 변환은 XML을 JSON 또는 BIN으로 변환 또는 애플리케이션 요청에 대한 디바이스 특정 필드를 추가시키는 것을 포함할 수 있다.
디바이스는 애플리케이션 응답을 통합 시스템에 전달한다. 통합 시스템은 필요한 경우 역변환을 수행할 것이며 애플리케이션 응답을 고객에 전달할 것이다. 역변환은 가령 JSON 또는 BIN을 XML로 변환 또는 필요에 따라 메시지 필드의 추가 또는 제거를 포함할 수 있다.
애플리케이션 경보 또는 청하지 않은 데이터의 경우, 스케줄에 또는 특정 조건이 충족될 경우에, 또는 트리거가 인카운터될 경우에 디바이스는 데이터 또는 경보를 고객에 보낼 수 있다. 데이터 또는 경보는 통합 시스템으로 보내진다. 통합 시스템은 메시지의 소스, 포맷, 및 통합 시스템에 이용될 수 있는 정보에 따라 애플리케이션 데이터 또는 경보에 대한 변환을 수행할 수 있다.
그런 후 통합 시스템은 애플리케이션 데이터 또는 경보를 고객에 보내게 된다.
상기에서 명백한 바와 같이, 통합 시스템은 가령 도 10 및 도 11에 도시된 바와 같이, 광범위한 고객구내 디바이스(132,709,809)를 지원하고 광범위한 인프라구조, 서비스 공급자 및 고객 시스템(110, 502, 520, 및 700)과 함께 배치 및 컨트롤을 위해 이들을 통합할 수 있다.
추가로, 본 개시는 특정 실시예를 참조로 기술하였다. 그러나, 상술한 실시예들의 특정 형태와 다른 특정 형태들에 본 개시를 구현할 수 있음이 당업자에게 쉽게 명백할 것이다. 실시예들은 단지 예시적이며 제한적인 것으로 해석되지 않아야 한다. 개시의 범위는 앞의 설명보다는 특허청구범위에 주어져 있으며, 특허청구범위내에 있는 변형 및 등가물은 본 명세서에 포함되도록 의도되어 있다.
(부록)
예시적인 WSDL 파일
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="m2m.sendCommand" targetNamespace="m2m.sendCommand">
<wsdl:types>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema" targetNamespace="m2m.sendCommand" elementFormDefault="qualified" attributeFormDefault="unqualified"/>
</wsdl:types>
<wsdl:message name="applicationRequest">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:message name="applicationResponse">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:portType name="FMSPortType">
<wsdl:operation name="FMSApplication">
<wsdl:input name="applicationRequestMessage" message="tns:applicationRequest"/>
<wsdl:output name="applicationResponseMessage" message="tns:applicationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="FMSBinding" type="tns:FMSPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="FMSApplication">
<soap:operation soapAction="urn:#NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="FMSApplication">
<wsdl:port name="FMSPort" binding="tns:FMSBinding">
<soap:address location="No Target Address"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
예시적인 XSD 파일
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2011 rel. 2 sp1 (http://www.altova.com) by Adam (ANATAS) -->
<xs:schema xmlns:sl="acmepower.app0001.app" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="acmepower.app0001.app" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="StreetLightApplication">
<xs:annotation>
<xs:documentation>application providing streetlight functions</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="MessageID">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CmdID">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Cmd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
<xs:enumeration value="95"/>
<xs:enumeration value="96"/>
<xs:enumeration value="97"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Flashes" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="49"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StartStop" type="xs:string" minOccurs="0"/>
<xs:element name="SLSched" minOccurs="0">
<xs:annotation>
<xs:documentation>scheduling for streetlight application command</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="StartStop" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="24"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SchedFreq">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="20"/>
<xs:maxLength value="27"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
예시적인 XSLT 파일
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="acmepower.devicemanager.ws" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="ns0 xs">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="var1_DeviceManager" select="ns0:DeviceManager"/>
<app:StreetLightApplicationRequest xmlns:app="acmepower.app0001.app">
<xsl:for-each select="$var1_DeviceManager">
<app:MessageID>
<xsl:value-of select="string(ns0:MessageID)"/>
</app:MessageID>
</xsl:for-each>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest">
<app:CmdID>
<xsl:value-of select="string(ns0:CommandID)"/>
</app:CmdID>
</xsl:for-each>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest">
<app:Cmd>
<xsl:value-of select="translate(string(ns0:CommandName), 'flash', '96')"/>
</app:Cmd>
</xsl:for-each>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest/ns0:Device/ns0:CommandValue">
<app:Flashes>
<xsl:value-of select="string(floor(number(string(.))))"/>
</app:Flashes>
</xsl:for-each>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest/ns0:Device">
<xsl:variable name="var9_cur" select="."/>
<xsl:for-each select="ns0:start">
<xsl:variable name="var8_cur" select="."/>
<xsl:variable name="var2_nil" select="@xsi:nil"/>
<xsl:variable name="var7_result">
<xsl:choose>
<xsl:when test="string(boolean($var2_nil)) != 'false'">
<xsl:variable name="var3_resultof_cast" select="string($var2_nil)"/>
<xsl:value-of select="((normalize-space($var3_resultof_cast) = 'true') or (normalize-space($var3_resultof_cast) = '1'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string(not((string($var7_result) != 'false'))) != 'false'">
<xsl:for-each select="$var9_cur/ns0:stop">
<xsl:variable name="var4_nil" select="@xsi:nil"/>
<xsl:variable name="var6_result">
<xsl:choose>
<xsl:when test="string(boolean($var4_nil)) != 'false'">
<xsl:variable name="var5_resultof_cast" select="string($var4_nil)"/>
<xsl:value-of select="((normalize-space($var5_resultof_cast) = 'true') or (normalize-space($var5_resultof_cast) = '1'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string(not((string($var6_result) != 'false'))) != 'false'">
<app:StartStop>
<xsl:value-of select="concat(string($var8_cur), string(.))"/>
</app:StartStop>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<app:SLSched>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest/ns0:Device/ns0:Schedule">
<xsl:variable name="var17_cur" select="."/>
<xsl:for-each select="ns0:start">
<xsl:variable name="var16_cur" select="."/>
<xsl:variable name="var10_nil" select="@xsi:nil"/>
<xsl:variable name="var15_result">
<xsl:choose>
<xsl:when test="string(boolean($var10_nil)) != 'false'">
<xsl:variable name="var11_resultof_cast" select="string($var10_nil)"/>
<xsl:value-of select="((normalize-space($var11_resultof_cast) = 'true') or (normalize-space($var11_resultof_cast) = '1'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string(not((string($var15_result) != 'false'))) != 'false'">
<xsl:for-each select="$var17_cur/ns0:stop">
<xsl:variable name="var12_nil" select="@xsi:nil"/>
<xsl:variable name="var14_result">
<xsl:choose>
<xsl:when test="string(boolean($var12_nil)) != 'false'">
<xsl:variable name="var13_resultof_cast" select="string($var12_nil)"/>
<xsl:value-of select="((normalize-space($var13_resultof_cast) = 'true') or (normalize-space($var13_resultof_cast) = '1'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string(not((string($var14_result) != 'false'))) != 'false'">
<app:StartStop>
<xsl:value-of select="concat(string($var16_cur), string(.))"/>
</app:StartStop>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="$var1_DeviceManager/ns0:CommandRequest/ns0:Device/ns0:Schedule">
<xsl:variable name="var18_ScheduleFrequency" select="ns0:ScheduleFrequency"/>
<app:SchedFreq>
<xsl:value-of select="concat(concat(concat(string($var18_ScheduleFrequency/ns0:Pattern),
string($var18_ScheduleFrequency/ns0:StartDate)), string($var18_ScheduleFrequency/ns0:StartTime)), string($var18_ScheduleFrequency/ns0:EndTime))"/>
</app:SchedFreq>
</xsl:for-each>
</app:SLSched>
</app:StreetLightApplicationRequest>
</xsl:template>
</xsl:stylesheet>
XML 요청 예제1
<?xml version="1.0" encoding="UTF-8"?>
<sl:StreetLightApplicationRequest xmlns:sl="acmepower.app0001.app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="acmepower.app0001.app AcmePower_App0001_app.xsd ">
<sl:MessageID>aaaaaaaaaaaaaa</sl:MessageID>
<sl:CmdID>aaaaaaaaaaaaaa</sl:CmdID>
<sl:Cmd>95</sl:Cmd>
<sl:Flashes></sl:Flashes>
<sl:StartStop></sl:StartStop>
<sl:SLSched>
<sl:StartStop>201105010000201106010000</sl:StartStop>
<sl:SchedFreq>W201105011700002300001351</sl:SchedFreq>
</sl:SLSched>
</sl:StreetLightApplicationRequest>
XML 요청 예제2
<?xml version="1.0" encoding="UTF-8"?>
<sl:StreetLightApplication xmlns:sl="acmepower.app0002.app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="acmepower.app0002.app AcmePower_App0002_app.xsd ">
<sl:MessageID>SAMPLEMSDID</sl:MessageID>
<sl:CmdID>SAMPLECMDID</sl:CmdID>
<sl:Command>A1</sl:Command>
<sl:Value>0</sl:Value>
<sl:Indx>0</sl:Indx>
<sl:Iterations></sl:Iterations>
<sl:StartStop></sl:StartStop>
<sl:SLSched>
<sl:StartStop>110501170000110601170000</sl:StartStop>
<sl:SchedFreq>W201105011700002300001351</sl:SchedFreq>
</sl:SLSched>
</sl:StreetLightApplication>

Claims (51)

  1. 네트워크와 연결된 엔드 디바이스 상의 데이터를 관리하기 위한 데이터베이스;
    엔드 디바이스에 네트워크를 통해 배치되는 애플리케이션에 대한 애플리케이션 파일을 저장하는 애플리케이션 키오스크;
    사용자가 시스템에 액세스할 수 있도록 하는 사용자 인터페이스; 및
    네트워크를 통해 애플리케이션 키오스크에 애플리케이션을 업로딩하고, 사용자 요청 및 각각의 애플리케이션 정책을 기반으로 네트워크를 통해 애플리케이션 키오스크로부터 복수의 엔드 디바이스들로 애플리케이션을 배치하며, 엔드 디바이스에 배치될 때 애플리케이션의 각각의 애플리케이션 프로파일에 정의된 이용가능한 명령을 이용하여 엔드 디바이스를 제어하도록 애플리케이션과 통신하기 위한 서비스 인터페이스를 구비하고,
    상기 애플리케이션 파일은:
    (i) 각각의 애플리케이션의 기능적 능력을 나타내고 서로 다른 각각의 엔드 디바이스에서 실행될 때 애플리케이션에 대한 이용가능한 명령을 포함하는 애플리케이션용 프로파일; 및
    (ii) 배치 환경에 대한 구성 데이터를 포함하는 정책을 포함하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  2. 제 1 항에 있어서,
    엔드 디바이스는 고객구내 유틸리티 디바이스, 모바일 디바이스, 휴대용 디바이스, 및/또는 트럭 및 공장 또는 선박 장비 또는 물류 또는 보안과 같은 실장된 트래킹 디바이스 또는 센서 중 적어도 하나를 구비하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  3. 제 1 항에 있어서,
    통합 시스템에 인증 및 액세스를 관리하기 위한 보안 관리 서비스를 더 포함하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  4. 제 1 항에 있어서,
    서비스 인터페이스는 웹서비스 인터페이스인 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    복수의 다른 인프라구조 공급자 네트워크를 통해 복수의 엔드 디바이스들에 애플리케이션들이 배치되는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  6. 제 5 항에 있어서,
    원격으로 애플리케이션을 선택하고 다른 인프라구조 공급자 네트워크의 원격 엔드 디바이스들에 설치를 유발하기 위해 사용자 인터페이스가 구성되는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  7. 제 1 항에 있어서,
    애플리케이션 파일들은 애플리케이션 코드를 포함하고, 서비스 인터페이스는 웹 서비스 인터페이스이며, 통합 시스템은 고객으로부터 수신된 메시지를 처리하고 디바이스를 컨트롤하기 위해 프로파일을 이용해 메시지로부터 명령을 발생하기 위한 변환 구성요소를 구비하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  8. 제 7 항에 있어서,
    변환 구성요소는 명령을 발생하기 위해 상기 프로파일들의 변환 규칙을 실행하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  9. 제 8 항에 있어서,
    변환 구성요소는 웹서비스 인터페이스에 의해 엔드 디바이스로부터의 데이터를 사용자용 디스플레이를 발생하기 위한 메시지로 변환하기 위해 상기 프로파일들의 변환 규칙을 실행하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  10. 제 1 항에 있어서,
    데이터베이스는 고객구내의 고객 디바이스 상에 데이터를 유지하고, 통합 시스템은 상기 사용자에 의해 통합 시스템에 대한 인증 및 액세스를 관리하기 위한 보안관리 서비스를 포함하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  11. 제 10 항에 있어서,
    다른 인프라구조 공급자 네트워크를 통해 다른 애플리케이션들을 선택하고 고객 장비 디바이스들에 배치하기 위한 구성요소들을 포함하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  12. 제 11 항에 있어서,
    원격으로 애플리케이션을 선택하고 다른 인프라구조 공급자 네트워크의 원격 엔드 디바이스에 설치를 유발하기 위해 상기 사용자 인터페이스가 구성되는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  13. 제 12 항에 있어서,
    사용자 장비로부터 수신된 메시지를 처리하고 디바이스를 컨트롤하기 위해 프로파일들을 이용해 메시지로부터 명령을 발생하기 위한 변환 구성요소를 구비하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  14. 제 13 항에 있어서,
    변환 구성요소는 명령을 발생하기 위해 상기 프로파일들의 변환 규칙을 실행하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  15. 제 14 항에 있어서,
    변환 구성요소는 웹서비스 인터페이스에 의해 디바이스로부터의 데이터를 사용자용 디스플레이를 발생하기 위한 메시지로 변환시키기 위해 상기 프로파일들의 변환 규칙을 실행하는, 네트워크를 통해 서비스 공급자와 엔드 디바이스 간에 통신을 가능하게 하는 통합 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
KR1020147002097A 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기 KR101905054B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
AU2011902569 2011-06-29
AU2011902569A AU2011902569A0 (en) 2011-06-29 Integration system
US201161577396P 2011-12-19 2011-12-19
US61/577,396 2011-12-19
PCT/AU2012/000741 WO2013000011A1 (en) 2011-06-29 2012-06-25 Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020187028142A Division KR102052515B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
KR1020157025661A Division KR101906439B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기

Publications (2)

Publication Number Publication Date
KR20140074273A KR20140074273A (ko) 2014-06-17
KR101905054B1 true KR101905054B1 (ko) 2018-10-05

Family

ID=47423280

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020187028142A KR102052515B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
KR1020147002097A KR101905054B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
KR1020157025661A KR101906439B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187028142A KR102052515B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157025661A KR101906439B1 (ko) 2011-06-29 2012-06-25 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기

Country Status (12)

Country Link
US (1) US20140201321A1 (ko)
EP (1) EP2727003A4 (ko)
JP (3) JP2014522019A (ko)
KR (3) KR102052515B1 (ko)
CN (2) CN103858119B9 (ko)
AU (1) AU2012276270B9 (ko)
CA (1) CA2840511C (ko)
MY (2) MY159437A (ko)
SG (1) SG10201506089VA (ko)
TW (3) TWI612838B (ko)
WO (1) WO2013000011A1 (ko)
ZA (1) ZA201504420B (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013767A1 (en) * 2011-07-05 2013-01-10 International Business Machines Corporation System and method for managing software provided as cloud service
WO2013184225A1 (en) 2012-06-06 2013-12-12 The Trustees Of Columbia University In The City Of New York Unified networking system and device for heterogeneous mobile environments
US10541926B2 (en) * 2012-06-06 2020-01-21 The Trustees Of Columbia University In The City Of New York Unified networking system and device for heterogeneous mobile environments
US9288102B2 (en) 2013-02-18 2016-03-15 Microsoft Technology Licensing, Llc Controlling devices using cloud services and device-agnostic pipe mechanisms
IN2013CH01206A (ko) * 2013-03-20 2015-08-14 Infosys Ltd
US20160021181A1 (en) * 2013-07-23 2016-01-21 George Ianakiev Data fusion and exchange hub - architecture, system and method
US10313221B1 (en) * 2014-01-28 2019-06-04 Sprint Communication Company L.P. Endpoint monitoring for a messaging framework
FR3018409B1 (fr) * 2014-03-06 2018-01-05 Sagemcom Broadband Sas Systeme et procede permettant de reduire la consommation energetique d'un dispositif d'interconnexion
US10012963B2 (en) * 2014-07-15 2018-07-03 Throughtek Technology (Shenzhen) Co., Ltd. Smart household appliance, mobile communication device, system and method for controlling smart household appliance
US9870476B2 (en) * 2014-09-23 2018-01-16 Accenture Global Services Limited Industrial security agent platform
KR102300926B1 (ko) * 2014-09-29 2021-09-10 엘지전자 주식회사 홈 오토메이션 시스템 구성 장치 및 그것의 제어 방법
KR101647278B1 (ko) 2015-04-29 2016-08-23 (주)유미테크 Dns패킷 json 변환 및 순위 추출 방법
US10142822B1 (en) * 2015-07-25 2018-11-27 Gary M. Zalewski Wireless coded communication (WCC) devices with power harvesting power sources triggered with incidental mechanical forces
CN105425605A (zh) * 2015-12-22 2016-03-23 小米科技有限责任公司 智能家电设备接入多个服务器的方法、装置及系统
TWI618433B (zh) 2016-03-18 2018-03-11 立創智能股份有限公司 多目標即時定位警報系統
CN106059892A (zh) * 2016-05-17 2016-10-26 中国科学院沈阳计算技术研究所有限公司 一种用于融合通信系统的消息引擎
KR102081562B1 (ko) * 2016-08-11 2020-04-23 한국전력공사 IoT 데이터 변환 장치
US20180130339A1 (en) * 2016-09-12 2018-05-10 Sentinelbase, Llc System & methods for critical infrastructure automation
KR101942905B1 (ko) 2017-02-14 2019-01-28 엘에스산전 주식회사 통신 데이터 모델링 방법
US11323519B2 (en) * 2017-04-19 2022-05-03 Microsoft Technology Licensing, Llc Internet of things pub-sub data publisher
WO2018199523A1 (ko) * 2017-04-27 2018-11-01 주식회사 케이티 공인 ip 네트워크를 통해서 사물통신을 처리하는 방법 및 그 장치
KR102092100B1 (ko) * 2017-04-27 2020-03-24 삼성전자주식회사 공인 ip 네트워크를 통해서 사물통신을 처리하는 방법 및 그 장치
JP6656221B2 (ja) * 2017-12-25 2020-03-04 矢崎エナジーシステム株式会社 通信システム
CN108052474B (zh) * 2018-01-02 2020-05-22 深圳壹账通智能科技有限公司 数据格式转换方法、装置、设备及计算机可读存储介质
US20200177444A1 (en) * 2018-12-04 2020-06-04 Viakoo, Inc. Systems and Methods of Remotely Updating a Multitude of IP Connected Devices
TWI811440B (zh) * 2019-08-27 2023-08-11 國立高雄科技大學 客製化產品自動設計系統及應用其之雲端設計系統
US11172057B2 (en) * 2019-10-04 2021-11-09 Soti Inc. Systems and methods for managing devices using dynamically configurable device and protocols definitions
CN114787778A (zh) * 2019-12-17 2022-07-22 Abb瑞士股份有限公司 更新表示真实世界对象的数字对象
KR102142645B1 (ko) 2020-02-17 2020-08-07 (주)지아이에듀테크 교육용 키오스크 시스템
KR20220101888A (ko) 2021-01-12 2022-07-19 주식회사 삼육오엠씨네트웍스 지방 흡입용 캐뉼라
KR102562165B1 (ko) 2021-01-12 2023-08-02 주식회사 삼육오엠씨(365mc) 지방 흡입용 캐뉼라
KR102525600B1 (ko) * 2021-09-15 2023-04-27 시큐리티플랫폼 주식회사 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템
CN114244698B (zh) * 2021-11-24 2024-01-05 中盈优创资讯科技有限公司 一种基于mqtt的cpe管理配置方法
CN115550472B (zh) * 2022-11-22 2023-03-28 浙江大华技术股份有限公司 异构数据处理方法及装置
KR102643263B1 (ko) * 2023-12-01 2024-03-06 주식회사 공감아이티 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257217A1 (en) * 2004-05-13 2005-11-17 Bea Systems, Inc. System and method for custom module creation and deployment
US20080077425A1 (en) * 2006-09-25 2008-03-27 Johnson Michael W System, method and computer program product for identifying, configuring and accessing a device on a network

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102860B1 (fi) * 1995-11-07 1999-02-26 Nokia Telecommunications Oy Menetelmä ja järjestelmä elektronisen maksutapahtuman suorittamiseksi
JPH10207710A (ja) * 1997-01-16 1998-08-07 Casio Comput Co Ltd ソフトウエアダウンロードシステム及びメニュー作成システム
JP3570501B2 (ja) * 2000-06-15 2004-09-29 日本電気株式会社 ネットワークシステム及びパケットデータ伝送方法
US20020161928A1 (en) * 2000-10-10 2002-10-31 Awele Ndili Smart agent for providing network content to wireless devices
US20020131404A1 (en) * 2000-11-28 2002-09-19 4Thpass Inc. Method and system for maintaining and distributing wireless applications
WO2002084947A2 (en) * 2001-02-26 2002-10-24 4Thpass Inc. Method and system for transmission-based billing of applications
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
JP2002342218A (ja) * 2001-05-16 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供方法及びシステム
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
US7647392B2 (en) * 2002-10-16 2010-01-12 Xerox Corporation Device model agent
US20050055432A1 (en) * 2003-09-08 2005-03-10 Smart Synch, Inc. Systems and methods for remote power management using 802.11 wireless protocols
JP2005251120A (ja) * 2004-03-08 2005-09-15 Mitsubishi Electric Corp Fa機器インタフェース統合化装置
US7512944B2 (en) * 2004-07-15 2009-03-31 Sap Aktiengesellschaft Brokers for managing computer-implemented installations
DE102004037338B4 (de) * 2004-08-02 2010-04-29 Infineon Technologies Ag Kommunikationssystem, Verfahren zum Steuern eines Kommunikationssystems, Server, Verfahren zum Betreiben eines Servers, Kommunikationsendgerät und Verfahren zum Betreiben eines Kommunikationsendgeräts
JP4293959B2 (ja) * 2004-09-16 2009-07-08 シャープ株式会社 画像処理装置、プログラム及び記録媒体
KR100795578B1 (ko) * 2006-06-28 2008-01-21 주식회사 케이티 가입자 장치 펌웨어 관리 시스템 및 방법
US20090082880A1 (en) * 2007-09-20 2009-03-26 Tridium Inc. Wireless device for a building control system
US8635316B2 (en) * 2007-10-12 2014-01-21 Pie Digital, Inc. System and method for automatic configuration and management of home network devices
CN101169652B (zh) * 2007-11-09 2010-12-29 上海可鲁系统软件有限公司 一种智能设备与外界的通讯方法及装置
US20100257268A1 (en) * 2007-11-26 2010-10-07 Landry Donald W Methods, Systems, and Media for Controlling Access to Applications on Mobile Devices
US20090307683A1 (en) * 2008-06-08 2009-12-10 Sam Gharabally Network-Based Update of Application Programs
US8745153B2 (en) * 2009-02-09 2014-06-03 Apple Inc. Intelligent download of application programs
NZ595563A (en) * 2009-03-31 2014-04-30 Freestyle Technology Pty Ltd A communications process, device and system
US8712688B2 (en) * 2009-12-10 2014-04-29 International Business Machines Corporation Method for providing interactive site map
CN101930370B (zh) * 2010-09-09 2013-04-03 上海普元信息技术股份有限公司 Soa应用系统服务集成中实现数据转换的系统结构及其方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257217A1 (en) * 2004-05-13 2005-11-17 Bea Systems, Inc. System and method for custom module creation and deployment
US20080077425A1 (en) * 2006-09-25 2008-03-27 Johnson Michael W System, method and computer program product for identifying, configuring and accessing a device on a network

Also Published As

Publication number Publication date
KR102052515B1 (ko) 2019-12-05
JP2017073153A (ja) 2017-04-13
NZ712243A (en) 2017-04-28
CN103858119B9 (zh) 2017-05-03
EP2727003A4 (en) 2015-03-11
CN106936831A (zh) 2017-07-07
TWI683593B (zh) 2020-01-21
CN103858119A (zh) 2014-06-11
AU2012276270A1 (en) 2013-04-11
TWI524806B (zh) 2016-03-01
TWI612838B (zh) 2018-01-21
KR20180110225A (ko) 2018-10-08
AU2012276270B9 (en) 2014-12-11
WO2013000011A1 (en) 2013-01-03
AU2012276270B2 (en) 2014-11-13
MY159437A (en) 2017-01-13
ZA201504420B (en) 2017-11-29
JP2017201565A (ja) 2017-11-09
CA2840511A1 (en) 2013-01-03
CN103858119B (zh) 2017-04-05
CA2840511C (en) 2023-01-24
KR20140074273A (ko) 2014-06-17
MY177988A (en) 2020-09-28
TW201804871A (zh) 2018-02-01
TW201313054A (zh) 2013-03-16
JP2014522019A (ja) 2014-08-28
KR101906439B1 (ko) 2018-10-10
TW201611650A (zh) 2016-03-16
US20140201321A1 (en) 2014-07-17
SG10201506089VA (en) 2015-09-29
NZ619033A (en) 2015-10-30
NZ730834A (en) 2018-11-30
JP6549193B2 (ja) 2019-07-24
KR20150112039A (ko) 2015-10-06
EP2727003A1 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
KR101905054B1 (ko) 다른 통신 프로토콜들을 이용해 디바이스들 간에 통신을 가능하게 하기 위한 시스템, 방법 및/또는 기기
CA2731588C (en) Machine to machine architecture
CN105117938A (zh) 一种基于模型视图控制器的电商构架请求数据分析方法
WO2015149531A1 (zh) 物联网终端的固件管理方法、装置及通用服务实体
JP2019146176A (ja) 異なる通信プロトコルを用いて装置間の通信を可能にするためのシステム、方法、及び/又は装置
KR102174594B1 (ko) 스마트 게이트웨이 시스템
US20130007217A1 (en) Systems, methods, and apparatus for coordinating utility meter program files
AU2017201952B2 (en) An integration system
KR20200049556A (ko) 스마트 게이트웨이 시스템에서의 과금 방법 및 그 장치
NZ619033B2 (en) An integration system
NZ730834B2 (en) An integration system
NZ712243B2 (en) An integration system
US20130002449A1 (en) Systems, methods, and apparatus for utility meter configuration
Page et al. Design of an open smart energy gateway for smart meter data management
DOLUI Cloud platforms for the Internet of Things: how do they stack up in a real world application?

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent