Sélection de la langue

Search

Sommaire du brevet 2556777 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Brevet: (11) CA 2556777
(54) Titre français: METHODE ET SYSTEME DE SELECTION D'UN TRANSCODEUR DE CONVERSION ENTRE DES TYPES DE CONTENUS
(54) Titre anglais: METHOD AND SYSTEM FOR SELECTING A TRANSCODER TO CONVERT BETWEEN CONTENT TYPES
Statut: Réputé périmé
Données bibliographiques
Abrégés

Abrégé français

Un serveur peut fournir des services de transcodage (p. ex transcoder un contenu Web pour des dispositifs mobiles) en utilisant plusieurs transcodeurs. Afin de faciliter la sélection d'un transcodeur, des opérations du serveur peuvent être configurées en utilisant un cadriciel de configuration dans lequel les transcodeurs et les priorités de mappage respectives sont précisés. Le cadriciel soutient aussi la spécification, pour chaque transcodeur, des éléments suivants : a) des données de correspondance de profil de dispositif respectif pour sélectionner un transcodeur spécifique en réponse à un profil de dispositif demandeur; et b) un a transcodeur suivant respectif pour demander d'enchaîner des déclencehements.de transcodeur. Le cadriciel peut être préparé conformément à un schéma XML. Le serveur peut être une passerelle sans fil ou un serveur mandataire pour les dispositifs mobiles ayant accès à du contenu sur le Web.


Abrégé anglais

A server may provide transcoding services (e.g. to transcode Web content for mobile devices) using a plurality of transcoders. To facilitate transcoder selection, server operations may be configured using a configuration framework in which the transcoders and respective mapping priorities are specified. The framework also supports the specification of, for any of the transcoders: a) respective device profile matching data for selecting a particular transcoder in response to a requesting device's profile; and b) a respective next transcoder to invoke thereby to chain transcoder invocations. The framework may be prepared in accordance with an XML schema. The server may be a wireless gateway or proxy server for mobile devices accessing Web-based content.

Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.





WHAT IS CLAIMED IS:


1. A method of configuring a server to provide transcoding services, said
method comprising:

providing a configuration framework for specifying to the server a plurality
of transcoders for transcoding content types to facilitate selection
of a one of the transcoders to perform the transcoding, said
framework specifying, for respective ones of the transcoders, a
mapping priority for an input content type transcodable by the
respective ones of the transcoders, such that the selection is
responsive to the mapping priority,

wherein the configuration framework is further defined for specifying for
any of the transcoders respective device profile matching data for
comparison with a device profile of a device requesting the
transcoding services, such that the selection is further responsive
to the device profile.


2. The method of claim 1 wherein the framework is further defined for
specifying for any of the transcoders a respective next transcoder, such that
selection of a one of the transcoders also selects the respective next
transcoder
for invocation next.


3. The method of claim 1 wherein the framework is further defined for
specifying for any of the transcoders a respective initialization parameter
for
configuring the initialization of the transcoder.


4. The method of claim 1 wherein the framework comprises an XML schema.

5. A computer program product, comprising a computer readable medium
having code embodied therein, for execution by a processor for configuring a
server to provide transcoding services, said computer program product
comprising:



14




a configuration framework for specifying to the server a plurality of
transcoders for transcoding content types to facilitate selection of a
one of the transcoders to perform the transcoding, said framework
specifying, for respective ones of the transcoders, a mapping
priority for an input content type transcodable by the respective
ones of the transcoders, such that the selection is responsive to the
mapping priority,

wherein the configuration framework is further defined for specifying for
any of the transcoders respective device profile matching data for
comparison with a device profile of a device requesting the
transcoding services, such that the selection is further responsive
to the device profile.


6. The computer program product of claim 5 wherein the framework is further
for specifying any one or more of the following for any of the transcoders:

(a) a respective next transcoder, such that selection of a one of the
transcoders also selects the next transcoder for invocation next;
and

(b) a respective initialization parameter for configuring the initialization
of the transcoder.


7. The computer program product of claim 5 wherein the framework
comprises an XML schema.


8. A method of providing transcoding services comprising:

selecting a one transcoder from among a plurality of transcoders to
transcode content having an input content type, said selecting
responsive to a transcoder selection configuration specifying the
plurality of transcoders and for respective ones of the transcoders,
a mapping priority for an input content type transcodable by the


15




respective ones of the transcoders, such that the selection is
responsive to the mapping priority,

wherein the transcoder selection configuration is further for specifying a
respective next transcoder, such that said step of selecting also
selects the next transcoder for invocation next.


9. The method of claim 8 wherein the transcoder selection configuration is
further for specifying a respective next transcoder, such that said step of
selecting also selects the next transcoder for invocation next.


10. The method of claim 8 wherein the transcoder selection configuration is
further for specifying for any of the transcoders a respective initialization
parameter for configuring the initialization of the transcoder and wherein the

method comprises the step of initializing the transcoders in accordance with
any
respective initialization parameter.


11. A computer program product, comprising a computer readable medium
having code embodied therein, for execution by a processor of a server to
provide transcoding services in accordance with the method of claim 8.


12. A computer program product, comprising a computer readable medium
having code embodied therein, for execution by a processor of a server to
provide transcoding services in accordance with the method of claim 9.


13. A computer program product, comprising a computer readable medium
having code embodied therein, for execution by a processor of a server to
provide transcoding services in accordance with the method of claim 10.


14. A server for providing transcoding services using a plurality of
transcoders, said server comprising:

(a) a processor coupled to a memory storing software for execution by
the processor, said software comprising:



16




(i) a transcoder configuration module for specifying the plurality
of transcoders and, for respective ones of the transcoders, a
mapping priority for an input content type transcodable by
the respective ones of the transcoders; and

(ii) a transcoder selection modules operably responsive to said
transcoder configuration module to select a one transcoder
from among the plurality of transcoders such that selection
among transcoders capable of transcoding the input content
type is responsive to the respective mapping priority,

wherein the transcoder configuration module further specifies a
respective next transcoder, such that said selection operations also
select the next transcoder for invocation next.


15. The server of claim 14 wherein the transcoder selection configuration
module further specifies respective device profile matching data for
comparison
with a device profile of a device requesting the transcoding services, such
that
selection operations are responsive to the device profile; and

(a) a respective next transcoder, such that said selection operations
also select the next transcoder for invocation next.


16. The server of claim 14 wherein the transcoder configuration module
further specifies for any of the transcoders a respective initialization
parameter
for configuring the initialization of the transcoder and wherein the server
initializes the transcoders in accordance with any respective initialization
parameter.


17. The server of claim 14 comprising a proxy server providing proxy services
to devices on a network coupled to the server and wherein the transcoding
services are providing in association with the proxy services.



17

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.



CA 02556777 2006-08-22

Method and System for Selecting a Transcoder to
Convert Between Content Types
COPYRIGHT NOTICE

[0001] A portion of the disclosure of this patent document contains material
which is subject to copyright protection. The copyright owner has no objection
to
the facsimile reproduction by any one of the patent document or patent
disclosure, as it appears in the Patent and Trademark Office patent file or
records, but otherwise reserves all copyright whatsoever.

FIELD
[0002] The present application relates to the conversion of data from one
content type to another and more particularly a method and system for
transcoder selection where multiple transcoders may be available to transcode
the same content type.

BACKGROUND
[0003] Content in the form of data is made available on the Web in a variety
of
data formats or content types (e.g. HTML, CSS, javascript, SVG, XML, WML,
tiff,
gif, jpg, mpg, etc). However, devices requesting Web content, particularly
handheld and other pervasive devices (Web-enabled cellular phones, PDAs,
etc.) and more particularly those devices that communicate wirelessly with the
Web, often have device or other constraints which may limit or skew
preferences
for the types of data the devices handle.

[0004] Transcoding technology enables the provision of content economically
and efficiently to meet device constraints or other preferences. Transcoding
uses
specialized programs to perform conversions such as from one content type to
another. For example, transcoding may be used to convert HTML for a browser
to WML for a Web-enabled cellphone.

1


CA 02556777 2006-08-22

[0005] Typically, a server providing transcoding services is configured on the
data network (e.g. Internet) between a data source (e.g. Web page) providing
data in one content type and the requesting device (e.g. mobile device) that
requires the data to be of a second content type. The server may be a wireless
gateway or proxy server performing one or more other services for devices the
server is assisting to communicate with the data network. The server may
perform the transcoding services for a variety of types of devices. For
example,
the server may provide wireless gateway services to a family of handheld
mobile
devices. These devices may have different device capabilities such that some
prefer one content type to another or are not capable of handling certain
content
types.

[0006] In some instances these servers are coupled to or otherwise
configured with more than one transcoder. Some of the transcoders may not be
capable of transcoding for specific device types serviced by the server.
Sometimes two or more of the transcoders may be capable of transcoding the
same content format for the server (i.e. Transcoder_A and Transcoder_B may
both be capable of transcoding content format_1. Both may convert to content
format_2 or one to content format_2 and the other to content format_3 that may
also be acceptable for some devices.)

[0007] Further, it may be preferred to use one transcoder over another. One
transcoder may be more efficient at transcoding a particular content type than
another transcoder. This efficiency may result in, among other things, more
accurate image depictions, reduced file sizes, reduced network load, and
faster
processing times. There is therefore a need for a way to configure a server to
select a transcoder to convert content types.

[0008] A solution that addresses one or more of these issues is therefore
desired.

2


CA 02556777 2006-08-22
SUMMARY

[0009] To facilitate transcoder selection, server operations may be configured
using a configuration framework in which the transcoders and respective
mapping priorities are specified. The framework also supports the
specification
of, for any of the transcoders: a) device profile matching data for selecting
a
particular transcoder in response to a requesting device's profile; and b) a
next
transcoder to invoke thereby to chain transcoder invocations. The framework
may be prepared in accordance with an XML schema. The server may be a
wireless gateway or proxy server for mobile devices accessing Web-based
content.

[0010] In accordance with one aspect, there is provided a method of
configuring a server to provide transcoding services. The method comprises
providing a configuration framework for specifying to the server a plurality
of
transcoders for transcoding content types to facilitate selection of a one of
the
transcoders to perform the transcoding. The framework is defined for
specifying
for any of the transcoders a mapping priority for an input content type
supported
by the respective transcoder. As such, selection among transcoders capable of
transcoding the input content type is responsive to the mapping priority.

[0011] The framework may be further defined for specifying for any of the
transcoders device profile matching data for comparison with a device profile
of a
device requesting the transcoding services. As such selection of a one of the
transcoders is responsive to the device profile. As well, the framework may be
further defined for specifying for any the transcoders a respective next
transcoder. Selection of a one of the transcoders also selects its respective
next
transcoder, if specified, thus chaining transcoder invocation.

[0012] The framework may also be defined for specifying for any of the
transcoders an initialization parameter for configuring the initialization of
the
transcoder.

3


CA 02556777 2006-08-22

[0013] Preferably, the framework comprises an XML schema.

[0014] In another method aspect, there is a method of providing transcoding
services. This method comprises selecting a one transcoder from among a
plurality of transcoders to transcode content having an input content type
where
the selecting is responsive to a transcoder selection configuration specifying
the
plurality of transcoders and for any transcoder a mapping priority for the
input
content type supported by the respective transcoder such that selection among
transcoders capable of transcoding the input content type is responsive to the
mapping priority.

[0015] The transcoder selection configuration may further specify any one or
more of the following for any of the transcoders:

(a) a device profile matching data for comparison with a device profile
of a device requesting the transcoding services, such that said step
of selecting is responsive to the device profile; and

(b) a next transcoder, such that said step of selecting also selects the
next transcoder for invocation after the one of the transcoders.
[0016] The transcoder selection configuration may further specify for any of
the transcoders a respective initialization parameter for configuring the
initialization of the transcoder and the method further comprise a step of
initializing the transcoders in accordance with any respective initialization
parameter.

[0017] In another aspect, there is a server for providing transcoding services
using a plurality of transcoders. The server comprises a processor coupled to
a
memory storing software for execution by the processor. That software defines:
a
transcoder selection configuration specifying the plurality of transcoders
and, for
any of the transcoders, a respective mapping priority for an input content
type
supported by the respective transcoder; and transcoder selection operations
4


CA 02556777 2006-08-22

responsive to the transcoder selection configuration to select a one
transcoder
from among the plurality of transcoders. As such, selection among transcoders
capable of transcoding the input content type is responsive to the mapping
priority.

[0018] The transcoder selection configuration may further specify any one or
more of the following for any of the transcoders:

(a) a device profile matching data for comparison with a device profile
of a device requesting the transcoding services, such that selection
operations are responsive to the device profile; and

(b) a next transcoder, such that selection operations also select the
next transcoder for invocation after the one of the transcoders.
[0019] The transcoder selection configuration may further specify for any of
the transcoders a respective initialization parameter for configuring the
initialization of the transcoder. As such, the server may initialize the
transcoders
in accordance with any respective initialization parameter.

[0020] In one embodiment, the server comprises a proxy server providing
proxy services to devices on a network coupled to the server and the
transcoding
services are providing in association with the proxy services.

[0021] Other system and computer media aspects will also be apparent to
those of ordinary skill in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order that the subject matter may be readily understood,
embodiments are illustrated by way of examples in the accompanying drawings,
in which:



CA 02556777 2006-08-22

[0023] Figure 1 is a simplified block diagram that illustrates pertinent
components of an example proxy server employing transcoder selection in
accordance with one embodiment, implementing priority among transcoder
selection, the ability to reject profiles from selection based on device type
profile,
and the chaining of transcoders; and

[0024] Figure 2 is an example XML schema for configuring transcoder
selection in the server of Figure 1;

[0025] Figure 3 is an example of part of an XML document coded in
accordance with the schema of Figure 2; and

[0026] Figures 4-5 are flowcharts of operations to configure a server for
selecting a transcoder and to select a transcoder when in operation in
accordance with an embodiment.

DETAILED DESCRIPTION

[0027] Figure 1 is a block diagram that illustrates pertinent components of an
example proxy server 100 employing transcoder selection in accordance with an
embodiment. Briefly, transcoder selection operations are employed to select
from
a plurality (N) transcoders to perform transcoding of content (e.g. HTTP-based
content) from a content source (e.g. a Web-server, not shown) for a requesting
device (e.g. a wireless Web-enabled mobile device, not shown).

[0028] Persons of ordinary skill in the art will appreciate that teachings
herein
are applicable to servers employing transcoder selection wherein the servers
communicate data between a user mobile data communication device and a
content server. Though transcoding with respect to the particular flow of data
from the content server to the user mobile data communication device is
discussed in the examples, no limitations should be imposed as transcoding may
also occur with respect to data originating from the user wireless mobile data
communication device that is destined for the content server.

6


CA 02556777 2006-08-22

[0029] Proxy servers are well known in the art and persons of ordinary skill
will appreciate that Figure 1 is simplified, illustrating only representative
components. There is shown RAM or other memory 102 with which to load and
run software (instructions and data for configuring one or more processors
(not
shown) of the server). Memory 102 is coupled to a long-term storage device 104
(e.g. disk drive, etc.) for storing the software. The storage device 104 may
be
locally coupled as shown or remotely coupled to server 100 such as via a
network connection 106. Network connection 106 also couples server 100 for
communication with the requesting devices for which the server provides proxy
services and, as necessary, transcoding services. Requesting devices may
request content through proxy server 100 from content sources (e.g. HTTP
servers (not shown)) also coupled to server 100 by network connection 106.

[0030] Memory 102 is shown comprising software for proxy service operations
108. Proxy services may include connectivity, security and authentication,
caching and other services to assist requesting devices with network
communications. In addition memory 102 comprises software for a plurality (N)
of transcoders (collectively 110 and individually 110_1, 110_2, ... 110_N).
Transcoders 110 each transcode content of an input content type to an output
content type. The input type and output type may be the same type however,
such as when scaling images or reducing colours. A transcoder may accept more
than one input type for transcoding and it is also noted that two or more
transcoders 110 may transcode the same input content type though not
necessarily to the same output content type.

[0031] Though all N transcoders 110 are shown as loaded in memory 102,
persons of skill in the art will appreciate that an individual transcoder
(e.g. 110_i)
may be loaded as the need arises and others unloaded in accordance with
memory management techniques. Transcoders 110 may be configured as plug-
ins to the proxy services. Transcoders 110 need not be local to server 100 and
may be loaded and run on another device(s) (not shown) coupled to server 100 .
7


CA 02556777 2006-08-22

In such a case transcoders 110 represent logical connections to the remote
transcoders.

[0032] As the need for transcoding HTTP content arises, server 100 selects
the appropriate transcoder 110. Memory 102 is configured with software 112
transcoder selection operations including transcoder selection configuration
parameters 114. Parameters 114 are discussed further with reference to Figure
2. Briefly, parameters 114 identify the available transcoders 110 and may
identify (among other things):

= selection priority among the transcoders 110 for particular
input/output pairs;

= whether a specific transcoder 110 accepts or rejects transcoding
requests for specific device profiles; and

= a next transcoder to be invoked after a specific transcoder thereby
to chain specific transcoding operations.

[0033] In the present embodiment, transcoding selection parameters 114 are
generated during a set-up phase of memory 102 from an Extensible Mark-up
Language ("XML") document (e.g. HttpContentTranscoderList.xml 116). The
XML file may be loaded using compiled Java classes 118 generated from an
XML schema 120 (e.g. transcoder.xsd). XML configuration of software per se is
well known and routine aspects thereof will not be discussed further. Though
shown stored in storage 104, persons of ordinary skill will appreciate that
the
XML 116 and Java classes 118 were loaded in memory 102 during the set-up
phase. The software of operations 108 and 112 was also loaded into memory
102 from a store (not shown), which could be store 104. Loading the
configuration information in this manner allows for selection decisions to be
made
(e.g. comparing the data type of input or output data against the various
content
types accepted by transcoders that are available to perform transcoding on the
8


CA 02556777 2006-08-22

server) without having to read the configuration file from storage 104 each
time a
comparison is needed.

[0034] Figure 2 illustrates a representative XML schema, transcoder.xsd 120.
Portions (e.g. names space references) not relevant to the teaching hereof
have
been omitted. Elements of the XML schema will be discussed with reference to
its lines numbered 1-61.

[0035] As well as configuring transcoder selection parameters, the
configuration framework of the schema 120 provides a placeholder for each of
the transcoders 110 to use an initialization string for its own configuration
on
loading and each may specify its own format. Configuration of the XML file 116
in
accordance with the schema 120 and the requirements of each of the
transcoders 110 may be performed by an administrator or other technicians for
proxy server 100 as is well-known. Schema notes are as follows.

[0036] For the sake of code simplicity, an empty element is not allowed (Line
3). The transcoder-name element is mainly for information purposes. Its value
need not have any effect (Line 8).

[0037] The transcoder-class element specifies the suffix of the fully
qualified
transcoder Java class name (Line 9). The suffix may identify what content type
can be transcoded by the transcoder. The init-param element specifies a
configuration string for each individual transcoder. The format is of the
string is
up to each transcoder implementation (Line 10).

[0038] The input and output elements specify respectively the input and
output media types (i.e. content type) of the transcoder mapping (Lines 11-
12). It
could be "*/*" for a wildcard match for an output type.

[0039] The accept element specifies device profile matching data preferably
as a regular expression used to match against the device profile sent in a
device
9


CA 02556777 2006-08-22

content request (e.g. HTTP(S) GET) (Line 13). If a match is found, this
transcoder can support requests from devices having this profile. Device
profiles
are often used to identify device types, specifying device requirements.
Though
not illustrated, proxy and transcoding operations may be further configured in
response to device profiles to specify how proxy and/or transcoding operations
are to be performed. The reject element specifies device profile matching data
preferably as a regular expression used to match against the device profile
sent
in a device HTTP(S) GET request (Line 14). If a match is found, this
transcoder
will not be used for this device request. Thus the configuration framework is
defined for specifying device profile matching data so that selection of a one
of
the transcoders can be responsive (either accepting or rejecting) a request in
view of the device profile of the device making the request.

[0040] The mapping-priority element specifies a priority for the transcoder
for
the input content type (Lines 15-31). If there is more than one transcoder
defined
in the XML document that supports the same input content type, selection of a
one of the transcoders for invocation will be responsive to the mapping
priority.
Priority in this embodiment is defined as a non-negative decimal number, e.g.
0.0, 0.3, or 1Ø If the highest priorities are the same, the last transcoder
defined
in the XML document will be used. If the priority is 0.0, it means that the
transcoder will not be invoked to transcode the input content type. If no
mapping
priority is specified, a default value may be applied.

[00411 The next-transcoder-class specifies the next transcoder to be invoked
after the selected transcoder (Line 32) effectively chaining transcoder
operations
together.

[0042] The device profile pattern specifies the regular expressions used to
accept and reject the device request (Lines 33-40). A transcoder element
consists of a sequence of transcoder-name, transcoder-class, optional init-
param, optional mapping-priority, optional next-transcoder-class, optional
device-
profile-pattern (Lines 41-53).



CA 02556777 2006-08-22

[0043] Lines 54-60: The root element transcoders consists of a sequence of
transcoder elements.

[0044] Figure 3 illustrates an extract of an XML file 300 in accordance with
the
schema 120. For example, the configurations provide for a transcoder named
CONNECT.HTML 302. The transcoder 302 has a reject device profile pattern
304. If a device profile URL provided with a content request to proxy server
100
(e.g. an HTTP GET) in accordance with a device/proxy protocol matches the
expression pattern 304 (e.g.
http://www.bbb.net/mobile/profiles/7290/4.1Ørdf),
the transcoder 302 would not be used. According to mapping priority
configurations 308 for transcoder name Image 306, that transcoder would not be
used to transcode TIFF data format images since the priority is 0Ø

[0045] However, if a device profile URL is
http://www.bbb.net/mobile/profiles/7290/4.1Ørdf, the transcoder HTML 310
might be used since the profile URL matches its "accept" regular expression
pattern 312. Transcoder First 314 illustrates a chaining to another transcoder
316. Initialization parameters (e.g. 318) may take a CDATA format to include
XML tags not defined in the schema 120 for initializing the specific
transcoder.
[0046] Figure 4 illustrates operations 400 to configure a proxy server 100 for
transcoder selection in accordance with an embodiment. At step 402, available
transcoders and their respective capabilities are determined. At step 404, XML
document 116 is configured (i.e. edited with an XML editor (not shown) to
specify
the required configuration data). Persons of skill in the art will appreciate
that
with the configuration framework described (e.g. as embodied in schema 120),
there is flexibility in how the XML document may be coded. The order in which
the transcoders are specified is not material except as between transcoders
for
the same input content type and having the same priority. Thus ordering the
listing of transcoders or specifying a priority or both may be used to
indicate
which transcoder is to be selected. Initialization parameters may be
specified.
Device profile expressions may be coded to accept or reject a transcoding

11


CA 02556777 2006-08-22

operation for specified device types, etc. Though steps 402 and 404 are shown
as distinct steps, operations in practice may overlap or cycle. Coding of XML
document 116 may be performed by a server administrator or other technician on
a computing device other than server 100 (not shown) and the document 116
copied to the server 100.

[0047] At step 406, the server 100 is loaded with the software discussed
previously (among other software as desired) and brought on-line ready for
proxy
and transcoding services. When server 100 is started, the configuration data
from the XML document 116 are loaded in accordance with the various
instantiated objects as determined by the compiled XML schema 120.
Initialization may be delayed as described below.

[0048] Operations to code the XML schema and compile it for loading the
XML document for a particular server may be performed on a different computing
device (e.g. a technicians work station, PC or laptop, (not shown)) than
server
100. As well, changes may be made to the XML document, and the server
restarted to reload the new configuration set forth in that XML document, as
desired, such as when new transcoders or device types are added.

[0049] Figure 5 is a flowchart of operations 500 of server 100 showing an
instance of simplified proxy services with transcoding. At step 502, server
100
receives a content request with a device profile URL. At step 504, server 100
gets the content having an input content type from a content source as
specified
in the request. At step 506, proxy server 100 selects a transcoder in
accordance
with the transcoder selection configuration. The selection may be responsive
to
the device profile type and input content type for example. A selected
transcoder
may refer to a next transcoder to invoke after the invocation of the selected
transcoder.

[0050] At step 508, the selected transcoder (and any linked next transcoder)
are invoked to transcode the content received from the content source to an
12


CA 02556777 2006-08-22

output content type. Persons of skill in the art will appreciate that loading
of a
transcoder 110 may be performed at his time rather than when the proxy server
100 is brought on-line Step 408.

[0051] At step 510, server 100 replies to the request of step 502 with the
transcoded content.

[0052] Though a proxy server is described other servers such as a Web
content server may be configured to transcode and select transcoders as
described. For example, a Web server may transcode its standard content for
wired devices to suitable content for mobile devices. A GET request may
include
a device profile to aid in the transcoding.

13

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , États administratifs , Taxes périodiques et Historique des paiements devraient être consultées.

États administratifs

Titre Date
Date de délivrance prévu 2012-01-31
(22) Dépôt 2006-08-22
Requête d'examen 2006-08-22
(41) Mise à la disponibilité du public 2008-02-22
(45) Délivré 2012-01-31
Réputé périmé 2016-08-22

Historique d'abandonnement

Il n'y a pas d'historique d'abandonnement

Historique des paiements

Type de taxes Anniversaire Échéance Montant payé Date payée
Requête d'examen 800,00 $ 2006-08-22
Enregistrement de documents 100,00 $ 2006-08-22
Le dépôt d'une demande de brevet 400,00 $ 2006-08-22
Taxe de maintien en état - Demande - nouvelle loi 2 2008-08-22 100,00 $ 2008-08-19
Taxe de maintien en état - Demande - nouvelle loi 3 2009-08-24 100,00 $ 2009-08-07
Taxe de maintien en état - Demande - nouvelle loi 4 2010-08-23 100,00 $ 2010-07-13
Taxe de maintien en état - Demande - nouvelle loi 5 2011-08-22 200,00 $ 2011-07-12
Taxe finale 300,00 $ 2011-11-14
Taxe de maintien en état - brevet - nouvelle loi 6 2012-08-22 200,00 $ 2012-07-16
Taxe de maintien en état - brevet - nouvelle loi 7 2013-08-22 200,00 $ 2013-07-11
Taxe de maintien en état - brevet - nouvelle loi 8 2014-08-22 200,00 $ 2014-08-18
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
RESEARCH IN MOTION LIMITED
Titulaires antérieures au dossier
YU, KOON WAH
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document. Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(yyyy-mm-dd) 
Nombre de pages   Taille de l'image (Ko) 
Abrégé 2006-08-22 1 20
Revendications 2006-08-22 4 158
Description 2006-08-22 13 562
Dessins 2006-08-22 4 113
Revendications 2011-07-19 4 162
Dessins représentatifs 2008-02-07 1 8
Page couverture 2008-02-07 2 42
Revendications 2010-10-19 5 159
Page couverture 2012-01-04 2 42
Cession 2006-08-22 6 218
Poursuite-Amendment 2011-03-14 2 45
Poursuite-Amendment 2011-07-19 12 426
Poursuite-Amendment 2010-08-04 11 594
Poursuite-Amendment 2009-04-27 1 33
Taxes 2009-08-07 1 43
Poursuite-Amendment 2010-10-19 10 366
Correspondance 2011-11-14 2 50