用于获得应用数据的方法和系统的制作方法

文档序号:7596110阅读:166来源:国知局
专利名称:用于获得应用数据的方法和系统的制作方法
技术领域
本发明一般涉及获得应用数据,特别涉及一种在将在客户端上输入的应用数据提交给网络应用之前确保客户端和网络应用之间的会话有效的方法、系统和程序产品。
背景技术
用户频繁地使用计算机输入数据,并且将该数据提交给位于通过诸如因特网的网络连接的服务器上的网络应用(application)。为了将数据提供给网络应用,计算机通常与网络应用建立会话。例如,计算机可以通过网络发送会话请求,并且网络应用可以以会话标识符响应。一旦建立了会话,网络应用就发送一个或多个页面到计算机,计算机向用户显示这个(些)页面。每个页面可以包括诸如射频按钮(radio box)、复选框、下拉式列表、编辑框等的数据输入区域的任何组合。使用这些数据输入区域,用户可以输入数据。一旦输入了所有数据,用户就可以通过例如单击页面中的按钮来请求将其发送到网络应用。
经常地,网络应用将同时维持与不同计算机的许多会话。然而,会话可能由于丢失计算机与网络应用之间的通信而频繁地意外终止。例如,计算机可能丢失其与网络的连接,掉电,应用可能意外终止等。因此,为了从当前维持的会话中删除这些会话,当在特定时间段之后没有接收到任何通信时,网络应用将结束会话。另外,当在会话期间传输保密或时间敏感数据时,网络应用可以提供必须在其内从计算机提交数据的限定时间。
目前,当网络应用在其会话期满之后从计算机接收消息时,网络应用将拒绝该消息,并且必须建立新会话。例如,网络应用可以向用户通知会话已期满,并且/或者提供登录页面以允许用户建立新会话。然而,在重定向到登录页面之后,包括输入数据的页面可能在计算机上不再可用。在这种情形下,数据将丢失,并且将需要用户重新输入数据。
随着提交给网络应用的数据变得日益复杂,数据重新输入对于用户而言变得愈加不便。这导致用户产生严重的挫折感。例如,数据页面可能请求当前所发定单的发货信息和付款信息。在填写该信息的时候,用户可能会分神,例如接电话。这样,一旦填完所需信息并且将其提交给网络应用,会话就可能已期满,从而使用户被重定向到登录页面。在这种情况下,用户然后将需要从头开始重新输入所需信息。
因此,需要一种用于获得应用数据的改进式解决方案。具体地说,需要一种在将客户端上输入的应用数据提交给网络应用之前确保客户端和网络应用之间的会话有效的方法、系统和程序产品。如此,在用户正在输入应用数据的时候,如果会话期满,则可以保持用户已输入的应用数据。

发明内容
本发明提供了一种用于为网络应用获得应用数据的改进式解决方案。具体地说,在本发明下,在网络应用与客户端之间建立会话。将一个或多个数据页面提供给允许用户输入应用数据的客户端。在将应用数据提交给网络应用之前,确保会话有效。在一个实施例中,数据页面包括确定当用户请求提交应用数据时剩余的会话时间的指令。如果剩余会话时间表示会话可能已期满因此可能不再有效,则可以向网络应用查询以确定会话的状态。如果会话无效,则可以在网络应用与客户端之间建立新会话。在任何情况下,一旦确保了有效会话,则可以将应用数据提交给网络应用。
本发明的第一方面提供了一种获得应用数据的方法,该方法包括在会话期间从网络应用获得数据页面;使用数据页面接收应用数据;确保会话有效;以及当会话有效时将应用数据提交给网络应用。
本发明的第二方面提供了一种用于为网络应用获得应用数据的方法,该方法包括与客户端建立会话;将数据页面提供给客户端,其中数据页面确保在提交应用数据之前会话有效;以及从客户端接收应用数据。
本发明的第三方面提供了一种用于为网络应用获得应用数据的系统,该系统包括会话系统,用于与客户端建立会话;以及数据系统,用于将数据页面提供给客户端并且从客户端接收应用数据;其中数据页面确保在提交应用数据之前会话有效。
本发明的第四方面提供了一种存储在可记录介质上的、用于获得应用数据的程序产品,当执行该程序产品时,其包括用于使用数据页面接收应用数据的程序代码;用于确保与网络应用的会话有效的程序代码;以及用于当会话有效时将应用数据提交给网络应用的程序代码。
本发明的各个说明性方面设计成解决在此所述的问题和可由本领域的技术人员发现的未讨论的其他问题。


通过结合示出本发明各个实施例的附图对本发明的各方面进行详细描述,本发明的这些和其他特征将变得更加容易理解,其中图1示出用于获得应用数据的说明性系统;图2示出用于输入应用数据的说明性数据页面;图3示出用于建立会话的说明性登录页面;图4示出用于获得应用数据的说明性方法步骤;图5示出用于确保会话有效的说明性方法步骤。
注意本发明的附图不是按比例绘制的。附图仅仅旨在描述本发明的典型方面,因此不应被认为是限制本发明的范围。在附图中,相同的标号表示附图之间的相同单元。
具体实施例方式
如上所述,本发明提供了一种用于为网络应用获得应用数据的改进式解决方案。具体地说,在本发明下,在网络应用与客户端之间建立会话。将一个或多个数据页面提供给允许用户输入应用数据的客户端。在将应用数据提交给网络应用之前,确保会话有效。在一个实施例中,数据页面包括确定当用户请求提交应用数据时剩余的会话时间的指令。如果剩余会话时间表示会话可能已期满因此可能不再有效,则可以向网络应用查询以确定会话的状态。如果会话无效,则可以在网络应用与客户端之间建立新会话。在任何情况下,一旦确保了有效会话,则可以将应用数据提交给网络应用。
参照附图,图1示出用于获得应用数据的说明性系统10。具体地说,用户15在客户端14上为网络应用30输入应用数据,客户端14通过网络16将应用数据传送到服务器12。就此而言,网络16可以包括任何类型的通信链路。例如,网络16可以包括可以利用有线和/或无线传输方法的任何组合的客户端-服务器(或服务器-服务器)环境中的可寻址连接。在这种情况下,服务器12和客户端14可以利用传统网络连接性,例如令牌环、以太网、WiFi或其他传统通信标准。此外,网络16还可以包括任何类型的网络,包括因特网、广域网(WAN)、局域网(LAN)、虚拟私有网络(VPN)等。在客户端14通过因特网与服务器12通信的情况下,连接性可以由传统的基于TCP/IP接口(socket)的协议提供,并且客户端14可以利用因特网服务提供商来建立与服务器12的连接性。
如图所示,服务器12一般包括中央处理单元(CPU)18、存储器20、输入/输出(I/O)接口22、总线24、外部I/O设备/资源26以及存储单元28。CPU18可以包括单个处理单元,或者分布到一处或多处例如客户端和服务器上的一个或多个处理单元上。存储器20可以包括任何公知类型的数据存储和/或传输介质,包括磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、数据高速缓冲存储器、数据对象等。存储单元28可以包括任何类型的数据存储设备,用于为执行如下所述的本发明所需的信息提供存储。同样地,存储单元28可以包括一个或多个存储设备,诸如磁盘驱动器或光盘驱动器。而且,类似于CPU 18,存储器20和/或存储单元28可以驻留于单个物理位置,包括一种或多种类型的数据存储单元,或者可以分布到各种形式的多个物理系统上。此外,存储器20和/或存储单元28可以包括分布在例如LAN、WAN或存储区域网(SAN)(未示出)中的数据。
I/O接口22可以包括任何用于与一个或多个外部I/O设备26交换信息的系统。I/O设备26可以包括任何公知类型的外部设备,包括扬声器、CRT、LED屏幕、手持设备、键盘、鼠标、声音识别系统、语音输出系统、打印机、监视器/显示器、传真机、寻呼机、通信硬件/软件等。总线24在服务器12的各个组件之间提供通信链路,并且同样可以包括任何公知类型的传输链路,包括电、光、无线等。此外,虽然未示出,可以将诸如系统软件的附加组件加入到服务器12中。
此外,应该理解,服务器12包括能够与一个或多个其他计算设备(例如,客户端14)通信的任何类型的计算设备。类似地,客户端14可以包括任何类型的计算设备,例如服务器、桌面计算机、膝上型计算机、手持设备、移动电话、寻呼机、个人数据助理等等。就此而言,客户端14典型地包括如服务器12所示的相同单元(例如,CPU、存储器、I/O接口等)。为了简洁起见,在此未单独示出它们。然而,应该理解,如果客户端14是手持设备等,则显示器可以包含在客户端14内,而不与服务器12所示的外部I/O设备26一样。
图中示出了服务器12包括可以将一个或多个页面32发送到客户端14的网络应用30。在客户端14上,显示系统34可以向用户15显示页面32。用户15可以使用页面32将应用数据提供给网络应用30。图中示出了网络应用30包括会话系统36和数据系统38,它们管理(regulate)和允许用户15提供应用数据。具体地说,会话系统36建立并维护与一个或多个客户端14的会话。当客户端14具有有效会话时,数据系统38可以获得用户15在客户端14上输入的应用数据。应该理解,图1所示的各系统中的一些可以独立实现、组合和/或存储在通过网络通信的一个或多个单独服务器12的存储器中。例如,会话系统36可以与网络应用30分开实现。此外,应该理解,可以不实现某些系统和/或功能性,或者可以包括附加系统和/或功能性作为系统10的一部分。
如前所述,数据系统38可以使用一个或多个页面32获得应用数据。具体地说,数据系统38可以将页面32提供给客户端14,并且显示系统34可以使用一个或多个窗口向用户15显示页面32。例如,显示系统34可以创建显示第一页面32的窗口。当客户端14随后接收到新页面32时,显示系统34可以创建新窗口以显示新页面32,或者使用相同窗口以显示新页面32。在后者情况下,新页面32可以更换先前显示的页面32,或者可以在该窗口内同时显示两个页面32的一些或全部。在一个实施例中,显示系统34包括浏览器,而页面32包括网页。
为了获得应用数据,数据系统38可以将一个或多个“数据页面”提供给客户端14。数据页面是一种允许用户15输入应用数据的页面32。就此而言,数据页面可以包括一组(一个或多个)数据输入区域(例如,射频按钮、复选框、下拉式列表、编辑框、按钮等),以及/或者一组动作区域(例如,提交、取消、复位等)。结果,用户15可以使用这组数据输入区域提供应用数据,并且使用这组动作区域来选择要对应用数据执行的所需动作。取决于所选动作,可以将应用数据传送到数据系统38。
例如,现在参照图1和2,图2示出可以由显示系统34创建的窗口50内所显示的说明性数据页面40。数据页面40允许用户15提供应用数据,例如创建电子消息。具体地说,数据页面40包括各种数据输入区域,例如用于指定一个或多个电子消息收件人的收件人编辑框42,以及用于输入电子消息内容的消息编辑框44。此外,数据页面40可以包括允许用户15指定要对电子消息执行的所需动作的各种动作区域。例如,图中示出了数据页面40包括用于发送所完成的电子消息的发送按钮46,以及用于取消电子消息的取消按钮48。
网络应用30可以限制对数据页面40的访问。例如,网络应用30可以限制同时提供应用数据的用户15的数目,可以仅允许特定用户15提供应用数据等。就此而言,会话系统36可能要求在可以将数据页面40提供给客户端14之前与客户端14建立会话。会话的使用允许网络应用30限制对数据页面40的访问,因此根据需要限制可以提交应用数据的用户15。
为了建立会话,会话系统36可能要求该用户15提供标识。例如,会话系统36可以将登录页面提供给允许用户15提供用户名和密码的客户端14。一旦输入,登录页面就可以允许用户15使用“登录”动作区域等请求那个客户端14将登录数据提交给会话系统36。一旦从客户端14接收到登录数据,会话系统36就可以通过例如将所接收的登录数据与存储在存储单元28中的一个或多个用户名/密码条目进行比较来验证登录数据。当登录数据有效(例如,匹配存储在存储单元28中的条目)时,会话系统36可以完成与客户端14建立会话。例如,一旦建立了会话,会话系统36就可以提供会话标识符给客户端14和/或提供向用户15显示的初始页面32。
网络应用30可以具有同时与若干客户端14建立的多个会话。由于客户端14与服务器12之间的通信可能意外终止,因此网络应用30不能总是接收到客户端14希望终止其会话的通知。此外,会话还可能在不活动的特定时间段和/或由于安全性原因的特定时间段之后终止,从而释放临时保留的资源等。这样,网络应用30可能由于不活动时间限制等而周期性地使会话期满。
例如,网络应用30可能要求每个会话在自前一活动起三十分钟内具有某活动(例如与网络应用30的通信),以便保持有效。假定在该会话期间将数据页面40提供给客户端14,则用户15将有大约三十分钟来创建电子消息并将它提交给数据系统38。或者,用户15可以通过在数据页面40打开时执行其他动作(例如,使用显示在不同窗口中的不同页面检查新消息)来保持会话有效。在任何情况下,当在有效会话期间内提交了应用数据(例如电子消息)时,数据系统38将处理所提交的应用数据。否则,网络应用30将拒绝应用数据。
如前所述,当应用数据被网络应用30拒绝时,应用数据将需要由用户15重新输入。为了防止重新输入应用数据,数据页面40可以确保在将应用数据提交给网络应用30之前会话有效。在一个实施例中,数据页面40通过确定会话是否可能已期满来确保会话有效。如果会话可能已期满,则数据页面40可以确定会话是否保持有效,并且如果否,则建立新会话。
在一个实施例中,数据页面40可以包括指定当数据页面40发送到客户端14以作显示时会话的剩余会话时间的变量。例如,剩余会话时间可以包括会话超时值,该会话超时值表示客户端14必须与网络应用30通信以便保持会话活动的时间量。此外,当显示系统34显示数据页面40时,可以获得显示时间。例如,数据页面40可以包括从客户端14获得当前时间的指令。随后,用户15可以输入电子消息的数据,并且通过点击发送按钮46来请求提交电子消息。一旦接收到提交请求,则数据页面40可以确定提交请求的提交时间。例如,数据页面可以再次从客户端14获得当前时间。然后,数据页面40可以计算提交时间与显示时间之差,并且将该差值与剩余会话时间进行比较,以确定会话是否可能不再有效。
如果该比较表示剩余会话时间可能已期满,则数据页面40可以向网络应用30查询会话状态。例如,当提交时间与显示时间之差大于或等于剩余会话时间和/或小于剩余会话时间一阈值时间量(例如,5秒)时,剩余会话时间可能已期满。在任何情况下,如果剩余会话时间可能已期满,则数据页面40可以通过发送请求到网络应用30来向网络应用30查询。该请求可以包括任何命令,对其的响应将表明会话状态。在一个实施例中,该请求包括不影响数据页面40的显示的背景请求。响应于该请求,如果会话状态保持有效,则网络应用30可以以肯定答复来响应。
当会话状态无效时,网络应用30可以以否定答复、错误响应等来响应。在一个实施例中,网络应用30可以以登录页面响应,从而允许用户15建立新会话。在这种情况下,数据页面40可以确定接收到登录页面,并且识别出会话无效。例如,登录页面可以包括将其识别为登录页面的属性。这样,数据页面40可以通过分析该属性来确定接收到登录页面。
在任何情况下,当数据页面40确定会话状态无效时,数据页面40可以向用户15通知,并且允许用户15建立新会话以提交应用数据。当用户15希望建立新会话时,数据页面40可以与网络应用30建立新会话。例如,如上所述,网络应用30可以以登录页面响应该请求。在这种情况下,显示系统34可以显示登录页面,以允许用户15输入登录数据并且建立新会话。图3示出由显示系统34在第二窗口54中显示的说明性登录页面52。通过在第二窗口54中显示登录页面52,保持在数据页面40上输入的应用数据。这样,获得登录数据并且将登录数据提交给会话系统36不导致在数据页面40上输入的应用数据的丢失。如此,可以建立新会话而不丢失应用数据。
在任何情况下,一旦数据页面40确保了会话有效,则可以将应用数据提交给网络应用30。由于会话有效,应用数据应由数据系统38接收,并作相应处理。例如,使用数据页面40创建的电子消息将转发到在收件人文本框42(图2)中指定的每一个收件人。这样,大大降低了应用数据将由于无效会话而丢失的风险。
图4示出可以由图1所示的各个系统执行的用于获得应用数据的说明性方法步骤。在步骤S1,客户端14与网络应用30建立会话。在步骤S2,使用一个或多个页面32获得应用数据,并且在步骤S3,从用户15接收提交请求。在步骤S4,页面32确保存在与网络应用30的有效会话,并且在步骤S5,当会话有效时,将应用数据提交给网络应用30。
如上所述,在没有来自客户端14的任何通信的情况下,过去特定时间之后,会话可能变得无效。图5示出在这种情况下用于在步骤S4(图4)确保会话有效的说明性方法步骤。在步骤S4A,页面32获得页面32的显示时间、显示时间这一时刻或周围时刻的剩余会话时间、以及接收到提交请求时的提交时间。在步骤S4B,页面32使用前面获得的各个时间来确定会话是否可能已期满。如果会话时间尚未期满,则会话应有效。然而,如果会话时间可能已期满,则在步骤S4C,页面32可以向网络应用30查询以确定会话的状态。根据查询结果,在步骤S4D,页面32可以确定会话是否有效。如果否,则在步骤S4E,页面32可以与网络应用30建立新会话。
虽然本发明是参照包括用于确保会话有效的指令的数据页面40(图2)和/或页面32来讨论的,但是应该理解,显示系统34等能够确保会话有效。例如,显示系统34可以确定显示数据页面40的时间,并且确定当接收到提交请求时会话是否有效。在这种情况下,数据页面40可以包括请求显示系统34确定会话是否有效的指令。或者,网络应用30可以发送表示会话已期满的消息到显示系统34。在这种情况下,如果接收到该消息,则在接收到提交请求的情况下显示系统34可以建立新会话。如果未接收到该消息,则不存在客户端14和服务器12之间的任何通信,并且应用数据将很有可能需要重新输入。此外,在处理提交请求之前,显示系统34和/或页面32可以总是向网络应用30查询,以确定会话是否有效。
应该理解,本发明可以以硬件、软件、或硬件和软件的组合来实现。任何类型的计算机/服务器系统-或者适于执行在此所述的方法的其他设备-是适合的。硬件和软件的典型组合可以是采用计算机程序的通用计算机系统,其中,当装载并执行计算机程序时,该计算机程序执行在此所述的各方法。或者,可以利用包含用于执行本发明的功能任务中的一项或多项的专用硬件的专用计算机(例如有限状态机)。本发明也可以嵌入在计算机程序产品中,该计算机产品包括能够实现在此所述的各方法并且-当装载在计算机系统中时-能够执行这些方法的所有各个特征。计算机程序、软件程序、程序或软件在本上下文中是指采用任何语言、代码和表示法的一组指令的任何表达,其中这组指令旨在使具有信息处理能力的系统直接地或者在以下操作(a)转换成另一种语言、代码或表示法;和/或(b)以不同材料形式再现中的任一项或两者之后执行特定功能。
前面对本发明各方面的描述是为了说明和描述的目的而给出的。它并不旨在是穷尽无遗漏的,或者将本发明限定于所公开的准确形式,并且显然,很多修改和变化是可能的。对于本领域技术人员而言显而易见的这些修改和变化旨在包括在由所附权利要求限定的本发明范围内。
权利要求
1.一种获得应用数据的方法,该方法包括在会话期间从网络应用获得数据页面;使用数据页面接收应用数据;确保会话有效;以及当会话有效时将应用数据提交给网络应用。
2.如权利要求1所述的方法,还包括与网络应用建立会话。
3.如权利要求1所述的方法,还包括接收应用数据的提交请求。
4.如权利要求1所述的方法,其中确保步骤包括确定会话是否可能已期满;以及如果会话可能已期满,则向网络应用查询会话状态。
5.如权利要求4所述的方法,其中查询步骤包括将请求发送到网络应用;以及确定是否响应于该请求而从网络应用接收到登录页面。
6.如权利要求4所述的方法,其中确定步骤包括获得第一时间这一时刻的剩余会话时间;确定提交请求的提交时间;以及将剩余会话时间与提交时间和第一时间之差进行比较。
7.如权利要求6所述的方法,其中第一时间包括数据页面的显示时间。
8.如权利要求1所述的方法,其中确保步骤包括如果会话无效,则与网络应用建立另一个会话。
9.如权利要求8所述的方法,其中在第一窗口中显示数据页面,并且其中建立步骤包括在第二窗口中显示登录页面。
10.一种为网络应用获得应用数据的方法,该方法包括与客户端建立会话;将数据页面提供给客户端,其中数据页面确保在提交应用数据之前会话有效;以及从客户端接收应用数据。
11.如权利要求10所述的方法,其中建立步骤包括将登录页面提供给客户端;从客户端接收登录数据;以及验证登录数据。
12.如权利要求10所述的方法,还包括从客户端接收无效会话的请求;以及作为响应,将登录页面提供给客户端。
13.如权利要求10所述的方法,其中数据页面包括剩余会话时间。
14.如权利要求13所述的方法,其中数据页面使用下列方法步骤确保会话有效确定数据页面的显示时间;确定提交请求的提交时间;以及将剩余会话时间与提交时间和第一时间之差进行比较。
15.一种用于为网络应用获得应用数据的系统,该系统包括会话系统,用于与客户端建立会话;以及数据系统,用于将数据页面提供给客户端并从客户端接收应用数据;其中数据页面确保在提交应用数据之前会话有效。
16.如权利要求15所述的系统,还包括用于向用户显示页面的显示系统。
17.如权利要求15所述的系统,其中会话系统响应于无效会话的请求将登录页面提供给客户端。
18.一种存储在可记录介质上的程序产品,用于获得应用数据,当执行该程序产品时,其包括用于使用数据页面接收应用数据的程序代码;用于确保与网络应用的会话有效的程序代码;以及用于当会话有效时将应用数据提交给网络应用的程序代码。
19.如权利要求18所述的程序产品,还包括用于接收应用数据的提交请求的程序代码。
20.如权利要求18所述的程序产品,其中用于确保的程序代码包括用于确定数据页面的显示时间的程序代码;用于确定在显示时间这一时刻的剩余会话时间的程序代码;用于确定提交请求的提交时间的程序代码;以及用于将剩余会话时间与提交时间和第一时间之差进行比较的程序代码。
21.如权利要求20所述的程序产品,其中用于确保的程序代码还包括用于如果剩余会话时间可能已期满,则将请求发送到网络应用的程序代码;以及用于确定是否响应于该请求从网络应用接收登录页面的程序代码。
22.如权利要求21所述的程序产品,其中用于确保的程序代码还包括用于在新窗口中显示登录页面的程序代码。
全文摘要
一种用于为网络应用获得应用数据的改进式解决方案。在与网络应用的会话期间,使用向用户显示的数据页面接收应用数据。在将应用数据提交给网络应用之前,首先确保会话有效。具体地说,如果会话保持有效,则提交应用数据。但是,如果会话不再有效,则在提交应用数据之前建立新会话。
文档编号H04L12/00GK1620011SQ20041006867
公开日2005年5月25日 申请日期2004年9月3日 优先权日2003年11月19日
发明者拉马杰扬·高帕尔拉杰 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1