CN106302571B - 用于对服务器连接进行维护和高速缓存的系统和方法 - Google Patents
用于对服务器连接进行维护和高速缓存的系统和方法 Download PDFInfo
- Publication number
- CN106302571B CN106302571B CN201510246382.0A CN201510246382A CN106302571B CN 106302571 B CN106302571 B CN 106302571B CN 201510246382 A CN201510246382 A CN 201510246382A CN 106302571 B CN106302571 B CN 106302571B
- Authority
- CN
- China
- Prior art keywords
- runtime
- component
- computing system
- cache pool
- timeout period
- 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
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- 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
-
- 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/04—Network management architectures or arrangements
-
- 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/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及对服务器连接进行维护和高速缓存。在池中维护具有活动连接的一组运行空间。设置一组定时器,且基于这些定时器,通过运行空间提交简单命令,以将连接维持在活动状态。随后可从高速缓存中使用具有活动连接的运行空间,而不必打开新连接。
Description
技术领域
本发明涉及对服务器连接进行维护和高速缓存。
背景技术
计算机系统当前被广泛应用。一些计算机系统被部署成服务最终用户计算系统处的最终用户的远程服务。这些最终用户计算系统可被称为端点。
在向端点提供服务时,远程计算机系统(例如,远程服务器环境)可以管理到端点的连接。在这样做时,远程服务器环境可以监视端点上的话务并关闭(或杀死)在某一时间量内尚未被使用的连接。这可造成尝试通过这些连接访问该端点的用户的延迟。
作为示例,最终用户可能使用远程数据中心或其他主存在远程的计算系统。维护这些主存在远程的计算系统的工程师还可尝试访问端点处的环境以执行维护或其他工程操作。工程用户还可向端点查询可在诊断问题、执行调试操作等时使用的一大堆不同类型的信息。在这样做时,工程师有时通过维护到端点的连接的门户来访问端点。这可能花费相当长的时间才能建立这一类型的连接,并且这可能降低所涉及的各计算系统的性能,因为它们在使用计算和存储器开销以建立连接。这还可能使所涉及的用户的效率降级,因为他们在花费时间和其他资源来等待连接建立。
一些当前系统尝试维护已打开的连接的高速缓存,这些已打开的连接可被用户用来访问端点。然而,高速缓存中的连接可能在服务器侧已过期,因为给定会话因未使用而超时。在这种情况下,该连接在能被使用前需要被重新打开。
在这些类型的系统中,可能难以甚至知晓所高速缓存的连接是否活动。有时,可能只有在尝试使用连接时才知道该连接已超时。这可导致降级的性能。例如,用户可能向运行应用进程的运行空间的实例提交请求。运行空间随后尝试通过该连接将该请求提交给应用。该提交可能因为该连接已超时而失败。运行空间随后尝试重新打开该连接并重新提交用户请求以获得结果。在这样的场景中,用户因为运行空间首先提交请求并且只有在此之后才发现该连接已超时而花费附加的时间。只有在发现这一点之后,运行空间才开始重新打开该连接的过程。事实上,这比让运行空间简单地对每一次提交打开一个新连接还慢。然而,即便是打开连接也可能花费不合乎需要的时间量和处理资源,并且它可导致不想要的低效率。
提供以上讨论仅用作一般的背景信息,并不旨在帮助确定所要求保护的主题的范围。
发明内容
在池中维护具有活动连接的一组运行空间。设置一组定时器,且基于这些定时器,通过运行空间提交简单命令,以将连接维持在活动状态。随后可从高速缓存中使用具有活动连接的运行空间,而不必打开新连接。
提供本发明内容以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图说明
图1是将到端点的连接维护在活动状态下的连接维护体系结构的一个示例的框图。
图2是维护连接的远程连接系统的一个示例的更详细框图。
图3是示出在图1和2中示出的体系结构中如何初始化运行空间高速缓存的一个示例的流程图。
图4是示出远程连接系统响应于保持活动定时器的操作的一个示例的流程图。
图5是示出图2中所示的远程连接系统响应于打开运行空间定时器的操作的一个示例的流程图。
图6是示出图2中所示的远程连接系统在增加或减少运行空间高速缓存大小时的操作的一个示例的流程图。
图7是示出图1中所示的体系结构在对通过运行空间实例提交的用户请求进行服务时的操作的一个示例的流程图。
图8示出部署在云计算体系结构中的图1中所示的体系结构的一个示例。
图9-11示出了可被用在前述附图中所示的体系结构中的移动设备的示例。
图12是可被部署在前述附图中所示的体系结构中的计算环境的一个示例的框图。
具体实施方式
图1是示出连接维护体系结构100的一个示例的框图。体系结构100说明性地包括工程系统102、主存的门户服务110、以及数据中心112。数据中心112可由最终用户114通过最终用户系统116来访问。工程系统102生成具有用户输入机制106的用户界面显示104以供用户108交互。用户108可以说明性地是与用户输入机制106交互以控制工程系统102来访问数据中心112以便在数据中心112中执行工程操作的工程师或其他维护人员。
为了向用户108提供对数据中心112的访问,主存的门户服务110说明性地维护与数据中心112中的多个不同端点计算系统122中的每一个的连接118-120。端点计算系统122说明性地允许用户108使用服务器124以及数据中心112中的其他数据中心功能126来执行操作。
主存的门户服务110说明性地包括服务器128、门户功能130,并且它可包括其他项132。门户功能130说明性地提供门户,用户108藉由该门户可以通过连接118-120访问数据中心112中的信息。
工程系统102说明性地包括一个或多个服务器或处理器134、用户界面组件136、调试和工程功能138、远程连接系统140,且它可包括其他项142。远程连接系统140说明性地与主存的门户服务110进行交互以维护与端点计算系统122中的每一个的一组连接118-120。参考图2-7更详细地描述远程连接系统140。
用户界面组件136说明性地生成具有用户输入机制106的用户界面显示104。它可以自己这样做,或者在调试/工程功能138、服务器/处理器134、或工程系统102中的其他项中的任一者的控制下这样做。调试/工程功能138说明性地允许用户108执行相对于数据中心112的调试或其他工程操作。
图2是远程连接系统140的一个示例的更详细框图。图2示出了在一个示例中,远程连接系统140说明性地包括不同端点计算系统122中的每一者的高速缓存池系统。图2假定存在N个端点并且因此每一运行空间实例158-164说明性地是在它们连接到的端点上运行应用进程的运行时的实例化。每一运行空间实例可具有“已关闭”状态、“已打开”状态、以及“使用中”状态。“已关闭”状态指示与该运行空间实例相对应的动作被关闭或尚未被创建。“已打开”状态指示该运行空间实例的连接已被创建且是活动的或打开的。因而,在其状态是“已打开”的情况下,运行空间实例可被直接用来提交命令。“使用中”状态指示运行空间实例已经在被使用。因此,例如,如果它们处于已打开池154-156中,这意味着它们到端点的对应连接118-120是活动的,使得它们可被用来处理用户108的提交。
对于每一端点,高速缓存池系统150-152中的每一者还说明性地包括已关闭池170-172。已关闭池170-172分别包括运行空间实例174-176和178-180,运行空间实例174-176和178-180具有已关闭或具有与它们相关联的已超时的连接。
系统140包括最后已知良好队列166。最后已知良好队列166说明性地包含作为最后成功使用的运行空间实例的运行空间实例的队列。因为它们曾被成功使用,所以这意味着它们的连接曾是活动的。因此,队列166中最高的运行空间标识符是被成功使用的最后已知运行空间实例158-164。即,队列166中的第一条目是最后已知良好运行空间实例158-164,并且队列166中的最后条目是良好运行空间实例,但在已打开池154-156中的所有运行空间实例中它是在最长时间内尚未被使用的。
远程连接系统140还说明性地包括定时系统182、服务器请求组件184、初始化系统185、池管理系统186,且它可包括其他项188。定时系统182说明性地包括一组定时器,如保持活动定时器组件190、打开运行空间定时器组件192以及检查池大小定时器组件194。当然,它也可包括其他项。下文更详细地描述定时器组件190-194中的每一者的操作。然而,简言之,保持活动定时器组件190包括在超时时使得服务器请求组件184通过给定运行空间实例提交简单请求以使其对应的连接保持活动的定时器。打开运行空间定时器组件192包括在期满时使得池管理系统186尝试打开已关闭运行空间实例并且从每一已关闭池170-172中将它从其已关闭池已知其对应的打开池的定时器。检查池大小定时器组件194说明性地包括在期满时使得池管理系统186增加或减小运行空间实例的数量的定时器。同样,这些在下文更详细地描述。
服务器请求组件184说明性地通过给定运行空间实例以及其对应的连接向数据中心112中的各端点提交用户请求。这也在以下更详细地描述。
池管理系统186说明性地包括打开组件196、移动组件198、加载边界检查组件200、池大小增加/减小组件202,且它可包括其他项204。打开组件196说明性地打开各运行空间实例以及对应的连接。移动组件198说明性地基于它们的连接是打开还是关闭的来在已打开池和已关闭池之间移动运行空间实例。加载边界检查组件200说明性地检查边界条件来确定附加运行空间实例是否应当被添加到高速缓存池系统150-152中的任一者。池大小增加/减小组件202说明性地基于增加或减小池大小的加载边界条件是否被满足来增加系统150-152中的任何或所有高速缓存池的大小或减小它们的大小。
图3是示出远程连接系统140如何操作来初始化高速缓存池系统150-152中的高速缓存池的操作的一个示例的流程图。首先假定高速缓存池中的任一者中不存在运行空间实例。因此,初始化系统185首先初始化端点中的每一者的高速缓存池。这由框210指示。在这样做时,它可以标识端点中的每一者的身份,如框212所示。它还可以接收一组最小和最大高速缓存大小214且它也可接收或生成其他项,并且这由框216指示。
它随后为每一高速缓存池系统150-152创建最小数量的运行空间实例,并将它们添加到每一端点的对应的高速缓存池170-172。这由框218指示。
初始化系统185随后调用打开组件196来打开运行空间实例中的每一者并将它们移至已打开池154-156。这由框220指示。
远程连接系统140随后简单地等待接收动作(它可以是用户108提交的供处理的请求、或指示各定时器中的任一者已超时的超时指示符,等等)。这由框222指示。
远程连接系统140随后基于已被检测到的动作的类型来执行处理。例如,在保持活动定时器已期满的情况下,它可以执行保持活动处理。这由框224指示。在打开运行空间定时器已期满的情况下,它可以执行运行空间打开操作。这由框226指示。在检查池大小定时器已期满的情况下,它可以执行池大小操作。这由框228指示。在用户提交了供处理的请求的情况下,它可以执行用户提交请求。这由框230指示。它执行所需处理,如框232所示,并且随后返回框222,在此它等待检测另一动作。
图4是示出保持活动定时器组件190的操作的一个示例的流程图。保持活动定时器组件190执行处理,以使得已打开池154-156中的运行空间实例中的每一者在超时之前被使用。这将这些实例中的每一者保持在“已打开”状态。
保持活动定时器组件190首先确定保持活动定时器已期满。这由图4的框240指示。它随后立即将保持活动定时器复位,如框242所示。
保持活动定时器组件190随后标识每一LKG队列166中的最后运行空间实例。这由框244指示。回想这是良好的运行空间实例(意味着它具有打开连接),但它是相对于对应已打开池154-156中的其他运行空间实例而言在最长时间量内尚未被使用的实例。
保持活动定时器组件190随后控制服务器请求组件184来向所标识的运行空间实例提交命令。这由框246指示。在一个示例中,它将相对简单的命令发送给该实例,该命令随后通过所主存的门户服务110提交并送给数据中心112。这将向服务110和数据中心112指示对应的连接118-120仍然在被使用且因此它被保持活动。移动组件198随后将所标识的运行空间实例(刚通过它提交了命令的实例)移至LKG队列166的顶部,因为它们是最近使用的运行空间实例。这由框248指示。
将注意,保持活动定时器可以用各种各样的不同方式来设置。在一个示例中,取决于已打开池154-156中的已打开运行空间实例的数量,它被设置为唤醒(或期满)。还将注意,可存在针对每一高速缓存池系统(例如,针对每一端点)的分开的保持活动定时器。然而,在另一示例中,一个保持活动定时器被用于所有高速缓存池系统。因此,在一个示例中,例如,保持活动定时器每已打开池中的已打开运行空间实例的总数分之五分钟来唤醒。例如,假定已打开池具有十个运行空间实例。这意味着保持活动定时器将每十个运行空间实例分之五分钟(即,每30秒)唤醒。它随后将提交请求。预定时间量(例如,五分钟)可被设置,因为这是超时时段,此时所主存的门户服务110或数据中心112将杀死与该运行空间实例相对应的连接。这意味着具有活动连接的运行空间实例中的每一者将使这些连接维护成活动的,因为命令将在与这些连接中的每一者相对应的超时时段内被发送,并且它们将不被后端系统中的任一者杀死。当然,保持活动定时器也可以用其他方式来设置。
图5是示出打开运行空间定时器组件192的操作的一个示例的流程图。将明白,即使运行空间数据已被打开,它仍然可因为各种不同的原因而回到已关闭状态且因此移至已关闭池170。例如,情况可能是端点已死。因而,为了重新打开已关闭池170-172中的运行空间实例,打开运行空间定时器组件192可被使用。打开运行空间定时器组件192将说明性地具有打开运行空间定时器。在一个示例中,可存在与每一端点相对应(且因此与每一高速缓存池系统150-152相对应)的一个这样的定时器。在另一示例性设计中,一个定时器服务所有高速缓存池系统150-152。打开运行空间定时器组件192将说明性地确定打开运行空间定时器已期满。这由框250指示。它随后立即将打开运行空间定时器复位,如框252所示。
组件192随后标识每一已关闭池170-172中的运行空间。这由框254指示。它随后控制打开组件196并尝试打开所标识的运行空间实例。这由框256指示。如果成功,如在框258处确定的,则组件192控制移动组件198将所标识的运行空间实例(它刚被打开)移至它对应的已打开池154-156。这由框260指示。对应的条目也将在LKG队列166-168中被作出。
如果打开组件196不能打开所标识的运行空间实例中的任一者,则这些实例被放回其对应的已关闭池170-172。这由框262指示。
图6是示出检查池大小定时器194的操作的一个示例的流程图。组件194是在意识到以下事实的情况下提供的:用户提交请求,但没有运行时实例是可用的或具有打开连接,用户将必须花费时间等待连接被打开。然而,还认识到如果更多运行时实例在任何给定时间是打开的,则这将占用不必要的服务器资源。因此,检查池大小定时器组件194可以用于采纳折中。它说明性地预测将需要的运行空间实例的数量并尝试自动地增加或减小高速缓存大小。这可以通过使用一组边界条件来完成,其中在运行时实例使用高于边界条件时,高速缓存大小可通过打开附加运行时实例而被增加。如果运行时实例使用低于边界条件,则高速缓存大小可通过关闭运行时实例被减小。这一确定可以基于检查池大小定时器的期满周期性地作出或以其他方式间歇地作出。可存在与每一高速缓存池系统150-152相对应(并且因而与每一端点相对应)的单独池大小定时器,或者单个定时器可以服务所有系统150-152。这些只是示例。
组件194首先确定检查池大小定时器已期满。这在图6中由框270指示。它随后立即将检查池大小定时器复位,如框272所示。
组件194随后控制加载边界检查组件200以对照各边界条件检查运行时实例使用。这由框274指示。例如,边界条件可包括高边界条件276、低边界条件278,且它可包括各种其他边界条件280。如果运行时实例使用高于高边界条件276,则高速缓存池大小可能需要通过增加运行时实例来被调整。如果它低于低边界条件278,则池大小可能需要通过减少运行时实例来被调整。然而,如果运行空间实例使用在这两个边界条件之间,则可能不需要采取动作。
基于对照边界条件进行的运行空间实例使用检查来确定池大小是否需要调整由框282指示。如果确实池大小需要增加,则组件194调用池大小增加/减小组件202来增加一个或多个池中的运行空间实例的数量。这由框284指示。
然而,如果运行空间实例低于低边界条件278,则发生多个事件。例如,在一个示例中,高和低边界条件动态地变化。例如,高边界条件可以是为给定端点打开的运行空间实例(包括具有“已打开”状态的运行空间实例、具有“使用中”状态的运行空间实例、以及具有“已关闭”状态的运行空间实例)的总数减去已打开池154中的运行空间实例的数量的两倍。类似地,低边界条件可以简单地是已打开池154-156中的运行空间实例的数量的两倍。因而,可以看到,边界条件动态地变化。如果情况是这样,则在当前运行空间实例使用低于低边界条件的情况下,组件200还检查以确定高边界条件小于或等于低边界条件。如果情况是这样,如框286所示,则不采取动作。然而,如果在框286,确定高边界条件大于低边界条件,则组件200控制池大小增加/减小组件202来减少池中的运行空间实例的数量,使得每一池系统中存在相似的运行空间数量(具有已打开、已关闭、以及使用中状态的运行空间的总和)。这由框288指示。
给定池在任何给定时间增加或减少的运行空间实例数量可以变化。然而,在一个示例中,如果在前两分钟期间的运行空间实例使用一直高于高加载边界条件,则在一组池中的运行空间实例加一。如果运行空间实例使用在过去两分钟内低于低边界条件,则在一组池中的运行空间实例的数量可减一。当然,池大小增加或减小的这些时间和实例数量只是示例,并且它们可以广泛地变化。
图7是示出远程连接系统140在处理用户请求时的操作的一个示例的流程图。例如,假定已经为每一端点(端点0-N)初始化了高速缓存池系统150-152。现在假定用户108通过端点之一提交了要通过给定运行空间实例处理的请求。服务器请求组件184首先接收用户请求,如框300所示。
它随后尝试从与端点之一相对应的已打开池154-156之一获得具有打开连接的运行空间实例。这由框302指示。如果不成功,则它调用池大小增加/减小组件202来扩大运行空间高速缓存池154-156,因为没有运行空间实例准备好可用于服务用户所提交的请求。这由框304指示。它随后控制打开组件196来打开新运行空间实例之一以获得具有打开连接的运行空间实例,如框306所示。
随后,或者如果在框302获得具有打开连接的运行空间实例的尝试成功,则服务器请求组件184尝试在所获得的具有打开连接的运行空间实例运行该请求。这由框308指示。如果该尝试成功,则处理在框316处继续,如下所述。如果尝试不成功,则运行空间实例返回其已关闭池,如框309所示,并且服务器请求组件184使用LKG队列166来获得最近使用的运行空间实例。这由框310指示。这样做是因为,由于用户请求已经失败了一次,这样做增加了良好运行空间实例将被获得且用户的请求将被成功运行的概率。
服务器请求组件184随后再次尝试在通过LKG队列获得的新获得的运行空间实例上运行该请求。这由框312指示。如果该请求失败,则将所使用的运行空间实例置于对应端点的已关闭池170-172中。这由框314指示。然而,如果运行该请求的尝试成功,则运行空间实例被放回已打开池154-156且在LKG队列166中作出对应的条目。这由框316指示。
如果运行该请求的尝试成功,则结果被返回给用户。另一方面,如果该请求失败,则向用户发送指示该请求已失败的消息。这由图7的框318指示。
因而,可以看到,本系统通过经由与已打开的运行空间实例相对应的连接间歇地发送相对简单的命令来有利地维护这些连接。这确保后端系统将不会因缺少使用而杀死这些连接。它还管理已打开运行空间实例的高速缓存大小并甚至在它们需要被使用之前维护打开运行空间实例。这显著地降低各计算系统的处理开销。在尝试通过具有已关闭连接的运行空间实例提交请求,只有在此时才意识到连接已关闭并尝试重新打开它们时,该开销不必被消耗。它还显著地改进用户效率,因为它增加运行空间实例将可用且具有打开连接的概率,而无需用户等待创建运行空间实例或打开对应的连接。它还可以使用LKG队列来增加用户请求将被已知的良好运行空间实例服务的概率。类似地,池管理系统维护高速缓存或池大小,使得在维护没有被使用的已打开运行空间实例时,不会消耗过剩的资源,但具有已打开连接的足够运行空间实例被维护,使得用户不必等待创建运行空间实例和打开连接。所有这些项有利地改进计算系统本身的操作和用户的效率。
本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关联的存储器和定时电路系统(未分别示出)的计算机处理器。它们是它们所属的系统或设备的功能部分,且由这些系统中的其他组件或项的功能来激活并促进这些功能。
同样,讨论了多个用户界面显示。它们可以采取各种各样的不同形式且可具有布置于其上的各种各样的不同用户可致动输入机制。例如,用户可致动输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框,等等。它们还可按各种不同的方式来致动。例如,可使用点击设备(诸如跟踪球或鼠标)来致动它们。可使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等等来致动它们。还可使用虚拟键盘或其他虚拟致动器来致动它们。另外,在其上显示它们的屏幕是触敏屏的情况下,可以使用触摸手势来致动它们。同样,在显示它们的设备具有语音识别组件的情况下,可以使用语音命令来致动它们。
还讨论了多个数据存储。将注意,它们可各自被分解成多个数据存储。它们全部可位于访问它们的系统的本地,全部可以是远程的,或一些可以在本地而其他在远程。本文构想了所有这些配置。
同样,附图示出了具有归属于每一框的功能的多个框。将注意,可以使用更少的框,使得功能由更少的组件来执行。同样,可以使用更多框,其中功能被分布在更多组件之间。
图8是图1中所示的体系结构100的框图,除了其组件被置于云计算体系结构500中。云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。体系结构100的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础体系结构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从远程位置处的服务提供者使用云计算体系结构来提供。可替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的需求。
公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由组织本身管理,并且基础结构通常不与其他组织共享。该组织在某种程度上仍然维护着硬件,诸如安装和维修等。
在图8中所示的示例中,一些项与图1中显示的那些是类似的,并且它们被类似地编号。图8具体地示出主存的门户服务110和数据中心112可位于云502(可以是公共的、私有的或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用户108和114可以使用用户设备504或最终用户系统116来通过云502访问这些系统。
图8还描绘了云体系结构的另一示例。图8示出还构想了系统102、110或112的某些或全部元素被置于云502中而某些元素没有被置于云502中。作为示例,数据中心112可被置于云502的外部,并且通过云502来访问。在另一示例中,远程连接系统140也可在云502的外部。无论它们位于哪里,它们都可直接由设备504或系统116通过网络(广域网或局域网)访问,它们可由服务主存在远程站点处,或者它们可作为服务通过云来提供或通过驻留在云中的连接服务来访问。本文构想了所有这些体系结构。
还要注意,体系结构100或其部分可被置于各种不同的设备上。这些设备中的某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。
图9是可被用作其中可部署本系统(或其部分)的用户或客户机的手持式设备16的手持式或移动计算设备的一个说明性示例的简化框图。图10-11是手持式或移动设备的示例。
图9提供了客户端设备16的组件的大体框图,该客户端设备16可以运行系统102、110、112、116或者设备504中的任一者的组件或与体系结构110交互,或这二者。在设备16中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的无线连接的Wi-Fi协议、和蓝牙协议。
根据其他示例,应用或系统被容纳在连接到可移动安全数字(SD)卡接口15的SD卡上。SD卡接口15和通信链路13沿总线19与处理器17(也可实现先前附图中的处理器)进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和定位系统27。
在一个实施例中,提供了I/O组件23以促进输入和输出操作。针对设备16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。
时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地为处理器17提供定时功能。
位置系统27说明性地包括输出设备16的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统、或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其它地理功能的测绘软件或导航软件。
处理器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储37、通信驱动程序39以及通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。应用154或数据存储156中的项例如可驻留在存储器21中。类似地,设备16可具有客户端业务系统24,该客户端业务系统可运行各种业务应用或实现承租人104的部分或全部。处理器17可以也被其他组件激活以促进它们的功能。
网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。
应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。
图10示出其中设备16是平板计算机600的一个实施例。在图10中,计算机600被示为具有用户界面显示屏602。屏幕602可以是触摸屏(使得来自用户手指的触摸姿势可以用于与应用交互)或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上虚拟键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附连机制附连到键盘或其他用户输入设备。计算机600还可以说明性地接收语音输入。
设备16的附加示例可以是功能电话、智能电话、或移动电话。电话可包括:一组小键盘47,其用于拨打电话号码;显示器,其能够显示包括应用图像、图标、网页、照片和视频在内的图像;以及控制按钮,其用于选择在显示器上示出的项目。电话可包括天线,该天线用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些示例中,电话还包括容纳安全数字(SD)卡的SD卡槽。
移动设备也可以是个人数字助理或多媒体播放器或平板计算设备等等(在此称为PDA)。PDA可包括电感屏,所述电感屏感测指示笔(或其他指示器,诸如用户的手指)在该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA还可包括多个用户输入键或按钮,其允许用户将显示器上所显示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器的情况下改变应用或选择用户输入功能。PDA还可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许对其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来进行的。因此,这些连接是非网络连接。
图11示出了可以是智能电话71的电话。智能电话71具有显示图标或图块或其他用户输入机制75的触敏显示器73。机制75可由用户用来运行应用、进行呼叫、执行数据传输操作,等等。一般而言,智能电话71被构建在移动操作系统上且提供比功能电话更高级的计算能力和连接性。
注意,设备16的其他形式是可能的。
图12是其中可采用体系结构100(或体系结构100的部分,例如)的计算环境的一个示例。参考图12,用于实现一些实施例的示例系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括上述处理器或服务器)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考图1描述的存储器和程序可被部署在图12的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图12示出了操作系统834、应用程序835、其他程序模块836和程序数据837。
计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图12示出了从不可移动、非易失性磁性介质读取或向其写入的硬盘驱动器841和从诸如CD ROM或其它光学介质等可移动、非易失性光盘856读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840等不可移动存储器接口连接到系统总线821,而光盘驱动器855则通常由诸如接口550等可移动存储器接口连接至系统总线821。
作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如,但非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
以上讨论并在图12中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图12中,例如,硬盘驱动器841被示为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程序835、其它程序模块836和程序数据837相同,也可与它们不同。在此操作系统844、应用程序845、其它程序模块846以及程序数据847被给予了不同的编号,以说明至少它们是不同的副本。
用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器897和打印机896之类的其它外围输出设备,它们可通过输出外围接口895来连接。
计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。图12中所描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但还可包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过诸如因特网等WAN 873建立通信的其它手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例,而非限制,图12示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
还应注意,本文描述的不同实施例可以按不同的方式来组合。即,一个或多个实施例的各部分可以与一个或多个其他实施例的各部分组合在一起。本文中构想了所有这些。
示例1是一种计算系统,包括:
用户界面组件;
一组计算系统功能组件,其控制所述用户界面组件生成具有功能用户输入机制的功能用户界面显示,所述功能用户输入机制被致动以通过到远程端点计算系统的一组连接在所述远程端点计算系统上执行功能;以及
远程连接系统,所述远程连接系统包括一组运行空间组件以及第一定时器组件,每一运行空间组件具有所述一组连接中的相关联的连接,所述第一定时器组件生成指示第一超时时段的第一定时器输出,所述远程连接系统基于所述第一定时器输出在所述一组连接中的每一连接上通过所述运行空间组件间歇地提交请求,所述远程端点计算系统基于会话超时时段因缺少使用而禁用所述连接,并且所述第一定时器被配置成使得所述第一超时时段基于所述会话超时时段以及所述一组运行空间组件中的运行空间组件的数量。
示例2是任何或全部前述示例的计算系统,且进一步包括:
一组高速缓存池系统,每一高速缓存池系统与所述端点计算系统中的不同的一个端点计算系统相对应且具有存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到对应的端点计算系统的活动连接。
示例3是任何或全部前述示例的计算系统,其中所述第一定时器被配置成使得所述第一超时时段基于所述已打开运行空间高速缓存池中的运行空间组件的数量而动态变化。
示例4是任何或全部前述示例的计算系统,其中所述第一定时器被配置成使得所述第一超时时段是包括所述会话超时时段除以所述已打开运行空间高速缓存池中的运行空间组件的数量的时段。
示例5是任何或全部前述示例的计算系统,其中每一已打开运行空间高速缓存池具有按已打开运行空间高速缓存池中的运行空间组件被最后使用的次序来标识它们的对应的最后已知良好的队列。
示例6是任何或全部前述示例的计算系统,其中所述一组计算系统功能通过经由所选运行空间组件提交请求来在所述远程端点计算系统上执行功能,且所述计算系统进一步包括:
服务器请求组件,其接收指示所述请求的提交输入并选择运行空间组件以获得所选运行空间组件。
示例7是任何或全部前述示例的计算系统,其中所述服务器请求组件基于所述最后已知良好的队列的内容来选择所述运行空间组件。
示例8是任何或全部前述示例的计算系统,其中每一高速缓存池系统包括:
已关闭运行空间高速缓存池,其存储具有到对应的端点计算系统的已关闭连接的运行空间组件。
示例8是任何或全部前述示例的计算系统,且进一步包括:
第二定时器组件,其生成指示第二超时时段的第二定时器输出;
打开组件,其从所述已关闭运行空间高速缓存池选择运行空间组件并尝试打开与所选运行空间组件相对应的连接;以及
移动组件,其在所述打开组件成功打开所选运行空间组件的情况下将所选运行空间组件移至所述已打开运行空间高速缓存池并使它进入所述最后已知良好的队列。
示例10是任何或全部前述示例的计算系统,且进一步包括:
第三定时器组件,其生成指示第三超时时段的第三定时器输出;以及
边界检查组件,其基于所述第三超时时段确定给定高速缓存池系统中的运行空间组件的总数是否满足大小变化边界。
示例11是任何或全部前述示例的计算系统,且进一步包括:
大小改变系统,其响应于所述边界检查组件指示运行空间组件的总数满足所述大小改变边界来改变给定高速缓存池系统中的运行空间组件的总数。
示例12是一种计算机实现的方法,包括:
控制用户界面组件来生成具有功能用户输入机制的功能用户界面显示;
通过向一组运行空间组件中的运行空间组件提交功能请求,检测所述功能用户输入机制的致动以在远程端点计算系统上执行功能,每一运行空间组件具有到所述远程端点计算系统的对应连接;
生成指示保持活动超时时段的保持活动定时器输出;以及
基于所述保持活动定时器输出在所述连接中的每一者上通过所述运行空间组件提交请求,所述远程端点计算系统基于会话超时时段因缺少使用而禁用所述连接,并且所述保持活动超时时段基于所述会话超时时段和所述一组运行空间组件中的运行空间组件的数量。
示例13是任何或全部前述示例的计算机实现的方法,其中一组高速缓存池系统中的每一个与多个端点计算系统中的不同一个端点计算系统相对应,且具有存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到所述对应端点计算系统的活动连接,并且其中生成所述保持活动定时器输出包括:
基于所述已打开运行空间高速缓存池中的运行空间组件的数量来动态地改变所述保持活动超时时段。
示例14是任何或全部前述示例的计算机实现的方法,且进一步包括:
在最后已知良好的队列中按所述已打开运行空间高速缓存池中的运行空间组件被最后成功使用的次序来标识它们。
示例15是任何或全部前述示例的计算机实现的方法,进一步包括:
接收指示所述请求的提交输入;以及
基于所述最后已知良好的队列的内容来选择所述运行空间组件以接收所述请求。
示例16是任何或全部前述示例的计算机实现的方法,且进一步包括:
将具有到对应端点计算系统的已关闭连接的运行空间组件存储到已关闭运行空间高速缓存池;
生成指示打开运行空间超时时段的打开运行空间定时器输出;
从所述已关闭运行空间高速缓存池选择运行空间组件;
尝试打开与所选运行空间组件相对应的连接;以及
如果所述打开组件成功打开所选运行空间组件,则将所选运行空间组件移至所述已打开运行空间高速缓存池。
示例17是任何或全部前述示例的计算机实现的方法,且进一步包括:
生成指示检查池大小超时时段的检查池大小定时器输出;
基于所述检查池大小超时时段来确定给定高速缓存池系统中的运行空间组件的总数是否满足大小改变边界;以及
如果是,则改变给定高速缓存池系统中的运行空间组件的总数。
示例18是一种计算系统,包括:
一组高速缓存池系统,每一高速缓存池系统与多个端点计算系统中的不同一个端点计算系统相对应且具有存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到对应的端点计算系统的活动连接;
第一定时器组件,其生成指示第一超时时段的第一定时器输出;以及
远程连接系统,所述远程连接系统基于所述第一定时器输出在活动连接中的每一活动连接上通过所述运行空间组件向所述端点计算系统间歇地提交请求,所述远程端点计算系统基于会话超时时段因缺少使用而禁用所述连接,并且所述第一定时器被配置成使得所述第一超时时段至少部分地基于所述会话超时时段以及运行空间组件的数量而动态地改变。
示例19是任何或全部前述示例的计算系统,其中每一高速缓存池系统包括:
已关闭运行空间高速缓存池,其存储具有到对应的端点计算系统的已关闭连接的运行空间组件;
第二定时器组件,其生成指示第二超时时段的第二定时器输出;
打开组件,其从所述已关闭运行空间高速缓存池选择运行空间组件并尝试打开与所选运行空间组件相对应的连接;以及
移动组件,其在所述打开组件成功打开所选运行空间组件的情况下将所选运行空间组件移至所述已打开运行空间高速缓存池并使它进入所述最后已知良好的队列。
示例20是任何或全部前述示例的计算系统,且进一步包括:
第三定时器组件,其生成指示第三超时时段的第三定时器输出;
边界检查组件,其基于所述第三超时时段确定给定高速缓存池系统中的运行空间组件的总数是否满足大小变化边界;以及
大小改变系统,其响应于所述边界检查组件指示运行空间组件的总数满足所述大小改变边界来改变给定高速缓存池系统中的运行空间组件的总数。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (19)
1.一种计算系统,包括:
一组计算系统功能组件,其被配置成:控制用户界面组件以生成具有功能用户输入机制的功能用户界面显示,所述功能用户输入机制被致动以通过到远程端点计算系统的多个连接在所述远程端点计算系统上执行功能;
远程连接系统,其包括:
多个运行空间组件,每一运行空间组件与所述多个连接中的一个连接相关联并且被配置成使用相关联的连接来提交请求;以及
第一定时器组件,其被配置成:
识别所述多个运行空间组件中的运行空间组件的数量;以及
定义基于以下两者的第一超时时段:会话超时时段,在所述会话超时时段中到所述远程端点计算系统的所述多个连接中的连接被所述远程端点计算系统因缺少使用而禁用;以及所识别的运行空间组件的数量;以及
请求组件,其被配置成:在所述多个连接中的所述连接中的每一连接上通过所述多个运行空间组件提交请求,其中,所述请求是基于所述第一超时时段间歇地提交的。
2.如权利要求1所述的计算系统,其特征在于,还包括:
一组高速缓存池系统,每一高速缓存池系统与多个端点计算系统中的不同的一个端点计算系统相对应且具有被配置成存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到对应的端点计算系统的活动连接。
3.如权利要求2所述的计算系统,其特征在于,所述第一定时器组件被配置成基于所述已打开运行空间高速缓存池中的运行空间组件的数量的变化来动态变化所述第一超时时段。
4.如权利要求3所述的计算系统,其特征在于,所述第一定时器组件被配置成通过将所述会话超时时段除以所述已打开运行空间高速缓存池中的运行空间组件的数量来定义所述第一超时时段。
5.如权利要求3所述的计算系统,其特征在于,所述远程连接系统包括:
最后已知良好的队列,其被配置成按所述已打开运行空间高速缓存池中的运行空间组件被最后使用的次序来标识它们。
6.如权利要求5所述的计算系统,其特征在于,所述请求组件被配置成通过迭代执行以下操作来间歇地提交所述请求:
从所述第一定时器组件接收指示所述第一超时时段的期满的指示;以及
基于所述最后已知良好的队列来选择运行空间组件。
7.如权利要求6所述的计算系统,其特征在于,每一高速缓存池系统包括:
已关闭运行空间高速缓存池,其被配置成存储具有到对应的端点计算系统的已关闭连接的运行空间组件。
8.如权利要求7所述的计算系统,其特征在于,还包括:
第二定时器组件,其被配置成生成指示第二超时时段的第二定时器输出;
打开组件,其被配置成从所述已关闭运行空间高速缓存池选择运行空间组件并尝试打开与所选运行空间组件相对应的连接;以及
移动组件,其被配置成在所述打开组件成功打开所选运行空间组件的情况下将所选运行空间组件移至所述已打开运行空间高速缓存池并使它进入所述最后已知良好的队列。
9.如权利要求7所述的计算系统,其特征在于,还包括:
第三定时器组件,其被配置成生成指示第三超时时段的第三定时器输出;以及
边界检查组件,其被配置成基于所述第三超时时段确定运行空间组件的总数是否满足大小变化边界。
10.如权利要求9所述的计算系统,其特征在于,还包括:
大小改变系统,其被配置成响应于所述边界检查组件指示运行空间组件的总数满足所述大小改变边界来改变运行空间组件的总数。
11.一种计算机实现的方法,包括:
生成具有功能用户输入机制的功能用户界面显示;
通过向具有到远程端点计算系统的多个连接的多个运行空间组件中的运行空间组件提交功能请求,检测所述功能用户输入机制的致动以在所述远程端点计算系统上执行功能,每一运行空间组件与所述多个连接中的一个连接相关联并且被配置成使用相关联的连接来提交请求;
识别所述多个运行空间组件中的运行空间组件的数量;
生成基于以下两者的指示保持活动超时时段的保持活动定时器输出:会话超时时段,在所述会话超时时段中到所述远程端点计算系统的所述多个连接中的连接被所述远程端点计算系统因缺少使用而禁用;以及所识别的运行空间组件的数量;以及
在所述多个连接中的所述连接中的每一连接上通过所述运行空间组件提交请求,其中,所述请求是基于所述保持活动超时时段间歇地提交的。
12.如权利要求11所述的计算机实现的方法,其特征在于,一组高速缓存池系统中的每一个与多个端点计算系统中的不同一个端点计算系统相对应,且具有存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到对应端点计算系统的活动连接,并且其中生成所述保持活动定时器输出包括:
基于所述已打开运行空间高速缓存池中的运行空间组件的数量来动态地改变所述保持活动超时时段。
13.如权利要求12所述的计算机实现的方法,其特征在于,还包括:
在最后已知良好的队列中按所述已打开运行空间高速缓存池中的运行空间组件被最后成功使用的次序来标识它们。
14.如权利要求13所述的计算机实现的方法,其特征在于,还包括:
接收指示所述请求的提交输入;以及
基于所述最后已知良好的队列的内容来选择所述运行空间组件以接收所述请求。
15.如权利要求14所述的计算机实现的方法,其特征在于,还包括:
将具有到对应端点计算系统的已关闭连接的运行空间组件存储到已关闭运行空间高速缓存池;
生成指示打开运行空间超时时段的打开运行空间定时器输出;
从所述已关闭运行空间高速缓存池选择运行空间组件;
尝试打开与所选运行空间组件相对应的连接;以及
如果所述打开组件成功打开所选运行空间组件,则将所选运行空间组件移至所述已打开运行空间高速缓存池。
16.如权利要求15所述的计算机实现的方法,其特征在于,还包括:
生成指示检查池大小超时时段的检查池大小定时器输出;
基于所述检查池大小超时时段来确定运行空间组件的总数是否满足大小改变边界;以及
如果是,则改变给定高速缓存池系统中的运行空间组件的总数。
17.一种计算系统,包括:
一组高速缓存池系统,每一高速缓存池系统与多个端点计算系统中的不同一个端点计算系统相对应且具有存储运行空间组件的已打开运行空间高速缓存池,所述运行空间组件具有到对应的端点计算系统的活动连接;
第一定时器组件,其被配置成:
识别所述多个运行空间组件中的运行空间组件的数量;以及
生成指示基于以下两者的第一超时时段的第一定时器输出:会话超时时段,在所述会话超时时段中到所述对应的远程端点计算系统的所述多个连接中的连接被所述对应的远程端点计算系统因缺少使用而禁用;以及所识别的运行空间组件的数量;以及
远程连接系统,其被配置成:
在所述多个连接中的所述连接中的每一连接上通过所述多个运行空间组件提交请求,其中,所述请求是基于所述第一超时时段间歇地提交的。
18.如权利要求17所述的计算系统,其特征在于,每一高速缓存池系统包括存储具有到对应端点计算系统的已关闭连接的运行空间组件的已关闭运行空间高速缓存池,并且其中所述远程连接系统包括:
第二定时器组件,其被配置成生成指示第二超时时段的第二定时器输出;
打开组件,其被配置成从所述已关闭运行空间高速缓存池选择运行空间组件并尝试打开与所选运行空间组件相对应的连接;以及
移动组件,其被配置成在所述打开组件成功打开所选运行空间组件的情况下将所选运行空间组件移至所述已打开运行空间高速缓存池并使它进入最后已知良好的队列。
19.如权利要求18所述的计算系统,其特征在于,还包括:
第三定时器组件,其被配置成生成指示第三超时时段的第三定时器输出;
边界检查组件,其被配置成基于所述第三超时时段确定运行空间组件的总数是否满足大小变化边界;以及
大小改变系统,其被配置成响应于所述边界检查组件指示运行空间组件的总数满足所述大小改变边界来改变运行空间组件的总数。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246382.0A CN106302571B (zh) | 2015-05-14 | 2015-05-14 | 用于对服务器连接进行维护和高速缓存的系统和方法 |
US15/080,921 US10356173B2 (en) | 2015-05-14 | 2016-03-25 | Maintaining and caching server connections |
PCT/US2016/024199 WO2016182637A1 (en) | 2015-05-14 | 2016-03-25 | Maintaining and caching server connections |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246382.0A CN106302571B (zh) | 2015-05-14 | 2015-05-14 | 用于对服务器连接进行维护和高速缓存的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302571A CN106302571A (zh) | 2017-01-04 |
CN106302571B true CN106302571B (zh) | 2020-07-28 |
Family
ID=57276271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510246382.0A Active CN106302571B (zh) | 2015-05-14 | 2015-05-14 | 用于对服务器连接进行维护和高速缓存的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10356173B2 (zh) |
CN (1) | CN106302571B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824750B2 (en) * | 2016-08-12 | 2020-11-03 | Oracle International Corporation | System and method for performing connection validation in a multi-tenant environment |
US11290540B2 (en) | 2016-08-12 | 2022-03-29 | Oracle International Corporation | System and method for use of server-side connection pool tagging in a multi-tenant environment |
US10742748B2 (en) | 2016-08-12 | 2020-08-11 | Oracle International Corporation | System and method for supporting live addition of a tenant in a connection pool environment |
US10909211B2 (en) | 2016-08-12 | 2021-02-02 | Oracle International Corporation | System and method for control of maximum connections in a connection pool environment |
CN113765886B (zh) * | 2021-08-04 | 2023-07-25 | 深圳Tcl新技术有限公司 | 多媒体播放方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949774A (zh) * | 2006-11-02 | 2007-04-18 | 华为技术有限公司 | 一种Web应用程序会话管理方法与装置 |
US7702796B2 (en) * | 2006-05-18 | 2010-04-20 | International Business Machines Corporation | Recovering a pool of connections |
US8886787B2 (en) * | 2009-02-26 | 2014-11-11 | Microsoft Corporation | Notification for a set of sessions using a single call issued from a connection pool |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965930B1 (en) * | 2000-10-20 | 2005-11-15 | International Business Machines Corporation | Methods, systems and computer program products for workload distribution based on end-to-end quality of service |
MXPA03010467A (es) * | 2001-05-14 | 2004-12-06 | Martek Biosciences Boulder Corp | Produccion y uso de una fraccion polar rica en lipidos que contienen acido estearidonico y acido gama-linolenico proviniente de semillas y microbios. |
US20040046787A1 (en) * | 2001-06-01 | 2004-03-11 | Attachmate Corporation | System and method for screen connector design, configuration, and runtime access |
US7043606B2 (en) | 2002-10-01 | 2006-05-09 | America Online, Inc. | Automatic browser web cache resizing system |
US8145759B2 (en) * | 2002-11-04 | 2012-03-27 | Oracle America, Inc. | Dynamically configurable resource pool |
US7526556B2 (en) | 2003-06-26 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for managing keepalive transmissions |
US9262490B2 (en) * | 2004-08-12 | 2016-02-16 | Oracle International Corporation | Adaptively routing transactions to servers |
US8244865B2 (en) * | 2004-10-08 | 2012-08-14 | International Business Machines Corporation | Method and apparatus for autonomic management of connection pools |
US8327003B2 (en) * | 2005-02-03 | 2012-12-04 | International Business Machines Corporation | Handling backend failover in an application server |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US7716721B2 (en) | 2005-10-18 | 2010-05-11 | Cisco Technology, Inc. | Method and apparatus for re-authentication of a computing device using cached state |
US8151323B2 (en) | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US8391295B2 (en) * | 2007-07-31 | 2013-03-05 | Oracle International Corporation | Temporal affinity-based routing of workloads |
US7978630B2 (en) | 2009-04-30 | 2011-07-12 | Sony Ericsson Mobile Communications Ab | Method and system of maintaining a connection in a network communication system |
US8375134B2 (en) | 2009-06-08 | 2013-02-12 | Microsoft Corporation | Determining an efficient keep-alive interval for a network connection |
US8065419B2 (en) | 2009-06-23 | 2011-11-22 | Core Wireless Licensing S.A.R.L. | Method and apparatus for a keep alive probe service |
US20120217872A1 (en) * | 2009-09-04 | 2012-08-30 | David Bruce Eeles | Luminaire |
US9098565B1 (en) * | 2009-10-08 | 2015-08-04 | Cellco Partnership | In-house elegant JDBC connection pooling solution for message broker |
US8335819B2 (en) | 2009-12-31 | 2012-12-18 | Nokia Corporation | Method and apparatus for providing client-side caching |
US8788783B1 (en) | 2010-06-18 | 2014-07-22 | Disney Enterprises, Inc. | Dynamically tuning the size of a cache stored in a shared memory |
US8484242B1 (en) * | 2010-08-24 | 2013-07-09 | ScalArc, Inc. | Method and system for transparent database connection pooling and query queuing |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9612641B2 (en) * | 2010-11-17 | 2017-04-04 | International Business Machines Corporation | Adjusting the connection idle timeout in connection pools |
US8775737B2 (en) | 2010-12-02 | 2014-07-08 | Microsoft Corporation | Efficient cache management |
EP2485457A1 (en) | 2011-02-04 | 2012-08-08 | Siemens Aktiengesellschaft | A method for keeping a web session alive in a web application |
US8239698B2 (en) | 2011-07-01 | 2012-08-07 | Intel Corporation | System and method for maintaining connectivity to remote application servers |
US8566625B2 (en) | 2011-07-01 | 2013-10-22 | Intel Corporation | System and method for determining transmitting frequency to maintain remote application server connectivity |
US8806250B2 (en) | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
EP2608032A1 (en) | 2011-12-22 | 2013-06-26 | Software AG | Resource adapter for establishing a connection between an executive information system (EIS) and at least one client |
US9930122B1 (en) * | 2012-09-28 | 2018-03-27 | Open Text Corporation | Method and system for connection pooling for content management clients |
KR20150084017A (ko) | 2012-10-22 | 2015-07-21 | 인터디지탈 패튼 홀딩스, 인크 | 이동국에서 실행 중인 애플리케이션의 “킵-얼라이브” 메시지 빈도를 협상하기 위한 방법 및 장치 |
US10191887B2 (en) * | 2013-07-18 | 2019-01-29 | Microsoft Technology Licensing, Llc | Context affinity in a remote scripting environment |
US9635005B2 (en) * | 2014-07-18 | 2017-04-25 | Document Storage Systems, Inc. | Computer readable storage media for tiered connection pooling and methods and systems for utilizing same |
-
2015
- 2015-05-14 CN CN201510246382.0A patent/CN106302571B/zh active Active
-
2016
- 2016-03-25 US US15/080,921 patent/US10356173B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702796B2 (en) * | 2006-05-18 | 2010-04-20 | International Business Machines Corporation | Recovering a pool of connections |
CN1949774A (zh) * | 2006-11-02 | 2007-04-18 | 华为技术有限公司 | 一种Web应用程序会话管理方法与装置 |
US8886787B2 (en) * | 2009-02-26 | 2014-11-11 | Microsoft Corporation | Notification for a set of sessions using a single call issued from a connection pool |
Also Published As
Publication number | Publication date |
---|---|
US20160337466A1 (en) | 2016-11-17 |
CN106302571A (zh) | 2017-01-04 |
US10356173B2 (en) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710157B (zh) | 多租户计算系统以及多租户计算系统的计算机实现方法 | |
CN106302571B (zh) | 用于对服务器连接进行维护和高速缓存的系统和方法 | |
JP6719445B2 (ja) | リアル・タイム・プロビジョニングのための動的更新ストリーム | |
CN110168509B (zh) | 集成应用问题检测和改正控制 | |
EP3427140A1 (en) | Managing multiple cloud stores through a web service | |
US20160080519A1 (en) | Local caching and resolution of service calls | |
WO2015123121A1 (en) | Caching queries for dynamic webpages | |
US20160274736A1 (en) | Synchronized multi-window interaction with hierarchical data on thin-client | |
CN112005217B (zh) | 服务于请求的独立线程api调用 | |
EP3314408B1 (en) | Computing system and computer-implemented method for performing management operations on different versions of a service | |
CN108139919B (zh) | 外部进程用户界面隔离和监测 | |
US10455004B2 (en) | Controlling an application dependency identifier | |
CN107533487B (zh) | 云掌控的设置 | |
WO2018231379A1 (en) | Switching control for low quality communication signal | |
US20160266947A1 (en) | Mobile application memory profiling for custom extensions | |
WO2016182637A1 (en) | Maintaining and caching server connections | |
US20130326520A1 (en) | Multiple top level user interface displays | |
US9753788B2 (en) | Extensibility of engines in computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |