CN103946833A - 管理专用缓存的系统和方法 - Google Patents

管理专用缓存的系统和方法 Download PDF

Info

Publication number
CN103946833A
CN103946833A CN201280055543.2A CN201280055543A CN103946833A CN 103946833 A CN103946833 A CN 103946833A CN 201280055543 A CN201280055543 A CN 201280055543A CN 103946833 A CN103946833 A CN 103946833A
Authority
CN
China
Prior art keywords
buffer memory
server
response
request
configuration
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
Application number
CN201280055543.2A
Other languages
English (en)
Other versions
CN103946833B (zh
Inventor
威廉·W·C
赛里木·S
约翰·H
马克·T
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MOBOPHILES Inc dba MOBOLIZE
Original Assignee
MOBOPHILES Inc dba MOBOLIZE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MOBOPHILES Inc dba MOBOLIZE filed Critical MOBOPHILES Inc dba MOBOLIZE
Publication of CN103946833A publication Critical patent/CN103946833A/zh
Application granted granted Critical
Publication of CN103946833B publication Critical patent/CN103946833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于客户端的计算机系统,该系统被配置为通过网络与远程服务器通信并提供对服务器所提供的内容或服务的访问。该系统包括处理器、存储装置、专用于由配置指定的一组资源的客户端缓存、以及用于自动按该配置的指示管理缓存的缓存管理器。该客户端缓存通过配置被指示用于以透明方式从客户端应用到服务器拦截一个资源的请求,以及自动确定何时通过网络将请求发送至服务器以及从服务器提供响应,以使对于客户端应用看起来是客户端应用将请求发送至服务器以及从服务器接收响应。

Description

管理专用缓存的系统和方法
技术领域
本发明的实施例的各个方面涉及缓存管理,例如网络缓存。
背景技术
当前的客户端-服务器系统,如网络应用,可以在各个不同的点利用缓存以优化性能,比如在最终用户计算机上或在网络中的某个位置。这些网络缓存解决方案通常用于共享缓存,其中来自多个用户和/或站点的内容共享磁盘上和/或存储器中的同一空间,以存储内容以在后续访问时更快地进行检索。共享缓存会导致在跨不同站点和/或由不同的用户访问的内容之间对同一有限缓存空间的竞争。
这些网络缓存解决方案还不提供基于该应用集中用户定制缓存行为的方法。例如,一家大型公司可能有多台运行特定网络应用的服务器,例如不同的部门或业务单位分别有单独的服务器。这些方法可能针对特定域和/或URL,因此这些方法无法基于一种应用类型应用缓存策略。
发明内容
本发明的实施例的各个方面通过提供集中式管理缓存控制来解决这些及其他相关问题。更具体地说,本发明的实施例的各个方面提供对以下内容的细粒度控制(例如,通过统一资源定位器(URL)模式):按用户(或按用户帐户)缓存或清除(或不缓存或不清除)哪些内容。更进一步,这些方面允许在没有安全套接字层(SSL)、域名系统(DNS)或网络变化的情况下以无缝方式启用或禁用。再进一步,这些方面提供按域或URL模式分配空间。其他方面提供特定于应用的控制,对读取或写入操作的缓存的调整,以及通过URL模板自动配置(例如,自动调动)。
另外,本发明的实施例的各个方面提供对特定于端点的网络功能的集中式控制。更具体地说,各个方面提供以下功能:调整同步活动;添加对基于表单的验证的支持;启用或禁用脱机存取;配置唯一标识符(UI)元素;以及测量或报告实际最终用户体验。
因此,本发明的实施例提供对专用缓存的管理,例如,可以将其中每个专用缓存分配给与特定UR模式(例如,对于特定服务器/站点、子路径/文件夹或文件/对象)相关联的内容的缓存。例如,当这些缓存位于最终用户计算机上,或位于中间缓存服务器上,该服务器处于与一个或多个服务器系统通信的客户端系统之间时,这些专用缓存可以由管理系统远程控制(而在这个意义上,指的是远程专用缓存,即,与管理系统相关)。
相关的专利申请(美国专利申请第12/630,806号,下文中简称“U.S.12/630,806”)记载了为了对处于该URL作用域内的客户端请求的服务器响应进行缓存,一个或多个URL如何与服务器帐户或应用相关联。U.S.12/630,806记载了对显著改进可管理性的服务器帐户进行缓存的各个方面,例如,为该服务器帐户的缓存指定自定义存储限制,和/或对在该服务器帐户的缓存中存储的内容进行用户定制。通过对每个服务器帐户的自定义存储限制的支持,U.S.12/630,806提供以下特征,例如,将私有缓存空间专用于该服务器帐户,使得此缓存空间特定地专门用于与该服务器帐户相关联的URL模式的缓存,其中这些模式可以是站点、子路径/文件夹或特定文件/对象。
每个服务器帐户一个专用缓存产生的益处是,专用缓存不与其他站点/文件夹/文件的内容共享缓存空间,从而不会出现共享公用缓存空间(例如由浏览器或代理服务器提供的共享缓存)所导致的典型缓存争用。对这些共享缓存的缓存争用通常高于对专用缓存的缓存争用。因此,通过创建一个或多个专用缓存,其中每个缓存都与一个或多个URL模式相关联,这些专用缓存可以帮助确保比共享缓存更长的缓存有效期和更高的缓存命中率。这进而可以提供以下益处,例如更快的网络性能、更少的带宽使用、执行更少的请求/往返以及在服务器端基础架构上更少的整体负载。
本发明通过提供对这些缓存的细粒度管理和控制,对U.S.12/630,806的专用缓存做了改进。例如通过将多个相关的请求/URL与同一缓存内容相匹配,或延长内容的可缓存有效期而使其超出服务器所指定的可缓存有效期,提供对缓存内容以及缓存方式的细粒度控制可以改进性能并减少基础架构负载。
对这些专用缓存的集中式管理可以提供范围广泛的动作,管理员可以采用这些动作来远程控制大量的这些专用缓存。例如,这些动作可以包括以动态方式创建/删除这些专用缓存,调整分配给其中每个专用缓存的空间,以及设置/更改应用于每个专用缓存的缓存策略。
在本发明的一个示例性实施例中,会提供基于客户端的计算机系统,该系统被配置为通过网络与远程服务器进行通信,以及提供对该服务器所提供的内容或服务的访问。该系统包括处理器、存储装置、专用于由配置指定的一组资源的客户端缓存、以及用于自动按该配置的指示管理缓存的缓存管理器。客户端缓存由该配置指导以实现以下功能:以透明方式从客户端应用到服务器拦截一个资源的请求;以及自动确定何时通过网络将请求发送至服务器以及从服务器提供响应,以使对于客户端应用看起来是客户端应用将请求发送至服务器以及从服务器接收响应。客户端缓存通过以下操作来实现上述功能:通过将请求发送至服务器,以使对于服务器看起来是客户端应用发送了请求;从服务器提供响应;以及将响应存储在存储装置上;或者通过从缓存提供响应。
在本发明的另一个示例性实施例中,提供了一种方法,该方法用于将计算机配置成通过网络与远程服务器进行通信,并提供对该服务器所提供的内容或服务的访问。所述方法包括以下步骤:创建一个或多个专用缓存,每个缓存与一个或多个URL相关联;对于每个缓存,根据一个或多个规则管理缓存;以透明方式从客户端应用到服务器拦截URL中的一个的请求;和自动确定何时通过网络将请求发送至服务器以及从服务器提供响应,以使对于客户端应用看起来是客户端应用将请求发送至服务器以及从服务器接收响应。提供响应的步骤包括:将请求发送至服务器,以使对于服务器看起来是客户端应用发送请求,从服务器提供响应,以及将响应存储在存储装置上;或者从一个缓存提供响应。
附图说明
附图显示了本发明的几个实施例,并且与说明一起用于说明本发明的原理和各个方面:
图1是显示根据本发明的一个示例性实施例的集中式管理的专用缓存的系统体系结构的视图,其中缓存位于正在访问远程服务器上的应用/数据的客户端计算机上;
图2是显示根据本发明的一个示例性实施例的一组客户端进程示例的视图;
图3是根据一个实施例的统一建模语言(UML)序列图,显示用于通过管理服务器注册客户端计算机的注册进程示例;
图4是根据一个实施例的UML序列图,显示示例性的管理任务循环;
图5是根据一个实施例的UML序列图,显示管理器对从管理服务器收到的任务的示例性处理;
图6是根据一个实施例的UML序列图,显示用于处理应用配置数据示例UML帧更新应用配置;
图7是根据一个实施例的UML序列图,显示用于处理站点配置数据的示例UML帧更新站点配置;
图8是根据一个实施例的UML序列图,显示用于处理配置模板设置的示例UML帧应用配置模板;
图9是根据一个实施例的UML序列图,显示用于处理清除缓存任务的示例UML帧清除缓存;
图10是根据一个实施例的UML序列图,显示用于从缓存中删除特定项目的示例UML帧刷新缓存项目;以及
图11显示根据本发明的一个实施例的专用缓存管理的示例性方法。
具体实施方式
接下来的所示实施例仅是本发明的示例性应用,并非限制本发明的保护范围。附录在优先权文件中提供,该优先权文件包含本发明的示例性实施例的许多实施的具体细节。
1管理专用缓存
本发明的实施例为专用缓存提供,其中每个缓存专用于为一个或多个统一资源定位器(URL)模式存储内容。如相关的专利申请U.S.12/630,806所述,这些专用缓存每个都与一个服务器帐户相关联,为了缓存服务器响应,一个服务器帐户会与一个或多个URL相关联。通过使每个专用缓存用户定制化,例如指定要缓存的内容以及如何缓存,本发明的实施例提供优于现有技术的显著改进。
本发明的实施例通过配置设置提供细粒度缓存控制,这些配置设置可以以动态方式定制,例如由最终用户、系统管理员或网络站点开发人员进行定制。所述配置设置可以使用许多不同的方法进行存储,这些方法是本领域技术人员所熟知的,例如文件或数据库。根据YAML规范(http://www.yaml.org/),本发明的示例性实施例在文本文件中支持这些配置设置,该规范允许简单的可扩展结构,用户可以使用任何标准文本编辑器对该结构直接进行编辑。
1.1基于应用的配置
本发明的实施例可以为每个缓存分配不同的缓存规则/策略/机制,使得可以对每个缓存进行定制以支持每个网络站点/应用的不同功能,这是因为每个网络站点/应用可以有非常不同的行为(behavior),这些行为会影响进行缓存的方式。通过为每个网络应用支持一种限定用户定制配置的灵活方式,本发明的实施例可以适于支持任何当前和将来的网络应用。
本发明的实施例还可以基于URL模板自动创建缓存。例如,理想的是为因特网域(例如,acme.com)内的任何服务器自动创建缓存,而不必提前知道所有可能的服务器名称,例如serverl.acme.com或server99.acme.com。URL模板允许系统根据基于字符串的模式自动创建缓存,该模式用于为从远程服务器访问的内容匹配URL。例如,将URL模板指定为“http://*.acme.com”会允许客户端系统自动为acme.com域中的任何服务器中的内容创建单独的缓存,而不需要明确指定每个缓存。
本发明的实施例可以以许多不同的方式将一个或多个配置应用于缓存,例如,通过给每个配置分配一个URL模式并将该配置应用于具有匹配URL的任何服务器帐户的缓存。还可以给一个配置分配一些可以从服务器获得的其他标识信息,如在HTTP响应的“Server”标头(header)中,或者可能甚至在从服务器返回的自定义标头。
本发明的一个示例性实施例通过支持下列属性,将配置与缓存相匹配,可以将下列属性分配给每个配置:
以下是基于URL关联配置的属性的一个示例:
id:
mode:domain
url:′http[s]://maps\.google\.com/.*′
同样,以下是基于自定义超文本传输协议(HTTP)响应标头关联配置的属性的一个示例:
1.2匹配请求和响应
根据一个示例性实施例,应用配置设置包括两组可能的属性:
·匹配属性:指定哪些请求/响应与哪个应用配置设置应用匹配。
·动作属性:指定应用配置设置的动作/行为。
匹配属性可以与客户端/服务器请求或响应的一个或多个分量匹配,例如请求的URL或响应的正文。本发明的示例性实施例提供下列匹配属性:
一旦找到配置设置与请求或响应匹配,则基于匹配属性可以将动作属性相应地应用于请求/响应。
1.3配置动作
根据一个示例性实施例,存在可以与应用配置设置相关联的许多不同的动作属性,这种情况下可以指定一个或多个动作的任意组合来更改缓存的默认行为。这会提供为每个服务器帐户定制专用缓存的行为和操作的能力,从而支持不同类型的网络站点/应用,或者覆盖/优化除默认之外的网络应用的可缓存性。
1.3.1重映射请求(remapping request)
可能会存在这样的情形:每一个具有不同URL的不同请求实际上与同一响应数据相对应。例如,常见的是网络开发人员利用URL来传送瞬态数据,例如,上一页的URL或者也许是会话标识符。在这些情况下,这些看起来不同的请求实际上会从服务器产生相同的响应,将这些请求视为相同的请求会很有益处,这样可以从响应的相同缓存版本处理所有这些请求。
为了支持将同一请求的不同变体重新映射到同一响应,本发明的一个示例性实施例筛选出在同一底层请求的相似情况之间不相同的请求部分,比如删除指定为URL查询字符串变元的瞬态数据,使得这些不同的请求变体最终看起来是相同的。下表列出了用于筛选出HTTP请求的多个部分的配置设置的示例动作属性:
使用这些动作属性,以下是配置设置的示例,该配置设置用于从指定上一页的请求URL筛选出查询字符串变元:
在一种相似的方式下,以下是另一个更为复杂的配置设置示例,该配置设置通过筛选出请求的瞬态分量将对同一网络页面(SharePoint站点)的请求的各种变体重新映射到同一缓存:
1.3.2控制缓存有效期
有时可能需要控制或改变已缓存的响应的有效期,例如,当服务器未适当配置为启用缓存时,或者当用户可能更希望超过由服务器指定的缓存有效期时需要。例如,通常在可缓存的服务器上会存在静态内容(例如,图像、javascript、层叠样式表、PDF等),但其中一些可能未适当地配置为以最佳方式在客户端进行缓存。
根据本发明的示例性实施例,为了控制存储在专用缓存管理系统中的项目的有效期,系统会将有效期限应用于服务器响应,该有效期限会优先于由服务器提供的有效期限(如果有)。下表列出了用于控制服务器响应的缓存方式的配置设置的示例动作属性:
使用这些操动作属性,以下是配置设置的示例,该配置设置用于从“_layouts”文件夹为请求指定1年(31,536,000秒)的缓存有效期限:
2集中式管理
本发明的实施例通过提供管理服务器为远程专用缓存提供集中式管理能力,管理服务器为管理员提供管理控制台以集中配置这些缓存的操作和行为。在一个示例性实施例中,管理控制台的运行无法由正在缓存的应用/站点的正常客户端-服务器交互控制。
图1是显示集中式管理的专用缓存(例如,缓存103)的示例性实施例的视图,在本实施例中,缓存位于访问远程服务器(例如,服务器108)上的应用/数据的客户端计算机(例如,客户端100)上。
参照图1,客户端100是支持通过网络107(例如,互联网)与服务器108通信的计算机。客户端100支持客户端应用(Client App)101的操作,例如,此客户端应用可以是可以与远程服务器进行通信的任何基于互联网的客户端应用,例如网络浏览器。客户端100可以包括中央处理单元(CPU)或以计算机指令的形式执行软件的处理器、用于存储软件和由CPU访问或生成的关联数据的非易失性存储器(例如磁盘驱动器)、以及用于访问网络107的网络接口(例如互联网服务104)。
更具体地,应用编程接口(API)拦截102已经被插进客户端应用101和互联网服务104之间,从而允许API拦截102将请求从客户端应用101指向服务器108(通过互联网服务104)、缓存103或两者的任意组合。指向缓存103的请求可以使用本地存储在存储器106(例如,非易失性存储装置,如磁盘驱动器)的响应进行处理。对存储器106的访问可以通过存储服务105进行处理,存储服务105是公用存储访问层,例如文件系统、数据库或其组合。
此外,管理器150管理缓存103的功能和操作,并与管理服务器170(例如,用于管理本地专用缓存的远程服务器,比如缓存103)进行交互,以动态接收和处理配置变化和动作。在这种情况下,“本地专用缓存”指的是存储在客户端计算机系统本地的存储装置上的专用缓存。
图2是软件体系结构图,显示示例系统中客户端进程的一个实施例。此图显示与此实施例最相关的软件组件,并且本领域技术人员会理解还存在未显示的其他软件组件。存在四个逻辑上不同的进程,其编号分别为110、130、140和150。对于进程110和130,会显示图1中的软件层(例如,客户端应用101、API拦截102、缓存103和互联网服务104),从而指示它们如何映射到此图内的特定实例。
进程110正在运行WinInet客户端111(例如Microsoft Word或MicrosoftInternet Explorer),WinInet客户端111是通常链接到Microsoft的WinInet动态链接库(DLL)的客户端应用101的一种类型,而WinInet动态链接库是互联网服务104的一种类型。WinInet拦截160是示例API拦截102,示例API拦截102由WinInet客户端111拦截请求,而WinInet客户端111允许WinInet拦截将用于WinInet161的请求重定向至缓存103。WinInet客户端111加载应用插件113,应用插件113可以作为Microsoft Word的COM Office内插式附件或者作为Microsoft Internet Explorer的浏览器帮助对象(BHO)进行实施。应用插件可以从客户端用户界面提供对缓存103的访问,例如获取或设置缓存内容或状态。应用插件还可以用来插进WinInet拦截160以在WinInet客户端111和WinInet161之间拦截函数调用。这允许缓存103接收从WinInet客户端111发布的互联网请求并对其进行处理。
本实施例应用于访问互联网服务104的任何客户端应用101,例如将Mozilla Netlib用于其互联网服务的Mozilla Firefox。通过互联网服务104的API访问互联网的任何应用可以由API拦截102所拦截,API拦截102接着可以将其互联网请求重定向至缓存103。访问不同的互联网服务104的客户端应用101可以使用不同的API拦截102来启用拦截。
例如,缓存103可以是应用所公用的,例如在进程110和130中。缓存103可以包括缓存引擎162,缓存引擎162进而可以包括一个或多个提供应用通用功能的软件组件。缓存103还可以包括零个或多个应用扩展器163,应用扩展器163使用特定于应用的功能以逻辑方式扩展缓存引擎162。在一些实施例中,缓存引擎162可以是在Java虚拟机164(JVM)内运行的Java软件,Java虚拟机164增强不同计算平台上的可移植性。当缓存引擎162收到互联网请求时,缓存引擎162可以从存储器查询响应数据,例如通过数据库141,数据库141可以通过单独的处理140进行访问。缓存引擎162也可以调用应用扩展器163来帮助请求。如果发现有效的响应,则缓存引擎162会将响应返回给上层客户端应用101,例如进程110中的WinInet客户端111。否则,缓存引擎162可能会导致请求被发布到服务器,这可能会通过另一个上下文发生,例如通过爬取进程130。
尽管在图2的实施例中缓存103在客户端计算机上运行,但缓存103也可以在一个或多个单独的计算系统上运行,例如与服务器相比,对于客户端计算机可用性更好或带宽更宽的计算系统。例如,缓存103可以在同一局域网或附近局域网(例如,以太网、WiFi、蓝牙)上的另一平台(例如,服务器、手机等)上运行,从而允许缓存103向网络应用提供改进的可用性和/或性能特性。
根据一些实施例,本发明的一个方面是通过第三方软件的支持来支持特定于应用的用户定制。外部软件可以使用许多直接和间接的方式来帮助请求处理。例如,通过与缓存引擎162链接的外部函数,可以支持对特定于应用的软件的直接调用。作为另一个示例,通过进程间通信,例如由缓存引擎162打开的消息队列或管道,可以支持对特定于应用的软件的间接调用。对外部软件的调用可以是有条件的,例如符合请求参数的要求。例如,对外部软件的调用可以由缓存引擎162上的配置参数来设置,例如在执行特定调用之前指定模式以与请求标头匹配的配置参数。
进程130正在运行爬取131,爬取通常在后台(即,用户看不到)支持与服务器之间的通信。爬取可以是在JVM132内部运行的Java软件组件,JVM132可以是与JVM164相同的JVM实例。爬取131通过以可编程方式控制基于互联网的客户端应用101(例如,WinInet浏览器134)来请求服务器资源,WinInet浏览器134可以与WinInet客户端111相同或相似。可以通过浏览器控制层133以可编程方式控制WinInet浏览器134,例如在Java(Watij)或TeamDevJexplorer中的网络应用测试。与进程110相似,进程130插进WinINet拦截160(例如,爬取131通过Java本地接口(JNI)调用LoadLibrary)以从WinInet浏览器134启用对互联网请求的拦截。
进程130可以与进程110不同,不同之处在于例如当缓存的版本丢失或需要重新进行刷新时,到缓存103的互联网请求被传送至服务器;这些请求是由WinInet拦截160直到WinInet161进行传递的,这样可以由服务器处理这些请求。缓存103可以通过提供不同的操作模式(与进程110相比)来支持此行为,从而爬取131可以明确请求该模式,例如通过在初始化时间内所进行的调用。从服务器收到的任何新的响应数据可以存储到数据库141中,使得该响应数据可以被保留下来并变得可访问,例如可供进程110访问。
一些实施例可以通过数据库141访问存储,数据库141可以包括文件系统、数据库或其组合。数据库141可以在与缓存103的进程相同的进程内进行访问,或者可以由单独的上下文或进程(比如进程140)提供数据库141。在一些实施例中,进程140正在运行数据库141,数据库141管理对本地缓存的服务器内容的访问。数据库141可以是在JVM142内运行的Java软件组件。其他进程可以通过使用常见的进程间通信(IPC)机制(例如,Java远程方法调用(RMI)或Java数据库连接(JDBC))与进程140通信,从数据库检索或存储数据。数据库141还可以在客户端进程内运行,例如在进程110或130内运行;例如,如果数据库141支持共享数据的进程间串行化,那么可能会现这种情况。
进程150运行管理器151,管理器151处理各种各样的控制和管理任务,例如启动爬取和观察服务器连接的变化。管理器151可以是在JVM152内部运行的Java软件组件。其他进程可以通过使用常见的IPC机制(例如Java RMI)访问由管理器151提供的服务。
3客户端/服务器交互
3.1客户端注册
在本发明的一个示例性实施例中,例如图1的实施例,每个远程缓存(即,相对于中央管理器)在逻辑上与在管理服务器170上维护的特定配置相关联,这样可以在安装时预先配置远程缓存或在随后重新配置。在一个示例性实施例中,远程缓存(例如缓存103)位于客户端计算机(例如客户端100)上,而客户端100会通过管理服务器170注册以初始获取其配置数据,然后定期检查配置变化。每个客户端与特定配置组相关联,并且每个配置组会有唯一的标识符(UI),称为所有人全局唯一标识符(GUID),GUID可以分配给每个客户端100。
可以使用多种方式将所有人GUID分配给客户端100。在一个示例性实施例中,客户端100的软件安装包可以包含所有人GUID,将其作为嵌入在内部的资产,这样该GUID以后可供客户端100使用。在这种情况下,每个组可以具有不同的安装包,并且这些安装包中的每一个可以通过不同的URL唯一地进行标识。例如,分配所有人GUID的替代方式可以包括允许用户在安装客户端100之前或之后捡取配置组,或允许管理服务器170基于关于客户端的一些信息(例如,客户端的IP地址、计算机名称或当前用户的用户名)分配所有人GUID。
图3显示通过管理服务器170注册客户端100的一个示例性实施例的统一建模语言(UML)序列。当启动安装程序180时,安装程序180将执行安装文件3001和其他常见安装任务,以及执行存储所有人GUID3002。当完成安装程序180之后,后一个任务是通过执行启动管理器3003来启动管理器150(例如,缓存管理器)。
管理器150处理客户端缓存管理功能,包括为缓存103检索、应用和更新配置和设置。管理器150首次运行时,会执行步骤注册3010以通过管理服务器170初始注册。任何时候新的客户端100注册到管理服务器170,管理服务器170都会执行步骤分配客户端GUID3020,此步骤会为该客户端分配唯一的标识符,以与管理服务器170进行后续交互。管理服务器170还执行步骤创建任务3021以创建与新客户端100相关联的任何初始任务。管理服务器170将在步骤3030将新的客户端GUID返回到新客户端100,很可能会连同新客户端的所有初始任务一起返回,例如新配置或许可证任务。
在一个示例性实施例中,在管理器150已注册一次之后,管理器150随后定期检查管理服务器170是否存在作为所做任何配置更改的结果生成的任何新任务,例如,由管理员在管理服务器170上所做的更改,如UML帧任务循环3040中所述,下面关于图4进一步说明UML帧任务循环3040。
3.2MMC任务
图4是显示根据本发明的一个实施例的示例性UML帧任务循环3040的UML序列图。
参照图4,UML帧任务循环3040显示管理器150可以从管理服务器170收到的任务的一般处理。管理器150会定期(例如每五秒钟)检查在步骤请求任务4001中是否存在任何新任务,可以作为管理员在管理服务器170上所做的任何配置更改的结果生成这些任务。如果任何任务通过步骤接收任务4010返回,则可以在步骤处理任务4020中应用这些任务。执行的任务的结果会通过步骤报告结果4030报告回管理服务器170。
图4还显示普遍任务401,该任务由管理服务器170在步骤接收任务4010期间发送给管理器150。该任务由类型402和可选有效负载(Payload)403所限定。任务401的类型402和有效负载403会变化,并可以使用各种各样的编码来表示,包括字符串、二进制数据和类似编码。在处理任务4020中,可以处理一个或多个任务,其中每个任务可以为不同类型。下面将作为处理任务4020的单独变体说明每个特定任务的处理。在处理所有任务之后,管理器150执行报告结果4030以将其结果发送给管理服务器170。
图5详细说明从管理服务器170收到的由管理器150进行的任务的一般处理的一个示例性实施例的UML序列。在任务循环3040的每个迭代中可以接收一个或多个任务,并且这些任务在循环5000中由管理器150进行处理。根据任务的类型,每个任务都在步骤5010中进行处理,任务类型由任务类型402确定。
3.2.1更新设置任务
例如,继续参照图5,如果管理器150收到任务类型402设置为“更新设置”的任务401,则有效负载403可以包含需要在客户端100执行的多个子任务,例如更新应用配置数据(步骤5011)、站点配置数据(步骤5012)或配置模板设置(步骤5013),这些任务将在下面分别参照图6-8进行更加详细的说明。
如果更新设置任务有效负载指示应用配置需要进行更新,则会在步骤5011对其进行更新。应用配置数据可以为客户端100提供细粒度控制或复杂的操作参数,例如用于控制缓存103和/或管理器150的操作。例如,应用配置数据可以为缓存103指定特定于应用的行为,例如会缓存哪些HTTP请求或特定URL是如何缓存的。
图6显示根据本发明的一个实施例,当管理器150发现更新设置任务401的有效负载403包含应用配置数据时,应用配置数据的示例性处理。首先,管理器150执行读取任务有效负载6001以获取应用配置数据,或者管理器150可以指示何处可获取应用配置数据,例如在步骤获取应用配置6002中从管理服务器170获取。然后,在步骤保存应用配置6004中将应用配置保存到存储器106之前,管理器150在分析应用配置6003中分析并检查应用配置数据以确保该数据有效。管理器150现在可以在实施应用配置6005中实施新配置,实施应用配置6005可以包括更新其运行时数据结构,并在通知组件6006中通知其他组件所发生的更改,例如通知缓存103。
返回参照图5,如果更新设置任务有效负载指示站点配置数据需要进行更新,则会在步骤5012对其进行更新。站点配置数据可以指定要创建的专用缓存,以及每个缓存将处理哪些主机名或URL模式。
图7显示根据本发明的一个实施例,当管理器150发现更新设置任务401的有效负载403包括站点配置数据时,站点配置数据的例示性处理。首先,管理器150执行读取引入站点7001以从新站点配置获取站点。接着,管理器150执行读取现有站点7002以获取存储在需要进行更新的数据库141中的当前站点。然后,在循环7003中,对于引入站点配置中的每个站点,管理器150可以执行应用引入站点7004,例如,应用引入站点7004可以添加新站点或更新现有站点。接着可以在保存站点7005中将更改保存到数据库141。然后,管理器可以执行通知组件7006,这样其他组件(例如缓存103)可以应用各自的更改。接下来,在循环7010中,管理器150查找不再属于站点配置的任何站点,然后在移除删除站点7011中移除这些站点。
返回参照图5,如果更新设置任务有效负载指示配置模板中的设置可用,则会在应用配置模板5013中应用其设置。配置模板包含影响本发明的示例性系统实施例的操作的设置,这些设置与应用配置数据中的设置相似。这些设置可以与应用配置数据中的设置不同,不同之处在于这些设置实际上更加动态,例如可以通过图形用户界面由最终用户或管理员修改的设置。
图8显示根据本发明的一个实施例,当管理器150执行读取引入设置8001以从有效负载403获取设置时,配置模板设置的示例性处理。管理器150可以执行获取本地设置8002以从数据库141获取当前设置,接着根据引入设置执行更新本地设置8003,然后执行保存本地设置8004以将本地设置保留到数据库141。
收集更新设置子任务的结果,这样可以在步骤4030中将这些结果发送给管理服务器170。
3.2.2清除缓存任务
如果管理器150收到任务类型402设置为“清除缓存”的任务,则有效负载403指定用于在客户端100上清除缓存的指令,如图5中的步骤5014所示。
图9详细说明根据本发明的一个实施例的处理清除缓存5014任务的示例性UML序列。参照图9,管理器150从有效负载403执行读取清除设置9001,该步骤例如描述要清除的缓存,而管理器150可以清除在循环9010中指定的每个缓存。例如,每个缓存清除请求可以标识要清除的站点,例如按主机名或URL模式。管理器150可以执行读取站点信息9011以确定站点的缓存存储在存储器106中的什么位置,以便管理器150可以接着执行删除站点缓存9012。
收集清除缓存任务的结果,这样可以在步骤4030中将这些结果发送给管理服务器170。
3.2.3刷新缓存项任务
如果管理器150收到任务类型402设置为“刷新缓存项”的任务,则有效负载403指定用于在客户端100上从缓存中删除特定项的指令,如图5中的步骤5015所示。
图10详细说明根据本发明的一个实施例的处理刷新缓存项5015任务的示例性UML序列。参照图10,管理器150从有效负载403执行读取刷新请求10001,该步骤例如描述要从客户端100上的缓存中删除哪些缓存项。管理器150接着可以从数据库141执行读取站点信息10002,以获取关于每个站点的缓存的信息,例如其当前内容。
接下来,在循环10010(外部循环)中,对于从有效负载403检索到的每个刷新请求,刷新请求可以描述要从缓存中刷新的特定内容或内容类型,例如使用正则表达式或URL模式。在循环10020(中间循环)中,对于每个刷新请求,管理器150可以执行查找缓存项10023以查找与在存储器106上存储的相应站点缓存中的刷新请求匹配的项的位置。在一个示例性实施例中,缓存项存储在由“查找关键字”命名的文件中以便快速查找,例如使用缓存项的URL的散列(hash),因此查找这些缓存项的位置可能会需要读取这些缓存项的相应元数据以获取和比较其实际URL。
接下来,在循环10030(内部循环)中,对于其中每个缓存项,管理器150还可以执行查找关联项10034以找到与这些项相关联的任何内容的位置,例如映射文件,该文件参照此缓存项的用户友好名称或者此缓存项的相应HTTP响应标头。然后,在步骤10035中,管理器150从存储器106中删除为与刷新请求匹配的缓存项找到的所有项。
收集刷新缓存项任务的结果,这样可以在步骤4030中将这些结果发送给管理服务器170。
3.3典型方法
图11显示根据本发明的一个实施例的专用缓存管理的示例性方法1100。方法1100用于将计算机配置成通过网络与远程服务器通信并提供对服务器所提供的内容或服务的访问。
处理开始,并且在步骤1110中,创建一个或多个专用缓存,每个缓存与一个或多个URL相关联。每个缓存接着使用一个或多个规则在步骤1120中被管理。对URL的请求在步骤1130中以透明方式从客户端应用到服务器拦截。缓存在步骤1140中自动确定何时通过网络将请求发送至服务器以及从服务器提供响应,以对于客户端应用看起来就好像客户端应用将请求发送至服务器以及从服务器接收响应。缓存通过以下方式执行此操作:(1)在步骤1150中将请求发送至服务器,对于服务器,看起来就好像客户端应用发送了请求,从服务器提供响应,以及将响应存储在存储装置上;或者(2)在步骤1160中从其中一个缓存提供响应。处理接着会重复步骤1120,管理缓存并拦截和服务请求。
4结论
值得注意的是,尽管前述示例显示的内容是关于特定互联网应用和协议的,但本发明不限于这些互联网应用或协议。其他当前和未来的互联网应用或协议可以使用前述的采用方面。
尽管参照特定实施例说明本发明,但这些实施例仅用于说明目的,本发明并不限于这些实施例。根据本说明书、下面的权利要求书以及其等效形式,本发明的许多其他应用和实施例将是显而易见的。

Claims (40)

1.一种基于客户端的计算机系统,所述计算机系统被配置为通过网络与远程服务器通信并提供对所述服务器所提供的内容或服务的访问,所述系统包括:
处理器;
存储装置;
客户端缓存,所述客户端缓存专用于由配置指定的一组资源,所述客户端缓存由所述配置指导,以便获得以下功能:
以透明方式从客户端应用到所述服务器拦截对所述资源中的一个的请求;以及
自动确定何时通过网络将所述请求发送至所述服务器以及从所述服务器提供响应,以使对于所述客户端应用看起来是所述客户端应用将所述请求发送至所述服务器以及从所述服务器接收所述响应,上述功能通过以下方式实现:
将所述请求发送至所述服务器,以使对于所述服务器看起来是所述客户端应用发送所述请求,从所述服务器提供所述响应,以及将所述响应存储在所述存储装置上;
或者从所述缓存提供所述响应;和
缓存管理器,所述缓存管理器用于自动按所述配置的指导管理所述缓存。
2.根据权利要求1所述的系统,其中,所述缓存、所述资源组或所述缓存管理器被配置成自动对所述配置进行更新。
3.根据权利要求1所述的系统,其中,所述系统被配置成从管理控制台接收所述配置。
4.根据权利要求3所述的系统,还包括:所述管理控制台。
5.根据权利要求4所述的系统,其中,所述缓存、所述资源组和所述缓存管理器被配置为只要所述配置在所述管理控制台处变化,就会自动将更新应用到所述配置。
6.根据权利要求4所述的系统,其中,所述管理控制台被配置为根据唯一配置标识符分配所述配置。
7.根据权利要求6所述的系统,其中,所述管理控制台被进一步配置为在所述系统初始通过所述管理控制台注册时向所述系统分配唯一的客户端标识符。
8.根据权利要求1所述的系统,其中,所述配置包括用于指导所述缓存管理器的第一部分和用于指导所述缓存的第二部分。
9.根据权利要求1所述的系统,其中,所述请求包括HTTP请求。
10.根据权利要求9所述的系统,其中,所述请求包括POST请求。
11.根据权利要求1所述的系统,其中,所述配置根据一组规则指定何时在所述存储装置上存储所述响应或何时从所述缓存提供所述响应。
12.根据权利要求11所述的系统,其中,所述规则包括用于确定何时在所述存储装置上存储所述响应或何时从所述缓存提供所述响应的URL模式。
13.根据权利要求11所述的系统,其中,所述规则指定将存储的响应在所述缓存中保留多长时间。
14.根据权利要求11所述的系统,其中,所述规则指定在多长时间内存储的响应能够用于提供所述响应而不必从所述服务器重新验证。
15.根据权利要求11所述的系统,其中,所述规则指定所述请求到所述缓存中的响应的映射。
16.根据权利要求15所述的系统,其中,所述映射规则包括筛选出所述请求的一部分。
17.根据权利要求1所述的系统,其中,所述配置为不同应用类型关联不同规则。
18.根据权利要求17所述的系统,其中,所述专用缓存与应用类型中的特定类型相关联。
19.根据权利要求1所述的系统,其中,所述配置关联所述缓存所专用于的远程服务器上的用户帐户。
20.根据权利要求1所述的系统,其中,所述缓存或所述缓存管理器被配置为自动刷新所述缓存的内容。
21.根据权利要求20所述的系统,其中,所述缓存的内容被配置为根据排程(schedule)自动进行刷新。
22.根据权利要求1所述的系统,其中,所述缓存包括多个专用缓存。
23.根据权利要求22所述的系统,其中,所述配置指定各个缓存所专用于的多个相应的应用类型。
24.根据权利要求22所述的系统,其中,所述配置指定各个缓存所专用于的多个相应的用户帐户。
25.根据权利要求22所述的系统,其中,所述缓存管理器被进一步配置为按所述配置的指导重新配置所述存储装置上的专用缓存。
26.根据权利要求25所述的系统,其中,所述缓存管理器被进一步配置为按所述配置的指导重新配置所述存储装置上的每个专用缓存的存储空间。
27.根据权利要求3所述的系统,其中,所述缓存管理器被配置为对所述管理控制台提供的命令做出响应。
28.根据权利要求27所述的系统,其中,所述命令用于更新所述配置。
29.根据权利要求27所述的系统,其中,所述命令用于删除所述缓存中的内容。
30.根据权利要求29所述的系统,其中,所述命令用于删除与URL模式相对应的缓存中的内容。
31.根据权利要求27所述的系统,其中,所述命令用于刷新所述缓存中的内容。
32.一种配置计算机的方法,所述方法将计算机配置成通过网络与远程服务器通信并提供对所述服务器所提供的内容或服务的访问,所述方法包括以下步骤:
创建一个或多个专用缓存,每个缓存与一个或多个URL相关联;
对于每个缓存,根据一个或多个规则管理所述缓存;
以透明方式从客户端应用到所述服务器拦截所述URL中的一个的请求;和
自动确定何时通过网络将请求发送至所述服务器以及从所述服务器提供响应,以使对于客户端应用看起来是所述客户端应用将所述请求发送至所述服务器以及从所述服务器接收所述响应,包括:
将所述请求发送至所述服务器,以使对于所述服务器看起来是所述客户端应用发送所述请求,从所述服务器提供响应,以及将所述响应存储在存储装置上;或者
从所述缓存中的一个提供所述响应。
33.根据权利要求32所述的方法,还包括以下步骤:
重新配置所述一个或多个缓存。
34.根据权利要求32所述的方法,还包括以下步骤:
重新配置与每个缓存关联的URL。
35.根据权利要求32所述的方法,还包括以下步骤:
使用URL模式来确定何时在所述存储装置上存储所述响应或何时从所述缓存提供所述响应。
36.根据权利要求32所述的方法,还包括以下步骤:
使用规则来确定将存储的响应在缓存中保留多长时间。
37.根据权利要求32所述的方法,还包括以下步骤:
使用规则来确定根据指定值在多长时间内存储的响应能够用于提供所述响应而不必从所述服务器重新验证。
38.根据权利要求32所述的方法,还包括以下步骤:
对命令做出响应以删除所述缓存中的内容。
39.根据权利要求32所述的方法,还包括以下步骤:
对命令做出响应以删除与URL模式相对应的缓存中的内容。
40.根据权利要求32所述的方法,还包括以下步骤:
对命令做出响应以刷新所述缓存中的内容。
CN201280055543.2A 2011-11-11 2012-11-12 管理专用缓存的系统和方法 Active CN103946833B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161559017P 2011-11-11 2011-11-11
US61/559,017 2011-11-11
PCT/US2012/064735 WO2013071277A1 (en) 2011-11-11 2012-11-12 System and method for managing dedicated caches

Publications (2)

Publication Number Publication Date
CN103946833A true CN103946833A (zh) 2014-07-23
CN103946833B CN103946833B (zh) 2018-10-23

Family

ID=48281699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280055543.2A Active CN103946833B (zh) 2011-11-11 2012-11-12 管理专用缓存的系统和方法

Country Status (9)

Country Link
US (1) US9940403B2 (zh)
EP (1) EP2776936A4 (zh)
JP (1) JP6081472B2 (zh)
KR (1) KR101953942B1 (zh)
CN (1) CN103946833B (zh)
AU (2) AU2012334941A1 (zh)
CA (1) CA2890411C (zh)
IN (1) IN2014CN04305A (zh)
WO (1) WO2013071277A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915591A (zh) * 2016-04-08 2016-08-31 腾讯科技(深圳)有限公司 访问控制方法和装置
CN106527985A (zh) * 2016-11-02 2017-03-22 郑州云海信息技术有限公司 一种基于ceph的存储交互装置及存储系统
CN108153794A (zh) * 2016-12-02 2018-06-12 阿里巴巴集团控股有限公司 页面缓存数据刷新方法、装置及系统
CN108255533A (zh) * 2016-12-28 2018-07-06 平安科技(深圳)有限公司 系统配置更改方法及装置
CN108549657A (zh) * 2018-03-12 2018-09-18 丹露成都网络技术有限公司 一种常用数据缓存系统
CN110413846A (zh) * 2019-07-29 2019-11-05 数译(成都)信息技术有限公司 用于网页镜像的数据处理方法、装置及计算机可读存储介质
CN112988803A (zh) * 2019-12-02 2021-06-18 中国移动通信集团浙江有限公司 微服务系统业务的缓存改造方法、装置及计算设备
CN115134406A (zh) * 2021-03-26 2022-09-30 Aptiv技术有限公司 管理服务间通信

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179489A1 (en) * 2012-01-10 2013-07-11 Marcus Isaac Daley Accelerating web services applications through caching
US10893119B2 (en) * 2012-05-22 2021-01-12 Verizon Patent And Licensing Inc. Time-based data caching
US8972513B2 (en) * 2013-08-05 2015-03-03 Iboss, Inc. Content caching
US8788703B1 (en) 2013-08-05 2014-07-22 Iboss, Inc. Content caching
US9584620B1 (en) 2015-12-31 2017-02-28 International Business Machines Corporation Caching in storage clients
US10015274B2 (en) 2015-12-31 2018-07-03 International Business Machines Corporation Enhanced storage clients
US10404710B2 (en) * 2016-03-30 2019-09-03 Change Healthcare Holdings, Llc Methods and apparatuses for providing improved directory services
CN111459931A (zh) * 2019-01-21 2020-07-28 中车信息技术有限公司 数据查重方法和数据查重装置
EP4024201A4 (en) * 2019-09-29 2023-05-03 Siemens Aktiengesellschaft FRONT END APPLICATION ORCHESTRATION METHOD, APPARATUS, ELECTRONIC DEVICE, MEDIA AND PROGRAM PRODUCT

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056500A1 (en) * 1998-02-10 2001-12-27 Digital Island, Inc. Optimized network resource location
CA2415641A1 (en) * 2000-07-11 2002-01-17 Spidersoftware Inc. Dynamic web page caching system and method
US20020026563A1 (en) * 1999-01-25 2002-02-28 John T. Chamberlain Cache override control in an apparatus for caching dynamic content
US20050086292A1 (en) * 2003-10-01 2005-04-21 Yee Sunny K. Method and apparatus for supporting preprocessing in a Web presentation architecture
US20050097166A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Policy inheritance through nested groups
US20100138485A1 (en) * 2008-12-03 2010-06-03 William Weiyeh Chow System and method for providing virtual web access

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
CA2313802A1 (en) * 2000-07-11 2002-01-11 Michael Corcoran Dynamic web page caching system and method
US20020116517A1 (en) 2001-01-17 2002-08-22 Hudson Michael D. Virtual program streaming multi-media system
US20040044731A1 (en) * 2002-03-22 2004-03-04 Kailai Chen System and method for optimizing internet applications
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056500A1 (en) * 1998-02-10 2001-12-27 Digital Island, Inc. Optimized network resource location
US20020026563A1 (en) * 1999-01-25 2002-02-28 John T. Chamberlain Cache override control in an apparatus for caching dynamic content
CA2415641A1 (en) * 2000-07-11 2002-01-17 Spidersoftware Inc. Dynamic web page caching system and method
US20050086292A1 (en) * 2003-10-01 2005-04-21 Yee Sunny K. Method and apparatus for supporting preprocessing in a Web presentation architecture
US20050097166A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Policy inheritance through nested groups
US20100138485A1 (en) * 2008-12-03 2010-06-03 William Weiyeh Chow System and method for providing virtual web access

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915591A (zh) * 2016-04-08 2016-08-31 腾讯科技(深圳)有限公司 访问控制方法和装置
CN105915591B (zh) * 2016-04-08 2020-03-03 腾讯科技(深圳)有限公司 访问控制方法和装置
CN106527985A (zh) * 2016-11-02 2017-03-22 郑州云海信息技术有限公司 一种基于ceph的存储交互装置及存储系统
CN108153794A (zh) * 2016-12-02 2018-06-12 阿里巴巴集团控股有限公司 页面缓存数据刷新方法、装置及系统
CN108153794B (zh) * 2016-12-02 2022-06-07 阿里巴巴集团控股有限公司 页面缓存数据刷新方法、装置及系统
CN108255533A (zh) * 2016-12-28 2018-07-06 平安科技(深圳)有限公司 系统配置更改方法及装置
CN108549657A (zh) * 2018-03-12 2018-09-18 丹露成都网络技术有限公司 一种常用数据缓存系统
CN110413846A (zh) * 2019-07-29 2019-11-05 数译(成都)信息技术有限公司 用于网页镜像的数据处理方法、装置及计算机可读存储介质
CN112988803A (zh) * 2019-12-02 2021-06-18 中国移动通信集团浙江有限公司 微服务系统业务的缓存改造方法、装置及计算设备
CN115134406A (zh) * 2021-03-26 2022-09-30 Aptiv技术有限公司 管理服务间通信
CN115134406B (zh) * 2021-03-26 2024-01-09 Aptiv技术有限公司 管理服务间通信的方法、服务间通信管理系统

Also Published As

Publication number Publication date
JP2014534537A (ja) 2014-12-18
EP2776936A4 (en) 2016-02-17
KR101953942B1 (ko) 2019-03-04
US20130124667A1 (en) 2013-05-16
WO2013071277A1 (en) 2013-05-16
CN103946833B (zh) 2018-10-23
AU2016202039A1 (en) 2016-04-21
JP6081472B2 (ja) 2017-02-15
US9940403B2 (en) 2018-04-10
AU2012334941A1 (en) 2014-06-26
IN2014CN04305A (zh) 2015-09-04
CA2890411C (en) 2020-12-22
KR20140094602A (ko) 2014-07-30
EP2776936A1 (en) 2014-09-17
CA2890411A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
CN103946833A (zh) 管理专用缓存的系统和方法
CN109194506B (zh) 区块链网络部署方法、平台及计算机存储介质
US9241047B2 (en) System and method for providing virtual web access
US10785322B2 (en) Server side data cache system
US6895586B1 (en) Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance
CN102037710B (zh) 用于远程处理多媒体插件调用的方法和系统
CN102656562B (zh) 用于选择桌面执行位置的方法和系统
US20170242888A1 (en) Method and System for Centralized Control of Database Applications
CN103197936B (zh) 用于在应用程序的预定数量的执行方法之间选择的方法
US8244798B2 (en) Techniques for sharing content between portals
US20120102506A1 (en) Web service patterns for globally distributed service fabric
CN102420847B (zh) 在在线服务中以高可用性路由通信
CN101378400A (zh) 实现桌面应用和Web应用聚合的方法、服务器和系统
US20040172459A1 (en) Multi-tier business layer architecture for information systems
CN116034576B (zh) 基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现
Lewis Software architecture strategies for cyber-foraging systems
US10963479B1 (en) Hosting version controlled extract, transform, load (ETL) code
Hwang Supporting cloud computing in thin-client/server computing model
Martin The Client-go Library
KR101345802B1 (ko) 룰 데이터 처리 시스템 및 그 방법
KR20220076756A (ko) 이기종 클라우드 환경 기반 IaaS를 위한 MCIS 통합 관리 서비스 제공 시스템
Ren et al. Application Framework of Manufacturing Enterprise Information System Based. NET Smart Client

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant