Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Sub-scanning interval adjusting apparatus for multi-beam scanning unit
Patent Number: 7,151,556 Issued on 12/19/2006 to Yoo

Title: Apparatus and method for changing the playback rate of recorded speech
Patent Number: 7,143,029 Issued on 11/28/2006 to Elshafei

Title: Electric power steering control device
Patent Number: 7,142,964 Issued on 11/28/2006 to Mukai,   et al.

Title: Ranking parser for a natural language processing system
Patent Number: 7,143,036 Issued on 11/28/2006 to Weise

Title: Reversible crosslinking method for making an electro-optic polymer
Patent Number: 7,144,960 Issued on 12/05/2006 to Jen,   et al.

Title: ALD of tantalum using a hydride reducing agent
Patent Number: 7,144,806 Issued on 12/05/2006 to Fair,   et al.

Title: DRAM memory integration method
Patent Number: 6,759,304 Issued on 07/06/2004 to Coronel,   et al.

Title: Charging method in telecommunications network
Patent Number: 6,760,417 Issued on 07/06/2004 to Wallenius

Title: Catalytic converter and catalyst element therefor
Patent Number: 7,157,060 Issued on 01/02/2007 to Newburry

Title: Induction system for a four cycle engine
Patent Number: 7,152,706 Issued on 12/26/2006 to Pichler,   et al.

Title: Lubrication system for two-cycle engine
Patent Number: 7,150,249 Issued on 12/19/2006 to Kato

Title: Digital detection of blockers for wireless receiver
Patent Number: 7,151,473 Issued on 12/19/2006 to Fontaine,   et al.

Title: Reference voltage stabilization in CMOS sensors
Patent Number: 7,151,472 Issued on 12/19/2006 to Huang,   et al.

Title: Disposable body fluid absorbent pad
Patent Number: 7,156,834 Issued on 01/02/2007 to Kawata,   et al.

Title: Generating and searching compressed data
Patent Number: 7,151,471 Issued on 12/19/2006 to Baldwin,   et al.

Title: Substituted 5-aryl-2-(2-hydroxyphenyl)-2H-benzotriazole UV absorbers, compositions stabilized therewith and process for preparation thereof
Patent Number: 6,774,238 Issued on 08/10/2004 to Pastor,   et al.

Title: Porous resin bead production method
Patent Number: 7,153,890 Issued on 12/26/2006 to Mori,   et al.

Title: Method for interleaving sheets
Patent Number: 6,761,110 Issued on 07/13/2004 to Stark,   et al.

Title: Lost foam casting apparatus and method for creating hollow gating
Patent Number: 7,150,307 Issued on 12/19/2006 to Goettsch

Title: Radiation module capable of resisting reverse flow of hot fluid
Patent Number: 7,150,311 Issued on 12/19/2006 to Liu

Title: Multiphase reduced voltage starter with bypass relays, interphase electrical isolation and shared thermal mass
Patent Number: 7,149,064 Issued on 12/12/2006 to Nolden,   et al.

Title: Apparatus and method of encoding an image using a statistical model based on pixels
Patent Number: 6,760,480 Issued on 07/06/2004 to Hata,   et al.

Title: Control apparatus for fuel cell vehicle
Patent Number: 7,164,976 Issued on 01/16/2007 to Saeki,   et al.

Title: Data transmission system and occupant protection device
Patent Number: 7,164,979 Issued on 01/16/2007 to Kumazawa

Title: Cordless blind structure
Patent Number: 7,150,304 Issued on 12/19/2006 to Hsu

Title: Head supporting device and disk apparatus
Patent Number: 7,149,059 Issued on 12/12/2006 to Hashi,   et al.

Title: Electrical device having an electrical component safety apparatus
Patent Number: 7,150,635 Issued on 12/19/2006 to Ostmoe,   et al.

Title: System and method for reducing power dissipation in line driver circuits
Patent Number: 6,760,430 Issued on 07/06/2004 to McGinn,   et al.

Title: Shoe sole structures
Patent Number: 6,763,616 Issued on 07/20/2004 to Ellis, III

Title: Actuation device and method for high density hard disk drive head
Patent Number: 7,149,060 Issued on 12/12/2006 to Yang,   et al.

Title: Method and mold to control optical device polymerization
Patent Number: 7,144,528 Issued on 12/05/2006 to Altmann

Title: Flexible hybrid defect classification for semiconductor manufacturing
Patent Number: 7,142,992 Issued on 11/28/2006 to Huet,   et al.

Title: Extraction of bank routing number from information entered by a user
Patent Number: 6,760,470 Issued on 07/06/2004 to Bogosian,   et al.

Title: Heat dissipation structure for optical engine
Patent Number: 7,149,041 Issued on 12/12/2006 to Hsu,   et al.

Title: Inflatable snowshoe
Patent Number: 6,763,617 Issued on 07/20/2004 to Stafford

Title: Apparatus for lighting a display in a color dependent on information and method therefor
Patent Number: 6,762,740 Issued on 07/13/2004 to Kimura

Title: Metallic catalyst carrier
Patent Number: 6,761,980 Issued on 07/13/2004 to Sato,   et al.

Title: Cannula assembly
Patent Number: 7,156,836 Issued on 01/02/2007 to Teo

Title: Super predictive-transform coding
Patent Number: 6,760,479 Issued on 07/06/2004 to Feria

Title: Translator for infants and toddlers
Patent Number: 7,143,044 Issued on 11/28/2006 to Zadrozny,   et al.

Title: Bi/multi-directional filter cartridge and filter platform for mounting the cartridge thereon
Patent Number: 6,761,169 Issued on 07/13/2004 to Eswarappa

Title: Method and system for collecting traffic data
Patent Number: 7,142,977 Issued on 11/28/2006 to Knuuttila,   et al.

Title: Disposable diaper having elasticized wings and waistband
Patent Number: 7,156,829 Issued on 01/02/2007 to Minato,   et al.

Title: Interworking between services in telecommunications network
Patent Number: 6,760,425 Issued on 07/06/2004 to Tuunanen

Title: Round-robin arbiter with low jitter
Patent Number: 7,149,227 Issued on 12/12/2006 to Stoler,   et al.

Title: Method and apparatus for smoothing current transients in a content addressable memory (CAM) device with dummy searches
Patent Number: 7,149,101 Issued on 12/12/2006 to Om,   et al.

Title: Falsification discrimination method for iris recognition system
Patent Number: 6,760,467 Issued on 07/06/2004 to Min,   et al.

Title: Navigation system with map and point of interest databases
Patent Number: 7,142,978 Issued on 11/28/2006 to Nix,   et al.

Title: Two-layered conductive film having transmitting and expanding electrical signal functions
Patent Number: 7,151,578 Issued on 12/19/2006 to Uchida

Title: Broadcast receiving system and method, and medium storing a broadcast reception control program
Patent Number: 7,151,577 Issued on 12/19/2006 to Yamamoto,   et al.

Title: Industrial vehicle
Patent Number: 7,152,709 Issued on 12/26/2006 to Jung

Title: Calibration system for a spectral luminometer and a method for calibrating a spectral luminometer
Patent Number: 7,151,600 Issued on 12/19/2006 to Imura

Title: Acidic treatment liquid and method of treating copper surfaces
Patent Number: 7,153,449 Issued on 12/26/2006 to Hauf,   et al.

Title: Disposable surgical safety scalpel
Patent Number: 6,757,977 Issued on 07/06/2004 to Dambal,   et al.

Title: Grooved air bag
Patent Number: 7,152,880 Issued on 12/26/2006 to Pang,   et al.

Title: Method and apparatus for displaying aircraft engine characteristics
Patent Number: 7,142,131 Issued on 11/28/2006 to Sikora

Title: Performance enhancing additive material for the nickel hydroxide positive electrode in rechargeable alkaline cells
Patent Number: 7,172,710 Issued on 02/06/2007 to Ovshinsky,   et al.

Title: Hand mounted testing meter
Patent Number: 6,940,270 Issued on 09/06/2005 to Chen

Title: Multicontact connector insert and a multicontact connector fitted with such an insert
Patent Number: 7,150,649 Issued on 12/19/2006 to Van Der Mee,   et al.

Title: Mat fastener
Patent Number: 6,757,945 Issued on 07/06/2004 to Shibuya,   et al.

Title: Deflection angle detecting device
Patent Number: 7,151,596 Issued on 12/19/2006 to Takahashi,   et al.

Title: Focus error detecting device and optical pickup device having the same
Patent Number: 7,151,595 Issued on 12/19/2006 to Ogasawara

Title: Cargo container having an audio system
Patent Number: 7,142,126 Issued on 11/28/2006 to Jeon

Title: Method and system for reverting to default printer properties after a specified time interval
Patent Number: 7,151,611 Issued on 12/19/2006 to Sesek

Title: Electronic image pick-up apparatus and method of adjusting the focal position thereof
Patent Number: 6,954,233 Issued on 10/11/2005 to Ito

Title: Emulating advanced graphical user interface elements in a hypermedia content browser
Patent Number: 7,143,359 Issued on 11/28/2006 to Aggarwal,   et al.

Title: 3,5-Disubstituted-[1,2,4]-oxadiazoles and analogs as activators of caspases and inducers of apoptosis and the use thereof
Patent Number: 7,144,876 Issued on 12/05/2006 to Cai,   et al.

Title: Test pattern, inspection method, and device manufacturing method
Patent Number: 7,151,594 Issued on 12/19/2006 to Den Boef,   et al.

Title: Boat ramp improvements
Patent Number: 7,153,059 Issued on 12/26/2006 to Foxwell

Title: Method for evaluation of vegetables and fruits and evaluation apparatus therefor
Patent Number: 7,151,606 Issued on 12/19/2006 to Taniguchi,   et al.

Title: Wire lead guide and method for terminating a communications cable
Patent Number: 7,150,657 Issued on 12/19/2006 to Quenneville,   et al.

Title: Micromachined structures including glass vias with internal conductive layers anodically bonded to silicon-containing substrates
Patent Number: 6,759,309 Issued on 07/06/2004 to Gross

Title: Parametric compression/decompression modes for quantization matrices for digital audio
Patent Number: 7,143,030 Issued on 11/28/2006 to Chen,   et al.

Title: Trailer front mounted sprayers
Patent Number: 7,150,419 Issued on 12/19/2006 to Tomlonovic,   et al.

Title: Self aligned method of forming a semiconductor memory array of floating gate memory cells with buried bit-line and raised source line
Patent Number: 7,144,778 Issued on 12/05/2006 to Kianian,   et al.

Aligning IP payloads on memory boundaries for improved performance at a switch Number:7,386,699 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Aligning IP payloads on memory boundaries for improved performance at a switch

Abstract: A network device includes an alignment module to align payloads of received frames on memory boundaries in a buffer memory. The frames may be Ethernet frames which encapsulate IP (Internet Protocol) packets as payloads. The alignment module prefixes non-data bits to the frame header to shift the IP payload into a position in the memory regions such that the IP payload is aligned with the memory boundaries. The number x of non-data bits is determined according to x=m*c+p, where m is the bit depth of memory regions, n is the length of a header, p is the non-zero remainder of the ratio n/m, and c is an integer.

Patent Number: 7,386,699 Issued on 06/10/2008 to Bishara


Inventors: Bishara; Nafea (San Jose, CA)
Assignee: Marvell International Ltd. (Hamilton, BM)
Appl. No.: 11/761,876
Filed: June 12, 2007


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
10649187Aug., 20037231505

Current U.S. Class: 711/201 ; 709/236; 712/300
Field of Search: 711/201 709/236,238 712/300 710/33,52,54,65


References Cited [Referenced By]

U.S. Patent Documents
3916388 October 1975 Shimp et al.
5491802 February 1996 Thompson et al.
6009547 December 1999 Jaquette et al.
6507901 January 2003 Gopalakrishnan et al.
6823403 November 2004 Gulick et al.
2005/0132244 June 2005 Milway

Other References

IEEE Computer Society, "IEEE Standard for Information Technology--Telecommunications and Information Exchange Between Systems--Local and Metropolitan Area Networks--Specific Requirements--Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD ) Access Method and Physical Layer Specifications", IEEE Std 802.3--2002, Sections 1-3. cited by other .
Trinh, Linh, "TCP/IP Sniffer Designs Teaches Basics of Embedded Ethernet," Electronic Design Home, ID #2099, Apr. 15, 2002. cited by other .
Office Action from U.S. Appl. No. 10/649,187, filed Mar. 16, 2006. cited by other.

Primary Examiner: Lane; Jack

Parent Case Text



CROSS-REFERENCE

This application is a continuation of U.S. application Ser. No. 10/649,187, filed Aug. 26, 2003 now U.S. Pat. No. 7,231,505, the entire disclosure of which is hereby incorporated by reference.
Claims



What is claimed is:

1. An apparatus comprising: a network interface operative to receive an information portion, each information portion including a header and a payload, the header having n bits and the payload having a first bit adjacent the header; a memory including a plurality of memory regions, each memory region including m bits; a module operative to determine a ratio n/m and a corresponding non-zero remainder p, generate a non-data portion including x bits, where x=m*c+p and c is an integer, and append the non-data portion to the header; and a processor operative to receive the information portion with the non-data portion from the module and store the information portion in the memory, the non-data portion aligning the payload portion in the memory such that the first bit of the payload is aligned on a boundary between adjacent memory regions.

2. The apparatus of claim 1, wherein the module is operative to prefix the non-data portion to the header.

3. The apparatus of claim 1, wherein the module is operative to suffix the non-data portion to the header.

4. The apparatus of claim 1, wherein the network interface comprises a switch.

5. The apparatus of claim 1, wherein the information portion comprises an Ethernet frame.

6. The apparatus of claim 1, wherein the payload comprises an Internet Protocol (IP) packet.

7. The apparatus of claim 1, wherein n is 112.

8. The apparatus of claim 1, wherein m is 32.

9. The apparatus of claim 1, wherein p is 16.

10. The apparatus of claim 1, wherein the processor is operative to access the header in a shifted position in the memory.

11. The apparatus of claim 1, further comprising a protocol stack to extract the payload from the information portion in the memory.

12. The apparatus of claim 11, wherein the protocol stack comprises a TCP/IP software stack.

13. A method comprising: receiving an information portion including a header and a payload, the header having n bits and the payload having a first bit adjacent the header; determining a ratio n/m, wherein m is the number of bits included in a memory region and the ratio n/m has a non-zero remainder p; generating a non-data portion including x bits, where x=m*c+p and c is an integer; appending the non-data portion to the header; and storing the information portion with the non-data portion in a memory with a plurality of memory regions, the non-data portion aligning the payload in the memory such that the first bit of the payload is aligned on a boundary between adjacent memory regions.

14. The method of claim 13, wherein said appending comprises prefixing the non-data portion to the header.

15. The method of claim 13, wherein said appending comprises suffixing the non-data portion to the header.

16. The method of claim 13, wherein said receiving the information portion comprises receiving a frame at a switch.

17. The method of claim 13, wherein the information portion comprises an Ethernet frame.

18. The method of claim 13, wherein the payload comprises an Internet Protocol (IP) packet.

19. The method of claim 13, wherein n is 112.

20. The method of claim 13, wherein m is 32.

21. The method of claim 13, wherein p is 16.

22. The method of claim 13, further comprising accessing the header in a shifted position in the memory.

23. The method of claim 13, further comprising extracting the payload with a protocol stack.

24. The method of claim 23, wherein the protocol stack comprises a TCP/IP software stack.

25. An apparatus comprising: means for receiving information portions, each information portion including a header and a payload, the header having n bits and the payload having a first bit adjacent the header; a memory including a plurality of memory regions, each memory region including m bits; means for determining a ratio n/m and a corresponding non-zero remainder p; means for generating a non-data portion including x bits, where x=m*c+p and c is an integer; means for appending the non-data portion to the header; and means for receiving the information portion with the non-data portion and storing said information portion in the memory, the non-data portion aligning the payload in the memory such that the first bit of the payload is aligned on a boundary between adjacent memory regions.

26. The apparatus of claim 25, the means for appending comprises means for prefixing the non-data portion to the header.

27. The apparatus of claim 25, the means for appending comprises means for suffixing the non-data portion to the header.

28. The apparatus of claim 25, wherein the means for receiving comprises a switch.

29. The apparatus of claim 25, wherein the information portion comprises an Ethernet frame.

30. The apparatus of claim 25, wherein the payload comprises an Internet Protocol (IP) packet.

31. The apparatus of claim 25, wherein n is 112.

32. The apparatus of claim 25, wherein m is 32.

33. The apparatus of claim 25, wherein p is 16.

34. The apparatus of claim 25, further comprising means for accessing the information portion header in a shifted position in the memory.

35. The apparatus of claim 25, further comprising means for extracting the payload from the information portion in the memory.

36. The apparatus of claim 35, wherein the means for extracting comprises a TCP/IP software stack.
Description



BACKGROUND

TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication protocol of the Internet and may also be used as a communications protocol in private networks (e.g., intranets). TCP/IP is frequently referred to as a protocol stack, which refers to the layers through which data passes at both client and server ends of a data exchange. The TCP/IP model has four layers: an application layer (e.g., FTP, SMTP, or Telnet); a transport layer (TCP or UDP); a network layer (IP); and a link layer (e.g., Ethernet).

When TCP/IP is implemented in an Ethernet network, Ethernet frames encapsulate the data for the upper layers. FIG. 1 illustrates a format for an Ethernet frame 100. The Ethernet frame includes header information 105, a payload 110, and trailer information 140. The header information includes a 6 byte MAC Media Access Control) destination address (DA) portion 120, a 6 byte MAC source address (SA) portion 125, and a 2 byte Type portion 130. The trailer information 140 comprises a 4 byte CRC checksum portion. The payload 110 includes an IP packet with its own header 135, and its own payload 145. Network devices in the network may include TCP/IP software stacks, which enable the network device to extract data from the various packets (e.g., Ethernet frames, IP packets, and TCP datagrams) and to encapsulate and format data for transmission over the appropriate layer.

SUMMARY

A network device, e.g., a switch or a router, in a networked computer system may receive frames and store the frames in a memory having memory regions. The frames include header and payload portions. The header portions of the frames may be of a size that causes the payloads to be misaligned in the memory regions, i.e., not aligned on memory region boundaries, when the frame is stored in the memory.

The network device may include an alignment module that inserts a dummy portion in the header, either before or after the header. The presence of the dummy portion may shift the position of the payload in the memory such that the payload is aligned on a memory region boundary.

In an embodiment, the received frames may be Ethernet frames, which encapsulate IP packets. The frames may have an n-bit header and the memory may have m-bit memory regions, where the ratio n/m has a non-zero remainder p. The alignment module may generate a non-data portion consisting of x bits, where x=m*c+p and c is an integer. The alignment module may append the non-data portion to the header to shift the payload in the memory region such that the payload is aligned on a memory region boundary.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an Ethernet frame format.

FIG. 2 is a block diagram of a system including a network device according to an embodiment.

FIG. 3 is a block diagram of memory device including a frame with a misaligned payload.

FIG. 4 is a flowchart describing an alignment operation.

FIG. 5 is a block diagram of an Ethernet frame with prefixed dummy bytes.

FIG. 6 is a block diagram of memory device including a frame with an aligned payload.

FIG. 7 is a block diagram of an Ethernet frame with dummy bytes inserted between the header and the payload.

DETAILED DESCRIPTION

FIG. 2 shows a system according to an embodiment. The system may be part of a networked computer system, e.g., a wired or wireless Ethernet LAN (Local Area Network). The system may include a transceiver 210 and a network device 212. The network device may include a switch 215, a CPU (Central Processing Unit) 220 with a buffer memory 240, and a TCP/IP software stack 235. The CPU 220 may be tightly coupled to the switch. For example, the CPU may be embedded in the switch.

The transceiver may transmit frames, such as the Ethernet frame 100 shown in FIG. 1, to the switch. The switch may channel incoming frames from any of multiple input ports to the specific output port that will take the frame toward its intended destination. The switch may use the physical device (MAC) address in incoming frames to determine which port to forward the frame to and out of. The frame may then be forwarded to another device in the network.

In some instances, information in the IP packet in the payload of a frame may be needed by the switch. For example, the IP packet may be destined for another network 230. The switch, which may have routing capabilities (e.g., a Level 3 switch) or include a router, may use information in the IP header to route the IP packet to the other network. The CPU may use the TCP/IP stack 235 to extract the payload (i.e., the IP packet) from the frame. The switch may then use the information in the IP packet header to route the packet.

The CPU 220 may store a received Ethernet frame in the memory 240. In an embodiment, the memory may be partitioned into 4 byte (32-bit or word) memory regions 245. As shown in FIG. 3, in a standard Ethernet frame such as that shown in FIG. 1, the payload (e.g., IP packet) may not be aligned on a 4 byte boundary 305 if stored in the memory 240. The 14 bytes of header information including the MAC DA, MAC SA, and Type portions causes the payload to be misaligned by 2 bytes in a memory region 310.

The operating system utilized by the CPU may require the payload to be aligned on the 4-byte boundaries in the memory 240 for processing. If the payload is misaligned, the TCP/IP stack 235 may copy the payload (e.g., IP packet) into an alternative memory on the 4 byte boundaries (i.e., align the payload) and then use the copy in the alternative memory. However, this extra step may decrease performance in the switch.

In an embodiment, the network device may include an alignment module 260 that modifies the frames received at the switch to avoid such performance issues. FIG. 4 is a flowchart describing an alignment operation according to an embodiment. The alignment module 260 intercepts frames sent to the CPU (block 405) and prefixes two dummy bytes 505 to the beginning of the frames (block 410), as shown in FIG. 5. The frame is then stored in the memory (block 415). The dummy bytes extend the header to 16 bytes, which shifts the frame in the memory to align the payload on the 4-byte boundaries 305. The CPU 220 and TCP/IP stack 235 may be configured to ignore the dummy bytes 505, and locate and access the frame header information in the shifted byte locations (block 420). Consequently, the TCP/IP stack does not need to copy the payload to an alternative memory, thereby avoiding the performance issue.

In an alternative embodiment, the alignment module may suffix the dummy portion to the header, i.e., insert the dummy portion between the header and the payload, as shown in FIG. 7.

FIG. 1 illustrates an Ethernet frame in accordance with the IEEE 802.3 standard. However, other types of frames may benefit from the alignment technique. For example, an Ethernet V2 frame with an 802.1Q (VLAN) tag has an 18 byte header. Appending a two byte dummy portion to the header of such a frame would align the payload on the memory region boundaries 305 of the memory 240 (FIG. 3). Other frame formats include, for example, Ethernet V2 (14 byte header), Ethernet with 802.3 LLC/SNAP (22 byte header), and Ethernet with 802.3 LLC/SNAP and 802.1Q tag (26 byte header).

A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, blocks in the flowcharts may be skipped or performed out of order and still produce desirable results. Accordingly, other embodiments are within the scope of the following claims.

*


Free Web Sudoku Puzzles.
Solve with your browser.
                5
  1 9   4   7    
        3 5 6 8  
1     3          
3 4   1   9   5 6
          4     2
  3 7 6 9        
    5   8   3 9  
4                
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!