JP2007140688A - プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体 - Google Patents

プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体 Download PDF

Info

Publication number
JP2007140688A
JP2007140688A JP2005330673A JP2005330673A JP2007140688A JP 2007140688 A JP2007140688 A JP 2007140688A JP 2005330673 A JP2005330673 A JP 2005330673A JP 2005330673 A JP2005330673 A JP 2005330673A JP 2007140688 A JP2007140688 A JP 2007140688A
Authority
JP
Japan
Prior art keywords
software
program distribution
program
distribution server
test
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.)
Granted
Application number
JP2005330673A
Other languages
English (en)
Other versions
JP4732864B2 (ja
Inventor
Takashi Akutsu
隆 阿久津
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005330673A priority Critical patent/JP4732864B2/ja
Priority to US11/600,522 priority patent/US20070156591A1/en
Publication of JP2007140688A publication Critical patent/JP2007140688A/ja
Application granted granted Critical
Publication of JP4732864B2 publication Critical patent/JP4732864B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

【課題】業務フローが効率化された、プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体を提供することを目的とする。
【解決手段】複数のソフトウェアのいずれかを、ユーザ端末1の要求に応じ配布するプログラム配布サーバ3において、プログラム配布サーバ3が、上記ソフトウェアがどのような複数の機能を有するかを示す第1の情報と、上記複数の機能のうちどの機能が上記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、上記ソフトウェアに依存して動作する依存ソフトウェアが上記複数のソフトウェアのどれを使用するかを示す第3の情報と、依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報とを有し、第1〜第4の情報を基に、ユーザ端末1に配布するソフトウェアの更新可否の決定をするようにする。
【選択図】図10

Description

本発明は、ネットワークを介し、ユーザ端末に対して要求されたプログラムを提供する、プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体に関する。
従来、インターネット等のコンピュータ・ネットワークを利用して更新されたソフトウェアを配布するシステムとしては、特許文献1に開示されるものがある。特許文献1に記載されているシステムによれば,プログラムが動作するコンピュータ上に,プログラムアップデートのためのコンポーネント(アップデータ・コンポーネント)が配置され,このアップデータ・コンポーネントが、プログラムを配布するサーバに自動的にアクセスし、プログラムを更新する。
更に、そのプログラムが依存している他のプログラムがあれば、それらのアップデートも同時に行う。これらの効果により、プログラムの更新が自動化されるため,利用者の負担が軽減されることになる。特許文献1に従い、依存関係をもつ複数のプログラムを同時に、かつ、安全に更新するには、「依存関係の定義」を管理し、その情報の鮮度を維持する必要がある。
ある種のソフトウェア(以下、プラットフォームソフトウェア)は、SDK(ソフトウェア開発キット)や、プラグインと呼ばれる機構を提供する。プラットフォームソフトウェアをそのまま利用する場合もあるが、外部ベンダーがこれらの機構を使い、プラットフォームソフトウェアを拡張し、また、拡張した部分(以下、ソリューションソフトウェア)を独自に販売するケースがある(一般的に、ソリューションソフトウェアは、プラットフォームソフトウェアに遅れて市場投入される)。
プラットフォームソフトウェアに障害対策が行われたり、機能拡張が行われた場合、その提供ベンダーは、外部ベンダーに対してプラットフォームソフトウェアの更新が市場に配布されることを知らせる必要がある。また、知らせを受けた外部ベンダーは、既リリース済みのソリューションソフトウェアと連携させたときに問題が発生しないか評価し、市場にアナウンスをする必要がある。
これらのソリューションソフトウェアが膨大な数になってくると、プラットフォームソフトウェアの更新に支障が出てくる。なぜなら、すべてのソリューションソフトウェアの評価完了を待ってから更新をリリースしたのでは、その確認の手間が増大する問題と、更新を迅速に提供できなくなる問題が発生する。また、プラットフォームソフトウェアを単体で使っている顧客にとって、ソリューションソフトウェアとの連携評価は不要であり、いち早く更新を手にする必要がある。
特許第3385590号公報
しかし、上述したような状況において、特許文献1の方式を採用すると、依存情報の管理が膨大な手間となり、また、導入されているソリューションソフトウェアの組によって、あるいは、組み合わせ評価の完了有無によって、依存情報を動的に更新しなければならないという問題があった。
上記問題を言い換えると、プラットフォームソフトウェア単体で使っている顧客や、既に組み合わせ評価が完了しているソリューションソフトウェアのみを使っている顧客からみれば更新が提供されているように見え、逆に評価の終わっていないソリューションソフトウェアを使っている顧客から見れば、まだ更新が提供されていないように見えるようにしなければならないという問題があった。
本発明は、上記のような問題点に鑑み、プラットフォームソフトウェアの更新が発生してから、外部ベンダーがソリューションソフトウェアの更新を提供する或いは更新が必要ないことを確定するまでの業務フロー、及び、組み合わせ評価をプラットフォームソフトウェアの提供ベンダーが請け負う仕組みについての改善がなされた、プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体を提供することを目的とする。
請求項1記載の発明は、外部ベンダーから供給される複数のソフトウェアのいずれかを、ユーザ端末からの要求に応じてユーザ端末に対して配布するプログラム配布サーバであって、前記プログラム配布サーバは、前記外部ベンダーから供給される前記ソフトウェアがどのような複数の機能を有するかを示す第1の情報と、前記複数の機能のうちどの機能が前記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、前記ユーザ端末に組み込まれ、前記ソフトウェアに依存して動作する依存ソフトウェアが前記複数のソフトウェアのどれを使用するかを示す第3の情報と、前記依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報とを有し、前記第1から第4の情報を基に、前記ユーザ端末に配布するソフトウェアの更新可否の決定をするプログラム配布サーバとしたことを特徴とする。
請求項2記載の発明は、前記ソフトウェアがバージョンアップされた場合であって、前記第1から第4の情報を基に前記依存ソフトウェアの動作検証が必要だと判断した場合には、その旨を開発者端末に通知し、LANにより前記プログラム配布サーバに接続されたテストケース実行手段に働きかけてテストケースを実行させ、前記テストケースが成功した場合のみ、前記ソフトウェアの更新可と判断する請求項1記載のプログラム配布サーバとしたことを特徴とする。
請求項3記載の発明は、セキュリティを保ったまま課金する課金手段を有し、前記テストケースの実行に伴い、テスト依頼元端末にテスト費用の請求を行う請求項2記載のプログラム配布サーバとしたことを特徴とする。
請求項4記載の発明は、外部ベンダーから供給される複数のソフトウェアのいずれかを、ユーザ端末からの要求に応じてユーザ端末に対して配布するプログラム配布サーバのプログラム配布方法であって、前記プログラム配布サーバは、前記外部ベンダーから供給される前記ソフトウェアがどのような複数の機能を有するかを示す第1の情報と、前記複数の機能のうちどの機能が前記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、前記ユーザ端末に組み込まれ、前記ソフトウェアに依存して動作する依存ソフトウェアが前記複数のソフトウェアのどれを使用するかを示す第3の情報と、前記依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報とを有し、前記第1から第4の情報を基に、前記ユーザ端末に配布するソフトウェアの更新可否の決定をするプログラム配布サーバのプログラム配布方法としたことを特徴とする。
請求項5記載の発明は、前記ソフトウェアがバージョンアップされた場合であって、前記第1から第4の情報を基に前記依存ソフトウェアの動作検証が必要だと判断した場合には、その旨を開発者端末に通知し、LANにより前記プログラム配布サーバに接続されたテストケース実行手段に働きかけてテストケースを実行させ、前記テストケースが成功した場合のみ、前記ソフトウェアの更新可と判断する請求項4記載のプログラム配布サーバのプログラム配布方法としたことを特徴とする。
請求項6記載の発明は、セキュリティを保ったまま課金する課金手段を有し、前記テストケースの実行に伴い、テスト依頼元端末にテスト費用の請求を行う請求項5記載のプログラム配布サーバのプログラム配布方法としたことを特徴とする。
請求項7記載の発明は、請求項4から6のいずれか1項に記載のプログラム配布方法を、コンピュータに実行させるためのプログラム配布プログラムとしたことを特徴とする。
請求項8記載の発明は、請求項7記載のプログラム配布プログラムを記録した記録媒体としたことを特徴とする。
本発明によれば、プラットフォームソフトウェアの更新が発生してから、外部ベンダーがソリューションソフトウェアの更新を提供する或いは更新が必要ないことを確定するまでの業務フロー、及び、組み合わせ評価をプラットフォームソフトウェアの提供ベンダーが請け負う仕組みについての改善がなされた、プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体を実現することができる。
本発明を実施するための最良の形態は、外部ベンダーから供給される複数のソフトウェアのいずれかを、ユーザ端末からの要求に応じてユーザ端末に対して配布するプログラム配布サーバにおいて、上記プログラム配布サーバが、外部ベンダーから供給されるソフトウェアがどのような複数の機能を有するかを示す第1の情報と、上記複数の機能のうちどの機能が上記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、ユーザ端末に組み込まれ、上記ソフトウェアに依存して動作する依存ソフトウェアが上記複数のソフトウェアのどれを使用するかを示す第3の情報と、この依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報とを有し、上記第1から第4の情報を基に、ユーザ端末に配布するソフトウェアの更新可否の決定をするようにする。
以下に、本発明の好適な実施形態を添付図面に基づいて詳細に説明する。尚、以下に述べる実施形態は本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの実施形態に限られるものではない。
(実施形態1)
まず、本実施形態のプログラム配布サーバとの比較のため、従来のプログラム配布サーバについて、添付図面を用いて以下に説明する。プログラム配布サーバは、管理下にある複数のプログラムの依存関係を管理するための管理情報を有し、その管理情報のデータ構造は、例えば、図1、図2に示すようなものである。図1、図2は、プログラム配布サーバが有する管理情報のデータ構造を説明するための管理情報テーブルである。
図1に示す表の1行目及び2行目は、他のソフトウェアと関連がなく、このソフトウェア単体(PlatformA又はPlatformB)ですべての機能の品質が満たされる商品のものであり、第2カラムに示すバージョンがリリース済みであることを示す。図1に示す表の3行目以降は、他の依存ソフトウェアと組み合わせて機能を実現しているソフトウェアを示す。
図1に示すように、例えば、SolutionXというソフトウェアは、バージョン1がリリース済み(第2カラム)で、PlatformAというソフトウェアを必要とし(第3カラム)、組み合わせて動作検証が完了しているバージョンが、バージョン1、バージョン2、バージョン3のいずれか(第4カラム)であることを示す。そして、これ以外のバージョンのSolutionXとPlatformAとの組み合わせは、動作検証が行なわれおらず、動作保証がされない。
次に、従来のプログラム配布サーバの動作について以下に説明する。従来のプログラム配布サーバは、PlatformAのバージョン3のソフトウェアを単体で使っているシステムから更新有無の問い合わせを受けたとき、図1に示す1行目の情報から、PlatformAのバージョン3.5のソフトウェアの更新が利用できることを判断し、問い合わせ元に回答する。
また、従来のプログラム配布サーバは、SolutionXのバージョン1のソフトウェアと、PlatformAのバージョン2のソフトウェア使っているシステムから更新の問い合わせを受けた場合には、図1に示す3行目の情報から、PlatformAのバージョン3のソフトウェアの更新が利用できることを判断し、問い合わせ元に回答する。
なお、図1に示す1行目の情報から、実際にはPlatformAのバージョン3.5のソフトウェアが用意されているが、SolutionXのバージョン1のソフトウェアとの組み合わせ評価が完了していないため、これらは無いものとして扱われる。
この状態で、PlatformAのバージョン4のソフトウェアがリリースされたとき、図1に示す1行目の「バージョン」カラムには、直ちにバージョン4が追加され、PlatformAを単体で使用するシステムに公開される。また、PlatformAを利用するSolutionXのバージョン1のソフトウェアが、PlatformAのバージョン4のソフトウェアについて問題なく動作ができることが確認されると、図1に示す3行目の「テスト済み依存ソフトウェアバージョン」カラムにバージョン4が追加される。
また、同じくPlatformAを利用するSolutionZが、PlatformAのバージョン4のソフトウェアに対して問題が発生し、バージョン3.1の改変が行われた場合、図2に示すように新たに6行目が追加される。依存関係が図2の状態に更新されてから、SolutionZのバージョン3のソフトウェアと、PlatformAのバージョン3のソフトウェアを使うシステムから問い合わせが来ると、SolutionZのバージョン3.1のソフトウェアと、PlatformAのバージョン4のソフトウェアの同時更新が可能であることを回答する。
以上説明したように、従来のプラグラム配布サーバは、管理下のソフトウェア同士の依存関係を管理していた。しかしながら、上述のSolutionXやSolutionZの依存関係を更新する処理はテスト結果などを元に手動で更新されていたものであり、管理の手間がかかる。
次に、本実施形態のプログラム配布サーバを含むプログラム配布システムの構成及び各部の機能について図10を用いて以下に説明する。図10は、本実施形態のプログラム配布サーバを含むプログラム配布システムの構成及び各部の機能について説明するためのブロック構成図である。
図10に示すような、本実施形態のプログラム配布サーバを含むプログラム配布システムは、ユーザ端末1、外部ベンダー2、及び、プログラム配布サーバ3、及び、テスト機4を備えている。ユーザ端末1及び外部ベンダー2とプログラム配布サーバ3とは、インターネットを介して接続される。プログラム配布サーバ3とテスト機4とは、LAN接続される。
図1に示すように、プログラム配布サーバ3は、データベース5〜7を有し、リリースマネージャ8と、テストケースマネージャ9とを備えている。また、テスト機4は、テストケースビルダー10を備えている。
データベース5は、ソフトウェアの更新を行なう更新プログラムや更新データを格納する。データベース6は、プログラム配布サーバ3の管理下にあるソフトウェアを管理するための管理データを格納する。データベース7は、ソフトウェアの動作検証をするためのテストプログラムやテストデータを格納する。
リリースマネージャ8は、更新要求元の顧客環境(ユーザ端末1)で稼動するアップデータ・コンポーネント(特許文献1参照。)と連携して動作する。具体的には、リリースマネージャ8は、ユーザ端末1のアップデータ・コンポーネントからの更新要求を受け取り、更新可能な情報があるかをデータベース6が有する管理データ(図1、図2に示したデータ)を使って調べる。
そして、リリースマネージャ8は、更新可能な情報があった場合、その旨をアップデータ・コンポーネントへ回答する。また、リリースマネージャ8は、アップデータ・コンポーネントへ更新データを送る。また、リリースマネージャ8は、外部ベンダー2からリリースされた更新内容の情報を受け取り、この更新内容の情報を、更新データ及び(図3や図4に示したような)管理データとしてそれぞれデータベース5及びデータベース6に格納する。
また、リリースマネージャ8は、図3や図4に示した管理データを使ってテストの要否を判断し、テストが必要な場合には、テストケースマネージャ9にテスト依頼を行なうと共に、外部ベンダー2へ通知を行なう。
テストケースマネージャ9は、リリースマネージャ8からのテスト依頼を図5に示す管理データにキューイングする。また、テストケースマネージャ9は、テスト依頼が溜まったら、図6に示す管理データからテスト機を探し、見つかったテスト機を起動する。
続いて、テストケースビルダー10へテスト対象プログラムやテストケースデータを送る。また、テストケースマネージャ9は、テストケースビルダー10からテスト結果を受け取り、この受け取ったテスト結果から通知を行なったり、図2に示した管理データの更新をリリースマネージャ8に依頼する。
テストケースビルダー10は、テスト機の起動により自動的に実行され、テストケースマネージャ9と通信を確立する。また、テストケースビルダー10は、テスト対象プログラムとテストケースデータをテストケースマネージャ9からダウンロードし、テストを実行する。更に、テストケースビルダー10は、テスト結果をテストケースマネージャ9へ伝える。そして、テスト終了毎に、次回のテストに備えてテスト機を初期化する(図7、図10参照。)。
次に、本実施形態のプログラム配布サーバを含むプログラム配布システムの動作について添付図面を用いて具体的に以下に説明する。本システム上で稼動するリリースマネージャ8は、依存先のPlatformAの機能を適当な粒度で分割し、PlatformAを更新するときにどの機能に影響がある変更が行われたかを管理する。ここでいう機能とは、「文書を印刷する」というような形で表現される場合や、SDKが提供する「1つ1つの関数」の場合もある。
図3は、PlatformAについての情報を抜き出したものだが、例えば、バージョン4のソフトウェアのリリースは、図3に示す機能1、8、17番に変更が入っていることを示す。図3に示す情報を従来のように手動で提供すると手間は増える一方であるため、本実施形態では管理情報としてプログラム配布サーバ3のデータベース6に保有する。図3に示す情報は、一般的には、プログラム配布サーバ3により、管理対象であるソフトウェアを構成する各ファイルが属する機能分類と、そのファイルに対する更新が発生したかどうかを基に自動的に生成され、管理データとして管理される。
プログラム配布サーバ3は、図3に示す情報と似た、図4に示す情報も管理データとして管理する。図4に示す情報は、依存する側のソフトウェアが、依存される側のソフトウェアのどの機能を使っているかを示すもので、依存する側のソフトウェア開発者から提供される情報である。
PlatformAのバージョン4のソフトウェアの更新がリリースされ、図3に示す表の4行目の情報が確定したとき、リリースマネージャ8は、図4に示された情報から、PlatformAの更新が、SolutionXやSolutionZに影響があるか否かを自動的に判断する。この例では、図4からわかるように、SolutionXが使っている機能に変更はなく、一方、機能8の更新がSolutionZに影響する可能性が示される。
すなわち、リリースマネージャ8により、SolutionXがPlatformAのバージョン4のソフトウェアの更新に対して安全であることは瞬時に自動判断され、リリースマネージャ8は、SolutionXに関する図2に示した情報を更新し、瞬時反映してリリースを実行する。一方、リリースマネージャ8により、SolutionZはすぐにリリースできず、機能8に対する組み合わせ評価が必要と判断される。
次に、上述したように評価の必要性が確定した、SolutionZの評価について説明する。リリースマネージャ8は、テストケースマネージャ9へ通知し、テスト依頼をリリースマネージャ8にキューイングしてもらう。本システムは、この時点で例えばSolutionZの管理者や開発者に対して、リリースマネージャ8がメールなどで依存関係に問題があることを通知する仕組みとする。
更に、本システムでは、商品プログラムであるSolutionZと共に商品プログラム提供者から提供されるテストケースを起動し、テスト結果を得ることができる。テストケースとは、テストを実施するテスト用プログラムやテストデータである。
SolutionZがテストに合格した場合には、影響無しと判断し、その結果は図2に示す管理情報テーブルに即座に反映される。SolutionZがテストに失敗した場合には、上記と同じように、SolutionZの管理者や開発者へ、テスト結果とともにメールなどで通知し、SolutionZの更新を促す。
上記テストケースは、以下に説明するように実現され、実施される。テストケースマネージャ9は、プログラム配布サーバ3上で稼動し、リリースマネージャ8からのテスト依頼を管理する。テストケースマネージャ9は、テスト依頼を受けると、図5に示すような形でテスト依頼をキューイングする。ステータスには、待機/テスト実施中/テスト完了などがある。
テストケースマネージャ9は、依頼が1つ以上溜まると、図6に示すテスト機4を管理するための管理情報テーブルから、空いている機器を探し、テスト依頼に割り当てる。割り当て可能なテスト機4が見つかると、テストケースマネージャ9は、テストを実施するコンピュータあるいはコンピュータをソフトウェアでエミュレートする実行環境(VirtualPCやVMWareという製品が有名)を起動する。例えば、コンピュータは、ネットワークボードから電源を入れることができる。
この実行環境は、オペレーティングシステムが起動されると自動的にログインし、テストケースビルダー10を起動するようにセットアップされている(以下図7参照。)。テストケースビルダー10が起動すると、テストケースマネージャ9とネットワークなどを通して通信し、テストに必要なソフトウェアをダウンロードしてインストールする。
また、評価対象ソフトウェアのテストケースも同様にダウンロードし、テストケースを起動する。テストケースが終了すると、テスト結果はテストケースビルダー10を通してテストケースマネージャ9へ伝えられる。テストケースマネージャ9は、その合否結果により、上記のメール通知や図2に示した情報の更新を(リリースマネージャ8に依頼して)行う。
テストケースビルダー10は、テストが終わるとOSの起動パラメータを変更し(例えば異なるパーティション上のOSが起動されるように変更し)、再起動を行う。この結果、再起動された実行環境は、先ほど使ったテスト環境を元の初期状態に戻し、次のテスト依頼に備えるようにコンピュータ自身を自己初期化し、シャットダウンする。
なお、エミュレータを使う環境では、単にその環境を捨てて、テンプレート環境をファイルコピーするだけで実現できる。以上の処理を、キューイングされたテスト依頼が無くなるまで、テストケースマネージャ9が繰り返し実行する。
次に、テストケースマネージャ9は、テストケースの実行で消費した課金情報を保存する。例えば、テストにかかった時間や、実行したテストケースの数などの情報である。図8は、プログラム配布サーバ3で管理されるソフトウェアの設定情報を示した図である。これらの情報はテストを実施するかどうかの判断に使われる。
また、図9は、テスト実施結果の管理情報を示した図である。これらの情報は、プログラム配布サーバ3により、テスト対象ソフトウェアごとに集計され、図8に示した情報を基にテスト結果の通知と費用の請求が発行される。
本実施形態及び従来のプログラム配布サーバが有する管理情報が格納された管理情報テーブルを示した図である。 本実施形態及び従来のプログラム配布サーバが有する管理情報が格納された管理情報テーブルを示した図である。 本実施形態のプログラム配布サーバが有する管理情報が格納された管理情報テーブルを示した図である。 本実施形態のプログラム配布サーバが有する管理情報が格納された管理情報テーブルを示した図である。 本実施形態のテスト依頼に関する管理情報が格納された管理情報テーブルを示した図である。 本実施形態のテスト機を管理するための管理情報が格納されている管理情報テーブルを示した図である。 本実施形態における、ソフトウェアの動作検証テストについて説明するための図である。 本実施形態のソフトウェアの設定情報を格納した管理情報テーブルを示した図である。 本実施形態のテスト実施結果に関する管理情報を格納した管理情報テーブルを示した図である。 本実施形態のプログラム配布サーバを含むプログラム配布システムの構成ブロック図である。
符号の説明
1 ユーザ端末
2 外部ベンダー
3 プログラム配布サーバ
4 テスト機
5、6、7 データベース
8 リリースマネージャ
9 テストケースマネージャ
10 テストケースビルダー

Claims (8)

  1. 外部ベンダーから供給される複数のソフトウェアのいずれかを、ユーザ端末からの要求に応じてユーザ端末に対して配布するプログラム配布サーバであって、
    前記プログラム配布サーバは、前記外部ベンダーから供給される前記ソフトウェアがどのような複数の機能を有するかを示す第1の情報と、前記複数の機能のうちどの機能が前記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、前記ユーザ端末に組み込まれ、前記ソフトウェアに依存して動作する依存ソフトウェアが前記複数のソフトウェアのどれを使用するかを示す第3の情報と、前記依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報と、を有し、
    前記第1から第4の情報を基に、前記ユーザ端末に配布するソフトウェアの更新可否の決定をすることを特徴とするプログラム配布サーバ。
  2. 前記ソフトウェアがバージョンアップされた場合であって、前記第1から第4の情報を基に前記依存ソフトウェアの動作検証が必要だと判断した場合には、その旨を開発者端末に通知し、LANにより前記プログラム配布サーバに接続されたテストケース実行手段に働きかけてテストケースを実行させ、前記テストケースが成功した場合のみ、前記ソフトウェアの更新可と判断することを特徴とする請求項1記載のプログラム配布サーバ。
  3. セキュリティを保ったまま課金する課金手段を有し、前記テストケースの実行に伴い、テスト依頼元端末にテスト費用の請求を行うことを特徴とする請求項2記載のプログラム配布サーバ。
  4. 外部ベンダーから供給される複数のソフトウェアのいずれかを、ユーザ端末からの要求に応じてユーザ端末に対して配布するプログラム配布サーバのプログラム配布方法であって、
    前記プログラム配布サーバは、前記外部ベンダーから供給される前記ソフトウェアがどのような複数の機能を有するかを示す第1の情報と、前記複数の機能のうちどの機能が前記ソフトウェアのバージョンアップに伴い変更されたかを示す第2の情報と、前記ユーザ端末に組み込まれ、前記ソフトウェアに依存して動作する依存ソフトウェアが前記複数のソフトウェアのどれを使用するかを示す第3の情報と、前記依存ソフトウェアが、使用する依存先のソフトウェアのどの機能を使用するかを示す第4の情報と、を有し、
    前記第1から第4の情報を基に、前記ユーザ端末に配布するソフトウェアの更新可否の決定をすることを特徴とするプログラム配布サーバのプログラム配布方法。
  5. 前記ソフトウェアがバージョンアップされた場合であって、前記第1から第4の情報を基に前記依存ソフトウェアの動作検証が必要だと判断した場合には、その旨を開発者端末に通知し、LANにより前記プログラム配布サーバに接続されたテストケース実行手段に働きかけてテストケースを実行させ、前記テストケースが成功した場合のみ、前記ソフトウェアの更新可と判断することを特徴とする請求項4記載のプログラム配布サーバのプログラム配布方法。
  6. セキュリティを保ったまま課金する課金手段を有し、前記テストケースの実行に伴い、テスト依頼元端末にテスト費用の請求を行うことを特徴とする請求項5記載のプログラム配布サーバのプログラム配布方法。
  7. 請求項4から6のいずれか1項に記載のプログラム配布方法を、コンピュータに実行させるためのプログラム配布プログラム。
  8. 請求項7記載のプログラム配布プログラムを記録した記録媒体。
JP2005330673A 2005-11-15 2005-11-15 プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体 Expired - Fee Related JP4732864B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005330673A JP4732864B2 (ja) 2005-11-15 2005-11-15 プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体
US11/600,522 US20070156591A1 (en) 2005-11-15 2006-11-15 Program distribution server, method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005330673A JP4732864B2 (ja) 2005-11-15 2005-11-15 プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体

Publications (2)

Publication Number Publication Date
JP2007140688A true JP2007140688A (ja) 2007-06-07
JP4732864B2 JP4732864B2 (ja) 2011-07-27

Family

ID=38203498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005330673A Expired - Fee Related JP4732864B2 (ja) 2005-11-15 2005-11-15 プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体

Country Status (2)

Country Link
US (1) US20070156591A1 (ja)
JP (1) JP4732864B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092655A1 (en) * 2009-02-12 2010-08-19 Ricoh Company, Ltd. License management apparatus, device, and license management method
EP3321808A1 (en) 2016-11-10 2018-05-16 Hitachi, Ltd. Verification system and verification method
JP2021018446A (ja) * 2019-07-17 2021-02-15 株式会社日立製作所 セキュリティ運用支援システムおよびその方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8538414B1 (en) * 2007-07-17 2013-09-17 Google Inc. Mobile interaction with software test cases
JP5326557B2 (ja) * 2008-12-25 2013-10-30 富士通株式会社 資源配付システム
US20140359593A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Maintaining known dependencies for updates

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022562A (ja) * 1999-07-06 2001-01-26 Mitsubishi Electric Corp ソフトウエア管理装置及びソフトウエア管理方法
JP2004287852A (ja) * 2003-03-20 2004-10-14 Toshiba Solutions Corp ソフトウェアのバージョンアップ方法およびコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6591417B1 (en) * 1999-12-30 2003-07-08 International Business Machines Corporation Method of and system for testing compatibility with an external API upgrade

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022562A (ja) * 1999-07-06 2001-01-26 Mitsubishi Electric Corp ソフトウエア管理装置及びソフトウエア管理方法
JP2004287852A (ja) * 2003-03-20 2004-10-14 Toshiba Solutions Corp ソフトウェアのバージョンアップ方法およびコンピュータプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092655A1 (en) * 2009-02-12 2010-08-19 Ricoh Company, Ltd. License management apparatus, device, and license management method
CN102308301A (zh) * 2009-02-12 2012-01-04 株式会社理光 许可证管理设备、装置和许可证管理方法
EP3321808A1 (en) 2016-11-10 2018-05-16 Hitachi, Ltd. Verification system and verification method
JP2021018446A (ja) * 2019-07-17 2021-02-15 株式会社日立製作所 セキュリティ運用支援システムおよびその方法
JP7239412B2 (ja) 2019-07-17 2023-03-14 株式会社日立製作所 セキュリティ運用支援システムおよびその方法

Also Published As

Publication number Publication date
JP4732864B2 (ja) 2011-07-27
US20070156591A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
Brikman Terraform: Up and Running
Arundel et al. Cloud Native DevOps with Kubernetes: building, deploying, and scaling modern applications in the Cloud
US10732962B1 (en) End-to-end deployment infrastructure
US8370825B2 (en) Program-update prioritization according to program-usage tracking
CN103380423B (zh) 用于私人云计算的系统和方法
US7774588B2 (en) Host build and rebuild system and method
US8387038B2 (en) Method and system for automatic computer and user migration
JP4732864B2 (ja) プログラム配布サーバ、プログラム配布方法、及び、プログラム配布プログラムとその記録媒体
KR101707552B1 (ko) 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
US20190349428A1 (en) Systems and methods for update propagation between nodes in a distributed system
US20190028331A1 (en) Systems and methods for update propagation between nodes in a distributed system
US20220043649A1 (en) Distribution and execution of instructions in a distributed computing environment
US20220269582A1 (en) Method and system for synchronous development and testing of live, multi-tenant microservices based saas systems
Sally Pro Linux embedded systems
US20100031249A1 (en) Method for policy based enforcement of business requirements for software install
US8739154B2 (en) Method and system for implementing performance kits
US9760364B2 (en) Checks for software extensions
US20220141088A1 (en) Batch Manager For Complex Workflows
US11194561B1 (en) System and method for generating and recommending desired state of virtualization software
US11573779B2 (en) Creating and upgrading of solutions for deployment in a virtualized computing environment
Finn Mastering Hyper-V Deployment
Barnes Pro Windows Subsystem for Linux (WSL)
US20220179633A1 (en) Desired state model for managing lifecycle of virtualization software installed in heterogeneous cluster of hosts
US11435996B2 (en) Managing lifecycle of solutions in virtualization software installed in a cluster of hosts
US20210311716A1 (en) Deploying virtualization software in a remote cluster

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110329

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110421

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees