JP2011076174A - End point sharing system, proxy access method, and proxy access program - Google Patents

End point sharing system, proxy access method, and proxy access program Download PDF

Info

Publication number
JP2011076174A
JP2011076174A JP2009224083A JP2009224083A JP2011076174A JP 2011076174 A JP2011076174 A JP 2011076174A JP 2009224083 A JP2009224083 A JP 2009224083A JP 2009224083 A JP2009224083 A JP 2009224083A JP 2011076174 A JP2011076174 A JP 2011076174A
Authority
JP
Japan
Prior art keywords
server
active
standby
main server
endpoint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009224083A
Other languages
Japanese (ja)
Inventor
Morihisa Endo
盛久 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009224083A priority Critical patent/JP2011076174A/en
Publication of JP2011076174A publication Critical patent/JP2011076174A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an end point sharing system, an end point proxy access method, and a program, regulating the number of servers, when increasing or decreasing processing of a CPU. <P>SOLUTION: The first and second end point access means 21, 22 access an end point common in proxy for main servers 11, 13 of a current system and a standby system, and an optional number of extension servers 12, 14. A mapping means 17 maps an address in an end point from the main servers 11, 13. A difference detecting part 18 finds a difference between the addresses in both the current system and the standby system, and allows address conversion by an address conversion means 19, when accessed from each server to the end point. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、複数のCPU(Central Processing Unit)あるいはサーバが入出力装置としてのエンドポイントを共有するためのエンドポイント共有システム、エンドポイント代理アクセス方法およびエンドポイント代理アクセスプログラムに関する。本発明は特に拡張バスの一種であるピーシーアイエクスプレス(PCI Express)を使用してエンドポイントを共有するのに好適なエンドポイント共有システム、エンドポイント代理アクセス方法およびエンドポイント代理アクセスプログラムに関する。   The present invention relates to an endpoint sharing system, an endpoint proxy access method, and an endpoint proxy access program for a plurality of CPUs (Central Processing Units) or servers to share an endpoint as an input / output device. The present invention particularly relates to an endpoint sharing system, an endpoint proxy access method, and an endpoint proxy access program suitable for sharing endpoints using PCI Express, which is a type of expansion bus.

ピーシーアイエクスプレスとは、PCI(Peripheral Component Interconnect)バスに代わって策定されたシリアル転送インタフェースである。「PCI Express」は、「PCIe」と略して表記される。ピーシーアイエクスプレスでは、ポイント・ツー・ポイントのシリアル伝送を採用している。   PCI Express is a serial transfer interface formulated in place of a PCI (Peripheral Component Interconnect) bus. “PCI Express” is abbreviated as “PCIe”. PCI Express uses point-to-point serial transmission.

ピーシーアイエクスプレスを用いた通信システムは、サーバ側のCPU(Central Processing Unit)と複数のエンドポイント(End Point)とで構成される。エンドポイントとは、LAN(Local Area Network)コントローラやストレージデバイス等のデータの入出力装置の総称である。   A communication system using PCI Express includes a server-side CPU (Central Processing Unit) and a plurality of end points. An endpoint is a general term for data input / output devices such as a LAN (Local Area Network) controller and a storage device.

ところで、ピーシーアイエクスプレスを用いた通信システムでは、従来からエンドポイントに接続できるCPUが1個に制限されている。したがって、信頼性が要求されるシステムを構築するためにCPUを二重化あるいは多重化する場合には、それぞれのCPUがエンドポイントを共有するための何らかの工夫が必要とされる。   By the way, in the communication system using PCI Express, conventionally, the number of CPUs that can be connected to the end point is limited to one. Therefore, when CPUs are duplicated or multiplexed in order to construct a system that requires reliability, some device is required for each CPU to share an endpoint.

そこで、複数のCPU(プロセッサ)がエンドポイントを共有するために、他のエンドポイントを介して目的のエンドポイントにアクセスする技術が本発明の第1の関連技術として提案されている(たとえば特許文献1参照)。   Therefore, a technique for accessing a target endpoint via another endpoint in order for a plurality of CPUs (processors) to share the endpoint has been proposed as a first related technique of the present invention (for example, Patent Documents). 1).

図17は、この第1の関連技術におけるエンドポイント共有システムの構成の概要を表わしたものである。このエンドポイント共有システム700では、第1のプロセッサユニット701が第1のホストブリッジ702および第1の外部バス703を経由して第1のエンドポイント704に接続されている。同様に、第2のプロセッサユニット711は第2のホストブリッジ712および第2の外部バス713を経由して第2のエンドポイント714に接続されている。   FIG. 17 shows an outline of the configuration of the endpoint sharing system in the first related technology. In this endpoint sharing system 700, the first processor unit 701 is connected to the first endpoint 704 via the first host bridge 702 and the first external bus 703. Similarly, the second processor unit 711 is connected to the second endpoint 714 via the second host bridge 712 and the second external bus 713.

第1のエンドポイント704と第2のエンドポイント714は互いに異なる外部バス703、713に接続されているので、たとえば第1のプロセッサユニット701がそのまま第2のエンドポイント714を使用することができない。そこで、エンドポイント共有システム700では、第1のエンドポイント704と第2のエンドポイント714の間に、これらの間を伝達される信号の変換を行う変換部721と、変換部721で変換に使用するデータを記憶するメモリ722を配置している。   Since the first endpoint 704 and the second endpoint 714 are connected to different external buses 703 and 713, for example, the first processor unit 701 cannot use the second endpoint 714 as it is. Therefore, in the endpoint sharing system 700, a conversion unit 721 that converts a signal transmitted between the first endpoint 704 and the second endpoint 714, and a conversion unit 721 uses the conversion. A memory 722 for storing data to be stored is provided.

たとえば第1のプロセッサユニット701から第2のプロセッサユニット711の第2のエンドポイント714へパケットを送信するものとする。この場合、そのパケットは、まず第1のエンドポイント704に送信される。第1のエンドポイント704に到達したパケットには、要求元のバス番号およびデバイス番号からなる要求元ID(identifier)が含まれる。第1のホストブリッジ702のバス番号およびデバイス番号が要求元IDとなる。この要求元IDを変換部721において変換し、第2のエンドポイント714のバス番号およびデバイス番号とする。これにより、第2のプロセッサユニット711配下のデバイスツリー内で有効なパケットが生成され、パケットを同ツリー内の所望のユニットあるいはデバイスへ到達させることができる。第2のプロセッサユニット711のデバイスツリーから第1のプロセッサユニット701のデバイスツリーに向けたパケット送信も同様である。   For example, it is assumed that a packet is transmitted from the first processor unit 701 to the second endpoint 714 of the second processor unit 711. In this case, the packet is first transmitted to the first endpoint 704. A packet that reaches the first endpoint 704 includes a request source ID (identifier) that includes the bus number and device number of the request source. The bus number and device number of the first host bridge 702 become the request source ID. The request source ID is converted by the conversion unit 721 to obtain the bus number and device number of the second endpoint 714. Thus, a valid packet is generated in the device tree under the second processor unit 711, and the packet can reach a desired unit or device in the tree. The same applies to packet transmission from the device tree of the second processor unit 711 toward the device tree of the first processor unit 701.

メモリ722には、第1および第2のホストブリッジ702、712のバス番号およびデバイス番号を、パケットに与えられたタグと対応づけて要求元IDテーブルとして格納している。タグはあるアクセス確立のための要求および応答に対して一意に定められる識別番号である。   The memory 722 stores the bus numbers and device numbers of the first and second host bridges 702 and 712 as a request source ID table in association with the tag given to the packet. The tag is an identification number uniquely determined for a request and response for establishing an access.

この第1の関連技術によるエンドポイント共有システム700では、第1プロセッサユニット701が第2プロセッサユニット711のエンドポイント714を共有するためには、変換部721およびメモリ722を接続した他のエンドポイント704を介する必要がある。このためには、共有する1つのエンドポイントのために、第1プロセッサユニット701と第2プロセッサユニット711がそれぞれ1つずつのエンドポイント704、714を用意する必要がある。また、変換部721とこの変換部721の変換に必要な要求元IDテーブルを格納したメモリ722を必要とし、システムの管理や運用が煩雑となる。   In the endpoint sharing system 700 according to the first related technology, in order for the first processor unit 701 to share the endpoint 714 of the second processor unit 711, another endpoint 704 to which the conversion unit 721 and the memory 722 are connected is connected. Need to go through. For this purpose, it is necessary for the first processor unit 701 and the second processor unit 711 to prepare one endpoint 704, 714 for each shared endpoint. In addition, the conversion unit 721 and the memory 722 storing the request source ID table necessary for conversion by the conversion unit 721 are required, and the management and operation of the system become complicated.

そこで、本発明者は、他のエンドポイントを必要とすることなく、1つのエンドポイントを複数のサーバが共有することのできる第2の関連技術を提案した。   Therefore, the present inventor has proposed a second related technique in which a plurality of servers can share one endpoint without requiring another endpoint.

図18は、この第2の関連技術におけるエンドポイント共有システムの構成を表わしたものである。第2の関連技術のエンドポイント共有システム800は、第0および第1のサーバ810、811を、統合エンドポイント(EP:End Point)812に接続した構成となっている。ここで、第0および第1のサーバ810、811ならびに統合エンドポイント812は、互いに物理的に分離された存在となっている。   FIG. 18 shows the configuration of the endpoint sharing system in the second related technology. The end point sharing system 800 according to the second related technology has a configuration in which the 0th and first servers 810 and 811 are connected to an integrated end point (EP) 812. Here, the 0th and 1st servers 810 and 811 and the integrated endpoint 812 are physically separated from each other.

統合エンドポイント812は、PCIプロシキ(Proxy)機能部821と、第0〜第Nのエンドポイント(EP)8220〜822N(ただし、Nは正の整数)から構成されている。ここで、PCIプロシキ機能部821は、コンピュータ用拡張バスアーキテクチャとしてのPCI(Peripheral Component Interconnect)機能を代理する機能部である。PCIプロシキ機能部821は、図示しないがCPUと、このCPUが実行する制御プログラムを格納したROM(Read Only Memory)等の記録媒体を有しており、次の各部を備えている。 The integrated endpoint 812 includes a PCI proxy function unit 821 and 0th to Nth endpoints (EP) 822 0 to 822 N (where N is a positive integer). Here, the PCI proxy function unit 821 is a function unit acting as a proxy (PCI) function as a computer expansion bus architecture. The PCI proxy function unit 821 includes a CPU (not shown) and a recording medium such as a ROM (Read Only Memory) storing a control program executed by the CPU, and includes the following units.

(a)第0のポート8310
第0のサーバ810とPCIe(PCIExpress)ケーブル8320を介して接続される。
(b)第1のポート8311
第1のサーバ811とPCIeケーブル8321を介して接続される。
(c)ACT(active)・SBY(standby)選択機能部833
第0および第1のサーバ810、811の一方をACT(現用)系に、他方をSBY(待機系)系に選択する。
(d)第0の仮想PCIeコンフィグ(Configuration)レジスタ8340
各エンドポイント822のPCIeコンフィグレジスタ情報を格納する。
(e)第1の仮想PCIeコンフィグ(Configuration)レジスタ8341
各エンドポイント822のPCIeコンフィグレジスタ情報を格納する。
(f)コンフィグ(Configuration)制御部835
第0の仮想PCIeコンフィグレジスタ8340および第1の仮想PCIeコンフィグレジスタ8341を管理する。
(g)アドレス変換テーブル836
第0のサーバ810と第1のサーバ811のメモリ空間の差分情報としてのアドレス空間差分情報を保持する。
(h)アドレス変換部837
第0のサーバ810と第1のサーバ811のメモリ空間へのアクセスが同一のアドレスになるように、アドレスを変換する。
(i)アドレス変換・振り分け機能部838
第0および第1のサーバ810、811のうちのACT系のサーバと接続されたポートとの間でPCIeパケットを振り分ける。
(j)第0〜第NのPCIeポート(Port)8390〜839N
第0〜第Nのエンドポイント(EP)8220〜822Nをそれぞれ対応して接続する。
(A) 0th port 831 0
It is connected via the server 810 and PCIe (PCIExpress) cable 832 0 of the 0.
(B) First port 831 1
It is connected to the first server 811 and via a PCIe cable 832 1.
(C) ACT (active) / SBY (standby) selection function unit 833
One of the 0th and first servers 810 and 811 is selected as an ACT (active) system, and the other is selected as an SBY (standby system) system.
(D) 0th virtual PCIe configuration register 834 0
The PCIe configuration register information of each endpoint 822 is stored.
(E) the first virtual PCIe configuration (Configuration) register 834 1
The PCIe configuration register information of each endpoint 822 is stored.
(F) Configuration control unit 835
Zeroth managing virtual PCIe configuration registers 834 0 and the first virtual PCIe configuration register 834 1.
(G) Address conversion table 836
Address space difference information as difference information of the memory space between the 0th server 810 and the first server 811 is held.
(H) Address conversion unit 837
The addresses are converted so that the access to the memory space of the 0th server 810 and the first server 811 is the same address.
(I) Address conversion / distribution function unit 838
The PCIe packet is distributed between a port connected to the ACT server of the 0th and first servers 810 and 811.
(J) 0th to Nth PCIe ports (Ports) 839 0 to 839 N
The 0th to Nth end points (EP) 822 0 to 822 N are connected correspondingly.

第2の関連技術のエンドポイント共有システム800では、第0〜第Nのエンドポイント8220〜822Nを、汎用サーバとしての第0および第1のサーバ810、811から共通に利用できるようになっている。ここで、第0〜第Nのエンドポイント8220〜822Nは、前記したようにデータの入出力装置の総称である。第0および第1のサーバ810、811は、それぞれ図示しないがCPU(Central Processing Unit)を実装している。 In the endpoint sharing system 800 of the second related technology, the 0th to Nth endpoints 822 0 to 822 N can be commonly used from the 0th and first servers 810 and 811 as general-purpose servers. ing. Here, the 0th to Nth endpoints 822 0 to 822 N are generic names of data input / output devices as described above. The 0th and 1st servers 810 and 811 are each mounted with a CPU (Central Processing Unit) (not shown).

通常のPCIe(PCI Express)システムでは、データの入出力装置としてのエンドポイントは、通常、サーバ内に実装される。第2の関連技術のエンドポイント共有システム800では、第0〜第Nのエンドポイント8220〜822Nが第0および第1のサーバ810、811と物理的に独立した構成となっている。したがって、第0のサーバ810と第0〜第Nのエンドポイント8220〜822Nの間、あるいは第1のサーバ811と同じく第0〜第Nのエンドポイント8220〜822Nの間は、PCIe専用のケーブルで接続されている。ここで、汎用サーバと各エンドポイントをPCIe専用のケーブルで接続する手法は、すでに技術的に確立したものとなっている。 In a normal PCIe (PCI Express) system, an endpoint as a data input / output device is usually mounted in a server. In the endpoint sharing system 800 of the second related technology, the 0th to Nth endpoints 822 0 to 822 N are physically independent from the 0th and first servers 810 and 811. Thus, between the 0th server 810 between the 0th N endpoint 822 0 ~822 N of or the first server 811 Like 0th N endpoint 822 0 ~822 N of, is, PCIe Connected with a dedicated cable. Here, a technique for connecting a general-purpose server and each end point with a dedicated cable for PCIe has already been technically established.

第2の関連技術では、第0および第1のサーバ810、811の一方をACT(active)系、すなわち現用系として初期的に設定しており、このACT系のみが第0〜第Nのエンドポイント8220〜822Nにアクセス可能となっている。そして、SBY(standby)系を用意しておくことで、サーバに搭載されたCPUを二重化している。 In the second related technique, one of the 0th and 1st servers 810 and 811 is initially set as an ACT (active) system, that is, an active system, and only this ACT system is in the 0th to Nth end. Points 822 0 to 822 N can be accessed. By preparing an SBY (standby) system, the CPU mounted on the server is duplicated.

また、第2の関連技術では、コンフィグレーションを電源投入時に実行するようにしており、サーバのACT系とSBY系の切り替え時にコンフィグレーションを不要としている。これにより、ACT系とSBY系それぞれのサーバに搭載したCPUの一方に障害が発生した場合のようにCPUの切り替えが必要な際に、エンドポイントを一旦停止することなく、CPUの系の切り替えを高速に実現可能である。   In the second related technology, the configuration is executed when the power is turned on, and the configuration is not required when the server is switched between the ACT system and the SBY system. As a result, when the CPU needs to be switched, such as when a failure occurs in one of the CPUs installed in the ACT and SBY servers, the CPU system can be switched without temporarily stopping the endpoint. It can be realized at high speed.

第2の関連技術の第0および第1のサーバ810、811は、それぞれ1個ずつPCIe拡張スロット841、842を有している。第0のサーバ810は、PCIeケーブル8320を接続するためのPCIe NIC(Network Interface Card)843を、PCIe拡張スロット841に実装(装着)している。同様に、第1のサーバ811は、PCIeケーブル8321を接続するためのPCIe NIC844をPCIe拡張スロット842に実装している。 The 0th and 1st servers 810 and 811 of the second related technology each have one PCIe expansion slot 841 and 842, respectively. 0th server 810, the PCIe NIC (Network Interface Card) 843 for connecting the PCIe cable 832 0, are mounted to the PCIe expansion slots 841 (attached). Similarly, the first server 811 implements a PCIe NIC844 for connecting the PCIe cable 832 1 PCIe expansion slot 842.

第0〜第Nのエンドポイント8220〜822NとPCIプロシキ機能部821における第0〜第NのPCIeポート8390〜839Nの間には、それぞれPCIeバス8510〜851Nが接続されている。 0th Between the first N endpoint 822 0 ~822 N and PCI Puroshiki functional unit 0th PCIe ports 839 0 of the N ~839 at 821 N, and are respectively connected to the PCIe bus 851 0 ~851 N Yes.

PCIプロキシ機能部821は、第0のサーバ810と接続するための第0のポート8310と、第1のサーバ811と接続するための第1のポート8311を有する。また、PCIプロキシ機能部821は、仮想PCIeコンフィグレジスタ8340、8341をそれぞれ管理するためのコンフィグ(Configuration)制御部835を有する。コンフィグ制御部835は、PCIプロキシ機能部821に接続された第0〜第Nのエンドポイント8220〜822Nが保持する、図示しないPCIeコンフィグレーションレジスタを制御する機能を有する。また、コンフィグ制御部835は、第0および第1の仮想PCIeコンフィグレジスタ8340、8341に対して、各エンドポイント822のPCIeコンフィグレジスタ情報の内容を反映させる機能も有する。 PCI proxy function unit 821 includes a zeroth port 831 0 for connecting the first 0 server 810, the first port 831 1 for connecting to the first server 811. Also, PCI proxy function unit 821 has a configuration (Configuration) controller 835 for managing virtual PCIe configuration register 834 0, 834 1, respectively. Configuration control section 835, the endpoint 822 0 ~822 N of 0th N holds connected to PCI proxy function unit 821 has the function of controlling the PCIe configuration register (not shown). Further, configuration controller 835, the zeroth and first virtual PCIe configuration register 834 0, 834 relative to 1 also has a function to reflect the content of the PCIe configuration register information for each endpoint 822.

第0のサーバ810は、第0の仮想PCIeコンフィグ(Configuration)レジスタ8340に対して、PCIeコンフィグレーション情報のリード・ライト(Read/Write)を行う。第1のサーバ811も、第1の仮想PCIeコンフィグレジスタ8341に対して、PCIeコンフィグレーション情報のリード・ライトを行う。このため、第0〜第Nのエンドポイント8220〜822Nの前記したPCIeコンフィグレーションレジスタは、これらのサーバ810、811から直接制御されることはない。これらのPCIeコンフィグレーションレジスタは、コンフィグ制御部835を経由してアクセスされることになる。 0th server 810, to the virtual PCIe configuration (Configuration) register 834 0 of the 0th, performs PCIe configuration information read-write (Read / Write). The first server 811, the first virtual PCIe configuration register 834 1, performs a read-write PCIe configuration information. Therefore, the PCIe configuration registers of the 0th to Nth endpoints 822 0 to 822 N are not directly controlled from these servers 810 and 811. These PCIe configuration registers are accessed via the configuration control unit 835.

第0のポート8310と第1のポート8311は、PCIeパケットで転送されるACT制御信号を識別する。そして、ACT切替指示が第0のサーバ810もしくは第1のサーバ811から送付された場合には、ACT・SBY選択機能部833に対してACT・SBY切替指示を出すようになっている。ACT・SBY選択機能部833では、アドレス変換・振り分け機能部838に対して、現用系としてのACT系サーバが第0および第1のサーバ810、811のどちらであるかを示す信号を送出する。アドレス変換・振り分け機能部838は、この信号を受信すると、第0のポート8310と第1のポート8311のうちのACT系のサーバと接続されたポートとの接続を維持する。アドレス変換・振り分け機能部838は、第0のポート8310と第1のポート8311のうちのSBY系のポートとのデータのやり取りは行わない。 The 0th port 831 0 and the first port 831 1 identify the ACT control signal transferred in the PCIe packet. When an ACT switching instruction is sent from the 0th server 810 or the first server 811, an ACT / SBY switching instruction is issued to the ACT / SBY selection function unit 833. The ACT / SBY selection function unit 833 sends a signal indicating whether the ACT server as the active system is the 0th server or the first server 810, 811 to the address conversion / distribution function unit 838. Address conversion and sorting function unit 838 receives this signal and maintains a connection with the zeroth port 831 0 and the first port 831 1 ACT system server and connection port of one of the. The address translation / distribution function unit 838 does not exchange data between the 0th port 8310 and the SBY system port of the first port 831 1 .

コンフィグ制御部835は、第0および第1の仮想PCIeコンフィグレジスタ8340、8341に設定されたPCIeコンフィグレーションレジスタ情報から第0および第1のサーバ810、811が保持するPCIeメモリ空間マップ情報を取得する。そして、各サーバ810、811でメモリ空間上に各エンドポイント822をどのように配置したかを認識する。このとき、各サーバ810、811の設定値に差分がある場合には、第0のサーバ810のメモリ空間に対して、第1のサーバ811のメモリ空間の差分を計算し、差分情報をアドレス変換テーブル836に転送する。 Configuration control unit 835, the PCIe memory space map information zeroth and first virtual PCIe configuration register 834 0, 834 1 from the PCIe configuration register information set to the zeroth and the first server 810 and 811 are held get. Then, the servers 810 and 811 recognize how the endpoints 822 are arranged in the memory space. At this time, if there is a difference between the setting values of the servers 810 and 811, the difference of the memory space of the first server 811 is calculated with respect to the memory space of the 0th server 810, and the difference information is address-converted Transfer to table 836.

アドレス変換部837は、アドレス変換テーブル836から送信された第0および第1のサーバ810、811のアドレス空間差分情報を取得する。そして、第1のサーバ811のメモリ空間へのアクセスを第0のサーバ810のメモリ空間へのアクセスと同一のアドレスになるように、アドレス変換処理を実施する。その後、第1のサーバ811と第0〜第Nのエンドポイント8220〜822Nの間でアクセスが行われる際にPCIeパケットのやり取りを実施する。 The address conversion unit 837 acquires the address space difference information of the 0th and first servers 810 and 811 transmitted from the address conversion table 836. Then, an address conversion process is performed so that the access to the memory space of the first server 811 has the same address as the access to the memory space of the 0th server 810. Thereafter, the PCIe packet is exchanged when an access is performed between the first server 811 and the 0th to Nth endpoints 822 0 to 822 N.

アドレス変換・振り分け機能部838は、第0〜第Nのエンドポイント8220〜822Nに対するPCIeパケットの振分けを、PCIeパケットヘッダ内に格納されたアドレス情報を基にして実施する。 The address conversion / distribution function unit 838 performs the distribution of the PCIe packet to the 0th to Nth endpoints 822 0 to 822 N based on the address information stored in the PCIe packet header.

なお、第0〜第Nのエンドポイント8220〜822Nから第0あるいは第1のサーバ810、811の方向に流れるパケットについては、ACT・SBY選択機能部833から送信されたACT情報を基にして、ACT系サーバと接続されたポート方向のみにパケットを送信する。 The packets flowing from the 0th to Nth endpoints 822 0 to 822 N toward the 0th or first server 810, 811 are based on the ACT information transmitted from the ACT / SBY selection function unit 833. Thus, the packet is transmitted only in the port direction connected to the ACT server.

エンドポイント共有システム800にも見られるように、ネットワーク機器では、CPUをACT系とSBY系の双方に配置して、これらの2つの系で同期をとる一方、片方の系のCPUが配下のエンドポイントにアクセスしてデータの運用を行うことが望ましい。このため、ACT系とSBY系の合計2個のCPUとエンドポイントで構成するネットワーク機器の場合には、エンドポイントに対してACT系のCPUのみアクセス可能であればよい。しかしながら、障害が発生した時には、CPUの系切り替えを実施した後に、新しいACT系のCPUが、速やかにエンドポイントにアクセスできるための仕組みが必要となる。   As seen in the end point sharing system 800, in the network device, the CPU is arranged in both the ACT system and the SBY system, and synchronization is performed between these two systems, while the CPU of one system is controlled by the subordinate end. It is desirable to access the point and operate the data. For this reason, in the case of a network device composed of a total of two ACT and SBY CPUs and an endpoint, it is sufficient that only the ACT CPU is accessible to the endpoint. However, when a failure occurs, a mechanism is required for a new ACT CPU to be able to quickly access the endpoint after switching the CPU.

既存のピーシーアイ(PCI)の仕組みを用いる場合には、ACT系のCPUがエンドポイントを管理している状態から、障害発生により、SBY系のCPUに切り替えたとき、エンドポイントがマッピングされるCPUメモリ空間が同一ではない。そこで、一般には、エンドポイントの物理的なリセットや設定データの再設定が必要となり、迅速な系の切り替えを実施することが困難になる。また、リセットや再設定処理の間、エンドポイントはデータ通信を行うことができない。この結果、ネットワーク機器の信頼性が低くなる。このため、信頼性が要求される通信機器では、エンドポイントに対するリセットやコンフィグレーション処理を実施することなく、CPUの切替処理が実現できることが望まれる。   When the existing PC eye (PCI) mechanism is used, the CPU to which the endpoint is mapped when the ACT CPU manages the endpoint and switches to the SBY CPU due to the occurrence of a failure. Memory space is not the same. In general, therefore, it is necessary to physically reset the endpoint and reset the setting data, and it is difficult to perform rapid system switching. In addition, during the reset or reset process, the endpoint cannot perform data communication. As a result, the reliability of the network device is lowered. For this reason, in a communication device that requires reliability, it is desired that CPU switching processing can be realized without performing reset or configuration processing for an endpoint.

以上説明した第2の関連技術では、汎用サーバ上に搭載されたCPUを系の切り替えに使用している。サーバ上のCPUは、通常、電源が投入された直後に、バイオス(BIOS:Basic Input/Output System)の指示に従ってPCIe配下のエンドポイントを検索して、自動的にメモリ空間上にエンドポイントのマッピング処理を実施する。このため、ユーザがどのアドレス空間にエンドポイントを配置するかという制御は、たとえばバイオスの変更を行わない限りは不可能である。このため、このため、物理的に異なるサーバ上に搭載された2個のCPUが、同一のエンドポイントを同一のメモリ空間上にマッピングさせることは、困難となる。   In the second related technology described above, a CPU mounted on a general-purpose server is used for system switching. The CPU on the server normally searches for endpoints under PCIe according to BIOS (Basic Input / Output System) instructions immediately after the power is turned on, and automatically maps the endpoints in the memory space. Perform the process. For this reason, it is impossible to control in which address space the user places the endpoint unless the bios is changed, for example. For this reason, it becomes difficult for two CPUs mounted on physically different servers to map the same end point on the same memory space.

PCIe(PCI Express)では、エンドポイントをCPUのメモリ空間上にマッピングする場合に、ベースアドレス(Base Address)をエンドポイントのPCIeコンフィグレーションレジスタに対して設定し、メモリ空間における位置を確定させる。エンドポイントは設定されたベースアドレス情報に基づいたアドレス値が設定されたPCIeパケットのみを、自分が処理するPCIeパケットであると認識する。このため、エンドポイントは2個のCPU間とのやり取りの際のアドレス値は、PCIeコンフィグレーションレジスタに設定されている値である必要がある。この結果、エンドポイントのPCIeコンフィグレーション情報を再設定しないで、CPUの切り替えを実施する場合は、エンドポイントへアクセスするアドレスをエンドポイントの前段同一空間上になるように、変換する機能が必要となる。   In PCIe (PCI Express), when an end point is mapped on the memory space of the CPU, a base address (Base Address) is set in the PCIe configuration register of the end point, and a position in the memory space is determined. The endpoint recognizes only the PCIe packet in which the address value based on the set base address information is set as the PCIe packet to be processed by itself. For this reason, the end point needs to have an address value set in the PCIe configuration register when exchanging between the two CPUs. As a result, when CPU switching is performed without resetting the PCIe configuration information of the endpoint, a function to convert the address for accessing the endpoint so that it is in the same space before the endpoint is required. Become.

そこで、第2の関連技術では、電源投入直後のACT系サーバとしての第0のサーバ810のメモリ空間にエンドポイントをマッピングするようにしている。そして、第0のサーバ810から各エンドポイント822へのアクセスについては、アドレス情報をそのまま使用する。障害発生によりACT系とSBY系の切り替えが発生したら、その後の電源投入直後のSBY系サーバとしての第1のサーバ811から各エンドポイント822のアクセスについては、アドレス変換を実施する。これにより、同一のエンドポイントに対して、2つのCPUがアクセスする機能を実現する。   Therefore, in the second related technique, the endpoint is mapped to the memory space of the 0th server 810 as the ACT server immediately after the power is turned on. For the access from the 0th server 810 to each endpoint 822, the address information is used as it is. When switching between the ACT system and the SBY system occurs due to the occurrence of a failure, address conversion is performed for the access of each endpoint 822 from the first server 811 as the SBY server immediately after power-on. As a result, a function for two CPUs to access the same endpoint is realized.

特開2007−188446号公報(第0018段落〜第0024段落、図2)JP 2007-188446 A (paragraphs 0018 to 0024, FIG. 2)

このような第2の関連技術を使用すると、エンドポイントを複数のサーバで共有する仕組みを実現可能となる。また、エンドポイント側の処理が増加した場合には、エンドポイントを増設することで、拡張性のあるシステム構成を実現することができる。   When such a second related technology is used, it is possible to realize a mechanism for sharing an endpoint among a plurality of servers. In addition, when the processing on the endpoint side increases, an expandable system configuration can be realized by adding endpoints.

しかしながら、サーバ側の負荷が増えた場合、第2の関連技術を使用した場合には、サーバの数をこれに応じて増設する手法を採用することができない。サーバの数を増設する手法を採用すると、ACT系のサーバが増えてしまうことになるが、この場合、複数のACT系サーバがエンドポイントにアクセスすることは不可能だからである。そこで、第2の関連技術を使用する手法では、サーバ側の負荷が増加した際にサーバの数を増やさず、サーバ自体の能力を向上させる対処方法を採用することになる。しかしながら、サーバ自体の能力を向上させるには、自ずと限界がある。   However, when the load on the server side increases, when the second related technology is used, it is not possible to adopt a method of increasing the number of servers in accordance with this. If the method of increasing the number of servers is adopted, the number of ACT servers increases. In this case, it is impossible for a plurality of ACT servers to access the endpoint. Therefore, in the method using the second related technique, when the load on the server side increases, a coping method that improves the capability of the server itself without increasing the number of servers is adopted. However, there is a limit to improving the capacity of the server itself.

そこで本発明の目的は、CPUの処理が増減した場合に、サーバの数を調整できるエンドポイント共有システム、エンドポイント代理アクセス方法およびエンドポイント代理アクセスプログラムを提供することにある。   Accordingly, an object of the present invention is to provide an endpoint sharing system, an endpoint proxy access method, and an endpoint proxy access program that can adjust the number of servers when CPU processing increases or decreases.

本発明では、(イ)CPU(Central Processing Unit)を実装した1台の現用系の主サーバと、(ロ)CPUを実装した任意の台数からなる現用系の拡張サーバと、(ハ)CPUを実装した1台の待機系の主サーバと、(ニ)CPUを実装した任意の台数からなる待機系の拡張サーバと、(ホ)前記した現用系の主サーバと前記した現用系の拡張サーバの間の通信を行う現用系通信手段と、(へ)前記した待機系の主サーバと前記した待機系の拡張サーバの間の通信を行う待機系通信手段と、(ト)所定のメモリ空間上に、前記した現用系の主サーバにおける前記した待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピング手段と、(チ)このマッピング手段によってマッピングされる前記した待機系の主サーバの前記した現用系の主サーバに対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPUのベースアドレスの値の差によって検出する差分検出手段と、(リ)この差分検出手段によって検出された差分を基にして、前記した待機系の主サーバが現用系の主サーバに切り替わった際に前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換手段と、(ヌ)前記した現用系の主サーバと前記した待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視手段と、(ル)この切替時機到来監視手段によって前記した待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記したマッピング手段にマッピングされた前記した現用系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそのまま用いて前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスする第1のエンドポイントアクセス手段と、(ヲ)前記した切替時機到来監視手段によって前記した待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれ前記したアドレス変換手段で変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする第2のエンドポイントアクセス手段と、(ワ)前記した現用系の拡張サーバの1台が前記した現用系の主サーバに代わって前記した所定数のエンドポイントと通信するときそのデータを前記した現用系の主サーバに代わって所定の現用系用記憶領域に格納する現用系用データ格納手段と、(カ)前記した待機系の拡張サーバの1台が前記した待機系の主サーバに代わって前記した所定数のエンドポイントと通信するときそのデータを前記した待機系の主サーバに代わって所定の待機用記憶領域に格納する待機系用データ格納手段とをエンドポイント共有システムが具備する。   In the present invention, (a) one active main server on which a CPU (Central Processing Unit) is mounted, (b) an active expansion server comprising any number of CPUs mounted, and (c) a CPU One installed standby main server, (d) a standby expansion server comprising any number of CPUs installed, and (e) the above-described active main server and the above-described active expansion server. Active communication means for performing communication between the standby system communication means for performing communication between the standby main server and the standby expansion server described above, and (g) on a predetermined memory space. Mapping the address information of a predetermined number of endpoints shared with the standby main server as described above in the active main server and the address information of the predetermined number of endpoints as described above in the standby main server And (h) the difference between the address information of the predetermined number of endpoints of the standby main server mapped by the mapping means with respect to the active main server described above, of the servers. Difference detection means for detecting based on the difference in the value of the base address of the CPU, and (ii) when the standby main server described above is switched to the active main server based on the difference detected by the difference detection means. Address conversion means for converting address information after switching when accessing the predetermined number of endpoints on behalf of the active main server, and (nu) the active main server Switching time arrival monitoring means for monitoring the arrival of the switching time of the standby main server, and (le) arrival of this switching time. Until the standby main server is switched to the active main server by the monitoring means, the address information of the predetermined number of endpoints in the active main server mapped in the mapping means is used as it is. Using the first endpoint access means for accessing the predetermined number of endpoints on behalf of the active main server, and (v) the standby main server described above by the switching time arrival monitoring means described above. Is switched to the active system by converting the address information of the predetermined number of endpoints in the standby main server described above before switching to the active system by the above address conversion means. The second server accessing the predetermined number of endpoints on behalf of the primary server. And (c) when one of the above-mentioned active expansion servers communicates with the above-mentioned predetermined number of endpoints on behalf of the above-mentioned active main server, the data is transferred to the above-mentioned active main server. Active data storage means for storing in a predetermined active storage area in place of the server, and (f) one of the standby expansion servers described above is the predetermined number in place of the standby main server described above. The endpoint sharing system includes standby system data storage means for storing the data in a predetermined standby storage area in place of the standby system main server when communicating with the endpoint.

また、本発明では、(イ)ピーシーアイエクスプレス(Peripheral Component Interconnect Express)バスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピングステップと、(ロ)このマッピングステップによってマッピングされる前記した待機系の主サーバの前記した現用系の主サーバに対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPU(Central Processing Unit)のベースアドレスの値の差によって検出する差分検出ステップと、(ハ)この差分検出ステップによって検出された差分を基にして、前記した待機系の主サーバが現用系の主サーバに切り替わった際に前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換ステップと、(ニ)前記した現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視ステップと、(ホ)この切替時機到来監視ステップによって前記した待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記したマッピングステップによってマッピングされた前記した現用系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそのまま用いて前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスする第1のエンドポイントアクセスステップと、(ヘ)前記した切替時機到来監視ステップによって前記した待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれ前記したアドレス変換ステップによって変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする第2のエンドポイントアクセスステップと、(ト)任意の台数からなる現用系の拡張サーバのうちの1台が、前記した現用系の主サーバの代わりに前記した第1のエンドポイントアクセスステップで前記した所定数のエンドポイントと通信を行うとき、そのデータを前記した現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する現用系用データ格納ステップと、(チ)任意の台数からなる待機系の拡張サーバのうちの1台が、前記した待機系の主サーバの代わりに前記した第2のエンドポイントアクセスステップで前記した所定数のエンドポイントと通信を行うとき、そのデータを前記した待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する待機系用データ格納ステップとをエンドポイント代理アクセス方法が具備する。   In the present invention, (b) a predetermined number of endpoints shared with the standby main server in the active main server are stored in a predetermined memory space connected to the (B) Peripheral Component Interconnect Express bus. A mapping step for mapping the address information and the address information of the predetermined number of endpoints in the standby main server, and (b) the standby main server mapped by the mapping step. A difference detection step for detecting a difference in address information for the predetermined number of endpoints with respect to the active main server by a difference in base address values of CPUs (Central Processing Units) of these servers; Based on the difference detected by the difference detection step, When the standby primary server is switched to the active primary server, the address information after the switching is converted when accessing the predetermined number of endpoints on behalf of the active primary server. The address conversion step, (d) the switching timing arrival monitoring step for monitoring the arrival of switching timing between the active main server and the standby main server, and (e) the switching timing arrival monitoring step described above. Until the standby main server is switched to the active main server, the address information of the predetermined number of endpoints in the active main server mapped in the mapping step is used as it is. The first endpoint that accesses the predetermined number of endpoints on behalf of the main server of the system And (f) when the standby main server is switched to the active main server by the switching time arrival monitoring step, the predetermined number in the standby main server before switching is changed. A second endpoint access step for accessing the predetermined number of endpoints on behalf of the main server switched to the active system by converting the address information of each endpoint by the address conversion step described above, and (g) When one of the active expansion servers composed of an arbitrary number communicates with the predetermined number of endpoints in the first endpoint access step described above instead of the above-described active main server, Instead of the data at the time of communication with the active main server described above, a predetermined storage area The active data storage step for storing, and (h) one of the standby expansion servers of an arbitrary number is used in the second endpoint access step described above instead of the standby main server described above. When communicating with the predetermined number of endpoints described above, the standby-system data storage step of storing the data in a predetermined storage area in place of the data at the time of communication of the standby-system main server described above is the endpoint proxy access The method comprises.

更に本発明では、現用系の主サーバと待機系の主サーバのそれぞれとピーシーアイエクスプレス(Peripheral Component Interconnect Express)バスを介して接続され、これらの主サーバと所定数のネットワーク端末としてのエンドポイントを共有する装置のコンピュータに、エンドポイント代理アクセスプログラムとして、(イ)前記したピーシーアイエクスプレスバスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピング処理と、(ロ)このマッピング処理によってマッピングされる前記した待機系の主サーバの前記した現用系の主サーバに対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPU(Central Processing Unit)のベースアドレスの値の差によって検出する差分検出処理と、(ハ)この差分検出処理によって検出された差分を基にして、前記した待機系の主サーバが現用系の主サーバに切り替わった際に前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換処理と、(ニ)前記した現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視処理と、(ホ)この切替時機到来監視処理によって前記した待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記したマッピング処理によってマッピングされた前記した現用系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそのまま用いて前記した現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスする第1のエンドポイントアクセス処理と、(ヘ)前記した切替時機到来監視処理によって前記した待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記した待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれ前記したアドレス変換処理によって変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする第2のエンドポイントアクセス処理と、(ト)任意の台数からなる現用系の拡張サーバのうちの1台が、前記した現用系の主サーバの代わりに前記した第1のエンドポイントアクセス処理で前記した所定数のエンドポイントと通信を行うとき、そのデータを前記した現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する現用系用データ格納処理と、(チ)任意の台数からなる待機系の拡張サーバのうちの1台が、前記した待機系の主サーバの代わりに前記した第2のエンドポイントアクセス処理で前記した所定数のエンドポイントと通信を行うとき、そのデータを前記した待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する待機系用データ格納処理とを実行させることを特徴としている。   Further, according to the present invention, the active main server and the standby main server are connected to each other via PCI Express (Peripheral Component Interconnect Express) buses, and end points as a predetermined number of network terminals are connected to these main servers. As the endpoint proxy access program to the computer of the sharing device, (a) a predetermined number shared with the standby main server in the active main server in the predetermined memory space connected to the PC Express bus described above A mapping process for mapping the address information of the endpoints and the address information of the predetermined number of endpoints in the standby system main server described above, and (b) the primary system of the standby system mapped by the mapping process. For the above-mentioned primary server of the active system And (c) a difference detection process for detecting a difference in address information for the predetermined number of endpoints based on a difference in a base address value of a CPU (Central Processing Unit) of these servers, and (c) a detection by the difference detection process. Based on the difference, when the standby main server is switched to the active main server, when accessing the predetermined number of endpoints on behalf of the active main server, (D) an address conversion process for converting address information after switching; (d) a switching timing arrival monitoring process for monitoring the arrival of the switching timing of the active main server and the standby main server; Until the standby main server is switched to the active main server by this switching timing arrival monitoring process, the mapping process described above is used. The first end that accesses the predetermined number of end points on behalf of the active main server by using the address information of the predetermined number of end points in the active main server that has been wrapped as it is. When the standby main server is switched to the active main server by the point access process and (f) the switching timing arrival monitoring process described above, the above-mentioned predetermined in the standby main server before switching is performed. Second endpoint access processing for accessing the predetermined number of endpoints on behalf of the main server switched to the active system by converting the address information of the plurality of endpoints by the address conversion processing described above, respectively (to ) One of the active expansion servers consisting of an arbitrary number is the above-mentioned active system When communicating with the predetermined number of endpoints in the first endpoint access processing described above instead of the main server, the data is replaced with the predetermined storage area instead of the data at the time of communication with the active main server. And (2) the second endpoint access process described above in place of the standby main server described above, in which one of the active system data storage processes stored in the storage system is stored in When communicating with the predetermined number of endpoints, the standby data storage processing for storing the data in a predetermined storage area in place of the communication data of the standby main server is executed. It is characterized by.

以上説明したように、本発明によれば、サーバのCPU側あるいはエンドポイント側の負荷に応じて、スケーラビリティの高いシステムを構築することができる。しかも、サーバを現用系と予備系で二重化しているので、システムの信頼性を向上することができる。   As described above, according to the present invention, a highly scalable system can be constructed according to the load on the CPU side or the endpoint side of the server. In addition, since the server is duplicated between the active system and the standby system, the reliability of the system can be improved.

本発明のエンドポイント共有システムのクレーム対応図である。It is a claim correspondence diagram of the endpoint sharing system of the present invention. 本発明のエンドポイント代理アクセス方法のクレーム対応図である。It is a claim corresponding | compatible figure of the endpoint proxy access method of this invention. 本発明のエンドポイント代理アクセスプログラムのクレーム対応図である。It is a claim corresponding | compatible figure of the endpoint proxy access program of this invention. 本発明の実施の形態によるエンドポイント共有システムを表わしたシステム構成図である。1 is a system configuration diagram illustrating an endpoint sharing system according to an embodiment of the present invention. 本実施の形態におけるサーバの電源投入後のアドレス変換テーブル作成までのコンフィグレーション処理の様子を示した説明図である。It is explanatory drawing which showed the mode of the configuration process until the address conversion table preparation after power-on of the server in this Embodiment. 本実施の形態におけるベースアドレスの概念を示した説明図である。It is explanatory drawing which showed the concept of the base address in this Embodiment. 本実施の形態におけるACT系サーバ群と、SBY系サーバ群のメモリ空間を対比した説明図である。It is explanatory drawing which contrasted the memory space of the ACT type | system | group server group in this Embodiment, and a SBY type | system | group server group. 本実施の形態における第0−0のサーバによるデータのリードおよびライトの処理を表わした説明図である。It is explanatory drawing showing the read-and-write process of the data by the 0-0th server in this Embodiment. 本実施の形態における第1−0のサーバによるデータのリードおよびライトの処理を表わした説明図である。It is explanatory drawing showing the read-and-write process of the data by the 1-0 server in this Embodiment. 本実施の形態におけるACT系とSBY系の切替動作を示した説明図である。It is explanatory drawing which showed switching operation of the ACT type | system | group and SBY type | system | group in this Embodiment. 本実施の形態におけるサーバ側のソフトウェア処理の様子を表わした説明図である。It is explanatory drawing showing the mode of the software process by the side of the server in this Embodiment. 本実施の形態における記憶装置を介して、サーバがエンドポイントに対してアクセスを行う様子を表わした説明図である。It is explanatory drawing showing a mode that a server accesses with respect to an endpoint via the memory | storage device in this Embodiment. 本実施の形態における統合エンドポイントからサーバへのデータ取り込みの様子を示した説明図である。It is explanatory drawing which showed the mode of the data acquisition to the server from the integrated endpoint in this Embodiment. 本発明の第1の変形例としての統合エンドポイントの増設例を表わしたエンドポイント共有システムのシステム構成図である。It is a system configuration figure of an end point sharing system showing an example of addition of an integrated end point as the 1st modification of the present invention. 本発明の第2の変形例として、イーサネット(登録商標)フレームでカプセル化したエンドポイント共有システムのシステム構成図である。FIG. 11 is a system configuration diagram of an endpoint sharing system encapsulated with an Ethernet (registered trademark) frame as a second modification of the present invention. 本発明の第3の変形例として1台の主サーバに対して複数台の拡張サーバを配置したエンドポイント共有システムのシステム構成図である。FIG. 10 is a system configuration diagram of an endpoint sharing system in which a plurality of expansion servers are arranged for one main server as a third modification of the present invention. 第1の関連技術におけるエンドポイント共有システムの構成の概要を表わしたシステム構成図である。It is a system configuration figure showing an outline of composition of an end point sharing system in the 1st related art. 第2の関連技術によるエンドポイント共有システムの構成を表わしたシステム構成図である。It is a system block diagram showing the structure of the end point sharing system by the 2nd related technique.

図1は、本発明のエンドポイント共有システムのクレーム対応図を示したものである。本発明のエンドポイント共有システム10は、現用系の主サーバ11と、現用系の拡張サーバ12と、待機系の主サーバ13と、待機系の拡張サーバ14と、現用系通信手段15と、待機系通信手段16と、マッピング手段17と、差分検出手段18と、アドレス変換手段19と、切替時機到来監視手段20と、第1のエンドポイントアクセス手段21と、第2のエンドポイントアクセス手段22と、現用系用データ格納手段23と、待機系用データ格納手段24を備えている。ここで、現用系の主サーバ11は、CPUを実装した1台のサーバである。現用系の拡張サーバ12は、CPUを実装した任意の台数からなる現用系のサーバである。待機系の主サーバ13は、CPUを実装した1台の待機系のサーバである。待機系の拡張サーバ14は、CPUを実装した任意の台数からなる待機系のサーバである。現用系通信手段15は、現用系の主サーバ11と現用系の拡張サーバ12の間の通信を行う手段である。待機系通信手段16は、待機系の主サーバ13と待機系の拡張サーバ14の間の通信を行う手段である。マッピング手段17は、所定のメモリ空間上に、現用系の主サーバ11における待機系の主サーバ13と共有する所定数のエンドポイントのアドレス情報と、待機系の主サーバ13における所定数のエンドポイントのアドレス情報をそれぞれマッピングする。差分検出手段18は、マッピング手段17によってマッピングされる待機系の主サーバ13の現用系の主サーバ11に対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPUのベースアドレスの値の差によって検出する。アドレス変換手段19は、差分検出手段18によって検出された差分を基にして、待機系の主サーバ13が現用系の主サーバ11に切り替わった際に現用系の主サーバ11に代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行う。切替時機到来監視手段20は、現用系の主サーバ11と待機系の主サーバ13の系の切り替え時機の到来を監視する。第1のエンドポイントアクセス手段21は、マッピング手段17にマッピングされた現用系の主サーバ11における前記した所定数のエンドポイントのアドレス情報をそのまま用いて現用系の主サーバ11に代理して前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視手段20によって待機系の主サーバ13が現用系の主サーバ11に切り替えられるまでの区間である。第2のエンドポイントアクセス手段22は、切り替える前までの待機系の主サーバ13における前記した所定数のエンドポイントのアドレス情報をそれぞれアドレス変換手段19で変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視手段20によって待機系の主サーバ13が現用系の主サーバ11に切り替えられたとき以後である。現用系用データ格納手段23は、現用系の拡張サーバ12の1台が現用系の主サーバ11に代わって前記した所定数のエンドポイントと通信するときそのデータを現用系の主サーバ11に代わって所定の現用系用記憶領域に格納する。待機系用データ格納手段24は、待機系の拡張サーバ14の1台が待機系の主サーバ13に代わって前記した所定数のエンドポイントと通信するときそのデータを待機系の主サーバ13に代わって所定の待機用記憶領域に格納する。   FIG. 1 is a diagram corresponding to claims of the endpoint sharing system of the present invention. The endpoint sharing system 10 of the present invention includes an active main server 11, an active expansion server 12, a standby main server 13, a standby expansion server 14, an active communication means 15, and a standby communication server 15. System communication means 16, mapping means 17, difference detection means 18, address conversion means 19, switching timing arrival monitoring means 20, first endpoint access means 21, second endpoint access means 22 The active-system data storage means 23 and the standby-system data storage means 24 are provided. Here, the active main server 11 is a single server on which a CPU is mounted. The active expansion server 12 is an active server composed of an arbitrary number of CPUs. The standby main server 13 is a single standby server on which a CPU is mounted. The standby expansion server 14 is a standby server composed of an arbitrary number of CPUs. The active communication means 15 is means for performing communication between the active main server 11 and the active extension server 12. The standby communication unit 16 is a unit that performs communication between the standby main server 13 and the standby expansion server 14. The mapping unit 17 stores, in a predetermined memory space, address information of a predetermined number of endpoints shared with the standby main server 13 in the active main server 11 and a predetermined number of endpoints in the standby main server 13. Each address information is mapped. The difference detection means 18 determines the difference in the address information for the predetermined number of endpoints from the active main server 11 of the standby main server 13 mapped by the mapping means 17 as the base address of the CPU of these servers. Detect by the difference of the values of. Based on the difference detected by the difference detection means 18, the address conversion means 19 is described above on behalf of the active main server 11 when the standby main server 13 is switched to the active main server 11. Address information is converted after switching when accessing a predetermined number of endpoints. The switching timing arrival monitoring means 20 monitors the arrival of switching timing between the active main server 11 and the standby main server 13. The first endpoint access means 21 uses the address information of the predetermined number of endpoints in the active main server 11 mapped by the mapping means 17 as it is and acts as a proxy for the active main server 11 as described above. Access a predetermined number of endpoints. This is a period until the standby main server 13 is switched to the active main server 11 by the switching timing arrival monitoring means 20. The second end point access means 22 converts the address information of the predetermined number of end points in the standby main server 13 before switching to the main server that has been switched to the active system by the address converting means 19 respectively. A predetermined number of endpoints are accessed on behalf of the proxy. This is after the standby main server 13 is switched to the active main server 11 by the switching timing arrival monitoring means 20. The active data storage means 23 replaces the data with the active main server 11 when one of the active expansion servers 12 communicates with the predetermined number of endpoints instead of the active main server 11. And stored in a predetermined active storage area. The standby-system data storage means 24 replaces the data with the standby main server 13 when one of the standby expansion servers 14 communicates with the predetermined number of endpoints instead of the standby main server 13. Stored in a predetermined standby storage area.

図2は、本発明のエンドポイント代理アクセス方法のクレーム対応図を示したものである。本発明のエンドポイント代理アクセス方法30は、マッピングステップ31と、差分検出ステップ32と、アドレス変換ステップ33と、切替時機到来監視ステップ34と、第1のエンドポイントアクセスステップ35と、第2のエンドポイントアクセスステップ36と、現用系用データ格納ステップ37と、待機系用データ格納ステップ38を備えている。ここで、マッピングステップ31では、ピーシーアイエクスプレスバスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれマッピングする。差分検出ステップ32では、マッピングステップ31によってマッピングされる待機系の主サーバの現用系の主サーバに対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPUのベースアドレスの値の差によって検出する。アドレス変換ステップ33では、差分検出ステップ32によって検出された差分を基にして、待機系の主サーバが現用系の主サーバに切り替わった際に現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行う。切替時機到来監視ステップ34では、現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する。第1のエンドポイントアクセスステップ35では、マッピングステップ31によってマッピングされた現用系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそのまま用いて現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視ステップ34によって待機系の主サーバが現用系の主サーバに切り替えられるまでの区間である。第2のエンドポイントアクセスステップ36では、切り替える前までの待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれアドレス変換ステップによって変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視ステップ34によって待機系の主サーバが現用系の主サーバに切り替えられたとき以後である。現用系用データ格納ステップ37では、任意の台数からなる現用系の拡張サーバのうちの1台が、現用系の主サーバの代わりに第1のエンドポイントアクセスステップ35で前記した所定数のエンドポイントと通信を行うとき、そのデータを現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する。待機系用データ格納ステップ38では、任意の台数からなる待機系の拡張サーバのうちの1台が、待機系の主サーバの代わりに第2のエンドポイントアクセスステップ36で前記した所定数のエンドポイントと通信を行うとき、そのデータを待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する。   FIG. 2 shows a claim correspondence diagram of the endpoint proxy access method of the present invention. The endpoint proxy access method 30 of the present invention includes a mapping step 31, a difference detection step 32, an address conversion step 33, a switching timing arrival monitoring step 34, a first endpoint access step 35, and a second end A point access step 36, an active data storage step 37, and a standby data storage step 38 are provided. Here, in the mapping step 31, the address information of a predetermined number of endpoints shared with the standby main server in the active main server on the predetermined memory space connected to the PC Express bus, and the standby system The address information of the predetermined number of endpoints in the main server is mapped respectively. In the difference detection step 32, the difference in the address information for the predetermined number of endpoints with respect to the active main server of the standby main server mapped in the mapping step 31 is calculated as the base address value of the CPU of these servers. Detect by difference. In the address conversion step 33, based on the difference detected in the difference detection step 32, when the standby main server is switched to the active main server, the predetermined number of times described above on behalf of the active main server is used. Address information is converted after switching when accessing the endpoint. In the switching timing arrival monitoring step 34, the arrival of switching timing between the active main server and the standby main server is monitored. In the first end point access step 35, the address information of the predetermined number of endpoints in the active main server mapped in the mapping step 31 is used as it is and the predetermined number described above on behalf of the active main server. To access the endpoint. This is a period until the standby main server is switched to the active main server by the switching timing arrival monitoring step 34. In the second endpoint access step 36, the address information of the predetermined number of endpoints in the standby main server before switching is converted by the address conversion step, and the main server switched to the active system is substituted for the main server. Access the predetermined number of endpoints described above. This is after the standby main server is switched to the active main server by the switching timing arrival monitoring step 34. In the active data storage step 37, one of the active expansion servers composed of an arbitrary number is transferred to the predetermined number of endpoints described in the first endpoint access step 35 instead of the active main server. When the communication is performed, the data is stored in a predetermined storage area instead of the data at the time of communication with the active main server. In the standby-system data storage step 38, one of the standby expansion servers of an arbitrary number is transferred to the predetermined number of endpoints described in the second endpoint access step 36 instead of the standby main server. When the communication is performed, the data is stored in a predetermined storage area instead of the data at the time of communication of the standby main server.

図3は、本発明のエンドポイント代理アクセスプログラムのクレーム対応図を示したものである。本発明のエンドポイント代理アクセスプログラム40は、現用系の主サーバと待機系の主サーバのそれぞれとピーシーアイエクスプレス(Peripheral Component Interconnect Express)バスを介して接続され、これらの主サーバと所定数のネットワーク端末としてのエンドポイントを共有する装置のコンピュータについてのプログラムである。このエンドポイント代理アクセスプログラム40では、マッピング処理41と、差分検出処理42と、アドレス変換処理43と、切替時機到来監視処理44と、第1のエンドポイントアクセス処理45と、第2のエンドポイントアクセス処理46と、現用系用データ格納処理47と、待機系用データ格納処理48を実行するようにしている。ここで、マッピング処理41では、ピーシーアイエクスプレスバスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれマッピングする。差分検出処理42では、マッピング処理41によってマッピングされる待機系の主サーバの現用系の主サーバに対する前記した所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPU(Central Processing Unit)のベースアドレスの値の差によって検出する。アドレス変換処理43では、差分検出処理42によって検出された差分を基にして、待機系の主サーバが現用系の主サーバに切り替わった際に現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行う。切替時機到来監視処理44では、現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する。第1のエンドポイントアクセス処理45では、マッピング処理41によってマッピングされた現用系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそのまま用いて現用系の主サーバに代理して前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視処理44によって待機系の主サーバが現用系の主サーバに切り替えられるまでの区間である。第2のエンドポイントアクセス処理46では、切り替える前までの待機系の主サーバにおける前記した所定数のエンドポイントのアドレス情報をそれぞれアドレス変換処理43によって変換して現用系に切り替えられた主サーバに代理で前記した所定数のエンドポイントにアクセスする。これは、切替時機到来監視処理44によって待機系の主サーバが現用系の主サーバに切り替えられたとき以後である。現用系用データ格納処理47では、任意の台数からなる現用系の拡張サーバのうちの1台が、現用系の主サーバの代わりに第1のエンドポイントアクセス処理45で前記した所定数のエンドポイントと通信を行うとき、そのデータを現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する。待機系用データ格納処理48では、任意の台数からなる待機系の拡張サーバのうちの1台が、待機系の主サーバの代わりに第2のエンドポイントアクセス処理46で前記した所定数のエンドポイントと通信を行うとき、そのデータを待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する。   FIG. 3 is a diagram corresponding to claims of the endpoint proxy access program of the present invention. The endpoint proxy access program 40 of the present invention is connected to each of the active main server and the standby main server via a Peripheral Component Interconnect Express bus, and these main servers and a predetermined number of networks. This is a program for a computer of a device that shares an endpoint as a terminal. In this endpoint proxy access program 40, a mapping process 41, a difference detection process 42, an address conversion process 43, a switching timing arrival monitoring process 44, a first endpoint access process 45, and a second endpoint access The processing 46, the active data storage processing 47, and the standby data storage processing 48 are executed. Here, in the mapping process 41, the address information of a predetermined number of endpoints shared with the standby main server in the active main server on the predetermined memory space connected to the PC Express bus, The address information of the predetermined number of endpoints in the main server is mapped respectively. In the difference detection process 42, the difference in the address information for the predetermined number of endpoints with respect to the active main server of the standby main server mapped by the mapping process 41 is used as the CPU (Central Processing Unit) of these servers. It is detected by the difference in the base address value. In the address conversion process 43, when the standby main server is switched to the active main server based on the difference detected by the difference detection process 42, the predetermined number of times described above on behalf of the active main server is used. Address information is converted after switching when accessing the endpoint. In the switching timing arrival monitoring process 44, the arrival of switching timing between the active main server and the standby main server is monitored. In the first endpoint access processing 45, the predetermined number described above on behalf of the active main server using the address information of the predetermined number of endpoints in the active main server mapped by the mapping processing 41 as it is. To access the endpoint. This is a period until the standby main server is switched to the active main server by the switching timing arrival monitoring process 44. In the second endpoint access processing 46, the address information of the predetermined number of endpoints in the standby main server before switching is converted by the address conversion processing 43, and the main server switched to the active system is substituted for To access the predetermined number of endpoints. This is after the standby main server is switched to the active main server by the switching timing arrival monitoring process 44. In the active data storage processing 47, one of the active expansion servers of an arbitrary number is used as the predetermined number of endpoints in the first endpoint access processing 45 instead of the active main server. When the communication is performed, the data is stored in a predetermined storage area instead of the data at the time of communication with the active main server. In the standby-system data storage processing 48, one of the standby expansion servers consisting of an arbitrary number of servers is replaced with the predetermined number of endpoints described in the second endpoint access processing 46 instead of the standby main server. When the communication is performed, the data is stored in a predetermined storage area instead of the data at the time of communication of the standby main server.

<発明の実施の形態>   <Embodiment of the Invention>

次に本発明の実施の形態を説明する。   Next, an embodiment of the present invention will be described.

図4は、本発明の実施の形態によるエンドポイント共有システムを表わしたものである。このエンドポイント共有システム100は、統合エンドポイント101と、ACT(active)系サーバ群102と、SBY(standby)系サーバ群103と、記憶装置104から、大まかに構成されている。ここで統合エンドポイント101は、第0〜第Nのエンドポイント(「EP#0」〜「EP#N」)1050〜105Nと、PCIプロシキ(Proxy)機能部106から構成されている。ACT系サーバ群102は、この単純化した例では第0−0のサーバ10200と、第0−1のサーバ10201によって構成されている。SBY系サーバ群103は、同じくこの単純化した例では第1−0のサーバ10310と、第1−1のサーバ10311によって構成されている。 FIG. 4 shows an endpoint sharing system according to an embodiment of the present invention. The endpoint sharing system 100 is roughly configured by an integrated endpoint 101, an ACT (active) server group 102, an SBY (standby) server group 103, and a storage device 104. Here, the integrated endpoint 101 includes 0th to Nth endpoints (“EP # 0” to “EP # N”) 105 0 to 105 N and a PCI proxy function unit 106. ACT-based server group 102, and in this simplified example the 0-0 server 102 00 is constituted by the server 102 01 of the 0-1. SBY-server group 103 is configured similarly to the server 103 10 of the 1-0 in this simplified example, by a 1-1 server 103 11.

本実施の形態では、第0〜第Nのエンドポイント1010〜101Nに対してアクセス機能を有する第0−0のサーバ10200と第1−0のサーバ10310を主サーバと呼ぶことにする。また、第0〜第Nのエンドポイント1010〜101Nに対してアクセス機能を持たない第0−1のサーバ10201と第1−1のサーバ10311を拡張サーバと呼ぶことにする。本実施の形態では、主サーバの1台に対して拡張サーバが1台対応している。主サーバの1台に対して拡張サーバを複数台対応させるようにしてもよい。 In the present embodiment, it will be referred to a 0-0 server 102 00 and the server 103 10 of the first 1-0 having access feature for 0th endpoint 101 0 to 101 N of the N main server To do. Also, will be the first 0-1 server 102 01 having no access feature for 0th endpoint 101 0 to 101 N of the N a 1-1 server 103 11 called extended server. In this embodiment, one expansion server corresponds to one main server. A plurality of expansion servers may correspond to one main server.

このエンドポイント共有システム100で、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310、第1−1のサーバ10311および統合エンドポイント101は、互いに物理的に分離している。したがって、第0−0のサーバ10200と統合エンドポイント101の間と、第1−1のサーバ10311と統合エンドポイント101の間は、それぞれピーシーアイエクスプレス(PCI express)ケーブル107、108を用いて接続している。 In this endpoint sharing system 100, the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10 , the 1-1 server 103 11, and the integrated endpoint 101 are: They are physically separated from each other. Thus, as between the first 0-0 server 102 00 integrated endpoint 101, during the 1-1 server 103 11 integrated endpoint 101 uses the CPC Eye Express (PCI express) cables 107 and 108 respectively Connected.

また、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311は、FC(Fiber Channel)スイッチ(Switch)109を介して、記憶装置104に接続している。また、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311は、LAN(Local Area Network)115に接続している。 Further, the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 have an FC (Fiber Channel) switch 109. Via the storage device 104. The 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 are connected to a LAN (Local Area Network) 115. Yes.

主サーバとしての第0−0のサーバ10200と第1−0のサーバ10310は、それぞれピーシーアイエクスプレス拡張スロット(PCIe NIC#001、PCIe NIC#101)111、112を有している。また、これら第0−0のサーバ10200と第1−0のサーバ10310は、PCIe NIC(network card)113、114を実装している。更に、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311は、FCネットワークに接続するためのHBA(Host Bus Adapter)(HBA#0−0〜HBA#1−1)116〜119を有している。 The 0-0 server 102 00 and the server 103 10 of the first 1-0 as the main server each have a CPC eye express expansion slots (PCIe NIC # 001, PCIe NIC # 101) 111,112. These first 0-0 server 102 00 and the server 103 10 of the 1-0 implements a PCIe NIC (network card) 113,114. Further, the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 are connected to an HBA (Host Bus) for connection to the FC network. Adapter) (HBA # 0-0 to HBA # 1-1) 116-119.

統合エンドポイント101を構成する第0〜第Nのエンドポイント1050〜105Nは、同じく統合エンドポイント101を構成するPCIプロシキ機能部106とピーシーアイエクスプレスバス121を用いて接続されている。 The 0th to Nth end points 105 0 to 105 N constituting the integrated end point 101 are connected by using the PCI proxy function unit 106 and the PC Express bus 121 which also constitute the integrated end point 101.

PCIプロシキ機能部106は、コンピュータ用拡張バスアーキテクチャとしてのPCI(Peripheral Component Interconnect)機能を代理する機能部である。PCIプロシキ機能部106は、図示しないがCPUと、このCPUが実行する制御プログラムを格納した同じく図示しないROM(Read Only Memory)等の記録媒体を有しており、次の各部を備えている。   The PCI proxy function unit 106 is a function unit acting as a PCI (Peripheral Component Interconnect) function as an expansion bus architecture for computers. The PCI proxy function unit 106 includes a CPU (not shown) and a recording medium such as a ROM (Read Only Memory) (not shown) that stores a control program executed by the CPU, and includes the following units.

(a)第0のポート1310
ACT系サーバ群102とピーシーアイエクスプレスケーブル107を介して接続される。
(b)第1のポート1311
SBY系サーバ群103とピーシーアイエクスプレスケーブル108を介して接続される。
(c)ACT(active)・SBY(standby)選択機能部133
ACT系サーバ群102とSBY系サーバ群103の一方をACT(現用)系に、他方をSBY(待機)系に選択する。
(d)第0の仮想PCIeコンフィグ(Configuration)レジスタ1340
各エンドポイント105のピーシーアイエクスプレスコンフィグレジスタ情報を格納する。
(e)第1の仮想PCIeコンフィグ(Configuration)レジスタ1341
各エンドポイント105のピーシーアイエクスプレスコンフィグレジスタ情報を格納する。
(f)コンフィグ(Configuration)制御部135
第0の仮想PCIeコンフィグレジスタ1340および第1の仮想PCIeコンフィグレジスタ1341を管理する。
(g)アドレス変換テーブル136
ACT系サーバ群102とSBY系サーバ群103のメモリ空間の差分情報としてのアドレス空間差分情報を保持する。
(h)アドレス変換部137
ACT系サーバ群102とSBY系サーバ群103のメモリ空間へのアクセスが同一のアドレスになるように、アドレスを変換する。
(i)アドレス変換・振り分け機能部138
ACT系サーバ群102とSBY系サーバ群103のうちのACT系のサーバと接続されたポートとの間でピーシーアイエクスプレスパケットを振り分ける。
(j)第0〜第NのPCIeポート(Port)1390〜139N
第0〜第Nのエンドポイント(EP)1050〜105Nをそれぞれ対応して接続する。
(A) 0th port 131 0
It is connected to the ACT server group 102 via the PC Express cable 107.
(B) First port 131 1
It is connected to the SBY system server group 103 via the PC Express cable 108.
(C) ACT (active) / SBY (standby) selection function unit 133
One of the ACT server group 102 and the SBY server group 103 is selected as the ACT (active) system, and the other is selected as the SBY (standby) system.
(D) 0th virtual PCIe configuration register 134 0
Stores PC Express configuration register information of each endpoint 105.
(E) First virtual PCIe configuration register 134 1
Stores PC Express configuration register information of each endpoint 105.
(F) Configuration control unit 135
Zeroth managing virtual PCIe configuration register 134 0 and the first virtual PCIe configuration register 134 1.
(G) Address conversion table 136
Address space difference information is held as difference information of the memory space between the ACT server group 102 and the SBY server group 103.
(H) Address conversion unit 137
The addresses are converted so that the access to the memory space of the ACT server group 102 and the SBY server group 103 is the same address.
(I) Address conversion / distribution function unit 138
PC iExpress packets are distributed between the ACT server group 102 and the port connected to the ACT server in the SBY server group 103.
(J) 0th to Nth PCIe ports (Port) 139 0 to 139 N
The 0th to Nth end points (EP) 105 0 to 105 N are connected correspondingly.

PCIプロシキ機能部106を更に具体的に説明する。第0のポート1310および第1のポート1311は、ピーシーアイエクスプレスパケットで転送されるACT制御信号を識別する。そして、ACT切替指示がACT系サーバ群102もしくはSBY系サーバ群103から送付された場合には、ACT・SBY選択機能部133に対して、ACT・SBY切替指示を出す。ACT・SBY選択機能部133は、アドレス変換・振り分け機能部138に対して、ACT系のサーバがACT系サーバ群102もしくはSBY系サーバ群103を示す信号を送出する。アドレス変換・振り分け機能部138は、ACT系のサーバと接続されたポートとの接続を維持し、SBY系のポートとのデータを交換しない。 The PCI proxy function unit 106 will be described more specifically. Port 131 0 and the first port 131 1 of a 0 identifies the ACT control signals transferred by IPC eye express packet. When an ACT switching instruction is sent from the ACT server group 102 or the SBY server group 103, an ACT / SBY switching instruction is issued to the ACT / SBY selection function unit 133. The ACT / SBY selection function unit 133 transmits a signal indicating that the ACT server indicates the ACT server group 102 or the SBY server group 103 to the address conversion / distribution function unit 138. The address translation / distribution function unit 138 maintains the connection with the port connected to the ACT server and does not exchange data with the SBY port.

コンフィグ制御部135は、第0〜第Nのエンドポイント1050〜105Nが保持する、ピーシーアイエクスプレスコンフィグレーションレジスタ(図示せず)を制御する機能を有する。また、第0の仮想PCIeコンフィグ(Configuration)レジスタ1340および第1の仮想PCIeコンフィグ(Configuration)レジスタ1341に対して、各エンドポイント105のピーシーアイエクスプレスコンフィグレジスタ情報の内容を反映させる機能を有する。ACT系サーバ群102とSBY系サーバ群103は、第0の仮想PCIeコンフィグレジスタ1340および第1の仮想PCIeコンフィグレジスタ1341に対して、ピーシーアイエクスプレスコンフィグレーション情報のリード(Read)およびライト(Write)を行う。このため、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311から各エンドポイント105のピーシーアイエクスプレスコンフィグレジスタが直接制御されることはない。各エンドポイント105のピーシーアイエクスプレスコンフィグレジスタは、コンフィグ制御部135を経由してアクセスする。 The configuration control unit 135 has a function of controlling a PC eye express configuration register (not shown) held by the 0th to Nth endpoints 105 0 to 105 N. Further, with respect to the virtual PCIe configuration (Configuration) register 134 1 virtual PCIe configuration (Configuration) register 134 0 and the first of the 0 has a function to reflect the contents of the CPC's eye Express configuration registers information for each endpoint 105 . ACT system servers 102 and SBY-server group 103, to the virtual PCIe configuration register 134 1 virtual PCIe configuration register 134 0 and the first of the zeroth, CPC eye Express configuration information read (Read) and write ( Write). Therefore, the PC Express configuration register of each endpoint 105 from the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 There is no direct control. The PC Express configuration register of each endpoint 105 is accessed via the configuration control unit 135.

また、コンフィグ制御部135は、第0の仮想PCIeコンフィグレジスタ1340および第1の仮想PCIeコンフィグレジスタ1341に設定されたピーシーアイエクスプレスコンフィグレジスタ情報から、ACT系サーバ群102とSBY系サーバ群103が保持しているピーシーアイエクスプレスメモリ空間マップ情報を取得する。そして、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311がメモリ空間上に各エンドポイント105をどのように配置したかを認識する。差分がある場合には、ACT系サーバ群102のメモリ空間に対して、SBY系サーバ群103のメモリ空間の差分を計算し、得られた差分情報をアドレス変換テーブル136に転送する。 In addition, the configuration control unit 135 determines the ACT server group 102 and the SBY server group 103 from the PC Express configuration register information set in the 0th virtual PCIe configuration register 134 0 and the first virtual PCIe configuration register 134 1. PC i Express memory space map information is acquired. Then, how the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 place each endpoint 105 on the memory space. Recognize whether it has been placed. If there is a difference, the difference of the memory space of the SBY server group 103 is calculated with respect to the memory space of the ACT server group 102, and the obtained difference information is transferred to the address conversion table 136.

アドレス変換部137は、アドレス変換テーブル136から送信されるACT系サーバ群102とSBY系サーバ群103についてのアドレス空間差分情報を取得する。そして、SBY系サーバ群103のメモリ空間へのアクセスをACT系サーバ群102のメモリ空間へのアクセスと同一のアドレスになるように、アドレス変換処理を実施する。また、SBY系サーバ群103と各エンドポイント105の間でのアクセスの際に、ピーシーアイエクスプレスパケットを交換する。   The address conversion unit 137 acquires the address space difference information for the ACT server group 102 and the SBY server group 103 transmitted from the address conversion table 136. Then, the address conversion process is performed so that the access to the memory space of the SBY server group 103 has the same address as the access to the memory space of the ACT server group 102. Further, when accessing between the SBY system server group 103 and each of the end points 105, PC iExpress packets are exchanged.

アドレス変換・振り分け機能部138は、各エンドポイント105に対するピーシーアイエクスプレスパケットの振り分けを、ピーシーアイエクスプレスパケットヘッダ内に格納されたアドレス情報を基にして実施する。各エンドポイント105からサーバ方向に流れるパケットは、ACT・SBY選択機能部133から送信されるACT情報を基にして、ACT系サーバ群102と接続されたポート方向にのみにパケットを送信する。   The address conversion / distribution function unit 138 distributes the PC-Express packet to each endpoint 105 based on the address information stored in the PC-Express packet header. A packet flowing from each endpoint 105 in the server direction transmits the packet only in the port direction connected to the ACT server group 102 based on the ACT information transmitted from the ACT / SBY selection function unit 133.

次に、記憶装置104について説明する。記憶装置104は、FCスイッチ109を介して第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311と接続されている。これにより、記憶装置104に格納されたデータを、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311が共有可能となる。ここで、FCスイッチ109に接続された記憶装置104上のデータ共有方法は、既に確立されている技術である。 Next, the storage device 104 will be described. The storage device 104 is connected to the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 via the FC switch 109. Yes. Thus, the data stored in the storage device 104 is shared by the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11. It becomes possible. Here, the data sharing method on the storage device 104 connected to the FC switch 109 is a technique already established.

第0〜第Nのエンドポイント1050〜105Nにアクセス可能なサーバは、第0−0のサーバ10200および第1−0のサーバ10310のみである。第0−1のサーバ10201および第1−1のサーバ10311がエンドポイント105にアクセスする場合には、対象となるデータを記憶装置104に一旦転送する。そして、第0−0のサーバ10200あるいは第1−0のサーバ10310のうちの該当するものを経由してエンドポイント105にアクセスを実施する。 Accessible server for 0th N endpoint 105 0 to 105 N, and only the server 103 10 of the first 0-0 server 102 00 and the 1-0. When the first 0-1 server 102 01 and the 1-1 server 103 11 accesses the endpoint 105, once it transfers the data of interest in the storage device 104. Then, via a corresponding one of the server 103 10 of the first 0-0 server 102 00 or the 1-0 to implement the access to the end point 105.

<動作説明>
次に、以上のような構成のエンドポイント共有システム100の動作を説明する。
<Description of operation>
Next, the operation of the endpoint sharing system 100 configured as described above will be described.

第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311は、図示しないがCPUを搭載している。これらのサーバに搭載されたCPUから第0〜第Nのエンドポイント1050〜105Nに対するピーシーアイエクスプレスアクセスは、大別すると、ピーシーアイエクスプレスコンフィグレーションレジスタ(コンフィグレジスタ)へのアクセスと、実データのアクセスの2種類が存在する。本実施の形態のエンドポイント共有システム100では、ピーシーアイエクスプレスコンフィグレーションレジスタへのアクセスはコンフィグ制御部135が中心となって処理を実行する。また、実データのアクセスは、アドレス変換部137と、アドレス変換・振り分け機能部138が中心となって、これらの処理を実行する。エンドポイント共有システム100では、ピーシーアイエクスプレスコンフィグレーションレジスタへのアクセスを、電源投入時に実行する。ピーシーアイエクスプレスコンフィグレーションレジスタが一旦設定された後は、第0−0のサーバ10200、第0−1のサーバ10201、第1−0のサーバ10310および第1−1のサーバ10311に切り替えが発生しても設定変更が行われない。 The 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 are each equipped with a CPU (not shown). PC Eye Express access from the CPU mounted on these servers to the 0th to Nth endpoints 105 0 to 105 N is roughly divided into access to the PC Eye Express configuration register (configuration register) and actual data. There are two types of access. In the endpoint sharing system 100 according to the present embodiment, the configuration control unit 135 performs a process for accessing the PC Express configuration register. The actual data access is executed mainly by the address conversion unit 137 and the address conversion / distribution function unit 138. In the endpoint sharing system 100, access to the PC Express configuration register is executed when the power is turned on. After the PC Express configuration register is set once, the 0-0 server 102 00 , the 0-1 server 102 01 , the 1-0 server 103 10, and the 1-1 server 103 11 are set. No settings are changed even when switching occurs.

図5は、サーバの電源投入後のアドレス変換テーブル作成までのコンフィグレーション処理の様子を示したものである。図4と共に説明する。   FIG. 5 shows how the configuration process is performed until the address conversion table is created after the server is turned on. This will be described with reference to FIG.

エンドポイント105へのコンフィグレーションを行うのは、第0−0のサーバ10200と第1−0のサーバ10310である。汎用サーバでは、その電源投入直後に、ピーシーアイエクスプレスバス配下のエンドポイントを検索し、PCIメモリ空間上にエンドポイントのマッピングを行う。本実施の形態のエンドポイント共有システム100では、統合エンドポイント101が第0−0のサーバ10200(「Server#0−0」)と第1−0のサーバ10310(「Server#1−0」)からのピーシーアイエクスプレスコンフィグレジスタへのアクセスに対して、代理で応答する機能を有する。これにより、第0−0のサーバ10200あるいは第1−0のサーバ10310が第0〜第Nのエンドポイント1050〜105N(「EP#0」〜「EP#N」)をメモリ空間上にマッピングすることを可能にする。なお、図5では、第Xのエンドポイント105Xを「EP#X」(ただし、Xは0〜Nの間の任意の整数。)と簡略化して表記している。これ以降の図でも同様である。 Perform configuration to the endpoint 105 includes a first 0-0 server 102 00 is a server 103 10 of the 1-0. In the general-purpose server, immediately after the power is turned on, the endpoint under the PC Express bus is searched and the endpoint is mapped on the PCI memory space. In the endpoint sharing system 100 of the present embodiment, the integrated endpoint 101 is the 0-0 server 102 00 (“Server # 0-0”) and the 1-0 server 103 10 (“Server # 1-0”). )) To respond to access to the PC-I express config register by proxy. Thus, the 0-0 server 102 00 or the 1-0 server 103 10 endpoint 105 of the 0th to N 0 to 105 N ( "EP # 0" - "EP # N") of memory space Allows mapping up. In FIG. 5, the endpoint 105 X of the X "EP # X" (where, X is an arbitrary integer. Between 0 to N) are denoted by the simplified. The same applies to the subsequent figures.

これを具体的に説明する。図5に示すように第0−0のサーバ10200と第1−0のサーバ10310の電源が、ある時刻t1にオン(On)になったとする。コンフィグ制御部135は、統合エンドポイント101に接続された第0〜第Nのエンドポイント1050〜105Nのピーシーアイエクスプレスコンフィグレーション空間を、第0−0のサーバ10200あるいは第1−0のサーバ10310に代わってリード(Read)する(ステップS201)。 This will be specifically described. Power of the 0-0 server 102 00 and the 1-0 server 103 10 As shown in FIG. 5, and as a result, it becomes certain time t 1 is turned on (On). Configuration controller 135, a CPC eye Express configuration space of the endpoint 105 0 to 105 N in the 0th N connected to the integrated endpoint 101, the second 0-0 server 102 00 or the 1-0 on behalf of the server 103 10 leading (a read) (step S201).

図5に示した例では、まず時刻t2に第0のエンドポイント1050(「EP#0」)がリードされ、続いて、第1のエンドポイント1051(「EP#1」)がリードされる。以下同様にして、第Nのエンドポイント105N(「EP#N」)までリードが実行される。 In the example shown in FIG. 5, first, the 0th endpoint 105 0 (“EP # 0”) is read at time t 2 , and then the first endpoint 105 1 (“EP # 1”) is read. Is done. Similarly, the reading is executed up to the Nth endpoint 105 N (“EP # N”).

コンフィグ制御部135は、このステップS201によるリードした結果を、第0および第1の仮想PCIeコンフィグレジスタ1340、1341に反映させる。これにより、第0−0のサーバ10200と第1−0のサーバ10310が、第0〜第Nのエンドポイント1050〜105Nのピーシーアイエクスプレスコンフィグレーションレジスタの内容を、コンフィグ制御部135経由でリードすることが可能になる。 The configuration control unit 135 reflects the result read in step S201 in the 0th and 1st virtual PCIe configuration registers 134 0 and 134 1 . Thus, the 0-0 server 102 00 and the 1-0 server 103 10 of the contents of the CPC's eye Express configuration registers 0th N endpoint 105 0 to 105 N, the configuration control unit 135 It becomes possible to lead via.

ところで、時刻t1の電源投入時にACT(active)系サーバ群102が現用系に設定されているとする。また、これを基にして第Nのエンドポイント105N(「EP#N」)までのリードが終了した後の時刻t3に第0のポート1310がACTの状態で、第1のポート1311がSBYの状態であるとする。時刻t3以後における第0−0のサーバ10200と統合エンドポイント101の間でのコンフィグレーションデータの処理の様子を、図5ではステップS202として一括して示している。また、図5では、この場合における第1−0のサーバ10310と統合エンドポイント101の間でのコンフィグレーションデータの処理の様子を、ステップS203として一括して示している。 By the way, it is assumed that the ACT (active) server group 102 is set to the active system when the power is turned on at time t 1 . Based on this, the first port 131 0 is in the ACT state at the time t 3 after the end of reading to the Nth endpoint 105 N (“EP # N”), and the first port 131 is in the ACT state. Assume that 1 is in the SBY state. The manner of processing the configuration data between the first 0-0 server 102 00 integrated endpoint 101 at time t 3 after shows collectively as step S202 in FIG. 5. Further, FIG. 5 collectively shows the state of the configuration data processing between the 1-0 server 103 10 and the integrated endpoint 101 in this case as step S203.

最初に、ACT系の第0−0のサーバ10200と統合エンドポイント101の間で行われるステップS202の処理について説明する。第0−0のサーバ10200は、まず第0の仮想PCIeコンフィグレジスタ1340に格納された第0のエンドポイント1050(「EP#0」)の内容をリードし、第0のエンドポイント1050に書き込むコンフィグレーションデータを第0の仮想PCIeコンフィグレジスタ1340にライトする。コンフィグ制御部135は、第0−0のサーバ10200から第0の仮想PCIeコンフィグレジスタ1340にデータがライトされると、このコンフィグレーションデータを第0のPCIeポート1390を経由して、第0のエンドポイント1050に対してライトを実施する。この第0のエンドポイント1050のピーシーアイエクスプレスコンフィグレーションレジスタへのライトは、図5で時刻t4に行われている。 First, a description will be given of a process of step S202 which is performed between the first 0-0 server 102 00 integrated endpoint 101 of the ACT system. The 0-0 server 102 00, reads the first content of the 0th 0 endpoint 105 stored in the virtual PCIe configuration register 134 0 0 ( "EP # 0"), the 0 endpoint 105 the configuration data to be written to zero to write to the virtual PCIe configuration register 134 0 of the 0. Configuration control unit 135, the data from the first 0-0 server 102 00. virtual PCIe configuration register 134 0 of the 0 is written, the configuration data via the PCIe ports 139 0 of the zeroth, first A write is performed on the end point 105 0 of 0 . Writing to the 0th CPC eye Express configuration register endpoint 105 0 is carried out at time t 4 in FIG.

同様に、第0−0のサーバ10200は、第0の仮想PCIeコンフィグレジスタ1340に格納された第1のエンドポイント1051(「EP#1」)の内容をリードし、第1のエンドポイント1051に書き込むコンフィグレーションデータを第0の仮想PCIeコンフィグレジスタ1340にライトする。コンフィグ制御部135は、第0−0のサーバ10200から第0の仮想PCIeコンフィグレジスタ1340にデータがライトされると、このコンフィグレーションデータを第1のPCIeポート1391を経由して、第1のエンドポイント1051に対してライトを実施する。 Similarly, the 0-0 server 102 00, the contents of the first endpoint 105 1 that has been stored in the virtual PCIe configuration register 134 0 of the 0 ( "EP # 1") is read, the first end to write the configuration data to be written to the points 105 1 to a 0 virtual PCIe configuration register 134 0. Configuration control unit 135, the data from the first 0-0 server 102 00 virtual PCIe configuration register 134 0 of the 0 is written, the configuration data via the first PCIe ports 139 1, the Write is performed on one end point 105 1 .

以下同様にして、第0−0のサーバ10200は、第0の仮想PCIeコンフィグレジスタ1340に格納された第2のエンドポイント1052(「EP#2」(図示せず))以降の処理を順に行う。そして、第0の仮想PCIeコンフィグレジスタ1340に格納された第Nのエンドポイント105N(「EP#N」)の内容をリードすると、第Nのエンドポイントに書き込むコンフィグレーションデータを第0の仮想PCIeコンフィグレジスタ1340にライトする。コンフィグ制御部135は、第0−0のサーバ10200から第0の仮想PCIeコンフィグレジスタ1340にデータがライトされると、このコンフィグレーションデータを第NのPCIeポート139Nを経由して、第Nのエンドポイント105Nに対してライトを実施する。 In the same manner, the 0-0 server 102 00, second endpoints 105 2 stored in the virtual PCIe configuration register 134 0 of the 0 ( "EP # 2" (not shown)) and the subsequent processing Repeat in order. When reading the contents of the 0th virtual PCIe configuration register 134 0 stored in the first N endpoint 105 N ( "EP # N"), the virtual configuration data to be written to the endpoint of the first N of the 0 to write to the PCIe configuration register 134 0. Configuration control unit 135, the data from the first 0-0 server 102 00 virtual PCIe configuration register 134 0 of the 0 is written, the configuration data via the PCIe ports 139 N of the N, the Write to N endpoints 105 N.

次に、SBY系の第1−0のサーバ10310と統合エンドポイント101の間で行われるステップS203の処理について説明する。第1−0のサーバ10310は、まず第1の仮想PCIeコンフィグレジスタ1341に格納された第0のエンドポイント1050(「EP#0」)の内容をリードし、第0のエンドポイントに書き込むコンフィグレーションデータを第1の仮想PCIeコンフィグレジスタ1341にライトする。しかしながら、この場合、コンフィグ制御部135は、代理で第0のエンドポイント1050に対してライトを実施することはない。 Next, a description is given of processing of step S203 which is performed between the first 1-0 server 103 10 integrated endpoint 101 of the SBY system. The 1-0 server 103 10 first reads the contents of the 0th endpoint 105 0 (“EP # 0”) stored in the first virtual PCIe configuration register 134 1, and sends it to the 0th endpoint. Write the configuration data to be written to the first virtual PCIe configuration register 134 1 . However, in this case, configuration control unit 135 will not be carried out writing to the endpoint 105 0 of the 0th behalf.

以下同様にして、第1−0のサーバ10310は、第1の仮想PCIeコンフィグレジスタ1340に格納された第1のエンドポイント1052(「EP#1」)以降の処理を順に行う。そして、第1の仮想PCIeコンフィグレジスタ1341に格納された第Nのエンドポイント105N(「EP#N」)の内容をリードすると、第Nのエンドポイントに書き込むコンフィグレーションデータを第1の仮想PCIeコンフィグレジスタ1341にライトする。しかしながら、この場合も、コンフィグ制御部135は、代理で第Nのエンドポイント105Nに対してライトを実施することはない。 In the same manner, the server 103 10 of the 1-0, a first endpoint 105 2 ( "EP # 1") and the subsequent processing stored in the first virtual PCIe configuration register 134 0 in order. When the contents of the Nth endpoint 105 N (“EP # N”) stored in the first virtual PCIe configuration register 134 1 are read, the configuration data to be written to the Nth endpoint is stored in the first virtual PCIe configuration register 134 1. Write to the PCIe configuration register 134 1 . However, also in this case, the configuration control unit 135 does not write to the Nth endpoint 105 N on behalf of the proxy.

以上説明したように、電源投入後は、第0−0のサーバ10200が現用系サーバとして固定されている。この状態で、統合エンドポイント101は、第0−0のサーバ10200からのピーシーアイエクスプレスコンフィグレーションに対するリードおよびライト処理のみ、第0〜第Nのエンドポイント1050〜105Nに反映させる(ステップS202)。待機系サーバである第1−0のサーバ10310からのアクセスについては、統合エンドポイント101内部でデータを保持し、第0〜第Nのエンドポイント1050〜105Nへの反映は実施しない(ステップS203)。 As described above, after the power is turned on, the 0-0 server 102 00 is fixed as active server. In this state, integrated endpoint 101, only the read and write processing for the CPC eye Express configuration from the first 0-0 server 102 00, is reflected to the endpoint 105 0 to 105 N in the 0th N (step S202). For the access from the 1-0 server 103 10 which is a standby server, the data is held in the integrated endpoint 101 and is not reflected in the 0th to Nth endpoints 105 0 to 105 N ( Step S203).

ところで、第1−0のサーバ10310によるピーシーアイエクスプレスコンフィグレーションレジスタの設定内容は、第0−0のサーバ10200によるコンフィグレーションレジスタの設定内容と異なる値に設定される場合がある。このため、コンフィグ制御部135では、第0−0のサーバ10200と第1−0のサーバ10310の双方のピーシーアイエクスプレスコンフィグレーションレジスタの設定値を保持するようになっている。 Incidentally, settings of CPC eye Express configuration register by the server 103 10 of the 1-0 may be set to setting different values of the configuration register according to the 0-0 server 102 00. Thus, the configuration control unit 135, so as to retain the set value of the CPC eye Express configuration registers of both the first 0-0 server 102 00 and the 1-0 server 103 10.

一方、コンフィグ制御部135では、電源投入後に得られた各サーバのピーシーアイエクスプレスコンフィグレーションレジスタ情報に含まれるベースアドレス(Base Address)の値を基にして、アドレス変換テーブル136の作成を実施する(ステップS204)。これは、第0〜第Nのエンドポイント1050〜105Nに第0−0のサーバ10200あるいは第1−0のサーバ10310がアクセスする際に、ベースアドレスが異ならないようにするためである。 On the other hand, the configuration control unit 135 creates the address conversion table 136 based on the value of the base address (Base Address) included in the PC express configuration register information of each server obtained after power-on ( Step S204). This is because the first 0-0 server 102 00 or server 103 10 of the first 1-0 to 0th endpoint 105 0 to 105 N in the N-th to access, so that the base address is not different is there.

図6は、ベースアドレスの概念を説明するためのものである。第0−0のサーバ10200および第1−0のサーバ10310は、すでに説明したようにこれらの電源の投入によって第0〜第Nのエンドポイント1050〜105Nを認識する。そして、これら第0〜第Nのエンドポイント1050〜105Nに対してピーシーアイエクスプレスコンフィグレーションレジスタの設定を実施する。コンフィグレーション処理が終了したら、第0−0のサーバ10200および第1−0のサーバ10310は独立してPCIeメモリ空間170、171を作成する(ステップS221、ステップS222)。 FIG. 6 is for explaining the concept of the base address. Chapter 0-0 server 102 00 and the 1-0 server 103 10 of recognizes the endpoint 105 0 to 105 N in the 0th N after the input of the power as already described. Then, the PC express configuration register is set for the 0th to Nth end points 105 0 to 105 N. Once the configuration process is completed, the 0-0 server 102 00 and the 1-0 server 103 10 of creating a PCIe memory space 170 and 171 independently (step S221, step S222).

第0−0のサーバ10200および第1−0のサーバ10310は、すでに説明したように第0〜第Nのエンドポイント1050〜105Nに対して直接アクセスすることができない。そこで、統合エンドポイント101内の第0および第1の仮想PCIeコンフィグレジスタ1340、1341を用いてコンフィグ制御部135を介することで、第0〜第Nのエンドポイント1050〜105Nへのアクセスを実施する。このため、仮想PCIeコンフィグレジスタ1340、1341の内部には、各エンドポイント105のコンフィグレーションレジスタと同一の構成のレジスタ(「EP#0_config」、「EP#1_config」、……、「EP#N_config」)160、161が存在する。第0−0のサーバ10200および第1−0のサーバ10310は、仮想PCIeコンフィグレジスタ1340、1341にアクセスを実施する。 The 0-0 server 102 00 and the 1-0 server 103 10 of can not be accessed directly for the endpoint 105 0 to 105 N in the 0th N as previously described. Therefore, by using the 0th and 1st virtual PCIe configuration registers 134 0 , 134 1 in the integrated endpoint 101 via the configuration control unit 135, the connection to the 0th to Nth endpoints 105 0 to 105 N is performed. Implement access. Therefore, in the virtual PCIe configuration registers 134 0 and 134 1 , registers having the same configuration as the configuration register of each endpoint 105 (“EP # 0_config”, “EP # 1_config”,..., “EP #” N_config ") 160, 161 exist. The server 103 10 of the first 0-0 server 102 00 and the 1-0, to implement the access to the virtual PCIe configuration register 134 0, 134 1.

図7は、ACT系サーバ群と、SBY系サーバ群のメモリ空間を対比したものである。図4および図6と共に説明する。   FIG. 7 compares the memory spaces of the ACT server group and the SBY server group. This will be described with reference to FIGS.

ACT系サーバ群102のPCIeメモリ空間170とSBY系サーバ群103のPCIeメモリ空間171を比較する。すると、前記したACT系サーバ群102とSBY系サーバ群103の設定値の差分の算出結果より、SBY系サーバ群103のPCIeメモリ空間171の方が各エンドポイント105のベースアドレスに関して「0x0001_0000」ずつプラスされた値となっていることが分かる。したがって、コンフィグ制御部135は、第1−0のサーバ10310が各エンドポイント105をアクセスする状態になったとき、アドレス変換テーブル136で、各エンドポイント105について、ベースアドレスを「0x0001_0000」だけ引いた値を設定すればよい。 The PCIe memory space 170 of the ACT server group 102 is compared with the PCIe memory space 171 of the SBY server group 103. Then, from the calculation result of the difference between the setting values of the ACT server group 102 and the SBY server group 103, the PCIe memory space 171 of the SBY server group 103 is “0x0001 — 0000” for the base address of each endpoint 105. It can be seen that the value has been added. Therefore, the configuration control unit 135 subtracts the base address by “0x0001 — 0000” for each endpoint 105 in the address conversion table 136 when the 1-0 server 103 10 enters the state of accessing each endpoint 105. Set the value.

コンフィグ制御部135は、第0−0のサーバ10200および第1−0のサーバ10310のピーシーアイエクスプレスコンフィグレーション空間の情報を取得した後、各エンドポイント1051〜105Nのマッピング情報について、第0−0のサーバ10200と第1−0のサーバ10310の設定値の差分を算出する(ステップS223)。 Configuration control unit 135, after acquiring the information of the 0-0 server 102 00 and CPC eye Express configuration space of the 1-0 server 103 10, the mapping information for each endpoint 105 1 to 105 N, and the 0-0 server 102 00 calculates the difference between the set value of the server 103 10 of the 1-0 (step S223).

図6に再び戻って説明を続ける。アドレス変換部137では、第1−0のサーバ10310と第0〜第Nのエンドポイント1050〜105Nの間で通信が行われる際に、ピーシーアイエクスプレスパケットのヘッダ部分に格納されたアドレス情報から、「0x0001_0000」を引いた値に変更する。この変更後のアドレス情報でアクセスすることで、第0〜第Nのエンドポイント1050〜105Nに設定された、ベースアドレスを基にしたアドレス空間と矛盾が生じないアクセスを、第1−0のサーバ10310に提供することが可能になる。 Returning to FIG. 6 again, the description will be continued. The address conversion unit 137, when the communication is performed between the first 1-0 server 103 10 the 0th N endpoint 105 0 to 105 N, the address stored in the header of the CPC eye express packet The information is changed to a value obtained by subtracting “0x0001 — 0000”. By accessing with the address information after this change, access that does not conflict with the address space based on the base address set in the 0th to Nth endpoints 105 0 to 105 N Server 103 10 can be provided.

なお、PCIeコンフィグレーションレジスタ(「EP#0_config」〜「EP#N_config」)1631〜163Nは、本来、第0〜第Nのエンドポイント1050〜105Nごとに実装されるレジスタである。したがって、これらのPCIeコンフィグレーションレジスタ1631〜163Nは、本来、ACT系サーバ群102とSBY系サーバ群103にそれぞれ実装されたCPUから直接制御されるべきである。しかしながら、統合エンドポイント101を用いた本実施の形態のエンドポイント共有システム100では、コンフィグ制御部135が代理で制御を行う機能を持っている。そこで、ACT系サーバ群102とSBY系サーバ群103の持つピーシーアイエクスプレスメモリ空間の差分をエンドポイント105に対して隠蔽することで、第0−0のサーバ10200と第1−0のサーバ10310の双方からアクセスが可能になるようにしている。 The PCIe configuration registers (“EP # 0_config” to “EP # N_config”) 163 1 to 163 N are registers that are originally mounted for the 0th to Nth endpoints 105 0 to 105 N. Therefore, these PCIe configuration registers 163 1 to 163 N should be directly controlled by CPUs originally mounted on the ACT server group 102 and the SBY server group 103, respectively. However, in the endpoint sharing system 100 of the present embodiment using the integrated endpoint 101, the configuration control unit 135 has a function of performing control by proxy. Therefore, by concealing the difference between the CPC eye Express memory space with the ACT-based servers 102 and SBY-server group 103 to the end point 105, the 0-0 server 102 00 and the 1-0 server 103 Access is possible from both of the ten .

<データ転送処理> <Data transfer processing>

ACT系サーバ群102と第0〜第Nのエンドポイント1050〜105Nの間のデータ転送のためのアクセス時には、PCIプロシキ機能部106でのアドレス変換処理が発生しない。この場合のデータのリードおよびライトの処理を次に説明する。 At the time of access for data transfer between the ACT server group 102 and the 0th to Nth endpoints 105 0 to 105 N , the address conversion process in the PCI proxy function unit 106 does not occur. Data read and write processing in this case will be described next.

図8は、第0−0のサーバによるデータのリードおよびライトの処理を表わしたものである。図4と共に説明する。   FIG. 8 shows data read and write processing by the 0-0 servers. This will be described with reference to FIG.

ACT系サーバ群102から第0〜第Nのエンドポイント1050〜105Nへのアクセスについては、第0の仮想PCIeコンフィグレジスタ1340に設定されたベースアドレス情報を基にして、該当するエンドポイントが接続されたポートに振り分ける。具体的には、ピーシーアイエクスプレスパケットのヘッダ情報に含まれるアドレス情報を基にして、アドレス変換・振り分け機能部138がアクセス先のエンドポイント105を判断する。そして、該当するエンドポイント105が接続されたポート(第0〜第NのPCIeポート1390〜139N)に対して振分けを実施する。 For access from the ACT server group 102 to the 0th to Nth endpoints 105 0 to 105 N , the corresponding endpoint is based on the base address information set in the 0th virtual PCIe configuration register 1340. Is assigned to the connected port. Specifically, the address translation / distribution function unit 138 determines the access destination endpoint 105 based on the address information included in the header information of the PC-Express packet. Then, the distribution is performed on the ports ( 0th to Nth PCIe ports 139 0 to 139 N ) to which the corresponding endpoint 105 is connected.

また、第0〜第Nのエンドポイント1050〜105NからACT系サーバ群102あるいはSBY系サーバ群103へのデータ転送についても、アドレス変換・振り分け機能部138はこのうちの現用系のサーバに対してデータ転送を実施する。SBY系サーバ群103が現用系の場合は、ピーシーアイエクスプレスパケットヘッダ内部のアドレス情報の変更を行わず、SBY系サーバ群103へのデータを転送する。 In addition, for data transfer from the 0th to Nth endpoints 105 0 to 105 N to the ACT system server group 102 or the SBY system server group 103, the address translation / distribution function unit 138 also assigns to the active server. Data transfer is performed for the data. When the SBY server group 103 is the active system, the address information in the PC Express packet header is not changed, and the data is transferred to the SBY server group 103.

具体例を挙げる。まず、第0−0のサーバ10200から第0のポート(「Port#0」)1310を使用して、統合エンドポイント101のPCIプロシキ機能部(「PCIProxy」)106に対して、ベースアドレス情報を基にして、第0のエンドポイント(「EP#0」)1050に対するデータをライトする(ステップS241)。PCIプロシキ機能部106は、このデータを第0のエンドポイント1050にライトする(ステップS242)。この後、第0のエンドポイント1050からPCIプロシキ機能部106へデータをリードする(ステップS243)。次にPCIプロシキ機能部106からこのリードしたデータが第0−0のサーバ10200へ送られる(リードする)(ステップS244)。 A specific example is given. First, from the 0-0 server 102 00 using zeroth port ( "Port # 0") 131 0, with respect to PCI Puroshiki functional unit integrated endpoint 101 ( "PCIProxy") 106, base address and the information on the basis of zeroth endpoint ( "EP # 0") to write the data for the 105 0 (step S241). The PCI proxy function unit 106 writes this data to the 0th endpoint 105 0 (step S242). Thereafter, data is read from the 0th endpoint 105 0 to the PCI proxy function unit 106 (step S243). Then the read data from the PCI Puroshiki function unit 106 is sent to the first 0-0 server 102 00 (leading) (step S244).

この後、第0−0のサーバ10200から第0のポート1310を使用して、統合エンドポイント101のPCIプロシキ機能部106に対して、ベースアドレス情報を基にして、第1のエンドポイント(「EP#1」)1051に対するデータをライトする(ステップS245)。PCIプロシキ機能部106は、このデータを第1のエンドポイント1051にライトする(ステップS246)。この後、第1のエンドポイント1051からPCIプロシキ機能部106へデータをリードする(ステップS247)。次にPCIプロシキ機能部106からこのデータは第0−0のサーバ10200へリードする(ステップS248)。以下同様にして第0−0のサーバ10200によるデータのリードおよびライトの処理が続行する。 Thereafter, from the 0-0 server 102 00 using ports 131 0 of the 0 for PCI Puroshiki function unit 106 of the integrated endpoint 101, based on the base address information, the first endpoint Data for ("EP # 1") 105 1 is written (step S245). The PCI proxy function unit 106 writes this data to the first endpoint 105 1 (step S246). Thereafter, data is read from the first endpoint 105 1 to the PCI Puroshiki function unit 106 (step S247). Then the data from the PCI Puroshiki function unit 106 leading to the 0-0 server 102 00 (step S248). Similarly the process of read and write data according to the 0-0 server 102 00 or less to continue.

第1−0のサーバ10310と第0〜第Nのエンドポイント1050〜105Nの間のデータ転送のためのアクセス時には、PCIプロシキ機能部106でのアドレス変換処理が発生する。この場合のデータのリードおよびライトの処理を次に説明する。 During access for data transfer between the first 1-0 server 103 10 the 0th N endpoint 105 0 to 105 N, the address conversion processing in the PCI Puroshiki function unit 106 is generated. Data read and write processing in this case will be described next.

図9は、第1−0のサーバによるデータのリードおよびライトの処理を表わしたものである。図4と共に説明する。   FIG. 9 shows data read and write processing by the 1-0th server. This will be described with reference to FIG.

第1−0のサーバ10310から第0〜第Nのエンドポイント1050〜105Nへのアクセスについて、まず第1−0のサーバ10310からのデータのライトについて説明する。データのライトに関しては、アドレス変換部137においてピーシーアイエクスプレスパケットヘッダ内部のアドレス情報の変更を行って、アドレス変換・振り分け機能部138へデータを転送する。アドレス変換・振り分け機能部138では、コンフィグ制御部135で管理された情報を基に、第0〜第Nのエンドポイント1050〜105Nのいずれに振り分けを行うかを決定して、データの転送を実施する。 For access from the server 103 10 of the 1-0 to endpoint 105 0 to 105 N in the 0th N, the first write data from the server 103 10 of the 1-0 will be described. Regarding the data write, the address conversion unit 137 changes the address information in the PC express packet header and transfers the data to the address conversion / distribution function unit 138. The address translation / distribution function unit 138 determines which of the 0th to Nth endpoints 105 0 to 105 N is to be allocated based on the information managed by the configuration control unit 135 and transfers the data. To implement.

また、第0〜第Nのエンドポイント1050〜105Nから第0−0のサーバ10200あるいは第1−0のサーバ10310へのデータ転送についても、アドレス変換・振り分け機能部138は現用系サーバに対してのみデータの転送を実施する。第1−0のサーバ10310が現用系の場合には、ピーシーアイエクスプレスパケットヘッダ内部のアドレス情報の変更を行って、第1−0のサーバ10310へデータを転送する。 Further, the data transfer from the 0th endpoint 105 0 to 105 N of the N to the server 103 10 of the first 0-0 server 102 00 or the 1-0 also, the address conversion and sorting function unit 138 working system Transfer data only to the server. When the first 1-0 server 103 10 is the active system, the address information in the PC express packet header is changed, and the data is transferred to the 1-0 server 103 10 .

具体例を挙げる。まず、第1−0のサーバ10310からACTの状態となっている第1のポート(「Port#1」)1311を介して送られたピーシーアイエクスプレスパケット(ステップS261)は、アドレス変換部137でピーシーアイエクスプレスパケットヘッダ内部のアドレス情報の変更を行う(ステップS262)。アドレス変換・振り分け機能部138は、このデータの転送を受け、コンフィグ制御部135で管理された情報を基に、第0のエンドポイント(「EP#0」)1050にこれを転送する(ステップS263)。 A specific example is given. First, a first port that is from the server 103 10 of the 1-0 and state of ACT ( "Port # 1") 131 CPC eye Express packets sent via the 1 (step S261), the address converting unit In 137, the address information inside the PC express packet header is changed (step S262). Address conversion and sorting function unit 138 receives the transfer of the data, based on the information managed by the configuration control unit 135, the zeroth endpoint ( "EP # 0") to transfer it to 105 0 (step S263).

第0のエンドポイント1050から送られてくるデータは、アドレス変換・振り分け機能部138によって現用系サーバとしての第1−0のサーバ10310に送出するように振り分けられて、アドレス変換部137に転送される(ステップS264)。そして、ピーシーアイエクスプレスパケットヘッダ内部のアドレス情報の変更を行って(ステップS265)、第1−0のサーバ10310へ転送される(ステップS266)。第1−0のサーバ10310から第1〜第Nのエンドポイント(「EP#1」〜「EP#N」)1051〜105Nに転送されるデータおよび第1〜第Nのエンドポイント1051〜105Nから第1−0のサーバ10310に転送されるデータについても、同様である。そこで、ステップS267〜ステップS278の処理についての説明は省略する。 Data sent from the endpoint 105 0 of the 0 is allocated to deliver to a 1-0 server 103 10 as active server by the address converting and sorting function unit 138, the address conversion unit 137 Transferred (step S264). Then, by performing a change of address information inside CPC eye express packet header (step S265), and transferred to the server 103 10 of the 1-0 (step S266). The 1-0 server 103 10 from the first to the endpoints of the N of ( "EP # 1" - "EP # N") 105 1 to 105 data and endpoints of the first to N is transferred to the N 105 for data to be transferred from 1 to 105 N to the server 103 10 of the 1-0 is also similar. Therefore, description of the processing in steps S267 to S278 is omitted.

<ACT切替動作> <ACT switching operation>

図10は、ACT系とSBY系の切替動作を示したものである。ここでは、第0−0のサーバ10200が現用系で、第1−0のサーバ10310が待機系の場合を例として示す。第0−0のサーバ10200が待機系で、第1−0のサーバ10310が現用系の場合も、動作は同様である。図4と共に説明する。 FIG. 10 shows the switching operation between the ACT system and the SBY system. Here, in a 0-0 server 102 00 working system, it is shown as server 103 10 of the 1-0 an example the case of a standby system. In the 0-0 server 102 00 standby, even if the server 103 10 of the 1-0 of the primary system, operation is similar. This will be described with reference to FIG.

第0−0のサーバ10200と第1−0のサーバ10310は、LAN(Local Area Network)等の何らかの信号伝達手段を用いて、周期的に互いの状態を監視する機能を有する。このような機能は、たとえば第0−0のサーバ10200と第1−0のサーバ10310にそれぞれ搭載されたCPUが第0−0のサーバ10200と第1−0のサーバ10310内の記録媒体(図示せず)に格納された制御プログラムを実行することによって実現する。 And the 0-0 server 102 00 No. 1-0 server 103 10, with LAN using some signal transmission means (Local Area Network) or the like, periodically ability to monitor each other's status. Such functions, for example the first 0-0 server 102 00 No. 1-0 respectively a CPU mounted in the server 103 10 of the 0-0 server 102 00 within the server 103 10 of the 1-0 This is realized by executing a control program stored in a recording medium (not shown).

待機系の第1−0のサーバ10310からの応答要求に対して、現用系の第0−0のサーバ10200が応答を返さない場合があったとする。この場合、第1−0のサーバ10310は第0−0のサーバ10200に何らかの異常が発生したことを検出する(ステップS291)。そして、これを基にして系切替動作を開始する(ステップS292)。 The response request from the server 103 10 of the first 1-0 of the standby system, the first 0-0 server 102 00 of the primary system is in some cases they are not responding. In this case, the server 103 10 of the 1-0 detects that some abnormality occurs in the first 0-0 server 102 00 (step S291). Based on this, the system switching operation is started (step S292).

この系切替動作で、第1−0のサーバ10310は、自身が直接接続している統合エンドポイント101の待機系となっている第1のポート(「Port#1」)1311に対して、系切替要求をピーシーアイエクスプレスパケットとして送出する(ステップS293)。第1のポート1311では、この系切替要求を受信すると、ACT・SBY選択機能部133に対してACT・SBY切替要求信号を送信する。ACT・SBY選択機能部133は系切替要求を受信すると(ステップS294)、第0のポート(「Port#0」)1310に対してACT・SBY切替要求信号を送信する。 With this system switching operation, the 1-0 server 103 10 is connected to the first port (“Port # 1”) 131 1 that is the standby system of the integrated endpoint 101 to which it is directly connected. Then, the system switching request is transmitted as a PC express packet (step S293). When receiving the system switching request, the first port 131 1 transmits an ACT / SBY switching request signal to the ACT / SBY selection function unit 133. ACT · SBY selecting function unit 133 receives the system switching request (step S294), the zeroth port ( "Port # 0") 131 transmits the ACT · SBY switching request signal to 0.

現用系となっている第0のポート1310はACT・SBY切替信号を受信すると(ステップS295)、系切替要求をピーシーアイエクスプレスパケットとして第0−0のサーバ10200に送出する(ステップS296)。これにより、第0−0のサーバ10200は系の切り替えを認識する(ステップS297)。第0−0のサーバ10200は、これに基づき現用系と待機系の切り替えを実施し(ステップS298)、この後、系切替を実施したことをピーシーアイエクスプレスパケットを用いて第0のポート1310に対して通知する(ステップS299)。 Port 131 0 of the 0 that is the active system when receiving the ACT · SBY switching signal (step S295), it sends a system switch request to a 0-0 server 102 00 as CPC eye express packet (step S296) . Thus, the 0-0 server 102 00 recognizes the switching system (step S297). The 0-0 server 102 00, based on which to implement the switching of the active system and the standby system (step S298), thereafter, the zeroth port 131 using CPC eye express packet that was carried out system switching 0 is notified (step S299).

この系切替完了通知は、ACT・SBY選択機能部133で受信され、確認される(ステップS300)。ACT・SBY選択機能部133は、これを基に、統合エンドポイント101の第0のポート1310を待機系に設定し(ステップS301)、第1のポート1311を現用系に設定する(ステップS302)。その後、系の切り替えを実施したことを示す信号は、第1のポート1311から第1−0のサーバ10310へピーシーアイエクスプレスパケットを用いて通知される(ステップS303)。第1−0のサーバ10310は、この通知を受けると、第1−0のサーバ10310が待機系から現用系に切り替わったことを確定させる(ステップS304)。 This system switching completion notification is received and confirmed by the ACT / SBY selection function unit 133 (step S300). ACT · SBY selecting function unit 133, based on this, the port 131 0 of the 0th integrated endpoint 101 sets the standby system (step S301), and sets the first port 131 1 to the working system (step S302). Thereafter, a signal indicating that the system has been switched is notified from the first port 1311 to the 1-0 server 103 10 using the PCI express packet (step S303). The server 103 10 of the 1-0, when receiving this notification, to determine that the server 103 10 of the 1-0 is switched to the active system from the standby system (step S304).

次に、現用系になっている第0−0のサーバ10200に異常が発生して、第1−0のサーバ10310からの系切替要求の送出(ステップS293)に対する応答がない場合について説明する。この場合には、統合エンドポイント101の内部におけるACT・SBY選択機能部133が図示しないタイマを起動させる。そして、第0−0のサーバ10200が正常であれば十分応答する予め定めた規定時間内に、第0−0のサーバ10200から応答があるかを判別する。この規定時間内に第0−0のサーバ10200からの応答があれば、すでに説明した処理と同一の処理を行えばよい。 Then, abnormality in the first 0-0 server 102 00 which is the active system occurs, if there is no response to the transmission of system switching request from the server 103 10 of the 1-0 (step S293) for a description To do. In this case, the ACT / SBY selection function unit 133 inside the integrated endpoint 101 starts a timer (not shown). Then, it is determined whether the 0-0 in the server 102 00 provisions a predetermined sufficiently respond if normal time, there is a response from the 0-0 server 102 00. If within this specified time response from the 0-0 server 102 00 may be performed by the same processing as that already described.

これに対して、規定時間内に第0−0のサーバ10200からの応答がなかったとする。この場合には、第0−0のサーバ10200からの応答をそれ以上待機せずに第1−0のサーバ10310は系切替完了通知を実施する。そして、今までSBY系であった第1のポート1311をACT系に切り替えることになる。 In contrast, the response from the 0-0 server 102 00 and was not within the specified time. In this case, the 1-0 server 103 10 implements a system switching completion notification response from the 0-0 server 102 00 without waiting more. Then, the switching the first port 131 1 was SBY system ever ACT system.

本実施の形態のエンドポイント共有システム100では、以上とは別に、定期的な系の切り替えや保守作業を目的として、系の切り替えを開始することも可能である。待機系から現用系に切り替わった第1−0のサーバ10310の第1のポート1311は、第0〜第Nのエンドポイント1050〜105Nに対する、実データの通信が可能になる。 In the endpoint sharing system 100 according to the present embodiment, apart from the above, it is also possible to start system switching for the purpose of periodic system switching and maintenance work. The first port 131 1 of the 1-0 server 103 10 switched from the standby system to the active system can communicate actual data to the 0th to Nth endpoints 105 0 to 105 N.

なお、第1−0のサーバ10310側のピーシーアイエクスプレスコンフィグレーションレジスタは、第1−0のサーバ10310の電源投入後に設定済みである。このため、第0〜第Nのエンドポイント1050〜105Nに対する、第1−0のサーバ10310のメモリ空間に対応させるための、ピーシーアイエクスプレスコンフィグレーション動作は不要である。したがって、コンフィグレーションレジスタの設定変更前の第0〜第Nのエンドポイント1050〜105Nのリセットや、各ピーシーアイエクスプレスコンフィグレーションレジスタの再設定処理等の処理は不要になる。 Incidentally, CPC eye Express configuration registers of the 1-0 server 103 10 side is already set after power-on of the server 103 10 of the 1-0. For this reason, the PC Express configuration operation for the 0th to Nth end points 105 0 to 105 N to correspond to the memory space of the 1st to 0th server 103 10 is not necessary. Therefore, processing such as resetting the 0th to Nth endpoints 105 0 to 105 N before changing the setting of the configuration register and resetting processing of each PC express configuration register becomes unnecessary.

したがって、系の切替途中では、第0〜第Nのエンドポイント1050〜105Nと第0−0のサーバ10200および第1−0のサーバ10310の間の通信は実行できない。しかしながら、統合エンドポイント101内の各エンドポイント105間の通信処理(たとえば、第0のエンドポイント1050からPCIプロシキ機能部106を経た、第1のエンドポイント1051への通信)では、系切替動作時に通信処理を継続することが可能になる。 Thus, in the middle switching systems, the communication between the server 103 10 endpoint 105 0 to 105 N and the 0-0 server 102 00 and the 1-0 0th N can not be executed. However, the communication process between each endpoint 105 in the integrated endpoint 101 (e.g., through the PCI Puroshiki functional unit 106 from the endpoint 105 0 of the zeroth, first communication to endpoint 105 1), the system switching Communication processing can be continued during operation.

<サーバ間データ転送> <Data transfer between servers>

図11は、サーバ側のソフトウェア処理の様子を表わしたものである。本実施の形態のエンドポイント共有システム100では、図4でも説明したように、ACT系サーバ群102とSBY系サーバ群103の2種類のサーバが使用されている。ACT系サーバ群102とSBY系サーバ群103は、同一の構成となっている。そこで、ACT系サーバ群102を中心に、これらのサーバ群で動作するアプリケーションソフトウェアについて説明を行う。   FIG. 11 shows the state of software processing on the server side. In the endpoint sharing system 100 according to the present embodiment, as described with reference to FIG. 4, two types of servers, that is, the ACT server group 102 and the SBY server group 103 are used. The ACT server group 102 and the SBY server group 103 have the same configuration. Therefore, application software that runs on these server groups will be described with a focus on the ACT server group 102.

次の表1は、本実施の形態によるACT系サーバ群とSBY系サーバ群で動作するアプリケーションソフトウェアを示したものである。この表1に記載された各アプリケーションソフトウェア同士は、イベントの相互通知が可能なインタフェースを有しており、イベント発生の検出を行うようになっている。   Table 1 below shows application software that operates in the ACT server group and the SBY server group according to the present embodiment. Each application software described in Table 1 has an interface capable of mutual notification of events, and detects the occurrence of an event.

Figure 2011076174
Figure 2011076174

図11では、ACT系サーバ群102とSBY系サーバ群103がそれぞれ1つの記憶装置104を分割して使用する形で接続している様子を示している。ここでは、便宜的に、ACT系サーバ群102が接続する記憶装置部分を記憶装置1040として表わし、SBY系サーバ群103が接続する記憶装置部分を記憶装置1041として表わしている。 FIG. 11 shows a state where the ACT server group 102 and the SBY server group 103 are connected in such a manner that one storage device 104 is divided and used. Here, for convenience, the storage device portion to which the ACT server group 102 is connected is represented as a storage device 104 0 , and the storage device portion to which the SBY server group 103 is connected is represented as a storage device 104 1 .

それぞれの記憶装置1040、記憶装置1041は、アプリケーションソフトウェアがアクセス可能な領域としてのサーバ・テンポラリ領域と、統合エンドポイント101とのデータのやり取りに用いる領域としてのエンドポイント通信用領域に分割されている。ここで、記憶装置104は、図4でも説明したように、各サーバ102、103とFCスイッチ109を介して接続されている。図4に示したFCスイッチ109は、記憶装置104の内部を論理的に分割して、これらのサーバ102、103がアクセス可能な領域の指定が可能である。 Each of the storage devices 104 0 and 104 1 is divided into a server temporary region as an area accessible by application software and an endpoint communication area as an area used for data exchange with the integrated endpoint 101. ing. Here, the storage device 104 is connected to the servers 102 and 103 via the FC switch 109 as described with reference to FIG. The FC switch 109 shown in FIG. 4 can logically divide the inside of the storage device 104 and specify an area accessible by these servers 102 and 103.

記憶装置1040および記憶装置1041の内部には、1次共有メモリ1510、1511の領域と、2次共有メモリ1520、1521の領域が存在している。1次共有メモリ1510、1511の領域には、送信の際にアクセスする出力メモリ(OutputMem)領域1530、1531のうちの対応するものと、受信の際にアクセスする入力メモリ(InputMem)領域1540、1541のうちの対応するものが存在している。また、2次共有メモリ1520、1521の領域には、出力メモリサーバ(OutputMemServer)領域1550-0、1550-1、1551-0、1551-1のうちの対応するものと、入力メモリサーバ(InputMemServer)領域1560-0、1560-1、1561-0、1561-1のうちの対応するものが存在している。 Inside the storage device 104 0 and the storage device 104 1 , there are areas of primary shared memories 151 0 and 151 1 and areas of secondary shared memories 152 0 and 152 1 . The areas of the primary shared memories 151 0 and 151 1 correspond to the corresponding ones of the output memory (OutputMem) areas 153 0 and 153 1 accessed during transmission, and the input memory (InputMem) accessed during reception. A corresponding one of the areas 154 0 , 154 1 exists. In addition, the areas of the secondary shared memories 152 0 and 152 1 correspond to corresponding ones of the output memory server (OutputMemServer) areas 155 0-0 , 155 0-1 , 155 1-0 , 155 1-1 , A corresponding one of the input memory server (InputMemServer) areas 156 0-0 , 156 0-1 , 156 1-0 , 156 1-1 exists.

SBY系サーバ群103を構成する第1−0のサーバ10310(主サーバ)と第1−1のサーバ10311(拡張サーバ)がアクセスを行う記憶装置1041の構成は、第0−0のサーバ10200と第0−1のサーバ10201がアクセスを行う記憶装置1040の構成と同一である。 The configuration of the storage device 104 1 that is accessed by the 1st-0 server 103 10 (main server) and the 1-1st server 103 11 (extended server) that constitute the SBY server group 103 is the 0-0 server 102 00 and server 102 01 of the 0-1 is the same as that of the storage device 104 0 for accessing.

サーバ群と統合エンドポイント101の間でやりとりされるデータは、記憶装置104内部の1次共有メモリ151と、2次共有メモリ152を、以下の関係をもって転送される。   Data exchanged between the server group and the integrated endpoint 101 is transferred between the primary shared memory 151 and the secondary shared memory 152 in the storage device 104 with the following relationship.

<ACT系サーバ群>
出力メモリサーバ(OutputMemServer#0−0)領域1550-0から出力メモリ(OutputMem#0)領域1530の方向への転送
出力メモリサーバ(OutputMemServer#0−1)領域1550-1から出力メモリ(OutputMem#0)領域1530の方向への転送
入力メモリ(InputMem#0)領域1540から入力メモリサーバ(InputMemServer#0−0)領域1560-0の方向への転送
入力メモリ(InputMem#0)領域1540から入力メモリサーバ(InputMemServer#0−1)領域1560-1の方向への転送
<ACT server group>
Transfer from output memory server (OutputMemServer # 0-0) area 155 0-0 to output memory (OutputMem # 0) area 153 0 Output memory server (OutputMemServer # 0-1) area 155 0-1 to output memory ( Transfer in the direction of OutputMem # 0) area 153 0 Transfer from input memory (InputMem # 0) area 154 0 to input memory server (InputMemServer # 0-0) area 156 0-0 Input memory (InputMem # 0) Transfer from area 154 0 toward input memory server (InputMemServer # 0-1) area 156 0-1

<SBY系サーバ群>
出力メモリサーバ(OutputMemServer#1−0)領域1551-0から出力メモリ(OutputMem#1)領域1531の方向への転送
出力メモリサーバ(OutputMemServer#1−1)領域1551-1から出力メモリ(OutputMem#1)領域1531の方向への転送
入力メモリ(InputMem#1)領域1540から入力メモリサーバ(InputMemServer#1−0)領域1561-0の方向への転送
入力メモリ(InputMem#1)領域1541から入力メモリサーバ(InputMemServer#1−1)領域1561-1の方向への転送
<SBY server group>
Output memory server (OutputMemServer # 1-0) area 155 1-0 to output memory (OutputMem # 1) area 153 1 in the direction of output memory server (OutputMemServer # 1-1) area 155 1-1 to output memory ( Output in the direction of OutputMem # 1) area 153 1 Transfer from input memory (InputMem # 1) area 154 0 to the direction of input memory server (InputMemServer # 1-0) area 156 1-0 Input memory (InputMem # 1) transfer from region 154 1 to the input memory server (InputMemServer # 1-1) regions 156 1-1 direction

なお、図11には、第0−0のサーバ10200に搭載されたCPUとしてのCPU#0−0が各アプリケーションソフトウェアPS#0−0、PS#0−1、PS#0−3、PS#0−4、PS#0−5を実行することが示されている。また、同様に第0−1のサーバ10201に搭載されたCPUとしてのCPU#0−1が各アプリケーションソフトウェアPS#1−3、PS#1−4、PS#1−5を実行することが示されている。 Incidentally, in FIG. 11, the 0-0 server 102 00 CPU # 0-0 each application software PS # as onboard CPU 0-0, PS # 0-1, PS # 0-3, PS It is shown that # 0-4 and PS # 0-5 are executed. Similarly, the 0-1 CPU # 0-1 each application software PS # 1-3 as CPU mounted in the server 102 01, PS # 1-4, be performed PS # 1-5 It is shown.

図12は、記憶装置を介して、サーバがエンドポイントに対してアクセスを行う様子を表わしたものである。図4および図11と共に説明する。   FIG. 12 shows a state in which the server accesses the endpoint via the storage device. This will be described with reference to FIGS. 4 and 11.

<サーバからのデータの送出> <Sending data from the server>

第0−0のサーバ10200上で動作するアプリケーションソフトウェアPS#0−5,PS#1−5から統合エンドポイント101へのデータの取り込みについて説明する。 Application software PS # 0-5 operating on the 0-0 of the server 102 00, will be described incorporation of data from the PS # 1-5 to the integration endpoints 101.

(a)まず、第0−0のサーバ10200(主サーバ)から統合エンドポイント101へのアクセスについて説明する。 (A) First, access from the 0-0th server 102 00 (main server) to the integrated endpoint 101 will be described.

第0−0のサーバ10200上で動作するアプリケーションソフトウェアSP#0−5がエンドポイント105に対してデータを送信する場合、アプリケーションソフトウェアSP#0−5は記憶装置104上に確保されている出力メモリサーバ領域1550-0にデータを書き込む(ステップS401)。記憶装置104は、出力メモリサーバ領域1550-0にデータが書き込まれたことを検出すると、出力メモリ領域1530にデータをコピーする。 If the application software SP # 0-5 operating on the 0-0 of the server 102 00 transmits the data to the endpoint 105, the application software SP # 0-5 is output, which is secured on the storage device 104 Data is written to the memory server area 155 0-0 (step S401). When the storage device 104 detects that data has been written to the output memory server area 155 0-0 , it copies the data to the output memory area 153 0 .

アプリケーションソフトウェアSP#0−5は出力メモリサーバ領域1550-0にデータを書き込んだことを、アプリケーションソフトウェアSP#0−1に対して通知を行う(ステップS402)。アプリケーションソフトウェアSP#0−1は、他のサーバからエンドポイント105へのデータ送信要求がないかを確認後、アプリケーションソフトウェアSP#0−2に対して、第0−0のサーバ10200からエンドポイント105に対してデータを送信するように、指示を発行する(ステップS403)。 Application software SP # 0-5 is that data is written to the output memory server area 155 0-0, and notifies the application software SP # 0-1 (step S402). Application software SP # 0-1 after confirming whether there is a data transmission request to the endpoint 105 from the other server, the application software SP # 0-2, the endpoint from the 0-0 server 102 00 An instruction is issued to transmit data to 105 (step S403).

アプリケーションソフトウェアSP#0−2は、エンドポイント105に対するデータ送信の指示を受信すると、このエンドポイント105に対して出力メモリ領域1530からデータの送信を実施する(ステップS404)。このようにして、第0−0のサーバ10200から、記憶装置104を介して統合エンドポイント101へデータが送信される。 Application software SP # 0-2 receives the instruction data transmission to the endpoint 105, to implement the transmission of data from the output memory area 153 0 with respect to the endpoint 105 (step S404). In this way, from the 0-0 server 102 00, data is transmitted via the storage device 104 to the integrated endpoint 101.

(b)次に、第0−1のサーバ10201(拡張サーバ)から統合エンドポイント101へのアクセスについて説明する。 (B) Next, access from the 0-1st server 102 01 (extended server) to the integrated endpoint 101 will be described.

第0−1のサーバ10201上で動作するアプリケーションソフトウェアSP#1−5がエンドポイント101に対してデータを送信する場合、アプリケーションソフトウェアSP#1−5は記憶装置104上に確保されている出力メモリサーバ領域1550-1にデータを書き込む(ステップS410)。記憶装置104は、出力メモリサーバ領域1550-1にデータが書き込まれたことを検出すると、出力メモリ領域1530にデータをコピーする。 If the application software SP # 1-5 operating on the server 102 01 of the 0-1 transmits the data to the endpoint 101, the application software SP # 1-5 is output, which is secured on the storage device 104 Data is written to the memory server area 155 0-1 (step S410). When the storage device 104 detects that data has been written to the output memory server area 155 0-1 , it copies the data to the output memory area 153 0 .

アプリケーションソフトウェアSP#1−5は出力メモリサーバ領域1550-1にデータを書き込んだことを、アプリケーションソフトウェアSP#0−1に対して通知を行う必要がある。このため、アプリケーションソフトウェアSP#1−4に対してデータ送信要求指示を発行する(ステップS411)。 The application software SP # 1-5 needs to notify the application software SP # 0-1 that data has been written to the output memory server area 155 0-1 . Therefore, a data transmission request instruction is issued to the application software SP # 1-4 (step S411).

アプリケーションソフトウェアSP#1−4はアプリケーションソフトウェアSP#0−4に対して、拡張サーバとしての第0−1のサーバ10201がエンドポイント105に対してデータ転送を要求していることを通知する(ステップS412)。これに基づき、アプリケーションソフトウェアSP#0−4は、第0−1のサーバ10201がエンドポイント105へのデータ転送要求を行っていることを、アプリケーションソフトウェアSP#0−1に対して通知する(ステップS413)。 Application software SP # 1-4 applications the software SP # 0-4, the 0-1 server 102 01 as an extension server notifies the requesting data transfer to the end point 105 ( Step S412). Based on this, the application software SP # 0-4 is that the server 102 01 of the 0-1 is performing a data transfer request to the endpoint 105, and notifies the application software SP # 0-1 ( Step S413).

アプリケーションソフトウェアSP#0−1は、他のサーバからエンドポイント105へのデータ送信の要求がないかを確認する。そして、アプリケーションソフトウェアSP#0−2に対して、アプリケーションソフトウェアSP#0−1からエンドポイント101に対してデータを送信するように、指示を発行する(ステップS414)。   The application software SP # 0-1 confirms whether there is a request for data transmission from the other server to the endpoint 105. Then, an instruction is issued to the application software SP # 0-2 such that data is transmitted from the application software SP # 0-1 to the endpoint 101 (step S414).

アプリケーションソフトウェアSP#0−2はエンドポイント101に対してデータ送信の指示を受信すると、エンドポイント105に対して出力メモリ領域1530からデータの送信を実施する(ステップS415)。このようにして第0−1のサーバ10201から記憶装置104を介して統合エンドポイント101へデータが送信される。 When the application software SP # 0-2 receives the instruction for data transmission to the end point 101, to implement the transmission of data from the output memory area 153 0 to the end point 105 (step S415). In this way, data is transmitted from the 0-1st server 10201 to the integrated endpoint 101 via the storage device 104.

<サーバへのデータの取り込み> <Importing data to the server>

次に統合エンドポイント101からサーバへのデータ取り込みについて説明する。   Next, data loading from the integrated endpoint 101 to the server will be described.

図13は、統合エンドポイントからサーバへのデータ取り込みの様子を示したものである。図4および図11と共に説明する。   FIG. 13 shows how data is fetched from the integrated endpoint to the server. This will be described with reference to FIGS. 4 and 11.

(a)まず、統合エンドポイント101から主サーバとしての第0−0のサーバ10200へのデータの取り込みについて説明する。 (A) first described the incorporation of data from the integrated endpoint 101 to the 0-0 server 102 00 as the main server.

統合エンドポイント101から第0−0のサーバ10200に対して転送するデータが発生したとする。この場合、DMA(Direct Memory Access )により、CPUを介さずに統合エンドポイント101から、そのデータが主サーバとしての第0−0のサーバ10200を経由して入力メモリ(InputMem#0)領域1540に対して転送される(ステップS431)。統合エンドポイント101から記憶装置104へのデータ転送はアプリケーションソフトウェアSP#0−2が実行する。 From integrated endpoint 101 and data to be transferred to the 0-0 server 102 00 occurs. In this case, the DMA (Direct Memory Access), input memory (InputMem # 0) via the integrated endpoint 101, the second 0-0 server 102 00 of the data as the primary server without the intervention of the CPU area 154 0 is transferred (step S431). Data transfer from the integrated endpoint 101 to the storage device 104 is executed by the application software SP # 0-2.

アプリケーションソフトウェアSP#0−2は、記憶装置104に対してデータを転送後、アプリケーションソフトウェアSP#0−1に対して、統合エンドポイント101から記憶装置104に対してデータの転送が発生したことを通知する(ステップS432)。   After the application software SP # 0-2 transfers the data to the storage device 104, the application software SP # 0-2 indicates that the data transfer from the integrated endpoint 101 to the storage device 104 has occurred to the application software SP # 0-1. Notification is made (step S432).

アプリケーションソフトウェアSP#0−1は、サーバ群を構成するサーバのうちの負荷が軽いサーバで処理を実行するために、各サーバの負荷情況を調査する。負荷情況の調査はアプリケーションソフトウェアSP#0−3で実行する。このため、アプリケーションソフトウェアSP#0−1はアプリケーションソフトウェアSP#0−3に対して負荷調査を指示する(ステップS433)。アプリケーションソフトウェアSP#0−3はサーバ群を構成する第0−1のサーバ10201(拡張サーバ)上で動作するアプリケーションソフトウェアSP#1−3に対して、CPU負荷、メモリ使用量等の負荷情況の報告指示を出す(ステップS434)。第0−1のサーバ10201では、負荷情況調査指示をアプリケーションソフトウェアSP#1−3で受信後、負荷情況をアプリケーションソフトウェアSP#1−3からアプリケーションソフトウェアSP#0−3に報告する(ステップS435)。このとき、アプリケーションソフトウェアSP#0−3とアプリケーションソフトウェアSP#1−3の間の通信はLAN115を用いて行う。 The application software SP # 0-1 investigates the load status of each server in order to execute processing on a server with a light load among the servers constituting the server group. The investigation of the load situation is executed by the application software SP # 0-3. Therefore, the application software SP # 0-1 instructs the load investigation to the application software SP # 0-3 (step S433). The application software SP # 0-3 has a load status such as CPU load and memory usage with respect to the application software SP # 1-3 operating on the 0-1st server 102 01 (extended server) constituting the server group. Is issued (step S434). In a 0-1 server 102 01, after receiving a load situation survey indicated in the application software SP # 1-3, reports the load situation from the application software SP # 1-3 to the application software SP # 0-3 (step S435 ). At this time, communication between the application software SP # 0-3 and the application software SP # 1-3 is performed using the LAN 115.

アプリケーションソフトウェアSP#0−3は、アプリケーションソフトウェアSP#1−3の報告結果と第0−0のサーバ10200の負荷情況をアプリケーションソフトウェアSP#0−1に通知する(ステップS436)。アプリケーションソフトウェアSP#1−3は第0−0のサーバ10200(主サーバ)と第0−1のサーバ10201(拡張サーバ)の負荷情況から、負荷の少ないサーバの方を処理を行うサーバとして決定する。 Application software SP # 0-3 notifies the load situation of the application software SP # 1-3 report the results and the 0-0 server 102 00 application software SP # 0-1 (step S436). The application software SP # 1-3 is a server that performs processing on the server with less load based on the load status of the 0-0 server 102 00 (main server) and the 0-1 server 102 01 (extended server). decide.

第0−0のサーバ10200が負荷が少ないと判断された場合、処理を実行するアプリケーションソフトとしてのアプリケーションソフトウェアSP#0−5に対して、アプリケーションソフトウェアSP#0−1から処理指示が発行される(ステップS347)。第0−0のサーバ10200の負荷が少ないと判断された場合は、ステップS347の処理指示の発行と同時に、アプリケーションソフトウェアSP#0−1から記憶装置104に対して、入力メモリ領域1540に記録されたデータを、入力メモリサーバ領域1560-0に転送する指示を発行する(ステップS438)。このとき、アプリケーションソフトウェアSP#0−1からの指示はLAN115を経由して発行される。 If the 0-0 server 102 00 is determined to have less impact, the application software SP # 0-5 as an application software for executing processing, processing instruction is issued from the application software SP # 0-1 (Step S347). If it is determined that the load of the 0-0 server 102 00 is small, at the same time as the issuance of the processing instruction step S347, the application software SP # 0-1 from the storage device 104, the input memory area 154 0 the recorded data, issues an instruction to be transferred to the input memory server area 156 0-0 (step S438). At this time, an instruction from the application software SP # 0-1 is issued via the LAN 115.

アプリケーションソフトウェアSP#0−5は、入力メモリサーバ領域1560-0からデータを読み出す(ステップS439)。これにより、サーバ上のアプリケーションは処理に必要なデータを統合エンドポイント101から得ることが可能となる。 The application software SP # 0-5 reads data from the input memory server area 156 0-0 (step S439). As a result, the application on the server can obtain data necessary for processing from the integrated endpoint 101.

(b)次に、統合エンドポイント101から第0−1のサーバ10201(拡張サーバ)へのデータの取り込みについて説明する。 (B) Next, data loading from the integrated endpoint 101 to the 0-1st server 102 01 (extended server) will be described.

統合エンドポイント101からサーバ対して転送されるデータが発生したとする。この場合、DMA(Direct Memory Access )により、CPUを介さずに統合エンドポイント101から、そのデータが主サーバとしての第0−0のサーバ10200を経由して入力メモリ(InputMem#0)領域1540に対して転送される(ステップS441)。統合エンドポイント101から記憶装置104へのデータ転送はアプリケーションソフトウェアSP#0−2が実行する。 Assume that data is transferred from the integrated endpoint 101 to the server. In this case, the DMA (Direct Memory Access), input memory (InputMem # 0) via the integrated endpoint 101, the second 0-0 server 102 00 of the data as the primary server without the intervention of the CPU area 154 0 is transferred (step S441). Data transfer from the integrated endpoint 101 to the storage device 104 is executed by the application software SP # 0-2.

アプリケーションソフトウェアSP#0−2は、記憶装置104に対してデータを転送後、アプリケーションソフトウェアSP#0−1に対して、統合エンドポイント101から記憶装置104に対してデータの転送が発生したことを通知する(ステップS442)。   After the application software SP # 0-2 transfers the data to the storage device 104, the application software SP # 0-2 indicates that the data transfer from the integrated endpoint 101 to the storage device 104 has occurred to the application software SP # 0-1. Notification is made (step S442).

アプリケーションソフトウェアSP#0−1は、サーバ群を構成するサーバのうちの負荷が軽いサーバで処理を実行するために、各サーバの負荷情況を調査する。負荷情況の調査はアプリケーションソフトウェアSP#0−3で実行する。このため、アプリケーションソフトウェアSP#0−1はアプリケーションソフトウェアSP#0−3に対して負荷調査を指示する(ステップS443)。アプリケーションソフトウェアSP#0−3はサーバ群を構成する第0−1のサーバ10201(拡張サーバ)上で動作するアプリケーションソフトウェアSP#1−3に対して、CPU負荷、メモリ使用量等の負荷情況の報告指示を出す(ステップS444)。第0−1のサーバ10201では、負荷情況調査指示をアプリケーションソフトウェアSP#1−3で受信後、負荷情況をアプリケーションソフトウェアSP#1−3からアプリケーションソフトウェアSP#0−3に報告する(ステップS445)。このとき、アプリケーションソフトウェアSP#0−3とアプリケーションソフトウェアSP#1−3の間の通信はLAN115を用いて行う。 The application software SP # 0-1 investigates the load status of each server in order to execute processing on a server with a light load among the servers constituting the server group. The investigation of the load situation is executed by the application software SP # 0-3. For this reason, the application software SP # 0-1 instructs the load investigation to the application software SP # 0-3 (step S443). The application software SP # 0-3 has a load status such as CPU load and memory usage with respect to the application software SP # 1-3 operating on the 0-1st server 102 01 (extended server) constituting the server group. Is issued (step S444). In the 0-1st server 10201 , after receiving the load situation investigation instruction by the application software SP # 1-3, the load situation is reported from the application software SP # 1-3 to the application software SP # 0-3 (step S445). ). At this time, communication between the application software SP # 0-3 and the application software SP # 1-3 is performed using the LAN 115.

アプリケーションソフトウェアSP#0−3は、アプリケーションソフトウェアSP#1−3の報告結果と第0−0のサーバ10200の負荷情況をアプリケーションソフトウェアSP#0−1に通知する(ステップS446)。アプリケーションソフトウェアSP#1−3は第0−0のサーバ10200(主サーバ)と第0−1のサーバ10201(拡張サーバ)の負荷情況から、負荷の少ないサーバの方を処理を行うサーバとして決定する。 Application software SP # 0-3 notifies the load situation of the application software SP # 1-3 report the results and the 0-0 server 102 00 application software SP # 0-1 (step S446). The application software SP # 1-3 is a server that performs processing on the server with less load based on the load status of the 0-0 server 102 00 (main server) and the 0-1 server 102 01 (extended server). decide.

ここまでのシーケンスは、統合エンドポイント101から主サーバである第0−0のサーバ10200に対するデータ転送と、同一のシーケンスである。 Sequence up to this, the integrated endpoint 101 and the data transfer for the first 0-0 server 102 00 which is the main server, the same sequence.

第0−1のサーバ10201(拡張サーバ)の負荷が少ないと判断されたとする。この場合、アプリケーションソフトウェアSP#0−1からアプリケーションソフトウェアSP#0−4に対して、第0−1のサーバ10201に対する記憶装置104(図示しないS#0−1_REC_temp領域)からのデータ読み出し指示が発行される(ステップS447)。このとき記憶装置104から読み出されるデータは、図示しないアプリケーションソフトウェアSP#0−1についての一次領域(図示しないS#0−1_REC_temp領域)に格納されている。ステップS447のデータ読み出し指示の発行と同時に、アプリケーションソフトウェアSP#0−1は、記憶装置104に対して、入力メモリ領域1540に記録されたデータを、入力メモリサーバ領域1560-1に転送する指示を発行する(ステップS448)。 Assume that it is determined that the load on the 0-1st server 102 01 (extended server) is small. In this case, the application software SP # 0-4 from the application software SP # 0-1, the data read instruction from the storage unit 104 (S # 0-1_REC_temp area (not shown)) to the server 102 01 of the 0-1 It is issued (step S447). Data read from the storage device 104 at this time is stored in a primary area (not shown) (not shown S # 0-1_REC_temp area) for the application software SP # 0-1. Simultaneously with the issuance of the data read instruction in step S447, the application software SP # 0-1 transfers the data recorded in the input memory area 154 0 to the input memory server area 156 0-1 to the storage device 104. An instruction is issued (step S448).

アプリケーションソフトウェアSP#0−4では、第0−1のサーバ10201での入力メモリサーバ領域1560-1からのデータ読み出し指示の発行を受けて、アプリケーションソフトウェアSP#1−4に対して、記憶装置104からのデータ読み出し指示を発行する(ステップS449)。アプリケーションソフトウェアSP#1−4は、第0−0のサーバ10200からのデータ読み出し指示を受け、アプリケーションソフトウェアSP#1−5に対して、入力メモリサーバ領域1560-1からデータを読み出し指示を発行する(ステップS450)。そして、アプリケーションソフトウェアSP#1−5は入力メモリサーバ領域1560-1から処理に必要なデータを読み出す(ステップS451)。 In the application software SP # 0-4, and issued a data read instruction from the input memory server area 156 0-1 by the server 102 01 of the 0-1, the application software SP # 1-4, stores A data read instruction is issued from the device 104 (step S449). Application software SP # 1-4 receives the data read instruction from the 0-0 server 102 00, the application software SP # 1-5, the instruction reads the data from the input memory server area 156 0-1 Issue (step S450). The application software SP # 1-5 reads data necessary for processing from the input memory server area 156 0-1 (step S451).

以上説明したように本実施の形態によれば、次のような効果を奏する。   As described above, according to the present embodiment, the following effects can be obtained.

まず、本実施の形態による第1の効果は、複数のCPUが同一のエンドポイントにアクセスできることである。エンドポイントについては、ピーシーアイエクスプレス(PCI Express)に準拠したデバイスを、そのまま用いることが可能である。   First, the first effect of this embodiment is that a plurality of CPUs can access the same endpoint. As the end point, a device conforming to PCI Express can be used as it is.

本実施の形態による第2の効果は、エンドポイントにアクセスできるCPUを切り替える際に、エンドポイントを一旦停止することなく、CPUの切り替えを高速に実現することが可能となることである。これは、コンフィグレーションを電源投入時に実行することで、エンドポイントに対するリセットや再設定の処理が不要なためである。   The second effect of the present embodiment is that when switching the CPU that can access the endpoint, the CPU can be switched at high speed without temporarily stopping the endpoint. This is because the configuration is executed when the power is turned on, so that reset or reset processing for the endpoint is unnecessary.

本実施の形態による第3の効果は、CPU側の負荷に応じて、スケーラビリティの高いシステムを構築することが可能となることである。これは、現用系のCPUと待機系のCPUを物理的に分離した複数のCPUで構成可能であるからである。   A third effect of the present embodiment is that a highly scalable system can be constructed according to the load on the CPU side. This is because the active CPU and the standby CPU can be constituted by a plurality of CPUs physically separated.

本実施の形態による第4の効果は、エンドポイント側の負荷に応じて、スケーラビリティの高いシステムを構築することが可能となることである。これは、本実施の形態で物理的に分離された複数のエンドポイントをシステムに組み込んだことによるものである。   The fourth effect of the present embodiment is that it is possible to construct a highly scalable system according to the load on the endpoint side. This is because a plurality of endpoints physically separated in the present embodiment are incorporated into the system.

本実施の形態による第5の効果は、ソフトウェアによるCPU側の負荷と、ハードウェア処理によるエンドポイント側の負荷に応じて、個別に増減設可能なスケーラビリティの高いシステムを構築することが可能になる。   According to the fifth effect of the present embodiment, it is possible to construct a highly scalable system that can be individually increased or decreased according to the load on the CPU side by software and the load on the endpoint side by hardware processing. .

本実施の形態による第5の効果は、サーバを現用系と待機系で二重化したので、システムの安定性を高めることができる。しかも、現用系と待機系で、それぞれ1台ずつの主サーバに対して任意数の拡張サーバを選択可能としたので、拡張サーバの一部に障害が発生した際もシステムを運用することができ、この意味でもシステムの信頼性を向上させることができる。   The fifth effect of the present embodiment is that the server is duplexed between the active system and the standby system, so that the stability of the system can be improved. In addition, since any number of expansion servers can be selected for each primary server in the active system and the standby system, the system can be operated even when a failure occurs in a part of the expansion server. In this sense, the reliability of the system can be improved.

次に本発明の変形可能性について説明する。   Next, the deformability of the present invention will be described.

<発明の第1の変形例>   <First Modification of Invention>

本発明の実施の形態では、図4に示すように単数の統合エンドポイント101を実装するエンドポイント共有システム100を実現した。本発明の第1の変形例では、エンドポイント共有システムに複数の統合エンドポイントを実装する。これにより、必要とされる処理能力に応じて統合エンドポイントを増減設することが可能になり、汎用性の高いシステムを構築することが可能になる。   In the embodiment of the present invention, as shown in FIG. 4, an endpoint sharing system 100 that implements a single integrated endpoint 101 is realized. In the first modification of the present invention, a plurality of integrated endpoints are implemented in the endpoint sharing system. As a result, it is possible to increase or decrease the number of integrated endpoints according to the required processing capacity, and it is possible to construct a highly versatile system.

図14は、本発明の第1の変形例としての統合エンドポイントの増設例を表わしたものである。図14で、図4と同一部分には同一の符号を付しており、これらの説明を適宜省略する。   FIG. 14 shows an example of adding an integrated endpoint as a first modification of the present invention. In FIG. 14, the same parts as those in FIG.

図14に示したエンドポイント共有システム100Aでは、第0−0のサーバ10200Aおよび第1−0のサーバ10310Aが、PCIe拡張スロット(PCIe NIC#001、PCIe NIC#101)111、112の外に、他のPCIe拡張スロット(PCIe NIC#002、PCIe NIC##102)511、512を備えている。汎用サーバには、通常、複数の拡張PCIeスロットが実装されている。そこで、この変形例では、第0−0のサーバ10200Aと第1−0のサーバ10310Aがそれぞれ少なくとも2組のPCIe拡張スロットを備えているものとして、PCIe拡張スロット511、512にそれぞれPCIe NIC(Network Interface Card)513、514を追加的に実装することにしている。 In the endpoint sharing system 100A shown in FIG. 14, the 0-0 server 102 00 A and the 1-0 server 103 10 A are connected to PCIe expansion slots (PCIe NIC # 001, PCIe NIC # 101) 111, 112. In addition, other PCIe expansion slots (PCIe NIC # 002, PCIe NIC ### 102) 511 and 512 are provided. A general-purpose server is usually mounted with a plurality of expansion PCIe slots. Therefore, in this modification, it is assumed that the 0-0 server 102 00 A and the 1-0 server 103 10 A each include at least two sets of PCIe expansion slots, and the PCIe expansion slots 511 and 512 are respectively provided. PCIe NICs (Network Interface Cards) 513 and 514 are additionally mounted.

先の実施の形態で使用したPCIe NIC113、114の方は、第1の統合エンドポイント1011と接続されるようになっている。新たに増設したPCIe NIC513、514の方は、第2の統合エンドポイント1012と接続される。ここで、第1の統合エンドポイント1011と第2の統合エンドポイント1012は、先の実施の形態の統合エンドポイント101と全く同一の構成となっている。このため、図14では第2の統合エンドポイント1012の構成の詳細を示していない。 The PCIe NICs 113 and 114 used in the previous embodiment are connected to the first integrated endpoint 101 1 . The newly added PCIe NICs 513 and 514 are connected to the second integrated endpoint 101 2 . Here, the first integrated endpoint 101 1 and the second integrated endpoint 101 2 have the same configuration as the integrated endpoint 101 of the previous embodiment. For this reason, FIG. 14 does not show the details of the configuration of the second integrated endpoint 101 2 .

<発明の第2の変形例>   <Second Modification of Invention>

ところで、ピーシーアイエクスプレス(PCI Express)と呼ばれるシリアル転送インタフェースでは、データがピーシーアイエクスプレスパケットとして転送される。このため、他のプロトコルでピーシーアイエクスプレスパケットをカプセル化することが可能である。   By the way, in a serial transfer interface called PC Express (PCI Express), data is transferred as a PC Express packet. For this reason, it is possible to encapsulate PCI Express packets with other protocols.

図15は、本発明の第2の変形例として、イーサネット(登録商標)フレームでカプセル化したエンドポイント共有システムの構成を表わしたものである。図15で図4と同一部分には同一の符号を付しており、これらの説明を適宜省略する。   FIG. 15 shows the configuration of an endpoint sharing system encapsulated with an Ethernet (registered trademark) frame as a second modification of the present invention. In FIG. 15, the same parts as those in FIG.

この第2の変形例のエンドポイント共有システム100Bでは、第0−0のサーバ10200Bと第1および第2の統合エンドポイント1011、1012の間に、第1のイーサネット(登録商標)スイッチ601が配置されている。また、第1−0のサーバ10310Bと第1および第2の統合エンドポイント1011、1012の間には、第2のイーサネット(登録商標)スイッチ602が配置されている。このうち、第1のイーサネット(登録商標)スイッチ601は、第1および第2の統合エンドポイント1011、1012のPCIプロシキ機能部106における第0のポート1310に接続されている。また、第2のイーサネット(登録商標)スイッチ602は、第1および第2の統合エンドポイント1011、1012のPCIプロシキ機能部106における第1のポート1311に接続されている。 In the endpoint sharing system 100B of the second modified example, the first Ethernet (registered trademark) is provided between the 0-0 server 102 00 B and the first and second integrated endpoints 101 1 , 101 2. A switch 601 is arranged. A second Ethernet (registered trademark) switch 602 is disposed between the 1-0 server 103 10 B and the first and second integrated endpoints 101 1 and 101 2 . Of these, the first Ethernet switch 601 is connected to the zeroth port 131 0 in the first and second integrated endpoint 101 1, 101 2 of the PCI Puroshiki functional unit 106. The second Ethernet (registered trademark) switch 602 is connected to the first port 131 1 in the PCI proxy function unit 106 of the first and second integrated endpoints 101 1 and 101 2 .

第2の変形例のエンドポイント共有システム100Bでは、前記したようにイーサネット(登録商標)フレームでカプセル化を行う。これにより、イーサネット(登録商標)のMAC(Media Access Control)アドレスをベースにしてサーバ10200B、10310Bおよび複数のエンドポイント105の識別を行い、宛先を指定することが可能となる。すなわち、先の第1の変形例と異なり、第0−0のサーバ10200Bには1つのPCIe NIC113Bを用意し、第1−0のサーバ10310Bにも1つのPCIe NIC114Bを用意すれば足りることになる。 In the endpoint sharing system 100B of the second modification, as described above, encapsulation is performed with an Ethernet (registered trademark) frame. As a result, the servers 102 00 B and 103 10 B and the plurality of endpoints 105 can be identified based on the Ethernet (registered trademark) MAC (Media Access Control) address, and the destination can be designated. That is, unlike the first modified example, one PCIe NIC 113B is prepared for the 0-0 server 102 00 B, and one PCIe NIC 114B is prepared for the first 0-0 server 103 10 B. It will be enough.

ただし、これらのPCIe NIC113B、114Bは、ピーシーアイエクスプレスパケットをイーサネット(登録商標)フレームにカプセル化するためのネットワークカードである必要がある。また、第1および第2の統合エンドポイント1011、1012も第0のポート1310あるいは第1のポート1311側のポートにピーシーアイエクスプレスパケットのイーサネット(登録商標)カプセル化機能を追加しておく必要がある。 However, these PCIe NICs 113B and 114B need to be network cards for encapsulating PC-I express packets in Ethernet (registered trademark) frames. Further, by adding an Ethernet encapsulation of CPC eye express packet to the first and second integrated endpoint 101 1, 101 2 also show the zeroth port 131 0 or the first port 131 1 side port It is necessary to keep.

エンドポイント共有システム100Bでは、各サーバ10200B、10310Bと第1および第2の統合エンドポイント1011、1012の間を第1および第2のイーサネット(登録商標)スイッチ601、602で接続する構造となっている。このため、各サーバ10200B、10310Bに実装されたPCIe拡張スロット111、112の数に依存することなく、統合エンドポイント101を増減設可能なシステムを構築することが可能になる。 Endpoint sharing system 100B, each server 102 00 B, 103 10 B and the first and second integrated endpoint 101 1, 101 between the two first and second Ethernet switches 601 and 602 It has a structure to connect. Therefore, it is possible to construct a system that can increase or decrease the number of integrated endpoints 101 without depending on the number of PCIe expansion slots 111 and 112 installed in each of the servers 102 00 B and 103 10 B.

サーバ10200B、10310Bの数に関しては、サーバ群あたり第0−0のサーバ10200B等の1台の主サーバに対して、第0−1のサーバ10201等の拡張サーバを複数台増設することが可能になる。このため、統合エンドポイント101をN台(ただし、Nは任意の正の整数)にサーバ102または103をN台としたエンドポイント共有システムを構成することが可能になる。 Server 102 00 B, 103 10 With respect to the number of B, and one of the main servers of the first such 0-0 server 102 00 B per server group, a plurality of extension servers such as the server 102 01 of the 0-1 It is possible to add more units. Therefore, it is possible to configure an endpoint sharing system in which N integrated endpoints 101 (where N is an arbitrary positive integer) and N servers 102 or 103 are configured.

図16は、本発明の第3の変形例として1台の主サーバに対して複数台の拡張サーバを配置したこのようなエンドポイント共有システムを示したものである。この第3の変形例のエンドポイント共有システム100Cでは、記憶装置104が一端に接続されたFCスイッチ109Cの他端にソフトウェア処理を行うサーバ部651が接続されている。このサーバ部651は、ACT(active)系サーバ群102Cと、SBY(standby)系サーバ群103Cで構成されている。   FIG. 16 shows such an endpoint sharing system in which a plurality of extension servers are arranged for one main server as a third modification of the present invention. In the endpoint sharing system 100C of the third modified example, a server unit 651 that performs software processing is connected to the other end of the FC switch 109C to which the storage device 104 is connected. The server unit 651 includes an ACT (active) server group 102C and an SBY (standby) server group 103C.

ここでACT系サーバ群102Cは、1台の主サーバ10200Cと、N台の拡張サーバ10201C〜1020NCによって構成されている。また、SBY系サーバ群103Cは、1台の主サーバ10310Cと、N台の拡張サーバ10311C〜1031NCによって構成されている。 Here ACT system servers 102C is composed one main server 102 00 C, the N number of extended server 102 01 C~102 0N C. The SBY system server group 103C includes one main server 103 10 C and N expansion servers 103 11 C to 103 1N C.

このうちACT系サーバ群102Cの主サーバ10200Cは、イーサネット(登録商標)スイッチ652を介してハードウェア処理を行う統合エンドポイント部653に接続されている。SBY系サーバ群103Cの主サーバ10310Cも、イーサネット(登録商標)スイッチ652を介してハードウェア処理を行う統合エンドポイント部653に接続されている。統合エンドポイント部653は、第1〜第Nの統合エンドポイント1011〜101Nがイーサネット(登録商標)スイッチ652に並列に接続された構成となっている。 The main server 102 00 C of these ACT based servers 102C is connected to the integrated endpoint 653 which performs hardware processing through the Ethernet switch 652. The main server 103 10 C of the SBY server group 103 C is also connected to the integrated endpoint unit 653 that performs hardware processing via the Ethernet (registered trademark) switch 652. The integrated endpoint unit 653 has a configuration in which the first to Nth integrated endpoints 101 1 to 101 N are connected in parallel to the Ethernet (registered trademark) switch 652.

この第3の変形例のエンドポイント共有システム100Cでは、ソフトウェア処理を行うサーバ部651と、ハードウェア処理を行う統合エンドポイント部653を、ピーシーアイエクスプレスパケットをカプセル化したイーサネット(登録商標)経由で接続している。これにより、イーサネット(登録商標)で接続した各サーバと統合エンドポイント101を、仮想的に1つのシステムとして構成することが可能になる。このエンドポイント共有システム100Cでは、ソフトウェア処理能力が不足した場合は拡張サーバ102Cあるいは103Cを増設することで、システム全体の能力を向上させることが可能になる。また、ハードウェア処理能力が不足した場合は、統合エンドポイント101を増設することにより、システム全体の能力を向上させることが可能になる。   In the endpoint sharing system 100C of the third modification, a server unit 651 that performs software processing and an integrated endpoint unit 653 that performs hardware processing are connected via Ethernet (registered trademark) in which PC Express packets are encapsulated. Connected. As a result, each server and the integrated endpoint 101 connected via Ethernet (registered trademark) can be virtually configured as one system. In this endpoint sharing system 100C, if the software processing capability is insufficient, the expansion server 102C or 103C can be added to improve the overall system capability. Further, when the hardware processing capability is insufficient, the capability of the entire system can be improved by adding the integrated endpoint 101.

10、100、100A、100B、100C エンドポイント共有システム
11 現用系の主サーバ
12 現用系の拡張サーバ
13 待機系の主サーバ
14 待機系の拡張サーバ
15 現用系通信手段
16 待機系通信手段
17 マッピング手段
18 差分検出手段
19 アドレス変換手段
20 切替時機到来監視手段
21 第1のエンドポイントアクセス手段
22 第2のエンドポイントアクセス手段
23 現用系用データ格納手段
24 待機系用データ格納手段
30 エンドポイント代理アクセス方法
31 マッピングステップ
32 差分検出ステップ
33 アドレス変換ステップ
34 切替時機到来監視ステップ
35 第1のエンドポイントアクセスステップ
36 第2のエンドポイントアクセスステップ
37 現用系用データ格納ステップ
38 待機系用データ格納ステップ
40 エンドポイント代理アクセスプログラム
41 マッピング処理
42 差分検出処理
43 アドレス変換処理
44 切替時機到来監視処理
45 第1のエンドポイントアクセス処理
46 第2のエンドポイントアクセス処理
47 現用系用データ格納処理
48 待機系用データ格納処理
101 統合エンドポイント
102 ACT(active)系サーバ(群)
103 SBY(standby)系サーバ(群)
104 記憶装置
105 エンドポイント
106 PCIプロシキ(Proxy)機能部
109 FC(Fiber Channel)スイッチ(Switch)
111、112 PCIe拡張スロット
113、114 PCIe NIC(network card)
115 LAN
116〜119 HBA(Host Bus Adapter)
131 ポート
133 ACT(active)・SBY(standby)選択機能部
134 仮想PCIeコンフィグ(Configuration)レジスタ
135 コンフィグ(Configuration)制御部
136 アドレス変換テーブル
137 アドレス変換部
138 アドレス変換・振り分け機能部
139 PCIeポート
151 1次共有メモリ
152 2次共有メモリ
153 出力メモリ領域
154 入力メモリ領域
155 出力メモリサーバ領域
156 入力メモリサーバ領域
601 第1のイーサネット(登録商標)スイッチ
602 第2のイーサネット(登録商標)スイッチ
651 サーバ部
652 イーサネット(登録商標)スイッチ
653 統合エンドポイント部
10, 100, 100A, 100B, 100C Endpoint sharing system 11 Active primary server 12 Active extended server 13 Standby primary server 14 Standby extended server 15 Active communication means 16 Standby communication means 17 Mapping means 18 difference detection means 19 address conversion means 20 switching timing arrival monitoring means 21 first endpoint access means 22 second endpoint access means 23 active system data storage means 24 standby system data storage means 30 endpoint proxy access method 31 Mapping step 32 Difference detection step 33 Address conversion step 34 Switch time arrival monitoring step 35 First endpoint access step 36 Second endpoint access step 37 Active system data storage step 38 Wait System data storage step 40 Endpoint proxy access program 41 Mapping process 42 Difference detection process 43 Address conversion process 44 Switching timing arrival monitoring process 45 First endpoint access process 46 Second endpoint access process 47 Current system data storage Processing 48 Data storage processing for standby system 101 Integrated endpoint 102 ACT (active) server (group)
103 SBY (standby) server (group)
104 Storage Device 105 Endpoint 106 PCI Proxy Function Unit 109 FC (Fiber Channel) Switch (Switch)
111, 112 PCIe expansion slot 113, 114 PCIe NIC (network card)
115 LAN
116-119 HBA (Host Bus Adapter)
131 Port 133 ACT (active) / SBY (standby) selection function unit 134 Virtual PCIe configuration register 135 Configuration control unit 136 Address conversion table 137 Address conversion unit 138 Address conversion / distribution function unit 139 PCIe port 151 1 Secondary shared memory 152 Secondary shared memory 153 Output memory area 154 Input memory area 155 Output memory server area 156 Input memory server area 601 First Ethernet (registered trademark) switch 602 Second Ethernet (registered trademark) switch 651 Server unit 652 Ethernet (registered trademark) switch 653 Integrated endpoint section

Claims (8)

CPU(Central Processing Unit)を実装した1台の現用系の主サーバと、
CPUを実装した任意の台数からなる現用系の拡張サーバと、
CPUを実装した1台の待機系の主サーバと、
CPUを実装した任意の台数からなる待機系の拡張サーバと、
前記現用系の主サーバと前記現用系の拡張サーバの間の通信を行う現用系通信手段と、
前記待機系の主サーバと前記待機系の拡張サーバの間の通信を行う待機系通信手段と、
所定のメモリ空間上に、前記現用系の主サーバにおける前記待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピング手段と、
このマッピング手段によってマッピングされる前記待機系の主サーバの前記現用系の主サーバに対する前記所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPUのベースアドレスの値の差によって検出する差分検出手段と、
この差分検出手段によって検出された差分を基にして、前記待機系の主サーバが現用系の主サーバに切り替わった際に前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換手段と、
前記現用系の主サーバと前記待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視手段と、
この切替時機到来監視手段によって前記待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記マッピング手段にマッピングされた前記現用系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそのまま用いて前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスする第1のエンドポイントアクセス手段と、
前記切替時機到来監視手段によって前記待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれ前記アドレス変換手段で変換して現用系に切り替えられた主サーバに代理で前記所定数のエンドポイントにアクセスする第2のエンドポイントアクセス手段と、
前記現用系の拡張サーバの1台が前記現用系の主サーバに代わって前記所定数のエンドポイントと通信するときそのデータを前記現用系の主サーバに代わって所定の現用系用記憶領域に格納する現用系用データ格納手段と、
前記待機系の拡張サーバの1台が前記待機系の主サーバに代わって前記所定数のエンドポイントと通信するときそのデータを前記待機系の主サーバに代わって所定の待機用記憶領域に格納する待機系用データ格納手段
とを具備することを特徴とするエンドポイント共有システム。
One active main server with a CPU (Central Processing Unit) installed;
An active expansion server consisting of an arbitrary number of CPUs;
One standby main server with a CPU,
A standby expansion server consisting of any number of CPUs, and
Active communication means for performing communication between the active main server and the active expansion server;
Standby communication means for performing communication between the standby main server and the standby expansion server;
Address information of a predetermined number of endpoints shared with the standby main server in the active main server and address information of the predetermined number of endpoints in the standby main server on a predetermined memory space Mapping means for mapping each;
The difference in the address information about the predetermined number of endpoints of the standby main server mapped by the mapping means with respect to the active main server is detected by the difference in the base address values of the CPUs of these servers. Difference detection means;
Based on the difference detected by the difference detecting means, when the standby main server is switched to the active main server, the predetermined number of endpoints are accessed on behalf of the active main server. Address conversion means for converting address information after switching,
Switching timing arrival monitoring means for monitoring arrival of switching timing between the active primary server and the standby primary server;
Until the standby main server is switched to the active main server by the switching timing arrival monitoring unit, the address information of the predetermined number of endpoints in the active main server mapped to the mapping unit is used as it is. Using a first endpoint access means for accessing the predetermined number of endpoints on behalf of the active main server;
When the standby primary server is switched to the active primary server by the switching timing arrival monitoring means, the address conversion is performed on the address information of the predetermined number of endpoints in the standby primary server before switching, respectively. A second endpoint access means for accessing the predetermined number of endpoints on behalf of the main server converted by the means and switched to the active system;
When one of the active expansion servers communicates with the predetermined number of endpoints on behalf of the active main server, the data is stored in a predetermined active storage area on behalf of the active main server Working data storage means for
When one of the standby expansion servers communicates with the predetermined number of endpoints on behalf of the standby main server, the data is stored in a predetermined standby storage area on behalf of the standby main server. An endpoint sharing system comprising standby data storage means.
前記現用系の拡張サーバおよび前記待機系の拡張サーバは、それぞれ複数台の汎用サーバで構成されていることを特徴とする請求項1記載のエンドポイント共有システム。   2. The endpoint sharing system according to claim 1, wherein each of the active extension server and the standby extension server includes a plurality of general-purpose servers. 前記マッピング手段は、前記所定数のエンドポイントを共有する現用系の汎用サーバとしての前記現用系の主サーバの電源投入時にこの汎用サーバに代理でピーシーアイエクスプレス(Peripheral Component Interconnect Express)バス配下の前記所定数のエンドポイントにアクセスして、PCI(Peripheral Component Interconnect)メモリ空間上にアドレス情報をマッピングすることを特徴とする請求項2記載のエンドポイント共有システム。   The mapping means acts as a proxy for the general component server under the Peripheral Component Interconnect Express bus when the active main server as the active general server that shares the predetermined number of endpoints is turned on. 3. The endpoint sharing system according to claim 2, wherein a predetermined number of endpoints are accessed and address information is mapped on a PCI (Peripheral Component Interconnect) memory space. 前記現用系通信手段および前記待機系通信手段は、前記現用系の主サーバ、前記現用系の拡張サーバ、前記待機系の主サーバおよび前記待機系の拡張サーバのそれぞれと接続されたLAN(Local Area Network)で構成されていることを特徴とする請求項1記載のエンドポイント共有システム。   The active communication means and the standby communication means are connected to a LAN (Local Area) connected to each of the active main server, the active extension server, the standby main server, and the standby extension server. 2. The endpoint sharing system according to claim 1, wherein the endpoint sharing system is configured by a network. 前記現用系の主サーバおよび前記待機系の主サーバは、それぞれ複数組のネットワークカードを備えており、それぞれのネットワークカードに対応して前記所定数のエンドポイントが配置されていることを特徴とする請求項1記載のエンドポイント共有システム。   The active main server and the standby main server each include a plurality of sets of network cards, and the predetermined number of end points are arranged corresponding to the respective network cards. The endpoint sharing system according to claim 1. 前記所定数のエンドポイントが複数組備えられており、これらの組のいずれか1つの組を選択するイーサネット(登録商標)スイッチが前記現用系の主サーバおよび前記待機系の主サーバのそれぞれ1つのネットワークカードに接続されていることを特徴とする請求項3記載のエンドポイント共有システム。   A plurality of sets of the predetermined number of end points are provided, and an Ethernet (registered trademark) switch for selecting any one of these sets is provided for each of the active main server and the standby main server. 4. The endpoint sharing system according to claim 3, wherein the endpoint sharing system is connected to a network card. ピーシーアイエクスプレス(Peripheral Component Interconnect Express)バスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピングステップと、
このマッピングステップによってマッピングされる前記待機系の主サーバの前記現用系の主サーバに対する前記所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPU(Central Processing Unit)のベースアドレスの値の差によって検出する差分検出ステップと、
この差分検出ステップによって検出された差分を基にして、前記待機系の主サーバが現用系の主サーバに切り替わった際に前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換ステップと、
前記現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視ステップと、
この切替時機到来監視ステップによって前記待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記マッピングステップによってマッピングされた前記現用系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそのまま用いて前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスする第1のエンドポイントアクセスステップと、
前記切替時機到来監視ステップによって前記待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれ前記アドレス変換ステップによって変換して現用系に切り替えられた主サーバに代理で前記所定数のエンドポイントにアクセスする第2のエンドポイントアクセスステップと、
任意の台数からなる現用系の拡張サーバのうちの1台が、前記現用系の主サーバの代わりに前記第1のエンドポイントアクセスステップで前記所定数のエンドポイントと通信を行うとき、そのデータを前記現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する現用系用データ格納ステップと、
任意の台数からなる待機系の拡張サーバのうちの1台が、前記待機系の主サーバの代わりに前記第2のエンドポイントアクセスステップで前記所定数のエンドポイントと通信を行うとき、そのデータを前記待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する待機系用データ格納ステップ
とを具備することを特徴とするエンドポイント代理アクセス方法。
In a predetermined memory space connected to a Peripheral Component Interconnect Express bus, address information of a predetermined number of endpoints shared with the standby main server in the active main server, and the standby main A mapping step of mapping address information of the predetermined number of endpoints in the server, respectively;
The difference between the address information of the predetermined number of endpoints of the standby main server mapped by the mapping step with respect to the active main server is the base address value of the CPU (Central Processing Unit) of these servers. A difference detection step for detecting by the difference between,
Based on the difference detected in the difference detection step, when the standby main server is switched to the active main server, the predetermined number of endpoints are accessed on behalf of the active main server. An address conversion step for converting the address information after switching,
A switching timing arrival monitoring step for monitoring the arrival of switching timing between the active primary server and the standby primary server;
Until the standby primary server is switched to the active primary server in this switching timing arrival monitoring step, the address information of the predetermined number of endpoints in the active primary server mapped in the mapping step is used as it is. Using a first endpoint access step to access the predetermined number of endpoints on behalf of the active primary server;
When the standby primary server is switched to the active primary server in the switching timing arrival monitoring step, the address conversion is performed on the address information of the predetermined number of endpoints in the standby primary server before switching, respectively. A second endpoint access step for accessing the predetermined number of endpoints on behalf of the main server converted by the step and switched to the active system;
When one of the active expansion servers of an arbitrary number communicates with the predetermined number of endpoints in the first endpoint access step instead of the active main server, the data is A working data storage step for storing data in a predetermined storage area instead of data during communication of the working main server;
When one of the standby expansion servers consisting of an arbitrary number communicates with the predetermined number of endpoints in the second endpoint access step instead of the standby main server, And a standby data storage step of storing in a predetermined storage area in place of data during communication of the standby main server.
現用系の主サーバと待機系の主サーバのそれぞれとピーシーアイエクスプレス(Peripheral Component Interconnect Express)バスを介して接続され、これらの主サーバと所定数のネットワーク端末としてのエンドポイントを共有する装置のコンピュータに、
前記ピーシーアイエクスプレスバスに接続された所定のメモリ空間上に、現用系の主サーバにおける待機系の主サーバと共有する所定数のエンドポイントのアドレス情報と、前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれマッピングするマッピング処理と、
このマッピング処理によってマッピングされる前記待機系の主サーバの前記現用系の主サーバに対する前記所定数のエンドポイントについてのアドレス情報の差分を、これらのサーバのCPU(Central Processing Unit)のベースアドレスの値の差によって検出する差分検出処理と、
この差分検出処理によって検出された差分を基にして、前記待機系の主サーバが現用系の主サーバに切り替わった際に前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスするときの、切り替え後におけるアドレス情報の変換を行うアドレス変換処理と、
前記現用系の主サーバと待機系の主サーバの系の切り替え時機の到来を監視する切替時機到来監視処理と、
この切替時機到来監視処理によって前記待機系の主サーバが現用系の主サーバに切り替えられるまでは、前記マッピング処理によってマッピングされた前記現用系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそのまま用いて前記現用系の主サーバに代理して前記所定数のエンドポイントにアクセスする第1のエンドポイントアクセス処理と、
前記切替時機到来監視処理によって前記待機系の主サーバが現用系の主サーバに切り替えられたときには、切り替える前までの前記待機系の主サーバにおける前記所定数のエンドポイントのアドレス情報をそれぞれ前記アドレス変換処理によって変換して現用系に切り替えられた主サーバに代理で前記所定数のエンドポイントにアクセスする第2のエンドポイントアクセス処理と、
任意の台数からなる現用系の拡張サーバのうちの1台が、前記現用系の主サーバの代わりに前記第1のエンドポイントアクセス処理で前記所定数のエンドポイントと通信を行うとき、そのデータを前記現用系の主サーバの通信時のデータに代わって所定の記憶領域に格納する現用系用データ格納処理と、
任意の台数からなる待機系の拡張サーバのうちの1台が、前記待機系の主サーバの代わりに前記第2のエンドポイントアクセス処理で前記所定数のエンドポイントと通信を行うとき、そのデータを前記待機系の主サーバの通信時のデータに代わって所定の記憶領域に格納する待機系用データ格納処理
とを実行させることを特徴とするエンドポイント代理アクセスプログラム。
A computer of a device that is connected to each of the active main server and the standby main server via a Peripheral Component Interconnect Express bus and shares the endpoints as a predetermined number of network terminals with these main servers. In addition,
Address information of a predetermined number of endpoints shared with the standby main server in the active main server on the predetermined memory space connected to the PC Express bus, and the predetermined number in the standby main server Mapping process to map the address information of each endpoint,
The difference between the address information of the predetermined number of endpoints of the standby main server mapped by the mapping process with respect to the active main server is the base address value of the CPU (Central Processing Unit) of these servers. Difference detection processing to detect by the difference between,
Based on the difference detected by the difference detection process, when the standby main server is switched to the active main server, the predetermined number of endpoints are accessed on behalf of the active main server. Address conversion processing for converting address information after switching,
Switching timing arrival monitoring processing for monitoring the arrival of switching timing between the active primary server and the standby primary server;
Until the standby main server is switched to the active main server by this switching timing arrival monitoring process, the address information of the predetermined number of endpoints in the active main server mapped by the mapping process remains unchanged. A first endpoint access process that uses the active primary server to access the predetermined number of endpoints;
When the standby primary server is switched to the active primary server by the switching timing arrival monitoring process, the address information of the predetermined number of endpoints in the standby primary server before the switching is converted into the address conversion, respectively. A second endpoint access process for accessing the predetermined number of endpoints on behalf of the main server converted by the process and switched to the active system;
When one of the active expansion servers of an arbitrary number communicates with the predetermined number of endpoints in the first endpoint access processing instead of the active main server, the data is A data storage process for the active system that stores data in a predetermined storage area instead of the data during communication of the primary server of the active system;
When one of the standby expansion servers composed of an arbitrary number communicates with the predetermined number of endpoints in the second endpoint access processing instead of the standby main server, An endpoint proxy access program for executing standby-system data storage processing for storing data in a predetermined storage area in place of communication data of the standby-system main server.
JP2009224083A 2009-09-29 2009-09-29 End point sharing system, proxy access method, and proxy access program Pending JP2011076174A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009224083A JP2011076174A (en) 2009-09-29 2009-09-29 End point sharing system, proxy access method, and proxy access program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009224083A JP2011076174A (en) 2009-09-29 2009-09-29 End point sharing system, proxy access method, and proxy access program

Publications (1)

Publication Number Publication Date
JP2011076174A true JP2011076174A (en) 2011-04-14

Family

ID=44020128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009224083A Pending JP2011076174A (en) 2009-09-29 2009-09-29 End point sharing system, proxy access method, and proxy access program

Country Status (1)

Country Link
JP (1) JP2011076174A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304938B2 (en) 2012-11-26 2016-04-05 Samsung Electronics Co., Ltd. Storage device and data transferring method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225551A (en) * 1990-01-31 1991-10-04 Fujitsu Ltd Input and output device access control system
JP2002222160A (en) * 2001-01-26 2002-08-09 Fujitsu Ltd Repeating installation
JP2007219873A (en) * 2006-02-17 2007-08-30 Nec Corp Switch and network bridge device
JP2007316791A (en) * 2006-05-24 2007-12-06 Nec Corp Information processor and inter-device connecting method
JP2008152786A (en) * 2006-12-19 2008-07-03 Internatl Business Mach Corp <Ibm> Method for migrating virtual function from first to second physical function of one or more end points in data processing system, program, and system (system and method for migration of single root stateless virtual function)
JP2011048452A (en) * 2009-08-25 2011-03-10 Nec Corp End point proxy access device, sharing system, proxy access method and proxy access program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225551A (en) * 1990-01-31 1991-10-04 Fujitsu Ltd Input and output device access control system
JP2002222160A (en) * 2001-01-26 2002-08-09 Fujitsu Ltd Repeating installation
JP2007219873A (en) * 2006-02-17 2007-08-30 Nec Corp Switch and network bridge device
JP2007316791A (en) * 2006-05-24 2007-12-06 Nec Corp Information processor and inter-device connecting method
JP2008152786A (en) * 2006-12-19 2008-07-03 Internatl Business Mach Corp <Ibm> Method for migrating virtual function from first to second physical function of one or more end points in data processing system, program, and system (system and method for migration of single root stateless virtual function)
JP2011048452A (en) * 2009-08-25 2011-03-10 Nec Corp End point proxy access device, sharing system, proxy access method and proxy access program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304938B2 (en) 2012-11-26 2016-04-05 Samsung Electronics Co., Ltd. Storage device and data transferring method thereof

Similar Documents

Publication Publication Date Title
US7697312B2 (en) SAN/NAS integrated storage system
US8095701B2 (en) Computer system and I/O bridge
JP4376040B2 (en) Apparatus and method for performing information processing using a plurality of processors
EP1760591B1 (en) System and method of managing access path
JP5116497B2 (en) Information processing system, I / O switch, and I / O path replacement processing method
US6675253B1 (en) Dynamic routing of data across multiple data paths from a source controller to a destination controller
US7633856B2 (en) Multi-node system, internodal crossbar switch, node and medium embodying program
JP3807250B2 (en) Cluster system, computer and program
JP2005165702A (en) Device connection method of cluster storage
JP2011222011A (en) Remote direct storage access
JP2007282197A (en) Remote data facility over ip network
US20120284435A1 (en) Zone group manager virtual phy
US7539129B2 (en) Server, method for controlling data communication of server, computer product
JP2004021556A (en) Memory control device and control process thereof
US20120183001A1 (en) Network apparatus, network configuration method and program recording medium which records a network apparatus program
JP2009075718A (en) Method of managing virtual i/o path, information processing system, and program
US7774514B2 (en) Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method
WO2014206078A1 (en) Memory access method, device and system
JP2003044421A (en) Virtual storage system and switching node used for the same system
JP5482263B2 (en) Endpoint sharing system and data transfer method
JP5516411B2 (en) Information processing system
JP2011076174A (en) End point sharing system, proxy access method, and proxy access program
US7930445B2 (en) Computer system using remote I/O and I/O data transfer method
JP2011048452A (en) End point proxy access device, sharing system, proxy access method and proxy access program
JP6134720B2 (en) Connection method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120809

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20121016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140121