当前位置: 首页 > 专利查询>诺基亚公司专利>正文

用于经由进程间通信共享资源的方法、装置和计算机程序产品制造方法及图纸

技术编号:7191615 阅读:404 留言:0更新日期:2012-04-11 18:40
一种用于经由进程间通信在互连的进程之间共享资源的装置可以包括处理器和存储可执行指令的存储器,该可执行指令响应于被该处理器执行而使得该装置至少执行包括以下操作的操作:从控制一个或多个资源的至少一个第一进程接收请求。该请求可以包括请求对用于与至少第二进程共享该资源的至少一个的一个或多个权限的指派的数据。该指令还可以使得该装置指派用于与该第二进程共享该资源的权限,以及响应于接收到第一消息而从该第二进程移除用于共享该资源的权限。还提供了对应的计算机程序产品和方法。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例总体涉及进程间通信,并且更具体地涉及用于以安全和灵活的方式经由进程间通信在一个或多个进程之间共享资源的方法、装置和计算机程序产品。
技术介绍
现代通信时代已经带来了有线和无线网络的巨大扩张。计算机网络、电视网络和电话网络正经历由消费者需求引发的前所未有的技术扩张。无线和移动联网技术已经满足了相关的消费者需求,同时提供了对信息传输的更多灵活性和即时性。当前和未来的联网技术持续促进信息传输的简便性和对用户的便利性。存在增加信息传输的简便性和对用户的便利性的需求的一个领域涉及在不同进程(例如计算机程序的实例)之间共享资源。这些进程可能彼此互连并且可以在单个电子设备上执行或者可以在多个电子设备上执行。在进程之间共享资源的益处的一个示例是此类共享允许同时执行来自不同进程的一个或多个指令,这促进了对电子设备中的资源的高效使用。在互连的进程之间共享资源的益处的另一示例是其允许不同的进程共享存储器中的相同的指令集以便节省电子设备中的存储空间。涉及在进程之间共享资源的现有解决方案通常包括向进程提供文件描述符。在此方面,文件描述符可以充当用于经由进程间通信访问待共享的资源(诸如文件、目录、存储器等)的关键字。然而,涉及在进程之间共享资源的现有解决方案具有非常不灵活的缺点。例如,UNIX域套接字(socket)可以被用于在一个或多个进程之间发送数据,并且这些进程可以跨使用具有软件配置管理(SCM)权限的sendmsgO和recvmsgO系统调用的UNIX 域套接字连接而向彼此发送用于共享资源的文件描述符。然而,诸如使用具有SCM权限的 sendmsgO和recvmsgO函数的UNIX域套接字之类的现有解决方案通常并不提供在进程间通信已经结束之后终止对资源的使用的任何机制。并且,不存在当资源被共享之后限制从一个进程到另一进程的资源传递的合适的机制。照这样,当前不存在用于限制这些资源可以在进程之间共享多长时间的合适的机制。换言之,当授予对这些资源的访问时,该访问通常被无期限地授予,并且不存在当向进程授予对共享资源的访问权限之后移除该访问权限的合适的机制,并且通常即使在进程之间的连接被移除时也是这样的情况。使用用于授予对共享资源的访问的现有解决方案的另一缺点是这些解决方案与特定的协议和应用编程接口(API)(诸如使用具有SCM权限的sendmsgO和recvmsgO函数调用的UNIX域套接字)紧密地耦合或联系。对该特定协议和API的使用迫使重写与互连的进程相关的全部通信以符合该特定协议和API,这通常是不期望的并且可能导致资源的低效使用。在此方面,现有解决方案可能迫使应用使用用于访问共享资源的特定API (例如 UNIX域套接字)而不是该应用或进程通常将对此类资源使用的API。例如,UNIX API例如可以使用特殊的“dup()”函数调用来访问共享资源,而通常的API可以使用通常的openO 函数来访问资源。当使用UNIX API时,可能需要将通常的openO函数重写或改变为对应于UNIX API的另一函数,诸如例如特殊的“dup () ”函数调用。更重要地,由于传统的UNIX 系统是多用户设备,所以对访问控制机制的使用通常被限制为将不同用户的进程和资源对彼此保护。相比之下,任何移动设备通常是单用户设备(例如个人设备),因此在UNIX系统中所使用的传统的访问控制机制通常不适用。因此,需要用于将进程及其资源对彼此保护的新的访问控制机制。由于对UNIX标准(例如Unix便携操作系统接口(POSIX))和移动设备中的基于UNIX的操作系统(例如Linux操作系统(OS)和Berkeley软件分布(BSD) OS 变体)的广泛采用,该改变的重要性已经增加。因此,可能期望提供通过其经由进程间通信共享资源的不同的机制,以允许以安全和灵活的方式在互连的进程之间共享资源。
技术实现思路
因此,提供了用于以安全和灵活的方式在电子设备的互连的进程之间共享资源的方法、装置和计算机程序产品。如这里所指代的,进程可以涉及可由处理器、控制器等执行的应用、一个或多个程序实例、软件代码、软件指令、算法等。示例性实施例促进从针对利用 sendmsgO和recvmsgO函数调用的进程间通信协议的UNIX API解耦的对进程的资源的访问权限的授予。同样地,可以在任何时间移除对进程的资源的访问权限,并且当进程间通信被终止时,可以拒绝对已经打开的资源的任何操作(例如读取和写入操作)。示例性实施例可以将对资源的访问权限链接到开路进程间通信信道,并且可以提供经由进程间通信信道共享资源的安全和灵活的方式。示例性实施例的机制并不特定于并且并不要求使用UNIX API的sendmsgO和recvmsgO函数调用,并且在此方面,可以比现有解决方案更广泛地利用示例性实施例的进程间通信的机制,这是由于现有解决方案通常要求互连的进程之间的全部通信在特定的协议和API (例如UNIX域套接字)中发生,这可能要求对与进程相关联的代码进行重写以便符合UNIX协议和API。应当指出,示例性实施例的操作系统(OS)应用编程接口(API)可以保证只有进程间通信信道上的单个进程可以访问资源。另外,可以在任意时间向一个或多个进程添加或从一个或多个进程移除对资源的访问权限。被指定为拥有或控制资源的进程可以指定远程点设备向另一进程传递与资源相关联的访问权限。以类似的方式,拥有或控制资源的进程可以禁止远程点设备向任何其他进程传递对资源的访问权限。另外,根据示例性实施例,当进程间通信信道关闭时,可以移除对任何资源的全部访问权限,并且对已经打开的资源的任何访问(例如读取和/或写入访问)可能被终止。在示例性实施例中,提供了一种在互连的进程之间共享资源的方法。该方法可以包括从控制一个或多个资源的至少一个第一进程接收请求。该请求可以包括请求对用于与至少第二进程共享该资源的至少一个的一个或多个权限的指派的数据。该方法还可以包括指派用于与该第二进程共享该资源的权限,以及响应于接收到第一消息而从该第二进程移除用于共享该资源的权限。在另一示例性实施例中,提供了一种用于在互连的进程之间共享资源的计算机程序产品。该计算机程序产品包括具有存储在其中的计算机可执行程序代码指令的至少一个计算机可读存储介质。该计算机可执行程序代码指令可以包括用于使得从控制一个或多个资源的至少一个第一进程接收请求的程序代码指令。该请求可以包括请求对用于与至少5第二进程共享该资源的至少一个的一个或多个权限的指派的数据。该程序代码指令还可以提供指派用于与该第二进程共享该资源的权限,以及响应于接收到第一消息而从该第二进程移除用于共享该资源的权限。在另一示例性实施例中,提供了一种用于在互连的进程之间共享资源的装置。该装置可以包括处理器和存储可执行指令的存储器,该可执行指令响应于由该处理器执行而使得该装置至少执行包括以下操作的操作从控制一个或多个资源的至少一个第一进程接收请求。该请求可以包括请求对用于与至少第二进程共享该资源的至少一个的一个或多个权限的指派的数据。该指令还可以使得该装置指派用于与该第二进程共享该资源的权限, 以及响应于接收到第一消息而从该第二进程移除用于共享该资源的权限。本专利技术的实施例可以提供用于以安全和灵活的方式在彼此之间本文档来自技高网
...

【技术保护点】
1.一种方法,其包括:从控制一个或多个资源的至少一个第一进程接收请求,所述请求包括请求对用于与至少第二进程共享所述资源的至少一个资源的一个或多个权限的指派的数据;指派用于与所述第二进程共享所述资源的所述权限;以及响应于接收到第一消息,从所述第二进程移除用于共享所述资源的所述权限。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·O·曼塔里M·P·基尔维斯科斯基
申请(专利权)人:诺基亚公司
类型:发明
国别省市:FI

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1