JP6111210B2 - Information generating apparatus, information generating method, and information generating program - Google Patents

Information generating apparatus, information generating method, and information generating program Download PDF

Info

Publication number
JP6111210B2
JP6111210B2 JP2014032240A JP2014032240A JP6111210B2 JP 6111210 B2 JP6111210 B2 JP 6111210B2 JP 2014032240 A JP2014032240 A JP 2014032240A JP 2014032240 A JP2014032240 A JP 2014032240A JP 6111210 B2 JP6111210 B2 JP 6111210B2
Authority
JP
Japan
Prior art keywords
functional block
application
function
usage
registration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014032240A
Other languages
Japanese (ja)
Other versions
JP2015062100A (en
Inventor
石井 淳
淳 石井
浩之 前大道
浩之 前大道
筒井 章博
章博 筒井
依田 育生
育生 依田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014032240A priority Critical patent/JP6111210B2/en
Publication of JP2015062100A publication Critical patent/JP2015062100A/en
Application granted granted Critical
Publication of JP6111210B2 publication Critical patent/JP6111210B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Description

この発明は、端末及び/又はクラウドに保存されたデータを利用するアプリケーションを実行する際に、それらのデータがどのように処理・加工されるのかを利用者に対して説明する利用許諾文とその処理を実際に行うアプリケーションを生成する情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムに関する。   The present invention provides a usage agreement that explains to a user how the data is processed and processed when an application that uses the data stored in the terminal and / or cloud is executed. The present invention relates to an information generation apparatus that generates an application that actually performs processing, an information generation method and an information generation program used in the information generation apparatus.

アプリケーションがユーザの持つ特定のデータを利用する際、ユーザは、利用許諾を得ることが望ましい。ユーザは、何のデータを、何の目的で、どのように利用するかが明確化されることで、アプリケーションとその開発者を信頼し、ユーザ自身が持つ個人データを提供する。一方、ユーザは、不信感を抱くアプリケーションとその開発者に対してはアプリケーションを利用しないことで個人データを提供することを避けることが可能である。   When an application uses specific data that the user has, it is desirable that the user obtain a use permission. By clarifying what data is used for what purpose and how it is used, the user trusts the application and its developer, and provides personal data held by the user. On the other hand, the user can avoid providing personal data to the application and the developer who have distrust by not using the application.

現在、利用許諾文はアプリケーションの開発者によって記述されているが、アプリケーションと利用許諾文とが正しく対応付いていることは担保されていない。そのため、悪意のあるアプリケーション作成者であった場合でも、利用許諾文の内容を信じるしかないという問題がある。一方、正しい挙動をしているにも関わらず、適切な信頼を得ることができないため、アプリケーションを利用してもらえないというアプリケーションの開発者に対する不利益が発生する問題もある。   Currently, the license agreement is written by the application developer, but it is not guaranteed that the application and the license agreement are correctly associated. Therefore, even if it is a malicious application creator, there is a problem that it is only possible to believe the contents of the license agreement. On the other hand, there is also a problem that a disadvantage to an application developer that the application cannot be used because an appropriate trust cannot be obtained even though the behavior is correct.

利用許諾文とアプリケーションの挙動とを対応付けるための方法として、電話帳データへのアクセス及びインターネットアクセス等の重要な操作を、特権が必要な操作として特定の識別子が付された操作に限定し、さらに、アプリケーション内に記載された識別子を解析し、利用する識別子を宣言したファイルの記載と照らし合わせることでアクセスされるデータ及び実行される操作をユーザに対して明示的に示す方法がAndroid OS(登録商標)等で用いられている。   As a method for associating the license agreement with the behavior of the application, important operations such as access to phone book data and Internet access are limited to operations with specific identifiers as operations requiring privileges, and Android OS (registered) is a method to explicitly indicate to the user the data to be accessed and the operation to be performed by analyzing the identifier described in the application and comparing the identifier to be used with the description of the declared file. Trademark) and the like.

US patent 6125447, “PROTECTION DOMAINS TO PROVIDE SECURITY IN A COMPUTER SYSTEM”US patent 6125447, “PROTECTION DOMAINS TO PROVIDE SECURITY IN A COMPUTER SYSTEM” US patent 6192476, “CONTROLLING ACCESS TO A RESOURCE”US patent 6192476, “CONTROLLING ACCESS TO A RESOURCE”

Satyanarayanan, Mahadev, "Pervasive Computing: Vision and Challenges", IEEE Personal Communications (IEEE), 2001.Satyanarayanan, Mahadev, "Pervasive Computing: Vision and Challenges", IEEE Personal Communications (IEEE), 2001. Ya-Yunn, Su; Flinn, Jason, "Slingshot: deploying stateful services in wireless hotspots", Proceedings of the 3rd international conference on Mobile systems, applications, and services (ACM), 2005.Ya-Yunn, Su; Flinn, Jason, "Slingshot: deploying stateful services in wireless hotspots", Proceedings of the 3rd international conference on Mobile systems, applications, and services (ACM), 2005.

現在のモデルの問題点として、それぞれの利用許諾が独立して扱われているため、ユーザは、利用許諾により許諾される処理同士が関連しているか否かが理解できず、どのデータに対してどの処理が実行されているかが不明瞭な点が挙げられる。例えば、電話帳データへのアクセスとインターネットアクセスとに対する許諾が要求されている場合、電話帳データへのアクセス及びインターネットアクセスを実行する処理がアプリケーション中に含まれていることは担保されるが、電話帳データは外部に送信されるのか端末内のみで利用されるのかを知ることはできない。現状のモデルにおいて、どのデータに対してどの処理が実行されているかを、アプリケーションの開発者が記述する、アプリケーションと対応付けられていない利用許諾文に基づいて判断することも可能であるが、アプリケーションと対応付けられていない利用許諾文は、利用許諾情報としては不完全であると言える。また、データの一部のみを利用する場合、及び、データを加工してサーバ上に集約・保存するような場合でもその処理を網羅的に識別子と関連付けることは難しく、動作の担保された利用許諾として表現することができない。   The problem with the current model is that each license is handled independently, so the user cannot understand whether or not the processes permitted by the license are related, and for which data It is unclear which process is being executed. For example, when permission is required for access to phone book data and Internet access, it is ensured that the application includes processing for executing access to phone book data and Internet access. It is not possible to know whether the book data is transmitted to the outside or used only within the terminal. In the current model, it is possible to determine which process is being executed for which data based on the license agreement that is not associated with the application, which is written by the application developer. It can be said that the usage agreement text not associated with is incomplete as the usage agreement information. Even when only a part of the data is used, or when the data is processed and aggregated and stored on the server, it is difficult to comprehensively associate the processing with the identifier, and the usage permission is guaranteed to operate. Cannot be expressed as

そこで目的は、動作の担保された利用許諾文を生成することが可能な情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムとを提供することにある。   An object of the present invention is to provide an information generation apparatus capable of generating a usage agreement with a guaranteed operation, and an information generation method and an information generation program used in the information generation apparatus.

本発明は、上記目的を達成するために、以下のような手段を講じている。
本発明の第1の態様は、機能に応じた利用許諾メッセージが付与される機能ブロックを登録して管理する登録・管理部と、前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、前記選択された機能ブロックに基づいてアプリケーションを生成させるアプリケーション生成指示と、前記選択された機能ブロックに基づいて利用許諾文を生成させる利用許諾文生成指示とを受け付ける操作・表示部と、前記アプリケーション生成指示が入力されると、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記利用許諾文生成指示が入力されると、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成する演算処理部とを具備する。
第1の態様によれば、情報生成装置は、常にアプリケーションに対応付けられた利用許諾文を生成することが可能となる。
In order to achieve the above object, the present invention takes the following measures.
The first aspect of the present invention displays a registration / management unit that registers and manages a functional block to which a usage permission message according to a function is given, and displays the functional block registered in the registration / management unit, Accepts a selection for a functional block to be displayed, and accepts an application generation instruction for generating an application based on the selected functional block and a usage permission sentence generation instruction for generating a usage permission text based on the selected functional block When the operation / display unit and the application generation instruction are input, the selected functional block is connected to generate an application, and when the usage agreement generation instruction is input, the selected functional block An arithmetic processing unit that concatenates the granted license messages and generates a license statement
According to the first aspect, the information generation apparatus can always generate a usage agreement text associated with an application.

また、第2の態様では、前記演算処理部は、前記生成したアプリケーションと、前記生成した利用許諾文とに対して署名を付与する。
第2の態様によれば、アプリケーションを実行する際に、システムによって生成された内容が改ざんされていないことを保証することが可能となる。
In the second aspect, the arithmetic processing unit gives a signature to the generated application and the generated usage agreement.
According to the second aspect, it is possible to ensure that the content generated by the system has not been tampered with when executing the application.

また、第3の態様では、前記演算処理部は、前記アプリケーション生成指示が入力されると、前記選択された機能ブロックにより形成される経路が閉路を含むか否かを判断し、含まない場合、前記アプリケーションを生成し、含む場合、アプリケーションを生成しない。
第3の態様によれば、ループ構造のために生じる無限の経路毎に利用許諾文が生成される状態を回避することが可能となる。
In the third aspect, when the application generation instruction is input, the arithmetic processing unit determines whether or not a path formed by the selected functional block includes a closed path. If the application is generated and included, no application is generated.
According to the third aspect, it is possible to avoid a state in which a use permission sentence is generated for each infinite route that occurs due to the loop structure.

また、第4の態様では、前記操作・表示部は、前記機能ブロックのうち、外部装置に処理を実行させる機能ブロックに対してフラグを付加する指示を受け付け、前記登録・管理部は、前記フラグが付加される機能ブロックを登録して管理し、前記演算処理部は、前記アプリケーション生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する。
第4の態様によれば、画一的な安全性と高速性とのバランスではなく、個々人によって最適な按分でのプログラム実行が実現可能となる。
In the fourth aspect, the operation / display unit receives an instruction to add a flag to a functional block that causes an external device to execute processing among the functional blocks, and the registration / management unit receives the flag When the application generation instruction is input, the arithmetic processing unit generates the application including the functional block to which the flag is added.
According to the fourth aspect, it is possible to realize program execution with an optimal apportionment by each individual, not the balance between uniform safety and high speed.

本発明によれば、動作の担保された利用許諾文を生成することが可能な情報生成装置と、この情報生成装置で用いられる情報生成方法及び情報生成プログラムとを提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the information generation apparatus which can produce | generate the use permission sentence with which operation | movement was ensured, the information generation method and information generation program which are used with this information generation apparatus can be provided.

第1の実施形態に係る情報生成装置が用いられるシステムを示す図である。It is a figure which shows the system by which the information generation apparatus which concerns on 1st Embodiment is used. 図1に示す情報生成装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the information generation apparatus shown in FIG. 機能ブロックのグラフ構成の例を示す図である。It is a figure which shows the example of a graph structure of a functional block. 図2に示す情報生成装置が機能ブロックを登録する際のシーケンス図を示す図である。It is a figure which shows the sequence diagram at the time of the information generation apparatus shown in FIG. 2 registering a functional block. 図2に示す情報生成装置が機能ブロックを登録する際のフローチャートを示す図である。It is a figure which shows the flowchart at the time of the information generation apparatus shown in FIG. 2 registering a functional block. 図2に示す情報生成装置がアプリケーション及び利用許諾文を生成する際のシーケンス図を示す図である。It is a figure which shows the sequence diagram at the time of the information production | generation apparatus shown in FIG. 2 producing | generating an application and a use permission sentence. 図2に示す登録・管理部における表示例を示す図である。FIG. 3 is a diagram illustrating a display example in a registration / management unit illustrated in FIG. 2. 図2に示す情報生成装置がアプリケーション及び利用許諾文を生成する際のフローチャートを示す図である。It is a figure which shows the flowchart at the time of the information production | generation apparatus shown in FIG. 2 producing | generating an application and a usage agreement. 第2の実施形態に係る情報生成装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the information generation apparatus which concerns on 2nd Embodiment. エージェントにより実行されるアプリケーションの構成例を示す図である。It is a figure which shows the structural example of the application performed by an agent. エージェントにより実行されるアプリケーションの構成例を示す図である。It is a figure which shows the structural example of the application performed by an agent.

以下、図面を参照してこの発明に係わる実施形態を説明する。   Embodiments according to the present invention will be described below with reference to the drawings.

(第1の実施形態)
図1は、第1の実施形態に係る情報生成装置10が用いられるシステムを示す。図1に示されるシステムは、情報生成装置10及びエージェント20を備える。
(First embodiment)
FIG. 1 shows a system in which an information generation apparatus 10 according to the first embodiment is used. The system shown in FIG. 1 includes an information generation device 10 and an agent 20.

図2は、図1に示す情報生成装置10の機能構成を示すブロック図である。図2に示す情報生成装置10は、機能ブロック登録・管理部11、操作・表示部12及び演算処理部13を備える。   FIG. 2 is a block diagram showing a functional configuration of the information generating apparatus 10 shown in FIG. The information generation apparatus 10 illustrated in FIG. 2 includes a functional block registration / management unit 11, an operation / display unit 12, and an arithmetic processing unit 13.

機能ブロック登録・管理部11は、機能ブロックを演算処理部13からの指示に従って登録し、登録した機能ブロックを管理する。機能ブロックは、特定の関数及び/又はオブジェクトを内包したブロックである。機能ブロックは、「データソース出力」を実施する第1の機能ブロックと、「処理」を実施する第2の機能ブロックとの2種類に大別される。   The functional block registration / management unit 11 registers functional blocks in accordance with instructions from the arithmetic processing unit 13 and manages the registered functional blocks. A functional block is a block containing a specific function and / or object. The functional blocks are roughly classified into two types: a first functional block that performs “data source output” and a second functional block that performs “processing”.

第1の機能ブロックは、エージェント20と連携し、エージェント20が保持するデータ及びエージェント20が収集してくるデータをアプリケーション上で使用可能にする。第1の機能ブロックを通じてのみエージェント20はアプリケーションに対してデータを提供する。第2の機能ブロックは、「データソース出力」以外のあらゆる処理、例えば、統計処理、絞込み及びデータの送信等の処理を実行する。   The first functional block cooperates with the agent 20 to make the data held by the agent 20 and the data collected by the agent 20 usable on the application. Only through the first functional block, the agent 20 provides data to the application. The second functional block executes all processes other than “data source output”, for example, statistical processing, narrowing down, and data transmission.

各機能ブロックには利用許諾に用いる利用許諾メッセージが付与されている。第1の機能ブロックに付与されている利用許諾メッセージには、利用するデータの種類が記載されている。また、第2の機能ブロックに付与されている利用許諾メッセージは、処理内容と対応付けられている。   Each function block is provided with a use permission message used for use permission. The type of data to be used is described in the usage permission message assigned to the first functional block. Further, the usage permission message given to the second functional block is associated with the processing content.

操作・表示部12は、外部とのインタフェースであり、アプリケーションの開発者及びシステムの管理者からの操作を受け付ける。また、操作・表示部12は、機能ブロック登録・管理部11に登録されている機能ブロック、アプリケーション及び利用許諾文等を表示する。   The operation / display unit 12 is an interface with the outside, and receives operations from an application developer and a system administrator. Further, the operation / display unit 12 displays the function blocks, applications, usage agreements, etc. registered in the function block registration / management unit 11.

開発者は、操作・表示部12に表示されている機能ブロックを選択し、操作・表示部12上で選択した機能ブロックを連結させる。   The developer selects a functional block displayed on the operation / display unit 12 and connects the functional blocks selected on the operation / display unit 12.

また、操作・表示部12は、システムの管理者又は信頼ある第三者により承認された機能ブロックを機能ブロック登録・管理部11に登録する。   Further, the operation / display unit 12 registers the function block approved by the system administrator or a trusted third party in the function block registration / management unit 11.

操作・表示部12による機能ブロックの登録処理の例を具体的に示す。操作・表示部12は、第1の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部12に表示されるソースコードの目視、又は、第1の機能ブロックの実行による確認作業を経て、第1の機能ブロックにより取得されるデータの種類が、アプリケーションで利用されるデータの種類と一致するか否かを予め判断する。一致する場合、システムの管理者及び信頼ある第三者は、第1の機能ブロックを承認する。操作・表示部12は、承認された第1の機能ブロックを機能ブロック登録・管理部11に登録させる。   An example of functional block registration processing by the operation / display unit 12 will be specifically described. The operation / display unit 12 displays the source code of the first functional block. The system administrator and a trusted third party are obtained by the first functional block through visual inspection of the source code displayed on the operation / display unit 12 or confirmation through execution of the first functional block. It is determined in advance whether or not the data type matches the type of data used in the application. If there is a match, the system administrator and the trusted third party approve the first functional block. The operation / display unit 12 causes the functional block registration / management unit 11 to register the approved first functional block.

また、操作・表示部12は、第2の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部12に表示されるソースコードを参照し、第2の機能ブロックの処理内容と利用許諾メッセージとが対応付いているか否かを予め判断する。対応付いている場合、システムの管理者及び信頼ある第三者は、第2の機能ブロックを承認する。操作・表示部12は、承認された第2の機能ブロックを機能ブロック登録・管理部11に登録させる。   The operation / display unit 12 displays the source code of the second functional block. The system administrator and a trusted third party refer to the source code displayed on the operation / display unit 12 to determine in advance whether or not the processing content of the second functional block corresponds to the usage permission message. To do. If so, the system administrator and the trusted third party approve the second functional block. The operation / display unit 12 causes the function block registration / management unit 11 to register the approved second function block.

演算処理部13は、例えば、CPU(Central Processing Unit)、並びにROM(Read Only Memory)及びRAM(Random Access Memory)等のCPUが処理を実行するためのプログラムやデータの格納領域等を含む。演算処理部13は、CPUにプログラムを実行させることで、アプリケーション生成部131、利用許諾文生成部132及び署名付与部133を実現する。   The arithmetic processing unit 13 includes, for example, a CPU (Central Processing Unit), and a storage area for programs and data for the CPU to execute processing such as ROM (Read Only Memory) and RAM (Random Access Memory). The arithmetic processing unit 13 causes the CPU to execute a program, thereby realizing an application generation unit 131, a license agreement generation unit 132, and a signature addition unit 133.

操作・表示部12上で機能ブロックの配置が決定し、任意の出力が得られる構成になると、開発者は、操作・表示部12を介してアプリケーション生成部131へアプリケーション生成指示を与える。アプリケーション生成部131は、開発者からアプリケーション生成指示が与えられると、各機能ブロックをノード、各機能ブロック間の連結部分を有向エッジとして全体をグラフと見なし、トポロジカルソートを開始する。トポロジカルソートとは、グラフが閉路を持つか否かを確認するための処理である。トポロジカルソートの結果、グラフが無閉路有向グラフである場合、アプリケーション生成部131は、機能ブロックの連結処理に移行する。トポロジカルソートの結果、グラフが閉路を持つ場合、アプリケーション生成部131は、エラーを出力する。これは、利用許諾文は、利用許諾文生成部132により、全ての経路に対して生成されるため、閉路が存在していると、無限に生成されてしまうからである。例えば、機能ブロックの組み合わせが図3のようなグラフ構成だった場合、B→C→Bで閉路が形成されているため、A→B→C→D、A→B→C→B→C→D、A→B→C→B→C→B→C→D、…と無限通りの経路が存在する。そのため、経路毎に、無限の利用許諾文が生成されることになる。   When the arrangement of functional blocks is determined on the operation / display unit 12 and an arbitrary output can be obtained, the developer gives an application generation instruction to the application generation unit 131 via the operation / display unit 12. When an application generation instruction is given from the developer, the application generation unit 131 considers each function block as a node and a connection portion between each function block as a directed edge, and starts a topological sort. The topological sort is a process for confirming whether the graph has a cycle. As a result of the topological sort, when the graph is an acyclic directed graph, the application generation unit 131 proceeds to a function block connection process. If the graph has a cycle as a result of the topological sort, the application generation unit 131 outputs an error. This is because the usage agreement text is generated for all routes by the usage agreement text generation unit 132, and thus is generated infinitely when there is a closed circuit. For example, when the combination of functional blocks is a graph configuration as shown in FIG. 3, since a closed circuit is formed by B → C → B, A → B → C → D, A → B → C → B → C → D, A → B → C → B → C → B → C → D,... Therefore, an infinite usage permission sentence is generated for each route.

アプリケーション生成部131は、トポロジカルソートにより無閉路有向グラフと判断されたグラフを構成する機能ブロック間の入力形式と、出力形式とが一致しているか否かを確認する。一致する場合、アプリケーション生成部131は、機能ブロック間で返り値を引数として渡すこと等により、機能ブロック同士を連結させる。ここで、第1の機能ブロックは出力形式を持ち、第2の機能ブロックは出力形式及び入力形式を持つ。なお、第2の機能ブロックは、複数の入力形式及び複数の出力形式を有する場合もある。   The application generation unit 131 confirms whether the input format between the functional blocks constituting the graph determined to be an acyclic directed graph by the topological sort matches the output format. If they match, the application generation unit 131 connects the functional blocks by passing a return value as an argument between the functional blocks. Here, the first functional block has an output format, and the second functional block has an output format and an input format. Note that the second functional block may have a plurality of input formats and a plurality of output formats.

なお、第2の機能ブロックは、パラメータを有し、数値及び文字列を自由に変更できるようにしても良い。例えば、データの生成時間による絞込みを行う機能ブロックの場合、{epoc_start:xxx,epoc_end:yyy}といったパラメータを指定することで、複数の機能ブロックを用意しなくてもどの範囲で絞込みを行うかを変更することが可能である。ただし、パラメータは利用許諾メッセージにも含まれなければならない。   Note that the second functional block may have parameters, and numerical values and character strings may be freely changed. For example, in the case of a functional block that narrows down according to the data generation time, by specifying parameters such as {epoc_start: xxx, epoc_end: yyy}, it is possible to narrow down the range to narrow down without preparing multiple functional blocks. It is possible to change. However, the parameter must also be included in the usage permission message.

また、開発者は、操作・表示部12を介して利用許諾文生成部132へ利用許諾文生成指示を入力する。利用許諾文生成部132は、利用許諾文生成指示が入力されると、連結される各機能ブロックに付与されている利用許諾メッセージに基づいて利用許諾文を生成する。このとき、利用許諾文生成部132は、機能ブロックに書かれた利用許諾メッセージを羅列するように利用許諾文を生成しても良いし、羅列した利用許諾メッセージを読みやすく整形して利用許諾文を生成するようにしても良い。例えば、第1の機能ブロックにより取得されるデータの種類をA、第2の機能ブロックの処理内容をBとした場合、利用許諾文生成部132は、「A:B,B,B…」と記載しても良いし、「Aを取得、Bを行った後にBを行い、Bを行う」と記載することも可能である。これは情報生成装置10の処理機能によるところとする。 Further, the developer inputs a usage agreement text generation instruction to the usage agreement text generation unit 132 via the operation / display unit 12. When the usage agreement text generation instruction is input, the usage agreement text generation unit 132 generates a usage agreement text based on the usage agreement message assigned to each function block to be connected. At this time, the license agreement generation unit 132 may generate a license agreement so that the license agreement messages written in the functional block are listed, or the license agreement message that has been enumerated is shaped to be easy to read. May be generated. For example, when the type of data acquired by the first functional block is A and the processing content of the second functional block is B, the usage permission sentence generation unit 132 displays “A: B 1 , B 2 , B 3. ... ”Or“ Acquire A, perform B 1 and then perform B 2 and perform B 3 ”. This is due to the processing function of the information generation apparatus 10.

署名付与部133は、ハッシュ関数及び暗号鍵等の形式により実装される秘密鍵を用い、アプリケーション生成部131で生成されたアプリケーションと、利用許諾文生成部132で生成された利用許諾文とに署名を付与する。なお、この署名は、一般的な電子署名であっても良い。アプリケーションの開発者は、アプリケーション及び利用許諾文に正しく署名が付与されると、署名が付与されたアプリケーション及び利用許諾文をユーザへ配布する。   The signature assigning unit 133 uses a secret key implemented in a format such as a hash function and an encryption key to sign the application generated by the application generating unit 131 and the license agreement generated by the license agreement generating unit 132. Is granted. The signature may be a general electronic signature. When the application developer and the usage agreement are correctly signed, the application developer distributes the signed application and the usage agreement to the user.

エージェント20は、ユーザからアプリケーションのコンパイルの要求を受けると、まずアプリケーションと利用許諾文とに付された署名を確認する。これにより、エージェント20は、アプリケーション及び利用許諾文に対して改ざんが加えられていないことを確認する。エージェント20は、アプリケーション及び利用許諾文に改ざんが加えられていないことを確認すると、ユーザに対して利用許諾文を提示する。ユーザは、利用許諾文の内容に許諾する場合、アプリケーションのコンパイルを実行する。   When the agent 20 receives a request for compiling the application from the user, the agent 20 first confirms the signature attached to the application and the license agreement. As a result, the agent 20 confirms that the application and the usage agreement have not been tampered with. When the agent 20 confirms that the application and the usage agreement have not been tampered with, the agent 20 presents the usage agreement to the user. When the user grants permission to the contents of the license agreement, the user compiles the application.

次に、以上のように構成される情報生成装置10の動作を具体的に説明する。図4は、情報生成装置10が機能ブロックを登録する際のシーケンス図を示す。   Next, the operation of the information generating apparatus 10 configured as described above will be specifically described. FIG. 4 shows a sequence diagram when the information generating apparatus 10 registers a functional block.

まず、アプリケーションの開発者は、機能ブロックを操作・表示部12へアップロードする(シーケンスS41)。操作・表示部12は、機能ブロックのソースコード等を表示し、システム管理者等からの承認を受け付ける(シーケンスS42)。操作・表示部12は、システム管理者等からの承認を受けると(シーケンスS43)、承認を受けた機能ブロックを機能ブロック登録・管理部11に登録させる(シーケンスS44)。   First, the application developer uploads a functional block to the operation / display unit 12 (sequence S41). The operation / display unit 12 displays the function block source code and the like, and accepts approval from the system administrator or the like (sequence S42). When receiving an approval from the system administrator or the like (sequence S43), the operation / display unit 12 causes the functional block registration / management unit 11 to register the approved function block (sequence S44).

図5は、情報生成装置10が機能ブロックを登録する際のフローチャートを示す。   FIG. 5 shows a flowchart when the information generating apparatus 10 registers a functional block.

まず、情報生成装置10は、操作・表示部12により、新たな機能ブロックを受信する(ステップS51)。操作・表示部12は、機能ブロックに対する処理を待機させ、機能ブロックのソースコード等を表示する(ステップS52)。   First, the information generating apparatus 10 receives a new functional block by the operation / display unit 12 (step S51). The operation / display unit 12 waits for processing on the functional block and displays the source code of the functional block and the like (step S52).

操作・表示部12は、表示するソースコードに対し、システム管理者等からの承認があるか否かを判断する(ステップS53)。承認がある場合(ステップS53のYes)、操作・表示部12は、機能ブロックを機能ブロック登録・管理部11に登録させ(ステップS54)、処理を終了させる。承認がない場合(ステップS53のNo)、操作・表示部12は、機能ブロックの登録を棄却し(ステップS55)、処理を終了させる。   The operation / display unit 12 determines whether or not the source code to be displayed is approved by the system administrator or the like (step S53). If there is approval (Yes in step S53), the operation / display unit 12 registers the functional block in the functional block registration / management unit 11 (step S54), and ends the process. When there is no approval (No in Step S53), the operation / display unit 12 rejects the registration of the functional block (Step S55) and ends the process.

図6は、情報生成装置10がアプリケーション及び利用許諾文を生成する際のシーケンス図を示す。   FIG. 6 shows a sequence diagram when the information generating apparatus 10 generates an application and a license agreement.

まず、情報生成装置10は、機能ブロック登録・管理部11に登録されている機能ブロックを操作・表示部12に表示する(シーケンスS61)。操作・表示部12は、アプリケーションの開発者からの操作を受け付ける。図7に操作・表示部12の表示例を示す。右側の機能ブロック選択パレットに機能ブロック登録・管理部11から読み出された機能ブロックが表示される。開発者は、選択パレットから機能ブロックを選択し、選択した機能ブロックを連結させることで、アプリケーションを組み立てる。操作・表示部12には、アプリケーション/利用許諾文生成ボタンが表示されている。開発者は、アプリケーションの組み立てが完了すると、アプリケーション/利用許諾文生成ボタンをクリックする(シーケンスS62)。操作・表示部12は、アプリケーション/利用許諾文生成ボタンがクリックされると、アプリケーション生成指示及び利用許諾文生成指示を演算処理部13へ出力する(シーケンスS63)。   First, the information generating apparatus 10 displays the function blocks registered in the function block registration / management unit 11 on the operation / display unit 12 (sequence S61). The operation / display unit 12 receives an operation from an application developer. FIG. 7 shows a display example of the operation / display unit 12. The functional blocks read from the functional block registration / management unit 11 are displayed on the right functional block selection palette. The developer assembles an application by selecting a functional block from the selection palette and connecting the selected functional blocks. The operation / display unit 12 displays an application / usage license generation button. When the assembly of the application is completed, the developer clicks an application / usage license generation button (sequence S62). When the application / use permission sentence generation button is clicked, the operation / display section 12 outputs an application generation instruction and a use permission sentence generation instruction to the arithmetic processing section 13 (sequence S63).

演算処理部13は、アプリケーション生成指示を受けると、トポロジカルソートを実施する(シーケンスS64)。トポロジカルソートにより、グラフが無閉路有効グラフであると判断した場合、演算処理部13は、機能ブロック同士を連結することで、アプリケーションを生成する(シーケンスS65)。また、演算処理部13は、機能ブロックに付与される利用許諾メッセージを用いて利用許諾文を生成する(シーケンスS66)。   When receiving the application generation instruction, the arithmetic processing unit 13 performs a topological sort (sequence S64). When the topological sort determines that the graph is an acyclic effective graph, the arithmetic processing unit 13 generates an application by connecting the functional blocks (sequence S65). In addition, the arithmetic processing unit 13 generates a usage agreement text using the usage agreement message given to the functional block (sequence S66).

また、演算処理部13は、生成されたアプリケーション及び利用許諾文に対し、署名を付与する(シーケンスS67)。演算処理部13は、生成したアプリケーション及び利用許諾文を操作・表示部12へ出力する(シーケンスS68)。   In addition, the arithmetic processing unit 13 gives a signature to the generated application and usage agreement (sequence S67). The arithmetic processing unit 13 outputs the generated application and usage agreement to the operation / display unit 12 (sequence S68).

操作・表示部12は、アプリケーション及び利用許諾文を開発者へ表示する(シーケンスS69)。   The operation / display unit 12 displays the application and the usage agreement to the developer (sequence S69).

図8は、情報生成装置10がアプリケーション及び利用許諾文を生成する際のフローチャートを示す。   FIG. 8 shows a flowchart when the information generation apparatus 10 generates an application and a usage agreement.

まず、情報生成装置10は、機能ブロック登録・管理部11に登録されている機能ブロックを読み出し、読み出した機能ブロックを操作・表示部12に表示する(ステップS81)。操作・表示部12は、開発者が機能ブロックを組み合わせている間、待機する(ステップS82)。操作・表示部12は、図7に示す生成ボタンがクリックされると、アプリケーション及び利用許諾文の生成を開始するように演算処理部13へアプリケーション/利用許諾文生成指示を出力する(ステップS83)。   First, the information generating apparatus 10 reads out the functional blocks registered in the functional block registration / management unit 11 and displays the read-out functional blocks on the operation / display unit 12 (step S81). The operation / display unit 12 stands by while the developer combines the functional blocks (step S82). When the generation button shown in FIG. 7 is clicked, the operation / display unit 12 outputs an application / usage license generation instruction to the arithmetic processing unit 13 so as to start generating the application and the usage agreement text (step S83). .

演算処理部13は、アプリケーション及び利用許諾文の生成が指示されると、トポロジカルソートを用いて閉路が検出されるか否かを判断する(ステップS84)。検出される場合(ステップS84のYes)、演算処理部13は、エラーを出力し(ステップS85)、処理を終了させる。閉路が検出されない場合(ステップS84のNo)、演算処理部13は、組み合わされた機能ブロック間の入力形式と出力形式とが一致するか否かを判断する(ステップS86)。一致する場合(ステップS86のYes)、演算処理部13は、機能ブロックを連結し、アプリケーションを生成する(ステップS87)。また、演算処理部13は、利用許諾文を生成する(ステップS88)。組み合わされた機能ブロック間の入力形式と出力形式とが一致しない場合(ステップS86のNo)、処理をステップS85へ移行する。   When the generation of the application and the usage agreement is instructed, the arithmetic processing unit 13 determines whether or not a closed path is detected using the topological sort (step S84). If detected (Yes in step S84), the arithmetic processing unit 13 outputs an error (step S85) and ends the process. When the closed circuit is not detected (No in step S84), the arithmetic processing unit 13 determines whether or not the input format and the output format between the combined functional blocks match (step S86). If they match (Yes in step S86), the arithmetic processing unit 13 connects the functional blocks and generates an application (step S87). Further, the arithmetic processing unit 13 generates a use permission sentence (step S88). If the input format and the output format between the combined functional blocks do not match (No in step S86), the process proceeds to step S85.

演算処理部13は、アプリケーション及び利用許諾文を生成すると、生成したアプリケーション及び利用許諾文に対し、署名を付与する(ステップS89)。演算処理部13は、署名を付与したアプリケーション及び利用許諾文を操作・表示部12に表示させる(ステップS810)。   When generating the application and the usage agreement text, the arithmetic processing unit 13 gives a signature to the generated application and usage agreement text (step S89). The arithmetic processing unit 13 causes the operation / display unit 12 to display the application to which the signature is attached and the usage agreement (step S810).

以上のように、第1の実施形態では、演算処理部13は、関数やオブジェクトを内包する機能ブロックを組み合わせてアプリケーションを生成すると同時に、機能ブロック内にあらかじめ付与された利用許諾メッセージから処理全体に関する利用許諾文を生成するようにしている。これにより、連結された機能ブロックをアプリケーションプログラムとして生成すると共に、連結した機能ブロックに付与される利用許諾メッセージから利用許諾文が生成されることになるため、常にアプリケーションに対応付けられた利用許諾文を生成することが可能となる。   As described above, in the first embodiment, the arithmetic processing unit 13 generates an application by combining functional blocks including functions and objects, and at the same time, relates to the entire processing from the usage permission message previously given in the functional block. A license agreement is generated. As a result, a combined functional block is generated as an application program, and a license message is generated from a license message given to the linked functional block. Can be generated.

また、第1の実施形態では、署名付与部133は、アプリケーションの実行内容及び利用許諾文の内容を担保するため、アプリケーション及び利用許諾文を生成する際に、アプリケーション及び利用許諾文に署名を付与するようにしている。これにより、アプリケーションを実行する際に、システムによって生成された内容が改ざんされていないことを保証することが可能となる。すなわち、アプリケーション及び利用許諾文の正当性を担保することが可能となる。   In the first embodiment, the signature assigning unit 133 assigns a signature to the application and the usage agreement when generating the application and the usage agreement in order to secure the execution contents of the application and the contents of the usage agreement. Like to do. This makes it possible to ensure that the content generated by the system has not been tampered with when executing the application. In other words, it is possible to ensure the validity of the application and the license agreement.

また、第1の実施形態では、演算処理部13は、機能ブロックが連結されるグラフに対してトポロジカルソートが可能であるかを計算することで、ループ構造の経路を有するアプリケーションを許可しないようにしている。これにより、生成される利用許諾文が、アプリケーションと必ず対応付けられることとなる。また、機能ブロックの組み合わせとして無限に利用許諾文が生成されるような組み合わせを抑制することが可能となる。   Further, in the first embodiment, the arithmetic processing unit 13 does not allow an application having a loop structure path by calculating whether topological sorting is possible for a graph to which functional blocks are connected. ing. As a result, the generated usage agreement is always associated with the application. In addition, it is possible to suppress combinations that generate infinite use permission sentences as combinations of functional blocks.

これまで機能を持つオブジェクト、及び、関数を組み合わせてプログラムを生成する方法は、コンポーネント型のプログラミング言語やフレームワークによって実現されてきた。しかしながら、これらの方法は、アプリケーション作成者の負担の軽減を目的としており、開発者に対する利便性を図ったものであった。本発明では、アプリケーションを生成すると同時に利用許諾文を生成することで、動作の担保された利用許諾文をアプリケーションのユーザに対して明確に提示することができ、ユーザに対する利便性を向上させることができる。   Until now, a method of generating a program by combining an object having a function and a function has been realized by a component type programming language or a framework. However, these methods are intended to reduce the burden on the application creator, and are intended for the convenience of the developer. In the present invention, by generating a license agreement at the same time as generating an application, it is possible to clearly present a license agreement whose operation is guaranteed to the user of the application, and to improve convenience for the user. it can.

(第2の実施形態)
第1の実施形態では、アプリケーションを生成する際に用いられる第2の機能ブロックによる処理は、エージェント20上で実行されることを想定している。しかしながら、第2の機能ブロックによる処理の全てをエージェント20が実行すると、高速性が失われてしまうことがある。
(Second Embodiment)
In the first embodiment, it is assumed that the processing by the second functional block used when generating the application is executed on the agent 20. However, if the agent 20 executes all of the processing by the second functional block, the high speed may be lost.

そこで、実際に第2の機能ブロックによる処理を実行する環境を、エージェント20上ではなく、外部サーバ等の外部装置へ委託するようにしても構わない。しかしながら、第2の機能ブロックによる処理の実行を外部サーバへ委託することにより、エージェント20内で扱っていたデータが外部へ送信される場合があり得る。このため、セキュリティの問題及び/又はプライバシの問題が発生することがある。   Therefore, the environment in which the processing by the second functional block is actually executed may be outsourced to an external device such as an external server instead of on the agent 20. However, by entrusting execution of processing by the second functional block to an external server, data handled in the agent 20 may be transmitted to the outside. For this reason, a security problem and / or a privacy problem may occur.

一般に端末上の動作プログラムを、プログラムの実行箇所のリソースが少ない端末上から、リソースの多い近傍の代理端末へ移動させて実行させる技術はCyber foraging(非特許文献1,2参照)と呼ばれている。ただし、これらの技術はプログラム全体を端末からクラウドに移行しており、一部の処理に限定して処理の受け渡しが行えるわけではない。   In general, a technique for moving an operation program on a terminal from a terminal with few resources at the execution location of the program to a nearby proxy terminal with many resources is called Cyber foraging (see Non-Patent Documents 1 and 2). Yes. However, with these technologies, the entire program is transferred from the terminal to the cloud, and processing cannot be transferred only to a part of the processing.

一方、Amazon(登録商標)が開発したウェブブラウザーであるsilk描画アクセラレーションのために機能単位で実行場所をクラウドに変更することが可能である。しかしながら最適な高速化にのみ注目しているため、プライバシやセキュリティが守られていないという批判がある。 On the other hand, Amazon silk (registered trademark) is a web browser developed is possible to change the execution location to the cloud in the functional units for drawing acceleration. However, there is a criticism that privacy and security are not protected because we focus only on the optimal speedup.

以上のように、高速化と安全性とをユーザが望むバランスで両立できる仕組みは現存していない。第2の実施形態では、エージェント20のユーザが高速性及び安全性を選択しながら実行できるアプリケーションを生成可能な情報生成装置について説明する。   As described above, there is no existing mechanism that can achieve both high speed and safety in the balance desired by the user. In the second embodiment, an information generation apparatus capable of generating an application that can be executed while the user of the agent 20 selects high speed and safety will be described.

図9は、第2の実施形態に係る情報生成装置30の機能構成を示すブロック図である。図9に示す情報生成装置30は、機能ブロック登録・管理部11、操作・表示部31及び演算処理部13を備える。   FIG. 9 is a block diagram illustrating a functional configuration of the information generation apparatus 30 according to the second embodiment. The information generation apparatus 30 illustrated in FIG. 9 includes a functional block registration / management unit 11, an operation / display unit 31, and an arithmetic processing unit 13.

操作・表示部31は、外部とのインタフェースであり、アプリケーションの開発者及びシステムの管理者からの操作を受け付ける。また、操作・表示部31は、機能ブロック登録・管理部11に登録されている機能ブロック、アプリケーション及び利用許諾文等を表示する。     The operation / display unit 31 is an interface with the outside, and receives operations from an application developer and a system administrator. Further, the operation / display unit 31 displays the function blocks, applications, usage agreements, and the like registered in the function block registration / management unit 11.

開発者は、操作・表示部31に表示されている機能ブロックを選択し、操作・表示部31上で選択した機能ブロックを連結させる。   The developer selects a functional block displayed on the operation / display unit 31 and connects the functional blocks selected on the operation / display unit 31.

また、操作・表示部12は、システムの管理者又は信頼ある第三者により承認された機能ブロックを機能ブロック登録・管理部11に登録する。このとき、外部への送信処理を機能として有する処理を実行する第2の機能ブロックがある場合、システムの管理者又は信頼ある第三者は、この第2の機能ブロックに対してフラグを付加する。このフラグは、第2の機能ブロックによる処理が、他の場所への送信処理を含むものであることを示し、フラグを付加された第2の機能ブロック以降のすべての第2の機能ブロックが他の場所で実行されることを示すものである。   Further, the operation / display unit 12 registers the function block approved by the system administrator or a trusted third party in the function block registration / management unit 11. At this time, if there is a second functional block that executes processing having transmission processing to the outside as a function, the system administrator or a trusted third party adds a flag to the second functional block. . This flag indicates that the processing by the second functional block includes transmission processing to another location, and all the second functional blocks after the second functional block to which the flag is added are located at the other location. Is executed.

操作・表示部31による機能ブロックの登録処理の例を具体的に示す。操作・表示部31は、第1の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードの目視、又は、第1の機能ブロックの実行による確認作業を経て、第1の機能ブロックにより取得されるデータの種類が、アプリケーションで利用されるデータの種類と一致するか否かを予め判断する。一致する場合、システムの管理者及び信頼ある第三者は、第1の機能ブロックを承認する。操作・表示部31は、承認された第1の機能ブロックを機能ブロック登録・管理部11に登録させる。
また、操作・表示部31は、第2の機能ブロックのソースコードを表示する。システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードを参照し、第2の機能ブロックによる処理が外部への送信処理を機能として有するか否かを予め判断する。送信処理を機能として有する場合、システムの管理者及び信頼ある第三者は、この第2の機能ブロックに対し、フラグを付加する。また、システムの管理者及び信頼ある第三者は、操作・表示部31に表示されるソースコードを参照し、第2の機能ブロックの処理内容と利用許諾メッセージとが対応付いているか否かを予め判断する。対応付いている場合、システムの管理者及び信頼ある第三者は、第2の機能ブロックを承認する。操作・表示部31は、承認された第2の機能ブロックを機能ブロック登録・管理部11に登録させる。
An example of functional block registration processing by the operation / display unit 31 will be specifically described. The operation / display unit 31 displays the source code of the first functional block. The system administrator and a trusted third party are obtained by the first functional block through visual inspection of the source code displayed on the operation / display unit 31 or confirmation through execution of the first functional block. It is determined in advance whether or not the data type matches the type of data used in the application. If there is a match, the system administrator and the trusted third party approve the first functional block. The operation / display unit 31 causes the functional block registration / management unit 11 to register the approved first functional block.
The operation / display unit 31 displays the source code of the second functional block. The system administrator and a trusted third party refer to the source code displayed on the operation / display unit 31 and determine in advance whether or not the processing by the second functional block has a transmission processing to the outside as a function. To do. When having the transmission process as a function, the system administrator and a trusted third party add a flag to the second functional block. Further, the system administrator and a trusted third party refer to the source code displayed on the operation / display unit 31 to determine whether or not the processing content of the second functional block is associated with the usage permission message. Judge in advance. If so, the system administrator and the trusted third party approve the second functional block. The operation / display unit 31 causes the function block registration / management unit 11 to register the approved second function block.

演算処理部13は、アプリケーション生成部131、利用許諾文生成部132及び署名付与部133を実現する。   The arithmetic processing unit 13 implements an application generation unit 131, a use permission sentence generation unit 132, and a signature addition unit 133.

操作・表示部31上で機能ブロックの配置が決定し、任意の出力が得られる構成になると、開発者は、操作・表示部31を介してアプリケーション生成部131へアプリケーション生成指示を与える。アプリケーション生成部131は、開発者からアプリケーション生成指示が与えられると、各機能ブロックをノード、各機能ブロック間の連結部分を有向エッジとして全体をグラフと見なし、トポロジカルソートを開始する。トポロジカルソートの結果、グラフが無閉路有向グラフである場合、アプリケーション生成部131は、トポロジカルソートにより無閉路有向グラフと判断されたグラフを構成する機能ブロック間の入力形式と、出力形式とが一致しているか否かを確認する。一致する場合、アプリケーション生成部131は、機能ブロック間で返り値を引数として渡すこと等により、機能ブロック同士を連結させる。ここで、第1の機能ブロックは出力形式を持ち、第2の機能ブロックは出力形式及び入力形式を持つ。また、第2の機能ブロックにフラグが付されている場合は、フラグも含めて連結される。なお、第2の機能ブロックは、複数の入力形式及び複数の出力形式を有する場合もある。   When the arrangement of the functional blocks is determined on the operation / display unit 31 and an arbitrary output is obtained, the developer gives an application generation instruction to the application generation unit 131 via the operation / display unit 31. When an application generation instruction is given from the developer, the application generation unit 131 considers each function block as a node and a connection portion between each function block as a directed edge, and starts a topological sort. If the graph is an acyclic directed graph as a result of the topological sort, the application generation unit 131 confirms that the input format between the functional blocks constituting the graph determined as the acyclic directed graph by the topological sort matches the output format. Confirm whether or not. If they match, the application generation unit 131 connects the functional blocks by passing a return value as an argument between the functional blocks. Here, the first functional block has an output format, and the second functional block has an output format and an input format. Further, when a flag is attached to the second function block, the second function block is connected including the flag. Note that the second functional block may have a plurality of input formats and a plurality of output formats.

エージェント20は、情報生成装置30で生成されるアプリケーション及び利用許諾文を受信する。エージェント20は、ユーザからアプリケーションのコンパイルの要求を受けると、まずアプリケーションと利用許諾文とに付された署名を確認する。これにより、エージェント20は、アプリケーション及び利用許諾文に対して改ざんが加えられていないことを確認する。エージェント20は、アプリケーション及び利用許諾文に改ざんが加えられていないことを確認すると、ユーザに対して利用許諾文を提示する。ユーザは、利用許諾文の内容に許諾する場合、アプリケーションのコンパイルを実行する。   The agent 20 receives the application generated by the information generating device 30 and the usage agreement. When the agent 20 receives a request for compiling the application from the user, the agent 20 first confirms the signature attached to the application and the license agreement. As a result, the agent 20 confirms that the application and the usage agreement have not been tampered with. When the agent 20 confirms that the application and the usage agreement have not been tampered with, the agent 20 presents the usage agreement to the user. When the user grants permission to the contents of the license agreement, the user compiles the application.

また、エージェント20は、アプリケーションのコンパイルの際に、アプリケーションに、フラグが付された機能ブロックが含まれるか否かを判断する。フラグが付された機能ブロックが含まれる場合、エージェント20は、フラグが付された機能ブロックの位置と、アプリケーションに含まれるその他の第2の機能ブロックの位置とを可換であることをユーザへ表示する。   Further, the agent 20 determines whether or not the application includes a functional block with a flag when compiling the application. When the functional block with the flag is included, the agent 20 informs the user that the position of the functional block with the flag and the position of the other second functional block included in the application are interchangeable. indicate.

ユーザは、エージェント20の表示に基づき、高速性を担保するか、安全性を担保するかを自ら判断し、機能ブロックの位置を入れ替える。   Based on the display of the agent 20, the user determines by himself whether to ensure high speed or safety, and replaces the position of the functional block.

図10及び図11は、アプリケーションの機能ブロックの構成例を示す図である。コンパイルを要求されたアプリケーションが図10に示す構成をしている場合、エージェント20は、エージェント20から外部サーバへデータを送信する機能ブロックB1にフラグが付されていると判断する。エージェント20は、機能ブロックB1の位置と、第1次メッシュ変換を実施する第2の機能ブロックB2の位置とを変更可能であることをユーザに表示する。   10 and 11 are diagrams illustrating a configuration example of a functional block of an application. When the application requested to be compiled has the configuration shown in FIG. 10, the agent 20 determines that a flag is attached to the function block B1 that transmits data from the agent 20 to the external server. The agent 20 displays to the user that the position of the functional block B1 and the position of the second functional block B2 that performs the first mesh transformation can be changed.

ユーザは、自端末が高速性及び安全性のいずれを求めるかに応じて、機能ブロックの位置を移動させる。すなわち、ユーザは、高速性よりも安全性を重視する場合、図11に示すように、機能ブロックB2を機能ブロックB1の前に移動させる。図11に示すアプリケーションでは、外部サーバへデータを送信する前に、エージェント20内で緯度データ及び経度データをメッシュコードへ変換する。このため、外部サーバへ送信するデータの情報量は少なくなるため、安全性は高まることになる。一方、エージェント20内でメッシュコードへ変換する必要があるため、空きリソースがサーバ上で変換処理を実行するよりも少なくなり、高速性が損なわれる可能性がある。   The user moves the position of the functional block depending on whether the terminal needs high speed or safety. That is, when safety is more important than high speed, the user moves the functional block B2 before the functional block B1, as shown in FIG. In the application shown in FIG. 11, before transmitting data to an external server, latitude data and longitude data are converted into a mesh code in the agent 20. For this reason, since the amount of data transmitted to the external server is reduced, the safety is increased. On the other hand, since it is necessary to convert to a mesh code in the agent 20, there are fewer free resources than when the conversion process is executed on the server, and the high speed may be impaired.

また、安全性よりも高速性を重視する場合、ユーザは、図10に示す構成を維持したまま、アプリケーションのコンパイルを実行する。図10に示すアプリケーションでは、外部サーバへ緯度データ及び経度データを一切の丸め処理を行うことなく送信するため、安全性は低くなる。一方、エージェント20内でメッシュコードへ変換する必要がないため、空きリソースが増え、高速性を維持することが可能である。   When high speed is more important than safety, the user compiles the application while maintaining the configuration shown in FIG. In the application shown in FIG. 10, since the latitude data and the longitude data are transmitted to the external server without performing any rounding process, safety is low. On the other hand, since there is no need to convert to a mesh code within the agent 20, free resources increase and high speed can be maintained.

以上のように、第2の実施形態では、機能ブロック登録・管理部11は、関数及び/又はオブジェクトが他の場所で実行されることを示すフラグを付した機能ブロックを登録する。そして、エージェント20は、アプリケーションに含まれる機能ブロックにフラグが付されている場合、アプリケーションを構成する機能ブロックの実行位置をユーザが自由に決定できるようにしている。これにより、ユーザは、セキュリティリスクの少ない機能以降を外部サーバに実行させることが可能となる。また、可変的に移動する機能ブロックをユーザが選択することが可能であるため、画一的な安全性と高速性とのバランスではなく、個々人によって最適な按分でのプログラム実行が実現可能となる。また、ユーザは、高速性と安全性とのいずれに重点を置くかを考慮した上で、外部サーバを交えてアプリケーションを実施することが可能となる。   As described above, in the second embodiment, the functional block registration / management unit 11 registers a functional block with a flag indicating that the function and / or the object is executed elsewhere. The agent 20 allows the user to freely determine the execution position of the functional block constituting the application when a flag is attached to the functional block included in the application. As a result, the user can cause the external server to execute functions subsequent to functions with less security risk. In addition, since the user can select a function block that is variably moved, it is possible to realize program execution with an optimal apportionment by each individual rather than a balance between uniform safety and high speed. . In addition, the user can execute an application with an external server in consideration of whether to focus on high speed or safety.

したがって、第2の実施形態に係る情報生成装置30によれば、ユーザに高速性と安全性とを選択させた上で、外部装置と連携を取りながら実行することが可能なアプリケーションを生成することができる。   Therefore, according to the information generation device 30 according to the second embodiment, the user can select the high speed and safety, and generate an application that can be executed in cooperation with the external device. Can do.

なお、第2の実施形態では、エージェント20の表示を参照し、ユーザが機能ブロックの位置を変更する場合を例に説明した。しかしながら、これに限定されない。例えば、エージェント20には、セキュリティ・プライバシポリシがユーザにより予め設定されていても構わない。エージェント20は、アプリケーションに、フラグが付された機能ブロックが含まれる場合、設定されているセキュリティ・プライバシポリシを参照して機能ブロックの実施位置を移換する。   In the second embodiment, the case where the user changes the position of the functional block with reference to the display of the agent 20 has been described as an example. However, it is not limited to this. For example, the security privacy policy may be set in advance in the agent 20 by the user. When the application includes a functional block with a flag, the agent 20 refers to the set security privacy policy and changes the execution position of the functional block.

なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

また、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。   The apparatus of the present invention can also be realized by a computer and a program, and can be recorded on a recording medium or provided through a network.

10,30…情報生成装置、11…機能ブロック登録・管理部、12,31…操作・表示部、13…演算処理部、20…エージェント、131…アプリケーション生成部、132…利用許諾文生成部、133…署名付与部   DESCRIPTION OF SYMBOLS 10,30 ... Information generation apparatus, 11 ... Functional block registration / management part, 12, 31 ... Operation / display part, 13 ... Operation processing part, 20 ... Agent, 131 ... Application generation part, 132 ... Usage permission sentence generation part, 133 ... Signature assignment section

Claims (9)

所定の関数、及び/又はオブジェクトの機能が内包され該機能に応じた利用許諾メッセージが付与されている機能ブロックを登録して管理する登録・管理部と、
前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、前記選択された機能ブロックに基づいてアプリケーションを生成させるアプリケーション生成指示と、前記選択された機能ブロックに基づいて利用許諾文を生成させる利用許諾文生成指示とを受け付ける操作・表示部と、
前記アプリケーション生成指示が入力されると、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記利用許諾文生成指示が入力されると、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成する演算処理部と
を具備し、
前記利用許諾メッセージは、当該利用許諾メッセージが付与されている前記機能ブロックの機能に応じて、利用するデータの種類、又は処理内容を表す情報を含み、
前記操作・表示部は、前記機能ブロックの登録処理時に、前記機能ブロックのソースコードを表示することで、前記機能ブロックにより取得されるデータの種類が当該機能ブロックに付与されている前記利用許諾メッセージと一致するか、又は、前記機能ブロックの処理内容が当該機能ブロックに付与されている前記利用許諾メッセージと対応付いているかの確認を操作者に要求し、一致する又は対応付いていることを示す承認指示が入力された場合に、前記機能ブロックを前記登録・管理部に登録させる情報生成装置。
And a predetermined function, and / or registration and management unit for use permission message function object corresponding to encapsulated the features registers and manages Tei Ru function block is assigned,
The function block registered by the registration / management unit is displayed, selection of the function block to be displayed is received, an application generation instruction for generating an application based on the selected function block, and the selected function block An operation / display unit for receiving a license agreement generation instruction for generating a license agreement based on the
When the application generation instruction is input, an application is generated by concatenating the selected functional blocks, and when the usage permission sentence generation instruction is input, the usage license granted to the selected functional block An arithmetic processing unit that concatenates messages to generate a license agreement ,
The usage permission message includes information indicating the type of data to be used or the processing content according to the function of the functional block to which the usage permission message is attached.
The operation / display unit displays the source code of the functional block during the functional block registration process, whereby the type of data acquired by the functional block is given to the functional block. Or whether the processing content of the functional block corresponds to the usage permission message assigned to the functional block, and indicates that it matches or corresponds. approval if the instruction is input, the function block the registration and management information generating apparatus Ru is registered in the unit.
前記演算処理部は、前記生成したアプリケーションと、前記生成した利用許諾文とに対して署名を付与する請求項1記載の情報生成装置。   The information generation apparatus according to claim 1, wherein the arithmetic processing unit assigns a signature to the generated application and the generated usage agreement. 前記演算処理部は、前記アプリケーション生成指示が入力されると、前記選択された機能ブロックにより形成される経路が閉路を含むか否かを判断し、含まない場合、前記アプリケーションを生成し、含む場合、アプリケーションを生成しない請求項1又は2記載の情報生成装置。   When the application generation instruction is input, the arithmetic processing unit determines whether or not a path formed by the selected functional block includes a closed path, and if not, generates the application. The information generation apparatus according to claim 1, wherein no application is generated. 前記操作・表示部は、前記機能ブロックのうち、外部装置への送信処理を機能として有する処理を実行する機能ブロックに対してフラグを付加する指示を受け付け、
前記登録・管理部は、前記フラグが付加される機能ブロックを登録して管理し、
前記演算処理部は、前記アプリケーション生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する請求項1又は3記載の情報生成装置。
The operation / display unit receives an instruction to add a flag to a functional block that executes a process having a function of a transmission process to an external device among the functional blocks,
The registration / management unit registers and manages the functional block to which the flag is added,
The information generation apparatus according to claim 1, wherein when the application generation instruction is input, the arithmetic processing unit generates the application including a functional block to which the flag is added.
登録・管理部が、所定の関数、及び/又はオブジェクトの機能が内包され該機能に応じた利用許諾メッセージが付与されている機能ブロックを登録し、
操作・表示部が、前記登録・管理部で登録される機能ブロックを表示し、前記表示する機能ブロックに対する選択を受け付け、
演算処理部が、前記選択された機能ブロックを連結させてアプリケーションを生成し、前記選択された機能ブロックに付与されている利用許諾メッセージを連結させて利用許諾文を生成し、
前記利用許諾メッセージは、当該利用許諾メッセージが付与されている前記機能ブロックの機能に応じて、利用するデータの種類、又は処理内容を表す情報を含み、
前記操作・表示部は、前記機能ブロックの登録処理時に、前記機能ブロックのソースコードを表示することで、前記機能ブロックにより取得されるデータの種類が当該機能ブロックに付与されている前記利用許諾メッセージと一致するか、又は、前記機能ブロックの処理内容が当該機能ブロックに付与されている前記利用許諾メッセージと対応付いているかの確認を操作者に要求し、一致する又は対応付いていることを示す承認指示が入力された場合に、前記機能ブロックを前記登録・管理部に登録させる情報生成方法。
Registration and management unit, it registers the predetermined function, and / or Tei Ru functional block usage agreement message function object corresponding to encapsulated the function is applied,
Operation and display unit, the functional blocks to be registered in the registration and management unit shown Table accepts the selection to the function blocks of the display,
The arithmetic processing unit generates an application by concatenating the selected functional blocks, generates a usage agreement by concatenating the usage permission message given to the selected functional blocks ,
The usage permission message includes information indicating the type of data to be used or the processing content according to the function of the functional block to which the usage permission message is attached.
The operation / display unit displays the source code of the functional block during the functional block registration process, whereby the type of data acquired by the functional block is given to the functional block. Or whether the processing content of the functional block corresponds to the usage permission message assigned to the functional block, and indicates that it matches or corresponds. If the approval instruction is input, the information generating method of the functional blocks Ru is registered in the registration-management unit.
前記生成したアプリケーションと、前記生成した利用許諾文とに対して署名を付与する請求項5記載の情報生成方法。   The information generation method according to claim 5, wherein a signature is assigned to the generated application and the generated usage agreement. 前記アプリケーション・利用許諾文生成指示が入力されると、前記選択された機能ブロックにより形成される経路が閉路を含むか否かを判断し、含まない場合、前記アプリケーションを生成し、含む場合、アプリケーションを生成しない請求項5又は6記載の情報生成方法。   When the application / use license generation instruction is input, it is determined whether or not the path formed by the selected functional block includes a closed path. If not, the application is generated. The information generation method according to claim 5 or 6, wherein the information is not generated. 前記機能ブロックのうち、外部装置への送信処理を機能として有する処理を実行する機能ブロックに対してフラグを付加する指示を受け付け、
前記フラグが付加される機能ブロックを登録し、
前記アプリケーション・利用許諾文生成指示が入力されると、前記フラグが付加される機能ブロックも含めて前記アプリケーションを生成する請求項5又は7記載の情報生成方法。
Accepting an instruction to add a flag to a functional block that executes a process having a function of a transmission process to an external device among the functional blocks;
Register the functional block to which the flag is added,
The information generation method according to claim 5 or 7, wherein when the application / usage license generation instruction is input, the application is generated including the functional block to which the flag is added.
ンピュータを請求項1乃至4のいずれかに記載の情報生成装置が具備する各部として機能させる情報生成プログラム。 Information generating program to function as each section comprising the information generating apparatus according to computer to any one of claims 1 to 4.
JP2014032240A 2013-08-23 2014-02-21 Information generating apparatus, information generating method, and information generating program Active JP6111210B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014032240A JP6111210B2 (en) 2013-08-23 2014-02-21 Information generating apparatus, information generating method, and information generating program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013173944 2013-08-23
JP2013173944 2013-08-23
JP2014032240A JP6111210B2 (en) 2013-08-23 2014-02-21 Information generating apparatus, information generating method, and information generating program

Publications (2)

Publication Number Publication Date
JP2015062100A JP2015062100A (en) 2015-04-02
JP6111210B2 true JP6111210B2 (en) 2017-04-05

Family

ID=52821429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014032240A Active JP6111210B2 (en) 2013-08-23 2014-02-21 Information generating apparatus, information generating method, and information generating program

Country Status (1)

Country Link
JP (1) JP6111210B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225559A (en) * 2007-03-08 2008-09-25 Nec Corp Apparatus, system, method and program for integrating program license agreement
WO2011080945A1 (en) * 2009-12-28 2011-07-07 三菱電機株式会社 Program creation support device

Also Published As

Publication number Publication date
JP2015062100A (en) 2015-04-02

Similar Documents

Publication Publication Date Title
Hernández Ramos et al. Mqtt security: A novel fuzzing approach
CN109614823B (en) Data processing method, device and equipment
US10380008B2 (en) Identifying implicit assumptions associated with a software product
WO2019072110A1 (en) Method for generating application program, apparatus, system, device, and medium
JP6494609B2 (en) Method and apparatus for generating a customized software development kit (SDK)
US9237130B2 (en) Hierarchical rule development and binding for web application server firewall
US20130019314A1 (en) Interactive virtual patching using a web application server firewall
CN108346028A (en) A kind of business approval processing method, apparatus and system
Montesi Process-aware web programming with Jolie
CN111724169A (en) Service processing system, service processing method, device and equipment
Ferry et al. Security evaluation of the OAuth 2.0 framework
CN108564363B (en) Transaction processing method, server, client and system
Bihis Mastering OAuth 2.0
US11695774B2 (en) System and method for federated identity functionality for API development
Block et al. Designing Evolvable Web APIs with ASP. NET: Harnessing the Power of the Web
Szymoniak et al. Timed analysis of security protocols
CN113746882A (en) User session information storage method and device and electronic equipment
CN112651741A (en) Data processing method and device based on block chain
JP6111210B2 (en) Information generating apparatus, information generating method, and information generating program
US9565201B2 (en) Security threat identification/testing using annotated sequence diagrams
CN113190780B (en) Block chain-based website construction and information query method, device and system
Malladi et al. Adapting constraint solving to automatically analyze UPI protocols
Ylli et al. OAUTH 2.0 IN SECURING APIS
Rivera-Dourado DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool
Selvaraj Building RESTful APIs with Serverless Cloud Platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170113

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170313

R150 Certificate of patent or registration of utility model

Ref document number: 6111210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150