CN1630853A - 用于构造分布式软件成分的方法 - Google Patents
用于构造分布式软件成分的方法 Download PDFInfo
- Publication number
- CN1630853A CN1630853A CNA028215575A CN02821557A CN1630853A CN 1630853 A CN1630853 A CN 1630853A CN A028215575 A CNA028215575 A CN A028215575A CN 02821557 A CN02821557 A CN 02821557A CN 1630853 A CN1630853 A CN 1630853A
- Authority
- CN
- China
- Prior art keywords
- contract software
- common customer
- contract
- program threads
- software object
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
一种用于在运行于一个或多个计算设备上的两个或多个程序线程之间交换数据的方法,每个所述计算设备都包括处理器和至少若干存储器,所述方法包括以下步骤:所述程序线程之中的第一程序线程执行用于定义所述线程之间关系的一个契约软件成分;根据所定义的所述契约软件成分的关系,所述第一程序线程以及一个或多个第二程序线程的每一个都创建各自的契约软件对象。
Description
随着计算机和通信网络的日益增加的使用,计算设备正变得越来越多的互连。此外,越来越多的例如音频与视频设备、家用(移动)电话等等的设备都包含用于运行软件的计算装置。这些设备也往往连接到通信网络。为了使软件能够与运行在相同设备上的其它软件进行通信、或者通过通信网络与运行在另一设备上的其它软件进行通信,必须定义软件通信的方式。过去曾设计过许多定义这种通信的方式。软件通信具有如此多样方式的一个原因是:运行软件的设备的所述多样性源自于众多产业。
甚至在计算的产业内,也已开发出各种各样的软件之间通信的方式。考虑到来自上述其他产业的设备(例如,家用设备,电信设备等等)也具有它们自己的软件通信方式的历史,因此为了创建用于在设备之间通信的工作***而已经开发出许多特殊的专用方案并不令人惊奇。这种开发的结果是:在现有技术的设备中使用的两种或更多种软件成分不太可能正确地进行通信。为了克服此软件问题,每当两个或更多软件成分需要相互通信时,就创建补丁程序(patch)。但开发这种特殊的专用补丁程序是非常昂贵的。
为了克服这种缺陷,本发明提供了一种方法,用于在运行于一个或多个计算设备上的两个或多个程序线程(thread)之间交换数据,每个所述计算设备都包括一个处理器和至少若干存储器,所述方法包括以下步骤:
-所述程序线程之中的第一程序线程执行用于定义所述线程之间关系的契约(contractual)软件成分;
-根据所定义的所述契约软件成分的关系,所述第一程序线程以及一个或多个第二程序线程各自创建各自的契约软件对象。
这些契约软件对象(共同客户(co-client))与该关系(初始共同对象(initialco-object))可以驻留在一个或多个设备中,并且用作一个单逻辑实体。其优点是使用这种成分使软件能够在标准联网和/通信技术之上的高层上通信。第二个优点是,对于相互通信的软件,可以使用现存的网络和网络软件,其中该软件的分布式共同对象可在这些网络和网络软件之上操作。
本发明的另一个优点是,为了软件使用这种对每个程序线程都以相同方式工作的分布式成分进行通信,不再需要为了这些线程能够通信而编写特殊的代码。在选择某一任务之后,该分布式成分将按照任务功能而运行,这将在以下的附图说明中进行解释。
此外,当前发明提供一种控制网络业务的***方式(往返控制(round tripcontrol))。利用这种方法,不需要引入专用接口,就可以依据网络等待时间和分布程度对分布式软件成分的实现进行最优化。为了对软件成分在网络中的分布实现进行最优化,可以考虑使用网络拓扑技术,而无需调整任何接口。
此方法的另一优点是,分布式成分的行为与其分布程度无关。虽然在性能级别上总会有一定差异,但使用根据本发明的方法能够完全预测在程序线程之间执行通信的方式。
在本发明的优选实施例中,所定义的所述线程之间的关系是契约软件成分的一种例示(初始共同对象)。一个或多个契约软件对象(共同客户)与(一组)定义的多个线程之间的关系一起作为一个整体(共同成分(co-component))是由程序线程用于创建共同客户的一个软件成分。该关系定义了程序线程必须如何创建一共同客户作为程序空间或程序线程的域中运行的共同客户。
在本发明的另一优选实施例中,对于每个程序线程,都利用上述方法来创建一个契约软件对象(共同客户),以便通过分配为了创建和操作所述共同客户而所需的装置(means)来交换数据。
该初始的共同对象是程序线程为了使用一共同对象与其他的程序线程交换数据而必须同意负担其费用(underwrite)的契约项(term)的一个定义。一个契约识别任务。若一个程序线程需要使用这样的任务,则该程序线程可以对那个任务“签名(sign)”。任务暗指“权利”和“义务”。这些权利和义务包括用于创建和操作共同客户的装置的分配。
程序线程将必须预留用于使用共同客户所需的装置。为此预留的装置的规范由初始共同对象中的共同对象来设计。若一个程序线程需要使用分布式软件成分,则它将负担所谓的契约的费用,其结果是根据其客户被签名的任务的规范来创建一共同客户。
在本发明的另一优选实施例中,该分布式共同对象是单逻辑对象。
此外,最好一个程序线程对第一契约软件对象进行本地操作,以便利用第二线程的第二契约软件对象向第二线程传送数据。其优点是,由于共同客户在该线程内本地运行,因此为了一个线程与其他线程通信,该线程只需利用其共同客户执行内部操作。在该线程已经将需要通信的数据内部传送到该共同客户之后,该分布式对象将在“提交”之后处理该数据至其他线程的通信,这将在以下的附图说明中进行解释。
进一步优选地,在所述第一共同客户的提交操作之后,对所述单逻辑对象的所述第一契约软件对象的本地操作变为全局性的(global)。当一个共同客户通过所述内部操作已从其主机线程接收到数据时,该数据仍然被本地存储。为了目标(target)共同客户接收数据,其中所述目标共同客户是在需要接收该通信的其他线程内运行的共同客户,第一共同客户必须执行一个提交操作。利用由该共同客户为其一部分的共同对象所运行的此操作,通知这些目标共同客户:它们将接收数据。优点是:由共同对象以可被其他的共同客户理解的方式来执行该全局性操作,因为包括多个共同客户的共同对象形成单逻辑对象。
而且优选地,所述单逻辑对象的所述第一契约软件对象的全局性操作通过由第二契约软件对象调用一个同步操作来对所述第二契约软件对象实施。其优点是,在所述第一共同客户的提交操作之后变为全局性的数据将在第二共同客户正运行在其中的程序线程内变为本地的。此后,该通信所针对的第二线程可以通过内部操作存取该数据。因此,显然,在该通信的接收端上,该同步操作也是该共同对象的操作,这意味着接收该数据的线程为了存取该数据而不需要执行全局性操作。接收线程只需对其共同客户执行一个本地操作。
与本申请相同的申请人的美国专利US 6182152(代理公司案号PHN015645)公开了使用进程内(intraproces)更新操作和进程间(inter-proces)适应操作来同步并行的顺序处理。在该文件中描述了用于多个处理器的同步方法,其中这些处理器是利用“信道”相互连接的。这些“信道”包括三个部分:对发送器来说是本地的一个部分,对于接收器来说为本地的一个部分,和一个全局性部分。在此文件中,“COMMIT”操作自动执行一个进程的所有待定(pending)更新。“SYNC2”操作执行一个进程的所有待定适应操作。当所有处理器都是同一设备的部件并使用共享存储器时,可以执行根据此文件的方法。
另一优选实施例提供了一种用于执行根据本发明方法的计算机***,该计算机***包括至少一个计算设备,该计算设备具有至少一个处理器和一个存储器,运行需要交换信息的至少两个并行的程序线程。
在共同待审的欧洲专利申请号系列no.01204140.6(代理公司案号PHNL010784)中,公开了一种通信协议,该通信协议不依赖于分布式成分的分布程度而能够使计算有可能保持一致性。利用这种保证顺序一种性的方法可以使共同工作的处理器独立于通信中的延迟而起作用。
本发明的其他优点、特征和细节将参照结合附图的以下对其优选实施例的描述来解释,所述附图示出一个优选实施例的示意图。
根据本发明的共同对象表示为矩形10。共同对象10包括一个初始共同对象5和四个共同客户11,12,13,14。初始共同对象5是利用软件成分6根据来自一个程序线程的如此做的请求而被创建的。当一个程序线程需要与至少一个其他程序线程交换数据时,一个共同客户被创建为共同对象10的一个逻辑部分,其中该程序线程是运行在计算设备(未示出)上的软件。
一个共同对象是一个逻辑实体,其中创建运行在各个程序线程(进程)1,2,3,4中的共同客户。这些共同对象和共同客户能够以下述方式在线程之间进行数据通信,该方式即是:这些线程可以在其各自的进程内将数据移交给共同客户。从发送进程中一个共同客户到接收进程中另一共同客户(即,从进程1中的共同客户1到进程2中的共同客户2)的数据的实际发送是在发送进程的范围之外完成的,并因此由共同对象来处理。该共同对象负责涉及全局级别上的数据传输的所有操作。
当进程1需要将信息发送到另一进程2时,该进程利用共同对象来创建一个共同客户。为了能够创建共同客户,该进程需要从初始共同对象读取涉及如何执行的数据。该初始共同对象包括有关为了操作该共同客户而需要预留的资源类型和处理容量的信息。根据此信息,该进程就可以创建共同客户。这样创建的共同客户将在进程1的资源内运行,并将在逻辑上成为该共同对象的一部分。同样在进程2中将以类似的方式创建一个共同客户。一个进程需要将被执行的特定功能。这些功能的组合被称为任务。因此,将从初始共同对象读出的数据或该契约软件成分的例示使该进程可以创建能够完成该任务的共同客户。
共同成分是一种软件成分,其能够实现为一个COM成分,所述COM成分包含特定类别的共同对象的实现。一个共同对象是通过以与该类别的对象相同的方式创建一个初始共同对象来创建的。如果使用COM,则该创建是利用“CoCreateInstance”来完成的。实际上,共同对象可以被看作是契约,这意味着客户可以动态地为一个契约中识别的一个特定任务签名,并且这意味着客户不仅得到了权利还得到与该任务相关的义务。
因此,对COM成分来说,需要具有一个准确的规范来识别任务及其相关的权利和义务。该规范识别与任务相关的几个接口。根据COM,最好该规范利用被称为契约ID的Globally Unique ID(全局唯一ID)(GUID)来识别,而不是给该契约中规定的每个接口分配一个单独的GUID。
共同成分的一个例子是“事件协调器(Event Mediator)”。此事件协调器共同对象提供设施来动态连接和断开事件源和事件汇点(sink)。通常,某些事件源和汇点将驻留在同一机器上,而其他事件源和汇点将被分配到不同机器上。
对于事件协调器,区分三种不同的任务。“事件发送器”是事件源的所有者。它能够作为特定类型事件的事件源连接到事件协调器和从事件协调器中断开。在连接之后,它可以向事件协调器报告该事件的出现。
“事件接收器”是“事件汇点”的所有者。它能够作为特定类型事件的事件汇点连接到事件协调器和从事件协调器中断开。当连接时,事件接收器应当对于事件类型规定一个事件处理器。其效果是在事件发送器的源处出现的事件被传播到事件接收器的汇点(假定发送器“提交”和接收器“同步”)。第三任务是“事件查询器”,能够向该事件协调器查询所注册的源的数目和给定事件类型的汇点。应注意这只是一个简化的例子。实际的事件协调器将必须具有更多的特征。
初始共同对象5将根据本发明按照以成分技术创建对象或编程语言的标准方式来创建。一个共同对象初始只包括初始共同对象,这解释名称“初始共同对象”。只要共同对象存在,该初始共同对象也将持续存在,并使用其识别符作为该共同对象的识别符。该对象包括至少一个接口“ICoSign”8,用于使程序线程或处理器能够对一个特定任务签名。对任务的签名将在进程或客户的域中创建一个共同客户。一个共同对象可以具有该共同对象专用的附加接口。
如上所述,IcoSign8的目的是用于这些共同对象的潜在客户在一个特定任务中与该共同对象进行交互作用。客户必需对该任务签名,这意味着该客户将必须承担与该任务相关的所有义务。作为回报,该客户可得到该共同对象的服务。这些任务是通过任务ID来指定的。在客户域中分别签名和创建共同客户之后,该共同客户的索引被返回到该客户。签名也可能失败,如由签名操作的返回值所指示的。例如,可能具有只有一个客户可以签名的任务。IcoSign仅支持任务的“签约(signing up)”而不支持“签退(signing off)”。这并不意味着不能取消(由共同对象来表示的)契约。若一个契约能够被取消,这应当被规定为该契约本身的一部分并应当由共同客户的任务专用接口来支持。此外,该共同客户只能由签名客户使用。共同对象将共同客户的调用方法解释为来自该客户,这意味着,由该共同对象使用该共同客户来识别该客户。
共同客户是一种客户端对象,具有为标准的交互接口31,32,33,34的固定接口组和专用于与该共同客户相关的任务的接口集合21,22,23,24。
当对一特定任务签约时,该客户得到对于该任务的共同客户的专用拷贝。该共同客户的任务专用接口提供对于与该任务相关的功能的接入。由这些任务专用接口所提供的操作的效果对于该客户的进程域来说是严格本地的。
共同客户上操作的本地效果利用交互接口可以转变为对共同对象的全局性效果。其他客户对该共同对象的全局性效果通过此接口也可以被转变为该共同客户的本地效果。
应当注意,一个共同对象所支持的一组任务与一个共同客户相关联的该组接口相对比可以动态改变。
术语“客户”是一个通用术语,用于表示作为程序线程的共同对象的用户。客户只通过共同客户的接口来与该共同对象交互作用。对于一个客户所运用的特定任务的共同客户是在该客户的进程域中被创建的,这意味着与该客户在相同的地址空间中。
注意术语“客户”是一个通用概念,实际上可以是进程、线程、对象、对象组等等。
事件接收器共同客户的任务专用接口的一个例子是如可以利用COM IDL规定的“IEventReceiverConnect”:
IEventReceiverConnect
{void connect([in]EventID id,
[in]EventHandler hdl
);
void disconnect([in]EventID id);
}
此接口允许客户通过指定事件ID和事件处理器来作为事件接收器进行连接和断开。连接操作的效果是客户将被注册为利用该事件ID识别的事件类型的接收器。如果对此类型事件注册发送器,则由这些发送器引起的任何事件都将被传播到共同客户。
除了处理事件的操作之外,事件处理器接口还可提供两种操作来处理该客户的连接和断开。这样做的原因是连接和断开是异步的。共同对象通过调用相应的事件处理器操作来确认连接和断开。
而且,所有其他的任务专用操作,例如连接和断开操作,需要在其在共同对象级别上具有效果之前被提交。
由每个共同客户提供的交互接口都是控制程序线程之间网络业务密度的主要装置,其中这些程序线程使用该共同对象来交换信息。一个客户对共同客户的每个任务专用操作对于该客户的进程域是严格本地的而不涉及任何网络业务,这是本发明的一个巨大优点。对共同对象操作的全局性效果只在该客户已经执行了共同客户的一个“提交”操作后才实现。此效果的实际情况应当通过阅读该共同对象的说明而获知。
提交对共同对象具有全局性效果,但对于使用该共同对象的其他客户没有此效果。这样做的优点是,可以通过一个线程来发送数据而不会影响其他的线程。为了使其他客户也获得提交操作的效果,一个客户必须对该共同客户调用同步操作,这将会在该共同客户(并且仅是该共同客户)中产生一个效果。根据本发明的方法的使用可以使交互作用在精确定义的时刻进行,这最优化网络业务。
能够利用COM规定发送器如何能够发送两种类型的事件“键盘事件”和“鼠标事件”的示例:
Action by receiver(接收器的动作):
(1)eventReceiver.connect(keybdEventID,eventHandler);
(2)eventReceiver.connect(mouseEventID,eventHandler);
(3)commit();
(4)...actionsbysender...
(5)sync()
(6)-eventHandler.handleConnect(keybdEventID);
(7)-eventHandler.handleConnect(mouseEventID);
(8)-eventHandler.handleEvent(keybdEventID,shiftKey);
(9)-eventHandler.handleEvent(keybdEventID,ctrlKey);
(10)-eventHandler.handleEvent(mouseEventID,
clickLeft);
初始地,发送器必须通过调用共同客户“coEventSender”的相应“连接”操作连接为键盘和鼠标事件的发送器。
通过调用“提交”,将这些命令传播到共同对象,这将使该客户能够作为这两种类型事件的发送器。从该时刻开始,共同对象将发送器引起的这些类型的事件传送到这些类型事件的接收器。
发送器引起三种事件:“shiftKey”,“ctrlKey”和“clickLeft”。“raiseEvent”操作只对发送器共同客户具有本地效果。“提交”将建立这些操作的全局性效果。
另一个例子示出了接收器如何能够接收利用COM规定的事件:
Action by sender(发送器的动作):
(1)CoEventSender.connect(keybdEventID);
(2)CoEventSender.connect(mouseEventID);
(3)Commit();
(4)...
(5)CoEventSender.raiseEvent(keybdEventID,shiftKey);
(6)CoEventSender.raiseEvent(keybdEventID,ctrlKey);
(7)CoEventSender.raiseEvent(keybdEventID,clickLeft);
(8)Commit();
初始地,接收器必须作为键盘和鼠标事件的接收器而连接。“提交”用于全局性地传送这些命令。
响应于这两个操作,共同对象将向接收器发送确认,使接收器得知,从那时起它就能够期待键盘和鼠标事件的到来。
当发送器引起一个事件时,在连接之后立即,如上所述,在执行“同步”之后,接收器将接收三种事件:两个连接事件,两个键盘事件和一个鼠标事件。这些事件通过调用对应的事件处理器在接收器一侧被引起(作为“同步”的一部分)。
此外,能够增加附加接口。这些接口被称为共同客户的“IcoConnect”接口和客户的“IcoSignal”接口。
共同客户的“IcoConnect”接口允许客户预订(“连接”)共同客户的通知,该通知报告一个共同客户“不同步”。在预订此接口中,该客户必须提供“IcoSignal”回调接口,该接口由共同客户用于向该客户“传送”不同步事件。该客户可以通过从该共同客户中“断开”来停止该通知。
可以在一个进程内对多组共同客户定义多个交互作用操作符,例如,个体共同客户、在个体共同对象内的一组共同客户、或在一组共同对象内的多个共同客户和/或在所有共同对象内的所有共同客户。原始交互作用操作符,例如关于个体共同客户的“提交”和“同步”,可以组合到更多的纹理粗糙(coarse-grained)的交互作用操作符,这些交互作用操作符对同一共同对象的多组共同客户、来自不同共同对象的多组共同客户或甚至在某个进程域中的所有共同客户进行操作。
在一个进程中对所有的共同客户进行操作的其它交互作用操作符包括“提交”、“同步”、“等待”、“下一个”和“等待中(await)(条件)”。这些都是在进程级别上(即,在一个进程中对所有共同客户同时)操作的复合交互作用操作符的例子。“提交”操作符对所有的共同客户执行“提交”(实际上,它仅执行“待定”“提交”)。“同步”操作符对不同步的所有共同客户都执行“同步”。“等待”操作符执行等待,直到一个共同客户不同步为止。“下一个”操作符执行“提交”,其后跟随着“同步”。“等待中(c)”执行等待,直到条件C成为真。
若共同客户和共同对象驻留在同一进程中或同一机器上,则当共同客户之间的通信不需要经过共同对象而可以被短接时,可以使用“提交”-“同步”机制的共享存储器实现。在特定任务中第一次的签约通常将意味着下载共同客户代码。
Claims (10)
1.用于在运行于一个或多个计算设备上的两个或多个程序线程之间交换数据的一种方法,每个所述计算设备都包括一个处理器和至少若干存储器,所述方法包括以下步骤:
-所述程序线程之中的第一程序线程执行用于定义所述线程之间关系的一个契约软件成分;
-根据所定义的所述契约软件成分的关系,所述第一程序线程以及一个或多个第二程序线程各自创建各自的契约软件对象。
2.如权利要求1所述的方法,其中所定义的所述线程之间的关系是该契约软件成分的一种例示。
3.如权利要求1所述的方法,其中对于每个程序线程,创建一个契约软件对象。
4.如权利要求1所述的方法,其中通过分配创建和操作一个契约软件对象所必需的装置,利用该用于交换数据的方法来为每个线程创建契约软件对象。
5.如权利要求1所述的方法,其中该契约软件对象和所述线程之间的关系是单逻辑对象。
6.如权利要求1所述的方法,其中一个程序线程对第一契约软件对象本地操作,以便利用第二线程的第二契约软件对象来传送数据给所述第二线程。
7.如权利要求1所述的方法,其中所述单逻辑对象的所述第一契约软件对象的本地操作在所述第一契约软件对象的提交操作之后变成全局性的。
8.如权利要求1所述的方法,其中通过利用所述第二契约软件对象调用一个同步操作,对第二契约软件对象实施所述单逻辑对象的所述第一契约软件对象的全局性操作。
9.一种计算机***,包括至少一个计算设备,所述计算设备具有至少一个处理器和一个存储器,运行需要交换信息的至少两个并行程序线程,用于执行根据权利要求1所述的方法。
10.一种计算机程序,用于使一个处理器执行权利要求1的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01204139.8 | 2001-10-30 | ||
EP01204139 | 2001-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1630853A true CN1630853A (zh) | 2005-06-22 |
Family
ID=8181158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028215575A Pending CN1630853A (zh) | 2001-10-30 | 2002-10-03 | 用于构造分布式软件成分的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030088661A1 (zh) |
EP (1) | EP1497724A2 (zh) |
JP (1) | JP2005509216A (zh) |
KR (1) | KR20040058261A (zh) |
CN (1) | CN1630853A (zh) |
WO (1) | WO2003038599A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611024A (zh) * | 2020-05-09 | 2020-09-01 | 上海万间信息技术有限公司 | 一种iOS组件化优化方法、***及终端 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020141B2 (en) | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
US7882317B2 (en) | 2004-12-06 | 2011-02-01 | Microsoft Corporation | Process isolation using protection domains |
US7451435B2 (en) | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US7600232B2 (en) | 2004-12-07 | 2009-10-06 | Microsoft Corporation | Inter-process communications employing bi-directional message conduits |
US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
US8074231B2 (en) | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
US8032898B2 (en) | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157927A (en) * | 1998-04-22 | 2000-12-05 | Unisys Corporation | Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager |
US20020144014A1 (en) * | 2001-01-26 | 2002-10-03 | Alan West | Event mediator for facilitating communication between isolated components |
-
2002
- 2002-10-03 JP JP2003540795A patent/JP2005509216A/ja not_active Withdrawn
- 2002-10-03 EP EP02772678A patent/EP1497724A2/en not_active Withdrawn
- 2002-10-03 WO PCT/IB2002/004073 patent/WO2003038599A2/en not_active Application Discontinuation
- 2002-10-03 CN CNA028215575A patent/CN1630853A/zh active Pending
- 2002-10-03 KR KR10-2004-7006583A patent/KR20040058261A/ko not_active Application Discontinuation
- 2002-10-25 US US10/280,648 patent/US20030088661A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611024A (zh) * | 2020-05-09 | 2020-09-01 | 上海万间信息技术有限公司 | 一种iOS组件化优化方法、***及终端 |
CN111611024B (zh) * | 2020-05-09 | 2022-10-11 | 上海万间信息技术有限公司 | 一种iOS组件化优化方法、***及终端 |
Also Published As
Publication number | Publication date |
---|---|
JP2005509216A (ja) | 2005-04-07 |
WO2003038599A2 (en) | 2003-05-08 |
WO2003038599A3 (en) | 2004-11-11 |
KR20040058261A (ko) | 2004-07-03 |
US20030088661A1 (en) | 2003-05-08 |
EP1497724A2 (en) | 2005-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5519875A (en) | Distributed processing system for modules, each having modularized objects | |
CN1315076C (zh) | 管理备用资源权利的设备和方法 | |
CN1925406A (zh) | 管理异构高可用性集群的方法和服务器 | |
CN100487689C (zh) | 用于环球网服务结构中的包容器选择器及其选择方法 | |
US20080120600A1 (en) | Exchange Infrastructure System and Method | |
CN1277194C (zh) | 供异步消息接发***使用的方法和设备 | |
CN1969280A (zh) | 使用命令行环境的远程***管理 | |
CN1298147A (zh) | 向虚拟主机提供服务品质保证的技术 | |
CN1231734A (zh) | 在类数据交换环境中提供动态数据引用的***和方法 | |
CN1859125A (zh) | 集中远程自动升级软件的***及其方法 | |
CN1573696A (zh) | 用于网格计算***中的对等作业监视和控制的***和方法 | |
CN105786611A (zh) | 一种分布式集群的任务调度方法及装置 | |
CN1630853A (zh) | 用于构造分布式软件成分的方法 | |
CN105760498A (zh) | 一种xml数据与关系型数据库匹配的实现方法 | |
US20090241120A1 (en) | System and method for controlling priority in sca multi-component and multi-port environment | |
US20060136602A1 (en) | Electronic data interchange apparatus | |
CN1946031A (zh) | 多协议数据和传输网络设备集中管理***及方法 | |
CN114816694A (zh) | 一种多流程协作的rpa任务调度方法及装置 | |
CN106161520A (zh) | 大数据应用平台及基于其的交互方法 | |
EP1506478B1 (en) | Exchange infrastructure system and method | |
CN101043446A (zh) | 数据转发处理的方法和装置 | |
CN1819532A (zh) | 一种管理信息库的处理方法 | |
CN101043364A (zh) | 一种电信设备***资源管理的方法 | |
CN111641667A (zh) | 网络中心过程控制 | |
JP4232109B2 (ja) | リアルタイム処理システム、処理装置、リアルタイム処理方法、及びプログラム |
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 |