CN105593853A - 服务器装置、客户端装置、信息处理方法和记录介质 - Google Patents

服务器装置、客户端装置、信息处理方法和记录介质 Download PDF

Info

Publication number
CN105593853A
CN105593853A CN201480054817.5A CN201480054817A CN105593853A CN 105593853 A CN105593853 A CN 105593853A CN 201480054817 A CN201480054817 A CN 201480054817A CN 105593853 A CN105593853 A CN 105593853A
Authority
CN
China
Prior art keywords
resource
document
identifier
unit
client
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
CN201480054817.5A
Other languages
English (en)
Other versions
CN105593853B (zh
Inventor
由谷哲夫
戈拉戈特·翁帕伊萨恩辛
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN105593853A publication Critical patent/CN105593853A/zh
Application granted granted Critical
Publication of CN105593853B publication Critical patent/CN105593853B/zh
Expired - Fee Related 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Document Processing Apparatus (AREA)

Abstract

[问题]为了在服务器响应于来自客户端的请求而提供文档的系统中通过进行关于服务器的能力的描绘来加速向客户端提供文档。[解决方案]提供了一种服务器装置,其包括:文档获取单元,用于响应于来自客户端的请求而获取包含对资源的参考的文档;标识符生成单元,用于生成资源的每个内容的独有标识符;标识符描述单元,用于在文档中将标识符与对资源的参考相关联;以及文档传送单元,用于将文档和与对资源的参考相关联的标识符传送至客户端。

Description

服务器装置、客户端装置、信息处理方法和记录介质
技术领域
本公开内容涉及服务器装置、客户端装置、信息处理方法和记录介质。
背景技术
服务器响应于来自客户端的请求而提供文档的系统(诸如,提供超文本标记语言(HTML)文件的万维网(WWW))近来得到广泛传播。在这样的系统中,缩短向客户端提供文档所需的时间(即,更具体地,缩短从客户端传送请求与在客户端中显示文档之间的时间)成为长久以来尝试解决的问题。例如,专利文献1公开了如下技术:其将内容缓存在网络服务器中以便即使在限制对存储器资源或网络服务的访问的情况下也能有效地使用缓冲存储器。
引用列表
专利文献
专利文献1:JP2011-108102A
发明内容
技术问题
然而,参考各种资源(诸如,静止图像/运动图像和以HTML为形式的脚本)的丰富文档越来越多,因此,需要进一步发展如上述技术的加速技术。虽然服务器和客户端的处理能力的提高有助于系统的加速,但是在客户端例如是移动装置的情况下提高处理能力并不总是容易的。
鉴于此,本公开内容提出了在服务器响应于来自客户端的请求而提供文档的系统中的服务器装置、客户端装置、信息处理方法和记录介质,其每一个均是新的且改进的,并且能够通过利用服务器的处理能力来加速向客户端提供文档。
针对问题的解决方案
根据本公开内容,提供了一种服务器装置,包括:文档获取单元,被配置成响应于来自客户端的请求而获取包括对资源的参考的文档;标识符生成单元,被配置成生成所述资源的内容所独有的标识符;标识符写入单元,被配置成在所述文档中将所述标识符与对所述资源的参考相关联;以及文档传送单元,被配置成将所述文档和与对所述资源的参考相关联的所述标识符传送至所述客户端。
根据本公开内容,提供了一种客户端装置,包括:请求传送单元,被配置成向服务器传送请求;文档接收单元,被配置成从所述服务器接收包括对资源的参考的文档和标识符,所述文档是响应于所述请求而从所述服务器传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及缓存确定单元,被配置成基于所述标识符来确定所述资源是否存储在缓冲存储器中。
根据本公开内容,提供了一种信息处理方法,包括:响应于来自客户端的请求而获取包括对资源的参考的文档;生成所述资源的内容所独有的标识符;使用处理器来在所述文档中将所述标识符与对所述资源的参考相关联;以及将所述文档和与对所述资源的参考相关联的所述标识符传送至所述客户端。
根据本公开内容,提供了一种非暂态有形记录介质,其上记录有程序,所述程序使得计算机实现以下功能:向服务器传送请求,从所述服务器接收包括对资源的参考的文档和标识符,所述文档是响应于所述请求而传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及基于所述标识符来确定所述资源是否存储在缓冲存储器中。
发明的有益效果
根据如上所述的本公开内容,在服务器响应于来自客户端的请求而提供文档的系统中,能够通过利用服务器的处理能力来加速向客户端提供文档。
附图说明
图1示出应用了本公开内容的一些实施例的系统的示意性配置。
图2是示出根据本公开内容的实施例1的中间服务器和客户端的示意性功能配置的框图。
图3是示出根据本公开内容的实施例1的中间服务器的处理的流程图。
图4是示出根据本公开内容的实施例1的客户端的处理的流程图。
图5是示出根据本公开内容的实施例1的变型示例的中间服务器的处理的流程图。
图6是示出根据本公开内容的实施例1的变型示例的客户端的处理的流程图。
图7是示出根据本公开内容的实施例2的中间服务器和客户端的示意性功能配置的框图。
图8是示出在根据本公开内容的实施例2的中间服务器接收请求之前的处理的流程图。
图9是示出在根据本公开内容的实施例2的客户端传送请求之前的处理的流程图。
图10A是示出根据本公开内容的实施例3的中间服务器的示意性功能配置的框图。
图10B是示出根据本公开内容的实施例3的客户端的示意性功能配置的框图。
图11是示出根据本公开内容的实施例3的中间服务器的处理的流程图。
图12是示出根据本公开内容的实施例3的客户端的处理的流程图。
图13是示出根据本公开内容的实施例3的变型示例的中间服务器的处理的流程图。
图14A是示出根据本公开内容的实施例4的中间服务器的示意性功能配置的框图。
图14B是示出根据本公开内容的实施例4的客户端的示意性功能配置的框图。
图15A是示出根据本公开内容的实施例4的中间服务器的处理的流程图。
图15B是示出根据本公开内容的实施例4的中间服务器的处理的流程图。
图16A是示出根据本公开内容的实施例4的客户端的处理的流程图。
图16B是示出根据本公开内容的实施例4的客户端的处理的流程图。
图17是示出根据本公开内容的实施例5的中间服务器的处理的流程图。
图18是示出根据本公开内容的实施例5的客户端的处理的流程图。
图19是示出根据本公开内容的实施例6的中间服务器的处理的流程图。
图20是示出根据本公开内容的实施例7的中间服务器和客户端的示意性功能配置的框图。
图21是示出根据本公开内容的实施例7的中间服务器的处理的流程图。
图22是说明用于根据在本公开内容的实施例7中可应用的图像格式来生成图像文件的处理的图。
图23是说明用于根据在本公开内容的实施例7中可应用的图像格式来生成图像文件的处理的图。
图24是说明根据本公开内容的实施例的信息处理装置的硬件配置的示例的框图。
具体实施方式
下文中,将参照附图详细描述本公开内容的优选实施例。在本说明书和附图中,具有基本上相同的功能和结构的元件以相同的附图标记表示,并且省略了重复说明。
应注意,将按以下顺序提供描述。
1.系统配置
2.实施例1
2-1.功能配置
2-2.处理流程
2-3.变型示例
3.实施例2
3-1.功能配置
3-2.处理流程
4.实施例3
4-1.功能配置
4-2.处理流程
4-3.变型示例
5.实施例4
5-1.功能配置
5-2.处理流程
6.实施例5
7.实施例6
8.实施例7
8-1.功能配置
8-2.处理流程
8-3.转码的示例
8-4.格式的示例
8-5.解码处理的示例
9.硬件配置
10.补充说明
(1.系统配置)
图1示出了应用了本公开内容的一些实施例的系统的示意性配置。当参照图1时,系统10包括分发源服务器100、中间服务器200和客户端300。分发源服务器100、中间服务器200和客户端300经由例如因特网的网络彼此相连接。
分发源服务器100和中间服务器200两者中的每一个均是由一个或多个服务器装置实现的服务器。分发源服务器100保存要向用户提供的文档和文档参考的资源。响应于来自客户端300的请求而将文档和资源经由一个或多个中间服务器200从分发源服务器100分发至客户端300。例如,当中间服务器200将文档和资源作为缓存保存并且替代分发源服务器100将所缓存的文档和资源分发给客户端300时,可以将文档快速地提供至客户端300。
文档和资源的一部分也保存在客户端300中作为缓存。在文档和资源保存在客户端300中的情况下,不需要经由网络传送和接收数据,因此,更快速地显示文档。然而,可以保存在客户端300中的缓存量是有限的,因此,提供可以保存更多缓存的中间服务器200是有利的。中间服务器200仅保存缓存但也可以执行如在下述实施例中所描述的各种加速处理。
应注意,实现分发源服务器100或中间服务器200的一个或多个服务器装置可以是包括例如中央处理单元(CPU)的处理器的一个或多个信息处理装置。客户端300还可以由包括处理器的信息处理装置实现。客户端300还可包括例如显示器和扬声器的输出装置、例如触摸屏面板的输入装置、图像拾取装置等。更具体地,例如,客户端300可以是诸如智能电话、个人计算机、平板式电脑、媒体播放器、电视机和游戏控制台的装置。以下将更详细地描述实现上述的每个装置的信息处理装置的具体硬件配置。
系统10可以用于分发以例如HTML的标记语言编写的文档。在这种情况下,资源可以是例如脚本(如JavaScript)、样式定义信息(如层叠样式表(CSS))、静止图像和运动图像。应注意,系统10可以用于不仅分发以标记语言编写的文档而且还分发各种文档和除了这些文档的数据(包括静止图像、运动图像等)。
(2.实施例1)
(2-1.功能配置)
图2是示出根据本公开内容的实施例1的中间服务器和客户端的示意性功能配置的框图。当参照图2时,作为功能配置,中间服务器200包括请求接收单元202、文档获取单元204、文档分析单元206、资源获取单元208、标识符生成单元210、标识符写入单元212、文档传送单元214和资源传送单元216。作为功能配置,客户端300包括请求传送单元302、文档接收单元304、缓存确定单元306、资源接收单元308和显示控制单元310。
例如,这些功能配置可以通过使得包括在实现中间服务器200和客户端300的信息处理装置中的处理器根据存储在存储器或记录介质中的程序进行操作来实现。中间服务器200中的缓冲存储器280和客户端300中的缓冲存储器380可以由例如各个信息处理装置的存储装置或存储器来实现。
(中间服务器)
在中间服务器200中,请求接收单元202接收来自客户端300的请求。当接收到请求时,文档获取单元204响应于该请求而获取在该请求中所指定的文档。此时,文档获取单元204可在内部获取存储在缓冲存储器280中的文档。在所指定的文档没有存储在缓冲存储器280中的情况下,文档获取单元204将请求传送至分发源服务器100并且响应于该请求而获取从分发源服务器100传送的文档。
文档分析单元206分析文档获取单元204获取的文档。更具体地,文档分析单元206检测对文档中包括的资源的参考。在文档分析单元206检测到对资源的参考的情况下,资源获取单元208获取所参考的资源。此时,资源获取单元208可在内部获取存储在缓冲存储器280中的资源。在所参考的资源并未存储在缓冲存储器280中的情况下,资源获取单元208将请求传送至分发源服务器100并且响应于该请求而获取从分发源服务器100传送的资源。从分发源服务器100新获取的资源存储在缓冲存储器280中。
标识符生成单元210生成资源获取单元208获取的资源的内容所独有的标识符。例如,标识符生成单元210可基于资源的内容、利用预定算法来计算散列(hash)。在这种情况下,所计算出的散列可以是资源的内容所独有的标识符。应注意,标识符生成单元210不一定需要按原样使用散列作为标识符,并且可基于散列来标识源、然后单独地生成标识符,从而将标识符添加到资源中。标识符生成单元210可将所生成的标识符与存储在缓冲存储器280中的资源相关联。
更具体地,例如,标识符生成单元210将资源当作二进制数据而与其类型无关,并且利用散列函数来生成独有标识符。作为散列函数,例如,可使用MD5、SHA-1、SHA-256等。另外,标识符生成单元210可使用多个散列函数来生成用于单一资源的多个标识符。在所有这些标识符匹配的情况下,确定这些资源是相同的。这能够进一步改进标识符的独特性。
如下所述,可以通过使用资源的内容所独有的且由标识符生成单元210生成的标识符来加速文档在客户端300中的显示。如在通过使用散列函数来生成标识符的上述示例中,标识符生成单元210生成独有标识符花费了一定时间。然而,中间服务器200的处理能力通常高于客户端300的处理能力,并且如在下述的变型示例中描述的那样,可以在生成标识符的同时在客户端300中开始文档的显示。结果,加速了文档的显示。
标识符写入单元212将标识符生成单元210生成的标识符与对文档中的资源的参考相关联。更具体地,例如,标识符写入单元212将标识符生成单元210生成的标识符添加到原始标识符中并且将该标识符与对资源的参考相关联。例如,HTML文档包括对具有统一资源定位符(URL)作为原始标识符的资源的参考。在这种情况下,标识符写入单元212可另外将标识符生成单元210生成的标识符(如散列)写入文档中、同时保持用作原始标识符的URL。
作为示例,在对包括以下的(a)中所示的URL的图像的资源的参考包括在HTML文档的情况下,标识符写入单元212可另外将作为标识符生成单元210所生成的标识符的散列(new_id)写入如(b)所示的文档中。
(a)<imgsrc=“resource/image001.jpg”/>
(b)<imgsrc=“resource/image001.jpg”new_id=“736f6e7920706174656e74”/>
如下所述,客户端300被配置成在参考文档时基于标识符写入单元212另外写入的标识符来确定资源的缓冲存储器是否存在,并且在缓冲存储器不存在的情况下将对于资源的请求传送至中间服务器200。然而,除了客户端300外的客户端(即,没有参考另外写入的标识符的客户端)可以存在于网络中。当标识符写入单元212保持原始标识符时,可以确保与这样的客户端的向后兼容性。
替选地,标识符写入单元212可将标识符生成单元210生成的标识符写在对文档中的资源的参考中所包括的原始标识符上。在这种情况下,例如,可以如以下的(c)中所示那样重写上述的(a)中所示的对资源的参考。
(c)<imgsrc=“http://www.xxx.yyy/zzz/736f6e7920706174656e74”/>
在该示例中,标识符写入单元212将URL重写到指示中间服务器200的绝对路径(absolutepass)并在绝对路径之后写入标识符生成单元210生成的标识符。指示中间服务器200的绝对路径被共同添加到所有资源中。因此,客户端300基于如在上述示例中重写的原始标识符对缓冲存储器的存在/不存在的确定与基于标识符生成单元210生成的标识符的确定基本上相同。在这种情况下,客户端不必被配置成参考另外写入的标识符。
文档传送单元214将包括标识符生成单元210生成的标识符的文档传送至客户端300。如下所述,客户端300基于标识符生成单元210生成的标识符来在参考资源的同时显示文档。在文档中所参考的资源未缓存在客户端300中的情况下,资源传送单元216响应于从客户端30传送的对于资源的请求而将存储在缓冲存储器280中的资源传送至客户端300。
(客户端)
在客户端300中,请求传送单元302基于例如用户操作将请求传送至中间服务器200。文档接收单元304响应于该请求而接收中间服务器200传送的文档。如上所述,所接收到的文档包括对资源的参考,并且对资源的参考与中间服务器200的标识符生成单元210所生成的且资源的内容所独有的标识符相关联。如上所述,独有标识符可被添加到与对文档中的资源的参考相关联的原始标识符中。
缓存确定单元306确定在文档接收单元304接收到的文档中所参考的资源是否存储在缓冲存储器380中。此时,缓存确定单元306基于资源的内容独有的标识符来确定资源是否存储在缓冲存储器380中。在资源存储在缓冲存储器380中的情况下,缓存确定单元306读出所存储的资源并且将该资源提供至显示控制单元310。相反,在资源未存储在缓冲存储器380中的情况下,缓存确定单元306请求资源接收单元308将对于资源的请求传送至中间服务器200。
本文中,如果在缓存确定单元进行确定时所使用的标识符是例如URL,则该标识符并不始终为资源的内容所独有。因此,在一些情况下,即使在资源具有相同内容的情况下也确定参考不同资源。例如,假定存在从第一分发源服务器100a分发的第一文档所参考的第一资源和从第二分发源服务器100b分发的第二文档所参考的第二资源。在这种情况下,即使在第一资源和第二资源具有相同内容的情况下,指示第一分发源服务器100a的URL和指示第二分发源服务器100b的URL也会不同,因此,在对第一资源的参考和对第二资源的参考中所使用的标识符(URL)是不同的。因此,在所接收的第二文档中参考第二资源的情况下,即使具有与第二资源的内容相同的内容的第一资源已存储在缓冲存储器中,缓存确定单元也可确定所参考的资源没有存储在缓冲存储器中,除非第二资源本身存储在缓冲存储器中。
相反,根据本实施例的客户端300的缓存确定单元306基于资源的内容所独有的标识符来确定资源是否存储在缓冲存储器380中。在上述示例中,中间服务器200的标识符生成单元210生成第一资源和第二资源所共有的标识符,并且缓存确定单元306基于共有标识符而确定资源是否存储在缓冲存储器380中。因此,在所接收的第二文档中参考第二资源并且具有与第二资源的内容相同的内容的第一资源已存储在缓冲存储器380中的情况下,缓存确定单元306确定所参考的资源存储在缓冲存储器380中。这使得能够重新使用存储在缓冲存储器380中的资源并且将该资源提供至显示控制单元310而无需向中间服务器200传送请求。
资源接收单元308将对于资源的请求传送至中间服务器200并且响应于该请求而接收从中间服务器200传送的资源。资源接收单元308将所接收的资源提供至显示控制单元310。另外,资源接收单元308将新接收到的资源存储在缓冲存储器380中。
显示控制单元310基于文档接收单元304接收的文档和在该文档中所参考的资源而在客户端300的显示器上显示文档。如上所述,从缓冲存储器308读出资源并根据缓存确定单元306的确定来重新使用该资源或者从中间服务器200新接收资源。由于从中间服务器200接收资源的通信花费了时间,因此随着重新使用的资源的比例越高,文档的显示加速。
在该实施例中,缓存确定单元306基于资源的内容所独有的标识符来确定资源是否存储在缓冲存储器380中。因此,例如,不仅可以重新使用从同一分发源服务器100分发的文档中所参考的资源,而且可以重新使用分别从不同分发源服务器100分发的多个文档中所参考的资源,只要这些资源的内容是相同的即可。这可以增加在显示文档时重新使用的资源的比例,因此可以加速文档的显示。
(2-2.处理流程)
(中间服务器的处理流程)
图3是示出根据本公开内容的实施例1的中间服务器的处理的流程图。当参照图3时,首先,请求接收单元202接收来自客户端300的请求(S101)。接下来,文档获取单元204获取在该请求中所指定的文档(S103)。然后,文档分析单元206分析所获取的文档(S105)。
本文中,在分析文档时检测对资源的参考(在S107中为是),资源获取单元208获取所参考的资源(S109)。另外,标识符生成单元210基于所获取的资源的内容来生成独有标识符(S111)。然后,标识符写入单元212将所生成的独有标识符与对文档中的资源的参考相关联(S113)。可以重复地执行S109至S113,直到检测到所有对文档中的资源的参考为止。
在不再检测到对资源的参考或者在分析文档时并未检测到参考的情况下(在S107中为否),文档传送单元214将文档传送至客户端300(S115)。此后,在从客户端300接收到对于资源的请求的情况下(在S117中为是),资源传送单元216将资源传送至客户端300(S119)。在不再接收对于资源的请求或者尚未接收到请求的情况下(在S117中为否),中间服务器200中的处理终止。
(客户端的处理流程)
图4是示出根据本公开内容的实施例1的客户端的处理的流程图。当参照图4时,首先,请求传送单元302将请求传送至中间服务器200(S131)。然后,文档接收单元304响应于该请求而接收中间服务器200传送的文档(S133)。本文中,显示控制单元310开始显示所接收到的文档(S135)。
在文档中发现对资源的参考的情况下(在S137中为是),缓存确定单元306确定所参考的资源是否存储(缓存)在缓冲存储器380中(S139)。如上所述,缓存确定单元306基于资源的内容所独有的且与对文档中的资源的参考相关联的标识符来确定资源是否存储在缓冲存储器380中。
本文中,在确定资源存储在缓冲存储器380中的情况下(在S139中为是),缓存确定单元306从缓冲存储器380读出资源并且将资源提供至显示控制单元310。即,缓存确定单元306和显示控制单元310重新使用所缓存的资源(S141)。相反,在确定资源没有存储在缓冲存储器380中的情况下(在S139中为否),资源接收单元308将对于资源的请求传送至中间服务器200(S143)。资源接收单元308响应于该请求而接收中间服务器200传送的资源(S145)。
显示控制单元310参考重新使用的资源或从中间服务器200接收到的资源来继续显示文档(S147)。重复执行S139至S147,直到发现所有对文档中的资源的参考为止。在显示控制单元310显示整个文档并且不再发现到对资源的参考或者尚未发现对资源的参考的情况下(在S137中为否),客户端300完成文档的显示(S149)。
(2-3.变型示例)
(中间服务器的处理流程)
图5是示出根据本公开内容的实施例1的变型示例的中间服务器的处理的流程图。当参照图5时,首先,在以上参照图3的示例中,以与S101至S105相同的方式执行S101至S105。
接下来,标识符写入单元212将虚拟标识符与对通过分析文档而检测到的资源的参考相关联(S161)。本文中,虚拟标识符是例如机械地生成的并且不一定是资源的内容所独有的一系列标识符。标识符写入单元212按从文档的开头开始的顺序将例如递增或随机虚拟标识符与所检测到的参考相关联。此时,在所参考的资源的原始标识符(例如,URL)相同的情况下,标识符写入单元212可将相同的虚拟标识符与这些参考相关联。
然后,文档传送单元214将文档传送至客户端300(S115)。在此之后或者与其同时,对于对通过分析文档而检测到的资源的参考中的每一个,资源获取单元208获取所参考的资源,并且标识符生成单元210基于所获取的资源的内容而生成独有标识符(S107至S110)。
在对于所有检测到的参考的S107至S111中的处理终止的情况下,标识符写入单元212生成使在S161中与参考相关联的虚拟标识符和在S111中生成的独有标识符彼此相关联的信息(关于标识符的关联信息)(S163)。文档传送单元214将关于标识符的关联信息传送至客户端300(S165)。此后,在从客户端300接收到对于资源的请求的情况下,资源传送单元216将资源传送至客户端300(S117、S119)。
(客户端的处理流程)
图6是示出根据本公开内容的实施例1的变型示例的客户端的处理的流程图。当参照图6时,首先,按以上参照图4描述的示例中的S131至S135相同的方式执行S131至S135。
在文档中发现对资源的参考的情况下(在S137中为是),缓存确定单元306用独有标识符替换与所发现的参考相关联的虚拟标识符(S181),并且确定所参考的资源是否存储在缓冲存储器380中(S139)。虽然未示出,在S181中文档接收单元304未接收到关于上述标识符的关联信息的情况下,即,在缓存确定单元306在虚拟标识符与对资源的参考相关联的状态下参考资源的情况下,缓存确定单元306将对于标识符的请求或关于标识符的关联信息传送至中间服务器200。在这种情况下,关于其请求被接收的参考,中间服务器200的标识符生成单元210可优先地基于所参考的资源的内容来生成独有标识符。
甚至在中间服务器200的处理能力高于客户端300的处理能力的情况下,标识符生成单元210生成独有标识符花费了一定时间。如在变型示例中一样,将可以容易地生成的虚拟标识符与参考相关联的文档被先行地传送至客户端300,并且在中间服务器200中生成独有标识符、同时基于在客户端300中接收到的文档来开始显示,因此,还可以减少完成在客户端300中显示文档的时间。
(3.实施例2)
(3-1.功能配置)
图7是示出根据本公开内容的实施例2的中间服务器和客户端的示意性功能配置的框图。当参照图7时,作为功能配置,中间服务器200还包括资源先行分发单元218。作为功能配置,客户端300还包括资源先行接收单元312。
在请求接收单元202接收来自客户端300的请求之前,中间服务器200的资源先行分发单元218先行地将预定资源传送至客户端300。此时,资源先行分发单元218将资源与标识符生成单元210生成的资源的内容所独有的标识符相关联并且将该资源传送至客户端300。
例如,资源先行分发单元218可参考文档中的资源来对标识符生成单元210生成的标识符的关联数量进行计数,并且将基于该数量而被估计为频繁使用的资源传送至客户端300。由于标识符生成单元210生成的标识符为资源的内容所独有,因此上述计数可以是指示基于资源的内容在各种文档中参考每个资源的频率的计数,而与资源的URL等无关。
替选地,资源先行分发单元218可先行地将服务提供方指定的资源传送至客户端300。例如,资源先行分发单元218根据服务提供方执行的设置来先行地将大量文档期望共同参考的脚本的标准库传送至客户端300。因此,在提供了文档的情况下,能够节省传送对于脚本的请求的时间和响应于该请求而传送脚本的时间。
在诸如脚本的程序中先行地分发资源的情况下,资源先行分发单元218可在对程序进行预编译之后将程序传送至客户端300。例如,在客户端300编译在文档中所参考的程序、然后执行程序的情况下,即使在程序存储在缓冲存储器380中的情况下也能限制用于编译的时间。相反,在资源先行分发单元218在将程序传送至客户端300之前对中间服务器200中的程序进行预编译的情况下,能够具有足够的时间来执行编译。因此,在执行程序时可以通过操作编译来令人满意地实现优化。
在请求传送单元302将请求传送至中间服务器200之前,客户端300的资源先行接收单元312接收中间服务器200的资源先行分发单元218传送的资源。本文中,所接收的资源可以是例如基于与对资源的参考的关联数目而被估计为频繁使用的资源或者如上所述的由服务提供方指定的资源。在任何情况下,资源先行接收单元312接收从中间服务器200先行地分发的资源并将所接收到的资源存储在缓冲存储器380中。
如上所述,所接收到的资源与资源的内容所独有的且由中间服务器200中的标识符生成单元210生成的标识符相关联。资源先行接收单元312将所接收到的与该标识符相关联的资源存储在缓冲存储器380中。对此,在文档中参考内容与先行地分发的资源的内容相同的资源的情况下,使用预先存储在缓冲存储器380中的资源而与先行地分发的资源的原始标识符(例如,URL)无关。这使得能够加速文档的显示。
在先行地分发的资源是例如脚本的程序的情况下,资源先行接收单元312可接收经中间服务器200的资源先行分发单元218预编译的程序。在这种情况下,资源先行接收单元312可将预编译的程序存储在缓冲存储器380中的与用于除了程序外的资源(诸如图像和CSS)的存储区域不同的存储区域中。预编译的程序可以与例如WebCore的库共同存储在存储区域中。于是,当文档显示在客户端300中时,能够以更高速度访问与所参考的资源相对应的预编译的程序。
就在例如HTML文档中参考的资源的大小的比例而言,如JavaScript的脚本的比例在图像的比例之后最大。另外,当参考例如JavaScript时,在大多数情况下参考一些特定的标准库。因此,当将例如脚本的标准库从中间服务器200预先分发给客户端300时,能够省略对于当显示文档时以高可能性生成的脚本和资源的标准库的请求的传送和接收,从而加速了文档的显示。
更具体地,在更新脚本并且在请求之前将更新后的脚本从中间服务器200分发给客户端300的情况下,能够使用存储在客户端300的缓冲存储器中的脚本来甚至在更新之后第一次从文档参考脚本的情况下快速地显示文档。在上述情况下,当对脚本的标准库进行预编译时,能够如上所述那样进一步加速其显示。将资源从中间服务器200预先分发给客户端300能够有助于加速文档的显示,该资源被估计为当除了脚本外还显示文档(诸如标志的图像和主题项目的图像)时以高可能性被参考。
(3-2.处理流程)
(中间服务器的处理流程)
图8是示出在根据本公开内容的实施例2的中间服务器接收请求之前的处理的流程图。当参照图8时,首先,资源先行分发单元218确定要先行地分发的资源(S201)。本文中,要先行分发的资源可基于例如标识符与对文档中的资源的参考相关联的数目来确定或者可由如上所述的服务提供方指定。
资源先行分发单元218可定期地从分发源服务器100请求被估计为频繁使用并且可更新的资源(诸如上述的脚本的标准库),以检查其更新的存在/不存在。在更新存在的情况下,资源先行分发单元218可确定先行地分发更新后的资源。资源先行分发单元218可使用标识符生成单元210执行的对标识符的生成处理以便检查更新的存在/不存在。即,在当标识符生成单元210生成资源的内容所独有的标识符时所生成的标识符不同于之前已生成的标识符的情况下,能够确定已更新资源。
然后,在先行地分发的资源是程序的情况下,作为附加处理,资源先行分发单元218按需要执行预编译(S203)。接下来,资源先行分发单元218将资源传送至客户端300(S205)。
(客户端的处理流程)
图9是示出在根据本公开内容的实施例2的客户端传送请求之前的处理的流程图。当参照图9时,首先,资源先行接收单元312接收从中间服务器200分发的资源(S211)。然后,作为附加处理,在先行地分发的资源是程序的情况下(在S213中为是),资源先行接收单元312将所分发的资源存储在与用于其它资源的存储区域不同的程序存储区域中(S215)。如果资源不是程序,则资源先行接收单元312将资源存储在缓冲存储器380中的通常的存储区域中(S217)。
应注意,在传送请求之后中间服务器和客户端的处理流程与上述实施例1的处理流程类似,因此,省略其详细描述。在该实施例中,在如上所述那样传送请求之前将资源的一部分从中间服务器200传送至客户端300,因此,在例如图4的流程图的S139中确定资源更频繁地存储在缓冲存储器380中。
(4.实施例3)
(4-1.功能配置)
图10(图10A和图10B)是示出根据本公开内容的实施例3的中间服务器和客户端的示意性功能配置的框图。当参照图10A时,作为功能配置,中间服务器200包括请求接收单元202、文档获取单元204、文档分析单元206、资源获取单元208、资源分析单元220、缩写字符串生成单元222、缩写字符串写入单元224、文档传送单元214、关联信息传送单元226和资源传送单元216。当参照图10B时,作为功能配置,客户端300包括请求传送单元302、文档接收单元304、资源接收单元308、关联信息接收单元314、字符串解释单元316和显示控制单元310。
例如,这些功能配置可以通过使得实现中间服务器200和客户端300的信息处理装置中包括的处理器根据存储在存储器或记录介质中的程序进行操作来实现。中间服务器200中的数据库282和客户端300中的数据库382可以由例如各个信息处理装置的存储装置或存储器来实现。
(中间服务器)
在中间服务器200中,以与上述实施例1中的请求接收单元202和文档获取单元204相同的方式,请求接收单元202和文档获取单元204响应于来自客户端300的请求而获取文档。另外,文档分析单元206分析文档获取单元204获取的文档并且检测对包括在文档中的资源的参考。在文档分析单元206检测到对资源的参考的情况下,资源获取单元208获取所参考的资源。
另外,在本实施例中,文档分析单元206检测可以缩写并且包括在文档获取单元204获取的文档中的字符串。资源分析单元220检测可以缩写并且包括在资源获取单元208获取的资源中的字符串。本文中,可以缩写的字符串的示例包括应用于文档中的元素的任意标识符、由样式限定的类别、由程序限定的函数等。可以缩写的字符串的示例还可包括文档和资源格式的保留字。可以缩写的字符串的示例还可包括在文档中参考的资源的标识符以及作为所谓的描述语句写入文档中的字符串。
在文档分析单元206和资源分析单元220检测到可以缩写的字符串的情况下,缩写字符串生成单元222生成通过缩写所检测到的字符串而获得的字符串(下文中,也称为“缩写字符串”)。例如,缩写字符串生成单元222可通过根据预定算法、基于原始字符串执行计算来生成缩写字符串。如下所述,在图10所示的示例中,该算法会是不可逆的,因为原始字符串与缩写字符串之间的关系记录在数据库282中。替选地,缩写字符串生成单元222可生成递增或随机的缩写字符串,而与原始字符串无关。
本文中,在通过使用上述示例中的算法来生成缩写字符串的情况下,缩写字符串稍微较长。然而,针对相同的原始字符串而自动生成相同的缩写字符串,因此,能够在尽可能小地减少数据库282的记录的同时改进可搜索性。另外,根据要使用的算法,能够生成原始字符串所独有的缩写字符串。
同时,在生成递增的或随机的缩写字符串的情况下,可以将缩写字符串减小至极限(例如,以具有可以表现可以缩写且包括在文档或资源中的字符串的数量的最短长度)。然而,如果什么都未做,则在数据库282中生成与可以缩写的字符串(包括重复的字符串)的数量相对应的记录。当在尚未生成相同的原始字符串的缩写字符串的情况下缩写字符串生成单元222参考数据库282并且生成新的缩写字符串时,能够减少数据库282中的记录数量。
在生成缩写字符串的情况下,缩写字符串生成单元222向数据库282添加将原始字符串和缩写字符串彼此相关联的记录(缩写字符串记录)。可通过使用例如文档作为单位来生成数据库282。即,可通过使用响应于单一请求而传送的文档和从该文档参考的资源作为作用域(scope)来执行将原始字符串与由数据库282指示的缩写字符串相关联。替选地,可通过使用多个文档和从这些文档参考资源作为作用域来生成数据库282。
本文中,在已发现所生成的缩写字符串与原始字符串的关联记录在客户端300的数据库382中的情况下,缩写字符串生成单元222不必将缩写字符串记录添加到数据库282中。例如,在格式为文档和资源的保留字被当作可以缩写的字符串的情况下,保留字受限制,因此,能够预先分配缩写字符串并且将保留字与缩写字符串的关联预先记录在数据库282和382中。在这种情况下,缩写字符串生成单元222针对在文档或资源中检测到的保留字而参考数据库282生成预先分配的缩写字符串,然后省略将新纪录添加到数据库282中。
缩写字符串写入单元224用缩写字符串生成单元222生成的缩写字符串替换包括在文档和资源中的原始字符串。为了减少要传送的数据量并且减少读取客户端300中的字符串的处理量,期望缩写字符串写入单元224用缩短字符串替换文档和资源中的原始字符串,而不是保持原始字符串。
文档传送单元214将包括缩写字符串生成单元222生成的缩写字符串的文档(原始字符串已用缩写字符串替换的文档)传送至文档300。类似地,资源传送单元216将原始字符串已用缩写字符串替换的资源传送至客户端300。关联信息传送单元226基于数据库282的缩写字符串记录来生成将原始字符串和缩写字符串彼此相关联的信息(下文中,也称为“关联信息”),并且将该信息传送至客户端300。
本文中,关联信息传送单元226可仅在需要在客户端300中从缩写字符串恢复原始字符串的情况下才将关联信息传送至客户端300。即,关联信息不需要包括缩写字符串记录的至少一部分。
例如,在缩写字符串生成单元222生成应用于文档中的元素的任意标识符的缩写字符串的情况下,生成由样式定义的类别、由程序等定义的函数和缩写字符串,以使得原始字符串和缩写字符串经由文档和资源具有一一对应关系(例如,基于原始字符串、根据预定算法来生成缩写字符串,或者当参考数据库282并且已生成原始字符串的缩写字符串时,重新使用缩写字符串),甚至在客户端300中没有恢复原始字符串的情况下也唯一地指定元素、类别或函数。在这样的情况下,关联信息传送单元226不需要将关于缩写字符串的关联信息传送至客户端300。
例如,在生成文档或资源中的保留字的缩写字符串的情况下,数据库282预先包括与对应于保留字的缩写字符串相对应的缩写字符串记录,而要传送至客户端300的关联信息不需要包含关于保留字的信息(在保留字的信息预先存储在客户端300的数据库382中的情况下)。
相反,在缩写字符串是针对元素、类别、函数等而生成但与原始字符串不具有一一对应关系的情况下(例如,在缩写字符串生成单元222生成缩写字符串而不参考数据库282并且将关于机械地分配的缩写字符串的信息存储在数据库的情况下),或者在如作为描述语句写入文档中的字符串的情况下一样向用户最终呈现原始字符串的情况下,关联信息传送单元226将基于数据库282的记录而生成的关联信息传送至客户端300。
(客户端)
在客户端300中,以与上述实施例1中的请求传送单元302和文档接收单元304相同的方式,请求传送单元302和文档接收单元304将请求传送至中间服务器200并且响应于该请求而接收中间服务器200传送的文档。资源接收单元308接收从中间服务器200传送的资源。所接收到的文档和资源被提供至字符串解释单元316。另外,在该实施例中,关联信息接收单元314接收从中间服务器200的关联信息传送单元226传送的关联信息。关联信息接收单元314基于所接收到的关联信息来生成数据库382中的缩写字符串记录。
字符串解释单元316参考数据库382对包括在文档和资源中的缩写字符串进行解释。本文中,字符串解释单元316不需要将缩写字符串重新写入原始字符串中。在该实施例中,字符串解释单元316可以参考数据库382来按原样解释包括在文档和资源中的缩写字符串,并且显示控制单元310可以基于解释来显示文档。
应注意,如上所述,未包括在关联信息接收单元314接收到的关联信息中的缩写字符串也包括在客户端300中所接收到的文档和资源中。例如,在缩写字符串与文档或资源格式的保留字的关联预先记录在数据库382中的情况下,对应于保留字的缩写字符串并未包括在关联信息接收单元314接收到的关联信息中。
例如,在生成应用于文档中的元素、由样式限定的类别、由程序限定的函数等的任意标识符的缩写字符串以使得原始字符串和缩写字符串经由文档和资源具有一一对应关系的情况下,对应于缩写字符串的信息未包括在关联信息中并且不需要包括在数据库382中。在这种情况下,在客户端300中以与通常的字符串相同的方式处理缩写字符串,并且显示控制单元310直接解释该缩写字符串以显示文档。
(4-2.处理流程)
(中间服务器的处理流程)
图11是示出根据本公开内容的实施例3的中间服务器的处理的流程图。当参照图11时,首先,请求接收单元202接收来自客户端300的请求(S301)。接下来,文档获取单元204获取在该请求中所指定的文档(S303)。然后,文档分析单元206分析所获取的文档(S305)。
本文中,在分析文档时检测到对资源的参考的情况下(在S307中为是),资源获取单元208获取所参考的资源(S309),并且资源分析单元220分析所获取的资源(S311)。此后,缩写字符串生成单元222生成在文档和资源中检测到的并且可以缩写的字符串的缩写字符串(S313)。此时,缩写字符串生成单元222将原始字符串和缩写字符串彼此相关联的缩写字符串记录添加到数据库282中(S315)。
另外,缩写字符串写入单元224用在缩写字符串生成单元222中生成的缩写字符串替换包括在文档和资源中的原始字符串(S317)。当完成文档中的原始字符串的替换时,文档传送单元214将包括缩写字符串的文档传送至客户端300(S319)。在此前后或者与此同时,关联信息传送单元226将基于数据库382中的记录而生成的关联信息传送至客户端300(S321)。另外,资源传送单元216将包括缩写字符串的资源传送至客户端300(S323)。
(客户端的处理流程)
图12是示出根据本公开内容的实施例3的客户端的处理的流程图。当参照图12时,首先,请求传送单元302将请求传送至中间服务器200(S331)。然后,文档接收单元304接收中间服务器200响应于请求而传送的包括缩写字符串的文档(S333)。在此前后或者与此同时,关联信息接收单元314接收从中间服务器200传送的关联信息(S335)。关联信息接收单元314基于所接收到的关联信息来生成数据库382中的记录(S337)。另外,资源接收单元308接收中间服务器200传送的包括缩写字符串的资源(S339)。
当在S333中接收到文档并且在S337中在数据库382中生成缩写字符串记录时,字符串解释单元316参考数据库382来解释包括在文档中的缩写字符串(S341)。应注意,可与例如S339中的处理一起执行S341中的处理。字符串解释单元316也参考数据库382来解释在S339中接收到的、在文档中参考的资源的缩写字符串(S343)。显示控制单元310利用通过字符串解释单元316解释包括在文档和资源中的缩写字符串而获得的结果来显示文档(S345)。
在该实施例中,在中间服务器200中,缩写字符串生成单元222将原始字符串和缩写字符串彼此相关联的记录添加到数据库282中。于是,例如,当生成缩写字符串时,参考数据库382,以使得原始字符串和缩写字符串可以经由文档和资源具有一一对应关系。在这种情况下,甚至在关联信息未被传送至客户端300的情况下,客户端300也可以解释写入文档和资源中的缩写字符串,从而显示资源被参考的文档。
替选地,在中间服务器200中,关联信息传送单元226可基于数据库282的记录而生成将在文档和资源中生成的缩写字符串和原始字符串彼此相关联的关联信息,从而将关联信息传送至客户端300。在这种情况下,例如,甚至在生成缩写字符串时原始字符串和缩写字符串不具有一一对应关系的情况下,客户端300可以解释写入文档和资源中的缩写字符串,从而显示资源被参考的文档。
(4-3.变型示例)
(中间服务器的处理流程)
图13是示出根据本公开内容的实施例3的变型示例的中间服务器的处理的流程图。当参照图13时,首先,以与在以上参照图11所述的示例中的S301至S305相同的方式执行S101至S105。
在该变型示例中,缩写字符串生成单元222先行地生成在文档中检测到的且可以缩写的字符串的缩写字符串(S361)。此时,缩写字符串生成单元222将原始字符串和缩写字符串彼此相关联的记录添加到数据库282中(S315)。另外,缩写字符串写入单元224根据数据库282中的记录来用缩写字符串替换包括在文档中的字符串(S363)。当完成替换时,文档传送单元214将包括缩写字符串的文档传送至客户端300(S319)。在传送文档前后或者与此同时,关联信息传送单元226将基于数据库282中的记录而生成的关联信息传送至客户端300(S321)。
在传送文档和关联信息之后或者与此同时在分析文档中检测到对资源的参考(在S307中为是)的情况下,资源获取单元208获取所参考的资源(S309),并且资源分析单元220分析所获取的资源(S311)。此后,缩写字符串写入单元224基于在S315的处理中生成的、数据库382中的缩写字符串记录,用缩写字符串替换包括在资源中的字符串(S365)。此后,资源传送单元216将包括缩写字符串的资源传送至客户端300(S323)。
在该变型示例中,基于生成文档中的缩写字符串的结果来用缩写字符串替换资源的字符串。于是,在文档和关联信息被先行地传送至客户端300之后,还可以在资源中用缩写字符串进行替换,以与在文档中的替换具有一致性。因此,可以开始在客户端300中显示文档而无需等待完成在资源中用缩写字符串进行替换。
应注意,除了在接收文档和关联信息之后资源接收单元308接收资源之外,该变型示例中的客户端的处理流程可以与图12的处理流程类似,因此,省略其详细描述。虽然在本实施例的以上描述中已描述将原始字符串和缩写字符串彼此相关联的信息存储在数据库中的示例,但是信息不一定需要存储在数据库中,并且在其他示例中可使用文件等。
(5.实施例4)
(5-1.功能配置)
图14(图14A和图14B)是示出根据本公开内容的实施例4的中间服务器和客户端的示意性功能配置的框图。当参照图14A时,作为功能配置,中间服务器200包括请求接收单元202、文档获取单元204、文档分析单元206、资源获取单元208、标识符生成单元210、标识符写入单元212、资源分析单元220、缩写字符串生成单元222、缩写字符串写入单元224、文档传送单元214、关联信息传送单元226和资源传送单元216。当参照图14B时,作为功能配置,客户端300包括请求传送单元302、文档接收单元304、关联信息接收单元314、字符串解释单元316、缓存确定单元306、资源接收单元308和显示控制单元310。
例如,这些功能配置可以通过使得包括在实现中间服务器200和客户端300的信息处理装置中的处理器根据存储在存储器或记录介质中的程序进行操作来实现。中间服务器200中的缓冲存储器280和数据库282以及客户端300中的缓冲存储器380和数据库382可以由例如各个信息处理装置的存储装置或存储器来实现。
如从图14中显而易见,该实施例是通过将实施例1与实施例3结合而获得的实施例。在实施例1和实施例3中已描述中间服务器200和客户端300的功能配置,因此,省略了对其的详细描述。
(5-2.处理流程)
将描述该实施例的处理流程。应注意,在以下描述中,将描述通过将实施例1的变型示例和实施例3的变型示例而获得的更复杂的处理流程。然而,容易理解,也可以类似地实现通过将不是变型示例的示例进行组合而获得的示例。
(中间服务器的处理流程)
图15(图15A和图15B)是示出根据本公开内容的实施例4的中间服务器的处理的流程图。当参照图15时,首先,请求接收单元202接收来自客户端300的请求(S401)。接下来,文档获取单元204获取在请求中所指定的文档(S403)。然后,文档分析单元206分析所获取的文档(S405)。
本文中,关于对在文档中检测到的资源的参考,资源获取单元208获取所参考的资源(S407)。标识符生成单元210基于所获取的资源的内容来生成独有标识符(S409)。标识符写入单元212将所生成的独有标识符与对文档中的资源的参考相关联(S411)。应注意,每当检测到一个或多个对资源的参考时可执行上述处理,或者在检测到所有对资源的参考之后可统一执行参考。
在上述的S407或S411前后或者与此同时,缩写字符串生成单元222生成在文档中检测到的且可以缩写的字符串的缩写字符串(S413)。此时,缩写字符串生成单元222将原始字符串和缩写字符串彼此相关联的缩写字符串记录添加到数据库282中(S415)。另外,缩写字符串写入单元224根据数据库282中的缩写字符串记录来用缩写字符串替换包括在文档中的字符串(S417)。应注意,在如在图15A所示的示例中一样将S407至S411和S413至S417彼此并行地执行的情况下,对文档中的资源的参考不必是缩写字符串的生成目标。
当完成上述处理时,文档传送单元214将经标识符写入单元212和缩写字符串写入单元224更新的文档传送至客户端300(S419)。在此前后或者与此同时,关联信息传送单元226将基于数据库282中的记录而生成的关联信息传送至客户端300(S421)。
在传送文档和关联信息前后或者与此同时,资源分析单元220分析在S407中获取的资源(S423)。此后,缩写字符串写入单元224基于数据库282中的缩写字符串记录来用缩写字符串替换包括在资源中的字符串,该缩写字符串记录是在缩写字符串生成单元222关于文档执行的处理中生成的(S425)。此后,资源传送单元216响应于来自客户端300的对于资源的请求而将资源传送至客户端300(S427)。
(客户端的处理流程)
图16(图16A和图16B)是示出根据本公开内容的实施例的客户端的处理的流程图。当参照图16时,首先,请求传送单元302将请求传送至中间服务器200(S451)。然后,文档接收单元304响应于该请求而接收中间服务器200传送的文档(S453)。
在接收文档前后或者与此同时,关联信息接收单元314接收从中间服务器200传送的关联信息(S455)。关联信息接收单元314基于所接收到的关联信息来生成数据库382中的缩写字符串记录(S457)。然后,字符串解释单元316参考数据库382来对包括在文档中的缩写字符串进行解释(S459)。显示控制单元310基于字符串解释单元316执行的解释来开始显示所接收到的文档(S461)。
在文档中发现对资源的参考的情况下(在S463中为是),缓存确定单元306确定在所接收到的文档中参考的资源是否存储(缓存)在缓冲存储器380中(S465)。如上所述,缓存确定单元306基于资源的内容所独有的且与对文档中的资源的参考相关联的标识符,确定资源是否存储在缓冲存储器380中。
在确定资源存储在缓冲存储器380中的情况下(在S465中为是),缓存确定单元306从缓冲存储器380读出资源并且将该资源提供至字符串解释单元316。即,缓存确定单元306重新使用缓冲存储器380缓存的资源(S467)。相反,在确定资源并未存储在缓冲存储器380中的情况下(在S465中为否),缓存确定单元306将对于资源的请求传送至中间服务器200(S469)。资源接收单元308响应于请求而接收中间服务器200传送的资源(S471)。
字符串解释单元316基于数据库382中的记录而对重新使用的资源或包括在从中间服务器200接收到的资源中的缩写字符串进行解释(S473)。显示控制单元310继续利用通过字符串解释单元316对包括在文档和资源中的缩写字符串进行解释而获得的结果来显示文档(S475)。可以重复地执行S465至S475,直到发现所有对文档中的资源的参考为止。在显示控制单元310显示整个文档并且不再发现对资源的参考或者尚未发现对资源的参考的情况下(在S463中为否),客户端300完成文档的显示(S477)。
应注意,在该实施例中,在客户端300中的缓冲存储器380用于资源的情况下,期望包括在资源中的缩写字符串相同而与参考资源的机会无关。因此,例如,在中间服务器200中,缩写字符串生成单元222可使用预定算法来生成缩写字符串,并且可针对相同的原始字符串而自动生成相同的缩写字符串。替选地,可通过在多个文档中共同使用中间服务器200中的数据库282来针对相同的原始字符串生成相同的缩写字符串。
(6.实施例5)
图17是示出根据本公开内容的实施例5的中间服务器的处理的流程图。应注意,图17中所示的一系列处理可以通过使得实现中间服务器200的信息处理装置中包括的处理器根据存储在存储器或记录介质中的程序进行操作来执行。
当参照图17时,首先,处理器接收来自客户端300的请求(S501)。接下来,处理器获取在该请求中指定的文档(S503)。以与上述的其他实施例中的处理器相同的方式,处理器可从分发源服务器100获取文档或者从缓冲存储器内部获取文档。然后,处理器获取在文档中参考的资源(S505)。资源还可从分发源服务器100获取或者还可从缓冲存储器内部获取。
另外,处理器基于所获取的文档和资源来生成中间数据(S507)。中间数据的生成例如包括利用对HTML文档的解析来生成文档对象模型(DOM)、使用CSS的处理来生成计算样式(computedstyle)以及使用解析来将JavaScript转换成中间表示等。处理器将所生成的中间数据传送至客户端300(S509)。
图18是示出根据本公开内容的实施例5的客户端的处理的流程图。应注意,图17所示的一系列处理可以通过使得包括在实现客户端300的信息处理装置中的处理器根据存储在存储器或记录介质中的程序进行操作来实现。
当参照图18时,首先,处理器将请求传送至中间服务器200(S521)。然后,处理器基于中间服务器200响应于该请求而传送的文档和资源来接收中间数据(S523)。处理器基于所接收到的中间数据来生成布局(S525),并且根据布局来显示文档(S527)。
根据本实施例,在中间服务器200而不是客户端300中执行用于在客户端300中显示文档的处理的一部分。于是,在中间服务器200的处理能力高于客户端300的处理能力的情况下,减少了传送请求与完成在客户端300中显示文档之间的时间。
应注意,基于网络的状态、客户端300的处理能力等来适当地确定在中间服务器200中生成了什么中间数据。例如,在关于HTML文档的上述三个示例当中,可采用仅一个示例,可采用任何两个示例,或者可采用所有三个示例。
(7.实施例6)
图19是示出根据本公开内容的实施例6的中间服务器的处理的流程图。应注意,图17所示的一系列处理可以通过使得包括在实现中间服务器200的信息处理装置中的处理器根据存储在存储器或记录介质中的程序进行操作来执行。应注意,仅在本实施例中,将假设文档为HTML文档以及资源为CSS来提供描述。
当参照图19时,首先,处理器接收来自客户端300的请求(S601)。接下来,处理器获取在该请求中指定的HTML文档(S603)。以与上述的其他实施例中的处理器相同的方式,处理器可从分发源服务器100获取HTML文档或者可从缓冲存储器内部获取文档。然后,处理器获取在HTML文档中参考的CSS(S605)。CSS还可从分发源服务器100获取或者还可从缓冲存储器内部获取。
另外,处理器针对HTML文档的每个元素而指定由CSS限定的样式(S607)。在参考HTML文档中具有层级结构的多种CSS的情况下,通过S607中的处理来指定采用多种CSS当中的哪种样式组合。处理器基于S607中的处理的结果来更新CSS(S609)并将更新后的CSS连同文档一起传送至客户端300(S611)。
在该实施例中,客户端300基于从中间服务器200接收到的HTML文档和CSS来显示HTML文档。对此的处理类似于用于显示通常HTML文档的处理,因此,省略了对其的详细描述。然而,在该实施例中,已通过中间服务器200中的上述处理来优化在客户端300中参考的CSS。因此,客户端300可以省略用于指定针对HTML文档的每个元素而定义的样式的处理中的大部分。于是,在中间服务器200的处理能力高于客户端300的处理能力的情况下,减少了传送请求与完成在客户端300中显示文档之间的时间。
应注意,虽然在以上描述中资源是CSS,但是可以连同HTML文档中的CSS一起参考诸如图像和脚本的其他资源。
(8.实施例7)
(8-1.功能配置)
图20是示出根据本公开内容的实施例7的中间服务器和客户端的示意性功能配置的框图。当参照图20时,作为功能配置,中间服务器200包括请求接收单元202、文档获取单元204、文档分析单元206、资源获取单元208、图像转码单元228、图像参考更新单元230、文档传送单元214和资源传送单元216。作为功能配置,客户端300包括请求传送单元302、文档接收单元304、资源接收单元308和显示控制单元310。
例如,这些功能配置可以通过使得包括在实现中间服务器200和客户端300的信息处理装置中的处理器根据存储在存储器或记录介质中的程序进行操作来实现。中间服务器200中的缓冲存储器280和客户端300中的缓冲存储器380可以由例如各个信息处理装置的存储装置或存储器来实现。
(中间服务器)
在中间服务器200中,请求接收单元202和文档获取单元204以与上述实施例1中的请求接收单元202和文档获取单元204相同的方式、响应于来自客户端300的请求而获取文档。另外,文档分析单元206分析文档获取单元204获取的文档,并且检测对包括在文档中的资源的参考。在文档分析单元206检测到对资源的参考的情况下,资源获取单元208获取所参考的资源。
本文中,资源获取单元208获取的资源包括具有各种格式的图像。图像转码单元228将所获取的图像的格式转码为预定格式并且将转码后的图像存储在缓冲存储器280中。图像参考更新单元230将对包括在文档中的图像资源的参考更新为对图像转码单元228已转码且存储在缓冲存储器280中的图像的参考。文档传送单元214将参考已被更新的文档传送至客户端300。资源传送单元216响应于来自客户端300的请求而传送存储在缓冲存储器280中的资源。所传送的资源可以包括格式已被图像转码单元228转码为预定格式的图像。
(客户端)
在客户端300中,以与实施例1中的请求传送单元302和文档接收单元304相同的方式,请求传送单元302和文档接收单元304将请求传送至中间服务器200并且响应于该请求而接收中间服务器200传送的文档。显示控制单元310显示所接收到的文档。此时,在文档中参考的资源未存储在缓冲存储器380中的情况下,资源接收单元308将请求传送至中间服务器200并且接收响应于该请求而传送的资源。本文中的所接收到的资源可以包括格式已被图像转码单元228转码为预定格式的图像。显示控制单元310利用存储在缓冲存储器380中的资源或资源接收单元308接收到的资源来显示文档。
(8-2.处理流程)
图21是示出根据本公开内容的实施例7的中间服务器的处理的流程图。当参照图21时,首先,请求接收单元202接收来自客户端300的请求(S701)。接下来,文档获取单元204获取该请求中所指定的文档(S703)。然后,文档分析单元206分析所获取的文档(S705)。
本文中,在分析文档时检测到对图像的参考的情况下(在S707中为是),首先,图像参考更新单元230将对包括在文档中的图像资源的参考更新为对转码图像的参考(S709)。在图21所示的示例中,由于此时尚未对图像进行转码,因此预先确定如文件名的转码图像的标识符。所确定的标识符在临时存储在中间服务器200的存储器中的同时写入文档中的参考中并且与此后要生成的转码图像相关联。
然后,文档传送单元214将对图像资源的参考已被更新的文档传送至客户端300(S711)。在传送文档之后或者与此同时,资源获取单元208获取所参考的图像(S713)。图像转码单元228将所获取的图像的格式转码为预定格式(S715)。应注意,在转码图像已存储在缓冲存储器280中的情况下,图像转码单元228可省略重复的转码处理。此后,资源传送单元215响应于来自客户端300的对于资源的请求而将包括转码图像的资源传送至客户端300(S717)。
如上所述,甚至在中间服务器200的处理能力高于客户端300的处理能力的情况下对图像进行转码也要花费一定时间。因此,如在上述处理流程中一样,可以通过以下操作来减少完成在客户端300中显示文档的时间:预先确定转码图像的标识符、先行地将包括更新后的对图像的参考的文档从中间服务器200传送至客户端300并且在接收到文档时开始在客户端300中进行显示同时在中间服务器200中对图像转码。
例如。在存在几个对文档中的图像的参考或者所参考的许多图像已被转码且存储在中间服务器200的缓冲存储器280中的情况下,文档传送单元214可在图像转码单元228完成图像的转码之后将文档传送至客户端300。应注意,在任何情况下,除了转码图像包括在所参考的资源中以外,客户端300中的处理类似于用于显示正常文档的处理,因此,省略了对其的详细描述。
(8-3.转码的示例)
将进一步描述本实施例中的对图像进行转码的示例。
包括在从分发源服务器100获取的资源中的图像通常以诸如JPEG、PNG和GIF的各种格式写入。另外,通常,图像并未严格地符合这些格式。因而,当在客户端300中对从分发源服务器100获取的图像(包括缓存在中间服务器200或客户端300中的图像)进行解码时,必须考虑各种情况,因此,难以优化处理,并且处理的效率不一定高。在从中间服务器200传递至客户端300以显示文档的数据中,在许多情况下图像的比例大,因此,对于减小图像的数据量的要求仍然高。
鉴于此,在该实施例中,在中间服务器200中对图像进行转码。例如,当中间服务器200的图像转码系统282仅将从分发源服务器100获取的图像的格式转码为各种格式的纯粹形式时,可以在客户端300中将解码优化到一定程度,因此,可以加速文档的显示。另外,在图像转码系统282将从分发源服务器100获取的图像的格式转码为可以优化客户端300中的解码处理的一种或多种预定格式的情况下,能够进一步加速文档的显示。
(8-4.格式的示例)
将进一步描述在本实施例中可以应用于图像的转码的图像的格式的示例。在以下描述中的图像的格式在本实施例中可与例如在中间服务器中进行转码结合实现。然而,格式不限于这样的示例,并且在实现图像本身的格式的情况下也存在各种优点。即,本公开内容的实施例可以包括与转码无关的图像的格式(例如,处理具有上述格式的图像的图像处理装置或图像处理方法)。
图22和图23是说明用于根据在本公开内容的实施例7中可应用的图像格式生成图像文件的处理的图。本文中所描述的处理可以由例如上述的中间服务器200的图像转码单元228来执行。
首先,如图22所示,基于以位图格式(包括JPEG、PNG、GIF等)写入的原始图像来计算矢量分量704、位图分量706和近似误差708。在该处理中,首先,将原始图像700分成两个区域群702a和702b(S751)。区域群702a具有低空间频率并具有宽区域。相反,区域群702b具有高空间频率并具有窄区域。区域的分割可以通过如分割和合并方法的各种公开已知的技术来实现。
关于区域群702a,矢量分量704是通过S753至S761中的处理来生成的。首先,提取区域群702a中包括的每个区域的边缘并且通过使用贝塞尔曲线来对轮廓进行近似(S753)。另外,获得在所近似的轮廓中的颜色梯度(colorgradient)(S755)。本文中,在颜色梯度相对均匀的情况下(在S757中为是),设置顶点颜色并且通过简单插值来表现该区域中的颜色(S759)。在颜色梯度不均匀的情况下,通过建模来表现区域中的颜色(S761)。作为模型,例如,可应用三维计算机图形的明暗模型。在明暗模型中,可以通过设置三次曲面和光源来表现高光(specularity)等。通过执行上述处理,表现区域群702a的每个区域中的近似轮廓和该轮廓的颜色,因此,可以生成矢量分量704。
同时,将区域群702b的每个区域压缩为图像,因此,生成位图分量706(S763)。为了在S763中压缩图像,可以使用诸如离散余弦变换(DCT)或矢量量化(VQ)的公共已知技术。
在区域群702a的区域中计算矢量分量704与原始图像700之间的差别,并且在区域群702b的区域中计算位图分量706与原始图像700之间的差别(S765),因此,可以获得矢量分量704和位图分量706与原始图像700之间的近似误差708。
如图23所示,基于矢量分量704、位图分量706和近似误差708来生成编码图像文件714。首先,基于矢量分量704和位图分量706的边界框(bbox)来分割原始图像700的区域,并且生成指示上述分割的k-d树710(S767)。另外,利用k-d树710的区域分割线来分配近似误差708(S769),因此,可以获得近似误差分量712。
对如上所述那样获得的矢量分量704、位图分量707、k-d树710和近似误差分量712进行序列化(S771),因此,生成图像文件714。
k-d树710作为结构数据写入图像文件714的顶部。于是,能够快速地查找要描绘的区域的分量。此后,写入矢量分量704、位图分量706和近似误差分量712。应注意,除了图像文件714中的k-d树710外的成分的排列顺序不受具体限制。
在矢量分量704中,利用bbox对每条顶点数据进行归一化。因此,能够减少尾数所需的有效数字,从而压缩数据。关于近似误差分量712,在许多区域具有误差0的情况下可以执行行程压缩。甚至在误差存在的情况下,假设分布集中于小误差上,因此,能够使用如LZW的算法来执行压缩。
矢量分量704用单一颜色表现例如由贝塞尔曲线围绕的区域的涂抹(paintingout)。以下是矢量分量704的写入内容的示例,应注意,虽然为了便于说明而在示例中以PostScript格式表现了写入内容,但是实际矢量分量704经受例如二进制编码、然后被压缩。
newpath
0100moveto
10050150502500rcurveto
100-50150-502500rcurveto
closepath
0.31.0setcolor
fill
位图分量706表现例如将位图图案应用于矩形区域。以下是位图分量706的写入内容的示例。应注意,虽然为了便于说明而在示例中以PostScript格式表达了写入内容,但是实际位图分量706经受例如二进制编码、然后被压缩。应注意,“xxxxpiximage”指示被用作“填充图案”的位图。
newpath
100100moveto
1000rlineto
0100rlineto
-1000rlineto
closepath
xxxxpiximage
fill
(8-5.解码处理的示例)
将描述当在客户端300中对上述示例中的图像文件714进行解码时所执行的处理示例。
(在完成下载之后执行解码的情况)
将描述在完成下载之后执行解码时所执行的处理。在该情况下,客户端300的显示控制单元310按顺序描绘图像文件714中包括的矢量分量704。在该示例中,在重复多遍的情况下,优先考虑一遍稍后描绘的矢量分量704。
然后,显示控制单元310按顺序描绘图像文件714中包括的位图分量706。此时,通过使用位图分量706而得到的绘画在通过使用矢量分量704而得到的绘画上改写。在重复多遍位图分量706的情况下,优先考虑一遍稍后描绘的位图分量706。
然后,显示控制单元310将近似误差分量712添加到各个区域中的图像中。可根据例如红色、绿色、蓝色和阿尔法(RGBA)来添加近似误差分量712。
(在下载中执行描绘的情况)
在下载中执行描绘的情况下,作为第一示例,客户端300的显示控制单元310根据在下载图像文件714时的进度来按以下顺序描绘矢量分量704、位图分量706和近似成分712。这使得能够进行显示以使得宽范围内的颜色首先被固定并且此后图像逐渐地被细化。
另外,作为第二示例,客户端300的显示控制单元310下载在图像文件714的开头的k-d树710。显示控制单元310可以从k-d树710获得对应于特定区域的矢量分量704、位图分量706和近似误差分量712的指针信息。然后,显示控制单元310使用查找、HTTP范围请求等来下载利用上述指针信息所参考的矢量分量704、位图分量706和近似误差712。显示控制单元310使用所下载的数据来在上述特定范围内按以下顺序描绘矢量分量704、位图分量706和近似误差分量712,因而,终止该区域的解码。
根据上述的本实施例,例如,可以通过减小在文档中参考的图像的文件大小来减小通信容量。另外,在图像的一部分是单一灰度或者图像的一部分用单一颜色涂抹的情况下,通过转码对这些部分进行矢量化,因此,能够加速解码处理。
(9.硬件配置)
接下来,将参照图24描述根据本公开内容的实施例的信息处理装置的硬件配置。图24是用于说明根据本公开内容的信息处理装置的硬件配置的示例的框图。该图中所示的信息处理装置900可实现上述实施例中的服务器、客户端等。
信息处理装置900包括CPU(中央处理单元)901、ROM(只读存储器)903和RAM(随机存取存储器)905。另外,信息处理装置900可包括主机总线907、桥接器909、外部总线911、接口913、输入装置915、输出装置917、存储装置919、驱动器921、连接端口923和通信装置925。另外,信息处理装置900可按需要包括成像装置933和传感器935。替选地或者除了CPU901外,信息处理装置900可包括诸如DSP(数字信号处理器)或ASIC(专用集成电路)的处理电路。
CPU901用作操作处理器和控制器,并且根据记录在ROM903、RAM905、存储装置919或可移动记录介质927中的各种程序来控制信息处理装置900中的全部或部分操作。ROM903存储CPU901使用的程序和操作参数。RAM905暂时存储在CPU901运行时使用的程序和在该运行中适当地修改的参数。CPU901、ROM903和RAM905通过主机总线907彼此相连接,该主机总线907被配置成包括如CPU总线的内部总线。另外,主机总线907经由桥接器909连接至诸如PCI(外围部件互连/接口)的外部总线911。
输入装置915是用户操作的装置,诸如鼠标、键盘、触摸面板、按钮、开关和操纵杆(lever)。输入装置915可以是例如使用红外光或其他无线电波的远程控制单元,或者可以是能够响应于信息处理装置900的操作而进行操作的例如便携式电话的外部连接装置929。此外,输入装置915包括输入控制电路,其基于用户输入的信息来生成输入信号并且将输入信号输出至CPU901。通过操作输入装置915,用户可以将各种类型的数据输入至信息处理装置900或者发布用于使得信息处理装置900执行处理操作的指令。
输出装置917包括能够视觉上或听觉上向用户通知所获取的信息的装置。输出装置917可包括诸如LCD(液晶显示器)、PDP(等离子体显示面板)和有机EL(电致发光)显示器的显示装置、诸如扬声器或耳机的音频输出装置以及诸如打印机的外围装置。输出装置917能够以视频(诸如文本或图像)和音频(诸如语音或声音)的形式输出从信息处理装置900的处理获得的结果。
存储装置919是被配置为信息处理装置900的存储单元的示例的用于数据存储的装置。存储装置919包括例如磁性存储装置(诸如HDD(硬盘驱动器)、半导体存储装置、光学存储装置或磁光存储装置。存储装置919存储CPU901要执行的程序、各种数据以及从外部获得的数据。
驱动器921是用于可移动记录介质927(诸如磁盘、光盘、磁光盘或半导体存储器)的读写器,并且被嵌入信息处理装置900或在外部与其附接。驱动器921读取与其附接的可移动记录介质927中记录的信息,并且将所读取的信息输出至RAM905。另外,驱动器921将记录写入与其附接的可移动记录介质927中。
连接端口923是用于将装置直接连接至信息处理装置900的端口。连接端口923可包括USB(通用串行总线)端口、IEEE1394端口和SCSI(小型计算机系统接口)端口。连接端口923还可包括RS-232C端口、光学音频终端、HDMI(高清晰度多媒体接口)端口等。外部连接装置929连接至连接端口923使得能够在信息处理装置900与外部连接装置929之间交换各种数据。
通信装置925是例如包括用于连接至通信网络931的通信装置等的通信接口。通信装置925可以是例如用于有线或无线LAN(局域网)、蓝牙(注册商标)、WUSB(无线USB)等的通信卡。另外,通信装置925可以是用于光学通信的路由器、用于ADSL(非对称数字用户线)的路由器、用于各种通信的调制解调器等。通信装置925可以基于例如TCP/IP的预定协议将信号传送至例如因特网或其他通信装置以及从例如因特网或其他通信装置接收信号。另外,连接至通信装置925的通信网络931可以是以有线或无线方式连接的网络等,并且可以是例如因特网、家用LAN、红外通信、无线电波通信、卫星通信等。
成像装置933是通过使用图像传感器(诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)传感器)以及各种构件(如用于控制主体图像在例如图像传感器上的形成的一个或多个透镜)对实际空间进行成像来生成图像的装置。成像装置933可以是拍摄静止图像的装置,并且还可以是拍摄移动图像的装置。
传感器935是例如各种传感器(诸如加速度传感器、陀螺仪传感器、地磁传感器、光学传感器或声音传感器)中的任一个。例如,传感器935获取关于信息处理装置900的状态(如信息处理装置900的壳体的方位)的信息以及关于信息处理装置900周围的环境的信息(如,信息处理装置900周围的亮度或噪声)。传感器935还可包括接收GPS信号并测量设备的纬度、经度和高度的全球定位系统(GPS)信号。
以上内容说明了信息处理装置900的示例性硬件配置。上述部件中的每一个可使用通用构件来实现,但还可以在每个部件的功能中专用的硬件来实现。这样的配置还可根据在实现时的技术水平而被适当地修改。
(10.补充说明)
本公开内容的实施例可以包括例如上述的信息处理装置(服务器装置或客户端装置)、系统、在信息处理装置或系统中执行的信息处理方法、使得信息处理装置工作的程序以及记录有程序的非暂态有形介质。应注意,即使在说明书没有具体描述可以组合实施例的情况下,上述的多个实施例也可以在对于本领域技术人员明显的范围内基于本说明书的描述而以任意组合来实现。
以上已参照附图描述了本公开内容的一个或多个优选实施例,而本公开内容不限于上述示例。本领域技术人员可在所附权利要求书的范围内发现各种变更和修改,并且应该理解,它们将自然落入本公开内容的技术范围内。
另外,本技术还可如下配置。
(1)一种服务器装置,包括:
文档获取单元,被配置成响应于来自客户端的请求而获取包括对资源的参考的文档;
标识符生成单元,被配置成生成所述资源的内容所独有的标识符;
标识符写入单元,被配置成在所述文档中将所述标识符与对所述资源的参考相关联;以及
文档传送单元,被配置成将所述文档和与对所述资源的参考相关联的所述标识符传送至所述客户端。
(2)根据(1)所述的服务器装置,
其中,所述标识符写入单元将所述标识符添加到原始标识符中并将所述标识符与对所述资源的参考相关联。
(3)根据(1)或(2)所述的服务器装置,还包括:
资源先行分发单元,被配置成对将所述标识符与对所述资源的参考相关联的次数进行计数,并且将基于所述次数而被估计为频繁使用的资源与所述标识符相关联以将所述资源在所述请求之前传送至所述客户端。
(4)根据(3)所述的服务器装置,
其中,在被估计为频繁使用的资源是程序的情况下,所述资源先行分发单元对所述程序进行预编译、然后将所述程序传送至所述客户端。
(5)根据(1)至(4)中任一项所述的服务器装置,
其中,所述标识符包括基于所述资源的内容而计算的散列。
(6)根据(1)至(5)中任一项所述的服务器装置,
其中,在生成所述标识符之前,所述文档传送单元将虚拟标识符与对所述资源的参考相关联的文档传送至所述客户端,并且在生成所述标识符之后,所述文档传送单元将使所述标识符与所述虚拟标识符相关联的信息传送至所述客户端。
(7)一种客户端装置,包括:
请求传送单元,被配置成向服务器传送请求;
文档接收单元,被配置成从所述服务器接收包括对资源的参考的文档和标识符,所述文档是响应于所述请求而从所述服务器传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及
缓存确定单元,被配置成基于所述标识符来确定所述资源是否存储在缓冲存储器中。
(8)根据(7)所述的客户端装置,
其中,所述文档接收单元接收包括对所述资源的参考的所述文档,对所述资源的参考被添加到原始标识符而且与所述标识符相关联。
(9)根据(7)或(8)所述的客户端装置,还包括:
资源先行接收单元,被配置成在所述请求之前从所述服务器接收与所述标识符相关联的预定资源,并且将所接收到的资源存储在缓冲存储器中。
(10)根据(9)所述的客户端装置,
其中,在所述预定资源是程序的情况下,所述资源先行接收单元接收预编译的程序并且缓存所接收到的程序。
(11)根据权利要求(10)所述的客户端装置,
其中,所述资源先行接收单元将所接收到的程序缓存在与用于除了所述程序之外的资源的存储区域不同的存储区域中。
(12)根据(7)至(11)中任一项所述的客户端装置,
其中,所述标识符包括基于所述资源的内容而计算的散列。
(13)根据(7)至(12)中任一项所述的客户端装置,
其中,所述文档接收单元从所述服务器接收虚拟标识符与对所述资源的参考相关联的所述文档,然后从所述服务器接收将所述标识符与所述虚拟标识符相关联的信息。
(14)根据(13)所述的客户端装置,
其中,在所述虚拟标识符与对所述资源的参考相关联的状态下参考所述资源的情况下,所述缓存确定单元实现将对于所述标识符的请求传送至所述服务器的功能。
(15)一种信息处理方法,包括:
响应于来自客户端的请求而获取包括对资源的参考的文档;
生成所述资源的内容所独有的标识符;
使用处理器来在所述文档中将所述标识符与对所述资源的参考相关联;以及
将所述文档和与对所述资源的参考相关联的所述标识符传送至所述客户端。
(16)一种非暂态有形记录介质,其上记录有程序,所述程序使得计算机实现以下功能:
向服务器传送请求;
从所述服务器接收包括对资源的参考和标识符的文档,所述文档是响应于所述请求而传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及
基于所述标识符来确定所述资源是否存储在缓冲存储器中。
附图标记列表
10系统
100分发服务器
200中间服务器
202请求接收单元
204文档获取单元
206文档分析单元
208资源获取单元
210标识符生成单元
212标识符写入单元
214文档传送单元
216资源传送单元
218资源先行分发单元
220资源分析单元
222缩写字符串生成单元
224缩写字符串写入单元
226关联信息传送单元
228图像转码单元
230图像参考更新单元
280缓冲存储器
282数据库
300客户端
302请求传送单元
304文档接收单元
306缓存确定单元308资源接收单元
310显示控制单元
312资源先行接收单元
314关联信息接收单元
316字符串解释单元
380缓冲存储器
382数据库

Claims (16)

1.一种服务器装置,包括:
文档获取单元,被配置成响应于来自客户端的请求而获取包括对资源的参考的文档;
标识符生成单元,被配置成生成所述资源的内容所独有的标识符;
标识符写入单元,被配置成在所述文档中将所述标识符与对所述资源的参考相关联;以及
文档传送单元,被配置成将所述文档和与对所述资源的参考相关联的标识符传送至所述客户端。
2.根据权利要求1所述的服务器装置,
其中,所述标识符写入单元将所述标识符添加到原始标识符中并将所述标识符与对所述资源的参考相关联。
3.根据权利要求1所述的服务器装置,还包括:
资源先行分发单元,被配置成对将所述标识符与对所述资源的参考相关联的数量进行计数,并且将基于所述数量而被估计为频繁使用的资源与所述标识符相关联以将所述资源在请求之前传送至所述客户端。
4.根据权利要求3所述的服务器装置,
其中,在被估计为频繁使用的资源是程序的情况下,所述资源先行分发单元对所述程序进行预编译,然后将所述程序传送至所述客户端。
5.根据权利要求1所述的服务器装置,
其中,所述标识符包括基于所述资源的内容而计算的散列。
6.根据权利要求1所述的服务器装置,
其中,在生成所述标识符之前,所述文档传送单元将虚拟标识符与对所述资源的参考相关联的文档传送至所述客户端,并且在生成所述标识符之后,所述文档传送单元将使所述标识符与所述虚拟标识符相关联的信息传送至所述客户端。
7.一种客户端装置,包括:
请求传送单元,被配置成向服务器传送请求;
文档接收单元,被配置成从所述服务器接收包括对资源的参考的文档和标识符,所述文档是响应于所述请求而从所述服务器传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及
缓存确定单元,被配置成基于所述标识符来确定所述资源是否存储在缓冲存储器中。
8.根据权利要求7所述的客户端装置,
其中,所述文档接收单元接收包括对所述资源的参考的文档,对所述资源的参考被添加到原始标识符而且与所述标识符相关联。
9.根据权利要求7所述的客户端装置,还包括:
资源先行接收单元,被配置成在所述请求之前从所述服务器接收与所述标识符相关联的预定资源,并且将所接收到的资源存储在缓冲存储器中。
10.根据权利要求9所述的客户端装置,
其中,在所述预定资源是程序的情况下,所述资源先行接收单元接收预编译的程序并且缓存所接收到的程序。
11.根据权利要求10所述的客户端装置,
其中,所述资源先行接收单元将所接收到的程序缓存在与用于除了所述程序之外的资源的存储区域不同的存储区域中。
12.根据权利要求7所述的客户端装置,
其中,所述标识符包括基于所述资源的内容而计算的散列。
13.根据权利要求7所述的客户端装置,
其中,所述文档接收单元从所述服务器接收虚拟标识符与对所述资源的参考相关联的所述文档,然后从所述服务器接收将所述标识符与所述虚拟标识符相关联的信息。
14.根据权利要求13所述的客户端装置,
其中,在所述虚拟标识符与对所述资源的参考相关联的状态下参考所述资源的情况下,所述缓存确定单元实现将用于所述标识符的请求传送至所述服务器的功能。
15.一种信息处理方法,包括:
响应于来自客户端的请求而获取包括对资源的参考的文档;
生成所述资源的内容所独有的标识符;
使用处理器来在所述文档中将所述标识符与对所述资源的参考相关联;以及
将所述文档和与对所述资源的参考相关联的所述标识符传送至所述客户端。
16.一种非暂态有形记录介质,其上记录有程序,所述程序使得计算机实现以下功能:
向服务器传送请求,
从所述服务器接收包括对资源的参考的文档和标识符,所述文档是响应于所述请求而传送的,所述标识符与对所述资源的参考相关联并且是所述资源的内容所独有的;以及
基于所述标识符来确定所述资源是否存储在缓冲存储器中。
CN201480054817.5A 2013-10-08 2014-07-02 服务器装置、客户端装置、信息处理方法和记录介质 Expired - Fee Related CN105593853B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013-211282 2013-10-08
JP2013211282 2013-10-08
PCT/JP2014/067696 WO2015052968A1 (ja) 2013-10-08 2014-07-02 サーバ装置、クライアント装置、情報処理方法および記録媒体

Publications (2)

Publication Number Publication Date
CN105593853A true CN105593853A (zh) 2016-05-18
CN105593853B CN105593853B (zh) 2020-01-21

Family

ID=52812789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480054817.5A Expired - Fee Related CN105593853B (zh) 2013-10-08 2014-07-02 服务器装置、客户端装置、信息处理方法和记录介质

Country Status (6)

Country Link
US (1) US10509826B2 (zh)
EP (1) EP3056996A4 (zh)
JP (1) JP6323461B2 (zh)
CN (1) CN105593853B (zh)
BR (1) BR112016007311A2 (zh)
WO (1) WO2015052968A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677809B2 (en) * 2015-10-15 2023-06-13 Usablenet Inc. Methods for transforming a server side template into a client side template and devices thereof
US10866893B2 (en) * 2018-01-23 2020-12-15 Home Depot Product Authority, Llc Cache coherency engine
US11914980B2 (en) * 2021-06-08 2024-02-27 Red Hat, Inc. Managing deployments of software programs to distributed computing environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010543A1 (en) * 2002-07-15 2004-01-15 Steven Grobman Cached resource validation without source server contact during validation
US20090047937A1 (en) * 2000-06-30 2009-02-19 Zellner Samuel N Anonymous location service for wireless networks
CN102084360A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于确认从数据存储设备读取正确的数据段的装置、系统和方法
CN102124697A (zh) * 2008-08-18 2011-07-13 F5网络公司 更新网络流量管理设备同时维持有效性

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195622B1 (en) * 1998-01-15 2001-02-27 Microsoft Corporation Methods and apparatus for building attribute transition probability models for use in pre-fetching resources
US6631515B1 (en) * 1998-09-24 2003-10-07 International Business Machines Corporation Method and apparatus to reduce code size and runtime in a Java environment
JP2000222273A (ja) * 1999-02-03 2000-08-11 Nec Software Shikoku Ltd ドキュメントダウンロードシステム
JP4020676B2 (ja) * 2002-03-26 2007-12-12 株式会社東芝 Webシステム及びWebシステムの制御方法
JP2004185263A (ja) 2002-12-03 2004-07-02 Oki Electric Ind Co Ltd 分散協調型コンテンツ配信システム
US7519726B2 (en) * 2003-12-12 2009-04-14 International Business Machines Corporation Methods, apparatus and computer programs for enhanced access to resources within a network
JP4031516B2 (ja) * 2007-02-13 2008-01-09 株式会社東芝 サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP5208560B2 (ja) * 2008-03-31 2013-06-12 株式会社東芝 情報映像化配信装置、情報映像化配信方法及びプログラム
JP2011108102A (ja) 2009-11-19 2011-06-02 Sony Corp ウェブサーバ、ウェブブラウザおよびウェブシステム
CN102985921B (zh) * 2010-05-07 2016-09-21 谷歌公司 在具有电子资源数据库的客户端装置中高速缓存电子文档资源
US8484373B2 (en) * 2010-10-25 2013-07-09 Google Inc. System and method for redirecting a request for a non-canonical web page
IL217279A0 (en) * 2011-12-29 2012-02-29 Israel Ragutski Method and system for ensuring authenticity of ip data served by a service provider

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090047937A1 (en) * 2000-06-30 2009-02-19 Zellner Samuel N Anonymous location service for wireless networks
US20040010543A1 (en) * 2002-07-15 2004-01-15 Steven Grobman Cached resource validation without source server contact during validation
CN102084360A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于确认从数据存储设备读取正确的数据段的装置、系统和方法
CN102124697A (zh) * 2008-08-18 2011-07-13 F5网络公司 更新网络流量管理设备同时维持有效性

Also Published As

Publication number Publication date
JPWO2015052968A1 (ja) 2017-03-09
US10509826B2 (en) 2019-12-17
EP3056996A4 (en) 2017-06-28
JP6323461B2 (ja) 2018-05-16
EP3056996A1 (en) 2016-08-17
US20160292298A1 (en) 2016-10-06
BR112016007311A2 (pt) 2017-08-01
WO2015052968A1 (ja) 2015-04-16
CN105593853B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
US9374275B2 (en) Rapid application development using a content management system
CN112597356B (zh) 模型训练方法、个性化数据推荐方法、装置及电子设备
KR101238374B1 (ko) 메쉬업 서버스 지원방법 및 장치
CN110851209A (zh) 一种数据处理方法、装置、电子设备及存储介质
US10296713B2 (en) Method and system for reviewing medical study data
US20200050785A1 (en) Database record access through use of a multi-value alternate primary key
US9201883B1 (en) Remote file archiving using package files
CN105593853A (zh) 服务器装置、客户端装置、信息处理方法和记录介质
CN113343312A (zh) 基于前端埋点技术的页面防篡改方法及系统
CN114116684A (zh) 基于Docker容器化的深度学习大模型与大数据集版本管理方法
CN114386853A (zh) 基于通用审核模型的数据审核处理方法、装置及设备
CN105593831A (zh) 服务器装置、客户端装置、信息处理方法和记录介质
CN112052234B (zh) 业务数据的处理方法和装置、存储介质、电子装置
CN112463998B (zh) 相册资源的处理方法、装置、电子设备和存储介质
CN117687616A (zh) 对象编译方法、装置、计算机设备、存储介质及程序产品
CN115016754A (zh) 设备间的页面同步显示方法、装置、电子设备及介质
US20210133774A1 (en) ENHANCED PROCESSING OF USER PROFILES USING DATA STRUCTURES SPECIALIZED FOR GRAPHICAL PROCESSING UNITS (GPUs)
CA2722511A1 (en) Efficient change tracking of transcoded copies
US10496712B2 (en) Equipment information acquisition device, equipment information acquisition system, equipment information acquisition method, and information storage medium
Reina Can Image Data Facilitate Reproducibility of Graphics and Visualizations? Toward a Trusted Scientific Practice
CN104539697A (zh) 一种客户端、服务器及制作安卓移动应用的方法
KR20190130959A (ko) 크로마 서브 샘플링된 이미지들에 대한 빠른 참조 객체 저장 형식에 대한 방법
CN104780148A (zh) 服务器、终端、文档在线操作的系统和方法
CN104732481A (zh) 图像调整方法及装置
CA2872429A1 (en) An automated processor for web content to mobile-optimized content transformation

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200121

Termination date: 20200702

CF01 Termination of patent right due to non-payment of annual fee