CN101540769A - 信息处理单元、客户端设备、信息处理方法和系统 - Google Patents
信息处理单元、客户端设备、信息处理方法和系统 Download PDFInfo
- Publication number
- CN101540769A CN101540769A CN200910119020A CN200910119020A CN101540769A CN 101540769 A CN101540769 A CN 101540769A CN 200910119020 A CN200910119020 A CN 200910119020A CN 200910119020 A CN200910119020 A CN 200910119020A CN 101540769 A CN101540769 A CN 101540769A
- Authority
- CN
- China
- Prior art keywords
- data
- client device
- process unit
- information process
- sent
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了信息处理单元、客户端设备、信息处理方法和系统。一种信息处理单元包括应用数据接收缓冲器,用于临时存储从用于发起连接的客户端设备发送来的数据;应用数据接收部件,用于从应用数据接收缓冲器中获取从客户端设备发送来的数据并把该数据发送到上层应用;以及流控制接收管理部件,用于把从客户端设备发送来的数据传送到应用数据接收缓冲器并且监视应用数据接收缓冲器中的空闲空间并把应用数据接收缓冲器能够接收的数据大小提供给客户端设备。
Description
技术领域
本发明涉及信息处理单元、信息处理方法、客户端设备和信息处理系统。
背景技术
存在多种经由因特网通过远程访问来连接服务器和客户端设备的技术。其中,已知HTTP隧传(HTTP tunneling)是一种在下述环境中使用的技术的示例:在该环境中,防火墙、代理服务器等等被安装在客户端侧的LAN的网关处,以确保布置在该LAN中的计算机的安全性。另外,可以使用这样一种技术,即使在给定的一段时间中都没有执行数据通信的情况下,该技术也从发送端的单元向接收端的单元发送一种被称为心跳(heartbeat)的控制信号,以维持服务器和客户端设备之间的连接。
发明内容
数据接收端的服务器将所发送的数据临时存储到规定的缓冲器(例如,TCP接收缓冲器)中。如果接收缓冲器中的空闲空间用尽,那么数据发送端的客户端设备则无法发送包括心跳的数据。
在该情况下,如果向代理服务器设置了“当在给定的一段时间中都未执行数据通信时关闭连接”的控制条件,那么代理服务器可以关闭服务器和客户端设备之间的远程访问连接。
考虑到以上情况,希望提供一种新颖且改进的信息处理单元、信息处理方法、客户端设备和信息处理系统,其能够维持服务器和客户端设备之间经由代理服务器的远程访问连接,而无论代理服务器的设置如何。
根据本发明的实施例,提供了一种信息处理单元,其包括:连接等待部件,用于建立与用于发起连接的客户端设备的连接;以及数据接收部件,用于接收从客户端设备发送来的数据,该数据接收部件包括:应用数据接收缓冲器,用于临时存储从客户端设备发送来的数据;应用数据接收部件,用于从应用数据接收缓冲器中获取从客户端设备发送来的数据并把该数据发送到上层应用;以及流控制接收管理部件,用于监视应用数据接收缓冲器中的空闲空间并把应用数据接收缓冲器能够接收的数据大小提供给客户端设备,并且把从客户端设备发送来的数据传送到应用数据接收缓冲器。
在该配置中,流控制接收管理部件监视应用数据接收缓冲器中的空闲空间并把应用数据接收缓冲器能够接收的数据大小提供给客户端设备,并且把从客户端设备发送来的数据传送到应用数据接收缓冲器,并且应用数据接收部件从应用数据接收缓冲器中获取从客户端设备发送来的数据并把该数据发送到上层应用。
流控制接收管理部件可在与客户端设备的连接建立时把应用数据接收缓冲器能够接收的数据大小提供给客户端设备。
流控制接收管理部件可在空闲空间增大时把空闲空间的增量提供给客户端设备。
信息处理单元还可包括:通信部件,用于控制与客户端设备的通信;以及通信部件接收缓冲器,用于临时存储由通信部件从客户端设备接收到的数据,并且流控制接收管理部件可把临时存储在通信部件接收缓冲器中的数据传送到应用数据接收缓冲器。
信息处理单元还可包括:连接维持控制信息接收部件,用于接收从客户端设备发送来的连接维持控制信息,并且连接维持控制信息接收部件可在接收到所述连接维持控制信息后丢弃接收到的连接维持控制信息。
信息处理单元还可包括:数据发送部件,用于向客户端设备发送数据,该数据发送部件包括:应用数据发送缓冲器,用于临时存储将要被发送到客户端设备的数据;应用数据发送部件,用于从上层应用获取将要被发送到客户端设备的数据并将该数据传送到应用数据发送缓冲器;以及流控制发送管理部件,用于从应用数据发送缓冲器中获取该数据并且基于从客户端设备提供来的、客户端设备能够接收的数据大小来把所获取的数据发送到客户端设备。
信息处理单元还可包括:通信部件,用于控制与客户端设备的通信;以及通信部件发送缓冲器,用于临时存储将要被通信部件发送到客户端设备的数据,并且流控制发送管理部件可把临时存储在应用数据发送缓冲器中的数据传送到通信部件发送缓冲器。
根据本发明的另一个实施例,提供了一种信息处理方法,其包括以下步骤:建立与用于发起连接的客户端设备的连接;基于用于临时存储从客户端设备发送来的数据的应用数据接收缓冲器中的空闲空间,把应用数据接收缓冲器能够接收的数据大小提供给客户端设备;把从客户端设备发送来的数据临时存储到应用数据接收缓冲器中;以及把临时存储在应用数据接收缓冲器中的数据发送到上层应用。
信息处理方法还可包括以下步骤:从上层应用获取将要被发送到客户端设备的数据并把所获取的数据传送到用于临时存储将要被发送到客户端设备的数据的应用数据发送缓冲器;以及从应用数据发送缓冲器中获取该数据并基于从客户端设备提供来的、客户端设备能够接收的数据大小来把所获取的数据发送到客户端设备。
根据本发明的另一个实施例,提供了一种客户端设备,其包括:连接建立部件,用于发起与信息处理单元的连接并且建立与信息处理单元的连接;以及数据发送部件,用于向信息处理单元发送数据,该数据发送部件包括:应用数据发送缓冲器,用于临时存储将要被发送到信息处理单元的数据;应用数据发送部件,用于从上层应用获取将要被发送到信息处理单元的数据并将该数据传送到应用数据发送缓冲器;以及流控制发送管理部件,用于从应用数据发送缓冲器中获取该数据并且基于从信息处理单元提供来的、信息处理单元能够接收的数据大小来把所获取的数据发送到信息处理单元。
客户端设备还可包括:数据接收部件,用于接收从信息处理单元发送来的数据,该数据接收部件包括:应用数据接收缓冲器,用于临时存储从信息处理单元发送来的数据;应用数据接收部件,用于从应用数据接收缓冲器中获取从信息处理单元发送来的数据并把该数据发送到上层应用;以及流控制接收管理部件,用于监视应用数据接收缓冲器中的空闲空间并把应用数据接收缓冲器能够接收的数据大小提供给信息处理单元,并且把从信息处理单元发送来的数据传送到应用数据接收缓冲器。
根据本发明的另一个实施例,提供了一种信息处理方法,其包括以下步骤:发起与信息处理单元的连接并且建立与信息处理单元的连接;从上层应用获取将要被发送到信息处理单元的数据并将所获取的数据传送到用于临时存储将要被发送到信息处理单元的数据的应用数据发送缓冲器;以及从应用数据发送缓冲器中获取该数据并基于从信息处理单元提供来的、信息处理单元能够接收的数据大小来把所获取的数据发送到信息处理单元。
根据本发明的另一个实施例,提供了一种包括该信息处理单元和该客户端设备的信息处理系统。
该客户端设备中包括的数据发送部件还可包括连接维持控制信息发送部件,用于发送用于维持与信息处理单元建立的连接的连接维持控制信息,并且当在给定的一段时间中未与信息处理单元执行通信时,连接维持控制信息发送部件可向信息处理单元发送连接维持控制信息。
根据本发明的上述实施例,无论代理服务器的设置如何,都可以维持服务器和客户端设备之间经由代理服务器的远程访问连接。
附图说明
图1是示出根据本发明第一实施例的信息处理系统的说明图。
图2是示出根据该实施例的信息处理单元的配置的框图。
图3是示出根据该实施例的客户端设备的配置的框图。
图4是示意性地示出根据该实施例的信息处理系统的说明图。
图5是示意性地示出根据该实施例的信息处理系统的说明图。
图6A是示出根据该实施例的信息处理系统中执行的信息处理方法的说明图。
图6B是示出根据该实施例的信息处理系统中执行的信息处理方法的说明图。
图6C是示出根据该实施例的信息处理系统中执行的信息处理方法的说明图。
图6D是示出根据该实施例的信息处理系统中执行的信息处理方法的说明图。
图7A是示出根据该实施例的信息处理系统中执行的信息处理方法的流程图。
图7B是示出根据该实施例的信息处理系统中执行的信息处理方法的流程图。
图7C是示出根据该实施例的信息处理系统中执行的信息处理方法的流程图。
图8是示出根据该实施例的信息处理单元的硬件配置的框图。
图9A是示出远程访问连接的说明图。
图9B是示出远程访问连接的说明图。
图9C是示出远程访问连接的说明图。
图9D是示出远程访问连接的说明图。
图10A是示出TCP中的流控制的说明图。
图10B是示出TCP中的流控制的说明图。
图11是示出经由代理服务器的远程访问连接中的问题的说明图。
具体实施方式
下面,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,用相同的标号来指示具有基本上相同的功能和结构的结构要素,并且省略对这些结构要素的重复说明。
<远程访问连接>
在描述根据本发明第一实施例的信息处理系统之前,将详细说明使用远程访问的连接。为了解决上述问题,本发明的发明人首先进行了关于通过远程访问进行连接的深入研究。下面参考图9A至图9D来描述研究的结果。图9A至图9D是示出使用远程访问的连接的说明图。图10A和图10B是示出TCP中的流控制的说明图。图11是示出经由代理服务器的远程访问连接中的问题的说明图。
经由因特网在服务器和客户端设备之间建立通过远程访问进行的连接的技术如下。在这种情况下,例如,如果如图9A所示代理服务器905被安装在客户端设备903的环境(即,客户端设备903所属的LAN)中,那么,除了诸如超文本传送协议(HTTP)和安全套接字层(SSL)之类的有限协议之外的流量可能被中断,虽然这取决于代理服务器905的设置。
作为一种使得能够通过防火墙(HTTP代理服务器905)来进行远程访问的技术,存在两种技术:SSL隧传和HTTP隧传,如图9B所示。
SSL隧传技术经由代理服务器905来通过SSL进行连接,并且通过加密的通信信道在服务器901和客户端设备903之间执行任意的通信。但是,取决于HTTP代理(代理服务器905)的设置,SSL的目的限于HTTPS(用于HTTP的SSL),从而不经过被定义为HTTS的公知端口的端口443的访问可能被拒绝。在这种情况下,在远程访问的服务器901侧的环境中,必须将端口设置到443。另外,当在服务器中使用网络地址转化(NAT)时,到NAT外的端口的连接是通过端口转发配置被转发到内部的单元的,并且必须将该NAT外的端口设置到443。因为在NAT中,对于一个端口的端口转发只能在一个服务器中执行,所以如果在NAT中存在两个或更多个服务器,端口转发就不可用了。
比如HTTP隧传之类的其他技术如下。作为HTTP代理的代理服务器905利用HTTP来中继通信。因此,HTTP隧传技术将HTTP通信的主体视为通信信道,并且在服务器901和客户端设备903之间执行数据通信。HTTP隧传技术使得能够在用于发送的HTTP POST事务中,在不终止请求主体的情况下,在给定时刻发送给定数据。同样,它使得能够在HTTPGET事务中,在不终止响应主体的情况下,在给定时刻接收给定数据。该技术并行地执行HTTP POST事务和HTTP GET事务,从而保证了与连接目标单元的双向通信信道。
在实现HTTP代理(代理服务器905)时,例如,如图9C所示,可以进行设置,使得如果在给定的一段时间中都没有通过HTTP POST的请求主体发送数据,则断开连接。为了应对这种代理服务器,执行以下处理,来避免在规定的一段时间中没有发送数据的状态。
具体而言,在使用HTTP隧传作为连接的应用的层和实际实现HTTP隧传的层之间,布置了心跳发送/接收部件,其发送或接收一种被称为心跳的控制信号。如果发送端的应用在给定的一段时间中都没有发送数据,心跳发送部件则向接收端发送心跳数据HB。接收端的单元中的心跳接收部件将接收到的心跳数据HB丢弃。
通过这种处理,可以防止代理服务器905检测到在给定的一段时间中都没有执行数据通信的状态(无活动检测),从而维持在服务器901和客户端设备903之间建立的远程访问连接。
<TCP的流控制>
下面参考图10A和图10B来详细描述TCP中的流控制。
在传输控制协议(TCP)中,向将要发送的数据指派序列号,如图10A所示。发送端的TCP节点(客户端设备)903将存储在TCP发送缓冲器中的数据划分成若干个分组P,并且向每个分组指派序列号,然后将分组发送到接收端的TCP节点(服务器)901。TCP节点(服务器)901将接收到的分组P临时存储在TCP接收缓冲器中,并且存储的数据在给定时刻被传送到应用接收缓冲器。TCP节点901向TCP节点903给出关于它已接收到了直到哪个序列号为止的数据的通知,从而采取措施来对抗数据中断。
另外,接收端的TCP节点901向发送端的TCP节点903发送数据R,该数据R表明它下一次能够接收直到哪个序列号为止的数据。例如,在图10A所示的示例中,表明“已接收了直到4为止的数据;请发送直到12为止的数据”的数据R被从TCP节点901发送到TCP节点903。接收到数据R后,TCP节点903向TCP节点901发送直到被指派了序列号12的分组P为止的数据。
接收端的TCP节点能够接收的数据大小被称为窗口大小,并且通过调节窗口大小,流控制在TCP中得以实现。具体而言,通过在通信期间逐渐扩大窗口大小来增大通信的吞吐量,并且在由于通信信道带宽不足而发生数据差错时,减小窗口大小。
例如,如图10B所示,如果接收端的应用从接收端的TCP接收缓冲器中读取数据的时间较晚或者它没有读取数据,那么TCP接收缓冲器中的空闲空间就变为零。在TCP没有准备好接收数据的情况下,接收端发送表明“窗口大小为0”的数据R(下文中称之为零窗口更新)。零窗口更新被周期性地从接收端的单元发送到发送端的单元。
就像应用数据一样,心跳数据HB是关于TCP的数据。因此,在如图10B所示接收端的TCP缓冲器已满并且零窗口更新被周期性地发送的状态中,发送端的客户端设备903不能发送心跳数据HB。这提高了以下情况的可能性:在检测给定的一段时间中无活动的信道上的HTTP代理服务器905将阻止已在服务器901和客户端设备903之间建立的通过远程访问实现的通信信道。
本发明的发明人为了克服以上问题而进行了深入的研究,并且已经发现了如下所述的信息处理系统。
(第一实施例)
<信息处理系统>
下面参考图1详细描述根据本发明第一实施例的信息处理系统。图1是示出根据该实施例的信息处理系统的说明图。
例如,如图1所示,根据该实施例的信息处理系统1包括根据该实施例的信息处理单元10所属的网络5和根据该实施例的客户端设备20所属的网络7。信息处理单元10所属的网络5和客户端设备20所属的网络7通过因特网3与彼此相连接。另外,代理服务器(HTTP代理)9被安装在客户端设备20所属的网络7中。
根据该实施例的信息处理单元10和客户端设备20各自具有远程访问功能,并且它们可以利用HTTP隧传技术与彼此通信。在以下描述中,客户端设备20表示发起连接的设备,但这并没有表明它是数据发送端的单元还是数据接收端的单元。同样,信息处理单元10表示接收对连接的发起的设备,但这并没有表明它是数据接收端的单元还是数据发送端的单元。
因特网3是连接信息处理单元10和客户端设备20以便能够利用有线或无线手段来进行双向通信或单向通信的通信网络。代理服务器9是充当被布置在因特网3和客户端设备20之间的防火墙的HTTP代理。
信息处理单元10和客户端设备20是具有远程访问功能的单元,并且通过执行安装在这些单元中的上层应用,可以实现各种功能。信息处理单元10和客户端设备20可以是诸如个人计算机和服务器之类的计算机设备,或者具有通过网络进行通信的功能的家庭信息装置,例如电视机、DVD/HDD记录器、蜂窝电话、个人数字助理(PDA)、数字相机、家庭视频游戏机以及数字摄像机。另外,信息处理单元10和客户端设备20可以是可由签约者携带的便携式设备,例如便携式视频游戏机、PHS以及便携式视频/音频播放器。另外,信息处理单元10和客户端设备20可以是遵循DLNA方针的数字媒体服务器(DMS)、数字媒体播放器(DMP)、数字媒体表现器(DMR)、数字媒体控制器等等。
下面详细描述信息处理单元10和客户端设备20。
<信息处理单元的配置>
下面参考图2来详细描述根据该实施例的信息处理单元的配置。图2是示出根据该实施例的信息处理单元10的配置的框图。
例如,如图2所示,根据该实施例的信息处理单元10主要包括通信部件101、TCP发送缓冲器103、TCP接收缓冲器105、连接等待部件107、数据发送部件109、以及数据接收部件119。
通信部件101是例如由中央处理单元(CPU)、只读存储器(ROM)、随机访问存储器(RAM)、通信单元等等构成的处理部件,并且还包括网络接口。通信部件101是能够基于两类协议来执行通信控制的栈:传输控制协议(TCP)和因特网协议(IP)。根据该实施例的信息处理单元10经由通信部件101与属于同一网络的单元通信或者与属于不同网络的单元通信。
作为通信部件发送缓冲器的示例的TCP发送缓冲器103和作为通信部件接收缓冲器的示例的TCP接收缓冲器105是例如由诸如ROM、RAM、硬盘驱动器(HDD)等等之类的记录单元构成的缓冲器。通信部件101可以自由地访问这些缓冲器。
TCP发送缓冲器103是临时存储将要由通信部件101的TCP所发送的数据的缓冲器,TCP接收缓冲器105是临时存储通过通信部件101的TCP所接收的数据的缓冲器。
作为连接等待部件的示例,连接等待部件107例如由CPU、ROM、RAM等等构成。连接等待部件107等待从客户端设备20(下文描述)经由代理服务器9发送来的连接请求(例如,对于建立HTTP隧传的请求),执行建立连接所必需的认证、加密密钥确定等等,并且使能数据发送和接收。
数据发送部件109例如由CPU、ROM、RAM等等构成,并且它经由通信部件101把从上层应用传送来的应用数据发送到发送目的地信息处理单元或客户端设备。数据发送部件109包括流控制发送管理部件111、心跳发送部件113、应用数据发送部件115、以及应用数据发送缓冲器117。
流控制发送管理部件111是基于上述TCP流控制来管理应用数据的发送的处理部件。流控制发送管理部件111基于从发送目的地单元通知来的、该目的地单元能够接收的数据大小,来管理从应用数据发送部件115(下文描述)传送来的应用数据的发送。对应用数据的发送的管理包括TCP中的一系列流控制,例如向将要发送的应用数据的分组指派序列号,向目的地单元发送应用数据,以及在分组数据校正、重发等等中提供可靠性。
流控制发送管理部件111从应用数据发送缓冲器117(下文描述)获取要发送的应用数据,并且通过流控制来把要发送的应用数据临时存储在TCP发送缓冲器103中。通信部件101将存储在TCP发送缓冲器103中的应用数据分组发送到目的地单元。
如果在给定的一段时间中都没有执行应用数据的发送,流控制发送管理部件111则可将此通知给心跳发送部件113(下文描述)。
如果在给定的一段时间中都没有与作为应用数据的目的地的单元执行通信,作为连接维持控制信息发送部件的示例的心跳发送部件113则向目的地单元发送作为连接维持控制信息的示例的心跳数据。在心跳发送部件113中生成的心跳数据经由流控制发送管理部件111和通信部件101被发送到目的地单元。
通过向目的地单元发送心跳数据,在根据该实施例的信息处理单元10和目的地单元之间执行了通信,从而允许了维持已建立的连接。
应用数据发送部件115把上层应用请求发送的应用数据临时记录到应用数据发送缓冲器117(下文描述)中。另外,应用数据发送部件115可经由心跳发送部件113向流控制发送管理部件111通知应用数据被存储在应用数据发送缓冲器117中。
应用数据发送缓冲器117是由诸如ROM、RAM或硬盘驱动器(HDD)之类的记录单元构成的缓冲器。在应用数据发送缓冲器117中,临时记录了由应用数据发送部件115从上层应用获取的应用数据。流控制发送管理部件111和应用数据发送部件115可以在应用数据发送缓冲器117上自由地读取和写入数据。
数据接收部件119例如由CPU、ROM、RAM等等构成,并且它经由通信部件101接收从目的地信息处理单元或客户端设备发送来的应用数据。数据接收部件119包括流控制接收管理部件121、心跳接收部件123、应用数据接收部件125、以及应用数据接收缓冲器127。
流控制接收管理部件121是基于上述的TCP流控制来管理应用数据的接收的处理部件。流控制接收管理部件121监视应用数据接收缓冲器127的状态,例如应用数据接收缓冲器127(下文描述)中能够记录的数据大小的使用状况。另外,流控制接收管理部件121获取由通信部件101接收并被临时存储在TCP接收缓冲器105中的应用数据,并且将其传送到应用数据接收部件125(下文描述)。
当在根据该实施例的信息处理单元10和发送源单元之间建立连接时,流控制接收管理部件121参考应用数据接收缓冲器127的使用状况,并且向与之建立连接的单元发送应用数据接收缓冲器127中的空闲空间,作为表明信息处理单元10能够接收的数据大小的初始空闲空间大小数据。另外,根据监视应用数据接收缓冲器127的结果,当根据该实施例的信息处理单元10的应用数据接收缓冲器127中的空闲空间增大时,流控制接收管理部件121向与之建立连接的单元发送空闲空间大小的增量,作为增量大小数据。
如上所述,根据该实施例的流控制接收管理部件121根据应用数据接收缓冲器127的使用状况来确定将要发送给发送源单元的初始空闲空间大小数据和增量大小数据。因此,从发送源单元发送来的应用数据的大小始终等于或小于应用数据接收缓冲器127中能够存储的数据大小,从而防止TCP接收缓冲器105中的空闲空间用尽。
作为连接维持控制信息接收部件的示例的心跳接收部件123接收从作为应用数据的发送源的单元发送来的心跳数据。接收到的心跳数据被心跳接收部件123丢弃。
因为根据该实施例的信息处理单元10如上所述根据应用数据接收缓冲器127中的空间来执行流控制,所以不会发生TCP接收缓冲器105中的空闲空间用尽的情况。因此,不会发生未能接收到心跳数据本身的情况。结果,无论代理服务器9的设置如何,都可以维持信息处理单元10和发送目的地单元之间建立的连接(会话)。
应用数据接收部件125获取存储在应用数据接收缓冲器127中的应用数据并将其传送到上层应用。由于应用数据接收部件125将数据传送到上层应用,应用数据接收缓冲器127的空闲空间变化了。
应用数据接收缓冲器127例如是由诸如ROM、RAM、硬盘驱动器(HDD)等等之类的记录单元构成的缓冲器。在应用数据接收缓冲器127中,临时记录了从与之建立连接的单元发送来并且被根据该实施例的信息处理单元10接收的应用数据。流控制接收管理部件121和应用数据接收部件125可在应用数据接收缓冲器127上自由地读取和写入数据。
另外,根据该实施例的信息处理单元10可以实现通过在CPU上执行在由ROM、RAM、HDD等等构成的存储部件(未示出)中记录的程序等等来充当上层应用的各种处理。上层应用可以在根据该实施例的应用数据发送缓冲器117和应用数据接收缓冲器127上自由地读取和写入数据。
这种上层应用的一个示例是遵循数字生活网络联盟(DLNA)方针的各种控制程序。
在上文中,描述了根据该实施例的信息处理单元10的功能的一个示例。上述元件中的每一个可利用通用构件或电路来配置,或者它可通过专用于每个元件的功能的硬件来配置。另外,每个元件的功能可以完全通过CPU等等来实现。因此,可以根据实现实施例时的技术水平来适当地改变要使用的配置。
<客户端设备的配置>
下面参考图3来详细描述根据该实施例的客户端设备的配置。图3是示出根据该实施例的客户端设备20的配置的框图。
根据该实施例的客户端设备20主要包括通信部件201、TCP发送缓冲器203、TCP接收缓冲器205、连接建立部件207、数据发送部件209、以及数据接收部件219。
客户端设备20中包括的通信部件201、TCP发送缓冲器203、TCP接收缓冲器205、数据发送部件209和数据接收部件219分别具有与根据该实施例的信息处理单元10中包括的通信部件101、TCP发送缓冲器103、TCP接收缓冲器105、数据发送部件109和数据接收部件119基本相同的配置和效果,因此详细说明将被省略。
作为连接建立部件的示例,连接建立部件207例如由CPU、ROM、RAM等等构成。连接建立部件207经由代理服务器9向根据该实施例的信息处理单元10发送连接请求(例如,对于建立HTTP隧传的请求),并且与信息处理单元10建立HTTP隧传。另外,连接建立部件207执行建立连接所必需的认证、加密密钥确定等等,并且使能数据发送和接收。
另外,根据该实施例的客户端设备20可以实现通过在CPU上执行在由ROM、RAM、HDD等等构成的存储部件(未示出)中记录的程序等等来充当上层应用的各种处理。上层应用可以在根据该实施例的应用数据发送缓冲器217和应用数据接收缓冲器227上自由地读取和写入数据。
这种上层应用的一个示例是遵循数字生活网络联盟(DLNA)方针的各种控制程序。
在上文中,描述了根据该实施例的客户端设备20的功能的一个示例。上述元件中的每一个可利用通用构件或电路来配置,或者它可通过专用于每个元件的功能的硬件来配置。另外,每个元件的功能可以完全通过CPU等等来实现。因此,可以根据实现实施例时的技术水平来适当地改变要使用的配置。
<信息处理方法>
下面参考图4至图7C来详细描述根据该实施例的信息处理单元10和客户端设备20中执行的信息处理方法。图4和图5是示意性地示出根据该实施例的信息处理系统的说明图。图6A至图6D是示出根据该实施例的信息处理系统中执行的信息处理方法的说明图。图7A至图7C是示出根据该实施例的信息处理系统中执行的信息处理方法的流程图。
例如,如图4所示,在根据该实施例的信息处理系统1中,在信息处理单元10的通信部件101和客户端设备20的通信部件201之间建立了通过HTTP隧传进行的TCP异步全双向通信A和B。因此,例如,如图5所示,根据该实施例的信息处理方法在下述两种情况中都适用:从客户端设备20向信息处理单元10发送应用数据和心跳数据的情况,以及从信息处理单元10向客户端设备20发送应用数据和心跳数据的情况。
例如,在从客户端设备20向信息处理单元10发送数据的情况下,应用数据和心跳数据的发送是通过连接A来执行的,并且从信息处理单元10进行的对诸如空闲空间的增量之类的数据的发送是通过连接B来执行的。
例如,考虑如图4所示的从客户端设备20的应用数据发送部件215向信息处理单元10的应用数据接收部件125执行由连接C表示的数据发送的情况。在这种情况下,客户端设备20的数据发送部件209通过HTTP隧传,利用TCP异步全双工通信,经由通信部件201向信息处理单元10的通信部件101进行连接。在连接被建立在客户端设备20的通信部件201和信息处理单元10的通信部件101之间之后,客户端设备20的数据发送部件209向信息处理单元10的数据接收部件119发送应用数据。
上述的流控制可以既在POST侧的连接中执行也在GET侧的连接中执行,或者仅在POST侧的连接或GET侧的连接之一中执行。通过以这种方式适当地改变设置,可以按照根据该实施例的信息处理单元10和客户端设备20的容量来控制系统的负担。
下面参考图6A至图6D来详细描述根据该实施例的信息处理方法。在下面描述的情况中,客户端设备20充当数据发送端的单元,信息处理单元10充当数据接收端的单元,从而客户端设备20向信息处理单元10发送数据。
例如,如果如图6A所示在客户端设备20和信息处理单元10之间建立了通过HTTP隧传进行的连接,信息处理单元10的流控制接收管理部件121则参考应用数据接收缓冲器127中的空闲空间。基于参考结果,流控制接收管理部件121确定应用数据接收缓冲器127能够接收的数据大小,并且将其作为初始空闲空间大小数据VS提供给客户端设备20的流控制发送管理部件211。
接收到初始空闲空间大小数据VS后,客户端设备20的流控制发送管理部件211存储所提供的初始空闲空间大小。例如,如图6B所示,客户端设备20的流控制发送管理部件211获取存储在应用数据发送缓冲器217中的数据以便不超过所提供的初始空闲空间大小,并且将其临时存储到TCP发送缓冲器203中。然后,客户端设备20的通信部件201获取存储在TCP发送缓冲器203中的应用数据,并通过将数据划分成各自具有规定数据大小的若干个分组P来将数据发送到信息处理单元10。
信息处理单元10的通信部件101将接收到的分组P临时存储到TCP接收缓冲器105中,并且信息处理单元10的流控制发送管理部件111获取存储在TCP接收缓冲器105中的应用数据并将其存储到应用数据接收缓冲器127中。由于重复这样的处理,应用数据接收缓冲器127中的空间变满。
于是,例如,如图6C所示,在某个时刻,信息处理单元10的应用数据接收部件125从应用数据接收缓冲器127中取出临时存储在该缓冲器127中的应用数据并将其传送到上层应用。结果,在应用数据接收缓冲器127中产生了空闲空间。因此,监视应用数据接收缓冲器127的空闲空间状况的流控制接收管理部件121知晓了在应用数据接收缓冲器127中产生的空闲空间的大小。信息处理单元10的流控制接收管理部件121将空闲空间的增量作为增量大小数据AS发送到客户端设备20的流控制发送管理部件211。
在接收到关于增量大小数据AS的通知后,客户端设备20的流控制发送管理部件211将新提供的增量大小添加到先前存储的初始空闲空间大小,并再存储它。客户端设备20的流控制发送管理部件211基于新存储的数据大小,根据需要执行另外的数据发送。
另外,在发送与存储的初始空闲空间大小相对应的数据之后,客户端设备20的流控制发送管理部件211停止发送应用数据以避免信息处理单元10的TCP接收缓冲器105中的空闲空间变为零。
如上所述,根据该实施例的信息处理方法,可以利用在建立连接时从发送目的地单元(在以上示例中是信息处理单元10)提供的应用数据接收缓冲器中的空闲空间(即,初始空闲空间大小数据)以及在应用数据接收缓冲器中的空闲空间增大时提供的增量大小数据,来计算发送源单元中的发送数据大小。因此,从发送源单元发送的应用数据的数据大小最多是发送目的地单元的应用数据接收缓冲器中的空闲空间的大小,从而它始终是能够存储在发送目的地单元的应用数据接收缓冲器127中的数据大小。因此,在发送目的地单元的TCP接收缓冲器(在以上示例中是信息处理单元10的TCP接收缓冲器105)中始终有空闲空间。
另外,例如,如图6D所示,在检测到在给定的一段时间中都没有执行应用数据的发送的情况下,客户端设备20的心跳发送部件213向信息处理单元10发送心跳数据HB。因为信息处理单元10的TCP接收缓冲器105被管理以便始终存在空闲空间,所以从客户端设备20发送的心跳数据HB被临时存储在信息处理单元10的TCP接收缓冲器105中。信息处理单元10的心跳接收部件123立即取出存储在TCP接收缓冲器105中的心跳数据HB,以便在TCP接收缓冲器105中产生空闲空间,并且丢弃所取得的心跳数据HB。
由于这样的处理,从发送源单元(在以上示例中是客户端设备20)发送的心跳数据始终被发送目的地单元(在以上示例中是信息处理单元10)所接收。因此,可以保持从发送源单元向发送目的地单元发送心跳数据HB,从而避免了由于代理服务器9的设置而关闭连接。
图7A至图7C是示出以上描述的序列图。图7A至图7C是示出根据该实施例的信息处理系统中执行的信息处理方法的流程图。
首先,当客户端设备20的连接建立部件207向信息处理单元10的连接等待部件107作出建立连接的请求时,通信所必需的认证、加密密钥确定等等被确定,并且使用HTTP隧传的连接被建立(步骤S101)。
接下来,信息处理单元10的流控制接收管理部件121基于应用数据接收缓冲器127的空闲空间状况发送初始空闲空间大小信息(例如,空间N)(步骤S103)。
客户端设备20的流控制发送管理部件211接收到从信息处理单元10发送来的初始空闲空间大小信息(步骤S105),并且基于初始空闲空间大小信息中描述的大小来更新可发送的数据大小(步骤S107)。例如,如果初始空闲空间大小信息中描述的可接收数据大小为N,流控制发送管理部件211则将最大可发送数据大小SendMax设置为N。在应用数据被应用数据发送部件215存储在应用数据发送缓冲器217中之后(步骤S109),流控制发送管理部件211发送应用数据,直到达到最大可发送数据大小SendMax为止(步骤S111)。在此步骤中,流控制发送管理部件211从存储的最大可发送数据大小SendMax中减去已发送的数据大小,以便不超过所通知的初始空闲空间大小。
信息处理单元10的通信部件101将所发送的应用数据临时存储到TCP接收缓冲器105中,并且流控制接收管理部件121从TCP接收缓冲器105取出该数据并将其存储到应用数据接收缓冲器127中(步骤S113)。如果应用数据在某个时刻被应用数据接收部件125从应用数据接收缓冲器127中取出(步骤S115),流控制接收管理部件121则向客户端设备20发送增量大小信息(例如,大小X)(步骤S117)。
客户端设备20的流控制发送管理部件211接收从信息处理单元10发送来的增量大小信息(步骤S119),并且基于增量大小信息中描述的大小来更新可发送数据大小(步骤S121)。例如,如果增量大小信息中描述的增量数据大小为X,流控制发送管理部件211则将X添加到所存储的最大可发送数据大小SendMax,从而设置新的最大数据大小SendMax。然后,流控制发送管理部件211发送应用数据,直到达到该最大可发送数据大小SendMax为止(步骤S123)。在此步骤中,流控制发送管理部件211从所存储的最大可发送数据大小SendMax中减去所发送的数据大小,以便不超过所存储的数据大小。
信息处理单元10的通信部件101将所发送的应用数据临时存储到TCP接收缓冲器105中,并且流控制接收管理部件121从TCP接收缓冲器105中取出该数据并将其存储到应用数据接收缓冲器127中(步骤S125)。
在这种处理的过程中,如果检测到在给定的一段时间中都没有发送数据(步骤S127),客户端设备20的心跳发送部件213则生成心跳数据HB并将其发送到信息处理单元10(步骤S129)。
因为信息处理单元10的TCP接收缓冲器105被管理以便始终存在空闲空间,所以从客户端设备20发送的心跳数据HB被通信部件101接收(步骤S131)并且被临时存储在TCP接收缓冲器105中。信息处理单元10的心跳接收部件123立即从TCP接收缓冲器105中取出心跳数据HB并丢弃所取得的心跳数据(步骤S133)。
如上所述,根据该实施例的信息处理方法,可以利用在建立连接时从发送目的地单元提供的应用数据接收缓冲器中的空闲空间(即,初始空闲空间大小信息)以及在应用数据接收缓冲器中的空闲空间增大时提供的增量大小信息,来计算发送源单元中的发送数据大小。因此,从发送源单元发送的应用数据的数据大小最多是发送目的地单元的应用数据接收缓冲器中的空闲空间的大小,从而它始终是能够存储在发送目的地单元的应用数据接收缓冲器127中的数据大小。因此,在发送目的地单元的TCP接收缓冲器(在以上示例中是信息处理单元10的TCP接收缓冲器105)中始终有空闲空间。
另外,从发送源单元(在以上示例中是客户端设备20)发送的心跳数据始终被发送目的地单元(在以上示例中是信息处理单元10)所接收。因此,可以保持从发送源单元向发送目的地单元发送心跳数据HB,从而避免了由于代理服务器9的设置而关闭连接。
虽然以上描述了客户端设备20充当数据发送端的单元而信息处理单元10充当数据接收端的单元的情况,但是以上描述同样也适用于信息处理单元10充当数据发送端的单元而客户端设备20充当数据接收端的单元的情况。具体而言,客户端设备20的数据接收部件219取代以上描述中的信息处理单元10的数据接收部件119执行处理,而信息处理单元10的数据发送部件109取代以上描述中的客户端设备20的数据发送部件209执行处理。
另外,虽然在以上描述中心跳数据HB被用于维持已建立的连接,但是心跳数据HB也可用于检测单元或通信信道的故障。例如,接收端的单元中的心跳接收部件可在其检测到在给定的一段时间中都没有接收到心跳数据HB或应用数据时确定在已建立的连接或发送源单元中发生了某种故障。
<硬件配置>
下面将参考图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主要存储在CPU 301上的执行中将要使用的程序、在执行中发生变化的参数、等等。CPU 301、ROM 303和RAM 305通过主机总线307与彼此相连接,主机总线307可以是诸如CPU总线之类的内部总线。
主机总线307经由桥接器309连接到外部总线311,例如外围组件互连/接口(PCI)总线。
输入单元315是将被用户操作的操作装置,例如鼠标、键盘、触摸屏、按钮、开关或控制杆。输入单元315可以是使用红外线或其他无线电波的遥控装置(或者遥控器),或者与信息处理单元10的操作相对应的外部连接设备329,例如蜂窝电话或PDA。另外,例如,输入单元315包括输入控制电路,该输入控制电路基于用户利用上述操作装置输入的信息来生成输入信号并将其输出到CPU 301。信息处理单元10的用户操纵输入单元315,从而向信息处理单元10输入各种数据或者指导其处理操作。
输出单元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.Link)、小型计算机系统接口(SCSI)端口、RS-232C端口、光音频端子、或者高清晰度多媒体接口(HDMI)端口。通过将外部连接设备329连接到连接端口323,信息处理单元10可以从外部连接设备329直接获取声信号数据和图像信号数据,并且可向外部连接设备329提供声信号数据和图像信号数据。
通信单元325例如是由用于与通信网络331建立连接的通信设备等等配置而成的通信接口。通信单元325例如可以是用于有线或无线局域网(LAN)、蓝牙或无线USB(WUSB)的通信卡、用于光通信的路由器、用于非对称数字订户线(ADSL)的路由器、或者用于各种通信的调制解调器。通信单元325可以向因特网或另一通信设备发送声信号等,或从其接收声信号等。另外,连接到通信单元325的通信网络331是由利用有线或无线手段连接的网络等来配置的,并且它可以是因特网、家庭LAN、红外数据通信、无线电波通信、卫星通信,等等。
以上描述了能够实现根据本发明的实施例的信息处理单元10的功能的硬件配置的一个示例。上述元件中的每一个可利用通用构件或电路来配置,或者它可利用专用于每个元件的功能的硬件来配置。从而,可以根据实现实施例时的技术水平来适当地改变要使用的硬件配置。
根据本发明实施例的客户端设备20具有与根据本发明的实施例的信息处理单元10基本上相同的硬件配置,因此省略重复说明。
根据本发明实施例的信息处理单元10可以以具有以下功能的程序的形式来提供。该程序使得计算机实现:连接等待功能,与发起连接的客户端设备建立连接;流控制接收管理功能,把从客户端设备发送来的数据传送到应用数据接收缓冲器,监视应用数据接收缓冲器中的空闲空间,并且向客户端设备提供应用数据接收缓冲器能够接收的数据大小;以及应用数据接收功能,从应用数据接收缓冲器中获取从客户端设备发送来的数据,并将该数据发送到上层应用。
该计算机程序被存储在计算机中包括的存储部件中,并且被计算机中包括的CPU所读取并执行,从而使得计算机充当上述的信息处理单元10。还提供了一种存储该计算机程序的计算机可读记录介质。该记录介质例如可以是磁盘、光盘、磁光盘、闪存,等等。该计算机程序例如可通过网络来分发,而无需使用记录介质。
另外,根据本发明实施例的客户端设备20可以以具有以下功能的程序的形式来提供。该程序使得计算机实现:连接建立功能,发起与信息处理单元的连接并且建立与信息处理单元的连接;应用数据发送功能,从上层应用获取将要被发送到信息处理单元的数据,并将该数据传送到应用数据发送缓冲器;以及流控制发送管理功能,从应用数据发送缓冲器中获取将要被发送到信息处理单元的数据,并且基于从信息处理单元提供来的信息处理单元能够接收的数据大小,将所获取的数据发送到信息处理单元。
该计算机程序被存储在计算机中包括的存储部件中,并且被计算机中包括的CPU所读取并执行,从而使得计算机充当上述的客户端设备20。还提供了一种存储该计算机程序的计算机可读记录介质。该记录介质例如可以是磁盘、光盘、磁光盘、闪存,等等。该计算机程序例如可通过网络来分发,而无需使用记录介质。
如上所述,根据本发明的实施例,可以为利用被设置了下述一般设置条件的代理服务器进行连接的单元执行HTTP隧传传输:该一般设置条件为在检测到无活动后断开HTTP事务的TCP连接。
本领域的技术人员应当理解,取决于设计要求和其他因素,可以进行各种修改、组合、子组合和变更,只要它们处于所附权利要求或其等同物的范围之内。
本发明包含与2008年3月19日向日本专利局提交的日本专利申请JP2008-072374相关的主题,这里通过引用将该申请的全部内容并入。
Claims (16)
1.一种信息处理单元,包括:
连接等待部件,用于建立与用于发起连接的客户端设备的连接;以及
数据接收部件,用于接收从所述客户端设备发送来的数据,该数据接收部件包括:
应用数据接收缓冲器,用于临时存储从所述客户端设备发送来的数据,
应用数据接收部件,用于从所述应用数据接收缓冲器中获取从所述客户端设备发送来的数据并把该数据发送到上层应用,以及
流控制接收管理部件,用于监视所述应用数据接收缓冲器中的空闲空间并把所述应用数据接收缓冲器能够接收的数据大小提供给所述客户端设备,并且把从所述客户端设备发送来的数据传送到所述应用数据接收缓冲器。
2.如权利要求1所述的信息处理单元,其中
所述流控制接收管理部件在建立与所述客户端设备的连接时把所述应用数据接收缓冲器能够接收的数据大小提供给所述客户端设备。
3.如权利要求2所述的信息处理单元,其中
所述流控制接收管理部件在所述空闲空间增大时把所述空闲空间的增量提供给所述客户端设备。
4.如权利要求1所述的信息处理单元,还包括:
通信部件,用于控制与所述客户端设备的通信;以及
通信部件接收缓冲器,用于临时存储由所述通信部件从所述客户端设备接收到的数据,
其中,所述流控制接收管理部件把临时存储在所述通信部件接收缓冲器中的数据传送到所述应用数据接收缓冲器。
5.如权利要求1所述的信息处理单元,还包括:
连接维持控制信息接收部件,用于接收从所述客户端设备发送来的连接维持控制信息,
其中,所述连接维持控制信息接收部件在接收到所述连接维持控制信息后丢弃所接收到的连接维持控制信息。
6.如权利要求1所述的信息处理单元,还包括:
数据发送部件,用于向所述客户端设备发送数据,该数据发送部件包括:
应用数据发送缓冲器,用于临时存储将要被发送到所述客户端设备的数据,
应用数据发送部件,用于从上层应用获取将要被发送到所述客户端设备的数据并将该数据传送到所述应用数据发送缓冲器,以及
流控制发送管理部件,用于从所述应用数据发送缓冲器中获取数据,并且基于从所述客户端设备提供来的、所述客户端设备能够接收的数据大小来把所获取的数据发送到所述客户端设备。
7.如权利要求6所述的信息处理单元,还包括:
通信部件,用于控制与所述客户端设备的通信;以及
通信部件发送缓冲器,用于临时存储将要被所述通信部件发送到所述客户端设备的数据,
其中,所述流控制发送管理部件把临时存储在所述应用数据发送缓冲器中的数据传送到所述通信部件发送缓冲器。
8.一种信息处理方法,包括以下步骤:
建立与用于发起连接的客户端设备的连接;
基于用于临时存储从所述客户端设备发送来的数据的应用数据接收缓冲器中的空闲空间,把所述应用数据接收缓冲器能够接收的数据大小提供给所述客户端设备;
把从所述客户端设备发送来的数据临时存储到所述应用数据接收缓冲器中;以及
把临时存储在所述应用数据接收缓冲器中的数据发送到上层应用。
9.如权利要求8所述的信息处理方法,还包括以下步骤:
从上层应用获取将要被发送到所述客户端设备的数据,并把所获取的数据传送到用于临时存储将要被发送到所述客户端设备的数据的应用数据发送缓冲器;以及
从所述应用数据发送缓冲器中获取数据,并基于从所述客户端设备提供来的、所述客户端设备能够接收的数据大小来把所获取的数据发送到所述客户端设备。
10.一种客户端设备,包括:
连接建立部件,用于发起与信息处理单元的连接并且建立与所述信息处理单元的连接;以及
数据发送部件,用于向所述信息处理单元发送数据,该数据发送部件包括:
应用数据发送缓冲器,用于临时存储将要被发送到所述信息处理单元的数据,
应用数据发送部件,用于从上层应用获取将要被发送到所述信息处理单元的数据并将该数据传送到所述应用数据发送缓冲器,以及
流控制发送管理部件,用于从所述应用数据发送缓冲器中获取数据,并且基于从所述信息处理单元提供来的、所述信息处理单元能够接收的数据大小来把所获取的数据发送到所述信息处理单元。
11.如权利要求10所述的客户端设备,还包括:
数据接收部件,用于接收从所述信息处理单元发送来的数据,该数据接收部件包括:
应用数据接收缓冲器,用于临时存储从所述信息处理单元发送来的数据,
应用数据接收部件,用于从所述应用数据接收缓冲器中获取从所述信息处理单元发送来的数据,并把该数据发送到上层应用,以及
流控制接收管理部件,用于监视所述应用数据接收缓冲器中的空闲空间并把所述应用数据接收缓冲器能够接收的数据大小提供给所述信息处理单元,并且把从所述信息处理单元发送来的数据传送到所述应用数据接收缓冲器。
12.一种信息处理方法,包括以下步骤:
发起与信息处理单元的连接并且建立与所述信息处理单元的连接;
从上层应用获取将要被发送到所述信息处理单元的数据,并将所获取的数据传送到用于临时存储将要被发送到所述信息处理单元的数据的应用数据发送缓冲器;以及
从所述应用数据发送缓冲器中获取数据,并基于从所述信息处理单元提供来的、所述信息处理单元能够接收的数据大小来把所获取的数据发送到所述信息处理单元。
13.如权利要求12所述的信息处理方法,还包括以下步骤:
基于用于临时存储从所述客户端设备发送来的数据的应用数据接收缓冲器中的空闲空间,把所述应用数据接收缓冲器能够接收的数据大小提供给所述信息处理单元;
把从所述信息处理单元发送来的数据临时存储到所述应用数据接收缓冲器中;以及
把临时存储在所述应用数据接收缓冲器中的数据发送到上层应用。
14.一种信息处理系统,包括:
客户端设备,包括:
连接建立部件,用于发起与信息处理单元的连接并且建立与所述信息处理单元的连接,以及
数据发送部件,用于向所述信息处理单元发送数据,该数据发送部件包括:
应用数据发送缓冲器,用于临时存储将要被发送到所述信息处理单元的数据,
应用数据发送部件,用于从上层应用获取将要被发送到所述信息处理单元的数据并将该数据传送到所述应用数据发送缓冲器,以及
流控制发送管理部件,用于从所述应用数据发送缓冲器中获取数据,并且基于从所述信息处理单元提供来的、所述信息处理单元能够接收的数据大小来把所获取的数据发送到所述信息处理单元;以及
所述信息处理单元,包括:
连接等待部件,用于建立与所述客户端设备的连接,以及
数据接收部件,用于接收从所述客户端设备发送来的数据,该数据接收部件包括:
应用数据接收缓冲器,用于临时存储从所述客户端设备发送来的数据,
应用数据接收部件,用于从所述应用数据接收缓冲器中获取从所述客户端设备发送来的数据并把该数据发送到上层应用,以及
流控制接收管理部件,用于监视所述应用数据接收缓冲器中的空闲空间并把所述应用数据接收缓冲器能够接收的数据大小提供给所述客户端设备,并且把从所述客户端设备发送来的数据传送到所述应用数据接收缓冲器。
15.如权利要求14所述的信息处理系统,其中:
所述客户端设备中包括的数据发送部件还包括连接维持控制信息发送部件,用于发送用于维持与所述信息处理单元建立的连接的连接维持控制信息,并且
当在给定的一段时间中未与所述信息处理单元执行通信时,所述连接维持控制信息发送部件向所述信息处理单元发送所述连接维持控制信息。
16.如权利要求14所述的信息处理系统,其中
所述信息处理单元还包括用于向所述客户端设备发送数据的数据发送部件,该数据发送部件包括:
应用数据发送缓冲器,用于临时存储将要被发送到所述客户端设备的数据;
应用数据发送部件,用于从上层应用获取将要被发送到所述客户端设备的数据并将该数据传送到所述应用数据发送缓冲器;以及
流控制发送管理部件,用于从所述应用数据发送缓冲器中获取数据,并且基于从所述客户端设备提供来的、所述客户端设备能够接收的数据大小来把所获取的数据发送到所述客户端设备,并且
所述客户端设备还包括用于接收从所述信息处理单元发送来的数据的数据接收部件,该数据接收部件包括:
应用数据接收缓冲器,用于临时存储从所述信息处理单元发送来的数据,
应用数据接收部件,用于从所述应用数据接收缓冲器中获取从所述信息处理单元发送来的数据并把该数据发送到上层应用,以及
流控制接收管理部件,用于监视所述应用数据接收缓冲器中的空闲空间并把所述应用数据接收缓冲器能够接收的数据大小提供给所述信息处理单元,并且把从所述信息处理单元发送来的数据传送到所述应用数据接收缓冲器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008072374A JP4557028B2 (ja) | 2008-03-19 | 2008-03-19 | 情報処理装置、情報処理方法、クライアント機器、情報処理システム |
JP2008-072374 | 2008-03-19 | ||
JP2008072374 | 2008-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101540769A true CN101540769A (zh) | 2009-09-23 |
CN101540769B CN101540769B (zh) | 2012-06-27 |
Family
ID=40790787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910119020XA Expired - Fee Related CN101540769B (zh) | 2008-03-19 | 2009-03-18 | 信息处理单元、客户端设备、信息处理方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8874756B2 (zh) |
EP (1) | EP2104282B1 (zh) |
JP (1) | JP4557028B2 (zh) |
CN (1) | CN101540769B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238177A (zh) * | 2010-05-06 | 2011-11-09 | 富士胶片株式会社 | 中继服务器、控制其操作的方法和用于控制其操作的程序 |
CN104363200A (zh) * | 2014-10-10 | 2015-02-18 | 福建联迪商用设备有限公司 | 一种蓝牙传输的控制方法及装置 |
CN104717761A (zh) * | 2013-12-11 | 2015-06-17 | Jdsu英国有限公司 | 用于管理数据的方法以及设备 |
CN105144099A (zh) * | 2012-12-26 | 2015-12-09 | 谷歌公司 | 通信系统 |
CN105610840A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN104205744B (zh) * | 2012-03-27 | 2017-03-01 | 索尼公司 | 信息处理设备、信息处理系统以及信息处理方法 |
CN107615257A (zh) * | 2015-05-20 | 2018-01-19 | 佳能株式会社 | 通信设备、通信方法及存储介质 |
JP2018077905A (ja) * | 2011-09-02 | 2018-05-17 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | メッセージ・ストリーム・インテグリティ |
CN108183835A (zh) * | 2017-12-08 | 2018-06-19 | 中国航空工业集团公司成都飞机设计研究所 | 一种分布式系统军用1394总线数据完整性监控方法 |
CN110048958A (zh) * | 2018-01-16 | 2019-07-23 | 厦门亿联网络技术股份有限公司 | 一种系统间消息流传输的缓冲区控制方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9860274B2 (en) | 2006-09-13 | 2018-01-02 | Sophos Limited | Policy management |
WO2010042578A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for real-time endpoint application flow control with network structure component |
JP5551899B2 (ja) * | 2009-07-14 | 2014-07-16 | 任天堂株式会社 | 情報処理システム、情報処理装置、情報処理プログラム |
US20110113134A1 (en) * | 2009-11-09 | 2011-05-12 | International Business Machines Corporation | Server Access Processing System |
EP2403195B1 (fr) * | 2010-06-30 | 2017-08-02 | Orange | Procédé et dispositif de chargement de contenu visant à réduire la bande passante lors de transferts de données |
US8644960B2 (en) | 2010-10-22 | 2014-02-04 | Gecko Alliance Group Inc. | Method and system for providing ambiance settings in a bathing system |
JP5573709B2 (ja) * | 2011-01-31 | 2014-08-20 | ブラザー工業株式会社 | 通信装置 |
JP5592301B2 (ja) * | 2011-03-31 | 2014-09-17 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | クライアント装置、通信システム、生存確認方法、及びプログラム |
US20130166965A1 (en) * | 2011-12-23 | 2013-06-27 | Christian Brochu | Method and system for providing remote monitoring and control of a bathing system |
JP6106494B2 (ja) * | 2013-03-29 | 2017-03-29 | 株式会社東芝 | 通信制御装置、サーバ装置、通信システム及びプログラム |
US9015378B2 (en) * | 2013-05-15 | 2015-04-21 | Google Inc. | Determining sensor information in the background on a mobile device |
JP6389661B2 (ja) * | 2014-07-04 | 2018-09-12 | キヤノン株式会社 | 情報処理装置および情報処理方法 |
US10159624B2 (en) | 2015-09-11 | 2018-12-25 | Gecko Alliance Group Inc. | Method for facilitating control of a bathing unit system and control panel implementing same |
JP2017120959A (ja) * | 2015-12-28 | 2017-07-06 | 三菱電機株式会社 | 一方向通信装置およびプラント監視制御システム |
CN105959237A (zh) * | 2016-04-20 | 2016-09-21 | 努比亚技术有限公司 | 一种信息处理方法及电子设备 |
WO2018119677A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 传输链路的续传方法、装置和系统 |
JP2019036088A (ja) * | 2017-08-14 | 2019-03-07 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US10885211B2 (en) | 2017-09-12 | 2021-01-05 | Sophos Limited | Securing interprocess communications |
US11116692B2 (en) | 2018-06-07 | 2021-09-14 | Gecko Alliance Group Inc. | Method, system, computer program product and device for facilitating centralized control and monitoring over a network of a set of remote bathing unit systems |
JP7336291B2 (ja) * | 2019-07-25 | 2023-08-31 | Tis株式会社 | サーバ装置、プログラム、および情報処理方法 |
US11770224B1 (en) | 2022-06-28 | 2023-09-26 | Preddio Technologies Inc. | Guaranteed feed observance window for telecommunication |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04276948A (ja) * | 1991-03-04 | 1992-10-02 | Nippon Telegr & Teleph Corp <Ntt> | トランスポート通信方法 |
JP2929991B2 (ja) * | 1996-01-29 | 1999-08-03 | 日本電気株式会社 | 最適化クレジット制御方法 |
US6345296B1 (en) * | 1997-07-02 | 2002-02-05 | Unisys Corporation | Method system and computer program product for providing pull model data communication |
JP3620010B2 (ja) * | 1998-05-22 | 2005-02-16 | 富士通株式会社 | 無線通信システムで用いられる装置とプログラム記録媒体 |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6594701B1 (en) | 1998-08-04 | 2003-07-15 | Microsoft Corporation | Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data |
US7305486B2 (en) | 2000-06-30 | 2007-12-04 | Kanad Ghose | System and method for fast, reliable byte stream transport |
AU2002224448A1 (en) * | 2000-10-26 | 2002-05-06 | Prismedia Networks, Inc. | Method and apparatus for large payload distribution in a network |
JP2003069610A (ja) * | 2001-08-22 | 2003-03-07 | Canon Inc | 通信装置、その制御方法、通信システム、及び制御プログラム |
US7085846B2 (en) * | 2001-12-31 | 2006-08-01 | Maxxan Systems, Incorporated | Buffer to buffer credit flow control for computer network |
JP3486182B2 (ja) * | 2002-01-17 | 2004-01-13 | 和田 耕一 | 通信装置及びその通信制御方法とプログラム |
US6871257B2 (en) * | 2002-02-22 | 2005-03-22 | Sandisk Corporation | Pipelined parallel programming operation in a non-volatile memory system |
US7092975B2 (en) * | 2003-02-12 | 2006-08-15 | Ge Mortgage Holdings, Llc | Methods and apparatus for management of data storage resources |
US7911994B2 (en) * | 2003-02-28 | 2011-03-22 | Openwave Systems Inc. | Confirmation of delivery of content to an HTTP/TCP device |
US7613109B2 (en) * | 2003-06-05 | 2009-11-03 | Nvidia Corporation | Processing data for a TCP connection using an offload unit |
US20080089347A1 (en) * | 2003-08-29 | 2008-04-17 | End Ii End Communications Inc. | Systems and methods for broadband network optimization |
US7962623B2 (en) | 2004-06-30 | 2011-06-14 | Microsoft Corporation | Sustaining session connections |
US8291273B2 (en) * | 2005-01-28 | 2012-10-16 | Sharp Kabushiki Kaisha | Communication device, non-transitory computer-readable medium storing a communication program |
JP4621044B2 (ja) * | 2005-03-15 | 2011-01-26 | 富士通株式会社 | 負荷分散装置および負荷分散方法 |
US20070011358A1 (en) * | 2005-06-30 | 2007-01-11 | John Wiegert | Mechanisms to implement memory management to enable protocol-aware asynchronous, zero-copy transmits |
WO2007043373A1 (ja) * | 2005-10-03 | 2007-04-19 | Matsushita Electric Industrial Co., Ltd. | 通信装置 |
US7640358B2 (en) * | 2006-11-09 | 2009-12-29 | Sharp Laboratories Of America, Inc. | Methods and systems for HTTP streaming using an intelligent HTTP client |
US20090217030A1 (en) * | 2008-02-26 | 2009-08-27 | Premkumar J | Adaptive server performance adjustment |
-
2008
- 2008-03-19 JP JP2008072374A patent/JP4557028B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-17 EP EP20090250742 patent/EP2104282B1/en not_active Expired - Fee Related
- 2009-03-18 CN CN200910119020XA patent/CN101540769B/zh not_active Expired - Fee Related
- 2009-03-18 US US12/406,646 patent/US8874756B2/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238177A (zh) * | 2010-05-06 | 2011-11-09 | 富士胶片株式会社 | 中继服务器、控制其操作的方法和用于控制其操作的程序 |
JP2018077905A (ja) * | 2011-09-02 | 2018-05-17 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | メッセージ・ストリーム・インテグリティ |
CN104205744B (zh) * | 2012-03-27 | 2017-03-01 | 索尼公司 | 信息处理设备、信息处理系统以及信息处理方法 |
CN105144099B (zh) * | 2012-12-26 | 2019-06-18 | 谷歌有限责任公司 | 通信系统 |
CN105144099A (zh) * | 2012-12-26 | 2015-12-09 | 谷歌公司 | 通信系统 |
CN104717761A (zh) * | 2013-12-11 | 2015-06-17 | Jdsu英国有限公司 | 用于管理数据的方法以及设备 |
CN104717761B (zh) * | 2013-12-11 | 2019-09-13 | 维亚威解决方案英国有限公司 | 用于管理数据的方法以及设备 |
CN104363200B (zh) * | 2014-10-10 | 2018-08-28 | 福建联迪商用设备有限公司 | 一种蓝牙传输的控制方法及装置 |
CN104363200A (zh) * | 2014-10-10 | 2015-02-18 | 福建联迪商用设备有限公司 | 一种蓝牙传输的控制方法及装置 |
CN107615257A (zh) * | 2015-05-20 | 2018-01-19 | 佳能株式会社 | 通信设备、通信方法及存储介质 |
US10917446B2 (en) | 2015-05-20 | 2021-02-09 | Canon Kabushiki Kaisha | Communication apparatus, communication method, and storage medium |
CN105610840A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN105610840B (zh) * | 2015-12-31 | 2018-09-11 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN108183835A (zh) * | 2017-12-08 | 2018-06-19 | 中国航空工业集团公司成都飞机设计研究所 | 一种分布式系统军用1394总线数据完整性监控方法 |
CN108183835B (zh) * | 2017-12-08 | 2021-05-07 | 中国航空工业集团公司成都飞机设计研究所 | 一种分布式系统军用1394总线数据完整性监控方法 |
CN110048958A (zh) * | 2018-01-16 | 2019-07-23 | 厦门亿联网络技术股份有限公司 | 一种系统间消息流传输的缓冲区控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US8874756B2 (en) | 2014-10-28 |
CN101540769B (zh) | 2012-06-27 |
EP2104282B1 (en) | 2011-11-02 |
JP2009231975A (ja) | 2009-10-08 |
JP4557028B2 (ja) | 2010-10-06 |
EP2104282A1 (en) | 2009-09-23 |
US20090240766A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101540769B (zh) | 信息处理单元、客户端设备、信息处理方法和系统 | |
US10425506B2 (en) | Transforming machine data in a communication system | |
CN103873486B (zh) | 用于负载平衡实时流传输协议的系统和方法 | |
US7933261B2 (en) | Communication method, communication system, communication device, and program using multiple communication modes | |
CN101194489B (zh) | 信息处理服务器,远程控制系统和远程控制方法 | |
CN102932786B (zh) | 一种信息传输方法及终端 | |
CN106031121B (zh) | 媒体内容的共享方法及装置 | |
US8583732B2 (en) | Method and apparatus for providing multimedia messaging service | |
JP2019149193A (ja) | モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法 | |
WO2016112728A1 (zh) | 一种数据传输的方法、网络服务器、用户终端及系统 | |
CN101540743A (zh) | 信息处理单元、信息回放单元、以及方法、系统和程序 | |
JP2008236344A (ja) | プロキシ装置、ネットワークシステムおよび通信方法 | |
CN103125141A (zh) | 移动宽带网络接口的聚合 | |
Krawiec et al. | DASCo: dynamic adaptive streaming over CoAP | |
CN106411842B (zh) | 在内容中心网络堆栈中传输状态 | |
WO2009093308A1 (ja) | 接続制御方法、接続制御サーバ装置、接続制御クライアント装置、及びプログラム | |
US20090172433A1 (en) | Powering on devices via intermediate computing device | |
CN110771117A (zh) | 一种采用面向id的网络的会话层通信 | |
CN110430478B (zh) | 组网通信方法、装置、终端设备及存储介质 | |
WO2020063271A1 (zh) | 接收方法、发送方法、终端及网络侧设备 | |
JP2010114721A (ja) | ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム | |
US20150046995A1 (en) | Media playing system and media playing method for playing media file in different area network groups | |
AU2014231331B2 (en) | System and method for reliable messaging between application sessions across volatile networking conditions | |
CN105812422A (zh) | 基于物联网的文件传输方法和装置 | |
Krohn et al. | ConCom–A language and Protocol for Communication of Context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 Termination date: 20150318 |
|
EXPY | Termination of patent right or utility model |