CN1333343C - 状态机族的并发操作 - Google Patents

状态机族的并发操作 Download PDF

Info

Publication number
CN1333343C
CN1333343C CNB2003801037060A CN200380103706A CN1333343C CN 1333343 C CN1333343 C CN 1333343C CN B2003801037060 A CNB2003801037060 A CN B2003801037060A CN 200380103706 A CN200380103706 A CN 200380103706A CN 1333343 C CN1333343 C CN 1333343C
Authority
CN
China
Prior art keywords
state
thread
chine
state machine
hand
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
Application number
CNB2003801037060A
Other languages
English (en)
Other versions
CN1714342A (zh
Inventor
尤哈·柳科宁
尤卡·西尔亚宁
雅尔莫·鲁夏拉
托米·卡特萨罗
欧基·鲁奥图拉
马库斯·马尔姆克维斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Siemens Network Co., Ltd.
Original Assignee
Nokia Oyj
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN1714342A publication Critical patent/CN1714342A/zh
Application granted granted Critical
Publication of CN1333343C publication Critical patent/CN1333343C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种用于在计算系统内并发操作状态机的方法和系统。生成一个或多个状态机族。每一族包括用于从该族外部接收服务请求和转发接收到的服务请求以进行服务的一个主状态机类型,和用于接收和服务所转发的服务请求的一个或多个协助状态机类型。将线程池分配给一个或多个状态机族。每个线程池专用于一个状态机族,并包括用于执行相应状态机族的主实例和协助实例的一个或多个线程。将一个或多个所生成的状态机族的状态机实例分配给所分配的线程池的相应线程以执行。

Description

状态机族的并发操作
技术领域
本发明涉及电信。具体而言,本发明涉及用于在计算系统内并发(concurrently)操作状态机的新的和改进的方法和系统。
背景技术
软件应用通常使用通过传递消息交互的状态机。状态机是一种软件组件,它维护定义其输入之间状态的数据,例如来自其它状态机或来自操作系统的消息,其在任意给定时间上响应于接收的输入的行为取决于其状态。在电信中,输入通常作为异步消息接收。状态机普及的原因在于状态自动机(state automata)已经被证明是在电信中实现信令应用时的功能强大的软件工程方法。由于异步信令应用的面向消息的特性,很自然地将其实现为状态机。
状态机的一个状态接受某些组的消息。每个接受的消息触发某个状态转移。如果接收到不属于该组接受消息的消息,它可能丢失,尽管例如在电信状态机应用中,通常可以存储消息以避免将它们丢失。
每个状态映射成某一组状态转移。状态转移包含将要执行的实际程序语句。当由当前状态和所接收的消息的正确组合激活状态转移时,将执行在该转移内包含的语句。转移函数将成对的状态消息映射成状态转移。多对状态消息可以映射成同一状态转移,这意味着同一状态转移可以在多个状态内活动。
状态机类型定义状态机的转移函数和状态转移的内容。状态机类型可以被实例化为单状态机实例或多状态机实例。
单状态机仅在小应用内有用。对于实现更复杂的应用来说,例如电信应用,具有同时工作的多个状态机是有用的。例如,在信令应用中,可能为每个会话分配一个状态机实例,可能存在将由信令应用处理的数以万计的会话。
因此,为了执行这些处理要求,状态机实例通常在多处理环境中由线程来执行。术语线程(thread)是公知的现有技术概念,是指独立地调度但是与其它线程共享单个地址空间的执行环境。
然而,每个状态机实例具有一个线程在技术上是不可行的,因为可能存在数千个状态机实例,操作系统并不支持这个数量的线程。例如,Linux设置每个过程(process)1024个线程的限制。而且,可能需要环境切换。术语环境切换(context switch)是指操作系统用于在过程和/或线程之间切换执行顺序的操作。环境切换是繁重和耗时的操作,因为在能够切换执行顺序之前,需要完全存储已经执行的过程和/或线程的状态,和相应地需要恢复将要执行的新过程和/或线程的状态。这些操作需要会消耗时钟周期的大量机器指令。
在现有技术中,已经通过多种方式解决了这些性能和系统资源使用的问题。例如,可以仅使用单线程。然而,这导致另一个问题,即当由线程运行的状态机实例进行阻塞调用(blocking call)时,例如从磁盘文件读取数据时,所有的状态机实例都阻塞。
US 6,167,423公开了另一种解决方案,其中提供一种称作“clique”的机制。将多个功能类似的状态机分组在一起,并为整个组分配线程。因为将要分组在一起的状态机具有类似的功能,这些状态机将频繁地相互通信。因而,为整个组分配公用的线程是适当的,因为将会避免环境切换。
然而,如从上文显然可以看出的,这一机制存在很大的缺点。如果该组的一个成员阻塞,则其它成员也将阻塞。此外,为了有用,该机制要求状态机的功能类似以便它们能够组合在一起。但在实际的实现中,很少出现这种情况。
因而,显然需要一种在计算系统内提供状态机并发操作的高效解决方案。
发明内容
本发明涉及一种用于在计算系统内并发操作状态机的方法和系统。生成一个或多个状态机族(family)。每一族包括用于从该族外部接收服务请求和转发接收到的服务请求以进行服务(service)的一个主(master)状态机类型,和用于接收和服务所转发的服务请求的一个或多个协助(hand)状态机类型。该协助状态机类型随后可以直接与服务请求者通信。主状态机类型被实例化(instantiate)为一个主实例(instance),至少一个协助状态机类型例如是一个或多个协助实例。每个主实例和协助实例具有它自己的消息队列。可以连续地一次一个消息地处理实例的消息队列内的一个或多个消息。一些协助实例可以主要辅助其它的协助实例。过程可以包含多个状态机族,所述族通常不同,不过过程还可以包含多个类似的状态机族。
将线程池分配给一个或多个所生成的状态机族。每个线程池专用于它分配给的状态机族,并包括用于执行相应状态机族的主实例和协助实例的一个或多个线程。
因此,用于执行给定线程池内的实例的线程总量通常小于在相应状态机族内的实例数量。
将一个或多个所生成的状态机族的状态机实例指派给所分配线程池的相应线程以执行。一个给定实例在任一给定时间上由不多于一个的线程执行,一个给定线程在任一给定时间上执行不多于一个实例。在本发明的环境下,术语线程池是指一组线程,该组线程中的每个线程并非专门分配以执行任一个状态机实例,而是调度每个线程以根据需要执行相应状态机族的状态机实例。
在本发明的一种实施例中,在运行时修改即增加或降低在给定状态机族内的协助状态机类型的数量。
在本发明的一种实施例中,在运行时修改即增加或降低给定线程池内的线程的数量。
在本发明的一种实施例中,在运行时修改即增加或降低在给定状态机族内的一个或多个协助状态机类型的协助实例的数量。
在本发明的一种实施例中,定义消息队列的最大大小。可以每个实例或每种类型地定义最大大小。还可以在生成族时或者对类型进行实例化时定义最大大小。
在本发明的一种实施例中,在完成对话之后释放所执行的线程。对话是指过程、状态机族和/或状态机实例之间的通信或消息交换。
在本发明的一种实施例中,在执行阻塞事务处理之后,例如在启动数据库操作之后,释放所执行的线程。
在本发明的一种实施例中,计算系统是SMP(对称多处理)系统。术语SMP是指由共享公用操作系统和存储器的多个处理器对程序的处理。在对称多处理中,处理器共享存储器和I/O总线或数据路径。操作系统的单个复本负责所有的处理器。在SMP系统内,可以每个处理器一个线程地同时执行线程。
在本发明的一种实施例中,操作系统是多处理操作系统,例如Linux或UNIX。
在本发明的一种实施例中,计算机系统是电信网络单元。
本发明提供用于与状态机相关的性能、系统资源使用和系统管理等多个相关问题的解决方案。本发明使用线程池提供状态机族的真正并发性。而且,当根据本发明结合状态机族使用线程池时,如果由线程执行的状态机实例进行阻塞调用,它并不阻塞整个状态机族。
与US 6,167,423的clique机制相比,本发明并不分组类似的状态机。因而,本发明并不需要状态机的功能类似性。在US 6,167,423中,将公用线程分配给一组状态机,而在本发明中,将多个线程的线程池分配给状态机族。在US 6,167,423中的一组状态机共享公用消息队列,而在本发明中,每个状态机实例具有它自己的消息队列。
本发明的状态机实例是可重新使用的,因为当给定状态机实例完成它的任务并“消失”时,当创建同一类型的另一个实例以执行另一个任务时将重新使用分配给它的资源。在本发明中,在给定时间上,每个状态机类型可以实例化为任意数量的实例,每个实例执行它自己的任务。
附图说明
包括以提供本发明的进一步理解和构成其说明书一部分的附图图示了本发明的实施例,并和说明书一起有助于解释本发明的原理。在附图中:
图1图示根据本发明一种实施例的用于并发操作状态机的方法;和
图2是图示根据本发明一种实施例的用于并发操组状态机的系统的方框图。
具体实施方式
现在,将详细参考本发明的实施例,这些实施例的例子在附图中图示。
图1图示一种在计算系统内并发操作状态机的方法。阶段10,生成一个或多个状态机族。每个族包括用于从其族外部接收服务请求和用于转发所接收的服务请求以进行服务的一个主状态机类型,和用于接收和服务所转发的服务请求的一个或多个协助状态机类型。协助状态机类型随后可以直接与服务请求者通信。主状态机类型实例化为一个主实例,至少一个协助状态机类型实例化为一个或多个协助实例。每个主实例和协助实例具有它自己的消息队列。
阶段11,将线程池分配给一个或多个所生成的状态机族。每个线程池专用于它所分配给的状态机族,并包括用于执行相应状态机族的主实例和协助实例的一个或多个线程。因而,在本发明的优选实施例中,给定线程池的线程并不专用于具体的主实例或协助实例。
在本发明的另一种优选实施例中,每个线程池专用于它所分配给的状态机族,并包括用于执行相应状态机族的主实例的线程和用于执行相应状态机族的协助实例的一个或多个线程。因而,给定线程池的线程专用于具体的主实例和协助实例。
阶段12,将一个或多个所生成的状态机族的状态机实例分配给所分配线程池的相应线程以便执行。一个给定实例在任一给定时间上由不超过一个的线程执行,一个给定线程在任一给定时间上执行不超过一个实例。因此,用于在给定线程池内执行实例的线程总量通常低于在相应状态机族内的实例总量。在本发明的描述中,术语线程池是指这样一组线程,其中每个线程并不专门分配来执行任意一个状态机实例,而是调度每个线程以根据需要执行相应状态机族的状态机实例。
一个族的启动可以包括下述步骤。一个族注册一个唯一的族ID。接着,使用协助类型的数量和线程池大小即线程数量来初始化该族。接着,初始化该族主类型。接着,初始化该组的协助类型。建立分别包括给定协助类型的协助对象的一个或多个协助池。最后,启动该族的主实例。随着该主实例接收到新服务请求,主实例从协助池中激活协助实例。状态机实例是激活的状态机对象。在运行时可以修改协助对象的数量。
在单个协助实例已经完成它的任务之后,停用该协助实例,并释放该协助实例占用的资源。在其激活和停用之间,协助实例可能已经在多个不同的线程之中运行,而不释放所述协助实例的生命周期特定的资源。当已经启动一个族时,它运行直到它的最后一个成员停止。当主实例已经停止时,该族通过等待直到所有成员已经停止来开始准备关闭。释放该族的资源,例如删除主实例和协助实例,并删除该族ID的线程池。在已经关闭该族时,可以取消注册该族。
图2图示一种用于在计算机系统SMP内并发运行状态机的系统。在图2所示的本发明的实施例中,计算系统是使用带有例如Linux作为操作系统的对称多处理的电信网络单元。
在图2所示的本发明的实施例中,该系统包括状态机族SMF。该族包括用于从其族的外部接收服务请求和用于转发所接收的服务请求以进行服务的一个主状态机类型MT。该族还包括用于接收和服务所转发的服务请求的三个协助状态机类型HT。主状态机类型被实例化为一个主实例MI,协助状态机类型实例化为协助实例HI。每个协助类型的协助实例的数量可以改变。每个实例具有它自己的消息队列MQ。可以一次一个消息地连续地处理一个实例的消息队列内的一个或多个消息。
应当指出图2所示的主状态机类型MT和协助状态机类型HT是概念实体而不是实际的软件/硬件单元。应当指出根据本发明的系统可以包括多个状态机族,尽管为了简明,在图2所示的本发明的实施例中仅图示了一个族。
在图2所示的本发明的实施例中,该系统还包括状态机族特定的线程池TP。线程池包括用于执行相应状态机族的主实例和协助实例的多个线程T。一个给定实例在任一给定时间上由不超过一个线程执行,一个给定线程在任一给定时间上执行不超过一个实例。同样应当指出,包括多个状态机族的根据本发明的系统最好还包括多个线程池,尽管为了简化,在图2所示的本发明的实施例中,仅图示了一个族和一个线程池。
在图2所示的本发明的实施例中,该系统还包括装置1,用于在运行时修改在给定状态机族内协助状态机类型的数量。因而,通过使用装置1,可以在运行时增加或降低在给定状态机族内协助状态机类型的数量。该系统还包括装置2,用于在运行时修改在给定线程池内的线程数量。因而,通过使用装置2,可以在运行时增加或降低在给定线程池内的线程数量。该系统还包括装置3,用于在运行时修改在给定状态机族内一个或多个协助状态机类型的协助实例的数量。因而,通过使用装置3,可以在运行时增加或降低在给定状态机族内一个或多个协助状态机类型的协助实例的数量。该系统还包括装置4,用于定义消息队列的最大大小。可以为每个实例或每个类型定义最大大小。也可以当生成这些族或当实例化状态机类型时进一步定义最大大小。该系统还包括装置5,用于在所述线程完成对话之后释放所执行的线程。该系统还包括装置6,用于在所述线程执行阻塞事务处理之后,例如在启动数据库操作之后释放所执行的线程。该系统还包括装置7,用于每个处理器一个线程地并发执行线程。
对于本领域的技术人员来说,随着技术的改进,显然可以以多种方式实现本发明的基本思想。本发明及其实施例因而并不限制于上述例子,相反,它们可以在权利要求的保护范围内改变。

Claims (26)

1.一种用于在计算系统内并发操作状态机的方法,其中该方法包括步骤:
生成一个或多个状态机族,每一族包括用于从该族外部接收服务请求和转发接收到的服务请求以进行服务的一个主状态机类型,和用于接收和服务所转发的服务请求的一个或多个协助状态机类型,该主状态机类型被实例化为一个主实例,至少一个协助状态机类型被实例化为一个或多个协助实例,每个主和协助实例具有它自己的消息队列;
将线程池分配给一个或多个所生成的状态机族,每个线程池专用于一个状态机族,并包括用于执行相应状态机族的主实例和协助实例的一个或多个线程;和
将一个或多个所生成的状态机族的状态机实例指派给所分配的线程池的相应线程以执行,一个给定实例在任一给定时间上由不多于一个线程执行,一个给定的线程在任一给定时间上执行不多于一个实例。
2.根据权利要求1的方法,其中在运行时修改给定状态机族内协助状态机类型的数量。
3.根据权利要求1的方法,其中在运行时修改给定线程池内线程的数量。
4.根据权利要求1的方法,其中在运行时修改给定状态机族内一个或多个协助状态机类型的协助实例的数量。
5.根据权利要求1的方法,其中在生成一个或多个状态机族时,或者在实例化生成的一个或多个状态机族的主和协助状态机类型时,定义消息队列的最大大小。
6.根据权利要求1的方法,其中在完成对话之后释放所执行的线程。
7.根据权利要求1的方法,其中在执行阻塞事务处理之后,释放所执行的线程。
8.根据权利要求1的方法,其中计算系统是SMP系统。
9.根据权利要求8的方法,其中每个处理器一个线程地并发执行线程。
10.根据权利要求1的方法,其中操作系统是多处理操作系统。
11.根据权利要求10的方法,其中操作系统是Linux。
12.根据权利要求10的方法,其中操作系统是UNIX。
13.根据权利要求1的方法,其中计算系统是电信网络单元。
14.一种用于在计算系统内并发操作状态机的系统,包括:
一个或多个状态机族,每一族包括用于从该族外部接收服务请求和转发接收到的服务请求以进行服务的一个主状态机类型,和用于接收和服务所转发的服务请求的一个或多个协助状态机类型,该主状态机类型被实例化为一个主实例,至少一个协助状态机类型被实例化为一个或多个协助实例,每个主和协助实例具有它自己的消息队列;和
分配给一个或多个状态机族的一个或多个线程池,每个线程池专用于一个状态机族,并包括用于执行相应状态机族的主实例和协助实例的一个或多个线程;
一个给定实例在任一给定时间上由不多于一个线程执行,一个给定线程在任一给定时间上执行不多于一个实例。
15.根据权利要求14的系统,其中该系统包括用于在运行时修改给定状态机族内协助状态机类型的数量的装置。
16.根据权利要求14的系统,其中该系统包括用于在运行时修改给定线程池内线程的数量的装置。
17.根据权利要求14的系统,其中该系统包括用于在运行时修改给定状态机族内一个或多个协助状态机类型的协助实例的数量的装置。
18.根据权利要求14的系统,其中该系统包括用于在生成一个或多个状态机族时,或者在实例化生成的一个或多个状态机族的主和协助状态机类型时,定义消息队列的最大大小的装置。
19.根据权利要求14的系统,其中该系统包括用于在所述线程完成对话之后释放所执行的线程的装置。
20.根据权利要求14的系统,其中该系统包括用于在所述线程执行阻塞事务处理之后,释放所执行的线程的装置。
21.根据权利要求14的系统,其中计算系统是SMP系统。
22.根据权利要求21的系统,其中该系统包括用于每个处理器一个线程地并发执行线程的装置。
23.根据权利要求14的系统,其中操作系统是多处理操作系统。
24.根据权利要求23的系统,其中操作系统是Linux。
25.根据权利要求23的系统,其中操作系统是UNIX。
26.根据权利要求14的系统,其中计算系统是电信网络单元。
CNB2003801037060A 2002-11-20 2003-11-06 状态机族的并发操作 Expired - Fee Related CN1333343C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/299,997 2002-11-20
US10/299,997 US7007004B2 (en) 2002-11-20 2002-11-20 Concurrent operation of a state machine family

Publications (2)

Publication Number Publication Date
CN1714342A CN1714342A (zh) 2005-12-28
CN1333343C true CN1333343C (zh) 2007-08-22

Family

ID=32297823

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801037060A Expired - Fee Related CN1333343C (zh) 2002-11-20 2003-11-06 状态机族的并发操作

Country Status (5)

Country Link
US (1) US7007004B2 (zh)
EP (1) EP1563379A1 (zh)
CN (1) CN1333343C (zh)
AU (1) AU2003276305A1 (zh)
WO (1) WO2004046923A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US7500247B2 (en) * 2004-09-17 2009-03-03 Sap Ag Stack marshaler
US7565395B2 (en) * 2005-02-01 2009-07-21 Microsoft Corporation Mechanism for preserving session state when using an access-limited buffer
US20070101316A1 (en) * 2005-09-12 2007-05-03 Don Berndt Software Architecture and Program for the Concurrent Execution of Finite State Machine-Encoded Processes, on Single or Multiple-Processor-Based Embedded Systems
US9015501B2 (en) * 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8806228B2 (en) * 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
CN101188583B (zh) * 2006-11-17 2010-12-08 中兴通讯股份有限公司 表格驱动的并行状态机的设计方法
CN101159747B (zh) * 2007-11-12 2010-09-01 中兴通讯股份有限公司 一种基于tcp并发多链路的通信系统及其方法
US8205202B1 (en) * 2008-04-03 2012-06-19 Sprint Communications Company L.P. Management of processing threads
US8381216B2 (en) * 2010-03-05 2013-02-19 Microsoft Corporation Dynamic thread pool management
US9811385B2 (en) * 2010-04-28 2017-11-07 Wind River Systems, Inc. Optimizing task management
CN102004715A (zh) * 2010-10-29 2011-04-06 福建星网锐捷网络有限公司 状态机的通信处理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167423A (en) * 1997-04-03 2000-12-26 Microsoft Corporation Concurrency control of state machines in a computer system using cliques
WO2001046799A2 (en) * 1999-12-20 2001-06-28 Unisys Corporation A system and method for providing a pool of reusable threads for performing queued items of work
CN1370384A (zh) * 1999-08-13 2002-09-18 高通股份有限公司 在扩频通信系统中并行处理多个呼叫的方法与设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452459A (en) * 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
US5774738A (en) * 1993-05-03 1998-06-30 Texas Instruments Incorporated State machines
WO1998021651A1 (en) * 1996-11-14 1998-05-22 Alcatel Usa Sourcing, L.P. Generic software state machine and method of constructing dynamic objects for an application program
US6052455A (en) * 1997-11-13 2000-04-18 Northern Telecom Limited Universal data structure for use with a concurrent state machine space in a telecommunications network
US6260186B1 (en) * 1997-11-13 2001-07-10 Nortel Networks Limited Universal state machine for use with a concurrent state machine space in a telecommunications network
US6466898B1 (en) * 1999-01-12 2002-10-15 Terence Chan Multithreaded, mixed hardware description languages logic simulation on engineering workstations
US6477558B1 (en) * 1999-05-17 2002-11-05 Schlumberger Resource Management Systems, Inc. System for performing load management
US6542920B1 (en) * 1999-09-24 2003-04-01 Sun Microsystems, Inc. Mechanism for implementing multiple thread pools in a computer system to optimize system performance
WO2001060000A1 (en) 2000-02-11 2001-08-16 Convergent Networks, Inc. Methods and systems for creating, distributing and executing multimedia telecommunications applications over circuit and packet switched networks
US7219346B2 (en) * 2000-12-05 2007-05-15 Microsoft Corporation System and method for implementing a client side HTTP stack

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167423A (en) * 1997-04-03 2000-12-26 Microsoft Corporation Concurrency control of state machines in a computer system using cliques
CN1370384A (zh) * 1999-08-13 2002-09-18 高通股份有限公司 在扩频通信系统中并行处理多个呼叫的方法与设备
WO2001046799A2 (en) * 1999-12-20 2001-06-28 Unisys Corporation A system and method for providing a pool of reusable threads for performing queued items of work

Also Published As

Publication number Publication date
CN1714342A (zh) 2005-12-28
US20040098364A1 (en) 2004-05-20
EP1563379A1 (en) 2005-08-17
WO2004046923A1 (en) 2004-06-03
US7007004B2 (en) 2006-02-28
AU2003276305A1 (en) 2004-06-15

Similar Documents

Publication Publication Date Title
CN1333343C (zh) 状态机族的并发操作
CN101882089B (zh) 一种采用多线程处理业务会话应用的方法及装置
US7493436B2 (en) Interrupt handling using simultaneous multi-threading
US8270299B2 (en) Communicator-based token/buffer management for eager protocol support in collective communication operations
CA2061117C (en) Apparatus and method for distributed program stack
US3662401A (en) Method of program execution
CN100549964C (zh) 信息处理设备、中断处理控制方法
US3566363A (en) Processor to processor communication in a multiprocessor computer system
CN101553792B (zh) 虚拟化环境中的经优化的中断传递
CN101242392B (zh) 用于系列服务消息处理的方法、设备和系统
EP0849921B1 (en) Apparatus and method for dispatching client method calls within a server computer system
EP0366581A2 (en) Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
CN101162432A (zh) 管理与虚拟机的多个配置的通信的系统和方法
CN100487655C (zh) 具有多个逻辑分区的计算机系统及其硬件资源的管理方法
US20020103847A1 (en) Efficient mechanism for inter-thread communication within a multi-threaded computer system
JPH09128252A (ja) 優先度付きタスク実行制御方法及びデータ処理装置
CN101160565A (zh) 无操作系统干预情况下调度os隔离定序器上的线程的机制
CN101091166B (zh) 保存多个执行上下文的方法和装置
EP1346549B1 (en) Intercommunication preprocessor
CN106062716A (zh) 在单任务系统中实现多任务的方法、装置及单任务系统
JPH0711783B2 (ja) デイスパツチ・モードの変更方法
CN101189579B (zh) 用于多线程处理的使用信号量的方法和装置
CN101018122B (zh) 模式匹配处理方法及系统
JPH08241213A (ja) マイクロプロセッサにおける分散型制御システム
US5392426A (en) Method and apparatus for use in program operation, control and control block management and storage

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: NOKIA AND SIEMENS NETWORKS CO., LTD.

Free format text: FORMER OWNER: NOKIA NETWORKS OY

Effective date: 20080718

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080718

Address after: Espoo, Finland

Patentee after: Nokia Siemens Network Co., Ltd.

Address before: Espoo, Finland

Patentee before: Nokia Oyj

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070822

Termination date: 20091207