CN1720703A - 实现有状态网络应用的会话返回 - Google Patents
实现有状态网络应用的会话返回 Download PDFInfo
- Publication number
- CN1720703A CN1720703A CNA2003801048417A CN200380104841A CN1720703A CN 1720703 A CN1720703 A CN 1720703A CN A2003801048417 A CNA2003801048417 A CN A2003801048417A CN 200380104841 A CN200380104841 A CN 200380104841A CN 1720703 A CN1720703 A CN 1720703A
- Authority
- CN
- China
- Prior art keywords
- esid
- session
- web application
- terminated
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于提供允许多会话能力和会话返回启用有状态web应用的机理,其包括提供一个具有″外部会话标识符″(ESID)的被请求入口页的开始URL。ESID是一个在两种情况的应用之间(关于相同页)不同的参数,并在服务器中产生不同/独立的会话。当用户返回相同页时,ESID用单独的应用请求被再次传送,并且服务器因此能够逻辑上重新连接恰当的会话并允许用户继续。在用户先前已经留下来到另一个应用并希望返回之后,或甚至当用户关闭浏览器然后之后重新开始应用时,ESID可以被用来返回给应用。
Description
技术领域
以下说明涉及服务器会话管理和在有状态服务器会话中从浏览器向后导航。
背景技术
通过入口的机理,不同的网上内容可以被组合到一个或多个入口页中,然后被传送到客户端并显示在客户端运行的浏览器应用程序中。入口页一般从服务器根据超文本传输协议(HTTP)来传送。网络应用是一个存储在任何服务器上的单独的可调用单元,并一般经由统一资源定位符(URL)地址来调用。在入口级上,可调用单元及其内容有时被称为portlet(也称作pagelets、iViews、webparts等等)。因此,应用程序表现为一个portlet,其根据页面布局方案被组合到一个或多个网页上。页面是入口中的导航单元,即用户总是导航向一个页面,然后在那个页面上调用所有的portlet。
为简单起见,假设portlet被隔离,即内容运行在被称为IFRAME的页面结构的内部。用户可以用几种方法围绕portlet导航,比如使用鼠标装置和/或指针在portlet内部″点击″。对于内部应用程序导航(例如导航到″下一屏″),用户被认为是在不影响围绕portlet或应用程序的页面级的应用程序的″内部″。当用户在入口级上导航时,用户还选择一个新的入口页甚至与目标相同的入口页。当其发生时,旧的入口页在浏览器中被转移到包括应用程序的portlet。因此,当他或她离开包括一个应用程序的入口页时,该用户″离开了应用程序″。
网络应用中的状态
基于网络的应用程序包括从服务器传送到客户端的页面序列。当用户经由页面序列导航时,服务器保持″状态″,即保持用户在先前显示的页面上输入的相关数据、导航历史、和应用程序响应用户所需的数据,等等。状态一般由服务器保留在会话中,并由服务器产生的会话标识符(″会话ID″)来识别每个会话。会话ID可以被保留在浏览器″cookie″(由服务器发送并被存储在客户端上以备将来之用的信息)或保留在包含在服务器响应的URL中。所有非平凡的应用程序都需要服务器状态能够快速响应用户请求。因此,网上大多数业务应用软件都是″有状态的″。
通常,每个用户和/或每个浏览器进程只能有一个会话。当用户可以同时运行相同应用程序的两个或多个情况时,网络应用是″多会话允许″,在极端情况下它们在相同浏览器窗口的两个IFRAME中是并行的。多会话应用程序从没有会话ID的″开始URL″开始,然后服务器创建一个会话并通过把会话ID放入URL(URL重写)或cookie中来保持会话关联。真正实现多会话的应用程序不能将cookie用于会话ID,这是因为当cookie共存于相同的浏览器窗口(进程)之中时它们将相互覆盖,并且服务器没有办法区分来自相同浏览器中两个IFRAME的两个并行请求。从而,多会话能力需要在URL中对会话ID进行编码。这使得将在下面进一步描述的″会话返回″复杂化。
在多会话与页面″向后″导航的结合中出现了一个问题。为了允许多会话的能力,会话标识符必须在URL中被编码,这意味着入口页包括开始URL,然后服务器以新的会话响应于每个应用程序的情况。但是当用户″回到″相同的页面时,相同的开始URL被解除,并且服务器还是无法区分页面上两个嵌入式帧中的两个情况。
基本会话终止
2000年7月11日申请的序号为09/614,167的相关US申请中描述了一个用于服务器会话终止的方法,其标题为″Method,Apparatus and System forNetwork-Based Peer-to-Peer Business Transactions″(用于基于网络的对等商务交易的方法、设备和系统),该申请在此作为参考被结合。该系统方案是调用网络应用的一个入口。
用户进入应用程序并从基于服务器的应用程序请求页面/屏幕。应用程序需要诸如″会话状态″之类的资源来执行所请求的对话或在线事务,还有可能在一部分事务中需要获取锁定或其它的关键资源。因为HTTP是无连接的,所以当用户在事务中途离开应用程序时服务器在技术上不会注意到,这种情况可能由于导航到另一个入口页乃至简单地关闭浏览器而发生。当用户没有明确地终止应用程序时,比如当用户从会话退出时,服务器的会话状态(并甚至可能是锁定)被保留在服务器上,从而在超时前一直浪费资源。因此,入口必须在用户离开应用程序时通知服务器和/或应用程序,以便服务器可以释放与应用程序相关的资源。
基本会话终止的工作如下所述:入口提供一个对话管理程序(SM),其部分地隐藏在入口/浏览器中运行。当在入口页内部启动应用程序时,作为它在超文本标记语言中的响应的一部分,它向SM发送一个″会话终止URL″。当当前页面被转移并且SM已经存储当前页面的会话终止URL时,会话终止URL被送回服务器以便服务器然后可以释放会话及其所有的关联资源。这就是服务器怎样得到应用程序被离开,并且应该释放它的资源的″通知″。
实现会话返回的需要
在用户离开应用程序之后,即当用户通过导航或通过浏览器捷径等等跳转到另一个页面时,上述的″基本会话终止″就马上终止会话。然而,用户一般都希望能够探索第二个应用程序或页面的不同页面,然后返回到先前访问的页面/应用程序并继续在那里工作。根本上,用户需要往往被暴露在入口中的有状态的应用程序大多根据浏览器中的″返回″功能来如同静态内容一样运转。
问题在于不知道用户是否将回到第一页面/应用程序,这意味着在用户离开时需要立即通知服务器,然后在那个时候释放其会话状态。因此涉及一个修改基本会话终止的概念以允许″会话返回″的问题,即用户返回之前访问的会话的状态能够和用户离开它时相同。
从而,不允许应用程序只是简单地″等待″返回或之后继续,而必须实际上在用户离开时立即终止。为了能够返回,应用程序需要首先存储返回所必需的任何状态部分。存储全部内部状态或其它形式的状态是不希望的,比如存储所有的用户接口字段。此外,不能期望应用程序在任何给定时间存储其整个当前状态,因此可以充分地保存任何工作中间状态。从而,会话状态的持续不变部分将被存储而过渡状态将被丢弃。被持续存储的状态被称作″会话返回状态″,它通常包括正在被显示/编辑的对象ID,以及可能的一些UI状态,比如标签条中活动的标签、树形的开放关闭状态、等等。用这些从会话返回状态再装载的参数来重新开始应用程序将给予用户所期望的″返回″或会话返回感受,并给予应用程序足够的数据以用该数据自己重新开始。
从而,假定应用程序能够在它接收终止请求时存储其会话返回状态并能够重新开始,这样它将再装载之前的会话返回状态来实质上显示与用户离开时相同的输出。然而,这意味着基本会话终止概念的终止请求的解释已经从″完全终止″变为″存储会话返回状态然后终止″。这个新的解释可称作″会话最小化″。应用程序存储在会话返回状态中的多少是可变的并是在该应用程序的范围内。在什么都没有保留的情况中,会话最小化与常规的完全终止相同,其中应用程序每次都从头重新开始。
当应用程序已经被重新开始,并且已经加载了″会话返回状态″时,一个问题出现在应用程序的多个情况同时活动的时候。服务器在重新开始应用程序时将不知道该加载哪个″会话返回状态″。无论是在单独的浏览器窗口还是在同一个浏览器窗口中开始应用程序(即入口页中的两个嵌入式帧之内、等等),这个问题都同样存在。
发明内容
本文档公开了一个方法和系统,其使得用户能够在入口环境中用相干或″有状态″方法在应用程序之间导航。如果没有这个特色,网络应用的用户将在它们导航到另一个应用程序时丢失他们留下的应用程序状态。在一个实施例中,一个计算系统被配置用于″会话返回实现″,即允许有状态网络应用适度地支持″浏览器返回″功能或一般来说″用任何形式返回″的一个技术。这是在入口中提供有状态网络应用以提高整个用户体验的一个重要特色。
代替服务器产生会话ID,客户端调用程序,一般是入口或经由浏览器,向服务器传送一个给出的会话ID,调用程序希望用这个会话ID在起动时间引用会话并其后用于终止和重新开始。每次应用程序开始的时候,这个被称作外部会话ID(ESID)的给定会话ID就被传送,并优选地用作应用程序开始URL中的URL参数。
如果ESID不引用返回状态为之保留的活动或最小化的会话,则新的会话被创建并与该ESID相关联。在会话/应用程序的过程中ESID是不相干的,因为服务器除了″新的″ESID之外仍然可以保留其″旧的″在URL或cookie中编码的会话ID。然而当用户离开页面/应用程序时,客户端SM通过向包括ESID的服务器发送终止URL来通知服务器这个事实。然后,服务器最小化其并将其存储在ESID密匙之下。当应用程序开始URL用ESID被发送到服务器,并且服务器发现它具有被存储用于ESID的最小化会话(即会话返回状态)时,应用程序被开始并被给予作为最初参数(″init parameters″)的会话返回状态。
一种用于实现有状态网络应用的会话返回的方法包括从与被终止的网络应用会话有关的客户端接收终止URL,终止URL包括一个识别被终止的网络应用会话的ESID。该方法还包括存储与ESID相关的被终止网络应用会话的相关状态,和从客户端接收一个请求以用于新的网络应用会话。该方法还包括确定请求是否包括一个对应于被终止网络应用会话的ESID的标识符。如果该标识符对应于被终止网络应用会话的ESID,则方法包括根据与被终止网络应用会话相关的状态来服务新的网络应用会话。
如果一个应用程序用相同的ESID被不断地调用,则当用户离开时该应用程序可以被终止,而当它再次被开始时,应用程序实质上从其被终止时的相同点继续。为了允许多个情况、会话终止、以及相同应用程序的会话返回,ESID必须由客户端而不是服务器来重复地产生和发送。
从而,ESID被用来在应用程序启动时引用一个会话,并在重新开始应用程序时用于会话返回。这提供了一个有状态的应用程序,并允许服务器最小化应用程序的状态,或换言之只保留″会话返回″状态,但是仍然充分地终止了该应用程序。此外,ESID的使用允许应用程序将用有意义的方法来″继续″。
本公开技术的好处在于,只要应用程序被终止,即用户一离开,服务器就释放所有与应用程序相关的资源。然而,在此描述的技术允许用户返回到应用程序并用一个方法继续,因此用户不用每次都重新开始访问应用程序,并允许同时区别应用程序的多个情况。使用ESID的技术实现了全部这些特色。
用下面的说明书和附图来阐明一个或多个详细的实施例。其它的特色、目的、以及优点将通过说明书、附图、以及权利要求而变得明显。
附图说明
这些及其它方面现在将参考以下附图被详细描述。
图1是一个网络应用会话的框图。
图2是一个实现有状态网络应用的会话返回方法的流程图。
不同附图中的相同的附图标记指的是相同的元件。
具体实施方式
在此描述的系统和技术涉及实现一个浏览器,它可以向后导航以用与在之前会话中先前访问时的相同状态到达先前访问的应用程序页面。
为了允许多会话能力,区分页面上两个IFRAME中的两个情况的机理包括提供一个具有″外部会话标识符″(ESID)的入口页的开始URL。ESID是一个在两种应用情况之间(关于相同的页面)不同的参数,并在服务器中产生不同/独立的会话。从而,当用户返回相同的页面时,ESID用单独的应用程序请求被再次传送,并且服务器因此能够逻辑上重新连接恰当的会话并允许用户继续。
从而,代替让服务器任意地创建一个会话ID,入口或调用程序在服务器上开始(即第一次调用的时候)应用程序时传送一个ESID。比如在这样的情况中,用户离开到另一个应用程序然后回来之后,甚至当用户关闭浏览器并之后重新开始应用程序时,这个ESID因此能够被用来回到应用程序。ESID允许将进一步详细描述的″会话返回″。
注意,ESID与会话管理(见下文)和入口无关。ESID可以在任何开始应用程序的URL上使用。当服务器简单地让会话或应用程序等候超时(而不是终止它们)时,ESID可以在应用程序被再次开始(开始URL)时被使用。因此,一个悬而未决的会话/应用程序情况被选择,并允许用户继续那个会话。
ESID可以是用作选择会话的密匙的随机字符串,例如″page3/app1″和″page3/app2″。ESID还可以是不像之前例子一样产生来表示特殊页面环境(context)的明确的固定值,或意指应用程序在被离开时被充分终止的″没有值″,并总是当用户再进入时从头开始。这是可以按照需要被微调的配置问题。此外,诸如″窗口ID″之类的元件可以被附加到ESID,因此可以在运行独立的应用程序情况的两个浏览器窗口中具有两个页面情况。
ESID的使用还可以扩展基本会话终止的机理。代替于要求服务器向会话管理程序发送一个会话终止URL,客户端/入口可以发送一个传送ESID的标准终止通知。这具有会话管理现在还支持任何MIME类型的额外好处。它需要服务器明白基于ESID的终止通知,并且明白所有来到服务器(对任何用户)的ESID都是不同的。
图1示出一个网络应用会话100的框图,包括显示应用程序104的一个或多个情况的入口页102,即一个或多个网页及其内容,从服务器108平台被服务,即由一个应用服务器等等来服务。应用程序104的每个情况最终被显示在客户端110上运行的浏览器中。网络应用会话100的应用程序104还可以与其它网上内容同时被显示,比如来自本地客户应用程序或来自另一个应用服务器的内容。入口页102包括会话管理程序(SM)106,该会话管理程序基于从应用程序104的每个情况接收的会话信息来管理每个应用程序会话100。SM106可以是页面级的脚本代码。在一个实施例中,SM106根据用户导航以及经由应用程序104的不同页面的活动来识别一个会话。
为了使用户访问先前查看的页面,甚至当用户离开应用程序和驱使会话管理程序向应用服务器118发送一个终止通知时,服务器平台108保留会话的一部分″状态″,即与应用程序的情况有关的信息。在一个实施例中,服务器平台108包括会话存储器109,用来存储用户已经离开的应用程序的会话状态。该状态包括情况标识符,还包括会话的每个页面的页面标识符。情况标识符可以被存储用于在会话中访问的每个页面,从而提供具有多个情况标识符的一个存储器。会话存储器109可以是在计算机的存储器中或在数据库中。
入口服务器112包括用来生成入口页102的页面生成器122。入口服务器112还包括URL生成器120。当用户在会话内以及在应用程序外导航的时候,入口服务器112的URL生成器120提供ESID,即情况标识符。ESID还包括在会话中访问的每个页面的页面标识符。因此,当用户想要再访问一个会话,并想要该会话的页面状态像离开它时一样的时候,入口页102将向服务器平台108发送一个用于被请求页面的开始URL,以及一个与所请求的页面相关的ESID。
使用这个ESID,查看状态在用户离开页面时被保存,并且在用户再访问时被再次找到。ESID可以一般被格式化来包括页面标识符(页面1D)。既然用户可以经由入口页102或在浏览器/客户端110上使用多于一个的窗口,那么ESID还可以包括一个窗口标识符(窗口ID)。另外,产生会话的那个ESID可以被指定,其中,相同的页面由许多入口页102共享。因此,相同的ESID可以从不同位置并在多个路径上来指定。
ESID由页面特性来指定,并可以经由URL被传送到服务器平台108。当所请求的应用程序不包括一个ESID时,该应用程序当其每次被请求时都简单地最新开始。当服务器平台108接收ESID和开始URL时,映射模块116把ESID映射到特殊会话,即它检查对应的ESID是否已经被存储在会话存储器109中。如果该ESID不存在,则服务器平台108创建所请求的应用程序104的一个新的会话情况。如果该ESID存在,则服务器平台108开始应用程序104并把在保留状态中的该ESID传送到入口页102。
在一个实施例中,ESID被保留在客户端SM106中。入口服务器112产生入口页102,包括类属的SM106以及用于(一个或多个)应用程序104的(一个或多个)FRAME。既然ESID还由入口服务器112产生并被添加到FRAME的开始URL,那么对应用程序的请求来自应用程序104每个情况的内容FRAME。入口服务器112知道该ESID,并可以把嵌入脚本产生到入口页102中以把ESID输入SM106。因为不需要页面ID并且它刚好携带了包括ESID的SM106,所以页面102自身不知道ESID。
在另一个实施例中,ESID在开始URL上被传送,但是不是保留在SM106中而是只保留在入口服务器112中。这时候,入口页102获得一个唯一的ID,在这种情况下入口服务器112存储产生用于这个页面的ESID。既然用户可以同时具有多个从入口内容开始的浏览器窗口,那么需要页面ID。当用户离开该页面时,SM106通知入口服务器112,传送页面ID。然后,入口服务器112用ESID产生一组终止请求,并且向客户端110发送这个″终止页面″,它们从客户端110被发射到合适的服务器平台108。
图2是一个实现有状态网络应用的会话返回方法200的流程图。在202,客户端调用程序(一般为入口或经由浏览器)向服务器传送一个调用程序期望在起动时间引用会话并在其后例如终止并重新开始的给定的BSD。每次应用程序被开始时ESID就被传送,最好是作为应用程序的开始URL中的URL参数,然而向服务器传送ESID的其它方法也可以被使用。
服务器在204接收ESID。在每个会话/应用程序的过程中,ESID是无关系的。实际上,除了″新的″ESID之外,服务器仍然可以在URL或cookie中保留其″旧的″编码会话ID。然而当用户离开页面/应用程序时,客户端SM向服务器发送一个具有ESID的终止URL,然后服务器在206最小化其状态并将其存储在ESID密匙之下。只要终止了应用程序,即一旦用户离开,服务器就释放所有与应用程序相关的资源。
在210,当具有ESID的应用程序开始URL在208被发送给服务器时,通过在具有一个或多个先前接收的被存储的ESID请求中映射ESID,服务器确定它是否具有为这个ESID存储的最小化会话(即会话返回状态)。在212,如果请求ESID不引用返回状态为之保留的活动或最小化的会话,则新的会话被创建并与请求ESID相关联。在214,如果服务器具有与请求ESID相关的会话返回状态,则应用程序被开始并被给予作为最初参数(″init parameters″)的会话返回状态。会话在216继续。
因此,如果不断地使用相同的ESID来调用应用程序,则应用程序可以在用户离开时被立即终止,但是可以在它被再次开始时实质上在相同点继续。对于多个情况、会话终止、和相同应用程序的会话返回,ESID必须由客户端来产生和重复发送。从而,ESID在应用程序启动时被用来引用会话,和在再开始应用程序时用于会话返回。
在一个实施例中,ESID是一个没有内部结构的密钥串。从而,用户可以简单地用不同的ESID调用应用程序X三次,例如通过http://server/X?ESID=a类型的URL。本公开技术最好是使用客户端SM的基本会话管理功能,每次用户离开应用程序或应用程序页面时,基本会话管理功能就向服务器发送终止通知。
在一个例子中,入口采用基本会话管理并产生ESID。入口包括多个具有名称的页面,比如″/roles/salesrep/ovw_page4″等等。现在,把应用程序″orderdetail″的两个情况考虑为相同页面″od1″和″od2″的portlet。对服务器会话ID使用cookie,这两个页面都将共享相同的会话ID并从而引用相同的服务器会话。从而,用户在od1和od2中不能独立地浏览,这是因为一个页面将总是显示其它页面的数据。如果服务器/应用程序使用URL编码的会话ID,则od1和od2可以是分离的,但是它们必须在用户离开时被终止。当用户返回时,因为服务器不知道请求来自何处,则它们将总是从头开始,并且开始URL总是开始新的会话。现在,使用诸如″/roles/salesrep/ovw_page4/od1″和″roles/sales rep/ovw_page4/od2″之类的ESID,存在两个清楚地定义的服务器会话,它们对应于它们相应页面上的这些应用程序的情况。当用户返回到一个或这两个页面的时候,两个会话都可以在它们停止时被继续。
ESID的值还具有另一个含意:当在两个页面上提供相同的应用程序时,并当将″页面路径″用作上述的可仿效ESID显示时,两个独立的会话被提供。这样,一个应用程序可以在入口导航中在两个位置被独立地使用。
ESID还处理另一个标准的会话ID缺乏能力的情况。在另一个例子中,当用户用″ctrl-N″功能打开一个新的浏览器窗口即新开一个浏览器窗口时,但是使用了诸如相同的共享cookie之类的相同进程,出现与两个应用程序并行类似的情况。无论是应用程序引用相同的服务器会话并从而混淆地相互影响,还是开始新的会话,用户都决不会返回其中之一。当窗口ID被附加到ESID时,新的窗口将自动引用新的会话和/或应用程序情况。从而,向相同的应用程序开启新的并行和独立的工作空间现在可以被完成。
上述ESID机理的使用需要一个提供作为先决条件的基本会话终止的环境(context)。然而,另外在一个替代方案中,ESID可以由管理员手动地附加到应用程序开始URL。在入口环境中,ESID值可以被动态地产生,包括作为应用程序路径的静态部分(例如″/roles/salesrep/ovw_page4/od1″和诸如″<窗口ID>″之类的动态部分。最好是,ESID用结合了不同的动态值的URL模板来产生。
根据一个方法,即使当用户离开应用程序和会话管理程序发送终止通知的时候,服务器也保留一些″状态″。这些状态可以被保留为″只读/浏览状态″(例如已经选择了哪个对象、树状态、等等)。这些状态一般都很小并且可以保留较长时间。当用户再访问应用程序的相同页面时,服务器再装载″浏览状态″并用与用户离开时相同的状态来显示相同的页面。
为了实现会话返回特色以及SRM特色,代替刚接收的CLOSE命令,SRM概念及其服务器解释可以接收下列更详细的不同通知:
LEAVE(离开):指出用户离开了应用程序,例如经由入口由导航离开。这与之前的CLOSE命令相同。然而在这种情况下,应用程序应该″最小化″(即最小化其资源使用)而不是终止。例如通过写入对话外状态、到只读模式、释放所有锁定和存储器、等等,应用程序可以最小化。应用程序可以只须存储足够的信息来″恢复″并回到相同的状态。应用程序可以记录用户在应用程序中的活动,例如经由字段导航和输入数据,然后串行化数据。这可能只需要存储器的20-30k字节。用户可能再也不回来,也可能不会再有另外的通知(直到LOGOFF)。结果状态将能够存在很长一段时间(超时),因为最小限度的资源正在被使用。
RESTORE(恢复):在具有现有ESID的页面返回之后被接收。应用程序应该还原″最小化″操作,即读取返回数据并恢复到之前的状态。现在,应用程序再次处于″昂贵的″(资源-方式)状态。
LOGOFF(注销):在用户实际上离开入口的时候被发送。除了LEAVE之外这也是一个可选通知-应用程序现在可以立即终止而不是最小化。
注意,LEAVE、RESTORE和LOGOFF的通知是应用程序从服务器获得的通知。SRM只发送CLOSE(现在被映射到LEAVE),和LOGOFF。服务器识别″找到存在ESID″的情况(会话返回),然后向应用程序发送RESTORE通知。
至此,我们为每个ESID和应用程序(每个用户)收集一个′会话返回状态′。自然出现一个问题,即为了从头开始新的情况,在用户完全离开应用程序入口的时候被发送给(一个或多个)应用程序的辅助LOGOFF事件可以怎样来定义。当服务器接收具有ESID的LOGOFF通知时,它将丢弃用于ESID的会话返回状态。
在此描述的系统和技术的不同执行过程可以在数字电子电路、集成电路、特别在被设计的专用集成电路(专用集成电路)、计算机硬件、固件、软件、和/或其结合中被实现。这些不同的执行过程可以包括一个或多个计算机程序中的执行过程,这些程序在至少包括一个可编程处理器的可编程系统上是可执行的和/或可翻译的,可编程系统可能是特殊或通用的,被连接来从存储系统、至少一个输入装置、和至少一个输出装置接收和向那里发射数据和指令。
这些计算机程序(亦称程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以在高级程序上的和/或面向对象的程序设计语言、和/或在汇编/机器语言中被执行。在此使用的术语″机器可读媒介″指的是用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或装置(例如磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收作为机器可读信号的机器指令。术语″机器可读信号″指的是用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的相互作用,在此描述的系统和技术可以在计算机上被执行,计算机具有用于向用户显示信息的显示装置(例如CRT(阴极射线管)或LCD(液晶显示器)监控器)、以及用户可以用来向计算机提供输入的键盘和定点设备(例如鼠标或跟踪球)。其它类型的装置也可以被用来提供与用户相互作用;例如,提供给用户的反馈可以是任何形式的传感反馈(例如视觉反馈、听觉反馈、或触觉反馈);并且来自用户的输入可以用包括声学、语音或触觉输入的任何形式来接收。
在此描述的系统和技术可以在计算系统中被执行,计算系统包括后端部分(例如数据服务器)、或包括中间件部分(例如应用服务器)、或包括前端部分(例如具有图形用户界面或浏览器的客户端计算机,用户可以经由它们与在此描述的系统和技术的执行过程相互作用),或这类后端、中间件、或前端部分的任意结合。系统的各个部分可以通过任何形式或数字数据通信的媒介(例如通信网络)互连。通信网络的例子包括局域网(″LAN″)、广域网(″WAN″)、和互联网。
计算系统可以包括客户机和服务器。客户机和服务器通常彼此远离并一般经由通信网络来交互作用。客户机和服务器的关系根据在相应计算机上运行并彼此具有客户机和服务器关系的计算机程序而发生。
尽管上面已经详细描述了几个实施例,然而其它的修改也是可能的。本公开讨论的部分经由入口来操作,但是任意数量的接入系统和方法可以被用来管理器网络应用会话。图2中描述的逻辑流程不要求用所示的特殊顺序、或连续顺序来实现所希望的结果。其它实施例可以在本申请的权利要求的范围内。
Claims (20)
1.一种用于实现有状态网络应用的会话返回的方法,包括:
从与被终止的网络应用会话相关的客户端接收终止统一资源定位符(URL),终止URL包括用于识别被终止的网络应用会话的外部会话标识符(ESID);
存储与ESID相关的被终止的网络应用会话相关的状态;
从客户端接收用于新的网络应用会话的请求;
确定该请求是否包括对应于被终止的网络应用会话的ESID的标识符;和
如果该标识符对应于被终止网络应用会话的ESID,则根据与被终止网络应用会话相关的状态来服务新的网络应用会话。
2.权利要求1的方法,其中,存储与被终止的网络应用相关的状态还包括存储识别被终止网络应用的ESID。
3.权利要求1的方法,还包括从客户端所使用的入口接收ESID。
4.权利要求1的方法,还包括响应于服务新的网络应用接收一个ESID。
5.权利要求1的方法,还包括每次新的网络应用会话开始时接收一个ESID。
6.权利要求1的方法,其中,请求包括一个开始URL。
7.权利要求1的方法,还包括如果标识符不对应于被终止网络应用会话的ESID,则用启动模式来服务新的网络应用会话。
8.权利要求1的方法,还包括最小化与被终止网络应用相关的状态。
9.权利要求1的方法,还包括把ESID存储在一个表中。
10.权利要求9的方法,其中,确定请求是否包括对应于被终止网络应用会话的ESID的标识符还包括把该标识符映射到一个或多个存储在表中的ESID。
11.权利要求3的方法,其中,ESID由入口的会话管理程序产生。
12.一种用于实现有状态网络应用的会话返回的方法,包括:
从客户端接收用于新的网络应用会话的请求;
确定该请求是否包括一个对应于存储在存储器中的外部会话标识符(ESID)的标识符并识别被终止的网络应用会话;
如果标识符对应于被终止网络应用会话的ESID,则根据与被终止网络应用会话相关的状态来服务新的网络应用会话;和
如果该标识符不对应于被终止网络应用会话的ESID,则用启动模式来服务新的网络应用会话。
13.权利要求12的方法,还包括存储与被终止网络应用会话相关的状态。
14.权利要求12的方法,还包括从具有终止统一资源定位符(URL)的客户端接收ESID。
15.权利要求13的方法,其中,该状态是与被终止网络应用会话相关的会话返回状态。
16.权利要求12的方法,其中,确定请求是否包括对应于被终止网络应用会话的ESID的标识符还包括把该标识符映射到一个或多个存储在表中的ESID。
17.权利要求12的方法,其中,请求包括一个开始URL。
18.一种用于执行网络应用的页面返回的系统,包括:
一入口,被配置来产生与网络应用会话相关的外部会话标识符(ESID),并还被配置来向服务器发送ESID;和
一服务器平台,其用于管理服务器并具有被配置来存储与ESID相关的状态的存储器和被配置来把对新的网络应用会话的请求映射到存储器中的一个或多个ESID的映射模块,如果请求对应于一个ESID,则服务器平台还被配置来用与一个ESID相关的状态来服务新的网络应用会话。
19.权利要求18的系统,其中,服务器是网络应用服务器。
20.权利要求18的系统,其中,入口还包括一个生成ESID的会话管理程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43050302P | 2002-12-02 | 2002-12-02 | |
US60/430,503 | 2002-12-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1720703A true CN1720703A (zh) | 2006-01-11 |
CN100518176C CN100518176C (zh) | 2009-07-22 |
Family
ID=32825107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801048417A Expired - Fee Related CN100518176C (zh) | 2002-12-02 | 2003-12-02 | 实现有状态网络应用的会话返回 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8527636B2 (zh) |
EP (1) | EP1568189B1 (zh) |
JP (1) | JP4571509B2 (zh) |
CN (1) | CN100518176C (zh) |
AU (1) | AU2003300674A1 (zh) |
CA (1) | CA2508317C (zh) |
WO (1) | WO2004068367A2 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166191B (zh) * | 2006-08-10 | 2011-12-21 | 国际商业机器公司 | 用于在交易处理中管理网络应用的会话状态的方法和系统 |
CN103312529A (zh) * | 2012-03-12 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 系统功能的监控方法、装置及监控系统 |
CN103348346A (zh) * | 2011-01-06 | 2013-10-09 | 甲骨文国际公司 | 用于检测新浏览器窗口的技术 |
CN103455370A (zh) * | 2012-05-31 | 2013-12-18 | 福建星网视易信息系统有限公司 | 一种公用设备gui界面上支持多人操作互不干扰的方法 |
US9606703B2 (en) | 2011-01-06 | 2017-03-28 | Oracle International Corporation | Techniques for detecting inactive browser windows |
CN109218356A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 管理服务器上有状态应用的方法和设备 |
US10359902B2 (en) | 2011-10-19 | 2019-07-23 | Oracle International Corporation | Task flow interface in a popup region |
US10691299B2 (en) | 2014-09-25 | 2020-06-23 | Oracle International Corporation | Display of hierarchical datasets using high-water mark scrolling |
Families Citing this family (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8298160B2 (en) * | 2001-03-16 | 2012-10-30 | Ev3 Inc. | Wire convertible from over-the-wire length to rapid exchange length |
US7890639B1 (en) | 2002-01-30 | 2011-02-15 | Novell, Inc. | Method and apparatus for controlling access to portal content from outside the portal |
US7412374B1 (en) | 2002-01-30 | 2008-08-12 | Novell, Inc. | Method to dynamically determine a user's language for a network |
US7987421B1 (en) | 2002-01-30 | 2011-07-26 | Boyd H Timothy | Method and apparatus to dynamically provide web content resources in a portal |
US7236977B1 (en) | 2002-09-20 | 2007-06-26 | Novell, Inc. | Method for dynamically distributing items for changes based on group membership |
CA2406565A1 (en) * | 2002-10-04 | 2004-04-04 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for using business rules or user roles for selecting portlets in a web portal |
CA2406569C (en) * | 2002-10-04 | 2011-03-22 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display |
CA2406876A1 (en) * | 2002-10-04 | 2004-04-04 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for managing a collection of portlets in a portal server |
CA2406713C (en) * | 2002-10-04 | 2009-06-30 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for relaying session information from a portal server |
CN100518176C (zh) | 2002-12-02 | 2009-07-22 | Sap股份公司 | 实现有状态网络应用的会话返回 |
US7660843B1 (en) * | 2003-01-21 | 2010-02-09 | Novell, Inc. | Method and apparatus for dynamically delivering a gadget |
US7962843B2 (en) * | 2003-12-15 | 2011-06-14 | Microsoft Corporation | Browser session overview |
US7774721B2 (en) * | 2003-12-15 | 2010-08-10 | Microsoft Corporation | Intelligent backward resource navigation |
US7539776B1 (en) * | 2004-06-17 | 2009-05-26 | Sun Microsystems, Inc. | Dynamic uniform resource locator compression |
US7840707B2 (en) * | 2004-08-18 | 2010-11-23 | International Business Machines Corporation | Reverse proxy portlet with rule-based, instance level configuration |
US7783979B1 (en) | 2004-09-14 | 2010-08-24 | A9.Com, Inc. | Methods and apparatus for generation and execution of configurable bookmarks |
US20060067244A1 (en) * | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Registration identifier reuse |
US7376900B2 (en) * | 2004-09-30 | 2008-05-20 | International Business Machines Corporation | Method and system to control operation of a portlet |
US7502821B2 (en) * | 2004-12-16 | 2009-03-10 | Sap Ag | Enhanced internet session management protocol |
US7941544B2 (en) * | 2005-03-18 | 2011-05-10 | Sap Ag | Session manager for web-based applications |
US7712021B2 (en) * | 2005-03-25 | 2010-05-04 | Red Hat, Inc. | System, method and medium for component based web user interface frameworks |
DE102005015813A1 (de) * | 2005-04-06 | 2006-10-12 | Siemens Ag | Verfahren und Dienstleistungsportal zur wahlweisen Nutzung von Programmanwendungen in demselben |
US7774698B2 (en) * | 2005-06-24 | 2010-08-10 | Sap Ag | System and method for generating a frameless web display |
US7873994B1 (en) * | 2005-06-27 | 2011-01-18 | Juniper Networks, Inc. | Management of session timeouts in an SSL VPN gateway |
US20070136456A1 (en) * | 2005-12-08 | 2007-06-14 | Stefan Behl | Method and system for efficiently handling navigational state in a portal application |
US7801970B2 (en) * | 2005-12-08 | 2010-09-21 | International Business Machines Corporation | Method and system for efficiently handling navigational state in a portal |
US8301783B2 (en) * | 2005-12-14 | 2012-10-30 | International Business Machines Corporation | Method, system, and computer program product for efficiently serializing navigational state in a portal |
US8555288B2 (en) * | 2006-05-17 | 2013-10-08 | Teradata Us, Inc. | Managing database utilities to improve throughput and concurrency |
EP2069972A1 (en) | 2006-09-12 | 2009-06-17 | International Business Machines Corporation | System and method for dynamic context-sensitive integration of content into a web portal application |
US20080295164A1 (en) * | 2007-05-24 | 2008-11-27 | International Business Machines Corporation | Mashup component isolation via server-side analysis and instrumentation |
JP5116415B2 (ja) | 2007-09-14 | 2013-01-09 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
US7664862B2 (en) * | 2008-01-14 | 2010-02-16 | International Business Machines Corporation | Browser-based proxy server for customization and distribution of existing applications |
KR101453956B1 (ko) | 2008-01-14 | 2014-10-24 | 삼성전자주식회사 | 임베디드 브라우져 에이젼트를 기반으로 하는 디바이스 및 방법 |
CN101686245B (zh) * | 2008-09-28 | 2014-06-11 | 国际商业机器公司 | 用于隔离超文本传输协议会话的方法和系统 |
US8824481B2 (en) * | 2008-10-28 | 2014-09-02 | International Business Machines Corporation | System, method, and apparatus to correlate a TCAP web service request to an application server session |
US8788625B2 (en) * | 2008-12-11 | 2014-07-22 | Sap Ag | Displaying application content in synchronously opened window |
CN101997903B (zh) * | 2009-08-27 | 2013-09-25 | 国际商业机器公司 | 用于处理超文本传输协议请求的方法和系统 |
US8468360B2 (en) | 2009-09-04 | 2013-06-18 | Panasonic Corporation | Client terminal, server, server-client system, cooperation processing method, program and recording medium |
US8661245B1 (en) * | 2009-09-25 | 2014-02-25 | Nimvia, LLC | Systems and methods for empowering IP practitioners |
US20110209159A1 (en) * | 2010-02-22 | 2011-08-25 | Avaya Inc. | Contextual correlation engine |
US9232011B2 (en) * | 2010-03-26 | 2016-01-05 | Microsoft Technology Licensing, Llc | Tracking navigation flows within the same browser tab |
US8863001B2 (en) | 2010-06-11 | 2014-10-14 | Microsoft Corporation | Web application home button |
US8434135B2 (en) | 2010-06-11 | 2013-04-30 | Microsoft Corporation | Creating and launching a web application with credentials |
US8595551B2 (en) | 2010-06-11 | 2013-11-26 | Microsoft Corporation | Web application transitioning and transient web applications |
US8671384B2 (en) | 2010-06-11 | 2014-03-11 | Microsoft Corporation | Web application pinning including task bar pinning |
US8793650B2 (en) | 2010-06-11 | 2014-07-29 | Microsoft Corporation | Dynamic web application notifications including task bar overlays |
US8429546B2 (en) | 2010-06-11 | 2013-04-23 | Microsoft Corporation | Creating task sessions |
US9164671B2 (en) | 2010-06-11 | 2015-10-20 | Microsoft Technology Licensing, Llc | Web application navigation domains |
EP2482201B1 (en) * | 2011-01-28 | 2013-08-21 | Siemens Aktiengesellschaft | Enabling information exchange while switching between web-pages |
US8924934B2 (en) | 2011-02-04 | 2014-12-30 | Oracle International Corporation | Automated test tool interface |
US9424236B2 (en) | 2011-04-26 | 2016-08-23 | Oracle International Corporation | Filtered Stylesheets |
US8725550B2 (en) | 2011-07-12 | 2014-05-13 | Sap Ag | Managing process logs |
US20130031490A1 (en) * | 2011-07-26 | 2013-01-31 | Microsoft Corporation | On-demand tab rehydration |
US10241957B2 (en) * | 2012-02-06 | 2019-03-26 | Infosys Limited | Workload patterns for realistic load recreation in performance testing |
US9251181B2 (en) | 2012-06-18 | 2016-02-02 | International Business Machines Corporation | Dynamic map template discovery and map creation |
US10051019B1 (en) | 2012-11-09 | 2018-08-14 | Wells Fargo Bank, N.A. | System and method for session management |
US9715282B2 (en) | 2013-03-29 | 2017-07-25 | Microsoft Technology Licensing, Llc | Closing, starting, and restarting applications |
US20150120945A1 (en) * | 2013-10-28 | 2015-04-30 | Sap Ag | Push Channel Based Creation of Web-Based User Interface Sessions |
US9910884B2 (en) | 2014-01-13 | 2018-03-06 | Microsoft Technology Licensing, Llc | Resuming items in their last-used presentation modes |
US10397371B2 (en) | 2014-06-09 | 2019-08-27 | International Business Machines Corporation | Saving and restoring a state of a web application |
US9584619B2 (en) | 2014-08-21 | 2017-02-28 | Sap Se | Business web applications lifecycle management with multi-tasking ability |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
GB2532030A (en) * | 2014-11-05 | 2016-05-11 | Ibm | Method and facility for user navigation in a target portal |
US9413626B2 (en) | 2014-12-05 | 2016-08-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US10491685B2 (en) * | 2015-03-31 | 2019-11-26 | Microsoft Technology Licensing, Llc | Session transfer between resources |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US10320948B2 (en) * | 2015-11-30 | 2019-06-11 | Successfactors, Inc. | Application footprint recorder and synchronizer |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10193762B2 (en) * | 2016-08-11 | 2019-01-29 | Rescale, Inc. | Dynamic optimization of simulation resources |
US10387198B2 (en) | 2016-08-11 | 2019-08-20 | Rescale, Inc. | Integrated multi-provider compute platform |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10686886B2 (en) | 2016-10-19 | 2020-06-16 | Mirosoft Technology Licensing, LLC | Establishing secure sessions for stateful cloud services |
CN106503193A (zh) * | 2016-11-02 | 2017-03-15 | 网宿科技股份有限公司 | 恢复浏览器中页面的方法及其装置 |
EP3337132A1 (en) * | 2016-12-15 | 2018-06-20 | Awingu Nv | Intermediate broker with multi-session recording |
US11567742B2 (en) * | 2016-12-29 | 2023-01-31 | Atlassian Pty Ltd. | Method, apparatus, and computer program product for generating updated network application interfaces |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
EP3725037A1 (en) * | 2017-12-15 | 2020-10-21 | Nokia Technologies OY | Stateless network function support in the core network |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US11055110B2 (en) * | 2018-06-05 | 2021-07-06 | Microsoft Technology Licensing, Llc | Operating system service for persistently executing programs |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US10942762B2 (en) * | 2019-03-29 | 2021-03-09 | Hewlett Packard Enterprise Development Lp | Launch web browser applications in microservice-based containers |
US11057453B2 (en) | 2019-04-08 | 2021-07-06 | Netiq Corporation | Locking of client session using event listener |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961601A (en) * | 1996-06-07 | 1999-10-05 | International Business Machines Corporation | Preserving state information in a continuing conversation between a client and server networked via a stateless protocol |
US6544295B1 (en) * | 1996-11-18 | 2003-04-08 | Starfish Software, Inc. | Methods for managing preferred internet sites in a computer system having a browser |
US5884312A (en) * | 1997-02-28 | 1999-03-16 | Electronic Data Systems Corporation | System and method for securely accessing information from disparate data sources through a network |
US6092196A (en) * | 1997-11-25 | 2000-07-18 | Nortel Networks Limited | HTTP distributed remote user authentication system |
US6098093A (en) * | 1998-03-19 | 2000-08-01 | International Business Machines Corp. | Maintaining sessions in a clustered server environment |
US6308212B1 (en) * | 1998-05-29 | 2001-10-23 | Hewlett-Packard Company | Web user interface session and sharing of session environment information |
US6931526B1 (en) * | 1998-06-04 | 2005-08-16 | International Business Machines Corporation | Vault controller supervisor and method of operation for managing multiple independent vault processes and browser sessions for users in an electronic business system |
JP2000231524A (ja) * | 1999-02-10 | 2000-08-22 | Toshiba Corp | ネットワークコンピューティングシステム、及び同システムに於ける通信制御方法、同方法を格納した記憶媒体 |
US6986155B1 (en) | 1999-07-13 | 2006-01-10 | Sun Microsystems, Inc. | Methods and apparatus for selecting multicast IP data transmitted in broadcast streams |
US6883015B1 (en) * | 2000-03-30 | 2005-04-19 | Cisco Technology, Inc. | Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications |
IL148037A0 (en) * | 2000-06-14 | 2002-09-12 | Sap Ag | Communication between client and server computers via http, method, computer program product and system |
US7552200B2 (en) * | 2000-10-19 | 2009-06-23 | Cisco Technology | Apparatus and methods for requesting an event notification over a network |
CA2327078C (en) * | 2000-11-30 | 2005-01-11 | Ibm Canada Limited-Ibm Canada Limitee | Secure session management and authentication for web sites |
US6961776B1 (en) * | 2000-12-22 | 2005-11-01 | Nortel Networks Limited | Architecture for multiple channel access to applications |
SE519936C2 (sv) | 2001-01-24 | 2003-04-29 | Ericsson Telefon Ab L M | Anordning och förfarande relaterade till sessionshantering i en portalstruktur |
US7493391B2 (en) * | 2001-02-12 | 2009-02-17 | International Business Machines Corporation | System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds |
US7349970B2 (en) * | 2001-03-29 | 2008-03-25 | International Business Machines Corporation | Workload management of stateful program entities |
US8190670B2 (en) * | 2001-04-16 | 2012-05-29 | Microsoft Corporation | Web site cobrowsing |
JP4306152B2 (ja) * | 2001-06-26 | 2009-07-29 | 株式会社日立製作所 | クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム |
US6981263B1 (en) * | 2001-06-29 | 2005-12-27 | Bellsouth Intellectual Property Corp. | Methods and systems for converged service creation and execution environment applications |
US7277945B1 (en) * | 2001-09-12 | 2007-10-02 | Cisco Technology, Inc. | System and method for maintaining seamless session operation |
US7530099B2 (en) * | 2001-09-27 | 2009-05-05 | International Business Machines Corporation | Method and system for a single-sign-on mechanism within application service provider (ASP) aggregation |
US20030084034A1 (en) * | 2001-11-01 | 2003-05-01 | Richard Fannin | Web-based search system |
US7286651B1 (en) * | 2002-02-12 | 2007-10-23 | Sprint Spectrum L.P. | Method and system for multi-modal interaction |
US7370329B2 (en) * | 2002-03-01 | 2008-05-06 | Sun Microsystems, Inc. | System and method for state saves in a distributed data system |
EP2144160B1 (en) * | 2002-05-03 | 2011-09-07 | Sap Ag | Method and computer system for providing stateful favorites |
US7774473B2 (en) * | 2002-07-31 | 2010-08-10 | Oracle America, Inc. | System and method for sticky routing of requests within a server farm |
US20040085366A1 (en) * | 2002-10-30 | 2004-05-06 | Foster Ward Scott | Method for maintaining state information in a browser session across multiple web sites |
CN100518176C (zh) | 2002-12-02 | 2009-07-22 | Sap股份公司 | 实现有状态网络应用的会话返回 |
-
2003
- 2003-12-02 CN CNB2003801048417A patent/CN100518176C/zh not_active Expired - Fee Related
- 2003-12-02 JP JP2004567481A patent/JP4571509B2/ja not_active Expired - Lifetime
- 2003-12-02 US US10/727,140 patent/US8527636B2/en active Active
- 2003-12-02 CA CA2508317A patent/CA2508317C/en not_active Expired - Fee Related
- 2003-12-02 AU AU2003300674A patent/AU2003300674A1/en not_active Abandoned
- 2003-12-02 WO PCT/IB2003/006400 patent/WO2004068367A2/en active Application Filing
- 2003-12-02 EP EP03815567.7A patent/EP1568189B1/en not_active Expired - Lifetime
-
2013
- 2013-08-06 US US13/960,742 patent/US9866638B2/en active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166191B (zh) * | 2006-08-10 | 2011-12-21 | 国际商业机器公司 | 用于在交易处理中管理网络应用的会话状态的方法和系统 |
CN103348346A (zh) * | 2011-01-06 | 2013-10-09 | 甲骨文国际公司 | 用于检测新浏览器窗口的技术 |
US9606703B2 (en) | 2011-01-06 | 2017-03-28 | Oracle International Corporation | Techniques for detecting inactive browser windows |
US10359902B2 (en) | 2011-10-19 | 2019-07-23 | Oracle International Corporation | Task flow interface in a popup region |
CN103312529A (zh) * | 2012-03-12 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 系统功能的监控方法、装置及监控系统 |
CN103312529B (zh) * | 2012-03-12 | 2016-03-30 | 腾讯科技(深圳)有限公司 | 系统功能的监控方法、装置及监控系统 |
CN103455370A (zh) * | 2012-05-31 | 2013-12-18 | 福建星网视易信息系统有限公司 | 一种公用设备gui界面上支持多人操作互不干扰的方法 |
US10691299B2 (en) | 2014-09-25 | 2020-06-23 | Oracle International Corporation | Display of hierarchical datasets using high-water mark scrolling |
CN109218356A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 管理服务器上有状态应用的方法和设备 |
CN109218356B (zh) * | 2017-06-30 | 2021-10-08 | 伊姆西Ip控股有限责任公司 | 管理服务器上有状态应用的方法和设备 |
US11201836B2 (en) | 2017-06-30 | 2021-12-14 | EMC IP Holding Company LLC | Method and device for managing stateful application on server |
Also Published As
Publication number | Publication date |
---|---|
AU2003300674A1 (en) | 2004-08-23 |
JP2006508622A (ja) | 2006-03-09 |
CN100518176C (zh) | 2009-07-22 |
CA2508317C (en) | 2012-07-24 |
US20040193699A1 (en) | 2004-09-30 |
US9866638B2 (en) | 2018-01-09 |
EP1568189B1 (en) | 2015-06-17 |
JP4571509B2 (ja) | 2010-10-27 |
US8527636B2 (en) | 2013-09-03 |
WO2004068367A2 (en) | 2004-08-12 |
EP1568189A2 (en) | 2005-08-31 |
US20140019523A1 (en) | 2014-01-16 |
CA2508317A1 (en) | 2004-08-12 |
AU2003300674A8 (en) | 2004-08-23 |
WO2004068367A3 (en) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100518176C (zh) | 实现有状态网络应用的会话返回 | |
US6542908B1 (en) | Technique for automatically and transparently transforming software components into software components capable of execution in a client/server computing environment | |
US6134588A (en) | High availability web browser access to servers | |
US7571208B2 (en) | Creating proxies from service description metadata at runtime | |
US8849802B2 (en) | Historical browsing session management | |
US9253284B2 (en) | Historical browsing session management | |
JP5920903B2 (ja) | 遠隔ブラウジングセッション管理 | |
US7499983B2 (en) | Web dispatch service | |
JP5805867B2 (ja) | 遠隔ブラウジングセッション管理 | |
US7770185B2 (en) | Interceptor method and system for web services for remote portlets | |
US6433794B1 (en) | Method and apparatus for selecting a java virtual machine for use with a browser | |
US20040258089A1 (en) | System and method for reducing bandwidth requirements for remote applications by utilizing client processing power | |
US20130080577A1 (en) | Historical browsing session management | |
US20130080576A1 (en) | Historical browsing session management | |
US20020147652A1 (en) | System and method for distruibuted client state management across a plurality of server computers | |
JP6073336B2 (ja) | 履歴上のブラウジングセッション管理 | |
US8621092B2 (en) | Remote portlet consumer with enhanced resource URL processing | |
KR100843913B1 (ko) | 서버로부터 페이지를 요청하는 방법, 데이터 프로세싱 시스템 및 컴퓨터 판독가능 저장 매체 | |
US10057320B2 (en) | Offline browsing session management | |
JP5937207B2 (ja) | 遠隔ブラウジングセッション管理 | |
US20080275963A1 (en) | Dynamically Modifying A Universal Resource Indicator | |
US20070067265A1 (en) | Using one extensive portlet rather than multiple small portlets | |
Deri | Surfin'network resources across the Web | |
US20030097420A1 (en) | Multi-channel delivery system | |
WO2002071263A2 (en) | Method and system for publishing a message on the internet using a dynamic page builder tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20141202 |
|
EXPY | Termination of patent right or utility model |