[发明专利]用于经由进程间通信共享资源的方法、装置和计算机程序产品有效
申请号: | 201080015176.4 | 申请日: | 2010-04-16 |
公开(公告)号: | CN102378965A | 公开(公告)日: | 2012-03-14 |
发明(设计)人: | T·O·曼塔里;M·P·基尔维斯科斯基 | 申请(专利权)人: | 诺基亚公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅 |
地址: | 芬兰*** | 国省代码: | 芬兰;FI |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 经由 进程 通信 共享资源 方法 装置 计算机 程序 产品 | ||
技术领域
本发明的实施例总体涉及进程间通信,并且更具体地涉及用于以安全和灵活的方式经由进程间通信在一个或多个进程之间共享资源的方法、装置和计算机程序产品。
背景技术
现代通信时代已经带来了有线和无线网络的巨大扩张。计算机网络、电视网络和电话网络正经历由消费者需求引发的前所未有的技术扩张。无线和移动联网技术已经满足了相关的消费者需求,同时提供了对信息传输的更多灵活性和即时性。
当前和未来的联网技术持续促进信息传输的简便性和对用户的便利性。存在增加信息传输的简便性和对用户的便利性的需求的一个领域涉及在不同进程(例如计算机程序的实例)之间共享资源。这些进程可能彼此互连并且可以在单个电子设备上执行或者可以在多个电子设备上执行。在进程之间共享资源的益处的一个示例是:此类共享允许同时执行来自不同进程的一个或多个指令,这促进了对电子设备中的资源的高效使用。在互连的进程之间共享资源的益处的另一示例是:其允许不同的进程共享存储器中的相同的指令集以便节省电子设备中的存储空间。
涉及在进程之间共享资源的现有解决方案通常包括向进程提供文件描述符。在此方面,文件描述符可以充当用于经由进程间通信访问待共享的资源(诸如文件、目录、存储器等)的关键字。然而,涉及在进程之间共享资源的现有解决方案具有非常不灵活的缺点。例如,UNIX域套接字(socket)可以被用于在一个或多个进程之间发送数据,并且这些进程可以跨使用具有软件配置管理(SCM)权限的sendmsg()和recvmsg()系统调用的UNIX域套接字连接而向彼此发送用于共享资源的文件描述符。然而,诸如使用具有SCM权限的sendmsg()和recvmsg()函数的UNIX域套接字之类的现有解决方案通常并不提供在进程间通信已经结束之后终止对资源的使用的任何机制。并且,不存在当资源被共享之后限制从一个进程到另一进程的资源传递的合适的机制。照这样,当前不存在用于限制这些资源可以在进程之间共享多长时间的合适的机制。换言之,当授予对这些资源的访问时,该访问通常被无期限地授予,并且不存在当向进程授予对共享资源的访问权限之后移除该访问权限的合适的机制,并且通常即使在进程之间的连接被移除时也是这样的情况。
使用用于授予对共享资源的访问的现有解决方案的另一缺点是这些解决方案与特定的协议和应用编程接口(API)(诸如使用具有SCM权限的sendmsg()和recvmsg()函数调用的UNIX域套接字)紧密地耦合或联系。对该特定协议和API的使用迫使重写与互连的进程相关的全部通信以符合该特定协议和API,这通常是不期望的并且可能导致资源的低效使用。在此方面,现有解决方案可能迫使应用使用用于访问共享资源的特定API(例如UNIX域套接字)而不是该应用或进程通常将对此类资源使用的API。例如,UNIX API例如可以使用特殊的“dup()”函数调用来访问共享资源,而通常的API可以使用通常的open()函数来访问资源。当使用UNIX API时,可能需要将通常的open()函数重写或改变为对应于UNIX API的另一函数,诸如例如特殊的“dup()”函数调用。更重要地,由于传统的UNIX系统是多用户设备,所以对访问控制机制的使用通常被限制为将不同用户的进程和资源对彼此保护。相比之下,任何移动设备通常是单用户设备(例如个人设备),因此在UNIX系统中所使用的传统的访问控制机制通常不适用。因此,需要用于将进程及其资源对彼此保护的新的访问控制机制。由于对UNIX标准(例如Unix便携操作系统接口(POSIX))和移动设备中的基于UNIX的操作系统(例如Linux操作系统(OS)和Berkeley软件分布(BSD)OS变体)的广泛采用,该改变的重要性已经增加。
因此,可能期望提供通过其经由进程间通信共享资源的不同的机制,以允许以安全和灵活的方式在互连的进程之间共享资源。
发明内容
因此,提供了用于以安全和灵活的方式在电子设备的互连的进程之间共享资源的方法、装置和计算机程序产品。如这里所指代的,进程可以涉及可由处理器、控制器等执行的应用、一个或多个程序实例、软件代码、软件指令、算法等。示例性实施例促进从针对利用sendmsg()和recvmsg()函数调用的进程间通信协议的UNIX API解耦的对进程的资源的访问权限的授予。同样地,可以在任何时间移除对进程的资源的访问权限,并且当进程间通信被终止时,可以拒绝对已经打开的资源的任何操作(例如读取和写入操作)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于诺基亚公司,未经诺基亚公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080015176.4/2.html,转载请声明来源钻瓜专利网。