Method and system for providing a media content steering

The method and system for media content steering dynamically adjust media stream resolution and user cohorts to address high concurrency issues, optimizing resource use and maintaining quality in media streaming systems.

WO2026094061A1PCT designated stage Publication Date: 2026-05-07JIOSTAR INDIA PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
JIOSTAR INDIA PTE LTD
Filing Date
2025-09-09
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing media streaming systems face challenges in handling high concurrency of users, leading to infrastructure overload, increased resource demands, and congestion, necessitating efficient resource management and quality determination during media streaming.

Method used

A method and system for media content steering that dynamically adjusts media stream resolution based on user concurrency, onboarding, and deboarding rates in real-time, using a processing unit to determine content resolution modification percentages and reassign users to cohorts, modifying manifest files to optimize resource utilization.

Benefits of technology

Enhances resource efficiency and maintains audience engagement by adaptively managing media stream quality and distribution, reducing infrastructure strain and costs during high user concurrency scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025051463_07052026_PF_FP_ABST
    Figure IN2025051463_07052026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to method(s) and system(s) for providing a media content steering The method comprises determining in real time, by a processing unit [202], a number of users accessing a media stream on a digital platform. Further, the method comprises determining, by the processing unit [202], at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. The method further comprises determining, by the processing unit [202], a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Furthermore, the method comprises providing, by the processing unit [202] on the digital platform, the media content steering based on the content resolution modification percentage.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD AND SYSTEM FOR PROVIDING A MEDIA CONTENT STEERING

[0002] FIELD OF INVENTION

[0003] The present invention generally relates to media content management and delivery. More particularly the present invention relates to methods and systems for providing media content steering.

[0004] BACKGROUND

[0005] The following description of the related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as an admission of the prior art.

[0006] Media streaming generally includes streaming of video and / or audio, as a regular stream or a live stream. The difference between the regular stream and the live stream is that the regular stream is created beforehand, stored and then shared to users of a content delivery platform (e.g., an over- the-top (OTT) platform). Whereas in the live stream the users receive a media stream in real-time or near real-time of creation of such media stream. For example, in a live stream of a cricket match, the cricket match being played is streamed for the users of the content delivery platform in the real-time or near real-time when the match is being played. The example of the regular stream may include delivering movies, serial or series etc. which are beforehand recorded and then streamed from the content delivery platform for the users to watch. The streaming of the media stream (also may referred herein as a media content) involves several steps such as, but not limited to, video capturing, encoding, Content Delivery Network (CDN) distribution, CDN caching, decoding, and video playback etc.

[0007] More specifically, once a media stream, say a video, is captured, the media stream is encoded. The encoding is a process in which the media stream is compressed by breaking it down into multiple chunks using one or more compression techniques, wherein such compressing may be performed without compromising the quality of the media stream. After encoding and compressing the media stream it may be made available to the users of the content delivery platform. Also, in order to maintain high quality with minimal latency while serving the media stream to multiple viewers in different locations, the content delivery platforms may use the Content Delivery Network (CDN). The CDN is a distributed network of servers that cache and serve content on behalf of server(s) of the content delivery platform. The CDN, via the distributed network of servers, provides the same content to various users, but from a respective server configured at a local location near the users. It also caches the content so that the users don’t have to make a call to a master server of the content delivery platform.

[0008] Further, in a scenario where a media streaming of a big event is to be provided from the content delivery platform, there are high chances of accessing such media streaming by a large number of users, and this may lead to the problems related to such as requirement of resources on a large scale; configuring content data network; and generating content in smaller segments etc. Further, during the media streaming of the big event on the content delivery platform the load on the CDN servers also increases. Therefore, in such scenarios the existing infrastructure gets overloaded, and the network for content delivery gets congested.

[0009] One major drawback of the existing systems and methods is related to handling data when there is a high concurrency of the users on the content providing platform. Though high concurrency is often seasonal in nature, but in the existing systems it becomes quite cumbersome to handle the same as it requires a lot of additional infrastructure and background resources. This further leads to the increased revenue involved in the content delivery platform.

[0010] Furthermore, the time-consuming process of regularly keeping track of a larger bulk of users joined concurrently requires heavy investment in the infrastructure and background resources as there is a lot of computational processing and related hardware resources that are needed to implement the same. At the same time, it is important to keep the retention of the audience intact on the content providing platform.

[0011] Therefore, in the high user concurrency scenarios, there is a need for optimization that is required to be done to efficiently maintain the delivery of the high user concurrency media stream on the user device(s). Further, there is also a need for judicious and efficient use of the existing resources of a digital platform (i.e., the content delivery platform). Furthermore, in the existing systems there is also a need to determine the quality of the high user concurrency media stream for the user(s) on the user device(s) which directly afflicts the utilization of the resources and inventory for the content steering at the content delivery server(s). In order to solve the above and other related inherent problems, it is an imperative need to create a method and system that may efficiently and effectively manage the delivery of the content to be provided on the user device(s).

[0012] OBJECT OF THE DISCLOSURE

[0013] Some of the objects of the present disclosure which at least one embodiment disclosed herein satisfies are listed herein below.

[0014] It is an object of the present disclosure to provide a system and a method for providing a media content steering.

[0015] It is another object of the present disclosure to provide a solution to automatically change resolution of the media stream based on a high user concurrency value, a user onboarding rate and / or a user deboarding rate in the real time.

[0016] It is yet another object of the present disclosure to provide a solution to automatically decide the resolution percentage based on the high user concurrency value, the user onboarding rate and / or the user deboarding rate in the real time.

[0017] It is yet another object of the present disclosure to provide a solution to automatically reassign during a media streaming, a new cohort for a user based on the high user concurrency value, the user onboarding rate and / or the user deboarding rate in the real time.

[0018] It is yet another object of the present disclosure to provide a solution to automatically reassign user(s) to new cohort based on a modification in resolution percentage required for streaming media on user device(s) of such user(s).

[0019] It is yet another object of the present disclosure to provide a solution to automatically change during a media streaming, the manifest files related to the media stream based on the high user concurrency value, the user onboarding rate and / or the user deboarding rate in the real time.

[0020] It is yet another object of the present disclosure to provide a solution that during a media streaming can automatically modify the resolution of the content to be delivered by the content delivery system, for efficient resource management. It is yet another object of the present disclosure to provide a solution that during a media streaming can automatically modify the resolution of the content to be delivered to one or more users, one or more users in one or more cohorts and / or all users of all cohorts.

[0021] It is yet another object of the present disclosure to provide a solution that can enhance utilization of resources and inventory of content recommendation at a content delivery server system of a digital platform, by automatically modifying resolution of a content to be delivered by the content delivery server system.

[0022] It is yet another object of the present disclosure to provide a solution for judicious and efficient use of the existing resources of a digital platform (i.e., a content delivery platform e.g., an OTT platform).

[0023] SUMMARY OF THE DISCLOSURE

[0024] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.

[0025] An aspect of the present disclosure relates to a method for providing a media content steering. The method comprises determining in real time, by a processing unit, a number of users accessing a media stream on a digital platform. Further, the method comprises determining, by the processing unit, at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. The method further comprises determining, by the processing unit, a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Furthermore, the method comprises providing, by the processing unit on the digital platform, the media content steering based on the content resolution modification percentage.

[0026] In an exemplary aspect of the present disclosure, the media content steering is provided during streaming of the media stream.

[0027] In an exemplary aspect of the present disclosure, the media stream is a live stream of the media content, and wherein each of the media stream, and the number of users is determined based on a load information received from a plurality of user devices accessing the digital platform.

[0028] In an exemplary aspect of the present disclosure, the high user concurrency value is determined in an event the number of users exceeds a pre-defined number of users. The pre-defined number of users is determined based on at least one of a bandwidth of a content delivery system, and a load on the content delivery system

[0029] In an exemplary aspect of the present disclosure, the providing, by the processing unit on the digital platform, the media content steering comprises: 1) receiving, by the processing unit, one or more manifest files related to the media stream from one of a database and a content delivery system, based on the content resolution modification percentage; and 2) providing, by the processing unit on the digital platform, the media content steering based on the one or more manifest files.

[0030] In an exemplary aspect of the present disclosure, the providing, by the processing unit on the digital platform, the media content steering comprises: 1) receiving, by the processing unit, one or more instructions to select one or more uniform resource locators (URLs) from at least one of the received one or more manifest files and one or more previously stored manifest files, 2) selecting, by the processing unit, the one or more URLs based on the received one or more instructions, and 3) providing, by the processing unit on the digital platform, the media content steering based on the selected one or more URLs

[0031] In an exemplary aspect of the present disclosure, the content resolution modification percentage is one of a content resolution dilution percentage and a content resolution amplification percentage, and wherein 1) the content resolution dilution percentage is a percentage to which a content resolution of the media stream is to be decreased, and 2) the content resolution amplification percentage is a percentage to which a content resolution of the media stream is to be increased.

[0032] In an exemplary aspect of the present disclosure, the method comprises determining the content resolution dilution percentage as one of a high content resolution dilution percentage, a medium content resolution dilution percentage, and a low content resolution dilution percentage, based on at least one of: 1) a comparison of the high user concurrency value with a pre-defined user concurrency threshold; 2) a comparison of the current user onboarding concurrency rate with a pre-defined user onboarding concurrency rate, and 3) a comparison of the current user deboarding concurrency rate with a pre-defined user deboarding concurrency rate. In an exemplary aspect of the present disclosure, the method further comprises providing, by the processing unit, the media content steering at one of: 1) one or more user devices of one or more new users of the digital platform, in an event the content resolution dilution percentage is determined as the low content resolution dilution percentage; 2) one or more user devices related to one or more user cohorts associated with the digital platform, based on one of: i) an event where the content resolution dilution percentage is determined as the medium content resolution dilution percentage, and ii) at least one of a current user onboarding concurrency rate at the one or more cohorts, and a current user deboarding concurrency rate at the one or more cohorts; and 3) each user device related to the one or more user cohorts associated with the digital platform in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage.

[0033] In an exemplary aspect of the present disclosure, the one or more user cohorts are created by categorizing one or more users of a plurality of user devices accessing the digital platform, and wherein the categorization is based on at least one of one or more user parameters related to the one or more users and one or more device parameters related to the plurality of user devices.

[0034] In an exemplary aspect of the present disclosure, each user device related to the one or more user cohorts is connected to a corresponding content delivery system for receiving the media stream.

[0035] In an exemplary aspect of the present disclosure, the providing, by the processing unit on the digital platform, the media content steering comprises: 1) the determining, by the processing unit from the one or more user cohorts, a first user cohort and a second user cohort, wherein: i) the first user cohort is associated with a high content resolution dilution percentage, and the second user cohort is associated with at least one of a low content resolution dilution percentage and a target user deboarding concurrency rate, and ii) the first user cohort is related to the second user cohort based on a common set of parameters; and 2) providing, by the processing unit, the media stream to one or more user devices related to the first user cohort from a content delivery system related to the second user cohort.

[0036] In an exemplary aspect of the present disclosure, the media content steering is provided based on a receipt of one of a dynamic request and a periodic request from one or more user devices accessing the digital platform. Another aspect of the present disclosure relates to a system for providing a media content steering. The system comprises a storage unit, and a processing unit connected at least to the storage unit. Further, the processing unit is configured to determine in real time a number of users accessing a media stream on a digital platform. Further, the processing unit is configured to determine at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. The processing unit is further configured to determine a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Furthermore, the processing unit is configured to provide on the digital platform, the media content steering based on the content resolution modification percentage.

[0037] Another aspect of the present disclosure relates to a user device. The user device comprises a memory and a processor connected to the memory. The processor is configured to transmit, to a system, one of a dynamic request and a periodic request for providing media content steering for a media stream. Further, the processor is configured to receive, from the system, a request accepted indication in response to one of the dynamic request and the periodic request. The request accepted indication is generated at the system based on a number of users accessing the media stream on a digital platform. The processor is further configured to modify a content fetching request based on the request accepted indication. Further, the processor is configured to transmit, to the system, the modified content fetching request to receive the media stream based on the media content steering. Furthermore, the processor is configured to receive, from the system, the media stream in response to the modified content fetching request.

[0038] Yet another aspect of the present disclosure relates to a non-transitory computer readable storage medium storing one or more instructions for providing a media content steering, the instructions include executable code which, when executed by one or more units of a system, causes a processing unit of the system to determine in real time a number of users accessing a media stream on a digital platform. Further, the executable code when executed causes the processing unit to determine at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. The executable code when further executed causes the processing unit to determine a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Furthermore, the executable code when executed causes the processing unit to provide on the digital platform, the media content steering based on the content resolution modification percentage.

[0039] BRIEF DESCRIPTION OF DRAWINGS

[0040] The accompanying drawings, which are incorporated herein, constitute a part of this disclosure. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components. Although exemplary connections between sub-components have been shown in the accompanying drawings, it will be appreciated by those skilled in the art that other connections may also be possible, without departing from the scope of the invention. All sub -components within a component may be connected to each other, unless otherwise indicated.

[0041] FIG. 1 illustrates an exemplary network architecture for content delivery on a digital platform, in accordance with exemplary embodiments of the present invention.

[0042] FIG. 2 A illustrates an exemplary block diagram of a system for providing a media content steering, in accordance with exemplary embodiments of the present invention.

[0043] FIG. 2B illustrates another exemplary block diagram of a processing unit for providing a media content steering, in accordance with exemplary embodiments of the present invention.

[0044] FIG. 3 illustrates an exemplary flow diagram of a method for providing a media content steering, in accordance with exemplary embodiments of the present invention.

[0045] The foregoing shall be more apparent from the following more detailed description of the invention.

[0046] DETAILED DESCRIPTION

[0047] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter may each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.

[0048] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0049] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.

[0050] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed but could have additional steps not included in a figure.

[0051] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word — without precluding any additional or other elements.

[0052] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a (Digital Signal Processing) DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor. Furthermore, to execute certain operations, the processing unit / processor as disclosed in the present disclosure may include one or more Central Processing Unit (CPU) and one or more Graphics Processing Unit (GPU), selected based on said certain operations. Furthermore, the graphics processing unit (GPU) is a specialized electronic circuit designed to rapidly manipulate and alter a memory to accelerate the creation of images in a frame buffer intended for output to a display device.

[0053] As used herein, “storage unit” or “memory unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit can be any type of storage unit such as Cloud or CDN (content delivery network) storage, public, shared, private, telecommunications operator-based storage, or any other type of storage known in the art or may be developed in future that may be obvious to a person skilled in the art for implementing the features of the present disclosure. The storage unit stores at least the data that may be required by one or more units of the server / system / user device to perform their respective functions.

[0054] A ‘smart computing device’ or ‘user device’ refers to any electrical, electronic, electromechanical equipment or a combination of one or more of the above devices. Smart computing devices may include, but not limit to, a mobile phone, smart phone, pager, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, smart television, gaming consoles, media streaming devices, one or more virtual assistant devices, one or more smart streaming media projectors, or any other computing device as may be obvious to a person skilled in the art. In general, a smart computing device is a digital, user configured, computer networked device that can operate autonomously. A smart computing device is one of the appropriate systems for storing data. A “smartphone” is one type of “smart computing device” that refers to the mobility wireless cellular connectivity device that allows end users to use services on 2G, 3G, 4G, 5G or other upcoming generations of mobile broadband Internet connections with an advanced mobile operating system which combines features of a personal computer operating system with other features useful for mobile or handheld use. These smartphones can access the Internet, have a touchscreen user interface, can run third-party apps.

[0055] As used herein a “digital platform” or a “content delivery platform” or a “media streaming platform” may be used interchangeably and it may be any platform that can be accessed on a user device to provision media stream(s). The digital platform may be one of an application (app) installed on the user device, a website accessed on the user device, an in-app media rendering platform, a pluggable streaming module, and any such other platform that can render media on the user device and is obvious to person skilled in the art to implement the features of the present disclosure.

[0056] The present subject matter is further described with reference to the accompanying figures. Wherever possible, the same reference numerals are used in the figures and the following description to refer to the same or similar parts. It should be noted that the description and figures merely illustrate principles of the present subject matter. It is thus understood that various arrangements may be devised that, although not explicitly described or shown herein, encompass the principles of the present subject matter. Moreover, all statements herein reciting principles, aspects, and examples of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof.

[0057] The manner in which a content steering is provided on a digital platform is explained in detail with respect to FIGs. 1-3. It is to be noted that drawings of the present subject matter shown here are for illustrative purposes and are not to be construed as limiting the scope of the subject matter claimed.

[0058] Referring to FIG. 1 an exemplary network architecture for content delivery on a digital platform, in accordance with exemplary embodiments of the present invention is illustrated. The FIG. 1 illustrates the network environment

[0100] related to an embodiment of the present invention. It may be noted that the network environment

[0100] , illustrated and hereinafter described, is merely illustrative of an arrangement for describing some exemplary embodiments, and therefore, may not be taken to limit the scope of the embodiments. As such, it should be noted that at least some of the components described below in connection with the environment

[0100] may be optional and thus in some embodiments may include more, less, or different components than those described in connection with subsequent FIG. 2 to FIG. 3.

[0059] The network environment

[0100] illustrates a user

[0102] , a user device

[0104] associated with the user

[0102] , a content delivery server system

[0106] (or may be referred herein as content delivery system), a database

[0108] associated with the content delivery server system

[0106] , a network

[0110] and a communication delivery network

[0112] , For the purpose of clarity, it is illustrated in the FIG. 1 that there exists a single user device

[0104] and single the user

[0102] however, there may be any number of the user devices

[0104] or the users

[0102] that may be required to implement the features of the present disclosure.

[0060] Various entities in the environment

[0100] may connect to the network

[0110] in accordance with various wired and wireless communication protocols, such as internet, Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), 2nd Generation (2G), 3rd Generation (3G), 4th Generation (4G), 5th Generation (5G) communication protocols, Long Term Evolution (LTE) communication protocols, broadband, future communication protocols or any combination thereof.

[0061] In an exemplary implementation, the network

[0110] may include multiple different networks, such as a private network made accessible by the content delivery server system

[0106] and a public network (e.g., the Internet, etc.) through which the content delivery server system

[0106] may communicate.

[0062] The user

[0102] may correspond to any individual, organization, representative of a corporate entity, a non-profit organization, or any other person who accesses a content delivery platform associated with the content delivery server system

[0106] on the user device

[0104] , In one embodiment, the user

[0102] may run an application associated with the content delivery platform or a website associated with the content delivery platform on the user device

[0104] with facilitation of a network, such as the network

[0110] ,

[0063] Further, the user device

[0104] may include any suitable electronic or computing device such as, but not limited to, a smartphone, a personal computer, a laptop, a personal digital assistant (PDA), an electronic tablet, a desktop computer, a content streaming device, a wearable device such as a smartwatch, or a smart device such as smart TV or a smart appliance, a smartwatch, etc., among other suitable electronic devices.

[0064] The application may refer to an application software that is configured to perform specific tasks or provide specific functionality to the user

[0102] on digital devices, such as the user device

[0104] ,

[0065] In one exemplary implementation, the application corresponds to an Over-the-top (OTT) application. In general, the OTT application is a digital application that delivers video, audio, and other media content directly to users over the internet, bypassing traditional broadcast and cable television platforms. In another exemplary implementation, the application corresponds to a digital video streaming application.

[0066] The user

[0102] may run the application on the user device

[0104] for entertainment purposes. In one example, the user

[0102] may download and / or install the application from the content delivery server system

[0106] , In another example, the user

[0102] may download and / or install the application from a remote server (not shown in figures). In an embodiment, the content delivery server system

[0106] is deployed as a standalone server or can be implemented in cloud as software as a service (SaaS). Also, the content delivery server system

[0106] may be a group of connected servers where one or more servers from such group of connected servers may be configured locally or at a cloud end. In another embodiment, the content delivery server system

[0106] is deployed as a distributed server. In an embodiment, the content delivery server system

[0106] provides or hosts the application. In an embodiment, the application is executed in the user device

[0104] , In an example, the application connects with the content delivery server system

[0106] via the network

[0110] in near real-time or real time. Further, the application enables the user

[0102] to view and run multimedia content with ease.

[0067] The database(s)

[0108] may be adapted to store information, such as, the information or data required to implement the features of the present disclosure. For instance, database

[0108] stores data including but not limited to an information related to one or more users on the digital platform wherein said information may include a user attribute information, user browsing pattern, and a cohort information etc. In an implementation, the database

[0108] may be associated with the content delivery server system

[0106] , In an implementation, the database

[0108] may be accessed, viewed, managed, and / or updated with facilitation of a database management system (DBMS), relational database management system (RDBMS), or the like. The database

[0108] may be intrinsically or extrinsically (for e.g., locally installed or based in a cloud server) deployed to a system

[0200] , The database may be a single or distributed database depending upon the frequency of the users. Also, in an implementation, the database may be a combination of an internal database and an external database. The content delivery server system

[0106] is then configured to render the media stream on the application or the website in the user device

[0104] ,

[0068] In general, the content delivery network (CDN)

[0112] is a geographically distributed network of servers strategically placed in various locations around the world. The CDNs facilitate efficient delivery of content, such as personalized content layout / or catalogue (whether dynamic or static), web pages, images, videos, and other digital assets, to end-users, reducing latency and improving load times.

[0069] The CDN

[0112] is further connected to various other CDNs (not shown in figures) present at different geographical locations, creating a hierarchy of interconnected networks. Each CDN

[0112] in the hierarchy can have its own set of servers (e.g., the content delivery server system

[0106] ) located in different regions, forming a distributed network infrastructure. It is to be noted that the CDN

[0112] may be a public CDN, a private CDN, a Telco CDN or an Internet Service Provider (ISP) CDN.

[0070] When the application communicates with the content delivery server system

[0106] after initial authentication or validation of subscription of the user via the user device, the communication request is routed through the CDN network. The CDN

[0112] then uses intelligent routing algorithms to direct the communication request to the nearest server or the server with the lowest load (e.g., the content delivery server system

[0106] ), minimizing the distance and optimizing response times. After the direction of the communication request, the content catalogue layout is then routed through the CDN

[0112] ,

[0071] By enabling the communication among the servers in this distributed network, the content delivery server system

[0106] can process requests more efficiently and scale resources dynamically based on the demand of the user

[0102] , This approach ensures that the method performed by the content delivery server system

[0106] is scalable, providing a robust and responsive experience to users regardless of their geographical location.

[0072] The number and arrangement of systems, devices, and / or networks shown in FIG. 1 are provided as an example. There may be additional systems, devices, and / or networks; fewer systems, devices, and / or networks; different systems, devices, and / or networks, and / or differently arranged systems, devices, and / or networks than those shown in FIG. 1. Furthermore, two or more units or devices shown in FIG. 1 may be implemented within a single system or device, or a single unit or device shown in FIG. 1 may be implemented as multiple, distributed systems or devices. Additionally, or alternatively, a set of systems (e.g., one or more systems) or a set of devices (e.g., one or more devices) of the network environment

[0100] may perform one or more functions described as being performed by another set of systems or another set of devices of the network environment

[0100] ,

[0073] Referring to FIG. 2A an exemplary block diagram of a system

[0200] for providing a media content steering, in accordance with exemplary embodiments of the present invention is illustrated. The system

[0200] comprises at least one processing unit

[0202] and at least one storage unit

[0204] , Also, all of the components / units of the system

[0200] are assumed to be connected to each other unless otherwise indicated below. Also, in FIG. 2A only a few units are shown, however, the system

[0200] may comprise multiple such units or the system

[0200] may comprise any such numbers of said units, as required to implement the features of the present disclosure. Further, in an implementation, the system

[0200] may be present in the content delivery server system

[0106] connected to the network

[0110] , the content delivery network

[0112] and the database

[0108] to implement the features of the present invention.

[0074] Referring to FIG. 2B an exemplary block diagram of the processing unit

[0202] for providing a media content steering, in accordance with exemplary embodiments of the present invention is illustrated. The processing unit

[0202] comprises at least one concurrency module [202a], at least one content resolution modification module [202b], at least one manifest module [202c], and at least one cohort module [202d], Also, all of the components / units of the processing unit

[0202] are assumed to be connected to each other unless otherwise indicated below. Also, in FIG. 2B only a few units are shown, however, the processing

[0202] may comprise multiple such units or the processing unit

[0202] may comprise any such numbers of said units, as required to implement the features of the present disclosure.

[0075] It may be noted that FIG. 2A and FIG. 2B have been explained simultaneously and may be read in conjunction with each other.

[0076] The system

[0200] is configured for providing a media content steering, with the help of the interconnection between the components / units of the system

[0200] , The media content steering is provided during streaming of a media stream.

[0077] In operation, the processing unit

[0202] may determine in real time a number of users accessing the media stream on a digital platform (may also referred as media streaming platform or content delivery platform). The media stream may be a live stream of the media content. Further, each of the media stream, and the number of users is determined based on a load information received from a plurality of user devices accessing the digital platform.

[0078] In an exemplary implementation, the load information may comprise one or more load parameters such as, but not limited to, a number of users concurrently streaming the media stream (e.g. live stream), etc. Further, the one or more load parameters may be received at a pulse system from the plurality of user devices accessing the media stream. The pulse system in an implementation may be a component of the processing unit

[0202] that analyses a load condition related to the media stream.

[0079] In another exemplary implementation, the system

[0200] may receive via the pulse system the one or more load parameters such as, but not limited to, a heartbeat information from the plurality of user devices that are currently engaged with the digital platform, to determine in the real time the number of users on the digital platform. The heartbeat information includes details such as, but not limited to, a status of one or more contents accessed at the plurality of user devices via the digital platform. Furthermore, the number of users accessing the media stream (e.g. live stream) may join and leave the media stream. Therefore, the number of users of the media stream may fluctuate up and down, and thus the number of users is determined in the real time or in a near real time.

[0080] Continuing further, the processing unit

[0202] may determine at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. Also, the processing unit

[0202] may use the concurrency module [202a] to determine at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. As would be understood high user concurrency value may indicate that a high number of viewers concurrently watching the media stream (e.g. live stream). Also, it may be understood that the high user concurrency value may be determined based on the one or more load parameters or load information related to the media stream.

[0081] Further, the high user concurrency value is determined in an event the number of users / viewers exceeds a pre-defined number of users. Further, the pre-defined number of users may be determined based on a bandwidth of the content delivery system and a load on the content delivery system (may also referred as content delivery server system). The pre-defined number of users may also depend on a health (e.g. load, running instances, scaling capacity etc.) and a count of servers available and / or deployed to provide media streaming via the digital platform. Further, the pre-defined number of users may also depend on the servers that may run when the media stream is streamed on the digital platform. Furthermore, the pre-defined number of users may be determined in the real time and may vary depending on the media stream accessed at the plurality of the user devices.

[0082] Considering an example, say, 50 servers are deployed to deliver the media stream to one or more users of the plurality of user devices. The deployed servers may be capable of streaming media stream (e.g. live stream) on, say, 5 million user devices at 4k resolution based on one or more parameters such as, but not limited to, the load condition of the deployed servers, etc. Thus, the bandwidth of the 50 servers may be 5 million users i.e., the deployed 50 servers may accommodate 5 million users concurrently during the media streaming (e.g., live streaming) and may deliver the media stream at 4k resolution to the 5 million users concurrently. Further, when the number users exceed the pre-defined number of users i.e., 5 million users, it may be referred to as the high user concurrency at the deployed servers, and accordingly the high user concurrency value is determined.

[0083] Furthermore, the current user onboarding concurrency rate may relate to a rate at which the new users may join the media stream, streamed on the content delivery platform or the number of users concurrently joining the media stream in a specified time period. For example, 30 users are concurrently joining the media stream in 1 second, so the user onboarding concurrency rate may be 30 users per second. Whereas the current user deboarding concurrency rate may relate to a rate at which the current users may stop accessing the media stream on the content delivery platform or the number of users concurrently leaving the media stream in a specified time period. For example, 30 users are concurrently leaving or may stop accessing the media stream in 1 second, so the user deboarding concurrency rate may be 30 users per second.

[0084] Continuing further, the processing unit

[0202] may determine a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Also, the processing unit

[0202] may use the content resolution modification module [202b] to determine the content resolution modification percentage. The content resolution modification percentage is one of a content resolution dilution percentage and a content resolution amplification percentage. Further, the content resolution dilution percentage is a percentage to which the resolution of the media stream may be decreased. Whereas the content resolution amplification percentage is a percentage to which the resolution of the media stream may be increased.

[0085] In an exemplary implementation, when the number of users on the content delivery platform exceeds the pre-defined number of users and / or the current user onboarding concurrency rate increases, the content resolution modification percentage may be content resolution dilution percentage i.e., the resolution of the media stream on the plurality of user devices of the one or more users may be decreased.

[0086] In another exemplary implementation, when the number of users on the content delivery platform decreases, goes back to normal and / or when the current user deboarding rate increases, the content resolution modification percentage may be content resolution amplification percentage i.e., the resolution of the media stream on the plurality of the user devices of the one or more users may be increased back.

[0087] Considering an example, a pre-defined limit of the content delivery server system is 20 million users. During the media streaming (e.g. live streaming) there are chances that the number users may exceed the 20 million users, say, to 25 million users. Since, the load on the content delivery server system may increase, the processing unit

[0202] , decreases the current load on the content delivery server system, by determining the content resolution dilution percentage based on which the processing unit

[0202] decreases the resolution of the content provided to the users for saving resources. Further, when the number of users decreases and comes within the pre-defined number of users, say, it becomes 15 million users, the processing unit

[0202] may determine the content resolution amplification percentage and increases back the resolution of the content provided to the users.

[0088] Further, in yet another exemplary implementation, when the load on the content delivery platform increases or when the number of users on the content delivery server system exceeds the predefined number of users, the content resolution modification percentage may remain same, but a bit rate of the content resolution may be decreased. As would be understood generally, the bit rate may define an amount of data or information that may be transmitted in a given period of time from the content delivery system to the plurality of the user devices. Moreover, in an implementation, an adaptive bit rate streaming (ABR) may be considered depending on the load on the content delivery platform. The adaptive bit rate streaming (ABR) may refer to the technique to adjust the quality of the media stream delivered to the user device based on the network conditions of the one or more users of the plurality of the user devices.

[0089] Considering an example, the media stream from the content delivery system was transmitted to the plurality of user devices at the bit rate between 44 Mbps-56 Mbps. When the number of users exceed the pre-defined number of users i.e., when high user concurrency value is determined, the content delivery system may transmit the media stream at lowered or decreased bit rate, say, 20 Mbps to the plurality of user devices of the one or more users of the digital platform.

[0090] Further, the processing unit

[0202] may determine the content resolution dilution percentage as one of a high content resolution dilution percentage, a medium content resolution dilution percentage, and a low content resolution dilution percentage. In one exemplary implementation, the content resolution dilution percentage may be determined based on a comparison of the high user concurrency value with a pre-defined user concurrency threshold (e.g., the predefined number of users). In another exemplary implementation, the content resolution dilution percentage may be based on a comparison of the current user onboarding concurrency rate with a pre-defined user onboarding concurrency rate. Furthermore, in yet another exemplary implementation, the content resolution dilution percentage may be based on, a comparison of the current user deboarding concurrency rate with a pre-defined user deboarding concurrency rate. Moreover, in an implementation, from the above scenarios a combination of two or more scenarios may be considered to determine the content resolution dilution percentage.

[0091] Continuing further, the processing unit

[0202] provides on the digital platform, the media content steering based on the content resolution modification percentage. In an exemplary implementation, to provide the media content steering, the processing unit

[0202] may receive one or more manifest files related to the media stream from one of a database and a content delivery system, based on the content resolution modification percentage. Thereafter, the processing unit

[0202] provides on the digital platform, the media content steering based on the received one or more manifest files. Also, the processing unit

[0202] may use the manifest module [202c] to receive the one or more manifest files. Whereas in another exemplary implementation, the processing unit

[0202] may receive one or more instructions to select one or more uniform resource locators (URLs) from at least one of the received one or more manifest files and one or more previously stored manifest files. Further, based on the received instructions, the processing unit

[0202] may select the one or more URLs, and provides the media content steering based on the selected one or more URLs.

[0092] As would be understood, the manifest file is a small data file that may include the information related to media stream that may be streamed on the content delivery platform. The information related to the media stream may include such as, but not limited to, duration of the media stream, resolution of the media stream, bit rate of the media stream, the one or more URLs etc. The one or more URLs fetches the media stream of a specific duration, resolution, bit rate, etc. on the user device to stream the media stream.

[0093] Considering an example, the one or more previously stored manifest files may include the URL of the media stream with, say, 4k resolution. Thus, the media stream may be streamed in 4k resolution at the plurality of user devices of the one or more users. However, in an event, the number of users exceeds the pre-defined number of users i.e., the high user concurrency value is determined, the URL from newly received one or more manifest files may be selected. The received one or more manifest files may include the URL of the media stream with, say, 1080p resolution, wherein such URL may be for receiving a media stream from a previous CDN or a new CDN. Therefore, now the media stream may be streamed at the plurality of user devices of the one or more users at the 1080p resolution based on the URL in the received one or more manifest files.

[0094] Considering another example, the previously stored one or more manifest files may include the URL of the media stream with, say, 4k resolution and the URL of the media stream with, say, 1080p resolution. Initially, the media stream may be delivered in 4k resolution at the plurality of user devices of the one or more users. However, in an event the number of users exceeds the predefined number of users i.e., the high user concurrency value is determined, the one or more instructions may be received to select the URL of the media stream with 1080p resolution from the previously stored one or more manifest files and deliver the media stream at the plurality of user devices of the one or more users in the 1080p resolution.

[0095] Therefore, the processing unit

[0202] may provide, on the digital platform, the media content steering based on the one or more manifest files. More particularly, the processing unit

[0202] may provide the media content steering based on the selected one or more URLs from at least one of the received one or more manifest files and the previously stored one or more manifest files.

[0096] Continuing further, in an implementation the processing unit

[0202] may provide the media content steering at one or more user devices of one or more new users of the digital platform, in an event the content resolution dilution percentage is determined as the low content resolution dilution percentage. Considering an example, the content resolution dilution percentage is determined as the low content resolution dilution percentage, say, 5 percent dilution. The resolution of the media stream (e.g. live stream) for the one or more new users joining the media stream may be decreased. Whereas the resolution of the media stream for the users already accessing the media stream may remain the same and may not be diluted.

[0097] In another exemplary implementation, the processing unit

[0202] may provide the media content steering at one or more user devices related to one or more user cohorts associated with the digital platform, based on one of: 1) an event where the content resolution dilution percentage is determined as the medium content resolution dilution percentage, and 2) at least one of a current user onboarding concurrency rate at the one or more cohorts, and a current user deboarding concurrency rate at the one or more cohorts.

[0098] Considering an example, in an event the content resolution dilution percentage is determined as the medium content resolution dilution percentage, say, 10-15 percent dilution. The resolution of the content for the one or more users falling within a particular cohort or joining a particular cohort may be decreased by 10-15 percent. The resolution for the new one or more users and / or existing one or more users related to the particular cohort may be decreased.

[0099] Considering another example, in an event the current user onboarding rate at a particular cohort increases and / or the current user deboarding rate at the said cohort decreases. The resolution of the one or more new users currently onboarding the digital platform and / or the one or more existing users decreases.

[0100] In yet another exemplary implementation, the processing unit

[0202] may provide the media content steering at each user device related to the one or more user cohorts associated with the digital platform in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage.

[0101] Considering an example, in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage, say, more than 15 percent. The resolution of the media stream for each user (both the one or more new users and the one or more existing users) related each cohort may be decreased.

[0102] It is to be noted that an amount of the resolution to be diluted is not limiting and may include any amount (for e.g., 1080p to 720p or 360p etc.) as obvious to the person skilled in the art to implement the solution disclosed in the present disclosure. Continuing further, the processing unit

[0202] may use the cohort module [202d] to create one or more user cohorts. The one or more user cohorts are created by categorizing one or more users of a plurality of user devices accessing the digital platform, and wherein the categorization is based on at least one of one or more user parameters related to the one or more users and one or more device parameters related to the plurality of user devices. The users associated with the content delivery platform are classified into various cohorts based on a similarity between a set of predetermined parameters associated with them and / or with their respective user devices such as browsing pattern, demographic data etc. Furthermore, each user device related to the one or more user cohorts is connected to a corresponding content delivery server system for receiving the media stream.

[0103] Considering an example, the different types of Cohorts may be let’s say a Cohort A (having the following details like Age being 25-35 years, gender being Male, Location being Delhi), a Cohort B (having the following details like person being a kid, content affinity being that of sports & cartoon), etc.

[0104] Continuing further, in an implementation, the processing unit

[0202] determines from the one or more user cohorts, a first user cohort and a second user cohort. The first user cohort is associated with a high content resolution dilution percentage, and the second user cohort is associated with at least one of a low content resolution dilution percentage and a target user deboarding concurrency rate. The target user deboarding concurrency rate is a pre-defined user deboarding concurrency rate. Also, the first user cohort is related to the second user cohort based on a common set of parameters. Thereafter, in this implementation, the processing unit

[0202] provides the media stream to one or more user devices related to the first user cohort from a content delivery server system related to the second user cohort.

[0105] Considering an example, the processing unit

[0202] may determine high content resolution dilution percentage for a cohort A and may determine low content resolution dilution percentage for a cohort B. Also, the set of parameters for both the cohort A and the cohort B are similar. In this event the content delivery server system of the cohort B may provide the media stream to the one or more users of the cohort A to efficiently manage the resources at the content delivery server system of both the cohort A and cohort B and to provide to the users of these cohorts the media streams with an optimal resolution dilution. Therefore, the one or more users of both the cohort A and the cohort B may access the media stream with the low but optimal content resolution dilution percentage.

[0106] Furthermore, in an implementation, the media content steering is provided based on a receipt of one of a dynamic request and a periodic request from one or more user devices accessing the digital platform. The media content steering based on the request from the user device is a pull type steering. In the pull type steering the user device may dynamically or periodically check with the content delivery system for any media content steering instruction. Whereas in another exemplary implementation, the user device may automatically receive the media content steering instruction from the content delivery system. This automatic receipt of the media content steering instructions is a push type steering.

[0107] Particularly, based on the implementations of the present disclosure, a media content is streamed to user(s) in small chunks, that are played in sequence / subsequently to each other to reproduce the continuity in the media content. More specifically, different users watching a stream of the media content on different devices, based on their user profile, device configuration and device network bandwidth, may get the media stream on their respective devices in different renditions (quality / resolution, bitrate or combination thereof), in a chunk / segm ent-based delivery. But when a concurrency event is met (i.e., the media stream is identified as a high user concurrency stream), a real-time decision to dilute or amplify the media stream resolution is determined and accordingly user device(s) of the user(s) would be pushed to a particular rendition of same media content from their current progress, i.e. the upcoming , new segments of media content for the users are complied to the dilution / amplification percentage.

[0108] Thus, the present disclosure provides a solution that is technically advantageous over existing adaptive bit rate streaming (ABR) based solutions which purely works on the network (n / w) constraints at individual level. The solution as disclosed in the present disclosure also helps user devices from ABR fluctuations / frequent back and forth, and let users be in a consistent playback experience for a decent good time.

[0109] Referring to FIG. 3 an exemplary flow diagram of a method

[0300] for providing a media content steering, in accordance with exemplary embodiments of the present invention is illustrated. In an implementation the method

[0300] is performed by a system

[0200] , The method

[0300] as depicted in FIG. 3 starts at step

[0302] ,

[0110] At step

[0304] , the method

[0300] comprises determining in real time, by a processing unit

[0202] , a number of users accessing a media stream on a digital platform. The media stream may be a live stream of the media content. Further, each of the media stream, and the number of users is determined based on a load information received from a plurality of user devices accessing the digital platform.

[0111] In an exemplary implementation, the load information may comprise one or more load parameters such as, but not limited to, a number of users concurrently streaming the media stream (e.g. live stream), etc. Further, the one or more load parameters may be received at a pulse system from the plurality of user devices accessing the media stream. The pulse system in an implementation may be a component of the processing unit

[0202] that analyses a load condition related to the media stream.

[0112] In another exemplary implementation, the system

[0200] may receive via the pulse system the one or more load parameters such as, but not limited to, a heartbeat information from the plurality of user devices that are currently engaged with the digital platform, to determine in the real time the number of users on the digital platform. The heartbeat information includes details such as, but not limited to, a status of one or more contents accessed at the plurality of user devices via the digital platform. Furthermore, the number of users accessing the media stream (e.g. live stream) may join and leave the media stream. Therefore, the number of users of the media stream may fluctuate up and down, and thus the number of users is determined in the real time or in a near real time.

[0113] Next, at step

[0306] , the method

[0300] comprises determining, by the processing unit

[0202] , at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. Also, the processing unit

[0202] may use the concurrency module [202a] to determine at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. As would be understood high user concurrency value may indicate that a high number of viewers concurrently watching the media stream (e.g. live stream). Also, it may be understood that the high user concurrency value may be determined based on the one or more load parameters or load information related to the media stream.

[0114] Further, the high user concurrency value is determined in an event the number of users / viewers exceeds a pre-defined number of users. Further, the pre-defined number of users may be determined based on a bandwidth of the content delivery system and a load on the content delivery system. The pre-defined number of users may also depend on a health (e.g. load, running instances, scaling capacity etc.) and a count of servers available and / or deployed to provide media streaming via the digital platform. Further, the pre-defined number of users may also depend on the servers that may run when the media stream is streamed on the digital platform. Furthermore, the predefined number of users may be determined in the real time and may vary depending on the media stream accessed at the plurality of the user devices.

[0115] Considering an example, say, 50 servers are deployed to deliver the media stream to one or more users of the plurality of user devices. The deployed servers may be capable of streaming media stream (e.g. live stream) on, say, 5 million user devices at 4k resolution based on one or more parameters such as, but not limited to, the load condition of the deployed servers, etc. Thus, the bandwidth of the 50 servers may be 5 million users i.e., the deployed 50 servers may accommodate 5 million users concurrently during the media streaming (e.g., live streaming) and may deliver the media stream at 4k resolution to the 5 million users concurrently. Further, when the number users exceed the pre-defined number of users i.e., 5 million users, it may be referred to as the high user concurrency at the deployed servers, and accordingly the high user concurrency value is determined.

[0116] Furthermore, the current user onboarding concurrency rate may relate to a rate at which the new users may join the media stream, streamed on the content delivery platform or the number of users concurrently joining the media stream in a specified time period. For example, 30 users are concurrently joining the media stream in 1 second, so the user onboarding concurrency rate may be 30 users per second. Whereas the current user deboarding concurrency rate may relate to a rate at which the current users may stop accessing the media stream on the content delivery platform or the number of users concurrently leaving the media stream in a specified time period. For example, 30 users are concurrently leaving or may stop accessing the media stream in 1 second, so the user deboarding concurrency rate may be 30 users per second.

[0117] Further, at step

[0308] , the method

[0300] comprises determining, by the processing unit

[0202] , a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Also, the processing unit

[0202] may use the content resolution modification module [202b] to determine the content resolution modification percentage. The content resolution modification percentage is one of a content resolution dilution percentage and a content resolution amplification percentage. Further, the content resolution dilution percentage is a percentage to which the resolution of the media stream may be decreased. Whereas the content resolution amplification percentage is a percentage to which the resolution of the media stream may be increased.

[0118] In an exemplary implementation, when the number of users on the content delivery platform exceeds the pre-defined number of users and / or the current user onboarding concurrency rate increases, the content resolution modification percentage may be content resolution dilution percentage i.e., the resolution of the media stream on the plurality of user devices of the one or more users may be decreased.

[0119] In another exemplary implementation, when the number of users on the content delivery platform decreases, goes back to normal and / or when the current user deboarding rate increases, the content resolution modification percentage may be content resolution amplification percentage i.e., the resolution of the media stream on the plurality of the user devices of the one or more users may be increased back. In an implementation, the content resolution amplification percentage is one of a high content resolution amplification percentage, a medium content resolution amplification percentage, and a low content resolution amplification percentage. Considering an example, a predefined limit of the content delivery server system is 20 million users. During the media streaming (e.g. live streaming) there are chances that the number users may exceed the 20 million users, say, to 25 million users. Since, the load on the content delivery server system may increase, the processing unit

[0202] , decreases the current load on the content delivery server system, by determining the content resolution dilution percentage based on which the processing unit

[0202] decreases the resolution of the content provided to the users for saving resources. Further, when the number of users decreases and comes within the pre-defined number of users, say, it becomes 15 million users, the processing unit

[0202] may determine the content resolution amplification percentage and increases back the resolution of the content provided to the users.

[0120] Further, in yet another exemplary implementation, when the load on the content delivery platform increases or when the number of users on the content delivery server system exceeds the predefined number of users, the content resolution modification percentage may remain same, but a bit rate of the content resolution may be decreased. As would be understood generally, the bit rate may define an amount of data or information that may be transmitted in a given period of time from the content delivery system to the plurality of the user devices. Moreover, in an implementation, an adaptive bit rate streaming (ABR) may be considered depending on the load on the content delivery platform. The adaptive bit rate streaming (ABR) may refer to the technique to adjust the quality of the media stream delivered to the user device based on the network conditions of the one or more users of the plurality of the user devices.

[0121] Considering an example, the media stream from the content delivery system was transmitted to the plurality of user devices at the bit rate between 44 Mbps-56 Mbps. When the number of users exceed the pre-defined number of users i.e., when high user concurrency value is determined, the content delivery system may transmit the media stream at lowered or decreased bit rate, say, 20 Mbps to the plurality of user devices of the one or more users of the digital platform.

[0122] Further, the processing unit

[0202] may determine the content resolution dilution percentage as one of a high content resolution dilution percentage, a medium content resolution dilution percentage, and a low content resolution dilution percentage. In one exemplary implementation, the content resolution dilution percentage may be determined based on a comparison of the high user concurrency value with a pre-defined user concurrency threshold (e.g., the predefined number of users). In another exemplary implementation, the content resolution dilution percentage may be based on a comparison of the current user onboarding concurrency rate with a pre-defined user onboarding concurrency rate. Furthermore, in yet another exemplary implementation, the content resolution dilution percentage may be based on, a comparison of the current user deboarding concurrency rate with a pre-defined user deboarding concurrency rate. Moreover, in an implementation, from the above scenarios a combination of two or more scenarios may be considered to determine the content resolution dilution percentage.

[0123] Furthermore, at step

[0310] , the method

[0300] comprises providing, by the processing unit

[0202] on the digital platform, the media content steering based on the content resolution modification percentage. In an exemplary implementation, to provide the media content steering, the processing unit

[0202] may receive one or more manifest files related to the media stream from one of a database and a content delivery system, based on the content resolution modification percentage. Thereafter, the processing unit

[0202] provides on the digital platform, the media content steering based on the received one or more manifest files. Also, the processing unit

[0202] may use the manifest module [202c] to receive the one or more manifest files. Whereas in another exemplary implementation, the processing unit

[0202] may receive one or more instructions to select one or more uniform resource locators (URLs) from at least one of the received one or more manifest files and one or more previously stored manifest files. Further, based on the received instructions, the processing unit

[0202] may select the one or more URLs, and provides the media content steering based on the selected one or more URLs. In an implementation, based on a modified manifest, a user device for receiving a media content rewrites the host / CDN address from where the new or upcoming content segments will be fetched.

[0124] As would be understood, the manifest file is a small data file that may include the information related to media stream that may be streamed on the content delivery platform. The information related to the media stream may include such as, but not limited to, duration of the media stream, resolution of the media stream, bit rate of the media stream, the one or more URLs etc. The one or more URLs fetches the media stream of a specific duration, resolution, bit rate, etc. on the user device to stream the media stream.

[0125] Considering an example, the one or more previously stored manifest files may include the URL of the media stream with, say, 4k resolution. Thus, the media stream may be streamed in 4k resolution at the plurality of user devices of the one or more users. However, in an event, the number of users exceeds the pre-defined number of users i.e., the high user concurrency value is determined, the URL from newly received one or more manifest files may be selected. The received one or more manifest files may include the URL of the media stream with, say, 1080p resolution. Therefore, now the media stream may be streamed at the plurality of user devices of the one or more users at the 1080p resolution based on the URL in the received one or more manifest files.

[0126] Considering another example, the previously stored one or more manifest files may include the URL of the media stream with, say, 4k resolution and the URL of the media stream with, say, 1080p resolution. Initially, the media stream may be delivered in 4k resolution at the plurality of user devices of the one or more users. However, in an event the number of users exceeds the predefined number of users i.e., the high user concurrency value is determined, the one or more instructions may be received to select the URL of the media stream with 1080p resolution from the previously stored one or more manifest files and deliver the media stream at the plurality of user devices of the one or more users in the 1080p resolution.

[0127] Therefore, the processing unit

[0202] may provide, on the digital platform, the media content steering based on the one or more manifest files. More particularly, the processing unit

[0202] may provide the media content steering based on the selected one or more URLs from at least one of the received one or more manifest files and the previously stored one or more manifest files.

[0128] Continuing further, in an implementation the processing unit

[0202] may provide the media content steering at one or more user devices of one or more new users of the digital platform, in an event the content resolution dilution percentage is determined as the low content resolution dilution percentage. Considering an example, the content resolution dilution percentage is determined as the low content resolution dilution percentage, say, 5 percent dilution. The resolution of the media stream (e.g. live stream) for the one or more new users joining the media stream may be decreased. Whereas the resolution of the media stream for the users already accessing the media stream may remain the same and may not be diluted.

[0129] In another exemplary implementation, the processing unit

[0202] may provide the media content steering at one or more user devices related to one or more user cohorts associated with the digital platform, based on one of: 1) an event where the content resolution dilution percentage is determined as the medium content resolution dilution percentage, and 2) at least one of a current user onboarding concurrency rate at the one or more cohorts, and a current user deboarding concurrency rate at the one or more cohorts.

[0130] Considering an example, in an event the content resolution dilution percentage is determined as the medium content resolution dilution percentage, say, 10-15 percent dilution. The resolution of the content for the one or more users (both the one or more new users and the one or more existing users) falling within a particular cohort or joining a particular cohort may be decreased by 10-15 percent. The resolution for the new one or more users and / or existing one or more users related to the particular cohort may be decreased.

[0131] Considering another example, in an event the current user onboarding rate at a particular cohort increases and / or the current user deboarding rate at the said cohort decreases. The resolution of the one or more new users currently onboarding the digital platform and / or the one or more existing users decreases.

[0132] In yet another exemplary implementation, the processing unit

[0202] may provide the media content steering at each user device related to the one or more user cohorts associated with the digital platform in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage.

[0133] Considering an example, in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage, say, more than 15 percent. The resolution of the media stream for each user (both the one or more new users and the one or more existing users) related each cohort may be decreased. It is to be noted that an amount of the resolution to be diluted is not limiting and may include any amount (for e.g., 1080p to 720p or 360p etc.) as obvious to the person skilled in the art to implement the solution disclosed in the present disclosure.

[0134] Continuing further, the processing unit

[0202] may use the cohort module [202d] to create one or more user cohorts. The one or more user cohorts are created by categorizing one or more users of a plurality of user devices accessing the digital platform, and wherein the categorization is based on at least one of one or more user parameters related to the one or more users and one or more device parameters related to the plurality of user devices. The users associated with the content delivery platform are classified into various cohorts based on a similarity between a set of predetermined parameters associated with them and / or with their respective user devices such as browsing pattern, demographic data etc. Furthermore, each user device related to the one or more user cohorts is connected to a corresponding content delivery server system for receiving the media stream.

[0135] Considering an example, the different types of Cohorts may be let’s say a Cohort A (having the following details like Age being 25-35 years, gender being Male, Location being Delhi), a Cohort B (having the following details like person being a kid, content affinity being that of sports & cartoon), etc.

[0136] Continuing further, in an implementation, the processing unit

[0202] determines from the one or more user cohorts, a first user cohort and a second user cohort. The first user cohort is associated with a high content resolution dilution percentage, and the second user cohort is associated with at least one of a low content resolution dilution percentage and a target user deboarding concurrency rate. The target user deboarding concurrency rate is a pre-defined user deboarding concurrency rate. Also, the first user cohort is related to the second user cohort based on a common set of parameters. Thereafter, in this implementation, the processing unit

[0202] provides the media stream to one or more user devices related to the first user cohort from a content delivery server system related to the second user cohort.

[0137] Considering an example, the processing unit

[0202] may determine high content resolution dilution percentage for a cohort A and may determine low content resolution dilution percentage for a cohort B. Also, the set of parameters for both the cohort A and the cohort B are similar. In this event the content delivery server system of the cohort B may provide the media stream to the one or more users of the cohort A to efficiently manage the resources at the content delivery server system of both the cohort A and cohort B and to provide to the users of these cohorts the media streams with an optimal resolution dilution.

[0138] Furthermore, in an implementation, the media content steering is provided based on a receipt of one of a dynamic request and a periodic request from one or more user devices accessing the digital platform. The media content steering based on the request from the user device is a pull type steering. In the pull type steering the user device may dynamically or periodically check with the content delivery system for any media content steering instruction. Whereas in another exemplary implementation, the user device may automatically receive the media content steering instruction from the content delivery system. This automatic receipt of the media content steering instructions is a push type steering.

[0139] Thereafter, at step

[0312] , the method

[0300] terminates.

[0140] The present disclosure may also relate to a user device. The user device comprises a memory and a processor connected to the memory. The processor is configured to transmit to a system

[0200] , one of a dynamic request and a periodic request for providing media content steering for a media stream. Further, the processor is configured to receive, from the system

[0200] , a request accepted indication in response to one of the dynamic request and the periodic request. The request accepted indication is generated at the system

[0200] based on a number of users accessing the media stream on a digital platform. The processor is further configured to modify a content fetching request based on the request accepted indication. Further, the processor is configured to transmit to the system

[0200] , the modified content fetching request to receive the media stream based on the media content steering. Furthermore, the processor is configured to receive, from the system

[0200] , the media stream in response to the modified content fetching request.

[0141] Further, the present disclosure may relate to a non-transitory computer readable storage medium storing one or more instructions for providing a media content steering, the instructions include executable code which, when executed by one or more units of a system

[0200] , causes a processing unit

[0202] of the system

[0200] to determine in real time a number of users accessing a media stream on a digital platform. Further, the executable code when executed causes the processing unit

[0202] to determine at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users. The executable code when further executed causes the processing unit

[0202] to determine a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate. Furthermore, the executable code when executed causes the processing unit

[0202] to provide on the digital platform, the media content steering based on the content resolution modification percentage.

[0142] Therefore, the present disclosure provides a technical solution for efficient content delivery on a digital platform More specifically, the present disclosure overcomes the existing problems in the field of technology by providing an efficient media content steering. Further for efficient resource management while content delivery on a content delivery platform the solution automatically changes resolution of the media stream based on a high user concurrency value, a user onboarding rate and a user deboarding rate in the real time. Further, the present solution to automatically change the resolution of the content firstly determines the number of users accessing the media stream on the content delivery platform. Further, the present solution automatically decides the resolution percentage based on the high user concurrency value, the user onboarding rate and the user deboarding rate in the real time. Also, the present solution, for steering content on the content delivery platform, automatically reassign a new cohort for the user based on the high user concurrency value, the user onboarding rate and the user deboarding rate in the real time. The present solution to modify the resolution of the content on the content delivery server changes the manifest files related to the media stream based on the high user concurrency value, the user onboarding rate and the user deboarding rate in the real time. Furthermore, the present solution can automatically modify the resolution of the content to be delivered by the content delivery system which directly afflicts utilization of resources and inventory of content recommendation at a content delivery server system of the digital platform, for efficient resource management. Moreover, the present disclosure provides a solution for judicious and efficient use of the existing resources of a digital platform.

[0143] While considerable emphasis has been placed herein on the disclosed implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.

Claims

We Claim:

1. A method for providing a media content steering, the method comprising: determining in real time, by a processing unit [202], a number of users accessing a media stream on a digital platform; determining, by the processing unit [202], at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users; determining, by the processing unit [202], a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate; and providing, by the processing unit [202] on the digital platform, the media content steering based on the content resolution modification percentage.

2. The method as claimed in claim 1, wherein the media content steering is provided during streaming of the media stream.

3. The method as claimed in claim 1, wherein the media stream is a live stream of the media content, and wherein each of the media stream, and the number of users is determined based on a load information received from a plurality of user devices accessing the digital platform.

4. The method as claimed in claim 1, wherein the high user concurrency value is determined in an event the number of users exceeds a pre-defined number of users, wherein the predefined number of users is determined based on at least one of a bandwidth of a content delivery system, and a load on the content delivery system.

5. The method as claimed in claim 1, wherein the providing, by the processing unit [202] on the digital platform, the media content steering comprises: receiving, by the processing unit [202], one or more manifest files related to the media stream from one of a database and a content delivery system, based on the content resolution modification percentage, and providing, by the processing unit [202] on the digital platform, the media content steering based on the one or more manifest files.

6. The method as claimed in claim 5, wherein the providing, by the processing unit [202] on the digital platform, the media content steering comprises: receiving, by the processing unit [202], one or more instructions to select one or more uniform resource locators (URLs) from at least one of the received one or more manifest files and one or more previously stored manifest files, selecting, by the processing unit [202], the one or more URLs based on the received one or more instructions, and providing, by the processing unit [202] on the digital platform, the media content steering based on the selected one or more URLs.

7. The method as claimed in claim 1, wherein the content resolution modification percentage is one of a content resolution dilution percentage and a content resolution amplification percentage, and wherein:- the content resolution dilution percentage is a percentage to which a content resolution of the media stream is to be decreased, and- the content resolution amplification percentage is a percentage to which a content resolution of the media stream is to be increased.

8. The method as claimed in claim 7, wherein the method comprises determining the content resolution dilution percentage as one of a high content resolution dilution percentage, a medium content resolution dilution percentage, and a low content resolution dilution percentage, based on at least one of: a comparison of the high user concurrency value with a pre-defined user concurrency threshold, a comparison of the current user onboarding concurrency rate with a pre-defined user onboarding concurrency rate, and a comparison of the current user deboarding concurrency rate with a pre-defined user deboarding concurrency rate.

9. The method as claimed in claim 8, the method further comprises providing, by the processing unit [202], the media content steering at one of: one or more user devices of one or more new users of the digital platform, in an event the content resolution dilution percentage is determined as the low content resolution dilution percentage,one or more user devices related to one or more user cohorts associated with the digital platform, based on one of: o an event where the content resolution dilution percentage is determined as the medium content resolution dilution percentage, and o at least one of a current user onboarding concurrency rate at the one or more cohorts, and a current user deboarding concurrency rate at the one or more cohorts, and each user device related to the one or more user cohorts associated with the digital platform in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage.

10. The method as claimed in claim 9, wherein the one or more user cohorts are created by categorizing one or more users of a plurality of user devices accessing the digital platform, and wherein the categorization is based on at least one of one or more user parameters related to the one or more users and one or more device parameters related to the plurality of user devices.

11. The method as claimed in claim 10, wherein each user device related to the one or more user cohorts is connected to a corresponding content delivery system for receiving the media stream.

12. The method as claimed in the claim 11, wherein the providing, by the processing unit [202] on the digital platform, the media content steering comprises: determining, by the processing unit [202], from the one or more user cohorts, a first user cohort and a second user cohort, wherein: o the first user cohort is associated with a high content resolution dilution percentage, and the second user cohort is associated with at least one of a low content resolution dilution percentage and a target user deboarding concurrency rate, and o the first user cohort is related to the second user cohort based on a common set of parameters, and providing, by the processing unit [202], the media stream to one or more user devices related to the first user cohort from a content delivery system related to the second user cohort.

13. The method as claimed in claim 1, wherein the media content steering is provided based on a receipt of one of a dynamic request and a periodic request from one or more user devices accessing the digital platform.

14. A user device comprising: a memory, and a processor connected to the memory, wherein the processor is configured to: o transmit, to a system, one of a dynamic request and a periodic request for providing media content steering for a media stream, o receive, from the system, a request accepted indication in response to one of the dynamic request and the periodic request, wherein: the request accepted indication is generated at the system based on a number of users accessing the media stream on a digital platform, o modify a content fetching request based on the request accepted indication, o transmit, to the system, the modified content fetching request to receive the media stream based on the media content steering, and o receive, from the system, the media stream in response to the modified content fetching request.

15. A system for providing a media content steering, the system comprises: a processing unit [202]; and a storage unit [204] connected to at least the processing unit [202], wherein the processing unit [202] is configured to: o determine in real time a number of users accessing a media stream on a digital platform; o determine at least one of a high user concurrency value, a current user onboarding concurrency rate, and a current user deboarding concurrency rate, based on the number of users; o determine a content resolution modification percentage based on at least one of the high user concurrency value, the current user onboarding concurrency rate, and the current user deboarding concurrency rate; and o provide on the digital platform, the media content steering based on the content resolution modification percentage.

16. The system as claimed in claim 15, wherein the media content steering is provided during streaming of the media stream.

17. The system as claimed in claim 15, wherein the media stream is a live stream of the media content, and wherein each of the media stream, and the number of users is determined based on a load information received from a plurality of user devices accessing the digital platform.

18. The system as claimed in claim 15, wherein the high user concurrency value is determined in an event the number of users exceeds a pre-defined number of users, wherein the predefined number of users is determined based on at least one of a bandwidth of a content delivery system, and a load on the content delivery system.

19. The system as claimed in claim 15, wherein the processing unit [202] to provide, on the digital platform, the media content steering, is configured to: receive one or more manifest files related to the media stream from one of a database and a content delivery server system, based on the content resolution modification percentage, and provide, on the digital platform, the media content steering based on the one or more manifest files.

20. The system as claimed in 19, wherein the processing unit [202] on the digital platform, to provide the media content steering, is configured to: receive one or more instructions to select one or more uniform resource locators (URLs) from at least one of the received one or more manifest files and one or more previously stored manifest files, select the one or more URLs based on the received one or more instructions, and provide the media content steering based on the selected one or more URLs.

21. The system as claimed in claim 15, wherein the content resolution modification percentage is one of a content resolution dilution percentage and a content resolution amplification percentage, and wherein:- the content resolution dilution percentage is a percentage to which a content resolution of the media stream is to be decreased, and- the content resolution amplification percentage is a percentage to which a content resolution of the media stream is to be increased.

22. The system as claimed in claim 21, wherein the processing unit [202] is configured to determine the content resolution dilution percentage as one of a high content resolution dilution percentage, a medium content resolution dilution percentage, and a low content resolution dilution percentage, based on at least one of a comparison of the high user concurrency value with a pre-defined user concurrency threshold, a comparison of the current user onboarding concurrency rate with a pre-defined user onboarding concurrency rate, and a comparison of the current user deboarding concurrency rate with a pre-defined user deboarding concurrency rate.

23. The system as claimed in claim 22, wherein the processing unit [202] is further configured to provide the media content steering at one of one or more user devices of one or more new users of the digital platform, in an event the content resolution dilution percentage is determined as the low content resolution dilution percentage, one or more user devices related to one or more user cohorts associated with the digital platform, based on one of o an event where the content resolution dilution percentage is determined as the medium content resolution dilution percentage, and o at least one of a current user onboarding concurrency rate at the one or more cohorts, and a current user deboarding concurrency rate at the one or more cohorts, and each user device related to the one or more user cohorts associated with the digital platform in an event the content resolution dilution percentage is determined as the high content resolution dilution percentage.

24. The system as claimed in claim 23, wherein the one or more user cohorts are created by categorizing one or more users of a plurality of user devices accessing the digital platform, and wherein the categorization is based on at least one of one or more user parameters related to the one or more users and one or more device parameters related to the plurality of user devices.

25. The system as claimed in claim 24, wherein each user device related to the one or more user cohorts is connected to a corresponding content delivery system for receiving the media stream.

26. The system as claimed in claim 25, wherein to provide on the digital platform, the media content steering the processing unit [202] is configured to: determine from the one or more user cohorts, a first user cohort and a second user cohort, wherein: the first user cohort is associated with a high content resolution dilution percentage, and the second user cohort is associated with at least one of a low content resolution dilution percentage and a target user deboarding concurrency rate, and the first user cohort is related to the second user cohort based on a common set of parameters, and provide the media stream to one or more user devices related to the first user cohort from a content delivery system related to the second user cohort.

27. The system as claimed in claim 15, wherein the media content steering is provided based on a receipt of one of a dynamic request and a periodic request from one or more user devices accessing the digital platform.

Citation Information

Patent Citations

  • System and method for controlling server usage in peer-to-peer (P2P) based streaming service

    US20120137017A1

  • Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels

    US9955195B2