IBM Rational 产品许可证(License)管理使用和优化

文章来源:
http://www.ibm.com/developerworks/cn/rational/r-gaowb/

1 概述

IBM Rational 产品许可证(License)主要有四种类型:第一种是试用版的许可证,如从 developerWorks 上下载的使用版,一般只能用较短时间(如 30 天或 60 天);第二种是 Rational 公共许可证(Common Licensing),如 ClearQuest、PurifyPlus、Rose、RequisitePro、Robot 等等;第三种是 ClearCase 许可证,专门为 ClearCase 全功能版、ClearCase MultiSite 和 ClearDDTS 产品;第四种是基于 Eclipse 的 Rational Software Development Platform (SDP)的许可证,如 Rational Software Architect(RSA)、Rational Software Modeler(RSM)、Rational Application Developer(RAD)、Rational Web Developer(RWD)、Rational Functional Tester(RFT)、Rational Manual Tester(RMT)、Rational Performance Tester(RPT)、Rational Professional Bundle(RPB)等。后三种是为商用企业级服务。下面分别介绍后三种许可证(License)管理使用和优化。

2 IBM Rational 公共许可证的管理使用和优化

2.1 IBM Rational 公共许可证适用的产品

使用此许可证(License)机制的 Rational 产品最多,包括 ClearCase LT、ClearQuest、ClearQuest MultiSite、PurifyPlus(包括PureCoverage,Purify和Quantify)、SoDA、Rose(包括Enterprise,Modeler,Professional,RealTime等)、Robot、RequisitePro、TeamTest、Test Agent、Test Enablers、Test Manager、Test RealTime、ProjectConsole、SoDA、Rational Suite(包括AnalystStudio,DevelopmentStudio,Enterprise,Team Unifying Platform,TestStudio等)、XDE(Developer,Modeler,Tester等)、Raitonal Unified Process(RUP)等等。

2.2 IBM Rational 公共许可证的工作机制和使用

IBM Rational 公共许可证是使用 Flexible License Manager,简称 FLEXlm。用户有如下四种类型许可证可任选:

1. 一种是浮动型许可证(Floating License),这种最常用,是通过网络上至少一个许可证服务器为一个或多个本地或远程客户端服务,是一种客户端/服务器(C/S)结构,缺省端口是 27000。每个客户端只要通过 IBM Rational 许可证管理器指定一个或多个许可证服务器名称(主机名或 IP 地址)就可以通过网络使用该许可证服务器所提供的产品服务。在 Windows 下搭建一个许可证服务器就是将正确的许可证文件导入即可,双击该许可证文件或利用许可证管理器向导就可导入。在 Linux 或 UNIX 下搭建一个许可证服务器就是将正确的许可证文件名及路径加到 $HOME/.flexlmrc 文件中即可,例如:LM_LICENSE_FILE=/root/license_for_laalaa.upd,如果有多个文件,中间就用冒号隔开。浮动型许可证文件一般是个扩展名为 upd 的文本文件。搭建成功后就可在客户端或服务器端通过许可证服务器查看到该许可证服务器所提供的所有产品情况
 
2. 第二种是节点锁定型(NodeLocked License),这种主要为不在网络环境下孤立使用许可证,只能为本机服务。使用方法就是将正确的许可证文件导入即可,双击该许可证文件或从许可证管理器就可导入使用。节点锁定型许可证文件一般是个扩展名为 upd 的文本文件。

3. 第三种是 UNIX 节点锁定型(NodeLockedUnix License),这种和上面的第二种类似,不同之处就是这种是专门为 Linux 和 UNIX 系统服务的。

4. 第四种是特定用户型(NamedUser License),这种和上面的第一种类似,不同之处就是要在 rational.opt 文件中为每一个许可证指定一个用户名(User ID),这样就锁定那个浮动许可证专门为指定的用户,允许这个用户可以在多个系统上使用 IBM Rational 产品。这种类型许可证主要为 PurifyPlus 产品服务,如 PureCoverage,Purify, Quantify 等,使用方法也是将正确的许可证文件导入即可,双击该许可证文件或从许可证管理器就可导入使用。特定用户型许可证文件一般是个扩展名为 upd 的文本文件。

2.3 IBM Rational 公共许可证的诊断、迁移、备份恢复和优化

1) IBM Rational 公共许可证的诊断分析和解决问题

常见的许可证问题就是和许可证服务器连接不上
rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/main.css" /> rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/cn/zh/screen.css" media="all" /> rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/cn/zh/print.css" media="print" /> <script type="text/javascript" src="//www.ibm.com/common/v14/cn/zh/detection.js" language="JavaScript"></script> rel="stylesheet" type="text/css" href="//www.ibm.com/common/v14/cn/zh/ie2_screen.css" media="screen" /> <script type="text/javascript" src="/developerworks/js/dropdown.js" language="JavaScript"></script> <script type="text/javascript" src="/developerworks/email/grabtitle.js" language="JavaScript"></script> <script type="text/javascript" src="/developerworks/email/emailfriend2.js" language="JavaScript"></script> <script type="text/javascript" src="/developerworks/js/ajax1.js" language="javascript"></script> <script type="text/javascript" src="/developerworks/js/searchcount.js" language="javascript"></script> <script type="text/javascript" language="JavaScript">var emailAbstract = "本文主要介绍了 IBM Rational 产品许可证(License)工作机制,用户配置和跟踪,诊断分析和解决问题,迁移和分发,备份和恢复,以及优化等等。"; </script>

 

出现此类问题,可以用许可证管理器查看许可证服务器情况,如果看不到任何产品许可证信息,请确认是否指定了正确的许可证服务器,若许可证服务器正常服务,请检查和该服务器连接的网络情况,如能否 ping 通、端口是否正确、是否有防火墙拒绝等等;如果在许可证管理器中能看到一些产品的许可证信息,请检查是否设置了正确的许可证映射,方法是从设置(Settings)主菜单中选择"License Usage Mapper"子菜单
用户也可以用 lmutil 命令查看和设置许可证,如"lmutil -lmstat"命令是查看当前许可证状态信息。

2) IBM Rational 公共许可证的迁移
如果想将移植公共许可证服务器到另外一台机器,必须要先将原许可证归还给 IBM,然后再为新许可证服务器申请新的许可证。这些都可以通过 IBM 网上在线申请或维护 Rational 产品许可证来方便迁移。具体步骤就是先通过 http://www.ibm.com/software/rational/support/licensing 登录到 IBM Rational 许可证和下载中心(IBM Rational Licensing and Download Center),然后点击申请和维护许可证密钥(Request and Manage License Keys),再点击 AccountLink 进入 IBM Rational 公共许可证在线管理,选择归还许可证密钥(Return license key(s)),输入客户编号和主机名,根据提示完成余下步骤。将原许可证归还成功后,再到 AccountLink 页面选择获得许可证(Get license key(s)),输入客户编号,根据提示完成余下步骤。这样就完成了一次许可证服务器的迁移。客户端的迁移只需要在新的机器上重新指定许可证服务器或导入许可证文件就可完成迁移。

3) IBM Rational 公共许可证的备份和恢复
服务器端备份主要就是将服务器许可证文件做备份,恢复也是只要将该服务器许可证文件再导入即可。此外,如果服务器许可证文件没有了,可以到 IBM 网上在线申请或维护 Rational 产品许可证来申请获得该服务器最新许可证文件。具体步骤就是先通过 http://www.ibm.com/software/rational/support/licensing 登录到 IBM Rational 许可证和下载中心(IBM Rational Licensing and Download Center),然后点击申请和维护许可证密钥(Request and Manage License Keys),再点击 AccountLink 进入 IBM Rational 公共许可证在线管理,选择请求提供一个主机最近许可证文件的副本(Request a copy of the latest license file for a host),输入客户编号和主机名,根据提示完成余下两个步骤即可获得一个该服务器最新许可证文件。

客户端许可证备份主要将许可证服务器信息(主机名或 IP 地址,非缺省端口号)或客户端许可证文件做备份,恢复时只需再指定到原来许可证服务器或重新导入原来客户端许可证文件就可完成恢复。

4) IBM Rational 公共许可证的优化
IBM Rational 公共许可证用户数量指的是并发用户不能超过该数量,如果超过,则考虑扩充定购更多的许可证用户数或优化现有用户使用,本文作者认为可以通过如下两种途径优化现有用户的使用,使得许可证最大限度的发挥作用:第一就是错开并发使用时间,提高工作效率,减少占用时间;第二就是如果该产品有 Web 功能,例如 ClearQuest Web Java,就尽可能使用 Web 功能,现在 IBM Rational Web 功能许可证只根据登录用户名统计许可证,也就是说多个客户端使用同一个用户登录 Web 界面只占用一个许可证用户数。

3 IBM Rational ClearCase 许可证的管理使用和优化

3.1 IBM Rational ClearCase 许可证适用的产品

这种许可证主要为用 ClearCase 全功能产品、ClearCase MultiSite 和 ClearDDTS 产品服务,不包括 ClearCase LT 产品。

3.2 IBM Rational ClearCase 许可证的工作机制和使用

Rational ClearCase 许可证也是一种浮动型许可证(floating license),客户端通过网络从许可证服务器获得许可证,网络上最少要有一个许可证服务器向客户端提供服务。

所有存取 ClearCase VOB 的操作都要去检查许可证,检查时间间隔约为 10-15 分钟一次。任何一个安装有 ClearCase 的系统都可作为许可证服务器。一个客户端一次只能使用一个许可证服务器。客户端只要指定许可证服务器名称(主机名或 IP 地址)就能使用,Linux 或 UNIX 下编辑 /var/adm/rational/clearcase/config/license_host 文件,Windows 下可以通过控制面板中的 ClearCase 许可证页查看的改变许可证信息
搭建许可证服务器端就是将从 IBM Rational 得到的为该主机的许可证密钥填充到控制面板中的 ClearCase 许可证页(Windows 操作系统)或 /var/adm/rational/clearcase/license.db 文件中(Linux 或 UNIX 操作系统)


至于如何使用Rational License server,可以参考下面的这篇文章:
Rational license server 安装
http://blog.csdn.net/leisureful/archive/2005/02/16/289267.aspx
PACKAGE RSPS_Evaluation rational 1.5 1C0AB0D69C73 \ COMPONENTS="PerformanceStudioSuite:1.0:1 LTmaster:7.1:1 \ LTgui:7.1:10 LTvu:7.1:100 LTjolt:7.1:1 LTtux:7.1:1 LTsql:7.1:1 \ LThttp:7.1:1 LTsap:7.1:1 LTcorba:7.1:1 LTdcom:7.1:1" PACKAGE RSPS_Base_License rational 1.5 AAEC0768D8DA \ COMPONENTS="PerformanceStudioSuite:1.0:1 LTmaster:7.1:1 \ LTgui:7.1:1 LTvu:7.1:50 LThttp:7.1:1" PACKAGE LT_Playback_100VU rational 7.5 10B297DCA509 \ COMPONENTS="LTvu:7.1:100 LT_100VT:8.0:1" PACKAGE LT_Playback_250VU rational 7.5 46D73E06F8CA \ COMPONENTS="LTvu:7.1:250 LT_250VT:8.0:1" PACKAGE LT_Playback_500VU rational 7.5 EF451B5CFD15 \ COMPONENTS="LTvu:7.1:500 LT_500VT:8.0:1" PACKAGE LT_Playback_1000VU rational 7.5 68C15DACA3A7 \ COMPONENTS="LTvu:7.1:1000 LT_1000VT:8.0:1" PACKAGE LT_Playback_2500VU rational 7.5 41BCC971EFB0 \ COMPONENTS="LTvu:7.1:2500 LT_2500VT:8.0:1" PACKAGE LT_Playback_5000VU rational 7.5 E809693053EF \ COMPONENTS="LTvu:7.1:5000 LT_5000VT:8.0:1" PACKAGE LT_Playback_10000VU rational 7.5 79F52A91E693 \ COMPONENTS="LTvu:7.1:10000 LT_10000VT:8.0:1" PACKAGE LT_Playback_20000VU rational 7.5 0ED4D35282E1 \ COMPONENTS="LTvu:7.1:20000 LT_20000VT:8.0:1" PACKAGE LT_Playback_50000VU rational 7.5 D8A40635DE7B \ COMPONENTS="LTvu:7.1:50000 LT_50000VT:8.0:1" PACKAGE LT_Playback_100000VU rational 7.5 2624850A2BBE \ COMPONENTS="LTvu:7.1:100000 LT_100000VT:8.0:1" PACKAGE RSPS_TLA_500VU rational 1.5 7EBAF9407ED4 \ COMPONENTS="PerformanceStudioSuite:1.0:1 LTmaster:7.1:1 \ LTgui:7.1:500 LTvu:7.1:500 LTjolt:7.1:1 LTtux:7.1:1 \ LTsql:7.1:1 LThttp:7.1:1 LTsap:7.1:1 LTcorba:7.1:1 \ LTdcom:7.1:1" PACKAGE RSPS_TLA_100KVU rational 1.5 E2A84565831B \ COMPONENTS="PerformanceStudioSuite:1.0:1 LTmaster:7.1:1 \ LTgui:7.1:500 LTvu:7.1:100000 LTjolt:7.1:1 LTtux:7.1:1 \ LTsql:7.1:1 LThttp:7.1:1 LTsap:7.1:1 LTcorba:7.1:1 \ LTdcom:7.1:1" PACKAGE LT_All_VU_Protocols rational 7.5 CD8298ACC192 \ COMPONENTS=LT_All_Protocols:7.1:1 PACKAGE PerformanceStudioOEM rational 7.5 768CFCB275A5 \ COMPONENTS="PerformanceStudioSuite:1.0:1 LTmaster:7.1:1 \ LTgui:7.1:1 LTvu:7.1:1 LTjolt:7.1:1 LTtux:7.1:1 LTsql:7.1:1 \ LThttp:7.1:1 LTsap:7.1:1 LTcorba:7.1:1 LTdcom:7.1:1" PACKAGE LoadTest_Base rational 7.5 27CCA9A18283 \ COMPONENTS="LoadTestSuite:7.5:1 LTmaster:7.1:1 LTgui:7.1:1 \ LTvu:7.1:50 LThttp:7.1:1" PACKAGE TMvtpool rational 8.0 FE4376C9DEE0 \ COMPONENTS=TMvirtualtester:8.0:5 PACKAGE LT_Playback_50VU rational 7.5 24DE0865AC61 \ COMPONENTS="LTvu:7.1:50 LT_50VT:8.0:1" # Startup Key, Nodelock License INCREMENT RequisitePro rational 4.0 31-dec-2020 uncounted \ B5602EC1BDC4 \ VENDOR_STRING=3121-08477|Nodelocked||RequisitePro:4.0 \ HOSTID=ANY vendor_info="|Rational RequisitePro|" \ NOTICE="Living on the EDGE" ck=149 INCREMENT RequisiteWeb rational 4.0 31-dec-2020 uncounted \ 6D2EF8522896 \ VENDOR_STRING=3121-08481|Nodelocked||RequisiteWeb:4.0 \ HOSTID=ANY vendor_info="|Rational RequisiteWeb|" \ NOTICE="Living on the EDGE" ck=83 INCREMENT ClearCase rational 1.0 31-dec-2020 uncounted ACD091CE76D1 \ VENDOR_STRING=|Nodelocked||ClearCase:1.0 HOSTID=ANY \ vendor_info="|Rational ClearCase|" NOTICE="Living on the EDGE" \ ck=157 INCREMENT ClearCase_LT rational 1.0 31-dec-2020 uncounted \ 0026C81FCAAB VENDOR_STRING=|Nodelocked||ClearCase_LT:1.0 \ HOSTID=ANY vendor_info="|Rational ClearCase LT|" \ NOTICE="Living on the EDGE" ck=89 INCREMENT ClearQuest rational 1.0 31-dec-2020 uncounted 06E20E61AB7F \ VENDOR_STRING=|Nodelocked||ClearQuest:1.1 HOSTID=ANY \ vendor_info="|Rational ClearQuest|" NOTICE="Living on the \ EDGE" ck=184 INCREMENT ClearQuestMultiSite rational 1.0 31-dec-2020 uncounted \ 2CACEFCA10FB \ VENDOR_STRING=3121-10064|Nodelocked||ClearQuestMultiSite:1.0 \ HOSTID=ANY vendor_info="|Rational ClearQuest MultiSite|" \ NOTICE="Living on the EDGE" ck=163 INCREMENT MultiSite rational 1.0 31-dec-2020 uncounted D5403B7B5E2B \ VENDOR_STRING=3121-10573|Nodelocked||MultiSite:1.0 HOSTID=ANY \ vendor_info="|Rational ClearCase MultiSite|" NOTICE="Living on \ the EDGE" ck=168 INCREMENT ProjectConsole rational 1.0 31-dec-2020 uncounted \ A3AC356CFC56 \ VENDOR_STRING=3121-11819|Nodelocked||ProjectConsole:1.0 \ HOSTID=ANY vendor_info="|Rational ProjectConsole Web Access|" \ NOTICE="Living on the EDGE" ck=111 INCREMENT PurifyNT rational 6.0 31-dec-2020 uncounted 930F139C3C6B \ VENDOR_STRING=3121-09556|Nodelocked||PurifyNT:6.0 HOSTID=ANY \ vendor_info="|Rational Purify for Windows|" NOTICE="Living on \ the EDGE" ck=105 INCREMENT PurifyPlus rational 1.0 31-dec-2020 uncounted B5B8E83D4E07 \ VENDOR_STRING=3121-10125|Nodelocked||purifyplusNT:1.0 \ HOSTID=ANY vendor_info="|Rational PurifyPlus for Windows|" \ NOTICE="Living on the EDGE" ck=152 INCREMENT PurifyPlusRealTime rational 1.0 31-dec-2020 uncounted \ 23308FBA63D8 \ VENDOR_STRING=3121-11214|Nodelocked||PurifyPlusRealTime:1.0 \ HOSTID=ANY vendor_info="|Rational PurifyPlus RealTime|" \ NOTICE="Living on the EDGE" ck=113 INCREMENT Robot rational 7.1 31-dec-2020 uncounted 335F39A50668 \ VENDOR_STRING=3121-08493|Nodelocked||Robot:7.1 HOSTID=ANY \ vendor_info="|Rational Robot|" NOTICE="Living on the EDGE" \ ck=54 INCREMENT Robot_PS rational 7.1 31-dec-2020 uncounted CE4ACE65E1C3 \ VENDOR_STRING=3121-08997|Nodelocked||Robot_PS:7.1 HOSTID=ANY \ vendor_info="|Rational Robot for PeopleSoft|" NOTICE="Living \ on the EDGE" ck=163 INCREMENT Rose98_Unix rational 6.0 31-dec-2020 uncounted AB8582D9AE97 \ VENDOR_STRING=|Nodelocked||Rose98_Unix:6.0 HOSTID=ANY \ vendor_info="|Rational Rose for UNIX|" NOTICE="Living on the \ EDGE" ck=125 INCREMENT RoseRealTime rational 6.1 31-dec-2020 uncounted \ 04F23412100A \ VENDOR_STRING=3121-09021|Nodelocked||RoseRealTime:6.1 \ HOSTID=ANY vendor_info="|Rational Rose RealTime|" \ NOTICE="Living on the EDGE" ck=78 INCREMENT SoDA_Frame rational 3.0 31-dec-2020 uncounted C9D3CA5AB551 \ VENDOR_STRING=3121-08485|Nodelocked||SoDA_Frame:3.0.2 \ HOSTID=ANY vendor_info="|Rational SoDA with Frame|" \ NOTICE="Living on the EDGE" ck=184 INCREMENT TestManager rational 7.1 31-dec-2020 uncounted 6B71A6FD6041 \ VENDOR_STRING=3121-09734|Nodelocked||TestManager:7.1 \ HOSTID=ANY vendor_info="|Rational TestManager|" NOTICE="Living \ on the EDGE" ck=68 INCREMENT TestRealTime rational 1.0 31-dec-2020 uncounted \ 1F4C8D3F7F3D \ VENDOR_STRING=3121-10311|Nodelocked||TestRealTime:1.0 \ HOSTID=ANY vendor_info="|Rational Test RealTime|" \ NOTICE="Living on the EDGE" ck=170 INCREMENT UnifiedProcess rational 5.1 31-dec-2020 uncounted \ 882DB91ADB5D \ VENDOR_STRING=3121-08488|Nodelocked||UnifiedProcess:5.1 \ HOSTID=ANY vendor_info="|Rational Unified Process|" \ NOTICE="Living on the EDGE" ck=111 INCREMENT VisualPureCoverage rational 6.0 31-dec-2020 uncounted \ 8339A5B75E02 \ VENDOR_STRING=3121-09557|Nodelocked||VisualPureCoverage:6.0 \ HOSTID=ANY vendor_info="|Rational PureCoverage for Windows|" \ NOTICE="Living on the EDGE" ck=134 INCREMENT VisualQuantify rational 6.0 31-dec-2020 uncounted \ DBF93590A8A4 \ VENDOR_STRING=3121-09558|Nodelocked||VisualQuantify:6.0 \ HOSTID=ANY vendor_info="|Rational Quantify for Windows|" \ NOTICE="Living on the EDGE" ck=190 INCREMENT eval_xde_proplus_vsnet rational 1.5 31-dec-2020 uncounted \ E9A50CEE9B54 \ VENDOR_STRING=3121-11824|Nodelocked||eval_xde_proplus_vsnet \ HOSTID=ANY vendor_info="|Rational XDE Developer Plus for .NET \ (Evaluation)|" NOTICE="Living on the EDGE" ck=128 INCREMENT eval_xde_proplus_wsw rational 1.5 31-dec-2020 uncounted \ 2347C3CCD491 \ VENDOR_STRING=3121-11823|Nodelocked||eval_xde_proplus_wsw \ HOSTID=ANY vendor_info="|Rational XDE Developer Plus for Java \ (Evaluation)|" NOTICE="Living on the EDGE" ck=85 INCREMENT eval_xde_tester rational 1.5 31-dec-2020 uncounted \ C0E2719C395E \ VENDOR_STRING=3121-11819|Nodelocked||eval_xde_tester \ HOSTID=ANY vendor_info="|Rational XDE Tester (Evaluation)|" \ NOTICE="Living on the EDGE" ck=109 INCREMENT rose_ada_windows rational 6.0 31-dec-2020 uncounted \ CE7402D09DEF \ VENDOR_STRING=3121-08621|Nodelocked||rose_ada_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Professional Ada \ Edition|" NOTICE="Living on the EDGE" ck=162 INCREMENT rose_cpp_windows rational 6.0 31-dec-2020 uncounted \ 2DC6ED421FD0 \ VENDOR_STRING=3121-08391|Nodelocked||rose_cpp_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Professional C++ \ Edition|" NOTICE="Living on the EDGE" ck=129 INCREMENT rose_enterprise_windows rational 6.0 31-dec-2020 uncounted \ D258DFAAB9B1 \ VENDOR_STRING=3121-08407|Nodelocked||rose_enterprise_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Enterprise Edition|" \ NOTICE="Living on the EDGE" ck=237 INCREMENT rose_j_windows rational 6.0 31-dec-2020 uncounted \ 3F4211C37911 \ VENDOR_STRING=3121-08399|Nodelocked||rose_j_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Professional J \ Edition|" NOTICE="Living on the EDGE" ck=106 INCREMENT rose_modeler_windows rational 6.0 31-dec-2020 uncounted \ 122110FF486B \ VENDOR_STRING=3121-08395|Nodelocked||rose_modeler_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Modeler Edition|" \ NOTICE="Living on the EDGE" ck=73 INCREMENT rose_vb_windows rational 6.0 31-dec-2020 uncounted \ E04C88E10BFE \ VENDOR_STRING=3121-08403|Nodelocked||rose_vb_windows:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Professional Visual \ Basic Edition|" NOTICE="Living on the EDGE" ck=187 INCREMENT rose_windows_datamodeler rational 6.0 31-dec-2020 uncounted \ E0E835F2A812 \ VENDOR_STRING=3121-09199|Nodelocked||rose_windows_datamodeler:6.0 \ HOSTID=ANY vendor_info="|Rational Rose Professional Data \ Modeler Edition|" NOTICE="Living on the EDGE" ck=93 INCREMENT soda_word rational 3.5 31-dec-2020 uncounted 5B992E6D2F03 \ VENDOR_STRING=3121-08483|Nodelocked||soda_word:3.5 HOSTID=ANY \ vendor_info="|Rational SoDA for Word|" NOTICE="Living on the \ EDGE" ck=122 INCREMENT xde_data_modeler rational 1.5 31-dec-2020 uncounted \ 7AB1AD660723 \ VENDOR_STRING=3121-09218|Nodelocked||xde_data_modeler:1.5 \ HOSTID=ANY vendor_info="|Rational XDE Data Modeler|" \ NOTICE="Living on the EDGE" ck=117 INCREMENT xde_data_modeler_net rational 1.5 31-dec-2020 uncounted \ 2185F93D37ED \ VENDOR_STRING=3121-09217|Nodelocked||xde_data_modeler_net:1.5 \ HOSTID=ANY vendor_info="|Rational XDE Data Modeler for .NET|" \ NOTICE="Living on the EDGE" ck=117 INCREMENT xde_modeler rational 1.5 31-dec-2020 uncounted 6E1D5B4DCEE5 \ VENDOR_STRING=3121-08989|Nodelocked||xde_modeler:1.5 \ HOSTID=ANY vendor_info="|Rational XDE Modeler|" NOTICE="Living \ on the EDGE" ck=136 INCREMENT xde_modelernet rational 1.5 31-dec-2020 uncounted \ 24DFA0065D37 \ VENDOR_STRING=3121-08990|Nodelocked||xde_modelernet:1.5 \ HOSTID=ANY vendor_info="|Rational XDE Modeler for .NET|" \ NOTICE="Living on the EDGE" ck=116 INCREMENT xde_projava rational 1.5 31-dec-2020 uncounted F154C18B9DDD \ VENDOR_STRING=3121-09044|Nodelocked||xde_projava:1.5 \ HOSTID=ANY vendor_info="|Rational XDE Developer for Java|" \ NOTICE="Living on the EDGE" ck=146 INCREMENT xde_pronet rational 1.5 31-dec-2020 uncounted 051B86C973ED \ VENDOR_STRING=3121-08809|Nodelocked||xde_pronet:1.5 HOSTID=ANY \ vendor_info="|Rational XDE Developer for .NET|" NOTICE="Living \ on the EDGE" ck=133 INCREMENT xde_proplusjava rational 1.5 31-dec-2020 uncounted \ EC041042E454 \ VENDOR_STRING=3121-09699|Nodelocked||xde_proplusjava:1.5 \ HOSTID=ANY vendor_info="|Rational XDE DeveloperPlus for Java|" \ NOTICE="Living on the EDGE" ck=109 INCREMENT xde_proplusnet rational 1.5 31-dec-2020 uncounted \ D091A06FA16F \ VENDOR_STRING=3121-08491|Nodelocked||xde_proplusnet:1.5 \ HOSTID=ANY vendor_info="|Rational XDE DeveloperPlus for .NET|" \ NOTICE="Living on the EDGE" ck=133 INCREMENT xde_tester rational 1.5 31-dec-2020 uncounted A3FA61CA2114 \ VENDOR_STRING=3121-09041|Nodelocked||xde_tester:1.5 HOSTID=ANY \ vendor_info="|Rational XDE Tester|" NOTICE="Living on the \ EDGE" ck=132
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值