Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
6763377
Belknap , ; et al.
July 13, 2004
Title
Asset management and scheduling graphical user interface for media streamer
Abstract
A process of managing media data in a network is provided, the system including an administrator terminal, at least one media server communicatively coupled to the administrator terminal via a network, and a plurality of end user terminals, each of the media servers being operative to store media data, and to transfer portions of media data to selected locations via the network, at least one of the media servers also being operative to stream media data to selected ones of the end user terminals. The process provides a centralized user interface for scheduling and coordinating the execution of operations performed by the media servers. The process begins with a step of displaying a graphical user interface including a plurality of interface components on a display unit of the administrator terminal, the components enabling a user of the administrator terminal to define and schedule operations to be performed by selected ones of the media servers on corresponding portions of media data. User input includes: server identification information indicative of a selected media server; operation information specifying an operation to be performed by the selected media server on a selected portion of media data, and schedule information specifying a schedule for performing the specified operation. Commands and associated parameters are generated based on the operation information and schedule information, the commands and associated parameters for instructing the selected media server to execute the specified operation in accordance with the specified schedule.
Inventors:
Belknap; William Russell
(San Jose,
CA
)
, Bender; Todd Robert
(San Jose,
CA
)
, Farrington; Shannon Matthew
(Santa Cruz,
CA
)
, Rohwer; Cary Lane
(Gilroy,
CA
)
, Taylor; Lucy Anita
(San Jose,
CA
)
, Veliah; Sundar
(San Jose,
CA
)
Assignee:
International Business Machines Corporation
(Armonk,
NY
)
Appl. No.:
518356
Filed:
March 3, 2000
Current U.S. Class:
709/223
709/224
709/231
715/736
Field of Search:
709/203,217,219,223,225,229 725/82,91,114,138,144,146 345/704,722,736,740,749,783
U.S. Patent Documents
5307456
April 1994
MacKay
5357276
October 1994
Banker et al.
5448315
September 1995
Sohoo
5499046
March 1996
Schiller et al.
5550966
August 1996
Drake et al.
5550982
August 1996
Long et al.
5555017
September 1996
Landante et al.
5557724
September 1996
Sampat et al.
5564005
October 1996
Weber et al.
5598208
January 1997
McClintock
5640595
June 1997
Baugher et al.
5729741
March 1998
Liaguno et al.
5745126
April 1998
Jain et al.
5748499
May 1998
Trueblood
5760767
June 1998
Shore et al.
5761417
June 1998
Henley et al.
5764901
June 1998
Skarbo et al.
5767894
June 1998
Fuller et al.
5774664
June 1998
Hidary et al.
5778187
July 1998
Monteiro et al.
5786814
July 1998
Moran et al.
5795228
August 1998
Trumbull et al.
5805821
September 1998
Saxena et al.
5848291
December 1998
Milne et al.
5861906
January 1999
Dunn et al.
5864682
January 1999
Porter et al.
5875304
February 1999
Winter et al.
5880792
March 1999
Ward et al.
5884039
March 1999
Ludwig et al.
5892535
April 1999
Allen et al.
5893053
April 1999
Trueblood
6185625
February 2001
Tso et al.
6195689
February 2001
Bahlmann
6222530
April 2001
Sequeira
6247052
June 2001
Huang et al.
6289380
September 2001
Battat et al.
6332147
December 2001
Moran et al.
6441832
August 2002
Tao et al.
6446082
September 2002
Arita
6449365
September 2002
Hodges et al.
6452609
September 2002
Katinsky et al.
6473902
October 2002
Noritomi
6486892
November 2002
Stern
6510466
January 2003
Cox et al.
6522342
February 2003
Gagnon et al.
6532459
March 2003
Berson
6567612
May 2003
Yoshio et al.
6567796
May 2003
Yost et al.
6574617
June 2003
Immerman et al.
Foreign Patent Documents
0 776 107
May., 1997
EP
WO 99/05821
Feb., 1999
WO
Other References
J Burghardt, "Das Sony-News-System," Nov. 1996, pp. 641-646, Fernseh Und Kino-Technik, vol. 50. .
Office Action dated Jun. 23, 2003 in related U.S. patent application Ser. No. 09/518,359, including Notice of References Cited..~
Primary Examiner:
Burgess; Glenton B.
Assistant Examiner:
Flynn; Kimberly
Attorney, Agent or Firm:
Fay, Sharpe, Fagan, Minnich & McKee, LLP
Claims
What is claimed is:
1. A process for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on selected portions of media data by selected ones of a plurality of local and remote media servers of the network the servers being coupled with associated local and remote memory devices and operative to encode and parse portions of the media data, comprising: displaying a graphical user interface at the administrator terminal, the interface including a plurality of interface components enabling a user to select portions of the media data, source locations and destination locations, and to specify and schedule operations to be performed by the selected ones of the plurality of media servers; receiving information input by the user identifying the selected media servers, the specified operations to be performed on the selected portions of the media data to create media assets, and the schedule for performing the operations, the operations including: copy operations for copying the selected portions of the media data from the selected source locations to the selected destination locations; an adding operation for adding the selected portions of the media data from the local memory devices to a catalog of the selected media server, the adding operation including selectively parsing the selected portions of the media data; a loading operation for loading the selected portions of the media data from selected remote memory devices to the catalog of the selected media server, the loading operation including selectively parsing the selected portion of the media data; and, staging the created media assets from the selected media server to the selected destination location; generating commands and associated parameters based on the input information for instructing the selected media servers to execute the specified operations in accordance with the specified schedule; and transmitting the commands and associated parameters to the selected media servers.
2. A process as recited in claim 1 wherein the network is an internet protocol (IP) network.
3. A process as recited in claim 1 wherein the administrator terminal also includes a processing unit, and a browser application executed by the processing unit, and wherein the steps of displaying, receiving, generating, and transmitting are performed by executing an applet over the processing unit.
4. A process as recited in claim 1 wherein the administrator terminal also includes a processing unit, and a browser application executed by the processing unit, and wherein the process is initiated by performing the steps of: transmitting an applet to the administrator terminal via the network; and executing the applet over the processing unit of the administrator terminal; whereby the graphical user interface is displayed within a browser window generated by the browser application.
5. A process as recited in claim 1 wherein at least one of the media servers is further operative to encode media data received from a corresponding multimedia device, and wherein the operations further include: delete operations for deleting portions of media data from catalogs of predetermined mapped ones of the media servers; multicasting operations for streaming portions of media data from selected ones of the media servers to selected ones of a plurality of end user terminals via the network; and encoding operations for encoding media data received by selected ones of the media servers.
6. A process as recited in claim 1, wherein the steps of displaying a graphical user interface, and receiving input information further comprise the steps of: displaying a source selection interface component enabling the user to select a source location by browsing a list of available locations including predetermined mapped ones of the media servers and predetermined mapped ones of the memory devices; receiving information indicative of a selected source location; displaying a media data selection interface component enabling the user to select a portion of media data by browsing a list of available a portions of media data stored at the selected source location; receiving information indicative of a selected portion of media data; determining a corresponding list of possible destination locations associated with the selected source location; and displaying a destination selection interface component enabling the user to select a destination location by browsing the corresponding list of possible destination locations.
7. A process as recited in claim 6 wherein the steps of displaying a graphical user interface, receiving information, and generating commands further comprise the steps of: displaying delayed copying interface components enabling the user to select a start time and a start date for a delayed copying operation; receiving information indicative of a selected start time and a selected start date; and generating a copy command and associated parameters for instructing the selected media server to copy the selected portion of media data from the selected source location to the selected destination location at the selected start time on the selected start date.
8. A process as recited in claim 7 further comprising the steps of: displaying a location mapping interface component enabling the user to define a path to a new location in the network; receiving information indicative of a selected path for accessing the new location; and adding the new location associated with the selected path to the list of available locations.
9. A process as recited in claim 1, wherein the scheduling information includes a start date and a start time for copying the selected portion of media data from the selected source location in the network to the selected destination location in the network.
10. A process as recited in claim 1 wherein the operations include encoding operations, and wherein the network further includes at least one multimedia device operative to generate media data, each of the multimedia devices being communicatively coupled with a corresponding encoder one of the media servers which is further operative to selectively activate the corresponding multimedia device, and to encode a selected portion of media data generated by the multimedia device.
11. A process as recited in claim 10 wherein the step of displaying a graphical user interface includes displaying an encoder select interface component providing for the user to select one of the encoder media servers, wherein the input information includes information indicative of a selected multimedia device, and wherein the commands and associated parameters include encoding commands and associated encoding parameters for instructing the selected media server to encode a selected portion of media data received from the selected media device.
12. A process as recited in claim 11 wherein the steps of displaying a graphical user interface, receiving information, and generating commands further comprise the steps of: displaying encoding operation scheduling interface components enabling the user to select a start time and a start date for a delayed encoding operation; receiving information indicative of a selected start time and a selected start date for initiating an encoding operation; and generating encoding comments and associated parameters for instructing the selected media server to encode media data received from the selected multimedia device at the selected start time on the selected start date.
13. A process as recited in claim 12 wherein the steps of displaying the encoding operation scheduling components, and receiving information further include the steps of: displaying duration interface components enabling the user to select from time duration specification operations including, selecting a scheduled stop date and stop time for terminating the encoding operation, and selecting a time duration for which the encoding operation is to continue following the selected start time on the selected start date; and receiving information indicative of a selected time duration specification option.
14. A process as recited in claim 11 wherein the operations further include recording operations for recording selected portions of encoded media data that are encoded during corresponding ones of the encoding operations, and wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying a record-to selection interface component enabling the user to select a storage location by browsing a list of available storage locations including predetermined mapped ones of a plurality of memory devices associated with the selected encoder media server; and receiving information indicative of the selected storage location; wherein the commands and associated parameters further include a record command and associated record parameters for instructing the selected encoder media server to store the selected portion of encoded media data at the selected storage location.
15. A process as recited in claim 14 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying an asset name selection interface component enabling the user specify a name for the encoded portion of media data to be stored at the selected storage location; receiving information indicative of a specified asset name; and wherein the record commands and associated record parameters provide for instructing the selected encoder media server to store the encoded portion of media data at the selected storage location under the specified asset name.
16. A process as recited in claim 15 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying an overwriting option selection interface component enabling the user to select from a plurality of overwriting options for specifying attributes of the recording operation if a file having the specified asset name exists at the selected storage location at the time of execution of the recording operation, the overwriting options including, a prompt option for specifying that the user is to be prompted if a file having the specified asset name exists at the selected storage location at the time of execution of the recording operation, an overwrite option for specifying that any file having the specified asset name, existing at the selected storage location at the time of execution of the recording operation, is to be overwritten with the encoded portion of media data, and an overwrite option for specifying that any file having the specified asset name, existing at the selected storage location at the time of execution of the recording operation, is to be appended with the encoded portion of media data.
17. A process as recited in claim 14 wherein at least one of the media servers is further operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include playback operations for streaming the stored portion of encoded media data from the selected encoder media server to corresponding selected ones of a plurality of end user terminals via the network.
18. A process as recited in claim 17 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying playback destination selection interface components enabling the user to select at least one of the end user terminals as a destination for streaming the encoded portion of media data in accordance with a user defined playback schedule; displaying play-back schedule interface components enabling the user define a play-back schedule; and receiving information indicative a user defined play-back schedule; wherein the commands and associated parameters further include a play-back command and associated play-back parameters for instructing the selected encoder media server to stream the stored portion of encoded media data to the selected end users via the network in accordance with the user defined play-back schedule.
19. A process as recited in claim 18 wherein the play-back schedule interface components comprise: a first group of components enabling the user to select a start time and a start date for the play-back schedule; and a second group of components enabling the user to select from a plurality of options for specifying a play-back schedule duration.
20. A process as recited in claim 17 wherein the operations further include notification operations associated with corresponding ones of the playback operations, the notification operations for sending notification messages to selected network addresses associated with selected ones of the end user terminals and the administrator terminal.
21. A process as recited in claim 11 wherein at least one of the media servers is further operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include real time streaming operations for streaming the encoded portion of media data from the selected encoder media server to corresponding selected ones of the end user terminals via the network.
22. A process as recited in claim 21 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying streaming destination selection interface components enabling the user to select at least one of the end user terminals as a destination for streaming the encoded portion of media data; and receiving information indicative of at least one selected end user; wherein the commands and associated parameters further include a streaming command and associated streaming parameters for instructing the selected encoder media server to stream the encoded portion of media data to the selected end users.
23. A process as recited in claim 22 wherein the streaming destination selection interface components include: manual destination selection interface components enabling the user to select a destination internet protocol (IP) address and port number associated with a selected one of the end user terminals; and predefined destination selection interface components enabling the user to select a group from a plurality of predefined groups of destination end user terminals, each of the user terminals having an associated IP address and port number.
24. A process as recited in claim 1 wherein at least one of the media servers is operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include multicasting operations for streaming selected portions of media data from selected media servers to corresponding selected ones of the end user terminals via the network.
25. A process as recited in claim 24 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying multicasting destination selection interface components enabling the user to select at least one of the end user terminals as a destination for multicasting the selected portion of media data in accordance with a user defined multicasting schedule; displaying multicasting schedule interface components enabling the user define a multicasting schedule; and receiving information indicative a user defined multicasting schedule;
wherein the commands and associated parameters further include a multicasting command and associated multicasting parameters for instructing the selected media server to stream the selected portion of media data to the selected end users via the network in accordance with the user defined multicasting schedule.
26. A process as recited in claim 25 wherein the multicasting schedule interface components comprise: a first group of components enabling the user to select a start time and a start data for a multicasting schedule; and a second group of components enabling the user to select from a plurality of options for specifying a multicasting schedule duration.
27. A process as recited in claim 24 wherein the operations further include notification operations associated with corresponding ones of the multicasting operations, the notification operations for sending notification messages to selected network addresses associated with selected ones of the end user terminals and the administrator terminal.
28. A process as recited in claim 1 wherein the input information includes server identification information specifying the selected media server, operation information specifying the operation to be performed by the selected media server, and schedule information specifying the schedule, and wherein the process further comprises the step of displaying graphical indicia indicative of a plurality of user scheduled operations that have been previously defined and scheduled by the user, each of the scheduled operations being associated with corresponding previously specified information including previously specified server identification information, previously specified input information, and previously specified schedule information.
29. A process as recited in claim 28 further comprising the steps of: providing interface components allowing the user to select one of the displayed scheduled operations; receiving information indicative of a selected scheduled operation; determining a portion of the interface components of the graphical user interface that is associated with the selected scheduled operation; and displaying the determined portion of the interface components having previously specified information associated with the selected scheduled operation displayed therein, the displayed portion of the interface components enabling the user to edit the previously specified information associated with the selected schedule operation in order to generate revised information associated with a revised operation, the revised information including revised server identification information, revised operation information, and revised schedule information.
30. A process as recited in claim 29 further comprising the steps of: linking to a previously specified media server indicated by previously specified server identification information associated with the selected scheduled operation; generating delete commands and associated parameters for instructing the previously specified media server to cancel execution of the selected scheduled operation; and transmitting the delete commands and associated parameters to the previously specified media server.
31. A process as recited in claim 30 further comprising the steps of: generating new commands and associated parameters based on the revised information associated with the revised operation, the new commands and associated parameters for instructing a particular media server to execute the revised operation in accordance with the revised schedule information; and transmitting the commands and the associated parameters to the particular media server via the network.
32. A process as recited in claim 28 wherein the network further includes a global asset management server communicatively coupled to the administrator terminal via the network, the global asset management server also being communicatively coupled to a memory device for storing global information including server identification information, operation information, and schedule information associated with corresponding scheduled operations that have been defined and scheduled by corresponding users, the process further comprising the steps of: transmitting information indicative of a particular user from the administrator terminal to the management server; and transmitting the server identification information, the operation information, and the schedule information associated with the specified operation to the management server for storage.
33. A process as recited in claim 32 wherein the management server is further operative to access the global information, the process further comprising the steps of: accessing the management server from the administrator terminal; transmitting user identification information indicative of a specified user to the asset management server; and receiving previously specified information associated with each user scheduled operation that has been previously defined and scheduled by the specified user.
34. A process as recited in claim 32 wherein the global asset management server is further operative to generate a global schedule document including the graphical indicia indicative of the user scheduled operations, the previously specified information corresponding with each of the graphical indicia, executable code for implementing the steps of displaying a graphical user interface, receiving information, generating commands and associated, and transmitting the commands and the associated parameters, and active areas for initiating the executable code, and wherein the step of displaying graphical indicia indicative of a plurality of user scheduled operations further comprises: transmitting information indicative of a particular user to the asset management server; and downloading the global schedule document associated with the particular user from the asset management server to the administrator terminal.
35. A process as recited in claim 34 wherein the document comprises a HTML document and wherein the executable code comprises a Java applet.
36. A method for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network wherein each of the media servers is operative to access a memory device for storing media data, and transfer portions of media data to selected locations via the network and the operations include copy operations for copying selected portions of media data from selected source locations in the network to selected destination locations in the network, the method comprising: displaying a graphical user interface at the administrator terminal, the interface including at least a source selection interface component enabling the user to select a source location and a media data selection interface component enabling the user to select a portion of media data; determining a corresponding list of possible destination locations associated with the selected source location and prompting the user to select at least one destination location; and generating commands and associated parameters based on the input information for instructing the selected media server to execute the copy operation in accordance with the specified schedule, wherein the memory devices include local disks included within corresponding ones of the media servers, and remote disks and archives communicatively coupled with corresponding ones of the media servers, and wherein each of the media servers is further operative to encode and parse portions of media data to create media assets, and wherein each of the media servers is further operative to maintain a catalog including pointers to catalogued ones of the media assets stored on the local disk of the media server, and the copy operations performed by the selected media server include: an adding operation for adding selected portions of media data from the local disk of the selected media server to a catalog of the selected media server, the adding operation including a sub-step of parsing a selected portion of media data if it is not parsed; a loading operation for loading selected portions of media data from selected remote disks coupled with the selected media server to a catalog of the selected media server, the loading operation including a sub-step of parsing a selected portion of media data if it is not parsed; and staging assets from the selected media server to a destination location selected from the archives and the media servers.
37. A method as recited in claim 36 wherein the step of determining a corresponding list of possible destination locations comprises: determining whether the selected source location is a media server, and if the selected source location is a media server, defining the list of possible destination locations to include predetermined mapped ones of the media servers other than the selected source media server, and predetermined mapped ones of the archives; determining whether the selected source location is an archive, and if the selected source location is an archive, defining the corresponding list of possible destination locations to include predetermined mapped ones of the archives other than the selected source archive, and predetermined mapped ones of the media servers; and determining whether the selected source location is a disk, and if the selected source location is a disk, defining the corresponding list of possible destination locations to include predetermined mapped ones of the media servers, and predetermined mapped ones of the archives.
38. A process for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network wherein the operations include at least recording operations for recording selected portions of the media data and play-back operations, the process comprising: displaying graphical user interface screens at the administrator terminal enabling the user to select at least a record-to storage location, a media server, at least one of the end user terminals as a destination for streaming a recorded portion of the media data, and define a play-back schedule, which user interface screens enable the user to specify a play-back schedule duration by one of: specifying a loop count value for repeating the streaming of the recorded portion of the media data a number of times equal to the loop count value; specifying a repeat schedule wherein the streaming of the recorded portion of the media data is repeated until the recorded portion of the media data is removed from a schedule list; and specifying an interval schedule wherein the streaming of the recorded portion of the media data is performed in accordance with the user defined schedule.
39. A process for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network, the process comprising: displaying graphical user interface screens at the administrator terminal which screens enable a user to select media servers, specify and schedule operations to be performed by the selected media servers, wherein a notification process is utilized to determine success or failure of the corresponding scheduled operation, and the graphical user interface displays notification circumstance specification interface components enabling the user to select: a first notification option for sending a notification message to selected network addresses if the corresponding scheduled operation fails, a second notification option for sending a notification message to selected network addresses if the corresponding scheduled operation is successful, and a third notification option for sending a notification message to selected network addresses whether the corresponding scheduled operation fails or is successful; receiving information indicative the selected notification circumstance option; wherein the commands and associated parameters further include a notification command and associated notification parameters for instructing the selected media server to send notification messages to the selected network addresses in accordance with the selected notification option.
40. A process for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network wherein the operations include multicasting operations for streaming selected portions of media data from selected media servers to corresponding selected end user terminals via the network, the process comprising: displaying graphical user interface screens at the administrator terminal which screens enable a user to select media servers, at least one of the end user terminals as a destination for multicasting the selected media data and define a schedule of the multicasting operations, which interface screens enable the user to specify a duration of the multicasting schedule by at least one of: specifying a loop count value for repeating the streaming of the selected media data a number of times equal to the loop count value; specifying a repeat schedule wherein the streaming of the selected media data is repeated until the selected media data is removed from a schedule list, and specifying an interval schedule wherein the streaming of the selected media data is performed in accordance with the user defined schedule.
41. A process for providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of plurality of media servers of the network wherein at least one of the media servers is operative to stream media data to selected ones of a plurality of end user terminals via the network, and the operations include multicasting operations for streaming selected portions of media data from selected media servers to corresponding selected ones of the end user terminals via the network, the process comprising: displaying notification circumstance specification interface components enabling the user to select from the notification options including, a first notification option for sending a notification message to selected network addresses if the corresponding multicasting operation fails, a second notification option for sending a notification message to selected network addresses if the corresponding multicasting operation is successful, and a third notification option for sending a notification message to selected network addresses if the corresponding multicasting operation fails or is successful; and receiving information indicative a selected notification circumstance option;
wherein the commands and associated parameters further include a notification command and associated notification parameters for instructing the selected media server to send notification messages to the selected network addresses in accordance with the selected notification option.
42. A machine readable storage device having stored therein encoding instructions for executing a process of providing a centralized user interface at an administrator terminal in a network for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network, the process comprising: displaying a graphical user interface at the administrator terminal, the interface including a plurality of interface components enabling a user to specify and schedule operations to be performed by selected ones of the media servers; receiving information input by the user identifying a selected one of the media servers, the specified operations to be performed by the selected media server, and the schedule for performing the operations, which operations include at least copy operations for copying portions of media data from selected source locations including local and remote memory devices to selected destination locations including: an adding operation for adding the selected portions of the media data from the selected local memory devices to a catalog of the selected media server, a loading operation for loading the selected portions of the media data from the selected remote memory devices to the catalog of the selected media server, and a staging operation for staging assets from the selected media server to the selected destination locations; generating commands and associated parameters based on the input information for instructing the selected media server to execute the specified operation in accordance with the specified schedule; and transmitting the commands and associated parameters to the selected media server.
43. A machine readable storage device as recited in claim 42 wherein the administrator terminal also includes a processing unit, and a browser application executed by the processing unit, and wherein the steps of displaying, receiving, generating, and transmitting are performed by executing an applet over the processing unit.
44. A machine readable storage device as recited in claim 42 wherein at least one of the media servers is further operative to encode media data received from a corresponding multimedia device, and wherein the operations further include: delete operations for deleting portions of media data from a source location selected from locations including predetermined mapped ones of the media servers and the memory devices; multicasting operations for streaming portions of media data from selected ones of the media servers to selected ones of a plurality of end user terminals via the network; and encoding operations for encoding media data received by selected ones of the media servers.
45. A machine readable storage device as recited in claim 42 wherein each of the media servers is operative to access at least one corresponding memory device for storing media data, and is also operative to stream media data to selected locations via the network.
46. A machine readable storage device as recited in claim 45 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying a source selection interface component enabling the user to select a source location by browsing a list of available locations including predetermined mapped ones of the media servers and predetermined mapped ones of the memory devices; receiving information indicative of a selected source location; displaying a media data selection interface component enabling the user to select a portion of media data by browsing a list of available a portions of media data stored at the selected source location; receiving information indicative of a selected portion of media data; determining a corresponding list of possible destination locations associated with the selected source location; and displaying a destination selection interface component enabling the user to select a destination location by browsing the corresponding list of possible destination locations.
47. A machine readable storage device as recited in claim 42 wherein the operations include encoding operations, and wherein the network further includes at least one multimedia device operative to generate media data, each of the multimedia devices being communicatively coupled with a corresponding encoder one of the media servers which is further operative to selectively activate the corresponding multimedia device, and to encode a selected portion of media data generated by the multimedia device.
48. A machine readable storage device as recited in claim 47 wherein the step of displaying a graphical user interface includes displaying an encoder select interface component providing for the user to select one of the encoder media servers, wherein the input information includes operation information indicative of a selected multimedia device, and wherein the commands and associated parameters include encoding commands and associated encoding parameters for instructing the selected media server to encode a selected portion of media data received from the selected media device.
49. A machine readable storage device as recited in claim 48 wherein at least one of the media servers is operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include real time streaming operations for streaming the encoded portion of media data from the selected encoder media server to corresponding selected ones of the end user terminals via the network.
50. A machine readable storage device as recited in claim 49 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying streaming destination selection interface components enabling the user to select at least one of the end user terminals as a destination for streaming the encoded portion of media data; and receiving information indicative of at least one selected end user; wherein the commands and associated parameters further include a streaming command and associated streaming parameters for instructing the selected encoder media server to stream the encoded portion of media data to the selected end users.
51. A machine readable storage device as recited in claim 48 wherein at least one of the media servers is operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include playback operations for streaming the stored portion of encoded media data from the selected encoder media server to corresponding selected ones of the end user terminals via the network.
52. A machine readable storage device as recited in claim 51 wherein the operations further include notification operations associated with corresponding ones of the playback operations, the notification operations for sending notification messages to selected network addresses associated with selected ones of the end user terminals and the administrator terminal.
53. A machine readable storage device as recited in claim 42 wherein at least one of the media servers is operative to stream media data to selected ones of a plurality of end user terminals via the network, and wherein the operations further include multicasting operations for streaming selected portions of media data from selected media servers to corresponding selected ones of the end user terminals.
54. A machine readable storage device as recited in claim 53 wherein the steps of displaying a graphical user interface, and receiving information further comprise the steps of: displaying multicasting destination selection interface components enabling the user to select at least one of the end user terminals as a destination for multicasting the selected portion of media data in accordance with a user defined multicasting schedule; displaying multicasting schedule interface components enabling the user define a multicasting schedule; and receiving information indicative a user defined multicasting schedule;
wherein the commands and associated parameters further include a multicasting command and associated multicasting parameters for instructing the selected media server to stream the selected portion of the media data to the selected end users via the network in accordance with the user defined multicasting schedule.
55. A machine readable storage device as recited in claim 54 wherein the operations further including notification operations associated with corresponding ones of the multicasting operations, the notification operations for sending notification messages to selected network addresses associated with selected ones of the end user terminals and the administrator terminal.
56. A machine readable storage device as recited in claim 42 further comprising the step of displaying graphical indicia indicative of a plurality of user scheduled operations that have been previously defined and scheduled by the user, each of the scheduled operations being associated with corresponding previously specified input information including previously specified server identification information, previously specified operation information, and previously specified schedule information.
57. A machine readable storage device as recited in claim 56 further comprising the steps of: providing interface components allowing the user to select one of the displayed scheduled operations; receiving information indicative of a selected scheduled operation; determining a portion of the interface components of the graphical user interface that is associated with the selected scheduled operation; and displaying the determined portion of the interface components having previously specified information associated with the selected scheduled operation displayed therein, the displayed portion of the interface components enabling the user to edit the previously specified information associated with the selected scheduled operation in order to generate revised information associated with a revised operation, the revised information including revised server identification information, revised operation information, and revised schedule information.
58. A machine readable storage device as recited in claim 57 further comprising the steps of: linking to a previously specified media server indicated by previously specified server identification information associated with the selected scheduled operation; generating delete commands and associated parameters for instructing the previously specified media server to cancel execution of the selected scheduled operation; and transmitting the delete commands and associated parameters to the previously specified media server.
59. A machine readable storage device as recited in claim 58 further comprising the steps of: generating new commands and associated parameters based on the revised information associated with the revised operation, the new commands and associated parameters for instructing a particular media server to execute the revised operation in accordance with the revised schedule information; and transmitting the commands and the associated parameters to the particular media server via the network.
60. A server operative to provide an applet to a client via a network, the applet including encoding instructions for executing a process of providing a centralized user interface at the client for scheduling and coordinating the execution of operations performed on media data by selected ones of a plurality of media servers of the network, comprising the steps of: displaying a graphical user interface at the client, the interface including a plurality of interface components enabling a user to specify and schedule operations to be performed by selected ones of the media servers; receiving information input by the user identifying a selected one of the media servers, the specified operations to be performed by the selected media server, and the schedule for performing the operations, which operations include at least copy operations for copying portions of media data from selected source locations including local and remote memory devices to selected destination locations including: an adding operation for adding the selected portions of the media data from the selected local memory devices to a catalog of the selected media server, a loading operation for loading the selected portions of the media data from the selected remote memory devices to the catalog of the selected media server, and staging assets from the selected media server to the selected destination location; generating comments and associated parameters based on the input information for instructing the selected media server to execute the specified operation in accordance with the specified schedule; and transmitting the commands and associated parameters to the selected media server.
61. A server as recited in claim 60 wherein at least one of the media servers is further operative to encode media data received from a corresponding multimedia device, and wherein the operations further include: delete operations for deleting portions of media data from catalogs of predetermined mapped ones of the media servers; multicasting operations for streaming portions of media data from selected ones of the media servers to selected ones of a plurality of end user terminals via the network; and encoding operations for encoding media data received by selected ones of the media servers.
62. A server as recited in claim 60 wherein at least one of the media servers is also operative to encode and parse portions of media data to create media assets, and wherein each of the media servers is further operative to maintain a catalog including a plurality of pointers to catalogued ones of the media assets stored in a local disk included within the media server.
63. A server as recited in claim 60 wherein each of the media servers is operative to access a memory device for storing media data, and also operative to transfer portions of media data to selected locations via the network.
64. A server as recited in claim 63 wherein the steps of displaying a graphical user interface, and receiving input information further comprise the steps of: displaying a source selection interface component enabling the user to select a source location by browsing a list of available locations including predetermined mapped ones of the media servers and predetermined mapped ones of the memory devices; receiving information indicative of a selected source location; displaying a media data selection interface component enabling the user to select a portion of media data by browsing a list of available a portions of media data stored at the selected source location; receiving information indicative of a selected portion of media data; determining a corresponding list of possible destination locations associated with the selected source location; and displaying a destination selection interface component enabling the user to select a destination location by browsing the corresponding list of possible destination locations.
65. A server as recited in claim 64 wherein the steps of displaying a graphical user interface, receiving information, and generating commands further comprise the steps of: displaying delayed copying interface components enabling the user to select a start time and a start date for a delayed copying operation; receiving information indicative of a selected start time and a selected start date; and generating a copy command and associated parameters for instructing the selected media server to copy the selected portion of media data from the selected source location to the selected destination location at the selected start time on the selected start date.
66. A server as recited in claim 63 further comprising the steps of: displaying a location mapping interface component enabling the user to define a path to a new location in the network; receiving information indicative of a selected path for accessing the new location; and adding the new location associated with the selected path to the list of available locations.
67. A server as recited in claim 60 wherein the input information includes server identification information specifying the selected media server, operation information specifying the operation to be performed by the selected media server, and schedule information specifying the schedule, and wherein the process further comprises the step of displaying graphical indicia indicative of a plurality of user scheduled operations that have been previously defined and scheduled by the user, each of the scheduled operations being associated with corresponding previously specified information including previously specified server identification information, previously specified input information, and previously specified schedule information.
68. A server as recited in claim 67 further comprising the steps of: providing interface components allowing the user to select one of the displayed scheduled operations; receiving information indicative of a selected scheduled operation; determining a portion of the interface components of the graphical user interface that is associated with the selected scheduled operation; and displaying the determined portion of the interface components having previously specified information associated with the selected scheduled operation displayed therein, the displayed portion of the interface components enabling the user to edit the previously specified information associated with the selected scheduled operation in order to generate revised information associated with a revised operation, the revised information including revised server identification information, revised operation information, and revised schedule information.
69. A server as recited in claim 68 further comprising the steps of: linking to a previously specified media server indicated by previously specified server identification information associated with the selected scheduled operation; generating delete commands and associated parameters for instructing the previously specified media server to cancel execution of the selected scheduled operation; and transmitting the delete commands and associated parameters to the previously specified media server.
70. A server as recited in claim 69 further comprising the steps of: generating new commands and associated parameters based on the revised information associated with the revised operation, the new commands and associated parameters for instructing a particular media server to execute the revised operation in accordance with the revised schedule information; and transmitting the commands and the associated parameters to the particular media server via the network.
71. A server as recited in claim 67 wherein the network further includes a global asset management server communicatively coupled to the client via the network, the global asset management server also being communicatively coupled to a memory device for storing global information including server identification information, operation information, and schedule information associated with corresponding scheduled operations that have been defined and scheduled by corresponding users, the process further comprising the steps of: transmitting information indicative of a particular user from the client to the management server; and transmitting the server identification information, the operation information, and the schedule information associated with the specified operation to the management server for storage.
72. A server as recited in claim 71 wherein the management server is further operative to access the global information, the process further comprising the steps of: accessing the management server from the client; transmitting user identification information indicative of a specified user to the asset management server; and receiving previously specified information associated with each user scheduled operation that has been previously defined and scheduled by the specified user.
73. A server as recited in claim 71 wherein the global asset management server is further operative to generate a global schedule document including the graphical indicia indicative of the user scheduled operations, the previously specified information corresponding with each of the graphical indicia, executable code for implementing the steps of displaying a graphical user interface, receiving information, generating commands and associated, and transmitting the commands and associated parameters, and active areas for initiating the executable code, and wherein the step of displaying graphical indicia indicative of a plurality of user scheduled operations further comprises: transmitting information indicative of a particular user to the asset management server; and downloading the global schedule document associated with the particular user from the asset management server to the client.
74. A server as recited in claim 73 wherein the document comprises a HTML document and wherein the executable code comprises a Java applet.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a method and apparatus for managing media data in computer network systems. More specifically, the present invention relates to a process and apparatus providing a centralized graphical user interface for managing media assets in a network by specifying and scheduling operations to be performed by a plurality of media servers in a computer network.
2. Description of the Prior Art
A media server is a network server system which is operative to perform various operations on media data files in a computer network system. Digital media files may include video data, audio data, text data, and graphical data. Typically, a media server is operative to perform media operations including: delete operations for deleting media assets from locations in a network; copy operations for copying media assets from source locations to destination locations in a network; multicasting operations for streaming media assets from the media server to clients via the network; and encoding operations for encoding media data, received by the media server from multimedia equipment such as a video camera, in order to create media assets.
For purposes of the present application, a media asset is defined to include parsed media data which is configured to be streamed from a media server to one or more clients in a particular type of network. One example of a media server is IBM's VideoCharger.TM. server and media streamer which combines functions of digital computing and the video broadcast industry into a versatile, cost-effective system for high-quality storage and delivery of multimedia content. Details of the VideoCharger.TM. product are disclosed in U.S. patent application Ser. No. 08/961,704, entitled "Scaleable Network Transparent Access Framework for Multimedia Serving," filed on or about Oct. 31, 1997, and U.S. patent application Ser. No.
08/961,706, entitled "Seamless Playlist," filed on or about Oct. 31, 1997, each of which is hereby incorporated.
The VideoCharger.TM. server, provided by International Business Machines Corp., provides one example of a media server. The VideoCharger.TM. server provides for the delivery of continuous time media data (i.e. audio and/or video data) to Internet or Intranet connected clients. The video is "streamed", (i.e. delivered in real-time) and does not require that the file be downloaded or saved before being played by the client software. In video parlance, the video is "pushed" by the server over the network to the client. This approach is different from most file servers where the data is "pulled" by the client issuing successive "reads" to the server. The "push" architecture is similar to a broadcast environment where a video stream is started by a play command and will continue until stopped. U.S. Pat. No. 5,918,020, issued to Blackard et al. on Jun. 29, 1999 describes a data processing system and a method for implementing a push, or streaming, model for communicating time sensitive encoded data, such as video and audio data, in a communication network. In addition to supporting industry standard file formats for audio and video, the VideoCharger media server supports the popular Internet and World Wide Web (WWW) protocols including IP and Hyper Text Transport Protocol (HTTP). This allows the product to be used with Industry standard applications like HTML Web Browsers. It also allows the product to be used on a wide variety of network types including LANs (Local Area Networks such as Ethernet, Token Ring, FDDI), WANs (Wide Area Networks such as T1, E1 T3, E3) and ATM (Asynchronous Transfer Mode).
An IP multicast feature of the VideoCharger.TM. media server allows it to be used as a broadcast type server in the Internet environment. This allows a single audio or video stream to be sent to multiple clients, thereby reducing the bandwidth requirements on the network. In addition, VideoCharger on Windows NT offers embedded encoder support. This allows an MPEG encoder to be installed on the server and have VideoCharger directly control the encoder for functions such as real-time IP Multicast and real-time IP Multicast with live recording of the same stream. This is a very efficient yet powerful method of providing a broadcast of a live event while recording it for later re-broadcast with minimal network load. IBM also provides a VideoCharger Server for AIX.
The functions and capabilities of media servers are very useful to archivists, film/video production groups, educational institutions, research groups, medical technologists, advertising and creative agencies, print and Web publishers, and marketing communications agencies. In accordance with prior art asset management and scheduling methods, an administrator of a media server having access rights thereto may configure the media server to execute specified media operations to be performed by that server in accordance with a specified schedule.
In accordance with one prior art asset management and scheduling method, a administrator may configure a particular media server to perform particular types of media operations by downloading hypertext markup language (HTML) Web pages via corresponding uniform resource locators (URL's) from the particular media server, each of the HTML Web pages providing an interface for scheduling a corresponding one of the particular types of media operations to be executed by the particular media server. A copy/delete HTML Web page provides rudimentary interface functions allowing the administrator to define and schedule copy operations and delete operations to be performed by the particular media server. The copy/delete HTML Web page includes: prompts and active areas enabling the user to specify a copy operation or a delete operation; and text boxes enabling the administrator to enter a path to a selected media file which the subject of the copy or delete operation. An encoding HTML Web page provides rudimentary interface functions allowing the administrator to activate an encoding operation to be performed by the particular media server. The encoding HTML Web page includes text boxes enabling the administrator to enter: a path and a selected file name for the asset to be encoded; and a duration value indicating a duration for the encoding operation. A problem associated with this prior art method of remotely activating an encoding operation is that the administrator is not provided with any view of the scene to be encoded. A multicasting HTML Web page provides rudimentary interface functions allowing the administrator to schedule a multicasting operation to be performed by the particular media server. The multicasting HTML Web page includes text boxes enabling the administrator to enter: a path indicating a selected asset to be multicasted; one internet protocol (IP) address and port number for multicasting the selected asset; a scheduled start date and start time for executing the multicasting operation; and a duration value indicating a time duration for the multicasting operation.
One problem associated with the above described prior method of configuring media servers to manage media assets and schedule media operations is that there are no mechanisms which prevent the administrator from specifying invalid options, such as specifying an invalid path or an invalid file name for a selected asset. For example, in the course of defining a copy operation using the copy HTML Web page, if the administrator specifies an incorrect path for an asset to be copied, then the copy operation will not be successfully executed at the scheduled time. Also, the prior art interface consisting of the HTML Web pages described above provides no means for notifying the administrator as to whether or not the operation is successfully completed upon passing of the scheduled time for executing the operation. Furthermore, a failure of a particular copy operation would result in a failure of a subsequently scheduled media operation which is dependent upon the particular copy operation, as further explained below.
For a variety of multimedia network applications, it is important to be able to coordinate the scheduling of media operations to be performed by a plurality of media servers. As an example, an administrator of an educational institution such as a college or university may desire to configure one or more media servers to create, store, manage, and stream media assets. In this example, the media assets may include video data and audio data comprising a lecture given by a professor in a class room. The administrator may configure a first server, that is an encoding server, to encode media data received from multimedia equipment, such as a video camera, at a scheduled time. Alternatively, the administrator may manually control the encoding media server using a local programming interface residing at the server site to start, stop, and pause encoding of the media data generated by the camera while viewing a local screen which displays the lecture being recorded. However, there is no means provided in the prior art for remotely controlling the encoding of media assets by a media server. After the administrator encodes a new asset at an encoding media server, or schedules an encoding operation to be performed at the encoding server, the administrator may configure the encoding server to execute further operations including: storing the encoded asset in a storage device; and multicasting the encoded asset to a selected group of clients either in real time or at a later time in accordance with a programmed schedule. Further, the administrator may configure the encoding server to transfer the encoded asset to a second media server via a network.
In the above described prior art asset management and scheduling method, in order to coordinate the scheduling of media operations at the first and second servers, the administrator must access and configure each server separately. As the number of scheduled operations increases, and the number of configured media servers increases, it becomes more and more difficult for the administrator to coordinate the scheduling of the operations between the multiple servers because there is no centralized location provided in the prior art for automatically logging those operations which are specified and scheduled by the administrator to be executed at the multiple servers. A log of operations scheduled to be executed by each particular media server is stored in a log file maintained by the operating system of the particular media server (e.g., a Windows NT log file, or an AIX log file). However, the administrator must access the log file of each particular server separately in order to review operations to be performed by the particular media server.
In one particular scenario, an administrator may wish to configure a first server to: encode media data to create a new asset; and then copy the new asset at a later scheduled time to a second server. Provided that the administrator has access to the second server, the administrator may: configure the second server to multicast the encoded asset to a selected group of clients in accordance with a programmed schedule; and configure the second server to subsequently remove the encoded asset from the catalog of the second server so that the new asset cannot be accessed after a certain period of time. The administrator may wish to configure the two servers to perform the steps of creating a new asset at the first media server, transferring the new asset to the second server, and multicasting it from the second server in order to achieve the goal of minimizing network congestion problems which would arise in streaming directly from the first encoding server to the selected clients. Note that the success of the multicasting operation scheduled for execution by the second server is dependent upon the success of the copy operation scheduled for execution by the first server. As mentioned above, a failure of the copy operation would result in a failure of the subsequently scheduled multicasting operation which is dependent upon the copy operation. Because there is no means for notifying the administrator as to whether or not the copy operation is successfully completed, the administrator also would have no warning that the dependent multicasting operation would inevitably fail as well.
In the above described prior art asset management and scheduling method, in order to coordinate the scheduling of media operations at the first and second servers, the administrator could separately access the log files of the first and second servers, and review each. However, this process is very cumbersome. If the administrator needs to coordinate and schedule events at a multiplicity of media servers, which may be residing in different time zones, the coordination and management of the scheduled events at the multiplicity of servers becomes very difficult.
Therefore, one problem with the prior art asset management and scheduling processes is that an administrator of a plurality of media servers is required to interface separately with each media server in order to read the log files for the purposes of coordinating scheduled operations at each of the media servers. Another problem is that the administrator is prone to specify invalid paths for assets to be operated upon thereby resulting failure of media operations. A further problem is that there is no notification system for notifying the administrator in the event of success or failure of the scheduled operations.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a graphical user interface process providing a centralized interface for remotely managing media assets, and scheduling media operations to be performed by a plurality of media servers in a computer network system, the media operations including deleting media assets from a source location in a network, copying media assets from selected source locations to selected destination locations; multicasting operations for streaming media assets from selected media servers to selected clients via the network; and encoding operations for encoding media assets.
Briefly, a presently preferred embodiment of the present invention provides a process of managing media data in a network system including an administrator terminal, at least one media server communicatively coupled to the administrator terminal via a computer network, and a plurality of end user terminals communicatively coupled to the administrator terminal and to the media servers via the network, each of the media servers being operative to access a memory device for storing media data, and to transfer portions of media data to selected locations via the network, at least one of the media servers being operative to stream media data to selected ones of the end user terminals. At least one of the media servers is also operative to encode and parse portions of media data to create media assets. Also, each of the media servers is further operative to maintain a catalog including a plurality of pointers to catalogued ones of the media assets stored in a local disk included within the media server.
The process provides a centralized user interface for scheduling and coordinating the execution of operations performed by selected ones of the media servers, each of the operations being associated with a corresponding portion of media data. The process begins with a step of displaying a graphical user interface including a plurality of interface components on a display unit of the administrator terminal, the components enabling a user of the administrator terminal to define and schedule media operations to be performed by selected ones of the media servers on corresponding portions of media data. User input is received via an input/output unit of the administrator terminal. The user input includes: server identification information indicative of a selected media server; operation information specifying an operation to be performed by the selected media server on a selected portion of media data, and schedule information specifying a schedule for performing the specified operation. The process further includes the steps of: generating commands and associated parameters based on the operation information and the schedule information, the commands and associated parameters for instructing the selected media server to execute the specified operation in accordance with the specified schedule; and transmitting the commands and the associated parameters to the selected media server via the network.
In an embodiment, the administrator terminal also includes a processing unit, and a browser application executed by the processing unit. The process is initiated by performing the steps of: transmitting an applet to the administrator terminal via the network; and executing the applet over the processing unit of the administrator terminal; whereby the graphical user interface is displayed within a browser window generated by the browser application on the display unit.
The operations include: delete operations for deleting portions of media data from catalogs of predetermined mapped ones of the media servers; copy operations for copying portions of media data from selected source ones of the locations to selected destination ones of the locations; multicasting operations for streaming portions of media data from selected ones of the media servers to selected ones of the end user terminals via the network; and encoding operations for encoding media data received by selected ones of the media servers.
The process includes a feature for displaying graphical indicia indicative of a plurality of user scheduled operations that have been previously defined and scheduled by the user, each of the scheduled operations being associated with corresponding previously specified information including previously specified server identification information, previously specified operation information, and previously specified schedule information. The process further comprises the steps of: providing interface components allowing the user to select one of the displayed scheduled operations; receiving user input indicative of a selected scheduled operation; determining a portion of the interface components of the graphical user interface that is associated with the selected scheduled operation; and displaying the determined portion of the interface components having previously specified information associated with the selected scheduled operation displayed therein, the displayed portion of the interface components enabling the user to edit the previously specified information associated with the selected scheduled operation in order to generate revised information associated with a revised operation, the revised information including revised server identification information, revised operation information, and revised schedule information.
The foregoing and other objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment which makes reference to the several figures of the drawing.
IN THE DRAWINGS:
FIG. 1 is a block diagram illustrating a networked computer system including a plurality of network locations for storing and operating on media data, and an administrator terminal communicatively coupled with the locations via a network, the administrator terminal providing an asset management and scheduling graphical user interface (GUI) process in accordance with the present invention for remotely managing operations including generating, copying, and streaming media data at and between selected ones of the locations;
FIG. 2 is a block diagram illustrating an exemplary computer system used to implement the administrator terminal of FIG. 1;
FIG. 3 is a block diagram illustrating a main GUI screen of the asset management and scheduling GUI process, the main GUI screen providing for a user to select from management and scheduling options including managing assets, encoding assets, and multicasting existing assets;
FIG. 4 is a flow diagram illustrating a sub-process for implementing the main GUI screen of FIG. 3;
FIG. 5 is a block diagram illustrating an asset management GUI screen providing for the user to select from asset management options including mapping new locations, deleting available locations, and copying and deleting selected assets;
FIG. 6 is a flow diagram illustrating a sub-process of the GUI process of the present invention for managing assets using the asset management GUI screen of FIG. 5;
FIGS. 7A through 7E are a block diagrams illustrating location mapping GUI screens providing for the user to map locations including local and remote storage units, media servers, and archives;
FIGS. 8A through 8D are flow diagrams illustrating sub-processes for mapping locations using the GUI screens of FIGS. 7A through 7E;
FIG. 9 is a flow diagram illustrating a sub-process for deleting selected locations from an available locations list;
FIGS. 10A through 10D are flow diagrams illustrating sub-processes for copying and deleting selected assets located at selected locations using the asset management GUI screen of FIG. 5;
FIG. 11 is a block diagram illustrating a rename GUI screen for renaming a selected asset before copying the selected asset;
FIG. 12 is a block diagram illustrating an encoding GUI screen for encoding a new media asset;
FIGS. 13A and 13B are flow diagrams illustrating a sub-process of encoding and optionally recording media data in accordance with the present invention using the GUI screen of FIG. 12;
FIG. 14 is a block diagram illustrating a GUI screen in accordance with the present invention for defining encoder attributes;
FIG. 15 is a flow diagram illustrating a sub-process of defining encoder attributes using the GUI screen of FIG. 14;
FIG. 16 is a block diagram illustrating a GUI screen for manually and remotely controlling the encoding of a new asset;
FIG. 17 is a flow diagram illustrating a sub-process of manually controlling the encoding of an asset from a remote location in accordance with the present invention;
FIG. 18 is a flow diagram illustrating sub-process of defining and scheduling streaming operations in accordance with the present invention;
FIG. 19 is a block diagram illustrating a GUI screen for defining a destination group of IP addresses and port numbers for streaming operations;
FIG. 20 is a flow diagram illustrating a sub-process of defining the destination group of IP addresses and port numbers using the GUI screen of FIG. 19;
FIG. 21 is a flow diagram illustrating a sub-process of specifying and scheduling a recording operation for recording an asset;
FIG. 22 is a block diagram illustrating a playback scheduling GUI screen;
FIGS. 23A through 23D are flow diagrams illustrating a play-back sub-process for defining and scheduling a streaming operation for streaming a new asset using the scheduling GUI screen of FIG. 22;
FIG. 24 is a block diagram illustrating a GUI screen for defining an interval for a playback schedule;
FIG. 25 is a flow diagram illustrating a sub-process for defining a playback schedule interval using the screen of FIG. 24;
FIG. 26 is a block diagram illustrating a GUI screen for defining notification e-mail messages to be sent to selected end users upon detection of a selected event associated with streaming operations;
FIG. 27 is a flow diagram illustrating a process of specifying events for which notification e-mail messages are to be sent to selected end users;
FIG. 28 is a block diagram illustrating a GUI screen for defining groups of destination e-mail addresses for the purpose of sending notification messages to the destination addresses;
FIG. 29 is a flow diagram illustrating a sub-process of defining a group of destination e-mail addresses;
FIG. 30 is a block diagram illustrating an edit message GUI screen;
FIG. 31 is a flow diagram illustrating a process of editing a message using the screen of FIG. 30;
FIG. 32 is a block diagram illustrating a GUI screen providing an interface for defining and scheduling multicasting operations;
FIGS. 33A through 33E are flow diagrams illustrating a sub-process of defining and scheduling streaming operations in accordance with the present invention using the GUI screen of FIG. 32;
FIG. 34 is a block diagram illustrating a GUI screen providing an interface for selecting a date;
FIG. 35 is a block diagram illustrating a global schedule summary Web document in accordance with the present invention;
FIG. 36 is a flow diagram illustrating a process for managing global schedule information in accordance with the present invention;
FIG. 37 is a flow diagram illustrating a process for generating the global schedule Web document of FIG. 35; and
FIG. 38 is a flow diagram illustrating a process for reviewing a summary of all scheduled media operations associated with a particular user of the asset management and scheduling GUI process of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 shows a block diagram illustrating an exemplary networked computer system at 10 including an administrator terminal 12 configured in accordance with the present invention for implementing an asset management and scheduling GUI process for remotely managing and scheduling media operations including generating, copying, and multicasting media assets at and between a plurality of locations in the system 10 as further explained below.
The depicted system 10 also includes: a plurality of end user terminals 14 communicatively coupled with the administrator terminal 12 via an Internet protocol (IP) network 16 such as the public Internet or a private internet; a first media server
18 designated SERVER_1 communicatively coupled with the administrator terminal 12 via the IP network, the first media server having a media streamer application 20 which is executed by the server, an asset management and scheduling program 23 in accordance with the present invention which is executed by the server, and a local disk 22 providing memory storage for media data including audio data, video data, and text; a video camera 24 for generating media data having video data and audio data, the camera 24 being communicatively coupled with the first media server 18 via a first local area network (LAN) 26; a remote disk 28 communicatively coupled with the first media server 18 via the first. LAN 26; a second media server 30 designated SERVER_2 communicatively coupled with the administrator terminal 12 via the IP network, the second server having a media streamer application 20 which is executed by the server, and a local disk 22 for storing media data; an archive data storage unit 36
communicatively coupled with SERVER_2 via a second LAN 32 which is communicatively coupled with the first LAN 26 via a wide area network (WAN) 34; a server 38 designated SERVER_3 communicatively coupled with the administrator terminal 12 via the IP network, and also being coupled with the second LAN 32, the third server having a local disk 40 for storing media data; and a network device 42 having a media streamer application 20 which is executed by the network device 42, the device 42 being communicatively coupled with SERVER_2 via the second LAN 32.
Each of the media streamer applications 20 is operative to encode and parse portions of media data to create a media asset, and is also operative to stream assets to selected groups of the plurality of end user terminals 14. The parsing of the media data includes adding headers and attributes to packets of the media data in order to allow for the detection of failures in staging, that is copying, of media assets from one media server to another media server via the IP network 16 or via the WAN
34. Each of the media streamer applications 20 is executed by a corresponding processing unit (not shown) of the corresponding one of the media servers 18 and 30, and the network device 42.
As further explained below, the end user terminals 14 include plug-in applications which, when executed along with a viewing application such as a browser, are operative to decode and play the assets in real time.
In accordance with the present invention, an asset management and scheduling graphical user interface (GUI) process is provided at the administrator terminal 12 as described in detail below. In general, the asset management and scheduling GUI process allows for a user of the administrator terminal 12 to remotely define and schedule the execution of a variety of operations on media data at selected locations (e.g., selected servers, archives, and networked devices) in the networked computer system 10.
In accordance with the asset management and scheduling GUI process, interface components are displayed on a display unit of the administrator terminal 12, the components prompting a user of the administrator terminal to define and schedule operations to be performed by selected ones of the media servers on corresponding selected assets. In response to the interface components, user input is received via an input/output of the administrator terminal 12. The user input generally includes: operation information specifying details of a selected event, or operation, to be performed by a selected one of the media servers 18 and 30 on a selected asset which is accessible by the selected media server; and schedule information associated with the operation information, the schedule information indicating an associated schedule for performing the selected operation. In accordance with the asset management and scheduling GUI process, commands and associated parameters are generated based on the operation information and the associated schedule information. The commands and associated parameters are transmitted to the corresponding selected one of the media servers 18 and 30 for execution of the specified operation in accordance with the associated schedule.
Operations which may be remotely managed and scheduled by the asset management and scheduling GUI include: remotely controlling encoding operations for encoding media assets at selected locations in the system 10 by manual remote control, or by scheduling one or more time delayed encoding operations; streaming assets from a selected source media streamer to a selected group of destination end users; "copying" media data from a selected source location in the system 10 setting to a selected destination location; and "deleting" media assets from selected locations.
The media streamer applications 20 are operative to execute several different types of copy actions for copying media assets including: "adding" media files or assets from a local disk 22 to a "catalog" of a corresponding media streamer application 20, the catalog being a list of files and/or assets which the media streamer application may access; "loading" media files or assets from the remote disk 28 to the catalog of the corresponding media streamer application 20 at SERVER_1; and "staging" media assets from a selected source one of the media servers 18 and 30 to a selected destination one of the media servers. In the preferred embodiment, in order to allow for detection of a failure in a staging operation, only media assets which include parsed media data, as opposed to media files which include unparsed media data, are staged via the IP network 16 or via the WAN 34.
The "delete" operations include removing selected assets from the catalog of a selected media streamer application 20 at the selected media server. Media files often comprise intellectual property, and therefore, it is desirable to be able to remove asset from the catalogs of media servers so that the assets cannot be retrieved by persons who are not authorized to do so.
In a scheduled encoding mode, the asset management and scheduling GUI provides for defining and scheduling the activation of the camera 24 in accordance with a user defined schedule to generate video data which is encoded by the media streamer application 20 at SERVER_1. The user may schedule a later date and time for activating the video camera and the encoding process; specify a location to which the encoded data is to be recorded, or stored; specify that the media data is to be streamed out in real time to selected destination locations; and specify that e-mail messages are to be sent to selected end users upon success or failure of the streaming. In a manual encoding mode, the user of the asset management and scheduling GUI controls the encoding process at SERVER_1 while viewing the scene to be encoded from the administrator terminal 12.
In the preferred embodiment of the present invention, the asset management and scheduling GUI process is implemented as a Java applet executed at the administrator terminal 12, the applet being received from the asset management and scheduling program 23 at SERVER_1. In an alternative embodiment of the present invention, the asset management and scheduling GUI process is implemented as a Java application executed at the administrator terminal 12, the application being implemented by executing computer readable instructions stored at the administrator terminal 12. In yet another embodiment of the present invention, the asset management and scheduling GUI process is implemented by logic shared between the administrator terminal 12 and SERVER_1
so as to maximize efficiency.
As further explained below, each of the plurality of end user terminals 14 includes a browser application running thereon for viewing assets including media data (e.g., an MPEG video clip) streamed to the end user terminal from corresponding ones of the media servers 18 and 30. In one embodiment of the present invention, each of the end user terminals 14 has a media player stored therein, and the browser running on the end user terminal loads the media player in order to view the media data. The media player includes a decoder for decoding the media data. In another embodiment, the browsers running on the end user terminals 14 natively understand the encoding format of the asset streamed thereto and a plug-in is not required.
FIG. 2 shows a block diagram illustrating an exemplary general purpose computer system at 50 which may be used to implement each of the administrator terminal 12, the end user terminals 14, the media servers 18 and 30, and the network device 42
(FIG. 1). The computer system 50 includes: a processing unit 52 communicatively coupled to a bus 54; a random access memory (RAM) unit 56 communicatively coupled to the processing unit via the bus; a read only memory (ROM) unit 58 communicatively coupled to the processing unit via the bus; a main memory unit 60, such as a hard disk or other memory storage device, communicatively coupled to the processing unit via the bus; a display unit 62, such as a cathode ray tube or flat panel display, communicatively coupled to the bus for displaying graphical information; an input/output unit (I/O unit) 64, such as a keyboard and mouse, coupled with the processing unit via the bus, and providing an interface for a user to provide input; and a modem
66 coupled with the bus, and providing communication with remote devices via a computer network such as the IP network (FIG. 1).
In the preferred embodiment of the present invention, the main memory unit 60 (FIG. 2) of the administrator terminal 12 (FIG. 1) stores computer readable instructions for implementing a viewing application supporting a Java interpreter (e.g., Netscape Navigator, Microsoft Explorer, or Sun's HotJava browser). The Java interpreter is operative to execute compiled Java byte code, also called J-code. In the preferred embodiment of the present invention, the asset management and scheduling GUI process is implemented as a Java applet which is provided to the administrator terminal 12 (FIG. 1) via the IP network 16 (FIG. 1) as executable content inside of a Web document.
Also, in the preferred embodiment of the present invention, the main memory unit 60 (FIG. 2) of each of the end user terminals 14 (FIG. 1) stores computer readable instructions for implementing a viewing application such as a Web browser (e.g., Netscape Navigator, Microsoft Explorer), and computer readable instructions for implementing a plug-in. Further, in the preferred embodiment of the present invention, the main memory unit 60 (FIG. 2) of each of the media servers 18 and 30 (FIG. 1) stores computer readable instructions for implementing the media streamer application 20 (FIG. 1), and instructions for implementing the asset managing and scheduling program 23 (FIG. 1).
With reference back to FIG. 1, initializing steps of the asset management and scheduling process of the present invention include sending a request for a predetermined Web page from the Web browser running on the administrator terminal 12 to the asset management and scheduling program 23 at SERVER_1 via the IP network 16. The management and scheduling program 23 packages the predetermined Web page, along with an asset management and scheduling GUI process applet in accordance with the present invention, for transmission to the Web browser running on the administrator terminal 12. The asset management and scheduling applet is operable to create and manage an embedded menu in a displayed Web page when the Web page is displayed and the applet is executed by the Web browser running on the administrator terminal 12. In the preferred embodiment of the present invention, the asset management and scheduling applet is coded in Java.TM. and the Web browser supports a Java interpreter.
In a preferred embodiment, each of the media streamer applications 20 provides for encoding media data and parsing the media data to create media assets including encoded and parsed media data. Also in the preferred embodiment, the media players loaded by the browsers running on the end user terminals 14 are configured to decode and display the media assets streamed thereto by the media streamer application 20.
The asset management and scheduling GUI provided by the administrator terminal 12 is described below with reference to flow diagrams. In the preferred embodiment, the GUI process is implemented as a Java applet executed by the processing unit 52
(FIG. 2) of the administrator terminal 12 (FIG. 1) to display a series of GUI screens within a Web browser window on the display unit 62 (FIG. 2) of the administrator terminal. A user of the administrator terminal 12 (FIG. 1) may interface with the below described GUI using the I/O units 64, such as a keyboard and mouse, to provide user input by activating various buttons and check boxes, and by entering and editing text as required and prompted by the GUI screens.
In the below described embodiment of the present invention, each of a plurality of interface functions provided by each of the GUI screens is implemented using a corresponding GUI component selected from a variety of GUI components including radio buttons, check boxes, drop-down lists, spin buttons, editable text boxes, non-editable text boxes, etc. However, as is well understood to one of ordinary skill in the art, each of the interface components of each of the GUI screens described below may alternatively be implemented using other types of GUI components. The asset management and scheduling GUI process of the present invention is more generally described with reference to the flow diagrams while the depicted GUI screens illustrate a currently preferred embodiment.
FIG. 3 shows a block diagram illustrating a main graphical user interface screen (GUI screen) at 100, the screen 100 being used in the asset management and scheduling GUI process of the present invention. The main GUI screen 100 includes an asset management icon 102, an "encode a new asset" icon 104, and a multicast existing assets icon 106.
FIG. 4 shows a flow diagram illustrating a sub-process at 110 for providing a graphical user interface allowing for a user to select from a plurality of main options of the asset management and scheduling GUI. In the preferred embodiment, sub-process 110 is implemented using the main GUI screen 100 (FIG. 3). The depicted process begins with step 112 in which a user of the administrator terminal 12 (FIG. 1) is prompted to select from main options including an asset management option, an option for encoding a new asset, and an option for multicasting existing assets. In step 114, user input indicating a selected one of the main options is received in response to the user selecting one of the three icons 102, 104, and 106 of the main GUI screen (FIG. 3).
From step 114, the process proceeds to 116 at which it is determined whether the asset management icon 102 (FIG. 3) has been selected, and if so, the process proceeds to "A" (to FIG. 6) to execute an asset management and scheduling GUI sub-process as further explained below. If it is determined at 116 that the asset management option has not been selected, the sub-process proceeds to 118 at which it is determined whether the icon 104 (FIG. 3) for encoding a new asset has been selected, and if so, the depicted process proceeds to "B" (to FIG. 13A) to execute a GUI sub-process for encoding a new asset as further explained below. If is determined at 116 and 118 that neither of the icons 102 and 104 (FIG. 3) of the main GUI screen have been selected, the sub-process proceeds to 120 at which it is determined whether the icon 106 (FIG. 3) for multicasting existing assets has been selected, and if so, the depicted process proceeds to "C" (to FIG. 33A) to execute a GUI sub-process for multicasting existing assets.
FIG. 5 shows a block diagram illustrating an asset management GUI screen at 130, the screen providing an interface for the user to select from asset management options including: mapping, or identifying, new locations (e.g., servers, local and remote disks and archives) to be added to an available locations list; deleting locations from the available locations list; "copying" selected assets from selected source locations to selected destination locations; and "deleting" selected assets from selected locations as further explained below. As mentioned above, types of locations include local disks, remote disks, media servers, and archives.
The asset management GUI screen 130 includes: an available locations drop-down list 132 for displaying graphical information indicative of the list of available locations from which the user may select a location; a server time display window 134
for displaying the local time at a selected location if the selected location, selected via the drop down list 132, is a server; and an assets list box 136 for displaying graphical information indicative of the names of assets available at the selected one of the available locations indicated in the drop down list 132, the assets in the assets list box 136 being multi-selectable so that the user may select one or more of the listed assets, the assets list box also providing for the display of graphical information indicative of the date and time that each of the listed assets was last modified.
If the selected location, selected via the drop down list 132, is a media server 18, 30 (FIG. 1), or an archive 36 (FIG. 1), then the assets list box 136 displays a list of catalogued assets. "Catalogued" assets include assets in the catalog of a media server, that is assets which are identified by the corresponding media streamer application 20 (FIG. 1) as being accessible. If the scheduled location is a disk (e.g., one of the local disks 22 or the remote disk 28 of FIG. 1), then the assets list box 36 displays all files and assets stored at the selected location. As mentioned above, media files or assets may be added from a local disk 22 (FIG. 1) to a "catalog" of a corresponding media streamer application 20 (FIG. 1), and media files or assets may be loaded from the remote disk 28 (FIG. 1) to the catalog of the corresponding media streamer application 20 (FIG. 1). Upon loading or adding a media file, which includes unparsed media data, the media streamer application 20 (FIG. 1) must parse the media data in order to convert the media file into a media asset which is formatted for staging and streaming operations.
Note that the server time window 122 is useful to the user because the GUI process is implemented as a Java applet and the user may be residing in a different time zone from the time zone which the selected server resides in. The server time window 122 allows the user to schedule actions for an appropriate time in another time zone.
The screen 130 also includes: a description display box 138 for displaying graphical information indicative of a description of the currently selected asset listed in the assets list box 136; an add/remove locations button 140 for adding locations to the list of available locations and removing locations from the list of available locations as further explained below; a define action box 141 for defining copy actions and delete actions, the box 141 including: a copy assets button 142 for defining a copy action for "copying" a currently selected asset, indicated in the assets list box 136, from a selected source location, identified in the available locations drop down list 132; a delete selected assets button 144 for defining a "delete" action for deleting selected assets at the selected location; and a "copy to" list box 146 allowing for the user to select a destination location from a dynamically created list of possible destination locations, as further explained below.
The asset management and scheduling GUI process includes logic for determining possible destinations for a copy action from a corresponding selected source location. As mentioned above, copy actions for copying media assets include "adding" media files or assets from a local disk 22 (FIG. 1) to a catalog of a corresponding local media streamer application 20 (FIG. 1), "loading" media files or assets from a remote disk 28 (FIG. 1) to the catalog of corresponding media streamer application 20
(FIG. 1), and "staging" media assets from a source media server or a source archive to a destination media server or a destination archive. As mentioned, only media assets, as opposed to media files which include unparsed media data, may be staged. If the selected source location is a media server or an archive, then it is assumed that the copy action is a staging of the selected asset from the source location a destination location which is to either an archive or another media server. Therefore, if the selected source location is a media server or an archive, then the list of possible destination locations includes only media servers and archives. Alternatively, if the selected source location is a local disk or a remote disk, then it is assumed that the corresponding copy action is an "add" operation or a "load" operation, and the list of possible destination locations includes only media servers because if the scheduled portion of media data is a media file, then the destination media server must parse the media file in order to convert it to an asset and add it, or load it, to the catalog of the destination location.
Note that if a selected destination location is a server or other type of location requiring a log-in name and password, the user is required to enter the log-in name and password.
Note that the delete button 144 is only enabled if the selected location is a media server and the selected portion of media data is an asset. Note also that execution of a "delete" action results in a corresponding selected asset being removed from the catalog of a corresponding media streamer application 20 (FIG. 1) at the corresponding media server.
The GUI screen 130 further includes: a check box 148 for specifying delayed, or scheduled, copying wherein the selected assets are to be copied from the selected source location to the selected destination location at a later time; a start date drop down list, or drop down date picker 150 enabled by checking the check box 148 and providing for the user to select a start date for the scheduled copy action; a start time spin button time picker 152 enabled by checking box 148 and providing for the user to select a start time for the associated schedule copy action; a check box 154 for specifying that the selected asset is to be renamed before copying as further explained below; and a "define" button 155 for adding copy actions and delete actions to the action list box 156 as further explained below. If box 154 is checked, the GUI process displays a "rename-as" GUI screen (not shown) for the user to enter a target name for the asset upon copying it to the destination location.
The GUI screen 130 further includes an action list box 156 for displaying a list of copy actions and delete actions to be executed as further explained below. The action list box 156 is used for displaying graphical information indicative of a plurality of copy actions and delete actions 160. For each of the actions 160, the action list box 156 also includes: a source name field for displaying graphical information indicative of the corresponding selected asset; a target name 164 for displaying graphical information indicative of the target name, if applicable; a "from" field (not shown) for displaying the selected source location, selected using the drop down list 132; a "to" field (not shown) for displaying the selected destination location, selected via the "copy to" list box 146; and a schedule field (not shown) displaying graphical information indicative of scheduled associated information including the start date and start time selected via components 150 and 152.
The asset management GUI 130 screen further includes: a remove button 166 for removing, or deleting, selected actions from the action list box 156; an OK button 168 for presently causing the execution of, or scheduling the execution of, the actions listed in the actions list 156; a cancel button 170 for canceling execution of the listed actions; an apply button 172 for executing or scheduling execution of the actions listed in the action list 156 without departing from the GUI screen 130; a reset button 174 for returning the GUI process to the state it was in when the user entered the screen or to the state it was in immediately after selecting the apply button (Note that no actions are sent to the server); and a help button 176 for displaying help instructions for using the GUI screen 130. Upon activation of the OK button 168, or the apply button 172, the asset management and scheduling process generates commands and associated parameters specifying the action listed in the action list 156. In the preferred embodiment, the commands and associated parameters are generated by the asset management and scheduling applet executed by the administrator terminal 12 (FIG. 1) in response to the above described user input. The commands and associated parameters are communicated to the asset management and scheduling program 23 (FIG. 1) at SERVER_1, which then executes the defined copy actions and delete actions for example, the copy actions are executed by copying the selected asset from the source location to the selected destination location on the selected date and time in accordance with the selected renaming option. Delete actions are executed after all copy actions have been executed so that selected assets are not deleted before copying.
FIG. 6 shows a flow diagram illustrating an asset managemen