JP5262355B2 - クライアントサーバシステム及び負荷分散方法 - Google Patents

クライアントサーバシステム及び負荷分散方法 Download PDF

Info

Publication number
JP5262355B2
JP5262355B2 JP2008171991A JP2008171991A JP5262355B2 JP 5262355 B2 JP5262355 B2 JP 5262355B2 JP 2008171991 A JP2008171991 A JP 2008171991A JP 2008171991 A JP2008171991 A JP 2008171991A JP 5262355 B2 JP5262355 B2 JP 5262355B2
Authority
JP
Japan
Prior art keywords
server
program
processing apparatus
cooperation
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008171991A
Other languages
English (en)
Other versions
JP2010015215A (ja
Inventor
拓也 荒木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008171991A priority Critical patent/JP5262355B2/ja
Publication of JP2010015215A publication Critical patent/JP2010015215A/ja
Application granted granted Critical
Publication of JP5262355B2 publication Critical patent/JP5262355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、クライアントサーバシステム及び負荷分散方法に関する。
近年、技術の進歩に伴って、クライアントである情報処理装置と、ネットワーク上にあるサーバとを用いたクライアントサーバシステムが普及している。
ここでは、クライアントサーバシステムは、サーバとクライアントが同一組織の管理下に無いシステムを対象として考える。このようなシステムの一例として、例えばネットワークゲームがあげられる。
通常、ネットワークゲームの場合には、サーバは、ゲーム会社の管理下にあり、また、クライアントは、ユーザの管理下にある。
従って、このようなクライアントサーバシステムにおいては、一つのサーバで多数のクライアントに対応するために、サーバ側で行う処理をできるだけ減らすとともに、クライアント側でできるだけ処理を行うようにする必要がある。
一方、クライアント側で重要な処理まで行う場合には、クライアント側で動作するプログラムを、悪意のあるユーザから保護する必要がある。
例えば、ネットワークゲームの場合には、そのプログラムが仮想通貨を扱うことやアイテムを扱うことがあり、ユーザにその処理を改変されると、通貨やアイテムを増やされてしまう虞がある。
そして、この問題は、ネットワークゲームにおいては、「チート」という問題として知られている。
この「チート」という問題に対する対処法の一例が、非特許文献1に記載されている。
また、特許文献1には、画像データを著作物とみなして、携帯端末装置に著作物利用権があるか否かによって、著作物である画像データを携帯端末装置で処理するか或いは画像処理用サーバで処理するか選択する画像生成装置に関するものが開示されている。
リー、テカス、ホロウィッツ著「インプリメンティング アン アントラスティッド オペレーティング システム オン トラスティッド ハードウェア」 エーシーエム シンポジウム オン オペレーティング システム プリンシプルズ 2003年(D. Lie, C.A. Thekkath, and M. Horowitz, "Implementing an untrusted operating system on trusted hardware," Proc. 19th ACM Symposium on Operating Systems Principles, Oct. 2003.) 特開2006−304331号公報
しかしながら、上記文献に記載されたものは、以下の点で改善の余地を有していた。
非特許文献1に記載されたものは、プログラムを暗号化して配布する形態を採用している。そして、そのプログラムを復号化するための鍵は、CPU(Central Processing Unit)内部にのみ存在し、外部からは得ることができない。
従って、このプログラムの復号化は、そのCPU内部のみによって行われる。
このため、復号済みのプログラムは、CPU内のキャッシュにのみ存在する形となり、ユーザが復号済みのプログラムを得たり、改変したりすることができないようになっている。
このように、非特許文献1に記載されたものは、ユーザによる処理の改変を防ぐことを可能としていた。
しかしながら、第一の問題点として、非特許文献1に記載されたものは前提として特殊な機能を持ったCPUが必要である、ということにある。
このような特殊なCPUを持つパーソナルコンピュータが普及していない現状では、非特許文献1に記載されたものを利用することは困難である。
また、特許文献1に記載されたものは、画像データを著作物とみなして、携帯端末装置に著作物利用権があるか否かによって、著作物である画像データを携帯端末装置で処理するか或いは画像処理用サーバで処理するか選択するものである。
すなわち、特許文献1に記載されたものは、その画像データを携帯端末装置で処理するか或いは画像処理用サーバで処理するかについて選択しているにすぎない。
従って、第二の問題点として、特許文献1に記載されたものでは、著作物利用権の有無により、サーバ側での処理が増大することも予想され、サーバ側の処理負荷の軽減や負荷分散をすることができず、期待通りの処理を行うことができない、という問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、現在利用可能なハードウェアを用いて、処理をできるだけクライアント側で行うことにより、サーバの処理負荷を減らすとともに、ユーザによる処理の改変を防ぐことができるクライアントサーバシステム及び負荷分散方法を提供することにある。
本発明によれば、ネットワーク上でサービスの提供を受けるクライアントと、前記クライアントに前記サービスを提供するサーバとを有するクライアントサーバシステムであって、
前記クライアントは、移動体通信網に通信接続される携帯情報端末と、情報処理装置と有し、
前記携帯情報端末は、
前記サーバで処理されていた改変防止対象の第1のサーバ連携プログラムを、自端末と接続された中継器を介して前記サーバからダウンロードする携帯プログラムダウンロード手段と、
ダウンロードされた前記第1のサーバ連携プログラムを実行する第1のプログラム実行手段と、
前記第1のプログラム実行手段により、前記中継器を介して前記サーバと通信を行う第1のサーバ連携通信手段と、を備え、
前記情報処理装置は、
前記サーバで処理されていた第2のサーバ連携プログラムを、前記ネットワークを介して前記サーバからダウンロードする情報処理装置プログラムダウンロード手段と、
ダウンロードされた前記第2のサーバ連携プログラムを実行する第2のプログラム実行手段と、
前記第2のプログラム実行手段により、前記ネットワークを介して前記サーバと通信を行う第2のサーバ連携通信手段と、を備え、
前記サーバは、
前記第1のサーバ連携プログラムと、前記第2のサーバ連携プログラムとを格納するダウンロード用プログラム格納手段と、
前記携帯情報端末によってダウンロードされた前記第1のサーバ連携プログラムにより、前記中継器を介して当該携帯情報端末と通信を行う携帯情報端末サーバ連携手段と、
前記情報処理装置によってダウンロードされた前記第2のサーバ連携プログラムにより、前記ネットワークを介して当該情報処理装置と通信を行う情報処理装置サーバ連携手段と、
を備えることを特徴とするクライアントサーバシステムが提供される。
本発明によれば、ネットワーク上でサービスの提供を受けるクライアントと、前記クライアントに前記サービスを提供するサーバとを有するクライアントサーバシステムにおける負荷分散方法であって、
前記クライアントは、移動体通信網に通信接続される携帯情報端末と、情報処理装置と有し、
前記サーバが、第1のサーバ連携プログラムと、第2のサーバ連携プログラムとを格納するダウンロード用プログラム格納ステップと、
前記携帯情報端末が、前記サーバで処理されていた改変防止対象の前記第1のサーバ連携プログラムを、自端末と接続された中継器を介して前記サーバからダウンロードする携帯プログラムダウンロードステップと、
前記携帯情報端末が、ダウンロードされた前記第1のサーバ連携プログラムを実行する第1のプログラム実行ステップと、
前記携帯情報端末が、前記第1のプログラム実行ステップにより、前記中継器を介して前記サーバと通信を行う第1のサーバ連携通信ステップと、
前記サーバが、前記携帯情報端末によってダウンロードされた前記第1のサーバ連携プログラムにより、前記中継器を介して当該携帯情報端末と通信を行う携帯情報端末サーバ連携ステップと、
前記情報処理装置が、前記サーバで処理されていた前記第2のサーバ連携プログラムを、前記ネットワークを介して前記サーバからダウンロードする情報処理装置プログラムダウンロードステップと、
前記情報処理装置が、ダウンロードされた前記第2のサーバ連携プログラムを実行する第2のプログラム実行ステップと、
前記情報処理装置が、前記第2のプログラム実行ステップにより、前記ネットワークを介して前記サーバと通信を行う第2のサーバ連携通信ステップと
前記サーバが、前記情報処理装置によってダウンロードされた前記第2のサーバ連携プログラムにより、前記ネットワークを介して当該情報処理装置と通信を行う情報処理装置サーバ連携ステップと、
を含むことを特徴とする負荷分散方法が提供される。
本発明によれば、現在利用可能なハードウェアを用いて、処理をできるだけクライアント側で行うことにより、サーバの処理負荷を減らすとともに、ユーザによる処理の改変を防ぐことができるクライアントサーバシステム及び負荷分散方法を提供することができる。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
図1は、本実施の形態におけるプログラムダウンロード実行システム(クライアントサーバシステム)の構成を示す模式的な機能ブロック図である。図1に示すプログラムダウンロード実行システムは、サーバ101と、インターネット(ネットワーク)220を介して、クライアント130とを備えている。
また、図1に示すクライアント130は、携帯電話(携帯情報端末)111と、PC(情報処理装置)121とを備えている。
図1に示す携帯電話111は、移動体通信網である携帯電話網200と、中継器として機能するゲートウェイ210と、インターネット220とを介して、サーバ101に接続されている。
また、携帯電話111は、サーバ101で処理されていた改変防止対象の携帯電話用プログラム(第1のサーバ連携プログラム)108を、携帯電話111と接続されたゲートウェイ210を介してサーバ101からダウンロードするプログラムダウンロード部(携帯プログラムダウンロード手段)117と、ダウンロードされた携帯電話用プログラム108を実行するプログラム実行部(第1のプログラム実行手段)120と、プログラム実行部120により、ゲートウェイ210を介してサーバ101と連携するように通信を行うサーバ連携部(第1のサーバ連携通信手段)115と、を必須の構成要素として備えている。
すなわち、携帯電話111は、プログラムダウンロード部117と、プログラム実行部120と、サーバ連携部115とを備えている。
プログラムダウンロード部117は、サーバ101で処理されていた改変防止対象の携帯電話用プログラム108を、携帯電話111と接続されたゲートウェイ210を介してサーバ101からダウンロードする機能を有している。
プログラム実行部120は、ダウンロードされた携帯電話用プログラム108を実行する機能を有している。
サーバ連携部115は、プログラム実行部120により、携帯電話網200とゲートウェイ210とを介してサーバ101と連携するように通信を行う機能を有している。
図1に示すPC121は、インターネット220を介して、サーバ101に接続されている。
また、PC121は、サーバ101で処理されていたPC用プログラム(第2のサーバ連携プログラム)107を、インターネット220を介してサーバ101からダウンロードするプログラムダウンロード部(情報処理装置プログラムダウンロード手段)127と、ダウンロードされたPC用プログラム107を実行するプログラム実行部(第2のプログラム実行手段)150と、プログラム実行部150により、インターネット220を介してサーバ101と連携するように通信を行うサーバ連携部(第2のサーバ連携通信手段)125と、を必須の構成要素として備えている。
すなわち、PC121は、プログラムダウンロード部127と、プログラム実行部150と、サーバ連携部125とを備えている。
プログラムダウンロード部127は、サーバ101で処理されていたPC用プログラム107を、インターネット220を介してサーバ101からダウンロードする機能を有している。
プログラム実行部150は、ダウンロードされたプログラムダウンロード部127を実行する機能を有している。
サーバ連携部125は、プログラム実行部150により、インターネット220を介してサーバ101と連携するように通信を行う機能を有している。
図1に示すサーバ101は、PC用プログラム107と、携帯電話用プログラム108とを格納するダウンロード用プログラム部(ダウンロード用プログラム格納手段)106と、プログラムダウンロード部117によってダウンロードされた携帯電話用プログラム108により、携帯電話網200とゲートウェイ210とを介して携帯電話111と連携するように通信を行う携帯電話連携部(携帯情報端末サーバ連携手段)105と、プログラムダウンロード部127によってダウンロードされたPC用プログラム107により、インターネット220を介してPC121と連携するように通信を行うPC連携部(情報処理装置サーバ連携手段)104と、を必須の構成要素として備えている。
すなわち、サーバ101は、PC用プログラム107と携帯電話用プログラム108とを有するダウンロード用プログラム部106と、PC連携部104と、携帯電話連携部105とを備えている。
ダウンロード用プログラム部106は、PC用プログラム107と、携帯電話用プログラム108をはじめ、クライアント130がダウンロードする各種プログラムを格納する機能を有している。
PC連携部104は、プログラムダウンロード部127によってダウンロードされたPC用プログラム107により、インターネット220を介してPC121と連携するように通信を行う機能を有している。
携帯電話連携部105は、プログラムダウンロード部117によってダウンロードされた携帯電話用プログラム108により、携帯電話網200とゲートウェイ210とを介して携帯電話111と連携するように通信を行う機能を有している。
本実施の形態に係るプログラムダウンロード実行システムは、上述したこれらを、必須の構成要素として備えている。
また、本実施の形態に係るプログラムダウンロード実行システムは、動作についてより具体的に説明するために、更に他の構成を備えることができる。
図2は、本実施の形態に係るプログラムダウンロード実行システムについて、より具体的に示した模式的な機能ブロック図である。
図2に示すプログラムダウンロード実行システムは、図1と同様に、携帯電話171と、PC181と、サーバ191とを備え、更に、他クライアント140を備えている。
図2に示す携帯電話171は、図1に示した携帯電話111に加え、データ112と、他クライアント連携部114と、PC連携部(情報処理装置連携接続手段)116とを備えている。
他クライアント連携部114は、サーバ191を介して、或いは、他クライアント140と直接、連携するように接続する機能を有している。
PC連携部116は、ダウンロードされたプログラム(情報処理装置連携プログラム)により、PC181と連携するように接続する機能を有している。
データ112は、例えば、ネットワークゲームにおけるアイテムや仮想通貨、ゲームの勝敗などのデータであり、外部から観測されたり改変されたりすることが好ましくないデータである。
なお、他クライアント連携部114と、サーバ連携部115と、PC連携部116は、携帯電話用プログラム部113に格納されている。
図2に示すPC181は、図1に示したPC121に加え、他クライアント連携部124と、携帯電話連携部(携帯情報端末連携接続手段)126とを備えている。
他クライアント連携部124は、他クライアント連携部114と同様に、サーバ191を介して、他クライアント140と連携するように接続する機能を有している。
携帯電話連携部126は、ダウンロードされたプログラム(携帯情報端末連携プログラム)により、携帯電話171と連携するように接続する機能を有している。
なお、他クライアント連携部124と、サーバ連携部125と、携帯電話連携部126は、PC用プログラム部123に格納されている。
また、図2に示すサーバ191は、図1に示したサーバ101に加え、データ102を備えている。また、PC連携部104と、携帯電話連携部105は、サーバプログラム部103に格納されている。
ここで、携帯電話171は、iアプリ(登録商標)や、BREW(登録商標)等の仕組みにより、各種のプログラムを外部(例えば、サーバ191が該当する。)からダウンロードし、実行可能なものとする。
また、ここでは携帯電話としているが、同様の機能・性質(通信機能およびプログラム実行機能)を持つものであれば、携帯電話以外であっても良い(例えば、ゲーム機などが該当する。)。
本実施の形態におけるプログラムダウンロード実行システムは、概略次のように動作する。
サーバ191は、クライアント130で実行されるプログラムを、あらかじめ携帯電話171及びPC181で実行されるプログラム(例えば、PC用プログラム107や携帯電話用プログラム108など)に、分割しておく。
ここで、携帯電話171およびPC181で実行されるプログラムは、PC連携部116および携帯電話連携部126によってお互いに連携し、一つのクライアント用プログラムとして動作する。
また、携帯電話171で実行するプログラムやデータは、PC181で使用するものと異なり、携帯電話171のプログラムやデータが外部から観測されたり改変されることが困難であることを利用する。
すなわち、ネットワークゲームの例では、アイテムや仮想通貨、ゲームの勝敗に関わるデータ等を扱う部分については携帯電話171で実行し、一方、グラフィック表示など計算コストは高いが改変されても問題の無い部分についてはPC181で実行するように、プログラムを分割する。
クライアント130は、携帯電話171およびPC181において、それぞれが実行するプログラムをダウンロードする。ここで、携帯電話171が携帯電話用プログラム108をダウンロードする際、https(Hypertext Transfer Protocol Security)等の暗号化された携帯電話網200を用いることで、携帯電話171で実行するプログラムが盗聴や改変されないようにすることができる。
また、携帯電話用プログラム108をダウンロードすることができるのは携帯電話171だけに限定することができる(例えば、携帯電話網200とインターネット220をつなぐゲートウェイ210からのアクセスだけを許可する。)。
これにより、携帯電話171からダウンロードされたプログラムを外部に取り出すことはできないため、ユーザは、プログラム内容を得たり、改変したりすることができない。
そして、携帯電話171で実行される携帯電話用プログラム108は、そのプログラムの必要に応じ、サーバ連携部115を用いてサーバ191から必要なデータをダウンロードする。
ここで、データ112は、アイテムや仮想通貨などプログラムの実行中に改変される可能性があるものの、ユーザによって改変されないようにする必要があるデータとする。
これらのデータは、プログラムの実行終了時、或いはプログラム実行中に、サーバに書き戻される。
一方、PC181で実行されるPC用プログラム107も、サーバ連携部125を用いてサーバ191から必要なデータをダウンロードしてもよい。
この場合のデータは、ユーザによって改変されても問題が無いものに限られる(例えば、ネットワークゲームの場合、キャラクターや地形の表示用データなどが該当する。)。
また、ネットワークゲームのように、複数のクライアントとの間で連携が必要な場合には、クライアント間に直接の連携があってもよい。
この場合、携帯電話171またはPC181の少なくとも何れか一方に他クライアント連携部(外部クライアント連携手段)を設け、他クライアント140と連携する。
そして、連携するために授受するデータが、ユーザによって改変されても問題が無い場合には、PC181と他クライアント140の情報処理装置との間での連携が可能である。
一方、ユーザによって改変されると問題がある場合には、携帯電話171と他クライアント140の情報処理装置、或いは携帯電話171と他クライアント140の携帯電話とにより連携を行う。
例えば、ネットワークゲームの場合、ユーザ間のチャットなどは、PC181と情報処理装置の間での連携でよい。なぜなら、ユーザが、チャットにより自分の発言を自分で改変しても問題は生じないためである。
また、これまで、携帯電話171およびPC181で実行されるプログラムは、お互いに連携し一つのクライアント用プログラムとして動作するとしてきたが、クライアント間で連携がある場合には、携帯電話171は複数のクライアントのうち一つだけを用いても良い。
図3は、クライアントA(140A)とクライアントB(130B)が、クライアントB(130B)の携帯電話171Bによって連携するように接続されている構成を示した概略構成図である。
また、複数のクライアント間において、それぞれの携帯電話を用いて、連携するように接続しても良い。
図4は、クライアントA(140A)とクライアントB(130B)が、それぞれの携帯電話171A、171Bを用いて、連携するように接続されている構成を示した概略構成図である。
例えば、PC181A又はPC181Bは、ユーザによるキャラクターの移動要求など、ユーザ自身が改変しても問題の無いデータを、対応する携帯電話171A又は携帯電話171Bに送る。
そして、そのデータを受信した携帯電話171A又は携帯電話171Bは、受信した携帯電話内部で、その要求に基づいて、キャラクターの位置や所持アイテムの変更等の処理を行う。
また、クライアントA(140A)とクライアントB(130B)が接続されていることにより、一方の携帯電話から他方の携帯電話に、移動要求などを送信し、受信した携帯電話がその要求に基づいて、キャラクターの位置や所持アイテムの変更等の処理を行っても良い。
次に、本実施の形態に係るプログラムダウンロード実行システムの全体動作について、詳細に説明する。
なお、処理ステップにおいて、処理に応じて細部を説明するときに、ステップ番号に符号を付すことがあり、符号の付されたステップ番号は、そのステップ番号の一態様であり、また、ステップ番号のみの場合はその処理の総称を表すことにする。
図5は、プログラムダウンロード実行システムにおける携帯電話171の動作を示したシーケンス図である。
携帯電話171は、ステップS101において、サーバ191から、改変防止対象のプログラム(例えば、第1のサーバ連携プログラムが該当する。)をダウンロードする。
ここで、サーバの指定については種々の方法が考えられるが、例えばサーバ191のURL(uniform resource locator)を入力する方法などが考えられる。
そして、ステップS102において、ダウンロードした改変防止対象のプログラムの実行を開始する。
そして、ステップS103において、携帯電話171は、PC181と接続を行う。
ここで、接続するPC181を指定するには、例えば、サーバ191を経由してPC181と携帯電話171のマッチングを取る方法がある(ステップS103がマッチング処理となる。)。
具体的には、まず、ユーザは、携帯電話171からユーザID(identify)とパスワードを入力することにより、サーバ191にログインする(ステップS103A)。
PC181からも同様に、後述するステップS203によって、サーバ191にログインする。
そして、同じユーザIDでログインしているPC181のIP(internet protocol)アドレスをサーバ191が取得し、そのIPアドレスを携帯電話171に伝える(ステップS103B)。
携帯電話171は、得られたIPアドレスに対して接続要求を行う(ステップS103C)。この場合、PC181側は、外部からの接続要求に答えることができるようにネットワーク設定がなされている必要がある。
ただし、携帯電話171側のプログラムにおいて、通信相手先のIPアドレスが、プログラムをダウンロードしたダウンロード元のサーバに限定されるような場合には、携帯電話171からPC181に直接接続要求を行うことは出来ない。
このような場合には、一度サーバ191が通信内容を中継することにより(ステップS103D)、携帯電話171とPC181が通信を行うことができる。
次に、携帯電話171が他のクライアントと直接連携する場合について説明する。
携帯電話171は、ステップS104により、サーバ191と接続を行う。そして、クライアントB(他のクライアント)である接続相手とのマッチング方法は、ステップS103と同様に、クライアントBがサーバ191を経由して接続することにより(ステップS104B)、マッチング処理を行うことができる。
ここで、クライアントBの接続相手とは、例えば、ネットワークゲームにおける対戦相手などが該当する。
このように、携帯電話171は、ステップS104において、ステップS103と同様に、サーバ191に接続することにより、携帯電話171はクライアントBとマッチング処理を行うことができる。
ただし、携帯電話同士で連携する場合において、携帯電話171が外部からの接続要求に答えることができない場合には、一度サーバ191が通信内容を中継することにより通信を行う。
そして、携帯電話171は、ステップS105において、サーバ191から必要なデータをダウンロードする。ここで、どのようなデータをダウンロードするかについては、実行するプログラムに依存する。例えば、ネットワークゲームの場合には、改変防止対象のアイテム所持情報等などが考えられる。
そして、ステップS106において、PC181又はクライアントB間での直接の連携がある場合には、PC181又はクライアントBからの入力を受け付け(ステップS106A又はS106B)、ステップS107において、その処理を実行する。
更に、携帯電話171は、ステップS108において、必要に応じて、処理実行後の状態をPC181やクライアントBへ送信する(ステップS108A、S108B)。
そして、携帯電話171は、ステップS109において、携帯電話171が内部に有するデータを、サーバ191にアップロードする。
本実施の形態に係る携帯電話171は、プログラム実行中において、ステップS109によってデータをサーバ191にアップロードした後、ステップS105に戻り、繰り返し実行するようにしても良く、また、プログラム実行の最初と最後だけ、ステップS105からS109を実行するとようにしても良い。
このように、本実施の形態に係る携帯電話171は、改変防止対象のプログラムをサーバ191からダウンロードし、実行することにより、サーバ191の負荷を軽減するとともに、悪意あるユーザによる処理やプログラムの改変を防ぐことができる。
更に、図5で示した携帯電話171のシーケンス図を、フローチャートで示す。
図6は、プログラムダウンロード実行システムにおける携帯電話171の動作をフローチャートで示したものである。
図6に示すフローチャートは、図5に示したシーケンス図に対応するものであり、説明が重複するので省略する。
次に、本実施の形態に係るPC181の動作について、説明する。
図7は、プログラムダウンロード実行システムにおけるPC181の動作を示したシーケンス図である。
PC181は、携帯電話171の場合と同様、ステップS201でプログラムのダウンロードを行い、ステップS202でプログラムの実行を開始する。
そして、PC181は、ステップS203により、携帯電話171と接続される。この手順については、ステップS103と同様である。
具体的には、ユーザは、PC181からユーザIDとパスワードをサーバ191に入力することにより、サーバ191にログインする(ステップS203A)。
携帯電話171も同様に、ステップS103Aによって、サーバ191にログインする。
そして、同じユーザIDでログインしているPC181のIPアドレスをサーバ191が取得し、そのIPアドレスをPC181に伝える(ステップS203B)。
これにより、PC181は、携帯電話171と直接(ステップS203C)、又はサーバ191を介して(ステップS203D)、通信を行うことができる。
次に、PC181が、他のクライアントであるクライアントBと直接連携する場合について、説明する。
PC181は、ステップS204Aにより、サーバ191と接続を行う。そして、接続相手であるクライアントBとのマッチング方法は、携帯電話171のマッチング方法と同様に、PC181からクライアントBに直接連携するように接続しても良く(ステップS204B)、またサーバ191を介して接続するようにしても良い(ステップS204C)。
そして、PC181は、ステップS205において、プログラムがユーザからの入力を受け付け、受け付けた内容を携帯電話171やクライアントBと直接連携がある場合には、携帯電話171やクライアントBに送信する(ステップS206A、S206B)。
一方、直接連携しない場合には、受け付けた内容をサーバ191に送信する(ステップS206C)。
そして、PC181は、送信した内容に対する結果を受け取り(ステップS207)、その結果に基づいて処理を実行する(ステップS208)。
PC181は、プログラム実行中は、ステップS208からステップS205に戻り、この処理を繰り返し実行する。
このように、本実施の形態に係るPC181は、プログラムをサーバ191からダウンロードし、実行することにより、サーバ191の負荷を軽減することができる。
更に、図7で示した携帯電話171のシーケンス図を、フローチャートで示す。
図8は、プログラムダウンロード実行システムにおける携帯電話171の動作をフローチャートで示したものである。
図8に示すフローチャートは、図7に示したシーケンス図に対応するものであり、説明が重複するので省略する。
次に、本実施の形態に係るサーバ191の動作について、説明する。
図9は、プログラムダウンロード実行システムにおけるサーバ191の動作を示したシーケンス図である。
サーバ191は、ステップS301において、携帯電話171およびPC181からのプログラムダウンロード要求に対応し、プログラムを送信する(ステップS301A、ステップS301B)。
そして、サーバ191は、ステップS103、ステップS104、ステップS203及びステップS204において、通信相手のマッチング処理を行う場合には、マッチング処理を行う(ステップS302)。
そして、サーバ191は、マッチング処理が実行されると、ステップS303において携帯電話171又はPC181からの入力を受け付け(ステップ303A、ステップ303B)、対応する処理を実行する(ステップS304)。
そして、サーバ191は、ステップ305において、携帯電話171又はPC181に、処理された実行結果を出力する(ステップS305A、ステップS305B)。
そして、サーバ191は、プログラム実行中は、ステップS305A又はステップS305Bから、ステップS303に戻り、この処理を繰り返す。
更に、図9で示したサーバ191のシーケンス図を、フローチャートで示す。
図10は、プログラムダウンロード実行システムにおけるサーバ191の動作をフローチャートで示したものである。
図10に示すフローチャートは、図9に示したシーケンス図に対応するものであり、説明が重複するので省略する。
以上説明したように本実施の形態によれば、現在利用可能なハードウェアを用いて、改変防止対象の処理を含め、処理をできるだけクライアント側で行うことにより、サーバの処理負荷を減らすとともに、ユーザによる処理の改変を防ぐことができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
次に、本発明に係る第2の実施の形態について図面を参照して詳細に説明する。
図11は、第2の実施の形態のプログラムダウンロード実行システムの構成を示す模式的な機能ブロック図である。
図11を参照すると、本発明に係る第2の実施の形態では、第1の実施の形態に、携帯電話171とPC181とを直接接続する構成を備えている。
ここで、携帯電話171とPC181とを直接接続するためには、例えば、USB(Universal Serial Bus)ケーブル、無線LAN(Local area Network)、Bluetooth(登録商標)等の接続方法が考えられる。
図11のように、携帯電話171とPC181とを直接接続することにより、携帯電話171はPC181との接続において、サーバ191を介す必要がなくなるので、PC181との通信が高速かつ無料で接続することができる。
更に、携帯電話171が他クライアント140やサーバ191と接続する際に、PC181を経由して通信することができるので、携帯電話171と比較して、高速かつ低価格で通信を行うことができる。
すなわち、第2の実施の形態では、第1の実施の形態において説明したように、携帯電話171が、PC181、サーバ191、他クライアント140等と通信を行う際、携帯電話171がPC181に直接接続されるので、携帯電話171がPC181を経由して通信するように動作する。
次に、本実施の形態における詳細な動作について説明する。本実施の形態では、第1の実施の形態で説明した動作と異なる部分について、図5のシーケンス図又は図6のフローチャートを用いて説明する。
第2の実施の形態では、第1の実施の形態で行われていた携帯電話171とPC181との接続は(ステップS103)、ステップS101よりも前の段階で行うこととなる。
なお、携帯電話171とPC181との接続は直接接続であるため、サーバ191を経由してマッチング処理を行う必要は無い。
まず、携帯電話171が、ステップ101において、改変防止対象のプログラムのダウンロードについて説明する。
本実施の形態では、携帯電話171が改変防止対象のプログラムをダウンロードする際、第1の実施の形態の動作とは異なり、PC181を経由してダウンロードを行う。
ここで、PC181が携帯電話171に偽装して改変防止対象のプログラムをダウンロードすることを防ぐため、サーバ191は携帯電話171に対して改変防止対象のプログラムを送信している、ということを確認する必要がある。
これには、例えば、httpsにおけるクライアント認証の技術を用いることが考えられる。この場合、携帯電話171側にはあらかじめ自らが携帯電話であるということを証明する証明書が存在し、かつ対応する秘密鍵が外部に取り出せないようになっている必要がある。
また、他の方法として、「プログラムをダウンロードするためのプログラム」を、PC181を経由せずに携帯電話網200を経由して、携帯電話171がダウンロードしておく方法が考えられる。
この場合、この「プログラムをダウンロードするためのプログラム」中に復号化のための鍵を入れておく。そして、実際にプログラムをダウンロードする際には、その鍵で暗号化してダウンロードすることにより、PC181が携帯電話171と偽装してプログラムをダウンロードすることを防ぐことができる。
また、プログラムのダウンロードを第1の実施の形態と同様に、携帯電話網200を経由して行うようにしても良い。
また、携帯電話171は、ステップ105、ステップ106、ステップ108及びステップ109において、他クライアント140やサーバ191と、PC181を経由して通信を行う。
この通信は、PC181に盗聴されたり改変されたりしないようにする必要がある。そのため、携帯電話171のプログラム中に通信用の鍵を持ち、例えばhttpsと同様の仕組みを用いて通信内容を暗号化する。
図11のPC181の動作及びサーバ191の動作について、第1の実施の形態と異なる部分は、携帯電話171と通信に関わる部分のみである。
以上説明したように本実施の形態によれば、プログラムダウンロード実行システムにおいて、携帯電話171がPC181を経由して通信するように構成されているため、PC181が有する安価かつ高速なネットワークを利用して、携帯電話171が通信を行うことができるので、サーバ191の負荷を分散し、システム全体の性能を向上させることができる。
本実施の形態に係るプログラムダウンロード実行システムを模式的に示した機能ブロック図である。 本実施の形態に係るプログラムダウンロード実行システムを模式的に示した機能ブロック図である。 本実施の形態に係るプログラムダウンロード実行システムにおいて、携帯電話によって他のクライアントと連携するように接続されている構成を示す概略構成図である。 本実施の形態に係るプログラムダウンロード実行システムにおいて、複数のクライアントがそれぞれの携帯電話によって他のクライアントと連携するように接続されている構成を示す概略構成図である。 本実施の形態に係るプログラムダウンロード実行システムにおける携帯電話の動作を示したシーケンス図である。 本実施の形態に係るプログラムダウンロード実行システムにおける携帯電話の動作を示したフローチャートである。 本実施の形態に係るプログラムダウンロード実行システムにおけるPCの動作を示したシーケンス図である。 本実施の形態に係るプログラムダウンロード実行システムにおけるPCの動作を示したフローチャートである。 本実施の形態に係るプログラムダウンロード実行システムにおけるサーバの動作を示したシーケンス図である。 本実施の形態に係るプログラムダウンロード実行システムにおけるサーバの動作を示したフローチャートである。 第2の実施の形態に係るプログラムダウンロード実行システムを模式的に示した機能ブロック図である。
符号の説明
101 サーバ
102 データ
103 サーバプログラム部
104 PC連携部
105 携帯電話連携部
106 ダウンロード用プログラム部
107 PC用プログラム
108 携帯電話用プログラム
111 携帯電話
112 データ
113 携帯電話用プログラム部
114 他クライアント連携部
115 サーバ連携部
116 PC連携部
117 プログラムダウンロード部
120 プログラム実行部
121 PC
123 PC用プログラム部
124 他クライアント連携部
125 サーバ連携部
126 携帯電話連携部
127 プログラムダウンロード部
130 クライアント
130B クライアントB
140 他クライアント
140A クライアントA
150 プログラム実行部
171 携帯電話
171B 携帯電話
181 PC
181B PC
191 サーバ
200 携帯電話網
210 ゲートウェイ
220 インターネット

Claims (14)

  1. ネットワーク上でサービスの提供を受けるクライアントと、前記クライアントに前記サービスを提供するサーバとを有するクライアントサーバシステムであって、
    前記クライアントは、移動体通信網に通信接続される携帯情報端末と、情報処理装置と有し、
    前記携帯情報端末は、
    前記サーバで処理されていた改変防止対象の第1のサーバ連携プログラムを、自端末と接続された中継器を介して前記サーバからダウンロードする携帯プログラムダウンロード手段と、
    ダウンロードされた前記第1のサーバ連携プログラムを実行する第1のプログラム実行手段と、
    前記第1のプログラム実行手段により、前記中継器を介して前記サーバと通信を行う第1のサーバ連携通信手段と、を備え、
    前記情報処理装置は、
    前記サーバで処理されていた第2のサーバ連携プログラムを、前記ネットワークを介して前記サーバからダウンロードする情報処理装置プログラムダウンロード手段と、
    ダウンロードされた前記第2のサーバ連携プログラムを実行する第2のプログラム実行手段と、
    前記第2のプログラム実行手段により、前記ネットワークを介して前記サーバと通信を行う第2のサーバ連携通信手段と、を備え、
    前記サーバは、
    前記第1のサーバ連携プログラムと、前記第2のサーバ連携プログラムとを格納するダウンロード用プログラム格納手段と、
    前記携帯情報端末によってダウンロードされた前記第1のサーバ連携プログラムにより、前記中継器を介して当該携帯情報端末と通信を行う携帯情報端末サーバ連携手段と、
    前記情報処理装置によってダウンロードされた前記第2のサーバ連携プログラムにより、前記ネットワークを介して当該情報処理装置と通信を行う情報処理装置サーバ連携手段と、
    を備えることを特徴とするクライアントサーバシステム。
  2. 前記第1のサーバ連携通信手段は、
    前記中継器を介して前記サーバと連携するように通信を行い、
    前記第2のサーバ連携通信手段は、
    前記ネットワークを介して前記サーバと連携するように通信を行い、
    前記携帯情報端末サーバ連携手段は、
    前記中継器を介して前記携帯情報端末と連携するように通信を行い、
    前記情報処理装置サーバ連携手段は、
    前記ネットワークを介して前記情報処理装置と連携するように通信を行う
    ことを特徴とする請求項1に記載のクライアントサーバシステム。
  3. 前記携帯情報端末は、
    前記携帯プログラムダウンロード手段が、前記情報処理装置と連携する情報処理装置連携プログラムを、前記中継器を介して前記サーバからダウンロードし、ダウンロードされた当該情報処理装置連携プログラムを実行することにより、前記情報処理装置と接続する情報処理装置連携接続手段を備え、
    前記情報処理装置は、
    前記情報処理装置プログラムダウンロード手段が、前記携帯情報端末と連携する携帯情報端末連携プログラムを、前記ネットワークを介して前記サーバからダウンロードし、ダウンロードされた当該携帯情報端末連携プログラムを実行することにより、前記携帯情報端末と接続する携帯情報端末連携接続手段を備え、
    前記サーバは、
    前記ダウンロード用プログラム格納手段が、
    前記情報処理装置連携プログラムと、前記携帯情報端末連携プログラムを更に格納する
    ことを特徴とする請求項1又は2に記載のクライアントサーバシステム。
  4. 前記携帯情報端末又は前記情報処理装置の何れか一方に、他のクライアントを形成する携帯情報端末又は情報処理装置と通信を行う外部クライアント連携手段を、
    更に備えることを特徴とする請求項3に記載のクライアントサーバシステム。
  5. 前記携帯情報端末と前記情報処理装置は、直接的に接続され、
    前記第1のサーバ連携通信手段は、
    接続された前記情報処理装置を介して前記サーバと通信する
    ことを特徴とする請求項3に記載のクライアントサーバシステム。
  6. 前記携帯情報端末と前記情報処理装置は、直接的に接続され、
    前記外部クライアント連携手段が前記携帯情報端末に設けられることにより、前記携帯情報端末が、前記情報処理装置と前記サーバとを介して、前記他のクライアントに接続される
    ことを特徴とする請求項4に記載のクライアントサーバシステム。
  7. 前記ネットワークは、インターネットで構築される
    ことを特徴とする請求項1乃至6の何れか1項に記載のクライアントサーバシステム。
  8. ネットワーク上でサービスの提供を受けるクライアントと、前記クライアントに前記サービスを提供するサーバとを有するクライアントサーバシステムにおける負荷分散方法であって、
    前記クライアントは、移動体通信網に通信接続される携帯情報端末と、情報処理装置と有し、
    前記サーバが、第1のサーバ連携プログラムと、第2のサーバ連携プログラムとを格納するダウンロード用プログラム格納ステップと、
    前記携帯情報端末が、前記サーバで処理されていた改変防止対象の前記第1のサーバ連携プログラムを、自端末と接続された中継器を介して前記サーバからダウンロードする携帯プログラムダウンロードステップと、
    前記携帯情報端末が、ダウンロードされた前記第1のサーバ連携プログラムを実行する第1のプログラム実行ステップと、
    前記携帯情報端末が、前記第1のプログラム実行ステップにより、前記中継器を介して前記サーバと通信を行う第1のサーバ連携通信ステップと、
    前記サーバが、前記携帯情報端末によってダウンロードされた前記第1のサーバ連携プログラムにより、前記中継器を介して当該携帯情報端末と通信を行う携帯情報端末サーバ連携ステップと、
    前記情報処理装置が、前記サーバで処理されていた前記第2のサーバ連携プログラムを、前記ネットワークを介して前記サーバからダウンロードする情報処理装置プログラムダウンロードステップと、
    前記情報処理装置が、ダウンロードされた前記第2のサーバ連携プログラムを実行する第2のプログラム実行ステップと、
    前記情報処理装置が、前記第2のプログラム実行ステップにより、前記ネットワークを介して前記サーバと通信を行う第2のサーバ連携通信ステップと、
    前記サーバが、前記情報処理装置によってダウンロードされた前記第2のサーバ連携プログラムにより、前記ネットワークを介して当該情報処理装置と通信を行う情報処理装置サーバ連携ステップと、
    を含むことを特徴とする負荷分散方法。
  9. 前記携帯情報端末が、前記第1のサーバ連携通信ステップにおいて、前記中継器を介して前記サーバと連携するように通信を行い、
    前記サーバが、前記携帯情報端末サーバ連携ステップにおいて、前記中継器を介して当該携帯情報端末と連携するように通信を行い、
    前記情報処理装置が、前記第2のサーバ連携通信ステップにおいて、前記ネットワークを介して前記サーバと連携するように通信を行い、
    前記サーバが、前記情報処理装置サーバ連携ステップにおいて、前記ネットワークを介して当該情報処理装置と連携するように通信を行う
    ことを特徴とする請求項8に記載の負荷分散方法。
  10. 前記サーバが、前記ダウンロード用プログラム格納ステップにおいて、情報処理装置連携プログラムと携帯情報端末プログラムとを更に格納するステップと、
    前記携帯情報端末が、前記携帯プログラムダウンロードステップにおいて、前記情報処理装置と連携する前記情報処理装置連携プログラムを、前記中継器を介して前記サーバからダウンロードし、ダウンロードされた当該情報処理装置連携プログラムを実行することにより、前記情報処理装置と接続する情報処理装置連携接続ステップと、
    前記情報処理装置が、前記情報処理装置プログラムダウンロードステップにおいて、前記携帯情報端末と連携する前記携帯情報端末プログラムを、前記ネットワークを介して前記サーバからダウンロードし、ダウンロードされた当該携帯情報端末プログラムを実行することにより、前記携帯情報端末と接続する携帯情報端末連携接続ステップと、
    を含むことを特徴とする請求項8又は9に記載の負荷分散方法。
  11. 前記携帯情報端末又は前記情報処理装置の何れか一方に、他のクライアントを形成する携帯情報端末又は情報処理装置と通信を行う外部クライアント連携ステップを、
    含むことを特徴とする請求項10に記載の負荷分散方法。
  12. 前記携帯情報端末と前記情報処理装置は、直接的に接続され、
    前記携帯情報端末が、前記第1のサーバ連携通信ステップにおいて、接続された前記情報処理装置を介して前記サーバと通信する
    ことを特徴とする請求項10に記載の負荷分散方法。
  13. 前記携帯情報端末と前記情報処理装置は、直接的に接続され、
    前記外部クライアント連携ステップが前記携帯情報端末に設けられることにより、前記携帯情報端末が前記情報処理装置と前記サーバとを介して、前記他のクライアントに接続される
    ことを特徴とする請求項11に記載の負荷分散方法。
  14. 前記ネットワークは、インターネットで構築される
    ことを特徴とする請求項8乃至13の何れか1項に記載の負荷分散方法。
JP2008171991A 2008-07-01 2008-07-01 クライアントサーバシステム及び負荷分散方法 Active JP5262355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008171991A JP5262355B2 (ja) 2008-07-01 2008-07-01 クライアントサーバシステム及び負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008171991A JP5262355B2 (ja) 2008-07-01 2008-07-01 クライアントサーバシステム及び負荷分散方法

Publications (2)

Publication Number Publication Date
JP2010015215A JP2010015215A (ja) 2010-01-21
JP5262355B2 true JP5262355B2 (ja) 2013-08-14

Family

ID=41701303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008171991A Active JP5262355B2 (ja) 2008-07-01 2008-07-01 クライアントサーバシステム及び負荷分散方法

Country Status (1)

Country Link
JP (1) JP5262355B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4505929B2 (ja) * 2000-03-03 2010-07-21 ソニー株式会社 通信システムおよび通信方法、並びにコンピュータ・プログラム
JP4382049B2 (ja) * 2000-11-22 2009-12-09 株式会社エヌ・ティ・ティ・ドコモ ネットワークへのアクセスを管理する方法および装置
JP4747429B2 (ja) * 2001-03-21 2011-08-17 カシオ計算機株式会社 電子機器及びデータダウンロード処理プログラム
JP2003209637A (ja) * 2002-01-16 2003-07-25 Mitsubishi Electric Corp データ通信システム及びデータ通信方法
JP2003345452A (ja) * 2002-05-27 2003-12-05 Fuji Photo Film Co Ltd 情報配信システム
JP4157079B2 (ja) * 2004-08-04 2008-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム、通信方法、プログラム、記録媒体、及びアクセス中継サービスシステム

Also Published As

Publication number Publication date
JP2010015215A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
CN105027493B (zh) 安全移动应用连接总线
US9386104B2 (en) Preventing extraction of secret information over a compromised encrypted connection
CN104322001B (zh) 使用服务名称识别的传输层安全流量控制
CN104662551B (zh) 在网络环境中对加密的数据的检查
JP3989960B2 (ja) ネットワーク・アドレス情報を使ってネットワーク・トランザクション性能を向上するための方法および装置
CN102055730B (zh) 云处理系统、云处理方法和云计算代理装置
US8938784B2 (en) Authorization of server operations
KR102276159B1 (ko) 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술
EP2710776B1 (en) Anonymous signalling
CN102469080A (zh) 实现通行证用户安全登录应用客户端的方法和系统
JP4670598B2 (ja) ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
JP2008306418A (ja) ネットワーク負荷軽減システム、ネットワーク負荷軽減方法およびプログラム
CN101640682A (zh) 一种改善Web服务安全性的方法
CN109067739A (zh) 通信数据加密方法和装置
JP4897503B2 (ja) アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置
JP2009290329A (ja) Ip通信システム、サーバユニット、端末デバイスおよび認証方法
JP2006050407A (ja) セキュリティポリシー設定方法、プログラム、及び、通信装置
JP6166937B2 (ja) 認証方法および認証システム
WO2010119427A2 (en) Method and system for deployment of software applications to mobile computing devices
EP3289724B1 (en) A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products
JP2008191731A (ja) ウィルス感染及び機密情報漏洩防止対策システム
CN110290097A (zh) 数据的处理方法、装置、存储介质和电子装置
CN112073185A (zh) 云游戏安全传输方法及装置
JP2010272951A (ja) 共有鍵配信管理方法及び共有鍵配信管理サーバー
JP5262355B2 (ja) クライアントサーバシステム及び負荷分散方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5262355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150