KR20190123680A - System and Method for Transaction in Internet of Media Things and Method therefor - Google Patents

System and Method for Transaction in Internet of Media Things and Method therefor Download PDF

Info

Publication number
KR20190123680A
KR20190123680A KR1020190042587A KR20190042587A KR20190123680A KR 20190123680 A KR20190123680 A KR 20190123680A KR 1020190042587 A KR1020190042587 A KR 1020190042587A KR 20190042587 A KR20190042587 A KR 20190042587A KR 20190123680 A KR20190123680 A KR 20190123680A
Authority
KR
South Korea
Prior art keywords
media
function
token
string
api
Prior art date
Application number
KR1020190042587A
Other languages
Korean (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
Application filed by 명지대학교 산학협력단 filed Critical 명지대학교 산학협력단
Priority to PCT/KR2019/004442 priority Critical patent/WO2019199118A1/en
Publication of KR20190123680A publication Critical patent/KR20190123680A/en

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3223Realising banking transactions through M-devices
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to Internet of Things. More specifically, provided is a transaction based on a block chain or the like applied to Internet of media things (MThing), which is media-oriented Internet of Things. A computer readable medium may include a command code for implementing the API when executed by a processor of the MThing.

Description

미디어사물인터넷의 거래 시스템 및 그 방법{System and Method for Transaction in Internet of Media Things and Method therefor}System and Method for Transaction in Internet of Media Things and Method therefor}

본 발명은 사물인터넷(Internet of Things)에 관한 것이다. 보다 상세하게는, 미디어 중심의 사물인터넷인 미디어사물인터넷(Internet of Media Things)에 적용되는 블록체인 등에 기반한 거래(transaction)에 관한 것이다.The present invention relates to the Internet of Things. More specifically, the present invention relates to a transaction based on a blockchain applied to the Internet of Media Things, which is a media-oriented Internet of Things.

이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present invention and do not constitute a prior art.

멀티미디어 국제 표준화 단체인 MPEG(Moving Picture Experts Group)에서는 MPEG-IoMT(Internet of Media Things; ISO/IEC JTC1 23093) 프로젝트를 통해 미디어사물(Media thing: MThing) 중심의 미디어사물인터넷(IoMT)의 표준화를 진행 중이다. MPEG-IoMT에서는 미디어사물 간 데이터 교환을 위한 API(Application Program Interface)와 미디어사물 간 교환되는 데이터 포맷의 표준화를 논의되고 있다. 특히, 최근에는 탈중앙화된 미디어사물인터넷 시스템 환경을 구축하고, 이를 구성하는 미디어사물 간 자율적이고 안전한 거래를 위하여, 미디어사물인터넷에 블록체인을 적용하려는 시도가 활발하다.The Moving Picture Experts Group (MPEG), an international standardization organization for multimedia, has standardized on the Internet of Things (MThing) -oriented media thing Internet (IoMT) through the MPEG-IoMT (Internet of Media Things (ISO / IEC JTC1 23093) project. Is in progress. MPEG-IoMT discusses the application program interface (API) for data exchange between media objects and standardization of data formats exchanged between media objects. In particular, in recent years, attempts have been made to apply a blockchain to the media thing internet for the purpose of establishing a decentralized media thing internet system environment and for autonomous and secure transactions between the media things constituting it.

본 발명은 블록체인 기반의 미디어사물간 거래 프로세스와 이를 지원하기 위한 미디어사물의 API를 제안한다. 미디어사물인터넷에서의 '거래(transaction)'는 화폐교환과 같은 단순 거래뿐만 아니라 미디어사물 간 발생하는 모든 정보 교환의 의미를 포함한다.The present invention proposes a blockchain-based transaction between media objects and an API of media objects for supporting the same. 'Transaction' in the media thing internet includes not only simple transactions such as currency exchange, but also the meaning of all information exchanges that occur between media objects.

본 발명의 일 측면에 의하면, 미디어사물(Media Thing; MThing)의 프로세서에 의해 실행될 때 API를 구현하기 위한 명령 코드를 포함하는 컴퓨터 판독 가능한 기록매체를 제공한다. 상기 API는, 토큰타입(tokenType) 및 토큰명(tokenName)을 매개변수로 가지며, 입력된 토큰타입 및 토큰명을 지원하면, 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는 함수; 상기 토큰타입 및 상기 토큰명을 매개변수로 가지며, 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는 함수; 및 외부의 결제 시스템에 의해 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자(transaction ID; tid)를 매개변수로 가지며, 상기 소정의 서비스를 제공하는 함수를 포함한다.According to an aspect of the present invention, there is provided a computer-readable recording medium including instruction code for implementing an API when executed by a processor of Media Thing (MThing). The API may include a function having a token type and a token name as parameters, and returning a cost to be paid to receive a predetermined media service if the input token type and token name are supported; A function that has the token type and the token name as parameters and returns a wallet address according to the token type and the token name; And a function having as a parameter a transaction identifier (tid) assigned to the payment for the wallet address by an external payment system, and providing the predetermined service.

상기 API는, 상기 트랜잭션 식별자를 매개변수로 가지며 상기 트랜잭션 식별자에 상응하는 트랜잭션의 완료 여부를 상기 외부의 결제 시스템에 체크하는 함수를 더 포함할 수 있다.The API may further include a function having the transaction identifier as a parameter and checking the external payment system to determine whether a transaction corresponding to the transaction identifier is completed.

상기 API는, 토큰타입 및 토큰명을 매개변수로 가지며 요구되는 토큰타입 및 상기 토큰명을 지원하는 미디어사물들의 리스트를 반환하는 함수; 및 미디어사물의 타입과 능력을 매개변수로 가지며 요구되는 미디어사물의 타입과 능력을 지원하는 미디어사물들의 리스트를 반환하는 함수를 더 포함할 수 있다.The API includes a function that takes a token type and a token name as parameters and returns a list of required token types and media objects supporting the token name; And a function of returning a list of media objects that support the type and capabilities of the media thing and having the type and capability of the media thing as parameters.

상기 API는, 다른 소정의 서비스를 제공하는 다른 미디어사물의 지갑주소와 토큰의 양을 매개변수로 가지며, 상기 외부의 결제 시스템을 통해, 상기 매개변수로 지정된 토큰의 양을 상기 다른 미디어사물의 지갑주소에 보내고, 관련된 트랜잭션 식별자(transaction ID)를 반환하는 함수를 더 포함할 수 있다. The API has parameters of the wallet address and token amount of another media thing providing another predetermined service, and the amount of the token specified by the parameter is determined through the external payment system. It may further include a function that sends to the address, and returns the associated transaction ID (transaction ID).

본 발명의 다른 측면에 의하면, 제1미디어사물이 제2미디어사물와 트랜잭션을 수행하는 방법으로서, 토큰타입(tokenType) 및 토큰명(tokenName)을 넘겨받아 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 단계; 상기 토큰타입 및 상기 토큰명을 넘겨받아 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 획득하는 단계; 외부의 결제 시스템을 통해, 상기 제2미디어사물의 지갑주소로 소정의 양의 토큰을 지불하고, 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자를 획득하는 단계; 및 상기 트랜잭션 식별자를 넘겨받아 소정의 서비스를 제공하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 단계를 포함하는 방법을 제공한다. According to another aspect of the invention, the first media thing is a method for performing a transaction with the second media thing, the cost to be paid in order to receive a token type (tokenType) and token name (tokenName) to receive a predetermined media service Calling a function supported by the API of the second media thing to return; Acquiring the function, supported by the API of the second media thing, which receives the token type and the token name and returns a wallet address according to the token type and the token name; Paying a predetermined amount of tokens to a wallet address of the second media thing through an external payment system, and obtaining a transaction identifier assigned to the payment for the wallet address; And invoking a function supported by the API of the second media thing, which receives the transaction identifier and provides a predetermined service.

본 발명의 또 다른 측면에 의하면, 미디어사물(Media Thing; MThing) 디바이스로서, 미디어의 생성, 저장, 또는 처리를 위한 제1 프로세싱 모듈; 및 다른 미디어사물로부터 수신되는 명령어를 처리하는 API를 실행하는 제2 프로세싱 모듈을 포함하고, 상기 API는, 토큰타입(tokenType) 및 토큰명(tokenName)을 매개변수로 가지며, 입력된 토큰타입 및 토큰명을 지원하면, 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는 함수; 상기 토큰타입 및 상기 토큰명을 매개변수로 가지며, 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는 함수; 및 외부의 결제 시스템에 의해 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자(transaction ID; tid)를 매개변수로 가지며, 상기 소정의 서비스를 제공하는 함수를 포함한다.According to another aspect of the invention, a Media Thing (MThing) device, comprising: a first processing module for creating, storing, or processing media; And a second processing module for executing an API for processing an instruction received from another media thing, wherein the API has a token type and a token name as parameters, and an input token type and a token. A function for returning a cost to be paid in order to receive a given media service, if the name is supported; A function that has the token type and the token name as parameters and returns a wallet address according to the token type and the token name; And a function having as a parameter a transaction identifier (tid) assigned to the payment for the wallet address by an external payment system, and providing the predetermined service.

본 발명에 따르면, IoMT 거래 프로세스에서 모든 미디어사물 간 정보 교환 과정은 블록체인 스마트 컨트랙트를 통해 이루어진다. 따라서, 별도의 서버나 관리자의 개입이 필요치 않아, 탈중앙화된 IoMT 네트워크의 운용이 가능하다.According to the present invention, the process of exchanging information between all media things in the IoMT transaction process is performed through a blockchain smart contract. Therefore, no separate server or administrator intervention is required, and thus a decentralized IoMT network can be operated.

미디어사물의 기능을 사용하고자 하는 사용자 역시 웹(Web), 탈중앙화된 어플리케이션(Decentralized Application: DApp) 혹은 분산 앱 플랫폼 등을 통해 미디어사물과의 자유로운 정보교환과 다양한 서비스의 이용이 가능해진다.Users who want to use the functions of media things can also freely exchange information and use various services with media things through the Web, decentralized application (DApp) or distributed app platform.

도 1은 본 발명에 따른 트랜잭션 방법이 적용될 수도 있는 IoMT 아키텍쳐를 도시한다.
도 2는 요구되는 능력으로 네트워크상의 MThing들을 발견하는 예시적인 프로세스를 보인다.
도 3은 요구되는 능력을 가진 MThing들을 기능과 연결하는 프로세스를 보인다.
도 4는 MThing을 연결해제(즉, 능력들을 릴리스)하는 예시적인 프로세스를 보인다.
도 5는 MThing이 다른 MThing들에 모든 능력들의 일부 또는 전부가 이용 가능하지 않음을 알리는 예시적인 프로세스를 보인다.
도 6은 사용자와 MThing 사이의 예시적인 트랜잭션 프로세스를 나타낸 흐름도를 보인다.
도 7은 MThings 간의 예시적인 트랜잭션 프로세스를 나타낸 흐름도를 보인다.
1 illustrates an IoMT architecture to which a transaction method according to the present invention may be applied.
2 shows an example process for discovering MThings on a network with the required capability.
3 shows a process for associating MThings with the required capabilities with a function.
4 shows an example process for disconnecting (ie releasing capabilities) MThing.
5 shows an example process that MThing notifies other MThings that some or all of all capabilities are not available.
6 shows a flow diagram illustrating an example transaction process between a user and MThing.
7 shows a flow diagram illustrating an example transaction process between MThings.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부,' '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. Throughout the specification, when a part is said to include, 'include' a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated. . In addition, as described in the specification. The term 'module' refers to a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

본 개시에서 언급되는 용어들은, 일반적으로, 다음과 같이 이해될 수 있다.Terms referred to in this disclosure, in general, can be understood as follows.

"미디어(media)"는 오디오, 비디오, 텍스트, 그래픽, 이미지, 햅틱 및 촉각 정보를 포함하는, 렌더링될 수 있는 데이터를 의미한다."Media" means data that can be rendered, including audio, video, text, graphics, images, haptic and tactile information.

"미디어사물(Media Thing: MThing)"은 미디어 또는 메타데이터의 센싱, 수집, 액추에이팅 혹은 프로세싱이 가능한 사물을 지칭한다. 미디어사물에는 미디어 센서(media sensor; MSensor), 미디어 액추에이터(media actuator; MAcuator), 미디어 애그리게이터(media aggregator; MAggregator), 미디어분석기(media analyser; MAnalyzer) 등을 포함할 수 있다. 미디어 액추에이터는 물리적 개체의 일부 속성을 변경하기 위해 디지털 정보를 전달하는 콤포넌트이다."Media Thing" (MThing) refers to a thing capable of sensing, collecting, actuating or processing media or metadata. The media object may include a media sensor (MSensor), a media actuator (MAcuator), a media aggregator (MAggregator), a media analyzer (MAnalyzer), and the like. Media actuators are components that carry digital information to change some attributes of a physical entity.

"미디어사물인터넷(Internet of Media Things: IoMT)"는 주요 기능이 미디어 처리와 관련이 있는 IoT의 특별한 하위 세트이다.The "Internet of Media Things (IoMT)" is a special subset of the IoT whose main functions are related to media processing.

"미디어사물인터넷 디바이스(IoMT Device)"는 적어도 하나의 미디어사물(MThing)을 가지는 IoT 디바이스를 지칭한다."Media IoT Device (IoMT Device)" refers to an IoT device having at least one media thing (MThing).

"미디어토큰(media token)"은 미디어 사물의 기능들, 리소스들 및 데이터에 액세스하기 위한 가상 토큰(virtual token)이다.A "media token" is a virtual token for accessing the functions, resources and data of the media thing.

본 개시는, 일반적으로, 블록체인 기반의 암호화폐 또는 법정통화를 이용한 사물인터넷상의 트랜잭션을 지원하기 위한 API와 그 트랜잭션 방법에 관한 것이다. The present disclosure generally relates to an API for supporting a transaction on the Internet of Things using a blockchain-based cryptocurrency or a fiat currency and a transaction method thereof.

도 1은 본 발명에 따른 트랜잭션 방법이 적용될 수도 있는 IoMT 아키텍쳐를 도시한다. 1 illustrates an IoMT architecture to which a transaction method according to the present invention may be applied.

각 MThing에는 센서, 액추에이터와 같은 서브 모듈들, 미디어 처리 모듈, 커맨드&통신 처리 모듈이 포함될 수 있다. 센서는 실제 또는 가상 세계의 엔티티(entity)에 대한 미디어 데이터를 수집할 수 있다. 액추에이터는 엔티티의 상태에 영향을 줄 수 있다. 미디어 처리 모듈은 센서에서 수집한 미디어 데이터를 분석하고 의미있는 정보를 추출하여 수행할 작업을 결정할 수 있다. 커맨드&통신 처리 모듈은 다른 미디어 사물로부터의 커맨드 또는 통신 메시지를 해석할 수 있다.Each MThing may include sensors, submodules such as actuators, media processing modules, command & communication processing modules. The sensor may collect media data about an entity in a real or virtual world. Actuators can affect the state of an entity. The media processing module may analyze the media data collected by the sensor and extract meaningful information to determine a task to be performed. The command & communication processing module can interpret commands or communication messages from other media objects.

도 1에 도시된 바와 같이, IoMT를 위한 인터페이스는 사용자(user)와 MThing의 인터페이스(이하, '제1 인터페이스'라 칭함)와, MThing에 포함된 센서, 제어기, 및 프로세서 간의 인터페이스(이하, '제2 인터페이스'라 칭함)와 MThing간 인터페이스(이하, '제3 인터페이스'라 칭함)로 구분될 수 있다.As shown in FIG. 1, an interface for IoMT includes an interface between a user and an MThing (hereinafter referred to as a 'first interface') and an interface between a sensor, a controller, and a processor included in the MThing (hereinafter, ' A second interface ”and an MThing interface (hereinafter referred to as a“ third interface ”).

'제1 인터페이스'는 사용자(user)와 MThing 사이의 인터페이스로서, MThing을 제어하는 셋업 정보(setup information)를 포함할 수 있다. 여기서, '사용자'는 사물 인터넷 서비스나 제품의 콘텐츠 디자이너를 포함할 수 있으며, '셋업 정보'는 MThing의 특성 파라미터 셋업(setup)이나 MThing이 일정한 조건을 만났을 때 수행하는 명령어를 포함할 수 있다.The 'first interface' is a user interface between the user and the MThing, and may include setup information for controlling the MThing. Here, the 'user' may include a 'designer', an 'Internet' service or a content designer of the product, and the 'setup information' may include a feature parameter setup of MThing or a command performed when MThing meets a certain condition.

'제1' 인터페이스'는 제1 인터페이스에서 정해진 사용자 셋업 정보를 MThing 사이에서 송수신하는 인터페이스이다.The 'first' interface is an interface for transmitting and receiving user setup information defined in the first interface between MThings.

'제2 인터페이스'는 MThing에 포함된 센서나 액추에이터로부터 생성되는 센서 데이터, 액추에이션 데이터를 처리하기 위한 인터페이스이다. 여기서, '센서 데이터'는 센서로부터 감지되는 데이터(예를 들어, 비디오 데이터)뿐만 아니라, 해당 데이터를 처리하여 획득하는 높은 수준의 센서 데이터(예를 들어, 얼굴 서술자, 지문 서술자, 의료 진단명 등)를 포함할 수 있다. '액추에이션 데이터'는 하나의 MThing에서 감지된 관심 개체(Entity)를 다른 MThing(예를 들어, 디스플레이 모니터)에서 콘텐츠로 활용할 때 사용되는 관심 개체의 정보(예를 들어, Binary Format for Scene: BIFS)를 포함할 수 있다.The second interface is an interface for processing sensor data and actuation data generated from sensors or actuators included in MThing. Here, the 'sensor data' refers to not only data (eg, video data) detected from the sensor, but also high-level sensor data (eg, face descriptor, fingerprint descriptor, medical diagnosis name, etc.) obtained by processing the data. It may include. Actuation data is information about an object of interest (e.g., Binary Format for Scene: BIFS) that is used when the entity of interest detected in one MThing is utilized as content in another MThing (e.g., display monitor). ) May be included.

"제2' 인터페이스"는 제2 인터페이스의 데이터가 MThing 사이의 전송을 위한 포맷으로 변환되어 전달되는 인터페이스이다.The "second 'interface" is an interface in which data of the second interface is converted into a format for transfer between MThings and transmitted.

'제3 인터페이스'는 MThing의 발견(dicovery)과 성능, 특성(characteristics) 등을 정의하기 위한 인터페이스로서, 상기 제1' 인터페이스와 제2' 인터페이스를 포함할 수 있다.The 'third interface' is an interface for defining discovery, performance, characteristics, and the like of MThing, and may include the first and second interfaces.

MThing들과 엔티티(Entity)는 MPEG-IoMT 표준 API(Application programming Interface)를 이용하여, MThing을 발견하고, 연결하며, 표준화된 포맷으로 데이터를 교환할 수 있다. MPEG-IoMT Part 1(ISO/IEC 23093-1)의 작업 초안은 https://www.iso.org/standard/57796.html으로부터 입수 가능하다. MPEG-IoMT Part 2(ISO/IEC 23093-2)의 작업 초안은 https://www.iso.org/standard/74332.html으로부터 입수 가능하다. MPEG-IoMT Part 3(ISO/IEC 23093-3)의 작업 초안은 https://www.iso.org/standard/74333.html로부터 입수 가능하다.MThings and entities can use the MPEG-IoMT standard application programming interface (API) to discover, connect, and exchange data in a standardized format. A working draft of MPEG-IoMT Part 1 (ISO / IEC 23093-1) is available from https://www.iso.org/standard/57796.html. A working draft of MPEG-IoMT Part 2 (ISO / IEC 23093-2) is available from https://www.iso.org/standard/74332.html. A working draft of MPEG-IoMT Part 3 (ISO / IEC 23093-3) is available from https://www.iso.org/standard/74333.html.

이하에서는, MThing들을 조작하고 MThing들간에 구조화된 데이터를 교환하는 한편, 블록체인 기반의 암호화폐 등을 이용하여, 미디어사물인터넷(IoMT)상의 트랜잭션 프로세스를 지원하기 위한 Mthing들의 API들을 설명한다. 이하의 API들은 JAVA 프로그래밍 기반으로 기술되어 있으나, C++, C와 같은 다른 프로그래밍 언어로 구현될 수도 있음은 자명하다.The following describes APIs of Mthings for supporting a transaction process on Media Internet of Things (IoMT), while manipulating MThings and exchanging structured data between MThings, and using blockchain-based cryptocurrency. The following APIs are described based on JAVA programming, but it is obvious that they may be implemented in other programming languages such as C ++ and C.

1. class MThing1.class MThing

클래스(class) MThing은 모든 종류의 MThing들의 기본 클래스이다. 이 클래스는 MThing의 필수적인 필드(essential field)들과 메소드(method)들을 포함한다.Class MThing is the base class for all kinds of MThings. This class contains the essential fields and methods of MThing.

클래스 MThing에는 매개변수의 유무 및 그 사용하는 매개변수의 종류에 따라 여러 개의 생성자(constructor)가 있을 수 있다. 아래 표에는 어떠한 매개변수도 전달받지 않는 기본 생성자(default constructor)를 포함한 3개의 생성자가 정의되어 있다. 생성자의 매개변수는 MThing의 string형의 고유 식별자(id)와 string형의 IP주소(ipAddress), int형의 포트(port)가 포함될 수 있다.Class MThing can have multiple constructors, depending on the presence of parameters and the types of parameters they use. The following table defines three constructors, including a default constructor that takes no parameters. The constructor parameter may include a string unique identifier (id) of MThing, an IP address of a string type (ipAddress), and a port of an int type.

클래스 MThing는, 그 멤버(member)로서, 속성을 표현하는 필드(field)와 기능을 표현하는 메소드(method)를 가진다. 메소드(method)는 어떠한 특정 작업을 수행하기 위한 명령문의 집합 혹은 함수라고 볼 수 있다. 즉, 모든 종류의 MThing들의 API는 클래스 MThing이 가지는 메소드(method)들을 지원한다. 이하의 설명에서 메소드(method)와 함수(function)는 상호 호환적으로 사용될 수 있다.Class MThing, as its member, has a field representing an attribute and a method representing a function. A method is a set of statements or a function for performing a particular task. That is, the API of all kinds of MThings supports the methods of class MThing. In the following description, a method and a function may be used interchangeably.

아래 표 1에는 클래스 MThing의 여러 메소드들이 정의되어 있다. Table 1 below defines several methods of class MThing.

예컨대, 매소드 discoverMThingByToken(int tokenType, String tokenName)은, 호출 시에, 그 매개변수로 토큰유형(tokenType)과 토큰명(tokenName)을 넘겨받아, 그 토큰유형과 토큰명을 지원하는 MThings 리스트를 반환한다. 매소드 isCapabilityAvailable(String MThingType, String capability)는, 호출 시에, 그 매개변수로 미디어사물유형(MThingType)과 능력(capability)을 넘겨받아, 지정된 미디어사물유형(MThingType)의 미디어사물에 대해 지정된 능력(capability)의 이용가능성을 문의한다. 위 매소드는 그 능력이 이용가능하면 1을 반환하고 그렇지 않으면 0을 반환한다.For example, the method discoverMThingByToken (int tokenType, String tokenName) takes a token type (tokenType) and a token name (tokenName) as its parameters when called, and returns a list of MThings that support that token type and token name. . The method isCapabilityAvailable (String MThingType, String capability), upon invocation, takes as its parameters the MediaTypeType (MThingType) and capability, and assigns the specified capability to the MediaObject of the specified MediaTypeType (MThingType). Ask for availability. The above method returns 1 if the capability is available and 0 otherwise.

매소드 getWalletAddress(int tokenType, String tokenName)는, 호출 시에, 그 매개변수로 토큰유형(tokenType)과 토큰 이름(tokenName)을 넘겨받아, 요청된 토큰 유형 및 요청 된 토큰 이름에 따른 지갑 주소(wallet address)를 리턴한다. 위 매소드는 작업이 성공하면 지갑 주소를 반환하고, 지정된 토큰유형(tokenType)과 토큰 이름(tokenName)에 대한 지갑 주소가 없으면 null을 반환한다.The method getWalletAddress (int tokenType, String tokenName) takes a token type (tokenType) and a token name (tokenName) as its parameters when called, and the wallet address according to the requested token type and the requested token name. ) The method returns the wallet address if the operation succeeds, or null if there is no wallet address for the specified tokenType (tokenType) and token name (tokenName).

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MThing()MThing () Default constructor.Default constructor. MThing(String id)MThing (String id) MThing(String id, String ipAddress, Integer port)MThing (String id, String ipAddress, Integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description StringString IdId Unique identifier.Unique identifier. StringString ipAddressipAddress intint portport MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description TypeType get()get () voidvoid set(Type)set (Type) List< MThingInfoType >List <MThingInfoType> discoverMThingByCapability(String MThingType, String capability)discoverMThingByCapability (String MThingType, String capability) 이 함수는 요구되는 능력을 지원하는 MThing들의 목록을 반환한다. MThingType 및 capability는 각각 ISO/IEC 23093-3 초안의 Appendix에 명시된 MThingTypeCS 및 capabilityCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현될 수 있다.This function returns a list of MThings that support the required capabilities. MThingType and capability may be represented by a string (eg, term ID or binary representation) of MThingTypeCS and capabilityCS specified in the Appendix of the draft of ISO / IEC 23093-3, respectively. List< MThingInfoType >List <MThingInfoType> discoverMThingByToken(int tokenType, String tokenName)discoverMThingByToken (int tokenType, String tokenName) 이 함수는 그 매개변수로 토큰유형(tokenType)과 토큰명(tokenName)을 넘겨받아, 그 토큰유형과 토큰명을 지원하는 MThing들의 리스트를 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다.
예) dicoverMThingByToken(0, "BTC") 또는 dicoverMThingByToken(0, "00000001")
예) dicoverMThingByToken(1, "USD") 또는 dicoverMThingByToken(1, "10010100")
This function takes a tokenType and tokenName as its parameters and returns a list of MThings that support that tokentype and token name. A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 .
Yes) dicoverMThingByToken (0, "BTC") or dicoverMThingByToken (0, "00000001")
Ex) dicoverMThingByToken (1, "USD") or dicoverMThingByToken (1, "10010100")
intint isCapabilityAvailable(String MThingType, String capability)isCapabilityAvailable (String MThingType, String capability) 이 함수는 그 매개변수로 미디어사물유형(MThingType)과 능력(capability)을 넘겨받아, 지정된 미디어사물유형(MThingType)의 미디어사물에 대해 지정된 능력(capability)의 이용가능성을 문의한다. MThingType 및 capability는 각각 ISO/IEC 23093-3 초안의 Appendix에 명시된 MThingTypeCS 및 capabilityCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현될 수 있다.
이 함수는 그 능력이 이용 가능하면 1을 반환하고 그렇지 않으면 0을 반환한다.
예) isCapabilityAvailable("MSensor", "SENSOR_CAPTURE_AUDIO"); 또는 isCapabilityAvailable("0000000", "00000001");
This function takes as its parameters the MThingType and capability, and queries the availability of the specified capabilities for the media object of the specified MThingType. MThingType and capability may be represented by a string (eg, term ID or binary representation) of MThingTypeCS and capabilityCS specified in the Appendix of the draft of ISO / IEC 23093-3, respectively.
This function returns 1 if the capability is available and 0 otherwise.
Ex) isCapabilityAvailable ("MSensor", "SENSOR_CAPTURE_AUDIO"); Or isCapabilityAvailable ("0000000", "00000001");
StringString getWalletAddress(int tokenType, String tokenName)getWalletAddress (int tokenType, String tokenName) 이 함수는 그 매개변수로 토큰유형(tokenType)과 토큰 이름(tokenName)을 넘겨받아, 요청된 토큰 유형 및 토큰 이름에 따른 지갑 주소(wallet address)를 리턴한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다.
예) getWalletAddress(0, "BTC") 또는 getWalletAddress(0, "00000001")
예) getWalletAddress(1, "USD") 또는 getWalletAddress(1, "10010100")
This function takes a tokenType and a tokenName as its parameters and returns a wallet address according to the requested token type and token name. A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 .
Yes) getWalletAddress (0, "BTC") or getWalletAddress (0, "00000001")
Ex) getWalletAddress (1, "USD") or getWalletAddress (1, "10010100")
StringString sendTokens(String walletAddress, float amount)sendTokens (String walletAddress, float amount) 이 함수는 수신자 MThing의 지갑 주소를 사용하여 수신자 MThing에게 토큰을 전달한다. 매개변수 amount에 의해 지정된 양(amount)의 토큰이 walletAddress로 전송된다. 이 함수는 작업이 성공하면 트랜잭션 ID를 반환하고 실패하면 null을 반환한다.This function passes the token to the receiver MThing using the wallet address of the receiver MThing. The amount of tokens specified by the parameter amount is sent to the walletAddress. This function returns the transaction ID if the operation succeeds or null if it fails. floatfloat checkTransactionCompletion(String tid)checkTransactionCompletion (String tid) 이 함수는 트랜잭션 ID인 tid를 사용하여 트랜잭션 완료를 체크한다. 어느 MThing(예를 들어, 토큰 송신자) 및 이에 대응하는 MThing(예를 들어, 토큰 수신자)은 (토큰) 트랜잭션이 트랜잭션 ID(tid)로 완료되었는지 여부를 외부의 결제시스템에 체크할 수 있다. 트랜잭션이 완료되었으면 토큰 양을 반환하고, 그렇지 않으면 -1을 반환한다. This function checks for transaction completion using the transaction ID tid . Which MThing (e.g., the token sender) and the corresponding MThing (e.g., token receiver) may check with the external payment system whether the (token) transaction was completed with the transaction ID tid . If the transaction is complete, the token amount is returned; otherwise, -1 is returned. intint connectMThing(MThingInfoType myMThingInfo)connectMThing (MThingInfoType myMThingInfo) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 타겟 MThing의 모든 이용 가능한 능력을 예약한다. 작업이 성공하면 1을 반환하고 실패하면 0을 반환하며, 타겟 MThing이 응답하지 않으면 -1을 반환한다.This function sends (requester) MThing information, myMThingInfo, to reserve all available capabilities of the target MThing. Returns 1 if the operation is successful, 0 if the operation fails, or -1 if the target MThing does not respond. intint connectMThing(MThingInfoType myMThingInfo, String targetMThingType, String targetCapability)connectMThing (MThingInfoType myMThingInfo, String targetMThingType, String targetCapability) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 타겟 MThing의 지정된 기능을 예약한다. targetMThingType 및 targetCapability는 ISO/IEC 23093-3 초안의 Appendix에서 정의될 MThingTypeCS 및 capabilityCS의 문자열(예컨대, 용어 ID 또는 이진 표현)로 각각 표현될 수 있다. 작업이 성공하면 1을 반환하고, 실패하면 0을 반환하며, 타겟 MThing이 응답하지 않으면 -1을 반환한다.
예) connectMThing(myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); 또는
connectMThing(myMThingInfo, "0000000", "00000001");
This function reserves the specified capability of the target MThing by sending myMThingInfo (requester) MThing information. The targetMThingType and targetCapability may be expressed as a string (eg, a term ID or binary representation) of MThingTypeCS and capabilityCS, which will be defined in the Appendix of the draft of ISO / IEC 23093-3, respectively. Returns 1 if the operation is successful, 0 if the operation fails, or -1 if the target MThing does not respond.
Ex) connectMThing (myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); or
connectMThing (myMThingInfo, "0000000", "00000001");
intint disconnectMThing(MThingInfoType myMThingInfo)disconnectMThing (MThingInfoType myMThingInfo) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 타겟 MThing의 모든 예약된 기능을 해제한다. 작업이 성공하면 1을 실패하면 1을 반환하고, 타겟 MThing이 응답하지 않으면 -1을 반환한다.This function sends (requester) MThing information myMThingInfo to release all reserved functions of the target MThing. If the operation succeeds, it returns 1; if it fails, it returns 1; if the target MThing does not respond, it returns -1. intint disconnectMThing(MThingInfoType myMThingInfo, String targetMThingType, String targetCapability)disconnectMThing (MThingInfoType myMThingInfo, String targetMThingType, String targetCapability) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 타겟 MThing의 지정된 기능을 해제한다. targetMThingTypetargetCapability는 ISO/IEC 23093-3 초안의 Appendix에서 정의될 MThingTypeCS 및 capabilityCS의 문자열(예컨대, 용어 ID 또는 이진 표현)로 각각 표현될 수 있다. 이 함수는 작업이 성공하면 1을 반환하고, 실패하면 0을 반환하며, 타겟 MThing이 응답하지 않으면 -1을 반환한다.
예) disconnectMThing(myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); 또는
disconnectMThing(myMThingInfo, "0000000", "00000001");
This function sends the (requester) MThing information myMThingInfo to release the specified function of the target MThing. The targetMThingType and targetCapability may be represented by a string (eg, a term ID or binary representation) of MThingTypeCS and capabilityCS, which will be defined in the Appendix of the draft of ISO / IEC 23093-3, respectively. This function returns 1 if the operation succeeds, 0 if it fails, and -1 if the target MThing does not respond.
Ex) disconnectMThing (myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); or
disconnectMThing (myMThingInfo, "0000000", "00000001");
intint alertDisconnection(MThingInfoType myMThingInfo)alertDisconnection (MThingInfoType myMThingInfo) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 요청자 MThing의 모든 예약된 능력을 연결해제(disconnection)하는 것을 타겟 MThing에 경고한다. 이 함수는 작업이 성공하면 1을 반환하고, 실패하면 0을 반환하며, 타겟 MThing이 응답하지 않으면 -1을 반환한다.This function sends the (requester) MThing information myMThingInfo to alert the target MThing to disconnect all reserved capabilities of the requester MThing. This function returns 1 if the operation succeeds, 0 if it fails, and -1 if the target MThing does not respond. intint alertDisconnection(MThingInfoType myMThingInfo, String myMThingType, String myCapability)alertDisconnection (MThingInfoType myMThingInfo, String myMThingType, String myCapability) 이 함수는 (요청자) MThing 정보인 myMThingInfo를 전송하여 요청자 MThing의 지정된 능력을 연결해제(disconnection)하는 것을 타겟 MThing에 경고한다. myMThingTypemyCapability는 ISO/IEC 23093-3 초안의 Appendix에서 정의될 MThingTypeCS 및 capabilityCS의 문자열(예컨대, 용어 ID 또는 이진 표현)로 각각 표현될 수 있다. 작업이 성공하면 1을 반환하고, 실패하면 0을 반환하며, 타겟 MThing이 응답하지 않으면 -1을 반환한다.
예) alertDisconnectCapability(myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); 또는
alertDisconnectCapability(myMThingInfo, "00000000", "00000001");
This function sends a (requester) MThing information, myMThingInfo, to warn the target MThing of disconnecting the specified capability of the requester MThing. myMThingType and myCapability may be represented as strings (eg, term ID or binary representation) of MThingTypeCS and capabilityCS, respectively, to be defined in the Appendix of the draft ISO / IEC 23093-3. Returns 1 if the operation is successful, 0 if the operation fails, or -1 if the target MThing does not respond.
Ex) alertDisconnectCapability (myMThingInfo, "MSensor", "SENSOR_CAPTURE_AUDIO"); or
alertDisconnectCapability (myMThingInfo, "00000000", "00000001");
MPEG21TerminalCapabilityTypeMPEG21TerminalCapabilityType getMPEG21TerminalCapabilityList()getMPEG21TerminalCapabilityList () 이 함수는 MPEG-21의 규격을 따르는 하드웨어 설명인 TerminalCapabilityType을 생성한다. 반환되는 데이터의 유형인 "MPEG21TerminalCapabilityType"은 후술한다.This function creates TerminalCapabilityType, a hardware description that conforms to the MPEG-21 specification. "MPEG21TerminalCapabilityType", which is a type of returned data, will be described later.

2. Return type class2. Return type class

이제 반환(Return) 유형의 클래스들, MThingInfoType과 MPEG21TerminalCapabilityType을 설명한다.Now, the return type classes, MThingInfoType and MPEG21 Terminal CapabilityType, are described.

2-1. MThingInfoType2-1. MThingInfoType

아래 표는 MThing 정보를 전달하는 반환 유형 클래스 MThingInfoType를 정의한다. 즉, MThing 정보는 아래 표에 규정된 클래스로 제공될 수 있다. 따라서, 다른 MThing은 클래스 MThingInfoType에 포함된 다양한 매소드(method)들을 사용하여 MThing 정보를 얻을 수 있다.The following table defines the return type class MThingInfoType that conveys MThing information. That is, the MThing information may be provided in the class defined in the table below. Therefore, another MThing can obtain MThing information by using various methods included in the class MThingInfoType.

ConstructorConstructor Constructor and DescriptionConstructor and Description MThingInfoType()MThingInfoType () Default constructor.Default constructor. MThingInfoType(int type, String MThingInfo) MThingInfoType (int type, String MThingInfo) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description intint typetype MThing 정보의 반환 타입.0 = None, 1 = XML, 2 = Binary, 3 = JSONReturn type of MThing information: 0 = None, 1 = XML, 2 = Binary, 3 = JSON String String MThingInfoMThingInfo ISO/IEC 23093-3 초안에 규정된 MThingInfo의 데이터 포맷에 의해 기술된 MThing 정보위 데이터 포맷은 MThing 메타데이터와, 그 메타데이터의 (절대) 시간 정보, MThing이 지원하는 토큰들의 목록을 포함할 수 있다.MThing Information The data format described by MThingInfo's data format specified in the draft of ISO / IEC 23093-3 may contain MThing metadata, (absolute) time information of the metadata, and a list of tokens supported by MThing. have. MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description intint getType()getType () voidvoid setType(int type)setType (int type) StringString getMThingInfo()getMThingInfo () voidvoid setMThingInfo(String MThingInfo)setMThingInfo (String MThingInfo)

2-2. MPEG21TerminalCapabilityType2-2. MPEG21TerminalCapabilityType

아래 표는, MPEG-21 DIA (ISO/IEC 23000-7)에 명시된 단말 능력들에 의해 기술되는, MThing의 하드웨어 능력들을 전달하는 반환 유형 클래스 MPEG21TerminalCapabilityType 을 정의한다. 즉, 하드웨어 능력들은 아래 표에 규정된 클래스로 제공될 수 있다. 따라서, 다른 MThing은 클래스 MPEG21TerminalCapabilityType에 포함된 다양한 매소드(method)들을 사용하여 하드웨어 능력을 얻을 수 있다.The table below defines a return type class MPEG21TerminalCapabilityType that conveys the hardware capabilities of MThing, described by the terminal capabilities specified in MPEG-21 DIA (ISO / IEC 23000-7). That is, hardware capabilities can be provided in the classes defined in the table below. Thus, other MThings can obtain hardware capabilities using various methods included in the class MPEG21TermCapabilityType.

ConstructorConstructor Constructor and DescriptionConstructor and Description MPEG21TerminalCapabilityType()MPEG21TerminalCapabilityType () Default constructor.Default constructor. MPEG21TerminalCapabilityType(int type, String mpeg21Data) MPEG21TerminalCapabilityType (int type, String mpeg21Data) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description intint typetype 하드웨어 능력의 반환 타입.0 = None, 1 = XML, 2 = Binary, 3 = JSONReturn type of hardware capability: 0 = None, 1 = XML, 2 = Binary, 3 = JSON String String mpeg21Datampeg21Data MPEG-21의 단말(terminal) 능력들의 규격에 따른 단말(예컨대, 하드웨어) 능력 정보Terminal (eg, hardware) capability information according to the specification of terminal capabilities of MPEG-21 MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description intint getType()getType () voidvoid setType(int type)setType (int type) StringString getMPEG21Data ()getMPEG21Data () voidvoid setMPEG21Data (String mpeg21Data)setMPEG21Data (String mpeg21Data)

3. IoMT sensor들을 위한 API3. API for IoMT sensors

IoMT sensor들의 API는 다음과 같은 MSensor 클래스를 지원한다. MSensor 클래스는 전술한 MThing 클래스의 특징들을 상속받는다. MSensor 클래스에는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환하는 여러 메소드(즉, 함수)가 포함된다.The API of IoMT sensors supports the following MSensor class. The MSensor class inherits the features of the aforementioned MThing class. The MSensor class contains several methods (that is, functions) that return a class (that is, Java or C ++) or a structure (that is, C).

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MSensor()MSensor () Default constructor.Default constructor. MSensor(String id)MSensor (String id) MSensor(String id, String ipAddress, integer port)MSensor (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description MPEGVCapabilityTypeMPEGVCapabilityType getMPEGVCapability()getMPEGVCapability () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 반환 타입(예: XML, Binary) 및 ISO/IEC 23005-2 (MPEG-V Part 2)의 센서 능력들을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include sensor capabilities of return types (eg XML, Binary) and ISO / IEC 23005-2 (MPEG-V Part 2). MPEGVSensedDataTypeMPEGVSensedDataType getMPEGVSendsedData()getMPEGVSendsedData () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 반환 타입(예: XML, Binary) 및 ISO/IEC 23005-5 (MPEG-V Part 5)의 액추에이터 능력들을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include actuator capabilities of return type (eg XML, Binary) and ISO / IEC 23005-5 (MPEG-V Part 5). CapabilityListTypeCapabilityListType getSensorCapabilityList();getSensorCapabilityList (); 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 반환 타입(예: XML, Binary) 및 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include a list of return types (eg XML, Binary) and capabilities as defined herein. CapabilityListTypeCapabilityListType getAvailableSensorCapabilityList()getAvailableSensorCapabilityList () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 반환 타입(예: XML, Binary) 및 이용 가능한 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include the return types (e.g., XML, Binary) and the list of available capabilities as defined herein. CapabilityListTypeCapabilityListType getAppliedSensorCapabilityList()getAppliedSensorCapabilityList () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 반환 타입(예: XML, Binary) 및 신청된 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include the return types (e.g., XML, Binary) defined in this specification, and the list of applied capabilities. SensedDataTypeSensedDataType getCapturedTime()getCapturedTime () 이 함수는 센싱된 데이터의 캡처된 시간을 반환한다.This function returns the captured time of the sensed data. SensedDataTypeSensedDataType getCapturedTime(String tid)getCapturedTime (String tid) 이 함수는 센싱된 데이터의 캡처된 시간을 반환한다. tid는 대응되는 서비스의 토큰 트랜잭션 ID이다. This function returns the captured time of the sensed data. tid is the token transaction ID of the corresponding service. floatfloat getCapturedTime_Cost(int tokenType, String tokenName)getCapturedTime_Cost (int tokenType, String tokenName) 이 함수는 getCapturedTime()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) getCapturedTime_Cost(0, "BTC") 또는 getCapturedTime_Cost(0, "00000001")
예) getCapturedTime_Cost(1, "USD") 또는 getCapturedTime_Cost(1, "10010100")
This function returns the amount of tokens to use getCapturedTime () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) getCapturedTime_Cost (0, "BTC") or getCapturedTime_Cost (0, "00000001")
Ex) getCapturedTime_Cost (1, "USD") or getCapturedTime_Cost (1, "10010100")

3-1. IoMT microphone을 위한 API3-1. API for IoMT microphone

마이크로폰 능력을 가진 IoMT sensor(즉, IoMT microphone)의 API는 다음과 같은 MMicrophone 클래스를 지원한다. MMicrophone 클래스는 전술한 MSensor 클래스의 특징들을 상속받는다. The API of an IoMT sensor (ie IoMT microphone) with microphone capability supports the following MMicrophone classes. The MMicrophone class inherits the features of the MSensor class described above.

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MMicrophone()MMicrophone () Default constructor.Default constructor. MMicrophone(String id)MMicrophone (String id) MMicrophone(String id, String ipAddress, integer port)MMicrophone (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description StringString getAudioURL()getAudioURL () 이 함수는 오디오 소스의 URL을 반환한다.This function returns the URL of the audio source. StringString getAudioURL(String tid)getAudioURL (String tid) 이 함수는 오디오 소스의 URL을 반환한다. tid는 이 함수를 사용하기 위한 지불의 트랜잭션 ID이다. This function returns the URL of the audio source. tid is the transaction ID of the payment to use this function. floatfloat getAudioURL_CostPerMinute(int tokenType, String tokenName)getAudioURL_CostPerMinute (int tokenType, String tokenName) 이 함수는 getAudioURL()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
Ex) getAudioURL_CostPerMinute(0, "BTC") 또는 getAudioURL_CostPerMinute(0, "00000001")
Ex) getAudioURL_CostPerMinute(1, “USD”) 또는 getAudioURL_CostPerMinute(1, "10010100")
This function returns the amount of tokens to use getAudioURL () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Ex) getAudioURL_CostPerMinute (0, "BTC") or getAudioURL_CostPerMinute (0, "00000001")
Ex) getAudioURL_CostPerMinute (1, “USD”) or getAudioURL_CostPerMinute (1, "10010100")

3-2. IoMT camera를 위한 API3-2. API for IoMT cameras

카메라 능력을 가진 IoMT sensor(즉, IoMT camera)의 API는 다음과 같은 MMicrophone 클래스를 지원한다. MMicrophone 클래스는 전술한 MSensor 클래스의 특징들을 상속받는다. The API of an IoMT sensor (ie IoMT camera) with camera capability supports the following MMicrophone classes. The MMicrophone class inherits the features of the MSensor class described above.

아래 표에 보인 바와 같이, MCamera 클래스의 필드(즉, 속성)에는 MCamera의 고유 식별자(id)와 IP주소(ipAddress), 포트(port)가 포함된다. 고유 식별자(id), IP주소(ipAddress), 및 포트(port)의 데이터 타입은, 각각, 문자열(string), 문자열(string) 및 정수(intger)이다.As shown in the table below, the fields (ie attributes) of the MCamera class include the MCamera's unique identifier (id), IP address (ipAddress), and port. The data types of the unique identifier (id), the IP address (ipAddress), and the port are a string, a string, and an integer, respectively.

MCamera 클래스의 메소드(즉, 기능)에는 getVideoURL(), getVideoURL(String tid), getVideoURL_CostPerMinute(int tokenType, String tokenName), getImageURL(), getImageURL(String tid), getImageURL_Cost(int tokenType, String tokenName)가 포함된다. 예컨대, 매소드 getVideoURL_CostPerMinute(int tokenType, String tokenName)는, 그 호출 시에, 토큰타입(tokenType)과 토큰명(tokenName)을 넘겨받아, getVideoURL ()을 사용하기 위한 분당 토큰 양을 반환한다. Methods (that is, functions) of the MCamera class include getVideoURL (), getVideoURL (String tid), getVideoURL_CostPerMinute (int tokenType, String tokenName), getImageURL (), getImageURL (String tid), getImageURL_Cost (int tokenType, String tokenName) . For example, the method getVideoURL_CostPerMinute (int tokenType, String tokenName), upon its invocation, takes a tokenType (tokenType) and a token name (tokenName), and returns the amount of tokens per minute for using getVideoURL ().

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MCamera()MCamera () Default constructor.Default constructor. MCamera(String id)MCamera (String id) MCamera(String id, String ipAddress, integer port)MCamera (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description StringString getVideoURL()getVideoURL () 이 함수는 비디오 소스의 URL을 반환한다. This function returns the URL of the video source. StringString getVideoURL(String tid)getVideoURL (String tid) 이 함수는 비디오 소스의 URL을 반환한다. tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다. This function returns the URL of the video source. tid is the transaction ID of the payment to use this function. floatfloat getVideoURL_CostPerMinute(int tokenType, String tokenName)getVideoURL_CostPerMinute (int tokenType, String tokenName) 이 함수는 getVideoURL()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) getVideoURL_CostPerMinute(0, "BTC") 또는 getVideoURL_CostPerMinute(0, "00000001")
예) getVideoURL_CostPerMinute(1, "USD") 또는 getVideoURL_CostPerMinute(1, "10010100")
This function returns the amount of tokens to use getVideoURL () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) getVideoURL_CostPerMinute (0, "BTC") or getVideoURL_CostPerMinute (0, "00000001")
Ex) getVideoURL_CostPerMinute (1, "USD") or getVideoURL_CostPerMinute (1, "10010100")
StringString getImageURL()getImageURL () 이 함수는 이미지 소스의 URL을 반환한다. This function returns the URL of the image source. StringString getImageURL(String tid)getImageURL (String tid) 이 함수는 이미지 소스의 URL을 반환한다. tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다. This function returns the URL of the image source. tid is the transaction ID of the payment to use this function. floatfloat getImageURL_Cost(int tokenType, String tokenName)getImageURL_Cost (int tokenType, String tokenName) 이 함수는 getImageURL()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) getImageURL_Cost(0, "BTC") 또는 getImageURL_Cost(0, "00000001")
예) getImageURL_Cost(1, "USD") 또는 getImageURL_Cost(1, "10010100")
This function returns the amount of tokens to use getImageURL () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) getImageURL_Cost (0, "BTC") or getImageURL_Cost (0, "00000001")
Ex) getImageURL_Cost (1, "USD") or getImageURL_Cost (1, "10010100")

4. IoMT 액추에이터(actuater)들을 위한 API4. API for IoMT Actuators

IoMT 액추에이터들의 API는 다음과 같은 MActuator 클래스를 지원한다. MActuator 클래스는 전술한 MThing 클래스의 특징들을 상속받는다. MActuator 클래스에는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환하는 여러 메소드(즉, 함수)가 포함된다. The API of the IoMT actuators supports the following MActuator classes. The MActuator class inherits the features of the aforementioned MThing class. The MActuator class contains several methods (that is, functions) that return a class (that is, Java or C ++) or a structure (that is, C).

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MActuator()MActuator () Default constructor.Default constructor. MActuator(String id)MActuator (String id) MActuator(String id, String ipAddress, integer port)MActuator (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description MPEGVCapabilityTypeMPEGVCapabilityType getMPEGVCapability()getMPEGVCapability () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 반환 타입(예: XML, Binary) 및 ISO/IEC 23005-2 (MPEG-V Part 2)의 액추에이터 능력들을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include actuator types of return type (eg XML, Binary) and ISO / IEC 23005-2 (MPEG-V Part 2). intint setMPEGVCommand(MPEGVCommandType mpegvCommand)setMPEGVCommand (MPEGVCommandType mpegvCommand) 이 함수는 ISO/IEC 23005-5 (MPEG-V Part 5)의 액추에이터 명령들의 규격에 따라 액추에이터에 명령을 설정한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function sets the command to the actuator according to the specifications of the actuator commands in ISO / IEC 23005-5 (MPEG-V Part 5). This function returns 1 if the operation is successful and 0 otherwise. CapabilityListTypeCapabilityListType getCapabilityList()getCapabilityList () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 반환 타입(예: XML, Binary) 및 데이터 포맷을 사용하여 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures contain a list of capabilities using the return types (eg XML, Binary) and data formats defined herein. CapabilityListTypeCapabilityListType getAvailableActuatorCapabilityList()getAvailableActuatorCapabilityList () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 반환 타입(예: XML, Binary) 및 데이터 포맷을 사용하여 표현된 이용 가능한 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures contain a list of available capabilities expressed using the return types (eg, XML, Binary) and data formats defined herein. CapabilityListTypeCapabilityListType getAppliedActuatorCapabilityList()getAppliedActuatorCapabilityList () 이 함수는 클래스(즉, Java 또는 C++) 또는 구조체(즉, C)를 반환한다. 이들 클래스 또는 구조체는 본 명세서에 정의된 데이터 포맷을 사용하여 표현된 반환 타입(예: XML, Binary) 및 신청된 능력 목록을 포함한다.This function returns a class (ie Java or C ++) or a structure (ie C). These classes or structures include a return type (eg, XML, Binary) and a list of applied capabilities, expressed using the data format defined herein.

4-1. IoMT speaker를 위한 API4-1. API for IoMT speaker

스피커 능력을 가진 IoMT 액추에이터(즉, IoMT speaker)의 API는 다음과 같은 MSpeaker 클래스를 지원한다. MSpeaker 클래스는 전술한 MActuator 클래스의 특징들을 상속받는다. The API of an IoMT actuator (ie IoMT speaker) with speaker capabilities supports the following MSpeaker classes: The MSpeaker class inherits the features of the aforementioned MActuator class.

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MSpeaker()MSpeaker () Default constructor.Default constructor. MSpeaker(String id)MSpeaker (String id) MSpeaker(String id, String ipAddress, integer port)MSpeaker (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description intint setAudioURL(String url)setAudioURL (String url) 이 함수는 다른 MThings에서 보낸 오디오 소스의 URL을 받는다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function takes the URL of an audio source sent by another MThings. This function returns 1 if the operation is successful and 0 otherwise. intint setAudioURL(String tid, String url)setAudioURL (String tid, String url) 이 함수는 다른 MThings에서 보낸 오디오 소스의 URL을 받는다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다. This function takes the URL of an audio source sent by another MThings. This function returns 1 if the operation is successful and 0 otherwise. tid is the transaction ID of the payment to use this function. floatfloat setAudioURL_CostPerMinute(int tokenType, String tokenName)setAudioURL_CostPerMinute (int tokenType, String tokenName) 이 함수는 setAudioURL ()을 사용하기 위해 분당 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setAudioURL_CostPerMinute(0, "BTC") 또는 setAudioURL_CostPerMinute(0, "00000001")
예) setAudioURL_CostPerMinute(1, "USD") 또는 setAudioURL_CostPerMinute(1, "10010100")
This function returns the amount of tokens per minute to use setAudioURL () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setAudioURL_CostPerMinute (0, "BTC") or setAudioURL_CostPerMinute (0, "00000001")
Ex) setAudioURL_CostPerMinute (1, "USD") or setAudioURL_CostPerMinute (1, "10010100")
intint setPlay(ActuationDataType play)setPlay (ActuationDataType play) 이 함수는 재생 유형(예: 정지, 재생, 일시 중지)을 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function controls the type of playback (for example, stop, play, pause). This function returns 1 if the operation is successful and 0 otherwise. intint setPlay(String tid, ActuationDataType play)setPlay (String tid, ActuationDataType play) 이 함수는 재생 유형(예: 정지, 재생, 일시 중지)을 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다. This function controls the type of playback (for example, stop, play, pause). This function returns 1 if the operation is successful and 0 otherwise. tid is the transaction ID of the payment to use this function. floatfloat setPlay_Cost(int tokenType, String tokenName)setPlay_Cost (int tokenType, String tokenName) 이 함수는 setPlay ()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setPlay_Cost(0, "BTC") 또는 setPlay_Cost(0, "00000001")
예) setPlay_Cost(1, "USD") 또는 setPlay_Cost(1, "10010100")
This function returns the amount of tokens to use setPlay () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setPlay_Cost (0, "BTC") or setPlay_Cost (0, "00000001")
Ex) setPlay_Cost (1, "USD") or setPlay_Cost (1, "10010100")
intint setVolume(ActuationDataType volume)setVolume (ActuationDataType volume) 이 함수는 소리의 음량을 조절한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function adjusts the volume of the sound. This function returns 1 if the operation is successful and 0 otherwise. intint setVolume(String tid, ActuationDataType volume)setVolume (String tid, ActuationDataType volume) 이 함수는 소리의 음량을 조절한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다. This function adjusts the volume of the sound. This function returns 1 if the operation is successful and 0 otherwise. tid is the transaction ID of the payment to use this function. floatfloat setVolume_Cost(int tokenType, String tokenName)setVolume_Cost (int tokenType, String tokenName) 이 함수는 setVolume ()을 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setVolume_Cost(0, "BTC") 또는 setVolume_Cost(0, "00000001")
예) setVolume_Cost(1, "USD") 또는 setVolume_Cost(1, "10010100")
This function returns the amount of tokens to use setVolume () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setVolume_Cost (0, "BTC") or setVolume_Cost (0, "00000001")
Ex) setVolume_Cost (1, "USD") or setVolume_Cost (1, "10010100")

4-2. IoMT display를 위한 API4-2. API for IoMT display

디스플레이 능력을 가진 IoMT 액추에이터(즉, IoMT display)의 API는 다음과 같은 MDisplay 클래스를 지원한다. MDisplay 클래스는 전술한 MActuator 클래스의 특징들을 상속받는다. The API of an IoMT actuator with display capabilities (ie, IoMT display) supports the following MDisplay class: The MDisplay class inherits the features of the above-described MActuator class.

MDisplay 클래스는, 그 멤버(member)로서, 속성을 표현하는 필드(field)와 기능을 표현하는 메소드(method)를 가진다.The MDisplay class has its members, a field representing attributes and a method representing functionality.

아래 표 9에 보인 바와 같이, MDisplay 클래스의 필드(즉, 속성)에는 MCamera의 고유 식별자(id)와 IP주소(ipAddress), 포트(port)가 포함된다. 고유 식별자(id), IP주소(ipAddress), 및 포트(port)의 데이터 타입은, 각각, 문자열(string), 문자열(string) 및 정수(intger)이다.As shown in Table 9 below, the fields (ie attributes) of the MDisplay class include MCamera's unique identifier (id), IP address (ipAddress), and port. The data types of the unique identifier (id), the IP address (ipAddress), and the port are a string, a string, and an integer, respectively.

Nested ClassesNested classes Modifier and TypeModifier and Type Method and DescriptionMethod and Description ConstructorConstructor Constructor and DescriptionConstructor and Description MDisplay()MDisplay () Default constructor.Default constructor. MDisplay (String id)MDisplay (String id) MDisplay (String id, String ipAddress, integer port)MDisplay (String id, String ipAddress, integer port) FieldsFields Modifier and TypeModifier and Type Field and DescriptionField and Description MethodsMethods Modifier and TypeModifier and Type Method and DescriptionMethod and Description intint setVideoURL(String url)setVideoURL (String url) 이 함수는 다른 MThing으로부터 비디오 소스의 URL을 받는다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function gets the URL of the video source from another MThing. This function returns 1 if the operation is successful and 0 otherwise. intint setVideoURL(String tid, String url)setVideoURL (String tid, String url) 이 함수는 다른 MThing으로부터 비디오 소스의 URL을 받는다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.
tid는 이 함수를 사용하기 위한 지불(payment)의 트랜잭션 ID이다.
This function gets the URL of the video source from another MThing. This function returns 1 if the operation is successful and 0 otherwise.
tid is the transaction ID of the payment to use this function.
intint setVideoURL_CostPerMinute(int tokenType, String tokenName)setVideoURL_CostPerMinute (int tokenType, String tokenName) 이 함수는 setVideoURL ()을 사용하기 위한 분당 토큰 양을 반환한다.
tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다.
tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setVideoURL_CostPerMinute(0, "BTC") 또는 setVideoURL_CostPerMinute(0, "00000001")
예) setVideoURL_CostPerMinute(1, "USD") 또는 setVideoURL_CostPerMinute(1, "10010100")
This function returns the amount of tokens per minute to use setVideoURL () .
A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender".
tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setVideoURL_CostPerMinute (0, "BTC") or setVideoURL_CostPerMinute (0, "00000001")
Ex) setVideoURL_CostPerMinute (1, "USD") or setVideoURL_CostPerMinute (1, "10010100")
intint setPlay (ActuationDataType play)setPlay (ActuationDataType play) 이 함수는 재생 유형(예컨대, 정지, 재생, 일시 중지)을 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function controls the type of playback (eg, stop, play, pause). This function returns 1 if the operation is successful and 0 otherwise. intint setPlay (String tid, ActuationDataType play)setPlay (String tid, ActuationDataType play) 이 함수는 재생 유형 (예컨대, 정지, 재생, 일시 중지)을 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. 여기서, tid는 이 기능을 사용하기 위한 지불의 트랜잭션 ID이다.This function controls the type of playback (eg, stop, play, pause). This function returns 1 if the operation is successful and 0 otherwise. Where tid is the transaction ID of the payment to use this feature. intint setPlay_Cost(int tokenType, String tokenName)setPlay_Cost (int tokenType, String tokenName) 이 함수는 setPlay()을 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다.
tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setPlay_Cost(0, "BTC") 또는 setPlay_Cost(0, "00000001")
예) setPlay_Cost(1, "USD") 또는 setPlay_Cost(1, "10010100")
This function returns the amount of tokens to use setPlay () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender".
tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Ex) setPlay_Cost (0, "BTC") or setPlay_Cost (0, "00000001")
Ex) setPlay_Cost (1, "USD") or setPlay_Cost (1, "10010100")
intint setDisplayResolution(ActuationDataType resolution)setDisplayResolution (ActuationDataType resolution) 이 함수는 비디오 디스플레이의 해상도를 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 0을 반환하고 그렇지 않으면 1을 반환한다.This function controls the resolution of the video display. This function returns 1 if the operation is successful, 0 otherwise, and 1 otherwise. intint setDisplayResolution(String tid, ActuationDataType resolution)setDisplayResolution (String tid, ActuationDataType resolution) 이 함수는 비디오 디스플레이의 해상도를 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. tid는 이 함수를 사용하기 위한 지불의 트랜잭션 ID이다. This function controls the resolution of the video display. This function returns 1 if the operation is successful and 0 otherwise. tid is the transaction ID of the payment to use this function. intint setDisplayResolution_Cost(int tokenType, String tokenName)setDisplayResolution_Cost (int tokenType, String tokenName) 이 함수는 setDisplayResolution ()을 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setDisplayResolution_Cost(0, "BTC") 또는 setDisplayResolution_Cost(0, "00000001")
예) setDisplayResolution_Cost(1, "USD") 또는 setDisplayResolution_Cost(1, "10010100")
This function returns the amount of tokens to use setDisplayResolution () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setDisplayResolution_Cost (0, "BTC") or setDisplayResolution_Cost (0, "00000001")
Ex) setDisplayResolution_Cost (1, "USD") or setDisplayResolution_Cost (1, "10010100")
intint setBrightness(ActuationDataType brightness)setBrightness (ActuationDataType brightness) 이 함수는 디스플레이의 밝기를 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다.This function controls the brightness of the display. This function returns 1 if the operation is successful and 0 otherwise. intint setBrightness(String tid, ActuationDataType brightness)setBrightness (String tid, ActuationDataType brightness) 이 함수는 디스플레이의 밝기를 제어한다. 이 함수는 작업이 성공하면 1을 반환하고 그렇지 않으면 0을 반환한다. tid는 이 함수를 사용하기 위한 지불의 트랜잭션 ID이다. This function controls the brightness of the display. This function returns 1 if the operation is successful and 0 otherwise. tid is the transaction ID of the payment to use this function. intint setBrightness_Cost(int tokenType, String tokenName)setBrightness_Cost (int tokenType, String tokenName) 이 함수는 setBrightness ()를 사용하기 위한 토큰의 양을 반환한다. tokenType이 0이면 "암호 화폐(Crypto Currency)"를, tokenType이 1이면 "법정 통화(Legal Tender)"를 나타낸다. tokenName은 ISO/IEC 23093-3 초안의 Appendix에 명시될 TokenCS의 문자열(예컨대, term ID 또는 이진 표현)로 표현된다. 요청된 토큰이 지원되지 않으면, -1을 반환한다.
예) setBrightness_Cost(0, "BTC") 또는 setBrightness_Cost(0, "00000001")
예) setBrightness_Cost(1, "USD") 또는 setBrightness_Cost(1, "10010100")
This function returns the amount of tokens to use setBrightness () . A tokenType of 0 indicates "Crypto Currency" and a tokenType of 1 indicates "Legal Tender". tokenName is represented as a string (eg, term ID or binary representation) of TokenCS to be specified in the Appendix of the draft of ISO / IEC 23093-3 . If the requested token is not supported, -1 is returned.
Yes) setBrightness_Cost (0, "BTC") or setBrightness_Cost (0, "00000001")
Ex) setBrightness_Cost (1, "USD") or setBrightness_Cost (1, "10010100")

이제, 상술한 API들을 이용하는 몇몇 예시적인 시나리오들을 설명하기로 한다.Now, some example scenarios using the above-described APIs will be described.

도 2는 요구되는 능력으로 네트워크상의 MThing들을 발견하는 예시적인 프로세스를 보인다. MThing은 그 능력뿐만 아니라, 표 1에 예시된 메소드 discoverMThingByToken(int tokenType, String tokenName)를 이용하여, 지원되는 미디어 토큰 유형으로도 발견될 수 있다. 요구되는 능력 또는 미디어 토큰 유형을 지원하는 각 MThing은 자신의 정보를 회신할 수 있다. 2 shows an example process for discovering MThings on a network with the required capability. In addition to its capabilities, MThing can also be found as a supported media token type, using the method discoverMThingByToken (int tokenType, String tokenName) illustrated in Table 1. Each MThing that supports the required capability or media token type can return its own information.

도 2에서 MThing(즉, 요청자)은 discoverMThingByCapability ()를 사용하여 오디오를 캡처할 수 있는 다른 MSensor들을 찾는 메시지를 브로드캐스트한다(도 2의 ①). 각 MSensor(예컨대, MMicrophone1, MMicrophone2, MCamera1)는 ISO/IEC 23093-3(도 2의 ②)에 정의된 데이터 포맷 MThingInfo를 반환하는 sendBackMThingInfo ()를 사용하여 자신의 정보를 보낸다. In FIG. 2, MThing (i.e. requester) broadcasts a message looking for other MSensors capable of capturing audio using discoverMThingByCapability () (1) in FIG. 2). Each MSensor (eg, MMicrophone1, MMicrophone2, MCamera1) sends its own information using sendBackMThingInfo () which returns the data format MThingInfo defined in ISO / IEC 23093-3 (2 in FIG. 2).

도 3은 요구되는 능력을 가진 MThing들을 기능과 연결하는 프로세스를 보인다. MThing(즉, 도 3의 "ReqMThing")은 다른 MThing(도 3의 ①)에 대한 함수 isCapabilityAvailable ()으로 특정 능력(예를 들어, SENSOR_CAPTURE_AUDIO)의 이용 가능성(availability)을 문의할 수 있다. "SENSOR_CAPTURE_AUDIO" 능력이 현재 이용 가능하지 않은 경우, MThing(예컨대, 도 3의 MMicrophone1)은 "이용 가능하지 않음(unavailable)"을 알린다(도 3의 ②). ReqMThing은 "MSensor" 및 "SENSOR_CAPTURE_AUDIO"의 이진 표현을 사용하여 다른 MThings(예컨대, 도 3의 ③)에 상기 특정 능력의 이용 가능성을 다시 문의할 수 있다. MCamera1이 ReqMThing에 "SENSOR_CAPTURE_AUDIO" 능력이 이용 가능함(available)을 알리면(도 3의 ④), ReqMThing은 MCamera1에 연결하여, MCamera1의 "SENSOR_CAPTURE_AUDIO" 기능을 예약할 수 있다(도 3의 ⑤). MCamera1의 기능 "SENSOR_CAPTURE_AUDIO"가 ReqMThing에 의해 사용되는 한, 다른 MThing들은 해당 기능에 액세스할 수 없다.3 shows a process for associating MThings with the required capabilities with a function. MThing (ie, "ReqMThing" in FIG. 3) may query the availability of a specific capability (eg, SENSOR_CAPTURE_AUDIO) with the function isCapabilityAvailable () for another MThing (1 in FIG. 3). If the "SENSOR_CAPTURE_AUDIO" capability is not currently available, MThing (e.g., MMicrophone1 in Figure 3) announces "unavailable" (2 in Figure 3). ReqMThing may use the binary representations of "MSensor" and "SENSOR_CAPTURE_AUDIO" to query other MThings (eg, ③ in FIG. 3) again for the availability of this particular capability. When MCamera1 informs ReqMThing that the "SENSOR_CAPTURE_AUDIO" capability is available (④ in FIG. 3), ReqMThing may connect to MCamera1 and reserve the "SENSOR_CAPTURE_AUDIO" function of MCamera1 (⑤ in FIG. 3). As long as the function "SENSOR_CAPTURE_AUDIO" of MCamera1 is used by ReqMThing, other MThings cannot access the function.

도 4는 MThing을 연결해제(즉, 능력들을 릴리스)하는 예시적인 프로세스를 보인다. ReqMThing은 disconnectMThing ()을 사용하여 MCamera의 모든 예약된 능력을 해제하거나(도 4의 ①, ② 참조) 지정된 기능(예컨대, SENSOR_CAPTURE_AUDIO)을 해제할 수 있다(도 4의 ③, ④ 참조).4 shows an example process for disconnecting (ie releasing capabilities) MThing. ReqMThing may release all reserved capacities of the MCamera using disconnectMThing () (see ① and ② of FIG. 4) or release a designated function (eg, SENSOR_CAPTURE_AUDIO) (see ③ and ④ of FIG. 4).

도 5는 MThing이 다른 MThing들에 모든 능력들의 일부 또는 전부가 이용 가능하지 않음을 알리는 예시적인 프로세스를 보인다. MCamera는, alertDisconnection ()을 사용하여, MThing_01에 의해 예약된 모든 능력이 이용 가능하지 않음을 MThing_01에게 알리거나(도 5의 ①, ② 참조), 지정된 능력(예컨대, SENSOR_CAPTURE_AUDIO)이 더 이상 MThing_01에게 이용 가능하지 않음을 MThing_01에 알릴 수 있다.5 shows an example process that MThing notifies other MThings that some or all of all capabilities are not available. The MCamera may use alertDisconnection () to inform MThing_01 that all capabilities reserved by MThing_01 are not available (see ①, ② in FIG. 5), or the specified capabilities (eg SENSOR_CAPTURE_AUDIO) are no longer available to MThing_01. It may inform MThing_01 that it is not possible.

이제, 도 6 및 도 7을 참조하여, 사용자와 MThing 간에 그리고 MThing들간에 이루어지는 트랜잭션 프로세스를 설명한다. 도 6 및 도 7의 프로세스 수행 전에, 이들 엔티티간에 도 2의 발견(discovery) 프로세스 및 도 3의 연결(connection) 프로세스가 먼저 수행된다고 이해하여도 좋다.Referring now to FIGS. 6 and 7, a transaction process between a user and an MThing and between MThings will be described. Before performing the process of FIGS. 6 and 7, it may be understood that the discovery process of FIG. 2 and the connection process of FIG. 3 are first performed between these entities.

도 6은 사용자와 MThing 사이의 예시적인 트랜잭션 프로세스를 나타낸 흐름도를 보인다. 사용자가 근처의 카메라(즉, MCamera)에서 캡처한 비디오를 보고 싶어한다고 가정하자. 6 shows a flow diagram illustrating an example transaction process between a user and MThing. Suppose a user wants to see a video captured from a nearby camera (ie MCamera).

사용자는, 전용 애플리케이션, 탈중앙화된 어플리케이션(Decentralized Application: DApp), 혹은 웹 애플리케이션(Web Application) 등의 사용자 인터페이스를 통해, getVideoURL_CostPerMinute ()를 사용하여 MCamera가 촬영한 비디오를 원하는 토큰타입(tokenType; 예컨대, 암호 화폐 또는 법정 통화)과 토큰명(tokenName; 예컨대, Bitcoin 또는 US 달러)으로 시청하기 위해, 분당 비용을 문의한다(도 6의 S601). MCamera는 사용자가 getVideoURL () 함수를 사용할 수 있도록 분당 비용을 반환한다(도 6의 S602). 응답된 가격에 비디오를 보고 싶다면, 사용자는 지갑 주소(wallet address)를 문의한다(도 6의 S603). MCamera는 적절한 지갑 주소로 응답한다(도 6의 S604). The user can use the getVideoURL_CostPerMinute () to obtain a video captured by the MCamera through a user interface such as a dedicated application, a decentralized application (DApp), or a web application. Cost per minute (S601 in FIG. 6) to view by cryptocurrency or fiat currency) and token name (e.g., Bitcoin or US dollars). The MCamera returns a cost per minute so that the user can use the getVideoURL () function (S602 in FIG. 6). If the user wants to watch the video at the price replied, the user inquires the wallet address (S603 in FIG. 6). The MCamera responds with an appropriate wallet address (S604 in FIG. 6).

사용자는 블록 체인 또는 은행 시스템과 같은, 결제 시스템을 통해 지갑 주소로 일정량의 토큰을 보내며(도 6의 S605), 결제 시스템은 트랜잭션 ID(즉, tid)을 반환한다(도 6의 S606). 사용자는, checkTransactionCompletion (tid)을 사용하여, 토큰 트랜잭션이 지정된 지갑 주소에 성공적으로 완료되었는지 여부를 확인할 수 있다(도 6의 S607~S608). 트랜잭션이 확인되면, 사용자는 getVideoURL (tid)을 사용하여 MCamera에 비디오 스트림 서비스를 요청할 수 있다(도 6의 S609). The user sends a certain amount of tokens to the wallet address through a payment system, such as a blockchain or banking system (S605 in FIG. 6), and the payment system returns a transaction ID (i.e. tid) (S606 in FIG. 6). The user can use checkTransactionCompletion (tid) to check whether the token transaction has been successfully completed at the designated wallet address (S607 to S608 in Fig. 6). If the transaction is confirmed, the user may request a video stream service from the MCamera using getVideoURL (tid) (S609 in FIG. 6).

MCamera는 checkTransactionCompletion (tid)를 사용하여(도 6의 S610), 토큰 트랜잭션의 완료와 수신된 토큰 양을 확인한다(도 6의 S611). MCamera는 비디오 URL을 반환하고, 사용자가 지불 한만큼 비디오를 스트리밍 한다(도 6의 S612). MCamera uses checkTransactionCompletion (tid) (S610 in FIG. 6) to confirm the completion of the token transaction and the amount of token received (S611 in FIG. 6). The MCamera returns a video URL and streams the video as the user paid (S612 in FIG. 6).

도 6에 예시된 트랜잭션 프로세스는 다른 시나리오들(예컨대, 사용자가 근처의 마이크로폰(즉, MMicrophone)에 원하는 오디오를 출력하는 시나리오, 사용자가 근처의 디스플레이(즉, MDisplay)로 원하는 비디오를 스트리밍하여 재생하는 시나리오)에도 비슷한 방식으로 적용될 수 있다.The transaction process illustrated in FIG. 6 includes other scenarios (e.g., a scenario in which the user outputs the desired audio to a nearby microphone (i.e., MMicrophone), and the user streams and plays the desired video to a nearby display (i.e., MDisplay). Scenarios).

도 7은 MThings 간의 예시적인 트랜잭션 프로세스를 나타낸 흐름도를 보인다. 카메라(즉, MCamera)가 캡처된 비디오를 근처의 디스플레이(즉, MDisplay)로 스트리밍하여 재생하려고 한다고 가정하자. 7 shows a flow diagram illustrating an example transaction process between MThings. Suppose a camera (i.e., MCamera) wants to stream captured video to a nearby display (i.e., MDisplay) for playback.

MCamera는, setVideoURL_CostPerMinute ()를 사용하여, 토큰타입(tokenType; 예컨대, 암호 화폐 또는 법정 통화)과 토큰명(tokenName; 예컨대, Bitcoin 또는 US 달러)으로 MDisplay 상에 비디오를 재생하기 위한 분당 비용을 문의한다(도 7의 S701). MDisplay는 MCamera가 setVideoURL () 함수를 사용할 수 있도록 분당 비용을 반환한다(도 7의 S702). 응답된 가격으로 비디오를 재생하기를 원하면, Mcamera는 MDisplay에 지갑 주소를 문의한다(도 7의 S703). MDisplay는 적절한 지갑 주소를 응답한다(도 7의 S704). MCamera uses setVideoURL_CostPerMinute () to query the cost per minute for playing video on the MDisplay by tokenType (e.g., cryptocurrency or fiat currency) and token name (e.g., Bitcoin or US dollars). (S701 in FIG. 7). MDisplay returns cost per minute so that MCamera can use the setVideoURL () function (S702 in FIG. 7). If the user wants to play the video at the price answered, Mcamera asks MDisplay for the wallet address (S703 in FIG. 7). MDisplay responds with the appropriate wallet address (S704 in FIG. 7).

MCamera는 블록 체인 또는 은행 시스템과 같은 결제 시스템을 통해 지갑 주소로 일정량의 토큰을 보내며(도 7의 S705), 결제 시스템은 트랜잭션 ID(즉, tid)을 반환한다(도 7의 S706). MCamera는, checkTransactionCompletion (tid)을 사용하여, 토큰 트랜잭션이 지정된 지갑 주소에 성공적으로 완료되었는지 여부를 확인할 수 있다(도 7의 S707~S708). 트랜잭션이 확인되면, MCamera는 setVideoURL (tid, url)을 사용하여 MDisplay에 비디오 스트림 서비스를 요청할 수 있다(도 7의 S709). The MCamera sends a certain amount of tokens to the wallet address through a payment system such as a blockchain or banking system (S705 in FIG. 7), and the payment system returns a transaction ID (ie tid) (S706 in FIG. 7). The MCamera may use checkTransactionCompletion (tid) to check whether the token transaction was successfully completed at the designated wallet address (S707 to S708 in FIG. 7). If the transaction is confirmed, the MCamera may request a video stream service from the MDisplay using setVideoURL (tid, url) (S709 of FIG. 7).

MDisplay는 checkTransactionCompletion (tid)를 사용하여(도 7의 S710), 토큰 트랜잭션의 완료와 수신된 토큰 양을 확인한다(도 7의 S711). MDisplay는 수신된 비디오 URL을 사용하여, MCamera가 지불한 만큼 비디오를 재생하고(도 7의 S712), 비디오 재생 서비스의 완료를 통지한다(도 7의 S713). The MDisplay uses checkTransactionCompletion (tid) (S710 in FIG. 7) to confirm the completion of the token transaction and the amount of tokens received (S711 in FIG. 7). The MDisplay uses the received video URL to play the video as much as MCamera pays (S712 in FIG. 7), and notifies the completion of the video playback service (S713 in FIG. 7).

전술한 예시적인 실시예들은 많은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 일부 예들에서, 본 명세서에서 설명된 다양한 방법들, 디바이스들, 장치들, 시스템들은 프로세서, 메모리, 디스크 또는 다른 대용량 스토리지, 통신 인터페이스, 입/출력(I/O) 디바이스들 및 기타 주변 장치들을 가지는 컴퓨팅 디바이스에 의해 구현될 수도 있다.It should be understood that the example embodiments described above may be implemented in many different ways. In some examples, the various methods, devices, apparatuses, systems described herein have a processor, memory, disk or other mass storage, communication interface, input / output (I / O) devices, and other peripheral devices. It may be implemented by a computing device.

본 명세서에서 설명된 기능적 컴포넌트들은 그들의 구현 독립성을 특히 더 강조하기 위해 ...부(unit) 혹은 모듈로 라벨링되었음을 이해해야 한다. 예를 들어, 모듈은 커스텀 VLSI(very-large-scale integration) 회로 또는 게이트 어레이, 논리 칩, 트랜지스터와 같은 반도체를 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 필드 프로그래머블 게이트 어레이(field programmable gate array: FPGA), 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스들 등과 같은 프로그래머블 하드웨어 디바이스로 구현될 수 있다.It is to be understood that the functional components described herein are labeled as units or modules in order to further emphasize their implementation independence. For example, the module may be implemented as a custom very-large-scale integration (VLSI) circuit or hardware circuitry including semiconductors such as gate arrays, logic chips, and transistors. The module may also be implemented as programmable hardware devices such as field programmable gate arrays (FPGAs), programmable array logic, programmable logic devices, and the like.

한편, 본 명세서에서 설명된 다양한 방법들은 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 비일시적 기록매체에 저장된 명령어들로 구현될 수도 있다. 비일시적 기록매체는, 예를 들어, 컴퓨터 시스템에 의하여 판독가능한 형태로 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예를 들어, 비일시적 기록매체는 EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 솔리드 스테이트 드라이브(SSD)와 같은 저장매체를 포함한다. Meanwhile, the various methods described herein may be implemented with instructions stored on a non-transitory recording medium that can be read and executed by one or more processors. Non-transitory recording media includes all types of recording devices, for example, in which data is stored in a form readable by a computer system. For example, non-transitory recording media include storage media such as erasable programmable read only memory (EPROM), flash drives, optical drives, magnetic hard drives, solid state drives (SSD).

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 보호받고자 하는 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 보호받고자 하는 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those skilled in the art to which the present embodiment belongs may make various modifications and changes without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are not intended to limit the technical spirit of the invention to be protected, but are intended to describe the scope of the technical spirit of the invention to be protected by the embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

Claims (7)

미디어사물(Media Thing; MThing)의 프로세서에 의해 실행될 때 API를 구현하기 위한 명령 코드를 포함하는 컴퓨터 판독 가능한 기록매체로서, 상기 API는,
토큰타입(tokenType) 및 토큰명(tokenName)을 매개변수로 가지며, 입력된 토큰타입 및 토큰명을 지원하면, 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는 함수;
상기 토큰타입 및 상기 토큰명을 매개변수로 가지며, 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는 함수; 및
외부의 결제 시스템에 의해 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자(transaction ID; tid)를 매개변수로 가지며, 상기 소정의 서비스를 제공하는 함수
를 포함하는, 컴퓨터 판독 가능한 기록매체.
A computer readable recording medium containing instruction code for implementing an API when executed by a processor of a media thing (MThing), the API comprising:
A function that has a tokenType and a tokenName as parameters, and returns a cost to be paid to receive a predetermined media service if the input token type and the token name are supported;
A function that has the token type and the token name as parameters and returns a wallet address according to the token type and the token name; And
A function having as a parameter a transaction identifier (tid) assigned to payment for the wallet address by an external payment system, and providing the predetermined service.
Computer-readable recording medium comprising a.
제1항에 있어서,
상기 API는,
상기 트랜잭션 식별자를 매개변수로 가지며, 상기 트랜잭션 식별자에 상응하는 트랜잭션의 완료 여부를 상기 외부의 결제 시스템에 체크하는 함수를 더 포함하는, 컴퓨터 판독 가능한 기록매체.
The method of claim 1,
The API is
And having a transaction identifier as a parameter and checking a function of the external payment system to determine whether a transaction corresponding to the transaction identifier is completed.
제1항에 있어서,
상기 API는,
토큰타입 및 토큰명을 매개변수로 가지며, 요구되는 토큰타입 및 상기 토큰명을 지원하는 미디어사물들의 리스트를 반환하는 함수; 및
미디어사물의 타입과 능력을 매개변수로 가지며, 요구되는 미디어사물의 타입과 능력을 지원하는 미디어사물들의 리스트를 반환하는 함수
를 더 포함하는, 컴퓨터 판독 가능한 기록매체.
The method of claim 1,
The API is
A function having a token type and a token name as parameters, and returning a list of required token types and media objects supporting the token name; And
A function that takes a media object's type and capability as a parameter and returns a list of media objects that support the type and capability of the media object.
The computer readable recording medium further comprising.
제1항에 있어서,
상기 API는,
다른 소정의 서비스를 제공하는 다른 미디어사물의 지갑주소와 토큰의 양을 매개변수로 가지며, 상기 외부의 결제 시스템을 통해, 상기 매개변수로 지정된 토큰의 양을 상기 다른 미디어사물의 지갑주소에 보내고, 관련된 트랜잭션 식별자(transaction ID)를 반환하는 함수를 더 포함하는, 컴퓨터 판독 가능한 기록매체.
The method of claim 1,
The API is
It has the parameters of the wallet address and the amount of tokens of other media things that provide other predetermined services, and sends the amount of tokens specified by the parameters to the wallet address of the other media things through the external payment system, And a function for returning an associated transaction ID.
제1미디어사물이 제2미디어사물과 트랜잭션을 수행하는 방법에 있어서,
토큰타입(tokenType) 및 토큰명(tokenName)을 넘겨받아 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 단계;
상기 토큰타입 및 상기 토큰명을 넘겨받아 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 획득하는 단계;
외부의 결제 시스템을 통해, 상기 제2미디어사물의 지갑주소로 소정의 양의 토큰을 지불하고, 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자를 획득하는 단계; 및
상기 트랜잭션 식별자를 넘겨받아 소정의 서비스를 제공하는, 상기 제2미디어사물의 API가 지원하는, 함수를 호출하는 단계
를 포함하는 방법.
In a method in which a first media thing performs a transaction with a second media thing,
Invoking a function, supported by the API of the second media thing, that takes a tokenType and a tokenName and returns a cost to be paid for providing a predetermined media service;
Acquiring the function, supported by the API of the second media thing, which receives the token type and the token name and returns a wallet address according to the token type and the token name;
Paying a predetermined amount of tokens to a wallet address of the second media thing through an external payment system, and obtaining a transaction identifier assigned to the payment for the wallet address; And
Invoking a function supported by the API of the second media thing, which receives the transaction identifier and provides a predetermined service;
How to include.
제5항에 있어서,
상기 트랜잭션 식별자에 상응하는 트랜잭션의 완료 여부를 상기 외부의 결제 시스템에 체크하는 단계;
를 더 포함하는 방법.
The method of claim 5,
Checking whether the transaction corresponding to the transaction identifier is completed to the external payment system;
How to include more.
미디어사물(Media Thing; MThing) 디바이스로서,
미디어의 생성, 저장, 또는 처리를 위한 제1 프로세싱 모듈; 및
다른 미디어사물로부터 수신되는 명령어를 처리하는 API를 실행하는 제2 프로세싱 모듈을 포함하고, 상기 API는,
토큰타입(tokenType) 및 토큰명(tokenName)을 매개변수로 가지며, 입력된 토큰타입 및 토큰명을 지원하면, 소정의 미디어 서비스를 제공받기 위해 지불하여야 하는 비용을 반환하는 함수;
상기 토큰타입 및 상기 토큰명을 매개변수로 가지며, 상기 토큰타입 및 상기 토큰명에 따른 지갑주소를 반환하는 함수; 및
외부의 결제 시스템에 의해 상기 지갑주소에 대한 지불에 부여된 트랜잭션 식별자(transaction ID; tid)를 매개변수로 가지며, 상기 소정의 서비스를 제공하는 함수
를 포함하는, 미디어사물 디바이스.
As a Media Thing (MThing) device,
A first processing module for creating, storing, or processing media; And
A second processing module for executing an API for processing an instruction received from another media object, wherein the API includes:
A function that has a tokenType and a tokenName as parameters, and returns a cost to be paid to receive a predetermined media service if the input token type and the token name are supported;
A function that has the token type and the token name as parameters and returns a wallet address according to the token type and the token name; And
A function having as a parameter a transaction identifier (tid) assigned to payment for the wallet address by an external payment system, and providing the predetermined service.
Including, the media thing device.
KR1020190042587A 2018-04-12 2019-04-11 System and Method for Transaction in Internet of Media Things and Method therefor KR20190123680A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/004442 WO2019199118A1 (en) 2018-04-12 2019-04-12 Internet of media things transaction system and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180042860 2018-04-12
KR20180042860 2018-04-12

Publications (1)

Publication Number Publication Date
KR20190123680A true KR20190123680A (en) 2019-11-01

Family

ID=68535369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190042587A KR20190123680A (en) 2018-04-12 2019-04-11 System and Method for Transaction in Internet of Media Things and Method therefor

Country Status (1)

Country Link
KR (1) KR20190123680A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230008452A (en) 2021-07-07 2023-01-16 명지대학교 산학협력단 An apparatus for performing the mission of the Internet of Media things (IoMT), a method therefor and a computer-readable recording medium in which a program that performs this method is recorded
KR20230049458A (en) 2021-10-06 2023-04-13 명지대학교 산학협력단 An apparatus for binding Media Things (MThing) in the Internet of Media things (IoMT), a method therefor and a computer-readable recording medium in which a program that performs this method is recorded
KR20240045467A (en) 2022-09-30 2024-04-08 한국전자기술연구원 Media iot-based system and method of operation thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230008452A (en) 2021-07-07 2023-01-16 명지대학교 산학협력단 An apparatus for performing the mission of the Internet of Media things (IoMT), a method therefor and a computer-readable recording medium in which a program that performs this method is recorded
KR20230049458A (en) 2021-10-06 2023-04-13 명지대학교 산학협력단 An apparatus for binding Media Things (MThing) in the Internet of Media things (IoMT), a method therefor and a computer-readable recording medium in which a program that performs this method is recorded
KR20240045467A (en) 2022-09-30 2024-04-08 한국전자기술연구원 Media iot-based system and method of operation thereof

Similar Documents

Publication Publication Date Title
KR20190123680A (en) System and Method for Transaction in Internet of Media Things and Method therefor
US10165058B2 (en) Dynamic local function binding apparatus and method
CN110457256A (en) Date storage method, device, computer equipment and storage medium
US10728181B2 (en) Advanced message queuing protocol (AMQP) message broker and messaging client interactions via dynamic programming commands using message properties
CN108255614A (en) A kind of interface calling system and method based on micro services framework
CN112749022B (en) Camera resource access method, operating system, terminal and virtual camera
CN108287894B (en) Data processing method, device, computing equipment and storage medium
US20150370546A1 (en) Method and apparatus for generating data distribution service application
CN104737150A (en) System and method for accessing disk image files using HTML5 KVM/vMEDIA client running in a web browser
CN103168466A (en) Virtual video capture device
CN115461735A (en) Media streaming with edge computation
CN104798065A (en) Enabling a metadata storage subsystem
WO2020118503A1 (en) Method and apparatus for determining image focusing region
JP6772235B2 (en) How to synchronize equipment lists, equipment, equipment, computer storage media and programs
CN108459910A (en) A kind of method and apparatus for deleting resource
US10616559B1 (en) Virtual stereo device redirection for virtual desktops
KR20150061470A (en) VDI service providing system and method
CN114040319B (en) Method, device, equipment and medium for optimizing playback quality of terminal equipment
KR20200046316A (en) Web application server, method for handling user request and method for handling intergrated request
WO2019199118A1 (en) Internet of media things transaction system and method therefor
CN115062340A (en) Device access method, interface processing method and device
US20220272391A1 (en) Media processing method
CN114731343A (en) Cloud service method and device
JP7087402B2 (en) Processing equipment, processing systems, and programs
CN112615928B (en) Data processing method, device and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal