(57)【要約】【課題】処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる処理分担システムを提供する。【解決手段】受付処理実行手段８１は、端末装置８０が受け付けた処理である受付処理を実行する。入力頻度計測手段８２は、受付処理に対して行われる入力の発生頻度である入力頻度を計測する。処理分配先決定手段８３は、入力頻度に応じて、受付処理を実行させる分配先を、端末装置８０もしくは処理装置９０のいずれかに決定する。処理分配手段８４は、処理分配先決定手段８２が決定した分配先に受付処理の実行を指示する。入力分配手段８５は、処理分配先決定手段８３が分配先を端末装置８０に決定した場合、受付処理に対して行われた入力を受付処理実行手段８１に付与し、処理分配先決定手段８３が分配先を処理装置９０に決定した場合、受付処理に対して行われた入力を処理装置９０に送信する。【選択図】図１３
2010186260.tif 000002
【特許請求の範囲】
【請求項１】
実行する処理に対する操作を受け付ける端末装置と、
前記端末装置の指示に従って処理を実行する処理装置とを備え、
前記端末装置は、
当該端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、
前記受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測手段と、
前記入力頻度に応じて、前記受付処理を実行させる分配先を、当該端末装置もしくは前記処理装置のいずれかに決定する処理分配先決定手段と、
前記処理分配先決定手段が決定した分配先に前記受付処理の実行を指示する処理分配手段と、
前記処理分配先決定手段が分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を前記受付処理実行手段に付与し、前記処理分配先決定手段が分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配手段と、
前記処理分配先決定手段が決定した分配先で実行された前記受付処理の結果である処理結果を出力する出力手段とを備えた
ことを特徴とする処理分担システム。
【請求項２】
実行する処理に対する操作を受け付ける端末装置と、
前記端末装置の指示に従って処理を実行する処理装置とを備え、
前記端末装置は、
当該端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、
前記受付処理を実行させる分配先を、当該端末装置もしくは前記処理装置のいずれかに決定する処理分配先決定手段と、
前記処理分配先決定手段が決定した分配先に前記受付処理の実行を指示する処理分配手段と、
前記処理分配先決定手段が分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を前記受付処理実行手段に付与し、前記処理分配先決定手段が分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配手段と、
前記処理分配先決定手段が決定した分配先で実行された前記受付処理の結果である処理結果を出力する出力手段と、
前記出力手段が出力した前記処理結果の発生頻度である出力頻度を計測する出力頻度計測手段とを備え、
前記処理分配先決定手段は、前記出力頻度に応じて分配先を決定する
ことを特徴とする処理分担システム。
【請求項３】
出力手段が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段を備え、
処理分配先決定手段は、入力頻度及び前記出力頻度に応じて分配先を決定する
請求項１記載の処理分担システム。
【請求項４】
端末装置の負荷状況を計測する負荷計測手段を備え、
処理分配先決定手段は、前記負荷状況に応じて分配先を決定する
請求項１から請求項３のうちのいずれか１項に記載の処理分担システム。
【請求項５】
端末装置と処理装置の間の通信遅延を計測する通信遅延計測手段を備え、
処理分配先決定手段は、前記通信遅延に応じて分配先を決定する
請求項１から請求項４のうちのいずれか１項に記載の処理分担システム。
【請求項６】
処理装置は、
処理分配手段の指示に応じて受付処理を実行する分配処理実行手段と、
前記受付処理の処理結果と当該受付処理を識別可能な識別子である処理識別子とを端末装置に送信する処理結果送信手段と、
前記受付処理が完了したことを示す情報である完了情報と前記処理識別子とを端末装置に送信する完了情報送信手段とを備え、
処理分配手段は、受付処理と、当該受付処理の処理識別子とを処理装置に送信して受付処理の実行を指示し、
入力分配手段は、受付処理に対して行われた入力と当該受付処理の処理識別子とを処理装置に送信し、
前記分配処理実行手段は、前記入力を前記処理識別子が示す受付処理に使用して受付処理を実行する
請求項１から請求項５のうちのいずれか１項に記載の処理分担システム。
【請求項７】
実行する処理に対する操作を受け付ける端末装置であって、
当該端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、
前記受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測手段と、
前記入力頻度に応じて、前記受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定手段と、
前記処理分配先決定手段が決定した分配先に前記受付処理の実行を指示する処理分配手段と、
前記処理分配先決定手段が分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を前記受付処理実行手段に付与し、前記処理分配先決定手段が分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配手段と、
前記処理分配先決定手段が決定した分配先で実行された前記受付処理の結果である処理結果を出力する出力手段とを備えた
ことを特徴とする端末装置。
【請求項８】
実行する処理に対する操作を受け付ける端末装置であって、
当該端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、
前記受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定手段と、
前記処理分配先決定手段が決定した分配先に前記受付処理の実行を指示する処理分配手段と、
前記処理分配先決定手段が分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を前記受付処理実行手段に付与し、前記処理分配先決定手段が分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配手段と、
前記処理分配先決定手段が決定した分配先で実行された前記受付処理の結果である処理結果を出力する出力手段と、
前記出力手段が出力した前記処理結果の発生頻度である出力頻度を計測する出力頻度計測手段とを備え、
前記処理分配先決定手段は、前記出力頻度に応じて分配先を決定する
ことを特徴とする端末装置。
【請求項９】
出力手段が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段を備え、
処理分配先決定手段は、入力頻度及び前記出力頻度に応じて分配先を決定する
請求項７記載の端末装置。
【請求項１０】
実行する処理に対する操作を受け付け、当該処理を実行する受付処理実行手段を備えた端末装置が、当該端末装置が受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測ステップと、
前記端末装置が、前記入力頻度に応じて、前記受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、
前記端末装置が、前記分配先に受付処理の実行を指示する処理分配ステップと、
前記端末装置が、前記分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を、前記受付処理実行手段に付与し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配ステップと、
前記端末装置が、前記分配先で実行された受付処理の結果である処理結果を出力する出力ステップとを含む
ことを特徴とする処理分担方法。
【請求項１１】
実行する処理に対する操作を受け付け、当該処理を実行する受付処理実行手段を備えた端末装置が、当該端末装置が受け付けた処理である受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、
前記端末装置が、前記分配先に受付処理の実行を指示する処理分配ステップと、
前記端末装置が、前記分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を、前記受付処理実行手段に付与し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配ステップと、
前記端末装置が、前記分配先で実行された受付処理の結果である処理結果を出力する出力ステップと、
前記出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップとを含み、
前記処理分配先決定ステップで、端末装置が、前記出力頻度に応じて分配先を決定する
ことを特徴とする処理分担方法。
【請求項１２】
端末装置が、出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップを含み、
処理分配先決定ステップで、端末装置が、入力頻度及び前記出力頻度に応じて分配先を決定する
請求項１０記載の処理分担方法。
【請求項１３】
端末装置が、当該端末装置の負荷状況を計測する負荷計測ステップを含み、
処理分配先決定ステップで、端末装置が、前記負荷状況に応じて分配先を決定する
請求項１０から請求項１２のうちのいずれか１項に記載の処理分担方法。
【請求項１４】
端末装置が、当該端末装置と処理装置の間の通信遅延を計測する通信遅延計測ステップを含み、
処理分配先決定ステップで、端末装置が、前記通信遅延に応じて分配先を決定する
請求項１０から請求項１３のうちのいずれか１項に記載の処理分担方法。
【請求項１５】
処理装置が、端末装置の指示に応じて受付処理を実行する分配処理実行ステップと、
処理装置が、前記受付処理に対する処理結果と、当該受付処理を識別可能な識別子である処理識別子とを端末装置に送信する処理結果送信ステップと、
処理装置が、前記受付処理が完了したことを示す情報である完了情報と、前記処理識別子とを端末装置に送信する完了情報送信ステップと、
処理分配ステップで、端末装置が、受付処理と当該受付処理の処理識別子とを処理装置に送信して、受付処理の実行を指示し、
入力分配ステップで、端末装置が、受付処理に対して行われた入力と当該受付処理の処理識別子とを処理装置に送信し、
前記分配処理実行ステップで、処理装置が、前記入力を前記処理識別子が示す受付処理に使用して受付処理を実行する
請求項１０から請求項１４のうちのいずれか１項に記載の処理分担方法。
【請求項１６】
処理装置が、端末装置から通信遅延を測定するための信号である通信遅延測定信号を受信して、当該通信遅延測定信号に応答する信号である応答信号を送信する応答信号送信ステップを含み、
通信遅延計測ステップで、端末装置が、処理装置に前記通信遅延測定信号を送信し、前記応答信号を受信したときに、当該端末装置と処理装置の間の通信遅延を計測する
請求項１４に記載の処理分担方法。
【請求項１７】
実行する処理に対する操作を受け付け、当該処理を実行する受付処理実行手段を備えた端末装置が、当該端末装置が受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測ステップと、
前記入力頻度に応じて、前記受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、
前記分配先に受付処理の実行を指示する処理分配ステップと、
前記分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を、前記受付処理実行手段に付与し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配ステップと、
前記分配先で実行された受付処理の結果である処理結果を出力する出力ステップとを含む
ことを特徴とする端末処理分担方法。
【請求項１８】
実行する処理に対する操作を受け付け、当該処理を実行する受付処理実行手段を備えた端末装置が、当該端末装置が受け付けた処理である受付処理を実行させる分配先を、当該端末装置もしくは当該端末装置の指示に従って処理を実行する処理装置のいずれに決定する処理分配先決定ステップと、
前記分配先に受付処理の実行を指示する処理分配ステップと、
前記分配先を当該端末装置に決定した場合、前記受付処理に対して行われた入力を、前記受付処理実行手段に付与し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配ステップと、
前記分配先で実行された受付処理の結果である処理結果を出力する出力ステップと、
前記出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップとを含み、
前記処理分配先決定ステップで、前記出力頻度に応じて分配先を決定する
ことを特徴とする端末処理分担方法。
【請求項１９】
出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップを含み、
処理分配先決定ステップで、入力頻度及び前記出力頻度に応じて分配先を決定する
請求項１７記載の端末処理分担方法。
【請求項２０】
実行する処理に対する操作を受け付け、当該処理を実行するコンピュータに適用される処理分担プログラムであって、
前記コンピュータに、
当該コンピュータが受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測処理、
前記入力頻度に応じて、前記受付処理を実行させる分配先を、当該コンピュータもしくは当該コンピュータの指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定処理、
前記分配先に受付処理の実行を指示する処理分配処理、
前記分配先を当該コンピュータに決定した場合、前記受付処理に対して行われた入力を用いて前記受付処理を実行し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配処理、および、
前記分配先で実行された受付処理の結果である処理結果を出力する出力処理
を実行させるための処理分担プログラム。
【請求項２１】
実行する処理に対する操作を受け付け、当該処理を実行するコンピュータに適用される処理分担プログラムであって、
前記コンピュータに、
当該コンピュータが受け付けた処理である受付処理を実行させる分配先を、当該コンピュータもしくは当該コンピュータの指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定処理、
前記分配先に受付処理の実行を指示する処理分配処理、
前記分配先を当該コンピュータに決定した場合、前記受付処理に対して行われた入力を用いて前記受付処理を実行し、前記分配先を前記処理装置に決定した場合、前記受付処理に対して行われた入力を前記処理装置に送信する入力分配処理、
前記分配先で実行された受付処理の結果である処理結果を出力する出力処理、および、
前記出力処理で出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測処理を実行させ、
前記処理分配先決定処理で、前記出力頻度に応じて分配先を決定させる
ための処理分担プログラム。
【請求項２２】
コンピュータに、
出力処理で出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測処理を実行させ、
処理分配先決定処理で、入力頻度及び前記出力頻度に応じて分配先を決定させる
請求項２０記載の処理分担プログラム。
【請求項２３】
コンピュータに、
当該コンピュータに負荷状況を計測する負荷計測処理を実行させ、
処理分配先決定処理で、前記負荷状況に応じて分配先を決定させる
請求項２０から請求項２２のうちのいずれか１項に記載の処理分担プログラム。
【請求項２４】
コンピュータに、
当該コンピュータと処理装置との間の通信遅延を計測する通信遅延計測処理を実行させ、
処理分配先決定処理で、前記通信遅延に応じて分配先を決定させる
請求項２０から請求項２３のうちのいずれか１項に記載の処理分担プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末で実行される処理を他の装置に分配して実行させる処理分担システム、及びその処理分担システムに適用される端末装置、処理分担方法、端末処理分担方法、及び処理分担プログラムに関する。
【背景技術】
【０００２】
１つの装置が実行する処理の処理負荷が高くなった場合、その処理を他の装置に分配して負荷を軽減させ、処理効率を上げるための技術が各種提案されている。
【０００３】
特許文献１には、処理性能が低い、もしくは、所定の機能を実装していない場合であっても、高速に複雑な処理を実施できる画像データ処理装置が記載されている。特許文献１に記載された画像データ処理装置は、第一の装置に対してコード化データを含む画像情報が入力されると、画像処理を行う第二の装置にその画像情報を転送する。第二の装置がその画像に対して画像処理を行い、その結果を第一の装置に送信する。第一の装置と第二の装置とは通信路で接続され、情報を相互に送受信する。
【０００４】
特許文献２には、入出力処理の発生及び完了等の割込み処理を複数のプロセッサの中から最適なプロセッサに実行させる入出力処理負荷分散制御方式が記載されている。特許文献２に記載された入出力処理負荷分散制御方式では、入出力装置の入出力要求が発生すると、入出力処理分散部は、入出力処理回数テーブルのカウントアップを行う。入出力処理分散部は、入出力処理を行う演算用プロセッサ番号などを取得し、さらに入出力処理の発生回数がこの演算用プロセッサ中最多である場合には、この入出力処理を、最も平均応答時間の小さい演算用プロセッサに処理させる。
【０００５】
特許文献３には、情報処理装置の負荷状況や通信環境に応じて、ユーザの利便性を損ねることなくプログラムを配信可能なデータ配信システムが記載されている。特許文献３に記載されたデータ配信システムは、プログラムがセンターサーバからクライアント端末に配信される際、クライアント端末が、自身の負荷状況を計測する。クライアント端末は、その負荷状況に応じて、単位時間当たりの配信量の最適値を算出する。クライアント端末は、算出した最適値の配信量で配信対象のプログラムを配信するよう、センターサーバに対して要求する。センターサーバは、その要求に応じて、指定された最適値の配信量でそのプログラムをクライアント端末に対して配信する。具体的には、クライアント端末が、ＣＰＵの使用率や回線負荷、クライアント端末における操作装置の使用回数を負荷状況として計測する。クライアント端末は、負荷状況を用いて、センターサーバから配信されるデータの配信量として最適な値を算出する。
【０００６】
特許文献４には、ディジタル・スチル・カメラ（以下、カメラと記す。）と携帯電話機とでそれぞれに適した処理を分担させる動作制御方法が記載されている。特許文献４に記載された動作制御方法は、携帯電話機が、カメラとの通信を確立すると、画像データを生成するための第一の処理に用いられる第一の処理情報をそのカメラに送信する。携帯電話機は、第一の処理情報をもとに処理されたデータをカメラから受信すると、第二の処理情報をもとに第二の処理を行うことにより送信画像データを生成する。携帯電話機は、生成した送信画像データをサーバ・コンピュータに送信する。
【０００７】
特許文献５には、計算機の負荷を実際に観測することなく適正なＪＯＢ分配を実現するＪＯＢ分配制御方法が記載されている。特許文献５に記載されたＪＯＢ分配制御方法では、ＪＯＢ実行の要求が発生する計算機センタをローカルセンタ、ネットワークにより接続された遠隔の計算機センタをリモートセンタとする。所望のＪＯＢレスポンスタイムを事前に設定し、ＪＯＢ投入時間の平均値、ＪＯＢ実行時間の平均値を入力値とし、先のレスポンスタイムを実現するために必要なサーバ数を決定する。必要サーバ数がローカルセンタの基準値を越えたときに、リモートセンタへＪＯＢ実行する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３１６６３８号公報（段落００１３〜００１４、図１）
【特許文献２】特開平８−３２９０２２号公報（段落００６０〜００６４、図９）
【特許文献３】特開２００８−２０４０４２号公報（段落００１３〜００１５、図２）
【特許文献４】特開２００３−５０７０３号公報（段落００２５）
【特許文献５】特開２００４−３４８１９２号公報（段落０００６）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載された画像データ処理装置では、画像処理を第二の装置（サーバ）に依存する。しかし、画像データは、そのデータ容量が大きいため、全ての画像処理を第二の装置（サーバ）に依頼する場合には、ネットワークトラフィックが増大し、システム全体に負荷をかけてしまうという課題がある。
【００１０】
特許文献２に記載された入出力処理負荷分散制御方式では、入出力要求が発生したときに入出力処理回数テーブルのカウントアップを行い、入出力処理回数に基づいてプロセッサを決定する。一方、ユーザは、入出力要求を行った後、その処理に必要なデータを随時入力し、その処理結果を参照することが考えられる。このとき、処理を行うプロセッサが利用者から遠い装置（例えば、ネットワークを介した端末やサーバ）上のプロセッサに決定した場合、利用者が入力する入力データや処理結果はネットワークを介して送受信されるため、伝送による遅延が生ずることになる。そのため、例えば、利用者が、システムの出力を参照しながら入力を行うような場合、ネットワーク伝送による処理遅延のために入力を行いづらいという問題が生じる。
【００１１】
また、特許文献３に記載されたデータ配信システムでは、クライアント端末の負荷が高くなると、その端末へのデータ配信量を少なくするため、データ配信量の減少に伴い、クライアント端末の処理量が減少する恐れがある。このことは、クライアント端末の行う処理を遅延させることになり、上記と同様利用者が入力を行いづらく、処理効率を上げる事が出来ないという問題が生じる。
【００１２】
特許文献４に記載された動作制御方法は、カメラと携帯電話機が行う処理が、それぞれ決められている。そのため、それぞれの処理分担を動的に変化させることはできないという課題がある。
【００１３】
そこで、本発明は、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制する処理分担システム、及びその処理分担システムに適用される端末装置、処理分担方法、端末処理分担方法、及び処理分担プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による処理分担システムは、実行する処理に対する操作を受け付ける端末装置と、端末装置の指示に従って処理を実行する処理装置とを備え、端末装置が、その端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測手段と、入力頻度に応じて、受付処理を実行させる分配先を、その端末装置もしくは処理装置のいずれかに決定する処理分配先決定手段と、処理分配先決定手段が決定した分配先に受付処理の実行を指示する処理分配手段と、処理分配先決定手段が分配先をその端末装置に決定した場合、受付処理に対して行われた入力を受付処理実行手段に付与し、処理分配先決定手段が分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配手段と、処理分配先決定手段が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段とを備えたことを特徴とする。
【００１５】
本発明による処理分担システムは、実行する処理に対する操作を受け付ける端末装置と、端末装置の指示に従って処理を実行する処理装置とを備え、端末装置が、その端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、受付処理を実行させる分配先を、その端末装置もしくは処理装置のいずれかに決定する処理分配先決定手段と、処理分配先決定手段が決定した分配先に受付処理の実行を指示する処理分配手段と、処理分配先決定手段が分配先をその端末装置に決定した場合、受付処理に対して行われた入力を受付処理実行手段に付与し、処理分配先決定手段が分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配手段と、処理分配先決定手段が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段と、出力手段が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段とを備え、処理分配先決定手段が、出力頻度に応じて分配先を決定することを特徴とする。
【００１６】
本発明による端末装置は、実行する処理に対する操作を受け付ける端末装置であって、その端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測手段と、入力頻度に応じて、受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定手段と、処理分配先決定手段が決定した分配先に受付処理の実行を指示する処理分配手段と、処理分配先決定手段が分配先をその端末装置に決定した場合、受付処理に対して行われた入力を受付処理実行手段に付与し、処理分配先決定手段が分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配手段と、処理分配先決定手段が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段とを備えたことを特徴とする。
【００１７】
本発明による端末装置は、実行する処理に対する操作を受け付ける端末装置であって、その端末装置が受け付けた処理である受付処理を実行する受付処理実行手段と、受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定手段と、処理分配先決定手段が決定した分配先に受付処理の実行を指示する処理分配手段と、処理分配先決定手段が分配先をその端末装置に決定した場合、受付処理に対して行われた入力を受付処理実行手段に付与し、処理分配先決定手段が分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配手段と、処理分配先決定手段が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段と、出力手段が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段とを備え、処理分配先決定手段は、出力頻度に応じて分配先を決定することを特徴とする。
【００１８】
本発明による処理分担方法は、実行する処理に対する操作を受け付け、その処理を実行する受付処理実行手段を備えた端末装置が、その端末装置が受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測ステップと、端末装置が、入力頻度に応じて、受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、端末装置が、分配先に受付処理の実行を指示する処理分配ステップと、端末装置が、分配先をその端末装置に決定した場合、受付処理に対して行われた入力を、受付処理実行手段に付与し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配ステップと、端末装置が、分配先で実行された受付処理の結果である処理結果を出力する出力ステップとを含むことを特徴とする。
【００１９】
本発明による処理分担方法は、実行する処理に対する操作を受け付け、その処理を実行する受付処理実行手段を備えた端末装置が、その端末装置が受け付けた処理である受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、端末装置が、分配先に受付処理の実行を指示する処理分配ステップと、端末装置が、分配先をその端末装置に決定した場合、受付処理に対して行われた入力を、受付処理実行手段に付与し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配ステップと、端末装置が、分配先で実行された受付処理の結果である処理結果を出力する出力ステップと、出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップとを含み、処理分配先決定ステップで、端末装置が、出力頻度に応じて分配先を決定することを特徴とする。
【００２０】
本発明による端末処理分担方法は、実行する処理に対する操作を受け付け、その処理を実行する受付処理実行手段を備えた端末装置が、その端末装置が受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測ステップと、入力頻度に応じて、受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定ステップと、分配先に受付処理の実行を指示する処理分配ステップと、分配先をその端末装置に決定した場合、受付処理に対して行われた入力を、受付処理実行手段に付与し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配ステップと、分配先で実行された受付処理の結果である処理結果を出力する出力ステップとを含むことを特徴とする。
【００２１】
本発明による端末処理分担方法は、実行する処理に対する操作を受け付け、その処理を実行する受付処理実行手段を備えた端末装置が、その端末装置が受け付けた処理である受付処理を実行させる分配先を、その端末装置もしくはその端末装置の指示に従って処理を実行する処理装置のいずれに決定する処理分配先決定ステップと、分配先に受付処理の実行を指示する処理分配ステップと、分配先をその端末装置に決定した場合、受付処理に対して行われた入力を、受付処理実行手段に付与し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配ステップと、分配先で実行された受付処理の結果である処理結果を出力する出力ステップと、出力ステップで出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測ステップとを含み、処理分配先決定ステップで、出力頻度に応じて分配先を決定することを特徴とする。
【００２２】
本発明による処理分担プログラムは、実行する処理に対する操作を受け付け、その処理を実行するコンピュータに適用される処理分担プログラムであって、コンピュータに、そのコンピュータが受け付けた処理である受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測処理、入力頻度に応じて、受付処理を実行させる分配先を、そのコンピュータもしくはそのコンピュータの指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定処理、分配先に受付処理の実行を指示する処理分配処理、分配先をそのコンピュータに決定した場合、受付処理に対して行われた入力を用いて受付処理を実行し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配処理、および、分配先で実行された受付処理の結果である処理結果を出力する出力処理を実行させることを特徴とする。
【００２３】
本発明による処理分担プログラムは、実行する処理に対する操作を受け付け、その処理を実行するコンピュータに適用される処理分担プログラムであって、コンピュータに、そのコンピュータが受け付けた処理である受付処理を実行させる分配先を、そのコンピュータもしくはそのコンピュータの指示に従って処理を実行する処理装置のいずれかに決定する処理分配先決定処理、分配先に受付処理の実行を指示する処理分配処理、分配先をそのコンピュータに決定した場合、受付処理に対して行われた入力を用いて受付処理を実行し、分配先を処理装置に決定した場合、受付処理に対して行われた入力を処理装置に送信する入力分配処理、分配先で実行された受付処理の結果である処理結果を出力する出力処理、および、出力処理で出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測処理を実行させ、処理分配先決定処理で、出力頻度に応じて分配先を決定させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施形態における処理分担システムの例を示すブロック図である。
【図２】第１の実施形態における動作の例を示すフローチャートである。
【図３】第２の実施形態における処理分担システムの例を示すブロック図である。
【図４】第２の実施形態における動作の例を示すフローチャートである。
【図５】第３の実施形態における処理分担システムの例を示すブロック図である。
【図６】第３の実施形態における動作の例を示すフローチャートである。
【図７】第４の実施形態における処理分担システムの例を示すブロック図である。
【図８】第４の実施形態における動作の例を示すフローチャートである。
【図９】第５の実施形態における処理分担システムの例を示すブロック図である。
【図１０】第５の実施形態における動作の例を示すフローチャートである。
【図１１】本発明の実施例における処理分担システムの例を示すブロック図である。
【図１２】処理管理テーブルに記憶された情報の例を示す説明図である
【図１３】本発明における処理分担システムの最小構成を示すブロック図である。
【図１４】本発明における処理分担システムの他の最小構成を示すブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面を参照して説明する。
【００２７】
実施形態１．
図１は、本発明の第１の実施形態における処理分担システムの例を示すブロック図である。本実施形態における処理分担システムは、端末１００ａとサーバ１２０とを備えている。サーバ１２０は通信網１５０を介して端末１００ａに接続される。通信網１５０は、例えば、ＬＡＮ（Local Area Network）や公衆回線網等により実現されるが、通信網１５０は、ＬＡＮや公衆回線網に限定されない。また、図１に示す例では、サーバ１２０を１台記載しているが、サーバ１２０は１台に限定されず、複数台存在してもよい。
【００２８】
端末１００ａは、本発明における処理分担システムで実行される処理を受け付け、また、その処理に対する操作を受け付ける装置である。例えば、利用者は、端末１００ａを直接操作する。端末１００ａは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力手段１０４と、入力分配手段１０５と、出力選択手段１０６と、出力手段１０７と、入力頻度計測手段１０８と、処理分配先決定手段１１０ａとを備えている。
【００２９】
処理受付手段１０１は、本処理分担システムで実行される処理を受け付ける。処理受付手段１０１が受け付ける処理は、端末１００ａ内部から実行指示を受けた処理であってもよく、また、外部から実行指示を受けた処理であってもよい。以下の説明では、処理受付手段１０１が受け付けた処理を受付処理と記す。
【００３０】
また、処理受付手段１０１は、受付処理を管理するための記憶部（図示せず。以下、処理管理記憶部と記す。）に、その受付処理を記憶させてもよい。例えば、処理受付手段１０１は、処理を受け付けた時に、その処理を識別する識別子(以下、処理識別子と記す。）を処理管理記憶部に記憶させてもよい。
【００３１】
処理分配手段１０２は、処理受付手段１０１が受け付けた処理（受付処理）を、後述する処理分配先決定手段１１０ａの決定に応じて、処理実行手段１０３または処理実行手段１２３に通知して実行させる。また、処理分配手段１０２は、その受付処理が処理実行手段１０３と処理実行手段１２３のどちらに分配されたかを、入力分配手段１０５および出力選択手段１０６に、その処理の分配先（以下、処理分配先と記す。）として通知する。
【００３２】
処理実行手段１０３は、処理分配手段１０２から通知された受付処理を実行する。更に、処理実行手段１０３は、入力分配手段１０５から付与された入力をその受付処理への入力とし、その処理を実行したときの出力を出力選択手段１０６に通知する。
【００３３】
入力手段１０４は、利用者が受付処理に対して行った入力操作や入力データを受け付ける。すなわち、入力手段１０４は、受付処理に対するこれらの入力を受け付ける。入力手段１０４は、例えば、キーボードやテンキーなどの入力装置によって実現されるが、入力手段１０４の態様は、キーボードやテンキーなどに限定されない。
【００３４】
入力分配手段１０５は、入力手段１０４が受け付けた入力を処理分配手段１０２から通知された受付処理の処理分配先に応じて、処理実行手段１０３または処理実行手段１２３に分配する。すなわち、処理分配先が処理実行手段１０３に決定した場合、受付処理に対して行われた入力データを処理実行手段１０３に付与し、処理分配先が処理実行手段１２３に決定した場合、受付処理に対して行われた入力データをサーバ１２０に送信する。
【００３５】
出力選択手段１０６は、処理分配手段１０２から通知された受付処理の処理分配先に応じて、処理実行手段１０３または処理実行手段１２３からの処理結果を受け取り、その処理結果を出力手段１０７に出力させる。例えば、出力選択手段１０６は、処理実行手段１０３または処理実行手段１２３からの処理結果をもとに、出力があるか否かを判断し、出力がある場合には、出力手段１０７にその処理結果を出力させる。
【００３６】
出力手段１０７は、出力選択手段１０６が処理分配先から受け取った処理結果を出力する出力装置である。出力手段１０７は、例えば、ディスプレイやプリンタなどによって実現されるが、出力手段１０７の態様は、ディスプレイやプリンタなどに限定されない。例えば、利用者は、ディスプレイに表示される処理結果（データ）や、プリンタから出力される処理結果を確認することができる。
【００３７】
入力頻度計測手段１０８は、受付処理に対して入力手段１０４が受け付けた入力の発生頻度（以下、入力頻度と記す。）を計測し、その計測結果（入力頻度）を受付処理と関連付けて処理分配先決定手段１１０ａに通知する。入力頻度計測手段１０８は、例えば、予め定められた期間内に入力手段１０４が受付処理に対するデータ入力を受け付けたか判断して、計測結果としてもよい。例えば、入力頻度計測手段１０８は、入力手段１０４が予め定められた期間内にデータ入力を受け付けた場合、受付処理に関連付けられた入力頻度が示す値を増加させてもよい。もしくは、入力頻度計測手段１０８は、予め定められた期間内にデータ入力がなかった場合に、受付処理に関連付けられた入力頻度が示す値を減少させてもよい。
【００３８】
また、端末１００ａが処理管理記憶部を備えている場合であれば、入力頻度計測手段１０８は、受付処理を示す処理識別子と計測した入力頻度とを対応付けて処理管理記憶部に記憶させてもよい。
【００３９】
処理分配先決定手段１１０ａは、受付処理に関連付けられた計測結果を入力頻度計測手段１０８から通知されると、その計測結果に応じて、処理実行手段１０３と、処理実行手段１２３のどちらで受付処理を実行させるか決定する。入力頻度が高い場合、通信網１５０を介してサーバ１２０の処理実行手段１２３に受付処理を実行させるよりは、通信網１５０を介さずに端末１００ａの処理実行手段１０３に受付処理を実行させた方が、受付処理を伝送することによる遅延を抑制することができる。そのため、例えば、処理分配先決定手段１１０ａは、入力頻度が予め定められた閾値よりも高い場合に、処理実行手段１０３に実行させると決定し、入力頻度がその閾値よりも低い場合に、処理実行手段１２３に実行させると決定してもよい。
【００４０】
また、端末１００ａが処理管理記憶部を備えている場合であれば、処理分配先決定手段１１０ａは、受付処理を実行させる処理分配先とその受付処理を示す処理識別子とを対応付けて処理管理記憶部に記憶させてもよい。
【００４１】
サーバ１２０は、処理実行手段１２３を備えている。処理実行手段１２３は、処理分配手段１０２から通知された受付処理を実行する。更に、処理実行手段１２３は、入力分配手段１０５からの入力データをその受付処理への入力とし、その処理を実行したときの出力を出力選択手段１０６に通知する。
【００４２】
なお、端末１００ａがサーバ１２０に受付処理を依頼する場合、端末１００ａは、受付処理と、その受付処理に対する処理識別子とを合わせて送信し、その後、処理が完了したことを示す情報（以下、完了情報と記す。）と処理識別子とを受信したときに、受付処理を完了するとしてもよい。具体的には、処理分配手段１０２は、受付処理とその受付処理を識別する処理識別子とをサーバ１２０に送信して受付の実行を指示する。また、入力分配手段１０５は、受付処理に対する入力データと、その受付処理の処理識別子とをサーバ１２０に送信する。処理実行手段１２３は、その入力を処理識別子が示す受付処理に使用して受付処理を実行する。また、処理実行手段１２３は、受付処理に対する処理結果と処理識別子とを端末１００ａに送信する。また、処理実行手段１２３は、受付処理が完了したときに完了情報と処理識別子とを端末１００ａに送信する。端末１００ａが完了情報を受信したときに、処理受付手段１０１は、受付処理を完了する。
【００４３】
処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、処理分配先決定手段１１０ａとは、例えば、プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末１００ａが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、入力頻度計測手段１０８及び処理分配先決定手段１１０ａとして動作してもよい。
【００４４】
次に、動作について説明する。図２は、第１の実施形態における動作の例を示すフローチャートである。まず、端末１００ａの処理受付手段１０１は、本発明における処理分担システムで実行する処理の入力を受け付ける（ステップＳａ１）。次に、処理分配先決定手段１１０ａは、入力頻度計測手段１０８から、受付処理に関連付けられた計測結果を通知されると、その計測結果を評価する。すなわち、処理分配先決定手段１１０ａは、入力頻度が予め定められた閾値Ａよりも低いか否か判断する（ステップＳａ２）。処理分配先決定手段１１０ａは、入力頻度があらかじめ決められた閾値Ａよりも高いと判断した場合（ステップＳａ２におけるＹＥＳ）、処理分配手段１０２は、受付処理を端末１００ａ内の処理実行手段１０３に分配し、処理実行手段１０３はその受付処理を実行する（ステップＳａ３）。一方、処理分配先決定手段１１０ａが、入力頻度が閾値Ａよりも低いと判断した場合（ステップＳａ２におけるＮＯ）、処理分配手段１０２は、受付処理をサーバ１２０内の処理実行手段１２３に分配する（ステップＳａ４）。具体的には、処理分配手段１０２は、受付処理をサーバ１２０へ送信する。サーバ１２０が受付処理を受信すると、処理実行手段１２３はその受付処理を実行する。
【００４５】
一方で、入力頻度計測手段１０８及び入力分配手段１０５は、入力手段１０４が受付処理に対するデータ入力を受け付けたか否か判断する（ステップＳａ５）。入力手段１０４がデータ入力を受け付けていない場合（ステップＳａ５におけるＮＯ）、入力頻度計測手段１０８は、受付処理に関連付けられた計測結果（入力頻度）を低下（減少）させる（ステップＳａ６）。
【００４６】
入力手段１０４がデータ入力を受け付けた場合（ステップＳａ５におけるＹＥＳ）、入力分配手段１０５は、その入力データを処理分配先に転送（送信）する（ステップＳａ７）。具体的には、入力分配手段１０５は、処理分配先が処理実行手段１０３の場合、その入力データを処理実行手段１０３に付与し、処理分配先が処理実行手段１２３の場合、その入力データをサーバ１２０に送信する。また、入力頻度計測手段１０８は、受付処理に関連付けられた計測結果を上昇させる（ステップＳａ８）。
【００４７】
出力選択手段１０６は、処理実行手段１０３または処理実行手段１２３からの処理結果を受け取り（ステップＳａ９）、出力があるか否かを判断する（ステップＳａ１０）。出力選択手段１０６は、出力がないと判断した場合（ステップＳａ１０におけるＮＯ）には何もせず、出力があると判断した場合（ステップＳａ１０におけるＹＥＳ）、処理実行手段１０３または処理実行手段１２３からの処理結果を出力手段１０７に出力させる（ステップＳａ１１）。処理受付手段１０１は、処理が完了したか否かを判断する（ステップＳａ１２）。処理が完了していない場合には、ステップＳａ１からステップＳａ１１までの処理を繰り返し（ステップＳａ１２におけるＮＯ）、処理受付手段１０１が処理が完了したと判断したときに（ステップＳａ１２におけるＹＥＳ）処理を終了する。
【００４８】
本発明によれば、処理受付手段１０１が受け付けた受付処理に対し、入力頻度計測手段１０８がその受付処理に対する入力頻度を計測する。そして、処理分配先決定手段１１０ａが、その入力頻度に応じて処理実行手段１０３もしくは処理実行手段１２３に処理分配先を決定し、処理分配手段１０２が、その処理分配先に受付処理を実行させる。また、入力分配手段１０５は、処理分配先を処理実行手段１０３に決定した場合、その入力データを処理実行手段１０３に付与し、処理分配先を処理実行手段１２３に決定した場合、その入力データをサーバ１２０に送信する。そして、出力選択手段１０６が、処理分配先で実行された受付処理の処理結果を出力手段１０７に出力させる。よって、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる。
【００４９】
すなわち、入力頻度計測手段１０８が、処理受付手段１０１が受け付けた受付処理に対する入力手段１０４を介した入力の頻度を計測し、処理分配手段１０２が、その頻度に応じて決定した処理分配先（すなわち、処理実行手段１０３または処理実行手段１２３）を選択する。そのため、入力頻度が高い場合には処理実行手段１０３で実行して入力の遅延を小さく抑え、入力頻度が低い場合に処理実行手段１２３で実行して端末１００ａの負荷を下げることができる。
【００５０】
実施形態２．
図３は、本発明の第２の実施形態における処理分担システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態における処理分担システムは、端末１００ｂとサーバ１２０とを備え、サーバ１２０は通信網１５０を介して端末１００ｂに接続される。また、サーバ１２０は、処理実行手段１２３を備えている。
【００５１】
端末１００ｂは、本発明における処理分担システムで実行される処理を受け付け、また、その処理に対する操作を受け付ける装置である。例えば、利用者は、端末１００ｂを直接操作する。端末１００ｂは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力手段１０４と、入力分配手段１０５と、出力選択手段１０６と、出力手段１０７と、出力頻度計測手段１０９と、処理分配先決定手段１１０ｂとを備えている。
【００５２】
出力頻度計測手段１０９は、受付処理に対して出力手段１０７が行った出力の発生頻度（以下、出力頻度と記す。）を計測し、その計測結果（出力頻度）を受付処理と関連付けて処理分配先決定手段１１０ｂに通知する。出力頻度計測手段１０９は、例えば、予め定められた期間内に出力手段１０７が受付処理に対する出力を行ったか判断して、計測結果としてもよい。例えば、出力頻度計測手段１０９は、出力手段１０７が予め定められた期間内に出力を行った場合、受付処理に関連付けられた出力頻度が示す値を増加させてもよい。もしくは、出力頻度計測手段１０９は、予め定められた期間内に出力がなかった場合に、受付処理に関連付けられた出力頻度が示す値を減少させてもよい。
【００５３】
処理分配先決定手段１１０ｂは、受付処理に関連付けられた計測結果を出力頻度計測手段１０９から通知されると、その計測結果に応じて、処理実行手段１０３と、処理実行手段１２３のどちらで受付処理を実行させるか決定する。出力頻度が高い場合、通信網１５０を介してサーバ１２０の処理実行手段１２３の処理結果を端末１００ｂに送信させるよりは、通信網１５０を介さずに端末１００ｂの処理実行手段１０３に処理結果を出力させた方が、処理結果を伝送することによる遅延を抑制することができる。そのため、例えば、処理分配先決定手段１１０ｂは、出力頻度が予め定められた閾値よりも高い場合に、処理実行手段１０３に実行させると決定し、出力頻度がその閾値よりも低い場合に、処理実行手段１２３に実行させると決定してもよい。
【００５４】
その他の構成要素の機能は第１の実施形態と同様であるため、説明を省略する。
【００５５】
処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、出力頻度計測手段１０９と、処理分配先決定手段１１０ｂとは、例えば、プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末１００ｂが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、出力頻度計測手段１０９及び処理分配先決定手段１１０ｂとして動作してもよい。
【００５６】
次に、動作について説明する。図４は、第２の実施形態における動作の例を示すフローチャートである。まず、端末１００ｂの処理受付手段１０１は、本発明における処理分担システムで実行する処理の入力を受け付ける（ステップＳｂ１）。次に、処理分配先決定手段１１０ｂは、出力頻度計測手段１０９から、受付処理に関連付けられた計測結果を通知されると、その計測結果を評価する。すなわち、処理分配先決定手段１１０ｂは、出力頻度が予め定められた閾値Ｂよりも低いか否か判断する（ステップＳｂ２）。処理分配先決定手段１１０ｂは、出力頻度があらかじめ決められた閾値Ｂよりも高いと判断した場合（ステップＳｂ２におけるＹＥＳ）、処理分配手段１０２は、受付処理を端末１００ｂ内の処理実行手段１０３に分配し、処理実行手段１０３はその受付処理を実行する（ステップＳｂ３）。一方、処理分配先決定手段１１０ｂが、出力頻度が閾値Ｂよりも低いと判断した場合（ステップＳｂ２におけるＮＯ）、処理分配手段１０２は、受付処理をサーバ１２０内の処理実行手段１２３に分配する（ステップＳｂ４）。具体的には、処理分配手段１０２は、受付処理をサーバ１２０へ送信する。サーバ１２０が受付処理を受信すると、処理実行手段１２３はその受付処理を実行する。
【００５７】
一方で、入力分配手段１０５は、入力手段１０４が受付処理に対するデータ入力を受け付けたか否か判断する（ステップＳｂ５）。入力分配手段１０５は、入力手段１０４がデータ入力を受け付けていない場合（ステップＳｂ５におけるＮＯ）には何もせず、入力手段１０４がデータ入力を受け付けた場合（ステップＳｂ５におけるＹＥＳ）、その入力データを処理分配先に転送（送信）（ステップＳｂ６）する。具体的には、入力分配手段１０５は、処理分配先が処理実行手段１０３の場合、その入力データを処理実行手段１０３に付与し、処理分配先が処理実行手段１２３の場合、その入力データをサーバ１２０に送信する。
【００５８】
出力選択手段１０６が処理実行手段１０３または処理実行手段１２３からの処理結果を受け取ると（ステップＳｂ７）、出力選択手段１０６及び出力頻度計測手段１０９は、出力があるか否かを判断する（ステップＳｂ８）。出力がないと判断した場合（ステップＳｂ８におけるＮＯ）、出力頻度計測手段１０９は、受付処理に関連付けられた計測結果（出力頻度）を低下（減少）させる（ステップＳｂ９）。
【００５９】
出力があると判断した場合（ステップＳｂ８におけるＹＥＳ）、出力選択手段１０６は、処理実行手段１０３または処理実行手段１２３からの処理結果を出力手段１０７に出力させる（ステップＳｂ１０）。また、出力頻度計測手段１０９は、受付処理に関連付けられた計測結果を上昇させる（ステップＳｂ１１）。処理受付手段１０１は、処理が完了したか否かを判断する（ステップＳｂ１２）。処理が完了していない場合には、ステップＳｂ１からステップＳｂ１１までの処理を繰り返し（ステップＳｂ１２におけるＮＯ）、処理受付手段１０１が、処理が完了したと判断したときに（ステップＳｂ１２におけるＹＥＳ）処理を終了する。
【００６０】
本発明によれば、処理受付手段１０１が受け付けた受付処理に対し、出力頻度計測手段１０９がその受付処理に対する出力頻度を計測する。そして、処理分配先決定手段１１０ｂが、その出力頻度に応じて処理実行手段１０３もしくは処理実行手段１２３に処理分配先を決定し、処理分配手段１０２が、その処理分配先に受付処理を実行させる。また、入力分配手段１０５は、処理分配先を処理実行手段１０３に決定した場合、その入力データを処理実行手段１０３に付与し、処理分配先を処理実行手段１２３に決定した場合、その入力データをサーバ１２０に送信する。そして、出力選択手段１０６が、処理分配先で実行された受付処理の処理結果を出力手段１０７に出力させる。よって、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる。
【００６１】
すなわち、出力頻度計測手段１０９が、処理受付手段１０１が受け付けた受付処理に対する出力の頻度を計測し、処理分配手段１０２が、その頻度に応じて、処理分配先（すなわち、処理実行手段１０３または処理実行手段１２３）を選択する。そのため、出力頻度が高い場合には処理実行手段１０３で実行して出力の遅延を小さく抑え、出力頻度が低い場合に処理実行手段１２３で実行して端末１００ｂの負荷を下げることができる。
【００６２】
実施形態３．
図５は、本発明の第３の実施形態における処理分担システムの例を示すブロック図である。なお、第１の実施形態及び第２の実施形態と同様の構成については、図１及び図３と同一の符号を付し、説明を省略する。本実施形態における処理分担システムは、端末１００ｃとサーバ１２０とを備え、サーバ１２０は通信網１５０を介して端末１００ｃに接続される。また、サーバ１２０は、処理実行手段１２３を備えている。
【００６３】
端末１００ｃは、本発明における処理分担システムで実行される処理を受け付け、また、その処理に対する操作を受け付ける装置である。例えば、利用者は、端末１００ｃを直接操作する。端末１００ｃは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力手段１０４と、入力分配手段１０５と、出力選択手段１０６と、出力手段１０７と、入力頻度計測手段１０８と、出力頻度計測手段１０９と、処理分配先決定手段１１０ｃとを備えている。すなわち、第３の実施形態における処理分担システムは、第１の実施形態における処理分担システムに加え、出力頻度計測手段１０９を備えている点で異なる。
【００６４】
処理分配先決定手段１１０ｃは、受付処理に関連付けられた計測結果を入力頻度計測手段１０８及び出力頻度計測手段１０９から通知されると、その計測結果に応じて、受付処理を処理実行手段１０３と、処理実行手段１２３のどちらで実行させるか決定する。第１の実施形態及び第２の実施形態で記載したように、入力頻度が高い場合、通信網１５０を介してサーバ１２０の処理実行手段１２３に受付処理を実行させるよりは、通信網１５０を介さずに端末１００ｃの処理実行手段１０３に受付処理を実行させた方が、受付処理を伝送することによる遅延を抑制することができる。また、出力頻度が高い場合、通信網１５０を介してサーバ１２０の処理実行手段１２３の処理結果を端末１００ｃに送信させるよりは、通信網１５０を介さずに端末１００ｃの処理実行手段１０３に処理結果を出力させた方が、処理結果を伝送することによる遅延を抑制することができる。そのため、例えば、処理分配先決定手段１１０ｃは、入力頻度及び出力頻度が予め定められた閾値よりも高い場合に、処理実行手段１０３に実行させると決定し、入力頻度及び出力頻度がその閾値よりも低い場合に、処理実行手段１２３に実行させると決定してもよい。
【００６５】
なお、入力頻度と比較する閾値と、出力頻度と比較する閾値とは、同一の値であってもよく、別々の値であってもよい。また、一方の頻度が閾値よりも高く、他方の頻度が閾値よりも低い場合には、どちらの比較結果を適用するか予め定めてもよい。なお、処理分配先決定手段１１０ｃがどちらの処理分配先に実行させるか決定する方法は、上記方法に限定されない。
【００６６】
その他の構成要素の機能は第１の実施形態及び第２の実施形態と同様であるため、説明を省略する。
【００６７】
処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、出力頻度計測手段１０９と、処理分配先決定手段１１０ｃとは、例えば、プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末１００ｃが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、入力頻度計測手段１０８、出力頻度計測手段１０９及び処理分配先決定手段１１０ｃとして動作してもよい。
【００６８】
次に、動作について説明する。以下の説明では、入力頻度と比較する閾値と出力頻度と比較する閾値とが同一の値（閾値Ｃ）の場合について説明する。また、処理分配先決定手段１１０ｃは、入力頻度及び出力頻度（以下、併せて入出力頻度と記す。）が、閾値Ｃよりも高いと判断した場合に、受付処理を処理実行手段１０３に実行させると決定し、入出力頻度が、閾値Ｃよりも低いと判断した場合に、受付処理を処理実行手段１２３に実行させると決定する場合について説明する。
【００６９】
図６は、第３の実施形態における動作の例を示すフローチャートである。まず、端末１００ｃの処理受付手段１０１は、本発明における処理分担システムで実行する処理の入力を受け付ける（ステップＳｃ１）。次に、処理分配先決定手段１１０ｃは、入力頻度計測手段１０８及び出力頻度計測手段１０９から、受付処理に関連付けられた計測結果を通知されると、その計測結果を評価する。すなわち、処理分配先決定手段１１０ｃは、入出力頻度が予め定められた閾値Ｃよりも低いか否か判断する（ステップＳｃ２）。処理分配先決定手段１１０ｃは、入出力頻度があらかじめ決められた閾値Ｃよりも高いと判断した場合（ステップＳｃ２におけるＹＥＳ）、処理分配手段１０２は、受付処理を端末１００ｃ内の処理実行手段１０３に分配し、処理実行手段１０３はその受付処理を実行する（ステップＳｃ３）。一方、処理分配先決定手段１１０ｃが、入出力頻度が閾値Ｃよりも低いと判断した場合（ステップＳｃ２におけるＮＯ）、処理分配手段１０２は、受付処理をサーバ１２０内の処理実行手段１２３に分配する（ステップＳｃ４）。具体的には、処理分配手段１０２は、受付処理をサーバ１２０へ送信する。サーバ１２０が受付処理を受信すると、処理実行手段１２３はその受付処理を実行する。
【００７０】
一方で、入力頻度計測手段１０８及び入力分配手段１０５は、入力手段１０４が受付処理に対するデータ入力を受け付けたか否か判断する（ステップＳｃ５）。入力手段１０４がデータ入力を受け付けていない場合（ステップＳｃ５におけるＮＯ）、入力頻度計測手段１０８は、受付処理に関連付けられた計測結果（入力頻度）を低下（減少）させる（ステップＳｃ６）。
【００７１】
入力手段１０４がデータ入力を受け付けた場合（ステップＳｃ５におけるＹＥＳ）、入力分配手段１０５は、その入力データを処理分配先に転送（送信）する（ステップＳｃ７）。具体的には、入力分配手段１０５は、処理分配先が処理実行手段１０３の場合、その入力データを処理実行手段１０３に付与し、処理分配先が処理実行手段１２３の場合、その入力データをサーバ１２０に送信する。また、入力頻度計測手段１０８は、受付処理に関連付けられた計測結果を上昇させる（ステップＳｃ８）。
【００７２】
出力選択手段１０６が処理実行手段１０３または処理実行手段１２３からの処理結果を受け取ると（ステップＳｃ９）、出力選択手段１０６及び出力頻度計測手段１０９は、出力があるか否かを判断する（ステップＳｃ１０）。出力がないと判断した場合（ステップＳｃ１０におけるＮＯ）、出力頻度計測手段１０９は、受付処理に関連付けられた計測結果（出力頻度）を低下（減少）させる（ステップＳｃ１１）。出力があると判断した場合（ステップＳｃ１０におけるＹＥＳ）、出力選択手段１０６は、処理実行手段１０３または処理実行手段１２３からの処理結果を出力手段１０７に出力させる（ステップＳｃ１２）。また、出力頻度計測手段１０９は、受付処理に関連付けられた計測結果を上昇させる（ステップＳｃ１３）。
【００７３】
処理受付手段１０１は、処理が完了したか否かを判断する（ステップＳｃ１４）。処理が完了していない場合には、ステップＳｃ１からステップＳｃ１３までの処理を繰り返し（ステップＳｃ１４におけるＮＯ）、処理受付手段１０１が、処理が完了したと判断したときに（ステップＳｃ１４におけるＹＥＳ）処理を終了する。
【００７４】
本発明によれば、第１の実施形態に加え、処理受付手段１０１が受け付けた受付処理に対し、出力頻度計測手段１０９がその受付処理に対する出力頻度を計測する。そして、処理分配先決定手段１１０ｃが、入力頻度に加え、その出力頻度に応じて処理実行手段１０３もしくは処理実行手段１２３に処理分配先を決定する。よって、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度を向上させることができる。
【００７５】
すなわち、入力頻度計測手段１０８が、処理受付手段１０１が受け付けた受付処理に対する入力手段１０４を介した入力の頻度を計測し、また、出力頻度計測手段１０９が、処理受付手段１０１が受け付けた受付処理に対する出力の頻度を計測する。そして、処理分配手段１０２が、その頻度に応じて、処理分配先（すなわち、処理実行手段１０３または処理実行手段１２３）を選択する。そのため、入力頻度又は出力頻度が高い場合には処理実行手段１０３で実行して入出力の遅延を小さく抑え、入力頻度又は出力頻度が低い場合に処理実行手段１２３で実行して端末１００ｃの負荷を下げることができる。
【００７６】
実施形態４．
図７は、本発明の第４の実施形態における処理分担システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態における処理分担システムは、端末１００ｄとサーバ１２０とを備え、サーバ１２０は通信網１５０を介して端末１００ｄに接続される。また、サーバ１２０は、処理実行手段１２３を備えている。
【００７７】
端末１００ｄは、本発明における処理分担システムで実行される処理を受け付け、また、その処理に対する操作を受け付ける装置である。例えば、利用者は、端末１００ｄを直接操作する。端末１００ｄは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力手段１０４と、入力分配手段１０５と、出力選択手段１０６と、出力手段１０７と、入力頻度計測手段１０８と、処理分配先決定手段１１０ｄと、負荷計測手段１１１とを備えている。すなわち、第４の実施形態における処理分担システムは、第１の実施形態における処理分担システムに加え、負荷計測手段１１１を備えている点で異なる。
【００７８】
負荷計測手段１１１は、端末１００ｄの負荷状況を計測し、処理分配先決定手段１１０ｄに通知する。負荷計測手段１１１は、例えば、端末１００ｄのＣＰＵの使用率やページファイル（メモリ）使用量などの値を計測するが、負荷計測手段１１１が計測する値は、上記内容に限定されない。
【００７９】
処理分配先決定手段１１０ｄは、入力頻度計測手段１０８が通知する受付処理に関連付けられた計測結果と、負荷計測手段１１１が通知する端末１００ｄの負荷状況とに応じて、処理実行手段１０３と処理実行手段１２３のどちらで受付処理を実行させるか決定する。例えば、端末１００ｄの負荷が高い場合、以後の処理を端末１００ｄで実行するよりも、サーバ１２０で実行した方が、端末１００ｄの処理負荷を軽減させることができ、さらに、その処理負荷軽減に伴って発生する入出力遅延を抑制することができる。よって、例えば、端末１００ｄの負荷が高い場合、処理分配先決定手段１１０ｄは、処理実行手段１２３に処理を行わせるよう、入力頻度を低く補正してもよい。もしくは、端末１００ｄの負荷が低い場合、処理分配先決定手段１１０ｄは、処理実行手段１０３に処理を行わせるよう、入力頻度を高く補正してもよい。なお、端末１００ｄの負荷が高いか否かは、予め負荷状況の閾値を定め、その閾値を超えた時に負荷が高いと判断してもよいが、負荷の高いか否かを判断する方法は、閾値を使用する場合に限定されない。
【００８０】
その他の構成要素の機能は第１の実施形態と同様であるため、説明を省略する。
【００８１】
処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、処理分配先決定手段１１０ｄと、負荷計測手段１１１とは、例えば、プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末１００ｄが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、入力頻度計測手段１０８、処理分配先決定手段１１０ｄ及び負荷計測手段１１１として動作してもよい。
【００８２】
次に、動作について説明する。図８は、第４の実施形態における動作の例を示すフローチャートである。第４の実施形態の動作は、第１の実施形態の動作と共通点が多いため、異なる点を中心に記述する。すなわち、第１の実施形態と同様の動作については、図２と同一の符号を付し、説明を省略する。
【００８３】
まず、端末１００ｄの処理受付手段１０１は、本発明における処理分担システムで実行する処理の入力を受け付ける（ステップＳａ１）。次に、処理分配先決定手段１１０ｄは、入力頻度計測手段１０８から、処理に関連付けられた計測結果を通知されると、その計測結果を評価する。このとき、処理分配先決定手段１１０ｄは、負荷計測手段１１１が計測した端末の負荷状況をもとに、入力頻度を補正する。例えば、処理分配先決定手段１１０ｄは、負荷があらかじめ決められた閾値Ｄよりも高い場合には入力頻度を低く補正し、負荷が閾値Ｄよりも低い場合には入力頻度を高く補正する（ステップＳｄ１）。ステップＳｄ１で補正された入力頻度をもとに、処理分配先決定手段１１０ｄは、入力頻度が予め定められた閾値Ａよりも低いか否か判断する（ステップＳａ２）。以降の処理（すなわち、ステップＳａ２〜Ｓａ１２）は、第１の実施形態と同様のため、説明を省略する。
【００８４】
なお、第４の実施形態における処理分担システムは、第１の実施形態における処理分担システムに負荷計測手段１１１を含む場合について説明した。他にも、負荷計測手段１１１は、第２の実施形態又は第３の実施形態における処理分担システムに含まれていてもよい。この場合、処理分配先決定手段１１０ｂ及び処理分配先決定手段１１０ｃは、負荷計測手段１１１が通知する端末１００ｄの負荷状況に基づいて、出力頻度又は入出力頻度を補正すればよい。
【００８５】
具体的には、処理分配先決定手段１１０ｂは、図４に示すステップＳｂ２の前に、出力頻度を補正すればよく、処理分配先決定手段１１０ｃは、図６に示すステップＳｃ２の前に、入出力頻度を補正すればよい。また、処理分配先決定手段１１０ｂ及び処理分配先決定手段１１０ｃが補正する方法は、処理分配先決定手段１１０ａが補正する方法と同一であってもよく、異なる方法であってもよい。
【００８６】
本発明によれば、第１の実施形態に加え、負荷計測手段１１１が、端末１００ｄの負荷状況を計測し、処理分配先決定手段１１０ｄが、その負荷状況に応じて分配先を決定する。よって、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度をさらに向上させることができる。
【００８７】
すなわち、第１の実施形態に加え、負荷計測手段１１１が端末の負荷を計測するため、処理分配先決定手段１１０ｄは、入力の頻度だけでなく端末１００ｄの負荷を処理分配先決定の要素として考慮に入れることができる。そのため、端末１００ｄの負荷が低い場合には入力頻度が低くても処理実行手段１０３で実行して入力の遅延を更に小さくすることができ、端末１００ｄの負荷が高い場合には入力頻度が高くても処理実行手段１２３で実行して端末１００ｄの負荷を下げることができる。
【００８８】
実施形態５．
図９は、本発明の第５の実施形態における処理分担システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態における処理分担システムは、端末１００ｅとサーバ１２０ｅとを備え、サーバ１２０ｅは通信網１５０を介して端末１００ｅに接続される。
【００８９】
端末１００ｅは、本発明における処理分担システムで実行される処理を受け付け、また、その処理に対する操作を受け付ける装置である。例えば、利用者は、端末１００ｅを直接操作する。端末１００ｅは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力手段１０４と、入力分配手段１０５と、出力選択手段１０６と、出力手段１０７と、入力頻度計測手段１０８と、処理分配先決定手段１１０ｅと、通信遅延計測手段１１２とを備えている。また、サーバ１２０ｅは、通信遅延計測手段１１２’と、処理実行手段１２３とを備えている。すなわち、第５の実施形態における処理分担システムは、第１の実施形態における処理分担システムに加え、通信遅延計測手段１１２，１１２’を備えている点で異なる。
【００９０】
通信遅延計測手段１１２は、端末１００ｅおよびサーバ１２０ｅ間の通信遅延を計測し、その計測結果を処理分配先決定手段１１０ｅに通知する。例えば、端末１００ｅの通信遅延計測手段１１２が、サーバ１２０ｅへ通信遅延計測のメッセージを送信する。サーバ１２０ｅは、通信遅延計測のメッセージを受信すると、受信完了を示すＡＣＫ信号を通信遅延計測手段１１２に送り返す。通信遅延計測手段１１２は、サーバ１２０ｅからＡＣＫ信号を受信すると、通信遅延計測手段１１２が通信遅延計測のメッセージを送信した時刻からＡＣＫ信号を受信した時刻までの時間を算出し、通信遅延の計測の結果とする。
【００９１】
通信遅延計測手段１１２は、定期的に通信遅延計測のメッセージを送信して、通信遅延の計測を行ってもよい。もしくは、通信遅延計測手段１１２は、処理実行手段１０３と処理実行手段１２３のどちらで受付処理を実行させるか判断する処理の中で通信遅延の計測を行ってもよいが、通信遅延の計測タイミングは、上記タイミングに限定されない。
【００９２】
通信遅延の測定頻度は、実行する受付処理の頻度等に応じて決定すればよい。例えば、通信遅延の計測を頻繁に行うことにより、リアルタイムに変化する通信遅延に追随した処理分配先の決定が可能になるため、処理の分配が理想的なものに近づくというメリットがある。なお、測定の頻度が多すぎる場合、端末の負荷や通信の負荷に影響が出る場合があるため、実行する処理等に応じて通信遅延の測定頻度を決定することが望ましい。
【００９３】
処理分配先決定手段１１０ｅは、入力頻度計測手段１０８が通知する受付処理に関連付けられた計測結果と通信遅延計測手段１１２の計測結果とに応じて、処理実行手段１０３と処理実行手段１２３のどちらで受付処理を実行させるか決定する。例えば、通信遅延が大きい場合、以後の処理をサーバ１２０ｅで実行すると、入出力遅延が大きくなってしまう。そのため、通信遅延が大きい場合には端末１００ｅで受付処理を実行した方が、入出力遅延を抑制することができる。よって、例えば、通信遅延が大きい場合、処理分配先決定手段１１０ｅは、処理実行手段１０３に処理を行わせるよう、入力頻度を高く補正してもよい。もしくは、通信遅延が小さい場合、処理分配先決定手段１１０ｅは、処理実行手段１２３に処理を行わせるよう、入力頻度を低く補正してもよい。なお、通信遅延が大きいか否かは、予め通信遅延を示す値の閾値を定め、その閾値を超えた時に通信遅延が大きいと判断してもよいが、通信遅延が大きいか否かを判断する方法は、閾値を使用する場合に限定されない。
【００９４】
端末１００ｅのその他の構成は第１の実施形態と同様であるため、説明を省略する。
【００９５】
処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、処理分配先決定手段１１０ｅと、通信遅延計測手段１１２とは、例えば、プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末１００ｅが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、入力頻度計測手段１０８、処理分配先決定手段１１０ｅ及び通信遅延計測手段１１２として動作してもよい。
【００９６】
サーバ１２０ｅの通信遅延計測手段１１２’は、端末１００ｅの通信遅延計測手段１１２から通知されるメッセージに対する応答信号を通信遅延計測手段１１２に返信する。例えば、通信遅延計測手段１１２’は、通信遅延計測のメッセージを通信遅延計測手段１１２から受信すると、受信完了を示すＡＣＫ信号を通信遅延計測手段１１２に返信する。
【００９７】
通信遅延計測手段１１２’と、処理実行手段１２３とは、例えば、プログラム（処理装置プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、サーバ１２０ｅが備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、通信遅延計測手段１１２’及び処理実行手段１２３として動作してもよい。
【００９８】
次に、動作について説明する。図１０は、第５の実施形態における動作の例を示すフローチャートである。第５の実施形態の動作は、第１の実施形態の動作と共通点が多いため、異なる点を中心に記述する。すなわち、第１の実施形態と同様の動作については、図２と同一の符号を付し、説明を省略する。
【００９９】
まず、端末１００ｅの処理受付手段１０１は、本発明における処理分担システムで実行する処理の入力を受け付ける（ステップＳａ１）。次に、処理分配先決定手段１１０ｅは、入力頻度計測手段１０８から、処理に関連付けられた計測結果を通知されると、その計測結果を評価する。このとき、処理分配先決定手段１１０ｅは、通信遅延計測手段１１２が計測した通信遅延をもとに、入力頻度を補正する。例えば、処理分配先決定手段１１０ｅは、通信遅延を示す値があらかじめ決められた閾値Ｅよりも高い場合には入力頻度を低く補正し、負荷が閾値Ｅよりも低い場合には入力頻度を高く補正する（ステップＳｅ１）。ステップＳｅ１で補正された入力頻度をもとに、処理分配先決定手段１１０ｅは、入力頻度が予め定められた閾値Ａよりも低いか否か判断する（ステップＳａ２）。以降の処理（すなわち、ステップＳａ２〜Ｓａ１２）は、第１の実施形態と同様のため、説明を省略する。
【０１００】
なお、第５の実施形態における端末１１０ｅは、第１の実施形態における端末１１０ａに通信遅延計測手段１１２を含む場合について説明した。他にも、負荷計測手段１１１は、第２の実施形態における端末１１０ｂ又は第３の実施形態における端末１１０ｃにおける端末１１０ｃに含まれていてもよい。この場合、処理分配先決定手段１１０ｂ及び処理分配先決定手段１１０ｃは、通信遅延計測手段１１２が計測した通信遅延をもとに、出力頻度又は入出力頻度を補正すればよい。
【０１０１】
具体的には、処理分配先決定手段１１０ｂは、図４に示すステップＳｂ２の前に、出力頻度を補正すればよく、処理分配先決定手段１１０ｃは、図６に示すステップＳｃ２の前に、入出力頻度を補正すればよい。また、処理分配先決定手段１１０ｂ及び処理分配先決定手段１１０ｃが補正する方法は、処理分配先決定手段１１０ａが補正する方法と同一であってもよく、異なる方法であってもよい。
【０１０２】
本発明によれば、第１の実施形態に加え、通信遅延計測手段１１２が、端末１００ｅとサーバ１２０ｅの間の通信遅延を計測し、処理分配先決定手段１１０ｅが、その通信遅延に応じて分配先を決定する。よって、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度をさらに向上させることができる。
【０１０３】
すなわち、第１の実施形態に加え、通信遅延計測手段１１２が端末１００ｅとサーバ１２０ｅ間の通信遅延を計測するため、処理分配先決定手段１１０ｅは、入力の頻度だけでなく通信遅延を考慮に入れることができる。そのため、通信遅延が大きい場合には入力頻度が低くても処理実行手段１０３で実行して入力の遅延を更に小さくすることができ、通信遅延が小さい場合には入力頻度が高くても処理実行手段１２３で実行して端末１００ｅの負荷を下げることができる。
【実施例】
【０１０４】
以下、第１の実施形態の具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。
【実施例１】
【０１０５】
図１１は、本発明の実施例における処理分担システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施例における処理分担システムは、端末９００と、サーバ９２０とを備え、サーバ９２０は通信網１５０を介して端末９００に接続される。
【０１０６】
端末９００は、端末用プログラム制御部９３１と、キーボード９０４と、ディスプレイ９０７と、処理管理テーブル９４０とを備えている。例えば、利用者は、端末９００を直接操作する。また、端末９００は、処理対象プログラム９３０に従って動作すべき処理を受付処理として受け付ける。
【０１０７】
端末用プログラム制御部９３１は、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、処理分配先決定手段１１０ａとを備えている。端末用プログラム制御部９３１が備えるこれらの手段は、第１の実施の実施形態における手段と同様のため、説明を省略する。
【０１０８】
なお、端末用プログラム制御部９３１（より詳しくは、処理受付手段１０１と、処理分配手段１０２と、処理実行手段１０３と、入力分配手段１０５と、出力選択手段１０６と、入力頻度計測手段１０８と、処理分配先決定手段１１０ａと）は、例えば、端末用プログラム（処理分担プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、端末用プログラムは、端末９００が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、端末用プログラムに従って、端末用プログラム制御部９３１（より詳しくは、処理受付手段１０１、処理分配手段１０２、処理実行手段１０３、入力分配手段１０５、出力選択手段１０６、入力頻度計測手段１０８及び処理分配先決定手段１１０ａ）として動作してもよい。
【０１０９】
キーボード９０４は、利用者の操作入力およびデータ入力を受け付ける。キーボード９０４は、第１の実施の実施形態における入力手段１０４に該当する。
【０１１０】
ディスプレイ９０７は、処理結果を出力する出力装置である。ディスプレイ９０７は、第１の実施の実施形態における出力手段１０７に該当する。
【０１１１】
処理管理テーブル９４０は、受付処理を管理するための記憶装置である。処理管理テーブル９４０は、第１の実施の実施形態における処理管理記憶部に該当する。例えば、処理管理テーブル９４０は、受付処理を示す処理識別子と、その受付処理の処理分配先と、その受付処理に対する入力頻度とを対応付けて記憶する。以下の説明では、処理識別子をプロセスＩＤと記す。
【０１１２】
図１２は、処理管理テーブル９４０に記憶された情報の例を示す説明図である。処理管理テーブル９４０は、プロセスＩＤ９４１として、処理対象プログラム９３０のプロセスＩＤを記憶する。また、処理管理テーブル９４０は、分配先９４２として、現在処理対象プログラム９３０に従って動作している処理分配先が端末９００であるかサーバ９２０であるかを記憶する。また、処理管理テーブル９４０は、入力頻度計測結果９４３として、処理対象プログラム９３０に対する入力の頻度を記憶する。以下の説明では、入力の頻度を０〜９９の間の数で表現するものとし、入力頻度計測結果の最低値を０、最大値を９９とする。
【０１１３】
サーバ９２０は、サーバ用プログラム制御部９３２を備えている。サーバ用プログラム制御部９３２は、処理実行手段１２３を備えている。処理実行手段１２３は、第１の実施の実施形態における手段と同様のため、説明を省略する。
【０１１４】
次に、動作について説明する。まず、端末９００の処理受付手段１０１は、処理対象プログラム９３０を受け付ける。処理受付手段１０１は、端末９００のオペレーティングシステムが処理対象プログラム９３０に割りあてたプロセスＩＤを取得し、処理管理テーブル９４０のプロセスＩＤ９４１にそのプロセスＩＤを登録する。このとき、処理受付手段１０１は、処理管理テーブル９４０の分配先９４２として”ＮＵＬＬ”を、入力頻度計測結果９４３として最大値の“９９”を、それぞれの初期値として上記プロセスＩＤに対応付けて記憶させる。例えば、プロセスＩＤが“８５”であった場合、処理管理テーブル９４０が記憶する内容は、図１２の例に示すエントリ９４７になる。処理受付手段１０１は、取得したプロセスＩＤを、処理分配手段１０２に通知する。
【０１１５】
次に、処理分配手段１０２は、プロセスＩＤが示す受付処理を実行させる場所を決定するために、処理分配先決定手段１１０ａにプロセスＩＤを通知する。処理分配先決定手段１１０ａは、通知されたプロセスＩＤに対応する入力頻度を処理管理テーブル９４０の入力頻度計測結果９４３から読み取る。処理分配先決定手段１１０ａは、読み出した入力頻度の計測結果が“５０”を超えているかどうか判断し、処理分配先を決定する。図１２の例に示すエントリ９４５のように、入力頻度が”５０”を超えている場合には、処理分配先を端末９００と決定し、プロセスＩＤに対応する処理管理テーブル９４０の分配先９４２に”端末”と記憶させる。もしくは、図１２の例に示すエントリ９４６のように、入力頻度が”５０”を超えていない場合には、処理分配先をサーバ９２０と決定し、プロセスＩＤに対応する処理管理テーブル９４０の分配先９４２に”サーバ”と記憶させる。
【０１１６】
処理分配手段１０２は、処理分配先決定手段１１０ａの決定に応じて、端末９００側の処理実行手段１０３またはサーバ９２０側の処理実行手段１２３に処理対象プログラム９３０を通知して実行させる。処理実行手段１０３または処理実行手段１２３は、入力された処理対象プログラムに従って動作する。
【０１１７】
一方、受付処理の動作中に、入力頻度計測手段１０８及び入力分配手段１０５は、キーボード９０４が受付処理に対するデータ入力を受け付けたか否か判断する。キーボード９０４がデータ入力を受け付けた場合、入力分配手段１０５は、処理管理テーブル９４０を参照して、そのデータ入力の対象である受付処理を示すプロセスＩＤに対応する処理分配先を判断し、対応する処理分配先にその入力データを転送（送信）する。すなわち、入力分配手段１０５は、処理分配先が処理実行手段１０３の場合、その入力データを処理実行手段１０３に付与し、処理分配先が処理実行手段１２３の場合、その入力データをサーバ１２０に送信する。処理実行手段１０３及び処理実行手段１２３は、その入力データをプロセスＩＤが示す受付処理への入力データとして処理する。
【０１１８】
また、キーボード９０４が受付処理の動作中にデータ入力を受け付けた場合、入力頻度計測手段１０８は、入力頻度を計測する。入力頻度計測手段１０８は、例えば、１００ミリ秒間隔でデータ入力があったかどうかを判断する。データ入力があった場合、入力対象のプロセスＩＤに関連付けて記憶された入力頻度計測結果９４３の値を増加させる。データ入力がなかった場合、入力対象のプロセスＩＤに関連付けて記憶された入力頻度計測結果９４３の値を減少させる。
【０１１９】
出力選択手段１０６は、処理実行手段１０３または処理実行手段１２３からの処理結果を受け取り、出力があるか否かを判断する。出力選択手段１０６は、出力があると判断した場合、処理実行手段１０３または処理実行手段１２３からの処理結果をディスプレイ９０７に出力させる。
【０１２０】
受付処理（処理対象プログラム９３０が示す処理）を完了するまで、これらの動作を繰り返す。処理受付手段１０１は、処理が完了したと判断した場合、処理管理テーブル９４０からその受付処理を示すプロセスＩＤのエントリを削除する。
【０１２１】
図１３は、本発明における処理分担システムの最小構成を示すブロック図である。本発明による処理分担システムは、実行する処理（例えば、受付処理）に対する操作を受け付ける端末装置８０（例えば、端末１００ａ）と、端末装置８０の指示に従って処理を実行する処理装置９０（例えば、サーバ１２０）とを備える。
【０１２２】
端末装置８０は、端末装置８０が受け付けた処理である受付処理を実行する受付処理実行手段８１（例えば、処理実行手段１０３）と、受付処理に対して行われる入力の発生頻度である入力頻度を計測する入力頻度計測手段８２（例えば、入力頻度計測手段１０８）と、入力頻度に応じて、受付処理を実行させる分配先（例えば、処理分配先）を、端末装置８０（例えば、端末１００ａの処理実行手段１０３）もしくは処理装置９０（例えば、サーバ１２０の処理実行手段１２３）のいずれかに決定する処理分配先決定手段８３（例えば、処理分配先決定手段１１０ａ）と、処理分配先決定手段８２が決定した分配先に受付処理の実行を指示する処理分配手段８４（例えば、処理分配手段１０２）と、処理分配先決定手段８３が分配先を端末装置８０に決定した場合、受付処理に対して行われた入力（例えば、入力手段１０４が受け付けた入力データ）を受付処理実行手段８１に付与し、処理分配先決定手段８３が分配先を処理装置９０に決定した場合、受付処理に対して行われた入力を処理装置９０に送信する入力分配手段８５（例えば、入力分配手段１０５）と、処理分配先決定手段８３が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段８６（例えば、出力選択手段１０６及び出力手段１０７）とを備えている。
【０１２３】
そのような構成により、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる。
【０１２４】
すなわち、入力頻度計測手段８２が、受付処理に対する入力の頻度を計測し、処理分配先決定手段８３が、その入力の頻度に応じて処理分配先を決定し、処理分配手段８４が、その決定に応じて、処理分配先を選択する。そのため、入力頻度が高い場合には端末装置８０で実行して入力の遅延を小さく抑え、入力頻度が低い場合に処理装置９０で実行して端末装置８０の負荷を下げることができる。
【０１２５】
図１４は、本発明における処理分担システムの他の最小構成を示すブロック図である。本発明による処理分担システムは、実行する処理（例えば、受付処理）に対する操作を受け付ける端末装置８０（例えば、端末１００ｂ）と、端末装置８０の指示に従って処理を実行する処理装置９０（例えば、サーバ１２０）とを備える。
【０１２６】
端末装置８０は、端末装置８０が受け付けた処理である受付処理を実行する受付処理実行手段８１（例えば、処理実行手段１０３）と、受付処理を実行させる分配先（例えば、処理分配先）を、端末装置８０（例えば、端末１００ｂの処理実行手段１０３）もしくは処理装置９０（例えば、サーバ１２０の処理実行手段１２３）のいずれかに決定する処理分配先決定手段８３（例えば、処理分配先決定手段１１０ｂ）と、処理分配先決定手段８３が決定した分配先に受付処理の実行を指示する処理分配手段８４（例えば、処理分配手段１０２）と、処理分配先決定手段８３が分配先を端末装置８０に決定した場合、受付処理に対して行われた入力（例えば、入力手段１０４が受け付けた入力データ）を受付処理実行手段８１に付与し、処理分配先決定手段８３が分配先を処理装置９０に決定した場合、受付処理に対して行われた入力を処理装置９０に送信する入力分配手段８５（例えば、入力分配手段１０５）と、処理分配先決定手段８３が決定した分配先で実行された受付処理の結果である処理結果を出力する出力手段８６（例えば、出力選択手段１０６及び出力手段１０７）と、出力手段８６が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段８７（例えば、出力頻度計測手段１０９）とを備えており、処理分配先決定手段８３は、出力頻度に応じて分配先を決定する。
【０１２７】
そのような構成により、処理を実行する端末の処理負荷を軽減させるとともに、その処理負荷軽減に伴って発生する入出力遅延を抑制できる。
【０１２８】
すなわち、出力頻度計測手段８７が、受付処理に対する出力の頻度を計測し、処理分配先決定手段８３が、その出力の頻度に応じて処理分配先を決定し、処理分配手段８４が、その決定に応じて、処理分配先を選択する。そのため、出力頻度が高い場合には端末装置８０で実行して出力の遅延を小さく抑え、出力頻度が低い場合に処理装置９０で実行して端末装置８０の負荷を下げることができる。
【０１２９】
また、上記実施形態には、出力手段８６が出力した処理結果の発生頻度である出力頻度を計測する出力頻度計測手段（例えば、出力頻度計測手段１０９）を備え、処理分配先決定手段８２（例えば、処理分配先決定手段１１０ｃ）が、入力頻度及び出力頻度に応じて分配先を決定する構成が開示されている。そのような構成により、第１の実施形態の効果に加え、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度を向上させることができる。
【０１３０】
また、上記実施形態には、端末装置８０の負荷状況を計測する負荷計測手段（例えば、負荷計測手段１１１）を備え、処理分配先決定手段（例えば、処理分配先決定手段１１０ｄ）が、負荷状況に応じて分配先を決定する構成が開示されている。そのような構成により、第１の実施形態の効果に加え、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度を向上させることができる。
【０１３１】
また、上記実施形態には、端末装置８０と処理装置９０の間の通信遅延を計測する通信遅延計測手段（例えば、通信遅延計測手段１１２，１１２’）を備え、処理分配先決定手段（例えば、処理分配先決定手段１１０ｅ）が、通信遅延に応じて分配先を決定する構成が開示されている。そのような構成により、第１の実施形態の効果に加え、端末の処理負荷の軽減および入出力遅延の抑制を行うための精度をさらに向上させることができる。
【０１３２】
また、上記実施形態には、処理装置９０が、処理分配手段８４の指示に応じて受付処理を実行する分配処理実行手段（例えば、処理実行手段１２３）と、受付処理の処理結果とその受付処理を識別可能な識別子である処理識別子（例えば、プロセスＩＤ）とを端末装置に送信する処理結果送信手段（例えば、処理実行手段１２３）と、受付処理が完了したことを示す情報である完了情報と、処理識別子とを端末装置８０に送信する完了情報送信手段（例えば、処理実行手段１２３）とを備え、処理分配手段８４が、受付処理とその受付処理の処理識別子とを処理装置９０に送信して受付処理の実行を指示し、入力分配手段８５が、受付処理に対して行われた入力とその受付処理の処理識別子とを処理装置９０に送信し、分配処理実行手段が、その入力を処理識別子が示す受付処理に使用して受付処理を実行する構成が開示されている。
【産業上の利用可能性】
【０１３３】
本発明は、端末で実行される処理を他の装置に分配して実行させる処理分担システムに好適に適用される。
【符号の説明】
【０１３４】
１００ａ〜１００ｅ，９００  端末
１０１  処理受付手段
１０２  処理分配手段
１０３  処理実行手段
１０４  入力手段
１０５  入力分配手段
１０６  出力選択手段
１０７  出力手段
１０８  入力頻度計測手段
１０９  出力頻度計測手段
１１０ａ〜１１０ｅ  処理分配先決定手段
１１１  負荷計測手段
１１２，１１２’  通信遅延計測手段
１２０，１２０ｅ，９２０  サーバ
１２３  処理実行手段
１５０  通信網
【図１】
2010186260.tif 000003
【図２】
2010186260.tif 000004
【図３】
2010186260.tif 000005
【図４】
2010186260.tif 000006
【図５】
2010186260.tif 000007
【図６】
2010186260.tif 000008
【図７】
2010186260.tif 000009
【図８】
2010186260.tif 000010
【図９】
2010186260.tif 000011
【図１０】
2010186260.tif 000012
【図１１】
2010186260.tif 000013
【図１２】
2010186260.tif 000014
【図１３】
2010186260.tif 000015
【図１４】
2010186260.tif 000016