(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024136729
(43)【公開日】2024-10-04
(54)【発明の名称】地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム及びサービスディスカバリ方法
(51)【国際特許分類】
H04L 61/4541 20220101AFI20240927BHJP
【FI】
H04L61/4541
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023047939
(22)【出願日】2023-03-24
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、国立研究開発法人情報通信研究機構、「低遅延・自律性を実現するフローティングサイバーフィジカルシステムと広域連携の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】関川 柊
(72)【発明者】
【氏名】佐々木 力
(57)【要約】
【課題】移動するクライアント端末が近隣のアプリケーション実行基盤およびその上で動作しているサービスを発見してアクセスするためのネットワーク情報を取得できるサービスディスカバリ機能を提供する。
【解決手段】アプリケーション実行基盤30(40)はサービス提供ノード及び名前解決サーバ31(41)を備える。中央名前解決サーバ21はクライアント端末10からの名前解決要求を全て受け付け、クライアント端末の位置に応じてアプリケーション実行基盤を選択し、その名前解決サーバを応答する。クライアント端末10は前記応答された名前解決サーバへ名前解決要求を転送する。名前解決サーバ31(41)はクライアント端末からの名前解決要求に対して、サービスを提供可能なサービス提供ノードを応答する。クライアント端末は応答されたサービス提供ノードにアクセスしてサービスの提供を受ける。
【選択図】
図1
【特許請求の範囲】
【請求項1】
地理的に分散配置されたサービス実行基盤がインターネットで相互に接続された地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステムにおいて、
アプリケーション実行基盤毎にサービス提供ノード及び名前解決サーバを備え、
クライアント端末が名前解決を要求したサービスを提供できるアプリケーション実行基盤を選択して応答する中央名前解決サーバがインターネットに接続され、
中央名前解決サーバはクライアント端末からの名前解決要求に対して、選択したアプリケーション実行基盤が備える名前解決サーバを名前解決結果(転送先)として応答することを特徴とする地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項2】
前記クライアント端末は、前記名前解決結果(転送先)として応答された名前解決サーバへ名前解決要求を転送し、
名前解決サーバはクライアント端末からの名前解決要求に対して、サービスを提供可能なサービス提供ノードを名前解決結果(ノード)として応答し、
クライアント端末は、前記応答されたサービス提供ノードにアクセスしてサービスの提供を受けることを特徴とする請求項1に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項3】
前記クライアント端末は、名前解決結果(ノード)として名前解決サーバが応答したサービス提供ノードのアドレスを一時保存し、
同一のサービスに関する名前解決要求に応答して前記一時保存したサービス提供ノードのアドレスへアクセスすることを特徴とする請求項2に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項4】
前記クライアント端末は、名前解決結果(転送先)として中央名前解決サーバが応答した名前解決サーバのアドレスを一時保存し、
同一のサービスに関する名前解決要求に応答して前記一時保存した名前解決サーバのアドレスへ名前解決要求を送信することを特徴とする請求項2に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項5】
前記クライアント端末は名前解決要求に自身の位置情報を含めて送信し、
前記中央名前解決サーバは、クライアント端末との相対位置が所定の条件を満たすサービス実行基盤の名前解決サーバを優先的に選択することを特徴とする請求項1ないし4のいずれかに記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項6】
前記中央名前解決サーバは、名前解決結果(転送先)をその有効期限及び有効エリアの少なくとも一方と共に応答し、
前記クライアント端末は、前記応答された名前解決結果(転送先)をその有効期限及び有効エリアの少なくとも一方と共に一時保存することを特徴とする請求項5に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項7】
前記クライアント端末は、前記一時保存した名前解決結果(転送先)の有効性を、その有効期限及び有効エリアの少なくとも一方に基づいて定期的に判定し、有効ではない名前解決結果(転送先)を削除することを特徴とする請求項6に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項8】
前記クライアント端末は、自身の現在位置が前記有効エリア外であるか否かを定期的に判定し、有効エリア外の名前解決結果(転送先)を削除することを特徴とする請求項7に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項9】
前記名前解決サーバは、名前解決結果(ノード)をその有効期限と共に応答し、
前記クライアント端末は、前記応答された名前解決結果(ノード)をその有効期限と共に一時保存することを特徴とする請求項5に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項10】
前記クライアント端末は、前記一時保存した名前解決結果(ノード)の有効性を、その有効期限に基づいて定期的に判定し、有効ではない名前解決結果(ノード)を削除することを特徴とする請求項9に記載の地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム。
【請求項11】
地理的に分散配置されたサービス実行基盤がインターネットで相互に接続された地理的分散型アプリケーション実行基盤におけるサービスディスカバリ方法において、
アプリケーション実行基盤毎にサービス提供ノード及び名前解決サーバを備え、
クライアント端末が名前解決を要求したサービスを提供できるアプリケーション実行基盤を選択して応答する中央名前解決サーバがインターネットに接続され、
中央名前解決サーバはクライアント端末からの名前解決要求に対して、選択したアプリケーション実行基盤が備える名前解決サーバを名前解決結果(転送先)として応答することを特徴とする地理的分散型アプリケーション実行基盤におけるサービスディスカバリ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のアプリケーション実行基盤が地理的に分散配置された地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム及びサービスディスカバリ方法に係り、特に、移動するクライアント端末が近隣のアプリケーション実行基盤およびその上で動作しているサービスを発見して自動的にアクセスするサービスディスカバリ機能を提供するシステム及びサービスディスカバリ方法に関する。
【背景技術】
【0002】
フローティングサイバーフィジカルシステム(F-CPS)と呼ばれる分散型アプリケーション実行基盤では、エリア間を移動する機器(クライアント端末)が、接続しているネットワークとは無関係にエリア内の機能を自動的に発見、接続するサービスディスカバリシステムが必要となる。
【0003】
F-CPSでは、細分化されたエリア内に存在しているスマートフォン、PC、サーバ、自動運転車、監視カメラ等のあらゆるデバイスをアプリケーションの実行基盤として活用し、この基盤上で動作するサービスをエリア内の他のデバイスへ提供することにより、エリアごとに特化したアプリケーション実行基盤を提供できる。
【0004】
例えば、交差点を含むエリアであれば自動運転車が他の車や歩行者と情報連携するための連携サービス、商業施設内のエリアであれば各商業施設の広告配信等のサービスをエリアに属するデバイスが連携して処理を実行する。
【0005】
エリアに属するデバイスは必ずしも同じネットワークサービスに接続されておらず、異なるオペレータの提供する移動通信あるいは固定通信サービスを使用してインターネットへ接続されており、接続されたネットワークサービスに依らずに、デバイスの位置情報に応じてエリア内の共通のアプリケーション実行基盤へ接続できる必要がある。
【0006】
F-CPSでは、アプリケーション実行基盤に属するセンサーデバイスから収集したデータを処理することで、エリアに即した情報提供を実現することから、ネットワークの構成情報(アドレス等)ではなく、物理的なデバイスの位置情報に即して所属するエリアを決定する必要がある。
【0007】
F-CPSに属するデバイスは移動可能であり、他のエリアに移動した場合はそのエリア上にあるサービスへアクセス先を変更する。F-CPSのエリアはシステムの負荷に基づいて自律的に決定されており、需要が少ない場合はエリアが消滅、需要が高い場合にはエリアが追加されるなど、時間によって範囲や数が変動することができる。
【0008】
特許文献1には、マルチキャストDNSを用いてドメインネームシステム・サービスディスカバリを実施することで、集中型のDNSサーバを使用することなくコンピュータネットワーク内のサービスを発見、IPアドレスを特定する技術が開示されている。また、コネクションが消失した際に、自身を告知するメッセージを送信することにより、ネットワークの変化に対応して即座にコネクションを復旧できるサービスディスカバリを実現する技術が開示されている。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1では、クライアント端末が特定のコンピュータネットワーク内ではなく、インターネットをはじめとする公衆網を経由してサービスへアクセスしようとする場合に、マルチキャストDNSを利用して分散的にサービスディスカバリを実施することが困難である。
【0011】
一方で、インターネットを介してアクセスすることのできる集中型のDNSサーバを用いてサービスディスカバリを行った場合、DNSサーバは全てのサービスがどこのサーバ上に配置されているかを把握する必要があり、負荷の集中が課題となる。
【0012】
また、MEC(Multi-access Edge Computing)サーバや基地局など地理的に分散したノード上でアプリケーションを実行し、その上で動作するサービスをディスカバリする場合には、端末の位置や必要なリソース量を考慮してサービスを発見する手法が必要となる。しかしながら、従来のDNSシステムを用いたドメインネームシステム・サービスディスカバリではこうした要件に対応することが困難であった。
【0013】
本発明の目的は、上記の技術課題を解決し、クライアント端末からの名前解決要求として、従来のDNS要求に加えて位置情報を中央名前解決サーバにおいて受け付け、クライアント端末の近隣に存在するアプリケーション実行基盤の名前解決サーバへ名前解決要求を転送させることで、より詳細なパラメータによるサービスディスカバリを実施できる地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステム及びサービスディスカバリ方法を提供することにある。
【課題を解決するための手段】
【0014】
上記の目的を達成するために、本発明は、地理的に分散配置されたサービス実行基盤がインターネットで相互に接続された地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステムにおいて、以下の構成を具備した点に特徴がある。
【0015】
(1) アプリケーション実行基盤毎にサービス提供ノード及び名前解決サーバを備え、クライアント端末が名前解決を要求したサービスを提供できるアプリケーション実行基盤を選択して応答する中央名前解決サーバがインターネットに接続され、中央名前解決サーバはクライアント端末からの名前解決要求に対して、選択したアプリケーション実行基盤が備える名前解決サーバを名前解決結果(転送先)として応答し、クライアント端末は前記応答された名前解決サーバへ名前解決要求を転送し、名前解決サーバはクライアント端末からの名前解決要求に対してサービスを提供可能なサービス提供ノードを名前解決結果(ノード)として応答し、クライアント端末は前記応答されたサービス提供ノードにアクセスしてサービスの提供を受けるようにした。
【0016】
(2) クライアント端末は、名前解決結果(ノード)として名前解決サーバが応答したサービス提供ノードのアドレスを一時保存し、同一のサービスに関する名前解決要求に応答して前記一時保存したサービス提供ノードのアドレスへアクセスするようにした。
【0017】
(3) クライアント端末は、名前解決結果(転送先)として中央名前解決サーバが応答した名前解決サーバのアドレスを一時保存し、同一のサービスに関する名前解決要求に応答して前記一時保存した名前解決サーバのアドレスへ名前解決要求を送信するようにした。
【0018】
(4) クライアント端末は名前解決要求に自身の位置情報を含めて送信し、中央名前解決サーバは、クライアント端末との相対位置が所定の条件を満たすサービス実行基盤の名前解決サーバを優先的に選択するようにした。
【0019】
(5) 中央名前解決サーバは、名前解決結果(転送先)をその有効期限及び有効エリアの少なくとも一方と共に応答し、クライアント端末は、前記応答された名前解決結果(転送先)をその有効期限及び有効エリアの少なくとも一方と共に一時保存するようにした。
【0020】
(6) クライアント端末は、一時保存した名前解決結果(転送先)の有効性を、その有効期限及び有効エリアの少なくとも一方に基づいて定期的に判定し、有効ではない名前解決結果(転送先)を削除するようにした。
【0021】
(7) クライアント端末は、自身の現在位置が前記有効エリア外であるか否かを定期的に判定し、有効エリア外の名前解決結果(転送先)を削除するようにした。
【0022】
(8) 名前解決サーバは、名前解決結果(ノード)をその有効期限と共に応答し、クライアント端末は、応答された名前解決結果(ノード)をその有効期限と共に一時保存するようにした。
【0023】
(9) クライアント端末は、一時保存した名前解決結果(ノード)の有効性を、その有効期限に基づいて定期的に判定し、有効ではない名前解決結果(ノード)を削除するようにした。
【0024】
なお、本発明は上記の特徴的な構成を備える地理的分散型アプリケーション実行基盤におけるサービスディスカバリシステムとして実現できるのみならず、かかる特徴的な処理をステップとする地理的分散型アプリケーション実行基盤におけるサービスディスカバリ方法としても実現できる。
【発明の効果】
【0025】
本発明によれば、以下のような効果が達成される。
【0026】
(1) 中央名前解決サーバは各クライアント端末からの名前解決要求を処理する必要がなく、名前解決要求を各アプリケーション実行基盤に分散された名前解決サーバへ転送させるだけなので、名前解決要求の処理に係る負荷が一部のサーバへ集中することを避けられる。
【0027】
(2) クライアント端末が任意のネットワークからインターネットを介してアクセスしても近隣のアプリケーション実行基盤内のサービスを選択することができ、接続性の向上を実現できる。
【0028】
(3) クライアント端末は中央名前解決サーバへアクセスすれば、各種のサービスを提供できるアプリケーション実行基盤やその能力を把握していなくても、所望のサービスを最適な環境下で受けられる。
【0029】
(4) 各クライアント端末が特定のアプリケーション実行基盤に属する特定のネットワークではなく、インターネット等の公衆網を経由して接続されている場合でも、近隣のアプリケーション実行基盤で動作するサービスの接続先を把握できる。
【0030】
(5) クライアント端末は、分散配置された複数のアプリケーション実行基盤のそれぞれに設けられた名前解決サーバへ名前解決を要求できるので、アプリケーション実行基盤独自のパラメータを名前解決に利用することができる。
【0031】
(6) 中央名前解決サーバは、各アプリケーション実行基盤内で実行されるノードおよびサービスの情報へアクセスする必要がないので、中央名前解決サーバと各アプリケーション実行基盤間の通信トラフィックを減少でき、また中央名前解決サーバ内に蓄積するデータ容量を削減できる。
【0032】
(7) クライアント端末において名前解決結果を保持できるので、中央名前解決サーバへのアクセス頻度を低く抑えられる。
【0033】
(8) 名前解決要求に対する中央名前解決サーバからの応答及び各アプリケーション実行基盤の名前解決サーバからの応答に有効期限や有効エリアを設定してその有効性を管理するので、信頼度の低下した名前解決結果の利用による非効率なアクセスや誤ったアクセスを防止できる。
【0034】
(9) 中央名前解決サーバによって新たにアプリケーション実行基盤(新アプリケーション実行基盤)内の名前解決サーバ情報が通知された際に、以前のアプリケーション実行基盤(旧アプリケーション実行基盤)内のサービスに対する名前解決結果をキャッシュ内で保持し続けることができ、新アプリケーション実行基盤内のサービスへアクセス先を変更する前に旧アプリケーション実行基盤のサービスに対して終了処理やデータ移行処理等を実行することができる。
【図面の簡単な説明】
【0035】
【
図1】本発明の一実施形態に係る地理的分散型アプリケーション実行基盤の主要部の構成を示した機能ブロック図である。
【
図2】クライアント端末が移動する例を示した図である。
【
図3】中央名前解決サーバがアプリケーション実行基盤の情報を管理システムから取得する手順を示した図である。
【
図4】有効ではない名前解決結果をキャッシュから削除する手順を示した図である。
【
図5】名前解決の手順(その1)を示したシーケンスフローである。
【
図6】名前解決の手順(その1の続き)を示したシーケンスフローである。
【
図7】名前解決の手順(その2)を示したシーケンスフローである。
【
図8】名前解決の手順(その3)を示したシーケンスフローである。
【
図9】名前解決の手順(その3の続き)を示したシーケンスフローである。
【発明を実施するための形態】
【0036】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施形態に係る地理的分散型アプリケーション実行基盤1の主要部の構成を示した機能ブロック図であり、クライアント端末10、中央名前解決サーバ21及びアプリケーション実行基盤(30,40)をインターネットで相互に接続して構成される。
【0037】
クライアント端末10はユーザにより操作され、プログラム11及びキャッシュ12を備る。アプリケーション実行基盤(30,40)は、その位置情報に基づいて複数に分割されており、ここではクライアント端末10に近い順に2つのアプリケーション実行基盤30,40が存在しているものとする。
【0038】
各アプリケーション実行基盤30(40)には、サービスを実行する少なくとも一つのノード(サービス実行ノード)331,332(431,432)、各ノード及びサービスを管理する管理システム32(42)並びに所属するアプリケーション実行基盤内で名前解決を実施する名前解決サーバ31(41)が設けられている。管理システム32(42)および名前解決サーバ31(41)は独立したノードであっても良いし、各アプリケーション実行基盤30(40)に所属するノード上で実行されるようにしても良い。
【0039】
中央名前解決サーバ21は、クライアント端末10が名前解決を要求したサービスを提供できるアプリケーション実行基盤30(40)を選択し、その名前解決サーバ31(41)を名前解決結果(転送先)として応答する。中央名前解決サーバ21はクラウドサービス、データセンタあるいはコア設備等の集約された設備に配置され、アプリケーション実行基盤30,40は特定の地域内に存在するMECサーバや基地局等のノード上に配置される。
【0040】
このような構成において、クライアント端末10は各アプリケーション実行基盤30(40)のノードが提供するサービスへアクセスする際、所望のサービス名、自身の位置情報及び所定のフィルタリング条件を含む名前解決要求を送信する。地理的分散型アプリケーション実行基盤1では、各クライアント端末10からの名前解決要求を、一旦、中央名前解決サーバ21が全て受け付ける。
【0041】
中央名前解決サーバ21は、名前解決要求に含まれるクライアント端末10の地理情報やアドレス情報(要求元アドレス情報)等を参照し、クライアント端末10の近隣に位置するアプリケーション実行基盤30(40)を選択し、その名前解決サーバ31(41)へ前記名前解決要求を転送させる。
【0042】
名前解決要求を転送された名前解決サーバ31(41)は、所属するアプリケーション実行基盤30(40)の管理システム32(42)へアクセスし、当該サービスを提供可能であってフィルタリング条件を満足するノード331,332(431,432)を選択する。名前解決サーバ31(41)は更に、選択したノードのネットワークアドレスを名前解決結果(ノード)としてクライアント端末10へ応答する。これにより、クライアント端末10は近隣に存在するサービス実行ノードを発見することができる。
【0043】
なお、名前解決結果(転送先/ノード)はクライアント端末10のキャッシュ12へ一時保存されるので、これ以降、プログラム11は同一サービスに関する名前解決要求については中央名前解決サーバ21や名前解決サーバ31(41)へ名前解決を要求することなく、一時保存されている名前解決結果を直ちに応答できる。
【0044】
このように、本発明ではクライアント端末10からの名前解決要求に対して中央名前解決サーバ21が位置的に最適なアプリケーション実行基盤内30(40)を選択し、その名前解決サーバ31(41)のネットワークアドレスを名前解決結果(転送先)として応答するので、名前解決要求に対する応答を少ないトラフィック負荷で実現できるようになる。
【0045】
次いで、
図3~9のシーケンスフローを参照して名前解決の実施形態の手順を更に詳細に説明する。
【0046】
中央名前解決サーバ21は、
図3に示すように、各アプリケーション実行基盤30(40)の管理システム32(42)から各ノードの状態、各ノードが提供できるサービスの内容、位置情報及び各アプリケーション実行基盤30(40)に所属する名前解決サーバ31(41)のネットワークアドレス等に関する環境情報を定期的に取得する。環境情報はクライアント端末10の接続時に収集、または接続に先立って各アプリケーション実行基盤30(40)から収集することができる。
【0047】
クライアント端末10では、
図4に示すように、プログラム11がキャッシュ12に一時保存されている名前解決結果(転送先/ノード)の有効性を、その有効期限及び有効エリアに基づいて定期的に判定する。
【0048】
その結果、有効期限が既に切れていたり、あるいは
図2に示すように、クライアント端末10が移動したことでアプリケーション実行基盤30(40)の近隣に位置しなくなって有効エリア外になっていたりすると、一時保存されている名前解決結果はその有効性が失われたものと判断されてキャッシュ12から削除される。したがって、クライアント端末10は中央名前解決サーバ21から改めて近隣のアプリケーション実行基盤30(40)に存在する名前解決サーバ31(41)の情報を取得することになる。
【0049】
なお、プログラム11はクライアント端末10の位置変動等を感知して有効エリア外に移動したことを検知すると、名前解決結果をその有効期限切れを待たずに削除するようにしても良い。
【0050】
図5,6は、キャッシュ12に名前解決結果が一時保存されていない状態、すなわち初めてサービスを要求する場合や名前解決結果が
図4のシーケンスにより削除された以降の名前解決手順を示したシーケンスフローである。
【0051】
時刻t31において、ユーザがクライアント端末10に対してプログラム11の起動を要求すると、クライアント端末10は時刻t32において自身のプログラム11を起動する。時刻t33において、ユーザがプログラム11に対してサービスAへのアクセスを要求すると、プログラム11はサービスAへのアクセスに必要な処理を実行し、時刻t34においてキャッシュ12へサービスAの名前解決を要求する。
【0052】
プログラム11が送信する名前解決要求には、アクセスするサービス名、クライアント端末10の位置情報及びフィルタリング条件等が含まれる。フィルタリング条件としては、サービス提供ノードに必要なリソース量として、例えばCPU数やメモリ容量等の任意のパラメータを含めることができる。名前解決要求は、例えばDNS over HTTPS(DoH)等の任意の数および長さのパラメータを含めることが可能であり、要求を別のサーバへ転送可能なプロトコルで実施することができる。
【0053】
DoHを利用する場合の名前解決要求の例としては、「GET https://xxxx.com(中央名前解決サーバ21のドメイン名)/dns-query?dns=yyyyy(サービスAのドメイン名service-a.cluster.localを含むDNSクエリ)&lat=35.88(緯度情報)&long=139.52(経度情報)&filter=zzz(フィルタリング条件)」のような形態がある。
【0054】
キャッシュ12はサービスAの名前解決を試みるが、本実施形態ではキャッシュ12にサービスAの名前解決結果が保存されていないので、時刻t35において「キャッシュ情報無し」が応答される。時刻t36では、プログラム11がクライアント端末10に対して名前解決要求通信の開始を要求し、時刻t37において名前解決結果を取得する。
【0055】
図6は、前記時刻t36~t37で実施される名前解決要求通信の手順を示したシーケンスフローであり、クライアント端末10は、前記名前解決要求通信の開始要求を受信すると、時刻t36.1において中央名前解決サーバ21へ名前解決要求を送信する。
【0056】
中央名前解決サーバ21のアクセス先はネットワークアドレスまたはドメイン名としてプログラム11内で指定することができる。なお、中央名前解決サーバ21をドメイン名で指定した場合は、予め既定の名前解決サーバへ名前解決を依頼してネットワークアドレスを取得しておくことが望ましい。
【0057】
名前解決要求を取得した中央名前解決サーバ21は、時刻t36.2において、当該要求に含まれるクライアント端末10の位置情報を読み取って所属エリア判定を行う。そして、クライアント端末10の近隣に位置し、かつ前記フィルタリング条件を充足するアプリケーション実行基盤30(40)を選択し、その名前解決サーバ31(41)のネットワークアドレスを時刻t36.3において名前解決結果(転送先)として応答する。
【0058】
ここではアプリケーション実行基盤40が選択され、その名前解決サーバ41のネットワークアドレスが応答されたものとして説明を続ける。中央名前解決サーバ21は、応答する名前解決結果(転送先)に有効期限や有効エリアを設定することができる。クライアント端末10は、時刻t37において名前解決結果(転送先)並びにその有効期限及び有効エリアをプログラム11へ応答する。
【0059】
有効エリアは、アプリケーション実行基盤30(40)の中心点の緯度・経度と半径範囲、あるいは複数の点群から構成される多角形の範囲等の形式で与えることができる。要求の転送方式としてDoHを名前解決要求プロトコルとして使用した場合、HTTP応答ヘッダ内のステータスコードへ300番台のコードを設定し、Locationとして名前解決サーバ31のネットワークアドレスを指定する。
【0060】
図5へ戻り、時刻t38ではプログラム11が前記名前解決結果(転送先)並びにその有効期限及び有効エリアの保存をキャッシュ12へ要求する。キャッシュ12は名前解決結果(転送先)をその有効期限及び有効エリアと共に一時保存する。
【0061】
時刻t39では、プログラム11がクライアント端末10に対して、前記応答された名前解決サーバ31への名前解決要求通信の開始を要求し、時刻t40において名前解決結果を取得する。以下、
図6を参照して前記時刻t39~t40で実施される名前解決要求通信の手順を詳細に説明する。
【0062】
クライアント端末10は、前記名前解決要求通信の開始要求を受信すると、時刻t39.1において名前解決サーバ41のネットワークアドレスへ名前解決要求を送信する。名前解決サーバ41は、時刻t39.2において管理システム42へアクセスし、名前解決要求に含まれるサービス名及びフィルタリング条件を充足するノードの検索を要求する。
【0063】
管理システム42は、空きリソースの多いノード432上で動作するサービスAを選択し、時刻t39.3において、ノード432のネットワークアドレスを名前解決サーバ41へ応答する。名前解決サーバ41は、時刻t39.4において前記名前解決結果(ノード)をクライアント端末10へ応答する。名前解決サーバ41は、応答する名前解決結果に有効期限を設定することができる。クライアント端末10は、時刻t40において名前解決結果(ノード)及びその有効期限をプログラム11へ応答する。
【0064】
図5へ戻り、時刻t41ではプログラム11が前記名前解決結果(ノード)及びその有効期限の保存をキャッシュ12に要求する。キャッシュ12は名前解決結果(ノード)をその有効期限と共に一時保存する。
【0065】
時刻t42では、プログラム11がクライアント端末10に対してノード432のサービスAへの通知開始を指示する。時刻t43では、クライアント端末10がノード432へメッセージを送信する。
【0066】
これ以降、プログラム11はノード432のネットワークアドレスをサービスAのアクセス先として設定することで、自身の近隣に存在し、かつフィルタリング条件を満たすサービスAを少ないネットワーク負荷で利用できるようになる。
【0067】
また、本実施形態では中央名前解決サーバ21が応答する名前解決結果(転送先)には有効期限や有効エリアを設定することができ、また名前解決サーバ31(41)が応答する名前解決結果(ノード)には有効期限を設定することができる。そして、有効期限が過ぎたり有効エリアから外れたりした名前解決結果はキャッシュ12から削除され、改めて名前解決が実施されるので、誤った名前解決結果に基づく誤アクセス等を防止できるようになる。
【0068】
図7は、クライアント端末10がキャッシュ12に保存された名前解決結果を利用して名前解決の実施する手順を示したシーケンスフローである。
【0069】
プログラム11は、名前解決結果が有効期限内かつ有効エリア内である限り、中央名前解決サーバ21や名前解決サーバ31(41)へ名前解決要求を送信することなく、一時記憶されている名前解決結果に基づいて即座にサービス提供ノードへアクセスすることができる。
【0070】
時刻t51において、ユーザがクライアント端末10に対してサービスAへのアクセスを要求すると、プログラム11は時刻t52において、キャッシュ12へサービスAの名前解決を要求する。時刻t53ではキャッシュ12が名前解決を実施し、名前解決結果が有効であれば、時刻t54において名前解決結果をプログラム11へ応答する。ここでは、名前解決結果がノード331のネットワークアドレスであるものとして説明を続ける。
【0071】
時刻t55では、プログラム11がクライアント端末10に対して、アプリケーション実行基盤30のノード331が提供するサービスAへの通信開始を指示する。時刻t56では、クライアント端末10がノード331へアクセスしてメッセージを送信する。
【0072】
図8は、クライアント端末10がキャッシュ12に一次保存されている名前解決結果を利用して名前解決を実施する手順を示したシーケンスフローである。
【0073】
ここではサービスAへのアクセスを要求した際に、キャッシュ12に保存されているサービスAの名前解決結果のうち、名前解決サーバ31(41)が応答した名前解決結果(ノード)は削除されているが中央名前解決サーバ21が応答した名前解決結果(転送先)は有効である場合の動作を示している。
【0074】
時刻t71において、ユーザがサービスAへのアクセスを要求すると、プログラム11は、時刻t72においてキャッシュ12へサービスAの名前解決を要求する。キャッシュ12は、時刻t73において名前解決を実施する。
【0075】
本実施形態では、サービスAを提供するノードの名前解決結果は保存されていないが、サービスAを提供できるアプリケーション実行基盤の名前解決サーバとして名前解決サーバ31が保存されているので、キャッシュ12は時刻t74において、当該名前解決サーバ31のネットワークアドレスをプログラム11へ応答する。時刻t75では、プログラム11がクライアント端末10に対して名前解決サーバ31への名前解決要求通信の開始を要求し、時刻t76において名前解決結果(ノード)を取得する。
【0076】
図9は、前記時刻t75~t76で実施される名前解決要求通信の手順を示したシーケンスフローである。
【0077】
クライアント端末10は、前記名前解決要求通信の開始要求を受信すると、時刻t75.1において名前解決サーバ31へサービスAの名前解決要求を送信する。名前解決サーバ31は、時刻t75.2において管理システム32へ、名前解決要求に含まれるフィルタリング条件を充足するノードの検索を要求する。管理システム32は、時刻t75.3においてノード331のネットワークアドレスを検索結果として応答する。
【0078】
名前解決サーバ31は、時刻t75.4において前記検索結果をクライアント端末10へ名前解決結果(ノード)として応答する。クライアント端末10は、時刻t76において前記名前解決結果(ノード)をプログラム11へ応答する。
【0079】
図8へ戻り、時刻t77ではプログラム11が前記名前解決結果(ノード)及びその有効期限をキャッシュ12に保存する。時刻t78では、プログラム11がクライアント端末10に対してノード331のサービスAへの通信開始を指示する。時刻t79では、クライアント端末10がノード331へメッセージを送信する。
【0080】
なお、本実施形態では中央名前解決サーバ21が応答して一時保存された転送先情報が有効期限切れ、あるいは有効エリア外へクライアント端末10が移動した場合も、以前に名前解決サーバ31から通知されたサービスAのネットワークアドレスをキャッシュ12から読み込むことができる。これにより他のアプリケーション実行基盤上にあるサービスAへ移動する前に終了処理等を実施した上で一時記憶した情報を削除することで、新しく選択されたアプリケーション実行基盤上のサービスAへ情報を引き継ぐ処理を行うことが可能となる。
【0081】
そして、上記の各実施形態によれば、移動するクライアント端末が近隣のアプリケーション実行基盤およびその上で動作しているサービスを発見してアクセスするためのネットワーク情報を取得できるサービスディスカバリ機能を提供できるので、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。
【符号の説明】
【0082】
1…地理的分散型アプリケーション実行基盤,10…クライアント端末,11…プログラム,12…キャッシュ,21…中央名前解決サーバ,30,40…アプリケーション実行基盤,31,41…名前解決サーバ,32,42…管理システム,331,332,431,432…サービス実行ノード