Abstract: Embodiments provide methods and systems for securely sharing media content between distinct electronic devices associated with one or more content viewers. The method performed by a system includes in response to receiving a media content request including a media content identifier (ID), account credentials and a compatibility data from a second electronic device, generating and transmitting by a first electronic device a content viewer authentication request to a digital platform server based, at least in part, on the account credentials. The method includes upon successful authentication determine whether the media content is stored in a storage associated with the first electronic device. The method further includes on determining the media content is stored in the storage associated with the first electronic device transmit the media content from the first electronic device to the second electronic device via one or more communication protocols.
Description:[0001] The present technology generally relates to the secure sharing of digital content such as media content, and more particularly, to methods and systems for securely sharing media content between distinct electronic devices associated with one or more content viewers.
BACKGROUND
[0002] On-demand media streaming and live streaming of media content have gained popularity recently, and content viewers are increasingly using various electronic devices to access streaming content. Generally, this streaming content is accessed on electronic devices associated with the content viewers using Over-The-Top (OTT) media services (i.e., over the Internet).
[0003] Typically, a content viewer may access media content directly from a digital platform server associated with a content provider. For instance, the content viewer may access media content directly from the digital platform server using an internet connection. Additionally, the content viewers may be subscribed to a subscription service associated with (or offered by) the digital platform server. For instance, the subscription service may be a tier-based subscription service including various tiers for its subscribers, i.e., content viewers, for example, a free tier subscription, a paid tier subscription, a premium tier subscription, and the like. It is to be noted that certain types of subscriptions may present the media content to the content viewer along with a second media content. For example, if the content viewer is subscribed to a free tier subscription then, the content viewer may be presented with the second media content which may include advertisements or Ads. In other words, Ads may be inserted in between the playback of the media content for a free tier subscriber. In another example, if the content viewer is subscribed to a premium tier subscription, the content viewer may be presented with the second media content such as an additional media content (such as animated info-graphics) that may be inserted in between the playback of the media content for enriching the content viewing experience for the content viewer.
[0004] In various scenarios, the content viewer may face internet connectivity or bandwidth issues while streaming the media content from the digital platform server, due to which the delivery of media content may be obstructed or interrupted. This leads to poor user experience and frustration for the content viewers. For example, the content viewer may not be able to connect to the internet outside the perimeter of his house. To overcome this problem, conventionally content viewers may download the media content on their electronic device (e.g., smartphone) while the internet connectivity is good at one location such that they may enjoy the content at their convenience without worrying about internet issues.
[0005] In one scenario, the content viewer may have multiple devices at different locations and might wish to access the media content on any of these devices without having to download the media content repeatedly on all the devices. It is noted that this case may arise because of the expensive data rates and redundant downloads of the media content on multiple devices of the same content viewer may require more bandwidth and also result in wastage of data packets. Additionally, the content viewer may prefer to download the media content from a location that is easily accessible to them. In an example, the content viewer may download the media content on a mobile device using the Wi-Fi connection present at their home, in order to later access the same media content while they travel on a flight. In another example, the content viewer has downloaded the media content on their phone by accessing the office internet, although they will be able to watch the media content on their phone at home. However, due to a lack of internet at their home, the content viewer won’t be able to watch the same content on another device owned by them such as a Television device with a bigger screen. This restriction would also lead to poor user experience as well.
[0006] Additionally, there may be scenarios in which the content viewer may not be able to access the internet, but another content viewer such as a friend present in the vicinity of the content viewer may have good internet connectivity or may have the media content already downloaded on their electronic device. In such a scenario, the content viewer may wish to access the media content using the downloaded version of the media content present on the other content viewer’s electronic device. Further, if this media content is not transferred securely then, there is a likelihood of the media content being pirated.
[0007] To solve the above-mentioned problem, various solutions have been developed for transferring the media content files locally using communication protocols such as Wi-Fi Direct (direct Wi-Fi) or peer-to-peer Wi-Fi, and the like. However, these conventional solutions do not consider certain security aspects of sharing the media content between the content viewers. For example, one security aspect is that the media content should only be allowed to be shared with the content viewers with valid subscriptions offered by the content provider platform. However, in existing solutions, sharing of media content between the content viewers does not consider these security aspects and therefore is not secure. This insecure sharing of media content may also lead to piracy and security concerns. Further, there exists no solution for serving the second media content to the receiver of the media content.
[0008] Another problem associated with sharing media content between different devices is that the media content shared by a sender’s electronic device may not be compatible with the specifications of the receiver’s electronic device. This incompatibility may lead to a waste of time and resources at both the sender’s and receiver’s end.
[0009] In light of the foregoing technical problems, there is a need to securely share media content between distinct electronic devices associated with one or more content viewers.
SUMMARY
[0010] Various embodiments of the present disclosure include methods and systems for securely sharing media content between distinct electronic devices associated with one or more content viewers.
[0011] In an embodiment of the present disclosure, a computer-implemented method is disclosed. The computer-implemented method performed by the system includes receiving a media content request for requesting a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of the first electronic device. The first electronic device is associated with a first content viewer. The media content request includes a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device. Further, the method includes generating and transmitting a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer. Further, the method includes upon successful authentication of the second content viewer by the digital platform server, determining whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID. Further, the method includes upon determining that the media content is stored in the storage, transmitting the media content to the second electronic device via one or more communication protocols.
[0012] In yet another embodiment of the present disclosure, a system is disclosed. The system includes memory and a processor. The memory stores instructions which are executed by the processor and cause the system to receive a media content request for a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of a first electronic device and the first electronic device is associated with a first content viewer. The media content request includes a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device. Further, the system is caused to generate and transmit a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer. Further, upon successful authentication of the second content viewer by the digital platform server, the system is caused to determine whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID. Further, upon determining that the media content is stored in the storage, the system is caused to transmit the media content to the second electronic device via one or more communication protocols and upon determining the media content is stored in the storage.
[0013] In yet another embodiment of the present disclosure, a non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium includes computer-executable instructions that, when executed by at least a processor of a system, cause the system to perform a method. The method includes receiving a media content request for requesting a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of the first electronic device and the first electronic device is associated with a first content viewer. The media content request includes a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device. Further, the method includes generating and transmitting a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer. Further, the method includes upon successful authentication of the second content viewer by the digital platform server, determining whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID. Further, the method includes upon determining that the media content is stored in the storage, transmitting the media content to the second electronic device via one or more communication protocols.
[0014] As may be understood, the foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the figures/drawings and the following detailed description.
BRIEF DESCRIPTION OF THE FIGURES
[0015] The advantages and features of the invention will become better understood with reference to the detailed description taken in conjunction with the accompanying drawings, wherein like elements are identified with like symbols, and in which:
[0016] FIG. 1A illustrates an exemplary representation of an environment for securely sharing media content between distinct electronic devices associated with distinct content viewers, in accordance with at least some embodiments of the present disclosure;
[0017] FIG. 1B illustrates an exemplary representation of an environment for securely sharing media content between distinct electronic devices associated with the same content viewer, in accordance with at least some embodiments of the present disclosure;
[0018] FIG. 2 is a block diagram of a system of a first electronic device for securely sharing media content to a second electronic device, in accordance with an embodiment of the present disclosure;
[0019] FIG. 3 illustrates exemplary Graphical User Interfaces (GUIs) that may be displayed to the first content viewer and second content viewer while securely transmitting media content between them, in accordance with an embodiment of the present disclosure;
[0020] FIG. 4 is a sequence flow diagram depicting a process for authenticating the second content viewer and securely transmitting media content by a first content viewer, in accordance with an embodiment of the present disclosure;
[0021] FIG. 5 is a sequence flow diagram depicting various scenarios for securely transmitting media content by a first electronic device to the second electronic device, in accordance with an embodiment of the present disclosure;
[0022] FIG. 6 illustrates a flow diagram of a method for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with an embodiment of the present disclosure;
[0023] FIG. 7 illustrates a flow diagram of a method for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with another embodiment of the present disclosure;
[0024] FIG. 8 illustrates a flow diagram of a method for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with another embodiment of the present disclosure;
[0025] FIG. 9 is a simplified block diagram of a Content Delivery Network (CDN), in accordance with various embodiments of the present disclosure; and
[0026] FIG. 10 shows a simplified block diagram of an electronic device capable of implementing the various embodiments of the present disclosure.
[0027] The drawings referred to in this description are not to be understood as being drawn to scale except if specifically noted, and such drawings are only exemplary in nature.
DETAILED DESCRIPTION
[0028] The best and other modes for carrying out the present invention are presented in terms of the embodiments, herein depicted in FIGS. 1 to 10. The embodiments are described herein for illustrative purposes and are subject to many variations. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient but are intended to cover the application or implementation without departing from the spirit or scope of the invention. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.
[0029] Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. The appearance of the phrase “in an embodiment” in various places in the specification does not necessarily all refer to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.
[0030] Moreover, although the following description contains many specifics for the purposes of illustration, anyone skilled in the art will appreciate that many variations and/or alterations to said details are within the scope of the present disclosure. Similarly, although many of the features of the present disclosure are described in terms of each other, or in conjunction with each other, one skilled in the art will appreciate that many of these features can be provided independently of other features. Accordingly, this description of the present disclosure is set forth without any loss of generality to, and without imposing limitations upon, the present disclosure.
[0031] Embodiments of the present disclosure may be embodied as an apparatus, system, method, or computer program product. Accordingly, embodiments of the present disclosure may take the form of an entire hardware embodiment, an entire software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” "engine" “module” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable storage media having computer-readable program code embodied thereon.
[0032] The terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items.
OVERVIEW
[0033] Various embodiments of the present disclosure methods and systems for securely sharing media content between distinct electronic devices associated with one or more content viewers.
[0034] In an embodiment, the system is implemented to receive a media content request for a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of a first electronic device and the first electronic device is associated with a first content viewer. The media content may include different types of content such as but not limited to ‘video content’, ‘audio content’, ‘gaming content’, ‘textual content’, and any combination of such content offered in an interactive or non-interactive form. The media content request includes a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device. In one embodiment the media content ID identifies the media content requested and to be downloaded to the second electronic device, the account credentials are the credentials associated with the second content viewer associated with the second electronic device such as the user identifier, password, subscription type, subscription status, etc. The compatibility data includes data corresponding to the formats and files supported by the second electronic device, such as the supported formats, for example, the audio and video formats. In an embodiment, the compatibility data received is used to generate a compatibility profile, which is further used to determine the compatible formats supported by the second electronic device. In one embodiment, after the generation of the compatibility profile by the first electronic device, it is determined whether the media content to be served is compatible with the second electronic device or not. Further, if the media content is compatible with the second electronic device, the media content stored on the first electronic device is transferred from the first electronic device to the second electronic device via one or more communication protocols.
[0035] In another embodiment, if the media content is not compatible with the second electronic device, the first electronic device determines one or more non-compatibility parameters for the media content. The one or more non-compatibility parameters are determined based on the compatibility data and the media content. Further, an adapted media content is generated by the first electronic device based, at least in part, on the one or more non-compatibility parameters and the media content. The adapted media content is then transmitted by the first electronic device to the second electronic device via one or more communication protocols. For example, the first electronic device may have the capability to generate the adapted media content based on the compatibility data provided by the second electronic device. In an additional example, if the supported resolution by the second electronic device for a video content is 720p, the first electronic device may have the capability to convert the downloaded media content from 1080p resolution to a 720p resolution and further transmit it to the second electronic device.
[0036] In yet another embodiment, if the media content is not compatible with the second electronic device, the first electronic device may generate and transmit a compatible media content request to the digital platform server based, at least in part, on the media content ID and the compatibility data. Further, in response to the compatible media content request, the first electronic device receives a compatible media content from the digital platform server. The compatible media content is then transmitted by the first electronic device to the second electronic device via one or more communication protocols.
[0037] In yet another embodiment, if the media content part is not compatible with the second electronic device, the first electronic device may generate and transmit a request for a compatible media content part to the digital platform server based, at least in part, on the media content ID and the compatibility data. Further, in response to the compatible media content part request, the first electronic device receives a compatible media content part from the digital platform server. The compatible media content is then generated by combining the compatible media content part along with the other media content segments and transmitted by the first electronic device to the second electronic device via one or more communication protocols. For example, the first electronic device may send a request to the digital platform server for an audio format of media content in accordance with the compatibility data of the second electronic device. After receiving the audio format for the media content, the first electronic may generate the compatible media content file to be further transmitted to the second electronic device.
[0038] In one embodiment, the first electronic device receives one or more second media content from the digital platform server. The digital platform server is configured to transmit the one or more second media content to the first electronic device based, at least in part, on determining that one or more second media content needs to be served to the second electronic device. The digital platform server determines whether one or more second media content has to be served to the second electronic device based, at least in part, on the account credentials of the second content viewer. For example, based on the subscription type of the second content viewer the digital platform server may decide whether or not to serve the second media content such as ads to the second content viewer. Further, if second media content has to be served to the second electronic device, the one or more second media content is transmitted from the digital platform server to the first electronic device. Additionally, the first electronic device will share the one or more second media content with the second electronic device via one or more communication protocols.
[0039] In yet another embodiment, the second electronic device may detect the presence of the first electronic device in the vicinity. The presence of a device may be detected based, at least in part, on one or more communication protocols.
[0040] In another embodiment, the system generates and transmits a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer. In an example embodiment, the system uses the account credentials of the second content viewer user identifier, password, subscription type, and subscription status to generate the authentication request and further transmit the same to the digital platform server for the authentication of the second content viewer. In addition to authenticating the second content viewer the digital platform server may also check the subscription type of the second content viewer. For example, the digital platform server may determine the viewer’s subscription type (i.e., whether the user has subscribed to regular or premium content) and status (i.e., whether the subscription is still active or is expired), which in turn may enable the determination of whether a second media content such as ads needs to be served to the second content viewer.
[0041] In yet another embodiment, upon successful authentication of the second content viewer by the digital platform server, the system determines whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID. However, there may be a scenario of unsuccessful authentication of the second content viewer by the digital platform server, in which case the authentication failure message is transmitted to the second electronic device. Additionally, in such a scenario the second electronic device may not be able to access the media content because of authentication failure. However, in another embodiment, in a scenario of unsuccessful authentication of the second content viewer (such as the expiry of the viewer’s subscription), the digital platform server may send a sample clip or preview of the media content along with subscription types and their corresponding prices to the second electronic device. The second electronic device may then preview the media content and subscribe to any one of the subscription types of the content provider, based on their interests. The second electronic device may select and subscribe to any one of the subscription types using the network connectivity of the first electronic device.
[0042] In an additional embodiment, upon determining the media content is stored in the storage associated with the first electronic device, the system transmits the media content from the first electronic device to the second electronic device via one or more communication protocols including one or more of Wi-Fi direct, Bluetooth, ZigBee or near field communication (NFC). The one or more communication protocols may include short-range direct/local communication protocols. Further, in an embodiment, if the media content is not stored in the storage associated with the first electronic device, the first electronic device may request the media content from the digital platform server based, at least in part, on the media content ID and the compatibility data corresponding to the second electronic device. After sending the request, the first electronic device may receive the media content based on the compatibility data and in a format supported by the second electronic device. The first electronic device thereafter sends the media content to the second electronic device. The advantages and features of the invention will become better understood with reference to the detailed description of figures explained hereafter.
[0043] FIG. 1A illustrates an exemplary representation 100 of an environment for securely sharing media content between distinct electronic devices associated with distinct content viewers, in accordance with at least some embodiments of the present disclosure.
[0044] In an embodiment, the environment includes various entities such as a first content viewer 102, a first electronic device 104 associated with the first content viewer 102, a second content viewer 106, a second electronic device 108 associated with the second content viewer 106, a digital platform server 110, a content library 112, a Content Delivery Network (CDN) 120 and the like coupled with each other via a network 114 such as the Internet, enabled by a network provider, also known as the Internet Service Provider (ISP). The first electronic device 104 may connect to the ISP network using a wired network, a wireless network, or a combination of wired and wireless networks. Some non-limiting examples of wired networks may include the Ethernet, a Local Area Network (LAN), a fiber-optic network, and the like. Some non-limiting examples of wireless networks may include Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like.
[0045] In an embodiment, the digital platform server 110 may be associated with a content provider (not shown). As may be understood, the term ‘content provider’ or ‘streaming as used herein refers to an entity that holds digital rights associated with media content, is present within digital video content libraries, offers the content by using a digital platform and over-the-top (OTT) media services on a subscription basis i.e., content is streamed to the electronic devices of the subscribers over the Internet i.e., content viewers. A streaming content provider is also referred to as a ‘content provider’ for ease of description. The content offered by the content provider may be embodied as streaming video content such as live streaming content or on-demand video streaming content. It is noted that though the content offered by the content provider is explained with reference to video content, the term ‘content’ as used hereinafter may not be limited to only video content. Instead, the term ‘content’ may refer to any media content including but not limited to ‘video content’, ‘audio content’, ‘gaming content’, ‘textual content’, and any combination of such content offered in an interactive or non-interactive form. Accordingly, the term ‘content’ is also interchangeably referred to hereinafter as ‘media content’ for the purposes of description. The content viewers wishing to view/access the media content may subscribe to at least one type of subscription offered by the content provider. Though a content provider is not shown in FIG. 1A, the digital platform server 110, and the content library 112 associated with a content provider are shown in the representation 100.
[0046] In an embodiment, the content provider offers the media content such as live streaming content or on-demand video streaming content, offered by the content provider to the content viewer (such as the first content viewer 102 and the second content viewer 106) who is subscribed to at least one type of subscription offered by the content provider. Accordingly, the terms ‘subscriber’, ‘user’, ‘content viewer’, and ‘viewer’ as interchangeably used herein may refer to a viewer of subscribed content, which is offered by the content provider.
[0047] In another embodiment, the content provider may also provide a second media content to its content viewers as well. In various non-limiting examples, the second media content may include one or more Advertisements or ‘Ads’, one or more animations, one or more info-graphics, and the like. In various scenarios, the second media content may be inserted in between the playback of the media content in which the media content is being watched by the content viewer. It is noted that the embodiments explained hereinafter are not limited to video content and that the second media content may be inserted in any type of media content capable of being streamed to the subscribers. It is noted that although the second media content has been described with reference to Advertisements throughout the present disclosure for the sake of explanation only and the same should not be construed as a limitation and other suitable forms of second media content are also covered within the scope of the present disclosure. The term ‘Ads’ as used herein primarily refers to Ads that are delivered to a content viewer or cohort of content viewers with certain traits or behavioral attributes that have a strong preference or inclination to a specific type of Advertising. With respect to the present disclosure targeted second media content that includes the targeted second media content is selected based on the preferences of the content viewer or the content viewer’s cohort based on the viewer behavior data. This aspect will be described further in detailer later in the present disclosure.
[0048] The representation 100 depicts the first content viewer 102 controlling the first electronic device 104 for viewing/accessing media content offered by the content provider. It is noted that the first content viewer 102 may use one or more electronic devices, such as a smartphone, a laptop, a desktop, a personal computer, a wearable device, or any spatial computing device to view the content provided by the content provider. In a particular scenario, the first content viewer 102 may install a software application such as application 116 (hereinafter referred to interchangeably as ‘App 116’) provided by the content provider. As may be understood, the App 116 may be offered by the digital platform server 110 associated with the content provider. The App 116 may allow the first content viewer 102 to access the content library 112 provided by the digital platform server 110 to view media content over the network 114 such as the internet. More specifically, the first electronic device 104 may be in operative communication with a network 114, such as the Internet, enabled by a network provider, also known as an Internet Service Provider (ISP). The first electronic device 104 may connect to the network 114 using a wired network, a wireless network, or a combination of wired and wireless networks. Some examples of wired networks may include the Local Area Network (LAN), Ethernet, the fiber-optic network, and the like. Further, some examples of wireless networks may include Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like.
[0049] Furthermore, the first electronic device 104 may access the user interface (UI) associated with the application 116, i.e., provided by the content provider to view the media content, using a display of the display screen associated with the first electronic device 104. In an illustrative example, the user interface may display a plurality of content titles corresponding to the media content offered by the content provider to its consumers, i.e., the first content viewer 102. In various non-limiting examples, the App 116 may include at least one of a mobile application or a Web application associated with the content provider.
[0050] The first content viewer 102 may select a content title from among the plurality of content titles shown on the UI, which is displayed on the display screen of the first electronic device 104. For example, the first content viewer 102 may select a content title related to a Soap drama. The selection of the content title may trigger a request for a playback uniform resource locator (URL) to be sent from the first electronic device 104 to the digital platform server 110. The transmission of the request for the playback URL from the first electronic device 104 to the digital platform server 110 is done over the network 114.
[0051] In addition to requesting the playback URL of the chosen content title, the request for the playback URL also includes viewer metadata. For example, the viewer metadata includes information related to the type of electronic devices (for example, mobile phone, TV, or tablet device) used by the first content viewer 102 for requesting the media content, the type of login method (for example, Email or Web login) used by the first content viewer 102, the type of network access (for example, cellular or Wi-Fi) associated with playback URL request, network provider ID, device identifier, IP address, geo-location information, browser information (e.g., cookie data), time of the day, and the like.
[0052] In an embodiment, the digital platform server 110 extracts an Autonomous System Number (ASN) and an IP address from a playback URL request sent by an electronic device of the content viewer to identify at least one Content Delivery Network (CDN) 120 or a CDN Point of Presence (PoP), which is in the proximity of the location of the content viewer such as first content viewer 102.
[0053] The digital platform server 110 performs a check to determine if the content associated with the requested content title is cached in at least one CDN 120 from among the plurality of CDNs associated with the digital platform server 110 in different locations. It is noted that requested media content may have been cached from the content library 112 of the content provider to the CDN 120. If the content is not cached in the CDN 120, the digital platform server 110 checks whether any other CDN or CDN PoP in the vicinity of the CDN 120 is caching the content requested with the content title or not. If the content is cached in one or more CDN PoPs and/or in any other CDN/CDN PoP, the digital platform server 110 identifies an optimal CDN PoP taking into account, the location of the user, a content ID and performance metrics associated with the plurality of CDNs/ CDN PoPs.
[0054] In the event that the content associated with the requested content title is not cached with any of the CDNs/ CDN PoPs, the digital platform server 110 may be configured to cache the content from the content library 112 to a CDN PoP nearest to a location of the first content viewer 102 (herein, assumed to be CDN 120). The digital platform server 110 is configured to encode the content as per multiple encoding profiles and cause storage of the plurality of encoded versions of the content in the CDN 120 nearest to the location of the first content viewer 102. It is noted that the content, and especially high-resolution video content, needs to be compressed to optimize bandwidth usage, and, therefore, the content is encoded (or compressed) prior to storage in the CDN 120. As the digital platform server 110 is not aware of the underlying network conditions or the playback quality currently being experienced by the first content viewer 102, the digital platform server 110 may encode the content using codecs associated with multiple encoding standards, such as H.264, H.265, VP8, VP9, AOMedia Video 1 (AVI), Versatile Video Coding (VVC), and the like. Further, for each encoding standard, the content may be encoded at multiple resolutions such as 360p, 480p, 720p, 1080p, and 4K/Ultra-high Definition (UHD) resolution to configure multiple sets of encoding profiles (also known as ‘encoding ladders’). The term ‘encoding profile’ as used herein corresponds to a set of streams corresponding to a content, where each stream is characterized by an encoding bitrate (r), a spatial resolution (s), a frame rate (fps), and a Video Multimethod Assessment Function (VMAF) value (v). For example, video content may be encoded using H.264 standard at a bit rate of 400 Kbps, a spatial resolution of 360p, a frame rate of 30 fps, and a VMAF of 75 to configure one encoded stream. Similarly, video content may be encoded using H.264 standard at a bit rate of 500 Kbps, a spatial resolution of 480p, a frame rate of 30 fps, and a VMAF of 80 to configure another encoding stream. Multiple such streams of content encoded as per H.264 standard configure one ‘encoding profile’. Similarly, video content may be encoded using H.265 standard at one or more resolutions, frame rates, and VMAF scores to generate multiple encoded streams of video content, thereby configuring another encoding profile.
[0055] In yet another embodiment, the digital platform server 110 may also be configured to encrypt the media content with one or more Digital Keys including digital keys, licenses, and unique codes. In particular, the digital platform server 110 uses Digital Rights Management (DRM) based techniques to encrypt the media content specific to each content viewer. For instance, any media content present on the first electronic device 104 of the first content viewer 102 or delivered to the first electronic device 104 will be encrypted by different DRM techniques. In order to decrypt this encrypted media content, the digital platform server 110 is also configured to deliver a DRM key specific to the content viewer alongside the playback URL or during the media content download. Upon receiving this DRM key, the electronic device of the content viewer may decrypt the media content on its own. In an example, the DRM key may be valid for only a predefined time period. In a scenario, if the DRM key expires, the application on the first electronic device 104 may request for the same again to gain a new DRM key with extended validity so that the content viewer may continue to enjoy the content after the previous DRM key expires.
[0056] As mentioned above, the digital platform server 110 may encode the content as per multiple encoding profiles and cache the content in the CDN 120. The digital platform server 110 provides a playback URL identifying the network/IP address of the CDN 120 in which the content is cached, to the first electronic device 104 of the first content viewer 102. The first electronic device 104 is configured to generate a Hypertext Transfer Protocol (HTTP) request using the playback URL and provide the HTTP request over the communication network 114 to the CDN 120 to fetch the requested media content and display the content to the first content viewer 102 on a display screen of the first electronic device 104.
[0057] In another embodiment, the digital platform server 110 determines the type of content requested by the first content viewer 102 based on the request for the playback URL. If the type of content requested by the first content viewer 102 is a movie trailer or a non-content request (such as a request for the synopsis of the content), then the digital platform server 110 may determine that a second media content insertion is required for the requested media content. In some scenarios, the type of content requested by the first content viewer 102 may be non-monetary in nature. For example, a president or prime minister’s public address to the nation during a pandemic, a natural disaster event, or any such announcement conveying news of national importance. In such scenarios, where the type of content requested by the first content viewer 102 is non-monetary in nature, the digital platform server 110 may determine that no second media content insertion is required for the requested content. Alternatively, if the type of request corresponds to a content title, then second media content insertion may be possible during the streaming of the content.
[0058] The representation 100 further depicts a second content viewer 106. As depicted, the second content viewer 106 is shown to be controlling the second electronic device 108 for viewing/accessing media content offered by the content provider. In various examples, the second electronic device 108 may include at least one of a smartphone, a laptop, a desktop, a personal computer, a wearable device, or any spatial computing device to view the content provided by the content provider. In a particular scenario, the second content viewer 106 may also install a software application such as application 118 (hereinafter referred to interchangeably as ‘App 118’) provided by the content provider. In an embodiment, both the application 116 and the application 118 are instances of the same application offered by the digital platform server 110.
[0059] In a non-limiting scenario, the second electronic device 108 may or may not be connected to the network 114. In such a scenario, where the second electronic device 108 is not connected to the network 114, the second content viewer 10 is unable to stream media content from the digital platform server 110. In an alternative scenario, where the second electronic device 108 is connected to the network 114, the second content viewer 106 may not wish to stream media content to prevent data costs and the like. Now, if the first content viewer 102 has downloaded the media content desired by the second content viewer 106 using their corresponding App 116, there exists a scenario where the second content viewer 106 may request the first content viewer 102 to share the media content with them.
[0060] As may be understood, there exist various conventional solutions for sharing files using communication protocols such as Wi-Fi Direct and the like. However, such solutions suffer from various problems including these solutions that encourage data piracy since there exists no way to verify the eligibility of the second content viewer 106 to view the media content before the media content is shared or transmitted to the second content viewer 106.
[0061] To address this technical problem among other problems, the present disclosure provides various embodiments for securely sharing media content between distinct electronic devices associated with distinct content viewers.
[0062] In an embodiment, a system 150 may be implemented within the first electronic device 104. The system 150 is configured to perform one or more embodiments for securely sharing media content between distinct electronic devices associated with distinct content viewers. In an embodiment, the second electronic device 108 may detect the presence of the first electronic device 104 in the vicinity of the second electronic device 108 based, at least in part, on the one or more communication protocols. Herein, the second electronic device 108 may perform this detection in response to determining that the second electronic device 108 is not connected to an internet connection. In various non-limiting examples, the one or more communication protocols may include at least Wi-Fi direct, Bluetooth, ZigBee, Near Field Communication (NFC), or the like. Then, the second electronic device 108 is configured to generate and transmit a media content request to the first electronic device 104. In a non-limiting example, the media content request may include at least the media content identifier (ID) corresponding to media content desired by the second content viewer 106, account credentials of the second content viewer 106, the compatibility data corresponding to the second electronic device 108, and the like.
[0063] Upon receiving the media content request, the system 150 of the first electronic device 104 is configured to generate and transmit a content viewer authentication request for the second content viewer to the digital platform server 110 based, at least in part, on the account credentials of the second content viewer 106. It is noted that upon receiving the content viewer authentication request, the digital platform server 110 is configured to authenticate the second content viewer 106 and determine if the second content viewer 106 is entitled to download and view the requested media content. To this effect, the digital platform server 110 may be in operative communication with one or more remote servers, such as an authentication server and an entitlement server. The authentication server and the entitlement server are not shown in FIG. 1A for the sake of brevity. The authentication server may facilitate the authentication of the second content viewer’s account credentials using standard authentication mechanisms, which are not explained herein. The entitlement server may facilitate the determination of the viewer’s subscription type (i.e., whether the second content viewer 106 has subscribed to regular or premium content) and status (i.e., whether the subscription is still active or is it expired), which in turn may enable the determination of whether the second content viewer 106 is entitled to download/view/access the requested content or not. Additionally, the authentication server may facilitate the authentication of the first content viewer’s account credentials using standard authentication mechanisms and the entitlement server may facilitate the determination of the first content viewer 102 subscription type and status. This, in turn, may enable the determination of whether the first content viewer 102 is a valid user and if the first content viewer 102 is allowed to share the requested media content with the second content viewer 106 or not.
[0064] As may be understood, the authentication request generated may include one or more sub-authentication requests for checks to be done for the second content viewer 106. For example, one or more sub-authentication requests may include a subscription check for whether the second content viewer 106 is associated with a valid subscription to the digital provider platform. Another example of the one or more sub-authentication requests may include a device code check. The authentication request may include a device code to verify the authenticity of the second electronic device 108. The code is known only to the second electronic device 108 and the digital platform server 110. The digital platform server 110 can authenticate the device code and hence validate that the request is for the second electronic device 108. Another example of the one or more sub-authentication request may include a content entitlement check, that identifies the contract and a Service Level Agreement (SLA) that apply to the current situation. Service Level Management automatically verifies whether the requested service for the media content is within the specified service hours and the service budget. Based on the verification, the media content is served or shared thereafter. Upon successful authentication of the second content viewer 106 by the digital platform server 110, the digital platform server 110 may send an authentication successful message to the first electronic device 104. Alternatively, an authentication unsuccessful message is sent.
[0065] Upon receiving the authentication successful message, the system 150 of the first electronic device 104 is configured to determine whether the media content is stored in a storage (not shown) associated with the first electronic device 104 based, at least in part, on the media content ID. Further, upon determining that the media content is stored in the storage, the system 150 of the first electronic device 104 is configured to transmit the media content to the second electronic device 108 via one or more communication protocols. In some scenarios, the authentication successful message may include a DRM key, the DRM key may be configured based on the profile of the second content viewer 106 (or the credentials of the second content viewer 106). In another scenario, upon determining that the media content is stored in the storage, the system 150 of the first electronic device 104 is configured to transmit the media content, and the DRM key to the second electronic device 106 via one or more communication protocols. This DRM key may be used by the second electronic device 108 to decrypt the media content.
[0066] Alternatively, upon receiving the authentication unsuccessful message, the system 150 of the first electronic device 104 is configured to transmit an authentication failure message to the second electronic device 108. In one scenario, an authentication unsuccessful message may be received when the subscription of the second content viewer 106 is over, i.e., when the subscription period or tenure of the second content viewer 106 has expired. In such a case a Graphical User Interface (GUI) may be presented to the content viewer (i.e., the second content viewer 106) to request the second content viewer 106 to renew their subscription to watch their desired media content. The GUI may also display various subscription options or offers from which the second content viewer 106 may choose. In another scenario, the authentication unsuccessful message may be received if the credentials provided by the second content viewer’s second electronic device 108 are incorrect or if the second content viewer 106 is not entitled to watch the particular content as per their subscription type.
[0067] In another embodiment, upon determining that the media content is not stored in the storage, the system 150 of the first electronic device 104, requests the media content from the digital platform server 110 based, at least in part, on the media content ID and the compatibility data corresponding to the second electronic device 108. In response, the system 150 of the first electronic device 104 is configured to receive or download the media content from the digital platform server 110. It is noted that this media content is in a format compatible with the second electronic device 108 since the same was requested based on the compatibility data of the second electronic device 108. Upon completion of the download, the media content and the DRM key are transmitted to the second electronic device 108 via the one or more communication protocols.
[0068] To that end, various embodiments of the present invention provide systems and methods for securely sharing media content between distinct electronic devices associated with one or more content viewers. As would be apparent, since media content is only shared between different devices upon authenticating the entitlement of the receiver’s account credentials, therefore the risk of data piracy is averted. Further, since this exchange of media content takes place between the first electronic device 104 and the second electronic device 108, therefore bandwidth and high internet costs are avoided. Furthermore, since the same media content is not downloaded again from a Content Delivery Network (CDN) associated with the digital platform server 110, therefore, the bandwidth and processing resources at the CDN’s end are also conserved. Moreover, since compatible media content is shared with the second content viewer 106, the chances of playback failure are also avoided. An example system 150 of the first electronic device 104 for securely sharing media content between distinct electronic devices associated with one or more content viewers will be explained next with reference to FIG. 2.
[0069] FIG. 1B illustrates an exemplary representation of an environment 160 for securely sharing media content between distinct electronic devices associated with the same content viewer, in accordance with at least some embodiments of the present disclosure.
[0070] In an embodiment, the environment 160 includes various entities such as a first content viewer 102, a first electronic device 104 and a second electronic device 108 (both associated with the first content viewer 102), a digital platform server 110, a content library 112, a Content Delivery Network (CDN) 120 and the like coupled with each other via a network 114 such as the Internet, enabled by a network provider, also known as the Internet Service Provider (ISP). The first electronic device 104 may connect to the ISP network using a wired network, a wireless network, or a combination of wired and wireless networks. Some non-limiting examples of wired networks may include the Ethernet, the Local Area Network (LAN), the fiber-optic network, and the like. Some non-limiting examples of wireless networks may include Wireless LAN (WLAN), cellular networks, Bluetooth or ZigBee networks, and the like. It is noted that since the various entities as shown in FIG. 1B has already been explained with reference to FIG. 1A, the explanation for the same is not repeated again for the sake of brevity.
[0071] It is noted that in the particular scenario depicted by FIG. 1B, the first content viewer 102 is the same as the second content viewer 106. In other words, if the first content viewer 102 may choose to share media content between his own electronic devices, i.e., the first electronic device 104 and the second electronic device 108, then the first content viewer 102 may do so by following the various embodiments described herein with reference to FIG. 1A.
[0072] FIG. 2 is a block diagram 200 of a system 150 of a first electronic device (such as first electronic device 104) for securely sharing media content to a second electronic device (such as the second electronic device 108), in accordance with an embodiment of the present disclosure. In an embodiment, the system 150 is configured to securely share the media content between distinct electronic devices. The system 150 may be implemented as part of the first electronic device 104 connected to the network 114. In another embodiment, an instance of the system 150 may be implemented within the second electronic device 108 as well. In other words, the functionalities of the system 150 may be implemented by any electronic device connected with the network 114 of FIG. 1A. In some embodiments, the system 150 may be deployed within the second electronic device 108, or may be placed external to, and in operative communication with, the second electronic device 108. In some embodiments, the system 150 may be deployed within the digital platform server 110 or may be placed external to, and in operative communication with, the digital platform server 110.
[0073] The system 150 is depicted to include a processor module 202, a memory module 204, an input/output (I/O) module 212, a communication module 214, and a storage module 216 (hereinafter referred simply to as ‘storage 216’). The processor module 202 is further configured to include an authentication module 206, an ad management module 208, and a compatibility determination module 210, among other relevant modules. It is noted that although the system 150 is depicted to include the processor module 202, the memory module 204, the input/output (I/O) module 212, the communication module 214, and the storage 216, in some embodiments, the system 150 may include more or fewer components than those depicted herein. The various components of the system 150 may be implemented using hardware, software, firmware, or any combination thereof. It is noted that the various components of the system 150 are connected to each other via a bus 218 such as a communication bus.
[0074] In one embodiment, the processor module 202 may be embodied as a multi-core processor, a single-core processor, or a combination of one or more multi-core processors and one or more single-core processors. For example, the processor module 202 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In one embodiment, the memory module 204 is capable of storing machine-executable instructions, referred to herein as platform instructions 205. Further, the processor module 202 is capable of executing the platform instructions 205. In an embodiment, the processor module 202 may be configured to execute hard-coded functionality. In an embodiment, the processor module 202 is embodied as an executor of software instructions, wherein the instructions may specifically configure the processor module 202 to perform the algorithms and/or operations described herein when the instructions are executed. For example, in at least some embodiments, each component of the processor module 202 may be configured to execute instructions stored in the memory module 204 for realizing respective functionalities, as will be explained in further detail later.
[0075] The memory module 204 may be embodied as one or more non-volatile memory devices, one or more volatile memory devices, and/or a combination of one or more volatile memory devices and non-volatile memory devices. For example, the memory module 204 may be embodied as semiconductor memories, such as flash memory, mask ROM, PROM (programmable ROM), EPROM (erasable PROM), RAM (random access memory), etc., and the like.
[0076] In at least some embodiments, the memory module 204 stores logic and/or instructions, which may be used by modules of the processing module 202, such as the authentication module 206, the ad management module 208, the compatibility determination module 210, and the like. For example, the memory module 204 includes instructions for (1) authenticating the second content viewer 106 associated with the second electronic device 108 using a digital platform server 110 via the first electronic device 104 associated with the first content viewer 102, (2) upon successful authentication of the second content viewer 106 by the digital platform server 110 determine whether the media content is stored in a storage 216 associated with the first electronic device 104 and (3) transmitting, by the first electronic device 104, the media content to the second electronic device 108 via one or more communication protocol. It is understood that sharing the media content between the electronic devices associated with the content viewers reduces the overall bandwidth requirement for the content viewers and the content provider while also reducing the processing requirements.
[0077] In an embodiment, the I/O module 212 may include mechanisms configured to receive inputs from and provide outputs to an operator of the system 150. The term ‘operator of the system 150’ as used herein may refer to the first content viewer 102 who has a subscription to the Application (such as App 116) provided by the content provider. To enable the reception of inputs and provide outputs to the system 150, the I/O module 212 may include at least one input interface and/or at least one output interface. Examples of the input interface may include, but are not limited to, a keyboard, a mouse, a joystick, a keypad, a touch screen, soft keys, a microphone, and the like. Examples of the output interface may include, but are not limited to, a thin-film transistor (TFT) display, a display such as a light-emitting diode display, a liquid crystal display, an active-matrix organic light-emitting diode (AMOLED) display, a microphone, a speaker, a ringer, and the like. In an example embodiment, at least one module of the system 150 may include an I/O circuitry (not shown in FIG. 1A) configured to control at least some functions of one or more elements of the I/O module 212, such as, for example, a speaker, a microphone, a display, and/or the like. The processor module 202 of the system 150 and/or the I/O circuitry may be configured to control one or more functions of the elements of the I/O module 212 through computer program instructions, for example, software and/or firmware, stored on a memory, for example, the memory module 204, and/or the like, accessible to the processor module 202 of the system 150.
[0078] The communication module 214 is configured to facilitate communication between the system 150 and other components of the digital platform server 110 (not shown in FIG. 2). In some embodiments, the communication module 214 may be configured to facilitate communication between the system 150 and one or more remote entities over the network 114 (shown in FIG. 1A). For example, the communication module 214 is capable of facilitating communication with electronic devices of the content viewers, with ISPs, with edge servers associated with CDNs, with content ingestion servers, and the like. For instance, the communication module 214 enables the first electronic device 104 to communicate with the second electronic device 108, the digital platform server 110, and the like.
[0079] The storage module 216 or simply, storage 216 is any computer-operated hardware suitable for storing and/or retrieving data. In one embodiment, the storage module 216 is configured to store authentication-related rules, subscription-related rules, advertisement insertion rules, non-compatibility parameters for a plurality of content viewers, and the like. The storage module 216 may include multiple storage units such as hard drives and/or solid-state drives in a redundant array of inexpensive disks (RAID) configuration. In some embodiments, the storage module 216 may include a storage area network (SAN) and/or a network attached storage (NAS) system. In one embodiment, the storage module 216 may correspond to a distributed storage system, wherein individual databases are configured to store custom information, such as content viewer account related data. In another embodiment, the storage 216 is configured to store the media content files that may be downloaded from a CDN 120 (as shown in FIG. 1A) associated with the digital platform server 110.
[0080] In some embodiments, the processor module 202 may access the storage module 216 using a storage interface (not shown in FIG. 2). The storage interface may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and/or any component providing the processor module 202 with access to the storage module 216.
[0081] In at least one example embodiment, the communication module 214 is configured to receive streaming content or media content such as video content from a remote source, such as the CDN 120 associated with the content provider (or the digital platform server 110). It is noted that the CDN 120 may be configured to ingest the media content from multiple sources. The term ‘streaming content’ is explained hereinafter with reference to streaming of media content, but it is understood that the content may include any type of multimedia content, such as gaming content, audio content, audio-visual content, etc.
[0082] In an embodiment, the authentication module 206 includes suitable logic and is configured to generate a content viewer authentication request for the second content viewer 106 in response to receiving a media content request for requesting a media content from the second electronic device 108 associated with the second content viewer 106. In various examples, the media content request may include the media content identifier (ID) corresponding to the requested media content, account credentials of the second content viewer 106, and the compatibility data corresponding to the second electronic device 108. As may be understood, the media content ID is an identifier that can identify a particular media content from a plurality of media content. For instance, T20CRICINPK may be a media content ID corresponding to a particular T20 cricket match between the Indian and Pakistan teams. The account credentials of the second content viewer 106 may include encoded information related to the account of the second content viewer 106 with the content provider or the subscription provider. This encoded information may be encoded such that it can only be decoded by the digital platform server 110 while authenticating the identity of the second content viewer 106. In various examples, the encoded information may include user ID, user password, subscription type, subscription status, and the like.
[0083] The compatibility data corresponding to the second electronic device 108 refers to a dataset that identifies the exact media playback compatibility of the second electronic device 108. For instance, the compatibility data may include information related to various non-compatibility parameters of the second electronic device 108 such as a supported screen resolution, a supported frame rate, a supported encoding format, a supported refresh rate, supported bandwidth, supported network parameters, supported audio encoding formats, supported video encoding formats, supported accessories (such as a support for Augmented Reality (AR)/ Virtual Reality (VR)), supported codec, and the like.
[0084] In another embodiment, the authentication module 206 is configured to transmit the content viewer authentication request for the second content viewer 106 to a digital platform server 110. In other words, the authentication module 206 may be in operative communication with one or more remote servers, such as the digital platform server 110, the authentication server, or the entitlement server. It is noted that the digital platform server 110, the authentication server, and the entitlement server are not shown in FIG. 2. In various scenarios, the authentication server and the entitlement server may be a part of the digital platform server 110 or at least communicatively coupled to the same.
[0085] Upon receiving the content viewer authentication request including the account credentials of the second content viewer 106, the authentication server may facilitate the authentication of viewer account credentials using standard authentication mechanisms. It is noted that the same has been explained earlier, therefore the explanation is not repeated for the sake of brevity. The entitlement server may facilitate the determination of the viewer’s subscription type (i.e., whether the user has subscribed to regular or premium content) and status (i.e., whether the subscription is still active or expired), which in turn may enable the determination of whether the second content viewer 106 is entitled to download/view/access the requested content or not from the first content viewer 102. Additionally, the authentication server may facilitate the authentication of viewer account credentials related to the first content viewer 102 and the second content viewer 106 using standard authentication mechanisms and the entitlement server may facilitate the determination of the second content viewer’s subscription type and status, which in turn may enable the determination of whether the first content viewer 102 is a valid user and can send the media content to the second content viewer 106. In an additional embodiment, the entitlement server may facilitate the determination of the second content viewer 106 subscription type and status, which in turn may enable the determination of whether the second content viewer 106 is a valid user and can receive the media content from the first content viewer 102.
[0086] Additionally, upon successful authentication of the second content viewer 106 by the digital platform server 110, the digital platform server 110 may generate and transmit an authentication successful message to system 150 of the first electronic device 104. Alternatively, upon unsuccessful authentication, the digital platform server 110 may generate and transmit an authentication unsuccessful message to the first electronic device 104.
[0087] In an embodiment, upon receiving the authentication successful message, the authentication module 206 is configured to determine whether the media content is stored in a storage 216 associated with the first electronic device based, at least in part, on the media content ID. In particular, the authentication module 206 may perform a lookup operation or search the file library associated with the downloaded media content in the storage 216 to find the requested media content. Further, upon determining that the media content is stored in the storage 216, the authentication module 206 may be configured to transmit the requested media content to the second electronic device 108 via one or more communication protocols.
[0088] In an alternate embodiment, upon receiving the authentication unsuccessful message, the authentication module 206 is configured to transmit an authentication failure message to the second electronic device 108. In response to receiving this authentication failure message, the second content viewer 106 may provide alternate or correct account credentials so that the authentication process may be performed again.
[0089] In another embodiment, if it is determined that the media content is not stored in the storage 216, the authentication module 206 may be configured to request the media content from the digital platform server 110 based, at least in part, on the media content ID and the compatibility data corresponding to the second electronic device 108. As may be understood, the file compatibility of the first electronic device 104 and the second electronic device 108 may not necessarily be the same therefore, it becomes crucial to ensure that a media content file with the correct format or compatibility is shared with the second electronic device 108, such that the same can be played by the second electronic device 108 without any hassle or failures. To that end, requesting for the media content in a compatible format using the compatibility data will ensure that the second electronic device 108 will be able to play with media content without any problems. Now, in response to the request, the authentication module 206 may receive or download the media content from the digital platform server 110. It is noted that this media content being downloaded will be in a format that is compatible with the second electronic device 108. In another embodiment, the authentication module 206 may be communicatively coupled with the Ad management module 208 and the compatibility determination module 210.
[0090] In an embodiment, the compatibility determination module 210 may include suitable logic and is configured to generate a compatibility profile for the second electronic device based, at least in part, on the compatibility data corresponding to the second electronic device 108. In another embodiment, the compatibility determination module 210 may determine whether the media content is compatible with the second electronic device based, at least in part, on the compatibility profile. In various examples, the compatibility profile may include information related to the second electronic device 108 such as the supported audio formats, supported video formats, supported codecs, bitrates, supported resolution, etc. For example, the second electronic device 108 may support a higher resolution of 1080p if the network quality is excellent as well as a lower resolution, such as 360p or 480p if the network condition is poor. The compatibility profile also includes information related to audio formats supported by the second electronic device 108, for example, the audio formats supported by the second electronic device 108 may include MP3 (MPEG-1 Audio Layer-3), WAV (Waveform Audio File Format), AAC (Advanced Audio Coding) and the like. Similarly, the compatibility profile may also include information related to video formats supported by the second electronic device 108, for example, the video formats supported by the second electronic device 108may include MP4 (MPED-V AVC), WebM (Web Media File), MOV (QuickTime multimedia file) and the like.
[0091] In a first scenario, if the compatibility determination module 210 determines that the media content is compatible, the compatibility determination module 210 is configured to transmit, the media content (without altering the same) to the second electronic device 108 via the one or more communication protocols.
[0092] In a second scenario, if the compatibility determination module 210 determines that the media content is not compatible, the compatibility determination module 210 is configured to determine one or more non-compatibility parameters for the media content based, at least in part, on the compatibility data and the media content stored in the storage 216. Then, the compatibility determination module 210 is configured to generate an adapted media content based, at least in part, on the one or more non-compatibility parameters and the media content. Further, the compatibility determination module 210 is configured to transmit the adapted media content to the second electronic device 108 via the one or more communication protocols. As may be understood, there might exist scenarios, where the first electronic device 104 is unable to generate adapted media content due to a lack of processing resources or it may not be authorized to do the same due to various rules and regulations of the content provider. This incapability of the first electronic device 104 leads to a third scenario.
[0093] In the third scenario, if the compatibility determination module 210 determines that the media content is not compatible, the compatibility determination module 210 is configured to generate and transmit a compatible media content request to the digital platform server 110 based, at least in part, on the media content ID and the compatibility data. In response to this request, the digital platform server 110 may transmit the compatible media content to the compatibility determination module 210. Upon downloading the compatible media content, the compatibility determination module 210 is configured to transmit or share the compatible media content to the second electronic device 108 via one or more communication protocols.
[0094] Similarly, there exists another scenario (a fourth scenario), where the media content in the storage 216 is not incompatible with the second electronic device 108, however, only a certain portion of the media content is incompatible. For instance, although the screen resolution of the media content is supported for the second electronic device 108, the audio codec might not be supported. In this fourth scenario, upon determining that a media content part is not compatible, the compatibility determination module 210 is configured to determine one or more incompatible parameters of the media content based, at least in part, on analyzing the media content and the compatibility data. Further, the compatibility determination module 210 is configured to generate and transmit an incompatible media portion request to the digital platform server 110 based, at least in part, on the media content ID and the one or more incompatible parameters. Upon receiving this incompatible media portion request, the digital platform server 110 is configured to transmit one or more compatible media content portions to the compatibility determination module 210. Upon receiving the one or more compatible media content portions, the compatibility determination module 210 is configured to generate an ensemble media content based, at least in part, on the one or more compatible media content portions, the media content, and the one or more incompatible parameters. Further, the compatibility determination module 210 is configured to transmit the ensemble media content to the second electronic device 108 via the one or more communication protocols.
[0095] In yet another scenario (a fifth scenario), although the media content in the storage 216 may be incompatible, the first electronic device 104 may be able to adapt a portion of this incompatible media content and request the digital platform server 110 for the remaining portions which it cannot adapt. For instance, the incompatible media content may have incompatible screen resolution and incompatible audio codec, in this case, the incompatible resolution may be adapted on the first electronic device 104, and the incompatible codec may be requested and downloaded from the digital platform server 110. In this scenario, the embodiments of the third and fourth scenarios may be combined by the compatibility determination module 210 to generate an adapted ensemble media content and the same may be transmitted to the second electronic device 108. As may be noted this approach applies the best of both worlds and the load on the digital platform server 110 and the first electronic device 104 may be distributed, thus achieving distributed processing which is more efficient and time-saving.
[0096] In yet another embodiment, for any subsequent requests for any media content received from the electronic device, the compatibility determination module 210 may consider the compatibility profile generated earlier for the second electronic device 108. The compatibility profile is used for determining, whether the media content is compatible and in a format supported by the second electronic device 108. Therefore, there is no need to re-generate the compatibility profile for an electronic device as it was previously generated and stored in the memory module 204 corresponding to the system 150.
[0097] As may be understood, sometimes there exists a need to add one or more second media content to an original content due to one or more reasons such as the subscription tier of the content viewer, government regulations in a particular region, enrichment of content viewing experience, and the like. These one or more reasons are content viewer specific in most cases or at least content viewer cohort-specific in nature. The content viewer cohort is a group of content viewers depicting similar behavior patterns, demographics, regions, and the like. In order to cater to these diverse content viewers or content viewer cohorts, upon receiving the content viewer authentication request for the second content viewer 106, the digital platform server 110 may determine that one or more second media content has to be served to the second electronic device 108 based, at least in part, on the account credentials of the second content viewer 106. Upon this determination, the digital platform server 110 may transmit one or more second media content to the system 150 of the first electronic device 104. As may be understood, the one or more second media content may correspond to targeted Advertisements, targeted enriched media content such as animations or info-graphics, and the like. This one or more second media content is determined by the digital platform server 110 based, at least in part, on the user profile of the second content viewer 106 (determined using the second content viewer’s account credentials). For instance, if the second content viewer 106 is a low-tier subscriber, then he may be served with one or more Ads corresponding to his interests (determined based on his preferences from the user profile or his viewer cohort’s preferences). In another example, if the second content viewer 106 is a premium-tier subscriber, then he may be served with one or more enriched content such as info-graphics regarding the media content he wishes to watch. In yet another example, if it is determined that the second content viewer 106 is a new user with a default guest account or a basic tier subscription account, then the digital platform server 110 may serve the second content viewer 106 with one or more clips of the requested media content to entice the second content viewer 106 to switch to an advance tier subscription account.
[0098] In an embodiment, the Ad Management module 208 includes suitable logic and is configured to receive or download one or more second media content from the digital platform server 110. Then, the Ad management module 208 is configured to transmit one or more second media content to the second electronic device 108 via the one or more communication protocols. As may be understood, upon receiving the one or more second media content, the second media device will display the media content along with the one or more second media content on a display associated with the second electronic device 108. In particular, the App 118 will be configured to interlace the requested media content and the one or more media content with each other during playback of the requested media content on the second electronic device 108. In other words, the application 118 associated with the second electronic device 108 is configured to merge the media content and the one or more second media content generated for the second content viewer 106. The merged media content is then displayed on the display screen of the electronic device such as the second electronic device 108.
[0099] FIG. 3 illustrates exemplary Graphical User Interfaces (GUIs) 300 that may be displayed to a first content viewer such as first content viewer 302 and a second content viewer such as the second content viewer 304 while securely transmitting media content between them, in accordance with an embodiment of the present disclosure. It is noted that herein, the first content viewer 302 is identical to the first content viewer 102 and the second content viewer 304 is identical to the second content viewer 106 of FIG. 1A.
[00100] As depicted, the first content viewer 302 is associated with the first electronic device 308 with application 306 installed on it, and the second content viewer 304 is associated with the second electronic device 312 with application 310 installed. In one embodiment, the second content viewer 304 using the second electronic device is not connected to the network such as the network 114 (shown in FIG. 1A). In a scenario, where the second content viewer 304 is unable to connect with the network such as internet, the second content viewer 304 may request the first content viewer 302 who is connected with the network for the desired media content. At first, the second content viewer 304 may use an option to request media content (see, 314) to generate and transmit a media content request to the first electronic device 308 using one or more communication protocols described earlier.
[00101] Upon receiving the media content request, the first electronic device 308 may generate and transmit a content viewer authentication request for the second content viewer 304 to a digital platform server 110 based, at least in part, on the account credentials of the second content viewer 304 included in the media content request. It is noted that since this process takes place in the background, the same has not been shown. Upon successful authentication of the second content viewer 304 by the digital platform server 110, the first electronic device 308 may determine whether the media content is stored in a storage such as storage 216 associated with the first electronic device 308 or not based, at least in part, on the media content ID. If the media content is present on the storage 216 then, a share media content button (see, 316) may be depicted on the UI of the application 306. When the first content viewer 302 selects or clicks on the share media content button 316, the media content may be transmitted over to the second electronic device 312 via the one or more communication protocols.
[00102] In an alternative scenario, if the media content is not present on the storage 216 then, a download media content option (see, 318) may be depicted on the UI of the application 306. As can be seen, the download media content option 318 provides the first content viewer 302 with the ability to download media content 318 on behalf of the second electronic device 312. Upon clicking option 318, the download of the media content from a CDN such as CDN 120 associated with the digital platform server 110. Once, the download is completed, the share media content option 316 may reappear so that the first content viewer 302 may again select this option to transmit the media content to the second electronic device 312.
[00103] For instance, if Media content A is requested by the second content viewer 304, the same will be downloaded by the first electronic device 308. In another instance, if during the authentication process, the digital platform server 110 determines that one or more second media content have to be served to the second electronic device 312 based, at least in part, on the account credentials of the second content viewer 304. Then, the first electronic device 308 may download a second media content such as Media content B and the same may be transmitted alongside Media content A.
[00104] It is noted that upon receiving both media content A and media content B, the second electronic device 312 will be configured to interlace both the received media content and play both of them. In a non-limiting example, the application 306 and 310 may both be capable of playing media content within the application environment without leaving the application 306 or 310.
[00105] FIG. 4 is a sequence flow diagram 400 depicting a process for authenticating the second content viewer (such as the second content viewer 106) and securely transmitting media content by a first content viewer (such as a first content viewer 102), in accordance with an embodiment of the present disclosure. The sequence of operations of the sequence flow diagram 400 may not be necessarily executed in the same order as they are presented. Further, one or more operations may be grouped and performed in the form of a single step, or one operation may have several sub-steps that may be performed in parallel or in a sequential manner. It is to be noted that to explain the sequence flow diagram 400, references may be made to elements described in FIGS. 1-3. It is understood that the various steps of the sequence flow have already been explained with reference to FIGS. 1 and 2, therefore an explanation for the same is not repeated herein for the sake of brevity. The sequence flow begins at step 408.
[00106] At step 408, the second content viewer 106 may use an App such as App 118 installed on the second electronic device 402 to request the first content viewer 102 for a media content. More specifically, the second electronic device 402 may generate and transmit a media content request to the first electronic device 404 associated with the first content viewer 102. In various examples, the media content request may include at least a media content identifier (ID), account credentials of the second content viewer 106, and the compatibility data corresponding to the second electronic device 402 along with the media content request.
[00107] At step 410, the first electronic device 404 generates and transmits an authentication request message associated with the authentication of the second electronic device 402 to the digital platform server 406.
[00108] At 412, the digital platform server 406 sends an authentication response message to the first electronic device 404 corresponding to the authentication process of the second electronic device 402.
[00109] As may be understood, if at step 414A, the first electronic device 404 receives an authentication successful message then, at step 414B the first electronic device 404 configures the required media content for further transmission to the second electronic device 402.
[00110] Alternatively, if at step 416A, the first electronic device 404 receives an authentication unsuccessful message then, at step 416B the first electronic device 404 generates the authentication failure message for further transmission to the second electronic device 402.
[00111] Finally, at step 418, upon successful authentication of the second electronic device 402, the first electronic device 404 transmits the media content response to the second electronic device 402 via one or more communication protocols. In an embodiment, the media content response may at least include the media content.
[00112] FIG. 5 is a sequence flow diagram 500 depicting various scenarios for securely transmitting media content by a first electronic device 504 to a second electronic device 502, in accordance with an embodiment of the present disclosure. The sequence of operations of the sequence flow diagram 500 may not be necessarily executed in the same order as they are presented. Further, one or more operations may be grouped and performed in the form of a single step, or one operation may have several sub-steps that may be performed in parallel or in a sequential manner. It is to be noted that to explain the sequence flow diagram 500, references may be made to elements described in FIGS. 1-4. It is understood that the various steps of the sequence flow have already been explained with reference to FIGS. 1 and 2, therefore an explanation for the same is not repeated herein for the sake of brevity. The sequence flow begins at step 508.
[00113] At step 508, the second content viewer 106 may use an App such as App 118 installed on the second electronic device 502 to request the first content viewer 102 for a media content. More specifically, the second electronic device 502 may generate and transmit a media content request to the first electronic device 504 associated with the first content viewer 102. In various examples, the media content request may include at least a media content identifier (ID), account credentials of the second content viewer 106, and the compatibility data corresponding to the second electronic device 502 along with the media content request.
[00114] At step 510, the first electronic device 504 generates a compatibility profile for the second electronic device 502 based, at least in part, on the compatibility data corresponding to the second electronic device 502.
[00115] At 512, the first electronic device 504 determines whether the media content is compatible with the second electronic device 502 based, at least in part, on the compatibility profile.
[00116] At 514(1), the first electronic device 504 determines that the media content is compatible with the second electronic device. In case the media content is compatible, the first electronic device 504 transmits the media content to the second electronic device 502 at step 514(2).
[00117] As may be understood, if at step 516, the first electronic device 504 determines that the media content is not compatible with the second electronic device 502. In a first scenario, if the media content is not compatible, the first electronic device 504 either determines non-compatibility parameters at step 516(1). Further, at step 516(2) after determining non-compatibility parameters the first electronic device 504 generates and transmits the adapted media content to the second electronic device 502 based on the determined non-compatibility parameters.
[00118] In a second scenario at step 518(1), if the media content is not compatible, the first electronic device 504 can send the compatible media request to the digital platform server 506.
[00119] At step 518(2), the digital platform server 506 sends the compatible media content to the first electronic device 504, and further, at step 518(3) the first electronic device 504 transmits the compatible media content to the second electronic device 502.
[00120] As may be understood, if at step 520(1), the first electronic device 504 determines that the media content is not compatible with the second electronic device 502. The first electronic device at step 520(2) determines the incompatible parameters.
[00121] At step 520(3), the first electronic device 504 generates and transmits the incompatible media portions request to the digital platform server 506.
[00122] At step 520(4), the digital platform server 506 sends the incompatible media portions to the first electronic device 504.
[00123] At step 522, the first electronic device 504 generates and transmits an ensemble media content to the second electronic device 502.
[00124] FIG. 6 illustrates a flow diagram of a method 600 for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with an embodiment of the present disclosure. The various steps and/or operations of the flow diagram, and combinations of steps/operations in the flow diagram, may be implemented by, for example, hardware, firmware, a processor, circuitry and/or by a system such as the system 150 explained with reference to FIGS. 1 and 2 and/or by a different device associated with the execution of software that includes one or more computer program instructions. The method 600 starts at operation 602.
[00125] At the operation 602, the method 600 includes receiving, by a first electronic device such as the first electronic device 104, a media content request for requesting a media content from a second electronic device such as the second electronic device 108 associated with a second content viewer 106. Herein, the second electronic device 108 is present in the vicinity of the first electronic device 104 and the first electronic device 104 is associated with the first content viewer 102. In various non-limiting examples, the media content request includes the media content identifier (ID), account credentials of the second content viewer 106, and the compatibility data corresponding to the second electronic device 108.
[00126] At the operation 604, the method 600 includes generating and transmitting, by the first electronic device 104, a content viewer authentication request for the second content viewer 106 to a digital platform server 110 based, at least in part, on the account credentials of the second content viewer 106.
[00127] At the operation 606, the method 600 includes upon successful authentication of the second content viewer 106 by the digital platform server 110, determining, by the first electronic device 104, whether the media content is stored in a storage associated with the first electronic device 104 based, at least in part, on the media content ID
[00128] At the operation 608, the method 600 includes upon determining that the media content is stored in the storage, transmitting, by the first electronic device 104, the media content to the second electronic device 108 via one or more communication protocols.
[00129] FIG. 7 illustrates a flow diagram of a method 700 for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with an embodiment of the present disclosure. The various steps and/or operations of the flow diagram, and combinations of steps/operations in the flow diagram, may be implemented by, for example, hardware, firmware, a processor, circuitry and/or by a system such as the system 150 explained with reference to FIGS. 1 and 2 and/or by a different device associated with the execution of software that includes one or more computer program instructions. The method 700 starts at operation 702.
[00130] At the operation 702, the method 700 includes detecting, by a second electronic device such as second electronic device 108, a presence of a first electronic device such as first electronic device 104 associated with the first content viewer such as first content viewer 102 in the vicinity of the second electronic device 108 based, at least in part, on the one or more communication protocols. In a non-limiting example, the one or more communication protocols can be a short-range protocol or a long-range protocol, or any other future communication protocol.
[00131] At the operation 704, the method 700 includes generating, by the second electronic device 108, a media content request for requesting a media content from the first electronic device 104, the media content request including the media content identifier (ID), account credentials of the second content viewer associated with the second electronic device, and the compatibility data corresponding to the second electronic device.
[00132] At the operation 706, the method 700 includes in response to the media content request, receiving, by the second electronic device 108, the media content from the first electronic device 104 via one or more communication protocols.
[00133] FIG. 8 illustrates a flow diagram of a method 800 for securely sharing media content between distinct electronic devices associated with one or more content viewers, in accordance with an embodiment of the present disclosure. The various steps and/or operations of the flow diagram, and combinations of steps/operations in the flow diagram, may be implemented by, for example, hardware, firmware, a processor, circuitry and/or by a system such as the system 150 explained with reference to FIGS. 1 and 2 and/or by a different device associated with the execution of software that includes one or more computer program instructions. The method 800 starts at operation 802.
[00134] At the operation 802, the method 800 includes receiving, by a first electronic device such a first electronic device 104, a media content request for requesting a media content from a second electronic device such as the second electronic device 108 associated with a second content viewer such as second content viewer 106. Herein, the second electronic device 108 is present in the vicinity of the first electronic device 104 and the first electronic device 104 is associated with a first content viewer 102. The media content request may include the media content identifier (ID), account credentials of the second content viewer, and the compatibility data corresponding to the second electronic device 108.
[00135] At the operation 804, the method 800 includes generating and transmitting, by the first electronic device 104, a content viewer authentication request for the second content viewer to a digital platform server such as digital platform server 110 based, at least in part, on the account credentials of the second content viewer 108.
[00136] At the operation 806, the method 800 includes receiving, by the first electronic device 104, a successful authentication message including a Digital Rights Management (DRM) key from the digital platform server 110.
[00137] At the operation 808, the method 800 includes upon successful authentication of the second content viewer 106 by the digital platform server 110, determining, by the first electronic device 104, whether the media content is stored in a storage such as storage 216 associated with the first electronic device 104 based, at least in part, on the media content ID.
[00138] At the operation 810, the method 800 includes upon determining that the media content is stored in the storage 216, transmitting, by the first electronic device 104, the media content and the DRM key to the second electronic device 108 via one or more communication protocols.
[00139] FIG. 9 is a simplified block diagram of a Content Delivery Network (CDN) 900, in accordance with various embodiments of the present disclosure. As may be understood, the digital platform server 110 may share a manifest file including a plurality of URLs corresponding to the media content requested by the second content viewer 106 from the first content viewer 102. It is noted that this requested media content or any other media content may be downloaded from a Content Delivery Network (CDN) 900 in the region of the first content viewer 102. As may be understood, the term CDN 900 refers to a distributed group of servers that are connected via a network (such as Network 924, which is explained later). The CDN 900 provides quick delivery of media content to various content viewers subscribed to the content provider platform. The CDN 900 includes a plurality of interconnected servers that may interchangeably be referred to as a plurality of content repository servers or simply as content repository server, as a whole. The CDN includes an origin CDN server 922, a public CDN server 902, a private CDN server 904, a Telecommunication CDN server (referred to hereinafter as ‘Telco CDN server’) 906, an Internet Service Provider CDN server (referred to hereinafter as ‘ISP CDN server’) 908, and a CDN point of presence server (referred to hereinafter as ‘CDN POP server’) 910 each coupled to, and in communication with (and/or with access to) the network 924. It is noted that CDN POP may also be interchangeably referred to as ‘sub-CDNs’, ‘subnet CDN’, ‘surrogate CDN’, and ‘CDN sub-box’. Further, two or more components of the CDN 900 may be embodied in one single component, and/or one component may be configured using multiple sub-components to achieve the desired functionalities. Some components of the CDN 900 may be configured using hardware elements, software elements, firmware elements, and/or a combination thereof.
[00140] The network 924 may include, without limitation, a light fidelity (Li-Fi) network, the local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a satellite network, the Internet, the fiber-optic network, a coaxial cable network, an infrared (IR) network, a radio frequency (RF) network, a virtual network, and/or another suitable public and/or private network capable of supporting communication among two or more of the parts illustrated in FIG. 9, or any combination thereof. Various servers within the CDN 900 may connect to the network 924 using various wired and wireless communication protocols, such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), 2nd Generation (2G), 3rd Generation (3G), 4th Generation (4G), 5th Generation (5G) communication protocols, Long Term Evolution (LTE) communication protocols, future communication protocols or any combination thereof. For example, the network 924 may include multiple different networks, such as a private network made accessible by the origin CDN server 922 and a public network (e.g., the Internet, etc.) through which the various servers may communicate.
[00141] The origin CDN server 922 stores the media content accessed/downloaded from the streaming content provider and/or content producers. The origin CDN server 922 serves the media content to one or more cache servers which are either located in the vicinity of the content viewer/subscriber or connected to another cache server located in the content viewer’s vicinity. In various examples, cache servers include the public CDN server 902, the private CDN server 904, the Telco CDN server 906, the ISP CDN server 908, the CDN POP server 910, and the like.
[00142] The origin CDN server 922 includes a processing system 912, a memory 914, a database 916, and a communication interface 918. The processing system 912 is configured to extract programming instructions from the memory 914 to perform various functions of the CDN 900. In one example, the processing instructions include instructions for ingesting media content via the communication interface 918 from a remote database 920 which may further include one or more data repositories/databases (not shown) to an internal database such as the database 916. The remote database 920 is associated with the streaming content provider and/or content producer. In another example, the media content stored within the database 916 can be served to one or more cache servers via the communication interface 918 over the network 924.
[00143] In some examples, the public CDN server 902 is associated with a public CDN provider which hosts media content among other types of data for different content providers within the same server. The private CDN server 904 is associated with a private CDN provider (such as the streaming content provider) which hosts media content for serving the needs of its subscribers. The Telco CDN server 906 is associated with telecommunication service providers which provide content hosting services to various entities such as the streaming content platform. The ISP CDN server 908 is associated with internet service providers which provide content hosting services to various entities such as the streaming content platform. The CDN POP server 910 caches content and allows the electronic devices of the content viewers to stream the content. It is noted that the various cache servers download and cache media content from the origin CDN server 922 and further allow a valid user or content viewer to stream the media content.
[00144] It is noted that various embodiments of the present disclosure, the various functions of the digital platform server 110 can be implemented using any one or more components of the CDN 900 such as the origin CDN server 922 and/or one or more cache servers individually and/or in combination with each together. Alternatively, the system 150 can be communicably coupled with the CDN 900 to perform the various embodiments or methods described by the present disclosure.
[00145] FIG. 10 shows a simplified block diagram of an electronic device 1000 capable of implementing the various embodiments of the present disclosure. The electronic device 1000 may be an example of the either the first electronic device 104 or the second electronic device 108 shown in FIG.1. It should be understood that the electronic device 1000 as illustrated and hereinafter described is merely illustrative of one type of device and should not be taken to limit the scope of the embodiments. As such, it should be appreciated that at least some of the components described below in connection with the electronic device 1000 may be optional and thus in an example embodiment may include more, less or different components than those described in connection with the example embodiment of the FIG. 10. As such, among other examples, the electronic device 1000 could be any of an electronic device or may be embodied in any of the electronic devices, for example, cellular phones, tablet computers, laptops, mobile computers, personal digital assistants (PDAs), mobile televisions, mobile digital assistants, or any combination of the aforementioned, and other types of communication or multimedia devices.
[00146] The illustrated electronic device 1000 includes a controller or a processor 1002 (e.g., a signal processor, microprocessor, ASIC, or other control and processing logic circuitry) for performing such tasks as signal coding, data processing, image processing, input/output processing, power control, and/or other functions. An operating system 1004 controls the allocation and usage of the components of the electronic device 1000 and provides support for one or more programs such as a location tracking application that implements one or more of the innovative features described herein. The applications 1006 may include common mobile computing applications (e.g., telephony applications, email applications, calendars, contact managers, web browsers, messaging applications such as USSD messaging or SMS messaging, or SIM Tool Kit (STK) application) or any other computing application. The applications 1006 may include application 116 or application 118 as well.
[00147] The illustrated electronic device 1000 includes one or more memory components, for example, a non-removable memory 1008 and/or a removable memory 1010. The non-removable memory 1008 and/or the removable memory 1010 may be collectively known as a storage device/module in an embodiment. The non-removable memory 1008 can include RAM, ROM, flash memory, a hard disk, or other well-known memory storage technologies. The removable memory 1010 can include flash memory, smart cards, or a Subscriber Identity Module (SIM). The one or more memory components can be used for storing data and/or code for running the operating system 1004. The electronic device 1000 may further include a user identity module (UIM) 1012. The UIM 1012 may be a memory device having a processor built in. The UIM 1012 may include, for example, a subscriber identity module (SIM), a universal integrated circuit card (UICC), a universal subscriber identity module (USIM), a removable user identity module (R-UIM), or any other smart card. The UIM 1012 typically stores information elements related to a mobile subscriber. The UIM 1012 in the form of the SIM card is well known in Global System for Mobile (GSM) communication systems, Code Division Multiple Access (CDMA) systems, or with third-generation (3G) wireless communication protocols such as Universal Mobile Telecommunications System (UMTS), CDMA9000, wideband CDMA (WCDMA) and time division-synchronous CDMA (TD-SCDMA), or with fourth-generation (4G) wireless communication protocols such as LTE (Long-Term Evolution).
[00148] The electronic device 1000 can support one or more input devices 1020 and one or more output devices 1030. Examples of the input devices 1020 may include but are not limited to, a touch screen / a display screen 1022 (e.g., capable of capturing finger tap inputs, finger gesture inputs, multi-finger tap inputs, multi-finger gesture inputs, or keystroke inputs from a virtual keyboard or keypad), a microphone 1024 (e.g., capable of capturing voice input), a camera module 1026 (e.g., capable of capturing still picture images and/or video images) and a physical keyboard 1028. Examples of the output devices 1030 may include, but are not limited to, a speaker 1032 and a display 1034. Other possible output devices can include piezoelectric or other haptic output devices. Some devices can serve more than one input/output function. For example, the touch screen 1022 and the display 1034 can be combined into a single input/output device.
[00149] A wireless modem 1040 can be coupled to one or more antennas (not shown in FIG. 10) and can support two-way communications between the processor 1002 and external devices, as is well understood in the art. The wireless modem 1040 is shown generically and can include, for example, a cellular modem 1042 for communicating at long range with the mobile communication network, a Wi-Fi compatible modem 1044 for communicating at short range with an external Bluetooth-equipped device, or a local wireless data network or router, and/or a Bluetooth-compatible modem 1046. The wireless modem 1040 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the electronic device 1000 and a public switched telephone network (PSTN).
[00150] The electronic device 1000 can further include one or more input/output ports 1050, a power supply 1052, one or more sensors 1054 for example, an accelerometer, a gyroscope, a compass, a global positioning system sensor (for providing location details) or an infrared proximity sensor for detecting the orientation or motion of the electronic device 1000, a transceiver 1056 (for wirelessly transmitting analog or digital signals) and/or a physical connector 1060, which can be a USB port, IEEE 1294 (FireWire) port, and/or RS-232 port. The illustrated components are not required or all-inclusive, as any of the components shown can be deleted and other components can be added.
[00151] Although the invention has been described with reference to specific exemplary embodiments, it is noted that various modifications and changes may be made to these embodiments without departing from the broad spirit and scope of the invention. For example, the various operations, blocks, etc. described herein may be enabled and operated using hardware circuitry (for example, complementary metal oxide semiconductor (CMOS) based logic circuitry), firmware, software, and/or any combination of hardware, firmware, and/or software (for example, embodied in a machine-readable medium). For example, the apparatuses and methods may be embodied using transistors, logic gates, and electrical circuits (for example, application-specific integrated circuit (ASIC) circuitry and/or in Digital Signal Processor (DSP) circuitry).
[00152] The present disclosure is described above with reference to block diagrams and flowchart illustrations of the method and system embodying the present disclosure. It will be understood that various blocks of the block diagram and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, may be implemented by a set of computer program instructions. This set of instructions may be loaded onto a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to cause a device, such that the set of instructions when executed on the computer or other programmable data processing apparatus creates a means for implementing the functions specified in the flowchart block or blocks. Although other means for implementing the functions including various combinations of hardware, firmware, and software as described herein may also be employed.
[00153] Various embodiments described above may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on at least one memory, at least one processor, an apparatus or, a non-transitory computer program product. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any non-transitory medium or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. A computer-readable medium may include a computer-readable storage medium that may be any medium or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
[00154] The foregoing descriptions of specific embodiments of the present disclosure have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the present disclosure to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the present disclosure and its practical application, to thereby enable others skilled in the art to best utilize the present disclosure and various embodiments with various modifications as are suited to the particular use contemplated. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient, but such are intended to cover the application and\or implementation without departing from the spirit or scope of the claims.
, Claims:1. A computer-implemented method comprising:
receiving, by a first electronic device, a media content request for requesting a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of the first electronic device and the first electronic device is associated with a first content viewer, the media content request comprising a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device;
generating and transmitting, by the first electronic device, a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer;
upon successful authentication of the second content viewer by the digital platform server, determining, by the first electronic device, whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID; and
upon determining that the media content is stored in the storage, transmitting, by the first electronic device, the media content to the second electronic device via one or more communication protocols.
2. The computer-implemented method as claimed in claim 1, wherein the first content viewer and the second content viewer are the same.
3. The computer-implemented method as claimed in claim 1, further comprising:
upon determining that the media content is not stored in the storage, requesting, by the first electronic device, the media content from the digital platform server based, at least in part, on the media content ID and the compatibility data corresponding to the second electronic device;
receiving, by the first electronic device, the media content from the digital platform server, the media content being in a format compatible with the second electronic device; and
transmitting, by the first electronic device, the media content to the second electronic device via one or more communication protocols.
4. The computer-implemented method as claimed in claim 1, further comprising:
upon unsuccessful authentication of the second content viewer by the digital platform server, transmitting, by the first electronic device, an authentication failure message to the second electronic device.
5. The computer-implemented method as claimed in claim 1, further comprising:
generating, by the first electronic device, a compatibility profile for the second electronic device based, at least in part, on the compatibility data corresponding to the second electronic device;
determining, by the first electronic device, whether the media content is compatible with the second electronic device based, at least in part, on the compatibility profile; and
upon determining that the media content is compatible, transmitting, by the first electronic device, the media content to the second electronic device via the one or more communication protocols.
6. The computer-implemented method as claimed in claim 5, wherein upon receiving one or more subsequent media content requests, determining, by the first electronic device, whether the media content is compatible with the second electronic device based, at least in part, on the generated compatibility profile.
7. The computer-implemented method as claimed in claim 5, further comprising:
upon determining that the media content is not compatible, determining, by the first electronic device, one or more non-compatibility parameters for the media content based, at least in part, on the compatibility data and the media content stored in the storage;
generating, by the first electronic device, an adapted media content based, at least in part, on the one or more non-compatibility parameters and the media content; and
transmitting, by the first electronic device, the adapted media content to the second electronic device via the one or more communication protocols.
8. The computer-implemented method as claimed in claim 5, further comprising:
upon determining that the media content is not compatible, generating and transmitting, by the first electronic device, a compatible media content request to the digital platform server based, at least in part, on the media content ID and the compatibility data;
in response to the compatible media content request, receiving, by the first electronic device, a compatible media content from the digital platform server; and
transmitting, by the first electronic device, the compatible media content to the second electronic device via one or more communication protocols.
9. The computer-implemented method as claimed in claim 5, further comprising:
upon determining that a media content part is not compatible, determining, by the first device, one or more incompatible parameters of the media content based, at least in part, on analysing the media content and the compatibility data; generating and transmitting, by the first device, an incompatible media portion request to the digital platform server based, at least in part, on the media content ID and the one or more incompatible parameters;
in response to the incompatible media portion request, receiving, by the first device, one or more compatible media content portions from the digital platform server;
generating, by the first device, an ensemble media content based, at least in part, on the one or more compatible media content portions, the media content, and the one or more incompatible parameters; and
transmitting, by the first device, the ensemble media content to the second electronic device via the one or more communication protocols.
10. The computer-implemented method as claimed in claim 1, further comprising:
receiving, by the first electronic device, one or more second media content from the digital platform server, wherein the digital platform server is configured to transmit the one or more second media content to the first electronic device based, at least in part, on determining that one or more second media content have to be served to the second electronic device based, at least in part, on the account credentials of the second content viewer; and
transmitting, by the first electronic device, one or more second media content to the second electronic device via one or more communication protocols, wherein the second electronic device is configured to display the media content along with the one or more second media content on a display associated with the second electronic device.
11. A computer-implemented method comprising:
detecting, by a second electronic device, a presence of a first electronic device associated with a first content viewer in the vicinity of the second electronic device based, at least in part, on the one or more communication protocols;
generating, by the second electronic device, a media content request for requesting a media content from the first electronic device, the media content request comprising the media content identifier (ID), account credentials of a second content viewer associated with the second electronic device, and the compatibility data corresponding to the second electronic device; and in response to the media content request, receiving, by the second electronic device, the media content from the first electronic device via one or more communication protocols.
12. A system, the system comprising:
a memory for storing instructions; and
a processor configured to execute the instructions and thereby cause the system, at least in part, to:
receive a media content request for a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of a first electronic device and the first electronic device is associated with a first content viewer, the media content request comprising a media content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device;
generate and transmit a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer;
upon successful authentication of the second content viewer by the digital platform server, determine whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID; and
upon determining that the media content is stored in the storage, transmit the media content to the second electronic device via one or more communication protocols.
13. The system as claimed in claim 12, wherein the system is implemented as part of the first electronic device.
14. The system as claimed in claim 12, further comprising:
upon determining that the media content is not stored in the storage, requesting the media content from the digital platform server based, at least in part, on the media content ID and the compatibility data corresponding to the second electronic device;
receive the media content from the digital platform server, the media content being in a format compatible with the second electronic device; and
transmit the media content to the second electronic device via the one or more communication protocols.
15. The system as claimed in claim 12, further comprising:
upon unsuccessful authentication of the second content viewer by the digital platform server, transmitting an authentication failure message to the second electronic device.
16. The system as claimed in claim 12, further comprising:
generate a compatibility profile for the second electronic device based, at least in part, on the compatibility data corresponding to the second electronic device;
determine whether the media content is compatible with the second electronic device based, at least in part, on the compatibility profile; and
upon determining that the media content is compatible, transmit the media content to the second electronic device via one or more communication protocols.
17. The system as claimed in claim 16, wherein upon receiving one or more subsequent media content requests, determine whether the media content is compatible with the second electronic device based, at least in part, on the generated compatibility profile.
18. The system as claimed in claim 16, further comprising:
upon determining that the media content is not compatible, determine one or more non-compatibility parameters for the media content based, at least in part, on the compatibility data and the media content stored in the storage;
generate an adapted media content based, at least in part, on the one or more non-compatibility parameters and the media content; and
transmit the adapted media content to the second electronic device via one or more communication protocols.
19. The system as claimed in claim 16, further comprising:
upon determining that the media content is not compatible, generate and transmit a compatible media content request to the digital platform server based, at least in part, on the media content ID and the compatibility data;
in response to the compatible media content request, receive a compatible media content from the digital platform server; and
transmit the compatible media content to the second electronic device via the one or more communication protocols.
20. The system as claimed in claim 16, further comprising:
upon determining that a media content part is not compatible, determine one or more incompatible parameters of the media content based, at least in part, on analysing the media content and the compatibility data;
generate and transmit an incompatible media portion request to the digital platform server based, at least in part, on the media content ID and the one or more incompatible parameters;
in response to the incompatible media portion request, receive one or more compatible media content portions from the digital platform server;
generate an ensemble media content based, at least in part, on the one or more compatible media content portions, the media content, and the one or more incompatible parameters ; and
transmit the ensemble media content to the second electronic device via the one or more communication protocols.
21. A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by at least a processor of a system, cause the system to perform a method comprising:
receiving a media content request for requesting a media content from a second electronic device associated with a second content viewer, wherein the second electronic device is present in the vicinity of a first electronic device and the first electronic device is associated with a first content viewer, the media content request comprising amedia content identifier (ID), account credentials of the second content viewer, and compatibility data corresponding to the second electronic device;
generating and transmitting a content viewer authentication request for the second content viewer to a digital platform server based, at least in part, on the account credentials of the second content viewer;
receiving a successful authentication message comprising a Digital Rights Management (DRM) key from the digital platform server;
upon successful authentication of the second content viewer by the digital platform server, determining whether the media content is stored in a storage associated with the first electronic device based, at least in part, on the media content ID; and
upon determining that the media content is stored in the storage, transmitting the media content and the DRM key to the second electronic device via one or more communication protocols.
| # | Name | Date |
|---|---|---|
| 1 | 202321057983-STATEMENT OF UNDERTAKING (FORM 3) [29-08-2023(online)].pdf | 2023-08-29 |
| 2 | 202321057983-REQUEST FOR EXAMINATION (FORM-18) [29-08-2023(online)].pdf | 2023-08-29 |
| 3 | 202321057983-POWER OF AUTHORITY [29-08-2023(online)].pdf | 2023-08-29 |
| 4 | 202321057983-FORM 18 [29-08-2023(online)].pdf | 2023-08-29 |
| 5 | 202321057983-FORM 1 [29-08-2023(online)].pdf | 2023-08-29 |
| 6 | 202321057983-FIGURE OF ABSTRACT [29-08-2023(online)].pdf | 2023-08-29 |
| 7 | 202321057983-DRAWINGS [29-08-2023(online)].pdf | 2023-08-29 |
| 8 | 202321057983-DECLARATION OF INVENTORSHIP (FORM 5) [29-08-2023(online)].pdf | 2023-08-29 |
| 9 | 202321057983-COMPLETE SPECIFICATION [29-08-2023(online)].pdf | 2023-08-29 |
| 10 | Abstract.1.jpg | 2024-01-18 |
| 11 | 202321057983-Proof of Right [14-02-2024(online)].pdf | 2024-02-14 |
| 12 | 202321057983-PA [09-10-2024(online)].pdf | 2024-10-09 |
| 13 | 202321057983-ASSIGNMENT DOCUMENTS [09-10-2024(online)].pdf | 2024-10-09 |
| 14 | 202321057983-8(i)-Substitution-Change Of Applicant - Form 6 [09-10-2024(online)].pdf | 2024-10-09 |
| 15 | 202321057983-RELEVANT DOCUMENTS [13-10-2025(online)].pdf | 2025-10-13 |
| 16 | 202321057983-POA [13-10-2025(online)].pdf | 2025-10-13 |
| 17 | 202321057983-MARKED COPIES OF AMENDEMENTS [13-10-2025(online)].pdf | 2025-10-13 |
| 18 | 202321057983-FORM 13 [13-10-2025(online)].pdf | 2025-10-13 |
| 19 | 202321057983-AMENDED DOCUMENTS [13-10-2025(online)].pdf | 2025-10-13 |