WO2011070716A1 - 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents
情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体 Download PDFInfo
- Publication number
- WO2011070716A1 WO2011070716A1 PCT/JP2010/006557 JP2010006557W WO2011070716A1 WO 2011070716 A1 WO2011070716 A1 WO 2011070716A1 JP 2010006557 W JP2010006557 W JP 2010006557W WO 2011070716 A1 WO2011070716 A1 WO 2011070716A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- event
- key
- attribute
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Definitions
- the present invention relates to an information processing system, a control method, and a non-transitory computer-readable medium storing a program.
- An event distribution system that can distribute data (hereinafter referred to as “event”) composed of a plurality of attributes such as ID, position, and time to an application.
- An event is composed of one or more attributes.
- An attribute is composed of an attribute name and an attribute value. For example, when generating an event based on the temperature of 20 ° C. and the humidity of 60% observed by the temperature / humidity sensor, the event has an attribute whose attribute name is “temperature” and the attribute value for the event is 20 ° C. The attribute name is “humidity”, and the attribute value corresponding to the attribute name is 60%.
- the event distribution system receives (subscribes) a subscription ID, request type, and subscription from an external program (subscriber).
- the subscription ID is information for identifying a subscription.
- the request type is information for identifying a registration request or a deletion request.
- the subscription is composed of an event condition (event condition) and a notification destination application ID (application ID). In the case of a registration request, the subscription ID and subscription are stored in pairs in the event distribution system.
- an event generated from an external program is input (published) to the event distribution system.
- the event distribution system matches the event condition of the subscription in which the event is registered, the event distribution system transmits the event to the application specified by the application ID specified as a pair with the event condition.
- Event conditions can be described as event conditions.
- an attribute condition an attribute name and a range of attribute values corresponding to the attribute name can be specified.
- the event includes the attribute name specified by the attribute condition, and the attribute value range specified by the attribute condition is an attribute for the attribute name described in the event.
- An event is said to meet the event condition if it contains a value. For example, it is assumed that an event condition in which the attribute name is “temperature” and the attribute value range for the attribute name is “10 ° C. or higher and 30 ° C. or lower” is registered in the event distribution system.
- the attribute name is “temperature”, the attribute value for the attribute name is “20 ° C.”, and the attribute name is “humidity” and the attribute value for the attribute name is “60%”.
- an event containing As for the attribute name “temperature” specified by the event condition “20 ° C.” is included in “10 ° C. to 30 ° C.”. Therefore, it can be said that the event matches the event condition. Since the attribute name “humidity” is not specified in the event condition, it does not affect whether the event condition is met.
- FIG. 19 is a diagram illustrating a technique described in Non-Patent Document 1.
- the event shown in FIG. 19 publication in FIG. 19
- the event condition (subscription in FIG. 19) are composed of attribute name x and attribute name y.
- the event describes that the attribute value for the attribute name x is 100 and the attribute value for the attribute name y is 200.
- the event condition describes that an attribute value range for attribute name x is 50 to 150 and an attribute value range for attribute name y is 150 to 250.
- the event meets the event condition.
- the system shown in FIG. 19 is composed of subsystems (hubs) that correspond one-to-one with each attribute name.
- a hub constitutes one or more nodes in a ring shape. When viewed from a certain node, the next node on the ring is called a successor.
- a node belonging to a hub manages an attribute value range (attribute value range) for an attribute name corresponding to the hub.
- Non-Patent Document 2 discloses a method for determining a cross hub adjacent node.
- the cross hub adjacent node of the successor of the node is set as the cross hub adjacent node link of the node.
- the maintenance process is started.
- a random walk is performed at each of the other hubs to determine a new cross hub adjacent node. Random walk refers to accessing (hopping) any node recorded in the routing table from the node that starts the random walk, and further hopping from the accessed node by the same means as described above. Repeat until the specified number of hops is reached. Then, the node reached when the predetermined number of hops is reached is determined as the cross hub adjacent node.
- a resource assigned to a certain node from a hub other than the hub to which the node belongs may be a resource on another information processing apparatus at that time. In that case, since a node cannot operate across a plurality of information processing apparatuses, a new node must be constructed.
- each node needs to perform a random walk at each hub in order to determine a cross hub adjacent node. Therefore, there is a problem that processing costs for performing a random walk are required. This also increases the load on the nodes included in each hub.
- An object of the present invention is to provide an information processing system, a control method, and a program that can easily adjust a load applied to each node in order to solve the above-described problems.
- the information processing system receives event information including an attribute name indicating arbitrary information and an attribute value indicating a value of the arbitrary information, and includes the received event information.
- An information processing system comprising a plurality of first nodes for processing event information including a predetermined attribute name and an attribute value within a predetermined range, wherein the first node receives the event information
- a key information generating unit that generates first key information obtained by converting the attribute name and the attribute value into a format that can be compared in magnitude from the attribute name and the attribute value included in the event information, and the predetermined attribute
- a processing target information storage unit that holds in advance processing target information indicating name and second key information of an attribute value within a predetermined range, and a first information generated from the event information when the event information is received Key Information and the processing target information are compared to determine whether or not the event information is to be processed, and the processing target determination unit determines that the event information is not to be processed.
- an information transfer unit that transmits the event information or the event information and the
- the control method receives event information including an attribute name indicating arbitrary information and an attribute value indicating a value of the arbitrary information, and among the received event information, A node control method for processing event information including a predetermined attribute name and an attribute value within a predetermined range.
- event information including an attribute name indicating arbitrary information and an attribute value indicating a value of the arbitrary information
- a node control method for processing event information including a predetermined attribute name and an attribute value within a predetermined range.
- the program according to the third aspect of the present invention receives event information including an attribute name indicating arbitrary information and an attribute value indicating the value of the arbitrary information.
- a program that controls a node that processes event information including an attribute name and an attribute value within a predetermined range, and when the event information is received, the attribute name and attribute value included in the event information Generating first key information converted into a size-comparable format, and when receiving the event information, the first key information generated from the event information, the predetermined attribute name, and the predetermined
- the range of the minimum value to the maximum value that can be taken by the attribute value according to the embodiment of the present invention, the range of the attribute value specified by the event condition, and the ratio of the range of the attribute value to the minimum value to the maximum value It is a figure which shows an example of the relationship. It is a flowchart which shows the operation
- FIG. 1 is a configuration diagram of an information processing system that is a schematic configuration of an event distribution system according to an embodiment of the present invention.
- the information processing system 5 includes a plurality of nodes 50 and 60.
- the node 50 includes a key information generation unit 51, a processing target determination unit 52, a processing target information storage unit 53, and an information transfer unit 54.
- the configuration of the node 60 is the same as the configuration of the node 50, and thus description thereof is omitted.
- Each of the nodes 50 and 60 receives event information including an attribute name and an attribute value.
- the attribute name indicates arbitrary information.
- the attribute value indicates the value of this arbitrary information.
- Each of the nodes 50 and 60 sets event information including a predetermined attribute name and an attribute value within a predetermined range in the received event information as a processing target.
- the key information generating unit 51 When receiving the event information, the key information generating unit 51 generates first key information obtained by converting the attribute name and the attribute value into a format that can be compared in size from the attribute name and the attribute value included in the event information. To do.
- the processing target determination unit 52 compares the first key information generated from the event information with the processing target information stored in the processing target information storage unit 53. Thus, the processing target determination unit 52 determines whether or not this event information is a processing target.
- the processing target information storage unit 53 holds processing target information in advance.
- the processing target information indicates second key information of a predetermined attribute name and an attribute value within a predetermined range.
- the information transfer unit 54 transmits the event information and the first key information generated from the event information to another node. .
- the key information generation unit 51 converts the attribute name and the attribute value included in the event information into a format in which the attribute name and the attribute value can be compared in size. Is generated. Then, the key information generation unit 51 outputs the event information and the first key information generated from the event information to the processing target determination unit 52.
- the processing target determination unit 52 acquires the event information and the first key information output from the key information generation unit 51
- the processing target determination unit 52 acquires the processing target information stored in the processing target information storage unit 53.
- the process target determination part 52 determines whether the acquired event information is made into a process target by comparing the acquired 1st key information and process target information.
- the information transfer unit 54 transmits the first key information generated from the event information to the other nodes together with the event information.
- FIG. 2 is a configuration diagram of the event distribution system.
- the event distribution system 1 is composed of one or more nodes.
- the event delivery system manages a finite value (key) space. An order is defined between the different keys.
- Each node manages a range of consecutive keys.
- a key generation function for generating a key obtained by converting an attribute name and an attribute value included in an event and a subscription into a format that can be compared in size is prepared. That is, the key generation function is a function having a key as a return value.
- a key generation function for generating a key is represented by f (n, v). Note that n is a character string and v is an arbitrary real number. Assume that the order is defined for each attribute name and attribute value. That is, a size relationship is defined for the attribute name.
- f (n, v) is a function satisfying f (n1, v1)> f (n2, v2) if n1> n2.
- v1 and v2 are arbitrary values.
- f1 (n, v) An example of a key generation function is shown.
- the key generation function exemplified here is described as f1 (n, v).
- an attribute name is represented by a character string. It is assumed that the attribute value is represented by a decimal integer of up to 3 digits (0 to 999).
- f1 (n, v) first converts an attribute value into a character string. When the attribute value is from 0 to 99, f1 (n, v) adds 0 to the upper digit and becomes 3 characters. For example, the attribute value 20 becomes a character string “020” after conversion.
- the function f1 (n, v) then combines the attribute name character string and the attribute value character string with a delimiter in between.
- a character string obtained by f1 (n, v) is expressed as a bit string by a character code in an information processing apparatus such as a PC (Personal computer) or a server.
- f2 (n, v) has a predetermined number of bits as a return value from the top of the bit string expressing the character string obtained by f1 (n, v) by a character code. For example, the upper 160 bits of the bit string are used as the return value of f2.
- the character code is 4 bytes
- “x: 020” is 160 bits (4 bytes ⁇ 5 characters ⁇ 8). Therefore, the entire bit string expressing “x: 020” by the character code is the return value.
- the event distribution system 1 exemplifies a case where there are seven nodes from node a to node g.
- the attribute name “x” whose range of possible attribute values is an integer of 0 or more and less than 320 and the attribute name “y” whose range of possible attribute values is 0 or more and less than 320 are 2 Assume that one attribute is supported. That is, each attribute value has a minimum value and a maximum value.
- An example in which the order relation of character strings is ":" ⁇ "0" ⁇ "1" ⁇ ... ⁇ "9" ⁇ "a" ⁇ "b" ⁇ ... ⁇ "z" will be described.
- the node a manages a character string of “x: 160” or more and smaller than “x: 240”.
- the key “x: 200” is managed by the node a.
- the nodes a to g are constituted by an information processing apparatus or a part thereof. That is, one node may be composed of one information processing apparatus. One node may be configured by allocating an arbitrary amount of resources such as a memory, a CPU (Central Processing Unit), and a hard disk included in the information processing apparatus. That is, a plurality of nodes may be configured from one information processing apparatus.
- FIG. 3 is a configuration diagram of the node.
- the node 10 includes a subscription transfer information generation unit 11, an event transfer information generation unit 12, a message determination unit 13, a subscription arrangement control unit 14, a subscription management unit 15, an event condition match determination unit 16, And a message transfer unit 17.
- the configuration of the node 20 is the same as the configuration of the node 10, and thus the description thereof is omitted. That is, each of the nodes a to g included in the event distribution system 1 has the same configuration as that of the node 10.
- the subscription transfer information generation unit 11 generates information necessary for transferring the subscription from the subscription input from the subscriber 31.
- the event transfer information generation unit 12 generates information necessary for transferring the event from the event input from the publisher 32.
- the information generated by the subscription transfer information generation unit 11 and the event transfer information generation unit 12 includes a key.
- the subscription transfer information generation unit 11 and the event transfer information generation unit 12 function as a key information generation unit 51.
- the message determination unit 13 determines whether the message sent to the node 10 is a subscription or an event.
- the subscription placement control unit 14 controls to which node the subscription is placed.
- the subscription management unit 15 stores the subscription in the node.
- the subscription management unit 15 corresponds to an event condition information storage unit.
- the event condition match determination unit 16 determines whether the received event matches the event condition.
- the message transfer unit 17 transfers a message including an event and a message including a subscription ID, a subscription, and a request type to a node determined by an input key.
- the message transfer unit 17 functions as a processing target determination unit 52 and an information transfer unit 54.
- FIG. 4 is a flowchart showing the operation in the subscription transfer information generation unit 11.
- the input subscription is first processed by the subscription transfer information generation unit 11 (S101).
- the subscription transfer information generation unit 11 selects one attribute from the attribute name group that configures the event condition that is a component of the received subscription (S102).
- the subscription transfer information generation unit 11 generates a key from the selected attribute name and the minimum value of the attribute value range for the selected attribute name (S103).
- the subscription transfer information generation unit 11 inputs the generated key and subscription as a pair to the message transfer unit 17. As a result, the message including the subscription is transferred to the node that manages the key.
- FIG. 5 shows an example of the relationship between the minimum value to the maximum value range that the attribute value can take, the attribute value range specified in the event condition, and the ratio of the attribute value range to the minimum value to the maximum value. Show. If the number of possible attribute values for the attribute name “x” is 100 and the size of the attribute value range specified by the event condition is 10, the ratio is 1/10.
- the ratio is 1/6. Therefore, in this example, the attribute name “x” having a smaller ratio is selected. Then, a key is generated from the attribute name “x” and the attribute value “11” that is the minimum value of the attribute value range corresponding to the attribute name “x”.
- the key generation function described above is used to generate a key from the attribute name and attribute value.
- the subscription is registered to that node. Therefore, when the attribute name with the smallest ratio is selected, the number of nodes to which subscriptions are registered can be reduced.
- FIG. 6 is a flowchart showing the operation of the event transfer information generation unit 12.
- the event input from the publisher 32 is first processed by the event transfer information generation unit 12 (S111).
- the event transfer information generation unit 12 performs the following processing for each attribute name constituting the received event.
- the event transfer information generation unit 12 inputs an attribute name n and an attribute value v for the attribute name n to a key generation function to generate a key (S112).
- the event transfer information generation unit 12 transfers the message to the node that manages the key by inputting the generated key and event as a pair to the message transfer unit 17 (S113).
- FIG. 7 is a flowchart showing the operation of the message determination unit 13.
- the message determination unit 13 receives a key and a message from the message transfer unit 17 (S121). The message determination unit 13 determines the content of the received message (S122). If the message is a subscription, the message determination unit 13 inputs the key and the message to the subscription arrangement control unit 14 and ends the process (S123). On the other hand, if the message is an event, the message determination unit 13 inputs the message to the event condition match determination unit 16 using the key and the message, and ends the process (S124).
- FIG. 8 is a flowchart showing the operation of the subscription arrangement control unit 14.
- the subscription arrangement control unit 14 receives a key and a message from the message determination unit 13 (S131). Thereafter, the subscription placement control unit 14 performs a subscription registration / deletion process (S132) and a subscription transfer process (S133). Hereinafter, the two processes will be described.
- FIG. 9 is a flowchart showing the subscription registration / deletion process.
- the subscription placement control unit 14 first determines the request type of the message (S141). When the message is a registration request, the subscription placement control unit 14 registers the type and generates a subscription operation request from the subscription ID and the subscription included in the message (S142). The subscription arrangement control unit 14 inputs the generated subscription operation request to the subscription management unit 15 (S144). On the other hand, if the message is a deletion request, the subscription placement control unit 14 deletes the type and generates a subscription operation request from the subscription ID included in the message (S143). The subscription arrangement control unit 14 inputs the generated subscription operation request to the subscription management unit 15 (S144).
- FIG. 10 is a flowchart showing the subscription transfer process.
- the subscription arrangement control unit 14 generates a key (target key) from the attribute name included in the message and the maximum value of the attribute value range for the attribute name (S151).
- the subscription arrangement control unit 14 determines whether or not the target key is included in the key range managed by the node executing this process (S152). If the target key is not included in the key range, the subscription placement control unit 14 generates a minimum key value (new key) managed by the successor (S153). Thereafter, the subscription placement control unit 14 designates the successor as the next hop, and inputs a new key and message to the message transfer unit 17 (S154).
- FIG. 11 is a flowchart showing the operation of the subscription management unit 15.
- the subscription management unit 15 has a subscription management table for managing subscription IDs and subscriptions.
- An example of the subscription management table is shown in FIG.
- the subscription management table stores a record in which a subscription ID is associated with a subscription.
- the subscription management unit 15 receives a subscription operation request from the subscription placement control unit 14 or the event condition match determination unit 16 (S161).
- the subscription operation request includes a type as one of its constituent elements. Types include registration, deletion, and reference. The components of the subscription operation request are different for each type.
- FIG. 13 shows a subscription operation request when the type is registration. When the type is registration, the subscription operation request includes a subscription ID and a subscription in addition to the type.
- FIG. 14 shows a subscription operation request when the type is deletion. When the type is deletion, the subscription operation request includes a subscription ID in addition to the type.
- FIG. 15 shows a subscription operation request when the type is “reference”. When the type is a reference, the subscription operation request is composed of only the type.
- the subscription management unit 15 When receiving the subscription operation request, the subscription management unit 15 first refers to the type of the received subscription operation request (S162). If the type is registration, the subscription management unit 15 adds a subscription and subscription ID pair as a record to the subscription management table (S163). When the type is deletion, the subscription management unit 15 deletes the record with the same subscription ID from the subscription management table (S164). If the type is reference, the subscription management unit 15 returns the subscription management table to the caller (S165).
- FIG. 16 is a flowchart showing the operation of the event condition match determination unit 16.
- the event condition match determination unit 16 When the event condition match determination unit 16 receives an event from the message transfer unit 17 (S 171), the event condition match determination unit 16 inputs a subscription operation request with reference to the type to the subscription management unit 15, thereby subscribing from the subscription management unit 15. A management table is acquired (S172). The event condition match determination unit 16 executes the following processing for each record r in the acquired subscription management table. First, the event condition match determination unit 16 determines whether an event matches an event condition that is one of the components of the subscription of the record r (S173). If the event matches the event condition, then the event condition match determination unit 16 sets the subscription ID and event pair of the record r with the application ID that is one of the components of the subscription of the record r. It transmits to the identified application 40 (S174).
- FIG. 17 is a flowchart showing the operation of the message transfer unit 17.
- the message transfer unit 17 receives a key and a message from the subscription transfer information generation unit 11, the event transfer information generation unit 12, the subscription arrangement control unit 14, or a node other than the node on which this process operates (S181). ).
- the message transfer unit 17 determines whether or not the received key is included in the key range managed by the node in which the process is performed (S182).
- the node 10 including the message transfer unit 17 has an arbitrary storage device such as a memory or a hard disk.
- key range information indicating a key range managed by the node 10 is stored in the storage device. Then, the message transfer unit 17 makes the determination here by comparing the received key with the key range information. This storage device corresponds to the processing target information storage unit 53.
- the message transfer unit 17 When the key is included in the key range managed, the message transfer unit 17 inputs the key and the message to the message determination unit 13 (S183). If the key is not included in the managed key range, the message transfer unit 17 determines whether a successor is designated as the next hop node (S184). When the successor is not designated as the next hop node, the message transfer unit 17 refers to the routing table and determines a transfer destination node (S185). Then, the message transfer unit 17 transfers the key and the message to the next hop node (S186).
- the message transfer unit 17 has a routing table.
- the routing table is stored in, for example, an arbitrary storage device included in the message transfer unit 17.
- a method for generating a routing table, a maintenance method, and a method for determining a message transfer destination node with reference to the routing table depend on the routing protocol.
- the routing protocol the method described in Section 3.3 of Non-Patent Document 2 can be used.
- the routing protocol may be arbitrarily determined. For example, among the nodes having “key to send> minimum value of key range managed by the node”, “(key to send) ⁇ (key range managed by the node) The key and the message are transmitted so as to reach the node having the minimum value.
- FIG. 18 is a diagram illustrating an operation example of the event distribution system 1.
- the node g which is a component of the event distribution system 1 receives the subscription s (50 ⁇ x ⁇ 150 & 150 ⁇ y ⁇ 250, app1) from the subscriber 31 (S80).
- the node g selects the attribute x from the attribute x and the attribute y constituting the subscription s in the subscription transfer information generation unit 11 (S81).
- the subscription transfer information generation unit 11 generates a key “x: 050” from the attribute x and 50 which is the minimum value of the attribute value range of the attribute x.
- the subscription transfer information generation unit 11 receives a subscription ID and a request type from the subscriber 31 together with the subscription.
- the subscription transfer information generation unit 11 generates a message by adding the selected attribute name “x” to the subscription ID, the subscription, and the request type.
- the subscription transfer information generation unit 11 inputs the key and message to the message transfer unit 17.
- the message transfer unit 17 transmits the input key and message to the node that manages the key according to the routing protocol.
- the key and the message transmitted from the message transfer unit 17 of the node g are finally passed through the message transfer unit 17 of zero or more nodes, and finally to the message transfer unit of the node c managing the key “x: 050”.
- Reach (S82) the key and message transmitted from the node g may reach the node c via the nodes e and f, or may directly reach the node c from the node g.
- the node c in which “(the key to be transmitted) ⁇ (the minimum value of the key range managed by the node)” is the minimum is set. Key and message arrive.
- the message transfer unit 17 of the node c sends the key and message to the message determination unit 13. input.
- the message determination unit 13 inputs a key and a message to the subscription arrangement control unit 14 because the message is composed of a subscription.
- the subscription placement control unit 14 registers a subscription ID and subscription pair in the subscription management unit 15. That is, here, the case where the request type is a registration request is illustrated.
- the key “x: 150” generated from the attribute name “x” included in the message and the maximum value 150 of the attribute value range for the attribute name “x” is the key range [“x: 000 ",” x: 080 "). Therefore, the subscription arrangement control unit 14 inputs the input key and the minimum key value “x: 080” managed by the successor to the message transfer unit 17.
- a node that manages a key range [“x: 080”, “x: 160”) following the key range [“x: 000”, “x: 080”] managed by the node c b is set. That is, when the key “x: 150” generated from the maximum value 150 of the message attribute value range is not included in the node c, the key range that follows the key range managed by the node c is managed. Node b to be included. Therefore, the node c transmits the message to the node b and the key “x: 080” generated from the minimum value of the key range managed by the node b so that the message subscription is also registered in the node b. . Therefore, the message transfer unit 17 is designated by the node b, which is the successor, as the next hop from the subscription placement control unit 14. Then, the message transfer unit 17 transmits the input key and message to the node b.
- the key and message transmitted from the message transfer unit 17 of the node c reach the node b (S83). Since the received key “x: 080” is included in the managed key range [“x: 080”, “x: 160”), the message transfer unit 17 of the node b sends the key and message to the message determination unit 13. input. Then, similarly to the processing in the node c, the subscription ID and subscription constituting the message are registered in the subscription management unit 15 of the node.
- the key “x: 150” generated from the attribute name “x” included in the message and the maximum value 150 of the attribute value range for the attribute name “x” is the key range [“x: 080 "," x: 160 "). Therefore, the subscription placement control unit 14 does not input a key and a message to the message transfer unit 17. Therefore, no message is transferred. As a result of these processes, the subscription s is held in the node c and the node b.
- the event transfer information generation unit 12 inputs the key and message to the message transfer unit 17 for each key, using the event as a message. Then, the message transfer unit 17 transmits the input key and message to the node that manages the key according to the routing protocol.
- the message is transferred to the node that manages each key.
- the key “x: 100” and the message transmitted with the key reach the node b (S85).
- the key “y: 200” and the message transmitted together with the key reach the node e (S86).
- the message transfer unit 17 of the node b manages the key range [“x: 080”, “x: 160” that the received key “x: 100” manages. “)”, A key and a message are input to the message determination unit 13.
- the message determination unit 13 inputs a key and a message to the event condition match determination unit 16 because the message is composed of an event.
- the event condition match determination unit 16 acquires a subscription management table from the subscription management unit 15.
- the message transfer unit 17 of the node e manages the key range [“y: 200”, “y” that the received key “y: 200” manages. : 320 "), a key and a message are input to the message determination unit 13.
- the message determination unit 13 inputs a key and a message to the event condition match determination unit 16 because the message is composed of an event.
- a node is managed by a key generated by converting an attribute name and attribute value included in an event into a format in which the attribute name and attribute value can be compared in size. It is possible to determine whether or not the event is included in the key range to be performed. In other words, it is possible to determine whether or not an event is a processing target of a node. Therefore, even when two or more nodes having different attribute names are included in the same hub, it can be determined by simply comparing whether or not the event or the subscription is a processing target of the node. That is, nodes that manage two or more different attribute names can be included in the same hub. Therefore, it is not necessary to have a hub corresponding to each attribute name. Thereby, when adjusting the load in each node, the load can be adjusted only by adjusting the range of attribute values managed by each node. Therefore, it is possible to easily adjust the load applied to each node.
- a node always transmits a subscription or event received from a subscriber or publisher and a key generated from the subscription or event to other nodes. Then, the determination is made based on the key received by another node.
- a node may send only subscriptions or events to other nodes.
- the subscription transfer information generation unit or the event transfer information generation unit generates a key from the received subscription or event, and performs determination based on the generated key.
- the node according to the present invention described above supplies a computer with a program that realizes the functions of the above-described embodiments, and the CPU or a CPU or MPU (Micro Processing Unit) included in the computer executes the program. It is possible to configure.
- Non-transitory computer readable media include various types of tangible storage media (tangible storage medium). Examples of non-transitory computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included.
- the program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
- the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
- the present invention may be implemented. It is included in the form.
- Event distribution system Information processing system 10, 20, 50, 60 Node 11 Subscription transfer information generation unit 12 Event transfer information generation unit 13 Message determination unit 14 Subscription placement control unit 15 Subscription management unit 16 Event condition match Determination unit 17 Message transfer unit 51 Key information generation unit 52 Processing target determination unit 53 Processing target information storage unit 54 Information transfer unit
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
あるノードに、該ノードが属するハブとは別のハブから割り当てられるリソースが、その時点で、該ノードが動作する情報処理装置とは、別の情報処理装置上のリソースである場合がある。その場合には、ノードは複数の情報処理装置上にまたがって動作することはできないため、新規にノードを構築しなければならない。
まず、図1を参照して、本発明の実施の形態にかかるイベント配信システムの概要について説明する。図1は、本発明の実施の形態にかかるイベント配信システムの概要構成となる情報処理システムの構成図である。
ノード50、60のそれぞれは、属性名と、属性値とを含むイベント情報を受信する。属性名は、任意の情報を示す。属性値は、この任意の情報の値を示す。ノード50、60のそれぞれは、受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする。
処理対象判定部52は、イベント情報を受信した場合に、このイベント情報から生成された第1のキー情報と、処理対象情報格納部53に格納される処理対象情報とを比較する。ことによって、処理対象判定部52は、このイベント情報を処理対象とするか否かを判定する。
処理対象情報格納部53は、処理対象情報を予め保持する。処理対象情報は、所定の属性名及び所定の範囲内の属性値の第2のキー情報を示す。
情報転送部54は、処理対象判定部52がイベント情報を処理対象としないと判定した場合に、このイベント情報と、このイベント情報から生成された第1のキー情報とを他のノードに送信する。
まず、キー情報生成部51は、イベント情報を受信した場合に、このイベント情報に含まれる属性名と属性値から、この属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成する。そして、キー情報生成部51は、イベント情報と、そのイベント情報から生成された第1のキー情報を処理対象判定部52に出力する。
処理対象判定部52は、キー情報生成部51から出力されたイベント情報及び第1のキー情報を取得すると、処理対象情報格納部53に格納されている処理対象情報を取得する。そして、処理対象判定部52は、取得した第1のキー情報と処理対象情報とを比較することによって、取得したイベント情報を処理対象とするか否かを判定する。
情報転送部54は、処理対象判定部52がイベント情報を処理対象としないと判定した場合に、このイベント情報と共に、このイベント情報から生成された第1のキー情報を他のノードに送信する。
ノード10は、サブスクリプション転送情報生成部11と、イベント転送情報生成部12と、メッセージ判定部13と、サブスクリプション配置制御部14と、サブスクリプション管理部15と、イベント条件合致判定部16と、メッセージ転送部17と、を有する。なお、ノード20の構成については、ノード10の構成と同様であるため、説明を省略する。つまり、イベント配信システム1に含まれるノードa~gのそれぞれは、ノード10の構成と同様である。
イベント転送情報生成部12は、パブリッシャ32から入力されたイベントから、そのイベントを転送するために必要な情報を生成する。サブスクリプション転送情報生成部11及びイベント転送情報生成部12が生成する情報には、キーが含まれる。サブスクリプション転送情報生成部11及びイベント転送情報生成部12は、キー情報生成部51として機能する。
メッセージ判定部13は、ノード10宛に送られてきたメッセージがサブスクリプションかイベントかを判定する。
サブスクリプション管理部15は、サブスクリプションをノード内に記憶する。サブスクリプション管理部15は、イベント条件情報格納部に相当する。
イベント条件合致判定部16は、受信したイベントがイベント条件に合致するかどうかを判定する。
メッセージ転送部17は、入力されるキーで決まるノードに対して、イベントを含んだメッセージや、サブスクリプションID、サブスクリプション及び要求種別を含んだメッセージを転送する。メッセージ転送部17は、処理対象判定部52及び情報転送部54として機能する。
サブスクリプション操作要求は、その構成要素の1つとして種別を含む。種別には、登録、削除、参照がある。種別ごとにサブスクリプション操作要求の構成要素は異なる。種別が登録の場合のサブスクリプション操作要求を図13に示す。種別が登録の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDとサブスクリプションとから構成される。種別が削除の場合のサブスクリプション操作要求を図14に示す。種別が削除の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDから構成される。種別が参照の場合のサブスクリプション操作要求を図15に示す。種別が参照の場合、サブスクリプション操作要求は、種別のみから構成される。
5 情報処理システム
10、20、50、60 ノード
11 サブスクリプション転送情報生成部
12 イベント転送情報生成部
13 メッセージ判定部
14 サブスクリプション配置制御部
15 サブスクリプション管理部
16 イベント条件合致判定部
17 メッセージ転送部
51 キー情報生成部
52 処理対象判定部
53 処理対象情報格納部
54 情報転送部
Claims (10)
- 任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする第1のノードと、
前記第1のノードは、前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、当該属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成するキー情報生成手段と、
前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示す処理対象情報を予め保持する処理対象情報格納手段と、
前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定する処理対象判定手段と、
前記処理対象判定手段が前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他の第1のノードに送信する情報転送手段と、を有する情報処理システム。 - 前記第1のノードは、前記第1のノードが前記イベント情報に応じた処理を実行するためのイベント情報の属性名及び属性値の範囲を示すイベント条件情報を予め保持するイベント条件情報格納手段と、
前記処理対象判定部が前記イベント情報を処理対象とすると判定した場合に、当該イベント情報の属性名及び属性値と、前記イベント条件情報とに基づいて、当該イベント情報に応じた処理を実行するか否かを判定するイベント条件合致判定手段と、を更に有する請求項1に記載の情報処理システム。 - 前記キー情報生成手段は、外部から前記イベント条件情報を受信した場合に、当該イベント条件情報が示す属性名及び属性値の範囲のうち、いずれかの属性名と属性値から、当該属性名及び属性値を大小比較可能な形式に変換した第3のキー情報を生成し、
前記処理対象判定手段は、前記イベント条件情報から生成した第3のキー情報と、前記処理対象情報とを比較することによって、当該イベント条件情報を処理対象とするか否かを判定し、
前記情報転送手段は、前記処理対象判定手段が前記イベント条件情報を処理対象としないと判定した場合に、当該イベント条件情報、又は、当該イベント条件情報及び当該イベント条件情報から生成された第3のキー情報を他の第1のノードに送信する請求項2に記載の情報処理システム。 - 前記第1のノードは、前記イベント条件情報と、当該イベント条件情報を一意に識別する識別情報と、当該イベント条件情報の登録を要求する要求種別情報を受信したときに、前記処理対象判定手段が当該イベント条件情報を処理対象とすると判定した場合は、当該イベント条件情報を当該識別情報と対応付けて前記イベント条件情報格納手段に格納するとともに、前記イベント条件情報の識別情報と、当該イベント条件情報の削除を要求する要求種別情報を受信した場合に、前記イベント条件情報格納手段に格納されているイベント条件情報のうち、当該識別情報に対応付けられたイベント条件情報を削除するイベント条件情報制御手段を更に有する請求項3に記載の情報処理システム。
- 前記属性値は、最小値及び最大値を有し、
前記キー情報生成手段は、前記イベント条件情報が示す属性名及び属性値の範囲のうち、前記最小値乃至最大値に占める当該属性値の範囲の割合が最小となる属性名及び属性値の範囲から第3のキー情報を生成する請求項3又は4に記載の情報処理システム。 - 前記キー情報生成手段は、前記イベント情報又はイベント条件情報の生成元から夫々送信されたイベント情報又はイベント条件情報を受信した場合、前記第1又は第3のキー情報を生成し、
前記情報転送手段は、前記キー情報生成手段が前記第1のキー情報を生成した場合に、前記イベント情報と前記第1のキー情報を送信するとともに、前記キー情報生成手段が前記第3のキー情報を生成した場合に、前記イベント条件情報と前記第3のキー情報を送信する請求項3乃至5のいずれか1項に記載の情報処理システム。 - 前記属性名は、大小関係が定義された文字列であり、
前記キー情報生成手段は、前記属性名をn1、n2とし、前記属性値をv1、v2(v1及びv2は、任意の実数)とし、前記属性名n1及び属性値v1によって生成したキー情報をk1とし、前記属性名n2及び属性値v2によって生成したキー情報をk2としたときに、n1>n2を満たす場合、又は、n1=n2かつv1>v2を満たす場合には、k1>k2となるようにキー情報を生成する請求項1乃至6のいずれか1項に記載の情報処理システム。 - 前記複数の第1のノードは、異なる2以上の前記属性名を有する請求項1乃至7のいずれか1項に記載の情報処理システム。
- 任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とするノードの制御方法であって、
前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、当該属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成し、
前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示し、予め保持されている処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定し、
前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信する制御方法。 - 任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とするノードを制御するプログラムであって、
前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、当該属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成するステップと、
前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示し、予め保持されている処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定するステップと、
前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信するステップと、をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011545052A JP5724880B2 (ja) | 2009-12-09 | 2010-11-09 | 情報処理システム、制御方法およびプログラム |
CN2010800557922A CN102656563A (zh) | 2009-12-09 | 2010-11-09 | 信息处理系统、控制方法及存储程序的非临时性计算机可读介质 |
US13/514,444 US8978048B2 (en) | 2009-12-09 | 2010-11-09 | Information processing system, control method, and non-transitory computer readable medium storing program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-279210 | 2009-12-09 | ||
JP2009279210 | 2009-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011070716A1 true WO2011070716A1 (ja) | 2011-06-16 |
Family
ID=44145283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/006557 WO2011070716A1 (ja) | 2009-12-09 | 2010-11-09 | 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8978048B2 (ja) |
JP (1) | JP5724880B2 (ja) |
CN (1) | CN102656563A (ja) |
WO (1) | WO2011070716A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013047922A (ja) * | 2011-08-29 | 2013-03-07 | Fujitsu Ltd | イベント収集方法及び情報処理装置 |
JP2015153250A (ja) * | 2014-02-17 | 2015-08-24 | 日本電信電話株式会社 | 負荷分散処理装置及び負荷分散処理方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112015005709A2 (pt) * | 2012-09-13 | 2017-07-04 | Thomson Licensing | método de recuperação de mensagem de acesso aleatório de mecanismo de transporte de primeiro a entrar, primeiro a sair |
CN103744737B (zh) * | 2014-01-13 | 2017-07-25 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106004836A (zh) * | 2016-05-30 | 2016-10-12 | 北京小米移动软件有限公司 | 车辆防抱死的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160616A (ja) * | 1993-12-06 | 1995-06-23 | Fuji Xerox Co Ltd | イベント処理装置 |
JPH10275125A (ja) * | 1997-03-31 | 1998-10-13 | Nri & Ncc Co Ltd | 多数のコンピュータが参加する情報分配応答システム |
JP2003167808A (ja) * | 2001-11-29 | 2003-06-13 | Nippon Telegr & Teleph Corp <Ntt> | 処理方法、処理システム、委託装置、プログラム及び記録媒体 |
JP2006309701A (ja) * | 2005-03-28 | 2006-11-09 | Nec Corp | 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム |
JP2008097111A (ja) * | 2006-10-06 | 2008-04-24 | Nec Corp | リソース分配方法、プログラム、及びリソース分配装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477585B1 (en) * | 1995-08-18 | 2002-11-05 | International Business Machines Corporation | Filter mechanism for an event management service |
US6185611B1 (en) * | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
WO2005101215A1 (ja) * | 2004-04-14 | 2005-10-27 | Matsushita Electric Industrial Co., Ltd. | 端末装置及び著作権保護システム |
-
2010
- 2010-11-09 US US13/514,444 patent/US8978048B2/en active Active
- 2010-11-09 JP JP2011545052A patent/JP5724880B2/ja active Active
- 2010-11-09 WO PCT/JP2010/006557 patent/WO2011070716A1/ja active Application Filing
- 2010-11-09 CN CN2010800557922A patent/CN102656563A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160616A (ja) * | 1993-12-06 | 1995-06-23 | Fuji Xerox Co Ltd | イベント処理装置 |
JPH10275125A (ja) * | 1997-03-31 | 1998-10-13 | Nri & Ncc Co Ltd | 多数のコンピュータが参加する情報分配応答システム |
JP2003167808A (ja) * | 2001-11-29 | 2003-06-13 | Nippon Telegr & Teleph Corp <Ntt> | 処理方法、処理システム、委託装置、プログラム及び記録媒体 |
JP2006309701A (ja) * | 2005-03-28 | 2006-11-09 | Nec Corp | 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム |
JP2008097111A (ja) * | 2006-10-06 | 2008-04-24 | Nec Corp | リソース分配方法、プログラム、及びリソース分配装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013047922A (ja) * | 2011-08-29 | 2013-03-07 | Fujitsu Ltd | イベント収集方法及び情報処理装置 |
JP2015153250A (ja) * | 2014-02-17 | 2015-08-24 | 日本電信電話株式会社 | 負荷分散処理装置及び負荷分散処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120254895A1 (en) | 2012-10-04 |
US8978048B2 (en) | 2015-03-10 |
CN102656563A (zh) | 2012-09-05 |
JP5724880B2 (ja) | 2015-05-27 |
JPWO2011070716A1 (ja) | 2013-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5625998B2 (ja) | 情報処理システム | |
US8655985B2 (en) | Content delivery using multiple sources over heterogeneous interfaces | |
JP6534402B2 (ja) | データ品質例外を処理するための方法、コンピュータ・プログラム、および例外エンジン | |
JP5724880B2 (ja) | 情報処理システム、制御方法およびプログラム | |
US10055266B1 (en) | Dynamic optimization of application workflows | |
US9026704B2 (en) | Priority based connection arbitration in a SAS topology to facilitate quality of service (QoS) in SAS transport | |
WO2022267175A1 (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
US20190372825A1 (en) | Communication apparatus, communication method, and recording medium | |
US8904379B2 (en) | Centrally controlled proximity based software installation | |
WO2020220272A1 (zh) | 更改资源状态的方法、系统、终端及存储介质 | |
JP5867407B2 (ja) | 情報処理装置、システム、制御方法およびプログラム | |
WO2012102103A1 (ja) | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム | |
CN113923258A (zh) | 数据处理方法及数据处理系统 | |
WO2013027784A1 (ja) | データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体 | |
JP2019056973A (ja) | 学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデル | |
KR102391506B1 (ko) | 단말기 제어 관리 시스템 및 그 제어방법 | |
KR20240104561A (ko) | 문서 데이터를 업데이트하기 위한 방법 및 장치 | |
WO2014020795A1 (ja) | 分散システム制御装置、プログラム、及び制御方法 | |
JPWO2012102102A1 (ja) | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム | |
CN116827940A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114285784A (zh) | 数据传输方法及装置、数据管道搭建方法及装置 | |
JP2020008928A (ja) | ゲートウェイ装置及びデータ転送方法 | |
CN117573926A (zh) | 基于企业服务总线的消息格式动态转换方法 | |
CN113239038A (zh) | 数据处理方法和装置 | |
CN118827786A (zh) | 一种数据传输的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080055792.2 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10835647 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13514444 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011545052 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10835647 Country of ref document: EP Kind code of ref document: A1 |