Matching and management of capabilities between devices and services

An assisting system matches capability information to ensure optimal media rendering by aligning required and offered capabilities, addressing the challenge of selecting the best system and service instantiation in media rendering.

WO2026052241A1PCT designated stage Publication Date: 2026-03-12CINEMO
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-01-03
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

In service provision between remote processing systems, particularly in media rendering, it is challenging to determine the optimal system and service instantiation that best matches the required capabilities.

Method used

An assisting system is employed to receive and match capability information from both processing systems, ensuring that the required capabilities of a service instantiation align with the offered capabilities, and provide information on the best matching system or service instantiation for media rendering.

Benefits of technology

This approach ensures efficient and optimized media rendering by selecting the most suitable system and service instantiation, minimizing resource requirements and avoiding compatibility issues.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025050134_12032026_PF_FP_ABST
    Figure EP2025050134_12032026_PF_FP_ABST
Patent Text Reader

Abstract

There is disclosed an assisting system (4) for assisting in performing services between at least one first processing system (10), or a processing system instantiation (10', 10") thereof, and a second processing system (5), the assisting system being configured to: receive through a second remote connection, or otherwise have knowledge on, requirement information (105) indicative of required capabilities, required by the second processing system (5) for each instantiation of at least one instantiation of at least one service to be provided by the processing system (5); and receive through a first remote connection, or otherwise have knowledge on, capability information (110) indicative of offered capabilities, offered by the at least one first processing system, or first processing system instantiation; the assisting system comprising a matching retrieval block (200) configured to perform a matching retrieval operation (200') to retrieve a matching between a service instantiation to be provided and at least one first processing system (10), or processing system instantiation (10', 10") thereof, so that the required capabilities match the offered capabilities, the assisting system being configured to provide information (102) on the matching.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CIN240907PEP-2025002661.DOCX 1

[0002] Matching and management of capabilities between devices and services

[0003] Description

[0004] The present technique refers to matching and management of capabilities (e.g. media capabilities) between processing systems and services to be provided.

[0005] In provision of service between remote processing systems it is often difficult to know which is the best system and / or the best service instantiation to be chosen. In particular in media provision and rendering examples, it is often difficult to know which of a plurality of media rendering devices can be chosen and / or which among a plurality of media content representations can be chosen.

[0006] Summary

[0007] The invention is defined in the independent claims.

[0008] According to examples there is provided, inter alia, an assisting system for assisting in performing services between at least one first processing system , or a processing system instantiation thereof, and a second processing system , the assisting system being configured to: receive through a second remote connection, or otherwise have knowledge on, requirement information indicative of required capabilities, required by the second processing system for each instantiation of at least one instantiation of at least one service to be provided by the processing system ; and receive through a first remote connection, or otherwise have knowledge on, capability information indicative of offered capabilities, offered by the at least one first processing system, or first processing system instantiation; the assisting system comprising a matching retrieval block configured to perform a matching retrieval operation to retrieve a matching between a service instantiation to be provided and at least one first processing system , or processing system instantiation thereof, so that the required capabilities match the offered capabilities, the assisting system being configured to provide information on the matching.

[0009] According to examples there is provided, inter alia, a player device receiving a media stream, from a second processing system , the player device being configured to offer capabilities for CIN240907PEP-2025002661.DOCX 2 rendering media content, the player device including or controlling a device hardware for playing back media the media content, the player device being configured to: provide capability information indicative of offered media rendering capabilities; receive, from an assisting system, information derived from information on matching between the capabilities offered and capabilities required by a media content provider, the information derived from the information on matching indicating which player device instantiation and / or which instantiation of the media content is to be received.

[0010] According to examples there is provided, inter alia, a user equipment to control a provision of a service, the user equipment being configured to display, to a user, a list of at least one first processing system, or of processing system instantiations thereof, and / or a list of services to be provided, so as to allow the user to select the first processing systems, or processing system instantiation thereof, and / or service to be provided, the user equipment being configured to request a selection between the at least one least one first processing system, or processing system instantiations thereof, and a list of services to be provided, but preventing from selecting those first processing systems, or processing system instantiations thereof, and those services, which do not match.

[0011] According to examples there is provided, inter alia, a method for assisting in performing services between at least one first processing system , or a processing system instantiation thereof, and a second processing system , comprising: receiving through a second remote connection, or otherwise obtaining knowledge on, requirement information indicative of required capabilities, required by the second processing system for each instantiation of at least one instantiation of at least one service to be provided by the processing system ; and receiving through a first remote connection, or otherwise obtaining knowledge on, capability information indicative of offered capabilities, offered by the at least one first processing system, or first processing system instantiation; the method including performing a matching retrieval operation to retrieve a matching between a service instantiation to be provided and at least one first processing system , or processing system instantiation thereof, so that the required capabilities match the offered capabilities, the method including providing information on the matching.

[0012] According to examples there is provided, inter alia, a method for a player device for receiving a media stream, the player device offering capabilities for rendering media content, the player CIN240907PEP-2025002661.DOCX 3 device including or controlling a device hardware for playing back media the media content, method including: providing capability information indicative of offered media rendering capabilities; receiving, from an assisting system, information derived from information on matching between the capabilities offered and capabilities required by a media content provider, the information derived from the information on matching indicating which player device instantiation and / or which instantiation of the media content is to be received.

[0013] According to examples there is provided, inter alia, a method for a user equipment to control a provision of a service, the user equipment being configured to display, to a user, a list of at least one first processing system, or of processing system instantiations thereof, and / or a list of services to be provided, so as to allow the user to select the first processing systems, or processing system instantiation thereof, and / or service to be provided, the method including requesting a selection between the at least one least one first processing system, or processing system instantiations thereof, and a list of services to be provided, but preventing from selecting those first processing systems, or processing system instantiations thereof, and those services, which do not match.

[0014] Figures

[0015] Fig. 1 shows an example of architecture.

[0016] Figs. 2A-2D show examples of operations.

[0017] Figs. 3A-3C show examples according to the present technique.

[0018] Figs. 4A-4B show examples of operations.

[0019] Fig. 5 illustrates procedures to be done by a device maker for producing the user device.

[0020] Fig. 6A illustrates an embodiment of the player device;

[0021] Fig. 6B illustrates an example of the cloud backend;

[0022] Fig. 6C illustrates an implementation of a user application apparatus;

[0023] Fig. 6D illustrates an implementation of the ecosystem.

[0024] Fig. 7 illustrates a sequence of messages for the purpose of user information handover.

[0025] Figs. 8-9 show examples of operations.

[0026] Examples

[0027] Here below reference is often made to (e.g. Fig. 2A) some first examples: CIN240907PEP-2025002661.DOCX 4

[0028] 1) A client 10 is a statically first processing system, and receives services

[0029] 2) A server 5 is a statically second processing system, and provides services.

[0030] However, in some second examples:

[0031] 1) The client 10 is statically the second processing system 5

[0032] 2) The server 5 is statically the first processing system 10

[0033] This because there may be different embodiments of the present technique. However, in some third examples:

[0034] 1) in a first operation mode (e.g. server-to-client operation mode): l.a) the client 10 operates as the first processing system, and receives services

[0035] 1.b) the server 5 operates as the second processing system, and sends services

[0036] 2) in a second operation mode (e.g. client-to-server operation mode):

[0037] 2. a) the client 10 operates as the second processing system, and sends services

[0038] 2.b) the server 5 operates as the first processing system, and receives services.

[0039] In these third examples, the first and second operation modes may be selected, for example, by the human user. Since several features are the same (whether the first processing system is the client or the server, and whether the second processing system is the client or the server), the distinctions are provided only where necessary.

[0040] Fig. 2A shows an example involving a first processing system 10 (e.g. first processing device) (which in Fig. 2A will be understood a client device), and a second processing system 5 (which in most cases will be a server, or a content provider, such as a content media provider, also indicated as media CDN, content device network,). Fig. 2A also shows an assisting system 4 for assisting the first processing system 10 and the second processing system 5 in performing services (e.g. exchanging files or more in general content), such as content services (for example, the download of media content by the first processing system 10 from the second processing system 5). The first processing system 10 may be connected with the assisting system 4 through a first remote connection 401. The second processing system 5 may be connected with the assisting system 4 through a second remote connection 402. The first processing system 10 and the second processing system 5 can be connected with each other through a third remote connection. Each CIN240907PEP-2025002661.DOCX 5 of the first, second, and third remote connections 401, 402, 403 may include a TCP / IP network, e.g., transported through at least one or a combination of a mobile phone network, a telephone network, the internet, a backhaul network, and a vehicle network. Any remote connection 401, 402, 403, 404 may be wireless, wired, or partially wired and partially wireless.

[0041] The assisting system 4 may be connected to a user equipment 3 (or more in general, a user application 3 executing in a user device 3) through a fourth remote connection 404. A user equipment (UE) 3 may be, in some examples, the first processing system 10. In that case, the first remote connection and the fourth remote connection may coincide. Otherwise, the first remote connection 401 and the second fourth remote connection 404 may be different. The UE 3 may have, installed therein, a user interface, to receive commands and to provide feedback to the human user. It may be that the UE 3 and the first processing system 10 are in the same environment, because the human user wants the service to be provided and actuated or rendered. However, the first and fourth remote connections 401 and 404 are normally different, apart from the case in which the UE 3 is also the first processing system 10.

[0042] The first processing system 10 may offer capabilities for performing a particular task (e.g. rendering of media content, actuation, etc.). Performing the task by the may involve processing operations and / or for actuating operations and / or rendering operations. Notably, the task, in principle, requires resources (e.g. computation resource, length of a stream, time...) which could impair the performing of the task, either in the transmission from the second processing system 5 to the first processing system 10, or while performing the task (e.g., rendering media content, actuating operations, etc.). Examples of these operations may be the rendering of media audio content (e.g., video and audio content), which may include both processing operations (e.g., decoding, decrypting streams) and further rendering and / or actuating operations (e.g., physically displaying information represented by video streams and / or providing sound represented by audio streams). The actuating operations may include, for example, physical actuations (e.g., related to internet-of-thing actuations). The rendering of media audio content may include, inter alia, media streams (e.g. from the second processing system 5), decoding (e.g. the compressing), decrypting, and / or controlling a hardware device (1), which renders the media content (Fig. 1 shows the hardware device as 1). Therefore, the audio device 10 may control a display (1) and / or one or more loudspeakers (1) to playback audio content received from the second processing CIN240907PEP-2025002661.DOCX 6 system 5. Therefore, in some cases, the first processing system 10 may be a client device (e.g., a user device permitted to watch a video obtained from a platform such as YouTube, Netflix, Amazon Prime, etc.), and the second processing system 5 may be a server device or the platform itself. In rendering (e.g., playing back) the media content, the first processing system 10 being the client device may offer capabilities for the processing operation.

[0043] The capabilities offered may be due to the particular hardware component (e.g. 1) controlled by the first processing system 10. A capability may be the capability of rendering video content instead of audio content, or audio content instead of video content, or rendering both audio content and video content (or can be the capability of performing an actuation, or of carrying out a particular service). The capabilities may be due to the particular processing resources at disposal of a first processing system 10. For example, the first processing system 10 may be capable of only processing a maximum bitrate. The capabilities may include a number of channels (e.g., audio channels) that the first processing system 10 can render. The offered capabilities may include a maximum resolution that the first processing system 10 may offer (e.g., in the sense that the first processing system 10 cannot offer a higher resolution for video and / or audio content). The offered capabilities may include a particular decryption capability (e.g. the first processing system 10 could only be capable of decrypting with some decryption algorithms and / or some decryption keys, and therefore it cannot decrypt with other decryption algorithms and / or some decryption keys). The capabilities may include a version of the hardware abstraction layer, HAL, 11 (see Fig. 1) and / or the application program interfaces (APIs) resident in the first processing system 10 and / or in the hardware 1 connected to the first processing system 10.

[0044] Other examples of required capabilities regard a required codec. For example video and / or audio content 51 may be available, in the CDN 5, according to different codecs (or more in general are encoded according to different compression algorithms) which are of different quality (e.g. H.264 or H.265). In an example setup there are player devices 10 that support either (i) none, (ii) one of the needed codecs, or (iii) both of them. The matching will ensure that the best result is achieved, i.e. that for devices supporting both codecs (iii), the content using H.265 is used (or in any case the highest-quality codec). Devices supporting (i) none will not be selectable (of course) and devices which only support one (ii) will be selectable but are limited to the one codec they CIN240907PEP-2025002661.DOCX 7 support. The user 99 may get an information which are the best devices, e.g. through the application unit 3 (300). b. vice versa: When playing on a specific device that supports multiple codecs and adding more media - that is available in more than one of the supported codecs - to its queue, the matching selects the media version with the best codec in regards of quality and performance.

[0045] The second processing system 5 has, at its disposal, a plurality of instantiations of at least a service to be provided to the first processing system 10. The instantiations may be already existing (e.g., media stream versions already stored in a repository to which the second processing system 5 can access) or may be potential (e.g., some encryptions could be performed only when sending the stream or other file, and therefore their instantiation could be not already present, but could be easily prepared as soon as the service shall be provided).

[0046] The instantiation of a service to be provided (e.g. a particular version of a media stream to be downloaded) may include a representation (or another description) of a particular task to be carried out by the first processing system 10. The task may involve the processing operations and / or the actuating operations and / or the rendering operations, which the first processing system 10 shall perform.

[0047] The particular service instantiation (e.g. a particular version of a media stream to be downloaded) will be chosen as that having the required capabilities matching the capabilities offered by the first processing system 10. A matching service instantiation block 200 in the assisting system 4 may perform a matching service instantiation retrieval procedure. The matching can be preferentially a perfect matching, e.g. in the case in which the offered capabilities are identical to the required capabilities. In other cases, the matching can be approximated, and a choice of the matching instantiation may be performed by minimizing the difference between the required capabilities and the offered capabilities. The choice may be made, for example, according to a particular criteria. According to one criteria, the service instantiations to be provided by the second processing system 5 are ranked, by the matching service retrieval 200, in such a way that the best matching service instantiation is found. In case multiple, different classes of capabilities are examined (e.g. video resolution and audio resolution) the criteria may discriminate one class of CIN240907PEP-2025002661.DOCX 8 capabilities over another class of capabilities, so as to weight more some capabilities versus other capabilities. In this way, a ranking among the service instantiations is made, and the best service instantiation is chosen as the matching service instantiation. However, among all the service instantiations, those which exceed the offered capabilities can be excluded.

[0048] In the example of downloading media content, a capability required by a media stream to be downloaded may be, for example, a particular (e.g. audio and / or video) resolution of each version of the media stream, the presence of video and / or audio content, the necessity of using a particular decryption algorithm and a particular decryption key, a particular bitrate of each version of the media content, and so on. Any combination of the capabilities above can be a capability itself in come criteria.

[0049] The matching service retrieval 200 may be performed as follows:

[0050] 1. According to one criteria: among all the instantiations, there are excluded the instantiations which require capabilities in excess to those capabilities offered by the first processing system 10 (e.g., there are excluded the media versions which require more channels than the first processing system 10 may offer), e.g. there are excluded those have different physical reproduction means, e.g., audio and video, those that are encrypted with no compliant algorithm or with decryption keys that are not at disposal, and so on.

[0051] 2. According to another criteria: among all the instantiations which match the required capabilities, there is chosen the service instantiation which, among all those of the second processing system 10, requires less resource (e.g. chosen among one or a combination of computation resource, length of a stream, time required for providing the service (e.g. downloading the stream) and / or for processing the task required (e.g., time for decoding, etc.)...).

[0052] 3. According to another criteria: among a plurality of first processing devices 10, there is chosen that processing device whose offered capabilities best match the required capabilities required by the second processing system 5 (e.g. server).

[0053] 4. A combination of the criteria above may state that both instantiations are excluded which do not match with any of the first processing devices' offered capabilities and CIN240907PEP-2025002661.DOCX 9 also the first processing device is choses whose offered capabilities best match with the required capabilities of the non-excluded instantiations.

[0054] The UE 3 with its user application (e.g. user interface) may command the performing of the service. An example may be that the assisting system 4 may be commanded by the UE 3 (e.g., its user application) to choose the service to be performed (e.g., which stream to select) among a plurality of services to be provided by the second processing system 5 to the first processing system 10. In some examples, however, the UE 3 may not be interested in knowing which instantiation is the matching instantiation.

[0055] In general terms, therefore, for a service to be provided (e.g., stream to be downloaded) there are a plurality of instantiations of the service (e.g., a plurality of versions of the media stream) at disposal of being performed, each with different characteristics (the characteristics implying required capabilities for the processing, rendering and / or actuating operation to be performed by the first processing system 10). Among the plurality of instantiations of the service to be provided (e.g., versions of the media stream to be downloaded), it is therefore necessary to choose a particular instantiation (among all those at disposal of the second processing system 5) to be sent to the first processing system 10.

[0056] It has been understood that it is possible to perform the following operations (Fig. 2A):

[0057] 1. The second processing system 5 sends (e.g. in a previous, offline session) requirement information 105 indicative of required capabilities, required by the second processing system 5 for each instantiation of the service to be provided (the requirement information 105 may be stored in a database not shown in Fig. 2A).

[0058] 2. The first processing system 10 sends (e.g. in a previous, offline session) capability information 110 indicative of offered capabilities (e.g., capabilities for rendering media content) offered by the first processing system for performing a task following the service provided by the second processing system 5 to the first processing system 10.

[0059] 3. The assisting system 4 therefore receives a list of required capabilities 106 from the second processing system 5 and at least offers capabilities 111 from the first processing system 10 (the capability information 110 may be stored in a database not shown in Fig. 2A). CIN240907PEP-2025002661.DOCX 10

[0060] 4. The assisting system 4 performs, among the plurality of instantiations of the service to be provided at disposal of the second processing system 5, a matching service instantiation retrieval operation 200, to retrieve the matching service 202 to be provided. The matching service 202 is the service instantiation which matches the offered capabilities for performing of the task by the first processing system 10.

[0061] The transmission of the capability information 110 from the first processing system 10 to the assisting system 4 may be performed, for example, during a setup session of the first processing system 10. In other cases, the first processing system 10 may simply be recognized as a device of a particular class, and the assisting system 4 may therefore recognize, from the particular class, all the capabilities offered by the first processing system 10. In some cases, while a particular class of devices may actually be recognized (and its information may be retrieved in a predefined database), notwithstanding, further updating capability information may also be submitted (e.g., informing of a particular case of the device capabilities). Therefore, at the startup of the first processing system 10 (e.g., when the device is turned on), the first processing system 10 may send, through the first remote connection, updating capability information 110 to the assisting system. The assisting system 4 may therefore update its internal library of the offered capabilities 111 associated with the first processing system 10 or, if no library has been generated (yet), then the assisting system 4 may combine the updating capability information 10 with default capabilities of the particular class of the first processing system 10 or with the capabilities retrieved in the internal library.

[0062] The requirement information 105 sent by the second processing system 5 to the assisting system 4, as required capabilities 106, may be sent from the second processing system 5 only when the UE 3 (or more precisely its user application) has requested a particular service. Hence, the second processing system 5 may send a list of instantiations pre-stored of the service to be provided together with the required capabilities for each instantiation, this representing the requirement information 105 (in the example of downloading media content, there would be a list of versions of a stream selected by the UE 3 and, associated thereto, all the requirements of each stream, e.g., the resolution of the stream, the number of channels, the information whether it is a video or audio stream or both, a bitrate, and so on). CIN240907PEP-2025002661.DOCX 11

[0063] In general terms, however, there may be performed the following operations (Fig. 2B):

[0064] 1. The assisting system 4 has already stored, e.g. in its database 4b, requirement information 105 indicative of required capabilities, required by the second processing system 5 for each instantiation of the service to be provided.

[0065] 2. The assisting system 4 has already stored, e.g. in its database 4b, capability information 110 indicative of offered capabilities (e.g., capabilities for rendering media content) offered by the first processing system(s) for performing a task following the service provided by the second processing system 5 to the first processing system(s) 10.

[0066] 3. The assisting system 4 performs, among the plurality of instantiations of the service to be provided at disposal of the second processing system 5, a matching service instantiation retrieval operation 200, to retrieve the matching service 202 to be provided. The matching service 202 is the service instantiation which matches the offered capabilities for performing of the task by the first processing system 10.

[0067] Once the matching service 202 is chosen, an information 201 may be provided to the user equipment 3 like in Fig. 2C (which may indifferently apply to any of Figs. 2A and 2B), as a suggesting application (e.g., in the case that multiple first processing systems 10, which are player devices, are selectable, only those which have the offered capabilities matching the required capabilities are indicated, so that the user decides which one shall play and / or in the case that no player device 10 matches the required capabilities, then an error message may be provided to the user equipment 3).

[0068] Or, in the example of Fig. 2D (which may indifferently apply to any of Figs. 2A and 2B), it is possible for the assisting system 4 to send the information 201 to the first processing system 10 (player device) directly, as content information 37 (see below). In that case, the first processing system 10 (player device) will request the stream 51 according to the content 37, 38. The content information 37, 38 (which may be in the form of a queue) may include, for example, an address for receiving the content 51 in the matching instantiation. At that point the device 10 will request the service, using the address information indicated by the information 37, 38, 201.

[0069] In most of the examples above, an architecture for the systems above is provided with reference to Fig. 1. It will be shown that the assisted system 4 may be a cloud backend system: the server CIN240907PEP-2025002661.DOCX 12

[0070] 5 (second processing system e.g. in the first operation mode) may be or imply or be contained in a content delivery network, CDN. The client 10 may be a player device which may have a device software development kit (SDK) / player 2. The SDK / player 2 may control a hardware device 1 (e.g., audio and / or media device) or have connections to such a device. The hardware device 1 may be understood as having substantially relay capabilities (i.e. it simply provides actuation and / or rendering without changing the representation to be rendered and / or the actuation to be performed).

[0071] The hardware device 1 may have a hardware extraction layer HAL 11. The HAL 11 may have a predetermined version. The HAL version is in general not modified by the present techniques. The HAL version may be implemented in firmware (while the player / SDK 2 may be implemented in software, e.g. higher layer application; notably, there may be multiple player SDKs 2, which may result in multiple device 10 instantiations). While the HAL version may be modified, in some cases setup sections, those sections are not performed in the present technique. The HAL 11 can represent a single point of failure in some cases: Indeed, the second operation system (server) 5 shall send a service (e.g., media content) which is compliant with the HAL 11. If the service instantiation (e.g., media stream version) is not compliant with the HAL 11, then either compatibility issues may arise or application program interfaces (APIs) to be transmitted from the second operation system 5 to the second processing system. Even the transmission of the APIS insert delays in the provision of the service (e.g., download) because time is needed for performing this operation. However, with the present technique, it is possible to avoid this issue. Indeed, the first processing system 10 (client, player device) will send, as capability information 110, the version of the HAL 11. On its turn, the second processing system 5 (server, CDN) will transmit, as requirement information 105, the versions of the instantiations of the service to be provided (or the versions of the media stream to be downloaded) to which the service (or the media version) is compliant with. Accordingly, one operation of the matching service with block 200 will be to match the instantiations of the service to be provided (e.g., versions of the media stream to be downloaded) which are compliant with the HAL 11 of the first processing system 10 (or more in particular the HAL 11 of the device 1) and / or matching of the player device 10 (or player device 10 instantiation 10', 10"). For this reason, the APIs are not to be transmitted and therefore no time is wasted for the playback. CIN240907PEP-2025002661.DOCX 13

[0072] In addition or alternatively, in the cases in which APIs are absolutely to be installed, it is possible that the required capabilities 106 include a list of APIs (or the payload required by the APIs) for each instantiation of the service to be provided (e.g., versions of the media stream to be downloaded). The client and player 10 (first processing system) may, among the offered capabilities 111, have a list of APIs which are already installed. The matching service 200 may therefore decide, as matching service instantiation 202, the one which requires the minimum of APIs to be installed and / or the minimum of the payload of the APIs to be installed.

[0073] In most of the examples above reference is mostly made to multimedia applications. However, it has been understood that some the examples above may also refer to transactional applications. For example, a transactional application may include:

[0074] 1. The server 5 (e.g. cloud application service) being a server for managing orders (e.g. of material goods) or more in general transactions, but operating as the first processing system (Fig. 8)

[0075] 2. The client 10 being a client device for ordering or more in general for requesting the transactions, and operating mainly as the second processing system.

[0076] A capability matching may be necessary to provide customer-side operations at the client 10 (e.g. providing functions like touch-ordering through a touch pad which is a device hardware 1, and / or accepting credit card payments). The client 10 shall therefore provide capabilities matching with the service(s) provided by server 5 (which could be a server of a company managing the sales, like a fast food chain). Therefore, the client 10 (e.g. through the runtime software 110) may provide visual content (e.g. by displaying of the items proposed for sale), hence being in the first operating mode, and provide input (e.g. ordering, credit card reading...) to the customer, thereby sending the purchasing data to the server 5 (thereby operating in the second operation mode of Fig. 8). Basically, the organization managing the server 5 in this case shall not care of the physical method through which the customer actually performs the translation, because this operation is managed by the organization managing the backend 4 (assisting system): whether the device hardware 1 requires ordering by touch screen or by pressing a physical button, or whatever the payment technique (through credit card such as sliding, contactless, etc. or cash), the payment is notwithstanding performed without the organization that manages the server 5 even cares. On the other side, also the display means used for displaying the item offered for sale can be totally CIN240907PEP-2025002661.DOCX 14 irrelevant for the organization that manages the server 5. The company that manages the cloud backend 4 may, for example, also manage the updating network 6 (6b), and provide when necessary the updating software for the runtime software (110, SKD player 2) to operate. Notably, transactional data (e.g., information on the payment, etc.) may not be sent form the device 10 (client) to the backend 4 (assisting system), but directly to the server 5, thereby minimizing the traffic through the first remote connection 402.

[0077] In Fig. 8, the client 10 (second processing system) may have at least one input unit (e.g., in the hardware device 1) from which the transaction is requested (order). The HAL 11 may play a role in receiving a physical input, indicative of the order (requested transaction). Hence, the client 10 may provide the order through the assisting system 4 to the server 5. Even in this case, the client 10 (operating, like in Fig. 3, as second processing system) provides required capabilities, and the server 5 (operating as the first processing system) sends the offered capabilities. Hence, the assisting system 4 receives the order (transaction request) and sends it to the server 5. The UE 3 may not be present, here.

[0078] In the examples other than Fig. 8, the fourth remote connection 404 between the UE 3 and the assisting system 4 may be performed to command the provision of services. The UE 3 may execute an executable code which may be provided through an app store (application store) and which may be installed in the UE 3. Or, the UE 3 could receive an executable code which directly executes in the UE 3, without installation (e.g., the assisting system 4 could provide a link to a URL or another address providing the executable code to the UE 3).

[0079] The UE 3 may, through the assisting system 4, manage subscription(s) to the services provided by the server 5 and / or a subscription (e.g. a single subscription) to the services of the assisting system 4. Since the server 5 is not directly commanded by the user, but by the assisting system 4, there are no security issues for the server 5 (because the user does not drop services) and for the user (because he / she could manages subscription only through the assisting system 4).

[0080] It is to noted that the assisting system 4 is in general interposed between:

[0081] 1. The client (e.g. first processing system 10) and the server (e.g. second processing system) 5, for exchanging the capability information 110 and the requirement information 105 CIN240907PEP-2025002661.DOCX 15

[0082] (while the provision of the service, however, is carried out directly from the second processing system to the first processing system)

[0083] 2. The user equipment (UE) 3 and the server for commanding the provision of the service and / or for managing subscriptions.

[0084] Case of groups (Figs. 3A-3C)

[0085] It is to be noted that there may be a plurality of first processing devices (e.g. client devices, which may be player devices or other kinds of devices) 10, indicated below of as 10a, 10b, 10c, lOd, e.g. grouped in a group 210 e.g. in a local connection 220 (all the first processing devices may be connected from the local connection 220 to the assisting system 4, e.g. by connecting the whole local network 220 to the remote connections 403 and 402, e.g. through a router). In particular in the case of the playback of media content, the first processing devices 10 (10a, 10b, 10c, lOd) may participate to a synchronized group media playback (e.g., video playback and / or audio playback) together with the other player devices 10. In cases other than the synchronized group media playback, groups may notwithstanding be generated, e.g. for performing synchronized actuations. Each second processing device 10 (10a, 10b, 10c, lOd), as explained above, may control the hardware media render unit 1 with the media content 202 (51, 51a). As can be seen in Fig. 3A, there is the possibility that an active group 210 is formed by a plurality of first processing devices (first processing systems) 10 (e.g. player devices), in this case devices 10a, 10b, 10c, and lOd (player device 10c not being active, i.e. not being in the active group 210). This choice may be made, for example, by the user, e.g. through the user equipment 3. It is here not necessarily important to define how a group 210 is formed. However, it is here important to see how it works for the present technique. Each processing system lOa-lOd may provide (e.g. in a preliminary setup session), to the assisting system 4, the capability information 110 informing of the offered capabilities 111, which reaches the assisting system 4 (or the assisting system may anyhow have the capability information 110 in its database 4b, like in Fig. 2B). In particular, the matching retrieval block 200 performs, among the plurality of versions of the service to be provided and / or one or more player devices 10 (or player device 10 instantiations 10', 10"), a CIN240907PEP-2025002661.DOCX 16 matching operation to retrieve a matching service instantiation to be provided and / or one or more player devices 10 (or player device 10 instantiations 10', 10") to be chosen among a plurality of player devices 10 (or player device instantiations 10', 10") so that the required capabilities match the offered capabilities of at least one of the first processing systems lOa-lOd. For example, the matching instantiation to be provided retrieves a best matching between the offered capabilities 111 of the first processing systems 10a, 10b, and lOd, but not of the first processing system 10c. In this case, there are two possible options:

[0086] 1. The unmatched first processing system 10c of the group (210) may be excluded from the group 210, like in Fig. 3C. This result may be achieved, for example, by sending a communication from the assisting system 4 to the unmatched processing system lOd indicating that it is excluded from the group 210 and / or by sending a communication from the assisting system 4 to one master first processing system (having the functions of a master device) lOd indicating that the unmatched system 10c is excluded from the group 210.

[0087] 2. The unmatched first processing system 10c of the group (210) may be excluded from the group 210, but in this case it is substituted by another first processing system (substitute first processing system, having enough offered capabilities to match the version of the media stream to be transmitted) not shown in Fig. 3C. This result may be achieved, for example, not only by sending a communication from the assisting system 4 to the unmatched processing system lOd indicating that it is excluded from the group 210 and / or by sending a communication from the assisting system 4 to one master first processing system (having the functions of a master device) lOd indicating that the unmatched system 10c is excluded from the group 210, but also by inviting the substitute first processing system through an invitation to join the group from the assigning system 4 and / or from the master first processing system.

[0088] These two options may be two different embodiments, but may also be two options which may be left the user's decision, e.g. through a notification to the UE 3. The user may CIN240907PEP-2025002661.DOCX 17 therefore select between searching for the substitute system and accepting that a device does not participate to the group operation.

[0089] Needless to say, the group operation may be instantiated by a synchronized group playback, where the service to be provided is instantiated by a media stream to be received and the first processing systems lOa-lOd are or include playback devices.

[0090] In some examples, the user equipment 3, though a user application, may provide a list of player devices lOa-lOd which may participate to the group 210, leaving to the user the possibility of selecting the player devices of the group. However, there may be excluded (e.g., to be visibly unselectable) those player devices which are unmatched whit the required capabilities. For this reason, the selection of the player devices in the group may be restricted to the matching ones.

[0091] In some examples, the group may be defined automatically by the user equipment 3 and / or the assisting system 4, and in that case those devices lOa-lOd which match the required capabilities are chosen, while the unmatched devices are excluded from the group.

[0092] It is to be noted that the group 210 may have a primary device 10, while the other devices in the group are secondary devices 10b, lOd. In some examples, only the primary device 10a receives the media stream 51 from the content provider 5 (second processing system) through the remote connection and retransmits the media stream 51 to the secondary devices 10b, lOd through the local connection, for example. The primary choice may be by election between the devices of the group, or may be decided by selection from the assisting system 4.

[0093] In some examples, however, the primary device 10a (primary first processing system) may also be configured to insert media content, e.g. obtained from input unit of the device hardware 1. Accordingly, the primary device 10a (primary first processing system) may also operate as a local server for the secondary devices 10b, lOd. The media content may be, for example, mixed to the media content 51 received from the second processing system 5, and provided, in mixed form, to the at least one secondary devices 10b, lOd. For example, the received media content may be live audio sensed by an internal microphone of the device hardware 1 of the primary device 10a, which may be mixed with the other audio signal of the media content 51 received from remote CIN240907PEP-2025002661.DOCX 18

[0094] (5) and / or with video content 51 received from remote (5). The assisting system may therefore instruct the primary device 10a accordingly.

[0095] Description of ecosystem

[0096] Fig. 1 shows an example of an ecosystem in particular in the case of providing media content (the same may be obtained, however, for generic services to be provided, and not only media streams to be transmitted). Fig. 1 shows a player device 10 (which may the first processing device 10 in Fig. 2A and 2B or the second processing device in Fig. 3). Each device 10 may control a device hardware 1 (which may be a display device and / or loudspeakers and / or a hardware connection to the loudspeakers. The device 10 may receive a service e.g. media content 51 (which may be divided between 51a in some examples), which is indicated as 202 in Figs. 2A, 2B, and 3, from a media content distribution network (CDN) 5 (sending the stream 51, which may be an example of 51 and / or 202). The device 10 (and in particular its runtime device 110 or SDK player) may be updated from an updating network 6 (6b), through updating data 61 (61b). The updating network 6 (6b) in general has not relationships with the media CDN 5 (5a). In some examples, the updating network 6 (6b) may be operated by the same organization (or by an organization collaborating with the organization) managing the could backend (assisting system) 4, 200. The assisting system (which may be a cloud backend system) 4 (also indicated with 200) may control the player device 10 (10a, 10b, 10c, lOd), e.g., through content control 38 and / or playback control 34. The player device 10 may include a device SDK / player 2 (110).

[0097] The assisting system 4 may control the playback and the reception of the media streams through control commands 34, 48, received through the first remote connection 401. The media CDN 5 (second processing system in Figs. 2A and 2B, first processing system in Fig. 3) which provides the content is not the same as the cloud backend system (assisting system) 4. The content 51 (51a 202) is transported through the third remote connection 403 and not the first remote connection 401 as the control commands 34 and 38 (it may be that they both share the same physical connection, but anyway the content 51 and the control commands 34 and 38 are not in the same session).

[0098] The device SDK / player 2 may provide the media content (e.g., audio and / or video streams) to a content decryption service 28, which can therefore decrypt the media content 27 (combing from CIN240907PEP-2025002661.DOCX 19

[0099] 51, 51a, 202). The decrypted media content 29a may therefore be provided to a hardware media renderer unit 1. The hardware media Tenderer unit 1 may include the hardware abstraction layer (HAL) 11. The HAL 11 may be provided by an operating system. The HAL 11 may control the rendering of the audio and / or video. The HAL 11 may be controlled by hardware control and / or hardware events 26, e.g. sent by the device SDK / player 2. The device SDK / player 2 may provide the hardware control and hardware events 26 based, in particular, on the control 34 and 38 accepted by the cloud backend system 4 (assisting system). The player device 10 may be connected to a local network (e.g., LAN) 220. The device SDK / player 2 may include a web browser 21. The device SDK / player 2 may include a media player 22. The device SDK / player may contain a cache 23 (e.g. in the media player 22). The device SDK / player 2 may contain a group playback entity 24.

[0100] The device SDK / player 2 may contain an updater 25, which may receive updated media content from the update CDN 5a (5). As can be seen from Fig. 1, the player device 10 (first processing system) may receive content control 38 (e.g. content control commands), which may include, for example, information on queues or more in general on content 37. Fig. 1 shows many queues 37, because it may be possible that information on multiple queues 37 is sent for multiple, different devices 10 (see also below). The content control 38 may provide information on the media content to be rendered (e.g. through the information on the queues or more in general of the content 37), e.g. together with address (e.g., URL address) of where the media content 51 (51a, 202) is to be retrieved (e.g. address of locations associated to the CDN 5, 5a, 5b). The cloud backend (assisting system) 4 may transmit playback control commands 34. The playback control 34 may include, for example, well-known commands, such as "PLAY" "PAUSE", "STOP", "FAST FORWARD", "REWIND". The cloud backend (assisting system) 4 may therefore include a playback manager 33 and a device manager 35 which send the playback control 34, and the content control commands 38 respectively. It is to be noted that the device manager 35 may substantially have knowledge on the properties of the player device 10. The device manager 35 may have a virtual replica of the player device 10 and may therefore have the substantial control of the operations of the player device 10. Both the playback manager 33 and the device manager 35 may be controlled through control commands 31 and 32 respectively. The playback control 31 may be received from a user application 3, which may be executed in a user equipment (e.g., a smart phone, mobile phone, tablet, assigned computer) of property of the user and / or may be CIN240907PEP-2025002661.DOCX 20 integrated in the player device 10 (despite Fig. 1 suggesting that the user equipment and the player device 10 are not integrated in the same device, but they could be). The control device setup commands 32 may command the device management 35 on the groups to be formed between the device 10 and other devices (e.g., devices 10a, 10b, 10c, lOd) (it will be shown that the groups to be formed can be, in some examples, identified by the queues 37 to be reproduced). Therefore, the particular group may be defined by the user through the UE 3.

[0101] The UE 3 may be provided e.g. by the cloud backend system (assisting system) 4 (or by an app store, such as Google Play Store, e.g. in a certified manner) to the user equipment or other device for controlling the player device 10 (and more in general all the player devices lOa-lOd). The application 3 may present a user interface for obtaining settings to render content.

[0102] Even if between the UE 3, the cloud backend system (assisting system) 4, the player device 10 (e.g. first processing device 10) and the media CDN 5 (5a, 5b) (e.g. second processing device) it is shown that the arrows are mostly directed towards one direction only, it is to be understood that these arrows mostly refer to the directions of the most relevant commands. It is notwithstanding possible that feedback information may be transmitted in any different direction. For example, the UE 3 may receive feedback from the cloud backend (assisting system) 4 (e.g. to reproduced in a user interface), which in turn may receive the feedback from the player device 10. Also, the direction of the lines 51a and 51b could be understood bidirectional, since one device (e.g. the primary device 10a, see below) may be the device which requests the transmission to the media CDN 5 (5a, 5b) and keep some contacts with the media CDN 5 (5a, 5b) (e.g. by sending requests relating to which representation of adaptation set of the media content to receive, e.g. in response to the reception of a manifest and based on the monitoring of the reception speed, and so on).

[0103] Multiple SDKs 2 in one single player device (second processing system 10)

[0104] Capability matching can also allow to select the right player on the device 10 itself, to always use the player software requiring the lowest possible footprint and best quality, for instance only using a web browser for web content and dedicated players for video or audio. CIN240907PEP-2025002661.DOCX 21

[0105] For example, if a device has, stored therein, a plurality of SDKs 2 (e.g. developed by different software developers) which are concurrently selectable, the capability matching may also be performed among the plurality of SDKs 2, and the best-matching SDK among the plurality of SDKs may be chosen by the matching service instantiation retrieval block 200.

[0106] Fig. 9 shows an example according to which the first processing system (e.g. player device 10) has two different instantiations (e.g. SDKs) 10' and 10", each instantiation being concurrent with the other one. The capability information 110 may include both capability information 110' of the first device instantiation 10' and capability information 110" of the second device instantiation 10". Hence, the matching service instantiation retrieval block 200 may decide which among the first and second device instantiations 10' and 10" is the matching one with the requirement information 105. Then, the information 201 will also report the selection of the best matching device instantiations 10' and 10".

[0107] While the example of Fig. 9 is analogous to the example of Fig. 2A, it is also possible to apply the same content to the example of Fig. 2B or to any of the examples above.

[0108] It is to be noted, however, that:

[0109] 1) In some examples, there may be one single first processing system (e.g. player device 10) with one single device instantiation (one single SDK 2), which in this case it is the only first processing system instantiation (and the matching is only performed between the single first processing system and at least one service instantiation);

[0110] 2) In some examples, there may be one single first processing system (e.g. player device 10) with multiple device instantiations (SDKs 2), which are multiple processing system instantiations (and the matching may be performed between the multiple processing system instantiations and at least one service instantiation);

[0111] 3) In some examples, there may multiple first processing systems (e.g. player devices 10) each with one single device instantiation (SDK 2), the multiple first processing systems being multiple processing system instantiations (and the matching may be performed between the multiple processing system instantiations and at least one service instantiation) CIN240907PEP-2025002661.DOCX 22

[0112] 4) In some examples, there may multiple first processing systems (e.g. player devices 10) each with multiple device instantiations (SDKs 2), which are multiple processing system instantiations (and the matching may be performed between the multiple processing system instantiations and at least one service instantiation).

[0113] User equipment 3

[0114] As explain above, in some examples a user equipment may control the provision of the service (e.g., download of the stream 51 and / or rendering by the device hardware 1).

[0115] The user equipment (e.g. controlled by a user application running on its processor) may display (or otherwise provide), to a user 99, a list of processing system 10, or of processing system instantiations 10', 10", and / or a list of services (e.g. streams 51) to be provided, so as to allow the user 99 to select the first processing systems, or processing system instantiation thereof, and / or service to be provided, the user equipment 3 requesting a selection between the at least one least one first processing system, or processing system instantiations thereof, and a list of services to be provided, but preventing from selecting those first processing systems, or processing system instantiations thereof, and those services, which do not match or at least suggesting the best matching first processing systems, or processing system instantiations, and services.

[0116] Examples of Figs. 4A and 4B

[0117] Fig. 4A and 4B illustrate a procedure showing a sequence of steps / message between the user 99, the taking over user application 3, the cloud backend system 4 (assisting system 4), the media runtime device software 2 (e.g. in the shared player device 10) and the content service (CDN) 5 (5a, 5b) for playing content with the cloud ecosystem. The playing of content of the uploading of content within the ecosystems involves of the corresponding participants of the ecosystem such as device makers, content services, users. Furthermore, the heavy-weight data or content is retrieved directly by the media runtime device, while the assisting system 4 only handles the playback commands. The data of authorized devices (among which the shared device) 10 and authorized content services for the user 99 are stored and retrieved from databases that are part of or are accessible by the assisting system 4. These databases contain all data that is necessary for authorized access to a content service, where tokens are needed for access. When, in the Fig. CIN240907PEP-2025002661.DOCX 23

[0118] 4A, Fig. 4B diagram such data is looked-up in the assisting system, it is retrieved from a corresponding database.

[0119] Furthermore, Fig. 4A makes clear that each message between the taking-over user application 3 and the assisting system 4 refers to actions of the entities involved. The first action is that the user application sends out the message 700 via the assisting system interface, and the second action performed by the assisting system 4 is that the assisting system 4 receives the message 700 via the application interface 206.

[0120] Subsequently, Fig. 4A and Fig. 4B are discussed in more detail.

[0121] In the action 602, the user 99 opens the user application 3 running on the user application apparatus. In action 603, the user logs into the user application and, in reply to this logging into the user application 3, the user authenticates itself via the message 700 from the user application 3 to the assisting system 4. The message 700 may be an example of the action 514 (request for authorization for the temporary provision of the service). The message 700 may therefore provide the information 502 (sharable device identification information 502) and / or 503 (taking-over user account). Then, in order to further use the assisting system 4, the user application 3 receives a token (which is an authenticating information) including the user's permissions and the corresponding user ID in message 605. The user token may be used in all calls to the assisting system 4 to identify the user and to check if access is allowed for the requested function for the user.

[0122] Then, in order to finally come to a playing of a media content, the user application 3 sends a request for a list of content services illustrated at 702. All content services that are authorized in the assisting system are returned. Each content service is either authorized or not authorized by the user. Hence, due to the fact that the assisting system 4 replies to this message 702, with a full selection of content services authorized in the ecosystem, the selection what is valid for the specific user is performed in step 704. Here, the assisting system checks, which content services are actually authorized for the user. CIN240907PEP-2025002661.DOCX 24

[0123] Then, for each identified content service 5, it is checked, if the user is allowed to use the content service, if the user is not allowed, the content service is removed from the result. In a step 708, it is checked, whether the content service allows the user. Probably, the user is denied for some reason, for example by not paying a bill, etc. This is done in step 708. Then, in step 710, the assisting system returns a list of allowed content services to the user application.

[0124] This list is presented to the user via the user interface in the user application and the user then selects a content service from the list provided 710 in the step 712. Then, based on the selected content service, the user application 3 requests a list of content in message 714.

[0125] In response to that, the assisting system 4 looks up, whether credentials (which are authenticating information) for this content services are stored in the assisting system. This is done in step 716, and when such user credentials for the requested content service are found, an authentication message 718 is sent from the assisting system to the content service via the communication interface 204 of the assisting system. The message 718 may be an example of the message 518.

[0126] The result message 720 is illustrated in Fig. 4A and the result message can, for example, comprise a certain token (which is an authenticating information), from the content service 5, or any other positive authentication result.

[0127] In response to the positive result 720, the assisting system 4 requests content metadata in a message 722 from the content service 5 (5a, 5b), and the content service 5 (5a, 5b) sends back the requested content metadata in message 724. The content metadata in message 724 may also be authenticating information, which is provided to the content service 5 to receive, under authorization, the content 51 (51a).

[0128] This list of content is then forwarded from the assisting system to the user application in step 725 for display to the user 99 via the user interface 302.

[0129] The user 99 selects a content for replay as shown in action 726 and, then, the user application requests allowed devices 10 (e.g. 10a, 10b, 10c, lOd) for the selected content from the assisting CIN240907PEP-2025002661.DOCX 25 system. It is to be noted that only the device 10a is, in this case, the shared device, while the other devices may be property of the user 99.

[0130] As illustrated in action 730, a list of devices 10 (e.g. 10a) that are authorized by the user is looked-up and, then, processed by means of steps 732 to 742.

[0131] This procedure represents the check, if a certain device 10 (e.g. 10a) is allowed from the list of devices 10 (e.g. 10a) that have been originally authorized by the user. Any negative answer in the list consisting of item 732 to 742 will exclude a corresponding device under consideration from the result.

[0132] Step 732 starts the processing sequence. However, the sequence of steps between 732 to 742 is arbitrary and any other sequence also provides a useful result.

[0133] Instead 734, it is determined, whether the content service under consideration allows the device brand of the user device. The information for answering this question is located in certain database 208 in the backend.

[0134] In step 736, it is determined, whether the device maker allows the content service 5 under consideration.

[0135] This is also determined from a certain database.

[0136] Furthermore, in step 738, it is determined whether the device maker allows the playback of the content that has been selected to play in step 726.

[0137] Furthermore, in step 740, it is determined, whether the user actually allows to playback the content on the device. This procedure is useful, when, for example, a certain profile of allowed content has been installed in the assisting system, for example for the purpose of children control. CIN240907PEP-2025002661.DOCX 26

[0138] Now, it can be that the child acts as a certain user 99, and therefore, it can easily be that the child requests a content to play that, however, is not allowed to be played back on the device as defined earlier when establishing the certain profile in a library of the assisting system.

[0139] Finally, it is determined whether the actual user device 10 (e.g. 10a) under consideration is online and ready.

[0140] Only when all the answers in the list are positively answered, a device 10 (e.g. 10a) survives in the list of allowed devices that is referred back from the assisting system system 4 to the user application via message 744.

[0141] Then, the user 99 (e.g. through the user application 3) may reply through an action 745 (which may trigger action 748 which may include, or be an instantiation of the control device setup commands 32 in Fig. 1) for selecting the devices (e.g. 10a) from the list of allowed devices (e.g. the list including 10a, 10b, 10c, lOd). Then, the user 99 (e.g. through the user application 3) may start the playback of the selected content on the selected devices via action 746 (which may trigger action 748 which may include, or be an instantiation of, playback command request 31 in Fig. 1). This user action 746 may result in the message 31 from the user application 3 to the assisting system that requests the playback for the selected content on the selected devices, where this message is illustrated at 748 in Fig 4B.

[0142] The content metadata (including authorization information) may be sent (750) from the cloud assisting system to the media runtime device software 2 on the shared user device 10a. This content metadata 750 can, for example, be or include a playable URL or any other data, by which the media runtime device software 2 running on the shared user device 10 (10a) can request the content via a message 752 from the user device 10a via the connection to the typically remote data instances illustrated at 51 in Fig. 1. The request 752 may include or be accompanied by authentication information (e.g., obtained in message 748 from the assisting system) which allows the CDN 5 to determine that the device 10a is authorized to receive the content. Then, as soon as the playable URL, for example, is received by the remote data instance 5, the remote data instance 5 streams back the content 51 as shown in message 756 (only to the shared device 10a) and this takes place via media interface of the user device 10a and the content is replayed CIN240907PEP-2025002661.DOCX 27 as illustrated at 754. The authenticating information from the player device 10a to the CDN 5 may be verified by the CDN 5. Or, the unique address of the player device 10a may be verified by the CDN 5, the unique address of the player device 10a serving as authenticating information.

[0143] Fig. 4B additionally illustrates the procedures that are done, when the user 99 wishes to control the playback via message 760. This control can, for example, be a pause action, a stop action, etc. As soon as the user application 3 has received a message from the user such as message 760, the user application 3 replies with a request control playback message 762 (which may include or embody the playback control command 31 of Fig. 1) to the assisting system. Only when the assisting system confirms that such a procedure is allowed, where this check is not illustrated in Fig. 4B, the assisting system requests control playback via message 764 (which may include or embody the playback control 38) from the media runtime device software 2 of the device 10a. As soon as the control message 764 (e.g. 38) is received by the user device via the user application 3, the user application 3may react with an execution of the playback control illustrated at 766 and report this executed control via step 768 back to the assisting system 4 and a corresponding confirmation is sent from the assisting system back to the user application via message 770. As explained above and below, however, commands may also be provided directly on the device 10a.

[0144] It is to be emphasized that the order of the selection of the content service 712, the selection of the content to play 726, and the selection of the devices from the list of allowed device 745 can also be done in a different order. Furthermore, in case of only a single content service and only a single user device, several checks and messages can be omitted in order to nevertheless implement the full control of the assisting system over the user device, which the media runtime device software 2 is installed.

[0145] In general terms, the user application 3 may receive from the backend system 4 a list of content services 5 (e.g., different content providers in competition between each other), and request to the user 99 a selection of a preferred content service. Once the user has selected the preferred content service, the user application may transmit to the backend system 4 information on the selected content service. (This is not necessary in the cases in which there is only one single content service at disposal). CIN240907PEP-2025002661.DOCX 28

[0146] The user application 3 may receive (e.g. once the preferred content service has been selected) from the backend system 4 a list of content provided by the specific selected content service 5, and request to the user 99 a selection of a preferred content 51 to be received. Once the user has selected the preferred media content 51, the user application 3 may transmit (e.g. as part of the command 32) to the backend system 4 information on the selected media content 51. The request may indicate a queue 37.

[0147] In parallel or before or after, the user application may receive (e.g. at 744) a list of player devices 744 allowed to be part of a synchronized group playback. The list may also provide the capabilities of each selectable player device (e.g.,. audio capabilities, video capabilities, etc.), so that the user application 3 may display the capabilities of each selectable player device. The user 99 may select through the user application 3 the player devices to be part of a group 210 from a list of selectable player devices provided by the backend system 4. The backend system 4 (and in particular the device manager 35) may therefore apply the content queue 37a and send the information on the queue 37 and the queue identifier 37 to all the selected player devices. The user application 3 and the backend system 4 will be uninterested to the election procedure of which is the device 10a will be received by the backend system 4 from the device 10a or another of the player devices 10.

[0148] As can be seen in Fig. 4B, the matching retrieval operation 200' may be performed among operations 730-743, and the list of allowed devices 744 may therefore provide information 201 on the best matching devices (or best matching device instantiations), from which the user can choose the preferred device (e.g. through selection 745) and / or the selected service instantiation (e.g. selected media representation). In some examples, however, the selection of the preferred best matching device is performed automatically, and the user is not even requested to select the preferred device (e.g. 745 may be skipped). In any case, the content metadata 750 may include information 37, 38 on how to retrieve the content (e.g. url address). The content metadata 750 may be, or at least may be conditioned by, the information 201 on matching.

[0149] Examples of Figs. 5-7 CIN240907PEP-2025002661.DOCX 29

[0150] Fig. 6A illustrates a user device 100 (indicated above as 10, 10a) comprising a device hardware 102 (indicated above as 1) and a media runtime device software 2. This media runtime device software is running on the user device and is configured for controlling the device hardware as illustrated by the connection between block 2 and 102. The media runtime device software comprises a control interface 112 to a cloud backend in order to exchange messages between the media runtime device software in the device and the cloud backend. The user device comprises a media interface to a typically remote data instance for connecting to a remote data instance typically via a playable URL (unique resource locator) in order to then obtain a stream of media data from the remote data instance. Alternatively, the media interface can also send a request for a URL to the remote data instance and, then, receives this data from the data instance via the media interface and, then, an upload from the user device 100 to the remote data instance can be performed when the data instance is a data sink such as the YouTube platform or the TikTok platform. The data that are uploaded via the media interface 114 are typically data acquired by the user device hardware, which is, for example, a camera or a microphone.

[0151] For replaying a data stream received via the media interface 114, the user device typically has a display or speakers or both. Particularly, the media runtime device software 2 is configured to receive data for controlling the device hardware via the control interface 112 and to receive or transmit content via the media interface 114. Thus, it is made sure that the high volume data traffic only takes place via the media interface 114, and this high-volume traffic is kept out from the cloud backend, since the media interface 114 is not interfacing with the cloud backend.

[0152] In an embodiment, the media runtime device software is configured to receive, via the control interface, metadata comprising information identifying the data instance under consideration and an access information such as a playable URL combining the metadata and the identification of the data instance to be accessed. Based on this information, the media runtime device software is configured to access the data instance using the received access information via the media interface 114.

[0153] In one embodiment, the data instance is a content provider. In such an implementation, the media runtime device software 2 is configured to receive playback metadata identifying an intended content data for playback and the access information via the control interface 112, and to send the playback metadata to the content provider via the media interface 114 and to receive the content for playback from the content provider via the media interface 114. CIN240907PEP-2025002661.DOCX 30

[0154] In the embodiment, the user device comprises a hardware abstraction (HAL) layer 11 interfacing the device hardware on the one hand and the media runtime device software 2 on the other hand. The hardware abstraction layer 11 is configured for detecting a playback event. The media runtime device software is configured to receive the playback event from the hardware abstraction layer 11 via control line 26. However, this playback event is not immediately executed, but is forwarded to the cloud backend via the control interface 112. When a confirmation on the playback event from the cloud backend is received via the control interface 112, then the hardware abstraction layer 11 is instructed by the media runtime device software 2 to perform the playback event. However, when no such confirmation for the playback event is received from the cloud backend or when an explicit “action forbidden” message is received from the cloud backend, then the playback event is not executed.

[0155] Thus, it is made sure that the content provider has full control not only on the fact that an unintended decryption is forbidden, but also how the media data is handled in the user device.

[0156] Nevertheless, in order to give the user of the user device as much control as possible, a pressing of a certain switch on the user device which is typically, a start button, a stop button, a fast forward or fast rewind or pausing button, is nevertheless detected, but not immediately executed as is done, in contrast, in prior art devices. Instead, this hardware event is forwarded to the cloud backend and only when the cloud backend confirms this event, then this event is actually executed.

[0157] The user device comprises a secure storage for storing a unique device ID which is required for identifying the user device with respect to the cloud backend. The device hardware is also configured to only replay content identified via a command received via the control interface and received via the media interface. In a further embodiment, the media runtime device software or “SDK kit” is configured to also have a web browser functionality 21 , a media player functionality 22, and a content decryption functionality 28. In a further embodiment, the media runtime device software 2 is configured to receive a playable unique resource locator (URL) from the control interface, and the user device then interfaces with the specific remote data instance, from which the playable URL is coming from via the media interface to stream media data located at the playable URL at the content provider via the media interface 114. Other ways to access a data source or data sink platform different from via a playable URL can be performed as well.

[0158] Fig. 6B illustrates an implementation of the cloud backend 200 that has a user device interface

[0159] 202 for interfacing with the user device such as the user device 100 of Fig. 6A. The cloud backend CIN240907PEP-2025002661.DOCX 31 comprises a communication interface for interfacing with a typically remote data instance such as any one of the data instances indicated at 400 in Fig. 6D, where individual data instances 405 are illustrated. These remote data instances also correspond to the media CDN 5 of Fig. 1.

[0160] The cloud backend 4 (200) is configured to provide messages to the user device interface for controlling the user device to handle media data and to receiving messages from the user device via the user device interface 202. The cloud backend is configured to communicate to the data instance via the communication interface 204 regarding an authorization of a user of the user device, where this communication comprises receiving data from the data instance or sending data to the data instance. However, this data does not comprise media data to be downloaded or to be uploaded from the user device to the data instances. The cloud backend comprises an application interface 206 for interfacing with a management application such as the user application 300 illustrated in Fig. 6C or 6D.

[0161] The cloud backend 200 (4) additionally comprises, for performing the corresponding tasks, libraries / data bases 208 that can be distributed in the cloud or that can also be located on a single server. The cloud backend also comprises a processing engine 210 that can also be a distributed processing engine or a concentrated processing engine. The playback / upload control of the user device is performed by the cloud backend typically without high-volume traffic in the cloud backend. Only control data is communicated within the cloud backend and control data is received via the cloud backend interfaces 202, 204, 206 and corresponding control data is output via these interfaces as well.

[0162] Fig. 6C illustrates an apparatus 300 (e.g. using user application 3) for performing a user application which comprises a user interface 302 which is exemplarily a human machine interface such as a touch screen interface or a speech interface in order to provide messages to a user or to receive messages from a user. The apparatus comprises a cloud backend interface 304 for communicating with a cloud backend such as the cloud backend of Fig. 6B or the corresponding elements located in the cloud backend in Fig. 1 comprising a playback management element, device queues, or a device management element 35 for example.

[0163] The apparatus is configured to communicate, via the user interface 302, to receive user commands regarding a selection of one or more data instances and a selection of content to be sent to a data instance or to be retrieved from a data instance and to display messages for the user, to communicate via the cloud backend interface 304 regarding the selection of the one or more viewed data instances to be accessed by the user devices, and to communicate via the CIN240907PEP-2025002661.DOCX 32 cloud backend interface regarding the selected content for sending from the user device to a corresponding data instance or for sending from the data instance to the user device. Hence, the cloud backend interface 304 cares for the selection of data instances for the selection and control of user devices, and for the selection of media content for the upload and download.

[0164] Fig. 6D illustrate an overview of the cloud ecosystem and how the individual interfaces are connected to each other in the four greater “entities”:

[0165] The user device 100 (above indicated as 10, 10a, 10b...) with the media runtime device software 2. The user application apparatus 300 (carrying the user application 3) with the user interface 302 on the one hand and the cloud backend interface on the other hand.

[0166] The remote data instances 405, with the high volume data connection 51 between the media interface 114 of the user device 100 and the media interface of the corresponding data instances.

[0167] The cloud backend for communicating with the remote data instances, the user device 100 and the user application apparatus 300.

[0168] The user application apparatus 300 for communicating with the cloud backend and the user herself of himself.

[0169] In an embodiment, the user device is responsible for playback of content from the remote data instances, and this device, in a minimum implementation, only consists of logic to ensure this capability and, additionally, has the ability to display the playback state in case of a screen connected to the user device or integrated in the user device. The user device only reacts and performs actions based on commands received from the cloud backend via the control interface 112 and there is no local ability to change what is being played. The user device only operates in conjunction with the cloud backend except for already cached or pre-fetched content which will continue to play even without the connection to the cloud backend. Any buttons included in the hardware of the user device can remain active, but not active in the sense that a command implemented by a button is immediately executed, but only active in the sense that the command is detected, forwarded to the cloud backend, confirmed by the cloud backend and only when the confirmation is there, executed in the hardware of the user device. The user device supports all playback capabilities provided by the media runtime device software including playback of DRM protected content and synchronized playback. CIN240907PEP-2025002661.DOCX 33

[0170] Devices on the same local network can be used in a group playback leveraging synchronized playback, where the synchronization and distribution of content is performed locally. This is realized by electing one device as the primary device, this primary device will receive a content stream and will distribute it over the local network to all other participating devices. This primary device is elected algorithmically among all participating devices and can change in the course of active playback, specifically in case of devices becoming online or offline in the course of playback.

[0171] The user device also provides an interface for onboarding purposes that allows an app on a mobile device to provide network information to the user device in order to connect it to a local network. The actual hardware used in the user device is, in an abstract representation, a hardware abstraction layer being provided by a device maker and used together with the media runtime device software. The HAL is used to control network interfaces, receive signal input signals and receive status information for further use from the media runtime device software 2, among other needed abstractions to interact with provided hardware such as audio or video output. The device always identifies itself towards all other participants in the ecosystem based on a unique device ID securely stored on the user device 100.

[0172] The cloud backend comprises multiple services with detailed responsibilities. The cloud backend 200 is the main control and management interface within the ecosystem, where all changes in the ecosystem are managed and controlled via the cloud backend 200. Exemplarily, the cloud backend comprises a device management element 35 illustrated in Fig. 1. In this device management, it is made sure that every user device is registered as owned by a user. Users have the ability to see their own devices, to name these devices, to tag these devices, and to deregister them. Users can create and delete device groups which allows using a device group like a single device.

[0173] The cloud backend comprises a playback management that enables the users of the ecosystem to control various playback aspects of the owned devices of the user. Exemplarily, playback of audio, images, and videos is supported as well as an upload of audio data, video data or image data or media data.

[0174] Users can control single devices, view content from content providers and control the playback thereof independently from the local network. This means that the controlling device such as a mobile phone, browser or tablet or generally the user application apparatus 300 can be connected to any network. The playback control includes start, stop, seek, skip, and other functionalities CIN240907PEP-2025002661.DOCX 34 offered by the content provider the content is coming from. Restrictions set by the content provider are respected, for example, skip limits, etc. Users can create playlists that can be composed of items from any content provider of any supporting media type. The user-created playlists can be queued on a device owned by the user. The device can offer any playback control operations directly via buttons and the user can control playback directly from there. However, such control via the buttons is not immediately executed but is only executed when confirmed by a message originating from the user device interface 202 of the cloud backend 200. Users can control playback targeting a device group containing arbitrary devices the user owns. Each separate network segment of the device group will play the content synchronously and technically act as one device. Users can control playback targeting a virtual device and the content will be played according to the virtual device definition.

[0175] Additionally, the cloud backend comprises a content service management that allows the end user to connect to content services or, as named before, data instances that are integrated via the functionalities performed by the user application apparatus 300. End users need to have a subscription / account for the corresponding service at the remote data instance they want to connect and the corresponding user application must allow the user to have access to the service.

[0176] The cloud backend additionally comprises a media app management functionality that defines all meta data for content services, decryptions, translations, icons as well as a specification on how to access content via an API or an URL or URI for web applications. The media app management also allows service providers to specify the requirements their service has towards a device (codecs, screen resolution, DRM, etc.). It also allows a content service to configure restrictions for the service allowing to restrict a service availability by device meta data (manufacturer, type, model, etc.), regions or accounts. These restrictions can be formed by using deny lists and allow lists.

[0177] Additionally, an update management is provided in the cloud backend. In general, devices receive updates of their running device media player software over the air. For that, the devices check frequently if there is a new software version available for a specific device model and install it accordingly. The update will be installed when the device is not performing playback, however, devices performing continuous playback will forcefully install the updates after a defined time. Update packages are stored on the distributed CDN (Content Delivery Network) illustrated at 5 in Fig. 1 to ensure high availability and low latency. An update package contains a specific version of the media runtime device software that runs on the device and informative meta data for the update mechanism to be able to select the correct update package. Update packages can be CIN240907PEP-2025002661.DQCX 35 private, so that they can be restricted for development purposes for specific manufacturers, device models or users. The updates are managed through the cloud backend 200 and the device manufacturers. Manufacturers can define if their device models receive a specific version of the update or not.

[0178] The user application apparatus 300 relies on rendering the web frontend exemplarily within a native application. On top of rendering the web frontend, the user application is also integrated in a playback device also allowing remote control via the web frontend or other applications. On top of these functionalities, a further purpose of the user application apparatus 300 is to provide support for onboarding of devices.

[0179] The onboarding of devices is happening by using a camera of a mobile device to scan a QR code. The QR code contains information about the device ID (uniquely identifying the device) as well as optionally information about a local wireless access-point of the device. After scanning the QR code, the user application 300 will connect the mobile device to the wireless access-point of the device. In the next step, the device itself is providing the mobile app with a list of available wireless networks that the device can connect to. The user can select the wireless network to connect to and will be asked to provide the necessary wireless network password. This information is transferred from the user application to the device on which the user application is running and, then, a connection to the wireless network and a connection to the cloud backend 200 are established.

[0180] As illustrated in Fig. 5, a device maker 500 is performing several procedures to generate a cloud service-ready user device.

[0181] Particularly, the device maker 500 may produce a hardware device with the hardware device (e.g. 1 ) and, then, as illustrated in item 501 , put the media runtime device software 2 on the device 1 . Furthermore, as illustrated in item 502 a set of unique device IDs is acquired and, then, as illustrated in step 503, the device IDs are securely put on the device, one device ID per device.

[0182] Furthermore, the device manufacturers create and configure a device descriptor as illustrated in item 504 and, additionally, set rules for allowing or disallowing certain media apps as illustrated in 505. CIN240907PEP-2025002661.DOCX 36

[0183] In an embodiment, these rules are stored in the cloud backend 4 and, particularly, in the certain libraries or databases of the cloud backend.

[0184] Fig. 7 illustrates an example procedure of onboarding of the user application apparatus 300 to become a user device. This is done implicitly after the user 99 downloads 601 the app from a store and logs into the app for the first time. Particularly, for this purpose, the user 99 starts the app in step 602, and the user application receives, via the user interface 302, a starting message of the app 602. Then, the application apparatus 300 displays a login screen and receives a login message 603 from the user 99.

[0185] When the user is logged in, the application 300 receives a device ID that is internally assigned to the user 99 so that the user 99 becomes the owner of the user device 900, on which the user application is running, i.e., the owner of the user application apparatus. In an embodiment illustrated in Fig. 7, the user application sends out credentials to the cloud backend 200. This occurs by sending out the message 604 via the cloud backend interface 304 of the user application to the application interface 206 of the cloud backend. Then, in reply to this message 604, the cloud backend 200 (4) replies, via the application interface 206, with a message 605 comprising a token, which is received from the user application 300.

[0186] Then, using this token, and when the starting is performed for the first time as illustrated in item 606, the application retrieves, from the apparatus, on which the user application is running, a MAC information (media access control information), or an IMEI (International mobile equipment identity) information and sends this data via a message 607 to the cloud backend 200 via the application interface 206 of the cloud backend. In response to this data, the cloud backend creates a device ID as illustrated in block 608 and, additionally, stores device data derived using the IMEI or the MAC data and outputs the device ID using a message 610 via the application interface to the cloud backend interface 304 of the user application. The user application then stores this device ID in the apparatus, on which the user application is running. Now, the device, in which the user application 300 is running has a unique device ID known and managed by the cloud backend 200. Therefore, in order to be able to finally become a device, it is only required that, for example, using the device ID, the media runtime device software already existing on the apparatus, in which the user application is running, is activated, or this data is downloaded so that the device, in which the user application is running, is implemented to be a compliant device. CIN240907PEP-2025002661.DOCX 37

[0187] Discussion

[0188] An Ecosystem (e.g. shown in Fig. 1) combines information from content services and devices centrally in the cloud. Devices 10 within the Ecosystem provide a list of capabilities they provide for playback, including availability of a display, resolution, number of audio channels, as well as the availability of decoders for media playback and other capabilities. The Ecosystem is aware of what each device can provide for a user.

[0189] Similarly, every content service within the Ecosystem is providing a list of capabilities that they require to be present in order to playback their content.

[0190] Within the cloud there is a matching performed between what a device is capable of playing and what a service can offer. This matching makes sure that playback will only happen on devices that can actually playback the content, reducing the risk of playback issues and errors. The matching also ensures that the right quality content is delivered, reducing possible down or upscaling issues and ensures to always present the best possible quality playing on each device. Besides ensuring playback can happen on a device and ensuring best quality, the capability matching also helps in reducing bandwidth consumption on each device by providing the best and at the same time smallest possible stream, for instance not using a video stream in case of no display or providing 6 channel audio for a 2 channel device.

[0191] The capability matching is visible to the user within the App at the UE 3, depending on how the user decides to manage playback. When a user intends to start playback from a device, only services and content that matches the devices capabilities is selectable for the user. Similarly, if a user intends to start playback from the content side, only devices that have the necessary capabilities to playback the content can be selected for playback. This ensures clear visibility for the user and makes sure there can always be the best match possible.

[0192] In case of groups or playlists with different contents, the user will also be informed if not all devices in the group have the necessary capabilities, leaving the option to the user if he wants to continue playback accepting that some devices will not play the content, or selecting a different set of devices that have the capabilities. CIN240907PEP-2025002661.DOCX 38

[0193] Credentials

[0194] In examples, there is no exchange of secret information between the first processing system 10 (and in particular its instantiation or SDK 2) and the assisting system 4. Secret information (e.g. pertaining to credentials) may be exchanged, for example, between the assisting system 4 and the second processing system 5 and / or between the assisting system 4 and the user equipment

[0195] 3. In this way, the operations of the first processing system 10 (and in particular its instantiation or SDK 2) and the assisting system 4 are simplified.

[0196] Further embodiments:

[0197] Capability matching can also allow to select the right player on the device itself, to always use the player software requiring the lowest possible footprint and best quality, for instance only using a web browser for web content and dedicated players for video or audio.

[0198] Cloud Ecosystem

[0199] This preferred embodiment used the group playback invention within a new cloud ecosystem, which consists of multiple parts and roles:

[0200] 1. Cloud Ecosystem - a uniform cloud media platform connecting Users, Devices, and Content Services via the Cloud Backend and providing the Management Services.

[0201] 2. Device Maker - any party designing and / or manufacturing Devices. It includes also private technical savvy users acting as such Device Maker by installing the Media Runtime Device Software on a device of their own (e.g., a private camera connected to an SoC of a User).

[0202] 3. Device Brand - a commercial brand under which a Device Maker offers Devices

[0203] 4. Content Services - any party having cloud services for sending (downstream from cloud service) or receiving (upstream to cloud service) content on or from a Device (examples for sending are e.g., services like Spotify, Netflix, or advertising content services, business radio services, private streaming services, content management systems (including systems handling scheduling, delivery and curation) and for receiving can be e.g., a service to store digital camera data in the cloud).

[0204] 5. Media App - a descriptor defining and enabling the connection between the Content Services, the Cloud Backend and the Device. And enabling a Content Service additional functionality by communicating with the Device via the Media Runtime Device Software, like e.g., like saving content on a Device. A Media App is only CIN240907PEP-2025002661.DOCX 39 available in the Cloud Backend, the Device and the Media Runtime Device Software do not have information about the Media App, providing additional security and separation of concerns.

[0205] 6. Device - a hardware device having at least one CPU and a connection to the internet, having Device Capabilities and having integrated the Media Runtime Device Software. A Device is uniquely identified by a Device ID and can have a User as its owner.

[0206] 7. Media Runtime Device Software - embedded software running on a device and communicating both with the device hardware and with the Cloud Backend, and supporting Formats and other capabilities depending on the Device Capabilities. The Media Runtime Device Software is independent of specific Media Apps, and is compiled to many OS and SoCs systems.

[0207] 8. Cloud Backend - cloud services enabling and maintaining the connection and control of the Media Runtime Device Software of all Devices. Through this connection enabling the Cloud Ecosystem. The Cloud Backend has its own Web APIs (e.g., REST APIs). Media Apps are used in the Cloud Backend to communicate content for playback from and to Devices.

[0208] 9. Device Capabilities - the list of all hardware capabilities of a device supported by the Cloud Ecosystem. This includes all supported Formats, and including capabilities like supported audio and video codecs for encoding and for decoding, performance capabilities, security capabilities such as secure boot, DRM capabilities, payment capabilities, etc.

[0209] 10. Device ID - a unique identifier for each Device

[0210] 11. App - an application (e.g. installed in the UE 3) using the Management Services to manage the Devices and the Account. Optionally, an App can have its own Media Runtime Device Software making the App a Device itself. An App can be a mobile app running on a smart phone or tablet or can be running in a browser or an application running on a PC.

[0211] 12. User - a user with an Account. Users can own their own Devices or use Devices of any other user (e.g., colleagues, or family members).

[0212] 13. Role - each User has one or more roles to define the rights of the User

[0213] 14. Account - a unique user with a free or paid subscription to the Cloud Ecosystem

[0214] 15. Formats - at least one of audio, video, pictures, text and interactive (web) content playing / displaying, and / or generating at least one of audio, video, pictures, text and interactive (web) content. Examples for playing are (i.) speakers for audio, (ii.) screens, CIN240907PEP-2025002661.DOCX 40

[0215] TVs for video and pictures, (iii.) screens, keyboard for interactive content. Examples for generating are (i.) microphones for audio, (ii.) cameras for video and pictures.

[0216] 16. Play, Playback, playback or played or play - is broadly defined as playing Formats on a Device and / or generating Formats on a Device

[0217] 17. Store - a service of the Cloud Backend enabling Users to search, find, select and unselect Media Apps and authenticate them with the new Cloud Ecosystem using the Content Services credentials, and vice-versa. This allows the Cloud Ecosystem to e.g., access content from Content Services.

[0218] 18. Management Services - Services in the Cloud Ecosystem available via the Cloud Backend for participants to control and manage some or all aspects for one or many Devices (e.g., managing Devices including onboarding and offboarding, play queue management, playback management, etc.).

[0219] The ecosystem is a system consisting of

[0220] - An unlimited number of Devices

[0221] - An unlimited number of Users

[0222] - An unlimited number of Media Apps

[0223] - Enabling access to each User's Devices and Content Services over Apps and / or Management Services, with the possibility to delegate rights to other Users.

[0224] - Giving Content Services full control over (i.) minimum Device Capabilities a Device must have to be allowed and able to play their content (for example codec support, secure boot, DRM, etc.) for the purpose of e.g., ensuring best possible playback quality, and / or the minimum security requirements (ii.) Devices from which Device Brand(s) will be allowed to play their content, or to not play their content, (iii.) which Devices get access to which Media App enabling a Content Service for example to exclusively one Device Brand, or any combination / permutation, (iv.) allow Content Services to extend their own applications the capability to manage Devices with their own Media Apps (e.g., remote control).

[0225] - Giving Device Makers full control over (i.) which Media Apps they want to allow on their Devices, (ii.) which Device Capabilities of the Cloud Ecosystem the Device should support and make available to the Cloud Ecosystem, (iii.) allow Device Makers to extend their own applications the capability to manage Devices via Management Services (e.g., Device onboarding to the Cloud Ecosystem).

[0226] - Giving Users full control over (i.) selecting Media Apps via the Store and authenticate the Cloud Ecosystem with them, (ii.) using Apps and the Management Services to manage and control the Devices they own, (iii.) permissions of the Media Apps which CIN240907PEP-2025002661.DOCX 41

[0227] Device Capabilities they can access via the Management Services (e.g., for a Device with a speaker and a microphone, a User should explicitly allow the Media App to control playback on the speaker, and to play from the microphone, i.e. to access the microphone input and send it to the Content Service), (iv.) delegating User's rights partially or fully to other Users using e.g., Roles.

[0228] Advantages of our ecosystem are, amongst others:

[0229] - Separation of Devices and Media Runtime Device Software versus the Content Services enabling any Content Service to run on any Device just based on the Device Capabilities, the Media App service mapping, the Device Maker and Content Services restrictions and the User choices only, fully managed in real-time in the cloud.

[0230] - The ecosystem can run on any supported Device running the Media Runtime Device Software, regardless of OS and SoC.

[0231] - Any participant keeps the control it wants, at any time.

[0232] Description of Further Embodiments of the matching and management of media capabilities invention

[0233] Preferably, the cloud backend 4 (assisting system) maintains a database on the capabilities of each connected device. With "each connected device", each "device HW" and the associated device SDK / player is meant.

[0234] There is a communication traffic so that for different devices / SDK / players, the corresponding capabilities are connected in the beginning. This can, for example, already take place during an onboarding procedure or in a specific dialogue between the instances device HW 1, device SDK / player 2, and cloud backend 4.

[0235] As soon as the different functionalities from the individual "device HWs" are known, this information is later on used when the specific device is to replay audio or video. Furthermore, the media app content distribution network is informed on the specific functionality of the hardware device in question There can also be some scalability in the device SDK / player 2 so that the adaption to the hardware device capabilities is done locally in the device SDK / player, for example, via the corresponding functionalities here. In a different way, the cloud backend 4 (assisting CIN240907PEP-2025002661.DOCX 42 system) sends, in response to the stored capabilities that are stored in the cloud rather than on the device SDK / player 2, the media stream directly from the media stream provider (media app CDN) exactly in the required format that is in line with the hardware devices capability. Furthermore, this information can be updated when the device receives an enhanced capability later on or when the hardware device is replaced by another one. Alternatively, this case can require a new onboarding procedure.

[0236] The assisting system 4 may also provide the possibility (e.g. in Fig. 3) that the hardware device not only replays content but generates content via a microphone, a camera, a touch-sensitive display or any interface such as a wireless or wired interface to another hardware device so that content goes from the device hardware to the device SDK / player 2. This represents a communication and related data traffic "in the opposite direction" compared to a playback scenario so that the cloud backend 4 (assisting system) not only draws data from a website or remote data source but also controls such a remote data sink 5 such as YouTube or so.

[0237] In this case, the actual content / multimedia data does not go via the cloud backend system 4, but is directly uploaded via the device SDK / player 2 to the website 5 such as YouTube, Facebook, Instagram, etc. or, in general to any central website.

[0238] Hence, a communication protocol what happens between different instances when the user of the hardware and point device acquires content by herself or himself and uploads this content onto a certain website using the infrastructure of Fig. 1 is applied.

[0239] While the above embodiment is meant for multimedia upload, another application is directed to upload any collected data such as human interface data or any data (such as transactional data) that is gathered and processed in a very specific environment, for example for transactional applications (e.g. orders), already discussed above. An application is, for example, in a self-service fast food store, where the device (client 10) with the touch sensitive display (which is in the hardware device 1) to receive orders is a device 10 and / or has the capabilities discussed above. The data entered by a user via the touch sensitive display (1) to order e.g., a hamburger, is uploaded to a central fast food store site being part of the assisting system 4 (backend). Then, data traffic regarding this order takes place between the central website (which is 5) and the CIN240907PEP-2025002661.DOCX 43 store until the user receives the hamburger, and some data is stored on the central site and the store site. In an example, the app (user interface) on the user's phone is not needed in this application.

[0240] In order to proceed for the Cloud backend system 4 to set / use / distribute the capabilities of the user devices, it is preferred that the user does not give her or his credentials out to the content provider such as Netflix or Spotify or so or to the content receiver such as YouTube. Instead, the user only has to give her or his credentials to the cloud backend system 4. This procedure provides the user with more trust since the user can trust a single cloud backend system 4 managing all different content providers 5 and receivers 10. This feature enhances the functionality and applicability of the infrastructure of Fig. 1, since the user probably only has to give one set of credentials into the cloud backend 4 and then these credentials are probably valid for all different content providers / receivers at least as seen from the user's-side.

[0241] In a certain communication, credentials come from the user, preferably via the user app on the mobile or stationary device (UE 3), to the cloud backend system 4 (assisting system) and the credentials are handled there preferably in connection with capabilities of the user's device(s) 10. The credential management is actually performed when the device SDK / player unit 2 stored on the replay device 2 accesses the media app content distribution network (such as Netflix or so). The credentials are not exchanged between the device SDK / player 2 (or more in general the client 10) and the content provider 5 (e.g. Netflix). Therefore, the cloud backend system 4 (assisting system) and the content provider website 5 interact so that the corresponding content is transferred directly from the content provider 5 to the device SDK / player 2 (or more in general to the client 10). In an embodiment, temporary credentials can be given for this purpose.

[0242] Another embodiment of the invention is the parallel provision in the device SDK / player 2 of, on the one hand, a web browser and, on the other hand, a core online player. In particular, these two elements provide different procedures. The core online player does not perform any web browsing by itself but receives the streamed content via e.g., the HTTPS interface directly under the control of the Cloud server which, on the other hand, is under the control of a playback proxy service in the cloud backend 4. On the other hand, the web browser has a browsing functionality that, however, is heavily limited or at least controlled in some way. The input and output CIN240907PEP-2025002661.DOCX 44 definitions of both the web browser on the one hand and the core online player on the other hand are different from each other, and these elements controlled in different ways.

[0243] Description of Further Embodiments of the Ecosystem

[0244] A preferred embodiment is illustrated in the enclosed figure illustrating several elements of the invention. The hatched line indicates what is included in the typically mobile device owned by the user. However, the Media CDN (content delivery network) does not necessarily need to be located in the device as a library or any other collection of media, but can also be located anywhere in the cloud. In this embodiment, the mobile device has an interface for interfacing with the Media CDN in the cloud.

[0245] A "final" or endpoint device is the device HW that typically consists of a replay functionality such as a loudspeaker or a video screen and some interface buttons such as stop buttons, pause buttons, etc.

[0246] This "device HW" interfaces with a "device SDK / player". This functional unit "device SDK / player" interfaces, on the one hand, with a media provider or, generally, with a distributed content delivery network (media App CDN).

[0247] Furthermore, the "device SDK / player" interfaces with the cloud backend 4.

[0248] Furthermore, there exists an application on the user's mobile (or stationary) device 3 such as the user's mobile phone, tablet or even a user's stationary computer. This app on the mobile device 3 mainly interfaces with the cloud backend system 4 and interfaces, via the onboarding functionality, with the device SDK / player unit. However, the app to be stored, for example, on the user's mobile device 3 or on the user's stationary computer 3 does not interface with the final playback device 10 or "device HW" 1.

[0249] Furthermore, this app does not interface with the media app content delivery network 5 that comprises, for example, a streaming platform such as Netflix, Spotify, Amazon Prime, etc.

[0250] Seen from the perspective of the cloud backend system 5, the cloud backend system 5 interfaces on the one hand, with the app on the user's mobile 3 or stationary device 3, with the media app content delivery network, and with the device SDK / player. However, the cloud backend system 3 does not interface directly to the actual replay device or "device HW" 1. CIN240907PEP-2025002661.DOCX 45

[0251] In the cases in which the cloud backend system 4 is distributed in a cloud, this functional unit maintains, among others, several databases that include, among others, "Live Services" functionalities that represents the actual interface between the media app content delivery network (media app CDN) 5 and the cloud backend system 4 (assisting system).

[0252] Generally, at least four instances will cooperate with each other or with only selected ones of all instances. These are the final replay hardware deceive (1), the device SDK / player (2), the app (3) on the user's mobile / stationary device, the cloud backend (4) and the distributed content delivery network (CDN) (5).

[0253] The present invention allows a distributed Communication between the Content Data and the Control Data.

[0254] It is preferred that the cloud backend system 4 only communicates with the media app content distribution network with respect to control data that only require a low volume of data transmission. On the other hand, the actual content such as video or audio content is directly transmitted from the distributed content delivery network (CDN) to the actual hardware device via the device SDK / player functionality which is a software program stored on a storage of the actual player device. This distributed transmission of content data on the one hand and control data on the other hand has the advantage of only having low volume traffic in the cloud backend system 4. The high volume traffic only occurs between the content delivery network such as the streaming provider and the device SDK / player unit stored in a storage of the end point device including the "device HW" instance.

[0255] Furthermore, the controlled situation in that the user's access to the content delivery network or streaming provider is only done via the cloud backend system 4 is advantageous for the content provider, since the content provider can trust the cloud backend system 4 and can also trust the hardware end point device, since all the replay functionalities are controlled by the device SDK / player instance 2 that tightly cooperates with the cloud backend system 4. In case of a security breach the cloud backend system 4 can easily bar the compromised device or a class or group of compromised devices (e.g., from the same producer or distributor or ...) by building and maintaining a corresponding "no go" database.

[0256] A specific functionality provided to the user of the hardware player is to also press buttons on the loudspeaker or the video screen device giving the user the impression that the user has the CIN240907PEP-2025002661.DOCX 46 full control over the replay functionalities, although these Hardware Abstraction Layer (HAL) events are not forwarded directly to the streaming website, but only via the cloud backend system 4.

[0257] Furthermore, embodiments of the cloud backend system 4 make sure that correct reports back to the artist with respect to Copyrights, etc. are assured by the cloud backend system 4.

[0258] Further functionalities regarding the good control for the content provider such as databases stored with user data etc. are preferred for this invention.

[0259] An inventively encoded signal can be stored on a digital storage medium or a non-transitory storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

[0260] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.

[0261] Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed.

[0262] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.

[0263] Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier. CIN240907PEP-2025002661.DOCX 47

[0264] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier or a non-transitory storage medium.

[0265] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0266] A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein.

[0267] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.

[0268] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

[0269] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0270] In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware apparatus.

[0271] The above described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein. CIN240907PEP-2025002661.DOCX 48

[0272] Aspects

[0273] 1. Apparatus, method or computer program for operating a user device as described above.

[0274] 2. Apparatus, method or computer program for controlling a user device, wherein the apparatus, method or computer program is separate from the user device.

[0275] 3. Apparatus, method or computer program for communicating between the user device and the controller as described above.

[0276] 4. Apparatus, method or computer program of one of the preceding aspects, wherein the user device and / or the controller is / are an element of an ecosystem as described above, the ecosystem comprising a cloud backend.

[0277] 5. System, method or computer program for implementing a guest device procedure between a user device and a controller being separate from the user device as described above.

Claims

CIN240907PEP-2025002661.DOCX 49Claims1. An assisting system (4) for assisting in performing services between at least one first processing system (10), or a processing system instantiation (10', 10") thereof, and a second processing system (5), the assisting system being configured to: receive through a second remote connection, or otherwise have knowledge on, requirement information (105) indicative of required capabilities, required by the second processing system (5) for each instantiation of at least one instantiation of at least one service to be provided by the processing system (5); and receive through a first remote connection, or otherwise have knowledge on, capability information (110) indicative of offered capabilities, offered by the at least one first processing system, or first processing system instantiation; the assisting system comprising a matching retrieval block (200) configured to perform a matching retrieval operation (2009 to retrieve a matching between a service instantiation to be provided and at least one first processing system (10), or processing system instantiation (10', 10") thereof, so that the required capabilities match the offered capabilities, the assisting system being configured to provide information (102) on the matching.

2. The assisting system of claim 1, configured to provide the information (102) on the matching at least to the first processing system.

3. The assisting system of claim 2, configured to provide the information (102) on the matching at least to the first processing system, the matching information providing information on the best matching processing system instantiation (10', 10") among a plurality of processing system instantiations (10', 10") installed on the first processing system (10).

4. The assisting system of any of claims 1-3, configured to provide the information (102) on the matching at least to a user application (3) running on a user equipment, so as to permit the selection of at least one best matching processing system among a plurality of best matching processing systems.

5. The assisting system of claim 4, configured to receive, in response to the information (102) on the matching a required second processing system of at least one best matching processing system among a plurality of best matching processing systems, and then to instruct the preferred best matching first processing system to start the reception of the service.CIN240907PEP-2025002661.DOCX 506. The assisting system of any of claims 2-5, configured to provide the information (102) on the matching at least to the best matching first processing system, the matching information providing information (37) on the best matching instantiation of the at least one service to be received by the from the second processing system (5).

7. The assisting system of claim 6, configured to send, to the best matching first processing system, address of the service to be received from the second processing system.

8. The assisting system of any of the preceding claims, configured to provide the information (102) on the matching at least to the second processing system (5).

9. The assisting system of any of the preceding claims, wherein the at least one first processing system (10) is a client system in a first operation mode, and the at least one second processing system a server system in the first operation mode.

10. The assisting system of any of the preceding claims, wherein the at least one first processing system (5) operates as a server system and the at least one second processing system operates as a client system.

11. The assisting system of claim 10, wherein the service to be provided is an upload of a media stream, wherein, in second operation mode, the required capabilities are capabilities required by the server for uploading the media stream, and the offered capabilities are capabilities offered by the client for the media stream, the matching service instantiation retrieval block (200) being configured to, among the plurality of capabilities offered by the client device, perform a matching service instantiation retrieval to retrieve a matching service instantiation to be provided which minimizes the amount of resources required by the capabilities offered by the server system but matching the capabilities offered by the server system.

12. The assisting system of any of the preceding claims, wherein the offered capabilities include media playback capabilities that the first processing system (10) offers for playback of media streams, wherein the required capabilities include media playback capabilities that each version of the media stream to be transmitted requires, andCIN240907PEP-2025002661.DOCX 51 wherein the at least one service to be provided includes the transmission of the media stream in the version that minimizes the amount of resources required by the transmission.13 The assisting systems of claim 12, wherein the offered capabilities include the number of channels that can be rendered by the first processing system (10), wherein the required capabilities include the number of channels that each version of the media stream to be transmitted has encoded therein, wherein the matching service instantiation retrieval block (200) is configured to retrieve a version of the media stream to be transmitted having the maximum number of channels, under the condition of excluding the versions of the media stream to be downloaded having, encoded therein, the number of channels greater than the maximum number of channels.14 The assisting systems of any of claims 12-13, wherein the offered capabilities include a maximum media resolution that can be achieved in rendering the media stream by the first processing system (10), wherein the required capabilities include, for each media stream to be transmitted, a resolution of the version of the media stream, wherein the matching service instantiation retrieval block (200) is configured to retrieve a version of the media stream to be transmitted maximizing the resolution, under the condition of excluding the versions of the media stream having resolution greater than the maximum media resolution that can be achieved in rendering the media stream by the first processing system (10).15 The assisting system of any of claims 12-14, for assisting in performing services a group of first processing systems (10, 10a, 10b, 10c, lOd) and a second processing system (5) to perform a synchronized group media playback, wherein the offered capabilities include media playback capabilities that each first processing system of the group (210) of first processing systems (10) offers for playback of media streams, the matching service instantiation retrieval block (200) being configured to, among the plurality of versions of the at least one media stream to be transmitted, perform a matching service instantiation retrieval operation to retrieve a matching service instantiation to be provided so that the required capabilities match the offered capabilities.16 The assisting system of claim 15, configured, for at least one unmatched first processing system (10) of the group (210) for which the matching version of the media stream to beCIN240907PEP-2025002661.DOCX 52 transmitted requires more capabilities than the capabilities offered by the at least one unmatched first processing system (10), to exclude the at least one unmatched first processing system (10) from the group (210).17 The assisting system of claim 16, configured to search, among a plurality of first processing systems (10, lOa-lOd) which are not in the group (210), a substitute first processing system (10) substituting the at least one unmatched first processing system (10c), the substitute first processing system (10) having enough offered capabilities to match the version of the media stream to be transmitted.18 The assisting system of claim 15, configured to not exclude at least one unmatched first processing system (10c) of the group for which the matching version of the media stream to be transmitted requires more capabilities than the capabilities offered by the at least one unmatched first processing system (10c).

19. The assisting system of any of claims -15-18 for performing services a first processing system (10) and a group of second processing systems (5), wherein the offered capabilities include offered capabilities that each first processing system of the group (210) of second processing systems (5) offers the at least one service, the matching service instantiation retrieval block (200) being configured to, among the plurality of instantiations of the at least one media stream to be transmitted, perform a matching service instantiation retrieval operation to retrieve a matching service instantiation to be provided so that the required capabilities match the offered capabilities.

20. The assisting system of claim 19, configured, for at least one unmatched first processing system (10) of the group (210) for which the matching version of the media stream to be transmitted requires more capabilities than the capabilities offered by the at least one unmatched first processing system (10), to exclude the at least one unmatched first processing system (10) from the group (210).

21. The assisting system of claim 20, configured to search, among a plurality of first processing systems (10, lOa-lOd) which are not in the group (210), a substitute first processing system (10) substituting the at least one unmatched first processing system (10), the substitute first processing system (10) having enough offered capabilities to match the version of the media stream to be transmitted.CIN240907PEP-2025002661.DOCX 5322. The assisting system of claim 19, configured to not exclude at least one unmatched second processing system (5) of the group for which the matching version of the media stream to be transmitted requires more capabilities than the capabilities offered by the at least one unmatched second processing system (5).

23. The assisting system of any of claims 15-22, configured to instruct a first processing system to receive, in input, a media input from a media sensor integrated in the first processing system, mix the media input with the received media stream, and retransmit the mixed media stream to the other first processing systems of the group (210).

24. The assisting system of any of the preceding claims, wherein the offered capabilities include a hardware abstraction layer, HAL (11), according to a predetermined version, wherein the required capabilities include, for each service to be provided, a compliant version of the HAL (11) for the service to be provided, wherein the matching service instantiation retrieval block (200) is configured to retrieve an instantiation of the service to be provided whose version of the HAL is compliant to the HAL in the offered capabilities.

25. The assisting system of any of the preceding claims, wherein the offered capabilities include application program interfaces, APIs, installed, wherein the required capabilities include, for each service to be provided, APIs to be installed, wherein the matching service instantiation retrieval block (200) is configured to retrieve an instantiation of the service to be provided which minimizes the number or the complexive size of APIs to be installed.

26. The assisting system of any of the preceding claims, wherein the at least one service to be provided is to be performed through a third remote connection between the first processing system and the second processing system, but not the assisting system.

27. The assisting system of any of the preceding claims, configured to receive the requirement information (105) in a preliminary, setup session from the second processing system.

28. The assisting system of claim 27, configured to subsequently receive update information of the requirement information (105) from the from the second processing system.CIN240907PEP-2025002661.DOCX 5429. The assisting system of any of the preceding claims, configured to receive the capability information (110) in a preliminary, setup session.

30. The assisting system of claim 29, configured to subsequently receive update information of the capability information (110) from the at least one first processing system.

31. The assisting system of any of the preceding claims, wherein the offered capabilities and the required capabilities include a capability of implementing a decryption according to a particularly decryption technique and / or the possess of a decryption key for the service to be provided.

32. The assisting system of any of the preceding claims, configured to be connected, through a fourth remote connection (404), to a user equipment, UE (3), the UE (3) having a user interface for commanding the provision of the at least one service.

33. The assisting system of claim 32, being interposed between the UE (3) and the first processing system (5) operating as a server or the second processing system (10) operating as a server.

34. The assisting system of any of the preceding claims, wherein the matching service instantiation retrieval block (200) is configured to retrieve configured to perform the matching service instantiation retrieval by avoiding that the required capabilities exceed the offered capabilities.

35. The assisting system of any of the preceding claims, wherein the matching service instantiation retrieval block (200) is configured to perform the matching service instantiation retrieval by minimizing at least one resource to be necessary for the service and / or for a task implied by the service.

36. The assisting system of any of the preceding claims, configured to assist the provision of a transactional operation, according to which the second processing system, which operates as a client, receives data regarding an offered transaction, and provides data regarding a purchasing to the first processing device, which is a server.CIN240907PEP-2025002661.DOCX 5537. The assisting system of any of claims, wherein the offered capabilities and the required capabilities include a particular codec through which content (51) is encoded in the second processing system, wherein the matching is performed in such a way that the highest-quality codec offered by the first processing system (10) and required by the second processing system (5) is selected or suggested.

38. A player device (10) receiving a media stream, from a second processing system (5), the player device being configured to offer capabilities for rendering media content, the player device including or controlling a device hardware (1) for playing back media the media content, the player device being configured to: provide capability information (110) indicative of offered media rendering capabilities; receive, from an assisting system, information derived from information on matching between the capabilities offered and capabilities required by a media content provider, the information derived from the information on matching indicating which player device instantiation and / or which instantiation of the media content is to be received.

39. The player device of claim 38, configured, in case of being selected or elected primary player device in a group, to receive the matching media content and to retransmit the media content to secondary player devices in the group.

40. The player device of claim 38, configured, in case of instructions from the assisting system, to receive, from an input media sensor, media content, to mix the sensed media content with the received media content, and to retransmit the mixed media content to the secondary player devices.

41. A user equipment to control a provision of a service, the user equipment being configured to display, to a user, a list of at least one first processing system, or of processing system instantiations thereof, and / or a list of services to be provided, so as to allow the user to select the first processing systems, or processing system instantiation thereof, and / or service to be provided, the user equipment being configured to request a selection between the at least one least one first processing system, or processing system instantiations thereof, and a list of services to be provided, but preventing from selecting those first processing systems, or processing system instantiations thereof, and those services, which do not match.CIN240907PEP-2025002661.DOCX 5642. A method for assisting in performing services between at least one first processing system (10), or a processing system instantiation (10', 10") thereof, and a second processing system (5), comprising: receiving through a second remote connection, or otherwise obtaining knowledge on, requirement information (105) indicative of required capabilities, required by the second processing system (5) for each instantiation of at least one instantiation of at least one service to be provided by the processing system (5); and receiving through a first remote connection, or otherwise obtaining knowledge on, capability information (110) indicative of offered capabilities, offered by the at least one first processing system, or first processing system instantiation; the method including performing a matching retrieval operation (200') to retrieve a matching between a service instantiation to be provided and at least one first processing system (10), or processing system instantiation (10', 10") thereof, so that the required capabilities match the offered capabilities, the method including providing information (102) on the matching.

43. A method for a player device (10) for receiving a media stream, the player device offering capabilities for rendering media content, the player device including or controlling a device hardware (1) for playing back media the media content, method including: providing capability information (110) indicative of offered media rendering capabilities; receiving, from an assisting system, information derived from information on matching between the capabilities offered and capabilities required by a media content provider, the information derived from the information on matching indicating which player device instantiation and / or which instantiation of the media content is to be received.

44. A method for a user equipment to control a provision of a service, the user equipment being configured to display, to a user, a list of at least one first processing system, or of processing system instantiations thereof, and / or a list of services to be provided, so as to allow the user to select the first processing systems, or processing system instantiation thereof, and / or service to be provided, the method including requesting a selection between the at least one least one first processing system, or processing system instantiations thereof, and a list of services to be provided, but preventing from selecting those first processing systems, or processing system instantiations thereof, and those services, which do not match.

45. A non-transitory storing unit storing instructions which, when executed by a processor, cause the processor to perform a method according to any of claims 41-43.

Citation Information

Patent Citations

  • System and method for adaptation of peer-to-peer multimedia sessions

    US20050060411A1