(57)【要約】【課題】  高速にシステムの利用開始可能なＷｅｂシステムを構築する技術の提供【解決手段】ユーザーがＷｅｂブラウザを通じてＷｅｂベースのコンピュータ・システムにアクセスした際、ユーザーのＷｅｂブラウザに配置されたＷｅｂ  Ｓｔｏｒａｇｅ内に、バージョン管理されたソースコードを保存する。再度ユーザーが同じコンピュータ・システムを利用する際には、Ｗｅｂ  Ｓｔｏｒａｇｅ内のソースコードを参照することで、ネットワークの状態に関係なく、高速にコンピュータ・システムの利用を開始することができる。【選択図】図２
2012221483.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された１以上のサーバー・コンピュータと、スクリプトプログラムを実行するスクリプト言語処理手段を有するＷｅｂブラウザを備えたことを特徴とする１以上のクライアント・コンピュータとで構成されることを特徴とするコンピュータ・システムであって、前記サーバー・コンピュータから配布されるソースコードを前記クライアント・コンピュータ個々に保存する手段を備え、且つ、前記コンピュータ・システムを利用する際は、前記個々に保存されたソースコードを取り出すステップと、新たに取得が必要である場合は前記サーバー・コンピュータからソースコードの配布を受けるステップと、取得したソースコードを前記Ｗｅｂブラウザのスクリプト言語処理手段でプログラムデータ構造へ変換するステップと、新たに取得したソースコードについて前記保存する手段で保存するステップを有することを特徴とするコンピュータ・システム。
【請求項２】
請求項１に記載したコンピュータ・システムにおいて、請求項１記載のＷｅｂブラウザに備えられたＷｅｂ  Ｓｔｏｒａｇｅに対してソースコードを保存することを特徴とするコンピュータ・システム。
【請求項３】
請求項１に記載したコンピュータ・システムにおいて、ユーザーが前記Ｗｅｂブラウザから前記コンピュータ・システムを利用する際に、前記サーバー・コンピュータから配布されるソースコードが、前記１以上のクライアント・サーバーごとにバージョン管理されることを特徴とするコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】本技術は、ネットワークに接続された１以上のサーバー・コンピュータと、スクリプトプログラムを実行するスクリプト言語処理手段を有するＷｅｂブラウザを備えたことを特徴とする１以上のクライアント・コンピュータとで構成されることを特徴とするコンピュータ・システムに関する。
【背景技術】
【０００２】Ｗｅｂブラウザが解析できる言語はＨＴＭＬ、ＣＳＳおよびｊａｖａｓｃｒｉｐｔがある。これはＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ（以下「Ｗ３Ｃ」と呼ぶ）がＷｅｂブラウザの仕様を勧告し、Ｗｅｂブラウザ開発を行う各社は前記仕様書に従ってＷｅｂブラウザの開発を行っている。この勧告は”ＨＴＭＬ  ｘ”（ｘは小数を含む数字）という名前を冠しているが、内容はＨＴＭＬに関してだけでなく、ＣＳＳおよびｊａｖａｓｃｒｉｐｔに関する仕様を含む。【０００３】Ｗｅｂブラウザの共通仕様はインターネットの発展に合わせて少しずつバージョンアップを繰り返してきたが、１９９９年にＨＴＭＬ４．０というバージョンになった後は、しばらく動きがなかった。しかし、Ｗｅｂブラウザは開発の継続により進歩を続け、周辺機能が発展を続けるという状態が続いた。その中、２００８年にドラフトが公開され、Ｗｅｂブラウザ開発を行う各社がＷ３Ｃの勧告に従いＷｅｂブラウザの開発を進めていく指針となっているのが、ＨＴＭＬ５．０（以下「ＨＴＭＬ５」という）である。【０００４】ＨＴＭＬ５の機能の一つにＷｅｂ  Ｓｔｏｒａｇｅがある。ｊａｖａｓｃｒｉｐｔを介して容易にアクセス可能であることを除けば、Ｗｅｂ  Ｓｔｏｒａｇｅの機能は従来からあるクッキー（Ｗｅｂシステム上で入力した文字列をユーザーのコンピュータに保持する機能の名称）に近しい。【０００５】最も大きなクッキーとＷｅｂ  Ｓｔｏｒａｇｅの機能の違いは、クッキーの保存データの最大容量が４ＫＢであるのに対して、Ｗｅｂ  Ｓｔｏｒａｇｅは５ＭＢまで保存できることである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】ＨＴＭＬ５ではＨＴＭＬ４．０から飛躍的にｊａｖａｓｃｒｉｐｔへの依存度が増大した。これはクライアント・コンピュータの性能が向上し、クライアント・コンピュータ上でＷｅｂブラウザを介してでも十分な速度で大量の情報を受け取り、処理して表示することができるようになったためである。【０００７】現在のところ、ｊａｖａｓｃｒｉｐｔの記述を容易にするオープンソース・ライブラリのソースのデータ容量は数ｋｂから数十ｋｂ程度のものが多い。ＨＴＭＬ５の登場で、配布されるライブラリの数、１つあたりのソース量は増加傾向にある。【０００８】ｊａｖａｓｃｒｉｐｔコードはネットワーク経由で受信するため、ｊａｖａｓｃｒｉｐｔファイルが大きくなると、ネットワークの負荷が高い状態でのコンピュータ・システムの利用開始は遅くなる。また、同じｊａｖａｓｃｒｉｐｔファイルを受信する場合は更新状況を確認して、クライアント・コンピュータ上のキャッシュを参照することでネットワーク状態に起因するｊａｖａｓｃｒｉｐｔのソースコードの読み取り負荷を軽減しているが、サーバーへのリクエストは受信するファイル個数分、毎度行われるため、ネットワークの利用を充分回避するには至らない。昨今ネットワーク上を流れるデータ量は増える一途にあり、ｊａｖａｓｃｒｉｐｔファイルも大きくなる傾向にあることから、ｊａｖａｓｃｒｉｐｔのソースコードの読み込み負荷はユーザーの利便性の低下に直結するといえる。
【課題を解決するための手段】
【０００９】本発明は上記課題を解決すべくなされたもので、請求項１に記載の発明は、１以上のサーバー・コンピュータと、スクリプトプログラムを実行するスクリプト言語処理手段を有するＷｅｂブラウザを備えたことを特徴とする１以上のクライアント・コンピュータとで構成されることを特徴とするコンピュータ・システムであって、前記サーバー・コンピュータから配布されるソースコードを前記クライアント・コンピュータ個々に保存する手段を備え、且つ、前記コンピュータ・システムを利用する際は、前記個々に保存されたソースコードを取り出すステップと、新たに取得が必要である場合は前記サーバー・コンピュータからソースコードの配布を受けるステップと、取得したソースコードを前記Ｗｅｂブラウザのスクリプト言語処理手段でプログラムデータ構造へ変換するステップと、新たに取得したソースコードについて前記保存する手段で保存するステップを有することを特徴とするコンピュータ・システムである。【００１０】請求項２に記載の発明は、請求項１に記載したコンピュータ・システムにおいて、請求項１記載のＷｅｂブラウザのＷｅｂ  Ｓｔｏｒａｇｅに対してソースコードを保存したコンピュータ・システムである。【００１１】請求項３に記載の発明は、請求項１に記載したコンピュータ・システムにおいて、ユーザーがＷｅｂブラウザからコンピュータ・システムを利用する際に、サーバー・コンピュータから配布されるソースコードが、１以上のクライアント・サーバーごとにバージョン管理されることを特徴とするコンピュータ・システムである。【００１２】以下、図面を参照し、この発明の本発明の一実施の形態（以下「本実施形態」と呼ぶ）について説明する。
【図面の簡単な説明】
【００１３】
【図１】本実施形態を示す概略図である。
【図２】本実施形態のコンピュータ・システムの構成を示すブロック図である。
【図３】本実施形態のコンピュータ・システム利用開始要求時のフロー図である。
【図４】本実施形態のＷｅｂ  Ｓｔｏｒａｇｅに保存されたデータの例である。
【発明を実施するための形態】
【００１４】図１は本実施形態にかかるコンピュータ・システムの概略図である。コンピュータ・システム３０は、１以上のサーバー２０と、１以上のクライアント１０とからなり、クライアント１０はインターネット網やイントラネット網などのネットワークＮを介してサーバー２０に接続されており、リクエスト・レスポンス通信方式もしくは、ソケット通信方式をして、サーバー２０とファイル、データなど情報の授受を行うことができる。
【００１５】図２は本実施形態において、コンピュータ・システムの構成を示すブロック図である。図２に基づき、本実施形態においての必要条件を述べる。
【００１６】クライアント・コンピュータ１０はＷｅｂ  Ｓｔｏｒａｇｅ１２を有するＷｅｂブラウザ１１を備える。また、サーバー・コンピュータ２０はクライアント・コンピュータ１０のユーザーがコンピュータ・システム３０を利用する際にクライアント・コンピュータ側に現在配布されているバージョン情報を伝えるＪＳＯＮ形式で記述されたバージョン管理情報と、そのバージョン管理情報に基づき、コンピュータ・システム３０の利用に必要なスクリプトファイルを取得するロジックを有するスクリプト形式のバージョン管理ファイル２１と、コンピュータ・システムのデータ処理ロジックおよび、画面生成ロジックを含んだ１以上のスクリプトファイル２２を備える。
【００１７】図３は本実施形態において、コンピュータ・システム３０利用開始要求時のフロー図である。図３に基づき、本発明の詳細な動作を述べる。
【００１８】クライアント・コンピュータ１０のユーザーはコンピュータ・システム３０の利用に際してまず、Ｗｅｂブラウザ１１を起動する。そして、Ｗｅｂブラウザを通してコンピュータ・システム３０のポータルサイトであるＨＴＭＬヘッダーを有するファイルの取得を要求する（Ｓ１０１）。クライアント・コンピュータ１０の要求を受け、サーバー・コンピュータ２０は最新のバージョン管理ファイル２１をクライアント・コンピュータに送信する（Ｓ２０１）。
【００１９】バージョン管理ファイル２１を受け取ったクライアント・コンピュータは前記バージョン管理ファイル２１を処理し、ｊａｖａｓｃｒｉｐｔのデータ構造へと変換する。続いて、前記ｊａｖａｓｃｒｉｐｔのデータ構造から、コンピュータ・システム３０の利用に必要なスクリプトファイルの一覧と、配布中のバージョン文字列を取得する（Ｓ１０２）。
【００２０】次に、バージョン文字列をキーにして、Ｗｅｂ  Ｓｔｏｒａｇｅに保存されたソースコードを取得する（Ｓ１０３）。
【００２１】Ｗｅｂ  Ｓｔｏｒａｇｅにはバージョン文字列をキーとしたＪＳＯＮ文字列が格納されている。このＪＳＯＮ文字列は、ファイルパスをキーとして、スクリプトファイルのソースコードが保存されている。図４にその例を示す。
【００２２】関数ｌｏｃａｌＳｔｏｒａｇｅ．ｇｅｔＩｔｅｍにバージョン文字列を引数として渡すことで、Ｗｅｂ  Ｓｔｏｒａｇｅから該当バージョンのＪＳＯＮ文字列を取得する。さらに、関数ＪＳＯＮ．ｐａｒｓｅを用いて、ＪＳＯＮ文字列をｊａｖａｓｃｒｉｐｔオブジェクトに変換する。この方法により、配布バージョンをキーにしてＷｅｂ  Ｓｔｏｒａｇｅから取り出したｊａｖａｓｃｒｉｐｔオブジェクトを取得する。このｊａｖａｓｃｒｉｐｔオブジェクトからは、ファイルパスをキーにしてソースコードが取得できる。
【００２３】以降、前記スクリプトファイルの一覧に記載のファイル数分、ループ処理を行う（ＬＯ１）。まず、前記配布バージョンをキーにしてＷｅｂ  Ｓｔｏｒａｇｅから取り出したｊａｖａｓｃｒｉｐｔオブジェクトに対象のソースコードが存在するかを調べる（Ｓ１０４）。前記Ｗｅｂ  Ｓｔｏｒａｇｅから取り出したｊａｖａｓｃｒｉｐｔオブジェクトからスクリプトファイルのファイルパスをキーにした情報を取り出し、値があればソースコードが存在するとし、なければソースコードは存在しないと判断する。
【００２４】ソースコードが存在すると判断された場合、戻り値をコンピュータ・システム３０の利用に必要なソースコードとしてその文字列をメモリ上に読み取る（Ｓ１０５）。続いて、関数ｅｖａｌを用いてｊａｖａｓｃｒｉｐｔのデータ構造に変換する（Ｓ１０６）。
【００２５】スクリプトソースが存在しないと判断された場合、ＨｔｔｐＲｅｑｕｅｓｔを用いて、配布中のスクリプトファイル２２の取得を要求する（Ｓ１０７）。サーバー・コンピュータ２０は前記要求に対して、スクリプトファイル２２を送信する（Ｓ２０２）。クライアント・コンピュータ１０はサーバー・コンピュータ２０から受け取ったスクリプトファイル２２の内容をｊａｖａｓｃｒｉｐｔのデータ構造に変換する（Ｓ１０８）。続いて、前記スクリプトファイル２２の内容を、前記Ｗｅｂ  Ｓｔｏｒａｇｅから取り出したｊａｖａｓｃｒｉｐｔオブジェクトに、スクリプトパスをキーにしてメモリ上に保存する（Ｓ１０９）。
【００２６】前記スクリプトファイルの一覧の、次のファイルについてＳ１０４の処理をはじめる。（ＬＯ２）。
【００２７】ＬＯ１からＬＯ２までの処理が前記スクリプトファイルの一覧に記載のファイルの数分終わると、コンピュータ・システム利用開始処理を始める（Ｓ１１０）。コンピュータ・システム利用開始処理に先だってまず、（１）前記バージョン文字列をキーにしてＷｅｂ  Ｓｔｏｒａｇｅから取り出したｊａｖａｓｃｒｉｐｔオブジェクトを関数ＪＳＯＮ．ｓｔｒｉｎｇｉｆｙを用いて、ＪＳＯＮ文字列にする。（２）関数ｌｏｃａｌＳｔｏｒａｇｅ．ｓｅｔＩｔｅｍを用いて、前記バージョン文字列をキーにして前記ＪＳＯＮ文字列をＷｅｂ  Ｓｔｏｒａｇｅに保存する。
【００２８】以上が本実施形態における、詳細な動作の記述である。
【発明の効果】
【００２９】本発明に係るコンピュータ・システムは、コンピュータ・システム利用開始時に、クライアント・コンピュータに処理させたいスクリプトを、ネットワークを介さず適時再利用することができる。特に今後ネットワークトラフィックの増加やｊａｖａｓｃｒｉｐｔへの依存が高まることが見込まれる中で、コンピュータ・システムがネットワークを経由せずソースコードを取得できる手段を備えることは、コンピュータ・システムを素早く利用開始できるユーザーへのメリットだけでなく、サーバー・コンピュータへの多重リクエストの負荷軽減という、サーバー・コンピュータ側のメリットも存在する。
【００３０】［他の実施形態］
なお、上記実施形態はｊａｖａｓｃｒｉｐｔなど、特定のプログラミング言語で、例示したが、その他のプログラミング言語においても同様の処理を実現することは可能であり、本発明は、他の実施態様も含むものである。また、本発明において、各手段などの要素は、コンピュータの演算制御部に限らず、ワイヤードロジック等に基づく電子回路で実現してもよい。また、各構成図、データの図、フローチャートの図などは例示に過ぎず、各要素の有無、その順序や具体的内容などは、本発明の範囲で適宜変更可能である。
【００３１】また、本発明の実施形態に記述された効果は、本発明の実施形態から生じる好適な効果を述べたものであって、本発明による効果は、本発明の実施形態に記述されたものに限定されるものではない。
【符号の説明】
【００３２】１０  クライアント・コンピュータ
１１  Ｗｅｂブラウザ
１２  Ｗｅｂ  Ｓｔｏｒａｇｅ
２０  サーバー・コンピュータ
２１  バージョン管理ファイル
２２  スクリプトファイル
Ｎ    ネットワーク
【図１】
2012221483.tif 000003
【図２】
2012221483.tif 000004
【図３】
2012221483.tif 000005
【図４】
2012221483.tif 000006