(57)【要約】【課題】  ユーザ処理部を変更することなく、サービスＩＤ対応にユーザ定義サービス部またはシステム定義サービス部を切り替えて起動することが出来ない。【解決手段】  切り替えプログラムは、サービスＩＤ対応に指示情報を格納する設定記憶部を備えたコンピュータに、ユーザ処理部からサービスＩＤを入力して、サービスＩＤに対応する指示情報に基づいて、サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する処理を実行させる。【選択図】      図１
2010003204.tif 000002
【特許請求の範囲】
【請求項１】
サービスＩＤ対応に指示情報を格納する設定記憶部を備えたコンピュータに、
ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する処理を実行させる切り替えプログラム。
【請求項２】
前記コンピュータに、
前記指示情報に基づいて実行環境を判定して前記選択を実行させる請求項１の切り替えプログラム。
【請求項３】
前記コンピュータに、
前記実行環境として、所定機能の使用可否を判定させる請求項２の切り替えプログラム。
【請求項４】
前記ユーザ処理部、前記ユーザ定義サービス部および前記システム定義サービス部は、前記コンピュータに実行されるプログラムであり、
前記ユーザ処理部から呼び出されて、
前記コンピュータに、前記ユーザ処理部に動的に結合される前記ユーザ定義サービス部の呼び出し処理を実行させる、請求項１乃至３のいずれかの切り替えプログラム。
【請求項５】
前記ユーザ処理部、前記ユーザ定義サービス部および前記システム定義サービス部は、前記コンピュータによって実行されるプログラムであり、
第１のプロセス上で実行される前記ユーザ処理部から呼び出されて、前記第１のプロセス上で実行されて、
前記コンピュータに、第２のプロセスに前記システム定義サービス部の起動を要求するプロセス間通信処理を実行させる、請求項１乃至３のいずれかの切り替えプログラム。
【請求項６】
請求項４または５の切り替えプログラム、前記ユーザ定義サービス部、および、前記システム定義サービス部とから構成される、システムプログラム。
【請求項７】
サービスＩＤ対応に指示情報を格納する設定記憶部と、
ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する切り替え部を備える、切り替え装置。
【請求項８】
前記切り替え部は、前記指示情報に基づいて外部条件を判定して前記選択を行う請求項７の切り替え装置。
【請求項９】
前記切り替え部は、前記外部条件として、所定機能の使用可否を判定する請求項８の切り替え装置。
【請求項１０】
サービスＩＤ対応に指示情報を格納する設定記憶部を備えたコンピュータが、
ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する行程を有する切り替え方法。
【請求項１１】
前記コンピュータが、
前記指示情報に基づいて実行環境を判定して前記選択を実行する請求項１０の切り替え方法。
【請求項１２】
前記コンピュータが、
前記実行環境として、所定機能の使用可否を判定する請求項１１の切り替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、切り替え装置、切り替えプログラム、および、切り替え方法に関する。
【背景技術】
【０００２】
特許文献１は、照度が一定範囲内であれば特殊プログラムを起動し、当該範囲外であればＯＳ（Operating System）を起動するデータ処理装置を開示する。
【０００３】
特許文献２は、所定の起動条件を満たすときに、サブプログラムをメインプログラムから起動するシステムを開示する。
【０００４】
特許文献３は、ユーザがプログラム作成時に２つの実行時ルーチンを設け、モードによって何れか一方のルーチンを実行する視覚センサシステムを開示する。本システムは、コンソール入力からモードを選択する。
【０００５】
【特許文献１】特開２００５−２８４６３７号公報
【特許文献２】特開平９−２８２０１９号公報
【特許文献３】特開平２−１３８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献のいずれも、サービスＩＤ対応に指示情報を格納する設定記憶部を備えていない。更に、上記特許文献は、ユーザ処理部からサービスＩＤを入力して、サービスＩＤに対応する前記指示情報に基づいて、サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方を選択して起動する切り替え部も備えていない。
【０００７】
従って、上記特許文献の技術は、ユーザ処理部を変更することなく、サービスＩＤ対応にユーザ定義サービス部またはシステム定義サービス部を切り替えて起動することが出来ないという課題があった。
【０００８】
本発明の目的は、上記課題を解決する、切り替え装置、切り替えプログラム、および、切り替え方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の切り替えプログラムは、サービスＩＤ対応に指示情報を格納する設定記憶部を備えたコンピュータに、ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する処理を実行させる。
【００１０】
本発明の一実施形態の切り替え装置は、サービスＩＤ対応に指示情報を格納する設定記憶部と、ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する切り替え部を備える。
【００１１】
本発明の一実施形態の切り替え方法は、サービスＩＤ対応に指示情報を格納する設定記憶部を備えたコンピュータが、ユーザ処理部から前記サービスＩＤを入力して、前記サービスＩＤに対応する前記指示情報に基づいて、前記サービスＩＤに対応する、ユーザ定義サービス部またはシステム定義サービス部のいずれか一方の選択をして起動する行程を有する。
【発明の効果】
【００１２】
ユーザ処理部を変更することなく、ユーザ処理部が、ユーザ定義サービス部またはシステム定義サービス部を切り替えて起動することが出来る。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明の第１の実施形態にかかる切り替え装置１０の構成を示す。切り替え装置１０は、設定部１１、ユーザ処理部１２、切り替え部１３、ユーザ定義サービス部１４、および、システム定義サービス部１５を包含する。
【００１４】
各部は、コンピュータ４０である切り替え装置１０の図示しないプロセッサが、図示しない主記憶装置に格納された、各部に対応したプログラムを実行することで機能する。この場合、切り替え装置１０は、各部対応のプログラムの実行を制御するＯＳ３０（Operating System）を備える。なお、ハードウェアが、上記各部と同等な機能を実現していても良い。
【００１５】
ユーザ処理部１２は経理処理などを実行する。ユーザ処理部１２がプログラムで構成される場合、アプリケーションプログラム４２となる。
【００１６】
ユーザ定義サービス部１４およびシステム定義サービス部１５は、ユーザ処理部１２のために、所定の処理を実行して処理結果を出力（サービスを提供）する。ユーザ定義サービス部１４は、例えば、ユーザによってユーザ処理部１２と共に作成される。システム定義サービス部１５は、切り替え装置１０の開発者または管理者によって作成される。
【００１７】
ユーザ定義サービス部１４、および、システム定義サービス部１５は、サービスの種類ごとに複数存在しても良い。ユーザ定義サービス部１４およびシステム定義サービス部１５がプログラムで構成される場合、各々は、ユーザ定義サービスプログラム４４、システム定義サービスプログラム４５となる。
【００１８】
設定記憶部２０は、切り替え装置１０に接続されたディスク装置等にファイルとして設けられる。設定部１１は、設定記憶部２０の内容を設定・変更する。設定部１１がプログラムで構成される場合、設定プログラム４１となる。
【００１９】
切り替え部１３は、ユーザ処理部１２のサービス要求を受けて、システム定義サービス部１５またはユーザ定義サービス部１４のいずれかを選択して起動する。選択は、設定記憶部２０の内容に基づいて行われる。
【００２０】
ユーザ処理部１２が切り替え部１３にサービスを要求するインターフェースは、システム定義サービス部１５またはユーザ定義サービス部１４のいずれが選択される場合でも同一である。切り替え部１３がプログラムで構成される場合、切り替えプログラム４３となる。
【００２１】
図２は、設定記憶部２０の格納データを示す。設定記憶部２０は、サービスＩＤ２１と指示情報２２を格納する。サービスＩＤ２１は、ユーザ定義サービス部１４またはシステム定義サービス部１５が提供するサービスの種類を示す。本実施の形態に於いて、指示情報２２は、システム定義サービス部１５とユーザ定義サービス部１４うち、どちらを起動するかの区別を示す２値情報等である。
【００２２】
図３は、切り替え部１３の動作フローチャートである。切り替え部１３は、ユーザ処理部１２から、サービスＩＤ２１を入力パラメータとするサービス要求を受けて、同部からサービスＩＤ２１を入力する（Ｓ１１）。
【００２３】
切り替え部１３は、入力したサービスＩＤ２１に対応する指示情報２２がシステム定義サービス部１５の起動を指示するかを判断する（Ｓ１２）。このとき切り替え部１３は、サービスＩＤ２１をキーとして設定記憶部２０を検索して、指示情報２２を得る。
【００２４】
指示情報２２が、システム定義サービス部１５の起動を指示する場合（Ｓ１２でＹ）、切り替え部１３は、サービスＩＤ２１からシステム定義サービス部１５の名称を生成する（Ｓ１３）。その後切り替え部１３は、当該名称を用いてシステム定義サービス部１５を起動し、その処理結果を同部から受け取る（Ｓ１４）。
【００２５】
切り替え部１３がプロセス（第１のプロセス）上で実行される切り替えプログラム４３である場合、同部はＳ１３、Ｓ１４の処理を以下の第１、第２例ように実現しても良い。ここで、プロセスは、プロセッサに複数のプログラムを並行して実行させる為に、ＯＳ３０が実行単位として設けたものである。
【００２６】
第１例では、同部は、Ｓ１３において、例えば、サービスＩＤ２１に接頭語“システム”を付加して、システム定義サービス部１５として機能するプロセス（第２のプロセス）の名称を生成する。ここで、第２のプロセスは、システム定義サービスプログラム４５をプロセッサに実行させるプロセスである。
【００２７】
切り替え部１３は、Ｓ１４にて、第２のプロセスにサービスの提供を要求し、その終了を待ち合わせ、さらに、第２のプロセスから処理結果を入力する。このとき同部は、生成した名称をＯＳ３０に出力して、ＯＳ３０が提供するプロセス間通信機能を用いて、第１と第２のプロセス間の同期や情報授受を実現する。
【００２８】
第２例では、切り替え部１３は、Ｓ１３において、例えば、サービスＩＤ２１に接頭語“システム”を付加して、システム定義サービスプログラム４５の名称を生成する。同部は、Ｓ１４にて、当該名称をＯＳ３０に出力して、ＯＳ３０の提供する動的リンク機能を用いて当該プログラムを呼び出して、処理結果を入力する。
【００２９】
切り替え部１３は、上記Ｓ１３、Ｓ１４の処理をハードウェアで実現されたシステム定義サービス部１５との起動／応答信号の電気的な授受で実現しても良い。
【００３０】
最後に、切り替え部１３は、処理結果をユーザ処理部１２に出力して（Ｓ１５）処理を終了する。
【００３１】
指示情報２２がユーザ定義サービス部１４の起動を指示する場合（Ｓ１２でＮ）、切り替え部１３は、サービスＩＤ２１からユーザ定義サービス部１４の名称を生成する（Ｓ１６）。その後切り替え部１３は、当該名称を用いてユーザ定義サービス部１４を起動し、その処理結果を同部から受け取る（Ｓ１７）。
【００３２】
Ｓ１６、Ｓ１７の処理の詳細は、Ｓ１３、Ｓ１４と同様である。なお、ユーザ処理部１２およびユーザ定義サービス部１４がプログラムで実現されている場合、両者は静的にリンクされていても良い。更に、切り替え部１３もプログラムである場合は、３者が静的にリンクされていても良い。
【００３３】
本実施形態の切り替え装置１０は、ユーザ処理部１２を変更せずに、ユーザ定義サービス部１４とシステム定義サービス部１５を切り替えて起動できる。切り替え部１３が、指示情報２２の指定に従って、両者の何れかを選択して起動するからである。
【００３４】
本実施形態は、例えば、アプリケーションプログラム４２がユーザ作成サービスプログラム（ユーザ定義サービスプログラム４４）を使用していた環境で、高速で高品質なシステム定義サービスプログラム４５が後から用意された場合に効果がある。その理由は、アプリケーションプログラム４２の変更をせずに新たなシステム定義サービスプログラム４５を使用でき、導入によるアプリケーションプログラム４２再作成を省略したり、評価工程を減らしたり出来るからである。
【００３５】
図４は、本発明の第２の実施形態の切り替え装置１０の全体構成を示す。本実施形態の切り替え装置１０は環境変数３１を備える。他は第１の実施形態の切り替え装置１０と同様である。
【００３６】
環境変数３１は、切り替え装置１０の図示しない主記憶装置等に格納された、切り替え装置１０各部の実行環境を表す変数である。環境変数３１は、単数の場合も複数の場合もある。
【００３７】
環境変数３１は、例えば、ＯＳ３０の所定の機能（所定通信パス経由の通信機能、等）の使用の可否を示す値を格納する。ＯＳ３０は、所定通信パスが正常であれば環境変数３１に当該機能が使用可である旨の値を格納し、当該通信パスに異常が検出されると当該環境変数３１に当該機能が使用不可である旨の値を格納する。
【００３８】
環境変数３１は、切り替え装置１０の負荷情報（空きメモリ量、プロセッサ使用率、等）を格納するものであっても良い。この場合は、例えば、ＯＳ３０が定期的に情報を更新する。
【００３９】
更に、環境変数３１は、実時間タイマ値やある種の計測値を格納するものでも良い。この場合は、例えば、図示しない実時間タイマや計測器が環境変数３１を更新する。
【００４０】
図５は、本発明の第２の実施形態の設定記憶部２０に格納される指示情報２２の詳細を示す。他は第１の実施形態の設定記憶部２０と同様である。
【００４１】
本実施形態に於いて、指示情報２２は変数名２７と条件値２８の対を格納する。変数名２７は環境変数３１の名称である。条件値２８は当該名称の環境変数３１が取りうる値（例えば、所定機能の使用が可または不可の指示）、または、値の範囲（例えば、１０メガバイト＜空きメモリ量＜５０メガバイト）を示す。変数名２７と条件値２８の対は、単数でも複数でも良い。
【００４２】
図６は、本発明の第２の実施形態の切り替え部１３のフローチャートである。切り替え部１３は、ユーザ処理部１２から、サービスＩＤ２１を入力パラメータとするサービス要求を受けて、同部からサービスＩＤ２１を入力する（Ｓ２１）。
【００４３】
続いて切り替え部１３は、指示情報２２に基づく実行環境の判定を行う（Ｓ２２）。具体的には、同部は、指示情報２２から変数名２７および条件値２８を取得して、当該変数名２７の環境変数３１の値が、当該条件値２８の値に合致、または値の範囲内であるかを判定する。指示情報２２に複数の変数名２７および条件値２８の対が格納されているときは、全ての変数名２７および条件値２８の対について、上記判定を順次実施する。
【００４４】
判定結果が全て真であれば（Ｓ２３でＹ）、同部は、サービスＩＤ２１からシステム定義サービス部１５の名称を生成する（Ｓ２４）。その後切り替え部１３は、当該名称を用いてシステム定義サービス部１５を起動し、その処理結果を同部から受け取る（Ｓ２５）。
【００４５】
最後に、切り替え部１３は、処理結果をユーザ処理部１２に出力して（Ｓ２６）処理を終了する。
【００４６】
判定結果の何れかが偽であれば（Ｓ２３でＮ）、切り替え部１３は、サービスＩＤ２１からユーザ定義サービス部１４の名称を生成する（Ｓ２７）。その後切り替え部１３は、当該名称を用いてユーザ定義サービス部１４を起動し、その処理結果を同部から受け取る（Ｓ２８）。
【００４７】
なお、切り替え部１３は、判定結果が全て真であれば（Ｓ２３でＹ）切り替え部１３はユーザ定義サービス部１４を起動し、逆の場合（Ｓ２３でＮ）にシステム定義サービス部１５を起動するように構成しても良い。
【００４８】
また、切り替え部１３は、判定結果の何れかが真であるか否かでユーザ定義サービス部１４またはシステム定義サービス部１５を選択しても良い。
【００４９】
本実施形態の切り替え装置１０は、ユーザ処理部１２を変更せずに、実行環境に応じて、ユーザ定義サービス部１４とシステム定義サービス部１５を動的に切り替えて起動できる。切り替え部１３が、環境変数３１の値が条件値２８に整合しているかを判定して、その判定結果に従って、両者の何れかを選択して起動するからである。本実施形態は、例えば、アプリケーションプログラム４２（ユーザ処理部１２）の実行中に実行環境が変化したときに、柔軟に対応できるという効果がある。
【００５０】
図７は、本発明の第３の実施形態の設定記憶部２０の格納データを示す。なお、本実施形態では、ユーザ処理部１２および切り替え部１３がプロセス（第１のプロセス）上で実行されるプログラムであると仮定している。さらに、ユーザ定義サービス部１４とシステム定義サービス部１５がプログラムで構成されているものとする。
【００５１】
本実施形態の設定記憶部２０は、第１名称２３、フラグ２４、呼び出し法２５、第２名称２６を格納する。他は、第２の実施形態の設定記憶部２０と同様である。
【００５２】
第１名称２３は、ユーザ定義サービスプログラム４４の名称である。第２名称２６は、システム定義サービスプログラム４５、または、システム定義サービスプログラム４５をプロセッサに実行させるプロセス（第２のプロセス）の名称である。
【００５３】
フラグ２４は、対応サービスＩＤ２１を指定したサービス要求があったときに、ユーザ定義サービスプログラム４４とシステム定義サービスプログラム４５との間で一方を選択して起動するか否か（選択起動の有無）を示す情報である。フラグ２４が、選択起動有りを示している場合に、呼び出し法２５、第２名称２６、指示情報２２の内容が有効である。
【００５４】
呼び出し法２５は、システム定義サービスプログラム４５を起動するときに、動的リンクを使用した呼び出しを行うか、プロセス間通信を用いた処理要求を行うかを指定する。呼び出し法２５の値は、システム定義サービスプログラム４５の切り替え装置１０への登録方法に依存して決まる。
【００５５】
図８は、本発明の第３の実施形態の切り替え部１３のフローチャートである。切り替え部１３は、ユーザ処理部１２から、サービスＩＤ２１を入力パラメータとするサービス要求を受けて、同部からサービスＩＤ２１を入力する（Ｓ３１）。
【００５６】
切り替え部１３は、入力したサービスＩＤ２１に対応するフラグ２４が選択起動有りを指示するかを判断する（Ｓ３２）。このとき同部は、サービスＩＤ２１をキーとして設定記憶部２０を検索して、フラグ２４を得る。
【００５７】
フラグ２４が、選択起動有りを指示する場合（Ｓ３２でＹ）、切り替え部１３は、指示情報２２に基づく実行環境の判定を行う（Ｓ３３）。この詳細は第２の実施形態と同じでよい。
【００５８】
判定結果が全て真である場合（Ｓ３４でＹ）、切り替え部１３は、呼び出し法２５が動的リンク起動を指示するかを判断する（Ｓ３５）。
【００５９】
呼び出し法２５が動的リンク起動を指示する場合（Ｓ３５でＹ）、同部は、第２名称２６をＯＳ３０に出力して、ＯＳ３０の提供する動的リンク機能を用いてシステム定義サービスプログラム４５を第１のプロセス上で呼び出して、処理結果を受け取る（Ｓ３６）。
【００６０】
最後に、切り替え部１３は、処理結果をユーザ処理部１２に出力して（Ｓ３７）処理を終了する。
【００６１】
呼び出し法２５がプロセス間通信起動を指示する場合（Ｓ３５でＮ）、切り替え部１３は以下のことを行う。即ち、同部は、第２名称２６をＯＳ３０に出力して、ＯＳ３０が提供するプロセス間通信機能を用いて、第２のプロセスにサービスを要求し、その終了を待ち合わせ、さらに、第２のプロセスから処理結果を入力する（Ｓ３８）。
【００６２】
フラグ２４が選択起動無しを指示する（Ｓ３２でＮ）、または、判定結果の何れかが偽であれば（Ｓ３４でＮ）、切り替え部１３は以下を行う。即ち、同部は、第１名称２３をＯＳ３０に出力して、ＯＳ３０の提供する動的リンク機能を用いてユーザ定義サービスプログラム４４を呼び出して、処理結果を入力する（Ｓ３９）。
【００６３】
本実施の形態の切り替え装置１０は、システム定義サービスプログラム４５の作成登録にさいして、最適な方法を取ることを許容する。切り替え部１３が、呼び出し法２５に基づいて、システム定義サービスプログラム４５の起動方法を切り替えるからである。
【００６４】
さらに、本実施の形態の切り替え装置１０は、呼び出し法２５、第２名称２６および指示情報２２を設定記憶部２０に無駄に登録する必要性を無くす。切り替え部１３は、フラグ２４が選択起動有りを示す場合のみ、それらを参照するからである。
【００６５】
図９は、本発明の基本的な構成を示す。本発明の切り替えプログラム４３は、サービスＩＤ２１対応に指示情報２２を格納する設定記憶部２０を備えたコンピュータ４０に、以下の処理を実行させる。即ち、コンピュータ４０は、ユーザ処理部１２からサービスＩＤ２１を入力して、当該ＩＤに対応する指示情報２２に基づいて、当該ＩＤに対応するユーザ定義サービス部１４またはシステム定義サービス部１５のいずれか一方の選択をして起動する。
【００６６】
図１０は、システムプログラム４６の構成を示す。システムプログラム４６は、切り替えプログラム４３、ユーザ定義サービスプログラム４４、および、システム定義サービスプログラム４５から構成される。
【図面の簡単な説明】
【００６７】
【図１】図１は、本発明にかかる切り替え装置１０の構成を示す。
【図２】図２は、設定記憶部２０の格納データを示す。
【図３】図３は、切り替え部１３の動作フローチャートである。
【図４】図４は、本発明の第２の実施形態の切り替え装置１０の構成を示す。
【図５】図５は、本発明の第２の実施形態の設定記憶部２０に格納される指示情報２２の詳細を示す。
【図６】図６は、本発明の第２の実施形態の切り替え部１３のフローチャートである。
【図７】図７は、本発明の第３の実施形態の設定記憶部２０の格納データを示す。
【図８】図８は、本発明の第３の実施形態の切り替え部１３のフローチャートである。
【図９】図９は、本発明の基本的な構成を示す。
【図１０】図１０は、システムプログラム４０の構成を示す。
【符号の説明】
【００６８】
１０    切り替え装置
１１    設定部
１２    ユーザ処理部
１３    切り替え部
１４    ユーザ定義サービス部
１５    システム定義サービス部
２０    設定記憶部
２１    サービスＩＤ
２２    指示情報
２３    第１名称
２４    フラグ
２５    呼び出し法
２６    第２名称
２７    変数名
２８    条件値
３０    ＯＳ
３１    環境変数
４０    コンピュータ
４１    設定プログラム
４２    アプリケーションプログラム
４３    切り替えプログラム
４４    ユーザ定義サービスプログラム
４５    システム定義サービスプログラム
４６    システムプログラム
【図１】
2010003204.tif 000003
【図２】
2010003204.tif 000004
【図３】
2010003204.tif 000005
【図４】
2010003204.tif 000006
【図５】
2010003204.tif 000007
【図６】
2010003204.tif 000008
【図７】
2010003204.tif 000009
【図８】
2010003204.tif 000010
【図９】
2010003204.tif 000011
【図１０】
2010003204.tif 000012