JP4608580B2 - ソフトウェア・モジュールを実行する方法及び計算システム - Google Patents
ソフトウェア・モジュールを実行する方法及び計算システム Download PDFInfo
- Publication number
- JP4608580B2 JP4608580B2 JP2009007212A JP2009007212A JP4608580B2 JP 4608580 B2 JP4608580 B2 JP 4608580B2 JP 2009007212 A JP2009007212 A JP 2009007212A JP 2009007212 A JP2009007212 A JP 2009007212A JP 4608580 B2 JP4608580 B2 JP 4608580B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- software module
- stored
- computer
- import table
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
図1は、リードオンリーのアプリケーションを、本発明の種々の実施形態にしたがってランタイムで更新するようになった、リソース制限形コンピュータの図である。本発明は、パーソナル・コンピュータのようなコンピュータが実行する、プログラム・モジュールのようなコンピュータ実行可能命令の一般的なコンテキストで説明する。一般に、プログラム・モジュールは、特定のタスクを実行しまたは特定の抽象的なデータ・タイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。
システム・レベルのオーバービュー
図3は、リード・オンリー・メモリ(ROM)44の1実施形態を示しており、これは、ソフトウェア・アプリケーション56と共有ライブラリ135を中に格納している。リード・オンリー・メモリ(ROM)44は、リードオンリーの任意のメモリアドレス可能のデバイス、あるいはフラッシュメモリ、フラッシュメモリ・カード等のようなブロック書き込みのみをサポートする任意のデバイスとすることができる。
前のセクションでは、本発明の例示的実施形態の動作のシステム・レベルのオーバービューを記述した。このセクションでは、この例示的実施形態が実行する特定の方法を、フローチャートを参照して説明する。本実施形態が実行すべき方法は、コンピュータ実行可能の命令から成るコンピュータ・プログラムを構成する。この方法をフローチャートを参照して説明すれば、当業者であれば、そのような命令を含むプログラムを開発して、本方法を適当なコンピュータ上でコンピュータ読み取り可能媒体から実施することができる。
コンピュータのリードオンリー・デバイスに格納したソフトウェア・モジュールを更新するための種々の実施形態について説明した。本発明は、ユーザが、ROMベースのソフトウェア・モジュールが使用するソフトウェア・モジュールの新たなバージョンのインストールを、ユーザによる新たなROMのインストールを必要とせずに行うことができることとする機構を提供する。本発明により、1次的にリードオンリー・デバイスから実行する一方で、小さな部分のみを更新しそしてリード/ライト・デバイスから実行することが有利にできるようになる。ソフトウェア・モジュールは、スタンドアロンのソフトウェア・アプリケーションであったり共有のソフトウェア・ライブラリとすることができる。
Claims (8)
- 仮想メモリ・システムを含むオペレーティング・システムを備えたコンピュータ上でソフトウェア・モジュールを実行する方法であって、前記コンピュータは、リードオンリー・デバイスとリード/ライト・デバイスを含み、前記リードオンリー・デバイスはフラッシュメモリであり、前記方法が、前記コンピュータの前記リードオンリー・デバイスに格納された第1のソフトウェア・モジュールを実行するとき、
前記第1のソフトウェア・モジュールに含まれるインポート・テーブルを前記オペレーティング・システムが調べて、前記第1のソフトウェア・モジュールが参照する前記リードオンリー・デバイスに格納された少なくとも1つの第2のソフトウェア・モジュールを識別するステップであって、前記インポート・テーブルは、前記少なくとも1つの第2のソフトウェア・モジュールに対する参照を少なくともリストしている、前記のステップと、
各前記第2ソフトウェア・モジュールが前記リードオンリー・デバイスに格納された更新されたバージョンを有するかどうかを、前記オペレーティング・システムが、前記リードオンリー・デバイスが各前記第2ソフトウェア・モジュールと同じネームのソフトウェア・モジュールを格納しているかどうかを判定することによってチェックするステップと、
各前記第2ソフトウェア・モジュールが前記更新されたバージョンを有する場合、前記第1ソフトウェア・モジュールの前記インポート・テーブルを、前記コンピュータの前記リード/ライト・デバイスに前記オペレーティング・システムがコピーするステップと、
前記リード/ライト・デバイス内のコピーした前記インポート・テーブルにおける各前記第2ソフトウェア・モジュールに対する参照を、前記更新されたバージョンを参照するように前記オペレーティング・システムが変更して変更されたインポート・テーブルを生成するステップと、
前記少なくとも1つの第2のソフトウェア・モジュールが更新されたバージョンを有する場合、前記リードオンリー・デバイス及び前記リード/ライト・デバイスに対し仮想メモリを前記仮想メモリ・システムが割り当てるステップであって、前記仮想メモリを、前記リード/ライト・デバイスに格納された前記第1ソフトウェア・モジュールの前記変更されたインポート・テーブルと、前記リードオンリー・デバイスに格納された前記第1ソフトウェア・モジュールの残りとに割り当てることを含む、前記のステップと、
を備えたソフトウェア・モジュール実行方法。 - 請求項1記載の方法において、前記リード/ライト・デバイスはランダム・アクセス・メモリを含む、を特徴とするソフトウェア・モジュール実行方法。
- 請求項1記載の方法において、前記コピーするステップは、前記リードオンリー・デバイスからの少なくとも1つの物理メモリ・ページを、前記リード/ライト・デバイスの物理メモリ・ページにコピーすることを含むこと、を特徴とするソフトウェア・モジュール実行方法。
- コンピュータが実行可能の命令を有するコンピュータ読み取り可能媒体であって、前記コンピュータが、リードオンリー・デバイスとリード/ライト・デバイスを含み、前記リードオンリー・デバイスはフラッシュメモリであり、前記命令が、前記コンピュータに、該コンピュータの前記リードオンリー・デバイスに格納された第1のソフトウェア・モジュールを実行するとき、
前記第1ソフトウェア・モジュールに含まれるインポート・テーブルを調べて、前記第1ソフトウェア・モジュールが参照する前記リードオンリー・デバイスに格納された少なくとも1つの第2のソフトウェア・モジュールを識別するステップであって、前記インポート・テーブルは、前記少なくとも1つの第2のソフトウェア・モジュールに対する参照を少なくともリストしている、前記のステップと、
各前記第2ソフトウェア・モジュールが前記リードオンリー・デバイスに格納された更新されたバージョンを有するかどうかを、前記リードオンリー・デバイスが各前記第2ソフトウェア・モジュールと同じネームのソフトウェア・モジュールを格納しているかどうかを判定することによってチェックするステップと、
各前記第2ソフトウェア・モジュールが前記更新されたバージョンを有する場合、前記第1ソフトウェア・モジュールの前記インポート・テーブルを、前記コンピュータの前記リード/ライト・デバイスにコピーするステップと、
前記リード/ライト・デバイス内のコピーした前記インポート・テーブルにおける各前記第2ソフトウェア・モジュールに対する参照を、前記更新されたバージョンを参照するように変更して変更されたインポート・テーブルを生成するステップと、
前記少なくとも1つの第2のソフトウェア・モジュールが更新されたバージョンを有する場合、前記リードオンリー・デバイス及び前記リード/ライト・デバイスに対し仮想メモリを割り当てるステップであって、前記仮想メモリを、前記リード/ライト・デバイスに格納された前記第1ソフトウェア・モジュールの前記変更されたインポート・テーブルと、前記リードオンリー・デバイスに格納された前記第1ソフトウェア・モジュールの残りとに割り当てることを含む、前記のステップと、
を備えた方法を実行させるコンピュータ読み取り可能媒体。 - 仮想メモリ・システムを含むオペレーティング・システムを備えた計算システムであって、
第1のソフトウェア・モジュールと、該第1ソフトウェア・モジュールが参照する少なくとも1つの第2のソフトウェア・モジュールとを収容するリードオンリー・デバイスであって、該リードオンリー・デバイスはフラッシュメモリであり、前記第1のソフトウェア・モジュールはインポート・テーブルを含み、前記インポート・テーブルは、該リードオンリー・デバイスに格納された前記少なくとも1つの第2のソフトウェア・モジュールに対する参照を少なくともリストしている、前記のリードオンリー・デバイスと、
インポート・テーブルを収容するリード/ライト・デバイスであって、該リード/ライト・デバイスに収容された前記インポート・テーブルは、前記リードオンリー・デバイスに収容された前記第1のソフトウェア・モジュールの前記インポート・テーブルをコピーすることによって格納されたものであって、前記少なくとも1つの第2ソフトウェア・モジュールの更新されたバージョンを参照するように変更された参照をリストしており、前記少なくとも1つの第2のソフトウェア・モジュールの前記更新されたバージョンは前記リードオンリー・デバイスに格納されており、前記更新されたバージョンは、前記リードオンリー・デバイスが各前記第2ソフトウェア・モジュールと同じネームのソフトウェア・モジュールを格納しているかどうかを判定することによって識別する、前記のリード/ライト・デバイスと、
を備え、
前記少なくとも1つの第2のソフトウェア・モジュールが更新されたバージョンを有する場合、前記仮想メモリ・システムは、前記リードオンリー・デバイス及び前記リード/ライト・デバイスに対し仮想メモリを割り当て、該割り当てが、前記仮想メモリを、前記リード/ライト・デバイスに格納された前記第1ソフトウェア・モジュールの前記インポート・テーブルと、前記リードオンリー・デバイスに格納された前記第1ソフトウェア・モジュールの残りとに割り当てることを含む、
計算システム。 - 請求項5記載のシステムにおいて、前記リードオンリー・デバイスはリード・オンリー・メモリであり、前記リード/ライト・デバイスはランダム・アクセス・メモリであること、を特徴とする計算システム。
- 請求項5記載のシステムにおいて、さらに、前記オペレーティング・システムは、前記リードオンリー・デバイスからの少なくとも1つの物理メモリ・ページを、前記リード/ライト・デバイスの物理メモリ・ページにコピーすること、を特徴とする計算システム。
- 請求項5記載の計算システムであって、該計算システムは、ハンドヘルド・パーソナル・コンピュータである、計算システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/261,686 US6637023B1 (en) | 1999-03-03 | 1999-03-03 | Method and system for updating read-only software modules |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000602926A Division JP2002538547A (ja) | 1999-03-03 | 2000-03-03 | リードオンリー・ソフトウェア・モジュールの更新 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009140512A JP2009140512A (ja) | 2009-06-25 |
JP4608580B2 true JP4608580B2 (ja) | 2011-01-12 |
Family
ID=22994416
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000602926A Pending JP2002538547A (ja) | 1999-03-03 | 2000-03-03 | リードオンリー・ソフトウェア・モジュールの更新 |
JP2009007212A Expired - Fee Related JP4608580B2 (ja) | 1999-03-03 | 2009-01-16 | ソフトウェア・モジュールを実行する方法及び計算システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000602926A Pending JP2002538547A (ja) | 1999-03-03 | 2000-03-03 | リードオンリー・ソフトウェア・モジュールの更新 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6637023B1 (ja) |
EP (1) | EP1159677B1 (ja) |
JP (2) | JP2002538547A (ja) |
AT (1) | ATE230859T1 (ja) |
AU (1) | AU3721600A (ja) |
DE (1) | DE60001153T2 (ja) |
DK (1) | DK1159677T3 (ja) |
ES (1) | ES2190408T3 (ja) |
WO (1) | WO2000052573A2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795965B1 (en) * | 2000-05-10 | 2004-09-21 | Microsoft Corporation | Multi-source program module updater |
US20050154885A1 (en) * | 2000-05-15 | 2005-07-14 | Interfuse Technology, Inc. | Electronic data security system and method |
US6874139B2 (en) * | 2000-05-15 | 2005-03-29 | Interfuse Technology Corporation | Method and system for seamless integration of preprocessing and postprocessing functions with an existing application program |
US7310800B2 (en) * | 2001-02-28 | 2007-12-18 | Safenet, Inc. | Method and system for patching ROM code |
GB0120594D0 (en) * | 2001-08-24 | 2001-10-17 | Koninkl Philips Electronics Nv | Upgrading software held in read-only storage |
US6968183B2 (en) * | 2001-11-02 | 2005-11-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining a multi-module dependent parameter at a telecommunication node |
US7467139B1 (en) * | 2001-11-13 | 2008-12-16 | Unisys Corporation | Library lock management |
US7222258B2 (en) * | 2002-12-18 | 2007-05-22 | Intel Corporation | Compressing a firmware image |
US20040205776A1 (en) * | 2003-04-10 | 2004-10-14 | International Business Machines Corporation | Method and apparatus for concurrent update and activation of partition firmware on a logical partitioned data processing system |
US20050039196A1 (en) * | 2003-08-13 | 2005-02-17 | Sasidharan Prasanth Nalini | Method and system for using a library |
US7562359B1 (en) * | 2004-08-26 | 2009-07-14 | Wind River Systems, Inc. | User process object code installer |
TWI277895B (en) * | 2005-01-05 | 2007-04-01 | Lite On Technology Corp | Library extracting device and method for automatically extracting libraries of an embedded operating system |
US7966612B2 (en) * | 2005-04-28 | 2011-06-21 | International Business Machines Corporation | Method, system and computer program for installing shared software components |
KR100735552B1 (ko) * | 2005-09-23 | 2007-07-04 | 삼성전자주식회사 | 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 |
JP4911576B2 (ja) * | 2006-03-24 | 2012-04-04 | 株式会社メガチップス | 情報処理装置および追記型メモリ利用方法 |
US20080282022A1 (en) * | 2007-05-09 | 2008-11-13 | Broadcom Corporation, A California Corporation | Partially storing software functions that are not expected to change over time in ROM instead of RAM |
AU2014203156B2 (en) * | 2009-11-23 | 2016-02-04 | Julian Michael Urbach | Stream-based software application delivery and launching system |
US8584120B2 (en) * | 2009-11-23 | 2013-11-12 | Julian Michael Urbach | Stream-based software application delivery and launching system |
US10114660B2 (en) | 2011-02-22 | 2018-10-30 | Julian Michael Urbach | Software application delivery and launching system |
CN108494866A (zh) * | 2018-03-30 | 2018-09-04 | 北京小米移动软件有限公司 | 信息处理方法及服务器、终端设备 |
WO2021201914A1 (en) * | 2020-03-31 | 2021-10-07 | Arris Enterprises Llc | Cloud-based computer with runtime-mapped software versions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04259046A (ja) * | 1991-02-13 | 1992-09-14 | Nec Software Ltd | Romパッチ方式 |
JPH04294183A (ja) * | 1991-03-25 | 1992-10-19 | Tohoku Ricoh Co Ltd | プログラム組込型機器 |
JPH10157250A (ja) * | 1996-11-27 | 1998-06-16 | Toshiba Corp | 画像形成装置と画像形成装置の機能拡張方法 |
JPH10228381A (ja) * | 1997-01-27 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 組み込みシステムにライブラリをロードする方法及び装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4542453A (en) * | 1982-02-19 | 1985-09-17 | Texas Instruments Incorporated | Program patching in microcomputer |
US5237669A (en) * | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
CA2158848A1 (en) | 1993-03-23 | 1994-09-29 | Erik L. Eidt | Apparatus and method for a relocatable file format |
US5581768A (en) | 1995-02-27 | 1996-12-03 | Intel Corporation | Method and apparatus for executing applications in place from write once/seldom memories |
US5815718A (en) | 1996-05-30 | 1998-09-29 | Sun Microsystems, Inc. | Method and system for loading classes in read-only memory |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
-
1999
- 1999-03-03 US US09/261,686 patent/US6637023B1/en not_active Expired - Fee Related
-
2000
- 2000-03-03 WO PCT/US2000/005641 patent/WO2000052573A2/en active IP Right Grant
- 2000-03-03 JP JP2000602926A patent/JP2002538547A/ja active Pending
- 2000-03-03 AT AT00916052T patent/ATE230859T1/de not_active IP Right Cessation
- 2000-03-03 DE DE60001153T patent/DE60001153T2/de not_active Expired - Lifetime
- 2000-03-03 DK DK00916052T patent/DK1159677T3/da active
- 2000-03-03 EP EP00916052A patent/EP1159677B1/en not_active Expired - Lifetime
- 2000-03-03 AU AU37216/00A patent/AU3721600A/en not_active Abandoned
- 2000-03-03 ES ES00916052T patent/ES2190408T3/es not_active Expired - Lifetime
-
2009
- 2009-01-16 JP JP2009007212A patent/JP4608580B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04259046A (ja) * | 1991-02-13 | 1992-09-14 | Nec Software Ltd | Romパッチ方式 |
JPH04294183A (ja) * | 1991-03-25 | 1992-10-19 | Tohoku Ricoh Co Ltd | プログラム組込型機器 |
JPH10157250A (ja) * | 1996-11-27 | 1998-06-16 | Toshiba Corp | 画像形成装置と画像形成装置の機能拡張方法 |
JPH10228381A (ja) * | 1997-01-27 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 組み込みシステムにライブラリをロードする方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
AU3721600A (en) | 2000-09-21 |
DK1159677T3 (da) | 2003-04-07 |
JP2009140512A (ja) | 2009-06-25 |
EP1159677A2 (en) | 2001-12-05 |
WO2000052573A2 (en) | 2000-09-08 |
ES2190408T3 (es) | 2003-08-01 |
JP2002538547A (ja) | 2002-11-12 |
EP1159677B1 (en) | 2003-01-08 |
ATE230859T1 (de) | 2003-01-15 |
DE60001153T2 (de) | 2003-05-15 |
US6637023B1 (en) | 2003-10-21 |
WO2000052573A3 (en) | 2001-02-15 |
DE60001153D1 (de) | 2003-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4608580B2 (ja) | ソフトウェア・モジュールを実行する方法及び計算システム | |
JP3314378B2 (ja) | 実行可能プログラムに対するメモリ割当を管理するシステムおよび方法 | |
EP2891060B1 (en) | Layout and execution of software applications using bpram | |
US9740500B2 (en) | Layout system for operating systems using BPRAM | |
US7246346B2 (en) | System and method for persisting dynamically generated code in a directly addressable and executable storage medium | |
US7162626B2 (en) | Use of common language infrastructure for sharing drivers and executable content across execution environments | |
JP2006079628A (ja) | ユーザデータをパーティションファイルに記憶する、又はユーザデータを含むパーティションファイルを使用するシステム及び方法 | |
JP2022545012A (ja) | メモリー・アパーチャのフラッシュ・オーダーを使用したデーター保存 | |
US6438621B1 (en) | In-memory modification of computer programs | |
US8677101B2 (en) | Method and apparatus for cooperative software multitasking in a processor system with a partitioned register file | |
CN114756296A (zh) | 可读写挂载启动方法、装置、存储介质及电子设备 | |
US6772296B1 (en) | Method and apparatus facilitating automatic persistence in asymmetric storage | |
KR20000002446A (ko) | 주기억장치와 보조기억장치사이의 스와핑 장치및 방법, 그 장치를 채용한 웹비디오 폰 | |
US7234039B1 (en) | Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer | |
Okafor et al. | Eliminating the operating system via the bare machine computing paradigm | |
US20050027940A1 (en) | Methods and apparatus for migrating a temporary memory location to a main memory location | |
Abramson | Computer hardware to support capability based addressing in a large virtual memory | |
Yang et al. | A RISC-V On-chip Operating System Based on Rust | |
Darlet | Runtime Loader-Linker Technologies | |
Lee | VORTOS: Versatile Object-Oriented Real-Time Operating System | |
JP2014157434A (ja) | プログラム生成方法、プログラム実行方法、プログラム生成装置、プログラム生成プログラム、プログラム実行装置およびプログラム実行プログラム | |
WO2000077613A2 (en) | Method and system for managing and using persistent storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100823 |
|
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: 20100909 |
|
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: 20101008 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |