Patent Publication Number: US-2012030738-A1

Title: Digital media controller and method for sharing media data between networks using the digital media controller

Description:
BACKGROUND 
     1. Technical Field 
     Embodiments of the present disclosure relate to a data sharing technology, and in particular, to a digital media controller and method for sharing media data between networks using the digital media controller. 
     2. Description of Related Art 
     Digital Living Network Alliance (DLNA) defines a standard for exchanging movies, photos, music, and other media data from one electronic device to another. An electronic device in a first DLNA may access media data in a second DLNA through a virtual private network (VPN). However, the media data in the second DLNA may be merely displayed on the electronic device. That is, the electronic device (e.g., a digital media player) in the first DLNA cannot obtain and play the media data in the second DLNA. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of one embodiment of a digital media controller including a sharing system. 
         FIG. 2  is a block diagram of one embodiment of the sharing system of  FIG. 1 . 
         FIG. 3  is a flowchart of one embodiment of sharing media data between networks using the digital media controller, such as, for example, that of  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION 
     The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
     In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, for example, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as an EPROM. It will be appreciated that modules may comprised connected logic units, such as gates and flip-flops, and may comprise programmable units, such as programmable gate arrays or processors. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of computer-readable medium or other computer storage system. 
       FIG. 1  is a block diagram of one embodiment of a digital media controller (DMC)  12  including a sharing system  3 . The digital media controller  12  is in a Digital Living Network Alliance (DLNA) compliant network  1  (network  1  for simplification). The network  1  communicates with a DLNA compliant network  2  (network  2  for simplification) through a virtual private network (VPN)  4 . The network  1  further includes a digital media server (DMS)  11 . The network  2  includes a DMS  21 , a DMC  22 , a digital media player (DMP)  23  and a gateway  24 . In some embodiments, the sharing system  3  may be used to share media data between the network  1  and the network  2 . 
     The DMS  11  and the DMS  21  may be digital media servers (e.g., personal computers), that can provide media data, such as music, video, and photos, for example. In some embodiments, both the DMS  11  and the DMS  21  include shared media data (media available for sharing with others). The shared media data stored in the DMS  11  and the DMS  21  may be the same or different, for simplification, the DMS  11  stores first shared media data, and the DMS  21  stores second shared media data. The DMC  12  may be a PC or a VPN server, for example. The DMC  22  may be a PC or VPN client, for example. 
     The DMP  23  may be one or more audio or video (AV) devices, to access media data provided by the DMS  21 . The DMP  23  may send a shared media data search request to the DMC  22 , and then obtain search results from the DMC  22 . The gateway  24  may receive and send requests and responses between networks, such as the network  1  and the network  2 . In some embodiments, when the media data in network  1  is sent to the network  2 , the gateway  24  may transmit the media data to the DMP  23  that needs to access the media data. 
     The DMC  12  further includes a storage system  50  that includes a shared folder  120 . The shared folder  120  may authorize other DMCs (e.g. the DMC  22 ) with legally login to access data of the shared folder  120 . The storage system  50  may be a memory of the DMC  12 . The DMC  12  further includes a processor  60 . The processor  60  executes one or more computerized code of the DMC  12  and other applications, to provide the functions of the DMC  12 . 
       FIG. 2  is a block diagram of one embodiment of the sharing system  30  of  FIG. 1 . In some embodiments, the sharing system  30  includes a setting module  300 , a determination module  302 , a searching module  304 , and a processing module  306 . The modules  300 ,  302 ,  304  and  306  may comprise computerized code in the form of one or more programs that are stored in the storage system  50 . The computerized code includes instructions that are executed by the at least one processor  60  to provide functions for modules  300 ,  302 ,  304  and  306 . Details of these operations follow. 
     The setting module  300  is used to set an account and a password of the DMC  12 , to control access by other DMCs to the DMC  12 . In some embodiments, when the DMP  23  sends the shared media data search request to the DMC  22 , the DMC  22  searches for the second shared media data in the DMS  21  and, if found, sends the second shared media data in the DMS  21  to the DMP  23 . Simultaneously, the DMC  22  sends an input account and input password to trigger the DMC  12  to search for first shared media data in the DMS  11 . 
     The determination module  302  determines whether the DMC  22  has access rights by comparing the input account and the input password input from the DMC  22  with the set account and the set password of the DMC  12 . If the input account and the input password match, the determination module  302  determines that the DMC  22  logs on legally. If either of the input account and the input password is different from the set account and the set password, the determination module  302  determines that the DMC  22  logs on illegally and is denied access. 
     When the DMC  22  logs on legally, the searching module  304  searches for the first shared media data in DMS  11  and stores the first shared media data in the shared folder  120 . 
     When the DMC  22  logs on illegally, the processing module  306  prompts that the input account or the input password is wrong, and then waits for the input again. 
     The processing module  306  further informs the DMC  22  to obtain a list of the first shared media data from the shared folder  120 . In some embodiments, the DMC  22  may obtain the list of the first shared media data from the shared folder  120 , and sends the list of the first shared media data to the DMP  23 . The DMP  23  includes the list of the first shared media data in the network  1  and the second shared media data in the network  2 . The DMP  23  chooses specific media data from the first shared media data and the second shared media data to access. The DMC  22  may determine whether the specific media data is in the second shared media data in the network  2  or in the second shared media data in the network  1 . If the specific media data is in the second shared media data, the DMP  23  accesses the specific media data directly. If the specific media data is in the first shared media data, the DMC  22  sends the request of accessing the specific media data in the shared folder  120  through the VPN  4  to the network  1 . 
     When the network  1  receives the request of the specific media data in the shared folder  120 , the processing module  306  further sends specific media data using a stream packet to the network  2 . The gateway  24  may transmit the stream packet to DMP  23 . Thus, the network  1  and the network  2  may share media data with each other. 
       FIG. 4  is a flowchart of one embodiment of a method for sharing media data in digital media controller. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be changed. 
     In block S 100 , the setting module  300  sets an account and a password for the DMC  12 , to control access by other DMCs to the DMC  12 . 
     In block S 101 , when the DMP  23  sending shared media data search request to the DMC  22 , the DMC  22  searches for the second shared media data in the DMS  21  and sends the second shared media data to the DMP  23 . 
     In block S 102 , the DMC  22  sends input account and input password to connect the DMC  21  in network  1  by VPN  4 , to trigger the DMC  12  searching for the first shared media data in the DMS  11 . 
     In block S 103 , the determination module  302  determines whether the DMC  22  has access rights by comparing the input account and the input password input from the DMC  22  with the set account and the password of the DMC  12 . 
     When the DMC  22  logs on illegally, in block S 104 , the processing module  306  prompts that the input account and input password is wrong, and continue receives another input account and input password from the DMC  22 , then the procedure turns to the block S 102 . 
     When the DMC  22  logs on legally, in block S 105 , the searching module  304  searches for the first shared media data in DMS  11  and stores the first shared media data into the shared folder  120 . 
     In block S 106 , the processing module  306  further informs the DMC  22  obtaining a list of the first shared media data from the shared folder  120 . The DMC  22  obtains the list of the first shared media data from the shared folder  120 , and sends the list of the first shared media data to the DMP  23 . 
     In block S 107 , the DMP  23  chooses specific media data from the first shared media data and the second shared media data to access. 
     In block S 108 , the DMC  22  determines whether the specific media data is in the first shared media data in the network  1  or in the second shared media data in the network  2 . 
     When the specific media data is in the second shared media data, in block S 109 , the DMP  23  accesses the specific media data directly. 
     When the specific media data is not in the second shared media data, in block S 110 , the DMC  22  sends a request of accessing the specific media data in the shared folder  120  by VPN  4  to the network  1 . 
     In block S 111 , the processing module  306  sends specific media data in the shared folder  12  using a stream packet to the network  2 . 
     In block S 112 , the gateway  24  transmits the stream packet to DMP  23  to access. 
     It should be emphasized that the described inventive embodiments are merely possible examples of implementations, and set forth for a clear understanding of the principles of the present disclosure. Many variations and modifications may be made to the-described inventive embodiments without departing substantially from the spirit and principles of the present disclosure. All such modifications and variations are intended to be comprised herein within the scope of this disclosure and the-described inventive embodiments, and the present disclosure is protected by the following claims.