信息处理单元及其方法、远程服务器和信息处理系统的制作方法

文档序号:7705665阅读:79来源:国知局
专利名称:信息处理单元及其方法、远程服务器和信息处理系统的制作方法
技术领域
本发明涉及信息处理单元、信息处理方法、远程服务器和信息处理系统。
背景技术
作为一种通过经由因特网的远程访问来连接服务器和客户端设备的方
法, 一种被称为HTTP隧传(HTTP tu皿eling)的技术是已知的(例如, 参照日本专利申请公布No. 2001-86163)

发明内容
但是,为了利用HTTP隧传通过远程访问来建立连接,在建立连接时 必须掌握传送数据的量。因此,当利用HTTP隧传通过远程访问来建立连 接时,配置复杂化了。
考虑到以上情况,希望提供一种信息处理单元、信息处理方法、远程 服务器和信息处理系统,其能够经由代理服务器在远程服务器和信息处理 单元之间建立和维护使用HTTP隧传的连接,而无需掌握传送数据的量。
根据本发明的实施例,提供了一种信息处理单元,包括应用执行部 件,执行应用以请求与连接目标单元建立HTTP隧传连接;连接建立部 件,设定能与连接目标单元设定的最大内容长度,经由所连接的代理服务 器与连接目标单元建立具有指定的内容长度的HTTP隧传连接,并且在所 建立的连接关闭后多次更新具有指定的内容长度的HTTP隧传连接;以及 连接管理部件,对多个HTTP隧传连接中每一个的连接状态进行管理,并 且使得应用执行部件将多个HTTP隧传连接识别为一个虚拟HTTP隧传连 接。
在此配置中,应用执行部件执行应用以请求与连接目标单元建立HTTP隧传连接。连接建立部件设定能与连接目标单元设定的最大内容长 度,经由所连接的代理服务器建立具有指定的内容长度的HTTP隧传连 接,并且在所建立的连接关闭后多次更新具有指定的内容长度的HTTP隧 传连接。另外,连接管理部件对多个HTTP隧传连接中每一个的连接状态 进行管理,并且使得应用执行部件将多个HTTP隧传连接识别为一个虚拟 HTTP隧传连接。
连接管理部件可管理与虚拟HTTP隧传连接相关联的连接标识符,并 且在连接建立部件更新具有指定的内容长度的HTTP隧传连接时向连接建 立部件指定与虚拟HTTP隧传连接相关联的连接标识符,并且连接建立部 件可利用由连接管理部件指定的连接标识符来更新HTTP隧传连接。
连接建立部件可通过重用为更新前的HTTP隧传连接设定的连接控制 条件来更新具有指定的内容长度的HTTP隧传连接。
根据本发明的另一实施例,提供了一种信息处理方法,包括以下步 骤基于来自应用的、对于与连接目标单元建立HTTP隧传连接的请求, 设定能与连接目标单元设定的最大内容长度,并且经由所连接的代理服务 器与连接目标单元建立具有指定的内容长度的HTTP隧传连接;在所建立 的HTTP隧传连接关闭后更新具有指定的内容长度的HTTP隧传连接;以 及对更新前和更新后的HTTP隧传连接的连接状态进行管理,并使得应用 将更新前和更新后的HTTP隧传连接识别为一个虚拟HTTP隧传连接。
根据本发明的另一个实施例,提供了一种远程服务器,包括应用执 行部件,执行应用以等待从信息处理单元提供来的对建立HTTP隧传连接 的请求;连接建立部件,向信息处理单元提供能设定的最大内容长度,与 经由代理服务器连接的信息处理单元建立具有指定的内容长度的HTTP隧 传连接,并且在所建立的连接关闭后、对更新连接的请求被从信息处理单 元提供来时,重新建立连接;以及连接管理部件,对多个HTTP隧传连接 的连接状态进行管理,并且使得应用执行部件将多个HTTP隧传连接识别 为一个虚拟HTTP隧传连接。
根据本发明的另一个实施例,提供了一种信息处理方法,包括以下步 骤执行应用以等待从信息处理单元提供来的对建立HTTP隧传连接的请求;向信息处理单元提供能设定的最大内容长度,并且与经由代理服务器 连接的信息处理单元建立具有指定的内容长度的HTTP隧传连接;在所建
立的连接关闭后、对更新连接的请求被从信息处理单元提供来时,重新建
立连接;以及对更新前和更新后的HTTP隧传连接的连接状态进行管理, 并且使得应用将更新前和更新后的HTTP隧传连接识别为一个虚拟HTTP 隧传连接。
根据本发明的另一个实施例,提供了一种包括上述信息处理单元和上 述远程服务器的信息处理系统。
虚拟HTTP隧传连接可以是从信息处理单元到远程服务器建立的,并 且多个HTTP隧传连接可以是从远程服务器到信息处理单元建立的。
根据本发明的上述实施例,可以经由代理服务器在远程服务器和信息 处理单元之间建立并维护使用HTTP隧传的连接,而无需掌握传送数据的


图1是示出根据本发明第一实施例的信息处理系统的说明图。
图2是示出根据该实施例的信息处理单元和远程服务器的配置的框图。
图3是示出根据该实施例的信息处理单元和远程服务器的配置的说明图。
图4是示出根据该实施例的信息处理单元和远程服务器的配置的说明图。
图5A是示出根据该实施例的信息处理方法的流程图。
图5B是示出根据该实施例的信息处理方法的流程图。
图6是示出根据该实施例的反向连接的说明图。
图7是示出根据该实施例的反向连接的说明图。
图8是示出根据该实施例的信息处理单元的硬件配置的框图。
图9A是示出HTTP隧传的说明图。
图9B是示出HTTP隧传的说明图。图9C是示出HTTP隧传的说明图。 图9D是示出HTTP隧传的说明图。
具体实施例方式
下面,将参考附图详细描述本发明的优选实施例。注意,在本说明书 和附图中,具有基本上相同的功能和结构的结构要素是用相同的标号来指 示的,并且对这些结构要素的重复说明被省略。
<通过HTTP隧传进行的连接>
在描述根据本发明第一实施例的信息处理系统之前,将详细描述利用 HTTP隧传的连接。为了解决上面描述的问题,本发明的发明人首先进行 了关于通过HTTP隧传进行连接的深入研究。下面参考图9A至图9D来描 述研究结果。图9A至图9D是示出利用HTTP隧传的连接的说明图。
用于经由因特网在服务器和客户端设备之间通过HTTP隧传来建立连 接的方法如下。在此情况下,HTTP隧传的POST侧的事务必须使用指定 内容长度头部的方法或者使用分块编码(chunked encoding)的方法中的任 一种。
例如,如果代理服务器905如图9A所示被布置于客户端设备903 (具 体而言是客户端设备903所属的LAN)的环境中,那么在一些情况下,就 HTTP POST侧的事务而言,代理服务器905不支持使用分块编码的方法。 另一方面,在使用内容长度头部的方法中,在建立连接时必须掌握传送数 据的量(以下称之为内容长度)。因此,在像HTTP隧传那样使用POST 事务作为通信通道的情况下,使用内容长度头部的方法是困难的。
一般来说,在连接中,例如,与发起连接的设备(例如,图9B中的 客户端设备903)中相比,在等待连接的设备(例如,图9B中的服务器 901)中,对实现条件和环境的要求常常更高。例如,在远程访问的情况 下,虽然当在服务器901端使用网络地址转换(NAT)时必须应用诸如 UPnP IGD之类的NAT穿越技术,但NAT的存在在客户端设备903 —端 则不会成为问题。另外,例如,在从客户端设备903到服务器901建立连接的情况下, 经常是这样的情况客户端设备903的应用请求建立到服务器901的应用 的连接,如图9C所示。具体而言,客户端设备903的应用发起者921发 起到服务器901的应用服务器911的连接。在此情况下,在应用发起者 921操作时,客户端设备903的连接客户端923实际上作出对于建立到服 务器901的连接服务器913的连接的请求。
在绝大多数情况下,应用操作的发起者是连接的客户端,并且HTTP 事务的方向与上述应用中发起连接的方向一致。这种情况的示例是当客户 端设备903是Web浏览器并且服务器901是Web服务器时,当客户端设 备903是遵循数字生活网络联盟(DLNA)方针的数字媒体播放器并且服 务器901是遵循DLNA方针的数字媒体服务器时,等等。
但是,例如,存在这样一种情况,即服务器901的安装环境上的约束 不允许布置连接服务器,而只允许布置连接客户端915,如图9D所示。 在这种情况下,如果客户端设备903的应用发起者921请求发起到服务器 901的应用服务器911的连接,HTTP事务的方向则不与应用中发起连接的 方向一致,从而无法在客户端设备903和服务器901之间建立连接。
本发明的发明人进行了深入的研究来克服上述问题,并且发现了如下 所述的信息处理系统。
(第一实施例) <信息处理系统>
下面参考图1详细描述根据本发明第一实施例的信息处理系统。图1 是示出根据该实施例的信息处理系统的说明图。
根据该实施例的信息处理系统1包括根据该实施例的信息处理单元10 所属的网络5和根据该实施例的远程服务器20所属的网络7。信息处理单 元10所属的网络5和远程服务器20所属的网络7可通过因特网3与彼此 连接。另外,代理服务器(HTTP代理)9被安装在信息处理单元10所属 的网络5中。
根据该实施例的信息处理单元10和远程服务器20各自具有远程访问 功能,并且它们可以利用HTTP隧传技术来与彼此通信。因特网3是一通信网络,其连接信息处理单元10和远程服务器20, 以便通过有线或无线手段来实现双向通信或单向通信。代理服务器9是充 当防火墙的HTTP代理,其被布置于因特网3和信息处理单元IO之间。
信息处理单元10和远程服务器20是具有远程访问功能的设备,并且 通过执行在设备中安装的各种上层应用,可以实现各种功能。信息处理单 元10和远程服务器20可以是诸如个人计算机或服务器之类的计算机设 备,或者具有通过网络进行通信的功能的家庭信息装置,例如电视机、 DVD/HDD记录器、蜂窝电话、个人数字助理(PDA)、数字相机、家庭 视频游戏机以及数字摄像机。另外,信息处理单元10和远程服务器20可 以是能够被订约者携带的便携式设备,例如便携式视频游戏机、PHS以及 便携式视频/音频播放器。另外,信息处理单元10和远程服务器20可以是 遵循DLNA方针的数字媒体服务器(DMS)、数字媒体播放器 (DMP)、数字媒体表现器(digital media renderer, DMR)、数字媒体控 制器等等。
在下文中更详细描述信息处理单元IO和远程服务器20。 <信息处理单元和远程服务器的配置>
下面参考图2详细描述根据该实施例的信息处理单元10和远程服务 器20的配置。图2是示出根据该实施例的信息处理单元10和远程服务器 20的配置的框图。
图2中的示例示出了信息处理单元10作为客户端设备连接到服务器 20的情况。
根据该实施例的信息处理单元IO例如主要包括通信部件101、应用执 行部件103、虚拟连接客户端部件105、连接客户端部件107、以及存储部 件109,如图2所示。
通信部件101是例如包括中央处理单元(CPU)、只读存储器 (ROM)、随机访问存储器(RAM)、通信设备等等的处理部件,并且 还包括网络接口。通信部件101是能够基于两类协议来执行通信控制的 栈传输控制协议(TCP)和互联网协议(IP)。根据该实施例的信息处
10理单元10经由通信部件101与属于同一网络的设备或者属于不同网络的 设备通信。
应用执行部件103例如包括CPU、 ROM、 RAM等等,并且通过在 CPU上执行存储部件109 (下文描述)中记录的程序来实现充当上层应用 的各种处理。上层应用首先发起从根据该实施例的信息处理单元10到远 程服务器20 (下文描述)的连接,然后利用所建立的连接来执行各种处 理。
具体而言,当应用执行部件103判定发起连接时,通知被提供到虚拟 连接客户端部件105 (下文描述),并且建立实际连接的过程开始。
这种上层应用的一个示例是遵循DLNA方针的各种控制程序。
作为连接管理部件的示例,虚拟连接客户端部件105例如包括CPU、 ROM、 RAM等等,并且基于从应用执行部件103发送来的连接发起请求 指导连接客户端部件107 (下文描述)作出对于建立实际连接的请求。另 外,当通过连接客户端部件107 (下文描述)与远程服务器20建立HTTP 隧传连接时,虚拟连接客户端部件105管理所建立的连接的连接状态。
具体而言,虚拟连接客户端部件105使得应用执行部件103把通过连 接客户端部件107 (下文描述)建立的多个HTTP隧传连接识别为一个虚 拟的HTTP隧传连接。应用执行部件103从而可以向该虚拟HTTP隧传连 接提供各种指令,而无需关心实际HTTP隧传连接的实现方式。
虚拟HTTP隧传连接与作为唯一连接标识符的连接ID相关联,并且 虚拟连接客户端部件105将连接ID记录到存储部件109 (下文描述)中。 同一连接ID被指派给形成虚拟HTTP隧传连接的多个连接。
连接ID是在HTTP隧传连接首先被建立时由信息处理单元10的虚拟 连接客户端部件105发出的。另外,当连接客户端部件107 (下文描述) 更新HTTP隧传连接时,虚拟连接客户端部件105所管理的连接ID被通 知给连接客户端部件107。
连接ID不仅被指派给HTTP POST的事务,而且被指派给HTTP GET 的事务。
作为连接建立部件的示例,连接客户端部件107例如包括CPU、ROM、 RAM等等。连接客户端部件107基于从虚拟连接客户端部件105 发来的连接建立请求,向布置于远程服务器20中的连接建立部件请求建 立使用HTTP隧传的连接。另外, 一旦与远程服务器20建立了连接,连 接客户端部件107就维护所建立的连接。连接的建立和维护是经由通信部 件101来执行的。
连接客户端部件107通过与远程服务器20的连接服务器部件203协商 来确定内容长度,并且通过指定内容长度头部的方法与远程服务器20建 立使用HTTP隧传的远程访问。
如果内容长度超过先前指定的内容长度,与远程服务器20建立的 HTTP隧传连接则被关闭,并且连接客户端部件107自动更新与远程服务 器20之间的具有指定的内容长度的HTTP隧传连接。在更新后,连接客 户端部件107重用已从虚拟连接客户端部件105通知来的连接ID。
当与远程服务器20的连接服务器部件203建立实际连接时,确定诸 如双向认证和将要用于通信的加密密钥之类的连接控制条件。另外,当更 新HTTP隧传连接时,连接客户端部件107可以通过重用为更新前的 HTTP隧传连接确定的连接控制条件来更新连接。例如,可以与远程服务 器20只执行双向认证,并且在更新连接时可重用曾用于更新前的连接的 加密密钥等等,从而与首次建立连接时相比可以更迅速地更新连接。
存储部件109能够存储根据该实施例的信息处理单元10执行某种处 理时所必须存储的各种参数、处理的进度等等、各种数据库,等等。另 外,在存储部件109中,由虚拟连接客户端部件105管理的连接ID例如 被以日志信息、数据库等等之类的格式来记录。通信部件101、应用执行 部件103、虚拟连接客户端部件105和连接客户端部件107等等可在存储 部件109上自由进行数据读写。
虽然以上描述了信息处理单元10包括连接客户端部件107的情况, 但是信息处理单元10也可包括像布置于远程服务器20中的那个连接服务 器部件(下文描述)那样的连接服务器部件。
下面描述根据该实施例的信息处理单元10的功能的一个示例。上述 元件中的每一个可利用通用构件或电路来配置,或者它可利用专用于每个元件的功能的硬件来配置。另外,每个元件的功能可以完全由CPU等等来 实现。因此,可以根据实现实施例时的技术水平来适当地改变要使用的配 置。
根据该实施例的远程服务器20例如主要包括通信部件201、连接服务 器部件203、虚拟连接服务器部件205、应用执行部件207、以及存储部件 209,如图2所示。
通信部件201是例如包括CPU、 ROM、 RAM、通信设备等等的处理 部件,并且还包括网络接口。通信部件201是能够基于两类协议来执行通 信控制的栈TCP和IP。根据该实施例的远程服务器20经由通信部件201 与属于同一网络的设备或者属于不同网络的设备通信。
作为连接建立部件的示例,连接服务器部件203例如包括CPU、 ROM、 RAM等等。连接服务器部件203响应于从信息处理单元10的连接 建立部件发送来的对于建立HTTP隧传连接的请求,与信息处理单元10 建立连接。另外, 一旦与信息处理单元10建立了连接,连接服务器部件 203就维护所建立的连接。连接的建立和维护是经由通信部件201来执行 的。
连接服务器部件203通过与信息处理单元10的连接建立(例如,连 接客户端部件107)协商来确定内容长度,并且通过指定内容长度头部的 方法与信息处理单元10建立使用HTTP隧传的远程访问。
另外,作为连接标识符的示例,连接ID被描述为从信息处理单元10 的连接客户端部件107发送的HTTP POST的URL中的查询串。连接服务 器部件203将所描述的连接ID传送到虚拟连接服务器部件205 (下文描 述)。
如果内容长度超过先前指定的内容长度,连接服务器部件203则关闭 已与信息处理单元10建立的HTTP隧传连接。当与信息处理单元10建立 的HTTP隧传连接被关闭时,信息处理单元10可以再次作出对于HTTP隧 传连接的请求。如果对于重新建立已关闭的连接的请求(对连接更新的请 求)被作出,连接服务器部件203则将从信息处理单元10发送来的连接ID传送到虚拟连接服务器部件205 (下文描述),并且根据由虚拟连接服 务器部件205进行的判定来执行连接建立处理。
当与信息处理单元10的连接客户端部件107建立实际连接时,确定 诸如双向认证和将要用于通信的加密密钥之类的连接控制条件。另外,当 更新HTTP隧传连接时,可以通过重用为更新前的HTTP隧传连接确定的 连接控制条件来更新连接。例如,当虚拟连接服务器部件205 (下文描 述)通知存在与被请求更新的连接的连接ID相同的连接ID时,可以与信 息处理单元10只执行双向认证,并且可重用曾用于更新前的连接的加密 密钥等等。
作为连接管理部件的示例,虚拟连接服务器部件205例如包括CPU、 ROM、 RAM等等,并且对在连接服务器部件203和信息处理单元IO的连 接客户端部件107之间建立的连接的连接状态进行管理。
具体而言,虚拟连接服务器部件205使得应用执行部件207把通过连 接服务器部件203建立的多个HTTP隧传连接识别为一个虚拟HTTP隧传 连接。应用执行部件207从而可向虚拟HTTP隧传连接提供各种指令,而 无需关心实际HTTP隧传连接的实现方式。
另外,虚拟连接服务器部件205把从连接服务器部件203传送来的连 接ID记录到存储部件209 (下文描述)中。在从由于内容长度满了因而连 接结束起的规定长的一段时间中,连接ID被记录在存储部件209等等中 而不被删除。从连接结束起的规定长的一段时间可根据信息处理系统1的 容量和规模而被设定为任意的值,并且它可被设定为诸如1分钟之类的 值。
如果连接服务器部件203通知存在对连接更新的请求,虚拟连接服务 器部件205则判定新传送的连接ID是否与记录在存储部件209等等中的 连接ID相同。如果判定连接ID匹配,虚拟连接服务器部件205则判定被 请求更新的连接是对由于内容长度满了而被关闭的连接进行更新的连接, 并将其视为属于同一虚拟HTTP隧传连接的连接。另一方面,如果连接ID 不匹配,虚拟连接服务器部件205则判定发生了新的虚拟HTTP隧传连 接。如果同一连接ID被存储在存储部件209中,虚拟连接服务器部件205 则将其通知给连接服务器部件203。结果,连接服务器部件203可以与信 息处理单元10只执行双向认证并且重用曾用于更新前的连接的加密密钥 等等,如前所述。从而,可以减少更新与信息处理单元10的连接所需的 时间。
应用执行部件207例如包括CPU、 ROM、 RAM等等,并且通过在 CPU上执行存储部件209 (下文描述)中记录的程序来实现充当上层应用 的各种处理。上层应用首先等待从根据该实施例的信息处理单元10发送 来对连接的发起,然后, 一旦连接建立,则利用所建立的连接来执行各种 处理。
这种上层应用的一个示例是遵循DLNA方针的各种控制程序。
存储部件209能够存储根据该实施例的远程服务器20执行某种处理 时所必须存储的各种参数、处理的进度等等、各种数据库,等等。另外, 在存储部件209中,由虚拟连接服务器部件205管理的连接ID例如被以 曰志信息、数据库等等之类的格式来记录。通信部件201、连接服务器部 件203、虚拟连接服务器部件205和应用执行部件207等等可在存储部件 209上自由进行数据读写。
虽然以上描述了远程服务器20包括连接服务器部件203的情况,但 是远程服务器20也可包括像布置于信息处理单元10中的那个连接客户端 部件那样的连接客户端部件。
下面描述根据该实施例的远程服务器20的功能的一个示例。上述元 件中的每一个可利用通用构件或电路来配置,或者它可利用专用于每个元 件的功能的硬件来配置。另外,每个元件的功能可以完全由CPU等等来实 现。因此,可以根据实现实施例时的技术水平来适当地改变要使用的配 置。
下面参考图3和图4基于层的概念来描述布置于信息处理单元10和远 程服务器20中的处理部件的关系。图3和图4是示出根据该实施例的信息 处理单元和远程服务器的配置的说明图。
15例如,如图3所示,信息处理单元IO的连接客户端部件107和远程服 务器20的连接服务器部件203通过具有指定的内容长度的HTTP隧传而连 接。具有指定的内容长度的实际HTTP隧传连接在下文中被称为真实连 接。在图3的示例中,在连接客户端部件107和连接服务器部件203之 间,内容长度被确定为"N"。
当内容长度N满了并且真实连接关闭时,连接客户端部件107向连接 服务器部件203提供对于再次更新具有内容长度N的真实连接的请求,并 且真实连接被更新。相应地,各自具有内容长度N的多个真实连接被相继 建立在连接客户端部件107和连接服务器部件203之间,如图4所示。
虚拟连接客户端部件105如图3所示被布置在连接客户端部件107的 上层,并且它控制连接客户端部件107。具体而言,虚拟连接客户端部件 105将如图3和图4所示的一组多个真实连接视为一个通过HTTP隧传进 行的虚拟连接,以便使得应用执行部件103将该虚拟连接识别为可用连 接。虚拟HTTP隧传连接在下文中被称为虚拟连接。
另一方面,虚拟连接服务器部件205如图3所示被布置在连接服务器 部件203的上层,并且它控制连接服务器部件203。具体而言,虚拟连接 服务器部件205将如图3和图4所示的多个真实连接视为一个虚拟连接, 以便使得应用执行部件207将该虚拟连接识别为可用连接。
另外,应用执行部件103如图3所示被布置在虚拟连接客户端部件 105的上层,并且应用执行部件207如图3所示被布置在虚拟连接服务器 部件205的上层。应用执行部件103和应用执行部件207是最上层。在各 个应用执行部件中执行的上层应用识别从下层的虚拟连接客户端部件105 或虚拟连接服务器部件205提供的一个虚拟连接是可用连接。因此,应用 执行部件将虚拟连接客户端部件或虚拟连接服务器部件用作连接,而无需 关心真实连接的实现方式。
例如,如果信息处理单元10的最上层的应用执行部件103从连接应 用程序接口 (API)中选择"Connect (连接)"功能,则应用执行部件 103向下层的虚拟连接客户端部件105请求发起连接。响应于来自应用执 行部件103的请求,虚拟连接客户端部件105建立虚拟连接并将其通知给应用执行部件103。
在实际操作中,虚拟连接客户端部件105向更下层的连接客户端部件 107请求建立真实连接;并且连接客户端部件107与作为远程服务器20的 最下层的连接服务器部件203建立真实连接。
当内容长度N满了时,在最下层的连接客户端部件107和连接服务器 部件203之间更新真实连接,结果存在多个真实连接,如图4所示。但 是,因为它们存在于应用执行部件103和连接客户端部件107之间的层 中,所以应用执行部件103可以执行应用,而无需知晓真实连接被更新。
在远程服务器20也以相同的方式执行这种分层处理。
如上所述,在根据该实施例的信息处理系统1中,管理实际HTTP隧 传的处理部件作为中间层被布置在作为最上层来执行应用的处理部件和作 为最下层来建立和维护实际HTTP隧传的处理部件之间。由于有中间层的 存在,充当最上层的应用执行部件无需掌握传送数据的量(即,内容长 度)就可以使用连接。
可能存在这样的情况,即根据该实施例的信息处理单元10或远程服 务器20被安装在无需布置例如根据该实施例的虚拟连接客户端部件或虚 拟连接服务器部件之类的连接管理部件就能实现HTTP隧传连接的环境 中。在这种情况下,连接管理部件可以简单地把从连接客户端部件或连接 服务器部件提供的服务传递给作为上层应用的应用执行部件,而无需执行 上述处理。 <信息处理方法>
下面将参考图5A至图5B来描述根据该实施例的信息处理方法。图 5A和图5B是示出根据该实施例的信息处理方法的流程图。
首先,远程服务器20的应用执行部件207从连接API中选择"Open (打开)",并且请求开始连接服务(步骤S101)。然后,HTTP服务器 被激活(步骤S103),以等待将从信息处理单元10提供的连接建立请 求。
另一方面,信息处理单元10的应用执行部件103从连接API中选择 "Connect (连接)",并且请求发起连接服务(步骤S105)。然后,连接客户端部件107设定新的连接ID (步骤S107)。例如,连接ID与生成 日期和时间等等相关联地被记录在存储部件109中。
接下来,如果存在不支持使用分块编码的方法的代理服务器9,连接 客户端部件107则与远程服务器20的连接服务器部件203确定内容长度 (步骤S109),并在内容长度头部中描述该内容长度。内容长度被确定为 能够在信息处理单元10和远程服务器20之间设定的最大传送量N。虽然 最大传送量N优选为较大的值,但是太大的值将被代理服务器9 (HTTP 代理)所拒绝。因此,可通过实际尝试来确定适当的值。
信息处理单元10的连接客户端部件107向远程服务器20的连接服务 器部件203发送HTTP POST请求(步骤Sill)。在HTTP POST请求的 目的地URL中,使用查询串描述了由信息处理单元10发出的连接ID和 标识信息处理单元10的全局唯一 ID (GUID) 。 HTTP POST请求是在未 终止其主体的情况下被发送的。远程服务器20的连接服务器部件203随 后接收到所发送的HTTP POST请求(步骤S113)。
之后,信息处理单元10的连接客户端部件107向远程服务器20的连 接服务器部件203发送HTTP GET请求(步骤SI 15)。在HTTP GET请 求的目的地URL中,也利用查询串描述了由信息处理单元IO发出的连接 ID和标识信息处理单元IO的全局唯一ID (GUID)。远程服务器20的连 接服务器部件203随后接收到所发送的HTTP GET请求(步骤S117)。
远程服务器20的连接服务器部件203将其中接收到的URL中包含的 连接ID和GUID两者都相互匹配的一对POST和GET视为形成一个 HTTP隧传的HTTP事务。然后,远程服务器20的连接服务器部件203在 不终止其主体的情况下向信息处理单元10发送HTTP GET响应(步骤 S119)。信息处理单元10的连接客户端部件107随后接收到所发送的 HTTP GET响应(步骤S121)。
信息处理单元IO和远程服务器20将POST请求的主体和GET响应的 主体用作双向通信通道。当通信通道被建立时,信息处理单元10的连接 客户端部件107和远程服务器20的连接服务器部件203各自通过执行双向 认证和对后续通信中将要使用的加密密钥的确定来执行连接手续(步骤
18S123)。通过这样的处理,在信息处理单元10和远程服务器20之间建立 了真实连接。
当真实连接被建立时,上层的虚拟连接客户端部件105和虚拟连接服 务器部件205开始管理连接并且向应用执行部件103和207提供连接服务 (步骤S125)。
作为使用HTTP POST请求来通过HTTP隧传进行通信的结果,POST 请求主体中的传输量在某个时刻达到N (步骤S127)。此时,信息处理单 元10的虚拟连接客户端部件105临时暂停对应用执行部件103的连接服务 的执行(步骤S131)。在暂停期间,虚拟连接客户端部件105接受来自应 用执行部件103的连接服务执行请求,但却暂停执行直到恢复为止。作为 这种操作的结果,应用执行部件103并不关心该暂停。
虚拟连接客户端部件105临时终止HTTP隧传。无需网络上的任何特 定操作,POST侧的HTTP事务在传输量达到N时结束。但是,虚拟连接 客户端部件105可以经由通信部件101来断开TCP连接。另外,信息处理 单元10的虚拟连接客户端部件105在POST侧的事务中断时也结束GET 侧的事务(步骤S133)。该事务可通过虚拟连接客户端部件105断开经由 通信部件101的TCP连接来结束。
在使用通过分块编码进行的方法的情况下,事务可在远程服务器20 利用伪日期结束当前发送的块并随后将下一块的大小指定为0时结束。虽 然在使用通过分块编码进行的方法时不必在0块之后断开TCP连接,但是 TCP连接也可被断开。
当在达到内容长度值之后终止连接时,远程服务器20的虚拟连接服 务器部件205以与信息处理单元10中相同的方式暂停对应用执行部件207 的连接服务(步骤S131)。虚拟连接服务器部件205把在建立连接时指定 的信息处理单元10的GUID以及连接ID存储给定长的一段时间。该给定 长的一段时间是根据虚拟连接客户端部件105和虚拟连接服务器部件205 之间的协定来预先设定的。如果在该给定长的一段时间内没有执行恢复 (即,连接更新),信息处理单元10的虚拟连接客户端部件105和远程 服务器20的虚拟连接服务器部件205则分别通知应用执行部件103和207:虚拟连接己丢失。
信息处理单元10的虚拟连接客户端部件105在该给定长的一段时间 逝去之前恢复HTTP隧传。具体而言,虚拟连接客户端部件105获取曾用 于第一 HTTP隧传的连接ID并将其提供给连接客户端部件107。连接客户 端部件107通过重用所提供的连接ID和客户端的GUID来向远程服务器 20发送HTTP POST请求(步骤S135) 。 HTTP POST请求是在不终止其 主体的情况下被发送的。远程服务器20的连接服务器部件203随后接收 到所发送的HTTP POST请求(步骤S137)。
同样,信息处理单元10的连接客户端部件107向远程服务器20的连 接服务器部件203发送HTTP GET请求(步骤SI39)。在HTTP GET请 求的目的地URL中,也利用査询串描述了从连接客户端部件107提供的 连接ID和标识信息处理单元10的GUID。远程服务器20的连接服务器部 件203随后接收到所发送的HTTP GET请求(步骤S147)。
远程服务器20的连接服务器部件203检查接收到的信息处理单元10 的GUID和连接ID,并识别出HTTP GET和POST是从先前事务继续的。 远程服务器20的连接服务器部件203在不终止其主体的情况下向信息处 理单元10发送HTTP GET响应(步骤S143)。信息处理单元10的连接客 户端部件107随后接收到所发送的HTTP GET响应(步骤S145)。
信息处理单元10和远程服务器20将POST请求的主体和GET响应的 请求用作双向通信通道。当建立通信通道时,信息处理单元10的连接客 户端部件107和远程服务器20的连接服务器部件203各自通过执行双向认 证和对后续通信中将要使用的加密密钥的确定来执行连接手续(步骤 S147)。通过这样的处理,在信息处理单元10和远程服务器20之间建立 了真实连接。
之后,虚拟连接客户端部件105和虚拟连接服务器部件205恢复对从 应用执行部件请求的连接服务的执行(步骤S149)。
恢复(连接更新)时的连接手续中的某些处理可以被简化。例如,在 步骤S147中,可以只执行双向认证,并且可以使用与先前连接中相同的 加密密钥。通过执行这样的处理,可以迅速地结束连接手续。
20如前所述,根据该实施例的信息处理方法可以在不掌握传送数据的量 (即,内容长度)的情况下维护并使用连接。 <反向连接>
下面参考图6和图7来详细描述可以通过布置根据该实施例的连接管 理部件来实现的反向连接。图6和图7是示出根据该实施例的反向连接的 说明图。
反向连接功能(下文描述)是通过布置根据该实施例的连接管理部件
而实现的功能。反向连接指的是这样一种连接其中,应用所采用的连接
的方向与实际建立的使用HTTP隧传的连接的方向是彼此相反的。
在应用的通信中,在一些情况下确定了发起通信一端的功能和等待通 信一端的功能。但是,取决于将用于通信的设备的实现方式和网络环境, 是否能够建立实际连接可能与应用所采用的不同。
在这种情况下,尤其考虑这样一种情况,即应用的发起者(即,信息 处理单元10)满足对真实连接的服务器侧的要求,但是应用的服务器 (即,远程服务器20)却不满足对真实连接的服务器侧的要求。因为对客 户端侧(即,信息处理单元10)的要求一般低于对服务器侧的要求,所以 采用应用的服务器(即,远程服务器20)满足对连接的客户端侧的要求。
在上述情况下,例如,像该实施例的远程服务器20中包括的那个那 样的连接服务器部件lll被布置在客户端侧(即,信息处理单元IO),并 且像该实施例的信息处理单元10中包括的那个那样的连接客户端部件211 被布置在远程服务器侧,如图6所示。结果,可以建立并维护从连接客户 端部件211到连接服务器部件111的真实连接,如图6所示。
另外,例如,虚拟连接客户端部件105被布置在应用的发起者侧 (即,信息处理单元10),并且虚拟连接服务器部件205被布置在应用的 服务器侧(即,远程服务器20),如图7所示。各个单元中的应用执行部 件103和207将虚拟连接客户端部件105和虚拟连接服务器部件205分别 识别为普通的连接客户端部件和普通的连接服务器部件。虚拟连接客户端 部件105进行设定,以便建立朝向虚拟连接服务器部件205的虚拟连接, 从而使得应用执行部件识别出在从发起者到服务器的方向上建立了连接。另一方面,响应于来自应用执行部件的请求,虚拟连接客户端部件
105和虚拟连接服务器部件205使得分别布置在下层的连接服务器部件 111和连接客户端部件211在从远程服务器20到作为发起者的信息处理单 元10的方向上建立真实连接。然后,虚拟连接客户端部件105和虚拟连 接服务器部件205管理反方向上的真实连接的连接状态。
如上所述,通过布置根据该实施例的连接管理部件,即使在应用执行 部件所采用的连接的方向和实际建立的连接的方向相反的情况下,每个单 元的应用执行部件也能执行通信,而无需关心连接的方向。 <硬件配置>
下面将参考图8来详细描述根据本发明实施例的信息处理单元10的 硬件配置。图8是示出根据该实施例的信息处理单元10的硬件配置的框 图。
信息处理单元10主要包括CPU 301、 ROM 303、 RAM 305、主机总 线307、桥接器309、外部总线311、接口 313、输入单元315、输出单元 317、存储单元319、驱动器321、连接端口 323、以及通信单元325。
CPU 301充当处理单元和控制单元,并且它根据存储在ROM 303、 RAM 305、存储单元319或可移动记录介质327中的程序来对信息处理单 元10中的全部或部件操作进行控制。ROM 303存储将被CPU 301使用的 程序、处理参数,等等。RAM 305主要存储在CPU301上的执行中将要使 用的程序、在执行中发生变化的参数、等等。CPU 301、 ROM 303和 RAM 305通过主机总线307与彼此相连接,主机总线307可以是诸如CPU 总线之类的内部总线。
主机总线307经由桥接器309连接到外部总线311,例如外围组件互 连/接口 (PCI)总线。
输入单元315是将被用户操作的操作装置,例如鼠标、键盘、触摸 屏、按钮、开关或控制杆。输入单元315可以是使用红外线或其他无线电 波的遥控装置(或者遥控器),或者与信息处理单元10的操作相对应的 外部连接设备329,例如蜂窝电话或PDA。另外,例如,输入单元315包 括输入控制电路,该输入控制电路基于用户利用上述操作装置输入的信息来生成输入信号并将其输出到CPU 301。信息处理单元10的用户操纵输入 单元315,从而向信息处理单元IO输入各种数据或者指导其处理操作。
输出单元317例如包括诸如CRT显示设备、液晶显示设备、等离子显 示设备、EL显示设备或者灯之类的显示设备,诸如扬声器或头戴式耳机 之类的音频输出设备,以及向用户可视地或可听地呈现所获取的信息的设 备,例如打印机、蜂窝电话或传真机。输出单元317例如输出由信息处理 单元10的处理所获得的结果。具体而言,显示设备通过文本或图像来显 示由信息处理单元10的处理所获得的结果。音频输出设备将包含再现的 音频数据、声数据等等的音频信号转换成模拟信号并将其输出。
存储单元319是用于数据存储的设备,其被配置为信息处理单元10 的存储部件的示例。存储单元319可通过诸如硬盘驱动器(HDD)之类的 磁存储设备、半导体存储设备、光存储设备、磁光存储设备等等来配置。 存储单元319存储将被CPU 301执行的程序、各种数据、从外界获取的声 信号数据或图像信号数据,等等。
驱动器321是用于内置在信息处理单元10中或从外部附接的存储介 质的读取器/写入器。驱动器321读取被附接到其上的可移动存储介质327 (例如磁盘、光盘、磁光盘或半导体存储器)中记录的信息,并将该信息 输出到RAM 305。另外,驱动器321可将信息写入到附接于其上的可移动 存储介质327 (例如磁盘、光盘、磁光盘或半导体存储器)中。可移动存 储介质327可以是DVD介质、HD-DVD介质、蓝光介质、紧凑闪存 (CF)(注册商标)、记忆棒、安全数字(SD)存储卡等等。另外,可 移动存储介质327可以是集成电路(IC)卡或者其上安装有非接触式IC 芯片的电子设备。
连接端口 323是用于将一设备直接连接到信息处理单元10的端口, 例如通用串行总线(USB)端口、 IEEE 1394端口 (例如i丄ink)、小型计 算机系统接口 (SCSI)端口、 RS-232C端口、光音频端子、或者高清晰度 多媒体接口 (HDMI)端口。通过将外部连接设备329连接到连接端口 323,信息处理单元IO可以从外部连接设备329直接获取声信号数据和图 像信号数据,并且可向外部连接设备329提供声信号数据和图像信号数据。
通信单元325例如是由用于与通信网络331建立连接的通信设备等等 配置而成的通信接口。通信单元325例如可以是用于有线或无线局域网
(LAN)、蓝牙或无线USB (WUSB)的通信卡、用于光通信的路由器、 用于非对称数字订户线(ADSL)的路由器、或者用于各种通信的调制解 调器。通信单元325可以向因特网或另一通信设备发送声信号等,或从其 接收声信号等。另外,连接到通信单元325的通信网络331是由利用有线 或无线手段连接的网络等来配置的,并且它可以是因特网、家庭LAN、红 外数据通信、无线电波通信、卫星通信,等等。
以上描述了能够实现根据本发明的实施例的信息处理单元10的功能 的硬件配置的一个示例。上述元件中的每一个可利用通用构件或电路来配 置,或者它可利用专用于每个元件的功能的硬件来配置。从而,可以根据 实现实施例时的技术水平来适当地改变要使用的硬件配置。
根据本发明实施例的远程服务器20具有与根据本发明的实施例的信 息处理单元IO基本上相同的硬件配置,因此省略重复说明。
根据本发明实施例的信息处理单元10可以以具有以下功能的程序的 形式来提供。该程序使得计算机充当能够经由代理服务器与连接目标单元 通信的信息处理单元,并且使得计算机实现以下功能应用执行功能,执 行应用以请求与连接目标单元建立HTTP隧传连接;连接建立功能,设定 能与连接目标单元设定的最大内容长度,经由连接到它的代理服务器与连 接目标单元建立具有指定的内容长度的HTTP隧传连接,并且在所建立的 连接关闭后多次更新具有指定的内容长度的HTTP隧传连接;以及连接管 理功能,对多个HTTP隧传连接中每一个的连接状态进行管理,并且使得 所述应用将该多个HTTP隧传连接识别为一个虚拟HTTP隧传连接。
该计算机程序被存储在该计算机中包括的存储部件中,并且被该计算 机中包括的CPU所读取并执行,从而使得该计算机充当如上所述的信息处 理单元10。还提供了一种其中存储有该计算机程序的计算机可读记录介 质。该记录介质例如可以是磁盘、光盘、磁光盘、闪存等等。该计算机程 序例如可通过网络来分发,而无需使用记录介质。
24另外,根据本发明实施例的远程服务器20可以以具有以下功能的程 序的形式来提供。该程序使得计算机充当能够与连接到代理服务器的信息 处理单元通信的远程服务器,并且使得计算机实现以下功能应用执行功
能,执行应用以等待从信息处理单元提供来的对建立HTTP隧传连接的请 求;连接建立功能,向信息处理单元提供能设定的最大内容长度,与经由 代理服务器连接的信息处理单元建立具有指定的内容长度的HTTP隧传连 接,并且在所建立的连接关闭后、对更新连接的请求被从信息处理单元提 供来时,重新建立连接;以及连接管理功能,对多个HTTP隧传连接的连 接状态进行管理,并且使得所述应用将该多个HTTP隧传连接识别为一个 虚拟HTTP隧传连接。
该计算机程序被存储在该计算机中包括的存储部件中,并且被该计算 机中包括的CPU所读取并执行,从而使得该计算机充当如上所述的远程服 务器20。还提供了一种其中存储有该计算机程序的计算机可读记录介质。 该记录介质例如可以是磁盘、光盘、磁光盘、闪存等等。该计算机程序例 如可通过网络来分发,而无需使用记录介质。
本领域的技术人员应当理解,取决于设计要求和其他因素,可以进行 各种修改、组合、子组合和变更,只要它们处于所附权利要求或其等同物 的范围之内。
本发明包含与2008年3月19日向日本专利局提交的日本专利申请JP 2008-072372相关的主题,这里通过引用将该申请的全部内容并入。
2权利要求
1.一种信息处理单元,包括应用执行部件,执行应用以请求与连接目标单元建立HTTP隧传连接;连接建立部件,设定能与所述连接目标单元设定的最大内容长度,经由连接的代理服务器与所述连接目标单元建立具有指定的内容长度的HTTP隧传连接,并且在所建立的连接关闭后多次更新所述具有指定的内容长度的HTTP隧传连接;以及连接管理部件,对多个HTTP隧传连接中每一个的连接状态进行管理,并且使得所述应用执行部件将所述多个HTTP隧传连接识别为一个虚拟HTTP隧传连接。
2. 如权利要求1所述的信息处理单元,其中所述连接管理部件管理与所述虚拟HTTP隧传连接相关联的连接标识 符,并且在所述连接建立部件更新所述具有指定的内容长度的HTTP隧传 连接时向所述连接建立部件指定与所述虚拟HTTP隧传连接相关联的所述 连接标识符,并且所述连接建立部件利用由所述连接管理部件指定的所述连接标识符来 更新所述HTTP隧传连接。
3. 如权利要求2所述的信息处理单元,其中所述连接建立部件通过重用为更新前的所述HTTP隧传连接设定的连 接控制条件来更新所述具有指定的内容长度的HTTP隧传连接。
4. 一种信息处理方法,包括以下步骤基于来自应用的、对于与连接目标单元建立HTTP隧传连接的请求, 设定能与所述连接目标单元设定的最大内容长度,并且经由连接的代理服 务器与所述连接目标单元建立具有指定的内容长度的HTTP隧传连接;在所建立的HTTP隧传连接关闭后更新所述具有指定的内容长度的 HTTP隧传连接;以及对更新前和更新后的HTTP隧传连接的连接状态进行管理,并使得所述应用将更新前和更新后的HTTP隧传连接识别为一个虚拟HTTP隧传连 接。
5. —种远程服务器,包括应用执行部件,执行应用以等待从信息处理单元提供来的对建立 HTTP隧传连接的请求;连接建立部件,向所述信息处理单元提供能设定的最大内容长度,与 经由代理服务器连接的所述信息处理单元建立具有指定的内容长度的 HTTP隧传连接,并且在所建立的连接关闭后、对更新所述连接的请求被 从所述信息处理单元提供来时,重新建立所述连接;以及连接管理部件,对多个HTTP隧传连接的连接状态进行管理,并且使 得所述应用执行部件将所述多个HTTP隧传连接识别为一个虚拟HTTP隧 传连接。
6. —种信息处理方法,包括以下步骤执行应用以等待从信息处理单元提供来的对建立HTTP隧传连接的请求;向所述信息处理单元提供能设定的最大内容长度,并且与经由代理服 务器连接的所述信息处理单元建立具有指定的内容长度的HTTP隧传连 接;在所建立的连接关闭后、对更新所述连接的请求被从所述信息处理单 元提供来时,重新建立所述连接;以及对更新前和更新后的HTTP隧传连接的连接状态进行管理,并且使得 所述应用将更新前和更新后的HTTP隧传连接识别为一个虚拟HTTP隧传 连接。
7. —种信息处理系统,包括 信息处理单元,包括应用执行部件,执行应用以请求与远程服务器建立HTTP隧传连接,连接建立部件,设定能与所述远程服务器设定的最大内容长度, 经由连接的代理服务器与所述远程服务器建立具有指定的内容长度的HTTP隧传连接,并且在所建立的连接关闭后多次更新所述具有指定的内 容长度的HTTP隧传连接,以及连接管理部件,对多个HTTP隧传连接中每一个的连接状态进行 管理,并且使得所述应用执行部件将所述多个HTTP隧传连接识别为一个 虚拟HTTP隧传连接;以及 远程服务器,包括应用执行部件,执行应用以等待从所述信息处理单元提供来的对 建立HTTP隧传连接的请求;连接建立部件,向所述信息处理单元提供能设定的最大内容长 度,与经由所述代理服务器连接的所述信息处理单元建立具有指定的内容 长度的HTTP隧传连接,并且在所建立的连接关闭后、对更新所述连接的 请求被从所述信息处理单元提供来时,重新建立所述连接;以及连接管理部件,对多个HTTP隧传连接的连接状态进行管理,并 且使得所述应用执行部件将所述多个HTTP隧传连接识别为一个虚拟 HTTP隧传连接。
8.如权利要求7所述的信息处理系统,其中所述虚拟HTTP隧传连接是从所述信息处理单元到所述远程服务器建 立的,并且所述多个HTTP隧传连接是从所述远程服务器到所述信息处理单元建 立的。
全文摘要
本发明提供了信息处理单元及其方法、远程服务器和信息处理系统。提供了一种信息处理单元,包括应用执行部件,执行应用以请求与连接目标单元建立HTTP隧传连接;连接建立部件,设定能与连接目标单元设定的最大内容长度,经由所连接的代理服务器与连接目标单元建立具有指定的内容长度的HTTP隧传连接,并且在所建立的连接关闭后多次更新具有指定的内容长度的HTTP隧传连接;以及连接管理部件,对多个HTTP隧传连接中每一个的连接状态进行管理,并且使得应用执行部件将多个HTTP隧传连接识别为一个虚拟HTTP隧传连接。
文档编号H04L29/06GK101540770SQ20091011902
公开日2009年9月23日 申请日期2009年3月18日 优先权日2008年3月19日
发明者吉川典史, 舌间一宏 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1