JP2021019294A - 通信装置及び通信方法 - Google Patents

通信装置及び通信方法 Download PDF

Info

Publication number
JP2021019294A
JP2021019294A JP2019134106A JP2019134106A JP2021019294A JP 2021019294 A JP2021019294 A JP 2021019294A JP 2019134106 A JP2019134106 A JP 2019134106A JP 2019134106 A JP2019134106 A JP 2019134106A JP 2021019294 A JP2021019294 A JP 2021019294A
Authority
JP
Japan
Prior art keywords
application
afc
node
value
field
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.)
Pending
Application number
JP2019134106A
Other languages
English (en)
Inventor
亮太 木村
Ryota Kimura
亮太 木村
高野 裕昭
Hiroaki Takano
裕昭 高野
啓文 葛西
Takafumi Kasai
啓文 葛西
亮 澤井
Akira Sawai
亮 澤井
寺岡 文男
Fumio Teraoka
文男 寺岡
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2019134106A priority Critical patent/JP2021019294A/ja
Priority to PCT/JP2020/027140 priority patent/WO2021015021A1/ja
Priority to US17/618,499 priority patent/US11743322B2/en
Priority to EP20844753.2A priority patent/EP4002774A4/en
Publication of JP2021019294A publication Critical patent/JP2021019294A/ja
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させること。【解決手段】1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、他の論理ノードとの間の通信を実行する通信部と、通信部による通信を制御する制御部とを備え、上記他の論理ノードは、上記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、上記送受信の経路中に上記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、制御部は、上記他の論理ノードへ向けて、上記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを通信部から送信させる。【選択図】図2

Description

本開示は、通信装置及び通信方法に関する。
ネットワーク事業者やサービス提供者の観点から、必要に応じてネットワーク内を転送されるパケットを元々のパケットの転送経路に含まれないサーバ機器へ転送し、サーバ機器上で動作するサービス機能(SF:Service Function)をパケットに作用させることをSFC(Service Function Chaining)と呼ぶ。SFとしては、NAT(Network Address Translation)、ロードバランサ(Load Balancer)、WAF(Web Application Firewall)などが挙げられる。
非特許文献1には、SFCのアーキテクチャが記載されている。また特許文献1には、仮想化されたネットワークサービス機能の可用性を高めるため、装置やリンクの障害検知および障害復旧を自律分散的に行う方法が記載されている。
特開2016−046736号公報
J.Halpern and C.Pignataro. Service Function Chaining (SFC) Architecture, October 2015. RFC 7665.
しかしながら、SFCでは、ネットワーク事業者やサービス提供者の観点でWAFやロードバランサなどのSFが用意されている。すなわち、ネットワーク事業者やサービス提供者の意向によりどのようなパケットをSFCの対象とするかを決めているものである。
そこで、本開示では、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることが可能な、新規かつ改良された通信装置及び通信方法を提案する。
本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、他の論理ノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部とを備え、前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、前記制御部は、前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを前記通信部から送信させる、通信装置が提供される。
また、本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行する通信部と、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用する制御部とを備える論理ノードとして動作し、前記制御部は、前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて前記通信部に受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信装置が提供される。
また、本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行する通信部と、他の論理ノードを管理する制御部とを備える管理ノードとして動作し、前記他の論理ノードは、前記通信部による通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、前記制御部は、前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記通信部から前記アカウンティングノードへ送信させる、通信装置が提供される。
また、本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、他の管理ノードとの間の通信を実行する通信部と、前記通信部による通信を制御する制御部とを備え、前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、前記制御部は、自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、前記通信部に送信させる、通信装置が提供される。
また、本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、他の論理ノードとの間の通信を実行することと、前記他の論理ノードとの間の通信を制御することとを含み、前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、前記制御することは、前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを送信させる、通信方法が提供される。
また、本開示によれば、論理ノードして動作する通信装置を用いた通信方法であって、1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行することと、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用することとを含み、前記適用することは、前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信方法が提供される。
また、本開示によれば、管理ノードとして動作する通信装置を用いた通信方法であって、1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行することと、他の論理ノードを管理することとを含み、前記他の論理ノードは、前記アカウンティングノードとの間の通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、前記管理することは、前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記アカウンティングノードへ送信させる、通信方法が提供される。
また、本開示によれば、1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、他の管理ノードとの間の通信を実行することと、前記他の管理ノードとの間の通信を制御することとを含み、前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、前記制御することは、自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、送信させる、通信方法が提供される。
非特許文献1に開示されているSFCのアーキテクチャ例を示す説明図である。 本開示の実施形態で提案するAFCのアーキテクチャを示す説明図である。 Gate Daemonの設置処理の処理手順を示す図である。 Gate Setup Requestパケットの構造例を示す図である。 Gate Setup Responseパケットの構造例を示す図である。 Gate AA Requestパケットの構造例を示す図である。 Gate AA Responseパケットの構造例を示す図である。 Data Port Notificationパケットの構造例を示す図である。 Accounting Notificationパケット(Gate Daemon1の設置)の構造例を示す図である。 Gate Daemon1とGate Daemon2の設置後にAFC Managerが保持する各テーブルの構造例を示す図である。 Gate Daemon1の設置後にGate Daemon1が保持するIngress Tableの構造例を示す図である。 Gate Daemon2の設置後にGate Daemon2が保持するEgress Tableの構造例を示す図である。 AFの設置処理の処理手順を示す図である。 AF Setup Requestパケットの構造例を示す図である。 AF Setup Responseパケットの構造例を示す図である。 AF AA Requestパケットの構造例を示す図である。 AF AA Responseパケットの構造例を示す図である。 AF Invoke Requestパケットの構造例を示す図である。 AF Invoke Responseパケットの構造例を示す図である。 Accounting Notificationパケット(AF1の設置)の構造例を示す図である。 AF1〜AF3の設置後にAFC Managerが保持する各テーブルの構造例を示す図である。 AF1の設置後にAFC Daemon1が保持するAFC Tableの構造例を示す図である。 AF2の設置後にAFC Daemon2が保持するAFC Tableの構造例を示す図である。 AF3の設置後にAFC Daemon3が保持するAFC Tableの構造例を示す図である。 AFCの設置処理の処理手順を示す図(その1)である。 AFCの設置処理の処理手順を示す図(その2)である。 AFC Setup Requestパケットの構造例を示す図である。 AFC Setup Responseパケットの構造例を示す図である。 Conn Estab P Requestパケットの構造例を示す図である。 Conn Estab P Responseパケットの構造例を示す図である。 Conn Estab A Requestパケットの構造例を示す図である。 Conn Estab A Responseパケットの構造例を示す図である。 Set Condition Requestパケットの構造例を示す図である。 Set Condition Responseパケットの構造例を示す図である。 Set Session Key Requestパケットの構造例を示す図である。 Set Session Key Responseパケットの構造例を示す図である。 Accounting Notificationパケット(AFC1の設置)の構造例を示す図である。 AFCの設置後にAFC Managerが保持する各テーブルの構造例を示す図である。 AFCの設置後にGate Daemon1が保持するIngress Tableの構造例を示す図である。 AFCの設置後にGate Daemon2が保持するEgress Tableの構造例を示す図である。 AFCの設置後にAFC Daemon1が保持するAFC Tableの構造例を示す図である。 AFCの設置後にAFC Daemon2が保持するAFC Tableの構造例を示す図である。 AFCの設置後にAFC Daemon3が保持するAFC Tableの構造例を示す図である。 AF UserへのAFC利用権限の付与処理の処理手順を示す図である。 AFC Permission Requestパケットの構造例を示す図である。 AFC Permission Responseパケットの構造例を示す図である。 アプリケーションによるAFC Session Keyの取得処理の処理手順を示す図である。 Get User Session Key Requestパケットの構造例を示す図である。 Get User Session Key Responseパケットの構造例を示す図である。 AFC AA Requestパケットの構造例を示す図である。 AFC AA Responseパケットの構造例を示す図である。 Set User Session Key Requestパケットの構造例を示す図である。 Set User Session Key Responseパケットの構造例を示す図である。 Get User Session Key後にGate Daemon1が保持するIngress Tableの構造例を示す図である。 Get User Session Key後にGate Daemon2が保持するEgress Tableの構造例を示す図である。 第1のデータ通信処理の処理手順を示す図である。 App1の接続後にGate Daemon1が保持するIngress Tableの構造例を示す図である。 App2の接続後にGate Daemon2が保持するEgress Tableの構造例を示す図である。 Subscribe Requestパケットの構造例を示す図である。 Subscribe Responseパケットの構造例を示す図である。 Publish Requestパケットの構造例を示す図である。 Publish Responseパケットの構造例を示す図である。 Gate Daemon1からAFC Daemon1へ送信されるデータパケットの構造例を示す図である。 AFC Daemon1からAFC Daemon2へ送信されるデータパケットの構造例を示す図である。 AFC Daemon2からGate Daemon2へ送信されるデータパケットの構造例を示す図である。 Gate Daemon2からApp2へ送信されるデータパケットの構造例を示す図である。 Accounting Notificationパケット(AF1のデータ通信)の構造例を示す図である。 第2のデータ通信処理の処理手順を示す図である。 HTTP Requestメッセージ(GET)の構造例を示す図である。 HTTP Requestメッセージ(POST)の構造例を示す図である。 HTTP Responseメッセージ(POST)の構造例を示す図である。 HTTP Responseメッセージ(GET)の構造例を示す図である。 AFCの削除処理の処理手順を示す図である。 AFC Delete Requestパケットの構造例を示す図である。 AFC Delete Responseパケットの構造例を示す図である。 Connection Close Requestパケットの構造例を示す図である。 Connection Close Responseパケットの構造例を示す図である。 Accounting Notificationパケット(AFC1の削除)の構造例を示す図である。 AFの削除処理の処理手順を示す図である。 AF Delete Requestパケットの構造例を示す図である。 AF Delete Responseパケットの構造例を示す図である。 Accounting Notificationパケット(AF1の削除)の構造例を示す図である。 Gate Daemonの削除処理の処理手順を示す図である。 Gate Delete Requestパケットの構造例を示す図である。 Gate Delete Responseパケットの構造例を示す図である。 Accounting Notificationパケット(Gate Daemon1の削除)の構造例を示す図である。 本開示の実施の形態に係る各ノードとして機能しうる通信装置の機能構成例を示す説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施の形態
1.1.SFCのアーキテクチャ例
1.2.AFCの具体的説明
1.3.通信装置の機能構成例
2.まとめ
<1.本開示の実施の形態>
[1.1.SFCのアーキテクチャ例]
本開示の実施の形態について詳細に説明する前に、まずSFCのアーキテクチャ例について説明する。図1は、非特許文献1に開示されているSFCのアーキテクチャ例を示す説明図である。
図1のようなSFCアーキテクチャにおいて、SFCが適用される範囲をSFC−enabled Domainと呼ぶ。SFC−enabled Domain内には、classifier、SFF(service function forwarder)、SF(service function)、Server(たとえば、Web Server)などが存在する。
図1において、InternetからWeb Serverにアクセスする場合を考える。InternetからSFC−enabled Domainに入ったパケットは、まずclassifierに到達する。classifierはパケットのヘッダからこのパケットにどのSFを適用すべきかを判断し、その情報をNSH(Network Service Header)として当該パケットへ挿入し、その後パケットを中継する。たとえば、このパケットにはSF1のみを適用する場合を想定する。
SFF1は、このパケットを受信すると、NSHの内容からこのパケットにはSF1を適用することを知り、このパケットをSF1へ転送する。SF1は、このパケットを処理し、SFF1へ返送する。また、SFF1は、このパケットをSFF2へ転送する。この例では、SF1のみをパケットに適用するので、SFF2からSFFnは単にこのパケットを中継し、最終的にこのパケットはWeb Serverへ到達する。
このようなアーキテクチャを有するSFCでは、ネットワーク事業者やサービス提供者の観点でWAFやロードバランサなどのSFが用意されている。すなわち、ネットワーク事業者やサービス提供者の意向によりどのようなパケットをSFCの対象とするかを決めているものである。
これに対して、以下で説明するものは、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させるためのアーキテクチャである。本実施形態では、そのようなアーキテクチャのことを、AFC(Application Function Chaining)と呼び、AFCアーキテクチャにおいて作用される機能のことを、AF(Application Function)と呼ぶ。
[1.2.AFCの具体的説明]
(AFC for Edge/Fog/Cloudアーキテクチャ)
AFCでは、AFの特徴やユーザが求める性能により、AFを設置するノード(後述する「AF Node」に該当)を選択することができる。たとえば、ネットワークの周辺に設置されるサーバ(Edge Server)は、計算能力は高くないがユーザの機器からの通信遅延が小さい。逆にデータセンターに設置されるサーバ(Cloud Server)は、計算能力は高いがユーザの機器からの通信遅延は大きい。また、ネットワーク内部に設置されるサーバ(Fog Server)は、計算能力やユーザの機器からの通信遅延はEdge ServerとCloud Serverの中間の性質を有する。AFCでは、これらサーバを、AF Nodeとして適宜選択することができる。また、SFCでは、図1に示したように、通信経路は直線形状しか実現できないが、AFCでは、直線形状の他に、分岐と合流がある形状も実現することができる。
以下、より具体的に説明する。図2は、本開示の実施形態で提案するAFCのアーキテクチャを示す説明図である。
まず、AFC Userは、AFCの利用者であり、AFCを利用するアプリケーションであるAFC Appを実行する。AFC Appが動作するノードをApp Nodeと呼ぶ。また、AFC Constructorは、AFC Appの一種であり、AFCを設置したり削除したりする。図2では、AFC User0がAFC Constructorを、AFC User1がAFC App1を、AFC User2がAFC App2を、それぞれ実行するものとする。なお、AFC Appが、AFC Constructorを兼ねてもよい。
また、AFCが適用される領域をAFC domainと呼ぶ。AFC domainには、AFC ManagerとAAA(Authentication, Authorization, and Accounting) Serverが存在する。AFC Managerは、AFやAFCなどの設置や削除を管理する。AAA Serverは、AFC Userの認証、認可およびアカウンティングを行う。認証とは、AFC Userの真正性を検証する処理である。認可とは、AFC Userが特定の処理を行う権限を有しているかを検証する処理である。アカウンティングとは、AFC Userが計算資源をどの程度消費したかを記録する処理である。
AFC domainの境界には、Gate Nodeが配置される。Gate Nodeには、Gate Daemon−pと呼ばれるプロセスが動作している。なお、図2ではGate Daemon−pの記載を省略している。Gate Daemon−pは、AFCごとに子プロセスであるGate Daemonを生成し、AFCに関する処理はGate Daemonが行う。AFC Appからアプリケーションメッセージを受信するGate DaemonをIngressとも呼ぶ。一方、AFC Appへアプリケーションメッセージを送信するGate DaemonをEgressとも呼ぶ。1台のGate Node上で1つのAFCに関するIngressとEgressの双方が動作してもよい。図2は、Gate Daemon1はIngressとして動作し、Gate Daemon2はEgressとして動作する例である。
また、AFC domain内でAFが動作するノードをAF Nodeと呼ぶ。AF Nodeには、AFC Daemon−pと呼ばれるプロセスが動作している。なお、図2ではAFC Daemon−pの記載を省略している。AFの起動時に、AFC Daemon−pは子プロセスであるAFC Daemonを作成し、その後のAFCに関する処理はAFC Daemonが行う。AFC Daemonは、AFの実行結果によって次にアプリケーションメッセージを送信するAFC Daemonを切り換えることができる。図2では、AFC Daemon1は、AF1の実行結果によってアプリケーションメッセージの送信先をAFC Daemon2あるいはAFC Daemon3へ切り換えることができる。
また、AFC AppによるAFC利用は、Pub/Sub(Publish/Subscribe)方式(いわゆる出版−購読型モデル)に基づく。送信側のAFC Appは、利用するAFCを指定してPubパケットによりアプリケーションメッセージをIngressへ送信する。一方、受信側のAFC Appは、利用するAFCを指定してSubパケットによりEgressからのアプリケーションメッセージの到着を待つ。図2は、AFC App1が送信側のAFC Appであり、AFC App2が受信側のAFC Appとなっている例である。1つのアプリケーションが送信側と受信側を兼ねてもよい。
なお、AFC ManagerとAAA Serverとの間には、常に制御用TLS(Transport Layer Security)コネクションが確立されているものとする。AFC ConstructorとAFC Managerとの間の制御用TLSコネクションは、必要なときに確立される。AFCが設置されると、AFCを構成するIngressとAFC Daemonの間、2つのAFC Daemonの間、および、AFC DaemonとEgressの間にはデータ用TLSコネクションが確立される。また、AFCが存在する間、AFC ManagerとAFCを構成するIngress、AFC Daemon、および、Egressとの間には、それぞれ制御用TLSコネクションが確立される。以上のように、AFCに関する制御パケットやデータパケットは、TLSコネクションを利用して送信されるため、通信データの盗聴や改竄は起こらない。
本AFCアーキテクチャは、様々なネットワーク構成に適用されてもよい。たとえば、本AFCアーキテクチャがテレコムネットワーク(e.g., W−CDMA(Wideband Code Division Multiple Access),LTE(Long Term Evolution),NR(New Radio))に適用される場合、APP NodeはUser Equipment(UE)であってもよい。AF nodeは3GPPに規定されたApplication Function Nodeと同一であってもよい。また、AFC domainは、テレコムネットワークのコアネットワーク(e.g., 5GC,5GS)上に仮想的に構築されるネットワークスライスにより実現されてもよい。この場合、AFC domain内に仮想的に構築される各ノード(e.g., AF Node,Gate Node)は、ネットワークスライスを構成するネットワークスライスインスタンスにより構築されてもよい。
(Gate Daemonの設置手順)
次に、AFC ConstructorがGate Daemonを設置する手順について、図3を用いて説明する。図3は、Gate Daemonの設置処理の処理手順を示す図である。なお、図3には、AFC User0がAFC Constructorを実行し、AFC ConstructorがGate Node1上にGate Daemon1をIngressとして設置する手順を示している。ここで、AFC User0の識別子をUID−usr0とする。また、AFC User0の認証情報をCred−usr0とする。Cred−usr0の内容は、AFC User0のパスワードなどが考えられる。また、Gate Node1のIPアドレスをIP−gtn1とする。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS101)。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−gt1とする。
そして、AFC Constructorは、図4に示すGate Setup RequestパケットをAFC Managerへ送信する(ステップS102)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Gate Setup Request」である。Gate Typeフィールドの値は「Ingress」である。User IDフィールドの値はUID−usr0である。Credentialフィールドの値はCred−usr0である。IP Addressフィールドの値はIP−gtn1である。
AFC Managerは、Gate Setup Requestパケットを受信すると、図6に示すGate AA RequestパケットをAAA Serverへ送信する(ステップS103)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Gate AA Request」である。User IDフィールドの値はUID−usr0である。Credentialフィールドの値はCred−usr0である。IP Addressフィールドの値はIP−gtn1である。
AAA Serverは、Gate AA Requestパケットを受信すると、User IDフィールドとCredentialフィールドの値を基にAFC User0を認証する。さらに、AAA Serverは、AFC User0がGate Node1にGate Daemonを設置する権限を有しているかを検証する。続いて、AAA Serverは、図7に示すGate AA ResponseパケットをAFC Managerへ送信する(ステップS104)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Gate AA Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、Gate Daemon1−pと間に制御用TLSコネクションの確立を開始し(ステップS105)、Gate Daemon1−pは、子プロセスとしてGate Daemon1を生成する(ステップS106)。
生成されたGate Daemon1は、制御用TLSコネクション確立処理を続行し、結果としてAFC ManagerとGate Daemon1の間に制御用TLSコネクションが確立される(ステップS107)。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−gt1とする。
そして、Gate Daemon1は、送信側のAFC Appとの間に確立するデータ用TLSコネクションのためのポートとしてDPt−gt1−appを割り当て、図8に示すData Port NotificationパケットをAFC Managerへ送信する(ステップS108)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Data Port Notification」である。Data Portフィールドの値はDPt−gt1−appである。
そして、AFC Managerは、Gate AA Responseパケットを受信すると、Gate Session KeyとしてSKey−usr0−gt1を生成し、保存するとともに(ステップS109)、Gate Daemon1に識別子としてAFID−gt1を付与する。続いて、AFC Managerは、図9に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS110)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr0である。Usageフィールドの値は、AFのために使われる資源に関する情報を示す。本実施形態では、Usageフィールドの値は、資源の用途を示し、この例では、Gate Daemonを設置したことを示す「Gate Setup」が設定される。AF IDフィールドの値はAFID−gt1である。AFC IDフィールドの値は[null]である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS111)。記録されたUsageフィールドの値は、AAA ServerによるAFC Appのアカウンティング(課金)に使われ得る。
そして、AFC Managerは、図5に示すGate Setup ResponseパケットをAFC Constructorへ送信する(ステップS112)。各フィールドの値は以下のとおりである。Typeフィールドの値は「Gate Setup Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。AF IDフィールドの値はAFID−gt1である。Data Portフィールドの値はDPt−gt1−appである。Gate Session Keyフィールドの値はSKey−usr0−gt1である。
そして、AFC Constructorは、Gate Setup Responseパケットを受信すると、SKey−usr0−gt1を保存し(ステップS113)、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS114)。
以上の処理の結果、Gate Session KeyであるSKey−usr0−gt1はAFC ConstructorとAFC Managerの間で共有される。また、AFC ManagerとGate Daemon1の間には制御用TLSコネクションが維持される。
次に、同様の手順で、AFC Constructorは、Gate Node2上にEgressとしてGate Daemon2を設置する。AFC Managerは、Gate Daemon2に識別子としてAFID−gt2を付与する。その際、Gate Setup RequestパケットのGate Typeフィールドの値は「Egress」になる。
その結果、Gate Daemon2は、受信側のAFC Appとの間に確立するデータ用TLSコネクションのためのポートとしてDPt−gt2−appを割り当て、AFC ManagerとGate Daemon2の間でGate Session KeyとしてSKey−usr0−gt2が共有される。また、AFC ManagerとGate Daemon2の間には制御用TLSコネクションが維持される。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−gt2とする。
上記の処理の結果、AFC Managerは、図10に示す各テーブルを保持する。具体的に、AFC Managerは、AFC UserごとにUser Tableを保持する。User Tableの各フィールドの値は以下のとおりである。Ptr to Next User Tableフィールドの値は他のUser Tableを指すポインタである。この時点では値は[null]である。User IDフィールドの値はUID−usr0である。Ptr to Gate Tableフィールドの値はGate Tableを指すポインタである。Ptr to AF Tableフィールドの値はAF Tableを指すポインタである。この時点では値は[null]である。Ptr to AFC Tableフィールドの値はAFC Tableを指すポインタである。この時点では値は[null]である。
また、AFC Managerは、Gate DaemonごとにGate Tableを保持する。1つ目のGate TableはGate Daemon1のためのものであり、各フィールドの値は以下のとおりである。Ptr to Next Gate Tableフィールドの値は2つ目のGate Tableを指すポインタである。IP Addressフィールドの値はIP−gtn1である。AF IDフィールドの値はAFID−gt1である。Control Socketフィールドの値はCSock−mgr−gt1である。Gate Session Keyフィールドの値はSKey−usr0−gt1である。Data Portフィールドの値はDPt−gt1−appである。
2つ目のGate TableはGate Daemon2のためのものであり、各フィールドの値は以下のとおりである。Ptr to Next Gate Tableフィールドの値は[null]である。IP Addressフィールドの値はIP−gtn2である。AF IDフィールドの値はAFID−gt2である。Control Socketフィールドの値はCSock−mgr−gt2である。Gate Session Keyフィールドの値はSKey−usr0−gt2である。Data Portフィールドの値はDPt−gt2−appである。
また、Gate Daemon1の設置後に、Gate Daemon1は、図11に示すIngress Tableを保持する。Ingress Tableの各フィールドの値は以下のとおりである。AFC Session Keyフィールドの値は未定義([undef])である。App Data Portフィールドの値はDPt−gt1−appである。No of Input Appsフィールドの値は、このGate Daemon1とデータ用TLSコネクションを確立しているアプリケーションの個数を示す。この時点では値は0である。このフィールドに続いてNo of Input Appsフィールドの値が示す個数分のData Input Socketフィールドが設けられるが、この時点ではまだ存在しない。Data Output Socketフィールドの値は、次にアプリケーションメッセージを送信するソケットを示す。この時点では値は未定義([undef])である。
また、Gate Daemon2の設置後に、Gate Daemon2は、図12に示すEgress Tableを保持する。Egress Tableの各フィールドの値は以下のとおりである。AFC Session Keyフィールドの値は未定義([undef])である。App Data Portフィールドの値はDPt−gt2−appである。No of Data Input Socketsフィールドの値は、AFC Daemonからアプリケーションメッセージを受信するためのソケットの個数を示す。この時点では値は0である。このフィールドに続いてNo of Data Input Socketsフィールドの値が示す個数分のData Input Socketフィールドが設けられるが、この時点ではまだ存在しない。No of Output Appsフィールドの値は、このGate Daemon2との間にデータ用TLSコネクションを確立しているアプリケーションの個数を示す。この時点では値は0である。このフィールドに続いてNo of Output Appsフィールドの値が示す個数分のData Output Socketフィールドが設けられるが、この時点ではまだ存在しない。
(AFの設置手順)
次に、AFC ConstructorがAFを設置する手順について、図13を用いて説明する。図13は、AFの設置処理の処理手順を示す図である。なお、図13には、AFC User0が起動したAFC ConstructorがAF Node1上にAF1を設置する手順を示している。ここで、AF Node1のIPアドレスをIP−afn1とする。また、AF1の実行形ファイル名をAFName−af1とする。また、AF1を起動する際のパラメータをAFParam−af1とする。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS201)。
そして、AFC Userは、図14に示すAF Setup RequestパケットをAFC Managerへ送信する(ステップS202)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Setup Request」である。User IDフィールドの値はUID−usr0である。Credentialフィールドの値はCred−usr0である。IP Addressフィールドの値はIP−afn1である。AF Nameフィールドの値はAFName−af1である。AF Parameterフィールドの値はAFPram−af1である。
そして、AFC Managerは、AF Setup Requestパケットを受信すると、図16に示すAF AA RequestパケットをAAA Serverへ送信する(ステップS203)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF AA Request」である。User IDフィールドの値はUID−usr0である。Credentialフィールドの値はCred−usr0である。IP Addressフィールドの値はIP−afn1である。AF Nameフィールドの値はAFName−af1である。
そして、AAA Serverは、AF AA Requestパケットを受信すると、User IDフィールドとCredentialフィールドの値を基にAFC User0を認証し、AFC User0がAF Node1においてAF1を起動する権限を有しているかを検証する。続いて、AAA Serverは、図17に示すAF AA ResponseパケットをAFC Managerへ送信する(ステップS204)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF AA Response」である。Statusフィールドの値は認証認可の確認が正常であることを示す「OK」である。
そして、AFC Managerは、AFC Daemon1−pとの間に制御用TLSコネクションの確立を開始し(ステップS205)、AFC Daemon1−pは、子プロセスとしてAFC Daemon1を生成する(ステップS206)。
生成されたAFC Daemon1は、制御用TLSコネクション確立処理を続行し、結果としてAFC ManagerとAFC Daemon1の間に制御用TLSコネクションが確立される(ステップS207)。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−af1とする。また、AFC Daemon1における制御用TLSコネクションのためのソケットをCSock−af1−mgrとする。
そして、AFC Managerは、図18に示すAF Invoke RequestパケットをAFC Daemon1へ送信する(ステップS208)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Invoke Request」である。User IDフィールドの値はUID−usr0である。AF Nameフィールドの値はAFName−af1である。AF Parameterフィールドの値はAFPram−af1である。
AFC Daemon1は、AF Invoke Requestパケットを受信すると、AFParam−af1を指定してAF1を起動する(ステップS209)。その際、AF1へのデータ入力ポートであるPt−af1−input、AF1からのデータ出力ポートであるPt−af1−output、および、AF1からの状態出力ポートであるPt−af1−statの3つのポートを生成する。
そして、AFC Daemon1は、図19に示すAF Invoke ResponseパケットをAFC Managerへ送信する(ステップS210)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Invoke Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
AFC Managerは、AF Invoke Responseパケットを受信すると、AF1に識別子としてAFID−af1を付与する。さらにAF Session KeyとしてSKey−usr0−af1を生成し、保存する(ステップS211)。
そして、AFC Managerは、図20に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS212)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。AFC IDフィールドの値は[null]である。User IDフィールドの値はUID−usr0である。IP Addressフィールドの値はIP−afn1である。AF IDフィールドの値はAFID−af1である。Usageフィールドの値は、AF1を設置したことを表す「AF Setup」である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS213)。
そして、AFC Managerは、図15に示すAF Setup ResponseパケットをAFC Constructorへ送信する(ステップS214)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Setup Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。AF IDフィールドの値はAFID−af1である。AF Session Keyフィールドの値はSKey−usr0−af1である。
AFC Constructorは、AF Setup Responseパケットを受信すると、SKey−usr0−af1を保存し(ステップS215)、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS216)。
以上の処理の結果、AF Session KeyであるSKey−usr0−af1は、AFC ConstructorとAFC Managerとの間で共有される。また、AFC ManagerとAFC Daemon1の間には制御用TLSコネクションが維持される。
次に、同様の手順で、AFC Constructorは、AF Node2上にAFC Daemon2を設置し、AF Node3上にAFC Daemon3を設置する。AFC ManagerとAFC Daemon2との間にはAF Session KeyとしてSKey−usr0−af2が共有され、AFC ManagerとAFC Daemon3との間にはAF Session KeyとしてSKey−usr0−af3が共有される。
また、AFC ManagerとAFC Daemon2との間には制御用TLSコネクションが維持される。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−af2とする。また、AFC Daemon2における制御用TLSコネクションのためのソケットをCSock−af2−mgrとする。
また、AFC ManagerとAFC Daemon3との間には制御用TLSコネクションが維持される。ここで、AFC Managerにおける制御用TLSコネクションのためのソケットをCSock−mgr−af3とする。また、AFC Daemon3における制御用TLSコネクションのためのソケットをCSock−af3−mgrとする。
AF1〜AF3を設置した結果、AFC Managerは、図21に示す各テーブルを保持する。図10に示したUser TableのPtr to AF Tableフィールドの値はAF Tableを指すポインタとなり、3つのAF Tableが加わっている。1つ目のAF Tableは、AF1に関するものである。各フィールドの値は以下のとおりである。Ptr to Next AF Tableフィールドの値は、2つ目のAF Tableへのポインタである。IP Addressフィールドの値はIP−afn1である。AF IDフィールドの値はAFID−af1である。Control Socketフィールドの値はCSock−mgr−af1である。AF Session Keyフィールドの値はSKey−usr0−af1である。
2つ目のAF Tableは、AF2に関するものであり、3つ目のAF TableはAF3に関するものである。2つ目と3つ目のAF Tableについても各フィールドの値は同様であるが、3つ目のAF TableのPtr to Next AF Tableフィールドの値は[null]である。
また、AF1の設置後に、AFC Daemon1は、図22に示すAFC Tableを保持する。各フィールドの値は以下のとおりである。Control Socketフィールドの値はCSock−af1−mgrである。AF Data Input Portフィールドの値はPt−af1−inputである。AF Data Output Portフィールドの値はPt−af1−outputである。AF Status Portフィールドの値はPt−af1−statである。
No of Data Input Socketsフィールドの値は、アプリケーションメッセージを受信するためにGate Daemonや他のAFC Daemonとの間に確立したデータ用TLSコネクションのためのソケットの個数を示す。この時点での値は0である。本フィールドの値が1以上の場合、本フィールドに続いて本フィールドの値が示す個数分のData Input Socketフィールドが続く。この時点では、Data Input Socketフィールドは存在しない。
No of Data Output Socketsフィールドの値は、アプリケーションメッセージを送信するために確立したデータ用TLSコネクションのためのソケットの個数を示す。この時点での値は0である。本フィールドの値が1以上の場合、本フィールドに続いて本フィールドの値が示す個数分のData Output Socketフィールドが続く。この時点では、Data Output Socketフィールドは存在しない。
Operatorフィールドは、AF Status Portから得られたAF1の返戻値に適用する演算子を示す。この時点での値は未定義([undef])である。Operandフィールドは、Operatorフィールドが示す演算子に対するオペランドである。この時点での値は未定義([undef])である。
True Data Output Socket Indexフィールドの値は、AF1の返戻値にOperatorフィールドが示す演算子とOperandフィールドが示すオペランドを適用したとの値(判定値)が真であるときにアプリケーションメッセージを送信するData Output Socketのインデクスを示す。この時点での値は未定義([undef])である。False Data Output Socket Indexフィールドの値は、判定値が偽であるときにアプリケーションメッセージを送信するData Output Socketのインデクスを示す。この時点での値は未定義([undef])である。
また、AF2の設置後に、AFC Daemon2は、図23に示したAFC Tableを保持する。また、AF3の設置後に、AFC Daemon3は、図24に示したAFC Tableを保持する。これらAFC Daemon2やAFC Daemon3が保持するAFC Tableの各フィールドの値は、AFC Daemon1が保持するAFC Tableの各フィールドの値と同様である。
(AFCの設置手順)
次に、AFC Constructorが、図2に示したAFCを設置する手順について、図25および図26を用いて説明する。図25は、AFCの設置処理の処理手順を示す図(その1)である。また、図26は、AFCの設置処理の処理手順を示す図(その2)である。なお、図25および図26に示す処理手順で設置されるAFCをAFC1と呼ぶこととする。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS301)。
AFC Constructorは、図27に示すAFC Setup RequestパケットをAFC Managerへ送信する(ステップS302)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Setup Request」である。User IDフィールドの値はUID−usr0である。続く2つのフィールドはIngressとなるGate Daemon1に関するものである。AF IDフィールドの値はAFID−gt1である。Certificateフィールドの値はCert−usr0−gt1である。Cert−usr0−gt1の作成方法としては、本パケットにSKey−usr0−gt1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
No of AFsフィールドの値はAFCを構成するAFの数を示す。この例では値は3である。続く2つのフィールドはAF1に関するものである。AF IDフィールドの値はAFID−af1である。Certificateフィールドの値はCert−usr0−af1である。Cert−usr0−af1の作成方法としては、本パケットにSKey−usr0−af1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。続く2つのフィールドはAF2に関するものであり、さらに続く2つのフィールドはAF3に関するものである。
No of Egressesフィールドの値は、EgressとなるGate Daemonの数を示す。この例では値は1である。続く2つのフィールドはEgressとなるGate Daemon2に関するものである。AF IDフィールドの値はAFID−gt2である。Certificateフィールドの値はCert−usr0−gt2である。Cert−usr0−gt2の作成方法としては、本パケットにSKey−usr0−gt2を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
No of Connectionsフィールドの値は、AFCを構成するデータ用TLSコネクションの数を示す。この例では値は5である(Gate Daemon1とAFC Daemon1との間、AFC Daemon1とAFC Daemon2との間、AFC Daemon1とAFC Daemon3との間、AFC Daemon3とAFC Daemon2との間、および、AFC Daemon2とGate Daemon2との間)。続く2つのフィールドは1つ目のデータ用TLSコネクションに関するものである。Src AF Indexフィールドの値は、データ用TLSコネクションの確立を能動的に行うAFC DaemonあるいはGate Daemonのインデクスを示す。Dst AF Indexフィールドの値は、データ用TLSコネクションの確立を受動的に行うAFC DaemonあるいはGate Daemonのインデクスを示す。この例ではSrc Daemon Indexフィールドの値は0であり、これはGate Daemon1を示す。Dst Daemon Indexフィールドの値は1であり、これはAFC Daemon1を示す。以下、4組の2つのフィールドの組が4つのデータ用TLSコネクションを示す。
No of Conditionsフィールドの値は、AFの返戻値によってAFCが分岐する場合の条件の個数を示す。この例では値は1である(AFC Daemon1における分岐)。続く5つのフィールドは、1つの条件に関するものである。AF Indexフィールドの値は、この条件を設定するAFのインデクスである。この例では値は1であり、これはAF1を示す。Operatorフィールドの値は、AFの返戻値に適用する演算子を示す。この例ではOP−af1である。Operandフィールドの値は、上記の演算子のオペランドを示す。この例ではOpd−af1である。True Conn Indexフィールドの値は、上記の演算の結果が真の場合にアプリケーションメッセージを送信するデータ用TLSコネクションのインデクスである。この例では値は1(AF1からAF2へのデータ用TLSコネクション)である。False Conn Indexフィールドの値は、上記の演算の結果が偽の場合にアプリケーションメッセージを送信するデータ用TLSコネクションのインデクスである。この例では値は2(AF1からAF3へのデータ用TLSコネクション)である。
AFC Managerは、AFC Setup Requestパケットを受信すると、AFC Setup Requestパケットに含まれる5組のAF IDフィールドの値とCertificateフィールドの値の対に基づき、AFC User0がGate Daemon1、AF1、AF2、AF3およびGate Daemon2を利用する権限を有することを検証する。続いて、AFC Managerは、AFC Setup Requestパケットが示す5つのデータ用TLSコネクションを確立する。1つ目のコネクション(Gate Daemon1とAFC Daemon1との間)を確立するため、AFC Managerは図29に示すConn Estab P RequestパケットをAFC Daemon1へ送信する(ステップS303)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Conn Estab P Request」である。
そして、AFC Daemon1は、Conn Estab P Requestパケットを受信すると、データ用TLSコネクションを受動的に確立するためのポートであるDPt−af1−gt1を生成する。続いて、AFC Daemon1は、図30に示すConn Estab P ResponseパケットをAFC Managerへ送信する(ステップS304)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Conn Estab P Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。Data Portフィールドの値はDPt−af1−gt1である。
AFC Managerは、Conn Estab P Responseパケットを受信すると、図31に示すConn Estab A ReqeustパケットをGate Daemon1へ送信する(ステップS305)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Conn Estab A Request」である。IP Addressフィールドの値はIP−afn1である。Data Portフィールドの値はDPt−af1−gt1である。
Gate Daemon1は、Conn Estab A Requestパケットを受信すると、AFC Daemon1のデータ用ポートであるDPt−af1−gt1との間にデータ用TLSコネクションを確立する(ステップS306)。ここで、Gate Daemon1におけるデータ用TLSコネクションのためのポートをDPt−gt1−af1とする。また、Gate Daemon1におけるデータ用TLSコネクションのためのソケットをDSock−gt1−af1とする。また、AFC Daemon1におけるデータ用TLSコネクションのためのソケットをDSock−af1−gt1とする。
そして、Gate Daemon1は、図32に示すConn Estab A ResponseパケットをAFC Managerへ送信する(ステップS307)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Conn Estab A Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。Data Socketフィールドの値はDSock−gt1−af1である。
なお、AFC Daemon1とAFC Daemon2の間、AFC Daemon1とAFC Daemon3の間、AFC Daemon3とAFC Daemon2の間、および、AFC Daemon2とGate Daemon2の間のデータ用TLSコネクションも、上記のステップS303〜S307と同様にして確立する(ステップS308)。
ここで、AFC Daemon1とAFC Daemon2の間のデータ用TLSコネクションにおいて、AFC Daemon1におけるポートをDPt−af1−af2とし、ソケットをDSock−af1−af2とする。また、AFC Daemon2におけるポートをDPt−af2−af1とし、ソケットをDSock−af2−af1とする。
また、AFC Daemon1とAFC Daemon3の間のデータ用TLSコネクションにおいて、AFC Daemon1におけるポートをDPt−af1−af3とし、ソケットをDSock−af1−af3とする。また、AFC Daemon3におけるポートをDPt−af3−af1とし、ソケットをDSock−af3−af1とする。
また、AFC Daemon3とAFC Daemon2の間のデータ用TLSコネクションにおいて、AFC Daemon3におけるポートをDPt−af3−af2とし、ソケットをDSock−af3−af2とする。また、AFC Daemon2におけるポートをDPt−af2−af3とし、ソケットをDSock−af2−af3とする。
また、AFC Daemon2とGate Daemon2の間のデータ用TLSコネクションにおいて、AFC Daemon2におけるポートをDPt−af2−gt2とし、ソケットをDSock−af2−gt2とする。また、Gate Daemon2におけるポートをDPt−gt2−af2とし、ソケットをDSock−gt2−af2とする。
AFC Managerは、各AFC Daemonおよび各Gate Deamonにおけるデータ用TLSコネクションのためのソケットを知る。
続いて、AFC Managerは、図33に示すSet Condition RequestパケットをAFC Daemon1へ送信する(ステップS309)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set Condition Request」である。Operatorフィールドの値はOp−af1である。Operandフィールドの値はOpd−af1である。True DataSocketフィールドの値はDSock−af1−af2である。False Data Socketフィールドの値はDSock−af1−af3である。
そして、AFC Daemon1は、Set Condition Requestパケットを受信すると、Operatorフィールドの値、Operandフィールドの値、True Data Socketフィールドの値、および、False Data Socketフィールドの値を自身のAFC Tableへ格納する。続いて、AFC Daemon1は、図34に示すSet Condition ResponseパケットをAFC Managerへ送信する(ステップS310)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set Condition Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、Set Condition Responseパケットを受信すると、AFC Session KeyとしてSKey−usr0−afc1を生成し、保存するとともに(ステップS311)、図35に示すSet Session Key RequestパケットをGate Daemon1へ送信する(ステップS312)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set Session Key Request」である。AFC Session Keyフィールドの値はSKey−usr0−afc1である。
そして、Gate Daemon1は、Set Session Key Requestパケットを受信すると、AFC Session Keyフィールドの値を自身のAFC Tableへ保存するとともに(ステップS313)、図36に示すSet Session Key ResponseパケットをAFC Managerへ送信する(ステップS314)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set Session Key Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、Set Session Key Responseパケットを受信すると、図37に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS315)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr0である。Usageフィールドの値はAFCの設置を示す「AFC Setup」である。AF IDフィールドの値は[null]である。AFC IDフィールドの値はAFCID−afc1である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS316)。
また、AFC Managerは、Set Session Key Responseパケットを受信すると、図28に示すAFC Setup ResponseパケットをAFC Constructorへ送信する(ステップS317)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Setup Response」である。AFC IDフィールドの値はAFCID−afc1である。Statusフィールドの値は処理が正常であることを示す「OK」である。Data Portフィールドの値はDPt−gt1−appである。AFC Session Keyフィールドの値はSKey−usr0−afc1である。
そして、AFC Constructorは、AFC Setup Responseパケットを受信すると、AFC Session Keyフィールドの値を保存し(ステップS318)、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS319)。
以上の処理によりAFC1を設置した結果、AFC Managerは、図38に示す各テーブルを保持する。図21に示したテーブルに対し、ここでは、AFC Tableが加わっており、User TableのPtr to AFC Tableフィールドの値は、AFC Tableを指すポインタとなる。AFC Tableの各フィールドの値は以下のとおりである。Ptr to Next AFC Tableフィールドの値は[null]である。AFC IDフィールドの値はAFCID−afc1である。AFC Session Keyフィールドの値はSKey−usr0−afc1である。No of AFsフィールドの値は5である。これは、このAFCに含まれるAFの数である3に、Gate Daemonの数である2を加えたものである。続く5つのフィールドはGate DaemonあるいはAFの識別子を示す。
また、AFC1の設置後に、Gate Daemon1は、図39に示すIngress Tableを保持する。図11に示したGate Tableに対し、ここでは、Data Output Socketフィールドの値がDSock−gt1−af1となる。このソケットは、Gate Daemon1がAFC Daemon1へアプリケーションメッセージを送信するためのものである。
また、AFC1の設置後に、Gate Daemon2は、図40に示すEgress Tableを保持する。図12に示したGate Tableに対し、ここでは、No of Data Input Socketsフィールドの値が1となっており、Data Input Socketフィールドが1つ加わり、その値はDSock−gt2−af2となっている。このソケットは、Gate Daemon2がAFC Daemon2からアプリケーションメッセージを受信するためのものである。
また、AFC1の設置後に、AFC Daemon1は、図41に示すAFC Tableを保持する。図22に示したAFC Tableに対し、ここでは、No of Data Input Socketsフィールドの値が1になっており、Data Input Socketフィールドが1つ加わり、その値はDSock−af1−gt1となっている。また、No of Data Output Socketsフィールドの値が2になっており、Data Output Socketフィールドが2つ加わり、その値はそれぞれDSock−af1−af2およびDSock−af1−af3となっている。さらに、Operatorフィールドの値がOp−af1に、Operandフィールドの値がOpd−af1に、True Data Output Socket Indexフィールドの値が0に、False Data Output Socket Indexフィールドの値が1になっている。
また、AFC1の設置後に、AFC Daemon2は、図42に示すAFC Tableを保持する。図23に示したAFC Tableに対し、ここでは、No of Data Input Socketsフィールドの値が2になっており、Data Input Socketフィールドが2つ加わり、その値はそれぞれDSock−af2−af1およびDSock−af2−af3となっている。また、No of Data Output Socketsフィールドの値が1になっており、Data Output Socketフィールドが1つ加わり、その値はDSock−af2−gt2となっている。さらに、True Data Output Socket Indexフィールドの値が0になっている。
また、AFC1の設置後に、AFC Daemon3は、図43に示すAFC Tableを保持する。図24に示したAFC Tableに対し、ここで、No of Data Input Socketsフィールドの値が1になっており、Data Input Socketフィールドが1つ加わり、その値はDSock−af3−af1となっている。また、No of Data Output Socketsフィールドの値が1になっており、Data Output Socketフィールドが1つ加わり、その値はDSock−af3−af2となっている。さらに、True Data Output Socket Indexフィールドの値が0になっている。
(AFC利用権限の付与手順)
次に、AFC利用権限の付与処理の処理手順について、図44を用いて説明する。図44は、AF UserへのAFC利用権限の付与処理の処理手順を示す図である。かかる処理は、AFC Constructorが、上記の手順で設置したAFC1の利用権限をAFC User1へ付与することをAAA Serverへ登録する処理である。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS401)。
そして、AFC Constructorは、図45に示すAFC Permission RequestパケットをAFC Managerへ送信する(ステップS402)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Permission Request」である。AFC IDフィールドの値はAFCID−afc1である。Constructor IDフィールドの値はUID−usr0である。Certificateフィールドの値はCert−usr0−afc1である。Cert−usr0−afc1の作成方法としては、本パケットにSKey−usr0−afc1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。No of User IDsフィールドの値は1である。User IDフィールドの値はUID−usr1である。
AFC Managerは、FC Permission Requestパケットを受信すると、AFC IDフィールドの値、Constructor IDフィールドの値、および、Certificateフィールドの値から、Constructor IDフィールドの値が示すAF User(AF User0)が、AFC IDフィールドが示すAFC(AFC1)の作成者であることを検証する。続いて、Constructor IDフィールドの値が示すAF User(AF User0)が、AFC IDフィールドが示すAFC(AFC1)の作成者であると判定された場合に、AFC Managerは、AFC Permission RequestパケットをAAA Serverへ転送する(ステップS403)。
AAA Serverは、AFC Permission Requestパケットを受信すると、User IDフィールドが示すAFC User(AFC User1)に、AFC IDフィールドが示すAFC(AFC1)の利用権限を与える。続いて、AAA Serverは、図46に示すAFC Permission ResponseパケットをAFC Managerへ送信する(ステップS404)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Permission Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
AFC Managerは、AFC Permission Responseパケットを受信すると、これをAFC Constructorへ転送する(ステップS405)。
AFC Constructorは、AFC Permission Responseパケットを受信すると、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS406)。なお、AFC Constructorは、上記と同様の手順で、AFC User2にもAFC1の使用権を付与する。
(アプリケーションによるAFC Session Keyの取得手順)
次に、アプリケーションによるAFC Session Keyの取得処理の処理手順について、図47を用いて説明する。図47は、アプリケーションによるAFC Session Keyの取得処理の処理手順を示す図である。
まず、App1は、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS501)。
そして、App1は、図48に示すGet User Session Key RequestパケットをAFC Managerへ送信する(ステップS502)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Get User Session Key Request」である。AFC IDフィールドの値はAFCID−afc1である。User IDフィールドの値はUID−usr1である。Credentialフィールドの値はCred−usr1である。Cred−user1の内容は、AFC User1のパスワードなどが考えられる。
AFC Managerは、Get User Session Key Requestパケットを受信すると、図50に示すAFC AA RequestパケットをAAA Serverへ送信する(ステップS503)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC AA Request」である。AFC IDフィールドの値はAFCID−afc1である。User IDフィールドの値はUID−usr1である。Credentialフィールドの値はCred−usr1である。
AAA Serverは、AFC AA Requestパケットを受信すると、AFC IDフィールドの値、User IDフィールドの値、および、Credentialフィールドの値により、User IDフィールドが示すAFCユーザ(AFC User1)が、AFC IDフィールドが示すAFC(AFC1)を利用する権限を有することを検証する。続いて、User IDフィールドが示すAFCユーザ(AFC User1)が、AFC IDフィールドが示すAFC(AFC1)を利用する権限を有すると判定された場合に、AAA Serverは、図51に示すAFC AA ResponseパケットをAFC Managerへ送信する(ステップS504)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC AA Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、AFC AA Responseパケットを受信すると、User Session KeyとしてSKey−usr1−afc1を生成するとともに(ステップS505)、図52に示すSet User Session Key RequestパケットをGate Daemon1へ送信する(ステップS506)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set User Session Key Request」である。AFC IDフィールドの値はAFCID−afc1である。User IDフィールドの値はUID−usr1である。User Session Keyフィールドの値はSKey−usr1−afc1である。
Gate Daemon1は、Set User Session Key Requestパケットを受信すると、User Session Keyフィールドの値(SKey−usr1−afc1)を保存するとともに(ステップS507)、図53に示すSet User Session Key ResponseパケットをAFC Managerへ送信する(ステップS508)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Set User Session Key Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、Set User Session Key Responseパケットを受信すると、図49に示すGet User Session Key ResponseパケットをApp1へ送信する(ステップS509)。Packet Typeフィールドの値は「Get User Session Key Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。User Session Keyフィールドの値はSKey−usr1−afc1である。Data Portフィールドの値はDPt−gt1−appである。IP Addressフィールドの値はIP−gtn1である。
そして、App1は、Get User Session Key Responseパケットを受信すると、User Session Keyフィールドの値(SKey−usr1−afc1)、Data Portフィールドの値(DPt−gt1−app)、および、IP Addressフィールドの値(IP−gtn1)を保存し(ステップS510)、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS511)。
この処理の結果、Gate Daemon1は、図54に示すIngress Tableを保持する。図39に示したIngress Tableに対し、ここでは、No of Input Appsフィールドの値が1になっており、User IDフィールド、User Session Keyフィールド、および、Data Input Socketフィールドが加わっている。User IDフィールドの値はUID−usr1である。User Session Keyフィールドの値はSKey−usr1−afc1である。Data Input Socketフィールドの値は、この時点では不定([undef])である。
なお、App2も同様の処理を行う。その結果、Gate Daemon2は、図55に示すEgress Tableを保持する。図40に示したEgress Tableに対し、ここでは、No of Output Appsフィールドの値が1になっており、User IDフィールド、User Session Keyフィールド、および、Data Output Socketフィールドが加わっている。User IDフィールドの値はUID−usr2である。User Session Keyフィールドの値はSKey−usr2−afc1である。Data Output Socketフィールドの値は、この時点では不定([undef])である。
(第1のデータ通信手順)
次に、AFCでの第1のデータ通信処理の処理手順について、図56を用いて説明する。図56は、第1のデータ通信処理の処理手順を示す図である。図2に示したAFCアーキテクチャでは、AF1において次段のAFがAF2とAF3に分岐するが、図56の例ではAF2が選択されるものとする。
App1は、アプリケーションメッセージをGate Daemon1へ送信する。アプリケーションメッセージは、AF1で処理され、続いてAF2で処理される。App2は、アプリケーションメッセージをGate Daemon2から受信する。
ここで、App Node1のIPアドレスをIP−appn1とする。また、AFC App1がデータ通信のために使用するポートをDPt−app1とする。また、App Node2のIPアドレスをIP−appn2とする。また、AFC App2がデータ通信のために使用するポートをDPt−app2とする。
まず、App2は、Gate Daemon2との間にデータ用TLSコネクションを確立する(ステップS601)。ここで、Gate Daemon2におけるデータ用TLSコネクションのためのポートをDPt−gt2−app2とし、ソケットをDSock−gt2−app2とする。その結果、Gate Daemon2は、図58に示すEgress Tableを保持する。図55に示したEgress Tableに対し、ここでは、Data Output Socketフィールドの値がDSock−gt2−app2となる。
そして、App2は、AFCからデータを受信するため、図59に示すSubscribe RequestパケットをGate Daemon2へ送信する(ステップS602)。Subscribe RequestパケットはIPヘッダ、TCPヘッダ、および、Pub/Subヘッダから構成される。Pub/Subヘッダにおいて、Packet Typeフィールドの値は「Subscribe Request」である。AFC IDフィールドの値はAFCID−afc1である。User IDフィールドの値はUID−usr2である。Certificateフィールドの値はCert−usr2−afc1である。Cert−usr2−afc1の作成方法としては、本パケットにSKey−usr2−afc1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
TCPヘッダに関しては始点ポートフィールド(Src Port)と終点ポートフィールド(Dst Port)のみを示す。Src Portフィールドの値は、App2がデータ用TLSコネクションのために使用するポートであるDPt−app2である。Dst Portフィールドの値はDPt−gt2−app2である。
IPヘッダに関しては始点アドレスフィールド(Src IP)と終点アドレスフィールド(Dst IP)のみを示す。Src IPフィールドの値は、App Node2のIPアドレスであるIP−appn2である。Dst IPフィールドの値はIP−gtn2である。
Gate Daemon2は、Subscribe RequestパケットのAFC IDフィールド、User IDフィールド、および、Certificateフィールドの値から、App2がAFCを利用する権限を有することを検証し、図60に示すSubscribe ResponseパケットをApp2へ送信する(ステップS603)。各フィールドの値は以下のとおりである。Src IPフィールドとDst IPフィールドの値およびSrc PortフィールドとDst Sortフィールドの値はSubscribe Requestパケットと入れ替わっている。Packet Typeフィールドの値は「Subscribe Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
また、App1は、Gate Daemon1との間にデータ用TLSコネクションを確立する(ステップS604)。ここで、Gate Daemon1におけるデータ用TLSコネクションのためのポートをDPt−gt1−app1とし、ソケットをDSock−gt1−app1とする。その結果、Gate Daemon1は、図57に示すGate Tableを保持する。図54に示したGate Tableに対し、ここでは、Data Input Socketフィールドの値がDSock−gt1−app1となっている。このソケットは、Gate Daemon1がApp1からアプリケーションメッセージを受信するためのものである。
そして、App1は、アプリケーションメッセージを送信するため、図61に示すPublish RequestパケットをGate Daemon1へ送信する(ステップS605)。アプリケーションメッセージにはPub/Subヘッダが付加され、さらにTCPヘッダとIPヘッダが付加される。この例ではアプリケーションメッセージ長が長く、2つのTCP/IPパケットを要するものとする。
Pub/Subヘッダにおいて、Packet Typeフィールドの値は「Publish Request」である。AFC IDフィールドの値はAFCID−afc1である。User IDフィールドの値はUID−usr1である。Certificateフィールドの値はCert−usr1−afc1である。Cert−usr1−afc1の作成方法としては、本パケットにSKey−usr1−afc1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。Message Lengthフィールドの値はアプリケーションメッセージの長さであるLen−app1である。
TCPヘッダに関しては始点ポートフィールド(Src Port)と終点ポートフィールド(Dst Port)のみを示す。Src Portフィールドの値は、App1がデータ用TLSコネクションのために使用するポートであるDPt−app1である。Dst Portフィールドの値はDPt−g1−app1である。
IPヘッダに関しては始点アドレスフィールド(Src IP)と終点アドレスフィールド(Dst IP)のみを示す。Src IPフィールドの値はApp Node1のIPアドレスであるIP−appn1である。Dst IPフィールドの値はIP−gtn1である。2つ目のパケットのIPヘッダとTCPヘッダの値は1つ目と同じである。
Gate Daemon1は、Publish Requestパケットを受信すると、Publish RequestパケットのAFC IDフィールド、User IDフィールド、および、Certificateフィールドの値から、App1がAFCを利用する権限を有することを検証し、図62に示すPublish ResponseパケットをApp1へ送信する(ステップS606)。
Pub/Subヘッダにおいて、Packet Typeフィールドの値は「Publish Response」である。AFC IDフィールドの値はAFCID−afc1である。Statusフィールドの値は処理が正常であることを示す「OK」である。
IPヘッダとTCPヘッダにおいては、Src IPフィールドとDst IPフィールドの値およびSrc PortフィールドとDst Sortフィールドの値がPublish Requestパケットと入れ替わっている。
そして、Gate Daemon1は、図63に示すデータパケットをAFC Daemon1へ送信する(ステップS607)。アプリケーションメッセージにAFCヘッダが付加され、さらにTCPヘッダとIPヘッダが付加される。この例ではアプリケーションメッセージ長が長く、2つのTCP/IPパケットを要するものとする。AFCヘッダにおいて、Message Lengthフィールドの値はLen−app1である。
TCPヘッダにおいて、Src Portフィールドの値はDPt−gt1−af1であり、Dst Portフィールドの値はDPt−af1−gt1である。IPヘッダにおいて、Src IPフィールドの値はIP−gtn1であり、Dst IPフィールドの値はIP−afn1である。2つ目のパケットのIPヘッダおよびTCPヘッダの各フィールドの値は1つ目のパケットと同じである。
AFC Daemon1は、アプリケーションメッセージをすべて受信すると、Pt−af1−inputというポートを介してアプリケーションメッセージをAF1へ入力する(ステップS608)。
そして、AFC Daemon1は、Pt−af1−outputというポートを介してAF1からアプリケーションメッセージを受信するとともに、Pt−af1−statというポートを介してAF1の終了状態値を得る(ステップS609)。
AF1の処理により、アプリケーションメッセージサイズはLen−app1−af1に変化するものとする。AFC Daemon1は、AF1の終了状態値に、図41のOperatorフィールドが示すOp−1という演算子と、Operandフィールドが示すOpd−1というオペランドを作用させ、真偽値を得る。この例では真偽値は真であるとする。図41に示したAFC TableのTrue Data Output Socketフィールドの値は0であるので、データパケットを送信する際にはData Output Socket Indexが0であるDSock−af1−af2を使用する。
そして、AFC Daemon1は、図67に示すAccounting NotificationパケットをAFC Managerへ送信する(ステップS610)。Accounting Notificationパケットの各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr1である。Usageフィールドの値は、AFのために使われる資源に関する情報を示す。本実施形態では、Usageフィールドの値は、AF1の実行において使用した資源量を表すUsg−usr1−af1である。資源量としては、AF1に入力したアプリケーションメッセージサイズ、AF1の実行時間などが考えられる。AF IDフィールドの値はAFID−af1である。AFC IDフィールドの値はAFCID−afc1である。また、AFC Managerは、Accounting Notificationパケットを受信すると、これをAAA Serverへ転送する。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS611)。記録されたUsageフィールドの値は、AAA ServerによるAFC Appのアカウンティング(課金)に使われ得る。
また、AFC Daemon1は、図64に示すデータパケットをAFC Daemon2へ送信する(ステップS612)。AFCヘッダにおいて、App Message Lengthフィールドの値はLen−app1−af1である。TCPヘッダにおいて、Src Portフィールドの値はDPt−af1−af2であり、Dst Portフィールドの値はDPt−af2−af1である。IPヘッダにおいて、Src IPフィールドの値はIP−afn1であり、Dst IPフィールドの値はIP−afn2である。2つ目のパケットのIPヘッダおよびTCPヘッダの各フィールドの値は1つ目のパケットと同じである。
AFC Daemon2は、アプリケーションメッセージをすべて受信すると、Pt−af2−inputというポートを介してアプリケーションメッセージをAF2へ入力する(ステップS613)。
そして、AFC Daemon2は、Pt−af2−outputというポートを介してAF2からアプリケーションメッセージを受信する(ステップS614)。
AF2の処理により、アプリケーションメッセージサイズはLen−app1−af2に変化するものとする。図42に示したAFC TableのOperatorフィールドの値は[null]であり、True Data Output Socketフィールドの値は0であるので、データパケットを送信する際にはData Output Socket Indexが0であるDSock−af1−af2を使用する。
そして、AFC Daemon2は、ステップS610と同様にAccounting NotificationパケットをAFC Managerへ送信する(ステップS615)。AFC Managerは、Accounting Notificationパケットを受信すると、これをAAA Serverへ転送する。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS616)。
また、AFC Daemon2は、図65に示すデータパケットをGate Daemon2へ送信する(ステップS617)。AFCヘッダにおいて、Message Lengthフィールドの値はLen−app1−af2である。TCPヘッダにおいて、Src Portフィールドの値はDPt−af2−gt2であり、Dst Portフィールドの値はDPt−gt2−af2である。IPヘッダにおいて、Src IPフィールドの値はIP−afn2であり、Dst IPフィールドの値はIP−gtn2である。2つ目のパケットのIPヘッダおよびTCPヘッダの各フィールドの値は1つ目のパケットと同じである。
そして、Gate Daemon2は、データパケットを受信する。Gate Daemon2は、ステップS602でApp2からAFC1に関するSubscribe Requestを受信しているので、これに基づいて図66に示すSubscribe NotificationパケットをApp2へ送信する(ステップS618)。
Pub/Subヘッダにおいて、Packet Typeフィールドの値は「Subscribe Notification」である。AFC IDフィールドの値はAFCID−afc1である。Message Lengthフィールドの値はLen−app1−af2である。TCPヘッダにおいて、Src Portフィールドの値はDPt−gt2−app2であり、Dst Portフィールドの値はDPt−app2である。IPヘッダにおいて、Src IPフィールドの値はIP−gtn2であり、Dst IPフィールドの値はIP−appn2である。2つ目のパケットのIPヘッダおよびTCPヘッダの各フィールドの値は1つ目のパケットと同じである。
そして、App2は、Subscribe Notificationパケットを受信すると、Gate Daemon2との間のデータ用TLSコネクションを解放する(ステップS619)。また、App1は、Gate Daemon1との間のデータ用TLSコネクションを解放する(ステップS620)。
(第2のデータ通信手順)
次に、AFCでの第2のデータ通信処理の処理手順について、図68を用いて説明する。図68は、第2のデータ通信処理の処理手順を示す図である。かかる処理手順は、図56を用いて説明した第1のデータ通信処理に対し、以下の2つの点が異なる。
1つ目は、図56では、App1はPublish RequestパケットによりアプリケーションメッセージをGate Daemon1へ送信しているが、図68では、App1はHTTP(Hypertext Transfer Protocol)通信のHTTP Requestメッセージ(POST)によりアプリケーションメッセージをGate Daemon1へ送信している点である。
2つ目は、図56では、App2は、Subscribe Requestパケットによりアプリケーションメッセージ受信要求をGate Daemon2へ送信し、Subscribe Notificationパケットによりアプリケーションメッセージを受信しているが、図68では、App2は、HTTP Requestメッセージ(GET)によりアプリケーションメッセージ受信要求をGate Daemon2へ送信し、HTTP Responseメッセージによりアプリケーションメッセージを受信している点である。
まず、ステップS701は、図56におけるステップS601と同様である。そして、App2は、AFCからデータを受信するため、図69に示すHTTP RequestメッセージをGate Daemon2へ送信する(ステップS702)。なお、図69ではIPヘッダとTCPヘッダを省略している。
HTTP Requestメッセージのメソッドフィールドの値は「GET」である。URLフィールドの値は「/AFC」である。ヘッダラインの1行目はAFC IDを示している。ヘッダラインの2行目はUser IDを示している。ヘッダラインの3行目はCertificateを示している。Certificateの作成方法は図56のステップS602と同等である。
そして、ステップS703は、図56におけるステップS604と同様である。そして、App1は、アプリケーションメッセージを送信するため、図70に示すPOST RequestメッセージをGate Daemon1へ送信する(ステップS704)。なお、図70ではIPヘッダとTCPヘッダを省略している。
HTTP Requestメッセージのメソッドフィールドの値は「POST」である。URLフィールドの値は「/AFC」である。ヘッダラインの1行目はAFC IDを示している。ヘッダラインの2行目はUser IDを示している。ヘッダラインの3行目はCertificateを示している。Certificateの作成方法は図56のステップS605と同等である。ヘッダラインの4行目はアプリケーションメッセージサイズを示している。entity bodyフィールドにはアプリケーションメッセージが格納される。アプリケーションメッセージサイズが大きく1つのパケットに収まらない場合は、複数のパケットで送信される。
Gate Daemon1は、HTTP Requestメッセージのヘッダラインにより、User IDフィールドおよびCertificateフィールドの値からApp1がAFCを利用する権限を有することを検証し、図71に示すHTTP ResponseメッセージをApp1へ送信する(ステップS705)。HTTP Responseメッセージのstatus codeフィールドの値は「200」であり、phraseフィールドの値は「OK」である。
そして、ステップS706は、図56に示したステップS607〜S617と同様である。そして、Gate Daemon2は、図72に示すHTTP ResponseメッセージをApp2へ送信する(ステップS707)。HTTP Responseメッセージのstatus codeフィールドの値は「200」であり、phraseフィールドの値は「OK」である。ヘッダラインの1行目はAFC IDを示している。ヘッダラインの2行目はアプリケーションメッセージサイズを示している。entity bodyフィールドにはアプリケーションメッセージが格納される。アプリケーションメッセージサイズが大きく1つのパケットに収まらない場合は、複数のパケットで送信される。
そして、App2は、HTTP Responseメッセージを受信すると、Gate Daemon2との間のデータ用TLSコネクションを解放する(ステップS708)。また、App1は、Gate Daemon1との間のデータ用TLSコネクションを解放する(ステップS709)。
(AFCの削除手順)
次に、AFC ConstructorがAFCを削除する手順について、図73を用いて説明する。図73は、AFCの削除処理の処理手順を示す図である。なお、図73には、AFC1を削除する場合について示している。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS801)。
そして、AFC Constructorは、図74に示すAFC Delete RequestパケットをAFC Managerへ送信する(ステップS802)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Delete Request」である。AFC IDフィールドの値はAFCID−afc1である。Certificateフィールドの値はCert−usr0−afc1である。Cert−usr0−afc1の作成方法としては、本パケットにSKey−usr0−afc1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
そして、AFC Managerは、AFC Delete Requestパケットを受信すると、User IDフィールドの値、AFC IDフィールドの値、および、Certificateフィールドの値により、User IDフィールドが示すAFCユーザ(AFC User0)がAFC IDフィールドが示すAFC(AFC1)を削除する権限を有することを検証する。続いて、AFC Daemonは、図76に示すConnection Close Requestパケットを、Gate Daemon2、AFC Daemon2、AFC Daemon3、AFC Daemon1およびGate Daemon1へ送信する(ステップS803)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Connection Close Request」である。
そして、Connection Close Requestパケットを受信したGate Daemon2、AFC Daemon2、AFC Daemon3、AFC Daemon1およびGate Daemon1は、AFC1のためのデータ用TLSコネクションを解放する(ステップS804)。
続いて、Gate Daemon2、AFC Daemon2、AFC Daemon3、AFC Daemon1およびGate Daemon1は、それぞれ図77に示すConnection Close ResponseパケットをAFC Daemonへ送信する(ステップS805)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Connection Close Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、図78に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS806)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr0である。Usageフィールドの値は、AFCの削除を示す「Delete AFC」である。AF IDフィールドの値は[null]である。AFC IDフィールドの値はAFCID−afc1である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS807)。
そして、AFC Managerは、図75に示すAFC Delete ResponseパケットをAFC Constructorへ送信する(ステップS808)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AFC Delete Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Construtorは、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS809)。
(AFの削除手順)
次に、AFC ConstructorがAFを削除する手順について、図79を用いて説明する。図79は、AFの削除処理の処理手順を示す図である。なお、図79には、AF1を削除する場合について示している。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS901)。
そして、AFC Constructorは、図80に示すAF Delete RequestパケットをAFC Managerへ送信する(ステップS902)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Delete Request」である。User IDフィールドの値はUID−usr0である。AF IDィールドの値はAFID−af1である。Certificateフィールドの値はCert−usr0−af1である。Cert−usr0−af1の作成方法としては、本パケットにSKey−usr0−af1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
そして、AFC Managerは、AF Delete Requestパケットを受信すると、User IDフィールドの値、AF IDフィールドの値、および、Certificateフィールドの値により、User IDフィールドが示すAFCユーザ(AFC User0)が、AF IDフィールドが示すAF(AF1)を削除する権限を有することを検証する。続いて、AFC Managerは、AF Delete RequestパケットをAFC Daemon1へ転送する(ステップS903)。
そして、AFC Daemon1は、AF Delete Requestパケットを受信するとAF1の動作を停止させる(ステップS904)。
続いて、AFC Daemon1は、図81に示すAF Delete ResponseパケットをAFC Managerへ送信する(ステップS905)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「AF Delete Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、AF Delete Responseパケットを受信すると、AFC Daemon1との間の制御用TLSコネクションを解放し(ステップS906)、AFC Daemon1は動作を停止する(ステップS907)。
続いて、AFC Managerは、図82に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS908)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr0である。Usageフィールドの値は、AFの削除を示す「Delete AF」である。AF IDフィールドの値はAFID−af1である。AFC IDフィールドの値は[null]である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS909)。
そして、AFC Managerは、AF Delete ResponseパケットをAFC Constructorへ転送し(ステップS910)、AFC Constructorは、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS911)。
なお、AFC ConstructorがAF2やAF3を削除する場合は、上記と同様の手順を行う。
(Gate Daemonの削除手順)
次に、AFC ConstructorがGate Daemonを削除する手順について、図83を用いて説明する。図83は、Gate Daemonの削除処理の処理手順を示す図である。なお、図83には、Gate Daemon1を削除する場合について示している。
まず、AFC Constructorは、AFC Managerとの間に制御用TLSコネクションを確立する(ステップS1001)。
そして、AFC Constructorは、図84に示すGate Delete RequestパケットをAFC Managerへ送信する(ステップS1002)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Gate Delete Request」である。User IDフィールドの値はUID−usr0である。AF IDフィールドの値はAFID−gt1である。Certicateフィールドの値はCert−usr0−gt1である。Cert−usr0−gt1の作成方法としては、本パケットにSKey−usr0−gt1を付加したものをハッシュ関数にかけた結果とすることなどが考えられる。
そして、AFC Managerは、Gate Delete Requestパケットを受信すると、User IDフィールドの値、AF IDフィールドの値、および、Certificateフィールドの値により、User IDフィールドが示すAFCユーザ(AFC User0)がAF IDフィールドが示すGate Daemon(Gate Daemon1)を削除する権限を有することを検証する。続いて、AFC Managerは、Gate Delete RequestパケットをGate Daemon1へ転送する(ステップS1003)。
Gate Daemon1は、Gate Delete Requestパケットを受信すると、図85に示すGate Delete ResponseパケットをAFC Managerへ送信する(ステップS1004)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Gate Delete Response」である。Statusフィールドの値は処理が正常であることを示す「OK」である。
そして、AFC Managerは、Gate Delete Responseパケットを受信すると、Gate Daemon1との間の制御用TLSコネクションを解放し(ステップS1005)、Gate Daemon1は動作を停止する(ステップS1006)。
続いて、AFC Managerは、図86に示すAccounting NotificationパケットをAAA Serverへ送信する(ステップS1007)。各フィールドの値は以下のとおりである。Packet Typeフィールドの値は「Accounting Notification」である。User IDフィールドの値はUID−usr0である。Usageフィールドの値は、Gate Daemonの削除を示す「Delete Gate」である。AF IDフィールドの値はAFID−gt1である。AFC IDフィールドの値は[null]である。
AAA Serverは、Accounting Notificationパケットを受信すると、Usageフィールドの値を記録する(ステップS1008)。
そして、AFC Managerは、Gate Delete ResponseパケットをAFC Constructorへ転送し(ステップS1009)、AFC Constructorは、AFC Managerとの間の制御用TLSコネクションを解放する(ステップS1010)。
なお、AFC ConstructorがGate Daemon2を削除する場合は、上記と同様の手順を行う。
以上、本開示の実施の形態について説明した。続いて、本開示の実施の形態に係る各アプリケーションやノードとして機能しうる通信装置の機能構成例を説明する。
[1.3.通信装置の機能構成例]
図87は、本開示の実施の形態に係る各ノードとして機能しうる通信装置100の機能構成例を示す説明図である。図87に示した通信装置100は、通信部110、記憶部120および制御部130を含んで構成される。
通信部110は、ノード間の通信を実行する。ノード間の通信は有線であっても良く、無線であっても良い。通信部110からは、上述してきたパケットやメッセージが、制御部130の制御の基で他のノードとの間で、所定のポートより送信および所定のポートで受信される。
記憶部120は、上述してきたAFCのアーキテクチャで用いられる各種情報やプログラムを記憶する。たとえば、記憶部120は、上述してきた各種テーブルを記憶する。記憶部120は、各種メモリ、HDD等で構成されうる。
制御部130は、たとえばCPU(Central Processing Unit)等のプロセッサで構成され、上述してきたAFCのアーキテクチャに基づく処理を実行する。たとえば、制御部130は、アプリケーション間のメッセージングにおける、Gate Daemon、AFおよびAFCの設置、AFC利用権限の付与、AFC Session Keyの取得、データ通信、AFC、AFおよびGate Daemonの削除、等を実行する。
<2.まとめ>
以上説明したように本開示の実施の形態によれば、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることが可能な通信装置が提供される。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。たとえば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROM(Read Only Memory)およびRAM(Randam Access Memory)などのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
(効果)
上述してきたように、本開示に係る通信装置100は、1又は複数のAFC App(「アプリケーション」の一例に相当)を実行するApp Node(アプリケーションノード)として動作する通信装置であって、通信部110と、制御部130とを備える。通信部110は、他の論理ノードとの間の通信を実行する。制御部130は、通信部110による通信を制御する。また、上記他の論理ノードは、App Nodeを送信元又は送信先とするアプリケーションメッセージの送受信において、上記送受信の経路中に上記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFCが適用されるノードである。また、制御部130は、上記他の論理ノードへ向けて、上記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを通信部110から送信させる。
これにより、通信装置100は、AFC App間におけるアプリケーションメッセージの送受信につき、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることができる。たとえば、通信装置100は、出版−購読型モデルを用いることにより、スケーラビリティがよく、動的なネットワーク環境を提供することが可能となる。
また、制御部130は、上記App Nodeにおいて上記アプリケーションメッセージの送信元となるAFC Appが動作する場合に、上記App Nodeの後段に位置する上記他の論理ノード(たとえば、Gate Node1)に対し、出版要求パケット(たとえば、Publish Requestパケット)により通信部110に上記メッセージを送信させ、上記App Nodeにおいて上記アプリケーションメッセージの送信先となるAFC Appが動作する場合に、上記App Nodeの前段に位置する上記他の論理ノード(たとえば、Gate Node2)から、購読要求パケット(たとえば、Subscribe Requestパケット)により通信部110に上記メッセージを受信させる。
これにより、通信装置100は、たとえばApp Node1側とApp Node2側の結合度を低くさせ、スケーラビリティがよく、動的なネットワーク環境を提供することが可能となる。
また、制御部130は、上記App Nodeにおいて上記アプリケーションメッセージの送信元となるAFC Appが動作する場合に、上記App Nodeの後段に位置する上記他の論理ノード(たとえば、Gate Node1)に対し、HTTP通信におけるPOSTメソッドを用いて上記アプリケーションメッセージを通信部110から送信させ、上記App Nodeにおいて上記アプリケーションメッセージの送信先となるAFC Appが動作する場合に、上記App Nodeの前段に位置する上記他の論理ノード(たとえば、Gate Node2)から、HTTP通信におけるGETメソッドを用いて上記メッセージを通信部110から受信させる。
これにより、通信装置100は、App Node1側とApp Node2側の結合度を低くさせ、スケーラビリティがよく、動的なネットワーク環境を提供することが可能となる。また、HTTP通信を用いることにより、レスポンス性の向上に資することができる。
また、本開示に係る通信装置100は、通信部110と、制御部130とを備える論理ノード(たとえば、Gate DaemonやAF Node)として動作する。通信部110は、1又は複数のAFC Appを実行するApp Nodeとの間の通信を実行する。制御部130は、上記App Nodeを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に上記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFCを適用する。また、制御部130は、上記App Nodeを送信元又は送信先とする上記アプリケーションメッセージに対し、上記アプリケーション機能を作用させる場合に、上記アプリケーションメッセージを構成する1又は複数のパケットをすべて通信部110に受信させたうえで、上記アプリケーションメッセージを構成する1又は複数のパケット単位で上記アプリケーション機能を作用させる。
これにより、通信装置100は、AFC App間におけるアプリケーションメッセージの送受信につき、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることができる。たとえば、通信装置100は、アプリケーションメッセージを構成する1又は複数のパケット単位で、すなわち逐次パケットごとでなくアプリケーションメッセージごとにAFによる処理を実行させるため、処理負荷の低減に資することができる。
また、本開示に係る通信装置100は、通信部110と、制御部130とを備える管理ノード(たとえば、AFC Manager)として動作する。通信部110は、1又は複数のAFC Appを実行するApp Nodeを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行する。制御部130は、他の論理ノードを管理する。また、上記他の論理ノードは、通信部110による通信を制御し、且つ上記App Nodeを送信元又は送信先とする上記アプリケーションメッセージの送受信の経路中に上記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFCが適用される論理ノードであり、たとえば、Gate NodeやAF Nodeである。また、制御部130は、上記App Nodeを送信元又は送信先とする上記アプリケーションメッセージに対し、上記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケット(たとえば、Accounting Notificationパケット)を生成して通信部110から上記アカウンティングノードへ送信させる。
これにより、通信装置100は、AFC App間におけるアプリケーションメッセージの送受信につき、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることができる。たとえば、通信装置100は、アプリケーションメッセージの送受信に関し、利用者に対するアプリケーション機能ごとの課金管理等を可能にすることができる。
また、制御部130は、上記送信元又は送信先となる上記App Nodeにおいて動作するAFC Appの利用者のアカウンティングを実行する上記アカウンティングノードとして動作するAAA Server(「サーバ装置」の一例に相当)へ向けて、上記アプリケーション機能を作用させるに際して使用した資源を表すパケットを通信部110に送信させる。
これにより、通信装置100は、AAA Serverに一括してAFCにおけるアカウンティングを行わせることができる。
また、上記パケットが表す資源は、上記アプリケーション機能を作用させるに際して使用した資源の用途、および、使用した資源の量のうち少なくとも1つを示す。上記資源の用途は、制御部130によって管理される上記AFCが適用される1又は複数の論理ノードのうち少なくとも1つが設定される。言い換えれば、たとえばGate Daemonや、AF、AFC等がそれぞれ設置されたことを示す「Gate Setup」や、「AF Setup」、「AFC Setup」等が設定される。また、上記資源の量は、上記アプリケーションメッセージのサイズおよび上記アプリケーション機能の実行時間の少なくともいずれかを含む。
これにより、通信装置100は、資源の用途や、使用した資源の量などを含めたAFCにおける計算資源の管理を、たとえばAAA Serverに一括して行わせることができる。
また、本開示に係る通信装置100は、1又は複数のAFC Appを実行するApp Nodeとして動作する通信装置(たとえば、AFC Constructor)であって、通信部110と、制御部130とを備える。通信部110は、他の管理ノードとの間の通信を実行する。制御部130は、通信部110による通信を制御する。また、上記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に上記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFCとかかるAFCが適用される論理ノードとを管理するノードである。また、制御部130は、自アプリケーションノードが上記送受信の経路中に存在し且つAFCが適用されるノードを、上記他の管理ノードを介して作成した作成者である場合に、上記アプリケーションメッセージの送信元または送信先となるApp Nodeに対しAFCが適用される論理ノードの利用権限を付与するパケット(たとえば、AFC Permission Requestパケット)を生成して、通信部110に送信させる。
これにより、通信装置100は、App間におけるアプリケーションメッセージの送受信につき、ネットワーク内でパケットを転送させるサービスにおいて利便性高く、サービス利用者が希望するパケットに、サービス利用者が希望する1つまたは複数の機能を作用させることができる。たとえば、通信装置100は、App間のアプリケーションメッセージの送受信において適宜、動的に利用権限を付与することで、セキュリティの強化に資することができる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、
他の論理ノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と
を備え、
前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、
前記制御部は、
前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを前記通信部から送信させる、通信装置。
(2)
前記制御部は、
前記アプリケーションノードにおいて前記アプリケーションメッセージの送信元となるアプリケーションが動作する場合に、前記アプリケーションノードの後段に位置する前記他の論理ノードに対し、出版要求パケットにより前記通信部に前記メッセージを送信させ、
前記アプリケーションノードにおいて前記アプリケーションメッセージの送信先となるアプリケーションが動作する場合に、前記アプリケーションノードの前段に位置する前記他の論理ノードから、購読要求パケットにより前記通信部に前記メッセージを受信させる、前記(1)に記載の通信装置。
(3)
前記制御部は、
前記アプリケーションノードにおいて前記アプリケーションメッセージの送信元となるアプリケーションが動作する場合に、前記アプリケーションノードの後段に位置する前記他の論理ノードに対し、HTTP(Hypertext Transfer Protocol)通信におけるPOSTメソッドを用いて前記アプリケーションメッセージを前記通信部から送信させ、
前記アプリケーションノードにおいて前記アプリケーションメッセージの送信先となるアプリケーションが動作する場合に、前記アプリケーションノードの前段に位置する前記他の論理ノードから、HTTP通信におけるGETメソッドを用いて前記メッセージを前記通信部から受信させる、前記(1)に記載の通信装置。
(4)
1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行する通信部と、
前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用する制御部と
を備える論理ノードとして動作し、
前記制御部は、
前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて前記通信部に受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信装置。
(5)
1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行する通信部と、
他の論理ノードを管理する制御部と
を備える管理ノードとして動作し、
前記他の論理ノードは、前記通信部による通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、
前記制御部は、
前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記通信部から前記アカウンティングノードへ送信させる、通信装置。
(6)
前記制御部は、
前記送信元又は送信先となる前記アプリケーションノードにおいて動作するアプリケーションの利用者のアカウンティングを実行する前記アカウンティングノードとして動作するサーバ装置へ向けて、前記アプリケーション機能を作用させるに際して使用した資源を表すパケットを前記通信部に送信させる、前記(5)に記載の通信装置。
(7)
前記パケットが表す資源は、
前記アプリケーション機能を作用させるに際して使用した資源の用途、および、使用した資源の量のうち少なくとも1つを示し、
前記資源の用途は、前記制御部によって管理されている前記AFCが適用される1又は複数の論理ノードのうち少なくとも1つが設定され、
前記資源の量は、前記アプリケーションメッセージのサイズおよび前記アプリケーション機能の実行時間の少なくともいずれかを含む、前記(5)または(6)に記載の通信装置。
(8)
1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、
他の管理ノードとの間の通信を実行する通信部と、
前記通信部による通信を制御する制御部と
を備え、
前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、
前記制御部は、
自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、前記通信部に送信させる、通信装置。
(9)
1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、
他の論理ノードとの間の通信を実行することと、
前記他の論理ノードとの間の通信を制御することと
を含み、
前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、
前記制御することは、
前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを送信させる、通信方法。
(10)
論理ノードして動作する通信装置を用いた通信方法であって、
1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行することと、
前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用することと
を含み、
前記適用することは、
前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信方法。
(11)
管理ノードとして動作する通信装置を用いた通信方法であって、
1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行することと、
他の論理ノードを管理することと
を含み、
前記他の論理ノードは、前記アカウンティングノードとの間の通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、
前記管理することは、
前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記アカウンティングノードへ送信させる、通信方法。
(12)
1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、
他の管理ノードとの間の通信を実行することと、
前記他の管理ノードとの間の通信を制御することと
を含み、
前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、
前記制御することは、
自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、送信させる、通信方法。
100 通信装置
110 通信部
120 記憶部
130 制御部

Claims (12)

  1. 1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、
    他の論理ノードとの間の通信を実行する通信部と、
    前記通信部による通信を制御する制御部と
    を備え、
    前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、
    前記制御部は、
    前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを前記通信部から送信させる、通信装置。
  2. 前記制御部は、
    前記アプリケーションノードにおいて前記アプリケーションメッセージの送信元となるアプリケーションが動作する場合に、前記アプリケーションノードの後段に位置する前記他の論理ノードに対し、出版要求パケットにより前記通信部に前記メッセージを送信させ、
    前記アプリケーションノードにおいて前記アプリケーションメッセージの送信先となるアプリケーションが動作する場合に、前記アプリケーションノードの前段に位置する前記他の論理ノードから、購読要求パケットにより前記通信部に前記メッセージを受信させる、請求項1に記載の通信装置。
  3. 前記制御部は、
    前記アプリケーションノードにおいて前記アプリケーションメッセージの送信元となるアプリケーションが動作する場合に、前記アプリケーションノードの後段に位置する前記他の論理ノードに対し、HTTP(Hypertext Transfer Protocol)通信におけるPOSTメソッドを用いて前記アプリケーションメッセージを前記通信部から送信させ、
    前記アプリケーションノードにおいて前記アプリケーションメッセージの送信先となるアプリケーションが動作する場合に、前記アプリケーションノードの前段に位置する前記他の論理ノードから、HTTP通信におけるGETメソッドを用いて前記メッセージを前記通信部から受信させる、請求項1に記載の通信装置。
  4. 1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行する通信部と、
    前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用する制御部と
    を備える論理ノードとして動作し、
    前記制御部は、
    前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて前記通信部に受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信装置。
  5. 1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行する通信部と、
    他の論理ノードを管理する制御部と
    を備える管理ノードとして動作し、
    前記他の論理ノードは、前記通信部による通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、
    前記制御部は、
    前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記通信部から前記アカウンティングノードへ送信させる、通信装置。
  6. 前記制御部は、
    前記送信元又は送信先となる前記アプリケーションノードにおいて動作するアプリケーションの利用者のアカウンティングを実行する前記アカウンティングノードとして動作するサーバ装置へ向けて、前記アプリケーション機能を作用させるに際して使用した資源を表すパケットを前記通信部に送信させる、請求項5に記載の通信装置。
  7. 前記パケットが表す資源は、
    前記アプリケーション機能を作用させるに際して使用した資源の用途、および、使用した資源の量のうち少なくとも1つを示し、
    前記資源の用途は、前記制御部によって管理されている前記AFCが適用される1又は複数の論理ノードのうち少なくとも1つが設定され、
    前記資源の量は、前記アプリケーションメッセージのサイズおよび前記アプリケーション機能の実行時間の少なくともいずれかを含む、請求項5または6に記載の通信装置。
  8. 1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置であって、
    他の管理ノードとの間の通信を実行する通信部と、
    前記通信部による通信を制御する制御部と
    を備え、
    前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、
    前記制御部は、
    自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、前記通信部に送信させる、通信装置。
  9. 1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、
    他の論理ノードとの間の通信を実行することと、
    前記他の論理ノードとの間の通信を制御することと
    を含み、
    前記他の論理ノードは、前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信において、前記送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用されるノードであり、
    前記制御することは、
    前記他の論理ノードへ向けて、前記1又は複数のアプリケーション機能が作用するアプリケーションメッセージの送受信のために、出版−購読型モデルに従うメッセージを送信させる、通信方法。
  10. 論理ノードして動作する通信装置を用いた通信方法であって、
    1又は複数のアプリケーションを実行するアプリケーションノードとの間の通信を実行することと、
    前記アプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)を適用することと
    を含み、
    前記適用することは、
    前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、前記アプリケーションメッセージを構成する1又は複数のパケットをすべて受信させたうえで、前記アプリケーションメッセージを構成する1又は複数のパケット単位で前記アプリケーション機能を作用させる、通信方法。
  11. 管理ノードとして動作する通信装置を用いた通信方法であって、
    1又は複数のアプリケーションを実行するアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信に関連して、アカウンティングノードとの間の通信を実行することと、
    他の論理ノードを管理することと
    を含み、
    前記他の論理ノードは、前記アカウンティングノードとの間の通信を制御し、且つ前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)が適用される論理ノードであり、
    前記管理することは、
    前記アプリケーションノードを送信元又は送信先とする前記アプリケーションメッセージに対し、前記アプリケーション機能を作用させる場合に、当該アプリケーション機能を作用させるに際して使用した資源を表すパケットを生成して前記アカウンティングノードへ送信させる、通信方法。
  12. 1又は複数のアプリケーションを実行するアプリケーションノードとして動作する通信装置を用いた通信方法であって、
    他の管理ノードとの間の通信を実行することと、
    前記他の管理ノードとの間の通信を制御することと
    を含み、
    前記他の管理ノードは、自アプリケーションノード又は他のアプリケーションノードを送信元又は送信先とするアプリケーションメッセージの送受信の経路中に前記アプリケーションメッセージに対して1又は複数のアプリケーション機能が作用するAFC(Application Function Chaining)と前記AFCが適用される論理ノードとを管理するノードであり、
    前記制御することは、
    自アプリケーションノードが前記送受信の経路中に存在し且つ前記AFCが適用されるノードを、前記他の管理ノードを介して作成した作成者である場合に、前記アプリケーションメッセージの送信元または送信先となる前記他のアプリケーションノードに対し前記AFCが適用される論理ノードの利用権限を付与するパケットを生成して、送信させる、通信方法。
JP2019134106A 2019-07-19 2019-07-19 通信装置及び通信方法 Pending JP2021019294A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019134106A JP2021019294A (ja) 2019-07-19 2019-07-19 通信装置及び通信方法
PCT/JP2020/027140 WO2021015021A1 (ja) 2019-07-19 2020-07-10 通信装置及び通信方法
US17/618,499 US11743322B2 (en) 2019-07-19 2020-07-10 Communication device and communication method
EP20844753.2A EP4002774A4 (en) 2019-07-19 2020-07-10 COMMUNICATION DEVICE AND COMMUNICATION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019134106A JP2021019294A (ja) 2019-07-19 2019-07-19 通信装置及び通信方法

Publications (1)

Publication Number Publication Date
JP2021019294A true JP2021019294A (ja) 2021-02-15

Family

ID=74193949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134106A Pending JP2021019294A (ja) 2019-07-19 2019-07-19 通信装置及び通信方法

Country Status (4)

Country Link
US (1) US11743322B2 (ja)
EP (1) EP4002774A4 (ja)
JP (1) JP2021019294A (ja)
WO (1) WO2021015021A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022208855A1 (ja) * 2021-04-01 2022-10-06 日本電信電話株式会社 通信システム、異常検知装置、異常検知方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2643451C2 (ru) * 2013-08-27 2018-02-01 Хуавей Текнолоджиз Ко., Лтд. Система и способ виртуализации функции мобильной сети
JP2016046736A (ja) 2014-08-25 2016-04-04 日本電信電話株式会社 サービスチェイニングシステム、サービスチェイニングフォワーダ装置、及びサービスチェイニング方法
EP3314827B1 (en) * 2015-06-25 2022-08-03 NEC Corporation Method and system for managing data traffic in a computing network
US10116553B1 (en) * 2015-10-15 2018-10-30 Cisco Technology, Inc. Application identifier in service function chain metadata
US11349729B2 (en) * 2015-12-30 2022-05-31 Koninklijke Kpn N.V. Network service requests
US10756945B2 (en) 2016-05-11 2020-08-25 Cisco Technology, Inc. Virtualized network management protocols
EP3534573A4 (en) 2016-10-27 2020-07-29 Nec Corporation CHAIN CONSTRUCTION DEVICE, TEST DEVICE, TEST SYSTEM, METHOD AND RECORDING MEDIUM
US20190349268A1 (en) * 2017-02-13 2019-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dynamic service chaining with segment routing for bng
US10554689B2 (en) * 2017-04-28 2020-02-04 Cisco Technology, Inc. Secure communication session resumption in a service function chain
WO2019116928A1 (ja) 2017-12-11 2019-06-20 ソニー株式会社 通信装置、データ構造、通信方法及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022208855A1 (ja) * 2021-04-01 2022-10-06 日本電信電話株式会社 通信システム、異常検知装置、異常検知方法、及びプログラム

Also Published As

Publication number Publication date
EP4002774A4 (en) 2022-09-07
EP4002774A1 (en) 2022-05-25
US11743322B2 (en) 2023-08-29
WO2021015021A1 (ja) 2021-01-28
US20220239726A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US20200067903A1 (en) Integration of Publish-Subscribe Messaging with Authentication Tokens
CN111107130B (zh) 运营商级电信区块链
US20180005250A1 (en) Method for authentication and assuring compliance of devices accessing external services
US7849140B2 (en) Peer-to-peer email messaging
US7127613B2 (en) Secured peer-to-peer network data exchange
US11088996B1 (en) Secure network protocol and transit system to protect communications deliverability and attribution
US11457008B2 (en) Steering traffic on a flow-by-flow basis by a single sign-on service
US20190199696A1 (en) Dynamically managing, from a centralized service, valid cipher suites allowed for secured sessions
US10805246B1 (en) Direct communication between a secure application and a local application running on the same device
Sicari et al. A secure ICN-IoT architecture
WO2009133419A1 (en) Method, apparatus, and computer program product for providing a group based decentralized authorization mechanism
Thanh et al. Toward a security IoT platform with high rate transmission and low energy consumption
Astolfi et al. I2p-the invisible internet project
US9729625B1 (en) Personal cloud network
WO2021015021A1 (ja) 通信装置及び通信方法
US11838854B2 (en) 5G network slicing and resource orchestration using holochain
JP2008271015A (ja) ネットワークシステム、管理計算機及び利用者端末
Krol et al. Open security issues for edge named function environments
Spielvogel et al. TLS beyond the broker: Enforcing fine-grained security and trust in publish/subscribe environments for IoT
CN115865384A (zh) 中台微服务授权方法、装置、电子设备及存储介质
Yang Optical and wireless convergence network based on blockchain
US11582674B2 (en) Communication device, communication method and data structure
Göndör et al. Blade: A Blockchain-supported Architecture for Decentralized Services
CN113329015B (zh) 一种区块链的节点的代理方法、装置、介质及电子设备
Martínez et al. A security architectural approach for DPWS-based devices