WO2019176739A1 - デバイス割り当て方法、システムおよびプログラム - Google Patents

デバイス割り当て方法、システムおよびプログラム Download PDF

Info

Publication number
WO2019176739A1
WO2019176739A1 PCT/JP2019/009144 JP2019009144W WO2019176739A1 WO 2019176739 A1 WO2019176739 A1 WO 2019176739A1 JP 2019009144 W JP2019009144 W JP 2019009144W WO 2019176739 A1 WO2019176739 A1 WO 2019176739A1
Authority
WO
WIPO (PCT)
Prior art keywords
real
logical
logical device
allocation
interface
Prior art date
Application number
PCT/JP2019/009144
Other languages
English (en)
French (fr)
Inventor
真彦 辻
真一郎 永徳
片山 幸久
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US16/980,676 priority Critical patent/US11249929B2/en
Publication of WO2019176739A1 publication Critical patent/WO2019176739A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling

Definitions

  • the present invention relates to a device allocation method, system, and program for allocating a logical device to an actual device.
  • a device management platform is known as a service that realizes a service that links multiple devices.
  • Such a device management platform uses an architecture for handling a device interface of an actual device by mapping it to a common interface (see, for example, Non-Patent Document 1).
  • Robotic Interaction Service Framework (RoIS) V1.1
  • Non-Patent Document 1 in order to realize a service in which a plurality of devices are linked as described above, it is necessary to prepare the types and number of real devices specified to be used in the service. there were. In other words, it is difficult to provide a service when the number of certain types of real devices is insufficient, and it is also possible to provide services using real devices of a type different from that previously defined. It was difficult.
  • the present invention has been made paying attention to the above circumstances, and its object is to provide a device allocation method, system and program for dynamically allocating a logical device for realizing a service to an available real device. Is to provide.
  • a first aspect of the present invention is a device allocation method executed by an apparatus including a hardware processor and a memory, and a logical device allocation destination for realizing a predetermined service
  • An allocation determination process for determining at least one real device and a function of the logical device through communication of control commands and data between the logical device and the determined real device And a function execution process.
  • the logical device interface included in the logical device and information indicating a correspondence relationship between a real device interface included in the real device A process for determining at least one real device to which a logical device is assigned is provided.
  • the function execution process enables data communication between a logical device interface included in the logical device and an actual device interface included in the determined actual device. As described above, a process for communicating with the control command or the system for converting the data is provided.
  • a first evaluation index that decreases in evaluation value as the number of real devices to which one logical device is allocated increases from one, and one logical device.
  • the second evaluation becomes smaller as the degree of matching between the logical device interface of the device and the logical device interface corresponding to the real device interface of the real device to which the logical device is assigned becomes smaller.
  • the third evaluation index and the one logical device are assigned to the evaluation value, and the evaluation value decreases as the logical device interface is allocated redundantly between the real device to which the one logical device is assigned.
  • At least one real device to which the logical device is to be assigned is determined based on at least one of the fourth evaluation index, the evaluation value of which decreases as the device interface is allocated in duplicate. It is intended to have a process to do.
  • the device allocation method further includes a process of detecting an actual device, and the allocation determination process includes the allocation destination of the logical device among the detected actual devices.
  • a logical device is dynamically allocated to an available real device. Thereafter, the function of the logical device is executed through communication between the logical device and the real device to which the logical device is assigned, and a service is provided.
  • the process of dynamically allocating logical devices to available real devices in this way for example, the same type of logical device is allocated to different types of real devices, or a plurality of logical devices are allocated to one real device. It is also possible to assign specific devices. For this reason, even if it is difficult to provide services in the past, where the number and type of actual devices required for service provision is insufficient in the service provision field, the type and number of actual devices are added. It becomes possible to provide the service without doing.
  • the real device to which the logical device is allocated is determined based on the correspondence between the logical device interface and the real device interface. For this reason, it is possible to communicate control commands and data required for executing the function of the logical device between the logical device and the real device to which the logical device is assigned. Become.
  • communication with a system that converts a control command or data so as to enable data communication between a logical device interface and an actual device interface is performed.
  • a combination of a logical device interface and a real device interface that cannot normally be supported can be supported, that is, the real device interface can be virtually expanded. This makes it possible to assign logical devices to more types of real devices.
  • a real device to which a logical device is allocated is determined based on at least one of the above-described four evaluation indexes.
  • evaluation indexes for example, a function related to a logical device is allocated to one real device as much as possible, or a function of one logical device is duplicated to a plurality of real devices.
  • Allocation processing standards can be established, such as preventing the real device interface from being effectively used after being allocated.
  • the real device to which the logical device is allocated is dynamically determined according to the detection status of each available real device. In this way, even when it is difficult to provide services in the past, where the number and type of actual devices required for service provision is insufficient in the service provision field, the type and number of actual devices are It becomes possible to provide a service without adding.
  • each aspect of the present invention it is possible to provide a device allocation method, system, and program for dynamically allocating a logical device for realizing a service to an available real device.
  • FIG. 1 is a first overhead view of the first embodiment of the present invention.
  • FIG. 2 is a second overhead view of the first embodiment of the present invention.
  • FIG. 3 is a block diagram showing a functional configuration of the device cooperation system according to the first embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of logical device information.
  • FIG. 5 is a diagram illustrating an example of actual device information.
  • FIG. 6 is a diagram illustrating an example of real device interface allocation information.
  • FIG. 7 is a diagram illustrating an example of real device allocation information.
  • FIG. 8 is a sequence diagram illustrating an example of an actual device registration process executed by the control unit illustrated in FIG.
  • FIG. 9 is a sequence diagram illustrating an example of the actual device registration deletion process executed by the control unit illustrated in FIG. FIG.
  • FIG. 10 is a sequence diagram illustrating an example of an actual device allocation determination process executed by the control unit illustrated in FIG.
  • FIG. 11 is a sequence diagram showing an example of service program execution processing executed by the control unit shown in FIG.
  • FIG. 12 is a sequence diagram showing an example of a service program execution process executed by the control unit shown in FIG.
  • FIG. 13 is a diagram illustrating an outline of the first evaluation index used for calculating the actual device allocation evaluation value.
  • FIG. 14 is a diagram illustrating an outline of the second evaluation index used for calculating the actual device allocation evaluation value.
  • FIG. 15 is a diagram illustrating an outline of a third evaluation index used for calculating an actual device allocation evaluation value.
  • FIG. 16 is a diagram illustrating an outline of the fourth evaluation index used for calculating the actual device allocation evaluation value.
  • FIG. 1 is a first overhead view of the first embodiment of the present invention.
  • an actual device used in a multi-device cooperation service provided by controlling a plurality of devices is a logical device composed of a set of functions provided by the device (hereinafter referred to as “logical device”). Define in.
  • the logical device allocation management function X allocates each logical device used in the service program for providing the service to an actual device on the service providing field that can correspond to the logical device.
  • the actual device is a terminal such as a robot or a sensor. If such a configuration can be realized, for example, when providing a reception service defined to link three logical devices of the same type, even if there are only two real devices on the service provision field, one real It is possible to provide a similar service by assigning two logical devices to a device. Further, even when different types of real devices exist on the service providing field, it is possible to provide the same service by assigning the same type of logical device to different types of real devices.
  • FIG. 2 is a second overhead view of the first embodiment of the present invention.
  • a logical device interface (hereinafter referred to as a “logical device interface”) that receives a command for controlling the logical device from the outside and transmits data to the outside of the logical device.
  • a logical device is defined as a set of logical device interfaces A, B and D.
  • an actual device that can be used on the service providing field is an interface that receives a command for controlling the actual device from the outside or transmits data to the outside of the actual device (hereinafter referred to as “real device interface”). ).
  • FIG. 2 illustrates an actual device that provides the actual device interfaces a, b, and c, an actual device that provides the actual device interface d, and an actual device that provides the actual device interfaces f, g, and h, respectively. .
  • the logical device interface allocation management function Y maps the real device interface and the logical device interface.
  • the logical device interface allocation management function Y can expand the function of the real device so that the real device interface and the logical device interface can be supported by cooperating with the external system 3 in the process of mapping. Since the mapping function makes it possible to determine real devices to be assigned in logical device interface units instead of logical device units, various types of real devices are used as logical device assignment destinations as described above. It becomes possible.
  • the logical device allocation management function X can also determine the real device of the allocation destination in units of logical device interfaces so that, for example, the logical device and the real device are mapped on an N-to-1 basis. Even when the number of devices is small, the real device can be used as a logical device allocation destination.
  • FIG. 3 is a block diagram showing a functional configuration of the device cooperation system 1 according to the first embodiment of the present invention.
  • a device cooperation system 1 will be described as a non-limiting example of a device allocation system. Note that the device cooperation system 1 illustrated in FIG. 3 is merely an example, and each component included in the device cooperation system 1 may exist as a physically separate device in any combination.
  • the device cooperation system 1 includes a control unit 11, a storage unit 12, and a communication interface unit 13 as hardware.
  • the communication interface unit 13 includes, for example, one or more wired or wireless communication interface units.
  • the communication interface unit 13 inputs, for example, a service program input by the input unit 2 including a keyboard, a mouse, and the like and an operation signal of the service program to the control unit 11.
  • the service program is, for example, data transmitted from the device via the device interface (such as “when the first device transmits the first data, the second device performs the first process”).
  • a service processing logic that receives device transmission data) or transmits a control command to the device (hereinafter referred to as a device control command) is described.
  • the communication interface unit 13 outputs data such as device transmission data and device control data output from the control unit 11 to the external system 3, and converts the converted data transmitted from the external system 3 to the control unit. 11 is output. Further, the communication interface unit 13 outputs device transmission data transmitted from the actual devices 4A,..., 4N, which are terminals such as robots and sensors, to the control unit 11, and device control commands output from the control unit 11 and the like. Are output to the actual devices 4A,..., 4N.
  • the storage unit 12 uses a non-volatile memory that can be written and read as needed, such as an HDD (Hard Disc Drive) or an SSD (Solid State Drive) as a storage medium, and a service program for realizing the present embodiment.
  • a storage unit 121, a logical device information storage unit 122, a logical device storage unit 123, an actual device allocation storage unit 124, an actual device interface allocation storage unit 125, and an actual device information storage unit 126 are provided.
  • the service program storage unit 121 is used for storing a service program.
  • the logical device information storage unit 122 stores logical device information.
  • the logical device information includes, for example, the correspondence between available logical devices and logical device interfaces.
  • the logical device storage unit 123 stores a program forming a logical device that is a set of functions for realizing a service program.
  • the real device allocation storage unit 124 is used for storing real device allocation information.
  • the real device allocation information includes, for example, the correspondence relationship between the logical device allocated under the control of the real device allocation determination unit 112 and the real device.
  • the real device interface allocation storage unit 125 stores real device interface allocation information.
  • the real device interface assignment information includes, for example, the correspondence between the real device interface and the logical device interface, and a program for mutual conversion.
  • the real device information storage unit 126 is used to store real device information.
  • the real device information includes, for example, the correspondence between available real devices and real device interfaces.
  • the control unit 11 includes a hardware processor such as a CPU (Central Processing Unit) and a program memory, and in order to execute processing functions in the present embodiment, a service program management unit 111, an actual device allocation determination unit 112, A logical device real device conversion unit 113, a logical device interface real device interface conversion unit 114, and a real device management unit 115. All of the processing functions in these units are realized by causing the hardware processor to execute a program stored in the program memory. Note that these processing functions are not realized using a program stored in a program memory, but may be realized using a program provided through a network.
  • a hardware processor such as a CPU (Central Processing Unit) and a program memory
  • the service program management unit 111 includes a registration management unit 1111 and an execution management unit 1112.
  • the registration management unit 1111 executes processing for registering a service program. Specifically, the registration management unit 1111 acquires a service program from the input unit 2 via the communication interface unit 13 and executes a process of storing the acquired service program in the service program storage unit 121.
  • the execution management unit 1112 reads and executes the registered service program stored in the service program storage unit 121, receives the device transmission data from the logical device real device conversion unit 113 via the logical device interface, Processing for transmitting a device control command to the logical device real device conversion unit 113 is executed.
  • the real device allocation determination unit 112 first executes processing for determining a logical device to be used in the service program stored in the service program storage unit 121.
  • the logical devices determined to be used in the service program may be a plurality of logical devices that are not limited to the same type.
  • the real device allocation determination unit 112 accesses the logical device information storage unit 122 and executes processing for acquiring information on the logical device interface included in the logical device used in the service program.
  • the real device allocation determination unit 112 accesses the real device interface allocation storage unit 125 and the real device information storage unit 126, and acquires information on the logical device interface that can be supported by the real device interface of each available real device. Execute the process.
  • the real device allocation determining unit 112 is based on the information on the logical device interface that the logical device used in the service program has and the information on the logical device interface that the real device interface that each available real device can support. Thus, a process for determining which real device is assigned to each logical device is executed. Finally, the real device allocation determination unit 112 executes a process of storing the correspondence relationship between the logical device and the real device allocated in this manner in the real device allocation storage unit 124.
  • allocation determination process it is not necessary to perform an allocation process so that a logical device and a real device have a one-to-one correspondence, and an allocation process is performed so that a plurality of real devices are associated with one logical device.
  • allocation processing may be performed so that one real device is associated with a plurality of logical devices.
  • the allocation determination process it is not necessary to determine only an allocation in which a logical device interface and a real device interface have a one-to-one correspondence, and a plurality of real device interfaces are included in one logical device interface. Corresponding correspondence assignment may be determined, or correspondence correspondence in which one real device interface is associated with a plurality of logical device interfaces may be determined.
  • the logical device real device conversion unit 113 receives data such as a device control command transmitted from the execution management unit 1112 of the service program management unit 111 and stores the received data in the real device allocation storage unit 124.
  • the processing requested to the logical device interface real device interface conversion unit 114 is executed so as to be processed as data addressed to the real device determined by the information.
  • the logical device real device conversion unit 113 receives the device transmission data transmitted from the logical device interface real device interface conversion unit 114 and stores the received device transmission data in the real device allocation storage unit 124. A process of transmitting to the execution management unit 1112 of the service program management unit 111 as data addressed to the logical device determined by the information is executed.
  • the logical device real device conversion unit 113 includes a logical device storage unit in data such as a device control command transmitted from the execution management unit 1112 and device transmission data transmitted from the logical device interface real device interface conversion unit 114.
  • the logical device stored in 123 is accessed, and processing of a program forming the logical device is executed.
  • the logical device interface real device interface conversion unit 114 receives data such as device control commands transmitted from the logical device real device conversion unit 113 and device transmission data transmitted from the real device management unit 115 and receives the received data. With respect to the data, the information stored in the real device interface allocation storage unit 125 is referred to, and processing for mutual conversion between the real device interface and the logical device interface is executed. Note that the logical device interface actual device interface conversion unit 114 also executes processing for adding processing not included in the device or interpolating the communication protocol as necessary. Thereafter, the logical device interface real device interface conversion unit 114 executes processing for transmitting data obtained by mutual conversion of the real device interface and the logical device interface to the real device management unit 115 or the logical device real device conversion unit 113.
  • the logical device interface actual device interface conversion unit 114 can communicate with the external system 3 via the communication interface unit 13, and the external system 3 transmits the data transmitted and acquired from the logical device interface actual device interface conversion unit 114, Conversion is performed so that data communication between the logical device interface and the actual device interface is possible, and the converted data can be returned to the logical device interface actual device interface conversion unit 114.
  • Conversion for example, data format conversion or primary processing of data transmitted from an actual device is executed.
  • the real device management unit 115 includes a real device registration unit 1151.
  • the real device registration unit 1151 detects a real device that can be used, and executes a process of writing in the real device information storage unit 126 that the real device is usable.
  • the real device registration unit 1151 detects that the available real device has become unusable, and stores information indicating that the real device is available, which is stored in the real device information storage unit 126. Execute the process to delete.
  • the real device management unit 115 receives data such as a device control command transmitted from the logical device interface real device interface conversion unit 114, and sends the received data to the real device 4 ⁇ / b> A via the communication interface unit 13. A process of transmitting to a destination real device among 4N is executed.
  • the actual device management unit 115 acquires device transmission data transmitted from the actual devices 4A to 4N via the communication interface unit 13, and uses the acquired device transmission data as the logical device interface actual device interface conversion unit 114. Execute the process to send to.
  • FIG. 4 shows an example of logical device information stored in the logical device information storage unit 122.
  • FIG. 5 shows an example of actual device information stored in the actual device information storage unit 126.
  • FIG. 6 shows an example of real device interface assignment information stored in the real device interface assignment storage unit 125.
  • FIG. 4 Of the information shown in FIG. 4, FIG. 5, and FIG. 6, information other than the actual device connection flag of FIG.
  • FIG. 7 shows an example of real device allocation information stored in the real device allocation storage unit 124.
  • the real device allocation storage unit 124 stores data that statically allocates real devices and logical devices in advance, or is dynamically allocated by using the function of the real device allocation determination unit 112. Accumulate data.
  • FIG. 8 is a sequence diagram showing an example of real device registration processing executed by the control unit 11 shown in FIG.
  • step S101 any real device among the real devices 4A to 4N is connected to the device cooperation system 1, and the control unit 11 is connected and used under the control of the real device registration unit 1151 of the real device management unit 115. Detect real devices that are enabled.
  • step S102 under the control of the real device registration unit 1151, the control unit 11 sends a request for updating the connected real device flag to register that the real device related to the detection becomes available.
  • the information is transmitted to the information storage unit 126.
  • step S103 the flag of the connected real device stored in the real device information storage unit 126 is updated in response to the flag update request, and it is registered that the real device related to the detection is available.
  • FIG. 9 is a sequence diagram showing an example of the actual device registration deletion process executed by the control unit 11 shown in FIG.
  • step S201 the connection between any real device among the real devices 4A to 4N and the device cooperation system 1 is disconnected.
  • step S202 the control unit 11 detects a real device that has been disconnected under the control of the real device registration unit 1151 of the real device management unit 115.
  • step S 203 under the control of the real device registration unit 1151, a request for updating the flag of the connected real device for registering that the real device related to the detection becomes unavailable is sent to the real device information storage unit 126. Send.
  • step S204 the connected real device flag stored in the real device information storage unit 126 is updated in response to the flag update request, and it is registered that the real device related to the detection becomes unavailable.
  • FIG. 10 is a sequence diagram showing an example of real device allocation determination processing executed by the control unit 11 shown in FIG. Note that the real device allocation determination process is a process executed when a real device is dynamically allocated.
  • step S301 the operator inputs a service program to the input unit 2, and the control unit 11 acquires the service program from the input unit 2 under the control of the registration management unit 1111 of the service program management unit 111. Registered service programs.
  • step S302 the control unit 11 stores the acquired service program in the service program storage unit 121 under the control of the registration management unit 1111.
  • step S303 the control unit 11 transmits an actual device allocation request related to the service program to the actual device allocation determination unit 112 under the control of the registration management unit 1111.
  • step S304 the control unit 11 reads out and acquires the service program stored in the service program storage unit 121 under the control of the real device allocation determination unit 112.
  • step S305 the control unit 11 reads and acquires the logical device information stored in the logical device information storage unit 122 under the control of the actual device allocation determination unit 112.
  • step S306 the control unit 11 reads and acquires the real device interface assignment information stored in the real device interface assignment storage unit 125 under the control of the real device assignment determination unit 112.
  • step S307 the control unit 11 reads and acquires the real device information stored in the real device information storage unit 126 under the control of the real device allocation determination unit 112.
  • step S304, step S305, step S306, and step S307 may be executed in an order different from that described above, or any of these processes may be executed in parallel. .
  • step S308 the control unit 11 controls the logical device information acquired in step S305, the actual device interface allocation information acquired in step S306, and the acquired in step S307 under the control of the actual device allocation determination unit 112. Based on the real device information, it is determined whether real device allocation according to the service program is possible. If real device allocation is possible, real device allocation is determined. When real device allocation is not possible, the control unit 11 cannot perform real device allocation to the operator using, for example, a display on a display unit (not shown) under the control of the real device allocation determination unit 112. Notify that.
  • step S308 If the actual device assignment is determined in step S308, the following processing is performed.
  • step S309 the control unit 11 transmits an actual device allocation information update request for writing the actual device allocation determined in step S308 to the actual device allocation storage unit 124 under the control of the actual device allocation determination unit 112. .
  • step S310 the actual device allocation information stored in the actual device allocation storage unit 124 is updated in response to the actual device allocation information update request.
  • step S311 the control unit 11 receives the real device allocation information update completion notification transmitted from the real device allocation storage unit 124 under the control of the real device allocation determination unit 112.
  • step S312 the control unit 11 confirms that the real device allocation related to the service program can be performed to the operator using the display on the display unit (not shown), for example, under the control of the real device allocation determination unit 112. Notice.
  • FIG. 11 is a sequence diagram showing an example of service program execution processing executed by the control unit 11 shown in FIG.
  • step S401 an operator inputs an execution request for a registered service program via the input unit 2, and the control unit 11 sends the execution request under the control of the execution management unit 1112 of the service program management unit 111. get.
  • step S402 the control unit 11 performs an execution process of the service program related to the execution request under the control of the execution management unit 1112.
  • step S403 the control unit 11 reads out and acquires the service program related to the execution request stored in the service program storage unit 121 under the control of the execution management unit 1112.
  • step S404 to step S414 is processing executed when data such as a device control command related to the service program is transmitted to the actual device when the service program is executed.
  • step S404 the control unit 11 transmits data such as a control command related to the service program being executed to the logical device real device conversion unit 113 under the control of the execution management unit 1112.
  • step S405 the control unit 11 reads and acquires the real device allocation information stored in the real device allocation storage unit 124 under the control of the logical device real device conversion unit 113.
  • step S406 the control unit 11 specifies a data transmission destination real device based on the real device allocation information read in step S405 under the control of the logical device real device conversion unit 113.
  • step S407 the control unit 11 transmits data to the logical device interface actual device interface conversion unit 114 under the control of the logical device actual device conversion unit 113.
  • step S408 the control unit 11 reads and acquires the real device interface assignment information stored in the real device interface assignment storage unit 125 under the control of the logical device interface real device interface conversion unit 114.
  • step S409 the control unit 11 specifies the real device interface of the data transmission destination under the control of the logical device interface real device interface conversion unit 114.
  • step S410 the control unit 11 transmits data to the external system 3 under the control of the logical device interface actual device interface conversion unit 114.
  • step S411 the external system 3 converts data so as to enable data communication between the logical device interface and the real device interface.
  • step S412 the external system 3 transmits the data after the data conversion to the device cooperation system 1, and the control unit 11 transmits the data after the data conversion under the control of the logical device interface actual device interface conversion unit 114. get.
  • step S413 the control unit 11 transmits the data converted by the external system 3 to the real device management unit 115 under the control of the logical device interface real device interface conversion unit 114.
  • step S414 the control unit 11 transmits data to the destination real device among the real devices 4A to 4N under the control of the real device management unit 115.
  • step S410 to step S412 the processing from step S410 to step S412 is performed. It may be omitted.
  • FIG. 12 is a sequence diagram showing an example of a service program execution process executed by the control unit 11 shown in FIG.
  • step S501 to step S511 described below is processing that is executed when device transmission data such as measurement data related to the service program is received from the actual device when the service program is executed.
  • any real device among the real devices 4A to 4N transmits device transmission data related to the service program being executed to the device cooperation system 1, and the control unit 11 controls the real device management unit 115.
  • the transmitted data is acquired under
  • step S502 the control unit 11 transmits the acquired data to the logical device interface actual device interface conversion unit 114 under the control of the actual device management unit 115.
  • step S503 the control unit 11 reads and acquires the real device interface assignment information stored in the real device interface assignment storage unit 125 under the control of the logical device interface real device interface conversion unit 114.
  • step S504 the control unit 11 specifies the logical device interface of the data transmission destination under the control of the logical device interface actual device interface conversion unit 114.
  • step S505 the control unit 11 transmits data to the external system 3 under the control of the logical device interface actual device interface conversion unit 114.
  • step S506 the external system 3 converts data so as to enable data communication between the logical device interface and the real device interface.
  • step S507 the external system 3 transmits the data after the data conversion to the device cooperation system 1, and the control unit 11 transmits the data after the data conversion under the control of the logical device interface actual device interface conversion unit 114. get.
  • step S508 the control unit 11 transmits the data converted by the external system 3 to the logical device actual device conversion unit 113 under the control of the logical device interface actual device interface conversion unit 114.
  • step S509 the control unit 11 reads and acquires the real device allocation information stored in the real device allocation storage unit 124 under the control of the logical device real device conversion unit 113.
  • step S510 the control unit 11 specifies a logical device that is a data transmission destination based on the real device allocation information read in step S509 under the control of the logical device real device conversion unit 113.
  • step S511 the control unit 11 transmits data to the execution management unit 1112 of the service program management unit 111 under the control of the logical device real device conversion unit 113.
  • step S505 to step S507 the processing from step S505 to step S507 is performed. It may be omitted.
  • logical devices and real devices are defined as a set of logical device interfaces as follows.
  • r n ⁇ x
  • f n (x), x ⁇ X ⁇ d m ⁇ x
  • r n set of logical device interfaces of logical device n d m : set of logical device interfaces corresponding to real device interfaces of real device m f n (x): logical device interface x Belongs to logical device n q m (x): logical device interface x belongs to real device m X: entire set of logical device interfaces stored in logical device information storage unit 122: logical device information storage unit 122 Set of logical devices stored in the real device information storage unit 126.
  • DS n [i] is a set of real device combinations for the i-th logical device n [i] used in the service program, and p-th element is included in DS n [i].
  • i] [j] the number of actual devices constituting the
  • N [1],..., N [N] for logical devices used in the service program Evaluation values of real device combinations f (p [i] [j 1 ],..., P [N] [j N ]) assigned to each logical device are used as the first evaluation index A 11 and the second evaluation index A. 12 , the third evaluation index A 21 and the fourth evaluation index A 22 are used as follows.
  • f (p [i] [j 1 ],..., p [N] [j N ]) a 11 A 11 + a 12 A 12 + a 21 A 21 + a 22 A 22 where a 11 , a 12 , a 21 , A 22 are constants.
  • step S308 it is possible to execute determination processing for determining whether real device allocation is possible or real device allocation determination processing.
  • step S308 for example, when there is real device allocation in which the evaluation value exceeds the first threshold, it is determined that real device allocation is possible. can do.
  • the actual device allocation determined in the actual device allocation determination process in step S308 is, for example, any actual device allocation in which the evaluation value exceeds the second threshold, or real device allocation in which the evaluation value has the maximum value. can do.
  • the first evaluation index A 11 and the second evaluation index A 12 are evaluation indexes focusing on the occupation by the own real device or the own logical device.
  • the first evaluation index A 11 is an index to consider the occupation by 1 actual device of one logical device, which is primarily one logical device is considered to be assumed to be composed of one actual device, This is based on the idea that one logical device is better allocated with fewer real devices.
  • the first evaluation index A 11 is expressed as follows.
  • b 111 ,..., B 11N are constants of 0 or more.
  • a 11 the number of actual devices constituting one logical device takes a maximum value when it is 1, approaches a minimum value larger the number of actual devices which make up one logical device.
  • Figure 13 is a diagram showing an outline of a first evaluation index A 11.
  • Second evaluation index A 12 is an index that considers the occupancy of one real device by one logical device, and this assumes that one logical device is originally composed of one real device. This is based on the idea that a logical device that uses all the logical device interfaces of one real device is assigned better.
  • Second evaluation index A 12 is expressed as follows.
  • b 121 ,..., B 12N are constants of 0 or more.
  • a 12 is 1 takes a maximum value when the match is a logical device interface having a logical device interface and actual device having logic device, the difference in the logic device interface logic device interface and the actual device 1 logical device has has The closer the value is, the closer to the minimum value.
  • Figure 14 is a diagram showing an outline of a second evaluation index A 12.
  • the third evaluation index A 21 and the fourth evaluation index A 22 are evaluation indexes that focus on overlapping with other real devices or other logical devices.
  • the third evaluation index A 21 is an index that considers the logical device interface of the logical device that overlaps with other real devices. This is because the real device that constitutes the logical device is added to the first evaluation index A 11. When the logical device interface overlaps with another configuration real device, the combination of the real devices is based on the idea that the logical device interface is not preferable because it is not used effectively.
  • the third evaluation index A 21 is expressed as follows.
  • b 211 ,..., B 21N are constants of 0 or more.
  • a 21 takes a maximum value when there is no overlap in the logical device interfaces that constitute one logical device, and approaches the minimum value as duplication occurs in the logical device interfaces that constitute one logical device.
  • Figure 15 is a diagram showing an outline of a third evaluation index A 21.
  • the fourth evaluation index A 22 is an index that considers a logical device interface of an actual device that overlaps with another logical device. This is a specific logic in addition to the second evaluation index. This is based on the idea that a real device interface assigned to a device is assigned so that it is not assigned to another logical device.
  • the fourth evaluation index A 22 is expressed as follows.
  • b 22ik and b 22i are constants of 0 or more.
  • a 22 takes the maximum value when there is no overlap between the real device that constitutes one logical device and the real device that constitutes another logical device, and constitutes the real device that constitutes one logical device and another logical device. The closer to the actual device, the closer to the minimum value.
  • Figure 16 is a diagram showing an outline of a fourth evaluation index A 22.
  • an actual device allocation request related to the registered service program is transmitted to the actual device allocation determination unit 112.
  • logical device information is acquired from the logical device information storage unit 122
  • real device interface allocation information is acquired from the real device interface allocation storage unit 125, and is used from the real device information storage unit 126.
  • Real device information related to possible real devices is acquired.
  • the service program is based on the acquired logical device information, the acquired real device interface allocation information, and the acquired real device information. It is determined whether or not the logical device can be allocated to an actual device.
  • an actual device allocation information update request for writing the determined allocation is transmitted to the real device allocation storage unit 124 and stored in the real device allocation storage unit 124.
  • Real device allocation information is updated. Based on the real device allocation information, a communication process of a device control command and device transmission data is performed between the logical device related to the service program and the allocation destination of the logical device and the determined real device. The function of the logical device related to the program is executed.
  • the related functions of a logical device can be allocated to one real device as much as possible, or the functions of one logical device can be allocated to a plurality of real devices in duplicate.
  • Allocation processing standards can be established, such as preventing the device interface from being effectively used.
  • a combination of a logical device interface and a real device interface that could not normally be handled can be supported, that is, the real device interface can be virtually expanded.
  • logical devices can be assigned to more types of real devices.
  • the configuration of the device cooperation system the logical device information storage unit, the actual device allocation storage unit, the actual device interface allocation storage unit, the data structure stored in the actual device information storage unit, etc.
  • the configuration of the device cooperation system the logical device information storage unit, the actual device allocation storage unit, the actual device interface allocation storage unit, the data structure stored in the actual device information storage unit, etc.
  • Various modifications can be made without departing from the scope.
  • the present invention is not limited to the first embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage.
  • various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the first embodiment. For example, some constituent elements may be deleted from all the constituent elements shown in the first embodiment. Furthermore, you may combine suitably the component covering different embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てることを可能にする。サービスプログラム管理部(111)の登録管理部(1111)の制御の下、登録済みのサービスプログラムに係る実デバイス割り当て要求が実デバイス割り当て決定部(112)に送信される。実デバイス割り当て決定部(112)の制御の下、論理デバイス情報と、実デバイスインタフェース割り当て情報と、利用可能な実デバイスに係る実デバイス情報とに基づいて、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが決定される。当該割り当ての情報に基づいて、上記サービスプログラムに係る論理デバイスと当該論理デバイスの割り当て先の実デバイスとの間での制御命令およびデータの通信処理が行われ、上記サービスプログラムに係る論理デバイスの機能が実行される。

Description

デバイス割り当て方法、システムおよびプログラム
 この発明は、論理的なデバイスを実デバイスに割り当てるデバイス割り当て方法、システムおよびプログラムに関する。
 近年、複数のデバイスを連携させたサービスが利用されている。
 複数のデバイスを連携させたサービスを実現するものとして、デバイス管理プラットフォームが知られている。このようなデバイス管理プラットフォームでは、実デバイスのデバイスインタフェースを共通的なインタフェースに固定的にマッピングして扱うためのアーキテクチャを利用している(例えば、非特許文献1を参照)。
Robotic Interaction Service Framework (RoIS) V1.1
 ところが、非特許文献1に記載されるような技術では、上述したような複数のデバイスを連携させたサービスを実現するために、サービスで利用すると規定した種類および数の実デバイスを用意する必要があった。すなわち、ある種類の実デバイスの数が不足している場合にはサービスを提供することは困難であり、また、予め規定したのとは異なる種類の実デバイスを利用してサービスを提供することも困難であった。
 この発明は上記事情に着目してなされたもので、その目的とするところは、サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てるデバイス割り当て方法、システムおよびプログラムを提供することにある。
 上記課題を解決するために、この発明の第1の態様は、ハードウェアプロセッサおよびメモリを備える装置が実行するデバイス割り当て方法にあって、所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する割り当て決定過程と、前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行過程とを備えるようにしたものである。
 この発明の第2の態様は、前記割り当て決定過程が、前記論理的なデバイスが有する論理的なデバイスインタフェースの各々と、実デバイスが備える実デバイスインタフェースとの対応関係を示す情報に基づいて、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備えるようにしたものである。
 この発明の第3の態様は、前記機能実行過程が、前記論理的なデバイスが有する論理的なデバイスインタフェースと前記決定された実デバイスが有する実デバイスインタフェースとの間でのデータ通信を可能とするように前記制御命令または前記データを変換するシステムと通信する過程を備えるようにしたものである。
 この発明の第4の態様は、前記割り当て決定過程が、1つの論理的なデバイスが割り当てられる実デバイスの数が1から多くなるほど評価値が小さくなる第1の評価指標と、1つの論理的なデバイスが有する論理的なデバイスインタフェースと、当該論理的なデバイスが割り当てられる実デバイスが有する実デバイスインタフェースに対応する論理的なデバイスインタフェースとの合致の度合いが小さくなるほど評価値が小さくなる第2の評価指標と、1つの論理的なデバイスが割り当てられる実デバイス間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第3の評価指標と、1つの論理的なデバイスが割り当てられる実デバイスと他の論理的なデバイスが割り当てられる実デバイスとの間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第4の評価指標とのうちの少なくとも1つにさらに基づいて、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備えるようにしたものである。
 この発明の第5の態様は、前記デバイス割り当て方法が、実デバイスを検知する過程をさらに備え、前記割り当て決定過程が、前記検知された実デバイスの中から、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備えるようにしたものである。
 この発明の第1の態様によれば、利用可能な実デバイスに論理的なデバイスが動的に割り当てられる。その後、論理的なデバイスと当該論理的なデバイスの割り当て先の実デバイスとの間での通信を介して論理的なデバイスの機能が実行され、サービスが提供される。このように利用可能な実デバイスに論理的なデバイスを動的に割り当てる処理では、例えば、互いに異なる種類の実デバイスに同一種類の論理的なデバイスを割り当てることや、1つの実デバイスに複数の論理的なデバイスを割り当てることも可能である。このため、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
 この発明の第2の態様によれば、論理的なデバイスインタフェースと実デバイスインタフェースとの対応関係に基づいて、論理的なデバイスの割り当て先の実デバイスが決定される。このため、論理的なデバイスと当該論理的なデバイスの割り当て先の実デバイスとの間で、論理的なデバイスの機能を実行する際に必要とされる制御命令やデータを通信することが可能となる。
 この発明の第3の態様によれば、論理的なデバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするように制御命令またはデータを変換するシステムとの通信が行われる。このようなシステムと連携することにより、通常では互いに対応不可能だった論理的なデバイスインタフェースと実デバイスインタフェースとの組み合わせも対応可能となり、すなわち、実デバイスインタフェースが仮想的に拡張可能となる。これにより、より多くの種類の実デバイスに論理的なデバイスを割り当てることが可能となる。
 この発明の第4の態様によれば、上述した4つの評価指標のうちの少なくとも1つにさらに基づいて、論理的なデバイスの割り当て先の実デバイスが決定される。これらの評価指標を用いることにより、例えば、論理的なデバイスの関連する機能が出来る限り1つの実デバイスに割り振られるようにしたり、1つの論理的なデバイスの機能が複数の実デバイスに重複して割り振られて実デバイスインタフェースが有効に活用できなくなるようなことがないようにしたりする等、割り当て処理の基準を定めることができる。
 この発明の第5の態様によれば、利用可能な実デバイスのその都度の検知状況に応じて、論理的なデバイスの割り当て先の実デバイスが動的に決定される。このように、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
 すなわち、この発明の各態様によれば、サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てるデバイス割り当て方法、システムおよびプログラムを提供することができる。
図1は、この発明の第1の実施形態の第1の俯瞰図である。 図2は、この発明の第1の実施形態の第2の俯瞰図である。 図3は、この発明の第1の実施形態に係るデバイス連携システムの機能構成を示すブロック図である。 図4は、論理デバイス情報の一例を示す図である。 図5は、実デバイス情報の一例を示す図である。 図6は、実デバイスインタフェース割り当て情報の一例を示す図である。 図7は、実デバイス割り当て情報の一例を示す図である。 図8は、図3に示した制御ユニットによって実行される実デバイス登録処理の一例を示すシーケンス図である。 図9は、図3に示した制御ユニットによって実行される実デバイス登録削除処理の一例を示すシーケンス図である。 図10は、図3に示した制御ユニットによって実行される実デバイス割り当て決定処理の一例を示すシーケンス図である。 図11は、図3に示した制御ユニットによって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。 図12は、図3に示した制御ユニットによって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。 図13は、実デバイス割り当て評価値の算出に使用される第1の評価指標に係る概略を示す図である。 図14は、実デバイス割り当て評価値の算出に使用される第2の評価指標に係る概略を示す図である。 図15は、実デバイス割り当て評価値の算出に使用される第3の評価指標に係る概略を示す図である。 図16は、実デバイス割り当て評価値の算出に使用される第4の評価指標に係る概略を示す図である。
 以下、図面を参照してこの発明に係わる実施形態を説明する。 
 [第1の実施形態]
 図1は、この発明の第1の実施形態の第1の俯瞰図である。 
 本実施形態では、複数のデバイスを制御することにより提供するマルチデバイス連携サービスで利用する実デバイスを、デバイスの提供する機能の集合からなる論理的なデバイス(以降、「論理デバイス」と称する。)で定義する。
 より具体的には、論理デバイス割り当て管理機能Xが、上記サービスの提供のためにサービスプログラムで利用する各論理デバイスを、当該論理デバイスに対応可能な、サービス提供フィールド上の実デバイスに割り当てる。なお、実デバイスは、例えばロボットやセンサ等の端末である。
 このような構成を実現できれば、例えば、同一種類の3つの論理デバイスを連携させるものとして定義した受付サービスを提供する場合に、サービス提供フィールド上に2つの実デバイスしか存在しない場合も、1つの実デバイスに2つの論理デバイスを割り当てることにより同様のサービスを提供することが可能となる。また、サービス提供フィールド上に互いに異なる種類の実デバイスが存在する場合にも、異なる種類の実デバイスに同一種類の論理デバイスを割り当てることにより同様のサービスを提供することが可能となる。
 図2は、この発明の第1の実施形態の第2の俯瞰図である。 
 先ず、論理デバイスが有する、外部から論理デバイスの制御のための命令を受信したり論理デバイス外部へデータを送信したりする論理的なデバイスインタフェース(以降、「論理デバイスインタフェース」と称する。)に着目する。論理デバイスを、論理デバイスインタフェースA,BおよびDの集合として定義する。
 一方、サービス提供フィールド上で利用可能な実デバイスは、外部から実デバイスの制御のための命令を受信したり実デバイス外部へデータを送信したりするインタフェース(以降、「実デバイスインタフェース」と称する。)を有する。図2では、実デバイスインタフェースa,bおよびcを提供する実デバイスと、実デバイスインタフェースdを提供する実デバイスと、実デバイスインタフェースf,gおよびhを提供する実デバイスとがそれぞれ図示されている。
 論理デバイスを実デバイスに割り当てる際には、論理デバイスインタフェースと実デバイスインタフェースとが互いに対応可能であるという対応関係を考慮して、論理デバイスが有する論理デバイスインタフェースの各々の割り当て先の実デバイスを決定する。
 論理デバイスインタフェース割り当て管理機能Yは、実デバイスインタフェースと論理デバイスインタフェースとをマッピングする。論理デバイスインタフェース割り当て管理機能Yは、マッピングの過程で外部システム3と連携することにより、実デバイスインタフェースと論理デバイスインタフェースとが対応可能となるように実デバイスの機能を拡張することができる。当該マッピングの機能により、論理デバイス単位ではなく論理デバイスインタフェース単位で割り当て先の実デバイスを決定することが可能となるので、上述したようにさまざまな種類の実デバイスを論理デバイスの割り当て先として使用することが可能となる。
 論理デバイス割り当て管理機能Xは、例えば論理デバイスと実デバイスとがN対1にマッピングするように、論理デバイスインタフェース単位での割り当て先の実デバイスの決定をすることもできるので、上述したように実デバイスの数が少ない場合にも当該実デバイスを論理デバイスの割り当て先として使用することが可能となる。
 (構成)
 図3は、この発明の第1の実施形態に係るデバイス連携システム1の機能構成を示すブロック図である。本実施形態では、デバイス割り当てシステムの非限定的な例としてデバイス連携システム1について説明する。なお、図3に示すデバイス連携システム1は一例に過ぎず、デバイス連携システム1が備える各構成要素は任意の組み合わせで物理的に別個の装置として存在していてもよい。
 デバイス連携システム1は、ハードウェアとして、制御ユニット11と、記憶ユニット12と、通信インタフェースユニット13とを備えている。
 通信インタフェースユニット13は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでいる。通信インタフェースユニット13は、例えばキーボードやマウス等を含む入力部2により入力されたサービスプログラムおよび当該サービスプログラムの操作信号を、制御ユニット11に入力する。なお、サービスプログラムは、例えば、「第1のデバイスが第1のデータを送信したら、第2のデバイスに第1の処理をさせる」のような、デバイスインタフェースを介してデバイスから送信されたデータ(以降、デバイス送信データ)を受信したりデバイスに対する制御命令(以降、デバイス制御命令と称する。)を送信したりする、サービスの処理ロジックが記載されたプログラムである。
 また、通信インタフェースユニット13は、制御ユニット11から出力されたデバイス送信データやデバイス制御データ等のデータを外部システム3に出力し、外部システム3から送信された当該データの変換後のデータを制御ユニット11に出力する。さらに、通信インタフェースユニット13は、例えばロボットやセンサ等の端末である実デバイス4A,…,4Nから送信されたデバイス送信データを制御ユニット11に出力し、制御ユニット11から出力されたデバイス制御命令等のデータを実デバイス4A,…,4Nに出力する。
 記憶ユニット12は、記憶媒体として例えばHDD(Hard Disc Drive)またはSSD(Solid State Drive)等の随時書き込みおよび読み出しが可能な不揮発メモリを使用したもので、本実施形態を実現するために、サービスプログラム記憶部121と、論理デバイス情報記憶部122と、論理デバイス記憶部123と、実デバイス割り当て記憶部124と、実デバイスインタフェース割り当て記憶部125と、実デバイス情報記憶部126とを備えている。
 サービスプログラム記憶部121は、サービスプログラムを記憶させるために使用される。
 論理デバイス情報記憶部122は、論理デバイス情報を記憶している。論理デバイス情報は、例えば、利用可能な論理デバイスと論理デバイスインタフェースとの対応関係を含んでいる。
 論理デバイス記憶部123は、サービスプログラムを実現するための機能の集合である論理デバイスをなすプログラムを記憶している。
 実デバイス割り当て記憶部124は、実デバイス割り当て情報を記憶させるために使用される。実デバイス割り当て情報は、例えば、実デバイス割り当て決定部112の制御下で割り当てられた論理デバイスと実デバイスとの対応関係を含んでいる。
 実デバイスインタフェース割り当て記憶部125は、実デバイスインタフェース割り当て情報を記憶している。実デバイスインタフェース割り当て情報は、例えば、実デバイスインタフェースと論理デバイスインタフェースとの対応関係、および、相互変換するプログラムを含んでいる。
 実デバイス情報記憶部126は、実デバイス情報を記憶させるために使用される。実デバイス情報は、例えば、利用可能な実デバイスと実デバイスインタフェースとの対応関係を含んでいる。
 制御ユニット11は、CPU(Central Processing Unit)等のハードウェアプロセッサと、プログラムメモリとを備え、本実施形態における処理機能を実行するために、サービスプログラム管理部111と、実デバイス割り当て決定部112と、論理デバイス実デバイス変換部113と、論理デバイスインタフェース実デバイスインタフェース変換部114と、実デバイス管理部115とを備えている。これらの各部における処理機能はいずれも、プログラムメモリに格納されたプログラムを上記ハードウェアプロセッサに実行させることによって実現される。なお、これらの処理機能は、プログラムメモリに格納されたプログラムを用いて実現されるのではなく、ネットワークを通して提供されるプログラムを用いて実現されてもよい。
 サービスプログラム管理部111は、登録管理部1111と実行管理部1112とを備えている。 
 登録管理部1111は、サービスプログラムを登録する処理を実行する。具体的には、登録管理部1111は、通信インタフェースユニット13を介して入力部2からサービスプログラムを取得し、当該取得されたサービスプログラムをサービスプログラム記憶部121に記憶させる処理を実行する。
 実行管理部1112は、サービスプログラム記憶部121に記憶された登録済みのサービスプログラムを読み出して実行し、論理デバイスインタフェースを介して、論理デバイス実デバイス変換部113からデバイス送信データを受信する処理や、論理デバイス実デバイス変換部113にデバイス制御命令を送信する処理を実行する。
 実デバイス割り当て決定部112は、先ず、サービスプログラム記憶部121に記憶されたサービスプログラムで利用する論理デバイスを決定する処理を実行する。なお、当該サービスプログラムで利用されることが決定される論理デバイスは、互いに同一種類のものに限られない複数の論理デバイスであってもよい。次に、実デバイス割り当て決定部112は、論理デバイス情報記憶部122にアクセスして、上記サービスプログラムで利用する論理デバイスが有する論理デバイスインタフェースの情報を取得する処理を実行する。一方、実デバイス割り当て決定部112は、実デバイスインタフェース割り当て記憶部125および実デバイス情報記憶部126にアクセスし、利用可能な各実デバイスが有する実デバイスインタフェースが対応可能な論理デバイスインタフェースの情報を取得する処理を実行する。その後、実デバイス割り当て決定部112は、上記サービスプログラムで利用する論理デバイスが有する論理デバイスインタフェースの情報と、利用可能な各実デバイスが有する実デバイスインタフェースが対応可能な論理デバイスインタフェースの情報とに基づいて、各論理デバイスにどの実デバイスを割り当てるかを決定する処理を実行する。最後に、実デバイス割り当て決定部112は、このように割り当てられた論理デバイスと実デバイスとの対応関係を、実デバイス割り当て記憶部124に記憶させる処理を実行する。
 なお、当該割り当ての決定処理では、論理デバイスと実デバイスとが1対1の対応関係となるように割り当て処理する必要はなく、1つの論理デバイスに複数の実デバイスを対応付けるように割り当て処理してもよく、あるいは、複数の論理デバイスに1つの実デバイスを対応付けるように割り当て処理してもよい。
 また、当該割り当ての決定処理では、論理デバイスインタフェースと実デバイスインタフェースとが1対1の対応関係となるような割り当てのみが決定される必要はなく、1つの論理デバイスインタフェースに複数の実デバイスインタフェースが対応付けられている対応関係の割り当てが決定されてもよく、あるいは、複数の論理デバイスインタフェースに1つの実デバイスインタフェースが対応付けられている対応関係の割り当てが決定されてもよい。
 論理デバイス実デバイス変換部113は、サービスプログラム管理部111の実行管理部1112から送信されるデバイス制御命令等のデータを受信し、当該受信されたデータを、実デバイス割り当て記憶部124に記憶される情報により定められた実デバイス宛のデータとして処理するように、論理デバイスインタフェース実デバイスインタフェース変換部114に要求する処理を実行する。
 一方、論理デバイス実デバイス変換部113は、論理デバイスインタフェース実デバイスインタフェース変換部114から送信されるデバイス送信データを受信し、当該受信されたデバイス送信データを、実デバイス割り当て記憶部124に記憶される情報により定められた論理デバイス宛のデータとして、サービスプログラム管理部111の実行管理部1112に送信する処理を実行する。
 ここで、論理デバイス実デバイス変換部113は、実行管理部1112から送信されるデバイス制御命令等のデータや、論理デバイスインタフェース実デバイスインタフェース変換部114から送信されるデバイス送信データにおいて、論理デバイス記憶部123に記憶される論理デバイスにアクセスして、論理デバイスをなすプログラムの処理を実行する。
 論理デバイスインタフェース実デバイスインタフェース変換部114は、論理デバイス実デバイス変換部113から送信されるデバイス制御命令等のデータ、および、実デバイス管理部115から送信されるデバイス送信データを受信し、当該受信されたデータについて、実デバイスインタフェース割り当て記憶部125に記憶される情報を参照して、実デバイスインタフェースと論理デバイスインタフェースを相互変換する処理を実行する。なお、論理デバイスインタフェース実デバイスインタフェース変換部114は、必要に応じ、デバイスに無い処理を追加したり、通信プロトコルを補間したりする処理も実行する。その後、論理デバイスインタフェース実デバイスインタフェース変換部114は、実デバイスインタフェースと論理デバイスインタフェースを相互変換したデータを、実デバイス管理部115または論理デバイス実デバイス変換部113に送信する処理を実行する。
 さらに、論理デバイスインタフェース実デバイスインタフェース変換部114は、通信インタフェースユニット13を介して外部システム3と通信可能で、外部システム3は、論理デバイスインタフェース実デバイスインタフェース変換部114から送信され取得したデータを、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信が可能となるように変換し、当該変換後のデータを、論理デバイスインタフェース実デバイスインタフェース変換部114に返却することができる。当該データの変換では、例えば、データの形式の変換や、実デバイスから送信されたデータの一次処理が実行される。
 実デバイス管理部115は、実デバイス登録部1151を備えている。 
 実デバイス登録部1151は、利用可能な実デバイスを検知し、当該実デバイスが利用可能である旨を、実デバイス情報記憶部126に書き込む処理を実行する。また、実デバイス登録部1151は、利用可能であった実デバイスが利用不可となったことを検知し、実デバイス情報記憶部126に記憶されている、当該実デバイスが利用可能である旨の情報を削除する処理を実行する。
 また、実デバイス管理部115は、論理デバイスインタフェース実デバイスインタフェース変換部114から送信されたデバイス制御命令等のデータを受信し、当該受信されたデータを、通信インタフェースユニット13を介して、実デバイス4A~4Nのうちの宛先の実デバイスに送信する処理を実行する。一方、実デバイス管理部115は、実デバイス4A~4Nから送信されたデバイス送信データを通信インタフェースユニット13を介して取得し、当該取得されたデバイス送信データを、論理デバイスインタフェース実デバイスインタフェース変換部114に送信する処理を実行する。
 図4、図5、図6および図7において、本実施形態で使用される情報のデータ構造を例示する。 
 図4では、論理デバイス情報記憶部122に記憶される論理デバイス情報の一例が示されている。
 図5では、実デバイス情報記憶部126に記憶される実デバイス情報の一例が示されている。
 図6では、実デバイスインタフェース割り当て記憶部125に記憶される実デバイスインタフェース割り当て情報の一例が示されている。
 図4、図5および図6に示した情報のうち、図5の実デバイス接続フラグ以外の情報は、例えばオペレータが予め登録しておくものとする。
 図7では、実デバイス割り当て記憶部124に記憶される実デバイス割り当て情報の一例が示されている。
 (動作)
 次に、以上のように構成されたデバイス連携システム1の動作を説明する。 
 <動作シーケンス>
 先ず、図3に示したデバイス連携システム1の制御ユニット11によって実行される、実デバイス利用可否状況登録処理、実デバイス割り当て決定処理、ならびに、サービスプログラム実行処理について説明する。
 なお、これらの処理の前提として次の2つを挙げておく。 
 第1に、論理デバイス情報記憶部122、実デバイスインタフェース割り当て記憶部125、および実デバイス情報記憶部126に必要なデータが蓄積されていること。
 第2に、実デバイス割り当て記憶部124には、実デバイスと論理デバイスを予め静的に割り当てるデータを蓄積しておく、あるいは、実デバイス割り当て決定部112の機能を利用して動的に割り当てられたデータを蓄積しておくこと。
 (1)実デバイス利用可否状況登録シーケンス
 図8は、図3に示した制御ユニット11によって実行される実デバイス登録処理の一例を示すシーケンス図である。
 ステップS101において、実デバイス4A~4Nのうちの任意の実デバイスがデバイス連携システム1に接続し、制御ユニット11は、実デバイス管理部115の実デバイス登録部1151の制御の下、接続されて利用可能となった実デバイスを検知する。
 ステップS102において、制御ユニット11は、実デバイス登録部1151の制御の下、上記検知に係る実デバイスが利用可能となったことを登録するための、接続実デバイスのフラグの更新要求を、実デバイス情報記憶部126に送信する。
 ステップS103において、実デバイス情報記憶部126に記憶される接続実デバイスのフラグが、上記フラグの更新要求に応答して更新されて、上記検知に係る実デバイスが利用可能となったことが登録される。
 図9は、図3に示した制御ユニット11によって実行される実デバイス登録削除処理の一例を示すシーケンス図である。
 ステップS201において、実デバイス4A~4Nのうちの任意の実デバイスとデバイス連携システム1との接続が断たれる。
 ステップS202において、制御ユニット11は、実デバイス管理部115の実デバイス登録部1151の制御の下、接続が断たれた実デバイスを検知する。
 ステップS203において、実デバイス登録部1151の制御の下、上記検知に係る実デバイスが利用不可となったことを登録するための、接続実デバイスのフラグの更新要求を、実デバイス情報記憶部126に送信する。
 ステップS204において、実デバイス情報記憶部126に記憶される接続実デバイスのフラグが、上記フラグの更新要求に応答して更新されて、上記検知に係る実デバイスが利用不可となったことが登録される。
 (2)実デバイス割り当て決定シーケンス
 図10は、図3に示した制御ユニット11によって実行される実デバイス割り当て決定処理の一例を示すシーケンス図である。なお、当該実デバイス割り当て決定処理は、実デバイスを動的に割り当てる際に実行される処理である。
 先ず、ステップS301において、オペレータが入力部2にサービスプログラムを入力し、制御ユニット11は、サービスプログラム管理部111の登録管理部1111の制御の下、入力部2からサービスプログラムを取得し、当該取得されたサービスプログラムを登録する。
 ステップS302において、制御ユニット11は、登録管理部1111の制御の下、上記取得されたサービスプログラムをサービスプログラム記憶部121に記憶させる。
 ステップS303において、制御ユニット11は、登録管理部1111の制御の下、上記サービスプログラムに係る実デバイス割り当て要求を実デバイス割り当て決定部112に送信する。
 ステップS304において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、サービスプログラム記憶部121に記憶される上記サービスプログラムを読み出して取得する。
 ステップS305において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、論理デバイス情報記憶部122に記憶される論理デバイス情報を読み出して取得する。
 ステップS306において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、実デバイスインタフェース割り当て記憶部125に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
 ステップS307において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、実デバイス情報記憶部126に記憶される実デバイス情報を読み出して取得する。
 なお、ステップS304、ステップS305、ステップS306およびステップS307の処理は、上述したのとは異なる順序で実行してもよいし、あるいは、これらのうちの任意の処理を並列して実行してもよい。
 ステップS308において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、ステップS305において取得された論理デバイス情報と、ステップS306において取得された実デバイスインタフェース割り当て情報と、ステップS307において取得された実デバイス情報とに基づいて、上記サービスプログラムに係る実デバイス割り当てが可能か否かを決定し、実デバイス割り当てが可能な場合には実デバイス割り当てを決定する。なお、実デバイス割り当てが不可の場合には、制御ユニット11は、実デバイス割り当て決定部112の制御の下、例えば図示していない表示部における表示を用いて、オペレータに実デバイス割り当てが不可であることを通知する。
 ステップS308において実デバイス割り当てが決定された場合には、以下の処理がなされる。
 ステップS309において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、ステップS308において決定された実デバイス割り当てを書き込むための実デバイス割り当て情報更新要求を、実デバイス割り当て記憶部124に送信する。
 ステップS310において、実デバイス割り当て記憶部124に記憶される実デバイス割り当て情報が、上記実デバイス割り当て情報更新要求に応答して更新される。
 ステップS311において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、実デバイス割り当て記憶部124から送信される実デバイス割り当て情報更新完了通知を受信する。
 ステップS312において、制御ユニット11は、実デバイス割り当て決定部112の制御の下、例えば図示していない表示部における表示を用いて、オペレータに上記サービスプログラムに係る実デバイス割り当てが可能であったことを通知する。
 (3)サービスプログラム実行シーケンス
 図11は、図3に示した制御ユニット11によって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。
 先ず、ステップS401において、登録済みのサービスプログラムの実行要求をオペレータが入力部2を介して入力し、制御ユニット11は、サービスプログラム管理部111の実行管理部1112の制御の下、上記実行要求を取得する。
 ステップS402において、制御ユニット11は、実行管理部1112の制御の下、上記実行要求に係るサービスプログラムの実行処理を行う。
 ステップS403において、制御ユニット11は、実行管理部1112の制御の下、サービスプログラム記憶部121に記憶される、上記実行要求に係るサービスプログラムを読み出して取得する。
 ここで、次に説明するステップS404からステップS414の処理は、サービスプログラム実行時に、当該サービスプログラムに係るデバイス制御命令等のデータを実デバイスへ送信する際に実行される処理である。
 ステップS404において、制御ユニット11は、実行管理部1112の制御の下、実行中のサービスプログラムに係る制御命令等のデータを論理デバイス実デバイス変換部113に送信する。
 ステップS405において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、実デバイス割り当て記憶部124に記憶される実デバイス割り当て情報を読み出して取得する。
 ステップS406において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、ステップS405において読み出された実デバイス割り当て情報に基づいて、データ送信先の実デバイスを特定する。
 ステップS407において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、論理デバイスインタフェース実デバイスインタフェース変換部114にデータを送信する。
 ステップS408において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、実デバイスインタフェース割り当て記憶部125に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
 ステップS409において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、データ送信先の実デバイスインタフェースを特定する。
 ステップS410において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、外部システム3にデータを送信する。
 ステップS411において、外部システム3が、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするようにデータを変換する。
 ステップS412において、外部システム3は、上記データ変換後のデータをデバイス連携システム1に送信し、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、上記データ変換後のデータを取得する。
 ステップS413において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、外部システム3によるデータ変換後のデータを実デバイス管理部115に送信する。
 ステップS414において、制御ユニット11は、実デバイス管理部115の制御の下、実デバイス4A~4Nのうちの宛先の実デバイスにデータを送信する。
 なお、上記では、外部システム3におけるデータ変換を利用する場合について説明したが、本実施形態はこれに限定されず、外部システム3におけるデータ変換が不要な場合にはステップS410からステップS412の処理は省略されてもよい。
 図12は、図3に示した制御ユニット11によって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。
 ここで、次に説明するステップS501からステップS511の処理は、サービスプログラム実行時に、当該サービスプログラムに係る例えば計測データ等であるデバイス送信データを実デバイスから受信する際に実行される処理である。
 先ず、ステップS501において、実行中のサービスプログラムに係るデバイス送信データを実デバイス4A~4Nのうちの任意の実デバイスがデバイス連携システム1に送信し、制御ユニット11は、実デバイス管理部115の制御の下、当該送信されたデータを取得する。
 ステップS502において、制御ユニット11は、実デバイス管理部115の制御の下、上記取得されたデータを論理デバイスインタフェース実デバイスインタフェース変換部114に送信する。
 ステップS503において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、実デバイスインタフェース割り当て記憶部125に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
 ステップS504において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、データ送信先の論理デバイスインタフェースを特定する。
 ステップS505において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、外部システム3にデータを送信する。
 ステップS506において、外部システム3が、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするようにデータを変換する。
 ステップS507において、外部システム3は、上記データ変換後のデータをデバイス連携システム1に送信し、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、上記データ変換後のデータを取得する。
 ステップS508において、制御ユニット11は、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、外部システム3によるデータ変換後のデータを論理デバイス実デバイス変換部113に送信する。
 ステップS509において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、実デバイス割り当て記憶部124に記憶される実デバイス割り当て情報を読み出して取得する。
 ステップS510において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、ステップS509において読み出された実デバイス割り当て情報に基づいて、データ送信先の論理デバイスを特定する。
 ステップS511において、制御ユニット11は、論理デバイス実デバイス変換部113の制御の下、サービスプログラム管理部111の実行管理部1112にデータを送信する。
 なお、上記では、外部システム3におけるデータ変換を利用する場合について説明したが、本実施形態はこれに限定されず、外部システム3におけるデータ変換が不要な場合にはステップS505からステップS507の処理は省略されてもよい。
 <デバイス割り当て評価値の算出処理>
 以下では、ステップS308における実デバイス割り当てが可能か否かの決定処理および実デバイス割り当て決定処理の際に利用することができるデバイス割り当て評価値について詳細に説明する。
 先ず、論理デバイスおよび実デバイスを論理デバイスインタフェースの集合として次のように定義する。
 r={x|f(x),x∈X}
 d={x|q(x),x∈X}
 n∈N,m∈Mここで、r:論理デバイスnの論理デバイスインタフェースの集合d:実デバイスmの実デバイスインタフェースが対応する論理デバイスインタフェースの集合f(x):論理デバイスインタフェースxが論理デバイスnに所属するq(x):論理デバイスインタフェースxが実デバイスmに所属するX:論理デバイス情報記憶部122に記憶される論理デバイスインタフェースの全体集合N:論理デバイス情報記憶部122に記憶される論理デバイスの全体集合M:実デバイス情報記憶部126に記憶される接続中実デバイスの全体集合
 このとき、論理デバイスnを構成し得る実デバイス(=論理デバイスnの論理デバイスインタフェースを1つでも含む実デバイス)の集合をD、Dのべき集合をP(D)とすると、論理デバイスnを構成し得る実デバイスの組み合わせの集合DSは下記のように求められる。ここで、実デバイスが論理デバイスを構成または占有するとは、実デバイスに論理デバイスが割り当てられていることと同義なものとして使用しており、これは以下でも同様である。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 なお、以降の式では、サービスプログラムで利用するi番目の論理デバイスn[i]に対する実デバイスの組み合わせの集合をDS[i]、DS[i]に含まれるj番目の要素をp[i][j]、p[i][j]を構成する実デバイス数を|p[i][j]|、dを構成する論理デバイスインタフェース数を|d|、と各々定義する。
 サービスプログラムで利用する論理デバイスをn[1],…,n[N]
 各論理デバイスに割り当てる実デバイスの組み合わせf(p[i][j],…,p[N][j])の評価値を、第1の評価指標A11、第2の評価指標A12、第3の評価指標A21、および第4の評価指標A22を用いて次のように定める。
 f(p[i][j],…,p[N][j])=a1111+a1212+a2121+a2222ここで、a11,a12,a21,a22は定数である。
 このように第1の評価指標A11、第2の評価指標A12、第3の評価指標A21、および第4の評価指標A22のうちの少なくとも1つに基づく評価値を利用して、ステップS308における実デバイス割り当てが可能か否かの決定処理や実デバイス割り当て決定処理を実行することができる。
 ステップS308における実デバイス割り当てが可能か否かの決定処理では、例えば、上記評価値が第1の閾値を超えるような実デバイス割り当てがある場合に、実デバイス割り当てが可能であると決定するようにすることができる。
 また、ステップS308における実デバイス割り当て決定処理で決定される実デバイス割り当てを、例えば、上記評価値が第2の閾値を超える任意の実デバイス割り当てや、上記評価値が最大値をとる実デバイス割り当てとすることができる。
 1)第1の評価指標
 第1の評価指標A11および第2の評価指標A12は、自実デバイスまたは自論理デバイスによる占有に着目した評価指標である。
 第1の評価指標A11は、1論理デバイスの1実デバイスによる占有を考慮する指標であり、これは、本来1論理デバイスは1実デバイスで構成されることを想定していると考えて、1論理デバイスを少ない実デバイスで構成する割り当てほど良いとする考え方に基づくものである。
 第1の評価指標A11は次のように表される。
Figure JPOXMLDOC01-appb-M000003
ここで、b111,…,b11Nは0以上の定数である。
 A11は、1論理デバイスを構成する実デバイス数が1である場合に最大値をとり、1論理デバイスを構成する実デバイス数が多いほど最小値に近付く。
 図13は、第1の評価指標A11に係る概略を示す図である。
 2)第2の評価指標
 第2の評価指標A12は、1実デバイスの1論理デバイスによる占有を考慮する指標であり、これは、本来1論理デバイスは1実デバイスで構成されることを想定していると考えて、1実デバイスの論理デバイスインタフェースを全て利用する論理デバイスほどより良い割り当てとする考え方に基づくものである。
 第2の評価指標A12は次のように表される。
Figure JPOXMLDOC01-appb-M000004
ここで、b121,…,b12Nは0以上の定数である。
 A12は、1論理デバイスが有する論理デバイスインタフェースと実デバイスが有する論理デバイスインタフェースとが合致する場合に最大値を取り、1論理デバイスが有する論理デバイスインタフェースと実デバイスが有する論理デバイスインタフェースとに差分があるほど最小値に近い値を取る。
 図14は、第2の評価指標A12に係る概略を示す図である。
 3)第3の評価指標
 第3の評価指標A21および第4の評価指標A22は、他実デバイスまたは他論理デバイスとの重複に着目した評価指標である。
 第3の評価指標A21は、他実デバイスと重複する論理デバイスの論理デバイスインタフェースを考慮する指標であり、これは、第1の評価指標A11に加えて、論理デバイスを構成する実デバイスが他の構成実デバイスと重複する論理デバイスインタフェースを有する場合、当該実デバイスの組み合わせは論理デバイスインタフェースを有効に使えていないため好ましくないとする考えに基づくものである。
 第3の評価指標A21は次のように表される。
Figure JPOXMLDOC01-appb-M000005
ここで、b211,…,b21Nは0以上の定数である。
 A21は、1論理デバイスを構成する論理デバイスインタフェースに重複がない場合に最大値をとり、1論理デバイスを構成する論理デバイスインタフェースに重複があるほど最小値に近付く。
 図15は、第3の評価指標A21に係る概略を示す図である。
 4)第4の評価指標
 第4の評価指標A22は、他論理デバイスと重複する実デバイスの論理デバイスインタフェースを考慮する指標であり、これは、第2の評価指標に加えて、特定の論理デバイスに割り当てた実デバイスインタフェースが他論理デバイスに割り当てられていないほどよい割り当てとする考えに基づくものである。
 第4の評価指標A22は次のように表される。
Figure JPOXMLDOC01-appb-M000006
ここで、b22ik,b22iは0以上の定数である。
 A22は、1論理デバイスを構成する実デバイスと他の論理デバイスを構成する実デバイスとの重複がない場合に最大値をとり、1論理デバイスを構成する実デバイスと他の論理デバイスを構成する実デバイスとの重複が多いほど最小値に近付く。
 図16は、第4の評価指標A22に係る概略を示す図である。
 (効果)
 (1)サービスプログラム管理部111の登録管理部1111の制御の下、登録済みのサービスプログラムに係る実デバイス割り当て要求が実デバイス割り当て決定部112に送信される。実デバイス割り当て決定部112の制御の下、論理デバイス情報記憶部122から論理デバイス情報が取得され、実デバイスインタフェース割り当て記憶部125から実デバイスインタフェース割り当て情報が取得され、実デバイス情報記憶部126から利用可能な実デバイスに係る実デバイス情報が取得される。その後、実デバイス割り当て決定部112の制御の下、上記取得された論理デバイス情報と、上記取得された実デバイスインタフェース割り当て情報と、上記取得された実デバイス情報とに基づいて、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが可能か否かが決定され、可能な場合には、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが決定される。最後に、実デバイス割り当て決定部112の制御の下、上記決定された割り当てを書き込むための実デバイス割り当て情報更新要求が実デバイス割り当て記憶部124に送信され、実デバイス割り当て記憶部124に記憶される実デバイス割り当て情報が更新される。当該実デバイス割り当て情報に基づいて、上記サービスプログラムに係る論理デバイスと当該論理デバイスの割り当て先と決定された実デバイスとの間でのデバイス制御命令およびデバイス送信データの通信処理が行われ、上記サービスプログラムに係る論理デバイスの機能が実行される。
 このように利用可能な実デバイスに論理デバイスを動的に割り当てる処理では、例えば、互いに異なる種類の実デバイスに同一種類の論理的なデバイスを割り当てることや、1つの実デバイスに複数の論理デバイスを割り当てることも可能である。このため、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
 (2)実デバイス割り当て決定部112の制御下での、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが可能か否かの決定処理、および、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当ての決定処理が、上記第1の評価指標と、上記第2の評価指標と、上記第3の評価指標と、上記第4の評価指標とのうちの少なくとも1つに基づいて実行される。
 これらの評価指標を用いることにより、例えば、論理デバイスの関連する機能が出来る限り1つの実デバイスに割り振られるようにしたり、1つの論理デバイスの機能が複数の実デバイスに重複して割り振られて実デバイスインタフェースが有効に活用できなくなるようなことがないようにしたりする等、割り当て処理の基準を定めることができる。
 (3)上記デバイス制御命令およびデバイス送信データの通信処理において、次の処理が実行される。論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、外部システム3にデータが送信される。外部システム3により、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信が可能となるようにデータが変換される。その後、外部システム3により、上記データ変換後のデータがデバイス連携システム1に送信され、論理デバイスインタフェース実デバイスインタフェース変換部114の制御の下、上記データ変換後のデータが取得される。
 このような外部システム3と連携することにより、通常では対応不可能だった論理デバイスインタフェースと実デバイスインタフェースとの組み合わせも対応可能となり、すなわち、実デバイスインタフェースが仮想的に拡張可能となる。これにより、より多くの種類の実デバイスに論理デバイスを割り当てることが可能となる。
 [他の実施形態]
 なお、この発明は上記第1の実施形態に限定されるものではない。
 例えば、デバイス連携システムの構成や、論理デバイス情報記憶部、実デバイス割り当て記憶部、実デバイスインタフェース割り当て記憶部、実デバイス情報記憶部にそれぞれ記憶されるデータの構造等について、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
 要するにこの発明は、上記第1の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記第1の実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、上記第1の実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
 X…論理デバイス割り当て管理機能
 Y…論理デバイスインタフェース割り当て管理機能
 1…デバイス連携システム
 11…制御ユニット
 111…サービスプログラム管理部
 1111…登録管理部
 1112…実行管理部
 112…実デバイス割り当て決定部
 113…論理デバイス実デバイス変換部
 114…論理デバイスインタフェース実デバイスインタフェース変換部
 115…実デバイス管理部
 1151…実デバイス登録部
 12…記憶ユニット
 121…サービスプログラム記憶部
 122…論理デバイス情報記憶部
 123…論理デバイス記憶部
 124…実デバイス割り当て記憶部
 125…実デバイスインタフェース割り当て記憶部
 126…実デバイス情報記憶部
 13…通信インタフェースユニット
 2…入力部
 3…外部システム
 4A~4N…実デバイス
 NW…通信ネットワーク

Claims (7)

  1.  ハードウェアプロセッサおよびメモリを備える装置が実行するデバイス割り当て方法であって、
     所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する割り当て決定過程と、
     前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行過程と
     を備えるデバイス割り当て方法。
  2.  前記割り当て決定過程は、前記論理的なデバイスが有する論理的なデバイスインタフェースの各々と、実デバイスが備える実デバイスインタフェースとの対応関係を示す情報に基づいて、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備える、請求項1に記載のデバイス割り当て方法。
  3.  前記機能実行過程は、前記論理的なデバイスが有する論理的なデバイスインタフェースと前記決定された実デバイスが有する実デバイスインタフェースとの間でのデータ通信を可能とするように前記制御命令または前記データを変換するシステムと通信する過程を備える、請求項1又は2に記載のデバイス割り当て方法。
  4.  前記割り当て決定過程は、
      1つの論理的なデバイスが割り当てられる実デバイスの数が1から多くなるほど評価値が小さくなる第1の評価指標と、
      1つの論理的なデバイスが有する論理的なデバイスインタフェースと、当該論理的なデバイスが割り当てられる実デバイスが有する実デバイスインタフェースに対応する論理的なデバイスインタフェースとの合致の度合いが小さくなるほど評価値が小さくなる第2の評価指標と、
      1つの論理的なデバイスが割り当てられる実デバイス間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第3の評価指標と、
      1つの論理的なデバイスが割り当てられる実デバイスと他の論理的なデバイスが割り当てられる実デバイスとの間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第4の評価指標と
     のうちの少なくとも1つにさらに基づいて、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備える、請求項2又は3に記載のデバイス割り当て方法。
  5.  実デバイスを検知する過程をさらに備え、
     前記割り当て決定過程は、前記検知された実デバイスの中から、前記論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する過程を備える、請求項1乃至4のいずれかに記載のデバイス割り当て方法。
  6.  所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも1つの実デバイスを決定する割り当て決定部と、
     前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行部と
     を備えるデバイス割り当てシステム。
  7.  請求項1乃至5のいずれかに記載のデバイス割り当て方法が備える各過程を前記ハードウェアプロセッサに実現させるプログラム。
PCT/JP2019/009144 2018-03-15 2019-03-07 デバイス割り当て方法、システムおよびプログラム WO2019176739A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/980,676 US11249929B2 (en) 2018-03-15 2019-03-07 Evaluation index based device allocation method, system, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-047877 2018-03-15
JP2018047877A JP6731434B2 (ja) 2018-03-15 2018-03-15 デバイス割り当て方法、システムおよびプログラム

Publications (1)

Publication Number Publication Date
WO2019176739A1 true WO2019176739A1 (ja) 2019-09-19

Family

ID=67907068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/009144 WO2019176739A1 (ja) 2018-03-15 2019-03-07 デバイス割り当て方法、システムおよびプログラム

Country Status (3)

Country Link
US (1) US11249929B2 (ja)
JP (1) JP6731434B2 (ja)
WO (1) WO2019176739A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005197826A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ネットワーク上の複数ノードの一元管理装置
JP2011221634A (ja) * 2010-04-06 2011-11-04 Hitachi Ltd 計算機システム、論理区画管理方法及び論理分割処理プログラム
JP2014078083A (ja) * 2012-10-09 2014-05-01 Canon Inc 情報処理装置、その制御方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437505B2 (en) 2006-05-24 2008-10-14 Sun Microsystems, Inc. Logical to physical device topological location mappings
US8458368B2 (en) * 2009-05-26 2013-06-04 Oracle America, Inc. System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device
US8879483B2 (en) 2011-10-17 2014-11-04 International Business Machines Corporation Multi-device monitoring and control using intelligent device channel sharing
US10180852B2 (en) * 2013-06-04 2019-01-15 Vmware, Inc. High-performance processing in a virtualization environment
US9626324B2 (en) * 2014-07-08 2017-04-18 Dell Products L.P. Input/output acceleration in virtualized information handling systems
CN104216840B (zh) * 2014-09-11 2018-03-23 青岛海信移动通信技术股份有限公司 一种usb设置和对外部设备进行操作的方法及装置
US10402123B2 (en) 2016-06-07 2019-09-03 International Business Machines Corporation Sharing alias addresses among logical devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005197826A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ネットワーク上の複数ノードの一元管理装置
JP2011221634A (ja) * 2010-04-06 2011-11-04 Hitachi Ltd 計算機システム、論理区画管理方法及び論理分割処理プログラム
JP2014078083A (ja) * 2012-10-09 2014-05-01 Canon Inc 情報処理装置、その制御方法およびプログラム

Also Published As

Publication number Publication date
US20210026791A1 (en) 2021-01-28
US11249929B2 (en) 2022-02-15
JP2019160019A (ja) 2019-09-19
JP6731434B2 (ja) 2020-07-29

Similar Documents

Publication Publication Date Title
JP5391601B2 (ja) 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム
KR102144330B1 (ko) 캡슐화 가능한 pcie 가상화
JP2015001828A (ja) 割当プログラム、割当装置および割当方法
CN111273854B (zh) 多节点存储系统以及多节点存储系统的队列控制方法
US20180300188A1 (en) Method for bidirectional calling between open system and mainframe system performed by computing device
CN103455363A (zh) 一种虚拟机的指令处理方法、装置及物理主机
EP3159802A1 (en) Sharing method and device for pcie i/o device and interconnection system
WO2018181961A1 (ja) 仮想ネットワーク機能管理装置、仮想インフラストラクチャ管理装置、及び仮想ネットワーク機能構築方法
JP6579140B2 (ja) 変換装置、ホスト装置、入出力スイッチシステム、情報処理システム、方法およびプログラム
CN105786732B (zh) 数据访问方法及装置
WO2019176739A1 (ja) デバイス割り当て方法、システムおよびプログラム
CN111416722B (zh) 通信方法及装置
US20140281053A1 (en) I/o device control system and method for controlling i/o device
US11144242B2 (en) Distributed storage system
JPH04288638A (ja) コンピュータシステム
US11409565B2 (en) Methods, computing unit and memory pool for enabling usage of remote memory resources
US20160248882A1 (en) Management system and method
JP5305754B2 (ja) 情報処理装置、クライアント、情報処理方法およびプログラム
JP2008009926A (ja) 情報処理装置、情報処理システムおよびアドレス変換方法
JP7207835B2 (ja) 演算コプロセッサ、コンピュータシステム、制御方法及びプログラム
JP6736932B2 (ja) 情報処理システム、ストレージ装置、情報処理方法及びプログラム
US20200341928A1 (en) Information processing system
WO2022143583A1 (zh) 一种数据集成方法、装置及相关设备
JP7277206B2 (ja) 通信制御装置および方法
US20220157174A1 (en) Information processing device, information processing method, and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19768471

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19768471

Country of ref document: EP

Kind code of ref document: A1