US20050175030A1 - System and method of format negotiation in a computing device - Google Patents

System and method of format negotiation in a computing device Download PDF

Info

Publication number
US20050175030A1
US20050175030A1 US11/053,613 US5361305A US2005175030A1 US 20050175030 A1 US20050175030 A1 US 20050175030A1 US 5361305 A US5361305 A US 5361305A US 2005175030 A1 US2005175030 A1 US 2005175030A1
Authority
US
United States
Prior art keywords
node
format
data
graph
constraints
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/053,613
Other languages
English (en)
Inventor
Eric Moon
Marco Nelissen
Andreas Huber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Access Co Ltd
Original Assignee
Access Systems Americas Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Access Systems Americas Inc filed Critical Access Systems Americas Inc
Priority to US11/053,613 priority Critical patent/US20050175030A1/en
Assigned to PALMSOURCE, INC. reassignment PALMSOURCE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOON, ERIC, HUBER, ANDREAS, NELISSEN, MARCO
Publication of US20050175030A1 publication Critical patent/US20050175030A1/en
Assigned to ACCESS SYSTEMS AMERICAS, INC. reassignment ACCESS SYSTEMS AMERICAS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: PALMSOURCE, INC.
Assigned to ACCESS CO., LTD. reassignment ACCESS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ACCESS SYSTEMS AMERICAS, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Definitions

  • the present application relates to the following applications: (1) Ser. No. ______ Attorney Docket No. 4002.Palm.PSI, entitled “A Method And Graphics Subsystem For A Computing Device”; (2) Ser. No. ______ Attorney Docket No. 4003.Palm.PSI, entitled “A Method And System For A Security Model For A Computing Device”; and (3) Ser. No. ______ Attorney Docket 4004.Palm.PSI, entitled “A System And Method Of Managing Connections With An Available Network” each of which are filed on the same day as the present application; the contents of each Application are incorporated herein by reference.
  • the present invention relates to a system and method of performing format negotiation to accomplish the transmission of multi-media data between a first node and a second node.
  • Small handheld computing devices continue to improve in their complexity and data processing capabilities. Examples of such devices include PalmOne's Treo 600 computing device that includes capabilities for multi-media viewing and recording of pictures and video which can also include audio. These operate on various versions of the Palm Operating system. Other available devices include, for example, Hewlett Packard's mobile devices based on the Windows PC operating system, such as the HP ipaq hx4700, the HP rx3000 or the Dell Axim X50. Such devices will each have improved hardware capabilities which may include, for example, a VGA (480 ⁇ 640) display and central processors, video co-processors, means for recording multi-media data and more. Some devices have been called Portable Media Centers or Mobile Media Companions since they have hardware capable of providing higher quality video and audio capabilities.
  • VGA 480 ⁇ 640
  • the source In order for video to be transmitted from a video source, such as a DVD or streaming multi-media, to the hardware display or recordation destination, the source must be compatible with the capabilities of the hardware and software capabilities of the destination display/record device. This may be handled by way of multi-media standard formats, such as MPEG-2 or MPEG-4 in which the multi-media source is encoded according to the standard and the destination device/software is compatible with that standard.
  • An example media software application is Windows Media Player 10 Mobile (MP 10 Mobile).
  • MP 10 Mobile is a software application running on an operating system, such as the Windows CE Operating system, that will manage digital rights management for content, display special features such as album cover art that are programmed into the source data and will receive appropriately formatted content and record the content or display the video on the display as well as producing the sound from the multi-media source.
  • an operating system such as the Windows CE Operating system
  • source content may be played using such an approach.
  • recorded TV shows may be played using MP 10 Mobile only if they were recorded with a Windows Media Center Edition PC, and then they need to be converted and transferred to the mobile computing device for viewing.
  • MPEG and WMV video must be converted to be played on the mobile device as well.
  • Other differences in the source and the playback device may relate to audio.
  • a multi-media source may be recorded m stereo or in the 5.1 or 7.1 format, and the computing device may have a single speaker.
  • the present invention addresses the needs in the prior art for an improved system and method of managing the differences in source multimedia content and destination display/recording hardware and software capabilities.
  • the present invention comprises a system, method and computer-readable media that perform format negotiation of parameters or format constraints associated with a source node and format constraint associated with a destination node.
  • the format negotiation occurs within a graph consisting of two or more nodes.
  • the method aspect of the invention relates to establishing a multimedia format for communicating data between a source node and the destination node.
  • the invention relates to any transformation of media data whether the data is in a raw form such as RGB or YUV video frame or encoded media data such as MPEG1 or MPEG4, for example.
  • the source node may be, for example, a third party software program on a computing device which may manage the reception of images or video through a camera on the device or attached to the device.
  • An example of the destination node is the computing device display or means for recording data and software that controls the presentation of data on the display.
  • the method comprises receiving source node format data from a source node, receiving destination node format data and negotiating any unresolved format constraints between the source node format data and the destination node format data.
  • a graph of nodes may consist of any number of nodes between the source and destination nodes.
  • the method comprises propagating format constraints for each node to directly or indirectly connected nodes in order to accomplish format negotiation.
  • the communication of multimedia data (which may be in the form of raw data, encoded data or any other form of multi-media data) may be in the context of playback and/or recording of data.
  • FIG. 1 illustrates the basic components of a computing device according to the present invention
  • FIG. 2 illustrates an example computing device and format negotiation
  • FIG. 3 illustrates a server or proxy server aspect of the invention
  • FIG. 4 illustrates a method embodiment of the invention
  • FIG. 5A illustrates the use of media nodes and endpoints
  • FIG. 5B illustrates a graphical aspect of the invention
  • FIG. 6 illustrates another embodiment of the invention.
  • the present invention provides for a system, method and computer-readable media that perform format negotiation between a source node for multi-media information and a destination node for playback or recording of multi-media information.
  • the invention provides for format negotiation between any two nodes that publish their possible multimedia formats within a system.
  • a graph of nodes comprises a first source node, one or more intermediate nodes or filter nodes and a second destination node.
  • the intermediate nodes are nodes within the graph between the source and destination nodes that have responsibilities such as transforming or converting data from one format to another format.
  • the graph is a representation of the interconnected nodes through which media data will pass through the system.
  • the nodes consume, modify or produce media. Any node may have zero or more inputs and zero or more outputs and will have at least one connection to modules or other nodes outside the current node.
  • An example multi-media node is one that transmits audio and/or video data. Inasmuch as one embodiment of the invention relates to a hardware device or system, the basic components associated with a computing device are discussed first.
  • FIG. 1 and the related discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
  • the invention will be described, at least in part, in the general context of computer-executable instructions, such as program modules, being executed by a personal computer or handheld computing device.
  • program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • program modules include routine programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage
  • an exemplary system for implementing the invention includes a general purpose computing device 100 , including a central processing unit (CPU) 120 , a system memory 130 , and a system bus 110 that couples various system components including the system memory 130 to the CPU 120 .
  • the system bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory 130 includes read only memory (ROM) 140 and random access memory (RAM) 150 .
  • ROM read only memory
  • RAM random access memory
  • a basic input/output (BIOS) contains the basic routine that helps to transfer information between elements within the personal computer 100 , such as during start-up, is stored in ROM 140 .
  • the computing device 100 further includes a storage device such as a hard disk drive 160 for reading from and writing data.
  • This storage device may be a magnetic disk drive for reading from or writing to removable magnetic disk or an optical disk drive for reading from or writing to a removable optical disk such as a CD ROM or other optical media.
  • the drives and the associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing device 100 .
  • FIG. 1 also shows an input device 160 and an output device 170 communicating with the bus 110 .
  • the input device 160 operates as a source for multi-media data or other data and the output device 170 comprises a display, speakers or a combination of components as a destination for multi-media data.
  • the device 170 may also represent a recording device that receives and records data from a source device 160 such as a video camcorder.
  • a communications interface 180 may also provide communication means with the computing device 100 .
  • the above description of hardware components is only provided as illustrative.
  • the basic components may differ between a desktop computer and a handheld or portable computing device.
  • Those of skill in the art would understand how to modify or adjust the basic hardware components based on the particular hardware device (or group of networked computing devices) upon which the present invention is practiced.
  • the present invention relates to displaying or recording multi-media information on a computing device 200 .
  • the computing device 200 comprises a node that may be referred to as a destination node 202 such as a display node or a recording node, for example.
  • the node 202 will have certain format constraints associated with it.
  • the node 202 may be the software and hardware capability to display both YUV and RGB formatted video.
  • the YUV format is a color encoding scheme for natural pictures in which the luminance and the chrominance information are separate. The human eye is less sensitive to color variations than intensity variations. Thus, YUV allows the encoding of luminance (Y) information at full bandwidth and chrominance (UV) information at half bandwidth.
  • the RGB format (Red, Green, Blue) are the three primary colors used in video processing, often referring to the three un-encoded outputs of a color camera.
  • the RGB color model is based on the mixing of red, green and blue. The combination and intensities of these three colors can represent the whole spectrum
  • a destination node may be any destination device such as a file, network stream, a screen and speakers.
  • the destination node 202 simply publishes 208 its format constraints to achieve a communication link to another node or nodes for transmission or reception 212 of multimedia data.
  • Each node within the graph will have certain constraints on what input media it accepts or can operate on and also publishes the format associated with the node output.
  • a published format may be a logical expression represented by a vector, an object, a set of constraints or a set of values as format constraints.
  • a format parameter may be a component of a media library and represents a multimedia format.
  • the format constraints may be packaged together into a vector object.
  • the published format preferably comprises a format type.
  • the following format constraints associated with identifying a format type within a header file are provided by way of example. In the framework, they may be declared in a multi-media format definition header file be grouped into distinct types, such as MPEG4, raw audio, raw video, MIDI audio and so forth.
  • FIG. 2 shows the second node or destination node 202 publishing 208 its set of format constraints to the “black box” 204 .
  • the box 204 may be a framework associated with the operating system of a computing device, a graph of intermediate communication nodes or any other intermediate structure.
  • the benefit shown in FIG. 2 is that these nodes do not require knowledge of the capabilities of other nodes in the system but merely need to publish their format constraints to achieve communication of multi-media data.
  • Another example criterion for the display/record node is that the display/recording of YUV is hardware accelerated which includes a constraint that the width of the video must be a multiple of 16. Wildcard parameters may also be published or the node may not publish any value for a particular parameter which indicates that any value is acceptable.
  • a source node 206 also publishes 210 its format constraints.
  • An example source node 206 is a video decoder that outputs either YUV and RGB formats or a video camcorder producing raw audio/video data. Such decoders may be, for example, an MPEG decoder.
  • Other format constraints associated with the display/record node 202 and source node 206 may also be available.
  • the source node 206 and destination node 202 must have some compatibility to achieve transmission or reception 214 of the multi-media data.
  • the operating system (preferably) manages format negotiation to achieve this compatibility.
  • the manner in which the nodes publish their format constraints enables the system or some other entity, including the nodes themselves, to negotiate within the constraints.
  • the width and height may be any value
  • the colorspace must be either RGB or YUV and if it is YUV, the width must be a multiple of 16.
  • DNF disjunctive normal form
  • CNF conjunctive normal form
  • the DNF form is: (A AND B) OR (C AND D AND E) (other combinations of course may be used as well) and the CNF form is: (A OR B) AND (C OR D OR E) (or in other combinations).
  • the two forms shown above are not equivalent but serve to illustrate the nature of the normal forms.
  • the preferred embodiment of the invention utilizes the DNF form for the media-format.
  • Format negotiation can fail in several ways: either the constraints are not restrictive enough so that even after negotiation there are variables to choose from or if there is no way to satisfy both constraints simultaneously. If both constraints cannot simultaneously be satisfied, it is not possible to connect the two nodes.
  • the following shows an example of two constraints with variables left after reduction: C1: “width” ⁇ 100, C2: “width” ⁇ 50. In this case, any width less than 50 will do, but some higher authority still needs to actually choose a concrete value for width satisfying this constraint.
  • the source node publishes its information and the operating system, framework or other module such as a remote server or proxy server receives all the published data and performs format negotiation to achieve a connection between the source and the destination nodes.
  • the constraints are preferably a well-known name or value such as “colorspace”, a relationship such as equals or less than, and a constant value. In the preferred embodiment of the invention, no relationship between the names is allowed in the format constraint publication.
  • a strength of the invention is that a format constraint published by a node may contain any number of parameters as defined by the node and not the framework The framework itself does not attempt to describe each parameter that may be associated with a constraint. In this manner, because the framework has a purpose of resolving format constraints instead of defining a particular set of restraints, the invention enables an expandable capability for communication of media data between any number of nodes connected in a graph.
  • the operating system or basic framework and not the nodes or separate software application such as a MP 10 Mobile that decides which format to use.
  • One benefit of this approach is that third party software developers only need to publish the format constraints and source node data when their software will run on a framework that performs format negotiation. This greatly simplifies the coding process for multi-media applications and reduces development time and costs. With the published format constraints, the framework negotiates a compromise format for the playback of the multi-media information.
  • the framework that actually performs the format negotiation is preferably the operating system but may be any separate module (hardware or software) and may be performed remotely or on a proxy server.
  • the format constraints may be published by the nodes.
  • the format constraints may be more complicated logical expressions as well.
  • the format constraints are preferably represented in a disjunctive normal form such as:
  • a logical expression may be a format constraint that is a set of terms conjoined by AND and OR.
  • a format constraint may comprise an AND'd set of terms, wherein a format vector comprises an OR'd set of format constraints or format alternatives.
  • a parameter in a format constraint may be related to a value or a range of values but are preferably independent of other parameters.
  • nodes may publish not only logical expressions but requirements, preferences, alternative values, wireless-related values, quality of service, power consumption, pricing plans and any other variations.
  • the algorithms associated with the framework can therefore maximize the resulting set of format constraints for displaying or recording the data based on the ability to resolve the constraints in the parameter sets and to maximize the ultimate transmission of data from the source node to the destination node.
  • the software applications where responsible for doing the negotiation and capability analysis.
  • the “nodes” whether they are a software application, display device, recording device and so forth, only need to publish their format constraints and the framework manages all the negotiation.
  • a developer may create a format preference object with variables such as a key, a value and a weight.
  • the key specifies an attribute of a multimedia object (such as bit rates for MPEG and successor formats, number of frames processed per second, number of frames per buffer for audio or video data, width in native pixels of a video frame or graphics file, height of a video frame in native pixels of a video frame or graphics file, audio decoder parameters etc.).
  • the value specifies the preferred value for that attribute and the weight specifies how much that value is preferred.
  • the weight may only be used if two competing preferences are specified. In that case, the one of the greater weight is used.
  • a format preference object is created within a media endpoint object to specify a format preference.
  • a developer has a media node that can take any byte order but works more efficiently if the byte order is a little endian.
  • This node's endpoints would have a format that either did not specify a format term for the P-FORMATKEY_BYTE_ORDER attribute or had one with a wild value.
  • the little-endian order it should pass a format preference object that uses the P_FORMATKEY_BYTE_ORDER key with a value of little endian.
  • the framework on the computing device preferably performs the negotiation, but other devices such as a separate server or a proxy server which selects alternate content or transforms content format to optimize it for the target device.
  • a first compute device 302 is the display/record device in this example and publishes its format constraints for display or recordation.
  • a source device 304 publishes its format constraints.
  • a server 306 remote from both the compute devices 302 , 304 receives the published format constraints and negotiations the ultimate formatting information for the transfer of the multi-media data from the source device 304 to the destination device 302 .
  • the server 306 may then be the conduit for the transmission of the data or there may be another communication path via the Internet, a wireless network, or some other communication path for the data. Furthermore, the server 306 may also process the source data is an optimization could occur to improve the quality or service, use of bandwidth, pricing or some other parameter. The optimization may occur in a transformation of the multi-media data in some manner to match a preferred setting of one of the nodes or may comprise a modification of a communication path to increase the bandwidth of the path or improve a parameter of the transmission of the multimedia data.
  • the format negotiation may involve testing to see if the framework can change a parameter associated with a node based on a certain criteria. For example, if significant improvement may be gained if a particular parameter were changed for the source node, the negotiation may test whether the source node would accept that alteration even if the alteration is outside of the original published set of format constraints.
  • the framework may also manage timing and buffering of data.
  • Software developers may be able to prepare software applications using a multimedia library comprising a multimedia API that enables them to access call services associated with the operating system.
  • the library provides public SDK-level APIs that multimedia clients use to access multimedia features.
  • FIG. 4 illustrates a method embodiment of the invention.
  • the method may be practiced upon a computing device, a server, a proxy server and so forth. There is no restriction on the hardware configuration on which the method is practiced.
  • the method for establishing a multimedia format for communicating data between a source node and the destination node comprises receiving source node format data from a source node ( 402 ), identifying a destination node having destination node format data ( 404 ) and negotiating any unresolved format constraints between the source node format data and the destination node format data ( 406 ).
  • the destination node may be previously identified or selected in which case the method merely receives the published data of the destination node for the negotiation process.
  • At least one of the source node format data and the destination node format data may comprise: a parameter with a range of acceptable values, a required value and a preferred value or range of values or logical expression.
  • the method may further comprise, based on the source node format data and the destination node format data, selecting a communication node for communicating the multimedia data between the source of node and the destination node.
  • the black box 204 may be, for example, a media encoder or decoder (codec) component. Where intermediate nodes are in the communication path between a first node and a second node, cascading format negotiation may occur in between sets of nodes throughout the communication path.
  • the method may comprise generating a graph of connections between source nodes and destination and nodes.
  • a source device and destination device may publish their device requirements, these format constraints may be used by the framework to determine which communication nodes and which codes to use for connecting the source multimedia data to the destination device for playback.
  • a communication node may have the responsibility for obtaining and transmitting buffers.
  • a communication node has one or more endpoints that are portals through which a media node sends buffers to or receives buffers from another media node. Endpoints are either inputs or outputs. By connecting media node endpoints together, one can construct a graph of media nodes. The endpoints can also publish the list of media format format constraints that they particular media node works with for format negotiation.
  • FIG. 5A illustrates the use of media nodes 520 , 522 , 524 , 526 , media endpoints 530 , 532 , 534 , 536 , 538 , 540 and buffers.
  • the endpoints obtain buffers from a buffer source node 542 .
  • some media nodes 522 can have one input endpoint 532 and multiple output endpoints 534 , 536 .
  • a media node is not required to have both input and output. If a media node receives its data from output the framework, it has only an output. The media node packages that data in a buffer and sends it to another media node on the output. Such a node is called a producer node because it produces buffers.
  • a media node that receives a buffer from a media node and sends its data to something outside the framework has only an input and is called a consumer node.
  • Media nodes with both an input and an output are called filter nodes. Filter nodes may process the buffer in some way, or they may just pass it on unchanged.
  • FIG. 5B An example graph is shown in FIG. 5B which may provide the user or an administrator with a visual image of the connection between the source and the destination nodes.
  • FIG. 5B illustrates a screen 500 illustrating a graphical path from the source node 502 through a filter node 1 504 , a filter node 2 506 to the destination node 508 .
  • the graph may or may not be available for viewing by a user.
  • the method may comprise negotiating the unresolved format constraints according to the generated graph.
  • the step of negotiating the unresolved format constraints comprises selecting one of the range of acceptable values for the communication of data. If both the source node has a range of acceptable values for a parameter and the destination node also includes a range of values for the same parameter (such as width), then format negotiation may comprise selecting a first value for the source node from the range of acceptable values that matches a second value from the range of acceptable values for the destination node.
  • a first node publishes a parameter “A ⁇ 15” and the second node publishes “A>10” then there is an overlapping range of compatible values from 11-14 that format negotiation will resolve to select the appropriate value for within the compatible range.
  • optimization and maximization of a value such as quality of service, predefined preferences, bandwidth or pricing may further be employed to select the negotiated value. For example, if a predefined preference based on some criteria establishes that A is preferably within the range of 8-11, then the format negotiation would select a value of A based on the compatible range 11-14 and the known preference.
  • FIG. 5B illustrates a first filter node 504 and a second filter node 506 .
  • the path represented from the source node 502 to the destination node 508 passes through multiple intermediate nodes.
  • One aspect of the invention comprises multiple format negotiations between the various nodes in the path. Given the differences in bandwidth, licensing, hardware, and so forth that may exist in between any two nodes (whether it be within a single computing device or over a diverse network), many format negotiations may need to occur to achieve optimal transmission of the data.
  • negotiating unresolved format constraints further comprises identifying alternate contents or alternately transforming content formats to optimize content for the destination node.
  • these steps may be practiced on the framework, a remote server or proxy server used to identify the alternate content or alternate transform content formats.
  • node 504 splits the multi-media signal and transmits it to two nodes, node 506 and filter node 3 510 .
  • An example of when this may be done is if the source node 502 wants to transmit an MPEG file for a destination node, the filter node 504 may split the MPEG (or other protocol) data into an audio stream and a video stream. Each of the streams is then transmitted to a separate node 510 or 506 for decoding the audio/video and transforming it into another format. Raw data is then transmitted from these nodes 510 , 506 to the destination node 508 for audio and video presentation.
  • Selection of which filter nodes to use may comprise several steps, such as (1) identifying the source data format (such as MPEG) and finding the correct nodes for further processing, and (2) receiving the specification of what nodes support what formats and analyzing other format constraints associated with each node.
  • identifying the source data format such as MPEG
  • finding the correct nodes for further processing and (2) receiving the specification of what nodes support what formats and analyzing other format constraints associated with each node.
  • An example will further illustrate multiple format negotiations and also data transformation based on the format negotiation.
  • the source node 502 will output audio data and publishes the appropriate format constraints. Format negotiation may or may not take place between the source node 502 and the first filter node 504 .
  • the node 504 would publish that it will be outputting MPEG encoded audio data and the system would match node 504 with a decoder node 506 that can handle (decode) the particular MPEG data.
  • destination node 508 is a single speaker.
  • the node 506 then would publish to the destination node 508 that it will be outputting raw PCM data in, for example, two channels for stereo sound.
  • Its output format constraints such as assemble rate of the audio are example format constraints.
  • Alterations to the data may occur as part of the negotiation. If the destination node 508 is a single speaker, and the PCM raw output from decoder node 506 is two speaker channels, based on the format negotiation process which identifies that a parameter of speaker node 508 is it is a single channel, the stereo channels may be downmixed into a single channel before transmission to the destination node 508 . In this manner, the format negotiation enables the appropriate data transformation to match the data with the destination.
  • FIG. 6 illustrates another embodiment of the invention.
  • This embodiment relates to the propagation of format constraints through a graph of nodes.
  • a graph of nodes comprises is plurality of nodes and may involve more than two nodes.
  • new nodes are connected to the graph.
  • This aspect of the invention involves determining when a new node may be connected and how the final resolution of the format constraints for each node is completed.
  • Format propagation is the process of adding nodes to a graph by propagating the format constraints for a new node through each node or node endpoint in a graph to determine whether the format constraint for the new node are compatible with the format constraints of the nodes in the graph.
  • a media endpoint as shown in FIG. 5A is preferably the component that is used to publish format constraints for that node and that is connected to the graph.
  • FIG. 6 illustrates the steps of the method.
  • the method comprises requesting a connection of a new node to the graph by propagating a format constraint for the new node to the at least one node in the graph ( 602 ).
  • the format constraint is propagated through the endpoints in the graph which are directly or indirectly connected to the attached endpoint.
  • the new node publishes its format constraint and the system compares the new node format constraints with the format constraints in each node already within the graph to determine compatibility of format constraints. The system preferably does not resolve format constraints at this stage. If the propagation fails, then the method comprises denying the request for connection ( 604 ). If the propagation is successful, meaning, for example, the format constraints for the new node are identified as compatible with the nodes already connected to the graph, then the method comprises connecting the new node to the graph ( 606 ).
  • the steps ( 602 )-( 606 ) are repeated for each new node that requests connection to the graph. This process continues until the source node, all intervening media or connection nodes, and a destination node are connected in a graph with compatible format constraints. After each new node is connected to the graph, the method further comprises resolving all format constraints for each node in the graph. This approach enables in a single atomic transaction the full resolution of all the format constraints across the graph for each node or each node media endpoint.
  • the task to be performed by any given node in a graph is in material to the present invention.
  • the propagation and resolution of format constraints within a graph is indifferent to whether a node is a codec, a filter, a recording device, an abstraction of hardware on the computing device such as a video/audio input or output.
  • Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
  • Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
  • Such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures.
  • a network or another communications connection either hardwired, wireless, or combination thereof
  • any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
  • Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments.
  • program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
  • Embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • the format negotiation may exist on a single compute device and between nodes within that device or the negotiation may occur over a communications network between nodes of the network.
  • the format constraints may take the form of equations having various parameters and variables. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Small-Scale Networks (AREA)
US11/053,613 2004-02-09 2005-02-08 System and method of format negotiation in a computing device Abandoned US20050175030A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/053,613 US20050175030A1 (en) 2004-02-09 2005-02-08 System and method of format negotiation in a computing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54335604P 2004-02-09 2004-02-09
US54310804P 2004-02-09 2004-02-09
US11/053,613 US20050175030A1 (en) 2004-02-09 2005-02-08 System and method of format negotiation in a computing device

Publications (1)

Publication Number Publication Date
US20050175030A1 true US20050175030A1 (en) 2005-08-11

Family

ID=34864512

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/053,613 Abandoned US20050175030A1 (en) 2004-02-09 2005-02-08 System and method of format negotiation in a computing device
US10/588,879 Abandoned US20070136790A1 (en) 2004-02-09 2005-02-08 Method and system for a security model for a computing device
US11/055,491 Expired - Lifetime US8055249B2 (en) 2004-02-09 2005-02-09 System and method of managing connections with an available network

Family Applications After (2)

Application Number Title Priority Date Filing Date
US10/588,879 Abandoned US20070136790A1 (en) 2004-02-09 2005-02-08 Method and system for a security model for a computing device
US11/055,491 Expired - Lifetime US8055249B2 (en) 2004-02-09 2005-02-09 System and method of managing connections with an available network

Country Status (6)

Country Link
US (3) US20050175030A1 (https=)
EP (2) EP1721233A1 (https=)
JP (2) JP4709166B2 (https=)
KR (2) KR101095769B1 (https=)
CN (3) CN101526986B (https=)
WO (4) WO2005079039A1 (https=)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223083A1 (en) * 2004-03-30 2005-10-06 Nec Personal Products, Ltd. Information processor, contents recording method, program, and storage medium
US20070130078A1 (en) * 2005-12-02 2007-06-07 Robert Grzesek Digital rights management compliance with portable digital media device
US20080288519A1 (en) * 2007-05-16 2008-11-20 Microsoft Corporation Format Negotiation for Media Remoting Scenarios
US20090265212A1 (en) * 2008-04-17 2009-10-22 David Hyman Advertising in a streaming media environment
US20100325291A1 (en) * 2009-06-23 2010-12-23 Avaya Inc. Signaling using binary form of sip messages
US20110196867A1 (en) * 2010-02-11 2011-08-11 David Hyman System and method of generating a playlist based on a frequency ratio
CN102752029A (zh) * 2011-04-18 2012-10-24 中兴通讯股份有限公司 蓝牙配件配对蓝牙设备的方法及蓝牙配件
CN103093144A (zh) * 2013-01-14 2013-05-08 中国科学院软件研究所 一种密码模块api安全性检测方法与系统
WO2017069890A1 (en) * 2015-10-20 2017-04-27 Intel Corporation Technologies for scalable capability detection for multimedia casting
WO2019242440A1 (zh) * 2018-06-20 2019-12-26 华为技术有限公司 一种用户界面的显示方法和终端设备
US11108570B2 (en) * 2017-07-18 2021-08-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for multimedia communication, and storage medium

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873646B2 (en) * 2004-02-25 2011-01-18 Research In Motion Limited Method for modifying notifications in an electronic device
US7398061B2 (en) * 2004-02-26 2008-07-08 Research In Motion Limited Method and apparatus for changing the behavior of an electronic device
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US20060195586A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Sessions and terminals configured for binding in an extensible manner
US7594020B2 (en) * 2005-05-31 2009-09-22 Microsoft Corporation Re-establishing a connection for an application layer via a service layer
US20070130333A1 (en) * 2005-12-02 2007-06-07 Sanjeev Bhalla Wireless application connection auto-detection mechanism
US8555403B1 (en) * 2006-03-30 2013-10-08 Emc Corporation Privileged access to managed content
US7904078B2 (en) * 2006-05-19 2011-03-08 Sony Ericsson Mobile Communications Ab Mobile peer-to-peer networks
US20080026729A1 (en) * 2006-07-31 2008-01-31 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US8145200B2 (en) * 2006-07-31 2012-03-27 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US20080027955A1 (en) * 2006-07-31 2008-01-31 May Darrell R System and method for storage and display of time-dependent events
US20080064388A1 (en) * 2006-09-13 2008-03-13 Helio, Llc. Softkey access to network connections
US8015249B2 (en) * 2006-10-10 2011-09-06 Microsoft Corporation Mitigating data usage in messaging applications
JP4855212B2 (ja) * 2006-10-20 2012-01-18 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置および無線通信方法
CA2607823C (en) * 2006-10-26 2014-07-29 Research In Motion Limited Transient wlan connection profiles
GB0621433D0 (en) * 2006-10-27 2006-12-06 3G Scene Ltd Networking application
EP2084930B1 (en) * 2006-11-21 2013-10-23 BlackBerry Limited Saving a connection profile when unable to connect to a wireless local area network
US8533345B2 (en) * 2007-05-08 2013-09-10 Blackberry Limited System and method for managing connections for networks used by a communication device
US8840299B2 (en) 2007-06-04 2014-09-23 Ge Healthcare Bio-Sciences Corp. Apparatus for mixing the contents of a container
US8081963B2 (en) 2008-02-12 2011-12-20 Microsoft Corporation Utilizing mobile device functionality from remote computers
GB2458444B (en) 2008-03-04 2010-07-28 Samsung Electronics Co Ltd Apparatus and method using radio signals
JP5278792B2 (ja) * 2008-04-18 2013-09-04 日本電気株式会社 ネットワーク接続装置、接続設定方法、及び接続設定用プログラム
US20100061533A1 (en) * 2008-09-08 2010-03-11 At&T Intellectual Property I, L.P. Portable Telephony Profiles
US20100106977A1 (en) * 2008-10-24 2010-04-29 Jan Patrik Persson Method and Apparatus for Secure Software Platform Access
US8676942B2 (en) * 2008-11-21 2014-03-18 Microsoft Corporation Common configuration application programming interface
US8683046B2 (en) * 2008-11-21 2014-03-25 Microsoft Corporation Unified interface for configuring multiple networking technologies
US8615570B2 (en) * 2008-11-21 2013-12-24 Microsoft Corporation Unified storage for configuring multiple networking technologies
US8751612B2 (en) * 2008-11-21 2014-06-10 Microsoft Corporation Creating cross-technology configuration settings
KR101559776B1 (ko) * 2008-11-28 2015-10-13 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR101015568B1 (ko) * 2009-01-16 2011-02-16 주식회사 비티비솔루션 멀티 통신망 연결 매니저를 이용한 이동통신단말기의 통신망 접속 방법
US8289969B2 (en) 2009-01-26 2012-10-16 Hewlett-Packard Development Company, L.P. Network edge switch configuration based on connection profile
JP2010177757A (ja) 2009-01-27 2010-08-12 Panasonic Corp 無線通信装置および接続先検索方法
WO2010087826A1 (en) * 2009-01-29 2010-08-05 Hewlett-Packard Development Company, L.P. Connecting ports of one or more electronic devices to different subsets of networks based on different operating modes
JP2010192993A (ja) 2009-02-16 2010-09-02 Panasonic Corp 無線通信装置および優先度変更方法
US8424024B2 (en) * 2009-03-26 2013-04-16 Digi International Inc. Application-specific serial port redirector
US20110029236A1 (en) * 2009-07-28 2011-02-03 Sony Corporation Gps-based wireless network connection selection and network topology overlay on satellite geographic map
US8346255B2 (en) * 2010-02-11 2013-01-01 Apple Inc. Method and apparatus for using a wireless communication device with multiple service providers
US8639772B2 (en) * 2010-02-16 2014-01-28 Iboard Incorporated Centralized application resource manager
US8635189B1 (en) * 2010-04-22 2014-01-21 Netapp, Inc. Frameworks for providing backup functionalities to different applications
US20110269461A1 (en) * 2010-04-28 2011-11-03 Xu Richard H System and Method for Dynamically Providing Communication Profiles for Mobile Devices
US20110269422A1 (en) * 2010-04-28 2011-11-03 Xu Richard H System and Method for Routing a Message to a Mobile Device Associated with Multiple Communication Profiles
KR101695690B1 (ko) * 2010-09-03 2017-01-12 엘지전자 주식회사 통신 연결 장치 및 그 방법
JP5498332B2 (ja) * 2010-09-21 2014-05-21 株式会社デンソー 車載機
ES2770577T3 (es) 2011-01-31 2020-07-02 Synchronoss Tech Inc Sistema y método para la gestión agnóstica de servidor y sistema operativo de dispositivos conectados a través de la alteración del estado controlado por la red
JP5608692B2 (ja) 2011-02-17 2014-10-15 パナソニック株式会社 ネットワーク接続装置および方法
US8732798B2 (en) * 2011-08-03 2014-05-20 Blackberry Limited Automatic disabling of enabled connection profile for wireless network
US9465697B2 (en) 2011-09-21 2016-10-11 Netapp, Inc. Provision of backup functionalities in cloud computing systems
US20130095794A1 (en) * 2011-10-13 2013-04-18 Signalset, Inc. Real-time management of a wireless device operation on multiple networks
US9356804B1 (en) * 2012-06-12 2016-05-31 Amazon Technologies, Inc. Policy-based network connection resource selection
US20140063048A1 (en) * 2012-09-06 2014-03-06 Appsense Limited Visual accessibility indicators
JP6136206B2 (ja) * 2012-11-16 2017-05-31 富士通株式会社 会議システム、サーバ、及び、会議情報生成プログラム
US9438638B2 (en) * 2013-03-15 2016-09-06 Silicon Graphics International Corp. Method for transparently connecting augmented network socket operations
US20150234767A1 (en) 2013-09-23 2015-08-20 Farmobile, Llc Farming data collection and exchange system
DE102014216795A1 (de) * 2014-08-22 2016-02-25 Lesswire Ag Erweiterungsmodul für ein persönliches Mobilgerät, Kommunikationssystem mit einem Erweiterungsmodul, sowie Kommunikationsverfahren
US9410712B2 (en) 2014-10-08 2016-08-09 Google Inc. Data management profile for a fabric network
KR101716690B1 (ko) * 2015-05-28 2017-03-15 삼성에스디에스 주식회사 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치
DE102016005492A1 (de) 2016-05-03 2017-11-09 Giesecke+Devrient Mobile Security Gmbh Verfahren zum Verwalten von teilweise und/oder unvollständig geladenen Subskriptionsdaten
US20180092143A1 (en) * 2016-06-03 2018-03-29 Sriakhil Gogineni Setup device for sharing content over a network
US9860736B1 (en) * 2016-09-30 2018-01-02 Microsoft Technology Licensing, Llc Providing network resource access based on a purpose identifier
CN107222406B (zh) * 2017-07-13 2021-06-15 北京元心科技有限公司 网络管理方法、装置和智能设备
CN109889406B (zh) * 2019-02-02 2021-05-14 北京百度网讯科技有限公司 用于管理网络连接的方法、装置、设备和存储介质
US11630551B1 (en) * 2021-10-28 2023-04-18 Dallen Yu Chao Smart keychain or accessory devices, systems, and methods

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913038A (en) * 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US5949975A (en) * 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US6154444A (en) * 1996-10-25 2000-11-28 Nec Corporation Source routing method for fast connection re-establishment in response to early-arriving trouble report messages
US20020038430A1 (en) * 2000-09-13 2002-03-28 Charles Edwards System and method of data collection, processing, analysis, and annotation for monitoring cyber-threats and the notification thereof to subscribers
US6421429B1 (en) * 1993-12-29 2002-07-16 At&T Corporation Network-based system enabling image communications
US20030214921A1 (en) * 2002-05-16 2003-11-20 Alapuranen Pertti O. System and method for performing multiple network routing and provisioning in overlapping wireless deployments
US20040001498A1 (en) * 2002-03-28 2004-01-01 Tsu-Wei Chen Method and apparatus for propagating content filters for a publish-subscribe network
US20040032348A1 (en) * 2000-12-22 2004-02-19 Lai Angela C. W. Distributed on-demand media transcoding system and method
US6741608B1 (en) * 1999-01-29 2004-05-25 Avaya Technology Corp. Dynamically configurable system and method for transcoding streaming data and telecommunications infrastructure the same
US20040135803A1 (en) * 2000-12-06 2004-07-15 Miller Daniel J. Interface and related methods for reducing source accesses in a development system
US20040258063A1 (en) * 2003-03-25 2004-12-23 Raith Alex Krister Multimedia message processing
US7039712B2 (en) * 2002-10-16 2006-05-02 Microsoft Corporation Network connection setup procedure for traffic admission control and implicit network bandwidth reservation

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136712A (en) * 1989-06-29 1992-08-04 Digital Equipment Corporation Temporary object handling system and method in an object based computer operating system
WO1995018413A1 (en) * 1993-12-30 1995-07-06 Taligent, Inc. Object-oriented view hierarchy framework
SE504866C2 (sv) * 1995-06-01 1997-05-20 Ericsson Telefon Ab L M Anordning och förfarande för interaktivt val av kommunikationsanordning vid mobil kommunikation
US5903832A (en) * 1995-12-21 1999-05-11 Nokia Mobile Phones Llimited Mobile terminal having enhanced system selection capability
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6282652B1 (en) * 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6496202B1 (en) * 1997-06-30 2002-12-17 Sun Microsystems, Inc. Method and apparatus for generating a graphical user interface
US6173404B1 (en) * 1998-02-24 2001-01-09 Microsoft Corporation Software object security mechanism
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6148197A (en) * 1998-03-06 2000-11-14 Sbc Technology Resources, Inc. Intelligent roaming system with over the air programming
US6289462B1 (en) * 1998-09-28 2001-09-11 Argus Systems Group, Inc. Trusted compartmentalized computer operating system
US6748217B1 (en) * 1999-12-30 2004-06-08 Denso Corporation Rapid acquisition and system selection of mobile wireless devices using a system map
FI120478B (fi) 2000-02-24 2009-10-30 Nokia Corp Menetelmä ja laitteisto tietoliikenneverkkoon liittymiseksi
US7191236B2 (en) * 2000-05-02 2007-03-13 Canon Kabushiki Kaisha Transparent telecommunications system and apparatus
US7016334B2 (en) * 2001-08-17 2006-03-21 Ixi Mobile ( Israel) Ltd. Device, system, method and computer readable medium for fast recovery of IP address change
US20040125745A9 (en) * 2002-04-09 2004-07-01 Ar Card Two-stage reconnect system and method
US7065367B2 (en) * 2002-07-11 2006-06-20 Oliver Michaelis Interface selection in a wireless communication network
US7155437B2 (en) * 2002-07-29 2006-12-26 Inventec Appliances Corp. Method for multiple configurations of wireless network connection settings
EP1566071B1 (en) * 2002-10-30 2007-11-28 Research In Motion Limited Methods and device for preferably selecting a communication network which makes data service available
US6954631B2 (en) * 2003-02-13 2005-10-11 Hewlett-Packard Development Company, L.P. Apparatus and method for telecommunications services
KR100592885B1 (ko) * 2003-04-29 2006-06-23 주식회사 팬택앤큐리텔 이동국의 시스템 선택 방법
JP4216115B2 (ja) * 2003-05-07 2009-01-28 株式会社エヌ・ティ・ティ・ドコモ 移動通信ネットワークシステム、移動端末機及びページング方法
US7245877B2 (en) * 2003-08-12 2007-07-17 Intel Corporation Wireless local area network detection
KR20050030509A (ko) * 2003-09-26 2005-03-30 삼성전자주식회사 헤테로지니어스 시스템에서의 억세스 네트워크 선택 방법

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421429B1 (en) * 1993-12-29 2002-07-16 At&T Corporation Network-based system enabling image communications
US6154444A (en) * 1996-10-25 2000-11-28 Nec Corporation Source routing method for fast connection re-establishment in response to early-arriving trouble report messages
US5913038A (en) * 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US5949975A (en) * 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US6741608B1 (en) * 1999-01-29 2004-05-25 Avaya Technology Corp. Dynamically configurable system and method for transcoding streaming data and telecommunications infrastructure the same
US20020038430A1 (en) * 2000-09-13 2002-03-28 Charles Edwards System and method of data collection, processing, analysis, and annotation for monitoring cyber-threats and the notification thereof to subscribers
US20040135803A1 (en) * 2000-12-06 2004-07-15 Miller Daniel J. Interface and related methods for reducing source accesses in a development system
US20040032348A1 (en) * 2000-12-22 2004-02-19 Lai Angela C. W. Distributed on-demand media transcoding system and method
US20040001498A1 (en) * 2002-03-28 2004-01-01 Tsu-Wei Chen Method and apparatus for propagating content filters for a publish-subscribe network
US20030214921A1 (en) * 2002-05-16 2003-11-20 Alapuranen Pertti O. System and method for performing multiple network routing and provisioning in overlapping wireless deployments
US7039712B2 (en) * 2002-10-16 2006-05-02 Microsoft Corporation Network connection setup procedure for traffic admission control and implicit network bandwidth reservation
US20040258063A1 (en) * 2003-03-25 2004-12-23 Raith Alex Krister Multimedia message processing

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055359A1 (en) * 2004-03-30 2011-03-03 Nec Personal Products, Ltd. Information processor, contents recording method, program, and storage medium
US20050223083A1 (en) * 2004-03-30 2005-10-06 Nec Personal Products, Ltd. Information processor, contents recording method, program, and storage medium
US20070130078A1 (en) * 2005-12-02 2007-06-07 Robert Grzesek Digital rights management compliance with portable digital media device
US10015233B2 (en) * 2007-05-16 2018-07-03 Microsoft Technology Licensing, Llc Format negotiation for media remoting scenarios
US20140082061A1 (en) * 2007-05-16 2014-03-20 Microsoft Corporation Format negotiation for media remoting scenarios
US20080288519A1 (en) * 2007-05-16 2008-11-20 Microsoft Corporation Format Negotiation for Media Remoting Scenarios
US8234385B2 (en) * 2007-05-16 2012-07-31 Microsoft Corporation Format negotiation for media remoting scenarios
US20090265212A1 (en) * 2008-04-17 2009-10-22 David Hyman Advertising in a streaming media environment
US8285858B2 (en) * 2009-06-23 2012-10-09 Avaya Inc. Signaling using binary form of SIP messages
US20100325291A1 (en) * 2009-06-23 2010-12-23 Avaya Inc. Signaling using binary form of sip messages
US20110196867A1 (en) * 2010-02-11 2011-08-11 David Hyman System and method of generating a playlist based on a frequency ratio
US8356031B2 (en) * 2010-02-11 2013-01-15 Daisy, Llc System and method of generating a playlist based on a frequency ratio
CN102752029A (zh) * 2011-04-18 2012-10-24 中兴通讯股份有限公司 蓝牙配件配对蓝牙设备的方法及蓝牙配件
CN103093144A (zh) * 2013-01-14 2013-05-08 中国科学院软件研究所 一种密码模块api安全性检测方法与系统
CN103093144B (zh) * 2013-01-14 2015-06-10 中国科学院软件研究所 一种密码模块api安全性检测方法与系统
WO2017069890A1 (en) * 2015-10-20 2017-04-27 Intel Corporation Technologies for scalable capability detection for multimedia casting
US10505994B2 (en) 2015-10-20 2019-12-10 Intel Corporation Technologies for scalable capability detection for multimedia casting
US11159583B2 (en) 2015-10-20 2021-10-26 Intel Corporation Technologies for scalable capability detection for multimedia casting
US11582270B2 (en) 2015-10-20 2023-02-14 Intel Corporation Technologies for scalable capability detection for multimedia casting
US11108570B2 (en) * 2017-07-18 2021-08-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for multimedia communication, and storage medium
WO2019242440A1 (zh) * 2018-06-20 2019-12-26 华为技术有限公司 一种用户界面的显示方法和终端设备
CN110618847A (zh) * 2018-06-20 2019-12-27 华为技术有限公司 一种用户界面的显示方法和终端设备

Also Published As

Publication number Publication date
KR101095769B1 (ko) 2011-12-21
WO2005078552A1 (en) 2005-08-25
US20070136790A1 (en) 2007-06-14
JP2007523411A (ja) 2007-08-16
WO2005079039A1 (en) 2005-08-25
US20050260989A1 (en) 2005-11-24
CN1947081A (zh) 2007-04-11
CN101526986B (zh) 2012-03-28
EP1714522A1 (en) 2006-10-25
JP2007525894A (ja) 2007-09-06
KR20070003917A (ko) 2007-01-05
KR20070055996A (ko) 2007-05-31
CN101526986A (zh) 2009-09-09
WO2005078571A3 (en) 2006-06-15
EP1721233A1 (en) 2006-11-15
WO2005079103A1 (en) 2005-08-25
US8055249B2 (en) 2011-11-08
KR101162786B1 (ko) 2012-07-04
CN100476685C (zh) 2009-04-08
CN1947450A (zh) 2007-04-11
JP4709166B2 (ja) 2011-06-22
WO2005078571A2 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
US20050175030A1 (en) System and method of format negotiation in a computing device
CN100461285C (zh) 用于处理交互式媒体播放器中的图像数据的装置和方法
US10721282B2 (en) Media acceleration for virtual computing services
US6742176B1 (en) Secure flexible plugin software architecture
JP5288710B2 (ja) マルチメディアデータを記録した情報保存媒体、その再生方法及び再生装置
CN101689170B (zh) 用于数字媒体处理的接口
CN102741830B (zh) 用于多媒体流的客户机侧远程呈现的系统和方法
JP5819367B2 (ja) 拡張された色空間コンテンツのマスタリングおよび配信を行う方法およびシステム
US8775566B2 (en) File format for media distribution and presentation
US7188193B1 (en) System, method and article of manufacture for a synchronizer component in a multimedia synchronization framework
CN114175652B (zh) 电子装置及其操作方法
US6941383B1 (en) System, method and article of manufacture for java/javascript component in a multimedia synchronization framework
US20130298171A1 (en) Device for generating content data, method for generating content data, and recording medium
US20050021590A1 (en) Resolving a distributed topology to stream data
US20050195752A1 (en) Resolving partial media topologies
US20040244041A1 (en) System, method and article of manufacture for late synchronization during the execution of a multimedia event on a plurality of client computers
JP2008541511A (ja) マルチメディアコンテンツおよび装置の動的仲裁
US11128739B2 (en) Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data
US20100199151A1 (en) System and method for producing importance rate-based rich media, and server applied to the same
US7738766B2 (en) Sanctioned transcoding of digital-media content
JP4752137B2 (ja) 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム
US20120023148A1 (en) Applying Transcodings In A Determined Order To Produce Output Files From A Source File
CN111356023B (zh) 播放方式确定方法及装置
WO2020183900A1 (ja) 情報処理装置、再生処理装置、情報処理方法及び再生処理方法
CN114466246A (zh) 一种视频处理方法及其装置

Legal Events

Date Code Title Description
AS Assignment

Owner name: PALMSOURCE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOON, ERIC;NELISSEN, MARCO;HUBER, ANDREAS;REEL/FRAME:016270/0462;SIGNING DATES FROM 20050203 TO 20050204

AS Assignment

Owner name: ACCESS SYSTEMS AMERICAS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:PALMSOURCE, INC.;REEL/FRAME:024892/0374

Effective date: 20061017

AS Assignment

Owner name: ACCESS CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACCESS SYSTEMS AMERICAS, INC.;REEL/FRAME:025898/0852

Effective date: 20110225

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION