(57)【要約】  【課題】  プログラム修正等の追加作業を極力発生させずに，Ｗｅｂシステム及びレガシープログラムの各実行環境をリンクし，レガシープログラムの実行で得られる結果をサービス提供できること。  【解決手段】  端末からネットワーク経由でサービス要求を受信する（Ｓ１１）一方，その要求に応じたサービス提供情報をネットワークを通じて端末に送信する（Ｓ１６）Ｗｅｂサーバのタスクと，ＦＯＲＴＲＡＮ等で作成された特定演算プログラム（レガシープログラム）のタスクと，それと異なる言語で作成され，Ｗｅｂサーバのタスクで受信されたサービス要求に基づいて特定演算プログラムのタスクで用いる入力情報を生成して共有メモリ１２に書き込む処理（Ｓ２３），及び特定演算処理のタスクの演算結果情報からサービス提供情報を生成し，Ｗｅｂサーバのタスクに引き渡す処理（Ｓ２６）を行うＣＧＩプログラムのタスクとを実行するサーバ装置。【選択図】図３
2008204090.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに，該サービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置であって，
所定の入力情報に基づく特定の演算処理を，所定のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と，
前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理，及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を，前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラムに従って実行する中継処理手段と，
前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と，を具備し，
前記中継処理手段により前記共用記憶領域に前記入力情報を書き込み，
前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに，前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込み，
前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに，前記サービス提供情報を生成してこれを前記通信手段に引き渡してなることを特徴とするサーバ装置。
【請求項２】
前記特定演算プログラムが，ＦＯＲＴＲＡＮ，ＣＯＢＯＬ，ＰＬ１及びＦＯＲＣＥのうちのいずれかのプログラム言語で作成されたものである請求項１に記載のサーバ装置。
【請求項３】
１又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに，該サービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置によるネットワークを通じたサービス提供方法であって，
前記サーバ装置が，
所定の入力情報に基づく特定の演算処理を，所定のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と，
前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理，及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を，前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラムに従って実行する中継処理手段と，
前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と，を具備しており，
前記中継処理手段により前記共用記憶領域に前記入力情報を書き込む工程と，
前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに，前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込む工程と，
前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに，前記サービス提供情報を生成してこれを前記通信手段に引き渡す工程と，
を有してなることを特徴とするネットワークを通じたサービス提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ネットワークを通じてサービスを提供するサーバ装置及びサービス提供方法に関するものである。
【背景技術】
【０００２】
近年，サーバ装置から端末装置に対してネットワークを通じたサービス提供を行うシステムとしては，ＷＷＷ（World Wide Web）技術を用いてサービス提供を行うシステム（以下，Ｗｅｂシステムという）が広く普及している。
このようなＷｅｂシステムにおけるサーバ装置では，その演算手段（ＣＰＵ）により，ＴＣＰ／ＩＰプロトコルをベースとしたＨＴＴＰやＦＴＰ等の通信プロトコルに基づいて，端末装置からネットワークを経由して伝送される所定のサービス要求を受信する処理，及びそのサービス要求に応じたサービス提供情報をＨＴＭＬやＪａｖａＳｃｒｉｐｔ（サン・マイクロシステムズ・インコーポレーテッドの登録商標，以下同じ）等で表現された配信情報（コンテンツ）として端末装置に送信する処理の各々が，Ｗｅｂサーバプログラムに従って実行される。ここで，予め用意されたホームページ等をサービス提供情報として提供（送信）する場合は，Ｗｅｂサーバプログラムの実行のみで対応できる。この場合，Ｗｅｂサーバプログラムの実行により，サービス要求において指定されているデータの存在場所を表す所在情報（ＵＲＬ等）に従って，そのデータの存在場所にアクセスし，そこに存在するホームページ等のデータをサービス提供情報として端末に送信する。
【０００３】
また，例えば情報検索サービスのように，要求に対応する配信情報を都度生成して提供する場合，前記Ｗｅｂサーバプログラムの実行により受信されたサービス要求に基づいて，そのサービス要求に応じた情報を得るための処理（データベース検索処理等）を実行する装置やプログラム（以下，要求対応処理手段という）に対し，その処理に必要な情報を生成して引き渡すとともに，前記要求対応処理手段により得られる処理結果情報に基づいてサービス提供情報を生成する処理を実行することにより，Ｗｅｂサーバプログラムと前記要求対応処理手段とを中継するための中継プログラムが必要となる。一般に，このような中継プログラムは，ＰｅｒｌやＰＨＰ（Hypertext Preprocessor）等のプログラム言語で作成されたＣＧＩ（Common Gateway Interface）プログラムとして実現される。また，Ｗｅｂサーバプログラムの機能と，ＣＧＩプログラム（中継プログラム）の機能とを兼ね備え，Ｃ，Ｃ＋＋，Ｊａｖａ（サン・マイクロシステムズ・インコーポレーテッドの登録商標，以下同じ）等のプログラム言語で作成された，いわゆるアプリケーションサーバ等も存在する。
【０００４】
一方，古くから，汎用計算機やスーパーコンピュータ等によって基幹業務支援用プログラムや科学技術計算用プログラム等が実行されることにより，企業の給与や人事等に関する基幹業務支援サービスや構造解析計算や流体解析計算等の科学技術計算サービスを提供するシステムが稼働している。このような古くからあるシステムで実行されるプログラム（以下，レガシープログラムという）は，一般にマルチユーザ／マルチタスクのＯＳ環境下で実行されるが，ＦＯＲＴＲＡＮ，ＣＯＢＯＬ或いはＰＬ１等，昨今のネットワークシステムではほとんど用いられず，また，それに用いることに適さないプログラム言語（以下，レガシー言語という）で作成されたものが多く，また，大規模或いは処理内容が複雑なものが多い。従って，このようなレガシープログラムを，現在主流のプログラム言語（Ｊａｖａ，Ｃ，Ｃ＋＋等）で再構築するには，膨大な作業を要する。
これに対し，このようなレガシープログラムの実行環境を，現在普及しているインターネットやイントラネット等のネットワークシステムとリンクし，ネットワークを通じてレガシープログラムの実行によるサービスを提供できれば，従来の資産を有効活用でき好適である。
従来，例えば特許文献１には，技術シミュレーション（応力解析，振動解析等）用のプログラム（ソルバ）の実行マシンと利用者端末とをインターネット及び仲介用のコンピュータを介して接続し，利用者端末からソルバを利用可能とするシステムが示されている。
【特許文献１】特開２００３−１５０８８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら，レガシープログラムに用いられているＦＯＲＴＲＡＮ等のレガシー言語は，変数のＩ／Ｏ（Input／Output）に関する機能が弱い。例えば，情報の入力はパンチカードやキーボード，或いはファイルを通じてしか行えず，また，情報の出力は，プリントアウトやファイルへの出力によってしか行えないことが多い。さらに，レガシープログラムを実行する計算機は，シングルタスクＯＳが採用されているものや，時分割方式のマルチタスクＯＳが採用されているものが多く，並列処理に向いていない。
このため，レガシー言語で作成されたレガシープログラムの実行環境を，端末側から多数の同時アクセスがなされ得るＷｅｂシステムとそのままリンクさせる場合，同時アクセス時にレガシープログラム側のＩ／Ｏ関連の処理の負荷が大きくなり，迅速な応答（サービス提供）を行うことができないという問題点があった。さらに，レガシープログラムにおけるＩ／Ｏ関連のプログラム修正（追加）に多大な工数を要するという問題も生じる。
また，Ｉ／Ｏ関連の負荷軽減のために，同時処理（並行処理）可能なサービス要求（トランザクション）を１つに限定することは，Ｗｅｂシステムを通じたサービス提供として非現実的である。
また，特許文献１には，Ｉ／Ｏに関する機能が弱いレガシープログラム（ソルバ）を実行するマシンと，仲介用のコンピュータとを，Ｉ／Ｏ機能の弱さが問題とならないようにいかに接続するかについてなんら開示も示唆もなされていない。
従って，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，既存プログラムの修正等の追加作業を極力発生させずに，現在普及しているＷＷＷ技術を基礎とするネットワークシステムであるＷｅｂシステムと，ＦＯＲＴＲＡＮ等のレガシー言語で作成された既存のレガシープログラムの実行環境とをリンクすることにより，レガシープログラムの実行により得られる処理結果をネットワークを通じた提供情報として送信できるサーバ装置及びネットワークを通じたサービス提供方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は，１又は複数の端末からインターネットやイントラネット等のネットワークを通じて所定のサービス要求を受信するとともに，そのサービス要求に応じたサービス提供情報を前記ネットワークを通じて各端末に送信する通信手段を備えたサーバ装置に適用されるものであり，所定の入力情報に基づく特定の演算処理（例えば，構造解析処理や流体解析処理等）を，ＦＯＲＴＲＡＮ，ＣＯＢＯＬ或いはＰＬ１等のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と，前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理，及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を，前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラム（ＣＧＩプログラムやアプリケーションサーバプログラムに包含されるＣＧＩ機能に相当する部分等）に従って実行する中継処理手段と，前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と，を具備し，前記中継処理手段により前記共用記憶領域に前記入力情報を書き込み，前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに，前記特定の演算処理を実行してその特定の演算処理の結果情報を前記共用記憶手段に書き込み，前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに，前記サービス提供情報を生成してこれを前記通信手段に引き渡すよう構成されたものである。
【０００７】
このような構成により，レガシー言語で作成された前記特定演算プログラムが存在する場合に，これとＷＷＷ技術を基礎とする言語で作成されることが多い前記中継プログラムとを，前記共用記憶手段（共有メモリ）を介してリンクすることができる結果，前記特定演算プログラムの実行により得られる処理結果を，ネットワークを通じた提供情報として送信できるサーバ装置を構成することができる。
しかも，前記特定演算プログラムを実行する前記特定演算処理手段，及び前記中継プログラムを実行する前記中継処理手段の各々は，それら相互間の情報のやりとりの際，直接的には前記共用記憶手段にアクセスするだけである。このため，既存の前記特定演算プログラムについて，修正等の追加作業を極力発生させずに，前記中継プログラムと前記特定演算プログラムとをリンクさせることが可能となる。
なお，前記通信手段として捉えられるものとしては，例えばＴＣＰ／ＩＰ対応のネットワークインターフェースカード等の通信機器と，前記Ｗｅｂサーバプログラムを実行する手段（Ｗｅｂサーバ機能を実現するＣＰＵ等）とを併せたものが考えられる。
【０００８】
また，本発明は，前記サーバ装置を用いてネットワークを通じたサービス提供を行う方法として捉えたものであってもよい。
即ち，１又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに，そのサービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置によるネットワークを通じたサービス提供方法であって，前記サーバ装置が，前記特定演算処理手段と，前記中継処理手段と，前記共用記憶手段と，を具備している場合に，前記中継処理手段により前記共用記憶領域に前記入力情報を書き込む工程と，前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに，前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込む工程と，前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに，前記サービス提供情報を生成してこれを前記通信手段に引き渡す工程と，を有するネットワークを通じたサービス提供方法として捉えたものである。
これによっても前記サーバ装置について述べた作用効果を同様に奏する。
【発明の効果】
【０００９】
本発明によれば，ＦＯＲＴＲＡＮ等のレガシー言語で作成された前記特定演算プログラム（レガシープログラム）が存在する場合に，これとＷＷＷ技術を基礎とするＰｅｒｌやＪａｖａ等の言語で作成されることが多い前記中継プログラムとを，前記共用記憶手段（共有メモリ）を介してリンクすることができる結果，前記特定演算プログラムの実行により得られる処理結果を，ネットワークを通じて提供情報として送信できるサーバ装置を構成することができる。
しかも，前記特定演算プログラムを実行する前記特定演算処理手段，及び前記中継プログラムを実行する前記中継処理手段の各々は，それら相互間の情報のやりとりの際，直接的には前記共用記憶手段にアクセスするだけであるため，既存の前記特定演算プログラムについて，修正等の追加作業を極力発生させずに，上記の両プログラムをリンクさせることが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下添付図面を参照しながら，本発明の実施の形態について説明し，本発明の理解に供する。尚，以下の実施の形態は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施形態に係るサーバＸを構成要素とするサービス提供システムＡの概略構成図，図２はサービス提供システムＡを構成するサーバＸ及び端末２の概略構成を表すブロック図，図３はサーバＸによるサービス提供処理の手順を表すフローチャートである。
【００１１】
まず，図１及び図２を用いて，本発明の実施形態に係るサービス提供システムＡ，並びにそれを構成するサーバＸ及び端末２の概略構成について説明する。
サービス提供システムＡは，ＷＷＷ技術を基礎とするネットワークシステム（Ｗｅｂシステム）と，ＦＯＲＴＲＡＮ等のレガシー言語で作成された既存のレガシープログラムである特定演算プログラムの実行環境とをリンクしたサービス提供システムであり，それを構成するサーバＸから端末２に対し，前記特定演算プログラムの実行により得られる処理結果を，ネットワーク１を通じてサービス提供情報として送信するものである。
図１に示すように，サービス提供システムＡは，インターネットやイントラネット等のネットワーク１に接続されたサーバＸと端末２とを有し，それらがネットワーク１を通じて相互に通信可能に構成されている。
サーバＸは，１又は複数の端末２からネットワーク１を通じて所定のサービス要求を受信し，そのサービス要求に応じた情報（以下，サービス提供情報という）をネットワーク１を通じてそのサービス要求を行った端末２に送信するサービス提供用の情報処理装置（計算機）である。
また，端末２は，インターネット１を介してサーバＸに対してサービス要求を送信するとともに，その要求に応じて返信されるサービス提供情報を受信するパソコンや携帯端末（携帯電話，ＰＤＡ等）等の情報端末である。
【００１２】
図２（ａ）に示すように，サーバＸは，演算部１１，共有メモリ１２，操作表示部１３，通信制御部１４及び固定記憶部１５等を具備している。
前記演算部１１は，ＣＰＵ，ＲＯＭ，ＲＡＭ等からなる演算手段であり，後述する各種プログラムをマルチユーザ・マルチタスクのＯＳ環境下で並列的に実行するものである。
前記操作表示部１３は，不図示のＣＲＴディスプレイ等の表示手段と，キーボードやマウス等の入力手段から構成され，データの登録操作等，当該サーバＸにおける各種情報の操作入力処理及び表示処理を行うマンマシンインターフェースである。
前記通信制御部１４は，インターネット１及びこれに接続するためのＬＡＮや公衆回線（不図示）を介して，端末２との間のＴＣＰ／ＩＰに準拠した通信制御を行うものである。
前記固定記憶部１５は，ハードディスク等の記憶装置であり，演算部１１により実行される各種プログラム及びそのプログラムの実行の際に参照或いは記録される各種データが記憶される。
本実施形態では，演算部１１により実行されるプログラムとして，Ｗｅｂサーバプログラムｐ１，ＣＧＩプログラムｐ２及び特定演算処理プログラムｐ３が予め記憶されている。これら各プログラムの実行により実現される機能については後述する。また，前記ＣＧＩプログラムｐ２の実行の際に参照される雛形データｄ１も予め記憶されている。
なお，特定演算処理プログラムｐ３は，所定の入力情報に基づいて，構造解析処理や流体解析処理等の特定の演算処理（以下，特定演算処理という）を実行するためのプログラムである。
前記共有メモリ１２は，ＲＡＭ等により構成される記憶手段であり，演算部１１により前記ＣＧＩプログラムｐ２及び前記特定演算処理プログラムｐ３の各々がマルチタスクで実行された場合に，それら両タスクのいずれからもアクセスされる共用のメモリ領域（共用記憶領域）を有する記憶手段である。なお，後述するように，ＣＧＩプログラムｐ２及び特定演算処理プログラムｐ３の各々を実行して各タスクを構成する演算部１１が，中継処理手段及び特定演算処理手段の一例である。
【００１３】
一方，前記端末２は，一般的なパソコンやＰＤＡ等の情報端末であり，図２（ｂ）に示すように，不図示のＣＲＴディスプレイ，キーボード及びマウス等，或いは液晶パネル及びシートキー等から構成される操作表示部２１と，不図示のＭＰＵ，主メモリ，及びその周辺機器から構成されるデータ制御部２２と，ハードディスクや不揮発性ＲＡＭ等のデータ記憶部２３と，インターネット１及びこれに接続するためのＬＡＮや公衆回線（不図示）を介したデータ通信を行う通信制御部２４とを具備している。
前記データ記憶部２３には，前記サーバＸへの各種データ要求や前記サーバＸから受信する前記サービス提供情報（ＨＴＭＬやＪａｖａＳｃｒｉｐｔ等のデータで構成されたコンテンツ）を前記操作表示部２１へ表示出力するウェブブラウザ等のプログラムがインストールされている。これらのプログラムは，必要に応じて前記データ制御部２２の前記主メモリに展開され，そのデータ制御部２２により実行される。
以上の他，前記端末２は一般的なパソコンやＰＤＡ等と同様の他の構成を有するが，周知であるのでここでは説明を省略する。
【００１４】
続いて，各プログラム及びその実行により実現される機能について説明する。
前記特定演算処理プログラムｐ３は，所定の入力情報に基づく特定の演算処理を，ＦＯＲＴＲＡＮ，ＣＯＢＯＬ或いはＰＬ１等のレガシーなプログラム言語で作成されたプログラムであり，企業の給与や人事等に関する基幹業務支援サービスに関する演算処理，構造解析計算や流体解析計算等の科学技術計算の演算処理等を前記演算部１１に実行させるためのレガシープログラムである。ここで，この特定演算処理プログラムｐ３を実行する演算部１１が，特定演算処理手段の一例を構成する。
例えば，特定演算処理プログラムｐ３が構造解析計算を行うプログラムである場合，前記入力情報は，解析対象とする構造物の材質，形状・寸法の情報，各部位におけるメッシュ分割の大きさの情報，与える荷重の位置・向き・大きさの情報，その荷重により生じる変位を求めたい部位（指定部位）の情報等であり，その演算処理の結果は，指定部位の変位量或いは塑性状況等の情報や，前記入力情報として与えられた構造物の形状・寸法の情報とメッシュ分割の大きさの情報とに基づく各部位のメッシュごとの応力情報等である。
【００１５】
前記Ｗｅｂサーバプログラムｐ１は，それを実行する演算部１１（コンピュータ）をいわゆるウェブサーバとして機能させるためのプログラムである。即ち，ＴＣＰ／ＩＰプロトコル及びその上位層を構成するＨＴＴＰやＦＴＰ等の通信プロトコルに基づいて，端末２からネットワーク１を経由して伝送される所定のサービス要求を前記通信制御部１４を通じて受信する処理，及びそのサービス要求に応じたサービス提供情報を前記通信制御部１４及びネットワーク１を通じて端末２に送信する処理の各々を演算部１１に実行させるためのプログラムである。このＷｅｂサーバプログラムｐ１は，例えば，Ｃ言語やＪａｖａ等のプログラム言語により作成されている。このＷｅｂサーバプログラムｐ１を実行する演算部１１及び前記通信制御部１４が，通信手段の一例を構成している。
また，前記サービス提供情報は，ＨＴＭＬやＪａｖａＳｃｒｉｐｔ等のスクリプト言語で表現されたデータと画像データ等との組み合わせにより構成されたコンテンツとして端末２に送信される。
【００１６】
前記ＣＧＩプログラムｐ２は，Ｗｅｂサーバプログラムｐ１のタスク（或いはプロセス）と特定演算処理プログラムｐ３のタスク（或いはプロセス）との間の情報のやりとりを中継するタスク（或いはプロセス）を形成するためのプログラムである。
より具体的には，演算部１１がＣＧＩプログラムｐ２を実行することにより，まず，前記Ｗｅｂサーバプログラムｐ１のタスクを通じて受信された前記サービス要求をタスク間通信等により取得し，このサービス要求に基づいて前記特定演算処理プログラムｐ３のタスク（特定演算処理手段の一例）で用いられる前記入力情報を生成する処理，及びその入力情報を前記共有メモリ１２の共用記憶領域に書き込む処理が実行される（後述する図３のＳ２３）。
さらに，前記特定演算処理プログラムｐ３のタスクにより得られる前記特定の演算処理（構造解析処理等）の結果情報を前記共有メモリ１２の共用記憶領域から読み出す処理，及びその読み出した演算処理の結果情報に基づいて，前記Ｗｅｂサーバプログラムｐ１により端末２に提供される前記サービス提供情報を生成する処理が実行される（後述する図３のＳ２６）。
また，このＣＧＩプログラムｐ２は，前記特定演算処理プログラムｐ３とは異なるプログラム言語，例えば，ＷＷＷ技術を基礎とするＷｅｂサーバプログラムｐ１と親和性の高いプログラム言語であるＰｅｒｌやＣ言語等により作成されている。
ここで，このＣＧＩプログラムｐ２を実行する演算部１１が，中継処理手段の一例を構成する。
【００１７】
次に，図３に示すフローチャートを用いて，サーバＸによる端末２へのサービス提供処理の手順について説明する。
ここで，前記演算部１１は，前記Ｗｅｂサーバプログラムｐ１，前記ＣＧＩプログラムｐ２及び前記特定演算処理プログラムｐ３の各々をマルチタスク（或いはマルチプロセス）で実行して以下の処理を行う。以下，各実行タスクを，Ｗｅｂサーバタスク，ＣＧＩタスク及び特定演算処理タスクという。また，以下に示すＳ１１，Ｓ１２，…は，演算部１１が各プログラムを実行して行う処理手順（ステップ）の識別符号を表す。
まず，Ｗｅｂサーバタスクにおいては，１又は複数の端末２からネットワーク１を通じて伝送される所定のサービス要求が前記通信制御部１４を介して受信されるまで，その受信処理が実行される（Ｓ１１，Ｓ１２）。
前記サービス要求は，例えば，前記ＣＧＩプログラムｐ２の存在場所を表すＵＲＬ情報と，前記特定演算処理プログラムｐ３に与える前記入力情報に関する情報とが予め定められたフォーマットに従って含められた情報が，ＨＴＴＰやＦＴＰ等のプロトコルにより伝送されるものである。
そして，Ｗｅｂサーバタスクにおいて，前記サービス要求が受信されると，そのサービス要求が，例えばタスク間通信等により，ＣＧＩタスクに引き渡される（Ｓ１３）。
【００１８】
一方，ＣＧＩタスクにおいては，Ｗｅｂサーバタスクから引き渡される前記サービス要求が取得されるまで，その取得処理が実行される（Ｓ２１，Ｓ２２）。
そして，ＣＧＩタスクにおいて，Ｗｅｂサーバタスクからサービス要求が取得されると，そのサービス要求に基づいて，特定演算処理タスクに与えるべき前記入力情報が生成され，生成された入力情報が前記共有メモリ１２の共用記憶領域に書き込まれる（Ｓ２３）。
前記入力情報の生成処理としては，例えば，前記サービス要求に含まれる前記入力情報を単に抽出する，若しくはその抽出情報を所定のフォーマットに編成するだけの処理や，或いは，サービス要求に含まれる前記入力情報に関する情報に基づいて，構造解析処理等への前記入力情報とする構造物の形状情報やメッシュ分割情報等を生成するいわゆるプリプロセッサ（プログラム）を実行させ，これにより前記入力情報を得る処理等が考えられる。
【００１９】
また，特定演算処理タスクにおいては，ＣＧＩタスクにより新たな前記入力情報が前記共有メモリ１２の共用記憶領域に書き込まれるまで，その読み出し処理が実行される（Ｓ３１，Ｓ３２）。
そして，特定演算処理タスクにおいて，ＣＧＩタスクから前記共有メモリ１２に新たに書き込まれた前記入力情報を読み出せたことが確認されると，その入力情報に基づく構造解析処理等の前記特定演算処理が実行される（Ｓ３３）。
ここで，特定演算処理タスクにおいて，前記入力情報の読み出しが完了した際には，共有メモリ１２におけるその読み出しを行った領域の初期化処理，或いはその領域について読み出しが完了している旨を表す読み出し完了情報を共有メモリ１２内の所定領域に書き込む処理が行われる。これにより，特定演算処理タスクのステップＳ３１，３２において，共有メモリ１２における前記入力情報の書き込み領域が初期化状態であるか否か，或いはその領域に対応する前記読み出し完了情報の有無を判別することにより，ＣＧＩタスクによって新たな前記入力情報が書き込まれたか否かを判別できる。
同様に，ＣＧＩタスクにおいても，新たな前記入力情報を書き込み可能な領域を判別できる。なお，前記読み出し完了情報を用いる場合には，ＣＧＩタスクにおいて，前記入力情報の書き込み終了時に，それに対応する読み出し完了情報の削除や初期化を行えばよい。
さらに，前記特定演算処理が終了すると，その特定演算処理の結果情報（以下，特定演算結果情報という）が前記共有メモリ１２の共用記憶領域に書き込まれる（Ｓ３４）。
この特定演算処理タスクでは，以上示したステップＳ３１〜Ｓ３４の処理が繰り返される。
【００２０】
一方，ＣＧＩタスクにおいては，前述した前記共有メモリ１２への前記入力情報の書き込み（Ｓ２３）の後，特定演算処理タスクによって新たな前記特定演算結果情報が前記共有メモリ１２の共用記憶領域に書き込まれるまで，その読み出し処理が実行される（Ｓ２４，Ｓ２５）。
そして，ＣＧＩタスクにおいて，特定演算処理タスクから前記共有メモリ１２に新たに書き込まれた前記特定演算結果情報を読み出せたことが確認されると，その情報に基づいて，端末２からの前記サービス要求に応じた前記サービス提供情報が生成され，それがタスク間通信等によってＷｅｂサーバタスクに引き渡される（Ｓ２６）。
ここで，ＣＧＩタスクにおいて，前記特定演算結果情報の読み出しが完了した際には，前述した前記入力情報の場合（Ｓ３１）と同様に，共有メモリ１２におけるその読み出しを行った領域の初期化処理，或いはその領域について読み出しが完了している旨を表す読み出し完了情報を共有メモリ１２内の所定領域に書き込む処理が行われる。なお，前記読み出し完了情報を用いる場合には，前記入力情報について前述したのと同様に，特定演算処理タスクにおいて，前記特定演算結果情報の書き込み終了時に，それに対応する読み出し完了情報の削除や初期化を行えばよい。
また，前記サービス提供情報の生成処理としては，例えば，予めＨＴＭＬやＪａｖａＳｃｒｉｐｔ等のスクリプト言語のデータや画像データ等で構成された前記雛形データｄ１を前記固定記憶部１５から読み出し，その雛形データｄ１における所定位置に前記特定演算結果情報を埋め込むことにより，端末２のＷｅｂブラウザで表示可能な前記サービス提供情報（コンテンツ）を生成すること等が考えられる。
このＣＧＩタスクでは，以上示したステップＳ２１〜Ｓ２６の処理が繰り返される。
【００２１】
一方，Ｗｅｂサーバタスクにおいては，前述したＣＧＩタスクへの前記サービス要求の引き渡し（Ｓ１３）の後，ＣＧＩタスクから新たな前記サービス提供情報が取得されるまで，その取得処理が実行される（Ｓ１４，Ｓ１５）。
そして，Ｗｅｂサーバタスクにおいて，ＣＧＩタスクからサービス提供情報が取得されると，そのサービス提供情報に，ステップＳ１１で受信された前記サービス要求に含まれるその送信元（端末２）のアドレス情報を宛先情報として付加され，その宛先情報が付加された前記サービス提供情報が，前記通信制御部１４を通じてネットワーク１に送出される（Ｓ１６）。これにより，前記サービス提供情報が，ネットワーク１を通じて，前記サービス要求を発信した端末２に送信（返信）される。
【００２２】
以上示したように，サーバＸによれば，ＦＯＲＴＲＡＮ等のレガシー言語で作成された前記特定演算処理プログラムｐ３（レガシープログラム）が存在する場合に，これとＷＷＷ技術を基礎とするＰｅｒｌやＪａｖａ等の言語で作成されることが多い前記ＣＧＩプログラムｐ２（中継プログラム）とが，前記共有メモリ１２（共用記憶手段）を介してリンクされる結果，前記特定演算処理プログラムｐ３の実行により得られる処理結果（前記特定演算結果情報）を，ネットワーク１を通じて提供情報として端末２へ送信するシステムを構成することができる。
しかも，前記特定演算処理プログラムｐ３のタスク（特定演算処理手段の一例），及び前記ＣＧＩプログラムのタスク（中継処理手段の一例）の各々は，それら相互間の情報のやりとりの際，直接的には前記共有メモリ１２にアクセスするだけである。このため，Ｉ／Ｏ機能の弱いレガシー言語で作成された既存の前記特定演算処理プログラムｐ３について，その修正等の追加作業を極力発生させずに，Ｗｅｂサーバプログラムｐ１及びＣＧＩプログラム２とリンクさせて有効活用することが可能となる。
【００２３】
ところで，前記Ｗｅｂサーバタスクは，ステップＳ１１，Ｓ１２の処理と，それ以降のステップＳ１３〜Ｓ１６の処理とは親タスクと子タスクとの関係で実行されるよう構成され，１つの親タスクによりステップＳ１１，Ｓ１２の処理が繰り返されるとともに，前記サービス要求が受信されるごとに，そのサービス要求各々についてステップＳ１３〜Ｓ１６の処理を行う子タスクが起動される。従って，複数の前記サービス要求がほぼ同時に発生する（受信される）場合には，各サービス要求に対応する複数の子タスク（Ｓ１３〜Ｓ１６）が起動される。
さらに，それに応じて，各サービス要求ごとに，前記ＣＧＩタスク及び前記特定演算処理タスクが各々起動される。
これにより，ほぼ同時に発生する前記サービス要求にも対応可能である。
なお，以上示した実施形態では，１つの演算部１１のマルチタスク処理により，Ｗｅｂサーバプログラムｐ１，ＣＧＩプログラムｐ２及び特定演算処理プログラムｐ３の各々を実行する例について示したが，これに限るものでなく，例えば，各プログラムごとに異なる演算手段（ＣＰＵ及びその周辺装置（即ち，広義のコンピュータ））を設けた構成や，一部のプログラムについてのみ異なる演算手段を設けた構成等も考えられる。
【産業上の利用可能性】
【００２４】
本発明は，ネットワークを通じたサービス提供を行うサーバ装置への利用が可能である。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係るサーバＸを構成要素とするサービス提供システムＡの概略構成図。
【図２】サービス提供システムＡを構成するサーバＸ及び端末２の概略構成を表すブロック図。
【図３】サーバＸによるサービス提供処理の手順を表すフローチャート。
【符号の説明】
【００２６】
Ａ…サービス提供システム
Ｘ…サーバ（サーバ装置）
１…ネットワーク
２…端末
１１…演算部
１２…共有メモリ（共用記憶手段）
１３…操作表示部
１４…通信制御部
１５…固定記憶部
ｐ１…Ｗｅｂサーバプログラム
ｐ２…ＣＧＩプログラム
ｐ３…特定演算処理プログラム
Ｓ１１，Ｓ１２，，，…処理手順（ステップ）
【図１】
2008204090.tif 000003
【図２】
2008204090.tif 000004
【図３】
2008204090.tif 000005