WO2009037668A2 - Mechanism to enable plug and play hardware components for semi-automatic software migration - Google Patents
Mechanism to enable plug and play hardware components for semi-automatic software migration Download PDFInfo
- Publication number
- WO2009037668A2 WO2009037668A2 PCT/IB2008/053816 IB2008053816W WO2009037668A2 WO 2009037668 A2 WO2009037668 A2 WO 2009037668A2 IB 2008053816 W IB2008053816 W IB 2008053816W WO 2009037668 A2 WO2009037668 A2 WO 2009037668A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hardware
- software
- specific software
- new
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Definitions
- This invention is related to computer and other electronic systems and particularly to processors and other hardware devices. More particularly, the present invention relates to mechanisms and systems to overcome the processor and hardware obsolescence problem encountered in their use in computers and other electronic systems. In addition, this invention finds applicability in software migration from one microprocessor to the other.
- the patent document number US2006/0282254A1 describes a system and method for component obsolescence in microprocessor based control units.
- the method comprises of providing a second vehicle system control unit for performing substantially the same operation as that of the first vehicle system control unit, wherein the second vehicle system control unit having a programmable hardware device adapted to emulate the operation of the core functional portion of the microprocessor.
- this process is manual and thus obleviates ease of 'plug and play' type of changes in hardware.
- WO01/061490A3 describes a method of implementing hardware abstraction layer for abstraction of processor specific functionality to the operating system.
- it abstracts configurable processor features visible to the operating system to provide a uniform, standardized interface between the operating system and the configurable processor on which it runs.
- This method provides for functionality of the operating system on all configurations of the processor which, in turn, are covered by the hardware abstraction layer.
- This method suffers from a drawback that it is applicable in case of configurable processors and its implementation requires technical expertise. Apart from high cost, this method involves additional steps of software reengineering and reimplementation, which decrease overall ease of operation.
- the present invention provides for mechanisms and systems for addressing the problem of obsolescence of processors and other hardware and thus a mechanism to enable the plug-and-play of processors or other hardware components differing in configuration.
- the present invention also provides for devices and process for the conversion of existing software suited to one processor or hardware device to another processor or hardware device.
- the invention provides the advantage of long-term, automated end-to-end solution for plug-and-play of processors and other hardware devices/components.
- the present invention relates to methods and devices for enabling migration of software between hardware components.
- the present invention provides for means to automate this software migration process.
- the method of software migration commences with connecting hardware such as processors to a conversion device, either a computer system or an embedded device, which contains a migration tool.
- the conversion device then provides for porting of hardware-specific software advertised by one hardware component or processor to another hardware component or processor. This results in automatic transfer of functionality of the donor hardware component or processor to the recipient hardware component or processor.
- Fig 1 illustrates one way in which current invention can be performed.
- (7) represents an conversion device.
- New processor (1 ) initiates advertisement of own architecture and features to conversion system (3).
- the conversion system (3) may be a separate device or an embedded device within the same system.
- Conversion system (3) converts software components to suit new processor (1 ).
- (2) represents old processor
- (4) represents the memory of the system (7)
- (6) represents the old application
- (5) represents the new or modified application.
- the present invention provides for mechanisms and systems to address the problems of software-incompatibility and obsolescence of hardware.
- the invention would provide for the enablement of plug-and-play of hardware components such as processors differing in hardware and/or software configuration and capabilities.
- the system or mechanisms comprises of a process where the processor or other hardware device/components advertise or exchange information regarding their architecture and other features to other software, processor or hardware device/components.
- the exchange process may be either initiated by the first processor or hardware device/components or the second processor or hardware device/components. How to advertise architecture and features and what to advertise as features of processor or other hardware component is flexible. It employs that the formatting, encoding and method of exchanging information is flexible.
- the architecture advertised by the processor or hardware device/component may be but not limited to the number of registers, names of registers, size of each register, size of address bus/data bus, pin configuration of the processor, range of memory it can handle, types of memory models supported by the processor, number of interrupts and their types supported by the processor.
- the advertisement of the architecture may be complete or partial.
- the processor or hardware device/component may also advertise some or all of its software as its feature.
- the invention additionally comprises of a device that can be plugged into a computer or embedded system and which then converts the software components of the processor or hardware device/components to suit the other processor or hardware device/component.
- This conversion device could be a computer or an embedded device.
- the plug-in referred to in this specification can be achieved by but not limited to wiring, soldering, socketing or wireless means.
- the user has to scan the source code of the hardware component and mark the hardware-specific source code.
- the user also needs to specify the context of the marked source code. Marking and specification of context of software code can be done by choosing among a multitude of ways, one of which is the use of tags.
- the invention additionally comprises of a new method for the conversion of existing software that is suited to one processor or hardware device/component to suit a different processor or hardware component/device.
- the effective migration of software from one hardware to another is achieved by using marked software provided to the conversion device.
- the method mentioned for the conversion of the hardware-specific software is effected through a migration tool comprising a converter software running on the conversion device which receives the input from one processor or hardware device/component and then modifies the software applications that already exist on the system to be able to execute on the new processor.
- the said converter software may be running on a separate integrated circuit, computer or embedded system.
- the said converter software may modify the existing source code and/or generate some new code to exploit new processor features by an application that would run on it by using processor information and features advertised by them.
- the migration tool thus contains an executable software code that serves to port hardware-specific software from old hardware to new hardware.
- the software migration process involves a one-time manual activity of scanning the source code of both old and new processors and marking the processor specific source codes.
- This tagged information may be manually supplied to the conversion device as processor information files created using processor manuals.
- C or any other language syntax handling tool may be used to identify markings and point out classes of issues including ports and registers in the source code.
- the actual migration process in the preferred embodiment of the invention, comprises of distinct stages of definition of source code for each class of issues, selection of target code of new processor that confirms with the selected class and issue and finally, updating the target code to suit the new hardware. For each class of every issue, there is a defined set of rules which may be used for updating of the target code to suit new processor. Updating of the target code comprises inter alia, copying of issue and class-specific code from old hardware to new hardware.
- the processor can communicate with memory and the conversion system and also the conversion system can communicate with processor and memory.
- the process of software migration involves a stage of manually creating files or database of marked hardware-specific software and specifying the context.
- the process of software migration was semi automatic.
- this manual input is required only once and all subsequent events of porting of the converted software are fully automatic.
- Example 1 The following example further illustrates the invention. This example is for illustration purpose only and does not limit the scope of the invention. [0037] Example 1 :
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010525479A JP2011512566A (en) | 2007-09-19 | 2008-09-19 | Mechanisms that allow plug and play of hardware components for semi-automated software migration |
CN200880115621A CN101855617A (en) | 2007-09-19 | 2008-09-19 | Mechanism to enable plug and play hardware components for semi-automatic software migration |
US12/678,850 US20100205599A1 (en) | 2007-09-19 | 2008-09-19 | Mechanism to enable plug-and-play hardware components for semi-automatic software migration |
EP08807731A EP2203814A4 (en) | 2007-09-19 | 2008-09-19 | Mechanism to enable plug and play hardware components for semi-automatic software migration |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1814MU2007 | 2007-09-19 | ||
IN1814/MUM/2007 | 2007-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009037668A2 true WO2009037668A2 (en) | 2009-03-26 |
WO2009037668A3 WO2009037668A3 (en) | 2009-12-30 |
Family
ID=40468542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2008/053816 WO2009037668A2 (en) | 2007-09-19 | 2008-09-19 | Mechanism to enable plug and play hardware components for semi-automatic software migration |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100205599A1 (en) |
EP (1) | EP2203814A4 (en) |
JP (1) | JP2011512566A (en) |
KR (1) | KR20100069695A (en) |
CN (1) | CN101855617A (en) |
WO (1) | WO2009037668A2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672019B2 (en) * | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US9189233B2 (en) | 2008-11-24 | 2015-11-17 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US8468332B2 (en) * | 2009-06-13 | 2013-06-18 | Kinglite Holdings Inc. | Dynamic link loading in extensible firmware interface compliant systems |
US20110276491A1 (en) * | 2009-12-31 | 2011-11-10 | Douglas Elliott | Methods and systems for in-game advertising |
KR101401378B1 (en) * | 2010-10-26 | 2014-05-30 | 한국전자통신연구원 | Host system and remote apparatus server for maintaining connectivity of virtual in spite of live migration of a virtual machine |
WO2013048468A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
CN103729169B (en) | 2012-10-10 | 2017-04-05 | 国际商业机器公司 | Method and apparatus for determining file extent to be migrated |
KR102083289B1 (en) | 2013-01-29 | 2020-03-02 | 삼성전자주식회사 | Method for migrating software of micro server based and device supporting the same |
US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
WO2018094087A1 (en) * | 2016-11-17 | 2018-05-24 | The Mathworks, Inc. | Systems and methods for generating code for parallel processing units |
US11633673B2 (en) | 2018-05-17 | 2023-04-25 | Universal City Studios Llc | Modular amusement park systems and methods |
KR102084031B1 (en) * | 2019-08-07 | 2020-05-29 | 주식회사 도시엔컴 | Method for managing integrated local storage and apparatus therefor |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3698007A (en) * | 1970-11-30 | 1972-10-10 | Honeywell Inc | Central processor unit having simulative interpretation capability |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
JPS6133546A (en) * | 1984-07-25 | 1986-02-17 | Nec Corp | Information processor |
US4870614A (en) * | 1984-08-02 | 1989-09-26 | Quatse Jesse T | Programmable controller ("PC") with co-processing architecture |
US5115500A (en) * | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
US5588118A (en) * | 1991-08-21 | 1996-12-24 | Zilog, Inc. | Single chip dual processor |
DE69228980T2 (en) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integrated data processing system with CPU core and independent parallel, digital signal processor module |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5619665A (en) * | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5819067A (en) * | 1996-02-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Computer system configured to translate a computer program into a second computer program prior to executing the computer program |
US5805895A (en) * | 1996-06-09 | 1998-09-08 | Motorola, Inc. | Method and apparatus for code translation optimization |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
US6021484A (en) * | 1997-11-14 | 2000-02-01 | Samsung Electronics Co., Ltd. | Dual instruction set architecture |
US6961763B1 (en) * | 1999-08-17 | 2005-11-01 | Microsoft Corporation | Automation system for controlling and monitoring devices and sensors |
US7293159B2 (en) * | 2004-01-15 | 2007-11-06 | International Business Machines Corporation | Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
US7707007B2 (en) * | 2004-07-30 | 2010-04-27 | International Business Machines Corporation | Autonomic client migration system for service engagements |
US7818724B2 (en) * | 2005-02-08 | 2010-10-19 | Sony Computer Entertainment Inc. | Methods and apparatus for instruction set emulation |
US20060282254A1 (en) * | 2005-06-10 | 2006-12-14 | John Ananny | System and method for dealing with component obsolescence in microprocessor-based control units |
US20060288343A1 (en) * | 2005-06-20 | 2006-12-21 | Kim Pallister | Methods and apparatus to enable remote-user-interface-capable managed runtime environments |
US20070005932A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Memory management in a multiprocessor system |
US7999951B2 (en) * | 2006-12-29 | 2011-08-16 | Sharp Laboratories Of America | Direct print handling of native and non-native data formats |
-
2008
- 2008-09-19 EP EP08807731A patent/EP2203814A4/en not_active Withdrawn
- 2008-09-19 US US12/678,850 patent/US20100205599A1/en not_active Abandoned
- 2008-09-19 WO PCT/IB2008/053816 patent/WO2009037668A2/en active Application Filing
- 2008-09-19 JP JP2010525479A patent/JP2011512566A/en active Pending
- 2008-09-19 KR KR1020107008511A patent/KR20100069695A/en not_active Application Discontinuation
- 2008-09-19 CN CN200880115621A patent/CN101855617A/en active Pending
Non-Patent Citations (2)
Title |
---|
None |
See also references of EP2203814A4 |
Also Published As
Publication number | Publication date |
---|---|
EP2203814A2 (en) | 2010-07-07 |
JP2011512566A (en) | 2011-04-21 |
US20100205599A1 (en) | 2010-08-12 |
CN101855617A (en) | 2010-10-06 |
EP2203814A4 (en) | 2012-11-07 |
KR20100069695A (en) | 2010-06-24 |
WO2009037668A3 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100205599A1 (en) | Mechanism to enable plug-and-play hardware components for semi-automatic software migration | |
US7844945B2 (en) | Software and firmware adaptation for unanticipated/changing hardware environments | |
US7334117B2 (en) | Device boot loader for processing one or more requests from a host computer system concurrently with loading or updating the firmware of the device | |
US7658323B2 (en) | Point-of-service (POS) and POS application compatability | |
US7363482B2 (en) | Method and apparatus to support remote configuration code | |
JP2008509483A5 (en) | ||
US9886287B2 (en) | Adaptive device driver method and system | |
US20080021693A1 (en) | Storage Device Simulator | |
TW201525858A (en) | Baseboard management controller and method of load firmware thereof | |
EP2689341B1 (en) | Device flags | |
CN109074336B (en) | System and method for programming data transfer within a microcontroller | |
CN103853535A (en) | Method and device for modifying middleware | |
CN110109671B (en) | Webpack label size and style conversion method and device | |
CN108932134B (en) | Remote updating method for server BIOS | |
Kreutz et al. | DevOps for Developing Cyber-Physical Systems | |
CN110647349B (en) | Method for realizing continuous delivery of iOS APP | |
US20050273755A1 (en) | Scripting engine for network communication software | |
TW202024900A (en) | Electronic device for updating on-board data of power off status and electronic device package assembly | |
CN113535213A (en) | Firmware updating method and system for programmable logic device | |
US9424054B2 (en) | Driver file conversion system | |
US20060155978A1 (en) | Method for initialising programmable systems | |
TWI637277B (en) | Standard programming language scripting architecture combined with virtual machine control method and program product | |
CN110262833B (en) | Method for configuring application program function | |
CN118733075A (en) | Method, apparatus, computer device and storage medium for driving update | |
TWI760398B (en) | Server system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880115621.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08807731 Country of ref document: EP Kind code of ref document: A2 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12678850 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010525479 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008807731 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107008511 Country of ref document: KR Kind code of ref document: A |