Patent application number | Description | Published |
20110103389 | METHOD AND APPARATUS FOR SWITCHING TRAFFIC BETWEEN VIRTUAL MACHINES - Systems and methods for switching traffic include a physical machine running source and destination virtual machines (VMs). The source VM issues a data unit addressed to the destination VM. The physical machine has a physical network interface in communication with the VMs. The physical network interface transmits a sub-packet, which includes a partial portion of the data unit, over a network while a majority portion of the data unit remains at the physical machine. A network switch on the network receives the sub-packet transmitted by the physical network interface. The network switch performs one or more OSI Layer 2 through Layer 7 switching functions on the sub-packet and returns that sub-packet to the physical network interface. The physical network interface identifies the data unit stored in the memory in response to the sub-packet returned from the network switch and forwards the identified data unit to the destination VM. | 05-05-2011 |
20120093035 | UNIFIED FABRIC PORT - A method and system for configuring communications over a physical communication link connected between a physical port of a network switch and a physical port of a physical network interface on an end station. The communication link between the physical port of the network switch and the physical port of the physical network interface is logically partitioned into a number of channels of communication. For each channel, a channel profile is generated that defines properties of that channel. The physical network interface is instructed to self-configure such that the physical network interface is able to communicate with the network switch over each channel in accordance with the channel profile defined for that channel. | 04-19-2012 |
20120182993 | HYPERVISOR APPLICATION OF SERVICE TAGS IN A VIRTUAL NETWORKING ENVIRONMENT - A physical host executes a virtual machine monitor (VMM) in communication with a plurality of consumer virtual machines (VMs). In response to receipt of a packet, the VMM determines whether a service is to be performed for the packet by a service virtual machine (VM) in communication with the VMM. In response to determining that the service is to be performed for the packet by the service VM, the VMM applies a tag to the packet that differentiates the packet from any other packet sharing a common address with the packet but having a different associated consumer, passes the packet to the service VM for performance of the service, and thereafter removes the tag from the packet in response to receipt of the packet from the service VM following performance of the service. In response to receipt of the packet from the service VM, the VMM forwards the packet. | 07-19-2012 |
20120209940 | METHOD FOR SWITCHING TRAFFIC BETWEEN VIRTUAL MACHINES - Methods for switching traffic include a physical machine running source and destination virtual machines (VMs). The source VM issues a data unit addressed to the destination VM. The physical machine has a physical network interface in communication with the VMs. The physical network interface transmits a sub-packet, which includes a partial portion of the data unit, over a network while a majority portion of the data unit remains at the physical machine. A network switch on the network receives the sub-packet transmitted by the physical network interface. The network switch performs one or more OSI Layer 2 through Layer 7 switching functions on the sub-packet and returns that sub-packet to the physical network interface. The physical network interface identifies the data unit stored in the memory in response to the sub-packet returned from the network switch and forwards the identified data unit to the destination VM. | 08-16-2012 |
20120216194 | HYPERVISOR APPLICATION OF SERVICE TAGS IN A VIRTUAL NETWORKING ENVIRONMENT - A physical host executes a virtual machine monitor (VMM) in communication with a plurality of consumer virtual machines (VMs). In response to receipt of a packet, the VMM determines whether a service is to be performed for the packet by a service virtual machine (VM) in communication with the VMM. In response to determining that the service is to be performed for the packet by the service VM, the VMM applies a tag to the packet that differentiates the packet from any other packet sharing a common address with the packet but having a different associated consumer, passes the packet to the service VM for performance of the service, and thereafter removes the tag from the packet in response to receipt of the packet from the service VM following performance of the service. In response to receipt of the packet from the service VM, the VMM forwards the packet. | 08-23-2012 |
20120287787 | PRIORITY BASED FLOW CONTROL IN A DISTRIBUTED FABRIC PROTOCOL (DFP) SWITCHING NETWORK ARCHITECTURE - A switching network includes an upper tier and a lower tier including a plurality of lower tier entities. A master switch in the upper tier, which has a plurality of ports each coupled to a respective lower tier entity, implements on each of the ports a plurality of virtual ports each corresponding to a respective one of a plurality of remote physical interfaces (RPIs) at the lower tier entity coupled to that port. Data traffic communicated between the master switch and RPIs is queued within virtual ports that correspond to the RPIs on lower tier entities with which the data traffic is communicated. The master switch enforces priority-based flow control (PFC) on data traffic of a given virtual port by transmitting, to a lower tier entity on which a corresponding RPI resides, a PFC data frame specifying priorities for at least two different classes of data traffic communicated by the particular RPI. | 11-15-2012 |
20120287931 | TECHNIQUES FOR SECURING A VIRTUALIZED COMPUTING ENVIRONMENT USING A PHYSICAL NETWORK SWITCH - A technique for securing a virtualized computing environment includes retrieving identification information from a packet received on a physical port of a network switch. Port assignment data (maintained by one of a virtual machine monitor and a virtual machine monitor management station) for a virtual machine identified in the received packet is retrieved. The identification information from the received packet is compared with the port assignment data to determine whether the virtual machine is assigned to the port. In response to determining that the virtual machine is assigned to the port, the packet is forwarded to a destination designated in the packet. In response to determining that the virtual machine is not assigned to the port, the packet is blocked. | 11-15-2012 |
20120287936 | EFFICIENT SOFTWARE-BASED PRIVATE VLAN SOLUTION FOR DISTRIBUTED VIRTUAL SWITCHES - Packet processing logic of a host system's virtualization manager detects packets on the ingress or the egress path to/from a virtual port having three bitmap arrays for processing packets within a virtual local area network (VLAN). The logic checks the VLAN identifier (VID) of the packet to determine, based on an offset position within the corresponding bitmap array, whether the port supports the VLAN. Both the ingress array offset position and egress array offset positions correspond to the value of the VID, and are set within the specific bitmap array during configuration of the VLAN on the port. When the VLAN is supported by the port, the logic enables the packet to be processed by the port. Otherwise, the logic discards the packet. A strip bitmap array indicates when a packet's VID should be removed prior to forwarding the packet on the egress of a port (or destination port). | 11-15-2012 |
20120287939 | DISTRIBUTED FABRIC PROTOCOL (DFP) SWITCHING NETWORK ARCHITECTURE - A switching network includes an upper tier including a master switch and a lower tier including a plurality of lower tier entities. The master switch includes a plurality of ports each coupled to a respective one of the plurality of lower tier entities. Each of the plurality of ports includes a plurality of virtual ports each corresponding to a respective one of a plurality of remote physical interfaces (RPIs) at the lower tier entity coupled to that port. Each of the plurality of ports also includes a receive interface that, responsive to receipt of data traffic from a particular lower tier entity among the plurality of lower tier entities, queues the data traffic to the virtual port among the plurality of virtual ports that corresponds to the RPI on the particular lower tier entity that was the source of the data traffic. The master switch further includes a switch controller that switches data traffic from the virtual port to an egress port among the plurality of ports from which the data traffic is forwarded. | 11-15-2012 |
20120291025 | TECHNIQUES FOR OPERATING VIRTUAL SWITCHES IN A VIRTUALIZED COMPUTING ENVIRONMENT - A technique for operating a virtual switch includes determining network connection requirements for virtual machines controlled by a virtual machine monitor. Resources available, for processing data traffic of the virtual machines, are also determined. Finally, based on the network connection requirements and the resources available, a port of a virtual switch is selected to operate as a virtual Ethernet bridge or a virtual Ethernet port aggregator. | 11-15-2012 |
20120291028 | SECURING A VIRTUALIZED COMPUTING ENVIRONMENT USING A PHYSICAL NETWORK SWITCH - A technique for securing a virtualized computing environment includes retrieving identification information from a packet received on a physical port of a network switch. Port assignment data (maintained by one of a virtual machine monitor and a virtual machine monitor management station) for a virtual machine identified in the received packet is retrieved. The identification information from the received packet is compared with the port assignment data to determine whether the virtual machine is assigned to the port. In response to determining that the virtual machine is assigned to the port, the packet is forwarded to a destination designated in the packet. In response to determining that the virtual machine is not assigned to the port, the packet is blocked. | 11-15-2012 |
20120291029 | OPERATING VIRTUAL SWITCHES IN A VIRTUALIZED COMPUTING ENVIRONMENT - A technique for operating a virtual switch includes determining network connection requirements for virtual machines controlled by a virtual machine monitor. Resources available, for processing data traffic of the virtual machines, are also determined. Finally, based on the network connection requirements and the resources available, a port of a virtual switch is selected to operate as a virtual Ethernet bridge or a virtual Ethernet port aggregator. | 11-15-2012 |
20120307684 | METHOD FOR PROVIDING LOCATION INDEPENDENT DYNAMIC PORT MIRRORING ON DISTRIBUTED VIRTUAL SWITCHES - A method for providing location independent dynamic port mirroring on distributed virtual switches is disclosed. A controller is provided to configure one or more virtual switches within a group of physical machines to appear as a set of distributed virtual switches. In response to the receipt of a data packet at a port of a physical machine, a determination is made whether or not the port has a monitor port located on the physical machine. If the port has a monitor port located on the same physical machine, a copy of the data packet is sent to the monitor port of the physical machine. If the port has a monitor port located on a different physical machine, a copy of the data packet along with an identification (ID) of the port and an ID of the monitor port are encapsulated, and the encapsulated information are sent to a controller. | 12-06-2012 |
20130010799 | Efficient Software-Based Private VLAN Solution for Distributed Virtual Switches - Packet processing logic of a host system's virtualization manager detects packets on the ingress or the egress path to/from a virtual port having three bitmap arrays for processing packets within a virtual local area network (VLAN). The logic checks the VLAN identifier (VID) of the packet to determine, based on an offset position within the corresponding bitmap array, whether the port supports the VLAN. Both the ingress array offset position and egress array offset positions correspond to the value of the VID, and are set within the specific bitmap array during configuration of the VLAN on the port. When the VLAN is supported by the port, the logic enables the packet to be processed by the port. Otherwise, the logic discards the packet. A strip bitmap array indicates when a packet's VID should be removed prior to forwarding the packet on the egress of a port (or destination port). | 01-10-2013 |
20130022050 | DISTRIBUTED FABRIC PROTOCOL (DFP) SWITCHING NETWORK ARCHITECTURE - A switching network includes an upper tier including a master switch and a lower tier including a plurality of lower tier entities. The master switch includes a plurality of ports each coupled to a respective one of the plurality of lower tier entities. Each port includes a plurality of virtual ports each corresponding to a respective one of a plurality of remote physical interfaces (RPIs) at the lower tier entity coupled to that port. Each port also includes a receive interface that, responsive to data traffic from a particular lower tier entity, queues the data traffic to the virtual port that corresponds to the RPI on the particular lower tier entity that was the source of the data traffic. The master switch further includes a switch controller that switches data traffic from the virtual port to an egress port from which the data traffic is forwarded. | 01-24-2013 |
20130044629 | VIRTUAL NETWORK OVERLAYS AND METHODS OF FORMING THEREOF - Systems are provided for overlaying a virtual network on a physical network in a data center environment. An overlay system is arranged in an overlay virtual network to include an overlay agent and an overlay helper. The overlay agent is implemented in an access switch. The overlay helper is implemented in an end station that is in communication with the access switch. Overlay parameters in compliance with an in-band protocol are transmitted between the overlay agent and the overlay helper. | 02-21-2013 |
20130044631 | METHODS OF FORMING VIRTUAL NETWORK OVERLAYS - Methods are provided for overlaying a virtual network on a physical network in a data center environment. An overlay system is arranged in an overlay virtual network to include an overlay agent and an overlay helper. The overlay agent is implemented in an access switch. The overlay helper is implemented in an end station that is in communication with the access switch. Overlay parameters in compliance with an in-band protocol are transmitted between the overlay agent and the overlay helper. | 02-21-2013 |
20130311637 | OVERLAY TUNNEL INFORMATION EXCHANGE PROTOCOL - In one embodiment, a system includes logic adapted for receiving, at a first end point station, an information exchange packet from each end point station in a virtual network having a specified virtual network identifier (VNID) and logic adapted for processing each received information exchange packet to retrieve information about connections at each end point station in the virtual network having the specified VNID, wherein each end point station either terminates or originates a tunnel shared by the first end point station in an overlay network. In this way, the information may be used to respond to address resolution protocol (ARP) requests sent locally in lieu of flooding the ARP request. Other systems, methods, and computer program products are also presented regarding the overlay tunnel information exchange protocol, according to various embodiments. | 11-21-2013 |
20130311663 | OVERLAY TUNNEL INFORMATION EXCHANGE PROTOCOL - In one embodiment, a method for exchanging overlay tunnel information includes receiving an information exchange packet, at a first end point station, from each end point station in a virtual network having a specified virtual network identifier (VNID); and processing each received information exchange packet to retrieve information about connections at each end point station in the virtual network having the specified VNID, wherein each end point station either terminates or originates a tunnel shared by the first end point station in an overlay network. In this way, the information may be used to respond to address resolution protocol (ARP) requests sent locally in lieu of flooding the ARP request. Other systems, methods, and computer program products are also presented regarding the overlay tunnel information exchange protocol, according to various embodiments. | 11-21-2013 |
20130343385 | HYPERVISOR INDEPENDENT NETWORK VIRTUALIZATION - In one embodiment, a first physical overlay switch located at an edge of an IP network includes logic adapted for: receiving a packet having a virtual local area network (VLAN) identifier (ID) from a virtual switch, encapsulating the packet with an overlay header, tunneling the encapsulated packet via the IP network to a second physical overlay switch, receiving a second encapsulated packet having a second overlay header from the second physical overlay switch, de-encapsulating the second encapsulated packet to create a second packet having a second VLAN ID, and sending the second packet to the virtual switch. In another embodiment, a method includes receiving a packet having a VLAN ID at a first physical overlay switch located at an edge of an IP network, encapsulating the packet with an overlay header, and tunneling the encapsulated packet to a second physical overlay switch via the IP network. | 12-26-2013 |
20140050091 | LOAD BALANCING OVERLAY NETWORK TRAFFIC USING A TEAMED SET OF NETWORK INTERFACE CARDS - A system includes a server including: logic adapted for receiving traffic from a virtual machine (VM), the traffic including at least one packet, logic adapted for hashing at least a portion of the at least one packet according to a hashing algorithm to obtain a hash value, and logic adapted for selecting an uplink based on the hash value; at least one accelerated network interface card (NIC), each accelerated NIC including: network ports including multiple Peripheral Component Interconnect express (PCIe) ports adapted for communicating with the server and a network, each network port including an uplink, logic adapted for encapsulating the at least one packet into an overlay-encapsulated packet, logic adapted for storing a media access control (MAC) address corresponding to the selected uplink as a source MAC (SMAC) address in an outer header of the overlay-encapsulated packet, and logic adapted for sending the overlay-encapsulated packet via the selected uplink. | 02-20-2014 |
20140056302 | HYPERVISOR INDEPENDENT NETWORK VIRTUALIZATION - A method includes receiving a packet having a VLAN ID at a first physical overlay switch located at an edge of an IP network, encapsulating the packet with an overlay header, and tunneling the encapsulated packet to a second physical overlay switch via IP network. | 02-27-2014 |
20140059537 | PROCESSING OF OVERLAY NETWORKS USING AN ACCELERATED NETWORK INTERFACE CARD - According to one embodiment, a server includes an accelerated network interface card (NIC), the accelerated NIC including a plurality of network ports including multiple Peripheral Component Interconnect express (PCIe) ports, an Overlay Network Offload System (ONOS), the ONOS including logic adapted for providing overlay functionality to network traffic received by the accelerated NIC, a first receiving/transmitting (RX/TX) packet buffer adapted for caching network traffic sent to or received from a network, a second RX/TX packet buffer adapted for caching the network traffic received from or sent to the server, and an Ethernet controller adapted for interfacing with the network. The server also includes a hypervisor coupled to one or more virtual machines (VMs) and a NIC driver adapted for interfacing with and supporting the accelerated NIC, wherein the NIC driver includes logic adapted for managing operations of the accelerated NIC. | 02-27-2014 |
20140096183 | PROVIDING SERVICES TO VIRTUAL OVERLAY NETWORK TRAFFIC - In one embodiment, a method for applying security policy in an overlay network includes receiving a request, including a packet, for a communication path through an overlay network, determining whether a security policy is to be applied to the packet based on at least one of: contents of the packet, first information, and second information, selecting a communication path between a source physical switch and a destination physical switch, wherein the selected communication path directly connects the source physical switch to the destination physical switch when it is determined to not apply the security policy to the packet, and the selected communication path connects the source physical switch to the destination physical switch via a security appliance when it is determined to apply the security policy to the packet, and sending the selected communication path to the source physical switch. | 04-03-2014 |
20140201733 | SCALABLE NETWORK OVERLAY VIRTUALIZATION USING CONVENTIONAL VIRTUAL SWITCHES - In one embodiment, a system includes a server running a virtualization platform, the virtualization platform including logic adapted for creating one or more virtual machines (VMs) and logic adapted for managing a virtual switch (vSwitch), a controller in communication with the server, the controller including logic adapted for assigning a media access control (MAC) address and a virtual local area network (VLAN) identifier (ID) to each of the one or more VMs, wherein a specific tenant to which the one or more VMs belongs is indicated using a tenant ID derived from the VLAN ID, the MAC address, or a combination thereof. Other systems, methods, and computer program products are also described according to more embodiments. | 07-17-2014 |
20140207969 | ADDRESS MANAGEMENT IN AN OVERLAY NETWORK ENVIRONMENT - Embodiments of the invention relate to overlay network address management. One embodiment includes an overlay gateway including an overlay network manager associated with a physical network. The overlay network manager prevents duplicate address assignment for overlay domains having a first sharing status and performs address translation for overlay domains having a second sharing status. Address translation is avoided for overlay domains having the first sharing status. | 07-24-2014 |
20140254603 | INTEROPERABILITY FOR DISTRIBUTED OVERLAY VIRTUAL ENVIRONMENTS - Embodiments of the invention relate to providing interoperability between hosts supporting multiple encapsulation. One embodiment includes a method that includes mapping packet encapsulation protocol type information for virtual switches. Each virtual switch is associated with one or more virtual machines (VMs). It is determined whether one or more common encapsulation protocol types exist for a first VM associated with a first virtual switch and a second VM associated with a second virtual switch based on the mapping. A common encapsulation protocol type is selected if it is determined that one or more common encapsulation protocol types exist for the first virtual switch and the second virtual switch. A packet is encapsulated for communication between the first VM and the second VM using the selected common encapsulation protocol type. | 09-11-2014 |
20140269712 | TAGGING VIRTUAL OVERLAY PACKETS IN A VIRTUAL NETWORKING SYSTEM - Embodiments of the invention provide a method for packet distribution in a virtual networking system comprising multiple virtual networks interconnected over an underlying layer network, wherein each virtual network comprises one or more computing nodes. The method comprises, for each virtual network, sending at least one outgoing packet targeting a computing node at a different virtual network, and receiving at least one incoming packet targeting a computing node of the virtual network. Each packet has a corresponding virtual networking tag that includes routing information identifying a destination virtual network for the packet. | 09-18-2014 |
20140294010 | ASYMMETRICAL LINK AGGREGATION - According to one embodiment, an apparatus and method for asymmetrical link aggregation is disclosed, wherein the method is implemented in an access switch, the access switch connects to at least two aggregation switches through a first set of ports and respective links, the access switch connects to an external network through a second set of ports, and the at least two aggregation switches connects to an internal network, the method comprising: in response to receiving a frame from one of the second set of ports, selecting one of the first set of ports based on the source address of the frame; and sending the frame using the selected one of the first set of ports. | 10-02-2014 |
20150095468 | SYNCHRONIZING CONFIGURATIONS AMONGST MULTIPLE DEVICES - A data handling network includes a management system and a plurality of devices in communication with the management system. Each device may operate under various configurations. The management system includes a configuration version table that includes a device identifier and an intended configuration version number. A configuration manager within a device queries the management system with a query that includes a device identifier and a current device operating configuration version number. The management system may interrogate the configuration version table to determine if the current device operating configuration version number is similar to the intended configuration version number. | 04-02-2015 |
20150131669 | VIRTUAL NETWORK OVERLAYS - Systems and methods are provided for overlaying a virtual network on a physical network in a data center environment. An overlay system is arranged in an overlay virtual network to include an overlay agent and an overlay helper. The overlay agent is implemented in an access switch. The overlay helper is implemented in an end station that is in communication with the access switch. Overlay parameters in compliance with an in-band protocol are transmitted between the overlay agent and the overlay helper. | 05-14-2015 |
20150139229 | PROCESSING OF OVERLAY NETWORKS USING AN ACCELERATED NETWORK INTERFACE CARD - According to one embodiment, a system includes an accelerated network interface card (NIC), the accelerated NIC including a plurality of network ports including multiple Peripheral Component Interconnect express (PCIe) ports, an Overlay Network Offload System (ONOS), the ONOS including logic configured to provide overlay functionality to network traffic received by the accelerated NIC, and logic configured to cause network traffic that has overlay functionality provided by a hypervisor to bypass the ONOS. In another embodiment, a method for accelerating overlay functionality in a server includes providing overlay functionality for at least some network traffic received by an accelerated NIC implemented in a server, wherein the accelerated NIC provides an interface between the server and a network, and causing network traffic that has overlay functionality provided by a hypervisor of the server to bypass the accelerated NIC. | 05-21-2015 |
Patent application number | Description | Published |
20110307959 | SELECTIVELY EXPOSING BASE CLASS LIBRARIES BASED ON APPLICATION EXECUTION CONTEXT - Allowing access to APIs based on application context. A method includes determining an application context for an application. A layer is determined for a base class library. Layers of the base class library are defined by one or more developer defined attributes associated with an API, where the API is included in the base class library. The base class library is divided into layers based on the developer defined attributes. The one or more attributes define which application contexts can access the API. If the layer matches the application context then access by the application to the API is allowed. | 12-15-2011 |
20120210321 | Dormant Background Applications on Mobile Devices - The subject disclosure is directed towards a technology in which a mobile device maintains an application in a dormant state in which the application's process is not terminated and remains in memory, but the application cannot execute code. Further, state and execution context are maintained for the application, allowing the application to be quickly and efficiently resumed into the running state. To prevent the application from executing code while dormant, thread activity is suspended, requests canceled, completed or paused, resources detached, and so forth. Resource usage may be monitored for dormant applications, to remove a misbehaving dormant application process from memory if improperly using resources. | 08-16-2012 |
20120323979 | GARBAGE COLLECTION BASED ON TOTAL RESOURCE USAGE AND MANAGED OBJECT METRICS - A method includes selectively controlling, at a computing device having a memory, initiation of a full garbage collection operation based on a total resource usage metric and a managed object metric. The managed object metric is based on objects managed by a runtime application. | 12-20-2012 |
20120324429 | Selectable Dual-Mode JIT Compiler for SIMD Instructions - A JIT (Just-In-Time) compiler performs dual-mode code generation by determining whether an application has opted-in to SIMD (Single Instruction Multiple Data) code generation both at JIT-time and at runtime. The application may select the code generation mode by identifying whether it has opted-in to SIMD code generation. As a result, the underlying implementation guarantees application compatibility by allowing the application to select the code generation mode. Additionally, applications have the ability to select into different code generation modes during concurrent execution. | 12-20-2012 |
20130219523 | SELECTIVELY EXPOSING BASE CLASS LIBRARIES BASED ON APPLICATION EXECUTION CONTEXT - Allowing access to APIs based on application context. A method includes determining an application context for an application. A layer is determined for a base class library. Layers of the base class library are defined by one or more developer defined attributes associated with an API, where the API is included in the base class library. The base class library is divided into layers based on the developer defined attributes. The one or more attributes define which application contexts can access the API. If the layer matches the application context then access by the application to the API is allowed. | 08-22-2013 |
20130326465 | Portable Device Application Quality Parameter Measurement-Based Ratings - A development environment simulates conditions combining device states, events, hardware configurations, and usage scenarios, and applies specific rating criteria to arrive at individual quality parameter ratings. Ratings are provided for quality parameters such as user experience, cost awareness, battery friendliness, responsiveness, global readiness, device independence, application stability. For example, battery friendliness depends on criteria such as battery life in a specified usage scenario, whether unused peripherals are powered, whether application program interfaces designated as power-hungry are avoided, whether darker color themes can be chosen over lighter colors, and whether batching is used for network data communications. Some rating criteria are application-category-specific. For example, security is rated differently for a Finance application than a Music application. The development environment provides specific warnings to indicate ways in which portable device applications and other applications can improve the ratings they receive. Ratings can be published in an application marketplace. | 12-05-2013 |
20130326467 | APPLICATION QUALITY PARAMETER MEASUREMENT-BASED DEVELOPMENT - A development environment provides warnings based on one or more application categories set for an application. Each warning has a trigger threshold and a warning action. Different application categories have different warnings. The development environment proactively tests for trigger conditions and provides triggered warnings within a workflow that includes application designing, code editing, building, and running. For instance, a Social Networking application whose start-up time is greater than desired for Social Networking applications will trigger a warning. Password Manager or Finance applications that should use a more secure approach to store user data will trigger a warning not given to applications in other categories. A News application may trigger a warning from the development environment that application content is not easily readable if a user switches to a light color theme on a device. The application category is selected by the developer or set proactively by the development environment. | 12-05-2013 |
Patent application number | Description | Published |
20100164763 | ERROR ESTIMATION AND CORRECTION IN A TWO-CHANNEL TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTER - A two-channel time-interleaved analog-to-digital converter (TIADC) system that provides for estimation and correction of offset, gain, and sample-time errors. Error in the offsets of the two ADCs that form the TIADC produces a spurious signal at the Nyquist frequency that can be used to minimize the difference of offsets of the ADCs. The difference in gain between the two ADCs produces spurious signals reflected around the Nyquist frequency whose magnitudes can be reduced by minimizing the difference in signal power between the two ADCs. An Automatic Gain Control loop corrects the scaling of the input signal due to the average of the gains of the ADCs. Phase error produces spurious signals reflected around the Nyquist frequency that are π/2 out of phase with those due to the gain error. Minimizing the difference between the correlation of consecutive signals from the ADCs reduces the magnitude of these image tones. | 07-01-2010 |
20100253557 | CALIBRATION OF OFFSET, GAIN AND PHASE ERRORS IN M-CHANNEL TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTERS - Techniques for correcting component mismatches in an M-channel time-interleaved Analog to Digital Converter (ADC). In order to obtain an error measure for offset, gain or phase, errors, outputs from each ADC are either summed or averaged over N | 10-07-2010 |
20110063149 | CALIBRATION OF OFFSET, GAIN AND PHASE ERRORS IN M-CHANNEL TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTERS - Techniques for correcting component mismatches in an M-channel time-interleaved Analog to Digital Converter (ADC). In order to obtain an error measure for offset, gain or phase, errors, outputs from each ADC are either summed or averaged over N | 03-17-2011 |
20110128175 | Sampling Method For Time-Interleaved Data Converters In Frequency-Multiplexed Communications Systems - A wide band analog-to-digital converter used in a frequency multiplexed communication system. The converter includes a plurality, M, of time-interleaved analog-to-digital converter subunits (ADC subunits). The sampling rate, FS | 06-02-2011 |
20110199096 | CORRECTION OF NON-LINEARITIES IN ADCS - Techniques for calibrating non-linearities of ADCs are described, which can be applied whether or not the non-linearities change with frequency. When the non-linearities do not change (are static), the frequency of a calibrating signal is first estimated coarsely in a calibration mode, then a fine estimate is determined using the coarse estimate. These estimates are then used to predict the sinusoidal signal using a linear predictor. A Look Up Table (LUT) containing corrections to the ADC is derived from this result. The LUT is then used in a normal operating mode to correct the output of the ADC. In a case where the characteristics of the non-linearities of the input signal are dynamic and thus change with frequency, a frequency spectrum of interest is broken into several regions. In each of these regions, a frequency is identified and used as a calibrating signal to generate the corresponding LUT. During normal operation of the ADC, in a first method, the bin corresponding to dominant frequency of the signal is identified using a short-length FFT. This bin is used to select the appropriate LUT for operating on the output of the ADC to provide the calibrated output. In a second method used when dynamic input is expected, a single LUT is developed using the averages values from the LUTs determined from the various regions. | 08-18-2011 |
20120075129 | CALIBRATION OF IMPAIRMENTS IN A MULTICHANNEL TIME-INTERLEAVED ADC - Techniques for correcting component mismatches in an M-channel time-interleaved Analog to Digital Converter (ADC). A number, M, of clock signals drive a corresponding number of main ADC elements with a selected plurality of different clock phases. Each of the ADCs has at least one of an offset correction input, a gain correction input, or a phase correction input. The M digital values output by the ADCs are interleaved to form a digital representation of the input signal. Also provided is a reference ADC that outputs reference digital values in response to at least one of the M clock signals at a time. The output of the reference ADC is compared and/or combined with the output from a selected one of the main ADCs to provide an estimate of offset, gain or phase. The error is accumulated to determine a corresponding correction of offset, gain or phase which is then fed back to the respective input of the corresponding main ADC. | 03-29-2012 |
20120268299 | ROBUST GAIN AND PHASE CALIBRATION METHOD FOR A TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTER - A time-interleaved analog to digital converter (TIADC) that uses a digital filter to remove sampling-frequency symmetries that might otherwise degrade error correction. In an embodiment, two Analog to Digital Converter (ADC) cores provide a set of two ADC outputs. Interleaving the digital signals output by the ADC cores forms a digital representation of the input signal. The ADC cores have an offset correction input, a gain correction input, or a sample time correction input. Prior to estimating one or more of these errors, the ADC core output signals are filtered, with the filtering depending upon expected aliasing characteristics of the input signal. | 10-25-2012 |
20120274490 | MULTIPLIER-FREE ALGORITHMS FOR SAMPLE-TIME AND GAIN MISMATCH ERROR ESTIMATION IN A TWO-CHANNEL TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTER - Techniques for the estimation of sample-time and gain mismatch errors in a two-channel time interleaved analog to digital converter that are devoid of any multiplication operation. In a sample-time mismatch error evaluation, the signs and the absolute values from the two ADCs are used to provide an estimate of the sample-time mismatch error. In a gain error estimation algorithm, the absolute values of the outputs from the two ADCs are subtracted and accumulated. The errors can then be corrected, in a preferred embodiment, using suitable adaptive sample time and gain correction techniques. | 11-01-2012 |
20120274491 | GRADIENT-BASED APPROACH TO SAMPLE-TIME MISMATCH ERROR CALIBRATION IN A TWO-CHANNEL TIME-INTERLEAVED ANALOG-TO-DIGITAL CONVERTER - Correcting phase error in a two-channel TIADC system in a manner that is independent of the Nyquist zone(s) occupied by the input signal. In the preferred approach this is done using the gradient of a phase error estimate. The gradient may be determined from a simplified expression of linear regression; the direction of the adaptation is then controlled by the sign of the gradient. The adaptive algorithm converges to the optimal value regardless of the Nyquist zone occupied by the input signal. | 11-01-2012 |
20140333270 | Current Ramping During Multiphase Current Regulation - Voltage regulators in a current share arrangement may provide a total current to a common load, and may be simultaneously turned on to ramp up member currents. Each voltage regulator may provide a respective member current in the current share configuration. A target current value may be determined from a cycle-averaged current value of the member currents and a voltage error value of the voltage regulator, and each member current may be ramped to the target current value instead of the cycle-averaged current value when the voltage regulators are turned on, resulting in more stable and balanced current ramping. A predictive multi-phase digital controller may therefore operate according to a target current determined based on a measured or inferred inductor current and an error voltage. Pulse-width, pulse position and pulse frequency (adding or skipping pulses) may be calculated according to the operation of the predictive multi-phase digital controller. | 11-13-2014 |