JP7035606B2 - エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム - Google Patents

エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム Download PDF

Info

Publication number
JP7035606B2
JP7035606B2 JP2018028585A JP2018028585A JP7035606B2 JP 7035606 B2 JP7035606 B2 JP 7035606B2 JP 2018028585 A JP2018028585 A JP 2018028585A JP 2018028585 A JP2018028585 A JP 2018028585A JP 7035606 B2 JP7035606 B2 JP 7035606B2
Authority
JP
Japan
Prior art keywords
model
edge
edge server
division
server
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
JP2018028585A
Other languages
English (en)
Other versions
JP2019144864A (ja
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2018028585A priority Critical patent/JP7035606B2/ja
Priority to US16/281,754 priority patent/US20190260827A1/en
Publication of JP2019144864A publication Critical patent/JP2019144864A/ja
Application granted granted Critical
Publication of JP7035606B2 publication Critical patent/JP7035606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はエッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラムに関する。
近年、IoT(Internet of Things)技術の活用により様々なシステムが構築されている。これらのシステムでは、クラウドコンピューティングを用いて様々なデバイス(スマートフォン、タブレット端末、各種センサ等)のデータを収集し処理している。しかしながら、データ通信量の増大、デバイスとの通信遅延などの課題があり、これらの課題を解決する技術としてエッジコンピューティングが注目されている。
エッジコンピューティングとは、通信負荷や遅延の発生を軽減するために、小規模のエッジサーバをデバイスに近い場所に分散配置し、クラウドで行われていた処理を各エッジサーバで実施する技術のことである。通常、エッジサーバ上にはデバイスから取得したデータや、データ解析のための機械学習による学習済みモデルが格納される。
エッジコンピューティングに関連する技術として、特許文献1に記載された技術がある。これはユーザ情報を分割して複数の分割情報を生成し、エッジサーバを含んだネットワークシステムの状態変化に追従してユーザ情報の保存先を決定する技術である。また、分割に関連する技術として、特許文献2に記載された技術がある。これは、プログラムを分割して、並列実行する技術である。
国際公開第2016/043120号 特開2010-009495号公報
ところで、エッジコンピューティングでは即時性が求められるサービスを提供するための処理又は他のシステムとの連携が要求されるサービスを提供するための処理が実施される等のさまざまな要因により、接続された装置の配置や構成が変化する。このため、データ解析のためのモデルは、環境に応じて適切に分散してエッジサーバに割り当てられる必要がある。
特許文献1に記載された技術は、単純なデータの分割保存についての技術であり、学習済みモデルのようなプログラムの適切な割り当てについては扱っていない。また、特許文献2に記載された技術は、プログラムの分割に関する技術ではあるものの、単一マシン内で、分割されたプログラムを実行する技術であり、エッジコンピューティングへの適用は容易ではない。
したがって、エッジコンピューティングシステムにおいて、エッジサーバにプログラム処理を適切に割り当てる技術が依然として求められている。そこで、本明細書に開示される実施形態が達成しようとする目的の1つは、エッジコンピューティングシステムにおいて、エッジサーバにプログラム処理を適切に割り当てることができるエッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラムを提供することにある。
第1の態様にかかるエッジコンピューティングシステムは、バックエンドサーバと、複数のエッジサーバとを含み、前記バックエンドサーバは、入力データに対して複数の処理ステップを含む演算を行うプログラムであるモデルを分割モデルへと分割するモデル分割部と、前記分割モデルのそれぞれを、1以上の前記エッジサーバに割り振る分割モデル割り振り部と、同一の前記分割モデルが割り振られた複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に前記分割モデルを実行するかを示す優先度情報を作成する優先度作成部と、前記分割モデル割り振り部による割り振りに基づいて、前記分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルの割り振り先を示す情報である転送先情報と、前記優先度情報とを前記エッジサーバに送信する分割情報送信部とを有し、前記エッジサーバのそれぞれは、前記入力データを送信する1以上のデバイスと通信接続しており、前記バックエンドサーバから前記分割モデル、前記転送先情報、及び前記優先度情報を取得する分割情報取得部と、通信接続されているデバイス数を管理する管理部と、前記分割モデルを用いた演算を実行する演算処理部と、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに、前記演算処理部の演算結果を転送する演算結果転送部とを有し、前記管理部は、前記デバイス数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する。
第2の態様にかかるエッジサーバは、複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信する1以上のデバイスと通信接続しており、前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得する分割情報取得部と、通信接続されているデバイス数を管理する管理部と、前記分割モデルを用いた演算を実行する演算処理部と、前記演算処理部の演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する演算結果転送部とを有し、前記管理部は、前記デバイス数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する。
第3の態様にかかるシステム制御方法では、複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理し、前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得し、前記分割モデルを用いた演算を実行し、演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送し、前記接続数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する。
第4の態様にかかるプログラムは、複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理する管理ステップと、前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得する取得ステップと、前記分割モデルを用いた演算を実行する演算ステップと、演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する転送ステップと、前記接続数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する要求ステップとをコンピュータに実行させる。
上述の態様によれば、エッジコンピューティングシステムにおいて、エッジサーバにプログラム処理を適切に割り当てることができるエッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラムを提供することができる。
実施形態の概要にかかるエッジコンピューティングシステムの構成の一例を示すブロック図である。 実施の形態にかかるエッジコンピューティングシステムの構成の一例を示すブロック図である。 実施の形態にかかるバックエンドサーバ及びエッジサーバのハードウェア構成の一例を示すブロック図である。 実施の形態にかかるバックエンドサーバの機能構成の一例を示すブロック図である。 モデルによるデータ解析処理の概要を示す模式図である。 実施の形態にかかるバックエンドサーバにおける動作の一例を示すフローチャートである。 分割モデル管理情報の一例を示す図である。 エッジサーバ管理用情報の一例を示す図である。 開始分割モデル情報の一例を示す図である。 割り振りリストの一例を示す図である。 転送先リストの一例を示す図である。 実施の形態にかかるエッジサーバの機能構成の一例を示すブロック図である。 実施の形態にかかるエッジサーバにおけるデータ解析に関する動作の一例を示すフローチャートである。 実施の形態にかかるエッジサーバにおけるデータ解析に関する動作の一例を示すフローチャートである。 転送データの一例を示す図である。 転送優先度の変更動作の一例を示すフローチャートである。
<実施形態の概要>
実施形態の詳細な説明に先立って、実施形態の概要を説明する。
図1は、実施形態の概要にかかるエッジコンピューティングシステム1の構成の一例を示すブロック図である。エッジコンピューティングシステム1は、バックエンドサーバ2と、バックエンドサーバ2と通信可能な複数のエッジサーバ3を含む。エッジサーバ3のそれぞれは、データを送信する1以上のデバイス(図1において図示せず)と通信接続している。
エッジコンピューティングシステム1は、入力データに対してモデルを用いた演算を行うシステムである。このモデルは、上記デバイスにより送信されたデータを入力データとし、この入力データに対して複数の処理ステップを含む演算を行うプログラムである。モデルは、例えば、機械学習などにより学習されたモデルを含んでもよい。
エッジコンピューティングシステム1は、モデルによる演算を、複数のエッジサーバ3において分散して実行する。例えば、エッジコンピューティングシステム1において、ある処理ステップについて第1のエッジサーバ3が演算を行い、その演算結果を用いて、第2のエッジサーバ3が次の処理ステップの演算を行う。このようにして、全ての処理ステップの演算が実行される。つまり、各エッジサーバ3がモデルの一部分の処理ステップを実行することで、システム全体でモデル全体の演算を実行する。
バックエンドサーバ2は、モデル分割部21と、分割モデル割り振り部22と、優先度作成部23と、分割情報送信部24とを有する。
モデル分割部21は、上述のモデルを分割モデルへと分割する。ここで、分割モデルとは、分割により細分化された部分的なモデルである。
分割モデル割り振り部22は、分割モデルのそれぞれを、1以上のエッジサーバ3に割り振る。すなわち、分割モデル割り振り部22は、分割モデルによる演算をどのエッジサーバ3が担当するかを決定する。なお、同一の分割モデルが、複数のエッジサーバ3に割り振られた場合、いずれか1つのエッジサーバ3がこの分割モデルによる演算を実行すればよい。
優先度作成部23は、同一の分割モデルが割り振られた複数のエッジサーバ3のうちいずれのエッジサーバ3が優先的に当該分割モデルを実行するかを示す優先度情報を作成する。
分割情報送信部24は、分割モデル割り振り部22による割り振りに基づいて、分割モデルと、当該分割モデルの次の処理ステップを含む分割モデルの割り振り先を示す情報である転送先情報と、優先度情報とをエッジサーバ3に送信する。転送先情報は、一連の処理ステップの処理を行うために、分割モデルによる演算結果をどのエッジサーバ3に転送すべきかを示す情報とも言える。すなわち、転送先情報は、どのエッジサーバ3が後続の処理ステップを演算する可能性があるかを示す情報である。
各エッジサーバ3は、分割情報取得部31と、管理部32と、演算処理部33と、演算結果転送部34とを有する。
分割情報取得部31は、バックエンドサーバ2から、分割モデル、転送先情報、及び優先度情報を取得する。
管理部32は、エッジサーバ3と通信接続されているデバイス数を管理する。なお、管理部32は、デバイス数に限らず、エッジサーバ3のリソース状態などをさらに管理してもよい。
演算処理部33は、バックエンドサーバ2から取得した分割モデルを用いた演算を実行する。
演算結果転送部34は、転送先情報及び優先度情報に従って特定される他のエッジサーバ3に、演算処理部33の演算結果を転送する。これにより、後続の処理ステップが他のエッジサーバ3において実行される。なお、上述の通り、同一の分割モデルが複数のエッジサーバ3に割り振られる場合がある。この場合、優先度情報によりいずれかのエッジサーバ3により当該分割モデルによる演算が実行される。このため、演算結果転送部34は、転送先情報及び優先度情報に従って、転送先を特定する。
ここで、管理部32は、エッジサーバ3に通信接続されたデバイス数と所定の閾値とを比較し、比較結果に応じて優先度情報の更新を他のエッジサーバ3に要求する。具体的には、例えば、管理部32は、デバイス数が所定の閾値を超えている場合、自装置(すなわち、デバイス数が所定の閾値を超えているエッジサーバ3)の優先度を下げるよう要求する。接続しているデバイス数が多いほど、エッジサーバ3にデバイスから送信されるデータ量が増えるため、処理負荷が大きくなる。このため、優先度情報の更新を行うことで、あるエッジサーバ3により実行された処理ステップの後続の処理ステップを、処理負荷が大きくなっているエッジサーバ3が実行することを回避することができる。したがって、エッジコンピューティングシステム1によれば、システムの環境に応じて、エッジサーバ3にプログラム処理を適切に割り当てることができる。
<実施の形態の詳細>
次に、実施の形態の詳細について説明する。図2は、実施の形態にかかるエッジコンピューティングシステム100の構成の一例を示すブロック図である。図2に示すように、エッジコンピューティングシステム100は、バックエンドサーバ200と、複数のエッジサーバ300と、複数のデバイス400とを含む。バックエンドサーバ200は、図1のバックエンドサーバ2に対応しており、エッジサーバ300は、図1のエッジサーバ3に対応している。
バックエンドサーバ200は、WAN(Wide Area Network)又はインターネットなどのネットワーク500を介して、複数のエッジサーバ300と接続されており、エッジサーバ300を管理する。各エッジサーバ300は、1以上のデバイス400と有線又は無線により通信可能に接続している。なお、エッジサーバ300とデバイス400の接続形態は、例えば、デバイスが備える通信機能に従った接続形態である。エッジサーバ300は、後述するように、分割モデルによる演算を行う装置である。各エッジサーバ300は、相互に、有線又は無線により相互に通信可能である。デバイス400は、各種センサ、アクチュエータ、又はスマートフォンなどのデバイスであって、処理対象のデータを取得する。デバイス数及び種類は、エッジサーバ300ごとに様々である。
以下、本実施の形態で主要な構成要素であるバックエンドサーバ200及びエッジサーバ300について説明する。
図3は、バックエンドサーバ200及びエッジサーバ300のハードウェア構成の一例を示すブロック図である。図3に示すように、バックエンドサーバ200及びエッジサーバ300は、それぞれ、例えば、ネットワークインタフェース50、メモリ51、及びプロセッサ52を含む。
ネットワークインタフェース50は、他の装置と通信するために使用される。ネットワークインタフェース50は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。
メモリ51は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。また、バックエンドサーバ200及びエッジサーバ300は、メモリ51の他にハードディスクなどの記憶装置を有してもよい。
メモリ51は、プロセッサ52により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)などを格納するために使用される。
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
プロセッサ52は、メモリ51からソフトウェア(コンピュータプログラム)を読み出して実行することで、後述するバックエンドサーバ200の各種処理又はエッジサーバ300の各種処理を行う。このように、バックエンドサーバ200及びエッジサーバ300は、コンピュータとしての機能を備えている。プロセッサ52は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ52は、複数のプロセッサを含んでもよい。
メモリ51又は記憶装置は、データ保管部206又はデータ保管部302として利用されてもよい。
なお、デバイス400も図3に示した構成と同様のハードウェア構成を備えており、コンピュータとしての機能を有する。
図4は、バックエンドサーバ200の機能構成の一例を示すブロック図である。バックエンドサーバ200は、図4に示すように、モデル分割部201と、分割モデル暗号化部202と、分割モデル割り振り部203と、転送先リスト作成部204と、エッジ通信部205と、データ保管部206とを有する。
モデル分割部201は、図1のモデル分割部21に相当しており、入力データに対して複数の処理ステップを含む演算を行うプログラムであるモデルを分割モデルへと分割する。モデル分割部201は、データ保管部206に記憶された分割前のモデルを参照し、このモデルを分割して、分割モデルを生成する。
ここで、モデルの分割について説明する。図5は、モデルによるデータ解析処理の概要を示す模式図である。モデルは、元データから解析対象の情報を抽出し、抽出した情報に対し解析処理を行う。ここで、元データは、デバイス400からエッジサーバ300に送信されるデータであり、入力データとも称される。
解析処理には、例えば、機械学習などにより予め学習されたモデル(学習済みモデルと称すこととする)が用いられる。すなわち、図5に示すように、本実施の形態におけるモデルによるデータ解析処理では、元データから抽出される情報を学習済みモデルの入力とし、中間処理(解析処理)を行った結果として、元データを加工した出力が得られる。
元データからの解析対象の情報の抽出、及び学習済みモデルの入力から出力を得るための中間処理は、それぞれ独立した分割モデルとして表現できる。元データから情報を抽出する分割モデルをM(1)、N-1回の中間処理を行う場合の各中間処理の分割モデルをM(2)~M(N)とすると、元データに対し、M(1)~M(N)の分割モデルの演算を実行することで、最終的な出力を得られることになる。本実施の形態では、このように、モデルをM(1)~M(N)の分割モデルへと分割する。そして、各分割モデルをエッジサーバ300に割り振り、モデル全体の処理を複数のエッジサーバ300による処理の引き継ぎにより実現する。なお、学習済みモデルはバックエンドサーバ200によって予め作成されてもよい。すなわち、モデルの学習処理が、バックエンドサーバ200により行われてもよい。
分割モデル暗号化部202は、モデル分割部201による分割により得られた分割モデルを暗号化する。なお、分割モデル暗号化部202は、復号に必要となる復号鍵が分割モデル毎に異なるように暗号化を行う。
分割モデル割り振り部203は、図1の分割モデル割り振り部22に相当しており、モデル分割部201で生成された分割モデルをエッジサーバ300に割り振る。すなわち、分割モデル割り振り部203は、分割モデルのそれぞれを、1以上のエッジサーバ300に割り振る。なお、分割モデル割り振り部203は、一部の分割モデル又は全ての分割モデルについて、複数のエッジサーバ300に割り振ってもよい。
モデルは、特定の元データ(入力データ)を解析対象とするため、この特定の元データを送信するデバイス400と対応づけることができる。あるデバイス400に対応づけられたモデルは、複数種類存在する可能性もある。バックエンドサーバ200はエッジサーバ300が接続しているデバイス400についての情報を有するため、バックエンドサーバ200はエッジサーバ300とデバイス400との対応付けが可能である。すなわち、バックエンドサーバ200は、あるモデルに対応づけられた元データを有するエッジサーバ300がどれであるかを確認することができる。分割モデル割り振り部203は、モデルに入力すべき元データを有するエッジサーバ300についての情報、及びエッジサーバ300に接続しているデバイス400の数などに基づいて、割り振りを決定する。なお、具体的な割り振りの決定方法については、後述する。
転送先リスト作成部204は、分割モデル割り振り部203で決定した分割モデルの割り振りに従い、転送先リストを作成する。ここで、転送先リストは、上述の転送先情報及び優先度情報を含むリストである。すなわち、転送先リスト作成部204は、図1の優先度作成部23に相当する。
エッジ通信部205は、ネットワーク500を介して、エッジサーバ300と通信を行う。エッジ通信部205は、例えば、分割モデル、分割モデルの復号に必要とされる復号鍵、及び転送先リストなどをエッジサーバ300に送信する。エッジ通信部205は、図1の分割情報送信部24に相当する。また、エッジ通信部205は、エッジサーバ300から送信された情報を取得する。
データ保管部206は、バックエンドサーバ200における処理で必要となる各種データを記憶する。データ保管部206は、例えば、分割前のモデル、エッジリスト、エッジサーバ管理用情報、分割モデル、分割モデル管理情報、開始分割モデル情報、割り振りリスト、転送先リストなどを記憶する。
なお、エッジリストとは、エッジコンピューティングシステム100を構成する全てのエッジサーバ300のリストである。また、エッジサーバ管理用情報とは、エッジサーバ300と当該エッジサーバ300と接続しているデバイス400との対応関係を示す情報である(図8参照)。分割モデル管理情報とは、分割モデルの順序関係及び分割モデルと復号鍵との対応関係をモデル毎に示した情報である(図7参照)。開始分割モデル情報とは、元データ(入力データ)が入力される分割モデル(すなわち、M(1))が、どのデバイス400から送信されるデータのデータ種別に対応しているかを示す情報である(図9参照)。割り振りリストとは、各分割モデルの振り分け先(振り分け先のエッジサーバ300の識別情報)を示した情報である(図10参照)。
次に、バックエンドサーバ200の動作について説明する。図6は、バックエンドサーバ200における動作の一例を示すフローチャートである。以下、図6に沿って、バックエンドサーバ200の動作を説明する。
ステップ100(S100)において、モデル分割部201が、データ保管部206に保管されているモデルを構成する分割する。すなわち、モデル分割部201が、分割モデルをM(1)~M(N)を生成する。また、モデル分割部201は、分割モデル間の順序関係を、分割モデル管理情報としてデータ保管部206に保管する(図7参照)。すなわち、モデル分割部201は、分割モデルM(n)とM(n)の次に実行されるべき分割モデル(すなわち、分割モデルM(n+1))の対応情報を分割モデル管理情報としてデータ保管部206に保管する。なお、nは、1以上N未満の整数である。
次に、ステップ101(S101)において、分割モデル暗号化部202が分割モデルごとに暗号化を施し、復号鍵の生成を行う。分割モデル暗号化部202は、暗号化した分割モデル及び復号鍵をデータ保管部206に格納する。また、分割モデル暗号化部202は分割モデルと鍵の対応関係を分割モデル管理情報に追加する。
ステップ100及びステップ101による処理を経て生成された分割モデル管理情報は例えば図7のような形式の情報となる。なお、図7では、モデルXについての分割モデルの順序関係及び鍵情報のみが示されているが、モデルが複数存在する場合には、モデルX以外のモデルについても同様に分割モデル管理情報が作成される。
次に、ステップ102(S102)において、エッジ通信部205が、エッジサーバ300と当該エッジサーバ300に接続しているデバイス400との対応情報と、各デバイス400から送信されるデータ種別を示す情報とを、各エッジサーバ300から取得する。エッジ通信部205は、エッジサーバ300とデバイス400の対応情報を、エッジサーバ管理用情報としてデータ保管部206に格納する。データ保管部206に格納されたエッジサーバ管理用情報は、例えば図8のような形式の情報となる。また、エッジ通信部205は、ステップ102において、バックエンドサーバ200に情報を送信した全てのエッジサーバ300の識別情報をエッジリストとしてデータ保管部206に保管する。また、さらに、エッジ通信部205は、ステップ102で得られた情報及びステップ100の分割結果に基づいて作成される開始分割モデル情報をデータ保管部206に格納する。データ保管部206に格納された開始分割モデル情報は、例えば図9のような形式の情報となる。
次に、ステップ103(S103)において、分割モデル割り振り部203が、データ保管部206の格納されている情報に基づいて、各分割モデルの割り振り先を決定する。ここで、分割モデル割り振り部203は、例えば、以下のルールに従って行う。なお、分割モデル割り振り部203は、以下に示すルール1からルール3のうち、一部のルールに従って割り振りを行ってもよいし、全てのルールに従って割り振りを行ってもよい。
<ルール1>元データから解析対象のデータを抽出する分割モデル(すなわち、M(1))は、当該元データを送信するデバイス400と接続する全てのエッジサーバ300に割り振る。
このように、分割モデル割り振り部203は、元データを送信するデバイス400と通信接続しているエッジサーバ300に、当該元データの入力を必要とする分割モデルを割り振る。
これにより、元データをエッジサーバ300間で転送することによる通信負荷を避けることができる。
<ルール2>接続するデバイス400の数が多いエッジサーバ300に対しては割り振る分割モデルの数を少なくする。
すなわち、例えば、分割モデル割り振り部203は、接続数が所定の閾値を超えるエッジサーバ300に対して割り振る分割モデルの数を所定数以下とする。このように、分割モデル割り振り部203は、エッジサーバ300毎のデバイス数に応じた数の分割モデルをエッジサーバ300に割り振る。
これにより、接続デバイス数が多いために元データからの解析対象データの抽出処理の負荷が大きいエッジサーバ300に、処理が集中することを避けることができる。
<ルール3>連続した分割モデルM(n)、M(n+1)を同じエッジサーバ300に割り振らない。
このように、分割モデル割り振り部203は、第1の分割モデルと第2の分割モデルを別のエッジサーバ300に割り振る。ここで、第2の分割モデルは、第1の分割モデルの次の処理ステップを含む分割モデルである。
このようにすることで、エッジサーバ300が記憶する情報を不正に取得された場合に、モデルについての情報の漏洩による被害を、連続した分割モデルが同一エッジサーバ300に記憶されている場合に比べ、低減することができる。
ルール2及びルール3に従った割り振りの一例として、連続した分割モデルを割り振る際のリスク値が用いられてもよい。リスク値を用いた割り振り方法では、連続した分割モデルが同一のエッジサーバ300に割り振られるほど、当該エッジサーバ300に設定されるリスク値を高くする。分割モデル割り振り部203は、リスク値と接続デバイス数を考慮して割り振りを行うことで、分割モデルの分散を行う。
例えば、分割モデル割り振り部203は、M(n)を割り振られたエッジサーバ300(エッジサーバAと呼ぶこととする)に対しM(n+1)を割り振る際のリスク値を1に設定する。また、M(n-1)とM(n)を割り振られたエッジサーバ300(エッジサーバBと呼ぶこととする)に対しM(n+1)を割り振るリスク値を2に設定する。この場合、分割モデル割り振り部203は、エッジサーバAとエッジサーバBの接続デバイス数の差が所定の閾値以下である場合、リスク値が低いエッジサーバAにM(n+1)を割り振る。これに対し、エッジサーバAの接続デバイス数がエッジサーバBの接続デバイス数よりも所定値以上大きい場合、エッジサーバAにおける元データからの抽出処理の負荷が大きいことが想定される。このため、分割モデル割り振り部203は、エッジサーバBにM(n+1)を割り振る。また、あるエッジサーバ300のリスク値が所定の閾値より高い場合、そのエッジサーバ300の接続デバイス数によらず、そのエッジサーバ300には連続した分割モデルを割り振らないようにする。
分割モデル割り振り部203は、上記のルールに従って割り振りを行って得られた、分割モデルとエッジサーバ300との対応表を割り振りリストとしてデータ保管部206に保管する。ステップ103において作成される割り振りリストは、例えば図10のような形式の情報となる。
次に、ステップ104(S104)において、転送先リスト作成部204は、転送先リストを作成する。具体的には、以下のように転送先リストが作成される。
上記ルール3に従って分割モデルの割り振り先が決定された場合、M(n)とM(n+1)は異なるエッジサーバ300上で実行されることとなる。このため、M(n)による演算結果を、M(n+1)をもつエッジサーバ300に転送する必要がある。そのため、転送先リスト作成部204は、分割モデルM(n)の次の処理ステップを含む分割モデルM(n+1)を有するエッジサーバ300の情報を転送先として転送先リストに追加してデータ保管部206に保管する。
また、M(n)による演算結果のデータを受領するエッジサーバ300(すなわち、転送先のエッジサーバ300)は、次に、このデータをどの分割モデルで処理すべきかを認識する必要がある。このため、転送先リスト作成部204はデータ保管部206に保管されている分割モデル管理情報からM(n)の次に実行される分割モデルの情報を抽出し、これを転送先リストに追加してデータ保管部206に保管する。
次に、ステップ105(S105)において、転送先リスト作成部204は、優先度情報を付加することによりステップ104で作成された転送先リストを更新する。すなわち、M(n)による演算結果のデータの転送先を一意にするため、転送先リスト作成部204は、分割モデルの転送先ごとに転送優先度を設定し、データ保管部206に保管されている転送先リストを更新する。なお、転送先リスト作成部204は、接続されているデバイス数が多いほどエッジサーバ300にかかる負荷が高くなることを考慮し、接続されているデバイス数が少ないものほど転送優先度が高くなるように設定する。すなわち、転送先リスト作成部204は、エッジサーバ300毎のデバイス数に応じて、転送優先度を決定する。このようにすることで、負荷が大きいエッジサーバ300に、処理が集中することを避けることができる。ステップ104において作成される転送先リストは、例えば図11のような形式の情報となる。
次に、ステップ106(S106)において、エッジ通信部205は、エッジサーバ300に対し、分割モデル、転送先リスト、開始分割モデル情報、エッジリストを送信する。なお、送信される分割モデルは、上述の通り、暗号化されている。バックエンドサーバ200から送信されたこれらの情報は、エッジサーバ300の後述するバックエンド通信部301により受信される。
次に、ステップ107(S107)において、エッジ通信部205は、エッジサーバ300に対し、ステップ106で送信された分割モデルを復号するための復号鍵を送信する。ただし、転送先としての優先度が最も高いエッジサーバ300以外のエッジサーバ300は、必ずしもステップ106で送信された分割モデルを用いた演算を行うとは限らない。したがって、エッジ通信部205は、優先度の最も高いエッジサーバ300に対して分割モデルの復号鍵を送信し、優先度が最高ではないエッジサーバ300に対しては復号鍵を送信しない。優先度の低いエッジサーバ300には復号鍵を送信されないため、復号鍵が流出する可能性を軽減することができる。なお、エッジ通信部205は、元データが入力される分割モデル(すなわち、M(1))が割り振られているエッジサーバ300にも、復号鍵を送信する。
次に、エッジサーバ300について説明する。
図12は、エッジサーバ300の機能構成の一例を示すブロック図である。各エッジサーバ300は、図12に示すように、バックエンド通信部301と、データ保管部302と、エッジ通信部303と、演算処理部304と、デバイス通信部305と、転送先リスト管理部306と、リソース管理部307と、制御部308とを有する。
バックエンド通信部301は、ネットワーク500を介して、バックエンドサーバ200と通信を行う。バックエンド通信部301は、例えば、分割モデル、分割モデルの復号鍵、転送先リストなどを受信する。したがって、バックエンド通信部301は、図1の分割情報取得部31に相当する。
また、バックエンド通信部301は、例えば、エッジサーバ300に接続されているデバイス400に関する情報(デバイス情報とも称す)を送信する。なお、デバイス情報には、例えば、エッジサーバ300と当該エッジサーバ300に接続しているデバイス400との対応情報、当該エッジサーバ300に接続している各デバイス400から送信されるデータ種別を示す情報、などが含まれる。
データ保管部302は、エッジサーバ300における処理で必要となる各種データを記憶する。データ保管部302は、例えば、デバイス情報、バックエンドサーバ200から受信した情報などを記憶する。なお、後述する演算処理部304は、データ保管部302に格納されている分割モデル及び復号鍵を用いて処理を行う。
エッジ通信部303は、他のエッジサーバ300の通信を行う。エッジ通信部303は、例えば、分割モデルの入出力データなどを送受信する。エッジ通信部303は、図1の演算結果転送部34に相当する。
演算処理部304は、図1の演算処理部33に相当し、デバイス400又は他のエッジサーバ300から受信したデータを、データ保管部302に格納されている分割モデル及び復号鍵を使用して解析する。
デバイス通信部305は、デバイス400との間で、データを送受信する。例えば、デバイス通信部305は、デバイス400から送信されたデータ、すなわち、分割モデルに入力する元データを受信する。
転送先リスト管理部306は、データ保管部302に格納されている転送先リストを管理する。また、転送先リスト管理部306は、転送先リスト内の各エッジサーバ300の転送優先度の更新を行う。
リソース管理部307は、図1の管理部32に相当し、エッジサーバ300のデバイス接続数、リソース使用状況(CPU使用率、メモリ使用率、ディスク容量等)を取得し、デバイス接続数及びリソース使用状況に基づいて、転送優先度の変更を決定する。
制御部308は、エッジサーバ300における上述の各構成要素の処理に関連した種々の制御を行う。
次に、エッジサーバ300の動作について説明する。図13A及び図13Bは、エッジサーバ300におけるデータ解析に関する動作の一例を示すフローチャートである。以下、図13A及び図13Bに沿って、エッジサーバ300におけるデータ解析に関する動作を説明する。
ステップ200(S200)において、デバイス400からデータが送信されると、当該デバイス400に接続されたエッジサーバ300のデバイス通信部305がこのデータを受信する。
次に、ステップ201(S201)において、制御部308はステップ200で受信したデータのデータ種別をもとに、開始分割モデル情報を参照して、使用する分割モデルを決定するとともに、データを演算処理部304に渡す。
次に、ステップ202(S202)において、演算処理部304がデータ保管部302に保存されている分割モデルを使用して演算処理を行う。なお、このとき、演算処理部304は、ステップ201で特定された分割モデルを復号鍵で復号し、復号された分割モデルにより演算を実施する。
次に、ステップ203(S203)において、演算処理部304は、演算処理結果を、次の処理ステップを実行するエッジサーバ300に渡すデータである転送データに含める。
次に、ステップ204(S204)において、転送先リスト管理部306は、データ保管部302に保管されている転送先リストを参照し、ステップ202の演算結果のデータの転送先を確認する。データの転送先情報が存在する場合、ステップ205に移行し、データの転送先情報が存在しない場合、ステップ216又はステップ217に移行する。
ステップ205(S205)において、制御部308が、データ保管部302に保管されている転送先リストを参照し、次に実行されるべき分割モデルの種別を転送データに含める。また、制御部308は、転送先リストを参照し、転送先としての優先度が最も高いエッジサーバ300を転送データの転送先として設定する。
また、制御部308は、自サーバが元データを取得したサーバである場合、すなわち、データの発生源のサーバである場合、転送データにデータ発信源情報として自サーバの情報を含める(ステップ206(S206))。すなわち、データ発信源情報は、いずれのエッジサーバ300において取得された元データに起因した処理結果の転送であるかを示す情報である。なお、元データを取得したサーバが他のエッジサーバ300である場合、ステップ205の後に、ステップ206は行われず、ステップ207へ移行する。このようにして作成された転送データは、例えば図14のような形式の情報となる。
ステップ207(S207)において、エッジ通信部303は、転送先としての優先度が最も高いエッジサーバ300に対し、転送データを送信する。
転送先のエッジサーバ300(すなわち、受信側のエッジサーバ300)は、転送データを受信したら、転送元のエッジサーバ300(すなわち、送信側のエッジサーバ300)に対してデータ受信通知を送信する。このデータ受信通知が転送先から送信されない場合、転送先がネットワークから切断されていたり、電源が切れていたりするなどの理由により、他のエッジサーバ300と通信できない状態であり、転送データを受信できていないことが考えられる。以下、転送データの送信に対しデータ受信通知を返信しないエッジサーバ300を通信不可エッジサーバと称すこととする。
したがって、データ受信通知を受信できない場合、すなわち、転送先から応答がない場合、ステップ208(S208)において、転送元の転送先リスト管理部306は、転送先リストにおいて通信不可エッジサーバの転送優先度を下げる。すなわち、転送先リスト管理部306は、転送先リストの優先度情報を更新する。これにより、通信不可エッジサーバには、転送データを送信しないようにする。
また、ステップ208の後、ステップ209(S209)において、エッジ通信部303は、他のエッジサーバ300も、通信不可エッジサーバへ転送データを送信しないように要求する。このため、エッジ通信部303は、データ保管部302のエッジリストを使用し、エッジリストに登録されているエッジサーバ300に対して、通信不可エッジサーバの転送優先度の変更(具体的には、優先度を下げる変更)を要求する通知を送信する。このように、エッジ通信部303は、転送先から応答がない場合、当該転送先のエッジサーバ300の優先度を転送先リスト(優先度情報)において下げるよう他のエッジサーバ300に要求する。これにより、他のエッジサーバ300による同様の転送の失敗を抑制することができる。
ステップ209の後、ステップ210(S210)において、転送優先度の変更を要求する通知を受信したエッジサーバ300は、通信不可エッジサーバの転送優先度の変更処理を実施する。なお、この変更処理では、後述する図15のステップ302~ステップ304と同様の処理が、通知を受信したエッジサーバ300において行われる。通知を送信したエッジサーバ300では、ステップ209の後、再びステップ204以降の処理が行われる。すなわち、更新された転送リストに基づいて新たに選択されたエッジサーバ300への転送が試みられる。
一方、転送が成功した場合、転送先のエッジサーバ300において、解析のための処理が行われる。以下、転送先のエッジサーバ300の処理の流れを説明する。
まず、ステップ211(S211)において、エッジ通信部303は、転送元に対し、データ受信通知を送信する。
次に、ステップ212(S212)において、制御部308は、受信した転送データから演算処理結果を入力データとして取り出す。
次に、ステップ213(S213)において、制御部308は、受信した転送データに含まれる分割モデル種別を読み取り、使用する分割モデルを決定する。
ところで、分割モデルの実行には復号鍵が必要である。しかしながら、モデル分割時、バックエンドサーバ200は一番転送優先度の高いエッジサーバ300にのみ復号鍵を送信している。このため、ステップ208~ステップ210の処理によって新しく優先度が最高の転送先になったエッジサーバ300は、分割モデルの復号鍵を持っていない可能性がある。この場合、以下のステップ214及びステップ215の処理が行われた後、ステップ202以降の処理が行われる。これに対し、エッジサーバ300が分割モデルの復号鍵を持っている場合、ステップ214及びステップ215の処理がスキップされ、ステップ202以降の処理が行われる。
ステップ213で使用が決定された分割モデルに対する復号鍵がデータ保管部302にない場合、ステップ214(S214)において、バックエンド通信部301は、バックエンドサーバ200に当該分割モデルに対応する復号鍵を送信するよう要求する。その後、ステップ215(S215)において、要求を受信したバックエンドサーバ200のエッジ通信部205から送信された復号鍵をバックエンド通信部301が受信する。
以降、一連の全ての分割モデル(すなわち、M(1)~M(n))の処理が完了するまで、ステップ202からステップ215までの処理が繰り返される。
最後の分割モデル(すなわち、M(N))の処理が完了したら、すなわちデータの転送先情報が存在しなくなると、モデルを用いた解析処理の出力が得られたことになる。このため、ステップ217(S217)において、モデルの出力に応じた処理を実行する。例えば、モデルの出力に基づいて、デバイス400又はバックエンドサーバ200へのフィードバックなどのアクションが実行される。なお、ステップ217の処理は、例えば、当該モデルに入力されたデータの発生源のエッジサーバ300で行われる。このため、当該モデルに入力されたデータの発生源が自サーバでない場合は、データ発生源であるエッジサーバ300に出力を返却する必要がある。したがって、ステップ217の前のステップ216(S216)において、エッジ通信部303は、転送データに含まれるデータ発生源情報を参照して、最終的な演算処理結果を、データ発生源のエッジサーバ300に転送する。
ここで、エッジサーバ300の環境に応じた転送優先度の変更について説明する。エッジサーバ300に対するデバイス400の接続状況は日々変化しうる。このため、いつもエッジサーバ300が転送されてきたデータを処理できる状態にあるとは限らない。本実施の形態では、エッジサーバ300は、各デバイス400から得られた元データに対する処理を行う分割モデル(すなわち、M(1))を実行する必要があるため、接続デバイス数が多くなればその分負荷がかかる。また、処理対象のデータによっては、CPU又はメモリを多く使用することになったり、ディスク上に記憶するデータサイズが大きくなったりすることが考えられる。したがって、解析処理を適切に行うためには、エッジサーバ300の環境に応じて転送優先度を動的に変更することが求められる。
図15は、エッジサーバ300の環境に応じた転送優先度の変更動作の一例を示すフローチャートである。以下、図15に沿って、エッジサーバ300における転送優先度の変更動作を説明する。
ステップ300(S300)において、リソース管理部307は、エッジサーバ300に接続されているデバイス数及びリソース使用状況(CPU使用率、メモリ使用率、ディスク使用率など)を確認する。そして、リソース管理部307は、デバイス数を第1の所定の閾値と比較するとともに、リソース使用率を第2の所定の閾値と比較する。デバイス数又はリソース使用率が閾値を超えていた場合、リソース管理部307は、自サーバの転送優先度を下げてもらうよう要求することを決定する。
すなわち、リソース管理部307は、デバイス数と閾値とを比較し、比較結果に応じて優先度情報の更新を他のエッジサーバ300に要求する。また、リソース管理部307は、自サーバのリソースを管理し、リソースの利用状況に応じて優先度情報の更新を他のエッジサーバ300に要求する。このようにすることにより、自サーバの負荷状態に応じて、自サーバへの転送の発生を制御することができる。すなわち、エッジコンピューティングシステム100において、解析処理の実行をエッジサーバ300に適切に割り当てることができる。
なお、転送優先度を下げてもらうよう要請した後に、閾値を超えていたデバイス数又はリソース使用率が閾値を下回るようになった場合、リソース管理部307は、自サーバの転送優先度を元に戻してもらうよう要求することを決定する。すなわち、リソース管理部307は、自サーバの転送優先度を上げてもらうよう要求する。
ステップ301(S301)において、リソース管理部307の判断を受け、エッジ通信部303はデータ保管部302に保管されているエッジリストを使用し、エッジリストに登録されているエッジサーバ300に対して転送優先度の変更を要求する通知を行う。
ステップ302(S302)において、この通知を他のエッジサーバ300のエッジ通信部303が受信する。
エッジサーバ300によって、保持している分割モデルと転送先リストは異なる。このため、ステップ302で受信した通知の送信元のエッジサーバ300が転送先リストに含まれているかを確認する必要がある。したがって、ステップ303(S303)において、通知を受信したエッジサーバ300の転送先リスト管理部306はデータ保管部302が保持している転送先リストに通知元のエッジサーバ300が含まれているかを確認する。
転送先リストに通知元のエッジサーバ300が含まれている場合、ステップ304(S304)において、転送先リスト管理部306は、通知に従って転送リストの転送優先度を変更する。すなわち、転送先リスト管理部306は、転送先リストにおける優先度情報を更新する。これに対し、転送先リストに通知元のエッジサーバ300が含まれていない場合、通知に対してはアクションを起こさない。
以上、実施の形態にかかるエッジコンピューティングシステム100について説明した。エッジコンピューティングシステム100では、エッジサーバ300の状態に応じて、動的に、優先度の変更が行われる。このため、装置の配置や構成が変化しやすいエッジコンピューティングにおいて、適切に処理を実行することができる。また、バックエンドサーバ200において行われる分割モデルの割り振り及び転送優先度の決定において、各エッジサーバ300の接続デバイス数などが考慮される。この点においても、プログラム処理の適切な分散を可能としている。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、バックエンドサーバ200において、接続するデバイス数に基づいて分割モデルの割り振りが決定された。これに限らず、例えば、エッジサーバ300が取得する元データのデータ種別に応じて分割モデルの割り振りが決定されてもよい。例えば、デバイス400から画像データや音声データなどのサイズの大きいデータを受信するエッジサーバ300に対しては、元データに対する処理を行う分割モデル(すなわち、M(1))以外の分割モデルを割り振らないようにしてもよい。そして、テキストデータなど軽量なデータを受信するエッジサーバ300に対してはより多くの分割モデルを割り振るようにしてもよい。このように、分割モデル割り振り部203は、エッジサーバ300と通信接続しているデバイス400が送信する元データの種別に応じて、当該エッジサーバ300に割り振る分割モデルの数を調整してもよい。このようにすることで、データ種別に起因した処理負荷を考慮した割り振りを実現することができる。なお、データ種別に応じた割り振りは、上記ルール2に代えて行われてもよいし、ルール2と併用されてもよい。また、上記の実施の形態では、エッジサーバ300における動的な優先度の変更は、デバイス数又はリソース使用状況に基づいて行われたが、こられに代えて若しくはこれらとともに、データ種別に応じた優先度の変更が行われてもよい。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
バックエンドサーバと、複数のエッジサーバとを含み、
前記バックエンドサーバは、
入力データに対して複数の処理ステップを含む演算を行うプログラムであるモデルを分割モデルへと分割するモデル分割部と、
前記分割モデルのそれぞれを、1以上の前記エッジサーバに割り振る分割モデル割り振り部と、
同一の前記分割モデルが割り振られた複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に前記分割モデルを実行するかを示す優先度情報を作成する優先度作成部と、
前記分割モデル割り振り部による割り振りに基づいて、前記分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルの割り振り先を示す情報である転送先情報と、前記優先度情報とを前記エッジサーバに送信する分割情報送信部と
を有し、
前記エッジサーバのそれぞれは、
前記入力データを送信する1以上のデバイスと通信接続しており、
前記バックエンドサーバから前記分割モデル、前記転送先情報、及び前記優先度情報を取得する分割情報取得部と、
通信接続されているデバイス数を管理する管理部と、
前記分割モデルを用いた演算を実行する演算処理部と、
前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに、前記演算処理部の演算結果を転送する演算結果転送部と
を有し、
前記管理部は、前記デバイス数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する
エッジコンピューティングシステム。
(付記2)
前記管理部は、さらに、自サーバのリソースを管理し、前記リソースの利用状況に応じて前記優先度情報の更新を他の前記エッジサーバに要求する
付記1に記載のエッジコンピューティングシステム。
(付記3)
前記演算結果転送部は、転送先から応答がない場合、当該転送先の前記エッジサーバの優先度を前記優先度情報において下げるよう他の前記エッジサーバに要求する
付記1又は2に記載のエッジコンピューティングシステム。
(付記4)
前記分割モデル割り振り部は、前記エッジサーバ毎の前記デバイス数に応じた数の前記分割モデルを前記エッジサーバに割り振る
付記1乃至3のいずれか1項に記載のエッジコンピューティングシステム。
(付記5)
前記分割モデル割り振り部は、前記入力データを送信するデバイスと通信接続している前記エッジサーバに、前記入力データの入力を必要とする前記分割モデルを割り振る
付記1乃至4のいずれか1項に記載のエッジコンピューティングシステム。
(付記6)
前記分割モデル割り振り部は、第1の分割モデルと第2の分割モデルを別の前記エッジサーバに割り振り、
前記第2の分割モデルは、前記第1の分割モデルの次の処理ステップを含む前記分割モデルである
付記1乃至5のいずれか1項に記載のエッジコンピューティングシステム。
(付記7)
前記分割モデル割り振り部は、前記エッジサーバと通信接続している前記デバイスが送信する前記入力データの種別に応じて、当該エッジサーバに割り振る前記分割モデルの数を調整する
付記1乃至6のいずれか1項に記載のエッジコンピューティングシステム。
(付記8)
前記優先度作成部は、前記エッジサーバ毎の前記デバイス数に応じて、優先度を決定する
付記1乃至7のいずれか1項に記載のエッジコンピューティングシステム。
(付記9)
複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信する1以上のデバイスと通信接続しており、
前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得する分割情報取得部と、
通信接続されているデバイス数を管理する管理部と、
前記分割モデルを用いた演算を実行する演算処理部と、
前記演算処理部の演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する演算結果転送部と
を有し、
前記管理部は、前記デバイス数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する
エッジサーバ。
(付記10)
前記管理部は、さらに、自サーバのリソースを管理し、前記リソースの利用状況に応じて前記優先度情報の更新を他の前記エッジサーバに要求する
付記9に記載のエッジサーバ。
(付記11)
入力データに対して複数の処理ステップを含む演算を行うプログラムであるモデルを分割モデルへと分割するモデル分割部と、
前記分割モデルのそれぞれを、1以上のエッジサーバに割り振る分割モデル割り振り部と、
同一の前記分割モデルが割り振られた複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に前記分割モデルを実行するかを示す優先度情報を作成する優先度作成部と、
前記分割モデル割り振り部による割り振りに基づいて、前記分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルの割り振り先を示す情報である転送先情報と、前記優先度情報とを前記エッジサーバに送信する分割情報送信部と
を有し、
前記エッジサーバは、前記入力データを送信する1以上のデバイスと通信接続しており、
前記分割モデル割り振り部は、前記エッジサーバ毎の通信接続されているデバイス数に応じた数の前記分割モデルを前記エッジサーバに割り振る
バックエンドサーバ。
(付記12)
前記優先度作成部は、前記エッジサーバ毎の前記デバイス数に応じて、優先度を決定する
付記11に記載のバックエンドサーバ。
(付記13)
複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理し、
前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得し、
前記分割モデルを用いた演算を実行し、
演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送し、
前記接続数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する
システム制御方法。
(付記14)
複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理する管理ステップと、
前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得する取得ステップと、
前記分割モデルを用いた演算を実行する演算ステップと、
演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する転送ステップと、
前記接続数と所定の閾値とを比較し、比較結果に応じて前記優先度情報の更新を他の前記エッジサーバに要求する要求ステップと
をコンピュータに実行させるプログラム。
1、100 エッジコンピューティングシステム
2、200 バックエンドサーバ
3、300 エッジサーバ
21、201 モデル分割部
22、203 分割モデル割り振り部
23 優先度作成部
24 分割情報送信部
31 分割情報取得部
32 管理部
33、304 演算処理部
34 演算結果転送部
50 ネットワークインタフェース
51 メモリ
52 プロセッサ
202 分割モデル暗号化部
204 転送先リスト作成部
205、303 エッジ通信部
206、302 データ保管部
301 バックエンド通信部
305 デバイス通信部
306 転送先リスト管理部
307 リソース管理部
308 制御部
400 デバイス
500 ネットワーク

Claims (9)

  1. バックエンドサーバと、複数のエッジサーバとを含み、
    前記バックエンドサーバは、
    入力データに対して複数の処理ステップを含む演算を行うプログラムであるモデルを分割モデルへと分割するモデル分割部と、
    前記分割モデルのそれぞれを、1以上の前記エッジサーバに割り振る分割モデル割り振り部と、
    同一の前記分割モデルが割り振られた複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に前記分割モデルを実行するかを示す優先度情報を、第1の時点における、エッジサーバ毎の通信接続しているデバイス数に基づいて、作成する優先度作成部と、
    前記分割モデル割り振り部による割り振りに基づいて、前記分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルの割り振り先を示す情報である転送先情報と、前記優先度情報とを前記エッジサーバに送信する分割情報送信部と
    を有し、
    前記エッジサーバのそれぞれは、
    前記入力データを送信する1以上のデバイスと通信接続しており、
    前記バックエンドサーバから前記分割モデル、前記転送先情報、及び前記優先度情報を取得する分割情報取得部と、
    通信接続されているデバイス数を管理する第1の管理部と、
    前記分割モデルを用いた演算を実行する演算処理部と、
    前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに、前記演算処理部の演算結果を転送する演算結果転送部と
    他の前記エッジサーバからの要求に応じて前記優先度情報の更新を行う第2の管理部と
    を有し、
    前記第1の管理部は、前記第1の時点よりも後の第2の時点において自サーバと通信接続している前記デバイス数所定の閾値を超えている場合には、前記優先度情報の更新を転送元の他の前記エッジサーバに要求し、
    転送元の前記エッジサーバの前記演算結果転送部は、前記優先度情報の更新が行われた場合には、前記転送先情報及び更新後の前記優先度情報に従って特定される他の前記エッジサーバに、前記演算処理部の演算結果を転送する
    エッジコンピューティングシステム。
  2. 前記第1の管理部は、さらに、自サーバのリソースを管理し、前記第2の時点における前記リソースの使用率が所定の閾値を超えている場合には、前記優先度情報の更新を転送元の他の前記エッジサーバに要求する
    請求項1に記載のエッジコンピューティングシステム。
  3. 前記演算結果転送部は、転送先から応答がない場合、当該転送先の前記エッジサーバの優先度を前記優先度情報において下げるよう転送元の他の前記エッジサーバに要求する
    請求項1又は2に記載のエッジコンピューティングシステム。
  4. 前記分割モデル割り振り部は、前記エッジサーバ毎の前記デバイス数に応じた数の前記分割モデルを前記エッジサーバに割り振る
    請求項1乃至3のいずれか1項に記載のエッジコンピューティングシステム。
  5. 前記分割モデル割り振り部は、前記入力データを送信するデバイスと通信接続している前記エッジサーバに、前記入力データの入力を必要とする前記分割モデルを割り振る
    請求項1乃至4のいずれか1項に記載のエッジコンピューティングシステム。
  6. 前記分割モデル割り振り部は、第1の分割モデルと第2の分割モデルを別の前記エッジサーバに割り振り、
    前記第2の分割モデルは、前記第1の分割モデルの次の処理ステップを含む前記分割モデルである
    請求項1乃至5のいずれか1項に記載のエッジコンピューティングシステム。
  7. 複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信する1以上のデバイスと通信接続しており、
    前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他のエッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、バックエンドサーバから取得する分割情報取得部と、
    通信接続されているデバイス数を管理する第1の管理部と、
    前記分割モデルを用いた演算を実行する演算処理部と、
    前記演算処理部の演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する演算結果転送部と
    他の前記エッジサーバからの要求に応じて前記優先度情報の更新を行う第2の管理部と
    を有し、
    前記分割情報取得部が取得する前記優先度情報は、第1の時点における、エッジサーバ毎の通信接続しているデバイス数に基づいて作成されており、
    前記第1の管理部は、前記第1の時点よりも後の第2の時点において自サーバと通信接続している前記デバイス数所定の閾値を超えている場合には、前記優先度情報の更新を転送元の他の前記エッジサーバに要求し、
    転送元の前記エッジサーバの前記演算結果転送部は、前記優先度情報の更新が行われた場合には、前記転送先情報及び更新後の前記優先度情報に従って特定される他の前記エッジサーバに、前記演算処理部の演算結果を転送する
    エッジサーバ。
  8. バックエンドサーバと複数のエッジサーバとを含むエッジコンピューティングシステムに含まれるいずれか一つの前記エッジサーバによるシステム制御方法であって、
    複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理し、
    前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他の前記エッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、前記バックエンドサーバから取得し、前記バックエンドサーバから取得される前記優先度情報は、第1の時点における、エッジサーバ毎の通信接続しているデバイス数に基づいて作成されており、
    前記分割モデルを用いた演算を実行し、
    演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送し、
    前記第1の時点よりも後の第2の時点における前記接続数所定の閾値を超えている場合には、前記優先度情報の更新を転送元の他の前記エッジサーバに要求し、
    転送元の前記エッジサーバは、他の前記エッジサーバからの要求に応じて前記優先度情報の更新を行い、前記優先度情報の更新が行われた場合には、前記転送先情報及び更新後の前記優先度情報に従って特定される他の前記エッジサーバに、前記演算結果を転送する
    システム制御方法。
  9. バックエンドサーバと複数のエッジサーバとを含むエッジコンピューティングシステムに含まれるいずれか一つの前記エッジサーバのコンピュータに、
    複数の処理ステップを含む演算を行うプログラムであるモデルに入力するための入力データを送信するデバイスとの接続数を管理する管理ステップと、
    前記モデルを分割した分割モデルと、当該分割モデルの次の処理ステップを含む前記分割モデルを取得する他の前記エッジサーバを示す情報である転送先情報と、同一の前記分割モデルを取得する複数の前記エッジサーバのうちいずれの前記エッジサーバが優先的に当該分割モデルを実行するかを示す優先度情報とを、前記バックエンドサーバから取得する取得ステップと、
    前記分割モデルを用いた演算を実行する演算ステップと、
    演算結果を、前記転送先情報及び前記優先度情報に従って特定される他の前記エッジサーバに転送する転送ステップと、
    第1の時点よりも後の第2の時点における前記接続数所定の閾値を超えている場合には、前記優先度情報の更新を転送元の他の前記エッジサーバに要求する要求ステップと
    他の前記エッジサーバからの要求に応じて前記優先度情報の更新を行う更新ステップと、
    を実行させ
    前記取得ステップで取得する前記優先度情報は、前記第1の時点における、エッジサーバ毎の通信接続しているデバイス数に基づいて作成されており、
    転送元の前記エッジサーバの前記転送ステップでは、前記優先度情報の更新が行われた場合には、前記転送先情報及び更新後の前記優先度情報に従って特定される他の前記エッジサーバに、前記演算結果を転送する
    プログラム。
JP2018028585A 2018-02-21 2018-02-21 エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム Active JP7035606B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018028585A JP7035606B2 (ja) 2018-02-21 2018-02-21 エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム
US16/281,754 US20190260827A1 (en) 2018-02-21 2019-02-21 Edge computing system, edge server, and system control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018028585A JP7035606B2 (ja) 2018-02-21 2018-02-21 エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019144864A JP2019144864A (ja) 2019-08-29
JP7035606B2 true JP7035606B2 (ja) 2022-03-15

Family

ID=67617062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018028585A Active JP7035606B2 (ja) 2018-02-21 2018-02-21 エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US20190260827A1 (ja)
JP (1) JP7035606B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3570160A1 (en) * 2018-05-18 2019-11-20 Siemens Aktiengesellschaft Method and platform for deployment of an industrial application on an edge computing device of a machine tool
TWI729606B (zh) * 2019-12-05 2021-06-01 財團法人資訊工業策進會 用於一邊緣運算網路的負載平衡裝置及方法
CN111866175A (zh) * 2020-08-04 2020-10-30 华北电力大学 边缘计算设备的组网,及其和后端服务器的通信方法
CN111966502A (zh) 2020-09-21 2020-11-20 北京百度网讯科技有限公司 用于调整实例数的方法、装置、电子设备及可读存储介质
CN112383742B (zh) * 2020-09-27 2022-11-22 国网山西省电力公司忻州供电公司 一种基于云计算的用于架空送电工程中的音视频调度方法
KR102434201B1 (ko) * 2020-11-30 2022-08-19 주식회사 두두원 IoT 센서 환경에서 에지 게이트웨이의 이종 무선 기기간 간섭 완화를 위한 연결성 조절 장치 및 그 방법
WO2022138232A1 (ja) * 2020-12-23 2022-06-30 ソニーグループ株式会社 通信装置、通信方法、および通信システム
CN115185669A (zh) * 2021-04-06 2022-10-14 中国移动通信有限公司研究院 一种边缘配置服务器信息处理方法、装置和通信设备
CN113992691B (zh) * 2021-12-24 2022-04-22 苏州浪潮智能科技有限公司 一种边缘计算资源的分配方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186765A (ja) 2001-12-20 2003-07-04 Fuji Xerox Co Ltd ネットワーク接続デバイス、ネットワーク接続デバイス管理システム、ネットワーク接続デバイス管理方法
US20040244006A1 (en) 2003-05-29 2004-12-02 International Business Machines Corporation System and method for balancing a computing load among computing resources in a distributed computing problem
JP2017126238A (ja) 2016-01-15 2017-07-20 日本電気株式会社 システム管理装置、情報処理システム、システム管理方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108595A (ja) * 1991-10-17 1993-04-30 Hitachi Ltd ニユーラルネツトワークの分散学習装置
US7467180B2 (en) * 2003-05-29 2008-12-16 International Business Machines Corporation Automatically segmenting and populating a distributed computing problem
US9866637B2 (en) * 2016-01-11 2018-01-09 Equinix, Inc. Distributed edge processing of internet of things device data in co-location facilities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186765A (ja) 2001-12-20 2003-07-04 Fuji Xerox Co Ltd ネットワーク接続デバイス、ネットワーク接続デバイス管理システム、ネットワーク接続デバイス管理方法
US20040244006A1 (en) 2003-05-29 2004-12-02 International Business Machines Corporation System and method for balancing a computing load among computing resources in a distributed computing problem
JP2017126238A (ja) 2016-01-15 2017-07-20 日本電気株式会社 システム管理装置、情報処理システム、システム管理方法及びプログラム

Also Published As

Publication number Publication date
US20190260827A1 (en) 2019-08-22
JP2019144864A (ja) 2019-08-29

Similar Documents

Publication Publication Date Title
JP7035606B2 (ja) エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム
CN110032447B (zh) 用于分配资源的方法和装置
KR102199278B1 (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
US9965322B2 (en) Scheduling tasks in a distributed processing system with both reconfigurable and configurable processors
CN106528289B (zh) 资源的操作处理方法及装置
JP2014508970A (ja) クラウドストレージシステムのデータ暗号化処理装置及び方法
WO2019237594A1 (zh) 会话保持方法、装置、计算机设备及存储介质
JP6301413B2 (ja) データ伝送制御方法及び装置
CN114924751A (zh) 一种业务访问请求流量分配的方法和装置
CN107220375B (zh) 数据读写方法和服务器
JP5540269B2 (ja) データ負荷分散配置システムおよびデータ負荷分散配置方法
FI3596602T3 (fi) Häiritsemätön tuki kolmannen osapuolen liikenneseurannalle
CN107409082B (zh) 终端站装置以及带宽分配方法
CN111372277B (zh) 数据分发方法、装置及存储介质
EP2942711B1 (en) Dynamic generation of proxy connections
US10735521B1 (en) IoT network controller / server
JP6972783B2 (ja) 分散システム、バックエンドサービス、エッジサーバ、及びその方法
KR20170005274A (ko) 사용자 정의 클라우드 서비스 제공을 위한 자원 서비스 중개 제공장치 및 그 방법
JP6330840B2 (ja) ストレージ管理システムおよびストレージ管理方法
US11469996B2 (en) Systems for session-based routing
US9860171B2 (en) Large scale message routing in a distributed network
US9942314B2 (en) System and method for optimizing web service availability with a node group agreement protocol
CN110390516B (zh) 用于数据处理的方法、装置和计算机存储介质
CN111866175A (zh) 边缘计算设备的组网,及其和后端服务器的通信方法
US20140164608A1 (en) Content transmission system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

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: 20220201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R151 Written notification of patent or utility model registration

Ref document number: 7035606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151