Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
EVENT DRIVEN SYSTEM FOR MEDIA FILE TRANSFER
Document Type and Number:
WIPO Patent Application WO/2021/181412
Kind Code:
A1
Abstract:
Event driven system (S) for media file transfer that is capable of transferring media files from storage server (C1, C2…Cn) to the client device (D1, D2…Dn) in a seamless manner by predicting and optimizing the bandwidth consumption. The system (S) provides for atleast one server which keeps a log of all data including information as to when a content was requested by the viewer application (V1,V2..Vn) across all users over a period of time. In effect it maintains a decision tree of all possible events in a file which requests, and pre-fetches media files based on predictive path of user action. The system (S) decreases the time to interact while requesting multimedia assets, optimising the bandwidth consumption for each page visit while maintaining an uninterrupted and seamless viewing experience.

Inventors:
CHAUHAN SHUBHAM (IN)
GANGISETTY SRIHARSHA (IN)
DAS PRASHANTO (IN)
Application Number:
PCT/IN2021/050226
Publication Date:
September 16, 2021
Filing Date:
March 09, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HYPERSTATE TECH PRIVATE LIMITED (IN)
International Classes:
G06F16/958; G06F9/54; G06N5/00; H04L29/06
Foreign References:
US10261938B12019-04-16
US9529500B12016-12-27
Other References:
WANG XIAOFEI, TED “TAEKYOUNG” KWON, YANGHEE CHOI: "CLOUD-ASSISTED ADAPTIVE VIDEO STREAMING AND SOCIAL-AWARE VIDEO PREFETCHING FOR MOBILE USERS", 1 July 2013 (2013-07-01), pages 72 - 77, XP055854600, DOI: 10.1109/MWC.2013.6549285
Attorney, Agent or Firm:
SREEDHARAN, Sunita K. (IN)
Download PDF:
Claims:
CLAIMS

1. Event driven system (S) for transfer of media files, said system comprising:

- atleast one end user device (Dl, D2...Dn);

- atleast one cloud storage server (Cl, C2....Cn) for storing said interactive media;

- atleast one analytic server (Al, A2...An)

- atleast one interactive media server (II, 12...In)

- atleast one editor application (El, E2... En) wherein

- said servers including cloud storage server (Cl,C2..Cn), analytic server (Al, A2..An) and interactive media server (II, 12..In) being connected to viewer application (Vl,V2...Vn);

- said end user device (Dl, D2... Dn) downloads viewer application (VI, V2...Vn) over said network (Nl, N2...Nn)

- said editor application (El,E2...En) being programmed to create corresponding interactive media schema in the interactive media server (II, 12...In)

- said interactive media schema comprising of a number of elements (ell, el2...eln), each element comprising of two aspects, property aspect having content and logic aspect such that on receiving atleast one trigger from end user, said system (S) determines action to be taken on said trigger as per said logic aspect in a manner that 'ri represents the number of interactions after which a content will be required such that when the predetermined value of 'ri is reached, said system (S) is preset to the interactive media schema until the viewer application (VI, V2...Vn) receives triggers to upload new content, thereby obviating delays due to buffering, inadequate network etc. by maintaining a decision tree of all possible events in a file on said end user device (Dl, D2...Dn) by pre-fetching the media files based on predictive path of said user, optimising bandwidth consumption for each content while maintaining an uninterrupted and seamless viewer experience.

2. The event driven system (S) for transfer of media files as claimed in claim 1 wherein said media is a nonlinear medium of information that includes graphics, audio, video, plain text, and hyperlinks.

3. The event driven system (S) for transfer of media files as claimed in claim 1, wherein said interactive media server (II, 12... In) maintains information about interactive media structure.

4. The event driven system (S) for transfer of media files as claimed in claim 1 wherein said interactive media schema is a data structure that stores mapping of media elements (ell, el2...eln) and their relationship with each other.

5. The event driven system (S) for transfer of media files as claimed in claim 1 wherein said analytic server (Al,A2...An) maintains a log of all data of when content is requested by said viewer application (Vl,V2...Vn) across all users over the time, recomputes the probability and optimizes content according to user behavior.

6. The event driven system (S) for transfer of media files files as claimed in claim 5 wherein said viewer application (VI, V2...Vn) checks the probability of the content requirement from said analytic server (Al,A2...An).

7. A method for event driven system (S) for transfer of media files as claimed in claim 1 comprising the steps of:

- downloading viewer application (Vl,V2...Vn) on end user device (Dl,D2..Dn);

- sending atleast one trigger for viewing content;

- requesting interactive media schema by said viewer application (Vl V2...Vn) from said interactive media server (II, 12... In) via a network (N1,N2...Nn);

- loading said interactive media schema from said interactive media server (II, 12...In);

- determining the content to be loaded to initialize the interactive media experience;

- determining whether condition for triggering a logic is met;

- identifying the content chunks to be loaded from properties aspect of said element (el) hosted in cloud storage server (Cl, C2...Cn) and loading the same;

- computing probability of the content requirement by said analytic server (Al,A2...An);

- checking the probability of the content requirement by said viewer application (VI, V2...Vn); and

- presenting the interactive media to said user, wherein the steps are repeated ‘ x\ times until the list of content is identified for a given interactive media schema such that 'n' represents the predicted number of interactions after which said identified content will be required by said end user, said 'n' iterations being preset when said interactive media schema is created.

8. The method for event driven system (S) for transfer of media files as claimed in claim 7 wherein said 'n' is the no. of interactions after which content is required by the system (S).

9. The method for event driven system (S) for transfer of media files as claimed in claim 7 wherein said cloud storage server (Cl, C2....Cn) sends the requested content to said viewer application (Vl,V2...Vn) when the probability computed by said analytic server (Al, A2...An) is above a threshold value computed by said analytic server (Al, A2...An) on the basis of data log of content requested by said viewer application (VI, V2...Vn ) over a period of time. 10. The method for event driven system (S) for transfer of media files as claimed in claim 7 wherein the content identification is triggered on receipt of input from end user device (D) by way of visual, touch, voice, motion etc. 11. The method for event driven system (S) for transfer of media files as claimed in claim 7 wherein said content available in the interactive media have unique content ids that are referenced to the interactive media schema to enable sensor input to be mapped to said unique content id present in said interactive media schema for easy retrieval and quick display on said end user device (Dl, D2....Dn).

12. The method for event driven system (S) for transfer of media files as claimed in claim 7 wherein said logic aspect contains triggers followed by actions that are executed to manipulate the state of its own element (el) as well as other elements (ell,el2...eln).

Description:
TITLE OF THE INVENTION

EVENT DRIVEN SYSTEM FOR MEDIA FILE TRANSFER

FIELD OF THE INVENTION The present invention relates to an event driven system for media file transfer that manages the transfer of media files including interactive media files. More specifically, the present invention maintains a decision tree of all possible events in a file on the client site which requests, and pre-fetches media files based on predictive path of user action. The present invention decreases the time to interact while requesting multimedia assets, optimising the bandwidth consumption for each page visit while maintaining an uninterrupted experience for users.

BACKGROUND OF THE INVENTION With the onset of cheaper and faster internet, website creators want to provide a wholesome interactive experience which involves large media files to be loaded and rendered on client/consumer end/ devices side. While the network has become faster, method of loading these media files has not gotten any better.

When a webpage is loaded all the media files are loaded irrespective of whether they are needed at that moment or not. This results in a longer time to interact and high Data consumption. There are event-driven application in the existing state of art that uses a single input stream to drive its work. A streaming application blends one or more input streams into one or more output streams. A stateful streaming application also recasts streams to tables (used to do enrichments) and stores intermediary state in the log, so it internalizes all the data it needs. Event-driven systems attempt to move away from this database-centric style of processing, instead executing business logic, communicating the results of that processing, and moving on. Event-Driven Computing with Amazon SNS and AWS Compute, Storage, Database, and Networking Services discloses Amazon SNS which is a pub/ sub messaging service that can be used as an event-driven computing hub to AWS customers worldwide. By capturing events natively triggered by AWS services, such as EC2, S3 and RDS, one can automate and optimize all kinds of workflows, namely scaling, testing, encoding, profiling, broadcasting, discovery, failover, and much more. Business use cases presented ranged from recruiting websites to scientific research, geographic systems, social networks, retail websites, and news portals.

Reference is made to United States Patent application no. US20020103830A1 titled "Method for controlling the presentation of multimedia content on an internet webpage. The invention discloses an improved method for controlling the presentation of multimedia content on a webpage. The method detects the occurrence of a particular event or a combination of events with respect to a webpage. An event trigger indicative of the detected event or combination of events is generated. This event trigger is used to select a multimedia player and the multimedia content to be played by the selected player. The selected multimedia player is loaded with the selected content and the playing of the selected player is launched to provide a desired multimedia presentation on the webpage.

Another reference is made to United States Patent application no. US6243761 titled "Method for dynamically adjusting multimedia content of a webpage by a server in accordance with network path characteristics between client and server". The invention discloses computer implemented method that adjusts a webpage including multimedia content according to the effective bandwidth and/ or latency monitored on a network path connecting a server computer storing the webpage, and a client computer requesting the webpage. In response to receiving a request for the webpage in the server computer from the client computer, the server computer, or some other computer closely connected to the server computer monitors the effective bandwidth and/ or latency of the network path. Using the measured effective bandwidth and/ or latency, the content of the webpage is dynamically adjusted by the server computer while sending the webpage to the client.

Yet another reference is made to Adam Serbinski et al. (ACM Digital Library; Sep 2007) which teaches improving the delivery of multimedia embedded in webpages to reduce the delivery time for the initial portion of multimedia objects over HTTP protocol.

However, none of the aforementioned prior art documents teaches event- driven system to manage the transfer of media files using predictive path of user action in order to decrease the time to interact while requesting multimedia assets.

QBTECT OF THE INVENTION

To obviate the shortcoming in the existing state of the art, the present invention aims to provide an event-driven system that manages the transfer of media files which provides active system on client and passive system on server. The present system maintains a decision tree of all possible events is in a file on the client site which requests, and pre-fetches media files based on predictive path of user action, thereby decreases the time to interact while requesting multimedia assets The main object of present invention is to provide an event driven system for transfer of media files that is driven by an event that triggers the said event driven system to transfer media files including interactive media files as per predetermined interactive media schema and a method thereof.

Another object of the present invention is to provide an event driven system which maintains decision tree of all possible events in a file on the client site.

Yet another object of present invention is to provide active system on client and passive system on server to manage the transfer of media files seamlessly.

Yet another object of present invention is to provide an event driven system for media transfer which pre-fetches media files including interactive media files based on a predictive path of user and a method thereof.

Yet another object of present invention is to provide a method of operating an event driven system for media transfer which does not preloads the media files that do not exist on the current and predictive path of user.

Yet another object of present invention is to provide an event driven system for media transfer which optimises the bandwidth consumption for each page visit while maintaining an uninterrupted experience for users.

Yet another object of present invention is to provide an event driven system for media transfer which decreases the time to interact while requesting multimedia assets. SUMMARY OF THE INVENTION Accordingly, the present invention provides for event-driven system that manages the transfer of media files including interactive media files to provide for a seamless end user multimedia interactive experience in real time. The system comprises of atleast three servers that store the media files. The end user interacts with the system using viewer application that can be downloaded on to the end user device. The end user uses the viewer application or app via sensors such as touch, voice, motion etc. The end user device is connected via a network to the interactive media server which is one of the three servers mentioned above. The interactive media server which comprises of building blocks called as elements is responsible for maintaining interactive media schema.

The content available in the interactive media have unique content ids which are referenced in the interactive media schema. All media content is stored in the storage server which is preferably a cloud storage. When the end user access this content and performs interactive viewing, the entire information about the end user preference and the content loaded is captured and stored in the analytic server, where the log data is compiled to compute probabilities of when and which content is to be loaded at which trigger point. The system maintains this decision tree of all possible events in a file such that when the client device makes a request, the system prefetches media files based on predictive path of previous user action. The system provides for a method that checks which content is loaded when and accordingly tries to compute and identify the content file which shall be needed by the end user in a predictive manner as explained in the description below thereby providing a seamless end user experience in real time.

Accordingly, the present invention discloses event driven system (S) for transfer of media files, said system comprising atleast one each of end user device, atleast three servers, and atleast one editor application.

The three servers may comprise of atleast one each of cloud storage server for storing said interactive media, analytic server and interactive media server being connected to viewer application.

The editor application is programmed to create corresponding interactive media schema in the interactive media server. The interactive media schema comprising of a number of elements, each element comprising of two aspects, property aspect having content and logic aspect

The end user downloads the viewer application on the end user device over any network. Any trigger from the end user activates said system which determines the action to be taken on said trigger as per said logic aspect in a manner that 'n' represents the number of interactions after which a content will be required. The value of 'n' is so programmed that the programme continues iteration until the predetermined value of 'n' is reached. The system then presets to the interactive media schema until the viewer application receives fresh trigger to upload new content.

The system of the present invention obviates delays due to buffering, inadequate network etc. by maintaining a decision tree of all possible events in a file on end user device by pre-fetching the media files based on predictive path of user, optimising bandwidth consumption for each content while maintaining an uninterrupted and seamless viewer experience.

The present invention also discloses a method for operating the aforementioned event driven system for transfer of media files. The method involves the downloading of viewer application on end user device , sending atleast one trigger for viewing content. On receiving said trigger the viewer application requests interactive media schema which is on interactive media server via a network.

The content on the interactive media schema is loaded from said interactive media server from the properties aspect of element hosted in cloud storage server . The probability of content requirement is computed by analytic server after checking the probability of the content requirement by said viewer application.

The steps of checking the probability of content requitement is repeated 'n' times until the list of content is identified for a given interactive media schema such that 'n' represents the predicted number of interactions after which said identified content will be required by said end user, said 'n' iterations being preset when said interactive media schema is created. On reaching the preset vale of 'h', the content is presented to the user.

BRIEF DESCRIPTION OF DRAWINGS

Fig. 1 depicts the components of the present system. The end user (D) interacts with the viewer app or viewer (V) which then interacts with atleast three servers including storage server (C), analytic server (A) and interactive media server (I). Fig. 2 depicts system request flow i.e. the sequence of processes to enable the system of the present invention.

Fig. 3 depicts the structure of one element (el) which together with similar elements forms the building block of the interactive media experience. Each element (el) comprises of two aspects namely properties aspect and logic aspect.

Fig. 4 depicts content load flow of the present system which computes and identifies the content file needed by the viewer application(V). The flow computes and identify the content file which required by the viewer application (V) and is repeated 'n' times. The 'n' represents the number of interactions after which a content will be required and is controlled and preset when the interactive media schema is created. After every interaction, viewer application (V) determines the associated actions that will require new content to be loaded and scans the actions of other elements that can load the new content.

Fig. 5 depicts the probability flow following from Fig. 4 of the present system where the process in Fig. 4 is repeated 'n' times until the content is identified. Once the content is identified, the viewer application (V) checks the probability of the content requirement from the analytic server (A). If the probability computed by the analytic server (A) is above the threshold probability value, it allows the cloud storage server (C) to send the requested content to the viewer application (V).

DETAILED DESCRIPTION OF THE INVENTION WITH ILLUSTRATIONS AND REFERENCE TO DRAWINGS It should be noted that the particular description and embodiments set forth in the specification below are merely exemplary of the wide variety and arrangement of instructions which can be employed with the present invention. The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. All the features disclosed in this specification may be replaced by similar other or alternative features performing similar or same or equivalent purposes. Thus, unless expressly stated otherwise, they all are within the scope of present invention. Various modifications or substitutions are also possible without departing from the scope or spirit of the present invention.

Therefore, it is to be understood that this specification has been described by way of the most preferred embodiments and for the purposes of illustration and not limitation.

The present invention discloses a system (S) of loading interactive media resources from the network to provide non-interruptive experience by minimizing the waiting time for the end user and a method thereof. The method (Fig. 4 and Fig. 5) comprises receiving multimedia assets while watching a video on one or more output unit or interactive devices such as mobile devices and selectively preloading the resources based on the interactions done by the users. The system can load one or more media files based on predetermined rules based on the predictive path of the user.

The present system (S) maintains a decision tree of all possible events in a file on the client device (D) which requests, and pre-fetches media including interactive media based on predictive path of user action and decreases the time to interact while requesting multimedia assets and optimising the bandwidth consumption for each page visit while maintaining an uninterrupted experience for users. The term "client device, for the purposes of this specification is also written as 'client', 'client site' and refers to the device used by the user and also referred to as the 'end user device' bearing the reference numerals Dl, D2... Dn.

The present system (S) provides active system on client and passive system on server to manage the transfer of media files. In active processing, the client device actively tries to determine the most probable path a user can follow in real time based on triggers in the logic section of the element (el) and preloads the multimedia paths, while in passive processing, the client depends on a remote server which advises the client on which multimedia paths should be loaded next to provide a better experience to the user. If the passive processing fails for some reason, the client falls back to active processing.

The interactive media file in the present system is a nonlinear medium of information that includes graphics, audio, video, plain text, and hyperlinks. The information is loaded on end user devices (Dl, D2...Dn) based on interaction / sensor data or automated triggers. The interactive media consists of building blocks called "Element" (el) (Fig. 3) which is in fact the building block of iterative media experience e.g. video, audio, gif., text and such other content. Each element (el) comprises of two aspects namely properties aspect and logic aspect. The properties aspect comprises of information such as visual, spatial, data attributes including data composition and tracking information. The logic aspect comprises of triggers followed by actions that execute or manipulate the state of other elements (ell,el2...eln). In effect logic aspect of an element saves the expected behavior of said element as well as other elements when certain conditions are met. Each element can have its logic which can freely add, delete, or manipulate the properties of itself or other elements (ell, el2...eln). For instance if the client clicks on a button it can delete the video on screen and show another image. Each element (el) is referenced with a unique ID in the system.

The present system (S) comprises of atleast one client device or also referred to as 'end user device' (D) which interacts with the user via touch, voice, and motion sensors, an editor application (E) for creation of an interactive media schema, a viewer application (V) loaded on the end user device to run interactive media and at least three servers including an interactive media server (I) connected to user device (D) via a network (N), cloud storage server (C) for storing the media file, an analytic server (A) connected to viewer application (V) and cloud storage (C) via a network (N) (Fig. 1).

The editor application (E) in the present system is a software program used to create the interactive media schema which is a data structure that stores the mapping of media elements and their relationship with each other in the interactive media file. The viewer app or viewer (V) in the system is an application or software development kit (SDK). The viewer application or viewer app (V) is loaded and run by the end user device (D) to interface with interactive media schema hosted on interactive media server (I). The viewer application (V) requests the media from storage server (C) via a network (N). The interactive media server (I) in the system is responsible for maintaining information about interactive media schema. The interactive media server (I) is connected to the end used device via a network (N). The analytic server (A) in the present system keeps a log of the data of the content requested by the viewer application (V) across all users over a period of time by way of a manifest file. The manifest file as source of truth to determine which content can be loaded and which logic can be executed. The manifest file comprises of metadata, components, logic, multimedia paths, media preloading. It computes the probability of the content and keep it optimized according to the user behavior.

The term metadata refers to all the meta info regarding the content, where the possible parameters for metadata are name, creator, organisation, license etc. The components segment tells the client what components are being used in the current playthrough and downloads them if not available. Event is the event emitted by user action or any action of a component (click, touch, swipe etc. for every component and events like paused, played etc. for component specific events). Logic is an event driven action that the client server (D) can perform when the user is consuming the content consisting of many triggers. Logic is written using if-then-else statements to check on various conditions and variables to determine if the action should be executed. Actions consist of actions that need to be executed when a certain event satisfying a certain condition has occurred.

The multimedia path section comprises of the media segments that can be loaded/ preloaded by the client, categorised based on resolutions, bandwidth etc. The media preloading segment is used by the client to determine which media segments has to be loaded to provide uninterrupted and better experience to the end user. The media preloading segment comprises of two modes namely the active processing mode and the passive processing mode

Active processing is a mode of processing where the client device actively tries to determine the most probable path a user can follow in real time based on Triggers in the logic section and preloads the multimedia paths. Passive processing is a mode of processing where client depends on a remote server which advises the client on which multimedia paths should be loaded next to provide a better experience to the user. If the Passive processing fails for some reason the client should fallback to active processing

The present invention also provides a method for event driven transfer of media files including interactive media files (Fig. 4 and Fig. 5). The method comprises of requesting an interactive media schema by viewer application (V) from interactive media server (I) via network (N). The interactive media schema is created using the editor application (E) and stored on the storage server (C). The viewer application (V) requests the interactive media schema from interactive media server (I) via a network (N). The schema from interactive media server (I) is scanned, and viewer application (V) determines the content required to be loaded to initialize the interactive media for the end user. The media content is sent to the viewer when the viewer application (V) is loaded in the end user device (D). The trigger in the system occurs via a sensor input received based on the instructions written in the interactive media schema and the viewer application (V) loads the media from the cloud storage server (C). The received sensor input is mapped to an element ID present in the interactive media schema.

The above flow computes and identify the content file which required by the viewer application (V) and is reiterated 'n' times, where 'n' represents the number of interactions after which a content will be required and is controlled and preset when the interactive media schema is created. After every interaction, the viewer application (V) determines the associated actions that requires a new content to be loaded and scans the actions of other elements that can load the new content. Content identification is triggered every time a sensor input is received, and an event is fired leading to viewer application fetching all the action associated with it. Once the list of contents is identified, the viewer application (V) checks the probability of the content requirement from the analytic server (A). The analytic server (A) allows the cloud storage server (C) to send the requested content to the viewer application (V) when the computed probability is above the threshold probability value.

THE INVENTION IS DESCRIBED HEREIN BY WAY OF EXAMPLE WHICH IS NON-LIMITING EXAMPLE OF THE MODE OF WORKING OF THE PRESENT INVENTION.

Example:

An end user downloads the viewer application (V) through an available network on to the end user device (D). In order to access preferred content, he clicks event (el) on a button (Bl) view a video (vl). The screen displays video (vl) and a new Button (B2) which if clicked adds another video (v2) in a 1x2 layout. Similarly in another application the end user to access another preferred content which has multiple components clicks event (e2) on a Button(Bl) to view content (cl), the screen display not only the content vl but additional new buttons B2 and B3. If either B2 or B3 is clicked the corresponding content already waiting in the buffer is immediately loaded on the screen in an uninterrupted seamless manner for viewing by the end user. In case of the first action (vl, B2) the list of all elements (ell, el2, el3...eln) impacted by the above action (vl,B2) are stored. If there is for each impacted element (el) the list of all actions associated with it are obtained from the cloud and kept in pendency. If there are no actions by the user on B2 the elements are ignored, and the system of the present invention moves to the next one on the list.

If there are actions by the user, then for each action the system gets the list of elements (ell, el2, el3...eln) impacted by the action. Thereafter the system (S) checks whether the action requires a content to be loaded and calculates the probability of action triggering after event (el). If content has to be loaded and the probability falls in the acceptable range, then the content is marked for preloading else ignore the action and move to the next one in the list. In the above example, the second video (v2) might be loaded based on the probability of it being shown when B1 is clicked.

All the content that is identified to be loaded, their unique content IDs, URLs and associated actions are added to a list along with the probabilities of actions triggering The viewer application (Vl,V2...Vn) then starts fetching the content from remote servers if it not available locally based on the probabilities of actions that impact the content.

Thus on receiving atleast one trigger from end user, the system (S) determines action to be taken based on the logic aspect which is an aspect of an element (el). The value of 'n' in the two situations in the present example would be Ύ in the first case and ' in the second situation, since 'n' represents the number of interactions after which a content will be required. When the predetermined value of 'n' is reached, the system (S) is preset to the interactive media schema until the viewer application (Vl,V2...Vn) receives triggers to upload new content.

Accordingly the ability of the analytic server (Al, A2... An) to maintain decision tree of all possible events in a file on the end user device (Dl, D2... Dn) enables the quick identification of the requests and pre-fetching of the interactive media files based on predictive path of user action. The system (S) decreases the time to interact while requesting multimedia assets and optimises the bandwidth consumption for each page visit while maintaining an uninterrupted and seamless viewing experience.