KR20190069284A - Method of converting and interworking ocf resourse of internet service, and an apparatus performing the same - Google Patents

Method of converting and interworking ocf resourse of internet service, and an apparatus performing the same Download PDF

Info

Publication number
KR20190069284A
KR20190069284A KR1020180107097A KR20180107097A KR20190069284A KR 20190069284 A KR20190069284 A KR 20190069284A KR 1020180107097 A KR1020180107097 A KR 1020180107097A KR 20180107097 A KR20180107097 A KR 20180107097A KR 20190069284 A KR20190069284 A KR 20190069284A
Authority
KR
South Korea
Prior art keywords
ocf
internet service
resource
uri
api
Prior art date
Application number
KR1020180107097A
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 한국전자통신연구원
Publication of KR20190069284A publication Critical patent/KR20190069284A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

Disclosed are a method for converting and interlocking an OCF resource of an internet service, and an apparatus performing the same. According to one embodiment of the present invention, the method for converting and interlocking an OCF resource comprises the steps of: receiving a request message from an OCF client device; retrieving a URI of an API of a Non-OCF Internet Service corresponding to a virtual resource included in the request message using a URI mapping table; obtaining a query and response corresponding to the request message from the non-OCF internet service by using the retrieved URI; and converting the query and response into an OCF response message and sending the OCF response message to the OCF client device.

Description

인터넷 서비스의 OCF 리소스 변환 및 연동 방법, 및 이를 수행하는 장치{METHOD OF CONVERTING AND INTERWORKING OCF RESOURSE OF INTERNET SERVICE, AND AN APPARATUS PERFORMING THE SAME}Technical Field [0001] The present invention relates to an OCF resource conversion and interworking method for an Internet service, and a device performing the OCF resource conversion and interworking method.

아래 실시예들은 인터넷 서비스의 OCF 리소스 변환 및 연동 방법, 및 이를 수행하는 장치에 관한 것이다.The following embodiments relate to an OCF resource conversion and interworking method for an Internet service, and an apparatus for performing the OCF resource conversion and interworking method.

현재 시중에는 다양한 사물인터넷을 지원하는 플랫폼/프레임웍 들이 상존하고 있다. 각 플랫폼들은 저마다의 장점을 내세우며 시장의 주도권을 쥐기 위해 경쟁하고 있는 상황이다. 그 중 Open Connectivity Foundation (OCF)은 삼성, 인텔의 주도하에 다양한 회사들이 참여하여 관련 표준을 만들고 있으며 동시에 표준을 구현하는 오픈소스 프로젝트 (IoTivity) 를 같이 진행하고 있다.Currently, there are platforms / frameworks that support various objects internet on the market. Each platform is competing to gain market dominance with its own advantages. Among them, the Open Connectivity Foundation (OCF) is led by Samsung and Intel, and various companies are participating to create related standards, and at the same time, they are working on an open source project (IoTivity) that implements standards.

IoTivity는 OCF 표준을 구현하고 있는 IoT 오픈소스 프레임워크로, 다양한 운영체제 및 통신 프로토콜과 독립적으로 각 기기들간의 연결을 지원하는 것을 목적으로 한다. IoTivity 프레임워크는 디바이스의 종류/성능 에 따라서 rich 디바이스 혹은 lite 디바이스 용으로 나누어진다. 제한적인 능력을 갖는 디바이스들 (예: 아두이노) 에는 core 만이 적재되며 C 로 되어있는 core API 만을 제공한다. 반면 rich 디바이스의 경우에는 core API 외에 C++/Java 로 제공되는 service API를 같이 제공하고 있다. 이러한 service API를통해서 사용자는 보다 손쉽게 응용을 개발할 수 있다.IoTivity is an IoT open source framework that implements the OCF standard and aims to support connections between devices independently of various operating systems and communication protocols. IoTivity framework is divided into rich device or lite device depending on device type / performance. For devices with limited capabilities (eg, Arduino), only the core is loaded and only the core API is provided in C. On the other hand, the rich device provides a service API provided in C ++ / Java in addition to the core API. This service API makes it easier for users to develop applications.

요즘은 많은 IT 관련 서비스를 제공하는 기업들이나 공공기관 같은 곳에서 오픈 API 의 형태로 외부에서 해당 기관에서 제공하는 서비스를 사용할 수 있도록 하고 있다. 대표적인 예가 구글맵이나 포털사이트 혹은 날씨 채널같은 경우인데 기관은 제공하는 API를 사용할 수 있는 URL을 제공하고 사용자는 기관에서 제공하는 API를 RESTful 방식으로 호출한다.Nowadays, companies such as many IT-related services and public institutions are able to use external services provided by external organizations in the form of open APIs. A typical example is a Google map, a portal site, or a weather channel. The agency provides a URL that can use the provided API, and the user calls the API provided by the agency in a RESTful manner.

실시예들은 RESTful API 기술 언어(RAML, Swagger) 및 데이터 모델링 표기법 등을 이용하여 인터넷 서비스를 OCF 리소스화하고 이 리소스를 통하여 OCF 클라이언트가 인터넷 서비스와 연동하는 기술을 제공할 수 있다.Embodiments can provide an OCF resource by using an RESTful API description language (RAML, Swagger), a data modeling notation, or the like, and provide a technology for an OCF client to interact with an Internet service through the OCF resource.

일 실시예에 따른 OCF 리소스 변환 및 연동 방법은 OCF 클라이언트 장치로부터 요청 메시지를 수신하는 단계와, URI 맵핑 테이블을 이용하여 상기 요청 메시지에 포함된 가상 리소스에 대응되는 Non-OCF 인터넷 서비스의 API의 URI를 검색하는 단계와, 상기 검색된 URI를 이용하여 상기 Non-OCF 인터넷 서비스로부터 상기 요청 메시지에 해당하는 질의 응답을 획득하는 단계와, 상기 질의 응답을 OCF 응답 메시지로 변환하여 상기 OCF 클라이언트 장치로 전송하는 단계를 포함한다.The OCF resource conversion and interworking method according to an exemplary embodiment includes receiving a request message from an OCF client apparatus, receiving a URI of an API of a non-OCF Internet service corresponding to a virtual resource included in the request message using a URI mapping table, Acquiring a query response corresponding to the request message from the non-OCF Internet service using the retrieved URI; converting the query response into an OCF response message and transmitting the query response to the OCF client device; .

도 1은 OCF 프레임워크의 기능 블록 구조를 나타낸다.
도 2는 OCF의 리소스의 예를 나타낸다.
도 3은 IoTivity의 구조를 나타낸다.
도 4는 인터넷 서비스 중에서 날씨 서비스 이용하기 위한 API 호출 방법의 일 예를 나타낸다.
도 5는 일 실시예에 따른 인터넷 서비스의 OCF 리소스 변환 및 연동 방법을 수행하기 위한 시스템의 개략적인 구성도이다.
도 6은 CROUND 동작 중 Create 동작을 설명하기 위한 도면이다.
도 7은 CROUND 동작 중 Retrieve, Update, Delete 동작을 설명하기 위한 도면이다.
도 8은 CROUND 동작 중 Notify 동작을 설명하기 위한 도면이다.
도 9는 도 5에 개시된 OCF 서버 장치의 개략적인 블록도이다.
1 shows a functional block structure of an OCF framework.
2 shows an example of the resources of the OCF.
3 shows the structure of IoTivity.
FIG. 4 shows an example of an API calling method for using the weather service among Internet services.
5 is a schematic block diagram of a system for performing an OCF resource conversion and interworking method of an Internet service according to an exemplary embodiment.
6 is a diagram for explaining the Create operation during the CROUND operation.
7 is a diagram for explaining the Retrieve, Update, and Delete operations during the CROUND operation.
8 is a diagram for explaining the Notify operation during the CROUND operation.
9 is a schematic block diagram of the OCF server apparatus shown in FIG.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made in the embodiments, and the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and alternatives to the embodiments are included in the scope of the right.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for descriptive purposes only and are not to be construed as limiting. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the embodiment, the first element being referred to as the second element, The second component may also be referred to as a first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

IT 관련 서비스를 제공하는 제공자는 오픈 API의 형태로 외부에서 제공자가 제공하는 서비스를 사용할 수 있도록 하고 있다. 제공자는 제공하는 API를 사용할 수 있는 URL을 제공하고, 사용자는 제공자가 제공하는 API를 RESTful 방식으로 호출한다. 본 명세서에서는 이러한 서비스를 “인터넷 서비스”로 명명한다. 인터넷 서비스는 API를 호출할 수 있는 URL을 제공하며 URL에 대해서 RESTful 방식에서 사용하는 4가지 명령 (CRUD (Create, Retrieve, Update, Delete))을 HTTP 가 지원하는 메소드를 이용해서 전달하게 된다.Providers providing IT-related services are allowed to use services provided by providers from outside in the form of open APIs. The provider provides a URL that can use the provided API, and the user calls the API provided by the provider in a RESTful manner. In the present specification, this service is referred to as " Internet service ". The Internet service provides a URL that can call the API, and it delivers four commands (CRUD (Create, Retrieve, Update, Delete)) used in the RESTful method to the URL using a method supported by HTTP.

이하에서는 Open Connectivity Foundation(OCF) 및 IoTivity 프레임워크를 설명한다.The following describes the Open Connectivity Foundation (OCF) and the IoTivity framework.

도 1은 OCF 프레임워크의 기능 블록 구조를 나타낸다.1 shows a functional block structure of an OCF framework.

OCF에서는 IoT를 구성하는 물리적인 실 세계의 각 객체들을 리소스 (resource model)화하여 관리하고 있다. 또한 각 객체들 간의 상호작용은 리소스 모델을 기반으로 RESTful 방식을 만족하는 operation을 통해서 이루어진다. RESTful operation은 생성(Create), 읽기(Retrieve), 갱신(Update), 삭제(Delete), 통보(Notify) ? CRUDN ? 을 만족하는 각각의 동작을 포함한다.In OCF, each object in physical world constituting IoT is managed as a resource model. In addition, interaction between objects is achieved through operation that satisfies RESTful method based on resource model. RESTful operations are Create, Retrieve, Update, Delete, Notify? CRUDN? Respectively.

도 2는 OCF의 리소스의 예를 나타낸다.2 shows an example of the resources of the OCF.

OCF는 IoT를 위한 생태계(Ecosystem)이다. OCF에서는 IoT 생태계를 구성하는 물리적, 논리적 객체를 리소스화하여 관리한다. 도 2에 도시된 바와 같이, OCF에서 리소스는 보통 “리소스 URI” 와 “속성”으로 구성된다. 도 2에서, 리소스 URI는 “/room/temperature” 이며 {} 사이에 둘러싸여 있는 내용이 속성이 된다. 속성은 “name”: “value”의 형태로 이루어져 있다. 도 2에서는 논리적인 데이터인 온도를 나타내는 리소스에 해당한다.OCF is an ecosystem for IoT. OCF manages the physical and logical objects constituting the IoT ecosystem as resources. As shown in FIG. 2, a resource in the OCF is usually composed of a "resource URI" and an "attribute". In Fig. 2, the resource URI is " / room / temperature ", and the content enclosed between {} is an attribute. The attribute is of the form "name": "value". In FIG. 2, this corresponds to a resource indicating a temperature which is a logical data.

도 3은 IoTivity의 구조를 나타낸다.3 shows the structure of IoTivity.

OCF에서 통신 주체들은 Client, Server, Bridge를 포함한다. Client는 RESTful operation에서 통신을 시작하는 주체이고, Server: client가 시작한 통신에 응답하는 주체이다. Bridge는 OCF에서 OCF 디바이스가 non-OCF 디바이스와 통신할 수 있도록 연동해주는 기능/장치를 의미한다.In OCF, communication subjects include Client, Server, and Bridge. A client is the subject that initiates communication in a RESTful operation, and is the subject that responds to the communication initiated by the Server: client. Bridge is a function / device that allows OCF devices to communicate with non-OCF devices in OCF.

OCT 프레임워크에서의 OCF client/server 간의 통신 절차는 OCF Resource Discovery와 Resource Manipulation의 두 가지 카테고리로 구분될 수 있다.The communication procedure between OCF client / server in OCT framework can be divided into two categories of OCF Resource Discovery and Resource Manipulation.

OCF Resource Discovery 절차는 다음과 같다.The OCF Resource Discovery procedure is as follows.

통신을 시작하기 전에 OCF client는 server에 대한 정보를 알지 못하면 OCF Resource discovery 절차를 수행한다. Resource discovery는 CoAP discovery를 이용하는 방법과 HTTP discovery를 이용하는 방법 두 가지가 있는데, 본 발명에서는 CoAP based resource discovery만을 다룬다. CoAP based resource discovery는 discovery request 패킷을 사전에 약속된 멀티캐스트 (multicast) 주소 및 포트로 전송하고, 그 멀티캐스트 주소에 조인 (join) 되어있는 디바이스들이 보내는 응답(들)을 수신하는 방식으로 처리된다. 모든 OCF 노드들은 기본적으로 이 멀티캐스트 주소에 join 하고 있어야 한다.Before starting communication, OCF client performs OCF Resource discovery procedure if it does not know information about server. There are two types of resource discovery: CoAP discovery and HTTP discovery. The present invention deals only with CoAP based resource discovery. CoAP based resource discovery is handled in such a way that a discovery request packet is forwarded to a promised multicast address and port and the response (s) sent by the devices joined to the multicast address are received . All OCF nodes must join this multicast address by default.

Resource Manipulation 절차는 다음과 같다.The Resource Manipulation procedure is as follows.

OCF client가 server에 대한 정보를 resource discovery를 통해서 알아내었거나 다른 경로를 통해서 알고 있다면 client 는 CRUDN 동작을 통하여 server의 리소스에 대한 조작을 수행한다.If the OCF client finds information about the server through resource discovery or through another path, the client performs operations on the server's resources through the CRUDN operation.

도 3에서는 IoTivity 프레임워크를 나타내고 있다. IoTivity는 전송 프로토콜로 IETF에서 제정한 Constrained Application Protocol (CoAP, RFC7252)를 이용하고 있다. CoAP은 제한적인 능력을 갖는 디바이스들 (Constrained Device) 들을 위해 디자인 된 전송 프로토콜이다.FIG. 3 shows the IoTivity framework. IoTivity uses the Constrained Application Protocol (CoAP, RFC7252), established by the IETF as a transport protocol. CoAP is a transport protocol designed for devices with limited capabilities (Constrained Devices).

이하에서는 인터넷 서비스를 설명한다.The Internet service is described below.

도 4는 인터넷 서비스 중에서 날씨 서비스 이용하기 위한 API 호출 방법의 일 예를 나타낸다.FIG. 4 shows an example of an API calling method for using the weather service among Internet services.

대부분의 인터넷 서비스는 API를 호출할 수 있는 URL을 제공한다. 이 URL에 대해서 RESTful 방식에서 사용하는 4가지 명령 (CRUD (Create, Retrieve, Update, Delete)) 및 HTTP가 지원하는 메소드는 표 1과 같다.Most Internet services provide a URL to call the API. The four commands (CRUD (Create, Retrieve, Update, Delete)) used by RESTful method for this URL and the methods supported by HTTP are shown in Table 1.

Figure pat00001
Figure pat00001

현재 OCF에서 정의하고 있는 리소스는 물리적인 객체나 논리적인 데이터를 대상으로 하고 있다. 하지만 이 정의를 좀 더 확장하면 인터넷에서 오픈 API 등으로 제공되는 서비스들 또한 리소스화 할 수 있다.Currently the resources defined in OCF are targeted to physical objects or logical data. However, if you extend this definition further, services that are provided on the Internet, such as open APIs, can also be used as resources.

실시예에서는 RESTful API 기술 언어(RAML, Swagger) 및 데이터 모델링 표기법 등을 이용하여 인터넷 서비스를 OCF 리소스화하고, 이 리소스를 통하여 OCF 클라이언트가 인터넷 서비스와 연동하는 방법을 제공할 수 있다. 이하에서는 실시예들에 대해서 상세히 설명한다.In the embodiment, an Internet service is converted into an OCF resource using a RESTful API description language (RAML, Swagger) and a data modeling notation, and the OCF client can provide a method of interworking with the Internet service through the resource. Hereinafter, embodiments will be described in detail.

도 5는 일 실시예에 따른 인터넷 서비스의 OCF 리소스 변환 및 연동 방법을 수행하기 위한 시스템의 개략적인 구성도이다.5 is a schematic block diagram of a system for performing an OCF resource conversion and interworking method of an Internet service according to an exemplary embodiment.

도 5를 참조하면, 서비스 연동 시스템(10)은 OCF 클라이언트 장치(100), OCF 서버 장치(200), 및 인터넷 서비스(300)를 포함한다.Referring to FIG. 5, the service interworking system 10 includes an OCF client apparatus 100, an OCF server apparatus 200, and an Internet service 300.

OCF 서버 장치(200)는 non-OCF 장치인 인터넷 서비스(300)와 OCF 클라이언트 장치(100) 간에 연동할 수 있도록 하기 위한 OCF 브릿지 장치이다.The OCF server apparatus 200 is an OCF bridge apparatus for interworking between the non-OCF apparatus 200 and the OCF client apparatus 100.

OCF 서버 장치(200)는 인터넷 서비스(300)의 OCF 리소스 변환 동작을 수행하고, OCF 리소스화된 인터넷 서비스를 이용하여 OCF 클라이언트 장치(100)로부터 요청되는 OCF 리소스 디스커버리 및 리소스 조작 동작(CRUDN)을 수행할 수 있다.The OCF server apparatus 200 performs the OCF resource conversion operation of the Internet service 300 and performs the OCF resource discovery and resource operation operation (CRUDN) requested from the OCF client apparatus 100 using the OCF resourceized Internet service Can be performed.

인터넷 서비스의 OCF 리소스 변환은 다음과 같다.The OCF resource conversion of the Internet service is as follows.

① OCF 서버 장치(200)는 인터넷 서비스(300)를 OCF 리소스화 하기 위해 OCF 리소스에 대한 데이터 모델 스키마(schema; 210)를 작성하여 데이터베이스(220)에 저장할 수 있다. 예를 들어, 스키마 기술 언어는 JSON을 이용할 수 있다.(1) The OCF server apparatus 200 may create a data model schema (schema) 210 for the OCF resource in order to make the Internet service 300 an OCF resource, and store the created data model schema in the database 220. For example, a schema description language can use JSON.

이때, OCF 서버 장치(200)는 부팅 시나 외부 명령을 통해서 인터넷 서비스(300)에 대한 데이터 모델 스키마(210)를 읽어 들여 OCF 리소스(230)로 변환할 수 있다. 이렇게 생성된 인터넷 서비스(300)를 위한 OCF 리소스(230)는 IoT 사물들(400)을 표현하는 OCF 리소스와 동일한 형태로, OCF 서버 장치(200)가 OCF 클라이언트 장치(100)에게 제공할 수 있다. 또한, OCF 리소스(230)는 IoT 사물들(400)을 표현하는 OCF 리소스와 함께 데이터베이스(270)에 저장될 수 있다. 인터넷 서비스를 기반으로 만들어진 리소스를 가상 리소스 (virtual resource)라 할 수 있다.At this time, the OCF server apparatus 200 can read the data model schema 210 for the Internet service 300 at the boot time or via an external command, and convert the data model schema 210 into the OCF resource 230. The generated OCF resource 230 for the Internet service 300 can be provided by the OCF server apparatus 200 to the OCF client apparatus 100 in the same form as the OCF resource representing the IoT objects 400 . In addition, the OCF resource 230 may be stored in the database 270 together with the OCF resource representing the IoT objects 400. Resources created on the basis of Internet services can be referred to as virtual resources.

② OCF 서버 장치(200)는 인터넷 서비스(300)를 기반으로 만들어진 가상 리소스(230)에 대한 RESTful API 정보(또는 RESTful API 서술; 240)을 데이터베이스(250)에 저장할 수 있다. 예를 들어, API 기술언어는 RAML 이나 Swagger을 이용할 수 있다.(2) The OCF server 200 can store RESTful API information (or RESTful API description) 240 for the virtual resource 230 based on the Internet service 300 in the database 250. For example, the API description language can use RAML or Swagger.

해당 인터넷 서비스(300)에 대한 RESTful API 서술(240)의 내용 중 리소스 URI는 실제 인터넷 서비스에 연결하여 서비스가 제공하는 결과값을 가지고 오기 위해서 인터넷 서비스 API의 URL 정보를 포함한다. 또한, 추후 OCF 클라이언트 장치(100)가 가상 리소스(230)를 통해서 인터넷 서비스(300)로부터 실제 결과값을 가져오기 위해서 OCF 가상 리소스(230)의 URI와 인터넷 서비스(300)의 API URI와의 맵핑 정보를 유지한다. OCF 서버 장치(200)는 URI 맵핑 테이블을 데이터베이스(250)에 저장할 수 있으며, URI 맵핑 테이블은 다음 표 2와 같을 수 있다.Among the contents of the RESTful API description 240 for the Internet service 300, the resource URI includes URL information of the Internet service API to connect to the actual Internet service and retrieve the result value provided by the service. In order for the OCF client apparatus 100 to later obtain the actual result value from the Internet service 300 through the virtual resource 230, mapping information between the URI of the OCF virtual resource 230 and the API URI of the Internet service 300 Lt; / RTI > The OCF server apparatus 200 may store the URI mapping table in the database 250, and the URI mapping table may be as shown in Table 2 below.

Figure pat00002
Figure pat00002

OCF 리소스 디스커버리는 다음과 같다.OCF Resource Discovery is:

OCF 클라이언트 장치(100)가 리소스 디스커버리 동작을 수행하면(즉, OCF 클라이언트 장치(100)가 리소스 디스커버리를 OCF 서버 장치(200)에 요청하면), OCF 서버 장치(200)는 IoT 사물들(400)을 표현하는 OCF 리소스와 인터넷 서비스(300)를 기반으로 생성된 가상 리소스(230)를 모두 포함한 결과를 OCF 클라이언트 장치(100)에게 리턴할 수 있다.When the OCF client apparatus 100 performs a resource discovery operation (that is, when the OCF client apparatus 100 requests resource discovery to the OCF server apparatus 200), the OCF server apparatus 200 transmits the IoT objects 400, To the OCF client apparatus 100, a result including both the OCF resource representing the virtual resource 230 and the virtual resource 230 generated based on the Internet service 300.

리소스 조작 동작(CRUDN)은 다음과 같다.The resource manipulation operation (CRUDN) is as follows.

OCF 클라이언트 장치(100)가 OCF 서버 장치(200)로부터 리턴된 인터넷 서비스(300)에 대한 가상 리소스(230)에 대해서 CRUDN 동작을 수행하면(즉, OCF 클라이언트 장치(100)가 리소스 조작 동작(CRUDN)을 OCF 서버 장치(200)에 요청하면), OCF 서버 장치(200)는 URI 맵핑 정보를 기반으로 가상 리소스(230)에 대응되는 인터넷 서비스(300)에 대한 RESTful API 정보(240)를 검색하여 개별적인 CRUDN 동작(Create, Retrieve, Update, Delete, Notify)에 대한 처리를 수행하게 된다(250).When the OCF client apparatus 100 performs a CRUDN operation on the virtual resource 230 for the Internet service 300 returned from the OCF server apparatus 200 (that is, when the OCF client apparatus 100 performs a resource operation operation (CRUDN ) To the OCF server apparatus 200), the OCF server apparatus 200 searches the RESTful API information 240 for the Internet service 300 corresponding to the virtual resource 230 based on the URI mapping information And performs processing for individual CRUDN operations (Create, Retrieve, Update, Delete, Notify) (250).

도 6은 CROUND 동작 중 Create 동작을 설명하기 위한 도면이다.6 is a diagram for explaining the Create operation during the CROUND operation.

도 6을 참조하면, 인터넷 서비스(300)에 대한 가상 리소스는 OCF 서버 장치(200)가 부팅될 때 생성될 수 있다. 이에, Create 동작은 사용되지 않을 수 있다.Referring to FIG. 6, a virtual resource for the Internet service 300 may be created when the OCF server 200 is booted. Therefore, the Create operation may not be used.

도 7은 CROUND 동작 중 Retrieve, Update, Delete 동작을 설명하기 위한 도면이다.7 is a diagram for explaining the Retrieve, Update, and Delete operations during the CROUND operation.

도 7을 참조하면, Retrieve, Update, Delete 동작은 동일한 절차로 수행될 수 있다.Referring to FIG. 7, the Retrieve, Update, and Delete operations may be performed in the same procedure.

1) OCF 클라이언트 장치(100)는 Retrieve/Update/Delete 요청 메시지를 OCF 서버 장치(200)로 전송할 수 있다.1) The OCF client apparatus 100 may transmit a Retrieve / Update / Delete request message to the OCF server apparatus 200.

2) OCF 서버 장치(200)는 URI 맵핑 테이블을 검색하여 인터넷 서비스(300)의 API 호출에 대응되는 URL을 검색할 수 있다(또는 찾을 수 있다).2) The OCF server apparatus 200 can search (or find) the URL corresponding to the API call of the Internet service 300 by searching the URI mapping table.

3) OCF 서버 장치(200)는 RESTful API 서술을 이용해서 인터넷 서비스(300)에 알맞은 질의를 생성할 수 있다.3) The OCF server device 200 may generate a query suitable for the Internet service 300 using the RESTful API description.

4) OCF 서버 장치(200)는 인터넷 서비스(300)에 질의를 전송할 수 있다.4) The OCF server device 200 may send a query to the Internet service 300.

5) OCF 서버 장치(200)는 인터넷 서비스(300)로부터 질의 응답을 수신할 수 있다.5) The OCF server device 200 may receive a query response from the Internet service 300. [

6) OCF 서버 장치(200)는 질의 응답을 OCF response 메시지로 변환할 수 있다.6) The OCF server apparatus 200 can convert a query response into an OCF response message.

7) OCF 서버 장치(200)는 OCF response 메시지를 OCF 클라이언트 장치(100)로 반환(또는 전송)할 수 있다.7) The OCF server apparatus 200 may return (or transmit) the OCF response message to the OCF client apparatus 100. [

도 8은 CROUND 동작 중 Notify 동작을 설명하기 위한 도면이다.8 is a diagram for explaining the Notify operation during the CROUND operation.

도 8을 참조하면, Notify 동작은 보통 인터넷 서비스에서 제공하지 않는 방식이지만, OCF 서버 장치(200)에서 해당 절차가 수행될 수 있다.Referring to FIG. 8, the Notify operation is not normally provided by the Internet service, but a corresponding procedure may be performed in the OCF server apparatus 200.

1) OCF 클라이언트 장치(100)는 Notify 요청 메시지를 OCF 서버 장치(200)로 전송할 수 있다.1) The OCF client apparatus 100 may transmit a Notify request message to the OCF server apparatus 200.

2) OCF 서버 장치(200)는 URI 맵핑 테이블을 검색하여 인터넷 서비스(300)의 API 호출에 대응되는 URL을 검색할 수 있다(또는 찾을 수 있다). 3) OCF 서버 장치(200)는 RESTful API 서술을 이용해서 인터넷 서비스(300)에 알맞은 질의를 생성할 수 있다.2) The OCF server apparatus 200 can search (or find) the URL corresponding to the API call of the Internet service 300 by searching the URI mapping table. 3) The OCF server device 200 may generate a query suitable for the Internet service 300 using the RESTful API description.

4) OCF 서버 장치(200)는 notification 조건을 검사하여 조건을 만족하면 인터넷 서비스(300)에 질의를 생성하여 전송할 수 있다.4) The OCF server apparatus 200 checks the notification condition and if it satisfies the condition, it can generate and transmit the query to the Internet service 300.

5) OCF 서버 장치(200)는 인터넷 서비스(300)로부터 질의 응답, 즉 결과값을 수신할 수 있다.5) The OCF server apparatus 200 can receive a query response, that is, a result value, from the Internet service 300.

6) OCF 서버 장치(200)는 질의 응답을 OCF response 메시지로 변환할 수 있다.6) The OCF server apparatus 200 can convert a query response into an OCF response message.

7) OCF 서버 장치(200)는 OCF response 메시지를 OCF 클라이언트 장치(100)로 반환(또는 전송)할 수 있다.7) The OCF server apparatus 200 may return (or transmit) the OCF response message to the OCF client apparatus 100. [

4) ~ 7)은 반복 수행될 수 있다.4) to 7) can be repeatedly performed.

도 9는 도 5에 개시된 OCF 서버 장치의 개략적인 블록도이다.9 is a schematic block diagram of the OCF server apparatus shown in FIG.

도 9를 참조하면, OCF 서버 장치(200)는 컨트롤러(280) 및 데이터베이스(290)를 포함한다.Referring to FIG. 9, the OCF server apparatus 200 includes a controller 280 and a database 290.

컨트롤러(280)는 도 5 내지 도 8을 참조하여 설명한 OCF 서버 장치(200)에서의 인터넷 서비스의 OCF 리소스 변환 동작 및 연동 방법을 수행할 수 있다.The controller 280 can perform the OCF resource conversion operation and the interworking method of the Internet service in the OCF server apparatus 200 described with reference to FIGS.

데이터베이스(290)는 도 5의 데이터베이스들(220, 250, 270)을 포함할 수 있다.The database 290 may include the databases 220, 250, and 270 of FIG.

컨트롤러(280)와 데이터베이스(290)에 대한 동작은 도 5 내지 도 8을 참조하여 설명한 인터넷 서비스의 OCF 리소스 변환 동작 및 연동 방법을 위한 동작과 실질적으로 동일할 수 있다. 이에, 이에 대한 상세한 설명은 생략한다.The operation of the controller 280 and the database 290 may be substantially the same as the operations for the OCF resource conversion operation and the interworking method of the Internet service described with reference to FIGS. Therefore, a detailed description thereof will be omitted.

상술한 바와 같이, 실시예들은 인터넷 상에 존재하는 다양한 인터넷 서비스들을 OCF 리소스화하여 OCF 생태계에서 다른 사물들과 통신하는 방식과 동일한 방식으로 이용할 수 있다.As described above, the embodiments can be utilized in the same manner as that of communicating with other objects in the OCF ecosystem by converting various Internet services existing on the Internet into OCF resources.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (1)

OCF 클라이언트 장치로부터 요청 메시지를 수신하는 단계;
URI 맵핑 테이블을 이용하여 상기 요청 메시지에 포함된 가상 리소스에 대응되는 Non-OCF 인터넷 서비스의 API의 URI를 검색하는 단계;
상기 검색된 URI를 이용하여 상기 Non-OCF 인터넷 서비스로부터 상기 요청 메시지에 해당하는 질의 응답을 획득하는 단계; 및
상기 질의 응답을 OCF 응답 메시지로 변환하여 상기 OCF 클라이언트 장치로 전송하는 단계
를 포함하는 OCF 리소스 변환 및 연동 방법.
Receiving a request message from an OCF client device;
Retrieving a URI of an API of a non-OCF Internet service corresponding to a virtual resource included in the request message using a URI mapping table;
Obtaining a query response corresponding to the request message from the non-OCF Internet service using the retrieved URI; And
Converting the query response into an OCF response message and transmitting the converted OCF response message to the OCF client device
And an OCF resource conversion and interworking method.
KR1020180107097A 2017-12-11 2018-09-07 Method of converting and interworking ocf resourse of internet service, and an apparatus performing the same KR20190069284A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170169728 2017-12-11
KR20170169728 2017-12-11

Publications (1)

Publication Number Publication Date
KR20190069284A true KR20190069284A (en) 2019-06-19

Family

ID=67104668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180107097A KR20190069284A (en) 2017-12-11 2018-09-07 Method of converting and interworking ocf resourse of internet service, and an apparatus performing the same

Country Status (1)

Country Link
KR (1) KR20190069284A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021134766A1 (en) * 2020-01-02 2021-07-08 Oppo广东移动通信有限公司 Method, apparatus and device for determining device state, and storage medium
WO2021163891A1 (en) * 2020-02-18 2021-08-26 Oppo广东移动通信有限公司 Communication method, apparatus, device, and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021134766A1 (en) * 2020-01-02 2021-07-08 Oppo广东移动通信有限公司 Method, apparatus and device for determining device state, and storage medium
WO2021163891A1 (en) * 2020-02-18 2021-08-26 Oppo广东移动通信有限公司 Communication method, apparatus, device, and storage medium

Similar Documents

Publication Publication Date Title
JP6776411B2 (en) Device identifier-dependent operation processing for packet-based data communication
US10027742B2 (en) Techniques for sharing application states
US20170103047A1 (en) Mechanisms to Compose, Execute, Save, and Retrieve Hyperlink Pipelines in Web Browsers
US8665860B2 (en) Relay device and method for continuing service
CN106933872A (en) A kind of method and device that cloud storage service is accessed by traditional file systemses interface
US9344524B2 (en) Method, system and computer program product for providing composite web application
US20130013669A1 (en) Method and apparatus for guaranteeing web-based mobility
WO2015055010A1 (en) Data transmission method, device and storage medium
US10382521B2 (en) Gateway that enables a browser-based application to communicate with a server-side application using a non-browser-compatible protocol
US9509786B2 (en) Enabling mobile applications to acquire a MAC address for obtaining location information
CN102694830A (en) Method, system and apparatus for realizing network content sharing
US20190102465A1 (en) Api query extension
CN113992738A (en) Reverse proxy method, device, equipment and storage medium based on micro service gateway
KR20190069284A (en) Method of converting and interworking ocf resourse of internet service, and an apparatus performing the same
CN114586325B (en) Method, apparatus and medium for content preparation for media streaming networks
CN110740118A (en) Protocol for initiating sessions with partner sites
KR20160080487A (en) Remote procedure calling method between different devices
US20200195785A1 (en) Mobile Network Handling of Simultaneous Usage Sessions
AU2018390863B2 (en) Computer system and method for extracting dynamic content from websites
JP2018527862A (en) Method and apparatus for detecting shared terminal
CN108809900B (en) Framework and method for unified resource access
KR101384564B1 (en) Method for handling multiple requests by using dataset transfer protocol
US10425315B2 (en) Interactive personal digital assistant device
JP2008210191A (en) Information function providing device, service providing method and service providing program
JP5805312B1 (en) Call adapter program and call method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal