CN104679598A - 用于选择同步或异步进程间通信机制的系统和方法 - Google Patents

用于选择同步或异步进程间通信机制的系统和方法 Download PDF

Info

Publication number
CN104679598A
CN104679598A CN201410835121.8A CN201410835121A CN104679598A CN 104679598 A CN104679598 A CN 104679598A CN 201410835121 A CN201410835121 A CN 201410835121A CN 104679598 A CN104679598 A CN 104679598A
Authority
CN
China
Prior art keywords
data
interprocess communication
asynchronous
resource
synchronous
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.)
Granted
Application number
CN201410835121.8A
Other languages
English (en)
Other versions
CN104679598B (zh
Inventor
帕维尔·V·迪亚金
安德烈·Y·格鲁兹杰夫
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN104679598A publication Critical patent/CN104679598A/zh
Application granted granted Critical
Publication of CN104679598B publication Critical patent/CN104679598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/54Interprogram communication

Abstract

提供用于选择同步或异步进程间通信机制的系统和方法。所公开的是用于选择进程间通信机制的系统、方法和计算机程序产品。在一方面,系统收集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个以在第一进程和第二进程之间传输数据。

Description

用于选择同步或异步进程间通信机制的系统和方法
相关申请的交叉引用
本申请根据美国法典第35卷第119(a)-(d)条要求享有提交于2013年12月27日的2013158133号俄罗斯申请的优先权的权益,其通过援引并入本文。
技术领域
本发明总地涉及计算机操作系统领域,并更具体地,涉及用于选择同步或异步进程间通信机制的系统、方法和计算机程序产品。
背景技术
在现代计算机操作系统中,两个进程可使用进程间通信的同步和异步方法交换数据。进程间通信(IPC)通常包括在一个或多个进程中的一组线程之间交换数据的方法集。进程可以在通过网络链接的一个或多个计算机上启动。IPC方法被划分为消息传递方法、同步方法、共享存储器方法和远程过程调用方法。如果进程实施异步操作,则该进程不需要对于操作的响应来继续其执行。如果进程实施同步操作,则该进程需要对于操作的响应以继续其执行。操作是在特定进程环境下所执行的基础动作(例如API函数调用)。
进程间通信的同步与异步机制通常用于不同目的并各有优劣。异步操作允许进程无需等待对于操作的响应而继续工作,但其可能较慢,需要较多的操作系统资源,并且可能预测复杂。另一方面,同步操作可能较快,需要较少的操作系统资源,并且可能易于预测,但其直到对于操作的响应被接收才允许进程继续工作。
然而,在进程之间的通信中出现通过异步调用执行某一任务而效率低下的情形,譬如,进程利用其工作的资源在某一时刻空闲时,所需数据之前已经被存储在高速缓存中,以及其他情形。在这类情况下,使用同步操作实施所要求的任务更加有利,因为任务将被快速执行。同样,存在异步操作可能是更优选的情形。
因此,存在对于用于在进程间通信的同步与异步方法之间进行抉择的机制的需要。
发明内容
所公开的是用于选择进程间通信的同步或异步方法的系统、方法和计算机程序产品。
根据本发明的一个方面,选择进程间通信的方法包括:由处理器收集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个以在第一进程和第二进程之间传输数据。
根据本发明的另一个方面,用于选择进程间通信的系统包括处理器,其配置为:收集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个以在第一进程和第二进程之间传输数据。
根据本发明的又一个方面,一种存储在非暂时性计算机可读介质中、用于选择进程间通信的计算机程序产品,其包括用于以下的计算机可执行指令:收集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程尝试能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个以在第一进程和第二进程之间传输数据。
上述示范性方面的简要概括用来提供对本发明的基本理解。此概括并非对本发明的所有预期方面的宽泛概述,并且既不意图标识所有方面的关键或决定性元素也不意图划定任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面,作为接下来对本发明的更详细的描述的前序。为了完成前述事项,一个或多个方面包括在权利要求中所描述和具体指出的特征。
附图说明
附图并入本说明书中并构成其中的一部分,其示出了本发明的一个或多个示范性方面,并与详细的描述一起用于解释其原理和实现方案。
图1示出了用于选择同步或异步进程间通信的示范性系统的框图。
图2示出了用于选择同步或异步进程间通信的示范性方法的流程图。
图3示出了可在其上实现用于选择同步或异步进程间通信的系统及方法的示范性通用计算机系统的框图。
具体实施方式
本文围绕用于选择进程间通信的同步或异步方法的系统、方法和计算机程序产品描述了示范性方面。本领域普通技术人员应该理解下面的描述仅是示意性的并且不意图以任何方式进行限定。受益于本公开的本领域技术人员将易于想到其他方面。现在将详细参考如附图中示出的示范性方面的实现方案。贯穿附图和下面的描述将尽可能使用相同的参考标记来指代相同或相似项。
图1示出了用于选择同步或异步进程间通信的示范性系统的框图。用于选择同步或异步类型的进程间通信方法(诸如文件、信号、套接字、信道、命名信道、信号量(semaphore)、共享存储器、消息传递、存储器映射文件、消息队列等)的系统可以包括第一进程110、用于提供进程间通信的模块120、分析模块130、用于获得关于所利用的资源的数据的模块140、以及第二进程150。第一进程110可以配置为在操作系统中实施动作,用于通过进程间通信方法之一来传输数据给第二进程150。第二进程150可以配置为在操作系统中实施动作,以通过进程间通信方法之一从第一进程接收数据。用于提供进程间通信的模块120可以配置为借助数据交换方法的选择来实现进程之间的通信,所述数据交换方法诸如消息传递、同步、共享存储器或远程过程调用。
在进程之间传输信息的需要可以是由于以下事实,即首先,单个进程的架构中的完整工作逻辑的实现通常是不可能的(当数个应用在一台计算机甚至不同计算机上利用公用数据工作时的情况下),并且其次,这类工作的整体组织在其实现和协调中是复杂的,这反过来可能导致执行中的错误,并且还可能成为恶意程序可以利用的漏洞源。
进程间通信的示例之一是图像从文档扫描程序到图形处理程序的传输。第一进程110可以属于扫描程序,并且可以将经扫描的图像保存在临时文件中,第二进程150可以属于图形处理程序,并且可以确定文件系统中文件的存在、读取文件并在程序窗口中显示图像。
进程之间的数据交换的另外一个示例是描绘从股市站点下载到用户的浏览器的当前股市信息。在该情况下,在股市服务器上所启动的第一进程110在数据被更新时将其发送至订户。在用户计算机上运行的第二进程150可以持续等待来自在股市服务器上工作的进程的数据的发送,并且一旦这类数据自第一进程110到达,就立刻将其显示在用户的浏览器中,所述数据诸如关于证券的价格报价的信息。套接字和信道可以用作上述进程之间的进程间通信方法。
用于提供进程间通信的模块120可以接收来自第一进程110的、传输数据给第二进程150的请求。随后,用于提供进程间通信的模块120可以将请求的数据特性(诸如第一和第二进程的标识符、被传输的数据的类型和数量(volume)、进程将利用其工作的资源的标识符等等)发送给分析模块130,用于就将同步或异步中哪种类型的进程间通信用于从第一进程110到第二进程150的数据传输做出决定。随后,在分析模块130完成其工作之后,可以从后者获得关于从第一进程110到第二进程150的数据传输中所需使用的进程间通信的类型的信息。随后根据所获得的结果,可以以所选择类型的进程间通信的方式实施数据到第二进程150的传输。
分析模块130可以配置为接收来自用于提供进程间通信的模块120的请求以确定用于当前任务的进程间通信的最佳类型,进行分析以确定将以最高效率实施从第一进程110到第二进程150的数据传输任务的同步或异步类型,所述最高效率例如执行请求的时间最短、资源(诸如工作存储器、处理器时间、网络吞吐量、文件、信息介质等等)的停滞时间最短、和对于操作系统的其他进程来说这些特性的增加最小,以及将分析的结果呈现给用于提供进程间通信的模块120。
分析模块130可以从用于提供进程间通信的模块120接收请求,以实施分析来确定第一进程110向第二进程150传输数据将采用的进程间通信的类型,并且就同步或异步中哪种类型对于数据传输效率会更高做出决定,其中效率意味着执行请求的时间最短、资源(诸如硬盘、工作存储器等)的停滞时间最短、和对于操作系统的其他进程来说这些特征的增加最小。之后,基于在来自用于提供进程间通信的模块120的请求中所获得的数据(诸如第一进程110和第二进程150的标识符、被传输的数据的类型和数量、进程将利用其工作的资源的标识符等),分析模块130可以从用于获得关于所利用的资源的数据的模块140接收关于要由进程110和150所使用的资源的状态的数据,其取决于资源的类型而包括这样的参数,诸如之前放置于高速缓存中的信息的存在(为了减轻资源的工作负载并加快利用其工作的速度,最近的或经常调用的、利用资源的操作的结果被保留在工作存储器中或硬盘上并在下一次从资源请求这样的数据时立即取出给客户,所述结果诸如所请求文件的内容或者已执行的SQL请求的结果)、资源访问队列的状态即繁忙或空闲等。基于对所获得的数据的分析,分析模块130可以就同步或异步中哪种类型的进程间通信是优选的做出决定。随后可以将该分析结果发送给用于提供进程间通信的模块120用于进一步工作。
用于获得关于所利用的资源的数据的模块140可以配置为根据请求和基于由分析模块130所提供的数据来输出关于资源的状态及性质(诸如使用资源的进程队列的大小、之前放置于高速缓存中的所需信息的存在、空闲工作存储器的数量、硬盘上的空闲空间的数量等)的数据(诸如第一进程110和第二进程150的标识符、被传输的数据的类型和数量、进程将利用其工作的资源的标识符等),该数据从资源获得或从服务于资源的工作存储器模块(诸如硬盘驱动器)获得。
作为用于选择进程间通信的系统的工作的示例,可能存在一个进程希望从硬盘读取文件的情形。因为磁盘可能被来自其他进程的调用所占用,且在磁盘上找到文件也可能耗费时间等,所以该操作需要花费多少时间事先难以知晓。故此,开发者可以使用异步类型的、从磁盘对数据进行的读取,用于执行其算法。当分析模块130从用于提供进程间通信的模块120接收确定同步或异步类型的进程间通信中使用哪种更加优选的请求时,其可以从用于获得关于所利用的资源的数据的模块140(此例中为硬盘)请求关于其负载状况(利用资源工作的进程队列的大小)及在高速缓存中是否存在所需数据(即所需数据是否已经读入并保存于存储器的任一点处)的信息。如果在存储器中已经存在所需信息或者硬盘处于空闲,则分析模块130可以向用于提供进程间通信的模块120报告从硬盘读取文件的操作可以同步进行(因为其相比异步读取操作更快),否则操作可以异步实施。
作为在同步和异步进程间通信之间进行抉择的另一个示例,可以考虑SQL请求在数据库中的执行。进程可以向数据库发送提供关于某一标准的数据的SQL请求。因为用于该操作的时间可能相当长,所以开发者可以使用异步类型的请求。分析模块130可以从用于获得关于所利用的资源的数据的模块140(此例中为数据库)请求关于缓存的信息(即是否相似的SQL请求之前已经执行以及是否已经为其保存数据)。如果已经进行了缓存,即数据可以快速获得,则SQL请求可以被同步执行。
图2示出了用于选择同步或异步进程间通信的示范性方法的流程图。在步骤210,来自第一进程110的、用于通过进程间通信方法之一传输数据的请求可以到达分析模块130的输入端处。随后,在步骤220,可以确定数据传输方法-同步或异步。如果请求的进程间通信方法为同步,则在步骤250第二进程可以通过同步进程间通信方法从第一进程接收数据。如果请求的进程间通信方法为异步,则在步骤230可以确定是否存在通过同步类型的进程间通信的给定请求的实现方案。如果对于用于进程间通信的异步请求来说不存在同步版本,则在步骤260中第二进程可以通过异步进程间通信方法从第一进程接收数据。如果对于用于进程间通信的异步请求来说存在同步版本,则在步骤240中可以基于要利用的资源的轮询结果来对利用进程间通信的同步版本的可能性进行计算。如果发现用于进程间通信的请求的同步版本是可取的,则在步骤250中第二进程可以通过同步进程间通信方法从第一进程接收数据,否则在步骤260中第二进程可以通过异步进程间通信方法从第一进程接收数据。
图3描绘了可以用来实现所公开的用于选择同步或异步进程间通信的系统和方法的计算机系统5的一个示范性方面。计算机系统5可以包括但不限于个人计算机、笔记本、平板计算机、智能电话、网络服务器、路由器或其他类型的处理设备。如所示的,计算机系统5可以包括通过系统总线10连接的一个或多个硬件处理器15、存储器20、一个或多个硬盘驱动器30、光驱35、串行端口40、图形卡45、音频卡50和网卡55。系统总线10可以是数种类型的总线结构中的任何一种,包括使用各种已知总线架构中的任何一个的存储器总线或存储器控制器、外围总线和局部总线。处理器15可以包括一个或多个酷睿2四核2.33GHz处理器或其他类型的微处理器。
系统存储器20可以包括只读存储器(ROM)21和随机存取存储器(RAM)23。存储器20可以以DRAM(动态RAM)、EPROM、EEPROM、闪存或其他类型的存储器架构来实现。ROM 21存储基本输入/输出系统22(BIOS),包含有助于诸如在启动期间在计算机系统5的模块之间转移信息的基本例程。RAM 23存储操作系统24(OS),诸如7专业版或其他类型的操作系统,其负责进程的管理和协调以及计算机系统5中的硬件资源的分配和共享。存储器20还存储应用和程序25。存储器20还存储由程序25所使用的各种运行时数据26。
计算机系统5可以进一步包括诸如串行高级技术附件硬盘驱动器(SATA HDD)的硬盘驱动器30,以及用于从可移动光盘读取或写入到可移动光盘的光盘驱动器35,诸如CD-ROM、DVD-ROM或其他类型的光学介质。驱动器30和35以及它们的相关联的计算机可读介质提供实现本文所公开的算法和方法的计算机可读指令、数据结构、应用和程序模块/子例程的非易失性存储。虽然示例性计算机系统5采用磁盘和光盘,但是本领域技术人员应该理解,在计算机系统5的可替代方面中还可以使用可以存储可由计算机系统5访问的数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、数字视频光盘、RAM、ROM、EPROM以及其他类型的存储器。
计算机系统5进一步包括多个诸如通用串行总线(USB)的串行端口40,用于连接数据输入设备75,诸如键盘、鼠标、触摸板和其他。串行端口40还可以用于连接数据输出设备80,诸如打印机、扫描仪和其他,以及其他外围设备85,诸如外部数据存储设备等等。系统5还可以包括图形卡45,诸如GT 240M或其他视频卡,用于与诸如触摸屏显示器的显示器60或其他视频再现设备进行交互。系统5还可以包括音频卡50用于经由内部或外部扬声器65再现声音。此外,系统5可以包括网卡55,诸如以太网、WiFi、GSM、蓝牙或其他有线、无线或蜂窝网络接口,用于将计算机系统5连接到网络70,诸如互联网。
在各方面,本文所公开的系统和方法可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则方法可作为一个或多个指令或代码而存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储。通过示例而非限制的方式,这类计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM、闪存或其他类型的电、磁、或光学存储介质,或可以用来以指令或数据结构的形式携带或存储所期望的程序代码并且可由通用计算机的处理器访问的任何其他介质。
在各方面中,在本公开中以模块来描述系统和方法。如本文所使用的术语“模块”指使用硬件或作为硬件和软件的组合实现的现实世界的设备、部件、或部件的组合体(arrangement),所述使用硬件诸如通过例如专用集成电路(ASIC)或现场可编程门阵列(FPGA),所述作为硬件和软件的组合诸如通过微处理器系统和实现模块的功能性的指令集,该指令集(当被执行时)将微处理器系统变换成专用设备。模块还可以实现为上述两者的组合,某些功能由硬件单独来促进,并且其他功能由软件和硬件的组合来促进。在某些实现方案中,模块的至少一部分并且在一些情况下模块的全部可以在通用计算机(诸如上面图3中较详细描述的计算机)的处理器上执行。因此,每个模块可以以各种适当的配置实现,并且不应被限制于本文所例示的任何特定的实现方案。
为了清楚,本文没有公开方面的所有常规特征。将理解的是,在本发明的任何实际实现方案的开发中,必须做出大量的特定于实现方案的决策以达成开发者的具体目标,并且这些具体目标将针对不同的实现方案和不同的开发者而变化。将理解的是,这类开发工作可能是复杂的并且耗时的,然而尽管如此对于受益于本公开的本领域普通技术人员来说将是常规的工程任务。
此外,将理解的是,本文所使用的措辞或术语是用于描述而非限制的目的,这样使得本说明书的术语或措辞将由本领域技术人员鉴于本文所呈现的教导和指导结合相关领域的技术知识来解释。此外,除非明确照此阐述,否则不意在将本说明书或权利要求中的任何术语归于不寻常的或特殊的意义。
本文所描述的各方面包含与本文通过例示方式所提及的已知模块等同的现在和将来的已知等同物。此外,虽然已经示出和描述了方面和应用,但是对于受益于本公开的本领域技术人员来说将显而易见的是,许多比上面提及的更多修改是可能的而不脱离本文所公开的发明构思。

Claims (6)

1.一种选择进程间通信的方法,所述方法包括:
由处理器收集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;
分析所收集的信息,以确定何种数据传输方法达到最小化进程之间的所述数据传输的时间、最大化用于所述数据传输的资源的利用、最小化所述数据传输期间的停滞时间、最小化操作系统的其他进程对所述数据传输的影响中的至少一个;以及
基于所述确定,选择进程间通信的同步或异步方法中的一个以在所述第一进程和所述第二进程之间传输所述数据。
2.根据权利要求1所述的方法,其中,在所述同步数据传输方法期间,所述第一进程在所述数据传输之后直到接收来自所述第二进程的响应才能够继续执行,并且,在所述异步数据传输方法期间,所述第一进程在所述数据传输之后能够继续执行而无需接收来自所述第二进程的响应。
3.根据权利要求1所述的方法,其中,所述在进程之间的数据的传输使用以下项中的至少一个来实施:文件、信号、套接字、信道、命名信道、信号量、共享存储器、消息传递、存储器映射文件和消息队列。
4.根据权利要求1所述的方法,其中,由所述进程所用的所述资源包括以下项中的至少一个:工作存储器、处理器时间、网络、文件和数据存储介质。
5.根据权利要求1所述的方法,其中,由所述进程所使用的所述资源的性质包括以下项中的至少一个:存储在高速缓存中的所需信息的存在、空闲工作存储器的量、数据存储介质上的空闲空间的量。
6.根据权利要求1所述的方法,其中,所述所收集的信息包括以下项中的至少一个:所述第一进程和所述第二进程的标识符、被传输的数据的类型和量、所述进程将利用其工作的所述资源的标识符、所述资源的在高速缓存中数据的存在、所述资源的访问队列的状态。
CN201410835121.8A 2013-12-27 2014-12-26 用于选择同步或异步进程间通信机制的系统和方法 Active CN104679598B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2013158133/08A RU2568292C2 (ru) 2013-12-27 2013-12-27 Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия
RU2013158133 2013-12-27

Publications (2)

Publication Number Publication Date
CN104679598A true CN104679598A (zh) 2015-06-03
CN104679598B CN104679598B (zh) 2017-10-31

Family

ID=53314689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410835121.8A Active CN104679598B (zh) 2013-12-27 2014-12-26 用于选择同步或异步进程间通信机制的系统和方法

Country Status (3)

Country Link
US (1) US9201712B2 (zh)
CN (1) CN104679598B (zh)
RU (1) RU2568292C2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095593A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种前、后景应用程序行为同步方法及装置
CN107656827A (zh) * 2017-09-27 2018-02-02 郑州云海信息技术有限公司 一种进程间通信方法及系统
CN108038011A (zh) * 2017-12-28 2018-05-15 深圳市富途网络科技有限公司 一种实现sns多进程通信的方法
WO2019072260A1 (zh) * 2017-10-13 2019-04-18 华为技术有限公司 一种进程间通信的方法及系统
CN116089049A (zh) * 2023-04-07 2023-05-09 北京卡普拉科技有限公司 基于异步并行i/o请求的进程同步调度方法、装置以及设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102254101B1 (ko) * 2014-10-20 2021-05-20 삼성전자주식회사 데이터 처리 시스템 및 이의 동작 방법
US10158709B1 (en) * 2015-06-19 2018-12-18 Amazon Technologies, Inc. Identifying data store requests for asynchronous processing
US9916092B2 (en) * 2015-12-09 2018-03-13 Vmware, Inc. Methods and systems to allocate physical data-storage costs to logical disks
US11755363B2 (en) * 2016-12-19 2023-09-12 Vmware, Inc. Framework for workflow extensibility in a cloud computing system
US10467151B2 (en) * 2017-09-05 2019-11-05 NGINX, Inc. Using shared memory to transport data between server processes
US11042424B1 (en) 2018-04-24 2021-06-22 F5 Networks, Inc. Pipelined request processing using shared memory
US10761914B2 (en) * 2018-10-16 2020-09-01 International Business Machines Corporation Replacing generated procedure calls with generated inter-process communication
RU2739830C1 (ru) * 2019-09-30 2020-12-28 Акционерное общество "Лаборатория Касперского" Система и способ выбора средства обнаружения вредоносных файлов
EP3828748A1 (en) 2019-11-27 2021-06-02 AO Kaspersky Lab System and method for access control in electronic control units of vehicles
EP3926919A1 (en) 2020-06-19 2021-12-22 AO Kaspersky Lab System and method for enabling an interprocess communication in electronic control units of vehicles

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013465B1 (en) * 1999-08-17 2006-03-14 Emc Corporation System, device and method for interprocessor communication in a computer system
US20080168130A1 (en) * 2007-01-09 2008-07-10 Wen-Tzer Thomas Chen Method and system for determining whether to send a synchronous or asynchronous resource request
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法
CN101674326A (zh) * 2009-09-21 2010-03-17 中兴通讯股份有限公司 进程间同步通信实现方法及代理单元
US20110213829A1 (en) * 2010-03-01 2011-09-01 International Business Machines Corporation Programmatically determining an execution mode for a request dispatch utilizing historic metrics
US20120291038A1 (en) * 2010-11-24 2012-11-15 Clevenger Brian Duane Method for reducing inter-process communication latency

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434975A (en) * 1992-09-24 1995-07-18 At&T Corp. System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
CA2149445A1 (en) 1994-07-27 1996-01-28 Aziza Bushra Faruqi Separation and transmission control method and apparatus for a microkernal data processing system
US6938251B1 (en) 2000-09-29 2005-08-30 Sprint Communications Company L.P. Deferred-Synchronous messaging software in a non-threaded environment
KR20060100031A (ko) * 2005-03-16 2006-09-20 삼성전자주식회사 다중 무선 접속 방식을 지원하는 이동 단말에서 네트워크인터페이스 선택 장치 및 방법
GB2426161A (en) 2005-05-13 2006-11-15 Onshare Ltd Networking via a communication layer
US7430633B2 (en) 2005-12-09 2008-09-30 Microsoft Corporation Pre-storage of data to pre-cached system memory
US8336056B1 (en) * 2009-12-22 2012-12-18 Gadir Omar M A Multi-threaded system for data management
KR20130063825A (ko) 2011-12-07 2013-06-17 삼성전자주식회사 운영체제에서 동적으로 선점 구간을 조정하는 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013465B1 (en) * 1999-08-17 2006-03-14 Emc Corporation System, device and method for interprocessor communication in a computer system
US20080168130A1 (en) * 2007-01-09 2008-07-10 Wen-Tzer Thomas Chen Method and system for determining whether to send a synchronous or asynchronous resource request
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法
CN101674326A (zh) * 2009-09-21 2010-03-17 中兴通讯股份有限公司 进程间同步通信实现方法及代理单元
US20110213829A1 (en) * 2010-03-01 2011-09-01 International Business Machines Corporation Programmatically determining an execution mode for a request dispatch utilizing historic metrics
US20120291038A1 (en) * 2010-11-24 2012-11-15 Clevenger Brian Duane Method for reducing inter-process communication latency

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095593A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种前、后景应用程序行为同步方法及装置
CN106095593B (zh) * 2016-05-31 2019-04-16 Oppo广东移动通信有限公司 一种前、后景应用程序行为同步方法及装置
US10642662B2 (en) 2016-05-31 2020-05-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for application action synchronization, terminal device, and storage medium
US10649817B2 (en) 2016-05-31 2020-05-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for application action synchronization, terminal device, and storage medium
CN107656827A (zh) * 2017-09-27 2018-02-02 郑州云海信息技术有限公司 一种进程间通信方法及系统
WO2019072260A1 (zh) * 2017-10-13 2019-04-18 华为技术有限公司 一种进程间通信的方法及系统
US11892953B2 (en) 2017-10-13 2024-02-06 Huawei Technologies Co., Ltd. Interprocess communication method and interprocess communications system
CN108038011A (zh) * 2017-12-28 2018-05-15 深圳市富途网络科技有限公司 一种实现sns多进程通信的方法
CN116089049A (zh) * 2023-04-07 2023-05-09 北京卡普拉科技有限公司 基于异步并行i/o请求的进程同步调度方法、装置以及设备
CN116089049B (zh) * 2023-04-07 2023-09-12 北京卡普拉科技有限公司 基于异步并行i/o请求的进程同步调度方法、装置以及设备

Also Published As

Publication number Publication date
RU2568292C2 (ru) 2015-11-20
CN104679598B (zh) 2017-10-31
RU2013158133A (ru) 2015-07-10
US20150186192A1 (en) 2015-07-02
US9201712B2 (en) 2015-12-01

Similar Documents

Publication Publication Date Title
CN104679598A (zh) 用于选择同步或异步进程间通信机制的系统和方法
US20200050608A1 (en) Multi-tenant data isolation method, apparatus, and system
US9413683B2 (en) Managing resources in a distributed system using dynamic clusters
US20180285053A1 (en) Screenshot method and apparatus
US8656021B2 (en) Methods and apparatus for constructing an execution environment in which the application operates
JP2020506461A5 (zh)
CN108287708B (zh) 一种数据处理方法、装置、服务器及计算机可读存储介质
TW202246977A (zh) 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品
CN112765084B (zh) 计算机设备、虚拟化加速设备、数据传输方法及存储介质
US10579419B2 (en) Data analysis in storage system
US11347541B2 (en) Methods and apparatus for virtual machine rebalancing
US20170018052A1 (en) Method and Apparatus for Data Communication in Virtualized Environment, and Processor
CN105491003A (zh) 用于确定按访问扫描和按需扫描任务的优先顺序的系统和方法
KR20160139249A (ko) 사물인터넷 빅데이터 병렬처리시스템 및 거래방법
US20190391847A1 (en) Resource Scheduling Method and Related Apparatus
CN114880072A (zh) 一种虚拟机的应用窗口显示方法、计算设备及存储介质
US20150227383A1 (en) Application program virtualization system and method of virtualizing application program of user terminal
US9632848B1 (en) Asynchronous submission of commands
CN108563492B (zh) 数据获取方法、虚拟机以及电子设备
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
US20210055971A1 (en) Method and node for managing a request for hardware acceleration by means of an accelerator device
JP6870390B2 (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム
CN117724852B (zh) 一种云电脑计算资源分配方法及装置
JP6151946B2 (ja) 情報処理システム、情報処理装置およびそれらの制御方法
CN113326004B (zh) 云计算环境下高效日志集中化方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant