JP6324331B2 - サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム - Google Patents

サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム Download PDF

Info

Publication number
JP6324331B2
JP6324331B2 JP2015028323A JP2015028323A JP6324331B2 JP 6324331 B2 JP6324331 B2 JP 6324331B2 JP 2015028323 A JP2015028323 A JP 2015028323A JP 2015028323 A JP2015028323 A JP 2015028323A JP 6324331 B2 JP6324331 B2 JP 6324331B2
Authority
JP
Japan
Prior art keywords
client
request
group
grouping
unit
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.)
Active
Application number
JP2015028323A
Other languages
English (en)
Other versions
JP2016151846A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015028323A priority Critical patent/JP6324331B2/ja
Publication of JP2016151846A publication Critical patent/JP2016151846A/ja
Application granted granted Critical
Publication of JP6324331B2 publication Critical patent/JP6324331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、サーバ−クライアント型のシステムに関する。
従来のサーバ−クライアント型のシステムは、各クライアント装置(以下、単にクライアントともいう)が個別にクライアントリクエスト(以下、単にリクエストともいう)をサーバ装置(以下、単にサーバともいう)に送信している。
図24に従来のシステムを示す。
図24は、以下の2つの動作を示したものである。
1)クライアント1、2、4が同一のリクエストRequestAをサーバに送信する。2)クライアント3がRequestBをサーバに送信する。
従来のシステムでは、同一のリクエストがクライアントから送られてきた場合、サーバはリクエストを個別に扱う。
重複するリクエストを処理するため、サーバが無駄な計算をしている問題があった。
図24の例では、サーバはRequestAに対応する処理を3回行い、個々のクライアントにレスポンスを返却する。
このように、サーバは同じ処理を3回重複して行っている。
サーバへのアクセス数を削減するための技術として、特許文献1に開示の技術や特許文献2に開示の技術がある。
これらの文献の技術は、複数のクライアントの中から決められた代表クライアントのみがサーバと通信を行うという技術である。
具体的には、まず、クライアントを複数のグループに分割する。
グループの分割は、物理的なネットワークの構成を元に行う。
その後、グループごとにサーバと通信をする代表クライアントを決める。
代表クライアント以外のクライアントは、代表クライアントを経由してサーバと通信をする。
国際公開WO2011/135629号公報 特開2006−285601号公報
特許文献1及び特許文献2に開示の技術は、物理的なネットワークの構成を元に、複数のクライアントを複数のグループにグルーピングする。
しかしながら、物理的なネットワーク構成とリクエストの共通性との間に必ずしも相関があるわけでない。
つまり、物理的に近接する位置に配置されているクライアントであっても送信するリクエストが共通するとは限らず、物理的に離れているクライアントであっても送信するリクエストが共通する場合もある。
このように、特許文献1及び特許文献2に係るグルーピング方法は、必ずしも適切なグルーピング方法とは限らない。
本発明は、このような事情に鑑みたものであり、サーバ−クライアント型のシステムにおいて、クライアント装置を効果的にグルーピングして、サーバ装置が受信するリクエスト数を少なくすることを主な目的とする。
本発明に係るサーバ装置は、
クライアントリクエストのグルーピングを行うリクエストグルーピング部と、
前記リクエストグルーピング部によるグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にして、クライアント装置のグルーピングを行うクライアントグルーピング部とを有する。
本発明によれば、クライアントリクエストのグループをグルーピングの単位にしてクライアント装置のグルーピングを行うため、物理的なネットワークの構成を元にグルーピングする方法と比べて、サーバ装置が受信するリクエスト数を少なくすることができる。
実施の形態1に係るシステム構成例を示す図。 実施の形態1に係るサーバ装置の機能モジュール構成例を示す図。 実施の形態1に係るクライアント装置の機能モジュール構成例を示す図。 実施の形態1に係るサーバ装置によるグルーピング処理を示すフローチャート図。 実施の形態1に係るクライアント装置がグループに加入する際の処理を示すフローチャート図。 実施の形態1に係るクライアント装置によるリクエスト送信時の処理を示すフローチャート図。 実施の形態1に係るクライアント装置によるリクエスト受信時の処理を示すフローチャート図。 実施の形態1に係るクライアント装置によるレスポンス受信時の処理を示すフローチャート図。 実施の形態1に係るWebページのグルーピング例を示す図。 実施の形態1に係るWebページの構成例を示す図。 実施の形態1に係るWebページへの番号の付加手順例を示す図。 実施の形態1に係るWebページへの番号の付加手順例を示す図。 実施の形態1に係るWebページへの番号の付加手順例を示す図。 実施の形態1に係る管理リングの例を示す図。 実施の形態1に係る管理リングにおけるリクエストの配置位置の例を示す図。 実施の形態1に係るグループ1の管理リング及びグループ2の管理リングの例を示す図。 実施の形態1に係るグループ加入方法を示す図。 実施の形態1に係るグループ1の管理リング及びグループ2の管理リングでのクライアント装置及びリクエストの配置例を示す図。 実施の形態1に係るレスポンスDBの情報例を示す図。 実施の形態1に係るレスポンスDBの情報例を示す図。 実施の形態1に係るクライアントグループの例を示す図。 実施の形態1に係るサーバ装置のハードウェア構成例を示す図。 従来のクライアントグループの例を示す図。 従来のリクエスト送信例を示す図。
実施の形態1.
本実施の形態では、物理的なネットワークの構成を元にグルーピングする方法と比べて、サーバ装置が受信するクライアントリクエストの個数が少なくなるグルーピング方法を示す。
特許文献1及び特許文献2に示すように物理的なネットワーク構成を元に複数のクライアント装置のグループ分割を行うと、図23に示すように、各クライアントグループから、全てのクライアントリクエストについて重複が発生する可能性がある。
本実施の形態では、クライアントリクエストのグループをグルーピングの単位にしてクライアント装置のグルーピングを行う。
クライアントリクエストのグループ構成を用いたクライアント装置のグルーピングの方が、サーバ装置が受信するリクエスト数が少なくなる。
***構成の説明***
本実施の形態では、図1に例示するように、サーバ装置100に複数のクライアント装置200が接続されているサーバ−クライアントシステムを想定する。
図3では、3台のクライアント装置200が接続されているが、クライアント装置200は3台に限らない。
以下では、クライアント装置200の台数は6台とする。
また、6台のクライアント装置200には、No.1〜6までのクライアント装置200を識別する番号が振られているものとする。
また、サーバ装置100の台数は1台であるとする。
また、本システムは、互いに関連付けられたデータ群を閲覧するシステムを想定する。 本システムは、互いに関連付けられたデータ群として、具体的には、図10に示すWebページを閲覧するシステムを想定する。
Webページは、複数のページの集合である。
各ページは、別のページと、リンクで関連付けられている。
リンクで関連付けられた別のページを閲覧するとき、ページの表示に使用するデータの要求(リクエスト)がクライアント装置200からサーバ装置100に送信される。
クライアント装置200では、サーバ装置100から、ページのデータが格納されたレスポンスを受け取ることで、ページを表示することができる。
図10に示すように、本実施の形態に係るWebページは、Home画面と、Page1〜6からなる子階層構造となっている。
例えば、クライアント装置200がPage2を閲覧するとき、Page2を閲覧するためのクライアントリクエストであるRequest2を送信する。
クライアント装置200はRequest2に対応するResponseを受け取ることで、Page2の情報を得るものとする。
Pageの番号と、Pageに対応するリクエストの番号は一致するものとする。
また、図10のリンクは、遷移できるページの関係を示す。
Home画面からはPage1とPage2に遷移できるが、その他のページには遷移できない。
また、以下では、グルーピングするときに用いるグループの数を2とする。
本実施の形態では、サーバ装置100は、クライアントリクエストのグループをグルーピングの単位にして、クライアント装置200のグルーピングを行う。
つまり、本実施の形態では、サーバ装置100は、Webページを閲覧するためのリクエスト(RequestHome、Request1〜Request6)を2つのグループにグルーピングし、リクエストのグループをグルーピングの単位にしてクライアント装置200のグルーピングを行う。
また、本実施の形態では、Distributed Hash Table(以下、DHT)を用いて代表クライアント装置200へのリクエスト送信、システムへのクライアント加入、離脱を行うものとする。
DHTで用いるリングのサイズを2とする。
DHTを用いた通信方法は一例であり、特許文献1や特許文献2の方法を用いて通信しても構わない。
図2は、本実施の形態に係るサーバ装置100の機能モジュール構成例を示す。
リクエストグルーピング部101は、クライアントリクエスト間の関係を解析してクライアントリクエストのグルーピングを行う。
より具体的には、リクエストグルーピング部101は、Webページの閲覧のためのリクエストでは、リクエストが対象とするWebページの階層構造を解析してリクエストのグルーピングを行う。
なお、以下では、Webページの閲覧のためのリクエストのグルーピングを、便宜上、Webページのグルーピングともいう。
また、リクエストグルーピング部101は、Webページに無関係のリクエストでは、各グループのリクエストの個数が均等になるようにリクエストのグルーピングを行う。
グループ加入要求受信部102は、クライアント装置200から、グループ加入要求を受信する。
グループ加入要求は、送信元のクライアント装置200をいずれかのグループに加入させるよう要求するメッセージである。
グループ加入要求にはクライアントリクエストが含まれている。
クライアントグルーピング部103は、リクエストグルーピング部101によるグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にして、クライアント装置200のグルーピングを行う。
クライアントグルーピング部103は、グループ加入要求に含まれるクライアントリクエストが属するグループに、グループ加入要求の送信元のクライアント装置を所属させる。
組合せ記憶部104は、リクエストグルーピング部101によるグルーピング結果とクライアントグルーピング部103によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、クライアントリクエストとクライアント装置との組合せを記憶する。
グループ情報送信部105は、グループ情報をクライアント装置200に送信する。
グループ情報は、リクエストグルーピング部101によるグルーピング結果とクライアントグルーピング部103によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、グループに含まれるクライアントリクエストとグループに所属するクライアント装置とを通知する情報である。
グループ情報送信部105は、このようなグループ情報を、グループに所属するクライアント装置200に送信する。
リクエスト受信部106は、クライアント装置200からリクエストを受信する。
レスポンス生成部107は、リクエスト受信部106が受信したリクエストに対するレスポンスを生成する。
レスポンス送信部108は、レスポンス生成部107により生成されたレスポンスをリクエストの送信元のクライアント装置200に送信する。
図3は、クライアント装置200の機能モジュール構成例を示す。
グループ加入要求部201は、サーバ装置100にグループ加入要求を送信する。
前述のように、グループ加入要求にはクライアントリクエストが含まれる。
グループ加入要求部201は、クライアント装置200がいずれのグループにも所属していない場合にグループ加入要求をサーバ装置100に送信する。
また、グループ加入要求部201は、後述する離脱通知部212により所属グループに所属している他のクライアント装置200に所属グループからの離脱が通知された後に、サーバ装置100にグループ加入要求を送信する。
なお、所属グループとは、サーバ装置100によって指定された自装置が所属するグループである。
グループ情報受信部202は、サーバ装置100からグループ情報を受信する。
クライアント探索部203は、グループ情報受信部202が受信したグループ情報に基づき、所属グループに含まれるクライアント装置200のうち管理リング上で自装置の前に位置するクライアント装置200及び後ろに位置するクライアント装置200を探索する。
管理リンクについては後述する。
リクエスト受信部204は、所属グループに所属している他のクライアント装置200から送信されたクライアントリクエストを受信する。
送信権判定部205は、所属グループに含まれるクライアントリクエストの送信権が自装置にあるか否かを判定し、クライアントリクエストの送信権が自装置にある場合に、クライアントリクエストに対するレスポンスがレスポンスDB209にキャッシュされているか否かを判定する。
より具体的には、送信権判定部205は、自装置においてクライアントリクエストの送信が必要になった場合に、クライアントリクエストの送信権が自装置にあれば、受信クライアントリクエストに対するレスポンスがレスポンスDB209にキャッシュされているか否かを判定する。
また、送信権判定部205は、リクエスト受信部204により受信された受信クライアントリクエストの送信権が自装置にあるか否かを判定し、受信クライアントリクエストの送信権が自装置にある場合に、受信クライアントリクエストに対するレスポンスがレスポンスDB209にキャッシュされているか否かを判定する。
リクエスト送信部206は、送信権判定部205によりクライアントリクエストの送信権が自装置にあり、クライアントリクエストに対するレスポンスがレスポンスDB209にキャッシュされていないと判定された場合に、サーバ装置100にクライアントリクエストを送信する。
また、リクエスト送信部206は、送信権判定部205によりクライアントリクエストの送信権が自装置にないと判定された場合に、所属グループに所属している他のクライアント装置200にクライアントリクエストを送信する。
レスポンス受信部207は、サーバ装置100又は所属グループに所属している他のクライアント装置200からクライアントリクエストに対するレスポンスを受信する。
つまり、クライアントリクエストの送信権が自装置にある場合は、レスポンス受信部207はサーバ装置100からレスポンスを受信する。
一方、クライアントリクエストの送信権が自装置にない場合は、レスポンス受信部207は他のクライアント装置200からレスポンスを受信する。
レスポンス送信部208は、所属グループに所属している他のクライアント装置200にレスポンスを送信する。
例えば、所属グループに属する他のクライアント装置200からクライアントリクエストを受信した場合に、送信権判定部205によりクライアントリクエストの送信権が自装置にあり、クライアントリクエストに対するレスポンスがレスポンスDB209にキャッシュされていると判定された場合に、レスポンスDB209にキャッシュされているレスポンスを、クライアントリクエストの送信元のクライアント装置200に送信する。
また、レスポンス送信部208は、レスポンス受信部207により受信されたレスポンスを、所属グループに属する他のクライアント装置200に送信する。
レスポンスDB209は、クライアントリクエストに対するレスポンスをキャッシュするキャッシュ領域である。
システム情報DB210は、システム情報を記憶する。
システム情報は、所属グループに関する情報である。
より具体手的には、システム情報は、所属グループが対象とするクライアントリクエスト、所属グループに含まれるクライアント装置200のうち管理リングにおいて自装置の前に位置するクライアント装置200及び後ろに位置するクライアント装置200等の情報である。
システム情報書き換え部211は、システム情報DB210のシステム情報を書き換える。
離脱通知部212は、所属グループに含まれないクライアントリクエストであるグループ外クライアントリクエストのサーバ装置100への送信が必要になった場合に、所属グループに所属している他のクライアント装置200に所属グループからの離脱を通知する。
***動作の説明***
次に、サーバ装置100及びクライアント装置200の動作の概要を説明する。
図4は、サーバ装置100の動作の概要を説明するフローチャートである。
図4は、本願に係るグルーピング方法及びグルーピングプログラムを示している。
図5〜図8は、クライアント装置200の動作の概要を説明するフローチャートである。
まず、図4を参照してサーバ装置100の動作の概要を説明する。
サーバ装置100では、リクエストグルーピング部101がクライアントリクエストをグルーピングする(S101)(リクエストグルーピング処理)。
クライアントリクエストのグルーピング手法の詳細は後述する。
また、このとき、組合せ記憶部104は、グループごとに、グループとクライアントリクエストとの組み合せを記憶する。
次に、グループ加入要求受信部102がクライアント装置200からグループ加入要求を受信した際に、クライアントグルーピング部103がグループ加入要求の送信元のクライアント装置200を、S101により得られたクライアントリクエストのグループにグルーピングする(S102)(クライアントグルーピング処理)。
前述したように、グループ加入要求には、いずれかのクライアントリクエストが含まれており、グループ加入要求受信部102は、グループ加入要求に含まれるクライアントリクエストが所属するグループにグループ加入要求の送信元のクライアント装置200を所属させる。
次に、組合せ記憶部104が、グループごとに、グループとクライアントリクエストとクライアント装置200との組み合わせを記憶する(S103)。
また、グループ情報送信部105が、グループ加入要求の送信元のクライアント装置200に、グループ加入情報を送信する(S104)。
次に、クライアント装置200の動作の概要を説明する。
図5は、クライアント装置200がグループに加入する際の動作例を示す。
図6は、クライアント装置200においてリクエストの送信が必要になった際の動作例を示す。
図7は、クライアント装置200が他のクライアント装置200からリクエストを受信した際の動作例を示す。
図8は、クライアント装置200がレスポンスを受信した際の動作例を示す。
以下、図5〜図8の順に、クライアント装置200の動作の概要を説明する。
図5では、クライアント装置200がグループに未加入のときにサーバ装置100のリクエストを送信する必要が生じた場合に、グループ加入要求部201が、リクエストが含まれるグループ加入要求をサーバ装置100に送信する(S201)。
次に、サーバ装置100において図3のS102〜S104が行われてグループ情報が送信されると、グループ情報受信部202がグループ情報を受信する(S202)。
次に、クライアント探索部203が、S202で受信されたグループ情報を解析して、所属グループに含まれるクライアント装置200のうち自装置の前に位置するクライアント装置200及び後ろに位置するクライアント装置200を探索する(S203)。
次に、システム情報書き換え部211が、グループ情報及びS203の探索の結果を用いて、システム情報DB210のシステム情報を更新する(S204)。
より具体的には、システム情報書き換え部211は、所属グループが対象とするクライアントリクエスト、所属グループに含まれるクライアント装置200のうち自装置の前に位置するクライアント装置200及び後ろに位置するクライアント装置200等の情報をシステム情報DB210にシステム情報として書き込む。
図6では、例えば、図3に図示していないアプリケーションプログラム等によりリクエストの送信が要求されて、リクエストの送信が必要になった場合(S301でYES)に、送信権判定部205が、そのリクエストが自装置の所属グループが対象としているリクエストか否かを判定する(S302)。
送信権判定部205は、システム情報DB210内のシステム情報を参照してS302の判定を行う。
自装置の所属グループが対象としているリクエストであれば(S302)、送信権判定部205は、そのリクエストの送信権が自装置にあるか否かを判定する(S303)。
送信権判定部205は、S303の判定もシステム情報を参照して行う。
送信権が自装置にある場合(S303でYES)は、送信権判定部205は、そのリクエストに対するレスポンスがレスポンスDB209にキャッシュされているか否かを判定する(S304)。
レスポンスがレスポンスDB209にキャッシュされている場合(S304でYES)は、送信権判定部205はレスポンスDB209からレスポンスを取得する(S305)。
そして、送信権判定部205は、取得したレスポンスを、例えばアプリケーションプログラムに返却する。
一方、レスポンスがレスポンスDB209にキャッシュされていない場合(S304でNO)は、リクエスト送信部206がリクエストをサーバ装置100に送信する(S306)。
また、S303において自装置にリクエストの送信権がない場合(S303でNO)は、送信権判定部205がシステム情報から自装置の次のクライアント装置200を特定し、リクエスト送信部206がリクエストを当該クライアント装置200に送信する(S307)。
また、S302において所属グループが対象とするリクエストではない場合(S308でNO)は、離脱通知部212が、所属グループ内の他のクライアント装置200に離脱通知を送信して、所属グループから離脱する(S308)。
その後、図5のS201の処理を行って、送信が必要になったリクエストが属するグループに加入し、その後、S301からの処理を行う。
図7において、リクエスト受信部204が、所属グループに所属するクライアント装置200のうち管理リングにおいて自装置の前のクライアント装置200からリクエストを受信した場合(S401でYES)に、送信権判定部205が、そのリクエストの送信権が自装置にあるか否かを判定する(S402)。
送信権判定部205は、S402の判定もシステム情報を参照して行う。
送信権が自装置にある場合(S402でYES)は、送信権判定部205は、そのリクエストに対するレスポンスがレスポンスDB209にキャッシュされているか否かを判定する(S403)。
レスポンスがレスポンスDB209にキャッシュされている場合(S403でYES)は、送信権判定部205はレスポンスDB209からレスポンスを取得し、レスポンス送信部208がレスポンスを自装置の前のクライアント装置200に送信する(S404)。
一方、レスポンスがレスポンスDB209にキャッシュされていない場合(S304でNO)は、リクエスト送信部206がリクエストをサーバ装置100に送信する(S405)。
また、S402において自装置にリクエストの送信権がない場合は、リクエスト送信部206が、管理リングにおいて自装置の次のクライアント装置200にリクエストを送信する(S406)。
図8において、レスポンス受信部207が、サーバ装置100又は自装置の次のクライアント装置200からレスポンスを受信した場合(S501でYES)に、送信権判定部205が、受信したレスポンスのリクエストの発行元が自装置であるか否かを判断する(S502)。
自装置がリクエストの発行元である場合(S502)は、送信権判定部205は、レスポンスをレスポンスDB209にキャッシュし(S503)、また、アプリケーションプログラム等にレスポンスを返却する。
一方、S502において自装置がリクエストの発行元でない場合(S502でNO)は、自装置の前のクライアント装置200に転送する(S504)。
次に、本実施の形態に係るサーバ装置100及びクライアント装置200の動作の詳細を説明する。
ここでは、以下の4つの段階におけるサーバ装置100及びクライアント装置200の動作例を説明する。
<1>サーバの立ち上げ段階
<2>クライアントがグループに加入する段階
<3>クライアントがグループを離脱する段階
<4>クライアントがリクエストを送信する段階
<1>サーバの立ち上げ段階
サーバ装置100の立ち上げ時に、リクエストグルーピング部101によりリクエストをグルーピングする処理(図4のS101)が行われる。
リクエストグルーピング部101は、例えば、クラスタリング手法を用いてリクエストをグルーピングする。
具体的な処理の流れは、以下のとおりである。
1)親ページと、その子ページに対して、0から順番に番号を割り振る。
階層構造になっているWebページ(図10)において、図11に示すように、最も上のレイヤに位置するHome画面と、その子ページであるPage1とPage2に対して、0から順番に番号を振る。
2)同様に、図12に示すように、Page1と、Page2を親ページとする。
これらのページとその子ページに対して、同様の方法で0から順番に番号を振る。
3)上記の1)で付けた番号を一桁目、2)で付けた番号を二桁目とする。
以下の処理をすることで、各ページに値を付ける。
a)二つの番号を持っている場合
図12で該当するページ:Page1、2
処理内容:二つの番号を結合する。
この結果、Page1は10となり、Page2は20となる。
b)下位の桁を持っていない場合(ex:二桁目の情報を持っていない場合)
図12で該当するページ:Home画面
処理内容:下位の桁に0を付けた値とする。
この結果、Home画面は00となる。
c)上位の桁を持っていない場合(ex:一桁目の情報を持っていない場合)
図12で該当するページ:Page3〜6
処理内容:親ページの上位の桁を割り当てて結合する。
Page3の場合、Page1の一桁目(親ページの上位の桁)である1と、Page3が持つ二桁目1を結合し、11となる。
Page4の場合、同様の方法で12となる。
d)各ページに振られた番号を元に、クラスタリングする。
クラスタリング手法を用いて、クラスタリングする。
クラスタリング手法の一例として、K−means法がある。
上記の方法により、各ページに図13に示す番号が付く。
また、リクエストグルーピング部101は、遷移情報を用いてリクエストをグルーピングしてもよい。
リクエストグルーピング部101は、あらかじめ遷移情報が得られている場合は、遷移情報を元にグルーピングする。
具体的には、リクエストグルーピング部101は、遷移回数が少ないリンクを境界としてグルーピングする。
また、リクエストグルーピング部101は、複数リクエスト単位のグルーピングを行ってもよい。
Webページと異なり、ページ間の関連性が示されていない場合は、複数リクエスト単位でグルーピングする。
例えば、システムで扱う10個のリクエスト1〜10を元に、2つのグループを作成するケースを考える。
この場合に、リクエストグルーピング部101は、各グループに属するリクエストの数が均等になるようにリクエストをグルーピングする。
例えば、リクエスト1〜5をグループ1とし、リクエスト6〜10をグループ2とする。
そして、クライアントグルーピング部103は、リクエスト1〜5を送信するクライアント装置200はグループ1に分類し、リクエスト6〜10を送信するクライアント装置200はグループ2に分類する。
また、リクエストグルーピング部101は、リクエストの送信権とクライアントを管理するリング(管理リング)に対して、リクエストを登録する。
本実施の形態では、送信権を持つクライアントのみが、リクエストをサーバに送信するものとする。
ただし、送信権を持つクライアントの探索に失敗したときなどは、例外的に、送信権を持っていなくてもクライアントがサーバにリクエストを送信できるものとする。
最終的に、図14に示すように、送信権とクライアントが、管理用のリングに登録される。
ここでは、リクエストグルーピング部101がクラスタリング手法を用いてリクエストをグルーピングする場合の管理リングへの登録方法を説明する。
リクエストグルーピング部101がクラスタリング手法を用いてリクエストをグルーピングして、図9のグルーピング結果が得られたとする。
図9では、Home画面とPage1、3、4がグループ1に属し、Page2、5、6がグループ2に属する。
Home画面、Page1、3、4を閲覧するクライアントは、グループ1に分類される。
また、Page2、5、6を閲覧するクライアントは、グループ2に分類される。
リクエストグルーピング部101は、管理リングを、グループごとに作成する。
また、リクエストグルーピング部101は、グループごとに、リクエストを登録する。
グループ1に対応するページは、Home画面、Page1、3、4である。
これらに対応するリクエストRequest Home、Request1、3、4の送信権を、グループ1のリングで管理する。
同様に、グループ2のリングでRequest2、5、6の送信権を管理する。
グルーピング処理をしたのち、リクエストグルーピング部101は、リクエストを管理リングに登録する。
方法は、まず、各リクエストに対して、0〜2−1の整数値からランダムに値を振る。
その後、対応するリング上の位置に、各リクエストを配置する。
管理リングには、図15に示すように0〜2−1の値が振られている。
リクエストグルーピング部101は、対応する位置にリクエストを配置する。
各ページに登録しているリクエストに、以下の値が与えられたとき、図16に示すようにリクエストが登録される。
グループ1のリングに登録するリクエスト送信権
Request Home:3
Request1:13
Request3:9
Request4:5
グループ2のリングに登録するリクエスト送信権
Request2:14
Request5:1
Request6:7
<2>クライアントがグループに加入する段階
グループに未加入のクライアント装置200では、グループ加入要求部201がグループ加入要求をサーバ装置100に送信する(図5のS201)。
システム情報DBにデータが無い場合は、クライアント装置200は、グループに未加入の状態である。
グループ加入要求部201は、例えば、ユーザの入力をトリガーに、グループ加入要求を送信する。
ユーザ入力の具体例として、以下がある。
1)ボタンの押し下げ
2)Webページシステム内のいずれかのページに対応するURL(Uniform Resource Locator)の入力
3)URLリンクのクリック
これらの処理があると、リクエストが生成され、リクエストが含まれるグループ加入要求がサーバ装置100に送信される。
サーバ装置100では、グループ加入要求に対して図17に示す2つの方式のいずれかの方式よりグループ情報を送信する。
方法1では、サーバ装置100のグループ情報送信部105がグループ加入要求に含まれるリクエストに対応するレスポンスとともに、グループ情報をクライアント装置200に送信する。
方法2では、サーバ装置100のグループ情報送信部105がグループ情報のみをクライアント装置200に送信する。
グループ情報には具体的に以下の内容が含まれる。
リクエストやクライアントに付くID(Identifier)の範囲
グループが対象とするリクエスト
各リクエストのID
管理リングに含まれるクライアント1つ(存在しない場合、データを格納しない)
クライアントのID
リクエストグルーピング部101は、リングが管理する値(実施の形態では、0〜2−1)の中からランダムにクライアントのIDを選択する。
また、クライアントが管理するリクエストの送信権は、管理リング上で前のクライアントから、現在のクライアントまでのものである。
数式では、以下の(1)式で示すことができる。
(1)式に示す3つのうち、いずれか1つを満たせば、リクエスト送信権をクライアントが管理する。
(1)式の中で、IDpreは管理リング上で前のクライアントのIDである。
また、IDcurは現在のクライアントのIDである。
また、IDrightはリクエスト送信権のIDである。
また、RはグループGに含まれるリクエストの集合、reqはリクエストを示す。
また、Maxは管理リングが付けられるIDの最大値である。
本実施の形態では、Max=2−1である。
Figure 0006324331
グループ情報受信部202は、サーバ装置100から送信されたグループ情報を受信する。
グループ情報受信部202は、条件により異なる動作をする。
具体的な動作は、以下のとおりである。
条件1:グループ情報に含まれる、管理リング上のクライアントデータが存在しないとき(管理リングに、クライアントが1台しか登録されていないとき)
グループ情報受信部202は、システム情報DB210に、グループ情報に以下の情報を記述し、グループ情報をシステム情報DB210に保存する。
1)管理リング上で次のクライアント:加入したクライアント(自装置)
2)管理リング上で前のクライアント:加入したクライアント(自装置)
3)自装置が送信権を持つリクエスト:グループが対象とするリクエスト全て
条件2:条件1以外のとき
グループ情報受信部202は、クライアント探索部203に、グループ情報に含まれるクライアントIDを元に、管理リング上で次のクライアントと前のクライアントを探索する処理を依頼する。
クライアント探索部203は、クライアントIDを元に、管理リング上の次のクライアントと前のクライアントを探索する。
つまり、クライアント探索部203は、所属グループに所属するクライアントのうち管理リング上で自装置の前に位置するクライアントと次に位置するクライアントを探索する。
クライアント探索部203によるクライアント探索処理は、以下に示す条件によって、処理が異なる。
なお、システムに加入したクライアント(自装置)のIDを、IDsearchとする。
条件A:以下の式(2)の2つの式のうちのいずれかの式を満たす場合
システム情報書き換え部211が、システム情報DB210のシステム情報を書き換える。
以下において、IDpreはシステムに加入したクライアント(自装置)の前のクライアント、IDsucはシステムに加入したクライアント(自装置)の次のクライアントである。
具体的な動作は、以下のとおりである。
・IDpreのクライアントではグループ加入要求部201が、管理リング上の次のクライアントとして、加入したばかりのクライアントを登録する。
・IDsucのクライアントではグループ加入要求部201が、管理リング上の前のクライアントとして、加入したばかりのクライアントを登録する。
その後、IDsucのクライアントのグループ加入要求部201は、システム情報DB210で管理する送信権のうち、(1)式を満たさなくなった送信権を削除する。
・IDsearchのクライアントではグループ加入要求部201が、管理リング上の前のクライアントとしてIDpreのクライアント、管理リング上の後のクライアントとしてIDsucのクライアントを登録する。
また、IDsearchのクライアントのグループ加入要求部201は、システム情報DB210に、(1)式を満たすリクエストを登録する。
条件B:以下の式(2)の2つの式のうちのいずれも満たさない場合
管理リング上の次のクライアント(IDsucのクライアント)に探索を委ねる。
Figure 0006324331
システム情報DB210が管理するシステム情報は、以下のとおりである。
1)グループの情報
・リクエストやクライアントに付くIDの範囲
・グループが対象とするリクエスト
・各リクエストのID
・管理リングに含まれるクライアント1つ(存在しない場合、データを格納しない)
・クライアントのID
2)管理リング上で次のクライアント
3)管理リング上で前のクライアント
4)自装置が送信権を持っているリクエスト
クライアントがグループに加入する段階の動作を具体例を用いて説明する。
ここでは、クライアント装置200においてユーザがURLを入力することで、グループ加入要求部201がサーバ装置100にグループ加入要求を送信するものとする。
また、このときグループ加入要求に含まれるリクエストは、Request Homeであるとする。
また、サーバ装置100では、図17の方法2にてクライアント装置200のシステム加入を登録するものとする。
また、グループに加入するクライアント装置200を、クライアント1とする。
グループ加入要求がサーバ装置100に送信されると、グループ情報送信部105がグループ情報を生成し、グループ加入要求の送信元のクライアント装置200にグループ情報を送信する。
クライアント装置200がサーバ装置100に送ったリクエストは、Request Homeであるため、Request Homeが登録されているグループ1のグループ情報をクライアント装置200に送信する。
グループ情報で通知する内容は、具体的には以下のとおりである。
上記の(1)式2番目の条件式を満たすことから、クライアント1は、Request
Home、Request1、Request3、Request4の送信権を保持する。
また、クライアント1のIDは、0〜2−1の中からランダムに選択された結果、6である。
グループ情報を受信したグループ情報受信部202は、以下の情報をシステム情報DBに保存する。
1)グループ情報
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:なし
・クライアントのID:6
2)管理リング上で次のクライアント:クライアント1
3)管理リング上で前のクライアント:クライアント1
4)自装置が送信権を持っているリクエスト:Request Home、 Request1、3、4
クライアント2からグループ加入要求が送信された場合は、サーバ装置100はクライアント2も同様の方法によりグループに登録する。
クライアント2も、クライアント1と同様に、Request Homeが含まれるグループ加入要求が送信された場合は、グループ情報送信部105から送信されるグループ情報は以下のようになる。
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:クライアント1
・クライアントのID:11
このとき、クライアント2のクライアント探索部203が、次のクライアントと前のクライアントを探索する。
探索の結果、次のクライアントも、前のクライアントもクライアント1であることがわかる。
その後、クライアント1及びクライアント2のシステム情報書き換え部211にて、それぞれのシステム情報を書き換える。
これにより、クライアント1とクライアント2のシステム情報DBは、以下のように書き換わる。
α)クライアント1のシステム情報
1)グループ情報
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:クライアント1
・クライアントのID:11
2)管理リング上で次のクライアント:クライアント2
3)管理リング上で前のクライアント:クライアント2
4)自装置が送信権を持っているリクエスト:Request Home、Request1、4
β)クライアント2のシステム情報
1)グループ情報
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、 Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:クライアント1
・クライアントのID:11
2)管理リング上で次のクライアント:クライアント1
3)管理リング上で前のクライアント:クライアント1
4)自装置が送信権を持っているリクエスト:Request3
なお、この時点での管理リングで管理するクライアントと、リクエスト送信権の関係を、図18に示す。
<3>クライアントがグループを離脱する段階
所属グループに含まれないクライアントリクエスト(以下、グループ外クライアントリクエストともいう)のサーバ装置100への送信が必要になった場合に、クライアントは、所属グループから離脱する。
そして、当該クライアントでは、グループ加入要求部201が、グループ外クライアントリクエストが含まれるグループ加入要求をサーバ装置100に送信して、サーバ装置100に、グループ外クライアントリクエストが含まれるグループへの加入を要求する。
クライアントが所属グループから離脱するときは、離脱通知部212が、管理リング上で次の位置にあるクライアントと、前の位置にあるクライアントに離脱する旨を伝え、その後、所属グループから離脱する。
離脱通知部212は、具体的には、以下のように動作する。
まず、離脱通知部212は、システム情報から、管理リング上で次の位置にあるクライアントの情報を取得する。
その後、離脱通知部212は、次の位置にあるクライアントに対して、所属グループを離脱する旨を通知する。
離脱通知部212は、以下を通知する。
1)自装置に送信権があるリクエスト
2)管理リング上で自装置の前に位置するクライアントの情報
また、離脱通知部212は、システム情報DBから、管理リング上で前の位置にあるクライアントの情報を取得する。
その後、離脱通知部212は、前の位置にあるクライアントに対して、所属グループを離脱する旨を通知する。
離脱通知部212は、以下を通知する。
1)管理リング上で自装置の次に位置するクライアントの情報
また、所属グループを離脱するクライアントから通知を受けたクライアントでは、システム情報書き換え部211が、所属グループを離脱するクライアントから送られてきた情報を元に、システム情報DB210のシステム情報を書き換える。
具体的には、離脱するクライアントの次の位置にあるクライアントでは、システム情報書き換え部211が、離脱するクライアントからの情報で通知された送信権をシステム情報に追加する。
また、システム情報に記述されている前の位置のクライアントを、離脱するクライアントからの情報で通知された前の位置のクライアントに書き換える。
また、離脱するクライアントの前の位置にあるクライアントでは、システム情報書き換え部211が、システム情報に記述されている次の位置のクライアントを、離脱するクライアントからの情報で通知された次の位置のクライアントに書き換える。
ここでは、図18に示す状態からクライアント1がグループ1から離脱する例を示す。
グループ1を離脱するために、クライアント1では、離脱通知部212が、管理リング上で次の位置にあるクライアントであるクライアント2に、グループ1を離脱する旨を伝える。
具体的には、クライアント1の離脱通知部212は、次の位置にあるクライアント(クライアント2)に以下の情報を伝える。
・自装置に送信権があるリクエスト:Request Home、Request1、4
・管理リング上で前のクライアントの情報:クライアント2
クライアント1の離脱に伴い、クライアント2では、システム情報書き換え部211が、クライアント2が保持するシステム情報を、以下のように書き換える。
以下では、Beforeが書き換え前、Afterが書き換え後である。
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、 Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:クライアント1
・クライアントのID:11
・管理リング上で次のクライアント:クライアント1
・管理リング上で前のクライアント:クライアント1(Before)⇒クライアント2(After)
・自装置が送信権を持っているリクエスト: Request3(Before)⇒Request Home、Request1、3、4(After)
また、クライアント1の離脱通知部212は、管理リング上で前の位置にあるクライアントであるクライアント2に、グループ1を離脱する旨を伝える。
具体的には、クライアント1の離脱通知部212は、前の位置にあるクライアント(クライアント2)に以下の情報を伝える。
・管理リング上で次のクライアントの情報:クライアント2
この結果、クライアント2のシステム情報は、以下のように書き換わる。
・リクエストやクライアントに付くIDの範囲:0〜2−1
・グループ1が対象とするリクエスト:Request Home、Request1、3、4
・各リクエストのID:
Request Home:3
Request1:13
Request3:9
Request4:5
・管理リング上のクライアント:クライアント1
・クライアントのID:11
・管理リング上で次のクライアント:クライアント1(Before)⇒クライアント2(After)
・管理リング上で前のクライアント:クライアント2
・自装置が送信権を持っているリクエスト: Request Home、Request1、3、4
<4>クライアントがリクエストを送信する段階
各クライアントは、複数のクライアントを経由して、送信権を持つクライアントを探索する。
具体的には、各クライアントが持っている、管理リング上で次のクライアントの情報を元に、クライアントを経由して送信権を持つクライアントを探索する。
各クライアントでは、リクエストの送信が必要になった場合、または、他のクライアントからリクエストを受信した場合に、送信権判定部205が、自装置が当該リクエストの送信権を保持しているかどうかを判定する。
自装置が当該リクエストの送信権を保持している場合は、送信権判定部205は、レスポンスDB209にレスポンスがあるかどうかを確認する。
レスポンスDB209は、レスポンスデータを保存するDBである。
レスポンスDBは、図19に示すように、各リクエストに対応するレスポンスと、その期限が示されている。
自装置がリクエストの送信権を保持している場合であって、レスポンスDB209にレスポンスがない場合は、リクエスト送信部206が、サーバにリクエストを送信する。
サーバからレスポンスを受信した場合に、リクエストが他のクライアントからのリクエストであれば、レスポンス送信部208が、管理リング上で前の位置にあるクライアントにレスポンスを送信する。
一方、自装置がリクエストの送信権を保持している場合であって、レスポンスDB209にレスポンスがある場合は、送信権判定部205は、レスポンスDB209から、リクエストに対応するレスポンスを取得する。
リクエストが他のクライアントからのリクエストであれば、レスポンス送信部208が、管理リング上で前の位置にあるクライアントにレスポンスを送信する。
自装置がリクエストの送信権を保持していない場合は、送信権判定部205は、システム情報DB210から管理リング上で次のクライアントを取得する。
その後、リクエスト送信部206が、次のクライアントにリクエストを送信する。
また、クライアントにおいて、所属グループが対象としないリクエスト(グループ外クライアントリクエスト)の送信が必要になった場合は、前述したように、所属グループを離脱した後、そのリクエスト(グループ外クライアントリクエスト)に対応するグループに加入する。
ここでは、図18に示すクライアント1においてRequest4の送信が必要になった例を示す。
まず、クライアント1の送信権判定部205が、システム情報に、Request4が含まれるかどうか調べる。
つまり、Request4が、グループ1が対象としているリクエストであるかどうかを調べる。
この場合、Request4がシステム情報に含まれる。
また、送信権判定部205は、システム情報を調べ、自装置(クライアント1)にRequest4の送信権があるかどうかを判定する。
この場合、自装置(クライアント1)にはRequest4の送信権がある。
次に、送信権判定部205は、レスポンスDB209を調べ、Request4に対応するレスポンスデータの存在を調べる。
図19に、初期状態のレスポンスDB209の中身を示す。
ここでは、Request4に対応するレスポンスデータがレスポンスDB209に格納されていないため、リクエスト送信部206が、Request4をサーバに送信する。
サーバでは、リクエスト受信部106がRequest4を受信し、レスポンス生成部107がRequest4に対応するレスポンスを生成し、レスポンス送信部108がレスポンスをクライアント1に送信する。
クライアント1では、レスポンス受信部207が、サーバから送信されたレスポンスを受信する。
そして、送信権判定部205が、レスポンスDB209にレスポンスを格納する。
このとき、レスポンスに、データの保存期間を示す情報が付いているならば、その情報とともにレスポンスをレスポンスDB209に格納する。
Request4のレスポンスを、レスポンスDB209に書き込んだ結果を図20に示す。
上記処理の後、クライアント2がRequest4を送信する処理の流れを説明する。
クライアント2の送信権判定部205が、システム情報に、Request4が含まれるかどうか調べる。
つまり、Request4が、グループ1が対象としているリクエストであるかどうかを調べる。
この場合、Request4がシステム情報に含まれる。
また、送信権判定部205は、システム情報を調べ、自装置(クライアント2)にRequest4の送信権があるかどうかを判定する。
自装置(クライアント2)にはRequest4の送信権がないため、管理リング上で次のクライアント(クライアント1)にRequest4を送信する。
クライアント1では、リクエスト受信部204が、クライアント2から送信されたRequest4を受信し、送信権判定部205が、システム情報を参照して、自装置(クライアント1)にRequest4の送信権があるかどうかを調べる。
クライアント1はRequest4の送信権を保持しており、また、レスポンスDB209には、Request4に対応するレスポンスのデータがある。
レスポンスの有効期限内であれば、レスポンス送信部208は、レスポンスDB209内のレスポンスを前のクライアントであるクライアント2に送信する。
また、クライアント1が、Request5を送信する例を説明する。
Request5は、グループ1が対象とするリクエストではない。
このため、クライアント1の離脱通知部212が、グループ1からの離脱を通知する。
そして、クライアント1のグループ加入要求部201がRequest5を含むグループ加入要求部をサーバに送信することで、クライアント1がグループ2に加入する。
図17の方法1の場合は、サーバがRequest5のレスポンスをグループ2のグループ情報とともにクライアント1に送信する。
一方、図17の方法2の場合は、サーバはグループ2のグループ情報をクライアント1に送信する。
クライアント1は、グループ情報に従って、グループ2の管理リング上で次の位置にあるクライアントを特定し、特定したクライアントにRequest5を送信する。
以降の処理は、グループ1での処理と同様である。
***効果の説明***
特許文献1及び特許文献2に示す、物理的なネットワーク構成を元にクライアントのグループ分割を行う方法では、各グループから、全てのリクエストが重複してサーバに送信される可能性がある(図23)。
一方、本実施の形態では、クライアントリクエストを元にクライアントのグループ分割を行う、ため、リクエストが重複してサーバ装置に送信されることがない(図21)。
クライアントから、全てのリクエスト(Request Home、1〜6)が送信される場合、上記手法を用いることにより、特許文献1及び特許文献2の方法と比べてサーバの処理負荷を50%削減できる。
***ハードウェア構成の説明***
最後に、サーバ装置100及びクライアント装置200のハードウェア構成例を図22を参照して説明する。
サーバ装置100及びクライアント装置200はコンピュータである。
サーバ装置100及びクライアント装置200は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
補助記憶装置902には、図2に示す要素及び図3に示す要素(但し、「〜記憶部」を除く)(これらをまとめて「部」と表記する)の機能を実現するプログラムが記憶されている。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図22では、1つのプロセッサ901が図示されているが、サーバ装置100及びクライアント装置200が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate
Array)といった他の種類の処理回路をも包含する概念である。
100 サーバ装置、101 リクエストグルーピング部、102 グループ加入要求受信部、103 クライアントグルーピング部、104 組合せ記憶部、105 グループ情報送信部、106 リクエスト受信部、107 レスポンス生成部、108 レスポンス送信部、200 クライアント装置、201 グループ加入要求部、202 グループ情報受信部、203 クライアント探索部、204 リクエスト受信部、205 送信権判定部、206 リクエスト送信部、207 レスポンス受信部、208 レスポンス送信部、209 レスポンスDB、210 システム情報DB、211 システム情報書き換え部、212 離脱通知部。

Claims (11)

  1. クライアントリクエストのグルーピングを行うリクエストグルーピング部と、
    前記リクエストグルーピング部によるグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にして、クライアント装置のグルーピングを行うクライアントグルーピング部と、
    前記リクエストグルーピング部によるグルーピング結果と前記クライアントグルーピング部によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、グループに含まれるクライアントリクエストとグループに所属するクライアント装置とを通知するグループ情報を、グループに所属するクライアント装置に送信するグループ情報送信部とを有するサーバ装置。
  2. 前記サーバ装置は、更に、
    前記リクエストグルーピング部によるグルーピング結果と前記クライアントグルーピング部によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、クライアントリクエストとクライアント装置との組合せを記憶する組合せ記憶部を有する請求項1に記載のサーバ装置。
  3. 前記リクエストグルーピング部は、
    クライアントリクエスト間の関係を解析してクライアントリクエストのグルーピングを行う請求項1に記載のサーバ装置。
  4. 前記リクエストグルーピング部は、
    クライアントリクエストが対象とする、互いに関連付けられたデータ群の階層構造を解析してクライアントリクエストのグルーピングを行う請求項1に記載のサーバ装置。
  5. 前記リクエストグルーピング部は、
    各グループのクライアントリクエストの個数が均等になるようにクライアントリクエストのグルーピングを行う請求項1に記載のサーバ装置。
  6. 前記クライアントグルーピング部は、
    クライアントリクエストが受信された場合、受信されたクライアントリクエストの送信元のクライアント装置を、受信されたクライアントリクエストが含まれるグループに所属させる請求項1に記載のサーバ装置。
  7. クライアントリクエストのグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にしてクライアント装置のグルーピングを行うサーバ装置によって指定されたグループであって自装置が所属するグループである所属グループに含まれるクライアントリクエストの送信権が自装置にあるか否かを判定し、前記クライアントリクエストの送信権が自装置にある場合に、前記クライアントリクエストに対するレスポンスがキャッシュ領域にキャッシュされているか否かを判定する送信権判定部と、
    前記送信権判定部により前記クライアントリクエストの送信権が自装置にあり、前記クライアントリクエストに対するレスポンスが前記キャッシュ領域にキャッシュされていないと判定された場合に、前記サーバ装置に前記クライアントリクエストを送信し、前記送信権判定部により前記クライアントリクエストの送信権が自装置にないと判定された場合に、前記所属グループに所属している他のクライアント装置に前記クライアントリクエストを送信するリクエスト送信部とを有するクライアント装置。
  8. 前記クライアント装置は、更に、
    前記所属グループに所属している他のクライアント装置から送信されたクライアントリクエストを受信するリクエスト受信部を有し、
    前記送信権判定部は、
    前記リクエスト受信部により受信された受信クライアントリクエストの送信権が自装置にあるか否かを判定し、前記受信クライアントリクエストの送信権が自装置にある場合に、前記受信クライアントリクエストに対するレスポンスが前記キャッシュ領域にキャッシュされているか否かを判定し、
    前記リクエスト送信部は、
    前記送信権判定部により前記受信クライアントリクエストの送信権が自装置にあり、前記受信クライアントリクエストに対するレスポンスが前記キャッシュ領域にキャッシュされていないと判定された場合に、前記サーバ装置に前記受信クライアントリクエストを送信し、前記送信権判定部により前記受信クライアントリクエストの送信権が自装置にないと判定された場合に、前記所属グループに所属している他のクライアント装置のうち前記受信クライアントリクエストの送信元のクライアント装置以外のクライアント装置に前記受信クライアントリクエストを送信する請求項7に記載のクライアント装置。
  9. 前記クライアント装置は、更に、
    前記所属グループに含まれないクライアントリクエストであるグループ外クライアントリクエストの前記サーバ装置への送信が必要になった場合に、前記所属グループに所属している他のクライアント装置に前記所属グループからの離脱を通知する離脱通知部と、
    前記離脱通知部により前記所属グループに所属している他のクライアント装置に前記所属グループからの離脱が通知された後に、前記サーバ装置に前記グループ外クライアントリクエストを送信して、前記サーバ装置に、前記グループ外クライアントリクエストが含まれるグループへの加入を要求するグループ加入要求部とを有する請求項7に記載のクライアント装置。
  10. コンピュータであるサーバ装置が、クライアントリクエストのグルーピングを行うリクエストグルーピング処理と、
    前記サーバ装置が、前記リクエストグルーピング処理によるグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にして、クライアント装置のグルーピングを行うクライアントグルーピング処理と、
    前記サーバ装置が、前記リクエストグルーピング処理によるグルーピング結果と前記クライアントグルーピング処理によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、グループに含まれるクライアントリクエストとグループに所属するクライアント装置とを通知するグループ情報を、グループに所属するクライアント装置に送信するグループ情報送信処理とを有するグルーピング方法。
  11. コンピュータであるサーバ装置に、
    クライアントリクエストのグルーピングを行うリクエストグルーピング処理と、
    前記リクエストグルーピング処理によるグルーピングにより得られたクライアントリクエストのグループをグルーピングの単位にして、クライアント装置のグルーピングを行うクライアントグルーピング処理と、
    前記リクエストグルーピング処理によるグルーピング結果と前記クライアントグルーピング処理によるグルーピング結果とに基づき、クライアントリクエストのグループごとに、グループに含まれるクライアントリクエストとグループに所属するクライアント装置とを通知するグループ情報を、グループに所属するクライアント装置に送信するグループ情報送信処理とを実行させるグルーピングプログラム。
JP2015028323A 2015-02-17 2015-02-17 サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム Active JP6324331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028323A JP6324331B2 (ja) 2015-02-17 2015-02-17 サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028323A JP6324331B2 (ja) 2015-02-17 2015-02-17 サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム

Publications (2)

Publication Number Publication Date
JP2016151846A JP2016151846A (ja) 2016-08-22
JP6324331B2 true JP6324331B2 (ja) 2018-05-16

Family

ID=56696594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028323A Active JP6324331B2 (ja) 2015-02-17 2015-02-17 サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム

Country Status (1)

Country Link
JP (1) JP6324331B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4271620B2 (ja) * 2004-06-10 2009-06-03 日本電信電話株式会社 分散型データ処理/管理装置及びその方法
JP2007323334A (ja) * 2006-05-31 2007-12-13 Waakuatto:Kk Webページ抽出システム、これを用いた広告配信システムおよび広告配信プログラム
JP2009075912A (ja) * 2007-09-21 2009-04-09 Hoshiai Shinichi 情報共有システム
JP5011185B2 (ja) * 2008-03-26 2012-08-29 株式会社エヌ・ティ・ティ・データ 情報分析装置、情報分析方法、及び情報分析プログラム
JP2010123038A (ja) * 2008-11-21 2010-06-03 Nippon Telegr & Teleph Corp <Ntt> 関連ウェブページ発見装置、関連ウェブページ発見方法および関連ウェブページ発見プログラム
WO2011039642A1 (en) * 2009-09-30 2011-04-07 France Telecom Cluster peer for peer-to-peer systems and method of operation thereof
JP2012064136A (ja) * 2010-09-17 2012-03-29 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラム
JP2013167982A (ja) * 2012-02-14 2013-08-29 Onkyo Corp コントローラ及びそのプログラム

Also Published As

Publication number Publication date
JP2016151846A (ja) 2016-08-22

Similar Documents

Publication Publication Date Title
US11356829B2 (en) Dynamic types for activity continuation between electronic devices
US10574770B2 (en) Managing notifications across multiple devices
US10356466B1 (en) Providing selectable content creator controls in conjunction with sponsored media content items
CN110727525B (zh) 用于活动协作的配套应用程序
US8935560B2 (en) System and method of file locking in a network file system federated namespace
CN108432200B (zh) 用于保护和控制对私密个人信息的访问的方法
EP3485400A1 (en) Methods and systems for server-side rendering of native content for presentation
US20140143647A1 (en) Method for improving browser cache by reducing duplicate stored content
US9177009B2 (en) Generation based update system
KR20200140944A (ko) 전자 디바이스들 사이의 액티비티 계속
KR102049133B1 (ko) 파일 서술자를 자동으로 관리하는 기법
US10574703B1 (en) Content delivery employing multiple security levels
WO2017045450A1 (zh) 资源的操作处理方法及装置
US20150347996A1 (en) Shared purchases
WO2017128701A1 (zh) 存储数据的方法和装置
JP2022064883A (ja) 強化されたオンラインプライバシ
CN114073058A (zh) 用于基于网络的媒体处理(nbmp)中的媒体处理功能的配置参数的图形表示和描述
CN110545324B (zh) 数据处理方法、装置、系统、网络设备和存储介质
US9047300B2 (en) Techniques to manage universal file descriptor models for content files
US8639770B1 (en) Separation of mutable and immutable data in a memory cache for improvement of data updates
US10771572B1 (en) Method and system for implementing circle of trust in a social network
CN107949830B (zh) 将与活动相关的信息从源电子装置转发至伴随电子装置
JP6324331B2 (ja) サーバ装置及びクライアント装置及びグルーピング方法及びグルーピングプログラム
US20230088115A1 (en) Generating early hints informational responses at an intermediary server
JP2018055314A (ja) 画像転送装置および画像転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180205

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: 20180313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180410

R150 Certificate of patent or registration of utility model

Ref document number: 6324331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150