JP6924895B2 - バッテリ仮想化 - Google Patents

バッテリ仮想化 Download PDF

Info

Publication number
JP6924895B2
JP6924895B2 JP2020507736A JP2020507736A JP6924895B2 JP 6924895 B2 JP6924895 B2 JP 6924895B2 JP 2020507736 A JP2020507736 A JP 2020507736A JP 2020507736 A JP2020507736 A JP 2020507736A JP 6924895 B2 JP6924895 B2 JP 6924895B2
Authority
JP
Japan
Prior art keywords
battery
virtual
applications
group
capacity
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.)
Active
Application number
JP2020507736A
Other languages
English (en)
Other versions
JP2020520527A (ja
Inventor
メイヤー,マイケル
メハディ アラシュミド アクハヴァイン,モハマディ
メハディ アラシュミド アクハヴァイン,モハマディ
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2020520527A publication Critical patent/JP2020520527A/ja
Application granted granted Critical
Publication of JP6924895B2 publication Critical patent/JP6924895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0047Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with monitoring or indicating devices or circuits
    • H02J7/0048Detection of remaining charge capacity or state of charge [SOC]
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • H02J9/002Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which a reserve is maintained in an energy source by disconnecting non-critical loads, e.g. maintaining a reserve of charge in a vehicle battery for starting an engine
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • H02J9/005Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting using a power saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)
  • Automation & Control Theory (AREA)

Description

本発明は、エネルギの保持及び管理の分野に、特に、バッテリ仮想化に関係がある。
本開示のために、「バッテリ」との語は、有限な量のエネルギを(何らかの適切な形で)保持し、保持されているエネルギを電力の形で放出することが可能なデバイスを指すと理解されるべきである。バッテリの例には、電気化学電池、キャパシタ、エネルギ貯蔵フライホイール、及び燃料電池又は有限な燃料供給による発電機がある。バッテリに保持されるエネルギの量は、例えば、ジュール(J)、英熱量(BTU)、アンペア時間(Ah)又はミリアンペア時間(mAh)のような何らかの適切な方法で表現され得る。
図1は、簡単なバッテリを表す。図1の例では、バッテリ100が、エネルギストア(又はストレージ)102と、コントローラ104とを有する。エネルギストア102の例には、電気化学電池、キャパシタ、エネルギ貯蔵フライホイール、及び燃料電池又は有限な燃料供給による発電機がある。エネルギストア102に保持されるエネルギの量は、例えば、ジュール(J)、英熱量(BTU)、アンペア時間(Ah)又はミリアンペア時間(mAh)のような何らかの適切な方法で表現され得る。
その最も簡単な形において、コントローラ104は、エネルギストア102を負荷106へ適切な導体を通じて選択的に接続するために使用され得るスイッチとして設けられてよい。この接続が構成されるとき、エネルギストアは、負荷106へ電気エネルギを供給するよう(110で)放電される。より複雑な例では、コントローラ104は、エネルギストア102から負荷106へ供給される電気エネルギが負荷106による使用にとって適切であることを確かにするために、電圧レギュレータ、整流器又はインバータ等のような電力調整回路を備えてもよい。その上、コントローラ104は、エネルギストア102が(112に示されるように)再充電されることを可能にするよう構成された回路を含んでもよい。
この背景情報は、本発明に関係がある可能性があると本出願によって信じられている情報を明らかにするために与えられている。承認は必ずしも意図されず、上記の情報のいずれかが本発明に対する先行技術を構成するとも解されるべきではない。
本発明の実施形態の目的は、コンピュータデバイスでのバッテリ利用を制御するための構造上の選択肢を提供することである。
従って、本発明の第1の態様は、コンピュータデバイスを制御する方法であって、コンピュータデバイスは、物理バッテリと、コンピュータデバイスのハードウェア資源で実行可能なアプリケーションの少なくとも1グループとを含み、各グループは1以上のアプリケーションを含む、前記方法を提供する。方法は、アプリケーションの各グループ関連付けられた各々の仮想バッテリの状態に基づきアプリケーションの各グループを制御することを有し、各仮想バッテリは、物理バッテリの容量の定義された部分に対応する各々の仮想容量と、仮想バッテリに関連付けられたアプリケーションのグループによる使用に利用可能であるエネルギの量を表す仮想バッテリリザーブとを有する。
本発明の第1の態様の実施形態において、方法は、アプリケーションの各グループに関連付けられた仮想バッテリマネージャをインスタンス化することを更に有し、仮想バッテリマネージャは、各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される。他の実施形態で、アプリケーションの各グループは、各々の仮想マシン及びスライスのうちの1つで実行され、任意に、各仮想マシンは、各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される仮想バッテリマネージャに関連付けられる。
他の実施形態では、所与の仮想バッテリの仮想容量は、アプリケーションの各々のグループの推定されるバッテリ利用、アプリケーションの各々のグループの優先度、及びユーザ入力のうちのいずれか1つ以上に基づき計算される。
他の実施形態では、所与の仮想バッテリの仮想容量は、アプリケーションの各々のグループのランタイム中に固定される。他の実施形態では、所与の仮想バッテリの仮想容量は、アプリケーションの各々のグループのランタイム中に可変であり、任意に、方法は、アプリケーションの各々のグループのランタイム中に所与の仮想バッテリの更新された仮想容量を計算することを更に含むことができ、更なる任意の実施形態では、更新された仮想容量は、アプリケーションの各々のグループの実際のバッテリ利用に基づき計算される。
他の実施形態では、各々の仮想バッテリの状態に基づアプリケーションの各グループを制御することは、特定の仮想バッテリの低バッテリ状態を検出し、該低バッテリ状態の検出に応答して、特定の仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションをシャットダウンすることと、特定の仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションによって、コンピュータデバイスのハードウェア資源へのアクセスを制限することとのうちのいずれか1つ以上を実行することを有する。他の実施形態では、低バッテリ状態を検出することは、アプリケーションの各々のグループのバッテリ利用の推定値を計算することと、記バッテリ利用の計算された推定値に基づき特定の仮想バッテリの各々の仮想バッテリリザーブの値を減少させることとを有する。更なる実施形態では、特定の仮想バッテリの状態を検出することは、物理バッテリで現在保持されているエネルギが増大しているときに、特定の仮想バッテリの仮想バッテリリザーブを増大させることを更に有する。他の実施形態では、特定の仮想バッテリの仮想バッテリリザーブを増大させることは、物理バッテリで現在保持されているエネルギが増大しているレート、特定の仮想バッテリの仮想容量、特定の仮想バッテリに関連付けられたアプリケーションの各々のグループの優先度、及びユーザ入力のうちのいずれか1つ以上に基づく。更なる実施形態では、特定の仮想バッテリの低バッテリ状態を検出することは、特定の仮想バッテリの仮想バッテリリザーブが所定の閾値以下であることを検出することと、特定の仮想バッテリの仮想バッテリリザーブが定義された将来の期間内に所定の閾値を下回ると予測されることを検出することとのうちのいずれ1つ以上を有する。
本発明の第2の態様では、定義されたバッテリ容量を有する物理バッテリと、メモリ及びプロセッサを有するハードウェア資源と、メモリ内にあって、プロセッサによって実行されるアプリケーションの少なくとも1グループとを有するコンピュータデバイスが提供される。アプリケーションの各グループは、ハードウェア資源で実行可能な1以上のアプリケーションを含む。コンピュータデバイスは、メモリ内にあり、ハードウェア資源においてプロセッサによってインスタンス化されるとき、アプリケーションの各グループに関連付けられた各々の仮想バッテリの状態に基づきアプリケーションの各グループを制御するよう構成される仮想バッテリマネージャを更に有し、各仮想バッテリは、物理バッテリの容量の定義された部分に対応する各々の仮想容量と、仮想バッテリに関連付けられたアプリケーションのグループによる使用のために利用可能であるエネルギの量を表す各々の仮想バッテリリザーブとを有する。
本発明の第2の態様の実施形態において、アプリケーションの各グループは、各々の仮想マシン及びスライスのうちの1つにおいて実行され、任意に、各仮想マシンは、各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される仮想バッテリマネージャに関連付けられる。他の実施形態では、所与の仮想バッテリの仮想容量は、アプリケーションの各々のグループの推定されるバッテリ利用、アプリケーションの各々のグループの優先度、及びユーザ入力のうちのいずれか1つ以上に基づき計算される。他の実施形態では、所与の仮想バッテリの仮想容量は、アプリケーションの各々のグループのランタイム中に固定されるか、あるいは、アプリケーションの各々のグループのランタイム中に可変であるかのいずれかである。他の実施形態では、仮想バッテリマネージャは、各々の仮想バッテリの低バッテリ状態を検出し、低バッテリ状態の検出に応答して、仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションをシャットダウンすることと、仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションによって、ハードウェア資源へのアクセスを制限することとのうちのいずれか1つ以上を実行することによって、アプリケーションの各グループを制御するよう構成される。更なる実施形態では、低バッテリ状態を検出することは、アプリケーションの各々のグループのバッテリ利用の推定値を計算することと、バッテリ利用の計算された推定値に基づき特定の仮想バッテリの各々の仮想バッテリリザーブの値を減少させることとを有する。他の実施形態では、各々の仮想バッテリの状態を検出することは、物理バッテリで現在保持されているエネルギが増大しているときに、各々の仮想バッテリの仮想バッテリリザーブを増大させることを更に有する。他の実施形態では、各々の仮想バッテリの仮想バッテリリザーブを増大させることは、物理バッテリで現在保持されているエネルギが増大しているレート、各々の仮想バッテリの仮想容量、各々の仮想バッテリに関連付けられたアプリケーションの各々のグループの優先度、及びユーザ入力のうちのいずれか1つ以上に基づく。更なる実施形態では、各々の仮想バッテリの低バッテリ状態を検出することは、各々の仮想バッテリの仮想バッテリリザーブが所定の閾値以下であることを検出することと、記各々の仮想バッテリの仮想バッテリリザーブが定義された将来の期間内に前記所定の閾値を下回ると予測されることを検出することとのうちのいずれ1つ以上を有する。実施形態において、コンピュータデバイスは、ユーザ装置である。他の実施形態では、コンピュータデバイスは、基地局である。
本発明の第3の態様では、ネットワークインターフェイスと、ディスプレイと、プロセッサと、プロセッサによって実行されるときに、ネットワークインターフェイス、ディスプレイ、及びプロセッサへのアクセスを有する第1デバイススライスと、ディスプレイへのアクセスなしでネットワークインターフェイス及びプロセッサへのアクセスを有する第2デバイススライスとをインスタンス化するようユーザ装置を構成する命令を記憶するメモリとを有するユーザ装置が提供される。
第3の態様の実施形態において、ユーザ装置は、バッテリを更に有し、第1デバイススライスは、バッテリの第1の仮想化された表現へのアクセスを有し、第2デバイススライスは、バッテリの第2の仮想化された表現へのアクセスを有する。実施形態において、メモリは、プロセッサによって実行されるときに、バッテリの各々の仮想化された表現の状態に従って第1デバイススライス及び第2デバイススライスの1つをシャットダウンするようユーザ装置を構成する命令を更に記憶する。
異なる態様の上記の実施形態は、単独で又は他の実施形態と組み合わせて、それらが記載されている態様に適用されてよく、いくつかの状況では、それらは、他の態様に適用されてもよいことが当業者に理解されるだろう。いくつかの実施形態は、相互に排他的であることがあり、そのような場合に、それらは、上記のように組み合わせ可能であると考えられないことが当業者に理解されるだろう。
本発明の更なる特徴及び利点は、添付の図面と組み合わせて理解される以下の詳細な説明から明らかになるだろう。
従来のバッテリシステムのブロック図である。 本発明の代表的な実施形態に従うデバイス及び方法を実装するために使用され得るコンピュータシステム200のブロック図である。 代表的なユーザ装置(UE)の機能アーキテクチャを概略的に表すブロック図である。 本発明の実施形態に従うバッテリ仮想化を組み込むユーザ装置(UE)を概略的に表すブロック図である。 本発明の実施形態で使用可能な代表的なサーバのアーキテクチャを概略的に表すブロック図である。
添付の図面に全体にわたり、同じ特徴は、同じ参照番号によって特定されることが明記される。
図2は、本明細書で開示されるデバイス及び方法を実装するために使用され得るコンピュータシステム200のブロック図である。具体的なデバイスは、図示されている構成要素の全て又は構成要素の一部のみを利用してよく、一体化の程度は、デバイスごとに様々であってよい。更には、デバイスは、複数の処理ユニット、プロセッサ、メモリ、送信器、受信器、等のような、コンポーネントの複数のインスタンスを含んでもよい。コンピュータシステム200は、処理ユニット202を含む。処理ユニット202は、通常は、中央演算処理装置(CPU)204、バス206、及びメモリ208を含み、任意に、大容量記憶装置210、ビデオアダプタ212、及びI/Oインターフェイス214(破線で示される。)も含んでよい。
CPU204は、如何なるタイプの電子データプロセッサも有してよい。よって、CPU204は、1以上の汎用のマイクロプロセッサと、グラフィック・プロセッシング・ユニット(GPU)又は他のいわゆるアクセラレイテッド・プロセッサ(若しくはプロセッシング・アクセラレータ)のような1以上の特化されたプロセッシング・コアとの任意の適切な組み合わせとして設けられてよい。メモリ208は、静的ランダム・アクセス・メモリ(SRAM)、動的ランダム・アクセス・メモリ(DRAM)、同期DRAM(SDRAM)、リード・オンリー・メモリ(ROM)、又はそれらの組み合わせのような、如何なるタイプの非一時的なシステムメモリも有してよい。実施形態において、メモリ208は、起動時に使用されるROMと、プログラム及びプログラム実行中に使用されるデータの記憶のためのDRAMとを含んでよい。バス206は、メモリバス若しくはメモリコントローラ、ペリフェラルバス、又はビデオバスを含むあらゆるタイプのいくつかのバスアーキテクチャのうちの1つ以上であってよい。
大容量記憶装置210は、データ、プログラム、及び他の情報を記憶するよう、且つ、データ、プログラム、及び他の情報をバス206を介してアクセス可能にするよう構成された如何なるタイプの非一時的な記憶デバイスも有してよい。大容量記憶装置210は、例えば、ソリッド・ステート・ドライブ、ハード・ディスク・ドライブ、磁気ディスク・ドライブ、又は光ディスク・ドライブを有してよい。
任意のビデオアダプタ212及びI/Oインターフェイス214は、外部の入力及び出力デバイスを処理ユニット202に結合するインターフェイスを提供するために使用されてよい。入力及び出力デバイスの例には、ビデオアダプタ212へ結合されるディスプレイ216と、I/Oインターフェイス214へ結合されるタッチスクリーンのようなI/Oデバイス218とが含まれる。他のデバイスが処理ユニット202へ結合されてもよく、追加の又はより少ないインターフェイスが利用されてよい。例えば、ユニバーサル・シリアル・バス(USB)(図示せず。)のようなシリアルインターフェイスが、外部のデバイスのためのインターフェイスを提供するために使用されてもよい。
処理ユニット202はまた、1以上のネットワークインターフェイス220を含んでもよく、ネットワークインターフェイス220は、1以上のネットワーク222にアクセスするための、Ethernetケーブルのような無線及び有線リンクのうちの少なくとも1つを有してよい。ネットワークインターフェイス220は、処理ユニット202がネットワーク222を介して遠隔エンティティと通信することを可能にする。例えば、ネットワークインターフェイス220は、1以上の送信器/送信アンテナ及び1以上の受信器/受信アンテナを介して無線通信を提供し得る。実施形態において、処理ユニット202は、データ処理と、他の処理ユニット、インターネット、又は遠隔記憶設備のような遠隔デバイスとの通信とのために、ローカル・エリア・ネットワーク又はワイド・エリア・ネットワークへ結合される。
図3は、ユーザ装置(UE)300のような代表的な電子デバイスの機能アーキテクチャを概略的に表すブロック図である。電子デバイスは、携帯電話機、タブレットコンピュータ等として具現されてよく、それは従来のUEであってよいが、他の実施形態では、それはマシン・タイプ・コミュニケーション(MTC)デバイスであってもよい。図3の例において、UE300は、ハードウェア資源302及びソフトウェア資源304から広く構成される。ハードウェア資源302は、1以上のプロセッサ(それらのうちのいずれか又は全てが、図2を参照して上述されたシステム200に従って構成されてよい。)として実装されてよい。UE300は、1以上の異なる無線アクセス技術(RAT)及び標準の使用を通じてネットワーク222へ接続してよい。適切なソフトウェアの実行は、プロセッサが、UE300の無線アクセス要素(例えば、トランシーバ306及びアンテナ308等)を、異なるRATを用いて接続して、接続されるときにその意図された機能を実行するよう制御することを可能にし得る。当業者は、本発明のために使用され得るハードウェア及びソフトウェアの多数の適切な組み合わせがあることを認識するだろう。それらのハードウェア及びソフトウェアは、当該技術で知られているか、あるいは、将来開発され得るかのいずれかである。この理由により、物理UEハードウェアを示す図は、本明細書に含まれない。むしろ、図3のブロック図は、UE300の代表的な機能アーキテクチャを示し、この機能アーキテクチャは、ハードウェア及びソフトウェアの任意の適切な組み合わせを用いて実装され得ることが理解される。
図3から分かるように、表されているUE300は、一般に、トランシーバ306及びアンテナ308を使用したパケットの送信を管理する媒体アクセス制御(MAC)機能314やアプリケーション312のための柔軟且つ効率的なマルチテナンシ・ランタイム及びホスティング環境を提供し得るランタイム環境(RE)310を有する。RE310は、UE300によってホストされている各アプリケーション312のための安全性及び資源“サンドボックス”を提供し得る。各“サンドボックス”は、オペレーティング・システムのインスタンスを含む仮想マシン(VM)316として実装され、UE300のハードウェア資源302へのアクセスを制御され得る。RE310は、UE300のハードウェア資源302で実行されるハイパーバイザによって提供され得ることが当業者によって理解されるだろう。他の実施形態では、VM316に代えて、異なる機能コンポーネントが、OSレベル仮想化とも呼ばれる技術である、共通OSカーネルの上で実行されるソフトウェアコンテナとして実装可能である。コンテナに基づく仮想化は、通常VMによって提供される資源分離を提供するための仮想マシンのインスタンス化を通常は必要としない。
ベンダー、サービスプロバイダ、及びサードパーティからのアプリケーション312は、各々の仮想マシン316又は他の適切なコンテナ内で開発及び実行されてよい。例えば、メッセージング、ビデオストリーミング及び位置に基づくサービスは、上述されたように、RE310でホストされている1以上のアプリケーション312を用いて実装されてよい。単一のVM316内で、複数のアプリケーションがサポートされ得ることが理解されるべきである。アプリケーション312とネットワーク222との間の通信は、UE300によってサポートされている1以上の無線アクセス技術(RAT)及びMAC機能314を用いてRE310のサービスとして通常は実装されることになる。それらの無線アクセス技術(RAT)は、ロング・ターム・エボリューション(LTE)、高速パケット・アクセス(HSPA)グローバル・システム・フォー・モバイル・コミュニケーション(GSM)、エンハンスド・データ・レート・フォーGSMエボリューション(EDGE)、WiFi及びブルートゥース並びに先に挙げられているものの後継のRATのうちのいずれか1つ以上を含んでよい。今後、より多くのRATが開発されることが予想される。
UE300の動作は、ハードウェア資源302への十分な電力の供給に依存する。この電力供給は、バッテリ100によって電気導体108を介して供給される。典型的なUE300では、バッテリのエネルギストア102は、1以上の電気化学電池として設けられる。コントローラ104は、通常は、エネルギストア102が幹線電源から(例えば、図示されないが、適切な電気ケーブルを介して)再充電されることを可能にするようスイッチング回路を設けられることになる。加えて、コントローラ104は、電圧レギュレータ及び、バッテリ100の状態に関する様々なデータを検出するモニタリング回路のような、電力調整回路(図示せず。)を設けられてもよい。モニタリング回路の例として、エネルギストア102にかかる全電圧を検出する電圧センサと、エネルギストア102から引き出される全電流を検出する電流センサとがある。それらの検出された値は、バッテリマネージャ318へ送られ、バッテリ100の状態に関する情報を推測するために使用され得る。
いくつかの例において、バッテリマネージャ318は、RE310のサービスとして、又はUE300の基礎をなすオペレーティング・システムとして設けられてよい。他の例では、バッテリマネージャ318は、RE310によってホストされているVM316で実行されるアプリケーション312として設けられてもよい。通常、バッテリマネージャ318は、エネルギストア102に残っているエネルギの量の指示を(例えば、UE300のディスプレイ216で)表示するよう動作する。いくつかの場合に、バッテリマネージャ318は、エネルギストア102のエネルギを使い果たす残り時間の推定値を計算することといった、より高度な動作を提供し得る。いくつかの場合に、バッテリマネージャ318は、ハードウェア資源302の一部へ供給される電力が低減され得る“バッテリ節約”動作モードを実施するようRE310(又はUE300の基礎をなすオペレーティング・システム)と相互作用してもよい。例えば、プロセッサ202へ供給される最大電力が制限されることがあり、これはプロセッサ202の速度を制限することになる。これは、UE310で実行されるアプリケーションの性能を低下させる傾向があるが、エネルギストア102のエネルギを使い果たす残り時間を延ばすことにもなる。他の例では、エネルギを節約して、エネルギストア102のエネルギを使い果たす残り時間を延ばすために、ディスプレイ216の明るさが低減されてもよい。それらの技術のいずれもが、本質的に、UE300で実行されるアプリケーション312の全てに実質的に同じように作用することになる。
エネルギストア102に残っているエネルギの量が比較的少ない状況で特に、UE内の電力消費を制御するための更なる選択肢を有することが望ましい。より広くは、例えば、UE、基地局のようなアクセスノード、ネットワークサーバ、モバイル・エッジ・コンピューティング(MEC)ノード又はデータセンタのような、如何なるコンピューティング環境内でもバッテリ利用を制御するための更なる選択肢を有することが望ましい。それに関連して、通信ネットワークの全ノードがそれらの動作のために電力の供給に依存することが思い起こされるだろう。ほとんどの場合に、ネットワークノードは、幹線電源へ接続されている。しかし、多くの場合に、バッテリ(又は他の二次電源)が、幹線電力の供給停止中に一次電力を供給するために使用される。バッテリ利用が重要になるのは、そのような期間中である。
本発明によれば、バッテリ利用は、ランタイム環境(又はハイパーバイザ)によりインスタンス化されたバッテリ仮想化レイヤと、各仮想マシン内でインスタンス化された仮想バッテリマネージャとを用いて、制御され得る。ごく一般的な言い方をすると、バッテリ仮想化レイヤは、各アプリケーション(又はアプリケーションのグループ)のバッテリ利用を推定するよう構成され、この情報を各仮想バッテリマネージャインスタンスへ供給する。バッテリ仮想化レイヤによって供給された情報に基づき、仮想バッテリマネージャは、1以上のアプリケーションのバッテリ利用を制御し得る。事実上、物理バッテリが1以上の“仮想バッテリ”によって置き換えられており、仮想バッテリの夫々は1以上のアプリケーションに関連付けられており、それにより、バッテリ利用は、仮想バッテリの夫々の進化状態に基づき、アプリケーションごとに又はサービス単位で制御され得る。図4は、本発明に従うバッテリ仮想化が図3のUE300に適用される例を表す。
本記載のために、物理バッテリは、バッテリで保持可能なエネルギの最大量と、バッテリに現在保持されているエネルギの量であって、UE300による使用に利用可能なエネルギの量に相当するエネルギの量とを表す定義された容量を有していると考えることが都合がよい。同様に、仮想バッテリは、物理バッテリの容量の定義された部分と、仮想バッテリに関連付けられたアプリケーションによる使用に利用可能なエネルギの量に相当する仮想バッテリリザーブとを表す定義された仮想容量を有していると考えることが都合がよい。
図4を参照すると、バッテリマネージャ318に関連付けられたバッテリ仮想化レイヤ402と、各仮想マシン316に関連付けられた各々の仮想バッテリマネージャ(vBM)インスタンス404とを含むUE400が示されている。
いくつかの実施形態において、バッテリ仮想化レイヤ402は、ランタイム環境310若しくはハイパーバイザの、又はUE400の基礎をなすオペレーティング・システムの、サービスとして設けられてよい。他の実施形態では、バッテリ仮想化レイヤ402は、仮想マシン316で実行されるアプリケーション312として実装されてもよい。動作中、バッテリ仮想化レイヤ402は、バッテリマネージャ318から、バッテリ100の状態の情報を受け取り、ランタイム環境310から、各アプリケーション312によって使用されるハードウェア資源の情報を受け取ることができる。例えば、バッテリ仮想化レイヤ402は、バッテリマネージャ318から、バッテリ100での総電流引き出しと、バッテリ100に現在保持されている総エネルギと、バッテリを使い果たす残り時間とを特定する情報を受け取ることができる。具体例となる実施形態では、総電流引き出しの正値は、バッテリ100が放電中であることを示すことができ、一方、総電流引き出しの負値は、バッテリ100が充電中であることを示すことができる。ランタイム環境310は、例えば、各アプリケーションによって使用されているプロセッサ202の処理能力の割合や、各アプリケーションによって用いられているディスプレイ216、I/Oデバイス218及びネットワークインターフェイス220の割合といった情報を、バッテリ仮想化レイヤ402へ供給してよい。代替的に、バッテリ仮想化レイヤ402は、各VM316によって使用されるハードウェア資源の情報をランタイム環境310から受け取ってもよい。例えば、バッテリ仮想化レイヤ402は、各VM316によって用いられているプロセッサ202、ディスプレイ216、I/Oデバイス218及びネットワークインターフェイス220の能力の割合を特定する情報を受け取ることができる。受け取られた情報に基づき、バッテリ仮想化レイヤ402は、各アプリケーション312(又はVM316)のバッテリ利用の推定値を計算し得る。望まれる場合には、バッテリ仮想化レイヤ402は、規則的な間隔で各アプリケーション312(又はVM316)のバッテリ利用の更新された推定値を計算してもよい。このようなアプリケーションごと(又はVMごと)のバッテリ利用推定値は、次いで、バッテリ仮想化レイヤ402によって各仮想バッテリマネージャ404へ送られてよい。
いくつかの実施形態において、特定のアプリケーション312(又はVM316)についてのバッテリ利用推定値は、関連するVM316に関連付けられたvBM404へだけ送られればよい。バッテリ仮想化レイヤ402から受け取られたバッテリ利用推定値に基づき、vBM404は、そのvBMの仮想マシン316内で実行されるアプリケーション312の動作を制御し得る。例えば、あるVM316がインスタンス化されるとき、それのvBM404は特定の仮想容量を割り当てられてよい。その後の動作中に、vBM404は、割り当てられた仮想容量から、アプリケーション312によって使用されたエネルギを差し引いて、残りの仮想バッテリリザーブを計算するために、バッテリ仮想化レイヤ402からのバッテリ利用推定値を使用してよい。残りの仮想バッテリリザーブが所定の閾値に達するとき、又は何らかの所定の将来期間内に閾値を下回ると予測されるとき、vBM404は“低バッテリ”状態を検出し、VM316と相互作用して、VM316で実行されるアプリケーション312のバッテリ利用を制限し得る。例えば、vBM404は、VM316と相互作用して、VM316で実行されるアプリケーション312の部分的又は完全なシャットダウンを開始してもよい。他の例では、vBM404は、VM316と相互作用して、VM316で実行されるアプリケーション312によって、UE300のハードウェア資源302へのアクセスを制御してもよい。例えば、VM316は、RE310と相互作用して、VM316で実行されるアプリケーション312による使用に利用可能なプロセッサ202及びネットワークインターフェイス220の能力の割合を下げてよい。事実上、vBM404は、それのVM316にだけ関連付けられており、VM316のインスタンス化の時点でそれに割り当てられている物理バッテリ容量の量(又は割合)に対応する仮想容量を有している仮想バッテリ406の状態に基づき、VM316で実行されるアプリケーション312を制御するよう動作する。
明らかなように、本発明によって提供されるバッテリ仮想化は、多種多様な方法で使用されてよい。使用ケースの選ばれた4つの例が以下で提示される。
使用ケース1:アプリケーションの段階的なシャットダウン
上述されたように、物理バッテリ容量のうちの特定の量が、例えば、vBMの仮想マシン316がインスタンス化されるときに、vBM404へ割り当てられ得る。この割り当てられた物理バッテリ容量がvBMの仮想バッテリ406の仮想容量になり、vBM404は、その仮想バッテリ406に残っている仮想バッテリリザーブが所定の閾値に近づくか又はそれを下回る(若しくは下回ると予想される)場合に、VM316内で実行されているアプリケーション312のシャットダウンをトリガしてよい。この機能性は、ランタイム環境310内でインスタンス化されているVM316の全てにわたるアプリケーションの体系化された段階的シャットダウンをトリガするために使用されてよい。より具体的には、各仮想バッテリ406に割り当てられているバッテリ容量の各々の量に基づき、異なるVM内で実行されるアプリケーションは、異なる時点でシャットダウンされ得る。
例えば、所与のvBM404の特定の仮想容量は、VM316で実行されるアプリケーションによって必要とされる期待される電流引き出しに基づき、選択されてよい。例えば、所与の仮想バッテリ406に割り当てられるバッテリ容量は、各々のVM316でインスタンス化されているアプリケーション(又はアプリケーションのグループ)が、シャットダウン前の定義された期間(例えば、15分間)にバッテリ電力で実行し続けることを可能にするよう、計算されてよい。この状況は、バッテリ電力で期待された期間作動し続ける必要はないが、シャットダウンされる前にデータのセーブ又は通信セッションの終了にいくらかの時間を必要とするアプリケーションに関係があり得る。
他の例では、所与の仮想バッテリ406に割り当てられる仮想容量の量は、ユーザ入力に基づき選択されてもよい。例えば、ユーザは、特定のアプリケーションが可能な限り長くバッテリ電力で作動することを望む場合がある。代替的に、ユーザは、特定のアプリケーションを、物理バッテリ100の総容量のうちの定義された割合に制限することを望む場合がある。それらの選択肢のいずれもが、ユーザが各アプリケーション(又はアプリケーションのグループ)に割り当てたいと望むバッテリ100の総容量のうちの割合を示すパラメータを入力することをユーザに可能にするユーザインターフェイスを提供し、次いで、関連する仮想バッテリ406への仮想容量の割り当てを計算することによって、達成され得る。ユーザによって入力されるパラメータは、バッテリ容量の如何なる都合の良い単位であってもよい。例えば、ユーザによって入力されるパラメータは、バッテリ100の総容量のうちのパーセンテージであってよい。
使用ケース2:優先アプリケーションの保護
いくつかのアプリケーション312は、高優先であると見なされることがあり、故に、可能な限り長く電力を供給されるべきである。例えば、緊急サービス(例えば、911呼び出し、等)の提供に関連付けられたアプリケーション312は、それらのアプリケーションが可能な限り長く動作状態に保たれるべきであるということで、高い優先度を割り当てられてよい。これは、バッテリ100の総容量のうちの比較的多くの割合を、関連する仮想バッテリ406の仮想容量へ割り当てることによって、達成され得る。
対照的に、いくつかのアプリケーションは、低優先であると見なされることがあり、故に、特に、より優先度が高いアプリケーションを維持するために、比較的短い期間バッテリ電力を供給されればよい。例えば、エンターテイメントサービス、例えばNetflix(登録商標)等の提供に関連付けられたアプリケーション312は、それらのアプリケーションが動作中に維持される必要がなく、幹線電力が再開されると直ちに再開可能であるということで、低い優先度を割り当てられてよい。これは、バッテリ100の総容量のうちの比較的少ない割合を、関連する仮想バッテリ406の仮想容量に割り当てることによって、達成され得る。
使用ケース3:バッテリ容量のサービスに基づく割り当て
上記の例1及び2は、アプリケーションごとのバッテリ容量の割り当てについて記載する。多くのネットワーク及びデータセンタサービスは、UE400で実行される1以上のアプリケーションに依存する。この場合に、所与のサービスに関連付けられた1以上のアプリケーションの組が、単一のVM316内でインスタンス化されてよい。上記のアプリケーションごとの例は、サービスにも適用されてよい。従って、サービスは、サービスのアプリケーションをホストするVM316に関連付けられた仮想バッテリ406に割り当てられる物理バッテリ容量の割合に基づき、制御された様態で、維持、シャットダウン、又は両方をされ得る。
使用ケース4:バッテリ容量のスライス固有割り当て
本開示のために、(例えば、1以上のネットワーク222内の)ネットワーク“スライス”が、何らかの任意の目的のためにグループにまとめられている1以上のベアラ(又はPDUセッション)の集合として定義される。この集合は、例えば、ビジネス局面(例えば、特定の仮想移動体通信事業者(MVNO))、クオリティ・オブ・サービス(QoS)要件(例えば、レイテンシ、最低データレート、優先順位付け、等)、トラフィックパラメータ(例えば、超高信頼低遅延通信(URLLC)、モバイル・ブロードバンド(MBB)、マシン・タイプ・コミュニケーション(MTC)、等)、又は使用ケース(例えば、マシン・ツー・マシン通信、モノのインターネット(IoT)、等)のような何らかの適切な基準に基づいてよい。
各ネットワークスライスと関連して各々のVM316をインスタンス化することによって、UEの及び他のネットワーク接続されたコンピュータデバイス(例えば、データセンタ、等)にスライシングの概念を拡張することが可能である。スライスに関連したPDUセッションをサポートするアプリケーションが次いで、そのVM内でインスタンス化される。結果として、上記のアプリケーションごと及びサービスごとの処理の例は、ネットワークスライスにも適用されてよい。従って、ネットワークスライスは、スライスのアプリケーションをホストするVM316に関連付けられた仮想バッテリ406に割り当てられる物理バッテリ容量の割合に基づき、制御された様態で、維持、シャットダウン、又は両方をされ得る。
例えば、いくつかのネットワーキング環境で、UEを中継器として使用して、第2UEがネットワークへ接続することを可能にすることが望ましい。そのような中継動作に関連したPDUセッションは、その目的のためにインスタンス化されるスライス内でグループ化されてよい。この場合に、VM316は、そのスライスについてインスタンス化され、中継動作をサポートするために使用される1以上のアプリケーションは、そのVM内で実行してよい。結果として、上記のアプリケーションごとの処理の例は、スライスにも適用されてよい。従って、スライスは、関連する仮想バッテリ406の仮想容量に基づき、制御された様態で、維持、シャットダウン、又は両方をされ得る。
他の例では、スライシングは、UEがネットワークへの1以上の接続を確立及び維持することを可能にするために使用されてよい。例えば、UEは、超高信頼低遅延通信(URLLC)のための第1接続と、モバイル・ブロードバンド(MBB)のための第2接続と、マシン・タイプ・コミュニケーション(MTC)のための第3接続とを確立してよい。これらの接続の夫々が独立して管理されることを可能にするために、各接続は、各々のスライスと、各スライスについてインスタンス化された各々のVM316とに関連付けられ得る。各VM316内で、1以上のアプリケーションは、関連するスライスのPDUセッションをサポートするよう各VM316においてインスタンス化されてよい。各VM/スライスの仮想バッテリ406に割り当てられる仮想容量は、各スライスの推定される利用に基づき計算されてよく、それにより、各スライスのPDUセッションは、物理バッテリ100の容量がスライスのいずれか1つによって独占されないことを確かにしながら適切にサポートされ得る。
明らかなように、本発明に従うバッテリ仮想化は、優先度が高いアプリケーションがバッテリ電力で可能な限り長くサポートされることを可能にすることによって、優先度が低いアプリケーションの早期のシャットダウンと、物理バッテリ100が枯渇した(すなわち、完全放電された)場合における全てのアプリケーションの体系化されたシャットダウンとをトリガすることによって、UE400の動作を改善する(あるいは、同等に、技術的効果を提供する。)。
上記の例では、(各)仮想バッテリ406の仮想容量は、起動時(すなわち、対応するVM316がインスタンス化されるとき)に割り当てられ、VM316に関連付けられたアプリケーション(又はアプリケーションのグループ)のランタイム中に変化しない。これは、ハード(又は固定)バッテリ容量割り当ての例である。しかし、バッテリ容量の割り当ては、それがランタイム中に調整され得る限りにおいて、動的であってよいことが理解されるだろう。例えば、3つのVM/スライスがURLLC、MBB及びMTC接続のPDUセッションを夫々ホストするためにインスタンス化される上記の使用ケースを考える。その使用ケースにおいて、各VM/スライスは、各々の仮想バッテリ406に関連付けられ、仮想バッテリ406の容量は、3つの接続タイプの夫々の期待される利用に基づき決定される。しかし、3つの接続タイプの夫々の実際の利用が、期待される利用とは実質的に異なる場合に、各仮想バッテリ406の当初割り当てられた容量は、各スライスの実際の電力要件を反映しないことになる。そのような場合に、バッテリ仮想化レイヤ402は、バッテリ利用が実際よりも実質的に高いか又は低い1以上のスライス(又はVM)を識別し、関連する仮想バッテリ406の夫々について、更新された仮想容量割り当てを計算してよい。例えば、十分に利用されていないスライスに関連付けられた仮想バッテリ406の仮想容量は、過度に利用されているスライスのような他のスライスに関連付けられた仮想バッテリ406の仮想容量を増大させるために、低減されてよい。また、いくつかの実施形態において、UE400の異なるスライスは、UE400の異なる資源へのアクセスを提供され得ることが理解されるべきである。1つのそのような例で、MTCサービスに関連するスライスは、UE400の利用可能なアンテナの限られた組へのアクセスを提供されてよく、あるいは、特定のタイプのネットワークインターフェイスのみにアクセスする(例えば、WiFiインターフェイス又はブルートゥースインターフェイスのような資源へのアクセスを提供するのではなく、無線アクセスネットワーク(RAN)に基づくデータ接続にのみアクセスする)能力を有してもよい。いくつかのシナリオにおいて、MTCサービスに、又はUEに基づく中継サービスのようなキャリアサービスに関連するスライスは、ディスプレイへのアクセスを提供されなくてもよい。ディスプレイへのアクセスを制限することによって、スライスに関連した電力消費は大いに低減され得る。いくつかの実施形態において、UEに基づく中継サービスのMTCサービスに関連したスライスは、それが関連付けられている仮想バッテリを使い果たさないことがあり、一方、MBB又はeMBBサービスに関連した仮想バッテリは、使い果たされる可能性がある。そのような場合に、ユーザの観点から、UE400は使用できない場合があるが、UE400は、自身の仮想バッテリを使い果たしていない他のスライスにサービスを提供するよう、(いくつかの実施形態では、ディスプレイと相互作用することなしに)動作し続けることができる。入力及び出力デバイス(例えば、タッチスクリーン入力、スピーカ、マイクロホン、等)のような他の資源は、全てのスライスが利用できない可能性がある他のUE資源であってよいことが更に理解されるべきである。
上記の例において、バッテリ仮想化は、スマートフォン又はタブレットPCのようなユーザ装置(UE)400の形をとる電子デバイスとの関連で記載される。図5は、ネットワークサーバ、データセンタ、又はモバイル・エッジ・コンピューティング・サーバのようなサーバでバッテリ仮想化が実装される代替の実施形態を表す。
図5は、本発明の代表的な実施形態に従うバッテリ仮想化を実装する代表的なサーバ500のアーキテクチャを概略的に表すブロック図である。サーバ500は、ローカルネットワーク又はクラスタを形成するよう一緒に相互接続され、その意図された機能を実行するよう適切なソフトウェアを実行する1以上のコンピュータ、記憶デバイス及びルータ(そのうちのいずれか又は全てが、図2を参照して上述されたシステム200に従って構成され得る。)として物理的に実装されてよいと考えられている。当業者は、本発明のために使用され得るハードウェア及びソフトウェアの多数の適切な組み合わせがあることを認識するだろう。それらのハードウェア及びソフトウェアは、当該技術で知られているか、あるいは、将来開発され得るかのいずれかである。この理由により、物理サーバハードウェアを示す図は、本明細書に含まれない。むしろ、図5のブロック図は、サーバ500の代表的な機能アーキテクチャを示し、この機能アーキテクチャは、ハードウェア及びソフトウェアの任意の適切な組み合わせを用いて実装され得ることが理解される。
図5から分かるように、表されているサーバ500は、一般に、ホスティングインフラストラクチャ502と、アプリケーションプラットフォーム504とを有する。ホスティングインフラストラクチャ502は、サーバ500の物理ハードウェア資源506(例えば、情報処理資源、トラフィック転送資源、及びデータ記憶資源、等)と、ハードウェア資源506の抽象概念をアプリケーションプラットフォーム504に与える仮想化レイヤ508とを有する。この抽象概念の具体的な詳細は、アプリケーションレイヤによってホストされているアプリケーションの要件に依存する(後述)。よって、例えば、トラフィック転送機能を提供するアプリケーションは、1以上のルータでのトラフィック転送ポリシーの実装を簡単にするハードウェア資源506の抽象概念を与えられ得る。同様に、データ記憶機能を提供するアプリケーションは、(例えば、ライトウェイト・ディレクトリ・アクセス・プロトコル−LDAPを用いて)データの記憶及び取り出しを助けるハードウェア資源506の抽象概念を与えられ得る。
アプリケーションプラットフォーム504は、仮想化マネージャ510及びアプリケーションプラットフォームサービス512を含み、アプリケーションをホストする能力を提供する。仮想化マネージャ510は、インフラストラクチャ・アズ・ア・サービス(IaaS)設備を提供することによってアプリケーション514のための柔軟且つ効率的なマルチテナンシ・ランタイム及びホスティング環境をサポートする。動作中、仮想化マネージャ510は、プラットフォーム504によってホストされている各アプリケーションのための安全性及び資源“サンドボックス”を提供し得る。各“サンドボックス”は、適切なオペレーティング・システムを含むことができる仮想マシン(VM)516として実装され、サーバ500の(仮想化された)ハードウェア資源506へのアクセスを制御され得る。アプリケーションプラットフォームサービス512は、以下で更に詳細に記載されるように、アプリケーションプラットフォーム504でホストされるアプリケーション514へミドルウェアアプリケーションサービス及びインフラストラクチャサービスの組を提供する。
ベンダー、サービスプロバイダ、及びサードパーティからのアプリケーション514は、各々の仮想マシン516内で開発及び実行されてよい。例えば、マネージメント・アンド・オーケストレーション(MANO)及びサービス指向ネットワーク自動生成(SONAC)、並びにソフトウェア定義トポロジ(SDT)、ソフトウェア定義プロトコル(SDP)、及びソフトウェア定義資源割り当て(SDRA)のようなその様々な機能は、上述されたように、アプリケーションプラットフォーム504でホストされている1以上のアプリケーション514を用いて実装されてよい。サーバ500におけるアプリケーション514とサービスとの間の通信は、当該技術で知られているサービス指向アーキテクチャ(SOA)の原理に従って都合良く設計され得る。
通信サービス518は、単一のサーバ500でホストされるアプリケーション514がアプリケーションプラットフォームサービス512と(例えば、事前に定義されたアプリケーション・プログラミング・サービス(API)を通じて)及びお互いと(例えば、サービス固有APIを通じて)通信することを可能にし得る。
サービスレジストリ520は、サーバ500で利用可能なサービスの可視性を提供し得る。加えて、サービスレジストリ520は、サービス利用可能性(例えば、サービスの状態)を、関係のあるインターフェイス及びバージョンとともに提示してもよい。これは、アプリケーションによって、それらが必要とするサービスについてエンドポイントを発見し位置を突き止めるために、且つ、他のアプリケーションが使用するためにそれら自身のサービスエンドポイントを公開するために、使用されてよい。
モバイル・エッジ・コンピューティングは、クラウドアプリケーションサービスがモバイルネットワーク要素と一緒にホストされること可能にし、利用可能な実時間のネットワーク及び無線情報の活用も促進する。ネットワーク情報サービス(NIS)522は、低レベルのネットワーク情報をアプリケーション514に供給してよい。例えば、NIS522によって供給される情報は、セルID、加入者の位置、セル負荷及びスループットガイダンスのような高レベル且つ有意味なデータを計算及び提示するためにアプリケーション514によって使用されてよい。
トラフィック・オフロード・ファンクション(TOF)サービス524は、トラフィックに優先順位を付け、アプリケーション514との間で、選択された、ポリシーに基づくユーザデータストリームを転送してよい。TOFサービス524は、(アップリンク又はダウンリンクのいずれか一方の)トラフィックが、それをモニタ、変更、又は成形して元のパケット・データ・ネットワーク(PDN)接続(例えば、3GPPベアラ)へ返送することができるアプリケーション514へ送られるパススルーモードと、トラフィックが、サーバとして働くアプリケーション514によって終端されるエンドポイントモードとを含む様々な方法で、アプリケーション514へ供給されてよい。
ネットワークサーバ、データセンタ、又はモバイル・エッジ・コンピューティング・サーバのようなサーバ500との関連で、通常動作のための電力は、幹線電源から供給され、物理バッテリ100は、幹線電力の供給停止時に緊急電源として使用される。そのような場合に、バッテリ100は、複数の電気化学電池、燃料電池、発電機、又はそれらの組み合わせとして設けられてよい。
本発明によれば、上述されたサーバ500の機能アーキテクチャは、サーバ500でホストされるアプリケーション514へ仮想化されたバッテリ機能性を提供するよう拡張され得る。図5から分かるように、仮想化レイヤ508は、バッテリ仮想化レイヤ402の機能性を包含し、故に、物理バッテリ100の抽象概念をアプリケーションプラットフォーム504に提示するよう拡張され得る。この抽象概念の具体的な詳細は、アプリケーションプラットフォーム504によってホストされているアプリケーション514の具体的な要件に依存し得るが、一般的には、各VM516について各々の仮想バッテリのインスタンス化及び管理を促進するよう設計される。
明らかなように、サーバ500内の仮想化マネージャ510の役割は、仮想化マネージャ510がアプリケーション514のための柔軟且つ効率的なマルチテナンシ・ランタイム及びホスティング環境をサポートする点で、UE300のランタイム環境310のそれとほぼ同じである。動作中、仮想化マネージャ510は、プラットフォーム504によってホストされている各アプリケーションのための安全性及び資源“サンドボックス”を提供し得る。各“サンドボックス”は、適切なオペレーティング・システムを含むことができる仮想マシン(VM)516として実装され、サーバ500の(仮想化された)ハードウェア資源506へのアクセスを制御され得る。本発明によれば、この機能性は、各VM516について各々の仮想バッテリを実装し、それによって(仮想化された)バッテリ100へのアクセスを提供するよう拡張され得る。同様に、アプリケーションプラットフォームサービス512は、アプリケーションプラットフォーム504でホストされるアプリケーション514へミドルウェアインフラストラクチャとして仮想バッテリマネージャ(vBM)機能526を提供するよう拡張され得る。
図5の配置によれば、アプリケーションプラットフォーム504は、(例えば、1以上のアプリケーション514に関して無停電電源を実装するための)バッテリ容量へのアクセスが、顧客に課金されることがあるアプリケーションプラットフォーム504のサービスとして提供され得るバッテリ・アズ・ア・サービス(BaaS)を含むよう、インフラストラクチャ・アズ・ア・サービス(IaaS)の概念を拡張し得る。
上記の説明において、本発明の例となる実施形態は、バッテリ100に保持されているエネルギが使い果たされている状況を参照して記載されてきた。上述されたように、この条件は、バッテリ100から引き出される全電流の正値によって示され得る。対照的に、バッテリ100に保持されているエネルギが増大している状況は、バッテリ100から引き出される全電流の負値によって示され得る。バッテリ100が充電中であるとき、バッテリマネージャ318は、各vBM404と相互作用して、各仮想バッテリ406の各々の仮想バッテリリザーブを、その仮想バッテリ406に割り当てられている総仮想容量まで増大させ得る。望まれる場合には、各仮想バッテリ406の各々の仮想バッテリリザーブは、全てのVM316にわたって等しく、又はそれらの仮想容量に比例して増大し得る。これは、物理バッテリ100に保持されている再充電エネルギの公平な共有を意味する。代替的に、各仮想バッテリ406の各々の仮想バッテリリザーブは、定義された順序で増大してもよい。例えば、優先度が高いVM316(又は優先度が高いアプリケーション312)に関連付けられた仮想バッテリ406の各々の仮想バッテリリザーブが最初に増大され得る。そのような場合に、優先度が低いVM316(又は優先度が低いアプリケーション312)に関連付けされた仮想バッテリ406の各々の仮想バッテリリザーブは、優先度が高い仮想バッテリ406が十分な容量になるまで増大され得ない。
本発明は具体的な特徴及びそれらの実施形態を参照して記載されてきたが、様々な変更及び組み合わせが、本発明から外れることなしにそれらに対して行われ得ることは、明らかである。明細書及び図面は、従って、添付の特許請求の範囲によって定義される本発明の実例と単に見なされるべきであり、本発明の適用範囲内に入るありとあらゆる変更、変形、組み合わせ又は同等物も網羅すると考えられている。
関連出願の相互参照
本願は、“Battery Virtualization”と題されて、2017年4月24日付けで出願された米国特許出願第15/495096号に基づく優先権の利益を主張する。なお、優先権と基礎とされた特許出願の内容は、参照により本願に援用される。

Claims (15)

  1. 物理バッテリと、アプリケーションの少なくとも1グループとを含むコンピュータデバイスを制御する方法であって、アプリケーションの各グループが、前記コンピュータデバイスのハードウェア資源で実行可能な1以上のアプリケーションを含む、前記方法において、
    アプリケーションの各グループが実行される仮想マシンを、前記コンピュータデバイスが接続されているネットワーク内の各ネットワークスライスと関連付けてインスタンス化することであり、各仮想マシンが各々の仮想バッテリと関連付けられる、ことと、
    アプリケーションの各グループを、アプリケーションの当該グループが実行されるインスタンス化された仮想マシンに関連付けられた仮想バッテリの状態に基づき制御することと
    を有し、
    前記仮想バッテリは、前記物理バッテリの容量の定義された部分に対応する仮想容量と、前記仮想バッテリに関連付けられた前記アプリケーションのグループによる使用に利用可能であるエネルギの量を表す仮想バッテリリザーブとを有し、
    前記仮想バッテリの前記仮想容量は、関連する仮想マシンがインスタンス化されるときに割り当てられ、前記インスタンス化された関連する仮想マシンにおいて実行されるアプリケーションのグループのランタイム中に動的に更新され
    各々の仮想バッテリの状態に基づきアプリケーションの各グループを制御することは、
    特定の仮想バッテリの低バッテリ状態を検出し、該低バッテリ状態の検出に応答して、
    前記特定の仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションをシャットダウンすること、及び
    前記特定の仮想バッテリに関連付けられた前記アプリケーションの各々のグループの1以上のアプリケーションによって、前記コンピュータデバイスのハードウェア資源へのアクセスを制限すること
    のうちのいずれか1つ以上を実行することを有し、
    前記特定の仮想バッテリの低バッテリ状態を検出することは、前記特定の仮想バッテリの仮想バッテリリザーブが定義された将来の期間内に所定の閾値を下回ると予測されることを検出することを有する
    方法。
  2. アプリケーションの各グループに関連付けられた仮想バッテリマネージャをインスタンス化することを更に有し、
    前記仮想バッテリマネージャは、各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される、
    請求項1に記載の方法。
  3. 各仮想マシンは、各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される仮想バッテリマネージャに関連付けられる、
    請求項1に記載の方法。
  4. 所与の仮想バッテリの仮想容量は、
    アプリケーションの各々のグループの推定されるバッテリ利用、
    前記アプリケーションの各々のグループの優先度、及び
    ユーザ入力
    のうちのいずれか1つ以上に基づき計算される、
    請求項1乃至3のうちいずれか一項に記載の方法。
  5. 前記更新された仮想容量は、前記アプリケーションの各々のグループの実際のバッテリ利用に基づき計算される、
    請求項1乃至4のうちいずれか一項に記載の方法。
  6. 前記低バッテリ状態を検出することは、
    前記アプリケーションの各々のグループのバッテリ利用の推定値を計算することと、
    前記バッテリ利用の前記計算された推定値に基づき前記特定の仮想バッテリの各々の仮想バッテリリザーブの値を減少させることと
    を有する、
    請求項1乃至5のうちいずれか一項に記載の方法。
  7. 特定の仮想バッテリの状態を検出することは、前記物理バッテリで現在保持されているエネルギが増大しているときに、前記特定の仮想バッテリの仮想バッテリリザーブを増大させることを更に有する、
    請求項に記載の方法。
  8. 前記特定の仮想バッテリの前記仮想バッテリリザーブを増大させることは、
    前記物理バッテリで現在保持されているエネルギが増大しているレート、
    前記特定の仮想バッテリの仮想容量、
    前記特定の仮想バッテリに関連付けられた前記アプリケーションの各々のグループの優先度、及び
    ユーザ入力
    のうちのいずれか1つ以上に基づく、
    請求項に記載の方法。
  9. コンピュータデバイスであって、
    定義されたバッテリ容量を有する物理バッテリと、
    メモリ及びプロセッサを有するハードウェア資源と、
    前記メモリ内にあるアプリケーションの少なくとも1グループであり、アプリケーションの各グループが、前記ハードウェア資源で実行可能な1以上のアプリケーションを含み、アプリケーションの各グループは、当該コンピュータデバイスが接続されているネットワーク内の各ネットワークスライスと関連付けてインスタンス化された各々の仮想マシンにおいて実行される、前記アプリケーションの少なくとも1グループと、
    前記メモリ内にあり、前記ハードウェア資源において前記プロセッサによってインスタンス化されるとき、アプリケーションの各グループが実行される各々のインスタンス化された仮想マシンに関連付けられた各々の仮想バッテリの状態に基づきアプリケーションの各グループを制御するよう構成される仮想バッテリマネージャであり、各仮想バッテリが、前記物理バッテリの容量の定義された部分に対応する各々の仮想容量と、当該仮想バッテリに関連付けられた前記アプリケーションのグループによる使用のために利用可能であるエネルギの量を表す各々の仮想バッテリリザーブとを有する、前記仮想バッテリマネージャと
    を有し、
    前記仮想バッテリの前記仮想容量は、関連する仮想マシンがインスタンス化されるときに割り当てられ、前記インスタンス化された関連する仮想マシンにおいて実行されるアプリケーションのグループのランタイム中に動的に更新され
    前記仮想バッテリマネージャは、
    前記各々の仮想バッテリの低バッテリ状態を検出し、該低バッテリ状態の検出に応答して、
    当該仮想バッテリに関連付けられたアプリケーションの各々のグループの1以上のアプリケーションをシャットダウンすること、及び
    当該仮想バッテリに関連付けられた前記アプリケーションの各々のグループの1以上のアプリケーションによって、前記ハードウェア資源へのアクセスを制限すること
    のうちのいずれか1つ以上を実行することによって、アプリケーションの各グループを制御するよう構成され、
    前記各々の仮想バッテリの低バッテリ状態を検出することは、前記各々の仮想バッテリの仮想バッテリリザーブが定義された将来の期間内に所定の閾値を下回ると予測されることを検出することを有する
    コンピュータデバイス。
  10. 各仮想マシンは、前記各々の仮想バッテリの状態に基づきアプリケーションの各々のグループを制御するよう構成される仮想バッテリマネージャに関連付けられる、
    請求項に記載のコンピュータデバイス。
  11. 所与の仮想バッテリの仮想容量は、
    アプリケーションの各々のグループの推定されるバッテリ利用、
    前記アプリケーションの各々のグループの優先度、及び
    ユーザ入力
    のうちのいずれか1つ以上に基づき計算される、
    請求項又は10に記載のコンピュータデバイス。
  12. 前記低バッテリ状態を検出することは、
    アプリケーションの各々のグループのバッテリ利用の推定値を計算することと、
    前記バッテリ利用の前記計算された推定値に基づき当該仮想バッテリの前記各々の仮想バッテリリザーブの値を減少させることと
    を有する、
    請求項9乃至11のうちいずれか一項に記載のコンピュータデバイス。
  13. 前記各々の仮想バッテリの状態を検出することは、前記物理バッテリで現在保持されているエネルギが増大しているときに、前記各々の仮想バッテリの仮想バッテリリザーブを増大させることを更に有する、
    請求項12に記載のコンピュータデバイス。
  14. 前記各々の仮想バッテリの仮想バッテリリザーブを増大させることは、
    前記物理バッテリで現在保持されているエネルギが増大しているレート、
    前記各々の仮想バッテリの仮想容量、
    前記各々の仮想バッテリに関連付けられたアプリケーションの各々のグループの優先度、及び
    ユーザ入力
    のうちのいずれか1つ以上に基づく、
    請求項13に記載のコンピュータデバイス。
  15. 前記コンピュータデバイスは、ユーザ装置である、
    請求項乃至14のうちいずれか一項に記載のコンピュータデバイス。
JP2020507736A 2017-04-24 2018-04-24 バッテリ仮想化 Active JP6924895B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/495,096 2017-04-24
US15/495,096 US10459505B2 (en) 2017-04-24 2017-04-24 Battery virtualization
PCT/CN2018/084289 WO2018196754A1 (en) 2017-04-24 2018-04-24 Battery virtualization

Publications (2)

Publication Number Publication Date
JP2020520527A JP2020520527A (ja) 2020-07-09
JP6924895B2 true JP6924895B2 (ja) 2021-08-25

Family

ID=63853899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020507736A Active JP6924895B2 (ja) 2017-04-24 2018-04-24 バッテリ仮想化

Country Status (6)

Country Link
US (1) US10459505B2 (ja)
EP (1) EP3602239B1 (ja)
JP (1) JP6924895B2 (ja)
CN (1) CN110546591B (ja)
BR (1) BR112019022241A2 (ja)
WO (1) WO2018196754A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271766B2 (en) * 2017-06-13 2022-03-08 SynCells, Inc. Energy virtualization layer with a universal smart gateway
US11394573B2 (en) * 2017-06-13 2022-07-19 SynCells, Inc. Energy virtualization layer with a universal smart gateway
US11003516B2 (en) * 2017-07-24 2021-05-11 At&T Intellectual Property I, L.P. Geographical redundancy and dynamic scaling for virtual network functions
US20190260853A1 (en) * 2018-02-20 2019-08-22 Citrix Systems, Inc. Systems and methods for energy efficient remote access protocol
WO2021150214A1 (en) * 2020-01-22 2021-07-29 Hewlett-Packard Development Company, L.P. Computing devices with battery reserve modes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5157717B2 (ja) * 2008-07-28 2013-03-06 富士通株式会社 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム
EP2823373B1 (en) * 2012-03-08 2019-07-17 Hewlett-Packard Development Company, L.P. Virtualizing battery across a group of personal mobile devices
WO2013168293A1 (ja) * 2012-05-11 2013-11-14 富士通株式会社 情報処理装置、電池残量通知方法および電池残量通知プログラム
KR101379835B1 (ko) * 2012-11-28 2014-04-02 성균관대학교산학협력단 가상 머신에 가상 배터리를 제공하는 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US9980171B2 (en) * 2013-03-14 2018-05-22 Liveu Ltd. Apparatus for cooperating with a mobile device
KR102182319B1 (ko) * 2013-06-05 2020-11-25 삼성전자주식회사 전자 기기 및 전자 기기에서 배터리 정보 제공 방법
CN103685759B (zh) 2013-12-24 2015-05-20 华中科技大学 用于手机虚拟化的虚拟电池管理方法
US9665157B2 (en) * 2014-04-15 2017-05-30 Qualcomm Incorporated System and method for deferring power consumption by post-processing sensor data
US9939868B2 (en) * 2014-05-12 2018-04-10 Gary Stephen Shuster Device power and resource management
US9733688B2 (en) * 2014-09-05 2017-08-15 Mediatek Inc. Virtual battery management in electronic device
CN104580481A (zh) * 2015-01-16 2015-04-29 河南机电高等专科学校 一种具有高运算性能的云计算设备
US9880611B2 (en) * 2015-08-31 2018-01-30 Google Llc Energy saving mode for electronic devices
CN106572516B (zh) 2016-09-28 2021-02-12 华为技术有限公司 一种网络切片选择方法、终端设备及网络设备

Also Published As

Publication number Publication date
EP3602239A1 (en) 2020-02-05
WO2018196754A1 (en) 2018-11-01
BR112019022241A2 (pt) 2020-05-19
JP2020520527A (ja) 2020-07-09
EP3602239B1 (en) 2023-06-28
US20180307292A1 (en) 2018-10-25
CN110546591A (zh) 2019-12-06
EP3602239A4 (en) 2020-04-08
US10459505B2 (en) 2019-10-29
CN110546591B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
JP6924895B2 (ja) バッテリ仮想化
US11051183B2 (en) Service provision steps using slices and associated definitions
EP3527017B1 (en) Creation and modification of shareable slice instances
US11201783B2 (en) Analyzing and configuring workload distribution in slice-based networks to optimize network performance
WO2019007360A1 (en) METHODS AND SYSTEMS FOR CUTTING NETWORK IN SLICKS
US20200225724A1 (en) Platform slicing of central processing unit (cpu) resources
CN105335229B (zh) 一种业务资源的调度方法和装置
WO2015057525A1 (en) Accelerated instantiation of cloud resource
CN112867050A (zh) 一种upf网元管理方法及系统
EP3414952B1 (en) Power-aware network communication
WO2015133126A1 (ja) サーバ、制御装置、管理装置、通信システム、通信方法、制御方法、管理方法およびプログラム
EP4416910A1 (en) Efficiency of routing traffic to an edge compute server at the far edge of a cellular network
EP3345096B1 (en) Method and apparatus for adaptive cache management
US20220408353A1 (en) User plane function selection and hosting for real-time applications
US11792692B2 (en) Personalized data throttling in a residential wireless network
WO2023057794A1 (en) Method for aligning quality of service in mobile network and edge cloud
WO2024004177A1 (ja) 複数のクラウドにより形成されるクラウドグループ内でのリソース共有
Magurawalage et al. A resource management protocol for mobile cloud using auto-scaling
WO2023152980A1 (ja) リソース共有システム
Choudhury et al. Intelligent agent support for achieving low latency in cloud-native nextg mobile core networks
JP6921795B2 (ja) 移動通信ネットワーク及び管理装置
Chabbouh et al. Service scheduling scheme based load balancing for 5G/HetNets Cloud RAN
WO2024184686A1 (en) Managing resource usage in a radio access network
GB2601509A (en) Computer orchestration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210628

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210802

R150 Certificate of patent or registration of utility model

Ref document number: 6924895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250