Systems and methods for establishing a streaming session across multiple electronic devices

The progressive server-based method addresses inconsistent streaming session issues by synchronizing media content in chunks across devices, ensuring consistent enriched calling experiences and reduced latency.

WO2026029557A1PCT designated stage Publication Date: 2026-02-05SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/011320
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-01
Filing Date
2025-07-30
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Existing methods for establishing streaming sessions across multiple electronic devices in wireless communication networks fail to provide consistent, enriched calling services, leading to inconsistent user experiences, data synchronization delays, and limited post-call service functionality on secondary devices.

Method used

A method and system that utilize a progressive server to progressively transmit media content in chunks to secondary electronic devices, ensuring real-time synchronization and consistent enriched calling experiences across all devices through a multi-casting mechanism.

Benefits of technology

Enables real-time synchronization of enriched calling data, including multimedia content, across multiple devices, providing uniform user interfaces and enhanced functionality, reducing latency and ensuring seamless call transfers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025011320_05022026_PF_FP_ABST
    Figure KR2025011320_05022026_PF_FP_ABST
Patent Text Reader

Abstract

A method for establishing a streaming session across multiple electronic devices is disclosed. The method includes receiving, by a primary electronic device, an incoming call from a remote electronic device, wherein the primary electronic device is connected with a first set of secondary electronic devices. The method may include determining, upon receiving the incoming call, by the primary electronic device, whether one or more conditions are satisfied. The method further includes, in response to determining that the one or more conditions are satisfied, establishing, by the primary electronic device, the streaming session, synchronized with the first set of secondary electronic devices by transmitting the media content to a progressive server.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR ESTABLISHING A STREAMING SESSION ACROSS MULTIPLE ELECTRONIC DEVICES

[0001] The disclosure relates to the field of wireless communication systems. More particularly, the disclosure relates to systems and methods for establishing a streaming session across multiple electronic devices.

[0002] Wireless communication enhances calling services, providing users with an improved experience beyond standard voice calls. These enriched calling services include three main areas such as pre-call, in-call, and post-call services. Pre-call services enable users to attach additional information before initiating calls, such as call subjects, priority indicators, business logos, and location data. In-call services offer advanced features during an active call, while post-call services enable users to add voice notes, call summaries, or other relevant content after a call ends.

[0003] Modern wireless communication networks utilize methods to create streaming sessions, allowing users to connect multiple devices within a cohesive communication environment. Typically, a primary electronic device maintains a direct network connection, while one or more secondary electronic devices receive calls through a technique known as call forking, which routes incoming calls from the primary electronic device to the one or more secondary electronic devices.

[0004] However, these methods have significant drawbacks in delivering consistent, enriched calling services across all connected electronic devices. The primary electronic device typically supports complete enriched calling features, such as displaying call subjects, priority indicators, business information, and multimedia content. Additionally, the primary electronic device enables users to access post-call services like creating voice notes and reviewing call history with enriched data.

[0005] Furthermore, these methods to establish streaming sessions create disparate user experiences when call sessions transfer between different electronic devices. When users receive calls on the one or more secondary electronic devices through call forking technique, the one or more secondary electronic devices fail to receive enriched calling data that accompanies the call sessions. Consequently, users experience reduced functionality and incomplete call information when accepting calls on secondary electronic devices compared to the primary electronic device.

[0006] Moreover, these methods lead to additional challenges related to real-time data synchronization. Enriched calling services involve transmission of substantial binary data, including video clips, audio recordings, images, and location information. As a result of binary data requirements, techniques encounter limited bandwidth and delay in synchronization when attempting to distribute enriched calling content across multiple electronic devices simultaneously.

[0007] Moreover, delay in synchronization becomes more pronounced during time-sensitive call where users require immediate access to enriched calling information. Techniques to establish streaming sessions struggle to deliver video caller identification data, business verification information, and multimedia content to secondary electronic devices within acceptable time constraints. Delays may result in users missing critical call information or experiencing degraded call quality.

[0008] Moreover, there is inconsistency in call presentation formats across different electronic devices. Users may encounter varying call interface displays and features depending on which electronic device receives the call, leading to confusion and potential mishandling of calls.

[0009] As a result of above-mentioned limitations, users experience less effective enriched calling services. The primary electronic device displays comprehensive business caller information, call priority indicators, and associated multimedia content, while secondary electronic devices present only basic caller identification data. Consequently, users cannot make informed decisions about call acceptance or priority when using secondary electronic devices.

[0010] Furthermore, these methods to establish streaming sessions limit post-call service functionality on secondary electronic devices. Users cannot create voice notes, access call recordings, or review enriched call history data when call sessions terminate on secondary electronic devices. Limited post-call service reduces the overall utility of enriched calling services.

[0011] Moreover, these methods to establish streaming sessions fail to maintain data consistency across electronic devices when users transfer active call sessions between devices. Call transfer operations typically preserve basic voice communication but lose enriched calling data, creating discontinuous user experiences and reduced service functionality during call sessions.

[0012] According to an example embodiment of the disclosure, a method for establishing a streaming session across multiple electronic devices is disclosed. The method includes receiving, by a primary electronic device, an incoming call from a remote electronic device. The primary electronic device is connected with a first set of secondary electronic devices. The incoming call comprises a media content of the streaming session among the remote electronic device, the primary electronic device, and the first set of secondary electronic devices. Further, the method includes determining, upon receiving the incoming call, by the primary electronic device, whether one or more conditions are satisfied. The one or more conditions indicate one or more client triggered events. Furthermore, the method includes establishing, by the primary electronic device, the streaming session, synchronized with the first set of secondary electronic devices by progressively transmitting the media content to a progressive server. The streaming session is established in response to determining that the one or more conditions are satisfied.

[0013] According to an example embodiment of the disclosure, a method for establishing a streaming session across multiple electronic devices is disclosed. The method includes receiving, by a progressive server, a media content from a primary electronic device. The media content comprises a plurality of chunks. Further, the method includes storing, by the progressive server, each of the plurality of chunks of the media content. Furthermore, the method includes multi-casting, by the progressive server, each of the plurality of chunks of the media content to a first set of secondary electronic devices, to establish the streaming session.

[0014] According to an example embodiment of the disclosure, a system for establishing a streaming session across multiple electronic devices is disclosed. The system includes memory storing instructions, and at least one processor in communication with the memory. The instructions, when executed by the at least one processor individually or collectively, cause the system to receive, at a primary electronic device, an incoming call from a remote electronic device. The primary electronic device is connected to a first set of secondary electronic devices. The incoming call comprises a media content of the streaming session among the remote electronic device, the primary electronic device, and the first set of secondary electronic devices. Further, the instructions, when executed by the at least one processor individually or collectively, cause the system to determine, upon receiving the incoming call, whether one or more conditions are satisfied. The one or more conditions indicate one or more client triggered events. Furthermore, the instructions, when executed by the at least one processor individually or collectively, cause the system to establish the streaming session, synchronized with the first set of secondary electronic devices by progressively transmitting the media content to a progressive server. The streaming session is established in response to determining that the one or more conditions are satisfied.

[0015] According to an example embodiment of the disclosure, a system for establishing a streaming session across multiple electronic devices is disclosed. The system includes memory storing instructions, and at least one processor in communication with the memory. The instructions, when executed by the at least one processor individually or collectively, cause the system to receive a media content from a primary electronic device. The media content comprises a plurality of chunks. Further, the at least one processor is configured to store each of the plurality of chunks of the media content. Furthermore, the instructions, when executed by the at least one processor individually or collectively, cause the system to multi-cast each of the plurality of chunks of the media content to a first set of secondary electronic devices, to establish the streaming session.

[0016] To further clarify the advantages and features of the disclosure, a more particular description of the disclosure 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 disclosure and are therefore not to be considered limiting of its scope. The disclosure will be described and explained with additional specificity and detail in the accompanying drawings.

[0017] The accompanying drawings, which are incorporated in and are a part of this disclosure, illustrate various example embodiments and together with the description, serve to explain the disclosed principles. The same reference numbers may be used throughout the figures to reference like features and components. The above and other aspects, features and advantages of certain embodiments of the disclosure will be more apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which:

[0018] Figure 1 illustrates a schematic diagram for establishing a continuity session between multiple electronic devices, according to a related art;

[0019] Figure 2 illustrates a signal flow diagram for establishing the continuity session between multiple electronic devices, according to a related art;

[0020] Figure 3 illustrates one or more exemplary User Interface (UI) on a primary electronic devices during an enriched calling session, according to a related art;

[0021] Figure 4 illustrates an exemplary signal flow diagram associated with the enriched calling session, according to a related art;

[0022] Figure 5 illustrates a schematic diagram for the implementation of a system for establishing a streaming session across multiple electronic devices, according to an embodiment of the disclosure;

[0023] Figure 6a and Figure 6b illustrate block diagrams of the system for establishing the streaming session across multiple electronic devices, according to various embodiments of the disclosure;

[0024] Figure 7 illustrates a process flow associated with a transmitting module of the system, according to an embodiment of the disclosure;

[0025] Figure 8 illustrates a process flow associated with a multi-casting module of the system, according to an embodiment of the disclosure;

[0026] Figure 9 illustrates a process flow associated with the streaming session synchronizing module of the system, according to an embodiment of the disclosure;

[0027] Figure 10a and Figure 10b illustrate a process flow associated with a streaming channel establishing module of the system, according to an embodiment of the disclosure;

[0028] Figure 11 illustrates an exemplary implementation of the system in the electronic communication network, according to an embodiment of the disclosure;

[0029] Figure 12a and Figure 12b illustrate an exemplary signal flow diagram for establishing the streaming session across multiple electronic devices, according to an embodiment of the disclosure;

[0030] Figure 13a and Figure 13b illustrate a comparison of implementation architecture for establishing the streaming session across multiple electronic devices, according to an embodiment of the disclosure;

[0031] Figure 14a and Figure 14b illustrate an exemplary comparison of the UI of primary electronic device and the one or more secondary electronic devices in case of enriched calling, before and after implementation of the disclosure, according to an embodiment of the disclosure;

[0032] Figure 15a and Figure 15b illustrate an exemplary comparison of the UI of primary electronic device and the one or more secondary electronic devices in case of enriched calling, before and after implementation of the disclosure, according to another embodiment of the disclosure;

[0033] Figure 16 illustrates an exemplary flow chart of a method for establishing the streaming session across multiple electronic devices in case of enriched calling, according to an embodiment of the disclosure;

[0034] Figure 17 illustrates an exemplary flow chart of a method for establishing the streaming session across multiple electronic devices in case of a shared sketch calling, according to an embodiment of the disclosure;

[0035] Figure 18 illustrates an exemplary signal flow diagram for establishing the streaming session across multiple electronic devices in case of the shared sketch calling, according to an embodiment of the disclosure;

[0036] Figure 19 illustrates a flow chart depicting a method for establishing the streaming session across multiple electronic devices, according to an embodiment of the disclosure; and

[0037] Figure 20 illustrates a flow chart depicting the method for establishing the streaming session across multiple electronic devices, according to another embodiment of the disclosure.

[0038] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the disclosure. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0039] In the disclosure, the word "exemplary" is used herein to refer, for example, to "serving as an example, instance, or illustration." Any embodiment or implementation of the disclosure described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.

[0040] While the disclosure is susceptible to various modifications and alternative forms, various example embodiments are shown by way of example in the drawings and will be described in greater detail below. It should be understood, however that it is not intended to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure.

[0041] 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 disclosure. 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.

[0042] 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 / operations does not include only those steps / operations but may include other steps / operations 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.

[0043] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. Also, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments. The term "or" as used herein, refers to a non-exclusive or unless otherwise indicated. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein can be practiced and to further enable those skilled in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.

[0044] As is traditional in the field, embodiments may be described and illustrated in terms of blocks that carry out a described function or functions. These blocks, which may be referred to herein as units or modules or the like, are physically implemented by analog or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, or the like, and may optionally be driven by firmware and software. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the disclosure.

[0045] The accompanying drawings are used to help easily understand various technical features and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. As such, the disclosure should be construed to extend to any alterations, equivalents, and substitutes in addition to those which are particularly set out in the accompanying drawings. Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are generally only used to distinguish one element from another.

[0046] Figure 1 illustrates a schematic diagram for establishing a continuity session between multiple electronic devices, according to a related art.

[0047] A communication network may include a remote electronic device 102, a primary electronic device 104, a first server 106, and one or more secondary electronic devices 108.

[0048] The remote electronic device 102 may initiate an outgoing call to establish communication with the primary electronic device 104. The remote electronic device 102 may be configured to transmit message, voice or video call signals to the primary electronic device 104.

[0049] The primary electronic device 104 may receive the incoming call from the remote electronic device 102. The primary electronic device 104 may be a device equipped with a subscriber identity module (SIM) card and cellular communication capabilities. The primary electronic device 104 may establish a voice over long term evolution (VoLTE) or video over long term evolution (ViLTE) session with the remote electronic device 102 upon answering the incoming call.

[0050] The primary electronic device 104 may be connected to the first server 106. The first server 106 may facilitate communication between the primary electronic device 104 and the one or more secondary electronic devices 108. The first server 106 may receive call information updates from the primary electronic device 104 and may transmit call information updates to the one or more secondary electronic devices 108.

[0051] The one or more secondary electronic devices 108 may include one or more electronic devices that may or may not be equipped with SIM cards. The one or more secondary electronic devices 108 may include tablets, smartwatches, augmented reality devices, virtual reality devices, mixed reality devices, extended reality devices, or other electronic devices. The one or more secondary electronic devices 108 may be registered to the same user account as the primary electronic device 104.

[0052] The first server 106 may establish a continuity session between the primary electronic device 104 and the one or more secondary electronic devices 108. The continuity session may enable the one or more secondary electronic devices 108 to participate in the communication session between the remote electronic device 102 and the primary electronic device 104.

[0053] The secondary electronic devices 108 may receive pulling notifications when the incoming call is received by the primary electronic device 104. The pulling notifications may alert users of the one or more secondary electronic devices 108 about the ongoing call and may provide options to join or transfer the call to any of the one or more secondary electronic devices 108.

[0054] A call forking functionality may be enabled by the first server 106. In the call forking the incoming call may be simultaneously presented to multiple electronic devices. The first server 106 may also facilitate call transfers between the primary electronic device 104 and any of the one or more secondary electronic devices 108 during an active communication session.

[0055] Figure 2 illustrates a signal flow diagram for establishing the continuity session between multiple electronic devices, according to a related art.

[0056] At operation 202, the remote electronic device 102 may initiate a call by transmitting an invite VoLTE / ViLTE call message to the primary electronic device 104. The invite message may include session initiation protocol (SIP) parameters for establishing a communication.

[0057] At operation 204, upon receiving the incoming call, the primary electronic device 104 may generate a relay call invite message. The primary electronic device 104 may transmit the relay call invite message to the first server 106. The relay call invite message may indicate an invitation to participate in the communication.

[0058] At operation 206, the first server 106 may check peer-to-peer availability and may transmit an invite message to the one or more secondary electronic devices 108. The invite message may indicate an invitation to participate in the communication. The first server 106 may forward the invite message to available one or more secondary electronic devices within the communication network.

[0059] The incoming call notification may be displayed on both the primary electronic device 104 and the secondary electronic device 108 simultaneously. The communication network may enable call forking across the connected devices.

[0060] At operation 208, when the call is accepted by the one or more secondary electronic devices 108, the one or more secondary electronic devices 108 may transmit a 200 OK invite response message to the first server 106.

[0061] At operation 210, the first server 106 may relay the 200 OK invite response message to the primary electronic device 104.

[0062] At operation 212, the primary electronic device 104 may transmit a 200 OK invite response message to the remote electronic device 102.

[0063] Upon call acceptance, two separate sessions may be established. A VoLTE / ViLTE call media transfer session may be established between the remote electronic device 102 and the primary electronic device 104. A continuity call media transfer session may be established between the primary electronic device 104 and the secondary electronic device 108.

[0064] When the call termination is initiated, at operation 214, the remote electronic device 102 may transmit a bye message to the primary electronic device 104. At operation 216, the primary electronic device 104 may transmit a bye message to the first server 106. At operation 218, the first server 106 may transmit a bye message to the one or more secondary electronic devices 108. At operation 220, the one or more secondary electronic devices 108 may respond with a 200 OK bye message to the first server 106. At operation 222, the first server 106 may relay the 200 OK bye message to the primary electronic device 104. At operation 224, the primary electronic device 104 may transmit a 200 OK bye message to the remote electronic device 102.

[0065] Upon completion of the bye message exchange, both the VoLTE / ViLTE call media session and the continuity call media transfer session may be terminated. The call termination may be notified to users on both the primary electronic device 104 and the one or more secondary electronic devices 108.

[0066] The electronic communication network may support an enriched calling functionality. The enriched calling functionality may provide enhancements to the calling experience during different phases of communication.

[0067] The enriched calling functionality may include pre-call services, in-call services, and post-call services. The pre-call services may enable a caller to append additional information before initiating the incoming call. The additional information may include a subject line, call priority indicators, voice notes, images, or location information. The in-call services may provide enhanced features during an active communication session. The post-call services may enable users to leave voice notes or additional information after call termination when no response is received from a callee.

[0068] For example, the enriched calling functionality may support verified business call (VBC) services for business-to-consumer communications. The VBC services may enable business callers to append business logos, subject information, or verification indicators while calling customers.

[0069] In yet another example, the enriched calling functionality may support rich communication services (RCS) based enriched calling. The RCS enriched calling may enable users to add subject lines, call priority indicators, pictures, or location information while initiating communication sessions.

[0070] Figure 3 illustrates one or more exemplary user interface (UI) on the primary electronic devices 104 during the enriched calling session, according to related art.

[0071] A first UI 302 illustrates an incoming call interface displaying enriched calling information. The first UI 302 may display a caller identification as "The Home Depot" with a verified business call indicator. The first UI 302 may show a delivery confirmation subject line indicating the purpose of the incoming call.

[0072] A second UI 304 illustrates a video caller identification interface. The second UI 304 may display "Video Caller ID" as the caller identification with an associated video or image content. The video content may provide visual context about the caller or the purpose of the communication.

[0073] A third UI 306 may illustrate an incoming call interface with location and image information. The third UI 306 may include location information and image as part of the enriched calling features.

[0074] The enriched calling features may be supported when the incoming call is displayed on the primary electronic device 104. However, the enriched calling features may not be supported during call forking scenarios when the call is accepted from the one or more secondary electronic devices 108. This problem is described in detail in reference to Figure 4.

[0075] Figure 4 illustrates an exemplary signal flow diagram associated with the enriched calling, according to a related art.

[0076] At operation 402, the remote electronic device 102 may initiate an enriched calling session by transmitting an invite VoLTE / ViLTE call message to the primary electronic device 104.

[0077] At operation 404, upon receiving the incoming call with enriched calling attributes, the primary electronic device 104 may generate a relay call invite message. The primary electronic device 104 may transmit the relay call invite message to the first server 106.

[0078] The primary electronic device 104 may display an incoming call indication including one or more features of the enriched calling. The incoming call indication may present the subject information, picture data, and priority indicators received from the remote electronic device 102. The incoming call indication may provide context and additional information about the purpose and importance of the incoming call.

[0079] At operation 406, the first server 106 may check peer-to-peer availability and may transmit an invite message to the one or more secondary electronic devices 108. The first server 106 may forward the invite message to one or more secondary electronic devices 108 within the communication network.

[0080] The one or more secondary electronic devices 108 may display a basic incoming call indication without the enriched calling features. The secondary electronic device 108 may not receive or display the subject information, picture data, or priority indicators that are available on the primary electronic device 104. The absence of enriched calling features on the secondary electronic device 108 may result in an inconsistent user experience.

[0081] At operation 408, when the call is accepted by the one or more secondary electronic devices 108, the secondary electronic device 108 may transmit a 200 OK invite response message to the first server 106. At operation 410, the first server 106 may relay the 200 OK invite response message to the primary electronic device 104. At operation 412, the primary electronic device 104 may transmit a 200 OK invite response message to the remote electronic device 102. Upon call acceptance, two separate sessions may be established. A VoLTE / ViLTE call media transfer session may be established between the remote electronic device 102 and the primary electronic device 104. A continuity call media transfer session may be established between the primary electronic device 104 and the one or more secondary electronic devices 108.

[0082] The established sessions may not provide equivalent enriched calling experience across the primary electronic device 104 and the one or more secondary electronic device 108. The media content and enriched calling attributes may not be synchronized in real-time to the secondary electronic device 108 during the active communication session.

[0083] When the call termination is initiated, at operation 414, the remote electronic device 102 may transmit a bye message to the primary electronic device 104. At operation 416, the primary electronic device 104 may transmit a bye message to the first server 106. At operation 418, the first server 106 may transmit a bye message to the secondary electronic device 108. At operation 420, the secondary electronic device 108 may respond with a 200 OK bye message to the first server 106. At operation 422, the first server 106 may relay the 200 OK bye message to the primary electronic device 104. At operation 424, the primary electronic device 104 may transmit a 200 OK bye message to the remote electronic device 102.

[0084] Upon completion of the bye message exchange, both the VoLTE / ViLTE call media session and the continuity call media session may be terminated.

[0085] During the enriched calling, a binary data may not be synchronized at the one or more secondary electronic device 108. The binary data may include pictures, videos, audio clips, location information, or other media content that requires significant bandwidth and processing time for transmission and synchronization.

[0086] Further, when the primary electronic device 104 and the secondary electronic device 108 are kept together, users may observe two different incoming call screens with varying content displays. The primary electronic device 104 may display subject information, picture data, and priority indicators while the secondary electronic device 108 may show basic call information with the indication of incoming call. The inconsistent display of call information across devices may cause user confusion.

[0087] Furthermore, interactive applications such as web-based applications, shared-sketch services, and shared-map services may lose continuity when calls are pushed or pulled across the one or more secondary electronic devices 108. The in-call services may not maintain session state or user interactions when transitioning between the primary electronic device 104 and the one or more secondary electronic device 108.

[0088] In the related art, a hypertext transfer protocol (HTTP) is used for uploading the binary content to the first server 106. The use HTTP for uploading binary content to the first server 106 and downloading content to the one or more secondary electronic devices 108 may require longer processing time compared to call session establishment. This may result in content mismatching where the call session is established before the binary content is synchronized across all connected devices.

[0089] Figure 5 illustrates a schematic diagram for implementation of a system for establishing a streaming session across multiple electronic devices, according to an embodiment of the disclosure.

[0090] In an embodiment, the environment may be the electronic communication network comprising the remote electronic device 102, the primary electronic device 104, the first server 106, the progressive server 502, and multiple secondary electronic devices arranged in different sets.

[0091] The remote electronic device 102 may be configured to initiate communication sessions with the primary electronic device 104. The remote electronic device 102 may transmit media content to establish the streaming session.

[0092] The primary electronic device 104 may be equipped with cellular communication capabilities. The primary electronic device 104 may be connected to the first server 106.

[0093] The first server 106 may comprise database storage for managing device connections and streaming session. The first server 106 may facilitate communication between the primary electronic device 104 and the one or more secondary electronic devices 108.

[0094] The progressive server 502 may be configured to handle media content streaming and distribution across multiple connected devices 108 or 106. The progressive server 502 may be operatively connected to the primary electronic device 104 and the one or more secondary electronic devices 108.

[0095] The one or more secondary electronic devices 108 may include a first set of secondary electronic devices 108A and a second set of secondary electronic devices 108B. The first set of secondary electronic devices 108A may include devices that are initially connected to the communication network at the time of incoming call from the remote electronic device 102. The first set of secondary electronic devices 108A may include tablets, smartphones, laptops, or other communication-enabled devices that are registered to the same user account as the primary electronic device 104. The primary electronic device 104 may be connected to the first set of secondary electronic devices 108A.

[0096] The second set of secondary electronic devices 108B may include additional electronic devices that may connect to the communication network during an active streaming session between the remote electronic device 102, the primary electronic device 104, or the first set of secondary electronic devices 108A. The second set of secondary electronic devices 108B may join the streaming session dynamically and may require synchronized delivery of media content that has already been transmitted to previously connected devices.

[0097] The system 504A, 504B may be implemented at different locations within the communication network to address the limitations identified in related art. In an embodiment, the system 504A may be implemented at the primary electronic device 104. In an embodiment, the system 504B may be implemented at the progressive server 502.

[0098] The system 504A, 504B may be configured to provide consistent, enriched calling experiences across all connected devices. The system 504A, 504B may enable real-time synchronization of binary data, including pictures, videos, location information, and other media content, to ensure uniform user interfaces and functionality across the primary electronic device 104 and the one or more secondary electronic devices 108.

[0099] Figures 6a-6b illustrate block diagrams of the system 504A, 504B for establishing the streaming session across multiple electronic devices 106 or 108, according to various embodiments of the disclosure.

[0100] The system 504A, 504B may include, but is not limited to, a processor 602, a memory 604, modules 606, and data 608. The modules 606 and the memory 604 may be coupled to the processor 602.

[0101] The processor 602 may be a single processing unit or several units, all of which could include multiple computing units. The processor 602 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 602 may be adapted to fetch and execute computer-readable instructions and data stored in the memory 604. The processor 602 according to an embodiment of the disclosure may include various processing circuitry and / or multiple processors. For example, as used herein, including the claims, the term "processor" may include various processing circuitry, including at least one processor, wherein one or more of at least one processor, individually and / or collectively in a distributed manner, may be configured to perform various functions described herein. As used herein, when "a processor", "at least one processor", and "one or more processors" are described as being configured to perform numerous functions, these terms cover situations, for example and without limitation, in which one processor performs some of recited functions and another processor(s) performs other of recited functions, and also situations in which a single processor may perform all recited functions. Additionally, the at least one processor may include a combination of processors performing various of the recited / disclosed functions, e.g., in a distributed manner. At least one processor may execute program instructions to achieve or perform various functions.

[0102] The memory 604 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. The memory 604 may alternatively be referred to as a database in the disclosure, within the scope of the disclosure.

[0103] The modules 606, amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement data types. The modules 606 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.

[0104] Further, the modules 606 may be implemented in hardware, instructions executed by a processing unit, or by a combination thereof. The processor 602 may comprise a computer, a processor, a state machine, a logic array, or any other suitable devices capable of processing instructions. The processing unit may be a general-purpose processor (e.g., processor 602) which executes instructions to cause the general-purpose processor to perform the required tasks, or the processing unit may be dedicated to performing the required functions. In another embodiment of the disclosure, the modules 606 may be machine-readable instructions (software) which, when executed by the processor 602 / processing unit, perform any of the described functionalities / methods, as discussed throughout the disclosure.

[0105] The processor 602 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 artificial intelligence (AI)-dedicated processor such as a neural processing unit (NPU).

[0106] The one or the plurality of processors control the processing of the input data in accordance with a operating rule or AI model stored in the non-volatile memory and the volatile memory. The operating rule or artificial intelligence model is provided through training or learning. The data 608 may comprise information related to the streaming session, device connections, media content attributes, and synchronization parameters required for establishing and maintaining the streaming session across multiple electronic devices 106 or 108.

[0107] In an embodiment, the modules 606 in the system 504A implemented at the primary electronic device 104 may include an incoming call receiving module 610, a determining module 612, and a transmitting module 614.

[0108] In an embodiment, the modules 606 in the system 504B implemented at the progressive server may include a media content receiving module 616, a storing module 618, a multi-casting module 620, a streaming session synchronizing module 622, and a streaming channel establishing module 624.

[0109] In an embodiment, the incoming call receiving module 610 may be configured to receive the incoming call from the remote electronic device 102. The incoming call may include one or more attributes and media content of the streaming session.

[0110] The streaming session may be established between the remote electronic device 102, the primary electronic device 104, and the first set of secondary electronic devices 108. The streaming session may enable real-time communication and media sharing across multiple connected devices 104 or 108 within the communication network. The streaming session may support voice communication, video communication, or multimedia communication between the connected devices.

[0111] The one or more attributes may include enriched calling features associated with the incoming call. The one or more attributes may include subject information indicating the purpose or topic of the communication session. The one or more attributes may include priority indicators specifying the urgency level of the incoming call. The one or more attributes may further include caller identification information such as business names, contact details, or verification status. The one or more attributes may further include location information, time-stamp information indicating the initiation time of the incoming call, call type indicators specifying whether the call involves voice, video, or multimedia content.

[0112] The media content may include audio data, video data, image data, or multimedia data associated with the streaming session. The media content may further include document files, location maps, or other binary data relevant to the communication context.

[0113] The determining module 612 may be configured to determine whether one or more conditions are satisfied upon receiving the incoming call. The one or more conditions may indicate one or more client triggered events.

[0114] The one or more conditions may include device availability conditions for establishing the streaming session. The one or more conditions may include secondary device connectivity status indicating whether the first set of secondary electronic devices 108A is available and connected to the electronic communication network. The one or more conditions may include device capability requirements specifying whether the first set of secondary electronic devices 108A supports the required media content formats and streaming functionalities.

[0115] The one or more client triggered events may include user-initiated actions that are required to establish the streaming session. The one or more client triggered events may include call acceptance status when a user accepts the incoming call from the primary electronic device 104 or any of the secondary electronic devices 108. The one or more client triggered events may include call pulling events when a user initiates transfer of an ongoing call from the primary electronic device 104 to any of the one or more secondary electronic devices 108. The one or more client triggered events may include call pushing events when a user transfers an active communication session from any secondary electronic device to another secondary electronic device among the one or more secondary electronic devices 108 or back to the primary electronic device 104.

[0116] The determining module 612 may be configured to evaluate the occurrence of the one or more client triggered events against the one or more conditions to initiate establishing the streaming session.

[0117] In an embodiment, the transmitting module 614 may be configured to progressively transmit the media content to the progressive server in response to determining that the one or more conditions are satisfied. The streaming session with the first set of secondary electronic devices may be established by progressively transmitting the media content to the progressive server. The streaming session may be synchronized between each secondary electronic device among the first set of electronic devices.

[0118] Figure 7 illustrates a process flow 700 associated with the transmitting module 614 of the system 504A, according to an embodiment of the disclosure.

[0119] In an embodiment, the process flow 700, at operation 702, may include generating, by the primary electronic device, a metadata for the media content. The metadata may indicate descriptive information about the characteristics and properties of the media content. The metadata may include file format specifications indicating the encoding type, compression method, and data structure of the media content. The metadata may include size information specifying the total file size, duration, and resolution parameters of the media content. The metadata may include content type identifiers indicating whether the media content comprises audio data, video data, image data, or multimedia data. The metadata may include synchronization timestamps for coordinating real-time delivery across multiple devices. The primary electronic device 104 may generate the metadata by analyzing the received media content.

[0120] In an embodiment, the process flow 700, at operation 704, may include transmitting, by the primary electronic device 104, the generated metadata to the progressive server. The transmission of the metadata may enable the progressive server 502 to prepare for receiving and processing the media content before the actual content data arrives. The progressive server 502 may utilize the metadata to allocate appropriate storage resources, configure streaming parameters, and establish connection protocols with the one or more secondary electronic devices 108.

[0121] In an embodiment, the process flow 700, at operation 706, may include, in response to transmitting the generated metadata, generating a plurality of chunks of the media content by dividing the received media content into the plurality of chunks. The plurality of chunks may indicate segmented portions of the media content that are created by partitioning the original media file into smaller, manageable data units. The media content may be divided based on predetermined chunk size parameters, time-based intervals, or data volume thresholds. The dividing the received media content into the plurality of chunks may enable efficient transmission by breaking large binary data files into smaller segments that may be processed and transmitted independently. The chunk size may be optimized based on network bandwidth availability, device processing capabilities, and real-time streaming requirements.

[0122] In an embodiment, the process flow 700, at operation 708, may include transmitting, in response to generating each chunk among the plurality of chunks of the media content, the corresponding chunk to the progressive server 502. The progressive transmission may enable real-time streaming without requiring the primary electronic device 104 to receive the complete media content before initiating transmission to the progressive server 502. The transmitting module 614 may be configured to transmit each chunk immediately upon generation, allowing the progressive server 502 to begin processing and distributing content to the one or more secondary electronic devices 108 while subsequent chunks are still being generated. The progressive transmission may reduce overall latency and improve user experience by enabling simultaneous content reception and distribution.

[0123] Referring again to Figure 6a, in an embodiment, the transmitting module 614 may be configured to transmit, by the primary electronic device, a request message to the first server 106 to initiate the streaming session with the first set of secondary electronic devices 108A. The request message may be transmitted upon receiving the incoming call.

[0124] The request message may include a remote server data and a local device data. The request message may serve as an initialization signal to establish communication protocols for the streaming session across multiple electronic devices 106 or 108.

[0125] The remote server data may include information about the remote electronic device 102 and the characteristics of the incoming call. The remote server data may include caller identification information such as phone numbers, contact names, or business identifiers associated with the remote electronic device. The remote server data may include call attributes such as subject lines, priority indicators, or verification status received from the remote electronic device. The remote server data may further include Session Initiation Protocol (SIP) parameters such as call session identifiers, routing information, or communication protocol versions. The remote server data may further include enriched calling attributes such as business logos, location data, or multimedia content references that originated from the remote electronic device 102.

[0126] The local device data may include one or more information associated with the primary electronic device 104 to be transmitted as a part of a multi-part session description protocol (SDP) for call forking. The local device data may include device capability information such as supported media formats, codec compatibility, or streaming protocol versions available on the primary electronic device 104. The local device data may include network configuration parameters such as IP addresses, port numbers, or bandwidth availability for establishing media streams. The local device data may further include user account information such as device registration details, authentication tokens, or subscription status for accessing enriched calling services. The local device data may further include device hardware specifications such as screen resolution, audio capabilities, or processing power that may affect media content presentation. The local device data may further include synchronization parameters for coordinating real-time streaming across multiple devices.

[0127] The multi-part SDP for call forking may enable the first server 106 to distribute the incoming call and associated media content to the one or more secondary electronic devices 108 simultaneously. The SDP may contain the local device data to ensure that each secondary electronic device receives appropriate configuration parameters for establishing compatible communication sessions with the primary electronic device 104 and the progressive server 502.

[0128] In an embodiment, the media content receiving module 616, the storing module 618, the multi-casting module 620, the streaming session synchronizing module 622, and the streaming channel establishing module 624 may be implemented at the progressive server 502.

[0129] In an embodiment, the media content receiving module 616 may be configured to progressively receive, by the progressive server, the media content from the primary electronic device. The media content may include the plurality of chunks.

[0130] The progressively receiving may enable the progressive server 502 to receive and process the media content in segments without requiring the complete media content to be downloaded or transmitted as a single file. The media content receiving module 616 may receive each chunk among the plurality of chunks as the chunks become available from the primary electronic device 104, rather than waiting for the entire media content to be fully processed at the primary electronic device 104.

[0131] The progressive receiving may significantly reduce the overall latency between the initial incoming call reception and the availability of the media content on the one or more secondary electronic devices 108.

[0132] The progressive receiving may enable the progressive server 502 to handle large binary data files of the media content associated with enriched calling features, such as high-resolution images, video clips, or multimedia content.

[0133] In an embodiment, the storing module 618 may be configured to store each chunk among the plurality of chunks at the progressive server 502 in response to progressively receiving the corresponding chunk of the media content. The storing module 618 may maintain the received chunks in organized storage structures that enable efficient retrieval and distribution. The stored chunks may be indexed with sequence numbers, timestamps, or content identifiers to facilitate proper ordering and synchronization during transmission to the one or more secondary electronic devices 108.

[0134] In an embodiment, the multi-casting module 620 may be configured to multi-cast, by the progressive server 502, the corresponding chunk of the media content to the first set of secondary electronic devices 108A, to establish the streaming session. The multi-casting may be in response to storing each chunk among the plurality of chunks. The multi-casting may enable simultaneous distribution of each stored chunk to multiple secondary electronic devices within the communication network. The multi-casting module 620 may be configured to transmit the chunks to the first set of secondary electronic devices 108A immediately upon storage completion, ensuring real-time synchronization of media content across all connected devices.

[0135] Figure 8 illustrates a process flow 800 associated with the multi-casting module 620 of the system 504B, according to an embodiment of the disclosure.

[0136] In an embodiment, the process flow 800, at operation 802, may include receiving, by the progressive server, one or more time-based content access request from a secondary electronic device among the first set of secondary electronic devices 108A. The one or more time-based content access request may indicate user-initiated commands for accessing specific portions of the media content. The one or more time-based content access request may include an undo request for reverting to a previous state of the media content presentation. The one or more time-based content access request may include a rewind request for accessing earlier portions of the streamed media content. The one or more time-based content access request may include a redo request for re-executing previously processed media content. The one or more time-based content access request may include a replay request for re-transmitting specific chunks or time intervals of the media content. The time-based content access requests may enable users to navigate through the enriched calling content and access specific information as needed during the streaming session.

[0137] In an embodiment, the process flow 800, at operation 804, may include determining one or more chunks among the plurality of chunks to be transmitted to the corresponding secondary electronic device based on the time-based content access request. The multi-casting module 620 may be configured to analyze the time-based content access request to identify the relevant chunks that correspond to the time-based content access request. The determination may involve mapping the requested time intervals to the appropriate chunk sequence numbers or content identifiers.

[0138] In an embodiment, the process flow 800, at operation 806, may include transmitting the one or more chunks to the corresponding secondary electronic device.

[0139] In an embodiment, time-synchronization may be essential to ensure consistent media content delivery and uniform user experience across multiple electronic devices 106 or 108 participating in the streaming session. Therefore, the streaming session synchronizing module 622 may be configured to synchronize the streaming session.

[0140] Figure 9 illustrates a process flow 900 associated with the streaming session synchronizing module 622 of the system 504B, according to an embodiment of the disclosure.

[0141] In an embodiment, the process flow 900, at operation 902, may include obtaining, by the progressive server, a connection information from a device management server connected to the first set of secondary electronic devices 108A. The connection information may include joining time and leaving time for each secondary electronic device among the first set of secondary electronic devices 108A. The connection information may provide temporal details about device availability and participation status within the streaming session. The joining time may indicate the timestamp when each secondary electronic device establishes connection with the communication network and becomes available for receiving the media content. The leaving time may indicate the timestamp when each secondary electronic device disconnects from the communication network or becomes unavailable for receiving the media content.

[0142] In an embodiment, the process flow 900, at operation 904, may include synchronizing the streaming session based on the connection information. The synchronization may ensure that each secondary electronic device receives appropriate media content chunks corresponding to the time period during which the device was connected to the streaming session. The streaming session synchronizing module 622 may be configured to determine the chronological alignment between chunk transmission timestamps and device joining times to determine the starting point for content delivery to each secondary electronic device. The synchronization may account for devices that join the streaming session after the media content transmission has already begun, ensuring that such devices receive relevant content from their connection point onwards.

[0143] In an embodiment, the communication network may support dynamic device connectivity wherein additional secondary electronic devices may establish connections during an active communication session between the primary electronic device 104 and the first set of secondary electronic devices 108A. The second set of secondary electronic devices 108B may join the streaming session after the initial call establishment and media content transmission has commenced.

[0144] In an embodiment, the streaming channel establishing module 624 may be configured to establish a streaming channel with a secondary electronic device among the second set of secondary electronic devices 108B.

[0145] Figures 10a-10b illustrate a process flow associated with the streaming channel establishing module 624 of the system 504B, according to an embodiment of the disclosure.

[0146] In an embodiment, the process flow 1000, at operation 1002, may include detecting, by the progressive server 502, a connection with the second set of secondary electronic devices 108B. The detection may involve detecting if a secondary device among the second set of secondary devices 108B gets connected to the progressive server 502.

[0147] In an embodiment, the process flow 1000, at operation 1004, may include establishing, by the progressive server, the streaming channel with the second set of secondary electronic devices 108B in response to the detection.

[0148] In an embodiment, to establish the streaming channel, the process flow 1000, at operation 1004A, may include obtaining, by the progressive server 502, the connection information from the device management server connected to the second set of secondary electronic devices 108B. The connection information may include joining time and leaving time for the second set of secondary electronic devices 108B.

[0149] In an embodiment, the process flow 1000, at operation 1004B, may include transmitting one or more chunks among the plurality of chunks to the second set of secondary electronic devices 108B based on the connection information. The transmission may provide relevant media content segments that correspond to the connection time of each secondary electronic device. The progressive server 502 may determine appropriate starting chunks based on the joining time of each secondary electronic device.

[0150] Referring again to Figure 6b, in an embodiment, the multi-casting module 620 may be configured to multi-cast the corresponding chunks of the media content to the second set of secondary electronic devices 108B to maintain the streaming session across the second set of secondary electronic devices 108B. The multi-casting may be extended to accommodate additional electronic devices that join during active communication sessions between the primary electronic device 104 and the first set of secondary electronic devices 108A.

[0151] Figure 11 illustrates an exemplary implementation of the systems 504A, 504B in the electronic communication network, according to an embodiment of the disclosure. For the sake of brevity, the components that are already explained in the description of previous figures are not explained in detail in the description of Figure 11.

[0152] In an embodiment, the remote electronic device 102 may transmit video content stream via internet protocol (IP) multimedia subsystem (IMS) to the operator server 1102. The operator server 1102 may function as an intermediate communication server for handling enriched calling content transmission between the remote electronic device 102 and the primary electronic device 104.

[0153] The system 504A may be implemented at the primary electronic device 104. The system 504A may include an application layer, a content handler, and a progressive uploader. The content handler may establish a first streaming channel for downloading video content from the operator server 1102. The content handler may provide the downloaded video content stream to a target application for displaying the video content along with the incoming call screen.

[0154] Simultaneously, the progressive uploader component of the system 504A may receive the video content stream from the content handler and may establish a second streaming channel for uploading the content to the progressive server 502. The progressive uploader may initiate content transmission to the progressive server 502 without waiting for complete download of the video content from the operator server 1102. The progressive uploading may enable real-time content streaming while the primary electronic device 104 continues to receive content from the operator server 1102.

[0155] The system 504B may be implemented at the progressive server 502. The system 504B may be configured to multi-cast the received video content stream to the one or more secondary electronic devices 108. The progressive server 502 may establish third, fourth, and fifth streaming channels for simultaneous content distribution to the connected secondary electronic devices 108A.

[0156] Each secondary electronic device 108A may comprise an application layer, a content handler, and a progressive downloader. The progressive downloader may receive the video content stream from the progressive server 502 through the respective streaming channels. The content handler at each secondary electronic device 108A may process the received content and may provide the stream to the application for displaying the video content. The one or more secondary electronic devices 108 may begin rendering the video content without waiting for complete download of the content files.

[0157] The content uploading from the primary electronic device 104, multi-casting from the progressive server 502, and downloading at the secondary electronic devices 108A may occur concurrently while the video content download from the operator server 1102 remains in progress.

[0158] Figures 12a-12b illustrate an exemplary signal flow diagram for establishing the streaming session across multiple electronic devices 106 or 108, according to an embodiment of the disclosure.

[0159] In an embodiment, at operation 1202, the remote electronic device 102 may initiate the enriched calling session by transmitting an invite VoLTE / ViLTE call message to the primary electronic device 104 through the operator server 1102.

[0160] At operation 1204, the primary electronic device 104 may display an incoming call indication. The incoming call indication may present subject information, picture data, and priority indicators received with the enriched calling session.

[0161] At operation 1206, the primary electronic device 104 may generate a relay call invite message and may transmit the message to the first server 106. At operation 1208, the relay call invite message may include remote server data and local device data. The remote server data may include subject information, priority indicators, and other enriched calling attributes received from the remote electronic device 102. The local device data may include contact information and device-specific parameters from the primary electronic device 104.

[0162] At operation 1210, the first server 106 may check peer-to-peer availability and may transmit an invite message to the first set of secondary electronic devices 108A. The invite message may include multi-part content body containing the remote server data and local device data.

[0163] At operation 1212, the first server 106 may transmit an invite message to the second set of secondary electronic devices 108B. The invite message may comprise a multi-part content body for call forking.

[0164] At operations 1214 and 1216, the first set of secondary electronic devices 108A, and the second set of secondary electronic devices 108B may receive the remote server data and local device data through the multi-part content transmission.

[0165] At operations 1218 and 1220, the first set of secondary electronic devices 108A, and the second set of secondary electronic devices 108B may display incoming call indications based on the received enriched calling attributes.

[0166] At operation 1222, the primary electronic device 104 may initiate the retrieval of picture data stream from the operator server 1102 to obtain binary content associated with the enriched calling.

[0167] At operation 1224, the primary electronic device 104 may receive a 200 OK response confirming successful picture data retrieval. At operation 1226, the application may display the enriched calling content on the primary electronic device 104 interface. The progressive uploader, at operation 1228 at the primary electronic device 104 may initiate progressive uploading to the progressive server 502. The progressive uploading may transmit media content in sequential chunks numbered and subsequent chunks without waiting for complete content download from the operator server 1102.

[0168] The progressive server 502, at operation 1230, may store enriched calling content. The progressive server 502 may multi-cast the enriched calling content to all available secondary devices. At operation 1232, the progressive downloader at the first set of secondary electronic devices 108A may receive the plurality of chunks. At operation 1234, the progressive downloader at the second set of secondary electronic devices 108B may receive the plurality of chunks.

[0169] In an embodiment, when a new secondary device is available, the progressive server 502 may provide all stored contents to the new secondary device. The new secondary device may still be allowed to rewind the previous stream as well, as it may still be able to download from the progressive server 502.

[0170] Figures 13a-13b illustrate a comparison of implementation architecture for establishing the streaming session across multiple electronic devices 106 or 108, according to an embodiment of the disclosure.

[0171] Figure 13a illustrates the architecture implementation according to a related art. The remote electronic device 102, primary electronic device 104, and secondary electronic device 108 may include call app modules and call service modules for handling communication. The call service modules may manage call placement and call forking. The call app modules may handle UI for call placement and incoming call notification displays.

[0172] The primary electronic device 104 may include a content handler for managing enriched calling content. The content handler may download enriched calling content from the operator server 1102 and may coordinate content display through the call app module. The VoLTE / ViLTE call session may be established between the remote electronic device 102 and the primary electronic device 104. The continuity call session may be established between the primary electronic device 104 and the secondary electronic device 108 through call forking.

[0173] Figure 13b illustrates the implementation according to the disclosure. The progressive server 502 may be introduced to handle progressive content streaming across multiple electronic devices 106 or 108.

[0174] The primary electronic device 104 may include the progressive uploader in addition to the existing content handler. The progressive uploader may transmit the plurality of chunks to the progressive server 502 without waiting for complete content availability from the operator server 1102. The progressive uploader may enable real-time content streaming while content download from the operator server 1102 remains in progress.

[0175] The one or more secondary electronic devices 108 may include the progressive downloader. The progressive downloader may receive the plurality of chunks from the progressive server 502 and may provide the plurality of chunks to the call app module for immediate display. The progressive downloader may enable real-time content display without waiting for complete file download.

[0176] The progressive server 502 may store received plurality of chunks received for future synchronization with newly connecting electronic devices 108B. The progressive server 502 may support dynamic device connections by streaming stored content from the point of joining of the electronic device. The progressive server 502 may enable content navigation, such as rewinding to previous content segments through a stored plurality of chunks.

[0177] In an exemplary embodiment, the progressive server 502 may support interactive applications such as chess games or other real-time interactive content. When the streaming session is in progress for interactive applications, newly joining secondary electronic devices 108B may receive content streaming from the point of joining.

[0178] Figures 14a-14b illustrate an exemplary comparison of the UI of primary electronic device 104 and the one or more secondary electronic devices 108 in case of enriched calling, before and after implementation of the disclosure, according to an embodiment of the disclosure.

[0179] Figure 14a illustrates the UI presentation prior to implementation of the disclosure. The remote electronic device 102 may initiate the enriched calling session to the primary electronic device 104 through the operator server 1102. The primary electronic device 104 may display an incoming call interface with enriched calling contents including business logo, subject information, business name, and verified business call indicators. The secondary electronic device 108 may receive the same incoming call through the continuity session via the first server 106. However, the one or more secondary electronic devices 108 may display an incoming call without VBC contents. The absence of enriched calling features on the one or more secondary electronic devices 108 may result in an inconsistent user experience.

[0180] Figure 14b illustrates the UI presentation after implementation of the disclosure. The primary electronic device 104 may display the incoming call with enriched calling contents as in the previous scenario. However, the one or more secondary electronic device 108 may now display an incoming call with enriched calling contents, presenting a consistent enriched calling experience across both devices. The synchronization of enriched calling contents may be achieved through the progressive streaming that enables real-time distribution of binary data including business logos, subject information, and other enriched calling attributes to all connected secondary electronic devices 108A or 108B.

[0181] Figures 15a-15b illustrate an exemplary comparison of the UI of primary electronic device 104 and the one or more secondary electronic devices 108 in case of enriched calling, before and after implementation of the disclosure, according to another embodiment of the disclosure.

[0182] Figure 15a illustrates the user interface presentation for enriched calling calling prior to implementation of the disclosure. The remote electronic device 102 may initiate the enriched calling session with video content. The primary electronic device 104 may display an incoming call interface with video contents.

[0183] The secondary electronic device 108 may receive the incoming call through the continuity session but may display incoming call without video contents. The lack of video content on the one or more secondary electronic devices 108 may create an inconsistent calling experience across connected electronic devices 108 or 104.

[0184] Figure 15b illustrates the user interface presentation for enriched calling after implementation of the disclosure. Both the primary electronic device 104 and the secondary electronic device 108 may display incoming call with video contents. The secondary electronic device 108 may present the same video content that is available on the primary electronic device 104.

[0185] Figure 16 illustrates an exemplary flow chart of the method for establishing the streaming session across multiple electronic devices 106 or 108 in case of enriched calling, according to an embodiment of the disclosure.

[0186] In an embodiment, operation 1602 involves receiving, at the primary electronic device 104, the incoming call from the remote electronic device with video file and playing the video file on the primary electronic device 104 screen. The incoming call may include media content such as video files associated with enriched calling.

[0187] In an embodiment, operation 1604 involves determining, by one or more secondary electronic devices 108, whether the call is ringing at the one or more secondary electronic devices 108.

[0188] In an embodiment, operation 1606 involves preparing, at the primary electronic device 104, the metadata of the media content and transmitting the metadata to the progressive server 502.

[0189] In an embodiment, operation 1608 involves dividing, at the primary electronic device 104, the media content into plurality of chunks as the media content is being received, rather than waiting for the entire file to be uploaded.

[0190] In an embodiment, operation 1610 involves establishing, at the primary electronic device 104, a new secondary streaming channel to transmit the media contents to the one or more secondary electronic devices 108.

[0191] In an embodiment, operation 1612 involves processing, by the progressive server 502, the plurality of chunks without waiting for full contents to be available and multi-casting to available secondary electronic devices so that call related media contents become visible to users along with the communication session.

[0192] In an embodiment, operation 1614 involves creating, by the progressive server 502 a new download streaming channel without waiting for full availability of the media content.

[0193] In an embodiment, operation 1616 involves processing and displaying, at the one or more secondary electronic devices 108, the received content immediately on the one or more secondary electronic devices 108 screen along with the communication session.

[0194] In an embodiment, operation 1624 involves updating, by the progressive server 502, the call session with latest chunk media content such as video file. Updating the call session may incorporate newly received content chunks into the active communication session.

[0195] In an embodiment, operation 1622 involves determining, by the progressive server 502, whether another secondary electronic device is connected. If another secondary electronic device is connected, operation 1620 involves updating time of joining, active status, or time of leaving so that the progressive server 502 multi-casts to newly connected secondary electronic devices.

[0196] In an embodiment, operation 1618 involves synchronization, by the progressive server 502, of streams based on secondary electronic devices 108 availability with respect to time of joining and leaving, so that stream content is displayed appropriately. The stream may also be synchronized after preparing the new secondary streaming channel at operation 1610.

[0197] In an embodiment, operation 1626 involves determining, by the progressive server 502, whether any secondary electronic device 108 is disconnected. Upon detecting device disconnection, the corresponding streaming session may be stopped.

[0198] Figure 17 illustrates an exemplary flow chart of the method for establishing the streaming session across multiple electronic devices 106 or 108 in case of shared sketch calling, according to an embodiment of the disclosure.

[0199] Shared sketch may be an interactive communication feature that enables collaborative drawing or sketching capabilities during active communication sessions between multiple electronic devices 106 or 108.

[0200] In an embodiment, operation 1702 involves the primary electronic device 104 receiving the incoming call from the remote electronic device 102. The incoming call may initiate a communication session with shared sketch functionality.

[0201] In an embodiment, operation 1704 involves determining, by the primary electronic device 104, whether the call is accepted at the primary electronic device 104.

[0202] In an embodiment, if the call is accepted at operation 1704, operation 1706 involves determining, by the primary electronic device 104, whether the user accepted the shared sketch invitation. If the user accepted the shared sketch invitation at operation 1706, operation 1708 involves determining whether the call is pulled to the one or more secondary electronic device 108.

[0203] If the call is pulled to the one or more secondary electronic device 108, operation 1710 involves the primary electronic device 104 preparing metadata information of the media content and transmitting the metadata to the progressive server 502. In an embodiment, operation 1712 involves the primary electronic device 104 dividing the media content into the plurality of chunks as the media content is being received, rather than waiting for the entire file to be uploaded.

[0204] In an embodiment, operation 1714 involves the primary electronic device 104 preparing a new secondary streaming channel to transmit the plurality of chunks obtained by dividing the media contents at operation 1712, to the one or more secondary electronic devices 108. The streaming channel may facilitate shared sketch data distribution across connected devices.

[0205] In an embodiment, operation 1716 involves the progressive server 502 processing the received media contents without waiting for full contents availability and multi-casting to available secondary electronic devices so that call related media contents become visible to users along with the communication session.

[0206] In an embodiment, operation 1718 involves the progressive server 502 creating a new download streaming channel without waiting for full availability of content. The new download streaming channel may enable immediate sketch data transmission to the one or more secondary electronic devices 108.

[0207] In an embodiment, operation 1720 involves processing and displaying, by the one or more secondary electronic devices 108, the received content immediately on the one or more secondary electronic devices 108 screen along with the communication session.

[0208] Thereafter, operation 1728 involves updating, by the progressive server 502, the communication session with the latest sketch states. The updating the communication session may involve incorporating recent sketch modifications and user interactions.

[0209] Thereafter, operation 1726 involves determining, by the progressive server 502, whether another secondary electronic device is connected. In an embodiment, operation 1724 involves updating time of joining, active status, or time of leaving so that the progressive server 502 multi-casts to newly connected secondary electronic devices.

[0210] In an alternative embodiment, the one or more secondary electronic devices 108 may request the media content at particular timestamp. At operation 1730, communication session may be updated with the latest media content such as sketch for the requested timestamp. Further, at operation 1732 involves determining whether the user performs undo or redo operations on the sketch at the primary electronic device.

[0211] In an embodiment, if another secondary electronic device is connected at operation 1726 or if the user performs undo or redo operations at operation 1732, operation 1722 involves synchronization of streams based on secondary electronic devices availability with respect to time of joining and leaving so that stream content is displayed appropriately.

[0212] Figure 18 illustrates an exemplary signal flow diagram for establishing the streaming session across multiple electronic devices 106 or 108 in case of shared sketch calling, according to an embodiment of the disclosure.

[0213] In an embodiment, at operation 1802, the remote electronic device 102 may initiate a call to the primary electronic device 104. Thereafter, at operation 1804, the remote electronic device 102 may transmit an invite shared sketch message to the primary electronic device 104. The shared sketch invitation may request activation of collaborative drawing functionality during the communication session.

[0214] The primary electronic device 104 may accept the incoming call and may subsequently accept the shared sketch invitation. The acceptance of shared sketch functionality may enable interactive drawing between the connected devices.

[0215] A call session with shared sketch session may be established between the primary electronic device 104 and the remote electronic device 102.

[0216] The call session with shared sketch session may be established between the remote electronic device 102 and the first set of secondary electronic devices 108A. The session extension may enable the first set of secondary electronic devices 108A to participate in the shared sketch.

[0217] At operation 1806, the primary electronic device 104 may upload the media content such as sketch data to the progressive server 502.

[0218] When the user performs undo operations on the sketch, at operation 1808, uploading of streaming content such as sketch modifications may occur to reflect the undo actions. The undo functionality may enable users to revert previous sketch operations while maintaining synchronization across all connected devices.

[0219] When a user creates additional sketch content, at operation 1810, uploading, by the first set of secondary electronic devices 108A, streaming content such as sketch data may continue to capture the new drawing elements.

[0220] Thereafter, at operation 1812, the first set of secondary electronic devices 108A may download the streaming content such as sketch data from the progressive server 502.

[0221] When the call is pulled by the second set of secondary electronic devices 108B, a call session with shared sketch session may be established between the remote electronic device 102 and the second set of secondary electronic devices 108B.

[0222] Upon establishing the call session, the second set of secondary electronic devices 108B may download the streaming content such as sketch data from the progressive server 502 at operation 1814. The progressive server 502 may distribute the current sketch state and ongoing modifications to the newly connected devices.

[0223] Figure 19 illustrates a flow chart depicting a method 1900 for establishing the streaming session across multiple electronic devices 106 or 108, according to an embodiment of the disclosure. The method 1900 may be a computer-implemented method executed by the primary electronic device 104 and the modules of the system. For the sake of brevity, constructional and operational features of the system that are already explained in the description of previous figures are not explained in detail in the description of Figure 19.

[0224] The method 1900, at operation 1902, involves receiving, by the primary electronic device 104, the incoming call from the remote electronic device 102. In the operation 1902, the primary electronic device 104 may be connected with the first set of secondary electronic devices 108A. In the operation 1902, the incoming call may comprise one or more attributes and the media content of the streaming session between the remote electronic device 102, the primary electronic device 104, and the first set of secondary electronic devices 108A.

[0225] Thereafter, at operation 1904, the method 1900 involves determining, upon receiving the incoming call, by the primary electronic device 104, whether the one or more conditions are satisfied. In the operation 1904, the one or more conditions may indicate the one or more client triggered events.

[0226] Subsequently, at operation 1906, the method 1900 involves establishing, by the primary electronic device 104, the streaming session, synchronized with the first set of secondary electronic devices by progressively transmitting the media content to the progressive server. The streaming session may be established in response to determining that the one or more conditions are satisfied.

[0227] Figure 20 illustrates a flow chart depicting a method 2000 for establishing the streaming session across multiple electronic devices 106 or 108, according to an embodiment of the disclosure. The method 2000 may be a computer-implemented method executed by the progressive server and the modules of the system. For the sake of brevity, constructional and operational features of the system that are already explained in the description of previous figures are not explained in detail in the description of Figure 20.

[0228] The method 2000, at operation 2002, involves progressively receiving, by the progressive server 502, the media content from the primary electronic device 104. In the operation 2002, the media content may comprise the plurality of chunks.

[0229] Thereafter, at operation 2004, the method 2000 involves storing, at the progressive server 502, the corresponding chunk of the media content. The operation 2004 may be performed in response to progressively receiving each chunk among the plurality of chunks.

[0230] Subsequently, at operation 2006, the method 2000 involves multi-casting, by the progressive server 502, the corresponding chunk of the media content to the first set of secondary electronic devices 108A, to establish the streaming session. The operation 2006 may be performed in response to storing each chunk among the plurality of chunks.

[0231] At least by virtue of the aforesaid, the disclosure at least provides the following advantages:

[0232] The disclosure herein provides consistent enriched calling experience across all connected electronic devices by synchronizing VBC, VCID, and RCS enriched calling attributes in real-time, thereby eliminating inconsistent user interfaces and content presentation discrepancies between primary and secondary electronic devices.

[0233] The disclosure herein implements efficient synchronization of large binary data files including pictures, videos, audio clips, and location information through progressive server architecture, thereby overcoming bandwidth limitations and timing mismatches associated with HTTP-based content transfer procedures.

[0234] The disclosure herein enables progressive transmission and distribution of media content without requiring complete media content availability at the primary electronic device, thereby significantly reducing overall latency between incoming call reception and enriched calling feature presentation on secondary electronic devices.

[0235] The disclosure herein supports dynamic connectivity of additional secondary electronic devices during active streaming sessions while providing stored content access from the progressive server, thereby enabling seamless expansion of multi-device communication without interrupting ongoing enriched calling sessions.

[0236] The disclosure herein enables time-based content access functionality including undo, redo, rewind, and replay operations through stored chunk availability at the progressive server, thereby providing interactive navigation capabilities for enriched calling content across all connected electronic devices.

[0237] The disclosure herein supports interactive applications such as shared sketch functionality with real-time collaborative drawing capabilities through progressive streaming architecture, thereby enabling synchronized interactive content sharing during active communication sessions.

[0238] The language used in the disclosure has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the disclosed subject matter. It is therefore intended that the scope of the disclosure not be limited by this detailed description. Accordingly, the disclosure of the various example embodiments of the disclosure is intended to be illustrative, not limiting, of the scope of the disclosure, including the appended claims and their equivalents.

[0239] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting. It will also be understood that any of the embodiment(s) described herein may be used in conjunction with any other embodiment(s) described herein.

Claims

1.A method (1900) for establishing a streaming session across multiple electronic devices, the method (1900) comprising:receiving (1902), by a primary electronic device (104), an incoming call from a remote electronic device (102), wherein the primary electronic device (104) is connected with a first set of secondary electronic devices (108A), and wherein the incoming call comprises a media content of the streaming session among the remote electronic device (102), the primary electronic device (104), and the first set of secondary electronic devices (108A);determining (1904), upon receiving the incoming call, by the primary electronic device (104), whether one or more conditions are satisfied, wherein the one or more conditions indicate one or more client triggered events; andbased on determining that the one or more conditions are satisfied, establishing (1906), by the primary electronic device (104), the streaming session synchronized with the first set of secondary electronic devices (108A) by transmitting the media content to a progressive server (502).2.The method (1900) of claim 1, wherein transmitting the media content to the progressive server (502) comprises:generating, by the primary electronic device (104), a metadata for the media content;transmitting, by the primary electronic device (104), the generated metadata to the progressive server (502);generating a plurality of chunks of the media content by dividing the media content into the plurality of chunks; andtransmitting, each of the generated plurality of chunks to the progressive server (502).3.The method (1900) of claim 1, comprising:transmitting, upon receiving the incoming call, by the primary electronic device (104), a request message to a first server (106) to initiate the streaming session with the first set of secondary electronic devices (108A).4.The method (1900) of claim 3, wherein the request message comprises a remote server data and a local device data, andwherein the local device data comprises one or more information associated with the primary electronic device (104) to be transmitted as a part of a multi-part session description protocol (SDP) for call forking.5.A method (2000) for establishing a streaming session across multiple electronic devices, the method (2000) comprising:receiving (2002), by a progressive server (502), a media content from a primary electronic device (104), wherein the media content comprises a plurality of chunks;storing (2004), by the progressive server (502), each of the plurality of chunks of the media content; andmulti-casting (2006), by the progressive server (502), each of the plurality of chunks of the media content to a first set of secondary electronic devices (108A), to establish the streaming session.6.The method (2000) of claim 5, comprising:obtaining, by the progressive server (502), a connection information from a device management server connected to the first set of secondary electronic device (108A), wherein the connection information comprises joining time and leaving time for each secondary electronic device (108) among the first set of secondary electronic devices (108A); andsynchronizing the streaming session based on the connection information.7.The method (2000) of claim 5, comprising:detecting, by the progressive server (502), a connection with a second set of secondary electronic devices (108B); andestablishing, by the progressive server (502), a streaming channel with the second set of secondary electronic devices (108B).8.The method (2000) of claim 7, wherein establishing the streaming channel comprises:obtaining, by the progressive server (502), a connection information from a device management server connected to the second set of secondary electronic devices (108B), wherein the connection information comprises joining time and leaving time for the second set of secondary electronic devices (108B); andtransmitting one or more chunks among the plurality of chunks to the second set of secondary electronic devices (108B) based on the connection information.9.The method (2000) of claim 7, comprising:receiving, by the progressive server (502), one or more content access request from a secondary electronic device (108) among at least one of the first set of secondary electronic devices (108A) and a second set of secondary electronic devices (108B), wherein the one or more content access request comprises at least one of an undo request, a rewind request, a redo request, a replay request;determining one or more chunks among the plurality of chunks to be transmitted to the secondary electronic device (108) based on the content access request; andtransmitting the one or more chunks to the corresponding secondary electronic device (108).10.A system (504A) for establishing a streaming session across multiple electronic devices, the system (504A) comprising:memory (604) storing instructions;at least one processor (602) in communication with the memory (604), wherein the instructions, when executed by the at least one processor (602) individually or collectively, cause the system to:receive, at a primary electronic device (104), an incoming call from a remote electronic device (102), wherein the primary electronic device (104) is connected with a first set of secondary electronic devices (108A), and wherein the incoming call comprises a media content of the streaming session among the remote electronic device (102), the primary electronic device (104), and the first set of secondary electronic devices (108A);determine, upon receiving the incoming call, whether one or more conditions are satisfied, wherein the one or more conditions indicate one or more client triggered events; andbased on determining that the one or more conditions are satisfied, establish the streaming session, synchronized with the first set of secondary electronic devices (108A) by transmitting the media content to a progressive server (502).11.The system (504A) of claim 10, wherein to transmit the media content to the progressive server (502), the instructions, when executed by the one or more processors (602) individually or collectively, cause the system to:generate a metadata for the media content;transmit the generated metadata to the progressive server (502);in response to transmitting the generated metadata, generate a plurality of chunks of the media content by dividing the received media content into the plurality of chunks;transmit, in response to generating each chunk among the plurality of chunks of the media content, the corresponding chunk to the progressive server (502).12.The system (504A) of claim 10, wherein the instructions, when executed by the one or more processors (602) individually or collectively, cause the system totransmit, upon receiving the incoming call, a request message to a first server (106) to initiate the streaming session with the first set of secondary electronic devices (108A),wherein the request message comprises a remote server data and a local device data,wherein the local device data comprises one or more information associated with the primary electronic device (104) to be transmitted as a part of a multi-part session description protocol (SDP) for call forking.13.A system (504B) for establishing a streaming session across multiple electronic devices, the system (504B) comprising:memory (604) storing instructions;at least one processor (602) in communication with the memory (604), wherein the instructions, when executed by the at least one processor (602) individually or collectively, cause the system to:receive, a media content from a primary electronic device (104), wherein the media content comprises a plurality of chunks;store each of the plurality of chunks of the media content; andmulti-cast, each of the plurality of chunks of the media content to a first set of secondary electronic devices (108A), to establish the streaming session.14.The system (504B) of claim 13, wherein the instructions, when executed by the one or more processors (602) individually or collectively, cause the system to:obtain a connection information from a device management server connected to the first set of secondary electronic device (108A), wherein the connection information comprises joining time and leaving time for each secondary electronic device (108) among the first set of secondary electronic devices (108A); andsynchronize the streaming session based on the connection information.15.The system (504B) of claim 13, wherein the instructions, when executed by the one or more processors (602) individually or collectively, cause the system to:detect a connection with a second set of secondary electronic devices (108B);obtain a connection information from a device management server connected to the second set of secondary electronic devices (108B), wherein the connection information comprises joining time and leaving time for the second set of secondary electronic devices (108B); andtransmit one or more chunks among the plurality of chunks to the second set of secondary electronic devices (108B) based on the connection information.

Citation Information

Patent Citations

  • Methods and Devices for Controlled Data Upload in Mobile Cellular Networks

    US20150230124A1

  • Base Phone and Additional Phone Implementation, Answering, Calling, and Intercom Method, and IP Terminal

    US20160182731A1

  • Methods, Apparatuses and System for Synchronizing Call Media and Content

    US20170272577A1

  • Framework and method for realizing multimedia communication, fusion equipment and UE

    US20180159906A1

  • Electronic device and communication relaying method thereof

    US20200053521A1