APPARATUS TO CONTROL DATA DISTRIBUTION TO COMMUNICATION DEVICES DEPENDING ON TYPES OF DATA

An apparatus stores first information in which a type of data held in each of a plurality of communication devices to be monitored and controlled is stored in association with the each communication device. When a first communication device that uses data of a first type is added to the plurality of communication devices, the apparatus searches the first information for a second communication device that holds data whose type is the first type, and instructs the second communication device to transfer data held by the second communication device to the first communication device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-195092, filed on Sep. 30, 2015, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment discussed herein is related to apparatus to control data distribution to communication devices depending on types of data.

BACKGROUND

For example, communication devices of many types are used based on network applications for various environments such as residential, business, and mobile environments. The communication devices include variations in function and performance based on the network applications.

As an example, a communication device is composed of communication units for executing a communication process, a monitoring and controlling unit for monitoring and controlling the communication units, shelves for accommodating the communication units and the monitoring and controlling unit, a rack to which the shelves are attached, and the like. In each of the communication units, a field programmable gate array (FPGA), a central processing unit (CPU), and the like are installed in order to achieve the desired communication process. The FPGAs and the CPUs operate in accordance with software (or firmware data on the CPUs, circuit data on the FPGAs, and the like) held in the communication units.

The software data may be stored in nonvolatile memories included in the communication units or the like at the time of manufacturing the communication units. The software data, however, may be downloaded from the monitoring and controlling unit to the communication units (refer to, for example, Japanese Laid-open Patent Publication NO. 2007-323399).

SUMMARY

According to an aspect of the invention, an apparatus stores first information in which a type of data held in each of a plurality of communication devices to be monitored and controlled is stored in association with the each communication device. When a first communication device that uses data of a first type is added to the plurality of communication devices, the apparatus searches the first information for a second communication device that holds data whose type is identical to the first type, and instructs the second communication device to transfer data held by the second communication device to the first communication device.

DESCRIPTION OF EMBODIMENT

In order to form an integrated network system that does not depend on a network application, new communication units that flexibly achieve various functions and various performance levels by a common main hardware configuration have been researched and developed. The communication units are of one type, and each of the communication units may achieve different functions and different performance levels by the replacement of detachable small form-factor pluggable (SFP) that is a transceiver module for transmitting and receiving main signals, and the downloading of software data, for example.

Thus, for example, a single communication unit may operate as a “100G Ethernet” (registered trademark, hereinafter the same applies in this specification) communication device or operate as a “10G-passive optical network (PON)” communication device or a “common public radio interface (CPRI)” communication device. It is, therefore, possible to support various network applications by combining multiple communication units regardless of installation locations, configuring the communication units in a non-physical or virtual shelf (hereinafter referred to as virtual shelf), and managing the communication units.

Even if the virtual shelf is used, a monitoring and controlling unit is used. The monitoring and controlling unit serves as an independent device and monitors and controls communication units within one or more virtual shelves, since such physical shelves as described above do not exist.

When a physical shelf is used, the monitoring and controlling unit downloads software data to communication units. Accordingly, holding only data based on the types of the communication units accommodated in the same physical shelf as the monitoring and controlling unit is sufficient for the monitoring and controlling unit.

However, when the virtual shelf is used, the monitoring and controlling unit is required to hold data of many types based on all functions and performance levels that are achieved by the communication units. Thus, a large-capacity storage device for storing the data of all the types is required to be installed in the monitoring and controlling unit, thereby increasing the cost and size of the monitoring and controlling unit.

It is preferable to provide a monitoring and controlling device in which a memory capacity for storing software data is reduced, and to provide a monitoring and controlling system in which a memory capacity for storing software data is reduced.

FIG. 1is a configuration diagram illustrating an example of a monitoring and controlling system. The monitoring and controlling system includes multiple monitoring and controlling units1, multiple communication units2, and a network (NW) managing device4. The NW managing device4communicates with the monitoring and controlling units1via a control plane (CP)90. The monitoring and controlling units1communicate via CPs91with the communication units2to be monitored and controlled. The CPs90and91are, for example, high-security dedicated networks such as virtual private networks (VPNs), but are not limited to this.

The NW managing device4is a server having a network operating system (OpS) installed therein. The NW managing device4manages the overall networks. The NW managing device4has, stored therein, software data that is used for the communication units2, as described later. The software data is an example of data.

Each of the monitoring and controlling units1is an example of a monitoring and controlling device, and monitors and controls multiple communication units2. The NW managing device4manages, for each of virtual shelves3, communication units2to be monitored and controlled, where the virtual shelves3are different from physical shelves.

Shelf IDs (#1, #2, . . . , #M (M is a positive integer)) that are identifiers are assigned to the virtual shelves3, respectively, while one or more communication units2belong to each of the virtual shelves3. In each of the communication units2, a shelf ID of a shelf to which the communication unit2belongs is set upon activation. In an embodiment, each of the monitoring and controlling units1manages communication units2belonging to two virtual shelves3. The number of virtual shelves3to be managed by each of the monitoring and controlling units1, however, is not limited.

Each of the monitoring and controlling units1acquires software data from the NW managing device4upon the activation (initial configuration) of the monitoring and controlling system, and downloads (transfers) the software data to all communication units2belonging to virtual shelves3to be monitored and controlled by the monitoring and controlling unit1. In addition, when a new communication unit2is added to a virtual shelf3to be monitored and controlled by a monitoring and controlling unit1, the monitoring and controlling unit1selects one of three transfer processes, and transfers software data to the new communication unit2, as will be described later.

Each of the communication units2is an example of a communication device, and executes a communication process for a subscriber who subscribes for a communication service, for example. Each of the communication units2flexibly achieves various functions and various performance levels by a common main hardware configuration. The communication units2are of one type. For example, each of the communication units2may achieve different functions and different performance levels by the replacement of detachable SFP, the downloading of software data, and the like, as will be described later.

Thus, the communication units2may form an integrated network system that does not depend on a network application. In the following description, functions and performance levels of each of the communication units2are referred to as “modes” (“M1”, “M2”, . . . ) of the communication unit2.

In the embodiment, two communication units2in the mode M1, two communication units2in the mode M2, one communication unit2in a mode M3, and one communication unit2in a mode M4belong to a virtual shelf (#1)3, for example. In the embodiment, two communication units2in the mode M1, one communication unit2in the mode M2, and one communication unit2in the mode M4belong to a virtual shelf (#2)3, for example.

As an example, communication units2in the mode M1operate as “100G Ethernet” communication devices, and communication units2in the mode M2operate as “10G-PON” communication devices. In addition, a communication unit2in the mode M3operates as a “CPRI” communication device, and a communication unit2in the mode M4operates as a “Wavelength Division Multiplex (WDM)-PON” communication device.

In this manner, various network applications may be supported by combining the multiple communication units2, and by setting and managing the communication units2in the virtual shelves3. In the embodiment, up to six communication units2may belong to each of the virtual shelves3, but the maximum number of communication units2belonging to each of the virtual shelves3is not limited.

As an example, communication units2that belong to each of the virtual shelves3are identified by interface IDs (INF-IDs) “#1” to “#6”. For example, one of the communication units2that are in the mode M1and belong to the virtual shelf (#2)3is identified by an INF-ID “#1”, while the other one of the communication units2that are in the mode M1and belong to the virtual shelf (#2)3is identified by an INF-ID “#3”. The physical arrangement of the communication units2is not limited, as described below.

FIG. 2is a configuration diagram illustrating an example of the physical arrangement of the communication units2. The communication units2are attached to racks5ato5c. The racks5aand5bare arranged in the same rack row α, while the rack5cis arranged in another rack row β.

FIG. 2illustrates shelf IDs of virtual shelves3to which communication units2belong. Two communication units2that belong to each of the virtual shelves3with the shelf IDs “#1” and “#2” are attached to the rack5aof the rack row α, while two communication units2that belong to the virtual shelf3with the shelf ID “#1” are attached to the rack5bof the rack row α. In addition, three communication units2that belong to the virtual shelf3with the shelf ID “#2”, and one communication unit2that belongs to a virtual shelf3with a shelf ID “#3”, are attached to the rack5cof the rack row β.

The communication units2within the racks5ato5care, for example, coupled to a CP91via wirings of back surfaces of the racks5ato5cso that the communication units2communicate with a monitoring and controlling unit1. Thus, the monitoring and controlling unit1may manage, as a common virtual shelf3, communication units2attached at different positions within each of the racks5ato5c, communication units2within different racks among the racks5ato5c, or communication units2within racks that are among the racks5ato5cand arranged in the different rack rows α and β.

Thus, the communication units2may be treated as “location-free” communication devices of which the physical arrangement is not limited. The configurations of the communication units2are described below.

FIG. 3is a configuration diagram illustrating an example of the communication units2. Each of the communication units2includes a central processing unit (CPU)20, a read only memory (ROM)21, a random access memory (RAM)22, redundant nonvolatile memories23, an FPGA24, multiple connectors25ato25c, and multiple communication ports26. The CPU20is coupled via a data bus27to the ROM21, the RAM22, the nonvolatile memories23, the FPGA24, and the communication ports26so that the CPU20, the ROM21, the RAM22, the nonvolatile memories23, the FPGA24, and the communication ports26are able to receive and output signals from and to each other via the data bus27.

A program for driving the CPU20is stored in the ROM21. The RAM22functions as a working area of the CPU20. Software data that is used to cause the FPGA24and a communication process function of the CPU20to operate is stored in the nonvolatile memories23. The software data includes circuit data on the FPGA24and firmware data on the communication process function of the CPU20.

The communication ports26are, for example, physical layer (PHY)/media access control (MAC) devices. The communication ports26transmit and receive packets to and from external terminals, and transmit and receive packets to and from a monitoring and controlling unit1via a CP91. In the embodiment, the packets are IP packets, but are not limited to this.

The FPGA24is coupled to the multiple connectors25ato25c. The FPGA24receives signals (hereinafter, referred to as client signals) of subscribers from the connectors25ato25c, and processes the received client signals, for example. The connectors25ato25care provided for the modes M1, M2, and the like of the communication units2, respectively. Transceiver modules28ato28cfor the modes M1, M2, and the like are inserted into the connectors25ato25c, respectively. In the embodiment, the signals input from the connectors25ato25care the client signals as an example, but are not limited to this.

Only selected one of the transceiver modules28ato28cis inserted in a connector25a,25b, or25ccorresponding to the selected one of the transceiver module28a,28b, or28c(refer to “selection”). When any of the transceiver modules28ato28cis inserted in a connector25a,25b, or25ccorresponding to the selected one of the transceiver module28a,28b, or28c, the FPGA24processes a client signal in accordance with a mode M1, M2, or the like corresponding to one of the connector25a,25b, or25cto which the transceiver module has been inserted.

The transceiver modules28ato28care SFP, for example. For example, when the transceiver module28ais “smart SFP” (registered trademark) and is inserted in the connector25a, the FPGA24is configured by Ethernet circuit data included in the software data. In this case, the FPGA24processes a client signal in accordance with the rules of Ethernet.

For example, when the transceiver module28bis “Chameleon SFP” (registered trademark) and is inserted in the connector25b, the FPGA24is configured by “10G-PON” circuit data included in the software data. In this case, the FPGA24processes a client signal in accordance with the rules of “10G-PON”. Instead of the FPGA24, another device that may be configured by circuit data may be used.

When the CPU20reads the program from the ROM21, a controlling unit200, a data transfer processing unit201, a mount notifying unit203, and a data storage processing unit204are formed as functions in the CPU20. When the CPU20reads the firmware data included in the software data, a communication processing unit202is formed as a function in the CPU20. The communication processing unit202executes the communication process, based on the software data, similarly to the FPGA24.

The controlling unit200controls overall operations of the communication unit2and provides various instructions and responses to the data transfer processing unit201, the communication processing unit202, the mount notifying unit203, and the data storage processing unit204.

The controlling unit200receives a setting process from a terminal via a communication port26upon the activation of the communication unit2. Details of the setting process include an address of the communication unit2, a shelf ID of a virtual shelf3, a mode M1, M2, or the like, and a data ID identifying the type of software data to be applied, for example.

Upon the activation of the communication unit2, the mount notifying unit203provides, to the monitoring and controlling unit1, a mount notification indicating the mount of the communication unit2. The mount notification includes information indicating the address, the shelf ID, the mode M1, M2, or the like, the data ID, and the like that were set in the setting process.

The data storage processing unit204executes a process of storing software data transferred from the monitoring and controlling unit1or storing software data transferred from another communication unit2. For example, the data storage processing unit204acquires software data via a communication port26and causes the acquired software data to be stored in the nonvolatile memories23. The nonvolatile memories23are made redundant and the software data is made redundant. The software data stored in the nonvolatile memories23are treated as data for an active system and data for a standby system, while details of the data for the active system are synchronized with details of the data for the standby system.

For example, a data ID that indicates the type of software data is stored in a header portion of the software data. The data storage processing unit204confirms whether or not the data ID of the software data received from the monitoring and controlling unit1or the data ID of the software data received from the other communication unit2corresponds to the mode M1, M2, or the like of the communication unit2.

The controlling unit200loads the software data within a nonvolatile memory23into the RAM22and the FPGA24. Thus, the FPGA24is configured by the circuit data included in the software data, and the communication processing unit202is formed by the firmware data included in the software data in the CPU20. When completing the loading of the software data, the controlling unit200transmits, to the monitoring and controlling unit1, a reception notification indicating that the software data was received. After that, the communication processing unit202and the FPGA24start the communication process.

When receiving an instruction from the monitoring and controlling unit1, the controlling unit200instructs the data transfer processing unit201to transfer the software data to another communication unit2. The data transfer processing unit201reads the software data from the nonvolatile memory23in accordance with the instruction from the controlling unit200and transfers the read software data to the other communication unit2via a communication port26. In this case, an address of the destination communication unit2is included in the instruction to transfer the software data, for example. Next, the configurations of the monitoring and controlling units1are described.

FIG. 4is a configuration diagram illustrating an example of a monitoring and controlling unit1. The monitoring and controlling unit1includes a CPU10, a ROM11, a RAM12, a nonvolatile memory13, a download (DL) management memory14, and multiple communication ports15. The CPU10is coupled via a data bus16to the ROM11, the RAM12, the nonvolatile memory13, the DL management memory14, and the communication ports15so that the CPU10, the ROM11, the RAM12, the nonvolatile memory13, the DL management memory14, and the communication ports15are able to receive and output signals from and to each other via the data bus16.

A program for driving the CPU10is stored in the ROM11. The RAM12functions as a working memory of the CPU10. The communication ports15are, for example, PHY/MAC devices. The communication ports15transmit and receive packets to and from communication units2via a CP91, and transmit and receive packets to and from the NW managing device4via the CP90. In the embodiment, the packets are IP packets as an example, but are not limited to this.

Software data that is used for the communication units2is stored in the nonvolatile memory13. The nonvolatile memory13has regions X, Y1, and Y2for storing software data as an example. In the storage region X, software data transferred from the NW managing device4is temporarily stored. The software data within the storage region X is transferred to a target communication unit2.

In the storage regions Y1and Y2, reserve software data with data IDs “Di” and “Dj” (i and j are positive integers) is stored. When a new communication unit2is added to a virtual shelf3to be monitored and controlled and one of the data IDs “Di” and “Dj” corresponds to a mode M1, M2, or the like of the new communication unit2, reserve software data with the data ID corresponding to the mode M1, M2, or the like of the new communication unit2is transferred to the new communication unit2. The data IDs “Di” and “Dj” are determined based on download (DL) statistics information140held in the DL management memory14.

In the embodiment, the two storage regions Y1and Y2for storing reserve software data are provided. Three or more storage regions for storing reserve software data may be provided. It is preferable that the memory capacity of the nonvolatile memory13be reduced in order to reduce the cost of the monitoring and controlling unit1. It is, therefore, preferable that the storage regions Y1and Y2be small.

In the DL management memory14, a DL statistics information140and a data management table (TBL)141are stored. The DL statistics information140is an example of data information and is information on types of software data to be transferred from the monitoring and controlling unit1to the communication units2. The DL statistics information140is used to select types of reserve software data to be held in the storage regions Y1and Y2of the nonvolatile memory13or select the data IDs “Di” and “Dj”.

In the data management TBL141, types of software data held in the communication units2belonging to virtual shelves3to be monitored and controlled, or data IDs, are registered. Specifically, in the data management TBL141, shelf IDs, INF-IDs, modes, and the data IDs are associated with each other and registered.

In the example illustrated inFIG. 4, a communication unit2with an INF-ID “#1” associated with a shelf ID “#1” is in the mode M1and holds software data with a data ID “D1”. In addition, a communication unit2with an INF-ID “#2” associated with the shelf ID “#1” is in the mode M2and holds software data with a data ID “D2”. Data IDs indicate not only types corresponding to the modes M1, M2, and the like but also types including versions of the software data.

Thus, the types of the software data held in the communication units2belonging to the virtual shelves3to be monitored and controlled may be detected based on the data management TBL141. The DL management memory14is an example of a storage unit.

When the CPU10reads the program from the ROM11, a controlling unit100, a data transfer processing unit101, a unit searching unit102, a download (DL) statistics acquiring unit103, and a data holding processing unit104are formed as functions in the CPU10.

The controlling unit100controls overall operations of the monitoring and controlling unit1, and provides various instructions and responses to the data transfer processing unit101, the unit searching unit102, the DL statistics acquiring unit103, and the data holding processing unit104. When a communication unit2is activated, the controlling unit100receives a mount notification from the communication unit2via a communication port15. The controlling unit100acquires information of various types from the mount notification and registers the acquired information in the data management TBL141.

When the monitoring and controlling system is activated, the controlling unit100detects the mount of the communication units2, based on mount notifications, and instructs the data transfer processing unit101to transfer software data to the communication units2. The data transfer processing unit101is an example of a transfer processing unit. The data transfer processing unit101transfers the software data to the communication units2belonging to the virtual shelves3to be monitored and controlled, in accordance with the transfer instruction from the controlling unit100.

The DL statistics acquiring unit103is an example of an acquiring unit. The DL statistics acquiring unit103acquires the DL statistics information140on types of the software data transferred by the data transfer processing unit101. The DL statistics acquiring unit103writes the acquired DL statistics information140in the DL management memory14.

The data holding processing unit104is an example of a holding unit. The data holding processing unit104selects and holds, based on the DL statistics information140, software data of types satisfying a predetermined requirement. Specifically, the data holding processing unit104determines, based on the DL statistics information140, the data IDs “Di” and “Dj” of the reserve software data satisfying the predetermined requirement, acquires the corresponding software data from the NW managing device4, and writes the acquired software data in the storage regions Y1and Y2of the nonvolatile memory13.

The DL statistics information140indicates the number of communication units2holding software data for each of data IDs, or the frequency at which the data transfer processing unit101downloads software data for each of the data IDs, or the size of software data for each of the data IDs, for example. Examples of the DL statistics information140are described below.

FIG. 5Aillustrates an example of the DL statistics information140that indicates, for each of types of software data, the number of communication units holding the software data of each type. In this example, the DL statistics acquiring unit103acquires the DL statistics information140indicating, for each type of the software data, the number of communication units2to be monitored and controlled, which hold the software data of the each type.

Specifically, the DL statistics information140indicates the number of communication units2for each of data IDs. For example, the number of communication units2that hold the software data with the data ID “D1” is 4, and the number of communication units2that hold the software data with the data ID “D2” is 3. In addition, the number of communication units2that hold software data with a data ID “D4” is 2, and the number of communication units2that hold software data with a data ID “D3” is 1.

The data holding processing unit104selects and holds, based on the DL statistics acquiring unit103, software data of a type associated with a rank (refer to “rank”) based on the number of communication units2to be monitored and controlled. In this example, the data holding processing unit104selects the software data with the data ID “D1” ranked in first place and the software data with the data ID “D2” ranked in second place, and holds the selected software data in the storage regions Y1and Y2of the nonvolatile memory13.

Specifically, the data IDs “D1” and “D2” are selected as the data IDs “Di” and “Dj” of the reserve software data. Thus, the software data that is used for the communication units2of which the numbers are larger than the numbers of the other communication units2for which the software data of the other types is used is selected as the reserve software data.

In addition,FIG. 5Billustrates an example of the DL statistics information140indicating a frequency at which the software data is downloaded for each of types of the software data. In this example, the DL statistics acquiring unit103acquires the DL statistics information140indicating, for each type of the software data, the frequency at which the software data of the each type is transferred by the data transfer processing unit101.

Specifically, the DL statistics information140indicates, for each of the data IDs, the number (number of times per month) of times when software data with the data ID is downloaded per month. For example, the number of times when the software data with the data ID “D1” is downloaded is 7 (times per month), and the number of times when the software data with the data ID “D4” is downloaded is 5 (times per month). In addition, the number of times when the software data with the data ID “D2” is downloaded is 4 (times per month), and the number of times when the software data with the data ID “D3” is downloaded is 2 (times per month). The frequency at which the software data is downloaded is not limited to the number of times when the software data is downloaded per month. The frequency at which the software data is downloaded may be the number of times when the software data is downloaded per day or may be the cumulative numbers of times when the software data is downloaded after the initial activation of the monitoring and controlling unit1.

The data holding processing unit104selects and holds, based on the DL statistics acquiring unit103, software data of a type associated with a rank (refer to “rank”) based on the frequency at which the software data of the type is downloaded. In this example, the data holding processing unit104selects the software data with the data ID “D1” ranked in first place and the software data with the data ID “D4” ranked in second place, and holds the selected software data in the storage regions Y1and Y2of the nonvolatile memory13.

Specifically, the data IDs “D1” and “D4” are selected as the data IDs “Di” and “Dj” of the reserve software data. Thus, the software data of the type that is downloaded more frequently than the software data of the other types is selected as the reserve software data.

In addition,FIG. 5Cillustrates an example of the DL statistics information140indicating a size of software data for each of types of software data. In this example, the DL statistics acquiring unit103acquires the DL statistics information140indicating, for each of types of software data, a size of the software data of the each type.

Specifically, the DL statistics information140indicates a size (G bytes) of software data for each of the data IDs. For example, the size of the software data with the data ID “D2” is 5 G bytes, and the size of the software data with the data ID “D1” is 4 G bytes. In addition, the size of the software data with the data ID “D3” is 2 G bytes, and the size of the software data with the data ID “D4” is 1 G bytes.

The data holding processing unit104selects and holds, based on the DL statistics acquiring unit103, software data of a type associated with a rank (refer to rank) based on the size of the software data of the type. In this example, the data holding processing unit104selects the software data with the data ID “D2” ranked in first place and the software data with the data ID “D1” ranked in second place, and holds the selected software data in the storage regions Y1and Y2of the nonvolatile memory13.

Specifically, the data IDs “D2” and “D1” are selected as the data IDs “Di” and “Dj” of the reserve software data. Thus, the software data of which the sizes are larger than the software data of the other types is selected as the reserve software data. This allows a time for downloading the software data from the NW managing device4to the monitoring and controlling unit1to be reduced, and allows a traffic load in the CP90to be reduced.

At least two types of the DL statistics information140illustrated inFIGS. 5A to 5Cmay be combined and used. For example, if three storage regions are provided instead of the storage regions Y1and Y2for storing reserve software data in a different manner from the example illustrated inFIG. 4, the software data with the data ID “D1” (ranked in first place inFIG. 5A), the software data with the data ID “D4” (ranked in second place inFIG. 5B), and the software data with the data ID “D2” (ranked in first place inFIG. 5C) may be selected based on ranks illustrated inFIGS. 5A to 5C.

Refer toFIG. 4again. When a new communication unit2is added to a virtual shelf3to be monitored after the activation of the monitoring and controlling system, the controlling unit100instructs the unit searching unit102to search a communication unit2holding software data of the same type as software data that is used for the new communication unit2. In this case, the controlling unit100acquires a data ID from a mount notification provided by the new communication unit2, and notifies the unit searching unit102of the acquired data ID.

The unit searching unit102is an example of a searching unit. When the new communication unit2is added to the virtual shelf3to be monitored and controlled, the unit searching unit102searches, from the DL management memory14, the communication unit2holding the software data of the same type as the software data that is used for the new communication unit2. Specifically, the unit searching unit102searches the data management TBL141for the communication unit2holding the same data ID as the data ID held in the new communication unit2in accordance with the search instruction from the controlling unit100. The unit searching unit102notifies the controlling unit100of a shelf ID and INF-ID of the communication unit2holding the same data ID as the data ID held in the new communication unit2.

The controlling unit100is an example of an instructing unit. The controlling unit100instructs the communication unit2searched by the unit searching unit102, to transfer the software data to the new communication unit2. Specifically, the controlling unit100transmits an instruction to transfer the software data via a communication port15to the communication unit2corresponding to the shelf ID and INF-ID, notified by the unit searching unit102, of the communication unit2. The transfer instruction includes an address of the new communication unit2that was acquired from the mount notification provided by the new communication unit2.

In the aforementioned manner, the controlling unit100instructs the communication unit2holding the software data of the same type as the software data that is used for the new communication unit2, to transfer the software data to the new communication unit2. This allows the monitoring and controlling unit1to eliminate the need for holding software data of all types corresponding to all the modes M1, M2, and the like, thereby reducing a capacity needed for storing software data.

When a corresponding communication unit2is not found by the unit searching unit102, in other words, when a communication unit2that holds the same data ID as the data ID of the software data that is used for the new communication unit2does not exist, the controlling unit100instructs the data transfer processing unit101to transfer the reserve software data. The data transfer processing unit101compares the data IDs “Di” and “Dj” of the reserve software data within the storage regions Y1and Y2of the nonvolatile memory13with the data ID of the software data that is used for the new communication unit2.

When one of the data IDs “Di” and “Dj” of the reserve software data matches the data ID of the software data that is used for the new communication unit2, the data transfer processing unit101transfers the reserve software data with the matched data ID to the new communication unit2via a communication port15. The data ID of the software data that is used for the new communication unit2is acquired from the mount notification provided by the new communication unit2.

In this way, when a communication unit2that holds software data of the same type as software data that is used for a new communication unit2does not exist and the type of the software data that is used for the new communication unit2matches one of the types of the reserve software data, the data transfer processing unit101transfers the reserve software data of the matched type to the new communication unit2. Thus, the monitoring and controlling unit1does not acquire the software data from the NW managing device4, and may transfer the software data to the new communication unit2within a short time period without applying a traffic load to the CP90.

When the type of the software data that is used for the new communication unit2does not match any of the types of the reserve software data, the data transfer processing unit101acquires, from the NW managing device4, the software data that is used for the new communication unit2and the data transfer processing unit101transfers the acquired software data to the new communication unit2via the storage region X of the nonvolatile memory13. Thus, even if the software data of the same type as the software data that is used for the new communication unit2exists neither in any of communication units2to be monitored and controlled nor in the storage regions Y1and Y2of the nonvolatile memory13, the monitoring and controlling unit1may transfer the software data to the new communication unit2.

FIG. 6is a configuration diagram illustrating an example of a network managing device4. The network managing device4includes a CPU40, a ROM41, a RAM42, a memory device43, an input and output device44, and multiple communication ports45. The CPU40is coupled to the ROM41, the RAM42, the memory device43, the input and output device44, and the communication ports45via a data bus46so that the CPU40, the ROM41, the RAM42, the memory device43, the input and output device44, and the communication ports45receive and output signals from and to each other via the data bus46.

A program for driving the CPU40is stored in the ROM41. The RAM42functions as a working memory of the CPU40. The communication ports45are, for example, PHY/MAC devices, and transmit and receive packets to and from the monitoring units1via the CP90.

The memory device43is, for example, a storage device and has a large memory capacity (of, for example, 1 T bytes or greater). In the memory device43, the software data (with data IDs “D1” to “Dm” (m is a positive integer)) of all the types corresponding to all the modes M1, M2, and the like of the communication units2is stored. The software data stored in the memory device43is transferred to the communication units2via the monitoring and controlling units1.

The input and output device44includes, for example, a keyboard, a mouse, a display, and the like, and is used for an operation by an operator.

When the CPU40reads the program from the ROM41, a controlling unit400, a unit managing unit401, and a data transfer processing unit402are formed as functions in the CPU40.

The controlling unit400controls overall operations of the NW managing device4, and provides various instructions and responses to the unit managing unit401and the data transfer processing unit402. The unit managing unit401manages the communication units2to be monitored and controlled by the monitoring and controlling units1coupled to the NW managing device4. The unit managing unit401receives, from the monitoring and controlling units1via the communication ports45, a mount detection notification indicating that the mount of a communication unit2was detected, and the unit managing unit401registers the communication unit2in a database, based on the mount detection notification, and manages the communication unit2.

The data transfer processing unit402reads, from the memory device43, software data in accordance with a request from a monitoring and controlling unit1, and transfers the read software data to the monitoring and controlling unit1. The request from the monitoring and controlling unit1includes a data ID of the desired software data. The data transfer processing unit402selects and transfers the software data corresponding to the data ID. Upon the activation of the monitoring and controlling system, the data transfer processing unit402sequentially transfers the software data for the communication units2to be monitored and controlled by the monitoring and controlling units1.

FIG. 7illustrates an example of operations for transferring the software data upon the activation of the monitoring and controlling system. InFIG. 7, configurations that are common to those illustrated inFIGS. 1, 3, 4, and 6are indicated by the same reference numerals and symbols as those illustrated inFIGS. 1, 3, 4, and 6, and a description thereof is omitted.FIG. 7illustrates operations for transferring software data to communication units2belonging to the virtual shelves (#1 and #2)3.

When the monitoring and controlling system is activated, the NW managing device4reads software data from the memory device43in accordance with a request from a monitoring and controlling unit1, and transfers the read software data to the monitoring and controlling unit1via the CP90, as indicated by arrows A1. The transferred software data is temporarily stored in the storage region X of the nonvolatile memory13. The monitoring and controlling unit1reads the software data from the storage region X and transfers the read software data via a CP91to the corresponding communication units2among communication units2to be monitored and controlled, as indicated by arrows A2.

After the monitoring and controlling unit1transfers software data to all the communication units2to be monitored and controlled, the monitoring and controlling unit1determines data IDs of reserve software data, based on the DL statistics information140. The monitoring and controlling unit1requests the NW managing device4to transmit the software data with the determined data IDs. This example assumes that the data IDs “D1” and “D2” are determined as the data IDs of the reserve software data.

The NW managing device4transfers the software data with the data IDs “D1” and “D2” to the monitoring and controlling unit1in accordance with the request from the monitoring and controlling unit1, as indicated by arrows A1′. The transferred software data is stored as the reserve software data in the storage regions Y1and Y2of the nonvolatile memory13.

FIG. 8is an operational flowchart of an example of a process to be executed by each of the communication units2upon the activation. First, the controlling unit200of the communication unit2executes the setting process based on an operation by an external terminal (in step St1). As described above, details of the setting process include an address of the communication unit2, a shelf ID of a virtual shelf3, a mode M1, M2, or the like, and a data ID, for example.

Next, the mount notifying unit203transmits a mount notification including information on the details of the setting process to a monitoring and controlling unit1(in step St2). Then, the data storage processing unit204determines whether or not the communication unit2received software data (S/W data) from the monitoring and controlling unit1(in step St3). When the communication unit2has not received the software data (No in step St3), the communication unit2terminates the process. In this case, the data storage processing unit204may output an alert to the monitoring and controlling unit1.

When the communication unit2has received the software data (Yes in step St3), the data storage processing unit204causes the software data to be stored in the nonvolatile memories23(in step St4). Then, the controlling unit200loads the software data into the FPGA24and the RAM22(in step St5). Then, the communication processing unit202and the FPGA24start the communication process.

Next, the controlling unit200notifies the monitoring and controlling unit1that the communication unit2has normally received the software data (in step St6), and the controlling unit200terminates the process. In this manner, the communication unit2executes the process upon the activation.

FIG. 9is an operational flowchart of an example of a process to be executed by each of the monitoring and controlling units1upon the activation. The controlling unit100of the monitoring and controlling unit1determines whether or not the monitoring and controlling unit1has received mount notifications from communication units2(in step St11). When the monitoring and controlling unit1has not received the mount notifications (No in step St11), the controlling unit100executes the determination process of step St11again.

When the monitoring and controlling unit1has received the mount notifications (Yes in step St11), the controlling unit100transmits a mount detection notification to the NW managing device4(in step St12). Then, the controlling unit100selects one of the communication units2from which the monitoring and controlling unit1has received the mount notifications (in step St13). The controlling unit100notifies the data transfer processing unit101of an address of the selected communication unit2as an instruction to transfer software data.

Next, the data transfer processing unit101transfers the software data to the selected communication unit2(in step St14). Then, the controlling unit100registers, in the data management TBL141, information included in the mount notification provided by the communication unit2(in step St15).

Then, the controlling unit100determines whether or not an unselected communication unit2exists among the communication units2from which the monitoring and controlling unit1has received the mount notifications (in step St16). When the unselected communication unit2exists (Yes in step St16), the controlling unit100executes the process of step St13again. When the unselected communication unit2does not exist (No in step St16), the DL statistics acquiring unit103acquires the DL statistics information140from transfer history records of the data transfer processing unit101(in step St17).

Then, the data holding processing unit104selects, based on the DL statistics information140, software data of types satisfying the predetermined requirement described with reference toFIGS. 5A to 5C(in step St18). Then, the data holding processing unit104requests the NW managing device4to transfer the selected reserve software data (in step St19). The data holding processing unit104causes the software data transferred from the NW managing device4to be stored in the storage regions Y1and Y2of the nonvolatile memory13(in step St20).

Then, the controlling unit100determines whether or not the monitoring and controlling unit1has received, from the communication units2, a reception notification indicating that the communication unit2has received software data (in step St21). When the monitoring and controlling unit1has received the reception notification (Yes in step St21), the controlling unit100transmits a transfer completion notification to the NW managing device4(in step St22) and terminates the process. When the monitoring and controlling unit1has failed to receive the reception notification (No in step St21), the controlling unit100transmits a transfer abnormality notification to the NW managing device4(in step St23) and terminates the process. In this manner, the monitoring and controlling unit1executes the process.

In a case where a new communication unit2is added to a virtual shelf3to be monitored and controlled after the activation of the monitoring and controlling system, and a communication unit2that holds software data of the same type as software data that is used for the new communication unit2exists, the monitoring and controlling unit1instructs the communication unit2to transfer the software data. This operation is described below.

FIG. 10illustrates an example of the operation for transferring the software data between the communication units2. InFIG. 10, configurations that are common to those illustrated inFIG. 7are indicated by the same reference numerals and symbols as those illustrated inFIG. 7, and a description thereof is omitted.

FIG. 10illustrates an example in which a new communication unit2ain the mode M3is added to the virtual shelf (#2)3. The monitoring and controlling unit1searches the data management TBL141for an existing communication unit2bholding software data of the same type as software data that is used for the new communication unit2a. The existing communication unit2boperates in the same mode M3as the new communication unit2a.

The monitoring and controlling unit1instructs the communication unit2bbelonging to the virtual shelf (#1)3to transfer the software data to the new communication unit2a. Thus, the software data with the data ID “D3” for the mode M3is transferred from the existing communication unit2bto the new communication unit2a, as indicated by an arrow A3.

FIG. 11is a sequence diagram illustrating an example of a process to be executed by the monitoring and controlling system in the case where the software data is transferred between the communication units2aand2b. First, the new communication unit2aexecutes the setting process, based on an operation by an external terminal (refer to reference symbol S1), and transmits a mount notification to the monitoring and controlling unit1.

When receiving the mount notification, the monitoring and controlling unit1transmits a mount detection notification to the NW managing device4. When receiving the mount detection notification, the NW managing device4executes a process of registering the new communication unit2a(refer to reference symbol S3).

Then, the monitoring and controlling unit1searches the data management TBL141for the existing communication unit2bholding the software data of the same type as the software data that is used for the new communication unit2a(refer to reference symbol S2). Then, the monitoring and controlling unit1instructs the searched existing communication unit2bto transfer the software data. The existing communication unit2btransfers the software data held in the existing communication unit2band having the data ID “D3”, to the new communication unit2ain accordance with the transfer instruction.

When receiving the software data from the existing communication unit2b, the new communication unit2aexecutes a process of loading the software data (refer to reference symbol S4). Then, the new communication unit2atransmits, to the monitoring and controlling unit1, a reception notification indicating that the new communication unit2ahas received the software data. When receiving the reception notification, the monitoring and controlling unit1transmits a transfer completion notification to the NW managing device4. In this manner, the software data is transferred between the communication units2aand2b.

FIG. 12is an operational flowchart of an example of a process to be executed by the communication unit2bupon the reception of the instruction to transfer the software data. This process is executed at intervals of a certain time period. First, the data transfer processing unit201of the communication unit2bdetermines whether or not the communication unit2bhas received the instruction to transfer the software data from the monitoring and controlling unit1(in step St31).

When the communication unit2bhas not received the transfer instruction (No in step St31), the data transfer processing unit201terminates the process. When the communication unit2bhas received the transfer instruction (Yes in step St31), the data transfer processing unit201reads the software data from a nonvolatile memory23, transfers the read software data to the new communication unit2a(in step St32), and terminates the process. The File Transfer Protocol (FTP) is used for the transfer of the software data, for example. In this manner, the communication unit2bexecutes the process.

In this manner, the existing communication unit2btransfers the software data held in the existing communication unit2bto the new communication unit2ain accordance with the instruction from the controlling unit100of the monitoring and controlling unit1. In addition, the new communication unit2aexecutes the process illustrated inFIG. 8and holds the software data transferred from the existing communication unit2b.

In this example, the monitoring and controlling unit1enables the software data to be transferred between the communication units2aand2bwithout holding the software data of all the types. Thus, in the monitoring and controlling unit1, a capacity needed for storing software data may be reduced.

In this example, since the software data is transferred between the communication units2aand2b, communication is not executed via the monitoring and controlling unit1through the CP90. Thus, a traffic load in the CP90is reduced and a time period for the transfer is reduced, compared with a case where a process of transferring software data from the monitoring and controlling unit1is executed. Further, in the aforementioned example, since the software data is copied between the communication units2aand2bin the same mode M3, a task of managing versions of the software data is reduced.

When a communication unit2bthat holds the software data of the same type as the software data that is used for the new communication unit2adoes not exist, the monitoring and controlling unit1searches for the data IDs of the reserve software data. When the data ID of the software data that is used for the new communication unit2amatches one of the data IDs of the reserve software data, that is, when the type of the software data that is used for the new communication unit2amatches one of the types of the reserve software data, the monitoring and controlling unit1transfers the reserve software data with the matched data ID to the new communication unit2a.

FIG. 13illustrates an example of an operation for transferring the reserve software data from the monitoring and controlling unit1to a communication unit2. InFIG. 13, configurations that are common to those illustrated inFIG. 7are indicated by the same reference numerals and symbols as those illustrated inFIG. 7, and a description thereof is omitted.

In this example, a new communication unit2cin the mode M2is added to the virtual shelf (#2)3. This example assumes that a communication unit2that holds software data of the same type as the software data that is used for the new communication unit2cand has the data ID “D2” does not exist in the virtual shelves (#1 and #2)3.

In this case, the monitoring and controlling unit1searches the storage region Y2of the nonvolatile memory13for the reserve software data that has the data ID “D2” and is of the same type as the software data that is used for the new communication unit2c. The monitoring and controlling unit1transfers the found reserve software data to the new communication unit2c, as indicated by an arrow A4.

In this example, since the monitoring and controlling unit1does not acquire the software data from the NW managing device4, the monitoring and controlling unit1transfers the software data to the new communication unit2cwithin a short time period without applying a traffic load to the CP90.

FIG. 14is a sequence diagram illustrating an example of a process to be executed by the monitoring and controlling system in the case where the reserve software data is transferred from the monitoring and controlling unit1to the communication unit2. InFIG. 14, processes that are common to those illustrated inFIG. 11are indicated by the same reference symbols as those illustrated inFIG. 11, and a description thereof is omitted.

When a communication unit2that holds the software data of the same type as the software data that is used for the new communication unit2cis not found as a result of the search process S2, the monitoring and controlling unit1searches the data management TBL141for the reserve software data stored in the storage regions Y1and Y2of the nonvolatile memory13(refer to reference symbol S5). The monitoring and controlling unit1transfers, to the new communication unit2c, the reserve software data (with the data ID “D2”) of the type matching the software data that is used for the new communication unit2c. After that, the same processes as those illustrated inFIG. 11are executed. In this manner, the reserve software data is transferred from the monitoring and controlling unit1to the communication unit2c.

When the reserve software data of the same type as the software data that is used for the new communication unit2cdoes not exist, the monitoring and controlling unit1acquires the desired software data from the NW managing device4, and transfers the acquired software data to the new communication unit2c. Specifically, the software data is transferred from the NW managing device4to the new communication unit2cvia the monitoring and controlling unit1.

FIG. 15illustrates an example of operations for transferring software data from the NW managing device4to a new communication unit2. InFIG. 15, configurations that are common to those illustrated inFIG. 7are indicated by the same reference numerals and symbols as those illustrated inFIG. 7, and a description thereof is omitted.

In this example, a new communication unit2din a mode M5is added to the virtual shelf (#2)3. This example assumes that a communication unit2that holds software data of the same type as software data that is used for the new communication unit2dand has a data ID “D5” does not exist in the virtual shelves (#1 and #2)3. In addition, this example assumes that the data IDs “D1” and “D2” of the reserve software data stored in the storage regions Y1and Y2of the nonvolatile memory13are different from the data ID “D5” of the software data that is used for the new communication unit2d.

Since the type (data ID) of the software data that is used for the new communication unit2ddoes not match the reserve software data and software data that is used for existing communication units2to be monitored and controlled, the monitoring and controlling unit1requests the NW managing device4to transmit the corresponding software data. The NW managing device4transmits the software data with the data ID “D5” to the monitoring and controlling unit1via the CP90in accordance with the request, as indicated by an arrow A5. The transmitted software data is temporarily stored in the storage region X of the nonvolatile memory13.

The monitoring and controlling unit1reads the software data from the storage region X, and transfers the read software data to the new communication unit2dvia the CP91, as indicated by an arrow A6. Thus, even if the software data that is of the same type as the software data that is used for the new communication unit2dexists neither in the storage regions Y1and Y2of the nonvolatile memory13nor in the existing communication units2to be monitored and controlled, the monitoring and controlling unit1may acquire the software data from the NW managing device4, and transfer the acquired software data to the new communication unit2d.

FIG. 16is a sequence diagram illustrating an example of a process to be executed by the monitoring and controlling system in the case where the software data is transferred by the NW managing device4to the new communication unit2d. InFIG. 16, processes that are common to those illustrated inFIGS. 11 and 14are indicated by the same reference symbols as those illustrated inFIGS. 11 and 14, and a description thereof is omitted.

When the monitoring and controlling unit1has failed to find, from the reserve software data, the software data of the same type as the software data that is used for the new communication unit2das a result of the search process S5, the monitoring and controlling unit1requests the NW managing device4to transmit the corresponding software data. The NW managing device4transfers the software data with the data ID “D5” to the monitoring and controlling unit1in accordance with the request. The monitoring and controlling unit1transfers the software data with the data ID “D5” to the new communication unit2d. After that, processes that are the same as those illustrated inFIG. 11are executed. In this manner, the software data is transferred from the NW managing device4to the new communication unit2d.

When a new communication unit2is added to a virtual shelf3to be monitored and controlled after the activation of the monitoring and controlling system, a monitoring and controlling unit1uses one of the three transfer processes described with reference toFIGS. 10 to 16to transfer software data to the new communication unit2in the aforementioned manner.

FIG. 17is an operational flowchart of an example of a process to be executed by each of the monitoring and controlling units1after the activation of the monitoring and controlling system. This process is executed at intervals of a certain time period.

First, the controlling unit100of the monitoring and controlling unit1determines whether or not the monitoring and controlling unit1received a mount notification from a new communication unit2(in step St41). When the monitoring and controlling unit1has not received the mount notification (No in step St41), the controlling unit100terminates the process. When the monitoring and controlling unit1has received the mount notification (Yes in step St41), the controlling unit100transmits a mount detection notification to the NW managing device4(in step St42).

Then, the unit searching unit102searches the data management TBL141for an communication unit2holding software data of the same type as software data that is used for the new communication unit2(in step St43). When the corresponding communication unit2exists (Yes in step St44), the controlling unit100instructs the corresponding communication unit2to transfer the software data (in step St51). After that, processes of step St49and later are executed.

When the corresponding communication unit2does not exist (No in step St44), the controlling unit100searches the storage regions Y1and Y2of the nonvolatile memory13for the reserve software data of the same type as the software data that is used for the new communication unit2(in step St45). When the corresponding reserve software data exists (Yes in step St46), the data transfer processing unit101transfers the reserve software data to the new communication unit2(in step St52). After that, the processes of step St49and later are executed.

When the corresponding reserve software data does not exist (No in step St46), the data transfer processing unit101requests the NW managing device4to transfer the corresponding software data (in step St47). Then, the data transfer processing unit101transfers, to the new communication unit2, the software data transferred from the NW managing device4(in step St48).

Next, the controlling unit100determines whether or not the monitoring and controlling unit1has received, from the communication unit2, a reception notification indicating that the communication unit2received the software data (in step St49). When the monitoring and controlling unit1has received the reception notification (Yes in step St49), the controlling unit100transmits a transfer completion notification to the NW managing device4(in step St50) and terminates the process. When the monitoring and controlling unit1has failed to receive the reception notification (No in step St49), the controlling unit100transmits a transfer abnormality notification to the NW managing device4(in step St53) and terminates the process. In this manner, the monitoring and controlling unit1executes the process.

When a monitoring and controlling unit1downloads software data to a communication unit2, the monitoring and controlling unit1selects appropriate one of the process for the transfer between communication units2, the process for the transfer from the monitoring and controlling unit1, and the process for the transfer from the NW managing device4.

As described above, each of the monitoring and controlling units1is the example of the monitoring and controlling device according to the embodiment, and includes the DL management memory14, the unit searching unit102, and the controlling unit100. The DL management memory14stores types of software data held in communication units2to be managed and controlled.

When a new communication unit2is added to communication units2to be monitored and controlled, the unit searching unit102searches the DL management memory14for a communication unit2that is among the communication units2to be monitored and controlled and holds software data of the same type as software data that is used for the new communication unit2. The controlling unit100instructs the communication unit2searched for by the unit searching unit102, to transfer the software data to the new communication unit2.

According to the aforementioned configuration, the controlling unit100instructs a communication unit2holding software data of the same type as software data that is used for a new communication unit2to transfer the software data to the new communication unit2. Thus, the monitoring and controlling unit1does not have to hold the software data of all the types corresponding to all the modes M1, M2, and the like of the communication units2, thereby reducing a capacity needed for storing the software data.

In addition, the monitoring and controlling system according to the embodiment includes the monitoring and controlling units1and the communication units2to be monitored and controlled. Each of the monitoring and controlling units1includes the DL management memory14, the unit searching unit102, and the controlling unit100. The DL management memory14stores types of software data held in communication units2to be monitored and controlled.

When a new communication unit2is added to communication units2to be monitored and controlled, the unit searching unit102searches the DL management memory14for a communication unit2that is among the communication units2to be monitored and controlled and holds software data of the same type as data that is used for the new communication unit2. The controlling unit100instructs the communication unit2searched for by the unit searching unit102, to transfer the software data to the new communication unit2.

The communication unit2searched for by the unit searching unit102transfers the software data held in the communication unit2to the new communication unit2in accordance with the instruction from the controlling unit100. The new communication unit2holds the software data transferred from the communication unit2searched for by the unit searching unit102.

Since the monitoring and controlling system according to the embodiment includes the same configurations as the aforementioned monitoring and controlling units1, the monitoring and controlling system according to the embodiment exhibits the same effects as those described above.

The aforementioned embodiment is a preferred embodiment and is not limited to the above description and may include various modifications and changes without departing from the gist of the embodiment.