[go: up one dir, main page]

JP5222573B2 - サーバ計算機及びネットワーク処理方法 - Google Patents

サーバ計算機及びネットワーク処理方法 Download PDF

Info

Publication number
JP5222573B2
JP5222573B2 JP2008018205A JP2008018205A JP5222573B2 JP 5222573 B2 JP5222573 B2 JP 5222573B2 JP 2008018205 A JP2008018205 A JP 2008018205A JP 2008018205 A JP2008018205 A JP 2008018205A JP 5222573 B2 JP5222573 B2 JP 5222573B2
Authority
JP
Japan
Prior art keywords
identification information
address
server
network interface
information
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.)
Expired - Fee Related
Application number
JP2008018205A
Other languages
English (en)
Other versions
JP2009181231A (ja
Inventor
匡邦 揚妻
隆裕 中野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008018205A priority Critical patent/JP5222573B2/ja
Priority to US12/050,282 priority patent/US8661128B2/en
Publication of JP2009181231A publication Critical patent/JP2009181231A/ja
Application granted granted Critical
Publication of JP5222573B2 publication Critical patent/JP5222573B2/ja
Priority to US14/049,254 priority patent/US9077718B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、オペレーティングシステム(OS)のネットワーク処理に関する発明である。ウェブサーバ、ファイルサーバなどのサーバアプリケーションやNAS(Network Attached Storage)のコンソリデーションに適用可能な技術である。
サーバ計算機の運用管理を一元化し、管理コストを削減するため、複数のサーバ計算機内のサーバアプリケーションがそれぞれ提供している同じ種類のサービスを一台のサーバ計算機に集約して提供するコンソリデーションが提案されている。サービスとは、例えばWEBサービスやNFSサービス等をいい、ソフトウエアの機能を、ネットワークを通じて利用できるようにしたものをいう。
一般に各サーバ計算機内のサーバアプリケーションは、クライアントが発行するリクエストを待ち受けるアドレスとして、ANYアドレスという特殊アドレスを用いる。ANYアドレスは、例えば非特許文献1に開示される技術であり、サーバ計算機が保持する全てのIPアドレス宛のリクエストを待ち受けることができる。
ここで各サーバ計算機が同じ種類のサービスを提供していたサーバアプリケーション(以下では、同一サーバアプリケーションと呼ぶ)をコンソリデーションする場合に、単純に一台のサーバ計算機上で複数の同一サーバアプリケーションを動かすことはできない。
単純に一台のサーバ計算機上で複数の同一サーバアプリケーションを動かすと、サーバ計算機内ではANYアドレスを用いてリクエストを待ち受けるサーバアプリケーションが複数あることになり、サーバ計算機は、どのサーバアプリケーションでリクエストを受け取れば良いか判別できないことになるからである。
そこで例えばコンソリデーションは、次のような方法で行うことが提案されている。まず、非特許文献2から4に開示されるような仮想マシンソフトウエアを使う方法である。仮想マシンソフトウエアは、一台のサーバ計算機上で複数の仮想マシンを提供可能とするソフトウエアである。夫々の仮想マシンでは独立したOSを動かすことができる。集約元のサーバ計算機一台について一つの仮想マシンを用意し、各仮想マシン上で同じ種類のサーバアプリケーションを動かすことでコンソリデーションを実現する。
また、別の方法では、複数のサーバ計算機で提供していたサービスの設定情報を統合し、一台のサーバ計算機上の単一のサーバアプリケーションでコンソリデーションを実現する方法がある。例えば、各サーバ計算機で個別にサービスのユーザ情報を管理していた場合には、予めユーザ情報を統合する。
W. Richard Stevens, UNIX Network Programming, p.p.278-289 Prentice Hall PTR, 1990 http://www.vmware.com/pdf/virtualization.pdf http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf http://www.vmware.com/pdf/virtualization_considerations.pdf
したがって、コンソリデーションを実現するためには、単純に一台のサーバ計算機上で複数の同一サーバアプリケーションを動かすことはできず、上述の如く、仮想マシンを使用するか、単一のアプリケーションにサービスの設定情報を統合するか、の方法を採用するしかなかった。
そこで、本発明では、サーバ計算機のメモリの使用量及びCPUに対する負担が大きくなってしまう仮想マシンによる方法や、単一のアプリケーションにサービスの設定情報を統合する方法を採用することなく、一台のサーバ計算機内にある単一のOS上で同一サーバアプリケーションを複数同時に動かすことのできるサーバ計算機及びネットワーク処理方法を提案しようとするものである。
本発明は、1又は複数のクライアント計算機とネットワークを介して接続されるサーバ計算機であって、複数のポートと、サービスを提供する複数のサーバアプリケーションが属する複数のアプリケーショングループと、アプリケーショングループと、アプリケーショングループに属するサーバアプリケーションが使用する第1の識別情報と、を対応付ける第1の管理情報と、複数のポートを識別する第2の識別情報と、第1の識別情報と第2の識別情報との組から構成される複数のエンドポイントと、を対応付ける第2の管理情報と、複数のポートの何れかによって受信される通信パケットに含まれる第1の識別情報と第1の管理情報とから通信パケットの振分け先であるアプリケーショングループを取得し、通信パケットに含まれる第2の識別情報と第2の管理情報とから複数のエンドポイントを取得し、取得された複数のエンドポイントのいずれかと対応し且つ取得したアプリケーショングループに属するサーバアプリケーションに通信パケットを振り分けるパケット振分け処理部と、を有することを特徴とする。
この結果、サーバ計算機内に複数の同一サーバアプリケーションを有していても、通信パケットを指定のサーバアプリケーションに振り分けることができる。これにより、本発明のサーバ計算機は、単一のOS上で同時に複数の同一サーバアプリケーションを動かすことができる。
また本発明は、1又は複数のクライアント計算機とネットワークを介して接続されるサーバ計算機のネットワーク処理方法であって、サービスを提供する複数のサーバアプリケーションが属する複数のアプリケーショングループと、アプリケーショングループに属するサーバアプリケーションが使用できる第1の識別情報と、を第1の管理情報として対応付ける第1の対応付けステップと、複数のポートを識別する第2の識別情報と、第1の識別情報と第2の識別情報との組から構成される複数のエンドポイントと、を第2の管理情報として対応付ける第2の対応付けステップと、複数のポートのいずれかによって受信される通信パケットに含まれる第1の識別情報と第1の管理情報とから通信パケットの振分け先であるアプリケーショングループを取得し、通信パケットに含まれる第2の識別情報と第2の管理情報とから複数のエンドポイントを取得し、取得された複数のエンドポイントのいずれかと対応し且つ取得したアプリケーショングループに属するサーバアプリケーションに通信パケットを振り分けるパケット振分け処理ステップと、を有することを特徴とする。
この結果、サーバ計算機内に複数の同一サーバアプリケーションを有していても、通信パケットを指定のサーバアプリケーションに振り分けることができる。これにより、本発明のサーバ計算機は、単一のOS上で同時に複数の同一サーバアプリケーションを動かすことができる。
本発明によれば、一台のサーバ計算機内にある単一のOS上でANYアドレスを用いてリクエストを待ち受ける同一サーバアプリケーションを複数同時に動かすことができる。
また、一台のサーバ計算機はクライアントからのリクエストを判別して、同一のサーバアプリケーションが複数あっても確実にリクエストを振り分けることができる。
複数のサーバ計算機上で運用していた同一サービスを、既存のサーバアプリケーション自体を改変することなく1台のサーバ計算機上に集約する、サーバコンソリデーションとして利用することができる。
以下、図面を参照して本発明の実施の形態を説明する。
(1)計算機システムの構成
図1に示す、1は、第1の実施の形態における計算機システムを示す。計算機システム1は、サーバ計算機100がLAN102を介して複数のクライアント計算機(以下、単にクライアントという)101と接続する構成である。
クライアント101は、サーバ計算機100のサーバアプリケーション107が提供するサービスにアクセスする計算機である。
サーバ計算機100は、ネットワークインタフェース103、CPU105、メモリ104から主に構成される。
ネットワークインタフェース103、CPU105、メモリ104はそれぞれ複数あっても良い。
ネットワークインタフェース103は、LAN102と接続しており、サーバ計算機100がTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)等のネットワークプロトコルを使ってクライアント101と通信を行うためのインタフェースである。
メモリ104は、例えば半導体メモリであり、CPU105が実行するプログラム及びCPU105が参照するデータを格納する。具体的にはメモリ104には、オペレーティングシステム(図中OSと表記)106内のサーバアプリケーション107A〜107C、プログラムであるネットワーク処理部108、プロセス管理テーブル109、ANYアドレス管理テーブル110、ソケット管理テーブル111、ルーティングテーブル112、及び、ネットワークインタフェースのIPアドレスの設定や削除をOS106に要求するネットワークインタフェース設定プログラム114、を格納する。
CPU105は、サーバ計算機100の動作を制御するプロセッサである。CPU105は、メモリ104に格納されたOS106上のサーバアプリケーション107A〜107Cやネットワーク処理部108といったプログラムを実行する。
サーバアプリケーション107A〜107Cは、クライアント101にファイル、ウェブ、メール、ftpなどのサービスを提供するアプリケーションである。サーバアプリケーション107A〜107Cは、OS106内のユーザ空間のアプリケーションでも良いし、カーネル空間のアプリケーションでも良い。またアプリケーションの数も限定していない。
本実施の形態では、サーバアプリケーションは、107A、107B、107Cの3種類のサービスを提供するサーバアプリケーションが複数動作している。
OS106は、サーバアプリケーション107も含めて、全てのプロセスにVNAS(Virtual NAS)−IDと呼ぶ識別番号を付与して、プロセス群をグループ化している。ここで、プロセスとは、サーバアプリケーション107も含めて、サーバ計算機100が実行中のプログラムをいう。図1では、異なる種類のサービスを提供する3つのサーバアプリケーション107A、107B、107Cを1組とするVNASが3つ113A、113B、113C形成されている。VNAS113は、異種のサーバアプリケーションを1つのグループとしてグループ化したものであり、単一のOS106内に複数有するものである。また、VNAS113は、本来ならば3台のサーバ計算機にそれぞれ個別に提供されるプロセス群である。なお各グループのプロセスの構成は、必ずしも一致している必要はない。また特に区別する場合を除いて、サーバアプリケーション107、VNAS113、と記載する。
クライアント101からのリクエストは、通信パケット(以下、単にパケットという)1200に含まれてサーバ計算機100に送信される。リクエストがLAN102を経由してサーバ計算機100のネットワークインタフェース103に届くと、OS106内のネットワーク処理部108がネットワークインタフェース103に届いたリクエストを各種管理テーブル109〜111の情報に基づき、複数あるVNAS113内の、どのサーバアプリケーション107A〜107Cに対するリクエストか判定して配信する。
(2)ネットワーク処理部
図2に、ネットワーク処理部108の構成図を示す。
ネットワーク処理部108は、パケット1200の送受信とネットワークインタフェース103との管理を行うためのプログラムである。ネットワーク処理部108は、パケット受信処理部201、パケット送信処理部203及びネットワークインタフェース管理部205で構成される。
パケット受信処理部201は、ネットワークインタフェース103を介してクライアント101から受信したリクエストのパケット1200をサーバアプリケーション107A〜107Cへ配信する処理を行う。パケット受信処理部201は、パケット振分け処理部202を有する。
パケット振分け処理部202では、どの種類のサーバアプリケーション107A〜107Cへパケット1200を配信するか、同一種類のサーバアプリケーション107が複数ある場合にどのVNAS113のサーバアプリケーション107へパケット1200を配信するかを決定する。パケット振分け処理部202は、後述のフローチャートで説明する。
パケット送信処理部203は、サーバアプリケーション107のパケット送信要求に基づき、ネットワークインタフェース103を介して、クライアント101へパケット1200を送信する処理を行う。パケット送信処理部203は、送信元アドレス設定処理部204を有する。
送信元アドレス設定処理部204では、パケット送信の要求を出したサーバアプリケーション107が使用可能なIPアドレス(第1の識別情報)を送信元アドレスとして設定する処理を行う。送信元アドレス設定処理部204は、後述のフローチャートで説明する。
ネットワークインタフェース管理部205は、IPアドレスを割り当ててネットワークインタフェース103を使用可能な状態にする(以下、これを有効化という)処理、又は、IPアドレスを削除してネットワークインタフェース103を使用不可能な状態にする(以下、これを無効化という)処理を行う。
また、ネットワークインタフェース管理部205は、ネットワークインタフェース103の有効化・無効化と同時にANYアドレス管理テーブル110内の登録又は削除処理を行う。ネットワークインタフェース管理部205は、インタフェース有効化処理部206及びインタフェース無効化処理部207を有する。インタフェース有効化処理部206及びインタフェース無効化処理部207は、後述のフローチャートで説明する。
(3)プロセス管理テーブル
図3は、プロセス管理テーブル109の説明図である。
プロセス管理テーブル109は、サーバアプリケーション107のプロセスも含め、OS106上で動作中の全プロセス情報を管理するテーブルである。
プロセス管理テーブル109は、各プロセスの動作順に一意に付与されたプロセス識別番号である「PID」欄1090及び所属するVNAS113の識別番号である「VNAS−ID」欄1091から主に構成されている。なお、その他の欄1092は、プロセスが使用するリソース等の管理情報が格納されている。
VNAS113の識別番号は、各プロセスが使用可能なIPアドレスを区別するために用いる。サーバ計算機100がANYアドレスを用いてリクエストを待ち受ける同一サーバアプリケーション107を複数動かす場合には、夫々のサーバアプリケーション107が異なるIPアドレスでリクエストを待ち受けることができるように、予め異なるVNAS113の識別番号でプロセスを生成する。
ここで、プロセス群をVNAS113のグループに分ける一例について説明する。図4には、本実施の形態におけるプロセスツリー(プロセス間の親子関係を示す木構造)の模式図を示す。
1301〜1308は、夫々のプロセスを示している。また、夫々のプロセス1301〜1308にはVNAS113のIDが割り当てられている。
例えばプロセス1301にはVNAS1のIDが割り当てられているとする。新たなプロセス1302は、新たなプロセス1302のコピー元となるプロセス1301がforkシステムコール1309を呼び出すことで生成される。このとき、コピー元となるプロセス1301は親プロセス、新しく生成されたプロセス1302は子プロセスと呼ばれる。引き続き、新しいプロセス1303、1304を生成させる場合には、コピー元となるプロセス1302がforkシステムコール1309を呼び出す。このとき、コピー元となるプロセス1302が親プロセス、新しく生成されたプロセス1303、1304は子プロセスと呼ばれる。このように、親プロセスからforkシステムコール1309を使用して子プロセスを生成した場合、OS106は、親プロセスに割り当てられたVNAS113のIDを付与する。
一方、本実施の形態で用意したvnas_startシステムコール1310を用いて親プロセスから子プロセスを生成する場合には、子プロセスに割り当てるVNAS113の識別番号を指定することができる。例えば、VNAS1のIDが割り当てられたプロセス1301がvnas_startシステムコール1310を呼び出して、VNAS113のIDを指定すると、指定したID(VNAS2)が割り当てられた新たなプロセス1305が生成される。このとき、コピー元となるプロセス1301が親プロセス、新しく生成されたプロセス1305は子プロセスと呼ばれる。
その後は、上述したプロセス生成と同様に、プロセス1305がforkシステムコール1309でプロセス1306を生成し、プロセス1306がforkシステムコール1309でプロセス1307、1308を生成する。
プロセス群1301〜1308は、同じVNAS113のIDをもつプロセス群にグループ分けされる。こうしてグループ分けされたプロセスグループが113A〜113Cに該当する。そして、例えば、VNAS1に属するプロセス1303とVNAS2に属するプロセス1307が同じサーバアプリケーション107Aであり、VNAS1に属するプロセス1304とVNAS2に属するプロセス1308が同じサーバアプリケーション107Bに対応する。
本実施の形態では、OS106のプロセス生成方法としてforkシステムコール1309を例示したが、プロセス生成用のAPI(Application Programming Interface)であれば、どのようなAPIを用いても良い。また、親プロセスが所属するVNAS113のIDとは異なるIDを付与する際にvnas_startシステムコール1310を用いたが、親プロセスが所属するVNAS113のIDとは異なるIDを付与して子プロセスが生成されればよく、このシステムコール1310に限ることはない。
(4)ANYアドレス管理テーブル
図5は、ANYアドレス管理テーブル110の説明図である。
ANYアドレス管理テーブル110は、VNAS113とIPアドレスとの対応を管理するテーブルである。ANYアドレス管理テーブル110は、「IPアドレス」欄1100、「VNAS−ID」欄1101及び「ネットワークインタフェース」欄1102から構成される。
各欄1100、1101、1102に登録される情報をANYアドレス管理情報INFO1〜INFO4と呼ぶ。
例えば、図5の例では、VNAS1はIP1とIP2が使用可能で、VNAS2はIP3が使用可能であることを示している。また、eth1にはIP1が設定されており、同様にeth2にはIP2、eth3にはIP3が設定されていることを示している。
なお、ネットワークインタフェース1102に記録するインタフェースは、物理的なインタフェースに限定しない。ネットワークインタフェース1102に記録するインタフェースは、OS106内に作成された仮想インタフェースであっても良い。具体的には、複数の物理インタフェースを束ね(bonding)一つにしたインタフェースや、VLAN(Virtual LAN)の識別番号によって複製されたインタフェースや、同じ物理/仮想インタフェースに異なるIPアドレスをつける(alias)ためにソフトウエア的に複製されたインタフェース、であってもよい。
また、本実施の形態では、ANYアドレス管理テーブル110の形式でANYアドレス管理情報を保持しているが、テーブル構造ではなくリスト構造となっていても良い。具体的には、ANYアドレス管理情報INFOを一つのデータ構造として、このデータ構造が複数繋がっているリスト構造となっていても良い。また、VLANの識別番号ごとに複数のテーブル構造や複数のリスト構造となっても良い。
(5)ソケット管理テーブル
図6は、ソケット管理テーブル111の説明図である。
ソケット管理テーブル111は、サーバアプリケーション107がパケット1200を待ち受けるときの送受信口を管理するテーブルであり、ソケットと、送信先ポート番号(第2の識別情報)と、VNAS113と、の対応関係を管理するテーブルである。ここで、ソケットとは、IPアドレスと送信先ポート番号との組で構成されたエンドポイントであって、サーバアプリケーション107ごとに設けられ、サーバアプリケーション107とクライアント101とのネットワーク通信路の端点(送受信口)をいう。
またソケット管理テーブル111は、ポートテーブル500と、このポートテーブル500内にエントリされた送信先ポート番号に対応づけられたソケットテーブル502とから構成される。
(5−1)ポートテーブル
ポートテーブル500は、サーバアプリケーション107が提供するサービスの種類を特定するために付与される送信先ポート番号を管理するテーブルであり、「送信先ポート番号」欄501から構成される。例えば、複数のサーバアプリケーション107のうち、同じポート番号を付与されたサーバアプリケーション107は、同一のサービスを提供する同一のサーバアプリケーション107である。
具体的には、ウェブサービスを提供するサーバアプリケーション107にはポート番号80番が付与され、CIFSサービスを提供するサーバアプリケーション107にはポート番号3020番が付与され、NFSサービスを提供するサーバアプリケーション107にはポート番号2049番が付与される。
このように、サーバアプリケーション107が提供するサービスの種類応じて使用するポート番号が決められている。このため、クライアント101は、送信先ポート番号を指定した(サービスの種類を指定した)リクエストをサーバ計算機100に送信する。
(5−2)ソケットテーブル
ソケットテーブル502は、ポート番号ごとに設けられるテーブルであり、同一のポート番号のソケットを管理するテーブルである。
ソケットテーブル502は、パケット1200を受信できるIPアドレスを示す「受信アドレス」欄503、ソケットを生成したプロセスの識別番号を記録する「PID」欄504及びVNAS113の識別番号を登録する「VNAS−ID」欄505から主に構成される。
「VNAS−ID」欄505には、プロセス管理テーブル109の「VNAS−ID」欄1091に登録される識別番号と同じ識別番号が登録される。
なお、その他の欄は、ソケットが使用するリソース等の管理情報が格納されている。また、図6に示すソケットテーブル502は、ポート番号ごとに設けられるため、502A、502B及び502Cとそれぞれ区別をしているが、説明する上で、特に区別をしない場合には単に502と記載する。各欄503、504、505の記載についても、同様である。
各ソケットは、「受信アドレス」欄503に登録されているIPアドレス宛のパケット1200しか受け取ることができない。しかし、ANYアドレスは、例外として、全ての宛先のパケット1200を受信可能なことを示している。通常のサーバアプリケーション107は、ANYアドレスをソケットに設定することで、サーバ計算機100内の全てのIPアドレス宛てのリクエスト(パケット1200)を受信可能とする実装となっている。
従来のサーバ計算機では、同一のポート番号に対応するソケットテーブルに、ANYアドレスを指定したソケットを複数保持することはできないため、同一のサーバアプリケーション(同じポート番号を使用するサーバアプリケーション)を複数実行することはできなかった。
本実施の形態のサーバ計算機100においては、ANYアドレスを指定したソケットを複数保持することが許可されるので、異なるVNASに属する同一のサーバアプリケーション107を複数実行することを可能としている。
このため、同一のポート番号ごとに設けられるソケットテーブル502にANYアドレスを指定したソケットが複数登録される。
ソケットテーブル502は、ANYアドレスを受信アドレスとする複数のソケットのうち、どのソケットのサーバアプリケーション107に対して、クライアント101からのパケット1200を配信するか、を決定するために用いる。
(6)ルーティングテーブル
図7は、ルーティングテーブル112の説明図である。
ルーティングテーブル112は、サーバ計算機100がクライアント101へパケット1200を送信する際に使用できるネットワークインタフェース103を管理するためのテーブルである。ルーティングテーブル112は、LAN102の識別番号を意味する「ネットワーク識別番号」欄1120と「ネットワークインタフェース」欄1121とから構成される。例えば、図7の例では、サーバ計算機100が「192.168.10.0」のLAN102上にあるクライアント101へパケット1200を送信する場合には「eth1」のネットワークインタフェース103を使用するように設定されている。なお、テーブル中に該当するネットワーク識別番号が無かった場合には「default」の「eth0」のインタフェース103を使用する。
(7)パケットの構成
図8は、サーバ計算機100内のサーバアプリケーション107とクライアント101の通信に用いるIPv4のパケット形式図である。
パケット1200の先頭には必ずヘッダが付加され、ヘッダにより経路選択ができるようになっている。本実施の形態において、クライアント101からサーバ計算機100へパケット1200を送信する場合、具体的なパケット1200の領域のうち、送信元アドレス領域1201には、送信元であるクライアント101のIPアドレスが格納される。また、送信先アドレス領域1202には、送信先であるサーバ計算機100のIPアドレスが格納される。逆にサーバ計算機100からクライアント101へパケットを返信する場合には、サーバ計算機とクライアント計算機のIPアドレスの格納位置が入れ替わることになる。なお、送信元・送信先がサーバ計算機100の場合には、サーバ計算機100のIPアドレスが送信元・送信先アドレス領域1201,1202に格納される。そして、データ領域1203には、IPで通信を行うデータが格納される。本実施の形態のデータ領域1203には、TCP、UDPなどの上位プロトコルのパケットが格納されている。
図9は、IPv4パケットのデータ領域1203に格納されているデータの一例として上位プロトコルであるTCPのネットワークパケットのデータ形式を示す。本実施の形態において、クライアント101からサーバ計算機100へパケット1200を送信する場合、具体的なパケット1200の領域のうち、送信元ポート番号領域1204には、送信元であるクライアント101のポート番号が格納される。また、送信先ポート番号領域1205には、送信先であるサーバ計算機100のポート番号が格納される。逆にサーバ計算機100からクライアント101へパケットを返信する場合には、サーバ計算機100とクライアント計算機101のポート番号の格納位置が入れ替わることになる。
本実施の形態では、ネットワーク通信のプロトコルとしてIPv4パケット1200を使用しているが、必ずしもIPv4パケット1200である必要はなく、IPv6やそれに類似したプロトコル仕様のパケットでも良い。また、実施の形態ではIPv4の上位プロトコルとしてTCPを使用しているが、送信先サービスの種類を区別するための情報(送信先ポート番号1202)があればUDPなど他のプロトコルでも良い。
(8)パケット振分け処理
それでは上述した各種テーブルを用いて、サーバ計算機100がクライアント101からのパケット1200を各ソケットへ振り分けるパケット振分け処理について説明する。パケット振分け処理は、CPU105がパケット受信処理部201の中のパケット振分け処理部202に基づいて実行する。
具体的には、図10及び図11に示すように、クライアント101からのパケット1200がサーバ計算機100に到着した場合に、CPU105がパケット振分け処理を開始する(S0)。
まずCPU105は、パケット1200の送信先IPアドレス1202がループバックアドレスか否かを確認する(S1)。ループバックアドレスとは、サーバ計算機100内のプロセスが、同じサーバ計算機100内のプロセス(サーバアプリケーション107)と通信するために指定する特殊なIPアドレスをいう。
パケット1200の送信先IPアドレス1202がループバックアドレスである場合には(S1:YES)、CPU105はパケット1200の送信元であるプロセスが属するVNAS113の識別番号を振分け先のVNAS113の識別番号として取得する(S2)。送信先IPアドレス1202がループバックアドレスであるため、CPU105は、パケット1200の送信先IPアドレス1202をキーとして、どのVNAS113宛の通信かを特定することはできない。そのため、CPU105は、パケット送信元のプロセスと同じVNAS113の識別番号をもつソケットに振り分ける。
一方、パケット1200の送信先IPアドレス1202がループバックアドレスではない場合には(S1:NO)、CPU105はパケット1200の送信先IPアドレス1202をキーとして、ANYアドレス管理テーブル110を参照して、送信先IPアドレス1202と対応付けられるVNAS113の識別番号を振分け先のVNAS113の識別番号として取得する(S3)。
振分け先のVNAS113の識別番号が決定すると、CPU105はパケット1200の送信先ポート番号1205をキーとして、ポートテーブル500を参照して、送信先ポート番号1205を検索する。そしてCPU105は、送信先ポート番号1205を検索すると、当該ポート番号に対応付けられたソケットテーブル502を取得する(S4)。
CPU105は、ソケットテーブル502内に登録された登録順にソケット情報を取り出すと(S5)、ソケットの受信アドレスがANYアドレスとして登録されているか否かを判断する(S6)。
CPU105は、ソケットの受信アドレスがANYアドレスとして登録されていると判断すると(S6:YES)、引き続き、ソケットテーブル502内のVNAS113の識別番号とパケットの振分け先VNAS113の識別番号とが等しいか否かを判断する(S7)。
CPU105が、等しくないと判断すると(S7:NO)、再びソケットテーブル502内に登録された次のソケット情報を取り出して(S5)、ステップS6の処理を実行する。
CPU105が、等しいと判断すると(S7:YES)、等しいと判断されたソケットにパケット1200を配信し(S9)、パケット振分け処理を終了する(S10)。
一方、ステップS6において、CPU105は、ソケットの受信アドレスがANYアドレスとして登録されていないと判断すると(S6:NO)、ソケットの受信アドレスとパケット1200の送信先IPアドレス1202とが等しいか否かを判断する(S8)。
そしてCPU105が、等しくないと判断すると(S8:NO)、再びソケットテーブル502内に登録された次のソケット情報を取り出して(S5)、ステップS6の処理を実行する。
CPU105が、等しいと判断すると(S8:YES)、等しいと判断されたソケットにパケット1200を配信し(S9)、パケット振分け処理を終了する(S10)。
以上のフローチャートによって、クライアント101またはサーバ計算機100内のプロセスから受信したパケット1200を送信先IPアドレス1202又はVNAS113の識別番号に基づいて、特定のVNAS113の識別番号を持つサーバアプリケーション107に振分けることが可能となる。
(9)送信元アドレス設定処理
それでは次に、クライアント101またはサーバ計算機100内からのリクエストを受信したプロセス(サーバアプリケーション107)が返信する際に設定する、送信元アドレス設定処理について説明する。送信元アドレス設定処理は、CPU105が送信元アドレス設定処理部204に基づいて設定する。
図12に示すように、CPU105が、クライアント101またはサーバ計算機100内からのリクエストに対して、振り分けられたプロセス(サーバアプリケーション107)が返信する際に送信元アドレス設定処理を開始する(S20)。
CPU105は、パケット1200の送信元プロセス(サーバアプリケーション107)のVNAS113の識別番号を、プロセス管理テーブル109から取得する(S21)。
次にCPU105は、ルーティングテーブル112を参照し、クライアント101またはサーバ計算機100内からのリクエストに対して返信するパケット1200に使用するネットワークインタフェース103の情報を取得する(S22)。
CPU105は、ANYアドレス管理テーブル110からANYアドレス管理情報INFOを取得する(S23)。
そしてCPU105は、ステップS21で取得したVNAS113の識別番号とステップS22で取得したネットワークインタフェース103が、ANYアドレス管理情報INFOのVNAS113の識別番号とネットワークインタフェース103に等しいか否かを判断する(S24)。
CPU105は、等しくないと判断すると(S24:NO)再びステップS23に戻り、次のANYアドレス管理情報INFOを取得してステップS24の処理を実行する。
一方、CPU105は、等しいと判断すると(S24:YES)、ANYアドレス管理情報INFOのIPアドレスを送信するパケット1200の送信元アドレスに設定して(S25)、送信元アドレス設定処理を終了する(S26)。
以上のフローチャートによって、CPU105は、パケット1200の送信元IPアドレス1201を、送信元サーバアプリケーション107が属するVNAS113の識別番号に基づいて設定することができる。
(10)インタフェース有効化処理
次に、ネットワークインタフェース103にIPアドレスを付与して使用可能な状態にするインタフェース有効化処理について説明する。インタフェース有効化処理は、CPU105がインタフェース有効化処理部206に基づいて実行する。
図13に示すように、CPU105は、ネットワークインタフェース設定プログラム114のプロセスが生成されてIPアドレスの設定が要求された場合に、インタフェース有効化処理を開始する(S30)。
CPU105は、ネットワークインタフェース103に付与する予定のIPアドレスがANYアドレス管理テーブル110に登録済か否かを判断する(S31)。
未登録の場合には(S31:NO)、CPU105はネットワークインタフェース103にIPアドレスを付与して、ネットワークインタフェース103を使用可能な状態にする(S32)。
次に、CPU105は、インタフェース有効化処理を要求したプロセスが属するVNAS113の識別番号をプロセス管理テーブル109から取得する(S33)。ここで、インタフェース有効化処理を要求したプロセスとは、インタフェース設定プログラム114のプロセスをいう。
CPU105は、設定したIPアドレスと、インタフェース有効化処理を要求したプロセスが属するVNAS113の識別番号と、IPアドレスを付与したネットワークインタフェース103と、の組を新たなANYアドレス管理情報INFOとしてANYアドレス管理テーブル110に登録すると(S34)インタフェース有効化処理を終了する(S35)。
なお、ステップS31において、既に登録済の場合には(S31:YES)、CPU105は、そのままインタフェース有効化処理を終了する(S35)。
以上のフローチャートによって、ネットワークインタフェース103が有効化され使用可能な状態になる。同時に、有効化処理を要求したプロセスと同じVNAS113に属するプロセス群は、ネットワークインタフェース103に設定したIPアドレスの使用が可能となる。
(11)インタフェース無効化処理
次に、同じVNAS113に属する全てのプロセス群を停止させる場合に、ネットワークインタフェース103に付与されるIPアドレスを削除して使用不可能な状態にするインタフェース無効化処理について説明する。インタフェース無効化処理は、CPU105がインタフェース無効化処理部207に基づいて実行する。
図14に示すように、CPU105は、ネットワークインタフェース設定プログラム114のプロセスが生成されてIPアドレスの削除を要求された場合に、インタフェース無効化処理を開始する(S40)。
まず、CPU105は、インタフェース無効化処理を要求したプロセスが属するVNAS113の識別番号をプロセス管理テーブル109から取得する(S41)。CPU105は、無効化の対象となるネットワークインタフェース103に付与されたIPアドレスと、VNAS113の識別番号と、の組はANYアドレス管理テーブル110に登録済か否かを判断する(S42)。
登録済の場合には(S42:YES)、CPU105はネットワークインタフェース103に付与されたIPアドレスを取り外して、ネットワークインタフェース103を使用不可能な無効化の状態にする(S43)。
そしてCPU105は、無効化したネットワークインタフェースのIPアドレスと、VNAS113の識別番号と、IPアドレスを付与したネットワークインタフェース103と、の組をANYアドレス管理テーブル110から削除すると(S44)インタフェース無効化処理を終了する(S45)。
なお、ステップS42において、未登録の場合には(S42:NO)、CPU105は、そのままインタフェース無効化処理を終了する(S45)。
以上のフローチャートによって、ネットワークインタフェース103が無効化され使用不可能な状態になる。同時に、無効化処理を要求したプロセスと同じVNAS113に属するプロセス群は、ネットワークインタフェース103に設定していたIPアドレスの使用が不可能となる。
する。
(12)その他のANYアドレス管理テーブル
図15に示すように、ANYアドレス管理テーブル1001A〜1001Cを、VNAS113ごとに作成してもよい。
この場合のANYアドレス管理テーブル1001A〜1001Cは、「IPアドレス欄」1002A〜1002C、「ネットワークインタフェース」欄1003A〜1003Cとから構成される。各欄1002、1003は、図5で説明した各欄1100、1102と同様の内容である。
また、ポートごとに作成されるソケット管理テーブル502´の項目欄は、「受信アドレス」欄503と「PID」欄504から主に構成されることになる。このように、その他のANYアドレス管理テーブル1001では、パケット1200を受信できるIPアドレスをテーブルとして保持し、このIPアドレスとVNAS113とを対応付けてもよい。
(13)本実施の形態の効果
本実施の形態によれば、一台のサーバ計算機内にある単一のOS上でANYアドレスを用いてリクエストを待ち受ける同一サーバアプリケーションを複数同時に動かすことができる。
また、一台のサーバ計算機がクライアントからのリクエストを判別して、同一のサーバアプリケーションが複数あっても確実にリクエストを振り分けることができる。
複数のサーバ計算機上で運用していた同一サービスを、既存のサーバアプリケーション自体を改変することなく1台のサーバ計算機上に集約する、サーバコンソリデーションとして利用することができる。
本発明は、1又は複数のサーバ計算機を有する計算機システムや、その他の形態の計算機システムに広く適用することができる。
本実施の形態における計算機システムの構成を示すブロック図である。 ネットワーク処理部の内部構成を示すブロック図である。 プロセス管理テーブルの説明図である。 プロセスの生成とVNASの識別番号との対応を示す概念図である。 ANYアドレス管理テーブルの説明図である。 ソケット管理テーブルの説明図である。 ルーティングテーブルの説明図である。 パケットの内部構成を示す説明図である。 パケットのデータ領域の内部構成を示す説明図である。 パケット振分け処理のフローチャートである。 パケット振分け処理のフローチャートである。 送信元アドレス設定処理のフローチャートである。 ネットワークインタフェース有効化処理のフローチャートである。 ネットワークインタフェース無効化処理のフローチャートである。 ANYアドレス管理テーブルの別の形態を示す説明図である。
符号の説明
1……計算機システム、100……サーバ計算機、101……クライアント、102……LAN、103……ネットワークインタフェース、104……メモリ、105……CPU、106……オペレーティングシステム(OS)、107……サーバアプリケーション、108……ネットワーク処理部、109……プロセス管理テーブル、110……ANYアドレス管理テーブル、111……ソケット管理テーブル、112……ルーティングテーブル、201……パケット受信処理部、202……パケット振分け処理部、203……パケット送信処理部、204……送信元アドレス設定処理部、205……ネットワークインタフェース管理部、206……インタフェース有効化処理部、207……インタフェース無効化処理部。

Claims (16)

  1. クライアント計算機とネットワークを介して接続されるサーバ計算機であって、
    複数のポートと、
    サービスを提供する複数のサーバアプリケーションが属する複数のアプリケーショングループと、
    前記アプリケーショングループの識別情報と、前記アプリケーショングループに属するサーバアプリケーションが使用するIPアドレスを示す第1の識別情報とを対応付ける第1の管理情報と、
    前記複数のポートを識別する第2の識別情報と、受信アドレス、前記サーバアプリケーションの識別情報及び前記アプリケーショングループの識別情報とを対応付ける第2の管理情報と、
    前記複数のポートの何れかによって受信される通信パケットに含まれる前記第1の識別情報と前記第1の管理情報とから前記通信パケットの振分け先であるアプリケーショングループを取得し、前記通信パケットに含まれる前記第2の識別情報と前記第2の管理情報とから複数の前記第2の識別情報と前記受信アドレスとの組を示すエンドポイントを取得し、前記取得された複数のエンドポイントのいずれかと対応し且つ前記取得したアプリケーショングループに属するサーバアプリケーションに前記通信パケットを振り分けるパケット振分け処理部とを有する
    ことを特徴とするサーバ計算機。
  2. 前記パケット振分け処理部は、
    前記通信パケットに含まれる前記第1の識別情報がループバックアドレスである場合には、前記第1の識別情報と前記第1の管理情報とから前記通信パケットの振分け先であるアプリケーショングループを取得する代わりに、前記通信パケットを送信したアプリケーショングループを取得する
    ことを特徴とする請求項1記載のサーバ計算機。
  3. 前記パケット振分け処理部は、
    前記通信パケットに含まれる前記第1の識別情報、前記第2の識別情報及び前記第2の管理情報から前記エンドポイントが受信できるIPアドレスか否かを判断し、当該エンドポイントに対応付けられる前記サーバアプリケーションに前記通信パケットを振り分ける
    ことを特徴とする請求項1記載のサーバ計算機。
  4. 前記受信アドレスは、ANYアドレスである
    ことを特徴とする請求項1記載のサーバ計算機。
  5. 前記第1の管理情報は、
    前記第1の識別情報と付与されたネットワークインタフェースの情報とをさらに対応付ける
    ことを特徴とする請求項1記載のサーバ計算機。
  6. 前記通信パケットを送信するための送信元のアプリケーショングループと前記ネットワークインタフェースとが前記第1の管理情報として管理されている場合には、前記第1の管理情報として管理されている前記第1の識別情報を前記通信パケットの送信元のアドレスとして設定する
    ことを特徴とする請求項5記載のサーバ計算機。
  7. 設定対象の第1の識別情報が前記第1の管理情報として管理されていない場合には、前記設定対象の第1の識別情報と、当該第1の識別情報が付与されたネットワークインタフェースと、前記ネットワークインタフェースの使用を要求した送信元のサーバアプリケーションが属するアプリケーショングループと、を登録するネットワークインタフェース有効化処理部をさらに有する
    ことを特徴とする請求項5記載のサーバ計算機。
  8. 削除対象の第1の識別情報が前記第1の管理情報として管理されている場合には、前記削除対象の第1の識別情報と、当該第1の識別情報が付与されたネットワークインタフェースと、前記ネットワークインタフェースの使用を要求した送信元のサーバアプリケーションが属するアプリケーショングループと、を削除するネットワークインタフェース無効化処理部をさらに有する
    ことを特徴とする請求項5記載のサーバ計算機。
  9. クライアント計算機とネットワークを介して接続されるサーバ計算機のネットワーク処理方法であって、
    サービスを提供する複数のサーバアプリケーションが属する複数のアプリケーショングループの識別情報と、前記アプリケーショングループに属するサーバアプリケーションが使用できるIPアドレスを示す第1の識別情報とを第1の管理情報として対応付ける第1の対応付けステップと、
    複数のポートを識別する第2の識別情報と、受信アドレス、前記サーバアプリケーションの識別情報及び前記アプリケーショングループの識別情報とを第2の管理情報として対応付ける第2の対応付けステップと、
    前記複数のポートのいずれかによって受信される通信パケットに含まれる前記第1の識別情報と前記第1の管理情報とから前記通信パケットの振分け先であるアプリケーショングループを取得し、前記通信パケットに含まれる前記第2の識別情報と前記第2の管理情報とから複数の前記第2の識別情報と前記受信アドレスとの組を示すエンドポイントを取得し、前記取得された複数のエンドポイントのいずれかと対応し且つ前記取得したアプリケーショングループに属するサーバアプリケーションに前記通信パケットを振り分けるパケット振分け処理ステップとを有する
    ことを特徴とするネットワーク処理方法。
  10. 前記パケット振分け処理ステップでは、
    前記通信パケットに含まれる前記第1の識別情報がループバックアドレスである場合には、前記第1の識別情報と前記第1の管理情報とから前記通信パケットの振分け先であるアプリケーショングループを取得する代わりに、前記通信パケットを送信したアプリケーショングループを取得する
    ことを特徴とする請求項9記載のネットワーク処理方法。
  11. 前記パケット振分け処理ステップでは、
    前記通信パケットに含まれる前記第1の識別情報、前記第2の識別情報及び前記第2の管理情報から前記エンドポイントが受信できるIPアドレスか否かを判断し、当該エンドポイントに対応付けられる前記サーバアプリケーションに前記通信パケットを振り分ける
    ことを特徴とする請求項9記載のネットワーク処理方法。
  12. 前記受信アドレスは、ANYアドレスである
    ことを特徴とする請求項9記載のネットワーク処理方法。
  13. 前記第1の管理情報では、
    前記第1の識別情報と付与されたネットワークインタフェースの情報とをさらに対応付ける
    ことを特徴とする請求項9記載のネットワーク処理方法。
  14. 前記通信パケットを送信するための送信元のアプリケーショングループと前記ネットワークインタフェースとが前記第1の管理情報として管理されている場合には、前記第1の管理情報として管理されている前記第1の識別情報を前記通信パケットの送信元のアドレスとして設定する
    ことを特徴とする請求項13記載のネットワーク処理方法。
  15. 設定対象の第1の識別情報が前記第1の管理情報として管理されていない場合には、前記設定対象の第1の識別情報と、当該第1の識別情報が付与されたネットワークインタフェースと、前記ネットワークインタフェースの使用を要求した送信元のサーバアプリケーションが属するアプリケーショングループと、を登録するネットワークインタフェース有効化処理ステップをさらに有する
    ことを特徴とする請求項13記載のネットワーク処理方法。
  16. 削除対象の第1の識別情報が前記第1の管理情報として管理されている場合には、前記削除対象の第1の識別情報と、当該第1の識別情報が付与されたネットワークインタフェースと、前記ネットワークインタフェースの使用を要求した送信元のサーバアプリケーションが属するアプリケーショングループと、を削除するネットワークインタフェース無効化処理ステップをさらに有する
    ことを特徴とする請求項13記載のネットワーク処理方法。
JP2008018205A 2008-01-29 2008-01-29 サーバ計算機及びネットワーク処理方法 Expired - Fee Related JP5222573B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008018205A JP5222573B2 (ja) 2008-01-29 2008-01-29 サーバ計算機及びネットワーク処理方法
US12/050,282 US8661128B2 (en) 2008-01-29 2008-03-18 Server machine and network processing method
US14/049,254 US9077718B2 (en) 2008-01-29 2013-10-09 Server machine and network processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008018205A JP5222573B2 (ja) 2008-01-29 2008-01-29 サーバ計算機及びネットワーク処理方法

Publications (2)

Publication Number Publication Date
JP2009181231A JP2009181231A (ja) 2009-08-13
JP5222573B2 true JP5222573B2 (ja) 2013-06-26

Family

ID=40899159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008018205A Expired - Fee Related JP5222573B2 (ja) 2008-01-29 2008-01-29 サーバ計算機及びネットワーク処理方法

Country Status (2)

Country Link
US (2) US8661128B2 (ja)
JP (1) JP5222573B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5222573B2 (ja) * 2008-01-29 2013-06-26 株式会社日立製作所 サーバ計算機及びネットワーク処理方法
JP5300074B2 (ja) * 2009-09-02 2013-09-25 Necカシオモバイルコミュニケーションズ株式会社 端末装置及びプログラム
JP5488094B2 (ja) * 2010-03-19 2014-05-14 富士通株式会社 通信装置、ネットワークアクセス方法およびコンピュータプログラム
US8904204B2 (en) * 2012-06-29 2014-12-02 International Business Machines Corporation Managing computing resources through aggregated core management
JP6591143B2 (ja) * 2014-03-31 2019-10-16 株式会社東芝 通信装置、通信方法、通信システムおよびプログラム
JP6533085B2 (ja) * 2015-03-31 2019-06-19 Line株式会社 端末、情報処理方法、及びプログラム
US10708222B1 (en) * 2015-09-30 2020-07-07 EMC IP Holding Company LLC IPv6 alias
US10929891B2 (en) * 2017-09-26 2021-02-23 Verzon Patent and Licensing Inc. Content sponsorship based on internet protocol (IP) addresses

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247057B1 (en) * 1998-10-22 2001-06-12 Microsoft Corporation Network server supporting multiple instance of services to operate concurrently by having endpoint mapping subsystem for mapping virtual network names to virtual endpoint IDs
WO2001026267A1 (en) * 1999-10-05 2001-04-12 Ejasent Inc. Virtual port multiplexing
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
US6996631B1 (en) * 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
US20020035639A1 (en) * 2000-09-08 2002-03-21 Wei Xu Systems and methods for a packet director
US6661799B1 (en) * 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
US20020120660A1 (en) * 2001-02-28 2002-08-29 Hay Russell C. Method and apparatus for associating virtual server identifiers with processes
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP2003162420A (ja) * 2001-11-22 2003-06-06 Kagoya Gas Setsubi:Kk サーバ装置及びそのプログラム
US20040022258A1 (en) * 2002-07-30 2004-02-05 Docomo Communications Laboratories Usa, Inc. System for providing access control platform service for private networks
JP4567293B2 (ja) 2003-01-21 2010-10-20 株式会社日立製作所 ファイルサーバ
EP1755276A1 (en) * 2004-06-07 2007-02-21 Fujitsu Limited Communication control method
US7551614B2 (en) * 2004-12-14 2009-06-23 Hewlett-Packard Development Company, L.P. Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
JP4611062B2 (ja) 2005-03-09 2011-01-12 株式会社日立製作所 計算機システムおよび計算機システムにおけるデータのバックアップ方法
JP2006262193A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 制御装置、パケット転送方法およびパケット処理装置
US20080025297A1 (en) * 2006-07-28 2008-01-31 International Business Machines Corporation Facilitating use of generic addresses by network applications of virtual servers
JP4957126B2 (ja) * 2006-08-31 2012-06-20 カシオ計算機株式会社 クライアント装置およびプログラム
JP2008077288A (ja) * 2006-09-20 2008-04-03 Hitachi Ltd データバックアップ方法及び計算機システム
JP4359609B2 (ja) * 2006-11-15 2009-11-04 株式会社日立製作所 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
JP4933303B2 (ja) * 2007-02-23 2012-05-16 株式会社日立製作所 ストレージシステム並びに情報処理装置及び接続方法
JP5222573B2 (ja) * 2008-01-29 2013-06-26 株式会社日立製作所 サーバ計算機及びネットワーク処理方法

Also Published As

Publication number Publication date
US20140040356A1 (en) 2014-02-06
US9077718B2 (en) 2015-07-07
US20090190590A1 (en) 2009-07-30
US8661128B2 (en) 2014-02-25
JP2009181231A (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
JP5222573B2 (ja) サーバ計算機及びネットワーク処理方法
JP6876836B2 (ja) マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法
JP5167225B2 (ja) 1つのファイラー上の複数の仮想ファイラーが重複するネットワークアドレスを有する複数のアドレス空間に参加することを可能にする技術
US7587471B2 (en) System and method for virtualizing network storages into a single file system view
CN110582997B (zh) 协调提供商网络环境中的区域间操作
CN107566150B (zh) 处理云资源的方法和物理节点
CN105283838B (zh) 云计算环境中的分布式锁管理
US9986033B2 (en) Facilitating access to remote cloud services
EP3490203B1 (en) Method and system for implementing a vxlan control plane
US7725588B2 (en) Switching method and switch device
US7917598B1 (en) System and method for administering a filer having a plurality of virtual filers
JP4972670B2 (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
CN113746887A (zh) 一种跨集群数据请求处理方法、设备及存储介质
CN119895836A (zh) 虚拟私有标签云的端点
US7716319B2 (en) Computer system and method for managing log information
JP2020515987A (ja) 分離されたネットワークスタックにわたるインテリジェントなスレッド管理
JP2010092475A (ja) ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ
CN112910685B (zh) 实现对容器网络统一管理的方法及装置
CN116132542B (zh) 容器网络管理方法、容器网络插件以及相关设备
US20190123956A1 (en) Server network interface level failover
US7735095B2 (en) Network device drivers using a communication transport
CN115623081B (zh) 数据下载方法、上传方法及分布式存储系统
CN109120556A (zh) 一种云主机访问对象存储服务器的方法及系统
JP5300650B2 (ja) HttpServiceを用いたサービス登録装置、コンテンツ登録装置、サービス登録方法、コンテンツ登録方法、プログラム及び記録媒体
JPH08307451A (ja) データ伝送システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5222573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees