JP2018014077A - Communication device, system, and method - Google Patents

Communication device, system, and method Download PDF

Info

Publication number
JP2018014077A
JP2018014077A JP2017009712A JP2017009712A JP2018014077A JP 2018014077 A JP2018014077 A JP 2018014077A JP 2017009712 A JP2017009712 A JP 2017009712A JP 2017009712 A JP2017009712 A JP 2017009712A JP 2018014077 A JP2018014077 A JP 2018014077A
Authority
JP
Japan
Prior art keywords
node
application
data
execution
request message
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
JP2017009712A
Other languages
Japanese (ja)
Inventor
栗田 敏彦
Toshihiko Kurita
敏彦 栗田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to US15/642,293 priority Critical patent/US20180013663A1/en
Publication of JP2018014077A publication Critical patent/JP2018014077A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a communication technology for executing an application in a network, and reduce a delay in data transfer to increase the response to a result of execution of the application.SOLUTION: A requester 401 or an edge node thereof determines, in transferring a request message 407, whether to cause one of a relay node A402 and a relay node B403 on a path from a data-a holding node 405 being a destination node to execute an application in terms of proximity to the destination or in terms of proximity to a link, by the fact that which of output data being a result of execution of "application-1" and input data required for the execution is larger, and sets information identifying the determination in the request message 407 as an execution policy bit PL.SELECTED DRAWING: Figure 4

Description

ネットワークでアプリケーション(以下、「アプリ」と記載)を実行させるための通信装置、システム、及び方法に関する。   The present invention relates to a communication apparatus, system, and method for executing an application (hereinafter referred to as “application”) on a network.

コンテンツを名前で指定して通信&取得することができる、ICN(Information−Centric Networking)と呼ばれる、新しいネットワークアーキテクチャが注目されつつある。更に、このようなネットワークでのアプリの実行について、NFN(Named Function Networking)と呼ばれる方式が知られている。NFNでは、ネットワーク内でアプリ実行場所のノードが決定され、その決定されたノードへリクエストノードからアプリを実行するための要求が送られる。その決定されたノードは、要求で指定されたアプリとデータをネットワークから取得してそのアプリを実行し、実行結果をリクエストノードに返す。   A new network architecture called ICN (Information-Centric Networking) that allows communication and acquisition by designating content by name is drawing attention. Furthermore, a method called NFN (Named Function Networking) is known for executing applications on such a network. In NFN, a node for executing an application is determined in the network, and a request for executing the application is transmitted from the request node to the determined node. The determined node acquires the application and data specified in the request from the network, executes the application, and returns the execution result to the request node.

ネットワークを介して分散配置されるソフトウェアの間でやり取りされるメッセージを配送するメッセージ配送方法に関し、効率的な知的分散環境を実現可能にする従来技術が知られている(例えば特許文献1)。ネットワークを介して分散配置されるソフトウェアの間でやり取りされるメッセージを配送するときに、メッセージに、メッセージの配送先情報とメッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを付加する。配送先のソフトウェアにより処理を終了したサービスリスト部分を削除し、更に、必要に応じてサービスリストを書き換えつつ、サービスリストが付加されたメッセージをソフトウェアからソフトウェアへと配送していく。   A conventional technique for realizing an efficient intelligent distributed environment is known for a message delivery method for delivering messages exchanged between software distributed over a network (for example, Patent Document 1). When delivering a message exchanged between software distributed over the network, a service list defined by the data pairing between the message delivery destination information and the processing information specified by the message is added to the message. Append. The service list part for which processing has been completed is deleted by the software at the delivery destination, and the message with the service list added is delivered from software to software while rewriting the service list as necessary.

また、クライアントからのファイル送信要求に対して複数のサーバを用いてリクエストの振り分けを行う場合、適切な振り分けができるようにする従来技術が知られている(例えば特許文献2)。処理決定部は、「RTs1,c (FS)<RTs1,c (MSr )+RTc,s2 (MSq )+RTs2,c (FS)」により得られる各レスポンスに要する所用時間の比較をする。RTa,b (L)は端末aから端末bへサイズLのファイルを送信する場合に要する転送予想時間である。FSは転送すべきファイルのサイズ、MSr はリダイレクションメッセージのサイズである。MSq は、クライアントが他のサーバに対して再度送信するリクエストのファイルサイズである。   In addition, when distributing a request using a plurality of servers in response to a file transmission request from a client, a conventional technique is known that enables appropriate distribution (for example, Patent Document 2). The processing determining unit compares the required time required for each response obtained by “RTs1, c (FS) <RTs1, c (MSr) + RTc, s2 (MSq) + RTs2, c (FS)”. RTa, b (L) is an expected transfer time required for transmitting a file of size L from the terminal a to the terminal b. FS is the size of the file to be transferred, and MSr is the size of the redirection message. MSq is the file size of the request that the client sends to another server again.

更に、IPルーティング互換のためのネットワークノードの通信方法において、次のような従来技術が知られている(例えば特許文献3)。コンテンツの位置を示す第1情報とコンテンツを識別する第2情報とを含むコンテンツ名を含むパケットを生成するステップと、生成されたパケットを送信するステップとを有する。これにより、IPネットワークとコンテンツ中心ネットワークとの間のパケットフォーマットを変換するためのゲートウェイを必要とせず、IPのための一般的なパケットフォーマットが変換されることなくそのまま利用することを可能とする。   Further, the following prior art is known in the communication method of the network node for IP routing compatibility (for example, Patent Document 3). Generating a packet including a content name including first information indicating the position of the content and second information identifying the content; and transmitting the generated packet. Accordingly, a gateway for converting the packet format between the IP network and the content-centric network is not required, and the general packet format for IP can be used as it is without being converted.

特開平11−175421号公報JP-A-11-175421 特開2001−243142号公報JP 2001-243142 A 特表2016−502343号公報JP-T-2006-502343

上述のNFNにおいては、典型的には要求メッセージがネットワーク上に伝送される経路上の最初(又はリクエストノード近く)のNFNノードが、アプリ実行可能ノードとしてアプリを実行する。このため、例えば画像解析アプリなどのように、アプリの出力データ(解析結果)よりもアプリやアプリへの入力データ(画像データ)の方が大きいアプリが実行される場合に、次のような問題が発生する。   In the above-described NFN, typically, the first NFN node (or near the request node) on the path through which the request message is transmitted on the network executes the application as the application executable node. For this reason, the following problems occur when an app whose input data (image data) is larger than the output data (analysis result) of the app, such as an image analysis app, is executed. Will occur.

アプリやデータを遠くのノードからアプリ実行可能ノードまで転送させなければならないことにより、アプリやデータの転送遅延が大きくなって、レスポンス時間(ユーザがアプリ実行要求を投げてからその応答を受け取るまでの時間)が遅くなるという問題がある。   By transferring apps and data from a distant node to an app executable node, the transfer delay of apps and data increases, and the response time (from the time the user throws the app execution request until the response is received) There is a problem that the time is slow.

そこで、本発明の1つの側面では、データの転送遅延を減少させ、アプリ実行結果のレスポンスを速くすることを目的とする。   Accordingly, an object of one aspect of the present invention is to reduce data transfer delay and speed up response of an application execution result.

態様の一例では、通信装置は、実行ノード決定手段と要求メッセージ設定手段とを備える。実行ノード決定手段は、データ要求先ノードとリクエストノードの経路にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、アプリの実行結果である出力データ量とアプリの実行のために必要である入力データ量とに基づいて決定する。要求メッセージ設定手段は、データ要求先ノード又はアプリ実行可能ノードに向けて通信されるアプリの実行を要求する要求メッセージに、決定されたノードの識別情報を設定する。   In one example, the communication device includes an execution node determination unit and a request message setting unit. The execution node determination means determines which node of the application executable nodes in the path between the data request destination node and the request node is to execute the application for the output data amount that is the execution result of the application and the execution of the application. Determine based on the amount of input data required. The request message setting means sets the identification information of the determined node in the request message for requesting the execution of the application communicated toward the data request destination node or the application executable node.

データの転送遅延を減少させ、アプリ実行結果のレスポンスを速くすることが可能となる。   It is possible to reduce the data transfer delay and speed up the response of the application execution result.

ICNの特徴を表す図である。It is a figure showing the characteristic of ICN. NFNの基本モデルを表す図である。It is a figure showing the basic model of NFN. NFNでのアプリ実行の制御を表す図である。It is a figure showing control of application execution in NFN. アプリ実行を行う通信システムの第1の実施形態の説明図(第1の実施形態の第1の動作例を表す説明図)である。It is explanatory drawing (description figure showing the 1st operation example of 1st Embodiment) of 1st Embodiment of the communication system which performs application execution. アプリ実行を行う通信システムの第2の実施形態の説明図である。It is explanatory drawing of 2nd Embodiment of the communication system which performs application execution. 第1又は第2の実施形態に係るアプリ実行を行う通信システムの構成例を表す図である。It is a figure showing the structural example of the communication system which performs application execution which concerns on 1st or 2nd embodiment. ノードを構成する通信装置のハードウェア構成例を表す図である。It is a figure showing the hardware structural example of the communication apparatus which comprises a node. 第1又は第2の実施形態に係るアプリ実行を行う通信システムで通信される要求メッセージ及び応答メッセージのフォーマット例を表す図である。It is a figure showing the example of a format of the request message and response message communicated with the communication system which performs application execution which concerns on 1st or 2nd embodiment. PL設定テーブルの構成例を示す図である。It is a figure which shows the structural example of PL setting table. 第1又は第2の実施形態に係るアプリ実行を行う通信システムにおける中継ノードのメッセージ転送処理例を示すフローチャートである。It is a flowchart which shows the message transfer process example of the relay node in the communication system which performs application execution which concerns on 1st or 2nd embodiment. 第1の実施形態の第1の動作例のシーケンスを表す図である。It is a figure showing the sequence of the 1st operation example of 1st Embodiment. 第1の実施形態の第2の動作例を表す説明図である。It is explanatory drawing showing the 2nd operation example of 1st Embodiment. 第1の実施形態の第2の動作例を表すシーケンス図である。It is a sequence diagram showing the 2nd operation example of 1st Embodiment. 第1の実施形態の第3の動作例を表す説明図である。It is explanatory drawing showing the 3rd operation example of 1st Embodiment. 第1の実施形態の第3の動作例を表すシーケンス図である。It is a sequence diagram showing the 3rd operation example of 1st Embodiment. 第1の実施形態の第4の動作例を表す説明図である。It is explanatory drawing showing the 4th operation example of 1st Embodiment. 第1の実施形態の第4の動作例を表すシーケンス図である。It is a sequence diagram showing the 4th operation example of 1st Embodiment. 第1の実施形態の第5の動作例を表す説明図である。It is explanatory drawing showing the 5th operation example of 1st Embodiment. 第1の実施形態の第5の動作例を表すシーケンス図である。It is a sequence diagram showing the 5th operation example of 1st Embodiment. 第1の実施形態の第6の動作例を表す説明図である。It is explanatory drawing showing the 6th operation example of 1st Embodiment. 第1の実施形態の第6の動作例を表すシーケンス図である。It is a sequence diagram showing the 6th operation example of 1st Embodiment. 第1の実施形態の第7の動作例を表す説明図である。It is explanatory drawing showing the 7th operation example of 1st Embodiment. 第1の実施形態の第7の動作例を表すシーケンス図である。FIG. 10 is a sequence diagram illustrating a seventh operation example of the first embodiment. 第2の実施形態の動作例を表すシーケンス図である。It is a sequence diagram showing the operation example of 2nd Embodiment. 第3の実施形態のアプリ実行を説明するためのネットワーク図である。It is a network diagram for demonstrating application execution of 3rd Embodiment. 第3の実施形態の基本方針を説明するためのネットワーク図である。It is a network diagram for demonstrating the basic policy of 3rd Embodiment. 第3の実施形態のメッセージフォーマットを表す図である。It is a figure showing the message format of 3rd Embodiment. 第3の実施形態の実施例その1を説明するためのシステムの概略図である。It is the schematic of the system for demonstrating Example 1 of 3rd Embodiment. 第3の実施形態の実施例その1のシステム動作を表す図である。It is a figure showing the system operation | movement of the Example 1 of 3rd Embodiment. 第3の実施形態の実施例その1のシーケンスを表す図である。It is a figure showing the sequence of the Example 1 of 3rd Embodiment. 第3の実施形態の各ノードの処理フローを表す図である。It is a figure showing the processing flow of each node of 3rd Embodiment. 第3の実施形態の実施例その2を説明するためのシステムの概略図である。It is the schematic of the system for demonstrating Example 2 of 3rd Embodiment. 第3の実施形態の実施例その2のシステム動作を表す図である。It is a figure showing the system operation | movement of the Example 2 of 3rd Embodiment. 第3の実施形態の実施例その2(a)のシーケンスを表す図である。It is a figure showing the sequence of Example 2 (a) of 3rd Embodiment. 第3の実施形態の実施例その2(b)のシーケンスを表す図である。It is a figure showing the sequence of Example 2 (b) of 3rd Embodiment.

以下、本発明を実施するための形態について図面を参照しながら説明する。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.

まず、図1は、ICNの特徴を表す図である。ICNでは、コンテンツを名前で指定できる、ネットワークのノードがキャッシュを持つ、などの特徴がある。図1において、リクエストノード(以下、「リクエスタ」と記載)102は、コンテンツの要求メッセージであるInterest 106を、ICN100に送信する。要求メッセージInterest 106では、コンテンツは、例えば「/fj/video1」のような形式で指定される。ICN100を構成する複数のノード103のうちの一つのノードは、要求メッセージInterest 106を受信すると、ICN100に接続され要求で指定されたコンテンツ(例えば「/fj/video1」)を保持するサーバ104から、該コンテンツを取得する。ここで、コンテンツとは、データ、アプリ、又はアプリ実行結果を含む。そのノードは、取得したコンテンツ(例えば「/fj/video1」)を処理し、その処理結果を含む応答メッセージData 108を、要求元のリクエスタ102に返送する。   First, FIG. 1 is a diagram showing the characteristics of ICN. ICN has features such that content can be specified by name, and a network node has a cache. In FIG. 1, a request node (hereinafter referred to as “requester”) 102 transmits an Interest 106, which is a content request message, to the ICN 100. In the request message Interest 106, the content is specified in a format such as “/ fj / video1”, for example. When one of the plurality of nodes 103 constituting the ICN 100 receives the request message Interest 106, the node connected to the ICN 100 and holding the content designated by the request (for example, “/ fj / video1”), The content is acquired. Here, the content includes data, an application, or an application execution result. The node processes the acquired content (for example, “/ fj / video1”), and returns a response message Data 108 including the processing result to the requester requester 102.

ここで特に、ICN100(内のノード)でのアプリ実行(In−network processing)を指定及び実施できるようにICN102を拡張したものとして、NFN(Named Function Networking)が知られている。図2は、NFNの基本モデルを表す図である。NFN200では、次のような手順でアプリ実行が実施される。   In particular, NFN (Named Function Networking) is known as an extension of the ICN 102 so that application execution (In-network processing) in the ICN 100 (inner node) can be specified and implemented. FIG. 2 is a diagram illustrating a basic model of NFN. In the NFN 200, application execution is performed in the following procedure.

ステップS201:処理の要求(実行場所の特定及び要求の送付)。NFN200は、リクエスタ(図示せず)からの要求メッセージを、アプリ実行場所のノード201へ転送する。アプリ実行場所としては、アプリのある所、データのある所、その他の所(例えば空サーバ)などから選択される。要求メッセージは例えば、“Interest(Func(Data_in))”というフォーマットを有する。このフォーマットは、「“Data_in”を入力データとして、アプリ“Func”を実行し、その結果を返せ」という意味である。   Step S201: Processing request (execution location identification and request transmission). The NFN 200 transfers a request message from a requester (not shown) to the node 201 at the application execution location. The application execution location is selected from a location where an application is present, a location where data is present, and other locations (for example, an empty server). The request message has a format of “Interest (Func (Data_in))”, for example. This format means “execute the application“ Func ”using“ Data_in ”as input data and return the result”.

ステップS202、S203:アプリ/データの取得。特定されたアプリ実行場所のノード201のCPU(中央演算処理装置)は、アプリ保持ノード202に、別の要求メッセージ“Interest(Func)”を送信することにより、アプリ保持ノード202からアプリ“Func”を取得する(ステップS202)。同様に、ノード201のCPUは、データ保持ノード203に、更に別の要求メッセージ“Interest(Data_in)”を送信することにより、データ保持ノード203からデータ“Data_in”を取得する(ステップS203)。   Steps S202 and S203: Acquisition of application / data. The CPU (central processing unit) of the identified application execution node 201 transmits another request message “Interest (Func)” to the application holding node 202, whereby the application “Func” is transmitted from the application holding node 202. Is acquired (step S202). Similarly, the CPU of the node 201 obtains data “Data_in” from the data holding node 203 by transmitting yet another request message “Interest (Data_in)” to the data holding node 203 (step S203).

ステップS204:処理の実行。アプリ実行場所のノード201のCPUは、データ保持ノード203から取得したデータ“Data_in”を入力として、アプリ保持ノード202から取得したアプリ“Func”を実行し、実行結果“Data_out”を出力する。   Step S204: Execution of processing. The CPU of the application execution node 201 receives the data “Data_in” acquired from the data holding node 203, executes the application “Func” acquired from the application holding node 202, and outputs the execution result “Data_out”.

ステップS205:結果の送付。アプリ実行場所のノード201のCPUは、実行結果“Data_out”を、応答メッセージとして要求元へ返す。
なお、NFNにおける前提として、以下を想定する。
・アプリ実行には、アプリとデータが必要。アプリ及びデータはそれぞれ、複数が可能である。以下、アプリとデータを総称して、「要素オブジェクト」と呼ぶ。
・要素オブジェクトは、NFN200ネットワーク内の適切な箇所(ノード)に分散配備されており、ノード間をダイナミックに移動できる。
・アプリ実行の結果として、入力データとは別のデータが出力され応答される。
・NFN200のネットワークは大規模で、全てのノードの状態を1箇所でリアルタイムに集中管理するのは困難である。
・対象とするアプリは、ファイヤウォールやフィルタリング等のネットワークアプリ、データ解析アプリや画像解析アプリ等のユーザアプリの双方を含む。なお、これらのアプリはバイトコード(例えばJava(登録商標))の形で実装され、プラットフォーム非依存であるとともに、ノード間での移動が可能である。
Step S205: sending the result. The CPU of the application execution node 201 returns the execution result “Data_out” as a response message to the request source.
In addition, the following is assumed as a premise in NFN.
・ Apps and data are required to run apps. There can be multiple applications and data. Hereinafter, applications and data are collectively referred to as “element objects”.
Element objects are distributed and distributed at appropriate locations (nodes) in the NFN 200 network and can dynamically move between nodes.
-As a result of application execution, data different from the input data is output and responded.
-The network of NFN 200 is large-scale, and it is difficult to centrally manage the state of all nodes in one place in real time.
Applicable applications include both network applications such as firewalls and filtering, and user applications such as data analysis applications and image analysis applications. These applications are implemented in the form of byte codes (for example, Java (registered trademark)), are platform independent, and can be moved between nodes.

図3は、以上の前提に基づくNFN300でのアプリ実行の制御を表す図である。図3では、アプリを実行するのに、アプリ−1、データ−a、データ−bが必要な場合を表している。この場合、次のような手順でアプリ実行が行われる。   FIG. 3 is a diagram illustrating application execution control in the NFN 300 based on the above assumption. FIG. 3 shows a case where application-1, data-a, and data-b are required to execute the application. In this case, application execution is performed in the following procedure.

<手順1>:サービス実行の要求者であるリクエスタ301は、アプリ実行を要求する要求メッセージ307を、データ(またはアプリ)に向かって投げる。図3では、要求メッセージ307は例えば、名前“データ−a+アプリ−1+データ−b”により指定される。この場合、要求メッセージ307は、指定内容の先頭の名前“データ−a”が示す要素オブジェクトに向かって投げられる。なお、要求メッセージ307をどの要素オブジェクトに向かって投げるかは、リクエスタ301が要求メッセージ307の名前で特定する。図3において、要求メッセージ307の伝達経路は、実線の矢印線で示される。   <Procedure 1>: The requester 301 who is a requester of service execution throws a request message 307 requesting application execution toward data (or an application). In FIG. 3, the request message 307 is specified by, for example, the name “data−a + application−1 + data−b”. In this case, the request message 307 is thrown toward the element object indicated by the name “data-a” at the head of the designated content. The requester 301 specifies the element object to which the request message 307 is to be thrown by the name of the request message 307. In FIG. 3, the transmission path of the request message 307 is indicated by a solid arrow line.

<手順2>:経路上のNFNノード(アプリ実行可能なノード)302、303等のうちの何れかが、アプリ実行を行う。典型的には、経路上の最初のNFNノード(図3におけるNFNノード−A 302)がアプリ実行場所となる。例えば、NFNノード−A 302は、要求メッセージ307で指定された必要なアプリとデータを、NFNノード−B 303を介して、アプリ保持ノード304、データ保持ノード305、306から別途取得して、アプリ実行を行い、その結果を応答メッセージ308として、リクエスタ301に返す。この応答メッセージ308は、要求メッセージ307で指定された名前“データ−a+アプリ−1+データ−b”と、アプリの実行結果とを含む。図3において、アプリ保持ノード304、データ保持ノード305、306からNFNノード−A 302への応答メッセージや、NFNノード−A 302からリクエスタ301への応答メッセージ308の伝達経路は、破線の矢印線で示される。   <Procedure 2>: One of the NFN nodes (nodes that can execute the application) 302, 303, etc. on the route executes the application. Typically, the first NFN node on the route (NFN node-A 302 in FIG. 3) is the application execution location. For example, the NFN node-A 302 separately acquires the necessary application and data specified by the request message 307 from the application holding node 304 and the data holding nodes 305 and 306 via the NFN node-B 303, and The execution is performed, and the result is returned to the requester 301 as a response message 308. The response message 308 includes the name “data−a + application−1 + data−b” specified in the request message 307 and the execution result of the application. In FIG. 3, the transmission path of the response message from the application holding node 304 and the data holding nodes 305 and 306 to the NFN node-A 302 and the response message 308 from the NFN node-A 302 to the requester 301 is indicated by a broken arrow line. Indicated.

図3に示されるアプリ実行手法では、典型的には経路上の最初(又はリクエスタ301の近く)のNFNノード−A 302がアプリ実行を行う。このため、例えば画像解析アプリなどのように、アプリの出力データ(解析結果)よりもアプリやアプリへの入力データ(画像データ)の方が大きいアプリが実行される場合に、次のような問題が発生する。   In the application execution method shown in FIG. 3, typically, the first NFN node-A 302 on the route (or near the requester 301) executes the application. For this reason, the following problems occur when an app whose input data (image data) is larger than the output data (analysis result) of the app, such as an image analysis app, is executed. Will occur.

アプリやデータを遠くのノードからアプリ実行可能ノードまで転送させなければならないことにより、アプリやデータの転送遅延が大きくなって、レスポンス時間(ユーザがアプリ実行要求を投げてからその応答を受け取るまでの時間)が遅くなる。   By transferring apps and data from a distant node to an app executable node, the transfer delay of apps and data increases, and the response time (from the time the user throws the app execution request until the response is received) Time).

また、常に経路上の最初(又はリクエストノードの近く)のNFNノードと、経路上の他のNFNノードとの間で、アプリ実行場所(アプリの実行負荷)をバランスすることができない。   Further, the application execution location (application execution load) cannot always be balanced between the first NFN node on the route (or near the request node) and another NFN node on the route.

アプリの実行を経路上の最初のNFNノードに限定せず、或るポリシに従って他のロジックにより実行場所を決めることも考えられる。しかしながら、ポリシの決め方によって(例えばポリシが宛先の直近のノードを指定した場合)、単独のノードでは、場所の判断ができずに、アプリの実行を制御できないことがある。   It is also conceivable that the execution location is not limited to the first NFN node on the route, but is determined by other logic according to a certain policy. However, depending on how the policy is determined (for example, when the policy designates the nearest node of the destination), the location of the single node cannot be determined and the execution of the application may not be controlled.

以下に説明する各実施形態は、上述の問題を解決する。まず、第1の実施形態におけるアプリ実行の基本方針(アプローチ)は、次の通りである。   Each embodiment described below solves the above-mentioned problem. First, the basic policy (approach) for application execution in the first embodiment is as follows.

<アプローチ1>
アプリへの入力データと出力データのサイズの関係、すなわち入力データ量と出力データ量の関係に応じて、
出力データ<Σ(入力データ)なら、宛先の近傍(リクエスタから遠く)で、
出力データ>Σ(入力データ)なら、リクエスタの近傍で、
それぞれアプリを実行させる。ここで、「Σ(入力データ)」は、複数あり得る入力データのサイズの合計を意味する。
<Approach 1>
Depending on the relationship between the input data to the application and the size of the output data, that is, the relationship between the input data amount and the output data amount,
If output data <Σ (input data), near the destination (far from the requester)
If output data> Σ (input data), in the vicinity of the requester,
Run each app. Here, “Σ (input data)” means the sum of the sizes of input data that can exist in plural.

<アプローチ2>
更に、アプリ実行場所の決定に各ノードのリソースの状態を反映させ、アプローチ1で特定した場所を中心に、ノード間で負荷をバランスさせる。ここで、「リソース」とは例えば、指定されたアプリを実行可能なプロセッサ、メモリなどのハードウェア資源、及び/又は指定されたアプリを実行可能なソフトウェア環境をいう。
<Approach 2>
Further, the resource state of each node is reflected in the determination of the application execution location, and the load is balanced among the nodes with the location specified in Approach 1 as the center. Here, the “resource” means, for example, a processor that can execute a specified application, a hardware resource such as a memory, and / or a software environment that can execute the specified application.

すなわち、アプリ特性(アプローチ1)と各ノードのリソース状態(アプローチ2)により、各ノードがローカルに得られる情報からアプリ実行の可否を判断し、アプリ実行場所を動的に決定する。   That is, based on the application characteristics (approach 1) and the resource state (approach 2) of each node, whether or not the application can be executed is determined from information obtained locally by each node, and the application execution location is dynamically determined.

図4は、上記基本方針に基づいてアプリ実行を行う通信システムの第1の実施形態の説明図である。図4の通信システム400では、図3の場合と同様に、アプリを実行するのに、アプリ−1、データ−a、データ−bが必要な場合を表している。この場合、次のような手順でアプリ実行が行われる。   FIG. 4 is an explanatory diagram of a first embodiment of a communication system that executes an application based on the basic policy. In the communication system 400 of FIG. 4, as in the case of FIG. 3, the case where the application-1, the data-a, and the data-b are necessary to execute the application is shown. In this case, application execution is performed in the following procedure.

<手順1>
送信されるアプリの実行を要求する要求メッセージ407では、図3の要求メッセージ307と同様の名前“データ−a+アプリ−1+データ−b”が指定される。この要求メッセージ407は、特定の要素オブジェクト(アプリ or データ)に向けて送信される。図4の例では、図3の場合と同様に、要求メッセージ407は、名前指定“データ−a+アプリ−1+データ−b”の先頭の名前“データ−a”に対応する要素オブジェクトに向かって投げられる。
<Procedure 1>
In the request message 407 for requesting execution of the transmitted application, the same name “data−a + application−1 + data−b” as in the request message 307 of FIG. This request message 407 is transmitted toward a specific element object (application or data). In the example of FIG. 4, as in the case of FIG. 3, the request message 407 is thrown toward the element object corresponding to the name “data-a” at the head of the name designation “data-a + application-1 + data-b”. It is done.

更に、第1の実施形態では、要求メッセージ407に、図4の破線枠409のように、実行ポリシビットPL(実行ポリシ識別情報)、アプリ保持ビットAH(アプリ保持識別情報)、及びアプリ実行可能ビットAE(アプリ実行可能識別情報)が付加される。少なくとも実行ポリシ識別情報は、ノードの識別情報として設定される。   Furthermore, in the first embodiment, the execution message bit PL (execution policy identification information), the application holding bit AH (application holding identification information), and the application executable can be added to the request message 407, as indicated by the broken line frame 409 in FIG. Bit AE (application executable identification information) is added. At least the execution policy identification information is set as node identification information.

アプリの特性に応じて、リクエスタ401或いはエッジノード(リクエスタ401を収容するネットワークの入口のノード)は、要求メッセージ407の実行ポリシビットPLを宛先近傍優先(=1)か、リクエスタ近傍優先(=0)か、に設定する。アプリの特性とは、前述の<アプローチ1>で説明したように、アプリへの入力データと出力データのサイズの関係である。   Depending on the characteristics of the application, the requester 401 or the edge node (the node at the entrance of the network that accommodates the requester 401) determines whether the execution policy bit PL of the request message 407 is destination neighborhood priority (= 1) or requester neighborhood priority (= 0). ) Or As described in <Approach 1> above, the application characteristics are the relationship between the input data to the application and the size of the output data.

すなわち、「出力データ<Σ(入力データ)」なら、アプリが宛先の近傍(リクエスタから遠く)のノードで実行されるように、実行ポリシビットPLが宛先近傍優先(=1)にセットされる。   That is, if “output data <Σ (input data)”, the execution policy bit PL is set to destination neighborhood priority (= 1) so that the application is executed in a node near the destination (far from the requester).

逆に、「出力データ>Σ(入力データ)」なら、アプリがリクエスタ401の近傍のノードで実行されるように、実行ポリシビットPLがリクエスタ近傍優先(=0)にセットされる。   On the other hand, if “output data> Σ (input data)”, the execution policy bit PL is set to requester neighborhood priority (= 0) so that the application is executed at a node near the requester 401.

図4では、実行ポリシビットPLには、宛先近傍優先を示す値1がセットされている。   In FIG. 4, the execution policy bit PL is set to a value 1 indicating destination neighborhood priority.

<手順2>
経路上の中継ノード−A 402や中継ノード−B 403は、経路上にない近傍ノードも含めて、要求メッセージ407で指定されたアプリ(以下、「指定アプリ」と記載)を持っているか、アプリ実行のリソースを持っているか、に応じて、以下の動作を実行する。中継ノード−A 402や中継ノード−B 403は、自ノードが受信し転送する要求メッセージ407のアプリ保持ビットAH、及び/又はアプリ実行可能ビットAEに順次値1をセットする。
<Procedure 2>
The relay node-A 402 and the relay node-B 403 on the route include the application designated by the request message 407 (hereinafter referred to as “designated app”) including the neighboring nodes not on the route, Depending on whether you have execution resources, perform the following actions: The relay node-A 402 and the relay node-B 403 sequentially set the value 1 to the application holding bit AH and / or the application executable bit AE of the request message 407 received and transferred by the own node.

<手順3>
宛先のデータ−a保持ノード405は、受信した要求メッセージ407に、要求されている要素オブジェクトである”データ−a”本体を付加し、それらを応答メッセージ408として、要求メッセージ407の経路の逆経路に沿って返送する。
<Procedure 3>
The destination data-a holding node 405 adds the “data-a” body, which is the requested element object, to the received request message 407, and uses them as a response message 408 to reverse the route of the request message 407. Send back along.

<手順4>
中継ノード−A 402や中継ノード−B 403は、応答メッセージ408を受信すると、次の動作を実行する。中継ノード−A 402や中継ノード−B 403は、要求メッセージ407を転送したときと応答メッセージ408を受信したときとで、実行ポリシビットPL、アプリ保持ビットAH、及びアプリ実行可能ビットAEの値を比較し、自ノードの動作を自律的に決定する。中継ノード−A 402や中継ノード−B 403のそれぞれで自律的に決定された動作に基づいて、アプリ実行場所が、最大サイズの要素オブジェクトのある宛先ノード、リクエスタ401の場所/経路上で宛先ノードまたはリクエスタの近くのノード、経路上ではないがその近傍ノード、の優先順で決定される。後述するように、要求メッセージ407と応答メッセージ408のアプリ保持ビットAH及びアプリ実行可能ビットAEにより、経路上での自ノードの相対的な位置がわかる。それらのビットと宛先の近くでアプリ実行すべきか、リクエスタ401の近くでアプリ実行すべきかを示す実行ポリシビットPLを考慮して、中継ノード−A 402及び中継ノード−B 403等の各ノードが、アプリ実行の可否を自律的に決める。図4の例では、中継ノード−B 403自身が、経路上で宛先(データ−a保持ノード405) に一番近く、アプリを実行するリソースを持つノードとして、アプリを実行すると決定する。中継ノード−B 403は、要求メッセージ407が指定する“アプリ−1”と、“データ−a”及び“データ−b”の各本体をそれぞれ、“アプリ−1”保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406から取得してアプリ実行を行う。中継ノード−B 403は、アプリの実行結果を応答メッセージ408に付加して、新たな応答メッセージ409として返送する。
<Procedure 4>
When receiving the response message 408, the relay node-A 402 and the relay node-B 403 perform the following operation. The relay node-A 402 and the relay node-B 403 change the values of the execution policy bit PL, the application holding bit AH, and the application executable bit AE when the request message 407 is transferred and when the response message 408 is received. Compare and autonomously determine the operation of its own node. Based on the operation autonomously determined by each of the relay node-A 402 and the relay node-B 403, the application execution location is the destination node having the maximum size element object, the destination node on the location / route of the requester 401 Alternatively, it is determined in the priority order of a node near the requester and a neighboring node that is not on the route. As will be described later, the application holding bit AH and the application executable bit AE of the request message 407 and the response message 408 indicate the relative position of the own node on the route. Considering the execution policy bit PL indicating whether the application should be executed near the bit and the destination or the application near the requester 401, each node such as the relay node-A 402 and the relay node-B 403 Autonomously decides whether to run the app. In the example of FIG. 4, the relay node-B 403 itself determines to execute the application as a node having a resource for executing the application closest to the destination (data-a holding node 405) on the route. The relay node-B 403 stores “application-1” designated by the request message 407, “data-a”, and “data-b” main bodies, respectively, “application-1” holding node 404, data-a holding. The application is acquired from the node 405 and the data-b holding node 406 and executed. The relay node-B 403 adds the execution result of the application to the response message 408 and returns it as a new response message 409.

図5は、アプリ実行を行う通信システムの第2の実施形態の説明図である。図5の通信システム400は、図4の第1の実施形態の拡張型であり、宛先の要素オブジェクトの決め方を追加した上で、第1の実施形態の手法を行うものである。この場合、次のような手順でアプリ実行が行われる。なお、図5において、図4の場合と同じ参照番号を付した各部は、図4の場合と同じものを指すものとする。   FIG. 5 is an explanatory diagram of a second embodiment of a communication system that executes an application. The communication system 400 of FIG. 5 is an extension of the first embodiment of FIG. 4 and performs the method of the first embodiment after adding a destination element object determination method. In this case, application execution is performed in the following procedure. In FIG. 5, each part given the same reference number as in FIG. 4 indicates the same part as in FIG. 4.

<手順1>
図5(a)の501のように、通信システム400上で、リクエスタ401は、アプリ保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406の各々に対して、アプリ実行に必要な要素オブジェクト(アプリ、データ)のサイズを探索する。その結果、リクエスタ401は、最大サイズの要素オブジェクトを特定する(以下、「特定オブジェクト」と記載)。図5(a)の例では、アプリ保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406はそれぞれ、リクエスタ401からのサイズ探索要求に応じて、「10kB(キロバイト)」「1MB(メガバイト)」「5kB」のサイズを応答する。これを受け手、リクエスタ401は、「1MB」を応答したデータ−a保持ノード405を、特定オブジェクトとして特定する。
<Procedure 1>
As indicated by 501 in FIG. 5A, the requester 401 is necessary to execute the application for each of the application holding node 404, the data-a holding node 405, and the data-b holding node 406 on the communication system 400. The size of a simple element object (application, data). As a result, the requester 401 specifies the element object having the maximum size (hereinafter referred to as “specific object”). In the example of FIG. 5A, the application holding node 404, the data-a holding node 405, and the data-b holding node 406 are respectively “10 kB (kilobytes)” “1 MB” in response to a size search request from the requester 401. (Megabytes) "" 5kB "size is returned. In response to this, the requester 401 identifies the data-a holding node 405 that has responded “1 MB” as a specific object.

<手順2>
図5(b)の502として示されるように、リクエスタ401は、要求メッセージの宛先を特定オブジェクトとして投げ 、以下各ノードは図4の第1の実施形態と同様の処理を行う。
<Procedure 2>
As indicated by 502 in FIG. 5B, the requester 401 throws the destination of the request message as a specific object, and thereafter each node performs the same processing as in the first embodiment of FIG.

<手順3>
その結果、アプリ実行は次の優先順で実行される。アプリ実行を行うと判断したノードが、その場で他の要素オブジェクトを取得し、アプリ実行して結果を返す。
優先順位1:特定オブジェクトのあるノード。
優先順位2:特定オブジェクトに至る経路上のノード。
優先順位3:経路上のノードの近傍ノード(経路上にないもの)。
<Procedure 3>
As a result, application execution is executed in the following priority order. The node that has decided to execute the application acquires another element object on the spot, executes the application, and returns the result.
Priority 1: A node with a specific object.
Priority 2: A node on the route to a specific object.
Priority 3: A node near the node on the route (not on the route).

以上のようにして、アプリの特性と各ノードのリソース状態に応じて、宛先またはリクエスタの場所/経路上で宛先ノードまたはリクエスタの近くのノード/宛先ノードまたはリクエスタの近傍のノードでアプリが実行され、次に、経路上やその近傍を含む、アプリを実行するリソースのあるノード(特定のノードに限定しない)でアプリが実行される。ここで、「近傍」とは例えば、対象となるノードから経路上のノードを除くkホップ以内に存在するノードをいう。   As described above, the application is executed on the destination node or a node near the requester / a node near the requester or a node near the requester on the destination / requester location / route according to the characteristics of the application and the resource state of each node. Next, the application is executed on a node (not limited to a specific node) having resources for executing the application, including on the route and in the vicinity thereof. Here, “neighboring” means, for example, a node existing within k hops excluding a node on a route from a target node.

図6は、上述の第1又は第2の実施形態に係るアプリ実行を行う通信システム400の構成例を表す図である。この通信システム400は、リクエスタ401、中継ノード−A 402、中継ノード−B 403、“アプリ−1”保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406の6つのノードから構成され、ネットワークを構成する。初期状態として、“アプリ−1”本体が“アプリ−1”保持ノード404に、“データ−a”本体がデータ−a保持ノード405、“データ−b”本体がデータ−b保持ノード406に配備され、アプリを実行するためにはこれらの要素オブジェクトが必要となる。リクエスタ401は、このアプリの実行要求を発行する。   FIG. 6 is a diagram illustrating a configuration example of a communication system 400 that performs application execution according to the first or second embodiment. The communication system 400 includes six nodes: a requester 401, a relay node-A 402, a relay node-B 403, an “application-1” holding node 404, a data-a holding node 405, and a data-b holding node 406. And configure the network. As an initial state, the “app-1” main body is deployed in the “app-1” holding node 404, the “data-a” main body is deployed in the data-a holding node 405, and the “data-b” main body is deployed in the data-b holding node 406. In order to execute the application, these element objects are required. The requester 401 issues an execution request for this application.

図7は、図6の401から406の何れかのノードを構成する通信装置のハードウェア構成例を表す図である。ノードは、ハードウェア的には汎用サーバであり、図7に示されるように、プロセッサ701、メモリ702、記憶装置703、送受信インタフェース(データ通信用)704、及び送受信インタフェース(管理用)705が、バス706により相互に接続される。記憶装置703は、例えばハードディスク記憶装置である。送受信インタフェース(データ通信用)704は、例えばノードをLAN(ローカルエリアネットワーク)に接続するためのハードウェアである。送受信インタフェース(管理用)705は、例えばノードを管理サーバが接続される保守用ネットワークに接続するためのハードウェアである。ノードは、メモリ702又は記憶装置703に配備されたプログラムをプロセッサ701が実行することで、プログラムとして定義された動作を行うものである。   FIG. 7 is a diagram illustrating a hardware configuration example of a communication device that configures one of the nodes 401 to 406 in FIG. The node is a general-purpose server in terms of hardware. As shown in FIG. 7, a processor 701, a memory 702, a storage device 703, a transmission / reception interface (for data communication) 704, and a transmission / reception interface (for management) 705 are provided. The buses 706 are connected to each other. The storage device 703 is, for example, a hard disk storage device. The transmission / reception interface (for data communication) 704 is hardware for connecting a node to a LAN (local area network), for example. The transmission / reception interface (for management) 705 is hardware for connecting a node to a maintenance network to which a management server is connected, for example. The node performs an operation defined as a program by the processor 701 executing a program deployed in the memory 702 or the storage device 703.

図8は、第1又は第2の実施形態に係るアプリ実行を行う通信システム400で通信される要求メッセージ407及び応答メッセージ408、409のフォーマット例を表す図である。   FIG. 8 is a diagram illustrating a format example of the request message 407 and the response messages 408 and 409 communicated in the communication system 400 that performs application execution according to the first or second embodiment.

図8(a)に示されるように、要求メッセージ407は、実行ポリシビットPL、アプリ保持ビットAH、及びアプリ実行可能ビットAEを有するヘッダ部と、Name部とから成る。それぞれの定義は、以下の通りである。   As shown in FIG. 8A, the request message 407 includes a header part having an execution policy bit PL, an application holding bit AH, and an application executable bit AE, and a Name part. Each definition is as follows.

・実行ポリシビットPL(PoLicy):0又は1の値をとるビットである。遅延や転送量の観点から、対象のアプリが、リクエスタ401の近くで実行する方が有利か(PL=0)、リクエスタ401の遠く(=アプリやデータの近く)で実行する方が有利か(PL=1)、を示す。対象のアプリの特性から、前者は、アプリに対して入力データ量<出力データ量の場合(例えばデータの単純マージ)に判定され、後者はその逆の場合(例えば画像解析)に判定される。リクエスタ401が要求メッセージを送出する時、或いはエッジノードが要求メッセージを中継する時に、上述の判定結果に基づいて、実行ポリシビットPLがセットされる。   Execution policy bit PL (PoLicy): This bit takes a value of 0 or 1. From the viewpoint of delay and transfer amount, it is advantageous that the target application is executed near the requester 401 (PL = 0), or it is more advantageous to execute it near the requester 401 (= near the application or data) ( PL = 1). From the characteristics of the target application, the former is determined when the input data amount is smaller than the output data amount (for example, simple merging of data), and the latter is determined when the opposite is true (for example, image analysis). When the requester 401 sends a request message, or when an edge node relays the request message, the execution policy bit PL is set based on the above determination result.

・アプリ保持ビットAH(AppHold):0又は1の値をとるビットである。要求メッセージ407のName部(図8(a))で指定されるアプリを、何れかのノードが持っていないか(AH=0)、持っているか(AH=1)、を示す。リクエスタ401自身が、まずアプリの保有状況に応じて、要求メッセージ407のアプリ保持ビットAHに値を設定し、その要求メッセージ407を送出する。そして、経路上のノードが、(近傍も含めて)指定アプリを持っていれば、受信した要求メッセージ407のアプリ保持ビットAHに値1をセットし、指定アプリを持っていなければ、そのビットの値は変更しない。   Application holding bit AH (Apphold): This bit takes a value of 0 or 1. This indicates whether any node does not have the application specified in the Name part (FIG. 8A) of the request message 407 (AH = 0) or has (AH = 1). The requester 401 itself first sets a value in the application holding bit AH of the request message 407 according to the application holding status, and transmits the request message 407. If the node on the route has the designated application (including the neighborhood), the value 1 is set in the application holding bit AH of the received request message 407. The value is not changed.

・アプリ実行可能ビットAE(AppExec):0か1の値をとるビットである。要求メッセージ407のName部で指定されるアプリを実行するリソース(CPUやメモリ)を、何れかのノードが持っていないか(AE=0)、持っているか(AE=1)、を示す。リクエスタ401自身が、まずアプリを実行するリソースの保有状況に応じて、要求メッセージ407のアプリ実行可能ビットAEに値を設定し、その要求メッセージ407を送出する。そして、経路上のノードが、(近傍も含めて)リソースを持っていれば、受信した要求メッセージ407のアプリ実行可能ビットAEに値1をセットし、リソースを持っていなければ、そのビットの値は変更しない。   Application executable bit AE (AppExec): This bit takes a value of 0 or 1. This indicates whether any node does not have a resource (CPU or memory) for executing an application specified in the Name part of the request message 407 (AE = 0) or has (AE = 1). The requester 401 itself first sets a value in the application executable bit AE of the request message 407 according to the possession status of the resource for executing the application, and sends the request message 407. If a node on the route has a resource (including a neighborhood), the value 1 is set to the application executable bit AE of the received request message 407, and if the node does not have a resource, the value of that bit is set. Does not change.

・Name部:要求しようとするアプリ実行を指定する、可変長のフィールドである。アプリを実行するのに必要な要素オブジェクト(アプリ、データ)の名前文字列が”+”で連結されて、Name部に表示される。例えば、Name部は、“データ−a+アプリ−1+データ−b”と表記される。Name部に表記される“データ−a”、“アプリ−1”、及び“データ−b”は、それぞれの要素オブジェクトの名前である。要求メッセージ407は、Name部の先頭の名前(この場合は“データ−a”)に対応する要素オブジェクトに向かってルーティングされる。事前に、各要素オブジェクトの存在場所から、各要素オブジェクトに対応するルーティング情報が、ネットワーク内でブロードキャストされ、各ノードは要素オブジェクトの名前に対するルーティングテーブルを構成する。各ノードは、要求メッセージ407の受信時に、Longest Prefix MatchによりName部の先頭の要素オブジェクトに対する出力インタフェースを決定し、受信した要求メッセージ407をその出力インタフェースにルーティングする。   Name part: This is a variable-length field that specifies the application execution to be requested. Name character strings of element objects (applications and data) necessary for executing the application are concatenated with “+” and displayed in the Name part. For example, the Name part is expressed as “data−a + application−1 + data−b”. “Data-a”, “application-1”, and “data-b” written in the Name part are names of the respective element objects. The request message 407 is routed toward the element object corresponding to the first name of the Name part (in this case, “data-a”). In advance, routing information corresponding to each element object is broadcast from the location of each element object in the network, and each node constitutes a routing table for the name of the element object. Upon receiving the request message 407, each node determines an output interface for the top element object of the Name part by using the Longest Prefix Match, and routes the received request message 407 to the output interface.

次に、図8(b)に示されるように、応答メッセージ408、409は、実行ポリシビットPL、アプリ保持ビットAH、及びアプリ実行可能ビットAEを有するヘッダ部と、Name部と、Content部とから成る。Content部以外の意味は、図8(a)の要求メッセージ407と同様である。ただし、アプリ保持ビットAH及びアプリ実行可能ビットAEは、各ノードがあらためてセットするのではなく、宛先ノードにおいて要求メッセージからコピーされる。アプリ保持ビットAH及びアプリ実行可能ビットAEは、途中のノードでアプリを実行した時のみ0にリセットされて次のノードに渡される。また、応答メッセージ408、409のルーティングは、Name部によるのではなく、各ノードが、その応答メッセージ408、409に対応する要求メッセージ407の送信元を覚えておいて、その送信元へ送る。Content部の定義は、以下の通りである。   Next, as shown in FIG. 8B, the response messages 408 and 409 are composed of a header part having an execution policy bit PL, an application holding bit AH, and an application executable bit AE, a Name part, and a Content part. Consists of. Meanings other than the Content part are the same as those of the request message 407 in FIG. However, the application holding bit AH and the application executable bit AE are not set again by each node, but are copied from the request message at the destination node. The application holding bit AH and the application executable bit AE are reset to 0 and passed to the next node only when the application is executed on the intermediate node. Further, the routing of the response messages 408 and 409 is not performed by the Name part, but each node remembers the transmission source of the request message 407 corresponding to the response message 408 and 409 and sends it to the transmission source. The definition of the Content part is as follows.

・Content部:要求されたアプリの実行結果、或いは要素オブジェクト(アプリ、データ)が格納される、可変長のフィールドである。ノードにおいて、アプリ実行前は、Content部には、要素オブジェクトの本体が格納される。例えば、図4の応答メッセージ408においては、Content部には、データ−a保持ノード405で格納された要素オブジェクト“データ−a”が格納される。アプリ実行後には、Content部には、アプリの実行結果が格納される。例えば、図4の応答メッセージ409の場合である。   Content part: A variable-length field in which the execution result of the requested application or an element object (application, data) is stored. In the node, before the application is executed, the body of the element object is stored in the Content part. For example, in the response message 408 of FIG. 4, the element object “data-a” stored in the data-a holding node 405 is stored in the Content portion. After the application is executed, the execution result of the application is stored in the Content section. For example, this is the case of the response message 409 in FIG.

図9は、実行ポリシビットPLを設定するためのPL設定テーブルの構成例を示す図である。図4の第1の実施形態の<手順1>で説明したように、要求メッセージ407には、図4の破線枠409のように、実行ポリシビットPL、アプリ保持ビットAH、及びアプリ実行可能ビットAEが付加される。このとき、アプリの特性において、前述の手順に従って宛先近傍優先(=1)かリクエスタ近傍優先(=0)かがセットされる。この実行ポリシビットPLは、前述したように、リクエスタ401或いはエッジノードによって設定される。ここで、多くのアプリにおいて、上述の「Σ(入力データ)」と「出力データ」とのサイズの大小関係は予め推定することができ、従って実行ポリシビットPLの値も予め推定できる。そこで、本実施形態では例えば、アプリ毎に実行ポリシビットPLの値を1にするか0にするかを決定するための図9に示されるPL設定テーブルを、リクエスタ401又はエッジノードに備える。リクエスタ401又はエッジノードは、実行を要求するアプリ毎に、自ノードが例えば図7のメモリ702又は記憶装置703に記憶している図9のPL設定テーブルを参照することにより、要求メッセージ407に付加する実行ポリシビットPLの値を決定する。   FIG. 9 is a diagram illustrating a configuration example of a PL setting table for setting the execution policy bit PL. As described in <Procedure 1> of the first embodiment of FIG. 4, the request message 407 includes an execution policy bit PL, an application holding bit AH, and an application executable bit, as indicated by a broken line frame 409 in FIG. AE is added. At this time, in the application characteristics, whether the destination neighborhood priority (= 1) or the requester neighborhood priority (= 0) is set according to the above-described procedure. As described above, the execution policy bit PL is set by the requester 401 or the edge node. Here, in many applications, the size relationship between the above-mentioned “Σ (input data)” and “output data” can be estimated in advance, and therefore the value of the execution policy bit PL can also be estimated in advance. Therefore, in this embodiment, for example, the requester 401 or the edge node includes a PL setting table shown in FIG. 9 for determining whether the value of the execution policy bit PL is set to 1 or 0 for each application. The requester 401 or the edge node adds to the request message 407 by referring to, for example, the PL setting table in FIG. 9 stored in the memory 702 or the storage device 703 in FIG. 7 for each application that requests execution. The value of the execution policy bit PL to be determined is determined.

図9の例では、アプリが画像解析アプリである場合は、入力データは画像データで、出力データは画像解析結果であるため、「出力データ<Σ(入力データ)」である。この場合には、例えば画像データである“データ−a”本体を保持するデータ−a保持ノード405の近傍(リクエスタ401から遠く)の例えば中継ノード−B 403でアプリが実行された方が、“データ−a”本体の転送距離が短くなり、アプリの実行効率が良い。従って、図9のPL設定テーブルにおいて、画像解析アプリに対しては実行ポリシビットPLの値は1が記憶される。   In the example of FIG. 9, when the application is an image analysis application, the input data is image data, and the output data is an image analysis result, so “output data <Σ (input data)”. In this case, for example, when the application is executed in, for example, the relay node-B 403 in the vicinity (far from the requester 401) of the data-a holding node 405 that holds the “data-a” main body that is image data, for example, The transfer distance of the data-a "body is shortened, and the execution efficiency of the application is good. Therefore, in the PL setting table of FIG. 9, 1 is stored as the value of the execution policy bit PL for the image analysis application.

また、アプリが地図検索アプリである場合は、入力データは緯度経度データや地点を表す文字列キーワードで、出力データは地図データであるため、「出力データ>Σ(入力データ)」である。この場合には、出力データであるアプリの実行結果を受信するリクエスタ401の近傍の例えば中継ノード−A 402でアプリが実行された方が、出力データの転送距離が短くなり、アプリの実行効率が良い。従って、図9のPL設定テーブルにおいて、地図検索アプリに対しては実行ポリシビットPLの値は0が記憶される。   When the application is a map search application, the input data is latitude / longitude data or a character string keyword representing a point, and the output data is map data, so “output data> Σ (input data)”. In this case, when the application is executed in the vicinity of the requester 401 that receives the execution result of the application that is output data, for example, in the relay node-A 402, the transfer distance of the output data is shortened, and the execution efficiency of the application is improved. good. Therefore, in the PL setting table of FIG. 9, 0 is stored as the value of the execution policy bit PL for the map search application.

更に、アプリがセンサデータ分析アプリである場合は、入力データはセンサデータで、出力データは分析結果であるため、一般に「出力データ<Σ(入力データ)」である。この場合には、例えばセンサデータである“データ−a”本体を保持するデータ−a保持ノード405の近傍(リクエスタ401から遠く)の例えば中継ノード−B 403でアプリが実行された方が、“データ−a”本体の転送距離が短くなり、アプリの実行効率が良い。従って、図9のPL設定テーブルにおいて、センサデータ分析アプリに対しては実行ポリシビットPLの値は1が記憶される。   Furthermore, when the application is a sensor data analysis application, since the input data is sensor data and the output data is an analysis result, generally “output data <Σ (input data)”. In this case, for example, when the application is executed in, for example, the relay node-B 403 in the vicinity (far from the requester 401) of the data-a holding node 405 that holds the “data-a” main body that is sensor data, The transfer distance of the data-a "body is shortened, and the execution efficiency of the application is good. Therefore, in the PL setting table of FIG. 9, 1 is stored as the value of the execution policy bit PL for the sensor data analysis application.

図10は、前述した第1又は第2の実施形態に係るアプリ実行を行う通信システム400における中継ノード−A 402又は中継ノード−B 403のメッセージ転送処理例を示すフローチャートである。このメッセージ転送処理は例えば、中継ノード−A 402又は中継ノード−B 403を構成する図7のプロセッサ701が、例えば記憶装置703からロードされてメモリ702に記憶されているメッセージ転送処理プログラムを実行する動作である。   FIG. 10 is a flowchart illustrating an example of a message transfer process of the relay node-A 402 or the relay node-B 403 in the communication system 400 that performs application execution according to the first or second embodiment described above. In this message transfer processing, for example, the processor 701 in FIG. 7 constituting the relay node-A 402 or the relay node-B 403 executes a message transfer processing program loaded from, for example, the storage device 703 and stored in the memory 702. Is the action.

まず、プロセッサ701は、メッセージを受信した時、そのメッセージ種別の判定を行う(ステップS1001)。メッセージ種別は例えば、別途ヘッダ等で定義し判別する。   First, when receiving a message, the processor 701 determines the message type (step S1001). For example, the message type is separately defined by a header or the like.

ステップS1001の判定において、受信したメッセージが要求メッセージ407である場合には、プロセッサ701はまず、要求メッセージ407のName部(図8(a)参照)で指定されたアプリを自ノードが持っているかをチェックする(ステップS1002)。   If it is determined in step S1001 that the received message is the request message 407, the processor 701 first determines whether the own node has the application specified in the Name part of the request message 407 (see FIG. 8A). Is checked (step S1002).

ステップS1002の判定がYESならば、プロセッサ701は、受信し転送する要求メッセージ407のアプリ保持ビットAHに値1をセットする。また、プロセッサ701は、アプリ保持ビットAHをセットしたこと、及びAHを最初に値0から値1にセットした(受信した要求メッセージ407のAHが0で自ノードがAHを1に書き替えた)か否かを、メモリ702に記録する(以上、ステップS1003)。   If the determination in step S1002 is YES, the processor 701 sets a value 1 to the application holding bit AH of the request message 407 to be received and transferred. In addition, the processor 701 sets the application holding bit AH, and first sets AH from the value 0 to the value 1 (AH of the received request message 407 is 0, and the own node rewrites AH to 1). Is recorded in the memory 702 (step S1003).

ステップS1002の判定がNOならば、プロセッサ701は、上記ステップS1003の処理はスキップし、要求メッセージ407のヘッダ部のAHビット値は書き換えない。   If the determination in step S1002 is NO, the processor 701 skips the process in step S1003 and does not rewrite the AH bit value in the header portion of the request message 407.

次に、プロセッサ701は、要求メッセージ407のName部(図8(a)参照)で指定されたアプリ実行に対するリソースを自ノードが持っているかをチェックする(ステップS1004)。ここで、「リソース」とは例えば、指定されたアプリを実行可能なプロセッサ701、メモリ702などのハードウェア資源、及び/又は指定されたアプリを実行可能なソフトウェア環境をいう。   Next, the processor 701 checks whether or not the own node has a resource for application execution specified in the Name part of the request message 407 (see FIG. 8A) (step S1004). Here, “resource” means, for example, hardware resources such as a processor 701 and a memory 702 that can execute a specified application, and / or a software environment that can execute a specified application.

ステップS1004の判定がYESならば、プロセッサ701は、受信し転送する要求メッセージ407のアプリ実行可能ビットAEに値1をセットする。また、プロセッサ701は、アプリ実行可能ビットAEをセットしたこと、及びAEを最初に値0から値1にセットした(受信した要求メッセージ407のAEが0で、自ノードがAEを1に書き替えた)か否かを、メモリ702に記録する(以上、ステップS1005)。   If the determination in step S1004 is YES, the processor 701 sets a value 1 to the application executable bit AE of the request message 407 to be received and transferred. In addition, the processor 701 sets the application executable bit AE, and first sets the AE from the value 0 to the value 1 (the AE of the received request message 407 is 0, and the own node rewrites the AE to 1. Or not) is recorded in the memory 702 (step S1005).

ステップS1004の判定がNOならば、プロセッサ701は、上記ステップS1005の処理はスキップし、要求メッセージ407のヘッダ部のAEビット値は書き換えない。   If the determination in step S1004 is NO, the processor 701 skips the process in step S1005 and does not rewrite the AE bit value in the header portion of the request message 407.

以上のステップS1002からS1005までの一連の制御処理の後、プロセッサ701は、受信した要求メッセージ407を、Name部の先頭の要素オブジェクトを宛先として、次のノードに転送する(ステップS1006)。そして、プロセッサ701は、図10のフローチャートで示されるメッセージ転送処理を終了する。   After a series of control processes from steps S1002 to S1005, the processor 701 transfers the received request message 407 to the next node with the first element object of the Name part as the destination (step S1006). Then, the processor 701 ends the message transfer process shown in the flowchart of FIG.

ステップS1001の判定において、受信したメッセージが応答メッセージ408、409である場合には、プロセッサ701はまず、応答メッセージ408、409のヘッダ部の各ビットの値をチェックすることにより、以下のステップS1007からS1010までの一連の判定処理を実行する。   If it is determined in step S1001 that the received messages are the response messages 408 and 409, the processor 701 first checks the value of each bit in the header part of the response messages 408 and 409, thereby starting from the following step S1007. A series of determination processing up to S1010 is executed.

まず、プロセッサ701は、実行ポリシビットPLの値が1で、かつアプリ保持ビットAHの値が1で、かつ自ノードがアプリ保持ビットAHを1にセットしたことがメモリ702に記憶されているか否かを判定する(ステップS1007)。なお、図10中では、「かつ」は、「&」記号で示され、論理積を表す。   First, the processor 701 stores in the memory 702 whether the value of the execution policy bit PL is 1, the value of the application holding bit AH is 1, and the own node sets the application holding bit AH to 1. Is determined (step S1007). In FIG. 10, “and” is indicated by an “&” symbol and represents a logical product.

プロセッサ701は、ステップS1007の判定がYESならば、ステップS1011の処理に移行して、アプリ実行処理を行う。   If the determination in step S1007 is YES, the processor 701 proceeds to the process in step S1011 and performs an application execution process.

プロセッサ701は、ステップS1007の判定がNOならば、実行ポリシビットPLの値が1で、かつアプリ実行可能ビットAEの値が1で、かつ自ノードがアプリ実行可能ビットAEを1にセットしたことがメモリ702に記憶されているか否かを判定する(ステップS1008)。   If the determination in step S1007 is NO, the processor 701 indicates that the value of the execution policy bit PL is 1, the value of the application executable bit AE is 1, and the own node sets the application executable bit AE to 1. Is stored in the memory 702 (step S1008).

プロセッサ701は、ステップS1008の判定がYESならば、ステップS1011の処理に移行して、アプリ実行処理を行う。   If the determination in step S1008 is YES, the processor 701 proceeds to the process in step S1011 and performs an application execution process.

後述するように、宛先の例えばデータ−a保持ノード405は、要求メッセージ407のヘッダ部の各ビット値をそのまま有する応答メッセージ408を、転送経路と逆経路に返送する。中継ノード−A 402、中継ノード−B 403、及びデータ−a保持ノード405等の各ノードは、各要求メッセージ407をどのノードから受信したかを記憶しておく。各ノードは、応答メッセージ408、409を受信したときに、それに対応する要求メッセージ407について記憶していた発信元のノードに、受信した応答メッセージ408、409を転送する。この結果、応答メッセージ408、409は、それに対応する要求メッセージ407が中継されてきた転送経路と逆経路に中継されてゆくことになる。そしてステップS1007又はS1008で、例えば中継ノード−B 403が最初に、応答メッセージ408のAH又はAEの値が1で、かつ自ノードでのAH又はAEの値の記録が1であると判定すれば、自ノードは宛先ノードに最も近いアプリ実行可能ノードとなる。従ってこの場合に、応答メッセージ408、409の実行ポリシビットPLの値が宛先近傍優先の値1に設定されていれば、自ノードである中継ノード−B 403が、アプリ実行処理を行うべきノードであると判定できる。このときの判定の優先順位として、まず自ノードがアプリを保持しているか否かが判定され(ステップS1007)、次に自ノードがアプリ実行に対するリソースを持っているか否かが判定される(ステップS1008)。   As will be described later, the destination, for example, the data-a holding node 405 returns a response message 408 having each bit value of the header part of the request message 407 as it is to the transfer path and the reverse path. Each node such as the relay node-A 402, the relay node-B 403, and the data-a holding node 405 stores the node from which each request message 407 is received. When each node receives the response messages 408 and 409, each node forwards the received response messages 408 and 409 to the source node stored for the corresponding request message 407. As a result, the response messages 408 and 409 are relayed to the reverse path to the transfer path on which the corresponding request message 407 is relayed. In step S1007 or S1008, for example, if the relay node-B 403 first determines that the AH or AE value of the response message 408 is 1, and the record of the AH or AE value in the own node is 1. The own node becomes the application executable node closest to the destination node. Therefore, in this case, if the value of the execution policy bit PL of the response messages 408 and 409 is set to the destination neighborhood priority value 1, the relay node-B 403 that is the own node is the node that should perform the application execution process. It can be determined that there is. As the priority of determination at this time, it is first determined whether or not the own node holds the application (step S1007), and then it is determined whether or not the own node has resources for executing the application (step S1007). S1008).

ステップS1008の判定がNOならば、プロセッサ701は、実行ポリシビットPLの値が0で、かつアプリ保持ビットAHの値が1で、かつ自ノードがアプリ保持ビットAHを最初に1にセットしたことがメモリ702に記憶されているか否かを判定する(ステップS1009)。   If the determination in step S1008 is NO, the processor 701 indicates that the value of the execution policy bit PL is 0, the value of the application holding bit AH is 1, and the own node first sets the application holding bit AH to 1 Is stored in the memory 702 (step S1009).

プロセッサ701は、ステップS1009の判定がYESならば、ステップS1011の処理に移行して、アプリ実行処理を行う。   If the determination in step S1009 is YES, the processor 701 proceeds to the process in step S1011 and performs an application execution process.

プロセッサ701は、ステップS1009の判定がNOならば、実行ポリシビットPLの値が0で、かつアプリ実行可能ビットAEの値が1で、かつ自ノードがアプリ実行可能ビットAEを最初に1にセットしたことがメモリ702に記憶されているか否かを判定する(ステップS1010)。   If the determination in step S1009 is NO, the processor 701 sets the value of the execution policy bit PL to 0, the value of the application executable bit AE to 1, and the node itself first sets the application executable bit AE to 1. It is determined whether or not this is stored in the memory 702 (step S1010).

プロセッサ701は、ステップS1010の判定がYESならば、ステップS1011の処理に移行して、アプリ実行処理を行う。   If the determination in step S1010 is YES, the processor 701 proceeds to the process in step S1011 and performs an application execution process.

ステップS1009又はS1010で、例えば中継ノード−A 402が、応答メッセージ408のAH又はAEの値が1で、かつ自ノードが最初にAH又はAEをセットしたと判定すれば、自ノードはリクエスタ401に最も近いアプリ実行可能ノードとなる。従ってこの場合に、応答メッセージ408、409の実行ポリシビットPLの値がリクエスタ近傍優先の値0に設定されていれば、自ノードである中継ノード−A 402が、アプリ実行処理を行うべきノードであると判定できる。このときの判定の優先順位として、まず自ノードがアプリを保持しているか否かが判定され(ステップS1009)、次に自ノードがアプリ実行に対するリソースを持っているか否かが判定される(ステップS1010)。   In step S1009 or S1010, for example, if the relay node-A 402 determines that the AH or AE value of the response message 408 is 1 and that the own node first sets AH or AE, the own node sets the requester 401. The closest app executable node. Therefore, in this case, if the value of the execution policy bit PL of the response messages 408 and 409 is set to the requester neighborhood priority value 0, the relay node-A 402 that is the own node is the node that is to perform the application execution process. It can be determined that there is. As the priority of determination at this time, it is first determined whether or not the own node holds the application (step S1009), and then it is determined whether or not the own node has resources for executing the application (step S1009). S1010).

以上のステップS1007からS1010の一連の判定の何れかYESとなった場合、プロセッサ701は、アプリ実行処理を行う(ステップS1011)。   If any of the series of determinations in steps S1007 to S1010 is YES, the processor 701 performs an application execution process (step S1011).

ステップS1011において、プロセッサ701は、別要求メッセージにより、自ノードが保持していないアプリ実行に必要な他の要素オブジェクトを取得し、アプリ実行を行う。すなわち、プロセッサ701は、受信した応答メッセージ408、409のName部で指定されている要素オブジェクト群“アプリ−1”、“データ−a”、“データ−b”などのうち、自ノードが保持していない要素オブジェクトについて、以下の処理を実行する。プロセッサ701は、その要素オブジェクトがName部に指定された要求メッセージを作成して、ネットワークに送信する。この結果、プロセッサ701は、その要素オブジェクトを宛先とする“アプリ−1”保持ノード404、データ−a保持ノード405、又はデータ−b保持ノード406(図4参照)などから、その要素オブジェクトを取得する。   In step S <b> 1011, the processor 701 acquires another element object necessary for application execution that is not held by the self-node by using another request message, and executes the application. That is, the processor 701 holds the own node among the element object groups “application-1”, “data-a”, “data-b” and the like specified in the Name part of the received response messages 408 and 409. The following processing is executed for the element objects that are not. The processor 701 creates a request message in which the element object is specified in the Name part, and transmits it to the network. As a result, the processor 701 acquires the element object from the “application-1” holding node 404, the data-a holding node 405, or the data-b holding node 406 (see FIG. 4) that is destined for the element object. To do.

ステップS1011において、プロセッサ701は、アプリ実行が完了すると、次のような応答メッセージ409を生成する。この応答メッセージ409において、プロセッサ701は、他のノードがアプリを実行しないように、ヘッダ部のアプリ保持ビットAH及びアプリ実行可能ビットAEの値を共に0にリセットし、Content部(図8(b)参照)にアプリ実行結果を格納する。   In step S1011, when the application execution is completed, the processor 701 generates the following response message 409. In this response message 409, the processor 701 resets both the application holding bit AH and the application executable bit AE in the header part to 0 so that other nodes do not execute the application, and the Content part (FIG. 8 (b) Store the application execution result in ()).

上述のステップS1011の処理の後、プロセッサ701は、生成した応答メッセージ409を、その応答メッセージ409のヘッダ部と同じヘッダ部を有する要求メッセージ407を受信した方向のノードに向けて転送する(ステップS1012)。   After the process of step S1011 described above, the processor 701 transfers the generated response message 409 toward the node in the direction in which the request message 407 having the same header part as that of the response message 409 is received (step S1012). ).

前述のステップS1010の判定がNOとなった場合には、プロセッサ701は、受信した応答メッセージ408、409をそのまま、その応答メッセージ409のヘッダ部と同じヘッダ部を有する要求メッセージ407を受信した方向のノードに向けて転送する(ステップS1012)。   If the determination in step S1010 is NO, the processor 701 receives the request message 407 having the same header part as that of the response message 409 without receiving the received response messages 408 and 409. Transfer to the node (step S1012).

その後、プロセッサ701は、図10のフローチャートで示されるメッセージ転送処理を終了する。   After that, the processor 701 ends the message transfer process shown in the flowchart of FIG.

図7から図9の構成と図10のメッセージ転送処理に基づく第1の実施形態の7つの動作例について、以下に説明する。   Seven operation examples of the first embodiment based on the configurations of FIGS. 7 to 9 and the message transfer process of FIG. 10 will be described below.

まず、第1の実施形態における第1の動作例について、前述した図4の説明図及び図11のシーケンス図を用いて説明する。図4及び図11に示される第1の動作例は、実行ポリシビットPLが1にセットされ、中継ノード−B 403のみにアプリ実行に対するリソースがある場合の例である。   First, a first operation example in the first embodiment will be described with reference to the explanatory diagram of FIG. 4 and the sequence diagram of FIG. The first operation example shown in FIGS. 4 and 11 is an example in which the execution policy bit PL is set to 1 and only the relay node-B 403 has resources for application execution.

<動作パターン1>
リクエスタ401は、実行しようとするアプリの特性から、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLの値を0又は1に設定する。なお、前述したように、実行ポリシビットPLの設定は、リクエスタ401ではなく、エッジノードに当たる中継ノード−A 402(図6参照)が行ってもよい。リクエスタ401は、要求メッセージ407のName部が示す宛先(先頭のオブジェクト、Routable Prefix )が要素オブジェクト(アプリ又はデータ)の1つになるように構成し、その要求メッセージ407を送信する。
<Operation pattern 1>
The requester 401 sets the value of the execution policy bit PL of the request message 407 to be transmitted to 0 or 1 by referring to the PL setting table of FIG. 9 from the characteristics of the application to be executed. As described above, the execution policy bit PL may be set not by the requester 401 but by the relay node-A 402 (see FIG. 6) corresponding to the edge node. The requester 401 configures the destination (first object, Routeable Prefix) indicated by the Name part of the request message 407 to be one of the element objects (application or data), and transmits the request message 407.

図4及び図11の第1の動作例では、実行を行うべきアプリは、例えば画像解析アプリ又はセンサデータ分析アプリのように、「出力データ<Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、宛先近傍優先を表す値1を設定する。次に、図4の第1の動作例では、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する。この結果、宛先ノードは、Name部の先頭の名前“データ−a”に対応する“データ−a”本体を保持するデータ−a保持ノード405となる。このようにして、リクエスタ401は、前述した<動作パターン1>に従って、PL=1、AH=0、AE=0とし、Name部に“データ−a+アプリ−1+データ−b”を格納した要求メッセージ407を生成する(図11のS1101)。そして、リクエスタ401は、前述した<動作パターン1>に従って、生成した要求メッセージ407を中継ノード−A 402に転送する(S1102)。なお、図11中では、Name部に“データ−a+アプリ−1+データ−b”が格納された要求メッセージ407を、「要求(a+1+b)」と簡略化して表記している。   In the first operation example of FIGS. 4 and 11, the application to be executed is a case where “output data <Σ (input data)”, such as an image analysis application or a sensor data analysis application. As a result, the requester 401 sets the execution policy bit PL of the request message 407 to be transmitted to a value 1 indicating destination neighborhood priority by referring to the PL setting table of FIG. Next, in the first operation example of FIG. 4, the requester 401 sets the name “data−a + application−1 + data−b” as the Name part of the request message 407. As a result, the destination node is the data-a holding node 405 that holds the “data-a” body corresponding to the name “data-a” at the head of the Name part. In this way, the requester 401 sets PL = 1, AH = 0, and AE = 0 in accordance with <Operation pattern 1> described above, and stores “data-a + application-1 + data-b” in the Name portion. 407 is generated (S1101 in FIG. 11). Then, the requester 401 transfers the generated request message 407 to the relay node-A 402 according to the above-described <operation pattern 1> (S1102). In FIG. 11, the request message 407 in which “data−a + application−1 + data−b” is stored in the Name portion is simply expressed as “request (a + 1 + b)”.

要求メッセージ407を受信した宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、図10のフローチャートのステップS1001からS1006の一連の制御動作に従って、前述したメッセージ転送処理を次のように実行する。   Each of the relay node-A 402 and the relay node-B 403 on the route to the destination node that has received the request message 407 performs the message transfer process described above according to a series of control operations in steps S1001 to S1006 in the flowchart of FIG. Run like this.

<動作パターン2>
中継ノードは、近傍ノード(太線矢印)も含めて、要求メッセージ407での指定アプリを持っていれば、図10のステップS1001→S1002の判定がYES→S1003→S1006の制御を実行する。この結果、中継ノードは、要求メッセージ407のアプリ保持ビットAHをオンに(値1にセット)し、AH=1をセットしたこと、及び最初にAH=1をセットしたか否かを、メモリ702に記憶する。その後、中継ノードは、要求メッセージ407を転送する。
<Operation pattern 2>
If the relay node has a designated application in the request message 407 including the neighboring nodes (thick arrows), the determination of steps S1001 → S1002 in FIG. 10 executes the control of YES → S1003 → S1006. As a result, the relay node turns on the application holding bit AH of the request message 407 (sets to value 1), sets AH = 1, and whether or not AH = 1 is initially set in the memory 702. To remember. Thereafter, the relay node forwards the request message 407.

<動作パターン3>
中継ノードは、近傍ノード(太線矢印)も含めて、指定アプリはないがその実行のリソースがあれば、図10のステップS1001→S1002の判定がNO→S1004の判定がYES→S1005→S1006の制御を実行する。この結果、中継ノードは、要求メッセージ407のアプリ実行可能ビットAEをオンにし、AE=1をセットしたこと、及び最初にAE=1をセットしたか否かを、メモリ702に記憶する。その後、中継ノードは、要求メッセージ407を転送する。
<Operation pattern 3>
As for the relay node, there is no designated application including a neighboring node (thick arrow), but if there is a resource to be executed, the determination of step S1001 → S1002 in FIG. 10 is NO → the determination of S1004 is YES → S1005 → S1006 Execute. As a result, the relay node turns on the application executable bit AE of the request message 407 and stores in the memory 702 whether AE = 1 is set and whether AE = 1 is first set. Thereafter, the relay node forwards the request message 407.

<動作パターン4>
中継ノードは、近傍ノード(太線矢印)も含めて、指定アプリ及びその実行のリソース共に無ければ、図10のステップS1001→S1002の判定がNO→S1004の判定がNO→S1006の制御を実行する。この結果、中継ノードは、要求メッセージ407をそのまま転送する。
<Operation pattern 4>
If there is no designated application and its execution resource including the neighboring node (thick arrow), the relay node executes the control of step S1001 → S1002 in FIG. 10 NO → S1004 is determined NO → S1006. As a result, the relay node transfers the request message 407 as it is.

以上の動作2、3、又は4において、各ノードは、自ノードの「近傍」として、自ノードのkホップ以内を探索するか、事前に調べて情報を持っておく。   In the above operations 2, 3, or 4, each node searches for within k hops of its own node as “neighboring” of its own node, or has information in advance by examining it.

図4及び図11の第1の動作例では、中継ノード−A 402は、指定アプリである“アプリ−1”もその実行のリソースも持っていない。このため、中継ノード−A 402は、前述した<動作パターン4>に従い、要求メッセージ407のアプリ保持ビットAH及びアプリ実行可能ビットAEの両方とも値0のままとして、要求メッセージ407を中継ノード−B 403に中継する(図11のS1103)。   In the first operation example shown in FIGS. 4 and 11, the relay node-A 402 has neither “application-1”, which is the designated application, nor resources for executing it. For this reason, the relay node-A 402 keeps both the application holding bit AH and the application executable bit AE of the request message 407 at the value 0 in accordance with the above-described <operation pattern 4>, and sends the request message 407 to the relay node-B. Relay to 403 (S1103 in FIG. 11).

次に、中継ノード−B 403は、“アプリ−1”は持っていないがその実行のリソースを持っている。このため、中継ノード−B 403は、前述した<動作パターン3>に従って、要求メッセージ407中のアプリ実行可能ビットAEをオンする(値1に書き換える)。また、中継ノード−B 403は、AE=1をセットしたこと、及び最初にAE=1をセットしたことを、メモリ702に記憶する(以上、図11のS1104)。そして、中継ノード−B 403は、その要求メッセージ407を、データ−a保持ノード405に転送する(図11のS1105)。   Next, the relay node-B 403 does not have “application-1”, but has resources to execute it. For this reason, the relay node-B 403 turns on the application executable bit AE in the request message 407 according to the above-described <operation pattern 3> (rewrites the value to 1). Further, the relay node-B 403 stores in the memory 702 that AE = 1 is set and that AE = 1 is first set (S1104 in FIG. 11). Then, the relay node-B 403 transfers the request message 407 to the data-a holding node 405 (S1105 in FIG. 11).

宛先ノード(図4の例ではデータ−a保持ノード405)は、要求メッセージ407のヘッダの各ビットを判定して、次のように動作する。   The destination node (data-a holding node 405 in the example of FIG. 4) operates as follows by determining each bit of the header of the request message 407.

<動作パターン5>
宛先ノードが、要求メッセージ407での指定アプリを保持しているかその実行のリソースを持っていれば、自ノードが指定アプリを実行する。この結果、宛先ノードは、アプリ実行結果を応答メッセージ408のContent部(図8(b)参照)に格納し、その応答メッセージ408を、それに対応する要求メッセージ407の経路と逆の経路に中継する。このとき、宛先ノードは、応答メッセージ408のヘッダ部のアプリ保持ビットAH及びアプリ実行可能ビットAEをクリア(値0に)する。
<Operation pattern 5>
If the destination node holds the designated application in the request message 407 or has a resource for its execution, the own node executes the designated application. As a result, the destination node stores the application execution result in the Content part (see FIG. 8B) of the response message 408, and relays the response message 408 to a path opposite to the path of the corresponding request message 407. . At this time, the destination node clears the application holding bit AH and the application executable bit AE in the header part of the response message 408 (to 0).

<動作パターン6>
宛先ノードが、要求メッセージ407での指定アプリもその実行のリソースも持っていない場合で、要求メッセージ407のアプリ保持ビットAH又はアプリ実行可能ビットAEがオンならば、次の動作を実行する。宛先ノードは、応答メッセージ408を作成し、そのヘッダ部に要求メッセージ407のPL、AH、AEの各ビット値をコピーするとともに、Content部に“データ−a”本体を格納する。そして、宛先ノードは、その応答メッセージ408を、それに対応する要求メッセージ407の経路と逆の経路に返送する。
<Operation pattern 6>
If the destination node has neither the application specified in the request message 407 nor the resource to execute it, and if the application holding bit AH or the application executable bit AE of the request message 407 is on, the following operation is executed. The destination node creates a response message 408, copies the bit values of PL, AH, and AE of the request message 407 in the header portion thereof, and stores the “data-a” body in the Content portion. Then, the destination node returns the response message 408 to the path opposite to the path of the request message 407 corresponding thereto.

<動作パターン7>
宛先ノードが、要求メッセージ407での指定アプリもその実行のリソースも持っていない場合で、かつ要求メッセージ407のアプリ保持ビットAH及びアプリ実行可能ビットAEが共にオフ(値0)ならば、次の動作を実行する。宛先ノードは、エラー(アプリ実行不可)を、応答メッセージ408のContent部に格納し、その応答メッセージ408を、それに対応する要求メッセージ407の経路と逆の経路に返送する。
<Operation pattern 7>
If the destination node has neither the application specified in the request message 407 nor the resource for its execution, and both the application holding bit AH and the application executable bit AE of the request message 407 are off (value 0), Perform the action. The destination node stores the error (cannot execute the application) in the content part of the response message 408, and returns the response message 408 to the path opposite to the path of the corresponding request message 407.

図4及び図11の第1の動作例は、宛先ノードであるデータ−a保持ノード405が要求メッセージ407での指定アプリもその実行のリソースも持っていない場合で、かつ要求メッセージ407のアプリ実行可能ビットAEのみがオンの場合である。従って、データ−a保持ノード405は、前述した<動作パターン6>に従って、、以下の動作を実行する。データ−a保持ノード405は、応答メッセージ408を作成し、そのヘッダ部に要求メッセージ407のPL、AH、AEの各ビット値をコピーするとともに、Content部に“データ−a”本体を格納する(図11のS1106)。そして、データ−a保持ノード405は、その応答メッセージ408を、中継ノード−B 403に転送する(図11のS1107)。なお、図11中では、Name部に名前“データ−a+アプリ−1+データ−b”が格納され、Content部に“データ−a”本体が格納された応答メッセージ408を、「応答(a+1+b,データ−a)」と簡略化して表記している。   The first operation example of FIG. 4 and FIG. 11 is a case where the data-a holding node 405 that is the destination node has neither the application specified in the request message 407 nor the resource for its execution, and the application execution of the request message 407 This is the case when only the possible bit AE is on. Therefore, the data-a holding node 405 executes the following operation in accordance with <Operation pattern 6> described above. The data-a holding node 405 creates a response message 408, copies the bit values of PL, AH, and AE of the request message 407 in the header portion thereof, and stores the “data-a” body in the Content portion ( S1106 in FIG. Then, the data-a holding node 405 transfers the response message 408 to the relay node-B 403 (S1107 in FIG. 11). In FIG. 11, a response message 408 in which the name “data-a + app-1 + data-b” is stored in the Name portion and the “data-a” main body is stored in the Content portion is referred to as “response (a + 1 + b, data -A) ".

宛先ノードから応答メッセージ408を受信した経路上の中継ノードは、図10のフローチャートのステップS1001→S1007からS1012の一連の制御動作に従って、前述したメッセージ転送処理を次のように実行する。   The relay node on the path that has received the response message 408 from the destination node executes the above-described message transfer process according to a series of control operations from steps S1001 to S1007 to S1012 in the flowchart of FIG.

<動作パターン8>
応答メッセージ408のヘッダ部のPLビット=1(宛先近傍優先)で、かつAH又はAEの何れかのビットがオンで、更に、近傍も含めて自ノードが、AH又はAEビットをオンにしている場合は、中継ノードは、次の動作を実行する。中継ノードは、図10のステップS1007又はS1008の何れかの判定がYESとなることにより、ステップS1011を実行する。この条件は、応答メッセージ408のName部で指定されたアプリ又はその実行のリソースを持っている中継ノードのうち、宛先のノードから送られてきた応答メッセージ408を最初に受信した宛先のノードに最も近い場所のノードにおいて成立する。一方、応答メッセージ408のヘッダ部のPLビット=0(リクエスタ近傍優先)で、かつAH又はAEの何れかのビットがオンで、更に、近傍も含めて自ノードが、AH又はAEビットを“最初に”オンにしている場合は、中継ノードは、次の動作を実行する。中継ノードは、図10のステップS1007及びS1008の判定がNO、続いてステップS1009又はS1010の何れかの判定がYESとなることにより、ステップS1011を実行する。この条件は、応答メッセージ408のName部で指定されたアプリ又はその実行のリソースを持っている中継ノードのうち、宛先のノードから送られてきた応答メッセージ408を最後に受信するリクエスタ401のノードに最も近い場所のノードにおいて成立する。上記何れかの条件の成立により、中継ノードは、図1のステップS1011で、別要求メッセージにより自ノードが保持していないアプリ実行に必要な他の要素オブジェクトを取得し、アプリ実行を行う。中継ノードは、アプリ実行が完了すると、新たに応答メッセージ409を生成する。中継ノードは、生成した応答メッセージ409において、他のノードがアプリを実行しないように、ヘッダ部のアプリ保持ビットAH及びアプリ実行可能ビットAEの値を共に0にリセットし、Content部にアプリ実行結果を格納する。その後、中継ノードは、図10のステップS1012で、生成した応答メッセージ409を、そのヘッダ部と同じヘッダ部を有する要求メッセージ407の発信元(要求メッセージ407の経路と逆の経路)に中継する。
<Operation pattern 8>
The PL bit of the header part of the response message 408 = 1 (destination neighborhood priority), and either the AH or AE bit is on, and the own node including the neighborhood turns on the AH or AE bit. In this case, the relay node performs the following operation. The relay node executes step S1011 when the determination in step S1007 or S1008 in FIG. 10 is YES. This condition applies to the destination node that first received the response message 408 sent from the destination node among the relay nodes having the application specified in the Name part of the response message 408 or the resource for executing the application. It is established at a nearby node. On the other hand, the PL bit of the header part of the response message 408 = 0 (priority in the requester vicinity), and either the AH or AE bit is ON, and the own node including the vicinity sets the AH or AE bit to “first”. When “ON” is selected, the relay node performs the following operation. The relay node executes step S1011 when the determinations of steps S1007 and S1008 in FIG. 10 are NO, and then the determination of either step S1009 or S1010 is YES. This condition is applied to the node of the requester 401 that finally receives the response message 408 sent from the destination node among the relay nodes having the application specified in the Name part of the response message 408 or the resource for executing the application. It is established at the nearest node. When any of the above conditions is satisfied, the relay node acquires another element object necessary for executing the application that is not held by the own node by another request message in step S1011 in FIG. 1, and executes the application. When the application execution is completed, the relay node newly generates a response message 409. In the generated response message 409, the relay node resets both the application holding bit AH and the application executable bit AE in the header part to 0 so that other nodes do not execute the application, and the application execution result in the Content part Is stored. Thereafter, in step S1012 of FIG. 10, the relay node relays the generated response message 409 to the source of the request message 407 having the same header part as the header part (a path opposite to the path of the request message 407).

<動作パターン9>
応答メッセージ408の判定において、上記<動作パターン8>以外の場合には、図10のステップS1007からS1010の全ての判定がNOとなる。この結果、中継ノードは、図10のステップS1012で、応答メッセージ408をそのまま、そのヘッダ部と同じヘッダ部を有する要求メッセージ407の発信元(要求メッセージ407の経路と逆の経路)に中継する。
<Operation pattern 9>
In the determination of the response message 408, in cases other than the above <operation pattern 8>, all the determinations in steps S1007 to S1010 in FIG. 10 are NO. As a result, in step S1012, the relay node relays the response message 408 as it is to the source of the request message 407 having the same header portion as the header portion (the route opposite to the route of the request message 407).

図4及び図11の第1の動作例では、中継ノード−B 403に応答メッセージ408が到着した時に、そのPLビット=1、そのAEビットがオンとなっており、かつ、中継ノード−B 403はメモリ702にAE=1をセットしたことを記憶している。このため、中継ノード−B 403は、前述の<動作パターン8>に従って、“アプリ−1”を実行すべきと判定する。中継ノード−B 403はまず、Name部に自ノードが保持していない要素オブジェクトの1つに対応する名前“データ−b”が格納された別の要求メッセージを生成し、その要求メッセージをネットワークに送信する(図11のS1108)。なお、図11では、この別要求メッセージを「要求(b)」と簡略化して表記している。データ−b保持ノード406は、この別要求メッセージに応答し、Content部に“データ−b”本体が格納された応答メッセージを中継ノード−B 403に返送する(図11のS1109)。なお、図11では、この応答メッセージを「応答(b)」と簡略化して表記している。同様に、中継ノード−B 403は、Name部に自ノードが保持していない要素オブジェクトの1つに対応する名前“アプリ−1”が格納された別の要求メッセージを生成し、その要求メッセージをネットワークに送信する(図11のS1110)。なお、図11では、この別要求メッセージを「要求(1)」と簡略化して表記している。“アプリ−1”保持ノード404は、この別要求メッセージに応答し、Content部に“アプリ−1”本体が格納された応答メッセージを中継ノード−B 403に返送する(図11のS1111)。なお、図11では、この応答メッセージを「応答(1)」と簡略化して表記している。その後、中継ノード−B 403は、応答メッセージ408に格納されている“データ−a”本体を取り出し、“データ−a”及び“データ−b”を入力データとして“アプリ−1”本体が示すプログラムを実行する(図11のS1112)。その結果、中継ノード−B 403は、ヘッダ部でアプリ実行可能ビットAEを0にリセットし(アプリ保持ビットAHは元々0)、Content部に実行結果を格納した新たな応答メッセージ409を生成する(図11のS1113)。AE=0とするのは、他のノードがアプリを実行しないようにするためである。そして、中継ノード−B 403は、その応答メッセージ409を中継ノード−A 402に転送する(図11のS1114)。なお、図11では、この応答メッセージ409を「応答(a+1+b,実行結果)」と簡略化して表記している。   In the first operation example of FIGS. 4 and 11, when the response message 408 arrives at the relay node-B 403, its PL bit = 1, its AE bit is on, and the relay node-B 403 Stores that AE = 1 is set in the memory 702. Therefore, the relay node-B 403 determines that “application-1” should be executed in accordance with the above-described <operation pattern 8>. First, the relay node-B 403 generates another request message in which the name “data-b” corresponding to one of the element objects that the node itself does not hold is stored in the Name part, and the request message is transmitted to the network. Transmit (S1108 in FIG. 11). In FIG. 11, this separate request message is simply expressed as “request (b)”. In response to this separate request message, the data-b holding node 406 returns a response message in which the “data-b” body is stored in the Content section to the relay node-B 403 (S1109 in FIG. 11). In FIG. 11, this response message is simply expressed as “response (b)”. Similarly, the relay node-B 403 generates another request message in which the name “application-1” corresponding to one of the element objects that the node itself does not hold is stored in the Name part, and the request message is The data is transmitted to the network (S1110 in FIG. 11). In FIG. 11, this separate request message is simply expressed as “request (1)”. In response to this separate request message, the “application-1” holding node 404 returns a response message in which the “application-1” main body is stored in the Content section to the relay node-B 403 (S1111 in FIG. 11). In FIG. 11, this response message is simply expressed as “response (1)”. Thereafter, the relay node-B 403 extracts the “data-a” main body stored in the response message 408, and the program indicated by the “app-1” main body using “data-a” and “data-b” as input data. Is executed (S1112 in FIG. 11). As a result, the relay node-B 403 resets the application executable bit AE to 0 in the header part (the application holding bit AH is originally 0), and generates a new response message 409 in which the execution result is stored in the Content part ( S1113 in FIG. The reason for setting AE = 0 is to prevent other nodes from executing the application. Then, the relay node-B 403 transfers the response message 409 to the relay node-A 402 (S1114 in FIG. 11). In FIG. 11, the response message 409 is simply expressed as “response (a + 1 + b, execution result)”.

中継ノード−A 402では、受信した応答メッセージ409のヘッダ部のアプリ保持ビットAH及びアプリ実行可能ビットAEが共にオフとなっており、かつ指定アプリである“アプリ−1”もその実行のリソースも持っていない。従って、中継ノード−A 402は、前述の<動作パターン9>に従って、受信した応答メッセージ409をそのまま、リクエスタ401に中継する(図11のS1115)。   In the relay node-A 402, the application holding bit AH and the application executable bit AE in the header part of the received response message 409 are both off, and the designated application “application-1” and its execution resource are both do not have. Therefore, the relay node-A 402 relays the received response message 409 as it is to the requester 401 in accordance with <Operation pattern 9> described above (S1115 in FIG. 11).

リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を取り出して受け取る。   The requester 401 extracts and receives the execution result of the application from the Content part of the received response message 409.

以上説明したようにして、第1の実施形態において、実行ポリシビットPLの値が1(宛先近傍優先)にセットされる場合、アプリ実行は下記の優先順位で行われる。
優先順位1:最大サイズの要素オブジェクトのあるノード。
優先順位2:その要素オブジェクトに至る経路上のノード(できる限り宛先の要素オブジェクトに近いノード)。
優先順位3:経路上のノードの近傍ノード(経路上にはないが、経路上のノードからホップ以内のノード)。
As described above, in the first embodiment, when the value of the execution policy bit PL is set to 1 (destination neighborhood priority), application execution is performed in the following priority order.
Priority 1: A node with an element object of maximum size.
Priority 2: A node on the path to the element object (a node as close to the destination element object as possible).
Priority 3: A neighboring node of a node on the route (a node that is not on the route but is within a hop from the node on the route).

次に、第1の実施形態における第2の動作例について、図12の説明図及び図13のシーケンス図を用いて説明する。図12及び図13に示される第2の動作例は、実行ポリシビットPLが1にセットされ、中継ノード−A 402のみにアプリ実行のリソースがある場合の例である。図13での簡略化表記のしかたは、図11の第1の動作例の場合と同様である。   Next, a second operation example in the first embodiment will be described with reference to an explanatory diagram of FIG. 12 and a sequence diagram of FIG. The second operation example shown in FIGS. 12 and 13 is an example in which the execution policy bit PL is set to 1 and only the relay node-A 402 has an application execution resource. The simplified notation in FIG. 13 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図12の第2の動作例では、図4の第1の動作例の場合と同様に、実行を行うべきアプリは、例えば画像解析アプリ又はセンサデータ分析アプリのように、「出力データ<Σ(入力データ)」である場合である。この結果、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、宛先近傍優先を表す値1を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図13のS1301)。そして、リクエスタ401は、このようにして生成した要求メッセージ407を中継ノード−A 402に送信する(図13のS1302)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the second operation example of FIG. 12, as in the case of the first operation example of FIG. 4, the application to be executed is “output data <Σ ( Input data) ”. As a result, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. The requester 401 refers to the PL setting table of FIG. 9 and sets a value 1 representing destination neighborhood priority to the execution policy bit PL of the request message 407 to be transmitted. Further, the requester 401 sets the name “data−a + application−1 + data−b” as the name part of the request message 407 (S1301 in FIG. 13). Then, the requester 401 transmits the request message 407 generated in this way to the relay node-A 402 (S1302 in FIG. 13).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、メッセージ転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. Execute message transfer processing.

図12及び図13の第2の動作例では、中継ノード−A 402は、“アプリ−1”は持っていないがその実行のリソースを持っている。このため、中継ノード−A 402は、前述した<動作パターン3>に従い、以下の制御動作を実行する。中継ノード−A 402は、要求メッセージ407中のアプリ実行可能ビットAEをオンする。また、中継ノード−A 402は、この要求メッセージ407に対してAE=1をセットしたこと、及び最初にAE=1としたことを、メモリ702(図7)に記憶しておく(以上、図13のS1303)。そして、中継ノード−A 402は、その要求メッセージ407を、中継ノード−B 403に転送する(図13のS1304)。   In the second operation example of FIGS. 12 and 13, the relay node-A 402 does not have “application-1”, but has resources for its execution. Therefore, the relay node-A 402 executes the following control operation in accordance with <Operation pattern 3> described above. The relay node-A 402 turns on the application executable bit AE in the request message 407. Further, the relay node-A 402 stores in the memory 702 (FIG. 7) that AE = 1 is set for the request message 407 and that AE = 1 is set first (FIG. 7). 13 S1303). Then, the relay node-A 402 transfers the request message 407 to the relay node-B 403 (S1304 in FIG. 13).

次に、中継ノード−B 403は、指定アプリである“アプリ−1”もその実行のリソースも持っていない。このため、中継ノード−B 403は、前述した<動作パターン4>に従って、AH及びAEの値を変更せずにそのまま、要求メッセージ407をデータ−a保持ノード405に転送する(図13のS1305)。   Next, the relay node-B 403 has neither “application-1”, which is the designated application, nor the resource for its execution. For this reason, the relay node-B 403 transfers the request message 407 to the data-a holding node 405 without changing the values of AH and AE in accordance with <Operation pattern 4> described above (S1305 in FIG. 13). .

宛先ノードであるデータ−a保持ノード405は、要求メッセージ407が指定する“アプリ−1”もその実行のリソースも持っておらず、かつ要求メッセージ407のアプリ実行可能ビットAEのみがオンである。従って、データ−a保持ノード405は、図4の第1の動作例と同様に、前述した<動作パターン6>に従って、以下の動作を実行する。データ−a保持ノード405は、応答メッセージ408を作成し、そのヘッダ部に要求メッセージ407のPL、AH、AEの各ビット値をコピーするとともに、Content部に“データ−a”本体を格納する(図13のS1306)。そして、データ−a保持ノード405は、その応答メッセージ408を、中継ノード−B 403に転送する(図13のS1307)。   The data-a holding node 405 that is the destination node has neither “application-1” specified by the request message 407 nor the resource for its execution, and only the application executable bit AE of the request message 407 is on. Accordingly, the data-a holding node 405 executes the following operation in accordance with <Operation pattern 6> described above, similarly to the first operation example of FIG. The data-a holding node 405 creates a response message 408, copies the bit values of PL, AH, and AE of the request message 407 in the header portion thereof, and stores the “data-a” body in the Content portion ( S1306 in FIG. Then, the data-a holding node 405 transfers the response message 408 to the relay node-B 403 (S1307 in FIG. 13).

データ−a保持ノード405から応答メッセージ408、409を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理/アプリ実行処理を実行する。   The relay node on the path that has received the response messages 408 and 409 from the data-a holding node 405 responds according to <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. The transfer process / application execution process is executed.

中継ノード−B 403では、受信した応答メッセージ409において、PL=1、AE=1であるが、近傍も含めて自ノードが応答メッセージ408のName部で指定された“アプリ−1”及びその実行のリソースの何れも持っていない。従って、中継ノード−B 403は、前述した<動作パターン9>に従って、受信した応答メッセージ409をそのまま、中継ノード−A 402に中継する(図13のS1308)。   In the relay node-B 403, PL = 1 and AE = 1 in the received response message 409, but “node 1” specified in the Name part of the response message 408 including its neighbors and its execution I don't have any of these resources. Accordingly, the relay node-B 403 relays the received response message 409 as it is to the relay node-A 402 in accordance with <Operation pattern 9> described above (S1308 in FIG. 13).

中継ノード−A 402では、応答メッセージ408が到着した時に、そのPLビット=1で、そのAEビットがオンとなっており、かつ、中継ノード−A 402はメモリ702にAE=1をセットしたことを記憶している。このため、中継ノード−A 402は、前述の<動作パターン8>に従って、“アプリ−1”を実行すべきと判定する。この結果、中継ノード−A 402は、図11の第1の動作例のS1108からS1111の一連の制御動作と同様にして、図13のS1309からS1312の一連の制御動作を実行する。これにより、中継ノード−A 402は、別要求メッセージにより、自ノードが保持していない“アプリ−1”本体及び“データ−b”本体をそれぞれ、中継ノード−B 403を介して、“アプリ−1”保持ノード404及びデータ−b保持ノード406から取得する。その後、中継ノード−A 402は、応答メッセージ408に格納されている“データ−a”本体を取り出し、“データ−a”及び“データ−b”を入力データとして“アプリ−1”本体が示すプログラムを実行する(図13のS1313)。その結果、中継ノード−A 402は、ヘッダ部でアプリ実行可能ビットAEを0にリセットし(アプリ保持ビットAHは元々0)、Content部に実行結果を格納した新たな応答メッセージ409を生成する(図13のS1314)。そして、中継ノード−A 402は、その応答メッセージ409をリクエスタ401に転送する(図13のS1315)。   In the relay node-A 402, when the response message 408 arrives, the PL bit = 1, the AE bit is on, and the relay node-A 402 sets AE = 1 in the memory 702 Is remembered. Therefore, the relay node-A 402 determines that “application-1” should be executed in accordance with the above-described <operation pattern 8>. As a result, the relay node-A 402 executes a series of control operations from S1309 to S1312 in FIG. 13 in the same manner as the series of control operations from S1108 to S1111 in the first operation example in FIG. As a result, the relay node-A 402 transmits the “application-1” main body and the “data-b” main body, which are not held by the own node, via the relay node-B 403, respectively, according to another request message. Obtained from the 1 ″ holding node 404 and the data-b holding node 406. Thereafter, the relay node-A 402 retrieves the “data-a” main body stored in the response message 408 and uses the “data-a” and “data-b” as input data to indicate the program indicated by the “app-1” main body. Is executed (S1313 in FIG. 13). As a result, the relay node-A 402 resets the application executable bit AE to 0 in the header part (the application holding bit AH is originally 0), and generates a new response message 409 in which the execution result is stored in the Content part ( S1314 in FIG. Then, the relay node-A 402 transfers the response message 409 to the requester 401 (S1315 in FIG. 13).

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

このように、図12及び図13の第2の動作例では、リクエスタ401が要求メッセージ407の送信時に実行ポリシビットPL=1(宛先優先)を指定している。しかし、何れの中継ノードも“アプリ−1”は保持しておらず、“アプリ−1”の実行のリソースを有する中継ノードは中継ノード−A 402のみである。従って、宛先ノードであるデータ−a保持ノード405からは遠い中継ノードではあるが、唯一“アプリ−1”を実行可能な中継ノード−A 402が、“アプリ−1”を実行することになる。   As described above, in the second operation example of FIGS. 12 and 13, the requester 401 designates the execution policy bit PL = 1 (destination priority) when the request message 407 is transmitted. However, none of the relay nodes holds “application-1”, and the relay node having the resource for executing “application-1” is only the relay node-A 402. Therefore, the relay node-A 402 that can only execute “application-1”, although it is a relay node far from the data-a holding node 405 that is the destination node, executes “application-1”.

次に、第1の実施形態における第3の動作例について、図14の説明図及び図15のシーケンス図を用いて説明する。図14及び図15に示される第3の動作例は、実行ポリシビットPLが1にセットされ、中継ノード−A 402及び中継ノード−B 403の両方ともアプリ実行のリソースがある場合の例である。図15での簡略化表記のしかたは、図11の第1の動作例の場合等と同様である。   Next, a third operation example in the first embodiment will be described with reference to an explanatory diagram of FIG. 14 and a sequence diagram of FIG. The third operation example shown in FIGS. 14 and 15 is an example in which the execution policy bit PL is set to 1 and both the relay node-A 402 and the relay node-B 403 have application execution resources. . The simplified notation in FIG. 15 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図14及び図15の第3の動作例では、図4及び図11の第1の動作例の場合と同様に、実行を行うべきアプリは、例えば画像解析アプリ又はセンサデータ分析アプリのように、「出力データ<Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、宛先近傍優先を表す値1を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図15のS1501)。そして、リクエスタ401は、このようにして生成した要求メッセージ407を中継ノード−A 402に送信する(図15のS1502)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the third operation example of FIGS. 14 and 15, as in the case of the first operation example of FIGS. 4 and 11, the application to be executed is, for example, an image analysis application or a sensor data analysis application, This is a case where “output data <Σ (input data)”. As a result, the requester 401 sets the execution policy bit PL of the request message 407 to be transmitted to a value 1 indicating destination neighborhood priority by referring to the PL setting table of FIG. Further, the requester 401 sets the name “data−a + application−1 + data−b” as the Name part of the request message 407 (S1501 in FIG. 15). The requester 401 transmits the request message 407 generated in this way to the relay node-A 402 (S1502 in FIG. 15).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、メッセージ転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. Execute message transfer processing.

図14の第3の動作例では、中継ノード−A 402は、“アプリ−1”は持っていないがその実行のリソースを持っている。このため、中継ノード−A 402は、前述した<動作パターン3>に従って、要求メッセージ407中のアプリ実行可能ビットAEをオンする。また、中継ノード−A 402は、この要求メッセージ407に対してAE=1をセットしたこと、及び最初にAE=1としたことを、メモリ702(図7)に記憶しておく。(以上、図15のS1503)。そして、中継ノード−A 402は、その要求メッセージ407を、中継ノード−B 403に転送する(図15のS1504)。   In the third operation example of FIG. 14, the relay node-A 402 does not have “application-1” but has resources for executing it. Therefore, the relay node-A 402 turns on the application executable bit AE in the request message 407 in accordance with the above-described <operation pattern 3>. Further, the relay node-A 402 stores in the memory 702 (FIG. 7) that AE = 1 is set for the request message 407 and that AE = 1 is set first. (S1503 in FIG. 15). Then, the relay node-A 402 transfers the request message 407 to the relay node-B 403 (S1504 in FIG. 15).

次に、中継ノード−B 403も、中継ノード−A 402と同様に、“アプリ−1”は保持していないがその実行のリソースを持っているので、前述した<動作パターン3>に従って、以下の動作を行う。まず、中継ノード−B 403も、要求メッセージ407中のアプリ実行可能ビットAEを上書きする。この場合、受信された要求メッセージ407のAEビットは既に値1になっているため、状態は変わらない。また、中継ノード−B 403は、この要求メッセージ407に対してAE=1をセットしたことをメモリ702(図7)に記憶しておく。なお、受信された要求メッセージ407のAEビットは既に値1になっているため、中継ノード−B 403は、最初にAE=1としたことは記憶しない(以上、図15のS1505)。そして、中継ノード−B 403は、その要求メッセージ407を、データ−a保持ノード405に転送する(図15のS1506)。   Next, similarly to the relay node-A 402, the relay node-B 403 also does not hold “application-1” but has resources for its execution. Perform the operation. First, the relay node-B 403 also overwrites the application executable bit AE in the request message 407. In this case, since the AE bit of the received request message 407 has already become the value 1, the state does not change. Further, the relay node-B 403 stores in the memory 702 (FIG. 7) that AE = 1 is set for the request message 407. Note that since the AE bit of the received request message 407 has already been set to value 1, the relay node-B 403 does not store that AE = 1 was initially set (S1505 in FIG. 15). Then, the relay node-B 403 transfers the request message 407 to the data-a holding node 405 (S1506 in FIG. 15).

データ−a保持ノード405は、 “アプリ−1”及びその実行のリソース共に持っておらず、要求メッセージ407のアプリ実行可能ビットAEがオンなので、図4の第1の動作例等の場合と同様に、前述した<動作パターン6>に従って、以下の動作を実行する。データ−a保持ノード405は、そのヘッダ部に要求メッセージ407のPL、AH、AEの各ビット値がコピーされ、Content部に“データ−a”本体が格納された応答メッセージ408を生成する(図15のS1507)。そして、データ−a保持ノード405は、生成した応答メッセージ408を中継ノード−B 403に返送する(図15のS1508)。   The data-a holding node 405 does not have both “application-1” and its execution resources, and the application executable bit AE of the request message 407 is on, so that it is the same as in the first operation example of FIG. In addition, the following operation is executed in accordance with <Operation Pattern 6> described above. The data-a holding node 405 generates a response message 408 in which the bit values of PL, AH, and AE of the request message 407 are copied in the header portion, and the “data-a” body is stored in the Content portion (FIG. 15 S1507). Then, the data-a holding node 405 returns the generated response message 408 to the relay node-B 403 (S1508 in FIG. 15).

データ−a保持ノード405から応答メッセージ408、409を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理/アプリ実行処理を実行する。   The relay node on the path that has received the response messages 408 and 409 from the data-a holding node 405 responds according to <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. The transfer process / application execution process is executed.

中継ノード−B 403では、応答メッセージ408が到着した時に、その実行ポリシビットPL=1で、そのアプリ実行可能ビットAEがオンとなっており、かつ、中継ノード−B 403はメモリ702にAE=1をセットしたことを記憶している。このため、中継ノード−B 403は、図4の第1の動作例の場合と同様にして、前述の<動作パターン8>に従って、“アプリ−1”を実行すべきと判定する。この結果、中継ノード−B 403は、図11の第1の動作例のS1108からS1114の一連の動作と同様の、図15のS1509からS1515の一連の動作を実行する。中継ノード−B 403は、アプリ−1”、“データ−a”、“データ−b”を取得しアプリ実行を行い、AE(とAH)ビットが0にリセットされ、Content部にアプリ実行結果が格納された応答メッセージ409を生成して中継ノード−A 402に中継する。   In the relay node-B 403, when the response message 408 arrives, the execution policy bit PL = 1, the application executable bit AE is turned on, and the relay node-B 403 stores AE = It remembers that 1 was set. Therefore, the relay node-B 403 determines that “application-1” should be executed according to the above-described <operation pattern 8>, similarly to the case of the first operation example of FIG. As a result, the relay node-B 403 executes a series of operations from S1509 to S1515 in FIG. 15 similar to the series of operations from S1108 to S1114 in the first operation example in FIG. The relay node-B 403 acquires application-1 ”,“ data-a ”,“ data-b ”, executes the application, the AE (and AH) bit is reset to 0, and the application execution result is displayed in the Content section. The stored response message 409 is generated and relayed to the relay node-A 402.

中継ノード−A 402では、“アプリ−1”の実行のリソースは持っているが、“アプリ−1”は中継ノード−B 403で実行済みで、受信した応答メッセージ409のヘッダ部のアプリ保持ビットAH及びアプリ実行可能ビットAEが共にオフとなっている。従って、中継ノード−A 402は、前述の<動作パターン9>に従って、受信した応答メッセージ409をそのまま、リクエスタ401に中継する(図15のS1516)。   The relay node-A 402 has a resource for executing “application-1”, but “application-1” has already been executed by the relay node-B 403, and the application holding bit in the header portion of the received response message 409. Both AH and application executable bit AE are off. Accordingly, the relay node-A 402 relays the received response message 409 as it is to the requester 401 in accordance with <Operation pattern 9> described above (S1516 in FIG. 15).

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

このように、図14及び図15の第3の動作例では、リクエスタ401が要求メッセージ407の送信時に実行ポリシビットPL=1(宛先近傍優先)を指定している。このため、“アプリ−1”の実行のリソースを有する中継ノード−A 402と中継ノード−B 403のうち、宛先ノードであるデータ−a保持ノード405に近い方の中継ノード−B 403が、“アプリ−1”を実行することになる。   As described above, in the third operation example of FIGS. 14 and 15, the requester 401 specifies the execution policy bit PL = 1 (destination neighborhood priority) when the request message 407 is transmitted. Therefore, the relay node-B 403 closer to the data-a holding node 405 that is the destination node among the relay node-A 402 and the relay node-B 403 having resources for executing “application-1” is “ Application-1 "will be executed.

次に、第1の実施形態における第4の動作例について、図16の説明図及び図17のシーケンス図を用いて説明する。図16及び図17に示される第4の動作例は、実行ポリシビットPLが0にセットされ、中継ノード−B 403のみにアプリ実行のリソースがある場合の例である。図17での簡略化表記のしかたは、図11の第1の動作例の場合等と同様である。   Next, a fourth operation example in the first embodiment will be described with reference to an explanatory diagram of FIG. 16 and a sequence diagram of FIG. The fourth operation example shown in FIGS. 16 and 17 is an example in which the execution policy bit PL is set to 0 and only the relay node-B 403 has an application execution resource. The simplified notation in FIG. 17 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図16及び図17の第4の動作例では、実行を行うべきアプリは、例えば地図検索アプリのように、「出力データ>Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、リクエスタ近傍を表す値0を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図17のS1701)。そして、リクエスタ401は、このようにして生成した要求メッセージ407を中継ノード−A 402に送信する(図17のS1702)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the fourth operation example of FIGS. 16 and 17, the application to be executed is a case where “output data> Σ (input data)”, for example, a map search application. As a result, the requester 401 sets the value 0 representing the vicinity of the requester to the execution policy bit PL of the request message 407 to be transmitted by referring to the PL setting table of FIG. Further, the requester 401 sets the name “data-a + application-1 + data-b” as the Name part of the request message 407 (S1701 in FIG. 17). Then, the requester 401 transmits the request message 407 generated in this way to the relay node-A 402 (S1702 in FIG. 17).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、要求メッセージ407の転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. The transfer process of the request message 407 is executed.

図16及び図17の第4の動作例では、中継ノード−A 402、中継ノード−B 403、及びデータ−a保持ノード405での図17のS1703からS1707までの一連の制御動作は、図11の第1の動作例のS1103からS1107の一連の動作と同様である。   In the fourth operation example of FIGS. 16 and 17, a series of control operations from S1703 to S1707 in FIG. 17 at the relay node-A 402, the relay node-B 403, and the data-a holding node 405 are the same as those in FIG. This is the same as the series of operations from S1103 to S1107 in the first operation example.

データ−a保持ノード405から応答メッセージ408を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理、及び/又はアプリ実行処理を実行する。   The relay node on the path that has received the response message 408 from the data-a holding node 405 transfers the response messages 408 and 409 in accordance with <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. A process and / or an application execution process is executed.

この場合、応答メッセージ408を受信した中継ノード−B 403は、図11の第1の動作例のS1108からS1114の一連の動作と同様の、図17のS1708からS1714の一連の動作を実行する。中継ノード−B 403は、アプリ−1”、“データ−a”、“データ−b”を取得しアプリ実行を行い、AE(とAH)ビットが0にリセットされ、Content部にアプリ実行結果が格納された応答メッセージ409を生成して中継ノード−A 402に中継する。   In this case, the relay node-B 403 that has received the response message 408 executes a series of operations from S1708 to S1714 in FIG. 17 similar to the series of operations from S1108 to S1114 in the first operation example in FIG. The relay node-B 403 acquires application-1 ”,“ data-a ”,“ data-b ”, executes the application, the AE (and AH) bit is reset to 0, and the application execution result is displayed in the Content section. The stored response message 409 is generated and relayed to the relay node-A 402.

中継ノード−A 402は、受信した応答メッセージ409において、AH=0、AE=0であるので、図4の第1の動作例の場合と同様に、前述した<動作パターン9>に従って、応答メッセージ409をそのまま、リクエスタ401に転送する(図17のS1715)。   Since the relay node-A 402 has AH = 0 and AE = 0 in the received response message 409, as in the case of the first operation example shown in FIG. 409 is transferred as it is to the requester 401 (S1715 in FIG. 17).

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

このように、図16及び図17の第4の動作例では、リクエスタ401が要求メッセージ407の送信時に実行ポリシビットPL=0(リクエスタ近傍優先)を指定している。しかし、何れの中継ノードも“アプリ−1”は保持しておらず、“アプリ−1”の実行のリソースを有する中継ノードは中継ノード−B 403のみである。従って、リクエスタ401からは遠い中継ノードではあるが、唯一“アプリ−1”を実行可能な中継ノード−B 403が、“アプリ−1”を実行することになる。   As described above, in the fourth operation example shown in FIGS. 16 and 17, the requester 401 specifies the execution policy bit PL = 0 (requester neighborhood priority) when the request message 407 is transmitted. However, none of the relay nodes holds “application-1”, and only the relay node-B 403 has a resource for executing “application-1”. Therefore, although it is a relay node far from the requester 401, only the relay node-B 403 that can execute “application-1” executes “application-1”.

次に、第1の実施形態における第5の動作例について、図18の説明図及び図19のシーケンス図を用いて説明する。図18及び図19に示される第5の動作例は、実行ポリシビットPLが0にセットされ、中継ノード−A 402のみにアプリ実行のリソースがある場合の例である。図19での簡略化表記のしかたは、図11の第1の動作例の場合等と同様である。   Next, a fifth operation example in the first embodiment will be described with reference to an explanatory diagram of FIG. 18 and a sequence diagram of FIG. The fifth operation example shown in FIGS. 18 and 19 is an example in which the execution policy bit PL is set to 0, and only the relay node-A 402 has an application execution resource. The simplified notation in FIG. 19 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図18の第5の動作例では、図16の第4の動作例の場合と同様に、実行を行うべきアプリは、例えば地図検索アプリのように、「出力データ>Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、リクエスタ近傍を表す値0を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図19のS1901)。そして、リクエスタ401は、前述した<動作パターン1>に従って、生成した要求メッセージ407を中継ノード−A 402に転送する(図19のS1902)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the fifth operation example of FIG. 18, as in the case of the fourth operation example of FIG. 16, the application to be executed is “output data> Σ (input data)” as in the map search application, for example. It is the case. As a result, the requester 401 sets the value 0 representing the vicinity of the requester to the execution policy bit PL of the request message 407 to be transmitted by referring to the PL setting table of FIG. Further, the requester 401 sets the name “data-a + application-1 + data-b” as the Name part of the request message 407 (S1901 in FIG. 19). Then, the requester 401 transfers the generated request message 407 to the relay node-A 402 according to <Operation pattern 1> described above (S1902 in FIG. 19).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、要求メッセージ407の転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. The transfer process of the request message 407 is executed.

図18及び図19の第5の動作例では、中継ノード−A 402、中継ノード−B 403、及びデータ−a保持ノード405でのS1903からS1907までの一連の制御動作は、図13の第2の動作例のS1303からS1307の一連の動作と同様である。   In the fifth operation example shown in FIGS. 18 and 19, the series of control operations from S1903 to S1907 in the relay node-A 402, the relay node-B 403, and the data-a holding node 405 are the same as those in the second operation shown in FIG. This is the same as the series of operations from S1303 to S1307 in the operation example.

データ−a保持ノード405から応答メッセージ408を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理、及び/又はアプリ実行処理を実行する。   The relay node on the path that has received the response message 408 from the data-a holding node 405 transfers the response messages 408 and 409 in accordance with <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. A process and / or an application execution process is executed.

中継ノード−B 403は、受信した応答メッセージ409において、PL=0、AE=1であるが、近傍も含めて自ノードが、応答メッセージ408のName部で指定されたアプリ及びその実行のリソースの何れも持っていない。このため、中継ノード−B 403は、前述した<動作パターン9>に従って、応答メッセージ408をそのまま、中継ノード−A 402に転送する(図19のS1908)。   In the received response message 409, the relay node-B 403 has PL = 0 and AE = 1, but its own node including the neighborhood includes the application specified in the Name part of the response message 408 and the resource of its execution. I don't have any. Therefore, the relay node-B 403 transfers the response message 408 as it is to the relay node-A 402 according to the above-described <operation pattern 9> (S1908 in FIG. 19).

中継ノード−A 402は、図13の第2の動作例のS1309からS1315の一連の動作と同様の、図19のS1909からS1915の一連の動作を実行する。中継ノード−A 402は、アプリ−1”、“データ−a”、“データ−b”を取得しアプリ実行を行い、AE(とAH)ビットが0にリセットされ、Content部にアプリ実行結果が格納された応答メッセージ409を生成してリクエスタ401に中継する。   The relay node-A 402 executes a series of operations from S1909 to S1915 in FIG. 19 similar to the series of operations from S1309 to S1315 in the second operation example in FIG. The relay node-A 402 acquires application-1 ”,“ data-a ”,“ data-b ”and executes the application, the AE (and AH) bit is reset to 0, and the application execution result is displayed in the Content section. The stored response message 409 is generated and relayed to the requester 401.

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

次に、第1の実施形態における第6の動作例について、図20の説明図及び図21のシーケンス図を用いて説明する。図20及び図21に示される第6の動作例は、実行ポリシビットPLが0にセットされ、中継ノード−A 402及び中継ノード−B 403の両方ともアプリ実行のリソースがある場合の例である。図21での簡略化表記のしかたは、図11の第1の動作例の場合等と同様である。   Next, a sixth operation example according to the first embodiment will be described with reference to an explanatory diagram of FIG. 20 and a sequence diagram of FIG. The sixth operation example shown in FIGS. 20 and 21 is an example in which the execution policy bit PL is set to 0 and both the relay node-A 402 and the relay node-B 403 have application execution resources. . The simplified notation in FIG. 21 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図20及び図21の第6の動作例では、図16の第4の動作例等の場合と同様に、実行を行うべきアプリは、例えば地図検索アプリのように、「出力データ>Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、リクエスタ近傍を表す値0を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図21のS2101)。そして、リクエスタ401は、このようにして生成した要求メッセージ407を中継ノード−A 402に送信する(図21のS2102)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the sixth operation example of FIGS. 20 and 21, as in the case of the fourth operation example of FIG. 16, the application to be executed is “output data> Σ (input Data) ”. As a result, the requester 401 sets the value 0 representing the vicinity of the requester to the execution policy bit PL of the request message 407 to be transmitted by referring to the PL setting table of FIG. Further, the requester 401 sets the name “data−a + application−1 + data−b” as the Name portion of the request message 407 (S2101 in FIG. 21). Then, the requester 401 transmits the request message 407 generated in this way to the relay node-A 402 (S2102 in FIG. 21).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、要求メッセージ407の転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. The transfer process of the request message 407 is executed.

図20及び図21の第6の動作例では、中継ノード−A 402、中継ノード−B 403、及びデータ−a保持ノード405でのS2103からS2108までの一連の制御動作は、図15の第3の動作例のS1503からS1508の一連の動作と同様である。   In the sixth operation example of FIGS. 20 and 21, a series of control operations from S2103 to S2108 at the relay node-A 402, the relay node-B 403, and the data-a holding node 405 are the same as the third operation of FIG. This is the same as the series of operations from S1503 to S1508 in the operation example.

データ−a保持ノード405から応答メッセージ408を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理、及び/又はアプリ実行処理を実行する。   The relay node on the path that has received the response message 408 from the data-a holding node 405 transfers the response messages 408 and 409 in accordance with <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. A process and / or an application execution process is executed.

中継ノード−B 403は、データ−a保持ノード405から応答メッセージ408を受信すると、そのPL=0、AE=1であり、かつ中継ノード−B 403はメモリ702にAE=1をセットしたことを記憶している。しかし、中継ノード−B 403は、メモリ702に最初にAE=1をセットしたことは記憶していない。従って、中継ノード−B 403は、前述した<動作パターン9>に従って、応答メッセージ408をそのまま、中継ノード−A 402に転送する(図21のS2109)。   When the relay node-B 403 receives the response message 408 from the data-a holding node 405, the relay node-B 403 indicates that PL = 0, AE = 1, and the relay node-B 403 sets AE = 1 in the memory 702. I remember it. However, the relay node-B 403 does not store that AE = 1 is initially set in the memory 702. Accordingly, the relay node-B 403 transfers the response message 408 as it is to the relay node-A 402 in accordance with <Operation pattern 9> described above (S2109 in FIG. 21).

次に、中継ノード−A 402は、中継ノード−B 403から応答メッセージ408を受信すると、そのPL=0、AE=1であり、かつ中継ノード−A 402はメモリ702に最初にAE=1をセットしたことを記憶している。そこで、中継ノード−A 402は、前述した<動作パターン8>に従って、“アプリ−1”を実行すべきと判定する。この結果、中継ノード−A 402は、図11の第1の動作例のS1309からS1315の一連の動作と同様の、図21のS2110からS2116の一連の動作を実行する。中継ノード−A 402は、アプリ−1”、“データ−a”、“データ−b”を取得しアプリ実行を行い、AE(とAH)ビットが0にリセットされ、Content部にアプリ実行結果が格納された応答メッセージ409を生成してリクエスタ401に中継する。   Next, when the relay node-A 402 receives the response message 408 from the relay node-B 403, the relay node-A 402 has its PL = 0, AE = 1, and the relay node-A 402 first sets AE = 1 to the memory 702. I remember setting it. Therefore, the relay node-A 402 determines that “application-1” should be executed according to the above-described <operation pattern 8>. As a result, the relay node-A 402 executes a series of operations from S2110 to S2116 in FIG. 21 similar to the series of operations from S1309 to S1315 in the first operation example in FIG. The relay node-A 402 acquires application-1 ”,“ data-a ”,“ data-b ”and executes the application, the AE (and AH) bit is reset to 0, and the application execution result is displayed in the Content section. The stored response message 409 is generated and relayed to the requester 401.

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

このように、図20及び図1の第6の動作例では、リクエスタ401が要求メッセージ407の送信時に実行ポリシビットPL=0(リクエスタ近傍優先)を指定している。このため、“アプリ−1”の実行のリソースを有する中継ノード−A 402と中継ノード−B 403のうち、リクエスタ401に近い方の中継ノード−A 402が、“アプリ−1”を実行することになる。   As described above, in the sixth operation example of FIGS. 20 and 1, the requester 401 designates the execution policy bit PL = 0 (requestor neighborhood priority) when the request message 407 is transmitted. Therefore, the relay node-A 402 closer to the requester 401 among the relay node-A 402 and the relay node-B 403 having the resource for executing the “application-1” executes “application-1”. become.

次に、第1の実施形態における第7の動作例について、図22の説明図及び図23のシーケンス図を用いて説明する。図22及び図23に示される第7の動作例は、実行ポリシビットPLが1にセットされ、中継ノード−A 402はアプリを保持しておらずかつアプリ実行のリソースもなく、中継ノード−B 403はアプリを保持している場合の例である。図23での簡略化表記のしかたは、図11の第1の動作例の場合等と同様である。   Next, a seventh operation example according to the first embodiment will be described with reference to an explanatory diagram of FIG. 22 and a sequence diagram of FIG. In the seventh operation example shown in FIGS. 22 and 23, the execution policy bit PL is set to 1, the relay node-A 402 does not hold an application, has no resource for executing the application, and the relay node-B Reference numeral 403 denotes an example in which an application is held. The simplified notation in FIG. 23 is the same as in the first operation example in FIG.

まず、リクエスタ401は、前述した<動作パターン1>に従って、以下の制御動作を実行する。図22及び図23の第7の動作例では、実行を行うべきアプリは、例えば画像解析アプリ又はセンサデータ分析アプリのように、「出力データ<Σ(入力データ)」である場合である。この結果、リクエスタ401は、図9のPL設定テーブルを参照することにより、送信する要求メッセージ407の実行ポリシビットPLに、リクエスタ近傍を表す値1を設定する。また、リクエスタ401は、要求メッセージ407のName部として名前“データ−a+アプリ−1+データ−b”を設定する(以上、図23のS2301)。そして、リクエスタ401は、このようにして生成した要求メッセージ407を中継ノード−A 402に送信する(図23のS2302)。   First, the requester 401 executes the following control operation in accordance with <Operation pattern 1> described above. In the seventh operation example of FIGS. 22 and 23, the application to be executed is a case where “output data <Σ (input data)”, for example, an image analysis application or a sensor data analysis application. As a result, the requester 401 sets a value 1 representing the vicinity of the requester to the execution policy bit PL of the request message 407 to be transmitted by referring to the PL setting table of FIG. Further, the requester 401 sets the name “data−a + application−1 + data−b” as the Name part of the request message 407 (S2301 in FIG. 23). Then, the requester 401 transmits the request message 407 generated in this way to the relay node-A 402 (S2302 in FIG. 23).

宛先ノードに至る経路上の中継ノード−A 402及び中継ノード−B 403はそれぞれ、第1の動作例の説明で前述した<動作パターン2>、<動作パターン3>、又は<動作パターン4>に従って、要求メッセージ407の転送処理を実行する。   The relay node-A 402 and the relay node-B 403 on the route to the destination node respectively follow <operation pattern 2>, <operation pattern 3>, or <operation pattern 4> described above in the description of the first operation example. The transfer process of the request message 407 is executed.

図22及び図23の第7の動作例では、中継ノード−A 402は、指定アプリである“アプリ−1”もその実行のリソースも持っていない。このため、中継ノード−A 402は、前述した<動作パターン4>に従い、要求メッセージ407のアプリ保持ビットAH及びアプリ実行可能ビットAEの両方とも値0のままとして、要求メッセージ407を中継ノード−B 403に中継する(図23のS2303)。   In the seventh operation example shown in FIGS. 22 and 23, the relay node-A 402 has neither “application-1”, which is a designated application, nor resources for executing it. For this reason, the relay node-A 402 keeps both the application holding bit AH and the application executable bit AE of the request message 407 at the value 0 in accordance with the above-described <operation pattern 4>, and sends the request message 407 to the relay node-B. Relay to 403 (S2303 in FIG. 23).

次に、中継ノード−B 403は、“アプリ−1”を保持しているため、前述した<動作パターン2>に従って、要求メッセージ407中のアプリ保持ビットAHをオンする。また、中継ノード−B 403は、AH=1をセットしたこと、及び最初にAH=1をセットしたことを、メモリ702に記憶する(以上、図23のS2304)。そして、中継ノード−B 403は、その要求メッセージ407を、データ−a保持ノード405に転送する(図23のS2305)。   Next, since the relay node-B 403 holds “application-1”, the application holding bit AH in the request message 407 is turned on in accordance with <operation pattern 2> described above. Further, the relay node-B 403 stores in the memory 702 that AH = 1 is set and AH = 1 is set first (S2304 in FIG. 23). Then, the relay node-B 403 transfers the request message 407 to the data-a holding node 405 (S2305 in FIG. 23).

データ−a保持ノード405は、 “アプリ−1”及びその実行のリソース共に持っておらず、要求メッセージ407のアプリ保持ビットAHがオンなので、図4の第1の動作例等の場合と同様に、前述した<動作パターン6>に従って、以下の動作を実行する。データ−a保持ノード405は、そのヘッダ部に要求メッセージ407のPL、AH、AEの各ビット値がコピーされ、Content部に“データ−a”本体が格納された応答メッセージ408を生成する(図23のS2306)。そして、データ−a保持ノード405は、生成した応答メッセージ408を中継ノード−B 403に返送する(図23のS2307)。   Since the data-a holding node 405 does not have both “application-1” and its execution resource, and the application holding bit AH of the request message 407 is on, as in the case of the first operation example of FIG. In accordance with <Operation pattern 6> described above, the following operation is executed. The data-a holding node 405 generates a response message 408 in which the bit values of PL, AH, and AE of the request message 407 are copied in the header portion, and the “data-a” body is stored in the Content portion (FIG. 23, S2306). Then, the data-a holding node 405 returns the generated response message 408 to the relay node-B 403 (S2307 in FIG. 23).

データ−a保持ノード405から応答メッセージ408、409を受信した経路上の中継ノードは、第1の動作例の説明で前述した<動作パターン8>又は<動作パターン9>に従って、応答メッセージ408、409の転送処理/アプリ実行処理を実行する。   The relay node on the path that has received the response messages 408 and 409 from the data-a holding node 405 responds according to <Operation pattern 8> or <Operation pattern 9> described above in the description of the first operation example. The transfer process / application execution process is executed.

中継ノード−B 403では、応答メッセージ408が到着した時に、その実行ポリシビットPL=1で、そのアプリ保持ビットAHがオンとなっており、かつ、中継ノード−B 403はメモリ702にAH=1をセットしたことを記憶している。このため、中継ノード−B 403は、前述の<動作パターン8>に従って、“アプリ−1”を実行すべきと判定する。この結果、中継ノード−B 403はまず、Name部に自ノードが保持していない要素オブジェクトの1つに対応する名前“データ−b”が格納された別の要求メッセージを生成し、その要求メッセージをネットワークに送信する(図23のS2308)。データ−b保持ノード406は、この別要求メッセージに応答し、Content部に“データ−b”本体が格納された応答メッセージを中継ノード−B 403に返送する(図23のS2309)。“アプリ−1”に関しては、中継ノード−B 403自身が保持しているため、アプリ保持ノード404に“アプリ−1”を要求することはしない。その後、中継ノード−B 403は、AH=1をセットしたことを記憶しているので応答メッセージ408に格納されている“データ−a”本体を取り出し、“データ−a”及び“データ−b”を入力データとして、自ノードが保持する“アプリ−1”本体が示すプログラムを実行する(図23のS2310)。その結果、中継ノード−B 403は、ヘッダ部でアプリ保持ビットAHを0にリセットし(アプリ実行可能ビットAEは元々0)、Content部に実行結果を格納した新たな応答メッセージ409を生成する(図23のS2311)。AH=0とするのは、他のノードがアプリを実行しないようにするためである。そして、中継ノード−B 403は、その応答メッセージ409を中継ノード−A 402に転送する(図23のS2312)。   In the relay node-B 403, when the response message 408 arrives, the execution policy bit PL = 1, the application holding bit AH is turned on, and the relay node-B 403 stores AH = 1 in the memory 702. Remember that you set. Therefore, the relay node-B 403 determines that “application-1” should be executed in accordance with the above-described <operation pattern 8>. As a result, the relay node-B 403 first generates another request message in which the name “data-b” corresponding to one of the element objects that the node itself does not hold is stored in the Name portion. Is transmitted to the network (S2308 in FIG. 23). In response to this separate request message, the data-b holding node 406 returns a response message in which the “data-b” body is stored in the Content section to the relay node-B 403 (S2309 in FIG. 23). Since “application-1” is held by the relay node-B 403 itself, “application-1” is not requested to the application holding node 404. Thereafter, since the relay node-B 403 stores that AH = 1 is set, the “data-a” body stored in the response message 408 is extracted, and “data-a” and “data-b” are extracted. Is input data, and the program indicated by the main body of “application-1” held by the node is executed (S2310 in FIG. 23). As a result, the relay node-B 403 resets the application holding bit AH to 0 in the header part (the application executable bit AE is originally 0), and generates a new response message 409 in which the execution result is stored in the Content part ( S2311 in FIG. 23). AH = 0 is set so that other nodes do not execute the application. Then, the relay node-B 403 transfers the response message 409 to the relay node-A 402 (S2312 in FIG. 23).

中継ノード−A 402では、“アプリ−1”もその実行のリソースも持っていないため、前述の<動作パターン9>に従って、受信した応答メッセージ409をそのまま、リクエスタ401に中継する(図23のS2313)。   Since the relay node-A 402 has neither “application-1” nor a resource for its execution, the received response message 409 is directly relayed to the requester 401 in accordance with the above-described <operation pattern 9> (S2313 in FIG. 23). ).

最後に、リクエスタ401は、受信した応答メッセージ409のContent部から、アプリの実行結果を受け取る。   Finally, the requester 401 receives the execution result of the application from the Content part of the received response message 409.

このように、図14及び図15の第3の動作例では、リクエスタ401が要求メッセージ407の送信時に実行ポリシビットPL=1(宛先近傍優先)を指定している。このため、“アプリ−1”の実行のリソースを有する中継ノード−A 402と中継ノード−B 403のうち、宛先ノードであるデータ−a保持ノード405に近い方の中継ノード−B 403が、“アプリ−1”を実行することになる。   As described above, in the third operation example of FIGS. 14 and 15, the requester 401 specifies the execution policy bit PL = 1 (destination neighborhood priority) when the request message 407 is transmitted. Therefore, the relay node-B 403 closer to the data-a holding node 405 that is the destination node among the relay node-A 402 and the relay node-B 403 having resources for executing “application-1” is “ Application-1 "will be executed.

次に、図5を用いて前述した第2の実施形態の詳細動作について、以下に説明する。   Next, detailed operation of the second embodiment described above with reference to FIG. 5 will be described.

図5の第2の実施形態の通信システム400では、リクエスタ401が、ネットワークを介して、“アプリ−1”保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406にアクセスする。図5では図示しないが、第2の実施形態においても、図6に示されるように、中継ノード−A 402や中継ノード−B 403も実際には動作している。   In the communication system 400 of the second embodiment in FIG. 5, the requester 401 accesses the “application-1” holding node 404, the data-a holding node 405, and the data-b holding node 406 via the network. Although not shown in FIG. 5, also in the second embodiment, the relay node-A 402 and the relay node-B 403 actually operate as shown in FIG.

第2の実施形態の通信システム400は、図5に示されるように、初期状態として、“アプリ−1”本体が“アプリ−1”保持ノード404に、“データ−a”本体がデータ−a保持ノード405、“データ−b”本体がデータ−b保持ノード406に配備される。そして、第1の実施形態で説明した中継ノード−A 402や中継ノード−B 403でアプリを実行するためには、必要に応じて上述の各保持ノードに保持された要素オブジェクトが取得される、これらの要素オブジェクトを用いてアプリが実行される。   As shown in FIG. 5, the communication system 400 according to the second embodiment has an “application-1” main body as an “application-1” holding node 404 and a “data-a” main body as a data-a as an initial state. A holding node 405, a “data-b” body is deployed at the data-b holding node 406. In order to execute the application in the relay node-A 402 or the relay node-B 403 described in the first embodiment, the element objects held in the respective holding nodes are acquired as necessary. An application is executed using these element objects.

前述したように、アプリ保持ノード404、データ−a保持ノード405、データ−b保持ノード406のハードウェア構成としては、図7に示されるハードウェア構成例を有する。   As described above, the hardware configuration of the application holding node 404, the data-a holding node 405, and the data-b holding node 406 has a hardware configuration example shown in FIG.

第2の実施形態の通信システム400の詳細動作について、図5及び図24のシーケンス図を用いて説明する。   Detailed operation of the communication system 400 of the second embodiment will be described with reference to the sequence diagrams of FIGS.

リクエスタ401或いはエッジノードは、所定の通信プロトコルにより、アプリ保持ノード404、データ−a保持ノード405、及びデータ−b保持ノード406に対し、アプリ実行に必要な要素オブジェクトのサイズを探索する(図5の501)。所定の通信プロトコルとしては、HTTP(Hyper Text Transfor Protocol)、Telnet、又はFTP(File Transfor Protocol)などを用いることができる。   The requester 401 or the edge node searches the application holding node 404, the data-a holding node 405, and the data-b holding node 406 for the size of the element object necessary for executing the application using a predetermined communication protocol (FIG. 5). 501). As the predetermined communication protocol, HTTP (Hyper Text Transfer Protocol), Telnet, FTP (File Transfer Protocol), or the like can be used.

具体的には、リクエスタ401はまず、アプリ保持ノード304に対して、そのノードが保持する“アプリ−1”のサイズ探索を行う所定の通信プロトコルのコマンドを送信する(図24のS2401)。これに対して、アプリ保持ノード304は、“アプリ−1”のサイズ、例えば10kBを、リクエスタ401に応答する(図24のS2402)。   Specifically, the requester 401 first transmits a command of a predetermined communication protocol for searching for the size of “application-1” held by the node to the application holding node 304 (S2401 in FIG. 24). In response to this, the application holding node 304 responds to the requester 401 with the size of “application-1”, for example, 10 kB (S2402 in FIG. 24).

また、データ−a保持ノード405に対して、そのノードが保持する“データ−a”のサイズ探索を行う所定の通信プロトコルのコマンドを送信する(図24のS2403)。これに対して、データ−a保持ノード405は、“データ−a”のサイズ、例えば1MBを、リクエスタ401に応答する(図24のS2404)。   Further, a command of a predetermined communication protocol for performing a size search of “data-a” held by the node is transmitted to the data-a holding node 405 (S2403 in FIG. 24). In response to this, the data-a holding node 405 responds to the requester 401 with the size of “data-a”, for example, 1 MB (S2404 in FIG. 24).

同様に、データ−b保持ノード406に対して、そのノードが保持する“データ−b”のサイズ探索を行う所定の通信プロトコルのコマンドを送信する(図24のS2405)。これに対して、データ−b保持ノード406は、“データ−b”のサイズ、例えば5kBを、リクエスタ401に応答する(図24のS2406)。   Similarly, a command of a predetermined communication protocol for performing a size search of “data-b” held by the node is transmitted to the data-b holding node 406 (S2405 in FIG. 24). In response to this, the data-b holding node 406 responds to the requester 401 with the size of “data-b”, for example, 5 kB (S2406 in FIG. 24).

その後、リクエスタ401は、各応答データから取得したサイズを比較し、最大サイズの要素オブジェクト(以下、特定オブジェクトと記載)、例えば“データ−a”を判定する(図24のS2407)。   Thereafter, the requester 401 compares the sizes acquired from the respective response data, and determines the element object having the maximum size (hereinafter referred to as a specific object), for example, “data-a” (S2407 in FIG. 24).

或いは、アプリの特性から事前にアプリとデータのサイズ関係が分かれば、前述した図9のPL設定テーブルに追加的に、アプリの種別毎の最大オブジェクトをスタティックに定義しておいてもよい。   Alternatively, if the size relationship between the application and the data is known in advance from the characteristics of the application, a maximum object for each application type may be statically defined in addition to the above-described PL setting table of FIG.

リクエスタ401は、図8(a)の説明で前述したように、アプリを実行するのに必要な要素オブジェクト(アプリ、データ)の名前文字列を”+”で連結して、要求メッセージ407のName部に設定する。前述したように、例えばName部は、“データ−a+アプリ−1+データ−b”と表記される。Name部に表記される“データ−a”、“アプリ−1”、及び“データ−b”は、それぞれの要素オブジェクトの名前である。要求メッセージ407は、そのName部の先頭の名前(図5の場合は“データ−a”)に対応する要素オブジェクトを保持するノード(図5の場合は502で示されるデータ−a保持ノード405)を宛先ノードとして、ネットワーク内をルーティングされる。   As described above with reference to FIG. 8A, the requester 401 concatenates the name character strings of the element objects (application, data) necessary for executing the application with “+”, and the Name of the request message 407. Set to the section. As described above, for example, the Name part is expressed as “data−a + application−1 + data−b”. “Data-a”, “application-1”, and “data-b” written in the Name part are names of the respective element objects. The request message 407 is a node that holds an element object corresponding to the head name of the Name part (“data-a” in the case of FIG. 5) (data-a holding node 405 indicated by 502 in the case of FIG. 5). Is routed through the network.

要求メッセージ407がネットワークに送信された後は、前述した、第1の実施形態における第1〜第7の動作例等のうちの何れかの手順が実行される。   After the request message 407 is transmitted to the network, any one of the above-described first to seventh operation examples in the first embodiment is executed.

以上説明した第1又は第2の実施形態の通信システムにより、アプリやデータの転送遅延・帯域を削減して、アプリ実行結果のレスポンスを速くすることが可能となる。また、ネットワーク内でのアプリ実行処理のロードバランスを実現し、アプリの実行に必要なリソースの有効利用を図ることが可能となる。   With the communication system according to the first or second embodiment described above, it is possible to reduce the transfer delay / bandwidth of applications and data and speed up the response of the application execution result. In addition, it is possible to achieve load balancing of application execution processing in the network, and to effectively use resources necessary for executing the application.

次に本発明の第3の実施形態を、図面を参照して説明する。上述したように、第1の実施形態は支配的、すなわち相対的にサイズの大きい入力データの数が1個の場合に適用され、リクエスタから当該入力データに至る経路上の適切な位置でアプリ実行させる方式である。   Next, a third embodiment of the present invention will be described with reference to the drawings. As described above, the first embodiment is applied when the number of input data that is dominant, that is, relatively large, is 1, and the application is executed at an appropriate position on the path from the requester to the input data. This method

第1の実施形態では、支配的な入力データの数が1つの場合を論じたが、第3の実施形態では、支配的なデータが複数の場合をも考慮する。以下に説明する第3の実施形態においては、他のNFNノードとの間でアプリ実行場所を分散する。そしてこれにより、出力データ<Σ(入力データ)であっても、アプリや入力データの転送遅延を小さくし、かつレスポンス時間を短くすることができる。なお上述のように、レスポンス時間とは、ユーザがアプリ実行要求を投げてから、その応答を受け取るまでの時間を意味するものとする。   In the first embodiment, the case where the number of dominant input data is one was discussed, but in the third embodiment, the case where there are a plurality of dominant data is also considered. In the third embodiment described below, application execution locations are distributed among other NFN nodes. As a result, even if output data <Σ (input data), the transfer delay of the application and the input data can be reduced and the response time can be shortened. As described above, the response time means the time from when the user throws the application execution request until the response is received.

上述したように、第3の実施形態は、支配的な入力データの数が複数の場合に適用され、リクエスタから当該支配的な複数の入力データに至る経路上の適切な位置の分岐点(分岐点ノードとも称する)でアプリ実行させる方式である。なお、支配的な入力データの数が複数である場合とは、入力データのうちの複数の入力データの各々が、他の入力データよりも相対的にサイズが大きく、かつそれら支配的な入力データの各々は互いにほぼ同等のサイズとなる場合を称する。また分岐点とは、受信する要求メッセージが1つであるものの、複数の支配的入力データの各々を有する、複数のノードの各々を宛先として、複数の要求メッセージを転送するノードを指すものとする。   As described above, the third embodiment is applied when the number of dominant input data is plural, and a branch point (branch point) at an appropriate position on the path from the requester to the dominant plural input data. (Also referred to as a point node). When the number of dominant input data is plural, each of the plurality of input data among the input data is relatively larger in size than the other input data and the dominant input data. Each of these refers to a case where the sizes are substantially equal to each other. A branch point refers to a node that receives a single request message but has a plurality of dominant input data and that forwards a plurality of request messages to each of a plurality of nodes as destinations. .

一般に、ネットワークは大規模で、すべてのノードの状態を1箇所でリアルタイムに集中管理するのは困難である。また、対象とする「アプリ」には、ファイヤウォールやフィルタリング等のネットワークアプリ、データ解析アプリや画像解析アプリ等のユーザアプリの双方が含まれる。なお、これらのアプリはバイトコード(例えば、Java)のような形で実装され、プラットフォーム非依存であるとともに、ノード間での移動が可能であるものとする。   In general, the network is large and it is difficult to centrally manage the state of all nodes in one place in real time. The target “application” includes both network applications such as firewall and filtering, and user applications such as a data analysis application and an image analysis application. These applications are implemented in a form such as bytecode (for example, Java), are platform-independent, and can be moved between nodes.

そのため第3の実施形態は支配的な入力データの数が複数の場合に、ネットワーク内でのアプリ実行呼出しにおいて、レスポンス時間を短縮し、かつノード間の負荷分散を実現することを課題とする。その課題を解決するために、図25に例示するように分岐点ノードでアプリ実行することを考える。ここで分岐点ノードとは、この場合、リクエスタ601から要求オブジェクトを有するノードまでの経路により形成される木構造のNFNにおいて、データ−a、データ−bをオブジェクト要素として保持する保持ノードに向かう経路が分岐する点を称する。なお、このNFNは、実際の通信ネットワーク上のリクエスタ601を始点として、要求オブジェクトの存在するノードまでの経路を、リクエスタ601側で予め選択しておくことにより木構造のネットワークとして形成される。   Therefore, in the third embodiment, when there are a plurality of dominant input data, it is an object to shorten response time and realize load distribution between nodes in an application execution call in a network. In order to solve the problem, consider executing an application at a branch point node as illustrated in FIG. In this case, the branch point node is a path toward a holding node that holds data-a and data-b as object elements in an NFN having a tree structure formed by a path from the requester 601 to the node having the request object. Refers to the point where. The NFN is formed as a tree-structured network by selecting in advance on the requester 601 the path to the node where the request object exists, starting from the requester 601 on the actual communication network.

図25、26は、アプリ実行の基本方針を説明するネットワーク図である。図26に示すように、要求メッセージ607には予め、第1、2の実施形態と同様に、実行ポリシビット(P)、アプリ実行保持ビット(AH)、アプリ実行可能ビット(AE)が設けられる。そしてそれらに加え、例えば1ビットの、分岐点ビット(BR、分岐点情報)、2ビットの分岐モードビット(BM、分岐モード情報)、が設けられる。これらのビットを設定することにより、アプリへの入・出力データの関係に応じ、以下のようにネットワーク動作が決定されるものとする。
[A] 出力データ>Σ(入力データ) の場合
-> 要求ノードの近傍でアプリ実行 (PL=0、 BM=Φ(don’
t care))
[B] Σ(入力データ)>出力データ、かつ、支配的な入力データが1つの場合
->入力データを有するノードの近傍(要求ノードから遠く)においてアプリ実行 (PL=1、 BM=00)
以外に、本実施形態では、
[C] Σ(入力データ)>出力データで、支配的な入力データが複数の場合

-> 分岐点の近傍でアプリ実行
(a) アプリは全入力データが揃わないと実行できない場合
⇒ 最初の分岐点近傍でアプリ実行 (PL=1、 BM=01)
(b) アプリは一部の入力データのみでも実行できる場合
⇒ 個々の分岐点近傍でアプリ実行 (PL=1、 BM=10)
25 and 26 are network diagrams for explaining the basic policy of application execution. As shown in FIG. 26, the request message 607 is previously provided with an execution policy bit (P), an application execution holding bit (AH), and an application executable bit (AE), as in the first and second embodiments. . In addition, for example, 1-bit branch point bit (BR, branch point information) and 2 branch mode bits (BM, branch mode information) are provided. By setting these bits, the network operation is determined as follows according to the relationship of input / output data to / from the application.
[A] When output data> Σ (input data)
-> Run application near request node (PL = 0, BM = Φ (don '
t care))
[B] When Σ (input data)> output data and there is one dominant input data
-> Application execution near the node with input data (far from the requesting node) (PL = 1, BM = 00)
Besides, in this embodiment,
[C] When Σ (input data)> output data and there are multiple dominant input data

-> Application execution near the branch point (a) When the application cannot be executed unless all input data is available ⇒ Application execution near the first branch point (PL = 1, BM = 01)
(B) When an application can be executed even with only a part of input data ⇒ Application execution near each branch point (PL = 1, BM = 10)

このネットワーク動作により、宛先ノードである“アプリ−1”保持ノードやリクエスタ601の場合に加え、分岐点ノード610においてもアプリ実行を行わせることが可能となる。   With this network operation, in addition to the destination node “application-1” holding node and requester 601, the branch node 610 can execute the application.

また、この第3の本実施形態は、アプリ実行場所決定に各ノードのリソース状態を反映させ、分岐点を含む特定した場所を中心にノード間で負荷分散させることが可能となる。すなわち、アプリ特性と各ノードのリソース状態により、各ノードがローカルに得られる情報からアプリ実行の可否を判断し、アプリ実行場所を動的に決定することが可能である。   Further, in the third embodiment, the resource state of each node is reflected in the application execution location determination, and the load can be distributed among the nodes around the specified location including the branch point. That is, it is possible to determine whether or not an application can be executed from information obtained locally by each node based on the application characteristics and the resource state of each node, and dynamically determine the application execution location.

詳細は後述するが、図26に示すネットワーク動作を用いて第3の実施形態の方針を簡単に説明する。図26は、アプリを実行するために、アプリ−1、データ−a、データ−bが必要な場合を表す。手順は次の通りである。   Although details will be described later, the policy of the third embodiment will be briefly described using the network operation shown in FIG. FIG. 26 shows a case where application-1, data-a, and data-b are necessary to execute the application. The procedure is as follows.

要求メッセージ607に、実行ポリシビット(PL)/アプリ保持ビット(AH)/アプリ実行可能ビット(AE)に加えて、分岐点ビット(BR)、分岐モードビット(BM)を設ける。   In the request message 607, a branch point bit (BR) and a branch mode bit (BM) are provided in addition to the execution policy bit (PL) / application holding bit (AH) / application executable bit (AE).

アプリの特性(入力データ量と出力データ量の関係)に応じて、リクエスタ601あるいはエッジノード(リクエスタを収容する、ネットワークの入口のノード)は、要求メッセージ607の実行ポリシビットPLと、分岐モードビットを設定する。   Depending on the characteristics of the application (the relationship between the amount of input data and the amount of output data), the requester 601 or the edge node (the node at the entrance of the network that accommodates the requester) can execute the execution policy bit PL of the request message 607 and the branch mode bit. Set.

実行ポリシビットについては、宛先ノードか分岐点ノード610近傍優先(PL=1)、リクエスタ601近傍優先(PL=0)、から選択する。   The execution policy bit is selected from the destination node or branch point node 610 neighborhood priority (PL = 1) and the requester 601 neighborhood priority (PL = 0).

分岐モードビットは、分岐点なし(BM=00)、最初の分岐点においてアプリ実行(BM=01)、個々の分岐点においてアプリ実行(BM=10)、の中から選択され設定される。   The branch mode bit is selected and set from no branch point (BM = 00), application execution at the first branch point (BM = 01), and application execution at each branch point (BM = 10).

図26の示す一例における要求メッセージ607は、宛先ノードであるアプリ/アプリ実行リソースの保持ノード、または分岐点近傍において、優先的にアプリを実行(PL=1)、かつ最初の分岐点においてのアプリ実行(BM=01)、を示す。要求メッセージ607のName部が示す宛先を、複数の支配的な入力データを示すように構成された、要求メッセージが送信される。   In the example shown in FIG. 26, the request message 607 is a destination node of the application / application execution resource holding node, or the application is preferentially executed (PL = 1) near the branch point, and the application at the first branch point. Execution (BM = 01) is shown. A request message configured to indicate a plurality of dominant input data is transmitted to the destination indicated by the Name portion of the request message 607.

図26では、データ−a、データ−bが宛先となる。経路上のノードは、経路上にない近傍ノードも含めて、指定アプリを持っているか、実行リソースを持っているか、に応じて、アプリ保持ビット(AH)、かつ/または、アプリ実行可能ビット(AE)を順次セットする。また経路上のノードの、複数のネットワークインタフェースへ要求メッセージ607を中継する場所(分岐点)において、分岐点ビットBRがセットされ、以降のノードでのアプリ実行を抑止する。   In FIG. 26, data-a and data-b are destinations. A node on the route includes an application holding bit (AH) and / or an app executable bit (or an application executable bit) (depending on whether the node has a designated application or an execution resource, including neighboring nodes not on the route. AE) are set sequentially. In addition, the branch point bit BR is set at a location (branch point) where the request message 607 is relayed to a plurality of network interfaces in the nodes on the route, and the application execution in the subsequent nodes is suppressed.

各ノードが、要求メッセージと応答メッセージにおける、これらのビットの状態を判別して動作を決定することにより、アプリ実行場所が、経路上のノード、経路上でその近くのノード、その近傍のノード、の優先順で決定される。なお、ここでの経路上のノードとは、宛先ノードのアプリ/アプリ実行リソース保持ノード、リクエスタまたはエッジノード、分岐点ノードを指すものとする。また経路上でその近くのノードとは、経路上にあり、かつ、宛先ノードのアプリ/アプリ実行リソース保持ノード、リクエスタまたはエッジノード、分岐点ノードのうちの、いずれかの近くに配置されているノードを指すものとする。そして経路上のノードによりアプリ実行が行われるものとして決定されるときは、宛先ノードのアプリ/アプリ実行リソース保持ノード、リクエスタ607またはエッジノード、分岐点ノード610のいずれかのノードがアプリ実行場所として決定される。アプリを実行するノードは、その場で必要なアプリとデータを取得してアプリ実行を行い、その結果を応答メッセージとして返す。 アプリが分岐点で実行される場合で、かつ複数の分岐点がある場合には、分岐モードビットBRの設定値に従い、1箇所または分岐点毎にアプリが実行される。このように、要求メッセージと応答メッセージのAH、AE、BRビットにより、各ノードは、経路上での自分の相対的な位置が分かる。また、それらとPLビット, BMビットを考慮して、各ノードはアプリ実行の可否を決める。   Each node determines the operation by determining the state of these bits in the request message and the response message, so that the application execution location is a node on the route, a node nearby in the route, a node in the neighborhood, Determined in order of priority. Here, the node on the route indicates the destination node application / application execution resource holding node, requester or edge node, and branch point node. Also, a nearby node on the route is on the route and is located near any of the destination node application / application execution resource holding node, requester or edge node, or branch point node. It shall refer to a node. When it is determined that an application is executed by a node on the route, any of the application / application execution resource holding node of the destination node, the requester 607 or the edge node, and the branch point node 610 is set as the application execution location. It is determined. The node that executes the application acquires the necessary application and data on the spot, executes the application, and returns the result as a response message. When the application is executed at a branch point and there are a plurality of branch points, the application is executed at one place or every branch point according to the set value of the branch mode bit BR. In this way, each node can know its relative position on the route by the AH, AE, and BR bits of the request message and the response message. Also, each node determines whether or not the application can be executed in consideration of the PL bit and the BM bit.

図26は、データ−aとデータ−bへの分岐点ノード610である中継ノード-B 603が、アプリ実行を行う場合を示す。このように、第3の実施形態では、アプリの特性と各ノードのリソース状態に応じて、経路上のノード(宛先ノードのアプリ/アプリ実行リソース保持ノード、リクエスタ601またはエッジノード、分岐点ノード610)、経路上でその近くのノード、その近傍のノードでアプリを実行することが可能である。すなわち、経路上やその近傍を含む、アプリ実行リソースのあるノード(特定のノードに限定しない)でアプリを実行することになる。   FIG. 26 shows a case where the relay node-B 603, which is a branch point node 610 to data-a and data-b, executes an application. As described above, in the third embodiment, a node on a route (an application / application execution resource holding node of a destination node, a requester 601 or an edge node, a branch point node 610) is selected according to the characteristics of the application and the resource state of each node. ), It is possible to execute an application on a nearby node on the route and a nearby node. That is, the application is executed on a node (not limited to a specific node) having an application execution resource including on the route and the vicinity thereof.

次に図26のネットワーク動作を、図27のメッセージフォーマットを用いて詳細に説明する。図27は、以下の実施例(その1、その2)における要求メッセージと応答メッセージに対するメッセージフォーマットを表す図である。   Next, the network operation of FIG. 26 will be described in detail using the message format of FIG. FIG. 27 is a diagram illustrating a message format for a request message and a response message in the following embodiments (part 1 and part 2).

要求メッセージは、図27(a)に示すように、ヘッダ部(PL、AH、AE、BR、BM)とName部を含み、図26のネットワーク動作の場合では、(PL、AH、AE、BR、BM)=(1、0、0、0、01)となっている。それぞれの説明は、以下の通りである。なお、第1、第2の実施形態における要求メッセージからの追加拡張部分は、BR、BMである。   As shown in FIG. 27A, the request message includes a header part (PL, AH, AE, BR, BM) and a Name part. In the case of the network operation of FIG. 26, (PL, AH, AE, BR) , BM) = (1, 0, 0, 0, 01). Each description is as follows. Note that the additional extension from the request message in the first and second embodiments is BR and BM.

PL(実行ポリシビット、Policy): 0か1の値をとるビットである。遅延や転送量の観点から、対象のアプリが、リクエスタの近くで実行される方が有利か(PL=0)、リクエスタから遠く(=アプリやデータ、あるいは分岐点の近く)で実行される方が有利か(PL=1)、を示す。リクエスタが要求メッセージを送出する時、またはエッジノード(リクエスタを収容する、ネットワークの入口のノード)が要求メッセージを中継する時に、アプリの特性に従い、PLが設定される。   PL (execution policy bit, Policy): This bit takes a value of 0 or 1. From the viewpoint of delay and transfer amount, it is more advantageous for the target app to be executed near the requester (PL = 0) or far away from the requester (= app, data, or near the branch point) Is advantageous (PL = 1). When the requester sends a request message, or when an edge node (node at the entrance of the network that accommodates the requester) relays the request message, the PL is set according to the characteristics of the application.

アプリに対して入力データ量<出力データ量の場合(ex. データの単純マージ)には、PL=0が設定される。一方、アプリに対して入力データ量>出力データ量の場合(ex. 画像解析)には、PL=1が設定される。   When the input data amount is smaller than the output data amount (ex. Simple merging of data), PL = 0 is set. On the other hand, when the input data amount> the output data amount for the application (ex. Image analysis), PL = 1 is set.

図26のネットワーク動作においてはPL=1なのでリクエスタ601から遠くでのアプリ実行が選択されている。   In the network operation of FIG. 26, since PL = 1, execution of the application far from the requester 601 is selected.

AH(アプリ保持ビットAppHold)は、0か1の値をとるビットであり、上述した第1、2の実施形態のAHと同様であり、自ノードがName部で指定されるアプリを持っていないか(AH=0)、持っているか(AH=1)、を示す。リクエスタ自身が、まずアプリの保有状況に応じて設定して送出し、経路上のノードが、(近傍も含めて)指定アプリを持っていれば1にセットし、指定アプリを持っていなければ値を変更しない。図26のネットワーク動作では、中継ノード−A 602がアプリを保持しないため、AH=0からの変化はないが、中継ノード−B 603はアプリを保持している。そのため、中継ノード−B 603は、要求メッセージ607を、(PL、AH、AE、BR、BM)=(1、0、0、0、01)から(1、1、0、1、01)へ変化させ、後続のデータ保持ノードへ転送する。   AH (application holding bit Apphold) is a bit that takes a value of 0 or 1, and is the same as AH in the first and second embodiments described above, and the own node does not have an application specified in the Name part. (AH = 0) or (AH = 1). The requester itself first sets and sends it according to the app's possession status, and if the node on the route has the specified app (including the neighborhood), it is set to 1; Do not change. In the network operation of FIG. 26, since the relay node-A 602 does not hold the application, there is no change from AH = 0, but the relay node-B 603 holds the application. Therefore, the relay node-B 603 changes the request message 607 from (PL, AH, AE, BR, BM) = (1, 0, 0, 0, 01) to (1, 1, 0, 1, 01). Change and transfer to subsequent data holding node.

AE(アプリ実行可能ビット、AppExec)は、上述した第1、2の実施形態のAEと同様に、アプリを実行するリソース(例えばCPUやメモリの組み合わせ)を各ノードが持つか(AH=1)否か(AH=0)、を示す。これは、0か1の値をとるビットである。リクエスタ601が、まず自己のアプリ実行リソースの保有状況に応じてAEの値を設定して、要求メッセージ607を送出する。そして経路上のノード(近傍も含めて)が、実行リソースを持っていれば、そのノードがAEを1に設定し、そのノードが実行リソースを持たなければ値に変更はない。   Whether AE (application executable bit, AppExec) has a resource (for example, a combination of CPU and memory) for executing the application (AH = 1) as in the AEs of the first and second embodiments described above. No (AH = 0). This is a bit that takes a value of 0 or 1. The requester 601 first sets the value of AE according to the possession status of its own application execution resource, and sends a request message 607. If a node (including the vicinity) on the route has an execution resource, the node sets AE to 1, and if the node does not have an execution resource, the value is not changed.

BR(分岐ビット、Branch)は、リクエスタ601により要求メッセージ607の送信がされる時、初期値0である。そして、BRは、複数のネットワークインタフェースへ要求メッセージ607を中継するノード(分岐点ノード610)により1に設定される。このBR=1(かつBM=01)により、分岐点ノード610以降のノード(分岐点ノードではないノード)でのアプリ実行が抑止される。   BR (branch bit, Branch) has an initial value of 0 when the request message 607 is transmitted by the requester 601. The BR is set to 1 by a node (branch point node 610) that relays the request message 607 to a plurality of network interfaces. This BR = 1 (and BM = 01) suppresses application execution at nodes after the branch point node 610 (nodes that are not branch point nodes).

図26のネットワーク動作では、中継ノード−B 603が、分岐点ノード610である。そのため中継ノード−B 603により、要求メッセージ607は、(PL、AH、AE、BR、BM)=(1、0、0、0、01)から(1、1、0、1、01)に更新され、BR=1へと変化する。   In the network operation of FIG. 26, the relay node-B 603 is the branch point node 610. Therefore, the relay node-B 603 updates the request message 607 from (PL, AH, AE, BR, BM) = (1, 0, 0, 0, 01) to (1, 1, 0, 1, 01). And changes to BR = 1.

BM(分岐モードビット、Branch Mode)は、分岐処理のモードを表す2ビットが割当てられる。詳細には、BM=00;分岐処理なし、BM=01;1箇所(最初の分岐点)でアプリ実行、BM=10;各分岐点で随時アプリ実行、を表す。BMは、アプリの特性から、リクエスタが要求メッセージを送出する時、あるいはエッジノードが要求メッセージを中継する時に設定される。図26のネットワーク動作では、BM=01となっているので最初の分岐点、すなわち中継ノード−B 603でアプリ実行となる。   BM (branch mode bit, Branch Mode) is assigned 2 bits representing a branch processing mode. Specifically, BM = 00; no branch processing, BM = 01; application execution at one place (first branch point), BM = 10; application execution at any branch point as needed. The BM is set when a requester sends a request message or when an edge node relays a request message because of application characteristics. In the network operation of FIG. 26, since BM = 01, the application is executed at the first branch point, that is, the relay node-B 603.

Nameは、上述の第1、2の実施の形態の場合と同様に、要求しようとするアプリ実行を指定する、可変長のフィールドであり、アプリを実行するのに必要な要素オブジェクト(アプリ、データ)を連結して表示する。例えば、要求メッセージの宛先となる複数のデータを"+"で結合し、アプリ実行に必要なアプリを":"で結合する。例としては、図26のネットワーク動作の要求メッセージ607に示されるように、Name部は"データ−a+データ−b:アプリ−1"、と表される。なお、データ−a, データ−b, アプリ−1は、それぞれのオブジェクトの名前であり、Name部は、データ−aおよびデータ−bを入力としアプリ−1が実行されることを表す。要求メッセージ607は、Name部が示すデータオブジェクト(この場合は、データ−aおよびデータ−b)に向かってルーティングされる。   Name is a variable-length field that specifies the execution of the application to be requested, as in the first and second embodiments, and is an element object (application, data) required to execute the application. ) Are displayed concatenated. For example, a plurality of data serving as destinations of request messages are combined with “+”, and an application required for executing the application is combined with “:”. As an example, as shown in the network operation request message 607 in FIG. 26, the Name part is expressed as “data−a + data−b: application−1”. Data-a, data-b, and application-1 are names of the respective objects, and the Name part represents that application-1 is executed with data-a and data-b as inputs. The request message 607 is routed toward the data object (in this case, data-a and data-b) indicated by the Name part.

なお、ここで事前に各要素オブジェクトの存在場所から各要素オブジェクトに対応するルーティング情報がネットワーク内でブロードキャストされ、各ノードはオブジェクトの名前に対するルーティングテーブルを構成する。各ノードは、要求メッセージの受信時に、Name部の要素オブジェクトを抽出し、これら要素オブジェクトに対する出力インタフェースにルーティングする。   Here, routing information corresponding to each element object is broadcast in advance from the location where each element object exists, and each node forms a routing table for the name of the object. Upon receiving the request message, each node extracts element objects in the Name part and routes them to output interfaces for these element objects.

図27(b)に示すように、応答メッセージ608、609は、ヘッダ部(PL、AH、AE、BR、BM)とName部とContent部を含む。Data部以外の意味は、要求メッセージ607と同様である。ただし、AH、AE、BR、BMは改めて設定されるのではなく、宛先ノードにおいて要求メッセージ607からコピーされる。AH、AEは、途中のノードでアプリが実行されたた場合に0にリセットされ、次のノードに渡される。BRは、分岐点ノード610(要求メッセージ607に対しBRを設定したノード)において応答メッセージを中継するときに、0にリセットして次のノードに渡される。また、応答メッセージのルーティングはName部によるのではなく、各ノードで要求メッセージ607の送信元を覚えておいて、その送信元へ応答メッセージは送られる。   As shown in FIG. 27B, the response messages 608 and 609 include a header part (PL, AH, AE, BR, BM), a Name part, and a Content part. Meanings other than the Data part are the same as those of the request message 607. However, AH, AE, BR, and BM are not newly set, but are copied from the request message 607 at the destination node. AH and AE are reset to 0 when the application is executed at a node in the middle, and passed to the next node. The BR is reset to 0 and passed to the next node when the response message is relayed at the branch point node 610 (the node for which the BR is set for the request message 607). In addition, the response message is not routed by the name part, but the sender of the request message 607 is remembered at each node, and the response message is sent to the sender.

Contentは、要求されたアプリの実行結果または要素オブジェクト(アプリ、データ)を入れるための、可変長のフィールドである。ノードでのアプリ実行後にはアプリの実行結果が、アプリ実行前には要素オブジェクトが入れられる。   “Content” is a variable-length field for storing an execution result of the requested application or an element object (application, data). An application execution result is entered after the application is executed on the node, and an element object is entered before the application is executed.

図26に示すネットワーク動作では、データ−a保持ノード605は、アプリ実行リソースを持たないが、データ−aを保持している。そのためデータ−a保持ノード605は、(PL、AH、AE、BR、BM)=(1、1、0、1、01)に加え、応答メッセージとして、データ−aのコンテンツを追加する。また、同様にデータ−b保持ノード606はアプリ実行リソースを持たないが、データ−bを保持する。そのためデータ−b保持ノード606は、(PL、AH、AE、BR、BM)=(1、1、0、1、01)に加え、応答メッセージとしてデータ−bのコンテンツを追加する。   In the network operation shown in FIG. 26, the data-a holding node 605 does not have an application execution resource, but holds data-a. Therefore, the data-a holding node 605 adds the content of the data-a as a response message in addition to (PL, AH, AE, BR, BM) = (1, 1, 0, 1, 01). Similarly, the data-b holding node 606 does not have an application execution resource, but holds data-b. Therefore, the data-b holding node 606 adds the content of the data-b as a response message in addition to (PL, AH, AE, BR, BM) = (1, 1, 0, 1, 01).

分岐点である中継ノード−B 603は、アプリ−1を保持し(AH=1)、かつBRを0から1に更新したノードであることを記憶する最初の分岐点ノード610Fである。またBM=01であるので、アプリ−1を保有する、最初の分岐点ノード610Fがデータ−aとデータ−bを使用してアプリ実行を行うことから、中継ノード−B 603がアプリ実行を行う。アプリ実行後、中継ノード−B 603は、AHとBRの値を元の値からを、AH=0、BR=0へとリセットし、応答メッセージ609として(PL、AH、AE、BR、BM)=(1、0、0、0、01)+実行結果を出力する。この応答メッセージ609が中継ノード−A 602を介して要求元のリクエスタ601に渡される。   The relay node-B 603 that is the branch point is the first branch point node 610F that stores the application-1 (AH = 1) and stores that the BR is updated from 0 to 1. Also, since BM = 01, the first branch point node 610F that owns the application-1 uses the data-a and data-b to execute the application, so the relay node-B 603 executes the application. . After executing the application, the relay node-B 603 resets the values of AH and BR from the original values to AH = 0 and BR = 0, and as a response message 609 (PL, AH, AE, BR, BM) = (1, 0, 0, 0, 01) + Execution result is output. This response message 609 is passed to the requester requester 601 via the relay node-A 602.

図26の基本方針を説明するために用いられたネットワークのモデルは、分岐点が1つのネットワーク構成の場合で、5つのノード(リクエスタを含む)から構成され、図28のようなネットワークの木構成である。そしてネットワーク上には、予めリクエスタ601が存在し、初期状態としてアプリ−1がネットワーク上の分岐点ノード610にある。またデータ−a、データ−bが図28のようにネットワークの木構造の葉の部分に配備されているので、アプリを実行するためにはこれらの要素オブジェクトが必要である。リクエスタ601はこのアプリの実行要求を発行する。   The network model used to explain the basic policy of FIG. 26 is composed of five nodes (including requesters) in the case of a network configuration with one branch point. It is. A requester 601 exists in advance on the network, and app-1 is in a branch point node 610 on the network as an initial state. Since data-a and data-b are arranged in the leaf portion of the tree structure of the network as shown in FIG. 28, these element objects are necessary to execute the application. The requester 601 issues an execution request for this application.

このネットワークの木構造は、実際の通信ネットワークから要求コンテンツの内容によって写像されるが、第3の実施形態のネットワーク動作における分岐点ノードのアプリ実行はどんな複雑な木構造に写像されても適用可能である。   The tree structure of this network is mapped according to the content of the requested content from the actual communication network, but the application execution of the branch point node in the network operation of the third embodiment can be applied to any complex tree structure. It is.

図29は、図26と同じネットワークであって、一般化される木構造のネットワークの一例である。本例は、支配的な入力データ数が2(データ−a、データ−b)で、分岐点でアプリ実行させる場合を示す。この場合、要求メッセージ607においてPL=1、BM=01である。、また図29は、中継ノード−A 602がアプリを有さず、中継ノード−B 603がアプリを有することを示す。この場合のネットワーク動作は、以下の通りである。   FIG. 29 is an example of a network having the same network as FIG. 26 and generalized tree structure. In this example, the number of dominant input data is 2 (data-a, data-b), and the application is executed at the branch point. In this case, PL = 1 and BM = 01 in the request message 607. FIG. 29 shows that the relay node-A 602 does not have an application and the relay node-B 603 has an application. The network operation in this case is as follows.

リクエスタ601は、実行しようとするアプリの特性から、要求メッセージ607のPLビット、およびBMビットを設定する。図29に示す一例では、PL=1(宛先ノードまたは分岐点、の近傍でのアプリ実行)、BM=01(最初の分岐点ノード610Fでのアプリ実行)に設定されている。なお、ここでのPLビット、BMビットの設定は、図29においてエッジノードに当たる中継ノード−A 602が行ってもよい。   The requester 601 sets the PL bit and BM bit of the request message 607 from the characteristics of the application to be executed. In the example shown in FIG. 29, PL = 1 (application execution near the destination node or branch point) and BM = 01 (application execution at the first branch point node 610F) are set. Note that the setting of the PL bit and the BM bit here may be performed by the relay node-A 602 corresponding to the edge node in FIG.

図29に示される実施例その1においてはPL=1の場合を説明する。ただし、PL=0(リクエスタ601近傍でのアプリ実行)の場合については、第1の実施形態の処理手順で対応するものとする。   In the first embodiment shown in FIG. 29, the case of PL = 1 will be described. However, the case of PL = 0 (application execution near the requester 601) corresponds to the processing procedure of the first embodiment.

図29において、リクエスタ601における、要求メッセージ607のName部が示す宛先は、複数の支配的な入力データであり、本例ではデータ−a、データ−bである。このようなName部を有する要求メッセージをリクエスタは送信する。   In FIG. 29, the destination indicated by the Name portion of the request message 607 in the requester 601 is a plurality of dominant input data, which are data-a and data-b in this example. The requester transmits a request message having such a Name part.

本例では、Name部で宛先となるデータ−aとデータ−bを "+" で結合し、かつアプリ-1を ":" で結合するものとする。   In this example, it is assumed that data-a and data-b, which are destinations in the Name part, are combined with “+” and application-1 is combined with “:”.

要求メッセージ607は複数の宛先を持つので、分岐点ノード610である中継ノード−B 603において、同じメッセージが複数のネットワークインタフェースへ送信される。このとき、リクエスタ601からデータ−a、データ−bに至る経路上のノード(例えば、中継ノード―A 602、中継ノード−B 603)は、近傍ノードも含め、指定アプリ(アプリ−1)を持っていればAHビットをオンにする。また実行リソースがあればAEビットをオンにする。更に、分岐点ノード610であるならBRビットをセットして、以降のノードでのアプリ実行を抑止する。   Since the request message 607 has a plurality of destinations, the same message is transmitted to a plurality of network interfaces in the relay node-B 603 that is the branch point node 610. At this time, the nodes (for example, the relay node-A 602 and the relay node-B 603) on the route from the requester 601 to the data-a and data-b have the designated application (application-1) including the neighboring nodes. If so, turn on the AH bit. If there is an execution resource, the AE bit is turned on. Further, if it is a branch point node 610, the BR bit is set, and the application execution in the subsequent nodes is suppressed.

経路上の各ノードは、自己ノードからkホップ以内に存在する近傍ノードを探索するか、事前に調べるなどして、近傍ノードの情報を持つ。   Each node on the route has information on neighboring nodes by searching for a neighboring node existing within k hops from its own node or by examining in advance.

図29においては、中継ノード−A 602は指定アプリも実行リソースも持っていないため、AH、AEは中継ノード−A 602では変更されず0のままである。しかし、中継ノード−B 603は、指定アプリを持つため、AHビットを1にセットし、要求メッセージ607を中継する。かつ中継ノード−B 603は分岐点ノード610である(複数のネットワークインタフェースへ要求メッセージを送信する)ため、あわせてBRビットを1にセットする。   In FIG. 29, since the relay node-A 602 has neither a designated application nor an execution resource, AH and AE are not changed in the relay node-A 602 and remain 0. However, since the relay node-B 603 has the designated application, the AH bit is set to 1 and the request message 607 is relayed. And since the relay node-B 603 is the branch point node 610 (transmits a request message to a plurality of network interfaces), the BR bit is set to 1 together.

宛先となる要素オブジェクトであるデータ−a, データ−bを持つノード(データ−a保持ノード605、データ−b保持ノード606)は、取得した要求メッセージ607のヘッダビットを参照し次のように動作する。   The nodes (data-a holding node 605, data-b holding node 606) having data-a and data-b that are element objects as destinations operate as follows with reference to the header bits of the acquired request message 607. To do.

BRビットがオンなので、自分が指定アプリを持っているか実行リソースがあるかに関わらず、指定データ(データ−aまたはデータ−b)を応答メッセージ608のContent部に入れて返す。この場合、データ−a保持ノード605、データ−b保持ノード606は、要求メッセージ607のヘッダビット(PL、AH、AE、BR、BM)を、そのまま応答メッセージ608にコピーする。   Since the BR bit is on, the designated data (data-a or data-b) is returned in the Content part of the response message 608 regardless of whether the user has the designated application or there is an execution resource. In this case, the data-a holding node 605 and the data-b holding node 606 copy the header bits (PL, AH, AE, BR, BM) of the request message 607 to the response message 608 as they are.

データ−a保持ノード605、データ−b保持ノード606からの各応答メッセージ608は、要求メッセージ607の逆経路にて転送され、分岐点ノード610(中継ノード−B)において1つのメッセージに合成される。   The response messages 608 from the data-a holding node 605 and the data-b holding node 606 are transferred through the reverse path of the request message 607 and combined into one message at the branch node 610 (relay node-B). .

応答メッセージ608を受信した経路上のノード(例えば、中継ノード−A 602、中継ノード−B 603)は次のように動作する。   The nodes (for example, relay node-A 602, relay node-B 603) on the route that received the response message 608 operate as follows.

自分が分岐点ノード610でなく、かつ受信する応答メッセージのBRビットがオンである場合は、そのまま応答メッセージ608をリクエスタ601方向へ、要求メッセージ607と逆経路に転送する。   If the node is not the branch point node 610 and the BR bit of the received response message is ON, the response message 608 is transferred in the reverse direction to the request message 607 in the requester 601 direction.

例えば、中継ノード(例えば、中継ノード−A 602、中継ノード−B 603)とデータ−a保持ノード605との間に別のノードが有る場合には、当該中継ノードは以下のように動作する。その中継ノードが分岐点ノード610である場合には、送信した要求メッセージ607に対応するすべての応答メッセージの到着を待つ。応答メッセージがすべて到着すれば、アプリ実行に必要なすべての入力データが当該中継ノードに揃う。応答メッセージのAEまたはAHがオンであり、(近傍も含め)当該中継ノードが指定アプリまたは実行リソースを持っている場合には、その中継ノードがアプリ実行を行う。そして、その結果を応答メッセージのContent部に入れて返す。なお、当該中継ノードにおいてAHをオンにしておらず、かつAEをオンとしたときは、別メッセージで別途アプリを取得し、アプリ実行を行う。なお、当該中継ノードは、要求メッセージ607に対し、AHまたはAEをオンにしたことを記憶し、当該要求メッセージ607に対応する応答メッセージを認識できるものとする。中継ノードは、アプリの実行を行い、AE,AH、BRをクリアする。それ以外の場合、すなわちアプリ実行を行わない場合には、受信した応答メッセージのContent部の内容(例えば、データ−a、 データ−b)を1つの応答メッセージに入れてリクエスタ601方向へ転送する。このときに、当該中継ノードはBRをクリアする。   For example, when another node exists between a relay node (for example, relay node-A 602, relay node-B 603) and the data-a holding node 605, the relay node operates as follows. When the relay node is the branch point node 610, it waits for arrival of all response messages corresponding to the transmitted request message 607. When all the response messages arrive, all the input data necessary for executing the application is prepared in the relay node. When AE or AH of the response message is on and the relay node (including the vicinity) has a designated application or execution resource, the relay node executes the application. The result is returned in the Content part of the response message. If AH is not turned on in the relay node and AE is turned on, an application is separately acquired with another message and the application is executed. It is assumed that the relay node stores that AH or AE is turned on in response to the request message 607 and can recognize a response message corresponding to the request message 607. The relay node executes the application and clears AE, AH, and BR. In other cases, that is, when application execution is not performed, the content (for example, data-a, data-b) of the received response message is transferred to the requester 601 in one response message. At this time, the relay node clears BR.

図29はこの場合に該当し、中継ノード−B 603がアプリ実行を行う。   FIG. 29 corresponds to this case, and the relay node-B 603 executes the application.

自分が分岐点でなくかつ応答メッセージのBRビットがオフである場合(=分岐点でアプリ実行されずに転送された場合で、応答メッセージにデータ−a、データ−bが含まれている場合)には当該中継ノードは以下のように動作する。AEまたはAHを当該中継ノードがオンにした場合で、(近傍も含めて)自分が指定アプリまたは実行リソースを持っている場合には、当該中継ノードがアプリ実行を行い、結果を応答メッセージのContent部に入れて返す。また当該中継ノードにおいてAHをオンにしておらず、AEをオンにした場合には、別メッセージにより別途アプリを取得してアプリ実行を行う。この中継ノードは、分岐点ノード610に最も近く、指定アプリまたは実行リソースを持つ。その際、当該中継ノードは、AE、AH、BRをクリアする。それ以外の場合には、受信した応答メッセージをそのままリクエスタ601方向へ転送する。   When you are not the branch point and the BR bit of the response message is off (= if the response message contains data-a and data-b when transferred without executing the application at the branch point) The relay node operates as follows. When the relay node turns on AE or AH, and the relay node has the designated application or execution resource (including the neighborhood), the relay node executes the application, and the result is the content of the response message. Return it in the department. Further, when AH is not turned on at the relay node and AE is turned on, the application is separately acquired and executed by another message. This relay node is closest to the branch point node 610 and has a designated application or execution resource. At that time, the relay node clears AE, AH, and BR. In other cases, the received response message is transferred to the requester 601 as it is.

図29では、中継ノード−B 603はAH=1をセットし、これを記憶している。また中継ノード−B 603に、データ−a保持ノード605およびデータ−b保持ノード606からそれぞれ応答メッセージが到着したとき、当該ノードはアプリを持つため、このノードでアプリ実行が行われる。そして、中継ノード−B 603は、結果を応答メッセージのContent部に入れて返す。このとき、AHビット、BRビットはクリアされる。   In FIG. 29, the relay node-B 603 sets AH = 1 and stores this. When the response message arrives at the relay node-B 603 from the data-a holding node 605 and the data-b holding node 606, since the node has an application, the application is executed at this node. Then, the relay node-B 603 returns the result in the content part of the response message. At this time, the AH bit and the BR bit are cleared.

以上の動作を行うことにより、アプリ実行は下記の優先順位で行われる。
1.分岐点ノード610
2.経路上のリクエスタ601側で分岐点ノード610の近くのノード
3.経路上で分岐点ノード610の近くのノードの近傍のノード(経路上にはないが、経路上のノードからkホップ以内のノード)
By performing the above operations, application execution is performed in the following priority order.
1. Branch point node 610
2. 2. a node near the branch point node 610 on the requester 601 side on the route; A node in the vicinity of a node near the branch point node 610 on the route (not on the route, but a node within k hops from a node on the route)

次にシーケンス図を参照して説明する。図30は、図29の本実施例その1のシーケンスを表す図である。   Next, a description will be given with reference to a sequence diagram. FIG. 30 is a diagram showing a sequence of the first embodiment of FIG.

リクエスタ601は、PL=1、BM=01、AH=0、AE=0とし(ステップS3001)、Name部を "データ−a+データ−b:アプリ−1"とした要求メッセージ607を中継ノード−A 602に転送する(ステップS3002)。中継ノード−A 602は、アプリ、実行リソースともに持っていないので、AH、AEを変更せず、要求メッセージ607を中継ノード−B 603に転送する(ステップS3003)。中継ノード−B 603は、アプリを持っているので、AH=1に書替えて(ステップS3004)、要求メッセージ607をデータ−a保持ノード605およびデータ−b保持ノード606に転送する(ステップS3005、S3005’)。このとき、自分が分岐点ノード610であるため、要求メッセージ607のBRビットをオンにする(ステップS3004)。なお、中継ノード−B 603は本要求メッセージ607に対してAH=1に書替えたこと、自分が分岐点ノード610であることを記憶しておく(ステップS3004)。   The requester 601 sets PL = 1, BM = 01, AH = 0, AE = 0 (step S3001), and sends a request message 607 with the Name part “data-a + data-b: application-1” to the relay node-A. The data is transferred to 602 (step S3002). Since the relay node-A 602 has neither an application nor an execution resource, the request message 607 is transferred to the relay node-B 603 without changing AH and AE (step S3003). Since the relay node-B 603 has an application, it is rewritten to AH = 1 (step S3004), and the request message 607 is transferred to the data-a holding node 605 and the data-b holding node 606 (steps S3005, S3005). '). At this time, since it is the branch point node 610, the BR bit of the request message 607 is turned on (step S3004). The relay node-B 603 stores that the request message 607 has been rewritten to AH = 1 and that it is the branch point node 610 (step S3004).

データ−a保持ノード605およびデータ−b保持ノード606は、要求メッセージ607中のBRが1であることを確認し、応答メッセージ608を作成する(ステップS3006、S3006’)。そして要求メッセージ607のPL、AH、AE、BR、BMの値を、応答メッセージ608中の各々へとコピーする(ステップS3006、S3006’)。またContent部に自分の持つデータ(例えば、データ−aまたはデータ−b)を入れて、中継ノード−B 603に転送する(ステップS3007、S3007’)。   The data-a holding node 605 and the data-b holding node 606 confirm that BR in the request message 607 is 1, and create a response message 608 (steps S3006 and S3006 '). Then, the values of PL, AH, AE, BR, and BM in the request message 607 are copied to each of the response messages 608 (steps S3006 and S3006 '). Further, the data (for example, data-a or data-b) that the user has is put in the Content section and transferred to the relay node-B 603 (steps S3007 and S3007 ').

中継ノード−B 603は、自分が分岐点ノード610なので、2つの応答メッセージ608の到着を待つ。中継ノード−B 603は、応答メッセージ608においてPL=1、AH=1であることを読み取る。そして自分がAHをオンにしたことから、アプリ−1を持っており、アプリを実行すべきと判断する。データ−aおよびデータ−bはそれぞれ受信した応答メッセージ608に含まれるため、中継ノード−B 603は、これらを使って、アプリ−1の実行を行う(ステップS3008)。そして、応答メッセージ608において、AH=0、BR=0とし、Contentに実行結果を入れたもの(応答メッセージ609)を(ステップS3009)、中継ノード−A 602に転送する(ステップS3010)。   The relay node-B 603 waits for the arrival of two response messages 608 because it is a branch node 610. The relay node-B 603 reads that PL = 1 and AH = 1 in the response message 608. And since I turned on AH, it has application-1 and judges that an application should be performed. Since data-a and data-b are included in the received response message 608, the relay node-B 603 uses them to execute the application-1 (step S3008). Then, in the response message 608, AH = 0, BR = 0, and the execution result put in Content (response message 609) (step S3009) is transferred to the relay node-A 602 (step S3010).

中継ノード−A 602は、応答メッセージ609においてAH=0、AE=0であるので、応答メッセージ609をそのままリクエスタ601に送る(ステップS3011)。   The relay node-A 602 sends the response message 609 to the requester 601 as it is because AH = 0 and AE = 0 in the response message 609 (step S3011).

リクエスタ601は、応答メッセージ609からアプリ実行結果を受け取る。   The requester 601 receives the application execution result from the response message 609.

次に各ノードの処理フローを説明する。図31は、実施例その1における、ノードの処理フローを表す図である。メッセージを受信した時、ノードはまずそのメッセージ種別の判別を行う(別途、ヘッダ等で定義および判別を行う)(ステップS3101)。   Next, the processing flow of each node will be described. FIG. 31 is a diagram illustrating a processing flow of a node in the first embodiment. When a message is received, the node first determines the message type (separately defines and determines using a header or the like) (step S3101).

(要求メッセージの時)
自分がName部において指定されているアプリを持っているかをチェックし(ステップS3102)、持っている場合には(ステップS3102でYes)、要求メッセージのAHを1にセットする(ステップS3103)。その時、AHをセットしたこと、およびAHを最初に0→1にセットしたか(受信した要求メッセージのAHが0で、自分がこれを1に書替えたか)、を記録する(ステップS3103)。
(When requesting a message)
It checks whether or not it has an application designated in the Name part (step S3102), and if it has (Yes in step S3102), sets AH of the request message to 1 (step S3103). At this time, it is recorded whether AH is set and whether AH is first set to 0 → 1 (AH of the received request message is 0 and it is rewritten to 1) (step S3103).

ステップS3103に続いて、または、ステップS3102でNoであると判定した場合に続いて、自分が実行リソースを持っているかをチェックする(ステップS3104)。持っている場合には(ステップS3104でYes)、要求メッセージのAEを1にセットする(ステップS3105)。その場合、AEをセットしたこと、およびAEを最初に0→1にセットしたか(受信した要求メッセージのAEが0で、自分がこれを1に書替えたか)、を記録する(ステップS3105)。   Subsequent to step S3103 or when it is determined No in step S3102, it is checked whether the user has an execution resource (step S3104). If so (Yes in step S3104), the AE of the request message is set to 1 (step S3105). In this case, it is recorded that AE is set and whether AE is first set to 0 → 1 (whether AE of the received request message is 0 and it is rewritten to 1) (step S3105).

ステップS3105に続き、または、ステップS3104でNoであると判定した場合に続き、自分が分岐点ノードであるか(宛先に基づき、複数のネットワークインタフェースに要求メッセージを転送すべきか、で判断)をチェックする(ステップS3106)。YESである場合には(ステップS3106でYes)、要求メッセージのBRを1にセットする(ステップS3107)。その場合、BRをセットしたこと(自分が分岐点ノードであること)を記録する(ステップS3107)。ステップS3107に続いて、または、ステップS3106でNoであると判定した場合に続いて、宛先(Name部の先頭オブジェクト)に基づき、要求メッセージを次ノードに転送する(ステップS3108)。   Following step S3105, or if it is determined to be No in step S3104, check whether it is a branch node (determining whether a request message should be transferred to multiple network interfaces based on the destination) (Step S3106). If YES (Yes in step S3106), the request message BR is set to 1 (step S3107). In this case, it is recorded that BR is set (that it is a branch point node) (step S3107). Subsequent to step S3107 or when it is determined as No in step S3106, the request message is transferred to the next node based on the destination (first object of the Name part) (step S3108).

(応答メッセージの時)
自分が分岐点ノードであるか否かの判別を行う(ステップS3109)。
(In response message)
It is determined whether or not the node itself is a branch point node (step S3109).

<分岐点ノードである時>
全ての応答メッセージを受信したかを判別し(ステップS3110)、NOならば終了し、Yesなら次のステップを実行する。
(PL=1かつAH=1かつ自分がAHをセットしたか) をチェックし(ステップS3111)、Yesならばアプリ実行処理を行う(ステップS3112)。Noならば、ステップS3113を実行する。
(PL=1かつAE=1かつ自分がAEをセットしたか) をチェックし(ステップS3113)、Yesならばアプリ実行処理を行う(ステップS3112)。Noならば、ステップS3114を実行する。
(PL=0かつAH=1かつ自分がAHを最初にセットしたか) をチェックし(ステップS3114)、Yesならばアプリ実行処理を行う(ステップS3112)。Noならば、ステップS3115を実行する。
(PL=0かつAE=1かつ自分がAEを最初にセットしたか) をチェックし(ステップS3115)、Yesならばアプリ実行処理を行う(ステップS3112)。ステップS3111からステップS3115まで全てNoならば、アプリ実行処理を行わず、BRを0にリセットし、Content部に全てのデータを入れる(ステップS3116)。
<When it is a branch point node>
It is determined whether all response messages have been received (step S3110). If NO, the process ends. If YES, the next step is executed.
(PL = 1 and AH = 1 and I set AH) is checked (step S3111). If Yes, an application execution process is performed (step S3112). If No, step S3113 is executed.
(PL = 1 and AE = 1 and whether or not I set AE) is checked (step S3113). If Yes, an application execution process is performed (step S3112). If no, step S3114 is executed.
(PL = 0 and AH = 1 and I set AH first) is checked (step S3114). If Yes, an application execution process is performed (step S3112). If no, step S3115 is executed.
(PL = 0 and AE = 1 and I set AE first) is checked (step S3115). If Yes, an application execution process is performed (step S3112). If all No from step S3111 to step S3115, application execution processing is not performed, BR is reset to 0, and all data is entered in the Content section (step S3116).

アプリ実行処理: アプリがなければ別要求メッセージでアプリを取得し、アプリ実行を行う(ステップS3112)。更に、応答メッセージにおいて、AH、AE、BRを0にリセットし、Content部にアプリ実行結果を入れる(ステップS3112)。   Application execution process: If there is no application, the application is acquired with another request message, and the application is executed (step S3112). Further, in the response message, AH, AE, and BR are reset to 0, and the application execution result is entered in the Content section (step S3112).

対応する要求メッセージを受信した方向のノードに対し、応答メッセージを転送する(ステップS3117)。   A response message is transferred to the node in the direction that received the corresponding request message (step S3117).

<分岐点でない時>
(BR=1か) をチェックし(ステップS3118)、Yesならば応答メッセージを転送(ステップS3117)して終了する。Noならば、ステップS3111を実行する。
<When it is not a branch point>
(If BR = 1) is checked (step S3118). If Yes, a response message is transferred (step S3117) and the process ends. If No, step S3111 is executed.

次に第3の実施形態の実施例2として、分岐点が2つのネットワーク構成の場合について説明する。   Next, as Example 2 of the third embodiment, a case where the network configuration has two branch points will be described.

図32は、実施例その2を説明するためのネットワーク構成図である。ネットワークは、6つのノード(リクエスタを含む)を含み、図32に例示されるようなネットワークを有する。初期状態としてデータ−a、データ−b、データ−c、アプリ−f1が図のように配備され、アプリを実行するためにはこれらの要素オブジェクトが必要(データ-a、b、cを入力としてアプリ−f1を実行)である。リクエスタ601はこのアプリの実行要求を発行する。   FIG. 32 is a network configuration diagram for explaining the second embodiment. The network includes six nodes (including requesters) and has a network as illustrated in FIG. Data-a, data-b, data-c, and application-f1 are arranged as shown in the figure as an initial state, and these element objects are required to execute the application (with data-a, b, and c as inputs) App-f1). The requester 601 issues an execution request for this application.

図33は、実施例その2のネットワーク動作を表す図であり、(a)は、最初の分岐点近傍でアプリ実行する場合を表し、(b)は、個々の(複数の)分岐点近傍でアプリ実行する場合を表す。アプリの特性として、(a)に示す場合は全入力データが揃わないとアプリ実行できない場合であり、(b)に示す場合は一部の入力データのみでもアプリ実行できる場合である。それぞれのアプリ例としては、(a):複数の温度センサのデータから平均値を出す、(b):複数の温度センサのデータから最大値を出す、などがある。その動作説明は、以下の通りである。   FIG. 33 is a diagram illustrating the network operation of the second embodiment, where (a) represents a case where an application is executed in the vicinity of the first branch point, and (b) is illustrated in the vicinity of individual (plural) branch points. Indicates the case where the application is executed. As a characteristic of the application, the case shown in (a) is a case where the application cannot be executed unless all the input data is prepared, and the case shown in (b) is a case where the application can be executed even with only a part of the input data. Examples of each application include (a): calculating an average value from data of a plurality of temperature sensors, and (b): calculating a maximum value from data of a plurality of temperature sensors. The operation description is as follows.

<(a)最初の分岐点でアプリ実行する場合>
リクエスタ601は、実行しようとするアプリの特性から、要求メッセージ607のPLビット、およびBMビットを設定する。図33(a)に示すようにここでは、PL=1(宛先ノードまたは分岐点、の近傍でアプリ実行)、BM=01(最初の分岐点でアプリ実行)に設定されている。
<(A) When executing an application at the first branch point>
The requester 601 sets the PL bit and BM bit of the request message 607 from the characteristics of the application to be executed. As shown in FIG. 33A, here, PL = 1 (application execution near the destination node or branch point) and BM = 01 (application execution at the first branch point) are set.

リクエスタ601は、要求メッセージ607のName部が示す宛先を、複数の支配的な入力データとする。ここでは、図33(a)に示すように、データ−a、データ-b、データ−cが宛先となる。リクエスタ601は、生成した要求メッセージ607を経路上へ送信する。   The requester 601 sets the destination indicated by the Name part of the request message 607 as a plurality of dominant input data. Here, as shown in FIG. 33A, data-a, data-b, and data-c are destinations. The requester 601 transmits the generated request message 607 on the route.

中継ノード−A 602は、アプリ−f1を持ち、かつ最初の分岐点ノード610Fであるため、AH=1、BR=1にセットする。このようにセットした要求メッセージ607を、中継ノード−A 602は、データ−c保持ノード611および中継ノード−B 602に向け転送する。   Since the relay node-A 602 has the application -f1 and is the first branch point node 610F, AH = 1 and BR = 1 are set. The relay node-A 602 transfers the request message 607 set in this way to the data-c holding node 611 and the relay node-B 602.

中継ノード−B 603は分岐点ノード610であるが、要求メッセージ607において、 BR=1であるため、既に最初の分岐点を通過したと判断する。またBM=01であるので、BRは操作せずに、そのまま要求メッセージ607をデータ−a保持ノード605およびデータ−b保持ノード606に向け転送する。   The relay node-B 603 is the branch point node 610. However, since BR = 1 in the request message 607, it is determined that the first branch point has already been passed. Further, since BM = 01, the BR does not operate and directly transfers the request message 607 to the data-a holding node 605 and the data-b holding node 606.

中継ノード−B 603は自分が分岐点ノード610であるが最初の分岐点ノード610Fではない。そのため中継ノード−B 603は、データ−aおよびデータ−bの保持ノードから返ってきたデータが全て揃った時点で、これら2つのデータを入れた応答メッセージ608を中継ノード−A 602に返す。このとき、BRの操作はなされない(BR=1のままである)。   The relay node-B 603 is a branch point node 610 but not the first branch point node 610F. Therefore, the relay node-B 603 returns a response message 608 containing these two data to the relay node-A 602 when all of the data returned from the data-a and data-b holding nodes are collected. At this time, the BR operation is not performed (BR = 1 remains).

中継ノード−A 602は、データ−c保持ノード611および中継ノード−B 603からのデータ(データ−c、データ−a、データ−b)が全て揃った時点で、アプリ−f1の実行を行い、結果を入れた応答メッセージ609をリクエスタ601に返す。このとき、AH,BRはリセットする。   The relay node-A 602 executes the application-f1 when all the data (data-c, data-a, data-b) from the data-c holding node 611 and the relay node-B 603 are prepared. A response message 609 containing the result is returned to the requester 601. At this time, AH and BR are reset.

<(b)個々の(複数の)分岐点近傍でアプリ実行する場合>
リクエスタ601は、実行しようとするアプリの特性から、要求メッセージ607のPLビット、およびBMビットを設定する。ここでの図33(b)においては、PL=1(宛先ノードまたは分岐点、の近傍)、BM=10(個々の分岐点実行)に設定されている。
<(B) When an application is executed near each (multiple) branch point>
The requester 601 sets the PL bit and BM bit of the request message 607 from the characteristics of the application to be executed. In FIG. 33B, PL = 1 (near the destination node or branch point) and BM = 10 (individual branch point execution) are set.

リクエスタ601は、要求メッセージ607のName部が示す宛先を、複数の支配的な入力データ(図33(b)ではデータ−a、データ−b、データ−c)として要求メッセージ607を生成し、当該メッセージを送信する。   The requester 601 generates the request message 607 with the destination indicated by the Name portion of the request message 607 as a plurality of dominant input data (data-a, data-b, data-c in FIG. 33B), and Send a message.

中継ノード−A 602は、アプリ−f1を持ち、かつ分岐点ノード610である。そのため、中継ノード−A 602は、受信した要求メッセージ607において、AH=1、BR=1をセットする。そしてこのようにセットした要求メッセージ607をデータ−c保持ノード611および中継ノード−B 602に向け転送する。   The relay node-A 602 has the application -f1 and is a branch point node 610. Therefore, the relay node-A 602 sets AH = 1 and BR = 1 in the received request message 607. The request message 607 set in this way is transferred to the data-c holding node 611 and the relay node-B 602.

中継ノード−B 603はアプリ−f1を持ち、かつ分岐点ノード610である。そのため中継ノード−B 603は、受信した要求メッセージ607においてAH=1をセットし、セット後の要求メッセージ607をデータ−b保持ノード606およびデータ−a保持ノード605に向け転送する。このとき、BRは既に1なので、操作しない(BR=1のままとする)。   The relay node-B 603 has the application-f1 and is a branch point node 610. Therefore, the relay node-B 603 sets AH = 1 in the received request message 607, and forwards the set request message 607 to the data-b holding node 606 and the data-a holding node 605. At this time, since BR is already 1, it is not operated (BR = 1 is maintained).

中継ノード−B 603は、自分が分岐点ノード610であり、かつBM=10であることから、データ−aおよびデータ−bの保持ノードから返ってきたデータが全て揃った時点で、これら2つのデータを用いて、アプリ−f1の実行を行う。そしてその結果を入れた応答メッセージ609を中継ノード−A 602に返す。このとき、AHはリセットされるが、中継ノード−B 603は最初の分岐点ノード610FではないためBRは操作されない(BR=1のままとする)。   Since the relay node-B 603 is the branch point node 610 and BM = 10, when all the data returned from the data-a and data-b holding nodes are collected, The application -f1 is executed using the data. Then, a response message 609 containing the result is returned to the relay node-A 602. At this time, although AH is reset, since the relay node-B 603 is not the first branch point node 610F, BR is not operated (BR = 1 is maintained).

中継ノード−A 602は、データ−c保持ノード611および中継ノード−B 603からのデータ(データ−c、データ−aとデータ−bとの演算結果)が全て揃った時点で、アプリ―f1の実行を行う。   The relay node-A 602, when all the data from the data-c holding node 611 and the relay node-B 603 (calculation result of data-c, data-a and data-b) are collected, Perform.

そしてその結果を入れた応答メッセージ609’をリクエスタ601に返す。この場合に、中継ノード−A 602は応答メッセージ609のAH、BRをリセットする。   A response message 609 ′ including the result is returned to the requester 601. In this case, the relay node-A 602 resets AH and BR of the response message 609.

次に実施例その2のシーケンスを説明する。図34および図35は、実施例その2のシーケンスを表す図である。その説明は、以下の通りである。   Next, the sequence of Example 2 will be described. FIG. 34 and FIG. 35 are diagrams showing a sequence of the second embodiment. The explanation is as follows.

図34は実施例その2(a)に例示される場合のような、最初の分岐点ノード610Fにおいてアプリ実行を行う場合におけるネットワーク動作のシーケンスを示す図である。リクエスタ601は、PL=1、BM=01、AH=0、AE=0とし、Name部を "データ−A+データ−b+データ−c:アプリ−f1"とした要求メッセージ607を生成する(ステップS3201)。そして生成された要求メッセージ607を、リクエスタ601は、中継ノード−A 602に転送する(ステップS3202)。   FIG. 34 is a diagram showing a network operation sequence when an application is executed in the first branch point node 610F as in the second embodiment (a). The requester 601 generates a request message 607 in which PL = 1, BM = 01, AH = 0, AE = 0, and the Name part is “data−A + data−b + data−c: application−f1” (step S3201). ). Then, the requester 601 transfers the generated request message 607 to the relay node-A 602 (step S3202).

中継ノード−A 602は、アプリを有するので、受信した要求メッセージ607において、AH=1に書替える(ステップS3203)。そして中継ノード−A 602は、書き換えた要求メッセージ607をデータ−c保持ノード611および中継ノード−B 603に転送する(ステップ3204、S3204’)。このとき、中継ノード−A 602は、自分が最初の分岐点ノード610Fであることより、要求メッセージ607のBRビットをオンにする(ステップS3203)。なお、中継ノード−A 602は本要求メッセージ607に対してAH=1に書替えたこと、および、自分が最初の分岐点ノード610Fであることを記憶しておく。   Since the relay node-A 602 has an application, it is rewritten to AH = 1 in the received request message 607 (step S3203). The relay node-A 602 transfers the rewritten request message 607 to the data-c holding node 611 and the relay node-B 603 (step 3204, S3204 '). At this time, the relay node-A 602 turns on the BR bit of the request message 607 because it is the first branch point node 610F (step S3203). The relay node-A 602 stores that the request message 607 has been rewritten to AH = 1 and that it is the first branch point node 610F.

データ−c保持ノード611は、受信した要求メッセージ607においてBR=1なので、応答メッセージ608を作成する(ステップS3205)。このとき、データ−c保持ノード611は、応答メッセージにおいて、受信した要求メッセージ607のPL、AH、AE、BR、BMの値をコピーし、Content部に自分の持つデータ(データ−c)を入れる(ステップS3205)。そしてこのようにして生成した応答メッセージ608を、データ−c保持ノード611は、中継ノード−A 602に転送する(ステップS3206)。   The data-c holding node 611 creates a response message 608 since BR = 1 in the received request message 607 (step S3205). At this time, the data-c holding node 611 copies the values of PL, AH, AE, BR, and BM of the received request message 607 in the response message, and puts the data (data-c) that it has in the Content portion. (Step S3205). Then, the data-c holding node 611 transfers the response message 608 generated in this way to the relay node-A 602 (step S3206).

ステップS3204’より要求メッセージ607を受信した中継ノード−B 603は、分岐点ノード610であるが、要求メッセージ607では、既にBR=1であること、およびBM=01であることを確認する。そのため、中継ノード−B 603は、受信した要求メッセージ607を変更することなく、データ−b保持ノード603およびデータ−a保持ノード602に転送する(ステップS3207、S3207’)。このとき、中継ノード−B 603は、自分が分岐点ノード610であるが、BRは既に1なので最初ではない分岐点と判断し、BRの操作を行わない(BR=1のままとする)。なお、中継ノード−B 603は、自分が最初ではない分岐点ノード610であることを記憶しておく。   The relay node-B 603 that has received the request message 607 from step S3204 'is the branch point node 610. In the request message 607, it is confirmed that BR = 1 and BM = 01. Therefore, the relay node-B 603 transfers the received request message 607 to the data-b holding node 603 and the data-a holding node 602 without changing them (steps S3207 and S3207 '). At this time, although the relay node-B 603 is itself the branch point node 610, since BR is already 1, it determines that it is not the first branch point, and does not perform the BR operation (leave BR = 1). Note that the relay node-B 603 stores that it is not the first branch point node 610.

データ−b保持ノード606およびデータ−a保持ノード605は、受信した要求メッセージ607においてBR=1であることを各々確認し、応答メッセージ608を生成する(ステップS3208、S3208’)。このときデータ−b保持ノード606およびデータ−a保持ノード605は、要求メッセージ607のPL、AH、AE、BR、BMの値を応答メッセージ608へとコピーする(ステップS3208、S3208’)。そして、当該2つのノードのそれぞれは、Content部に自分の持つデータ(データ−aまたはデータ−b)を入れて(ステップS3208、S3208’)、中継ノード−B 603に転送する(ステップS3209、S3209’)。   The data-b holding node 606 and the data-a holding node 605 each confirm that BR = 1 in the received request message 607, and generate a response message 608 (steps S3208 and S3208 '). At this time, the data-b holding node 606 and the data-a holding node 605 copy the values of PL, AH, AE, BR, and BM of the request message 607 to the response message 608 (steps S3208 and S3208 '). Each of the two nodes puts its own data (data-a or data-b) in the Content section (steps S3208 and S3208 ′) and transfers it to the relay node-B 603 (steps S3209 and S3209). ').

中継ノード−B 603は、2つの応答メッセージ608(データ−a、データ−b)の到着を待つ。そして、中継ノード−B 603は、データ−aおよびデータ−bが揃った時点で、自分が最初ではない分岐点ノード610であることより、これら2つのデータを入れた応答メッセージ608を作成する(ステップS3210)。そして中継ノード−B 603は、中継ノード−A 602へ作成せいた応答メッセージ608を転送する(ステップS3211)。   The relay node-B 603 waits for arrival of two response messages 608 (data-a, data-b). Then, the relay node-B 603 creates a response message 608 containing these two pieces of data when the data-a and the data-b are ready, because it is not the first branch point node 610 ( Step S3210). The relay node-B 603 transfers the response message 608 created to the relay node-A 602 (step S3211).

中継ノード−A 602は、2つの応答メッセージ608(データ−c、データ−aとデータ−b)の到着を待つ。中継ノード−A 602は、受信した応答メッセージ608において、PL=1、AH=1であることを確認する。そして中継ノード−A 602は、自分が最初の分岐点ノード610Fであること、および、自分がAHをオンにしたことから、自分がアプリ−1を持ち、当該アプリを実行すべきと判断する。データ−a、データ−b、データ−cは受信した応答メッセージ608に全て含まれるため、これらを使って、中継ノード−A 602はアプリ−1の実行を行う(ステップS3212)。中継ノード−A 602は、応答メッセージ609としてて、受信した応答メッセージ608に対してAH=0、BR=0と更新を行い、Content部に実行結果を入れたものを作成する(ステップS3213)。そして中継ノード−A 602は、作成した応答メッセージ609を、リクエスタ601に転送する(ステップS3214)。   Relay node-A 602 waits for the arrival of two response messages 608 (data-c, data-a and data-b). The relay node-A 602 confirms that PL = 1 and AH = 1 in the received response message 608. Then, the relay node-A 602 determines that it has the application-1 and should execute the application because it is the first branch node 610F and has turned on the AH. Since the data-a, data-b, and data-c are all included in the received response message 608, the relay node-A 602 executes the application-1 using these (step S3212). The relay node-A 602 updates the received response message 608 with AH = 0 and BR = 0 as the response message 609, and creates the content with the execution result (step S3213). Then, the relay node-A 602 transfers the created response message 609 to the requester 601 (step S3214).

リクエスタ601は、応答メッセージ609によりアプリ実行結果を受け取る(ステップS3214)。   The requester 601 receives the application execution result by the response message 609 (step S3214).

図35は実施例その2(b)のシーケンス図である。リクエスタ601は、PL=1、BM=10、AH=0、AE=0とし、Name部を "データ−a+データ−b+データ−c:アプリ−1" とした要求メッセージ607を生成する(ステップS3301)。続いてリクエスタ601は、生成した要求メッセージ607を中継ノード−A 602に転送する(ステップS3302)。   FIG. 35 is a sequence diagram of Example 2 (b). The requester 601 generates a request message 607 in which PL = 1, BM = 10, AH = 0, AE = 0, and the Name part is “data−a + data−b + data−c: application−1” (step S3301). ). Subsequently, the requester 601 transfers the generated request message 607 to the relay node-A 602 (step S3302).

中継ノード−A 602は、アプリを持つので、AH=1に書替える(ステップS3303)。またこのとき中継ノード−A 602は、自分が最初の分岐点ノード610Fであることより、要求メッセージ607のBRビットをオンにする(ステップS3303)。そして中継ノード−A 602は、ステップS3303において書き換えた要求メッセージ607をデータ−c保持ノード611および中継ノード−B 603に転送する(ステップS3304、S3304’)。なお、中継ノード−A 602は、本要求メッセージ607に対してAH=1に書替えたこと、および、自分が最初の分岐点ノード610Fであることを記憶しておく。   Since relay node-A 602 has an application, it is rewritten to AH = 1 (step S3303). At this time, the relay node-A 602 turns on the BR bit of the request message 607 because it is the first branch point node 610F (step S3303). The relay node-A 602 transfers the request message 607 rewritten in step S3303 to the data-c holding node 611 and the relay node-B 603 (steps S3304 and S3304 '). The relay node-A 602 stores that the request message 607 has been rewritten to AH = 1, and that it is the first branch point node 610F.

データ−c保持ノード611は、受け取った要求メッセージ607においてBR=1であることを確認し、応答メッセージ608を作成する(ステップS3305)。このときデータ−c保持ノード611は、受信した要求メッセージ607のPL、AH、AE、BR、BMの値を応答メッセージ608へとコピーする。そしてデータ−c保持ノード611は、応答メッセージ608のContent部に自分の持つデータ(データ−c)を入れ(ステップS3305)、これを中継ノード−A 602に転送する(ステップS3306)。   The data-c holding node 611 confirms that BR = 1 in the received request message 607, and creates a response message 608 (step S3305). At this time, the data-c holding node 611 copies the values of PL, AH, AE, BR, and BM of the received request message 607 to the response message 608. Then, the data-c holding node 611 puts the data (data-c) that the data-c holding node 611 has in the Content part of the response message 608 (step S3305), and transfers this to the relay node-A 602 (step S3306).

ステップS3304’において要求メッセージ507を受け取った中継ノード−B 603は、アプリを持つため、要求メッセージ507においてAH=1と書替える(上書きする)(ステップS3307)。このとき中継ノード−B 603は、自分が分岐点ノード610であるが、BRは既に1であることから、最初の分岐点ノード610Fではないと判断し、BRの操作を行わない(BR=1のままとする)。ステップS3307に続いて、中継ノード−B 603は、書き換えた要求メッセージ607をデータ−b保持ノード606およびデータ−a保持ノード605に転送する(ステップS3308、S3308’)。なお、中継ノード−B 603は、本要求メッセージ607に対してAH=1に書替えたこと、自分が最初ではない分岐点ノード610Fであることを覚えておく。   Since the relay node-B 603 that has received the request message 507 in step S3304 'has an application, it is rewritten (overwritten) as AH = 1 in the request message 507 (step S3307). At this time, the relay node-B 603 determines that it is not the first branch point node 610F because it is the branch point node 610 but BR is already 1, and does not perform the BR operation (BR = 1). As it is). Subsequent to step S3307, the relay node-B 603 transfers the rewritten request message 607 to the data-b holding node 606 and the data-a holding node 605 (steps S3308 and S3308 '). The relay node-B 603 remembers that this request message 607 has been rewritten to AH = 1, and that it is not the first branch point node 610F.

データ−b保持ノード603およびデータ−a保持ノード602は、受信した要求メッセージ607において、BR=1であることを確認し、応答メッセージ608を作成する(ステップS3309、S3309’)。データ−b保持ノード603およびデータ−a保持ノード602は、応答メッセージ608に要求メッセージ507のPL、AH、AE、BR、BMの値をコピーする。そしてデータ−b保持ノード603およびデータ−a保持ノード602は、応答メッセージ608のContent部にそれぞれ自分の持つデータ(データ−bまたはデータ−a)を入れる(ステップS3309、S3309’)。次に、データ−b保持ノード603およびデータ−a保持ノード602は、それぞれ自分が作成した応答メッセージ608を中継ノード−B 603に転送する(ステップS3310、S3310’)。   The data-b holding node 603 and the data-a holding node 602 confirm that BR = 1 in the received request message 607, and create a response message 608 (steps S3309 and S3309 '). The data-b holding node 603 and the data-a holding node 602 copy the values of PL, AH, AE, BR, and BM of the request message 507 into the response message 608. The data-b holding node 603 and the data-a holding node 602 put their own data (data-b or data-a) in the content part of the response message 608 (steps S3309 and S3309 '). Next, the data-b holding node 603 and the data-a holding node 602 each transfer the response message 608 created by itself to the relay node-B 603 (steps S3310 and S3310 ').

中継ノード−B 603は、2つの応答メッセージ608(データ−a、データ−b)の到着を待つ。中継ノード−B 603は、応答メッセージ608においてPL=1、AH=1、BM=10であることを確認する。中継ノード−B 603は、自分が最初ではない分岐点ノード610であるが、BM=10であることと、自分がAHをオンにし、アプリ−1を持つことから、アプリを実行すべきと判断する。   The relay node-B 603 waits for arrival of two response messages 608 (data-a, data-b). The relay node-B 603 confirms in the response message 608 that PL = 1, AH = 1, and BM = 10. The relay node-B 603 is a branch point node 610 that is not the first node, but determines that the application should be executed because BM = 10 and the user turns on the AH and has the application-1. To do.

データ−aおよびデータ−bは受信した応答メッセージ608に含まれるため、これらを使って、中継ノード−B 603はアプリ−1の実行を行う(ステップS3311)。そして中継ノード−B 603は、応答メッセージ608においてContent部に実行結果を入れた応答メッセージ609を作成する(ステップS3312)。そして中継ノード−B 603は、作成した応答メッセージ609を中継ノード−A 602に転送する(ステップS3313)。このとき、中継ノード−B 603は、自分が最初ではない分岐点ノード610であること、自分が最初にAHを0から1にセットしたのではないことから、AH=1のまま転送する(ステップS3313)。   Since the data-a and the data-b are included in the received response message 608, the relay node-B 603 executes the application-1 using these (step S3311). Then, the relay node-B 603 creates a response message 609 in which the execution result is put in the Content part in the response message 608 (step S3312). Then, the relay node-B 603 transfers the created response message 609 to the relay node-A 602 (step S3313). At this time, since the relay node-B 603 is not the first branch point node 610 and does not set AH from 0 to 1 for the first time, the relay node-B 603 transfers AH = 1 (Step 1). S3313).

中継ノード−A 602は、2つの応答メッセージ(データ−c、データ−aとデータ−bの演算結果)の到着を待つ。中継ノード−A 602は、応答メッセージにおいてPL=1、AH=1であることを確認し、また自分がAHをオンにしたことを確認する。また中継ノード−A 602は、BM=10であることを確認する。中継ノード−A 602は、自分が最初の分岐点ノード610Fであることを記憶しており、自分がアプリ−1を持っていることから、アプリを実行すべきと判断する。データ−c、および、データ−aとデータ−bの演算結果は、受信した応答メッセージ608、609に含まれるため、これらを使い、中継ノード−A 602は、アプリ−1の実行を行う(ステップS3314)。中継ノード−A 602は、受信した応答メッセージ608、609のいずれか1つに対し、AH=0、BR=0と更新し、Contentに実行結果を入れた応答メッセージ609’を作成する(ステップS3315)。続いて、中継ノード−A 602は、作成した応答メッセージ609’をリクエスタ601に転送する(ステップS3316)。   The relay node-A 602 waits for arrival of two response messages (data-c, operation result of data-a and data-b). The relay node-A 602 confirms that PL = 1 and AH = 1 in the response message, and confirms that it has turned on AH. Also, the relay node-A 602 confirms that BM = 10. The relay node-A 602 stores that it is the first branch point node 610F, and since it has the app-1, it determines that the app should be executed. The data-c and the calculation result of the data-a and data-b are included in the received response messages 608 and 609, so that the relay node-A 602 executes the application-1 by using these (Step 1). S3314). The relay node-A 602 updates AH = 0 and BR = 0 to any one of the received response messages 608 and 609, and creates a response message 609 ′ in which the execution result is entered in the Content (step S3315). ). Subsequently, the relay node-A 602 transfers the created response message 609 'to the requester 601 (step S3316).

リクエスタ601は、応答メッセージ609’により、アプリ実行結果を受け取る(ステップS3316)。   The requester 601 receives the application execution result by the response message 609 '(step S3316).

第3の実施形態のネットワーク動作によって、アプリやデータの転送遅延と占有帯域を削減して、レスポンス時間を短縮することができる。また、ネットワーク内でのアプリ実行処理の負荷分散を実現し、実行リソースの有効利用を図ることができる。   With the network operation of the third embodiment, the response delay can be shortened by reducing the transfer delay and occupied bandwidth of the application and data. In addition, load distribution of application execution processing in the network can be realized, and effective use of execution resources can be achieved.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
データ要求先ノードとリクエストノードの経路にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定する実行ノード決定手段と、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定する要求メッセージ設定手段と、
を備える通信装置。
(付記2)
前記実行ノード決定手段は、前記データ要求先ノードに近いノードに前記アプリを実行させるか、前記リクエストノードに近いノードに前記アプリを実行させるかを示す実行ポリシを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とでどちらが大きいかによって決定し、
前記要求メッセージ設定手段は、前記要求メッセージに、前記ノードの識別情報として少なくとも前記実行ポリシの識別情報を設定する、
付記1に記載の通信装置。
(付記3)
前記アプリ実行可能ノード及び前記データ要求先ノードは、前記要求メッセージ及び/又は該要求メッセージに対応する応答メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
付記1又は2記載の通信装置。
(付記4)
前記要求メッセージ及び該要求メッセージに対応する応答メッセージは更に、アプリ保持識別情報、及びアプリ実行可能識別情報を含み、
前記アプリ実行可能ノード及び/又は前記データ要求先ノードの各ノードは、自ノードでの前記アプリの保持状態及び/又は前記アプリを実行可能なリソースの保持状態に応じて、前記自ノードが中継する前記要求メッセージ中の前記アプリ保持識別情報及び/又は前記アプリ実行可能識別情報の各情報を順次設定し、前記応答メッセージ中の該各情報と前記ノードの識別情報の設定状態に基づいて前記アプリを実行し、該実行の結果を前記応答メッセージに加えて前記リクエストノードに返す、
付記3記載の通信装置。
(付記5)
前記要求メッセージ及び該要求メッセージに対応する応答メッセージは更に、分岐点情報と分岐モード情報とを含み、
前記経路上に単数または複数の分岐点ノードが存在する場合に、
前記アプリの特性と支配的な前記入力データの数に応じて、前記アプリの実行を分岐点ノードで行うか否かと、前記アプリ実行が分岐点ノードで行われる場合にいずれの分岐点ノードで行われるかと、を前記実行ノード決定手段は決定して、該決定結果を分岐モード情報として要求メッセージに格納し、
前記単数または複数の分岐点ノードは、受け取った前記要求メッセージ中において前記分岐点情報を設定し、
前記アプリ実行可能ノード及び/又は前記データ要求先ノードの各ノードは、前記応答メッセージ中における、前記設定された分岐点情報と、前記分岐モード情報と、前記アプリ保持識別情報及び/又は前記アプリ実行可能識別情報と、前記ノードの識別情報との設定状態に基づいて前記アプリを実行する、
付記4に記載の通信装置。
(付記6)
前記実行ノード決定手段は、前記分岐モード情報を、分岐点無しの場合と、前記アプリ実行を最初の前記分岐点ノードで行わせる場合と、前記アプリ実行を複数の分岐点ノードにより分担して行わせる場合とに応じて設定する、
付記5に記載の通信装置。
(付記7)
前記アプリ実行可能ノード及び前記データ要求先ノードの各ノードは、自ノードから所定ホップ内に位置し前記経路上に無い近傍ノードを含む、付記1乃至6の何れかに記載の通信装置。
(付記8)
前記実行ノード決定手段は、前記アプリの種別毎に前記実行ポリシを登録した設定テーブルを記憶し、前記要求メッセージの通信時に、該要求メッセージが実行を要求するアプリの種別で前記設定テーブルにアクセスすることにより前記実行ポリシを決定する、付記2乃至7の何れかに記載の通信装置。
(付記9)
前記要求メッセージ設定手段は、前記アプリの実行に必要な要素オブジェクトのうち最大サイズの、単数または複数の要素オブジェクトを探索し、該最大サイズの、単数または複数の要素オブジェクトを宛先として前記要求メッセージに設定する、付記1乃至8の何れかに記載の通信装置。
(付記10)
データ要求先ノードとリクエストノードの経路あるいは経路近傍にあるアプリ実行ノードのうち、どのノードに前記アプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定する実行ノード決定手段と、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定する要求メッセージ設定手段と、
を備え、
前記アプリ実行可能ノード及び前記データ要求先ノードは、前記要求メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
通信システム。
(付記11)
データ要求先ノードとリクエストノードの経路あるいは経路近傍にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定し、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定し、
前記アプリ実行可能ノード及び前記データ要求先ノードにおいて、前記要求メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
通信方法。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
Of the application executable nodes in the path between the data request destination node and the request node, which node is to execute the application, the output data amount that is the execution result of the application and the input necessary for the execution of the application Execution node determination means for determining based on the amount of data;
Request message setting means for setting identification information of the determined node in a request message for requesting execution of the application communicated to the data request destination node or the application executable node;
A communication device comprising:
(Appendix 2)
The execution node determination means outputs an execution policy that indicates whether to execute the application on a node close to the data request destination node or to execute the application on a node close to the request node as an execution result of the application Decide which is larger between the amount of data and the amount of input data required to run the app,
The request message setting means sets at least the execution policy identification information as the node identification information in the request message.
The communication apparatus according to attachment 1.
(Appendix 3)
The application executable node and the data request destination node execute the application based on identification information of the node in the request message and / or a response message corresponding to the request message.
The communication apparatus according to appendix 1 or 2.
(Appendix 4)
The request message and the response message corresponding to the request message further include application holding identification information and application executable identification information,
Each node of the application executable node and / or the data request destination node relays the own node according to the holding state of the application and / or the holding state of the resource that can execute the application. Each information of the application holding identification information and / or the application executable identification information in the request message is sequentially set, and the application is determined based on the setting state of the information in the response message and the identification information of the node. Execute, and return the result of the execution to the request node in addition to the response message.
The communication device according to attachment 3.
(Appendix 5)
The request message and the response message corresponding to the request message further include branch point information and branch mode information,
When one or more branch point nodes exist on the route,
Depending on the characteristics of the application and the number of dominant input data, whether to execute the application at a branch node and whether the application execution is performed at the branch node. The execution node determination means determines whether or not to store the determination result as branch mode information in the request message,
The one or more branch point nodes set the branch point information in the received request message,
Each node of the application executable node and / or the data request destination node includes the set branch point information, the branch mode information, the application holding identification information, and / or the application execution in the response message. Executing the application based on the setting state of the possible identification information and the identification information of the node;
The communication device according to attachment 4.
(Appendix 6)
The execution node determination means performs the branch mode information in a case where there is no branch point, a case where the application execution is performed at the first branch point node, and a case where the application execution is shared by a plurality of branch point nodes. Set according to the case
The communication apparatus according to appendix 5.
(Appendix 7)
The communication device according to any one of appendices 1 to 6, wherein each of the application executable node and the data request destination node includes a neighboring node that is located within a predetermined hop from the own node and is not on the route.
(Appendix 8)
The execution node determination unit stores a setting table in which the execution policy is registered for each type of the application, and accesses the setting table by the type of the application that the request message requests to execute when the request message is communicated. The communication device according to any one of appendices 2 to 7, wherein the execution policy is determined by
(Appendix 9)
The request message setting means searches for one or a plurality of element objects having a maximum size among the element objects necessary for execution of the application, and includes the element object or objects having the maximum size as a destination in the request message. The communication device according to any one of appendices 1 to 8, which is set.
(Appendix 10)
Necessary of the application execution node in the path of the data request destination node and the request node or in the vicinity of the path to execute the application is required for the output data amount as the execution result of the application and the execution of the application Execution node determination means for determining based on the input data amount,
Request message setting means for setting identification information of the determined node in a request message for requesting execution of the application communicated to the data request destination node or the application executable node;
With
The application executable node and the data request destination node execute the application based on the identification information of the node in the request message.
Communications system.
(Appendix 11)
Necessary of the application execution node in the path of the data request destination node and the request node or in the vicinity of the path to execute the application is necessary for the output data amount as the execution result of the application and the execution of the application Is determined based on the amount of input data that is
In the request message for requesting execution of the application communicated to the data request destination node or the application executable node, the identification information of the determined node is set,
In the application executable node and the data request destination node, execute the application based on the identification information of the node in the request message.
Communication method.

400 通信システム
401、601 リクエスタ
402、602 中継ノード−A
403、603 中継ノード−B
404、604 “アプリ−1”保持ノード
405、605 データ−a保持ノード
406、606 データ−b保持ノード
407、607 要求メッセージ
408、409、608、609、609’ 応答メッセージ
610 分岐点ノード
610F 最初の分岐点ノード
611 データ−c保持ノード
701 プロセッサ
702 メモリ
703 記憶装置
704 送受信インタフェース(データ通信用)
705 送受信インタフェース(管理用)
706 バス
400 Communication system 401, 601 Requester 402, 602 Relay node-A
403, 603 Relay node-B
404, 604 “App-1” holding node 405, 605 Data-a holding node 406, 606 Data-b holding node 407, 607 Request message 408, 409, 608, 609, 609 ′ Response message 610 Branch point node 610F First Branch point node 611 Data-c holding node 701 Processor 702 Memory 703 Storage device 704 Transmission / reception interface (for data communication)
705 Transmission / reception interface (for management)
706 bus

Claims (11)

データ要求先ノードとリクエストノードの経路にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定する実行ノード決定手段と、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定する要求メッセージ設定手段と、
を備える通信装置。
Of the application executable nodes in the path between the data request destination node and the request node, which node is to execute the application, the output data amount that is the execution result of the application and the input necessary for the execution of the application Execution node determination means for determining based on the amount of data;
Request message setting means for setting identification information of the determined node in a request message for requesting execution of the application communicated to the data request destination node or the application executable node;
A communication device comprising:
前記実行ノード決定手段は、前記データ要求先ノードに近いノードに前記アプリを実行させるか、前記リクエストノードに近いノードに前記アプリを実行させるかを示す実行ポリシを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とでどちらが大きいかによって決定し、
前記要求メッセージ設定手段は、前記要求メッセージに、前記ノードの識別情報として少なくとも前記実行ポリシの識別情報を設定する、
請求項1に記載の通信装置。
The execution node determination means outputs an execution policy that indicates whether to execute the application on a node close to the data request destination node or to execute the application on a node close to the request node as an execution result of the application Decide which is larger between the amount of data and the amount of input data required to run the app,
The request message setting means sets at least the execution policy identification information as the node identification information in the request message.
The communication apparatus according to claim 1.
前記アプリ実行可能ノード及び前記データ要求先ノードは、前記要求メッセージ及び/又は該要求メッセージに対応する応答メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
請求項1又は2記載の通信装置。
The application executable node and the data request destination node execute the application based on identification information of the node in the request message and / or a response message corresponding to the request message.
The communication device according to claim 1 or 2.
前記要求メッセージ及び該要求メッセージに対応する応答メッセージは更に、アプリ保持識別情報、及びアプリ実行可能識別情報を含み、
前記アプリ実行可能ノード及び/又は前記データ要求先ノードの各ノードは、自ノードでの前記アプリの保持状態及び/又は前記アプリを実行可能なリソースの保持状態に応じて、前記自ノードが中継する前記要求メッセージ中の前記アプリ保持識別情報及び/又は前記アプリ実行可能識別情報の各情報を順次設定し、前記応答メッセージ中の該各情報と前記ノードの識別情報の設定状態に基づいて前記アプリを実行し、該実行の結果を前記応答メッセージに加えて前記リクエストノードに返す、
請求項3記載の通信装置。
The request message and the response message corresponding to the request message further include application holding identification information and application executable identification information,
Each node of the application executable node and / or the data request destination node relays the own node according to the holding state of the application and / or the holding state of the resource that can execute the application. Each information of the application holding identification information and / or the application executable identification information in the request message is sequentially set, and the application is determined based on the setting state of the information in the response message and the identification information of the node. Execute, and return the result of the execution to the request node in addition to the response message.
The communication apparatus according to claim 3.
前記要求メッセージ及び該要求メッセージに対応する応答メッセージは更に、分岐点情報と分岐モード情報とを含み、
前記経路上に単数または複数の分岐点ノードが存在する場合に、
前記アプリの特性と支配的な前記入力データの数に応じて、前記アプリの実行を分岐点ノードで行うか否かと、前記アプリ実行が分岐点ノードで行われる場合にいずれの分岐点ノードで行われるかと、を前記実行ノード決定手段は決定して、該決定結果を分岐モード情報として要求メッセージに格納し、
前記単数または複数の分岐点ノードのうちの少なくとも1つの分岐点ノードは、受け取った前記要求メッセージ中において前記分岐点情報を設定し、
前記アプリ実行可能ノード及び/又は前記データ要求先ノードの各ノードは、前記応答メッセージ中における、前記設定された分岐点情報と、前記分岐モード情報と、前記アプリ保持識別情報及び/又は前記アプリ実行可能識別情報と、前記ノードの識別情報との設定状態に基づいて前記アプリを実行する、請求項4に記載の通信装置。
The request message and the response message corresponding to the request message further include branch point information and branch mode information,
When one or more branch point nodes exist on the route,
Depending on the characteristics of the application and the number of dominant input data, whether to execute the application at a branch node and whether the application execution is performed at the branch node. The execution node determination means determines whether or not to store the determination result as branch mode information in the request message,
At least one branch point node among the one or more branch point nodes sets the branch point information in the received request message;
Each node of the application executable node and / or the data request destination node includes the set branch point information, the branch mode information, the application holding identification information, and / or the application execution in the response message. The communication apparatus according to claim 4, wherein the application is executed based on a setting state of possible identification information and identification information of the node.
前記実行ノード決定手段は、前記分岐モード情報を、分岐点無しの場合と、前記アプリ実行を最初の前記分岐点ノードで行わせる場合と、前記アプリ実行を複数の分岐点ノードにより分担して行わせる場合とに応じて設定する、請求項5に記載の通信装置。   The execution node determination means performs the branch mode information in a case where there is no branch point, a case where the application execution is performed at the first branch point node, and a case where the application execution is shared by a plurality of branch point nodes. The communication device according to claim 5, wherein the communication device is set in accordance with a case where the communication is performed. 前記アプリ実行可能ノード及び前記データ要求先ノードの各ノードは、自ノードから所定ホップ内に位置し前記経路上に無い近傍ノードを含む、請求項1乃至6の何れかに記載の通信装置。   The communication apparatus according to claim 1, wherein each of the application executable node and the data request destination node includes a neighboring node that is located within a predetermined hop from the own node and is not on the route. 前記実行ノード決定手段は、前記アプリの種別毎に前記実行ポリシを登録した設定テーブルを記憶し、前記要求メッセージの通信時に、該要求メッセージが実行を要求するアプリの種別で前記設定テーブルにアクセスすることにより前記実行ポリシを決定する、請求項2乃至7の何れかに記載の通信装置。   The execution node determination unit stores a setting table in which the execution policy is registered for each type of the application, and accesses the setting table by the type of the application that the request message requests to execute when the request message is communicated. The communication apparatus according to claim 2, wherein the execution policy is determined as a result. 前記要求メッセージ設定手段は、前記アプリの実行に必要な要素オブジェクトのうち、最大サイズの、単数または複数の要素オブジェクトを探索し、該最大サイズの、単数または複数の要素オブジェクトを宛先として前記要求メッセージに設定する、請求項1乃至8の何れかに記載の通信装置。   The request message setting means searches for one or a plurality of element objects having the maximum size among the element objects necessary for executing the application, and uses the one or more element objects having the maximum size as a destination. The communication device according to any one of claims 1 to 8, wherein データ要求先ノードとリクエストノードの経路あるいは経路近傍にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定する実行ノード決定手段と、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定する要求メッセージ設定手段と、
を備え、
前記アプリ実行可能ノード及び前記データ要求先ノードは、前記要求メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
通信システム。
Necessary of the application execution node in the path of the data request destination node and the request node or in the vicinity of the path to execute the application is necessary for the output data amount as the execution result of the application and the execution of the application Execution node determination means for determining based on the input data amount,
Request message setting means for setting identification information of the determined node in a request message for requesting execution of the application communicated to the data request destination node or the application executable node;
With
The application executable node and the data request destination node execute the application based on the identification information of the node in the request message.
Communications system.
データ要求先ノードとリクエストノードの経路あるいは経路近傍にあるアプリ実行可能ノードのうち、どのノードにアプリを実行させるかを、前記アプリの実行結果である出力データ量と前記アプリの実行のために必要である入力データ量とに基づいて決定し、
前記データ要求先ノード又は前記アプリ実行可能ノードに向けて通信される前記アプリの実行を要求する要求メッセージに、前記決定されたノードの識別情報を設定し、
前記アプリ実行可能ノード及び前記データ要求先ノードにおいて、前記要求メッセージ中の前記ノードの識別情報に基づいて前記アプリを実行する、
通信方法。
Necessary of the application execution node in the path of the data request destination node and the request node or in the vicinity of the path to execute the application is necessary for the output data amount as the execution result of the application and the execution of the application Is determined based on the amount of input data that is
In the request message for requesting execution of the application communicated to the data request destination node or the application executable node, the identification information of the determined node is set,
In the application executable node and the data request destination node, execute the application based on the identification information of the node in the request message.
Communication method.
JP2017009712A 2016-07-07 2017-01-23 Communication device, system, and method Pending JP2018014077A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/642,293 US20180013663A1 (en) 2016-07-07 2017-07-05 Communication method, communication system, and communication apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016135370 2016-07-07
JP2016135370 2016-07-07

Publications (1)

Publication Number Publication Date
JP2018014077A true JP2018014077A (en) 2018-01-25

Family

ID=61020585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017009712A Pending JP2018014077A (en) 2016-07-07 2017-01-23 Communication device, system, and method

Country Status (1)

Country Link
JP (1) JP2018014077A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6357256B1 (en) * 2017-03-16 2018-07-11 ソフトバンク株式会社 Relay device and program
WO2018169083A1 (en) * 2017-03-16 2018-09-20 ソフトバンク株式会社 Relay device and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6357256B1 (en) * 2017-03-16 2018-07-11 ソフトバンク株式会社 Relay device and program
WO2018169083A1 (en) * 2017-03-16 2018-09-20 ソフトバンク株式会社 Relay device and program
JP2018156264A (en) * 2017-03-16 2018-10-04 ソフトバンク株式会社 Relay device and program
US10771555B2 (en) 2017-03-16 2020-09-08 Softbank Corp. Relay device and computer-readable medium

Similar Documents

Publication Publication Date Title
CN102035884B (en) Cloud storage system and data deployment method thereof
US8885649B2 (en) Method, apparatus, and system for implementing private network traversal
JP6544401B2 (en) PACKET TRANSFER DEVICE, CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
US20090222450A1 (en) System and a method for transferring email file attachments over a telecommunication network using a peer-to-peer connection
KR20150139515A (en) Virtual channel joining
TW201229779A (en) Providing virtual networks using multi-tenant relays
JP2008204430A (en) Business process reconstruction method, its program and computer
CN110430275A (en) Data processing method, system, calculates equipment and medium at device
CN102638407A (en) Message forwarding method, device and network equipment
JP7065221B2 (en) Realization of storage system using personal user device and data distribution device
JP2018502385A (en) System and method for content retrieval from a remote network region
JP2018014077A (en) Communication device, system, and method
KR20190054355A (en) Method and system for managing data transfer
JP4282620B2 (en) Communication device, router device, communication method, and communication program
CN109525590A (en) The transmission method and device of data packet
CN104408086B (en) Data Global treatment system and method
CN111192143B (en) Data processing method, device, storage medium and blockchain node
JP2005295125A (en) Packet processing system
EP1355473A2 (en) Service control network and its control method
CN109743238A (en) A kind of distributed access systems
KR101445047B1 (en) Confidential or protected access to a network of nodes distributed over a communication architecture with the aid of a topology server
CN101355418B (en) Method, apparatus and system for preventing route loop from generating
US20180013663A1 (en) Communication method, communication system, and communication apparatus
JP6904476B2 (en) API linkage execution device, API linkage execution method and program
CN110971472A (en) AWS style API secondary route forwarding method based on Kong