JP2010200206A - Server-client system - Google Patents

Server-client system Download PDF

Info

Publication number
JP2010200206A
JP2010200206A JP2009045245A JP2009045245A JP2010200206A JP 2010200206 A JP2010200206 A JP 2010200206A JP 2009045245 A JP2009045245 A JP 2009045245A JP 2009045245 A JP2009045245 A JP 2009045245A JP 2010200206 A JP2010200206 A JP 2010200206A
Authority
JP
Japan
Prior art keywords
data
server
client
clients
time
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
JP2009045245A
Other languages
Japanese (ja)
Inventor
Kenji Kitagawa
健司 北川
Yoshito Watanabe
義人 渡辺
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.)
Alpha Systems KK
Original Assignee
Alpha Systems KK
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 Alpha Systems KK filed Critical Alpha Systems KK
Priority to JP2009045245A priority Critical patent/JP2010200206A/en
Publication of JP2010200206A publication Critical patent/JP2010200206A/en
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a server-client system capable of distributing data including related data, in response to one-time data request, even when both the number of clients and file size are large, and of reducing the loads on a server and on a network. <P>SOLUTION: The server client system 1 is constituted of a server 2 capable of supplying specific AP system data D1-1 to D2-n, including boot information and OS; and a plurality of clients 5-1 to 5-n, which are connected with the server over a network 6 and acquire specific AP system data from the server to be used in a common environment. The server monitors data requests from the plurality of clients; and when a data request is issued from any client, data-requested data D1-1 and associated data D1-2, D1-3, which are possible to be accessed layer in association with the data-requested data, are multicast-distributed to the plurality of clients. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明はサーバクライアントシステムに関する。詳しくは、クライアントはネットワークを介してサーバに保存されているデータを取得して、特定のアプリケーションシステムを起動するサーバクライアントシステムに関する。   The present invention relates to a server client system. Specifically, the present invention relates to a server client system that acquires data stored in a server via a network and starts a specific application system.

近年、ネットワークブートを取り入れたサーバクライアントシステムが普及してきた。ネットワークブートとは、クライアントがローカルエリアネットワーク(LAN)等のネットワークを介してサーバに保存されているデータ(通常はファイル)を取得して、特定のアプリケーション(AP)に係るオペレーティングシステム(OS)を起動することをいう。クライアントが取得するデータには、APデータ(AP用プログラム及びデータ)だけでなく、ブート情報やOSを含むディスクイメージも含まれる。ディスクイメージを使用すると、クライアントは、恰もハードディスクからアプリケーションシステムを起動したと同様に、特定のAPを利用することができる。   In recent years, server client systems incorporating network boots have become widespread. Network boot is a method in which a client obtains data (usually a file) stored in a server via a network such as a local area network (LAN), and operates an operating system (OS) related to a specific application (AP). It means starting up. The data acquired by the client includes not only AP data (AP program and data) but also a disk image including boot information and an OS. When a disk image is used, the client can use a specific AP in the same manner as when the application system is started from the hard disk.

図13に従来のサーバクライアントシステムにおけるデータ配信の概念を示す。図13(a)は1つのサーバから配信するサーバクライアントシステム51Aの例を示す。ブートサーバ(ブートを行なうサーバ)52は特定のアプリケーションシステムデータ(本例ではディスクイメージ)53を蓄積するデータベース54を有し、複数クライアント55−1〜55−4がLAN56を介してブートサーバ52に接続されている。各クライアント55−1〜55−4は個別にブートサーバ52にデータ53を要求し、ブートサーバ52は同一データ53を各クライアント55−1〜55−4に時間を変えて個別に配信する。57はLAN56のスイッチである。図13(b)はサーバを分散して配信するサーバクライアントシステム51Bの例を示す。サーバ52−1,52−2を分散することにより、各サーバ52−1,52−2に掛かる負荷は軽減される。複数のクライアント55−1〜55−2がLAN56−1を介してブートサーバ52−1に接続され、複数のクライアント55−3〜55−4がLAN56−2を介してブートサーバ52−2に接続されている。サーバ52−1,52−2はそれぞれ、特定のアプリケーションシステムデータ(本例ではディスクイメージ)53を蓄積するデータベース54−1,54−2を有する。各クライアント55−1〜55−2は個別にブートサーバ52−1にデータ53を要求し、ブートサーバ52−1は,同一データ53を各クライアント55−1〜55−2に時間を変えて個別に配信する。各クライアント55−3〜55−4は個別にブートサーバ52−2にデータ53を要求し、ブートサーバ52−2は,同一データ53を各クライアント55−3〜55−4に時間を変えて個別に配信する。   FIG. 13 shows the concept of data distribution in a conventional server client system. FIG. 13A shows an example of a server client system 51A distributed from one server. The boot server (server for booting) 52 has a database 54 for storing specific application system data (disk image in this example) 53, and a plurality of clients 55-1 to 55-4 are connected to the boot server 52 via the LAN 56. It is connected. Each client 55-1 to 55-4 individually requests data 53 from the boot server 52, and the boot server 52 distributes the same data 53 to each client 55-1 to 55-4 individually at different times. Reference numeral 57 denotes a LAN 56 switch. FIG. 13B shows an example of a server client system 51B that distributes and distributes servers. By distributing the servers 52-1 and 52-2, the load on each of the servers 52-1 and 52-2 is reduced. A plurality of clients 55-1 to 55-2 are connected to the boot server 52-1 via the LAN 56-1, and a plurality of clients 55-2 to 55-4 are connected to the boot server 52-2 via the LAN 56-2. Has been. Each of the servers 52-1 and 52-2 has databases 54-1 and 54-2 that store specific application system data (disk images in this example) 53. Each client 55-1 to 55-2 individually requests the data 53 from the boot server 52-1, and the boot server 52-1 individually changes the same data 53 to each client 55-1 to 55-2 at different times. Deliver to. Each client 55-3 to 55-4 individually requests data 53 from the boot server 52-2, and the boot server 52-2 individually changes the same data 53 to each client 55-3 to 55-4 at different times. Deliver to.

図14に従来のサーバクライアントシステムにおけるデータ配信手順の一例を示す。システムは例えば図13(a)の構成とする。データ53としてデータ53−1〜53−3を配信するものとする。クライアント55−1,55−2はそれぞれサーバ52にデータ53−1を要求し、サーバ52は要求に応答してデータ53−1をそれぞれクライアント55−1,55−2に時間を変えて個別に配信する。次に、クライアント55−1,55−2はそれぞれサーバ52にデータ53−2を要求し、サーバ52は要求に応答してデータ53−2をそれぞれクライアント55−1,55−2に時間を変えて個別に配信する。次に、クライアント55−1,55−2はそれぞれサーバ52にデータ53−3を要求し、サーバ52は要求に応答してデータ53−3をそれぞれクライアント55−1,55−2に時間を変えて個別に配信する。図ではクライアント数を2まで示しているが、クライアント数が多い場合でも、サーバ52は各クライアントからの要求に応じて、クライアント毎に要求されたデータを時間を変えて個別に配信する。また、クライアントは自己のワークの処理を進めるために、データ53−1が必要になったらデータ53−1を要求し、受信後、処理を進め、さらにデータ53−2が必要になったらデータ53−2を要求するというように、必要なデータをその都度要求し、サーバ52は要求の都度時間を変えて個別に配信する。   FIG. 14 shows an example of a data distribution procedure in a conventional server client system. For example, the system is configured as shown in FIG. Data 53-1 to 53-3 are distributed as the data 53. Each of the clients 55-1 and 55-2 requests the data 53-1 from the server 52, and the server 52 responds to the request by individually changing the data 53-1 to the clients 55-1 and 55-2, respectively. To deliver. Next, the clients 55-1 and 55-2 request the data 53-2 from the server 52, and the server 52 changes the time of the data 53-2 to the clients 55-1 and 55-2 in response to the request. Distributed individually. Next, the clients 55-1 and 55-2 request the data 53-3 from the server 52, and the server 52 changes the time of the data 53-3 to the clients 55-1 and 55-2 in response to the request. Distributed individually. Although the number of clients is shown in the figure up to 2, even when the number of clients is large, the server 52 distributes the requested data individually for each client at different times in response to requests from each client. Further, in order to proceed with the processing of its own work, the client requests the data 53-1 when the data 53-1 is necessary, proceeds with the processing after receiving the data 53-1, and further proceeds to the data 53 when the data 53-2 is necessary. -2 is requested each time, as in the case of requesting -2, and the server 52 distributes the data individually at different times for each request.

しかしながら、図13(a),(b)のサーバクライアントシステム共、個別に時間を変えて同一データ53を配信するため、データ転送量=クライアント台数×ファイルサイズ(ファイルが複数のときは、各ファイルのデータ量の和)となり、サーバ及びネットワーク56,56−1,56−2の負荷は大きく、トラフィックは混雑する。このため、プログラムとデータを全プロセッサに共通なプログラムとデータで構成される共通ファイルとそれぞれのプロセッサに対応したプログラムとデータで構成される固有ファイルに分類し、共通ファイルを受信したプロセッサは、共通ファイルを次にロードすべきプロセッサが記述されたIPL(初期プログラム・ロード)制御情報から次にロードすべきプロセッサを認識して、当該プロセッサに共通ファイルを順次送信していく方式、ファイルサーバが複数のディスクレスコンピュータの1台からネットワークを介してブートデータの要求を受けたときに、所定時間待った後にブロードキャスト(不特定多数への同報通信)にて一斉に複数のディスクレスコンピュータに対してブートデータを供給する方式等が提案されている。(特許文献1,2参照)   However, both the server and client systems in FIGS. 13A and 13B distribute the same data 53 at different times, so that the data transfer amount = the number of clients × the file size (if there are multiple files, each file The load on the servers and networks 56, 56-1, and 56-2 is large, and the traffic is congested. For this reason, programs and data are classified into a common file composed of programs and data common to all processors and a unique file composed of programs and data corresponding to each processor, and the processor receiving the common file is common A method of recognizing a processor to be loaded next from IPL (initial program load) control information describing a processor to which a file is to be loaded next, and sequentially transmitting a common file to the processor, and a plurality of file servers When a boot data request is received from one of the diskless computers via the network, the boot data is broadcast to a plurality of diskless computers all at once by broadcasting (broadcast communication to unspecified majority) after waiting for a predetermined time. A supply method has been proposed. (See Patent Documents 1 and 2)

図15に従来のサーバクライアントシステムにおけるデータ配信手順の別の例を示す。この例では上述の従来例と同様に、サーバ52はデータを要求したクライアント55−1だけでなく、順次転送方式、ブロードキャスト、マルチキャスト(多数の相手を指定した同報通信)等により、LAN56を介して同じシステムに属する他のクライアント55−2にも配信する例である。クライアント55−1はサーバ52にデータ53−1を要求し、サーバ52は要求に応答してデータ53−1をクライアント55−1及び55−2に一斉に配信する。次に、クライアント55−1はサーバ52にデータ53−2を要求し、サーバ52は要求に応答してデータ53−2をクライアント55−1及び55−2に一斉に配信する。次に、クライアント55−1はサーバ52にデータ53−3を要求し、サーバ52は要求に応答してデータ53−3をクライアント55−1及び55−2に一斉に配信する。この例では、サーバはクライアントに一斉に配信可能であるが、異なるデータに関しては、データ毎に要求がされ、要求の都度、データ毎に配信する。   FIG. 15 shows another example of the data distribution procedure in the conventional server client system. In this example, similarly to the above-described conventional example, the server 52 is not limited to the client 55-1 requesting data, but via the LAN 56 by a sequential transfer method, broadcast, multicast (broadcast communication designating a number of other parties), or the like. This is an example of distribution to other clients 55-2 belonging to the same system. The client 55-1 requests the data 53-1 from the server 52, and the server 52 distributes the data 53-1 to the clients 55-1 and 55-2 simultaneously in response to the request. Next, the client 55-1 requests the data 53-2 from the server 52, and the server 52 distributes the data 53-2 to the clients 55-1 and 55-2 simultaneously in response to the request. Next, the client 55-1 requests the data 53-3 from the server 52, and the server 52 distributes the data 53-3 to the clients 55-1 and 55-2 simultaneously in response to the request. In this example, the server can distribute to the clients all at once, but different data is requested for each data, and is distributed for each data every time it is requested.

特開昭61−228245号公報(第1図〜第4図、第300頁右上欄第2行〜第301頁左上欄第9行)JP-A-61-228245 (FIGS. 1 to 4, page 300, upper right column, line 2 to page 301, upper left column, line 9) 特開平06−168198号公報(図1〜図4、段落0024〜0049)JP-A-06-168198 (FIGS. 1-4, paragraphs 0024-0049)

しかしながら、サーバが個別のクライアントからのデータ要求に逐一応答する場合はもとより、サーバがデータ要求したクライアントだけでなく、LANを介して同じシステムに属する他のクライアントにもデータを一斉に配信する場合でも、クライアントはデータが必要になる度にデータ要求を行い、サーバはその都度要求を受けて配信しなければならないという問題があった。また、多数のデータが必要な場合に、その都度要求を受けて配信すると、サーバとクライアントの間で何度もデータ要求と応答を繰り返さなければならず、特に、クライアント数が多い場合には、サーバが処理しなければならない要求数が多くなり、処理しきれなくなるという問題があった。すなわち、サーバ及びネットワークの負荷が増大するという問題があった。   However, not only when the server responds to data requests from individual clients one by one, but also when data is distributed all over the LAN to other clients belonging to the same system as well as the client that requested the data. The client makes a data request every time data is needed, and the server has to receive and distribute the request every time. In addition, when a large amount of data is required, each time a request is received and distributed, the data request and response must be repeated between the server and the client, especially when the number of clients is large. There was a problem that the number of requests that the server had to process increased, making it impossible to process. That is, there is a problem that the load on the server and the network increases.

特に、パソコン実習(授業と演習を行なう)用のコンピュータシステムにおいては、学生が一斉にコンピュータ(クライアント)を起動すると、データ要求数が多くなり、さらに、データ量が大きい時は応答に時間がかかり、ブートサーバが要求を処理しきれないという問題があった。授業では先生の指示に従って、学生が特定の操作を一斉に行なうことがしばしばあり、起動時に限らず、サーバへのアクセス集中が引き起こされる頻度が高い。このため、サーバからの応答がすぐに得られないためクライアントを起動するまでに長時間かかってしまうおそれも多い。データの転送量=クライアント数×ファイルサイズとなるために、クライアント数及びファイルサイズが共に大きい場合には、データの転送量が膨大になり、また、アクセスされるファイル数が大量の場合にも要求数が多大になり、サーバ及びネットワークの負荷が増大するおそれも多い。すなわち、サーバ及びネットワークの負荷が増大するという問題が特に顕著であった。   In particular, in a computer system for personal computer training (performing classes and exercises), when students start computers (clients) all at once, the number of data requests increases, and when the amount of data is large, it takes time to respond. There was a problem that the boot server could not handle the request. In class, students often perform specific operations at the same time in accordance with the instructions of the teacher, and there is a high frequency of concentration of access to the server, not just at startup. For this reason, since a response from the server cannot be obtained immediately, it often takes a long time to start the client. Since the amount of data transferred = number of clients x file size, if both the number of clients and the file size are large, the amount of data transferred becomes enormous, and it is also required when the number of accessed files is large. In many cases, the number of servers increases and the load on the server and the network increases. That is, the problem that the load on the server and the network increases is particularly remarkable.

本発明はかかる問題に鑑みてなされたものであり、クライアント数及びファイルサイズが共に大きい場合又はアクセスされるファイル数が多数の場合でも、一度のデータ要求により、関連データを含めて配信でき、これによりサーバ及びネットワークの負荷を軽減できるサーバクライアントシステムを提供することを目的とする。   The present invention has been made in view of such problems. Even when the number of clients and the file size are both large or the number of accessed files is large, it can be distributed including related data by a single data request. An object of the present invention is to provide a server client system that can reduce the load on the server and the network.

上記目的を達成するため、本発明の第1の態様のサーバクライアントシステム1は、例えば、図3及び図9に示すように、ブート情報及びオペレーティングシステム(OS)を含む特定のアプリケーションシステムデータD1−1〜D2−nを供給可能なサーバ2と、サーバ2とネットワーク6で接続され、サーバ2から特定のアプリケーションシステムデータD1−1〜D2−nを取得して共通環境で使用される複数のクライアント5−1〜5−nから構成されるサーバクライアントシステム1であって、サーバ2は複数のクライアント5−1〜5−nからのデータ要求を監視して、いずれかのクライアントからデータ要求がされた時に、データ要求されたデータD1−1及び当該データD1−1に関連してその後アクセスされる可能性のある関連データD1−2,D1−3を、複数のクライアント5−1〜5−nにマルチキャスト配信する。   In order to achieve the above object, the server client system 1 according to the first aspect of the present invention, as shown in FIGS. 3 and 9, for example, includes specific application system data D1- including boot information and an operating system (OS). 1 to D2-n and a plurality of clients connected to the server 2 via the network 6 and acquiring specific application system data D1-1 to D2-n from the server 2 and used in a common environment The server client system 1 is composed of 5-1 to 5-n, and the server 2 monitors data requests from a plurality of clients 5-1 to 5-n, and data requests are made from any of the clients. The data requested data D1-1 and the possibility of subsequent access in relation to the data D1-1. That relevant data D1-2, the D1-3, multicasts to a plurality of clients 5-1 to 5-n.

ここにおいて、ブート情報とは、クライアントに電源を投入してからデスクトップ画面が表示されるまでに必要なデータをいい、OS及びシステムの起動に利用される一部のAPに含まれる。また、アプリケーションシステムデータは当然APデータ(AP用のプログラム及びデータ)を含む。従ってアプリケーションシステムデータは大別すると、OSとAPデータからなり、ブート情報はこれらのOS及びAPデータの一部に含まれる。また、共通環境で使用されるとは、例えばパソコンを利用した授業や演習のように、共通のネットワーク上で共通のプロトコルに則して情報通信を行ない、共通のOS及び共通のAPを用いて使用されることを意味する。   Here, boot information refers to data required from when the client is powered on until the desktop screen is displayed, and is included in some APs used to start the OS and system. The application system data naturally includes AP data (AP program and data). Accordingly, the application system data is roughly divided into OS and AP data, and boot information is included in a part of these OS and AP data. In addition, the term “used in a common environment” means that information is communicated according to a common protocol on a common network, such as classes and exercises using a personal computer, and a common OS and a common AP are used. Means used.

本態様のように構成すると、クライアント数及びファイルサイズが共に大きい場合又はアクセスされるファイル数が多数の場合でも、一度のデータ要求により、関連データを含めてマルチキャスト配信で一斉に配信でき、これによりサーバ及びネットワークの負荷を軽減できるサーバクライアントシステムを提供できる。すなわち、クライアントを一斉に起動しても、データ転送量=約1×ファイルサイズとなり、クライアントを1台起動するのとほぼ同じ時間で起動でき、さらに一度のデータ要求により、関連データを含めて一斉に配信できるので、サーバ及びネットワークに掛かる負荷を大いに軽減できる。   With this configuration, even if the number of clients and the file size are both large or the number of files to be accessed is large, it is possible to distribute all of the related data including multicast data all at once by a single data request. A server client system that can reduce the load on the server and the network can be provided. In other words, even if the clients are started all at once, the data transfer amount is about 1 × file size, and it can be started in almost the same time as starting one client. Therefore, the load on the server and the network can be greatly reduced.

また、本発明の第2の態様のサーバクライアントシステム1は、第1の態様のサーバクライアントシステムにおいて、例えば図12に示すように、クライアント5−1〜5−nはデータセットが異なる複数のグループに分類され、サーバ2は各グループのクライアントに対して、全グループが使用し得る共通データを複数のクライアントに一括してマルチキャスト配信し、各グループが使用し得る個別データをグループ別にマルチキャスト配信する。   The server client system 1 according to the second aspect of the present invention is the server client system according to the first aspect. For example, as shown in FIG. 12, the clients 5-1 to 5-n include a plurality of groups having different data sets. The server 2 distributes the common data that can be used by all groups to a plurality of clients in a multicast manner to the clients of each group, and distributes the individual data that can be used by each group by multicast.

ここにおいて、複数のグループとして、例えばA教室とB教室で別の授業が行なわれている場合が挙げられる。この場合、2つの教室で利用するAPデータ(AP用プログラム及びデータ)が異なる可能性がある。このため、クライアントをA教室とB教室にグループ分けしておくことにより、APデータを共通用、A教室用、B教室用に分けて配信可能である。また、授業や演習の展開により使用されるデータが変化し得るので、使用し得るデータには実際に使用されるデータの他に使用される可能性のあるデータも含むものとする。   Here, as a plurality of groups, for example, a case where different classes are performed in classroom A and classroom B can be cited. In this case, AP data (AP program and data) used in the two classrooms may be different. For this reason, by dividing the client into the A classroom and the B classroom, the AP data can be distributed separately for the common classroom, the A classroom, and the B classroom. Moreover, since the data used by the development of classes and exercises can change, the data that can be used includes data that may be used in addition to the data that is actually used.

本態様のように構成すると、共通データについては、一度のデータ要求により、関連データを含めてデータを一括してマルチキャスト配信でき、サーバ及びネットワークの負荷を軽減できる。また、個別データについても、グループ毎に関連データを含めてまとめてマルチキャスト配信でき、サーバ及びネットワークの負荷を軽減できる。また、LAN上の同一セグメントに存在する複数のグループに対して同じデータを配信したり、グループ毎に特定のデータを配信することが可能になる。また、グループ分けにより、グループの異なる必要でないデータを受け取らずにすむ。   With this configuration, the common data can be distributed in a batch including the related data with a single data request, and the load on the server and the network can be reduced. In addition, individual data can also be multicast distributed together with related data for each group, reducing the load on the server and the network. In addition, the same data can be distributed to a plurality of groups existing in the same segment on the LAN, or specific data can be distributed for each group. Also, grouping eliminates the need for different groups of unnecessary data.

特に、パソコン実習用のコンピュータシステムにおいては、授業では基本的に学生は全員同じプログラムを使用する。したがって、ある1人の学生がデータとして当該プログラムをデータ要求し当該プログラムを起動すると、他の学生達にも当該プログラムが配信される。すなわち、出席者全員からのデータ要求を待たずにマルチキャスト配信を行なうケースでは、進展の遅い学生には常にプログラムがダウンロードされた状態になり、サーバにアクセスする必要がなくなる。同時に、当該プログラムに関連するデータ、例えば当該プログラムが必要とする別のプログラム等もまとめて配信されるので、理想的には、サーバとクライアント間の通信が最初のOSのデータ要求とその応答だけで済む可能性がある。   In particular, in a computer system for personal computer training, basically all students use the same program in class. Therefore, when one student requests the program as data and starts the program, the program is distributed to other students. That is, in a case where multicast distribution is performed without waiting for data requests from all attendees, a slow-growing student is always in a downloaded state and does not need to access the server. At the same time, since data related to the program, for example, another program required by the program, is distributed together, ideally communication between the server and the client is only the first OS data request and its response. There is a possibility that it can be done.

また、本発明の第3の態様のサーバクライアントシステム1は、第1の態様又は第2の態様のサーバクライアントシステムにおいて、例えば、図3及び図9に示すように、サーバ2は、データ送信開始時間を設定する配信タイマー13を有し、クライアント5−1〜5−nは、データ受信待機時間を設定する待受タイマー23を有し、サーバ2は、システムに属する1のクライアントからのデータ要求を検出した場合、配信タイマー13ーにデータ要求に係るデータを使用し得る殆ど全てのクライアントが受信できるようにデータ送信開始時間を設定し、1のクライアント以外のクライアントに、待受タイマー23にデータ送信開始時間に対応するデータ受信待機時間を設定するように指示し、1のクライアントと異なる他のクライアントから同一のデータ要求を検出した場合、配信タイマー13に設定したデータ送信開始時間を延長して再設定し、他のクライアント以外のクライアントに待受タイマー23に設定したデータ受信待機時間を延長して再設定するように指示し、データ送信開始時間が再設定された場合は最後に再設定されたデータ送信開始時間が経過した時に、再設定されなかった場合は最初に設定されたデータ送信開始時間が経過した時に、データ要求されたデータ及び関連データを、複数のクライアントにマルチキャスト配信し、クライアント5−1〜5−nは、サーバ2にデータ要求を行うことができ、データ要求を行なった1のクライアントは自発的に、1のクライアント以外のクライアントはサーバ2からのデータ受信待機時間の設定指示により、待受タイマー23にデータ受信待機時間を設定して、データ受信の待機状態に入り、サーバ2からデータ受信待機時間の延長指示があった場合、他のクライアント以外のクライアントは待受タイマー23ーに設定したデータ受信待機時間を延長して再設定して、データ受信の待機状態を継続し、サーバ2からデータ要求されたデータ及び関連データがマルチキャスト配信された時に、データ要求されたデータ及び関連データを受信する。   The server client system 1 according to the third aspect of the present invention is the server client system according to the first aspect or the second aspect. For example, as shown in FIGS. 3 and 9, the server 2 starts data transmission. The distribution timer 13 for setting time is included, the clients 5-1 to 5-n have the standby timer 23 for setting the data reception standby time, and the server 2 receives a data request from one client belonging to the system. Is detected, the data transmission start time is set so that almost all clients that can use the data related to the data request can be received in the distribution timer 13, and the data in the standby timer 23 is sent to clients other than one client. Is it instructed to set the data reception waiting time corresponding to the transmission start time, and whether it is another client different from one client? When the same data request is detected, the data transmission start time set in the distribution timer 13 is extended and reset, and the data reception standby time set in the standby timer 23 is extended to clients other than the other clients. If the data transmission start time is reset, the last data transmission start time has elapsed.If the data transmission start time has not been reset, the first data transmission start time is set. When the time has elapsed, the requested data and related data are multicast-distributed to a plurality of clients, and the clients 5-1 to 5-n can make a data request to the server 2 and Clients voluntarily, clients other than one client receive standby data in response to a data reception standby time setting instruction from the server 2. The data reception standby time is set in the data 23, the data reception standby state is entered, and when the server 2 receives an instruction to extend the data reception standby time, the clients other than the other clients set the standby timer 23. The data reception standby time is extended and reset to continue the data reception standby state, and when the data requested by the server 2 and the related data are distributed by multicast, the data requested data and the related data are received. To do.

ここにおいて、データを使用し得る殆ど全てのクライアントとは、システムに属し電源投入されたクライアント(授業や演習では全出席者)の殆ど全てであり、殆ど全てとは、全てを目標とするが、トラフィックやPC等のトラブルを考慮し多少の漏れがあっても良い(例えば10台中9台であれば90%)ことを意味する。データ要求は、典型的にはシステムに属し電源投入された全てのクライアントから行なわれる。最初のOS起動時には、クライアンントの電源投入時のばらつき等により、マルチキャスト配信を受信可能になっていない場合も生じ得るので、これら全てのクライアントからのデータ要求を受けて、配信タイマーの再設定を適宜行なう必要がある。これに対して、その後のOS又はAP起動時には、サーバ2からのデータ受信待機時間設定の指示により、クライアント側は一斉に受信待機状態に入り、直ぐに受信準備ができるので、サーバは、必ずしも他のクライアントからのデータ要求がある度にデータ送信開始時間の再設定とデータ受信待機時間の延長指示を繰り返し行なう必要はない。例えば所定の時間(例えば1min)を決めて当該時間内にまとまって(例えば80%)データ要求があった時、当該時間(この例では1min)経過後に、又はシステムに属し電源投入されたクライアント数(出席者数)の所定の割合(例えば70%)に達した後に、再設定を行ない、再設定されたデータ送信開始時間の経過後にマルチキャスト配信を行なっても良く、再設定を行わずに、データ送信開始時間の経過後にマルチキャスト配信を行なっても良い。また、データ要求数を計数しシステムに属し電源投入されたクライアント数になった後に、又はシステムが安定している等理想的な場合には1つのクライアントからのデータ要求を検出した後に、最初に設定されたデータ送信開始時間の経過後に、又は直ちにマルチキャスト配信を行なっても良い。さらに、データ要求されたデータに関連しないデータでもデータ要求がされることが確実なデータがある場合には、データ受信待機時間の解除をせずに、受信待機時間を継続すれば、1つのクライアントからのデータ要求を受信した時点で、データ送信開始時間の設定とデータ受信待機時間の継続設定を行ない、ことさら、データ送信開始時間の延長をしなくても良い。また、複数のクライアントから異なるデータ要求があった場合には、データの優先順位を定め、優先順位に従って順次配信することが好ましい。また、データ送信開始時間は開始時間を設定し、データ受信待機時間は終了時間を設定する。また、データ送信開始時間に対応するデータ受信待機時間とは、配信すべき殆ど全てのデータを配信した後にデータ受信待機時間が終了するようにデータ受信待機時間が設定されることを意味する。また、最後に再設定されたデータ送信開始時間とは、再設定が複数回行なわれた場合に最後に再設定されたデータ送信開始時間をいう。再設定が1回だけ行なわれた場合には、当該再設定が最後の再設定に該当する。再設定されなかった場合には、データ送信開始時間は当然、最初に設定されたデータ送信開始時間となる。   Here, almost all clients that can use the data are almost all of the clients that belong to the system and are turned on (all attendees in the class and exercises). This means that there may be some leakage in consideration of traffic and PC troubles (for example, 90% if 9 out of 10). Data requests are typically made from all clients that belong to the system and are powered on. When starting up the OS for the first time, it may happen that multicast distribution cannot be received due to variations in client power-on, etc., so it is possible to receive a data request from all these clients and reset the distribution timer. It is necessary to do it appropriately. On the other hand, when the OS or AP is subsequently started, the client side enters the reception standby state all at once according to the data reception standby time setting instruction from the server 2 and can immediately prepare for reception. It is not necessary to repeatedly reset the data transmission start time and instruct to extend the data reception standby time each time a data request is made from the client. For example, when a predetermined time (for example, 1 min) is determined and a data request is made within the time (for example, 80%), the number of clients that have been turned on after the time (in this example, 1 min) has elapsed or belonged to the system After reaching a predetermined ratio (for example, 70%) of (the number of attendees), resetting may be performed, and multicast distribution may be performed after the resetting data transmission start time has elapsed, without resetting, Multicast distribution may be performed after the elapse of the data transmission start time. Also, after counting the number of data requests and reaching the number of clients that belong to the system and turned on, or in the ideal case such as when the system is stable, after detecting a data request from one client, Multicast distribution may be performed after the set data transmission start time elapses or immediately. Furthermore, if there is data that is surely requested even for data not related to the requested data, if the reception standby time is continued without canceling the data reception standby time, one client When the data request is received, the data transmission start time is set and the data reception standby time is continuously set. In addition, the data transmission start time need not be extended. In addition, when there are different data requests from a plurality of clients, it is preferable that the priority order of data is determined and the data is sequentially distributed according to the priority order. The data transmission start time sets a start time, and the data reception standby time sets an end time. Further, the data reception standby time corresponding to the data transmission start time means that the data reception standby time is set so that the data reception standby time ends after almost all data to be distributed is distributed. The data transmission start time reset last is the data transmission start time reset last when the reset is performed a plurality of times. When the resetting is performed only once, the resetting corresponds to the last resetting. If it is not reset, the data transmission start time is naturally the data transmission start time set first.

本態様のように構成すると、データをマルチキャスト配信するに際して、配信タイマーを用いてデータ送信開始時間を定めることにより、データを使用し得るクライアントのデータ受信を確実にでき、効率の良い配信を行なうことができる。また、他のクライアントからのデータ要求を契機にデータ送信開始時間を延長することにより、データを使用し得るクライアントのデータ受信を一層確実にできる。   With this configuration, when data is multicast distributed, the data transmission start time is determined using a distribution timer, so that data reception by clients that can use the data can be ensured, and efficient distribution can be performed. Can do. Further, by extending the data transmission start time in response to a data request from another client, the data reception of the client that can use the data can be further ensured.

また、本発明の第4の態様のサーバクライアントシステム1は、第3の態様のサーバクライアントシステムにおいて、サーバ2は、複数のクライアント5−1〜5―nにブート開始指示を送信し、クライアント5−1〜5―nは、サーバ2からのブート開始指示を受信した時にブートを開始する。
ここにおいて、ブートとは、特定のアプリケーションシステムに係るブート情報配信完了後、特定のアプリケーションシステムをデスクトップ画面に表示し、操作可能にするためのブート(起動)をいう。本態様のように構成すると、複数のクライアントについてブートの条件が整った時に一斉にブートを行なうことができ、ブートを確実化できる。
The server client system 1 according to the fourth aspect of the present invention is the server client system according to the third aspect. The server 2 transmits a boot start instruction to the plurality of clients 5-1 to 5-n, and the client 5 -1 to 5-n start booting when a boot start instruction from the server 2 is received.
Here, boot refers to booting (starting) for displaying a specific application system on the desktop screen and making it operable after completion of boot information distribution related to the specific application system. With this configuration, booting can be performed all at once when the boot conditions are satisfied for a plurality of clients, and booting can be ensured.

また、本発明の第5の態様のサーバクライアントシステム1は、第3の態様のサーバクライアントシステムにおいて、クライアント5−1〜5―nは、特定のアプリケーションシステムに係るブート情報配信完了後さらに一定時間経過後にブートを開始する。
本態様のように構成すると、サーバからのブート開始指示がなくても、一定時間マージンをとってブートを行なうので、ブートを確実化できる。
Further, the server client system 1 according to the fifth aspect of the present invention is the server client system according to the third aspect, wherein the clients 5-1 to 5-n have a predetermined time after completion of boot information distribution related to a specific application system. Start booting after the lapse.
According to this configuration, booting is performed with a certain time margin even if there is no boot start instruction from the server, so that booting can be ensured.

本発明によれば、クライアント数及びファイルサイズが共に大きい場合又はアクセスされるファイル数が多数の場合でも、一度のデータ要求により、関連データを含めて配信でき、これによりサーバ及びネットワークの負荷を軽減できるサーバクライアントシステムを提供できる。   According to the present invention, even when the number of clients and the file size are both large or the number of files to be accessed is large, it is possible to distribute the data including related data by a single data request, thereby reducing the load on the server and the network. Server client system that can be provided.

実施例1のサーバクライアントシステムにおけるデータ配信の概念を示す図である。It is a figure which shows the concept of the data delivery in the server client system of Example 1. FIG. 実施例1のサーバクライアントシステム1のハード構成例を示す図である。1 is a diagram illustrating a hardware configuration example of a server client system 1 of Embodiment 1. FIG. 実施例1のサーバクライアントシステム1の機能構成例を示す図である。1 is a diagram illustrating a functional configuration example of a server client system 1 according to a first embodiment. プロファイル管理表の例を示す図である。It is a figure which shows the example of a profile management table. サーバの処理フロー例を示す図である。It is a figure which shows the example of a processing flow of a server. クライアントの処理フロー例(その1)を示す図である。It is a figure which shows the processing flow example (the 1) of a client. クライアントの処理フロー例(その2)を示す図である。It is a figure which shows the example (2) of the processing flow of a client. クライアントの処理フロー例(その3)を示す図である。It is a figure which shows the example (3) of a processing flow of a client. 実施例1におけるサーバとクライアント間の情報通信シーケンス例を示す図である。It is a figure which shows the example of an information communication sequence between the server and client in Example 1. FIG. サーバとクライアント間の起動シーケンス例を示す図である。It is a figure which shows the example of starting sequence between a server and a client. 起動時間を比較した図である。It is the figure which compared starting time. 実施例2におけるサーバとクライアント間の情報通信シーケンス例を示す図である。It is a figure which shows the example of an information communication sequence between the server in Example 2, and a client. 従来のサーバクライアントシステムにおけるデータ配信の概念を示す図である。It is a figure which shows the concept of the data delivery in the conventional server client system. 従来のサーバクライアントシステムにおけるデータ配信手順の例を示す図である。It is a figure which shows the example of the data delivery procedure in the conventional server client system. 従来のサーバクライアントシステムにおけるデータ配信手順の別の例を示す図である。It is a figure which shows another example of the data delivery procedure in the conventional server client system.

以下、図面を参照して、本発明の実施の形態について説明する。尚、各図において、互いに同一又は相当する部分には同一符号を付し,重複した説明は省略する。   Embodiments of the present invention will be described below with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and redundant description is omitted.

本実施例はパソコン実習室におけるサーバクライアントシステム1の例について説明する。サーバ2と多数のクライアント5がLAN6で接続されている。例えばサーバ2はサーバ室に、これらのクライアント5は1つの実習室内に設置されている。   In this embodiment, an example of the server client system 1 in a personal computer training room will be described. A server 2 and a large number of clients 5 are connected via a LAN 6. For example, the server 2 is installed in the server room, and these clients 5 are installed in one training room.

図1に本実施例のサーバクライアントシステム1におけるデータ配信の概念を示す。ブートサーバ(ブートも行なうサーバ)2は特定のアプリケーションシステムデータ(本例ではディスクイメージ)3を蓄積するデータベース4を有し、複数のクライアント5−1〜5−4がLAN6を介してブートサーバ2に接続されている。アプリケーションシステムデータにはAPデータ(AP用プログラム及びデータ)及びOSが含まれる。また、ブート情報はこれらのOS及びAPデータの一部に含まれる。システムに属する1つのクライアント、例えば5−1がブートサーバ2にデータ3を要求すると、LAN6を介したマルチキャスト配信により同一データ3が各クライアント5−1〜5−4に配信され、さらに、データ3に関連する関連データも各クライアント5−1〜5−4に配信される。7はLAN6のスイッチである。マルチキャスト配信を行なうので同一ファイルは1回だけ送信されれば良く、さらに、その関連ファイルも1回だけ送信されれば良い。これによりサーバ及びネットワーク6の負荷を大いに軽減でき、サーバ数も削減できる。   FIG. 1 shows the concept of data distribution in the server client system 1 of this embodiment. The boot server (server that also boots) 2 has a database 4 that stores specific application system data (disk image in this example) 3, and a plurality of clients 5-1 to 5-4 are connected via the LAN 6 to the boot server 2. It is connected to the. The application system data includes AP data (AP program and data) and OS. The boot information is included in a part of these OS and AP data. When one client belonging to the system, for example, 5-1 requests data 3 from the boot server 2, the same data 3 is distributed to each of the clients 5-1 to 5-4 by multicast distribution via the LAN 6. The related data related to is also distributed to each of the clients 5-1 to 5-4. Reference numeral 7 denotes a LAN 6 switch. Since multicast distribution is performed, the same file need only be transmitted once, and the related file need only be transmitted once. Thereby, the load of the server and the network 6 can be greatly reduced, and the number of servers can be reduced.

[システム構成]
図2に本実施例のサーバクライアントシステム1のハード構成例を示す。サーバ(ブートサーバ)2は特定のアプリケーションシステムデータ(ディスクイメージ)3を蓄積する外部記憶装置(データベース)4を有し、複数のクライアント5−1,・・・5−nがLAN6を介してサーバ2に接続されている。
[System configuration]
FIG. 2 shows a hardware configuration example of the server client system 1 of the present embodiment. The server (boot server) 2 has an external storage device (database) 4 for storing specific application system data (disk image) 3, and a plurality of clients 5-1,. 2 is connected.

サーバ2は、外部記憶装置4、中央処理装置(CPU)11、メモリ12、タイマー13、ネットワークインターフェース14及びこれらを接続するバス15を有する。外部記憶装置4はクライアント5に配信する特定のアプリケーションシステムデータとして、データD1−1〜D1−n,D2−1〜D2−nを有する。これらのデータには、OS及びAPデータが含まれる。また、ブート情報はこれらのOSの一部及びAPデータの一部に含まれる。したがって、これらのデータには、ディスクイメージも含まれる。クライアントはこれらのデータを取得することにより、恰もハードディスクからアプリケーションシステムを起動したと同様に、APを利用することができる。CPU11はメモリ12に格納された制御用プログラムを読み出し、サーバ2の各部を制御して、サーバ2にブートサーバとしての機能を実行させる。メモリ12はROM(読み出し専用メモリ)に制御用プログラム等を格納し、RAM(ランダムアクセスメモリ)にクライアントに配信するために外部記憶装置4から抽出したデータや制御用データ等を一時的に保存する。タイマー13は配信タイマーとして使用され、データを使用し得る全クライアントが受信待機時にデータ3をマルチキャスト配信できるように、データ送信開始時間が設定される。なお、全クライアントは目標であり、トラフィックやPC等のトラブル等により多少の漏れが生じる場合を許容する。ネットワークインターフェース14は、例えばTCP/IPプロトコルに適合するようにデータを処理してネットワーク6に入出力する。   The server 2 includes an external storage device 4, a central processing unit (CPU) 11, a memory 12, a timer 13, a network interface 14, and a bus 15 for connecting them. The external storage device 4 has data D1-1 to D1-n and D2-1 to D2-n as specific application system data distributed to the client 5. These data include OS and AP data. The boot information is included in a part of these OSs and a part of AP data. Therefore, these data include disk images. By acquiring these data, the client can use the AP in the same manner as when the application system is started from the hard disk. The CPU 11 reads the control program stored in the memory 12 and controls each part of the server 2 to cause the server 2 to execute a function as a boot server. The memory 12 stores a control program or the like in a ROM (read only memory), and temporarily stores data extracted from the external storage device 4 or control data or the like for distribution to a client (RAM). . The timer 13 is used as a distribution timer, and the data transmission start time is set so that all clients that can use the data can multicast the data 3 during reception standby. It should be noted that all clients are targets, and a case where some leakage occurs due to troubles such as traffic or PC is allowed. The network interface 14 processes data so as to conform to, for example, the TCP / IP protocol, and inputs / outputs data to / from the network 6.

クライアント5−1,・・・5−nは外部記憶装置20、中央処理装置(CPU)21、メモリ22、タイマー23、ネットワークインターフェース24及びこれらを接続するバス25を有する。外部記憶装置20はサーバ2から取得した特定のアプリケーションシステムデータ(OS及びAPデータ)を保存するために使用される。「キャッシュ」は取得されたデータが記憶されている領域を示し、「未使用」は空きスペース領域を示す。なお、外部記憶装置20に代えてメモリ22に特定のアプリケーションシステムデータを保存しても良い(クライアント5−n参照)。クライアント5はブート情報を含む、OS、APデータ等の特定のアプリケーションシステムデータを取得することにより、APを利用可能となる。CPU21はサーバ2から取得されメモリ22に格納されたOS29により、クライアント5の各部を制御して、クライアント5にコンピュータとしての機能を実行させる。メモリ22はROMにBIOS等を格納し、RAMにクライアント5がサーバ2から取得したOSやAPデータ等を保存する。タイマー23は待受タイマーとして使用され、サーバ2からマルチキャスト配信されるデータ要求されたデータ(D1−1等)及び当該データに関連するデータを待ち受けるデータ受信待機時間(終了時間)が設定される。その際に、クライアント5はデータ受信可能な状態(データ受信待機状態)で待機し、その間にデータ要求がデータ要求部26からサーバ2に行なわれるのを一時的に中止する。データ受信待機時間は、配信すべき全てのデータを配信した後にデータ受信待機時間が終了するように設定される。ネットワークインターフェース24は、TCP/IP等のプロトコルに適合するようにデータを処理してネットワーク6に入出力する。なお、全てのデータは目標であり、トラフィックやPC等のトラブル等により多少の漏れが生じる場合を許容する。   The clients 5-1,..., 5-n have an external storage device 20, a central processing unit (CPU) 21, a memory 22, a timer 23, a network interface 24, and a bus 25 for connecting them. The external storage device 20 is used to store specific application system data (OS and AP data) acquired from the server 2. “Cache” indicates an area in which acquired data is stored, and “Unused” indicates an empty space area. Note that specific application system data may be stored in the memory 22 instead of the external storage device 20 (see the client 5-n). The client 5 can use the AP by acquiring specific application system data such as OS and AP data including boot information. The CPU 21 controls each part of the client 5 by the OS 29 acquired from the server 2 and stored in the memory 22 to cause the client 5 to execute a function as a computer. The memory 22 stores the BIOS and the like in the ROM, and stores the OS, AP data, and the like acquired from the server 2 by the client 5 in the RAM. The timer 23 is used as a standby timer, and a data reception standby time (end time) for waiting for data (D1-1 etc.) requested for data multicast distribution from the server 2 and data related to the data is set. At that time, the client 5 stands by in a state where data can be received (data reception standby state), and temporarily stops the data request from the data request unit 26 to the server 2 during that time. The data reception standby time is set so that the data reception standby time ends after all data to be distributed is distributed. The network interface 24 processes data so as to conform to a protocol such as TCP / IP and inputs / outputs the data to / from the network 6. Note that all data is a target, and a case where some leakage occurs due to troubles such as traffic or PC is allowed.

図3に本実施例のサーバクライアントシステム1の機能構成例を示す。サーバ室にサーバ2が、実習室の教師及び学生の机上にシステムに属するクライアント5−1〜5−nが設置されている。実習の開始時にクライアント5−1〜5−nを一斉に立ち上げる。クライアント5−1〜5−nはサーバ2からパソコン実習に係るAPだけでなく、ブート情報やOSを含むディスクイメージを取得して、起動し、APを利用する。ただし、クライアント5−1〜5−nはデータセット(ディスクイメージを含む)で示されるデータの全てを取得する必要はなく、OSの必要な部分、APを実行するために必要な部分を取得すれば良い。サーバ2は、HTTPサーバ機能によりデータセットを公開する。また、サーバ2は、クライアント5−1〜5−nに対してネットワークブートを行なわせる機能(PXE)、特定の複数のクライアント5−1〜5−nに対して同時に同一データを送信するマルチキャスト配信機能を有する。また、サーバ2は、クライアント5−1〜5−nに対してリモート操作による電源投入を行なう機能(WOL)を有しても良く、本実施例ではこの機能を有するものとする。   FIG. 3 shows a functional configuration example of the server client system 1 of the present embodiment. The server 2 is installed in the server room, and the clients 5-1 to 5-n belonging to the system are installed on the desks of teachers and students in the training room. Clients 5-1 to 5-n are started up at the start of the training. The clients 5-1 to 5-n acquire not only an AP related to personal computer training from the server 2, but also a disk image including boot information and an OS, start up, and use the AP. However, it is not necessary for the clients 5-1 to 5-n to acquire all of the data indicated by the data set (including the disk image), but to acquire the necessary part of the OS and the part necessary for executing the AP. It ’s fine. The server 2 publishes the data set by the HTTP server function. Further, the server 2 has a function (PXE) for causing the clients 5-1 to 5-n to perform network boot, and multicast distribution for simultaneously transmitting the same data to a plurality of specific clients 5-1 to 5-n. It has a function. Further, the server 2 may have a function (WOL) for powering on the clients 5-1 to 5-n by remote operation. In this embodiment, the server 2 has this function.

クライアント5−1〜5−nはサーバ2から電源投入要求を受けると自電源を投入して起動し、最初はPXEによりクライアントのハードウェア(PXE対応BIOS及びネットワークインターフェース)がサーバ2から最小構成のOS(OSの中核になるカーネル及びブート起動に必要最小限のミニルート等)を取得する。最小構成のOSはメモリ22のOS領域に取得され、クライアントで実行される。メモリ22のOS領域に取得されたOS29は特定のアプリケーションシステムの実行に必要な環境の準備(デスクトップ環境の準備)を行なう。データ要求機能、待受タイマー機能及びマルチキャスト受信機能は最小構成のOSの中に含まれ、デスクトップの準備を始める前に動作する。これ以降はメモリ22のOS領域に取得されたOS29の管理により、環境の準備が実行される。最小構成のOSはOSの残りの部分(ディスクイメージ)のうち起動に必要なデータのデータ要求を行う。このようにして、順次OS領域にOS29が取得される。OSの中でもブート情報に係る部分は早い段階で取得されることが好ましい。これらのネットブートにより、特定のアプリケーションシステムに必要なOS29がOS領域に取得されると、以後はこのOS29が順次APに係るディスクイメージを要求する。APの中でもブート情報に係る部分は早い段階で取得されることが好ましい。サーバ2側でデータ送信開始時間になると、各データ(ディスクイメージ)がマルチキャスト配信される。   Upon receiving a power-on request from the server 2, the clients 5-1 to 5 -n are activated by turning on their own power. At first, the client hardware (PXE-compatible BIOS and network interface) is minimally configured from the server 2 by PXE. Obtain the OS (kernel that is the core of the OS and the minimum mini-root necessary for boot activation). The minimum configuration OS is acquired in the OS area of the memory 22 and executed by the client. The OS 29 acquired in the OS area of the memory 22 prepares an environment necessary for execution of a specific application system (preparation of a desktop environment). The data request function, the standby timer function, and the multicast reception function are included in the minimum configuration OS, and operate before starting desktop preparation. Thereafter, environment preparation is executed by management of the OS 29 acquired in the OS area of the memory 22. The OS with the minimum configuration makes a data request for data necessary for starting up the remaining part (disk image) of the OS. In this way, the OS 29 is sequentially acquired in the OS area. It is preferable that the portion related to boot information in the OS is acquired at an early stage. When the OS 29 necessary for a specific application system is acquired in the OS area by the net boot, the OS 29 sequentially requests disk images related to the AP. It is preferable that the part related to the boot information in the AP is acquired at an early stage. When the data transmission start time comes on the server 2 side, each data (disk image) is distributed by multicast.

サーバ2は、クライアントからのデータ要求を監視し、要求されたデータ及びそれに関連するデータをマルチキャスト配信する。そして、タイマーで同期制御を行い、一斉に配信する。クライアント5−1〜5−nは、サーバ2からディスクイメージがマルチキャスト配信されると、ディスクイメージを取得して、ブートを行い、恰もハードディスクからアプリケーションシステムを起動したと同様に、APを利用することができる。ブート(起動)はOS及びAPのブート情報が取得された段階で可能である。その他のAPはブート前に取得しても良く、ブート後に取得しても良い。ブートの前後共マルチキャスト配信が可能である。   The server 2 monitors the data request from the client, and multicasts the requested data and related data. Then, synchronous control is performed with a timer, and delivery is performed simultaneously. When the disk image is multicast-distributed from the server 2, the clients 5-1 to 5-n acquire the disk image, perform booting, and use the AP in the same manner as when the application system is started from the hard disk. Can do. Booting (startup) is possible at the stage when boot information of the OS and AP is acquired. Other APs may be acquired before booting or after booting. Multicast distribution before and after booting is possible.

サーバ2は、CPU11内にデータ要求管理部16、配信タイマー設定部17、配信管理部18を有する。データ要求管理部16はクライアントからのデータ要求を監視し、システム内の1つのクライアント(例えば5−1とする)からネットワークインターフェース14を介してデータ要求があった場合は、配信タイマー設定部17に配信タイマー13にデータ送信開始時間を設定するように指示し、配信タイマー設定部17は配信タイマー13に予め定められたデータ送信開始時間を設定する。データ送信開始時間は、システムに属するクライアントのうち、データを使用し得る全てのクライアント(出席者5−1〜5−mとする)がデータを受信待機できる充分な時間に予め定められる。また、配信タイマー設定部17はクライアント5−1〜5−mにネットワークインターフェース14を介して受信待機時間(終了時間)を設定するように指示する。この指示により、クライアント5−1〜5−mはデータ受信可能な状態で待機し、待受タイマー23に受信待機時間を設定する。また、データ要求管理部16は、その後、システム内の他のクライアント(例えば5−2とする)からネットワークインターフェース14を介してデータ要求があった場合は、配信タイマー設定部17に配信タイマー13にデータ送信開始時間を延長して再設定するように指示し、配信タイマー設定部17は、配信タイマー13にデータ送信開始時間を延長して再設定すると共に、クライアント5−1〜5−m(5−2を除く)にネットワークインターフェース14を介して受信待機時間(終了時間)を延長して再設定するように指示する。このように延長するのは、データを使用し得る全てのクライアントがデータを確実に取得できるようにするためである。   The server 2 includes a data request management unit 16, a distribution timer setting unit 17, and a distribution management unit 18 in the CPU 11. The data request management unit 16 monitors the data request from the client, and if there is a data request from one client (for example, 5-1) in the system via the network interface 14, the data request management unit 16 The distribution timer 13 is instructed to set the data transmission start time, and the distribution timer setting unit 17 sets a predetermined data transmission start time in the distribution timer 13. The data transmission start time is set in advance to a time sufficient for all clients (attendants 5-1 to 5-m) that can use the data among the clients belonging to the system to wait for data reception. In addition, the delivery timer setting unit 17 instructs the clients 5-1 to 5-m to set the reception standby time (end time) via the network interface 14. In response to this instruction, the clients 5-1 to 5-m stand by in a state where data can be received, and set the reception standby time in the standby timer 23. In addition, when there is a data request from another client (for example, 5-2) in the system via the network interface 14, the data request management unit 16 sets the distribution timer 13 to the distribution timer 13. The distribution timer setting unit 17 extends and resets the data transmission start time to the distribution timer 13, and instructs the clients 5-1 to 5-m (5 (Except -2) is instructed to extend and reset the reception standby time (end time) via the network interface 14. The reason for this extension is to ensure that all clients that can use the data can obtain the data.

データ要求は、典型的にはシステムに属し電源投入された全てのクライアントから行なわれる。最初のOS起動時には、クライアンントの電源投入時のばらつき等により、マルチキャスト配信を受信可能になっていない場合も生じ得るので、これら全てのクライアントからのデータ要求を受けて、配信タイマーの再設定を適宜行なう必要がある。これに対して、その後のOS又はAP起動時には、サーバ2からのデータ受信待機時間設定の指示により、クライアント側は一斉に受信待機状態に入り、直ぐに受信準備ができるので、サーバは、必ずしも他のクライアントからのデータ要求がある度にデータ送信開始時間の再設定とデータ受信待機時間の延長指示を繰り返し行なう必要はない。例えば所定の時間(例えば1min)を決めて当該時間内にまとまって(例えば80%)データ要求があった時、当該時間(この例では1min)経過後に、又はシステムに属し電源投入されたクライアント数(出席者数)の所定の割合(例えば70%)に達した後に、再設定を行ない、再設定されたデータ送信開始時間の経過後にマルチキャスト配信を行なっても良く、再設定を行わずに、データ送信開始時間の経過後にマルチキャスト配信を行なっても良い。また、データ要求数を計数しシステムに属し電源投入されたクライアント数になった後に、又はシステムが安定している等理想的な場合には1つのクライアントからのデータ要求を検出した後に、最初に設定されたデータ送信開始時間の経過後に、又は直ちにマルチキャスト配信を行なっても良い。さらに、データ要求されたデータに関連しないデータでもデータ要求がされることが確実なデータがある場合には、データ受信待機時間の解除をせずに、受信待機時間を継続すれば、1つのクライアントからのデータ要求を受信した時点で、データ送信開始時間の設定とデータ受信待機時間の継続設定を行ない、ことさら、データ送信開始時間の延長をしなくても良い。また、データ要求管理部16は、配信管理部18に要求されたデータ及び関連するデータを、外部記憶装置4からメモリ12の配信待ちデータキュー表19Aに登録し、データ送信開始時間になったらネットワークインターフェース14を介してクライアント5−1〜5−mに送信するように指示する。要求されたデータに関連するデータはメモリ12内のプロファイル管理表19Bに登録される。また、外部記憶装置4はデータセットD1(データD1−1〜D1−n)とデータセットD2(データD2−1〜D2−n)を保存し、各データがディスクイメージとしてブロック化されている。ただし、カーネル、ミニルートはブロック化の対象外である。   Data requests are typically made from all clients that belong to the system and are powered on. When starting up the OS for the first time, it may happen that multicast distribution cannot be received due to variations in client power-on, etc., so it is possible to receive a data request from all these clients and reset the distribution timer. It is necessary to do it appropriately. On the other hand, when the OS or AP is subsequently started, the client side enters the reception standby state all at once according to the data reception standby time setting instruction from the server 2 and can immediately prepare for reception. It is not necessary to repeatedly reset the data transmission start time and instruct to extend the data reception standby time each time a data request is made from the client. For example, when a predetermined time (for example, 1 min) is determined and a data request is made within the time (for example, 80%), the number of clients that have been turned on after the time (in this example, 1 min) has elapsed or belonged to the system After reaching a predetermined ratio (for example, 70%) of (the number of attendees), resetting may be performed, and multicast distribution may be performed after the resetting data transmission start time has elapsed, without resetting, Multicast distribution may be performed after the elapse of the data transmission start time. Also, after counting the number of data requests and reaching the number of clients that belong to the system and turned on, or in the ideal case such as when the system is stable, after detecting a data request from one client, Multicast distribution may be performed after the set data transmission start time elapses or immediately. Furthermore, if there is data that is surely requested even for data not related to the requested data, if the reception standby time is continued without canceling the data reception standby time, one client When the data request is received, the data transmission start time is set and the data reception standby time is continuously set. In addition, the data transmission start time need not be extended. Further, the data request management unit 16 registers the data requested by the distribution management unit 18 and related data from the external storage device 4 to the distribution waiting data queue table 19A of the memory 12, and when the data transmission start time comes, the data request management unit 16 An instruction is sent to the clients 5-1 to 5-m via the interface 14. Data related to the requested data is registered in the profile management table 19B in the memory 12. The external storage device 4 stores a data set D1 (data D1-1 to D1-n) and a data set D2 (data D2-1 to D2-n), and each data is blocked as a disk image. However, the kernel and miniroot are not subject to blocking.

図4にプロファイル管理表19Bの例を示す。左欄に要求されたデータを、右欄に当該データに関連するデータを一覧表形式で掲載している。例えばデータD1−1にはデータD1−2とD1−3が関連する。またデータD1−2にはデータD1−3とD1−6が関連する。これを辿ることによりデータD1−1が要求された場合には、関連データとして、データD1−2、D1−3、D1−6等が挙げられる。   FIG. 4 shows an example of the profile management table 19B. The left column lists the requested data, and the right column lists the data related to the data. For example, data D1-2 and D1-3 are related to data D1-1. Data D1-2 is associated with data D1-3 and D1-6. When the data D1-1 is requested by tracing this, the data D1-2, D1-3, D1-6, etc. are listed as related data.

配信管理部18は、要求されたデータ及び関連するデータを、プロファイル管理表19Bを参照して外部記憶装置4からメモリ12内の配信待ちデータキュー表19−1に抽出しておく。データ送信開始時間に達する(配信タイマーがタイムアウトする)と、配信タイマー13はリセットされ、配信タイマー設定部17を介して配信管理部18にタイムアウト信号が送信される。また、配信タイマー設定部17はクライアント5−1〜5−mにネットワークインターフェース14を介して、データを使用し得る全てのクライアント(授業や演習では全出席者)が要求されたデータ及び関連するデータを受信できるように受信待機時間の終了時間を設定するように指示する。なお、全ては目標であり、トラブルを考慮し多少の漏れがあっても良い。配信管理部18は、タイムアウト信号を受信すると、メモリ12の配信待ちデータキュー表19−1に抽出された要求されたデータ及び関連するデータを、ネットワークインターフェース14を介してクライアント5−1〜5−mにマルチキャスト配信する。サーバ2とクライアント5−1〜5−m間の同期は最初のデータ配信時だけで良く、この1回の同期により、データを使用し得る全てのクライアントがデータを確実に取得できる。マルチキャスト配信が終了すると、配信タイマー設定部17はクライアント5−1〜5−mにネットワークインターフェース14を介して受信待機時間を解除するよう指示する。   The distribution management unit 18 extracts the requested data and related data from the external storage device 4 to the distribution waiting data queue table 19-1 in the memory 12 with reference to the profile management table 19B. When the data transmission start time is reached (the distribution timer times out), the distribution timer 13 is reset, and a timeout signal is transmitted to the distribution management unit 18 via the distribution timer setting unit 17. Further, the distribution timer setting unit 17 requests the clients 5-1 to 5-m via the network interface 14 to request the data requested by all clients who can use the data (all attendees in classes and exercises) and related data. To set the end time of the reception waiting time so that it can be received. In addition, all are targets, and there may be some leakage in consideration of trouble. Upon receiving the timeout signal, the distribution management unit 18 sends the requested data extracted in the distribution queue data queue table 19-1 of the memory 12 and related data to the clients 5-1 to 5-5 via the network interface 14. Multicast to m. The synchronization between the server 2 and the clients 5-1 to 5-m may be performed only at the time of the first data distribution, and all clients that can use the data can reliably acquire the data by this one synchronization. When the multicast distribution ends, the distribution timer setting unit 17 instructs the clients 5-1 to 5-m to cancel the reception standby time via the network interface 14.

クライアント5−1〜5−nは、データ要求部26、待受タイマー設定部27、受信管理部28及びOS29を有する。クライアント5−1〜5−nはそれ自体OSを保有せず、サーバ2のPXE機能を利用して、サーバ2からOSやブート情報を取得する。本実施例ではPXEを用いて、電源投入時にBIOSとネットワークインターフェースによりサーバ2から最小構成のOS(カーネル及びミニルート等)が読み込まれる。最小構成のOSはデータ要求部26を設定し、以後はOSがデータ要求部26に順次OS及びAPデータ(AP用プログラム及びデータ)のデータ要求を指示する。まず、OSのうち起動に必要な部分が順次データ要求されて取得され、その後APデータが順次データ要求されて取得される。データ要求すべきデータはサーバ2によりOSに取り込まれ、或いはサーバ2からOSに付随して供給されるので、クライアントの機器の性能がそろっていれば、ほぼ同じタイミングでデータ要求が行なわれることになる。このように、データ要求部26はHTTPサーバに必要なデータを順次要求し、メモリ22のOS領域にダウンロードする。また、データ要求部26は仮想ブロックデバイスドライバの機能を有する。すなわち、実際にアクセスした部分のデータしか持っていなくても、OS29には全体のデータがクライアント5−1〜5−n上にあるように見せる働きをする。例えばサーバ2のデータセットに100個のファイルがある場合、OS29から一覧を見ると恰もクライアント5−1〜5−n上に100個あるように見えても、実際に使っているデータ(例えば20個)しかクライアントはダウンロードしないという機能を提供している。そして、OS29が21個目のファイルを要求した際に、通常であれば存在しないファイルに対するアクセスはエラーとなるが、仮想ブロックデバイスドライバが該当するファイル(が含まれた)データをサーバ2からメモリ22に取得し、OS29にアドレスを通知することでOS29は正常にファイルアクセスが可能となる。また、データ要求部26は、データ要求の際に、待受タイマー設定部27に待受タイマー23にデータ受信待機時間(終了時間)を設定するように指示し、待受タイマー設定部27は待受タイマー23に予め定められたデータ受信待機時間を設定する。データ受信待機時間は、サーバ2がデータ送信開始時間経過後にデータをマルチキャスト配信する時にデータを受信できるように、予め定められる。また、待受タイマー設定部27は、受信管理部28にマルチキャスト配信されるデータを受信できるように、メモリ22にデータを書き込むキャッシュ領域を確保するように指示すると共に、データ受信待機状態中は、データ要求部26からサーバ2にデータ要求が行なわれるのを一時的に中止させる。また、待受タイマー設定部27は、サーバ2からネットワークインターフェース24を介してデータ受信待機時間(終了時間)の延長指示を受けた場合は、データ受信待機時間を延長するように再設定する。また、待受タイマー設定部27は、受信待機時間が終了するまで、受信管理部28にマルチキャスト配信されるデータを受信できるように、メモリ22にデータを書き込むキャッシュ領域を確保するように指示すると共に、データ受信待機状態中は、データ要求部26からサーバ2にデータ要求が行なわれるのを一時的に中止させる。   The clients 5-1 to 5-n include a data request unit 26, a standby timer setting unit 27, a reception management unit 28, and an OS 29. The clients 5-1 to 5-n do not own the OS themselves, and acquire the OS and boot information from the server 2 by using the PXE function of the server 2. In this embodiment, PXE is used to read the OS (kernel, miniroot, etc.) having the minimum configuration from the server 2 through the BIOS and the network interface when the power is turned on. The minimum configuration OS sets the data request unit 26, and thereafter the OS sequentially instructs the data request unit 26 to request data for the OS and AP data (AP program and data). First, a portion of the OS that is necessary for startup is sequentially requested and acquired, and then AP data is sequentially requested and acquired. Since the data to be requested is taken into the OS by the server 2 or supplied from the server 2 along with the OS, if the client devices have the same performance, the data request is made at almost the same timing. Become. In this way, the data request unit 26 sequentially requests necessary data from the HTTP server and downloads it to the OS area of the memory 22. Further, the data request unit 26 has a function of a virtual block device driver. In other words, even if only the data of the part that is actually accessed is held, the OS 29 functions to make the entire data appear on the clients 5-1 to 5-n. For example, when there are 100 files in the data set of the server 2, even if it appears that there are 100 files on the clients 5-1 to 5-n when viewing the list from the OS 29, the data actually used (for example, 20 Only) the client provides the function of downloading. When the OS 29 requests the 21st file, an access to a file that does not exist normally results in an error, but the virtual block device driver stores the corresponding file (included) data from the server 2 into the memory. 22 and the OS 29 can normally access the file by notifying the OS 29 of the address. In addition, the data request unit 26 instructs the standby timer setting unit 27 to set the data reception standby time (end time) in the standby timer 23 when the data request is made. A predetermined data reception standby time is set in the reception timer 23. The data reception standby time is determined in advance so that the server 2 can receive the data when multicasting the data after the data transmission start time has elapsed. In addition, the standby timer setting unit 27 instructs the reception management unit 28 to secure a cache area in which data is written in the memory 22 so that the multicast distribution data can be received. The data request from the data request unit 26 to the server 2 is temporarily stopped. Further, when receiving an instruction for extending the data reception standby time (end time) from the server 2 via the network interface 24, the standby timer setting unit 27 resets the data reception standby time to be extended. In addition, the standby timer setting unit 27 instructs the reception management unit 28 to secure a cache area for writing data so that the multicast distribution data can be received until the reception standby time ends. During the data reception standby state, the data request from the data request unit 26 to the server 2 is temporarily stopped.

サーバ2からデータがマルチキャスト配信が開始され、受信管理部28は、受信待機状態を受信待機時間中継続し、サーバ2からネットワークインターフェース24を介してマルチキャスト配信されたデータを識別して受信し、メモリ22のキャッシュ領域に配信されたデータを書き込む。待受タイマー設定部27がサーバ2から受信待機時間の設定指示を受けるとデータ受信待機時間の終了時間を設定する。終了時間は配信すべき全てのデータを配信した後に終了するように設定される。なお、全ては目標であり、多少の漏れがあっても良い。サーバ2からデータ受信待機時間の解除指示があると又は待受タイマー23がタイムアウトすると、データ受信待機時間が終了し、待受タイマー23はリセットされ、待受タイマー設定部27を介して受信管理部28にタイムアウト信号が送信される。受信管理部28はタイムアウト信号を受信すると受信待機状態を解除する。メモリ22のキャッシュ領域に書き込まれたデータは状況に応じて適時、外部記憶装置20のキャッシュ領域に移される。外部記憶装置20に移された場合には次回以降の電源投入時の特定のアプリケーションシステムの起動に利用可能である。サーバから特定のアプリケーションシステムデータを取得したクライアント5−1はブートを行い、特定のAPの利用が可能となる。なお、ブートには必ずしも全てのAPデータが必要ではなく、ブートに関連するOS及びAPのブートに関連するプログラムが取得された段階で、ブートを行なうことが可能であり、その他のAP用プログラム及びデータはその後にデータ要求されても良い。   Multicast distribution of data from the server 2 is started, and the reception management unit 28 continues the reception standby state during the reception standby time, identifies and receives the data distributed from the server 2 via the network interface 24, and receives the memory. Data distributed to the cache area 22 is written. When the standby timer setting unit 27 receives an instruction to set the reception standby time from the server 2, the end time of the data reception standby time is set. The end time is set to end after distributing all data to be distributed. All are targets, and there may be some leakage. When there is an instruction to cancel the data reception standby time from the server 2 or when the standby timer 23 times out, the data reception standby time ends, the standby timer 23 is reset, and the reception management unit is set via the standby timer setting unit 27. A time-out signal is transmitted to 28. When receiving the timeout signal, the reception management unit 28 releases the reception standby state. The data written in the cache area of the memory 22 is moved to the cache area of the external storage device 20 as appropriate according to the situation. When it is moved to the external storage device 20, it can be used for starting a specific application system when the power is turned on next time. The client 5-1 that has acquired the specific application system data from the server boots and can use the specific AP. Note that not all AP data is necessarily required for booting, and it is possible to perform booting at the stage when an OS related to booting and a program related to booting APs are acquired. The data may then be requested for data.

[処理フロー]
図5にサーバの処理フロー例を示す。データ要求管理部16はクライアントからのデータ要求を監視する(S101)。システム内の1つのクライアントからのデータ要求が検出されるまで待ち、データ要求が検出されると(S102でYES)、配信タイマー設定部17でデータ送信開始時間を設定する(S103)。また、配信タイマー設定部17はクライアント5−1〜5−m(1つのクライアントを除く)に受信待機時間(終了時間)を設定するように指示する(S104)。その後、他のクライアントからのデータ要求が検出された場合には、配信タイマー設定部17でデータ送信開始時間を延長して再設定し、配信タイマー設定部17はクライアント5−1〜5−m(他のクライアントを除く)に受信待機時間を延長して再設定するように(すなわち、受信待機時間を継続するように)指示する。データ送信開始時間が再設定された場合は最後に再設定されたデータ送信開始時間が経過した時に、再設定されなかった場合は最初に設定されたデータ送信開始時間が経過した時に、データ要求されたデータ及び関連データを、複数のクライアントにマルチキャスト配信することとなる。ここで、最後に再設定されたデータ送信開始時間とは、再設定が複数回行なわれた場合に最後に再設定されたデータ送信開始時間をいう。再設定が1回だけ行なわれた場合には、当該再設定が最後の再設定に該当する。再設定されなかった場合には、データ送信開始時間は当然、最初に設定されたデータ送信開始時間となる。このように、図示しないがデータ要求の監視(S101)〜受信待機の継続指示(S104)が繰り返される。配信タイマー設定部17は、クライアント5−1〜5−mに受信待機状態を継続させながら(S104)データ送信開始時間まで待ち、データ送信開始時間がタイムアウトすると(S105でYES)、マルチキャスト配信を開始する。また、タイムアウトすると、サーバ2はクライアント5−1〜5−mにマルチキャスト配信が終了した後に受信待機時間が終了するように受信待機時間(終了時間)を設定するように指示する(S106)。配信管理部18は、要求されたデータ及び関連するデータを、メモリ12の配信待ちデータキュー表19−1に登録しておき(S107)、データ送信開始時間がタイムアウトすると、要求されたデータ及び関連するデータを配信待ちデータキュー表19−1から読み出し(S108)、クライアント5−1〜5−mにマルチキャスト配信する(S109)。マルチキャスト配信が終了した後に、サーバ2はクライアント5−1〜5−mに受信待機時間を解除するように指示し、クライアント5−1〜5−mは受信待機時間の解除指示を受信すると、直ちに受信待機状態を終了する。また、受信待機時間の解除指示がクライアント5−1〜5−mに受信されない場合には、受信待機時間(終了時間)を設定した待受タイマー23のタイムアウトにより受信待機状態を終了する。
[Processing flow]
FIG. 5 shows a processing flow example of the server. The data request management unit 16 monitors data requests from clients (S101). The system waits until a data request from one client in the system is detected. When a data request is detected (YES in S102), the distribution timer setting unit 17 sets a data transmission start time (S103). Further, the distribution timer setting unit 17 instructs the clients 5-1 to 5-m (excluding one client) to set the reception standby time (end time) (S104). Thereafter, when a data request from another client is detected, the distribution timer setting unit 17 extends and resets the data transmission start time, and the distribution timer setting unit 17 sets the clients 5-1 to 5-m ( (Except for other clients) is instructed to extend and reset the reception wait time (ie, continue the reception wait time). If the data transmission start time is reset, the data is requested when the last reset data transmission start time has passed.If not reset, the data request is sent when the first data transmission start time has passed. Data and related data are distributed to a plurality of clients by multicast. Here, the data transmission start time reset last is the data transmission start time reset last when the reset is performed a plurality of times. When the resetting is performed only once, the resetting corresponds to the last resetting. If it is not reset, the data transmission start time is naturally the data transmission start time set first. Thus, although not shown, the data request monitoring (S101) to the reception standby continuation instruction (S104) are repeated. The distribution timer setting unit 17 waits until the data transmission start time while keeping the clients 5-1 to 5-m in the reception standby state (S104), and starts multicast distribution when the data transmission start time times out (YES in S105). To do. When the time-out occurs, the server 2 instructs the clients 5-1 to 5-m to set the reception standby time (end time) so that the reception standby time ends after multicast distribution ends (S106). The distribution management unit 18 registers the requested data and related data in the distribution waiting data queue table 19-1 of the memory 12 (S107), and when the data transmission start time times out, the requested data and related data are stored. The data to be read is read from the distribution-waiting data queue table 19-1 (S108), and is multicast distributed to the clients 5-1 to 5-m (S109). After the multicast distribution ends, the server 2 instructs the clients 5-1 to 5-m to cancel the reception standby time, and when the clients 5-1 to 5-m receive the reception standby time cancellation instruction, The reception standby state is terminated. Further, when the reception standby time cancel instruction is not received by the clients 5-1 to 5-m, the reception standby state is ended by the timeout of the standby timer 23 in which the reception standby time (end time) is set.

図6〜図8にクライアントの処理フロー例を示す。クライアントでは以下の3つの処理、図6〜図8の処理が並行に行なわれる。図6はデータ要求に係る処理フロー例である。電源オン時には、PXEを用いてBIOSとネットワークインターフェースによりサーバ2から最小構成のOS(カーネル及びミニルート等)がメモリ22のOS領域に読み込まれる。その後、最小構成のOSはデータ要求部26を設定し、OS29がデータ要求部26に順次OS及びAPデータ(AP用プログラム及びデータ)のデータ要求を指示する。まず、OSのうち起動に必要な部分が順次データ要求されて取得され、その後APデータが順次データ要求されて取得される。データ要求部26はOS29からデータ読み込み要求を受ける(S201)。データ要求部26は、外部記憶装置20又はメモリ22のキャシュ領域からのデータの読み込みが可能であれば、すなわち、既にデータを保有していれば(S202でYES)、その旨及びデータのアドレスをOS29に通知し(S203)、次のデータ読み込み要求を受ける(S201)。キャシュ領域からのデータの読み込みが可能でなければ、すなわち、未だデータを保有していなければ(S202でNO)、サーバ2にデータ要求を行なう(S204)。その後、受信管理部28はサーバからマルチキャスト配信されるデータを待ち、データが配信された時に受信し(図8のS221)、その旨及び受信したデータのアドレスをOS29に通知する(S205)。その後、次のデータについて、データ要求部26はOS29からデータ読み込み要求を受ける(S201)。   FIGS. 6 to 8 show examples of client processing flows. In the client, the following three processes, the processes of FIGS. 6 to 8, are performed in parallel. FIG. 6 is an example of a processing flow relating to a data request. When the power is turned on, a minimum configuration OS (kernel, miniroot, etc.) is read from the server 2 into the OS area of the memory 22 by the BIOS and the network interface using PXE. Thereafter, the OS having the minimum configuration sets the data request unit 26, and the OS 29 instructs the data request unit 26 to sequentially request data for the OS and AP data (AP program and data). First, a portion of the OS that is necessary for startup is sequentially requested and acquired, and then AP data is sequentially requested and acquired. The data request unit 26 receives a data read request from the OS 29 (S201). If the data requesting unit 26 can read data from the cache area of the external storage device 20 or the memory 22, that is, if the data requesting unit 26 already holds the data (YES in S202), the data requesting unit 26 sets the fact and the address of the data. The OS 29 is notified (S203), and the next data read request is received (S201). If data cannot be read from the cache area, that is, if data is not yet held (NO in S202), a data request is made to the server 2 (S204). Thereafter, the reception management unit 28 waits for data distributed by multicast from the server, receives the data when it is distributed (S221 in FIG. 8), and notifies the OS 29 of that fact and the address of the received data (S205). Thereafter, for the next data, the data request unit 26 receives a data read request from the OS 29 (S201).

図7はデータ受信待機に係る処理フロー例である。待受タイマー設定部27は待受タイマー23のデータ受信待機時間(終了時間)を設定し、受信管理部28にマルチキャスト配信されるデータを受信できるように、メモリ22にデータを書き込むキャッシュ領域を確保するように指示すると共に、データ受信待機状態中は、データ要求部26からサーバ2にデータ要求が行なわれるのを一時的に中止させる。そして、サーバ2からの待機解除指示又は待受タイマー23のタイムアウトを待つ(S211)。サーバ2からの待機継続指示(延長指示)がなければ(S212でNO)、そのまま待ち、待機継続指示(延長指示)があれば(S212でYES)、データ受信待機時間(終了時間)を延長するように再設定する(S213)。その後、サーバ2からの待機解除指示がなければ(S214でNO)、そのまま待ち、待機解除指示があれば(S214でYES)、データ受信待機時間をすぐに解除する(S215)。また、データ受信待機時間は終了時間に係る待受タイマー23のタイムアウトによってサーバからの終了指示が受信されなくても解除される。図8はデータ受信に係る処理フロー例である。受信管理部28はサーバ2からマルチキャスト配信されるデータを待ち、データが配信された時に受信する(S221)。受信管理部28は受信したデータをメモリ22のキャッシュ領域に書き込む(S222)。その後、次のマルチキャスト配信されるデータを待つ(S221)。   FIG. 7 is an example of a processing flow related to data reception standby. The standby timer setting unit 27 sets the data reception standby time (end time) of the standby timer 23, and secures a cache area for writing data in the memory 22 so that the multicast distribution data can be received by the reception management unit 28. And instructing the server 2 to temporarily stop the data request from the data request unit 26 during the data reception standby state. Then, it waits for a standby cancellation instruction from the server 2 or a timeout of the standby timer 23 (S211). If there is no standby continuation instruction (extension instruction) from the server 2 (NO in S212), the process waits as it is, and if there is a standby continuation instruction (extension instruction) (YES in S212), the data reception standby time (end time) is extended. (S213). Thereafter, if there is no standby release instruction from the server 2 (NO in S214), the process waits as it is, and if there is a standby release instruction (YES in S214), the data reception standby time is immediately released (S215). Further, the data reception standby time is canceled even if an end instruction is not received from the server due to a timeout of the standby timer 23 relating to the end time. FIG. 8 is an example of a processing flow relating to data reception. The reception management unit 28 waits for data distributed by multicast from the server 2 and receives it when the data is distributed (S221). The reception management unit 28 writes the received data in the cache area of the memory 22 (S222). After that, it waits for the next multicast distributed data (S221).

図9にサーバとクライアント間の情報通信シーケンス例を示す。それぞれの処理フローについては図5〜図8を参照されたい。サーバ2を中心に、クライアント5−1を左側に、クライアント5−2を右側に示す。縦軸は時間を示す。クライアント5−1からサーバ2にデータD1−1をデータ要求する(S204)と共に、待受タイマー23にデータ受信待機時間を設定し(S211)、データ受信待機状態で待機する(S213)。サーバ2は、データ要求を受信すると(S102)、配信タイマー13にデータ送信開始時間を設定する(S103)。次に、クライアント5−2からサーバ2にデータD1−1をデータ要求がされると(S204)、クライアント5−2は待受タイマー23にデータ受信待機時間を設定し(S211)、データ受信待機状態で待機する(S213)。サーバ2は、データ要求を受信すると(S102)、配信タイマー13にデータ送信開始時間を延長して再設定する(S103)と共に、クライアント5−1にデータ受信待機時間を延長して再設定するよう指示する(S104)。データ送信開始時間が経過すると(S105でYES)、サーバ2はデータD1−1をクライアント5−1及びクライアント5−2にマルチキャスト配信し(S109)、クライアント5−1及びクライアント5−2はデータD1−1を受信する(S221)。サーバ2は、データD1−1に続けてデータD1−1に関連するデータD1−2をクライアント5−1及びクライアント5−2にマルチキャスト配信し(S109)、クライアント5−1及びクライアント5−2はデータD1−2を受信する(S205)。サーバ2は、さらにデータD1−2に続けてデータD1−1に関連するデータD−3をクライアント5−1及びクライアント5−2にマルチキャスト配信し(S109)、クライアント5−1及びクライアント5−2はデータD1−3を受信する(S221)。このように、1つのデータ要求によりデータ要求されたデータ及び当該データに関連してその後アクセスされる可能性のある関連データが複数のクライアントにマルチキャスト配信される。図ではクライアント数が2までを示しているが、クライアントが多数の場合にも、1つのデータ要求によりデータ要求されたデータ及び関連データが複数のクライアントにマルチキャスト配信される。   FIG. 9 shows an example of an information communication sequence between the server and the client. Refer to FIGS. 5 to 8 for each processing flow. With the server 2 as the center, the client 5-1 is shown on the left side and the client 5-2 is shown on the right side. The vertical axis represents time. The client 5-1 requests data D1-1 from the server 2 (S204), sets a data reception standby time in the standby timer 23 (S211), and waits in a data reception standby state (S213). When the server 2 receives the data request (S102), the server 2 sets a data transmission start time in the distribution timer 13 (S103). Next, when a data request is made for data D1-1 from the client 5-2 to the server 2 (S204), the client 5-2 sets a data reception standby time in the standby timer 23 (S211) and waits for data reception. Wait in a state (S213). Upon receiving the data request (S102), the server 2 extends the data transmission start time to the delivery timer 13 and resets it (S103), and extends the data reception standby time to the client 5-1 and resets it. An instruction is given (S104). When the data transmission start time has elapsed (YES in S105), the server 2 multicasts the data D1-1 to the client 5-1 and the client 5-2 (S109), and the client 5-1 and the client 5-2 receive the data D1. -1 is received (S221). The server 2 multicasts the data D1-1 and the data D1-2 related to the data D1-1 to the client 5-1 and the client 5-2 (S109), and the client 5-1 and the client 5-2 Data D1-2 is received (S205). The server 2 further multicasts the data D1-2 and the data D-3 related to the data D1-1 to the client 5-1 and the client 5-2 (S109), and the client 5-1 and the client 5-2. Receives the data D1-3 (S221). In this way, data requested by one data request and related data that may be accessed in connection with the data are multicast-distributed to a plurality of clients. In the figure, the number of clients is shown up to 2, but even when there are a large number of clients, the data requested by one data request and related data are multicast distributed to a plurality of clients.

図10にサーバとクライアント間の起動シーケンス例を示す。ブートサーバ2は、DHCPサーバ、TFTPサーバ、HTTPサーバの機能を有する。HTTPサーバはTCP/IPプロトコルに則してネットワーク通信を行なうサーバをいい、DHCPサーバはTCP/IPネットワーク上でサーバからクライアントに起動に必要な情報を自動的に読み込ませて起動(ブート)させ、クライアントにIPアドレスを提供するサーバをいい、TFTPサーバはOSの中核になるカーネル、例えばLinux(UNIX(登録商標)ライクOS)カーネル、ブート起動に必要最小限のミニルート等を提供するサーバをいう。すなわち、サーバ2は、クライアント5に対してネットワークブートを行なわせる機能(PXE)を有する。また、サーバ2は、クライアント5に対してリモート操作による電源投入を行なう機能(WOL)を有しても良い。   FIG. 10 shows an example of an activation sequence between the server and the client. The boot server 2 has functions of a DHCP server, a TFTP server, and an HTTP server. The HTTP server refers to a server that performs network communication in accordance with the TCP / IP protocol, and the DHCP server causes the server to automatically read information necessary for startup on the TCP / IP network, and start (boot) it. A server that provides an IP address to a client, and a TFTP server refers to a server that provides a kernel that is the core of an OS, such as a Linux (UNIX (registered trademark) -like OS) kernel, a minimal root required for booting, and the like. . That is, the server 2 has a function (PXE) for causing the client 5 to perform a network boot. Further, the server 2 may have a function (WOL) for turning on the client 5 by remote operation.

クライアント5に電源が投入されると、クライアント5はPXEによりサーバ2から最小構成のOS(カーネル及びミニルート等)の取得を行なう。クライアント5は最小構成のOSを実行し、順次、起動に必要なOSの残りの部分、関連するOS及び特定のアプリケーションシステムファイル(データ)をサーバ2に対して要求する。サーバ2はクライアント5からのデータ要求を受けて、起動すべきクライアント5を検出する。しかし、パソコン実習室等では起動すべきクライアント数が多く、また、ファイル数も多いので、個別にデータ要求に対処していたのではサーバの稼動が膨大になり、ネットワークの負担も膨大になり、データを使用し得るクライアント(出席者)の全てを起動するのに膨大な時間を要してしまう。このため、サーバ2は、特定の複数のクライアント5に対して同時に同一データを送信するマルチキャスト配信機能を有することとし、また、一度の要求により、要求データだけでなく、その後に必要となる関連データを含めてマルチキャスト配信し、クライアント5に供給する。データを使用し得る全てのクライアント(出席者)が受信可能な待機状態時にデータをマルチキャスト配信できるように、サーバ2は、システムのいずれかのクライアント5からのデータ要求があると、配信タイマー13にデータ送信開始時間(終了時間)を設定し、クライアント5は待受タイマー23にデータ受信待機時間を設定して、同期をとり、一斉に配信を行なう。クライアント5はマルチキャスト配信されるデータを受信できるように待機する。なお、他のクライアンントからのデータ要求があった時は、データ受信の確実のため、サーバ2はデータ送信開始時間を延長して再設定し、クライアント5はデータ受信待機時間を延長して再設定して、マルチキャスト配信が行なわれる。クライアント5はこれらのデータを受信することで、システムを起動(ブート)し、特定アプリケーションシステムに係るをOS及びAPデータの利用が可能になる。なお、ブートには必ずしも全てのAPデータが必要ではなく、ブートに関連するOS及びAPのブートに関連するプログラムが取得された段階で、ブートを行なうことが可能であり、その他のAP用プログラム及びデータはその後にデータ要求されても良い。   When the client 5 is powered on, the client 5 acquires a minimum configuration OS (kernel, miniroot, etc.) from the server 2 by PXE. The client 5 executes the OS having the minimum configuration, and sequentially requests the remaining part of the OS necessary for booting, the related OS, and a specific application system file (data) from the server 2. The server 2 receives the data request from the client 5 and detects the client 5 to be activated. However, in the PC training room, etc., there are a large number of clients to be activated and a large number of files, so if the data requests were individually dealt with, the operation of the server would be enormous and the network burden would be enormous. It takes an enormous amount of time to activate all the clients (attendants) who can use the data. For this reason, the server 2 has a multicast distribution function for transmitting the same data to a plurality of specific clients 5 at the same time, and not only the requested data but also the related data required thereafter by a single request. Are distributed to the client 5 and supplied to the client 5. When a data request is received from any of the clients 5 in the system, the server 2 sends a distribution timer 13 so that all the clients (attendants) that can use the data can receive the multicast data in a standby state where the data can be received. The data transmission start time (end time) is set, and the client 5 sets the data reception standby time in the standby timer 23 to synchronize and distribute all at once. The client 5 waits so that it can receive data distributed by multicast. When there is a data request from another client, in order to ensure data reception, the server 2 extends and resets the data transmission start time, and the client 5 extends the data reception standby time and resets it. When set, multicast distribution is performed. By receiving these data, the client 5 starts (boots) the system and can use the OS and AP data related to the specific application system. Note that not all AP data is necessarily required for booting, and it is possible to perform booting at the stage when an OS related to booting and a program related to booting APs are acquired. The data may then be requested for data.

特定アプリケーションシステムのブート(特定のアプリケーションシステムに係るブート情報配信完了後、特定のアプリケーションシステムをデスクトップ画面に表示し、操作可能にするためのブート)については、サーバ2が複数のクライアント5にブート開始指示を送信し、クライアント5はサーバ2からのブート開始指示を受信した時にブートを開始するようにすると、複数のクライアントについてブートの条件が整った時に一斉にブートを行なうことができ、ブートを確実化できる。また、クライアント5が、特定のアプリケーションシステムに係るブート情報配信完了後さらに一定時間経過後にブートを開始するようにすると、サーバからのブート開始指示がなくても、一定時間マージンをとってブートを行なうので、ブートを確実化できる。   For booting a specific application system (after completing the distribution of boot information related to a specific application system, displaying the specific application system on the desktop screen and making it operable), the server 2 starts booting to a plurality of clients 5 By sending an instruction and starting the boot when the client 5 receives the boot start instruction from the server 2, the boot can be performed all at once when the boot conditions are satisfied for a plurality of clients, and the boot is ensured. Can be Further, if the client 5 starts booting after a certain period of time has elapsed after completion of boot information distribution related to a specific application system, the booting is performed with a certain time margin even if there is no boot start instruction from the server. So you can be sure of booting.

図11は本実施例による起動時間を従来と比較した図である。横軸にクライアントの同時起動台数を、縦軸に全クライアント起動完了時間(sec)を示す。黒菱形◆は本実施例におけるマルチキャスト配信方式による実測データであり、黒正方形■は従来の個別要求・応答方式による実測データである。個別要求・応答方式では台数の増加に対し起動完了時間がリニアに増加するのに対して、マルチキャスト配信方式では台数が増加しても40台まで、1台を起動するのとほぼ同じ時間で済む。このように40台の台数ではマルチキャスト配信方式と個別要求・応答方式では起動完了時間に4倍の差が生じており、台数がさらに大きくなると、その差はさらに増大すると見込まれるので、台数が多くなるほどマルチキャスト配信方式による起動完了時間短縮の効果は大である。   FIG. 11 is a diagram in which the startup time according to the present embodiment is compared with the conventional one. The abscissa indicates the number of clients that are simultaneously activated, and the ordinate indicates the total client activation completion time (sec). The black rhombus ◆ is actually measured data by the multicast distribution method in this embodiment, and the black square ■ is actually measured data by the conventional individual request / response method. In the individual request / response method, the startup completion time increases linearly with the increase in the number of units, whereas in the multicast distribution method, even if the number of units increases, up to 40 units can be processed in almost the same time as starting up one unit. . In this way, there is a four-fold difference in start-up completion time between the multicast distribution method and the individual request / response method in the number of 40 units, and the difference is expected to increase further as the number increases, so the number is large. Indeed, the effect of shortening the startup completion time by the multicast distribution method is great.

本実施例によれば、クライアント数及びファイルサイズが共に大きい場合又はアクセスされるファイル数が多数の場合でも、一度のデータ要求により、関連データを含めて配信でき、これによりサーバ及びネットワークの負荷を軽減できるサーバクライアントシステムを提供できる。   According to the present embodiment, even when the number of clients and the file size are both large or the number of accessed files is large, it is possible to distribute the data including related data by a single data request, thereby reducing the load on the server and the network. A server client system that can be reduced can be provided.

実施例1では、全てのクライアントに同じデータをマルチキャスト配信する例を説明したが、本実施例では、クライアントをデータセットが異なる複数のグループに分類して配信を行なう例を説明する。複数のグループとして、例えばA教室とB教室で別の授業が行なわれている場合が挙げられる。この場合、利用するAPプログラムやデータが異なる可能性がある。このため、クライアントをA教室とB教室にグループ分けしておくことにより、APプログラムやデータを共通用、A教室用、B教室用に分けて配信可能である。すなわち、クライアント5−1〜5−nをデータセットが異なる複数のグループに分類し、サーバは各グループのクライアントに対して、全グループが使用し得る共通データを複数のクライアントに一括してマルチキャスト配信し、各グループが使用し得る個別データをグループ別にマルチキャスト配信する。どのグループに属するかはサーバが管理する。   In the first embodiment, an example in which the same data is multicast distributed to all clients has been described. In this embodiment, an example will be described in which clients are classified into a plurality of groups having different data sets and distributed. As a plurality of groups, for example, a case where different classes are performed in the A classroom and the B classroom can be cited. In this case, the AP program and data to be used may be different. For this reason, by dividing the client into the A classroom and the B classroom, the AP program and data can be distributed for common use, for the A classroom, and for the B classroom. That is, the clients 5-1 to 5-n are classified into a plurality of groups having different data sets, and the server collectively distributes common data that can be used by all groups to the clients of each group. Then, individual data that can be used by each group is distributed by multicast. The server manages which group it belongs to.

図12に本実施例におけるサーバとクライアント間の情報通信シーケンス例を示す。サーバ2を最も左側に、そして、第1グループに属するクライアント5−1,5−2、第2グループに属するクライアント5−3を順次左側から右側に示す。縦軸は時間を示す。クライアント5−1からサーバ2にデータD1−1をデータ要求する(S204)と共に、待受タイマー23にデータ受信待機時間を設定し(S211)、データ受信待機状態で待機する(S213)。サーバ2は、データ要求を受信すると(S102)、配信タイマー13にデータ送信開始時間を設定する(S103)。次に、クライアント5−2及び5−3からサーバ2にデータD1−1をデータ要求がされると(S204)、クライアント5−2及び5−3は待受タイマー23にデータ受信待機時間を設定し(S211)、データ受信待機状態で待機する(S213)。サーバ2は、データ要求を受信すると(S102)、配信タイマー13にデータ送信開始時間を延長して再設定する(S103)と共に、クライアント5−1にデータ受信待機時間を延長して再設定するよう指示する(S104)。データ送信開始時間が経過すると(S105でYES)、サーバ2は共通データD1−1をクライアント5−1〜5−3にマルチキャスト配信し(S109)、クライアント5−1〜5−3はデータD1−1を受信する(S221)。サーバ2は、共通データD1−1に続けてデータD1−1に関連する共通データD1−2,D1−3をクライアント5−1〜5−3にマルチキャスト配信し(S109)、クライアント5−1〜5−3は共通データD1−2,D−3を受信する(S221)。共通データD1−1及び関連する共通データD1−2,D1−3のマルチキャスト配信が終了すると、クライアント5−1〜5−3はデータ受信待機状態を解除する(S215)。   FIG. 12 shows an example of an information communication sequence between the server and the client in this embodiment. The server 2 is shown on the leftmost side, and the clients 5-1 and 5-2 belonging to the first group and the client 5-3 belonging to the second group are sequentially shown from the left side to the right side. The vertical axis represents time. The client 5-1 requests data D1-1 from the server 2 (S204), sets a data reception standby time in the standby timer 23 (S211), and waits in a data reception standby state (S213). When the server 2 receives the data request (S102), the server 2 sets a data transmission start time in the distribution timer 13 (S103). Next, when a data request is made for data D1-1 to the server 2 from the clients 5-2 and 5-3 (S204), the clients 5-2 and 5-3 set the data reception standby time in the standby timer 23. (S211), and waits in a data reception standby state (S213). Upon receiving the data request (S102), the server 2 extends the data transmission start time to the delivery timer 13 and resets it (S103), and extends the data reception standby time to the client 5-1 and resets it. An instruction is given (S104). When the data transmission start time has elapsed (YES in S105), the server 2 multicasts the common data D1-1 to the clients 5-1 to 5-3 (S109), and the clients 5-1 to 5-3 receive the data D1- 1 is received (S221). The server 2 multicasts the common data D1-1 and the common data D1-2 and D1-3 related to the data D1-1 to the clients 5-1 to 5-3 following the common data D1-1 (S109). 5-3 receives the common data D1-2 and D-3 (S221). When the multicast distribution of the common data D1-1 and the related common data D1-2 and D1-3 is completed, the clients 5-1 to 5-3 cancel the data reception standby state (S215).

その後、第1グループに属するクライアント5−1,5−2がデータD2−1をデータ要求し、サーバ2はデータ送信開始時間を設定し(S103)、クライアント5−1,5−2はデータ受信待機状態で待機する(S213)。サーバ2は個別データD2−1及びD2−1に関連する個別データD2−2を第1グループに属するクライアント5−1,5−2にマルチキャスト配信し(S109)、クライアント5−1,5−2はデータD2−1,D2−2を受信する(S221)。個別データD2−1及び関連する個別データD2−2のマルチキャスト配信が終了すると、クライアント5−1,5−2はデータ受信待機状態を解除する(S215)。なお、2つのクライアントからのデータ要求後にデータ送信開始時間を設定する例を説明したが、クライアントからのデータ要求毎に、データ送信開始時間を延長して、マルチキャスト配信しても良い。さらに、個別データでもデータ要求がされることが確実なデータがある場合には、共通データ配信後にデータ受信待機時間の解除をせずに、受信待機時間を継続すれば、第1グループに属する1つのクライアントからのデータ要求を受信した時点で、データ送信開始時間の設定とデータ受信待機時間の継続設定を行ない、ことさら、データ送信開始時間の延長をしなくても良い。次に、第2グループに属するクライアント5−3がデータD3−1をデータ要求し、サーバ2はデータ送信開始時間を設定し(S103)、クライアント5−3はデータ受信待機状態で待機する(S213)。サーバ2は個別データD3−1及びD3−1に関連する個別データD3−2を第2グループに属するクライアント5−3にマルチキャスト配信し(S109)、クライアント5−3はデータD3−1,D3−2を受信する(S221)。個別データD3−1及び関連する個別データD3−2のマルチキャスト配信が終了すると、クライアント5−3はデータ受信待機状態を解除する(S215)。なお、クライアントからのデータ要求毎に、データ送信開始時間を延長して、マルチキャスト配信しても良い。さらに、個別データでもデータ要求がされることが確実なデータがある場合には、共通データ配信後にデータ受信待機時間の解除をせずに、受信待機時間を継続すれば、第2グループに属する1つのクライアントからのデータ要求を受信した時点で、データ送信開始時間の設定とデータ受信待機時間の継続設定を行ない、ことさら、データ送信開始時間の延長をしなくても良い。   Thereafter, the clients 5-1 and 5-2 belonging to the first group request data D2-1, the server 2 sets the data transmission start time (S103), and the clients 5-1 and 5-2 receive the data. Wait in a standby state (S213). The server 2 multicasts individual data D2-1 and individual data D2-2 related to D2-1 to the clients 5-1 and 5-2 belonging to the first group (S109), and the clients 5-1 and 5-2. Receives the data D2-1 and D2-2 (S221). When the multicast distribution of the individual data D2-1 and the related individual data D2-2 is completed, the clients 5-1 and 5-2 cancel the data reception standby state (S215). Although an example in which the data transmission start time is set after data requests from two clients has been described, multicast distribution may be performed by extending the data transmission start time for each data request from the clients. Furthermore, when there is data that is surely requested for data even with individual data, if the reception standby time is continued without releasing the data reception standby time after the common data is distributed, 1 belonging to the first group. When a data request from one client is received, the data transmission start time is set and the data reception standby time is continuously set. In addition, it is not necessary to extend the data transmission start time. Next, the client 5-3 belonging to the second group requests data D3-1, the server 2 sets a data transmission start time (S103), and the client 5-3 waits in a data reception standby state (S213). ). The server 2 multicast-distributes the individual data D3-1 and the individual data D3-2 related to D3-1 to the client 5-3 belonging to the second group (S109), and the client 5-3 receives the data D3-1, D3- 2 is received (S221). When the multicast distribution of the individual data D3-1 and the related individual data D3-2 is completed, the client 5-3 cancels the data reception standby state (S215). Note that multicast distribution may be performed by extending the data transmission start time for each data request from the client. Furthermore, if there is data that is requested to be requested even for individual data, if the reception standby time is continued without releasing the data reception standby time after the common data is distributed, 1 belonging to the second group. When a data request from one client is received, the data transmission start time is set and the data reception standby time is continuously set. In addition, it is not necessary to extend the data transmission start time.

このように、サーバ2は、全グループが使用し得る共通データを複数のクライアントに一括してマルチキャスト配信し、各グループが使用し得る個別データをグループ別にマルチキャスト配信する。このように、各グループにデータセットが異なるデータが配信される。これにより、共通データについては、一度のデータ要求により、関連データを含めてデータを一括してマルチキャスト配信でき、サーバ及びネットワークの負荷を軽減できる。また、個別データについても、グループ毎に関連データを含めてまとめてマルチキャスト配信でき、サーバ及びネットワークの負荷を軽減できる。また、LAN上の同一セグメントに存在する複数のグループに対して同じデータを配信したり、グループ毎に特定のデータを配信することが可能になる。また、グループ分けにより、必要でないデータを受け取らずにすむ。   As described above, the server 2 performs multicast distribution of common data that can be used by all groups to a plurality of clients at once, and multicast distribution of individual data that can be used by each group. In this way, data with different data sets is distributed to each group. As a result, with respect to common data, data including related data can be collectively distributed by a single data request, and the load on the server and the network can be reduced. In addition, individual data can also be multicast distributed together with related data for each group, reducing the load on the server and the network. In addition, the same data can be distributed to a plurality of groups existing in the same segment on the LAN, or specific data can be distributed for each group. In addition, grouping eliminates unnecessary data.

以上、本発明の実施の形態について説明したが、本発明は上記の実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で実施例に種々変更を加えられることは明白である。   Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and it is obvious that various modifications can be made to the embodiments without departing from the spirit of the present invention. .

例えば、以上の実施例では、パソコン実習室の例を説明したが、パソコンを利用した通信教育、講義、ゼミナール、講演、会議にも本発明を利用可能である。また、実施例1ではクライアントが1つの実習室に設置される例を説明したが、例えば東京と大阪の実習室等に分かれて設置されても良い。実施例2では複数の教室での授業や演習について、教室別にグループ分けして利用する例を説明したが、1つの実習室内での演習でグループ分けしても良い。また、システムに属するクライアントのうち出席者のクライアントを立ち上げる例を説明したが、遅刻する学生も参加できるように、全てのクライアントを立ち上げても良く、参加予定者数のクライアントを立ち上げても良く、故障等の事故に対処するために参加予定者数に余裕数を加えたクライアントを立ち上げても良い。また、以上の実施例では、OSを配信した後にAPデータを配信する例を説明したが、一部のAPデータを一部のOSの前に配信しても良い。また、以上の実施例では、OSがサーバにより内部に取り込まれたデータ要求を行なう例を説明したが、サーバから各クライアントに、プロファイル管理表の当該クライアントに関連する部分を配信しておき、データ要求に対して、OSが参照して、データ要求できるようにしても良い。その他、クライアントの台数、データ送信開始時間、データ受信待機時間等も適宜変更可能である。また、本発明はサーバクライアントシステムやそれを構成するサーバやクライアントの発明としてだけでなく、実施の形態に記載のデータ配信方法の発明として、また、当該データ配信方法をコンピュータに実行させるためのプログラムの発明としても実現可能である。   For example, in the above embodiment, an example of a personal computer training room has been described. However, the present invention can also be used for correspondence education, lectures, seminars, lectures, and conferences using personal computers. In the first embodiment, an example in which the client is installed in one training room has been described. However, the client may be installed in training rooms in Tokyo and Osaka, for example. In the second embodiment, an example in which lessons and exercises in a plurality of classrooms are grouped and used for each classroom has been described. However, the lessons and exercises may be grouped by exercises in one training room. In addition, the example of starting the attendee client among the clients belonging to the system was explained, but all clients may be started so that late students can participate, and the number of clients who are expected to participate is started. In order to cope with an accident such as a failure, a client may be started in which a surplus is added to the expected number of participants. In the above embodiment, the example in which the AP data is distributed after the OS is distributed has been described. However, a part of the AP data may be distributed before the partial OS. In the above embodiment, an example in which the OS makes a data request fetched internally by the server has been described. However, a part related to the client in the profile management table is distributed from the server to each client, and the data is The OS may be able to request data by referring to the request. In addition, the number of clients, data transmission start time, data reception standby time, and the like can be appropriately changed. The present invention is not only an invention of a server client system and a server and a client constituting the server client system, but also an invention of a data distribution method described in the embodiment, and a program for causing a computer to execute the data distribution method This invention can also be realized.

本発明は、教育・講演・会議用等のサーバクライアントシステムに利用できる。   The present invention can be used for a server client system for education, lecture, conference and the like.

1 サーバクライアントシステム
2 サーバ
3 データ
4 データベース(外部記憶装置)
5,5−1〜5−n クライアント
6 ネットワーク(LAN)
7 スイッチ
11 CPU
12 メモリ
13 配信タイマー
14 ネットワークインターフェース
15 バス
16 データ要求管理部
17 配信タイマー設定部
18 配信管理部
19A 配信待ちデータキュー表
19B プロファイル管理表
20 データベース(外部記憶装置)
21 CPU
22 メモリ
23 待受タイマー
24 ネットワークインターフェース
25 バス
26 データ要求部
27 待受タイマー設定部
28 受信管理部
29 OS
51A,51B サーバクライアントシステム
52,52−1,52−2 ブートサーバ
53,53−1〜53−3 データ
54 データベース
55,55−1〜55−4 クライアント
56,56−1,56−2 ネットワーク(LAN)
57 スイッチ
D1−1〜D1−n,D2−1〜D2−n,D3−1〜D3−2 データ
1 server client system 2 server 3 data 4 database (external storage device)
5,5-1 to 5-n Client 6 Network (LAN)
7 Switch 11 CPU
12 memory 13 distribution timer 14 network interface 15 bus 16 data request management unit 17 distribution timer setting unit 18 distribution management unit 19A distribution waiting data queue table 19B profile management table 20 database (external storage device)
21 CPU
22 memory 23 standby timer 24 network interface 25 bus 26 data request unit 27 standby timer setting unit 28 reception management unit 29 OS
51A, 51B Server client system 52, 52-1, 52-2 Boot server 53, 53-1 to 53-3 Data 54 Database 55, 55-1 to 55-4 Client 56, 56-1, 56-2 Network ( LAN)
57 Switches D1-1 to D1-n, D2-1 to D2-n, D3-1 to D3-2 Data

Claims (5)

ブート情報及びオペレーティングシステムを含む特定のアプリケーションシステムデータを供給可能なサーバと、前記サーバとネットワークで接続され、前記サーバから前記特定のアプリケーションシステムデータを取得して共通環境で使用される複数のクライアントから構成されるサーバクライアントシステムであって;
前記サーバは前記複数のクライアントからのデータ要求を監視して、いずれかのクライアントからデータ要求がされた時に、前記データ要求されたデータ及び当該データに関連してその後アクセスされる可能性のある関連データを、前記複数のクライアントにマルチキャスト配信する;
サーバクライアントシステム。
A server capable of supplying specific application system data including boot information and an operating system; and a plurality of clients connected to the server via a network and acquiring the specific application system data from the server and used in a common environment A configured server client system;
The server monitors data requests from the plurality of clients, and when a data request is made from any of the clients, the data requested by the data and a relation that may be accessed in relation to the data. Multicast delivery of data to the plurality of clients;
Server client system.
前記クライアントはデータセットが異なる複数のグループに分類され、前記サーバは各グループのクライアントに対して、全グループが使用し得る共通データを前記複数のクライアントに一括してマルチキャスト配信し、各グループが使用し得る個別データをグループ別にマルチキャスト配信する;
請求項1に記載のサーバクライアントシステム。
The clients are classified into a plurality of groups having different data sets, and the server collectively distributes common data that can be used by all groups to the clients of each group, and is used by each group. Possible individual data by multicast distribution by group;
The server client system according to claim 1.
前記サーバは、データ送信開始時間を設定する配信タイマーを有し;
前記クライアントは、データ受信待機時間を設定する待受タイマーを有し;
前記サーバは、システムに属する1のクライアントからの最初のデータ要求を検出した場合、前記配信タイマーに前記データ要求に係るデータを使用し得る殆ど全てのクライアントが受信できるようにデータ送信開始時間を設定し、前記1のクライアント以外のクライアントに、前記待受タイマーに前記データ送信開始時間に対応するデータ受信待機時間を設定するように指示し、
前記1のクライアントと異なる他のクライアントから同一のデータ要求を検出した場合、前記配信タイマーに設定した前記データ送信開始時間を延長して再設定し、前記他のクライアント以外のクライアントに前記待受タイマーに設定した前記データ受信待機時間を延長して再設定するように指示し、
前記データ送信開始時間が再設定された場合は最後に再設定されたデータ送信開始時間が経過した時に、再設定されなかった場合は最初に設定されたデータ送信開始時間が経過した時に、前記データ要求されたデータ及び前記関連データを、前記複数のクライアントにマルチキャスト配信し;
前記クライアントは、前記サーバに前記データ要求を行うことができ、
前記データ要求を行なった1のクライアントは自発的に、前記1のクライアント以外のクライアントは前記サーバからのデータ受信待機時間の設定指示により、前記待受タイマーにデータ受信待機時間を設定して、データ受信の待機状態に入り、
前記サーバからデータ受信待機時間の延長指示があった場合、前記他のクライアント以外のクライアントは前記待受タイマーに設定した前記データ受信待機時間を延長して再設定して、データ受信の待機状態を継続し、
前記サーバから前記データ要求されたデータ及び前記関連データがマルチキャスト配信された時に、前記データ要求されたデータ及び前記関連データを受信する;
請求項1又は請求項2に記載のサーバクライアントシステム。
The server has a delivery timer for setting a data transmission start time;
The client has a standby timer for setting a data reception standby time;
When the server detects an initial data request from one client belonging to the system, the server sets a data transmission start time so that almost all clients that can use the data related to the data request can receive the distribution timer. And instructing clients other than the one client to set a data reception standby time corresponding to the data transmission start time in the standby timer,
When the same data request is detected from another client different from the one client, the data transmission start time set in the delivery timer is extended and reset, and the standby timer is set to a client other than the other client. Instructed to extend and reset the data reception waiting time set in
When the data transmission start time is reset, the last data transmission start time has elapsed; otherwise, when the first data transmission start time has elapsed, the data Multicasting the requested data and the related data to the plurality of clients;
The client can make the data request to the server;
One client that made the data request voluntarily, and clients other than the one client set the data reception standby time in the standby timer according to the data reception standby time setting instruction from the server, and the data Enter the standby state for reception,
When there is an instruction to extend the data reception standby time from the server, the clients other than the other clients extend the data reception standby time set in the standby timer and reset the data reception standby time. Continue,
Receiving the data-requested data and the related data when the data-requested data and the related data are multicast-delivered from the server;
The server client system according to claim 1 or 2.
前記サーバは、前記複数のクライアントにブート開始指示を送信し;
前記クライアントは、前記サーバからのブート開始指示を受信した時にブートを開始する;
請求項3に記載のサーバクライアントシステム。
The server sends a boot start instruction to the plurality of clients;
The client starts booting upon receiving a boot start instruction from the server;
The server client system according to claim 3.
前記クライアントは、特定のアプリケーションシステムに係るブート情報配信完了後さらに一定時間経過後にブートを開始する;
請求項3に記載のサーバクライアントシステム。

The client starts booting after a predetermined time has elapsed after completion of boot information delivery related to a specific application system;
The server client system according to claim 3.

JP2009045245A 2009-02-27 2009-02-27 Server-client system Pending JP2010200206A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009045245A JP2010200206A (en) 2009-02-27 2009-02-27 Server-client system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009045245A JP2010200206A (en) 2009-02-27 2009-02-27 Server-client system

Publications (1)

Publication Number Publication Date
JP2010200206A true JP2010200206A (en) 2010-09-09

Family

ID=42824419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009045245A Pending JP2010200206A (en) 2009-02-27 2009-02-27 Server-client system

Country Status (1)

Country Link
JP (1) JP2010200206A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019024234A (en) * 2018-10-02 2019-02-14 株式会社リコー Apparatus control system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168198A (en) * 1992-11-30 1994-06-14 Sony Corp Information processing system
JP2001256134A (en) * 2000-03-14 2001-09-21 Toshiba Corp Data loading method and network system using the method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168198A (en) * 1992-11-30 1994-06-14 Sony Corp Information processing system
JP2001256134A (en) * 2000-03-14 2001-09-21 Toshiba Corp Data loading method and network system using the method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019024234A (en) * 2018-10-02 2019-02-14 株式会社リコー Apparatus control system

Similar Documents

Publication Publication Date Title
US7171568B2 (en) Remote power control in a multi-node, partitioned data processing system
US9298513B2 (en) Method and structure for autonomic application differentiation/specialization
US8352624B2 (en) System for and method of streaming data to a computer in a network
US7321936B2 (en) System for and method of streaming data to a computer in a network
US8316123B2 (en) Managing boot images in a retail store environment
US7334122B2 (en) System for and method of network booting of an operating system to a client computer using hibernation
US10509617B2 (en) Terminal device, program, method for sharing content and information processing system
WO2008068146A1 (en) Operating system deployment in a peer-to-peer computing environment
CN104123265A (en) Method and system for communication among multiple kernels
Murphy et al. Dynamic provisioning of virtual organization clusters
CN102341763A (en) Power management in a virtual machine farm at the local virtual machine platform level by a platform hypervisor extended with farm management server functions
CN108628716A (en) Information receives guard system, method and device
EP1495418B1 (en) System for and method of network booting of an operating system to a client computer using hibernation
JP2010200206A (en) Server-client system
CN110532060A (en) A kind of hybrid network environmental data collecting method and system
US11650892B1 (en) Resilient coordination, command, and control of widely distributed test agents
BR112013008721A2 (en) information processing apparatus, method of operating an information processing apparatus and system
Li et al. Provisioning virtualized datacenters through virtual computing lab
US20230353709A1 (en) Configuring a virtualised environment in a telecommunications network
JP2004012695A (en) Projector apparatus
CN108011980A (en) A kind of implementation method based on virtualization cloud classroom
Liu et al. Network optimisation solutions of university computer laboratory based on virtualisation technology
Goehner et al. A framework for bootstrapping extreme scale software systems
JP5372567B2 (en) Information processing device
US9667512B2 (en) Providing and resolving an IP address for swarm-based services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130827