CN1115634C - 用于将协议应用数据帧操作请求与数据帧输入/输出设备连接的装置和方法 - Google Patents

用于将协议应用数据帧操作请求与数据帧输入/输出设备连接的装置和方法 Download PDF

Info

Publication number
CN1115634C
CN1115634C CN98809066A CN98809066A CN1115634C CN 1115634 C CN1115634 C CN 1115634C CN 98809066 A CN98809066 A CN 98809066A CN 98809066 A CN98809066 A CN 98809066A CN 1115634 C CN1115634 C CN 1115634C
Authority
CN
China
Prior art keywords
frame
data frame
protocol application
buffer structure
recognition data
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.)
Expired - Fee Related
Application number
CN98809066A
Other languages
English (en)
Other versions
CN1270677A (zh
Inventor
史蒂文R·库克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN1270677A publication Critical patent/CN1270677A/zh
Application granted granted Critical
Publication of CN1115634C publication Critical patent/CN1115634C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9026Single buffer per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

用于把协议应用数据帧操作请求与根据一缓冲结构方案的具有包含数据帧的缓冲结构(14)的数据帧输入/输出设备(10)连接,同时保持缓冲结构(14)与协议应用(30,32)之间隔离的方法和装置,包括:利用一接口,从一协议应用(30,32)接收用于有关缓冲结构(14)内的一个识别的数据帧的一部分的操作的数据帧操作请求;利用该接口,把请求链接到一个适当的数据帧操作例程,该数据帧操作例程协同协议应用(30,32)执行有关识别的数据帧部分的请求,而不需要协议应用(30,32)具有缓冲结构方案的知识。

Description

用于将协议应用数据帧操作请求与数据帧 输入/输出设备连接的装置和方法
本发明涉及将协议应用数据帧操作请求与具有包含数据帧的缓冲结构的数据帧输入/输出设备连接的装置和方法,更具体地讲,涉及避免了协议应用的帧复制,但仍然能使帧I/O设备的缓冲结构与协议应用隔离的装置和方法。
在通信网络中,可以在数据帧中传送数据、话音和视频。数据帧是由可变数量的有序八位字节组成的。在物理通信介质上的帧的边界是由一些协议界定的,例如,HDLC。出于讨论的目的,在这里“数据帧”是指逻辑层,即,在已经从包封中抽取了帧的内容后。在网络中或是在网络的边缘,从诸如路由器和帧中继交换机之类的各种网络设备通过这些设备的帧I/O输入和输出数据帧。熟悉本领域的人员都知道,这些设备包括诸如HDLC、X.25、帧中继、以太网等之类的协议应用,这些协议应用执行有关数据帧的各种操作,例如,读取和写入,以便根据特定的协议操纵数据帧。
当网络设备接收到数据帧时,帧I/O除去包封并把数据帧的内容缓存在数据帧I/O缓冲结构中。在数据帧存储在缓冲结构中的同时,协议应用执行有关数据帧的各种功能。所存储数据帧的最简单的一种代表是存储在邻接存储器中的一个八位字节的数组。利用这种代表,存储器的大小必须足够大,以便保存正在服务的协议应用能够支持的最大法定帧。不幸的是,这种代表不是数据帧的典型代表。数据帧的典型代表包括一种由一个缓冲器有序集构成的缓冲结构,其中每个缓冲器包含一个八位字节的数组,但是缓冲器的大小小于最大法定长度的帧。
使用第二种代表的主要理由是因为一般要把帧在存储器中保存一段时间,而不是立即处理掉,并且因为最大法定长度帧与平均法定长度帧之间通常存在实质上的差别。因此,可以节省大量的存储空间。如果不使用具有多个缓冲器的缓冲结构,那么在任何时候要接收一个数据帧,都必须给帧I/O中的帧接收硬件提供足以接收最大法定帧的存储空间。
协议应用执行各种有关数据帧的操作,例如,读取和写入,以便根据特定协议操纵数据帧(特别是数据帧的标题)。为了在操纵数据帧时避免妨碍设备性能的协议应用复制数据帧,一般是使协议应用共享帧I/O的缓冲结构的细部设计。这使协议应用无需复制数据帧的内容就能够检查或修改数据帧中的数据。但是,这种方法并不理想,因为实现协议应用的代码必须与一特定缓冲结构方案的细部设计相牵连。缓冲方案是相当复杂的,因此,极少看到具有兼容方案的不同缓冲器件。结果,除了专门设计的协议应用操作的器件和方案之外,协议应用一般不与具有不同缓冲方案的缓冲器件兼容,因而也不能直接用于具有不同缓冲器件的设备。
因此需要有一种能够避免协议应用复制帧而仍然能够使帧I/O的缓冲结构与协议应用隔离的帧I/O接口。这将能够在带有具有不同缓冲结构方案的数据帧I/O的协议应用的使用中取得更大的灵活性,同时保持了设备操作性能。
图1是根据本发明构造的网络设备中的数据帧I/O设备的高层代表;
图2是由协议应用提供到根据本发明的数据帧I/O设备的读取帧请求的代表;
图3是根据本发明的协议应用使用的存储器的一部分的代表;
图4是说明响应图2中所示类型的读取帧请求根据本发明的数据帧I/O的操作的流程图;
图5是协议应用提供到根据本发明的数据帧I/O的写入帧请求的代表;
图6是说明响应图5中所示类型的写入帧请求根据本发明的数据帧I/O的操作的流程图;
图7是由协议应用提供到根据本发明的数据帧I/O的读取数据帧前导部分的另一种类型的读取帧请求和一个代替数据请求的代表;
图8是说明响应图7中所示类型的读取帧请求根据本发明的数据帧I/O的操作的流程图;和
图9是说明响应图7中所示类型的代替前导请求根据本发明的数据帧I/O的操作的流程图。
图1中示出了位于,例如,网络设备12中的一种典型数据帧I/O设备10的高层代表。网络设备12可以是诸如路由器或帧中继交换机之类的多种类型的网络设备中的任何一种,网络设备12接收数据帧,并且一般在协议应用对它们进行各种操作之后输出它们。数据帧I/O设备10包括一个具有一存储缓冲器有序集的缓冲结构14,其中仅示出了一个代表组,即仅示出了存储缓冲器16-24。网络设备12接收的数据帧输入到数据帧I/O设备10,并缓存在缓冲结构14中。缓冲结构14内的每个缓冲器能够容纳一个八位字节的数组,但是缓冲器的大小小于最大法定帧长度。因此,缓存在缓冲结构14中的数据帧可能分散在根据缓冲结构的缓冲方案链接的多个单独缓冲器中。例如,一个标记为数据帧“1”的数据帧的一部分在缓冲器16内某一存储单元开始并占据缓冲器16的剩余存储空间。数据帧“1”的另一部分占据缓冲器23中的全部存储空间,而数据帧“1”的剩余部分占据了缓冲器18的全部或部分存储空间。这种缓冲方案只是示例性的,并且不同的缓冲器件将具有不同的方案。
如本领域中众所周知的,像数据帧I/O设备10这样的数据帧I/O设备必须保持有关存储在它的缓冲结构内的数据帧的存储单元和状态的信息。这是利用包含有关存储在缓冲结构14内的数据帧的信息的帧数据结构26完成的,数据帧信息包括:例如,帧号(ID),数据帧的第一缓冲器的位置,帧的长度和帧的所有权(即,当前哪一个协议应用具有对该帧的控制),等等。在数据帧I/O软件28的控制下,当数据帧I/O设备10接收到每一帧时,从一个“自由表”分配给该帧一个帧ID,存储在对应于所分配帧ID的帧存储单元中,并更新数据结构中的帧ID信息。缓冲结构14内的每个独立的缓冲器也包含有关数据帧的信息,例如数据帧中下一个链接的缓冲器、当前缓冲器长度以及当前缓冲器内数据的开始。
根据本发明,在数据帧I/O设备10接收到每个数据帧时,数据帧I/O软件28通过向第一协议应用提供帧ID来通知第一协议应用。当第一协议应用,以及后继协议应用,完成帧操作时,把帧ID传送到下一个协议应用。如果通过网络设备12的一个外部硬件端口(未示出)发送帧,数据帧I/O设备10放弃对该数据帧的控制并且去除对该帧的分配,因而使该帧和它在缓冲结构14内的存储单元可用(即,把该帧置于自由表中)。一些接收的帧不通过网络设备12的外部硬件端口发送,这是一些用于控制目的的帧。在协议应用完成对这些帧的操作后,仍然需要去除对它们的分配。因此,最后的协议应用负责这些类型帧的去分配。
协议应用130...协议应用n32之类的协议应用对位于数据帧I/O设备10的缓冲结构14内的数据帧的各个部分执行协议专用操作。根据现有技术方法,为了避免通过协议应用复制数据帧来执行协议操作,协议应用共享缓冲方案的细部设计。这使得协议应用无需复制有关数据帧部分就能够检查或修改存储在缓冲结构中的数据帧中的数据。但是,这需要实现协议应用的代码与一特定缓冲结构的缓冲方案的细部设计相牵连。如上所述,缓冲方案是相当复杂的,因此几乎见不到具有兼容缓冲方案的不同缓冲器件。
但是,根据本发明,缓冲结构的细部设计不必与协议应用共享。而是在协议应用提出请求时由数据帧I/O设备10执行协议操作。每个协议应用把它们的数据帧操作请求提供到API34(应用程序接口),API34接着又借助一个转移表把请求链接到数据帧I/O设备10的数据帧I/O软件28中的适当请求例程。如下面将要说明的,数据帧I/O软件28接着指令协议应用到哪里找到需要的数据帧部分。这消除了现有技术的协议应用与缓冲结构方案牵连的要求。数据帧I/O软件28还使协议应用只需极少或不需把数据帧从缓冲结构14复制到协议应用130...协议应用n32就能够执行它们的有关数据帧的操作,这也将在下面说明。因此,本发明通过减少或甚至取消协议应用的数据帧复制改善了设备的操作性能,同时消除了协议应用与缓冲方案的牵连,因而使协议应用可以容易地移植到各种缓冲方案。
ReadFrame(读取帧)
当协议应用向API34提供ReadFrame请求时,协议应用可以请求基本ReadFrame操作。请求40可以构造成图2中所示的结构。请求40包括一个指示协议应用希望读取的特定帧的帧标识符,“frameId”,42。为“1”的frameId表示协议应用希望从图1中的缓冲结构14中的标记为“1”的数据帧中读取数据。“offset”44指示选定帧中应用打算开始读取处的字节数。例如,为“5”的offset表示应用希望在字节“5”开始读取数据帧“1”。“readCount”46规定从offset开始需要读取多少数据帧的字节。为“20”的计数值表示应用希望从字节“5”开始读取数据帧“1”的20个字节,即字节5-24。变量“readData”48是下面将参考图3说明的协议应用指针的地址。
为了完成最基本的协议操作,ReadFrame,如果必要的话,构造各种协议应用,即,协议应用130...协议应用n32,以存储需要由特定应用读取的数据帧部分的复制数据。每一应用可以把希望的数据帧部分从缓冲结构14复制到协议应用存储单元50,即图3中的Temp_read_string,一般在应用的堆栈上作为一个动态变量。Temp_read_string堆栈单元50可以存储,例如,二十(20)字节的数据。当应用希望利用数据帧的读取部分时,应用查看堆栈单元50的包含一般为四(4)字节长的地址的指针52,以读取数据帧的复制部分。
如上面指出的,复制会破坏操作性能。因此,本发明提供了无需协议应用复制其希望读取的数据帧部分而执行ReadFrame操作的能力。当协议应用向API34提供了ReadFrame请求,例如,图2中的请求40时,由数据帧I/O设备10中数据帧I/O软件28执行的并且在图4的流程60中说明的ReadFrame操作在步骤62开始。API34利用转移表把请求链接到数据帧I/O软件28中的ReadFrame例程,在那里像下面将要说明的那样执行ReadFrame请求。在步骤64,从帧数据结构26和包含要读取的数据帧的链接缓冲器确定所有请求的数据,即,要读取的数据帧部分,是否是在一个单一缓冲器内邻接的。如果是这样,那么在步骤66,用图1中的缓冲结构14中的地址(要从请求的数据帧读取的数据部分的开头地址)改写图3中的协议应用指针52。协议应用被设计为查看包含在指针中的地址,以读取请求的数据帧部分。协议应用初始化指针以包含图3中的Temp_read_string堆栈单元50的地址。但是,在步骤66,这个地址被用适当的缓冲结构地址改写,使得应用可以读取请求的数据帧部分,而不必把数据复制到堆栈单元50并且无需具有缓冲结构的知识。如果在步骤64确定应用请求的数据帧部分不存储在一个单独的缓冲器中,那么在步骤68把请求的数据复制到Temp_read_string堆栈单元50。当应用查看包含在指针52中的地址时,它将被引向存储有请求数据的复制数据的堆栈单元50。在步骤70,控制返回到协议应用,使得可以读取数据。
WriteFrame(写入帧)
另一种基本协议操作是WriteFrame操作。图5中的典型写入帧请求80包括一个表示应用希望写入的特定帧的帧标识符,“frameId”,82。“offset”84表示应用在选定帧中将要开始写入处的字节数。变量“writeCount”86指示将要写入多少字节。“writeData”88是应用希望写入的数据的地址。
图6中的流程90说明了由数据帧I/O软件28执行的WriteFrame操作。当协议应用向API34提供一个如图5中所示的请求80这样的WriteFrame请求时,操作在步骤92开始。在开始步骤92,API34接收来自协议应用的图5中所示的请求80,并将请求链接到数据帧I/O软件28中的WriteFrame例程,在其中如下面说明的那样执行WriteFrame请求。在步骤94,数据帧I/O设备10把数据从协议应用的writeData88单元在缓冲结构14中的逻辑地址开始复制到图1的缓冲结构14中请求中规定的数据帧。缓冲结构14中的逻辑地址是数据帧I/O软件28从请求信息、帧数据结构26和链接的缓冲器确定的。如果链接的缓冲器中没有足够的存储空间容纳写入的数据(即,超过了缓冲器容量),数据帧I/O设备10将把一个或更多的缓冲器加到数据帧中。由于协议应用一般正在操纵标题信息,如果需要增加一个缓冲器,通常是加在帧的前面。在步骤96,控制返回到协议应用。Readleading/ReplceLeading(读取前导/代替前导)
协议应用也可以请求另一种类型的无需应用复制要读取的数据帧部分的读取帧操作。这种读取帧操作,ReadLeading,是与称为ReplaceLeading的另一操作协同执行的。这两个操作一同用于读取和替代数据帧中的标题信息。
ReadLeading请求100的构造可以如图7中所示。请求100包括一个指示应用希望读取的特定帧的帧标识符,“frameId”,102。对于ReadLeading请求没有offset变量,因为它总是等于零。这是由于ReadLeading请求涉及位于数据帧前面的标题信息的读取。变量“readCount”104规定需要读取多少数据帧。变量“readDataPointer”106指示图3中的协议应用指针52的地址。“prefixCount”108指示要增加到数据帧前面成为新的标题信息部分的字节数。
图7中的ReplaceLeading请求110包括一个指示应用希望替代标题信息的特定数据帧的帧标识符“frameId”112。frameId与对应的ReadLeading请求的frameId相同。“oldCount”114指示要替代的标题的长度,“newCount”116指示要加到数据帧来替代被替换的标题的标题的长度。变量“writeData”118指示将替代旧标题的数据的地址。
图8的流程图120说明了数据帧I/O设备10中的数据帧I/O软件28执行的ReadLeading操作。当协议应用将如图7中所示的请求100和110这样的read/replace请求提供给API34时,在步骤122操作开始。API34调用数据帧I/O软件28的ReadLeading例程,其使用请求中的信息确定缓冲结构14中的要读取的数据帧部分的位置。在步骤124,确定是否所有请求的数据,即要读取的数据帧部分,是否是在一单独缓冲器内邻接的,和在数据帧前面是否有足够的可用存储空间(即,等于prefixCount)容纳新标题信息。如果是这样,在步骤126,将图3中的协议应用指针52设定到图1的缓冲结构14中请求数据帧前面的地址。协议应用被设计为查看包含在指针52中的地址。协议应用初始化指针,以包含图3中的Temp_read_string,堆栈单元50的地址。但是,在步骤126,这个地址被适当的缓冲结构地址改写,使得应用可以读取数据帧部分而不必把数据复制到堆栈单元50。如果在步骤124确定应用请求的数据帧部分不存储在一个单独的缓冲器中或是在数据帧前面没有足够的存储空间,那么在步骤128,把请求的数据复制到Temp_read_string,堆栈单元50,如果需要的话,在起始处留下足够容纳新标题长度的空间。当应用查看包含在指针52中的地址时,它将被引导到请求数据的复制数据所处的堆栈单元50。协议应用把新标题数据直接写入缓冲结构14,或写入Temp_read_string,堆栈单元50。在步骤130,调用ReplaceLeading例程。
协议应用需要执行的最普通的操作类型是ReadLeading/ReplaceLeading组合操作,因为协议应用一般最多地牵涉到读取和修改数据帧的标题信息。如前面提到过的,为了避免在ReadLeading操作中复制标题信息,要读取的所有数据必须是在一个缓冲器内邻接的,并且缓冲器中数据帧前面必须有足够的存储空间(即,等于prefixCount)。为了保证数据帧前面有足够空间,当数据帧最初存储在缓冲器中时,它们在第一缓冲器中的偏移量至少要有像标题的最大可能延长长度一样大的字节数。也就是说,当把数据帧存储在缓冲结构14中时,包含数据帧的第一缓冲器在数据帧的第一字节前具有足够容纳最大预期prefixCount的可用存储空间。
图9中的流程图140说明了ReplaceLeading操作,当ReadLeading操作完成时,在步骤142开始ReplaceLeading操作。在步骤144,确定指针52中的地址是否是在数据帧I/O设备10中的缓冲结构14内,这表示ReadLeading操作中没有需要复制。如果是这样的话,在步骤146,调节帧数据结构内的帧字节计数和受影响的链接缓冲器内的缓存字节计数。如果指针不在数据帧I/O设备10的缓冲结构14内,这表示ReadLeading操作需要复制。在步骤148,清除缓冲结构14中要替代的数据,调节帧数据结构26内的帧字节计数和受影响的链接缓冲器内的缓存字节计数,并把写入Temp_read_string,堆栈单元50中的新标题数据复制到缓冲结构14中。在执行了步骤146或148之后,控制在步骤150返回协议应用。
可以用其它特定形式实现本发明,而不脱离本发明的精神或基本特征。应当把说明的实施例在所有方面考虑为说明性的而不是限制性的。因此,本发明的范围是由附属权利要求指出的,而不是上述说明书。凡是落入权利要求等价物内的意义和范围中的所有改变都将包括在权利要求的范围内。

Claims (20)

1.一种把协议应用数据帧操作请求与根据一缓冲结构方案的具有包含数据帧的缓冲结构的数据帧输入/输出设备连接,同时保持了缓冲结构和协议应用之间的隔离的方法,该方法包括:
利用一个接口,从协议应用接收有关缓冲结构内一识别的数据帧部分的操作的数据帧操作请求;
利用该接口,把请求链接到数据帧输入/输出设备中的一个适当数据帧操作例程;和
数据帧操作例程与协议应用协同执行有关识别的数据帧部分的请求,而无需把缓冲结构方案通报给协议应用。
2.根据权利要求1所述的方法,其中执行步骤包括:
确定识别的数据帧部分是否存储在缓冲结构的一个单独的缓冲器中;和
如果识别的数据帧部分存储在缓冲结构的一个单独缓冲器中,向协议应用提供缓冲结构中识别的数据帧部分的地址,以使协议应用能够执行有关缓冲结构中数据帧的数据帧操作。
3.根据权利要求2所述的方法,其中数据帧操作请求是一个用于读取识别的数据帧一部分的读取帧请求。
4.根据权利要求3所述的方法,其中如果识别的数据帧部分没有存储在缓冲结构的一个单独的缓冲器中,该方法进一步包括把识别的数据帧部分复制到一协议应用存储单元,以便使协议应用能够执行有关存储单元中数据帧的数据帧操作。
5.根据权利要求2所述的方法,其中数据帧操作请求是一个用于读取识别的数据帧的前导部分和用新标题数据替代数据帧前导部分的读取前导帧请求。
6.根据权利要求5所述的方法,其中确定识别的数据帧部分是否存储在缓冲结构的一个单独缓冲器中的步骤包括确定该缓冲器中是否有足够的存储空间容纳新标题数据。
7.根据权利要求6所述的方法,其中提供步骤只有在识别的数据帧部分存储在缓冲结构的一个单独缓冲器中并且该缓冲器中有容纳新标题数据的足够存储空间时才执行。
8.根据权利要求6所述的方法,其中如果识别的数据帧部分没有存储在缓冲结构的一个单独缓冲器中或该缓冲器中没有容纳新标题数据的足够存储空间,该方法进一步包括把识别的数据帧部分复制到一协议应用存储单元以使协议应用能够执行有关该存储单元中数据帧的数据帧操作。
9.根据权利要求8所述的方法,进一步包括执行一个调节数据帧以处理协议应用写入的新标题数据的替代前导操作,包括:
确定是否给协议应用提供了缓冲结构中识别的数据帧部分的地址;
如果给协议应用提供了该地址,那么调节数据帧和受影响的缓冲器大小以处理协议应用写入的标题数据;和
如果识别的数据帧部分被复制到协议应用存储单元中,从缓冲结构中的数据帧中清除识别的数据帧部分;调节数据帧和受影响的缓冲器大小;和把协议应用写入的新标题数据从协议应用存储单元复制到缓冲结构中的识别的数据帧部分。
10.根据权利要求1所述的方法,其中数据帧操作请求是一个写入帧请求并且写入操作请求包含要写入的数据的地址、在识别的数据帧内的位置和要写入的数据量;并且其中执行步骤包括把要写入的数据在包含在请求中的识别的数据帧中的位置上复制到识别的数据帧
中。
11.一种用于把协议应用数据帧操作请求与根据一种缓冲结构方案的具有包含数据帧的缓冲结构的数据帧输入/输出设备连接,同时保持了缓冲结构和协议应用之间的隔离的装置,包括:
一接口,适用于从协议应用接收有关缓冲结构内一识别的数据帧部分的操作的数据帧操作请求;
该接口进一步适用于把该请求链接到数据帧输入/输出设备中的一个适当数据帧操作例程;和
其中该数据帧操作例程包括执行装置,与协议应用协同执行有关识别的数据帧部分的请求,而无需把缓冲结构方案通报给协议应用。
12.根据权利要求11所述的装置,其中执行装置包括:
确定装置,用于确定识别的数据帧部分是否存储在缓冲结构的一个单独缓冲器中;和
提供装置,用于如果识别的数据帧部分存储在缓冲结构的一个单独缓冲器中时向协议应用提供缓冲结构中识别的数据帧部分的地址,以使协议应用能够执行有关缓冲结构中数据帧的数据帧操作。
13.根据权利要求12所述的装置,其中数据帧操作请求是一个用于读取识别的数据帧一部分的读取帧请求。
14.根据权利要求13所述的装置,其中执行装置包括复制装置,用于如果识别的数据帧部分没有存储在缓冲结构的一个单独缓冲器中时把识别的数据帧部分复制到一协议应用存储单元中,以使协议应用能够执行有关该存储单元中数据帧的数据帧操作。
15.根据权利要求12所述的装置,其中数据帧操作请求是一个用于读取识别的数据帧的前导部分和用新标题数据替代数据帧的前导部分的读取前导帧请求。
16.根据权利要求15所述的装置,其中确定识别的数据帧部分是否存储在缓冲结构的一个单独的缓冲器中的装置包括用于确定该缓冲器中是否有容纳新标题数据的足够存储空间的装置。
17.根据权利要求16所述的装置,其中只有在识别的数据帧部分存储在缓冲结构的一个单独缓冲器中并且该缓冲器中有容纳新标题数据的足够存储空间时才把缓冲结构中的识别的数据帧部分的地址提供给协议应用。
18.根据权利要求16所述的装置,其中进一步包括复制装置,用于如果识别的数据帧部分没有存储在缓冲结构的一个单独缓冲器中或该缓冲器中没有容纳新标题数据的足够存储空间时把识别的数据帧部分复制到一个协议应用存储单元,以使协议应用能够执行有关该存储单元中数据帧的数据帧操作。
19.根据权利要求18所述的装置,其中执行装置进一步包括用于执行调节数据帧以处理协议应用写入的新标题数据的替代前导操作的装置,包括:
用于确定是否给协议应用提供了缓冲结构中的识别的数据帧部分的地址的装置;
用于如果给协议应用提供了地址那么调节数据帧和受影响的缓冲器大小以处理协议应用写入的标题数据的装置;和
用于从缓冲结构中的数据帧清除识别的数据帧部分的装置;用于调节数据帧和受影响的缓冲器大小的装置;和用于如果识别的数据帧部分被复制到协议应用存储单元时把协议应用写入的新标题数据从协议应用存储单元复制到缓冲结构中的识别的数据帧部分的装置。
20.根据权利要求11所述的装置,其中数据帧操作请求是一个写入帧请求并且写入操作请求包含要写入的数据的地址、在识别的数据帧内的位置和要写入的数据量;和其中执行装置包括用于把要写入的数据在包含在请求中的识别的数据帧中的位置上复制到识别的数据帧的装置。
CN98809066A 1997-09-12 1998-07-31 用于将协议应用数据帧操作请求与数据帧输入/输出设备连接的装置和方法 Expired - Fee Related CN1115634C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/938,947 US6016511A (en) 1997-09-12 1997-09-12 Apparatus and method for interfacing protocol application data frame operation requests with a data frame input/output device
US08/938,947 1997-09-12

Publications (2)

Publication Number Publication Date
CN1270677A CN1270677A (zh) 2000-10-18
CN1115634C true CN1115634C (zh) 2003-07-23

Family

ID=25472268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98809066A Expired - Fee Related CN1115634C (zh) 1997-09-12 1998-07-31 用于将协议应用数据帧操作请求与数据帧输入/输出设备连接的装置和方法

Country Status (7)

Country Link
US (1) US6016511A (zh)
EP (1) EP1032885B1 (zh)
CN (1) CN1115634C (zh)
AU (1) AU8766698A (zh)
CA (1) CA2303024C (zh)
TW (1) TW425511B (zh)
WO (1) WO1999014681A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA02009502A (es) * 2000-03-30 2003-05-15 Qualcomm Inc Metodo y aparato para aplicarse a una estacion movil para identificar eventos especificos.
MXPA02009507A (es) * 2000-03-30 2003-05-14 Qualcomm Inc Metodo y aparato para una aplicacion de estacion movil para identificar mensajes de estado especificado.
US6804731B1 (en) * 2000-08-11 2004-10-12 Paion Company, Limited System, method and article of manufacture for storing an incoming datagram in switch matrix in a switch fabric chipset system
US20020078246A1 (en) * 2000-12-19 2002-06-20 Ing-Simmons Nicholas K. Method and system for network protocol processing
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
EP1739890A3 (en) * 2005-06-28 2007-07-18 Tttech Computertechnik AG Processing of data frames exchanged over a communication controller in a time-triggered system
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US10761734B2 (en) * 2017-08-30 2020-09-01 General Electric Company Systems and methods for data frame representation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947028A (en) * 1988-07-19 1990-08-07 Arbor International, Inc. Automated order and payment system
US5237662A (en) * 1991-06-27 1993-08-17 Digital Equipment Corporation System and method with a procedure oriented input/output mechanism

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5797041A (en) * 1992-06-30 1998-08-18 Hitachi, Ltd. Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5515508A (en) * 1993-12-17 1996-05-07 Taligent, Inc. Client server system and method of operation including a dynamically configurable protocol stack
US5729681A (en) * 1995-10-10 1998-03-17 Intel Corporation Method of communicating data from a host to a network controller
US5765032A (en) * 1996-01-11 1998-06-09 Cisco Technology, Inc. Per channel frame queuing and servicing in the egress direction of a communications network
US5894557A (en) * 1996-03-29 1999-04-13 International Business Machines Corporation Flexible point-to-point protocol framework

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947028A (en) * 1988-07-19 1990-08-07 Arbor International, Inc. Automated order and payment system
US4947028B1 (zh) * 1988-07-19 1993-06-08 U S Order Inc
US5237662A (en) * 1991-06-27 1993-08-17 Digital Equipment Corporation System and method with a procedure oriented input/output mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"SAVE TIME WITH POWER TCPSSOCKET PROGRAMMNG-IF YOU DARE" VOL 1996-01-01 NICOLAISEN,NANCY,COMPUTER SHOPPER,ZIFF DAVIS *

Also Published As

Publication number Publication date
EP1032885B1 (en) 2015-07-29
WO1999014681A1 (en) 1999-03-25
AU8766698A (en) 1999-04-05
US6016511A (en) 2000-01-18
CA2303024C (en) 2001-12-04
CN1270677A (zh) 2000-10-18
CA2303024A1 (en) 1999-03-25
EP1032885A4 (en) 2005-02-09
TW425511B (en) 2001-03-11
EP1032885A1 (en) 2000-09-06

Similar Documents

Publication Publication Date Title
US6209059B1 (en) Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6490649B2 (en) Memory device
JP5315348B2 (ja) シン・プロビジョニングの移行および取り消しのための方法および装置
US5864713A (en) Method for determining if data should be written at the beginning of a buffer depending on space available after unread data in the buffer
US6546457B1 (en) Method and apparatus for reconfiguring striped logical devices in a disk array storage
US20020019923A1 (en) Distributed fine-grained enhancements for distributed table driven I/O mapping
WO2003014933A1 (en) Data backup method and system using snapshot and virtual tape
CN1115634C (zh) 用于将协议应用数据帧操作请求与数据帧输入/输出设备连接的装置和方法
WO1996008772B1 (en) Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching
US7467235B2 (en) Data transfer method and system
EP0897579B1 (en) Memory device
US6571362B1 (en) Method and system of reformatting data blocks for storage as larger size data blocks
US7287125B2 (en) Disk array device, method for controlling the disk array device and storage system
US20030191734A1 (en) Method and program product for managing data access routes in a data storage system providing multiple access routes
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
GB2271653A (en) Multi-level cache system
US20030236819A1 (en) Queue-based data retrieval and transmission
CN1131480C (zh) 缓冲器管理装置及改进缓冲器的使用率及存取性能的方法
US7260612B2 (en) Switching system duplicating file operation command according to quantity of file servers and sending writing and reading commands according to a switching order
JPH0556079A (ja) 受信装置のバツフア管理方法
US20070033305A1 (en) Method or apparatus for transferring data
US7167942B1 (en) Dynamic random access memory controller
JP2773986B2 (ja) 記憶システム制御方式
JPH0812643B2 (ja) ページ退避/復元装置
JPH0235537A (ja) 多重化ボリューム更新制御方式

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
ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILE CO., LTD.

Free format text: FORMER OWNER: MOTOROLA INC.

Effective date: 20110112

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110112

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY, Inc.

Address before: Illinois, USA

Patentee before: Motorola, Inc.

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160706

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC

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

Granted publication date: 20030723

Termination date: 20170731