JP2012089044A - Computer and method for improving performance of computer - Google Patents

Computer and method for improving performance of computer Download PDF

Info

Publication number
JP2012089044A
JP2012089044A JP2010237104A JP2010237104A JP2012089044A JP 2012089044 A JP2012089044 A JP 2012089044A JP 2010237104 A JP2010237104 A JP 2010237104A JP 2010237104 A JP2010237104 A JP 2010237104A JP 2012089044 A JP2012089044 A JP 2012089044A
Authority
JP
Japan
Prior art keywords
support server
job
processing
computer
client
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.)
Granted
Application number
JP2010237104A
Other languages
Japanese (ja)
Other versions
JP5357129B2 (en
Inventor
Ryota Nomura
良太 野村
Seiichi Kono
誠一 河野
Mitsuhiro Yamazaki
充弘 山▲ざき▼
Satoko Tonegawa
聡子 利根川
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2010237104A priority Critical patent/JP5357129B2/en
Publication of JP2012089044A publication Critical patent/JP2012089044A/en
Application granted granted Critical
Publication of JP5357129B2 publication Critical patent/JP5357129B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the performance of a client by issuing a speculative request for processing to a support server.SOLUTION: A client 100 and a support server 200 are connected via a network 11. The client starts processing of a specific job on the basis of an execution instruction. At this time, the client requests the support server to process the same job. The client uses either processing result that is first generated, a specific job processing result received from the support server or a processing result of the specific job processed by the client.

Description

本発明は、ネットワーク・サービスを利用してクライアントのパフォーマンスを向上させる技術に関し、さらに詳細にはサーバとクライアントのそれぞれにおける特定のジョブの処理に関する異質な特徴を組み合わせてクライアントにおいて最大のパフォーマンスを実現する方法に関する。   The present invention relates to a technique for improving the performance of a client by using a network service, and more specifically, achieves the maximum performance in the client by combining different characteristics related to processing of a specific job in each of the server and the client. Regarding the method.

コンピュータの利用形態は、メイン・フレームによる集中処理からクライアント/サーバによる分散処理へと発展し、近年においては、インターネットやLANなどの性能の向上と低価格化によりネットワークを中心としたネットワーク・コンピューティングまたはクラウド・コンピューティングといわれる新しい集中処理に発展してきている。クラウド・コンピューティングは一般に、SaaS(Software as a Service)、PaaS(Platform as a Service)、およびIaaS(Infrastructure as a Service)という3つのタイプを含む。   Computer usage has evolved from centralized processing by mainframes to distributed processing by clients / servers. In recent years, network computing has been centered on networks due to improved performance and lower prices for the Internet and LAN. Or it has evolved into a new centralized processing called cloud computing. Cloud computing generally includes three types: SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service).

SaaSの利用形態では、ソフトウエアの提供者側のサーバでアプリケーション・ソフトウエアを稼働させ、ユーザはそのソフトウエアの機能をネットワーク経由でサービスとして利用する。PaaSの利用形態では、サーバにハードウエアやOSなどのプラットフォームまたはアプリケーション実行環境を提供し、ユーザはそこで自ら用意したアプリケーションやサービス・プロバイダが用意したアプリケーションを実行してネットワーク経由で結果を受け取る。IaaSの利用形態では、サーバに構築された仮想マシンでユーザが用意したOSとアプリケーションを実行する。   In the usage form of SaaS, application software is operated on a server on the software provider side, and the user uses the function of the software as a service via the network. In the usage form of PaaS, a platform such as hardware or OS or an application execution environment is provided to a server, and a user executes an application prepared by the user or an application prepared by a service provider and receives a result via a network. In the usage form of IaaS, an OS and an application prepared by a user are executed on a virtual machine built on a server.

特許文献1には、1台のマスタ・コンピュータと複数のスレーブ・コンピュータをネットワークで接続し、協調動作するようにしたクラスタ・コンピュータについて記載されている。クラスタ・コンピュータでは、マスタ・コンピュータで動作するアプリケーションが、並列処理が必要となる部分にさしかかると、マスタ・コンピュータは素材データを個々のスレーブ・コンピュータに分配した上、それぞれのスレーブ・コンピュータが担当する処理の範囲を決定し、処理の開始をそれぞれのスレーブ・コンピュータに指示する。処理を終えたスレーブ・コンピュータは、部分的な結果データをマスタ・コンピュータに送り、マスタ・コンピュータはそれらを統合して一つのまとまった結果データを得る。   Patent Document 1 describes a cluster computer in which one master computer and a plurality of slave computers are connected via a network so as to perform a cooperative operation. In a cluster computer, when an application running on a master computer reaches a part that requires parallel processing, the master computer distributes material data to individual slave computers, and each slave computer takes charge of the master computer. The range of processing is determined and each slave computer is instructed to start processing. The slave computer that has finished processing sends partial result data to the master computer, and the master computer integrates them to obtain a single result data.

特許文献2は、ネットワークに接続された印刷制御装置と複数の印刷装置で構成される印刷制御システムにおいて、印刷制御装置が、各印刷装置の印刷性能および印刷状況に基づいて印刷完了予測時刻を計算して、分割印刷ジョブを各印刷装置にスケジューリングする技術が記載されている。特許文献3は、条件分岐命令に対応する条件が確定していない間、投機的に命令を処理してプログラムを高速に実行するプロセッサを開示する。内部で条件分岐命令の分岐の成否が判断されて、有効な実行結果はレジスタ・ファイルに格納されるが、無効な実行結果は消去される。   Patent Document 2 describes a print control system that includes a print control device connected to a network and a plurality of printing devices, and the print control device calculates a predicted print completion time based on the printing performance and printing status of each printing device. A technique for scheduling a divided print job to each printing apparatus is described. Patent document 3 discloses a processor that speculatively processes an instruction and executes a program at high speed while a condition corresponding to the conditional branch instruction is not fixed. Internally, whether the branch of the conditional branch instruction is successful or not is determined, and the valid execution result is stored in the register file, but the invalid execution result is deleted.

特開2009−187590号公報JP 2009-187590 A 特開2009−123147号公報JP 2009-123147 A 特開平5−224927号公報JP-A-5-224927

クラウド・コンピューティングでは、クライアントの負荷を部分的にネットワーク・サーバに分散することで軽減することができる。しかし、クラウド・コンピューティングは、特定のジョブの処理にあたってクライアントのパフォーマンスを最大化することを指向するものではない。クラウド・コンピューティングでは、同一のジョブをクライアントおよびサーバのいずれでも処理できる環境を構築することができる。その場合に、いずれで実行した方が短時間で処理を完了できるかの判断は簡単にはできない。   In cloud computing, the client load can be reduced by partially distributing the load to network servers. However, cloud computing is not aimed at maximizing client performance when processing specific jobs. In cloud computing, an environment in which the same job can be processed by both a client and a server can be constructed. In that case, it is not easy to determine which one should execute the process in a shorter time.

その理由には、クライアントが特定のジョブを自ら処理する能力とサーバに処理を要求してサーバから結果を受け取るときのネットワークを含むサーバ側の能力の優劣がジョブの種類に応じて異なり、さらに、優劣関係が時間的に変動することが挙げられる。たとえば、クライアントは、CPUと周辺装置との間を通過するデータ・バスの帯域が広く安定性に優れているが、CPUやメイン・メモリの能力は制限されている。これに対して、クライアントがネットワーク経由でサーバを利用する場合は、サーバ自体のCPUやメイン・メモリの能力は高く拡張性もあるが、ネットワークの帯域が狭く安定性に欠ける。   The reason is that the client's ability to process a specific job itself and the ability of the server side including the network when requesting the server to receive the result from the server differ depending on the type of job, The superiority / inferiority relationship varies with time. For example, the client has a wide data bus band passing between the CPU and the peripheral device and is excellent in stability, but the capabilities of the CPU and main memory are limited. On the other hand, when a client uses a server via a network, the server itself has high CPU and main memory capabilities and expandability, but the network bandwidth is narrow and lacks stability.

したがって、ジョブを処理するまでの時間をCPUの性能が支配するような場合はサーバの能力を活用した方が早く処理結果を得ることができるが、ネットワークの転送時間が支配するような場合はクライアントの能力を活用したほうが早く処理結果を得ることができる。さらに、マルチタスキング・システムを採用するクライアントでは特定のジョブがクライアントのリソースを他のジョブとの間で共有しており、また、サーバでは当該クライアントがサーバのリソースを他のクライアントと共有する。クライアントとサーバのどちらで処理することが優位かは、上記のリアルタイムで変動する要素により常に移り変わる。しかしながら、これまでのクラウド・コンピューティングでは、サーバを利用して処理するジョブをあらかじめ決めてからサーバのサービスを利用していた。   Therefore, if the CPU performance dominates the time until the job is processed, it is possible to obtain the processing result faster by utilizing the server capability, but if the network transfer time dominates the client The processing result can be obtained faster by utilizing the ability of. Further, in a client adopting a multitasking system, a specific job shares the client's resources with other jobs, and in the server, the client shares the server's resources with other clients. The advantage of processing by the client or the server always changes depending on the above-mentioned factors that change in real time. However, in conventional cloud computing, the server service is used after a job to be processed using the server is determined in advance.

近年、サーバを構築する費用が低下し、ネットワークの通信速度および安定性が向上してきたことにより、サーバのサービスが利用し易くなってきた。しかし前述のとおり、特定のジョブの処理にクライアントがサーバのサービスを利用できる環境において、当該ジョブの処理結果をクライアントが最も短時間で得るという課題を設定したときに、ジョブが発生した瞬間においては、クライアントが処理する場合とサーバに処理を要求してサーバから結果を得る場合のいずれが早いかは判断できないことが多い。   In recent years, the cost of constructing a server has decreased, and the communication speed and stability of the network have improved, making it easier to use server services. However, as described above, in an environment where the client can use the server service for processing a specific job, when the problem is set that the client obtains the processing result of the job in the shortest time, at the moment when the job occurs In many cases, it cannot be determined which is faster, that is, when the client processes or when the server requests processing and obtains the result from the server.

このような場合に当該ジョブをクライアントが処理するのと同時並行的にサーバにも投機的に処理を要求しておき、早く処理が完了した方の結果を利用するといったようなジョブの処理方法は、リソースに無駄が生ずるためにこれまで採用されることはなかった。また、結果が予測できない処理を投機的に実行する方法は、特許文献3のようなプロセッサ内部の処理に限られていた。   In such a case, there is a job processing method in which the server requests speculative processing concurrently with the processing of the job by the client and uses the result of the processing completed earlier. It has never been adopted because of wasteful resources. Further, a method of speculatively executing a process whose result cannot be predicted has been limited to a process inside the processor as in Patent Document 3.

しかし、クライアントの機能が増強され搭載するプロセッサに比して高度な処理をする機会が増加したこと、および、サーバは比較的処理能力に余裕がある時間帯が多いことに着目すると、クライアントが特定のジョブの処理結果を最短時間で得るにはサーバのサービスを利用することが有効なことがわかってきた。このような状況の変化に伴い、新たなネットワーク・コンピューティングの形態を構築してクライアントに最大のパフォーマンスを発揮させる可能性に着目することは有意義である。   However, the client's functions are enhanced and the opportunity for advanced processing is increased compared to the installed processor, and the server has a relatively large capacity for processing time. It has been found that it is effective to use the service of a server to obtain the job processing result in the shortest time. With such changes in the situation, it is meaningful to focus on the possibility of constructing a new network computing form and allowing the client to maximize performance.

そこで本発明の目的は、支援サーバに接続されたクライアントが最短時間でジョブの処理結果を取得する方法を提供することにある。さらに本発明の目的は、クライアントの消費電力を低減する方法を提供することにある。さらに本発明の目的は、同一の支援サーバに接続された複数のクライアントの全体的なパフォーマンスを向上する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータ・プログラム、コンピュータ、およびコンピュータ・システムを提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a method in which a client connected to a support server acquires a job processing result in the shortest time. It is a further object of the present invention to provide a method for reducing the power consumption of a client. It is a further object of the present invention to provide a method for improving the overall performance of multiple clients connected to the same support server. It is a further object of the present invention to provide a computer program, a computer, and a computer system for realizing such a method.

本発明は、クライアントのパフォーマンス向上を目指した新しいネットワーク・コンピューティングの形態を提供する。本発明は、クライアントとサーバがネットワークで接続され、クライアントが処理するジョブと同じジョブをサーバが処理できる環境で実現される。本発明のネットワーク・コンピューティングは、クライアントとサーバの異質な特徴を組み合わせて、クライアントのパフォーマンスを最大にするという意味で、これを以後、サーバ・アクセラレテッド・クライアント(SAC)ということにする。   The present invention provides a new form of network computing aimed at improving client performance. The present invention is realized in an environment in which a client and a server are connected via a network and the server can process the same job as the job processed by the client. The network computing of the present invention is hereinafter referred to as Server Accelerated Client (SAC) in the sense of combining client and server heterogeneous features to maximize client performance.

SACは、単一のサーバが特定のジョブ全体の処理をする一般的なサーバ/クライアント・システムや、複数のサーバが分割されたジョブをそれぞれ処理して最後に統合するクラスタ・コンピュータなどのようなこれまでの集中処理型のネットワーク・コンピューティングとは異なり、処理の主体はクライアントであって、サーバを補助的に利用する。   SAC is a general server / client system in which a single server processes an entire specific job, or a cluster computer in which multiple servers each process divided jobs and integrate them at the end. Unlike conventional centralized network computing, the main subject of processing is a client, which uses a server as an auxiliary.

クライアントが特定のジョブを自ら処理する場合と支援サーバに要求して処理結果を得る場合において、いずれから先に処理結果を得られるかを事前に確定することはできない場合が多い。サーバはCPUやメイン・メモリの能力が大きいが、内部リソースを他のクライアントが共有しており、また、ネットワークのデータ転送速度は時間的に変動し、さらにネットワークは常に切断のリスクを抱えている。   When a client processes a specific job by itself or when it requests a support server to obtain a processing result, it is often impossible to determine in advance which processing result can be obtained first. The server has a large capacity of CPU and main memory, but other clients share internal resources, the data transfer speed of the network fluctuates with time, and the network always has a risk of disconnection. .

SACでは、クライアントがサーバを利用したときにパフォーマンスの向上を図ることできることは確実ではないが、パフォーマンスの向上が期待できるという蓋然性がある場合には利用する価値がある点に着目して、同一の特定のジョブをクライアントが処理することに加えてサーバに対して投機的に同時並行で処理を依頼する。   In SAC, it is not certain that the client can improve the performance when using the server, but if there is a probability that the improvement in performance can be expected, it is worth using the same. In addition to processing a specific job by the client, the server requests speculative and simultaneous processing from the server.

本発明の1の態様では、支援サーバにネットワーク経由で接続されたコンピュータがジョブを処理する際に、最短時間で処理結果を得ることができる方法を提供する。コンピュータは、実行命令に基づいて特定のジョブの処理を開始する。実行命令は、コンピュータの入力装置からまたはネットワークを通じて他のコンピュータから受け取ることができる。さらにコンピュータは実行命令に基づいて支援サーバに特定のジョブの処理を要求する。コンピュータは支援サーバから受け取った特定のジョブの処理結果またはコンピュータが処理した同一のジョブの処理結果のいずれか先に発生した処理結果を利用する。   According to one aspect of the present invention, there is provided a method capable of obtaining a processing result in the shortest time when a computer connected to a support server via a network processes a job. The computer starts processing a specific job based on the execution instruction. Execution instructions can be received from a computer input device or from another computer over a network. Further, the computer requests the support server to process a specific job based on the execution command. The computer uses the processing result generated first, either the processing result of the specific job received from the support server or the processing result of the same job processed by the computer.

コンピュータは、支援サーバから先に処理結果を受け取った場合は自らの処理を途中で中止することができる。コンピュータは、自らの処理結果が先に発生した場合は、支援サーバに特定のジョブの処理を中止する命令を送ることができる。その結果、コンピュータまたは支援サーバのいずれかにおいて途中まで特定のジョブを処理するために費やしたリソースは無駄になるが、SACでは複数のジョブ全体でみたときに、支援サーバの能力を活用することでコンピュータが単独でジョブを処理するよりもパフォーマンスは必ず向上する。   When the computer receives the processing result first from the support server, the computer can stop its processing in the middle. When the processing result of the computer occurs first, the computer can send a command to stop the processing of a specific job to the support server. As a result, the resources spent to process a specific job halfway in either the computer or the support server are wasted, but SAC uses the capabilities of the support server when viewed as a whole for multiple jobs. Performance is always better than a computer processing jobs alone.

さらに、コンピュータでは支援サーバの結果を利用したときに特定のジョブの全体を処理しないので、消費電力の低減を図ることができる。その一方で、支援サーバは多くの時間でアイドル状態になっておりクライアントがリソースを消費してもその消費電力はほとんど増加しない。SACでは、ネットワーク側のリソースの消費よりもコンピュータが得られるパフォーマンスの向上および消費電力の低下の方が有利であるとの前提に立っている。ただし、サーバに接続されているクライアントを含めたシステム全体のリソース運用を最適化するために、本発明においては支援サーバから先に処理結果を得られる確率が高い場合に限り投機的な処理の要求をすることが望ましい。   Furthermore, since the computer does not process the entire specific job when using the result of the support server, the power consumption can be reduced. On the other hand, the support server is in an idle state for a long time, and even if the client consumes resources, its power consumption hardly increases. SAC is based on the premise that it is more advantageous to improve performance and lower power consumption than to consume resources on the network side. However, in order to optimize the resource operation of the entire system including the client connected to the server, in the present invention, only when there is a high probability that the processing result can be obtained first from the support server, a speculative processing request is required. It is desirable to do.

そのために、ジョブの処理を要求する際に、支援サーバに処理を要求するジョブを登録したジョブ・リストに基づいて要求をするか否かを判断することができる。ジョブ・リストのエントリーは、支援サーバから受け取った処理結果またはコンピュータにおける処理結果の先後に基づいて更新することができる。その結果、ジョブ・リストに登録されたジョブの処理を支援サーバに依頼すると投機が成功する確率が向上する。   For this reason, when requesting job processing, it is possible to determine whether or not to make a request based on a job list in which jobs that request processing are registered in the support server. The job list entry can be updated based on the processing result received from the support server or the processing result in the computer. As a result, when the support server is requested to process a job registered in the job list, the probability that the speculation will be successful is improved.

また処理を要求するか否かを判断する際に、支援サーバから特定のジョブの処理結果を得るまでの時間に関連するパラメータを測定して要求するか否かを判断することができる。このときパラメータには、支援サーバのCPU使用率、支援サーバにおけるネットワークに対するデータ転送速度、およびコンピュータにおけるネットワークに対するデータ転送速度などの要素を含むようにすることができる。これらの要素2つまたは3つを組み合わせて利用してもよい。   Further, when determining whether or not to request processing, it is possible to determine whether or not to request by measuring a parameter related to the time until the processing result of a specific job is obtained from the support server. At this time, the parameters may include factors such as the CPU usage rate of the support server, the data transfer rate of the support server to the network, and the data transfer rate of the computer to the network. A combination of two or three of these elements may be used.

また処理を要求するか否かを判断する際に、コンピュータのCPU使用率を測定してもよい。コンピュータのCPU使用率は、コンピュータが特定のジョブを処理するまでの時間に関連するパラメータに相当する。コンピュータは、バッテリィで動作しネットワークに無線で接続される無線端末装置である場合に、バッテリィの消耗を抑制することができるので都合がよい。   Further, the CPU usage rate of the computer may be measured when determining whether or not to request processing. The CPU usage rate of a computer corresponds to a parameter related to the time until the computer processes a specific job. When the computer is a wireless terminal device that operates on a battery and is wirelessly connected to the network, it is advantageous because it can suppress battery consumption.

支援サーバには、クライアントと同一のジョブを処理する実行環境が構築されている。支援サーバには、複数のクライアントの実行環境をそれぞれ仮想化した複数の仮想マシンを構築することができる。支援サーバには、クライアントに実装されたアプリケーション・プログラムの実行環境と同一の実行環境を構築することができる。さらに支援サーバは、クライアントと共有するファイルを有するデータベース・サーバとすることができる。   The support server has an execution environment for processing the same job as the client. In the support server, a plurality of virtual machines can be constructed by virtualizing the execution environments of a plurality of clients. In the support server, an execution environment identical to the execution environment of the application program installed in the client can be constructed. Further, the support server can be a database server having files shared with the client.

本発明により、支援サーバに接続されたクライアントが最短時間でジョブの処理結果を取得する方法を提供することができた。さらに本発明により、クライアントの消費電力を低減する方法を提供することができた。さらに本発明により、同一の支援サーバに接続された複数のクライアントの全体的なパフォーマンスを向上する方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータ・プログラム、コンピュータ、およびコンピュータ・システムを提供することができた。   According to the present invention, it is possible to provide a method in which a client connected to a support server acquires a job processing result in the shortest time. Further, according to the present invention, a method for reducing the power consumption of the client can be provided. Furthermore, the present invention can provide a method for improving the overall performance of a plurality of clients connected to the same support server. Further, according to the present invention, it is possible to provide a computer program, a computer, and a computer system for realizing such a method.

SACを実現するコンピュータ・システムの概要を説明する図である。It is a figure explaining the outline | summary of the computer system which implement | achieves SAC. クライアント100の構成を示す機能ブロック図である。2 is a functional block diagram showing a configuration of a client 100. FIG. 支援サーバ200aの構成を示す図である。It is a figure which shows the structure of the support server 200a. 支援サーバ200bの構成を示す図である。It is a figure which shows the structure of the support server 200b. 支援サーバ200cの構成を示す図である。It is a figure which shows the structure of the support server 200c. コンピュータ・システム10において、クライアント100のパフォーマンスを向上させる手順を示すフローチャートである。4 is a flowchart illustrating a procedure for improving the performance of a client 100 in the computer system 10. 支援サーバに処理の要求をするか否かを判断する手順を示すフローチャートである。It is a flowchart which shows the procedure which judges whether the support server is requested | required of a process. ジョブ・リストのデータ構造を示す図である。It is a figure which shows the data structure of a job list.

[コンピュータ・システム]
図1は、SACを実現するコンピュータ・システムの概要を説明する図である。コンピュータ・システム10は、複数のクライアント100、ネットワーク11、および支援サーバ200で構成されている。ネットワーク11は、有線および無線で接続されたLAN、WAN、インターネット、電話回線またはネットワーク専用回線などで構成することができる。ネットワーク11には支援サーバ200a、200b、200c、Webサーバ15、ファイル・サーバ17および無線基地局13が接続されている。
[Computer system]
FIG. 1 is a diagram for explaining the outline of a computer system that implements SAC. The computer system 10 includes a plurality of clients 100, a network 11, and a support server 200. The network 11 can be composed of a LAN, a WAN, the Internet, a telephone line, a network dedicated line, or the like connected by wire and wireless. Support servers 200a, 200b, and 200c, a Web server 15, a file server 17, and a wireless base station 13 are connected to the network 11.

以後、支援サーバ200a、200b、200cのいずれかを指す場合は、支援サーバ200ということにする。支援サーバ200はクライアント100が処理する特定のジョブと同一のジョブを処理する機能を備えている。Webサーバ15は、蓄積していたHTML文書や画像などの情報を、クライアント100または支援サーバ200のWebブラウザの要求に応じてネットワーク11を通じて送信する。   Hereinafter, when referring to any of the support servers 200a, 200b, and 200c, it is referred to as the support server 200. The support server 200 has a function of processing the same job as the specific job processed by the client 100. The Web server 15 transmits the stored information such as HTML documents and images through the network 11 in response to a request from the Web browser of the client 100 or the support server 200.

ファイル・サーバ17は、RAID(Redundant Arrays of Inexpensive Disks)として構成された記憶装置に記憶されたファイルを、ネットワーク上のクライアント100および支援サーバ200が共有できるように提供する。無線基地局13には、無線で複数のクライアント100が接続されている。クライアント100のいくつかは有線でネットワーク11に接続されている。クライアント100は、支援サーバ200、Webサーバ15およびファイル・サーバ17に接続することができるパーソナル・コンピュータ、スマートフォン、または携帯電話などの無線端末装置とすることができる。クライアント100は、ネットワーク11に無線で接続されるタイプの場合は、バッテリィを搭載する。   The file server 17 provides files stored in a storage device configured as RAID (Redundant Arrays of Inexpensive Disks) so that the client 100 and the support server 200 on the network can share the files. A plurality of clients 100 are connected to the wireless base station 13 wirelessly. Some of the clients 100 are connected to the network 11 by wire. The client 100 can be a wireless terminal device such as a personal computer, a smartphone, or a mobile phone that can be connected to the support server 200, the Web server 15, and the file server 17. If the client 100 is of a type that is wirelessly connected to the network 11, a battery is mounted.

[クライアント]
図2は、クライアント100の構成を示す機能ブロック図である。図2の各要素は、CPU、メイン・メモリ、ハードディスク・ドライブ(HDD)、およびネットワーク・インターフェース・カード(NIC)などの周知のハードウエアおよびデバイス・ドライバ、オペレーティング・システム(OS)、およびアプリケーション・プログラム(アプリケーション)などの周知のソフトウエアを含んで構成されている。OSは、同時に複数のタスクを平行して実行するマルチタスク方式を採用する。
[client]
FIG. 2 is a functional block diagram showing the configuration of the client 100. Each of the elements of FIG. 2 includes known hardware and device drivers such as a CPU, main memory, hard disk drive (HDD), and network interface card (NIC), operating system (OS), and application It is configured to include known software such as a program (application). The OS employs a multitasking method in which a plurality of tasks are simultaneously executed in parallel.

パフォーマンス制御部107およびジョブ・リスト109は、それぞれ支援サーバ200の支援を受けてクライアント100のパフォーマンスを向上させるための新規なアプリケーションおよびファイルを含んで構成されている。ユーザ・インターフェース101は、キーボード、ポインティング・デバイス、およびディスプレイなどのハードウエアと、アプリケーションおよびOSのユーザ・インターフェース部分を含む。   The performance control unit 107 and the job list 109 are each configured to include a new application and file for improving the performance of the client 100 with the support of the support server 200. The user interface 101 includes hardware such as a keyboard, a pointing device, and a display, and application and OS user interface portions.

ユーザ・インターフェース101は、アプリケーションまたはOSに対するキーボードまたはリモート・コンピュータからのコマンドを受け取ってジョブ処理部103およびパフォーマンス制御部107に通知する。ユーザ・インターフェース101はジョブ処理部103がジョブを処理するための画面をディスプレイに表示する。ユーザ・インターフェース101は、ジョブ処理部103から受け取ったジョブの処理結果または支援サーバ200からパフォーマンス制御部107が受け取ったジョブの処理結果をディスプレイに表示する。   The user interface 101 receives a command from the keyboard or remote computer for the application or OS and notifies the job processing unit 103 and the performance control unit 107 of the command. The user interface 101 displays a screen for the job processing unit 103 to process a job on a display. The user interface 101 displays the job processing result received from the job processing unit 103 or the job processing result received by the performance control unit 107 from the support server 200 on the display.

ジョブ処理部103は、CPUおよびメイン・メモリなどの周知のハードウエアとアプリケーションおよびOSなどの周知のソフトウエアを含んで構成されている。ジョブ処理部103ではユーザ・インターフェース101からの指示に基づいて、アプリケーションまたはOSがジョブを処理して処理結果をユーザ・インターフェース101に送ったり、記憶部104に記憶したりする。ジョブには、データベースの検索、画像データのフィルタ処理、ストリーミング・データの合成などのCPUにとって高負荷となる処理から、ポインティング・デバイスやキーボードからの信号に対する応答処理などのような軽負荷となる処理までのあらゆるコンピュータ処理を含む。   The job processing unit 103 includes known hardware such as a CPU and main memory, and known software such as an application and an OS. In the job processing unit 103, an application or OS processes a job based on an instruction from the user interface 101 and sends a processing result to the user interface 101 or stores it in the storage unit 104. Jobs include processing that is heavy on the CPU, such as database search, image data filtering, and streaming data synthesis, and light-loading such as response to signals from a pointing device or keyboard Including any computer processing up to.

記憶部104はHDD、デバイス・ドライバおよびOSを含んで構成され、アプリケーション、OS、デバイス・ドライバなどの周知のプログラム、パフォーマンス制御部107を構成する新規のプログラム、ジョブ・リスト109、およびジョブ処理部103が処理した処理結果などを記憶する。CPU使用率測定部105は主としてOSで構成され、ジョブ処理部103において動作しているCPUの現在の使用率を測定する。ネットワーク通信部111は、有線または無線のNICおよびデバイス・ドライバを含んで構成されており、ネットワーク11を経由して支援サーバ200と通信するための処理をする。転送速度測定部113は主としてNICのデバイス・ドライバおよびOSで構成されており、ネットワーク通信部111における送信および受信のデータ転送速度を測定する。   The storage unit 104 includes an HDD, a device driver, and an OS, and is a well-known program such as an application, OS, device driver, a new program that configures the performance control unit 107, a job list 109, and a job processing unit. The processing result etc. processed by 103 is stored. The CPU usage rate measuring unit 105 is mainly composed of an OS, and measures the current usage rate of the CPU operating in the job processing unit 103. The network communication unit 111 includes a wired or wireless NIC and a device driver, and performs processing for communicating with the support server 200 via the network 11. The transfer rate measuring unit 113 is mainly composed of a NIC device driver and OS, and measures the transmission and reception data transfer rates in the network communication unit 111.

パフォーマンス制御部107は、ユーザ・インターフェース101から特定のジョブを処理するコマンドを受け取ったときに、ジョブ・リスト109を参照して支援サーバ200に当該処理を要求するか否かを判断して、要求すると決定した場合にはネットワーク通信部111を通じて支援サーバ200に処理を要求する。パフォーマンス制御部107は、さらに後に説明するように、CPU使用率測定部105および転送速度測定部113を参照してジョブ・リスト109から支援サーバ200への要求対象として漏れているジョブについて、支援サーバ200に処理を要求するか否かを判断する。   When the performance control unit 107 receives a command for processing a specific job from the user interface 101, the performance control unit 107 refers to the job list 109 to determine whether or not to request the processing from the support server 200. If so, the support server 200 is requested for processing through the network communication unit 111. As will be described later, the performance control unit 107 refers to the CPU usage rate measurement unit 105 and the transfer rate measurement unit 113, and supports a job that is missing from the job list 109 as a request target to the support server 200. It is determined whether or not 200 is requested for processing.

パフォーマンス制御部107は、さらに、支援サーバ200に事前に問い合わせて支援サーバを利用したときに処理結果を得るまでの時間に関連するパラメータを取得してジョブ・リストから漏れているジョブについて、支援サーバ200に処理を要求するか否かを判断する。パフォーマンス制御部107は、支援サーバ200に処理を要求したジョブ・タイプの処理結果に基づいてジョブ・リスト109を更新する。パフォーマンス制御部107は、同一ジョブを同時並行的に実行している支援サーバ200またはジョブ処理部103のいずれかから処理結果を先に受け取った時点で、処理を終了していない方に処理の中止を指示する。パフォーマンス制御部107は、支援サーバ200からジョブの処理結果を受け取ったときに、ユーザ・インターフェース101に送る。   The performance control unit 107 further obtains a parameter related to the time until the processing result is obtained when the support server 200 is inquired in advance and uses the support server, and for the job that is missing from the job list, the support server It is determined whether or not 200 is requested for processing. The performance control unit 107 updates the job list 109 based on the processing result of the job type requested to be processed by the support server 200. When the performance control unit 107 first receives a processing result from either the support server 200 or the job processing unit 103 that is executing the same job simultaneously in parallel, the performance control unit 107 cancels the processing to the person who has not finished the processing. Instruct. When the performance control unit 107 receives a job processing result from the support server 200, the performance control unit 107 sends the job processing result to the user interface 101.

ジョブ・リスト109は、アプリケーションの名称、コマンドの種類、および処理対象となるデータ量の閾値および適用フラグの4つのフィールドで構成されている。この4つのフィールドで構成される各レコードをジョブ・タイプということにする。図9は、ジョブ・リスト109のデータ構造を示す。ジョブ・リスト109には、あらかじめ支援サーバ200にジョブの処理を要求した方が、ジョブ処理部103で処理するよりもユーザ・インターフェース100が早く結果を得られる可能性がある複数のジョブ・タイプを登録している。処理対象となるデータ量の閾値は、データ量が多いほどCPUの負担が大きくなり、支援サーバ200で処理したほうが早く処理結果を得ることができるという特質を判断するために設けている。各レコードは、ユーザ・インターフェース101から受け取ったコマンドに基づいてジョブ処理部103が処理するときのジョブの処理時間に関連する情報である。   The job list 109 includes four fields: an application name, a command type, a data amount threshold value to be processed, and an application flag. Each record composed of these four fields is referred to as a job type. FIG. 9 shows the data structure of the job list 109. The job list 109 includes a plurality of job types for which the user interface 100 may obtain a result faster when the job is requested to the support server 200 in advance than the job processing unit 103 processes. Registered. The threshold for the amount of data to be processed is provided in order to determine the characteristic that the larger the amount of data, the greater the burden on the CPU, and that the processing result can be obtained earlier when processing is performed by the support server 200. Each record is information related to a job processing time when the job processing unit 103 processes based on a command received from the user interface 101.

支援サーバ200によるジョブの処理時間には、支援サーバ200のCPUが処理する時間および処理対象データまたは処理結果のデータがネットワーク11を通じて転送されるまでの時間も含まれる。適用フラグは、ジョブ・リストに登録されたジョブ・タイプの中で支援サーバに処理を要求した方が処理結果を早く得られる可能性が高いジョブ・タイプに対して設定される。したがってジョブ・リスト109には、キーボードからの入力をディスプレイに表示させる処理またはマウスのクリックに対する応答処理などの対話型処理をするジョブなどの明らかにCPUの負担が軽いものは最初から登録しない。   The job processing time by the support server 200 includes a time for processing by the CPU of the support server 200 and a time until processing target data or processing result data is transferred through the network 11. The application flag is set for a job type that is more likely to obtain a processing result sooner when the processing is requested to the support server among the job types registered in the job list. Therefore, in the job list 109, jobs that obviously have a light CPU burden, such as jobs that display input from the keyboard on the display or interactive processing such as response processing to mouse clicks, are not registered from the beginning.

ジョブ・リスト109にはユーザが複数のジョブ・タイプを登録しかつ適用フラグを設定する。そしてユーザは、画像データのフィルタ処理、レンダリングまたは映像ストリームの合成処理などのCPUに対して高い負荷を課すジョブ・タイプに適用フラグを設定することができる。適用フラグが設定されないジョブ・タイプについてもパフォーマンス制御部107の判断により、支援サーバの処理の要求が行われる場合がある。パフォーマンス制御部107は、ジョブ・リスト109を、適用フラグが設定されたジョブ・タイプについては、支援サーバ200に処理を要求するホワイト・リストとして使用する。適用フラグは後に説明するように、コンピュータ・システム11が動作を開始するに伴ってパフォーマンス制御部107によって更新される。更新された適用フラグが設定されたジョブ・リスト109に基づいて支援サーバ200に処理を要求すると支援サーバ200が先にジョブを処理する確率が高くなる。   In the job list 109, the user registers a plurality of job types and sets an application flag. The user can set an application flag for a job type that imposes a high load on the CPU such as image data filtering, rendering, or video stream compositing. For job types for which the application flag is not set, a request for processing of the support server may be made according to the determination of the performance control unit 107. The performance control unit 107 uses the job list 109 as a white list for requesting the support server 200 to process the job types for which the application flag is set. The application flag is updated by the performance control unit 107 as the computer system 11 starts operation, as will be described later. If the support server 200 is requested to perform processing based on the job list 109 in which the updated application flag is set, the probability that the support server 200 processes the job first increases.

[支援サーバ]
図3は、支援サーバ200の一例である支援サーバ200aの構成を示す図である。支援サーバ200aは、CPU213、メイン・メモリ215、HDD217、およびNIC219などのハードウエアで構成されたハードウエア層211上で仮想化レイヤ209を実行し、仮想化レイヤ209上に複数の仮想マシン201が構成される。各仮想マシン201は、仮想ハードウエア207、ゲストOS205およびアプリケーション・プログラム203で構成されている。仮想ハードウエア207は、ハードウエア層211を仮想化してゲストOSに提供する。
[Support Server]
FIG. 3 is a diagram illustrating a configuration of a support server 200a that is an example of the support server 200. The support server 200a executes the virtualization layer 209 on the hardware layer 211 configured by hardware such as the CPU 213, the main memory 215, the HDD 217, and the NIC 219, and a plurality of virtual machines 201 are executed on the virtualization layer 209. Composed. Each virtual machine 201 includes virtual hardware 207, guest OS 205, and application program 203. The virtual hardware 207 virtualizes the hardware layer 211 and provides it to the guest OS.

支援サーバ200aは、前述のIaaSの範疇に含まれ、各仮想マシン201ではいずれかのクライアント100と同じアプリケーションが同じ実行環境で動作している。クライアント100が支援サーバ200aに接続されたときに、支援サーバ200aにクライアント100の仮想マシン201が構築され、切断されたときに当該仮想マシン201は消滅する。   The support server 200a is included in the category of IaaS described above, and in each virtual machine 201, the same application as any one of the clients 100 operates in the same execution environment. When the client 100 is connected to the support server 200a, the virtual machine 201 of the client 100 is built on the support server 200a, and when the client 100 is disconnected, the virtual machine 201 disappears.

仮想マシン201が構成されると、パフォーマンス制御部107は、前回の接続から今回の接続までの間にクライアント100の中で変化のあった、ハードウエア、ソフトウエア、および記憶部104のデータなどを仮想マシン201に反映させ、仮想マシン201にクライアント100と同じ動作環境を実現する。パフォーマンス制御部107がユーザ・インターフェース101から受け取ったコマンドを支援サーバ200aに送ると、支援サーバ200aにおけるジョブ処理部103を仮想化した要素がクライアントと同一のジョブを処理してパフォーマンス制御部107に返送することができる。   When the virtual machine 201 is configured, the performance control unit 107 stores the hardware, software, data in the storage unit 104, and the like that have changed in the client 100 from the previous connection to the current connection. The same operating environment as that of the client 100 is realized in the virtual machine 201 by reflecting it in the virtual machine 201. When the performance control unit 107 sends the command received from the user interface 101 to the support server 200a, the element that virtualizes the job processing unit 103 in the support server 200a processes the same job as the client and returns it to the performance control unit 107. can do.

ジョブがWebサーバ15から情報を検索する処理である場合は、パフォーマンス制御部107はユーザ・インターフェース101から受け取ったコマンドに応答して支援サーバ200aに同じ検索を要求することができる。また、ジョブ処理部103はユーザ・インターフェース101から受け取ったコマンドを、ネットワーク通信部111を経由してWebサーバ15に送って検索結果を得ることができる。要求を受けた支援サーバ200aは、Webサーバ15を検索した結果をパフォーマンス制御部107に送る。   When the job is a process of searching for information from the Web server 15, the performance control unit 107 can request the same search from the support server 200a in response to the command received from the user interface 101. Further, the job processing unit 103 can obtain a search result by sending a command received from the user interface 101 to the Web server 15 via the network communication unit 111. Upon receiving the request, the support server 200a sends the search result of the Web server 15 to the performance control unit 107.

ジョブがファイル・サーバ17から画像ファイルをダウンロードして加工する処理の場合は、パフォーマンス制御部107は支援サーバ200aにダウンロードと加工を要求する。要求を受けた支援サーバ200aは、フィアル・サーバ17から画像ファイルをダウンロードして加工し、結果の画像ファイルをパフォーマンス制御部107に送る。また、ジョブ処理部103もネットワーク通信部111を経由してファイル・サーバ17から画像ファイルをダウンロードして加工する。   If the job is a process of downloading and processing an image file from the file server 17, the performance control unit 107 requests the support server 200a to download and process it. Upon receiving the request, the support server 200a downloads and processes the image file from the file server 17, and sends the resulting image file to the performance control unit 107. The job processing unit 103 also downloads and processes an image file from the file server 17 via the network communication unit 111.

図4は、支援サーバ200の他の例である支援サーバ200bの構成を示す図である。支援サーバ200bは、ハードウエア209、ハードウエア209をアプリケーション・プログラムに対して抽象化する抽象化レイヤ253および抽象化レイヤ253上で動作する複数のアプリケーション255で構成されている。支援サーバ200bは、前述のPaaSに対してクライアントが用意したアプリケーションやSaaSで提供されたアプリケーションを実行することで構成することができる。   FIG. 4 is a diagram illustrating a configuration of a support server 200b, which is another example of the support server 200. The support server 200b includes hardware 209, an abstraction layer 253 that abstracts the hardware 209 with respect to an application program, and a plurality of applications 255 that operate on the abstraction layer 253. The support server 200b can be configured by executing an application prepared by a client or an application provided by SaaS with respect to the aforementioned PaaS.

支援サーバ200bにクライアント100と同じアプリケーションの実行環境が構築されている場合は、パフォーマンス制御部107は支援サーバ200bにコマンドまたはコマンドと記憶部104に記憶していた処理対象データを一緒に送ることができる。支援サーバ200bのアプリケーション・プログラムはジョブを処理してパフォーマンス制御部107に処理結果を返送する。パフォーマンス制御部107は、ジョブ処理部103を通じて受け取った処理結果を記憶部104に保存することができる。   When the execution environment of the same application as that of the client 100 is constructed in the support server 200b, the performance control unit 107 can send the command or the command and the processing target data stored in the storage unit 104 to the support server 200b together. it can. The application program of the support server 200b processes the job and returns a processing result to the performance control unit 107. The performance control unit 107 can save the processing result received through the job processing unit 103 in the storage unit 104.

図5は、支援サーバ200の他の例である支援サーバ200cの構成を示す図である。支援サーバ200cは、複数のファイルを記憶する記憶部281、記憶部281に対するデータの記録、更新、検索などを行う制御部283、および制御部283に指示するインターフェース285で構成されている。支援サーバ200cは、前述のSaaSの範疇に含まれるデータベース・サーバである。   FIG. 5 is a diagram illustrating a configuration of a support server 200c, which is another example of the support server 200. The support server 200c includes a storage unit 281 that stores a plurality of files, a control unit 283 that records, updates, and searches data in the storage unit 281 and an interface 285 that instructs the control unit 283. The support server 200c is a database server included in the SaaS category described above.

クライアント100が支援サーバ200を使用する際には、クライアント100の記憶部104にも記憶部281と同じ少なくとも1つのファイルが記憶されており、ジョブ処理部103が制御部283と同等の機能を果たし、ユーザ・インターフェース101がインターフェース285と同等の機能を果たすことが前提になる。   When the client 100 uses the support server 200, the storage unit 104 of the client 100 also stores at least one file that is the same as the storage unit 281 and the job processing unit 103 performs the same function as the control unit 283. It is assumed that the user interface 101 performs the same function as the interface 285.

クライアント100において、ユーザがユーザ・インターフェース101に特定のファイルを対象にして検索コマンドを入力すると、ジョブ処理部103は記憶部104を検索する。一方、パフォーマンス制御部107は当該コマンドを支援サーバ200cに送る。支援サーバ200cは検索結果をパフォーマンス制御部107に返送する。ユーザ・インターフェース101は、いずれか早く受け取った処理結果をディスプレイに表示することができる。   In the client 100, when a user inputs a search command for a specific file to the user interface 101, the job processing unit 103 searches the storage unit 104. On the other hand, the performance control unit 107 sends the command to the support server 200c. The support server 200c returns the search result to the performance control unit 107. The user interface 101 can display the processing result received earlier on the display.

なお、図1から図5は本実施の形態を説明するために、本実施の形態に関連する主要なハードウエアおよびソフトウエアの構成を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、クライアント100や支援サーバ200は多くの要素を含むがそれらは当業者には周知であり、本発明の説明には必要がないので言及しない。   Note that FIGS. 1 to 5 simply describe the main hardware and software configurations related to the present embodiment in order to explain the present embodiment. In addition to those mentioned in the above description, the client 100 and the support server 200 include many elements, which are well known to those skilled in the art and are not mentioned because they are not necessary for the description of the present invention.

[パフォーマンス向上の手順]
図6は、コンピュータ・システム10において、クライアント100のパフォーマンスを向上させる手順を示すフローチャートである。ブロック201では、コンピュータ・システム10の実行環境を構築する。クライアント10と支援サーバ200の少なくともいずれかがネットワーク11に接続されており、当該支援サーバ200は、コマンドまたはコマンドと処理対象データを受け取ることでジョブの処理をしてクライアント100に返送することができるようになっている。
[Procedure for improving performance]
FIG. 6 is a flowchart showing a procedure for improving the performance of the client 100 in the computer system 10. In block 201, the execution environment of the computer system 10 is constructed. At least one of the client 10 and the support server 200 is connected to the network 11, and the support server 200 can process the job by receiving the command or the command and the data to be processed, and can send it back to the client 100. It is like that.

ブロック203でクライアント100のユーザ・インターフェース101がジョブ処理部103に対するコマンドを受け取る。ユーザ・インターフェース101は、コマンドをジョブ処理部103とパフォーマンス制御部107に送る。ブロック205でジョブ処理部103はジョブの処理を開始する。ブロック207で、パフォーマンス制御部107は、ジョブ処理部103と同時並行的に支援サーバ200にユーザ・インターフェース101から受け取ったコマンドに対応するジョブを処理するように要求するか否かを判断する。なお、コマンドには、利用する支援サーバ200を特定する情報およびアプリケーションを特定する情報も含んでいる。   In block 203, the user interface 101 of the client 100 receives a command for the job processing unit 103. The user interface 101 sends a command to the job processing unit 103 and the performance control unit 107. In block 205, the job processing unit 103 starts job processing. In block 207, the performance control unit 107 determines whether to request the support server 200 to process a job corresponding to the command received from the user interface 101 in parallel with the job processing unit 103. Note that the command includes information for specifying the support server 200 to be used and information for specifying an application.

支援サーバ200に処理を要求する時点で、クライアント100にとって支援サーバ200から先に処理の結果が得られることは確定していない。その意味で支援サーバ200に対するジョブの処理の依頼は投機的な処理の依頼ということができる。投機的な処理の依頼とは、クライアント100がジョブ処理部103でジョブを処理し、かつ、支援サーバ200から先に処理結果を得ることができることが確実でない状態で支援サーバ200に処理を要求することを意味する。さらに投機的な処理の依頼とは、クライアント100または支援サーバ200のいずれか一方が途中まで処理したジョブを破棄する意味を含む。さらに投機的な処理の依頼とは、経験に基づいて支援サーバ200を利用する場合の成功率を高めながら支援サーバ200に処理を要求する意味も含む。   At the time of requesting the processing to the support server 200, it is not determined that the client 100 can obtain the processing result first from the support server 200. In this sense, a job processing request to the support server 200 can be called a speculative processing request. The speculative processing request is a request for processing to the support server 200 in a state where it is not certain that the client 100 can process the job with the job processing unit 103 and obtain the processing result from the support server 200 first. Means that. Further, the speculative processing request includes the meaning of discarding a job processed by the client 100 or the support server 200 halfway. Further, the speculative processing request includes the meaning of requesting processing from the support server 200 while increasing the success rate when using the support server 200 based on experience.

支援サーバ200に処理を要求したときにジョブ処理部103での処理が先に完了した場合には、支援サーバ200に対する処理要求のコマンドおよび処理中止のコマンド、さらには処理対象データを送信するためにネットワーク通信部111が無駄な電力を消費することになる。さらに、ネットワーク11および支援サーバ200のリソースを無駄に消費することにもなる。本実施の形態では、このような事態をできるだけ避けるために、支援サーバ200の処理結果を利用する可能性が低いと想定できるジョブについては、支援サーバ200に投機的な処理要求をしないことが望ましい。   When processing in the job processing unit 103 is completed first when a request is made to the support server 200, in order to transmit a processing request command and a processing stop command to the support server 200, and further processing target data The network communication unit 111 consumes useless power. Furthermore, the resources of the network 11 and the support server 200 are wasted. In the present embodiment, in order to avoid such a situation as much as possible, it is desirable not to make a speculative processing request to the support server 200 for a job that can be assumed to be unlikely to use the processing result of the support server 200. .

支援サーバ200に対する無駄な要求を避けるためのブロック207の手順を図7のフローチャートに基づいて説明する。ブロック251でパフォーマンス制御部107は、ユーザ・インターフェース101から受け取ったコマンドが、アプリケーション名、コマンドの種類および処理対象のデータ量のすべてがジョブ・リスト109に登録されたエントリーを満たしており、かつ、適用フラグが設定されているジョブ・タイプに適合するか否かを判断する。   The procedure of block 207 for avoiding unnecessary requests to the support server 200 will be described based on the flowchart of FIG. In block 251, the performance control unit 107 determines that the command received from the user interface 101 satisfies the application name, command type, and processing target data amount all registered in the job list 109, and It is determined whether or not it matches the job type for which the application flag is set.

パフォーマンス制御部107は、当該コマンドで処理する対象となる処理対象のデータ量をジョブ処理部103から取得する。ジョブ・タイプが適合する場合は、ブロック211に移行して、パフォーマンス制御部107はいずれかの支援サーバ200に当該ジョブ・タイプを実行するように要求する。ただし、ジョブ・リスト109は、ユーザ・インターフェース101が支援サーバ200のほうから早く処理結果を得られることを推定させるだけであり確定的ではない。したがって、ジョブ・リスト109を利用して支援サーバに処理を要求することは依然として投機的な行為といえる。   The performance control unit 107 acquires from the job processing unit 103 the processing target data amount to be processed by the command. When the job type is suitable, the process proceeds to block 211, and the performance control unit 107 requests one of the support servers 200 to execute the job type. However, the job list 109 only estimates that the user interface 101 can obtain a processing result earlier from the support server 200 and is not deterministic. Therefore, requesting processing from the support server using the job list 109 is still a speculative action.

支援サーバ200aには、クライアント100を完全にクローン化した仮想マシンが構築されている。パフォーマンス制御部107は、支援サーバ200aに処理を要求する場合は、ユーザ・インターフェース101から受け取ったコマンドを送るだけでよい。支援サーバ200bには、ジョブの処理対象データが存在しない場合もある。支援サーバ200bに処理を要求する場合は、パフォーマンス制御部107がユーザ・インターフェース101から受け取ったコマンドと処理対象となるデータを送る場合がある。支援サーバ201cに処理の要求をする場合は、パフォーマンス制御部107は検索を示すコマンドとキーワードを送るだけでよい。   In the support server 200a, a virtual machine in which the client 100 is completely cloned is constructed. The performance control unit 107 need only send the command received from the user interface 101 when requesting the processing to the support server 200a. In some cases, there is no job processing target data in the support server 200b. When requesting processing to the support server 200b, the performance control unit 107 may send a command received from the user interface 101 and data to be processed. When making a request for processing to the support server 201c, the performance control unit 107 only needs to send a command and a keyword indicating search.

ジョブ・タイプが適合しない場合は、ブロック253に移行する。ジョブ・リスト109に登録し、かつ適用フラグが設定されたジョブ・タイプは、ジョブ処理部103による処理よりも支援サーバ200による処理のほうが、ユーザ・インターフェース100が早く処理結果を得られると想定できるが、いずれが早いかは時間とともに変動する要素を含んでいるので適用フラグの設定されていないジョブ・タイプについても状況により投機的な処理を依頼する価値はあり得る。   If the job type does not match, block 253 is entered. As for the job type registered in the job list 109 and the application flag is set, it can be assumed that the processing by the support server 200 can obtain the processing result earlier than the processing by the job processing unit 103. However, since which one is earlier includes an element that varies with time, it is worthwhile to request speculative processing depending on the situation even for a job type for which an application flag is not set.

適用フラグが設定されていないジョブ・タイプであってもクライアント100の負荷率、クライアント100と支援サーバ200との間のデータ・トラフィック、および支援サーバ200の負荷率によっては、支援サーバ200に要求した方がクライアント100は早く結果を得ることができる可能性が高くなる。ブロック253では、パフォーマンス制御部107は、支援サーバ200に支援サーバ200のCPU使用率を問い合わせる。   Even for a job type for which the application flag is not set, the request is made to the support server 200 depending on the load factor of the client 100, the data traffic between the client 100 and the support server 200, and the load factor of the support server 200. The client 100 is more likely to obtain a result earlier. In block 253, the performance control unit 107 inquires of the support server 200 about the CPU usage rate of the support server 200.

支援サーバ200のCPU使用率が所定値未満のときは、支援サーバ200の負荷が軽いため要求されたジョブを支援サーバ200から先に受け取ることができる確率が高くなるのでブロック211に移行する。支援サーバ200のCPU使用率が所定値以上の場合はブロック255に移行する。ブロック255では、パフォーマンス制御部107は支援サーバ200に問い合わせて支援サーバ200のNICにおけるデータ転送速度を調べる。支援サーバ200と他のクライアント100との間のトラフィックが少なく、支援サーバ200のデータ転送速度が所定値以上のときは支援サーバ200に要求した方がクライアント100は早く結果を得ることができる確率が高まるのでブロック211に移行する。   When the CPU usage rate of the support server 200 is less than the predetermined value, since the load on the support server 200 is light, there is a high probability that the requested job can be received from the support server 200 first. When the CPU usage rate of the support server 200 is equal to or greater than the predetermined value, the process proceeds to block 255. In block 255, the performance control unit 107 queries the support server 200 to check the data transfer rate in the NIC of the support server 200. When the traffic between the support server 200 and the other client 100 is small and the data transfer rate of the support server 200 is equal to or higher than a predetermined value, there is a probability that the client 100 can obtain the result faster when requested to the support server 200. Since it increases, the process shifts to block 211.

支援サーバ200のデータ転送速度が所定値未満のときはブロック257に移行して、パフォーマンス制御部107はCPU使用率測定部105からクライアント100のCPU使用率を取得する。クライアント100のCPU使用率が所定値以上の場合は、ジョブ処理部103においてCPUが他のジョブを処理しているため、今回要求されたジョブを処理する時間が長くなり、支援サーバ200で実行した方が早く結果を得られる確率が高まるのでブロック211に移行する。CPU使用率が所定値未満の場合はブロック259に移行して、パフォーマンス制御部107は転送速度測定部113からネットワーク通信部111のデータ転送速度を取得する。   When the data transfer rate of the support server 200 is less than the predetermined value, the process proceeds to block 257, and the performance control unit 107 acquires the CPU usage rate of the client 100 from the CPU usage rate measurement unit 105. When the CPU usage rate of the client 100 is equal to or greater than a predetermined value, the CPU is processing another job in the job processing unit 103, so that the time for processing the requested job becomes longer and the job is executed by the support server 200. Since the probability that the result can be obtained earlier is increased, the process shifts to block 211. When the CPU usage rate is less than the predetermined value, the process proceeds to block 259, and the performance control unit 107 acquires the data transfer rate of the network communication unit 111 from the transfer rate measurement unit 113.

ネットワーク通信部111のデータ転送速度が所定値以上の場合は、支援サーバ200に処理を要求した方がクライアント100は早く結果を得られる確率が高まるのでブロック211に移行する。クライアント100の転送速度が所定値未満の場合は、ブロック209に移行してパフォーマンス制御部107は支援サーバ200への処理要求を中止する。ブロック253からブロック259までの判断は、必ずしもすべて実行する必要がなく、また、ジョブ・タイプによって判断するブロックおよび処理対象のデータ量の閾値を変えることもできる。   If the data transfer rate of the network communication unit 111 is equal to or higher than the predetermined value, the client 100 is more likely to obtain a result earlier when the processing is requested to the support server 200, so the process proceeds to block 211. If the transfer rate of the client 100 is less than the predetermined value, the process moves to block 209, and the performance control unit 107 cancels the processing request to the support server 200. The determinations from block 253 to block 259 need not all be executed, and the threshold of the block to be determined and the data amount to be processed can be changed depending on the job type.

たとえば、支援サーバ200aに要求するジョブにおいて、ファイル・サーバ17からダウンロードする処理対象データ量が多い場合は、ブロック255とブロック259だけで判断してもよい。このとき支援サーバ200aのデータ転送速度が速いほど、またクライン100のデータ転送速度が遅いほど支援サーバ200aから早く処理結果を得る確率が高まる。あるいは、ジョブがCPUに大きな負担を課すものである場合は、ブロック253とブロック257だけで判断してもよい。このとき支援サーバ200aのCPU使用率が低いほど、また、クライアント100のCPU使用率が高いほど支援サーバ200aから早く処理結果を得る確率が高まる。ブロック253からブロック259における処理対象データ量の閾値はジョブ・タイプごとに変えてもよい。   For example, in a job requested to the support server 200a, if there is a large amount of processing target data to be downloaded from the file server 17, the determination may be made using only block 255 and block 259. At this time, the higher the data transfer rate of the support server 200a is, and the slower the data transfer rate of the Klein 100 is, the higher the probability of obtaining a processing result from the support server 200a earlier. Alternatively, when the job imposes a heavy burden on the CPU, the determination may be made only with the block 253 and the block 257. At this time, the lower the CPU usage rate of the support server 200a and the higher the CPU usage rate of the client 100, the higher the probability of obtaining a processing result from the support server 200a. The threshold value of the data amount to be processed in block 253 to block 259 may be changed for each job type.

支援サーバ200のCPU使用率、支援サーバ200におけるネットワーク11に対するデータの転送速度、およびクライアント100におけるAP13に対するデータの転送速度は、支援サーバ200にジョブの処理を依頼したときに処理結果が戻るまでの時間に関連するパラメータに相当する。また、クライアント100のCPU使用率は、ジョブ処理部103がジョブの処理を完了するまでの時間に関連するパラメータに相当する。   The CPU usage rate of the support server 200, the data transfer rate of the support server 200 to the network 11, and the data transfer rate of the client 100 to the AP 13 are determined until the processing result returns when the support server 200 is requested to process the job. It corresponds to a parameter related to time. The CPU usage rate of the client 100 corresponds to a parameter related to the time until the job processing unit 103 completes the job processing.

図6に戻って、ブロック213では、コマンドまたはコマンドと処理対象データを受け取った支援サーバ200は、要求に基づいてジョブの処理をする。ブロック215では、パフォーマンス制御部107は先に支援サーバ200から処理の結果を受け取ったか否かを判断する。パフォーマンス制御部107はジョブ・タイプが多量の処理結果のデータを受信するものである場合は、すべてのデータを受信したと判断した時点で処理の結果を受け取ったと判断する。   Returning to FIG. 6, in block 213, the support server 200 that receives the command or the command and the processing target data processes the job based on the request. In block 215, the performance control unit 107 first determines whether or not the processing result has been received from the support server 200. When the job type receives a large amount of processing result data, the performance control unit 107 determines that the processing result has been received when it is determined that all data has been received.

支援サーバ200からの処理結果を先に受け取った場合は、パフォーマンス制御部107はブロック217でジョブ処理部103にそれまで行っていたジョブの処理を中止させる。ジョブ処理部103は、残りのジョブを処理しないことで、搭載するバッテリィの消耗を抑制することができる。ブロック219では、パフォーマンス制御部107は、支援サーバ200から受け取った処理の結果をユーザ・インターフェース101に送る。ブロック217とブロック219は順番を入れ替えてもよい。   If the processing result from the support server 200 is received first, the performance control unit 107 causes the job processing unit 103 to stop processing the job that has been performed so far in block 217. The job processing unit 103 can suppress consumption of the mounted battery by not processing the remaining jobs. In block 219, the performance control unit 107 sends the processing result received from the support server 200 to the user interface 101. Block 217 and block 219 may be switched in order.

ブロック221では、パフォーマンス制御部107は今回のジョブ・タイプについて、支援サーバ200で処理したほうがジョブ処理部103で処理するよりも早く結果を得ることができたという経験に基づいて、ジョブ・リスト109を更新する。パフォーマンス制御部107は適用フラグが設定されているジョブ・タイプについては適用フラグを維持するが、適用フラグが設定されていないジョブ・タイプについては適用フラグを設定する。その結果、新たに適用フラグが設定されたジョブ・タイプを次回に処理する場合は、パフォーマンス制御部107はブロック251で支援サーバ200に同時並行的に処理を要求する。   In block 221, the performance control unit 107 has obtained the job list 109 based on the experience that the job type of the current job type can be obtained faster than the job processing unit 103 can process the job type. Update. The performance control unit 107 maintains the application flag for the job type for which the application flag is set, but sets the application flag for the job type for which the application flag is not set. As a result, when the job type for which the application flag is newly set is to be processed next time, the performance control unit 107 requests the support server 200 to perform processing in parallel at block 251.

ジョブ処理部103は、ジョブの処理を完了するかパフォーマンス制御部107から処理の中止コマンドを受け取るまでジョブの処理を継続する。ジョブ処理部103は対象となるジョブ・タイプの処理が完了したときに、パフォーマンス制御部103に通知する。ブロック223とブロック215では、支援サーバ200と同時並行的にジョブを処理しているジョブ処理部103が先にジョブを処理するか否かをパフォーマンス制御部107が判断している。パフォーマンス制御部107は、支援サーバ200から処理結果を受け取るよりも先にジョブ処理部103がジョブを終了した通知を受け取ったときは、ブロック225に移行して支援サーバ200にジョブの処理を中止するコマンドを送る。   The job processing unit 103 continues the job processing until the job processing is completed or a processing stop command is received from the performance control unit 107. The job processing unit 103 notifies the performance control unit 103 when processing of the target job type is completed. In block 223 and block 215, the performance control unit 107 determines whether or not the job processing unit 103 that processes a job concurrently with the support server 200 processes the job first. When the performance control unit 107 receives a notification that the job processing unit 103 has completed the job before receiving the processing result from the support server 200, the performance control unit 107 proceeds to block 225 and stops the job processing in the support server 200. Send a command.

中止コマンドを受け取った支援サーバ200は、ジョブの処理を中止して、それ以上の無駄なリソースの消費を避ける。また、支援サーバ200は中止されたジョブの処理結果をクライアント100に送ることもないので、ネットワーク11に無駄なトラフィックも発生しない。ブロック227ではジョブ処理部103はユーザ・インターフェース101に処理結果を送る。ブロック225とブロック227は順番を入れ替えてもよい。ブロック229では、パフォーマンス制御部107は今回のジョブ・タイプについて、支援サーバ200で処理するよりもジョブ処理部103で処理するほうが早く処理結果を得ることができたという経験に基づいて、ジョブ・リスト109を更新する。   The support server 200 that has received the cancel command cancels the job processing and avoids unnecessary use of resources. Further, since the support server 200 does not send the processing result of the canceled job to the client 100, no unnecessary traffic is generated in the network 11. In block 227, the job processing unit 103 sends the processing result to the user interface 101. Block 225 and block 227 may be switched in order. In block 229, based on the experience that the performance control unit 107 was able to obtain the processing result earlier in the job processing unit 103 than in the support server 200 for the current job type, the job list 109 is updated.

パフォーマンス制御部107は適用フラグが設定されていないジョブ・タイプについては適用フラグを設定しない状態を維持するが、適用フラグが設定されていたジョブ・タイプについては適用フラグの設定を解除する。その結果、新たに適用フラグの設定が解除されたジョブ・タイプを次回に処理する場合は、パフォーマンス制御部107はブロック251〜ブロック259の手順を経ても支援サーバ200に同時並行的な処理を要求しない場合がある。   The performance control unit 107 maintains the state where the application flag is not set for the job type for which the application flag is not set, but cancels the setting of the application flag for the job type for which the application flag is set. As a result, when the job type for which the application flag is newly set is to be processed next time, the performance control unit 107 requests the support server 200 to perform parallel processing even after going through the procedures of block 251 to block 259. May not.

ジョブ・リスト109は更新されながら、投機的な処理の精度が向上していく。すなわち、ジョブ・リスト109に登録されたジョブ・タイプについて支援サーバ200に投機的に処理要求をしたときに、支援サーバ200から先に処理結果を得る確率が向上する。さらに、支援サーバ200から先に処理結果を得る確率が低いジョブ・タイプは最初からジョブ・リスト109に登録されないため、支援サーバおよびネットワーク11のリソースを無駄に利用することがなくなる。   While the job list 109 is updated, the accuracy of speculative processing is improved. That is, when a speculative processing request is made to the support server 200 for a job type registered in the job list 109, the probability of obtaining a processing result first from the support server 200 is improved. Furthermore, since the job type having a low probability of obtaining the processing result from the support server 200 is not registered in the job list 109 from the beginning, the resources of the support server and the network 11 are not wasted.

したがって、クライアント100は支援サーバ200およびネットワーク11に投機的な処理をさせて無駄にリソースを消費することで、他のクライアントのサービスが低下する事態を最低限の範囲に留めながら、ネットワーク11および支援サーバ200の能力を有効に活用してコンピュータ・システム10の全体のパフォーマンスを向上させることができる。上記の手順によれば、ユーザは特定のジョブを処理するにあたり何ら特定の操作をしないでも、クライアント100が支援サーバ200に処理の要求をする。   Therefore, the client 100 causes the support server 200 and the network 11 to perform speculative processing and consumes resources unnecessarily, so that the situation in which the service of other clients deteriorates is kept to a minimum range, and the network 11 and the support. The overall performance of the computer system 10 can be improved by effectively utilizing the capabilities of the server 200. According to the above procedure, the client 100 requests the support server 200 for processing without performing any specific operation when processing a specific job.

そして、クライアント100が支援サーバ200から先に処理結果を得た場合は、ユーザは支援サーバ200の存在を認識することなくクライアント100における間接的なパフォーマンス向上のメリットを享受することができる。また、ジョブ・リスト109は、適用フラグが設定されたジョブ・タイプについては支援サーバ200に処理の要求をするというホワイト・リスト形式で構成したが、適用フラグが設定されたジョブ・タイプについては支援サーバに処理の要求をしないというブラック・リスト形式で構成することもできる。   When the client 100 obtains the processing result first from the support server 200, the user can enjoy the merit of indirect performance improvement in the client 100 without recognizing the presence of the support server 200. Further, the job list 109 is configured in a white list format in which a job type for which an application flag is set is requested to the support server 200. However, a job type for which an application flag is set is supported. It is also possible to configure in a black list format in which processing is not requested to the server.

本実施の形態によれば、クライアント100を使用するユーザは所定のジョブを処理するに当たり、クライアント100で実行するか支援サーバ200に要求するかを判断する必要がない。ユーザはクライアント100に対して通常の操作をするだけで、良好なパフォーマンスでレスポンスを得ることができる。また、支援サーバ200に接続できない環境でもクライアント100をスタンドアロン型として使用することで支障なく所定のジョブを処理することができる。   According to the present embodiment, the user using the client 100 does not need to determine whether to execute the predetermined job or to request the support server 200 when processing the predetermined job. The user can obtain a response with good performance simply by performing a normal operation on the client 100. Further, even in an environment where connection to the support server 200 is not possible, a predetermined job can be processed without any trouble by using the client 100 as a stand-alone type.

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. It goes without saying that any configuration can be adopted.

10…コンピュータ・システム
100…クライアント
200…支援サーバ
10. Computer system 100 ... Client 200 ... Support server

Claims (18)

支援サーバにネットワーク経由で接続されたコンピュータにおいて、ジョブを処理する方法であって、
実行命令に基づいて前記コンピュータが特定のジョブの処理を開始するステップと、
前記実行命令に基づいて前記コンピュータが前記支援サーバに前記特定のジョブの処理を要求するステップと、
前記コンピュータが前記支援サーバから受け取った前記特定のジョブの処理結果または前記コンピュータが処理した前記特定のジョブの処理結果のいずれか先に発生した処理結果を利用するステップと
を有する方法。
A method of processing a job on a computer connected to a support server via a network,
Starting the processing of a specific job by the computer based on an execution instruction;
Requesting the support server to process the specific job based on the execution instruction;
And a step of using the processing result generated earlier of the processing result of the specific job received from the support server or the processing result of the specific job processed by the computer.
前記コンピュータが処理した処理結果が先に発生した場合に、前記コンピュータが前記支援サーバに前記特定のジョブの処理を中止する命令を送るステップを有する請求項1に記載の方法。   The method according to claim 1, further comprising: sending a command to the support server to stop the processing of the specific job when a processing result processed by the computer occurs first. 前記支援サーバから処理結果を先に受け取ったときには前記コンピュータは前記コンピュータにおける前記特定のジョブの処理を中止するステップを有する請求項1または請求項2に記載の方法。   The method according to claim 1, wherein when receiving a processing result from the support server first, the computer has a step of stopping the processing of the specific job in the computer. 前記特定のジョブの処理を要求するステップが、前記支援サーバに処理を要求するジョブを登録したジョブ・リストに基づいて要求するか否かを判断するステップを含む請求項1から請求項3のいずれかに記載の方法。   4. The method according to claim 1, wherein the step of requesting the processing of the specific job includes a step of determining whether or not to request based on a job list in which a job requesting the processing to the support server is registered. The method of crab. 前記支援サーバから受け取った処理結果および前記コンピュータにおける処理結果の先後に基づいて前記ジョブ・リストを更新するステップを有する請求項4に記載の方法。   The method according to claim 4, further comprising the step of updating the job list based on a processing result received from the support server and a processing result in the computer. 前記特定のジョブの処理を要求するステップが、前記支援サーバから前記特定のジョブの処理結果を得るまでの時間に関連するパラメータを測定して要求するか否かを判断するステップを含む請求項1から請求項5のいずれかに記載の方法。   The step of requesting processing of the specific job includes a step of determining whether to request by measuring a parameter related to a time until the processing result of the specific job is obtained from the support server. A method according to any of claims 5 to 5. 前記パラメータが、前記支援サーバのCPU使用率、前記支援サーバにおける前記ネットワークに対するデータ転送速度、および前記コンピュータにおける前記ネットワークに対するデータ転送速度のいずれか1つまたは複数の要素の組み合わせからなる請求項6に記載の方法。   7. The parameter according to claim 6, wherein the parameter includes a combination of one or more of a CPU usage rate of the support server, a data transfer rate of the support server to the network, and a data transfer rate of the computer to the network. The method described. 前記特定のジョブの処理を要求するステップが、前記コンピュータのCPU使用率を測定して要求するか否かを判断するステップを含む請求項1から請求項7のいずれかに記載の方法。   The method according to claim 1, wherein the step of requesting processing of the specific job includes a step of determining whether to request by measuring a CPU usage rate of the computer. 支援サーバにネットワーク経由で接続されたコンピュータであって、
前記支援サーバに接続するためのネットワーク通信部と、
ユーザ・インターフェースからの指示に基づいて特定のジョブを処理するジョブ処理部と、
前記ユーザ・インターフェースからの指示に基づいて前記支援サーバに前記特定のジョブの処理を要求し、前記ジョブ処理部が前記特定のジョブの処理を完了するよりも先に前記支援サーバから前記特定のジョブの処理の結果を受け取ったときに前記ジョブ処理部による前記特定のジョブの処理を中止させるパフォーマンス制御部と
を有するコンピュータ。
A computer connected to the support server via a network,
A network communication unit for connecting to the support server;
A job processing unit that processes a specific job based on an instruction from the user interface;
Based on an instruction from the user interface, the support server is requested to process the specific job, and the specific job is sent from the support server before the job processing unit completes the process of the specific job. A performance control unit that stops the processing of the specific job by the job processing unit when receiving the result of the process.
前記パフォーマンス制御部は、前記支援サーバから処理の結果を受け取るよりも先に前記ジョブ処理部が処理を完了したときに、前記支援サーバに前記特定のジョブの処理を中止する命令を送る請求項9に記載のコンピュータ。   The performance control unit sends an instruction to stop the processing of the specific job to the support server when the job processing unit completes the processing before receiving the processing result from the support server. Computer as described in. 前記コンピュータがバッテリィで動作し前記ネットワークに無線で接続される請求項9または請求項10に記載のコンピュータ。   The computer according to claim 9 or 10, wherein the computer operates on a battery and is connected to the network wirelessly. クライアントと支援サーバで構成されたコンピュータ・システムであって、
クライアントから要求されたジョブを処理して前記クライアントに処理結果を送ることができる支援サーバと、
特定のジョブを処理するジョブ処理部と、前記支援サーバに前記特定のジョブを同時並行的に処理することを要求しいずれか先に得た処理結果を利用するパフォーマンス制御部とを含むクライアントと
を有するコンピュータ・システム。
A computer system comprising a client and a support server,
A support server capable of processing a job requested by a client and sending a processing result to the client;
A client including a job processing unit that processes a specific job, and a performance control unit that requests the support server to process the specific job in parallel and uses a processing result obtained earlier Having a computer system.
前記支援サーバは、複数のクライアントの実行環境をそれぞれ仮想化した複数の仮想マシンが構築されている請求項12に記載のコンピュータ・システム。   The computer system according to claim 12, wherein the support server includes a plurality of virtual machines each virtualizing an execution environment of a plurality of clients. 前記支援サーバは、前記クライアントに実装されたアプリケーション・プログラムの実行環境と同一の実行環境が構築されている請求項12に記載のコンピュータ・システム。   The computer system according to claim 12, wherein the support server has an execution environment identical to an execution environment of an application program installed in the client. 前記支援サーバが、前記クライアントと共有するファイルを有するデータベース・サーバである請求項12に記載のコンピュータ・システム。   The computer system according to claim 12, wherein the support server is a database server having a file shared with the client. 支援サーバにネットワーク経由で接続されたコンピュータに、
実行命令に基づいて特定のジョブの処理を開始する機能と、
前記実行命令に基づいて前記支援サーバに前記特定のジョブの処理を要求するか否かを判断する機能と、
要求すると判断したときに前記支援サーバに前記特定のジョブの処理を要求する機能と、
前記支援サーバから受け取った前記特定のジョブの処理結果または前記コンピュータが処理した前記特定のジョブの処理結果のいずれか先に発生した処理結果を利用する機能と
を実現させるコンピュータ・プログラム。
To a computer connected to the support server via the network,
A function to start processing a specific job based on an execution instruction;
A function of determining whether to request the support server to process the specific job based on the execution command;
A function of requesting the support server to process the specific job when it is determined to request;
A computer program that realizes a function of using a processing result generated earlier of a processing result of the specific job received from the support server or a processing result of the specific job processed by the computer.
いずれか一方の処理結果が先に発生したときに他方の処理を中止させる機能を実現させる請求項16に記載のコンピュータ・プログラム。   The computer program according to claim 16, which realizes a function of stopping the other process when one of the process results occurs first. 前記判断する機能が、前記支援サーバおよび前記コンピュータまたはいずれか一方の負荷率およびデータ転送速度を判断する機能を含む請求項16または請求項17に記載のコンピュータ・プログラム。   The computer program according to claim 16 or 17, wherein the function of determining includes a function of determining a load factor and a data transfer rate of the support server and / or the computer.
JP2010237104A 2010-10-22 2010-10-22 Method and computer for improving computer performance Active JP5357129B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010237104A JP5357129B2 (en) 2010-10-22 2010-10-22 Method and computer for improving computer performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010237104A JP5357129B2 (en) 2010-10-22 2010-10-22 Method and computer for improving computer performance

Publications (2)

Publication Number Publication Date
JP2012089044A true JP2012089044A (en) 2012-05-10
JP5357129B2 JP5357129B2 (en) 2013-12-04

Family

ID=46260581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010237104A Active JP5357129B2 (en) 2010-10-22 2010-10-22 Method and computer for improving computer performance

Country Status (1)

Country Link
JP (1) JP5357129B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103224A (en) * 2016-03-03 2017-09-13 한국전자통신연구원 Client device, server device and method for displaying image
JP2017529619A (en) * 2014-09-22 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Computing environment selection method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131312A (en) * 1992-01-23 1994-05-13 Hitachi Ltd Method and system for parallel processing
JP2002251292A (en) * 2001-02-22 2002-09-06 Nec Software Chubu Ltd Job management system in client server system and job management method in client server system
JP2005334110A (en) * 2004-05-25 2005-12-08 Ziosoft Inc Image processing system such as volume rendering
JP2009163328A (en) * 2007-12-28 2009-07-23 Toshiba Corp Information processor and its control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131312A (en) * 1992-01-23 1994-05-13 Hitachi Ltd Method and system for parallel processing
JP2002251292A (en) * 2001-02-22 2002-09-06 Nec Software Chubu Ltd Job management system in client server system and job management method in client server system
JP2005334110A (en) * 2004-05-25 2005-12-08 Ziosoft Inc Image processing system such as volume rendering
JP2009163328A (en) * 2007-12-28 2009-07-23 Toshiba Corp Information processor and its control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529619A (en) * 2014-09-22 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Computing environment selection method
KR20170103224A (en) * 2016-03-03 2017-09-13 한국전자통신연구원 Client device, server device and method for displaying image
KR102419972B1 (en) 2016-03-03 2022-07-14 한국전자통신연구원 Client device, server device and method for displaying image

Also Published As

Publication number Publication date
JP5357129B2 (en) 2013-12-04

Similar Documents

Publication Publication Date Title
US8321530B2 (en) Cloud computing system, server computer, device connection method, and storage medium
KR101626117B1 (en) Client, brokerage sever and method for providing cloud storage
US9104494B2 (en) Virtual computer system and its optimization method
JP2010218049A (en) Information processing apparatus, information processing method, and program
US11632315B1 (en) System and method for dynamic reporting based management
US11030046B1 (en) Cluster diagnostics data for distributed job execution
US9684536B2 (en) Scheduling method and scheduling system
EP4057145A1 (en) Method for multi-core communication, electronic device and storage medium
US11461326B2 (en) Scalable query processing
US11979941B2 (en) Data transmission method and terminal
KR20120052769A (en) Apparatus and method for synchronizing virtual machine
JP5357129B2 (en) Method and computer for improving computer performance
US20140073370A1 (en) Method of mobile device resource reuse in mobile cloud
CN114296953A (en) Multi-cloud heterogeneous system and task processing method
CN111090783B (en) Recommendation method, device and system, graph embedded wandering method and electronic equipment
US20230229672A1 (en) Low latency ingestion into a data system
US11586515B1 (en) Data ingestion replication and disaster recovery
US8166105B2 (en) Portable terminal, server, and method for realizing function of portable terminal using network
JP5678556B2 (en) Job execution system, job execution device, and program
US11360727B2 (en) Non-transitory computer-readable medium, terminal management apparatus and terminal management system configured to transmit a received instruction to a relay apparatus without being divided
Dhakal et al. Primitives enhancing gpu runtime support for improved dnn performance
JP6815975B2 (en) API management system and API management method
US20240143548A1 (en) Continuous ingestion of custom file formats
WO2024028990A1 (en) Accelerator state control device, accelerator state control system, accelerator state control method, and program
CN117648291A (en) File export method and device and computer equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130620

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130829

R150 Certificate of patent or registration of utility model

Ref document number: 5357129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250