一个通信系统的性能优化 技术范畴
总的来说,本发明涉及一个通信系统,该系统包括基本功能,包括与所述基本功能相联系的可选补充功能的补充功能,包括多个补充功能交互作用地情况中解决交互作用问题的交互作用补充功能。下面,这样的一个通信系统将被归为属于这里意指的类型的通信系统。
更具体地说,本发明涉及用于这样一个系统中的增加补充功能和交互作用补充功能的方法,这些功能是在一个由在所述系统中预订了基本功能和补充功能的用户发起的当前的通信状况中需要的。
在一个同样的通信系统中不同用户有不同服务的要求。不同的市场对如何实施一个同样的服务有不同的要求。
为了使一个通信系统为一个特定的市场提供大量的服务,为另一个市场提供大量的服务,一个通信系统的功能现在通常被化分为基本功能和补充功能。基本功能包括许多市场共同需要的基本的功能,而补充功能包括在一个特定的市场中可被选择的可选的补充功能。
作为一个结果,这个通信系统为特定市场包括一些基本功能和一些补充功能。补充功能具有一个基本功能的附加或修改一个基本功能的特征。一个用户可以选择使用一个基本功能或被一个或多个补充功能修改的基本功能,但不能单独使用一个补充功能。
大量用户与通信系统相联。用户们可选择预订一定的补充功能,这样他们有可能与基本功能一起使用这些补充功能,但他们不可以使用其他的补充功能。
在通信网络的运营者安装了一个特殊的服务后,预订这项服务的用户可以通过输入一个密码序列激活(或使无效)一个相应的功能。这个功能然后将对这个用户做一定的检查。拿起电话的听筒一个呼叫请求就被激活了。呼叫转移是一个补充功能,当被激活时,将发往用户(被提供这项服务)的呼叫转移到另一个目的地。另一个补充功能的例子是‘呼叫等待’,它把发往一个处于忙的话机的呼叫送入队列。
因为补充功能具有修改一项基本功能的特征,当两个补充功能同时使用时,有可能对基本功能作出矛盾的修改。一个解决这样冲突的已知方法是设计补充功能以使它们相互作用以解决冲突。‘呼叫遇忙转移’和‘呼叫等待’可以被提出作为一个例子。‘呼叫遇忙转移’是‘呼叫转移’的一个变形,它在用户忙时转移呼叫。‘呼叫等待’,相反,如上文所提到的,将对一个忙用户的呼叫排队。这两个补充功能于是必须交互作用以达到一致。例如,两者都可行,但如果初始目的地首先应答,呼叫将不再转到另一个目的地,如果另一个目的地首先应答,呼叫应从‘呼叫等待’队列中拿掉。
这类问题(由于出现在两个或多个补充功能交互作用时被称为交互作用问题)也可以通过引入一个新的补充功能解决,这个新的补充功能是这两个补充功能的补充并且对它们进行修改以使当这些补充功能同时激活时得到一个渴望的功能。这个新补充功能在这里将被称为交互作用补充行为。
基本功能和补充功能的概念,按这里使用的意思,还有交互作用,对内行人是熟知的。简言之,每个基本功能和补充功能包括一个被通信系统中的计算机执行的代码。一个希望的补充功能的“连接”是被执行的基本功能的代码中的一条跳转指令完成的。
例如,与基本功能和补充功能相关的建议以及相应的描述可以在GSM系统中找到。因此,关于上面提到的名词,如‘呼叫等待’等一些不同的补充功能,可以参考建议02.04。
除了对在交互作用问题中可能出现的补充功能的描述,还有对所讨论的交互作用及其影响的描述。
目前技术状态
通常,一个通信系统被设计以达到,当基本功能被运行时,与补充功能相连接的若干点。当基本功能到达这些点时,用户的用户信息被读取以决定补充功能是否应该被执行,如果补充功能要被执行,将到达补充功能的与交互作用补充功能相连接的一些点。在每一个这样的点,用户的用户预定信息被读取,以决定用户是否预定了与当前补充功能交互作用的补充功能。
随着通信系统中补充功能数目的增加,读取用户的用户预定信息的次数将会很大,以至于降低通信系统的容量。
US.A.4897866介绍了一种通信系统,其中用户可以很简单地修改(增加/撤除)他的个人补充服务。用户可以从他的终端选择单一服务或相应的组合。作好的选择被送往一个具有记忆程序算法(对这些服务)的中央处理单元,之后这些算法被送往用户终端并被存贮在那里。每一个可想象的服务组合有一组独特的算法。
US.A.4 567 323涉及能提供若干补充业务的通信系统。为了在提供多种业务时不造成它们之间相互干扰,每一个预定补充业务的用户被分配一个存储器,以记录业务和用户号码。用户通过输入对应于业务/多种业务的特殊代码来激活一种或多种业务。
US.A.4 627 046公开了一种要用于电话交换机的可编程“特征卡”。这个卡包括一个程序存储器和一个数据存储器,还有一个处理器用于执行依赖于从电话交换机来的控制信号的存于程序存储器中的算法。
发明概述
本发明的目的是,在一个这里所指的类型的通信系统中,通过降低在执行一个当前的通信过程时对用户信息的必要读取量来优化系统容量。
根据本发明,在所述系统中,增加在一个由预订基本功能和补充功能的用户发起的当前的通信过程中需要的补充功能和交互作用补充功能的方法包括以下步骤。
在实际使用中,只增加那些在当前通信过程中有可能使用的补充功能和交互作用补充功能,同时使用以一种以特殊方式构成的表信息。更具体地,这个表信息包括每个用户的相对于用户预订的补充功能的用户预订信息,关于每个预订的补充功能的状态信息,它涉及这项功能是处于激活状态或是无效状态,以及关于应该和一组给定补充功能一起使用的交互作用补充功能的信息。表信息可以是两个表的形式,即一个是用户预订和状态信息,一个是关于交互作用补充功能的信息。
在得到用户的身份后,用户的预订信息和状态信息被读取以发现用于通信过程的相关的,处于激活状态的用户的补充功能。这样找到的信息用于读取上面提到的有关交互作用补充功能的信息,以发现同样与这个通信过程相关的交互作用补充功能。
找到的补充功能可以在交互作用补充功能被找到之前或在他们被找到之后与交互作用补充功能一起被添加到基本功能上。
本发明优化了一个通信系统的容量,该通信系统中补充功能和交互作用补充功能的数量都很大,但每个用户只预订少量的业务。
附图的描述
参考附图,本发明的一个实施例将被更仔细地描述,这些图是
图1以方块图的形式描述一个通信系统如何被分为基本功能和补充功能,
图2通过对图1方块图的扩展,描述了通过这个通信系统中的交互作用补充功能来解决补充功能间的交互作用,
图3给出了一个包含预订信息的表(对所有用户),
图4给出了一个包括关于补充功能和交互作用补充功能之间联系的信息,
图5用一个与图2中相似的方块图描述了一个在一个通信过程中按本发明连接补充功能和交互作用补充功能的例子,
图6-15用于更具体地描述一个应用本发明的例子,其中
图6给出了一个比图4中的表更具体的关于补充功能和交互作用补充功能间联系信息的表,
图7给出了一个安装一个新的交互作用补充功能的流图,
图8描绘按照图6的表如何在按照图7的安装后被更改,
图9给出了在又安装了一个交互作用补充功能后这个同样表的样子,
图10给出了比图3中的表更具体的关于用户补充功能的信息的表,
图11是一个描绘分配一个用户一项新的补充功能的流图,
图12给出了按照图10的表如何在按照图11的新补充功能分配后被改变,
图13是一个描绘按照图11和12分配的新补充功能如何为一个用户而激活的流图,
图14给出了关于用户补充功能的信息的表如何在按照图13的激活后被改变,
图15a给出了当一个用户发起呼叫时一个基本功能中运行的流图的第一部分,
图15b给出了这个同样流图的第二部分。
优选的实施例
图1概括性地描绘了在一个通信系统中一个基本功能2如何有一个联接到它的特定的补充功能4。出于描绘的目的,字母标志A、B、C、D、…用于标识补充功能。为了解释起见,进一步假定,在流图的描述中,A<B<C<D…,即补充功能已被相互的排列。
补充功能,作为一个例子,被表示,它包括4个补充功能A、B、C和D。参考图2,补充功能A和B、B和C、B和D、C和D间可能的交互作用分别被标识为AB、BC、BD和CD的交互作用补充功能解决,相应于这里的补充功能。从图中可见并没有所有的补充功能间的相互作用,比如没有补充功能A和C或A和D间的相互作用。
按照本发明,在一个通信系统中的容量损失(这个通信系统属于图1和2描绘的类型)通过表信息来优化,表信息包括,一方面,每个用户的预定用户信息,另一方面,关于将用于一组特定的补充功能的感兴趣的交互作用补充功能的信息。参考图3和4一个这样的表信息的例子将在下面更具体的描述。更具体地,表信息用于在实时以联接在当前通信过程中仅仅那些在这个通信过程中可能的补充功能和交互作用补充功能。这将在下面参考图5被描绘。
图3给出了一个包括一定数量用户的用户预订信息的表,即,作为一个例子,用户a、用户b、用户c和用户d。对每个用户图3中的表包括关于这个用户预订的补充功能的信息。例如,图中显示出用户预订补充功能A和B。如将在下面更具体描述的那样,这里的相对于每个预订的补充功能的表还将包括关于这个功能处于激活还是无效状态的信息,即用户是否激活了这个补充功能。采取一种或另一种状态取决于用户,例如在考虑到他是否在一定的时间段内有使用这个功能的需要之后。
图4给出了一个包含关于补充功能A、B、C和D和交互作用补充功能AB、BC、BD和CD(示于表2)的联接的信息的表。相对于一个特定的补充功能组合,相连接的交互作用补充功能被指出。例如,若一个用户预订了补充功能A和B,如果两者都处于激活状态,交互作用补充功能AB应该被包括在这个通信系统中。
图5中,作为一个例子,描绘了如果一个用户请求一个通信过程被执行时将会发生什么。通信过程开始时,这个用户的预订用户信息按照图3中的表被读取,得到按照箭头6和8所指的连接于基本功能2的补充功能A和B。然后图4中的表被读取,以确定要连接的交互作用补充功能,相应得到按箭头10和12所指的联接于补充功能A和B的交互作用补充功能AB。根据本发明,没有其他的补充功能和交互作用补充功能被连接。
这里使用本发明的一个例子将参考图6-15更仔细地被描述。
这些图中使用的语言基于可以容易地被翻译成实际编程语言的伪码。
这个例子基于下述的前提:
包含于此例中的通信系统中,有补充功能A、B和C,还有交互作用补充功能AB和BC。一个用户12345具有处于激活的补充功能A和B。
图6结出了一个关于在这个通信系统中包括的补充功能和交互作用补充功能联接信息的表。这个表包括两个独立的模块20和22,他们按照箭头24彼此链接。在每一个模块20、22中的第一行标识了这个模块,即模块20是模块1(Module1),模块22是模块2(Module2)。模块中下面两行标识了所包括的补充功能,即在模块20中的A和B,在模块22中的B和C。更具体地,在每个模块中每个补充功能分别被标识为参数Param1和Param2的值。
模块20和22的下一行分别标识了交互作用补充功能AB和BC。更具体地,交互作用补充功能被标识为一个参数Interaetref的值。每个模块中的最后一行通过参数LinkToNexbModule指出与下一个模块(如果有)的链接。
从按照图6的状态出发,根据一个新的补充功能D已被安装于这个通信系统的事实,安装补充功能D所要求的对两个新的交互作用补充功能的安装将参考图7被描述。
当在这个通信系统中安装新的交互作用补充功能时,按照图6的交互作用表通过参数Inparam1=C,Inparam2=D,Interactref=CD来调用。图7中的流图的第一步(其参考标号为261中,建立一个新模块的操作被激活。在下一步,步骤28,模块参数Paraml被置为值Inparam1,Param2被置为值Inparam2,Interactref被置为值Inref。从上面刚被陈述的前提可看出,这些参数值分别为C、D和CD。
在步骤30,在交互作用补充功能表中的第一个模块,其中Param1=Inparam1,被查找。搜索的结果,步骤32,在本案例中是没有发现这样的模块,于是转到步骤34(在流图中),暗示第一个模块被查找,其中Param1大于Inparam1。这个查找的结果,步骤36,是在本案例中按照图6的表中没有模块被发现,其中Param1比Inparam1(即C)大。在一步骤,步骤38,新模块因此在表中被链接在最后。结果是按图6的表按照图8增加了模块3、40,包含参数值C、D和CD。
图7还显示了另外的不同于当前这个例子的前提的执行枝路。若在步骤30寻找的模块被发现,将沿执行分枝42前进,其中第一步,步骤44包括寻找一个参数Param2的值大于Inparam2的模块(例如可以是一个存在的参数区)。在这种情况中,在图8中新模块40将按照步骤46联接于被发现的已存在的模块之前。
另一个标为48的执行分枝(图7中),处理一类似的从前面的例子分离的情况,其中一个满足按照步骤34的条件的模块被发现。在这种情况中,新的模块,即模块3(Module3)(按照图8),按照步骤50,类似地被链接于按照执行分枝48发现的已存在的模块之前。
按照图7的流图在交互作用补充功能BD被安装时也要被运行。当交互作用补充功能被安装于这个通信系统时,它通过参数Inparam1=B,Iaparam2=D,Inref=BD调用交互作用表。在这种情况下,图8中的表是起始点,说明按照图7的流图在步骤32后将沿分枝42走,因为已经有一个满足步骤30的条件的模块,即Module2,22。这个新模块,在图9中标为52,因此将按照步骤46联接于模块40之前。
关于用户补充功能的信息的表具有如图10所示的结构。如同图3,四个用户a-d被显示以作为例示。每个用户在表中有一行用一个标识参数UserId来标识用户。如图所示,用户a-d分别具有参数值12345、12346、12347和12348。在表中对每个用户还有一行用于指示到补充功能的链接,即“LinkToService”。因为这个情况中用户12345是当前用户,补充功能A和B被包含,分别为方框54和56。每个补充功能在表中的第一行有一个参数Servvce,它的值指出了补充功能的标号,即在当前情况中分别是A和B。下一行有一个状态参数State,它的值指出补充功能处于激活还是无效状态。在当前情况中这个参数的值指示一激活的状态,“Active”,相对于两个补充功能。
对用户12345,从图10的状态开始,赋予补充功能D给用户将参考图11被更仔细地描述,也就是说,用户指示了对补充功能D的预订。在图11中被称为58的第一步,创建新的补充功能模块的行动被启动。在下一个步骤60,值D被赋予参数Servvce,值Passvve被赋予参数State。当赋予一个新补充功能时它总是在开始时被置为无效状态。
步骤62中,用户12345的模块被调用。在步骤64,参数Servvce的值(属于新的补充功能模块D)与现存的补充功能模块A和B中同样参数的值进行比较。假定值D比A和B大,说明比较的结果,步骤66,为标为68的分枝将被选择,其中按照步骤70,新的补充功能模块被链接到按照图10的表的最后,这样得到图12所示的结果,其中新的补充功能模块被标为72。
作为一个例子,如果补充功能相对小,这个新模块将按照步骤73链接到发现的模块之前。
在图12中,参数“State”在模块72中的值为“Passvie”,正如所提到的。图13中的流图将在补充功能D被激活时运行。在第一步,步骤74,用户模块12345被调用。在下一步骤76,相对于补充功能D用户的模块72被调用。在步骤78,参数“State”的值最后被设置指示一个激活的状态,即“Active”。这个结果,即相对于图12的区别,在图14中被将补充功能模块D的模块标识改为72’加以强调。
参考图15a和15b,如果用户12345在这个通信系统中发起一个呼叫,在这里将被描述的步骤将被基本功能2运行。
按照本发明,只有在这个通信系统中可能有的补充功能和交互作用补充功能才被连接,这个连接通过表信息的方法完成,这个表信息按照图14,包含每个用户的关于这个用户预订的补充功能的用户预订信息,关于每个被预订的补充功能的处于激活状态或无效状态的状态信息,另外还有按照图9关于与一个特定的补充功能组共同使用的所感兴趣的交互作用补充功能的信息。按照图14,用户12345有三个处于激活状态的补充功能A、B和D。按照图9,所感兴趣的交互作用补充功能AB和BD将被使用。
在图15a中的第一步,步骤80,通过用户识别号12345寻找用户。在步骤82,用户的第一个补充功能被查找。当它被发现时,在步骤83,一个相对于这个用户的补充功能的序号参数i被置为1。为步骤84,将查明参数“State”指示激活状态还是无效状态。如果状态指示激活,在当前情况中就是这样,在步骤86中,关于用户12345激活业务的信息将被存于参数Inparam(i)=Service。i的第一个值是1,说明在步骤86中按照模块54(图14中)关于补充功能A的信息被存贮。在步骤88中,将查明是否有更多感兴趣的补充功能。因为在当前案例中还有另两个感兴趣的补充功能,即B和D,运行经过分枝90返回步骤84,以在步骤86中一个接一个存储关于这些进一步的功能的信息。
从图15a可见,如果一个用户希望预订一个未处于激活状态的补充功能,这将在步骤84被排除从而不被加入到基本功能加以执行。
在图15b的第一步96,图9中的关于交互作用补充功能的表中的第一个模块被查找,其中参数Param1等于输入参数Inparamli1。在当前情况中可以想象,相对于相应的补充功能输入参数为A。在步骤98,可以发现参数被发现,从而在步骤100通过j=i+1引入输入参数Inparam(j)。在当前情况中,对相应的补充功能Inparam(j)将是B。在Module1中,参数Param2=B,于是走到步骤104,其中参数Interactref=AB被发现,也就是说,发现交互作用补充功能AB在当前过程中被包含。
这导致步骤106,其中通过“j<humofservices?”(j是否小于补充业务的总数)来寻问更多的参数,然后到步骤108,其中具有同样参数值Param1的模块被寻找,Param1在当前案例中是A。在第一种情况中回答是肯定的,因为D保留,在第二种情况中回答是否定的,因为A是模块52中Param1的值。这导致了步骤110,其中,这里所指的i的值(在本案例中是1)是否比补充功能的数目减1小的问题被提出。回答是肯定的,因为补充功能的数目是3,即补充功能A、B和D。在步骤112通向2的步骤被执行。
通过分枝线114程序执行返回到步骤96,其中第一个模块现在被寻问,其中Param1=inparam(i=2)。参考图9这导致模块22以及参数值B。在步骤100,j被置为3因为i=2。在步骤102,模块22中的Param2,即值C,与inparam(3)的值(在当前的案例中即为D)比较。C这里比D小,于是通过分枝116进行到步骤118,其中更多的具有同样值的Param1的模块被寻问。因为在模块52中Param1值为B,这导致(通过步骤120和分枝122)返回步骤102。在这一步可以发现,模块52中的Param2的值为0,与inparam(3)的值一样。
程序执行现在返回步骤104,其中模块52的参数Interactref=BD被发现。在步骤106,现在发现j=3不比补充业务总数目小。这导致(通过分枝124)步骤110,其中设置的条件被发现不再满足了。
这反过来导致步骤126和128。在步骤126,所有的补充功能按照Inparam(i)被加到基本功能2。在步骤128所有被发现的交互作用补充功能被加到基本功能。
在图15b的步骤130和132以及分枝134处理在这里没有被描述的情况,即在流程运行中的某个时刻步骤106和108的回答在两种情况中都是肯定的。