CN1823322A - 用于程序代码转换的共享代码缓存方法及设备 - Google Patents
用于程序代码转换的共享代码缓存方法及设备 Download PDFInfo
- Publication number
- CN1823322A CN1823322A CN200480020101.XA CN200480020101A CN1823322A CN 1823322 A CN1823322 A CN 1823322A CN 200480020101 A CN200480020101 A CN 200480020101A CN 1823322 A CN1823322 A CN 1823322A
- Authority
- CN
- China
- Prior art keywords
- code
- register
- source
- translater
- translation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000006243 chemical reaction Methods 0.000 title description 19
- 230000014616 translation Effects 0.000 claims abstract description 242
- 238000013519 translation Methods 0.000 claims abstract description 240
- 239000000872 buffer Substances 0.000 claims description 232
- 230000015654 memory Effects 0.000 claims description 193
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 39
- 230000007246 mechanism Effects 0.000 abstract description 17
- 238000013507 mapping Methods 0.000 description 99
- 230000014509 gene expression Effects 0.000 description 46
- 238000005457 optimization Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 31
- 238000003860 storage Methods 0.000 description 31
- 230000001360 synchronised effect Effects 0.000 description 31
- 238000012217 deletion Methods 0.000 description 28
- 230000037430 deletion Effects 0.000 description 28
- 230000000694 effects Effects 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 25
- 238000004458 analytical method Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 23
- 230000003068 static effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000004913 activation Effects 0.000 description 13
- 238000012512 characterization method Methods 0.000 description 12
- 238000004040 coloring Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 238000006116 polymerization reaction Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 101001137482 Aspergillus clavatus (strain ATCC 1007 / CBS 513.65 / DSM 816 / NCTC 3887 / NRRL 1 / QM 1276 / 107) Geranylfarnesyl diphosphate synthase Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
插入策略 | 查找策略 | 效果 | |
1 | 将所有结构添加到共享缓存A直到它达到一定大小,然后使用私有缓存B | 最大缓存优先 | 这种策略给共享缓存大小强加了硬性限制 |
2 | 如果不存在全局缓存,则创建共享缓存A并且将所有翻译结构存储到A。如果共享缓存A已经存在,则创建私有缓存B并将所有新的翻译结构存储到B。 | 最大缓存优先 | 这有效地放任第一翻译器实例将所有翻译结构添加到共享缓存。例如当缓存在以类似方式(即类似控制流)使用缓存单元的应用程序,诸如同样的应用程序或者来自相同提供者的应用程序,之间 |
被共享时,这是有利的。 | |||
3 | 对于在特定控制流(例如组块)上被优化的所有翻译,存储到较窄领域的缓存A。对于所有其它翻译,存储到较宽领域的缓存B。即,缓存B的领域比缓存A宽。 | 最窄缓存领域优先 | 这允许翻译器实例从由其它实例执行的通用优化中获益,同时仍然允许每个实例创建其自己的优化后代码。 |
Claims (21)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0316532.1A GB0316532D0 (en) | 2003-07-15 | 2003-07-15 | Method and apparatus for partitioning code in program code conversion |
GB0316532.1 | 2003-07-15 | ||
GB0328119.3 | 2003-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1823322A true CN1823322A (zh) | 2006-08-23 |
CN100458687C CN100458687C (zh) | 2009-02-04 |
Family
ID=27763853
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800232770A Expired - Lifetime CN100362475C (zh) | 2003-07-15 | 2004-07-13 | 用于在程序代码转换中划分代码的方法和装置 |
CNB200480020101XA Expired - Lifetime CN100458687C (zh) | 2003-07-15 | 2004-07-13 | 用于程序代码转换的共享代码缓存方法及设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800232770A Expired - Lifetime CN100362475C (zh) | 2003-07-15 | 2004-07-13 | 用于在程序代码转换中划分代码的方法和装置 |
Country Status (5)
Country | Link |
---|---|
CN (2) | CN100362475C (zh) |
GB (3) | GB0316532D0 (zh) |
HK (2) | HK1068698A1 (zh) |
IL (1) | IL172830A0 (zh) |
TW (2) | TWI365406B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103481A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 字节序转换工具 |
CN102193811A (zh) * | 2010-12-08 | 2011-09-21 | 上海交通大学 | 消除内存访问冲突的编译装置及其实现方法 |
CN102298514A (zh) * | 2010-06-14 | 2011-12-28 | 英特尔公司 | 用于有效动态二进制变换的寄存器映射技术 |
CN103309644A (zh) * | 2012-03-13 | 2013-09-18 | 辉达公司 | 用于微处理器的转译地址高速缓存 |
TWI447649B (zh) * | 2006-10-02 | 2014-08-01 | Ibm | 關於程式碼轉換之管理程序檔案系統之方法及設備 |
CN104375879A (zh) * | 2014-11-26 | 2015-02-25 | 康烁 | 基于执行树深度的二进制翻译方法和装置 |
CN105893031A (zh) * | 2016-03-28 | 2016-08-24 | 广州华多网络科技有限公司 | 一种缓存操作实现方法、业务层方法的调用方法及装置 |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
CN107902507A (zh) * | 2017-11-11 | 2018-04-13 | 林光琴 | 控制软件现场调试系统以及调试方法 |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
WO2019092565A1 (en) * | 2017-11-10 | 2019-05-16 | International Business Machines Corporation | Using comments of a program to provide optimizations |
US10324725B2 (en) | 2012-12-27 | 2019-06-18 | Nvidia Corporation | Fault detection in instruction translations |
CN112256597A (zh) * | 2015-02-25 | 2021-01-22 | 微软技术许可有限责任公司 | 应用高速缓存热度的自动恢复 |
CN117348889A (zh) * | 2023-12-05 | 2024-01-05 | 飞腾信息技术有限公司 | 代码翻译处理方法、系统、计算机系统及计算机设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294675A1 (en) * | 2006-06-20 | 2007-12-20 | Transitive Limited | Method and apparatus for handling exceptions during binding to native code |
US9015727B2 (en) | 2008-04-02 | 2015-04-21 | Qualcomm Incorporated | Sharing operating system sub-processes across tasks |
CN101458630B (zh) * | 2008-12-30 | 2011-07-27 | 中国科学院软件研究所 | 一种基于硬件模拟器的自修改代码识别方法 |
US8069339B2 (en) * | 2009-05-20 | 2011-11-29 | Via Technologies, Inc. | Microprocessor with microinstruction-specifiable non-architectural condition code flag register |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
CN105700932B (zh) * | 2014-11-25 | 2019-02-05 | 财团法人资讯工业策进会 | 针对软件程序的变量推论系统及方法 |
US20180210734A1 (en) * | 2017-01-26 | 2018-07-26 | Alibaba Group Holding Limited | Methods and apparatus for processing self-modifying codes |
US11442740B2 (en) * | 2020-09-29 | 2022-09-13 | Rockwell Automation Technologies, Inc. | Supporting instruction set architecture components across releases |
CN112416338A (zh) * | 2020-11-26 | 2021-02-26 | 上海睿成软件有限公司 | 一种基于标签的代码仓库系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5313614A (en) * | 1988-12-06 | 1994-05-17 | At&T Bell Laboratories | Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems |
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 |
US5875318A (en) * | 1996-04-12 | 1999-02-23 | International Business Machines Corporation | Apparatus and method of minimizing performance degradation of an instruction set translator due to self-modifying code |
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 |
US6112280A (en) * | 1998-01-06 | 2000-08-29 | Hewlett-Packard Company | Method and apparatus for distinct instruction pointer storage in a partitioned cache memory |
US6205545B1 (en) * | 1998-04-30 | 2001-03-20 | Hewlett-Packard Company | Method and apparatus for using static branch predictions hints with dynamically translated code traces to improve performance |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6339822B1 (en) * | 1998-10-02 | 2002-01-15 | Advanced Micro Devices, Inc. | Using padded instructions in a block-oriented cache |
US6820255B2 (en) * | 1999-02-17 | 2004-11-16 | Elbrus International | Method for fast execution of translated binary code utilizing database cache for low-level code correspondence |
GB2348305A (en) * | 1999-03-24 | 2000-09-27 | Int Computers Ltd | Instruction execution mechanism |
US6529862B1 (en) * | 1999-06-30 | 2003-03-04 | Bull Hn Information Systems Inc. | Method and apparatus for dynamic management of translated code blocks in dynamic object code translation |
US6516295B1 (en) * | 1999-06-30 | 2003-02-04 | Bull Hn Information Systems Inc. | Method and apparatus for emulating self-modifying code |
US7072939B1 (en) * | 2000-01-27 | 2006-07-04 | International Business Machines Corporation | Instant selective multiple soft document sharing between multiple heterogeneous computing devices |
US20010049818A1 (en) * | 2000-02-09 | 2001-12-06 | Sanjeev Banerjia | Partitioned code cache organization to exploit program locallity |
US6615300B1 (en) * | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US6980946B2 (en) * | 2001-03-15 | 2005-12-27 | Microsoft Corporation | Method for hybrid processing of software instructions of an emulated computer system |
US20030093775A1 (en) * | 2001-11-14 | 2003-05-15 | Ronald Hilton | Processing of self-modifying code under emulation |
GB2393274B (en) * | 2002-09-20 | 2006-03-15 | Advanced Risc Mach Ltd | Data processing system having an external instruction set and an internal instruction set |
GB2400938B (en) * | 2003-04-22 | 2005-07-06 | Transitive Ltd | Method and apparatus for performing lazy byteswapping optimizations during program code conversion |
-
2003
- 2003-07-15 GB GBGB0316532.1A patent/GB0316532D0/en not_active Ceased
- 2003-12-04 GB GB0328119A patent/GB2404043B/en not_active Expired - Lifetime
- 2003-12-04 GB GB0328121A patent/GB2404044B/en not_active Expired - Lifetime
-
2004
- 2004-07-13 CN CNB2004800232770A patent/CN100362475C/zh not_active Expired - Lifetime
- 2004-07-13 TW TW093120866A patent/TWI365406B/zh not_active IP Right Cessation
- 2004-07-13 TW TW093120868A patent/TWI362614B/zh not_active IP Right Cessation
- 2004-07-13 CN CNB200480020101XA patent/CN100458687C/zh not_active Expired - Lifetime
-
2005
- 2005-02-04 HK HK05100970A patent/HK1068698A1/xx not_active IP Right Cessation
- 2005-02-04 HK HK05100971A patent/HK1068699A1/xx not_active IP Right Cessation
- 2005-12-26 IL IL172830A patent/IL172830A0/en unknown
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI447649B (zh) * | 2006-10-02 | 2014-08-01 | Ibm | 關於程式碼轉換之管理程序檔案系統之方法及設備 |
CN102103481A (zh) * | 2009-12-21 | 2011-06-22 | 英特尔公司 | 字节序转换工具 |
CN102298514A (zh) * | 2010-06-14 | 2011-12-28 | 英特尔公司 | 用于有效动态二进制变换的寄存器映射技术 |
CN102298514B (zh) * | 2010-06-14 | 2014-07-16 | 英特尔公司 | 用于有效动态二进制变换的寄存器映射技术 |
CN102193811A (zh) * | 2010-12-08 | 2011-09-21 | 上海交通大学 | 消除内存访问冲突的编译装置及其实现方法 |
CN102193811B (zh) * | 2010-12-08 | 2014-04-16 | 上海交通大学 | 消除内存访问冲突的编译装置及其实现方法 |
CN103309644A (zh) * | 2012-03-13 | 2013-09-18 | 辉达公司 | 用于微处理器的转译地址高速缓存 |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
CN103309644B (zh) * | 2012-03-13 | 2016-08-03 | 辉达公司 | 用于微处理器的转译地址高速缓存 |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US10324725B2 (en) | 2012-12-27 | 2019-06-18 | Nvidia Corporation | Fault detection in instruction translations |
CN104375879B (zh) * | 2014-11-26 | 2018-02-09 | 康烁 | 基于执行树深度的二进制翻译方法和装置 |
CN104375879A (zh) * | 2014-11-26 | 2015-02-25 | 康烁 | 基于执行树深度的二进制翻译方法和装置 |
CN112256597A (zh) * | 2015-02-25 | 2021-01-22 | 微软技术许可有限责任公司 | 应用高速缓存热度的自动恢复 |
CN105893031A (zh) * | 2016-03-28 | 2016-08-24 | 广州华多网络科技有限公司 | 一种缓存操作实现方法、业务层方法的调用方法及装置 |
CN105893031B (zh) * | 2016-03-28 | 2019-12-24 | 广州华多网络科技有限公司 | 一种缓存操作实现方法、业务层方法的调用方法及装置 |
WO2019092565A1 (en) * | 2017-11-10 | 2019-05-16 | International Business Machines Corporation | Using comments of a program to provide optimizations |
US10613844B2 (en) | 2017-11-10 | 2020-04-07 | International Business Machines Corporation | Using comments of a program to provide optimizations |
CN107902507A (zh) * | 2017-11-11 | 2018-04-13 | 林光琴 | 控制软件现场调试系统以及调试方法 |
CN117348889A (zh) * | 2023-12-05 | 2024-01-05 | 飞腾信息技术有限公司 | 代码翻译处理方法、系统、计算机系统及计算机设备 |
CN117348889B (zh) * | 2023-12-05 | 2024-02-02 | 飞腾信息技术有限公司 | 代码翻译处理方法、系统、计算机系统及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100362475C (zh) | 2008-01-16 |
CN1836210A (zh) | 2006-09-20 |
GB0316532D0 (en) | 2003-08-20 |
IL172830A0 (en) | 2006-06-11 |
TW200515280A (en) | 2005-05-01 |
TW200516497A (en) | 2005-05-16 |
GB2404043B (en) | 2006-04-12 |
HK1068699A1 (en) | 2005-04-29 |
CN100458687C (zh) | 2009-02-04 |
GB2404044A (en) | 2005-01-19 |
GB0328121D0 (en) | 2004-01-07 |
GB2404043A (en) | 2005-01-19 |
GB0328119D0 (en) | 2004-01-07 |
HK1068698A1 (en) | 2005-04-29 |
GB2404044B (en) | 2006-07-26 |
TWI362614B (en) | 2012-04-21 |
TWI365406B (en) | 2012-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1823322A (zh) | 用于程序代码转换的共享代码缓存方法及设备 | |
CN1802632A (zh) | 用于在程序代码转换期间执行解释器优化的方法和装置 | |
Hellendoorn et al. | Are deep neural networks the best choice for modeling source code? | |
Hueske et al. | Opening the black boxes in data flow optimization | |
Kennedy et al. | Automatic data layout for distributed-memory machines | |
Taylor | An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformatics | |
CN1127016C (zh) | 计算机处理装置和方法 | |
CN1146786C (zh) | 用于自动修改数据库存取方法的方法 | |
CN1218222A (zh) | 数据序列产生方法及设备、转换方法及计算机 | |
CN1672150A (zh) | 用于软件原子化的视图 | |
CN107851108B (zh) | 使用位向量搜索索引的匹配文档 | |
CN101021856B (zh) | 分布式语音检索系统 | |
Weir et al. | Dbpal: A fully pluggable nl2sql training pipeline | |
CN1435031A (zh) | 最长匹配地址查询的方法和装置 | |
CN101040280A (zh) | 元数据管理 | |
Boehm et al. | SystemML's Optimizer: Plan Generation for Large-Scale Machine Learning Programs. | |
JP2007531075A5 (zh) | ||
Turcu et al. | Automated data partitioning for highly scalable and strongly consistent transactions | |
CN1661593A (zh) | 一种计算机语言翻译方法及其翻译系统 | |
Chelini et al. | Automatic generation of multi-objective polyhedral compiler transformations | |
CN103186607A (zh) | 分布式语音检索系统 | |
US20090328014A1 (en) | Compiler based code modification for use in document ranking | |
Shahrokhi et al. | Efficient query processing in python using compilation | |
CN110119275B (zh) | 一种分布式内存列式数据库编译执行器架构 | |
JP2016091356A (ja) | 仮想データベースシステム管理装置、管理方法及び管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: INTERNATIONAL BUSINESS MACHINE CORP. Free format text: FORMER OWNER: IBM YING CO., LTD. Effective date: 20090731 Owner name: IBM YING CO., LTD. Free format text: FORMER OWNER: TRANSITIVE LTD. Effective date: 20090731 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20090731 Address after: American New York Patentee after: International Business Machines Corp. Address before: England Hampshire Patentee before: IBM UK Ltd. Effective date of registration: 20090731 Address after: England Hampshire Patentee after: IBM UK Ltd. Address before: London, England Patentee before: Transitive Ltd. |
|
CX01 | Expiry of patent term |
Granted publication date: 20090204 |
|
CX01 | Expiry of patent term |