Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1997-05-08
2001-06-26
Dinh, Dung C. (Department: 2153)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S231000, C709S250000
Reexamination Certificate
active
06253255
ABSTRACT:
BACKGROUND OF THE INVENTION
1. The Field of the Invention
The present invention relates to systems and methods for transferring data between a transport layer and a link layer in a computer system. More specifically, the present invention relates to systems and methods for transmitting bulk data partitioned into a plurality of packets between a transport layer and a link layer using a singular command therebetween.
2. The Relevant Technology
Today, computers are becoming a main staple for information exchange in the modern society. Computers, namely personal computers (PC), provide the source and termination points for a majority of information exchange. A user at a PC may input information and quickly transmit such information to another user at a destination computer in a fraction of a second. The logistics of such transfers originated from simple origins such as directly coupled or connected computers. However, today, computers are not directly coupled in a one-to-one corresponding configuration, but frequently exist in a network environment wherein multiple computers are interconnected one with another.
In computer networks wherein interconnections are not dedicated and isolated, information or data targeted for one computer must be addressed for receipt by a designated computer. Furthermore, information traveling from a source computer to a destination computer, in most networks, travels over a shared network link. To facilitate the transfer and management of significant amounts of data across communication or computer networks, the partitioning of data into useable packets has become necessary to facilitate multiusers on a shared network resource.
In addition to partitioning data into smaller components or packets, network transfer software facilitating the exchange of data between computers has also been partitioned into identifiable components. Standardized components or structures conforming to the OSI protocol model have been promulgated for many years. Although many systems do not incorporate each and every level of the OSI standardized model, the majority of network systems incorporate fundamental components of the OSI model. For example, the transport layer of the OSI model facilitates the aforementioned partitioning or packetizing of bulk data into useable, convenient packet formats for dispatching throughout the computer network. Some transport layers have become preeminently dominant in the computer networking arena. For example, TCP/IP, although taking on minor and major variations, has become a standard transport protocol for use in implementing the transport layer of the OSI model for computer networking. Additionally, IPX and NetBEUI have also become standard transport protocols in computer networks. Such transport protocols are implemented in an OS or network protocol stack by programming a transport protocol driver capable of receiving bulk data and transforming such bulk data into packetized and formatted data capable of efficient propagation through a computer network.
FIG. 1
represents a prior art configuration of a network protocol stack or configuration
100
capable of transporting bulk data
102
between a computer and network
164
. As described above, transport layer or driver
104
receives bulk data
102
and partitions bulk data
102
into packets properly sized and formatted for propagation in network
164
. In
FIG. 1
, transport driver
104
partitions bulk data
102
into packets
106
,
108
and
110
and applies formats accordingly. Generally, rather than directly transporting or forwarding data through subsequent layers or levels, pointers to the data packets are generated. Pointer
112
,
114
and
116
, provide accessibility to the packetized data and are individually passed to other layers as opposed to replicating or copying entire data packets upon issuance of a transfer command.
As described above, a transport driver interfaces with other software components supporting the functionality of other OSI layers. To facilitate the compatibility of various layers, an interface
120
defines a neutral specification for the development of operative layers or drivers. Transport driver
104
incorporates an interface
118
compliant with interface
120
through which packetized information may be exchanged.
A link layer device driver
124
provides link layer functionality which generally comprises preparing and presenting data in a particular form and location in preparation for transmission and reception by hardware such as physical device
130
interfaced to network
164
. Similar to transport driver
104
, link layer device driver
124
provides a compatible interface
128
for compliant communication therebetween.
Communication flow of bulk data
102
to network
164
will now be discussed. Transport layer
104
receives bulk data
102
from yet a higher layer in the OSI module, typically an application layer. As discussed above, transmission of bulk data
102
in raw format across network
164
is prohibitive due to several factors such as (i) interference noise present in network
164
which destroys or degrades a portion of bulk data
102
, thus requiring a retransmission of the entire bulk data, (ii) the shared nature of network
164
with other computers requiring time-multiplexing, and (iii) other practicalities of successful transmission of a substantial amount of data in a single transmit session. In a modern system, bulk data
102
is partitioned into, among others, data packet
106
having a pointer
112
. Transport driver
104
dispatches a send packet request
122
comprised of pointer
112
transmitted via interface
120
through send packet request
126
to link layer device driver
124
. Link layer device driver
124
then issues a request
132
to physical device
130
thereby notifying physical device
130
of the presence of data packet
106
for dispatch through network
164
.
Traditional network protocol stacks typically employ dedicated buffers within system resources such as RAM that are accessible both to a computer microprocessor and physical device
130
. In such configurations, link layer device driver
124
upon receiving pointer
112
may copy data packet
106
into the predefined buffer known and accessible to physical device
130
.
Physical device
130
, upon receipt of request
132
, performs an autonomous transfer of data packet
106
into network
164
. Physical device
130
generally is comprised of embedded control facilitating the extraction of data packets from common memory resources. Physical device
130
in a response
134
notifies link layer device driver
124
of the completion of the transfer of data packet
106
to network
164
. Response
134
, although depicted as a direct communication with link layer device driver
124
is commonly carried out with physical device
130
initiating an interrupt through the microprocessor of the computer system followed by the servicing of an interrupt service routine directed to link layer device driver
124
. Link layer device driver
124
issues a send packet response
136
to interface
120
which in turn reissues or simply forwards send packet response
138
to transport driver
104
. The transformation of send packet response
136
to send packet response
138
depends upon the level of functionality of interface
120
.
Upon receipt of send packet response
138
, transport driver
104
then initiates the transfer of packet
108
and packet
110
in sequential order by employing the processes utilized by packet
106
such as initiation of send packet requests
140
and
152
, and receipt of send packet response
150
and
162
. It should be noted that packets individually traverse the network protocol stack before the initiation of a subsequent traversal by a subsequent data packet. Furthermore, the successful transfer of a data packet by physical device
130
to network
164
results in a specific acknowledgement or response for each packet transferred. As discussed earlier, such responses typically take the form of an interrupt to the microprocesso
Brandon Kyle
Hyder Jameel
Dinh Dung C.
Microsoft Corporation
Workman & Nydegger & Seeley
LandOfFree
System and method for batching data between transport and... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for batching data between transport and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for batching data between transport and... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2440275