Router and methods using network addresses for virtualization -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer How to File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
     new ** File a Provisional Patent ** 
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
08/09/07 | 3 views | #20070183421 | Prev - Next | USPTO Class 370 | About this Page  370 rss/xml feed  monitor keywords

Router and methods using network addresses for virtualization

USPTO Application #: 20070183421
Title: Router and methods using network addresses for virtualization
Abstract: A router for use in a network includes a scalable architecture and performs methods for implementing quality of service on a logical unit behind a network port; and for implementing storage virtualization. The architecture includes a managing processor, a supervising processor; and a plurality of routing processors coupled to a fabric. The managing processor has an in-band link to a routing processor. A routing processor receives a frame from the network, determines by parsing the frame, the protocol and logical unit number, and routes the frame to a queue according to a traffic class associated with the logical unit number in routing information prepared for the processors. An arbitration scheme empties the queue in accordance with a deficit round robin technique. If a routing processor detects the frame's destination is a virtual entity, and so is part of a virtual transaction, the router conducts a nonvirtual transaction in concert with the virtual transaction. The nonvirtual transaction accomplishes the intent of the virtual transaction but operates on an actual network port, for example, a storage device.
(end of abstract)
Agent: Klein, O'neill & Singh, LLP - Irvine, CA, US
Inventors: William C. Terrell, Tracy Edmonds, Wayland Jeong, Eric Russell Peterson, Jean Kodama, Harun Muliadi, Norman Chan, Rexford Hill, Michael Nishimura, Stephen How
USPTO Applicaton #: 20070183421 - Class: 370389000 (USPTO)
Related Patent Categories: Multiplex Communications, Pathfinding Or Routing, Switching A Message Which Includes An Address Header
The Patent Description & Claims data below is from USPTO Patent Application 20070183421.
Brief Patent Description - Full Patent Description - Patent Application Claims  monitor keywords

FIELD OF THE INVENTION

[0001] Embodiments of the present invention relate to improved networks having routers that perform routing functions and to methods for routing network traffic.

BACKGROUND OF THE INVENTION

[0002] In a conventional network, data is transferred between computers and peripherals to accomplish the data processing demands of the computers and peripherals. Demands for data to be transferred via the network may arise in any particular computer or peripheral in a manner unsynchronized with demands that arise on other computers and peripherals of the network. Data transfer to accomplish delivery is generally between respective ports of the computers and peripherals and may pass through switches having ports as well. Such switches have numerous ports and generally retransmit data (also called routing network traffic) from one port to another according to address information associated with the data to be transferred. A pair of ports communicate via a link between the ports.

[0003] Demands generally vary widely in the amount of data to be delivered over the network and the manner in which the delivery is to be made. For example, some demands may be made for a relatively large amount of data without regard to the order in which the data is delivered via the network. Other demands may require that the data be delivered in a particular order. Some demands may have no use for data that is presented outside of an expected time for delivery. Other demands may be met at any time, though system efficiency may suffer if delivery is made outside of an expected time for delivery.

[0004] With a large number of network links, use of the network may be regulated to some extent by establishing a priority for each link. In particular, when attempts to meet demands result in delivery of data in bursts between pairs of computers and/or peripherals, network performance may exhibit several undesirable results. Network capacity (sometimes colloquially referred to as bandwidth) for servicing lower priority links may be unavailable. Delivery of data may be noticeably delayed. More out of order deliveries may be made. And, service between ports on particular links may be denied intermittently, causing queues to fill and network capacity to be used for overhead messages regarding the control of network traffic as opposed to actually routing the traffic.

[0005] Traditional approaches to improving a network's ability to deliver data which would otherwise be delivered in bursts and to decreasing the likelihood of the undesirable results described above have focused on increasing network data transfer speed, increasing the depth of queues for data awaiting processing before or after transfer via the network, and increasing the instruction processing speed for processors (e.g., per-port processors) that accomplish delivery over the network. In a conventional architecture, each port may be implemented with a processor and memory dedicated to servicing all forms of traffic for that port.

[0006] In another known approach to solving some of the problems discussed above, a traffic stream having a traffic profile is affected by provisioning a facility for traffic conditioning as described in Request For Comment "An Architecture for Differentiated Services," RFC2475 by S. Blake of Torrent Networking Technologies. A traffic profile is a set of desired temporal properties for a traffic stream (i.e., packet rate and burst size). A traffic stream is an administratively significant set of microflows that traverse a path segment as selected by a particular classifier. Provisioning includes mapping traffic streams to per hop behaviors, and specifying methods of traffic conditioning. Per hop behaviors are effected by shaping. Traffic conditioning is defined as classifying, metering, marking, shaping, and dropping packets. A microflow classifier selects packets (e.g., for marking) based on an arbitrary number of header fields including source address, destination address, protocol (e.g., IP), fields (e.g., DS field in IP header), source port, and destination port. Marking is defined (for IP) as setting the value of the DS field. Metering is defined as measuring temporal properties of a traffic stream. Shaping is delaying packets to conform a traffic stream to a desired traffic profile. Shaping includes enqueueing a marked packet and holding the packet in queue until transmitting the packet would not exceed a desired traffic profile. The basic architecture assumes that traffic conditioning functions are accomplished at each ingress and egress node (i.e., at each port of an edge node) of the network. According to a first conventional hardware architecture, all traffic conditioning functions would be accomplished by a central processing unit (CPU) serving a group of ports at an ingress and egress node. Such a CPU would not be capable of significant bandwidth. According to a second conventional hardware architecture, each port of an edge node would be implemented with a processor and memory dedicated to performing traffic conditioning functions by servicing all forms of traffic for that port.

[0007] A large portion of network traffic is associated with reading or writing data storage media. The data delivery problems described above are evident in networks that provide shared access to data storage devices. Managing data for improved access according to traditional approaches has included introducing servers between data storage devices and the network. Such server technology impedes network traffic flow, and may facilitate unexpected denial of access or damage to data due to failure mechanisms with a single point of failure.

[0008] Without the present invention, data delivery cannot be further improved without unreasonably increasing the cost per port of the network and the computers and peripherals that use the network. Increased costs stem from increased memory for queues and sophisticated processing instructions to be executed by the port processors, from increased processing speed, and from circuits that operate at higher frequencies to provide increased network data transfer speed. The comparatively high cost of circuits that operate at increased frequency stems from difficulties in designing such circuits and difficulties in fabrication.

SUMMARY OF THE INVENTION

[0009] A router, in one embodiment of the present invention, routes frames in a network. The router includes means for participating as a virtual target in a virtual transaction initiated by an initiator of the network and means for initiating a nonvirtual transaction with a target of the network to accomplish an intent of the virtual transaction.

[0010] By analyzing at least a portion of a received frame, and preparing an outbound frame back to the requester, a router operating according to various aspects of the present invention provides a logical interface between the requester and resources. An additional outbound frame to a resource may be prepared by the router to fulfill the request. A logical interface facilitates management of the resources for improved efficiency and reliability of data transfers; and, supports demanding levels of quality of service as to order and timeliness of deliveries.

[0011] In another embodiment a router includes a processor that stores a virtual resource identifier and routes a frame that includes indicia of a nonvirtual resource identifier. The nonvirtual resource identifier may be determined by the processor with reference to an association between the nonvirtual resource identifier and the virtual resource identifier. The association may be made by an administrating process and communicated to the processor as routing information.

[0012] A router, in another embodiment of the present invention, includes a processor that stores a resource identifier determined from a first frame and routes a second frame in accordance with the resource identifier. For example, the second frame may be received without indication of the resource identifier and received after the first frame is received.

[0013] In another embodiment of the present invention, a router includes a processor that routes a frame in accordance with a policy value to implement a quality of service. The policy value is determined at least in part by parsing the frame to determine a resource identifier and recalling an association of the policy value and indicia of the resource identifier. The association may be made by an administrating process and communicated to the processor as routing information.

[0014] By analyzing at least a portion of a received frame, and identifying more than one field value, a router operating according to various aspects of the present invention selectively controls the quality of service as applied to particular data transfers and frames having particular sets of field values. Quality of service may effectively be controlled for a predetermined protocol and/or predetermined group of resources. Quality of service may include specifications regarding order and timeliness of deliveries, or in other words, bandwidth allocation, maximum delays, and reduction in network congestion. Statistics may be collected and analyzed for a subflow.

[0015] A router, in another embodiment of the present invention, includes a managing processor, a supervising processor, and a routing processor. The managing processor performs a proxy process that responds to a control frame directed to a virtual entity. The supervising processor performs a control process that responds to a control frame directed to the router. The routing processor routes data frames directed respectively to virtual and to nonvirtual entities via the network.

[0016] A router, in another embodiment of the present invention, includes two processors. The first processor performs a proxy process for a virtual member of the network. The proxy process responds to a control frame having a first network port identifier. The virtual member corresponds to at least one nonvirtual member or resource of the network. The nonvirtual member responds to a data frame having a second (i.e., different) network port identifier. The second processor performs a routing process that routes frames having the first network port identifier to the proxy process, routes frames having the second network port identifier to the nonvirtual member, and on receiving a data frame having the first network port identifier, routes a substitute data frame having the second network port identifier. For example, data frames originally addressed to the virtual member are readdressed and routed to a corresponding nonvirtual (e.g., actual) member.

[0017] The modular architecture provided according to various aspects of the present invention permits scaling of the router design and scaling of the network, lowering the cost for competitive router products and improving network maintenance.

[0018] A router, in another embodiment of the present invention, routes a frame received from a network. The router includes a routing processor. The routing processor includes: a frame processor, a parser, a plurality of queues, a submitter, and a memory circuit. The parser prepares a flow lookup in response to the frame received from the network. The memory circuit performs a flow lookup and provides a result as directed by the submitter and a first entry in a first queue, the first entry having been enqueued by the parser. The memory circuit also performs a subflow lookup and provides a result as directed by the submitter and a second entry, the second entry having been enqueued in a second queue by the frame processor in accordance with the result of the flow lookup. The frame processor routes the frame in accordance with the result of the subflow lookup.

[0019] A router, in another embodiment of the present invention, includes: a plurality of physical ports, a managing processor, and at least one routing circuit coupled to the manager by a first bus. Each routing circuit includes: a supervising processor, a memory, a second bus, and a plurality of port logic circuits. The memory includes indicia of a routing table. The memory is coupled to the supervising processor by the second bus. The plurality of port logic circuits is coupled to the supervising processor by a third bus. Each port logic circuit provides a multiplicity of the physical ports. Each port logic circuit is coupled to other port logic circuits for data transfer between physical ports. At least one physical port of the plurality is coupled to the managing processor.

[0020] By providing in-band access to the managing processor, virtualization functions are less complex and more efficient. Wire speed virtualization is facilitated.

[0021] A router, in another embodiment of the present invention, includes: a plurality of physical ports; a managing processor having a first memory; and at least one routing circuit coupled to the managing processor by a first bus. Each routing circuit includes a supervising processor and a plurality of port logic circuits. The supervising processor has a second memory. Each routing circuit further includes a third memory. The third memory includes indicia of a routing table. The third memory is coupled to the supervising processor by a second bus. The plurality of port logic circuits are coupled to the supervising processor by a third bus. Each port logic circuit provides a multiplicity of the physical ports. Each port logic circuit is coupled to other port logic circuits for data transfer between physical ports. Each port logic circuit has a frame processor that includes a respective fourth memory. The managing processor updates the second memory via the first bus. The supervising processor updates the third memory and the fourth memory via the second bus.

Continue reading...
Full patent description for Router and methods using network addresses for virtualization

Brief Patent Description - Full Patent Description - Patent Application Claims
Click on the above for other options relating to this Router and methods using network addresses for virtualization patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Router and methods using network addresses for virtualization or other areas of interest.
###


Previous Patent Application:
Per-port penalty queue system for re-prioritization of network traffic sent to a processor
Next Patent Application:
Method and apparatus to facilitate multicast transmissions using a shared infrastructure-supplied source
Industry Class:
Multiplex communications

###

FreshPatents.com Support
Thank you for viewing the Router and methods using network addresses for virtualization patent info.
IP-related news and info


Results in 8.29153 seconds


Other interesting Feshpatents.com categories:
Novartis , Pfizer , Philips , Polaroid , Procter & Gamble ,