CN103348346B - 用于检测新浏览器窗口的方法及系统 - Google Patents
用于检测新浏览器窗口的方法及系统 Download PDFInfo
- Publication number
- CN103348346B CN103348346B CN201280008061.1A CN201280008061A CN103348346B CN 103348346 B CN103348346 B CN 103348346B CN 201280008061 A CN201280008061 A CN 201280008061A CN 103348346 B CN103348346 B CN 103348346B
- Authority
- CN
- China
- Prior art keywords
- window
- identifier
- request
- computer system
- server computer
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的实施例提供用于在网络应用的背景下跟踪客户端浏览器窗口的生命周期的技术。在一组实施例中,网络应用的服务器组件可以接收源自客户端浏览器窗口的请求,其中请求包括资源定位符(例如,URL)和窗口标识符。作为响应,服务器组件可以将脚本发送到窗口以用于检索窗口的实际标识符/名称。基于由脚本返回的实际标识符和包括在初始请求中的窗口标识符,服务器组件可以确定窗口是新窗口还是现有窗口并且可以视情况处理请求。
Description
对相关申请的交叉引用
本申请要求2011年1月6日提交的申请号为12/985,799、题为“TECHNIQUES FOR DETECTING NEW BROWSER WINDOWS”的美国专利申请的优先权,其全部内容通过引用而被合并于此以用于所有目的。本公开与下列共同转让的、共同未决的、2011年1月6日提交的申请号12/985,805的题为“TECHNIQUES FOR DETECTING INACTIVE BROWSER WINDOWS”的美国专利申请有关,其全部内容通过引用而被合并于此以用于所有目的。
技术领域
本公开一般涉及网络应用,并且具体涉及用于跟踪在这样的应用中的客户端浏览器窗口的生命周期的技术。
背景技术
一般而言,网络应用是在服务器上托管并且由用户经由客户端网络浏览器可访问的软件应用。在一般使用的情况中,用户打开客户端浏览器窗口并且导航到应用的初始网页。从那里,用户可以输入信息(例如,经由嵌入在页标记中的表单元素)和/或导航到应用的附加页以完成某些任务或处理。
在有些情况下,用户可以在访问应用的同时从现有浏览器窗口的背景打开新浏览器窗口。这使得浏览器将新请求发送到用于显示在现有窗口中的应用页的服务器。在当前实现中,服务器通常无法区分此新窗口事件与用户已经重载/更新现有窗口的情况–在任意一种情况下,由服务器接收到的请求似乎来源于现有窗口。这可能是成问题的,因为服务器通常保持用于每个浏览器窗口的单独的应用状态信息,并 且因此需要在渲染页面之前知道它在服务哪个窗口。例如,如果服务器错误地确定客户端请求对应于现有窗口的重载(当它事实上对应于新窗口的打开),则服务器可以在处理请求时无意地修改现有窗口的应用状态。
在其他的实例中,用户可以关闭他/她用于访问应用的浏览器窗口,或导航离开窗口内的应用(例如,到第三方网站)。在当前实现中,服务器通常无法区分这些情况与用户已经导航(在窗口内)到相同应用中的另一个网页的情况–在任意一种情况下,服务器仅仅接收源自浏览器的窗口中的应用页已被重载/破坏的通知。这可能使服务器难以确定何时释放用于每个浏览器窗口的由服务器维护的存储器资源(例如,应用状态信息)。例如,如果服务器错误地确定浏览器窗口仍然被用来访问应用(当用户事实上已经关闭窗口或导航离开应用时),则服务器可以将用于窗口的资源保持在存储器中的时间比所需的时间长,这从效率和安全角度都是不希望的。
发明内容
本发明的实施例提供用于在网络应用的背景内跟踪客户端浏览器窗口的生命周期的技术。在一组实施例中,网络应用的服务器组件可以接收源自客户端浏览器窗口的请求,其中请求包括资源定位符(例如URL)和窗口标识符。作为响应,服务器组件可以将脚本发送到窗口以用于检索窗口的实际标识符/名称。基于由脚本返回的实际标识符和包括在初始请求内的窗口标识符,服务器组件可以确定窗口是新窗口还是现有窗口并且可以视情况处理请求。
在另一组实施例中,服务器组件可以接收第一客户端浏览器窗口中的应用页已经被卸载/破坏的通知。作为响应,服务器组件可以使第一窗口与期满时间相关联并且可以将第一窗口增加到潜在地不活动的窗口的“期满”列表(即,关闭或不再用来访问应用)。如果在第一窗口处于期满列表中时新的请求由服务器组件从第一窗口接收到,则服务器组件可以将第一窗口识别为活动的(即,仍然用来访问应用) 并且从列表中去除它。如果在第一窗口处于期满列表中时新的请求由服务器组件从第二窗口接收到,则服务器组件可以将来自第二窗口的请求被接收的时间和与第一窗口相关联的期满时间作比较。如果请求的时间比期满时间晚,则服务器组件可以识别第一窗口为不活动的并且释放与第一窗口相关联的全部资源。
在另一组实施例中,服务器组件可以接收在用于客户端浏览器的最后剩余窗口中的应用页已经被卸载/破坏的通知。作为响应,服务器组件可以将用于与浏览器相关联的用户会话的会话超时变量从第一持续时间(例如一小时)修改到比第一持续时间短的第二持续时间(例如,十分钟)。服务器组件然后可以开始会话超时变量的倒计时。如果在第二持续时间期满前由服务器组件从最后剩余窗口接收到请求,则服务器组件可以将窗口识别为活动的并且将会话超时变量复位到第一持续时间。如果在第二持续时间期满前没有接收到来自最后剩余窗口的请求,则服务器组件可以将窗口识别为不活动的,释放与窗口相关联的全部资源,并且释放与用户会话相关联的全部资源。
根据本发明的一个实施例,提供一种方法包括:由服务器计算机系统接收源自正在客户端计算机系统上运行的浏览器窗口的第一请求,第一请求包括统一资源定位符(URL)和第一窗口标识符;由服务器计算机系统生成回送(loopback)标识符;以及由服务器计算机系统在与请求相关联的用户会话中存储回送标识符。该方法还包括:由服务器计算机系统生成包括URL、第一窗口标识符和回送标识符的脚本;以及由服务器计算机系统将脚本发送到发起第一请求的窗口。
在一个实施例中,由运行在客户端计算机系统上的网络浏览器执行脚本以便于确定发起第一请求的窗口是新窗口还是现有窗口。
在一个实施例中,回送标识符是随机生成的数字。
在一个实施例中,第一请求是超文本传送协议(HTTP)请求。
在一个实施例中,只有当第一请求是HTTP GET或HEAD请求时,脚本才被发送到发起第一请求的窗口。
在一个实施例中,脚本被配置为在客户端计算机系统上确定第一 窗口标识符是否与发起第一请求的窗口的标识符匹配,并且基于此确定,将第二请求发送到服务器计算机系统。
在一个实施例中,如果第一窗口标识符与发起第一请求的窗口的标识符匹配,则第二请求包括URL、回送标识符和第一窗口标识符。
在一个实施例中,如果第一窗口标识符未与发起第一请求的窗口的标识符匹配,则第二请求包括URL、回送标识符、和不同于第一窗口标识符的第二窗口标识符。
在一个实施例中,所述方法还包括:由服务器计算机系统接收第二请求;由服务器计算机系统将包括在第二请求内的回送标识符与存储在用户会话中的回送标识符进行匹配;以及从用户会话中去除回送标识符。
在一个实施例中,所述方法还包括:如果第二请求包括第一窗口标识符,则由服务器计算机系统确定发起第一请求的窗口是新窗口;以及如果第二请求包括第二窗口标识符,则由服务器计算机系统确定发起第一请求的窗口是现有窗口。
在一个实施例中,所述方法还包括:由服务器计算机系统基于发起第一请求的窗口是新窗口还是现有窗口来呈现该URL的内容;以及由服务器计算机系统将呈现的内容发送到发起第一请求的窗口。
根据本发明的另一个实施例,提供非暂时的计算机可读存储介质,其上存储由处理器执行的指令。所述指令包括:使处理器接收源自运行在客户端计算机系统的网络浏览器的窗口的第一请求的指令,第一请求包括统一资源定位符(URL)和第一窗口标识符;使处理器生成回送标识符的指令;以及使处理器在与请求相关联的用户会话中存储回送标识符的指令。所述指令还包括:使处理器生成包括URL、第一窗口标识符、和回送标识符的脚本的指令;以及使处理器将脚本发送到发起第一请求的窗口的指令。
根据本发明的另一个实施例,提供一种服务器计算机系统,包括:被配置为接收源自运行在客户端计算机系统上的网络浏览器的窗口的第一请求的处理器,第一请求包括统一资源定位符(URL)和第一 窗口标识符;生成回送标识符;以及在与请求相关联的用户会话中存储回送标识符。处理器此外被配置为生成包括URL、第一窗口标识符、和回送标识符的脚本;以及将脚本发送到发起第一请求的窗口。
参考说明书的剩余部分和附图可以了解此处公开的实施例的性质和优点的更进一步的理解。
附图说明
图1是示出了根据本发明的实施例的系统的简化方框图。
图2是根据本发明的实施例的用于确定客户端浏览器窗口是新窗口还是现有窗口的处理的流程图。
图3是示出了根据本发明的实施例的由客户端脚本执行的处理的流程图。
图4是根据本发明的实施例的用于确定客户端浏览器窗口是新窗口还是现有窗口的进一步处理的流程图。
图5是示出了根据本发明的实施例的用于确定客户端浏览器窗口是否是不活动的处理的流程图。
图6是示出了根据本发明的实施例的用于确定客户端浏览器窗口是否是不活动的进一步处理的流程图。
图7是示出了根据本发明的实施例的用于确定客户端浏览器的最后剩余窗口是否是不活动的处理的流程图。
图8是示出了根据本发明的实施例的系统环境的简化方框图。
图9是示出了根据本发明的实施例的计算机系统的简化方框图。
具体实施方式
在下面的描述中,为了说明,阐述许多细节以便提供对本发明的实施例的理解。然而,对本领域的普通技术人员将很明显,某些实施例在没有某些细节的情况下也可以实践。
本发明的实施例提供用于在网络应用的背景内跟踪客户端浏览器窗口的生命周期的技术。在一组实施例中,网络应用的服务器组件 可以接收源自客户端浏览器窗口的请求,其中请求包括资源定位符(例如URL)和窗口标识符。作为响应,服务器组件可以将脚本发送到窗口以用于检索窗口的实际标识符/名称。基于由脚本返回的实际标识符和包括在初始请求内的窗口标识符,服务器组件可以确定窗口是新窗口还是现有窗口并且可以视情况处理请求。
在另一组实施例中,服务器组件可以接收第一客户端浏览器窗口中的应用页已经被卸载/破坏的通知。作为响应,服务器组件可以使第一窗口与期满时间相关联并且可以将第一窗口增加到潜在地不活动的窗口的“期满”列表(即,关闭或不再用来访问应用)。如果在第一窗口处于期满列表中时新的请求由服务器组件从第一窗口接收到,则服务器组件可以识别第一窗口为活动的(即,仍然用来访问应用)并且从列表中去除它。如果在第一窗口处于期满列表中时新的请求由服务器组件从第二窗口接收到,则服务器组件可以将来自第二窗口的请求被接收的时间和与第一窗口相关联的期满时间作比较。如果请求的时间比期满时间晚,则服务器组件可以识别第一窗口为不活动的并且释放与第一窗口相关联的全部资源。
在另一组实施例中,服务器组件可以接收用于客户端浏览器的最后剩余窗口中的应用页已经被卸载/破坏的通知。作为响应,服务器组件可以将用于与浏览器相关联的用户会话的会话超时变量从第一持续时间(例如一小时)修改到比第一持续时间短的第二持续时间(例如,十分钟)。服务器组件然后可以开始会话超时变量的倒计时。如果在第二持续时间期满前由服务器组件从最后剩余窗口接收到请求,则服务器组件可以识别窗口为活动的并且将会话超时变量复位到第一持续时间。如果在第二持续时间期满前没有接收到来自最后剩余窗口的请求,则服务器组件可以识别窗口为不活动的,释放与窗口相关联的全部资源,并且释放与用户会话相关联的全部资源。
图1是示出了根据本发明的实施例的系统100的简化方框图。如图所示,系统100可以包括与服务器104通信的客户端102。客户端102可以是能运行浏览器106的任何类型的电子设备或系统(例如, 台式计算机、膝上型计算机、平板计算机、智能机、个人数字助理(PDA)、机顶盒、视频游戏系统等等)。可用网络浏览器的示例包括Mozilla Firefox、Microsoft Internet Explorer、Google Chrome、Apple Safari,诸如此类。在各种实施例中,可以由客户端102的一个或多个用户操作浏览器106以访问网资源,诸如由服务器104主机的网络应用。
在某些实施例中,网络浏览器106可以使用户经由多个浏览器窗口108同时访问多个网络资源。例如,用户可以打开浏览器106中的第一浏览器窗口并且导航到第一网页“A”。从第一浏览器窗口的背景,用户可以打开一个或多个附加(新的)浏览器窗口,从而使网页A的附加实例被检索并且在新窗口中呈现。从那里,用户可以利用任何打开的窗口导航到其他网页。只要用户已经结束他的/她的浏览会话后,用户也可以关闭一个或多个打开的窗口。
如同这里使用的,术语“浏览器窗口”和“窗口”可以指代任何能显示由资源标识符(例如,URL)识别的网络内容的浏览器106的视口。在特定的实施例中,术语“浏览器窗口”和“窗口”可以指代浏览器“标签(tab)”,尽管这样的标签一般不认为是独立的窗口。
服务器104可以是能托管诸如应用114之类的网络应用的任何类型的电子设备或系统。在一组实施例中,服务器104可以包括被配置为处理网络浏览器106与网络应用114之间的交互并且提供诸如动态网络创建、负载均衡、安全等等之类的各种服务的应用服务器组件110。在特定的实施例中,应用服务器110可以包括被配置为从客户端102的浏览器106接收超文本传送协议(HTTP)请求并且将那些请求传递到应用服务器110和/或应用114以用于处理的网络服务器组件112。网络服务器112还可以将HTTP响应(例如,呈现的HTML)返回到浏览器106。
在一组实施例中,应用服务器110可以被配置为跟踪客户端浏览器窗口(诸如网络浏览器106的窗口108)的生命周期。例如,在一个实施例中,应用服务器110可以检测何时浏览器106的用户在访问 应用114时已经打开新浏览器窗口,并且可以区分新窗口事件与现有浏览器窗口上的重新载入/更新事件。在另一个实施例中,应用服务器110可以检测浏览器106的用户何时已经通过关闭窗口或导航离开应用114而使浏览器窗口不活动,并且可以区分那些情况与用户已经仅仅导航到应用114的另一个网页的情况。根据以下图2-7详细描述在这些情况中由应用服务器110执行的特定处理。
除客户端102和服务器104之外,系统100还可以包括数据存储器116。数据存储器116可以是可通信地与服务器104耦合并且可以为服务器104的各种组件(诸如网络应用114)提供数据存储服务。尽管在系统100中服务器104和数据存储器116被显示为单独的实体,但是本领域普通技术人员应该理解,服务器104和数据存储器116可以对应于单一物理机器或单独的物理机器。
应该理解,图1是说明性的并且不预期限制本发明的实施例。例如,系统100的各种实体可以每个都具有附加能力或包括没有具体描述的附加组件。另外,尽管描述了仅仅一个客户端、一个服务器和一个数据存储,但是可以支持任何数目的这样的实体。本领域普通技术人员将承认许多变化、修改和替换。
新客户端浏览器窗口的检测
如上所指出,在某些实施例中,应用服务器110可以确定浏览器106的用户在访问应用114时何时已经打开新浏览器窗口,并且可以区分新窗口事件与现有浏览器窗口上的重新载入/更新事件。图2示出了根据本发明的实施例的用于实现此新窗口检测的由应用服务器110执行的处理200。在各种实施例中,可以在硬件、软件、或它的组合中实现处理200。作为软件,处理200可以被编码为存储在机器可读的存储介质上的程序代码。
在块202处,应用服务器110可以接收源自客户端网络浏览器106的窗口的HTTP请求,其中请求用于由网络应用114提供的资源(例如,网络)。在各种实施例中,请求可以包括资源的标识符(例如,URL),以及特定浏览器窗口的标识符。例如,请求可以包括 URL“X”和窗口标识符“Window1”。在大多数情况中,包括在请求中的窗口标识符将对应于发起请求的浏览器窗口的标识符。然而,如果请求来自从现有窗口的背景创建的新窗口,则包括在请求中的窗口标识符将对应于现有窗口的标识符/名称而不是新窗口的标识符/名称。因此,在这些情况下,应用服务器110不能仅仅基于窗口标识符容易地区分进行发起的窗口是新窗口还是现有窗口。
在块204处,应用服务器110可以确定请求是否是对来自支持Java脚本的用户代理的内容页的HTTP GET或HEAD请求。如果请求不属于此特定类别,则应用服务器110可以确定源浏览器窗口不是新窗口。因此,应用服务器110可以执行它的正常的呈现/检索用于请求的URL的内容并且将响应发送到具有呈现/检索的内容的浏览器窗口的处理流程(块206、208)。
如果请求是对于来自于支持Java脚本的用户代理的内容的HTTP GET或HEAD请求,则应用服务器110可以更进一步地确定请求是否是重定向(块210)。如果请求是重定向,则应用服务器110可以执行如上所述的块206、208的处理流程。
如果请求不是重定向,则应用服务器110可以确定请求可以源自新的浏览器窗口。作为响应,应用服务器110可以生成建议的窗口标识符和回送标识符,并且将回送标识符存储在与请求相关联的用户会话中(块212)。在一组实施例中,回送标识符可以是随机地生成的数字。应用服务器110可以进一步地生成包括回送标识符、建议的窗口标识符、和来自接收的请求中的URL和窗口标识符(例如,脚本“X”和“Window1”)的客户端脚本,并且可以将脚本发送到源浏览器窗口(块214、216)。在一组实施例中,客户端脚本可以被配置为不可由客户端浏览器106缓存。客户端脚本因此能由浏览器106执行以检索发起的浏览器窗口的实际标识符,从而便于确定进行发起的窗口是新窗口还是现有窗口。
图3示出了由网络浏览器106在接收并且执行在块214处发送的客户端脚本时可以执行的处理。在块302处,浏览器106可以确定包 括在脚本内的窗口标识符(即,从在块202处接收的请求中提取的窗口标识符)是否与当前浏览器窗口(即,发起请求的窗口)的标识符/名称匹配。如果标识符匹配,则指示当前窗口是现有窗口。在这种情况下,浏览器106可以开始客户端重定向以将第二HTTP请求发送到镜像原始HTTP请求(例如,包括URL“U1”和窗口标识符“Window1”)的服务器104,外加回送标识符(块304)。
如果标识符不匹配,则指示当前窗口是新窗口。在这种情况下,浏览器106可以确定是否已经存在用于当前窗口的窗口标识符(块306)。例如,浏览器106可以已经在打开窗口时自动地将新的名称/标识符分配到窗口。如果发现这样的现有标识符,则浏览器106可以开始客户端重定向以将第二HTTP请求发送到服务器104,其中第二请求包括回送标识符、URL和现有标识符(块308)。如果没有发现现有窗口标识符,则浏览器106可以开始客户端重定向以发送包括回送标识符、URL和在图2的块212处生成的建议的窗口标识符的第二HTTP请求(块310)。
在接收到在图3的块304、308、或310处由浏览器106发送的第二HTTP请求时,应用服务器110可以执行图4的处理400。在块402和404,应用服务器110可以接收第二HTTP请求并且将包括在第二请求内的回送标识符与存储在用户会话中的回送标识符匹配。如果回送标识符匹配,则应用服务器知道此第二请求是响应于在块214发送的客户端脚本生成(而不是响应于用户操作)的。因此,应用服务器110可以从会话中去除回送标识符(块406)并且继续进行处理400的其余部分。
在块408处,应用服务器110可以确定包括在第二请求内的窗口标识符是否与包括在块202处接收的原始请求内的窗口标识符匹配。如果标识符匹配,则应用服务器110可以推断发起块202的原始请求的窗口是现有窗口。可替换地,如果标识符不匹配,则服务器104可以推断发起块202的原始请求的窗口是新窗口。应用服务器110因此能通过呈现/检索用于URL的内容并且将响应发送到包括呈现/检索 的内容的进行发起的浏览器窗口来处理原始请求(块414、416)。
在特定实施例中,原始请求的处理可以基于确定进行发起的窗口是新窗口还是现有窗口而不同。例如,如果每个块410确定进行发起的窗口是现有窗口,则应用服务器110可以自由地更新/修改与窗口相关联的应用状态信息。然而,如果每个块412确定进行发起的窗口是新窗口,则应用服务器110可以采取适当的步骤来保证任何现有窗口的状态保持不变。以这样的方式,应用服务器110可以避免当处理来自新窗口的请求时无意地破坏/禁用那些现有窗口的状态。
应该理解,处理200、300和400是说明性的并且变化和修改是可能的。例如,可以并行执行按顺序描述的步骤,可以改变步骤的次序,并且可以修改、组合、添加或省略步骤。本领域普通技术人员将认识到许多变化、修改、和替换。
不活动的客户端浏览器窗口的检测
在特定实施例中,应用服务器110可以检测浏览器106的用户何时已经通过关闭窗口或导航离开应用114来使浏览器窗口不活动,并且可以区分那些情况与用户仅仅导航到应用114的另一个网页的情况。图5示出了根据本发明的实施例的用于实现此不活动的窗口检测的可以由应用服务器110执行的处理500。在各种实施例中,可以在硬件、软件、或它的组合中实现处理500。作为软件,处理500可以被编码为存储在机器可读的存储介质上的程序代码。
在块502处,应用服务器110可以保持在网络浏览器106中打开的浏览器窗口的“活动”列表。从应用服务器110的角度,如果浏览器窗口被用于访问网络应用114,则认为浏览器窗口是“活动的”。活动列表可以被存储为与浏览器相关联的用户会话的一部分。在一组实施例中,在活动列表中用于每个窗口的条目可以包括窗口的标识符和被显示在窗口中的当前页的指示。
在块504处,应用服务器110可以接收来自浏览器106的活动浏览器窗口中的应用页已经被卸载/破坏的通知。例如,如果窗口已经由用户关闭、或如果用户已经导航到窗口内的不同网页,则可以接收到 这样的通知。作为响应,应用服务器110可以将期满时间与活动窗口相关,并且可以将窗口增加到潜在地不活动的窗口的“期满”列表(即,不再被用于访问应用)(块506,508)。
此外,应用服务器110可以确定在活动列表中的所有窗口现在是否在期满列表中(块510)。如果不在,则在由应用服务器110接收到更多卸载/破坏通知时,可以重复块504-510的步骤,由此使得附加的活动窗口被增加到期满列表。如果所有活动窗口现在是在期满列表中,则应用服务器110可以执行特殊处理以确定是否释放用户会话级资源;在下面的图7中讨论此处理。
在图6的处理600中继续图5的处理。在块602处,应用服务器110可以接收来源于被预先在块508处放在期满列表中的特定浏览器窗口的HTTP请求。由于此请求的接收指示窗口仍然被用于访问应用114,因此应用服务器110可以推断窗口仍然是活动的并且可以将它从期满列表中去除(块604)。应用服务器110也可以利用包括在接收的请求中的最新URL更新活动列表中的窗口的条目。
在块606处,应用服务器110可以检查期满列表中的剩余窗口并且,对于每个窗口,将在块602处接收请求的时间和与窗口相关联的期满时间进行比较。如果请求的时间比窗口的期满时间晚,则应用服务器110可以识别窗口为不活动的(即,不再被用于访问应用114)并且可以从活动的以及期满列表二者中去除窗口。应用服务器110也可以释放与窗口相关联的存储器资源(例如,应用状态信息,等等)。
如果请求的时间比窗口的期满时间早,则应用服务器110可以在期满列表中保留窗口。窗口可以保持在期满列表中,直到从窗口接收到新的请求(指示窗口仍然是活动的),或直到在比与窗口相关联的期满时间晚的时间从不同的窗口接收到新的请求(指示窗口很可能是不活动的)。
在某些情况下,当用户在浏览器窗口中从第一应用页导航到第二应用页时,应用服务器110可以在它接收到第一页已经被破坏/卸载的通知之前接收对第二页的请求。这是因为,HTTP不保证以与发送消 息的顺序相同的顺序接收消息。考虑到这一点,在某些特定的实施例中,应用服务器110可以跟踪显示在每个窗口中的当前页并且可以忽略属于过时页的卸载通知。
例如,假定浏览器窗口A是当前显示的应用页1。此外,假定窗口A的用户从应用页1导航到应用页2,但是应用服务器110在对(窗口A,页1)的通知之前接收对(窗口A,页2)的请求。一旦接收到对(窗口A,页2)的请求,则应用服务器110可以更新活动窗口列表,以使得窗口的当前页是页2。当随后接收到对(窗口A,页1)的卸载通知时,应用服务器110可以忽略卸载通知,因为窗口A的当前页不是页1(相反,它是页2)。因此,这防止应用服务器110在接收到卸载通知时错误地将窗口A增加到期满列表。
应当理解,处理500和600是说明性的并且可能有变化和修改。例如,可以并行执行描述的顺序的步骤,可以变化步骤的顺序,并且可以修改、组合、增加、或省略步骤。本领域普通技术人员将认识到许多变化、修改、和替换。
如上所述,在某些特定的实施例中,应用服务器110可以采用特殊处理以检测用于用户会话的最后剩余的浏览器窗口何时已经被不活动/关闭。在图7的处理700中示出了此处理。在各种实施例中,处理700可以在硬件、软件、或它们的组合中实现。作为软件,处理700可以被编码为存储在机器可读的存储介质上的程序代码。
在块702处,应用服务器110可以确定在用于用户会话(即,在活动列表中的最后窗口)的最后剩余浏览器窗口中的应用页已经被卸载/破坏。在一组实施例中,这可以通过比较在活动列表中的窗口集合来实现并且期满列表是相同的。在确定最后剩余浏览器窗口已经被卸载/破坏时,应用服务器110可以将与用户会话相关联的会话超时变量从第一时间段(例如,一小时)修改到比第一时间段短的第二时间段(例如,10分钟),并且可以开始变量的倒计时(块704)。
如果在会话超时变量期满之前从任何窗口中接收到HTTP请求,则应用服务器110可以推断会话仍然是活动的并且可以将会话超时变 量重置到第一时间段(块706、708)。此外,处理可以返回到图6的块602。
然而,如果在会话超时变量期满之前没有从任何窗口接收到请求,则应用服务器110可以推断最后剩余窗口是不活动的(因此,关闭整个用户会话)。因此,应用服务器110可以释放所有与窗口和用户会话相关联的资源(块710)。
应当理解,处理700是说明性的并且可能变化和修改。例如,可以并行执行描述的连续的步骤,可以变化步骤的顺序,并且可以修改、组合、增加、或省略步骤。本领域普通技术人员将认识到许多变化、修改、和替换。
图8是示出了根据本发明的实施例的系统环境800的简化方框图。如图所示,系统环境800可以包括一个或多个客户端计算机系统802、804、806、808、服务器计算机系统810、网络812、和数据库814。在各种实施例中,客户端计算机系统802、804、806、808、服务器计算机系统810、和数据库814可以用于分别实现图1的客户端102、服务器104、和数据存储器116。
客户端计算机系统802、804、806、808可以是通用的个人计算机(例如,台式计算机和/或膝上型计算机)、平板计算机、智能电话机、PDA、和/或工作站计算机。可替换地,客户端计算机系统802、804、806、808可以是能够运行诸如图1的浏览器106之类的网络浏览器的任何其它类型的电子设备。虽然系统环境800显示具有四个客户端计算机系统,但是应当理解可以支持任何数目的客户端计算机系统。
网络812可以是本领域技术人员所熟知的可以利用网络协议支持数据通信的任何类型的网络,网络协议诸如TCP/IP、SNA、IPX、AppleTalk、等等。仅仅举例来说,网络812可以是诸如以太网之类的局域网(LAN);广域网;包括而无限制地虚拟专用网络(VPN)的虚拟网络;互联网;无线网络(例如,在IEEE802.11协议套件、本领域已知的蓝牙协议、和/或任何其它无线协议中的任何一个下操作 的网络);和/或这些和/或其它网络的任何组合。
服务器计算机系统810可以是通用计算机、专门服务器计算机(例如,PC服务器、UNIX服务器、大型机服务器、安装在机架上的服务器,等等)、服务器群、或计算机的任何其它合适的布置和/或组合。服务器计算机系统810可以运行诸如Microsoft Windows、Apple OS X、Linux、Solaris等等之类的任何用户或服务器操作系统。服务器计算机系统810也可以运行各种服务器应用和/或中层应用中的任何一个,包括图1的应用服务器110和网络应用114。
数据库814可以驻留在一个或多个计算机系统802、804、806、808、和810的本地(和/或驻留在其上的)存储介质上。可替换地,数据库814可以远离任何或所有计算机系统802、804、806、808、810,和/或与这些中的一个或多个通信。在一组实施例中,数据库814驻留在为本领域技术人员所熟知的存储区域网(SAN)中。类似地,用于执行归因于计算机系统802、804、806、808、810的功能的任何必要文件可以适当地被本地存储在相应的计算机上和/或远程存储在数据库814上。在一组实施例中,数据库814可以是诸如从Oracle公司获得的Oracle11g之类的关系数据库,其被适配为响应于SQL格式化的命令存储、更新、和检索数据。
图9是示出了根据本发明的实施例的计算机系统900的简化方框图。在各种实施例中,计算机系统900可以用于实现参考以上系统环境800描述的计算机系统802、804、806、808、和810中的任何一个。如图所示,计算机系统900可以包括经由总线924电耦合的硬件元件。硬件元件可以包括一个或多个中央处理单元(CPU)902、一个或多个输入设备904(例如,鼠标、键盘,等等)、和一个或多个输出设备906(例如,显示设备、打印机,等等)。计算机系统900也可以包括一个或多个存储设备908。举例来说,存储设备908可以包括诸如磁盘驱动器、光存储器设备之类的设备、和诸如随机存取存储器(RAM)和/或只读存储器(ROM)之类的固态存储设备,其可以是可编程的、可flash更新的和/或类似的。
计算机系统900可以另外包括计算机可读存储介质读取器912、通信子系统914(例如,调制解调器、网卡(无线的或有线的)、红外线通信设备、等等)、以及可以包括如上描述的RAM和ROM设备的工作存储器918。在一些实施例中,计算机系统900也可以包括处理加速单元916,其可以包括数字信号处理器(DSP)、专用处理器和/或类似的。
计算机可读的存储介质读取器912可以被连接到计算机可读的存储媒介910,与(并且,可选地与存储设备908结合)一起全面表示远程、本地、固定、和/或可移除存储器设备加上用于临时和/或更永久地包含计算机可读信息的存储介质。通信系统914可以允许与网络812和/或如上参考环境800所述的任何其它计算机交换数据。
计算机系统900也可以包括被显示为当前位于工作存储器918内的软件元件,其包括操作系统920和/或其它代码922,诸如应用程序(其可以是客户端网络浏览器、中间层/服务器应用,等等)。应当理解计算机系统900的可替换实施例可以有不同于以上描述的许多变化。例如,可以使用定制的硬件并且可以在硬件、软件、或两者中实现特定元件。此外,可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。
用于包含代码、或部分代码的可由计算机系统900执行的的计算机可读存储介质可以包括任何在本领域已知或使用的适当介质,诸如但是不限于易失性的/非易失性的和可移除/不可移除的介质。计算机可读存储介质的示例包括RAM、ROM、EEPROM、闪速存储器、CD-ROM、数字通用光盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、任何其它可以用于存储数据和/或程序代码并且可以由计算机访问的介质。
虽然上面已经描述本发明的具体实施例,但是各种修改、变化、替换结构、和相等物在本发明的范围内。例如,虽然已经描述了本发明的实施例的某些流程图和步骤,但是本领域技术人员应当清楚,本发明的范围不局限于描述的图和步骤。
此外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当承认硬件和软件的其它组合也在本发明的范围内。
因此,说明书和附图应当被认为是说明性的,而不是限制的意义上的。在不脱离如下阐述的权利要求书的本发明的广泛精神和范围的情况下,显然可以对其进行添加、减少、和其它修改。
Claims (15)
1.一种用于检测浏览器窗口的方法,包括:
由服务器计算机系统接收源自运行在客户端计算机系统上的应用的第一窗口的第一请求,所述第一请求包括资源标识符和对应于第一窗口的第一窗口标识符;
由服务器计算机系统接收源自运行在客户端计算机系统上的所述应用的第二窗口的第二请求,所述第二请求包括所述资源标识符和对应于所述第一窗口的所述第一窗口标识符;
由服务器计算机系统将包括所述资源标识符、所述第一窗口标识符、和与所述第一请求相关联的回送标识符的脚本发送到所述应用的所述第二窗口;
使得运行在客户端计算机系统上的所述应用执行所述脚本以便于确定所述第二窗口是新窗口还是现有窗口,所述确定包括在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符之间进行比较;以及
使得第三请求从第二窗口发送到服务器计算机系统,其中:
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符匹配时,所述第三请求包括所述资源标识符、对应于第一窗口的所述第一窗口标识符、和所述回送标识符;或者
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符不匹配时,所述第三请求包括所述资源标识符、第二窗口的所述实际窗口标识符、和所述回送标识符。
2.如权利要求1所述的方法,其中回送标识符是随机生成的数字。
3.如权利要求1所述的方法,其中第一请求是超文本传送协议(HTTP)请求。
4.如权利要求3所述的方法,其中只有当第二请求是HTTP GET或HTTP HEAD请求时,脚本才被发送到所述第二窗口。
5.如权利要求1所述的方法,还包括:
由服务器计算机系统接收所述第三请求;
由服务器计算机系统将包括在第三请求中的回送标识符与存储在用户会话中的回送标识符匹配;以及
从用户会话中去除回送标识符。
6.如权利要求1所述的方法,还包括:
如果第三请求包括所述实际窗口标识符,则由服务器计算机系统确定发起所述第二窗口是新窗口;以及
如果第三请求包括第一窗口标识符,则由服务器计算机系统确定发起所述第二窗口是现有窗口。
7.如权利要求6所述的方法,还包括:
由服务器计算机系统基于所述第二窗口是新窗口还是现有窗口来呈现与该资源标识符相关联的内容;以及
由服务器计算机系统将呈现的内容发送到所述第二窗口。
8.一种服务器计算机系统,包括:
处理器,被配置为:
接收源自运行在客户端计算机系统上的应用的第一窗口的第一请求,所述第一请求包括资源标识符和对应于第一窗口的第一窗口标识符;
接收源自运行在客户端计算机系统上的所述应用的第二窗口的第二请求,所述第二请求包括所述资源标识符和对应于所述第一窗口的所述第一窗口标识符;
将包括所述资源标识符、所述第一窗口标识符、和与所述第一请求相关联的回送标识符的脚本发送到所述应用的所述第二窗口;
使得运行在客户端计算机系统上的所述应用执行所述脚本以便于确定所述第二窗口是新窗口还是现有窗口,所述确定包括在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符之间进行比较;以及
使得第三请求从第二窗口发送到服务器计算机系统,其中:
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符匹配时,所述第三请求包括所述资源标识符、对应于第一窗口的所述第一窗口标识符、和所述回送标识符;或者
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符不匹配时,所述第三请求包括所述资源标识符、第二窗口的所述实际窗口标识符、和所述回送标识符。
9.一种用于检测浏览器窗口的系统,包括:
用于由服务器计算机系统接收源自运行在客户端计算机系统上的应用的第一窗口的第一请求的装置,所述第一请求包括资源标识符和对应于第一窗口的第一窗口标识符;
用于由服务器计算机系统接收源自运行在客户端计算机系统上的所述应用的第二窗口的第二请求的装置,所述第二请求包括所述资源标识符和对应于所述第一窗口的所述第一窗口标识符;
用于由服务器计算机系统将包括所述资源标识符、所述第一窗口标识符、和与所述第一请求相关联的回送标识符的脚本发送到所述应用的所述第二窗口的装置;
用于使得运行在客户端计算机系统上的所述应用执行所述脚本以便于确定所述第二窗口是新窗口还是现有窗口的装置,所述确定包括在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符之间进行比较;以及
用于使得第三请求从第二窗口发送到服务器计算机系统的装置,其中:
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符匹配时,所述第三请求包括所述资源标识符、对应于第一窗口的所述第一窗口标识符、和所述回送标识符;或者
当在所述脚本中包括的第一窗口标识符与第二窗口的实际窗口标识符不匹配时,所述第三请求包括所述资源标识符、第二窗口的所述实际窗口标识符、和所述回送标识符。
10.如权利要求9所述的系统,其中回送标识符是随机生成的数字。
11.如权利要求9所述的系统,其中第一请求是超文本传送协议(HTTP)请求。
12.如权利要求11所述的系统,其中只有当第二请求是HTTPGET或HTTP HEAD请求时,脚本才被发送到所述第二窗口。
13.如权利要求9所述的系统,还包括:
用于由服务器计算机系统接收所述第三请求的装置;
用于由服务器计算机系统将包括在第三请求中的回送标识符与存储在用户会话中的回送标识符匹配的装置;以及
用于从用户会话中去除回送标识符的装置。
14.如权利要求9所述的系统,还包括:
用于如果第三请求包括所述实际窗口标识符,则由服务器计算机系统确定所述第二窗口是新窗口的装置;以及
用于如果第三请求包括第一窗口标识符,则确定所述第二窗口是现有窗口的装置。
15.如权利要求14所述的系统,还包括:
用于由服务器计算机系统基于所述第二窗口是新窗口还是现有窗口来呈现与所述资源标识符相关联的内容的装置;以及
用于由服务器计算机系统将呈现的内容发送到所述第二窗口的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/985,799 US9015226B2 (en) | 2011-01-06 | 2011-01-06 | Techniques for detecting new browser windows |
US12/985,799 | 2011-01-06 | ||
PCT/US2012/020106 WO2012154221A1 (en) | 2011-01-06 | 2012-01-03 | Techniques for detecting new browser windows |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103348346A CN103348346A (zh) | 2013-10-09 |
CN103348346B true CN103348346B (zh) | 2016-11-23 |
Family
ID=45532043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280008061.1A Active CN103348346B (zh) | 2011-01-06 | 2012-01-03 | 用于检测新浏览器窗口的方法及系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9015226B2 (zh) |
EP (1) | EP2661708B1 (zh) |
JP (1) | JP6018080B2 (zh) |
CN (1) | CN103348346B (zh) |
WO (1) | WO2012154221A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499065B2 (en) * | 2010-09-30 | 2013-07-30 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US9015226B2 (en) | 2011-01-06 | 2015-04-21 | Oracle International Corporation | Techniques for detecting new browser windows |
US8892635B2 (en) | 2011-01-06 | 2014-11-18 | Oracle International Corporation | Techniques for detecting inactive browser windows |
US9424236B2 (en) | 2011-04-26 | 2016-08-23 | Oracle International Corporation | Filtered Stylesheets |
US9250872B2 (en) | 2011-10-19 | 2016-02-02 | Oracle International Corporation | Task flow interface in a popup region |
US9218428B2 (en) | 2012-10-15 | 2015-12-22 | Dell Products, L.P. | Techniques for generating different sessions for multiple tabs of a single browser window |
US9239878B2 (en) | 2012-12-19 | 2016-01-19 | Amazon Technologies, Inc. | Interactivity analyses of web resources based on reload events |
US10691299B2 (en) | 2014-09-25 | 2020-06-23 | Oracle International Corporation | Display of hierarchical datasets using high-water mark scrolling |
WO2016147373A1 (ja) * | 2015-03-19 | 2016-09-22 | 富士通株式会社 | 表示方法、情報処理装置、表示制御装置及びプログラム |
CN106886397A (zh) * | 2015-12-16 | 2017-06-23 | 中兴通讯股份有限公司 | 信息采集方法、网关设备及服务器 |
CN105808257B (zh) * | 2016-03-08 | 2020-07-07 | 杭州朗和科技有限公司 | 一种应用弹窗识别方法和装置 |
US11188941B2 (en) | 2016-06-21 | 2021-11-30 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
CN106371757A (zh) * | 2016-09-23 | 2017-02-01 | 吉林省联宇合达科技有限公司 | 一种触控一体机网页点击超链接新窗口打开方法 |
CN107025107A (zh) * | 2016-10-24 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种页面重定向循环的检测方法和装置 |
US10645174B2 (en) * | 2017-12-07 | 2020-05-05 | Sage Intacct, Inc. | Enabling multiple sessions in a single browser |
US11163424B2 (en) * | 2018-06-25 | 2021-11-02 | Citrix Systems, Inc. | Unified display for virtual resources |
US11392414B2 (en) * | 2019-10-04 | 2022-07-19 | Target Brands, Inc. | Cooperation-based node management protocol |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2048039A1 (en) | 1991-07-19 | 1993-01-20 | Steven Derose | Data processing system and method for generating a representation for and random access rendering of electronic documents |
US6061697A (en) | 1996-09-11 | 2000-05-09 | Fujitsu Limited | SGML type document managing apparatus and managing method |
US5970496A (en) | 1996-09-12 | 1999-10-19 | Microsoft Corporation | Method and system for storing information in a computer system memory using hierarchical data node relationships |
US6052730A (en) | 1997-01-10 | 2000-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Method for monitoring and/or modifying web browsing sessions |
US6418471B1 (en) | 1997-10-06 | 2002-07-09 | Ncr Corporation | Method for recording and reproducing the browsing activities of an individual web browser |
US7024622B1 (en) | 1997-11-26 | 2006-04-04 | Adobe Systems Incorporated | Keeping track of locations in electronic documents |
US7444374B1 (en) | 1998-12-10 | 2008-10-28 | Michelle Baker | Electronic mail software with modular integrated authoring/reading software components including methods and apparatus for controlling the interactivity between mail authors and recipients |
US6427123B1 (en) | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
US8375127B1 (en) | 1999-03-31 | 2013-02-12 | International Business Machines Corporation | Method and system for using virtual URLs for load balancing |
JP2001051997A (ja) | 1999-08-11 | 2001-02-23 | Sony Corp | 文書データ作成装置、文書データ作成方法、及び記録媒体 |
US20030221162A1 (en) | 2000-03-20 | 2003-11-27 | Sridhar Mandayam Andampillai | Meta-templates in website development and methods therefor |
JP2004514192A (ja) | 2000-04-03 | 2004-05-13 | スターク ジュールゲン | コンテンツ制御された電子メッセージ処理を行うための方法及びシステム |
EP1226698B1 (en) | 2000-06-14 | 2009-01-28 | Sap Ag | Communication between client and server computers via http, method, computer program product and system |
US6654734B1 (en) | 2000-08-30 | 2003-11-25 | International Business Machines Corporation | System and method for query processing and optimization for XML repositories |
US20020087596A1 (en) | 2000-12-29 | 2002-07-04 | Steve Lewontin | Compact tree representation of markup languages |
GB2373085B (en) | 2001-03-08 | 2004-10-06 | Ibm | Method, computer program and system for style sheet generation |
US7703009B2 (en) | 2001-04-09 | 2010-04-20 | Huang Evan S | Extensible stylesheet designs using meta-tag information |
WO2003017123A1 (en) * | 2001-08-16 | 2003-02-27 | Redline Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
EP1442367A2 (en) | 2001-10-04 | 2004-08-04 | Koninklijke Philips Electronics N.V. | Method of styling a user interface and device with adaptive user interface |
US7124358B2 (en) | 2002-01-02 | 2006-10-17 | International Business Machines Corporation | Method for dynamically generating reference identifiers in structured information |
US7392348B2 (en) * | 2003-08-06 | 2008-06-24 | International Business Machines Corporation | Method for validating remotely cached dynamic content web pages |
US7237192B1 (en) | 2002-04-30 | 2007-06-26 | Oracle International Corporation | Methods and systems for naming and indexing children in a hierarchical nodal structure |
US8635254B2 (en) * | 2002-08-08 | 2014-01-21 | Axeda Corporation | Maintaining independent states for multiple web browser instances |
US7716322B2 (en) | 2002-09-23 | 2010-05-11 | Alcatel-Lucent Usa Inc. | Automatic exploration and testing of dynamic Web sites |
CA2508317C (en) | 2002-12-02 | 2012-07-24 | Sap Aktiengesellschaft | Session-return enabling stateful web applications |
CN100363919C (zh) | 2002-12-20 | 2008-01-23 | 泽田研一 | 服务器的控制方法 |
WO2004070622A1 (en) | 2003-02-07 | 2004-08-19 | Research In Motion Limited | System and method for processing a message in a server of a computer network sent by a mobile computer device |
US6990632B2 (en) | 2003-02-28 | 2006-01-24 | Microsoft Corporation | Method and system for inferring a schema from a hierarchical data structure for use in a spreadsheet |
JP3938121B2 (ja) | 2003-09-17 | 2007-06-27 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US7421621B1 (en) | 2003-09-19 | 2008-09-02 | Matador Technologies Corp. | Application integration testing |
US7430597B2 (en) | 2003-09-30 | 2008-09-30 | Toshiba Corporation | System and method for tracking web-based sessions |
DE10349015A1 (de) * | 2003-10-17 | 2005-05-19 | Siemens Ag | Betriebsverfahren für einen Server und hiermit korrespondierende Gegenstände |
US7607110B2 (en) | 2003-10-23 | 2009-10-20 | Microsoft Corporation | Element persistent identification |
JP4381861B2 (ja) * | 2004-03-26 | 2009-12-09 | 富士通株式会社 | 端末エミュレーションプログラム、記録媒体、負荷試験方法、負荷試験装置 |
US7653896B2 (en) | 2004-06-30 | 2010-01-26 | Microsoft Corporation | Smart UI recording and playback framework |
US7895528B2 (en) | 2004-08-05 | 2011-02-22 | International Business Machines Corporation | System and method for reversing a windows close action |
US7721195B2 (en) | 2004-08-24 | 2010-05-18 | Oracle International Corporation | RTF template and XSL/FO conversion: a new way to create computer reports |
US7949941B2 (en) | 2005-04-22 | 2011-05-24 | Oracle International Corporation | Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions |
US7369129B2 (en) | 2005-06-13 | 2008-05-06 | Sap Aktiengesellschaft | Automated user interface testing |
US7395456B2 (en) | 2005-08-17 | 2008-07-01 | Microsoft Corporation | Query-based identification of user interface elements |
US20070240118A1 (en) | 2006-02-28 | 2007-10-11 | Ido Keren | System, method, and software for testing a software application |
US7685513B2 (en) | 2006-04-18 | 2010-03-23 | Xerox Corporation | Optimization of storage and delivery of markup language files |
US7685255B2 (en) * | 2006-04-24 | 2010-03-23 | Blue Coat Systems, Inc. | System and method for prefetching uncacheable embedded objects |
US7934201B2 (en) | 2006-10-17 | 2011-04-26 | Artoftest, Inc. | System, method, and computer readable medium for universal software testing |
US9069745B2 (en) | 2007-01-16 | 2015-06-30 | Ebay, Inc. | Electronic form automation |
US7949569B2 (en) | 2007-01-30 | 2011-05-24 | Oracle International Corporation | Distributed device information management system as a distributed information repository system |
US7895598B2 (en) | 2007-06-15 | 2011-02-22 | Microsoft Corporation | Page and device-optimized cascading style sheets |
US8379027B2 (en) | 2007-06-20 | 2013-02-19 | Red Hat, Inc. | Rendering engine test system |
US7930401B2 (en) | 2007-06-26 | 2011-04-19 | International Business Machines Corporation | Accessing shared resources with improved request peak management |
US8176409B2 (en) | 2007-07-24 | 2012-05-08 | De Novo Software | System and method for electronic publication of scientific data and analysis |
CN101369249B (zh) | 2007-08-14 | 2011-08-17 | 国际商业机器公司 | 标识软件的gui部件的方法和装置 |
JP4906672B2 (ja) | 2007-10-22 | 2012-03-28 | 株式会社日立製作所 | ウェブアプリケーションの処理記録方法および処理記録装置 |
WO2009096686A2 (ko) | 2008-01-29 | 2009-08-06 | Samsung Electronics Co,. Ltd. | 컨텐츠 공유 서비스 제공 방법 및 그 장치 |
US7707513B2 (en) * | 2008-02-06 | 2010-04-27 | Oracle International Corporation | System for streaming data from server to multiple slave browser windows in client computer through a master browser window |
US8176205B2 (en) | 2008-02-14 | 2012-05-08 | Research In Motion Limited | Method, server and system for optimizing HTML-based content |
JP5182693B2 (ja) | 2008-03-17 | 2013-04-17 | Necインフロンティア株式会社 | Htmlメール作成システム、htmlメール作成方法、そのプログラムおよびプログラム記録媒体 |
US9906620B2 (en) | 2008-05-05 | 2018-02-27 | Radware, Ltd. | Extensible, asynchronous, centralized analysis and optimization of server responses to client requests |
US8522135B2 (en) | 2008-06-06 | 2013-08-27 | International Business Machines Corporation | Generating a transformation description document for transforming messages |
US8819560B2 (en) * | 2008-08-04 | 2014-08-26 | International Business Machines Corporation | Dispatching events to multiple browser windows/tabs using a single connection |
US20100211893A1 (en) | 2009-02-19 | 2010-08-19 | Microsoft Corporation | Cross-browser page visualization presentation |
JP5159711B2 (ja) * | 2009-06-25 | 2013-03-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 組込み機器およびその状態表示制御方法 |
AU2010328326B2 (en) | 2009-12-07 | 2016-12-01 | Robert Buffone | System and method for website performance optimization and internet traffic processing |
US8683311B2 (en) | 2009-12-11 | 2014-03-25 | Microsoft Corporation | Generating structured data objects from unstructured web pages |
US20110173589A1 (en) | 2010-01-13 | 2011-07-14 | Microsoft Corporation | Cross-Browser Interactivity Testing |
US20110191676A1 (en) | 2010-01-29 | 2011-08-04 | Microsoft Corporation | Cross-Browser Interactivity Recording, Playback, and Editing |
US9104809B2 (en) | 2010-03-24 | 2015-08-11 | Fujitsu Limited | Facilitating automated validation of a web application |
US20110271173A1 (en) | 2010-05-03 | 2011-11-03 | Xerox Corporation | Method and apparatus for automatic filling of forms with data |
US8499065B2 (en) | 2010-09-30 | 2013-07-30 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US9576068B2 (en) | 2010-10-26 | 2017-02-21 | Good Technology Holdings Limited | Displaying selected portions of data sets on display devices |
US9015226B2 (en) | 2011-01-06 | 2015-04-21 | Oracle International Corporation | Techniques for detecting new browser windows |
US8892635B2 (en) | 2011-01-06 | 2014-11-18 | Oracle International Corporation | Techniques for detecting inactive browser windows |
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 |
-
2011
- 2011-01-06 US US12/985,799 patent/US9015226B2/en active Active
-
2012
- 2012-01-03 EP EP12701275.5A patent/EP2661708B1/en active Active
- 2012-01-03 JP JP2013548467A patent/JP6018080B2/ja active Active
- 2012-01-03 WO PCT/US2012/020106 patent/WO2012154221A1/en active Application Filing
- 2012-01-03 CN CN201280008061.1A patent/CN103348346B/zh active Active
-
2015
- 2015-03-16 US US14/658,488 patent/US9225617B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2661708B1 (en) | 2020-06-17 |
US20150188781A1 (en) | 2015-07-02 |
WO2012154221A1 (en) | 2012-11-15 |
CN103348346A (zh) | 2013-10-09 |
EP2661708A1 (en) | 2013-11-13 |
JP6018080B2 (ja) | 2016-11-02 |
JP2014508986A (ja) | 2014-04-10 |
US9225617B2 (en) | 2015-12-29 |
US9015226B2 (en) | 2015-04-21 |
US20120179743A1 (en) | 2012-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103348346B (zh) | 用于检测新浏览器窗口的方法及系统 | |
CN103348321B (zh) | 用于检测不活动的浏览器窗口的方法及系统 | |
CN102368212B (zh) | 消息队列管理 | |
JP2016115343A (ja) | ファイル安全削除機能提供装置、その方法、その方法を実行するためのプログラムが記録されているコンピュータで読み取り可能な記録媒体及びアプリケーション配布システム | |
WO2014100130A1 (en) | Interactivity analyses of web resources based on reload events | |
JP2014142960A (ja) | ブラウザベースの不正行為防止方法およびシステム | |
JP2012509520A (ja) | スナップショットデータベースを用いた情報復旧方法および装置 | |
US8190693B2 (en) | Reclaiming lost internet customers | |
US10979532B2 (en) | Resource download method, electronic device, and apparatus | |
CN104023046B (zh) | 移动终端识别方法和装置 | |
JP2000099460A (ja) | ペ―ジ・マップを形成し、マネ―ジメントとビジネスに有用なインタ―ネット・デ―タを提供する方法及び装置 | |
CN101978665B (zh) | 对网络通信请求的选择性过滤 | |
US9292321B2 (en) | System, method and computer-readable recording medium for synchronous script lazy loading | |
EP2998885A1 (en) | Method and device for information search | |
WO2014183494A1 (en) | Method, apparatus, and system of opening a web page | |
CN106331108A (zh) | 一种突破ip限制的爬虫实现方法及系统 | |
US10430140B2 (en) | Method, apparatus and system for opening a web page | |
JP6772389B2 (ja) | リダイレクトの削減 | |
US20140067854A1 (en) | Crawling of generated server-side content | |
JP4084962B2 (ja) | 緊急時企業情報公開システム | |
EP3977322A1 (en) | Methods for detecting tracking elements of a web page and related server devices | |
CN110557465A (zh) | 一种用户端ip地址的获取方法及装置 | |
CN112199130B (zh) | 绑定函数执行方法、装置、设备和存储介质 | |
US10853184B1 (en) | Granular restore view using out-of-band continuous metadata collection | |
CN111310182A (zh) | 一种恶意软件管理方法以及相关装置 |
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 |