Private branch exchange and private branch exchange control method

A private branch exchange changes the load distribution according to the use condition by a main control unit and a sub-control unit. A line card comprises a first module group normally carrying out various operations in response to an instruction of the sub-control unit, a second module group carrying out various operations in response to the sub-control unit or the main control unit, a bus arbitration circuit, and an internal module bus selecting unit having a bypass selector for bypassing the bus arbitration circuit. The main control unit predicts the load on a system at the start of the system from the information stored in the incorporated line card, and determines, considering the prediction result, whether the control is made by the sub-control unit or the main control unit, for each module of each line card.

This application is a U.S. national phase application of PCT international application PCT/JP02/00031.

TECHNICAL FIELD

The present invention relates to a private branch exchange and a method of controlling the private branch exchange. More particularly, it relates to a private branch exchange in which a main control card is equipped with a main control unit and a line card is equipped with a sub-control unit, and a method of controlling this private branch exchange.

BACKGROUND ART

A variety of private branch exchanges (PBX) have been recently commercialized such as a PBX having a computer telephony integration (CTI) function, an ISDN-compliant PBX, and a wireless PBX.

In the foregoing circumstances, a PBX equipped with a plurality of central processing units (CPU) is introduced in the market for dealing with loads applied one after another. In this PBX, a main CPU (main control unit) controls mainly applications in upper layers or carries out an overall control. On the other hand a sub-CPU (a sub-control unit) is mounted to various line-cards and carries out mainly processing in the terminal that needs a real-time process. The main CPU and the sub-CPU thus play their own roles independently, so that the loads are distributed.

FIG. 4shows a block diagram illustrating a conventional PBX, which comprises main control card130, and a plurality of line cards132a,132b, . . . ,132n. Main control unit101of main control card130works as a CPU of the PBX. Main memory102stores the programs and data of main control unit101. System-bus master controller103converts the data into a format in accordance with its own system-bus standard, converts an address, and adjusts a timing when main control unit101accesses respective line cards132a-132n. System-bus115couples the main control card to respective line cards. Highway-bus116couples the respective line cards to each other.

In line-card132a, respective sections work as follows: System-bus slave controller104receives an interface signal supplied from system-bus master controller103of main control card130, and determines whether or not the signal accesses card132a. Only when controller104finds the access to card132a, controller104interprets an access mode, and converts the data received into a format of the bus standard in the line card, converts an address, and adjusts a timing. Sub-control unit105works as a CPU of one of line cards132a-132n. Individual memory106stores the program and data of sub-control unit105.

First module group A107is directly coupled to local-bus117, which is a bus of sub-control unit105, and carries out a process such as data conversion as a coder-decoder (codec). Module group B108aand module group B108bproduce interface signals to be supplied to first module group A107. Further the two groups carry out various processes such as a switching control or a gain control over audio data, which is divided and placed in time slots and passes through highway bus116in the PBX, and a control over communications in a conference.

Internal and external lines interface109is an interface connector between the line card and a group of telephone terminals. Intelligent block118comprises local-bus interface110, direct memory access controller111and bi-directional memory113.

Local-bus interface110harmonizes sub-control unit105with intelligent block118so that smooth access between unit105and block118can be executed. Direct memory access controller111transfers data at a high speed between individual memory106and second module groups108a,108bwithout any help from sub-control unit105. Bi-directional memory113temporarily stores a command when the command is transferred between main control unit101and sub-control unit105

In the PBX thus structured, second module group B108a, which main control unit101accesses, is clearly separated in advance from second module group B108bwhich sub-control unit105accesses, though both of the groups are disposed on the same line card. Since the loads to be applied to the main control unit and the sub-control unit can be predicted according to a system size of the PBX, namely, the number of lines to be supported, the separation and distribution of the loads are determined.

Assume that main control unit101works on second module group B108bthat is under the control of sub-control unit105, in this case main control unit101sends a command to sub-control unit105via bi-directional memory113so that sub-control unit105can substitute for main control unit101.

As discussed above, in the conventional PBX, second module group B108bcan be directly controlled only by sub-control unit105. Therefore, when sub-control unit105falls into an inoperable condition, an operation of the line card having this sub-control unit105cannot be guaranteed. In this situation, extensions governed by this line card are in trouble.

Even if first module group A107, individual memory106, second module groups B108a,108bwere accessible directly from both of main control unit101and sub-control unit105, and an operation of the line card were guaranteed, plural stages of bus-arbitration circuits could be needed. Whenever main control unit101or sub-control unit105accesses a module in a lower layer, and every bus arbitration is carried out, then a speed of access becomes slower, which causes the PBX to work inefficiently.

DISCLOSURE OF THE INVENTION

The present invention addresses the problems discussed above and aims to provide a PBX that can realize a high speed access as well as guarantee an operation of a line card governed by a sub-control unit.

The PBX of the present invention comprises the following elements:(a) a main control unit working as a CPU; and(b) a plurality of line cards, and each one of the line cards including:(b-1) a sub-control unit;(b-2) a first module group regularly working according to an instruction of the sub-control unit;(b-3) a second module group working according to an instruction of the sub-control unit or the main control unit;(b-4) an internal bus arbitrator which arbitrates between the main control unit and the sub-control unit about a right of passing the bus; and(b-5) an internal module bus selecting unit including a bus arbitration circuit, a bypass selector for bypassing the bus arbitration circuit, and carrying out a routing to the second module group to be accessed from the main control unit or the sub-control unit.

The main control unit recognizes the types and the number of the plurality of line cards on startup of the PBX, then predicts the load applied to the system. Based on the prediction, the main control unit determines which one, i.e., the main control unit or the sub-control unit, controls which module individually of the module groups disposed on respective line cards.

Further, when the module to be accessed is controlled directly by at least one of the main control unit or the sub-control unit, the bus arbitration circuit is bypassed. When the module to be accessed is controlled by both of the main control unit and the sub-control unit, the inner module bus selector carries out the process of the bus arbitration circuit.

A method of controlling the PBX of the present invention, including a main control unit working as a CPU and a plurality of line cards that have their own sub-control units respectively, comprises the following steps:(a) recognizing the types and the number of the plurality of line cards accommodated in the PBX;(b) predicting a load applied to the system based on the result obtained in step (a);(c) determining, based on the load applied to the system, which module group individually disposed on the respective line cards is controlled by which one of the main control unit or the sub-control unit; and(d) bypassing a bus arbitration process when parts of a module group are controlled by either one of the main control unit or the sub-control unit.

This control method can change flexibly a distribution of the load to the main control unit and the sub-control unit based on the determination of performance and cost of the PBX system according to the recognized types and the number of line cards accommodated in the PBX. For instance, the sub-control unit on a line card independently controls a module group, or receives an instruction from the main control unit and controls a module group accordingly. This method lightens the load applied to the main control unit, and allows the access to bypass the arbitration circuit for eliminating a useless time, thereby shortening an access time.

When a line card is slotted in or slotted out to/from the PBX in active, the PBX can recognize correctly a type and a number of cards slotted in or out. The load can be thus distributed efficiently based on this information. Further, even if a sub-control unit failed, the main control unit can substitute for the failed sub-control unit and controls the module group under the failed sub-control unit.

PREFERRED EMBODIMENT OF THE INVENTION

An exemplary embodiment of the present invention is demonstrated hereinafter with reference to the accompanying drawings.

FIG. 1is a block diagram illustrating a PBX in accordance with the exemplary embodiment of the present invention. The PBX comprises main control card50and a plurality of line cards52a,52b, . . .52n. Main control card50includes main control unit1, main memory2, and system-bus master controller3. Main control unit1works as a central processing unit (CPU) of the PBX. Main memory2stores programs and data of main control unit1. System-bus master controller3converts the data into a format of its own system-bus standard, converts an address, and adjusts a timing when main control unit1accesses respective line cards52a-52n.

Main control unit1fetches a program from main memory2, reads and writes a data, so that the main control card executes control by itself. Main control unit1also gives an instruction to sub-control unit5described later via system-bus controller3. This mechanism allows main control unit1to control the line cards indirectly. In some cases, main control unit1accesses directly module group A7and module group B8described later, thereby controlling the line cards directly. System bus15couples main control card50to respective line cards52a. . .52nin the PBX. Highway bus16passes audio data.

System-bus slave controller4provided to line card52areceives an interface signal supplied from system-bus master controller3disposed on main control card50. At this time, controller4determines whether or not its own line card is accessed, and only when controller4determines that the card is accessed, controller4interprets an access mode. Controller4then converts the signal accessing its own line card into a format of an internal bus standard, converts its addresses, and adjusts a timing.

Sub-control unit5works as a CPU for one of line cards52a-52n, namely, it fetches a program from individual memory6, reads and writes a data, so that it controls module groups A7and B8by itself. Further, sub-control unit5receives an instruction from main control unit1via bi-directional memory13, and execute a control accordingly. Sub-control unit5thus lightens the load applied to main control unit1.

Individual memory6stores the program and the data of sub-control unit5. First module group A7is directly coupled to local bus17, which is a bus of sub-control unit5, and carries out processes such as data conversion as a codec. Internal and external interface9works as an interface connector between the line card and a group of telephone terminals.

Intelligent block18includes local-bus interface10, direct memory access controller11, bi-directional memory13, internal bus arbitrator12, and internal module bus selecting unit14. Local-bus interface10harmonizes sub-control unit5with intelligent block18so that smooth access between sub-control unit5and intelligent block18can be realized. Direct memory access controller11transfers data at a high speed between individual memory6and module group B described later without any help from sub-control unit5. Internal bus arbitrator12arbitrates between an access from system bus slave controller4and an access from direct memory access controller11. At this time, internal-bus arbitrator12selects an access of higher priority and outputs the access to local-bus interface10. Bi-directional memory13temporarily stores a command when the command is sent between main control unit1and sub-control unit5.

Internal module bus selecting unit14has a function of bus arbitration circuit and a function of the bypass selector for bypassing the bus arbitration circuit, and arbitrates accesses to a module, and also carries out a routing for the accesses.

Second module group B8produces interface signals to be supplied to first module group A7. Further, second module group B8carries out various processes such as a switching control or a gain control of a time-slot over audio data passing through highway bus16in the PBX, and a control over communications in a conference.

FIG. 2is a block diagram detailing internal module bus selecting unit14and second module group B8.

In internal module bus selecting unit14, both of bypass selector14bfor bypassing the bus arbitration circuit and bus arbitration circuit14acontrol a routing section14cwhich arbitrates between accesses to an internal module and carries out a routing for the accesses. Bypass selector14bselects modules in lower priority determined in advance to be controlled by which bus so that signals accessing those modules can bypass bus arbitration circuit14a.

Respective line cards have configuration memory spaces, to be more specific, each one of system-bus slave controllers4of the respective line cards has a configuration space. System-bus master controller3and slave controller4have a configuration access function respectively, so that the types and the number of cards slotted into the PBX are recognized by main control unit1when main control unit1accesses the configuration space. Loads applied to the overall system and to the respective line cards can be thus predicted.

Each one of the configuration spaces of respective line cards stores detailed data including a type of the card. In this embodiment, the configuration space stores what kind of functions the card has. As shown inFIG. 1, the number of cards can be two or more.

An operation of the PBX thus structured is demonstrated hereinafter with reference toFIG. 3.FIG. 3is a flowchart illustrating respective processes from turning on the power supply of the PBX.

InFIG. 3, main control unit1fetches a program from main memory2at turning on the power supply of the PBX. Then control unit1instructs system-bus master controller3to access the configuration space of a first slot of the line card and obtain detailed data such as the type and the number of the card supposed to be slotted into the first slot and the number of terminals supported by the line card (S1).

Not only at the startup, but also under operating conditions of the PBX, a card can be slotted-in or slotted-out, therefore the foregoing operation can be done periodically for check purpose.

System-bus master controller3receives the instruction and accesses the configuration space of the first slot. At this time, in the case of a line card being inserted into the first slot, system-bus slave controller4reacts to this access and obtains detailed card data stored in this space. Whether or not a line card is inserted into a slot is determined by a response to a configuration cycle designating this card.

A response from the line card is obtained, and detailed data of the card is read off, then a type of the card can be recognized. Further, the foregoing configuration access is also done to the second slot and repeated up to the “n”th slot which indicates the number of the slots supported by the PBX.

Main control unit1obtains the information about which slot is inserted with what type of line card, and predicts the load applied to the entire system. While every slot is thus accessed, main control unit1recognizes which slot is inserted with what type of card before the PBX system starts operating.

Next, based on the load data obtained in step S1, main control unit1determines the load-distributed proportion among respective line cards for: module-control, namely, every module group of the respective line cards is determined to be controlled by main control unit1or sub-control unit5.

Then main control unit1assigns a bus selection to internal module bus selecting unit14including the bus arbitration circuit bypassing selector. This assignment is carried out such that an access speed from main control unit1to the module groups to be controlled by main control unit1as well as an access speed from sub-control unit5to the module groups to be controlled by sub-control unit5becomes as high as possible. The bus selection is assigned to internal module bus selecting unit14including the bus arbitration circuit bypassing selector (S2).

Basically module group A7, module group B8, and individual memory6disposed on the line card can be accessed from both of main control unit1and sub-control unit5any time and free from any restrictions. However, in this embodiment, the process of step S2is carried out in order to shorten the respective access times. The operation of step S2is carried out to every line card inserted in the slots.

Next, in step S3, main control unit1and sub-control unit5work according to the share-plan of the load determined in steps S1and S2(S3). First, an access procedure of the following case is demonstrated: individual memory6, or parts of module group A7and parts of module group B8disposed on the line card are designated to be directly controlled by main control unit1.

Firstly, main control unit1designates an address of a module regardless of the module to be accessed being disposed on the line card or not, then carries out a regular access to the designated address. System-bus master controller3receives the access, and when controller3determines the access to the line card, controller3produces an access timing in accordance with its own system-bus standard, and outputs signals to system-bus15.

System-bus slave controller4determines that the access aims at its own card among other line-cards inserted, then controller4produces an access timing in accordance with the internal bus standard.

Internal bus arbitrator12receives the access, then determines whether the access aims at module group A7or individual memory6directly coupled to a local bus, or module group B8. When the access is found aiming at module group B8, arbitrator12transfers the access with the access timing as it is to internal module bus selecting unit14.

Internal module bus selecting unit14receives the access; however, selecting unit14has ended a bus selection in step S2. Therefore, the access bypasses the bus arbitration circuit and arrives at a desired module (module group B8) without any delay.

Internal bus arbitrator12arbitrates a contention with direct memory access controller11when the access is found aiming at module group A7or individual memory6disposed on the line card, and arbitrator12outputs a bus-request signal to sub-control unit5. Then a right of passing through local-bus17is obtained before the access starts. The access discussed above can be specifically carried out in the following cases.(1) A system has a small line capacity (a small capacity having not many line cards), and a main control unit can control the overall system for itself. In this case, the system can work without a sub-control unit.(2) A system has a large line capacity; however, only a small number of line cards are slotted in, so that a main control unit can control the overall system for itself.(3) A sub-control unit fails.

When individual memory6or parts of module group A7and parts of module group B8disposed on a line card are designated to be controlled directly by sub-control unit5, the following access procedure is carried out: Firstly, sub-control unit5designates an address and carries out a regular access to the designated address. Memory6and module group A7can be accessed with the access timing as it is.

In the case of module group B8, local-bus interface10that receives the access changes the access timing to the one in accordance with the internal bus standard. Internal bus arbitrator12receives the access with the changed access timing, and transfers the access to internal module bus selecting unit14with arbitrating a contention with direct memory access controller11. Internal module bus selecting unit14receives the access; however, selecting unit14has ended a bus selection in step S2. Therefore, the access bypasses the bus arbitration circuit and arrives at a desired module without any delay.

The access discussed above is specifically carried out in the following cases:(1) A system has a large line capacity, and a main control unit cannot control the overall system for itself, so that distributed control is needed.(2) When an application in an upper layer is launched, and this application applies a large amount of load to the CPU, or the case where the load to the main control unit is preferably lightened, so that the overall system desirably performs efficiently.

As discussed above, in step S2, when parts of module groups A and B are designated to be under direct control of main control unit1or under direct control of sub-control unit5, the access to the module bypasses the bus arbitration circuit. Thus the access and an operation following the access are carried out without any delay.

When an operation of a module under the control of sub-control unit5is compulsorily changed to the one that main control unit1desires, the following procedure is carried out: In this case, main control unit1specifies an operation to the module under the control of sub-control unit5.

First, main control unit1accesses bi-directional memory13on a line card by transmitting/receiving a command. Sub-control unit5monitors bi-directional memory13whether memory13stores a new command or stays vacant by periodical poling or with an interrupt signal. Further, memory13receives a command from main control unit1, or addresses status information thereby receiving an instruction, then sub-control unit5operates in response to the instruction.

The foregoing access is carried out in the following case: In general, main control unit1changes the setting of a module under the control of sub-control unit5so that an operation of the module can be changed. In this case, since main control unit1cannot directly access the module, unit1sends a command to sub control unit5temporarily via the bi-directional memory, so that sub-control unit5changes the setting. This type of access can be carried out when a real-time process is not required.

In the next step, namely step S4, whether or not a line card is slotted in or slotted out is detected. In the following cases, main control unit1determines that a line card is slotted in or slotted out, and the process returns to step S1again:(1) Main control unit1receives a signal which notices that a line card is newly slotted in.(2) Main control unit1periodically carries out a configuration access to the respective line cards, and recognizes based on the presence or absence of response to the access that some of the line cards have slotted out.

When main control unit1determines that a case is not applicable to either one of the foregoing two cases, the process moves on to step S5(S4).

In step S5, an abnormal operation of sub-control unit5can be detected based on the content of a command communication via bidirectional memory13. When main control unit1determines that sub-control unit5operates abnormally, the process moves on to step S6. When main control unit1determines that sub-control unit5operates normally, the process moves on to step S3.

In step S6, all the modules detected operating abnormally are switched to be controlled by main control unit1. Therefore, without any specific process, main control unit1can access every module under the control of sub-control unit5without restraint. Main control unit1thus can control all the modules on the line card, so that it is assured that the system operates in a stable manner.

As discussed previously, the access bypasses the bus arbitration circuit, so that the access can be faster. Main control unit1thus instructs internal module bus selecting unit14to carry out a bus selection that entire module group B8should be put under the control of main control unit1. As a result, the access between main control unit1and module group B8can be increasingly faster.

As discussed above, this exemplary embodiment proves that sub-control unit5can independently control a module group, or receive an instruction from main control unit1via bi-directional memory13and control a module accordingly. This mechanism allows sub-control unit5to lighten the load applied to main control unit1.

When main control unit1or sub-control unit5accesses second module group B8, internal module bus selecting unit14arbitrates between accesses to a module of group B8and carries out a routing of the accesses. This mechanism allows main control unit1to substitute for sub-control unit5to control the module group under the control of unit5, even if sub-control unit failed.

The data about the types and the number of line cards slotted in the PBX are collected in advance. Based on the data, the load can be distributed to main control unit1and sub-control unit5and the distribution proportion can be flexibly changed according to the determination about the performance and the cost of the PBX system. Further, the accesses from main control unit1or sub-control unit5to second module group B8can be faster. The PBX equipped with a plurality of control units can build a distributed controlling system.

A distributed load processing and high reliability can be thus compatible, and a distributed controlling system can be switched to a central controlling system without restraint. In addition to this advantage, a system adequate for a line capacity can be build, so that the cost can be reduced.

Internal module bus selecting unit14can switch a bus, and recognizes detailed data about the types and the number of all the cards slotted in. Selector14predicts the loads applied to main control unit1and sub-control unit5based on the line capacity supported by the system and the data about the types and the number of the line cards. The prediction prompts selecting unit14to prepare a bypass selector that allows an access to bypass a bus arbitration circuit. The module groups thus can be switched without restriction to be controlled by main control unit1, or sub-control unit5, or controlled by both of units1and5. When the bus arbitration circuit is not needed, the access can bypass the arbitration circuit for shortening the access time.

Internal bus arbitrator12arbitrates between an access from system-bus slave controller4and an access from direct-memory access controller11. The arbitration prompts arbitrator12to select the access of higher priority and output it to local-bus interface10.

The PBX discussed above has the following modes:(1) a mode that allows both of main control unit1and sub-control unit5to access every module of second module group B8;(2) a mode that switches some modules out of second module group B8to be accessible only from main control unit1to the ones accessible only from sub-control unit5, or vice versa.

The availability of the foregoing two modes allows an access to the modules accessible only from main control unit1and the modules accessible only from sub-control unit5to bypass the bus arbitration circuit, so that an access can be faster.

A conventional PBX includes some line cards that are not equipped with a sub-control unit for cost reduction purpose. This structure advantageously distributes the control of the respective line cards between the main control unit and the sub-control unit according to the types of the line cards; however, a problem exists in an access time. The PBX of the present invention, on the other hand, can realize a faster access.

System-bus slave controller4includes a configuration space therein. System-bus master controller3and system-bus slave controller4have a configuration access function respectively. This structure allows the PBX to recognize the types and the number of the card slotted in because main control unit1can access the configuration space.

Based on the information about the configuration space, the load applied to the overall system and the load to the respective line cards can be predicted. Therefore, at turning on the PBX or whenever a line card is slotted in or out, the access to the configuration space allows the PBX to recognize correctly the types and the number of cards newly slotted in or slotted out. Based on the information obtained from this access, the load can be distributed more efficiently.

INDUSTRIAL APPLICABILITY

The PBX of the present invention recognizes the types and the number of line cards slotted therein, thereby adjusting flexibly a load distribution between a main control unit and a sub-control unit. This adjustment lightens the load applied to the main control unit, allows an access to bypass a bus arbitration circuit when an arbitration is not needed, thereby shortening the access time. When a line-card is newly slotted in or slotted out, the PBX can recognize the types and the number of the cards newly slotted in or slotted out. Based on those data, the load can be distributed efficiently. In the PBX of the present invention, even if the sub-control unit failed, the main control unit can substitute for the sub-control unit to control the module group under the control of the sub-control unit. The PBX of the present invention can thus guarantee the operation of the line cards and realize an access at a high speed.