用于改进的普通文件传输协议的系统和方法与流程

文档序号:13618152阅读:222来源:国知局
概括地说,本申请涉及用于数据传输的有线和无线通信,具体地说,本申请涉及用于根据普通文件传输协议(tftp,trivialfiletransferprotocol)的文件传输的系统、方法和设备。本文中的特定的方面涉及改进tftp文件传输过程。
背景技术
::有线和无线通信网络被用于在若干交互的在空间上被隔开的设备之间交换消息。可以根据地理范围对网络进行分类,地理范围可以例如是城域、局域或者个域。这样的网络可以分别被指定为广域网(wan)、城域网(man)、局域网(lan)或者个域网(pan)。网络还根据被用于使各种网络节点和设备互连的交换/路由技术(例如,电路交换与分组交换)、被用于传输的物理介质的类型(例如,有线的与无线的)和被使用的通信协议的集合(例如,互联网协议套件、sonet(同步光网络)、以太网等)而不同。普通文件传输协议(tftp)是由互联网工程任务组(iftf)在请求注释(rfc)1350“thetftpprotocol(revision2)”中标准化的。tftp的扩展和选项在其它的rfc中被标准化。例如,rfc2347“tftpoptionextension”提供了用于允许文件传输之前的选项协商的对tftp的扩展。存在对于tftp使用更少的存储器和提供更快的文件传输的需求。技术实现要素:本公开内容的系统、方法和设备各自具有若干方面,所述方面中没有任何单个方面唯一地负责其可期望的属性。下面简要描述了本公开内容的一些方面,而不限制本公开内容的范围。提供了一种用于数据传输的设备。所述设备包括电子硬件处理器。所述电子硬件处理器被配置为生成用于请求对文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。所述rrq分组包括用于指示对tftp确认(ack)分组的发送被推迟直到所述电子硬件处理器接收到整个文件为止的参数。所述电子硬件处理器还被配置为响应于接收到所述整个文件而生成tftpack分组。提供了另一种用于数据传输的设备。所述设备包括电子硬件处理器。所述电子硬件处理器被配置为接收用于请求对文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。所述rrq分组包括用于指示tftp确认(ack)分组的生成被推迟直到整个文件被接收为止的参数。所述电子硬件处理器还被配置为在等待响应于所述参数的tftpack分组之前生成所述整个文件。提供了一种用于数据传输的方法。所述方法包括:由电子硬件处理器生成用于请求对文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。所述rrq分组包括用于指示对tftp确认(ack)分组的发送被推迟直到整个文件被接收为止的参数。所述方法还包括:由所述电子硬件处理器响应于接收到所述整个文件而生成tftpack分组。提供了另一种用于数据传输的方法。所述方法包括:由电子硬件处理器接收用于请求对文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。所述rrq分组包括用于指示tftp确认(ack)分组的生成被推迟直到整个文件被接收为止的参数。所述方法还包括:由所述电子硬件处理器响应于接收到所述整个文件而生成tftpack分组。提供了另一种用于数据传输的设备。所述设备包括处理器。所述处理器被配置为生成普通文件传输协议(tftp)读取请求(rrq)分组。所述rrq包括用于指示距离用于读取数据的文件的起始处的偏移量的参数。所述设备还包括接收机。所述接收机被配置为响应于所述tftprrq分组而接收tftp数据分组。所述tftp数据分组至少包括在所述偏移量处开始的所述文件的一部分。还提供了另一种用于数据传输的方法。所述方法包括:生成tftprrq。所述rrq包括用于指示距离用于读取数据的文件的起始处的偏移量的参数。所述方法还包括:响应于所述tftprrq分组而接收tftp数据分组。所述tftp数据分组至少包括在所述偏移量处开始的所述文件的一部分。还提供了另一种用于数据传输的设备。所述设备包括被配置为接收tftp写入请求(wrq)分组的接收机。所述wrq包括用于指示用于写入数据的距离文件的起始处的偏移量的参数。所述接收机还被配置为接收包括数据的tftp数据分组。所述设备还包括处理器,所述处理器被配置为响应于接收到所述tftpwrq分组和所述tftp数据分组而在所述偏移量处向所述文件写入所述数据。所述处理器还被配置为写入所述数据以使得所述文件不被截断。提供了另一种用于数据传输的设备。所述设备包括被配置为接收tftpwrq的接收机。所述wrq包括用于指示向文件的结尾处追加数据的参数。所述接收机还被配置为接收包括数据的tftp数据分组。所述设备还包括处理器。所述处理器被配置为响应于接收到所述tftpwrq分组和所述tftp数据分组而向所述文件的所述结尾处追加所述数据。所述处理器还被配置为在所述追加操作期间不截断所述文件。提供了另一种用于数据传输的设备。所述设备包括被配置为生成tftprrq的处理器。所述rrq包括指示用于限制被接收的数据的第一数据量的参数。所述设备还包括接收机,所述接收机被配置为响应于所述rrq分组而接收tftp数据分组。所述tftp数据分组包括第二数据量。所述第二数据量少于或者等于所述第一数据量。提供了另一种用于数据传输的设备。所述设备包括被配置为接收包括数据的tftp数据分组的接收机。所述设备还包括被配置为向文件写入所述数据的处理器。所述接收机还被配置为接收tftp错误分组。所述tftp错误分组包括用于指示数据传输的结束的参数。所述tftp错误分组还指令所述处理器不截断所述文件。附图说明在附图中说明的各种特征可以不是按比例绘制的。相应地,为了清楚起见,各种特征的尺寸可以被任意扩大或者缩小。此外,点划的或者短划的线和物体可以指示可选的特征或者被用于显示部件的组织。另外,附图中的一些图可以不描绘给定的系统、方法或者设备的部件中的全部部件。最后,类似的附图标记可以贯穿本说明书和附图被用于指代类似的特征。图1示出了包括普通文件传输协议(tftp)客户端和tftp服务器的通信系统。图2示出了在图1的tftp客户端中使用的部件的功能性方框图。图3示出了在图1的tftp服务器中使用的部件的功能性方框图。图4a示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的不受限窗口大小选项的读取请求(rrq)的示例性通信的信号流图。图4b示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的不受限窗口大小选项的写入请求(wrq)的示例性通信的信号流图。图5a示出了用于选项协商的一个示例性tftp分组。图5b示出了请求用于数据传输的不受限窗口大小选项的一个示例性rrq分组。图5c示出了请求用于数据传输的不受限窗口大小选项的一个示例性wrq分组。图6a示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的寻找选项的rrq的示例性通信的信号流图。图6b示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的寻找选项的wrq的示例性通信的信号流图。图6c示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的寻找选项的rrq的示例性通信的信号流图。图6d示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的寻找选项的wrq的示例性通信的信号流图。图7a示出了包括用于数据传输的寻找选项的一个示例性rrq分组。图7b示出了包括用于数据传输的寻找选项的一种示例性wrq分组格式。图8示出了多个tftp客户端与tftp服务器之间的包括请求用于数据传输的追加选项的wrq的示例性通信的信号流图。图9示出了包括用于数据传输的寻找选项的一个示例性wrq分组。图10示出了tftp客户端与tftp服务器之间的包括请求用于数据传输的rsize选项的rrq的示例性通信的信号流图。图11示出了包括用于数据传输的rsize选项的一个示例性rrq分组。图12示出了多个tftp客户端与tftp服务器之间的包括指示传输的结束的错误分组的示例性通信的信号流图。图13示出了指示传输的结束的一个示例性错误分组。图14示出了由tftp客户端进行的用于tftp文件传输的一种示例性方法的流程图。图15示出了由tftp客户端进行的用于tftp文件传输的一种示例性方法的流程图。图16示出了由tftp服务器进行的用于数据传输的一种示例性方法的流程图。具体实施方式在下文中参考附图详细描述了新颖的系统、装置和方法的各种方面。然而,本教导的公开内容可以以许多不同的形式被体现,并且不应当解释为限于任何贯穿本公开内容所呈现的具体的结构或者功能。相反,提供这些方面以使得本公开内容将是透彻的和完整的,并且将向本领域的技术人员充分地传达本公开内容的范围。基于本文中的教导,一名本领域的技术人员应当认识到,本公开内容的范围旨在涵盖本文中公开的新颖的系统、装置和方法的任何方面,而不论这样的方面是独立地还是与本公开内容的任何其它的方面组合地被实现的。例如,可以使用任意数量的本文中阐述的方面实现装置或者实践方法。另外,本公开内容的范围旨在涵盖使用除了或者不同于本文中阐述的本公开内容的各种方面的其它结构、功能或者结构和功能实践的这样的装置或者方法。应当理解,本文中公开的任何方面可以由权利要求书的一个或多个元素体现。此外,尽管在本文中描述了具体的方面,但这些方面的许多变体和排列落在本公开内容的范围内。另外,本公开内容的范围不旨在限于本文中公开的具体的益处、用途或者目的。相反,本公开内容的方面旨在是广泛地适用于不同的有线和无线技术、系统配置、网络和传输协议的,在附图中和在下面对优选的方面的描述中作为示例说明了这样的有线和无线技术、系统配置、网络和传输协议中的一些有线和无线技术、系统配置、网络和传输协议。具体实施方式和附图仅说明而不限制本公开内容,本公开内容的范围是由所附权利要求书及其等价物定义的。图1示出了包括普通文件传输协议(tftp)客户端110a和110b和tftp服务器120的通信系统100。通信系统100可以是有线的或者无线的。在该实施例中,第一tftp客户端110a包括膝上型计算机,第二tftp客户端110b包括移动电话,以及tftp服务器120包括台式机。在其它实施例中,tftp客户端110或者tftp服务器120可以包括膝上型计算机、台式机、移动电话(例如,智能电话)、便携式通信设备、便携式计算设备(例如,个人数字助理)、娱乐设备(例如,音乐或者视频设备或者卫星无线电单元)、游戏设备或者系统、全球定位系统设备或者任何其它合适的设备。如由图1中的箭头指示的,tftp客户端110a和110b被配置为与tftp服务器120通信。tftp客户端110和tftp服务器120被配置为根据tftp标准进行通信。tftp是由互联网工程任务组(ietf)在请求注释(rfc)1350“thetftpprotocol(revision2)”中标准化的。tftp在用户数据报(udp)/互联网协议(ip)之上被实现。由于udp不提供可靠的通信,所以tftp通常实施锁步方法。在该方法中,tftp客户端110向tftp服务器120发送对于读取被存储在tftp服务器120上的文件和向用于存储在tftp服务器120上的文件写入的请求。然后,tftp客户端110/服务器120发送对请求的确认,并发送文件的数据块。然后,tftp客户端110/服务器120在tftp客户端110/服务器120中的另一方发送下一个数据块之前发送对每个数据块的确认。下面结合图4a、4b、6a、6b、8、10和12提供了tftp通信的示例。图2示出了在图1的tftp客户端110中使用的部件的功能性方框图。tftp客户端110包括处理器201。处理器201控制tftp客户端110的操作。处理器201可以包括用一个或多个处理器实现的处理系统或者是这样的处理系统的部件。一个或多个处理器可以利用通用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、状态机、门控逻辑、分立硬件部件、专用硬件有限状态机或者可以执行对信息的计算或者其它操控的任何其它合适实体的任意组合来实现。处理系统可以还包括用于存储软件的机器可读介质。软件应当宽泛地解释为表示任何类型的指令,而不论其被称为软件、固件、中间件、微代码、硬件描述语言还是其它。指令可以包括代码(例如,具有源代码格式、二进制代码格式、可执行代码格式或者任何其它合适的代码格式)。指令在被一个或多个处理器执行时使处理系统执行如本文中描述的数据传输和其它操作。tftp客户端110还包括存储器单元202。存储器单元202被配置为存储信息(例如,数据)。存储器单元202可以包括只读存储器(rom)和随机存取存储器(ram)两者。存储器单元202可以还包括非易失性随机存取存储器(nvram)。存储器单元202向处理器201提供指令和数据。如上面描述地,处理器201被配置为执行指令以执行如本文中描述的数据传输和其它操作。tftp客户端110还包括分别被配置为在tftp客户端110与tftp服务器120之间提供数据发送和接收的发射机203和接收机204。发射机203和接收机204可以被配置用于有线或者无线通信。tftp客户端110还可以包括多个发射机和多个接收机(未示出)。tftp客户端110的各种部件被操作地彼此耦合以提供信息传输。尽管在图2中说明了多个分开的部件,但这些部件中的一个或多个部件可以被组合或者共同地实现。进一步地,图2中说明的部件中的每个部件可以使用多个分开的单元来实现。图3示出了在图1的tftp服务器120中使用的部件的功能性方框图。tftp服务器120的部件被配置为与tftp客户端110的部件类似。tftp服务器120包括处理器301。处理器301控制tftp服务器120的操作。处理器301可以包括利用一个或多个处理器实现的处理系统或者是这样的处理系统的部件。一个或多个处理器可以用通用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、状态机、门控逻辑、分立硬件部件、专用硬件有限状态机或者可以执行对信息的计算或者其它操控的任何其它合适实体的任意组合来实现。处理系统还可以包括用于存储软件的机器可读介质。软件应当宽泛地解释为表示任何类型的指令,而不论其被称为软件、固件、中间件、微代码、硬件描述语言还是其它。指令可以包括代码(例如,具有源代码格式、二进制代码格式、可执行代码格式或者任何其它合适的代码格式)。指令在被一个或多个处理器执行时使处理系统执行如本文中描述的数据传输和其它操作。tftp服务器120还包括存储器单元302。存储器单元302被配置为存储信息(例如,数据)。存储器单元302可以包括只读存储器(rom)和随机存取存储器(ram)两者。存储器单元302还可以包括非易失性随机存取存储器(nvram)。存储器单元302向处理器301提供指令和数据。如上面描述地,处理器301被配置为执行指令以执行如本文中描述的数据传输和其它操作。tftp服务器120还包括分别被配置为在tftp客户端110与tftp服务器120之间提供数据发送和接收的发射机303和接收机304。发射机303和接收机304可以被配置用于有线或者无线通信。tftp服务器120还可以包括多个发射机和多个接收机(未示出)。tftp服务器120的各个部件被操作地彼此耦合以提供信息传输。尽管在图3中说明了一些分开的部件,但这些部件中的一个或多个部件可以被组合或者共同地实现。进一步地,图3中说明的部件中的每个部件可以使用多个分开的单元来实现。概括地说,tftp支持五种类型的分组:读取请求(rrq)、写入请求(wrq)、数据(data)、确认(ack)和错误(error)。rfc2347“tftpoptionextension”提供了对tftp的扩展,该扩展提供用于允许数据(例如,文件)传输之前的在tftp客户端110与tftp服务器120之间的选项协商的选项确认分组(oack)。tftp客户端通过向tftp服务器发送rrq或者wrq分组来请求选项。rrq/wrq被追加选项名称和选项值。rfc3247向tftp添加选项确认(oack)分组类型。tftp服务器通过向客户端发送用于接受选项、拒绝选项或者提议对选项的替换值的oack对选项请求作出答复。对于rrq,tftp客户端向tftp服务器发送ack以确认oack中的选项。对于wrq,tftp客户端向tftp服务器发送data以确认oack中的选项。tftp客户端还可以发送error以拒绝选项。tftp客户端和tftp服务器根据在选项协商中被协定的选项来传输数据。本文中描述的设备和方法可以通过协商数据传输的选项来提供经改进的tftp通信。图4a示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的不受限窗口大小选项的rrq401的示例性通信的信号流图400。如上面提到地,tftp通常要求每个data分组通过ack被确认。该配置可以被描述为具有为“1”的传输“窗口”大小。然而,rrq401包括指示对用于数据传输的窗口大小的请求的“windowsize”选项参数和指示特定的窗口大小的选项值参数。rrq401还指示将被传输的所请求的文件。tftp客户端110向tftp服务器120发送rrq401。在该实施例中,rrq401包括用于窗口大小选项的为“0”的选项值。为“0”的窗口大小指示不受限的窗口大小。因此,rrq401请求tftp服务器120向tftp客户端110发送不受限数量的data分组,而不要求来自tftp客户端110的ack。即,窗口大小等于为发送文件所需的data分组的数量。tftp服务器120支持不受限窗口大小的选项(例如,为“0”的窗口大小)。相应地,tftp服务器120向tftp客户端110发送oack402。oack402包括“windowsize”选项参数和为“0”的选项值参数,因此接受rrq401。tftp客户端110向tftp服务器120发送ack403以接受用于数据传输的选项。如上面提到地,在其它实施例中,tftp服务器120可以拒绝选项或者提议替换的选项和选项值。如果tftp客户端110不接受tftp服务器120提议的选项,则tftp客户端110向tftp服务器120发送error以拒绝选项。该过程通常被称为选项协商。响应于接收到ack403,tftp服务器120发送不受限数量的data分组。每个data分组包括由tftp客户端110请求的文件的块。由于数据传输是以不受限窗口大小被执行的,所以在未接收来自tftp客户端110的ack的情况下,tftp服务器120将继续发送data分组。同样地,tftp客户端110将推迟向tftp服务器110发送确认对任何data的接收的ack,直到其已经接收所请求的文件的data分组中的全部data分组为止。tftp服务器120可能需要发送n个数据块以传输所请求的文件。相应地,tftp服务器120向tftp客户端110发送data分组404-406,并继续发送包括data分组407和408的data分组,直到tftp服务器120已经发送n个data分组为止。tftp客户端110接收data分组408。data分组408指示其是最后的数据分组。最后的data分组408可以通过具有大小为“0”的数据字段或者通过具有小于用于数据传输的最大数据字段大小(例如,除非在选项协商期间被协定,否则对于tftp通常是512个字节长)的大小的数据字段来指示其是最后的数据分组。响应于接收到最后的data分组408,tftp客户端110向tftp服务器120发送ack409。ack409确认对由tftp服务器120发送的n个data分组的接收。在其它实施例中,windowsize选项值可以是特定的数量。例如,为“4”或者“8”的窗口大小。在这种情况下,tftp服务器120将在等待接收来自tftp客户端110的ack之前向tftp客户端110发送所指定的数量的data分组。在接收到ack时,tftp服务器120将继续发送多达窗口大小的data分组的下一个序列。在特定的情况下,tftp客户端110可能由于网络失效或者其它问题而未接收至少一个data分组。在这种情况下,tftp客户端110可以发送针对其接收的最后的data分组的、指示该data分组的块号的ack。在这种情况下,tftp服务器120将重传序列中的下一个data分组。在其它实施例中,tftp客户端110可以发送确认对其接收的最后的完整窗口的data分组接收的ack。在这种情况下,tftp服务器120将重传整个窗口的data分组。图4b示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的不受限窗口大小选项的wrq411的示例性通信的信号流图410。wrq411包括指示对用于数据传输的不同窗口大小的请求的“windowsize”选项参数和指示特定的窗口大小的选项值参数。wrq401还指示将被写入的所请求的文件。tftp客户端110向tftp服务器120发送wrq411。在该实施例中,wrq411包括用于窗口大小选项的为“0”的选项值。为“0”的窗口大小指示不受限窗口大小。因此,wrq411请求tftp服务器120从tftp客户端110接收不受限数量的data分组而不向tftp客户端110发送ack。tftp服务器120支持不受限窗口大小的选项(例如,为“0”的窗口大小)。相应地,tftp服务器120向tftp客户端110发送oack412。oack412包括“windowsize”选项参数和为“0”的选项值参数,因此接受wrq411。响应于接收到oack412,tftp客户端110使用不受限数量的data分组向tftp服务器120发送文件,而不等待接收来自tftp服务器120的ack。tftp客户端120可能需要发送n个数据块以传输整个文件。相应地,tftp客户端向tftp服务器120发送n个data分组(包括data分组413、414、415、416和417)。最后的data分组417指示其是最后的data分组。最后的data分组417可以通过具有大小为“0”的数据字段或者通过具有小于用于数据传输的最大数据字段大小的大小的数据字段来指示其是最后的数据分组。响应于接收到最后的data分组417,tftp服务器418发送确认对n个data分组413-417的接收的ack418。使用具有不受限窗口大小的tftp来传输数据提供了若干优点。例如,在网络通信是可靠的时,由于通信的较少部分被用于对数据进行确认,所以数据吞吐量可以通过增大窗口大小而被提高。相比于较小的窗口大小,具有不受限窗口大小提供了可能的最大数据吞吐量。图5a示出了用于选项协商的一个示例性tftp分组500。tftp分组500包括操作码字段501。操作码字段501包含从1到5的值。为“1”的值指示rrq,为“2”的值指示wrq,为“3”的值指示data,为“4”的值指示ack,以及为“5”的值指示error。tftp分组500还包括文件名字段502。文件名值502包括指示将被读取或者写入的文件的值。tftp分组500还包括文件名字段502之后的空字段503。空字段503长度是1字节,并具有为“0”的值。tftp分组500还包括模式字段504。模式字段504指示文件传输的模式。模式字段504可以具有为“netascii”(指示请求数据被格式化为美国信息交换标准代码(ascii)字符)或者“八位字节”(指示所请求的数据被格式化为字节)的值。tftp分组500还包括模式字段504之后的另一个空字段505。空字段505长度是1字节,并具有为“0”的值。如上面提到地,tftp分组500包括选项字段506。选项字段506包含指示所请求的用于数据传输的选项的值。tftp分组500还包括选项字段506之后的另一个空字段507。空字段507长度是1字节,并具有为“0”的值。tftp分组500还包括选项值字段508。选项值字段508包括选项字段506中的选项的值。tftp分组500还包括选项值字段508之后的另一个空字段509。空字段509长度是1字节,并具有为“0”的值。tftp分组500可以包括用以请求用于数据传输的多个选项的若干对选项字段和对应的选项值字段。字段可以如图5a中所示地那样被空字段隔开。图5b示出了请求用于数据传输的不受限窗口大小选项的一个示例性rrq分组510。除了如下面描述的内容之外,rrq分组510是与tftp分组500类似地被格式化的。rrq510的操作码字段501具有指示rrq的为“1”的值。rrq510的选项字段506具有为“windowsize”的值(请求用于数据传输的窗口大小)。选项值字段508具有如上面描述的为“0”的值(请求不受限窗口大小)。图5c示出了请求用于数据传输的不受限窗口大小选项的一个示例性wrq分组520。除了操作码字段501具有指示wrq的为2的值之外,wrq分组520是与rrq分组510类似地被格式化的。图6a示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的寻找选项的rrq601的示例性通信的信号流图600。“寻找”选项包括用于指示距离用于读取或者写入的文件的起始处的偏移量的值。在一些实施例中,值可以使用字节来指示偏移量。在一些其它的实施例中,值可以使用距离文件的起始处的块的数量来指示。因此,tftp客户端110可以读取或者写入文件的一部分。此外,tftp服务器120被配置为在写入操作期间不截断文件。因此,未被写入的文件的部分将保持不变。tftp客户端110向tftp服务器120发送rrq601。rrq601包括“寻找”选项。rrq601还包括用于寻找选项的为o(例如,8、64、1024或者任何其它合适的数量)的偏移量值。tftp服务器120支持寻找选项,并向tftp客户端110发送oack602。oack602包括“寻找”选项值和为“o”的偏移量值,由此接受rrq601。响应于接收到oack602,tftp客户端110发送ack603。ack603接受oack602中的选项。响应于接收到ack603,tftp服务器120向tftp客户端110发送data分组604。data分组604包括位于由tftp客户端110请求的距离文件的起始处的偏移量o处的数据块。相应地,data分组604指示数据块o。响应于接收到data分组604,tftp客户端110发送ack605,确认对data分组604的接收。在接收ack605之后,tftp服务器120继续数据发送,并向tftp客户端110发送data分组606。data分组606包括基于偏移量的下一个数据块。相应地,data分组606指示数据块“o+1”。响应于接收到data分组606,tftp客户端110发送确认对data分组606的接收的ack607。ack607指示数据块“o+1”。tftp服务器120可以相应地继续发送数据,直到文件已经被传输为止。图6b示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的寻找选项的wrq611的示例性通信的信号流图610。如上面描述地,“寻找”选项包括用于指示距离用于读取或者写入的文件的起始处的偏移量的值。tftp客户端110向tftp服务器120发送wrq611。wrq611包括“寻找”选项。wrq611还包括用于寻找选项的为o的偏移量值。tftp服务器120支持寻找选项,并向tftp客户端110发送oack612。oack612包括“寻找”选项值和为“o”的偏移量值,由此接受wrq611。响应于接收到oack612,tftp客户端110向tftp服务器120发送data分组613。data分组613包括位于由tftp客户端110在wrq611中指示的距离文件的起始处的偏移量o处的数据块。偏移量o可以向接收data分组613的设备指示被包括在分组中的数据块相对于文件的起始处来说应当被写入到哪里。相应地,data分组613指示数据块o。响应于接收到data分组613,tftp服务器120发送确认对data分组613的接收的ack614。在接收ack614之后,tftp客户端110继续数据发送,并向tftp服务器120发送data分组615。data分组615包括基于偏移量的下一个数据块。相应地,data分组615指示数据块“o+1”。响应于接收到data分组615,tftp服务器120发送确定对data分组615的接收的ack616。ack616指示数据块“o+1”。tftp客户端110可以相应地继续发送数据,直到文件已经被传输为止。使用具有“寻找”选项的tftp来传输数据提供了若干优点。首先,寻找选项允许部分地读取文件。因此,寻找选项可以被用于读取大型文件的部分。在文件相比于tftp客户端110的存储器的量较大时,这是优点。另外,如果仅需要来自文件的数据的一部分,则部分的读取减少了为传输数据所需的时间的量。例如,tftp客户端110可能需要仅接收来自被存储在tftp服务器120上的较大的可执行且可链接格式(elf,executableandlinkableformat)文件的代码的一部分。此外,tftp客户端110可能一次仅能够在其存储器中加载elf文件的部分。在这种情况下,tftp寻找选项可以被用于仅读取被需要的数据的部分,由此减少文件传输时间并减少存储器使用。图6c示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的寻找选项的rrq621的示例性通信的信号流图620。除了data和ack分组624-627不是指示在偏移量o处开始的块号而指示在“1”处开始的块号之外,图6c的通信是与图6a的通信类似的。在图6a和图6b两者中,data分组604、606、613和615包含从距离文件的起始处的偏移量处开始的数据。参考图6c,tftp客户端110向tftp服务器120发送rrq621。rrq621包括“寻找”选项。rrq621还包括用于寻找选项的为o(例如,8、64、1024或者任何其它合适的数量)的偏移量值。tftp服务器120支持寻找选项,并向tftp客户端110发送oack622。oack622包括指示“寻找”选项值和为“o”的偏移量值的参数,由此接受rrq621。响应于接收到oack622,tftp客户端110发送ack623。ack623接受oack622中的选项。响应于接收到ack623,tftp服务器120向tftp客户端110发送data分组624。data分组624包括位于由tftp客户端110请求的距离文件的起始处的偏移量o处的数据块。data分组604包括指示数据块1的参数。响应于接收到data分组624,tftp客户端110发送ack625,确认对data分组604的接收。ack625包括指示数据块1的参数。在接收ack625之后,tftp服务器120继续数据发送,并向tftp客户端110发送data分组626。data分组626包括基于偏移量的下一个数据块。相应地,data分组606指示数据块2。响应于接收到data分组626,tftp客户端110发送确认对data分组626的接收的ack627。ack627指示数据块2。tftp服务器120可以相应地继续发送数据,直到文件已经被传输为止。图6d示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的寻找选项的wrq631的示例性通信的信号流图630。除了data和ack分组633-636不是指示在偏移量o处开始的块号而指示在“1”处开始的块号之外,图6d的通信是与图6b的通信类似的。在图6b和图6d两者中,data分组633和635包含从距离文件的起始处的偏移量处开始的数据。参考图6d,tftp客户端110向tftp服务器120发送wrq631。wrq631包括指示“寻找”选项的参数。wrq631还包括指示用于寻找选项的为o的偏移量值的参数。tftp服务器120支持寻找选项,并且向tftp客户端110发送oack632。oack632包括指示“寻找”选项值和为“o”的偏移量值的参数,由此接受wrq631。响应于接收到oack632,tftp客户端110向tftp服务器120发送data分组633。data分组633包括位于由tftp客户端110在wrq631中指示的距离文件的起始处的偏移量o处的数据块。data分组633包括指示数据块1的参数。响应于接收到data分组633,tftp服务器120发送确认对data分组633的接收的ack634。ack634包括指示数据块1的参数。在接收ack634之后,tftp客户端110继续数据发送,并向tftp服务器120发送data分组635。data分组635包括基于偏移量的下一个数据块。data分组635包括指示数据块2的参数。响应于接收到数据块635,tftp服务器120发送确认对data分组635的接收的ack636。ack636包括指示数据块2的参数。tftp客户端110可以相应地继续发送数据,直到文件已经被传输为止。图7a示出了包括用于数据传输的寻找选项的一个示例性rrq分组700。除了如下面描述的内容之外,rrq分组700是与rrq分组510类似地被格式化的。rrq分组700的选项字段506包括请求用于数据传输的寻找选项的为“寻找”的值。此外,rrq分组700的选项值字段508包括用于指示距离用于读取的文件的起始处的偏移量(以块或者字节计)的为“o”的偏移量值。图7b示出了包括用于数据传输的寻找选项的一个示例性wrq分组710。除了如下面描述的内容之外,wrq分组710是与wrq分组520类似地被格式化的。wrq分组710的选项字段506包括请求用于数据传输的寻找选项的为“寻找”的值。此外,wrq分组710的选项值字段508包括用于指示距离用于写入的文件的起始处的偏移量(以块或者字节计)的为“o”的偏移量值。图8示出了多个tftp客户端110a和110b与tftp服务器120之间的包括请求用于数据传输的追加选项的wrq801和804的示例性通信的信号流图。“追加”选项包括用于指令tftp服务器120向文件的结尾处写入数据的值。“追加”选项不需要tftp客户端110知道文件的长度。而是,tftp服务器120被配置为确定文件的结尾处,并被进一步配置为向文件的结尾处进行写入。因此,tftp服务器120将向文件的结尾处写入数据,而不考虑对文件的长度的任何改变。此外,tftp服务器120被配置为在写入操作期间或者之后不截断文件。因此,未被写入的文件的部分将保持不变。如图8中所示,第一tftp客户端110a向tftp服务器120发送wrq801。wrq801包括指示追加选项的值。wrq801还包括指示要被写入的文件的值。在该实施例中,tftp服务器120支持追加选项,并通过向第一tftp客户端110a发送oack802来接受wrq801。oack802包括指示追加选项的值。响应于接收到oack802,第一tftp客户端110a发送将被追加到文件的结尾处的data分组803。然而,data分组未被tftp服务器120接收。data分组803可能由于网络连接的失效或者另一网络问题而不被接收。第一tftp客户端110a在发送另一data分组之前等待对data分组803进行确认的来自tftp服务器120的ack。在第一tftp客户端110a正在等待ack时,第二tftp客户端110b向tftp服务器120发送wrq804。wrq804包括指示追加选项的值。wrq804还包括指示由wrq801指示的文件的值。tftp服务器120通过向第二tftp客户端110b发送oack805来接受wrq804。oack805包括指示追加选项的值。响应于接收到oack805,第二tftp客户端110b向tftp服务器120发送data分组806。在接收data分组806时,tftp服务器120向第二tftp客户端110b发送ack807,并向文件的结尾处写入data分组806中的数据。在超时时段之后,由于第一tftp客户端110a还未接收来自tftp服务器120的对data分组803进行确认的ack,所以第一tftp客户端110a将确定tftp服务器120未接收data分组803。相应地,第一tftp客户端110a将重传data分组803中的数据。如图8中所示,第一tftp客户端110a向tftp服务器120发送data分组808。在接收到data分组808时,tftp服务器120向第一tftp客户端110a发送ack809,并向文件的结尾处写入data分组808中的数据。tftp服务器120被配置为在利用追加选项进行写入时总是向文件的结尾处进行写入。使用具有“追加”选项的tftp来传输数据提供了若干优点。例如,tftp服务器120将不以来自tftp客户端110a的随后的数据来重写来自第二tftp客户端110b的数据。此外,由于tftp服务器120被配置为确定文件的结尾处,所以tftp客户端110不需要知道文件的长度。tftp客户端110a和110b可以使用追加选项以最小的开销向tftp服务器120写入日志文件。相比而言,不具有“追加选项”的tftp将要求每个tftp客户端110读取文件、确定文件的结尾处、向文件的结尾处进行写入、以及然后将被追加的文件写入回tftp服务器120。与不具有该选项的tftp相比,追加选项提供了更快的数据传输,并且还保证了tftp服务器120上的数据不被正在向相同文件进行写入的另一个tftp客户端110重写。图9示出了包括用于数据传输的追加选项的一个示例性wrq分组900。除了如下面描述的内容之外,wrq分组900是与wrq520类似地被格式化的。wrq分组900的选项字段506包括请求tftp服务器120向在文件名字段502中指示的文件的结尾处追加数据的为“追加”的值。此外,wrq分组900的选项值字段508可以包括为“0”的值。然而,由于tftp服务器120对于“追加”选项将总是向文件的结尾处写入数据,所以选项值字段508中的值不改变tftp服务器120的操作。图10示出了tftp客户端110与tftp服务器120之间的包括请求用于数据传输的rsize选项的rrq1001的示例性通信的信号流图100。“rsize”选项包括用于指令tftp服务器120限制作为rrq的部分被传输的数据的量的值和用于指示数据的量的值。在各种实施例中,rsize选项的单位可以是块或者字节。tftp服务器120被配置为发送由“rsize”选项指示的数据的量。因此,tftp客户端120仅接收文件的一部分。tftp客户端110向tftp服务器120发送rrq1001。rrq1001包括指示“rsize”选项的值。rrq1001还包括指示将被接收的数据的量的值(例如,8、64、1024或者任何其它合适的数量)。tftp服务器120支持rsize选项,并向tftp客户端110发送oack1002。oack1002包括“rsize”选项值和数据量值,由此接受rrq1001。响应于接收到oack1002,tftp客户端110发送ack1003。ack1003接受oack1002中的选项。响应于接收到ack1003,tftp服务器120向tftp客户端110发送data分组1004。data分组1004包括来自在rrq1001中指示的文件的第一数据块。响应于接收到data分组1004,tftp客户端110发送确认对data分组1004的接收的ack1005。使用具有“rsize”选项的tftp来传输数据提供了若干优点。例如,tftp客户端110可以发送包括“寻找”选项和“rsize”选项两者的rrq以从文件的中部仅读取数据的一部分。因此,与不具有“寻找”和“rsize”选项的tftp(其将需要读取整个文件)相比,tftp客户端110可以快速地从tftp服务器120读取特定的数据。另外,仅读取文件的一部分允许tftp客户端110将较少的存储专用于读取操作。图11示出了包括用于数据传输的rsize选项的一个示例性rrq分组1100。除了如下面描述的内容之外,rrq分组1100是与rrq分组510类似地被格式化的。rrq分组1100的选项字段506包括用于指令tftp服务器120限制作为rrq的部分被传输的数据的量的为“rsize”的值(在各种实施例中,以块或者字节为单位)。此外,rrq分组700的选项值字段508包括用于指示将被传输的数据量的值。图12示出了多个tftp客户端110a和110b与tftp服务器120之间的包括用于指示传输的结束的错误分组1207和1212的示例性通信的信号流图1200。错误分组1207和1212责令tftp服务器120结束文件传输但不截断文件。因此,未被写入的文件的部分将保持不变。第一tftp客户端110a向tftp服务器120发送wrq1201。tftp服务器120发送ack1202以对wrq1201进行确认。响应于接收到ack1202,第一tftp客户端110a发送data分组1203。tftp服务器120接收data分组1203并且向第一数据块写入数据。tftp服务器120发送ack1204以对data分组1203进行确认。作为响应,tftp客户端110a发送data分组1205。tftp服务器120接收data分组1205并向第二数据块写入数据。tftp服务器120发送ack1206以对data分组1207进行确认。在该实施例中,第一tftp客户端110a没有更多的要向tftp服务器120发送的数据。然而,第一tftp客户端110a可能不想要截断其曾向其进行写入的文件。相应地,第一tftp客户端110a发送指示传输的结束并指令tftp服务器120不截断文件的error分组1207。稍后,第二tftp客户端110b向tftp服务器120发送wrq1208。wrq1208指示由第一tftp客户端110a写入到的相同文件。tftp服务器120发送ack1209以对wrq1208进行确认。响应于接收到ack1209,第二tftp客户端110b发送data分组1210。tftp服务器120接收data分组1210,并向第一数据块写入数据。tftp服务器120发送ack1211以对data分组1210进行确认。在该实施例中,第二tftp客户端110b没有更多的要向tftp服务器120发送的数据。然而,第二tftp客户端110b可能不想要截断其曾向其进行写入的文件。即,第二tftp客户端110b想要文件保留tftp服务器120响应于接收到来自第一tftp客户端110a的data分组1205而写入的文件的第二数据块。相应地,第二tftp客户端110b发送用于指示传输的结束并指令tftp服务器120不截断文件的error分组1212。相应地,文件包含基于从第二tftp客户端110b接收的data分组1210的第一数据块和基于从第一tftp客户端110a接收的data分组1205的第二数据块。使用“传输的结束”error分组来结束tftp写入操作提供了若干优点。例如,tftp客户端110可以发送包括“寻找”选项的wrq以向文件的中部写入数据。然而,tftp客户端110想要仅向文件的一部分写入,并且其可能想要将文件的其余部分保持原样。相应地,tftp客户端110可以使用“寻找”向tftp服务器120写入具体的数据,并且然后快速地使用“传输的结束”error分组来结束写入操作。使用“寻找”选项和“传输的结束”error分组花费与不使用这些选项相比少的时间,其中不使用这些选项将需要从tftp服务器读取文件、向文件的中部进行写入以及然后将文件写入回tftp服务器120。另外,仅向文件的一部分进行写入允许tftp客户端110将较少的存储专用于写入操作。图13示出了用于指示传输的结束的一个示例性错误分组1300。错误分组1300包括操作码字段1301。操作码字段1301包括用于指示分组是error分组的值。错误分组1300还包括错误码字段1302。错误码字段1302包括用于指示文件传输的结束的值。例如,错误码字段1302的值可以是“8”。错误分组1300还包括错误消息字段1303。错误消息字段1303包括用于指示文件传输的结束的人类可读的字符串值。错误分组1300还包括1字节的空字段1304,该空字段1304包括为“0”的值。图14示出了由tftp客户端110进行的用于tftp文件传输的一种示例性方法的流程图1400。在步骤1401处,用于tftp文件传输的方法开始。在步骤1402处,tftp客户端110生成tftprrq,该tftprrq包括用于指示距离用于读取数据的文件的起始处的偏移量的参数。在步骤1403处,tftp客户端110接收响应于tftprrq分组的tftp数据分组。tftp数据分组至少包括在偏移量处开始的文件的一部分。在步骤1404处,用于tftp文件传输的方法结束。图15示出了由tftp客户端110进行的用于tftp文件传输的一种示例性方法的流程图1500。在一些方面中,过程1400可以被设备120执行。例如,在一些方面中,被存储在存储器202中的指令可以将处理器201配置为执行下面参照图15讨论的功能中的一项或多项功能。在一些方面中,过程1500可以被用于通过网络在两个分开的设备(诸如设备110和120)之间传输数据。在一些其它的方面中,过程1500可以被用于例如通过设备内部的总线在单个物理设备内的两个硬件处理器之间传输数据。方框1502生成用于请求对第一文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。rrq分组包括用于指示tftp确认分组的生成被推迟直到整个第一文件被接收为止的参数。在一些实施例中,生成rrq分组可以包括通过有线或者无线网络向物理上隔开的设备发送rrq分组。例如,在一些方面中,生成rrq分组可以包括在局域网或者广域网上发送分组。在其它方面中,生成rrq分组可以包括在单个设备内的数据总线上生成信号以向同一物理设备内的第二电子硬件处理器传送rrq分组。方框1502的一些方面还可以生成用于请求对第二文件的传输的普通文件传输协议(tftp)写入请求(wrq)分组,该wrq分组包括用于指示tftp确认(ack)分组的生成被推迟直到整个第二文件被接收为止的第二参数。在一些方面中,生成分组包括通过诸如局域网或者无线网络之类的计算机网络发送分组。在一些方面中,生成分组可以包括通过设备内的内部的数据总线发送分组,例如,可以通过设备的内部数据总线将分组从第一硬件处理器发送到第二硬件处理器。在一些方面中,方框1502可以生成和/或发送上面讨论的读取请求(rrq)和写入请求(wrq)中的一项或多项。在一些方面中,发送可以被发射机303执行。在方框1503中,响应于接收到整个第一文件而生成tftp确认分组。例如,在一些方面中,方框1503可以仅在接收到文件结束指示(eof)(诸如,glibc中的“-1”字符或者微软windows环境中的ctrl+z)时生成tftp确认分组。在一些方面中,上面就方框1502所讨论的参数指示tftp确认应当被推迟直到接收到整个文件为止,而不考虑文件的大小。因而,在这些方面中,tftp确认的生成不是基于包括被生成的文件数据的多个分组或者基于一定量的被生成的文件数据,而是基于全部文件数据的生成。因此,在一些方面中,与文件的传输相关的任何tftpack的生成可以仅响应于接收到文件数据的全部而被执行。生成上面讨论的写入请求的过程1500的一些方面还可以在等待响应于第二参数的针对第二文件数据的tftpack分组之前生成整个第二文件。在第二文件被生成(例如,被发送给分开的设备或者通过内部的数据总线被信号通知)之后,过程1500可以等待tftpack分组。如果没有任何tftpack分组在门限时段内被接收,则过程1500的一些方面可以生成诸如错误码或者错误消息之类的错误信号。如果没有任何确认在门限时段内被接收,则过程1500的一些方面可以重传整个第二文件。图16示出了由tftp服务器120进行的用于数据传输的一种示例性方法的流程图1600。在一些方面中,过程1600可以被设备110执行。在一些方面中,被存储在存储器302中的指令可以将处理器301配置为执行下面就图16讨论的功能中的一项或多项功能。在一些方面中,过程1600可以被用于通过网络在两个分开的设备(诸如设备110和120)之间传输数据。在一些其它的方面中,过程1600可以被用于例如通过设备内部的总线在单个物理设备内的两个硬件处理器之间传输数据。在方框1602中,接收用于请求对文件的传输的普通文件传输协议(tftp)读取请求(rrq)分组。rrq分组包括用于指示tftp确认(ack)分组的生成被推迟直到整个文件被接收为止的参数。在一些方面中,可以由物理上隔开的设备从诸如无线网络或者局域网之类的计算机网络接收分组。例如,在一些方面中,接收机304可以被配置为接收rrq分组。在一些其它的方面中,可以通过数据总线从一个物理设备内的另一个电子硬件处理器接收分组。在这些方面中,处理器301可以被配置为从数据总线接收分组。在方框1603中,在等待响应于参数的tftpack分组之前生成整个文件。在一些方面中,确认的生成被推迟,而不考虑文件的大小。换句话说,在一些方面中,接收的分组的数量或者接收的数据块的数量是与确认的生成的传输不相关的。因此,在一些方面中,没有任何针对文件的tftp确认分组被生成,直到整个文件被接收侧接收为止,而不考虑接收的数据块的数量和/或接收的分组的数量。从而,方框1603不在生成和/或发送整个文件之前等待确认。通过在等待确认之前生成整个文件,方框1603不基于是否已经接收到针对文件的数据的任何部分的确认来推迟文件的任何部分的生成。在一些方面中,生成整个文件可以包括通过网络向执行tftp文件传输的另一方的节点发送包括针对整个文件的数据的分组。例如,可以通过局域网、广域网或者无线网络发送整个文件。在一些方面中,生成整个文件可以包括通过单个设备内的数据总线从第一电子硬件处理器向接收整个文件的第二电子硬件处理器传输针对整个文件的数据。在这些方面中,第二电子硬件处理器可以被配置为在接收到整个文件时生成确认。过程1600的一些方面包括接收用于请求对第二文件的传输的普通文件传输协议(tftp)写入请求(wrq)分组。wrq分组可以包括用于指示tftp确认(ack)分组的生成被推迟直到整个第二文件被接收为止的第二参数。例如,第二参数可以指示确认被推迟直到接收到整个文件为止,而不考虑文件的大小。过程1600的这些方面还响应于接收到整个文件而生成tftpack分组。第二参数不指示表示一门限的数据块的数量或者分组的数量,其中确认在该门限后被接收到。从而,不论文件可以包括多少数据块或者多少分组,第二参数都指示确认被推迟直到整个第二文件被接收为止。换句话说,确认仅在整个第二文件被接收之后被发送。如本文中使用地,术语“确定”包括多种动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表、数据库或者另一种数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。进一步地,在特定的方面中,如本文中使用的“信道宽度”可以包括或者也可以被称为带宽。如本文中使用地,提到项目的列表“中的至少一项”的短语指包括单个成员的那些项目的任意组合。作为一个示例,“a、b或者c中的至少一项”旨在涵盖:a、b、c、a-b、a-c、b-c和a-b-c。上面描述的方法的各种操作可以被任何能够执行所述操作的合适单元(诸如各种硬件和/或软件部件、电路和/或模块)执行。概括地说,附图中说明的任何操作可以由对应的能够执行所述操作的功能性单元来执行。结合本公开内容描述的各种说明性的逻辑方框、模块和电路可以利用被设计为执行本文中描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑设备(pld)、分立门或者晶体管逻辑、分立硬件部件或者其任意组合来实现或者执行。通用处理器可以是微处理器,当然,处理器可以是任何市场上可得的处理器、控制器、微控制器或者状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、结合dsp核的一个或多个微处理器或者任何其它这样的配置。在一个或多个方面中,所描述的功能可以用硬件、软件、固件或者其任意组合来实现。如果用软件来实现,则功能可以作为计算机可读介质上的一个或多个指令或者代码被存储或者发送。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括任何促进计算机程序从一个地方向另一个地方的传输的介质。存储介质可以是任何可以被计算机访问的可用介质。作为示例而非限制,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或者其它光盘存储、磁盘存储或者其它磁性存储设备、或者可以被用于携带或者存储具有指令或者数据结构的形式的期望的程序代码并且可以被计算机访问的任何其它介质。此外,任何连接被恰当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其它远程源发送软件,则同轴线缆、光纤线缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术被包括在介质的定义中。如本文中使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光盘,其中,磁盘通常磁性地复制数据,而光盘利用激光在光学上复制数据。从而,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。另外,在一些方面中,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。以上各项的组合也应当被包括在计算机可读介质的范围内。本文中公开的方法包括用于达成所描述的方法的一个或多个步骤或者动作。方法步骤和/或动作可以彼此互换,而不脱离权利要求书的范围。换句话说,除非指定了步骤或者动作的具体的次序,否则可以修改特定的步骤和/或动作的次序和/或使用,而不脱离权利要求书的范围。所描述的功能可以用硬件、软件、固件或者其任意组合来实现。如果用软件来实现,则功能可以作为计算机可读介质上的一个或多个指令被存储。存储介质可以是任何可以被计算机访问的可用介质。作为示例而非限制,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或者其它光盘存储、磁盘存储或者其它磁性存储设备或者可以被用于携带或者存储具有指令或者数据结构形式的期望的程序代码并且可以被计算机访问的任何其它介质。如本文中使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能光盘(dvd)、软盘和盘,其中,磁盘通常磁性地复制数据,而光盘利用激光在光学上复制数据。因此,特定的方面可以包括用于执行本文中呈现的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有存储(和/或编码)在其上的指令的计算机可读介质,指令是可以被一个或多个处理器执行以执行本文中描述的操作的。对于特定的方面,计算机程序产品可以包括封装材料。软件或者指令也可以通过传输介质被发送。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其它远程源发送软件,则同轴线缆、光纤线缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术被包括在传输介质的定义中。进一步地,应当认识到,用于执行本文中描述的方法和技术的模块和/或其它的合适单元可以适当地被用户终端和/或基站下载和/或获得。例如,这样的设备可以被耦合到服务器以促进用于执行本文中描述的方法的单元的传输。替代地,本文中描述的各种方法可以经由存储单元(例如,ram、rom、诸如压缩盘(cd)或者软盘之类的物理存储介质等)来提供,以使得用户终端和/或基站可以在向设备耦合或者提供存储单元时获得各种方法。此外,可以使用任何其它的用于向设备提供本文中描述的方法和技术的合适技术。应当理解,权利要求书不限于上面说明的精确的配置和部件。可以在上面描述的方法和装置的布置、操作和细节上作出各种修改、改变和变型,而不脱离权利要求书的范围。尽管前述内容涉及本公开内容的各方面,但本公开内容的其它的和进一步的方面可以被设想,而不脱离其基本范围,并且其范围是由随后的权利要求书确定的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1