CN1142301A - 远程通信网络中以钥和锁进行跟踪 - Google Patents
远程通信网络中以钥和锁进行跟踪 Download PDFInfo
- Publication number
- CN1142301A CN1142301A CN95191826A CN95191826A CN1142301A CN 1142301 A CN1142301 A CN 1142301A CN 95191826 A CN95191826 A CN 95191826A CN 95191826 A CN95191826 A CN 95191826A CN 1142301 A CN1142301 A CN 1142301A
- Authority
- CN
- China
- Prior art keywords
- code sequence
- processor
- lock
- value
- key value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 197
- 230000009471 action Effects 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000007246 mechanism Effects 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000004913 activation Effects 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 123
- 230000003213 activating effect Effects 0.000 claims description 26
- 230000000694 effects Effects 0.000 claims description 11
- 230000000875 corresponding effect Effects 0.000 description 28
- 230000003044 adaptive effect Effects 0.000 description 13
- 230000006854 communication Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- YHVHQZYJGWGAKN-ZUWUZHNASA-N (3s,6s,9r,12s)-6-(4-aminobutyl)-12-benzyl-9-(1h-indol-3-ylmethyl)-3-[(1r)-1-phenylmethoxyethyl]-1,4,7,10,13-pentazacycloicosane-2,5,8,11,14-pentone Chemical compound O([C@H](C)[C@H]1C(NCCCCCCC(=O)N[C@@H](CC=2C=CC=CC=2)C(=O)N[C@H](CC=2C3=CC=CC=C3NC=2)C(=O)N[C@@H](CCCCN)C(=O)N1)=O)CC1=CC=CC=C1 YHVHQZYJGWGAKN-ZUWUZHNASA-N 0.000 description 2
- 101150117862 CPP1 gene Proteins 0.000 description 2
- 241001673391 Entandrophragma candollei Species 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 101100007583 Entamoeba histolytica CPP2 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 201000009813 cataract 31 multiple types Diseases 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/24—Arrangements for supervision, monitoring or testing with provision for checking the normal operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/24—Arrangements for supervision, monitoring or testing with provision for checking the normal operation
- H04M3/241—Arrangements for supervision, monitoring or testing with provision for checking the normal operation for stored program controlled exchanges
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54575—Software application
- H04Q3/54583—Software development, e.g. procedural, object oriented, software generation, software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Exchange Systems With Centralized Control (AREA)
- Storage Device Security (AREA)
- Saccharide Compounds (AREA)
- Lock And Its Accessories (AREA)
- Debugging And Monitoring (AREA)
Abstract
揭示了一种检测在远程通信网络中发生的事件的方法和设备,此远程通信网络包括有多个存贮程序控制(SPC)交换机(30),每一交换机构包括有一转换机构(32)和多个用于执行软件程序以控制该转换机构(32)的处理器(34)。在软件程序(40、43、45)的选定部分中产生代码序列,即数据自远应鉴定监视程序(DAEMON46),各代码序列包含有响应一定事件的条件语句和至少一个由检测满足该条件语句的某一事件所引起的动作,对每一代码序列均指定一锁值,各锁值唯一地识别对应的代码序列并能用来激活执行该代码序列的处理器(34)。将一钥值(49)与各锁值进行比较,在当此钥值(49)等于锁值时选择激活执行该代码序列的处理器(34)。如果所检得的事件满足条件语句,处理器(34)即执行此代码序列中指明的动作并继续执行软件程序,藉此维持SPC交换机(30)中的连接处理。
Description
本发明文件所揭示内容中部分包含受版权保护的材料。版权人对出现在专利商标局中、专利文档或记录文件中由专利文件或专利公开所进行的精确复制均不持异议,但其他场合均保留所有合法版权。
本发明是关于远程通信网,更具体说是关于借助钥和锁机制对远程通信网进行跟踪的软件。
现今电话业务通过集中式交换设施为大量消费者、即电话用户服务。如图1所示,中心局10中的集中式交换机对发往和来自地区电话用户12的呼叫进行交换控制,并经由局间中继线路14与网络中其他中心局10进行通信。各中心局10及其服务的用户12由长途局16通过长途连接中继线路18连通到其他地区,这是本行业中所公知的。中心局10还可以直接通过商用中继线22或者间接地由(交换)机间中继线24连接到客户专用交换设备,例如私用自动交换分机(PABX)20。PABX20将其他地区电话用户12连接到该网络,以及其他的用户终端,例如计算机26和传真机(图中未作出)。这些用户终端也能被连接到中心局10。图1中以28总体标明的整个网络,或者它的任一部分,均仅仅是作为一远程通信网的示例。
中心局10和长途局16的各个转换器以及各PABX一般均为包含有转换设备32和控制此转换设备32的处理器34的存贮程序控制(SPC)交换机30,如图2中所示。SPC交换机30通过上述为用户终端服务的转换设备32连接到中继线。各SPC交换机30必定在处理一简单的电话呼叫中执行一定的功能。例如,SPC交换机30必须监视和检测用户电话机摘机发动呼叫时的用户请求服务。一旦SPC交换机30意识到发生呼叫,亦即检测到某一线路的摘机状态,SPC交换机30必须接通中继线例如通过拨号音通知用户,SPC交换机30已准备就绪由用户接收信息,以及用于接收这一信息的装置。诸如呼叫号等的信息由用户利用旋转拔号盘或触摸音频键盘输入,在SPC交换机30处被接收并记录。而后这一信息必须由SPC交换机30加以解释以识别被呼叫线路的地点。
如果被呼叫方和呼叫方是同一中心局的用户,例如经由中心局10(a)的电话用户12(a),则该呼叫即为局内呼叫。在这种情况下,对被呼叫线路进行记录检测,如果被呼线路空闲,就向呼叫方发出信号,例如利用可闻振铃产生振铃声。在等待被呼叫方回答或呼叫方放弃期间被呼叫线路受到监控。如果被呼叫方回答,就在双方之间建立话音通道。此话音通道在对话期间被加以监控,并在一方挂机和线路成为挂机状态时被切断。
另一方面,如果被呼叫方是一不同中心局的用户,例如中心局10(a)和10(b)的用户12(a)和12(b),该呼叫即为局间呼叫。在这种情况下,搜索连接到操纵被呼叫方的中心局10(b)的、或连接到能促使该呼叫进一步到达被呼叫方的中心局10(b)的远途局16的空闲局间中继线14。有关被呼叫号的信息由起始中心局10(a)发出,由将该信息传送给终到中心局10(b)的长途局16接收。如果被呼叫方的线路忙碌,或者此呼叫在网络中某处受阻,或者所有必须的局间中继线均忙碌,即利用可闻占线、快速占线或重拔忙音通知呼叫方。
SPC交换机30要进行的工作分成两个主要类别:(1)扫描用户终端以检测变化状态的例行程序;和(2)需要很高计算能力和大量数据的复杂分析和诊断。第一类的示例是检查用户12是否由其电话提起电话听筒。这一操作每秒钟进行数次。第二类工作的示例包括有前进路由或不同业务量量度的选择。如这些举例所表明的,SPC交换机30被设计得应能响应一定的事件,它们或者可能是外部的,例如当一用户摘机提起话筒时,或者也可能是内部的,例如处理器34的软件中的指令步骤。处理器34的软件执行许多任务,包括上面指出的那些,它们均由一软件信号或软件消息,亦即包含有专用于任务的相关数据的软件指定启动。软件信号或软件消息可被作为SPC交换机30所执行的诊断的部分加以跟踪。当一个体命令跟踪一软件信号时,包含其数据的该信号在每次该信号被发送时均加以存贮以作稍后分析。显然,必须避免长时间周期的信号跟踪,特别是在远程通信网络上业务量很大的期间,以免系统能力过负荷。
因此,远程通信网通过在多个不同的处理机上,例如图2中所示的处理器34,执行数千条软件指令来完成许多并发任务以响应事件,并通过信号跟踪来存贮上千个软件信号以检测软件中的差错或调试软件。因为远程通信网的业务是持续的,所以需要“连续处理”的能力,亦即,处理器34不能因任何原因而被切断。就此而言,这种连续处理系统需要专用的差错检测和纠错技术。适用于其他系统的技术在一远程网络中不起作用。例如美国专利No.4937864(1990.6.26授权)揭示用于查找复印机中差错的一种技术。但是,这一方法仅能在复印机被关断时应用,因而不能在远程通信网中运用。通常的差错检测和纠错技术不适合用于远程通信网中。
当前的跟踪系统对检测某些类型的差错也是无效的。当前的系统的灵敏度不足以检测在一处理器上执行着的少量指令,因为跟踪系统无法寻址信号间指令的某些短暂存在的线索。当差错使得在执行大量指令后发生故障,此同一系统成为太灵敏,因为必须存贮超过SPC交换机能力的长时间存在的指令线索。本发明的方法和系统克服这些或其他缺点,并提供能检验短暂线索的增强的跟踪能力,同时依靠有选择地存贮信息来以很少的存贮容量消耗分析包含大量跟踪信息的长时间的线索。
一方面,本发明表明要丢弃无关紧要的跟踪信息以减少所需的存贮量。因为存贮需求量降低,就有可能检查跟踪线索中所有消息以及表示高级应用软件与低级操作软件之间的关系的一专用程序序列的执行,来解决困难问题。
这也克服了因许多用户同时进行跟踪所引起的问题。许多用户可通过许多不同的处理器进行跟踪而不互相干扰。本发明还可用来为源码调试程序产生断点。本发明还可从用于在综合测试的最初阶段对跟踪线索进行纠错,或利用跟踪机制检测与某些故障相关的特定事件,或辨识处于高级和低级程序之间的差错。
在另一更具体的方面,本发明涉及用于检测远程通信网络中发生的事件的方法和装置,此网络由存贮程序控制(SPC)交换机构成,各个SPC交换机包括一转换机构和执行软件程序控制该转换机构的处理器。代码序列,即数据自适应鉴定监视程序(DAEMON),插入在软件程序的被选择部分中,各代码序列包含一响应某些事件的条件语句和至少一个由检测某一满足该条件语句的事件引起的活动。这些代码序列的每一个均被指定一锁值,各锁值唯一地识别对应的代码序列并为执行该代码序列进行操作以激活处理器。将一个钥值与各锁值加以比较,以便在当该钥值等于锁值时有选择地激活处理器来执行代码序列。如果被检测的事件满足条件语句,处理器即执行该代码序列中指定的活动,并继续执行软件程序,由此来维持SPC交换机中的连续处理。
现在参照下面结合附图所作的说明来较详细地了解本发明及其另外的目的和优点,所列附图简要说明如下:
图1示意说明可实现本发明的、包含有专用和区域交换机的一远程通信网络;
图2示意说明被应用于图1的远程通信网络中的包括一转换机构和处理器的SPC交换机;
图2A为图2中所示的SPC交换机的第一实施例的示意图;
图2B为图2中所示的SPC交换机的第二实施例的示意图;
图3A为说明在图2B中所示SPC交换机的处理器上执行的软件的方框图;
图3B为在图3A中所示处理器上执行的包含有按照本发明的跟踪工具的软件的图形表示;
图4为按照本发明作线索跟踪由图3B的跟踪工具所采用的锁和钥技术的图形表示;
图5为表明按照本发明用于一电话呼叫的处理的图1的PABX交换机网络的示意图;
图6为贯穿在类似于图2B中所揭示的一交换机上执行的进程的跟踪线索的示意图;
图7为贯穿在类似于图2B中所揭示的一交换机上执行的进程的另一组跟踪线索的示意图;
图8为贯穿在类似于图2B中所揭示的一交换机上执行的进程的又一组跟踪线索的示意图;
图9为表明按照本发明用于电话呼叫的处理的图1网络的任一部分的示意图;
图10为按照本发明处理二个电话呼叫时图9的访问、服务和控制处理的示意图;
图11为按照本发明连接到一简单装置处理器的图9的访问处理的示意图;
图12为说明按照本发明生成一运行前的数据自适应鉴定监视程序的处理的流程图;
图13为说明按照本发明生成运行时数据自适应鉴定监视程序的处理的流程图;
图14为说明图13中所生成的运行时数据自适应鉴定监视程序的执行的处理器中程序存贮器的图形表示;
图15为用于单一跟踪的字方法的图形表示;
图16为用于多重跟踪的字方法的图形表示;
图17为说明用于图15中所示字方法的钥-锁编码的流程图;
图18为说明用于图16中所示字方法的钥-锁编码的流程图;
图19为用于单一跟踪的位方法的图形表示;
图20为用于多重跟踪的位方法的图象形表示;
图21为说明用于图19中所示的位向量方法的钥-锁编码的流程图;和
图22为说明用于图20中所示位向量方向的钥-锁编码的流程图。
由图2和图2A总的看来,SPC交换机30可以是,例如说,Telefonaktiebolaget L M Ericsson(以下称“Ericsson”)所制造的被叫作AXE类型交换机。AXE的处理器34详细情况如图2A所示,包括有一连接到与转换设备32相通信的多个区域处理器(RP)36的中央处理器(CP)35。各区域处理器(RP)36和中央处理器(CP)35均包含一中央处理单元(CPU)和存贮器(STR)。区域处理器(RP)36协助中央处理器(CP)35完成SPC交换机30中所发生的例行任务。但所有决定均由中央处理器(CP)35做出。这种层次结构在本说明中引用作为参考的、由Ericsson出版的名为“AXE入门”(EN/LZT101 548 R2A)一书中有更详细说明。不过,SPC交换机30也可以是一种具有分布式结构、而不是层次结构型式的多个处理器34的设置,例如象图2B中以37总体表示的那样,包括共用资源(common-pool)处理器(CPP)38和专用装置处理器(DP)39,全都直接与转换设备32联系。
每一共用资源处理器(CPP)38和装置处理器(DP)39均具有其自身的CPU和STR,而且它们全都通过转换设备32相互通信。全部共用资源处理器(CPP)38在此远程通讯网络中均具有同等的重要性。在这样的分布式系统中,软件应用程序40-42(图3A)被建立在一装载于处理器37顶部的共用操作系统43上,它们全部都对该操作系统43显现为具有同一存贮器核44。不同的应用程序将需要不同的处理器,但它们均将运行在同一操作系统43上。所有应用程序40-42的执行均在为在处理器37上运行所存贮的多个不同进程(图中未作出)内进行。这样,一个进程即为执行一应用程序的环境。例如,应用程序40的执行可能需要数个在功能上分布于多个处理器而协同操作的进程。一般在每一处理器38、39上将同时运行数千个进程。
更具体地参看图3B,在操作系统43上运行的应用程序40当在一进程中执行时与核心44的运行时期部分,亦即内核45进行通讯。这样,内核45即控制运行期间进程的执行。执行-应用程序期间所有相关的事件均由一跟踪工具47监视,后者是操作系统43和内核45中的一个子程序。事件检测是通过在软件中任何级别插入代码序列,亦即数据自适应鉴定监视程序(daemons)46来达到的,如通过应用程序40、操作系统43和内核45中分布的小圆圈所示。数据自适应鉴定监视程序46被分配在代码中需要分析的某些地址上,并总包含有一组预先定义的过滤条件和对应的动作。这样的数据自适应鉴定监视程序的一个示例如下:
if(ON) if(condition 1=true) a ction 1; if(condition 2=true) action 2;
c1993 Telefonaktiebolaget LM Ericsson其中,例如说,condition 1(条件1)为第一变量或状态,condition 2(条件2)为第二变量或状态,而action 1(动作1)可能为一事件记录而action2(动作2)可能为另一跟踪的起始。用于这些判定中的变量可以是由系统读出的变量或者是属于跟踪工具47自身的变量。在后一情况下,这些变量可被用来对发生一特定事件的次数进行计数,然后仅在该计数超过某一预定数时执行相应的动作。当应用程序40-42开始执行时,它们将所有被存贮的数据自适应鉴定监视程序46的标识输出给跟踪工具47。跟踪工具47验明网络中所存的数据自远应鉴定监视程序46,包括驻留在形成该远程通信网的其他处理器上的代码中的那些,并输出一数据自适应鉴定监视程序46的清单和说明给设计人员和证明人。
一数据自适应鉴定监视程序46将如所存贮数据加以定义的可能处于激活状态或不激活状态。如果一数据自适应鉴定监视程序46为激活状态,就要在执行期间加以检验。如果该数据自适应鉴定监视程序46为非激活态,内核45就越过此数据自适应鉴定监视程序46继续执行。按照本发明,跟踪系统由利用与一种“锁和钥”“lockand key”技术相关的赋活状态来加以激活或不激活。更详细地参看图4,以48表明的线索跟踪在垂直箭头处开始并以水平箭头表示连续执行。线索跟踪48的这一部分包括代码中形成的数个数据自适应鉴定监视程序(以下将简称为DAE MON),DAEMON1、2和3,并以小圆圈代表;而与各DAEMON相关的“锁”(“LOCK”),分别为锁1、2和3,被作为数据存贮。每一DAEMON 46均有一个名称、一简短说明和存放在跟踪工具47中的它的“锁表”(“LOCK-table”)的地址,下面它们将被合称为“DAEMON综合信息”。
当线索跟踪开始时,一钥49被附加到在执行期间所发送的所有软件信号或消息。如果此钥49与该锁不符合,此DAEMON即不被激活而继续执地代码。但如果钥49与锁相符,就打开该DAEMON,亦即被激活。较详细地参看图4,钥49与锁1不相符号,从而继续执行代码而不激活DAEMON1,如空白圆圈所指明的。但,钥49符合锁2激活DAEMON2,如实心圆圈所指明的。在检测完DAEMON2的预定的过滤条件和进行相应的动作之后,继续执行代码。由于钥49也与锁3不相符,所以继续执行而不激活DAEMON3,如空白圆圈所指明的。在线索跟踪操作期间所收集的信息首先被加以过滤,然后在提供给设计人员之前被存贮进一跟踪缓存器中。
此跟踪工具47与一调试程序之间的最重要的区别在于,在前者的情况下,在进行某一或某些操作后总是继续执行代码;而在一调试程序中由设计人员的干予不完全地停止执行。这样,调试程序停止软件的执行,而跟踪工具47则因为连续处理系统的需要在完成动作后继续执行。因此,一DAEMON46控制对代码的访问而不完全停止代码的执行。
当在代码中一特定地址插入一DAEMON 46时,就可独立地监视哪一进程或线索的点或目标是激活的,亦即点跟踪。参看图4,例如,当点跟踪被设置成激活时每次通过DAEMON 2的执行均将被跟踪。但当操作系统43的设计人员激活或去激活钥结构以打开一特定进程中的全部DAEMON 46时,这就是进程跟踪。在进程跟踪时,设计人员具有调试该进程的能力。但如果除进程跟踪外,钥结构被指定给由一进程发送的所有软件信号或消息的话,这就是线索跟踪。为另外的进程接收到这样的消息时,此钥结构即被指令给该接收机构,并在接收进程激活时被激活。这一接收进程可被配置到远程通信网中不同的处理器37。因之,如果人们希望分析在许多分布于数个处理器37上的进程中执行的应用程序40,点跟踪就确定由一进程传播到另一进程的跟踪线索的起始。
线索跟踪可由另一个与电话呼叫有关的例子来说明,该电话呼叫是许多进程的组合。总的参看图1而较具体的参看图5,在终端12(c)摘机试图由始发PBX20(c)经由中继线24到终到PBX20(a)建立与终端12(d)的用户B的语言通道时,用户A启动一跟踪线索50的执行。假定PBX20(c)和20(d)均为图2B中所示的SPC交换机型式,两者就均包含有连接到相应终端12(c)和12(d)的共用资源处理器(CPP),CPP1至CPP4。各个PBX 20(c)和20(d)包含有另外的处理器(图中未作出),例如象连接到中继线24的独立的装置处理器(DP)39。与呼叫启动相关的应用程序在多个不同的进程中执行,如以上所述,其中一些如图5中截角方框51-55所示的,在指明的处理器上运行。跟踪线索50借助软件信号或消息56-59在进程51-55之间传播。
用户A和B二者分别由在CPP1和CPP4上运行的访问进程A和B进行服务。当进行呼叫时,始发侧A的访问进程51建立一控制始发侧A在CPP2上的业务量处理的业务控制进程52。当在多个分析之后已确定该呼叫的终到侧时,业务控制进程52即请求建立一个用于控制终到侧B的类似的进程,亦即在CPP3上运行的业务控制进程54。终到侧B上的业务控制进程54依靠在CPP4上运行的访问进程55检测用户B的可能性。构成跟踪线索50的进程51-55由消息56-59链接。始发侧A的访问进程51中的跟踪线索50的部分包含三个以跟踪线索50上小圆圈表示的DAEMON,它们是在访问进程51的代码中的特殊地址上插入的。这里的线索跟踪操作与上面图4中关于DAEMON1、2和3所述的相同,除开这种情况中所有的DAEMON均被预先定义为用于一单个进程(访问进程51),而不是分布在数个进程上这一限制之外,对于按照不同数据被激活的其他进程52、54、55,也适用于同样的说明。例如,始发侧A上不完全呼叫进程中插入的DAEMON均未被激活,如空白圆圈所指明的,从而代码经过它们继续执行。然而终到侧B不完全呼叫进程54中的第一和第二DAEMON,如实心圆圈所指明的,已被发送到业务控制进程54的消息上所携带的钥激活。
参看图6,示出了多个进程60、62、64和68,用于较详细地说明线索跟踪方法。进程60-68内围成的矩形每一个表示一组含有数行以水平线代表的、为一处理器执行的代码。同一组代码可由不同的进程采用。例如进程62和64中的代码组可以是同样的。一跟踪线索的起始必定由一用于点跟踪的DAEMON确定,此时所引起的动作之一将如上所述起动线索跟踪。起努一跟踪线索的DAEMON可检测系统中的任何事件,不管是象如上述的“摘机”那样的外部事件还是一内部事件。一内部事件也可确定另一跟踪线索的开始。事实上,每一指令步骤或一行代码均能是一跟踪线索的开始。应指出,虽然一些DAEMON的插入主要是用作线索跟踪的起始点,而所有的DAEMON均可用于点跟踪。
通常,一跟踪线索是一执行分支树,如图6中所示。例如,在进程60中代码行60(1)插入的第一DAEMON,如暗行所表明的,开始线索跟踪并指定一标识给该跟踪线索。此跟踪线索贯穿其他进程形成分支60a、60b、62a、62b和64a。二个分支可互相独立地穿过同一进程,象分支62a和64a那样,两者穿过并在进程68结束。参看图7中同一进程的另一个举例,进程60中代码行60(5)所插入的第二DAEMON和进程64中代码行64(2)所插入的第三DAEMON两者起动线索跟踪并将标识分配给对应的跟踪线索。在这一示例中有二个独立的跟踪线索,一个包括分支60b、62a和62b,而第二个仅包括分支64a。第一DAEMON未在进程60中代码行60(1)插入一跟踪线索因为它未激活,所以此跟踪系统将不包括分支60a作为一跟踪线索,因为无跟踪标识。但两跟踪线索仍然穿过并在进程68结束。
现在参看图8,有可能对一跟踪线索分配变量(V),即线索定界变量。这些线索定界变量可被用于对发生一定事件的次数进行计数,或用于按照先前的事件改变跟踪线索中的DAEMON的特性。这样的DAEMON可根据上述的某种判定作为一动作更新任一变量。如果在一跟踪线索中线索定界变量被更新,它仅仅在该跟踪线索的这一特定分支中有效。这样,虽然分支62b被更新了两次(V=2),而分支62a则仅被更新一次(V=1)。与此同时,分支60a和64a则未受另外二分支的更新影响(V=0)。
如上面指出的,与一呼叫有关的应用程序在大量可在不同处理器上进行的进程中执行。因而,可按类似于图6-8中所示的方式不涉及处理器地描述一呼叫。一个呼叫所需的全部进程可以更简单地进行说明而不必考虑处理器,如图5中所示。一以进程说明的完整的呼叫表明在图9-11中。较具体地参看图9,这里表示出一呼叫所需的较重要进程的示意图。这些进程包括访问进程(AC)71和72,服务进程(SE)73和74,业务控制进程(TC)75和76,以及通信进程(COM)77和78。一个进程可以是静态的也可以是动态的,这取决于进程是否是整个时间均是必须的,亦即静态进程,或者是仅仅在执行特定工作期间所需的,亦即动态进程。静态进程在装载软件和一处理器开始执行时由网络的配置定义,并没有限制地包含访问和服务进程。静态进程的另一例子是一呼叫的建立和监控。业务控制和通信进程为动态进程的举例。
运行中静态进程与动态进程之间没有区别。双方用户均由访问进程(AP)71和72加以服务。当始发用户提起听筒进行呼叫时,即启动如下的以箭头81-96代表的消息序列。访问进程(AP)71以发送消息81安排一不完全呼叫,以生成业务控制进程(TC)75(在不完全呼叫进程中仅一步),后者再发送一消息82至服务进程(SE)73以得到关于接收用户的信息,例如,电话号分析,地址确定,路面分析,收费和其他服务。服务进程(SE)73以发送消息83给始发业务控制进程(TC)75作为响应,后者在线路中选择一畅通的输出(outgoing)路线并将其保留用作传送消息84以生成终到业务控制进程(TC)76。终到业务控制进程(TC)76接收目的数据,并利用服务进程(SE)74通过消息85和86来分析该信息和检查被呼叫用户是否存在。如果该被呼叫用户存在,终到业务控制进程(TC)76即发送消息87给终到访问进程(AC)72以确定另一方是否能工作。如果该方能工作,访问进程(AC)72即由消息88通知业务控制进程(TC)76,后者通过消息89将该信息传送给始发业务控制进程(TC)75。然后始发的业务控制进程(TC)75经由消息90指令通信进程(COM)77确立一它原先保留的话音通道91。在此话音通道91被连接时,终到通信进程(COM)78即以发送消息92向终到业务控制进程(TC)76加以确认,后者返回消息93以确定返回话音通道94。当话音通道94连接到始发通信进程(COM)77时,消息95通知始发业务控制进程(TC)75连接完成。最后,始发业务控制进程(TC)75将消息96送回给始发访问进程(AC)71指出已完成了贯通连接。
着眼于上述的进程有利于对按照本发明的采用DAEMON进行跟踪的分析。更具体地参看图10,可看到按照本发明用于处理二个电话呼叫(A和B)的图9的访问(AC)、服务(SE)和业务控制(TC)进程的示意表示。此两个呼叫均由采用具有一个所插入的DAEMON D1的代码102的同一访问进程(AC)101进行服务。此访问进程(AC)101以分别发送消息107A和107B确立不完全呼叫,以生成独立的业务控制进程(TC-A,TC-B)103A和103B。虽然业务控制进程103A、103B是独立的,它们双方都利用含有两个DAEMON D2和D3的同样代码104。此两个业务控制进程TC-A和TC-B与采用含有一第四DAEMOND4的代码106的同一服务进程(SE)105相通信。这一例子将被用来说明数个不同的跟踪(T1、T2和T3)、线索和点跟踪,以及这些跟踪被怎样分组成独立的跟踪集合(I、II和III)。
第一跟踪T1为一点跟踪,此时如果满足一定条件,例如象用户1111正接入呼叫,第一DAEMON D1即启动一第二跟踪T2。点跟踪T1将被用于呼叫A和B二者,而如果第一DAEMON D1被激活,即启动二个贯穿其他进程的线索跟踪T2,以跟踪线索107A/108A/109A和107B/108B/109B表示,后面总称之为跟踪线索107-109。应当指出,此二跟踪线索107-109贯穿同一服务进程(SE)105,如上面概括地说明的。线索跟踪T2包括三个DAEMON D2、D3和D4,其中每一个如被激活即分别作为线索跟踪活动的部分存贮独立的数据X、Y和Z。这些数据可以是,例如,在该DAEMON被激活时所存贮的相应的进程相关数据和/或相应的系统级数据,例如象进程自己的标识号。第一跟踪集合,跟踪集合I,包括跟踪T1和T2,因为二者同时开始。
但是,一跟踪集合可以仅由一个跟踪组成。例如,第三跟踪T3可以是一由以相应的动作按一组预先定义的过滤条件判定的第二DAEMON D2启动的独立点跟踪。此判定条件可能是,例如说,“如果呼叫用户为1111、2222或3333中的任一个,即存贮数据XYZ”。第二跟踪集合II仅由第三点跟踪T3组成。这一例子说明,一个DAEMON可被用于一跟踪集合中的数个独立的跟踪。这样,第二DAEMON D2被用于第二和第三跟踪T2和T3双方,作为跟踪集合I和II的部分。跟踪T1-T3的全体可以被组合到一起成为一第三跟踪集合III以收集一个对话期间的所有信息。由这一示例论证的这种线索跟踪的一个重大优点在于,DAEMON能够存贮一连串事件的根源数据以便用作这些事件发生后重新审查。
DAEMON也可在为一装置处理器(DP)利用的代码中建立,例如装置处理器(DP)110,表明一进程111的两个例子,每一个均采用带有在其中建立的DAEMON D5的相同代码112。此装置处理器(DP)110可以是,例如,一专用于特殊终端设备的。装置处理器(DP)110经由消息116A、117A和116B、117B与一正为共用资源处理器(CPP)114执行的访问进程(AC)113进行通信。访问进程(AC)113再通过消息115A、118A和115B、118B以同样方式与其他进程,例如,图10中所示的访问进程(AC)101进行通信。虽然DAEMON D5与呼叫A和B两者共享跟踪信息,它仅有在钥与锁相符时才被激活。呼叫A的第一结索跟踪活动由跟踪线索115A/116A/117A/118A表示。如果消息115A中所含的钥值与DAEMON D5中存放的锁相符合,线索跟踪将成为如实箭头所表示的跟踪线索115A/116A/117A/118A并将存贮相应的数据。但如果第二呼叫B的消息中所获得的钥值与DAEMON D5的锁不符合,将不会产生线索跟踪活动,如以虚箭头表示的跟踪线索115B/116B/117B/118B。
DAEMON 46可在代码中不同的时间建立。它们可在运行时间之前的设计阶段期间产生,亦即运行前DAEMON46;或者随跟踪对话本身产生,亦即运行时DAEMON 46。一般的运行前的DAEMON 46为消息DAEMON,用于时间片和用于进程生成及删除的DAEMON,或者捕捉应用程序中的重要通用事件,例如“摘要”事件,的DAEMON。图12中表示一说明运行时间前DAEMON的产生的流程图,以121开始。设计人员首先定义DAEMON(122),然后将它们插入、即产生进应用程序代码(123)。在对应用程序进行编译时(124),它被链接到DAEMON(125),然后被装载进共用资源处理器(CPP)所用的主存贮器、即存贮装置。
运行时DAEMON 46可被动态地指派到一定的代码地址,并具有与预先定义的DAEMON同样的特点。运行时DAEMON通常被用于较详细地分析临界区域。它们的能力包含读取和判定运行时所定义变量和状态,以及登记这些变量和状态。运行时所定义DAEMON也可被设计来包含它们被产生的地点的应用程序的特殊环境。图13中表示生成运行时DAEMON(131)的流程图。设计人员首先定义DAEMON(132),而后编译该DAEMON(133)并将它们直接装载进共用资用处理器(CPP)采用的主存贮器,即存贮机构,以便为应用程序中随后的应用。操作系统和内核中的跟踪工具的函数性在应用程序中插入俘获。见图14。
运行时DAEMON和应用程序二者均被存放在程序存贮器中,如以141表明的,它表明为15行代码,其中DAEMON在行2-4产生,应用程序被存放在行9-11。在按照本发明完成俘获插入的进程之后,程序存贮器141如箭头142所指出的转变成143所示的形式,其中执行路径由箭头145-148表明。在应用程序执行前,命令“俘获调用2”被插在行10以代替应用程序的Y代码,后者在运行时DAEMON之后被插于行5,后面跟随一“俘获返回11”命令。当应用程序被执行时,如箭头145所指明的由程序存贮器143的行10转移到行2开始执行DAEMON。然后处理器执行DAEMON和由应用程序移出的Y代码,如箭头146所指明的。而后如箭头147所指明的由行6返回到行11使处理器继续执行,以便连续执行应用程序,如箭头148所指出的。而且重要的是应认识到,按照本发明应用程序的执行是连续的。操作中,运行时DAEMON 46的工作与运行前DAEMON46完全相同。因此,为使下述说明简化,除非另作说明,DAEMON 46将被作为运行前的DAEMON46加以引用。
如上面指明的,各DAEMON均有一锁表,DAEMON可通过其被激活或去激活。相应地,利用不同的方法来将锁结构分配给一DAEMON。如果网络很小而使得编译时发生名称冲突的危险最小,就可将每一DAEMON在编译时分派一唯一的锁结构。但如果此软件是在不同场合设计的,就存在较大的名称冲突危险而需要采用更复杂的方法。一种可能性是在装载时分配唯一的锁。在这种情况下装载程序必须注意名称冲突并为不同的装载模块同样的DAEMON指定不同的锁结构。如果跟踪发生在一大处理器网中,装载程序必须跟踪专用锁数据结构的共用数据库。另一种可能是在由跟踪工具47准备跟踪时给DOEMON分派唯一的锁。这使得同时活化的锁数减到最小,因为仅有那些被用于跟踪的锁必须分派到DAEMON。
当一个跟踪需要数个DAEMON时,通过指定一组中的所有DAEMON共同的锁数据结构而在组中将它们连接起来。这样,一单个连接到一消息的钥就将打开该组中所存的DAEMON。这种能将DAEMON连接一起成为一共同组的特点非常重要,因为这使得有可能跟踪一单个跟踪过程中的高级和低级事件,以同时确定相关事件的情况。下面将详细地说明另一种技术,它可与锁和钥方法相关连地用来链接一单个组中的DAEMON。
各DAEMON都具有一名称识别符,唯一地标识SPC交换机30中的DAEMON。如果DAEMON为一运行前DAEMON,此名称就必须是该远程通信网络中唯一的。为了优化跟踪期间DAEMON标识的读取和检查,DAEMON名称被改换为一运行标识。这种标识由一易于为DAEMON判定逻辑读出的字组成。此运行标识可在编译时间分配给DAEMON,如果在编译期间可将名称冲突的危险减至最小的话。但如果软件是在不同场合设计的,就无法控制名称冲突的危险。这样,就必须在装载时将运行标识指定给DAEMON。另一种可能是在跟踪工具47将准备该跟踪时将运行标识分派给DAEMON。跟踪工具47为跟踪过程中各DAEMON46指定一个数来作为运行标识。然后这些数字标识就被用来为跟踪中的各DAEMON46选择所希望的判定和动作。选择这些方法之一的机理与上述指定唯一锁结构是同样的。唯一的区别是运行标识没有被优化到与锁相同的程度,因而可用的标识数量较大。
钥和锁方法也可被用于调试,这使得有可能在运行期间调试一独立的活动或进程而不致干扰网络中的其他活动。借助将调试程序的断点连接到一跟踪线索,就可能调试数个进程。在到达一断点时,该部分或跟踪线索的分支的执行即停止,而其余部分继续通过多个进程。如上所述,按照本发明的连续执行的特点又成为跟踪与调试之间的差别。如果仅在达到断点时停止,跟踪线索的其他分支可以继续完成它们的动作。参看图7,例如,处理器62中的代码行62(b)处建立的一断点被激活就将终止跟踪线索的分支62b的执行,但分支62a的执行则将继续完成。在该调试程序发送“继续”命令之前,跟踪线索的分支62b将不可能继续执行。
如果调度程序接收到有关所接收的断点和相应的跟踪线索标识的信息,而且如果这一信息被送往所有能执行该跟踪线索的处理器的话,就可能停止一跟踪线索的全部动作。而且,跟踪线索必须在系统中的任何常规消息之前被发送,这就是说,调试系统必须排它地访问该通信设施中的最高优先级。如果这些条件均满足,调度程序就可以检查欲被调度的每项任务的跟踪线索标识,并暂停该进程直到接收到“继续”命令。
采用这些技术,还能检查和分析不常发生的故障。在这种情况下,自动重复跟踪线索并在发生故障前的各个周期内删除所得的跟踪信息。其中发生故障的跟踪线索的跟踪信息连同其它有关该故障情况的信息被加以存贮,以便能在较后时间加以分析。这些技术也可被用来确定一跟踪线索的二个分支到达一特定进程或断点的时间。这可能是重要的信息,因为很少发生的不合适的到达次序将产生难以检测的故障。参看图8,例如,如果分支62a和64a的到达次序失调,在进程68中代码执行期间就可能发生故障。为了检测这些定时或路线,情况,采用代码内线索定界变量(V)与进程嵌入变量的组合。线索定界变量表明跟踪线索的哪一分支实际上在执行中,而进程嵌入变量则被用于记忆这些分支哪一个最先到达。
此钥与锁方法被用来根据DAEMON的条件语句,例如上面引用的“if(ON)”语句,选择或不选择DAEMON。钥与锁的基本数据结构可由二种不同方法之一来实现。图15-18中说明的字方法或图19-22中说明的位方法。更具体地参看图15,字方法采用由一字组成的钥151(“字-钥”),它可能例如是与一消息152连接的16位长的字。将钥151与由应用程序在执行期间俘获的每一DAEMON 153相关联的锁相比较,即“是否相符”。只要此字钥与DAEMON 152中的一个锁相吻合,该DAEMON就被作为所满足的条件语句154的结果加以激活。每一包括此单一跟踪线索的DAEMON 153均具有其自己的锁表155,如对第一DAEMON D1所作出的那样。表155含有一个对于各DAEMON是唯一的锁,而在当运行时间前或运行时间内生成新的DAEMON时,按照设计人员的特定要求,表155将在每一跟踪对话期间被更新。通常,生成一组DAEMON,如图15中所示,其中所有的DAEMON 153均具有同样的锁号,亦即组锁号156,它使得连接到消息152的单个钥151能打开单个跟踪中的所有DAEMON 153,如上面概括地说过的。另一方面,锁表155可能是空的而仅仅在要求一定的DAEMON的跟踪对话开始之前的运行期间被更新。在运行期间进行更新具有保存跟踪时的能力的优点,因为未被选择的锁将不被读出。
DAEMON的直接插入部分(in-line portion)按如下编程:
if(key!=0){ for(i=0;locks[i]!=0;i++) if(key==locks[i]) daemon-on-call(); <dp n="d17"/> c1993 Telefonaktiebolaget LM Ericsson
更具体地参看图17,说明利用字方法的单个跟踪的钥-锁代码的流程图,以171开始。步骤1确定当前是否利用字钥151。这是将字钥的值与零比较来实现的(172)。如果字钥151的值等于零,即为不在使用中,因而终止该单个的跟踪(178)。但如果字钥151正在使用中(亦即其值不等于零),则将锁表155中所包含的每一锁与字钥151进行比较以确定字钥151是否将打开锁以激活DAEMON。第二步(173)将锁变量(“LIV”)的值初始化为零。为访问包含在一与被指定的DAEMON相关的锁表中的各个别锁必须一个LIV。第三步(174)访问锁表155和确定其中所含的锁是否有一个可被字钥151打开。这种访问是通过利用该LIV的值来与锁表155中所存放的单个锁(“被访问的锁”)相对应实现的。第四步是确定该被访问的锁是否在被应用中。这通过将被访问的锁的值与零相比较来完成(174)。如果此被访问锁的值等于零,它当前未在应用中,因此,锁表中所含有的其他锁均没有在应用中。从而此单个的跟踪即停止(178)。如果此被访问锁的值不等于零,则在第五步(175)确定字钥151是否将打开该锁。这通过将字钥151的值与被访问锁的值相比较来实现。如果字钥151的值等于被访问锁的值,就将激活相应被指定的DAEMON(176),方法进入第六步。如果字钥151将不打开被访问的锁,此方法也将前进到第六步。第六步(177)使LIV增1以便能访问锁表155中的不同锁。重复进行步骤三至六,直至被访问锁的值等于零,以使此单个跟踪停止(178)。
如上所述,可同时进行多个独立的跟踪,或者可与另外的跟踪对话同期地进行跟踪线索调试。总体地参看图16和18,这里示出了利用字方法的多重跟踪钥锁代码的图形表示和相应的流程图。较具体说,需要有一字钥表160来为进行二个跟踪存放钥,原始字钥151用于第一跟踪而一新的字钥161用于第二跟踪。各字钥151、161激活在其锁表155中具有对应锁号的DAEMON。例如,字钥151激活所有具有组锁号的DAEMON153,而字钥161则与一仅在二个DAEMON的锁表中发现的不同锁号相匹配。DAEMON的直接插入部分将按如下编程:
for(j=0;keys[j]!=0;j++) for(i=0;lock[i]!=0;i++) if(keys[j]==locks[i]) daemon-on-call(); c1993 Telefonaktiebolaget LM Ericsson
更具体地参看图18,一说明多重跟踪的钥锁代码的流程图于180处开始。步骤1将钥下标变量(“KIV”)的值初始化成为零(181)。因为进行二个跟踪的字钥151、161均存放在一钥表160中,所以需要一KIV。步骤二(182)比较由相应的KIV值访问的存放在该表中的字钥(“被访问字钥”)查看其是否正被应用中。如果此被访问字钥值等于零,则其不在应用中而停止多重跟踪(189)。但如果该字钥是在应用中(即其值不等于零),则将锁表155中所含的每一锁与此被访问字钥进行比较以确定此字钥151是否将打开锁激活DAEMON。第二步(183)将一锁下标变量(“LIV”)的值初始化为零。为访问与被指定的DAEMON相关的锁表中所含的各个别锁需要一LIV。第三步(184)访问锁表155以确定其中所包含的锁是否有一个能为此字钥151打开。进行此访问是通过利用LIV值与锁表155中存放的单个锁(“被访问锁”)相对应来实现的。第四步确定此被访问的锁是否正被利用中。这是将被访问锁的值与零比较(184)来完成的。如果此被访问锁值等于零,当前它不在应用中,而因此锁表中所含有的其他锁没有一个在应用中。从而停止多重跟踪(189)。如被访问锁的值不等于零,则在第五步(185)中确定此字钥151是否将打开此锁。这是由将字钥151的值与被访问锁值相比较来实现的。如果字钥151的值等于被访问锁值,则激活该有关的被指定的DAEMON(186)和该方法前进到第六步骤。如果字钥151不会打开被访问的锁,此方法也将前进到第六步。第六步(187)中使LIV增1以使其能访问锁表155中不同的锁。重复进行步骤四至六直到此被访问锁的值等于零,使得钥下标变量被增1(188)并且此方法前进到步骤2(182)。
图19和21给出了采用位方法的单个跟踪的钥-锁代码的图形表示和流程图,其中钥191(“位钥”)为一双向量,它包括用于各个被生成的DAEMON的一位组合格式192和一组相应的下标号193。此位钥191与一消息194连接,而那些未锁住的DAEMON 195在对应于与DAEMON号相符的下标号的位组合格式192中具有一逻辑1(“激活位”)。例如,位钥191的下标号组193按箭头196所指出的与DAEMON组195进行比较。每次匹配,条件语句197均按照位组合格式192中的对应位的状态激活或去激活该DAEMON。因此,作为位组合格式192中的激活位的结果,位钥191激活与下标号7相关的DAEMON7,而由于位组合格式195的相应位中的逻辑结果(“去激活位”)其余DAEMON 195则不被激活。位钥191的这种双向量性质省略了字方法中所需采用的锁表155。在当DAEMON 195被用于线索跟踪加以分组时,此位钥仅含有一用于该组上每一DAEMON的一个激活位。这一DAEMON的直接插入部分将按下述编程:
struck lock { int offset int mask }lock int key [MaxNoOfDaemons/Bits PerInt]; if(key[lock.offset]&lock.mask) { daemonDoActivations(); } c1993 Telefonaktiebolaget LM Ericsson
较具体地参看图21,说明利用位方法的单个跟踪的钥-锁代码的流程图于21 1处开始。一被指定的DAEMON由一位移和屏蔽变量组成。位移变量被用于访问与该被指定DAEMON相关的对应位钥。屏蔽变量被用来确定该位钥是否将激活此被指定的DAEMON。步骤1进行与此被指定DAEMON相关的位钥的比较(212)。这是通过将包含在位钥中的一激活/去激活(a/d)位与包含在被指定的DAEMON的屏蔽变量中的一对应屏位加以比较来实现的。如果此对应于屏蔽位的a/d位被激活(等于1),一DAEMON就被激活(213)并停止单个跟踪(214)。如果此时应于屏蔽位的a/d位被去激活(等于零),则停止单个跟踪(214)。
如上所述,可能同时发生多个独立的跟踪,或者一跟踪线索调试与另外的跟踪对话同时间进行。总体来参看图20和22,说明利用钥方法的多重跟踪的钥-锁代码的图形表示和相应的流程图。较具体地说,一个位钥表200被用来存放数个跟踪用的钥,用于第一跟踪的原始位钥191和用于第二跟踪的新的位钥201。各个位钥191、201均激活位组合格式192中具有相应激活位的DAEMON。例如,如果在位组合格式192的下标号1、2和7建立激活位,位钥201就可能激活全部DAEMON 195。
在这种情况下,DAEMON的直接插入部分将按下述编程:
struct lock { int offset int mask }lock int keyTable[MaxNoOfTraces][MaxNoOfDaemons/ /Bits PerInt]; int index; int usedIndex; for(index=0;index<=usedIndex;index++) <dp n="d21"/> { if(keyTable[index][lock.offset]&lock.mask) { daemonDoActivations(); } { c1993 Teleronaktiebolaget LM Ericsson
较具体地参见图22,说明采用位钥方法的多重跟踪的钥-锁代码的流程图,于221处开始。一被指定的DAEMON由一位移和屏蔽变量组成。位移变量用于访问与被指定DAEMON相关的对应位钥。屏蔽变量被用于确定一被指定的位钥是否将激活该被指定的DAEMON。步骤1(222)将下标变量值初始化为零。步骤2(223)将下标变量值与被采用的下标变量值进行比较。如果下标变量值小于或等于被采用下标变量的值,方法前进到步骤3(224)。如果下标变量值大于被采用下标变量的值,停止多重跟踪(227)。步骤3将一位钥中所含的激活/去激活(a/d)位与一被指定DAEMON中所含的屏蔽变量相比较。这种比较是通过利用此下标变量由一钥表访问与一特定跟踪相关的位钥(“被访问的位钥”)来实现的。然后利用被指定DAEMON的一位移变量访问被访问位钥中的相关a/d位(“被访问的a/d位)。如果此时应于一被指定DAEMON中的屏蔽位的a/d位被激活(等于1),此被指定的DAEMON即被激活(225)并且此方法前进到步骤4(226)。如果此对应于一被指定DAEMON中的屏蔽位的a/d位被去激活(等于零),此方法仍然前进到步骤4。步骤4将下标变量增1并前进到步骤2。
在此二方法中,在将钥结构作简单地扩大时可以同时发生数个跟踪。这使得数个独立工作的设计人员能进行跟踪和甚至同时分享跟踪线索的部分。二种方法均通过形成由一钥即可打开组由全部DAEMON的DAEMON组来连接一跟踪内的DAEMON。将DAEMON连接成一公共组是刚才描述的钥-锁方法的最重要特点之一。这种分组使得有可能以分支46a和46b来跟踪如图3B中所示的同一跟踪中的高级(应用程序)事件和低级(操作软件)事件以确定应用程序级操作系统事件的先辈。
字方法的主要优点在于,如果DAEMON的数量大于所采用的处理器的正常的字长,DAEMON的直接插入部分执行就较快。其原因是这样的处理器通常被加以优化成为以字而不是位进行工作。另一方面,位方法的主要优点则在于有关DAEMON组的信息在发生跟踪前无需加以信号化。因而位方法最适合网络中无处理器的中央管理机构时的系统,从而预先将不知道构成跟踪线索的部分的处理器。
当网络太大以至无法知道或预见构成跟踪线索的部分的处理器的数量时,和欠缺广播消息的通用方法的场合,钥以及完全的判定和动作表(qualifications-and-actions list)必须是由跟踪线索推演得的每一个消息的一部分。这是一个严重的缺点,因为被跟踪的消息需要较其他消息更多的空间,而由于这种原因被跟踪的跟踪线索的形为将与未被跟踪的不同。但对于实现类型是必要的网络,就必须应用位方法。另一方面,如果参与的处理器可被预先通知一定的跟踪,也易于传送组信息。在这种情况中,字方法利于保存能力。
在说明了本发明的细节之后,现在对本发明的运行加以回顾,而由跟踪对话起始,此对话如下开始:
(1)设计人员决定应被用于跟踪过程的DAEMON。在采用DAEMON组时,按照执行是否需要,系统将一组锁加给那些被定义为该组中的DAEMON。
(2)设计人员利用点跟踪定义跟踪线索的起始点。
(3)当执行通过起始点时由一DAEMON指定一跟踪线索标识并开始跟踪。
(4)在跟踪结束时对设计人员显示结果。
应看到,由前面的说明将能清楚了解本发明的操作和结构。虽然所描述和说明的方法、设备和系统是被作为优选的方案,但很显然,在不偏离所列权利要求中规定的本发明的精神实质和范畴的前提下可以进行各种不同的改变和修正。
Claims (52)
1.一检测远程通信网络中发生的事件的方法,此通信网络包括有存贮程序控制(SPC)交换机,每一SPC交换机均包括有一转换机构和用于执行软件程序控制该转换机构的处理器,其特征是所述方法包括有步骤:
在该软件程序的被选择部分建立代码序列,每一代码序列包含一响应一定事件的条件语句和至少一个检测满足该条件语句的某事件而引起的动作;
对每一代码序列指定一锁值,各锁值唯一地识别对应的代码序列并能用来激活处理器以执行该代码序列;
将一钥值与每一锁值进行比较以便有选择地激活处理器,在当钥值等于锁值时执行代码序列;
如果被检测事件满足该条件语句,执行该代码序列中指定的操作;和
在各动作被执行后继续执行软件程序,由此来维持SPC交换机中的连续处理。
2.权利要求1所述方法,其特征是所述各处理器包括有一处理单元和存贮器,和所述代码序列于SPC交换机的运行时间之前按下列步骤在软件程序中产生和插入;
定义该代码序列以包含条件语句、所引起的动作、和对应的锁值;
在软件程序中所选定部分植入代码序列;
编译软件程序并将经过编译的软件程序链接到该代码序列;和
将经编译的链接到代码序列的软件程序装载进处理器的存贮器中以便随后由处理单元在SPC交换机的运行时间内执行。
3.权利要求1所述方法,其特征是所述各处理器包括有一处理单元和存贮器,和所述代码序列在SPC交换机的运行时间由按下列步骤在被存放在存贮器中的软件程序中产生和插入;
定义代码序列以包含条件语句、所引起的动作和对应的锁值;
编译该代码序列并将经编译的代码序列装载进处理器的存贮器中;和
在软件程序中插入一俘获调用和在该代码序列中插入一俘获返回,藉此使处理单元的执行由软件程序转移到该代码序列和返回到软件程序。
4.权利要求1所述方法,其特征是还包括有步骤:
对至少两个代码序列指定一第二锁值以便在一组中唯一地识别它们,此第二锁值可用于激活处理器执行该组中的代码序列;
将钥值与第二锁值加以比较以便有选择地在该钥值等于该第二锁值时激活处理器以执行该组中的代码序列;和
如果被检测的事件满足相应的条件语句即执行该组的各代码序列中所指定的动作;
5,权利要求1所述方法,其特征是还包括步骤:
将各锁值与一第二钥值进行比较以便在第二钥值等于其锁值时选择激活处理器以执行一第二代码序列;和
如果被检测事件满足该条件语句执行该第二代码序列中指定的动作。
6.权利要求5所述方法,其特征是第一和第二代码序列相同。
7.权利要求1所述方法,其特征是所述钥值包括一具有预定位数的连接到一消息的字。
8.权利要求7所述方法,其特征是还包括有步骤:
指定一第二锁值到至少二个代码序列以便在一组中唯一地识别它们,此第二锁值可用于激活处理器以执行该组中的代码序列;
将该钥值与第二锁值进行比较以便在钥值等于第二锁值时有选择地激活处理器执行该组中的代码序列;和
如果被检测事件满足相应的条件语句执行该组各代码序列中指定的活动。
9.如权利要求8所述方法,其特征是还包括步骤:
将各锁值与一第二钥值进行比较,在当此第二钥值等于其锁值时选择激活处理器执行一第二代码序列;和
如果被检测事件满足条件语句执行该第二代码序列中指定的动作。
10.权利要求1所述方法,其特征是所述钥值为一包括位组合格式和各代码序列的对应指针号组的双向量,并且各代码序列的所述锁值为可根据位的状态进行激活的位组合格式中的对应位。
11.权利要求10所述方法,其特征是还包括有步骤:
将各锁值与一第二钥值进行比较当此第二钥值等于其锁值时选择激活处理器执行一第二代码序列;和
如果所检测事件满足条件语句执行第二代码序列中指定的动作。
12.一检测远程通信网络中发生的事件的方法,此通信网络包括有存贮程序控制(SPC)交换机,各SPC交换机均包括有一转换机构和执行软件程序控制该转换机构的处理器,其特征是所述方法包括有步骤:
在该软件程序的被选择部分建立代码序列,每一代码序列均包含一响应一定事件的条件语句和至少一个由检测到满足该条件语句的某一事件所引起的动作;
对每一代码序列指定一锁值,各锁值唯一地识别对应的代码序列并可用于或者激活处理器以执行该代码序列或者去激活处理器以便避开该代码序列继续执行软件程序;
将一钥值与各锁值进行比较当钥值等于锁值时选择激活处理器执行代码序列,或者在当钥值与锁值不等时去激活处理器以便避开该代码序列;
如果所检测事件满足条件语句即执行代码序列中所指定的动作;和
在各个活动被执行后继续执行软件程序由此来保持SPC交换机中的连续处理。
13.权利要求12所述方法,其特征是所述各处理器均包括一处理单元和存贮器,和其中代码序列于SPC交换机的运行时间前在软件程序中按下列步骤产生和插入;
定义代码序列以包含条件语句、所引起的动作、和对应的锁值;
在软件程序的被选定部分建立代码序列;
编译该软件程序并将经编译的软件程序链接到该代码序列;和
将链接到代码序列的经过编译的软件程序装载进处理器的存贮器以便随后由处理单元在SPC交换机的运行期间执行。
14.权利要求12所述方法,其特征是各处理器均包括一处理单元和存贮器,其中代码序列于SPC交换机的运行期间按照下列步骤在存贮于存贮器中的软件程序中产生和插入:
定义代码序列以包含条件语句、所引起的动作和对应的锁值;
编译该代码序列并将经编译的代码序列装载进处理器的存贮器;和
在软件程序中插入一俘获调用和在代码序列中插入一俘获返回,藉此使处理单元的执行由软件程序转移到代码序列和返回到软件程序。
15.权利要求12所述方法,其特征是还包括步骤:
给至少两个代码序列指定一第二锁值以便在一组中唯一地识别它们,此第二锁值可用于或者激活处理器以执行该组中的代码序列,或者去激活处理器以避开该组中的代码序列并继续执行软件程序;
将钥值与第二锁值进行比较在当钥值等于第二锁值时选择激活处理器以执行该组中的代码序列,或者在当钥值与第二锁值不相等时去激活处理器以避开该组中的代码序列;和
如果所检测事件满足相应的条件语句即执行该组各代码序列中指定的动作。
16.权利要求12所述方法,其特征是还包括有步骤:
将一第二钥值与各锁值进行比较在当第二钥值等于其锁值时选择激活处理器以执行一第二代码序列,或者在当第二钥值不等于其锁值时去激活处理器以避开该第二代码序列;和
如果所检测事件满足条件语句即执行该第二代码序列中指明的动作。
17.权利要求16所述方法,其特征是所述第一和第二代码序列是相同的。
18.权利要求12所述方法,其特征是所述钥值包括一具有预定位数的连接到一消息的字。
19.权利要求18所述方法,其特征是还包括有步骤:
给至少两个代码序列指定一第二锁值以在一组中唯一地识别它们,此第二锁值可用于或者激活处理器执行该组中的代码序列或者去激活处理器以避开该组中的代码序列和继续执行软件程序;
将钥值与第二锁值进行比较,在当钥值等于第二锁值时选择激活处理器执行该组中的代码序列,或者在钥值不等于第二锁值时去激活处理器以避开该组中的代码序列;和
如果被检测事件满足对应的条件语句即执行该组各代码序列中指定的活动。
20.权利要求19所述方法,其特征是还包括有步骤:
将一第二钥值与每一锁值进行比较在当第二钥值等于其锁值时选择激活处理器执行一第二代码序列,或在当第二钥值不等于其锁值时去激活处理器以避开该第二代码序列;和
如果被检测事件满足条件语句即执行该第二代码序列中指明的活动。
21.权利要求12所述方法,其特征是所述钥值为一包括位组合格式和针对各代码序列的一组对应指针号的双向量,而各代码序列的所述锁值为一能根据位状态用来激活或去激活的该位组合格式中的对应位。
22.权利要求21所述方法,其特征是还包括有步骤:
将一第二钥值与各锁值进行比较,在当第二钥值等于其锁值时激活处理器执行一第二代码序列,或者在当第二钥值不等于其锁值时去激活处理器以避开该第二代码序列;和
如果被检测事件满足条件语句即执行该第二代码序列中指明的动作。
23.一检测远程通信网络中发生的事件的方法,此通信网络包括有存贮程序控制(SPC)交换机,每一SPC交换机均包括有一转换机构和一执行控制该转换机构的软件程序的处理器,其特征是所述方法包括有步骤:
在该软件程序的被选择部分产生代码序列,各代码序列包含有一响应某一定事件的条件语句和至少一个因检测到满足该条件语句的某一事件所引起的动作;
给至少两个代码序列指定一锁值以在一组中唯一地识别它们,此锁值可用于或者激活处理器以执行该组中的代码序列,或者去激活处理器避开该组中的代码序列继续执行软件程序;
将一钥值与该锁值进行比较,在当钥值等于锁值时激活处理器以执行该组中的代码序列,或者在当钥值不等于锁值时去激活处理器以避开该组中的代码序列;
如果所检测事件满足相应的条件语句即执行该组的各代码序列中指明的动作;和
在各个动作执行之后继续执行软件程序藉此来保持SPC交换机中的连续处理。
24.权利要求23所述方法,其特征是还包括步骤:
将一第二钥值与各锁值进行比较在当此第二钥值等于其锁值时选择激活其他的处理器以执行一第二代码序列,或者在当第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
如果所检测事件满足条件语句即执行该第二代码序列中指明的动作。
25.权利要求23所述方法,其特征是所述钥值包括一具有预定位数的连接到一消息的字。
26.权利要求25所述方法,其特征是还包括有步骤:
将一第二钥值与各锁值进行比较在当此第二钥值等于其锁值时选择地激活另一处理器以执行一第二代码序列,或者在当此第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
如果所检测的事件满足条件语句即执行此第二代码序列中指明的动作。
27.一检测远程通信网络中发生的事件的设备,此通信网络包括有存贮程序控制(SPC)交换机,各SPC交换机均包括有一转换机构和执行控制该转换机构的软件程序的处理器,其特征是所述设备包括有:
用于在该软件程序的被选择部分中建立代码序列的装置,每一代码序列均包含一响应某些事件的条件语句和至少一个由检测满足条件语句的某一事件所引起的动作;
用于对每一代码序列指定一锁值的装置,各锁值唯一地识别对应的代码序列并能用于激活执行代码序列的处理器;
用于将一钥值与各锁值进行比较的装置,以便在钥值等于锁值时选择激活执行该代码序列的处理器;
用于在如果所检测事件满足条件语句时执行该代码序列中指明的动作的装置;和
用于在各个动作被执行后继续执行软件程序的装置,藉此维持SPC交换机中的连续处理。
28.权利要求27所述设备,其中各处理器均包括有一处理单元和存贮器,和其中代码序列于SPC交换器的运行时间前在软件程序中生成和植入,其特征是所述设备还包括有:
用于定义代码序列以包含条件语句、所引起的动作、和相应锁值的装置;
用于在软件程序的被选定部分产生代码序列的装置;
用于编译软件程序和将经编译的软件程序链接到代码序列的装置;和
用于将链接到代码序列的经编译的软件程序装载进处理器的存贮器的装置,以便随后由处理单元在SPC交换机的运行期间执行。
29,权利要求27所述设备,其中每一处理器均包括一处理单元和存贮器,和其中代码序列于SPC交换机的运行期间内在存放在存贮器中的软件程序中生成和植入,其特征是所述设备还包括有:
用于定义代码序列以包含条件语句、所引起的动作和对应锁值的装置;
用于编译代码序列和将经编译的代码序列装载进处理器的存贮器的装置;和
用于在软件程序中插入一俘获调用和在代码序列中插入一俘获返回的装置,藉此使处理单元的执行由软件程序转移到代码序列和返回到软件程序。
30.权利要求27所述设备,其特征是还包括有:
用于将一第二锁值指定给至少两个代码序列以便在一组中唯一地识别它们的装置,此第二锁值能用于激活处理器以执行该组中的代码序列;
用于将第二锁值与钥值进行比较的装置,以便在当钥值等于第二锁值时选择激活处理器以执行该组中的代码序列;和
用于在如果被检测事件满足相应的条件语句时执行该组各代码序列中指明的动作的装置。
31.权利要求27所述设备,其特征是还包括:
用于将各锁值与一第二钥值进行比较的装置,以便在此第二钥值等于其锁值时选择激活执行一第二代码序列的处理器;和
用于在如果所检测事件满足条件语句时执行此第二代码序列中指明的动作的装置。
32.权利要求31所述设备,其特征是所述第一和第二代码序列是相同的。
33.权利要求27所述设备,其特征是所述钥值为一具有预定位数的连接到一消息的字。
34.权利要求33所述设备,其特征是还包括有:
用于将一第二锁值指定给至少两个代码序列以便在一组中唯一地识别它们的装置,此第二锁值可用于激活为执行该组中的代码序列的处理机;
用于将第二锁值与钥值进行比较的装置,在当钥值等于第二锁值时选择激活为执行该组中的代码序列的处理器;和
用于在如果所检测事件满足相应的条件语句时执行该组的各代码序列中所指明的动作的装置。
35.权利要求34所述设备,其特征是还包括:
用于将各锁值与一第二钥值进行比较的装置,当第二钥值等于其锁值时选择激活执行一第二代码序列的处理器;和
用于在如果所检测事件满足条件语句时执行该第二代码序列中指明的动作的装置。
36.权利要求27所述设备,其特征是所述钥值为一包括一位组合格式和一组对应于各代码序列的相应指针号的双向量,和各代码序列的锁值为能根据位状态激活的该位组合格式中的对应位。
37.权利要求36所述设备,其特征是还包括:
用于将每一锁值与一第二钥值进行比较的装置,当此第二钥值等于其锁值时选择激活执行一第二代码序列的处理器;和
用于在如果所检测的事件满足条件语句时执行该第二代码序列中指明的动作。
38.一检测远程通信网络中发生的事件的设备,该通信网络包括有存贮程序控制(SPC)交换机,每一交换机均包括有一转换机构和为执行控制该转换机构的软件程序的处理器,其特征是所述设备包括有:
用于在该软件程序的被选定部分中建立代码序列的装置,各代码序列包含一响应某些事件的条件语句和至少一个由检测满足条件语句的某一事件所引起的动作;
用于给每一代码序列指定一锁值的装置,各锁值唯一地识别相应的代码序列并可用于或者激活执行代码序列的处理器,或者去激活该处理器以避开代码序列继续执行软件程序;
用于将一钥值与各锁值进行比较的装置,在当钥值等于锁值时选择激活执行代码序列的处理器,或者在当钥值不等于锁值时去激活该处理器以避开该代码序列;
用于在如果所检测事件满足条件语句时执行该代码序列中指明的动作的装置;和
用于在各动作被执行后继续执行软件程序的装置,藉此维持SPC交换机中的连续处理。
39.权利要求38所述设备,其中各处理器均包括有一处理单元和存贮器,和所述代码序列于SPC交换机的运行时间前在软件程序中生成和植入,其特征是所述设备还包括有:
用于定义代码序列以包含条件语句、所引起的动作、和对应锁值的装置;
用于在软件程序的被选定部分产生代码序列的装置;
用于编译软件程序并将经编译的软件程序链接到该代码序列的装置;和
用于将链接到代码序列的经编译的软件程序装载进处理器的存贮器中的装置,以便由处理单元随后在SPC交换机的运行期间执行。
40.权利要求38所述设备,其中各处理器均包括一处理单元和存贮器,而所述代码序列在SPC交换机的相应运行时间内在被存放在存贮器中的软件程序中生成和植入,其特征是所述设备还包括:
用于定义代码序列以包含条件语句、所引起动作和对应锁值的装置;
用于编译代码序列和将经编译的代码序列装载进处理器的存贮器的装置;和
用于在软件程序中插入一俘获调用和在代码序列中插入一俘获返回的装置,藉此,处理单元的执行由软件程序转移到代码序列并返回到软件程序。
41.权利要求38所述设备,其特征是还包括有:
用于将一第二锁值指定给至少两个代码序列的装置,以便在一组中唯一地识别它们,此第二锁值可用于或者激活处理器以执行该组中的代码序列或者去激活处理器以避开该组中的代码序列并继续执行软件程序;
用于将钥值与第二锁值进行比较的装置,在当钥值等于第二锁值时选择激活执行该组中的代码序列的处理器,或者在当钥值不等于第二锁值时去激活该处理器以避开该组中的代码序列;和
用于在如果所检测的事件满足相应的条件语句时执行该组的各代码序列中指明的动作的装置。
42.权利要求38所述设备,其特征是还包括有:
用于将一第二钥值与各锁值进行比较的装置,在当此第二钥值等于其锁值时选择激活执行一第二代码序列的处理器,或在此第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
用于在如果所检测事件满足条件语句时执行该第二代码序列中指明的动作。
43.权利要求42所述设备,其特征是所述第一和第二代码序列是同样的。
44.权利要求38所述设备,其特征是所述钥值为一预定位数的连接到一消息的字。
45.权利要求44所述设备,其特征是还包括有:
用于对至少两代码序列指定一第二锁值的装置,以便在一组中唯一地识别它们,此第二锁值可用于或者激活为执行该组中的代码序列的处理器或去激活该处理器以避开该组中的代码序列并继续执行软件程序;
用于将该钥值与第二锁值比较的装置,在当钥值等于第二锁值时选择激活处理器执行该组中的代码序列,或在当钥值不等于第二锁值时去激活处理器以避开该组中的代码序列;和
用于在如果所检测事件满足相应的条件语句时执行该组的各代码序列中指明的动作。
46.权利要求45所述设备,其特征是还包括有:
用于将一第二钥值与各锁值相比较的装置,在当此第二钥值等于其锁值时选择激活执行一第二代码序列的处理器,或在当第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
在如果所测事件满足条件语句时执行此第二代码序列中指明的动作的装置。
47.权利要求38所述设备,其特征是所述钥值为一包括一位组合格式和一组对应于各代码序列的指针号,而所述各代码序列的锁值为可用于根据位状态激活或去激活的该位组合格式中的对应位。
48.权利要求47所述设备,其特征是还包括有:
用于将一第二钥值与各锁值相比较的装置,在当此第二钥值与其锁值相等时激活执行一第二代码序列的处理器,或者在当此第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
用于在如果所检测事件满足条件语句时执行此第二代码序列中指明的动作。
49.一检测远程通信网络中发生的事件的设备,此通信网络包括有存贮程序控制(SPC)交换机,每一SPC交换机均包括一转换机构和执行控制此转换机构的软件程序的处理器,其特征是所述设备包括:
用于在软件程序的被选定部分中建立代码序列的装置,各代码序列均包含一响应一定事件的条件语句和至少一个由检测满足条件语句的某一事件引起的动作;
用于对至少两个代码序列指定一锁值的装置,用于在一组中唯一地识别它们,此锁值可用来或者激活处理器以执行该组中的代码序列或者去激活处理器以避开该组中的代码序列继续执行软件程序;
用于将一钥值与锁值相比较的装置,在当此钥值等于锁值时选择激活处理器以执行该组中的代码序列,或者在当此钥值不等于锁值时去激活处理器以避开该组中的代码序列;
用于在如果所检测事件满足相应的条件语句时执行该组各代码序列中所指明的动作的装置;和
用于在各动作被执行后继续执行软件程序的装置,藉此维持SPC交换机中的连续处理。
50.权利要求49所述设备,其特征是还包括有:
用于将一第二钥值与各锁值相比较的装置,在当此第二钥值等于其锁值时选择激活另一处理器执行一第二代码序列,或在当此第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
用于在如果所检测事件满足条件语句时执行该第二代码序列中指明的动作。
51.权利要求49所述设备,其特征是所述钥值为一具有预定位数的连接到一消息的字。
52.权利要求51所述设备,其特征是还包括有:
用于将一第二钥值与各锁值相比较的装置,在当此第二钥值等于其锁值时选择激活另一处理器执行一第二代码序列,或在当此第二钥值不等于其锁值时去激活该处理器以避开此第二代码序列;和
用于在如果所检测事件满足条件语句时执行此第二代码序列中指明的动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/203,277 US5471526A (en) | 1994-02-28 | 1994-02-28 | Tracing with keys and locks on a telecommunication network |
US08/203,277 | 1994-02-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1142301A true CN1142301A (zh) | 1997-02-05 |
Family
ID=22753278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95191826A Pending CN1142301A (zh) | 1994-02-28 | 1995-02-23 | 远程通信网络中以钥和锁进行跟踪 |
Country Status (13)
Country | Link |
---|---|
US (2) | US5471526A (zh) |
EP (1) | EP0748554A1 (zh) |
JP (1) | JPH09509807A (zh) |
KR (1) | KR970701469A (zh) |
CN (1) | CN1142301A (zh) |
AU (1) | AU710523B2 (zh) |
BR (1) | BR9506951A (zh) |
CA (1) | CA2183059A1 (zh) |
FI (1) | FI963332A (zh) |
MX (1) | MX9603514A (zh) |
NO (1) | NO963564L (zh) |
TW (1) | TW321815B (zh) |
WO (1) | WO1995024090A2 (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU727444B2 (en) * | 1994-02-28 | 2000-12-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Tracing with keys and locks |
US5471526A (en) * | 1994-02-28 | 1995-11-28 | Telefonaktiebolaget L M Ericsson (Publ.) | Tracing with keys and locks on a telecommunication network |
US5754861A (en) * | 1995-08-16 | 1998-05-19 | Motorola, Inc. | Dynamic program input/output determination |
JP3426428B2 (ja) * | 1995-10-27 | 2003-07-14 | 富士通株式会社 | トランザクションのトレース装置 |
US5740236A (en) * | 1995-12-21 | 1998-04-14 | Ericsson, Inc. | System for providing feature services in a telecommunications system |
US5940487A (en) * | 1996-04-10 | 1999-08-17 | Alcatel Usa Sourcing, L.P. | Programmable call processing system and method |
US6243453B1 (en) | 1996-07-17 | 2001-06-05 | Alcatel Usa Sourcing, L.P. | Programmable call processing system and method |
US5896535A (en) * | 1996-08-20 | 1999-04-20 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for testing computer system software |
US5799143A (en) * | 1996-08-26 | 1998-08-25 | Motorola, Inc. | Multiple context software analysis |
US5812759A (en) * | 1996-11-08 | 1998-09-22 | Allen Bradley Company, Inc. | Fault handling with loaded functions |
SE511875C2 (sv) * | 1996-12-19 | 1999-12-13 | Ericsson Telefon Ab L M | Samtals och förbindelse kontroll |
US5937159A (en) * | 1997-03-28 | 1999-08-10 | Data General Corporation | Secure computer system |
US5930334A (en) * | 1997-03-28 | 1999-07-27 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for monitoring the operation of telecommunications equipment |
US5999609A (en) * | 1997-04-04 | 1999-12-07 | Sun Microsystems, Inc. | Computer-telephony (CT) system including an electronic call request |
US6009525A (en) * | 1997-08-29 | 1999-12-28 | Preview Systems, Inc. | Multi-tier electronic software distribution |
US5930344A (en) * | 1997-10-14 | 1999-07-27 | At & T Corp. | Method and apparatus for tracing a specific communication |
US6083281A (en) * | 1997-11-14 | 2000-07-04 | Nortel Networks Corporation | Process and apparatus for tracing software entities in a distributed system |
US6513155B1 (en) * | 1997-12-12 | 2003-01-28 | International Business Machines Corporation | Method and system for merging event-based data and sampled data into postprocessed trace output |
US6047390A (en) * | 1997-12-22 | 2000-04-04 | Motorola, Inc. | Multiple context software analysis |
DE19835609C2 (de) * | 1998-08-06 | 2000-06-08 | Siemens Ag | Programmgesteuerte Einheit |
US6230313B1 (en) * | 1998-12-23 | 2001-05-08 | Cray Inc. | Parallelism performance analysis based on execution trace information |
US6301703B1 (en) | 1998-12-31 | 2001-10-09 | Nortel Networks Limited | Method for transforming state-based IVR applications into executable sequences of code |
US6738737B1 (en) * | 1999-02-18 | 2004-05-18 | Cirrus Logic, Inc. | Race condition ordering and functional verification system and method |
US7797193B1 (en) | 1999-06-10 | 2010-09-14 | Simplexity, Llc | Systems and methods for distributing telecommunication services via a network |
US6789253B1 (en) * | 1999-07-28 | 2004-09-07 | Hewlett-Packard Development Company, L.P. | Method, system, and apparatus to improve performance of multi-threaded computer programs |
US7729944B1 (en) | 1999-09-03 | 2010-06-01 | Simplexity, Llc | System and methods for buying and selling telecommunication services via a network |
US7028298B1 (en) * | 1999-09-10 | 2006-04-11 | Sun Microsystems, Inc. | Apparatus and methods for managing resource usage |
US7076400B2 (en) * | 2000-02-14 | 2006-07-11 | Nextnine Ltd. | Support network |
US7409318B2 (en) * | 2000-02-14 | 2008-08-05 | Nextnine Ltd. | Support network |
US7244853B2 (en) * | 2001-05-09 | 2007-07-17 | President And Fellows Of Harvard College | Dioxanes and uses thereof |
US7380239B1 (en) | 2001-05-31 | 2008-05-27 | Oracle International Corporation | Method and mechanism for diagnosing computer applications using traces |
US7376937B1 (en) * | 2001-05-31 | 2008-05-20 | Oracle International Corporation | Method and mechanism for using a meta-language to define and analyze traces |
US7212301B2 (en) * | 2001-10-31 | 2007-05-01 | Call-Tell Llc | System and method for centralized, automatic extraction of data from remotely transmitted forms |
US20030145255A1 (en) * | 2002-01-15 | 2003-07-31 | Harty Anthony Walter | Hierarchical multi-component trace facility using multiple buffers per component |
US7512954B2 (en) * | 2002-07-29 | 2009-03-31 | Oracle International Corporation | Method and mechanism for debugging a series of related events within a computer system |
US7200588B1 (en) | 2002-07-29 | 2007-04-03 | Oracle International Corporation | Method and mechanism for analyzing trace data using a database management system |
US7165190B1 (en) | 2002-07-29 | 2007-01-16 | Oracle International Corporation | Method and mechanism for managing traces within a computer system |
US7493105B2 (en) * | 2003-03-18 | 2009-02-17 | Simplexity, Llc | Certification and activation of used phones on a wireless carrier network |
US7444547B2 (en) * | 2003-06-19 | 2008-10-28 | International Business Machines Corproation | Method, system, and product for programming in a simultaneous multi-threaded processor environment |
US7194664B1 (en) * | 2003-09-08 | 2007-03-20 | Poon Fung | Method for tracing application execution path in a distributed data processing system |
US8180845B2 (en) * | 2003-12-17 | 2012-05-15 | Sap Ag | Remote debugging of software |
US7703101B2 (en) * | 2004-02-13 | 2010-04-20 | International Business Machines Corporation | Autonomic workload classification using predictive assertion for wait queue and thread pool selection |
JP4860240B2 (ja) * | 2005-11-11 | 2012-01-25 | パナソニック株式会社 | 翻訳方法および実行通知命令の埋め込み方法 |
US7996822B2 (en) * | 2005-12-01 | 2011-08-09 | International Business Machines Corporation | User/process runtime system trace |
US8326966B2 (en) * | 2005-12-01 | 2012-12-04 | International Business Machines Corporation | Efficient, centralized management of application log configuration settings |
US7877734B2 (en) * | 2006-01-12 | 2011-01-25 | International Business Machines Corporation | Selective profiling of program code executing in a runtime environment |
US8561025B1 (en) * | 2008-03-31 | 2013-10-15 | Apigee Corporation | Flow and module level detecting and debugging with inclusion of generated log statements |
US7823019B2 (en) * | 2008-05-08 | 2010-10-26 | Arm Limited | Debug circuitry |
US8875107B2 (en) | 2009-03-24 | 2014-10-28 | International Business Machines Corporation | Component lock tracing by associating component type parameters with particular lock instances |
US8893091B2 (en) * | 2011-06-30 | 2014-11-18 | International Business Machines Corporation | Running an executable during a debug session |
US20130041704A1 (en) * | 2011-08-11 | 2013-02-14 | Bank Of America Corporation | Initiative consolidation management |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3969701A (en) * | 1973-04-09 | 1976-07-13 | Telefonaktiebolaget L M Ericsson | Function block oriented SPC system |
SE376354B (zh) * | 1974-06-06 | 1975-05-12 | Ericsson Telefon Ab L M | |
US4439830A (en) * | 1981-11-09 | 1984-03-27 | Control Data Corporation | Computer system key and lock protection mechanism |
US4464543A (en) * | 1982-12-01 | 1984-08-07 | Gte Business Communication Systems Inc. | Network control center call trace |
US4756019A (en) * | 1986-08-27 | 1988-07-05 | Edmund Szybicki | Traffic routing and automatic network management system for telecommunication networks |
US4782517A (en) * | 1986-09-08 | 1988-11-01 | Bell Communications Research, Inc. | System and method for defining and providing telephone network services |
GB2197506A (en) * | 1986-10-27 | 1988-05-18 | Burr Brown Ltd | Providing and handling break points in a software monitor |
US4965772A (en) * | 1987-06-15 | 1990-10-23 | International Business Machines Corporation | Method and apparatus for communication network alert message construction |
US5093916A (en) * | 1988-05-20 | 1992-03-03 | International Business Machines Corporation | System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks |
US5023907A (en) * | 1988-09-30 | 1991-06-11 | Apollo Computer, Inc. | Network license server |
US4937864A (en) * | 1989-04-27 | 1990-06-26 | Xerox Corporation | Debug routine accessing system |
US5397427A (en) * | 1989-10-06 | 1995-03-14 | Moore Business Forms, Inc. | Pressure seal adhesive system with rollers |
US5197127A (en) * | 1990-09-24 | 1993-03-23 | International Business Machines Corporation | Expert system method for performing window protocol-based data flow analysis within a data communication network |
US5249223A (en) * | 1991-01-03 | 1993-09-28 | At&T Bell Laboratories | Call-load-control arrangement for an emergency-call-answering center |
US5297274A (en) * | 1991-04-15 | 1994-03-22 | International Business Machines Corporation | Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor |
JPH07113912B2 (ja) * | 1991-05-31 | 1995-12-06 | 富士ゼロックス株式会社 | 分散型情報処理システムのデバッグ方式 |
US5305454A (en) * | 1991-08-12 | 1994-04-19 | International Business Machines Corporation | Notification of event handlers in broadcast or propagation mode by event management services in a computer system |
US5265254A (en) * | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
US5450586A (en) * | 1991-08-14 | 1995-09-12 | Hewlett-Packard Company | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
US5450439A (en) * | 1991-08-28 | 1995-09-12 | Matsushita Graphic Communication Systems, Inc. | Communication-tracing-information processing device |
US5359649A (en) * | 1991-10-02 | 1994-10-25 | Telefonaktiebolaget L M Ericsson | Congestion tuning of telecommunications networks |
US5386464A (en) * | 1991-12-19 | 1995-01-31 | Telefonaktiebolaget L M Ericsson | Feature control system utilizing design oriented state table language |
EP0614139A3 (en) * | 1993-03-04 | 1995-05-03 | Ibm | External procedure call for a distributed processing environment. |
US5471526A (en) * | 1994-02-28 | 1995-11-28 | Telefonaktiebolaget L M Ericsson (Publ.) | Tracing with keys and locks on a telecommunication network |
-
1994
- 1994-02-28 US US08/203,277 patent/US5471526A/en not_active Expired - Lifetime
-
1995
- 1995-01-27 TW TW084100738A patent/TW321815B/zh active
- 1995-02-23 CN CN95191826A patent/CN1142301A/zh active Pending
- 1995-02-23 WO PCT/SE1995/000193 patent/WO1995024090A2/en active Application Filing
- 1995-02-23 AU AU19059/95A patent/AU710523B2/en not_active Ceased
- 1995-02-23 EP EP95911523A patent/EP0748554A1/en not_active Withdrawn
- 1995-02-23 KR KR1019960704708A patent/KR970701469A/ko active IP Right Grant
- 1995-02-23 JP JP7522855A patent/JPH09509807A/ja active Pending
- 1995-02-23 CA CA002183059A patent/CA2183059A1/en not_active Abandoned
- 1995-02-23 MX MX9603514A patent/MX9603514A/es unknown
- 1995-02-23 BR BR9506951A patent/BR9506951A/pt not_active IP Right Cessation
- 1995-06-07 US US08/479,007 patent/US5594904A/en not_active Expired - Lifetime
-
1996
- 1996-08-27 FI FI963332A patent/FI963332A/fi unknown
- 1996-08-27 NO NO963564A patent/NO963564L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
TW321815B (zh) | 1997-12-01 |
AU1905995A (en) | 1995-09-18 |
NO963564L (no) | 1996-10-28 |
FI963332A (fi) | 1996-10-18 |
KR970701469A (ko) | 1997-03-17 |
US5594904A (en) | 1997-01-14 |
AU710523B2 (en) | 1999-09-23 |
CA2183059A1 (en) | 1995-09-08 |
JPH09509807A (ja) | 1997-09-30 |
MX9603514A (es) | 1997-05-31 |
US5471526A (en) | 1995-11-28 |
NO963564D0 (no) | 1996-08-27 |
BR9506951A (pt) | 1997-09-09 |
EP0748554A1 (en) | 1996-12-18 |
FI963332A0 (fi) | 1996-08-27 |
WO1995024090A3 (en) | 1995-10-05 |
WO1995024090A2 (en) | 1995-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1142301A (zh) | 远程通信网络中以钥和锁进行跟踪 | |
CA1258548A (en) | System and method for defining and providing telephone network services | |
US5551035A (en) | Method and apparatus for inter-object communication in an object-oriented program controlled system | |
US7535479B2 (en) | Apparatus and method for collecting and displaying information in a workflow system | |
US5448631A (en) | Apparatus for handling features in a telephone network | |
US6445782B1 (en) | Service management system for use in communications | |
US5778059A (en) | Distributed predictive and event-driven processing environment | |
US7739325B1 (en) | Apparatus and method for extensible real-time workflows | |
Zave | A distributed alternative to finite-state-machine specifications | |
CN1221539A (zh) | 可编程的呼叫处理系统和方法 | |
Li et al. | Automatic test generation from communicating extended finite state machine (CEFSM)-based models | |
CN100488263C (zh) | 基于控制和应用分离、具有业务生成能力的智能外设系统 | |
US5627888A (en) | Telecommunication system for handling basic and supplementary functions | |
EP0405829B1 (en) | Object oriented software system architecture | |
CN101835124B (zh) | 电信网络中业务故障自动诊断的方法及系统 | |
Tsang et al. | Detecting feature interactions in the Intelligent Network. | |
JPH08280047A (ja) | 通信システム | |
Reiff-Marganiec | Runtime resolution of feature interactions in evolving telecommunications systems | |
Lin et al. | A methodology for feature interaction detection in the AIN 0.1 framework | |
CN100476754C (zh) | 一种对软件可测试需求的分析方法 | |
CN102946498B (zh) | 多线程,多路并行ivr智能语音电话群呼控制方法 | |
CA2334432C (en) | Feature implementation and provisioning by injection | |
AU727444B2 (en) | Tracing with keys and locks | |
Lee et al. | Feature-oriented engineering of PBX software | |
Peng et al. | Feature Interaction Detection Technique Based on Feature Assumptions. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |