Sign In to Follow Application
View All Documents & Correspondence

System And Method For Presenting And Controlling Media Content On Devices With Dynamic Synchronization

Abstract: A system and a method for presenting media content on guest devices with dynamic synchronization is disclosed. The method (500) includes presenting the media content to the guest devices (108a-108d) and concurrently on a host device (106). Further, the method (500) includes receiving a control action from the host device (106), corresponding to the media content. Further, the method (500) includes sending a synchronization prompt to each of the guest devices (108a-108d) indicating a request to synchronize the presented media content based on the control action performed by the host device (106). Furthermore, the method (500) includes receiving an acceptance response and a rejection response from the guest devices. Furthermore, the method (500) includes sending an instruction for executing the control action on the presented media content on the guest devices (108a-108d).

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
28 September 2023
Publication Number
14/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

Comviva Technologies Limited
5, 7 & 8 Floor, Capital Cyberscape, Golf Course Ext Rd, Sector 59, Gurugram – 122102, Haryana, India

Inventors

1. JAIN, Manish
43, Vasudha Enclave, Pitampura, Delhi – 110034, India
2. GOYAL, Gaurav
T8-001, CHD Avenue 71, Sector-71, Gurgaon-122101, India

Specification

Description:FIELD OF THE INVENTION

[0001] The present invention generally relates to presenting media content and more particularly relates to a system and a method for presenting and controlling media content on devices with dynamic synchronization.
BACKGROUND

[0002] A watch party, also known as a viewing party, is a social event or gathering where a group of people comes together to collectively watch a movie, TV show, sporting event, or any other form of visual entertainment. This event may take place in various settings, including homes, cinemas, community centres, or even online platforms.
[0003] With the advent of online streaming platforms and social media, the concept of the watch party has expanded into the digital realm. Virtual or online watch parties enable a host device to stream media content on guests/participant’s user devices to watch and enjoy the media content simultaneously, even if they are geographically separated. Participants use dedicated software or applications that synchronize the playback of the media content for everyone involved. This allows friends, family, or fans to virtually gather, watch, and react to the media content in real-time.
[0004] However, the current watch party experience may present a challenge regarding inclusivity for all participants. Specifically, the actions taken by the host, such as skipping a song during the viewing, are replicated for all participants, regardless of their personal viewing preferences. This lack of flexibility diminishes the personalized inclusivity within the watch party.
[0005] Consider a scenario during the watch party where the host, for various reasons, decides to skip a song within the media content being streamed. In the current setup, this action is imposed uniformly on all participants, irrespective of whether a particular participant would have enjoyed or preferred to watch the song. This lack of consideration for individual preferences diminishes the overall experience for participants, essentially stripping them of the ability to tailor the viewing experience to their liking.
[0006] The existing technologies have failed to address this critical aspect of inclusivity within watch parties. None of the current techniques sufficiently integrate the participant’s viewing preferences into the watch party experience. The fundamental principle that must underpin the watch party is that, even though it is a communal event, each participant should retain the ability to control the playback of the media content in alignment with their individual preferences.
[0007] To enhance the watch party experience and ensure inclusivity for all participants, a novel approach is required. The expected solution should empower each participant to have control over their viewing experience within the collective event. Whether it's the choice to skip certain parts, replay a scene, adjust audio levels, or select preferred subtitles, every participant should have the liberty to personalize their interaction with the media content.
[0008] By developing a system that caters to individual preferences within a watch party, we can significantly elevate the overall experience. Additionally, it may be required to implement a personalized control interface for each participant, allowing them to tailor their experience while being synchronized with the rest of the watch party, would be instrumental in achieving the desired level of inclusivity.
[0009] In conclusion, to revolutionize the watch party experience and foster a sense of personalized inclusivity, it is important to devise a technical solution that integrates individual preferences seamlessly. By doing so, we can enhance the collective enjoyment of media content while respecting the diverse tastes and desires of all participants in the watch party.

SUMMARY

[0010] This summary is provided to introduce a selection of concepts, in a simplified format, that are further described in the detailed description of the invention. This summary is neither intended to identify key or essential inventive concepts of the invention and nor is it intended for determining the scope of the invention.
[0011] According to one embodiment of the present disclosure, a method for presenting a media content on a plurality of guest devices with dynamic synchronization is disclosed. The method includes presenting, by a server, the media content to the plurality of guest devices, wherein the plurality of guest devices indicates a user equipment adapted to playback the presented media content concurrently with a host device different from the plurality of guest devices. Further, the method includes receiving, by the server, a control action from the host device, corresponding to the media content while presenting the media content on each of the plurality of guest devices, wherein the control action indicates altering a playback of the presented media content by the host device. Further, the method includes sending, by the server, a synchronization prompt to each of the plurality of guest devices, wherein the synchronization prompt indicates a request to synchronize the presented media content based on the control action performed by the host device. Furthermore, the method includes receiving, by the server, at least one of an acceptance response from a first subset of the plurality of guest devices and a rejection response from a second subset of the plurality of guest devices. Furthermore, the method includes sending by the server, an instruction indicative of executing the control action on the presented media content on the first subset, while presenting the media content on the second subset without sending the instruction to execute the control action corresponding to the second subset.
[0012] According to one embodiment of the present disclosure, a system for presenting a media content on a plurality of guest devices with dynamic synchronization is disclosed. The system includes a server with a memory and at least one processor in communication with the memory. The at least one processor is configured to present the media content to the plurality of guest devices, wherein the plurality of guest devices indicates a user equipment adapted to playback the presented media content concurrently with a host device different from the plurality of guest devices. Further, the at least one processor is configured to receive a control action from the host device, corresponding to the media content while presenting the media content on each of the plurality of guest devices, wherein the control action indicates altering a playback of the presented media content by the host device. Further, the at least one processor is configured to send a synchronization prompt to each of the plurality of guest devices, wherein the synchronization prompt indicates a request to synchronize the presented media content based on the control action performed by the host device. Furthermore, the at least one processor is configured to receive at least one of an acceptance response from a first subset of the plurality of guest devices and a rejection response from a second subset of the plurality of guest devices. Furthermore, the at least one processor is configured to send an instruction indicative of executing the control action on the presented media content on the first subset, while presenting the media content on the second subset without sending the instruction to execute the control action corresponding to the second subset.
[0013] To further clarify the advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
[0015] Figure 1 illustrates a schematic block diagram depicting an environment for the implementation of a system for presenting a media content on guest devices with dynamic synchronization, according to an embodiment of the present invention;
[0016] Figure 2 illustrates another schematic detailed block diagram of modules and components of the system, according to an embodiment of the present invention;
[0017] Figure 3a-3c illustrates a process flow of a method for presenting the media content on the guest devices with dynamic synchronization, according to an embodiment of the present invention;
[0018] Figure 4 illustrates the use case for presenting and controlling the media content on the guest devices with dynamic synchronization; and
[0019] Figure 5 illustrates a flow chart of a method for presenting a media content on a plurality of guest devices with dynamic synchronization, according to an embodiment of the present invention.
[0020] Further, skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and may not have necessarily been drawn to scale. For example, the flow charts illustrate the method in terms of the most prominent steps involved to help to improve understanding of aspects of the present invention. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

DETAILED DESCRIPTION

[0021] For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the various embodiments and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
[0022] It will be understood by those skilled in the art that the foregoing general description and the following detailed description are explanatory of the invention and are not intended to be restrictive thereof.
[0023] Reference throughout this specification to “an aspect,” “another aspect” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0024] The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures or components proceeded by “comprises... a” does not, without more constraints, preclude the existence of other devices or other sub-systems or other elements or other structures or other components or additional devices or additional sub-systems or additional elements or additional structures or additional components.
[0025] The present disclosure aims to provide an integrated platform or an application which may be in communication with a plurality of guest devices or referred to as the guest devices within the scope of the invention and a host device in communication with a server. The server is configured to concurrently playback a media content selected by the host device, on the guest devices. Thereafter, the server transmits a synchronization prompt to the guest devices upon receiving a control action of altering a playback of the media content by the host device. Subsequently, the server generates an instruction to execute the control action on the media content via an application, for the guest devices accepting the synchronization prompt.
[0026] Figure 1 illustrates a schematic block diagram depicting an environment for the implementation of a system 100 for presenting the media content 110 on the guest devices 108a-108d with dynamic synchronization, according to an embodiment of the present invention.
[0027] In an embodiment, referring to Figure 1, the system 100 may be implemented in a server 102 in communication with the host device 106 and the plurality of guest devices 108a-108d referred to as the guest devices 108a-108d for the sake of brevity. Although only four guest devices 108a-108d are depicted in Figure 1, a person skilled in the art may appreciate that more than four devices may be present in the system 100.
[0028] In an embodiment, referring to Figure 1, the host device 106 and the guest devices 108a-108d may include an application installed in each of the host device 106 and the guest devices 108a-108d respectively. The application runs on an operating system (OS) of the host device 106 and the guest devices 108a-108d respectively, that generally defines a first active user environment. The application may be indicative of a software package that performs a specific function for an end user. The OS typically presents or displays the application through a graphical user interface (“GUI”) of the OS. In a non-limiting example, the host device 106 and the guest devices 108a-108d may be a tablet PC, a Personal Digital Assistant (PDA), a smartphone, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, or any other machine controllable through the wireless-network and capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. The application may be adapted to connect the host device 106 and the guest devices 108a-108d to the server 102 via a wireless communication network 104. Further, the application installed in the host device 106 and the guest devices 108a-108d may be adapted to control a presentation of the media content 110 with dynamic synchronization.
[0029] In an embodiment, the server 102, the host device 106, and the guest devices 108a-108d may be in communication with each other via the wireless communication network 104. In an example, the wireless communication network 104 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof. The wireless network as appeared throughout the present disclosure may be a zig-bee network, a cellular telephone network such as 4G, 5G, an 802.11, 802.16, 802.20, 802.1Q, Wi-Fi, or a WiMax network. Further, the network may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
[0030] In an embodiment, the server 102 may be a cloud IoT Core server which may be in communication with the host device 106 and the guest devices 108a-108d respectively. The server 102 while in communication with multiple user devices in the environment may receive a request from the host device 106. In an example, the request may indicate an intention to present the media content 110 to the guest devices 108a-108d concurrently via the application, thus organizing a watch party. Thereafter, the server 102 may identify the host device 106 among the multiple user devices in communication and may either receive selection of the media content 110 already present at the server 102 (memory) or alternatively, the host device 106 may upload the media content 110 at the server 102 (memory). In a non-limiting example, the media content 110 may be a video, one or more images, a slideshow, and an audio. Further, the server 102 in communication via the network 104 may present an access corresponding to the media content 110 to each of the guest devices 108a-108d via the application. The presentation of the media content 110 by the server 102 to each of the guest devices 108a-108d may include at least one of, providing an option to locally store the media content 110 and/or stream the media content 110.
[0031] In one example, the server 102 may present or provide an option of locally storing the media content 110 in each of the guest devices 108a-108d, such that even without an internet connection, the media content 110 being locally stored may be played via the application.
[0032] In an alternate example the server 102 may present streaming of the media content 110 in real-time based on a requirement selected by each of the guest devices 108a-108d. The streaming of the media content 110 may require an active internet connection. Additionally, the server 102 may be configured to send a prompt message to the guest devices 108a-108d in response to the streaming selection. The prompt message may indicate downloading the media content 110 at the local storage of the guest device. Therefore, the challenges of low-latency, low-bandwidth, less inclusivity during the watch party may be overcome with locally stored media content. Furthermore, the server 102 while in communication with the host device 106 and the guest devices 108a-108d, may be configured to determine a playback of the media content 110 on the host device 106 and the guest devices 108a-108d such that the watch party is initiated.
[0033] In an embodiment, the host device 106 may be indicative of user equipment (UE) or a user device, adapted to either select or provide the media content 110 to the server 102. The host device 106 may also be configured to playback the media content 110 while the server 102 may provide the access to the media content 110 through streaming or local storage, concurrently on the guest devices 108a-108d. In an example, the host device 106 may be a tablet PC, a Personal Digital Assistant (PDA), a smartphone, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, or any other machine controllable through the wireless-network and capable of executing a set of instructions.
[0034] In an example, the host device 106 may provide the media content 110 to server 102 such that the media content 110 is distributed among the guest devices 108a-108d. In the example, the host device 106 may either upload the media content 110 locally stored in the host device 106 to the server 102 for further presentation to the guest devices 108a-108d. Alternatively, the host device 106 may select the media content 110 pre-stored in the server 102 for further presentation to the guest devices 108a-108d. Thus, the host device 106 may represent organizer of the watch party among the guest devices 108a-108d, for simultaneous viewing of the media content 110.
[0035] Further, the host device 106 may be configured to perform a control action corresponding to the media content 110 while the server 102 presents the corresponding media content 110 on each of the guest devices 108a-108d either via local storage or streaming as explained in above paragraphs. The control action may indicate altering a playback of the presented media content 110 by the host device 106. In an example, where the server 102 presents the media content 110 simultaneously on the guest devices 108a-108d while also being viewed concurrently on the host device 106, the host device 106 may perform the control action corresponding to the media content 110. In the example, the control action may include altering the playback of the media content 110 such as a fast-forwarding or a rewinding by a predetermined time interval, or a playback speed, or an image quality change. In the example, the host device 106 performs the control action locally on the UE associated with the host device 106. Thereafter, the server 102 in communication with the host device 106, may receive the control action and consequently generates instructions to the application associated with the guest devices 108a-108d to replicate execution of the control action at each of the guest devices 108a-108d. Thus, the playback of the media content 110 on the guest devices 108a-108d is also altered similar to the host device 106.
[0036] In an embodiment, the guest devices 108a-108d may indicate the UEs adapted to receive the media content 110 from the server 102 (as selected or provided by the host device 106) and playback the media content 110. Thus, the guest devices 108a-108d may represent participants in the watch party, experiencing a simultaneous viewing experience organized by the host device 106, while in communication with the server 102 via the network 104. Further, the guest devices 108a-108d may be configured to receive the media content 106. In an example, the guest devices 108a-108d may determine whether to locally store the media content 106 or receive the media content 110 in as real-time streaming from the server 102. Consequently, the guest devices 108a-108d may be configured to either stream or playback the locally stored media content 110 via the application.
[0037] In an embodiment, as the host device 106 performs the control action corresponding to the presented media content 110, the server 102 may be configured to receive the control action and consequently sends a synchronization prompt to each of the guest devices 108a-108d. In an example, the synchronization prompt indicates a request to synchronize the presented media content 110 based on the control action performed by the host device 106. Thereafter, each of the guest devices 108a-18d may be configured to either send an acceptance response or a rejection response to the server 102 upon receiving the synchronization prompt. In an example, the server 102 may be configured to generate instructions to the application associated with the guest devices 108a-108d. The instructions may indicate executing the control action via the application, wherein the control action is similar to the host device 106, at each of the first subset of guest devices 108a-108d, sending the acceptance response. Thus, the application installed at each of the guest devices 108a-108d may execute the control action based on the instructions and send an acknowledgement response to the server 102 confirming the synchronization of the media content 110 with the host device 106.
[0038] Alternatively, the server 102 may be configured to present the media content 110 without sending the instructions corresponding to a second subset of guest devices 108a-108d sending the rejection response. Additionally, the server 102 may be configured to present the media content 110 without sending the instructions if the second subset of guest devices 108a-108d does not perform any activity corresponding to the synchronization prompt received from the server 102, thereafter a pre-defined time. Thus, the media content 110 played on the second subset of guest devices 108a-108d may be asynchronous with the host device 106.
[0039] In an embodiment, the server 102 may be configured to receive a subsequent control action indicating another alternation in the playback of the media content 110. Thus, the server 102 may be configured to send a subsequent synchronization prompt to the first subset of the guest devices 108a-108d. The server 102 may be configured to send a notification in response to the subsequent control action, to the second subset of the guest devices 108a-108d. In an example, the notification may indicate that the presented media content 110 on the second subset of the guest devices 108a-108d is asynchronous with the media content 110 played on the host device 106.
[0040] In an embodiment, the server 102 may be further configured to receive a synchronization request from the second subset of the guest devices 108a-108d. In an example, the media content 110 played on the second subset of the guest devices 108a-108d may be asynchronous with the media content 110 played on the host device 106. Therefore, the second subset of the guest devices 108a-108d may initiate the synchronization request indicating an intention to synchronize the media content 110 with the host device 106. Thereafter, the server 102 may send the instructions for executing the control action via the application on the presented media content 110 corresponding to the second subset of the guest devices 108a-108d, based on the synchronization demand. Consequently, the presented media content 110 on the second subset of the guest device 108a-108d may be synchronized with a current playback of the media content 110 on the host device 106. Thus, the present disclosure provides techniques for presenting the media content 110 on the guest devices 108a-108d with dynamic synchronization.
[0041] In an embodiment, the server 102 may include the modules/engines/units implemented with an AI module that may include a plurality of neural network layers. Examples of neural networks include but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), and Restricted Boltzmann Machine (RBM). The learning technique is a method for training a predetermined target device (for example, a robot, or the unified server) using a plurality of learning data to cause, allow, or control the target device to make a determination or prediction. Examples of learning techniques include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. At least one of a plurality of CNN, DNN, RNN, RMB models and the like may be implemented to thereby achieve execution of the present subject matter’s mechanism through an AI model. A function associated with AI may be performed through the non-volatile memory, the volatile memory, and the processor. The processor may include one or a plurality of processors. At this time, one or a plurality of processors may be a general-purpose processor, such as a central processing unit (CPU), an application processor (AP), or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processing unit (VPU), and/or an AI-dedicated processor such as a neural processing unit (NPU). One or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or artificial intelligence (AI) model stored in the non-volatile memory and the volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning.
[0042] Figure 2 illustrates another schematic detailed block diagram of modules and components of the system 100, according to an embodiment of the present invention.
[0043] In an embodiment, referring to Figures 1 and 2, the server 102 may include, but is not limited to, a processor 202, memory 204, modules 206, and data 208. The modules 206 and the memory 204 may be coupled to the processor 202.
[0044] The processor 202 can be a single processing unit or several units, all of which could include multiple computing units. The processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 202 is adapted to fetch and execute computer-readable instructions and data stored in the memory 204. At this time, one or a plurality of processors may be a general purpose processor, such as a central processing unit (CPU), an application processor (AP), or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processing unit (VPU), and/or an AI-dedicated processor such as a neural processing unit (NPU). One or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or artificial intelligence (AI) model stored in the non-volatile memory and the volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning. A detailed explanation of each of the server 102 as shown in figures 1 and 2 will be explained in detail in the forthcoming paragraphs. Further, the working of the system 100 will be explained with respect to figures 1 and 2. The reference numerals are kept the same in the disclosure wherever applicable for ease of explanation.
[0045] The memory 204 may include any non-transitory computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic random-access memory (DRAM), and/or non-volatile memory, such as read-only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an example, the memory 204 may store a synchronization preference of each of the guest devices 108a-108d based on the acceptance or the rejection of the synchronization prompt.
[0046] The modules 206, amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement data types. The modules 206 may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulates signals based on operational instructions.
[0047] Further, the modules 206 can be implemented in hardware, instructions executed by a processing unit, or by a combination thereof. The processing unit can comprise a computer, a processor, a state machine, a logic array, or any other suitable devices capable of processing instructions. The processing unit can be a general-purpose processor which executes instructions to cause the general-purpose processor to perform the required tasks or, the processing unit can be dedicated to performing the required functions. In another embodiment of the present disclosure, the processor 202 via the modules 206 is configured to execute machine-readable instructions (software) which perform the working of the system 100 within the scope of the present invention as described in forthcoming paragraphs.
[0048] As illustrated in Figure 2, the server 102 may communicate via the network 104, with the application 114. The application 114 may be installed on both the host device 106 and the guest devices 108a-108d. The application 114 among other functions may be configured to receive communication from the server 102 such as instructions to execute the control action, synchronization prompt, notifications, and alike.
[0049] Figure 3a-3c illustrates a process flow of a method 300 for presenting the media content on the guest devices 108a-108d with dynamic synchronization, according to an embodiment of the present invention.
[0050] In an embodiment, at step 302, the host device 106 may be configured to provide the media content 110 to the server 102. In an example, the host device 106 may either select the media content 110 pre-stored in the memory 204 of the server 102 or upload/transmit the media content 110 to the server 102.
[0051] At step 304, the server 102 in communication with the guest devices 108a-108d, may be configured to present the media content 110 as provided by the host device 106, to each of the guest devices 108a-108d for the watch party experience. As explained in above paragraphs, the server 102 may be configured to present the media content 110 to the guest devices 108a-108d either for local storing or alternatively may stream the media device 110 based on selection preference of the guest devices 108a-108d.
[0052] At step 306, the server 102 may receive the control action from the host device 106 indicating alteration in the playback of the presented media content 110. Consequently, the server 102 upon receiving the control action may be intended to synchronize the presented media content 110 on each of the guest devices 108a-108d such that the watch party experience is not impaired.
[0053] Consequently, at step 308, the server 102 may be configured to send the synchronization prompt to each of the guest devices 108a-108d. In an example, the synchronization prompt may indicate the request or an invite from the server 102 to the guest devices 108a-108d for synchronizing the presented media content with that of the host device 106. In the example, the synchronization may be achieved when the control action performed by the host device 106 is replicated at the guest devices 108a-108d via the application. In the example, the server 102 may generate instructions to the application installed on each of the guest devices 108a-108d for executing the control action similar to (replicating) the host device 106.
[0054] At step 310, the server 102 may receive the rejection response to the synchronization prompt from the guest device 108a. In an example, the rejection response may indicate that the guest device 108a may not intend to synchronize the presented media content 110 with that of the host device 106. Thus, the media content 110 played on the guest device 108a may be asynchronous in the watch party. In an example, the rejection response may be a result of the guest device 108a declining the synchronization prompt received from the server 102. In an alternate example, if the guest device 108a does not perform any activity corresponding to the synchronization prompt received from the server 102, thereafter a pre-defined time, the server 102 may receive the rejection response to the corresponding synchronization prompt.
[0055] At step 312, the server 102 may receive the acceptance response corresponding to the synchronization prompt from the guest devices 108b, 108c, and 108d. In an example, the acceptance response may indicate that the guest devices 108b, 108c, and 108d may intend to synchronize the presented media content 110 with that of the host device 106. Thus, the media content 110 played on the guest devices 108b, 108c, and 108d may be synchronous in the watch party.
[0056] At step 314, the server 102 may send a report to the host device 106, indicating an identification of the guest devices 108a-108d and the corresponding acceptance request or rejection request such that the host device 106 may be informed that the guest device 108a is asynchronous in the watch party.
[0057] Further, at step 316a, the server 102 may be configured to send the instruction to the application associated with the guest devices 108b, 108c, and 108d being the first subset providing the acceptance response. In an example, the instruction includes executing replication of the control action (as initiated by the host device 106) on each of the guest devices 108b, 108c, and 108d via the application 110. Consequently, the media content 110 played on the guest devices 108b, 108c, and 108d synchronizes with the media content 110 played on the host device 106. In an alternative embodiment, the server 102 may be configured to continue presenting the media content 110 corresponding to the guest device 108a (providing the rejection response) without sending the instruction for executing the control action.
[0058] Further, at step 316b, the server 102 may be configured to receive the acknowledgement response from the guest devices 108b, 108c, and 108d being the first subset, thus confirming the synchronization of the media content 110 with the host device 106.
[0059] At step 318, the server 102 may be configured to receive the subsequent control action from the host device 106.
[0060] At step 320, the server 102 may be configured to send the subsequent synchronization prompt to the guest devices 108b, 108c, and 108d in response to the subsequent control action from the host device 106.
[0061] At step 322, the server 102 may be configured to send the notification to the guest device 108a in response to the subsequent control action from the host device 106. The notification indicates that the presented media content 110 on the guest device 108a is asynchronous with the media content 110 played on the host device 106. In an example, the server 102 may be configured to store the synchronization preference of each of the guest devices 108a-108d based on the acceptance response or the rejection response to the synchronization prompt. Thus, instead of sending the subsequent synchronization prompt, the server 102 sends the notification to guest device 108a (the rejection response) indicating asynchronous playback of the media content 110.
[0062] Further, at step 324, the server 102 may be configured to receive the synchronization request from the guest device 108a currently being asynchronous with the media content played on the host device 106. In an example, the synchronization request indicates the intent of the guest device 108a for synchronization with the current playback of the media content 110 at the host device 106.
[0063] Thus, at step 326a, the server 102 may be configured to send the instruction to the application 114 installed at the guest device 108a to execute the control action on the media content 110 played at the guest device 108a such that the presented media content 110 of the guest device 108a synchronizes with the current playback of the media content 110 on the host device 106. Accordingly, the dynamic synchronization of the media content 110 presented on the guest devices 108a-108d by the server 102 is achieved.
[0064] Further, at step 326b, the server 102 may be configured to receive the acknowledgement response from the guest device 108 being the second subset thus confirming the synchronization of the media content 110 with the host device 106.
[0065] Figure 4 illustrates the use case for presenting and controlling the media content 100 on the guest devices 108a-108b with dynamic synchronization.
[0066] As illustrated, the server 102 presents the media content 110 on the host device 106 and concurrently on the guest devices 108a-108b. The server 102, receives the control action, for instance, dragging a progress bar 401 for fast-forwarding of the media content 110 by the host device 106. As illustrated, the progress bar 401 associated with the media content 110 played at the host device 106 indicates a timestamp 402 of the media content 110. The timestamp 402 indicates an instance in the timeline of the media content 110, for instance, the timestamp 402 on the progress bar 401 displays the time in minutes and seconds (e.g., 17:10) to signify that the viewer is 17 minutes and 10 seconds into the media content 110.
[0067] Now, consequently, the server 102 sends the synchronization prompt to each of the guest devices 108a-108b for synchronizing the playback of the presented media content 110 with that of the host device 106 i.e., the progress bar in each of the guest devices 108a-108b be dragged to the timestamp 402 of the host device 106.
[0068] In one instance, the guest device 108a sends the rejection response corresponding to the synchronization prompt, to the server 102. As illustrated, the timestamp 404a on the guest device 108a indicates that the viewer is 15 minutes and 02 seconds into the media content 110. Thus, the guest device 108a is asynchronous with the current playback of the media content 110 at the host device 106.
[0069] In another instance, the guest device 108b sends the acceptance response corresponding to the synchronization prompt, to the server 102. As illustrated, the timestamp 404b on the guest device 108b indicates that the viewer is 17 minutes and 10 seconds into the media content 110. Thus, the guest device 108a is in synchronization with the current playback of the media content 110 at the host device 106.
[0070] Further, the guest device 108a may send the synchronization request to the server 102 such that the server 102 may instruct the application 114 installed at the guest device 108a to execute the fast-forwarding at the progress bar on the guest device 108a to synchronize the presented media content 110 with that of the host device 106. Thus, achieving dynamic synchronization while presenting the media content 110 to the guest devices 108a-108b.
[0071] Figure 5 illustrates a flow chart of a method 500 for presenting the media content 110 on the guest devices 108a-108d with dynamic synchronization, according to an embodiment of the present invention. The method 500 may be a computer-implemented method executed, for example, by the server 102 and the modules 206. For the sake of brevity, constructional and operational features of the system 100 that are already explained in the description of Figure 1, Figure 2, Figure 3, and Figure 4 are not explained in detail in the description of Figure 5.
[0072] At step 502, the method 500 may include presenting, by the server 102, the media content 110 to the guest devices 108a-108d. In an example, the guest devices 108a-108d indicate the UE adapted to playback the presented media content 110 concurrently with the host device 106 different from the guest devices 108a-108d.
[0073] At step 504, the method 500 may include receiving, by the server 102, the control action from the host device 106, corresponding to the media content 110 while presenting the media content 110 on each of the guest devices 108a-108d. In an example, the control action indicates altering the playback of the presented media content 110 by the host device 106.
[0074] At step 506, the method 500 may include sending, by the server 102, the synchronization prompt to each of the guest devices108a-108d. In an example, the synchronization prompt indicates a request to synchronize the presented media content 110 based on the control action performed by the host device 106.
[0075] At step 508, the method 500 may include receiving, by the server 102, at least one of the acceptance response from the first subset of the guest devices 108a-108d and the rejection response from the second subset of the guest devices 108a-108d.
[0076] At step 510, the method 500 may include sending the instructions, by the server 102, to the first subset. The instructions may indicate execution of the control action via the application 114 on the presented media content 110 corresponding to the first subset, while presenting the media content without executing the control action on the second subset.
[0077] The method 500 may further include sending, by the server 102, the subsequent synchronization prompt to the first subset of the guest devices 108a-108d based on the subsequent control action performed by the host device 106. Further sending, by the server 102, the notification in response to the subsequent control action, to the second subset of the guest devices 108a-108d. In an example, the notification indicates that the presented media content 110 is asynchronous with the media content 110 played on the host device 106.
[0078] The method 500 may further include receiving, by the server 102, the synchronization request from the second subset of the guest devices devices 108a-108d. Furthermore, sending the instructions, by the server 102, to the application 114 corresponding to the second subset of the guest devices 108a-108d for execution of the control action on the presented media content 110, based on the synchronization demand such that the presented media content 110 is in synchronization with the current playback of the media content 110 on the host device 106.
[0079] The method 500 may further include discarding, by the server 102, the notification in response to the subsequent synchronization prompt, such that the second subset of the guest devices 108a-108d does not receive the subsequent synchronization prompt. Thus, achieving dynamic synchronization while presenting the media content 110 to the guest devices 108a-108b
[0080] The present invention provides various advantages:
• The present invention implements technologies that optimize bandwidth usage without compromising streaming quality. Additionally, integrating buffering mechanisms and local storage options addresses the issue of interrupted playback due to network instability.
• The present invention addresses bandwidth dependency, high data utilization, inconsistent behaviour during network latency, and the inability to play the media content during network outages.
• The present invention provides users with a seamless and enjoyable collaborative viewing experience.
• The present invention allows guests/participants to either select or deselect the synchronization of the media content with the host device.
• The present invention enables guests/participants to synchronize with the host device at any instance of media content playback.
• The present invention provides a mechanism to store the preferences of guests/participants for synchronization.
[0081] While specific language has been used to describe the disclosure, any limitations arising on account of the same are not intended. As would be apparent to a person in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein.
[0082] The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein.
, Claims:1. A method (500) for presenting a media content on a plurality of guest devices with dynamic synchronization, the method (500) comprising:
presenting (502), by a server (102), the media content to the plurality of guest devices (108a-108d), wherein the plurality of guest devices (108a-108d) indicates a user equipment adapted to playback the presented media content concurrently with a host device different from the plurality of guest devices (108a-108d);
receiving (504), by the server (102), a control action from the host device (106), corresponding to the media content while presenting the media content on each of the plurality of guest devices (108a-108d), wherein the control action indicates altering a playback of the presented media content by the host device (106);
sending (506), by the server (102), a synchronization prompt to each of the plurality of guest devices (108a-108d), wherein the synchronization prompt indicates a request to synchronize the presented media content based on the control action performed by the host device (106);
receiving (508), by the server (102), at least one of an acceptance response from a first subset of the plurality of guest devices (108a-108d) and a rejection response from a second subset of the plurality of guest devices (108a-108d); and
sending (510), by the server (102), an instruction indicative of executing the control action on the presented media content on the first subset, while presenting the media content on the second subset without sending the instruction to execute the control action corresponding to the second subset.

2. The method (500) as claimed in claim 1, comprising:
sending, by the server, a subsequent synchronization prompt to the first subset of the plurality of guest devices based on a subsequent control action performed by the host device; and
sending, by the server, a notification in response to the subsequent control action, to the second subset of the plurality of guest devices, wherein the notification indicates that the presented media content is asynchronous with the media content played on the host device.

3. The method (500) as claimed in claim 2, comprising:
receiving, by the server, a synchronization request from the second subset of the plurality of guest devices; and
executing, by the server, the control action on the presented media content corresponding to the second subset of the plurality of guest devices, based on the synchronization demand such that the presented media content is in synchronization with a current playback of the media content on the host device.

4. The method (500) as claimed in claim 2, comprises: discarding, by the server, the notification in response to the subsequent synchronization prompt, such that the second subset of the plurality of guest devices does not receive the subsequent synchronization prompt.

5. The method (500) as claimed in claim 1, wherein the control action comprises altering the playback of the presented media content by at least one of a fast-forwarding or a rewinding by a predetermined time interval, or a playback speed, or an image quality change.

6. The method (500) as claimed in claim 1, wherein prior to performing the control action, the method (500) comprises:
establishing, by the server, a communication with the plurality of guest devices and the host device;
receiving, by the server, the media content from the host device; and
presenting, by the server, the media content on the plurality of guest devices via at least one of a real-time streaming and/or storing the media content on one or more of the guest devices based on the established communication.

7. The method (500) as claimed in claim 1, comprising:
storing, by the server, a synchronization preference of each of the plurality of guest devices based on at least one of the acceptance or the rejection of the sync prompt.

8. The method (500) as claimed in claim 1, wherein the media content includes at least one of a video, one or more images, and a slideshow.

9. A system (100) for presenting a media content on a plurality of guest devices (108a-108d) with dynamic synchronization, the system (100) comprising:
a server (102) comprising:
a memory (204);
at least one processor (202) in communication with the memory (204), wherein the at least one processor (202) is configured to:
present the media content to the plurality of guest devices (108a-108d), wherein the plurality of guest devices (108a-108d) indicates a user equipment adapted to playback the presented media content concurrently with a host device (106);
receive a control action from the host device (106), corresponding to the media content while presenting the media content on each of the plurality of guest devices (108a-108d), wherein the control action indicates altering a playback of the presented media content by the host device (106);
send a synchronization prompt to each of the plurality of guest devices (108a-108d), wherein the synchronization prompt indicates a request to synchronize the presented media content based on the control action performed by the host device (106);
receive at least one of an acceptance response from a first subset of the plurality of guest devices (108a-108d) and a rejection response from a second subset of the plurality of guest devices (108a-108d); and
send an instruction indicative of executing the control action on the presented media content on the first subset, while presenting the media content on the second subset without sending the instructions to execute the control action corresponding to the second subset.

10. The system (100) as claimed in claim 9, the at least one processor (202) is configured to:
send a subsequent synchronization prompt to the first subset of the plurality of guest devices based on a subsequent control action performed by the host device; and
send a notification in response to the subsequent control action, to the second subset of the plurality of guest devices, wherein the notification indicates that the presented media content is asynchronous with the media content played on the host device.

11. The system (100) as claimed in claim 10, the at least one processor (202) is configured to:
receive a synchronization request from the second subset of the plurality of guest devices; and
execute the control action on the presented media content corresponding to the second subset of the plurality of guest devices, based on the synchronization demand such that the presented media content is in synchronization with a current playback of the media content on the host device.

12. The system (100) as claimed in claim 10, the at least one processor (202) is configured to:
discard the notification in response to the subsequent synchronization prompt, such that the second subset of the plurality of guest devices does not receive the subsequent synchronization prompt.

13. The system (100) as claimed in claim 9, wherein the control action comprises altering the playback of the presented media content by at least one of a fast-forwarding or a rewinding by a predetermined time interval, or a playback speed, or an image quality change.

14. The system (100) as claimed in claim 9, wherein prior to performing the control action, the at least one processor (202) is configured to:
establish a communication with the plurality of guest devices and the host device;
receive the media content from the host device; and
present the media content on the plurality of guest devices via at least one of a real-time streaming and/or storing the media content on one or more of the guest devices based on the established communication.

15. The system (100) as claimed in claim 9, the at least one processor (202) is configured to:
store a synchronization preference of each of the plurality of guest devices based on at least one of the acceptance or the rejection of the sync prompt.

16. The system (100) as claimed in claim 9, wherein the media content includes at least one of a video, one or more images, and a slideshow.

Documents

Application Documents

# Name Date
1 202311065400-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [28-09-2023(online)].pdf 2023-09-28
2 202311065400-STATEMENT OF UNDERTAKING (FORM 3) [28-09-2023(online)].pdf 2023-09-28
3 202311065400-POWER OF AUTHORITY [28-09-2023(online)].pdf 2023-09-28
4 202311065400-FORM 1 [28-09-2023(online)].pdf 2023-09-28
5 202311065400-DRAWINGS [28-09-2023(online)].pdf 2023-09-28
6 202311065400-DECLARATION OF INVENTORSHIP (FORM 5) [28-09-2023(online)].pdf 2023-09-28
7 202311065400-COMPLETE SPECIFICATION [28-09-2023(online)].pdf 2023-09-28
8 202311065400-FORM-8 [29-09-2023(online)].pdf 2023-09-29
9 202311065400-FORM 18 [26-10-2023(online)].pdf 2023-10-26
10 202311065400-Proof of Right [28-03-2024(online)].pdf 2024-03-28
11 202311065400-Response to office action [27-08-2025(online)].pdf 2025-08-27