CN100478874C - 用于扩充配置相关可扩充软件的方法和系统 - Google Patents
用于扩充配置相关可扩充软件的方法和系统 Download PDFInfo
- Publication number
- CN100478874C CN100478874C CNB2004100589703A CN200410058970A CN100478874C CN 100478874 C CN100478874 C CN 100478874C CN B2004100589703 A CNB2004100589703 A CN B2004100589703A CN 200410058970 A CN200410058970 A CN 200410058970A CN 100478874 C CN100478874 C CN 100478874C
- Authority
- CN
- China
- Prior art keywords
- expansion
- version
- class
- software
- described software
- 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/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Abstract
Description
Claims (28)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/626,251 US7305666B2 (en) | 2003-07-23 | 2003-07-23 | Description language for an extensible compiler and tools infrastructure |
US10/626,251 | 2003-07-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1577265A CN1577265A (zh) | 2005-02-09 |
CN100478874C true CN100478874C (zh) | 2009-04-15 |
Family
ID=33490900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100589703A Expired - Fee Related CN100478874C (zh) | 2003-07-23 | 2004-07-23 | 用于扩充配置相关可扩充软件的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7305666B2 (zh) |
EP (1) | EP1501010A3 (zh) |
JP (1) | JP4716681B2 (zh) |
KR (1) | KR101137126B1 (zh) |
CN (1) | CN100478874C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484489A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种扩展编程语言特性的方法及装置 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986128B2 (en) * | 2000-01-07 | 2006-01-10 | Sony Computer Entertainment Inc. | Multiple stage program recompiler and method |
US7290243B1 (en) | 2001-02-28 | 2007-10-30 | Apple Inc. | Method and apparatus for application building using build styles |
US7143407B2 (en) * | 2001-07-26 | 2006-11-28 | Kyocera Wireless Corp. | System and method for executing wireless communications device dynamic instruction sets |
US7086041B2 (en) * | 2003-06-27 | 2006-08-01 | Microsoft Corporation | Extensible type system for representing and checking consistency of program components during the process of compilation |
US7818729B1 (en) * | 2003-09-15 | 2010-10-19 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
US7856624B2 (en) * | 2003-09-15 | 2010-12-21 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
US7810080B2 (en) * | 2003-09-15 | 2010-10-05 | Thomas Plum | Automated safe secure techniques for eliminating undefined behavior in computer software |
US7512938B2 (en) * | 2005-03-18 | 2009-03-31 | Microsoft Corporation | Typed intermediate representation for object-oriented languages |
US7757224B2 (en) * | 2006-02-02 | 2010-07-13 | Microsoft Corporation | Software support for dynamically extensible processors |
US7844978B2 (en) * | 2006-06-02 | 2010-11-30 | International Business Machines Corporation | Artifact management for an extensible runtime environment |
US8161465B2 (en) * | 2006-07-27 | 2012-04-17 | Oracle International Corporation | Method and apparatus for performing conditional compilation |
US7743076B2 (en) * | 2007-01-26 | 2010-06-22 | Microsoft Corporation | Extensible action sequences coordinating independently created components |
US8239844B2 (en) * | 2007-02-14 | 2012-08-07 | The Mathworks, Inc. | Method of using parallel processing constructs and dynamically allocating program portions |
US8250550B2 (en) * | 2007-02-14 | 2012-08-21 | The Mathworks, Inc. | Parallel processing of distributed arrays and optimum data distribution |
US8239846B2 (en) * | 2007-02-14 | 2012-08-07 | The Mathworks, Inc. | Device for performing parallel processing of distributed arrays |
US8010954B2 (en) | 2007-02-14 | 2011-08-30 | The Mathworks, Inc. | Parallel programming interface to dynamically allocate program portions |
US8239845B2 (en) * | 2007-02-14 | 2012-08-07 | The Mathworks, Inc. | Media for using parallel processing constructs |
US8255889B2 (en) * | 2007-02-14 | 2012-08-28 | The Mathworks, Inc. | Method of using parallel processing constructs and dynamically allocating program portions |
US8255890B2 (en) * | 2007-02-14 | 2012-08-28 | The Mathworks, Inc. | Media for performing parallel processing of distributed arrays |
US8762976B2 (en) * | 2007-03-09 | 2014-06-24 | Microsoft Corporation | Static extensibility models with dynamic languages and scripts |
US8181167B2 (en) * | 2008-01-09 | 2012-05-15 | Kan Zhao | Method and system for presenting and analyzing software source code through intermediate representation |
US20090183185A1 (en) * | 2008-01-16 | 2009-07-16 | Microsoft Corporation | Declarative and Extensible Process Definition |
KR101418969B1 (ko) * | 2008-02-27 | 2014-08-13 | 삼성전자주식회사 | 프로세서 및 컴파일 방법 |
US9158519B2 (en) * | 2008-05-21 | 2015-10-13 | Optumsoft, Inc. | Dynamic collection attribute-based computer programming language methods |
US20100088686A1 (en) * | 2008-10-06 | 2010-04-08 | Microsoft Corporation | Programming language with extensible syntax |
US8392895B2 (en) * | 2009-01-13 | 2013-03-05 | Mediatek Inc. | Firmware extension method and firmware builder |
CA2675680C (en) * | 2009-08-27 | 2013-05-14 | Ibm Canada Limited - Ibm Canada Limitee | Generating object code that uses calculated contents for a variable determined from a predicate |
CA2691851A1 (en) * | 2010-02-04 | 2011-08-04 | Ibm Canada Limited - Ibm Canada Limitee | Control flow analysis using deductive reaching definitions |
US8572591B2 (en) * | 2010-06-15 | 2013-10-29 | Microsoft Corporation | Dynamic adaptive programming |
US8997070B2 (en) * | 2011-12-15 | 2015-03-31 | Sap Se | Extension mechanism for scripting language compiler |
US8954939B2 (en) * | 2012-12-31 | 2015-02-10 | Microsoft Corporation | Extending a development environment |
US9250937B1 (en) * | 2013-11-06 | 2016-02-02 | The Regents Of The University Of California | Code randomization for just-in-time compilers |
US9477447B1 (en) * | 2015-05-15 | 2016-10-25 | Sap Se | Semantic representations of software extensions |
US9542173B2 (en) * | 2015-05-15 | 2017-01-10 | Sap Se | Dependency handling for software extensions |
US10120661B2 (en) * | 2015-07-16 | 2018-11-06 | Sugarcrm Inc. | Multi-flavored software execution from a singular code base |
CN106909353B (zh) * | 2015-12-22 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 应用程序的运行方法和装置 |
US10140105B2 (en) * | 2016-03-10 | 2018-11-27 | Wowza Media Systems, LLC | Converting source code |
US10268455B2 (en) | 2016-05-20 | 2019-04-23 | Microsoft Technology Licensing, Llc | Augmenting an original class with an augmenting class |
GB2573775A (en) * | 2018-05-16 | 2019-11-20 | Sage Uk Ltd | Application Deployment |
US11366658B1 (en) * | 2021-01-19 | 2022-06-21 | Sap Se | Seamless lifecycle stability for extensible software features |
Family Cites Families (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197978A (en) | 1978-06-29 | 1980-04-15 | The Boeing Company | Method of making an integral structural member |
US4734854A (en) | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
CA1248238A (en) | 1985-10-17 | 1989-01-03 | Francis D. Lawlor | Compiler including retargetable data generation |
JPS6488834A (en) * | 1987-09-30 | 1989-04-03 | Nec Corp | Program addition correcting system |
US5339419A (en) | 1990-06-25 | 1994-08-16 | Hewlett-Packard Company | ANDF compiler using the HPcode-plus compiler intermediate language |
US5659753A (en) | 1991-02-27 | 1997-08-19 | Digital Equipment Corporation | Interface for symbol table construction in a multilanguage optimizing compiler |
US5598560A (en) | 1991-03-07 | 1997-01-28 | Digital Equipment Corporation | Tracking condition codes in translation code for different machine architectures |
JPH04361328A (ja) * | 1991-06-10 | 1992-12-14 | Fujitsu Ltd | 処理モード切り替え方式 |
US5488727A (en) | 1991-09-30 | 1996-01-30 | International Business Machines Corporation | Methods to support multimethod function overloading with compile-time type checking |
JPH0683605A (ja) * | 1992-09-07 | 1994-03-25 | Fujitsu Ltd | 改変したプログラムを実行するデータ処理方式 |
CA2102089C (en) | 1993-10-29 | 1999-05-25 | David M. Gillies | Recompilation of computer programs for enhanced optimization |
US5761511A (en) | 1994-01-28 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for a type-safe framework for dynamically extensible objects |
US5628016A (en) | 1994-06-15 | 1997-05-06 | Borland International, Inc. | Systems and methods and implementing exception handling using exception registration records stored in stack memory |
US5742828A (en) | 1994-08-03 | 1998-04-21 | Microsoft Corporation | Compiler and method for evaluation of foreign syntax expressions in source code |
US5778227A (en) | 1995-08-01 | 1998-07-07 | Intergraph Corporation | System for adding attributes to an object at run time in an object oriented computer environment |
US5754858A (en) | 1996-05-01 | 1998-05-19 | Microsoft Corporation | Customizable application project generation process and system |
EP0978032A1 (en) | 1996-06-11 | 2000-02-09 | Edgar F. Codd | Delta model processing logic representation and execution system |
US6463581B1 (en) | 1996-10-03 | 2002-10-08 | International Business Machines Corporation | Method for determining reachable methods in object-oriented applications that use class libraries |
US5778233A (en) | 1996-10-11 | 1998-07-07 | International Business Machines Corporation | Method and apparatus for enabling global compiler optimizations in the presence of exception handlers within a computer program |
US6247169B1 (en) | 1996-11-04 | 2001-06-12 | Sun Microsystems, Inc. | Structured exception-handling methods, apparatus, and computer program products |
US5943499A (en) | 1996-11-27 | 1999-08-24 | Hewlett-Packard Company | System and method for solving general global data flow predicated code problems |
US5937195A (en) | 1996-11-27 | 1999-08-10 | Hewlett-Packard Co | Global control flow treatment of predicated code |
US5857105A (en) | 1997-02-05 | 1999-01-05 | Hewlett-Packard Company | Compiler for reducing number of indirect calls in an executable code |
US6212672B1 (en) * | 1997-03-07 | 2001-04-03 | Dynamics Research Corporation | Software development system with an executable working model in an interpretable intermediate modeling language |
US5918235A (en) | 1997-04-04 | 1999-06-29 | Hewlett-Packard Company | Object surrogate with active computation and probablistic counter |
US6149318A (en) | 1997-04-15 | 2000-11-21 | Samuel C. Kendall | Link-time and run-time error detection, and program instrumentation |
US5999739A (en) | 1997-05-29 | 1999-12-07 | Hewlett-Packard Company | Method and apparatus for elimination of redundant branch instructions from a program |
US6009273A (en) | 1997-05-29 | 1999-12-28 | Hewlett-Packard Company | Method for conversion of a variable argument routine to a fixed argument routine |
US6070011A (en) | 1997-10-21 | 2000-05-30 | Hewlett-Packard Co. | Compiler for performing a loop fusion, dependent upon loop peeling and/or loop reversal |
US5966702A (en) | 1997-10-31 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for pre-processing and packaging class files |
US6148302A (en) | 1998-02-26 | 2000-11-14 | Sun Microsystems, Inc. | Method, apparatus, system and computer program product for initializing a data structure at its first active use |
US6202204B1 (en) | 1998-03-11 | 2001-03-13 | Intel Corporation | Comprehensive redundant load elimination for architectures supporting control and data speculation |
US6330717B1 (en) * | 1998-03-27 | 2001-12-11 | Sony Corporation Of Japan | Process and system for developing an application program for a distributed adaptive run-time platform |
US6249910B1 (en) | 1998-05-04 | 2001-06-19 | Hewlett-Packard Company | Apparatus and method for incrementally update static single assignment form for cloned variable name definitions |
US6578090B1 (en) | 1998-06-08 | 2003-06-10 | Ricoh Company, Ltd. | System and method for interfacing two modules supporting various applications |
JP3320358B2 (ja) * | 1998-06-18 | 2002-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイル方法、例外処理方法、及びコンピュータ |
US6289446B1 (en) | 1998-09-29 | 2001-09-11 | Axis Ab | Exception handling utilizing call instruction with context information |
US6182284B1 (en) | 1998-09-30 | 2001-01-30 | Hewlett-Packard Company | Method and system for eliminating phi instruction resource interferences and redundant copy instructions from static-single-assignment-form computer code |
US6292938B1 (en) | 1998-12-02 | 2001-09-18 | International Business Machines Corporation | Retargeting optimized code by matching tree patterns in directed acyclic graphs |
US6253304B1 (en) | 1999-01-04 | 2001-06-26 | Advanced Micro Devices, Inc. | Collation of interrupt control devices |
US6412109B1 (en) | 1999-01-29 | 2002-06-25 | Sun Microsystems, Inc. | Method for optimizing java bytecodes in the presence of try-catch blocks |
US6353924B1 (en) | 1999-02-08 | 2002-03-05 | Incert Software Corporation | Method for back tracing program execution |
US6526570B1 (en) | 1999-04-23 | 2003-02-25 | Sun Microsystems, Inc. | File portability techniques |
US6363522B1 (en) | 1999-04-23 | 2002-03-26 | Sun Microsystems, Inc. | Method and apparatus for handling exceptions as normal control flow |
US6286134B1 (en) | 1999-04-23 | 2001-09-04 | Sun Microsystems, Inc. | Instruction selection in a multi-platform environment |
US6374368B1 (en) | 1999-05-21 | 2002-04-16 | Microsoft Corporation | Weakest precondition analysis |
US20020166115A1 (en) | 1999-06-10 | 2002-11-07 | A.V.S. Sastry | System and method for computer program compilation using scalar register promotion and static single assignment representation |
US6662356B1 (en) | 1999-06-30 | 2003-12-09 | Microsoft Corporation | Application program interface for transforming heterogeneous programs |
US6460178B1 (en) | 1999-06-30 | 2002-10-01 | Microsoft Corporation | Shared library optimization for heterogeneous programs |
US6481008B1 (en) | 1999-06-30 | 2002-11-12 | Microsoft Corporation | Instrumentation and optimization tools for heterogeneous programs |
US6629312B1 (en) | 1999-08-20 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Programmatic synthesis of a machine description for retargeting a compiler |
US6560774B1 (en) | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
US6625808B1 (en) | 1999-12-10 | 2003-09-23 | Microsoft Corporation | Method and apparatus for facilitating memory management in a program comprised of heterogeneous components |
US6598220B1 (en) | 1999-12-17 | 2003-07-22 | Dell Products L.P. | System and method for allowing registerable runtime modification of object behaviors |
US6745383B1 (en) | 1999-12-29 | 2004-06-01 | Veritas Operating Corporation | Early warning mechanism for enhancing enterprise availability |
US6748584B1 (en) | 1999-12-29 | 2004-06-08 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
US6804814B1 (en) | 1999-12-29 | 2004-10-12 | Veritas Operating Corporation | Method for simulating back program execution from a traceback sequence |
US6981249B1 (en) | 2000-05-02 | 2005-12-27 | Microsoft Corporation | Methods for enhancing type reconstruction |
US6678805B1 (en) | 2000-05-25 | 2004-01-13 | Microsoft Corporation | Structure organization for improved cache performance |
US6625804B1 (en) | 2000-07-06 | 2003-09-23 | Microsoft Corporation | Unified event programming model |
CA2321018A1 (en) | 2000-09-27 | 2002-03-27 | Ibm Canada Limited-Ibm Canada Limitee | Optimizing compilation by forward store movement |
US6854110B2 (en) | 2000-12-21 | 2005-02-08 | Microsoft Corporation | System and method for obtaining scratch registers in computer executable binaries |
US6925639B2 (en) | 2001-02-23 | 2005-08-02 | Microsoft Corporation | Method and system for register allocation |
US7117488B1 (en) | 2001-10-31 | 2006-10-03 | The Regents Of The University Of California | Safe computer code formats and methods for generating safe computer code |
US6834383B2 (en) | 2001-11-26 | 2004-12-21 | Microsoft Corporation | Method for binary-level branch reversal on computer architectures supporting predicated execution |
US7426719B2 (en) | 2001-11-29 | 2008-09-16 | Microsoft Corporation | Method and system for rewriting unwind data in the presence of exceptions |
JP3870112B2 (ja) | 2002-03-13 | 2007-01-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイル方法、コンパイル装置、及びコンパイル用プログラム |
US7213245B2 (en) | 2002-05-14 | 2007-05-01 | Microsoft Corporation | Software on demand system |
US7228540B2 (en) | 2002-05-14 | 2007-06-05 | Microsoft Corporation | Preparation for software on demand system |
US7185328B2 (en) | 2002-05-30 | 2007-02-27 | Microsoft Corporation | System and method for improving a working set |
US7055132B2 (en) | 2002-06-28 | 2006-05-30 | Microsoft Corporation | System and method for associating properties with objects |
US7367022B2 (en) | 2002-09-05 | 2008-04-29 | Intel Corporation | Methods and apparatus for optimizing the operating speed and size of a computer program |
US7240346B2 (en) | 2002-11-13 | 2007-07-03 | Microsoft Corporation | Method and system for accessing drawing resources |
US7203941B2 (en) | 2002-11-14 | 2007-04-10 | Microsoft Corporation | Associating a native resource with an application |
US7370321B2 (en) | 2002-11-14 | 2008-05-06 | Microsoft Corporation | Systems and methods to read, optimize, and verify byte codes for a multiplatform jit |
US7281248B2 (en) | 2002-11-19 | 2007-10-09 | Microsoft Corporation | Virtualized and realized user interface controls |
US7546607B2 (en) | 2002-11-19 | 2009-06-09 | Microsoft Corporation | Native code exposing virtual machine managed object |
US7472400B2 (en) | 2003-02-28 | 2008-12-30 | Bea Systems, Inc. | Method for dynamically generating a wrapper class |
US7120898B2 (en) * | 2003-06-26 | 2006-10-10 | Microsoft Corporation | Intermediate representation for multiple exception handling models |
-
2003
- 2003-07-23 US US10/626,251 patent/US7305666B2/en not_active Expired - Fee Related
-
2004
- 2004-06-30 JP JP2004194759A patent/JP4716681B2/ja active Active
- 2004-07-01 EP EP04103108A patent/EP1501010A3/en not_active Ceased
- 2004-07-09 KR KR1020040053552A patent/KR101137126B1/ko active IP Right Grant
- 2004-07-23 CN CNB2004100589703A patent/CN100478874C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484489A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种扩展编程语言特性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4716681B2 (ja) | 2011-07-06 |
US20050022161A1 (en) | 2005-01-27 |
KR101137126B1 (ko) | 2012-04-19 |
US7305666B2 (en) | 2007-12-04 |
KR20050011685A (ko) | 2005-01-29 |
EP1501010A2 (en) | 2005-01-26 |
CN1577265A (zh) | 2005-02-09 |
EP1501010A3 (en) | 2007-09-12 |
JP2005044347A (ja) | 2005-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100478874C (zh) | 用于扩充配置相关可扩充软件的方法和系统 | |
Grant et al. | DyC: an expressive annotation-directed dynamic compiler for C | |
Ebcioglu et al. | A global resource-constrained parallelization technique | |
Spinczyk et al. | The design and implementation of AspectC++ | |
US6219834B1 (en) | Extensible compiler and method | |
Schardl et al. | Tapir: Embedding recursive fork-join parallelism into llvm’s intermediate representation | |
Hinkel | Change propagation in an internal model transformation language | |
US8762974B1 (en) | Context-sensitive compiler directives | |
Cherubin et al. | libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions | |
Mateos et al. | An approach for non-intrusively adding malleable fork/join parallelism into ordinary JavaBean compliant applications | |
Ulbrich et al. | Programming abstractions for content-based publish/subscribe in object-oriented languages | |
Schroder-Preikschat et al. | Static and dynamic weaving in system software with AspectC++ | |
Neuendorffer | Automatic Specialization of Actor-oriented Models in Ptolemy II. | |
Davis | Model integrated computing: A framework for creating domain specific design environments | |
Rura | Refactoring aspect-oriented software | |
Phillip | Unification of synchronous and asynchronous models for parallel programming languages | |
Dastgeer et al. | A Framework for Performance-aware Composition of Applications for GPU-based Systems | |
Canetti et al. | The parallel C (pC) programming language | |
Ulmann | Multi-Level Rewriting for Stream Processing to RTL compilation | |
Beuche et al. | Streamlining object-oriented software for deeply embedded applications | |
El Sibaïe et al. | Synchronous-reactive web programming | |
Watt | A technique for generic iteration and its optimization | |
Rura et al. | A basis for AspectJ refactoring | |
Du et al. | Language and compiler support for adaptive applications | |
Aotani et al. | Compiling conditional pointcuts for user-level semantic pointcuts |
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: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150504 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150504 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090415 Termination date: 20190723 |
|
CF01 | Termination of patent right due to non-payment of annual fee |