RussianPatents.com

Systems and methods for managing multimedia operations in remote sessions. RU patent 2504829.

Systems and methods for managing multimedia operations in remote sessions. RU patent 2504829.
IPC classes for russian patent Systems and methods for managing multimedia operations in remote sessions. RU patent 2504829. (RU 2504829):

G06F15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a programme unit and a register, e.g. for a simultaneous processing of several programmes (interface circuits for specific input/output devices G06F0003000000; multi-programming arrangements G06F0009460000; transmission of digital information in general H04L, e.g. in computer networks H04L0012000000; selecting H04Q)
Another patents in same IPC classes:
Multi-client collaboration to access and update structured data elements Multi-client collaboration to access and update structured data elements / 2504001
Disclosed is a method of providing multi-client collaboration on structured data elements which comprises steps of: receiving at least one structured data element within a spreadsheet published at least in part in a first client system; defining a corresponding unique identifier; sending said at least one structured data element and said corresponding unique identifier to a master table; entering said at least one structured data element into the master table; calculating a value of said at least one structured data element; distributing said at least one structured data element and calculated value from the master table to a second client system and distributing the calculated value from the master table to the first client system; receiving a request to edit the master table; in response to receiving a request to edit the master table, determining whether the user making said request has privileges to edit the master table; if so, said changes are applied to the master table scheme and said changes to the master table scheme are synchronised with the first and second client systems.
Streaming interactive video client apparatus Streaming interactive video client apparatus / 2500022
Online video game or application hosting system has a hosting service, having one or more servers performing one or more video game or application twitches to provide one or more streams of compressed interactive streaming video with short latency, transmitted over a network which includes public network components to at least one client apparatus, situated away from at least one of the servers. The system performs operations for receiving and providing control signals to the servers, performing one or more video game or application twitches on the servers, providing streams of compressed interactive streaming video with short latency and decompressing the compressed interactive streaming video with short latency. Said operations are performed with such a short latency that a user interacting with at least one of the one or more video game or application twitches has the perception that the video game or application twitch instantly responds to control signals.
System and method of using transport structure in social network environment System and method of using transport structure in social network environment / 2500021
System includes: an information service configured to provide information distribution services through an information distribution network; user devices that device users use to communicate with said information service for receiving said information distribution services, a subset of said device users forming a social network with corresponding user devices; and a transport structure that communicates with network entities of the information distribution network, said transport structure collecting metadata for providing selected information from said information service to targeted device users. The metadata include social network metadata containing a user profile and a device profile for each device user from said subset of device users.
System and method for efficient use of transport device in electronic network System and method for efficient use of transport device in electronic network / 2498397
Device includes user devices, a transport device and a transport server. User devices are used to apply for communication with an information service in order to receive services of information messages transmission. Transport devices communicate with user devices along an electronic network for collection of various determined types of metadata, which are then used by the information service to provide the selected information to target users of devices. The transport server coordinates functions of transport devices, providing commands of tasks and navigations for efficient operation of transport devices.
Method to implement communications and virtual journeys / 2498396
In the method to implement communications and virtual journeys they receive user data, perform identification, personification and formatting of data, data is placed on named and identified sections of a machine-readable medium, an interactive system of data queries is formed, data is edited and/or formatted, and also transformed within the system with the help of appropriate software. The method also includes a stage of user/users requesting video-, audio-, photo- and text data, including serial activation of data of software responsible for graphic display of sections of a geographic map and/or sections of a graphical image and/or symbols of a list on a monitor/a display and issue of requested personified and/or reference and/or information data, corresponding to this activated data of software, to the monitor/display and/or devices of user finding with their subsequent preview, listening, reading.
Method and system to transfer information in social network Method and system to transfer information in social network / 2497293
Method includes calculation of throughput capacity of information transfer for a received user identifier in accordance with the user information corresponding to the received user identifier; saving of user identifiers, for which values of throughput capacity of transfer exceed the specified threshold value, in the initial user distribution queue; and transfer of transmitted information to a client, the user identifier of which is saved in the initial user distribution queue.
Complete high-voltage switchgear Complete high-voltage switchgear / 2496199
In compete high-voltage switchgear consisting of separate metal cabinet separated into technological compartments, having the possibility of single-sided and two-sided service and containing switching device, microprocessor protection and protection of main circuits, high-voltage contactor is used as switching device. Microprocessor protection has the possibility of providing simultaneous operation with sensors of temperature, level, dry stroke, sensors of flooding, speed and pressure and possibility of integration to automatic system for commercial measurement of power consumption and automatic process control system. Input and outgoing lines are made in the form of collecting buses or cable connection. Protection of main circuits is made in the form of arc protection device and unloading valves.
Software deployment in large-scale network systems Software deployment in large-scale network systems / 2495481
Software deployment to server nodes within large-scale network systems is provided using image-based deployment. A mostly immutable image is provided at a central service and transferred from the central service to the server nodes. The image includes a base image, which is immutable, and an additional image, which is writable and provides role-specific and/or node-specific state to the base portion. When a server node receives an image from the central server, the server node stores the image intact without installation. The server node then runs software directly from the stored image.
Method and apparatus for implementing distributed multi-modal applications Method and apparatus for implementing distributed multi-modal applications / 2491617
Method includes steps of: receiving, over an application server/voice server control path between the application server and a voice server, an indication from the voice server that speech has been recognised based on uplink audio data sent from a client device to the voice server over an audio data path between the client device and the voice server, wherein the uplink audio data represent a user utterance received through a voice modality of the client device, and wherein the voice server is distinct from the application server; and sending, over an application server/client control path between the application server and the client device, a message to the client device that includes a recognition result for the speech and that causes the client device to update a visual display to reflect the recognition result.
Simultaneous joint view of document Simultaneous joint view of document / 2488162
Document is simultaneously opened by different clients for joint view of a document. Each client may create comments to the document, at the same time access to editing is limited. Comments created to the document by one client are automatically synchronised with comments created by other clients, which simultaneously perform access to the document.
Method for automated active control of electric energy quality coefficients Method for automated active control of electric energy quality coefficients / 2248038
Method includes estimation of quality coefficients of electric energy in electric energy system, determining degree of matching of these coefficients to normal values, forming of control signal for correcting devices and predicting electric energy characteristics expected after effect of these devices. On basis of analysis of predicted characteristics quality coefficients are newly estimated and if necessary control signals for correction devices are formed. Estimation of not only voltage and frequency is provided, but also current. Whole cycle is repeated for each node of electric energy system.
Device for increasing speed of operation of local ethernet network adapter Device for increasing speed of operation of local ethernet network adapter / 2248039
Device has pulse generator and OR element. First input of OR element is connected to input of pulse generator and is meant for receiving signal, being sign of data transfer in local network. Output of generator is connected to second input of OR element. Output of the latter is meant for output of signal, matching condition of data bus of a network.
Module for transferring and broadcasting messages in matrix switchboard Module for transferring and broadcasting messages in matrix switchboard / 2249848
Device has three blocks for forming messages lines, block for analysis of messages line, multiplexer, decoder, broadcast control block, buffer register, launch trigger, synchronization block, AND elements block, denying element, blocks for organizing messages lines, direction selection block, OR element, AND elements.
Message exchange module Message exchange module / 2249849
Device has a group of buffer blocks from first to eighth, direction correction block, direction selection block, first registers group, output register, first decoder, multiplexer, first counter, group of switchboards from first to eighth, launch trigger, first and second univibrators, OR elements from first to third, first and second AND elements, clock pulses generator. Also inserted are buffer block, second and third registers group, second decoder, a group of demultiplexers from first to eighth, second counter, third univibrator, first and second groups of OR elements and fourth and fifth elements.
System for actualization of databases for information-marketing centers of electronic trade System for actualization of databases for information-marketing centers of electronic trade / 2253891
System has block for receiving actualization files, first and second devices for selecting supporting database record address, device for selecting address of user workplace block for selecting addresses of database record, data dispensing block, reverse counter, first and second codes comparison blocks, two registers, AND elements, OR elements and delay elements.
System for performing games in unified information-prize network of playing machines System for performing games in unified information-prize network of playing machines / 2259589
System has computing center, playing machines groups, provided with inbuilt individual mating assemblies, and common information displays; information transfer channels, global communication means communication channels and working stations of engineer, global communication devices, local computing centers, wherein workstation of engineer is positioned as well as manager workstation and local database server.
Extensible automatic system Extensible automatic system / 2260835
The proposed extensible automatic system has the following units: two programmable controllers, capable of autonomous operation; module of the interface of the first type; module of the interface of the second type; switch; decoder; bus shapers, used as attached elements; adapters; modules of expansion of the first type; modules of expansion of the second type; interface bus; information bus of the first type and information bus of the second type.
Communication processor Communication processor / 2260841
Device has communication blocks for direct and main communications, control block, environment adjustment block, routing block, inner exchange environment.
Multiprocessor controller for controlling a complicated technological object Multiprocessor controller for controlling a complicated technological object / 2263952
Device has block for forming geographical address, interfaces of serial system bus, processor modules, consisting of processor, memory block, logical control block, input-output sub-modules, interfaces for measuring and controlling an object, connected by system bus, while processor modules are connected by determined local network of low level as clusters.
Method and device for use in conjunction with electronic mail Method and device for use in conjunction with electronic mail / 2267228
Method for notification of user about receipt of electronic mail message by mail center, wherein information is stored, related to mail accounts, assigned to identifiers of decoder receivers, enables transfer of notification message in broadcast signal, while notification message includes at least additional portion of text of electronic mail message and identifier of decoder receiver targeted as destination for current notification message. Described transmission is realized by appropriate devices and decoder receivers.

FIELD: information technology.

SUBSTANCE: collaboration session with a client, having a client media platform specific for that client, is provided. The collaboration session includes a first communication channel in which multimedia data for a media component are transmitted, and a second communication channel in which a user interface component is transmitted to the client. Server commands for reproducing multimedia data corresponding to a server media platform specific for the server are received from the client. The server commands for reproducing multimedia data corresponding to a server media platform specific for the server are converted to platform-common commands for reproducing multimedia data for transmission to the client. The platform-common commands for reproducing multimedia data are transmitted to the client, wherein the client converts the platform-common commands for reproducing multimedia data to client commands for reproducing multimedia data corresponding to a media platform specific for that client.

EFFECT: high efficiency of data communication between a server and a client.

19 cl, 6 dwg

 

The level of technology

Remote session, which may include sessions collaboration can provide interaction with remote communication between the local computer and the remote computer. Teamwork can assume restoration of the appearance of part or all of the graphical user interface of the local computer to the remote computer. Graphical user interface can be restored on a remote computer by using one or more methods, such as spacing. Sessions of the joint work, which eventually restored on a remote computer can be controlled with one or more parameters that might be associated with the part of the local computer to be restored on a remote computer.

Typical examples of the collaboration session can be related operations to play media files. Methods of spacing for such a session may involve the transmission media from the local computer to the remote computer. Media can include data assosiated with media files that are intended for reproduction, data processing, data reproduction etc. Multimedia files on the local computer can remotely playable on a remote computer through the spacing of the media on the remote computer. Media instead be played on the local computer, play on the remote computer.

The essence of the invention

This entity is to introduce General principles of management in multimedia operations sessions remote communication. These principles are further described below in the detailed description. This entity is not intended to establish the essential features of the claimed subject of the invention, nor is it intended for use in determining the amount of the claimed subject of the invention.

Brief description of drawings

A detailed description is described with reference to the accompanying drawings. The drawings on the extreme left of the figure(s) position indicates a drawing in which the position first appears. The same numbers are used on all drawings for links to similar signs and components.

Figure 1 is a block diagram showing the typical network for the control of multimedia operations in the session of the joint work.

Figure 2 is a diagram of the sequence of operations, illustrating control media operations in the session work together in a network with the use of computers.

Figure 3 is a typical illustration of mapping tables for multimedia operations in the session of the joint work.

Figure 4 is a block diagram illustrating one or more of the typical components of media platforms.

Figure 5 is a block diagram of the sequence of operations, illustrating the typical process control multimedia operations in the session of the joint work.

Figure 6 is a block diagram showing the typical General environment of the computer.

Detailed description

Methods and systems described below, relate to collaboration sessions and processing operations in the sessions of the joint work. Sessions collaboration can provide remote communication between the client computer (hereinafter «client») and server computer («server»). Joint work may involve presentation of part of or the entire server graphical user interface (GUI) on the client. In some scenarios, the collaboration , such as commands , can be processed separately from the rest of the ISU for a number of reasons. For example, the commands can be processed separately to save network bandwidth between client and server. In such cases, the media can be forwarded from the server to the client in a raw or partially processed form. The client can then process the media and attach the processed media to the rest of the ISU to create a view of the server GUI.

Media, or media files can be saved according to various formats, such as the formats in accordance with the MPEG etc., among others. Processing media can be playback device in the media (the media player), which applies one or more media platforms that are configured to process the format of the media. Processing media can assume , such as commands . Such may be contingent on the platform. In a coexistence scenario, the client and server may or may not support the same media platforms. For example, the commands specified for media platforms supported on the server can be meaningless for media platforms supported on the client.

Examples of implementation can provide abstract functions, allowing effectively conduct in the session of the joint work between the server and the client. For example, the abstraction of may facilitate the execution of custom command in the session of the joint work. In such cases, some of the implementation can translate command server, depending on the platform, the generic command . Generalized team can then be transferred depends on the platform team for media platforms supported on the client. The client can then execute a command and attach the results to the rest of the ISU to the client.

In one embodiment media sent to the client for processing, instead of processed on the server, team, platform independent, and can be captured on the server. As discussed, the server and the client may or may not have the same platform. Accordingly, the commands are dependent on the server platform may not be understood by the client. These options can facilitate the implementation of effective data exchange between the server and the client so that the team user are exercisable on the client, regardless of the platforms used on the server and client. For example, some of these implementation can translate commands specific to the server platform, in General commands . General commands can then be sent to the client. The client can convert General commands in the commands that are specific to the platform, supported by the client. Client platform can then process the team to achieve the desired effect (i.e., play, pause, stop, etc) on the client device.

Typical system

Figure 1 illustrates a typical system 100 for the implementation of collaborative sessions and for processing sessions of the joint work. System 100 may include server 102 associated with the client through a network of 104 106. Desk 110 server can be displayed on the server 102. Similarly, Desk 112 client can be displayed on the client 104.

The described implementation are in the context of the computing environment as everywhere in the real time. Various examples can be carried out using the computer performs commands or code means, such as software modules that run computer, such as a personal computer, or PC. Usually software modules include routines, programs, objects, components, data structures etc. that perform specific tasks or introduce specific abstract data types.

Various examples can be implemented in a computer system configurations, in addition to the PC. For example, implementation options can be implemented in portable devices, multiprocessing systems, microprocessor or programmable household electronic equipment, networked PCs, mini-computers, universal computers, cell phones, etc. Also, as technology continues to evolve, different implementation can be implemented on classes of devices that have yet to discover. For example, as the price of a unit of computing power continues to fall, and wireless technologies are expanding computing device, resembling today's cell phones, able to perform the functions of today's PC, camcorder, cell phone, and not only in a single mobile device. This single device can in one scenario act as a server in another scenario, act as a client. This is only one of many existing and emerging examples for the implementation.

Various examples can be exercised in practice in distributed computing environments where tasks are performed by the remote processing devices that are connected through the data transfer network. In a distributed computing environment software modules can be located both in the local and remote storage devices memory. Further, the terms «server» and «client», as used here, does not correlate with any of the relative powers of these two devices. The client may have more or less equal machining capabilities of the server. More precisely, in this description, the name «server» and «client» describe the relative proportion of these two components. For example, your computing environment first, or server, the device to the second, or the client, device. For convenience, the examples provided in this document to refer to one server and one client; however, this is only one potential configuration. It should be understood that other implementation may include one or more servers that support multiple clients. In some realizations of the first computer can act as a server to a second computer that acts as a server for a third computer.

As discussed, the sessions of the joint work can provide a remote server communication 102 and the client 104. Teamwork can assume representation of part of or the entire server graphical user interface (GUI) on the client. In this case, the ISU is represented as a Desk server 110. In particular, the collaboration may create the impression that one or more applications that run on the server 102 actually run on the client 104.

Examples of collaborative sessions can include scripts remote terminal sessions and one or more scripts representation, among others. In the scenario, the remote terminal session ISU of the display area of the server (for example, server desktop 110) may be formed on the client 104 in the form of an idea, or a remote desktop 114. Scenario representation may involve spacing ISU specific application that runs on the server, not just desktop 110. In such a scenario, the ISU server (e.g., viewport) applications can be used to generate a submission of the application on the client. For example, the server's desktop 110 includes a graphical window media player 116. Session view can form an idea 118 of the graphics window 116 on the client 104 without the rest of server desktop 110. Processing media can be performed on a server 102 media player 120 through media platforms 122 stored on the server 102. Similarly, media processing can be performed on the client 104 media player 124 through media platforms 126 stored on the client 104.

As discussed, a large part of the processes of the relevant session of the joint work, can occur on a server 102; however, in the session of the joint work can, at least partially processed on the client 104. For example, the commands can present one or more types of . Team generated by the user (i.e. the user commands) customer 104, can be redirected to the server 102 for processing. Server 102 handles custom commands in accordance with the server configuration-102. For example, the server 102 handles custom commands based on 122. In this case the processing of the custom commands can generate specific commands based on the custom commands that are specific to media platforms 122.

The collaboration session can intercept the platform-specific commands and can send commands to the customer for execution. In some cases, the client media platform 126 might not understand the command specific to the server media platforms 122. In connection with this system 100 can include the level of 130 abstraction media collaboration, which can facilitate exchange of data between the server 102 and the client 104. For example, in this example, the level of 130 abstraction media collaborative abstract or generalize command specific to media platforms 122. These made the General command can then be translated into commands specific to the client media platforms 126.

Accordingly, the level of 130 abstraction media collaboration can facilitate the execution of custom command in the session of the joint work. Moreover, in addition to the example commands level of 130 abstraction media collaboration can facilitate the transfer of between the server 102 and the client 104 in the session of the joint work.

In some cases, the generic commands can be understood by the client 104 regardless of the configuration differences server 102 and client 104. For example, a client 104 and server 102 may have different operating systems, different versions of the same operating system or various media platforms, among others. Operation of the system, and manages the media operations in the session of the joint work, is described further in detail in conjunction with figure 2 and figure 3.

Figure 2 shows a system 200, which is based on the principles introduced relatively figure 1. In this case, the system 200 describes relatively remote terminal session. It should be understood that similar principles can be equally applied to other collaboration sessions. In the present implementation of the system 200 includes server 202 and client 204, that can share data through a network of 206. Server 202 includes 208 and 210 module abstraction media remote terminal session, or «TCB». Client 204 includes 212 and 214 module abstraction media TCB.

In this implementation, the server 202 can send data relating to the desktop 216 the server, the client 204 for the formation of a remote view, such as remote desktop 218, the client 204. Data assosiated with remote desktop 218, may include component 220 user interface and 222.

Component 220 user interface can include graphics and images that usually form the user interface. Component 220 user interface may include icons, sound host device, background image and submission of applications, such as the ISU assosiated with applications , applications, spreadsheet, database applications, etc. In fact, any components that are not 222, are part of the component 220 user interface. When compared with 222 component 220 user interface may be relatively static and relatively low intensity data. On the contrary, 222 can be relatively dynamic and extremely intense.

As discussed, 222 can be extremely intense data, since it combines elements, rich media data, which constitute or mediaevent. Data transfer associated with 222, can be intense bandwidth. Examples 222 include, among other things, streaming , including video and/or , television broadcasts, such as cable TV (), a satellite, pay-per-view, or the broadcast program; interaction compressed digital media; radio; recorded media sensation (for example, playable on a cassette VCR, DVD player, CD player, PVR etc); a media sensation in real time; and channels , among other things.

In order to clarify the 222 illustrates how the desktop 216 server and remote desktop 218 client. It should be understood that part or the entire desktop 216 server may not necessarily be displayed on the display device server 202. In such scenarios, implementation only 222 (or part thereof) may appear on the client. For example, the server's desktop can be to the client, even if the server is not associated with the display device.

Data for remote desktop 218 can be sent from the server 202 to the client 204 through a network of 206. In one of executing the data associated with the component 220 user interface and 222, can be transmitted via the UI 224 and media channel as well as 226, respectively.

Channel UI 224 may establish a connection component 220 user interface with the client 204. In one of executing the Terminal Server and Terminal Client Service offered by Microsoft (Redmond, Washington), may provide a model channel UI 224. For the transmission of data through the channel of the user interface 224 may be used remote Protocol. Model protocols and data formats include protocols remote desktop Protocol (RDP)Protocol of the T-120 or HTML (hypertext markup language and many variations of it), among others. Independent Computing Architecture (ICA), developed by Citrix Systems®, offers another example, which can support remote terminal session.

Media 226 may be separate or integrated with the channel user interface 224. Media 226 may be used for transmission of interactions that require large amounts of bandwidth, such as video or other media types as described above. In this example, the media 226 can provide a communication channel to 222 proceeded separately from the component 220 user interface. Therefore, 222 can be sent out of band against a user interface component, but . The standard Protocol for data transmission by means of 226 may include, among other things, the Transmission Control Protocol (TCP) and virtual channel by using an RDP connection.

In other words, the real implementation may split into two streams delivery of data relating to the remote desktop. Components with a relatively low intensity data of server desktop 216, such as the component 220 user interface can be processed on the server 202 and then transmitted to the client 204. Components with a relatively high usage data, such as 222, may be transmitted to customer 204 in a raw or less processed form. Treatment can then be completed by the client 204 and merged with the data components of low intensity, to create a remote desktop 218 on the client 204. Events (i.e., )that affect , can be traced on the server, so you can maintain the relative to other parts of the remote desktop 218.

In this example, the script component 220 user interface is combined or connected with 222 for the formation of a remote desktop 218 client 204. The user at the client 204 can remotely manage a server 202, interacting with remote desktop 218. For example, a user at the client 204 can move the cursor of the mouse on the application on the remote desktop 218 and open the application by clicking on the corresponding icon. In the same way a user can send commands to the application via remote desktop. For example, with regard to media applications, you can use the mouse clicks to enter a custom commands, such as the start of playback start), stopping playback (stop), fast forward, rewind, pause and volume among others. These facilitate the implementation of the executing custom commands in the scripts remote terminal session.

In order to clarify consider a hypothetical scenario where a user at the client 204 introduces custom commands (user commands)related to remote desktop 218. User commands can be passed from the client to the server 204 202 as part of the remote terminal session, via the network 206, as stated in General terms in the form of commands 230. Team 230 can be sent through the channel 224 IP or through another channel. Team 230 can be processed on the server 202 208 platform-specific. As mentioned, processing media 208 can intercepted as part of the remote terminal session and send to the client 204 for further processing.

Client media platform 212 may or may not be the same as the server media platform, such as media platform 208, and as such may understand or do not understand the intercepted server 202, platform independent. The server module 210 abstraction TCB may take intercepted platform-specific. Module 210 abstraction TCB may transfer the captured , platform-specific, generic or abstract . Generalized can be sent from the server module 210 abstraction media TCB client module 214 abstraction media TCB, as stated in General terms in the form of commands 232. The client module 214 abstraction media fusion could translate generalized , such as command, 232, that are specific to the client media platforms 212. Client media platform 212 can then execute a client-specific to run a custom command. A more detailed example of how to run abstraction in a remote terminal session described below regarding figure 3.

Figure 3 provides an example of how the system 200 can perform abstraction described above in relation to the figure 2. In this case, the modules 210, 214 abstraction media TCB on the server 202 client and 204 respectively perform abstraction with tables 302, 304 displayed on a remote terminal session (UTS). For example, a server module 210 abstraction media fusion could take that are specific to the server media platforms 208. In one of executing the commands received by the server module 210 abstraction media TCB may be the answer to one or more actions, which can be specific to events associated with playback of media files. For example, a server module 210 abstraction media fusion could accept commands when to accept the media file access to play one or more users on the client 204.

The server module 210 abstraction media TCB may use the 302 display TCB to convert taken in General or abstract, . Abstract from the table 302 display TCB may be sent to the client module 214 abstraction media TCB. The client module 214 abstraction media TCB may use a different table 304 display TCB. Table 304 display fusion could translate abstract in that are specific to the client media platforms 212. Client media platform 212 can then do .

Generalized team , such as the generalised team 308A, may be converted into the corresponding command in the client media platforms 212 on the basis of table 304 display TCB. For example, a module 214 abstraction media fusion could arrange a generic command «Start Playback», adopted from the server, 202, 304 table display TCB. In this case, the generalized team «Start Playback» is identified as 310A. Table 304 display fusion could translate a generic command «Start Playback» 310 in «IMediaControl::Run», platform-specific DShow®designated as a team 312A. Module 214 abstraction media fusion could send «IMFMediaSession::Start» 312A, platform-specific DShow®, client platform 212, which is the platform DShow®, allowing client platform 212 understand and fulfill specific to DShow. Other display can be made movement horizontally across an individual table rows 302, 304 mappings. It should be understood that table 302, 304 mappings TCB on the server 202 and client 204, respectively, can contain other commands and display connecting the platform-specific commands with common commands and Vice versa.

In one of the options for implementing the table 302, 304 mappings TCB may be configured to translate between , which is yet to be developed. While the tables 302, 304 mappings TCB, illustrated here include the translation between two specific , other tables display can include multiple translations. For example, server 208 may be DShow and Media Foundation, while the client can be the platform Quick Time ® and platform Ogg ® . Accordingly, in some realizations table 302, 304 mappings TCB can provide transfers between the server and client .

Moreover, abstracting , table 302, 304 mappings TCB may be easier than other potential solutions. For example, the back-end image table TCB 302 might not necessarily take into account all the possible media platforms that can be applied on the client 204. In other words, the server , such as a table 302 display TCB may be independent of the client's media platforms 212 (i.e. server not necessarily need to be configured based on settings in the client media platforms). The same can be said about the client 212. Moreover, the server table 302 display TCB may not require updates, while developing new media platforms that can be applied on the client 204. Instead, the server table 302 display fusion could translate such as surgery 306-306I specific to any media platforms, existing on the server 202, in the appropriate abstract or generalized , such as 308-308I. Clients table 304 display fusion could then translate generalized , such as 308-308, such as surgery 310A-310I specific to media platforms(s) 212 on the client 204. Clients table 304 display TCB should not necessarily take into account all the various media platforms, which are used or can be used on the server 202. Instead, the client table 304 display fusion could simply translate from generalized 310A-310I in specific to media platforms(s) 212 working on the client 204.

Table 302, 304 mappings TCB, as shown in the diagram represent only one possible implementation, which can be done using the document .

Figure 4 is an example of the representation of selected components of the system 400 to support abstraction in a remote terminal session. Figure 4 refers to remote terminal session between the server 402 and the client 404. In this implementation of the session, the terminal services configuration causes the remote desktop Protocol (RDP), examples of which are illustrated above. System 400 may, in the alternative or additional procedure to be applied for other collaborative scenarios, except for remote terminal sessions.

Server 400 may include the first 406 and the second media player 408. This platform can 406 associated with 410. This platform can 406 includes module 412 tracking geometry module 414 abstraction media TCB module 416 destination and module 418 distribution Manager, which includes the module of abstraction media TCB 420. This platform can 406 also includes video decoder 422, module 424 video effects module 426 video playback module 428 abstraction media TCB, audio decoder 430 module 432 audio effects, module 434 audio module 436 abstraction media TCB and 438. The server also includes media player 440, that can bind with 406.

Client media platform 408 may include module 442 abstraction media TCB module 444 tracking geometry and multimedia module 446, which includes module 448 abstraction media TCB. Client media platform 408 can also include a module 450 abstraction media TCB module 452 , audio decoder 454, module 456 audio effects and module 458 audio playback. This platform can 408 can also include a module 460 abstraction media TCB, V receiver 462, video decoder 464, module 466 effects and module 468 video playback. The client also includes media player 470, that can bind with 408.

In this example, the server media platform 406 may exist as part of the operating system of the server (not shown)to permit the reproduction by the media, so that applications that interact with the operating system can control the playback of the media, «not knowing» the specific details of the formats of media. Similarly, client-media platform 408 can exist as part of the client operating system (not shown)to permit the reproduction by the media, so that applications that interact with the operating system can control the playback of media without the knowledge of the media. For example, media platform 406 may allow the application, such as a media player 440, run it without the media player 440 knew details on the formats playable media. Similarly, client-media platform 408 may allow media player 470 run as part of the operating system of the server to allow playing of the media, so that applications that interact with the operating system can control the playback of the media, not knowing the specific details of media types. This platform can 406, starting on the server, 402, may be identical 408, starting on the client 404. In other examples, the media platform 406 on the server 402 may be another product and/or version than this platform can 408 working on the client 404. The components described below, may allow effectively shared between the server and the client both in the first and second instances.

In this example, the server media platform 406 may find, start, whether it is in a remote terminal session, via the module 416 destination. Module 416 destination may be an object that determines where the need to provide representation (for example, a window, a disk file etc) and what happens with the view. The server media platform 406 may determine that the source is associated with a client, such as customer 404, which has the capacity to reproduce media locally. Manager 418 distribution may determine that the server-side media platform 406 is associated with the customer 404 and that the client 404 has the opportunity to play media locally. Manager 418 distribution can also establish a policy for a remote terminal session to allow spacing media client 404. Manager 418 distribution can connect the virtual circuit with the multimedia plug-in client, such as a module 444 media components on the client 404. Connection virtual channel may allow the exchange of control information relating to the remote terminal session between the server 402 and the client 404.

One aspect of the control for the exchange of information through a virtual channel connection between the Manager 418 distribution and module 444 multimedia component envisages in a remote terminal session. Manager 418 distribution and module 444 media components can enjoy their corresponding modules 420, 446 abstraction media TCB to agree on how to handle in a remote terminal session. One of the two server 402 and customer 404 - can initiate negotiation . In some realizations of coordination can be taken as part of procedures to start to establish a remote terminal session. In other realizations of coordination can be initiated in response to , such as a custom command for playing media, taken as a remote terminal session.

As an illustrative example in response to a user command playback media server 402 can define media format EAG media from 410. Assume for purposes of this explanation, that the server 402 determines that sources is MPEG IV. The server module 420 abstraction media TCB may request if the client supports, such as customer 404, media format EAG MPEG IV. For example, a server module 420 abstraction media TCB may request the client module 448 abstraction TCB, if the client supports a particular media format EAG, such as MPEG IV. Example of such a query is provided in tables 302, 304 display TCB in the form of the generalized «check the support for the format shown in 308E and 310E. The client module 448 abstraction media TCB may send a request back asking the server 402, what you can use to support . Client 404 can then use the information from the server 402 to determine if the client supports this 404 media format EAG. Alternatively, the client 404 may determine that it has , such as media platform 408, which supports media format EAG. In the latter case the client 404 can instruct the server 402 continue streaming media. For example, a client 404 via the client module 448 abstraction media TCB may have 408, which is completely different from media platforms 406 on the server 402. In such cases, before operations such as play, pause, etc. in the continuation of the collaborative sessions can check a platform supported by the client 404. In another case, instead of to wait for the server, the client module 448 abstraction media fusion could inform the server 402 of the opportunities associated with the client 404 relating to supported by the client 404, and/or working on the client 404.

Moreover, the use of virtual channel connection Manager allows 418 distribution and multimedia component 446 install a distributed topology. Distributed topology can perform various functions. For example, distributed topology may include network transmitter on the server 402 and network receiver on the client 404. The network listener is associated in turn with modules 458, 468 of the audio and/or video on the client 404. In this particular configuration 472 and 438 depicted on the server, 402, while the corresponding V receiver 462 and 452 depicted on the client 404.

During script on the remote desktop media can be sent to a client 404 in a raw or partially treated as a stream. For example, on the server 402 media platform 406 can intercept the media that would otherwise processed on the server, 402, namely 422, module 424 video effects module 438 video playback, 430, audio effects 432 and module 434 audio playback. Media can be redirected to the appropriate video and 472, 438 for streaming client 404. Streaming can be on different channels. For example, the media can go on stream in the lane with RDP virtual channel. This configuration reuses an existing RDP connection and allow RDP process different parts of the perforation to firewalls, and the establishment of safe, genuine context, among other tasks. An alternative or complementary way, the media can go a stream connection of user datagram Protocol (UDP) is a secondary frequency or transmission control Protocol (TCP). In some realizations can be used out-of-band configuration. For example, in a specific configuration of the out-of-band connection may be available from the greater the bandwidth of a connection than is available in the connection via RDP.

On the client 404 streaming media accepted the multimedia module 446, which, in turn, transfers, streaming media, video and 462, 452, respectively. Video and 462, 452, respectively transmit media transformation and receivers on the client side, which include video decoder 464, video effect 466, module 468 video playback, audio decoder 454, audio effects 456 and module 458 audio playback. Media then decoded and played back on the client 404. As audio and video streaming in encrypted form, any synchronization tools contained in the encoded media may be available to the client 404 to maintain adequate . For ease of explanation raw media go stream from the server 402 to the client 404.

Tracking geometries can be a sign of platforms, such as Terminal Services platform ® , which provides a notification system for the changes to the geometry of the window. Whenever the geometry of the window changes, the event containing the new geometry, can be generated and sent to the receivers of notices in the source. In this example, the client acts as a source. The geometry of the window can change when the window is moved, minimized/maximized or limited by another window.

In some cases, the application may decide to play media on the client, instead of passing the pre-reproduced bitmaps from the server. In order to do this, the application creates a window on the side of the server and the client. Window server acts as a placeholder and will be able to take the entire entry, and the actual media can reproduce and display the application on the client side. The client window is depicted directly below the window server, to spread was transparent to the user. Since all input is in fact acting on the server window, geometry changes will be reflected on the server. Application monitors all changes to Windows server and, as appropriate, update the client window, so that both Windows were geometrically synchronized.

Example of method(s)

Typical processes for collaborative sessions and processing in the sessions of the joint work is described with reference to figure 1-4. These processes can be described in the General context of executable computer commands. As a rule, executable computer commands may include routines, programs, objects, components, data structures, procedures, modules, functions, etc. that perform specific functions or introduce specific abstract data types. Processes can also be applied in a distributed computing environment, where functions are performed by the remote processing devices that are connected through the data transfer network. In a distributed computing environment executable computer commands can be placed in storage environments both a local and a remote computer, including the device's storage memory.

Figure 5 illustrates an example of how to 500 for collaborative sessions and processing operations play the media data in a session of the joint work. Order describing the way, is not intended to be interpreted as a limitation, and any number of described method blocks can be combined in any order for the method. Moreover, the method can be implemented in any suitable hardware, software, firmware or their combinations.

In the block 502 accepted commands associated with one or more of the actions related to media. Adopted commands are specific to media platforms, associated with a computing device that accepts commands. Teams can be formed from other computing device that can access the media files on the network. For example, a server module 210 abstraction media fusion could take that are specific to the server media platforms 208. These teams can be formed in response to certain actions, such as the implementation of access to the media file.

In the block 504 commands received, platform-specific, associated with one or more generalized . Generic operations can be shared between applications for media playback. In one exercise, team, platform-specific, associated with one or more generic operations, based on the display. For example, a server module abstraction media TCB 210 can use the following table 302 display TCB to display adopted (as specified commands 306-306I) in the aggregate, or abstract, (as indicated 308-308I). Example of a platform based on the server 202, includes, inter alia, the Media Foundation.

In the block 506 generic operations are sent to the computing device, requesting access to the media file. For example, the generic operations may be transmitted to customer 204 from the server 202. In one implementation of the server module 210 abstraction media TCB sends generalized commands from the server 202 client 204.

Figure 6 illustrates a typical General environment 600 computer, which can be used for the implementation of the techniques described here, and that may constitute, in whole or in part, the elements described here. Environment 600 computer is just one example of the computing environment, and is not intended to recommend any restriction with respect to the use or functionality of the computer and network architectures. Environment 600 computer also should not be construed as having any dependence or requirement relating to any single or combination of components that are illustrated in the model is surrounded by 600 computer environment.

Environment 600 computer includes based on a General purpose computing in the form of computer 602. Computer 602 can be, for example, a desktop computer, portable computer, a laptop or a computer, laptop, server, computer, games console etc Computer components 602 may include, inter alia, one or more processors or processing modules 604, system memory 606 and system bus 608, which connects the various system components, including the processor 604, with the system memory 606.

The system bus 608 represents one or more of any of the different types of bus structures, including bus memory or memory controller, peripheral bus, accelerated graphics port and processor, or local bus, use any of the different bus architectures. As an example of such architecture may include tyre industry-Standard Architecture (ISA)bus Microchannel Architecture (MCA)bus industry Standard Improved Architecture (EISA), local bus industry Standards Association video electronics (VESA) and bus Connections to the Peripheral Component interconnect (PCI), also known as the expansion bus.

Computer 602 usually includes a variety of computer readable media. These supports can be any of the available formats, which are accessible from the computer 602, and include both volatile and non-volatile media, removable and permanently fixed media.

System memory 606 includes computer readable media in the form of volatile memory, such as random access memory (RAM) 610, and/or non-volatile memory such as read only memory (ROM) 612. Base system 614 input/output (BIOS), which contains basic routines that help transmit information between elements inside the computer, 602, for example, during start-up, is stored in ROM 612 (and) is illustrated. RAM 610 typically contains data and/or software modules, which are directly available and/or which currently operates machining module 604.

Computer 602 may also include other removable/non-interchangeable, volatile/volatile computer storage media. As an example, figure 6 illustrates the hard drive 616 to read from and write to a permanently fixed, non-volatile magnetic media (not shown). Moreover, figure 6 illustrates the magnetic drive 618 for reading and recording on a removable, non-volatile magnetic disk 620 (for example, a «floppy disk»), in addition, figure 6 illustrates the optical drive 622 for reading and/or writing to removable, non-volatile optical drive 624, such as CD-ROM, DVD-ROM drive or other optical media. Hard disk 616, magnetic drive 618 and optical drive 622 - each connected to the system bus 608 one or more data 626. As an alternative, hard disk 616, magnetic drive 618 and optical drive 622 can be connected to the system bus 608 one or more interfaces (not shown).

Drives and their associated media, readable computer provides the nonvolatile storage of the computer-readable commands, data structures, software modules, and other data to your computer 602. Although this example illustrates the hard drive 616, replaceable magnetic disk 620 and a replacement optical drive, 624, it should be understood that other types of computer-readable media that can store the data that is available from your computer, such as magnetic tapes or other magnetic storage devices, flash memory card, CD-ROM, digital versatile discs (DVD) or other optical memory, random access memory (RAM), read-only memories (ROM), electrically erasable programmable read only memory (EEPROM), etc. may also be used for the implementation model computing system and environment.

Any number of software modules can be stored on the hard disk 616, magnetic disk 620, optical disc, 624, ROM 612 and/or RAM 610, including, as an example, the operating system, 626, one or more programs 628 applications, and other software modules 630 and program data 632. Each module from an operating system 626, one or more programs 628 applications, and other software modules 630 and programmatic data 632 (or some combination) may exercise all or part of the resident components that support a distributed file system.

The user can enter commands and information in the computer 602 via input devices such as keyboard 634 and pointing device 636 (for example, a mouse). Other input devices 638 (specifically not shown) may include microphone, joystick, game pad, satellite dish, serial port, scanner and/or the like. These and other input devices are connected with processing module 604 through interfaces 640 I/o pins that are connected to the system bus 608, but can be connected to a different interface and bus-based structures, such as a parallel port, a game port or universal serial bus (USB).

Monitor 642, or other type of display device can also connect to the system bus 608 through the interface, such as video adapter 644. In addition to the monitor 642 other output peripheral devices can include components such as speakers (not shown), and the printer 646, which can be connected to the computer 602 through interfaces 640 input/output.

Computer 602 may operate in a networked environment using logical connections to one or more remote computers, such as based on calculations remote device 648. As an example, based on the calculations the remote device 648 can be a personal computer, laptop, server, computer, router, computer network, a peer of the device or other standard network node, etc. Based on the calculations the remote device 648 illustrated as a portable computer, which can include many or all of the elements and characteristics described here on the computer 602.

Logical connection between your computer 602 and remote computer 648 depicted as a local area network (LAN) 660 and overall global network (WAN) 652. Such a network environment are common in offices, widely specialized computer networks, and Internet.

Implementing a networked environment LAN computer 602 connected to the local network 660 through a network interface or adapter 654. Implementing a networked environment WAN computer 602 usually includes modem 656 or other means, to establish relations on a shared network 652. Modem 656, which may be internal or external to the computer 602, may be associated with system bus 608 through input/output interfaces 640 or other mechanisms as appropriate. It should be understood that illustrated the network connection is imprecise and that may apply other means of establishing a line(s) of communication between computers 602 and 648.

In a network environment, such as that illustrated computing environment 600, software modules, shown in relation to the computer 602, or parts thereof may be stored in a remote storage device memory. As an example, remote applications programs 658 are on a memory device of the remote computer 648. To illustrate the applications programs and other executable software components, such as the operating system are illustrated here in the form of discrete units, although it is recognized that such programs and components are at different times in different storage components based on the calculations of the device 602 and executed by the processor(s) data processing computer.

Different modules and techniques may be described here in the General context of executable computer commands, such as software modules, executable one or more computers or other devices. As a rule, software modules include routines, programs, objects, components, data structures etc. that perform specific tasks or introduce specific abstract data types. Typically perform the functions of the software modules can be combined or distributed at the request of the different realizations.

The implementation of these modules and techniques can be stored or transmitted through some form of computer-readable media. Readable computer media can be any cash carriers available for your computer. As an example, but not limitation, computer readable media may contain «computer storage media» and «communication media».

«Computer storage media» include volatile and non-volatile, replaceable and permanently fixed media, made by any means or technology to store information, such as computer readable commands, data structures, software modules or other data. Computer media data include, among other things, RAM, ROM, EEPROM, flash memory, or other technology memory, CD-ROM, digital versatile discs (DVD) or other optical memory, magnetic tapes, magnetic tape storage device on a magnetic disk or other magnetic storage devices or any other media that can be used to store the desired information, which can be available for your computer.

Alternatively, part of the infrastructure can be implemented in hardware or combination of hardware, software and/or firmware. For example, one or more specific integrated circuits (ASIC), or programmable logic devices (PLD) can be designed or programmed for implementation of one or more parts of the infrastructure.

Conclusion

Although implementation for the control of multimedia operations in the session of the joint work described in terms of specific structural features and/or techniques, it should be understood that the subject of the accompanying formula of the invention is not necessarily limited to specific described features or ways. More precisely, the specific signs and ways disclosed as examples of implementation for the control of multimedia operations in the session of the joint work.

1. Running on the computer device a way to control multimedia operations in remote sessions, containing the stages at which: provide a collaboration session with a client with the client specific to this client, with the collaboration session includes the first channel of communication, in which the transferred media for , and the second channel of communication in which the client is passed to the user-interface component; take from the client to the server team play media data, the appropriate server specific to the server; translate the server team play media data, the appropriate server , specific to the server, in General platform team play media data for transfer to the client; and transmit the General platform team play the media data in the client, the client translates common platforms team play the media data in the client team play media data, the appropriate client specific to this client.

2. The method according to claim 1, additionally contains a stage at which represent the user interface in the client, in the window of a multimedia presentation, and keep track of changes in the window of a multimedia presentation.

3. The method of claim 2, in which implement as the window of a multimedia presentation on a component of the user interface, and when referred tracking assign a unique identifier for the window multimedia presentation, changes in the multimedia presentation is passed to the client to enable the orientation of the window of a multimedia presentation on the user interface component.

4. The method according to claim 1, wherein when translating platform specific teams play the media data in a common platform team for media playback use a table that specifies the compliance platform specific commands for media playback common platforms teams for media playback.

5. The method according to claim 1, wherein the second channel is set by the collaboration session.

6. The method according to claim 1, further comprising stages: define the format of multimedia data; assess the client's ability to decode and play the media data in this format.

7. The method according to claim 6, which, in case if a client is not able to decode and play the multimedia data in the existing format, additionally contains a stage at which decode multimedia, and recode the multimedia data in the second different format, for which the client is configured.

8. The method according to claim 1, further comprising stages: establish a connection virtual channel with the customer, agree with the formats that are supported as a source of multimedia data passed to the client and the client; and configure a distributed topology with the client.

9. The method according to the paragraph 8 which, when configuring a distributed topology enter network transmitter to the said source, and a network receiver in the client.

10. The server that contains: a user interface component that includes graphics and images that make up the user interface, and the user interface component that maintains the relationship with the client through the first channel of communication; and , which includes the data of a multimedia presentation for playback through a user interface component, the configured to translate the platform-specific commands for playing multimedia data, corresponding to the first , the server supports, in General platform team play multimedia content due to the fact that the client can't handle platform-specific commands for playing multimedia data, corresponding to the first , or in the platform-specific commands for playing multimedia data corresponding to the second supported on the remote client terminal session, with platform-specific commands for playing multimedia data, corresponding to the first , accepted from the client, and the client translates common platforms team play the media data in a platform-specific commands for playing multimedia data corresponding to the second .

11. Server to 10, in which the user interface component that contains window media applications.

12. The server paragraph 11, in which configured with the possibility to be represented in the target screen multimedia presentation inside Windows media applications.

13. Server on the 12 in which the data is a multimedia presentation are monitored by tracking the target window multimedia presentation on the Windows media applications.

14. Server on item 13, which referred to tracking contains the transfer of the relative position of the destination window multimedia presentation on the Windows media applications in the remote client.

15. Server on item 13, which referred to tracking contains an introduction on the server Desk placeholder, which is the target window multimedia presentation, and track any changes that may affect placeholder.

16. Server to 10, where configured to determine which formats of multimedia data are supported by the remote client.

17. Server to 10, where configured to install a distributed topology with the remote client.

18. Server to 10, where configured to send messages and data streaming multimedia presentation in the session, the terminal services.

19. System for the control of multimedia operations in remote sessions, containing: a mechanism for the provision to the client, which supports the first media player, on the first channel of communication and to provide a user interface component via the second channel of communication; the mechanism for receiving from the client platform specific teams play media data, which correspond to the second media player supported by the server, and which are formed in response to user input that was provided during the session of joint work; and a mechanism to determine whether the client can handle platform-specific commands for playing multimedia data, appropriate for the second media player, and for translation platform specific teams play media data corresponding to the second media player, in General platform team play multimedia content due to the fact that the client can't handle platform-specific commands to play multimedia data, appropriate for the second media player, the client translates common platforms team play the media data in a platform-specific teams play media data, the media player for the first, supported by the client.

 

© 2013-2014 Russian business network RussianPatents.com - Special Russian commercial information project for world wide. Foreign filing in English.