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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000013499 data model Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Abstract
Description
아래 실시예들은 인터넷 서비스의 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.
현재 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 서버 장치(200)는 non-OCF 장치인 인터넷 서비스(300)와 OCF 클라이언트 장치(100) 간에 연동할 수 있도록 하기 위한 OCF 브릿지 장치이다.The
OCF 서버 장치(200)는 인터넷 서비스(300)의 OCF 리소스 변환 동작을 수행하고, OCF 리소스화된 인터넷 서비스를 이용하여 OCF 클라이언트 장치(100)로부터 요청되는 OCF 리소스 디스커버리 및 리소스 조작 동작(CRUDN)을 수행할 수 있다.The
인터넷 서비스의 OCF 리소스 변환은 다음과 같다.The OCF resource conversion of the Internet service is as follows.
① OCF 서버 장치(200)는 인터넷 서비스(300)를 OCF 리소스화 하기 위해 OCF 리소스에 대한 데이터 모델 스키마(schema; 210)를 작성하여 데이터베이스(220)에 저장할 수 있다. 예를 들어, 스키마 기술 언어는 JSON을 이용할 수 있다.(1) The
이때, 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 서버 장치(200)는 인터넷 서비스(300)를 기반으로 만들어진 가상 리소스(230)에 대한 RESTful API 정보(또는 RESTful API 서술; 240)을 데이터베이스(250)에 저장할 수 있다. 예를 들어, API 기술언어는 RAML 이나 Swagger을 이용할 수 있다.(2) The
해당 인터넷 서비스(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
OCF 리소스 디스커버리는 다음과 같다.OCF Resource Discovery is:
OCF 클라이언트 장치(100)가 리소스 디스커버리 동작을 수행하면(즉, OCF 클라이언트 장치(100)가 리소스 디스커버리를 OCF 서버 장치(200)에 요청하면), OCF 서버 장치(200)는 IoT 사물들(400)을 표현하는 OCF 리소스와 인터넷 서비스(300)를 기반으로 생성된 가상 리소스(230)를 모두 포함한 결과를 OCF 클라이언트 장치(100)에게 리턴할 수 있다.When the
리소스 조작 동작(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
도 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
도 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
2) OCF 서버 장치(200)는 URI 맵핑 테이블을 검색하여 인터넷 서비스(300)의 API 호출에 대응되는 URL을 검색할 수 있다(또는 찾을 수 있다).2) The
3) OCF 서버 장치(200)는 RESTful API 서술을 이용해서 인터넷 서비스(300)에 알맞은 질의를 생성할 수 있다.3) The
4) OCF 서버 장치(200)는 인터넷 서비스(300)에 질의를 전송할 수 있다.4) The
5) OCF 서버 장치(200)는 인터넷 서비스(300)로부터 질의 응답을 수신할 수 있다.5) The
6) OCF 서버 장치(200)는 질의 응답을 OCF response 메시지로 변환할 수 있다.6) The
7) OCF 서버 장치(200)는 OCF response 메시지를 OCF 클라이언트 장치(100)로 반환(또는 전송)할 수 있다.7) The
도 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
1) OCF 클라이언트 장치(100)는 Notify 요청 메시지를 OCF 서버 장치(200)로 전송할 수 있다.1) The
2) OCF 서버 장치(200)는 URI 맵핑 테이블을 검색하여 인터넷 서비스(300)의 API 호출에 대응되는 URL을 검색할 수 있다(또는 찾을 수 있다). 3) OCF 서버 장치(200)는 RESTful API 서술을 이용해서 인터넷 서비스(300)에 알맞은 질의를 생성할 수 있다.2) The
4) OCF 서버 장치(200)는 notification 조건을 검사하여 조건을 만족하면 인터넷 서비스(300)에 질의를 생성하여 전송할 수 있다.4) The
5) OCF 서버 장치(200)는 인터넷 서비스(300)로부터 질의 응답, 즉 결과값을 수신할 수 있다.5) The
6) OCF 서버 장치(200)는 질의 응답을 OCF response 메시지로 변환할 수 있다.6) The
7) OCF 서버 장치(200)는 OCF response 메시지를 OCF 클라이언트 장치(100)로 반환(또는 전송)할 수 있다.7) The
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
컨트롤러(280)는 도 5 내지 도 8을 참조하여 설명한 OCF 서버 장치(200)에서의 인터넷 서비스의 OCF 리소스 변환 동작 및 연동 방법을 수행할 수 있다.The
데이터베이스(290)는 도 5의 데이터베이스들(220, 250, 270)을 포함할 수 있다.The
컨트롤러(280)와 데이터베이스(290)에 대한 동작은 도 5 내지 도 8을 참조하여 설명한 인터넷 서비스의 OCF 리소스 변환 동작 및 연동 방법을 위한 동작과 실질적으로 동일할 수 있다. 이에, 이에 대한 상세한 설명은 생략한다.The operation of the
상술한 바와 같이, 실시예들은 인터넷 상에 존재하는 다양한 인터넷 서비스들을 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)
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.
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)
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 |
-
2018
- 2018-09-07 KR KR1020180107097A patent/KR20190069284A/en not_active Application Discontinuation
Cited By (2)
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 |