U.S. patent application number 10/223585 was filed with the patent office on 2003-07-17 for information distribution system and method.
This patent application is currently assigned to Ikadega, Inc.. Invention is credited to Bestler, Caitlin B., Phillips, Robert C..
Application Number | 20030134619 10/223585 |
Document ID | / |
Family ID | 26889291 |
Filed Date | 2003-07-17 |
United States Patent
Application |
20030134619 |
Kind Code |
A1 |
Phillips, Robert C. ; et
al. |
July 17, 2003 |
Information distribution system and method
Abstract
An information distribution system with an architecture that
facilitates efficient distribution of a plurality of information
asset data to a plurality of different requesting users
substantially simultaneously. Fundamental components of the system
include a plurality of mass storage devices that store information
assets, mass storage device interface units, a switching unit, a
centralized control unit and a gateway to the users. Information
transfer between various components of the system is accomplished
through a plurality of communication channels according to a
circuit switching protocol. According to one embodiment of the
invention, a plurality of communication channels are provided
between the mass storage devices and the switching unit such that
information asset data may be transferred, in substantially a
single format and according to substantially a single protocol,
from the mass storage devices directly through the switch and to
the requesting user.
Inventors: |
Phillips, Robert C.;
(Northbrook, IL) ; Bestler, Caitlin B.; (Lisle,
IL) |
Correspondence
Address: |
PATENT DOCKET DEPARTMENT
GARDNER CARTON & DOUGLAS LLC
191 N. WACKER DRIVE, SUITE 3700
CHICAGO
IL
60606
US
|
Assignee: |
Ikadega, Inc.
3223 Arnold Lane
Northbrook
IL
60062
|
Family ID: |
26889291 |
Appl. No.: |
10/223585 |
Filed: |
August 19, 2002 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10223585 |
Aug 19, 2002 |
|
|
|
09579574 |
May 26, 2000 |
|
|
|
6438368 |
|
|
|
|
60193729 |
Mar 30, 2000 |
|
|
|
Current U.S.
Class: |
455/412.1 ;
348/E5.008; 348/E7.073; 370/310.1 |
Current CPC
Class: |
G06F 3/067 20130101;
H04N 7/17336 20130101; H04N 21/232 20130101; G06F 3/0617 20130101;
H04L 49/103 20130101; H04L 2012/5664 20130101; G06F 3/0658
20130101; H04L 49/3072 20130101; H04N 21/47202 20130101; H04L
49/108 20130101; H04L 2012/5665 20130101; H04L 49/254 20130101;
H04L 49/309 20130101; H04N 21/2181 20130101; H04L 12/5601
20130101 |
Class at
Publication: |
455/412 ;
370/310.1 |
International
Class: |
H04M 011/10; H04B
007/00 |
Claims
What is claimed is:
1. An information asset distribution system implemented based upon
an ATM communication architecture, said information asset
distribution system comprising: a plurality of mass storage devices
each of which is associated with an interface unit capable of
retrieving data from said mass storage device, a plurality of ATM
information transmission communication channels for transmitting
information assets to a plurality of users, a switch fabric having
a plurality of communication channel connections for establishing a
virtual ATM circuit between one of said plurality of interface
units and one of a plurality of said transmission communication
channels, a switching fabric control unit for controlling said
switching fabric to establish said virtual ATM connection and for
issuing an appropriate sequence of commands to said interface units
for transmitting at least a portion of an information asset stored
on said associated mass storage device through an established
virtual ATM connection of the switching fabric to one of said
plurality of said information transmission communication
channels.
2. The system of claim 1 wherein at least one of said interface
units is further capable of storing data to an associated mass
storage device.
3. The system of claim 1 wherein a plurality of mass storage
devices is associated with at least one interface unit.
4. The system of claim 1 wherein said information assets include
data selected from the group comprising text, audio, video, image
and multimedia data.
5. The system of claim 1 where at least two communication channels
are provided between each interface unit and said switching fabric,
wherein one communication channel handles communication of
information to said switching fabric and the other communication
channel handles communication of information from said switch
fabric.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of the co-pending U.S.
patent application Ser. No. 09/579,574 filed May 26, 2000, herein
incorporated by reference in its entirety, which claims the benefit
of U.S. provisional patent application No. 60/193,729 filed Mar.
30, 2000.
FIELD OF THE INVENTION
[0002] The present invention relates generally to an information
distribution system and method, and, more particularly, to a system
and method for distributing "on demand" a plurality of
substantially fixed information assets to a plurality of different
users substantially simultaneously.
BACKGROUND OF THE INVENTION
[0003] There is a growing need to provide distribution of
electronically stored information to a variety of different users
simultaneously and "on demand." Traditionally, electronically
stored information could be utilized by individuals by obtaining a
copy of the information stored on a fixed medium, such as an
audiotape, videotape, floppy disk or CD ROM, and viewing or playing
the information with an associated device, such as a tape player,
VCR, CD player or, once loaded onto a computer system hard drive,
the computer system.
[0004] With the massive information content presently available and
with rapidly growing content development, such a physical
distribution system is no longer feasible. Moreover, in particular
environments, it is also not desirable. For example, in-room movies
at hotels are a source of additional income for the hotel and an
expected convenience for hotel guests. Instead of accommodating
each room with separate video players and managing the physical
distribution of videocassettes, some hotels have established a
network whereby a bank of video players may continuously play a
predetermined set of videocassettes and several guests may
simultaneously view the same video.
[0005] This, however, is not a true "on demand" system because
guests must join in viewing a video at the particular segment in
which it is currently playing. Furthermore, providing a plurality
of separate video players--one for each different video
selection--is a cumbersome, costly and technologically inefficient
system, requiring frequent and costly maintenance as well as
substantial human intervention.
[0006] Various information distribution systems have been proposed,
but such systems are based upon conventional architectural concepts
and suffer from limitations that prevent them from effectively
delivering a plurality of different information assets
substantially simultaneously.
[0007] One such prior art system is disclosed in U.S. Pat. No.
5,414,455 to Hooper et al., assigned to Digital Equipment
Corporation. As can be seen from FIG. 2, that system is based upon
a conventional computer and workstation architecture where shared
control and data buses are provided between the various elements of
the system. While such an architecture may be beneficial for
typical data processing tasks, it does not effectively perform an
information-on-demand information distribution function. The shared
data and control buses quickly limit and degrade information
distribution performance, and moreover, such a system requires
complex data buffering schemes.
[0008] Another prior art system is disclosed in U.S. Pat. No.
5,625,405 to DuLac et al. While the DuLac patent discloses an
architecture that differs from that used in a conventional computer
system or workstation, it suffers from similar limitations and
deficiencies that will preclude the system from effectively
performing as an information-on-demand system. The DuLac et al.
system proposes fiber channel cables that deliver video data by
computer technology to a conversion unit that converts the video
data to ATM telephony technology for transmission to a network. The
conventional computer technology associated with the video storage
devices will result in a bottleneck that will substantially limit
the performance of the system for delivering multiple simultaneous
information streams. For example, FIG. 1 teaches using a large
number of storage devices, all of which supply data to a multi-port
switch through a single data path connection. This arrangement will
require complex sharing of a single communication channel among
many different storage devices, resulting in a bottleneck and
similar problems characteristic of the deficiencies and limitations
encountered in bus-based systems.
SUMMARY OF THE INVENTION
[0009] The present invention overcomes the deficiencies and
limitations of such prior art systems by providing a unique
architecture that is particularly beneficial for performing
information-on-demand distribution of information assets. One of
the advantages of the present invention is realized by the use of a
circuit switching technique for the transfer of information between
various elements of the system. Since the information transfer
technique is substantially consistent throughout the system,
complex and burdensome data conversion is not necessary. This
feature also facilitates convenient information asset transfer from
mass storage devices to requesting users or to other mass storage
devices, and also facilitates the system receiving new information
assets for storage on mass storage devices.
[0010] Another advantage of the present invention is realized by
providing a plurality of communication channels to accommodate a
transfer of data between a plurality of mass storage devices. Such
a plurality of communication channels eliminates the communication
channel bottleneck and contention deficiencies of prior art
systems.
[0011] Another advantage of the present invention is realized by
providing a centralized control unit that receives requests from
users for various information assets. Such a centralized control
feature allows the system to reorder the requests into a sequence
that will allow much greater efficiency of reading information
asset information from any particular mass storage device. Such a
feature is possible because the centralized control unit contains
information relating to which mass storage device or devices
contain the requested information asset and where that information
asset is located on the mass storage device. Additional advantages
are also realized through such a centralized control unit, such as
allowing the system to monitor information asset usage, mass
storage device usage and performance, as well as a great number of
other features relating to housekeeping and system maintenance.
[0012] Another advantage of the present invention is that, while
the information asset requests are centrally managed, the
information asset information does not flow through the central
control unit. Instead, information asset information is transmitted
directly from mass storage devices through a switch and to the
appropriate destination--without the need for conversion to a
different data format. In other words, the same data transmission
format and protocol is used substantially throughout the system to
facilitate extremely efficient transfer of a plurality of different
information assets at high speed and high volume and substantially
simultaneously.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The foregoing and additional features and advantages of the
present invention will be apparent from the following detailed
description in conjunction with the drawings, in which:
[0014] FIG. 1 is a schematic block diagram that illustrates various
features of the architecture of the information distribution system
of the present invention;
[0015] FIG. 2 is a more detailed schematic block diagram of one
embodiment of an information distribution system according to the
present invention; and
[0016] FIG. 3 is a flow diagram that illustrates the steps that may
be performed in connection with the architecture of the present
invention to deliver information asset data requested by users.
DETAILED DESCRIPTION OF THE INVENTION
[0017] Turning to FIG. 1, there is shown a schematic block diagram
that illustrates various basic components and the general
arrangement of the architecture of an information distribution
system 10 in accordance with one embodiment of the present
invention. The information distribution system 10 receives requests
for the distribution of particular information assets from any
number of various users 12. In response to the requests, the system
locates the information assets and distributes the particular
information assets to the requesting user(s).
[0018] According to an important aspect of the present invention,
the system may operate as an "information-on-demand" system where
any of the information assets may be distributed to any of the
users at any time, even in the case where the same information
asset is distributed to a plurality of users simultaneously. It
should be understood that, particularly in connection with this
latter situation, distribution of a particular information asset to
several users simultaneously may require distributing the asset at
a particular distribution rate for each user. Further complexity is
introduced when, as may typically be the case, the information
asset is large in size and multiple users have requested the asset
at different times, so distribution of the asset will be proceeding
simultaneously but at different points within the asset. One useful
example of such a situation is the simultaneous distribution of a
plurality of video information assets. Video information assets may
be extremely large files which are usually distributed in segments
as the information is viewed (or partially buffered) by the user.
This is a process that is more commonly known as "streaming" of
video information. While some users may have some buffering
capability, usually the system will be required to distribute video
information in segments, such as blocks of a predetermined size
requested by the user, until the entire video asset is distributed
or the user issues an instruction to discontinue the
distribution.
[0019] A great plurality of information assets, such as files
containing video, audio, image, text or other data, is stored on a
plurality of mass storage devices 14. According to one embodiment
of the invention, the mass storage devices 14 may be hard disk
drives. Associated with each mass storage device 14 is a mass
storage device interface 16 that issues appropriate instructions to
the mass storage device 14 to retrieve the information desired. The
interface unit 16 of each of the mass storage devices 14 is
communicatively connected to a system switch 20 to allow
transmission of data and information between the switch and the
interface 16. The system switch 20 is also communicatively
connected to the users 12 of the system 10. Information and
instructions transmitted between the system 10 and the users 12 are
sent through the system switch 20. According to the illustrated
embodiment of the invention, for each of the interface units 16,
there is provided a first transmission line for transmitting
information from the switch 20 to the interface unit 16, and a
second transmission line for transmitting information from the
interface unit 16 to the switch 20. Although it may be possible to
implement an information-on-demand system in accordance with the
present invention with only a single transmission line between the
switch and each interface unit 16 that handles bi-directional
transmissions, the illustrated architecture may be preferable
because it will allow transmission of information to the users
while simultaneously providing the interface unit 16 with
additional instructions or information.
[0020] Another important element of the fundamental architecture of
the illustrated embodiment of the invention is a system controller
26. The system controller 26 is generally responsible for receiving
requests from users for information assets, organizing the requests
and forwarding them through the switch 20 to appropriate interface
units 16 which will retrieve the requested information from the
associated mass storage device 14 and transmit the information
through the switch 20 and directly to the user or a gateway
associated with the user 12. The system controller 26 will also be
responsible for various "bookkeeping" duties with the system 10.
For example, the system controller 26 may maintain an up-to-date
library of information assets available on the mass storage devices
14, may monitor usage statistics of various information assets, may
move various information assets between different mass storage
devices 14, and perform numerous other administrative
functions.
[0021] According to an important aspect of the present invention,
information which is distributed by the system 10 may be
transmitted directly through the switch 20 to the users. In
contrast, conventional prior art information distribution systems
have been commonly based upon a decades-old computer system
architecture having three common bus elements--one for data, one
for address information and one for control information. Although
such an architecture may be very useful for some applications, it
results in tremendous inefficiencies and complexities for an
information-on-demand system. For example, since such conventional
prior art systems have one common data bus, complicated bus
contention protocols must be provided and, moreover, only one mass
storage device can be placing information on the data bus at a
time. Many other complications, inefficiencies and problems are
encountered when attempting to utilize such a conventional
architecture to perform an information distribution function. In
this regard, the present invention represents a substantial
improvement and overcomes deficiencies inherent in prior art
systems by providing a plurality of data transmission lines 22, 24,
each of which may be independently and simultaneously transmitting
information asset data to users. Such an architecture substantially
increases the performance, flexibility and capacity of the system
to simultaneously deliver multiple streams of information asset
data to a plurality of users, i.e., to effectively operate as a
genuine information-on-demand system.
[0022] Although the invention is illustrated in FIG. 1 such that
there is a single mass storage device 14 associated with each
interface unit 16, according to an alternative embodiment, the
architecture may be modified to accommodate multiple mass storage
devices 14 for a single interface unit 16. For example, the amount
of information storage for the system may effectively be doubled by
provided two disk drives for each disk interface unit. Such an
implementation may be readily realized based upon the fundamental
architecture illustrated in FIG. 1, particularly if an effective
data transmission protocol is utilized, as will be described in
greater detail below. Thus, when a request for information is
received by a disk interface unit 16, the disk interface unit 16
examines the request to determine which of a plurality of disk
drives 14 the request is directed to. In response, the disk
interface unit 16 will direct the information request to the
appropriate disk drive 14 associated with the disk interface unit
16, receive the requested information from the disk drive 14, and
transmit the information through the switch 20 to the requesting
source which, in most cases, will be a user.
[0023] As will be readily apparent to one of skill in the art, the
present invention as illustrated by the example architecture of
FIG. 1 represents a substantial improvement over conventional
systems because, among other things, it is not limited to the
traditional bus-based architecture. Further efficiencies and
advantages of the present invention may be realized by utilizing
particularly effective data transmission protocols. According to a
preferred embodiment of the invention, a messaging or cell-based
protocol for transmission of data and information between various
elements of the system may be utilized. In this regard,
instructions and information may be transmitted through the system
in units such as a cell, message or packet that typically will
contain, in addition to the data or information, a header that may
be used to identify the source as well as the destination for the
unit of information. Using such a protocol, a request for an
information asset from a user may initially be directed through the
switch 20 to the system controller 26, which will determine if the
information asset is available and where it resides on the system.
Once the system controller 26 determines that the particular
information asset exists on the system 10, the system controller 26
may, as appropriate, generate one or more requests to the
appropriate interface unit 16.
[0024] The requests for an information asset from a user may be
handled on a session basis. For example, when an initial request
from a user for a new information asset is received by the system
controller 26, the system controller 26 may establish a new
session, and generate a unique handle to identify the session. When
a new session is established, virtual circuits within the system
switch 20 may be set up to handle communications for the new
session. For example, the system switch 20 may, based upon the
circuit identifier, route information for a particular session from
the appropriate interface unit 16 to the requesting user 12 via the
virtual circuit set up when the session was established. The system
controller 26 may set up multiple virtual circuits between the same
end points, but each traversing a different path through the system
switch 26. When doing so the circuits will be configured so that
information arrive at the destination as though it was a single
circuit. The system controller 26 may select which circuit to use
on a packet by packet basis, ensuring that at most one of the
circuits is actually in use for any specific packet. In a similar
manner, a virtual circuit within the system switch 20 may be set up
to handle communications from the system controller 26 to the
interface unit 16 associated with the mass storage device 14 that
contains the information asset requested. Typically, these virtual
circuits will remain in place for the entire session. However, it
is possible that the routing of the virtual circuit, or simply the
selection amongst the already provisioned circuits, may be changed
in the case of certain events within the system. According to one
embodiment, the set of virtual circuits that may be used for a
given session will have a collective identifier, or handle. For
example, in the event that a mass storage device 14 which is
supplying a requested information asset experiences a technical
problem, such a fault may be communicated to or sensed by the
system controller 26 which, in response, may establish or select a
different virtual circuit under the same handle which will allow
the same information asset on a different mass storage device 14 to
be transmitted to the user through the switch. As may be
appreciated, this same approach may be used in the case of other
events that might compel the changing of which of the mass storage
device 14 that contain a particular information asset are used to
deliver that asset to a user. Because of the unique design of the
system, such a change in the supplying mass storage device 14 will
be transparent to the requesting user.
[0025] In general, the present invention may be advantageously
implemented with a self-routing switching technique, also sometimes
referred to as a self-routing "switching fabric". The term
"switching fabric" means, for example, the combination of hardware
and software that moves data coming into the system switch out to
the correct port or communication channel, which in turn may
provide the data to another network. With a self-routing switching
fabric, the path a packet or cell takes through the fabric is
determined by a circuit identifier in the packet or cell header.
The originating port alone is insufficient to determine the routing
of the cell or packet.
[0026] Further characteristics of a self-routing switching fabric
are that all packets or cells sent with the same circuit identifier
at a given port will arrive at the same target port. All cells that
arrive will arrive in the same order, and cells may be dropped, but
not re-ordered. All of these cells will have the same circuit
identifier. This may be changed during transit through the fabric,
but any such changes will apply to all cells that successfully
transit the system. In some cases, this path is referred to as a
"virtual circuit". Typically, the circuit must be set up prior to
the first cell or packet being transmitted.
[0027] Such a self-routing switching fabric differs from setting up
an actual circuit, where all packets or cells from a given port
will always be delivered to the same destination without need for
headers. However, such an actual circuit arrangement would not
support use of a single port to interleave output for many
destinations over a short period of time.
[0028] A self-routing switching fabric also differs from techniques
such as Internet Protocol (IP) routing where there is no
pre-determined route for each packet. Under such a protocol, the
packets are labeled with the desired destination, rather than by
the circuit they should follow. At each step, or hop, over the
fabric, the router merely makes its best effort to send the packet
closer to the packet's final destination. Different packets may
take different paths, and hence could arrive out of order. While
this form of routing may be preferable for sporadic messages of
short duration, it is far less efficient for large transfers and is
typically especially inefficient for long streaming operations.
[0029] According to a preferred embodiment of the invention, the
ATM (asynchronous transfer mode) dedicated-connection switching
protocol may be used to transmit information between various
components of the system. Other switching technologies may be
equally as applicable. The preferred selection of ATM reflects
primarily the cost tradeoffs in the design rather than a necessity
for a specific switching protocol. Of course, a standard disk drive
interface may be used to handle communication between the disk
interface unit and the disk drive or drives which are associated
with the disk interface unit. According to the ATM protocol,
53-byte cells may be transmitted between various components of the
system. As will be explained in greater detail in the following
examples, the particular characteristics of the ATM protocol make
it very effective for information-on-demand performance, especially
when implemented in connection with the unique system architecture
of the present invention.
[0030] Turning now to FIG. 2, there is illustrated a preferred
embodiment of the invention that depicts various features of the
information-on-demand system in greater detail. For ease of
illustration, there is illustrated only one disk interface unit.
However, it should be understood that it is contemplated that the
system may include many disk interface units and many disk drives
that contain information assets. In addition, it is contemplated
that each disk interface unit may interface with one or more disk
drives.
[0031] Illustrated in FIG. 2 are all of the similar components
illustrated in FIG. 1, including the system switch 30, system
controller 32, disk interface unit 34 and disk drive 36. In
addition, the users of FIG. 1 have been depicted, by way of
example, as various encoding 38 and decoding 40 units. The system
switch 30 is a switch that follows the ATM convention of direct
connection switching. The switch 30 has a plurality of different
input ports 42 and a plurality of output ports 44. In addition, the
switch 30 includes an input CRC (cyclical redundancy check) checker
46 and an output CRC generator 48 for ensuring there are no errors
in the data cells transmitted or received in accordance with the
ATM protocol. In addition, there is provided an ATM cell memory 50
and an ATM VCI cell memory table 52, which are used by the switch
30 to determine appropriate routing for various cells that are
transmitted through the switch 30 according to the ATM
protocol.
[0032] The system controller 32, as illustrated in the embodiment
of FIG. 2, is comprised of several elements including, for example,
an ATM interface 54, a CPU 56, memory 58, a ROM 60, a control bus
62 interface and a local bus interface 64. The ATM interface 54 is
used to extract the data, control or other information transmitted
to the system controller 32 through the switch 30 which originated
from another component of the system. In some cases, several ATM
cells may be used to transmit command or data information since,
generally, the ATM protocol involves cell sizes of only 53 bytes in
size. The CPU 56 operates a control program that is initially
loaded from the ROM 60 upon system start-up, and uses the memory 58
for processing and storage of local variables and data. For
example, the memory 58 may be used by the system to at least
temporarily store information relating to information asset
requests from users for particular disk drives 36 for the purpose
of re-ordering those requests in a manner that the disk drives 36
may efficiently retrieve such information asset data, as will be
explained in greater detail. When a series of information asset
requests are ordered for a particular disk drive, the information
asset requests, which request particular information asset data
from a particular disk drive to be delivered to a particular user,
are transmitted from the controller 32 through the switch 30 to the
appropriate disk interface unit 34 associated with the particular
disk drive 36. The memory 58 of the system controller 32 may also
store information relating to the library of information assets
available on all of the disk drives 36 on the system. Thus, when a
new request for an information asset is received by the system
controller 32, the system controller 32 operates to locate the
information asset in its library of assets. According to an
alternative arrangement, however, it is also possible for the
system controller 32 to periodically send a "broadcast"
transmission to all connected users identifying all the information
assets available on the system.
[0033] The system controller 32 communicates with the other parts
of the system through ATM communication channels to the switch 30.
According to the illustrated embodiment, one ATM communication
channel 66 may be provided to transmit information asset requests
to the system controller 32, one ATM communication channel 68 may
be provided to transmit completion status information to the system
controller from the various disk drives (which are directed to the
system controller from the disk interface units 34 through the
switch 30), another ATM communication channel may be provided for
the system controller 32 to provide error messages and/or traffic
flow control to the end user of the storage devices, and another
ATM communication channel 70 may be provided for the system
controller 32 to transmit information asset requests to the various
disk interface units 34, which requests have preferably been
reordered to allow the disk drives 36 to more efficiently retrieve
the stored information asset data. In addition to the various ATM
communication capabilities, the system controller may also have a
control bus connection 72 to the switch to allow for status and
control information to be communicated between the system
controller and the ATM switch 30. The control bus 72 may be used to
set up the virtual connections within the switch 30, and may also
be used to initialize the switch 30 upon system start-up.
[0034] The system may also include a status and control unit 300,
as illustrated in FIG. 2. Such a unit provides a convenient
interface where a system operator may check the status of various
aspects of the system, examine the contents of the information
asset library on the system, check usage statistics, change
parameters or settings, generate billing information or perform
other maintenance functions. The status and control unit 300 might
also allow for a system operator to download a new information
asset on the system. The status and control unit may be comprised
of several elements, including, for example, conventional computer
components such as a CPU, memory, BIOS, VGA controller, and
keyboard and mouse to facilitate system operator usage, as well as
other additional components such as a virtual disk, PC/PCI
compatibility logic, ethernet capabilities, and a PCI bridge
interface. The status and control unit may communicate with the
system controller via a local bus 310, and may also transmit and
receive information from other parts of the system through ATM
communication channels 304, 306 with the switch 30, as illustrated.
In addition, the status and control unit 310 may allow for
interfacing with other systems and devices, such as the Internet,
Local Network, Expansion Units and other units to handle various
content requests.
[0035] The system also includes a plurality of disk interface units
34 which are connected to the switch to transmit and receive
information in ATM format. FIG. 2 shows only one disk interface
unit merely for ease of illustration. However, it should be
understood that many disk interface units 34 could be provided,
each of which may communicate with the switch to transmit and
receive information in ATM format. In addition, FIG. 2 illustrates
only one hard disk 36 associated with the disk interface unit 34.
However, it is possible that each disk interface unit may interface
with multiple disk drives with relatively minor modifications to
the elements of the disk interface unit 34, such as providing
additional transmit and receive buffers and drive controllers. The
disk interface units 34 serve an important function to interface
between the disk drives 36 and ATM protocol communications with the
switch 30.
[0036] The disk drive interface units 34 may be provided with an
ATM interface 320 to encode and decode information in ATM cell
format, as well as a CRC checker 322 and a CRC generator 324 for,
respectively, performing CRC checks of ATM cells transmitted to the
disk interface unit 34 and generating a CRC check code for ATM
cells transmitted by the disk interface unit 34. The disk interface
units 34 may also include control and status capabilities 326 for
monitoring and handling the disk interface unit 34. In addition,
the disk interface units may be provided with encryption/decryption
logic functionality 328 to protect proprietary information asset
data that may be stored on the associated hard disk drives 36. A
transmit FIFO buffer 328 may be provided to temporarily store
information asset data that has been retrieved from the disk drive
36 and is to be formatted into ATM cells to be transmitted from the
disk interface unit 34.
[0037] Similarly, a receive FIFO buffer 330 may be provided to
temporarily store data received by the disk interface unit 34 and
is to be written to the disk drive 36. A command queue 332 is
provided to temporarily store disk drive commands that are to be
issued to the disk drive 36 by the drive controller 334. SDRAM
memory 336 and an SDRAM controller 338 may also be provided to
receive information asset data which may be very rapidly supplied
from the disk drive in response to a command to retrieve data. By
providing the SDRAM memory 336 to handle extremely fast data reads
from the disk drive 36, the system performance may be enhanced and
disk latency virtually eliminated. A temperature sensor 340 may
also be provided and may be electrically connected to the disk
interface unit 34 to notify the disk interface unit 34 in the event
a disk drive 36 is overheating. In such an event, the disk
interface unit 34 may notify the system controller 32 of the
situation and the system controller 32 may initiate a routine to
have all or some of the information on the overheating disk drive
copied to other disk drives, and the overheating disk drive may be
deactivated to prevent damage to the system. The disk interface
unit 34 may also be provided with a hot swap controller 342 to
control power up and power down of the disk drive 36.
[0038] According to an advantageous aspect of the present
invention, as may be appreciated, the disk interface unit 34 may be
fabricated in a low-cost and high volume manner in an ASIC chip.
When the features of the disk interface unit 34 are provided in an
ASIC chip, the overall size of the information distribution system
may be significantly reduced. In addition, other benefits may also
be realized through such an implementation, such as lower power
consumption, greater reliability and durability, lighter weight and
simpler and faster mass fabrication.
[0039] Also illustrated in FIG. 2 are decoder 40 and encoder 38
units that may transmit information between the switch 30 in ATM
format. Since the information stored on the disk drives 36 is
stored in digital format, the encoder and decoder units may perform
various conversion tasks. A plurality of decoder units and encoder
units may be provided, each of which may transmit and receive
information in ATM cell format with the switch 30. The decoder unit
40 may be provided with an ATM interface 410 to convert information
from ATM cell format that is received from the switch 30 and to
convert information to ATM cell format that is to be transmitted to
the switch 30. The decoder units 40 will typically be provided with
some conventional processing elements such as a CPU 412 and memory
414 and ROM 416, as well as several elements such as an MPEG
decoder 422, and audio codec (coder/decoder) 420 and a VGA graphics
controller 422 for converting information asset data stored on the
disk drives 36 to a different format that is desired by the users.
For example, digital video information may be stored on the disk
drives of the system in a compressed digitized format such as MPEG
II; and an MPEG II decoder may be provided in the decoder unit to
uncompress and convert the video information into a different
format for transmission to the user. Digital audio information may
be similarly converted by an audio codec. As illustrated, the
decoder unit 40 may transmit information to users, such as video
information or audio information or, according to alternative
embodiments, in any other conventional formats desired by the
users.
[0040] Similar to the decoder unit 40, the encoder unit 38 performs
a variety of conversion functions. Illustrated by way of example, a
variety of different input sources may be input to the encoder
unit, such as conventional analog television or FM signals from an
antenna, or video or audio signals. The encoder unit may be
provided with a similar variety of converting elements, such as a
video and FM radio tuner 510, an RBDS/BTSC SAP decoder 512, an NTSC
decoder 514, an audio ADC decoder 516 as well as an MPEG encoder
518. In addition, each of the encoder units will typically also be
provided with some conventional processing elements, such as a CPU
520, memory 522 and ROM 524, as illustrated. The information
distribution system may be provided with a plurality of encoder
units, each of which may transmit and receive information with the
switch 30 via an ATM interface 526.
[0041] It is useful to understand certain disk drive
characteristics in order to appreciate some of the advantages of
the present invention. First, disk drives are devices that can only
perform one operation at a time. Further, the operation is
performed at a specific location within the disk drive. Second,
while the device is random access, meaning that any operation can
be performed at any location in any order, there is usually a
significant time penalty associated with moving to the desired
location of the drive. The time required to move the read/write
head to the desired location, referred to as the "seek time,"
typically consumes more of the device's time than the actual data
transfers. Third, one the data transfer begins, it is typically at
a burst rate far in excess of the sustained rate of the matching
source or destination. The ability of the disk drive to burst
transfer at rates far greater than that of the matching
source/destination allows multiple source/destinations to be
supported concurrently from a single drive. An important aspect of
the invention is to reduce the amount of time devoted to seeks, as
opposed to actual data transfers, while still meeting the demands
of multiple concurrent source/destinations. While the present
invention is described in connection with the characteristics of
computer disk drives, the techniques disclosed may be applicable to
a much wider variety of storage media with similar
characteristics.
[0042] According to an important aspect of the present invention,
information asset requests from a disk drive may be advantageously
re-ordered to more efficiently retrieve the requested data in view
of the physical and operational design characteristics of the disk
drive. Although the invention may utilize virtually any mass
storage device to store information assets, due to cost and speed
considerations, hard disk drives are currently preferred for
storing information asset data. Hard disk drives are typically
formatted into different sectors and include a read/write head that
travels close to the surface of a disk that is rotating at high
speed. The read/write head typically moves perpendicular to the
rotation and senses changes in the electrical or electromagnetic
characteristics of the disk drive medium to read data from the
drive. Large files of data are preferably stored on physically
contiguous or adjacent areas of the disk drive on so that the read
head can more efficiently retrieve the data from a file.
[0043] However, in an information-on-demand system, there may be
portions of several different information assets that are
simultaneously requested by different users, as well as different
portions of the same information asset requested simultaneously by
different users. Under such circumstances, assuming the requests
are directed to information asset data on one of the disk drives,
the requests to retrieve information asset data may be received by
the system in an order which would result in the read head
inefficiently traversing large expanses of the drive area to get to
the next request area, even though there may be a pending read
request relating to an area over which the read head is skipping
merely because it is unaware of the pending read request. Thus,
according to a preferred embodiment of the invention, the system
controller will re-order pending requests for information asset
data from a disk drive, based upon information regarding the
information assets from the library of information assets
accessible to the system controller. In order to facilitate such a
re-ordering technique, the library of information assets should
include information regarding not only which disk drive contains
the information asset but also information regarding the location
where the information assets are located on the disk drive. With
this information, the system controller may advantageously re-order
information asset requests to allow for a much more efficient
retrieval of data. In addition to substantially enhancing the data
retrieval process, such a re-ordering technique may prolong the
life of the disk drives.
[0044] Turning now to FIG. 3, there is shown a flow diagram that
illustrates, by way of example, the steps that may be performed in
connection with the architecture of the present invention to
deliver information asset data requested by users. Starting with
step 100, the system receives a request for information asset data
from a user. According to a preferred embodiment of the invention,
this will be received at the switch in an ATM cell format. Based
upon the header information of the cell, in the next step, step
110, the switch will route the request to the system controller.
Next, in step 120, the system controller examines the request to
determine if it relates to a pre-existing information request
session for that user. This may be accomplished by the system
controller examining "handle" information contained with the
request or other identifying information indicating that the
request is related to a previous request or series of requests
where a switch circuit is established to handle the communication
from the disk drive through the appropriate disk interface unit and
to the user.
[0045] If, in step 120, it is determined that the request relates
to a new session, the routine continues to step 130 where the
system controller examines the library of various information
assets available on the system to determine if the requested asset
exists and if available. In some cases, even if the requested asset
exists on the system, it may not be available if, for example, the
present usage characteristics of the particular disk drive upon
which it resides might not successfully allow another user to
access the information. In another case, the information asset
might also not be available to that particular user because the
user does not have sufficient authorization to receive such an
information asset. If, in step 130, the information asset requested
does not exist or is not available, the routine continues to step
140 where the system controller replies to the user that the system
was unsuccessful in delivering the information asset requested, and
the routine returns in step 150.
[0046] Otherwise, in step 130, if the information asset exists and
is available, the routine continues to step 160 where a new session
is established and a session handle is created, a reply is
transmitted to the user with the session handle, and an appropriate
virtual circuit is set up in the switch to handle the session.
Next, in step 170, which may be entered after a new session is
established in step 160 or if a request is recognized as relating
to a pre-existing session in step 120, the system controller
locates the requested information asset on an available disk drive.
This will typically involve the system controller examining its
library of information asset data to determine which disk drive
contains the information asset, which disk interface unit is
associated with the disk drive and where on the disk drive the
information asset is located. In some cases, the requested
information asset may be available on more than one disk drive. In
such a case, the system controller will determine which of the disk
drives would be most appropriate to deliver the information asset.
Factors that may be considered are, for example, the number of
users presently accessing information assets on a disk drive, and
the historical usage characteristics of the disk drives.
[0047] Once a disk drive is selected in step 170 and the
information asset is located on that drive, the routine continues
to step 180 where the system controller examines the pending
requests for the disk drive selected. Although many different
implementations are possible within the architecture of the present
invention, for many applications it may be preferable for each disk
interface unit to include a small buffer to store pending disk
drive requests, while additional and newer requests may be stored
in a buffer in the system controller. Thus, when a "request
complete" is received from a disk interface unit for one of its
disk drives by the system controller (step 220) the system
controller may transmit one or more additional requests to the disk
interface unit associated with that disk drive. According to such a
technique, the system controller, in step 180, may efficiently
re-order pending requests for the disk drives to enhance the
retrieval performance of the system, as previously described.
[0048] Next, in step 190, at an appropriate time, the request for
information asset data is transmitted to the disk interface unit
associated with the disk drive. Then, in step 200, the disk
interface unit transmits an appropriate command to the disk drive
to retrieve the desired information asset data. In step 210, the
disk interface unit transmits the information asset data to the
user through the switch. According to a preferred embodiment, this
may be accomplished by the disk interface unit transmitting one or
more cells in accordance with the ATM protocol, which are
transmitted directly to the user through the switch. Once the disk
interface unit has completed the transmission of the information
asset data in step 210, the disk interface unit transmits a
"request complete" message to the system controller to indicate
that the information asset request has been completed, and the
routine returns in step 230.
[0049] According to some implementations, the system controller may
transmit multiple information asset retrieval requests to a disk
drive in response to a single information asset request received
from a user. For example, a user might request 32 Kb of information
asset data. However, it may be preferable for the system to process
such a request into several smaller sized units, such as 4 separate
8 Kb requests. In such a case, the system controller may generate 4
separate information asset read requests to the appropriate disk
interface unit which may result in 4 separate 8 Kb read requests to
the disk drive. In fact, at the disk interface unit level, the read
request might be even further subdivided into smaller read requests
that may be of a size that is particularly efficiently retrieved by
the disk drive. In either case, the requested information asset
data is transmitted to the user.
* * * * *