[go: up one dir, main page]

JP5965353B2 - Address resolution system and method - Google Patents

Address resolution system and method Download PDF

Info

Publication number
JP5965353B2
JP5965353B2 JP2013103737A JP2013103737A JP5965353B2 JP 5965353 B2 JP5965353 B2 JP 5965353B2 JP 2013103737 A JP2013103737 A JP 2013103737A JP 2013103737 A JP2013103737 A JP 2013103737A JP 5965353 B2 JP5965353 B2 JP 5965353B2
Authority
JP
Japan
Prior art keywords
attribute
hierarchy
values
node
value
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.)
Expired - Fee Related
Application number
JP2013103737A
Other languages
Japanese (ja)
Other versions
JP2014225113A (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 JP2013103737A priority Critical patent/JP5965353B2/en
Publication of JP2014225113A publication Critical patent/JP2014225113A/en
Application granted granted Critical
Publication of JP5965353B2 publication Critical patent/JP5965353B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、アドレス解決システム及び方法に係り、特に、情報通信ネットワークにおいて、いくつかの条件指定によって、ネットワークに接続されているobject(通信機能もつ家電品や端末などを指す)を特定し、通信できるようにするためのアドレス解決システム及び方法に関する。   The present invention relates to an address resolution system and method, and in particular, in an information communication network, specifies an object (refers to a home appliance or a terminal having a communication function) connected to the network by specifying some conditions, and performs communication. An address resolution system and method for enabling

従来の情報通信ネットワークは、論理空間上のアドレスにより通信対象を指定している。固定電話では電話番号、インターネットではIPアドレスがそれにあたり、これらはネットワーク上の位置とも対応しているので、その位置に接続することで通信が可能となる。   In a conventional information communication network, a communication target is specified by an address in a logical space. This is a telephone number for fixed telephones and an IP address for the Internet, and these correspond to locations on the network, so communication is possible by connecting to that location.

一方で、携帯電話の電話番号やインターネットでのURLは、より上位の論理アドレスまたは名前と解釈できる。つまり、これらは通信相手や情報の論理位置を示すが、ネットワーク上の接続位置は示していないため、前者ではLR(ロケーションレジスタ)、後者ではDNS(ドメインネームサーバ)により、ネットワーク上の接続位置を示すアドレスへの変換(いわゆる名前解決)が必要となる。後者の場合であれば、URLから変換後のIPアドレスを用い、接続する(例えば、非特許文献1,2参照)。   On the other hand, mobile phone numbers and Internet URLs can be interpreted as higher logical addresses or names. In other words, they indicate the logical position of the communication partner and information, but do not indicate the connection position on the network, so the connection position on the network is determined by LR (location register) in the former and DNS (domain name server) in the latter. Conversion to the indicated address (so-called name resolution) is required. In the latter case, the IP address after conversion from the URL is used for connection (for example, see Non-Patent Documents 1 and 2).

弓場英明監修、未来ねっと技術シリーズ ユビキタスネットワーク技術、電気通信協会、2003.Supervised by Hideaki Yumi, Future Netto Technology Series Ubiquitous Network Technology, Telecommunications Association, 2003. http://www.nic.ad.jp/ja/newsletter/No22/080.htmlhttp://www.nic.ad.jp/en/newsletter/No22/080.html

ところで、今後、非常に多数のobjectがネットワークに接続されるようになった時に、個々のobjectに一意に付与された名前をユーザが把握した上で通信を行う代わりに、例えば、ユーザが目の前で落し物をした自転車に乗っている人と通信したい、あるいは、ある地域である時間帯に温度が20度以上を示したセンサと通信したい、といったユーザの通信要求条件(様々な属性に対する検索条件の組み合わせ)を直接指定することでobjectを特定して通信できるようにしたい場合が想定される。   By the way, when a very large number of objects are connected to the network in the future, instead of communicating after the user knows the name uniquely assigned to each object, for example, the user User communication requirements such as communication with a person riding a bicycle that has been lost before or communication with a sensor whose temperature is 20 degrees or higher in a certain time zone (search conditions for various attributes) It is assumed that you want to be able to communicate by specifying the object by directly specifying (combination).

しかし、既存のシステムでは、個々のobjectに一意に付与された名前をユーザが把握した上でその名前を指定して通信を行う。例えば、携帯電話であれば電話番号をユーザが指定することで通信を行う。そのため、上述のような利用形態を実現することは困難である。   However, in the existing system, the user knows the name uniquely assigned to each object, and performs communication by designating the name. For example, in the case of a mobile phone, communication is performed by the user specifying a telephone number. For this reason, it is difficult to realize the use form as described above.

また、object毎に属性(値の情報とIPアドレス)を管理しておき、属性(値の組み合わせ)で指定された条件を満たすobjectを一つずつ調べていき、条件を満たすobjectを特定してそのIPアドレスを特定するという方法も考えられるが、全objectの探索が必要となり、object数や属性数が膨大になってしまうという問題がある。   In addition, attributes (value information and IP addresses) are managed for each object, and objects that satisfy the conditions specified by the attributes (value combinations) are examined one by one, and objects that satisfy the conditions are identified. Although the method of specifying the IP address is also conceivable, there is a problem that all objects need to be searched, and the number of objects and attributes becomes enormous.

本発明は、上記の点に鑑みなされたもので、objectが有する様々な属性(場所や端末種別など)に対する条件指定を行うことで、全object探索を行うことなく、条件にマッチするobjectを特定し、該objectのIPアドレスを特定可能なアドレス解決システム及び方法を提供することを目的とする。   The present invention has been made in view of the above points, and by specifying conditions for various attributes (location, terminal type, etc.) of an object, an object that matches the conditions can be identified without performing an all-object search. An object of the present invention is to provide an address resolution system and method capable of specifying the IP address of the object.

上記の課題を解決するため、一態様によれば、情報通信ネットワークに接続されているobjectが、複数の属性に対する値を有し、該属性の値の組み合わせにより条件指定を行うことでobjectを検索し、該objectのアドレスを特定するアドレス解決システムであって、
リゾルバとobject管理サーバを有し、
前記リゾルバは、
各objectのアドレス及び多属性情報を含む登録要求を取得し、該登録要求に含まれる属性の階層の値を用いて、属性i=i1, i2, …, ik, …, iKとし、属性ikに対して階層mk番目まで値を有するものとし、属性iの階層mにおける値xi,mを用いて、objectの名前となる
In order to solve the above-described problem, according to one aspect, an object connected to an information communication network has values for a plurality of attributes, and an object is searched by specifying a condition by combining the values of the attributes. An address resolution system for identifying the address of the object,
It has a resolver and an object management server
The resolver is
Get the registration request including the address and multi-attribute information of each object, using the value of the hierarchy of attributes included in the registration request, the attribute i = i 1, i 2, ..., i k, ..., and i K , The attribute i k has values up to the hierarchy m k, and the value x i, m in the hierarchy m of the attribute i is used as the name of the object

Figure 0005965353
という値の組から構成されるobjectベクトルを生成し、該objectのアドレスと共に前記object管理サーバに送出する名前付与手段と、
取得した検索要求に含まれる各属性に関する条件が指定された属性の階層の値を用いてクエリベクトルを生成して、前記object管理サーバに送出するクエリベクトル生成手段と、
を有し、
前記object管理サーバは、
各属性と該属性の値の階層に対し、該属性と該属性の値の階層を組み合わせ、階層毎にobjectを管理するためのノードを有するツリーである組み合わせ管理ツリーを格納したobjectデータベースと、
前記リゾルバから前記objectベクトルを取得し、前記組み合わせ管理ツリーを参照して、該objectベクトルに基づいて該組み合わせ管理ツリーのノードに対応付けてobjectのアドレスを登録するobject登録手段と、
前記リゾルバから前記クエリベクトルを取得し、該クエリベクトルに基づいて、前記組み合わせ管理ツリーを参照して、該組み合わせ管理ツリーのノードに登録されているobjectのアドレスを取得するobject検索手段と、を有するアドレス解決システムを提供される。
Figure 0005965353
A name assigning means for generating an object vector composed of a set of values and sending it to the object management server together with the address of the object;
A query vector generation means for generating a query vector using a value of an attribute hierarchy in which a condition relating to each attribute included in the obtained search request is specified, and sending the query vector to the object management server;
Have
The object management server
An object database storing a combination management tree, which is a tree having nodes for managing objects for each hierarchy, by combining the attribute and the attribute value hierarchy for each attribute and the attribute value hierarchy;
Object registration means for acquiring the object vector from the resolver, referring to the combination management tree, and registering an object address in association with a node of the combination management tree based on the object vector;
Object search means for acquiring the query vector from the resolver, referring to the combination management tree based on the query vector, and acquiring an address of an object registered in a node of the combination management tree; Provided address resolution system.

上述のように、本発明によれば、objectが有する様々な属性(場所や端末種別など)に対する条件指定を行うことで、全object探索を行うことなく条件にマッチするobjectを特定し、該objectのIPアドレスを特定可能な名前解決を提供することが可能となる。   As described above, according to the present invention, by specifying a condition for various attributes (location, terminal type, etc.) of an object, an object that matches the condition can be identified without performing an all-object search. It is possible to provide name resolution that can specify the IP address of the server.

本発明が適用されるIPネットワークの基本構成例である。1 is a basic configuration example of an IP network to which the present invention is applied. 本発明のリゾルバの構成例である。It is a structural example of the resolver of this invention. 本発明のobject管理サーバの構成例である。It is a structural example of the object management server of this invention. 本発明の第1の実施の形態における組み合わせ管理ツリーの例である。It is an example of the combination management tree in the 1st Embodiment of this invention. 本発明の第1の実施の形態における名前付与・登録時のフローチャートである。It is a flowchart at the time of the naming assignment and registration in the 1st Embodiment of this invention. 本発明の第1の実施の形態における検索(名前解決)時のフローチャートである。It is a flowchart at the time of the search (name resolution) in the 1st Embodiment of this invention.

以下、図面と共に本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明が適用されるIPネットワークの基本構成例である。   FIG. 1 is a basic configuration example of an IP network to which the present invention is applied.

同図に示すシステムは、IPネットワーク1にobject10、リゾルバ20、object管理サーバ30が接続されている。なお、同図では、IPネットワーク1を例に記載しているが、IPアドレス以外の論理アドレスを用いた他のネットワークであってもよい(つまり、論理アドレスがネットワーク上の位置を指し、かつその論理アドレスを指定すれば所望の宛先までデータやパケットを転送することが可能であれば他のネットワークであってもよい)。ここで、object10はobjectを識別するID、IPアドレスに加え、多属性情報(場所、端末種別、時刻等)有するものとする。   In the system shown in the figure, an object 10, a resolver 20, and an object management server 30 are connected to an IP network 1. In the figure, the IP network 1 is described as an example, but another network using a logical address other than the IP address may be used (that is, the logical address indicates a position on the network and If a logical address is designated, another network may be used as long as data and packets can be transferred to a desired destination). Here, the object 10 has multi-attribute information (location, terminal type, time, etc.) in addition to the ID and IP address for identifying the object.

リゾルバ20は、登録・検索要求受付部21、object名前付与・クエリベクトル生成部22を有し、object名前付与・クエリベクトル生成部22はobject管理サーバ30に接続されている。   The resolver 20 includes a registration / search request receiving unit 21 and an object name assignment / query vector generation unit 22, and the object name assignment / query vector generation unit 22 is connected to the object management server 30.

object管理サーバ30は、object・クエリベクトル受付部31、object登録・検索部32、objectデータベース33、ツリー構築部34を有し、object・クエリベクトル受付部31はリゾルバ20に接続されている。   The object management server 30 includes an object / query vector reception unit 31, an object registration / search unit 32, an object database 33, and a tree construction unit 34, and the object / query vector reception unit 31 is connected to the resolver 20.

上記の構成に基づいて以下に本発明の実施の形態を説明する。   An embodiment of the present invention will be described below based on the above configuration.

[第1の実施の形態]
本実施の形態では、管理サーバ30へ、属性の値、ツリー構造、objectのIPアドレスの登録、及び属性に対する値を指定して検索する処理について説明する。
[First Embodiment]
In the present embodiment, a description will be given of processing for searching for the management server 30 by specifying an attribute value, tree structure, registration of an object IP address, and a value for the attribute.

情報通信ネットワーク1に接続されているobject10(例えば、通信機能を持つ家電品や端末、センサなどを指し、IPアドレスを持つとする)が、複数の属性(例えば、時刻や場所など)に対する値(時刻=2013/1/31、場所=東京/武蔵野市など)を有するとする。ここで、各属性に対する値が階層構造を持つとする。例えば、「場所」という属性に対する値は、都道府県/市町村という2階層からなるものとし、具体的な値としては、例えば、あるobjectは、"東京都/武蔵野市"、という値をもつとする。このように、属性に対する値に関して、階層構造を定義する。object10は、これらの属性のうち、いくつかに対する値を持つものとする。   An object 10 connected to the information communication network 1 (for example, a home appliance having a communication function, a terminal, a sensor, etc., and having an IP address) has a value (for example, time or place) Time = 2013/1/31, place = Tokyo / Musashino City, etc.). Here, it is assumed that the value for each attribute has a hierarchical structure. For example, it is assumed that the value for the attribute “location” is composed of two layers of prefectures / municipalities, and as a specific value, for example, an object has a value of “Tokyo / Musashino City”. . In this way, a hierarchical structure is defined for values for attributes. It is assumed that object10 has values for some of these attributes.

リゾルバ20の登録・検索要求受付部21がobject10から属性、属性に対する値、階層構造を含む登録要求のパケットを受信し、object名前付与・クエリベクトル生成部22が、その属性と属性に対する値の組をobjectの名前として付与する(以下、「名前付与」と記す)。   The registration / search request receiving unit 21 of the resolver 20 receives a registration request packet including attributes, values for attributes, and a hierarchical structure from the object 10, and the object name assignment / query vector generation unit 22 sets pairs of values for the attributes and attributes. Is assigned as the name of the object (hereinafter referred to as “name assignment”).

object管理サーバ30のobjectデータベース33には、上記で定義した各属性、値の階層に対し、それらの属性、値の階層の組み合わせがツリー構造で表現され保持されている。このツリーを「組み合わせ管理ツリー」と呼ぶ。object管理サーバ30のツリー構築部34は、組み合わせ管理ツリーと属性と当該属性の値を対応付けてobjectデータベース33に登録する。当該処理を"indexing"と呼ぶ。   In the object database 33 of the object management server 30, for each attribute and value hierarchy defined above, a combination of the attribute and value hierarchy is expressed and held in a tree structure. This tree is called a “combination management tree”. The tree construction unit 34 of the object management server 30 registers the combination management tree, the attribute, and the value of the attribute in the object database 33 in association with each other. This process is called “indexing”.

検索時には、object10において、いくつかの属性に対する値を指定し、それら属性と属性の値の組を入力し、リゾルバ20の登録・検索要求受付部21において、object10で指定された値を含む検索要求パケットを受信し、object名前付与・クエリベクトル生成部22において、当該検索要求パケットの値に基づいてクエリベクトルを生成し、object管理サーバ30に送り、object管理サーバ30のobject登録・検索部32においてobjectデータベース33を検索してその結果として特定のobjectのアドレスを、リゾルバ20を介してobject10に通知する。当該処理を"名前解決"と呼ぶ。   At the time of a search, values for some attributes are specified in the object 10, a set of these attributes and attribute values is input, and a search request including a value specified by the object 10 is performed in the registration / search request receiving unit 21 of the resolver 20. The packet is received, the object name assignment / query vector generation unit 22 generates a query vector based on the value of the search request packet, sends it to the object management server 30, and the object registration / search unit 32 of the object management server 30 The object database 33 is searched, and as a result, the address of a specific object is notified to the object 10 via the resolver 20. This process is called “name resolution”.

このように、本発明では、属性と属性の値の組とツリー構造をobjectデータベース33に管理しておき、属性と属性の値の組で指定された条件を満たすobjectをツリーに沿って探索することで、全object探索することなく、objectの特定を可能にしている。   As described above, in the present invention, a pair of attributes and attribute values and a tree structure are managed in the object database 33, and an object satisfying a condition specified by the pair of attributes and attribute values is searched along the tree. This makes it possible to specify objects without searching all objects.

<indexing>
上記の組み合わせ管理ツリーの具体的な構成方法(indexing)を以下に示す。
<Indexing>
A specific configuration method (indexing) of the above combination management tree is shown below.

ツリー構築部34は、予め、以下で述べる組み合わせ管理ツリーを生成し、objectデータベース33に保持する。   The tree construction unit 34 generates a combination management tree described below in advance and stores it in the object database 33.

以下にツリー構築部34の処理について説明する。   The process of the tree construction unit 34 will be described below.

属性i(i=1からd)の値の階層構造として、1階層目の値としてLi,1通り、1から2階層目までの値としてLi,2通り、1からMi階層目の値としてLi,Mi通りの値を取りうるとする。また、属性iの階層1からmまでにおいて取りうる値の集合をUi,mとする。このとき、ツリー構築部34は、上記の組み合わせ管理ツリーを以下のように構成する。 As a hierarchical structure of the value of the attribute i (d from i = 1), 1 L i, 1 types as tier value, L i, 2 types as values from 1 to 2 tier, 1 from M i tier It is assumed that the value can take Li and Mi values. In addition, a set of values that can be taken in the hierarchies 1 to m of the attribute i is U i, m . At this time, the tree construction unit 34 configures the combination management tree as follows.

当該組み合わせ管理ツリーの1階層目には、属性iに対する1階層目の各値x i,1∈U i,1を担当するノードを用意する。(以下では、例えば値x i,1を担当するノードをノードx i,1と呼ぶことがある。)つまり、属性iに対して、1階層目で取りうる値のパタン数Li,1個のノードを用意する。属性i=1〜d全体で、 In the first hierarchy of the combination management tree, a node in charge of each value x i, 1 ∈U i, 1 in the first hierarchy for the attribute i is prepared. (Hereinafter, for example , the node in charge of the value x i, 1 may be referred to as the node x i, 1. ) That is, for the attribute i, the number of pattern patterns L i, 1 that can be taken in the first layer Prepare a node. For all attributes i = 1 to d

Figure 0005965353
個のノードとなる。
Figure 0005965353
Nodes.

次に、ツリーの2階層目においては、ツリー1階層目のノードx i,1(例えば属性iが場所名なら、x i,1=東京)を親とし、属性iの2階層目までの値がx i,1/x i,2∈U i,2(例えば、x i,1/x i,2=東京/武蔵野市)となる子ノード、ならびに属性j(>i)の1階層目の値がx j,1∈Uj,1となる子ノードを生成する。つまり、ノードx i,1の配下に、同じ属性iの子ノード以外に、 Next, in the second level of the tree, the nodes x i, 1 in the first level of the tree (for example, if attribute i is a place name, x i, 1 = Tokyo) are the values up to the second level of attribute i. Is a child node with x i, 1 / x i, 2 ∈U i, 2 (eg, x i, 1 / x i, 2 = Tokyo / Musashino City) and the first layer of attribute j (> i) A child node whose value is x j, 1 ∈ U j, 1 is generated. In other words, under the node x i, 1 , besides the child node with the same attribute i,

Figure 0005965353
個の子ノードが生成される。ツリーの3階層目には、2階層目のノードがノードx i,1/x i,2の配下にノードx i,1/x i,2/x i,3および属性j (j>i)の1階層目の値がx j,1であるノードが子ノードとして生成され、かつ2階層目のノードがノードx i,1/x j,1の配下には属性jの2階層目までの値がx j,1/x j,2となるノード、および属性k (k>j)の1階層目の値がxk,1となる子ノードが生成される。
Figure 0005965353
Child nodes are created. The 3 tier tree, second tier nodes node x i, 1 / x i, node 2 under x i, 1 / x i, 2 / x i, 3 , and attribute j (j> i) A node whose value in the first layer is x j, 1 is generated as a child node, and nodes in the second layer are subordinate to node x i, 1 / x j, 1 up to the second layer of attribute j A node whose value is x j, 1 / x j, 2 and a child node whose value of the first hierarchy of the attribute k (k> j) is x k, 1 are generated.

以上を繰り返し実施することで組み合わせ管理ツリーを構成し、各ノードは自身が担当する値を有するobjectを管理する。   By repeatedly performing the above, a combination management tree is formed, and each node manages an object having a value that it is responsible for.

なお、上記の組み合わせ管理ツリーノードは、1つのノードあるいは幾つかのノードをまとめたものが一つの物理サーバ上に存在して、そのようなサーバが地理的に分散配置されていてもよい。   The above combination management tree node may be one node or a group of several nodes on one physical server, and such servers may be geographically distributed.

具体例を用いて上記のindexingの手順を詳しく説明する。   The indexing procedure will be described in detail using a specific example.

例として、属性1=場所名、属性2=端末種別名、の2つを考える。また、場所名については、都道府県名/市町村名のように2階層から成るとする。端末種別名も、大分類名/小分類名の2階層から成るとする。大分類名の値の例としては、OA機器、家電、センサ、などとする。小分類名の値の例としては、大分類名=OAの配下に、プリンタ、サーバ、などが存在し、家電の配下に、冷蔵庫、TV、エアコンなどが存在するとする。   As an example, consider two attributes: attribute 1 = location name and attribute 2 = terminal type name. Also, the place name is assumed to be composed of two layers, such as a prefecture name / city name. The terminal type name is also assumed to be composed of two layers of a major classification name / small classification name. Examples of values of major classification names are OA equipment, home appliances, sensors, etc. As an example of the value of the minor classification name, it is assumed that a printer, a server, etc. exist under the major classification name = OA, and a refrigerator, a TV, an air conditioner, etc. exist under the household appliance.

本発明の手順に従って組み合わせ管理ツリーを構成すると図4のようになる。本図の構成について説明する。
・1階層目:
(1)左側の点線枠内には、場所名1階層目(つまり都道府県名)の値(つまり、北海道、沖縄など)がL1,1(=47個)個列挙されている。
FIG. 4 shows a combination management tree configured according to the procedure of the present invention. The configuration of this figure will be described.
・ First layer:
(1) In the dotted line frame on the left, L 1,1 (= 47) values (namely, Hokkaido, Okinawa, etc.) of the first place name (namely, prefecture name) are listed.

(2)右側の点線枠内には、端末種別名1階層目(つまり大分類名)の値(つまり、OA機器、家電など)がL2,1個列挙されている。 (2) In the dotted frame on the right side, L 2,1 values (namely, OA equipment, home appliances, etc.) of the terminal type name first layer (namely, major classification name) are listed.

・2階層目:
(1)左側の点線枠内には、場所名1階層目の値を持つ親ノードの配下に、場所名2階層目(つまり市町村名)の値(札幌市など)が列挙される。従って、本枠内には、L1,2個の都道府県・市町村名の組が列挙される。
・ Second level:
(1) In the dotted frame on the left side, the values (such as Sapporo city) of the second place name (that is, the city name) are listed under the parent node having the value of the first place name. Therefore, within this frame is, L 1, 2 or set of Government names are listed.

(2)真ん中の点線枠内には、端末種別名1階層目の値が列挙されている。従って、本枠内には、L1,1*L2,1個の都道府県名・端末種別大分類名の組が列挙される。 (2) The value of the first layer of the terminal type name is listed in the middle dotted frame. Therefore, in this frame, a set of L 1,1 * L 2,1 prefecture / terminal classification major classification names is listed.

(3)右側の点線枠内には、端末種別名2階層目(つまり小分類名)の値(つまり、プリンタ、サーバなど)が列挙されている。従って、本枠内には、L2,2個の端末種別大分類・小分類名の組が列挙される。 (3) In the dotted line frame on the right side, the values (namely, printers, servers, etc.) of the terminal type name second level (namely, minor classification name) are listed. Therefore, in this frame, a set of L 2,2 terminal type major classification / minor classification names is listed.

・3階層目:
(1)左側の点線枠内には、端末種別名1階層目の値が列挙される。従って、本枠内には、L1,2*L2,1個の都道府県名・市町村名・端末種別大分類名の組が列挙される。
・ 3rd layer:
(1) Values in the first layer of the terminal type name are listed in the dotted frame on the left side. Therefore, in this frame, a set of L 1,2 * L 2,1 prefecture name, municipality name, and terminal type major classification name is listed.

(2)右側の点線枠内には、端末種別名2階層目の値が列挙される。従って、本枠内には、L1,1*L2,2個の都道府県名・端末種別大分類名・端末種別小分類名の組が列挙される。 (2) Values in the second layer of the terminal type name are listed in the dotted frame on the right side. Therefore, in this frame, a set of L 1,1 * L 2,2 prefecture names / terminal type major classification names / terminal type minor classification names is listed.

・4階層目:端末種別名2階層目の値が列挙される。従って、本枠内には、L1,2* L2,2個の都道府県名・市町村名・端末種別大分類名・端末種別小分類名の組が列挙される。 -4th layer: Terminal type name 2nd layer values are listed. Therefore, in this frame, a set of L 1,2 * L 2,2 prefecture names, municipalities, terminal type major classification names, and terminal classification minor classification names is listed.

以上のように、属性と属性の値の組を、object管理サーバ30のobjectデータベース33のツリーに登録することで、属性と属性の値の階層の組み合わせによるいずれの条件指定に対しても、対応するノードが存在するため、検索時にツリーに沿って条件指定を満たすノードを特定して該ノードで管理されているobjectを読み出すことで、条件を満たすobjectの特定が可能となる。   As described above, by registering a pair of an attribute and an attribute value in the tree of the object database 33 of the object management server 30, it is possible to cope with any condition designation by a combination of the attribute and attribute value hierarchy. Therefore, it is possible to specify an object that satisfies the condition by specifying a node that satisfies the condition specification along the tree and retrieving the object managed by the node at the time of search.

次に、図4の例を用いて、objectデータベース33内の組み合わせ管理ツリーにobjectを格納する際の具体例を説明する。   Next, a specific example of storing an object in the combination management tree in the object database 33 will be described using the example of FIG.

例として、object={場所=北海道/札幌,端末種別=OA/サーバ}の場合を考える。   As an example, consider the case of object = {location = Hokkaido / Sapporo, terminal type = OA / server}.

object格納法方法として2通りを考える。   Two types of object storage methods are considered.

手順(1)として、まずツリー1階層目左側の枠線内の「北海道」ノードと、右側の枠線内の「OA」ノードに登録する。次に、2階層目では、左側の枠線内の「札幌」ノード、中央の枠線内の「OA」ノード、右側の枠線内の「サーバ」に登録する。3階層目では、左側の枠線内の「OA」ノード、右側の枠線内の「サーバ」に登録する。4階層目では「サーバ」ノードに登録する。すなわち、計8ノードに登録されることになる。   As the procedure (1), first, registration is made with the “Hokkaido” node in the left frame line of the first layer of the tree and the “OA” node in the right frame line. Next, in the second layer, registration is made with the “Sapporo” node in the left frame, the “OA” node in the middle frame, and the “server” in the right frame. In the third layer, registration is made in the “OA” node in the left frame and the “server” in the right frame. In the fourth layer, registration is made in the “server” node. That is, a total of 8 nodes are registered.

手順(2)として、北海道/札幌/OA/サーバと辿った4階層目の「サーバ」ノードにのみ登録する。   As the procedure (2), registration is made only to the “server” node in the fourth hierarchy traced to Hokkaido / Sapporo / OA / server.

<登録処理>
以下にobject名前付与とobjectデータベース33への登録処理について説明する。
<Registration process>
The object name assignment and registration process in the object database 33 will be described below.

なお、予めobjectデータベース33には、組み合わせ管理ツリーが格納されているものとして説明する。   In the following description, it is assumed that a combination management tree is stored in the object database 33 in advance.

図5は、本発明の第1の実施の形態における登録時のフローチャートである。   FIG. 5 is a flowchart at the time of registration in the first embodiment of the present invention.

ステップ101)object10がネットワーク1に接続されたら、object10は、object登録要求パケットをリゾルバ20内の登録・検索要求受付部21に送信する。その際、object自身のIPアドレス(=IP#A)、objectID、多属性情報を通知する。   Step 101) When the object 10 is connected to the network 1, the object 10 transmits an object registration request packet to the registration / search request receiving unit 21 in the resolver 20. At that time, the object's own IP address (= IP # A), objectID, and multi-attribute information are notified.

ステップ102)object10からの登録要求パケットがリゾルバ20の登録・検索要求受付部21に到着したら、当該object10の各種情報を読み出し、object名前付与・クエリベクトル生成部22に通知する。object名前付与・クエリベクトル生成部22では、多属性情報から当該objectの名前ベクトルVを生成する(名前付与)。   Step 102) When the registration request packet from the object 10 arrives at the registration / search request receiving unit 21 of the resolver 20, various information of the object 10 is read out and notified to the object name assignment / query vector generation unit 22. The object name assignment / query vector generation unit 22 generates a name vector V of the object from the multi-attribute information (name assignment).

具体的な手順は以下の通りである。   The specific procedure is as follows.

object10が値を有する属性iがi=i1, i2, …, ik, …, iKとし、属性ikに対して階層mk番目まで値を有するものとし、属性iの階層mにおける値xi,mを用いて、objectの名前となるobjectベクトル object10 attribute i is i = i 1 with the value, i 2, ..., i k , ..., and i K, assumed to have a value up to hierarchical m k th for the attribute i k, in the hierarchy m attributes i An object vector that is the name of the object using the values x i, m

Figure 0005965353
を生成する。
Figure 0005965353
Is generated.

生成したベクトルVとIP#Aの組を、object管理サーバ30へ通知する。   The set of the generated vector V and IP # A is notified to the object management server 30.

ステップ103) object管理サーバ30内のobject・クエリベクトル受付部31が、objectベクトルVとIP#Aの組を受信したら、それをobject登録・検索部32に通知する。object登録・検索部32では、以下の(1)または(2)の手順により、objectデータベース33に登録する。
(1)objectデータベース33のツリーに沿ってVで指定された値を担当する全てのノードに該objectを登録する。
(2) objectデータベース33のツリーにおいて、rootから、
Step 103) When the object / query vector receiving unit 31 in the object management server 30 receives the set of the object vector V and IP # A, it notifies the object registration / search unit 32 of it. The object registration / search unit 32 registers in the object database 33 by the following procedure (1) or (2).
(1) The object is registered in all nodes in charge of the value designated by V along the tree of the object database 33.
(2) From the root of the object database 33 tree,

Figure 0005965353
の順に辿っていき、到達した最後のノードのみに該objectを登録する。
以下に、図4を用いてobject登録時の処理を具体的に示す。
Figure 0005965353
The object is registered only in the last node reached.
Hereinafter, the processing at the time of object registration will be specifically described with reference to FIG.

例えば、V={場所名:北海道/札幌,端末種別名:OA/プリンタ}の登録を考える。   For example, consider registration of V = {place name: Hokkaido / Sapporo, terminal type name: OA / printer}.

(1)の手順の場合、図4のツリーの1階層目左側の枠線内の「北海道」ノード,1階層目右側枠線内の「OA」ノード,2階層目左側枠線内の「札幌」ノード,2階層目中央枠線内の「OA」ノード,2階層目右側枠線内の「プリンタ」ノード,3階層目左側枠線内の「OA」ノード,3階層目右側枠線内の「プリンタ」ノード,4階層目枠線内の「プリンタ」ノード,の計8ノードに該objectを登録する.
(2)の手順の場合、4階層目枠線内の「プリンタ」ノードのみに該objectを登録する.
<検索処理>
以下に、object検索(名前解決)時の処理について説明する。
In the case of the procedure (1), the “Hokkaido” node in the left frame of the first layer of the tree in FIG. 4, the “OA” node in the right frame of the first layer, and the “Sapporo” in the left frame of the second layer. Node, “OA” node in the middle border of the second hierarchy, “Printer” node in the right border of the second hierarchy, “OA” node in the left border of the third hierarchy, and in the right border of the third hierarchy Register the object in a total of 8 nodes, the “Printer” node and the “Printer” node in the 4th layer frame.
In the case of step (2), the object is registered only in the “printer” node in the 4th layer frame.
<Search process>
Hereinafter, processing at the time of object search (name resolution) will be described.

図6は、本発明の第1の実施の形態における検索(名前解決)時のフローチャートである。   FIG. 6 is a flowchart at the time of search (name resolution) in the first embodiment of the present invention.

ステップ201)ユーザは端末から各属性に関する条件指定をした情報(例えば{場所名=北海道,端末種別名=OA})を検索要求パケットとしてリゾルバ20に送信する。   Step 201) The user transmits information (for example, {location name = Hokkaido, terminal type name = OA}) in which conditions are specified for each attribute from the terminal to the resolver 20 as a search request packet.

ステップ202)検索要求パケットをリゾルバ20内の登録・検索要求受付部21にて受信したら、各属性に対する条件指定を読み出し、object名前付与・クエリベクトル生成部22へ通知する。object名前付与・クエリベクトル生成部22では、以下の手順により、クエリベクトルqを生成する。   Step 202) When the search request packet is received by the registration / search request receiving unit 21 in the resolver 20, the condition designation for each attribute is read out and notified to the object name assignment / query vector generation unit 22. The object name assignment / query vector generation unit 22 generates a query vector q according to the following procedure.

検索時に条件指定された属性i1, i2, …, ik, …, iKについて、各ikに対して階層1からmkに対する値が指定されているとする。これら値が指定された各階層の値を用いてクエリベクトル Search attribute i 1 which is the condition specified at, i 2, ..., i k , ..., for i K, a value for m k from the hierarchy 1 is specified for each i k. A query vector using the values of each hierarchy where these values are specified

Figure 0005965353
を生成し、object管理サーバ30へ通知する。
Figure 0005965353
Is generated and notified to the object management server 30.

ステップ203)クエリベクトルqをobject管理サーバ30内のobject・クエリベクトル受付部31にて受信したら、それをobject登録・検索部32に通知する。object登録・検索部32では、以下の(1)または(2)の手順により、objectデータベース33を検索する。
(1) objectデータベース33の組み合わせ管理ツリーにおいて、rootから、
Step 203) When the query vector q is received by the object / query vector receiving unit 31 in the object management server 30, the object registration / search unit 32 is notified of it. The object registration / search unit 32 searches the object database 33 by the following procedure (1) or (2).
(1) In the combination management tree of the object database 33, from root,

Figure 0005965353
と辿って行き、最後に到達したノードで管理しているobjectを読み出す。
(2) object登録・検索部32は、objectデータベース33から、ツリーに沿ってqで指定された値を担当するノードを全て訪問し、それらノードを頂点とした部分木に属する全てのノードで管理しているobjectを読み出す。
ステップ204)object登録・検索部32は、以上の(1)または(2)の手順で特定されたobjectの集合に対し、該objectのIPアドレスをリゾルバ20に通知する。
Figure 0005965353
And read the object managed by the last node reached.
(2) The object registration / search unit 32 visits all the nodes in charge of the value specified by q along the tree from the object database 33, and manages them at all nodes belonging to the subtree with those nodes as vertices. Reads the object being used.
Step 204) The object registration / retrieval unit 32 notifies the resolver 20 of the IP address of the object for the set of objects specified by the above procedure (1) or (2).

なお、登録処理時に上記の(1)の方法を用いてVで指定された値を担当する全てのノードにobject登録している場合には、検索時には、(1)の方法によりobjectを検索し、また、登録処理時に上記の(2)の方法を用いて1つのノードのみにobjectを登録している場合には、検索時には(2)の方法を用いてobjectを検索することとする。   If the object specified is registered in all nodes in charge of the value specified by V using the method (1) above during the registration process, the object is searched using the method (1) at the time of search. In addition, when an object is registered in only one node using the method (2) described above during the registration process, the object is searched using the method (2) during the search.

以下に、図4を用いてobject検索時の処理を具体的に示す。   The processing at the time of object search will be specifically shown below using FIG.

例えば、{場所名=北海道}のみの条件指定を考える。   For example, consider a condition specification for {place name = Hokkaido} only.

(1)の手順の場合、図4のツリーの1階層目左側の枠線内の「北海道」ノードで管理されているobjectを読み出せばよい。   In the case of the procedure (1), the object managed by the “Hokkaido” node in the left frame of the first layer of the tree of FIG. 4 may be read.

(2)の手順の場合、該「北海道」ノードを頂点とした部分木に属する全てのノードにアクセスし、それらノードで管理されているobjectを読み出す。   In the case of the procedure (2), all nodes belonging to the subtree having the “Hokkaido” node as a vertex are accessed, and objects managed by those nodes are read.

別の例として、{場所名=北海道,端末種別名=OA}という条件指定を考える。   As another example, consider a condition designation of {place name = Hokkaido, terminal type name = OA}.

(1)の手順の場合、図4のツリーの2階層目中央の枠線内の「OA」ノードで管理されているobjectを読み出せばよい。   In the case of the procedure (1), the object managed by the “OA” node in the frame line at the center of the second hierarchy of the tree in FIG. 4 may be read.

(2)の手順の場合、図4のツリーにおいて、北海道/OA(=2階層目の中央の枠線内)、および、北海道/(市町村名指定なし)/OA/(=2階層目で北海道内の各市町村ノード全てを対象として、それぞれの配下の「OA」ノードを頂点とした部分木に属する全てのノード)にアクセスし、それらノードで管理されているobjectを読み出す。   In the case of the procedure of (2), in the tree of FIG. 4, Hokkaido / OA (= in the middle frame of the second hierarchy) and Hokkaido / (no municipality designation) / OA / (= 2 Hokkaido in the second hierarchy) All the municipalities nodes in the list are accessed, and all nodes belonging to the subtree having the subordinate “OA” nodes as vertices are accessed, and objects managed by these nodes are read.

[第2の実施の形態]
本実施の形態では、object検索を行う際に、第1の実施の形態のように組み合わせ管理ツリーで該当するノードを特定したら、そのノードで管理しているobject(の集合)に対して組み合わせ管理ツリーで管理している属性(1次属性とよぶ)以外の属性(2次属性と呼ぶ)に関する条件を指定することで通信したいobjectを絞り込む。
[Second Embodiment]
In this embodiment, when an object search is performed, if a corresponding node is specified in the combination management tree as in the first embodiment, combination management is performed on the object (set) managed by the node. The objects to be communicated are narrowed down by specifying a condition related to an attribute (referred to as a secondary attribute) other than an attribute managed by the tree (referred to as a primary attribute).

例えば、属性の値が階層構造で表現されないような属性(センサの気温や端末の大きさなど値が連続値を取る属性の場合など)に対してobjectが値を有するとし、そのような属性についても条件指定してobjectを特定したい場合(例:気温≧20度)は、まず、組み合わせ管理ツリーを用いてそこで管理される階層の組について条件指定を行ってobjectの集合を特定し、その集合の中から、さらに気温≧20度を満たすobjectに絞り込む。あるいは、本発明で述べた組み合わせ管理ツリーには条件指定される可能性の高い属性のみを用いることとし、それら属性と当該属性値の組で該当objectの集合をまず抽出し、それ以外の属性に対する指定条件については、2次属性としてもよい。   For example, if an object has a value for an attribute whose attribute value is not represented in a hierarchical structure (such as a sensor temperature or terminal size that has a continuous value), such an attribute If you want to specify an object by specifying the condition for (for example, temperature ≧ 20 degrees), first specify the set of objects by specifying the condition for the set of hierarchies managed there using the combination management tree, From the set, further narrow down to objects that satisfy the temperature ≧ 20 degrees. Alternatively, in the combination management tree described in the present invention, only attributes that are highly likely to be specified are used, and a set of corresponding objects is first extracted from the combination of these attributes and the attribute values, and the other attributes are then extracted. The specified condition may be a secondary attribute.

本実施の形態では、上記の図6のステップ203の処理が異なる。以下、ステップ203'として説明する。   In the present embodiment, the processing of step 203 in FIG. 6 is different. Hereinafter, this will be described as step 203 ′.

本実施の形態では、組み合わせ管理ツリーを構成する際に用いた1次属性情報のみならず2次属性情報についても、object10を管理するノードが保有しているものとする。また、検索時には1次属性ならびに2次属性に対する条件指定があったとし、その指定条件がリゾルバ20を介して、object管理サーバ30内のobject・クエリベクトル受付部31に通知されているとする。なお,クエリベクトルは1次属性に対する条件指定により構成されているとする.
ステップ203')クエリベクトルqをobject管理サーバ30内のobject・クエリベクトル受付部31にて受信したら、それをobject登録・検索部32に通知する。object登録・検索部32では、以下の(1)または(2)の手順により、objectデータベース33を検索する。
(1) objectデータベース33の組み合わせ管理ツリーにおいて、rootから、
In the present embodiment, it is assumed that the node that manages the object 10 holds not only the primary attribute information used when configuring the combination management tree but also the secondary attribute information. Further, it is assumed that conditions for primary attributes and secondary attributes are specified at the time of retrieval, and the specified conditions are notified to the object / query vector receiving unit 31 in the object management server 30 via the resolver 20. It is assumed that the query vector is configured by specifying conditions for the primary attribute.
Step 203 ′) When the query vector q is received by the object / query vector receiving unit 31 in the object management server 30, it is notified to the object registration / search unit 32. The object registration / search unit 32 searches the object database 33 by the following procedure (1) or (2).
(1) In the combination management tree of the object database 33, from root,

Figure 0005965353
と辿って行き、最後に到達したノードで管理しているobjectを読み出す。
(2) objectデータベース33の組み合わせ管理ツリーに沿ってqで指定された値を担当するノードを全て訪問し、それらノードを頂点とした部分木に属する全てのノードで管理しているobjectを読み出す。
Figure 0005965353
And read the object managed by the last node reached.
(2) Visits all the nodes in charge of the value specified by q along the combination management tree of the object database 33, and reads out the objects managed by all the nodes belonging to the subtree with those nodes as vertices.

上記手順で特定されたobjectの集合に対して、2次属性に関する条件を指定することで特定したいobjectを絞り込む。   The object to be specified is narrowed down by specifying a condition regarding the secondary attribute for the set of objects specified in the above procedure.

具体例として、objectデータベースの各ノードにおいて、2次属性に関してR-tree(非特許文献3:A. Guttman, "R-Trees: A Dynamic Index Structure for Spatial Searching," ACM SIGMOD 1984.、非特許文献4:L. Arge et al., "The Priority R-tree: a practically efficient and worst-case optimal R-tree," SIGMOD 2004.)やKD-tree(非特許文献5:http://en.wikipedia.org/wiki/K-d_tree)と呼ばれるツリー型のデータ構造で各objectの値を管理しているとする。例えば2次属性として、気温という属性と、端末の大きさという属性があったとする。その際、objectは2次元空間上にマッピングされる。この2次元空間を複数のエリアに分割してそれをroot配下の各ノードがそれぞれのエリアを担当するとし、更にそのエリアを分割して自身の子ノードが担当するというツリー構造を構築する。検索時には、この例では1次元目と2次元目それぞれに対してレンジを指定し、そのレンジと重なるノードを辿って行くことで条件を満たすobjectを特定する。   As a specific example, in each node of the object database, R-tree (Non-patent document 3: A. Guttman, “R-Trees: A Dynamic Index Structure for Spatial Searching,” ACM SIGMOD 1984., non-patent document) 4: L. Arge et al., “The Priority R-tree: a practically efficient and worst-case optimal R-tree,” SIGMOD 2004.) and KD-tree (Non-Patent Document 5: http: //en.wikipedia Assume that the value of each object is managed by a tree-type data structure called (.org / wiki / K-d_tree). For example, it is assumed that there are an attribute called temperature and an attribute called terminal size as secondary attributes. At that time, the object is mapped on the two-dimensional space. The two-dimensional space is divided into a plurality of areas, and a tree structure is constructed in which each node under the root takes charge of each area, and further the area is divided and its child nodes take charge. At the time of retrieval, in this example, a range is specified for each of the first dimension and the second dimension, and an object that satisfies the condition is identified by tracing a node that overlaps the range.

このように2次属性についても検索処理を行い、その結果特定されたobjectを読み出す。   In this way, the secondary attribute is also searched, and the object specified as a result is read.

[第3の実施の形態]
第1の実施の形態では、組み合わせ管理ツリーの1階層目において、各属性iに対する1階層目の値を列挙して、各々に対するノードを生成していたが、本実施の形態では、そうする代わりに、以下の手順で組み合わせ管理ツリーを構成する。
[Third Embodiment]
In the first embodiment, in the first layer of the combination management tree, the values of the first layer for each attribute i are listed and the nodes for each are generated, but in this embodiment, instead of doing so In addition, the combination management tree is configured in the following procedure.

まず属性間で優先順位付けを行い、優先度が高い順に属性が並び替えられているとする。つまり、属性iは属性j(j>i)より高優先とする。ツリーの1階層目には、属性1の1階層目の値のみを列挙する。ツリーの2階層目には、属性1の2階層目の値、または属性2の1階層目の値を列挙し、属性3以降の1階層目の値は含めない。ツリーの3階層目には、属性1の3階層目の値、または属性2の1階層目または2階層目の値、または属性3の1階層目の値を列挙し、属性4以降の1階層目の値は含めない。   First, it is assumed that prioritization is performed among attributes, and the attributes are rearranged in descending order of priority. That is, attribute i has higher priority than attribute j (j> i). Only the value of the first layer of attribute 1 is listed in the first layer of the tree. In the second layer of the tree, the values of the second layer of attribute 1 or the values of the first layer of attribute 2 are listed, and the values of the first layer after attribute 3 are not included. In the third level of the tree, list the value of the third level of attribute 1, the value of the first or second level of attribute 2, or the value of the first level of attribute 3, and the first level after attribute 4 Does not include eye values.

以上を繰り返し実施して組み合わせ管理ツリーを構成する。   The above is repeated and the combination management tree is configured.

object検索時には、第1の実施の形態では任意の属性に対して条件指定有無を選択できたのに対して、ここでは属性1からJまでは条件指定を行うこととし、検索手順は第1の実施の形態の方法と同じとする。   At the time of object search, in the first embodiment, the presence / absence of condition designation can be selected for an arbitrary attribute. On the other hand, here, conditions are designated for attributes 1 to J, and the search procedure is the first. It is the same as the method of the embodiment.

図4の例の場合、例えば、属性1=場所名、属性2=端末種別名とし、検索時には場所名については条件指定を必須とし、端末種別名については条件指定の有無は選択可能とする。その場合、図4の1階層目の右側の枠線内のノードと2階層目の右側の枠線内のノードは不要となる。こうすることで、管理すべきノード数を削減できる。   In the case of the example of FIG. 4, for example, attribute 1 = location name and attribute 2 = terminal type name are set, condition specification is required for the location name at the time of search, and whether or not condition specification is specified can be selected for the terminal type name. In that case, the nodes in the right frame of the first hierarchy and the nodes in the right frame of the second hierarchy in FIG. 4 are not necessary. By doing so, the number of nodes to be managed can be reduced.

以上、第1〜第3の実施の形態で説明したように、本発明によれば、objectが有する様々な属性(場所や端末種別など)に対する条件指定を行うことで、全object探索を行うことなく条件にマッチするobjectを特定し、該objectのIPアドレスを特定可能な名前解決を提供することが可能となる。   As described above in the first to third embodiments, according to the present invention, all objects are searched by specifying conditions for various attributes (location, terminal type, etc.) of the object. It is possible to identify an object that matches a condition and provide name resolution that can identify the IP address of the object.

数値例を示す。2つの属性i(i=1,2)があるとし、いずれも2階層の値を持つとし、1階層目ではLi,1=24通り、2階層目まではLi,2=210通りの値を持つとする。これら属性の組に対して図4の組み合わせ管理ツリーを構成したとする。また、これら2つの属性以外に8個の2次属性(各属性は連続値を値として持つ)を各objectは有するとする。また、object数N=228とする。また各objectはいずれの属性に対しても一様に分布した値を持つとする。 A numerical example is shown. It is assumed that there are two attributes i (i = 1, 2), both have values of two layers, and Li, 1 = 2 = 4 in the first layer, and Li, 2 = 2 10 in the second layer Suppose we have street values. Assume that the combination management tree of FIG. 4 is configured for these attribute sets. In addition to these two attributes, each object has eight secondary attributes (each attribute has a continuous value as a value). Further, the object number N = 2 28. Each object is assumed to have a uniformly distributed value for any attribute.

以下に検索の例として、例1、例2を示す。   Examples 1 and 2 are shown below as search examples.

例1)
もし検索条件として属性1に対して2階層目まで、属性2に対しても2階層目まで指定があった場合には、図4のツリーを辿る探索コストのみ(属性iの各階層の値をチェックするのみ)で、N=228個(約2.7億)のobjectの中から、N×(1/210)2=256個のobjectに絞り込むことが可能となる。
Example 1)
If the search condition is specified up to the second hierarchy for attribute 1 and up to the second hierarchy for attribute 2, only the search cost for tracing the tree in FIG. It is possible to narrow down to N × (1/2 10 ) 2 = 256 objects from N = 2 28 (about 270 million) objects.

例2)
属性1の1階層目のみ条件指定を行い、2次属性に対する範囲指定でobjectをさらに絞り込みたい場合を考える。なお2次属性に対しては、各objectは各属性に対し0から1の間の一様分布に従う値を有するとする。また、2次属性に対する検索条件は、各属性に対しレンジ長0.5のレンジ指定を行うとする。この場合、属性1での検索により、objectはN×1/16=224(=N'とおく)に絞り込まれる。次に2次属性での検索にkd-treeのようなツリー構造を用いてレンジ指定検索を行ったとする。8つの各属性に対してレンジ長0.5のレンジ指定を行った場合、object数はN'×(0.5) 8=216(約6.5万)個に絞り込まれる。この2次属性検索(レンジ指定検索)の計算量に関し、本発明の第1の実施の形態の方法で述べた(1)の方法と(2)の方法それぞれについて計算量を評価する。
Example 2)
Suppose that you want to specify conditions only for the first layer of attribute 1 and further narrow down objects by specifying a range for secondary attributes. For secondary attributes, each object has a value according to a uniform distribution between 0 and 1 for each attribute. Further, the search condition for the secondary attribute is assumed to specify a range with a range length of 0.5 for each attribute. In this case, the object is narrowed down to N × 1/16 = 2 24 (= N ′) by the search with the attribute 1. Next, it is assumed that a range designation search is performed using a tree structure such as kd-tree for the search with the secondary attribute. If a range with a range length of 0.5 is specified for each of the eight attributes, the number of objects is narrowed down to N ′ × (0.5) 8 = 2 16 (about 65,000). Regarding the calculation amount of the secondary attribute search (range designation search), the calculation amount is evaluated for each of the method (1) and the method (2) described in the method of the first embodiment of the present invention.

(1)の方法の場合、組み合わせ管理ツリーの属性1の1階層目に位置するノードにN'個のobjectが存在する。このN'個のobjectに対してレンジ指定による検索を行ったときの計算量を以下のように評価する。   In the case of the method (1), N ′ objects exist at the node located in the first layer of the attribute 1 of the combination management tree. The amount of calculation when a search by range specification is performed for the N ′ objects is evaluated as follows.

レンジ指定用のツリーとして、各ノードが28個の子ノードを持ち、各子ノードは親ノードが担当する8次元空間上のエリアを1/28個に分割した一つのサブエリアを担当するとする。このとき、検索条件で指定された範囲と、子ノードの担当範囲の一部が重なった場合、該子ノード以降をさらに探索する必要があるため、この一部重なったノード数を計算量として評価した(それを全object数Nで正規化した)。このとき、(1)の方法の場合、計算量は9.10e-05であった。
(2)の方法の場合、条件を満たす属性1の1階層目のあるノードを頂点として、その配下にある該ツリーのleafノード216個各々が管理するobjectに対して、レンジ指定検索を行うことになる。この場合、各leafノード1個当り、N'/216=256個のobjectが存在する。1leafノード当りでの計算量を216倍した値が全体での計算量となり、その計算量は3.91e-03であった。
As a tree for range specified, each node has two eight child nodes, if each child node is responsible for sub-areas of one obtained by dividing the area of the 8-dimensional space in which the parent node is responsible to 1/2 8 To do. At this time, if the range specified by the search condition and a part of the assigned range of the child node overlap, it is necessary to search further after the child node, so the number of nodes that partially overlap is evaluated as the amount of calculation. (It was normalized by the total number of objects N). At this time, in the case of the method (1), the calculation amount was 9.10e-05.
In the case of the method (2), a range-specific search is performed on objects managed by each of 16 leaf nodes 2 of the tree under the first node of attribute 1 that satisfies the condition as a vertex. It will be. In this case, there are N ′ / 2 16 = 256 objects for each leaf node. The value calculated by multiplying the calculation amount per leaf node by 2 16 was the total calculation amount, and the calculation amount was 3.91e-03.

以上のように、計算量を全object探索よりも小さくできていることが分かる。特に、例2のように最初の条件指定で特定されるobject数N'が大きく、2次属性での検索を行う場合には、(1)の方法がより効果的であると考えられる。   As described above, it can be seen that the amount of calculation can be made smaller than the entire object search. In particular, the method (1) is considered to be more effective when the number of objects N ′ specified by the first condition specification is large as in Example 2 and the search is performed with the secondary attribute.

なお、上記のリゾルバ20及びobject管理サーバ30の各構成要素の動作をプログラムとして構築し、リゾルバ、object管理サーバとして利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of each component of the resolver 20 and the object management server 30 is constructed as a program and installed and executed on a computer used as the resolver and object management server, or distributed via a network. Is possible.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

1 IPネットワーク
10 object
20 リゾルバ
21 登録・検索要求受付部
22 object名前付与・クエリベクトル生成部
30 object管理サーバ
31 object・クエリベクトル受付部
32 object登録・検索部
33 objectデータベース
34 ツリー構築部
1 IP network 10 object
20 Resolver 21 Registration / Search Request Reception Unit 22 Object Name Assignment / Query Vector Generation Unit 30 Object Management Server 31 Object / Query Vector Reception Unit 32 Object Registration / Search Unit 33 Object Database 34 Tree Construction Unit

Claims (7)

情報通信ネットワークに接続されているobjectが、複数の属性に対する値を有し、該属性の値の組み合わせにより条件指定を行うことでobjectを検索し、該objectのアドレスを特定するアドレス解決システムであって、
リゾルバとobject管理サーバを有し、
前記リゾルバは、
各objectのアドレス及び多属性情報を含む登録要求を取得し、該登録要求に含まれる属性の階層の値を用いて、属性i=i1, i2, …, ik, …, iKとし、属性ikに対して階層mk番目まで値を有するものとし、属性iの階層mにおける値xi,mを用いて、objectの名前となる
Figure 0005965353
という値の組から構成されるobjectベクトルを生成し、該objectのアドレスと共に前記object管理サーバに送出する名前付与手段と、
取得した検索要求に含まれる各属性に関する条件が指定された属性の階層の値を用いてクエリベクトルを生成して、前記object管理サーバに送出するクエリベクトル生成手段と、
を有し、
前記object管理サーバは、
各属性と該属性の値の階層に対し、該属性と該属性の値の階層を組み合わせ、階層毎にobjectを管理するためのノードを有するツリーである組み合わせ管理ツリーを格納したobjectデータベースと、
前記リゾルバから前記objectベクトルを取得し、該objectベクトルに基づいて該組み合わせ管理ツリーを参照して、該組み合わせ管理ツリーのノードに対応付けてobjectのアドレスを登録するobject登録手段と、
前記リゾルバから前記クエリベクトルを取得し、該クエリベクトルに基づいて、前記組み合わせ管理ツリーを参照して、該組み合わせ管理ツリーのノードに対応するobjectのアドレスを取得するobject検索手段と、
を有することを特徴とするアドレス解決システム。
This is an address resolution system in which an object connected to an information communication network has values for a plurality of attributes, and an object is searched by specifying a condition by a combination of the attribute values to identify the address of the object. And
It has a resolver and an object management server
The resolver is
Get the registration request including the address and multi-attribute information of each object, using the value of the hierarchy of attributes included in the registration request, the attribute i = i 1, i 2, ..., i k, ..., and i K , The attribute i k has values up to the hierarchy m k, and the value x i, m in the hierarchy m of the attribute i is used as the name of the object
Figure 0005965353
A name assigning means for generating an object vector composed of a set of values and sending it to the object management server together with the address of the object;
A query vector generation means for generating a query vector using a value of an attribute hierarchy in which a condition relating to each attribute included in the obtained search request is specified, and sending the query vector to the object management server;
Have
The object management server
An object database storing a combination management tree, which is a tree having nodes for managing objects for each hierarchy, by combining the attribute and the attribute value hierarchy for each attribute and the attribute value hierarchy;
Object registration means for acquiring the object vector from the resolver, referring to the combination management tree based on the object vector, and registering an object address in association with a node of the combination management tree;
Object search means for acquiring the query vector from the resolver, referring to the combination management tree based on the query vector, and acquiring an address of an object corresponding to a node of the combination management tree;
An address resolution system comprising:
前記object登録手段は、
前記組み合わせ管理ツリーに沿って、前記名前ベクトルで指定された値を担当する全てのノードにobjectのアドレスを登録する手段、
または、
前記組み合わせ管理ツリーのrootから、
Figure 0005965353
の順に辿っていき、到達した最後のノードのみに前記objectのアドレスを登録する手段、のいずれかを含む請求項1記載のアドレス解決システム。
The object registration means
Means for registering the address of the object in all nodes in charge of the value designated by the name vector along the combination management tree;
Or
From the root of the combination management tree,
Figure 0005965353
2. The address resolution system according to claim 1, further comprising: means for registering the address of the object only in the last node that has been reached.
前記object検索手段は、
前記組み合わせ管理ツリーにおいて、rootから
Figure 0005965353
の順に辿っていき、最後に到達したノードで管理しているobjectを読み出す手段、
または、
前記組み合わせ管理ツリーに沿って、前記クエリベクトルで指定された値を担当するノードを全て訪問し、それらのノードを頂点とした部分木に属するノードで管理しているobjectを読み出す手段、
のいずれかを含む請求項1記載のアドレス解決システム。
The object search means includes
In the combination management tree, from root
Figure 0005965353
Means to read the object managed by the node that has reached the last,
Or
Means for reading all objects managed by the nodes belonging to the subtree having the nodes as vertices, visiting all the nodes in charge of the values specified by the query vector along the combination management tree;
The address resolution system according to claim 1, comprising:
前記object検索手段は、
前記組み合わせ管理ツリーの前記ノードが、該組み合わせ管理ツリーを構築する際に用いた属性(1次属性)以外の属性(2次属性)の情報も保持している場合に、
前記リゾルバから取得した前記1次属性に関するクエリベクトルに基づいて、前記組み合わせ管理ツリーのrootから
Figure 0005965353
の順に辿っていき、最後に到達したノードで管理しているobjectを読み出し、該objectが前記リゾルバから取得した前記2次属性に関する条件を満たすかチェックする手段、
または、
前記リゾルバから取得した前記1次属性に関するクエリベクトルに基づいて、前記組み合わせ管理ツリーに沿って、前記クエリベクトルで指定された値を担当するノードを全て訪問し、それらのノードを頂点とした部分木に属するノードで管理しているobjectを読み出し、該objectが前記リゾルバから取得した前記2次属性に関する条件を満たすかチェックする手段、
のいずれかを含む請求項1記載のアドレス解決システム。
The object search means includes
When the node of the combination management tree also holds information on attributes (secondary attributes) other than the attributes (primary attributes) used when constructing the combination management tree,
Based on the query vector related to the primary attribute obtained from the resolver, from the root of the combination management tree
Figure 0005965353
Means for reading the object managed by the node that has arrived last, and checking whether the object satisfies the condition relating to the secondary attribute acquired from the resolver,
Or
Based on the query vector related to the primary attribute acquired from the resolver, all nodes that are in charge of the value specified by the query vector are visited along the combination management tree, and the subtree having those nodes as vertices Means for reading an object managed by a node belonging to, and checking whether the object satisfies a condition relating to the secondary attribute acquired from the resolver;
The address resolution system according to claim 1, comprising:
前記組み合わせ管理ツリーを、
属性i(i=1からd)の値の階層構造として、1階層目の値としてLi,1通り、1から2階層目までの値としてLi,2通り、1からMi階層目の値としてLi,Mi通りの値を取りうるものとし、該属性iの階層1からmまでにおいて取りうる値の集合をUi,mとし、
1階層目には、属性iに対する1階層目の各値x i,1∈U i,1を担当するノードを用意し、
2階層目においては、前記1階層目のノードx i,1を親とし、属性iの2階層目までの値がx i,1/x i,2∈U i,2となる子ノード、ならびに属性j(>i)の1階層目の値がx j,1∈Uj,1となる子ノードを生成し、
3階層目には、前記2階層目のノードがノードx i,1/x i,2の配下にノードx i,1/x i,2/x i,3および属性j (j>i)の1階層目の値がx j,1であるノードが子ノードとして生成され、かつ該2階層目のノードがノードx i,1/x j,1の配下には属性jの2階層目までの値がx j,1/x j,2となるノード、および属性k (k>j)の1階層目の値がxk,1となる子ノードを生成する処理を繰り返すことにより生成する第1の組み合わせ管理ツリー生成手段を更に有する
請求項1記載のアドレス解決システム。
The combination management tree is
As a hierarchical structure of the value of the attribute i (d from i = 1), 1 L i, 1 types as tier value, L i, 2 types as values from 1 to 2 tier, 1 from M i tier It is assumed that L i, Mi values can be taken as values, and a set of values that can be taken in layers 1 to m of the attribute i is U i, m ,
In the first hierarchy, prepare a node in charge of each value x i, 1 ∈ U i, 1 in the first hierarchy for the attribute i,
In the second layer, the node x i, 1 in the first layer is the parent, and the child nodes whose values up to the second layer of the attribute i are x i, 1 / x i, 2 ∈U i, 2 , and Generate a child node whose value of the first layer of attribute j (> i) is x j, 1 ∈U j, 1 ,
3 The tier, the second tier of nodes node x i, 1 / x i, node 2 under x i, 1 / x i, 2 / x i, 3 and attribute j for (j> i) A node whose value in the first hierarchy is x j, 1 is generated as a child node, and the nodes in the second hierarchy are subordinate to the node x i, 1 / x j, 1 , up to the second hierarchy of attribute j First generated by repeating the process of generating a node whose value is x j, 1 / x j, 2 and a child node whose value of the first layer of the attribute k (k> j) is x k, 1 The address resolution system according to claim 1, further comprising a combination management tree generation unit.
前記組み合わせ管理ツリーを、
属性間で優先順位付けを行い、優先度が高い順に属性を並び替え、
1階層目には、属性1の1階層目の値のみを列挙し、
2階層目には、属性1の2階層目の値、または属性2の1階層目の値を列挙し、属性3以降の1階層目の値は含めず、
3階層目には、属性1の3階層目の値、または属性2の1階層目または2階層目の値、または属性3の1階層目の値を列挙し、属性4以降の1階層目の値は含めない、処理を繰り返し実施して生成する第2の組み合わせ管理ツリー生成手段を更に有する
請求項1記載のアドレス解決システム。
The combination management tree is
Prioritize among attributes, sort attributes in descending order of priority,
In the first layer, list only the values of the first layer of attribute 1,
In the second layer, list the values of the second layer of attribute 1 or the values of the first layer of attribute 2, and do not include the values of the first layer after attribute 3,
In the third hierarchy, list the values of the third hierarchy of attribute 1, the values of the first or second hierarchy of attribute 2, or the values of the first hierarchy of attribute 3, and the first hierarchy after attribute 4 The address resolution system according to claim 1, further comprising second combination management tree generation means that does not include a value and that is generated by repeatedly performing processing.
情報通信ネットワークに接続されているobjectが、複数の属性に対する値を有し、該属性の値の組み合わせにより条件指定を行うことでobjectを検索し、該objectのアドレスを特定するアドレス解決方法であって、
リゾルバとobject管理サーバを有するシステムにおいて、
前記object管理サーバが
各属性と該属性の値の階層に対して該属性と該属性の値の階層を組み合わせ、階層毎にobjectを管理するためのノードを有するツリーである組み合わせ管理ツリーを格納したobjectデータベースを有し、
前記リゾルバにおいて、
各objectのアドレス及び多属性情報を含む登録要求を取得し、該登録要求に含まれる属性の階層の値を用いて、属性i=i1, i2, …, ik, …, iKとし、属性ikに対して階層mk番目まで値を有するものとし、属性iの階層mにおける値xi,mを用いて、objectの名前となる
Figure 0005965353
という値の組から構成されるobjectベクトルを生成し、該objectのアドレスと共に前記object管理サーバに送出する名前付与ステップと、
前記object管理サーバにおいて、
前記リゾルバから前記objectベクトルを取得し、該objectベクトルに基づいて前記組み合わせ管理ツリーを参照して、該組み合わせ管理ツリーのノードに対応付けてobjectのアドレスを登録するobject登録ステップと、
を行う登録過程と、
前記リゾルバにおいて、
取得した検索要求に含まれる各属性に関する条件が指定された属性の階層の値を用いてクエリベクトルを生成して、前記object管理サーバに送出するクエリベクトル生成ステップと、
前記object管理サーバにおいて、
前記リゾルバから前記クエリベクトルを取得し、該クエリベクトルに基づいて、前記組み合わせ管理ツリーを参照して、該組み合わせ管理ツリーのノードに対応するobjectのアドレスを取得するobject検索ステップと、
を行う検索過程と、
からなることを特徴とするアドレス解決方法。
This is an address resolution method in which an object connected to an information communication network has values for a plurality of attributes, and an object is searched by specifying a condition by a combination of the attribute values, and the address of the object is specified. And
In a system that has a resolver and an object management server,
The object management server combines the attribute and the attribute value hierarchy for each attribute and the attribute value hierarchy, and stores a combination management tree that is a tree having nodes for managing objects for each hierarchy. has an object database,
In the resolver,
Get the registration request including the address and multi-attribute information of each object, using the value of the hierarchy of attributes included in the registration request, the attribute i = i 1, i 2, ..., i k, ..., and i K , The attribute i k has values up to the hierarchy m k, and the value x i, m in the hierarchy m of the attribute i is used as the name of the object
Figure 0005965353
A naming step for generating an object vector composed of a set of values and sending the object vector together with the address of the object to the object management server;
In the object management server,
An object registration step of acquiring the object vector from the resolver, referring to the combination management tree based on the object vector, and registering an object address in association with a node of the combination management tree;
Registration process,
In the resolver,
A query vector generation step of generating a query vector using a value of an attribute hierarchy in which a condition relating to each attribute included in the acquired search request is specified, and sending the query vector to the object management server;
In the object management server,
An object search step of acquiring the query vector from the resolver, referring to the combination management tree based on the query vector, and acquiring an address of an object corresponding to a node of the combination management tree;
A search process that performs
An address resolution method comprising:
JP2013103737A 2013-05-16 2013-05-16 Address resolution system and method Expired - Fee Related JP5965353B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013103737A JP5965353B2 (en) 2013-05-16 2013-05-16 Address resolution system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013103737A JP5965353B2 (en) 2013-05-16 2013-05-16 Address resolution system and method

Publications (2)

Publication Number Publication Date
JP2014225113A JP2014225113A (en) 2014-12-04
JP5965353B2 true JP5965353B2 (en) 2016-08-03

Family

ID=52123755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013103737A Expired - Fee Related JP5965353B2 (en) 2013-05-16 2013-05-16 Address resolution system and method

Country Status (1)

Country Link
JP (1) JP5965353B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115125B (en) * 2020-09-27 2024-04-26 北京人大金仓信息技术股份有限公司 Database access object name resolution method and device and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195414A (en) * 2000-01-13 2001-07-19 Efgenex Corp Information management system using spatial data
JP2002117039A (en) * 2000-10-12 2002-04-19 Mitsubishi Electric Corp Network managing method using management information base

Also Published As

Publication number Publication date
JP2014225113A (en) 2014-12-04

Similar Documents

Publication Publication Date Title
CN104052661B (en) Container name server and container name analytic method
Zeinalipour-Yazti et al. The threshold join algorithm for top-k queries in distributed sensor networks
Wang et al. An experimental study on geospatial indexing for sensor service discovery
US20090138444A1 (en) Method of searching metadata servers
CN110413845B (en) Resource storage method and device based on Internet of things operating system
Li et al. A decentralized locality-preserving context-aware service discovery framework for internet of things
Moraru et al. Exposing real world information for the web of things
CN106126646A (en) Set up the method and device of the inverted index of Internet of Things smart machine
KR101411321B1 (en) A management method and apparatus for a neighboring node having characteristics similar to those of an active node, and a recording medium on which a program for implementing the method is recorded
CN113641869B (en) Digital object access method and system in man-machine-object fusion environment
Moeini et al. Service specification and discovery in IoT networks
JP5965353B2 (en) Address resolution system and method
Gulati et al. Software-defined content dissemination scheme for Internet of healthcare vehicles in COVID-like scenarios
Yuan et al. Partitioning social networks for fast retrieval of time-dependent queries
Kang et al. A Semantic Service Discovery Network for Large‐Scale Ubiquitous Computing Environments
Nikbazm et al. Agent-based resource discovery in cloud computing using bloom filters
JP5957411B2 (en) Address resolution system and method
JP5466191B2 (en) Access control system, server management device, data storage device, access control method, server management program, and data storage program
JP2016035684A (en) Information management system, information management method, and information management program
Kawahara et al. Name resolution based on set of attribute-value pairs of real-world information
JP5909199B2 (en) Address resolution system and method
JP5886729B2 (en) Name resolution system and method
WO2015020575A1 (en) Communication network node
CN115499362B (en) IP configuration information management method and device and electronic equipment
Xu et al. Odsa: Chord-based object discovery service architecture for the Internet of Things

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160701

R150 Certificate of patent or registration of utility model

Ref document number: 5965353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees