Patent application number | Description | Published |
20100235593 | FLOW RESILIENCY - In an example embodiment, packets for a selected flow are replicated and sent over one or more diverse paths, such as a primary path and at least one secondary path, to a destination switching device. At the destination switching device, one copy of the replicated packets is selected for delivery to the destination, and the remaining copies are discarded. In the event that packets are not received at the destination switching device due to loss of connection on the primary path or packets are not timely delivered due to congestion on the primary path, a different path may be selected as the primary path. | 09-16-2010 |
20110274035 | Routing to the Access Layer to Support Mobility of Internet Protocol Devices - Techniques are provided for seamless integration of wired and wireless functionality packet forwarding in network. A plurality of access switches are provided in each of a plurality of mobility sub-domains that are part of a mobility domain of a network. Each access switch serves one or more Internet Protocol (IP) subnets, each comprising a plurality of IP addresses. An access switch obtains an IP address for a wireless device according to the one or more IP subnets that the access switch serves. The access switch sends an association advertisement message to indicate the IP address of the wireless device and to enable other access switches and routers to compute a path to the wireless device. When a wireless device obtains an IP address, it can keep the same IP address as it roams in the mobility domain. | 11-10-2011 |
20110274036 | Maintaining Point of Presence at Tunneling Endpoint for Roaming Clients in Distributed Wireless Controller System - Techniques are provided to support roaming of wireless devices in a network such that the wireless devices can keep their Internet Protocol (IP) addresses as they roam within and across mobility sub-domains. When a wireless device roams from one access switch to another access switch, a tunneling endpoint apparatus in the wireless device's home mobility sub-domain is configured to serve as the point of presence for the roamed wireless device. Traffic for the roamed wireless device is tunneled from the access switch where the wireless device has roamed (where it is currently attached) to the tunneling endpoint apparatus. When the wireless device roams across mobility sub-domains, then traffic is tunneled from the access switch where the wireless device is currently attached to the tunneling endpoint apparatus in that mobility sub-domain (called a “foreign” mobility sub-domain) to the tunneling endpoint apparatus in the wireless device's home mobility sub-domain. | 11-10-2011 |
20110274037 | Hierarchical Control Signaling for Mobile Clients in Distributed Wireless Controller System - A system and method are provided for a hierarchical distributed control architecture to support roaming of wireless client devices. A plurality of access switches are provided and configured to serve one or more Internet Protocol (IP) subnets that comprises a plurality of IP addresses. The plurality of access switches are arranged in switch peer groups such that each access switch within a given switch peer group is configured to store information about other access switches in that switch peer group and about locations of wireless client devices that are associated with any wireless access point on any access switch in the switch peer group. The plurality of access switches are further grouped into a corresponding one of a plurality of mobility sub-domains each comprising a plurality of switch peer groups. A plurality of controller devices are provided, each configured to control access switches in a corresponding mobility sub-domain. Each controller device stores information about the plurality of access switches within its mobility sub-domain and about locations of wireless client devices at access switches in its mobility sub-domain. A central controller device is provided and configured to communicate with the plurality of controller devices for the respective mobility sub-domains. The central controller device is configured to store information about locations of wireless client devices in the mobility sub-domains. | 11-10-2011 |
20110274082 | Maintaining Point of Presence at Access Switch for Roaming Clients in Distributed Wireless Controller System - Techniques are provided to enable support of roaming wireless devices in a network such that the wireless devices can keep their Internet Protocol (IP) addresses as they roam across mobility sub-domains. Traffic for a wireless device that roams is tunneled back to the access switch that serves the IP subnet which includes an IP address for the wireless device. Traffic is tunneled back to that access switch for the wireless device when the wireless device roams to another access switch which does not serve the IP subnet for the wireless device in the same mobility sub-domain and when the wireless device roams to a different mobility sub-domain, in which case the traffic is tunneled between tunneling endpoints in the respective mobility sub-domains. | 11-10-2011 |
20110280213 | Guest Access Support for Wired and Wireless Clients in Distributed Wireless Controller System - Techniques are provided to enable a support for guest access of devices in a network. At a controller apparatus in a first mobility sub-domain of a network comprising a plurality of mobility sub-domains, a request message containing a request for guest network access for a device is received from a first access switch in the first mobility sub-domain. The controller apparatus forwards the request message to a guest controller. At a tunneling endpoint apparatus in the first mobility sub-domain, a tunnel is established to the guest controller to carry traffic between the device and the guest controller. Traffic for the device passes in a tunnel between the first access switch and the tunneling endpoint apparatus in the first mobility sub-domain, through the tunneling endpoint apparatus in the first mobility sub-domain and in the tunnel between the routing apparatus in the first mobility sub-domain and the guest controller. | 11-17-2011 |
20120082048 | SYSTEM AND METHOD FOR PROVIDING SMART GRID COMMUNICATIONS AND MANAGEMENT - A method is provided in one example embodiment and includes receiving phasor measurement unit (PMU) data in a first transmission; converting the first transmission into a multicast transmission; and multicasting the PMU data to a multicast group address, which identifies a plurality of subscribers. In more specific implementations, the converting of the first transmission into the multicast transmission occurs at a first-hop router in relation to a PMU source that sent the first transmission. In some cases, the first transmission is a unicast transmission sent from a network element, which includes a PMU sensor. | 04-05-2012 |
20120082159 | SYSTEM AND METHOD FOR PROVIDING SMART GRID COMMUNICATIONS AND MANAGEMENT - A method is provided in one example embodiment and includes receiving a request for a service that involves phasor measurement unit (PMU) data; identifying a service device in a network to perform the service; and multicasting one or more results of the service to a group of subscribers identified by a multicast group address. In more particular embodiments, particular PMU data is redirected to the service device via a service insertion architecture (SIA) protocol. In addition, the service can include replicating packets and masking a subset of traffic for forwarding to a first hop router of the network. In certain example instances, metadata is used in order to apply the service to certain traffic propagating in the network. | 04-05-2012 |
20120155395 | Client modeling in a forwarding plane - In one embodiment, a method includes receiving a packet at a network device in communication with a plurality of client nodes, the packet identifying a first client node, performing a look up in a table stored at the network device to locate policies associated with the first client node, the table including an entry for each of the client nodes, each entry having a plurality of policies associated with the client node, applying the policies associated with the first client node at a forwarding engine at the network device, and forwarding the packet from the network device. An apparatus is also disclosed. | 06-21-2012 |
20120203479 | FAST FAULT ISOLATION AND RESTORATION FOR DISTRIBUTION NETWORKS - In one embodiment, a method includes obtaining information relating to a steady state operation of a portion of an electrical network, the electrical network including a plurality of components, the information being obtained from the plurality of components while the portion of the electrical network is operating at steady state, wherein the information is obtained through a communications network that at least partially overlays the electrical network. The method also includes detecting a fault in the electrical network, isolating the location of the fault, and restoring the electrical network. The fault is detected by at least a first component of the plurality of components. Restoring the electrical network includes determining when the first component owns the fault. Determining when the first component owns the fault includes at least processing the information obtained from the plurality of components. | 08-09-2012 |
20120216239 | Integration of network admission control functions in network access devices - In one embodiment, a method includes receiving a communication from an endpoint device at a network access device located within a data path between the endpoint device and a network, identifying a network admission control policy for the endpoint device, enforcing at the network access device, the network admission control policy for traffic received from the endpoint device, and forwarding at the network access device, traffic from the endpoint device to the network in accordance with the network admission control policy. An apparatus is also disclosed. | 08-23-2012 |
20120300756 | Maintaining point of presence for clients roaming within a layer 2 domain - In one embodiment, a method includes receiving a packet from a source wireless device at a second switch, the source wireless device previously associated with a first switch and roamed to and associated with the second switch, wherein a point of presence for the source wireless device is maintained at the first switch, inserting into the packet a direction indicator, and forwarding the packet from the second switch to the first switch, the direction indicator identifying the packet as being transmitted towards the point of presence for the source wireless device to prevent a forwarding loop. An apparatus is also disclosed. | 11-29-2012 |
20120323381 | Security Measures for the Smart Grid - Security is enabled in an electrical system by examining a configuration file for a substation present in the electrical system, where the substation includes one or more electrical devices and one or more network devices. Based on the examination of the configuration file, information is determined on a characteristic of an electrical device that is selected from a group including a type, allowed role of the electrical device and allowed communication modes for the electrical device. Based on the determined information, a basis for controlling the role and communication modes for the electrical device is identified. A security policy is configured in a network device in the substation to incorporate the identified basis. Based on the configured security policy in the network device, communication patterns for the electrical device are allowed that are associated with the allowed role and allowed communication modes for the electrical device. | 12-20-2012 |
20130014217 | Adapting Extensible Authentication Protocol for Layer 3 Mesh Networks - Techniques are provided for adaptive routing of authentication packets in a network, such as a wireless mesh network. At an authenticated device in the network, an authentication packet is received over the network from a device that is seeking authentication. The authentication packet is encapsulated for transmission in Layer 3 packets over an Internet Protocol (IP) tunnel to an authenticator device associated in the network. Similarly, for an authentication packet encapsulated in Layer 3 packets from the authenticator device over the IP tunnel, the authentication packet is decapsulated from the Layer 3 packets and transmitted over the network to the device seeking authentication. | 01-10-2013 |
20130024149 | IDENTIFICATION OF ELECTRICAL GRID PHASE INFORMATION FOR END-POINTS IN A GRID NETWORK - In one embodiment, a requesting device (e.g., head-end application) requests a phase-related response from an end-point that does not know its phase in a polyphase power source system. In response, the requesting device receives the phase-related response from the end-point, where the response relays an identification of the end-point and related phase information without indicating an actual phase of the end-point, e.g., on which power-line is a response generated or at which time is a zero-crossing of the power source's waveform. The phase information of the phase-related response may then be correlated to a known phase of a known-phase device, such that the actual phase of the end-point may be identified based on the correlation. | 01-24-2013 |
20130036305 | Group Key Management and Authentication Schemes for Mesh Networks - According to one embodiment, techniques are provided to enable secure communication among devices in a mesh network using a group temporal key. An authenticator device associated with a mesh network stores a pairwise master key for each of a plurality of devices in a mesh network upon authentication of the respective devices. Using the pairwise master key, the authenticator device initiates a handshake procedure with a particular device in the mesh network to mutually derive a pairwise temporal key from the pairwise master key. The authenticator device encrypts and signs a group temporal key using the pairwise temporal key for the particular device and sends the group temporal key encrypted and signed with the pairwise temporal key to the particular device. | 02-07-2013 |
20130042301 | Authentication Control In Low-Power Lossy Networks - Techniques are provided for the controlled scheduling of the authentication of devices in a lossy network, such as a mesh network. An authenticator device that is configured to authenticate devices in a lossy network receives an authentication start message from a particular device to be authenticated. The authenticator device determines a schedule for engaging in an authentication procedure for the particular device based on an indication of current network utilization. | 02-14-2013 |
20130054784 | Session Layer for Monitoring Utility Application Traffic - Techniques are provided to facilitate monitoring of utility application traffic streams. At a network device that routes utility application traffic for utility devices, control information is received, where the control information is configured to cause the network device to monitor utility application traffic that passes through the network device. The network device monitors a header inserted into utility application traffic messages based on the control information. | 02-28-2013 |
20140146816 | SYSTEM AND METHOD FOR PROVIDING SMART GRID COMMUNICATIONS AND MANAGEMENT - A method is provided in one example embodiment and includes receiving a request for a service that involves phasor measurement unit (PMU) data; identifying a service device in a network to perform the service; and multicasting one or more results of the service to a group of subscribers identified by a multicast group address. In more particular embodiments, particular PMU data is redirected to the service device via a service insertion architecture (SIA) protocol. In addition, the service can include replicating packets and masking a subset of traffic for forwarding to a first hop router of the network. In certain example instances, metadata is used in order to apply the service to certain traffic propagating in the network. | 05-29-2014 |
20140156840 | Session Layer For Monitoring Utility Application Traffic - Techniques are provided to facilitate monitoring of utility application traffic streams. At a network device that routes utility application traffic for utility devices, control information is received, where the control information is configured to cause the network device to monitor utility application traffic that passes through the network device. The network device monitors a header inserted into utility application traffic messages based on the control information. | 06-05-2014 |
20140241346 | TRANSLATING NETWORK FORWARDING PLANE MODELS INTO TARGET IMPLEMENTATION USING NETWORK PRIMITIVES - A routing controller in a communication network may be responsible for generating a device model that defines intended forwarding behavior of the network. The device model may be generated using a target-independent universal language of network primitives. Network primitives are building blocks of the device model. The network primitives can be grouped to form submodels to create modularity within the device model. The network primitives and the submodels can be stored in libraries. The controller may send the device model to a target device. Upon receiving the device model from the controller, the target device may translate the device model to implementation. | 08-28-2014 |
20140241347 | STATIC TRANSLATION OF NETWORK FORWARDING PLANE MODELS INTO TARGET IMPLEMENTATION IN THE HARDWARE ABSTRACTION LAYER - A routing controller in a communication network may be responsible for generating a device model that defines intended forwarding behavior of the network. The device model may be generated using a target-independent universal language of network primitives. The controller may send the device model to a target device. The device controller may include one or more known identifiers associated with one or more portions of the model. The target device may know the mapping between the known identifiers and the capabilities of the target device. Upon receiving the device model from the controller, the target device may retrieve the known mapping to statically translate the device model to implementation. The static translation of the device model provides reusability of the previously determined mappings. The target device is not required to have a translator for dynamically translating the device model each time that the device model is received from the controller. | 08-28-2014 |
20140334488 | Data Plane Learning of Bi-Directional Service Chains - Techniques are provided to decouple service chain structure from the underlying network forwarding state and allow for data plane learning of service chain forwarding requirements and any association between services function state requirements and the forward and reverse forwarding paths for a service chain. In a network comprising a plurality of network nodes each configured to apply a service function to traffic that passes through the respective network node, a packet is received at a network node. When the network node determines that the service function it applies is stateful, it updates context information in a network service header of the packet to indicate that the service function applied at the network node is stateful and that traffic for a reverse path matching the classification criteria is to be returned to the network node. | 11-13-2014 |
20140362857 | Stacking Metadata Contexts for Service Chains - Presented herein are techniques useful in a network comprising a plurality of network nodes each configured to apply one or more service functions to traffic that passes through the respective network nodes. A network node receives packets encapsulated in a service header that includes information defining a variable set of context headers stacked into an association of metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes. The network node interprets a forwarding state and a next-hop network node for the service path from the service header, and determines a service action or associated metadata from the set of context headers. | 12-11-2014 |
20150106625 | Group Key Management and Authentication Schemes for Mesh Networks - According to one embodiment, techniques are provided to enable secure communication among devices in a mesh network using a group temporal key. An authenticator device associated with a mesh network stores a pairwise master key for each of a plurality of devices in a mesh network upon authentication of the respective devices. Using the pairwise master key, the authenticator device initiates a handshake procedure with a particular device in the mesh network to mutually derive a pairwise temporal key from the pairwise master key. The authenticator device encrypts and signs a group temporal key using the pairwise temporal key for the particular device and sends the group temporal key encrypted and signed with the pairwise temporal key to the particular device. | 04-16-2015 |
20150124590 | VIRTUAL PORT CHANNEL BOUNCE IN OVERLAY NETWORK - Aspects of the subject disclosure relate to methods for detecting a link failure between the first network device and a destination node, receiving a data packet addressed to the destination node, and rewriting encapsulation information of the first data packet. Subsequent to rewriting the encapsulation information of the first data packet, the first data packet is forwarded to a second network device (e.g., using updated address information in the packet header), wherein the second network device is paired with the first network device in the virtual port channel. In certain aspects, systems and computer readable media are also provided. | 05-07-2015 |
20150124643 | MISCABLING DETECTION PROTOCOL - Systems, methods, and non-transitory computer-readable storage media for a miscabling detection protocol. One or more switches can periodically send miscabling protocol (MCP) packets on non-fabric ports on all configured EPG VLANs. A first switch located at a network fabric receives a miscabling protocol (MCP) packet indicating an identity of an originating switch and a port number of an originating port of the MCP packet via a receiving port on the first switch, wherein the MCP packet is received from an external network connected to the receiving port, and wherein the originating switch and originating port are also located at the network fabric and connected to the external network. Based on the MCP packet, the first switch then detects a loop between the receiving port, the originating port, and the external network. Next, the first switch blocks the receiving port or the originating port in response to detecting the loop. | 05-07-2015 |
20150124645 | PROVISIONING SERVICES IN LEGACY MODE IN A DATA CENTER NETWORK - An administrator can define or modify one or more service graphs. Next, the administrator can register service appliances along with their device package files with a controller. Then, the controller can establish the capabilities of the service devices, and classify the service devices as legacy or service tag switching (STS) capable devices. Then, the controller can create one or more instances of the service graph, by populating the service nodes into the service graph. Then, the application owner can attach their endpoint groups (EPGs) to the service graphs created by the administrator. Then, a service in the network can be automatically provisioned using the service graph to configure one or more nodes in an associated service chain of the service according to information in the service graph. | 05-07-2015 |
20150124652 | WEIGHTED EQUAL COST MULTIPATH ROUTING - In some implementations, network traffic can be routed along equal cost paths based on weights assigned to each path. For example, weighted equal cost multipath routing can be implemented by assigning weights to each equal cost path (e.g., uplink, next hop node) to a destination device. When the network device receives a packet, the network device can generate a key (e.g., a random value, a hash value based on packet data, a value between 0 and n, etc.). The key can be used to select an uplink or path upon which to forward the packet. A key can be generated for a packet flow or flowlet. Each flow can be associated with the same key so that each packet in a flow will be forwarded along the same path. Each flowlet can be forwarded along a different uplink. | 05-07-2015 |
20150124805 | METHOD FOR SCALING ADDRESS LOOKUPS USING SYNTHETIC ADDRESSES - Various examples of the present disclosure provide methods for unifying various types of end-point identifiers, such as IPv4 (e.g., Internet protocol version 4 represented by a VRF and an IPv4 address), IPv6 (e.g., Internet protocol version 6 represented by a VRF and an IPv6 address) and L2 (e.g., Layer-2 represented by a bridge domain (BD) and a media access control (MAC) address), by mapping end-point identifiers to a uniform space (e.g., a synthetic IPv4 address and a synthetic VRF) and allowing different forms of lookups to be uniformly handled. In some examples, a lookup database residing on a switch device can be sharded into a plurality of lookup table subsets, each of which resides on a different one of multiple switch chipsets (e.g., Tridents) in the switch device. | 05-07-2015 |
20150124809 | POLICY ENFORCEMENT PROXY - Systems, methods, and non-transitory computer-readable storage media for implementing a policy enforcement proxy are disclosed. A data packet associated with a source endpoint group and a destination endpoint group is received at a network device. The network device performs a policy lookup based on the source endpoint group and the destination endpoint group. The network device determines that the policy is not available and in response, modifies the data packet and forwards it to a policy enforcement proxy. | 05-07-2015 |
20150124820 | METHOD FOR SHARDING ADDRESS LOOKUPS - Various embodiments of the present disclosure provide methods for randomly mapping entries in a suitable lookup table across multiple switch devices and/or multiple switch chipsets in each of the multiple switch devices by using two or more independent hash functions. In some embodiments, the number of entries in the lookup table is equal to be the least common multiple of all possible M (i.e., a number of switch devices) choosing R values (i.e., a desired redundancy level). | 05-07-2015 |
20150124821 | SOURCE ADDRESS TRANSLATION IN OVERLAY NETWORKS - Systems, methods, and non-transitory computer-readable storage media for translating source addresses in an overlay network. An access switch in an overlay network, such as a VXLAN, may receive an encapsulated packet from a tunnel endpoint in the overlay network. The encapsulated packet may originate from a host associated with the tunnel endpoint and be encapsulated at the tunnel endpoint with a first source tunnel endpoint address and a destination tunnel endpoint address. The access switch may replace the first source tunnel endpoint address in the encapsulated packet with a second source tunnel endpoint address of the access switch to yield a translated packet. The access switch may then transmit the translated packet towards the destination tunnel endpoint address. | 05-07-2015 |
20150124822 | MANAGING ROUTING INFORMATION FOR TUNNEL ENDPOINTS IN OVERLAY NETWORKS - Systems, methods, and non-transitory computer-readable storage media for managing routing information in overlay networks. A first tunnel endpoint in an overlay network may receive an encapsulated packet from a second tunnel endpoint. The encapsulated packet may have been encapsulated at the second tunnel endpoint based on another packet originating from a source host that is associated with the second tunnel endpoint. The encapsulated packet can include a source host address for the source host and a source tunnel endpoint address for the second tunnel endpoint. The first tunnel endpoint can then update a lookup table based on an association between the source host address and the source tunnel endpoint address. | 05-07-2015 |
20150124826 | NETWORK FABRIC OVERLAY - Disclosed herein are methods of forwarding packets on a network, such as a leaf-spine network having leaf devices and spine devices. The methods may include receiving a packet at an ingress leaf device, and determining based, at least in part, on a header of the packet whether the packet is to be transmitted to a spine device. The methods may further include ascertaining based, at least in part, on a header of the packet whether to perform encapsulation on the packet, encapsulating the packet according to a result of the ascertaining, and then transmitting the packet to a spine device according to a result of the determining. Also disclosed herein are network apparatuses which include a processor and a memory, at least one of the processor or the memory being configured to perform some or all of the foregoing described methods. | 05-07-2015 |
20150127701 | MULTICAST MULTIPATHING IN AN IP OVERLAY NETWORK - The subject technology addresses the need in the art for improving utilization of network bandwidth in a multicast network environment. More specifically, the disclosed technology addresses the need in the art for extending multipathing to tenant multicast traffic in an IP overlay network, which enables the network to fully utilize available bandwidth for multicast traffic. In some examples, nodes in the overlay network may be connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. | 05-07-2015 |
20150365245 | SYSTEM AND METHOD FOR PROVIDING SMART GRID COMMUNICATIONS AND MANAGEMENT - A method is provided in one example embodiment and includes receiving a request for a service that involves phasor measurement unit (PMU) data; identifying a service device in a network to perform the service; and multicasting one or more results of the service to a group of subscribers identified by a multicast group address. In more particular embodiments, particular PMU data is redirected to the service device via a service insertion architecture (SIA) protocol. In addition, the service can include replicating packets and masking a subset of traffic for forwarding to a first hop router of the network. In certain example instances, metadata is used in order to apply the service to certain traffic propagating in the network. | 12-17-2015 |
20160006651 | Stacking Metadata Contexts for Service Chains - Presented herein are techniques useful in a network comprising a plurality of network nodes each configured to apply one or more service functions to traffic that passes through the respective network nodes. A network node receives packets encapsulated in a service header that includes information defining a first set of context headers stacked into an association of metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes. The network node performs at least one of the service functions in the service path and rewrites the service header with a second set of context headers. The second set of context headers include metadata derived from performing the service function(s) at the network node. | 01-07-2016 |
20160099839 | TARGET MAPPING AND IMPLEMENTATION OF ABSTRACT DEVICE MODEL - A Hardware Abstraction Layer (HAL) for a target computing device that is equipped with an Application Specific Integrated Circuit (ASIC) or other hardware element that provides forwarding and/or switching capability is used to analyze an abstract candidate device model. The abstract candidate device model is received from a controller and specifies intended forwarding behavior for the target device. The HAL analyzes the abstract candidate device model based on its knowledge of the architecture of the ASIC or other hardware element providing forwarding or switching capability to the target device. If the behavior is supported by the target device's architecture, the model may be implemented in a specific manner supported by that architecture and used to control forwarding behavior on the target device. | 04-07-2016 |
Patent application number | Description | Published |
20090276596 | RETENTION OF ACTIVE DATA STORED IN MEMORY USING MULTIPLE INDEXING SYSTEMS FOR DATA STORAGE - A method and apparatus for retention of active data stored in memory using multiple indexing systems for data storage. An embodiment of a method for retention of active data in a storage server includes reading data into a first location of a main memory of the storage server. The data in the first location indexes data elements in a long-term data storage in a first manner. The method further provides for copying the data from the first location into a second location in the main memory of the storage server, where the data in the second location indexing the data elements in the long-term data storage in a second manner. | 11-05-2009 |
20100088296 | SYSTEM AND METHOD FOR ORGANIZING DATA TO FACILITATE DATA DEDUPLICATION - A technique for organizing data to facilitate data deduplication includes dividing a block-based set of data into multiple “chunks”, where the chunk boundaries are independent of the block boundaries (due to the hashing algorithm). Metadata of the data set, such as block pointers for locating the data, are stored in a tree structure that includes multiple levels, each of which includes at least one node. The lowest level of the tree includes multiple nodes that each contain chunk metadata relating to the chunks of the data set. In each node of the lowest level of the buffer tree, the chunk metadata contained therein identifies at least one of the chunks. The chunks (user-level data) are stored in one or more system files that are separate from the buffer tree and not visible to the user. | 04-08-2010 |
20100174879 | ESTIMATING SPACE IN A COMPRESSED VOLUME - A method and system for estimating space in a compressed volume to enable a storage server to respond to write requests before actually compressing and/or allocating data on disk. In some embodiments, in response to receiving a request to store data, the storage server estimates the amount of storage space required to store the data on disk. The storage server compares the estimated amount with the amount of available disk space. When the amount of available disk space is less than the estimated space, the storage server sends a response indicating that the request failed. Otherwise, when the amount of available disk space is greater than or equal to the estimate space, the storage server sends a response indicating that the request succeeded. The response is sent before the storage server allocates any disk space in connection with the request. | 07-08-2010 |
20100274773 | NEARSTORE COMPRESSION OF DATA IN A STORAGE SYSTEM - A storage server is configured to receive a request to store a data block from a client. The request to store the data block is serviced by the storage server by compressing the data block into a compression group which includes a number of compressed data blocks. The storage server stores the compression group in a non-volatile memory and flushes the compression group from the non-volatile memory to a physical storage device in response to reaching a consistency point. By compressing data to be stored in system memory of a storage servers the amount of data that can be processed during a given time period by a data storage system is increased. Furthermore, an increase in performance can be achieved at a lower cost, since the cost of additional physical system memory modules can be avoided, | 10-28-2010 |
20120278382 | EXTENT-BASED STORAGE ARCHITECTURE - An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client. | 11-01-2012 |
20120330903 | DEDUPLICATION IN AN EXTENT-BASED ARCHITECTURE - A request is received to remove duplicate data. A log data container associated with a storage volume in a storage server is accessed. The log data container includes a plurality of entries. Each entry is identified by an extent identifier in a data structures stored in a volume associated with the storage server. For each entry in the log data container, a determination is made if the entry matches another entry in the log data container. If the entry matches another entry in the log data container, a determination is made of a donor extent and a recipient extent. If an external reference count associated with the recipient extent equals a first predetermined value, block sharing is performed for the donor extent and the recipient extent. A determination is made if the reference count of the donor extent equals a second predetermined value. If the reference count of the donor extent equals the second predetermined value, the donor extent is freed. | 12-27-2012 |
20130067175 | METHOD AND SYSTEM FOR USING COMPRESSION IN PARTIAL CLONING - Method and system for partially cloning a data container with compression is provided. A storage operating system determines if a portion of a source data container that is to be cloned includes a plurality of compressed blocks that are compressed using a non-variable compression group size. The operating system clones the plurality compressed blocks with the non-variable compression group size and de-compresses a plurality of blocks of the data container that are not within the non-variable compression group size. The plurality of compressed blocks and the plurality of blocks that are not within the non-variable compression group size are then stored as a partially cloned copy of the source data container. | 03-14-2013 |
20140081929 | NEARSTONE COMPRESSION OF DATA IN A STORAGE SYSTEM - A storage server is configured to receive a request to store a data block from a client. The request to store the data block is serviced by the storage server by compressing the data block into a compression group, which includes a number of compressed data blocks. The storage server stores the compression group in a non-volatile memory and flushes the compression group from the non-volatile memory to a physical storage device in response to reaching a consistency point. By compressing data to be stored in system memory of a storage server, the amount of data that can be processed during a given time period by a data storage system is increased. Furthermore, an increase in performance can be achieved at a lower cost, since the cost of additional physical system memory modules can be avoided. | 03-20-2014 |
20140172928 | EXTENT-BASED STORAGE ARCHITECTURE - An extent-based storage architecture is implemented by a storage server receiving a read request for an extent from a client, wherein the extent includes a group of contiguous blocks and the read request includes a file block number. The storage server retrieves an extent identifier from a first sorted data structure, wherein the storage server uses the received file block number to traverse the first sorted data structure to the extent identifier. The storage server retrieves a reference to the extent from a second sorted data structure, wherein the storage server uses the retrieved extent identifier to traverse the second sorted data structure to the reference, and wherein the second sorted data structure is global across a plurality of volumes. The storage server retrieves the extent from a storage device using the reference and returns the extent to the client. | 06-19-2014 |
20140201168 | DEDUPLICATION IN AN EXTENT-BASED ARCHITECTURE - A request is received to remove duplicate data. A log data container associated with a storage volume in a storage server is accessed. The log data container includes a plurality of entries. Each entry is identified by an extent identifier in a data structures stored in a volume associated with the storage server. For each entry in the log data container, a determination is made if the entry matches another entry in the log data container. If the entry matches another entry in the log data container, a determination is made of a donor extent and a recipient extent. If an external reference count associated with the recipient extent equals a first predetermined value, block sharing is performed for the donor extent and the recipient extent. A determination is made if the reference count of the donor extent equals a second predetermined value. If the reference count of the donor extent equals the second predetermined value, the donor extent is freed. | 07-17-2014 |
20140258648 | OVERWRITING PART OF COMPRESSED DATA WITHOUT DECOMPRESSING ON-DISK COMPRESSED DATA - Overwriting part of compressed data without decompressing on-disk compressed data is includes by receiving a write request for a block of data in a compression group from a client, wherein the compression group comprises a group of data blocks that is compressed, wherein the block of data is uncompressed. The storage server partially overwrites the compression group, wherein the compression group remains compressed while the partial overwriting is performed. The storage server determines whether the partially overwritten compression group including the uncompressed block of data should be compressed. The storage server defers compression of the partially overwritten compression group if the partially overwritten compression group should not be compressed. The storage server compresses the partially overwritten compression group if the partially overwritten compression group should be compressed. | 09-11-2014 |
20150039818 | USE OF PREDEFINED BLOCK POINTERS TO REDUCE DUPLICATE STORAGE OF CERTAIN DATA IN A STORAGE SUBSYSTEM OF A STORAGE SERVER - A method and system for eliminating the redundant allocation and deallocation of special data on disk, wherein the redundant allocation and deallocation of special data on disk is eliminated by providing an innovate technique for specially allocating special data of a storage system. Specially allocated data is data that is pre-allocated on disk and stored in memory of the storage system. “Special data” may include any pre-decided data, one or more portions of data that exceed a pre-defined sharing threshold, and/or one or more portions of data that have been identified by a user as special. For example, in some embodiments, a zero-filled data block is specially allocated by a storage system. As another example, in some embodiments, a data block whose contents correspond to a particular type document header is specially allocated. | 02-05-2015 |
20150205816 | SYSTEM AND METHOD FOR ORGANIZING DATA TO FACILITATE DATA DEDUPLICATION - A technique for organizing data to facilitate data deduplication includes dividing a block-based set of data into multiple “chunks”, where the chunk boundaries are independent of the block boundaries (due to the hashing algorithm). Metadata of the data set, such as block pointers for locating the data, are stored in a tree structure that includes multiple levels, each of which includes at least one node. The lowest level of the tree includes multiple nodes that each contain chunk metadata relating to the chunks of the data set. In each node of the lowest level of the buffer tree, the chunk metadata contained therein identifies at least one of the chunks. The chunks (user-level data) are stored in one or more system files that are separate from the buffer tree and not visible to the user. | 07-23-2015 |
20160070495 | LOGICAL REPLICATION MAPPING FOR ASYMMETRIC COMPRESSION - A system and method for logically organizing compressed data. In one aspect, a destination storage server receives a write request that includes multiple data blocks and specifies corresponding file block numbers. An extent-based file system executing on the storage server accesses intermediate block entries that each associates one of the file block numbers with a respective extent block number. The file system, in cooperation with a compression engine, compresses the data blocks into a set of one or more compressed data blocks. The file system stores the compressed data blocks at physical locations corresponding to physical block numbers and allocates, within an extent map, pointers from an extent ID to the extent block numbers, and pointers from the extent ID to the physical block numbers. | 03-10-2016 |
Patent application number | Description | Published |
20080294223 | Fitting a Neural Prosthesis Using Impedance and Electrode Height - The invention is a method of automatically adjusting an electrode array to the neural characteristics of an individual subject. The response to electrical neural stimulation varies from subject to subject. Measure of impedance may be used to predict the electrode height from the neural tissue and, thereby, predict the threshold of perception. Alternatively, electrode height may be measured directly to predict the threshold of perception. Also, impedance measurement may be used to quickly identify defective electrodes and proper electrode placement. | 11-27-2008 |
20090118792 | Video Processing Unit for a Visual Prosthetic Apparatus - A video processing unit configured to convert a video image to stimulation patterns for stimulating neural tissue in a subject's eye and comprising a power button, wherein the video processing unit is configured to be powered on after a first time interval upon activation of a power button, wherein the video processing unit is configured to be powered off after a second time interval upon activation of a power button. | 05-07-2009 |
20090118793 | Video Processing Unit for a Visual Prosthetic Apparatus - A video processing unit configured to convert a video image to stimulation patterns for stimulating neural tissue in a subject's eye, the video processing unit comprising a video processor for converting a video image to a digital video stream; a memory for storing the digital video stream; and a video preprocessor data interface for forming stimulation patterns based on the stored digital video stream. | 05-07-2009 |
20090118794 | Video Processing Unit for a Visual Prosthetic Apparatus - A visual prosthesis apparatus comprising: a video capture device for capturing a video image; a video processing unit associated with the video capture device, the video processing unit configured to convert the video image to stimulation patterns; and a retinal stimulation system configured to stimulate neural tissue in a subject's eye based on the stimulation patterns, wherein the video processing unit is configured to be powered on after a first time interval upon activation of a power button, wherein the video processing unit is configured to be powered off after a second time interval upon activation of a power button. | 05-07-2009 |
20120185015 | Method and Apparatus to Provide Safety Checks for Neural Stimulation - The present application deals generally with the stimulation of neural tissue by electronic means and specifically with controlling the level of electrical stimulation in order to prevent damage to the neural tissue. Methods presented in the disclosure include detecting current leakage via electrode impedance measurement, electrode capacitance measurement, and testing the electrode response to a test current pulse. Apparatus presented in the disclosure include circuitry and systems capable of performing the methods disclosed. | 07-19-2012 |
20120203293 | Locating a Neural Prosthesis using Impedance and Electrode Height - The invention is a method of identifying a preferred location for an electrode array to the neural characteristics of an individual subject. The response to electrical neural stimulation varies from subject to subject and array location to array location. Measure of impedance may be used to predict the electrode height from the neural tissue and, thereby, predict the preferred location. Alternatively, electrode height may be measured directly to predict the preferred location. | 08-09-2012 |
20140142660 | Downloadable Filters for a Visual Prosthesis - The present invention is an improved method of providing flexible image possessing in a visual prosthesis by providing downloadable video filters. In a visual prosthesis, the input video image is normally higher resolution than the output stimulation of the retina, optic nerve or visual cortex. It is advantageous to apply video processing algorithms (filters) to help provide the most useful information to the lower resolution electrode array. Different filters are more effective in different environments and for different subjects. Examples of situation dependent filters include reverse image, contrast increasing, edge detection, segmentation using chromatic information and motion detection. Filters loaded in the video processing unit may be selected dynamically to suit the situation or the user's preference. It is therefore advantageous to provide flexibility in applying filters. However, it is also important to maintain the security necessary for a medical device. | 05-22-2014 |
20140303686 | Video Processing Unit for a Visual Prosthetic Apparatus - A video processing unit configured to convert a video image to stimulation patterns for stimulating neural tissue in a subject's eye and comprising a power button, wherein the video processing unit is configured to be powered on after a first time interval upon activation of a power button, wherein the video processing unit is configured to be powered off after a second time interval upon activation of a power button. | 10-09-2014 |
20150314125 | Video Processing Unit for a Visual Prosthetic Apparatus - A visual prosthesis configured to convert a video image to stimulation patterns for stimulating visual neural tissue including a camera configured to obtain a video image, a video processing unit configured to receive the image from the camera and create stimulation patterns based upon the image, an implantable stimulation system suitable to stimulate visual neural tissue according to the stimulation patterns, a wireless communication system configured to send a stimulation signal from the video processing unit to the implantable stimulation system, and a voltage and current monitoring circuit in the video processing unit monitoring the stimulation signal sent by the video processing unit. | 11-05-2015 |