首页 / 国际专利分类库 / 电学 / 电通信技术 / 无线通信网络 / 连接管理,例如连接建立,操作或释放 / 无线通信终端、用于控制其的方法以及信息存储介质

无线通信终端、用于控制其的方法以及信息存储介质

申请号 CN201080038503.8 申请日 2010-08-13 公开(公告)号 CN102484858B 公开(公告)日 2015-06-17
申请人 索尼计算机娱乐公司; 发明人 岛幸司; 三轮泰孝;
摘要 提供了一种无线通信终端,即使在以通信连接的连续为 基础 的应用程序的运行期间,也能够中断无线通信连接。适于响应于来自可操作来运行应用程序的应用运行部件的传送处理 请求 、而向通信另一方传送数据的该无线通信终端,建立与该通信另一方的无线通信连接;基于给定条件来中断与该通信另一方的无线通信连接,以转变到通信中断状态;当在该通信中断状态期间从该应用运行部件接收到该传送处理请求时,重新建立与该通信另一方的无线通信连接;和在该无线通信连接的重新建立之后,向该通信另一方传送与该传送处理请求相关的数据。
权利要求

1.一种无线通信终端,包括:
应用运行部件,用于运行应用程序;和
通信控制部件,用于响应于来自该应用运行部件的传送处理请求,来向通信目标传送数据,
其中该通信控制部件包括:
连接部件,用于建立与该通信目标的无线通信连接;
通信中断部件,用于基于给定条件来断开与该通信目标的无线通信连接,以促使转移到通信中断状态;
重新连接部件,用于当在该通信中断状态中接收到该传送处理请求时,重新建立与该通信目标的无线通信连接;和
数据传送部件,用于在该无线通信连接的重新建立之后向该通信目标传送与该传送处理请求相关的数据,
其中,当接收到该传送处理请求时,该数据传送部件基于建立了通信连接的假设尝试运行数据传送处理;和
当所尝试的数据传送处理已失败时,该重新连接部件重新建立与该通信目标的无线通信连接,
该无线通信终端进一步包括存储部件,用于当所尝试的数据传送处理已失败时,在队列中存储指示从应用运行部件接收的传送处理请求的内容的信息,
其中,在完成该无线通信连接的重新建立之后,该数据传送部件根据该队列中存储的信息向该通信目标传送与该传送处理请求相关的数据,
该存储部件在该队列中与指示在该队列中存储的时间点的定时信息一起存储指示该传送处理请求的内容的信息,以及
在完成该无线通信连接的重新建立之后,该数据传送部件在根据该定时信息确定的定时处向该通信目标传送与该传送处理请求相关的数据。
2.根据权利要求1的无线通信终端,其中,当所尝试的数据传送处理已失败、并且重新连接部件运行该无线通信连接的重新建立时,该数据传送部件向该应用运行部件返回指示已正常处理了该传送处理请求的应答。
3.一种用于无线通信终端的控制方法,该无线通信终端响应于来自用于运行应用程序的应用运行部件的传送处理请求来向通信目标传送数据,
所述用于无线通信终端的控制方法包括:
建立与该通信目标的无线通信连接;
基于给定条件而断开与该通信目标的无线通信连接,以促使转移到通信中断状态;
当在该通信中断状态中接收到该传送处理请求时,重新建立与该通信目标的无线通信连接;和
在该无线通信连接的重新建立之后,向该通信目标传送与该传送处理请求相关的数据,
其中,当接收到该传送处理请求时,基于建立了通信连接的假设尝试运行数据传送处理;和
当所尝试的数据传送处理已失败时,重新建立与该通信目标的无线通信连接,该控制方法进一步包括当所尝试的数据传送处理已失败时,在队列中存储指示从应用运行部件接收的传送处理请求的内容的信息,
其中,在完成该无线通信连接的重新建立之后,根据该队列中存储的信息向该通信目标传送与该传送处理请求相关的数据,
在该队列中与指示在该队列中存储的时间点的定时信息一起存储指示该传送处理请求的内容的信息,以及
在完成该无线通信连接的重新建立之后,在根据该定时信息确定的定时处向该通信目标传送与该传送处理请求相关的数据。

说明书全文

无线通信终端、用于控制其的方法以及信息存储介质

技术领域

[0001] 本发明涉及用于通过无线与另一通信装置执行通信的无线通信终端。本发明还涉及用于该无线通信终端的控制方法以及信息存储介质。

背景技术

[0002] 已广泛使用用于与另一通信装置执行无线通信的各种无线通信终端。对于那些无线通信终端,已需要降低其功耗。为了解决该问题,提出了一种通过促使无线通信终端在其中不执行数据通信的时间段中转移(shift)到睡眠状态来抑制功耗的技术(例如,见专利文献1)。
[0003] 引用列表
[0004] 专利文献
[0005] [专利文献1]US 2005/0233704A1

发明内容

[0006] 在上述示例中,即使在其中无线通信终端处于睡眠状态的时间段中,通信接口的一部分也操作来维持无线通信连接。这是因为,如果不执行这样的控制,则在转移到睡眠状态时断开该通信连接,由此引起需要通信连接的连续的应用程序不正常工作的担心。然而,如果维持该无线通信连接,则由于即使当应用程序侧不需要数据的传送/接收时仍存在的诸如信标的控制分组的传送,而可消耗功率。
[0007] 已考虑到上述情况而作出了本发明,并所以本发明具有以下目的,提供一种即使当正在运行需要通信连接的连续的应用程序时、也允许断开无线通信连接的无线通信终端,并且还提供一种用于该无线通信终端的控制方法以及信息存储介质。
[0008] 本发明提供了一种无线通信终端,包括:应用运行部件,用于运行应用程序;和通信控制部件,用于响应于来自该应用运行部件的传送处理请求,来向通信目标传送数据,其中该通信控制部件包括:连接部件,用于建立与该通信目标的无线通信连接;通信中断部件,用于基于给定条件来断开与该通信目标的无线通信连接,以促使转移到通信中断状态;重新连接部件,用于当在该通信中断状态中接收到该传送处理请求时,重新建立与该通信目标的无线通信连接;和数据传送部件,用于在该无线通信连接的重新建立之后向该通信目标传送与该传送处理请求相关的数据。
[0009] 此外,本发明提供了一种用于无线通信终端的控制方法,该无线通信终端响应于来自用于运行应用程序的应用运行部件的传送处理请求来向通信目标传送数据,所述用于无线通信终端的控制方法包括:建立与该通信目标的无线通信连接;基于给定条件而断开与该通信目标的无线通信连接,以促使转移到通信中断状态;当在该通信中断状态中接收到该传送处理请求时,重新建立与该通信目标的无线通信连接;和在该无线通信连接的重新建立之后,向该通信目标传送与该传送处理请求相关的数据。
[0010] 此外,本发明提供一种计算机可读信息存储介质,其中存储有程序,该程序用于控制响应于来自用于运行应用程序的应用运行部件的传送处理请求而向通信目标传送数据的无线通信终端,并促使该无线通信终端起到以下作用:连接部件,用于建立与该通信目标的无线通信连接;通信中断部件,用于基于给定条件来断开与该通信目标的无线通信连接,以促使转移到通信中断状态;重新连接部件,用于当在该通信中断状态中接收到该传送处理请求时,重新建立与该通信目标的无线通信连接;和数据传送部件,用于在该无线通信连接的重新建立之后向该通信目标传送与该传送处理请求相关的数据。附图说明
[0011] [图1]根据本发明实施例的无线通信终端的配置图。
[0012] [图2]图示了根据本发明实施例的无线通信终端所实现的功能的功能框图
[0013] [图3]根据本发明实施例的无线通信终端的状态转变图。
[0014] [图4]图示了根据本发明实施例的无线通信终端运行的从通信中断状态恢复的处理的示例的流程图
[0015] [图5]图示了根据本发明实施例的无线通信终端运行的从通信中断状态恢复的处理的另一示例的流程图。

具体实施方式

[0016] 其后,参考图来详细描述本发明的实施例。
[0017] 图1是根据本发明实施例的无线通信终端1的配置图。无线通信终端1是由用户随身携带以供使用并通过无线向/从另一通信装置传送/接收数据的通信终端,并且可以是例如便携式游戏机个人数字助理。无线通信终端1的通信目标可以是与无线通信终端1相同种类的移动装置,或者可以是接入点等。其后,作为示例,对于其中无线通信终端1的通信目标是图1中图示的接入点2的情况给出描述。如图1中图示的,无线通信终端1包括控制单元11、储存单元12、通信单元13、操作单元14、显示单元15、和电源控制单元16。
[0018] 控制单元11包括CPU等,并根据该储存单元12中存储的程序来运行各类信息处理。稍后给出控制单元11所运行的处理的细节。
[0019] 储存单元12包括诸如RAM或ROM的存储装置,并存储控制单元11所运行的程序和各类数据。此外,储存单元12还起到用于控制单元11的工作存储器的作用。
[0020] 通信单元13是用于通过无线传送/接收数据的通信接口,并且,在该实施例中,是用于根据IEEE 802.11标准执行与接入点2的无线LAN通信的无线通信模
[0021] 操作单元14是诸如按钮的操作构件,并接收来自用户的操作输入以及将指示其内容的信号输出到控制单元11。显示单元15是例如液晶显示器,并根据来自控制单元11的指令而显示各类图像。
[0022] 电源控制单元16是例如电源控制电路,并将从该无线通信终端1内构造的可再充电电池供应的电供应到无线通信终端1的每一单元。此外,电源控制单元16将有关电源状态等的信息输出到控制单元11。
[0023] 图2是图示了无线通信终端1所实现的功能的功能框图。如该图中图示的,无线通信终端1在功能上包括应用运行部件21、通信控制部件22、和网络驱动器部件23。此外,通信控制部件22包括应用程序接口部件22a、协议处理部件22b、驱动器控制部件22c、驱动器接口部件22d、和连接管理部件22e。那些功能由运行与相应功能对应的程序的控制单元11实现。特别是,应用运行部件21由运行应用程序的控制单元11实现。通信控制部件22的每一功能由运行用于通信控制的程序的控制单元11实现。网络驱动器部件23由运行网络驱动器程序的控制单元11实现。那些程序被存储在储存单元12中并由控制单元11运行。此外,那些程序可通过存储在诸如光盘介质的各类计算机可读信息储存介质中而被提供给无线通信终端1,或可经由诸如因特网的通信网络而被提供。
[0024] 应用运行部件21运行应用程序所定义的处理。这里,应用运行部件21运行包括向接入点2的数据传送的处理。为了给出具体示例,应用运行部件21可运行WWW浏览器程序,以向用户提供网页浏览功能。在该情况下,应用运行部件21向用户指定的WWW服务器发布网页获取请求。该请求由通信控制部件22处理,并然后作为通信分组被传送到接入点2。
[0025] 通信控制部件22运行关于数据通信的控制的各类处理。特别是,通信控制部件22执行响应于应用运行部件21所发布的传送处理请求对于另一通信装置的数据传送处理、经由网络驱动器部件23接收从另一通信装置到达的数据的处理、以及数据传送/接收所必需的各类控制。
[0026] 网络驱动器部件23直接控制物理层的通信接口以传送/接收信号。在该实施例中,网络驱动器部件23通过控制通信单元13来执行无线LAN通信。注意,在无线通信终端1包括除了无线LAN之外的诸如使用USB连接的LAN通信的多个通信接口的情况下,对于每一通信接口单独准备装置驱动器程序。控制单元11运行相应装置驱动器程序,以促使与相应通信接口对应的多个网络驱动器部件23起作用。
[0027] 下面,给出在通信控制部件22中实现的功能的描述。
[0028] 应用接口部件22a是例如套接字应用程序接口(API),并且当从应用运行部件21观看时、起到用于通信处理的接口的作用。特别是,应用运行部件21规定套接字并向应用接口部件22a发布通信请求,以由此执行与外部的数据通信。在该情况下,当从应用运行部件21观看时,套接字对应于抽象通信端口。通过向套接字发布通信请求,应用程序可与作为上层的连接目的地的服务器交换数据,而不考虑下层的通信接口或通信路径。
[0029] 应用运行部件21向应用接口部件22a发布各类通信请求,并且需要向接入点2的数据传送的通信请求(传送处理请求)的示例包括应用连接请求(连接功能)和应用数据传送请求(发送功能)。注意,应用连接请求在这里实现的连接与在无线通信终端1和接入点2之间的物理层处的通信连接不同,并且是应用运行部件21和作为最终数据传送目的地的服务器所运行的应用程序之间的上层(应用层)的连接。响应于从该应用运行部件21所接收的通信请求的内容,应用接口部件22a向协议处理部件22b给出通信处理的指令。
[0030] 协议处理部件22b由构成协议栈的各类协议模块实现,并根据特定通信协议执行例如传送分组的生成和数据通信的流控制。在该实施例中,协议处理部件22b根据构成TCP/IP协议组(suite)的各类协议来执行数据传送/接收的处理。
[0031] 与协议处理部件22b所执行的处理的内容分开地,驱动器控制部件22c输出各类控制命令,用于控制物理层的通信接口(在该实施例中,通信单元13)。将控制命令经由驱动器接口部件22d输出到对应网络驱动器部件23。
[0032] 驱动器接口部件22d在协议处理部件22b或驱动器控制部件22c和网络驱动器部件23之间中继数据。在多个网络驱动器部件23操作的情况下,驱动器接口部件22d响应于来自协议处理部件22b或驱动器控制部件22c的处理请求,而将处理请求传递到与该请求对应的网络驱动器部件23。此外,响应于来自每一网络驱动器部件23的通知,驱动器接口部件22d将从另一通信装置接收的数据内容输出到协议处理部件22b。
[0033] 连接管理部件22e控制在物理层到另一通信装置的通信连接的建立和断开。特别是,响应于来自用户的请求等,连接管理部件22e命令驱动器控制部件22c建立到接入点2的通信连接。响应于此,驱动器控制部件22c经由驱动器接口部件22d建立通信单元13和接入点2之间的通信连接。在建立到接入点2的通信连接之后,从接入点2分配网络地址(在该情况下,IP地址)。注意,在该实施例中,接入点2分配网络地址,但是无线通信终端1可预先保持唯一网络地址信息。在该情况下,可通过在无线通信终端1和接入点2之间交换网络地址,来建立通信连接。
[0034] 此外,连接管理部件22e管理无线通信终端1的通信连接状态。特别是,连接管理部件22e管理是否通过通信单元13建立到另一通信装置的通信连接,并且,在建立通信连接的情况下,获取并管理有关该通信连接的各类信息。要管理的信息的示例包括诸如向无线通信终端1自己分配的网络地址以及网络掩码(net mask)的设置信息、以及诸如无线通信的无线电场强的有关通信状态的信息。
[0035] 接下来,参考图3的状态转变图,对于该实施例中的无线通信终端1的状态转变给出描述。在初始状态St1中,不建立到接入点2的通信连接,并由此无线通信终端1不处于能够执行通信的状态。这里,响应于用户对操作单元14执行的指令操作等,连接管理部件22e建立与接入点2的通信连接。利用此,获取网络地址,并且无线通信终端1转移到准备状态St2(转变T1)。
[0036] 在准备状态St2中,通信控制部件22确定在下面描述的用于未处理数据的队列中是否存在任何未处理数据,并且,在存在未处理数据的情况下,运行其处理。在其结果是用于未处理数据的队列为空的处理完成之后,无线通信终端1转移到连接状态St3(转变T2)。在连接状态St3中,当从用户接收到用于终止该通信连接的指令操作时,连接管理部件22e执行断开与接入点2的通信连接的处理。利用此,释放从接入点2分配的网络地址,并且无线通信终端1返回到初始状态St1(转变T3)。
[0037] 另一方面,在连接状态St3中,当满足预定条件时,连接管理部件22e断开与接入点2的通信连接,并然后,无线通信终端1转移到通信中断状态St4(转变T4)。在该情况下,还释放从接入点2分配的网络地址。然而,与转变T3的情况不同的是,在转变T4的情况下,甚至在该转变之后仍维持该应用运行部件21所使用的上层的套接字和连接。作为选择,在通过转变T4释放套接字的情况下,在随后转移到恢复状态St5的时间,再次获取套接字。在该情况下,应用运行部件21的操作还可以在通信中断状态St4中继续。换言之,即使无线通信终端1从连接状态St3转移到通信中断状态St4,也不影响应用运行部件21正运行的处理。
[0038] 这里,允许从连接状态St3向通信中断状态St4的转移的条件可以是例如这样的条件,其涉及与接入点2的通信的间隔、或可再充电电池的充电状态。该条件的特定示例包括其中在预定时间段(例如,60秒)中不执行与接入点2的数据的传送/接收的情况、以及可再充电电池的剩余电荷已下降到某一值以下的情况。特别是,这里的驱动器接口部件22d确定是否要执行到通信中断状态St4的转移。在无线通信终端1向/从接入点2传送/接收数据的情况下,总是经由驱动器接口部件22d交换数据。因此,如果将驱动器接口部件22d配置为执行这样的确定,则可能精确检测到在预定时间段中还没有执行与接入点2的数据传送/接收。此外,驱动器接口部件22d可从电源控制单元16获取有关可再充电电池的状态的信息,以基于所获取的信息来确定是否要执行状态转移。
[0039] 当确定要执行到通信中断状态St4的转移时,驱动器接口部件22d发布请求通信连接的中断的事件。在检测到该事件之后,连接管理部件22e断开到接入点2的通信连接,并释放该网络地址。特别是,响应于来自连接管理部件22e的请求,驱动器控制部件22c向网络驱动器部件23输出用于给出断开通信连接的指令的控制命令,并然后,通信连接断开。说完这个,在通信中断状态St4中,通信单元13停止执行不必要的信标等的传送,并由此可抑制无线通信终端1的功耗。
[0040] 在通信中断状态St4中,当已从应用运行部件21作出传送处理请求时,无线通信终端1从通信中断状态St4转移到恢复状态St5(转变T5)。特别是,响应于来自已从应用运行部件21接收到传送处理请求的应用接口部件22a的请求,连接管理部件22e运行与接入点2的通信连接的重新建立。重新连接的过程可以与在从初始状态St1转移到准备状态St2时由连接管理部件22e初始运行的通信连接建立过程相同,并可包括诸如网络地址的分配和验证的处理。在重新连接处理完成之后,获取网络地址,并且无线通信终端1从恢复状态St5转移到准备状态St2(转变T6)。注意,不保证在这个时机获取的网络地址与在转移到通信中断状态St4之前分配的网络地址相同。然而,如上所述,应用运行部件21的操作甚至被维持在通信中断状态St4中,并由此这样的网络设置的改变不影响应用运行部件21所运行的处理。
[0041] 在转移到准备状态St2之后,通信控制部件22运行与已引起转变T5的传送处理请求相关的传送数据的处理。在完成该处理之后,无线通信终端1再次返回到连接状态St3。
[0042] 注意,在通信中断状态St4和恢复状态St5两者中,与连接状态St3的情况类似,可通过来自用户的指令等而完全断开与接入点2的通信连接,由此促使转移到初始状态St1(转变T7和T8)。然而,在该情况下,网络地址已在转变T4中释放,并由此不再次执行网络地址的释放,这与转变T3的情况不同。
[0043] 接下来,对于当进行经由恢复状态St5和准备状态St2从通信中断状态St4向连接状态St3的转移(从通信中断状态St4恢复的处理)时、由通信控制部件22运行的处理的特定示例给出描述。
[0044] 在该实施例中,应用运行部件21按照规定阻挡类型或非阻挡类型的方式向通信控制部件22作出传送处理请求。在规定阻挡类型的请求的情况下,通信控制部件22执行控制以便阻挡新通信请求,直到从接入点2接收到响应于该请求而执行的数据传送的应答为止。另一方面,在规定非阻挡类型的请求的情况下,通信控制部件22在响应于该请求执行的数据传送处理之后不执行阻挡控制。因此,在数据传送处理之后,即使没有对其的应答,也可能立即接收另一通信请求。下面,通过在阻挡类型的情况和非阻挡类型的情况之间区分,对于恢复处理的流程给出描述。
[0045] 首先,参考图4的流程图,对于在已作出规定阻挡类型的通信请求时执行的从通信中断状态St4恢复的处理的流程的示例给出描述。
[0046] 首先,已从应用运行部件21接收到传送处理请求(S1)的应用接口部件22a命令该协议处理部件22b响应于该请求运行数据传送处理,以由此尝试传送所请求的数据(S2)。在该时机,如果无线通信终端1处于连接状态St3,则该协议处理部件22b可以没有任何麻烦地运行该数据传送处理,并然后可将其结果返回到应用运行部件21。此外,如果来自应用运行部件21的通信请求是指向回环(loopback)地址的传送处理请求或与内部控制相关的请求,则不需要执行与接入点2的通信,并由此,即使在通信中断状态St4中,协议处理部件22b也正常完成处理,并将其结果返回到应用运行部件21。
[0047] 然而,这里假设S1的请求是指向接入点2的传送处理请求,并且无线通信终端1处于通信中断状态St4。特别是,不分配网络地址,并由此协议处理部件22b不能执行向接入点2的数据传送。因此,协议处理部件22b将指示发生通信错误的返回值(这里,“ENETDOWN”)返回到应用接口部件22a(S3)。
[0048] 已接收到指示数据传送处理已失败的S3的通知的应用接口部件22a参考无线通信终端1的状态,以确定无线通信终端1是否处于通信中断状态St4(S4)。如果当前状态不是通信中断状态St4而是初始状态St1等,则应用接口部件22a假设已发生纯(mere)通信错误,并将错误结果(具体地,返回值“ENETDOWN”)没有任何修改地返回到应用运行部件21。因为这里假设无线通信终端1处于通信中断状态St4,所以应用接口部件22a响应于在步骤S4作出的确定结果来作出对于重新建立与连接管理部件22e的通信连接的请求(S5)。如上所述,基于建立通信连接的假设来首先尝试数据传送处理,并且仅在失败的情况下,确定无线通信终端1是否处于通信中断状态St4。所以,当正常建立连接时或者当不需要执行向接入点2的数据传送时,可能避免执行确定处理。
[0049] 在作出重新连接的请求之后,应用接口部件22a执行阻挡控制以便阻挡来自应用运行部件21的通信处理请求的接收(S6)。与为了等待在正常运行数据传送处理之后的应答所执行的阻挡控制不同,这里所执行的阻挡控制是为了等待指示通信连接完成的事件通知而执行的阻挡控制。其间,已在S5中接收到请求的连接管理部件22e命令该网络驱动器部件23经由驱动器控制部件22c在物理层处建立通信连接。响应于该指令,运行通信连接的重新建立(重新连接处理),并再次分配网络地址(S7)。在完成网络地址的重新分配之后,连接管理部件22e经由驱动器控制部件22c向应用接口部件22a提供指示该完成的通知(S8)。
[0050] 已在S8中接收到该通知的应用接口部件22a取消在S6中运行的阻挡控制,并然后再次命令协议处理部件22b执行与阻挡控制关联的数据传送处理(即,与S1中接收到的传送处理请求相关的数据传送处理)(S9)。该处理与S2中执行的处理相同。
[0051] 这时,通信连接的重新建立已完成,并由此协议处理部件22b可响应于S9中作出的请求来正常运行分组生成和数据传送的处理。这里,S1中作出的传送处理请求是规定阻挡类型的请求,并由此协议处理部件22b在需要时执行阻挡控制(例如,为了等待具有一些空间的传送分组缓冲器而执行的阻挡控制)的同时,运行数据传送处理(S10)。说完这个,将分组经由网络驱动器部件23从驱动器接口部件22d传递到通信单元13,并且通信单元13运行分组传送(S11)。在正常运行数据传送处理以命令驱动器接口部件22d执行分组传送之后,协议处理部件22b向应用接口部件22a提供指示处理结果的通知(S12)。响应于该通知,应用接口部件22a向应用运行部件21提供指示该数据传送处理完成的通知(S13)。通过运行图4中图示的处理,不管无线通信终端1处于通信中断状态St4还是连接状态St3,应用运行部件21都可照常作出通信处理请求,并获取其结果。
[0052] 接下来,参考图5的流程图,对于当已经作出规定非阻挡类型的通信请求时、所执行的从通信中断状态St4恢复的处理的流程的示例给出描述。
[0053] 首先,与图4的流程图的情况类似,已从应用运行部件21接收到传送处理请求(S21)的应用接口部件22a响应于该请求命令该协议处理部件22b执行数据传送处理(S22)。然后,与图4的流程图的情况类似,协议处理部件22b不能执行向接入点2的数据传送,并由此向应用接口部件22a返回指示发生通信错误的返回值(ENETDOWN)(S23)。
[0054] 已接收到S23的通知的应用接口部件22a参考无线通信终端1的状态,以确定无线通信终端1是否处于通信中断状态St4(S24)。如果当前状态不是通信中断状态St4而是初始状态St1等,则应用接口部件22a假设已发生纯通信错误,并将错误结果(返回值“ENETDOWN”)返回到应用运行部件21。因为这里假设无线通信终端1处于通信中断状态St4,所以应用接口部件22a响应于在S24作出的确定结果来作出对于重新建立与连接管理部件22e的通信连接的请求(S25)。在图5的流程图中,与图4的流程图的情况不同,不运行为了等待通信连接的完成所执行的阻挡控制。因此,在运行用于重新连接的处理的同时,可从应用运行部件21发布新通信处理请求。由此,应用接口部件22a在存储单元12中准备的用于未处理数据的队列中排列(queue)指示在S21中接收的传送处理请求的内容的信息(对于连接函数或发送函数规定的变量等)(S26)。通过这样做,即使当连续发布规定非阻挡类型的通信处理请求时,也排列那些通信处理请求,使得在重新建立通信连接以转移到准备状态St2之后,也能依次处理队列中的多条未处理数据。
[0055] 这里,假设因为无线通信终端1处于连接状态St3、所以已响应于S22的指令而正常运行该数据传送处理,协议处理部件22b向应用接口部件22a提供指示处理结果的通知,并且响应于该通知,应用接口部件22a向应用运行部件21提供指示已正常完成数据传送处理的结果的通知(例如,在TCP通信的情况下的返回值“EINPROGRESS”、以及在UDP通信的情况下要传送的字节数目等)。因此,当在S24中确定无线通信终端1处于通信中断状态St4时,应用接口部件22a也被配置为向应用运行部件21返回与已正常运行数据传送处理时相同的返回值(S27)。特别是,不管协议处理部件22b执行数据传送处理的尝试已失败的事实,应用接口部件22a返回指示已成功处理来自应用运行部件21的传送处理请求的应答。通过这样做,即使在通信中断状态St4中,应用运行部件21也能在与连接状态St3的定时没有什么不同的定时处,接收指示已正常接受该传送处理请求的应答。
[0056] 与图4的S7的情况类似,已接收到S25的重新连接请求的连接管理部件22e重新建立通信连接,并接收网络地址的重新分配(S28)。在完成网络地址的重新分配之后,连接管理部件22e经由驱动器控制部件22c向协议处理部件22b提供指示该完成的通知(S29)。注意,在图4的情况下,向正运行该阻挡控制的应用接口部件22a提供重新连接完成的通知(S8)。然而,在图5的示例中,在提供S27中的处理结果的通知的情况下,完成响应于S21的传送处理请求而由应用接口部件22a执行的处理,并由此向协议处理部件22b提供重新连接完成的通知。
[0057] 已接收到S29的通知的协议处理部件22b确定在S26中排列的多条未处理数据的运行调度(S30),并且根据所确定的调度,依次运行与该队列中的多条数据对应的多条数据传送处理(S31)。响应于此,驱动器接口部件22d经由网络驱动器部件23促使通信单元13运行分组传送(S32)。
[0058] 这里,协议处理部件22b可立即处理该队列中所有多条未处理数据。然而,通过这样做,可出现这样的情况,即,按照时间集中(clustered)的方式来连续运行由应用运行部件21按照时间分布方式请求的多条数据传送处理。例如,假设应用运行部件21正在运行游戏应用,如果如这样的情况那样立即运行队列中的所有多条未处理数据,则结果,集中反映按照某些间隔运行的多条处理的内容,这由此可使得用户感到奇怪的感觉。为了解决该问题,取决于应用运行部件21正在运行的应用程序,可按照这样的方式运行调度,使得按照与其中在队列中存储多条未处理数据的时间间隔对应的时间间隔,来处理相应的多条未处理数据。
[0059] 特别是,如果应用运行部件21已给出用于这样的控制的指令,则应用接口部件22a在队列中存储未处理数据的时间,与指示该存储时间点的定时信息一起排列未处理数据。该定时信息可以是这样的信息,其指示针对前一未处理数据的存储时间点的相对定时。
然后,当已作出到准备状态St2的转移时,协议处理部件22b参考该定时信息,以由此确定运行每条未处理数据的定时。例如,在时间t1、时间t2和时间t3处分别排列第一条未处理数据、第二条未处理数据和第三条未处理数据的情况下,在重新连接完成之后,协议处理部件22b首先立即运行第一条未处理数据,随后在(t2-t1)的时间段过去之后运行第二条未处理数据,并随后在(t3-t2)的时间段过去之后运行第三条未处理数据。通过这样做,在通信连接的重新建立之后,根据与应用运行部件21所请求的时间间隔对应的时间间隔,运行相应的多条未处理数据,并由此可能使得用户感到网络只是被延迟用于重新建立通信连接所需的时间段。
[0060] 此外,一般来说,在通信连接的重新建立之后,不能运行数据传送处理,除非通过传送地址解析协议(ARP)分组来执行地址解析。然而,取决于怎么实现协议处理部件22b,可以在完成地址解析之前丢弃作为传送处理的目标的分组。因此,为了在执行地址解析以传送第一条未处理数据的同时、防止第二条和随后条未处理数据成为处理目标,可利用该地址解析所需的典型时间段的延迟来设置调度。作为选择,在执行地址解析的同时,可提供另一队列用于排列未处理数据。
[0061] 这里,对于用于确定是否从连接状态St3转移到通信中断状态St4所使用的确定条件的修改示例给出描述。
[0062] 在上面给出的描述中,当在预定时间段(下面,称为确定参考时间段Tm1)中没有发生数据传送时,运行向通信中断状态St4的转移。然而,该确定参考时间段Tm1可取决于通信情形而改变。例如,当已作出向通信中断状态St4的转移时,通信控制部件22启动定时器以测量在作出向恢复状态St5的转移之前的时间段(通信中断时间段)。然后,作为测量结果,当通信中断时间段小于预定时间段Tm2(例如,20秒)时,该确定参考时间段Tm1被改变为通过向其添加预定时间段Tm2而获得的值。说完这个,在作出向通信中断状态St4的转移之后的相对短的时间段中执行重新连接的情形下,可改变确定条件,使得不太可能发生向通信中断状态St4的转移,这由此使得能够避免没有相对有助于降低功耗的通信中断控制。注意,即使在如上所述改变该确定参考时间段Tm1之后,通信控制部件22仍可测量通信中断时间段,并且当通信中断时间段等于或长于预定时间段Tm2时,通信控制部件22可将该确定参考时间段Tm1返回为原始值。
[0063] 此外,在经由特定套接字运行按照固定时间间隔(例如“保活(keep-alive)”)执行的数据传送的情况下,通信控制部件22可考虑到这样的通信来确定是否要转移到通信中断状态St4。为了给出特定示例,当应用运行部件21向应用接口部件22a发布用于设置套接字(setsockopt函数)的请求时,应用运行部件21将该套接字规定为用于“保活”的套接字。驱动器接口部件22d监视经由用于“保活”的套接字的数据通信(保活通信)的定时。然后,当确定在该确定参考时间段Tm1中还没有发生数据通信时,驱动器接口部件22d标识接下来运行保活通信的定时。作为该标识的结果,当确定要在预定时间段中运行下一保活通信时,驱动器接口部件22d确定不立即作出向通信中断状态St4的转移,而是推迟转移。此外,在该情况下,当在确定推迟之后运行下一保活通信之前还没有经由另一套接字发生的数据通信时,驱动器接口部件22d确定在保活通信的运行之后立即转移到通信中断状态St4。通过这样做,当在短时间段之后需要执行从通信中断状态St4的恢复用于保活通信时,可能避免向通信中断状态St4的转移。
[0064] 根据上述该实施例的无线通信终端1,不管应用程序的运行状态,可能暂时断开通信单元13所作出的通信连接,以便避免不必要控制分组的传送,这由此使得在应用程序没有正运行数据通信的同时能够降低功耗。即使运行这样的控制,也维持应用运行部件21的操作,并由此不需要考虑到这样的通信连接的断开来设计应用程序。
[0065] 注意,本发明的实施例不限于以上描述,并且可作出各种修改。例如,通信单元13不限于用于无线LAN的通信接口,而可以是各类无线通信接口。为了给出特定示例,即使在通信单元13是蓝牙(注册商标)接口并且无线通信终端1通过加入蓝牙个域网而连接到另一蓝牙装置的情况下,也可采用上述方法来运行通信连接的断开连接/重新连接控制。
QQ群二维码
意见反馈