安全中断服务器中阻塞工作的方法和系统的制作方法

文档序号:6562472阅读:164来源:国知局
专利名称:安全中断服务器中阻塞工作的方法和系统的制作方法
技术领域
本公开内容涉及计算机系统中的处理;更准确地说,本公开内容涉及安全中断服务器中阻塞工作的方法。
背景技术
计算机系统典型地包括硬件(例如半导体、电路板等)和软件(例如计算机程序)的结合。随着半导体处理和计算机体系结构的进步推动计算机硬件性能更高,更多复杂的计算机软件利用更高的硬件性能发展起来,导致今天的计算机系统比几年前的有更强的功能。
计算机系统典型地包括控制计算机基本功能的操作系统软件,以及一个或多个在操作系统的控制下运行以完成想要任务的软件应用程序。例如,典型IBM个人计算机可以运行OS/2操作系统,并且在OS/2操作系统的控制下,用户可以执行例如字处理器的应用程序。随着计算机能力的提升,为高性能计算机系统设计的应用程序变得非常强大。
取决于在不同的进程之间共享系统资源的分配,会发生资源利用上的冲突。由于许多不同的进程能同时处理,两个或更多进程完全可能会同时需要访问给定的共享系统资源。但是,如果给定的进程已经获得要使用的资源并且那个进程因为某种原因意外终止,那么获得的资源对其它进程变为不可获得,导致处理环境的低效率。
例如,在线程上运行的给定进程可以使用例如互斥对象的共享系统资源。互斥对象是锁住一块数据以至于在任何时间只有一个线程能控制那块数据的对象。因为许多线程会希望访问互斥对象来得到这块数据,因此它是共享系统资源。如果线程突然终止,以至于线程没有机会来停止它的状态,那么共享互斥对象会“被锁在外面”并且与其它进程关联的其它线程不能够访问这个互斥对象和它的伴随数据从而使用。这种情况会需要完全停止一个或多个进程来允许共享资源被“释放”以便其它进程能够获得这个共享资源。在另一种情景中,进程会“循环”一段扩展的时间长度,使用共享系统资源,并因此阻止了其它系统进程访问这个共享系统资源。在有些情况下,甚至需要重新启动整个系统来允许共享资源重新可以获得处理。
这样阻塞的工作能阻碍服务器处理其它请求并且如果所有调度线程都阻塞了,它可能最终完全停止。当前对这个问题使用的解决办法是为请求完成等待指定量的时间并且如果在那个时间没有完成就终止服务器进程。这种方法很不幸地有副作用,即它也终止了任何其它发送到应用程序服务器的请求。
因此,所需要的是用于有效地分配和控制共享系统资源的共享系统资源的分配和管理机制。

发明内容
示例实施方式包括安全中断服务器中阻塞工作的方法,所述方法包括创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
示例实施方式也包括安全中断服务器中阻塞工作的系统,包括创建注册表的装置;在注册表中注册潜在阻塞事件的装置;执行潜在阻塞事件的装置;确定潜在阻塞事件不响应的装置;访问与潜在阻塞事件相应的注册表条目的装置;并且采取由与潜在阻塞事件相应的注册表条目指示的校正行动的装置。
示例实施方式进一步包括以用于依照语法解析缓冲区的机器可读的计算机程序代码编码的存储介质,存储介质包括安全中断服务器中阻塞工作的指令,所述指令包括创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与潜在阻塞事件相应的注册表条目;并且采取由与潜在阻塞事件相应的注册表条目指示的校正行动。
其它根据示例实施方式的系统、方法和/或计算机程序产品对本领域技术人员来说在其查阅下文附图和详细说明后是显而易见的。所有这种其它系统、方法和/或计算机程序产品都将包括在本说明书中、本公开内容的范围中,并且受所附权利要求的保护。


参考示例图,示例图中相同的元素在多个图中用相同的标号指示。
图1是说明根据示例实施方式安全中断服务器中阻塞工作的方法的流程图;并且图2是说明根据示例实施方式的注册表的块图。
具体实施例方式
这里公开内容为安全中断服务器中阻塞工作的方法。安全中断服务器中阻塞工作的方法通常包括创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
现在参考图1,根据示例实施方式的安全中断服务器中阻塞工作的方法的流程图通常如10所描述。安全中断服务器中阻塞工作的方法的第一步是如进程块12所示,创建潜在阻塞事件的注册表。注册表将参考图2在其更详细讨论。如进程块14中所示,在执行进程块16中描述的潜在阻塞事件或代码部分之前,安全中断服务器中阻塞工作的方法在注册表中注册潜在阻塞事件。取决于潜在阻塞事件是执行成功还是变得不响应,安全中断服务器中阻塞工作的方法将分别地前进到进程块18或20。安全中断服务器中阻塞工作的方法可以使用多种技术来确定潜在阻塞事件变得不响应,这些技术包括但不局限于使用定时器或监视由潜在阻塞事件执行的活动。
在成功地执行阻塞事件之后,安全中断服务器中阻塞工作的方法从注册表中删除与潜在阻塞事件相应的潜在阻塞事件条目,如进程块18所示。但是,如果潜在阻塞事件变得不响应,安全中断服务器中阻塞工作的方法访问与潜在阻塞事件相应的注册表条目,如进程块20所示。任何帮助解除潜在阻塞事件所需的信息可以放置到在注册表中放置的对象的实例数据中。在示例实施方式中,注册表可以包括与每个潜在阻塞事件相应的要实现的接口。另外,注册表也可以维护注册的对象或潜在阻塞事件与其所注册的进程(即发送应用程序请求到的线程)之间的相关性。当安全中断服务器中阻塞工作的方法无论因为什么原因确定潜在阻塞事件不会响应,那么安全中断服务器中阻塞工作的方法调用与要中断的潜在阻塞事件相应的注册表条目中引用的方法。
继续图1,在访问与潜在阻塞事件相应的注册表条目后,注册表查找与指定的潜在阻塞事件关联的任何注册对象的位置,如进程块22所示。如果有注册对象存在,安全中断服务器中阻塞工作的方法然后在注册对象上调用接口定义的方法来中断不响应的潜在阻塞事件,如进程块24所示。接口定义的方法是负责定位无论是激活不响应潜在阻塞事件或是终止不响应阻塞事件所需的控制结构。在示例实施方式中,潜在阻塞事件以潜在阻塞事件认识到其已中断并且能采取任何合适的行动来指示失败的方式中断。在中断不响应潜在阻塞事件和调用接口定义的方法后,安全中断服务器中阻塞工作的方法从注册表中删除与潜在阻塞事件相应的潜在阻塞事件条目,如进程块18所示。
现在转向图2,潜在阻塞事件的注册表的块图总体上如30所描述。潜在阻塞的注册表30包括多个潜在阻塞事件条目32。每个潜在阻塞事件条目32可以包括潜在阻塞事件识别符34,到注册潜在阻塞事件条目36的进程的引用,和到中断不响应潜在阻塞事件38的接口定义的方法的引用。潜在阻塞事件识别符34可以包括内存地址、名称或其它用来识别潜在阻塞事件的唯一识别信息块。同样,到注册潜在阻塞事件条目32的进程的引用可以包括内存地址、名称或其它用来识别注册潜在阻塞事件条目32的进程的唯一识别信息块。另外,到中断不响应潜在阻塞事件的接口定义的方法的引用可以包括内存地址、名称或其它可以用来引用中断不响应潜在阻塞事件的接口定义的方法的引用。
在特殊示例实施方式中,潜在阻塞事件可以是预留资源的应用程序。例如,应用程序可能是可以打开套接字和发送消息到远程服务器并且然后使用read()函数等待远程服务器响应的网络通信应用程序。在这个例子中,在打开套接字之前,应用程序会在注册表中注册接口实现。如果系统确定应用程序需要中断,那么中断方法会在注册的对象上驱动。当中断方法在注册的对象上驱动时,它会设置标记并且关闭套接字。应用程序会由于它的read()有错误(因为套接字关闭)而被唤醒,并且会检查标志已经设置和报告其已被告知停止等待响应。在这种情况下,如果指示应用程序由中断方法中断的标志没有设置,那么应用程序会报告通信失败。在可选的示例实施方式中,到后端数据库或其它基础代码的连接器(而不是应用程序)可以执行注册并且提供中断处理。
如上所述,本发明实施方式可以计算机实现的进程和实践那些进程的装置的形式来体现。本发明实施方式也可以包含指令的计算机程序代码的形式来体现,指令包含在有形介质中,例如软盘、CD-ROM、硬盘或任何其它计算机可读存储介质,其中,当计算机程序代码加载到并由计算机执行时,计算机成为实践本发明的装置。本发明也可以例如存储在存储介质、加载到并/或由计算机执行、或在例如通过电线或电缆、通过光纤或通过电磁辐射的某些传送介质上传送的计算机程序代码的形式体现,其中,当计算机程序代码加载到并且由计算机执行时,计算机成为实践本发明的装置。当在通用微处理器上实现时,计算机程序代码段配置微处理器来创建特殊的逻辑电路。
尽管本公开内容是参考示例实施方式描述的,但本领域技术人员应当理解为在不背离本公开内容的范围的情况下,可以进行各种变化并且可以用等效物替换其元素。另外,在不背离本公开内容本质范围的情况下,对本公开内容的教义可以进行许多修改来适应特殊的情景或材料。因此,本公开内容不是要限定到作为打算执行本公开内容的最佳模式所公开的特殊实施方式,而是本公开内容将包括所有的属于所附权利要求范围的实施方式。
权利要求
1.一种安全中断服务器中阻塞工作的方法,包括创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与潜在阻塞事件相应的注册表条目;并且采取由与潜在阻塞事件相应的注册表条目指示的校正行动。
2.如权利要求1所述的方法,进一步包括从注册表中删除潜在阻塞事件。
3.如权利要求1所述的方法,其中使用定时器确定潜在阻塞事件不响应。
4.如权利要求1所述的方法,其中校正行动包括释放一个或多个由潜在阻塞事件保留的系统资源。
5.如权利要求1所述的方法,所述注册表条目包括阻塞事件识别符和对注册潜在阻塞事件条目的进程的引用。
6.一种安全中断服务器中阻塞工作的系统,包括创建注册表的装置;在注册表中注册潜在阻塞事件的装置;执行潜在阻塞事件的装置;确定潜在阻塞事件不响应的装置;访问与潜在阻塞事件相应的注册表条目的装置;和采取由与潜在阻塞事件相应的注册表条目指示的校正行动的装置。
7.如权利要求5所述的系统,进一步包括从注册表中删除潜在阻塞事件。
8.如权利要求5所述的系统,其中使用定时器确定潜在阻塞事件不响应。
9.如权利要求5所述的系统,其中校正行动包括释放一个或多个由潜在阻塞事件保留的系统资源。
10.如权利要求5所述的系统,所述注册表条目包括阻塞事件识别符和对注册潜在阻塞事件条目的进程的引用。
全文摘要
安全中断服务器中阻塞工作的方法,包括创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
文档编号G06F9/46GK1979430SQ20061014236
公开日2007年6月13日 申请日期2006年10月11日 优先权日2005年12月8日
发明者戴维·福里斯, 戴维·波兹, 加利·普奇科夫 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1