Metaswitch Networks Ltd. Patent applications |
Patent application number | Title | Published |
20150319094 | FLOW SYNCHRONIZATION - A controller node receives a list of a first plurality of flows programmed on a network switch. The controller node extracts a flow cookie value from a flow cookie data field of each flow in the first plurality of flows on the received list and calculates a session identifier on the basis of the extracted cookie values. At least one add flow command is transmitted from the controller node to the network switch to program a second plurality of flows on the network switch. The at least one add flow command comprises flow cookie values in the flow cookie data fields of each of the flows in the second plurality of flows which are set equal to the calculated session identifier. At least one delete flow command is transmitted from the controller node to the network switch to delete programming of the first plurality of flows on the network switch. | 11-05-2015 |
20150319044 | CONFIGURATION DATA - Measures for use in generating path configuration data for an optical network. A least cost path calculation process is performed on a network graph representation of the optical network to generate path configuration data for the optical network. Performing the least cost path calculation process comprises performing a network graph expansion process on the network graph representation of the optical network to obtain an expanded network graph representation of the optical network. Performing the network graph expansion process comprises determining data identifying the possible expansion paths to each optical node, the cost of each path and the available wavelengths for each path, grouping together wavelength and path data for paths of equal cost, and at one or more nodes, identifying a subset of one or more wavelengths and performing a wavelength pruning operation. | 11-05-2015 |
20150312149 | DATA PROCESSING - Measures for processing data in a packet-switched network. At a first device in the network, a packet transmitted from a second device in the network is received. The received packet comprising an Internet Protocol (IP) address for a third device in the network. On the basis of the IP address for the third device comprised in the received data packet, lookup in an IP routing table of the second device is initiated to obtain a next-hop address for the received packet. The obtained next-hop IP address is determined to be an IP address of a device connected to the first device. | 10-29-2015 |
20150312129 | DATA PROCESSING - Measures for processing data in a packet-switched network. At a first device in the network, an echo request packet is transmitted into the network. The echo request packet comprises a predetermined identifier. An echo response packet is received from a second device in the network. In response to the received echo response packet comprising the predetermined identifier, the received echo response packet is identified as a packet generated on the basis of an echo request packet originated from the first device, and an Internet Protocol (IP) address comprised in the received echo response packet is determined to be an IP address of the second device. | 10-29-2015 |
20150312128 | DATA PROCESSING - Measures for processing data in a packet-switched network. A first device is configured to snoop control packets of a predetermined control plane protocol in the network. The predetermined control plane protocol is operated by a plurality of other devices in the network to obtain Layer 2 information on the basis of known Layer 3 information. The first device does not operate the predetermined control plane protocol in the network. At the first device, in response to identifying that a given snooped packet was generated according to the predetermined control plane protocol. Layer 3 information associated with a second device in the plurality is extracted from the given snooped control plane protocol packet on the basis of known Layer 2 information associated with the second device. The second device is connected to the first device. | 10-29-2015 |
20150281070 | DATA CENTER NETWORKS - Measures for establishing connectivity in a data center network are provided. A virtual connection is created between a virtual system hosted on a server in a data center network, and a packet forwarding function in that server. Additionally, an entry is populated in a packet forwarding data store in the server, which includes an internet protocol (IP) address of the virtual system and an associated identifier for the created virtual connection. The packet forwarding data store is accessed by the packet forwarding function when making forwarding decisions for received data packets. | 10-01-2015 |
20150281065 | DATA CENTER NETWORKS - Measures for routing data packets in a data center network are provided. A packet forwarding function in a server in a data center network is configured to forward data packets to/from virtual systems hosted on that server. The packet forwarding function is configured to make forwarding decisions for received data packets based on the destination internet protocol (IP) address of the received data packet, and forward the data packet at least on the basis of the forwarding decision. | 10-01-2015 |
20150281056 | DATA CENTER NETWORKS - Measures for controlling communication access in a data center network are provided. A packet forwarding function in a server in a data center network is configured to access an access control data store when making forwarding decisions for received data packets which are being routed to/from virtual systems hosted on that server. In response to receipt, at the server, of a setup notification relating to setup of a virtual machine on the server, one or more entries are populated in the access control data store. The entries comprise an internet protocol (IP) address of the virtual system and at least one associated IP address of one or more other communication endpoints. | 10-01-2015 |
20150063376 | DATA PROCESSING - In a telecommunications network including at least a user device and a network node separated by at least a packet-switched part of the telecommunications network, the user device including a primary jitter buffer having a constant packet play-out rate, the network node including a secondary jitter buffer, incoming packets destined for the user device are received and passed through the secondary jitter buffer of the network node downstream towards the primary jitter buffer of the user device. The departure times of packets passing through the secondary jitter buffer of the network node downstream towards the primary jitter buffer of the user device are monitored. On the basis of the monitoring and one or more known characteristics of the primary jitter buffer, an estimate of a current state of the primary jitter buffer is maintained. Operation of the secondary jitter buffer is dynamically controlled according to the maintained estimate. | 03-05-2015 |
20140323127 | PROCESSING DATA - Measures for processing data in a telecommunications network. At a cache, a subscriber configuration data request requesting subscriber configuration data for a subscriber device is received from a network node in a cluster of network nodes. In response to receipt of the subscriber configuration data request, it is determined that a shared cache store does not contain subscriber configuration data for the subscriber device. In response to the determination, subscriber configuration data for the subscriber device is retrieved from a subscriber configuration network node. The subscriber configuration data for the subscriber device retrieved from the subscriber configuration network node is transmitted to the network node. | 10-30-2014 |
20140323083 | PROCESSING COMMUNICATION STATUS INFORMATION - Measures for processing communication status messages in a telecommunications network which includes a plurality of signaling nodes responsible for processing signaling information in the telecommunications network and a charging node responsible for processing billing information in the telecommunications network. A communication status message is received from a signaling node in the plurality. The received communication status message includes first communication status information. Second communication status information is generated on the basis of at least the first communication status information. One or more communication status messages are transmitted to the charging node. The one or more transmitted communication status messages include the first communication status information and the second communication status information. | 10-30-2014 |
20140321280 | PROCESSING DATA - Measures for processing data in a telecommunications network. At a first network node in a cluster of network nodes, a communication session setup request requesting setup of a communication session with a subscriber device in a plurality of subscriber devices is received. In response to receipt of the communication session setup request, registration data relating to the subscriber device is retrieved from a shared registration data store. The communication session setup request is routed according to the retrieved registration data. The retrieved registration data relating to the subscriber device was previously stored in the shared registration data store by a second network node in the cluster of network nodes in relation to a registration procedure conducted for the subscriber device by the second network node, the second network node being a different network node to the first network node in the cluster of network nodes. | 10-30-2014 |
20140254772 | UNUSUAL EVENT DETECTION IN A TELECOMMUNICATIONS NETWORK - Measures for detecting unusual communication session events in a telecommunications network. A Markov model for events occurring in communication sessions conducted in the network is maintained. The maintaining includes assigning a probability of occurrence metric to a plurality of event sequences in the conducted communication sessions. In response to a given sequence of communication session events being assigned a probability of occurrence metric which exceeds a predetermined threshold, an unusual communication session event alert in association with the given sequence is triggered. | 09-11-2014 |
20140181977 | HANDLING POTENTIALLY MALICIOUS COMMUNICATION ACTIVITY - At least some incoming traffic is distributed into a first set of traffic groups according to a first grouping scheme. Communication activity from a potentially malicious source may be grouped in a given traffic group in which communication activity from an acceptable source is also grouped. Potentially malicious communication activity is detected in the given traffic group. Traffic in the given traffic group is processed using a first traffic processing mode associated with potentially malicious communication activity, in which at least some traffic that is distributed into the given traffic group is discarded. In response to a dynamic trigger the grouping scheme is altered to one or more further grouping schemes in order that the communication activity from the acceptable source is likely to be subsequently grouped into a traffic group which is different to a group into which the communication activity from the potentially malicious source is subsequently grouped. | 06-26-2014 |
20140181030 | IDENTIFYING DATA ITEMS - Each of a plurality of data items has an associated update time. Identifying updated data items comprises identifying those data items that have an update time later than a last synchronization time. The data items are updated such that each data item is associated with one of a plurality of update tokens. Each update token is associated with updates performed up to a respective bound period from a time at which the update token is superseded by a successive update token. The update tokens are allocated successively in a monotonic sequence. Data indicating a last synchronization time is received. An update token is identified that is associated with one or more updates performed relative to a point in time related to the last synchronization time by the bound period. Data items having an update time after the last synchronization time are identified on the basis of the identified update token. | 06-26-2014 |
20140156595 | SYNCHRONISATION SYSTEM AND METHOD - A synchronisation system and corresponding method for synchronising a set of records in a first database with a second database which comprises a copy of the set of records. The first database has a transaction log with entries indicating changes made to records in the first database. The second database stores a global version. The synchronisation system comprises at least one processor which is configured to process entries in the transaction log relating to the set of records to record changes from the first database in the second database; and associate the global version with any records written to the second database. | 06-05-2014 |
20140106720 | CONTROLLING COMMUNICATIONS EQUIPMENT - Communications equipment associated with a calling party in a telecommunications network has a telephony function for handling telephone calls and a data communication application for handling data communication sessions. The telephony function and the data communication application have an associated first and second user interface respectively. A called party identifier is collected via the second user interface in response to user input at the communications equipment. A telephone call is set up between the calling party and the called party using the telephony function on the basis of the collected called party identifier. Data communication session setup information, comprising information identifying the called party, is transmitted on the basis of the collected called party identifier. The data communication session setup information is for establishing a data communication session separate from the telephone call for the communication of data between the calling party and the called party. | 04-17-2014 |
20140079203 | Communication System - A method of controlling a user device in a telecommunications network having a first part and a second, different part is provided. The method includes, at the user device, receiving a first communication session setup request to set up a given communication session, the first communication session setup request being directed to a first communication interface, receiving a communication notification in relation to the same given communication session, the communication notification being directed to a second communication interface, establishing the given communication session via the first communication interface via the first part of the telecommunications network, and after having established the given communication session via the first communication interface, activating an alert function to alert a user of the user device to the availability of the second communication interface at least on the basis of having received the communication availability notification. | 03-20-2014 |
20130343527 | Telephony Equipment Migration - A telephony equipment migration arrangement is provided. The telephony equipment migration arrangement includes legacy telephony equipment located in one or more equipment bays, at least one transport cable, with one or more connectors, to provide external carrier connectivity, replacement telephony equipment located in one or more equipment bays remote from the legacy telephony equipment, and at least one remote coupling cable, with one or more connectors, connected to the replacement telephony equipment. The connector(s) of the remote coupling cable are mounted in a location having a predetermined locational relationship with the equipment bay in which the legacy telephony equipment is located, and the transport cable is communicatively coupled to the remote coupling cable. | 12-26-2013 |
20130268542 | Searching and Storing Data in a Database - Nodes in a tree data structure are associated with respective node keys. At least some of the nodes are associated with at least one respective node rank. The structure is searched to attempt to identify a preferred prefix-matching node on the basis of attempting to find a prefix-matching node that has a prefix match with a search key and which has a preferred node rank relative to a node rank associated with a node which may have a longer prefix match. If the prefix-matching node is identified, a dependent node rank identifier associated with the prefix-matching node is used to determine that the prefix-matching node has the preferred node rank. The dependent node rank identifier indicates at least a node rank of a node which may have a longer prefix match than the prefix-matching node. The prefix-matching node is selected, if identified, as a preferred prefix-matching node. | 10-10-2013 |
20130242775 | Routing a Call - A method of routing a call involving a call party in a telecommunications network via a selected media routing path of a plurality of different media routing paths is provided. The media routing paths communicate media data to and/or from at least one communication device associated with the call party. A call control system in the telecommunications network receives data derived from a media quality test procedure for a given media routing path. The media quality test procedure includes media test data being communicated via the given media routing path and the media test data being analysed. The call control system selects a preferred media routing path from the plurality of media routing paths for communicating media data associated with the call to and/or from one or more of the at least one communication devices associated with the call party on the basis of at least the received data. | 09-19-2013 |
20130232277 | Transmitting and Forwarding Data - A network comprises a communication device having network communication interfaces and a data processing node having network communication ports. The communication device includes a first and a second interface communicatively coupled to a first and a second port of the data processing node respectively. The first interface is selected as a primary interface for the transmission of network traffic to destinations across the network. The second interface is selected as a backup interface which is to be selected for the transmission of the network traffic in the case of a need to failover to the backup interface. Network traffic from the communication device is transmitted via the first interface while the first interface is selected as the primary interface. At least one data message is transmitted from the communication device via the second interface, while the first interface is selected as the primary interface. | 09-05-2013 |
20130232273 | SIP Media Retry - Methods, apparatuses and computer programs for selecting a codec for use by a communications device for a session over a network, having a transcoding resource, are provided. It is determined whether the transcoding resource is available for the communications session and, if the transcoding resource is available, a subset of codecs available to the communications device is used in a signalling process used to determine a codec for the session. The subset is selected based on an operative condition affecting the communications device. | 09-05-2013 |
20130230051 | Processing Requests - Measures for operating a data link, including handling transfer of operation from a primary to a backup device in the link without taking down and re-establishing the link. | 09-05-2013 |
20130229949 | Processing Requests - Measures for modifying settings of communication services for Session Initiation Protocol (SIP) devices in a telecommunications network are provided. A code-containing SIP message comprising a code entered by a user of a SIP device is received from the SIP device. The code identifies a communication service. The communication service that the code relates to is determined on the basis of the received code. A function-activating SIP message comprising data specifying one or more characteristics of at least one function to be activated by the SIP device in a data collection operation is transmitted to the SIP device. A completed data-containing SIP message comprising communication service data entered by the user of the SIP device is received from the SIP device. The communication service data is processed in accordance with the identified communication service. | 09-05-2013 |
20130229948 | Conditional Telecommunications - A subscriber of a telecommunication system has a plurality of associated telecommunication devices which are each contactable via a device-shared identification address. A first device can communicate with a telecommunications network. A second device can communicate with a packet-switched network and a circuit-switched network. A control system receives an incoming telecommunication request associated with an incoming telecommunication request directed to the address, which has been routed to the control system based on the address. A first control phase is initiated where a first outgoing telecommunication request is transmitted over the telecommunications network to the first device and an operation is performed to at least attempt to transmit a second outgoing telecommunication request over the packet-switched network to the second device. If the operation is deemed to be unsuccessful, a second control phase is initiated where a third outgoing telecommunication request is transmitted over the circuit-switched network to the second device. | 09-05-2013 |
20130227662 | Method of Generating a Token to be Used in a Uniform Resource Identifier - A method of generating a token to be used in a Uniform Resource Identifier (URI) for use in the retrieval of a data item by a user device is provided. Security setting data relating to the data item is received. A token to be used in a URI is generated. The token is associated with the data item. The token is transmitted to a user device. Generating comprises selecting a length of the token at least partly on the basis of the security setting data. | 08-29-2013 |
20130227339 | Failover Processing - A method of providing failover processing between a first element and a second element in a data communications network, the method comprising configuring a first channel and a second channel between the first and second elements, the first and second channels comprising different physical data paths, receiving at the first element, via the first channel, first data signals representative of functioning statuses of the second element, the first channel being configured to allow a non-optimal, partly functioning status of the second element to be communicated to the first element; and receiving at the first element, via the second channel, second data signals representative of functioning statuses of the second element, the second channel being configured to allow a failed functioning status of the second element to be communicated to the first element; and conducting failover processing based on both the first and second data signals. | 08-29-2013 |
20130227058 | Processing Data and Operating a Communications Device - Processing data in a communications system comprising a plurality of servers is provided. First data received from a communications device is directed to a given server in the plurality of servers. A server identifier identifying the given server is transmitted to the communications device. Subsequent data is received from the communications device. The subsequent data comprises the server identifier and a further parameter. The given server is selected on the basis of at least the server identifier and some of the subsequent data received from the communications device is directed to the given server. In the event of a need to redirect subsequent data to a server other than the given server, a different server is selected on the basis of at least the further parameter and further of the subsequent data received from the communications device is directed to the selected different server. | 08-29-2013 |
20130225135 | Communication Sessions - A method of initiating a voice call via a dialler user interface on a user device in a telecommunications network is provided. The user device comprises at least a first communication client adapted to communicate via a first part of the telecommunications network and a second communication client adapted to communicate via a second, different part of the telecommunications network. The method includes, at the user device, receiving, via the dialler user interface of the user device, user input from a user of the device associated with initiating setup of a communication session, and selecting a given one of the first and second communication clients to pass the user input to for processing, whereby a communication session setup request is transmitted from the given communication client into the respective part of the telecommunications network. | 08-29-2013 |
20130223432 | Communication System - A method of controlling a communication session is provided. The communication session is established in a telecommunications network between a first communication client of a plurality of communication clients on one or more communication devices associated with a first party and a communication device associated with a second party, the established communication session comprising at least a first communication session leg established between the first communication client and an intermediate node in the telecommunications network. The method includes detecting a loss in connectivity associated with the first communication session leg, and in response to detecting the loss in connectivity, initiating set up of a second communication session leg between an intermediate node in the telecommunications network and at least a second communication client of the plurality of communication clients on one or more communication devices associated with the first party. | 08-29-2013 |
20130223431 | Processing Requests - Measures for processing requests in a telecommunications network are provided. A blacklist for determining routeing attempts to be conducted during a default routeing attempt procedure is maintained. A request comprising an identifier for a given destination for the request is received and, in response to performing a destination address lookup for the identifier, a set of one or more destination addresses for routeing the request to is received. One or more destination addresses in the set are compared to the list of destinations on the blacklist. If the comparison indicates that at least one of the destination addresses in the set is not present on the blacklist, the request is processed according to a default routeing attempt procedure. If the comparison indicates that all of the destination addresses in the set are present on the blacklist, the request is processed according to an alternative routeing attempt procedure. | 08-29-2013 |
20130216039 | Processing Telephone Calls - Methods, apparatus and computer program products for indicating availability in a telecommunications network are provided. An availability alerting service is initiated in response to a trigger associated with non-completion of an initial call from a calling party to a called party, the availability alerting service provides the calling party with availability alert information to solicit a follow-up call from the calling party when the called party has a given availability state after the initial call. The availability alerting service detects a first availability status change after initiation of the alerting service, and transmits a first availability update message to the calling party to solicit the follow-up call. A second availability status change is detected, subsequent to the first availability status change, and a second availability update message is transmitted to the calling party to inhibit the follow-up call. | 08-22-2013 |
20130212298 | SIP MESSAGE PROCESSING - A method of processing Session Initiation Protocol (SIP) signalling messages in a telecommunications network is provided. The method includes, at a SIP routing element, maintaining a routing database containing routing data for routing SIP signalling messages between SIP network elements, maintaining a group of simultaneously active modes including at least a SIP proxy server stateless mode and a SIP proxy server stateful mode, receiving a plurality of SIP signalling messages from SIP network elements, routing at least some of the received SIP signalling messages with reference to the routing database according to a SIP proxy server stateless mode, and routing at least some of the received messages with reference to the routing database according to a SIP proxy server stateful mode. | 08-15-2013 |
20130196696 | Message Processing - Processing an incoming request message and transmitting outgoing request messages to telephony devices located in various different geographic regions of a telephony system are provided. The telephony devices include at least one group of potential recipient telephony devices. A group of potential recipient devices include mobile telephony devices that can move between the various different geographic regions. An incoming request message comprising a telephony party identifier is received. The telephony party identifier is recognised as a telephony party identifier to be subject to location-based processing. A subgroup, including a plurality of potential recipient telephony devices currently within one or more target geographic regions associated with the recognised telephony party identifier, of the group of potential recipient telephony devices is determined. An outgoing request message is transmitted to each of a plurality of different telephony party identifiers, each being associated with a different potential recipient telephony device in the subgroup. | 08-01-2013 |
20130188649 | Communication Session Processing - Measures for use in processing communication sessions in a telecommunications network are provided. Each communication session has a signalling path spanning a plurality of devices including one or more intermediate network devices and at least two endpoint devices, the signalling path comprising a plurality of signalling segments, each segment being between two devices in the plurality of devices. A first signalling message, comprising a first identifier associated with the communication session, is received via a first signalling segment for a communication session. At least part of the first identifier is transformed using a deterministic encryption algorithm to generate a second identifier. A second signalling message, comprising the second identifier, is transmitted via a second signalling segment for the communication session to associate the second identifier with the communication session. | 07-25-2013 |
20130185445 | Method and System for Managing a SIP Server - A method, system and computer program product are described for managing network communications to a Session Initiation Protocol (SIP) server capable of SIP processing using a SIP stack. A data packet is received from a network device. It is determined, from the data packet, whether the network device is a device recognised by the SIP server. Responsive to this determination, and before SIP processing using the SIP stack, it is determined whether the data packet conforms to a permitted configuration. The permitted configuration includes that data of the data packet indicates an unfragmented User Datagram Protocol (UDP) packet and that data indicative of SIP data in the received data packet matches a parsing rule. If the data packet conforms to the permitted configuration, it is passed to the SIP stack, if not it is discarded. | 07-18-2013 |
20130185416 | Controlling an Apparatus - An apparatus in a LAN has first and second hardware interfaces to connect to the LAN. First and second monitoring request messages are transmitted to one or more devices in a first VLAN and one or more devices in a second VLAN respectively, via both the first and second hardware interfaces. The monitoring request messages use the Address Resolution Protocol (ARP) or the Neighbor Discovery Protocol (NDP). First and second monitoring response messages are received via the first and/or second hardware interfaces in response to the first and second monitoring request messages respectively. A selection is made between the first and second hardware interfaces for performing data communication, based on the first and second monitoring response messages. The selection is performed independently for data communication via the first and second VLANs based on at least one characteristic of the first and second monitoring response messages respectively. | 07-18-2013 |
20130179581 | SIP Server Overload Control - There is provided a system, method and computer program product for managing network communications to a Session Initiation Protocol (SIP) server. In the system, a packet limiter receives packets relating to SIP messages from a network and selectively forwards said packets for initial SIP processing. A work scheduler then accesses the result of the initial SIP processing and determines whether to proceed with further SIP processing based on a level of system activity. If a level of system activity is such that the system should proceed with further SIP processing, then further SIP processing may be scheduled. Initial SIP processing may involve one or more of parsing, request handling and response handling. Further SIP processing may involve one or more of initiating a new dialog, processing SIP messages relating to an existing dialog and processing messages that do not require a dialog. | 07-11-2013 |
20130177011 | Communication Session Processing - Measures for use in processing communication sessions in a telecommunications network are provided. Each communication session has a signalling path spanning a plurality of devices including one or more intermediate network devices and at least two endpoint devices, the signalling path comprising a plurality of signalling segments, each segment being between two devices in the plurality of devices. A first signalling message, comprising a first identifier associated with the communication session, is received via a first signalling segment for a communication session. At least part of the first identifier is transformed using a deterministic encryption algorithm to generate a second identifier. A second signalling message, comprising the second identifier, is transmitted via a second signalling segment for the communication session to associate the second identifier with the communication session. | 07-11-2013 |
20130138593 | Method and Apparatus for Operating a Finite State Machine - A finite state machine is provided. The finite state machine causes a function to be carried out in dependence on at least an event input to the finite state machine and the current state of the finite state machine. Associations between the functions that are to be carried out and combinations of the states and the events are identified using an associative array. The associations identified using the associative array are amended while the finite state machine is operating to dynamically reconfigure the operation of the finite state machine. | 05-30-2013 |
20130101106 | Processing Data - A method of processing data in relation to a teleconference service in a telecommunications network is provided. The teleconference service is able to handle a multi-party teleconference for three or more teleconference participants. First, second and third teleconference participation identifiers are received from first, second and third teleconference participants respectively. The first, second and third teleconference participation identifiers are correlated to determine that the first, second and third teleconference participants are participants in a given multi-party teleconference. Data is transmitted for enabling the establishment of a data communications session which is established separately from the teleconference. The data communications session is for the communication of data between a first data communication device associated with the first teleconference participant, a second data communication device associated with the second teleconference participant and a third data communication device associated with the third teleconference participant. | 04-25-2013 |
20130054806 | Load Balancing for SIP Services - Methods of operating an SIP load balancer, one or more SIP server nodes and/or one or more SIP server instances are provided that efficiently manage a processing load. Configurations for an SIP load balancer, one or more SIP server nodes and/or one or more SIP server instances to enable efficient management of a processing load are also described. In certain ones of these, state data for a set of SIP processes may be sent from a SIP server instance and used by a SIP load balancer to remove inactive SIP processes from a data structure. The management of a processing load comprising a number of SIP processes following the failure of a SIP server node and/or a SIP server instance is also provided. | 02-28-2013 |
20120254342 | Method for Providing Access to Data Items from a Distributed Storage System - A method for providing access to data items from a distributed storage system is provided. Each data item is replicated across a plurality of storage nodes. Data items are read from the distributed storage system by selecting between a first reading mode, comprising attempting to read the data item from a set of the storage nodes to check for data item consistency across at least a quorum of the set of nodes, and a second reading mode, comprising reading the data item from at least one of the storage nodes. The reading mode is selected according to at least one detected characteristic of system status of the distributed storage system. The second reading mode is selected when the detected characteristic indicates a higher likelihood of data item consistency, and the first reading mode is selected when the detected characteristic indicates a lower likelihood of data item consistency. | 10-04-2012 |