Electrical computers and digital processing systems: multicomput – Computer-to-computer protocol implementing – Computer-to-computer data streaming
Reexamination Certificate
1999-02-18
2002-04-23
Maung, Zarni (Department: 2154)
Electrical computers and digital processing systems: multicomput
Computer-to-computer protocol implementing
Computer-to-computer data streaming
C709S230000, C709S232000, C709S203000, C709S217000, C709S226000
Reexamination Certificate
active
06377996
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to time-constrained data streaming transmission systems and methods. More specifically it relates to techniques providing seamless switching of multimedia streams.
2. Description of Prior Art
The task of providing interactive distributed multimedia services using large and powerful distributive video servers becomes very important with proliferation of the new generation Internet, e.g., Internet
2
. The Internet
2
project addresses creation of a leading edge network capability for the national research community and development of a new generation of applications that fully exploit the capabilities of broadband networks. Very high bandwidth and bandwidth reservation will allow materials such as continuous digital video and audio to move from research use to much broader use that will include images, audio, and video in ways currently not possible.
Internet2 applications will be built using an emerging set of middleware and development tools that support these advanced applications. Among the most critical tasks is guaranteed availability, user-centric reservation and highly interactive control of widely distributed large video servers, such as video servers, mainframes, super computers, etc.
Current approach of delivery streams with large bandwidth relies on pre-scheduling of resources. It works well with mainframes using operating systems like MVS, where multiple tasks run preferably in batch mode, or specialized Video on Demand (VoD) servers, with a predetermined start of segments, separated with relatively long and predefined time intervals.
In such approaches, due to the batch scheduling at the primary server, large queuing delays may be experienced. All the while, the client remains idle, waiting for a response to its request from the primary server. This situation arises not only during the startup of a media session, but at practically every request for change in the data flow, e.g., fast forward, stop, continue, etc. Also, the delay time is not easily predictable and in some cases, is random even for the same type of requests. The presence of arbitrarily large delay during streaming represents a nuisance to clients and, this is one of the major reasons why mainframe-based video servers are not generally used as streaming servers on the Internet.
Video servers using OS2, Windows NT or UNIX operating systems, are typically less powerful, and may not provide as many large bandwidth streams as VoD type servers. Multitasking, multithreading and preemptive operating system features of those servers, allow necessary allocation of available resources and their availability at very short delay between the request and starting point of streaming data. As a result, data streaming applications may utilize servers interactively, starting the streaming process at arbitrary point at arbitrary location in the data stream, and receiving a practically immediate response.
There are attempts to modify VoD servers to make response time faster. One method is to provide larger number of video streams, so the interval between streams is negligible, e.g., a few seconds. This is quite an expensive approach, requiring either very powerful servers, or using a cluster of servers. One such method is demonstrated by a U.S. Pat. No. 5,737,747, which is based on using multiple video servers, linked to a cached disk storage subsystem. The disk storage subsystem is responsible for a pre-fetch and buffering of the data. However, this solution requires a close proximity of video servers, preventing their geographical distribution on the network.
U.S. Pat. No. 5,630,067 demonstrates another approach that exploits peer-to-peer architecture where each server holds a segment of the information. This approach is well suited to retrieving independent segments of information, but presents a problem when synchronizing of segments stored on different servers.
Still another mechanism is described in the U.S. Pat. No. 5,682,597 that employs an auxiliary server to store an initial portion of data satisfying data flow within the time interval between two adjacent VoD streams. The auxiliary server starts a data stream in response to VoD client request, and then the system switches the data stream to a main VoD server, where video streams are pre-scheduled in a staggered manner. As a result, the initial client request is satisfied practically immediately without waiting for the start of a new VoD stream. However, this approach eliminates only initial latency, and does not allow interactive control of the stream flow, such as start, stop, and browsing.
A primary server, such as a server capable of simultaneously streaming a large number of streams. A client explicitly connects to a primary server via a socket connection through which it places a request for the streaming of multimedia content or a streaming request. The primary server then decides whether it is capable and willing to serve the streaming request by performing tasks such as admission control, setting up resources, and scheduling the request. Because resources are limited, not all streaming requests may be accepted by a primary server.
The process of deciding whether or not a streaming request may be accepted by a particular primary server involves tasks of arbitrary and variable overheads, such as queuing the incoming request, determining its admissibility, and determining its schedulability. The processing of a successful request results in the establishment of a streaming connection from the primary server to the client.
The mainframes and super computers may be used as primary servers, however, the response of a primary server to a streaming request in any such system would experience arbitrarily large delay. Meanwhile, the client that placed the streaming request remains idle. When this situation arises before the startup of a streaming session, such delay does not represent a problem. During startup time the client has yet to acquire an expectation about the quality of service (QoS) over its streaming session). However, when this situation arises during a streaming session, such delay would now represent a nuisance as the client has by now acquired a QoS expectation over its streaming session. This nuisance would manifest itself at best as a disruption on the progress of the streaming session. For this reason, primary servers do not offload clients, as the presence of arbitrarily large delay is generally considered undesirable by clients. For similar reasons, client interactivity during a streaming session is often disabled or penalized.
Additionally, there is a need for migrating a streaming client from one server onto another server. It is desirable to seamlessly switch from one content at one server to another content at another server which may not be stored on the first server for any number of reasons. Dynamic reallocation of clients during exceptions provides better fault tolerance, e.g., a video server is scheduled to go down and another video server is known to be available. Similarly, the reallocation of some streams from one video server to another may be desirable to balance the overall system load.
Therefore, what is needed to increase overall reliability and availability of service is an adaptive mechanism simple enough for effective use in Web browsing systems, permitting a streaming client to be switched across various servers without losing the temporal progress and continuity of an ongoing session. Moreover, it would be desirable to provide a data streaming mechanism that requires no user intervention and that allows the migration of such streaming clients across wide area networks.
SUMMARY OF THE INVENTION
The present invention resolves the above described problems by providing a seamless switch enabling migration of a streaming client across servers. The switching of a streaming session is enabled at arbitrary points in a manner that appears seamless to the client with respect to the continuity and temporal progress of its streaming session.
The p
Lumelsky Leon L.
Manohar Nelson R.
El-Hady Nabil
Maung Zarni
Scully Scott Murphy & Presser
LandOfFree
System for seamless streaming of data stored on a network of... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System for seamless streaming of data stored on a network of..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for seamless streaming of data stored on a network of... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2930068