(57)【要約】【課題】性能面での負担の大きいカスタマイズや、個々のユーザの嗜好に依存するため管理の煩雑なカスタマイズなどの異なる局面において、それぞれに応じた効率のよいカスタマイズ環境を実現する。【解決手段】クライアントPCとサーバからなる計算機システムにおいて、ユーザから要求されるカスタマイズの種類のそれぞれについて、カスタマイズを実行した場合のクライアントPC及びサーバに対する性能面での影響並びにユーザに対するカスタマイズ実行の効果を情報として備え、ユーザの属性を踏まえてカスタマイズをどの計算機で適用すべきかを判断する。【選択図】図１
2011221646.tif 000002
【特許請求の範囲】
【請求項１】
Webブラウザを有するクライアントPC及び
Webアプリを有するサーバ
を備え、
前記クライアントPC及び前記サーバがネットワークを介して接続し、前記Webブラウザ及び前記Webアプリを実行することによりアプリケーションを動作させる計算機システムであって、
前記サーバは、
前記アプリケーションの一部であって、カスタマイズを行う対象であるカスタマイズ項目及び
前記カスタマイズとして前記アプリケーションの一部を実行する計算機である前記クライアントPC又は前記サーバに前記カスタマイズを適用した場合の性能面での影響を示す性能属性情報を含む影響度情報
を有し、
前記クライアントPCから前記カスタマイズ項目を含むリクエストを受信し、
前記影響度情報を参照して、前記リクエストに係るカスタマイズを前記計算機のいずれにおいて実行するかを判断し、
前記判断によって決定した計算機において前記カスタマイズを実行する
ことを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムであって、
前記クライアントPCは複数であり、
前記サーバは複数である
ことを特徴とする計算機システム。
【請求項３】
請求項２記載の計算機システムであって、
前記判断は、前記性能属性情報の値が最も低い計算機を前記カスタマイズを実行する計算機と判断する
ことを特徴とする計算機システム。
【請求項４】
請求項３記載の計算機システムであって、
該計算機システムは、さらに、
前記クライアントPCと前記ネットワークの間に接続され、前記計算機に含まれ、前記Webアプリを有するフォワードプロキシ及び
前記サーバと前記ネットワークの間に接続され、前記計算機に含まれ、前記Webアプリを有するリバースプロキシを備え、
前記性能情報は、さらに、
前記フォワードプロキシ及び前記リバースプロキシの項目を有する
ことを特徴とする計算機システム。
【請求項５】
請求項４記載の計算機システムであって、
前記サーバは、さらに、
前記計算機の性能を示す計算機情報を有し、
前記影響度情報は、さらに、
前記カスタマイズのそれぞれについて、該カスタマイズを実行した場合に計算機に要求する性能を示すリソース要求度情報を含み、
前記サーバは、前記計算機情報と前記影響度情報を参照し、前記計算機のうちで前記カスタマイズを実行できない計算機があると判断した場合は、前記カスタマイズを実行する計算機から除外して前記カスタマイズを実行する計算機を判断する
ことを特徴とする計算機システム。
【請求項６】
請求項５記載の計算機システムであって、
前記計算機情報は、さらに、
前記計算機の間におけるネットワークに関する情報を含む
ことを特徴とする計算機システム。
【請求項７】
請求項６記載の計算機システムであって、
前記サーバは、さらに、
前記アプリケーションの利用者の属性を示す利用者属性情報を有し、
前記影響度情報は、さらに、
前記カスタマイズ項目について前記利用者の属性に従ってカスタマイズを行った場合の前記利用者に対する効果を示すカスタマイズ属性情報を含み、
前記カスタマイズをいずれの計算機において実行するかの判断において、前記カスタマイズ項目を行う計算機の前記性能属性情報の値の差が予め定めた値に収まる場合、前記サーバは、前記リクエストに含まれる利用者に関する情報、前記利用者属性情報及び前記影響度情報を参照して、前記リクエストに係るカスタマイズが前記利用者にとっての有効度を判断し、有効でないと判断した場合に前記クライアントPCにアラートを出す
ことを特徴とする計算機システム。
【請求項８】
請求項７記載の計算機システムであって、
前記カスタマイズが前記利用者にとっての有効度の判断は、前記カスタマイズ属性情報の値が予め定めた値よりも少ない場合に有効でないと判断する
ことを特徴とする計算機システム。
【請求項９】
請求項８記載の計算機システムであって、
前記サーバは、さらに、
前記利用者の属性ごとに前記カスタマイズができるか否かを予め定めた情報を示す制限情報を含み、
前記カスタマイズを前記計算機のいずれにおいて実行するか判断する前に、前記サーバは、前記制限情報を参照して、前記カスタマイズができないと判断した場合は、前記クライアントPCにアラートを出す
ことを特徴とする計算機システム。
【請求項１０】
請求項９記載の計算機システムであって、
前記リソース要求度情報は、
前記計算機の間におけるネットワークの帯域に関する情報を含む
ことを特徴とする計算機システム。
【請求項１１】
請求項１０記載の計算機システムであって、
前記利用者属性情報は、
前記利用者の性別、世代、所属及び能力を含む
ことを特徴とする計算機システム。
【請求項１２】
請求項１１記載の計算機システムであって、
前記利用者属性情報の能力は、
前記利用者のITスキル、使用言語及び身体的機能
を含むことを特徴とする計算機システム。
【請求項１３】
請求項１２記載の計算機システムであって、
前記カスタマイズ項目は、
前記Webブラウザに表示される文字のフォント、文字の大きさ、文字のスタイル、文字入力の方法、画像フレームの位置、画像フレームのサイズ及び色彩を含む
ことを特徴とする計算機システム。
【請求項１４】
請求項１３記載の計算機システムであって、
前記リソース要求度情報は、
前記計算機に要求するCPU、メモリ容量及び使用可能ディスク容量を含む
ことを特徴とする計算機システム。
【請求項１５】
Webブラウザを有する複数のクライアントPC、Webアプリを有し、前記複数のクライアントPCと接続するフォワードプロキシ、Webアプリを有し、前記フォワードプロキシと接続するリバースプロキシ及びWebアプリを有し、前記リバースプロキシと接続する複数のサーバを含み、前記Webブラウザ及び前記Webアプリを実行することによりアプリケーションを実行する計算機システムにおいて、
前記アプリケーションの利用者から前記アプリケーションのカスタマイズに関するリクエストを受信し、
前記サーバが有する、前記アプリケーションの一部であってカスタマイズを行う対象であるカスタマイズ項目並びに該カスタマイズ項目のそれぞれに対して、前記複数のクライアントPC、前記フォワードプロキシ、前記リバースプロキシ及び前記複数のサーバについて前記カスタマイズを実行した場合の性能面での影響を示す影響度情報を参照し、
前記複数のクライアントPC、前記フォワードプロキシ、前記リバースプロキシ及び前記複数のサーバから、前記カスタマイズを実行した場合に最も影響の低い計算機を選択し、
前記選択した計算機に前記カスタマイズを実行する
ことを特徴とするカスタマイズ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Webを経由して提供するサービスをカスタマイズする技術であって、特にカスタマイズ処理の効率を向上する技術に関する。
【背景技術】
【０００２】
SaaS(Software as a Service)と呼ばれる、ソフトウェアの機能をネットワークを通して提供するサービス形態がある。SaaSの提供者はWebサーバ上で動作するWebアプリ(SaaSアプリ)でソフトウェアの機能を提供し、SaaSの利用者はWebブラウザを用いてこの機能を利用する。
【０００３】
計算機資源の利用率向上などの目的で、ひとつのSaaSアプリを複数のユーザが利用する形態もよく採用されている。この利用形態においては、特定のユーザの希望に応じて元のSaaSアプリの仕様を勝手に変更することができないため、ユーザの利便性が制限されがちになる。この制限を緩和するために、SaaSアプリ自体に手を加えないカスタマイズの技術が求められている。
【０００４】
外部サーバを用いたカスタマイズの方式として、特許文献１がある。
【０００５】
特許文献1記載の技術では、ユーザがブラウザ上で操作することにより、Webページに対するカスタマイズ情報がカスタマイズサーバによりカスタマイズDBに登録される。その後で、カスタマイズサーバはブラウザから受信したページ要求をWebサーバに転送し、その要求への応答として受信したページデータに対し、カスタマイズDBに登録された内容に従ってカスタマイズ処理を実行、処理後のデータをブラウザに送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2009-251754号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献1記載の技術では、ユーザごとにカスタマイズの内容が異なる場合、カスタマイズの管理が煩雑になるという問題がある。一方で、カスタマイズサーバの機能をクライアント側に置くことによりこの問題は軽減されるが、カスタマイズに伴う処理コストをクライアント機が負うことになり、SaaSアプリ利用時のパフォーマンス低下が新たな問題となる。
【０００８】
これらの問題を解消し、効率のよいカスタマイズ手段を提供することが本発明の目的である。
【課題を解決するための手段】
【０００９】
本発明では、上記課題を解決するために、利用者に関する情報、カスタマイズを実行する項目及び該項目をいずれの計算機で実行するかに関する情報から、カスタマイズを適切に行う手段を提供する。
【発明の効果】
【００１０】
本発明によれば、性能面での負担の大きいカスタマイズや、個々のユーザの嗜好に依存するため管理の煩雑なカスタマイズなどの異なる局面において、それぞれに応じた効率のよいカスタマイズ環境を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１の概要図
【図２】実施例１のカスタマイズ画面を説明する図
【図３】実施例１で扱うデータを説明する図
【図４】実施例１で扱うデータを説明する図
【図５】実施例１で扱うデータを説明する図
【図６】実施例１で扱うデータを説明する図
【図７】実施例１の利用者端末の画面を説明する図
【図８】実施例１の利用者端末の画面のカスタマイズ例を説明する図
【図９】実施例１の利用者端末の画面のカスタマイズ例を説明する図
【図１０】実施例１の利用者端末の画面のカスタマイズ例を説明する図
【図１１】実施例１の処理の流れを説明する図
【図１２】実施例２の概要図
【図１３】実施例２で扱うデータを説明する図
【図１４】実施例２の処理の流れを説明する図
【図１５】実施例２の処理の流れを説明する図
【図１６】実施例３の概要図
【図１７】実施例３で扱うデータを説明する図
【図１８】実施例４の概要図
【図１９】実施例４で扱うデータを説明する図
【図２０】実施例４の処理の流れを説明する図
【図２１】実施例４の処理の流れを説明する図
【発明を実施するための形態】
【実施例１】
【００１２】
以下、発明を実施するための形態を、図1〜図11を参照しながら説明する。
【００１３】
図1は、実施例1の概要を説明する図である。
【００１４】
実施例1で説明するシステムは、ユーザ側の環境として利用者端末(101)とクライアントPC(102)、ベンダ側の環境としてサーバ(109)と、これらを繋げるネットワーク(108)から構成される。利用者端末は、例えばクライアントPCの入出力装置として動作するディスプレイなどが挙げられる。また、利用者端末とクライアントPCを1つとして用いてもよく、この場合は例えばノートPCや携帯電話などが挙げられる。なお、クライアントPCとサーバは、それぞれ複数存在してもよい。
【００１５】
クライアントPC(102)は、CPU(103)、メモリ(104)を備える。CPU(102)は、メモリ(104)に読み込んだプログラムであるWebブラウザ(106)を実行することにより、ユーザ(100)が操作する端末(101)に文字、画像、音声、動画などを表示する。
【００１６】
さらにCPU(103)は、メモリ(104)に読み込んだプログラムであるカスタマイズプログラム(107)を実行することにより、端末(101)に表示された文字、画像、音声、動画等で構成されるコンテンツをユーザ(100)の使いやすいようにカスタマイズする。カスタマイズに必要なソースコード、設定ファイルは、カスタマイズコード(105)として格納される。
【００１７】
サーバ(109)は、CPU(110)、メモリ(111)を備える。CPU(110)は、メモリ(111)に読み込んだプログラムであるWebアプリ(118)を実行することにより、ユーザ(100)からのネットワーク(108)を介した要求に応えて文字、画像、音声、動画等で構成されるコンテンツをクライアントPC(102)に送信する。
【００１８】
さらにCPU(110)は、メモリ(111)に読み込んだプログラムであるカスタマイズプログラム(120)を実行することにより、端末(101)に表示された文字、画像、音声、動画等で構成されるコンテンツをユーザ(100)の使いやすいようにカスタマイズする。カスタマイズに必要なソースコード、設定ファイルは、カスタマイズコード(112)として格納される。
【００１９】
さらにCPU(110)は、メモリ(111)に読み込んだプログラムであるカスタマイズ実行環境決定プログラム(121)を実行することにより、端末(101)に表示された文字、画像、音声、動画等で構成されるコンテンツをユーザ(100)の使いやすいようにカスタマイズする処理を、ユーザ側又はベンダ側のいずれのカスタマイズプログラム(107, 121)を用いて実行するかを決定する。カスタマイズ実行環境決定に関する情報は、影響度表(300)、ユーザ名簿(400)、カスタマイズ箇所リスト(410)、制限付け表(600)、およびカスタマイズ場所リスト(500)などにより構成される。なお、これらの情報は、HDDなどの記憶装置に格納される。
【００２０】
図2は、カスタマイズ選択GUI(Graphical User Interface)の画面イメージを説明する図である。
【００２１】
実施例1で説明するシステムでは、画面(200)は端末(101)に表示され、ポインタ(201)、カスタマイズ対象画面(202)、カスタマイズボタン(203)、およびカスタマイズ情報リスト(204)から構成される。
【００２２】
カスタマイズ対象画面(202)は、見出し(205)、ソートボタン(206)、データリスト(207)、およびメニュー(208)を備える。
【００２３】
画面(200)上でポインタ(201)を操作しカスタマイズボタン(203)をクリックすると、カスタマイズ対象画面(202)はカスタマイズ操作の対象となる。カスタマイズ対象画面(202)に対して行うことができるカスタマイズの一覧はポインタ(201)によって項目選択可能なメニュー(208)として表示される。ユーザ(100)が選択したカスタマイズ等の情報は、画面(200)上のカスタマイズ情報リスト(204)に表示され、過去の実施項目の一覧表示などが可能である。
【００２４】
図3は、カスタマイズ項目・内容ごとの各評価指標に対する影響度表の内容、およびカスタマイズ情報を説明する図である。影響度表は、そのカスタマイズを実施することで、評価指標として列挙した項目の値にどれだけの影響を与えるかを表す。
【００２５】
実施例１で説明するシステムでは、影響度表(300)は、ID(301)、カスタマイズ項目(302)、カスタマイズの内容(303)、性能属性(304)、カスタマイズ属性(305)及びカスタマイズ適用場所(306)の項目を備える。カスタマイズ項目(302)はカスタマイズされる項目のおおまかな分類を、カスタマイズの内容(303)はカスタマイズに伴う具体的な変更内容を示す。
【００２６】
カスタマイズ項目(302)には、図3に示した表示属性変更、入力サイズ変更、入力スタイル変更、画像属性変更のほかに、テーブルの見た目や操作性の変更、閲覧権限やカスタマイズ権限の変更、カスタマイズ機能の追加、コンテンツ要素の追加削除、他のWebページとのマッシュアップ、カスタマイズ自体の管理などがあげられる。
【００２７】
性能属性(304)は、さらにクライアントとサーバの項目を有し、それぞれのカスタマイズを行った場合にクライアント及びサーバの性能に対してどれくらい影響があるかを示す。
【００２８】
カスタマイズ属性(305)は、それぞれのカスタマイズの効果を表し、表示時間の短縮などの性能向上、ユーザ補助、表示言語設定などに分かれる。ユーザ補助はさらに初心者補助、子供補助、視覚補助などに分かれ、表示言語設定は日本語、英語、中国語などに分かれる。これらの値は、カスタマイズプログラム(107、120)の管理者が事前に評価を実施した結果に基づき入力しておく。
【００２９】
カスタマイズ適用場所(306)は、それぞれのカスタマイズ項目についてユーザからカスタマイズの要求がなかった場合にいずれの場所で適用するかのデフォルトを示す。
【００３０】
カスタマイズによってそれぞれの効果が元の状態よりも低下する場合には、カスタマイズ属性(304)は負の値をとる。
【００３１】
カスタマイズ情報(310)は、ユーザ名(311)およびカスタマイズ識別情報(312)から構成される。画面(200)上でのユーザ(100)の操作により選択されたカスタマイズに関する情報は、カスタマイズ情報(310)の形でクライアントPC(102)からサーバ(109)に送信される。
【００３２】
図4は、ユーザIDとユーザ名、さらにそのユーザのもつすべての属性との対応を示したユーザ名簿、およびカスタマイズの実行場所を示すカスタマイズ場所リストの内容を説明する図である。
【００３３】
実施例１で説明するシステムでは、ユーザ名簿(400)は、ID(401)、ユーザ名(402)、およびユーザ属性(403)の項目を備える。
【００３４】
また、カスタマイズ場所リスト(410)は、カスタマイズID(411)および適用場所(412)で構成され、カスタマイズID(411)で表される個々のカスタマイズを現在サーバ/クライアントのいずれで実行する設定にしているかを示す表である。本実施例において、カスタマイズ場所リスト(410)の初期状態ではすべての適用場所(412)はクライアントに設定されている。
【００３５】
図5は、個々のカスタマイズについて、その識別番号、「コード上の箇所」およびカスタマイズ内容の分類を対応づけたカスタマイズリストを説明する図である。
【００３６】
実施例１で説明するシステムでは、カスタマイズリスト(500)は、識別番号(501)、カスタマイズ箇所(502)、およびカスタマイズID(503)の項目を備える。カスタマイズ箇所(502)は、カスタマイズコード(105,112)のソースファイルのパス名およびバイトオフセット値を示しており、Webアプリ(118)のどの部分がカスタマイズによって変更されるかを特定するための情報である。カスタマイズID(503)には、図3の影響度表(300)におけるID(301)が対応する。カスタマイズ箇所(502)とカスタマイズID(503)の対応付けは、カスタマイズ箇所(502)で示されるカスタマイズコード(105,112)の情報をもとにカスタマイズコード(105,112)の開発者等が実施する。
【００３７】
図6は、あるユーザ属性に対して実施してよいカスタマイズを制限するための制限付け表を説明する図である。
【００３８】
実施例１で説明するシステムでは、制限付け表(600)は、ユーザ分類(601)、ユーザ属性値(602)及びカスタマイズ項目(603)の項目を備える。ユーザ分類(601)には、ごく個人的なものからある企業に属するかどうかといった組織上の分類まで含まれる。これを用いて、「企業Aの社員は種別Ｍのカスタマイズは実施禁止」といった種類の制限も可能となる。
【００３９】
図7は、本実施例におけるGUIのカスタマイズを説明するための図である。
【００４０】
本実施例１で説明するシステムでは、画面(700)は、見出し(701)、ソートボタン(702)、およびデータリスト(703)を備える。画面(700)は、カスタマイズ元の画面イメージを示す。
【００４１】
図8は、GUIのカスタマイズ適用後の画面イメージを示す図である。
【００４２】
本実施例１で説明するシステムでは、画面(800)は、見出し(801)、ソートボタン(802)、およびデータリスト(803)を備える。
【００４３】
図9は、GUIのカスタマイズ適用後の画面イメージを示す図である。
【００４４】
本実施例１で説明するシステムでは、画面(900)は、見出し(901)、ソートボタン(902)、およびデータリスト(903)を備える。
【００４５】
図10は、GUIのカスタマイズ適用後の画面イメージを示す図である。
【００４６】
本実施例１で説明するシステムでは、画面(1000)は、見出し(1001)、ソートボタン(1002)、およびデータリスト(1003)を備える。
【００４７】
図2の画面(200)において、カスタマイズ対象画面(202)は初期状態では図7の画面(700)のようになっている。ユーザ(100)が端末(101)を操作することで、見出し(701)、ソートボタン(702)、データリスト(703)の上にメニュー(208)が表示され、選択可能なカスタマイズが示される。ユーザ(100)はポインタ(201)操作によってメニュー(208)内の項目を選択し、その結果として画面(700)は、画面(800)、画面(900)、画面(1000)などのようにカスタマイズされる。
【００４８】
個々のカスタマイズは、カスタマイズリスト(500)に登録されており、例えば画面(800)のカスタマイズは識別番号(501)の値0001、画面(900)のカスタマイズは識別番号(501)の値0002、画面(1000)のカスタマイズは識別番号(501)の値0003、のように対応付けられる。ユーザ(100)が端末(101)を操作することで選択されたカスタマイズに関する情報は、カスタマイズ情報(310)の形でクライアントPC(102)からサーバ(109)に送信される。
【００４９】
図11は、実施例1においてカスタマイズの実行場所を決定する処理の流れを説明する図である。クライアントPC(102)はユーザ(100)によって画面(200)から入力されたカスタマイズ要求を端末(101)から受信し(ステップ1101)、その要求をサーバ(109)へさらに送信する(ステップ1102)。
【００５０】
一方、サーバ(109)はクライアントPC(102)からのカスタマイズ要求を受信する(ステップ1111)と、カスタマイズ要求に含まれるカスタマイズ情報(310)内のユーザ名(311)をもとに、これにマッチするユーザ名簿(400)内のユーザ名(402)を検索し、これに対応するユーザ属性(403)を抽出する(ステップ1112)。次に、カスタマイズ情報(310)内のカスタマイズ識別番号(312)をもとに、これにマッチするカスタマイズリスト(500)内の識別番号(501)を検索し、これに対応づけられたカスタマイズID(503)を特定する(ステップ1113)。さらに、カスタマイズ内容に対して制限付けされた属性があるかどうか、制限付け表(600)から検索を行う(ステップ1114)。
【００５１】
制限付けされた属性があるかどうか検索の結果を判定し(ステップ1115)、そうした属性がもしあった場合には、クライアントPC(102)にカスタマイズ要求が却下されたことを示す応答を送信する(ステップ1103)。なかった場合には、影響度表(300)およびユーザ名簿(400)からカスタマイズ適用場所を決定する(ステップ1117)。この決定は、カスタマイズID(301)の値をもとに影響度表(300)から検索された性能属性(304)をカスタマイズ実行環境決定プログラム(121)が参照することで行われる。この照合により、クライアントPC(102)側かサーバ(109)側かを決定する。
【００５２】
カスタマイズ実行環境決定プログラムは、以下のようにして適用場所を判断する。性能属性(304)から、カスタマイズを実行した場合にサーバ及びクライアントそれぞれについて性能面でどの程度影響するかを比較する。ここで、サーバとクライアントの数値の差が予め定めた値以下に収まる時は、性能面としてはどちらに適用しても影響は無いものと判断し、カスタマイズ項目が現在実行されている場所をカスタマイズ適用場所として選択する。一方、予め定めた値に収まらない時は、影響度の低い方をカスタマイズ適用場所として選択する。なお、カスタマイズがクライアントとサーバのいずれも別に予め定めた値以上の時は、カスタマイズが性能面で不適と判断してカスタマイズを行わないとしてもよい。
【００５３】
また、カスタマイズ適用場所を決定するに際し、カスタマイズ属性(305)と、ユーザ名(402)をもとにユーザ名簿(400)から検索されたユーザ属性(403)から、ユーザに対してリクエストされたカスタマイズがユーザにとって適しているか否かを判断して、ユーザにとって適していないと判断した場合にユーザに確認を取るアラートを出すとしてもよい。具体的には、ユーザがリクエストしたカスタマイズについて、カスタマイズ属性(305)からカスタマイズのユーザに対する効果である数値を参照し、数値が負の値である場合又は予め定めた値を超えた場合にユーザにとって不適であると判断する。
【００５４】
カスタマイズ場所がサーバ(109)側となる場合には、サーバ側でカスタマイズの設定を行い(ステップ1119)、カスタマイズ場所リスト(410)内の該当するカスタマイズID(411)について、適用場所(412)の値を「クライアント」から「サーバ」に変更する(ステップ1120)。そのあとで、クライアントPC(102)にカスタマイズ設定が完了したことを示す応答を送信する(ステップ1121)。カスタマイズ場所がクライアントPC(102)側だった場合には、クライアントPC(102)にカスタマイズ設定を要求する応答を送信する(ステップ1122)。
【００５５】
ステップ1102でサーバ(109)にカスタマイズ要求を送信したクライアントPC(102)は、その要求に対する応答を受信し(ステップ1103)、その種別を判定する(ステップ1104)。
【００５６】
応答がカスタマイズ設定要求であった場合、クライアントPC(102)はメモリ(102)上のカスタマイズプログラム(107)でカスタマイズを実施するように設定し(ステップ1105)、カスタマイズの完了を端末(101)に表示(ステップ1106)して終了する。応答がカスタマイズ却下通知であった場合、クライアントPC(102)はカスタマイズ要求が却下されたことを端末(101)に表示(ステップ1107)して終了する。応答がサーバ(109)側でのカスタマイズ完了の通知だった場合、クライアントPC(102)はカスタマイズ完了通知を端末(101)に表示(ステップ1106)して終了する。
【００５７】
以上の操作により、ユーザからのカスタマイズ要求に対して、そのカスタマイズをクライアントPC、サーバのいずれで実行するかを決定することができた。本実施例で示したシステム構成を用いることにより、SaaSベンダは高度なカスタマイズに伴うクライアントPCへの過大な負荷発生や、ユーザごとにカスタマイズが異なることに起因するサーバリソースへの圧迫増大などを人手によるチューニングの手間なしで回避することが可能となる。
【実施例２】
【００５８】
以下、発明を実施するためのほかの形態を、図2〜図10、図12〜図15を参照しながら説明する。
【００５９】
図12は、実施例2の概要を説明する図であり、図1にカスタマイズ利用度表(1300)を加えた図である。また、図2〜図10については実施例１で用いたものと同等である。
【００６０】
図13は、カスタマイズ利用度表の構成を説明する図である。
【００６１】
カスタマイズ利用度表(1300)は、カスタマイズID(1301)と利用者数(1302)で構成され、カスタマイズID(1301)で表される個々のカスタマイズを何人のユーザが現在利用しているかを示す表である。カスタマイズ利用度表(1300)において、利用者数(1302)の値が大きいカスタマイズは多くのユーザが使用していることから、このカスタマイズ処理をクライアントPC側からサーバ側に移すことにより、大きなユーザ環境の処理軽減効果が見込めることになる。
【００６２】
図14は、実施例２においてカスタマイズの実行場所を決定する処理の流れを説明する図である。
【００６３】
クライアントPC(102)はユーザ(100)によって画面(200)から入力されたカスタマイズ要求を端末(101)から受信し(ステップ1401)、その要求をサーバ(109)へさらに送信する(ステップ1402)。
【００６４】
一方、サーバ(109)はクライアントPC(102)からのカスタマイズ要求を受信する(ステップ1421)と、カスタマイズ場所リスト(410)からカスタマイズID(411)に対応する適用場所(412)を検索する(ステップ1422)。
【００６５】
検索されたカスタマイズ適用場所がサーバ(109)であるかどうかを判定し(ステップ1423)、サーバ(109)である場合にはそのままサーバ(109)側でカスタマイズ設定を実施し(ステップ1424)、クライアントPC(102)にカスタマイズ設定完了を通知する(ステップ1425)。
【００６６】
検索されたカスタマイズ適用場所がサーバ(109)でなくクライアントPC(102)の場合、クライアントPC(102)にカスタマイズ設定要求を送信する(ステップ1426)。
【００６７】
クライアントPC(102)はサーバからの応答を受信し(ステップ1403)、応答種別について判定する(ステップ1404)。もし応答がカスタマイズ完了通知であった場合、カスタマイズ完了を端末(101)に表示(ステップ1405)してそのまま終了する。
【００６８】
サーバ(109)からの応答がカスタマイズ設定要求であった場合、いったんクライアント側でカスタマイズ設定を実施する(ステップ1406)。
【００６９】
次に、カスタマイズ利用度表(1300)内の該当するカスタマイズID(1301)について、利用者数カウントを１加算し(ステップ1407)、カウントが所定の閾値に達したかどうか判定する(ステップ1408)。もし達していなければ、カスタマイズ完了を端末(101)に表示(ステップ1405)してそのまま終了する。
【００７０】
もしカウント値が所定の閾値に達した場合には、カスタマイズ場所リスト(410)内の該当するカスタマイズID(411)について、適用場所(412)の値を「クライアント」から「サーバ」に変更する(ステップ1409)。
【００７１】
その後でサーバ(109)にカスタマイズ要求を送信する(ステップ1410)と、先ほどの説明と同様にステップ1421からステップ1423まで処理が流れる。ここで適用場所(1305)の値は必ず「サーバ」に設定されているため、ステップ1424からステップ1425を経由し、クライアントPC(102)はサーバ(109)からのカスタマイズ完了通知を受信する(ステップ1403)。その後はステップ1404からステップ1405に至り、カスタマイズ完了を端末(101)に表示して処理を終了する。
【００７２】
以上の流れにより、累積された利用者数が多いカスタマイズについてはカスタマイズ実施をサーバ(109)側に移動する設定が実施されることになる。しかしながら、これだけでは他のユーザ(100)のクライアントPC(102)のカスタマイズ設定にこの移動が反映されないため、他のユーザ(100)のSaaSアプリケーション実行時に強制的に移動を反映させる必要がある。
【００７３】
図15は、カスタマイズ場所移動を反映させるためのアプリケーション実行処理の流れについて説明する図である。
【００７４】
クライアントPC(102)は、ユーザ端末(101)からアプリケーション実行要求を受信する(ステップ1501)と、そのアプリケーションに場所移動の反映が確認されていないカスタマイズが残っているか判定する(ステップ1502)。
【００７５】
まだカスタマイズが残っている場合には、カスタマイズ場所リスト(410)内の該当するカスタマイズID(411)を参照し(ステップ1503)、設定がクライアントPC(102)側であるか判定する(ステップ1504)。クライアントPC(102)側である場合には移動の必要がないため、次のカスタマイズをチェックするステップ1502に戻る。
【００７６】
設定がサーバ(109)側である場合、現在のカスタマイズがクライアントPC(102)側となっているか判定する(ステップ1505)。クライアントPC(102)側にカスタマイズ設定がなされていない場合には問題ないので、次のカスタマイズをチェックするステップ1502に戻る。クライアントPC(102)側にカスタマイズ設定されている場合には、この設定を解除してクライアントPC(102)側でカスタマイズを実施しないようにする(ステップ1506)。ステップ1506の後はステップ1502に戻り、すべてのカスタマイズについて同様の処理を繰り返す。
【００７７】
次にサーバ(109)へアプリケーションの実行要求を転送する(ステップ1507)。サーバ(109)は、アプリケーション実行要求を受信し(ステップ1521)、アプリケーションを実行(ステップ1522)し、実行結果へカスタマイズ適用(ステップ1523)し、クライアントPC(102)にアプリケーションの実行完了を送信する(ステップ1524)。図14のステップ1424で、サーバ(109)側のカスタマイズ設定はすべて実施されているため、サーバ(109)におけるアプリケーション実行時にカスタマイズ場所リスト(1303)を確認する必要はない。
【００７８】
クライアントPC(102)はサーバからのアプリケーション実行完了通知を受信し(ステップ1508)、その後でクライアントPC(102)側で設定されているすべてのカスタマイズ内容を適用し(ステップ1509)、実行結果を端末(101)に表示(ステップ1510)して終了する。先のステップ1506によって、クライアントPC(102)とサーバ(109)の両方で同一のカスタマイズを実行しないことが保証されているため、カスタマイズを2回適用して不正な結果となる事態を回避できる。
【００７９】
以上の処理により、ユーザからのカスタマイズ要求に対して、そのカスタマイズをユーザの利用度合いに応じてクライアントPC、サーバのいずれで実行するかを決定することが可能となる。本実施例で示したシステム構成を用いることにより、SaaSベンダは高度なカスタマイズに伴うクライアントPCへの過大な負荷発生を防げることに加え、個々のユーザが試用するカスタマイズについてはそのままクライアント側で実行させ、多くのユーザが使い出した「人気の高い」カスタマイズについては人手によるチューニングの手間なしでサーバ側に移動させることが可能となる。
【実施例３】
【００８０】
以下、発明を実施するためのほかの形態を、図2、図4、図5〜図11、図16〜図17を参照しながら説明する。なお、図2、図4、図5〜図11については実施例1で用いたものと同等である。実施例1と同じ番号を付した構成の機能や動作は、特に言及しない限り実施例１と同様である。
【００８１】
図16は、実施例3の概要を説明する図であり、図1に、フォワードプロキシ(1601)、リバースプロキシ(1602)、性能評価プログラム(1603)、および性能データ(1604)を加えた図である。
【００８２】
フォワードプロキシ(1601)は、クライアントPC(102)からネットワーク(108)に出入りする情報についてフィルタリングや認証処理を行うためのものであり、メモリ(104)に読み込まれて実行される。カスタマイズプログラム(107)はフォワードプロキシ(1601)の一部として実行される。
【００８３】
リバースプロキシ(1602)は、サーバ(109) からネットワーク(108)に出入りする情報について負荷分散や認証処理を行うためのものであり、メモリ(111)に読み込まれて実行される。カスタマイズプログラム(120)はリバースプロキシ(1602)の一部として実行される。
【００８４】
性能評価プログラム(1603)は、クライアントPC(102)のCPU(103)、メモリ(104)、ディスク装置等の性能について評価を行うプログラムであり、メモリ(104)に読み込まれて実行される。性能評価プログラム(1603)はカスタマイズの発生とは無関係に適宜実行され、その実行結果は性能データ(1604)に格納される。
【００８５】
図17は、実施例3におけるカスタマイズ項目・内容ごとの各評価指標に対する影響度表の内容、およびカスタマイズ情報を説明する図である。この図17は、図3からカスタマイズ適用場所(306) 、カスタマイズ情報(310)、ユーザ名(311)、カスタマイズ識別情報(312)を取り除き、新たにリソース要求度(1701)、カスタマイズ情報(1710)、ユーザ名(1711)、カスタマイズ識別情報(1712)、およびクライアント性能評価値(1713)を加えた図である。
【００８６】
影響度表(300)は、そのカスタマイズを実施することで、評価指標として列挙した項目の値にどれだけの影響を与えるか、およびそのカスタマイズを実施するにあたりどれだけ計算機リソースの使用量が増えるかについて表すものである。性能属性(304)は、前述の実施例に比べて、フォワードプロキシとリバースプロキシの列が増える。
【００８７】
リソース要求度(1701)は、カスタマイズの内容(303)ごとに、CPU、メモリ、ディスク装置について、ユーザ(100)に不快感を与えないよう適切な時間で表示処理を実行するために要求されるリソース量の度合いを表すものであり、その値は性能評価プログラム(1603)の内容に準拠するものとする。
【００８８】
カスタマイズ情報(1710)は、ユーザ名(1711)、カスタマイズ識別情報(1712)、およびクライアント性能評価値(1713)から構成される。画面(200)上でのユーザ(100)の操作により選択されたカスタマイズに関する情報は、カスタマイズ情報(1710)の形でクライアントPC(102)からサーバ(109)に送信される。
【００８９】
図11は、実施例1および実施例3においてカスタマイズの実行場所を決定する処理の流れを説明する図である。本実施例では、ステップ1102においてクライアントPC(102)からサーバ(109)に送信するカスタマイズ要求にはカスタマイズ情報(1710)が含まれる。カスタマイズ情報(1710)内のクライアント性能評価値(1713)には、性能データ(1604)の最新値が格納される。
【００９０】
ステップ1117では、実施例1と同様に、影響度表(300)およびユーザ名簿(400)からカスタマイズ適用場所を決定する。
【００９１】
この決定は、カスタマイズID(301)の値をもとに影響度表(300)から検索された性能属性(304)及びカスタマイズ属性(305)と、ユーザ名(402)をもとにユーザ名簿(400)から検索されたユーザ属性(403)を照合することで行われる。本実施例では、この照合がリソース要求度(1702)とクライアント性能評価値(1713)の間で行われ、リソース要求度(1702)よりもクライアント性能評価値(1713)が低かった場合には、カスタマイズをサーバ(109)側で行うことが決定されるという判断が性能属性(304)の判断の前に加わるところが実施例1と異なる。
【００９２】
これにより、クライアントPC(102)個々の性能の違いを反映して、適切な表示処理時間を維持するためのカスタマイズ場所の決定が可能となる。
【実施例４】
【００９３】
以下、発明を実施するためのほかの形態を、図2、図4、図5〜図10、図18〜図20を参照しながら説明する。なお、図2、図4、図5〜図10については実施例1で用いたものと同等である。実施例1と同じ番号を付した構成の機能や動作は、特に言及しない限り実施例１と同様である。
【００９４】
図18は、実施例4の概要を説明する図であり、図16に、ユーザ企業のイントラネット環境等においてフィルタリングや認証処理を専門に行うローカルプロキシ(1801)、およびCPU(1802)、メモリ(1803)、ネットワーク入出力制御プログラム(1804、1805)、そのほか性能評価プログラム(1810)、性能データ(1811)を加えた図である。フォワードプロキシ(1601)および性能評価プログラム(1603)は図16におけるメモリ(104)から図18ではメモリ(1803)上に移動した。またカスタマイズコード(105)および性能データ(1604)はローカルプロキシ(1801)に接続するように変更した。
【００９５】
フォワードプロキシ(1601)は、クライアントPC(102)からネットワーク(108)に出入りする情報についてフィルタリングや認証処理を行うためのものであり、ローカルプロキシ(1801)のメモリ(1803)に読み込まれて実行される。
【００９６】
ネットワーク入出力制御プログラム(1804、1805)は、それぞれローカルプロキシ(1801)およびサーバ(109)がネットワーク(108)との間で行う入出力を制御するプログラムであり、それぞれメモリ(1803、111)に読み込まれて実行される。
【００９７】
性能評価プログラム(1810)は、サーバ(109)のCPU(110)、メモリ(111)、ディスク装置、ネットワーク装置等の性能について評価を行うプログラムであり、メモリ(111)に読み込まれて実行される。性能評価プログラム(1810)はカスタマイズの発生とは無関係に適宜実行され、その実行結果は性能データ(1811)に格納される。
【００９８】
図19は、実施例4におけるカスタマイズ項目・内容ごとの各評価指標に対する影響度表の内容、およびカスタマイズ情報を説明する図である。この図19は、図17からリソース要求度(1701)を取り除き、性能属性(1901)の内容を変更した図である。
【００９９】
性能属性(1901)は、カスタマイズの内容(303)ごとに、CPU、メモリ、ディスクおよびネットワークについて、ユーザ(100)に不快感を与えないよう適切な時間で表示処理を実行するために要求されるリソース量の度合いを表すものであり、その値は性能評価プログラム(1603、1810)の内容に準拠するものとする。
【０１００】
カスタマイズ情報(1710)は、ユーザ名(1711)、カスタマイズ識別情報(1712)、およびローカルプロキシ性能評価値(1911)から構成される。画面(200)上でのユーザ(100)の操作により選択されたカスタマイズに関する情報は、カスタマイズ情報(1710)の形でローカルプロキシ(1801)からサーバ(109)に送信される。
【０１０１】
図20は、実施例4においてカスタマイズの実行場所を決定する処理の流れを説明する図であり、図11のステップ1101,1105,1106,1107,1111,1116,1121,1122をそれぞれステップ2001,2002,2003,2004,2011,2012,2013,2014に差し替えたものである。これらのステップでは、実施例4の図18に示す構成変更に合わせて、「ユーザ端末」を「クライアントPC」に、「クライアントPC」を「ローカルプロキシ」に置き換えており、処理の内容自体には変更はない。本実施例では、ステップ1102においてクライアントPC(102)からサーバ(109)に送信するカスタマイズ要求にはカスタマイズ情報(1710)が含まれる。
【０１０２】
ステップ1117では、実施例1と同様に、影響度表(300)およびユーザ名簿(400)からカスタマイズ適用場所を決定する。
【０１０３】
この決定は、カスタマイズID(301)の値をもとに影響度表(300)から検索された性能属性(304)及びカスタマイズ属性(305)と、ユーザ名(402)をもとにユーザ名簿(400)から検索されたユーザ属性(403)を照合することで行われる。本実施例では、この照合がリソース要求度(1702)とローカルプロキシ性能評価値(1911)の間で行われ、リソース要求度(1702)よりもローカルプロキシ性能評価値(1911)が低かった場合には、ローカルプロキシ(1801)とサーバ(109)で性能評価値が高いほうでカスタマイズを行うことが決定されるという判断が加わるところが実施例1と異なる。
【０１０４】
図21は、実施例4における性能評価プログラムの処理の流れ、およびこれにより生成される性能データの内容について説明する。
【０１０５】
まずCPU速度を測定し(ステップ2101)、その結果を既存のベンチマークツールの基準等に準拠した形で点数化し性能データに保存する(ステップ2102)。
【０１０６】
次に利用可能なメモリ容量を測定し(ステップ2103)、その値をギガバイト単位で点数化し性能データに保存する(ステップ2104)。
【０１０７】
ディスクアクセス速度を測定し(ステップ2105)、その結果を既存のベンチマークツールの基準等に準拠した形で点数化し性能データに保存する(ステップ2106)。
【０１０８】
次にネットワークスループットを測定する(ステップ2107)。具体的には、ローカルプロキシ(1801)とサーバ(109)の間で性能評価プログラム(1603、1810)が通信を発生させ、ネットワーク入出力制御プログラム(1804、1805)が単位時間あたりに処理したデータ量を性能評価プログラム(1603、1810)が集計し、その結果を既存のベンチマークツールの基準等に準拠した形で点数化し、性能データに保存(ステップ2108)して終了する。
【０１０９】
性能データ(2110)は、図21上で示した処理で生成されるローカルプロキシ(1801)およびサーバ(109)の性能をあらわすスコアを記録したものである。性能データ(2110)は性能項目(2111)および性能点数(2112)から構成され、性能項目(2111)にはCPU、メモリ、ディスク、およびネットワークが含まれる。カスタマイズ情報(1710)内のローカルプロキシ性能評価値(1911)には、性能データ(2110)の最新値が格納される。
【０１１０】
これらにより、ローカルプロキシ(1801)およびサーバ(109)の性能の違いを反映して、適切な表示処理時間を維持するためのカスタマイズ場所の決定が可能となる。
【符号の説明】
【０１１１】
100:ユーザ
101:端末
102:クライアントPC
103:CPU
104:メモリ
105:カスタマイズコード
106:Webブラウザ
107:カスタマイズプログラム
108:ネットワーク
109:サーバ
110:CPU
111:メモリ
112:カスタマイズコード
119:Webアプリ
120:カスタマイズプログラム
121:カスタマイズ実行環境決定プログラム
200:表示画面
300:影響度表
400:ユーザ名簿
410:カスタマイズ場所リスト
500:カスタマイズリスト
600:制限付け表
1300:カスタマイズ利用度表
1710:性能データ
1801:ローカルプロキシ
【図１】
2011221646.tif 000003
【図２】
2011221646.tif 000004
【図３】
2011221646.tif 000005
【図４】
2011221646.tif 000006
【図５】
2011221646.tif 000007
【図６】
2011221646.tif 000008
【図７】
2011221646.tif 000009
【図８】
2011221646.tif 000010
【図９】
2011221646.tif 000011
【図１０】
2011221646.tif 000012
【図１１】
2011221646.tif 000013
【図１２】
2011221646.tif 000014
【図１３】
2011221646.tif 000015
【図１４】
2011221646.tif 000016
【図１５】
2011221646.tif 000017
【図１６】
2011221646.tif 000018
【図１７】
2011221646.tif 000019
【図１８】
2011221646.tif 000020
【図１９】
2011221646.tif 000021
【図２０】
2011221646.tif 000022
【図２１】
2011221646.tif 000023