首页> 中国专利> 在包容框架环境中管理资源的设备和方法

在包容框架环境中管理资源的设备和方法

摘要

提供一种在包容框架环境中管理资源的设备和方法,更具体地说,提供一种在包括具有生命周期的多个应用程序的包容框架环境中管理资源分配和资源释放的设备和方法。所述设备包括:标识符产生单元,产生分配了预定资源的应用程序的唯一标识符;应用程序管理单元,将资源绑定到唯一标识符或从唯一标识符解开资源;资源管理单元,当建立绑定时增加资源使用的计数器,当从唯一标识符解开资源时减少资源使用的计数器;以及资源释放单元,当计数器为0时释放资源。

著录项

  • 公开/公告号CN101025699A

    专利类型发明专利

  • 公开/公告日2007-08-29

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN200710079198.7

  • 申请日2007-02-15

  • 分类号G06F9/50;

  • 代理机构北京铭硕知识产权代理有限公司;

  • 代理人韩明星

  • 地址 韩国京畿道水原市灵通区梅滩洞416

  • 入库时间 2023-12-17 19:03:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-29

    未缴年费专利权终止 IPC(主分类):G06F9/50 授权公告日:20091014 终止日期:20160215 申请日:20070215

    专利权的终止

  • 2009-10-14

    授权

    授权

  • 2007-10-24

    实质审查的生效

    实质审查的生效

  • 2007-08-29

    公开

    公开

说明书

本申请要求于2006年2月21日在韩国知识产权局提交的第10-2006-0016840号韩国专利申请的优先权,该申请全部公开于此以资参考。

技术领域

本发明的设备和方法涉及在包容框架(containment framework)环境中管理资源,更具体地说,涉及一种在包括具有生命周期的多个应用程序的包容框架环境中管理资源的分配和释放。

背景技术

Java是以独立于平台执行源代码的面向对象的编程语言。这里,平台的意思是软件环境,诸如硬件或操作系统,在所述平台上可以执行程序。Java源代码通过Java编译器被编译为Java字节码,并且通过在各种基于硬件的平台上形成的Java虚拟机执行Java字节码。

图1是根据现有技术的包容框架的结构的框图。包容框架10包括:应用程序管理器11、应用程序12a、12b和12c、中间件13、Java虚拟机14和操作系统15。

这里,应用程序12a和12b是Java应用程序,应用程序12c是本机应用程序。

应用程序管理器11通过改变应用程序的状态管理应用程序的生命周期。例如,应用管理器11通过诸如开放式有线应用平台(OCAP)或先进开放式有线应用平台(ACAP)的中间件13管理应用程序的操作。

Java虚拟机14具有包括在存储在存储器中的应用程序中的类,将类的执行代码转换为操作系统15的命令代码,并且管理分配给应用程序的资源。

为进行资源管理,Java虚拟机14具有垃圾收集器。所述垃圾收集器找出垃圾对象(不使用资源的对象),并且将使用的堆资源返回到操作系统,从而可通过其它应用程序重新使用堆资源。

也就是说,通过垃圾收集器执行对Java平台的资源管理,所述垃圾收集器根据是否引用对象来管理对象的资源分配或释放。然而,当在诸如包容框架的具有生命周期的框架上执行多个应用程序时,除非满意地执行资源释放的工作,否则即使在应用程序关闭之后,垃圾收集器也不检查对象是否有效,因此,不能适当地执行资源释放。

由于这个原因,已经进行了对通过垃圾收集器释放资源的大量研究。多数研究建议基于特定框架的资源管理方法,但是没有提出当应用程序关闭时在一般包容框架上执行的资源管理方法。

第6,738,875号美国专利公开了一种写入-观察(Write-Watch)机制,所述写入-观察机制用于垃圾收集并具有存储器管理器。当API调用,诸如垃圾收集出现时,存储器管理器检查是否已经修改虚拟地址,并且与垃圾收集分开地管理存储器。

然而,第6,738,875号美国专利仅公开了一种在一般框架上释放资源的方法,诸如存储器资源,但是没有公开在具有生命周期的包容框架上释放资源的方法。

因此,需要一种在具有生命周期的多个应用程序能够操作的包容框架环境中有效地释放关闭的应用程序的资源的方法。

发明内容

本发明的一方面在于在包括具有生命周期的多个应用程序的包容框架环境中,使用关于每个应用程序的资源分配和释放的信息来管理整个框架的资源的方法。

本发明的各方面不限于上述目的,并且通过下面的描述,本领域的技术人员将清楚地理解本发明的其它方面。

根据本发明的一方面,提供一种在包容框架环境中管理资源的设备,所述设备包括:标识符产生单元,产生分配了预定资源的应用程序的唯一标识符;应用程序管理单元,将资源绑定到唯一标识符或从唯一标识符解开资源;资源管理单元,当建立绑定时增加资源使用的计数器,当从唯一标识符解开资源时减少资源使用的计数器;以及资源释放单元,当计数器为0时释放资源。

根据本发明的另一方面,提供一种在包容框架环境中管理资源的方法,所述方法包括:产生分配了预定资源的应用程序的唯一标识符;将资源绑定到唯一标识符或从唯一标识符解开资源;当建立绑定时增加资源使用的计数器,当从唯一标识符解开资源时减少资源使用的计数器;以及当计数器为0时释放资源。

其它示例性实施例的详细描述包括在说明书和附图中。

附图说明

通过结合附图对本发明的示例性实施例进行的详细描述,本发明的上述和其它特点和方面将会变得更加清楚,其中:

图1是显示根据现有技术的包容框架的结构的框图;

图2是显示根据本发明的示例性实施例的应用程序使用资源的情况的构思图;

图3是显示根据本发明的示例性实施例的包容框架的结构的框图;

图4是显示根据本发明的示例性实施例的在包容框架环境下管理资源的设备的框图;

图5是显示根据本发明的示例性实施例的资源表的示图;

图6是显示根据本发明的示例性实施例的在包容框架环境下使用资源的过程的流程图;以及

图7是显示根据本发明的示例性实施例的在包容框架环境下释放资源的过程的流程图。

具体实施方式

通过参照下面对本发明的示例性实施例和附图的详细描述,本发明的各方面和特点以及实现本发明的各方面和特点的方法会更加容易理解。然而,本发明可以以许多不同的形式被实施并且不应被解释为局限于在此阐述的实施例。更恰当地,提供这些实施例从而本公开将会彻底和完整并完全地将本发明的构思传达给本领域的技术人员,并且本发明将仅由所附权利要求进行限定。在整个说明书中,相同的标号是指相同的部件。

以下,将参照附图描述本发明的示例性实施例。

图2是显示根据本发明的示例性实施例的应用程序使用资源的情况的构思图。

在包容框架环境中管理资源的设备(以下称为资源管理设备)可使用一个或多个应用程序211和212来使用资源。这里,应用程序211和21 2可以是在包容框架环境中具有生命周期的Java应用程序,例如,Xlet、middlelet和applet。

应用程序211和212中的每一个使用的资源可以是存储器资源251、文件资源252和网络资源253中的至少一个。

图2显示第一应用程序211使用两个存储器资源251和一个网络资源253,第二应用程序212使用一个存储器资源251、两个文件资源252和一个网络资源253的情况。

也就是说,应用程序211和212中的每一个可使用多个不同资源,或者可使用相同类型的多个资源。一个应用程序可使用另一应用程序正在使用的资源

虽然必要时可创建和取消应用程序,但是除非由于取消了特定应用程序而释放了特定应用程序占用的资源,否则其后创建的应用程序不能使用该资源。根据本发明的示例性实施例的资源管理设备保存关于分配给各个应用程序的资源使用的信息和关于是否已经释放资源的信息。当取消特定应用程序时,资源管理设备基于该信息释放分配给特定应用程序的所有资源。换句话说,资源管理设备从分配给应用程序的资源解开应用程序,从而允许其后创建的任何应用程序使用相应的资源。例如,当在Java环境中操作时,资源管理设备使用改进的Java虚拟机来强制垃圾收集器收集不同的Java对象,从而使资源能够重新使用。

在图2中,当第一应用程序211关闭时,资源管理设备从资源(即,分配给第一应用程序的两个存储器资源251和一个网络资源253)释放第一应用程序211,接着,将资源的分配返回到操作系统。以这种方式,资源管理设备执行释放分配给第一应用程序211的资源。

在使用特定资源的应用程序关闭之后,即使应用程序继续使用特定资源,但是资源管理设备能够释放特定资源。

图3是显示根据本发明的示例性实施例的包容框架的结构的框图。如图3所示,包容框架300包括:应用程序管理器311、应用程序312a、312b和312c、中间件320、资源管理接口330、Java虚拟机340和操作系统350。

这里,应用程序312a和312b是Java应用程序,应用程序312c是本机应用程序。

应用程序管理器311通过改变应用程序的状态来管理应用程序的生命周期。这里,应用管理器311可通过诸如OCAP或ACAP的中间件330管理应用程序的操作。

Java虚拟机340具有包括在存储在存储器中的应用程序中的类,将类的执行代码转换为操作系统350的命令代码,并且管理分配给应用程序的资源。

在这种情况下,资源管理接口330可使用改进的Java虚拟机340来管理资源。更具体地说,资源管理接口330在具有生命周期的包容框架300上管理资源分配和释放。当应用程序关闭时,资源管理接口330强制地释放分配给相应应用程序的资源。下面将参照图4描述资源管理接口330

图4是显示根据本发明的示例性实施例的在包容框架环境下管理资源的设备的框图。如图4所示,资源管理设备400包括:应用程序管理单元410、标识符产生单元420、存储单元430、资源控制单元440、资源管理单元450和资源释放单元460。

标识符产生单元420产生分配了预定资源的应用程序的唯一标识符(以下,称为应用程序标识符)。所述资源可包括存储器资源、文件资源和网络资源中的至少一个。也就是说,应用程序可使用存储器资源、文件资源和网络资源中的至少一个。另外,应用程序可使用相同类型的多个资源。这里,应用程序可以是包容框架环境中具有预定生命周期的Java应用程序,诸如Xlet、middlelet和applet。

此外,标识符产生单元420可使用应用程序的线程标识符产生应用程序标识符,或者标识符产生单元420可使用应用程序注册顺序产生应用程序标识符。

应用程序管理单元410管理应用程序标识符与资源之间的连接。也就是说,当应用程序使用特定资源时,应用程序管理单元410将应用程序标识符绑定到特定资源。接着,当完成特定资源的使用时,应用程序管理单元410从特定资源解开应用程序标识符。

另外,应用程序管理单元410可初始化应用程序并改变应用程序的状态。应用程序管理单元410在存储器中载入初始化的应用程序。当载入的应用程序暂停时,应用程序管理单元410启动暂停的应用程序。当完成应用程序的执行时,应用程序管理单元410取消相应的应用。这里,应用程序管理器可将执行的应用程序的状态改变为暂停的状态。

每当应用程序管理单元410执行绑定时资源管理单元450增加资源使用的计数器,每当应用程序管理单元410执行解开时资源管理单元450减少资源使用的计数器。如上所述,资源管理设备400使用包括存储器资源、文件资源和网络资源的资源,因此,可包括存储器资源管理单元、文件资源管理单元和网络资源管理单元。也就是说,资源管理单元450根据应用程序的类型执行资源管理,并且根据资源的类型执行管理。

这里,资源管理单元450增加或减少分配给一个应用程序的所有资源的计数器。例如,当将一个存储器资源和三个文件资源分配给特定应用程序时,资源管理单元450不考虑资源的类型而增加或减少分配给相应应用程序的四个资源的计数器。

同时,资源管理设备400可执行多个应用程序。在这种情况下,资源管理单元450增加或减少分配给每个应用程序的资源的计数器。例如,当应用程序管理单元410在存储器中载入第一应用程序和第二应用程序时,资源管理单元450分别管理分配给第一应用程序的资源的计数器和分配给第二应用程序的资源的计数器。

可实时执行应用程序的资源分配和资源释放,因此,资源管理单元450可实时管理资源的计数器。

存储单元430存储应用程序标识符和资源彼此相关的表(以下,称为资源表)。可根据资源的分配和释放更新包括在资源表中的内容。

存储单元430是模块,诸如闪存(CF)卡、安全数字(SD)卡、智能媒体(SM)卡、多媒体卡(MMC)或存储棒,可将信息输入到存储单元430或从存储单元430输出信息。可在资源管理设备400的内部提供存储单元430,或者可以以单独装置来提供存储单元430。

资源控制单元440建立并更新资源表。也就是说,当应用程序管理单元410初始化应用程序时,资源控制单元440确认分配给应用程序的资源,并且将确认的资源以及应用程序标识符和资源的类型包括在资源表中。

另外,资源控制单元440通常控制标识符产生单元420、应用程序管理单元410、存储单元430、资源管理单元450、资源释放单元460和资源管理设备400。

当资源管理单元450管理的资源使用的计数器是0时,资源释放单元460释放相应的资源。换句话说,资源释放单元460释放相应应用程序对资源的占用。在Java环境中,垃圾收集器可用作资源释放单元460。

图5是显示根据本发明的示例性实施例的资源表的示图,更具体地说,显示了文件资源表。资源表500包括:应用程序标识符字段510、资源标识符字段520和资源使用字段530。

应用程序标识符字段510包括应用程序的唯一标识符。如上所述,可使用相应应用程序的线程标识符产生应用程序标识符,或者可使用应用程序注册顺序产生应用程序标识符。

资源标识符字段520包括指示分配给应用程序的资源的类型的唯一标识符(资源标识符)。资源的示例可包括存储器资源、文件资源、网络资源、以及其它可以分配给应用程序并能够在应用程序中使用的资源。因此,可分别提供存储器资源表、文件资源表和网络资源表,或者可以提供合成的表。

多个资源可相应于一个应用程序标识符,具有不同序列号的相同类型的多个资源可相应于一个应用程序标识符。例如,第一文件资源和第二文件资源可相应于一个应用程序标识符。

资源使用字段530包括标志,每个标志指示在相应应用程序中是否使用相应资源。换句话说,如果应用程序使用相应资源,则可将1插入到相应标志,如果应用程序没有使用相应资源,则可将0插入到相应标志。

通过资源控制单元440产生并更新资源表500。资源控制单元440使用从应用程序管理单元410接收的应用程序标识符和资源标识符之间的连接关系更新资源表500,并且控制资源管理单元450更新相应资源使用的计数器。

图6是显示根据本发明的示例性实施例的在包容框架环境中使用资源的过程的流程图。

为了在包容框架环境中使用资源,资源管理设备400的应用程序管理单元410首先初始化应用程序。也就是说,应用程序管理单元410检查分配给应用程序的资源的类型和大小。当在资源管理设备400中执行多个应用程序时,应用程序管理单元410可初始化各个应用程序(S610)。

随着初始化应用程序,标识符产生单元420产生分配了预定资源的应用程序的唯一标识符(应用程序标识符)(S620)。资源可以是存储器资源、文件资源和网络资源中的至少一个。在资源管理设备400中执行的应用程序包括至少一个具有生命周期的Java应用程序。

标识符产生单元420可使用应用程序的线程标识符产生应用程序标识符,或者标识符产生单元420可使用应用程序的注册顺序产生应用程序标识符。当产生应用程序标识符时,资源控制单元440在存储单元430中存储产生的应用程序标识符和分配给相应应用程序的资源,使它们彼此相关。换句话说,资源控制单元440更新资源表500(S630)。

接着,应用程序管理单元410改变应用程序的状态。换句话说,应用程序管理单元410通过将初始化的应用程序载入存储器并执行暂停的应用程序将应用程序绑定到分配给应用程序的资源(S640)。将应用程序的执行结果传送到资源控制单元440。接着,资源控制单元440将指示是否使用相应资源的标志设置为1,并将结果传送到资源管理单元450。

因此,资源管理单元450增加相应应用程序的资源使用的计数器(S650)。例如,当相应资源是文件资源时,资源管理单元450的文件资源管理单元(未显示)增加文件资源使用的计数器。当相应资源是网络资源时,资源管理单元450的网络资源管理单元(未显示)增加网络资源使用的计数器。

随着应用程序管理单元410将应用程序的状态改变为执行状态,执行增加资源使用的计数器,并且可同时增加分配给多个应用程序的资源使用的计数器。

图7是显示根据本发明的示例性实施例的在包容框架环境下释放资源的过程的流程图。

为了在包容框架环境中释放资源,资源管理设备400的应用程序管理单元410从分配给应用程序的资源解开应用程序(S710)。将解开结果传送到资源控制单元440。接着,资源控制单元440在存储在存储单元430中的资源表500中将资源使用标志设置为0,并将结果传送到资源管理单元450。

因此,资源管理单元450减少相应应用程序的资源使用的计数器(S720)。例如,当相应资源是文件资源时,资源管理单元450的文件资源管理单元(未显示)减少文件资源使用的计数器。当相应资源是网络资源时,资源管理单元450的网络资源管理单元(未显示)减少网络资源使用的计数器。

同时,可通过程序代码或用户输入应用程序关闭命令(S730)。当输入应用程序关闭命令时,应用程序管理单元410将相应应用程序的状态改变为取消状态,并且从所有资源解开相应应用程序(S740)。将解开结果传送到资源控制单元440。接着,资源控制单元440将分配给相应应用程序的所有资源的标志设置为0,并将结果传送到资源管理单元450。

因此,资源管理单元450减少分配给相应应用程序的所有资源使用的计数器(S750)。将减少计数器的结果传送到资源控制单元440。接着,资源控制单元440检查计数器是否变为0(S760)。当计数器变为0时,资源控制单元440将资源释放控制代码传送到资源释放单元460。

当接收到资源释放控制代码时,资源释放单元460释放分配给相应应用程序的所有资源(S770)。在Java环境中,垃圾收集器可用作资源释放单元460,并且强制地释放分配给相应应用程序的所有资源。

可以理解,可由计算机程序指令实现图4的框图中的每一块,以及图6和图7的流程图中的步骤的结合。这些计算机程序指令可被提供给通用计算机、专用计算机的处理器、或者其他可编程数据处理设备以产生设备,从而经由计算机的处理器或者其他可编程数据处理设备执行的指令创建用于实现在一个流程图块或多个流程图块中指定的功能的装置。这些计算机程序指令也可被存储在可指导计算机或者其他可编程数据处理设备以特定方式运行的计算机可用或计算机可读存储器中,从而存储在计算机可用或计算机可读存储器中的指令生成包括执行在一个流程图块或多个流程图块中描述的功能的指令手段的产品。计算机程序指令也可被载入计算机或其他可编程数据处理设备,以使得一系列操作步骤在计算机或其他可编程设备上被执行以产生计算机执行的过程,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个流程图块或多个流程图块中描述的功能的步骤。

流程图的每块可代表模块,段或代码的一部分,其包括一个或更多用于实现特定的逻辑功能的可执行指令。应注意的是,在一些替换的实现中,在这些块中标注的功能可不按顺序执行。例如,连续示出的两个块事实上可基本同时地被执行,或者有时块以相反的顺序执行,这取决于涉及的功能。

尽管已经参照附图结合本发明的示例性实施例描述了本发明,但本领域的技术人员应该理解,在不脱离本发明的范围和精神的情况下,可以对其进行各种修改和改变。因此,应该理解,上述示例性在所有方面不是限制性而是说明性的。

如上所述,根据在包容框架环境中管理资源的设备和方法,在包括具有生命周期的多个应用程序包容框架环境中,通过使用关于每个应用程序的资源分配和资源释放的信息管理整个框架上的资源可以防止不必要的资源使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号