JP2004086392A - 計算機構成変更方法およびシステム - Google Patents
計算機構成変更方法およびシステム Download PDFInfo
- Publication number
- JP2004086392A JP2004086392A JP2002244471A JP2002244471A JP2004086392A JP 2004086392 A JP2004086392 A JP 2004086392A JP 2002244471 A JP2002244471 A JP 2002244471A JP 2002244471 A JP2002244471 A JP 2002244471A JP 2004086392 A JP2004086392 A JP 2004086392A
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- hardware
- program
- computer
- change
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012508 change request Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 1
- 230000004913 activation Effects 0.000 description 64
- 230000015654 memory Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2135—Metering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
【課題】従来は、アプリケーションプログラムの能力向上には、人手を介したベンダとの交渉や、ライセンスキーの入手などが必要であったため、業務処理の観点からは短時間に能力を向上する事ができなかった。
【解決手段】CODの発動を契機として、ソフトウェアベンダに対してもCODの発動を通知する。CODの発動通知を受けたソフトウェアベンダは顧客の計算機に対して自動的に新しい構成で動作するためのライセンスキーを送信する事により、短時間での業務処理能力の向上を実現する。また、アプリケーション使用料の支払いが滞った場合には、アプリケーションベンダから制限付きのライセンスキーを送り込み、不正使用を防ぐ事ができる。さらに顧客システムではライセンスキーをを受け取った契機で、アプリケーション自体に通知を行う事で、アプリケーション動作中に動的に処理能力を向上させる手段を提供する。
【選択図】 図1
【解決手段】CODの発動を契機として、ソフトウェアベンダに対してもCODの発動を通知する。CODの発動通知を受けたソフトウェアベンダは顧客の計算機に対して自動的に新しい構成で動作するためのライセンスキーを送信する事により、短時間での業務処理能力の向上を実現する。また、アプリケーション使用料の支払いが滞った場合には、アプリケーションベンダから制限付きのライセンスキーを送り込み、不正使用を防ぐ事ができる。さらに顧客システムではライセンスキーをを受け取った契機で、アプリケーション自体に通知を行う事で、アプリケーション動作中に動的に処理能力を向上させる手段を提供する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
計算機のハードウェアやプログラムの構成を変更する構成変更技術に関する。
【0002】
【従来の技術】
一般的にキャパシティーオンデマンド(以下、CODと省略して記述)と呼ばれるような計算機の利用・契約の形態では、ハードウェアベンダが計算機システムのハードウェアリソース、例えばCPU、メモリ、ハードディスク(以下「HD」と略)などの一部を利用できない状態にして顧客に納入する。この時に顧客では、納入された全てのハードウェアリソースに対して料金を支払う事なく、利用可能な部分の料金を支払い使用する(正確には若干高額になる場合が多い)。顧客が計算機を長い期間利用していくと、業務処理量の増加などによりハードウェアの能力不足に直面する事がある。この時顧客は、それまで利用できなかったCPUなどのハードウェア資源を、顧客の指示により活性化し利用する事ができる。そしてハードウェアベンダに対して活性化した部分の使用料を支払う。
【0003】
CODが利用されるようになる前は、顧客がハードウェアの処理能力を増やしたいと考えた時、ハードウェアベンダによる増設工事や、それに伴う運用の停止が必要であり、時間がかかるという問題があった。一般にCODのような構成変更技術では、コマンド投入や簡単な装置の設定によりハードウェアを活性化させ、リブートを行うだけでハードウェアが増強された状態になる。実装例は少ないがリブートを必要とせずに能力の向上ができる物も知られている。
【0004】
CODではハードウェアの活性化の指示を行った時に、ハードウェアベンダに対して、ネットワークを通じて「CODによるハードウェアの活性化」が発生した事を伝える方法がある。これによりハードウェアベンダでは、計算機使用料をCOD発動後のハードウェア構成に基づいて請求する事が可能である。また、不正使用を防ぐ為に、COD形態で契約した顧客のシステムがハードウェアベンダとの通信ができない状態になった場合には、全てのハードウェア資源を活性化しているとみなして課金する方法が知られている。
【0005】
【発明が解決しようとする課題】
従来のCODでは、ハードウェアの能力増強に関しては、部品の到着や増設工事を待つ必要がない分だけ短時間で増強する事ができた。しかしそのハードウェア上で動作しているプログラムには、以下の2つの問題が発生する事があった。
【0006】
第1に、ハードウェアリソースの追加により、そのハードウェア上で動作するプログラムがハードウェアリソースの追加による能力向上分を利用できるとは限らない事である。例えばCPUの数だけプロセスを起動して、全てのCPUを同時に使うような並列アプリケーションプログラムを想定した場合、CODによりCPUが増えているにも関わらず、アプリケーションプログラムが自動的に全てのCPUを利用するようになる事はなかった。このため顧客は手動でアプリケーションプログラムの停止や再起動、構成定義の変更を行う必要があった。
【0007】
第2に、不正利用を防ぐために、上記プログラム自身がハードウェア構成を認識し、契約した構成以上のハードウェアの上では動作しないように保護をかけているという問題がある。この保護には一般にライセンスキーと呼ばれるデータが使われる。この場合のライセンスキーは、プログラムに対して実行が許可されているハードウェアの構成を伝える役割を持ち、プログラムはライセンスキーの意味するハードウェア構成の上でのみ動作する実装になっている。例えばCPUの数によって使用料金が変わるプログラムにおいては、実行されている計算機のCPUの数を得て、ライセンスキーに含まれる契約以上のCPU数の計算機上での動作を停止するプログラムや、ライセンスキーが許す範囲までの実行能力に制限するプログラムがある。このようなプログラムを動作させているシステムで、適切なライセンスキーを入手する前に間違ってCPUを増やしてしまった場合、ライセンスキーを入手するまで業務が行えなくなる等の事態が発生する。また、顧客自身があらかじめCOD発動後のライセンスキーを入手しておかなければならないと認識していた場合も、CODを発動したいと考えた後に、各アプリケーションプログラムベンダに連絡し、料金交渉を行い、ライセンスキーが配布されてくるのを待たなければならないというタイムラグが発生してしまい、CODの本来の目的である即時能力拡張が実現できなかった。
【0008】
つまり現在のCODは「短時間でのハードウェア増設」だけを実現しており、本質的な課題である「顧客業務に対する処理能力の短時間での増強」を実現できていない。
【0009】
本発明の目的は、ハードウェアの構成変更を反映したプログラムの能力変更を実現する計算機構成変更方法およびシステムを提供することにある。
【0010】
【課題を解決するための手段】
本発明では上記課題を改善するために、構成を変更可能な計算機システムと、該計算機のハードウェア構成に応じて課金を行うハードウェア管理システムと、該計算機のプログラム構成に応じて課金を行うプログラム管理システムとを備えた計算機構成変更システムにおいて、以下の処理を行う。
(1)上記計算機システムは、構成変更を所望する上記計算機システムのハードウェア構成とプログラム構成とを含む構成変更要求を入力した場合は、該構成変更するハードウェアの課金を変更するために上記構成変更するハードウェア構成情報を上記ハードウェア管理システムへ送り、該構成変更するプログラムの課金を変更するために上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報を上記プログラム管理システムへ送り、
(2)上記ハードウェア管理システムは、上記構成変更するハードウェア構成情報を入力すると、該ハードウェア構成情報に基づいて該ハードウェアに対する課金を変更して上記計算機に該ハードウェアの課金情報を送り、
(3)上記プログラム管理システムは、上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報とを入力すると、該ハードウェア構成情報と該プログラム構成に基づいて該プログラムに対する課金を変更して上記計算機に該プログラムの課金情報を送り
(4)上記計算機は、上記ハードウェアの課金情報と上記プログラムの課金情報を入力した場合、上記構成変更するハードウェア構成情報に基づいてハードウェア構成を変更し、上記構成変更するプログラム構成情報に基づいてプログラム構成を変更する
以上により、ハードウェアの構成変更を反映したプログラムの能力変更を実現する計算機構成変更方法およびシステムを実現することができる。
【0011】
【発明の実施の形態】
図1は発明の全体を示すブロック図である。CODでの利用契約を適用した顧客システム10、HWベンダ20、APベンダ30、38、39、がある。本実施例では、CODを構成変更要求もしくは能力変更要求の一例として説明しているが、CODに限定されるものではなく、構成変更要求もしくは能力変更要求により、ハードウェアやプログラムの構成や能力が変更しても良い。
【0012】
図2は図1で示したブロックのうち、顧客システム10、HWベンダ20、APベンダ30の通信がどのような順番で起きるかを示した図であり、以降で説明する処理の流れの概要を示している。COD発動コマンド(構成変更要求もしくは能力変更要求でも良い)が投入されるとCOD発動指示受付部11が検出し、HW−COD発動制御部12がHWベンダ20内のCOD発動通知受付部21にCODが発動された事を通知する。次にAP−COD発動制御部14がAPベンダ30内のCOD発動通知受付部31にCODが発動された事を通知する。APベンダ30からは顧客システム内のAPラインセンス管理部14にライセンスキーが送信される。しばらく後にHW課金管理部22とHW料金支払い部13の間で、料金の請求とそれに対する支払いが行われる。さらにHW料金の支払いと独立して、AP課金管理部とAP料金支払い制御部の間で、料金の請求とそれに対する支払いが行われる。
【0013】
図1で、顧客システムで顧客がCOD発動を指示すると、COD発動指示受付部11が検出する。COD発動指示受付部11ではHW−COD発動制御部12に対して指示を出す。
【0014】
図3はHW−COD発動制御部12とCOD発動通知受付部21のフローチャートである。まずHW−COD発動制御部12ではCOD発動指示受付部11より指示を受けた後、ステップ121でハードウェアの構成を変更する。次にステップ122でHWベンダ20に対して、CODの発動と、COD発動によりハードウェア構成がどのように変化したかを通知する。
【0015】
HWベンダ20では、ステップ122によるCOD発動の通知をCOD発動通知受付部21にて受信する。ステップ211でCODの発動情報を受け取った後、ステップ212で各顧客システムのハードウェア構成がどのようになっているかを管理しているCOD−DB23に反映する。
【0016】
図8はHWベンダ20内のCOD−DB23の構造である。顧客システム識別子2301に対して、顧客毎、つまり顧客A、顧客Xおよび顧客Yに対するエントリがそれぞれエントリ2310、2320および2330がある。それぞれの顧客に対して、現在のCODの発動状況を示すCPUの個数2302とメモリ容量2303とHD量2304と、領収済み料金2305が格納されている。また、顧客毎にCODの発動状況を示す指標であるCPU2312、メモリ2313、HD2314の値と、それぞれのCODの状態に対応した料金2315が格納される。顧客Aについては、現在の契約はCPU数2ヶ、メモリ容量8GB、HD容量100GBであるため、顧客A契約2311から1900円が使用量となる。図8に示すように課金する項目が顧客A、顧客Xおよび顧客Yで異なるようにしても良い。
【0017】
計算機の使用料金の請求は、このCOD−DB23に格納されているCOD発動状況毎の料金に基づいて課金管理部22とHW料金支払い部13の間で行われる。
【0018】
CODによるハードウェアリソースの増減は、一旦リブートをしなければ有効にならない実装をされている事が多いが、リブートを行わずに、リソース量を変更することも可能である。
【0019】
本発明の特徴は、CODの発動通知をAPベンダ30、38、39にも行う事である。顧客システム10にはCODを発動した場合に発動を通知すべきアプリケーションプログラムのベンダを全て含む通知先一覧15を保持しており、そこに登録されている全てのベンダに通知する。図1では例としてAPベンダを3つ書いているが、38、39については内容が30と同一の為、記述を省略している。以降ではAPベンダ30についてのみ説明を行うが、他のベンダ38、39についても同一の内容である。ここでアプリケーションプログラムを一例に説明をするが、本発明は、プログラム一般に適用可能であり、アプリケーションプログラムに限定されるものではない。
【0020】
COD発動指示受付部11では、CODの発動を検出すると、AP−COD発動制御部14にも指示を行う。図4は顧客システム内のAP−COD発動制御部14と、APベンダ内のCOD発動通知受付部31と、顧客システム内のAPライセンス管理部16のフローチャートである。AP−COD発動制御部14ではステップ141でCOD発動時の通知先一覧15から通知先を得て、ステップ142でそれぞれの通知先に、COD発動後のハードウェア構成がどのように変化しているかを通知する。
【0021】
APベンダ30では、AP−COD発動通知受付部31で通知を受け付ける。ステップ311でCODが発動された事と発動後のハードウェア構成を受信してから、ステップ312で各顧客のハードウェア構成がどのようになっているかを管理しているCOD−DB33に反映する。その後ステップ313でCODの発動状況から対応するライセンスキー17を生成して、ステップ314で顧客システム10のAPライセンス管理部16に対して送信する。ライセンスキー17は、CPU、メモリ、HDなどCODの対象となるハードウェアリソースの状態と有効期限などから構成される。これらは、暗号化される実装も考えられる。また、あらかじめ乱数等で定義してCOD−DB33内に格納しておく方法も考えられる。
【0022】
図9はAPベンダ内のCOD−DB33の構造である。顧客システム識別子3301に対して顧客毎のエントリ3310、3320、3330がある。それぞれの顧客に対して、現在のCODの発動状況を示すCPUの個数3302とメモリ量3303とHD量3304、領収済み料金3305と、ライセンスキーの残り有効期間3306が格納されている。また、顧客毎に、COD発動状況を示す指標であるCPU3312、メモリ3313、HD3314の値と、そのCOD状況に対応した料金3315が格納されている。ライセンスキーの残り有効期間3306が格納されている。顧客Aについては、現在の契約はCPU数2ヶ、メモリ容量8GB、HD容量100GBであるため、顧客A契約3311から1900円が使用量となる。図9に示すように課金する項目が顧客A、顧客Xおよび顧客Yで異なるようにしても良い。
【0023】
顧客システム10では、APライセンス管理部16でライセンスキー17を受信する。ステップ161でライセンスキーを受け取った後、ステップ162でライセンスキー17を格納する。さらにステップ163でアプリケーションプログラム40に対してライセンスキーが変更になった事を通知する。ライセンスキー17は通常、暗号化されており構成定義ファイルの中に格納される実装が行われる事が多いが、本発明ではその方法については規定しない。
【0024】
本発明では上記のように、APライセンス制御部16のステップ163において、アプリケーションプログラム40に対してCODの発動を通知する事も特徴としている。
【0025】
さらに、CODを発動した後、アプリケーションプログラム40やOSを停止せずにハードウェアリソースを増減できる場合、かつ、アプリケーションプログラム40自体も動作中に使用するハードウェアリソース量を増減できる場合に、アプリケーションプログラム40を停止する事なく、CODを発動した後のハードウェアリソースを使う事ができるようにする事も特徴とする。この実施例は後述する。
【0026】
次にアプリケーションプログラム40の実施例として図6、図7の2つの形態を示す。以下で述べるアプリケーションプログラムは実施の一形態であり、本発明の範囲を限定する物ではない。
【0027】
図6はアプリケーションプログラム40の実施例の一形態を示すフローチャートである。アプリケーションプログラム40は起動時にステップ401でHW構成取得部19からハードウェアの構成を得て、ステップ402でライセンスキー17を得る。次にステップ403で、そのライセンスキー17が意味しているアプリケーションプログラム40の動作が許可されたハードウェアの構成と、動作しようとしている実際のハードウェアの構成とを比較して、不当な利用ではないかのチェックを行う。例えばライセンスキー17が4CPUまでの実行を許可していて、実際のCPUが8個であった場合、不当利用であると判定される。この時はステップ406で例えばアプリケーションプログラム40を停止する。逆に、例えばハードウェアの実際の構成とライセンスキー17に示されている構成が一致した場合は正当利用だと判定され、ステップ404でライセンスキー17内に含まれている有効期間のチェックを行う。ライセンスキー17の有効期限が切れていれば不正利用であるので、ステップ406でアプリケーションプログラム40を停止する。有効期間内であれば、ステップ405にてアプリケーションプログラム40の本来の作業である業務処理を行う。なおライセンスキー17の有効期限は時間の経過と共にチェックしなおさねばならないため、ステップ405の業務処理は例えば一日一回などの頻度で一時中断し、ステップ404に戻り有効期限チェックを行う。
【0028】
次に、図7はアプリケーションプログラム40の実施例の図6とは異なる一形態を示すフローチャートである。この例では前述した「CODの発動に応じて稼動中にハードウェアの使用量を変更できるアプリケーションプログラム」を示している。
【0029】
ステップ401、ステップ402は図6と同様、ハードウェア構成とライセンスキー17を得る処理である。この実施例のアプリケーションプログラム40はライセンスキー17が意味しているハードウェアの構成情報を用いて最適なハードウェア使用量を決める。この方法として一実施例をステップ403、407、408で示している。ステップ403で、ライセンスキー17が意味しているアプリケーションプログラム40の動作を許可したハードウェアの構成と、動作しようとしている実際のハードウェア構成を比較する。もしライセンスキー17に示されているハードウェア構成以上のハードウェア上で起動されるという状態であれば、ステップ407にてアプリケーション40が利用するハードウェア量がライセンスキー17に従って決定される。逆にライセンスキー17のほうが実際のハードウェア構成より大きければ、ステップ408にて、アプリケーション40が利用するハードウェア量が実際のハードウェア構成を使い切るように決定される。例えば、ライセンスキー17が4CPUまでの動作許可を意味していた場合、ハードウェア構成が8CPUであれば、プロセスを4個だけ起動する。逆にライセンスキー17が8CPUまでを意味しており、ハードウェア構成が4CPUであった場合は、プロセスを4個だけ起動する。そしてステップ405の業務処理を行う。本実施例でいう構成変更は、容量変更や能力変更も含んでいる。
【0030】
CODの発動にともない、ステップ405の業務処理中に、ライセンスキー17が変更された事を通知する割り込み409が発生する。この場合は割り込み処理によって一旦ステップ401の前に処理が戻る。
【0031】
以下に図7の各ステップにそって、メモリを増加させた場合と、CPUを増加させた場合の例を二つ示す。
【0032】
メモリを増加させる例として、実装メモリに応じて業務処理の作業領域を決定するタイプのアプリケーションプログラム40を想定する。このアプリケーションプログラム40では、OSの使用量やアプリケーションプログラム40自体のロードモジュールや固定領域の為に、0.5GB+実装メモリの1/4を利用不能領域として引き、残りの部分を業務処理に割り当てるように実装されているとする。搭載メモリ4GBの計算機の場合、ステップ401でメモリ量4GBという情報が得られ、ステップ402でライセンスキー17が4GBメモリでの実行を意味している事を得られたとする。ステップ403の判定で「HW構成=ライセンスキー」であるのでステップ407に進む。ステップ407ではライセンスキー17が示す4GBに従い、利用不能領域として0.5+1GBを引き、2.5GBをアプリケーションプログラム40の作業領域として割り当て、ステップ405で2.5GBを利用して業務処理を行う。
【0033】
ステップ405の業務処理中にメモリを16GBに増加させるCOD発動を行うと、ハードウェアの構成が16GBになりライセンスキー17が16GBを意味する状態になった後に、ステップ409の割り込みがアプリケーションプログラム40に対して発生する。すると順にステップをたどり、ステップ407によりアプリケーションプログラム40は16GBで動作する時の設定である、利用不能領域として0.5+4GBを引いた残り11.5GBをアプリケーションプログラム40自体の作業領域として割り当てなおす。結果としてステップ405の業務処理は作業領域が2.5GBから11.5GBへ増えたので、アプリケーションプログラム40は業務の処理能力を向上させる事ができる。
【0034】
なお、一般的にアプリケーションプログラムでは仮想メモリ空間しか確保できないため、仮想メモリの大きさと実メモリの使用量が1対1になっているとは限らない。しかし、実メモリからOSの使用量など固定的に必要な容量を引いたメモリ量までの仮想メモリを使用すると、システム上で利用されている全ての仮想メモリ量を実メモリ以下におさえる事ができる。この状態ではアプリケーションプログラムが利用する領域は全て実メモリ上に収まり(ページアウトされる事がなくなり)、高効率で動作することができる。
【0035】
CPUを増加させる例として、実装されているCPUの数と同じ数のプロセス(処理単位の例でありスレッドであるケースなどもある)を起動して、業務業務処理を行うタイプのアプリケーションプログラム40を想定する。搭載CPU4個の計算機の場合、ステップ401でCPU数4個という情報が得られ、ステップ402でライセンスキー17がCPU4個での実行を意味している事を得られたとする。ステップ403の判定で「HW構成=ライセンスキー」であるのでステップ407に進む。ステップ407ではライセンスキー17が示す4CPUに従い、プロセスを4個起動し、ステップ405で4個のプロセスを利用して業務処理を行う。
【0036】
ステップ405の業務処理中にCOD発動が行われCPUを8個に増加すると、ハードウェアの構成が8CPUになりライセンスキー17が8CPUを意味する状態になった後に、ステップ409の割り込みがアプリケーションプログラム40に対して発生する。すると順にステップをたどり、ステップ407によりアプリケーションプログラム40は8CPUで動作する時の設定である、プロセス8個を起動しなおす。結果としてステップ405の業務処理を処理するプロセスが4個から8個に増えたので、アプリケーションプログラムは業務の処理能力を向上させる事ができる。
【0037】
なお、図7と図6は分けて記述しているが構成要素を簡潔に説明するためであり、一つの実施形態に上記2つの方式を用いて適用することができる。例えば図6中のステップ404、406の処理(ライセンス有効期限チェック)は図7に適用可能であるし、ステップ403、406の処理(不正使用時のアプリケーション停止)も図7に適用可能である。
【0038】
COD発動後、APベンダ30は各顧客に対して新しいハードウェア構成に対応した料金の支払いを求める。図1におけるAP課金管理部32はAPベンダ内に書かれているが、実際には再販業者などAPベンダ30とは別の企業またはシステムの構成を採ることも可能である。AP課金管理部32は顧客10のAP料金支払い制御部18に対して、新しいハードウェア構成に対応した料金の支払いを要求する。
【0039】
図5はAP課金管理部32のフローチャートである。初めにステップ321でCOD−DB33を検索し、顧客にどれだけの金額を請求するかをCOD状況毎の料金3315から検出し、ステップ322にて料金を請求する。次に例えば毎日12時などの契機で料金の支払いが行われたかをステップ323でチェックする。支払いが無い場合はステップ328でCOD−DB33からライセンスキーの有効期間3306を調べ、有効期限が過ぎていれば、ステップ329にて利用権限が全く無い事を意味するライセンスキーを送り込む。有効期限が切れていなければステップ323に戻り、再び支払いを待つ。なお、支払いがあった場合はステップ324にてCOD−DB33内の領収済み料金3305を更新する。さらにステップ325にて、COD状態毎の料金3315と比較して支払われた料金に不足があるかを調べる。不足があった場合はステップ323の支払い待ちに戻る。不足がなかった場合には次回の支払い期限を決め、ステップ326にて顧客に対して新しい有効期間に対応するライセンスキーを送り、ステップ327にてCOD−DB33内の有効期間3306を更新する。
【0040】
有効期限の情報が含まれていないライセンスキーで利用を制御していた場合、COD発動後のハードウェア構成に対応したライセンスキーを入手された直後に、通信できないように通信路が切断された場合は、例え不正使用が行われていてもAPベンダ30からアプリケーションプログラム40の実行制限を行う事ができないという問題が発生する。それに対して、ライセンスキー17自体に有効期限を持たせる事で不正利用を防ぐ事ができる。ライセンスキー17の有効期限が切れていた場合には、アプリケーションプログラム40はステップ404の判定により動作しないようになり、COD発動後の状態での不正利用を防ぐ事ができる。
【0041】
この場合、ライセンスキーの自動更新を行う実施例を以下に示す。ひとつは、ライセンスキー17の期限切れを検出したアプリケーションプログラム40自身が、APベンダ30に新しいライセンスキーを要求して、入手する実装がある。また、APベンダ30が、自身の持つCOD−DB33内のライセンスキー有効期限3306を参照し、ライセンスキー17を送り込む方法もある。いずれの場合でも通信路の切断ではライセンスキー17の更新ができなくなるため、顧客システム10内にあるライセンスキー17の有効期限が切れるため、不正利用を防ぐ事ができる。本発明では上記ライセンスキー更新処理の実施の形態は規定しない。
【0042】
なお、COD対応のシステムを導入し本番稼動に入る前に、数ヶ月程度一時的にCODを発動して業務アプリケーションプログラムを含めたシステム全体の動作検証や、CODを発動した後の状態での性能検証を行う事が一般的であると想定される。この場合も本発明で述べてきた手段により、一時的なCOD発動用のライセンスキーの送受信を行う事ができる。
【0043】
以上により、COD形態で導入したハードウェアの上で動作する業務処理アプリケーションプログラムは、CODが発動された後すぐに、CODによって増強されたハードウェアリソースを利用することができ、顧客業務に対する処理能力の短時間での増強が達成できる。また、ハードウェアリソースの増加を行った後に、アプリケーションプログラムに対して適切な使用料を支払わず、不当な利用を続けた場合に、適切な支払いが行われるまでアプリケーションプログラムの処理能力を制限や停止する手段をあたえる事で、不正利用に対する保護が可能になる。
【0044】
【発明の効果】
本発明により、ハードウェアの構成変更を反映したプログラムの能力変更を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例の全体の構成を示すブロック図である。
【図2】通信を行う各ブロックがどのような順番で動作するかを示したタイミングチャートである。
【図3】顧客システム内のHW−COD発動制御部とHWベンダ内のCOD発動通知受付部のフローチャートである。
【図4】顧客システム内のAP−COD発動制御部とAPベンダ内のCOD発動通知受付部と、顧客システム内のAPライセンス管理部のフローチャートである。
【図5】APベンダ内のAP課金管理部のフローチャートである。
【図6】APの実施例の一形態である。
【図7】図6とは異なるAPの実施例の一形態である。
【図8】HWベンダ内のCODに関する情報を保持するCOD−DBの図である。
【図9】APベンダ内のCODに関する情報を保持するCOD−DBの図である。
【符号の説明】
10:顧客システム
11:COD発動指示受付部
12:HW−COD発動制御部
13:HW料金支払い制御部
14:AP−COD発動制御部
15:COD発動時の通知先一覧
16:APライセンス管理部
17:ライセンスキー
18:AP料金支払い制御部
19:HW構成取得部
20:HWベンダ
21:HWベンダ内、COD発動通知受付部
22:HW課金管理部
23:HWベンダ内、COD−DB
30:APベンダその1
31:APベンダ内、COD発動通知受付部
32:AP課金管理部
33:APベンダ内、COD−DB
38:APベンダその2
39:APベンダその3
40:アプリケーションプログラム
2310、2320、2330:HWベンダ内COD−DBにある顧客の現在の状態を示すレコード
2301:HWベンダ内COD−DB内の顧客システム識別子欄
2302、2303、2304:HWベンダ内COD−DB内の現在のCOD発動状況欄
2305:HWベンダ内COD−DB内の領収済み料金欄
2312、2313、2314:HWベンダ内COD−DB内の顧客毎のCOD発動状況の指標
2315:HWベンダ内COD−DB内の顧客毎のCOD発動状況毎の料金一覧
3310、3320、3330:APベンダ内COD−DB内の顧客毎の現在の状態を示すレコード
3301:APベンダ内COD−DB内の顧客システム識別子欄
3302、3303、3304:APベンダ内COD−DB内の現在のCOD発動状況欄
3305:APベンダ内COD−DB内の領収済み料金欄
3306:APベンダ内COD−DB内のライセンスキーの残り有効期間欄
3312、3313、3314:APベンダ内COD−DB内の顧客毎のCOD発動状況の指標
3315:APベンダ内COD−DB内の顧客毎のCOD発動状況毎の料金一覧
【発明の属する技術分野】
計算機のハードウェアやプログラムの構成を変更する構成変更技術に関する。
【0002】
【従来の技術】
一般的にキャパシティーオンデマンド(以下、CODと省略して記述)と呼ばれるような計算機の利用・契約の形態では、ハードウェアベンダが計算機システムのハードウェアリソース、例えばCPU、メモリ、ハードディスク(以下「HD」と略)などの一部を利用できない状態にして顧客に納入する。この時に顧客では、納入された全てのハードウェアリソースに対して料金を支払う事なく、利用可能な部分の料金を支払い使用する(正確には若干高額になる場合が多い)。顧客が計算機を長い期間利用していくと、業務処理量の増加などによりハードウェアの能力不足に直面する事がある。この時顧客は、それまで利用できなかったCPUなどのハードウェア資源を、顧客の指示により活性化し利用する事ができる。そしてハードウェアベンダに対して活性化した部分の使用料を支払う。
【0003】
CODが利用されるようになる前は、顧客がハードウェアの処理能力を増やしたいと考えた時、ハードウェアベンダによる増設工事や、それに伴う運用の停止が必要であり、時間がかかるという問題があった。一般にCODのような構成変更技術では、コマンド投入や簡単な装置の設定によりハードウェアを活性化させ、リブートを行うだけでハードウェアが増強された状態になる。実装例は少ないがリブートを必要とせずに能力の向上ができる物も知られている。
【0004】
CODではハードウェアの活性化の指示を行った時に、ハードウェアベンダに対して、ネットワークを通じて「CODによるハードウェアの活性化」が発生した事を伝える方法がある。これによりハードウェアベンダでは、計算機使用料をCOD発動後のハードウェア構成に基づいて請求する事が可能である。また、不正使用を防ぐ為に、COD形態で契約した顧客のシステムがハードウェアベンダとの通信ができない状態になった場合には、全てのハードウェア資源を活性化しているとみなして課金する方法が知られている。
【0005】
【発明が解決しようとする課題】
従来のCODでは、ハードウェアの能力増強に関しては、部品の到着や増設工事を待つ必要がない分だけ短時間で増強する事ができた。しかしそのハードウェア上で動作しているプログラムには、以下の2つの問題が発生する事があった。
【0006】
第1に、ハードウェアリソースの追加により、そのハードウェア上で動作するプログラムがハードウェアリソースの追加による能力向上分を利用できるとは限らない事である。例えばCPUの数だけプロセスを起動して、全てのCPUを同時に使うような並列アプリケーションプログラムを想定した場合、CODによりCPUが増えているにも関わらず、アプリケーションプログラムが自動的に全てのCPUを利用するようになる事はなかった。このため顧客は手動でアプリケーションプログラムの停止や再起動、構成定義の変更を行う必要があった。
【0007】
第2に、不正利用を防ぐために、上記プログラム自身がハードウェア構成を認識し、契約した構成以上のハードウェアの上では動作しないように保護をかけているという問題がある。この保護には一般にライセンスキーと呼ばれるデータが使われる。この場合のライセンスキーは、プログラムに対して実行が許可されているハードウェアの構成を伝える役割を持ち、プログラムはライセンスキーの意味するハードウェア構成の上でのみ動作する実装になっている。例えばCPUの数によって使用料金が変わるプログラムにおいては、実行されている計算機のCPUの数を得て、ライセンスキーに含まれる契約以上のCPU数の計算機上での動作を停止するプログラムや、ライセンスキーが許す範囲までの実行能力に制限するプログラムがある。このようなプログラムを動作させているシステムで、適切なライセンスキーを入手する前に間違ってCPUを増やしてしまった場合、ライセンスキーを入手するまで業務が行えなくなる等の事態が発生する。また、顧客自身があらかじめCOD発動後のライセンスキーを入手しておかなければならないと認識していた場合も、CODを発動したいと考えた後に、各アプリケーションプログラムベンダに連絡し、料金交渉を行い、ライセンスキーが配布されてくるのを待たなければならないというタイムラグが発生してしまい、CODの本来の目的である即時能力拡張が実現できなかった。
【0008】
つまり現在のCODは「短時間でのハードウェア増設」だけを実現しており、本質的な課題である「顧客業務に対する処理能力の短時間での増強」を実現できていない。
【0009】
本発明の目的は、ハードウェアの構成変更を反映したプログラムの能力変更を実現する計算機構成変更方法およびシステムを提供することにある。
【0010】
【課題を解決するための手段】
本発明では上記課題を改善するために、構成を変更可能な計算機システムと、該計算機のハードウェア構成に応じて課金を行うハードウェア管理システムと、該計算機のプログラム構成に応じて課金を行うプログラム管理システムとを備えた計算機構成変更システムにおいて、以下の処理を行う。
(1)上記計算機システムは、構成変更を所望する上記計算機システムのハードウェア構成とプログラム構成とを含む構成変更要求を入力した場合は、該構成変更するハードウェアの課金を変更するために上記構成変更するハードウェア構成情報を上記ハードウェア管理システムへ送り、該構成変更するプログラムの課金を変更するために上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報を上記プログラム管理システムへ送り、
(2)上記ハードウェア管理システムは、上記構成変更するハードウェア構成情報を入力すると、該ハードウェア構成情報に基づいて該ハードウェアに対する課金を変更して上記計算機に該ハードウェアの課金情報を送り、
(3)上記プログラム管理システムは、上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報とを入力すると、該ハードウェア構成情報と該プログラム構成に基づいて該プログラムに対する課金を変更して上記計算機に該プログラムの課金情報を送り
(4)上記計算機は、上記ハードウェアの課金情報と上記プログラムの課金情報を入力した場合、上記構成変更するハードウェア構成情報に基づいてハードウェア構成を変更し、上記構成変更するプログラム構成情報に基づいてプログラム構成を変更する
以上により、ハードウェアの構成変更を反映したプログラムの能力変更を実現する計算機構成変更方法およびシステムを実現することができる。
【0011】
【発明の実施の形態】
図1は発明の全体を示すブロック図である。CODでの利用契約を適用した顧客システム10、HWベンダ20、APベンダ30、38、39、がある。本実施例では、CODを構成変更要求もしくは能力変更要求の一例として説明しているが、CODに限定されるものではなく、構成変更要求もしくは能力変更要求により、ハードウェアやプログラムの構成や能力が変更しても良い。
【0012】
図2は図1で示したブロックのうち、顧客システム10、HWベンダ20、APベンダ30の通信がどのような順番で起きるかを示した図であり、以降で説明する処理の流れの概要を示している。COD発動コマンド(構成変更要求もしくは能力変更要求でも良い)が投入されるとCOD発動指示受付部11が検出し、HW−COD発動制御部12がHWベンダ20内のCOD発動通知受付部21にCODが発動された事を通知する。次にAP−COD発動制御部14がAPベンダ30内のCOD発動通知受付部31にCODが発動された事を通知する。APベンダ30からは顧客システム内のAPラインセンス管理部14にライセンスキーが送信される。しばらく後にHW課金管理部22とHW料金支払い部13の間で、料金の請求とそれに対する支払いが行われる。さらにHW料金の支払いと独立して、AP課金管理部とAP料金支払い制御部の間で、料金の請求とそれに対する支払いが行われる。
【0013】
図1で、顧客システムで顧客がCOD発動を指示すると、COD発動指示受付部11が検出する。COD発動指示受付部11ではHW−COD発動制御部12に対して指示を出す。
【0014】
図3はHW−COD発動制御部12とCOD発動通知受付部21のフローチャートである。まずHW−COD発動制御部12ではCOD発動指示受付部11より指示を受けた後、ステップ121でハードウェアの構成を変更する。次にステップ122でHWベンダ20に対して、CODの発動と、COD発動によりハードウェア構成がどのように変化したかを通知する。
【0015】
HWベンダ20では、ステップ122によるCOD発動の通知をCOD発動通知受付部21にて受信する。ステップ211でCODの発動情報を受け取った後、ステップ212で各顧客システムのハードウェア構成がどのようになっているかを管理しているCOD−DB23に反映する。
【0016】
図8はHWベンダ20内のCOD−DB23の構造である。顧客システム識別子2301に対して、顧客毎、つまり顧客A、顧客Xおよび顧客Yに対するエントリがそれぞれエントリ2310、2320および2330がある。それぞれの顧客に対して、現在のCODの発動状況を示すCPUの個数2302とメモリ容量2303とHD量2304と、領収済み料金2305が格納されている。また、顧客毎にCODの発動状況を示す指標であるCPU2312、メモリ2313、HD2314の値と、それぞれのCODの状態に対応した料金2315が格納される。顧客Aについては、現在の契約はCPU数2ヶ、メモリ容量8GB、HD容量100GBであるため、顧客A契約2311から1900円が使用量となる。図8に示すように課金する項目が顧客A、顧客Xおよび顧客Yで異なるようにしても良い。
【0017】
計算機の使用料金の請求は、このCOD−DB23に格納されているCOD発動状況毎の料金に基づいて課金管理部22とHW料金支払い部13の間で行われる。
【0018】
CODによるハードウェアリソースの増減は、一旦リブートをしなければ有効にならない実装をされている事が多いが、リブートを行わずに、リソース量を変更することも可能である。
【0019】
本発明の特徴は、CODの発動通知をAPベンダ30、38、39にも行う事である。顧客システム10にはCODを発動した場合に発動を通知すべきアプリケーションプログラムのベンダを全て含む通知先一覧15を保持しており、そこに登録されている全てのベンダに通知する。図1では例としてAPベンダを3つ書いているが、38、39については内容が30と同一の為、記述を省略している。以降ではAPベンダ30についてのみ説明を行うが、他のベンダ38、39についても同一の内容である。ここでアプリケーションプログラムを一例に説明をするが、本発明は、プログラム一般に適用可能であり、アプリケーションプログラムに限定されるものではない。
【0020】
COD発動指示受付部11では、CODの発動を検出すると、AP−COD発動制御部14にも指示を行う。図4は顧客システム内のAP−COD発動制御部14と、APベンダ内のCOD発動通知受付部31と、顧客システム内のAPライセンス管理部16のフローチャートである。AP−COD発動制御部14ではステップ141でCOD発動時の通知先一覧15から通知先を得て、ステップ142でそれぞれの通知先に、COD発動後のハードウェア構成がどのように変化しているかを通知する。
【0021】
APベンダ30では、AP−COD発動通知受付部31で通知を受け付ける。ステップ311でCODが発動された事と発動後のハードウェア構成を受信してから、ステップ312で各顧客のハードウェア構成がどのようになっているかを管理しているCOD−DB33に反映する。その後ステップ313でCODの発動状況から対応するライセンスキー17を生成して、ステップ314で顧客システム10のAPライセンス管理部16に対して送信する。ライセンスキー17は、CPU、メモリ、HDなどCODの対象となるハードウェアリソースの状態と有効期限などから構成される。これらは、暗号化される実装も考えられる。また、あらかじめ乱数等で定義してCOD−DB33内に格納しておく方法も考えられる。
【0022】
図9はAPベンダ内のCOD−DB33の構造である。顧客システム識別子3301に対して顧客毎のエントリ3310、3320、3330がある。それぞれの顧客に対して、現在のCODの発動状況を示すCPUの個数3302とメモリ量3303とHD量3304、領収済み料金3305と、ライセンスキーの残り有効期間3306が格納されている。また、顧客毎に、COD発動状況を示す指標であるCPU3312、メモリ3313、HD3314の値と、そのCOD状況に対応した料金3315が格納されている。ライセンスキーの残り有効期間3306が格納されている。顧客Aについては、現在の契約はCPU数2ヶ、メモリ容量8GB、HD容量100GBであるため、顧客A契約3311から1900円が使用量となる。図9に示すように課金する項目が顧客A、顧客Xおよび顧客Yで異なるようにしても良い。
【0023】
顧客システム10では、APライセンス管理部16でライセンスキー17を受信する。ステップ161でライセンスキーを受け取った後、ステップ162でライセンスキー17を格納する。さらにステップ163でアプリケーションプログラム40に対してライセンスキーが変更になった事を通知する。ライセンスキー17は通常、暗号化されており構成定義ファイルの中に格納される実装が行われる事が多いが、本発明ではその方法については規定しない。
【0024】
本発明では上記のように、APライセンス制御部16のステップ163において、アプリケーションプログラム40に対してCODの発動を通知する事も特徴としている。
【0025】
さらに、CODを発動した後、アプリケーションプログラム40やOSを停止せずにハードウェアリソースを増減できる場合、かつ、アプリケーションプログラム40自体も動作中に使用するハードウェアリソース量を増減できる場合に、アプリケーションプログラム40を停止する事なく、CODを発動した後のハードウェアリソースを使う事ができるようにする事も特徴とする。この実施例は後述する。
【0026】
次にアプリケーションプログラム40の実施例として図6、図7の2つの形態を示す。以下で述べるアプリケーションプログラムは実施の一形態であり、本発明の範囲を限定する物ではない。
【0027】
図6はアプリケーションプログラム40の実施例の一形態を示すフローチャートである。アプリケーションプログラム40は起動時にステップ401でHW構成取得部19からハードウェアの構成を得て、ステップ402でライセンスキー17を得る。次にステップ403で、そのライセンスキー17が意味しているアプリケーションプログラム40の動作が許可されたハードウェアの構成と、動作しようとしている実際のハードウェアの構成とを比較して、不当な利用ではないかのチェックを行う。例えばライセンスキー17が4CPUまでの実行を許可していて、実際のCPUが8個であった場合、不当利用であると判定される。この時はステップ406で例えばアプリケーションプログラム40を停止する。逆に、例えばハードウェアの実際の構成とライセンスキー17に示されている構成が一致した場合は正当利用だと判定され、ステップ404でライセンスキー17内に含まれている有効期間のチェックを行う。ライセンスキー17の有効期限が切れていれば不正利用であるので、ステップ406でアプリケーションプログラム40を停止する。有効期間内であれば、ステップ405にてアプリケーションプログラム40の本来の作業である業務処理を行う。なおライセンスキー17の有効期限は時間の経過と共にチェックしなおさねばならないため、ステップ405の業務処理は例えば一日一回などの頻度で一時中断し、ステップ404に戻り有効期限チェックを行う。
【0028】
次に、図7はアプリケーションプログラム40の実施例の図6とは異なる一形態を示すフローチャートである。この例では前述した「CODの発動に応じて稼動中にハードウェアの使用量を変更できるアプリケーションプログラム」を示している。
【0029】
ステップ401、ステップ402は図6と同様、ハードウェア構成とライセンスキー17を得る処理である。この実施例のアプリケーションプログラム40はライセンスキー17が意味しているハードウェアの構成情報を用いて最適なハードウェア使用量を決める。この方法として一実施例をステップ403、407、408で示している。ステップ403で、ライセンスキー17が意味しているアプリケーションプログラム40の動作を許可したハードウェアの構成と、動作しようとしている実際のハードウェア構成を比較する。もしライセンスキー17に示されているハードウェア構成以上のハードウェア上で起動されるという状態であれば、ステップ407にてアプリケーション40が利用するハードウェア量がライセンスキー17に従って決定される。逆にライセンスキー17のほうが実際のハードウェア構成より大きければ、ステップ408にて、アプリケーション40が利用するハードウェア量が実際のハードウェア構成を使い切るように決定される。例えば、ライセンスキー17が4CPUまでの動作許可を意味していた場合、ハードウェア構成が8CPUであれば、プロセスを4個だけ起動する。逆にライセンスキー17が8CPUまでを意味しており、ハードウェア構成が4CPUであった場合は、プロセスを4個だけ起動する。そしてステップ405の業務処理を行う。本実施例でいう構成変更は、容量変更や能力変更も含んでいる。
【0030】
CODの発動にともない、ステップ405の業務処理中に、ライセンスキー17が変更された事を通知する割り込み409が発生する。この場合は割り込み処理によって一旦ステップ401の前に処理が戻る。
【0031】
以下に図7の各ステップにそって、メモリを増加させた場合と、CPUを増加させた場合の例を二つ示す。
【0032】
メモリを増加させる例として、実装メモリに応じて業務処理の作業領域を決定するタイプのアプリケーションプログラム40を想定する。このアプリケーションプログラム40では、OSの使用量やアプリケーションプログラム40自体のロードモジュールや固定領域の為に、0.5GB+実装メモリの1/4を利用不能領域として引き、残りの部分を業務処理に割り当てるように実装されているとする。搭載メモリ4GBの計算機の場合、ステップ401でメモリ量4GBという情報が得られ、ステップ402でライセンスキー17が4GBメモリでの実行を意味している事を得られたとする。ステップ403の判定で「HW構成=ライセンスキー」であるのでステップ407に進む。ステップ407ではライセンスキー17が示す4GBに従い、利用不能領域として0.5+1GBを引き、2.5GBをアプリケーションプログラム40の作業領域として割り当て、ステップ405で2.5GBを利用して業務処理を行う。
【0033】
ステップ405の業務処理中にメモリを16GBに増加させるCOD発動を行うと、ハードウェアの構成が16GBになりライセンスキー17が16GBを意味する状態になった後に、ステップ409の割り込みがアプリケーションプログラム40に対して発生する。すると順にステップをたどり、ステップ407によりアプリケーションプログラム40は16GBで動作する時の設定である、利用不能領域として0.5+4GBを引いた残り11.5GBをアプリケーションプログラム40自体の作業領域として割り当てなおす。結果としてステップ405の業務処理は作業領域が2.5GBから11.5GBへ増えたので、アプリケーションプログラム40は業務の処理能力を向上させる事ができる。
【0034】
なお、一般的にアプリケーションプログラムでは仮想メモリ空間しか確保できないため、仮想メモリの大きさと実メモリの使用量が1対1になっているとは限らない。しかし、実メモリからOSの使用量など固定的に必要な容量を引いたメモリ量までの仮想メモリを使用すると、システム上で利用されている全ての仮想メモリ量を実メモリ以下におさえる事ができる。この状態ではアプリケーションプログラムが利用する領域は全て実メモリ上に収まり(ページアウトされる事がなくなり)、高効率で動作することができる。
【0035】
CPUを増加させる例として、実装されているCPUの数と同じ数のプロセス(処理単位の例でありスレッドであるケースなどもある)を起動して、業務業務処理を行うタイプのアプリケーションプログラム40を想定する。搭載CPU4個の計算機の場合、ステップ401でCPU数4個という情報が得られ、ステップ402でライセンスキー17がCPU4個での実行を意味している事を得られたとする。ステップ403の判定で「HW構成=ライセンスキー」であるのでステップ407に進む。ステップ407ではライセンスキー17が示す4CPUに従い、プロセスを4個起動し、ステップ405で4個のプロセスを利用して業務処理を行う。
【0036】
ステップ405の業務処理中にCOD発動が行われCPUを8個に増加すると、ハードウェアの構成が8CPUになりライセンスキー17が8CPUを意味する状態になった後に、ステップ409の割り込みがアプリケーションプログラム40に対して発生する。すると順にステップをたどり、ステップ407によりアプリケーションプログラム40は8CPUで動作する時の設定である、プロセス8個を起動しなおす。結果としてステップ405の業務処理を処理するプロセスが4個から8個に増えたので、アプリケーションプログラムは業務の処理能力を向上させる事ができる。
【0037】
なお、図7と図6は分けて記述しているが構成要素を簡潔に説明するためであり、一つの実施形態に上記2つの方式を用いて適用することができる。例えば図6中のステップ404、406の処理(ライセンス有効期限チェック)は図7に適用可能であるし、ステップ403、406の処理(不正使用時のアプリケーション停止)も図7に適用可能である。
【0038】
COD発動後、APベンダ30は各顧客に対して新しいハードウェア構成に対応した料金の支払いを求める。図1におけるAP課金管理部32はAPベンダ内に書かれているが、実際には再販業者などAPベンダ30とは別の企業またはシステムの構成を採ることも可能である。AP課金管理部32は顧客10のAP料金支払い制御部18に対して、新しいハードウェア構成に対応した料金の支払いを要求する。
【0039】
図5はAP課金管理部32のフローチャートである。初めにステップ321でCOD−DB33を検索し、顧客にどれだけの金額を請求するかをCOD状況毎の料金3315から検出し、ステップ322にて料金を請求する。次に例えば毎日12時などの契機で料金の支払いが行われたかをステップ323でチェックする。支払いが無い場合はステップ328でCOD−DB33からライセンスキーの有効期間3306を調べ、有効期限が過ぎていれば、ステップ329にて利用権限が全く無い事を意味するライセンスキーを送り込む。有効期限が切れていなければステップ323に戻り、再び支払いを待つ。なお、支払いがあった場合はステップ324にてCOD−DB33内の領収済み料金3305を更新する。さらにステップ325にて、COD状態毎の料金3315と比較して支払われた料金に不足があるかを調べる。不足があった場合はステップ323の支払い待ちに戻る。不足がなかった場合には次回の支払い期限を決め、ステップ326にて顧客に対して新しい有効期間に対応するライセンスキーを送り、ステップ327にてCOD−DB33内の有効期間3306を更新する。
【0040】
有効期限の情報が含まれていないライセンスキーで利用を制御していた場合、COD発動後のハードウェア構成に対応したライセンスキーを入手された直後に、通信できないように通信路が切断された場合は、例え不正使用が行われていてもAPベンダ30からアプリケーションプログラム40の実行制限を行う事ができないという問題が発生する。それに対して、ライセンスキー17自体に有効期限を持たせる事で不正利用を防ぐ事ができる。ライセンスキー17の有効期限が切れていた場合には、アプリケーションプログラム40はステップ404の判定により動作しないようになり、COD発動後の状態での不正利用を防ぐ事ができる。
【0041】
この場合、ライセンスキーの自動更新を行う実施例を以下に示す。ひとつは、ライセンスキー17の期限切れを検出したアプリケーションプログラム40自身が、APベンダ30に新しいライセンスキーを要求して、入手する実装がある。また、APベンダ30が、自身の持つCOD−DB33内のライセンスキー有効期限3306を参照し、ライセンスキー17を送り込む方法もある。いずれの場合でも通信路の切断ではライセンスキー17の更新ができなくなるため、顧客システム10内にあるライセンスキー17の有効期限が切れるため、不正利用を防ぐ事ができる。本発明では上記ライセンスキー更新処理の実施の形態は規定しない。
【0042】
なお、COD対応のシステムを導入し本番稼動に入る前に、数ヶ月程度一時的にCODを発動して業務アプリケーションプログラムを含めたシステム全体の動作検証や、CODを発動した後の状態での性能検証を行う事が一般的であると想定される。この場合も本発明で述べてきた手段により、一時的なCOD発動用のライセンスキーの送受信を行う事ができる。
【0043】
以上により、COD形態で導入したハードウェアの上で動作する業務処理アプリケーションプログラムは、CODが発動された後すぐに、CODによって増強されたハードウェアリソースを利用することができ、顧客業務に対する処理能力の短時間での増強が達成できる。また、ハードウェアリソースの増加を行った後に、アプリケーションプログラムに対して適切な使用料を支払わず、不当な利用を続けた場合に、適切な支払いが行われるまでアプリケーションプログラムの処理能力を制限や停止する手段をあたえる事で、不正利用に対する保護が可能になる。
【0044】
【発明の効果】
本発明により、ハードウェアの構成変更を反映したプログラムの能力変更を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例の全体の構成を示すブロック図である。
【図2】通信を行う各ブロックがどのような順番で動作するかを示したタイミングチャートである。
【図3】顧客システム内のHW−COD発動制御部とHWベンダ内のCOD発動通知受付部のフローチャートである。
【図4】顧客システム内のAP−COD発動制御部とAPベンダ内のCOD発動通知受付部と、顧客システム内のAPライセンス管理部のフローチャートである。
【図5】APベンダ内のAP課金管理部のフローチャートである。
【図6】APの実施例の一形態である。
【図7】図6とは異なるAPの実施例の一形態である。
【図8】HWベンダ内のCODに関する情報を保持するCOD−DBの図である。
【図9】APベンダ内のCODに関する情報を保持するCOD−DBの図である。
【符号の説明】
10:顧客システム
11:COD発動指示受付部
12:HW−COD発動制御部
13:HW料金支払い制御部
14:AP−COD発動制御部
15:COD発動時の通知先一覧
16:APライセンス管理部
17:ライセンスキー
18:AP料金支払い制御部
19:HW構成取得部
20:HWベンダ
21:HWベンダ内、COD発動通知受付部
22:HW課金管理部
23:HWベンダ内、COD−DB
30:APベンダその1
31:APベンダ内、COD発動通知受付部
32:AP課金管理部
33:APベンダ内、COD−DB
38:APベンダその2
39:APベンダその3
40:アプリケーションプログラム
2310、2320、2330:HWベンダ内COD−DBにある顧客の現在の状態を示すレコード
2301:HWベンダ内COD−DB内の顧客システム識別子欄
2302、2303、2304:HWベンダ内COD−DB内の現在のCOD発動状況欄
2305:HWベンダ内COD−DB内の領収済み料金欄
2312、2313、2314:HWベンダ内COD−DB内の顧客毎のCOD発動状況の指標
2315:HWベンダ内COD−DB内の顧客毎のCOD発動状況毎の料金一覧
3310、3320、3330:APベンダ内COD−DB内の顧客毎の現在の状態を示すレコード
3301:APベンダ内COD−DB内の顧客システム識別子欄
3302、3303、3304:APベンダ内COD−DB内の現在のCOD発動状況欄
3305:APベンダ内COD−DB内の領収済み料金欄
3306:APベンダ内COD−DB内のライセンスキーの残り有効期間欄
3312、3313、3314:APベンダ内COD−DB内の顧客毎のCOD発動状況の指標
3315:APベンダ内COD−DB内の顧客毎のCOD発動状況毎の料金一覧
Claims (10)
- 構成を変更可能な計算機システムと、該計算機のハードウェア構成に応じて課金を行うハードウェア管理システムと、該計算機のプログラム構成に応じて課金を行うプログラム管理システムとを備えた計算機構成変更システムにおいて、
上記計算機システムは、構成変更を所望する上記計算機システムのハードウェア構成とプログラム構成とを含む構成変更要求を入力した場合は、該構成変更するハードウェアの課金を変更するために上記構成変更するハードウェア構成情報を上記ハードウェア管理システムへ送り、該構成変更するプログラムの課金を変更するために上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報を上記プログラム管理システムへ送り、
上記ハードウェア管理システムは、上記構成変更するハードウェア構成情報を入力すると、該ハードウェア構成情報に基づいて該ハードウェアに対する課金を変更して上記計算機に該ハードウェアの課金情報を送り、
上記プログラム管理システムは、上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報とを入力すると、該ハードウェア構成情報と該プログラム構成に基づいて該プログラムに対する課金を変更して上記計算機に該プログラムの課金情報を送り
上記計算機は、上記ハードウェアの課金情報と上記プログラムの課金情報を入力した場合、上記構成変更するハードウェア構成情報に基づいてハードウェア構成を変更し、上記構成変更するプログラム構成情報に基づいてプログラム構成を変更することを特徴とする計算機構成変更システム。 - 上記計算機の構成はライセンスキーで管理されており、上記プログラム管理システムから送られた課金情報に含まれるライセンスキーに基づいて該構成を変更する手段を備えたことを特徴とする請求項1記載の計算機構成変更システム。
- 上記変更する構成変更を行う場合、上記ライセンスキーに含まれる有効期限に基づいて決定する手段を備えたことを特徴とする請求項2記載の計算機構成変更システム。
- 上記構成変更を行う場合、上記送られた課金情報とハードウェア構成およびプログラム構成との一致を判定し、一致しない場合は上記構成変更を行わない手段を備えたことを特徴とする請求項1記載の計算機構成変更システム。
- 上記構成変更を行う場合、上記構成変更するハードウェア構成に基づいて上記プログラム構成を変更する手段を備えたことを特徴とする請求項1記載の計算機構成変更システム。
- 計算機のハードウェアの構成情報を含むハードウェア構成情報と該ハードウェアのハードウェア契約更改通知先と、上記計算機のプログラムの構成情報と該プログラムのプログラム契約更改通知先とを記憶し、
構成変更を所望する上記計算機のハードウェア構成とプログラム構成とを含むハードウェア構成変更要求を受け付けた場合は、該構成変更するハードウェアの課金を変更するために上記ハードウェア契約更改通知先へ上記構成変更するハードウェア構成情報を上記ハードウェア契約更改通知先へ送り、該構成変更するプログラムの課金を変更するために上記プログラム契約更改通知先へ上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報を上記プログラム契約更改通知先へ送り、
上記プログラム契約更改通知先から送られたライセンス情報を入力した場合、上記構成変更するハードウェア構成情報に基づいてハードウェア構成を変更し、上記構成変更するハードウェア構成情報と上記構成変更するプログラム構成情報に基づいてプログラム構成を変更することを特徴とする計算機構成変更方法。 - 上記計算機の構成はライセンスキーで管理されており、上記プログラム管理システムから送られた課金情報に含まれるライセンスキーに基づいて該構成を変更することを特徴とする請求項6記載の計算機構成変更方法。
- 上記変更する構成変更を行う場合、上記ライセンスキーに含まれる有効期限に基づいて決定することを特徴とする請求項7記載の計算機構成変更方法。
- 上記構成変更を行う場合、上記送られた課金情報とハードウェア構成およびプログラム構成との一致を判定し、一致しない場合は上記構成変更を行わないことを特徴とする請求項7記載の計算機構成変更方法。
- 上記構成変更を行う場合、上記構成変更するハードウェア構成に基づいて上記プログラム構成を変更することを特徴とする請求項7記載の計算機構成変更方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002244471A JP2004086392A (ja) | 2002-08-26 | 2002-08-26 | 計算機構成変更方法およびシステム |
US10/648,824 US20050060388A1 (en) | 2002-08-26 | 2003-08-25 | Method for modifying computer configuration and configuration of program which operates on computer, and computing device and system for implementing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002244471A JP2004086392A (ja) | 2002-08-26 | 2002-08-26 | 計算機構成変更方法およびシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004086392A true JP2004086392A (ja) | 2004-03-18 |
Family
ID=32052919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002244471A Pending JP2004086392A (ja) | 2002-08-26 | 2002-08-26 | 計算機構成変更方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050060388A1 (ja) |
JP (1) | JP2004086392A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008192145A (ja) * | 2007-01-31 | 2008-08-21 | Hewlett-Packard Development Co Lp | 一時使用量に基づくソフトウェアライセンス契約管理 |
JP2011113203A (ja) * | 2009-11-25 | 2011-06-09 | Ricoh Co Ltd | ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム |
JP2013516003A (ja) * | 2009-12-31 | 2013-05-09 | インテル・コーポレーション | ハードウェアのプロビジョニング、更新、および/または変更 |
JP2014164392A (ja) * | 2013-02-22 | 2014-09-08 | Dainippon Printing Co Ltd | 情報処理装置および情報処理システム |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7978840B2 (en) | 2003-11-10 | 2011-07-12 | Verizon Business Global Llc | Provisioning system for network resources |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US8176564B2 (en) * | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
US8464348B2 (en) * | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
JP4715311B2 (ja) * | 2005-06-01 | 2011-07-06 | 株式会社日立製作所 | Smpライセンス情報を有する情報処理装置 |
US8353046B2 (en) * | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
EP2631679B1 (en) * | 2005-11-10 | 2014-07-09 | Halliburton Energy Services, Inc. | Displaced electrode amplifier |
WO2010046966A1 (ja) * | 2008-10-21 | 2010-04-29 | 富士通株式会社 | 情報処理システムおよび使用権一元管理方法 |
US9235399B2 (en) * | 2010-01-15 | 2016-01-12 | Dell Products L.P. | System and method for manufacturing and personalizing computing devices |
US10387927B2 (en) * | 2010-01-15 | 2019-08-20 | Dell Products L.P. | System and method for entitling digital assets |
US9256899B2 (en) * | 2010-01-15 | 2016-02-09 | Dell Products, L.P. | System and method for separation of software purchase from fulfillment |
US8548919B2 (en) * | 2010-01-29 | 2013-10-01 | Dell Products L.P. | System and method for self-provisioning of virtual images |
US9100396B2 (en) * | 2010-01-29 | 2015-08-04 | Dell Products L.P. | System and method for identifying systems and replacing components |
US8429641B2 (en) * | 2010-02-02 | 2013-04-23 | Dell Products L.P. | System and method for migration of digital assets |
US8170783B2 (en) | 2010-03-16 | 2012-05-01 | Dell Products L.P. | System and method for handling software activation in entitlement |
US8707087B2 (en) | 2010-05-18 | 2014-04-22 | Dell Products L.P. | Restoration of an image backup using information on other information handling systems |
WO2013002258A1 (ja) * | 2011-06-29 | 2013-01-03 | 日本電気株式会社 | ライセンス管理装置及びライセンス管理方法 |
MX341040B (es) | 2011-07-19 | 2016-08-05 | Nec Corp | Dispositivo de gestion de licencia, sistema de gestion de licencia, metodo de gestion de licencia y programa. |
US8949401B2 (en) | 2012-06-14 | 2015-02-03 | Dell Products L.P. | Automated digital migration |
US8468139B1 (en) | 2012-07-16 | 2013-06-18 | Dell Products L.P. | Acceleration of cloud-based migration/backup through pre-population |
US9779219B2 (en) | 2012-08-09 | 2017-10-03 | Dell Products L.P. | Method and system for late binding of option features associated with a device using at least in part license and unique ID information |
CN103399840B (zh) * | 2013-07-31 | 2016-12-07 | 华为技术有限公司 | 一种计算机配置文件的带外修改方法及计算机 |
BR112016013689A8 (pt) | 2013-12-16 | 2018-06-12 | Abb Technology Ag | Licenciamento de um componente de hardware |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4560855A (en) * | 1982-09-08 | 1985-12-24 | Nippon Steel Corporation | Method for joining of articles by energy beam and apparatus for controlling said method |
US4881430A (en) * | 1988-09-06 | 1989-11-21 | Hubbard Arthur J | Method of making heterogeneous blade-like metallic cutter member |
GB9026134D0 (en) * | 1990-11-30 | 1991-01-16 | British Aerospace | Explosive bonding |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
US6195750B1 (en) * | 1999-03-09 | 2001-02-27 | Amdhal Corporation | Method and apparatus for dynamic CPU reconfiguration in a system employing logical processors |
US6621036B2 (en) * | 2001-02-08 | 2003-09-16 | General Motors Corporation | Programmable pogo welding apparatus and method |
KR100671153B1 (ko) * | 2001-04-25 | 2007-01-17 | 엘지전자 주식회사 | 디바이스 드라이버 설치방법 |
US20020166843A1 (en) * | 2001-05-14 | 2002-11-14 | Pei-Chung Wang | Method for electrical resistance welding thin metal sheets together for automotive vehicle structures |
GB2376540B (en) * | 2001-06-12 | 2005-05-04 | Hewlett Packard Co | Upgrade of licensed capacity on computer entity |
-
2002
- 2002-08-26 JP JP2002244471A patent/JP2004086392A/ja active Pending
-
2003
- 2003-08-25 US US10/648,824 patent/US20050060388A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008192145A (ja) * | 2007-01-31 | 2008-08-21 | Hewlett-Packard Development Co Lp | 一時使用量に基づくソフトウェアライセンス契約管理 |
JP2011113203A (ja) * | 2009-11-25 | 2011-06-09 | Ricoh Co Ltd | ライセンス更新管理装置、ライセンス管理システム、ライセンス更新方法、およびプログラム |
JP2013516003A (ja) * | 2009-12-31 | 2013-05-09 | インテル・コーポレーション | ハードウェアのプロビジョニング、更新、および/または変更 |
US8966657B2 (en) | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
JP2014164392A (ja) * | 2013-02-22 | 2014-09-08 | Dainippon Printing Co Ltd | 情報処理装置および情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
US20050060388A1 (en) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004086392A (ja) | 計算機構成変更方法およびシステム | |
US8739170B1 (en) | Managing requests for computing capacity | |
US9864725B1 (en) | Managing use of program execution capacity | |
US7614087B2 (en) | Apparatus, method and computer program for controlling use of a content | |
US9268584B2 (en) | Methods and systems for dynamically managing requests for computing capacity | |
KR101332665B1 (ko) | 라이센스 관리시스템 및 라이센스 관리 방법 | |
US10387211B2 (en) | Managing a virtual computer resource | |
KR100734387B1 (ko) | 분산 컴퓨팅 환경에서 임대 소프트웨어 프로그램을 수행하기 위한 시스템 및 방법 | |
KR101516093B1 (ko) | 포트 공유 하드웨어를 통한 저장 장치들에의 대역외 액세스 | |
US7574507B2 (en) | System for determining unreturned standby resource usage | |
US20150178514A1 (en) | System and Method for Managing Software Licenses | |
WO2011110571A1 (en) | Starting virtual instances within a cloud computing environment | |
JPH1063364A (ja) | コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム | |
JP2004227585A (ja) | それまで非動作状態にあったコンポーネントを動作可能にする方法 | |
US20070266391A1 (en) | System and method for separating multi-workload processor utilization on a metered computer system | |
JP2005166052A (ja) | 待機リソースの資格を移転するためのシステム | |
US20240012883A1 (en) | Monitoring license constraints in a container orchestration system | |
US9158572B1 (en) | Method to automatically redirect SRB routines to a zIIP eligible enclave | |
JPH09319451A (ja) | 計算機ソフトウェアの使用料金決定装置及び使用権管理装置 | |
US20050066032A1 (en) | Capacity on demand grace period for incompliant system configurations | |
WO2020246022A1 (ja) | 識別子切り替え装置、識別子切り替えプログラム及び識別子切り替え方法 | |
CN112953912A (zh) | 一种创建授权节点的方法、客户端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050307 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070508 |