提供全程会话持续性的设备和方法

文档序号:7904414阅读:140来源:国知局
专利名称:提供全程会话持续性的设备和方法
技术领域
本发明涉及计算机系统,更具体地说,涉及在计算机系统之间共享信息的设备和方法。
背景技术
由于计算机时代的来临,计算机系统已发展成极度复杂的设备,可在许多不同的环境中找到计算机系统。计算机的广泛扩散促进了允许计算机彼此通信的计算机网络的发展。随着个人计算机(PC)的采用,对于许多人来说,计算是易于得到的。形成了个人计算机用网络,允许单个用户及软件应用程序通过网络相互通信。一种已变得非常普及的网络是因特网。
Web站点可由许多不同的计算机系统构成,所述许多不同的计算机系统合作形成当用户浏览该Web站点时,提供所请求页面的单一计算机系统的效果。例如,IBM具有位于http//www.ibm.com的域,由位于许多不同位置的许多不同计算机系统构成。IBM web站点的一部分可用于公共应用,另一部分供厂商或商业伙伴使用,又一部分由雇员使用。
由于安全关系,在允许用户访问Web站点的一部分之前,许多Web站点要求用户输入用户姓名和口令。当Web站点由具有不同认证和授权系统的不同计算机系统构成时,可能多次提示用户输入用户姓名和口令。不用说,当用户点击仍然在同一域中的链接时,用户很可能会因在被允许访问该站点的不同部分之前必须反复输入相同的授权信息,而感到灰心。
IBM利用一次注册(SSO)系统解决了被多次提示的问题,所述一次注册系统为兼容程序提供获取先前输入的安全信息,而不是每次需要安全信息时,都提示用户输入所述安全信息。但是,一次注册系统要求每个应用程序与公用安全机构兼容,从而使其不能用在运行不兼容应用程序的许多情况中。
连网计算机系统中存在的另一问题是在用户会话期间,需要在软件应用程序之间共享信息。如果应用程序A需要获取应用程序B产生的数据,在应用程序间共享信息的最常见方法是设计允许这两个应用程序通信的接口。这需要修改这两个应用程序,导致不适合于其它应用程序之间的通信的自定义接口。结果是必须为需要彼此通信的每组应用程序重复自定义解决方案。当然,数据可保存在不同的应用程序能够访问的中央数据库中。但是,在当前用户会话结束之后,中央数据库中的数据继续保存下来,于是对于只需在用户会话期间保持的数据来说是不实际的。当不存在提供在用户会话期间可在应用程序之间共享,并且当用户会话结束时无效的全程不变数据的机构和方法时,计算机行业将继续存在软件应用程序之间信息共享方法效率低的缺点。

发明内容
根据优选实施例,一种设备和方法在连网计算机系统上,在用户会话期间提供持久数据。全局数据超高速缓存被分成三个部分受托部分,受保护部分和不受保护部分。授权机构保存并从全局数据存储器的受托部分取回授权数据。公用会话管理器保存并从全局数据超高速缓存的受保护部分和不受保护部分取回数据。通过利用授权机构,软件应用程序可在不就授权信息提示用户的情况下,核实用户是否被授权。通过利用公用会话管理器,软件应用程序可把数据保存到全局数据存储器,并从全局数据存储器取回数据,允许用户会话期间的数据共享。在用户会话结束之后,使全局数据超高速缓存中和用户会话对应的数据无效。
从如附图所示的关于本发明优选实施例的更详细说明中本发明,本发明的前述和其他优点将变得更清楚。


下面结合附图,说明本发明的优选实施例,其中相同的附图标记代表相同的部分图1是根据优选实施例的设备的方框图;图2是表示图1中所示的全局数据超高速缓存的根据优选实施例的一种恰当结构的方框图;图3是现有技术的连网计算机系统的方框图;图4是另一现有的连网计算机系统的方框图;图5是根据优选实施例的连网计算机系统的方框图,所述连网计算机系统提供全局数据超高速缓存,所述全局数据超高速缓存可包含需要在应用程序之间共享的用户授权数据和应用程序数据;图6是表示图5的授权机构可与一个以上的系统通信,以便核实用户授权的方框图;图7是表示根据优选实施例,由授权机构提供的功能的方框图;图8是表示根据优选实施例,由公用会话管理器提供的功能的方框图;图9是访问全局数据超高速缓存的受托部分中的数据的方法的流程图;图10是访问全局数据超高速缓存的受保护部分中的数据的方法的流程图;图11是访问全局数据超高速缓存的不受保护部分中的数据的方法的流程图;图12是根据优选实施例的,第一软件应用程序首次对用户授权的方法的流程图;图13是根据优选实施例的,第二软件应用程序对先前已准许的用户授权的方法的流程图;图14是根据优选实施例的,第一软件应用程序把数据保存在全局数据超高速缓存中的方法的流程图;图15是根据优选实施例的,第二软件应用程序访问全局数据超高速缓存中的数据的方法的流程图;图16是当用户会话结束时,使全局数据超高速缓存中和用户会话对应的数据无效的方法的流程图。
具体实施例方式
本发明通过提供用于保存信息的全局数据超高速缓存,通过提供对用户授权的授权机构接口,以及通过提供保存和取回由不同的软件应用程序保存在全局数据超高速缓存中的数据的公用会话管理器接口,便于在用户会话期间,在软件应用程序之间容易地共享数据。本发明提供一次注册能力,以及利用简单、公用的接口,在软件应用程序之间共享任意数据的能力。
在计算机网络的早期,每个软件应用程序通常具有自己的授权机构,如图3中所示。第一应用程序320包括授权机构322,而第二应用程序330包括独立的授权机构332,授权机构332可不同于授权机构322。用户利用浏览器310访问应用程序320和330。当用户访问第一应用程序320时,授权机构322就授权信息,例如用户姓名和口令,提示用户。当用户访问第二应用程序330时,授权机构332再次就授权信息提示用户。注意,每个应用程序320和330的授权信息可以不同。图3中所示系统的主要缺陷在于在允许用户有权使用应用程序之前,每个应用程序提示用户输入授权信息。
随着计算机网络的发展,一些系统认识到具有适用于若干不同软件应用程序的单一用户名称和口令的需要性。这种情况下,授权机构322和332可访问提供单一用户名称和口令的公用授权机构。但是,注意授权机构322和332仍然必须就授权信息提示用户,随后根据保存在公用授权机构中的信息,检查用户提供的授权信息。其结果是就相同授权信息反复提示用户的系统,对用户来说,这既费时又使用户烦恼。
IBM认识到对允许用户只注册一次,从而允许软件应用程序独立核实用户是否先前已被准许的计算机系统的需要。一次注册系统的一个简单例子示于图4中。Websphere 450是由IBM开发并出售的允许一次注册能力的计算机程序。Websphere 450与注册目录440耦接,注册目录440向用户提供授权信息目录。Websphere 450为Websphere兼容应用程序(例如应用程序420和430)提供核实用户先前是否已被准许的接口。每个应用程序420和430分别包括相应的Websphere授权机构422和432。用户运行浏览器310,用户通过所述浏览器310,请求访问应用程序420和430。
图4中所示的IBM Websphere系统400特别适用于具有单一授权机构(例如Websphere 450和注册目录440),并且具有都与Websphere兼容的应用程序(即具有相应的Websphere授权机构)的计算机系统。Websphere用Sun Microsystems开发的Java编程语言编写。用其它语言,例如C++或Perl编写的应用程序不具有Websphere兼容授权机构。从而,非Websphere应用程序可直接访问注册目录440,如图4中虚框中的应用程序460所示那样。但是注意,如应用程序460所示那样绕过Websphere 450破坏了系统中的单一注册能力,因为Websphere 450不与应用程序460通信。从而,如果用户访问应用程序420,随后访问应用程序460,那么用户仍然必须输入应用程序460的授权信息,因为先前通过Websphere 450输入的授权信息将对应用程序460不可用。另外,Websphere与单一注册目录耦接。从而,如果使用不同的授权系统,必须存在为每个授权系统运行的独立Websphere实例,如图4中关于注册目录470和Websphere 480在虚框中所示那样。如果存在内部用户(例如IBM雇员)和外部用户(例如普通公众)用的不同授权系统,那么情况就是这样。现有技术缺少的是提供跨越用不同语言编写的软件应用程序的一次注册性能的能力,易于与多个授权机构接口的能力(如果需要),以及在用户会话期间,在软件应用程序之间共享信息的能力。本发明克服了现有技术的这些缺陷。下面是优选实施例的说明。
参考图1,计算机系统100是根据本发明的优选实施例的设备的一种适当实现。计算机系统100是IBM iSeries计算机系统。但是,本领域的技术人员会认识到本发明的机构和设备同样适用于任意计算机系统,而与计算机系统是复杂的多用户计算设备,单一用户工作站或者嵌入控制系统无关。如图1中所示,计算机系统100包括处理器110、主存储器120、大容量存储器接口130、显示器接口140和网络接口150。通过使用系统总线160,互连这些系统组件。大容量存储器接口130用于使大容量存储器(例如直接存取存储器155)与计算机系统100连接。直接存取存储器155的一种具体类型是可读并且可写的CD ROM驱动器,所述CD ROM驱动器可相对于CD ROM195存储和读取数据。
根据优选实施例,主存储器120包含数据121、操作系统122、浏览器123、授权机构124、公用会话管理器125和全局数据超高速缓存126。数据121代表用作相对于计算机系统100中的任意程序的输入或输出的任意数据。操作系统122是本行业中已知的多任务操作系统,例如OS/400;但是,本领域的技术人员会认识到本发明的精神和范围并不局限于任一操作系统。浏览器123是向用户提供访问一个或多个其它软件应用程序的用户界面的软件应用程序。可从市场上获得的浏览器的例子包括Microsoft Internet Explorer和NetscapeCommunicator。授权机构124是为会话期间,用户可访问的应用程序提供一次注册能力的接口。公用会话管理器125是允许应用程序把信息保存在全局数据超高速缓存126中,并从全局数据超高速缓存126取回信息的接口。全局数据超高速缓存126是在用户会话期间,保持数据的存储器。全局数据超高速缓存126的关键特征之一是一旦用户会话不再有效,那么和具体用户会话相关的内容就会无效。
计算机系统100利用众所周知的虚拟寻址机构,所述虚拟寻址机构允许计算机系统100的程序表现为它们只能访问大型的单一存储实体,而不是访问多个较小的存储实体,例如主存储器120和DASD装置155。于是,虽然数据121、操作系统122、浏览器123、授权机构124、公用会话管理器125和全局数据超高速缓存126被表示成驻留在主存储器120中,不过本领域的技术人员会认识到它们不必同时完全包含在主存储器120中。应注意的是,这里使用的术语“存储器”一般指的是计算机系统100的整个虚拟存储器,并且可包括与计算机系统100耦接的其它计算机系统的虚拟存储器。
处理器110可由一个或多个微处理器和/或集成电路构成。处理器110执行保存在主存储器120中的程序指令。主存储器120保存处理器110可访问的程序和数据。当计算机系统100启动时,处理器110最初执行构成操作系统122的程序指令。操作系统122是管理计算机系统100的资源的高级程序。这些资源中的一些是处理器110、主存储器120、大容量存储器接口130、显示器接口140、网络接口150和系统总线160。
虽然计算机系统100被表示成只包含单一处理器和单一系统总线,不过本领域的技术人员会认识到可利用具有多个处理器和/或多个总线的计算机系统实践本发明。另外,优选实施例中使用的接口均包括独立的完全程控的微处理器,所述微处理器用于从处理器110卸下计算密集的处理。但是,本领域的技术人员会认识到本发明同样适合于只使用I/O适配器来实现类似功能的计算机系统。
显示器接口140用于直接连接一个或多个显示器165和计算机系统100。这些显示器165可以是非智能(即哑)终端或者完全可编程工作站,用于允许系统管理员和用户与计算机系统100通信。但是注意,虽然提供了支持与一个或多个显示器165通信的显示器接口140,不过计算机系统100不必需要显示器165,因为可借助网络接口150,实现与用户和其它过程的全部所需相互作用。
网络接口150用于通过网络170,使其它计算机系统和/或工作站(例如,图1中的175)与计算机系统100连接。与是利用目前的模拟和/或数字技术,还是借助未来的某一组网机制实现网络连接170无关,不论计算机系统100怎样与其它系统和/或工作站连接,本发明都同样适用。另外,可使用许多不同的网络协议来实现网络。这些协议是允许计算机通过网络170通信的专用计算机程序。TCP/IP(传输控制协议/网际协议)是适当的网络协议的一个例子。
此时,重要的是注意虽然已在全功能计算机系统的环境中描述了本发明,并且将继续在该环境下描述本发明,不过本领域的技术人员会认识到本发明能够作为呈各种形式的程序产品而散布,并且和用于实际实现所述散布的计算机可读信号承载介质的具体类型无关,本发明都同样适用。适当的计算机可读信号承载介质的例子包括诸如软盘和CD ROM(例如图1的195)之类的可记录型介质,和诸如数字和模拟通信链路之类的传输型介质。
参见图2,图1中的全局数据超高速缓存126最好被分成多个部分(或区域)。在优选实施例中,全局数据超高速缓存126包括受托部分210、受保护部分220和不受保护部分230。受托部分210包括用户授权信息。受保护部分220包括如果其用户被正确授权,那么可被其它应用程序获取的信息。不受保护部分230包括可被具有有效会话标识符的任意应用程序获取的信息。通过在全局数据超高速缓存内设置多个部分,可根据允许存取数据的安全要求,把数据保存在各个部分中。
现在参见图5,根据优选实施例的连网计算机系统500包括与软件应用程序520和530通信的浏览器310。每个软件应用程序520和530分别具有相应的授权机构522和532。授权机构522和532与为所有兼容应用程序提供一次注册能力的授权机构124通信。公用会话管理器125为应用程序520和530提供在用户会话期间,共享信息的接口。全局数据超高速缓存126包括受托部分210、受保护部分220和不受保护部分230,如图2中所示。授权机构124与任意适当的授权系统耦接,在图5中,所述授权系统被举例表示为应用程序服务器550和注册目录440。适当的应用程序服务器550的一个例子是IBM的Websphere。适当的注册目录440的一个例子是轻量级目录存取协议(LDAP)目录。
和现有技术相比,授权机构124的显著优点在于它可与多个授权系统通信。图6中表示了这样的一个例子,其中授权机构124与用于准许一些用户(例如雇员)的Websphere 650通信,并与其它用户(例如普通公众)用的诸如公用web授机机构660之类的另一授机系统通信。由于授权机构124可与多个授权系统通信,于是不需要如图4中现有系统400中所示那样,要求每个应用程序都要能够与各个授权系统通信。当涉及多个授权系统时,仍然要求用户登录进入每个系统。但是,借助全局数据超高速缓存,仍然可在使用不同授权系统的应用程序之间共享数据。
授权机构124向应用程序提供实现相对于用户的授权功能的接口。优选实施例范围内的适当授权功能在图7中被表示成包括登录功能、注销功能和核实功能。提供登录功能,以便借助软件应用程序使用户注册进入授权机构124。提供注销功能,以便借助应用程序使用户注销退出授权机构124。核实功能允许软件应用程序确定用户先前是否已被准许(或者注册进入)授权机构124。
公用会话管理器125为软件应用程序提供在用户会话期间,彼此共享数据的接口。优选实施例范围内公用会话管理器125的恰当功能在图8中被表示成包括读取会话数据功能,写入会话数据功能,查询会话数据功能和使ping有效功能。读取会话数据功能读取和保存在全局数据超高速缓存中的用户会话对应的数据。写入会话数据功能把和用户会话对应的数据写入全局数据超高速缓存中。在优选实施例中,对应于用户会话的数据被保存在全局数据超高速缓存中作为对象。查询会话数据功能允许查询全局数据超高速缓存中和用户会话对应的数据。查询会话数据功能还允许应用程序确定哪些数据被保存在全局数据超高速缓存中。使ping有效功能被用于通知或“ping”公用会话管理器,从而当应用程序繁忙时,公用会话管理器不会超时。通过调用使ping有效功能,当应用程序正在忙于执行其它任务时,软件应用程序仍可使用户会话保持有效。
图2和5中表示了全局数据超高速缓存126的三个部分210、220和230。这些部分之间的一个差异在于是否准许某一应用程序访问各个部分的确定。图9-11中表示了访问这三个不同部分的方法。图9表示访问全局数据超高速缓存126的受托部分210中的数据的方法900。当全局数据超高速缓存126的受托部分210需要被访问时(步骤910),开始方法900。在优选实施例中,授权机构124是访问受托部分210的接口。从而,授权机构124可把和用户及用户会话相关的授权信息保存在受托部分210中,或者可核实应用程序是否被准许直接访问受托部分210。从而,如果准许步骤910中的请求者访问受托部分(步骤920=是),那么允许请求者访问受托部分(步骤930)。如果不准许步骤910中的请求者访问受托部分(步骤920=否),那么拒绝请求者访问受托部分(步骤940)。从而,方法900确保只有被恰当授权的应用程序才能访问全局数据超高速缓存126的受托部分210。注意对受托部分的访问可以是读取操作、写入操作或者这些操作的组合。另外注意,应用程序可包括一旦被授权机构124核实准许直接把授权信息保存在全局数据超高速缓存的受托部分中,即可这样做的授权机构。
现在参见图10,获取全局数据超高速缓存的受保护部分中的数据的方法100从应用程序向受保护部分请求数据时开始(步骤1010)。作为响应,步骤1020确定用户是否被允许获取所述数据。在优选实施例中,核实用户会话ID和授权凭证。但是,注意如果用户已登录进入授权机构124,那么方法100可通过仅仅调用授权机构124上的核实功能,在步骤1020中确定用户是否被授权。如果调用该应用程序的用户不被准许访问请求数据(步骤1020=否),那么拒绝对数据的访问(步骤1030)。如果调用应用程序的用户被准许访问请求数据(步骤1020=是),那么允许该应用程序访问全局数据超高速缓存126的受保护部分220中的数据。可保存在全局数据超高速缓存的受保护部分中的数据的例子包括用户的个人信息(例如,姓名、地址、电话号码)、用户的计算机配置、命令(order)信息和表格项信息。
现在参见图11,当应用程序向不受保护部分请求数据(步骤1110)时,开始获取全局数据超高速缓存的不受保护部分中的数据的方法。作为响应,步骤1120确定用户是否具有有效的会话标识符(步骤1120)。如果调用应用程序的用户不具有有效的会话标识符(步骤1120=否),则拒绝对数据的访问(步骤1130)。如果调用应用程序的用户具有有效的会话标识符(步骤1120=是),则允许应用程序访问全局数据超高速缓存126的不受保护部分230中的数据。可保存在全局数据超高速缓存的不受保护部分中的数据的例子包括和web站点上点击次数相关的统计资料和表示浏览器上用户活动的历史记录的跟踪文件。
从图9-11中的方法,我们可看出,为全局数据超高速缓存的不同部分提供了不断变化的安全度。虽然这里举例表示了三个部分,不过利用限制对保存在全局数据超高速缓存中数据的访问的任意恰当认证或授权方法,优选实施例显然可扩展到全局数据超高速缓存中任意数目的部分。
在优选实施例中,在全局数据超高速缓存中可存在另一级别的安全性。保存在全局数据超高速缓存中的每个对象可规定不同应用程序的访问权限。对于这种对象来说,每次应用程序相对于全局数据超高速缓存读取或写入对象时,应用程序不得不传递应用程序专用授权信息(例如应用程序标识符和口令)。从而,对象可规定相对于不同应用程序,或者相对于所有应用程序的读访问和写访问。因此,一个对象可规定所有应用程序可读取该对象,但可写入该对象的应用程序可受到限制。提供这种附加的安全级有助于确保保存在全局数据超高速缓存中的数据不被误用该对象的应用程序破坏。
图12的方法1200是表示当用户首次请求访问应用程序时,在图5的系统500中执行的步骤的详细方法。注意方法1200假定应用程序服务器550是IBM的Websphere应用程序服务器。首先,我们假定用户通过浏览器310请求访问应用程序520(步骤1210)。应用程序询问授权机构124,确定该用户是否被授权(步骤1212)。可利用授权机构124的核实功能实现询问。我们假定这是用户首次访问图5中的应用程序520或530,从而授权机构124以该用户未被授权表示响应(步骤1214)。应用程序520随后向用户提供登录屏幕(步骤1216)。用户把他或她的授权信息输入登录屏幕中,一般包括用户姓名和口令,随后提交该授权信息(步骤1218)。随后,应用程序520通过调用登录功能,并把用户的授权信息作为参数传送给所述调用,试图登录进入授权机构124(步骤1220)。授权机构把用户授权信息传送给Websphere(步骤1222),Websphere随后把授权信息传送给注册目录440(步骤1224)。注意在该路径的任意一点,可对授权信息进行加密、解密或者以其它方式处理成不同的形式。注册目录440确定是否存在和用户输入的授权信息对应的用户条目,并向Websphere返回一条消息(步骤1226)。如果用户被授权,那么Websphere随后产生加密权标,所述加密权标被传送给授权机构124(步骤1228)。如果用户未被授权,那么Websphere向授权机构返回出错消息,指示用户未被授权。如果用户未被授权(步骤1230=否),那么授权机构向应用程序发送指示用户未被授权的消息(步骤1240)。从而,应用程序拒绝该用户的访问(步骤1242)。如果用户被授权(步骤1230=是),那么授权机构把授权信息保存在全局数据超高速缓存的受托部分中(步骤1250)。授权机构随后向应用程序发送指示用户被授权的消息(步骤1252)。随后允许用户访问该应用程序(步骤1254)。
现在参见图13中的方法1300,了解在用户已被授权(例如如图12中的方法1200中所示)的情况下,当用户请求访问第二应用程序(图5中的530)时发生的情况。当同一用户在同一用户会话期间,通过浏览器310请求访问第二应用程序530时(步骤1310),开始方法1300。应用程序最好通过调用核实功能,询问授权机构,确定用户是否被授权(步骤1320)。授权机构根据保存在全局数据超高速缓存的受托部分中的授权机构,确定用户已被授权(步骤1330)。授权机构随后响应核实功能的调用,发送指示用户被授权的消息(步骤1340)。第二应用程序随后允许用户访问(步骤1350)。
图14中的方法1400表示应用程序如何可把数据保存在全局数据超高速缓存的不受保护部分或受保护部分中(步骤1410)。在优选实施例中,和用户会话对应的数据被保存为对象。应用程序利用可扩展标记语言(XML)接口,请求对象中的数据。这允许应用程序访问全局数据超高速缓存,而不考虑操作系统、平台或编程语言。如果应用程序通常提示用户输入12字段的信息,并且12个字段中的8个字段的数据已存在于全局数据超高速缓存中的用户对象中,那么应用程序可从全局数据超高速缓存的用户对象中取回所述数据,并且可以仅仅提示用户输入缺少的数据,或者提示用户输入所有数据,同时对于根据保存在全局数据超高速缓存中的对象已知的数据来说,已填写了数据值。当然,除了保存在对象中之外,还存在其它多种数据保存方法,所有这些都在优选实施例的范围之内。
图15中的方法表示应用程序如何访问全局数据超高速缓存的不受保护或受保护部分中的数据。如果用户未被授权(步骤1510=否),那么拒绝对该数据的访问。如果用户被授权(步骤1510=是),则允许应用程序访问全局数据超高速缓存的不受保护或受保护部分中的数据(步骤1520)。在步骤1510中确定用户是否被授权涉及确定所请求的数据是在受托部分中、受保护部分中还是在不受保护部分中。访问全局数据超高速缓存的受托部分中的数据的方法被表示成图9的方法900。访问全局数据超高速缓存的受保护部分中的数据的方法被表示成图10的方法1000。访问全局数据超高速缓存的不受保护部分中的数据的方法被表示成图11的方法1100。注意,这些方法900、1000和1100最好使用不同的标准保护对它们相应的全局数据超高速缓存的受托部分、受保护部分和不爱保护部分的访问。
优选实施例的一个显著特征在于全局数据超高速缓存中的数据只在用户会话期间有效。从而,当用户会话终止时,使全局数据超高速缓存中对应于该用户会话的数据无效。参见图16,方法1600首先确定用户会话是否仍然有效(步骤1610)。如果是(步骤1610=是),那么保持全局数据超高速缓存中的相应数据。一旦用户会话不再有效(步骤1610=否),那么使全局数据超高速缓存中和用户会话对应的数据无效(步骤1620)。注意可存在具有有效会话的许多用户,这些用户中的每一个都可把数据保存在全局数据超高速缓存中。当用户会话不再有效时(步骤1610=否),在步骤1620中,只使和该用户会话对应的数据无效。
存在使全局数据超高速缓存中和用户会话对应的数据无效的多种不同机制。一种方法是提供确定用户会话何时终止,删除或者以其它方式使全局数据超高速缓存中该用户会话的相应数据无效的现用监测器。另一种方法是提供执行无用单元(garbage)收集功能,并根据计时器确定何时用户会话不再有效的后台进程。计时器可以是只允许用户继续用户会话预设的一段时间的绝对计时器,或者可以是每次用户执行某一预定任务时,重新被触发的可再触发计时器。在后一例子中,用户可使会话保持有效,只要在该会话期间,用户在积极地工作。另一种使全局数据超高速缓存中的数据无效的方法是由应用程序服务器550使会话无效。
当用户会话用计时器超时时,全局数据超高速缓存中的相应数据会无效,从而要求用户再次登录。使全局数据超高速缓存中的用户会话数据无效的另一方法是向用户提供包括超时数值的授权权标,当超时数值被超过时,终止用户会话。用户会话的典型超时数值可以是10分钟,可以是1小时,或者可以是1天,取决于正被执行的具体应用程序,以及执行应用程序的环境。优选实施例显然可扩展到任意适当的超时数值,或者扩展到根本无超时数值。换句话说,用户会话可保持有效,直到用户手动注销退出为止,或者可(如上所述)使用使用户会话保持有效的计时器,只要用户在预定的时限内进行工作,这导致浏览器调用公用会话管理器的使ping有效功能,使用户的会话保持有效。通过使全局数据超高速缓存中和期满的用户会话对应的数据无效,全局数据超高速缓存中的存储器可更有效地用于其它用户会话。注意在用户会话的终止或期满和全局数据超高速缓存中相应用户会话数据的无效之间,可能存在一定的时间延迟。会话的终止和期满与全局数据超高速缓存中数据的无效之间的计时并不重要。重要的是,在用户会话终止之后的某一时刻,将使全局数据超高速缓存中该用户会话的相应数据无效,从而释放该部分全局数据超高速缓存,供另一用户会话再使用。
由于全局数据超高速缓存保存用户会话的授权信息,因此用户会话可局限于预定的时段或者预定的无效时段,迫使用户定期重新授权,以便确保用户的授权仍然是当前的。要求用户每一个小时或两个小时输入他或她的授权信息是能够通过确保用户在他或她的授权信息已无效之后不能继续会话,提高系统安全性的轻微不便。
优选实施例提供一种简单有效的方法,所述方法提供一次注册能力,以及在用户会话期间,容易地在软件应用程序之间共享数据的能力。一旦用户会话终止,使全局数据超高速缓存中和用户会话对应的数据无效。授权机构提供一次注册能力的接口。公用会话管理器提供在应用程序之间共享数据的接口。根据数据是保存在受托部分、受保护部分还是不受保护部分中,按照不同的程度保护保存在全局数据超高速缓存中的数据。从而,优选实施例提供一种简单并且极好的计算机网络上授权和应用程序之间数据共享的解决方案。
本领域的技术人员会认识到在本发明的范围内,各种变化都是可能的。从而,虽然参考本发明的优选实施例具体表示并描述了本发明,不过本领域的技术人员显然明白,在不脱离本发明的精神和范围的情况下,可在其中产生形式和细节方面的这些及其它变化。
权利要求
1.一种设备,包括至少一个处理器;与所述至少一个处理器耦接的存储器;与所述至少一个处理器耦接的全局数据超高速缓存;和在用户会话期间,把数据保存在全局数据超高速缓存中,向若干软件应用程序提供对数据的访问,并且在用户会话结束之后,使全局数据超高速缓存中的数据无效的公用会话管理器。
2.按照权利要求1所述的设备,其中公用会话管理器在用户会话期间,向若干软件应用程序提供对保存在全局数据超高速缓存中的数据的访问。
3.按照权利要求1所述的设备,其中保存在全局数据超高速缓存中的数据包括和用户会话对应的授权信息。
4.按照权利要求1所述的设备,其中全局数据超高速缓存包括若干部分,每个部分要求对保存在相应部分中的数据的访问的不同授权。
5.按照权利要求4所述的设备,其中所述若干部分包括受托部分、受保护部分和不受保护部分。
6.按照权利要求5所述的设备,其中受托部分包括用户会话的授权信息。
7.按照权利要求5所述的设备,其中受保护部分包括只有当用户提供和保存在受保护部分中的信息对应的授权信息时,才可访问的信息。
8.按照权利要求5所述的设备,其中不受保护部分包括可被具有有效会话标识符的任意用户访问的信息。
9.按照权利要求1所述的设备,还包括被软件应用程序调用,确定用户是否被准许访问该软件应用程序的授权机构。
10.按照权利要求9所述的设备,其中授权机构为访问全局数据超高速缓存的所有软件应用程序提供一次注册能力。
11.一种设备,包括(A)至少一个处理器;(B)与所述至少一个处理器耦接的存储器;(C)与所述至少一个处理器耦接的全局数据超高速缓存,所述全局数据超高速缓存包括(C1)包括用户会话的授权信息的受托部分;(C2)包括只有当用户被准许访问保存在受保护部分中的信息时,才可被访问的信息的受保护部分;和(C3)包括可被具有有效会话标识符的任意用户访问的信息的不受保护部分;(D)在用户会话期间,把数据保存在全局数据超高速缓存中,并在用户会话结束之后,使全局数据超高速缓存中的数据无效的公用会话管理器;和(E)被软件应用程序调用,确定用户是否被准许访问该软件应用程序的授权机构,所述授权机构为访问全局数据超高速缓存的所有软件应用程序提供一次注册能力。
12.按照权利要求11所述的设备,其中公用会话管理器在用户会话期间,向若干软件应用程序提供对保存在全局数据超高速缓存中的数据的访问。
13.一种在用户会话期间,在第一软件应用程序和第二软件应用程序之间共享数据的方法,所述方法包括下述步骤用户向第一软件应用程序提供数据;第一软件应用程序把数据保存在全局数据超高速缓存中;第二软件应用程序访问全局数据超高速缓存中的数据;和在用户会话结束之后,使全局数据超高速缓存中和用户会话对应的数据无效。
14.按照权利要求13所述的方法,其中保存在全局数据超高速缓存中的数据包括和用户会话对应的授权信息。
15.按照权利要求13所述的方法,其中全局数据超高速缓存中的数据包括保存在全局数据超高速缓存的受托部分中的授权信息。
16.按照权利要求13所述的方法,其中全局数据超高速缓存中的数据包括保存在全局数据超高速缓存的受保护部分中的应用程序数据。
17.按照权利要求13所述的方法,其中全局数据超高速缓存中的数据包括保存在全局数据超高速缓存的不受保护部分中的应用程序数据。
18.按照权利要求13所述的方法,还包括确定用户是否被准许访问保存在全局数据超高速缓存中的信息的步骤。
19.按照权利要求18所述的方法,还包括向访问全局数据超高速缓存的所有软件应用程序提供一次注册能力。
20.一种在用户会话期间,在第一软件应用程序和第二软件应用程序之间共享数据的方法,所述方法包括下述步骤用户向第一软件应用程序提供授权数据;第一软件应用程序把授权数据保存在全局数据超高速缓存的受托部分中,第一软件应用程序把应用程序数据保存在全局数据超高速缓存的受保护部分和不受保护部分至少之一中;第二软件应用程序请求核实用户是否被准许访问第二软件应用程序;从全局数据超高速缓存的受托部分读取授权数据;根据读取的授权数据,确定用户是否被准许访问第二软件应用程序;如果用户被准许访问第二软件应用程序,那么允许用户访问第二软件应用程序;如果用户不被准许访问全局数据超高速缓存中的数据,那么拒绝用户对第二软件应用程序的访问;和在用户会话结束之后,使全局数据超高速缓存中和用户会话对应的数据无效。
21.按照权利要求20所述的方法,其中如果用户先前已提供和保存在受保护部分中的数据对应的授权信息,那么准许用户访问全局数据超高速缓存的受保护部分。
22.按照权利要求20所述的方法,其中如果用户具有有效会话标识符,那么准许用户访问全局数据超高速缓存的不受保护部分。
23.一种程序产品,包括(A)在用户会话期间,把数据保存在全局数据超高速缓存中,向若干软件应用程序提供对数据的访问,并且在用户会话结束之后,使全局数据超高速缓存中的数据无效的公用会话管理器;和(B)承载所述公用会话管理器的计算机可读信号承载介质。
24.按照权利要求23所述的程序产品,其中计算机可读信号承载介质包括可记录介质。
25.按照权利要求23所述的程序产品,其中计算机可读信号承载介质包括传输介质。
26.按照权利要求23所述的程序产品,其中在用户会话期间,公用会话管理器向若干软件应用程序提供对保存在全局数据超高速缓存中的数据的访问。
27.按照权利要求23所述的程序产品,其中保存在全局数据超高速缓存中的数据包括和用户会话对应的授权信息。
28.按照权利要求23所述的程序产品,其中全局数据超高速缓存包括若干部分,每个部分要求对保存在相应部分中的数据的访问的不同授权。
29.按照权利要求28所述的程序产品,其中所述若干部分包括受托部分、受保护部分和不受保护部分。
30.按照权利要求29所述的程序产品,其中受托部分包括用户会话的授权信息。
31.按照权利要求29所述的程序产品,其中受保护部分包括只有当用户提供和保存在受保护部分中的信息对应的授权信息时,才可访问的信息。
32.按照权利要求5所述的程序产品,其中不受保护部分包括可被具有有效会话标识符的任意用户访问的信息。
33.按照权利要求23所述的程序产品,还包括被软件应用程序调用,确定用户是否被准许访问该软件应用程序的授权机构。
34.按照权利要求33所述的程序产品,其中授权机构为访问全局数据超高速缓存的所有软件应用程序提供一次注册能力。
35.一种程序产品,包括(A)在用户会话期间,把数据保存在全局数据超高速缓存中,并在用户会话结束之后,使全局数据超高速缓存中的数据无效的公用会话管理器,所述全局数据超高速缓存包括(A1)包括用户会话的授权信息的受托部分;(A2)包括只有当用户被准许访问保存在受保护部分中的信息时,才可被访问的信息的受保护部分;和(A3)包括可被具有有效会话标识符的任意用户访问的信息的不受保护部分;(B)被软件应用程序调用,确定用户是否被准许访问该软件应用程序的授权机构,所述授权机构为访问全局数据超高速缓存的所有软件应用程序提供一次注册能力;和(C)承载所述公用会话管理器和授权机构的计算机可读信号承载介质。
36.按照权利要求35所述的程序产品,其中计算机可读信号承载介质包括可记录介质。
37.按照权利要求35所述的程序产品,其中计算机可读信号承载介质包括传输介质。
38.按照权利要求11所述的程序产品,其中在用户会话期间,公用会话管理器向若干软件应用程序提供对保存在全局数据超高速缓存中的数据的访问。
全文摘要
一种设备和方法在连网计算机系统上的用户会话期间提供持久数据。全局数据超高速缓存被分成三个部分受托部分,受保护部分和不受保护部分。授权机构保存并从全局数据超高速缓存的受托部分取回授权数据。公用会话管理器保存并从全局数据超高速缓存的受保护部分和不受保护部分取回数据。通过利用授权机构,软件应用程序可在不就授权信息提示用户的情况下,核实用户是否被授权。通过利用公用会话管理器,软件应用程序可把数据保存到全局数据超高速缓存,并从全局数据超高速缓存取回数据,允许用户会话期间的数据共享。在用户会话结束之后,使全局数据超高速缓存中和用户会话对应的数据无效。
文档编号H04L29/06GK1487437SQ0315435
公开日2004年4月7日 申请日期2003年8月21日 优先权日2002年8月29日
发明者杰姆斯·卡萨扎, 杰姆斯 卡萨扎 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1