Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6900853B2 - Device linkage server and device linkage program - Google Patents
[go: Go Back, main page]

JP6900853B2 - Device linkage server and device linkage program - Google Patents

Device linkage server and device linkage program Download PDF

Info

Publication number
JP6900853B2
JP6900853B2 JP2017174254A JP2017174254A JP6900853B2 JP 6900853 B2 JP6900853 B2 JP 6900853B2 JP 2017174254 A JP2017174254 A JP 2017174254A JP 2017174254 A JP2017174254 A JP 2017174254A JP 6900853 B2 JP6900853 B2 JP 6900853B2
Authority
JP
Japan
Prior art keywords
service
function
layer
network
usage history
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017174254A
Other languages
Japanese (ja)
Other versions
JP2019049905A (en
Inventor
山登 庸次
庸次 山登
尚人 干川
尚人 干川
博史 野口
博史 野口
達也 出水
達也 出水
操 片岡
操 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017174254A priority Critical patent/JP6900853B2/en
Publication of JP2019049905A publication Critical patent/JP2019049905A/en
Application granted granted Critical
Publication of JP6900853B2 publication Critical patent/JP6900853B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークに多種多様なIoT(Internet of Things)デバイスが繋がる環境における、デバイス連携サーバおよびデバイス連携プログラムに関する。 The present invention relates to a device cooperation server and a device cooperation program in an environment in which a wide variety of IoT (Internet of Things) devices are connected to a network.

近年のIoT技術の進展により、数多くのセンサやアクチュエータ、ロボット等のIoT機器がネットワークに繋がるようになってきている。IoTは、物体に通信機能を持たせ、ネットワークに接続しデータを解析することにより、サービスの提供を行う。IoTの適用範囲は多岐にわたり、ドイツのインダストリー4.0(Industrie 4.0 )で検討されている製造、流通、メンテナンスだけでなく、健康管理、医療、農業、エネルギ等も適用先として期待されている。 With the progress of IoT technology in recent years, many IoT devices such as sensors, actuators, and robots have come to be connected to a network. IoT provides services by giving an object a communication function, connecting it to a network, and analyzing data. The scope of application of IoT is wide-ranging, and it is expected to be applied not only to manufacturing, distribution, and maintenance, which are being considered in Germany's Industry 4.0, but also to health management, medical care, agriculture, energy, and so on.

しかしながら、現状のIoTの適用は、特定のターゲットに合わせた垂直統合的なワンオフソリューションになりがちである。つまり、センサの選定や、分析、表示、アクション等を一括で行い、システム化して提供するSI(System Integration)ビジネスで用いられることが多い。この結果、個々のIoTサービスのコストが高くなり、多彩なサービスが十分出ていないという現状がある。 However, current IoT applications tend to be vertically integrated one-off solutions tailored to specific targets. In other words, it is often used in the SI (System Integration) business, which collectively performs sensor selection, analysis, display, action, etc., and provides it as a system. As a result, the cost of each IoT service is high, and the current situation is that a variety of services are not sufficiently available.

多彩なIoTサービスを、コストを抑えて開発、運用するためには、センサやアクチュエータ等のデバイスとサービスとを分離し、水平分離的にデバイスとサービスを相互に利用可能とすることが必要となる。このような考え方はオープンIoTと呼ばれ、今後のIoTサービスを活性化するために重視されている。 In order to develop and operate various IoT services at low cost, it is necessary to separate devices such as sensors and actuators from services so that devices and services can be used horizontally. .. This way of thinking is called open IoT, and it is emphasized in order to activate IoT services in the future.

このようなオープンIoTにむけて、サービスからデバイスを自由に利用するための仕組みとしてTacit Computing技術が提案されている(非特許文献1参照)。Tacit Computingは、デバイスがその時点で保持するライブデータに基づき、ユーザが必要なデータを保持するデバイスをオンデマンドに発見し、利用することを可能にする技術である。 For such open IoT, Tacit Computing technology has been proposed as a mechanism for freely using a device from a service (see Non-Patent Document 1). Tacit Computing is a technology that enables users to discover and use devices that hold the data they need on demand, based on the live data that the device holds at that time.

図7は、Tacit Computingの概要を説明するための図である。
Tacit Computingでは、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層の中から、ユーザへのサービスに適切なリソースを発見し連携することにより、そのユーザのリクエストに応えサービスを継続する(図7の符号a)。また、3層の構成のうち、時々刻々変化する状況に対応するため、データが発生する現場に近いデバイスレイヤにおいてできるだけ処理を行うようにする(図7の符号b)。より低いレイヤで処理を行うことにより、ネットワークトラフィックの削減や(図7の符号c)、プライバシー性の高いデータの流出を抑えることができる(図7の符号d)。
FIG. 7 is a diagram for explaining an outline of Tacit Computing.
Tacit Computing continues the service in response to the user's request by discovering and coordinating the appropriate resources for the service to the user from the three layers of the cloud layer, the network layer, and the device layer (reference numeral in FIG. 7). a). Further, in the configuration of the three layers, in order to cope with the situation that changes from moment to moment, processing is performed as much as possible in the device layer close to the site where data is generated (reference numeral b in FIG. 7). By performing the processing at a lower layer, it is possible to reduce the network traffic (reference numeral c in FIG. 7) and suppress the outflow of highly privacyable data (reference numeral d in FIG. 7).

このTacit Computingでは、その要素技術として、ライブデータ検索技術とデバイス仮想化技術を用いる。
ライブデータ検索技術は、ユーザにとって必要なデータを提供するデバイスを検索するための技術である。IoTサービスの例として、橋等の施設にセンサを複数設置し、劣化状況等をモニタリングするサービスがある。この場合、劣化状況が急激に進むとは考えられないため、数時間等の周期で複数点でのセンサデータをクラウドに上げ、劣化状況の変化を統計ソフトや機械学習により分析すればよい。これに対し、定点のカメラに映った人物に対して、情報案内や警告アラート等を行うサービスの例では、数秒程度しかカメラに人物は映らないし、また、その人物が写ったカメラの映像しかその人物には意味のないデータといえる。このように、デバイスレイヤで発生し、時々刻々変化するようなデータをライブデータと呼ぶ。
This Tacit Computing uses live data retrieval technology and device virtualization technology as its elemental technologies.
Live data search technology is a technology for searching for a device that provides data required by a user. As an example of the IoT service, there is a service in which a plurality of sensors are installed in a facility such as a bridge to monitor the deterioration status. In this case, since it is unlikely that the deterioration status will progress rapidly, it is sufficient to upload the sensor data at a plurality of points to the cloud at a cycle of several hours or the like and analyze the change in the deterioration status by statistical software or machine learning. On the other hand, in the example of a service that provides information guidance and warning alerts to a person captured by a fixed-point camera, the person appears on the camera for only a few seconds, and only the image of the camera showing the person is displayed. It can be said that the data is meaningless to a person. Data that occurs in the device layer and changes from moment to moment is called live data.

ユーザにとって必要なこのライブデータを検索するため、Tacit Computingでは、クラウドレイヤにデータが上がってくるのを待つのではなく、下位レイヤに分析する機能を配置し、その下位レイヤにおいてライブデータを検索させる。
例えば、駅伝予選会に友人が参加しており、その友人が写ったカメラの映像を自動で繋いで欲しいとする。この場合、例えば友人のゼッケン番号を検索キーとしてリクエストすると、Tacit Computingでは、カメラを収容するゲートウェイやネットワークエッジに、OpenCV等の画像分析機能を配置する。そして、カメラに近い場所で映像を分析することにより、友人のゼッケン番号が画像分析により抽出され、友人が映っているカメラを特定することができる。このようにして、Tacit Computingにおいてライブデータ検索技術が用いられる。
In order to search for this live data that the user needs, in Tacit Computing, instead of waiting for the data to come up to the cloud layer, a function to analyze is placed in the lower layer and the live data is searched in the lower layer. ..
For example, suppose a friend participates in a relay race and wants the camera image of the friend to be automatically connected. In this case, for example, if a friend's bib number is requested as a search key, Tacit Computing arranges an image analysis function such as OpenCV at the gateway or network edge that houses the camera. Then, by analyzing the image at a place close to the camera, the bib number of the friend is extracted by image analysis, and the camera in which the friend is shown can be identified. In this way, live data retrieval technology is used in Tacit Computing.

次に、利用したいデバイスがライブデータ検索技術により特定された場合に、そのデバイスを実際に利用する必要がある。IoTデバイスは、多数のメーカーが開発しており、利用時のプロトコルやインタフェース、アドレス等がデバイス毎に異なる。そこで、デバイス仮想化技術によって、個々のデバイスにおけるインタフェースの違いを吸収する。
例えば、上記した例であれば、カメラ映像の取得のような共通のリクエストを元に、カメラを収容するゲートウェイ等で、デバイス毎のアダプタを設けておきプロトコル等の変換を行った上で、個々のカメラに応じたリクエストを行う。このようなデバイス仮想化技術を用いることにより、ユーザはデバイス個々の違いを意識せず、そのデバイスの利用が可能となる。
Next, when the device to be used is identified by the live data search technology, it is necessary to actually use the device. IoT devices are developed by many manufacturers, and the protocol, interface, address, etc. at the time of use differ for each device. Therefore, device virtualization technology absorbs the differences in interfaces in individual devices.
For example, in the above example, based on a common request such as acquisition of a camera image, an adapter for each device is provided at a gateway or the like that accommodates the camera, and the protocol or the like is converted and then individually. Make a request according to the camera of. By using such a device virtualization technology, the user can use the device without being aware of the difference between the devices.

佐々木潤子、他5名、「Tacit Computing:オープンIoT・偏在リソース時代にむけたネットワークサービス」、株式会社ビジネスコミュニケーション社、ビジネスコミュニケーション、Vol.54、No.5、pp.24-25、May 2017Junko Sasaki, 5 others, "Tacit Computing: Network Service for the Age of Open IoT / Unevenly Distributed Resources", Business Communication Co., Ltd., Business Communication, Vol.54, No.5, pp.24-25, May 2017

上記したTacit Computing技術により、ユーザが必要なライブデータを持つデバイスを発見し、デバイス仮想化の仕組みを用いて、個々のデバイスのインタフェース等を隠蔽することにより、ユーザがデバイスのアドホックな利用が可能となる。しかしながら、Tacit Computingを用いて、その時点の状況に合わせてデバイスを発見し利用するだけでは、ユーザのニーズに対し一時しか対応できないケースが考えられる。以下、具体的に説明する。 With the above-mentioned Tacit Computing technology, users can discover devices with the required live data and use the device virtualization mechanism to hide the interfaces of individual devices so that users can use the devices ad hoc. It becomes. However, there may be cases where the user's needs can only be met temporarily by simply discovering and using the device according to the situation at that time using Tacit Computing. Hereinafter, a specific description will be given.

Tacit Computingの利用例として追跡カメラを考える。追跡カメラによるサービスは、小学生等の子供の学内や登下校中の映像を、子供近傍のカメラから取得し、親の携帯端末等で見るというものである。このサービスは、追跡カメラで親が子供の安全を映像で確認することによりその時点でも親にニーズを満たすことができる。しかしながら、このサービスを1回毎の料金設定により課金した場合には、その都度ライブデータの検索のため、画像処理機能を、カメラを収容するゲートウェイやネットワークエッジ等に配置する必要があり、コストがかかってしまう。むしろ、子供近傍のカメラから映像を取得し続けるが、親は携帯端末等で見たい時には子供の映像を見られるとともに、見ていない時にも機械学習等により子供を見守り、登下校中に不審者が近づいた等の異常時には親にアラートを送る等の継続的なサービスの提供が求められると考える。 Consider a tracking camera as an example of using Tacit Computing. The service using a tracking camera is to acquire images of a child such as an elementary school student on campus or while going to and from school from a camera near the child and view it on a parent's mobile terminal or the like. The service can still meet the needs of parents by allowing parents to visually check the safety of their children with a tracking camera. However, if this service is charged by setting a fee for each time, it is necessary to arrange the image processing function at the gateway accommodating the camera, the network edge, etc. in order to search the live data each time, which is costly. It will take. Rather, they continue to acquire images from cameras near their children, but parents can watch their children's images when they want to see them on their mobile terminals, and even when they are not watching them, they watch over their children by machine learning, etc. It is considered necessary to provide continuous services such as sending alerts to parents in the event of an abnormality such as when a child approaches.

追跡カメラの処理としては、Tacit Computingで子供が映っているカメラを発見し、親のリクエスト時はそのカメラの映像を親の携帯端末等に配信するとともに、見守りのため、カメラを収容するゲートウェイまたはネットワークエッジのSSE(Subscriber Service Edge)等に画像処理する機能(例えば、OpenCVライブラリ等)を配置し、子供が映っているカメラの映像から画像の切り出し分析を行う。そして、画像分析した結果は、特徴ベクトルにサマライズされた後集約され、クラウドレイヤにおいて、不審者が近づいている等の異常値分析を機械学習の手法(Local Outlier Factor等)を用いて解析し、異常がある場合には親の携帯端末等にアラートを送信する。 As for the processing of the tracking camera, Tacit Computing finds a camera showing a child, and when the parent requests, the image of the camera is delivered to the parent's mobile terminal, etc., and the gateway or the gateway that houses the camera is used for watching. An image processing function (for example, OpenCV library, etc.) is arranged in the SSE (Subscriber Service Edge) of the network edge, and an image is cut out and analyzed from the image of the camera showing the child. Then, the result of the image analysis is summarized after being summarized into a feature vector, and in the cloud layer, an abnormal value analysis such as an approaching suspicious person is analyzed using a machine learning method (Local Outlier Factor, etc.). If there is an abnormality, an alert is sent to the parent's mobile terminal.

追跡カメラ自体は、Tacit Computingの技術を用いなくても、カメラと機械学習等を使ったSIサービスとして実現することはできる。しかしながら、Tacit Computing等の従来技術を使用した場合であっても、利用可能なデバイスを発見し、そのデバイスを継続的に利用するサービスをリーズナブルに、つまりコストを抑えて提供することは実現されていない。 The tracking camera itself can be realized as an SI service using a camera and machine learning without using Tacit Computing technology. However, even when using conventional technologies such as Tacit Computing, it has been realized to discover available devices and provide services that continuously use those devices at a reasonable price, that is, at a low cost. Absent.

このような点に鑑みて本発明がなされたのであり、IoTデバイスを動的に発見し利用するサービスを、継続してリーズナブルに提供することができる、デバイス連携サーバおよびデバイス連携プログラムを提供することを課題とする。 The present invention has been made in view of these points, and to provide a device cooperation server and a device cooperation program capable of continuously and reasonably providing a service for dynamically discovering and using an IoT device. Is the subject.

前記した課題を解決するため、請求項1に記載の発明は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、収集された前記利用履歴を参照し、前記クラウドレイヤ、前記ネットワークレイヤ、前記デバイスレイヤの3層の一つないし複数を、前記サービスに関する機能の配置先として決定する機能配置先決定部と、前記サービスに関する機能を、前記決定した3層の一つないし複数のレイヤに配信するとともに、前記配置先として決定されなかったレイヤにおいて、前記サービスに関する機能を削除する機能配信部と、を備えることを特徴とするデバイス連携サーバとした。 In order to solve the above-mentioned problems, the invention according to claim 1 is a device cooperation server that selects a resource from three layers of a cloud layer, a network layer, and a device layer to provide a service, and provides the service. At the time, in the optimization period indicating a predetermined trial period provided for determining the resource to be used, the usage history collection unit that collects the usage history of the service of each device belonging to the device layer, and the collected usage. With reference to the history, one or more of the three layers of the cloud layer, the network layer, and the device layer are determined as the allocation destination of the function related to the service, and the function allocation destination determination unit and the function related to the service are described. A device cooperation server characterized by providing a function distribution unit that distributes to one or a plurality of layers of the determined three layers and deletes a function related to the service in the layer that is not determined as the placement destination. did.

このように、デバイス連携サーバは、最適化期間に収集したデバイスの利用履歴に基づき、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層のうちのいずれかを、サービスに関する機能の配置先として決定することができる。これにより、サービスで実際に利用されるデバイスに関連するレイヤのリソースに機能配置することができるため、当該サービスを継続してリーズナブルに提供することができる。 In this way, the device linkage server determines one of the three layers, the cloud layer, the network layer, and the device layer, as the placement destination of the functions related to the service, based on the device usage history collected during the optimization period. Can be done. As a result, the functions can be allocated to the resources of the layer related to the device actually used in the service, so that the service can be continuously provided at a reasonable price.

請求項2に記載の発明は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、前記サービスに関する機能を、決定した当該ゲートウェイに配信するとともに、前記配置先として決定されなかったゲートウェイの前記サービスに関する機能を削除する機能配信部と、を備えることを特徴とするデバイス連携サーバとした。 The invention according to claim 2 is a device cooperation server that selects a resource from three layers of a cloud layer, a network layer, and a device layer to provide a service, and determines a resource to be used when providing the service. In the optimization period indicating a predetermined trial period provided for the purpose, the optimization is performed by referring to the usage history collection unit that collects the usage history of the service of each device belonging to the device layer and the collected usage history. The function allocation destination determination unit that determines the gateway of the area to which the device used during the period belongs as the allocation destination of the function related to the service, and the function related to the service are delivered to the determined gateway and as the allocation destination. The device cooperation server is provided with a function distribution unit for deleting the function related to the service of the gateway which has not been determined.

このように、デバイス連携サーバは、最適化期間に収集したデバイスの利用履歴に基づき、サービス提供に使用するデバイスを収容するゲートウェイに、そのサービスを実現するための機能を配置することができる。よって、分析機能が不要なエリアのゲートウェイに対し機能配置する必要がなく、サーバコストや通信コストを削減することができる。これにより、サービスを継続してリーズナブルに提供することが可能となる。 In this way, the device cooperation server can arrange the function for realizing the service at the gateway accommodating the device used for providing the service based on the usage history of the device collected during the optimization period. Therefore, it is not necessary to allocate the function to the gateway in the area where the analysis function is unnecessary, and the server cost and the communication cost can be reduced. This makes it possible to continue to provide services at a reasonable price.

請求項3に記載の発明は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、前記サービスに関する機能を、決定した当該ネットワークエッジに配信するとともに、前記配置先として決定されなかったネットワークエッジの前記サービスに関する機能を削除する機能配信部と、を備えることを特徴とするデバイス連携サーバとした。 The invention according to claim 3 is a device cooperation server that selects a resource from three layers of a cloud layer, a network layer, and a device layer to provide a service, and determines a resource to be used when providing the service. In the optimization period indicating a predetermined trial period provided for the purpose, the optimization is performed by referring to the usage history collection unit that collects the usage history of the service of each device belonging to the device layer and the collected usage history. The function allocation destination determination unit that determines the network edge of the network layer connected to the gateway of the area to which the device used during the period belongs as the allocation destination of the function related to the service, and the function related to the service are determined. The device cooperation server is characterized by including a function distribution unit that distributes to the network edge and deletes the function related to the service of the network edge that has not been determined as the allocation destination.

このように、デバイス連携サーバは、最適化期間に収集したデバイスの利用履歴に基づき、サービス提供に使用するデバイスを収容するゲートウェイに接続されるネットワークエッジに、そのサービスを実現するための機能を配置することができる。よって、分析機能が不要な他のネットワークエッジ等に対し機能配置する必要がなく、サーバコストや通信コストを削減することができる。これにより、デバイスレイヤのゲートウェイに機能配置できない場合であっても、サービスを継続してリーズナブルに提供することが可能となる。 In this way, the device linkage server arranges functions for realizing the service at the network edge connected to the gateway that accommodates the device used for service provision, based on the device usage history collected during the optimization period. can do. Therefore, it is not necessary to allocate the function to another network edge or the like that does not require the analysis function, and the server cost and the communication cost can be reduced. As a result, even if the function cannot be assigned to the gateway of the device layer, the service can be continuously provided at a reasonable price.

請求項4に記載の発明は、前記決定したネットワークエッジが属するネットワークにおいて、前記サービスの提供に関する帯域確保および優先制御を含むネットワーク設定を実行させるネットワーク設定部を、さらに備えることを特徴とする請求項3に記載のデバイス連携サーバとした。 The invention according to claim 4 is further provided with a network setting unit for executing network settings including bandwidth allocation and priority control related to the provision of the service in the network to which the determined network edge belongs. The device cooperation server described in 3 was used.

このようにすることで、デバイス連携サーバは、最適化期間に収集したデバイスの利用履歴に基づき機能配置先として決定されたネットワークエッジが属するネットワークについて、ネットワーク設定を行うことが可能となる。 By doing so, the device cooperation server can set the network for the network to which the network edge determined as the function allocation destination is based on the device usage history collected during the optimization period.

請求項5に記載の発明は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイ、または、当該ゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、前記サービスに関する機能を、当該決定したゲートウェイまたはネットワークエッジに配信するとともに、当該決定したゲートウェイまたはネットワークエッジ以外のゲートウェイおよびネットワークエッジにおいて、前記サービスに関する機能を削除する機能配信部と、収集された前記利用履歴を参照し、前記最適化期間中に利用頻度が最も多いデバイスを収容するネットワークエッジを抽出し、前記抽出したネットワークエッジとの間の遅延が最も少ないクラウドのクラウドサーバの処理機能をデプロイし、当該処理機能に必要なリソースサイズを確保するリソース確保処理部と、を備えることを特徴とするデバイス連携サーバとした。 The invention according to claim 5 is a device cooperation server that selects a resource from three layers of a cloud layer, a network layer, and a device layer to provide a service, and determines a resource to be used when providing the service. In the optimization period indicating a predetermined trial period provided for the purpose, the optimization is performed by referring to the usage history collecting unit that collects the usage history of the service of each device belonging to the device layer and the collected usage history. A function allocation destination determination unit that determines the gateway of the area to which the device used during the period belongs, or the network edge of the network layer connected to the gateway as the allocation destination of the function related to the service, and the function related to the service. Is distributed to the determined gateway or network edge, and at the gateway and network edge other than the determined gateway or network edge, the function distribution unit that deletes the function related to the service and the collected usage history are referred to. , Extract the network edge that accommodates the most frequently used devices during the optimization period, deploy the processing function of the cloud server in the cloud that has the least delay with the extracted network edge, and use the processing function. The device linkage server is characterized by having a resource securing processing unit that secures the required resource size.

このように、デバイス連携サーバは、最適化期間に収集したデバイスの利用履歴に基づき、利用頻度が最も多いデバイスを収容するネットワークエッジを抽出し、その抽出したネットワークエッジとの遅延が最も少ないクラウドサーバの処理機能をデプロイし、リソースサイズを確保することができる。よって、通信コストを削減できるとともに、処理機能が必要なクラウドサーバのみについてリソースサイズを確保するため、サービスを継続してリーズナブルに提供することが可能となる。 In this way, the device linkage server extracts the network edge that accommodates the device that is used most frequently based on the device usage history collected during the optimization period, and the cloud server that has the least delay with the extracted network edge. It is possible to deploy the processing function of and secure the resource size. Therefore, it is possible to reduce the communication cost and secure the resource size only for the cloud server that requires the processing function, so that the service can be continuously provided at a reasonable price.

請求項6に記載の発明は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイ、または、当該ゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、前記サービスに関する機能を、当該決定したゲートウェイまたはネットワークエッジに配信する機能配信部と、収集された前記利用履歴を参照し、前記最適化期間中に利用頻度が最も多いデバイスを収容するネットワークエッジを抽出し、前記抽出したネットワークエッジとの間の遅延が最も少ないクラウドのクラウドサーバの処理機能をデプロイし、当該処理機能に必要なリソースサイズを確保するリソース確保処理部と、を備え、前記クラウドレイヤは、GPUとCPUのヘテロデバイスを備えるヘテロクラウドにより構成されており、前記クラウドサーバにデプロイする処理機能の一部である特定処理を前記GPUにオフロードするオフロード設定部をさらに備え、前記オフロード設定部は、遺伝的アルゴリズムに基づき、前記デプロイする処理機能を実現するアプリケーションのソースコードを分析し、前記GPUの並列可否を試行する繰り返し処理の文の数から遺伝子長を定めて、所定の個体数の遺伝子を作成し、前記繰り返し処理の文について、前記GPUで並列処理するか、または、前記GPUで並列処理しないかを、遺伝子値として前記遺伝子に該当する前記ソースコードに割り当て、検証用クラウドサーバにデプロイすることにより性能測定を行い、前記性能測定の結果に基づき、各遺伝子の適合度を設定し、設定した適合度の値が高い遺伝子を所定の個体数選択し、所定の交叉率で、選択された個体間において一部の遺伝子である一点で交換し、子の個体を作成し、所定の突然変異率で、当該作成した個体の遺伝子の各遺伝子値を変更し、前記遺伝的アルゴリズムの処理を、所定の世代数繰り返し、最高適合度に該当するソースコードを解として算出し、前記クラウドサーバにデプロイさせることを特徴とするデバイス連携サーバとした。 The invention according to claim 6 is a device cooperation server that selects a resource from three layers of a cloud layer, a network layer, and a device layer to provide a service, and determines a resource to be used when providing the service. In the optimization period indicating a predetermined trial period provided for the purpose, the optimization is performed by referring to the usage history collection unit that collects the usage history of the service of each device belonging to the device layer and the collected usage history. A function allocation destination determination unit that determines the gateway of the area to which the device used during the period belongs, or the network edge of the network layer connected to the gateway as the allocation destination of the function related to the service, and the function related to the service. With reference to the function distribution unit that distributes the server to the determined gateway or network edge, and the collected usage history, the network edge that accommodates the device most frequently used during the optimization period is extracted, and the extraction is performed. The cloud layer includes a resource securing processing unit that deploys the processing function of the cloud cloud server of the cloud with the least delay between the processing function and secures the resource size required for the processing function, and the cloud layer is a GPU and a CPU. The offload setting unit is composed of a heterocloud including the heterodevices of the above, and further includes an offload setting unit that offloads a specific process that is a part of a processing function deployed on the cloud server to the GPU. Based on the genetic algorithm, the source code of the application that realizes the processing function to be deployed is analyzed, the gene length is determined from the number of repetitive processing sentences that try to parallelize the GPU, and a predetermined number of genes are obtained. Create and assign the statement of the iterative processing to the source code corresponding to the gene as a gene value whether to process in parallel with the GPU or not with the GPU, and deploy it to the verification cloud server. By doing so, performance measurement was performed, the degree of compatibility of each gene was set based on the result of the performance measurement, a predetermined number of individuals with a high value of the set degree of compatibility were selected, and the genes were selected at a predetermined crossover rate. A part of the genes is exchanged between individuals at one point, a child individual is created, each gene value of the created individual's gene is changed at a predetermined mutation rate, and the processing of the genetic algorithm is performed. Repeated for a predetermined number of generations, the source cloud that corresponds to the highest degree of conformity Calculating a de as a solution, was characterized and to Lud vice linking server that is deployed in the cloud server.

このようにすることで、デバイス連携サーバは、遺伝的アルゴリズムを用いて、GPUへオフロードする処理を特定することができるため、処理を高速化することが可能となる。 By doing so, the device cooperation server can specify the process of offloading to the GPU by using the genetic algorithm, so that the process can be speeded up.

請求項に記載の発明は、コンピュータを、請求項1乃至請求項のいずれか1項に記載のデバイス連携サーバとして機能させるためのデバイス連携プログラムとした。 The invention according to claim 7 is a device cooperation program for causing the computer to function as the device cooperation server according to any one of claims 1 to 6.

このようにすることにより、一般的なコンピュータを用いて、請求項1乃至請求項のいずれか1項に記載のデバイス連携サーバの各機能を実現させることができる。 By doing so, each function of the device cooperation server according to any one of claims 1 to 6 can be realized by using a general computer.

本発明によれば、IoTデバイスを動的に発見し利用するサービスを、継続してリーズナブルに提供する、デバイス連携サーバおよびデバイス連携プログラムを提供することができる。 According to the present invention, it is possible to provide a device cooperation server and a device cooperation program that continuously and reasonably provide a service for dynamically discovering and using an IoT device.

本実施形態に係るデバイス連携サーバを含むTacit Computingシステムを示す図である。It is a figure which shows the Tacit Computing system which includes the device cooperation server which concerns on this embodiment. 本発明の第1実施形態に係るデバイス連携サーバの構成例を示す機能ブロック図である。It is a functional block diagram which shows the configuration example of the device cooperation server which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係るデバイス連携サーバの構成例を示す機能ブロック図である。It is a functional block diagram which shows the configuration example of the device cooperation server which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態の変形例に係るデバイス連携サーバの構成例を示す機能ブロック図である。It is a functional block diagram which shows the configuration example of the device cooperation server which concerns on the modification of 2nd Embodiment of this invention. 本発明の第3実施形態に係るデバイス連携サーバの構成例を示す機能ブロック図である。It is a functional block diagram which shows the configuration example of the device cooperation server which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態の変形例に係るデバイス連携サーバの構成例を示す機能ブロック図である。It is a functional block diagram which shows the configuration example of the device cooperation server which concerns on the modification of 3rd Embodiment of this invention. Tacit Computingの概要を説明するための図である。It is a figure for demonstrating the outline of Tacit Computing.

次に、本発明を実施するための形態(以下、「本実施形態」と称する。)における、デバイス連携サーバ1等について説明する。
図1は、本実施形態に係るデバイス連携サーバ1を含むTacit Computingシステムを示す図である。
本実施形態に係るTacit Computingシステムは、図7に示した従来のTacit Computingの構成に加え、デバイス連携サーバ1を含むことを特徴とする。デバイス連携サーバ1は、クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層に位置する各装置と通信可能に接続され、ユーザが所望するサービスを実現するための各種機能の配置や処理オフロードの最適化を行う装置である。
Next, the device cooperation server 1 and the like in the embodiment for carrying out the present invention (hereinafter, referred to as "the present embodiment") will be described.
FIG. 1 is a diagram showing a Tacit Computing system including the device cooperation server 1 according to the present embodiment.
The Tacit Computing system according to the present embodiment is characterized by including a device cooperation server 1 in addition to the conventional Tacit Computing configuration shown in FIG. 7. The device cooperation server 1 is communicably connected to each device located in the three layers of the cloud layer, the network layer, and the device layer, and the arrangement of various functions and the optimization of processing offload for realizing the service desired by the user are optimized. It is a device that performs.

図7に示すような従来のTacit Computingによるシステムでは、デバイスをアドホックに発見し利用する際に、まずサービスを提供できることが前提となるため、コストや性能は考慮されない。しかしながら、サービスを継続的にかつリーズナブルに提供するためには、性能向上等を行うことによる運用コストの低減が必要となる。 In the conventional Tacit Computing system as shown in FIG. 7, when a device is ad hocly discovered and used, it is premised that the service can be provided first, so that cost and performance are not considered. However, in order to provide services continuously and reasonably, it is necessary to reduce operating costs by improving performance and the like.

そこで、本実施形態に係るデバイス連携サーバ1を含むTacit Computingシステムでは、デバイスレイヤ、ネットワークレイヤ、クラウドレイヤのそれぞれのレイヤにおいて、機能配置や処理オフロードを適切に行うことによる最適化を実行する。この最適化は、最初のアドホックなデバイス利用期間中(以下に示す「最適化期間中)」)に行う。例えば、追跡カメラのサービスであれば、初日を試し利用期間(所定の試用期間)として最適化期間を設定し、追跡対象となる子供近傍のカメラ映像を親の携帯端末で確認できるようにする。この最適化期間における、デバイス、ネットワーク、クラウドの利用履歴の情報を収集することにより、デバイス連携サーバ1が最適な機能配置を、デバイスレイヤ、ネットワークレイヤ、クラウドレイヤのいずれか(一つないし複数)に決定する。これにより、例えば、その初日の試し利用期間(最適化期間)の日以降は、リーズナブルな価格での追跡カメラのサービスを提供できるようにする。 Therefore, in the Tacit Computing system including the device cooperation server 1 according to the present embodiment, optimization is executed by appropriately performing function arrangement and processing offload in each layer of the device layer, the network layer, and the cloud layer. This optimization is performed during the first ad hoc device usage period (“during the optimization period” shown below). For example, in the case of a tracking camera service, the optimization period is set with the first day as the trial use period (predetermined trial period) so that the camera image near the child to be tracked can be confirmed on the parent's mobile terminal. By collecting information on the usage history of devices, networks, and clouds during this optimization period, the device linkage server 1 can determine the optimum function layout to any one (one or more) of the device layer, network layer, and cloud layer. To decide. As a result, for example, after the trial use period (optimization period) of the first day, it becomes possible to provide the tracking camera service at a reasonable price.

以下、本実施形態に係るデバイス連携サーバ1が、Tacit Computingシステムにおけるデバイス利用を継続的にかつリーズナブルなサービスとして提供する際の構成例について、第1実施形態から第3実施形態として説明する。 Hereinafter, a configuration example in which the device cooperation server 1 according to the present embodiment continuously provides the device use in the Tacit Computing system as a reasonable service will be described as the first to third embodiments.

<第1実施形態>
第1実施形態は、最適化をデバイスレイヤにおいて実行する例である。
第1実施形態に係るデバイス連携サーバ1A(図2参照)を含むTacit Computingシステムでは、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供のために使用するデバイスを特定するとともに、その特定したデバイスが属するエリアのゲートウェイ10(図1参照)に、そのサービスを実現するための機能を配置する(機能配置する)ことを特徴とする。
<First Embodiment>
The first embodiment is an example of performing optimization at the device layer.
In the Tacit Computing system including the device linkage server 1A (see FIG. 2) according to the first embodiment, the device used for providing the service is specified in the device layer based on the usage history collected during the optimization period, and the device is specified. It is characterized in that a function for realizing the service is arranged (function arrangement) in the gateway 10 (see FIG. 1) in the area to which the specified device belongs.

デバイスレイヤでは、ユーザが所望するサービスを実現するためにデバイスの切替を随時行う場合が想定される。例えば、追跡カメラのサービスであれば、子供が存在する場所に応じてその子供の映像が映っているカメラ(デバイス)を選択してゆくことが必要となる。このとき、ネットワークに繋がる全カメラ(デバイス)において画像解析をし、対象とする子供が映っているカメラの映像だけを使うのであれば、非常にコスト(処理コスト、通信コスト)が高くなってしまう。よって、最適化期間において、子供の位置情報を所定の手法により取得し、カメラのメタデータで示されるそのカメラの設置場所等の情報に基づき、その子供の近傍に存在するカメラを選択する処理を行う。 In the device layer, it is assumed that devices are switched at any time in order to realize the service desired by the user. For example, in the case of a tracking camera service, it is necessary to select a camera (device) in which a child's image is displayed according to the place where the child exists. At this time, if image analysis is performed on all cameras (devices) connected to the network and only the image of the camera showing the target child is used, the cost (processing cost, communication cost) becomes very high. .. Therefore, during the optimization period, the process of acquiring the position information of the child by a predetermined method and selecting the camera existing in the vicinity of the child based on the information such as the installation location of the camera indicated by the metadata of the camera is performed. Do.

また、デバイスレイヤでは、デバイスを収容するゲートウェイ10群の中から、どのゲートウェイ10に分析のための機能配置を行うかが、コスト(処理コスト、通信コスト)に大きく影響する。追跡カメラであれば、例えばOpenCV等の画像分析機能を使うが、子供が通るエリアのゲートウェイ10を最適化期間において特定し、その特定したゲートウェイ10に対し画像分析機能を配置して処理を行う。 Further, in the device layer, the cost (processing cost, communication cost) is greatly affected by which gateway 10 is used to allocate the function for analysis from the group of gateways 10 accommodating the device. If it is a tracking camera, for example, an image analysis function such as OpenCV is used, but the gateway 10 in the area where the child passes is specified in the optimization period, and the image analysis function is arranged for the specified gateway 10 to perform processing.

図2は、本発明の第1実施形態に係るデバイス連携サーバ1Aの構成例を示す機能ブロック図である。デバイス連携サーバ1Aは、サービスを提供するための機能配置の最適化をデバイスレイヤにおいて実行する装置である。
このデバイス連携サーバ1Aは、図2に示すように、制御部11と、入出力部12と、記憶部13とを含んで構成される。
FIG. 2 is a functional block diagram showing a configuration example of the device cooperation server 1A according to the first embodiment of the present invention. The device cooperation server 1A is a device that executes optimization of function arrangement for providing services in the device layer.
As shown in FIG. 2, the device cooperation server 1A includes a control unit 11, an input / output unit 12, and a storage unit 13.

入出力部12は、クラウドレイヤ、ネットワークレイヤおよびデバイスレイヤに属する各デバイス等との間で情報の送受信を行うための通信インタフェースと、タッチパネルやキーボード等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースとから構成される。 The input / output unit 12 comprises a communication interface for transmitting / receiving information to / from each device belonging to the cloud layer, the network layer, the device layer, and the like, an input device such as a touch panel and a keyboard, and an output device such as a monitor. It consists of an input / output interface for sending and receiving information between.

記憶部13は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部13には、デバイス情報DB131および配信機能情報DB132が記憶されるとともに、制御部11の各機能を実行させるためのプログラム(デバイス連携プログラム)や、制御部11の処理に必要な情報(例えば、デバイスの利用履歴)が一時的に記憶される。
The storage unit 13 is composed of a hard disk, a flash memory, a RAM (Random Access Memory), and the like.
The storage unit 13 stores the device information DB 131 and the distribution function information DB 132, a program for executing each function of the control unit 11 (device cooperation program), and information necessary for processing of the control unit 11 (device cooperation program). For example, device usage history) is temporarily stored.

ここで、デバイス情報DB131には、デバイスレイヤに存在する各デバイスのメタデータが格納される。このデバイスのメタデータには、少なくとも、デバイスの識別情報、デバイスの種別(カメラ等のデバイスの機能等を示す情報)、デバイスの位置情報が格納される。
また、配信機能情報DB132には、デバイス連携サーバ1Aが、利用するデバイスを収容するゲートウェイ10に配置する機能(処理プログラム)が格納される。例えば、追跡カメラのサービスであれば、OpenCV等の画像分析機能を実現する処理プログラムが格納される。
Here, the device information DB 131 stores the metadata of each device existing in the device layer. At least the device identification information, the device type (information indicating the function of the device such as a camera), and the device position information are stored in the metadata of this device.
Further, the distribution function information DB 132 stores a function (processing program) arranged by the device cooperation server 1A on the gateway 10 accommodating the device to be used. For example, in the case of a tracking camera service, a processing program that realizes an image analysis function such as OpenCV is stored.

制御部11は、デバイス連携サーバ1A全体の制御を司り、位置情報取得部111と、デバイス選択部112と、利用履歴収集部113と、機能配置先決定部114と、機能配信部115とを備える。
また、この制御部11は、例えば、記憶部13に格納されたプログラム(デバイス連携プログラム)を不図示のCPU(Central Processing Unit)が、RAMに展開し実行することにより実現される。
The control unit 11 controls the entire device cooperation server 1A, and includes a location information acquisition unit 111, a device selection unit 112, a usage history collection unit 113, a function placement destination determination unit 114, and a function distribution unit 115. ..
Further, the control unit 11 is realized by, for example, a CPU (Central Processing Unit) (not shown) deploying and executing a program (device cooperation program) stored in the storage unit 13 in a RAM.

位置情報取得部111は、所定の手法により、サービスの対象物(追跡カメラのサービスであれば追跡対象の子供)の位置情報を取得する。所定の手法としては、サービスの対象物に付された位置検出機能のより得られた位置情報を受信する。例えば、子供に携帯端末を保持させてGPSによる位置情報を検出させ、その位置情報を位置情報取得部111が受信する。また、IoTのデバイスには、非IP(例えば、NFC(Near Field Communication)のBluetooth等)が用いられる場合もあり、非IPの機器を含めて、IoTデバイスの通信パターンを解析し、位置情報を取得するようにしてもよい。
また、位置情報取得部111は、最適化期間中において、位置情報取得部111が取得した位置情報を、デバイス選択部112に出力する。
The position information acquisition unit 111 acquires the position information of the object of the service (in the case of the service of the tracking camera, the child to be tracked) by a predetermined method. As a predetermined method, the position information obtained by the position detection function attached to the object of the service is received. For example, a child is made to hold a mobile terminal to detect position information by GPS, and the position information acquisition unit 111 receives the position information. In addition, non-IP (for example, NFC (Near Field Communication) Bluetooth, etc.) may be used for the IoT device, and the communication pattern of the IoT device including the non-IP device is analyzed and the location information is obtained. You may try to get it.
Further, the position information acquisition unit 111 outputs the position information acquired by the position information acquisition unit 111 to the device selection unit 112 during the optimization period.

デバイス選択部112は、位置情報取得部111が取得した位置情報に基づき、記憶部13内のデバイス情報DB131を検索し、ユーザが所望するサービスを実現するためのデバイスであり、取得した位置情報で示される位置の近傍に位置するデバイスを選択する。 The device selection unit 112 is a device for searching the device information DB 131 in the storage unit 13 based on the position information acquired by the position information acquisition unit 111 and realizing the service desired by the user. Select a device located near the indicated location.

利用履歴収集部113は、最適化期間において、ユーザ所望のサービスで利用したデバイスの利用状況を示す情報(利用履歴)を取得する。この利用履歴は、例えば、追跡カメラのサービスであれば、追跡対象の子供が最適化期間において映っていたか否かを示す情報が、そのカメラ(デバイス)の識別情報とともに収集される。 The usage history collecting unit 113 acquires information (usage history) indicating the usage status of the device used in the service desired by the user during the optimization period. In this usage history, for example, in the case of a tracking camera service, information indicating whether or not the child to be tracked was shown during the optimization period is collected together with the identification information of the camera (device).

機能配置先決定部114は、利用履歴収集部113が収集した利用履歴を参照し、最適化期間中に利用されたデバイスの履歴に基づき、分析機能を配置するエリアのゲートウェイ10を決定する。 The function allocation destination determination unit 114 refers to the usage history collected by the usage history collection unit 113, and determines the gateway 10 in the area where the analysis function is arranged based on the history of the devices used during the optimization period.

機能配信部115は、機能配置先決定部114が決定した機能の配置対象となるゲートウェイ10に対し、記憶部13内の配信機能情報DB132に格納された機能(処理プログラム)を抽出して配信する。機能配信部115は、例えば、追跡カメラのサービスであれば、OpenCV等の画像分析機能を実現する処理プログラムを、機能配置先決定部114が配置先に決定したゲートウェイ10に対し配信する。
なお、機能配信部115は、最適化期間中において、デバイス選択部112が選択したデバイスを収容するゲートウェイ10に対し、配信機能情報DB132に格納された機能(処理プログラム)を抽出して配信するようにし、当該ゲートウェイ10のうち、機能配置先決定部114において、分析機能を配置するエリアのゲートウェイ10として決定されなかったゲートウェイ10の分析機能を削除するようにしてもよい。
The function distribution unit 115 extracts and distributes the function (processing program) stored in the distribution function information DB 132 in the storage unit 13 to the gateway 10 to which the function determined by the function arrangement destination determination unit 114 is to be arranged. .. For example, in the case of a tracking camera service, the function distribution unit 115 distributes a processing program that realizes an image analysis function such as OpenCV to the gateway 10 determined by the function placement destination determination unit 114 as the placement destination.
During the optimization period, the function distribution unit 115 extracts and distributes the function (processing program) stored in the distribution function information DB 132 to the gateway 10 accommodating the device selected by the device selection unit 112. Then, among the gateways 10, the function allocation destination determination unit 114 may delete the analysis function of the gateway 10 that has not been determined as the gateway 10 in the area where the analysis function is arranged.

このように、第1の実施形態に係るデバイス連携サーバ1Aによれば、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供するために使用するデバイスを特定するとともに、その特定したデバイスを収容するゲートウェイ10に、そのサービスを実現するための機能を配置することができる。
よって、分析機能が不必要なエリアのゲートウェイ10に対し機能配置する必要がない。これにより、不必要なトラフィックの増大を防ぎ、通信コストを削減することができる。また、利用されないデバイスのみを収容するゲートウェイ10については、不必要な処理に伴うサーバコストを削減することができる。これにより、第1の実施形態に係るデバイス連携サーバ1Aによれば、IoTデバイスを動的に発見し利用するサービスを、継続してリーズナブルに提供することが可能となる。
As described above, according to the device cooperation server 1A according to the first embodiment, the device used for providing the service in the device layer is specified based on the usage history collected during the optimization period, and the specified device is specified. A function for realizing the service can be arranged in the gateway 10 accommodating the device.
Therefore, it is not necessary to arrange the function for the gateway 10 in the area where the analysis function is unnecessary. As a result, it is possible to prevent an increase in unnecessary traffic and reduce communication costs. Further, for the gateway 10 that accommodates only unused devices, it is possible to reduce the server cost associated with unnecessary processing. As a result, according to the device cooperation server 1A according to the first embodiment, it is possible to continuously and reasonably provide a service for dynamically discovering and using an IoT device.

<第2実施形態>
第2実施形態は、最適化をネットワークレイヤにおいて実行する例である。
第2実施形態に係るデバイス連携サーバ1B(図3参照)を含むTacit Computingシステムでは、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供のために使用するデバイスを特定するとともに、その特定したデバイスが属するエリアのゲートウェイ10と接続されるネットワークレイヤに属するネットワークエッジ20(図1参照)に、そのサービスを実現するための機能を配置する(機能配置する)ことを特徴とする。
<Second Embodiment>
The second embodiment is an example of performing optimization at the network layer.
In the Tacit Computing system including the device linkage server 1B (see FIG. 3) according to the second embodiment, the device used for providing the service is specified in the device layer based on the usage history collected during the optimization period, and the device is specified. It is characterized in that a function for realizing the service is arranged (function arrangement) at a network edge 20 (see FIG. 1) belonging to a network layer connected to a gateway 10 in an area to which the specified device belongs.

Tacit Computingシステムでは、図7において説明したように、より低いレイヤで処理を行うのが原則となる。よって、できるだけ各デバイスが属するエリアのゲートウェイ10に機能配置することが望ましいが、ゲートウェイ10の種類や性能によっては、そのサービスを実現する処理プログラムを動作させることができない場合もある。そのような場合に、第2の実施形態に係るデバイス連携サーバ1Bは、ネットワークレイヤのネットワークエッジ20に機能配置を行う。
なお、ネットワークエッジ20は、NGN(Next Generation Network)であれば、アクセスネットワークとコアネットワークとを接続するエッジルータであり、例えば、SSE(Subscriber Service Edge)等である。
In the Tacit Computing system, as described in FIG. 7, in principle, processing is performed at a lower layer. Therefore, it is desirable to arrange the functions in the gateway 10 in the area to which each device belongs as much as possible, but depending on the type and performance of the gateway 10, it may not be possible to operate the processing program that realizes the service. In such a case, the device cooperation server 1B according to the second embodiment arranges functions at the network edge 20 of the network layer.
If the network edge 20 is an NGN (Next Generation Network), it is an edge router that connects the access network and the core network, and is, for example, an SSE (Subscriber Service Edge) or the like.

図3は、本発明の第2実施形態に係るデバイス連携サーバ1Bの構成例を示す機能ブロック図である。デバイス連携サーバ1Bは、サービスを提供するための機能配置の最適化をネットワークレイヤにおいて実行する装置である。
図2において示したデバイス連携サーバ1Aとの違いは、機能配置先決定部114、機能配信部115が、図3のデバイス連携サーバ1Bでは、機能配置先決定部114B、機能配信部115Bとなっている点である。なお、デバイス連携サーバ1Aと同様の機能を備える構成については、同一の名称と符号を付し説明を省略する。
FIG. 3 is a functional block diagram showing a configuration example of the device cooperation server 1B according to the second embodiment of the present invention. The device cooperation server 1B is a device that executes optimization of function arrangement for providing services at the network layer.
The difference from the device cooperation server 1A shown in FIG. 2 is that the function placement destination determination unit 114 and the function distribution unit 115 become the function placement destination determination unit 114B and the function distribution unit 115B in the device cooperation server 1B of FIG. That is the point. A configuration having the same functions as the device linkage server 1A will be given the same name and reference numeral, and the description thereof will be omitted.

機能配置先決定部114Bは、利用履歴収集部113が収集した利用履歴を参照し、最適化期間中に利用されたデバイスの履歴に基づき、その利用されたデバイスの属するエリアのゲートウェイ10と接続されるネットワークレイヤのネットワークエッジ20を、分析機能を配置するネットワークエッジ20として決定する。
なお、機能配置先決定部114Bは、情報指向ネットワーク(コンテンツ指向ネットワーク)の技術を用いて、利用されたデバイスの属するエリアのゲートウェイ10に隣接するエッジルータを抽出し、分析機能を配置するネットワークエッジ20として決定するようにしてもよい。なお、情報指向ネットワークについては、例えば、非特許文献2(朝枝 仁、「情報指向ネットワークがもたらす可能性と研究課題」、情報通信研究機構研究報告、Vol.61 No.2、2015)に詳しい。
The function placement destination determination unit 114B refers to the usage history collected by the usage history collecting unit 113, and is connected to the gateway 10 in the area to which the used device belongs based on the history of the devices used during the optimization period. The network edge 20 of the network layer is determined as the network edge 20 in which the analysis function is arranged.
The function allocation destination determination unit 114B uses the technology of the information-oriented network (content-oriented network) to extract the edge router adjacent to the gateway 10 in the area to which the device used belongs, and arranges the analysis function at the network edge. It may be decided as 20. For more information on information-oriented networks, see, for example, Non-Patent Document 2 (Hitoshi Asaeda, "Possibilities and Research Issues Brought by Information-Oriented Networks," National Institute of Information and Communications Technology, Vol.61 No.2, 2015).

機能配信部115Bは、機能配置先決定部114Bが決定した機能の配置先となるネットワークエッジ20に対し、記憶部13内の配信機能情報DB132に格納された機能(処理プログラム)を抽出して配信する。
なお、機能配信部115Bは、最適化期間中において、デバイス選択部112が選択したデバイスを収容するゲートウェイ10に接続するネットワークエッジ20に対し、配信機能情報DB132に格納された機能(処理プログラム)を抽出して配信するようにし、機能配置先決定部114Bにおいて、分析機能を配置するネットワークエッジ20として決定されなかったネットワークエッジ20の分析機能を削除するようにしてもよい。
The function distribution unit 115B extracts and distributes the function (processing program) stored in the distribution function information DB 132 in the storage unit 13 to the network edge 20 to which the function determined by the function arrangement destination determination unit 114B is arranged. To do.
During the optimization period, the function distribution unit 115B provides the function (processing program) stored in the distribution function information DB 132 to the network edge 20 connected to the gateway 10 accommodating the device selected by the device selection unit 112. The analysis function of the network edge 20 that has not been determined as the network edge 20 in which the analysis function is arranged may be deleted in the function arrangement destination determination unit 114B so as to be extracted and distributed.

このように、第2の実施形態に係るデバイス連携サーバ1Bによれば、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供するために使用するデバイスを特定するとともに、その特定したデバイスを収容するゲートウェイ10と接続するネットワークレイヤのネットワークエッジ20に、そのサービスを実現するための機能を配置することができる。
よって、サービス提供するために使用するデバイスが属するエリアのゲートウェイ10に機能配置できない場合であっても、当該ゲートウェイ10に接続するネットワークエリアのネットワークエッジ20に機能配置することができる。また、分析機能が不要な他のネットワークエッジ20に対し機能配置する必要をなくすことができる。これにより、不必要なトラフィックの増大を防ぎ、通信コストを削減することができる。また、利用されないデバイスのみを収容するゲートウェイ10に接続するネットワークエッジ20については、不必要な処理に伴うサーバコストを削減することができる。これにより、第2の実施形態に係るデバイス連携サーバ1Bによれば、IoTデバイスを動的に発見し利用するサービスを、継続してリーズナブルに提供することが可能となる。
As described above, according to the device cooperation server 1B according to the second embodiment, the device used for providing the service in the device layer is specified and the specified device is specified based on the usage history collected during the optimization period. A function for realizing the service can be arranged at the network edge 20 of the network layer connected to the gateway 10 accommodating the device.
Therefore, even if the function cannot be arranged at the gateway 10 in the area to which the device used for providing the service belongs, the function can be arranged at the network edge 20 of the network area connected to the gateway 10. Further, it is possible to eliminate the need to arrange the function with respect to the other network edge 20 that does not require the analysis function. As a result, it is possible to prevent an increase in unnecessary traffic and reduce communication costs. Further, with respect to the network edge 20 connected to the gateway 10 accommodating only unused devices, it is possible to reduce the server cost associated with unnecessary processing. As a result, according to the device cooperation server 1B according to the second embodiment, it is possible to continuously and reasonably provide a service for dynamically discovering and using an IoT device.

<第2実施形態の変形例>
第2実施形態の変形例として、サービスの特性に応じて、ネットワークレイヤにおいて、帯域確保や優先制御等のネットワーク設定を実行する機能を備えるようにしてもよい。例えば、図3で示したデバイス連携サーバ1Bの構成に、図4に示すように、ネットワーク設定部116を追加して備えさせ、デバイス連携サーバ1Cとして構成する。
このネットワーク設定部116が、サービスを提供するに際しての帯域確保や優先制御をネットワークレイヤにおいて設定する。例えば、NGNであれば、RACF(Resource and Admission Control Function)により帯域確保の機能を実現する。
このようにすることにより、デバイス連携サーバ1Cは、最適化期間の利用履歴に基づき、サービスを提供するためのネットワーク設定も行うことが可能となる。
<Modified example of the second embodiment>
As a modification of the second embodiment, a function of executing network settings such as bandwidth allocation and priority control may be provided in the network layer according to the characteristics of the service. For example, as shown in FIG. 4, the network setting unit 116 is additionally provided in the configuration of the device cooperation server 1B shown in FIG. 3, and is configured as the device cooperation server 1C.
The network setting unit 116 sets bandwidth allocation and priority control when providing services at the network layer. For example, in the case of NGN, the function of securing the bandwidth is realized by RACF (Resource and Admission Control Function).
By doing so, the device cooperation server 1C can also set the network for providing the service based on the usage history of the optimization period.

<第3実施形態>
第3実施形態は、最適化をクラウドレイヤにおいて実行する例である。
第3実施形態に係るデバイス連携サーバ1D(図5参照)を含むTacit Computingシステムでは、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供のために使用するデバイスを特定するとともに、その特定したデバイスが属するエリアのゲートウェイ10またはそのゲートウェイ10に接続されるネットワークレイヤに属するネットワークエッジ20に、サービスを実現するための機能を配置する(機能配置する)。さらに、デバイス連携サーバ1Dは、利用頻度が多いデバイスを収容するネットワークエッジ20との遅延が少ないDC30(図1参照)の選択し、そのDC30のクラウドサーバにおいて処理機能のリソースサイズを確保することを特徴とする。
<Third Embodiment>
The third embodiment is an example of executing optimization in the cloud layer.
In the Tacit Computing system including the device linkage server 1D (see FIG. 5) according to the third embodiment, the device used for providing the service is specified in the device layer based on the usage history collected during the optimization period, and the device is specified. A function for realizing the service is arranged (function is arranged) at the gateway 10 in the area to which the specified device belongs or the network edge 20 belonging to the network layer connected to the gateway 10. Further, the device cooperation server 1D selects the DC30 (see FIG. 1) having a small delay with the network edge 20 accommodating the frequently used devices, and secures the resource size of the processing function in the cloud server of the DC30. It is a feature.

例えば、追跡カメラのサービスであれば、ゲートウェイ10またはネットワークエッジ20において、配置された処理プログラムにより画像をサマライズして特徴ベクトルを抽出する。そして、その特徴ベクトルをDC30のクラウドサーバが取得し、機械学習等の手法で分析することにより不審者が近づいている等を解析してアラートを出力する。この場合において、デバイス連携サーバ1Dは、利用頻度の多いデバイスを収容するネットワークエッジ20との遅延が少ないDC30を選択し、そのDC30のクラウドサーバに備わる、リアルタイムに発生するデータを処理する機能(例えば、Apache StormやApache Sparkのようなストリーム処理機能)をデプロイし、適切なリソースサイズを確保する。 For example, in the case of a tracking camera service, an image is summarized by an arranged processing program at the gateway 10 or the network edge 20 to extract a feature vector. Then, the cloud server of DC30 acquires the feature vector and analyzes it by a method such as machine learning to analyze the approaching suspicious person and output an alert. In this case, the device cooperation server 1D selects a DC30 having a small delay with the network edge 20 accommodating frequently used devices, and has a function (for example,) of processing data generated in real time provided in the cloud server of the DC30. , Deploy stream processing features like Apache Storm and Apache Spark) to ensure proper resource size.

図5は、本発明の第3実施形態に係るデバイス連携サーバ1Dの構成例を示す機能ブロック図である。デバイス連携サーバ1Dは、サービスを提供するための最適化をクラウドレイヤにおいて実行する装置である。
図2において示したデバイス連携サーバ1Aとの違いは、機能配置先決定部114、機能配信部115が、図5のデバイス連携サーバ1Dでは、機能配置先決定部114D、機能配信部115Dとなっている点と、新たにリソース確保処理部117が備わる点である。なお、デバイス連携サーバ1Aと同様の機能を備える構成については、同一の名称と符号を付し説明を省略する。
FIG. 5 is a functional block diagram showing a configuration example of the device cooperation server 1D according to the third embodiment of the present invention. The device cooperation server 1D is a device that executes optimization for providing services in the cloud layer.
The difference from the device cooperation server 1A shown in FIG. 2 is that the function placement destination determination unit 114 and the function distribution unit 115 become the function placement destination determination unit 114D and the function distribution unit 115D in the device cooperation server 1D of FIG. The point is that the resource securing processing unit 117 is newly provided. A configuration having the same functions as the device linkage server 1A will be given the same name and reference numeral, and the description thereof will be omitted.

機能配置先決定部114Dは、利用履歴収集部113が収集した利用履歴を参照し、最適化期間中に利用されたデバイスの履歴に基づき、分析機能を配置するエリアのゲートウェイ10、または、そのゲートウェイ10と接続されるネットワークレイヤのネットワークエッジ20を、分析機能の配置先として決定する。なお、機能配置先決定部114Dは、ゲートウェイ10に分析機能を配置できる場合には、そのゲートウェイ10を配置先として決定する。ただし、ゲートウェイ10に処理プログラムが配置できない等により、そのゲートウェイ10を配置先にできない場合には、当該ゲートウェイ10に接続されるネットワークエッジ20を、分析機能の配置先として決定する。 The function placement destination determination unit 114D refers to the usage history collected by the usage history collection unit 113, and based on the history of the devices used during the optimization period, the gateway 10 in the area where the analysis function is placed, or its gateway. The network edge 20 of the network layer connected to 10 is determined as the placement destination of the analysis function. If the analysis function can be arranged in the gateway 10, the function arrangement destination determination unit 114D determines the gateway 10 as the arrangement destination. However, if the gateway 10 cannot be placed as the placement destination because the processing program cannot be placed in the gateway 10, the network edge 20 connected to the gateway 10 is determined as the placement destination of the analysis function.

機能配信部115Dは、機能配置先決定部114Dが決定した分析機能の配置先となるゲートウェイ10またはネットワークエッジ20に対し、記憶部13内の配信機能情報DB132に格納された機能(処理プログラム)を抽出して配信する。
なお、ここで機能配信部115Dが配信する処理プログラムは、例えば、追跡カメラのサービスであれば、追跡対象となる人物(子供)を画像認識(例えば、顔認識)する機能に加えて、画像認識して追跡対象となる人物(子供)が映っていると判定した映像をサマライズして特徴ベクトルを抽出する処理を実行する機能を備える。
The function distribution unit 115D provides a function (processing program) stored in the distribution function information DB 132 in the storage unit 13 to the gateway 10 or the network edge 20 to which the analysis function determined by the function arrangement destination determination unit 114D is arranged. Extract and deliver.
Here, the processing program distributed by the function distribution unit 115D is, for example, in the case of a tracking camera service, in addition to the function of image recognition (for example, face recognition) of a person (child) to be tracked, image recognition. It has a function to perform a process of summarizing an image determined to show a person (child) to be tracked and extracting a feature vector.

リソース確保処理部117は、利用履歴収集部113が収集した利用履歴を参照し、最適化期間中に利用頻度が最も多いデバイスを収容するネットワークエッジ20を抽出し、その抽出したネットワークエッジとの遅延が最も少ないDC30のクラウドにそのサービスに必要となる処理機能(例えば、特徴ベクトルから不審者が近づいている等を解析しアラートを出力する機能)をデプロイする。さらに、リソース確保処理部117は、当該処理を実行するために必要なリソースサイズを確保する。
リソース確保処理部117は、確保するリソースサイズについて、サービスに応じて予め設定しておいたリソースサイズを確保するようにしてもよいし、必要なリソースサイズとして初期値を定めておき、リソースの利用状況に応じて所定値を増加するように設定してもよい。
The resource securing processing unit 117 refers to the usage history collected by the usage history collecting unit 113, extracts the network edge 20 accommodating the device most frequently used during the optimization period, and delays with the extracted network edge. Deploy the processing function required for the service (for example, the function to analyze the approaching suspicious person from the feature vector and output an alert) to the cloud of DC30, which has the least number of resources. Further, the resource securing processing unit 117 secures the resource size necessary for executing the processing.
Regarding the resource size to be secured, the resource reservation processing unit 117 may secure a resource size preset according to the service, or sets an initial value as a required resource size and uses the resource. The predetermined value may be set to be increased depending on the situation.

このようにすることで、第3実施形態に係るデバイス連携サーバ1Dによれば、最適化期間中に収集した利用履歴に基づき、デバイスレイヤにおいてサービス提供するために使用するデバイスを特定するとともに、ゲートウェイ10またはネットワークエッジ20に分析機能(処理プログラム)を配置することができる。また、デバイス連携サーバ1Dは、利用頻度が最も多いデバイスを収容するネットワークエッジ20との遅延が最も少ないDC30のクラウドサーバに、サービスに必要な処理機能をデプロイし、リソースサイズを確保する。よって、全DC30のクラウドの処理機能をデプロイし、リソースサイズを確保する場合に比べ、運用コストを削減することができる。これにより、第3実施形態に係るデバイス連携サーバ1Dによれば、IoTデバイスを動的に発見し利用するサービスを、継続してリーズナブルに提供することが可能となる。 By doing so, according to the device cooperation server 1D according to the third embodiment, the device used for providing the service at the device layer is specified based on the usage history collected during the optimization period, and the gateway is used. An analysis function (processing program) can be arranged at 10 or the network edge 20. Further, the device cooperation server 1D deploys the processing function required for the service to the cloud server of DC30 having the least delay with the network edge 20 accommodating the device most frequently used, and secures the resource size. Therefore, the operating cost can be reduced as compared with the case where the processing function of the cloud of all DC30 is deployed and the resource size is secured. As a result, according to the device cooperation server 1D according to the third embodiment, it is possible to continuously and reasonably provide a service for dynamically discovering and using an IoT device.

<第3実施形態の変形例>
第3実施形態の変形例について説明する。
図6は、本発明の第3実施形態の変形例に係るデバイス連携サーバ1Eの構成例を示す機能ブロック図である。図5において示したデバイス連携サーバ1Dとの違いは、オフロード設定部118をさらに備えている点である。なお、デバイス連携サーバ1Dと同様の機能を備える構成については、同一の名称と符号を付し説明を省略する。
<Modified example of the third embodiment>
A modified example of the third embodiment will be described.
FIG. 6 is a functional block diagram showing a configuration example of the device cooperation server 1E according to a modified example of the third embodiment of the present invention. The difference from the device cooperation server 1D shown in FIG. 5 is that the offload setting unit 118 is further provided. The configuration having the same function as the device cooperation server 1D will be given the same name and reference numeral, and the description thereof will be omitted.

近年、クラウドでは、GPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)等のヘトロジニアスなHW(ハードウェア)(以下、「ヘトロデバイス」と称する。)を備えたサーバが増えてきている。例えば、Microsoft(登録商標)社のBing検索においても、FPGAが利用されている。このように、へトロデバイスを活用し、例えば、行列計算等をGPUにオフロードしたり、FTT(Fast Fourier Transform)計算等の特定処理をFPGAにオフロードしたりすることで、高性能化を実現している。図6に示すデバイス連携サーバ1Eのオフロード設定部118は、特定処理についてオフロードする設定を、リソース確保処理部117がデプロイしたクラウドサーバに対して設定することを特徴とする。以下、オフロード設定部118が実行する2つの手法、(手法1)および(手法2)について説明する。 In recent years, in the cloud, servers equipped with heterogeneous HW (hardware) (hereinafter referred to as "hetro device") such as GPU (Graphics Processing Unit) and FPGA (Field Programmable Gate Array) are increasing. For example, FPGA is also used in Bing search of Microsoft (registered trademark). In this way, by utilizing the Hetro device, for example, offloading matrix calculation etc. to GPU and offloading specific processing such as FTT (Fast Fourier Transform) calculation to FPGA, high performance can be achieved. It has been realized. The offload setting unit 118 of the device cooperation server 1E shown in FIG. 6 is characterized in that the offload setting for the specific processing is set for the cloud server deployed by the resource securing processing unit 117. Hereinafter, two methods (method 1) and (method 2) executed by the offload setting unit 118 will be described.

(オフロード設定部の手法1)
手法1においては、デバイス連携サーバ1Eの記憶部13内に、行列計算等の特定処理のロジックを、GPUやFPGA等のへトロデバイスにオフロードするパターンとして予め記憶しておく。そして、オフロード設定部118は、ユーザからのリクエストに特定処理が含まれていた場合、記憶部13内に記憶したパターン(オフロードの処理記述、例えばOpenCL等)を抽出しクラウドサーバに対して設定を行う。
(Method 1 of offload setting section)
In the method 1, the logic of specific processing such as matrix calculation is stored in advance in the storage unit 13 of the device cooperation server 1E as a pattern of offloading to a hetero device such as a GPU or FPGA. Then, when the request from the user includes a specific process, the offload setting unit 118 extracts the pattern (offload process description, for example, OpenCL, etc.) stored in the storage unit 13 to the cloud server. Make settings.

(オフロード設定部の手法2)
手法2は、特定処理における繰り返し文を、オフロード設定部118がGPU等のへトロデバイスにオフロードする最適化をその場で行う手法である。GPU等による処理の高速化には、適切な領域の並列化が必要であり、自律的に適切な領域を抽出するため、例えば、遺伝的アルゴリズム(GA:Genetic Algorithm)等の手法が用いられる。遺伝的アルゴリズム(以下、「GA」と称する。)の手法により、特定処理の繰り返し文の並列可否を検証環境で試行反復し、抽出された最適並列領域を、PGIコンパイラ等(PGIは登録商標)により並列領域として指定する。これにより、オフロード設定部118は、コンパイラを用いてオフロード設定を行う。以下、GPUにオフロードする場合を例に、より詳細に説明する。
(Method 2 of offload setting section)
The method 2 is a method in which the offload setting unit 118 offloads the iterative statement in the specific process to a hetero device such as a GPU on the spot. In order to speed up processing by GPU or the like, it is necessary to parallelize an appropriate region, and in order to autonomously extract an appropriate region, for example, a method such as a genetic algorithm (GA) is used. By the method of a genetic algorithm (hereinafter referred to as "GA"), the possibility of parallelization of repeated statements of a specific process is tried and repeated in a verification environment, and the extracted optimum parallel region is obtained by a PGI compiler or the like (PGI is a registered trademark). Is specified as a parallel area by. As a result, the offload setting unit 118 performs the offload setting using the compiler. Hereinafter, a case of offloading to the GPU will be described in more detail.

GPUは、レイテンシーを保証するものではないが、並列処理によりスループットを高めることができる。クラウドでユーザが動作させるアプリケーションを実行する、アプリケーションサーバやDBサーバでは繰り返し処理が多い。そこで、アプリケーションの繰り返し文をGPUに自律的にオフロードすることで高速化する。
ただし、この高速化には適切な部分(アプリケーションの処理の一部)の並列化が必要であり、単純に繰り返しの部分を並列処理しただけでは性能がでない場合がある。この点に関し、PGIコンパイラを用いて、for文の並列可否を総当たりで最適化する試みがある。しかしながら、総当たりには多くの時間がかかり、クラウド事業では、ユーザの利用開始が遅くなってしまう問題があった。
GPU does not guarantee latency, but throughput can be increased by parallel processing. There are many repetitive processes in application servers and DB servers that execute applications run by users in the cloud. Therefore, the speed is increased by autonomously offloading the repeated statements of the application to the GPU.
However, this speedup requires parallelization of appropriate parts (part of application processing), and there are cases where performance is not achieved by simply parallel processing the repetitive parts. In this regard, there is an attempt to brute force the parallelism of for statements using the PGI compiler. However, brute force takes a lot of time, and in the cloud business, there is a problem that the start of use by the user is delayed.

そこで、本実施形態のデバイス連携サーバ1Eでは、自律的に適切なオフロード領域を抽出するため、オフロード設定部118が、GAを用いた検証環境での性能試験の反復を行う。その際、トップとセカンドレベルのfor文のみをGAの組合せの対象とする。このオフロード設定部118の処理により、短時間で高性能となるオフロード領域を探索できるようにする。
このGAは、生物の進化過程を模倣した組合せ最適化手法の一つであり、初期化、評価、選択、交叉、突然変異、終了判定というフローで処理を進める。ここでは、Simple GAの手法を用いる例で説明する。Simple GAは、遺伝子を1,0のみとし、ルーレット選択、一点交叉、突然変異は1か所の遺伝子の値を逆にする等、単純化されたGAである。
Therefore, in the device cooperation server 1E of the present embodiment, in order to autonomously extract an appropriate offload area, the offload setting unit 118 repeats the performance test in the verification environment using GA. At that time, only the top and second level for statements are targeted for the combination of GA. The processing of the offload setting unit 118 makes it possible to search for a high-performance offload area in a short time.
This GA is one of the combinatorial optimization methods that imitates the evolutionary process of living organisms, and proceeds with the flow of initialization, evaluation, selection, crossover, mutation, and termination determination. Here, an example using the Simple GA method will be described. Simple GA is a simplified GA in which the number of genes is only 1,0, roulette selection, one-point crossover, and mutation reverse the value of one gene.

初期化では、デプロイするアプリケーションのソースコードを分析し、最上段(トップレベル)と第二段(セカンドレベル)のfor文、while文を遺伝子配列にマッピングする。ここで、GPU並列可否を試行する繰り返し処理の文の数から遺伝子長を定め、GPUで並列処理する場合は1、しない場合は0とする。遺伝子は所定の個体数Mが準備され、1つの遺伝子の値(遺伝子値)は全て1(全for文をGPUオフロード)、1つの遺伝子は全て0(全CPU処理)とし、残りをランダムに1,0を割り当てる。
評価では、遺伝子に該当するソースコードをビルドして検証用クラウドサーバにデプロイし、ベンチマーク性能測定を行う。そして、性能が良い遺伝子の適合度を高く設定する。
選択では、適合度に基づいて、高い適合度の遺伝子を所定の個体数選択する。ここでは、適合度に応じたルーレット選択および最高適合度遺伝子のエリート選択を行う。
交叉では、所定の交叉率Pcで、選択された個体間において一部の遺伝子である一点で交換し、子の個体を作成する。
突然変異では、所定の突然変異率Pmで、個体の遺伝子の各値を、0から1、または、1から0に変更する。
終了判定では、所定の世代数であるT回、繰り返し処理を行った後で終了し、最高適合度の遺伝子を解とする。
そして、オフロード設定部118は、最高適合度の遺伝子に該当する、最高性能のソースコードのパターンで、リソース確保処理部117が配置を決定したクラウドサーバにデプロイする。
In initialization, the source code of the application to be deployed is analyzed, and the for statement and while statement of the top stage (top level) and the second stage (second level) are mapped to the gene sequence. Here, the gene length is determined from the number of repetitive processing sentences that try GPU parallel processing, and is set to 1 when parallel processing is performed by GPU and 0 when not. A predetermined number of individuals M is prepared for the gene, the value (gene value) of one gene is all 1 (all for sentences are GPU offloaded), one gene is all 0 (all CPU processing), and the rest are randomly selected. Allocate 1,0.
In the evaluation, the source code corresponding to the gene is built, deployed on the verification cloud server, and the benchmark performance is measured. Then, the goodness of fit of the gene with good performance is set high.
In selection, a gene with a high goodness of fit is selected in a predetermined number of individuals based on the goodness of fit. Here, roulette selection and elite selection of the highest goodness-of-fit gene are performed according to the goodness of fit.
In crossover, at a predetermined crossover rate Pc, selected individuals are exchanged at one point, which is a part of genes, to create offspring individuals.
In mutation, each value of an individual's gene is changed from 0 to 1 or 1 to 0 at a predetermined mutation rate Pm.
In the termination determination, the gene having the highest goodness of fit is used as the solution after repeating the treatment T times, which is a predetermined number of generations.
Then, the offload setting unit 118 deploys to the cloud server whose placement is determined by the resource securing processing unit 117 with the pattern of the source code having the highest performance corresponding to the gene of the highest goodness of fit.

このようにすることで、第3実施形態の変形例に係るデバイス連携サーバ1Eによれば、利用頻度が最も多いデバイスを収容するネットワークエッジ20との遅延が最も少ないDC30のクラウドサーバに、サービスに必要な処理機能をデプロイし、リソースサイズを確保できるとともに、へトロデバイス(例えば、GPU)にオフロード処理することにより、処理をさらに高速化することが可能となる。 By doing so, according to the device cooperation server 1E according to the modified example of the third embodiment, the cloud server of DC30 having the least delay with the network edge 20 accommodating the device most frequently used can be provided as a service. It is possible to deploy the necessary processing functions, secure the resource size, and further speed up the processing by performing offload processing on the hetro device (for example, GPU).

以上説明したように、本実施形態に係るデバイス連携サーバ1A〜1Eでは、デバイスレイヤ、ネットワークレイヤ、クラウドレイヤのそれぞれでの各種機能の最適配置や処理オフロードを実現することができる。ただし、サービスの利用形態によっては、例えば、どこに機能配置するのが適切かが変わってくる場合がある。そこで、デバイス連携サーバ1は、各処理を、各レイヤで実行する場合のコストと性能とをモデル化し、どこに配置するのが適切かを計算するようにしてもよい。ここでのコストは、例えば、リソース確保のためのサーバコスト、発生トラフィックに基づくネットワークコストである。また、性能は、例えば、スループットや遅延である。
デバイス連携サーバ1は、このコストと性能をパラメータとして保持し、処理機能をどこに配置し、どこのリソースを確保するのが適切かについて、「コストが所定値以下になるような制約条件で性能を大きくする」、「性能が所定値以上になるような制約条件でコストを小さくする」を目的として組合せ最適化問題を解くことにより、機能配置とリソース確保を行うようにする。
なお、この組合せ最適化問題を、限られた最適化期間中に解を発見できるようにするため、遺伝的アルゴリズム(GA)の手法を用いてもよい。
As described above, in the device cooperation servers 1A to 1E according to the present embodiment, it is possible to realize the optimum arrangement and processing offload of various functions in each of the device layer, the network layer, and the cloud layer. However, depending on the usage pattern of the service, for example, where it is appropriate to arrange the function may change. Therefore, the device cooperation server 1 may model the cost and performance when executing each process in each layer, and calculate where it is appropriate to place the process. The costs here are, for example, a server cost for securing resources and a network cost based on generated traffic. Performance is, for example, throughput or delay.
The device cooperation server 1 holds this cost and performance as parameters, and determines where to place the processing function and which resource is appropriate to secure the performance under the constraint condition that the cost is less than or equal to the predetermined value. By solving the combination optimization problem for the purpose of "increasing the cost" and "reducing the cost under the constraint condition that the performance exceeds the predetermined value", the function allocation and the resource securing are performed.
In addition, in order to be able to find a solution to this combinatorial optimization problem during a limited optimization period, a method of a genetic algorithm (GA) may be used.

このようにすることにより、デバイス連携サーバ1は、3つのレイヤ(デバイスレイヤ、ネットワークレイヤ、クラウドレイヤ)の全てを考慮した上で、最適なレイヤに機能配置を行い、リソース確保することができる。これにより、ユーザが所望するサービスを、継続してリーズナブルに提供することができる。 By doing so, the device cooperation server 1 can allocate functions to the optimum layer and secure resources in consideration of all three layers (device layer, network layer, and cloud layer). As a result, the service desired by the user can be continuously provided at a reasonable price.

1,1A,1B,1C,1D,1E デバイス連携サーバ
10 ゲートウェイ
11 制御部
12 入出力部
13 記憶部
20 ネットワークエッジ
30 DC(データセンタ)
111 位置情報取得部
112 デバイス選択部
113 利用履歴収集部
114,114B,114D 機能配置先決定部
115,115B,115D 機能配信部
116 ネットワーク設定部
117 リソース確保処理部
118 オフロード設定部
131 デバイス情報DB
132 配信機能情報DB
1,1A, 1B, 1C, 1D, 1E Device linkage server 10 Gateway 11 Control unit 12 Input / output unit 13 Storage unit 20 Network edge 30 DC (data center)
111 Location information acquisition unit 112 Device selection unit 113 Usage history collection unit 114, 114B, 114D Function placement destination determination unit 115, 115B, 115D Function distribution unit 116 Network setting unit 117 Resource reservation processing unit 118 Offload setting unit 131 Device information DB
132 Distribution function information DB

Claims (7)

クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、
前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、
収集された前記利用履歴を参照し、前記クラウドレイヤ、前記ネットワークレイヤ、前記デバイスレイヤの3層の一つないし複数を、前記サービスに関する機能の配置先として決定する機能配置先決定部と、
前記サービスに関する機能を、前記決定した3層の一つないし複数のレイヤに配信するとともに、前記配置先として決定されなかったレイヤにおいて、前記サービスに関する機能を削除する機能配信部と、
を備えることを特徴とするデバイス連携サーバ。
It is a device cooperation server that selects resources from the three layers of cloud layer, network layer, and device layer to provide services.
A usage history collection unit that collects usage history related to the service of each device belonging to the device layer in an optimization period indicating a predetermined trial period provided to determine resources to be used when providing the service.
A function allocation destination determination unit that determines one or more of the three layers of the cloud layer, the network layer, and the device layer as the allocation destination of the functions related to the service by referring to the collected usage history.
A function distribution unit that distributes the function related to the service to one or a plurality of layers of the determined three layers, and deletes the function related to the service in the layer that is not determined as the placement destination.
A device cooperation server characterized by being equipped with.
クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、
前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、
前記サービスに関する機能を、決定した当該ゲートウェイに配信するとともに、前記配置先として決定されなかったゲートウェイの前記サービスに関する機能を削除する機能配信部と、
を備えることを特徴とするデバイス連携サーバ。
It is a device cooperation server that selects resources from the three layers of cloud layer, network layer, and device layer to provide services.
A usage history collection unit that collects usage history related to the service of each device belonging to the device layer in an optimization period indicating a predetermined trial period provided to determine resources to be used when providing the service.
A function allocation destination determination unit that refers to the collected usage history and determines the gateway of the area to which the device used during the optimization period belongs as the allocation destination of the function related to the service.
A function distribution unit that distributes the function related to the service to the determined gateway and deletes the function related to the service of the gateway that has not been determined as the placement destination.
A device cooperation server characterized by being equipped with.
クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、
前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、
前記サービスに関する機能を、決定した当該ネットワークエッジに配信するとともに、前記配置先として決定されなかったネットワークエッジの前記サービスに関する機能を削除する機能配信部と、
を備えることを特徴とするデバイス連携サーバ。
It is a device cooperation server that selects resources from the three layers of cloud layer, network layer, and device layer to provide services.
A usage history collection unit that collects usage history related to the service of each device belonging to the device layer in an optimization period indicating a predetermined trial period provided to determine resources to be used when providing the service.
A function allocation destination that refers to the collected usage history and determines the network edge of the network layer connected to the gateway of the area to which the device used during the optimization period belongs as the allocation destination of the function related to the service. The decision department and
A function distribution unit that distributes the function related to the service to the determined network edge and deletes the function related to the service of the network edge that has not been determined as the placement destination.
A device cooperation server characterized by being equipped with.
前記決定したネットワークエッジが属するネットワークにおいて、前記サービスの提供に関する帯域確保および優先制御を含むネットワーク設定を実行させるネットワーク設定部を、
さらに備えることを特徴とする請求項3に記載のデバイス連携サーバ。
In the network to which the determined network edge belongs, a network setting unit that executes network settings including bandwidth allocation and priority control related to the provision of the service is provided.
The device cooperation server according to claim 3, further comprising.
クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、
前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイ、または、当該ゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、
前記サービスに関する機能を、当該決定したゲートウェイまたはネットワークエッジに配信するとともに、当該決定したゲートウェイまたはネットワークエッジ以外のゲートウェイおよびネットワークエッジにおいて、前記サービスに関する機能を削除する機能配信部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用頻度が最も多いデバイスを収容するネットワークエッジを抽出し、前記抽出したネットワークエッジとの間の遅延が最も少ないクラウドのクラウドサーバの処理機能をデプロイし、当該処理機能に必要なリソースサイズを確保するリソース確保処理部と、
を備えることを特徴とするデバイス連携サーバ。
It is a device cooperation server that selects resources from the three layers of cloud layer, network layer, and device layer to provide services.
A usage history collection unit that collects usage history related to the service of each device belonging to the device layer in an optimization period indicating a predetermined trial period provided to determine resources to be used when providing the service.
With reference to the collected usage history, the gateway in the area to which the device used during the optimization period belongs or the network edge of the network layer connected to the gateway is set as the placement destination of the function related to the service. Function placement destination decision unit to decide, and
A function distribution unit that distributes the function related to the service to the determined gateway or network edge and deletes the function related to the service at the gateway and network edge other than the determined gateway or network edge.
With reference to the collected usage history, the network edge accommodating the most frequently used devices during the optimization period is extracted, and the processing of the cloud server in the cloud with the least delay with the extracted network edge. A resource allocation processing unit that deploys the function and secures the resource size required for the processing function,
A device cooperation server characterized by being equipped with.
クラウドレイヤ、ネットワークレイヤ、デバイスレイヤの3層から、リソースを選択してサービスを提供させるデバイス連携サーバであって、
前記サービスの提供に際して、利用するリソースを決定するために設けられる所定の試用期間を示す最適化期間において、前記デバイスレイヤに属する各デバイスの前記サービスに関する利用履歴を収集する利用履歴収集部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用されたデバイスが属するエリアのゲートウェイ、または、当該ゲートウェイに接続される前記ネットワークレイヤのネットワークエッジを、前記サービスに関する機能の配置先として決定する機能配置先決定部と、
前記サービスに関する機能を、当該決定したゲートウェイまたはネットワークエッジに配信する機能配信部と、
収集された前記利用履歴を参照し、前記最適化期間中に利用頻度が最も多いデバイスを収容するネットワークエッジを抽出し、前記抽出したネットワークエッジとの間の遅延が最も少ないクラウドのクラウドサーバの処理機能をデプロイし、当該処理機能に必要なリソースサイズを確保するリソース確保処理部と、を備え、
前記クラウドレイヤは、GPUとCPUのヘテロデバイスを備えるヘテロクラウドにより構成されており、
前記クラウドサーバにデプロイする処理機能の一部である特定処理を前記GPUにオフロードするオフロード設定部をさらに備え、
前記オフロード設定部は、遺伝的アルゴリズムに基づき、
前記デプロイする処理機能を実現するアプリケーションのソースコードを分析し、前記GPUの並列可否を試行する繰り返し処理の文の数から遺伝子長を定めて、所定の個体数の遺伝子を作成し、
前記繰り返し処理の文について、前記GPUで並列処理するか、または、前記GPUで並列処理しないかを、遺伝子値として前記遺伝子に該当する前記ソースコードに割り当て、検証用クラウドサーバにデプロイすることにより性能測定を行い、
前記性能測定の結果に基づき、各遺伝子の適合度を設定し、
設定した適合度の値が高い遺伝子を所定の個体数選択し、
所定の交叉率で、選択された個体間において一部の遺伝子である一点で交換し、子の個体を作成し、
所定の突然変異率で、当該作成した個体の遺伝子の各遺伝子値を変更し、
前記遺伝的アルゴリズムの処理を、所定の世代数繰り返し、最高適合度に該当するソースコードを解として算出し、前記クラウドサーバにデプロイさせること
を特徴とするデバイス連携サーバ。
It is a device cooperation server that selects resources from the three layers of cloud layer, network layer, and device layer to provide services.
A usage history collection unit that collects usage history related to the service of each device belonging to the device layer in an optimization period indicating a predetermined trial period provided to determine resources to be used when providing the service.
With reference to the collected usage history, the gateway in the area to which the device used during the optimization period belongs or the network edge of the network layer connected to the gateway is set as the placement destination of the function related to the service. Function placement destination decision unit to decide, and
A function distribution unit that distributes functions related to the service to the determined gateway or network edge, and
With reference to the collected usage history, the network edge accommodating the most frequently used devices during the optimization period is extracted, and the processing of the cloud server in the cloud with the least delay with the extracted network edge. It is equipped with a resource allocation processing unit that deploys the function and secures the resource size required for the processing function.
The cloud layer is composed of a hetero cloud including a hetero device of GPU and CPU.
Further provided with an offload setting unit that offloads specific processing that is a part of the processing function deployed on the cloud server to the GPU.
The offload setting unit is based on a genetic algorithm.
The source code of the application that realizes the processing function to be deployed is analyzed, the gene length is determined from the number of repetitive processing sentences that try to parallelize the GPU, and a predetermined number of genes are created.
Performance by assigning whether to perform parallel processing on the GPU or not in parallel processing on the GPU to the source code corresponding to the gene as a gene value and deploying to the verification cloud server for the statement of the iterative processing. Make measurements and
Based on the results of the performance measurement, the goodness of fit of each gene is set.
Select a predetermined number of genes with a high goodness-of-fit value, and select them.
At a predetermined crossover rate, some genes are exchanged between selected individuals at one point to create offspring individuals.
By changing each gene value of the gene of the created individual at a predetermined mutation rate,
Wherein the processing of the genetic algorithm, repeatedly a predetermined number of generations, and calculates the source code corresponding to the highest matching degree as the solution, features and to Lud vice linking server that is deployed in the cloud server.
コンピュータを、請求項1乃至請求項のいずれか1項に記載のデバイス連携サーバとして機能させるためのデバイス連携プログラム。 A device cooperation program for causing a computer to function as the device cooperation server according to any one of claims 1 to 6.
JP2017174254A 2017-09-11 2017-09-11 Device linkage server and device linkage program Active JP6900853B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017174254A JP6900853B2 (en) 2017-09-11 2017-09-11 Device linkage server and device linkage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017174254A JP6900853B2 (en) 2017-09-11 2017-09-11 Device linkage server and device linkage program

Publications (2)

Publication Number Publication Date
JP2019049905A JP2019049905A (en) 2019-03-28
JP6900853B2 true JP6900853B2 (en) 2021-07-07

Family

ID=65906284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017174254A Active JP6900853B2 (en) 2017-09-11 2017-09-11 Device linkage server and device linkage program

Country Status (1)

Country Link
JP (1) JP6900853B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102391506B1 (en) * 2019-10-14 2022-04-28 주식회사 엘지유플러스 Apparatus control management system and control method thereof
EP4060506B1 (en) 2019-11-15 2024-05-22 Mitsubishi Electric Corporation Edge device linking system, edge device linking method, and program
US20220413834A1 (en) * 2019-11-29 2022-12-29 Nippon Telegraph And Telephone Corporation Software placement system, software placement device, software placement method, base computer and program
US11240340B2 (en) * 2020-05-12 2022-02-01 International Business Machines Corporation Optimized deployment of analytic models in an edge topology
CN116261720B (en) * 2020-10-12 2025-02-14 日本电信电话株式会社 Uninstall server, uninstall control method and uninstall program
JP7544142B2 (en) * 2020-11-12 2024-09-03 日本電信電話株式会社 OFFLOAD SERVER, OFFLOAD CONTROL METHOD, AND OFFLOAD PROGRAM
US12238184B2 (en) 2022-09-29 2025-02-25 Rakuten Mobile, Inc. Network management for executing a service using a plurality of entities
JP2025092964A (en) * 2023-12-11 2025-06-23 トヨタ自動車株式会社 Monitoring service management method and management system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155324A (en) * 1997-07-31 1999-02-26 Fujitsu Ltd Computer network communication system
US20070297344A1 (en) * 2006-06-21 2007-12-27 Lockheed Martin Corporation System for determining an optimal arrangement of servers in a mobile network

Also Published As

Publication number Publication date
JP2019049905A (en) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6900853B2 (en) Device linkage server and device linkage program
Arulkumar et al. A novel cloud-assisted framework for consumer internet of things based on lanner swarm optimization algorithm in smart healthcare systems
Rajavel et al. IoT-based smart healthcare video surveillance system using edge computing
US11595269B1 (en) Identifying upgrades to an edge network by artificial intelligence
Xu et al. Edge video analytics: A survey on applications, systems and enabling techniques
CN102576317B (en) Method for supporting service setting
US11048444B2 (en) Grouping devices as a virtual device for providing better quality of device data
CN110597719B (en) A kind of image clustering method, device and medium for adaptation test
Ateya et al. Energy efficient offloading scheme for MEC-based augmented reality system
Rani et al. Blockchain-based IoT enabled health monitoring system: P. Rani et al.
Jain et al. An edge computing paradigm for time-sensitive applications
WO2022258149A1 (en) User device, server device, method and system for privacy preserving model training
KR20180028004A (en) Method and apparatus for analyzing and processing data stream in environment where worker nodes are distributed, and method and apparatus for managing task
US20210219219A1 (en) System and method for assigning dynamic operation of devices in a communication network
CN114073112A (en) Cognitively controlling data transfer
US20220067450A1 (en) Determining system performance without ground truth
Li et al. Research on QoS service composition based on coevolutionary genetic algorithm: Y. Li et al.
Shao et al. IoT‐pi: a machine learning‐based lightweight framework for cost‐effective distributed computing using IoT
CN109416688A (en) Method and system for flexible high performance structured data processing
JP2020136894A (en) Prediction device, prediction method, and program
US10715407B2 (en) Dispatcher for adaptive data collection
Čegan et al. Webalyt: Open web analytics platform
Zhang et al. Novas: Tackling online dynamic video analytics with service adaptation at mobile edge servers
JP2022067642A (en) Computer systems, computer programs and methods for identifying and prioritizing refactorings to improve microservice identification (methods and systems for identifying and prioritizing refactorings to improve microservice identification).
CN114067149A (en) Internet service providing method and device and computer equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210531

R150 Certificate of patent or registration of utility model

Ref document number: 6900853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350