What do remote viewers say about 2017




















Looking at FIG. When this occurs, the transport layer is able to be provided with a constant stream of data without overflowing the data buffers in the transport layer. The remote viewing software client may also buffer data as it is generated to accumulate a minimum amount of data prior to forwarding any data to the transport layer so that the transport layer does not attempt to generate and transmit very small packets of data. According to an embodiment, the display keeps track of the amount of time it takes between starting to generate data T 0 and when the remote viewing software has generated enough data to start passing data to the transport layer T g , the start time of the previous update T 1 , and the total size S of the previous update N.

By subtracting T g from the estimation of time T 3 , the remote viewing client can determine T C at which time it can start to generate data for the next subsequent update. This will allow the remote viewing client to generate and start to pass data to the transport layer for the next subsequent update in synchronization with the transport layer completing processing and transmission of the current update.

In some situations, the remote viewing software will look for screen changes when it is time to start capturing the next subsequent update T C and determine that there is no new data to be transmitted. In this instance, the remote viewing software will sleep briefly and periodically query for hints to determine the time to generate the next subsequent update. Hence, where there is no new data to be transmitted, the remote viewing software will not need to throttle transmission of updates.

In order for the display to determine when to start generating updates, the Display must have a way to continuously measure available network bandwidth. The ack messages contain a server timestamp in milliseconds that indicates when the update message was received by the server. It is assumed that server processing is constant and simply adds a fixed amount to the measured latency between display and server.

Likewise, it is assumed that the network latency between the ack of the first message and the ack of the last message is relatively constant for a particular update. By comparing the time of arrival of the first and last messages for the update, and knowing the size of the update, the remote viewing client can determine the amount of bandwidth B available on the connection between the Display and the Server according to Equation 2.

Usually for large updates, particularly with a fast graphics card or a mirror display driver in use, compressed screen data is generated several times faster than it can be sent, and between T 1 and T 3 in FIG. Large updates like these can be used to more accurately measure of bandwidth B. If the update size S is greater than some threshold e. Smaller updates may also be used, although as the updates get smaller the reliability of the bandwidth measurement may start to be affected more by other network conditions such as differences in network latency which have been assumed to be negligible when operating with larger sized updates.

Typically, the display will get a reasonable measure of bandwidth on its first update, which, as a full screen update, will exceed the threshold for bandwidth measurement. Bandwidth measurement is continually updated during a session any time large updates are sent, to enable changing network conditions to be detected.

As changes in the available bandwidth are detected, the estimation process discussed above is adjusted by using the most recently computed value of B in Equation 1.

It is possible for errors to be made in the bandwidth measurement. For example, it is possible for conditions to exist under which the display fails to generate data faster than it can be sent. For example, if a slower machine, not using a mirror driver, is connected to a fast network, the transport layer may be able to transmit data faster than the remote viewing client is able to generate it.

In this case bandwidth can be underestimated since the server acknowledgments are based on an assumption that the transport layer was able to send a continuous stream of data. The quantity B reflects the bandwidth measurement which was made during the last time a large update was sent. Since network conditions may change quickly, the actual bandwidth available for a particular update may be much different than what was available for a previous update.

Hence, a margin of error for the bandwidth measurement must be expected and allowed for. There are several factors which can prevent throttling to work precisely as intended. For example, as noted above, the bandwidth measurement may be expected to have some error. Likewise, in reality, the amount of time it takes between when the remote viewing client starts to process an update and when the transport layer starts to send the data T g is likely to vary somewhat depending on the particular type of update and whether other applications on the Display are also using the transport layer.

For example, T g will be relatively constant in some display side scenarios e. Likewise, network conditions most commonly bandwidth can simply vary during a session. Accordingly, in one embodiment, the acknowledgment messages are used to provide feedback to the throttling logic to detect and handle errors. There are two common scenarios that may occur: 1 the display is throttling too little, in which data will start to accumulate in the transport layer; and 2 the display is throttling too much.

If the Display is throttling too much, data will not back up on the network, but performance of the video quality on the remote viewing session will be affected from having artificially lowered the amount of data that the Display is able to provide to viewers over the session.

If the display is throttling data insufficiently sending too fast , then data is buffered in the transport layer. Current updates will get stuck behind older buffered updates. This situation can be detected by monitoring the time it takes for the first message in an update to be acknowledged by the server.

If there is no excess buffering of data, the first message in each update should always take the same amount of time to reach the server, measuring from the time the message is sent by the remote viewing client to the time the message is acked on the server as measured by the server ack of the first message in the update.

If there is excess buffering of data, it will take longer for the server to acknowledge the first message of a buffered update. The first message in an update can either be a leading or a throttled message, depending on the status of the transport layer at the time when the remote viewing client starts processing a next subsequent update. A throttled message is a first message of an update that is generated by the remote viewing client where the remote viewing client starts processing an update before the transport layer has completed transmission of the previous update.

Since the transport layer is guaranteed not to be working on data from previous updates in connection with a leading message, an ack of a leading message will reflect the status of the network. Ideally, if throttling is working properly, an ack of a throttled message should be the same as an ack of a leading message since, if working properly, the throttled message should arrive at the transport layer just in time to be transmitted by the transport layer and, hence, should not encounter any buffering delays at the transport layer.

If the ack of a throttled message takes longer than the ack of a leading message, it may be inferred that the throttled message was buffered in the transport layer and, hence, the remote viewing software is not throttling enough. Thus, monitoring acks of first messages may be used to determine whether the remote viewing software is throttling correctly. Since t sendstart is a client timestamp, and t ackstart is a server timestamp, this latency value is useful only as a relative measure.

If the latency of a throttled message exceeds the baseline latency by more than some threshold e. One possible reason for under-throttling may be because of a drop in available bandwidth. If the remote viewing client detects that it is under-throttling, the display will wait for all messages to be acked to ensure that any backlog in the transport layer is cleared, and temporarily lower the threshold update size limit for measuring bandwidth. By lowering the size of the update required to measure bandwidth B, more bandwidth samples will be able to be collected to enable the Display to quickly get additional information about the available bandwidth on the network.

This worst case scenario is still an improvement over the former approach of waiting for an update request from the viewer. If over-throttling is detected by the Display, an error message may be generated as an alert. Optionally, feedback from an over-throttling determination or under-throttling determination may be included into the equation used to select the capture start time. In particular embodiments, such as where TCP is being implemented in the transport layer as the protocol for display-server communication, the TCP send buffer must be large enough that it does not become the limiting factor in data transmission.

It is well known that in order for TCP to utilize all available bandwidth, the TCP send buffer must be at least two times the bandwidth times the latency. In one embodiment, the display measures latency via a timing message sent when first connecting to the server. Then once the display is able to measure bandwidth, it adjusts the TCP send buffer accordingly. Under high latency conditions or in high bandwidth conditions, the TCP send buffer may need to be quite large.

In this situation, if there is a sudden drop in bandwidth, a large backlog of stale data may be stored in the send buffer at the transport layer. In this case the remote viewing client will detect that it is not throttling enough, and adjust how throttling is handled. The Display will then wait for receipt of all outstanding acks, at which point the send buffer is guaranteed to have cleared, and then resume generating updates.

If the Display needs to close the session while waiting for the buffer to clear, the display will send a close message and wait for a short timeout period. If the display gets no response within the timeout period it will reset its socket connection, reconnect, and send a new close message. The amount of time it takes to process particular messages may vary as well. For example, BitBlt messages can take much longer to process relative to their size both on the server, with pruning, and on the viewer as compared to messages containing pixel data.

Essentially, the BitBlt allows an area of the screen to move from one area to the other and allows that movement to be communicated on the session using a copy command rather than re-transmitting all of the pixel data in the new location. Processing time, not transmission time, is the limiting factor for how fast these messages can be handled.

In one embodiment, accordingly, the remote viewing software does not throttle BitBlt updates according to the above algorithm. Instead, BitBlt messages are simply limited to a maximum of 2 per second. Other numbers of BitBlt messages may be transmitted as well depending on the particular implementation.

There are other situations where the Display may be able to transmit data faster than any of the Viewers may possibly use the data. For example, in a situation where the Display has a very high upload bandwidth available, continuous updates from the Display to the server can be wasteful of server resources.

The Display therefore respects a bandwidth limit, set by the server during the initial exchange of messages when a session starts. If available bandwidth exceeds the limit, the Display applies additional throttling so that average bandwidth usage does not exceed the limit. Throttling still occurs only between updates and not during updates.

Transmission rates can burst as high as permitted by the network while sending an update, but will be throttled sufficiently between updates so as to achieve an average bandwidth that is within the server specified limit.

Specifically, as shown in FIG. The display generates and transmits updates without waiting for an update request from the server. If the display is idle for a period of time, the server may still send an update request to the display. The viewer, by contrast, will tell the server when it is ready to receive an update.

Hence, as shown in FIG. The viewer will render the image associated with the update and then send a new update request. The rate at which the viewer requests updates is unrelated to the rate at which the display sends updates. Upon further investigation, the viewer determined that the pyramids were stasis chambers of some sort, which the Martians were using as shelter against the violent storms outside.

The monitor directed the viewer to find out more about the hibernating aliens, or as they put it:. As for why they were there, the OWSTTS had apparently suffered from some sort of environmental catastrophe, and this particular group was waiting to hear from scouts who had gone searching for someplace safe. While the fate of the scouting party is ambiguous, the viewer implies that it might not have gone that well - and the OWSTTS might be sleeping for a long time.

Original Air Date:. October 28, An Investigation Into The Paranormal. Airdates October 28, Joe McMoneagle. Remote Viewer. Annie Jacobson. Investigative Journalist. Marge Bradley.



0コメント

  • 1000 / 1000