(57)【要約】  負荷分散装置（２００）は、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置（３００）の識別子を対応付ける対応表ファイルを記憶する。負荷分散装置は、クライアント装置（１１０）から処理要求パケットを受信し、処理要求パケットに含まれる処理命令と同じ処理命令に対応付けられたサーバ装置の識別子を対応表ファイルから選択する。そして、負荷分散装置は、処理命令を含んだ振り分けパケット、を対応表ファイルから選択した識別子で識別されるサーバ装置に送信する。
2016031043.tif 000002
【特許請求の範囲】
【請求項１】
データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応表管理部と、
前記対応表管理部によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け部と
を備えることを特徴とする処理振り分け装置。
【請求項２】
前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれないために前記対応表管理部によってサーバ識別子が選択されない場合、複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求する
ことを特徴とする請求項１に記載の処理振り分け装置。
【請求項３】
前記処理振り分け部は、前記第一のデータ処理の要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付け、
前記対応表管理部は、前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する
ことを特徴とする請求項１または請求項２に記載の処理振り分け装置。
【請求項４】
前記対応表管理部は、前記処理振り分け部によって複数のサーバ識別子が受け付けられた場合、前記第一の処理命令に前記複数のサーバ識別子を対応付けて前記対応表ファイルに登録する
ことを特徴とする請求項３に記載の処理振り分け装置。
【請求項５】
前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が複数あるために前記対応表管理部によって複数のサーバ識別子が選択された場合、前記複数のサーバ識別子のいずれかのサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する
ことを特徴とする請求項１から請求項４のいずれかに記載の処理振り分け装置。
【請求項６】
対応表ファイルを使用する処理振り分けプログラムであって、
前記対応表ファイルは、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子を対応付けたファイルであり、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付処理と、
前記処理命令受付処理によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応サーバ選択処理と、
前記対応サーバ選択処理によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け処理と
をコンピュータに実行させるための処理振り分けプログラム。
【請求項７】
処理振り分け装置と、複数のサーバ装置とを備え、
前記処理振り分け装置は、  データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれない場合、前記複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求し、要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付ける処理振り分け部と、
前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する対応サーバ登録部とを備え、
前記複数のサーバ装置のそれぞれは、
コンテンツデータを記憶するコンテンツデータ記憶部と、
コンテンツデータを識別するデータ識別子に、コンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けたデータ配置ファイルを記憶するデータ配置ファイル記憶部と、
前記処理振り分け装置から要求された第一のデータ処理を実行する処理実行部と、
前記第一のコンテンツデータが前記コンテンツデータ記憶部に記憶されていない場合、前記第一のコンテンツデータのデータ識別子に対応付けられたサーバ識別子を前記データ配置ファイルから選択し、選択したサーバ識別子で識別されるサーバ装置に前記第一のコンテンツデータへのアクセスを要求するアクセス要求部と、
前記処理実行部によって実行された第一のデータ処理の実行結果と、前記アクセス要求部によって選択されたサーバ識別子と、を前記処理振り分け装置に応答する実行結果応答部とを備える
ことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ装置にデータ処理を振り分ける技術に関するものである。
【背景技術】
【０００２】
クライアント装置とウェブサーバ装置とデータベースサーバ装置とを備える３階層のウェブサーバシステムが存在する。３階層のウェブサーバシステムにおいて、ウェブサーバ装置はフロントエンドサーバとも呼ばれる。また、データベースサーバ装置はバックエンドサーバとも呼ばれる。【０００３】
特許文献１および非特許文献１は、ウェブサーバシステムにロードバランサを設けることによって複数のフロントエンドサーバの負荷を分散する技術を開示している。
ロードバランサは、それぞれのフロントエンドサーバの負荷が均等になるように、複数のデータ処理を複数のフロントエンドサーバに振り分ける。
但し、ロードバランサは、複数のフロントエンドサーバの負荷を分散できるが、複数のバックエンドサーバの負荷を分散することはできない。そのため、ロードバランサは、システム全体において負荷を十分に分散させることはできない。【０００４】
非特許文献２は、複数の記憶装置の負荷を分散する分散ストレージ技術を開示している。
分散ストレージ技術は、複数の記憶装置のそれぞれに分散ストレージ用の記憶領域を確保し、それぞれの分散ストレージ用の記憶領域を集約して仮想的な記憶装置を構築し、仮想的な記憶装置に複数のデータを多重化して記憶するものである。
分散ストレージ技術をウェブサーバシステムに適用した場合、データ処理は、目的のデータが記憶されていないバックエンドサーバに振り分けられる可能性がある。この場合、データ処理が振り分けられたバックエンドサーバは、目的のデータにアクセスするために、目的のデータが記憶されているバックエンドサーバと通信する必要がある。そして、この通信処理がオーバーヘッドになってデータ処理が遅延し、システムのスループットが低下する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１９６１７８号公報
【非特許文献】
【０００６】
【非特許文献１】Ｗｅｎｓｏｎｇ  Ｚｈａｎｇ、  “Ｌｉｎｕｘ  Ｖｉｒｔｕａｌ  Ｓｅｒｖｅｒ  ｆｏｒ  Ｓｃａｌａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅｓ”，  Ｏｔｔａｗａ  Ｌｉｎｕｘ  Ｓｙｍｐｏｓｉｕｍ  ２０００．
【非特許文献２】Ｖｉｊａｙ  Ｂｅｌｌｕｒ、  “ＧｌｕｓｔｅｒＦＳ−Ａｒｃｈｉｔｅｃｔｕｒｅ  ＆  Ｒｏａｄｍａｐ”、  ［ｏｎｌｉｎｅ］、  ［２０１４年８月４日検索］、  インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｇｌｕｓｔｅｒ．ｏｒｇ／ｃｏｍｍｕｎｉｔｙ／ｄｏｃｕｍｅｎｔａｔｉｏｎ／ｉｍａｇｅｓ／８／８０／ＧｌｕｓｔｅｒＦＳ＿Ａｒｃｈｉｔｅｃｔｕｒｅ＿％２６＿Ｒｏａｄｍａｐ−Ｖｉｊａｙ＿Ｂｅｌｌｕｒ−ＬｉｎｕｘＣｏｎ＿ＥＵ＿２０１３．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分けることができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の処理振り分け装置は、
データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応表管理部と、
前記対応表管理部によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け部とを備える。
【発明の効果】
【０００９】
本発明によれば、データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分けることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１における負荷分散システム１００の概要図である。
【図２】実施の形態１における負荷分散装置２００の機能構成図である。
【図３】実施の形態１におけるサーバ装置３００の機能構成図である。
【図４】実施の形態１における負荷分散装置２００の動作を示すフローチャートである。
【図５】実施の形態１における対応表ファイル２９１の一例を示す図である。
【図６】実施の形態１におけるサーバ一覧ファイル２９２の一例を示す図である。
【図７】実施の形態１におけるサーバ装置３００の動作を示すフローチャートである。
【図８】実施の形態１におけるサーバ装置３００の動作を示すフローチャートである。
【図９】実施の形態１におけるデータ配置ファイル３９１の一例を示す図である。
【図１０】実施の形態１における負荷分散装置２００のハードウェア構成図である。
【図１１】実施の形態２におけるクライアントサーバシステム１０１の構成図である。
【図１２】実施の形態２におけるクライアント装置１１０の機能構成図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分ける形態について説明する。
【００１２】
図１は、実施の形態１における負荷分散システム１００の概要図である。
実施の形態１における負荷分散システム１００の概要について、図１に基づいて説明する。
負荷分散システム１００（データ処理システムの一例）は、１つ以上のクライアント装置１１０から発生する複数の処理要求を複数のサーバ装置（３００Ａ〜３００Ｄ）に分散するシステムである。
【００１３】
負荷分散システム１００は、１つ以上のクライアント装置１１０と、複数のサーバ装置（３００Ａ〜３００Ｄ）と、負荷分散装置２００（処理振り分け装置の一例）とを備える。これらの装置はネットワーク１０９を介して通信を行う。
サーバ装置の区別をしない場合、それぞれのサーバ装置をサーバ装置３００と記す。
【００１４】
クライアント装置１１０は、データ処理の実行を要求するコンピュータである。以下、データ処理で使用されるデータをコンテンツデータという。
【００１５】
複数のサーバ装置（３００Ａ〜３００Ｄ）は、データ処理を実行するコンピュータである。
それぞれのサーバ装置に備わる記憶装置（後述する図３のサーバ記憶部３９０）は、複数のコンテンツデータが分散して記憶される分散ストレージ（後述する図３の分散ストレージ領域３９９）を構成する。
複数のコンテンツデータは、複数のサーバ装置に分散して記憶される。また、それぞれのコンテンツデータは、２つ以上のサーバ装置に多重化して記憶される。
図１において、コンテンツデータＡ３８１およびコンテンツデータＢ３８２は、サーバ装置３００Ａとサーバ装置３００Ｃとに多重化して記憶されている。また、コンテンツデータＣ３８３およびコンテンツデータＤ３８４は、サーバ装置３００Ｂとサーバ装置３００Ｄとに多重化して記憶されている。
【００１６】
負荷分散装置２００は、データ処理の実行を要求する複数の処理要求を複数のサーバ装置に分散するコンピュータである。負荷分散装置２００はロードバランサとも呼ばれる。
負荷分散装置２００は、クライアント装置１１０から処理要求を受け取り、いずれかのサーバ装置３００に処理要求を振り分け、そのサーバ装置３００から処理結果を受け取り、処理結果をクライアント装置１１０に応答する。
【００１７】
図１の（１）から（５）に基づいて、負荷分散システム１００の動作の一例について説明する。
（１）クライアント装置１１０は、コンテンツデータＣ３８３を使用するデータ処理Ｃの実行を要求する。
（２）負荷分散装置２００は、データ処理Ｃの実行を要求する処理要求を、いずれかのサーバ装置に振り分ける。このとき、データ処理Ｃで使用されるコンテンツデータＣ３８３はサーバ装置３００Ｂおよびサーバ装置３００Ｄに記憶されているため、処理要求の振り分け先として適切なサーバ装置は、サーバ装置３００Ｂまたはサーバ装置３００Ｄである。
適切なサーバ装置を知っている場合、負荷分散装置２００は、データ処理Ｃの処理要求をサーバ装置３００Ｂまたはサーバ装置３００Ｄに振り分ける。
適切なサーバ装置を知らない場合、負荷分散装置２００は、負荷が軽いサーバ装置にデータ処理Ｃの処理要求を振り分ける。負荷が軽いサーバ装置は従来の負荷分散技術によって特定することができる。
ここで、負荷分散装置２００は、適切なサーバ装置を知らず、データ処理Ｃの処理要求をサーバ装置３００Ａに振り分けたものとする。
（３）サーバ装置３００Ａは、後述するデータ配置ファイル３９１（図３参照）に基づいて、コンテンツデータＣ３８３を記憶するサーバ装置３００Ｂ（またはサーバ装置３００Ｄ）を選択する。そして、サーバ装置３００Ａは、サーバ装置３００Ｂ（またはサーバ装置３００Ｄ）と通信することによってコンテンツデータＣ３８３にアクセスし、データ処理Ｃを実行する。
（４）サーバ装置３００Ａは、データ処理Ｃの実行結果およびアクセス情報を負荷分散装置２００に応答する。このアクセス情報は、データ処理Ｃの処理要求の振り分け先として適切なサーバ装置がサーバ装置３００Ｂ（またはサーバ装置３００Ｄ）であることを示す情報である。
（５）負荷分散装置２００は、データ処理Ｃのアクセス情報を記憶し、データ処理Ｃの実行結果をクライアント装置１１０に応答する。
【００１８】
上記（５）において、データ処理Ｃのアクセス情報は、負荷分散装置２００に記憶される。そのため、負荷分散装置２００は、その後に発生するデータ処理Ｃの処理要求をサーバ装置３００Ｂ（またはサーバ装置３００Ｄ）に振り分けることができる。
データ処理Ｃの処理要求がサーバ装置３００Ｂに振り分けられた場合、上記（３）のようにサーバ装置３００Ａがサーバ装置３００Ｂと通信する必要はない。そのため、サーバ装置間の通信に伴う処理遅延が発生せず、システムのスループットが向上する。
【００１９】
図２は、実施の形態１における負荷分散装置２００の機能構成図である。
実施の形態１における負荷分散装置２００の機能構成について、図２に基づいて説明する。但し、負荷分散装置２００の機能構成は、図２に示す機能構成と同一でなくても構わない。
【００２０】
負荷分散装置２００は、要求受付部２１０（処理命令受付部の一例）と、対応表管理部２２０と、要求振り分け部２３０（処理振り分け部の一例）と、負荷分散記憶部２９０（対応表ファイル記憶部の一例）とを備える。
【００２１】
負荷分散記憶部２９０は、負荷分散装置２００が使用、生成または入出力するデータを記憶する。例えば、負荷分散記憶部２９０は、対応表ファイル２９１およびサーバ一覧ファイル２９２などを記憶する。
対応表ファイル２９１は、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置３００の識別子を対応付ける。対応表ファイル２９１の一例について後述する（図５参照）。
サーバ一覧ファイル２９２は、サーバ装置３００の識別子に、ＩＰアドレスなどの情報を対応付ける。サーバ一覧ファイル２９２の一例について後述する（図６参照）。
【００２２】
要求受付部２１０は、データ処理を指定する処理命令を含んだ処理要求パケットをクライアント装置１１０から受信し、データ処理の実行結果を示す実行結果データを含む処理応答パケットをクライアント装置１１０に送信する。
処理要求パケットはデータ処理の実行を要求するパケットであり、処理応答パケットはデータ処理の実行結果を応答するパケットである。
【００２３】
対応表管理部２２０は、対応表参照部２２１（対応サーバ選択部の一例）と対応表編集部２２２（対応サーバ登録部の一例）とを備えて、対応表ファイル２９１を管理する。
対応表参照部２２１は、処理要求パケットに含まれる処理命令と同じ処理命令に対応付けられたサーバ装置３００の識別子を、対応表ファイル２９１から選択する。
対応表編集部２２２は、処理要求パケットに含まれる処理命令に、後述するアクセス情報データを対応付けて、対応表ファイル２９１に登録する。
【００２４】
要求振り分け部２３０は、対応表参照部２２１によって選択された識別子で識別されるサーバ装置３００に、処理命令を含んだ振り分けパケットを送信する。そして、要求振り分け部２３０は、そのサーバ装置３００からデータ処理の実行結果を含む実行結果パケットを受信する。
振り分けパケットはデータ処理の実行を要求するパケットであり、実行結果パケットはデータ処理の実行結果を応答するパケットである。
【００２５】
図３は、実施の形態１におけるサーバ装置３００の機能構成図である。
実施の形態１におけるサーバ装置３００の機能構成について、図３に基づいて説明する。但し、サーバ装置３００の機能構成は、図３に示す機能構成と同一でなくても構わない。
【００２６】
サーバ装置３００は、ＷＥＢサーバ部３０１と、ＤＢサーバ部３２０と、分散ストレージ管理部３３０（アクセス要求部の一例）と、アクセス情報生成部３４０と、サーバ記憶部３９０（コンテンツデータ記憶部、データ配置ファイル記憶部の一例）とを備える。また、ＷＥＢサーバ部３０１はＷＥＢアプリケーション部３１０を備える。
【００２７】
サーバ記憶部３９０は、サーバ装置３００が使用、生成または入出力するデータを記憶する。
例えば、サーバ記憶部３９０は、データ配置ファイル３９１、サーバ一覧ファイル３９２およびコンテンツデータ群３８０などを記憶する。
データ配置ファイル３９１は、コンテンツデータの識別子に、そのコンテンツデータが記憶されたサーバ装置３００の識別子を対応付ける。データ配置ファイル３９１の一例について後述する（図９参照）。
サーバ一覧ファイル３９２は、サーバ装置３００の識別子に、ＩＰアドレスなどの情報を対応付ける。サーバ一覧ファイル３９２は、負荷分散装置２００（図２参照）のサーバ一覧ファイル２９２と同様のファイルである。
コンテンツデータ群３８０は、１つ以上のコンテンツデータである。コンテンツデータ群３８０は、分散ストレージ用に確保される記憶領域に記憶される。以下、分散ストレージ用に確保される記憶領域を分散ストレージ領域３９９という。
【００２８】
ＷＥＢサーバ部３０１は、サーバ装置３００をＷＥＢサーバとして機能させるためのＷＥＢサーバプログラムを実行する。
ＷＥＢアプリケーション部３１０は、実行要求受付部３１１と、処理実行部３１２と、実行結果応答部３１３とを備える。
実行要求受付部３１１は、負荷分散装置２００から振り分けパケットを受信する。
処理実行部３１２は、振り分けパケットに含まれる処理命令で指定されるデータ処理を実行する。
実行結果応答部３１３は、データ処理の実行結果を示す実行結果データと、アクセス情報生成部３４０によって生成されるアクセス情報データと、を含む実行結果パケットを負荷分散装置２００に送信する。
【００２９】
ＤＢサーバ部３２０は、サーバ装置３００をデータベースサーバ（ＤＢサーバ）として機能させるためのＤＢサーバプログラムを実行する。
分散ストレージ管理部３３０は、分散ストレージ領域３９９に記憶されたコンテンツデータにアクセスする。
アクセスしたいコンテンツデータが分散ストレージ領域３９９に記憶されていない場合、分散ストレージ管理部３３０は、そのコンテンツデータの識別子に対応付けられたサーバ装置３００の識別子をデータ配置ファイル３９１から選択する。そして、分散ストレージ管理部３３０は、選択した識別子で識別されるサーバ装置３００に、コンテンツデータのアクセスを要求する。
他のサーバ装置３００からコンテンツデータのアクセスが要求された場合、分散ストレージ管理部３３０は、分散ストレージ領域３９９に記憶されているコンテンツデータにアクセスする。
【００３０】
アクセス情報生成部３４０は、データ処理で使用されたコンテンツデータを記憶するサーバ装置３００の識別子を含むアクセス情報データを生成する。
【００３１】
図４は、実施の形態１における負荷分散装置２００の動作を示すフローチャートである。
実施の形態１における負荷分散装置２００の動作について、図４に基づいて説明する。但し、負荷分散装置２００の動作は、図４に基づいて説明する動作と同一でなくても構わない。
【００３２】
Ｓ１１０において、クライアント装置１１０は、データ処理の実行を要求する処理要求パケットを負荷分散装置２００に送信する。
そして、負荷分散装置２００の要求受付部２１０は、処理要求パケットを受信する。処理要求パケットは、データ処理を指定する処理命令を含む。
【００３３】
例えば、ＨＴＴＰリクエストのＧＥＴメソッドは処理命令の一例であり、このＨＴＴＰリクエストを含んだＩＰパケットは処理要求パケットの一例である。ＨＴＴＰはＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略称である。また、ＩＰはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略称である。
Ｓ１１０の後、処理はＳ１２０に進む。
【００３４】
Ｓ１２０において、対応表参照部２２１は、処理要求パケットに含まれる処理命令と同じ処理命令に対応付けられたサーバ識別子が対応表ファイル２９１に登録されているか判定する。
該当するサーバ識別子を対応サーバ識別子といい、対応サーバ識別子で識別されるサーバ装置３００を対応サーバという。
【００３５】
例えば、処理要求パケットに含まれる処理命令が“ＧＥＴ  ／ａａａ  ＨＴＴＰ／１．１”というＨＴＴＰリクエストであるものとする。この場合、２つの対応サーバ識別子（サーバＡ、サーバＣ）が、対応表ファイル２９１（図５参照）に登録されている。
また、処理要求パケットに含まれる処理命令が“ＧＥＴ  ／ｃｃｃ  ＨＴＴＰ／１．１”というＨＴＴＰリクエストであるものとする。この場合、対応サーバ識別子は、対応表ファイル２９１（図５参照）に登録されていない。
対応サーバ識別子が対応表ファイル２９１に登録されている場合（ＹＥＳ）、処理はＳ１２１に進む。
対応サーバ識別子が対応表ファイル２９１に登録されていない場合（ＮＯ）、処理はＳ１２２に進む。
【００３６】
図５は、実施の形態１における対応表ファイル２９１の一例を示す図である。
実施の形態１における対応表ファイル２９１の一例について、図５に基づいて説明する。
対応表ファイル２９１は、リクエストの欄に、アクセスデータの欄と、アクセスサーバの欄と、対応サーバの欄とを対応付ける。
リクエストの欄は、処理命令を示す。
アクセスデータの欄は、処理命令で指定されるデータ処理でアクセスされるコンテンツの識別子を示す。
アクセスサーバの欄は、１つ以上の対応サーバのうち、前回のデータ処理でアクセスデータにアクセスした対応サーバの識別子を示す。
対応サーバの欄は、１つ以上の対応サーバのそれぞれの識別子を示す。
【００３７】
Ｓ１２１（図４参照）において、要求振り分け部２３０は、１つ以上の対応サーバ識別子から、いずれかの対応サーバ識別子を選択する。このとき、要求振り分け部２３０は、１つ以上の対応サーバ識別子から、負荷が軽いサーバ装置３００の識別子を選択するとよい。負荷が軽いサーバ装置３００は従来の負荷分散技術によって特定することができる。
選択される対応サーバ識別子を振り分け先識別子といい、振り分け先識別子で識別されるサーバ装置３００を振り分け先サーバという。
Ｓ１２１の後、処理はＳ１３０に進む。
【００３８】
Ｓ１２２において、要求振り分け部２３０は、サーバ一覧ファイル２９２（図６参照）に登録されている複数のサーバ識別子から、いずれかのサーバ識別子を選択する。このとき、要求振り分け部２３０は、複数のサーバ識別子から、負荷が軽いサーバ装置３００の識別子を選択するとよい。負荷が軽いサーバ装置３００は従来の負荷分散技術によって特定することができる。
選択されるサーバ識別子を振り分け先識別子といい、振り分け先識別子で識別されるサーバ装置３００を振り分け先サーバという。
Ｓ１２２の後、処理はＳ１３０に進む。
【００３９】
図６は、実施の形態１におけるサーバ一覧ファイル２９２の一例を示す図である。
実施の形態１におけるサーバ一覧ファイル２９２の一例について、図６に基づいて説明する。
サーバ一覧ファイル２９２は、サーバの欄に、ＩＰアドレスなどの情報欄を対応付ける。
サーバの欄は、負荷分散システム１００に備わるサーバ装置３００の識別子を示す。
ＩＰアドレスの欄は、サーバ装置３００のＩＰアドレスを示す。
【００４０】
Ｓ１３０（図４参照）において、要求振り分け部２３０は、Ｓ１２１またはＳ１２２で選択された振り分け先識別子と同じサーバ識別子に対応付けられたＩＰアドレスを、サーバ一覧ファイル２９２（図６参照）から選択する。
要求振り分け部２３０は、選択したＩＰアドレスを送信先アドレスとして用いて、振り分け先サーバ宛のパケットを生成する。このパケットを振り分けパケットという。
振り分けパケットは、データ処理の実行を振り分け先サーバに要求するパケットである。振り分けパケットは、処理要求パケットに含まれる処理命令を含む。
【００４１】
要求振り分け部２３０は、振り分けパケットを振り分け先サーバに送信する。
Ｓ１３０の後、処理はＳ１３１に進む。
【００４２】
Ｓ１３１において、要求振り分け部２３０は、実行結果データとアクセス情報データとを含む実行結果パケットを、振り分け先サーバから受信する。
実行結果データは、データ処理の実行結果を示す。
アクセス情報データは、アクセスデータ識別子と、アクセスサーバ識別子と、対応サーバ識別子群とを含む。
アクセスデータ識別子は、アクセスされたコンテンツデータを識別する識別子を示す。
アクセスサーバ識別子は、コンテンツデータにアクセスしたサーバ装置３００の識別子を示す。
対応サーバ識別子群は、１つ以上の対応サーバ識別子である。対応サーバ識別子は、アクセスされたコンテンツデータと同じコンテンツデータを記憶する１つ以上のサーバ装置３００のそれぞれの識別子である。
Ｓ１３１の後、処理はＳ１４０に進む。
【００４３】
Ｓ１４０において、対応表編集部２２２は、処理要求パケットに含まれる処理命令と、実行結果パケットに含まれるアクセス情報データ（アクセスデータ識別子、アクセスサーバ識別子、対応サーバ識別子群）とを用いて、対応表ファイル２９１を以下のように編集する。
対応表ファイル２９１（図５参照）において、処理要求パケットに含まれる処理命令と同じ処理命令をリクエストの欄に含んだ該当レコードが登録されている場合、対応表編集部２２２は、アクセス情報データに基づいて、該当レコードを更新する。つまり、対応表編集部２２２は、該当レコードのアクセスデータの欄をアクセスデータ識別子で更新し、該当レコードのアクセスサーバの欄をアクセスサーバ識別子で更新し、該当レコードの対応サーバの欄を対応サーバ識別子群で更新する。
対応表ファイル２９１（図５参照）において、処理要求パケットに含まれる処理命令と同じ処理命令をリクエストの欄に含んだ該当レコードが登録されていない場合、対応表編集部２２２は、処理命令とアクセス情報データとを用いて新規レコードを生成する。つまり、対応表編集部２２２は、処理命令をリクエストの欄に含み、アクセスデータ識別子をアクセスデータの欄に含み、アクセスサーバ識別子をアクセスサーバの欄に含み、対応サーバ識別子群を対応サーバの欄に含む新規レコードを生成する。そして、対応表編集部２２２は、新規レコードを対応表ファイル２９１に登録する。
Ｓ１４０の後、処理はＳ１５０に進む。
【００４４】
Ｓ１５０において、要求受付部２１０は、データ処理の実行結果を応答する処理応答パケットを生成し、処理要求パケットの送信元のクライアント装置１１０に処理応答パケットを送信する。処理応答パケットは、実行結果パケットに含まれる実行結果データを含む。
Ｓ１５０の後、１つの処理要求パケットに対する負荷分散装置２００の動作は終了する。
【００４５】
図７、図８は、実施の形態１におけるサーバ装置３００の動作を示すフローチャートである。
実施の形態１におけるサーバ装置３００の動作について、図７および図８に基づいて説明する。但し、サーバ装置３００の動作は、図７および図８に基づいて説明する動作と同一でなくても構わない。
【００４６】
Ｓ２１０において、実行要求受付部３１１は、処理命令を含んだ振り分けパケットを受信する。
Ｓ２１０の後、処理はＳ２２０に進む。
【００４７】
Ｓ２２０において、処理実行部３１２は、振り分けパケットに含まれる処理命令に基づいて、処理ロジックの実行を開始する。
処理ロジックは、モジュール、ルーチンまたは関数などとも呼ばれるプログラムであり、データ処理の手順を示す。例えば、処理ロジックは、コンテンツデータにアクセスするためのクエリを生成する手順を含む。
【００４８】
例えば、処理命令が“ＧＥＴ  ／ａａａ  ＨＴＴＰ／１．１”である場合、処理実行部３１２は、複数の処理ロジックのうちのＧＥＴメソッド用の処理ロジックを選択し、“ａａａ”をパラメータとして用いて処理ロジックの実行を開始する。
Ｓ２２０の後、処理はＳ２３０に進む。
【００４９】
Ｓ２３０において、処理実行部３１２は、コンテンツデータにアクセスするためのクエリを処理ロジックに従って生成し、クエリをＤＢサーバ部３２０に受け渡す。
Ｓ２３０の後、処理はＳ２３１に進む。
【００５０】
Ｓ２３１において、ＤＢサーバ部３２０は、クエリを受け取り、クエリに指定されたコンテンツデータにアクセスするためのアクセス命令を生成し、アクセス命令を分散ストレージ管理部３３０に受け渡す。
Ｓ２３１の後、処理はＳ２３２に進む。
【００５１】
Ｓ２３２において、分散ストレージ管理部３３０は、アクセス命令を受け取り、アクセス命令に指定されたコンテンツデータが分散ストレージ領域３９９に記憶されているか判定する。アクセス命令に指定されたコンテンツデータを該当コンテンツという。
該当コンテンツが分散ストレージ領域３９９に記憶されている場合（ＹＥＳ）、処理はＳ２３３に進む。
該当コンテンツが分散ストレージ領域３９９に記憶されていない場合（ＮＯ）、処理はＳ２３５（図８参照）に進む。
【００５２】
Ｓ２３３において、分散ストレージ管理部３３０は、アクセス命令に従って、分散ストレージ領域３９９に記憶されている該当コンテンツにアクセスする。
例えば、分散ストレージ管理部３３０は、分散ストレージ領域３９９から該当コンテンツを読み出す。
【００５３】
分散ストレージ管理部３３０は、アクセス命令の実行結果をＤＢサーバ部３２０に受け渡す。例えば、アクセス命令の実行結果は、分散ストレージ領域３９９から読み出された該当コンテンツを含む。
【００５４】
ＤＢサーバ部３２０は、アクセス命令の実行結果を受け取り、アクセス命令の実行結果を用いてクエリの実行結果を生成し、クエリの実行結果を処理実行部３１２に受け渡す。例えば、クエリの実行結果は、分散ストレージ領域３９９から読み出された該当コンテンツを含む。
Ｓ２３３の後、処理はＳ２３４に進む。
【００５５】
Ｓ２３４において、分散ストレージ管理部３３０は、データ配置ファイル３９１（図９参照）から、該当コンテンツと同じコンテンツデータの識別子に対応付けられたサーバ識別子群を選択する。例えば、該当コンテンツがコンテンツＡである場合、分散ストレージ管理部３３０は、データ配置ファイル３９１（図９参照）から２つのサーバ識別子（サーバＡ、サーバＣ）を選択する。
そして、分散ストレージ管理部３３０は、サーバ識別子群と該当コンテンツの識別子とをアクセス情報生成部３４０に受け渡す。
【００５６】
アクセス情報生成部３４０は、サーバ識別子群と該当コンテンツの識別子とを受け取り、アクセス情報データを生成し、アクセス情報データを実行結果応答部３１３に受け渡す。
アクセス情報データは、該当コンテンツの識別子をアクセスデータ識別子として含み、振り分け先サーバの識別子をアクセスサーバ識別子として含み、受け取ったサーバ識別子群を対応サーバ識別子群として含む。
Ｓ２３４の後、処理はＳ２４０に進む。
【００５７】
図９は、実施の形態１におけるデータ配置ファイル３９１の一例を示す図である。
実施の形態１におけるデータ配置ファイル３９１の一例について、図９に基づいて説明する。
データ配置ファイル３９１は、サーバの欄に、コンテンツなどの情報欄を対応付ける。
サーバは、１つ以上のサーバ装置３００のそれぞれの識別子を示す。
コンテンツは、サーバ装置３００に記憶されている１つ以上のコンテンツデータのそれぞれの識別子を示す。
【００５８】
Ｓ２４０（図７参照）において、処理実行部３１２は、クエリの実行結果をＤＢサーバ部３２０から受け取る。
処理実行部３１２は、クエリの実行結果に基づいてデータ処理を実行する。例えば、処理実行部３１２は、クエリの実行結果に含まれる該当コンテンツを用いて、ＷＥＢページを生成する。
そして、処理実行部３１２は、データ処理の実行を終了し、データ処理の実行結果を示す実行結果データを生成する。例えば、処理実行部３１２は、データ処理によって生成されたＷＥＢページを含む実行結果データを生成する。
Ｓ２４０の後、処理はＳ２５０に進む。
【００５９】
Ｓ２５０において、実行結果応答部３１３は、アクセス情報データをアクセス情報生成部３４０から受け取る。
そして、実行結果応答部３１３は、実行結果データとアクセス情報データとを含む実行結果パケットを生成し、実行結果パケットを負荷分散装置２００に送信する。
Ｓ２５０の後、１つの振り分けパケットに対するサーバ装置３００の動作は終了する。
【００６０】
Ｓ２３５（図８参照）において、分散ストレージ管理部３３０は、データ配置ファイル３９１（図９参照）から、アクセス命令に指定された該当コンテンツと同じコンテンツデータの識別子に対応付けられたサーバ識別子群を選択する。
そして、分散ストレージ管理部３３０は、サーバ識別子群から、いずれかのサーバ識別子を選択する。このとき、分散ストレージ管理部３３０は、サーバ識別子群から、負荷が軽いサーバ装置３００の識別子を選択するとよい。負荷が軽いサーバ装置３００は従来の負荷分散技術によって特定することができる。
選択されるサーバ識別子を対応サーバ識別子といい、対応サーバ識別子で識別されるサーバ装置３００を対応サーバという。
Ｓ２３５の後、処理はＳ２３６に進む。
【００６１】
Ｓ２３６において、分散ストレージ管理部３３０は、対応サーバ識別子と同じサーバ識別子に対応付けられたＩＰアドレスを、サーバ一覧ファイル３９２から選択する。サーバ一覧ファイル３９２は、図６で説明したサーバ一覧ファイル２９２と同様のファイルである。
分散ストレージ管理部３３０は、選択したＩＰアドレスを送信先アドレスとして用いて、対応サーバ宛のパケットを生成する。このパケットをアクセス要求パケットという。
アクセス要求パケットは、アクセス命令の実行を対応サーバに要求するパケットである。アクセス要求パケットは、アクセス命令を含む。
【００６２】
分散ストレージ管理部３３０は、アクセス要求パケットを対応サーバに送信する。
Ｓ２３６の後、処理はＳ２３７に進む。
【００６３】
Ｓ２３７において、対応サーバの分散ストレージ管理部３３０は、アクセス要求パケットを受信する。
対応サーバの分散ストレージ管理部３３０は、アクセス要求パケットに含まれるアクセス命令に従って、対応サーバの分散ストレージ領域３９９に記憶されている該当コンテンツにアクセスする。
そして、対応サーバの分散ストレージ管理部３３０は、アクセス命令の実行結果を含むアクセス応答パケットを生成し、アクセス要求パケットの送信元のサーバ装置３００にアクセス応答パケットを送信する。
Ｓ２３７の後、処理はＳ２３８に進む。
【００６４】
Ｓ２３８において、振り分け先サーバの分散ストレージ管理部３３０は、アクセス応答パケットを受信する。
振り分け先サーバにおいて、分散ストレージ管理部３３０は、アクセス応答パケットに含まれるアクセス命令の実行結果をＤＢサーバ部３２０に受け渡す。
ＤＢサーバ部３２０は、アクセス命令の実行結果を受け取り、アクセス命令の実行結果を用いてクエリの実行結果を生成し、クエリの実行結果を処理実行部３１２に受け渡す（Ｓ２３３と同様）。
Ｓ２３８の後、処理はＳ２３９に進む。
【００６５】
Ｓ２３９において、振り分け先サーバの分散ストレージ管理部３３０は、該当コンテンツの識別子と、データ配置ファイル３９１から選択したサーバ識別子群と、サーバ識別子群から選択した対応サーバ識別子とをアクセス情報生成部３４０に受け渡す。
アクセス情報生成部３４０は、該当コンテンツの識別子とサーバ識別子群と対応サーバ識別子とを受け取り、アクセス情報データを生成し、アクセス情報データを実行結果応答部３１３に受け渡す（Ｓ２３４と同様）。
アクセス情報データは、該当コンテンツの識別子をアクセスデータ識別子として含み、サーバ識別子群を対応サーバ識別子群として含み、対応サーバ識別子をアクセスサーバ識別子として含む。
Ｓ２３９の後、処理はＳ２４０（図７参照）に進む。Ｓ２４０以降の処理は図７に基づいて説明した通りである。
【００６６】
図１０は、実施の形態１における負荷分散装置２００のハードウェア構成図である。
実施の形態１における負荷分散装置２００のハードウェア構成について、図１０に基づいて説明する。但し、負荷分散装置２００のハードウェア構成は図１０に示す構成と同一でなくても構わない。
【００６７】
負荷分散装置２００は、演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５を備えるコンピュータである。
演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５はバス９０９に接続している。
【００６８】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリまたはハードディスク装置である。
主記憶装置９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、有線または無線でインターネット、ＬＡＮ（ローカルエリアネットワーク）、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置９０５は、例えば、マウス、キーボード、ディスプレイ装置である。
【００６９】
プログラムは、補助記憶装置９０２に記憶されている。
例えば、オペレーティングシステム（ＯＳ）が補助記憶装置９０２に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置９０２に記憶される。
プログラムは、補助記憶装置９０２に記憶されており、主記憶装置９０３にロードされて、演算装置９０１によって実行される。
【００７０】
「〜の判断」、「〜の判定」、「〜の抽出」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等の処理の結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置９０３または補助記憶装置９０２に記憶される。
【００７１】
クライアント装置１１０およびサーバ装置３００は、負荷分散装置２００と同様のハードウェア構成を備える。
【００７２】
実施の形態１によって、例えば、以下のような効果を奏する。
負荷分散装置２００は、対応表ファイル２９１を備えることにより、データ処理の処理要求を適切なサーバ装置３００に振り分けることができる。つまり、負荷分散装置２００は、データ処理で使用されるコンテンツデータ（該当コンテンツ）を記憶するサーバ装置３００にデータ処理の処理要求を振り分けることができる。
処理要求の振り分け先のサーバ装置３００が該当コンテンツを記憶していれば、処理要求の振り分け先のサーバ装置３００が該当コンテンツにアクセスするために他のサーバ装置３００と通信する必要はない。そのため、サーバ装置間の通信に伴う処理遅延が発生せず、システムのスループットが向上する。
【００７３】
実施の形態１は、負荷分散システム１００の形態の一例である。
つまり、負荷分散システム１００は、実施の形態１で説明した構成要素の一部を備えなくても構わない。また、負荷分散システム１００は、実施の形態１で説明していない構成要素を備えても構わない。
【００７４】
実施の形態２．
負荷分散装置２００を備えないクライアントサーバシステムの形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略する事項については実施の形態１と同様である。
【００７５】
図１１は、実施の形態２におけるクライアントサーバシステム１０１の構成図である。
図１１において、クライアントサーバシステム１０１（データ処理システムの一例）は、１つ以上のクライアント装置１１０と、複数のサーバ装置３００とを備える。
【００７６】
図１２は、実施の形態２におけるクライアント装置１１０の機能構成図である。
図１２において、クライアント装置１１０は、負荷分散装置２００（図２参照）と同様に、要求受付部２１０と、対応表管理部２２０と、要求振り分け部２３０とを備える。
また、クライアント装置１１０は、対応表ファイル２９１およびサーバ一覧ファイル２９２などを記憶するクライアント記憶部１１９（対応表ファイル記憶部の一例）を備える。
【００７７】
実施の形態２におけるクライアント装置１１０の動作は、実施の形態１における負荷分散装置２００の動作（図４参照）と同様である。
但し、Ｓ１１０において、要求受付部２１０は、処理要求パケットを受信する代わりに、利用者がクライアント装置１１０に入力する処理命令を受け付ける。
また、Ｓ１５０において、要求受付部２１０は、処理応答パケットを送信する代わりに、実行結果データを画面に表示する。
【００７８】
実施の形態２において、クライアント装置１１０は、実施の形態１における負荷分散装置２００と同様の効果を奏することができる。つまり、クライアント装置１１０は、データ処理で使用されるコンテンツデータを記憶するサーバ装置３００にデータ処理の処理要求を振り分けることができる。
【００７９】
実施の形態２は、クライアントサーバシステム１０１の形態の一例である。
つまり、クライアントサーバシステム１０１は、実施の形態２で説明した構成要素の一部を備えなくても構わない。また、クライアントサーバシステム１０１は、実施の形態２で説明していない構成要素を備えても構わない。
【００８０】
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法およびプログラムの処理手順の一例である。各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。
【００８１】
各実施の形態において「〜部」は「〜処理」「〜工程」「〜プログラム」「〜装置」などと読み替えることができる。
【符号の説明】
【００８２】
１００  負荷分散システム、１０１  クライアントサーバシステム、１０９  ネットワーク、１１０  クライアント装置、１１９  クライアント記憶部、２００  負荷分散装置、２１０  要求受付部、２２０  対応表管理部、２２１  対応表参照部、２２２  対応表編集部、２３０  要求振り分け部、２９０  負荷分散記憶部、２９１  対応表ファイル、２９２  サーバ一覧ファイル、３００  サーバ装置、３０１  ＷＥＢサーバ部、３１０  ＷＥＢアプリケーション部、３１１  実行要求受付部、３１２  処理実行部、３１３  実行結果応答部、３２０  ＤＢサーバ部、３３０  分散ストレージ管理部、３４０  アクセス情報生成部、３８０  コンテンツデータ群、３８１  コンテンツデータＡ、３８２  コンテンツデータＢ、３８３  コンテンツデータＣ、３８４  コンテンツデータＤ、３９０  サーバ記憶部、３９１  データ配置ファイル、３９２  サーバ一覧ファイル、３９９  分散ストレージ領域、９０１  演算装置、９０２  補助記憶装置、９０３  主記憶装置、９０４  通信装置、９０５  入出力装置、９０９  バス。
【図１】
2016031043.tif 000003
【図２】
2016031043.tif 000004
【図３】
2016031043.tif 000005
【図４】
2016031043.tif 000006
【図５】
2016031043.tif 000007
【図６】
2016031043.tif 000008
【図７】
2016031043.tif 000009
【図８】
2016031043.tif 000010
【図９】
2016031043.tif 000011
【図１０】
2016031043.tif 000012
【図１１】
2016031043.tif 000013
【図１２】
2016031043.tif 000014
【手続補正書】
【提出日】平成28年9月21日(2016.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応表管理部と、
前記対応表管理部によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け部とを備え、
前記処理振り分け部は、前記第一のデータ処理の要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付け、
前記対応表管理部は、前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する
ことを特徴とする処理振り分け装置。
【請求項２】
前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれないために前記対応表管理部によってサーバ識別子が選択されない場合、複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求する
ことを特徴とする請求項１に記載の処理振り分け装置。
【請求項３】
前記対応表管理部は、前記処理振り分け部によって複数のサーバ識別子が受け付けられた場合、前記第一の処理命令に前記複数のサーバ識別子を対応付けて前記対応表ファイルに登録する
ことを特徴とする請求項１に記載の処理振り分け装置。
【請求項４】
前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が複数あるために前記対応表管理部によって複数のサーバ識別子が選択された場合、前記複数のサーバ識別子のいずれかのサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する
ことを特徴とする請求項１から請求項３のいずれかに記載の処理振り分け装置。
【請求項５】
対応表ファイルを使用する処理振り分けプログラムであって、
前記対応表ファイルは、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子を対応付けたファイルであり、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付処理と、
前記処理命令受付処理によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応サーバ選択処理と、
前記対応サーバ選択処理によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求し、要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付ける処理振り分け処理と、
前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する対応サーバ登録処理と
をコンピュータに実行させるための処理振り分けプログラム。
【請求項６】
処理振り分け装置と、複数のサーバ装置とを備え、
前記処理振り分け装置は、
データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれない場合、前記複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求し、要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付ける処理振り分け部と、
前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する対応サーバ登録部とを備え、
前記複数のサーバ装置のそれぞれは、
コンテンツデータを記憶するコンテンツデータ記憶部と、
コンテンツデータを識別するデータ識別子に、コンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けたデータ配置ファイルを記憶するデータ配置ファイル記憶部と、
前記処理振り分け装置から要求された第一のデータ処理を実行する処理実行部と、
前記第一のコンテンツデータが前記コンテンツデータ記憶部に記憶されていない場合、前記第一のコンテンツデータのデータ識別子に対応付けられたサーバ識別子を前記データ配置ファイルから選択し、選択したサーバ識別子で識別されるサーバ装置に前記第一のコンテンツデータへのアクセスを要求するアクセス要求部と、
前記処理実行部によって実行された第一のデータ処理の実行結果と、前記アクセス要求部によって選択されたサーバ識別子と、を前記処理振り分け装置に応答する実行結果応答部とを備える
ことを特徴とするデータ処理システム。
【国際調査報告】
2016031043.tif 000015
2016031043.tif 000016
2016031043.tif 000017
2016031043.tif 000018