JP2012089044A - Computer and method for improving performance of computer - Google Patents
Computer and method for improving performance of computer Download PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
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台のマスタ・コンピュータと複数のスレーブ・コンピュータをネットワークで接続し、協調動作するようにしたクラスタ・コンピュータについて記載されている。クラスタ・コンピュータでは、マスタ・コンピュータで動作するアプリケーションが、並列処理が必要となる部分にさしかかると、マスタ・コンピュータは素材データを個々のスレーブ・コンピュータに分配した上、それぞれのスレーブ・コンピュータが担当する処理の範囲を決定し、処理の開始をそれぞれのスレーブ・コンピュータに指示する。処理を終えたスレーブ・コンピュータは、部分的な結果データをマスタ・コンピュータに送り、マスタ・コンピュータはそれらを統合して一つのまとまった結果データを得る。
特許文献2は、ネットワークに接続された印刷制御装置と複数の印刷装置で構成される印刷制御システムにおいて、印刷制御装置が、各印刷装置の印刷性能および印刷状況に基づいて印刷完了予測時刻を計算して、分割印刷ジョブを各印刷装置にスケジューリングする技術が記載されている。特許文献3は、条件分岐命令に対応する条件が確定していない間、投機的に命令を処理してプログラムを高速に実行するプロセッサを開示する。内部で条件分岐命令の分岐の成否が判断されて、有効な実行結果はレジスタ・ファイルに格納されるが、無効な実行結果は消去される。
クラウド・コンピューティングでは、クライアントの負荷を部分的にネットワーク・サーバに分散することで軽減することができる。しかし、クラウド・コンピューティングは、特定のジョブの処理にあたってクライアントのパフォーマンスを最大化することを指向するものではない。クラウド・コンピューティングでは、同一のジョブをクライアントおよびサーバのいずれでも処理できる環境を構築することができる。その場合に、いずれで実行した方が短時間で処理を完了できるかの判断は簡単にはできない。 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
しかし、クライアントの機能が増強され搭載するプロセッサに比して高度な処理をする機会が増加したこと、および、サーバは比較的処理能力に余裕がある時間帯が多いことに着目すると、クライアントが特定のジョブの処理結果を最短時間で得るにはサーバのサービスを利用することが有効なことがわかってきた。このような状況の変化に伴い、新たなネットワーク・コンピューティングの形態を構築してクライアントに最大のパフォーマンスを発揮させる可能性に着目することは有意義である。 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.
[コンピュータ・システム]
図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
以後、支援サーバ200a、200b、200cのいずれかを指す場合は、支援サーバ200ということにする。支援サーバ200はクライアント100が処理する特定のジョブと同一のジョブを処理する機能を備えている。Webサーバ15は、蓄積していたHTML文書や画像などの情報を、クライアント100または支援サーバ200のWebブラウザの要求に応じてネットワーク11を通じて送信する。
Hereinafter, when referring to any of the
ファイル・サーバ17は、RAID(Redundant Arrays of Inexpensive Disks)として構成された記憶装置に記憶されたファイルを、ネットワーク上のクライアント100および支援サーバ200が共有できるように提供する。無線基地局13には、無線で複数のクライアント100が接続されている。クライアント100のいくつかは有線でネットワーク11に接続されている。クライアント100は、支援サーバ200、Webサーバ15およびファイル・サーバ17に接続することができるパーソナル・コンピュータ、スマートフォン、または携帯電話などの無線端末装置とすることができる。クライアント100は、ネットワーク11に無線で接続されるタイプの場合は、バッテリィを搭載する。
The
[クライアント]
図2は、クライアント100の構成を示す機能ブロック図である。図2の各要素は、CPU、メイン・メモリ、ハードディスク・ドライブ(HDD)、およびネットワーク・インターフェース・カード(NIC)などの周知のハードウエアおよびデバイス・ドライバ、オペレーティング・システム(OS)、およびアプリケーション・プログラム(アプリケーション)などの周知のソフトウエアを含んで構成されている。OSは、同時に複数のタスクを平行して実行するマルチタスク方式を採用する。
[client]
FIG. 2 is a functional block diagram showing the configuration of the
パフォーマンス制御部107およびジョブ・リスト109は、それぞれ支援サーバ200の支援を受けてクライアント100のパフォーマンスを向上させるための新規なアプリケーションおよびファイルを含んで構成されている。ユーザ・インターフェース101は、キーボード、ポインティング・デバイス、およびディスプレイなどのハードウエアと、アプリケーションおよびOSのユーザ・インターフェース部分を含む。
The
ユーザ・インターフェース101は、アプリケーションまたはOSに対するキーボードまたはリモート・コンピュータからのコマンドを受け取ってジョブ処理部103およびパフォーマンス制御部107に通知する。ユーザ・インターフェース101はジョブ処理部103がジョブを処理するための画面をディスプレイに表示する。ユーザ・インターフェース101は、ジョブ処理部103から受け取ったジョブの処理結果または支援サーバ200からパフォーマンス制御部107が受け取ったジョブの処理結果をディスプレイに表示する。
The
ジョブ処理部103は、CPUおよびメイン・メモリなどの周知のハードウエアとアプリケーションおよびOSなどの周知のソフトウエアを含んで構成されている。ジョブ処理部103ではユーザ・インターフェース101からの指示に基づいて、アプリケーションまたはOSがジョブを処理して処理結果をユーザ・インターフェース101に送ったり、記憶部104に記憶したりする。ジョブには、データベースの検索、画像データのフィルタ処理、ストリーミング・データの合成などのCPUにとって高負荷となる処理から、ポインティング・デバイスやキーボードからの信号に対する応答処理などのような軽負荷となる処理までのあらゆるコンピュータ処理を含む。
The
記憶部104はHDD、デバイス・ドライバおよびOSを含んで構成され、アプリケーション、OS、デバイス・ドライバなどの周知のプログラム、パフォーマンス制御部107を構成する新規のプログラム、ジョブ・リスト109、およびジョブ処理部103が処理した処理結果などを記憶する。CPU使用率測定部105は主としてOSで構成され、ジョブ処理部103において動作しているCPUの現在の使用率を測定する。ネットワーク通信部111は、有線または無線のNICおよびデバイス・ドライバを含んで構成されており、ネットワーク11を経由して支援サーバ200と通信するための処理をする。転送速度測定部113は主としてNICのデバイス・ドライバおよびOSで構成されており、ネットワーク通信部111における送信および受信のデータ転送速度を測定する。
The
パフォーマンス制御部107は、ユーザ・インターフェース101から特定のジョブを処理するコマンドを受け取ったときに、ジョブ・リスト109を参照して支援サーバ200に当該処理を要求するか否かを判断して、要求すると決定した場合にはネットワーク通信部111を通じて支援サーバ200に処理を要求する。パフォーマンス制御部107は、さらに後に説明するように、CPU使用率測定部105および転送速度測定部113を参照してジョブ・リスト109から支援サーバ200への要求対象として漏れているジョブについて、支援サーバ200に処理を要求するか否かを判断する。
When the
パフォーマンス制御部107は、さらに、支援サーバ200に事前に問い合わせて支援サーバを利用したときに処理結果を得るまでの時間に関連するパラメータを取得してジョブ・リストから漏れているジョブについて、支援サーバ200に処理を要求するか否かを判断する。パフォーマンス制御部107は、支援サーバ200に処理を要求したジョブ・タイプの処理結果に基づいてジョブ・リスト109を更新する。パフォーマンス制御部107は、同一ジョブを同時並行的に実行している支援サーバ200またはジョブ処理部103のいずれかから処理結果を先に受け取った時点で、処理を終了していない方に処理の中止を指示する。パフォーマンス制御部107は、支援サーバ200からジョブの処理結果を受け取ったときに、ユーザ・インターフェース101に送る。
The
ジョブ・リスト109は、アプリケーションの名称、コマンドの種類、および処理対象となるデータ量の閾値および適用フラグの4つのフィールドで構成されている。この4つのフィールドで構成される各レコードをジョブ・タイプということにする。図9は、ジョブ・リスト109のデータ構造を示す。ジョブ・リスト109には、あらかじめ支援サーバ200にジョブの処理を要求した方が、ジョブ処理部103で処理するよりもユーザ・インターフェース100が早く結果を得られる可能性がある複数のジョブ・タイプを登録している。処理対象となるデータ量の閾値は、データ量が多いほどCPUの負担が大きくなり、支援サーバ200で処理したほうが早く処理結果を得ることができるという特質を判断するために設けている。各レコードは、ユーザ・インターフェース101から受け取ったコマンドに基づいてジョブ処理部103が処理するときのジョブの処理時間に関連する情報である。
The
支援サーバ200によるジョブの処理時間には、支援サーバ200のCPUが処理する時間および処理対象データまたは処理結果のデータがネットワーク11を通じて転送されるまでの時間も含まれる。適用フラグは、ジョブ・リストに登録されたジョブ・タイプの中で支援サーバに処理を要求した方が処理結果を早く得られる可能性が高いジョブ・タイプに対して設定される。したがってジョブ・リスト109には、キーボードからの入力をディスプレイに表示させる処理またはマウスのクリックに対する応答処理などの対話型処理をするジョブなどの明らかにCPUの負担が軽いものは最初から登録しない。
The job processing time by the
ジョブ・リスト109にはユーザが複数のジョブ・タイプを登録しかつ適用フラグを設定する。そしてユーザは、画像データのフィルタ処理、レンダリングまたは映像ストリームの合成処理などのCPUに対して高い負荷を課すジョブ・タイプに適用フラグを設定することができる。適用フラグが設定されないジョブ・タイプについてもパフォーマンス制御部107の判断により、支援サーバの処理の要求が行われる場合がある。パフォーマンス制御部107は、ジョブ・リスト109を、適用フラグが設定されたジョブ・タイプについては、支援サーバ200に処理を要求するホワイト・リストとして使用する。適用フラグは後に説明するように、コンピュータ・システム11が動作を開始するに伴ってパフォーマンス制御部107によって更新される。更新された適用フラグが設定されたジョブ・リスト109に基づいて支援サーバ200に処理を要求すると支援サーバ200が先にジョブを処理する確率が高くなる。
In the
[支援サーバ]
図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
支援サーバ200aは、前述のIaaSの範疇に含まれ、各仮想マシン201ではいずれかのクライアント100と同じアプリケーションが同じ実行環境で動作している。クライアント100が支援サーバ200aに接続されたときに、支援サーバ200aにクライアント100の仮想マシン201が構築され、切断されたときに当該仮想マシン201は消滅する。
The
仮想マシン201が構成されると、パフォーマンス制御部107は、前回の接続から今回の接続までの間にクライアント100の中で変化のあった、ハードウエア、ソフトウエア、および記憶部104のデータなどを仮想マシン201に反映させ、仮想マシン201にクライアント100と同じ動作環境を実現する。パフォーマンス制御部107がユーザ・インターフェース101から受け取ったコマンドを支援サーバ200aに送ると、支援サーバ200aにおけるジョブ処理部103を仮想化した要素がクライアントと同一のジョブを処理してパフォーマンス制御部107に返送することができる。
When the
ジョブが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
ジョブがファイル・サーバ17から画像ファイルをダウンロードして加工する処理の場合は、パフォーマンス制御部107は支援サーバ200aにダウンロードと加工を要求する。要求を受けた支援サーバ200aは、フィアル・サーバ17から画像ファイルをダウンロードして加工し、結果の画像ファイルをパフォーマンス制御部107に送る。また、ジョブ処理部103もネットワーク通信部111を経由してファイル・サーバ17から画像ファイルをダウンロードして加工する。
If the job is a process of downloading and processing an image file from the
図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
支援サーバ200bにクライアント100と同じアプリケーションの実行環境が構築されている場合は、パフォーマンス制御部107は支援サーバ200bにコマンドまたはコマンドと記憶部104に記憶していた処理対象データを一緒に送ることができる。支援サーバ200bのアプリケーション・プログラムはジョブを処理してパフォーマンス制御部107に処理結果を返送する。パフォーマンス制御部107は、ジョブ処理部103を通じて受け取った処理結果を記憶部104に保存することができる。
When the execution environment of the same application as that of the
図5は、支援サーバ200の他の例である支援サーバ200cの構成を示す図である。支援サーバ200cは、複数のファイルを記憶する記憶部281、記憶部281に対するデータの記録、更新、検索などを行う制御部283、および制御部283に指示するインターフェース285で構成されている。支援サーバ200cは、前述のSaaSの範疇に含まれるデータベース・サーバである。
FIG. 5 is a diagram illustrating a configuration of a
クライアント100が支援サーバ200を使用する際には、クライアント100の記憶部104にも記憶部281と同じ少なくとも1つのファイルが記憶されており、ジョブ処理部103が制御部283と同等の機能を果たし、ユーザ・インターフェース101がインターフェース285と同等の機能を果たすことが前提になる。
When the
クライアント100において、ユーザがユーザ・インターフェース101に特定のファイルを対象にして検索コマンドを入力すると、ジョブ処理部103は記憶部104を検索する。一方、パフォーマンス制御部107は当該コマンドを支援サーバ200cに送る。支援サーバ200cは検索結果をパフォーマンス制御部107に返送する。ユーザ・インターフェース101は、いずれか早く受け取った処理結果をディスプレイに表示することができる。
In the
なお、図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
[パフォーマンス向上の手順]
図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
ブロック203でクライアント100のユーザ・インターフェース101がジョブ処理部103に対するコマンドを受け取る。ユーザ・インターフェース101は、コマンドをジョブ処理部103とパフォーマンス制御部107に送る。ブロック205でジョブ処理部103はジョブの処理を開始する。ブロック207で、パフォーマンス制御部107は、ジョブ処理部103と同時並行的に支援サーバ200にユーザ・インターフェース101から受け取ったコマンドに対応するジョブを処理するように要求するか否かを判断する。なお、コマンドには、利用する支援サーバ200を特定する情報およびアプリケーションを特定する情報も含んでいる。
In
支援サーバ200に処理を要求する時点で、クライアント100にとって支援サーバ200から先に処理の結果が得られることは確定していない。その意味で支援サーバ200に対するジョブの処理の依頼は投機的な処理の依頼ということができる。投機的な処理の依頼とは、クライアント100がジョブ処理部103でジョブを処理し、かつ、支援サーバ200から先に処理結果を得ることができることが確実でない状態で支援サーバ200に処理を要求することを意味する。さらに投機的な処理の依頼とは、クライアント100または支援サーバ200のいずれか一方が途中まで処理したジョブを破棄する意味を含む。さらに投機的な処理の依頼とは、経験に基づいて支援サーバ200を利用する場合の成功率を高めながら支援サーバ200に処理を要求する意味も含む。
At the time of requesting the processing to the
支援サーバ200に処理を要求したときにジョブ処理部103での処理が先に完了した場合には、支援サーバ200に対する処理要求のコマンドおよび処理中止のコマンド、さらには処理対象データを送信するためにネットワーク通信部111が無駄な電力を消費することになる。さらに、ネットワーク11および支援サーバ200のリソースを無駄に消費することにもなる。本実施の形態では、このような事態をできるだけ避けるために、支援サーバ200の処理結果を利用する可能性が低いと想定できるジョブについては、支援サーバ200に投機的な処理要求をしないことが望ましい。
When processing in the
支援サーバ200に対する無駄な要求を避けるためのブロック207の手順を図7のフローチャートに基づいて説明する。ブロック251でパフォーマンス制御部107は、ユーザ・インターフェース101から受け取ったコマンドが、アプリケーション名、コマンドの種類および処理対象のデータ量のすべてがジョブ・リスト109に登録されたエントリーを満たしており、かつ、適用フラグが設定されているジョブ・タイプに適合するか否かを判断する。
The procedure of
パフォーマンス制御部107は、当該コマンドで処理する対象となる処理対象のデータ量をジョブ処理部103から取得する。ジョブ・タイプが適合する場合は、ブロック211に移行して、パフォーマンス制御部107はいずれかの支援サーバ200に当該ジョブ・タイプを実行するように要求する。ただし、ジョブ・リスト109は、ユーザ・インターフェース101が支援サーバ200のほうから早く処理結果を得られることを推定させるだけであり確定的ではない。したがって、ジョブ・リスト109を利用して支援サーバに処理を要求することは依然として投機的な行為といえる。
The
支援サーバ200aには、クライアント100を完全にクローン化した仮想マシンが構築されている。パフォーマンス制御部107は、支援サーバ200aに処理を要求する場合は、ユーザ・インターフェース101から受け取ったコマンドを送るだけでよい。支援サーバ200bには、ジョブの処理対象データが存在しない場合もある。支援サーバ200bに処理を要求する場合は、パフォーマンス制御部107がユーザ・インターフェース101から受け取ったコマンドと処理対象となるデータを送る場合がある。支援サーバ201cに処理の要求をする場合は、パフォーマンス制御部107は検索を示すコマンドとキーワードを送るだけでよい。
In the
ジョブ・タイプが適合しない場合は、ブロック253に移行する。ジョブ・リスト109に登録し、かつ適用フラグが設定されたジョブ・タイプは、ジョブ処理部103による処理よりも支援サーバ200による処理のほうが、ユーザ・インターフェース100が早く処理結果を得られると想定できるが、いずれが早いかは時間とともに変動する要素を含んでいるので適用フラグの設定されていないジョブ・タイプについても状況により投機的な処理を依頼する価値はあり得る。
If the job type does not match, block 253 is entered. As for the job type registered in the
適用フラグが設定されていないジョブ・タイプであってもクライアント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
支援サーバ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
支援サーバ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
ネットワーク通信部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
たとえば、支援サーバ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
支援サーバ200のCPU使用率、支援サーバ200におけるネットワーク11に対するデータの転送速度、およびクライアント100におけるAP13に対するデータの転送速度は、支援サーバ200にジョブの処理を依頼したときに処理結果が戻るまでの時間に関連するパラメータに相当する。また、クライアント100のCPU使用率は、ジョブ処理部103がジョブの処理を完了するまでの時間に関連するパラメータに相当する。
The CPU usage rate of the
図6に戻って、ブロック213では、コマンドまたはコマンドと処理対象データを受け取った支援サーバ200は、要求に基づいてジョブの処理をする。ブロック215では、パフォーマンス制御部107は先に支援サーバ200から処理の結果を受け取ったか否かを判断する。パフォーマンス制御部107はジョブ・タイプが多量の処理結果のデータを受信するものである場合は、すべてのデータを受信したと判断した時点で処理の結果を受け取ったと判断する。
Returning to FIG. 6, in
支援サーバ200からの処理結果を先に受け取った場合は、パフォーマンス制御部107はブロック217でジョブ処理部103にそれまで行っていたジョブの処理を中止させる。ジョブ処理部103は、残りのジョブを処理しないことで、搭載するバッテリィの消耗を抑制することができる。ブロック219では、パフォーマンス制御部107は、支援サーバ200から受け取った処理の結果をユーザ・インターフェース101に送る。ブロック217とブロック219は順番を入れ替えてもよい。
If the processing result from the
ブロック221では、パフォーマンス制御部107は今回のジョブ・タイプについて、支援サーバ200で処理したほうがジョブ処理部103で処理するよりも早く結果を得ることができたという経験に基づいて、ジョブ・リスト109を更新する。パフォーマンス制御部107は適用フラグが設定されているジョブ・タイプについては適用フラグを維持するが、適用フラグが設定されていないジョブ・タイプについては適用フラグを設定する。その結果、新たに適用フラグが設定されたジョブ・タイプを次回に処理する場合は、パフォーマンス制御部107はブロック251で支援サーバ200に同時並行的に処理を要求する。
In
ジョブ処理部103は、ジョブの処理を完了するかパフォーマンス制御部107から処理の中止コマンドを受け取るまでジョブの処理を継続する。ジョブ処理部103は対象となるジョブ・タイプの処理が完了したときに、パフォーマンス制御部103に通知する。ブロック223とブロック215では、支援サーバ200と同時並行的にジョブを処理しているジョブ処理部103が先にジョブを処理するか否かをパフォーマンス制御部107が判断している。パフォーマンス制御部107は、支援サーバ200から処理結果を受け取るよりも先にジョブ処理部103がジョブを終了した通知を受け取ったときは、ブロック225に移行して支援サーバ200にジョブの処理を中止するコマンドを送る。
The
中止コマンドを受け取った支援サーバ200は、ジョブの処理を中止して、それ以上の無駄なリソースの消費を避ける。また、支援サーバ200は中止されたジョブの処理結果をクライアント100に送ることもないので、ネットワーク11に無駄なトラフィックも発生しない。ブロック227ではジョブ処理部103はユーザ・インターフェース101に処理結果を送る。ブロック225とブロック227は順番を入れ替えてもよい。ブロック229では、パフォーマンス制御部107は今回のジョブ・タイプについて、支援サーバ200で処理するよりもジョブ処理部103で処理するほうが早く処理結果を得ることができたという経験に基づいて、ジョブ・リスト109を更新する。
The
パフォーマンス制御部107は適用フラグが設定されていないジョブ・タイプについては適用フラグを設定しない状態を維持するが、適用フラグが設定されていたジョブ・タイプについては適用フラグの設定を解除する。その結果、新たに適用フラグの設定が解除されたジョブ・タイプを次回に処理する場合は、パフォーマンス制御部107はブロック251〜ブロック259の手順を経ても支援サーバ200に同時並行的な処理を要求しない場合がある。
The
ジョブ・リスト109は更新されながら、投機的な処理の精度が向上していく。すなわち、ジョブ・リスト109に登録されたジョブ・タイプについて支援サーバ200に投機的に処理要求をしたときに、支援サーバ200から先に処理結果を得る確率が向上する。さらに、支援サーバ200から先に処理結果を得る確率が低いジョブ・タイプは最初からジョブ・リスト109に登録されないため、支援サーバおよびネットワーク11のリソースを無駄に利用することがなくなる。
While the
したがって、クライアント100は支援サーバ200およびネットワーク11に投機的な処理をさせて無駄にリソースを消費することで、他のクライアントのサービスが低下する事態を最低限の範囲に留めながら、ネットワーク11および支援サーバ200の能力を有効に活用してコンピュータ・システム10の全体のパフォーマンスを向上させることができる。上記の手順によれば、ユーザは特定のジョブを処理するにあたり何ら特定の操作をしないでも、クライアント100が支援サーバ200に処理の要求をする。
Therefore, the
そして、クライアント100が支援サーバ200から先に処理結果を得た場合は、ユーザは支援サーバ200の存在を認識することなくクライアント100における間接的なパフォーマンス向上のメリットを享受することができる。また、ジョブ・リスト109は、適用フラグが設定されたジョブ・タイプについては支援サーバ200に処理の要求をするというホワイト・リスト形式で構成したが、適用フラグが設定されたジョブ・タイプについては支援サーバに処理の要求をしないというブラック・リスト形式で構成することもできる。
When the
本実施の形態によれば、クライアント100を使用するユーザは所定のジョブを処理するに当たり、クライアント100で実行するか支援サーバ200に要求するかを判断する必要がない。ユーザはクライアント100に対して通常の操作をするだけで、良好なパフォーマンスでレスポンスを得ることができる。また、支援サーバ200に接続できない環境でもクライアント100をスタンドアロン型として使用することで支障なく所定のジョブを処理することができる。
According to the present embodiment, the user using the
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。 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.
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.
前記支援サーバに接続するためのネットワーク通信部と、
ユーザ・インターフェースからの指示に基づいて特定のジョブを処理するジョブ処理部と、
前記ユーザ・インターフェースからの指示に基づいて前記支援サーバに前記特定のジョブの処理を要求し、前記ジョブ処理部が前記特定のジョブの処理を完了するよりも先に前記支援サーバから前記特定のジョブの処理の結果を受け取ったときに前記ジョブ処理部による前記特定のジョブの処理を中止させるパフォーマンス制御部と
を有するコンピュータ。 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.
クライアントから要求されたジョブを処理して前記クライアントに処理結果を送ることができる支援サーバと、
特定のジョブを処理するジョブ処理部と、前記支援サーバに前記特定のジョブを同時並行的に処理することを要求しいずれか先に得た処理結果を利用するパフォーマンス制御部とを含むクライアントと
を有するコンピュータ・システム。 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.
実行命令に基づいて特定のジョブの処理を開始する機能と、
前記実行命令に基づいて前記支援サーバに前記特定のジョブの処理を要求するか否かを判断する機能と、
要求すると判断したときに前記支援サーバに前記特定のジョブの処理を要求する機能と、
前記支援サーバから受け取った前記特定のジョブの処理結果または前記コンピュータが処理した前記特定のジョブの処理結果のいずれか先に発生した処理結果を利用する機能と
を実現させるコンピュータ・プログラム。 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.
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)
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)
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 |
-
2010
- 2010-10-22 JP JP2010237104A patent/JP5357129B2/en active Active
Patent Citations (4)
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)
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 |