Patent Description:
The present invention relates to management devices as well as management methods and a program therefor.

With the recent spread of Internet of Things (IoT) technology, data collection adopting a wide variety of sensors and analysis of the collected data have been advanced in various fields such as the manufacturing industry, the automobile industry (autonomous driving support), and agriculture. In the IoT, data generated by devices such as sensors (hereinafter, also referred to as "sensing devices" or "data transmitting terminals") connected to a network is collected on clouds and employed for various applications.

A vast number of wide-ranging sensing devices have been used. In addition, various types of data are generated by the sensing devices, and various types of applications using the generated data are available. In order to enhance IoT value creation, use of different kinds of data in combination is essential. There is an increasing demand for a technique of distributing and utilizing data across services of different fields (see Non-patent Literature <NUM>, for example).

<CIT> discloses a system, method and apparatus for node selection of a sensor network. Multiple sensor networks can operate in or around a monitored location. Nodes can be organized amongst the multiple sensor networks using remote configuration updates that are provided by a host system to a sensor network node.

<CIT> discloses a rule distribution device, an event processing system, a rule distribution method, and a rule distribution program. The rule distribution device includes: a rule reception unit (<NUM>) for receiving processing rules that stipulate event processes requested by applications and event conditions used to execute the event processes; a key attribute determination unit (<NUM>) for determining key attributes among the attributes included in the event conditions of the processing rules; a rule distribution destination calculation unit (<NUM>) for distributing a processing rule to a processing device selected from among the processing devices associated with the key attributes; and a distribution rule generation unit (<NUM>) for generating an event distribution rule that distributes an event output from a terminal to a processing device to which a processing rule that processes the event is distributed and for distributing the event distribution rule to an event distribution device installed between the processing device and the terminal.

<CIT>) discloses a relay device that includes: a data reception unit for receiving frames from a plurality of devices that transmit the frames including data to a prescribed server; a data selection unit for selecting frames in which a value of data meets a prescribed aggregation possible condition among the frames received from the devices; a data aggregation unit for aggregating the data in the selected frames into a prescribed format; and a data transmission unit for transmitting a frame including the aggregated data to the prescribed server.

<CIT> discloses an apparatus that includes a processor and storage to store instructions that cause the processor to perform operations including: receive an indication of completion of a first task with a first partition such that the first node device is available to assign to perform another task; delay assignment of performance of a second task on a second partition to the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition and availability of the first node device; determine whether an indication of completion of the first task with the second partition such that the second node device is available to assign to perform another task is received within the predetermined period of time; and assign performance of the second task on the second partition to the second node device based on the determination.

<CIT> discloses a M2M gateway <NUM> that acquires sensor list information indicating a list of a sensor <NUM> on each sensor device <NUM> connected by a sensor network <NUM> and transmits the sensor list information to a M2M server <NUM>. The M2M gateway <NUM>, after transmitting the sensor list information, performs long polling communication so as to continuously wait until sensor data transmission instruction information indicating transmission conditions of sensor data returns from the M2M server <NUM> while maintaining connection with the M2M server <NUM>. The M2M gateway <NUM>, upon receiving the sensor data transmission instruction information from the M2M server <NUM>, disconnects connection with the M2M server, subsequently, reconnects to the M2M server <NUM> to perform the long polling communication again.

<CIT> discloses that a device receives data regarding a topology of a network. Traffic data for one or more data links in the network and performance data for the one or more data links are also received. A data rate change is simulated for the one or more data links using the topology data, traffic data, and performance data. Based on the simulated data rate change, a data rate change command is provided to one or more nodes associated with the one or more data links.

[NON-PATENT LITERATURE <NUM>] "OneM2M The Interoperability Enabler for The Entire M2M and IoT Ecosystem," OneM2M White Paper, January <NUM>.

Conventionally, data from sensing devices provided with a sensor function of acquiring a wide variety of data is transmitted to a database server via a wireless network or a fixed network and temporarily stored therein. The database server stores the data received from the sensing devices in the database, using the time points and the device IDs as keys. An application server that desires to use data needs to select and acquire specific data required for the operation of the application from among the data accumulated in the database. For instance, an application on the application server may issue a query such as SQL to a database to acquire the necessary data. Since the database stores data of time points spanning from the past to the present, data narrowed to a specific time point can be acquired by entering a specific criterion. Data narrowed to a specific device ID can also be acquired by entering a specific criterion.

With a vast amount of data different in data size, acquisition date and time, and acquisition frequency stored in the database, it takes a long time for an application to select (search for) and extract a specific desired data item from the database, which is not efficient.

Furthermore, data items transmitted from the sensing devices differ in data size and acquisition frequency. If a large amount of data is transmitted from devices, or a large number of devices are involved, the data transmitted from the sensing devices amounts to a large volume, causing congestion in different network segments, for example between the sensing devices and the server and between the server and the applications.

The present invention has been conceived in view of the above circumstances. The object of the present invention is to provide a network management technique that can realize efficient acquisition of various data items transmitted from sensing devices while reducing network congestion.

The solution to the problem is according to the claims.

Various data items transmitted from a plurality of terminals are temporarily fetched by a relay device arranged between the terminals and destination devices. In response to an instruction from a network management device, the relay device distributes data items and integrates them for individual destination devices so that the integrated data can be directly transmitted from the relay device to the individual destination devices. As a result, individual destination devices can efficiently acquire the desired data without the need to retrieve a specific data item from a database that stores a vast amount of wide-ranging data. This can significantly reduce the processing load of the destination devices, and also can improve the responsiveness of the application in a destination device using the data. Furthermore, with the traffic minimized between the relay device and the destination devices, the network congestion can be reduced.

The network management device monitors the performance of a network associated with the relay device, and transmits a control signal for controlling a transmission amount of data to a terminal transmitting the data or the relay device in accordance with the monitoring result. When it is determined, as a result of monitoring the performance of the network, that the load of the network or the relay device has been increased, the transmission amount from the terminal or the relay device can be controlled so as to reduce the load. Thus, the congestion of the entire network and the processing load of the relay device can be flexibly and effectively reduced.

That is, according to the present invention, a network management technique can be offered which can efficiently acquire various data items transmitted from terminals, while reducing the network congestion.

The present invention will be described below by referring to the drawings.

<FIG> is a diagram showing the overall configuration of a network management system <NUM>. The system <NUM> includes a plurality of sensing devices SD1, SD2, SD3,. , SDn (which may also be together referred to as "sensing devices SD") as data transmitting terminals capable of communicating with each other via communication networks NW1, NW2, and NW3; destination servers DSV1, DSV2,. , DSVn (which may also be together referred to as "destination servers DSV") as destination devices, a relay server <NUM> as a relay device, and a management server <NUM> as a management device for managing the entire network including these devices.

Each of the communication networks NW1, NW2, and NW3 includes an Internet Protocol (IP) network such as the Internet, and a plurality of access networks for making an access to the IP network. As an access network, not only a wired network using optical fibers, but also a cellular phone network operating under a standard such as <NUM> or <NUM>, or a wireless local area network (LAN) can be adopted. The communication networks NW1, NW2, and NW3 need not be separate networks, and two or three of NW1, NW2, and NW3 may constitute a single network. These communication networks NW1, NW2, and NW3 may be together referred to as networks NW.

A sensing device SD that serves as a data transmitting terminal may be an IoT device having a plurality of sensor functions, which collects various data in any desired field such as the manufacturing industry, the automobile industry (autonomous driving), agriculture, medicine, health care, the distribution industry, the financial industry, and other service industries. The sensing device SD transmits the collected data to the relay server <NUM> through the network NW. Furthermore, the operation of the sensing device SD is managed by the management server <NUM> through the network NW.

A destination server DSV may be an application server or a database server (including a server managed and operated on the Web, for example, by a service provider) configured to perform predetermined processing based on the data collected by the sensing devices SD. The destination server DSV receives necessary data from the relay server <NUM> through the network NW. Furthermore, the operation of the destination server DSV is managed through the network NW by the management server <NUM>.

The relay server <NUM> may include a server computer, a personal computer, or the like. The relay server <NUM> is arranged between the sensing devices SD and the destination servers DSV by way of the network NW to receive data collected by the sensing devices SD and relay the data to individual destination servers DSV. Furthermore, the operation of the relay server <NUM> is managed by the management server <NUM> through the network NW.

The relay server <NUM> may receive the data transmitted by the sensing devices SD through the network NW, receive an instruction from the management server <NUM>, identify, classify, integrate and store the data required by individual destination servers DSV in accordance with the instruction, and thereafter transmit the data to the corresponding destination servers DSV. Integrating data indicates creating a single archive from plural types of data having the same data creation date/time, using a compression technique such as ZIP. Moreover, the relay server <NUM> can also determine the priority order for the integrated data based on the instruction from the management server <NUM>, and relay the integrated data to the destination servers DSV. For instance, priority control may be performed in a manner such that, among the destination servers DSV, the integrated data is transmitted to the application server ASV with a higher priority, while the integrated data is transmitted to the database server DBSV when there is leeway in the load of the network or the server.

The management server <NUM> communicates with the sensing devices SD, the relay server <NUM>, and the destination servers DSV through the network NW, and manages and controls their operations. The management targets of the management server <NUM> are therefore not limited to the network NW. The configurations of the management server <NUM> and the relay server <NUM> will be further described.

<FIG> is a block diagram showing an example of the hardware configuration of the management server <NUM> illustrated in <FIG>.

The management server <NUM> may be a server computer, a personal computer, or the like, and may include a hardware processor 12A such as a central processing unit (CPU). To this hardware processor 12A, a program memory 12B, a data memory <NUM>, and a communication interface <NUM> are connected through a bus <NUM>.

The communication interface <NUM> enables data to be transmitted to and received from various devices through the network NW. As a communication protocol, the protocol defined by the network NW is employed. The communication interface <NUM> may include one or more wired or wireless communication interfaces. As a wired interface, a wired LAN may be employed. As a wireless interface, an interface adopting a low-power wireless data communication standard such as a wireless LAN or Bluetooth (registered trademark) may be employed.

The program memory 12B serves as a storage medium, for which a combination of a nonvolatile memory such as a hard disk drive (HDD) or a solid state drive (SSD), in which writing and reading can be conducted at any time, and a nonvolatile memory such as a read only memory (ROM) may be used. Programs necessary for executing various processes are stored therein.

The data memory <NUM> serves as a storage medium, for which a combination of a nonvolatile memory such as an HDD or SSD, in which writing and reading can be conducted at any time, and a volatile memory such as a random access memory (RAM) may be used. The data memory <NUM> is used for storage of data acquired and created during various processes.

<FIG> is a block diagram showing the software configuration of the management server <NUM> of <FIG> associated with the hardware configuration of <FIG>.

As described above, the management server <NUM> can communicate through the network NW with the sensing devices SD1,. , SDn that serve as data transmitting terminals, the relay server <NUM>, the application servers ASV1,. , ASVn (which may also be referred to together as "application servers ASV") and database servers DBSV1,. , DBSVn (which may also referred to as "database servers DBSV") that serve as destination servers DSV. As mentioned above, the sensing devices SD may include various devices. An application server ASV may include one or more applications. Similarly, a database server DBSV may include one or more databases. The destination servers DSV may include, in addition to the application servers ASV and the database servers DBSV, various devices that employ the data transmitted by the sensing devices SD.

The storage area of the data memory <NUM> includes a sensing device information storage unit <NUM>, a device-relay server NW performance storage unit <NUM>, a relay server-application server NW performance storage unit <NUM>, a relay server-database server NW performance storage unit <NUM>, a relay server information storage unit <NUM>, an application server information storage unit <NUM>, and a database server information storage unit <NUM>.

The sensing device information storage unit <NUM> is used for storage of information relating to individual sensing devices SD, such as the type and transmission frequency of data generated by the sensing devices SD.

The device-relay server NW performance storage unit <NUM> is used for storage of information on the network performance between each of the sensing devices SD and the relay server <NUM>.

The relay server-application server NW performance storage unit <NUM> is used for storage of information on the network performance between the relay server <NUM> and the application servers ASV.

The relay server-database server NW performance storage unit <NUM> is used for storage of information on the network performance between the relay server <NUM> and the database servers DBSV. The NW performance storage units <NUM> and <NUM> need not be separate units, and may be integrated as a single storage unit.

The relay server information storage unit <NUM> is used for storage of information relating to the relay server <NUM>, for example the load information of the relay server <NUM> (e.g., the amount of data received by the relay server <NUM>, and the ratio of a storage area occupied by the temporarily stored sensing data).

The application server information storage unit <NUM> is used for storage of the information on individual application servers ASV, such as information regarding the data required by the application servers ASV.

The database server information storage unit <NUM> is used for storage of the information on individual database servers DBSV, such as information regarding the data stored in the database servers DBSV.

The processing unit <NUM> includes the hardware processor 12A and the program memory 12B. As software-based process functioning units, the processing unit <NUM> includes a sensing device management unit <NUM>, a network performance monitor unit <NUM>, a relay server management unit <NUM>, an application server management unit <NUM>, and a database server management unit <NUM>. These process functioning units are realized by causing the hardware processor 12A to execute programs stored in the program memory 12B. The processing unit <NUM> may be implemented in various other forms, including an integrated circuit such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

The sensing device management unit <NUM> is provided with functions of managing the information of all the sensing devices SD under the relay server <NUM> and adjusting the format of data transmitted from the sensing devices SD and the transmission frequency of such data, in cooperation with the relay server management unit <NUM>. The sensing device management unit <NUM> includes a sensing device information acquisition unit <NUM> and a sensing data transmission control unit <NUM>.

The sensing device information acquisition unit <NUM> is configured to acquire information on the individual sensing devices SD via the communication interface <NUM>, and store the acquired information in the sensing device information storage unit <NUM>. The acquired information of a sensing device SD may include a device ID, a type of data generated by the device, a format of the data, and a transmission frequency of the data.

The sensing data transmission control unit <NUM> functions as a transmission control unit for control signals issued to the sensing devices SD, and performs a process of transmitting to each sensing device SD a signal indicating a data transmission frequency, a format of data that is to be transmitted, and the like. For instance, if the load of the relay server <NUM> reaches or exceeds a certain level upon arrival of a large amount of data at the relay server <NUM>, the load of the relay server <NUM> can be reduced by reducing the transmission frequency of data from the sensing devices SD or by adopting a data format having a smaller data size. Each sensing device SD transmits data to the relay server <NUM> in accordance with the data transmission frequency and the data format specified by the sensing data transmission control unit <NUM>.

The network performance monitor unit <NUM> monitors the performance of a network relating to the management server <NUM> or the relay server <NUM>. The network performance monitor unit <NUM> includes a device-relay server NW monitor unit <NUM>, a relay server-application server NW monitor unit <NUM>, and a relay server-database server NW monitor unit <NUM> in order to track the performance information of each network segment. As the network performance, performance information such as the maximum bandwidth and the current usage rate of the network may be monitored. Alternatively, the number of bytes per unit time (bytes/sec) of reception/transmission data at the reception or transmission port of the relay server <NUM> may be monitored as network performance. The network performance monitor unit <NUM> may further calculate the optimal frequency of the transmission from each sensing device SD or the relay server <NUM> in a manner that can reduce the network congestion, and notify the sensing device management unit <NUM> of the value of the calculated optimal frequency.

The device-relay server NW monitor unit <NUM> is configured to monitor the network performance between each of the sensing devices SD and the relay server <NUM>.

The relay server-application server NW monitor unit <NUM> is configured to monitor the network performance between the relay server <NUM> and each of the application servers ASV.

The relay server-database server NW monitor unit <NUM> is configured to monitor the network performance between the relay server <NUM> and each of the database servers DBSV.

The relay server management unit <NUM> is configured to monitor the load of the relay server <NUM>, manage the scheme of integrating data on the relay server <NUM>, and instruct the relay server <NUM> on the integration scheme. The relay server management unit <NUM> includes a relay server load monitor unit <NUM>, a data integration instruction unit <NUM>, and a relay control unit <NUM>.

The relay server load monitor unit <NUM> is configured to monitor the load of the relay server <NUM>. The relay server load monitor unit <NUM> can directly monitor the load of the relay server <NUM> by monitoring, for example, the amount of data received by the relay server <NUM> or the free space of the memory. Alternatively, the relay server load monitor unit <NUM> may estimate the load of the relay server <NUM> indirectly from the monitoring result obtained by the network performance monitor unit <NUM>. The relay server load monitor unit <NUM> may further determine whether the load of the relay server <NUM> exceeds a predetermined threshold.

The data integration instruction unit <NUM> functions as a relay data instruction unit, and is configured to instruct the relay server <NUM> regarding the attributes of data to be relayed to individual destination servers DSV based on the requests from the destination servers DSV. The attributes of the data comprise the the data type and the data format. According to further examples the attributes may also include the date and time of data acquisition, the ID of the sensing device that has collected and transmitted the data. The data integration instruction unit <NUM> generates and transmits a signal for instructing the relay server <NUM> to identify, sort and integrate the data items to be relayed to individual destination servers DSV. The data integration instruction unit <NUM> is configured to instruct the relay server <NUM> regarding the scheme of integrating data items to be relayed to the application server ASV (application data) and the scheme of integrating data items to be relayed to the database server DBSV (database data). For example, the data integration instruction unit <NUM> may instruct the relay server <NUM> to select and integrate, for a specific application server ASV1, data items having a specific data format and obtained within a specific time frame.

The relay control unit <NUM> functions as a transmission control unit for a control signal to the relay server <NUM>, and is configured to control the transmission (relay) from the relay server <NUM> to individual destination servers DSV based on the monitoring result of the network performance and the load of the relay server <NUM>. For example, when it is determined that the network performance has been lowered, the relay control unit <NUM> prioritizes the destination servers DSV to suppress the amount of communication. The relay control unit <NUM> generates and transmits a control signal to the relay server <NUM> to instruct transmission to a destination server having a higher priority at a higher transmission frequency, and to a destination server having a lower priority at a lower transmission frequency.

In this manner, the relay server management unit <NUM> has a function of adjusting the loads of the network and the relay server <NUM> in cooperation with the sensing device management unit <NUM>. For example, if the load of the relay server <NUM> reaches or exceeds a certain level upon arrival of a large amount of data at the relay server <NUM>, the load of the relay server <NUM> can be lowered by reducing the frequency of data transmission from the sensing device SD or by adopting a data format having a smaller data size.

The application server management unit <NUM> manages which data of the sensing devices SD is required by each application included in the application servers ASV among the destination servers DSV. The application server management unit <NUM> may serve as a request receiving unit, receiving a request for data (or an attribute thereof) required by an application from an application server ASV, and is configured to store the information included in the received request in the application server information storage unit <NUM>. The application server management unit <NUM> is further configured to notify the relay server management unit <NUM> that the request has been received. The application server management unit <NUM> may manage a single application server ASV or multiple application servers ASV.

The database server management unit <NUM> manages which data of the sensing devices SD should be stored in which of the databases included in the database servers DBSV among the destination servers DSV. The database server management unit <NUM> may serve as a request receiving unit, receiving from each database server DBSV a request regarding data to be stored in a database, and is configured to store the information included in the received request in the database server information storage unit <NUM>. The database server management unit <NUM> is further configured to notify the relay server management unit <NUM> that the request has been received. The database server management unit <NUM> may manage a single database server DBSV or multiple database servers DBSV.

<FIG> is a block diagram showing an exemplary hardware configuration of the relay server <NUM> illustrated in <FIG>.

The relay server <NUM> may be a server computer, a personal computer, or the like, and may include a hardware processor 22A such as a CPU. The relay server <NUM> is constituted by connecting a program memory 22B, a data memory <NUM>, and a communication interface <NUM> to the hardware processor 22A via a bus <NUM>.

The program memory 22B serves as a storage medium, for which a combination of a nonvolatile memory such as an HDD or SSD, in which writing and reading can be conducted at any time, and a nonvolatile memory such as a ROM may be used. Programs necessary for executing various processes are stored therein.

The data memory <NUM> serves as a storage medium, for which a combination of a nonvolatile memory such as an HDD or SSD, in which writing and reading can be conducted at any time, and a volatile memory such as a RAM may be used. The data memory <NUM> is used for storage of data acquired and created during the various processes.

<FIG> is a block diagram showing the software configuration of the relay server <NUM> of <FIG> associated with the hardware configuration of <FIG>.

As described above, the relay server <NUM> can communicate through the network NW with the sensing devices SD1,. , SDn, the management server <NUM>, and also with the application servers ASV1,. , ASVn, and the database servers DBSV1,. , DBSVn that serve as the destination server DSV. As mentioned earlier, the sensing device SD may include various devices. An application server ASV may include one or more applications. Similarly, a database server DBSV may include one or more databases. The destination server DSV may include, in addition to the application servers ASV and the database servers DBSV, various devices that employ the data transmitted by the sensing devices SD.

The storage area of the data memory <NUM> includes a sensing data storage unit <NUM>, a data integration instruction storage unit <NUM>, and a relay instruction storage unit <NUM>.

The sensing data storage unit <NUM> is used for storage of the data acquired from individual sensing devices SD together with device IDs, time information, and the like.

The data integration instruction storage unit <NUM> is used for storage of an instruction received from the management server <NUM> regarding integration of the data items to be relayed to individual destination servers DSV.

The relay instruction storage unit <NUM> is used for storage of the instructions received from the management server <NUM> regarding relay (transmission) from the relay server <NUM> to individual destination servers DSV.

The processing unit <NUM> includes the hardware processor 22A and the program memory 22B. As software-based process functioning units, the processing unit <NUM> includes an information acquisition unit <NUM> and a relay data processing unit <NUM>. These process functioning units are implemented when the hardware processor 22A executes a program stored in the program memory 22B. The processing unit <NUM> may also be implemented in various other forms, including integrated circuits such as ASIC and FPGA.

The information acquisition unit <NUM> acquires various kinds of information, and includes a sensing data acquisition unit <NUM>, a data integration instruction acquisition unit <NUM>, and a relay instruction acquisition unit <NUM>.

The sensing data acquisition unit <NUM> acquires data transmitted from the sensing devices SD through the communication interface <NUM>, and stores the data in the sensing data storage unit <NUM>.

The data integration instruction acquisition unit <NUM> is configured to acquire an instruction regarding integration of the data to be relayed to individual destination servers DSV from the management server <NUM> through the communication interface <NUM> and store the instruction in the data integration instruction storage unit <NUM>.

The relay instruction acquisition unit <NUM> is configured to acquire, from the management server <NUM> through the communication interface <NUM>, an instruction regarding relay (transmission) of the data from the relay server <NUM> to individual destination servers DSV and store the instruction in the relay instruction storage unit <NUM>.

The relay data processing unit <NUM> performs various kinds of processing on the relay data based on various types of information acquired by the information acquisition unit <NUM>, and includes a data integration unit <NUM> and a relay data transmission control unit <NUM>.

The data integration unit <NUM> reads the data integration instruction stored in the data integration instruction storage unit <NUM>, and identifies what information is required by the individual destination servers DSV based on the instruction. If the data items required by the destination servers DSV are included in the plural types of data stored in the sensing data storage unit <NUM>, the data items are read out, sorted and integrated in accordance with the destination servers DSV. The integrated data is output to the relay data transmission control unit <NUM>. Alternatively, the integrated data may be temporarily stored in a storage unit that is not shown in the drawings.

The relay data transmission control unit <NUM> is configured to read the relay instruction stored in the relay instruction storage unit <NUM> and control the relay of the data to the individual destination servers DSV based on the instruction. For example, the relay data transmission control unit <NUM> may relay (transmit) the integrated data to the destination servers DSV in accordance with the transmission frequency or transmission priority designated for each of the destination servers DSV, based on the relay instruction.

If a large amount of data is transmitted from the sensing devices SD, or if a large number of sensing devices SD are involved, there is a possibility that congestion of the network may occur if all the received sensing data items are relayed with a high priority. Even if this happens, network congestion can be reduced by controlling the transmission (relay) from the relay server <NUM> in a manner such that, in accordance with the network performance, only specific data out of plural types of data transmitted from the sensing devices SD is transmitted with high priority, or only data of a device having a specific device ID is transmitted with high priority.

The network management system <NUM> of the present invention can be realized by a computer and a program. The program can be stored in a storage medium or provided through a network.

Next, the information processing operations of the devices in the network management system <NUM> configured as above will be described. <FIG> is a sequence diagram showing the procedure and descriptions of the processing, and <FIG> is a diagram showing a data flow in the system <NUM>.

The network management system <NUM> shown in <FIG> and <FIG> includes a plurality of sensing devices SD as data transmitting terminals, application servers ASV and database servers DBSV as destination devices or destination servers, a relay server <NUM> arranged between the sensing devices SD and the application servers ASV/database servers DBSV, and a management server <NUM> communicable with these devices. It is assumed in <FIG> and <FIG> that communications are established in advance via a network between the sensing devices SD and the relay server <NUM>, between the relay server <NUM> and the destination servers (application servers ASV and database servers DBSV), and between the management server <NUM> and each of the sensing devices SD, the relay server <NUM>, and the destination servers.

Each sensing device SD is a device provided with a sensor function for acquiring different types of data (e.g., temperature, humidity, image and sound). These types of data have different data sizes and different frequencies of acquisition. For instance, temperature data is small and can be acquired every second, whereas image data is large and can be acquired every minute. It is assumed for the sake of convenience that the devices SD1,. , SDn are provided with the same function, each generating the same four types of data, namely, data A, data B, data C, and data D. The application servers ASV and the database servers DBSV may be installed in different sites.

Each of the sensing devices SD transmits to the relay server <NUM> various types of data in a predetermined data format at a predetermined transmission frequency, together with information indicating an ID for device identification and an acquisition date and time.

The above data is acquired by the relay server <NUM> and stored in the sensing data storage unit <NUM> at step S101.

At step S102, the management server <NUM> receives a request for necessary data from individual destination servers DSV (from the application servers ASV1,. , ASVn and the database servers DBSV1,. , DBSVn) under the control of the application server management unit <NUM> and the database server management unit <NUM>, respectively. The application server management unit <NUM> acquires information on the data required by each application placed under its management, stores the information in the application server information storage unit <NUM>, and notifies the relay server management unit <NUM> of the information. The database server management unit <NUM> acquires information on the data that should be stored in each of the databases placed under its management, stores the information in the database server information storage unit <NUM>, and notifies the relay server management unit <NUM> of the information.

As shown in <FIG>, of the data A, data B, data C and data D, two types of data, data A and data B, are required for the operation of application #<NUM> included in the application server ASV1, while four types of data, data A, data B, data C and data D, are required for database #<NUM> included in the database server DBSV1. The processing orders of the data acquisition by the relay server <NUM> and the request reception by the management server <NUM> are illustrated merely for the sake of simplicity in <FIG>, and these processes may be performed in the order and at the timing as defined by the appended claims.

Upon receiving the request from a destination server DSV through the application server management unit <NUM> and the database server management unit <NUM>, the management server <NUM> generates and transmits a data integration instruction to instruct the relay server <NUM> to integrate data items that are to be relayed to the destination server DSV under the control of the relay server management unit <NUM> at step S103. For instance, the management server <NUM> may transmit a data integration instruction to the relay server to integrate the data A and the data B for the application #<NUM> or to integrate the data A, data B, data C and data D for the database #<NUM>.

At step S104, the relay server <NUM>, which has received this data integration instruction, selectively reads from the sensing data storage unit <NUM> the data required for each destination server DSV from among the data items transmitted from the sensing devices SD, and combines the read-out data items, under the control of the data integration unit <NUM>. For instance, for the application #<NUM> included in the application server ASV1, the relay server <NUM> reads the data A and the data B from the data items transmitted from the sensing devices SD, and performs a process of archiving (compressing) the data A and the data B into a single file. Similarly, the relay server <NUM> selectively reads the data A, data B, data C, and data D required by the database #<NUM> included in the database server DBSV1 from the sensing data storage unit <NUM> and integrates the data into a single file, under the control of the data integration unit <NUM>.

When the application server ASV1 includes a plurality of applications, data items may be selected and integrated for individual applications, and the integrated data may be reintegrated for the application server ASV1.

At step S105, the management server <NUM> monitors the network performance, such as the maximum bandwidth and current usage rate of the network, and determines whether the bandwidth of the network is sufficient, under the control of the network performance monitor unit <NUM>. Any network can be included as a monitoring target. It is assumed for the sake of convenience that the network between the relay server and the destination servers DSV is monitored at step S105.

At step S106, under the control of the network performance monitor unit <NUM> and the relay server management unit <NUM>, the management server <NUM> is configured to generate a data relay instruction for controlling the operation of the relay server <NUM> so as to reduce the load of the communication path based on the result of monitoring the network performance, and transmit this instruction to the relay server <NUM>. If it is determined that the bandwidth of the network is not sufficient, the management server <NUM> can generate an instruction to lower the transmission frequency of the data to be transmitted from the relay server <NUM> to the database servers DBSV and transmit the instruction to the relay server <NUM> so as to relay the data preferentially from the relay server <NUM> to the application servers ASV, without causing any network congestion.

Upon receiving the data relay instruction from the management server <NUM>, the relay server <NUM> relays (transmits) the integrated data to the individual destination servers DSV in accordance with this instruction at step S107. For instance, the relay server <NUM> may lower the frequency of the transmission to the database servers DSBV and transmit the data preferentially to the application servers ASV. In this manner, the data can be efficiently relayed to the application servers without causing network congestion.

Furthermore, at step S108, the management server <NUM> monitors the network performance between the sensing devices SD and the relay server <NUM> and the load of the relay server <NUM>. For instance, the management server <NUM> may monitor the amount of data received by the relay server <NUM> under the control of the relay server load monitor unit <NUM>.

The management server <NUM> is configured to suppress the amount of transmission from the sensing devices SD to the relay server <NUM> when it is determined that the network performance has been lowered or that the amount of data received by the relay server <NUM> exceeds a certain threshold. That is, at step S109, the management server <NUM> generates a data transmission instruction indicating the optimal transmission frequency or transmission data format and transmits the instruction to the sensing devices SD, under the control of the sensing data transmission control unit <NUM>.

Upon receiving the data transmission instruction from the management server <NUM>, each sensing device SD continues to transmit data to the relay server <NUM> in accordance with the instructed transmission frequency or data format.

As described above, the operations in <FIG> are merely shown in an exemplary order for the sake of convenience. The operations are not limited to the example of <FIG>, and can be performed in the order and at the timing as defined by the appended claims.

As described above, for the use of data including IoT-use information through a network, the relay server <NUM> is arranged between the sensing devices SD that acquire the data and the destination servers DSV that use the data, and multiple data items are integrated on a communication path. In this manner, data exchange can be realized in which data can be efficiently collected from a wide variety and vast number of the sensing devices SD, and the data can be suitably transmitted to and received from various applications in a scalable manner.

That is, in a case of accumulating data from the sensing devices SD and using the data for an application, the data is sorted and integrated on the relay server <NUM> so that the data can be efficiently relayed to the application servers ASV and the database servers DBSV. The application server ASV receives only the data required by the server itself from the relay server <NUM>, and therefore does not need to retrieve the required data from a massive amount of data stored in the database. Even if the data is transmitted from a vast number of sensing devices SD, the relay server <NUM> sorts and relays only the required data so that each application can efficiently and directly acquire data. Even when the number of applications placed under its management increases, the management server <NUM> can perform the optimum data integration for each application on the relay server <NUM> and thereby efficiently transmit the data from the relay server <NUM> to individual application servers ASV.

There has been a problem wherein the network segment from the sensing devices to the database is congested when a large amount of data is transmitted from the sensing devices or when a large number of devices are involved, increasing the amount of data transmission. However, by arranging the relay server <NUM> between the sensing devices SD and the destination servers DSV and having the sensing device management unit <NUM> and the relay server management unit <NUM> cooperate with each other in the relay server <NUM>, the format and transmission frequency of the data transmitted from the sensing devices SD can be adjusted in accordance with the network performance. For instance, when a large amount of data is received by the relay server <NUM> and the load of the network or the relay server <NUM> exceeds a certain threshold value, the frequency of data transmission from the sensing devices SD can be lowered or a data format having a smaller data size can be adopted so that the load of each network and the relay server <NUM> can be reduced. That is, the network performance monitor unit <NUM> notifies the sensing device management unit <NUM> of the performance of the network from the sensing devices SD to the relay server <NUM> so that the management server <NUM> can control the transmission frequency of data transmitted from each of the sensing devices SD and set the frequency to an optimum value, thereby avoiding network congestion.

Similarly, the network performance monitor unit <NUM> notifies the relay server management unit <NUM> of the performance of the network from the relay server <NUM> to the destination servers DSV so that the management server <NUM> can optimally control the transmission frequency or transmission priority of data relayed (transmitted) from the relay server <NUM>, and the congestion of the network between the relay server <NUM> and the destination servers DSV can be thereby avoided. Furthermore, as described above, by determining the priority order in relaying the data from the relay server <NUM> to the destination servers DSV, the utilization efficiency of communication resources can be enhanced while avoiding congestion.

As discussed above, data can be efficiently used in an IoT environment in which a wide variety of information is acquired as a large amount of sensing data, by integrating a plurality of data items on a communication path. As a result, a wide variety of data can be distributed and used across services in different fields, and further value creation can be realized in the IoT.

A network management system <NUM> according to the following illustrative example, which is not part of the present invention, is a driving support system for an automobile having a network communication function. For this illustrative example, the same configuration as the one described with reference to <FIG> may be adopted. The same reference numerals will be used below.

An exemplary network management system <NUM> according to the illustrative example can be implemented as follows:.

In general, a vehicle SD carries a plurality of sensors such as a GPS receiver, a gyro sensor, a camera, and a LiDAR distance measuring sensor so that the position of the vehicle itself and its surroundings can be sensed. The vehicle SD is further equipped with an in-vehicle device (not shown) having a communication function, and this in-vehicle device collects the sensor data. The device also mirrors a controller area network (CAN) communication packet and thereby collects information on the internal configuration of the vehicle such as the revolutions of the engine, the opening of the accelerator, the brake pressure, and the steering angle of the steering wheel. The in-vehicle device transmits the collected data to the edge server <NUM> through the cellular phone network NW1 or the like.

The generation frequency of the sensor data varies depending on the sensor type; approximately <NUM> times per second for the positional information, approximately <NUM> to <NUM> frames per second for camera images, and approximately <NUM> to <NUM> frames per second for the LiDAR point cloud data. The generation frequency of CAN packets varies depending on the vehicle model and the model year.

From the aspect of the data size, the sizes of camera images and the LiDAR point cloud can be as large as several megabytes, which requires time for data transmission. On the other hand, a CAN packet can be as small as several bytes, which takes a short time for data transmission. For this reason, even if a camera image and a CAN packet are acquired at the same time in the vehicle SD, a difference tends to be produced in their transmission completion time points.

Moreover, the frequency of data acquisition required by a destination server DSV varies greatly depending on its purpose. For instance, for the purpose of the driving command function, it is desirable to acquire data as frequently as possible. On the other hand, data may be sufficiently acquired every several seconds for the purpose of creating a dynamic map, every several minutes for the purpose of updating a traffic jam/accident map, and every several days to several months for the purpose of updating a road sign/lane map.

Furthermore, with regard to the coverage of data to be acquired, data collection from all vehicles may be necessary for some uses, and duplication of data should be excluded for some other uses. For instance, with the driving command function, collection of data from all vehicles is essential. On the other hand, in the creation of a dynamic map and updating of a traffic jam/accident map, data collected in a manner such that the sensing ranges do not overlap based on information such as the position and traveling direction of each vehicle will suffice. Thus, from the point of view of reduction of the load of the data analysis, it is desirable to remove the overlapping data.

With a conventional technique, in order to meet such complex requests, the sensor data is collected from all the vehicles SD and accumulated in the database so that an application server ASV needs to issue an SQL query to the database server DBSV to acquire the necessary data. With such a technique, the database is expanded and data retrieval requires a long time. In addition, with all the generated sensor data flowing into the cellular phone network, the varying load on the cellular phone network due to the temporal variation in the number of vehicles traveling cannot be kept under control.

In the network management system <NUM> according to the illustrative example, the application server management unit <NUM> of the management server <NUM> is configured to receive a request regarding data required by an application from an application server ASV and to store the information included in the received request in the application server information storage unit <NUM>, at step S102 in the same manner as explained above.

In the illustrative example, the application server ASV1 having a driving command function may request data collection from all the vehicles as frequently as possible. On the other hand, the application server ASV2 having the function of creating and distributing a dynamic map does not need to collect data from all the vehicles, but may request collection of data at a frequency of every several seconds in a manner such that sensing ranges do not overlap with each other based on the information of the positions and traveling directions of the vehicles.

In the network management system <NUM> according to the illustrative example, at step S102 in the same manner as explained above, the database server management unit <NUM> of the management server <NUM> is configured to receive from each database server DBSV a request regarding data to be accumulated in a database, and to store the information included in the received request in the database server information storage unit <NUM>. In the illustrative example, the database server DBSV1 storing the traffic jam/accident map may request data transmission every several minutes in order to update the map. On the other hand, the database server DBSV2 storing the road sign/lane map may request data transmission every several days to several months, and therefore the data transmission from the vehicle SD to the edge server <NUM> can be performed in any time frame. These database servers DBSV1 and DBSV2 do not need to collect data from all the vehicles, but it is sufficient if the data whose sensing ranges do not overlap each other based on information such as the positions and traveling directions of the vehicles is collected.

Accordingly, in response to the above request, the management server <NUM> may generate a control signal for instructing the vehicle SD that serves as a sensing device to transmit the necessary data to the relay server (edge server) <NUM> at a necessary frequency or timing, and transmit this control signal to the vehicle SD at step S109, under the control of the sensing data transmission control unit <NUM>. For instance, the management server <NUM> may generate a control signal indicating a type of data to be transmitted to the relay server <NUM>, a frequency of transmission to the relay server <NUM>, and a time frame or timing of transmission to the relay server <NUM>, and transmit the control signal to the individual vehicles SD, under the control of the sensing data transmission control unit <NUM>.

In the above operation, the management server <NUM> can adjust the description of the instruction in the control signal, for instance, the attribute of the data (e.g., data size and data format), the transmission frequency, the transmission time frame, the transmission timing, and the like, based on the monitoring result obtained from the network performance monitor unit <NUM>. In particular, the management server <NUM> according to the illustrative example can generate and transmit a control signal to individual vehicles SD so as to control the load of the network NW1 as a cellular phone network based on the monitoring result of the device-relay server NW monitor unit <NUM>.

For example, when it is determined that the cellular phone network NW1 is under a high load, the management server <NUM> may instruct the vehicles SD to compress the data and transmit the compressed data to the relay server <NUM>, to reduce the transmission frequency, or to change the transmission time frame from the late-night time frame to the early morning time frame under the control of the sensing data transmission control unit <NUM>. Alternatively, the management server <NUM> may instruct the vehicles SD to perform transmissions in accordance with the data format, for example transmitting image data in a batch at night while transmitting CAN packets at specific intervals such as every <NUM> minutes, under the control of the sensing data transmission control unit <NUM>.

Upon receiving the control signal, each of the vehicles SD may, for example, change the sampling frequency to adjust the data size in accordance with the instruction, and transmit the data to the relay server <NUM> at the instructed timing. Each vehicle SD may also accumulate the sensing data in the storage unit of the in-vehicle device and transmit the sensing data in a batch within the time frame instructed in the control signal from the management server <NUM>.

Further, the management server <NUM> may be configured to transmit different control signals to the vehicles SD. For example, the management server <NUM> may instruct randomly selected vehicles SD to suspend the transmission to the relay server <NUM> for a certain period of time. The vehicles SD that have received this instruction suspend the transmission of the sensing data for the instructed period of time. The management server <NUM> may instruct these vehicles SD to discard the sensing data of the transmission suspended period, or may instruct the vehicles SD to store the sensing data in the storage unit and transmit the sensing data in a batch when the transmission is resumed.

According to the illustrative example, the management server <NUM> may instruct each sensing device SD to transmit only the necessary data to the relay server <NUM> in response to a request from the destination server DSV. Since the minimum sensor data required by the application is selectively collected, the load on the cellular phone network NW1 can be minimized. In addition, the load on the cellular phone network NW1 can be leveled by transmitting data whose real-time properties are not particularly required, such as images used for updating the road sign/lane map, in a batch in the late-night time frame during which there is leeway in the communication band.

In addition, since a plurality of data items that are integrated into one batch are transmitted to the destination server DSV, no data queuing is required at a downstream stage of the application, and therefore no processing delay relating to queuing occurs.

Furthermore, as a secondary effect of the data integration function, the overhead of TCP/IP communication can be reduced during the transmission of a small amount of data, thereby improving the utilization efficiency of the network. This can be realized because, with the data items integrated, the payload can be increased and the packet length can be extended, which means that the ratio of the header to the entire packet can be reduced.

Claim 1:
A management device (<NUM>) communicable with a plurality of terminals (SD1, ... SDn) configured to transmit data, with a plurality of destination devices (ASV1, ASVn, DBSV1, DBSVn) configured to perform respective predetermined processes based on the data transmitted from the terminals, and with a relay device (<NUM>) arranged via networks between the terminals and the destination devices, the management device (<NUM>) comprising a processor (<NUM>, 12A) and a memory (12B, <NUM>) coupled to the processor (<NUM>, 12A), wherein
the processor (<NUM>, 12A) is configured to:
receive from the destination devices (ASV1, ASVn, DBSV1, DBSVn) a request regarding data required by individual ones of the destination devices and store the request in the memory (12B, <NUM>);
monitor performance of a network between the terminals and the relay device (<NUM>), a load of the relay device (<NUM>) or performance of a network between the relay device (<NUM>) and the destination devices;
based on the request stored in the memory (12B, <NUM>), instruct the relay device (<NUM>) regarding an attribute of data to be relayed to the individual ones of the destination devices, the attribute of data comprises a data format, the data format being with respect to a data size;
instruct the relay device (<NUM>) regarding a scheme of integrating data items to be relayed to an application server (ASV1, ..., ASVn) for identifying, sorting and integrating the data items to be relayed, and a scheme of integrating data items to be relayed to a database server (DBSV1, ..., DBSVn) for identifying, sorting and integrating the data items to be relayed, the application server (ASV1, ..., ASVn) and the database server (DBSV1, ..., DBSVn) being destination devices; and
based on the result of the monitoring, control the data format for transmitting the data from the terminals to the relay device (<NUM>);
wherein the processor (<NUM>, 12A) is further configured to:
based on the result of the monitoring, generate a control signal to control a frequency of data transmission from the terminals to the relay device (<NUM>) and transmit the control signal to the terminals.