US20040088262A1 - Enabling an enhanced function of an electronic device - Google Patents
Enabling an enhanced function of an electronic device Download PDFInfo
- Publication number
- US20040088262A1 US20040088262A1 US10/289,977 US28997702A US2004088262A1 US 20040088262 A1 US20040088262 A1 US 20040088262A1 US 28997702 A US28997702 A US 28997702A US 2004088262 A1 US2004088262 A1 US 2004088262A1
- Authority
- US
- United States
- Prior art keywords
- electronic device
- user
- enhanced
- function
- network interface
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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]
-
- 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/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- FIG. 1 is a diagram of a method in accordance with an embodiment of the present invention wherein an enhanced function of an electronic device is enabled if a user of the electronic device agrees to make an additional payment.
Abstract
An electronic device (for example, a NIC card) can perform a base function (for example, “dumb” NIC functionality) and also has specialized hardware for performing an enhanced function (for example, TCP offload functionality). Initially, the electronic device is capable of performing the base function but the enhanced function is disabled. The electronic device is priced to be price competitive with other devices that perform the base function but not the enhanced function. By this pricing, large numbers of the electronic devices are disseminated into the marketplace. Once an electronic device has been disseminated and supplied to a user, the user can make an additional payment to have the enhanced function enabled. In one embodiment, a user who pays for the enhanced functionality accesses a web-based license manager and receives a license key. The license key is usable to write a capabilities code into the electronic device that enables the enhanced function.
Description
- In the electronics industry, there exist what may be considered established markets for particular classes of electronic products. Within such a class, the functionality of products from different manufacturers may be quite similar. Due to the similarity in functionality and due to the numerous manufacturers, there may be strong price competition among the products in such a class. This price competition can drive down profit margins. Commercial success in such a product area therefore may be heavily dependent on driving per unit manufacturing cost down and running an efficient business, and may be less dependent on technical innovation.
- The so-called “dumb” NIC (network interface card) might be considered one such class of electronic device. A NIC, in its most common form, is an expansion card for a host computer. The NIC typically has a card edge connector for coupling to a connector on a motherboard of a host computer. The NIC also has one or more network interface ports for coupling to network cables such that the NIC can be coupled to a network such as an Ethernet LAN (local area network). Adding the NIC card to the host computer allows the host computer to receive communications from the LAN and to transmit communications to the LAN. In a “dumb” NIC, an incoming Ethernet frame is typically received onto the NIC via a network interface port, Media Access Control (MAC) circuitry on the NIC then typically performs Ethernet processing on the frame, and the resulting information is sent from the NIC to the host computer. A stack of the protocol processing layers in the host computer receives the information and performs higher level protocol processing, such as, network layer processing (for example, IP protocol processing) and transport layer processing (for example, TCP protocol processing). The host computer therefore typically performs a significant amount of network and transport layer protocol processing on each incoming frame. In the transmit direction, the stack in the host computer also typically performs significant transport and network layer processing. After the host performs this transport and network layer processing, the host computer sends the resulting information to the MAC circuitry on the NIC for transmission onto the network.
- Such “dumb” NIC cards are available in the consumer market from a large number of manufacturers, and therefore are considered to be one “class” of product in the context of the discussion above. In the environment of such an established product class, it is often difficult to gain rapid market acceptance of a new device having improved performance where the cost of the new device with the enhanced performance is significantly higher than the prevailing cost for the commodity item. This may be true even if the economic benefit to the consumer of using the new device would actually more than compensate for the added cost of purchasing the new device.
- An INIC (Intelligent Network Interface Card) available from Alacritech Inc. of San Jose, Calif. is an example of one such new device. Due in part to providing specialized hardware on the card, the Alacritech INIC achieves significant performance improvements in comparison to standard dumb NIC cards. A standard dumb NIC such as, for example, the PRO/1000 available from Intel achieves a performance/efficiency index of 12.06. The 1000×1 INIC available from Alacritech Inc., in comparison, was tested to have a performance/efficiency index of 195.35. Providing the additional specialized hardware on the Alacritech card, however, involves a significant cost. This additional hardware cost increases per unit manufacturing cost of the card. When this added cost is passed along to the customer in the form of increased product price, customers sometimes elect to purchase the lower performance commodity item with which they have more familiarity. Had such customers tried the more expensive new device, the customers may have decided that the improved performance warranted paying the increased amount for the INIC, but due to unfamiliarity with the new enhanced product, and without the option to try it, the customers elected to stay with the lower priced and more familiar commodity product. The increased cost of providing the additional specialized hardware therefore serves as a sort of barrier to selling the new enhanced product into the market for the commodity item. Further barriers exist, in that the commodity product is frequently integrated into more complex systems, forcing the user to replace the integrated functionality to use the enhanced functionality. For example, in the NIC market, two further levels of integration occur—first where the NIC controller is integrated into the motherboard as a chip level solution, and second where the NIC controller is integrated into the server chipset as an Intellectual Property level solution. Past attempts at solving the problem only address some of the issues. To address volume related silicon costs, chips are sometimes built with enhanced functionality so the enhanced functionality shares a higher volume. In the packaging of the chip at manufacturing time, the enhanced functionality is only activated on a percentage of the chips, through the use of bond out options, where one package has the functionality active, and a second package does not. A solution to this problem of barrier to entry for an enhanced product is desired.
- An electronic device (for example, a NIC card) is capable of performing a base function (for example, “dumb” NIC functionality). The electronic device also has specialized hardware for performing an enhanced function (for example, a TCP offload function). Initially, the electronic device is capable of performing the base function but the enhanced function is disabled. The electronic device is priced to be price competitive with other devices on the market that perform the base function but cannot perform the enhanced function. By this pricing, large numbers of the electronic devices are sold or otherwise disseminated into the marketplace.
- Once an electronic device has been supplied to a user, the user can elect to make an additional payment to have the enhanced function enabled. The amount of the additional payment can be set such that the sum of the additional payments made more than compensates for the cost of having to provide the specialized hardware to other users who do not elect to make the additional payment. In one embodiment, a user who pays for the enhanced functionality accesses a web-based license manager, makes the additional payment, and receives a license key. The user then uses the license key to write a capabilities code into the electronic device. The writing of the capabilities code enables the electronic device to perform the enhanced function.
- The method of receiving additional compensation in return for allowing the enhanced function of an electronic device to be enabled does not require that the electronic device be sold, distributed, or otherwise supplied to an end-user with the enhanced function disabled. The electronic device may, for example, be supplied to a user with the enhanced function enabled for a trial period. The user can arrange to have the enhanced function enabled after the trial period has expired by agreeing to make an additional payment. Additional payment for having the enhanced function enabled can be required of either a manufacturer of the electronic device, a distributor or reseller of the electronic device, or an end-user of the electronic device. Proceeds from the additional payments can be received by a manufacturer of the electronic device, and/or a distributor or reseller of the electronic device, and/or a holder of intellectual property in the electronic device.
- Other embodiments and details are also described below. This summary does not purport to define the invention. The claims, and not this summary, define the invention.
- FIG. 1 is a diagram of a method in accordance with an embodiment of the present invention wherein an enhanced function of an electronic device is enabled if a user of the electronic device agrees to make an additional payment.
- FIG. 2 is a simplified diagram of one particular system capable of carrying out the method of FIG. 1.
- FIG. 3 is a simplified diagram of the various fields of information within
EEPROM 214 of theelectronic device 200 of FIG. 2. - FIG. 4 is a simplified diagram of specialized hardware (capable of performing an enhanced function) integrated into an I/O controller integrated circuit in accordance with one embodiment of the present invention.
- FIG. 1 is a flowchart of a method in accordance with one embodiment of the present invention. An electronic device is capable of performing a base function. In one example, the electronic device is a NIC card and the base function is “dumb” NIC card functionality in that the NIC card does not perform substantial TCP protocol processing on frames containing a TCP header that are received onto the NIC card from a network. The base function involves interfacing with a stack executing on a host computer such that the stack performs TCP protocol processing on such frames.
- In addition to the electronic device having the ability to perform the base function, the electronic device includes specialized hardware which if enabled allows the electronic device to perform an enhanced function. In the example where the electronic device is a NIC, the enhanced function might be a “TCP offload” function. When the NIC performs the TCP offload function, the NIC performs all or substantially all TCP protocol processing on at least some incoming frames (frames that have a TCP header) such that the host stack does no or substantially no TCP protocol processing on those frames. The initial capability of the electronic device to perform both the base function, as well as the enhanced function if the electronic device is appropriately enabled, is illustrated in FIG. 1 by
reference numeral 100. - The electronic device is sold into the marketplace or is otherwise supplied (step101) to a user. As supplied to the user, the electronic device is capable of performing the base function but has its enhanced functionality disabled (not enabled). The electronic device may, for example, be sold to the user by offering the electronic device for sale at a price to compete with other devices on the market that perform the base function but do not perform the enhanced function. By pricing the electronic device to compete with other devices that perform the base function but not the enhanced function, it is believed that barriers to selling a more expensive product with enhanced functionality will be reduced or removed. The electronic device will be more readily sold in great numbers than had the electronic device been more highly priced as a device that performs the enhanced function. In this way, the electronic device is disseminated into the marketplace and reaches the user. In the example of the electronic device being a NIC card and the base function being “dumb” NIC functionality, the user can use the electronic device as a “dumb” NIC. The enhanced “TCP offload” function is, however, disabled.
- After the electronic device has been supplied to the user, the user may elect (step102) to enter into an agreement to make an additional payment in order to be able to have the electronic device perform the enhanced function. In the example of the electronic device being a NIC and the base function being “dumb” NIC operation, the user may contract with the manufacturer of the electronic device (or with a distributor of the electronic device) to have the enhanced function enabled.
- If the user agrees to make additional payment, then the enhanced function is enabled (step103). Once enabled, the specialized hardware of the electronic device operates such that the electronic device performs the enhanced function. In the case of the electronic device being a NIC, the specialized hardware may include a hardware sequencer that preprocesses an incoming Ethernet frame. The hardware sequencer makes an initial determination as to whether the frame is one for which TCP processing can be handled by the NIC. The hardware sequencer places an indication of this initial determination onto a queue along with a buffer descriptor that identifies where in a memory on the NIC card the associated frame will be stored. The specialized hardware may also include a processor that retrieves the initial determination from the queue and performs IP and TCP protocol processing on the associated frame such that the data payload (free of IP and TCP headers) of a session layer message is moved directly from the NIC card into a destination on a host computer. The destination may be a location in memory on the host identified by an application executing on the host computer. The processor of the NIC and the software it executes are structured such that the processor receives the information from the queue without being interrupted, without having to save the contents of its internal registers in a context switch, and without having to execute out of non-zero-wait-state memory. The specialized hardware also includes additional memory in embodiments where such additional memory is required to perform the enhanced function. Additional memory may, for example, be required to store TCBs used to keep track of protocol processing of offloaded TCP connections. Additional memory may also be required to buffer frames of offloaded TCP connections. The specialized hardware may also include a Direct Memory Access (DMA) controller that moves the data payload from the NIC to the destination in the host computer. In one embodiment, the same specialized hardware can perform either the base function or the enhanced function. For additional information on one embodiment of such specialized hardware, see: 1) U.S. Pat. No. 6,427,173; and 2) U.S. Pat. No. 6,247,060 (the subject matter of these two patents is incorporated herein by reference).
- If, on the other hand, the user does not elect (step104) to make the additional payment, then the enhanced function remains disabled (not enabled). The electronic device continues to operate with its base function capability but with the enhanced functionality disabled.
- In accordance with the method of FIG. 1, an electronic device with specialized hardware for performing an enhanced function is disseminated into the marketplace by selling the electronic device at a price point that approximates the price point of other devices that perform the base function but not the enhanced function. Pricing the electronic device in this fashion may cut into the profit margin on the sale of the electronic device because providing each electronic device involves the added expense of providing the specialized hardware. In accordance with some embodiments, the electronic device may be sold at no profit or at a small loss in order to promote dissemination of the electronic device.
- Then, once the electronic device has been disseminated into the marketplace, the enhanced functionality can be offered at a second price point appropriate for devices capable of performing the enhanced function. In cases where there is less competition for devices capable of performing the enhanced function, the second price point may exceed the cost of providing the specialized hardware on the electronic device. The second price point may therefore be set so that more lucrative sales of the enhanced functionality can be made to: 1) recover the cost of providing the specialized hardware to those users who did not elect to have the enhanced function enabled, and 2) provide an additional profit. By using this method, a manufacturer and/or distributor of the electronic device can get electronic devices distributed into the marketplace by selling at a first price point, and can recoup the cost of getting those electronic devices so distributed by setting a second price point for providing the enhanced functionality.
- FIG. 2 is a diagram of a specific embodiment in accordance with an embodiment of the present invention. In the example of FIG. 2, an
electronic device 200 is a network interface device such as, for example, an intelligent NIC (INIC) or what is sometimes called a “TCP offload device” or a “TCP offload engine” (TOE).Electronic device 200 is coupled to ahost computer 201.Electronic device 200 andhost computer 201 are together considered a network-connecteddevice 202.Electronic device 200 includes a network interface port 203.Host computer 201 receives network communications from anetwork 204 via port 203 andelectronic device 200.Host computer 201 also transmits network communications ontonetwork 204 viaelectronic device 200 and port 203. -
Host computer 201 includes a processor that executes a protocol processing stack 205. In the simplified diagram of FIG. 2, stack 205 includes a network interface device (ND)driver 206, a portaggregation driver portion 207, an IP protocolprocessing layer portion 208, a TCP protocolprocessing layer portion 209, and an upper protocolprocessing layer portion 210. Upper protocolprocessing layer portion 210 may, for example, be an ISCSI protocol processing layer. If the OSI model is being used to describe stack 205, then upper protocolprocessing layer portion 210 may be considered to include session layer processing and may also include presentation and application layer processing. If the TCP/IP model is being used to describe stack 205, then upper protocolprocessing layer portion 210 may be considered to be an application layer. - In the example of FIG. 2,
electronic device 200 has a base function of operating as a “dumb” NIC forhost computer 201. This base function ofelectronic device 200 is represented byblock 211.Electronic device 200 also has an enhanced function of performing a TCP offload function. In one embodiment, certain selected types of commonly occurring network TCP/IP communications are handled byelectronic device 200 in a “fast-path” such that all or substantially all IP and TCP protocol processing of these communications are handled byelectronic device 200. Other types of less commonly occurring network communications such as, for example, non TCP/IP communications and error conditions, are handled by stack 205 in a “slow-path” in a more conventional manner. - To facilitate this “fast-path” TCP offload processing, specialized hardware is provided on
electronic device 200. This specialized hardware, and the enhanced function it allows theelectronic device 200 to perform, is represented in FIG. 2 byblock 212. In one embodiment, this specialized hardware includes preprocessing hardware circuitry (for example, a sequencer) that analyzes an incoming Ethernet frame fromnetwork 204 and makes an initial determination whether the incoming frames should be handled in fast-path or not. The preprocessing hardware places an indication of its initial determination (also called an “attention bit”) onto a hardware queue. A “buffer descriptor” identifying where in memory on the electronic device the frame can be found is also placed onto the queue. In the specific example of FIG. 2, the specialized hardware further includes a specialized (non-general purpose) processor that retrieves the indication of the initial determination from the queue. If the indication is that the associated frame is suitable for fast-path processing, then the specialized processor performs IP and TCP protocol processing on the frame such that stack 205 ofhost computer 201 is offloaded of these tasks. For additional information on the composition of one particular embodiment involving a receive sequencer that performs preprocessing, a queue manager, and a specialized processor that performs TCP and IP offload processing, see: 1) U.S. Pat. No. 6,427,173; and 2) U.S. Pat. No. 6,247,060 (the subject matter of these two patents is incorporated herein by reference). To support this “fast-path” TCP offload capability, a portion of specialized protocol processing code 213 (denoted ATCP) is incorporated into stack 205. For additional information on one embodiment of stack 205 andATCP portion 213, see: 1) U.S. patent application Ser. No. 10/208,093, filed Jul. 29, 2002, entitled “Protocol Processing Stack For Use With Intelligent Network Interface Device”, by Peter Craft et al.; 2) U.S. Pat. No. 6,247,060, and 3) U.S. Published Patent Application 20010047433, published Nov. 29, 2001 (the subject matter of these documents is incorporated herein by reference). For additional details on a port aggregation driver, see U.S. patent application Ser. No. 09/801,488, filed Mar. 7, 2001, including the information on its Compact Disc Appendix (the subject matter of which is incorporated herein by reference). -
Electronic device 200 includes anonvolatile memory 214, which in this specific embodiment is an electrically-erasable programmable read only memory (EEPROM). FIG. 3 is a more detailed diagram of the contents ofnonvolatile memory 214.Nonvolatile memory 214 includes adevice identifier portion 215, acapabilities code portion 216, and acheck code portion 217. -
Device identifier portion 215 includes a serial number that uniquely identifies the particular electronic device.Device identifier portion 215 also may includeother identification information 219 such as, for example, a list of all the MAC addresses of the electronic device. -
Capabilities code portion 216 indicates whether the electronic device is enabled to perform the enhanced function. In the example of FIG. 3,capabilities code portion 216 includes a “fast-path enabled”field 220. If a bit in the “fast-path enabled” field is set, thenelectronic device 200 is enabled to perform the enhanced function. If the bit is not set, thenelectronic device 200 is not enabled to perform the enhanced function. In the example of FIG. 3,capabilities code portion 216 further includes a “MAC addresses enabled”field 221, a “date for end of trial period”field 222, an “ISCSI acceleration enabled”field 223, and a “PCI device ID”field 224. - Check
code portion 217 contains a security check code that is a proprietary function of the contents of thedevice identifier portion 215 andcapabilities code portion 216. In one example, the check code is a 4-byte keyed Message Authentication Code. The check code may be the keyed-Hash Message Authentication Code (HMAC), specified in FIPS PUB 198. This code relies a secret key in conjunction with an underlying cryptographic hash-function (such as SHA-1) to produce a MAC. - When
EEPROM 214 is written or when the contents ofEEPROM 214 is read and used byelectronic device 200,electronic device 200 calculates the check code value using the proprietary function. For example, whenelectronic device 200 receives from host computer 201 a capabilities code value to write into the capabilities code field ofEEPROM 214, the electronic device calculates a check code for the device ID and capabilities code to be written. If the check code calculated does not match a check code received fromhost computer 201 along with the capabilities code to be written, thenelectronic device 200 does not allowEEPROM 214 to be written. Similarly, whenEEPROM 214 is being read byelectronic device 200, the electronic device calculates a check code value using the values stored in thedevice ID field 215 and thecapabilities code field 216. If the calculated check code value does not match the check code value stored infield 217, then the enhanced function is not enabled. - In an initial step, multiple copies (i.e., instances) of
electronic device 200 are distributed into the marketplace or otherwise supplied to users. The capabilities codes of these electronic devices are set such that the electronic devices can perform the base function, but so that the electronic devices are not enabled to perform the enhanced function.Electronic device 200 may be marketed, advertised, and priced to compete aggressively with a class of “dumb” NIC cards that do not perform the TCP offload enhanced function. Eachelectronic device 200 has an amount of specialized hardware that allows theelectronic device 200 to perform the enhanced function, but the electronic device is nevertheless marketed, advertised, and priced to compete with the class of “dumb” NIC cards. - A user who purchases
electronic device 200 receives both theelectronic device 200 as well as associated software for execution onhost computer 201. The associated software supplied may, for example, includeNID device driver 206,port aggregation driver 207, andATCP portion 213. Each timeelectronic device 200 is powered up, theelectronic device 200 readsEEPROM 214 and from thecapabilities code field 216 determines that the enhanced function is disabled. The electronic devices are therefore able to perform the base function but not the enhanced function. - Once electronic devices have been supplied to users in this manner, an individual user can agree to pay an additional sum to be able to use the enhanced function. In the presently described example, the user accesses an authorized web site225 (see FIG. 2).
Web site 225 lists a number of different enhanced function offerings, each with its own listed price. One enhanced function offering may, for example, be a free trial or free demonstration period during which the user can arrange to enable fast-path TCP offload capability. A second enhanced function offering may, for example, be unlimited fast-path TCP offload capability for an unlimited number of TCP/IP connections for an unlimited time. A third enhanced function offering may, for example, be ISCSI acceleration in addition to fast-path TCP offload capability. - If the user agrees to the commercial terms associated with an enhanced function offering (for example, the user agrees to pay an additional amount), then the user is given an
appropriate license key 226. In one example,web site 225 provides a way for the user to interact with a commercially available license manager program. The user may, for example, use a web browser to enter a credit card number to make the additional payment, and may also enter some other information such as the device ID of the electronic device and the customer's name. The license manager then displays the license key on the web site. A suitable license manager program may, for example, be available from Rainbow Technologies, Inc. of 50 Corporate Drive, Irvine, Calif. 92618. - In the present example, the host software provided with
electronic device 200 includes anupgrade utility program 227.Upgrade utility program 227 prompts the user for thelicense key 226. The user enters thelicense key 226 into a dialog box, and upgradeutility program 227converts license key 226 into a capabilities code. In one embodiment,license key 226 includes an encrypted form of the device ID supplied by the user, a capabilities code and a check code, where the check code is a proprietary function of the device ID and the capabilities code. Theupgrade utility program 227 decrypts the license key to recover the device ID, capabilities code and check code. Once the device ID, capabilities code and check code are recovered, they are passed to networkinterface device driver 206, which makes a request toelectronic device 200 to write them into theEEPROM 214.Electronic device 200 first calculates a check code value from the device ID and capabilities code that are being passed to it. If this check code value is identical to the check code being passed to it,electronic device 200 then makes sure that the device ID being passed matches the device ID found indevice ID field 215. Only if both of these tests pass doeselectronic device 200 allow the capabilities code and the new check code to be written intoEEPROM 214. - In this way, a user can pay an additional amount to receive a license key that the user can then use to enable a selected enhanced function. Use of
electronic device 200 to perform the selected enhanced function may be priced such that the additional payments from users who elect to pay for enhanced functionality exceeds the aggregate cost of providing the specialized hardware in the electronic devices of those many other users who do not elect to pay more for the enhanced function. Two price points can therefore be set, one for the class of “dumb” network interface device cards, and another for another class of TCP offload devices. The first price point can be used to penetrate the market for the existing class of product, whereas the second price point can be used to recover the cost of penetrating that market. In some cases, a higher price can be commanded forelectronic device 200 even thoughelectronic device 200 has the enhanced function disabled because there is value in the ability ofelectronic device 200 to be quickly and easily enabled to perform the enhanced function. In the case whereelectronic device 200 is a NIC card, the electronic device with the enhanced function disabled may be advertised as “TOE ready” (TCP offload engine ready) and for this reason may command a higher price than other dumb NIC cards on the market that cannot be enabled to perform the enhanced TCP offload function. - In the description above,
electronic device 200 is supplied to users with the enhanced function disabled. This need not be the case. In one example, the value in the “date for end of trial period”field 222 is set for a date after the date the electronic device is supplied to the users. The enhanced function, in this case the fast-path TCP offload capability, is enabled up until the “date for end of trial period” date arrives.Electronic device 200 has the ability to read the current date. If the current date is after the “date for end of trial period”, then the electronic device disables the enhanced function or warns the user that the trial period is coming to an end.Electronic device 200 is distributed into the market in this fashion such that the user can try out the enhanced function for an initial trial period. In another embodiment,electronic device 200 is distributed as a “dumb” NIC with an offer to temporarily activate enhanced functionality, or an offer of a low-cost activation of the enhanced functionality. - Although an embodiment of the present invention is described here in connection with a license manager, an upgrade utility, and an EEPROM on the electronic device, it is to be understood that an enhanced function of an already-distributed electronic device can be selectively enabled or disabled in numerous other ways. The mechanism for enabling the enhanced function need not be so secure that it cannot be circumvented by a dedicated intelligent hacker. The method set forth has substantial use even if a few sophisticated hackers can manage to enable enhanced functionality without authorization. Rather than an end-user arranging to make payment to enable the enhanced functionality of an individual electronic device, many electronic devices can be distributed by a third party distributor. This third party distributor may pay a license fee such that the electronic devices the third party distributor sells or distributes have the enhanced function enabled. A second third party distributor who does not elect to pay the license fee can sell or distribute otherwise identical electronic devices but those electronic devices would not have the enhanced function enabled. The additional payment for having the enhanced function enabled can therefore be exacted from any desired party in the distribution chain of the electronic device. The additional payment may be received by the manufacturer of the electronic device. Alternatively, the additional payment may be received by another party in the distribution chain (for example, a large distributor). The additional payment may be received by another party not in the distribution chain such as, for example, a holder of intellectual property rights in the electronic device. Either a party such as the manufacturer of the chip set or another third party such as a distributor or a holder of intellectual property can control enabling the enhanced function and can receive the associated additional compensation. In one example, the manufacturer of the electronic device and a distributor of the electronic device and a holder of intellectual property in the electronic device share the proceeds associated with providing the enhanced function.
- Although stack205 is shown executing on
host computer 201 in the example of FIG. 2, it is understood thatelectronic device 200 may be fashioned such that the functions of stack 205 are carried out onelectronic device 200. For example, in one embodiment a general purpose processor executes a stack that performs TCP and IP protocol processing functions. This general purpose processor is part ofelectronic device 200. Ifelectronic device 200 is a NIC card, then the general purpose processor is present on the NIC expansion card along with the rest of the NIC circuitry. If the card performs all TCP and IP protocol processing functions (both normal communications as well as error conditions) for TCP/IP network communications passing through the card, then the card is sometimes called a “full TCP offload” device. - Although an enhanced function can be enabled and/or disabled by writing a capabilities code into an electronic device as set forth above, there are other ways of controlling the enabling and/or disabling of an enhanced function. In one embodiment, for example, host stack205 (see FIG. 2) gives control of individual TCP connections to network
interface device 200 in what is called a “hand out” process. If stack 205 hands out control of a TCP connection, then networkinterface device 200 can perform the enhanced TCP offload function for communications occurring over that TCP connection. If, on the other hand, stack 205 does not hand out control of the TCP connection to networkinterface device 200, then networkinterface device 200 operates as a dumb NIC and passes individual TCP/IP packets associated with the TCP connection to the host for TCP protocol processing on the host. In one embodiment in accordance with the present invention, if the user does not agree to pay the additional compensation, then the software executing on the host does not hand out control of TCP connections to networkinterface device 200. The enhanced TCP offload functionality ofnetwork interface device 200 therefore is not enabled because control of TCP connections are never handed over tonetwork interface device 200. It is therefore seen that the writing of a capabilities code into an electronic device is not required in order to be able to control whether the electronic device can perform the enhanced function. - Although the invention is described above in connection with the electronic device being a network interface card (NIC), this is done only for illustrative purposes. The above-described method of selectively enabling an enhanced function is applicable to a number different types of electronic devices. In one embodiment, the electronic device is an integrated circuit that is part of a microprocessor chipset such as the
Intel 815 chipset. - FIG. 4 is a diagram showing an integrated circuit300 (the Intel 82801 I/O Controller Hub) that is part of the
Intel 815 chipset. In accordance with an embodiment of the present invention, specialized networkinterface device circuitry 200 capable of performing an enhanced TCP offload function is incorporated into integratedcircuit 300. TheIntel 82801integrated circuit 300, including specialized networkinterface device circuitry 200, is manufactured in volume and distributed. If a user does not agree to pay the additional amount for use of the enhanced TCP offload function, then the I/O controller hub integratedcircuit 300 performs its base network interface function but is not enabled to perform the enhanced function. If, on the other hand, the user agrees to pay an additional amount for the enhanced functionality, then the specialized networkinterface device circuitry 200 is enabled to perform the enhanced TCP offload function. In the present example, specialized networkinterface device circuitry 200 performs the TCP offload function such that the data payload of a multi-packet session layer message is retrieved fromnetwork 301 in the form of multiple TCP/IP packets, and is written into a destination insystem memory 302 without any TCP or IP headers, and without a protocol processing stack executed byCPU 303 doing any or substantially any TCP protocol processing on the various TCP/IP packets.Arrow 304 represents the path taken by the session layer data payload on its way to the destination insystem memory 302. By incorporating the specialized networkinterface device circuitry 200 into the I/O controller hub integratedcircuit 300 in this way, the specialized circuitry for performing the enhanced TCP offload function is disseminated into the motherboards of a great many computers without having to overcome market resistance associated with introducing a new and unfamiliar product. - Although the specialized network
interface device circuitry 200 is shown in FIG. 4 integrated into the I/O controller hub integratedcircuit 300, the specialized networkinterface device circuitry 206 is in another embodiment integrated into the graphics and memory controller hub integratedcircuit 305 of the chip set. Integration in integrated circuits such asintegrated circuit 305 further reduces the cost of distributing the enhanced function, because circuits required to distribute the enhanced function in embodiments such as an expansion card are not required when closely coupled with other integrated circuits, such as memory controller hub integratedcircuit 305. Examples of functions not required in a closely coupled design include the PCI bus unit, DMA engines, and local SDRAM, since these functions are either not required in such an integration, or may share resources available in the integrated circuit containing the enhanced function. - More than one enhanced function can be offered. For example, for an additional enhancement more would be paid beyond an amount at which initial enhanced functionality is offered. Advanced port aggregation and/or load balancing features can be one such additional enhanced functionality offer. By conglomerating different sets of enhanced functions, multiple tiers of functionality can be offered, each tier being offered at a different price.
- The above-described method of selectively enabling an enhanced function is also applicable to many types of electronic devices. Pairs of electronic device types and enhanced functions are set forth in Table 1 below for illustrative purposes. Many other pairs are possible. The method of receiving additional compensation for enabling an enhanced function is believed to be particularly applicable where there is an existing class of product having a base function, and where an enhanced function that costs money to provide (due to the requirement to provide specialized hardware) is anticipated to be desired in a significant percentage of those products in the near future. Situations where these conditions exist include situations where there are evolving standards, where there are changing performance requirements, and where the government or another body will be mandating new features or requirements.
TABLE 1 Electronic Device Type Enhanced Function I/O Controller IC Network Processing Acceleration I/O Controller IC IP Security Video Processor IC Video Acceleration Network Interface Device Network Processing Acceleration Network Interface Device IP Security Memory Controller IC Network Processing Acceleration Memory Controller IC Video Acceleration Memory Controller IC IP Security - Although the present invention is described in connection with certain specific embodiments for instructional purposes, the present invention is not limited thereto. The capabilities code can have a “period of time left in trial” field. Microcode executing on the processor that is part of the network interface device may be responsible for decrementing this “period of time left in trial” value, and the network interface device may be programmed to disable itself after a predetermined large number of microcode downloads from the host. In one embodiment, the check code is a CRC code generated from the device ID and the capabilities code using a proprietary polynomial. The enhanced function that is selectively enabled need not relate to networking and need not be a TCP offload function. The manner of enabling the enhanced function need not involve a license manager program, a license key, an upgrade utility program, or writing a capabilities code into a nonvolatile memory on the electronic device. Accordingly, various modifications, adaptations, and combinations of various features of the described embodiments can be practiced without departing from the scope of the invention as set forth in the following claims.
Claims (21)
1. A method, comprising:
(a) supplying an electronic device to a user, the electronic device as supplied being capable of performing a base function, the electronic device comprising specialized hardware that allows the electronic device to perform an enhanced function, wherein the electronic device can be controlled such that the electronic device can perform the enhanced function, wherein the electronic device as supplied is controlled so that the electronic device cannot perform the enhanced function; and
(b) after the electronic device is supplied to the user, and only if an agreement is reached to receive additional compensation from the user, then enabling the electronic device to perform the enhanced function.
2. The method of claim 1 , wherein the electronic device stores a capabilities code, the capabilities code determining whether the electronic device is enabled to perform the enhanced function, and wherein the enhanced function is a TCP offload function.
3. The method of claim 1 , wherein the electronic device is an integrated circuit, wherein the specialized hardware is a network interface device circuit, wherein the enhanced function is a network processing accleration function, and wherein the integrated circuit is taken from the group consisting of: an I/O controller integrated circuit, and a memory controller integrated circuit.
4. The method of claim 1 , wherein the electronic device is supplied to the user in (a) pursuant to an agreement by the user to pay a first amount of compensation, and wherein the user agrees to pay the additional compensation in (b) in return for being able to use the electronic device to perform the enhanced function.
5. The method of claim 1 , wherein the electronic device is supplied in (a) to a third party other than the user such that the third party pays a first amount of compensation, and wherein the third party in turn supplies the electronic device to the user, and wherein the user agrees to pay the additional compensation in (b) in return for being able to use the electronic device to perform the enhanced function.
6. The method of claim 1 , wherein if the agreement in (b) is reached then a license key is provided to the user, and wherein the user uses the license key to control the electronic device in (b) such that the electronic device is enabled to perform the enhanced function.
7. The method of claim 6 , wherein the license key allows a plurality of capability bits to be written to the electronic device.
8. The method of claim 1 , wherein the electronic device is a network interface card (NIC), and wherein the enhanced function is a TCP offload function.
9. The method of claim 1 , wherein the electronic device is an integrated circuit.
10. The method of claim 1 , wherein the electronic device is an integrated circuit, and wherein the enhanced function is a network protocol processing function.
11. A network interface device, comprising:
a port through which the network interface device receives a TCP/IP packet;
TCP offload circuitry; and
a memory storing a capabilities code, wherein if the capabilities code has a first value then the TCP offload circuitry performs TCP protocol processing on the TCP/IP packet such that a host processor coupled to the network interface device does substantially no TCP protocol processing on the TCP/IP packet, and wherein if the capabilities code has a second value then the network interface device passes the TCP/IP packet to the host processor such that the host processor does substantial TCP protocol processing on the TCP/IP packet.
12. The network interface device of claim 11 , wherein the network interface device receives a second capabilities code and a first check code from the host processor, and wherein the network interface device calculates a second check code based at least in part on the second capabilities code, and wherein if the first check code received from the host processor does not match the second check code then the network interface device does not allow the capabilities code stored in the memory to be changed.
13. A method, comprising:
(a) supplying a network interface device to a user, the network interface device having a base functionality, the network interface device having specialized hardware for performing an enhanced functionality, the enhanced functionality being disabled;
(b) entering into an agreement with the user wherein the user agrees to make an additional payment in return for being able to use the enhanced functionality; and
(c) enabling the enhanced functionality.
14. The method of claim 13 , wherein the user enters into the agreement in (b) by interacting with a web site, and wherein the user receives a license key from the web site, and wherein the user uses the license key to enable the enhanced functionality of the network interface device in (c).
15. The method of claim 13 , wherien the network interface device has a memory for storing a capabilities code, and wherein the enhanced functionality is enabled in (c) by writing the capabilities code into the memory.
16. The method of claim 13 , wherein the enhanced functionality is a TCP offload processing of communications for TCP connections, and wherein the specialized hardware performs the enhanced functionality for network communications over a particular TCP connection only if the network interface device is given control of the particular TCP connection by a host computer, and wherein the enhanced functionality is enabled in (c) by the host computer giving control of a TCP connection to the network interface device.
17. The method of claim 13 , wherein the enhanced functionality is a TCP offload functionality, and wherein the enhanced functionality is not enabled and remains disabled if the user does not enter into an agreement to make an additional payment in return for being able to use the enhanced functionality.
18. The method of claim 13 , wherein the network interface device is an integrated circuit, and wherein the enhanced functionality is a TCP offload functionality.
19. The method of claim 13 , wherein the network interface device is supplied to the user in (a) at least in part by an integrated circuit manufacturer, and wherein the user enters into the agreement in (b) with a party other than the integrated circuit manufacturer.
20. The method of claim 13 , wherein the user is an end-user who uses the network interface device for network communication purposes.
21. The method of claim 13 , wherein the user is a manufacturer of networking equipment.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/289,977 US20040088262A1 (en) | 2002-11-06 | 2002-11-06 | Enabling an enhanced function of an electronic device |
US11/985,948 US20080140574A1 (en) | 2002-11-06 | 2007-11-19 | Enabling an enhanced function of an electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/289,977 US20040088262A1 (en) | 2002-11-06 | 2002-11-06 | Enabling an enhanced function of an electronic device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/985,948 Division US20080140574A1 (en) | 2002-11-06 | 2007-11-19 | Enabling an enhanced function of an electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040088262A1 true US20040088262A1 (en) | 2004-05-06 |
Family
ID=32176121
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/289,977 Abandoned US20040088262A1 (en) | 2002-11-06 | 2002-11-06 | Enabling an enhanced function of an electronic device |
US11/985,948 Abandoned US20080140574A1 (en) | 2002-11-06 | 2007-11-19 | Enabling an enhanced function of an electronic device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/985,948 Abandoned US20080140574A1 (en) | 2002-11-06 | 2007-11-19 | Enabling an enhanced function of an electronic device |
Country Status (1)
Country | Link |
---|---|
US (2) | US20040088262A1 (en) |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030165160A1 (en) * | 2001-04-24 | 2003-09-04 | Minami John Shigeto | Gigabit Ethernet adapter |
US20040062267A1 (en) * | 2002-03-06 | 2004-04-01 | Minami John Shigeto | Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols |
US20040081202A1 (en) * | 2002-01-25 | 2004-04-29 | Minami John S | Communications processor |
US20040172485A1 (en) * | 2001-04-11 | 2004-09-02 | Kianoosh Naghshineh | Multi-purpose switching network interface controller |
US20040213290A1 (en) * | 1998-06-11 | 2004-10-28 | Johnson Michael Ward | TCP/IP/PPP modem |
US20040249998A1 (en) * | 2003-06-05 | 2004-12-09 | Anand Rajagopalan | Uploading TCP frame data to user buffers and buffers in system memory |
US20050138180A1 (en) * | 2003-12-19 | 2005-06-23 | Iredy Corporation | Connection management system and method for a transport offload engine |
US20050135361A1 (en) * | 2003-12-17 | 2005-06-23 | Eun-Ji Lim | Socket compatibility layer for toe |
US20050169447A1 (en) * | 2004-02-04 | 2005-08-04 | Alcatel | Pay-per-use communication node capabilities |
US20050193316A1 (en) * | 2004-02-20 | 2005-09-01 | Iready Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity |
US20050204058A1 (en) * | 1997-10-14 | 2005-09-15 | Philbrick Clive M. | Method and apparatus for data re-assembly with a high performance network interface |
US20050271042A1 (en) * | 2000-11-10 | 2005-12-08 | Michael Johnson | Internet modem streaming socket method |
US20060129697A1 (en) * | 2000-04-17 | 2006-06-15 | Mark Vange | System and method for implementing application functionality within a network infrastructure |
US20060143473A1 (en) * | 2004-12-29 | 2006-06-29 | Kumar Mohan J | Software key implementation using system management firmware |
US20060176324A1 (en) * | 2005-02-08 | 2006-08-10 | International Business Machines Corporation | Display system having demand-based resolution and method therefor |
US20070220182A1 (en) * | 2004-03-29 | 2007-09-20 | Bryte Computer Technologies, Inc. | Controller and resource management system and method with improved security for independently controlling and managing a computer system |
US20070253430A1 (en) * | 2002-04-23 | 2007-11-01 | Minami John S | Gigabit Ethernet Adapter |
US20070283242A1 (en) * | 2003-12-26 | 2007-12-06 | Kang-Chan Lee | Xml Processor and Xml Processing Method in System Having the Xml Processor |
US20080056124A1 (en) * | 2003-06-05 | 2008-03-06 | Sameer Nanda | Using TCP/IP offload to accelerate packet filtering |
US20080263171A1 (en) * | 2007-04-19 | 2008-10-23 | Alacritech, Inc. | Peripheral device that DMAS the same data to different locations in a computer |
US20090182868A1 (en) * | 2000-04-17 | 2009-07-16 | Mcfate Marlin Popeye | Automated network infrastructure test and diagnostic system and method therefor |
US20090187669A1 (en) * | 2000-04-17 | 2009-07-23 | Randy Thornton | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US20090222832A1 (en) * | 2008-02-29 | 2009-09-03 | Dell Products, Lp | System and method of enabling resources within an information handling system |
US7616563B1 (en) | 2005-08-31 | 2009-11-10 | Chelsio Communications, Inc. | Method to implement an L4-L7 switch using split connections and an offloading NIC |
US20100011116A1 (en) * | 2000-04-17 | 2010-01-14 | Randy Thornton | Dynamic network link acceleration |
US7660264B1 (en) | 2005-12-19 | 2010-02-09 | Chelsio Communications, Inc. | Method for traffic schedulign in intelligent network interface circuitry |
US7660306B1 (en) | 2006-01-12 | 2010-02-09 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US20100036980A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Multi-mode processing module and method of use |
US20100036983A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Processing module, interface, and information handling system |
US20100033629A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | System, module and method of enabling a video interface within a limited resource enabled information handling system |
US20100033433A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Display system and method within a reduced resource information handling system |
US20100083006A1 (en) * | 2007-05-24 | 2010-04-01 | Panasonic Corporation | Memory controller, nonvolatile memory device, nonvolatile memory system, and access device |
US7698413B1 (en) | 2004-04-12 | 2010-04-13 | Nvidia Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections |
US20100107238A1 (en) * | 2008-10-29 | 2010-04-29 | Dell Products, Lp | Security module and method within an information handling system |
US20100115314A1 (en) * | 2008-10-31 | 2010-05-06 | Dell Products, Lp | Power control for information handling system having shared resources |
US20100115050A1 (en) * | 2008-10-30 | 2010-05-06 | Dell Products, Lp | System and method of polling with an information handling system |
US20100115313A1 (en) * | 2008-10-31 | 2010-05-06 | Dell Products, Lp | Information handling system with integrated low-power processing resources |
US20100115303A1 (en) * | 2008-10-30 | 2010-05-06 | Dell Products, Lp | System and method of utilizing resources within an information handling system |
US7715436B1 (en) | 2005-11-18 | 2010-05-11 | Chelsio Communications, Inc. | Method for UDP transmit protocol offload processing with traffic management |
US7724658B1 (en) | 2005-08-31 | 2010-05-25 | Chelsio Communications, Inc. | Protocol offload transmit traffic management |
US7760733B1 (en) | 2005-10-13 | 2010-07-20 | Chelsio Communications, Inc. | Filtering ingress packets in network interface circuitry |
US7826350B1 (en) | 2007-05-11 | 2010-11-02 | Chelsio Communications, Inc. | Intelligent network adaptor with adaptive direct data placement scheme |
US7831720B1 (en) | 2007-05-17 | 2010-11-09 | Chelsio Communications, Inc. | Full offload of stateful connections, with partial connection offload |
US7831745B1 (en) | 2004-05-25 | 2010-11-09 | Chelsio Communications, Inc. | Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications |
US7945699B2 (en) | 1997-10-14 | 2011-05-17 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US8060644B1 (en) | 2007-05-11 | 2011-11-15 | Chelsio Communications, Inc. | Intelligent network adaptor with end-to-end flow control |
US8065439B1 (en) * | 2003-12-19 | 2011-11-22 | Nvidia Corporation | System and method for using metadata in the context of a transport offload engine |
US8135842B1 (en) | 1999-08-16 | 2012-03-13 | Nvidia Corporation | Internet jack |
US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
US20120163294A1 (en) * | 2010-12-22 | 2012-06-28 | Electronics And Telecommunications Research Institute | Packet data transfer apparatus and packet data transfer method in mobile communication system |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
US20130103852A1 (en) * | 2010-06-30 | 2013-04-25 | Heeyoung Jung | Communication node and communication method |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8549170B2 (en) | 2003-12-19 | 2013-10-01 | Nvidia Corporation | Retransmission system and method for a transport offload engine |
US8589587B1 (en) * | 2007-05-11 | 2013-11-19 | Chelsio Communications, Inc. | Protocol offload in intelligent network adaptor, including application level signalling |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US8631140B2 (en) | 1997-10-14 | 2014-01-14 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US20140211804A1 (en) * | 2004-11-16 | 2014-07-31 | Srihari Makikeni | Packet coalescing |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
US8935406B1 (en) | 2007-04-16 | 2015-01-13 | Chelsio Communications, Inc. | Network adaptor configured for connection establishment offload |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US9055104B2 (en) | 2002-04-22 | 2015-06-09 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgment that transmit data has been received by a remote device |
US9098297B2 (en) | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
US20170264965A1 (en) * | 2016-03-11 | 2017-09-14 | Echostar Technologies L.L.C. | Television receiver authorization over internet protocol network |
US10033840B2 (en) | 2000-04-17 | 2018-07-24 | Circadence Corporation | System and devices facilitating dynamic network link acceleration |
CN109104743A (en) * | 2018-07-09 | 2018-12-28 | 南京邮电大学 | Data unloading method based on price in a kind of heterogeneous wireless network |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341049B2 (en) * | 2008-12-31 | 2012-12-25 | Burroughs Payment Systems, Inc. | Method for controlling feature upgrades |
US8802318B2 (en) | 2010-05-14 | 2014-08-12 | Samsung Electronics Co., Ltd. | Compound and composition including compound, with fuel cell, fuel cell electrode and fuel cell electrolyte membrane using same |
US9674318B2 (en) | 2010-12-09 | 2017-06-06 | Solarflare Communications, Inc. | TCP processing for devices |
US10873613B2 (en) | 2010-12-09 | 2020-12-22 | Xilinx, Inc. | TCP processing for devices |
US9600429B2 (en) | 2010-12-09 | 2017-03-21 | Solarflare Communications, Inc. | Encapsulated accelerator |
US8996644B2 (en) * | 2010-12-09 | 2015-03-31 | Solarflare Communications, Inc. | Encapsulated accelerator |
US9258390B2 (en) | 2011-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Reducing network latency |
US8686829B2 (en) * | 2011-06-10 | 2014-04-01 | GM Global Technology Operations LLC | Lock code recovery system |
EP2574000B1 (en) | 2011-09-22 | 2020-04-08 | Xilinx, Inc. | Message acceleration |
US10505747B2 (en) | 2012-10-16 | 2019-12-10 | Solarflare Communications, Inc. | Feed processing |
US10686731B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US10686872B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US11165720B2 (en) | 2017-12-19 | 2021-11-02 | Xilinx, Inc. | Network interface device |
US10838763B2 (en) | 2018-07-17 | 2020-11-17 | Xilinx, Inc. | Network interface device and host processing device |
US10659555B2 (en) | 2018-07-17 | 2020-05-19 | Xilinx, Inc. | Network interface device and host processing device |
Citations (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4589063A (en) * | 1983-08-04 | 1986-05-13 | Fortune Systems Corporation | Data processing system having automatic configuration |
US4991133A (en) * | 1988-10-07 | 1991-02-05 | International Business Machines Corp. | Specialized communications processor for layered protocols |
US5009478A (en) * | 1988-11-18 | 1991-04-23 | Japan Aviation Electronics Industry Limited | Method for the manufacture of an optical fiber coupler |
US5097442A (en) * | 1985-06-20 | 1992-03-17 | Texas Instruments Incorporated | Programmable depth first-in, first-out memory |
US5212778A (en) * | 1988-05-27 | 1993-05-18 | Massachusetts Institute Of Technology | Message-driven processor in a concurrent computer |
US5280477A (en) * | 1992-08-17 | 1994-01-18 | E-Systems, Inc. | Network synchronous data distribution system |
US5289580A (en) * | 1991-05-10 | 1994-02-22 | Unisys Corporation | Programmable multiple I/O interface controller |
US5303344A (en) * | 1989-03-13 | 1994-04-12 | Hitachi, Ltd. | Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5418912A (en) * | 1990-08-20 | 1995-05-23 | International Business Machines Corporation | System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session |
US5485579A (en) * | 1989-09-08 | 1996-01-16 | Auspex Systems, Inc. | Multiple facility operating system architecture |
US5506966A (en) * | 1991-12-17 | 1996-04-09 | Nec Corporation | System for message traffic control utilizing prioritized message chaining for queueing control ensuring transmission/reception of high priority messages |
US5511169A (en) * | 1992-03-02 | 1996-04-23 | Mitsubishi Denki Kabushiki Kaisha | Data transmission apparatus and a communication path management method therefor |
US5517668A (en) * | 1994-01-10 | 1996-05-14 | Amdahl Corporation | Distributed protocol framework |
US5524250A (en) * | 1991-08-23 | 1996-06-04 | Silicon Graphics, Inc. | Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers |
US5535375A (en) * | 1992-04-20 | 1996-07-09 | International Business Machines Corporation | File manager for files shared by heterogeneous clients |
US5548730A (en) * | 1994-09-20 | 1996-08-20 | Intel Corporation | Intelligent bus bridge for input/output subsystems in a computer system |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5619650A (en) * | 1992-12-31 | 1997-04-08 | International Business Machines Corporation | Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message |
US5629933A (en) * | 1995-06-07 | 1997-05-13 | International Business Machines Corporation | Method and system for enhanced communication in a multisession packet based communication system |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US5633780A (en) * | 1994-12-21 | 1997-05-27 | Polaroid Corporation | Electrostatic discharge protection device |
US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
US5642482A (en) * | 1992-12-22 | 1997-06-24 | Bull, S.A. | System for network transmission using a communication co-processor comprising a microprocessor to implement protocol layer and a microprocessor to manage DMA |
US5727142A (en) * | 1996-05-03 | 1998-03-10 | International Business Machines Corporation | Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure |
US5742765A (en) * | 1996-06-19 | 1998-04-21 | Pmc-Sierra, Inc. | Combination local ATM segmentation and reassembly and physical layer device |
US5749095A (en) * | 1996-07-01 | 1998-05-05 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient write operations |
US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
US5751715A (en) * | 1996-08-08 | 1998-05-12 | Gadzoox Microsystems, Inc. | Accelerator fiber channel hub and protocol |
US5758186A (en) * | 1995-10-06 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for generically handling diverse protocol method calls in a client/server computer system |
US5758194A (en) * | 1993-11-30 | 1998-05-26 | Intel Corporation | Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer |
US5758089A (en) * | 1995-11-02 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for burst transferring ATM packet header and data to a host computer system |
US5758084A (en) * | 1995-02-27 | 1998-05-26 | Hewlett-Packard Company | Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections |
US5768618A (en) * | 1995-12-21 | 1998-06-16 | Ncr Corporation | Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space |
US5771349A (en) * | 1992-05-12 | 1998-06-23 | Compaq Computer Corp. | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5778419A (en) * | 1995-08-16 | 1998-07-07 | Microunity Systems Engineering, Inc. | DRAM with high bandwidth interface that uses packets and arbitration |
US5778013A (en) * | 1993-02-05 | 1998-07-07 | Hewlett-Packard Company | Method and apparatus for verifying CRC codes |
US5790804A (en) * | 1994-04-12 | 1998-08-04 | Mitsubishi Electric Information Technology Center America, Inc. | Computer network interface and network protocol with direct deposit messaging |
US5872919A (en) * | 1997-05-07 | 1999-02-16 | Advanced Micro Devices, Inc. | Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic |
US5878225A (en) * | 1996-06-03 | 1999-03-02 | International Business Machines Corporation | Dual communication services interface for distributed transaction processing |
US5892903A (en) * | 1996-09-12 | 1999-04-06 | Internet Security Systems, Inc. | Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system |
US5898713A (en) * | 1997-08-29 | 1999-04-27 | Cisco Technology, Inc. | IP checksum offload |
US5913028A (en) * | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
US5920566A (en) * | 1997-06-30 | 1999-07-06 | Sun Microsystems, Inc. | Routing in a multi-layer distributed network element |
US5930830A (en) * | 1997-01-13 | 1999-07-27 | International Business Machines Corporation | System and method for concatenating discontiguous memory pages |
US6016513A (en) * | 1998-02-19 | 2000-01-18 | 3Com Corporation | Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer |
US6021446A (en) * | 1997-07-11 | 2000-02-01 | Sun Microsystems, Inc. | Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine |
US6034963A (en) * | 1996-10-31 | 2000-03-07 | Iready Corporation | Multiple network protocol encoder/decoder and data processor |
US6038562A (en) * | 1996-09-05 | 2000-03-14 | International Business Machines Corporation | Interface to support state-dependent web applications accessing a relational database |
US6041381A (en) * | 1998-02-05 | 2000-03-21 | Crossroads Systems, Inc. | Fibre channel to SCSI addressing method and system |
US6041058A (en) * | 1997-09-11 | 2000-03-21 | 3Com Corporation | Hardware filtering method and apparatus |
US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US6047356A (en) * | 1994-04-18 | 2000-04-04 | Sonic Solutions | Method of dynamically allocating network node memory's partitions for caching distributed files |
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
US6057863A (en) * | 1997-10-31 | 2000-05-02 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces |
US6061368A (en) * | 1997-11-05 | 2000-05-09 | Xylan Corporation | Custom circuitry for adaptive hardware routing engine |
US6065096A (en) * | 1997-09-30 | 2000-05-16 | Lsi Logic Corporation | Integrated single chip dual mode raid controller |
US6067569A (en) * | 1997-07-10 | 2000-05-23 | Microsoft Corporation | Fast-forwarding and filtering of network packets in a computer system |
US6070200A (en) * | 1998-06-02 | 2000-05-30 | Adaptec, Inc. | Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus |
US6078733A (en) * | 1996-03-08 | 2000-06-20 | Mitsubishi Electric Information Technolgy Center America, Inc. (Ita) | Network interface having support for message processing and an interface to a message coprocessor |
US6173333B1 (en) * | 1997-07-18 | 2001-01-09 | Interprophet Corporation | TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols |
US6172980B1 (en) * | 1997-09-11 | 2001-01-09 | 3Com Corporation | Multiple protocol support |
US6181705B1 (en) * | 1993-12-21 | 2001-01-30 | International Business Machines Corporation | System and method for management a communications buffer |
US6202105B1 (en) * | 1998-06-02 | 2001-03-13 | Adaptec, Inc. | Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus |
US6223242B1 (en) * | 1998-09-28 | 2001-04-24 | Sifera, Inc. | Linearly expandable self-routing crossbar switch |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6246683B1 (en) * | 1998-05-01 | 2001-06-12 | 3Com Corporation | Receive processing with network protocol bypass |
US6343360B1 (en) * | 1999-05-13 | 2002-01-29 | Microsoft Corporation | Automated configuration of computing system using zip code data |
US6345302B1 (en) * | 1997-10-30 | 2002-02-05 | Tsi Telsys, Inc. | System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite |
US6345301B1 (en) * | 1999-03-30 | 2002-02-05 | Unisys Corporation | Split data path distributed network protocol |
US6356951B1 (en) * | 1999-03-01 | 2002-03-12 | Sun Microsystems, Inc. | System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction |
US6370599B1 (en) * | 1998-06-12 | 2002-04-09 | Microsoft Corporation | System for ascertaining task off-load capabilities of a device and enabling selected capabilities and when needed selectively and dynamically requesting the device to perform the task |
US6385647B1 (en) * | 1997-08-18 | 2002-05-07 | Mci Communications Corporations | System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data |
US6389479B1 (en) * | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US6389468B1 (en) * | 1999-03-01 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for distributing network traffic processing on a multiprocessor computer |
US20020073223A1 (en) * | 1998-09-28 | 2002-06-13 | Raytheon Company, A Delaware Corporation | Method and system for scheduling network communication |
US6421742B1 (en) * | 1999-10-29 | 2002-07-16 | Intel Corporation | Method and apparatus for emulating an input/output unit when transferring data over a network |
US6421753B1 (en) * | 1997-12-31 | 2002-07-16 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US6427169B1 (en) * | 1999-07-30 | 2002-07-30 | Intel Corporation | Parsing a packet header |
US6427173B1 (en) * | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
US6526446B1 (en) * | 1999-04-27 | 2003-02-25 | 3Com Corporation | Hardware only transmission control protocol segmentation for a high performance network interface card |
US20030066011A1 (en) * | 2001-04-12 | 2003-04-03 | Siliquent Technologies Ltd. | Out-of-order calculation of error detection codes |
US6570884B1 (en) * | 1999-11-05 | 2003-05-27 | 3Com Corporation | Receive filtering for communication interface |
US20030110344A1 (en) * | 1996-09-18 | 2003-06-12 | Andre Szczepanek | Communications systems, apparatus and methods |
US6591310B1 (en) * | 2000-05-11 | 2003-07-08 | Lsi Logic Corporation | Method of responding to I/O request and associated reply descriptor |
US6678283B1 (en) * | 1999-03-10 | 2004-01-13 | Lucent Technologies Inc. | System and method for distributing packet processing in an internetworking device |
US6681364B1 (en) * | 1999-09-24 | 2004-01-20 | International Business Machines Corporation | Cyclic redundancy check for partitioned frames |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US20040054814A1 (en) * | 2002-09-17 | 2004-03-18 | Mcdaniel Scott S. | System and method for handling frames in multiple stack environments |
US20040059926A1 (en) * | 2002-09-20 | 2004-03-25 | Compaq Information Technology Group, L.P. | Network interface controller with firmware enabled licensing features |
US6765901B1 (en) * | 1998-06-11 | 2004-07-20 | Nvidia Corporation | TCP/IP/PPP modem |
US6842896B1 (en) * | 1999-09-03 | 2005-01-11 | Rainbow Technologies, Inc. | System and method for selecting a server in a multiple server license management system |
US6912522B2 (en) * | 2000-09-11 | 2005-06-28 | Ablesoft, Inc. | System, method and computer program product for optimization and acceleration of data transport and processing |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
TW388093B (en) * | 1997-07-19 | 2000-04-21 | Nanya Technology Corp | Method for fabricating DRAM cell capacitor |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US7167927B2 (en) * | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US7174393B2 (en) * | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US8782199B2 (en) * | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US7185266B2 (en) * | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US7042898B2 (en) * | 1997-10-14 | 2006-05-09 | Alacritech, Inc. | Reducing delays associated with inserting a checksum into a network message |
US6757746B2 (en) * | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US6952409B2 (en) * | 1999-05-17 | 2005-10-04 | Jolitz Lynne G | Accelerator system and method |
EP1309049A1 (en) * | 2001-11-05 | 2003-05-07 | Agilent Technologies, Inc. (a Delaware corporation) | Wavelength sensitive device for wavelength stabilisation |
US7191241B2 (en) * | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7191318B2 (en) * | 2002-12-12 | 2007-03-13 | Alacritech, Inc. | Native copy instruction for file-access processor with copy-rule-based validation |
US6996070B2 (en) * | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
-
2002
- 2002-11-06 US US10/289,977 patent/US20040088262A1/en not_active Abandoned
-
2007
- 2007-11-19 US US11/985,948 patent/US20080140574A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4589063A (en) * | 1983-08-04 | 1986-05-13 | Fortune Systems Corporation | Data processing system having automatic configuration |
US5097442A (en) * | 1985-06-20 | 1992-03-17 | Texas Instruments Incorporated | Programmable depth first-in, first-out memory |
US5212778A (en) * | 1988-05-27 | 1993-05-18 | Massachusetts Institute Of Technology | Message-driven processor in a concurrent computer |
US4991133A (en) * | 1988-10-07 | 1991-02-05 | International Business Machines Corp. | Specialized communications processor for layered protocols |
US5009478A (en) * | 1988-11-18 | 1991-04-23 | Japan Aviation Electronics Industry Limited | Method for the manufacture of an optical fiber coupler |
US5303344A (en) * | 1989-03-13 | 1994-04-12 | Hitachi, Ltd. | Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer |
US5485579A (en) * | 1989-09-08 | 1996-01-16 | Auspex Systems, Inc. | Multiple facility operating system architecture |
US5418912A (en) * | 1990-08-20 | 1995-05-23 | International Business Machines Corporation | System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session |
US5289580A (en) * | 1991-05-10 | 1994-02-22 | Unisys Corporation | Programmable multiple I/O interface controller |
US5524250A (en) * | 1991-08-23 | 1996-06-04 | Silicon Graphics, Inc. | Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers |
US5506966A (en) * | 1991-12-17 | 1996-04-09 | Nec Corporation | System for message traffic control utilizing prioritized message chaining for queueing control ensuring transmission/reception of high priority messages |
US5511169A (en) * | 1992-03-02 | 1996-04-23 | Mitsubishi Denki Kabushiki Kaisha | Data transmission apparatus and a communication path management method therefor |
US5535375A (en) * | 1992-04-20 | 1996-07-09 | International Business Machines Corporation | File manager for files shared by heterogeneous clients |
US5771349A (en) * | 1992-05-12 | 1998-06-23 | Compaq Computer Corp. | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5280477A (en) * | 1992-08-17 | 1994-01-18 | E-Systems, Inc. | Network synchronous data distribution system |
US5642482A (en) * | 1992-12-22 | 1997-06-24 | Bull, S.A. | System for network transmission using a communication co-processor comprising a microprocessor to implement protocol layer and a microprocessor to manage DMA |
US5619650A (en) * | 1992-12-31 | 1997-04-08 | International Business Machines Corporation | Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message |
US5778013A (en) * | 1993-02-05 | 1998-07-07 | Hewlett-Packard Company | Method and apparatus for verifying CRC codes |
US5758194A (en) * | 1993-11-30 | 1998-05-26 | Intel Corporation | Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer |
US6181705B1 (en) * | 1993-12-21 | 2001-01-30 | International Business Machines Corporation | System and method for management a communications buffer |
US5517668A (en) * | 1994-01-10 | 1996-05-14 | Amdahl Corporation | Distributed protocol framework |
US5790804A (en) * | 1994-04-12 | 1998-08-04 | Mitsubishi Electric Information Technology Center America, Inc. | Computer network interface and network protocol with direct deposit messaging |
US6047356A (en) * | 1994-04-18 | 2000-04-04 | Sonic Solutions | Method of dynamically allocating network node memory's partitions for caching distributed files |
US5548730A (en) * | 1994-09-20 | 1996-08-20 | Intel Corporation | Intelligent bus bridge for input/output subsystems in a computer system |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
US5633780A (en) * | 1994-12-21 | 1997-05-27 | Polaroid Corporation | Electrostatic discharge protection device |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5758084A (en) * | 1995-02-27 | 1998-05-26 | Hewlett-Packard Company | Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
US5629933A (en) * | 1995-06-07 | 1997-05-13 | International Business Machines Corporation | Method and system for enhanced communication in a multisession packet based communication system |
US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
US5778419A (en) * | 1995-08-16 | 1998-07-07 | Microunity Systems Engineering, Inc. | DRAM with high bandwidth interface that uses packets and arbitration |
US5794061A (en) * | 1995-08-16 | 1998-08-11 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US5758186A (en) * | 1995-10-06 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for generically handling diverse protocol method calls in a client/server computer system |
US5913028A (en) * | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US5758089A (en) * | 1995-11-02 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for burst transferring ATM packet header and data to a host computer system |
US5768618A (en) * | 1995-12-21 | 1998-06-16 | Ncr Corporation | Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space |
US6078733A (en) * | 1996-03-08 | 2000-06-20 | Mitsubishi Electric Information Technolgy Center America, Inc. (Ita) | Network interface having support for message processing and an interface to a message coprocessor |
US6021507A (en) * | 1996-05-03 | 2000-02-01 | International Business Machines Corporation | Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure |
US5727142A (en) * | 1996-05-03 | 1998-03-10 | International Business Machines Corporation | Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure |
US5878225A (en) * | 1996-06-03 | 1999-03-02 | International Business Machines Corporation | Dual communication services interface for distributed transaction processing |
US5742765A (en) * | 1996-06-19 | 1998-04-21 | Pmc-Sierra, Inc. | Combination local ATM segmentation and reassembly and physical layer device |
US5749095A (en) * | 1996-07-01 | 1998-05-05 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient write operations |
US5751715A (en) * | 1996-08-08 | 1998-05-12 | Gadzoox Microsystems, Inc. | Accelerator fiber channel hub and protocol |
US6038562A (en) * | 1996-09-05 | 2000-03-14 | International Business Machines Corporation | Interface to support state-dependent web applications accessing a relational database |
US5892903A (en) * | 1996-09-12 | 1999-04-06 | Internet Security Systems, Inc. | Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system |
US20030110344A1 (en) * | 1996-09-18 | 2003-06-12 | Andre Szczepanek | Communications systems, apparatus and methods |
US6034963A (en) * | 1996-10-31 | 2000-03-07 | Iready Corporation | Multiple network protocol encoder/decoder and data processor |
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
US5930830A (en) * | 1997-01-13 | 1999-07-27 | International Business Machines Corporation | System and method for concatenating discontiguous memory pages |
US5872919A (en) * | 1997-05-07 | 1999-02-16 | Advanced Micro Devices, Inc. | Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic |
US5920566A (en) * | 1997-06-30 | 1999-07-06 | Sun Microsystems, Inc. | Routing in a multi-layer distributed network element |
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
US6067569A (en) * | 1997-07-10 | 2000-05-23 | Microsoft Corporation | Fast-forwarding and filtering of network packets in a computer system |
US6021446A (en) * | 1997-07-11 | 2000-02-01 | Sun Microsystems, Inc. | Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine |
US6173333B1 (en) * | 1997-07-18 | 2001-01-09 | Interprophet Corporation | TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols |
US6385647B1 (en) * | 1997-08-18 | 2002-05-07 | Mci Communications Corporations | System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data |
US5898713A (en) * | 1997-08-29 | 1999-04-27 | Cisco Technology, Inc. | IP checksum offload |
US6172980B1 (en) * | 1997-09-11 | 2001-01-09 | 3Com Corporation | Multiple protocol support |
US6041058A (en) * | 1997-09-11 | 2000-03-21 | 3Com Corporation | Hardware filtering method and apparatus |
US6065096A (en) * | 1997-09-30 | 2000-05-16 | Lsi Logic Corporation | Integrated single chip dual mode raid controller |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6389479B1 (en) * | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US6427173B1 (en) * | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US6247060B1 (en) * | 1997-10-14 | 2001-06-12 | Alacritech, Inc. | Passing a communication control block from host to a local device such that a message is processed on the device |
US6345302B1 (en) * | 1997-10-30 | 2002-02-05 | Tsi Telsys, Inc. | System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite |
US6057863A (en) * | 1997-10-31 | 2000-05-02 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces |
US6061368A (en) * | 1997-11-05 | 2000-05-09 | Xylan Corporation | Custom circuitry for adaptive hardware routing engine |
US6421753B1 (en) * | 1997-12-31 | 2002-07-16 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US6041381A (en) * | 1998-02-05 | 2000-03-21 | Crossroads Systems, Inc. | Fibre channel to SCSI addressing method and system |
US6016513A (en) * | 1998-02-19 | 2000-01-18 | 3Com Corporation | Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer |
US6246683B1 (en) * | 1998-05-01 | 2001-06-12 | 3Com Corporation | Receive processing with network protocol bypass |
US6070200A (en) * | 1998-06-02 | 2000-05-30 | Adaptec, Inc. | Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus |
US6202105B1 (en) * | 1998-06-02 | 2001-03-13 | Adaptec, Inc. | Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus |
US6765901B1 (en) * | 1998-06-11 | 2004-07-20 | Nvidia Corporation | TCP/IP/PPP modem |
US6370599B1 (en) * | 1998-06-12 | 2002-04-09 | Microsoft Corporation | System for ascertaining task off-load capabilities of a device and enabling selected capabilities and when needed selectively and dynamically requesting the device to perform the task |
US20020073223A1 (en) * | 1998-09-28 | 2002-06-13 | Raytheon Company, A Delaware Corporation | Method and system for scheduling network communication |
US6223242B1 (en) * | 1998-09-28 | 2001-04-24 | Sifera, Inc. | Linearly expandable self-routing crossbar switch |
US6356951B1 (en) * | 1999-03-01 | 2002-03-12 | Sun Microsystems, Inc. | System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction |
US6389468B1 (en) * | 1999-03-01 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for distributing network traffic processing on a multiprocessor computer |
US6678283B1 (en) * | 1999-03-10 | 2004-01-13 | Lucent Technologies Inc. | System and method for distributing packet processing in an internetworking device |
US6345301B1 (en) * | 1999-03-30 | 2002-02-05 | Unisys Corporation | Split data path distributed network protocol |
US6526446B1 (en) * | 1999-04-27 | 2003-02-25 | 3Com Corporation | Hardware only transmission control protocol segmentation for a high performance network interface card |
US6343360B1 (en) * | 1999-05-13 | 2002-01-29 | Microsoft Corporation | Automated configuration of computing system using zip code data |
US6427169B1 (en) * | 1999-07-30 | 2002-07-30 | Intel Corporation | Parsing a packet header |
US6842896B1 (en) * | 1999-09-03 | 2005-01-11 | Rainbow Technologies, Inc. | System and method for selecting a server in a multiple server license management system |
US6681364B1 (en) * | 1999-09-24 | 2004-01-20 | International Business Machines Corporation | Cyclic redundancy check for partitioned frames |
US6421742B1 (en) * | 1999-10-29 | 2002-07-16 | Intel Corporation | Method and apparatus for emulating an input/output unit when transferring data over a network |
US6570884B1 (en) * | 1999-11-05 | 2003-05-27 | 3Com Corporation | Receive filtering for communication interface |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6591310B1 (en) * | 2000-05-11 | 2003-07-08 | Lsi Logic Corporation | Method of responding to I/O request and associated reply descriptor |
US6912522B2 (en) * | 2000-09-11 | 2005-06-28 | Ablesoft, Inc. | System, method and computer program product for optimization and acceleration of data transport and processing |
US20030066011A1 (en) * | 2001-04-12 | 2003-04-03 | Siliquent Technologies Ltd. | Out-of-order calculation of error detection codes |
US20040054814A1 (en) * | 2002-09-17 | 2004-03-18 | Mcdaniel Scott S. | System and method for handling frames in multiple stack environments |
US20040059926A1 (en) * | 2002-09-20 | 2004-03-25 | Compaq Information Technology Group, L.P. | Network interface controller with firmware enabled licensing features |
Cited By (167)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098297B2 (en) | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
US8856379B2 (en) | 1997-10-14 | 2014-10-07 | A-Tech Llc | Intelligent network interface system and method for protocol processing |
US8131880B2 (en) | 1997-10-14 | 2012-03-06 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US8447803B2 (en) | 1997-10-14 | 2013-05-21 | Alacritech, Inc. | Method and apparatus for distributing network traffic processing on a multiprocessor computer |
US8805948B2 (en) | 1997-10-14 | 2014-08-12 | A-Tech Llc | Intelligent network interface system and method for protocol processing |
US20050204058A1 (en) * | 1997-10-14 | 2005-09-15 | Philbrick Clive M. | Method and apparatus for data re-assembly with a high performance network interface |
US7945699B2 (en) | 1997-10-14 | 2011-05-17 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US8631140B2 (en) | 1997-10-14 | 2014-01-14 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US9009223B2 (en) | 1997-10-14 | 2015-04-14 | Alacritech, Inc. | Method and apparatus for processing received network packets on a network interface for a computer |
US7996568B2 (en) | 1998-06-11 | 2011-08-09 | Nvidia Corporation | System, method, and computer program product for an offload engine with DMA capabilities |
US20040213290A1 (en) * | 1998-06-11 | 2004-10-28 | Johnson Michael Ward | TCP/IP/PPP modem |
US7483375B2 (en) | 1998-06-11 | 2009-01-27 | Nvidia Corporation | TCP/IP/PPP modem |
US8135842B1 (en) | 1999-08-16 | 2012-03-13 | Nvidia Corporation | Internet jack |
US8977711B2 (en) | 2000-04-17 | 2015-03-10 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure including wirelessly coupled devices |
US9185185B2 (en) | 2000-04-17 | 2015-11-10 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US20060129697A1 (en) * | 2000-04-17 | 2006-06-15 | Mark Vange | System and method for implementing application functionality within a network infrastructure |
US8463935B2 (en) | 2000-04-17 | 2013-06-11 | Circadence Corporation | Data prioritization system and method therefor |
US8417770B2 (en) | 2000-04-17 | 2013-04-09 | Circadence Corporation | Data redirection system and method therefor |
US8386641B2 (en) | 2000-04-17 | 2013-02-26 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
USRE45009E1 (en) | 2000-04-17 | 2014-07-08 | Circadence Corporation | Dynamic network link acceleration |
US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
US8977712B2 (en) | 2000-04-17 | 2015-03-10 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure including a wireless communication link |
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US20110238860A1 (en) * | 2000-04-17 | 2011-09-29 | Mark Vange | System and method for implementing application functionality within a network infrastructure |
US8024481B2 (en) | 2000-04-17 | 2011-09-20 | Circadence Corporation | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US7975066B2 (en) | 2000-04-17 | 2011-07-05 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US7962654B2 (en) | 2000-04-17 | 2011-06-14 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US9148293B2 (en) | 2000-04-17 | 2015-09-29 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US10931775B2 (en) | 2000-04-17 | 2021-02-23 | Circadence Corporation | Optimization of enhanced network links |
US9380129B2 (en) | 2000-04-17 | 2016-06-28 | Circadence Corporation | Data redirection system and method therefor |
US20100157998A1 (en) * | 2000-04-17 | 2010-06-24 | Mark Vange | System and method for implementing application functionality within a network infrastructure |
US9436542B2 (en) | 2000-04-17 | 2016-09-06 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US9578124B2 (en) | 2000-04-17 | 2017-02-21 | Circadence Corporation | Optimization of enhanced network links |
US9723105B2 (en) | 2000-04-17 | 2017-08-01 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US20090182868A1 (en) * | 2000-04-17 | 2009-07-16 | Mcfate Marlin Popeye | Automated network infrastructure test and diagnostic system and method therefor |
US9923987B2 (en) | 2000-04-17 | 2018-03-20 | Circadence Corporation | Optimization of enhanced network links |
US20090187669A1 (en) * | 2000-04-17 | 2009-07-23 | Randy Thornton | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US10858503B2 (en) | 2000-04-17 | 2020-12-08 | Circadence Corporation | System and devices facilitating dynamic network link acceleration |
US10033840B2 (en) | 2000-04-17 | 2018-07-24 | Circadence Corporation | System and devices facilitating dynamic network link acceleration |
US10154115B2 (en) | 2000-04-17 | 2018-12-11 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US10205795B2 (en) | 2000-04-17 | 2019-02-12 | Circadence Corporation | Optimization of enhanced network links |
US20100011116A1 (en) * | 2000-04-17 | 2010-01-14 | Randy Thornton | Dynamic network link acceleration |
US10329410B2 (en) | 2000-04-17 | 2019-06-25 | Circadence Corporation | System and devices facilitating dynamic network link acceleration |
US10819826B2 (en) | 2000-04-17 | 2020-10-27 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US10516751B2 (en) | 2000-04-17 | 2019-12-24 | Circadence Corporation | Optimization of enhanced network links |
US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US7302499B2 (en) | 2000-11-10 | 2007-11-27 | Nvidia Corporation | Internet modem streaming socket method |
US20050271042A1 (en) * | 2000-11-10 | 2005-12-08 | Michael Johnson | Internet modem streaming socket method |
US20070064724A1 (en) * | 2001-01-26 | 2007-03-22 | Minami John S | Offload system, method, and computer program product for processing network communications associated with a plurality of ports |
US8073002B2 (en) | 2001-01-26 | 2011-12-06 | Nvidia Corporation | System, method, and computer program product for multi-mode network interface operation |
US8059680B2 (en) | 2001-01-26 | 2011-11-15 | Nvidia Corporation | Offload system, method, and computer program product for processing network communications associated with a plurality of ports |
US20070064725A1 (en) * | 2001-01-26 | 2007-03-22 | Minami John S | System, method, and computer program product for multi-mode network interface operation |
US20090097499A1 (en) * | 2001-04-11 | 2009-04-16 | Chelsio Communications, Inc. | Multi-purpose switching network interface controller |
US20040172485A1 (en) * | 2001-04-11 | 2004-09-02 | Kianoosh Naghshineh | Multi-purpose switching network interface controller |
US7447795B2 (en) | 2001-04-11 | 2008-11-04 | Chelsio Communications, Inc. | Multi-purpose switching network interface controller |
US8032655B2 (en) | 2001-04-11 | 2011-10-04 | Chelsio Communications, Inc. | Configurable switching network interface controller using forwarding engine |
US20030165160A1 (en) * | 2001-04-24 | 2003-09-04 | Minami John Shigeto | Gigabit Ethernet adapter |
US8218555B2 (en) | 2001-04-24 | 2012-07-10 | Nvidia Corporation | Gigabit ethernet adapter |
US20040081202A1 (en) * | 2002-01-25 | 2004-04-29 | Minami John S | Communications processor |
US20040062267A1 (en) * | 2002-03-06 | 2004-04-01 | Minami John Shigeto | Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols |
US9055104B2 (en) | 2002-04-22 | 2015-06-09 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgment that transmit data has been received by a remote device |
US20070253430A1 (en) * | 2002-04-23 | 2007-11-01 | Minami John S | Gigabit Ethernet Adapter |
US8417852B2 (en) * | 2003-06-05 | 2013-04-09 | Nvidia Corporation | Uploading TCP frame data to user buffers and buffers in system memory |
US20080056124A1 (en) * | 2003-06-05 | 2008-03-06 | Sameer Nanda | Using TCP/IP offload to accelerate packet filtering |
US20040258076A1 (en) * | 2003-06-05 | 2004-12-23 | Jha Ashutosh K. | Setting up a delegated TCP connection |
US20040249881A1 (en) * | 2003-06-05 | 2004-12-09 | Jha Ashutosh K. | Transmitting commands and information between a TCP/IP stack and an offload unit |
US7412488B2 (en) | 2003-06-05 | 2008-08-12 | Nvidia Corporation | Setting up a delegated TCP connection for hardware-optimized processing |
US7613109B2 (en) | 2003-06-05 | 2009-11-03 | Nvidia Corporation | Processing data for a TCP connection using an offload unit |
US7991918B2 (en) | 2003-06-05 | 2011-08-02 | Nvidia Corporation | Transmitting commands and information between a TCP/IP stack and an offload unit |
US20040258075A1 (en) * | 2003-06-05 | 2004-12-23 | Sidenblad Paul J. | Editing outbound TCP frames and generating acknowledgements |
US7609696B2 (en) | 2003-06-05 | 2009-10-27 | Nvidia Corporation | Storing and accessing TCP connection information |
US20040249998A1 (en) * | 2003-06-05 | 2004-12-09 | Anand Rajagopalan | Uploading TCP frame data to user buffers and buffers in system memory |
US7363572B2 (en) | 2003-06-05 | 2008-04-22 | Nvidia Corporation | Editing outbound TCP frames and generating acknowledgements |
US7420931B2 (en) | 2003-06-05 | 2008-09-02 | Nvidia Corporation | Using TCP/IP offload to accelerate packet filtering |
US20040246974A1 (en) * | 2003-06-05 | 2004-12-09 | Gyugyi Paul J. | Storing and accessing TCP connection information |
US20040257986A1 (en) * | 2003-06-05 | 2004-12-23 | Jha Ashutosh K. | Processing data for a TCP connection using an offload unit |
US7552441B2 (en) * | 2003-12-17 | 2009-06-23 | Electronics And Telecommunications Research Institute | Socket compatibility layer for TOE |
US20050135361A1 (en) * | 2003-12-17 | 2005-06-23 | Eun-Ji Lim | Socket compatibility layer for toe |
US7899913B2 (en) | 2003-12-19 | 2011-03-01 | Nvidia Corporation | Connection management system and method for a transport offload engine |
US20050138180A1 (en) * | 2003-12-19 | 2005-06-23 | Iredy Corporation | Connection management system and method for a transport offload engine |
US8065439B1 (en) * | 2003-12-19 | 2011-11-22 | Nvidia Corporation | System and method for using metadata in the context of a transport offload engine |
US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
US8549170B2 (en) | 2003-12-19 | 2013-10-01 | Nvidia Corporation | Retransmission system and method for a transport offload engine |
US20070283242A1 (en) * | 2003-12-26 | 2007-12-06 | Kang-Chan Lee | Xml Processor and Xml Processing Method in System Having the Xml Processor |
EP1562325A3 (en) * | 2004-02-04 | 2005-10-05 | Alcatel | Enabling communication node capabilities on a Pay-per-use basis |
US7376224B2 (en) | 2004-02-04 | 2008-05-20 | Alcatel Lucent | Pay-per-use communication node capabilities |
US20050169447A1 (en) * | 2004-02-04 | 2005-08-04 | Alcatel | Pay-per-use communication node capabilities |
US20050193316A1 (en) * | 2004-02-20 | 2005-09-01 | Iready Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity |
US7565701B2 (en) * | 2004-03-29 | 2009-07-21 | Bryte Computer Technologies, Inc. | Controller and resource management system and method with improved security for independently controlling and managing a computer system |
US7469421B2 (en) * | 2004-03-29 | 2008-12-23 | Bryte Computer Technologies, Inc. | Controller and resource management system and method with improved security for independently controlling and managing a computer system |
US20070220182A1 (en) * | 2004-03-29 | 2007-09-20 | Bryte Computer Technologies, Inc. | Controller and resource management system and method with improved security for independently controlling and managing a computer system |
US20070245125A1 (en) * | 2004-03-29 | 2007-10-18 | Bryte Computer Technologies, Inc. | Controller and resource management system and method with improved security for independently controlling and managing a computer system |
US7698413B1 (en) | 2004-04-12 | 2010-04-13 | Nvidia Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections |
US7945705B1 (en) | 2004-05-25 | 2011-05-17 | Chelsio Communications, Inc. | Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages |
US7831745B1 (en) | 2004-05-25 | 2010-11-09 | Chelsio Communications, Inc. | Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
US20140211804A1 (en) * | 2004-11-16 | 2014-07-31 | Srihari Makikeni | Packet coalescing |
US9485178B2 (en) * | 2004-11-16 | 2016-11-01 | Intel Corporation | Packet coalescing |
US20060143473A1 (en) * | 2004-12-29 | 2006-06-29 | Kumar Mohan J | Software key implementation using system management firmware |
US20060176324A1 (en) * | 2005-02-08 | 2006-08-10 | International Business Machines Corporation | Display system having demand-based resolution and method therefor |
US7616563B1 (en) | 2005-08-31 | 2009-11-10 | Chelsio Communications, Inc. | Method to implement an L4-L7 switch using split connections and an offloading NIC |
US7724658B1 (en) | 2005-08-31 | 2010-05-25 | Chelsio Communications, Inc. | Protocol offload transmit traffic management |
US8155001B1 (en) | 2005-08-31 | 2012-04-10 | Chelsio Communications, Inc. | Protocol offload transmit traffic management |
US8139482B1 (en) | 2005-08-31 | 2012-03-20 | Chelsio Communications, Inc. | Method to implement an L4-L7 switch using split connections and an offloading NIC |
US8339952B1 (en) | 2005-08-31 | 2012-12-25 | Chelsio Communications, Inc. | Protocol offload transmit traffic management |
US7760733B1 (en) | 2005-10-13 | 2010-07-20 | Chelsio Communications, Inc. | Filtering ingress packets in network interface circuitry |
US7715436B1 (en) | 2005-11-18 | 2010-05-11 | Chelsio Communications, Inc. | Method for UDP transmit protocol offload processing with traffic management |
US8213427B1 (en) | 2005-12-19 | 2012-07-03 | Chelsio Communications, Inc. | Method for traffic scheduling in intelligent network interface circuitry |
US7660264B1 (en) | 2005-12-19 | 2010-02-09 | Chelsio Communications, Inc. | Method for traffic schedulign in intelligent network interface circuitry |
US8686838B1 (en) | 2006-01-12 | 2014-04-01 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US7924840B1 (en) | 2006-01-12 | 2011-04-12 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US7660306B1 (en) | 2006-01-12 | 2010-02-09 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US9537878B1 (en) | 2007-04-16 | 2017-01-03 | Chelsio Communications, Inc. | Network adaptor configured for connection establishment offload |
US8935406B1 (en) | 2007-04-16 | 2015-01-13 | Chelsio Communications, Inc. | Network adaptor configured for connection establishment offload |
US20080263171A1 (en) * | 2007-04-19 | 2008-10-23 | Alacritech, Inc. | Peripheral device that DMAS the same data to different locations in a computer |
US7826350B1 (en) | 2007-05-11 | 2010-11-02 | Chelsio Communications, Inc. | Intelligent network adaptor with adaptive direct data placement scheme |
US8356112B1 (en) | 2007-05-11 | 2013-01-15 | Chelsio Communications, Inc. | Intelligent network adaptor with end-to-end flow control |
US8589587B1 (en) * | 2007-05-11 | 2013-11-19 | Chelsio Communications, Inc. | Protocol offload in intelligent network adaptor, including application level signalling |
US8060644B1 (en) | 2007-05-11 | 2011-11-15 | Chelsio Communications, Inc. | Intelligent network adaptor with end-to-end flow control |
US7831720B1 (en) | 2007-05-17 | 2010-11-09 | Chelsio Communications, Inc. | Full offload of stateful connections, with partial connection offload |
US20100083006A1 (en) * | 2007-05-24 | 2010-04-01 | Panasonic Corporation | Memory controller, nonvolatile memory device, nonvolatile memory system, and access device |
US20090222832A1 (en) * | 2008-02-29 | 2009-09-03 | Dell Products, Lp | System and method of enabling resources within an information handling system |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8893159B1 (en) | 2008-04-01 | 2014-11-18 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US9413788B1 (en) | 2008-07-31 | 2016-08-09 | Alacritech, Inc. | TCP offload send optimization |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
US9667729B1 (en) | 2008-07-31 | 2017-05-30 | Alacritech, Inc. | TCP offload send optimization |
US8131904B2 (en) * | 2008-08-08 | 2012-03-06 | Dell Products, Lp | Processing module, interface, and information handling system |
US20100033433A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Display system and method within a reduced resource information handling system |
US20100036980A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Multi-mode processing module and method of use |
US8134565B2 (en) | 2008-08-08 | 2012-03-13 | Dell Products, Lp | System, module and method of enabling a video interface within a limited resource enabled information handling system |
US20100036983A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | Processing module, interface, and information handling system |
US20110225326A1 (en) * | 2008-08-08 | 2011-09-15 | Dell Products, Lp | Multi-Mode Processing Module and Method of Use |
US8520014B2 (en) | 2008-08-08 | 2013-08-27 | Dell Products, Lp | System, module, and method of enabling a video interface within a limited resource enabled information handling system |
US7921239B2 (en) | 2008-08-08 | 2011-04-05 | Dell Products, Lp | Multi-mode processing module and method of use |
US8463957B2 (en) | 2008-08-08 | 2013-06-11 | Dell Products, Lp | Enabling access to peripheral resources at a processor |
US20100033629A1 (en) * | 2008-08-08 | 2010-02-11 | Dell Products, Lp | System, module and method of enabling a video interface within a limited resource enabled information handling system |
US8255595B2 (en) | 2008-08-08 | 2012-08-28 | Dell Products, Lp | Enabling access to peripheral resources at a processor |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
US8863268B2 (en) | 2008-10-29 | 2014-10-14 | Dell Products, Lp | Security module and method within an information handling system |
US10516668B2 (en) | 2008-10-29 | 2019-12-24 | Dell Products, Lp | Security module and method within an information handling system |
US20100107238A1 (en) * | 2008-10-29 | 2010-04-29 | Dell Products, Lp | Security module and method within an information handling system |
US8769328B2 (en) | 2008-10-30 | 2014-07-01 | Dell Products, Lp | System and method of utilizing resources within an information handling system |
US20100115303A1 (en) * | 2008-10-30 | 2010-05-06 | Dell Products, Lp | System and method of utilizing resources within an information handling system |
US9407694B2 (en) | 2008-10-30 | 2016-08-02 | Dell Products, Lp | System and method of polling with an information handling system |
US8370673B2 (en) | 2008-10-30 | 2013-02-05 | Dell Products, Lp | System and method of utilizing resources within an information handling system |
US20100115050A1 (en) * | 2008-10-30 | 2010-05-06 | Dell Products, Lp | System and method of polling with an information handling system |
US10148787B2 (en) | 2008-10-30 | 2018-12-04 | Dell Products, Lp | System and method of polling with an information handling system |
US8799695B2 (en) | 2008-10-31 | 2014-08-05 | Dell Products, Lp | Information handling system with processing system, low-power processing system and shared resources |
US20100115314A1 (en) * | 2008-10-31 | 2010-05-06 | Dell Products, Lp | Power control for information handling system having shared resources |
US20100115313A1 (en) * | 2008-10-31 | 2010-05-06 | Dell Products, Lp | Information handling system with integrated low-power processing resources |
US8037333B2 (en) | 2008-10-31 | 2011-10-11 | Dell Products, Lp | Information handling system with processing system, low-power processing system and shared resources |
US8065540B2 (en) | 2008-10-31 | 2011-11-22 | Dell Products, Lp | Power control for information handling system having shared resources |
US8271817B2 (en) | 2008-10-31 | 2012-09-18 | Dell Products, Lp | Information handling system with processing system, low-power processing system and shared resources |
US8583953B2 (en) | 2008-10-31 | 2013-11-12 | Dell Products, Lp | Power control for information handling system having shared resources |
US9367514B2 (en) * | 2010-06-30 | 2016-06-14 | Intellectual Discovery Co., Ltd. | Communication node and communication method |
US20130103852A1 (en) * | 2010-06-30 | 2013-04-25 | Heeyoung Jung | Communication node and communication method |
US20120163294A1 (en) * | 2010-12-22 | 2012-06-28 | Electronics And Telecommunications Research Institute | Packet data transfer apparatus and packet data transfer method in mobile communication system |
US20170264965A1 (en) * | 2016-03-11 | 2017-09-14 | Echostar Technologies L.L.C. | Television receiver authorization over internet protocol network |
US10291965B2 (en) * | 2016-03-11 | 2019-05-14 | DISH Technologies L.L.C. | Television receiver authorization over internet protocol network |
CN109104743A (en) * | 2018-07-09 | 2018-12-28 | 南京邮电大学 | Data unloading method based on price in a kind of heterogeneous wireless network |
Also Published As
Publication number | Publication date |
---|---|
US20080140574A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040088262A1 (en) | Enabling an enhanced function of an electronic device | |
US7769868B2 (en) | Method and system for assigning client requests to a server | |
US7484207B2 (en) | Software execution control system and software execution control program | |
US7117364B1 (en) | System and method for downloading application components to a chipcard | |
US8656188B2 (en) | Single command payload transfers block of security functions to a storage device | |
US8533801B2 (en) | System and method for binding a subscription-based computing system to an internet service | |
US20040059937A1 (en) | Apparatus, method and computer program for controlling use of a content | |
US6748532B1 (en) | Universal smart card access system | |
US20080126223A1 (en) | Managing transfer of content | |
US20020194079A1 (en) | Method for monitoring and restricting online purchases | |
US7627899B1 (en) | Method and apparatus for improving user experience for legitimate traffic of a service impacted by denial of service attack | |
US7487203B2 (en) | Data-processing apparatus, data-processing method and program | |
MX2007005662A (en) | System and method for distribution of provisioning packets. | |
US20130093574A1 (en) | Communication device, commnunication method, and program | |
US20030101339A1 (en) | Method and system for transmitting sensitive information over a network | |
US7797194B1 (en) | Method and apparatus for offering for sale collectibles on primary and secondary markets | |
US20150294317A1 (en) | System and method for securely transmitting data using video validation | |
GB2432932A (en) | Protection of non-encrypted biometric data stored in a smart card | |
JP4236830B2 (en) | Storage device with upload function | |
CN110266686B (en) | Data sharing method, device, equipment and computer readable storage medium | |
US20020194135A1 (en) | System and method for providing e-services | |
US7966401B2 (en) | Method and apparatus for containing a denial of service attack using hardware resources on a network interface card | |
US7123586B1 (en) | Bandwidth sharing between devices in a communication system | |
US9185110B2 (en) | Device and method for secure access to a remote server | |
GB2390180A (en) | Financial agent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALACRITECH, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOUCHER, LAURENCE B.;LEE, ESTHER;BLACKBOROW, RICHARD;AND OTHERS;REEL/FRAME:013873/0837;SIGNING DATES FROM 20030313 TO 20030317 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |