JP6561177B2 - メディア・ファイルのアップロードおよびトランスコーディング - Google Patents

メディア・ファイルのアップロードおよびトランスコーディング Download PDF

Info

Publication number
JP6561177B2
JP6561177B2 JP2018127312A JP2018127312A JP6561177B2 JP 6561177 B2 JP6561177 B2 JP 6561177B2 JP 2018127312 A JP2018127312 A JP 2018127312A JP 2018127312 A JP2018127312 A JP 2018127312A JP 6561177 B2 JP6561177 B2 JP 6561177B2
Authority
JP
Japan
Prior art keywords
multimedia file
transcoding
client computing
computing device
configuration information
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.)
Active
Application number
JP2018127312A
Other languages
English (en)
Other versions
JP2018185843A (ja
Inventor
クレイガー、ミッシェル
ミケル スウィーニー、シャイン
ミケル スウィーニー、シャイン
ウィリアム ハント、ペーター
ウィリアム ハント、ペーター
パトリック ショートウェイ、ニコラス
パトリック ショートウェイ、ニコラス
ウィリアム ブランソン、リチャード
ウィリアム ブランソン、リチャード
カーペンコ、アレクサンドレ
チェン、チェン
クロード ファビアン ジャン ジュール デリエージュ、フランソワ
クロード ファビアン ジャン ジュール デリエージュ、フランソワ
Original Assignee
フェイスブック,インク.
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 フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2018185843A publication Critical patent/JP2018185843A/ja
Application granted granted Critical
Publication of JP6561177B2 publication Critical patent/JP6561177B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration

Description

本開示は、一般に、メディア・ファイルをアップロードおよびトランスコーディングすることに関する。
ソーシャルネットワーキング・ウェブサイトを含むソーシャルネットワーキング・システムは、そのユーザ(人または組織)がソーシャルネットワーキング・システムと、およびソーシャルネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、ソーシャルネットワーキング・システム内でそのユーザに関連付けられているユーザ・プロフィールを作成し記憶することができる。ユーザ・プロフィールは、人口統計情報、通信チャネル情報、およびユーザの個人的関心に関する情報を含んでもよい。また、ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、ソーシャルネットワーキング・システムの他のユーザとのユーザの関係の記録を作成および記憶し、サービス(たとえば、ウォール投稿、映像の共有、写真の共有、イベントの主催、メッセージング、ゲーム、または広告)を提供し、ユーザ間またはユーザの間でのソーシャルな対話を容易にすることができる。
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなど、モバイル・コンピューティング・デバイスは、GPS受信機、コンパス、ジャイロスコープ、または加速度計など、その場所、方向、または向きを決定するための機能を含むことがある。そのようなデバイスは、Bluetooth(登録商標)通信、近距離通信(NFC)、もしくは赤外線(IR)通信、または無線ローカル・エリア・ネットワーク(WLAN)もしくはセルラ電話ネットワークなど、無線通信のための機能をも含む。そのようなデバイスは、1つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロフォン、またはスピーカをも含むことがある。モバイル・コンピューティング・デバイスはまた、ゲーム、ウェブ・ブラウザ、またはソーシャルネットワーキング・アプリケーションなど、ソフトウェア・アプリケーションを実行することができる。ソーシャルネットワーキング・アプリケーションを用いて、ユーザは、自分のソーシャル・ネットワーク内の他のユーザとつながり、通信し、情報を共有することができる。
サービスに関連付けられたマルチメディア・ファイルをアップロード、トランスコーディング、および記憶するための例示的なネットワーク環境の図。 ショート・ビデオをアップロードおよびトランスコーディングするための例示的なシステムの図。 マルチメディア・ファイルをアップロードするためにクライアント・コンピューティング・デバイスと通信するホスト・コンピューティング・サーバの例示的なフローチャート。 マルチメディア・ファイルをアップロード、トランスコーディング、および記憶するためにクライアント・コンピューティング・デバイスと通信するトランスコーディング・サーバの例示的なデシジョン・フローチャート。 例示的なコンピュータ・システムの図。
デジタル・カメラを含むモバイル・コンピューティング・デバイス(クライアント・コンピューティング・デバイスとも呼ばれることがある)を使用し、たとえばデジタル・ビデオ・クリップなどマルチメディア・ファイルを記録することができる。クライアント・コンピューティング・デバイスのユーザは、マルチメディア・ファイルをネットワーク上のサービスにアップロードすることができる。特定の実施形態では、クライアント・コンピューティング・デバイスは、サービスに関連付けられたホスト・コンピューティング・サーバに、マルチメディア・ファイルをサービスにアップロードするためのアップロード要求を送る。特定の実施形態では、ホスト・コンピューティング・デバイスは、アップロード要求を受信したとき、サービスに関連するマルチメディア・ファイルのアップロード、トランスコーディング、および記憶を実施するために、アクティブな切り離された、すなわちサードパーティのトランスコーディング・サーバのリストを識別する。特定の実施形態では、アクティブなトランスコーディング・サーバのリストが識別された後で、ホスト・コンピューティング・サーバは、識別されたトランスコーディング・サーバのリストと、1つまたは複数のアップロード・ポリシ、および固定時間に失効するアクセス・トークンをさらに備えるジョブ構成情報と共に、クライアント・コンピューティング・デバイスに返信を返送することができる。アクセス・トークンは、所与の持続時間の間、マルチメディア・ファイルをアップロードするために識別されたトランスコーディング・サーバのそれぞれに対するクライアント・コンピューティング・デバイスのアクセスを許可するために使用されてもよい。
特定の実施形態では、クライアント・コンピューティング・デバイスは、トランスコーディング・サーバをリストから選択し、ジョブ構成情報を選択されたトランスコーディング・サーバに送ることができる。選択されたトランスコーディング・サーバは、アクセス・トークンを検証し、その後、ネットワークを使用してクライアント・コンピューティング・デバイスからマルチメディア・ファイルのアップロードを許可することができる。アップロードが完了した後で、トランスコーディング・サーバは、マルチメディア・ファイルを標的符号化フォーマットにトランスコーディングし、トランスコーディングされたマルチメディア・ファイルを、結合されたストレージ・システム内に記憶し、アップロードの完了を示すジョブ応答をクライアント・コンピューティング・デバイスに送ることができる。
特定の実施形態では、クライアント・コンピューティング・デバイスは、トランスコーディング・サーバから受信されたジョブ応答をホスト・コンピューティング・デバイスに転送することができる。その後、選択されたトランスコーディング・サーバは、他の作業に使用可能とされてよい。
特定の実施形態では、ホスト・コンピューティング・デバイスによって送られ、クライアント・コンピューティング・デバイスによって受信された返信は、クライアント・コンピューティング・デバイスからトランスコーディング・サーバへのアップロード中に障害が発生した場合、フェールオーバを許可する。
上記で開示されている実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示されている実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべて、一部を含むことも、どれも含まないこともある。
図1は、サービスに関連付けられたマルチメディア・ファイルをアップロード、トランスコーディング、および記憶するための例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク160によって互いに接続されているユーザ110、クライアント・コンピューティング・デバイス120、サービス・システム130、およびメディア・システム170を含む。図1は、ユーザ110、クライアント・コンピューティング・デバイス120、サービス・システム130、メディア・システム170、ネットワーク160の特定の構成を示すが、本開示は、ユーザ110、クライアント・コンピューティング・デバイス120、サービス・システム130、メディア・システム170、ネットワーク160の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・コンピューティング・デバイス120、サービス・システム130、およびメディア・システム170の2以上が互いに直接接続され、ネットワーク160をバイパスしてもよい。限定するものとしてではなく別の例として、クライアント・コンピューティング・デバイス120、サービス・システム130、およびメディア・システム170の2以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。限定するものとしてではなく別の例として、メディア・システム170は、サービス・システム130から分離され、そこから独立して動作するサードパーティ・システムであってもよい。図1は、特定の数のユーザ110、クライアント・コンピューティング・デバイス130、サービス・システム130、メディア・システム170、およびネットワーク160を示すが、本開示は、任意の好適な数のユーザ110、クライアント・コンピューティング・デバイス120、サービス・システム130、メディア・システム170、およびネットワーク160を企図する。限定するものとしてではなく一例として、ネットワーク環境100は、複数のユーザ110、クライアント・コンピューティング・デバイス120、サービス・システム130、メディア・システム170、およびネットワーク160を含んでもよい。各サービス・システム130は、1つまたは複数のホスト・コンピューティング・サーバ132をさらに含んでもよく、各メディア・システム170は、1つまたは複数のトランスコーディング・サーバ172、および1つまたは複数の結合されたストレージ・システム174をさらに備えてもよい。図1は、メディア・システム170の特定の実施形態を示すが、本開示は、各メディア・システム170に関連付けられたトランスコーディング・サーバ172およびストレージ・システム174の任意の好適な構成を企図する。限定するものとしてではなく一例として、1つまたは複数のトランスコーディング・サーバ172は、全体として、または部分的に1つまたは複数のストレージ・システム174に直接、物理的に、および電気的に結合されてもよい。限定するものとしてではなく別の例として、1つまたは複数のトランスコーディング・サーバ172は、全体として、または部分的に、1つまたは複数のストレージ・システム174と論理的に同じ場所にあり、通信可能に結合されてもよい。限定するものとしてではなく別の例として、トランスコーディング・サーバ172は、ホスト・コンピューティング・サーバ130から分離され、そこから独立して動作してもよい。
特定の実施形態では、ユーザ110は、サービス・システム130と、またはサービス・システム130を通じて対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業体、事業体、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。限定するものとしてではなく例として、サービス・システム130は、ビデオ、音楽、およびピクチャ・データに関連付けられたオンライン・ホスティングおよび共有サービスを含んでもよい。特定の実施形態では、サービス・システム130は、オンライン・ソーシャル・ネットワークによってホストされるネットワーク・アドレス可能なコンピューティング・システムであってもよい。そのような実施形態では、サービス・システム130は、データを生成し、記憶し、受信し、送ることができる。限定するものとしてではなく例として、データは、ユーザプロフィール・データ、ユーザ・マルチメディア・データ、コンセプトプロフィール・データ、ソーシャルグラフ情報、位置情報、オンライン取引、または他の好適なデータであってよい。
各サービス・システム130は、ネットワーク環境100の他の構成要素によって、直接、またはネットワーク160を通じてアクセスされてもよい。特定の実施形態では、各サービス・システム130は、ユーザ110がたとえば適切なプライバシ設定を設定することによって、自分達の識別情報をサービス・システム130によってログさせることにオプトインもしくはオプトアウトすること、または他のシステム(たとえば、メディア・システム170)とユーザ・データを共有することを可能にする認可サーバを含むことができる。ユーザのプライバシ設定は、そのユーザに関連付けられたどの情報がログされてもよいか、そのユーザに関連付けられた情報がどのようにログされてもよいか、そのユーザに関連付けられた情報がいつログされてもよいか、そのユーザに関連付けられた情報を誰がログしてもよいか、そのユーザに関連付けられた情報が誰と共有されてもよいか、および何の目的でそのユーザに関連付けられた情報がログまたは共有されてもよいか決定することができる。認可サーバは、ブロッキング、データ・ハッシング、匿名化、または他の好適な技法を適宜通じて、サービス・システム130のユーザの1つまたは複数のプライバシ設定を施行するために使用されてもよい。
特定の実施形態では、各メディア・システム170は、1つまたは複数のクライアント・コンピューティング・デバイス120からのマルチメディア・ファイルをアップロードおよびトランスコーディングし、トランスコーディングされたマルチメディア・ファイルを1つまたは複数のストレージ・システム174内で記憶するために1つまたは複数のトランスコーディング・サーバ172を備えるネットワーク・アドレス可能なコンピューティング・システムであってもよい。各トランスコーディング・サーバ172は、ユニフォーム・リソース・ロケータ(URL)、または他の任意の好適なネットワーク・アドレスを適宜備えるアドレスを有してもよい。限定するものとしてではなく一例として、マルチメディア・ファイルという用語は、デジタル・フォーマットで記憶された1つもしくは複数のビデオ・クリップ、1つもしくは複数の画像、または1つもしくは複数のオーディオ・クリップを指すことがある。各メディア・システム170は、たとえばデジタル・ビデオ・クリップ、デジタル画像もしくはデジタル・オーディオ・クリップ、またはデジタル・フォーマットで記憶されたビデオ・クリップ、画像、もしくはオーディオ・クリップなどマルチメディア・ファイルを獲得し、トランスコーディングし、記憶することができる。各メディア・システム170は、ネットワーク環境100の他の構成要素によって、直接、またはネットワーク160を通じてアクセスされてもよい。特定の実施形態では、各ユーザ110は、1つまたは複数のクライアント・コンピューティング・デバイス120を使用し、サービス・システム130またはメディア・システム170にアクセスし、そこへデータを送り、そこからデータを受信することができる。クライアント・コンピューティング・デバイス120は、サービス・システム130またはメディア・システム170に直接、ネットワーク160を通じて、またはサードパーティ・システムを通じてアクセスすることができる。限定するものとしてではなく一例として、クライアント・コンピューティング・デバイス120は、サービス・システム130を通じてメディア・システム170にアクセスすることもできる。クライアント・コンピューティング・デバイス120は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、セルラ電話、スマートフォン、デジタル・カメラ、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
この開示は、任意の好適なネットワーク160を企図する。限定するものとしてではなく一例として、ネットワーク160の1または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク160は、1または複数のネットワーク160を含んでもよい。 リンク150は、クライアント・コンピューティング・デバイス120、サービス・システム130、およびメディア・システム170を通信ネットワーク160に、または互いに接続することができる。この開示は、任意の好適なリンク150を企図する。特定の実施形態では、1または複数のリンク150は、1または複数の有線(たとえば、デジタル加入者線(DSL)またはDOCSIS(Data Over Cable Service Interface Specification)など)、無線(たとえば、WiMAX(Wi−FiまたはWorldwide interoperability for Microwave
Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)によるリンクを含む。特定の実施形態では、1または複数のリンク150は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同じであることを必要としない。1または複数の第1のリンク150は、1または複数の点で1または複数の第2のリンク150と異なってもよい。
図2は、クライアント・コンピューティング・デバイス120からショート・ビデオをアップロードおよびトランスコーディングするための例示的なシステム200を示す。特定の実施形態では、各クライアント・コンピューティング・デバイス120(またはクライアント・デバイス120)は、1つまたは複数の一体化されたカメラ、または1つまたは複数の外部カメラに対するインターフェースを含んでもよい。特定の実施形態では、各クライアント・デバイス120は、1つまたは複数のデジタル・カメラを含んでもよく、デジタル・カメラは、画像またはビデオをデジタル・フォーマットで記録または記憶するデバイスを指すことができる。特定の実施形態では、デジタル・カメラは、たとえば電荷結合素子(CCD)イメージ・センサ、または相補型金属酸化物半導体(CMOS)アクティブピクセル・センサなど、イメージ・センサを含んでもよい。特定の実施形態では、各クライアント・デバイス120は、音声を記録するために1つまたは複数のマイクロフォンを含んでもよい。本明細書では、「カメラ」という用語はデジタル・カメラを指すことができ、「ビデオ」という用語は、デジタル・ビデオ、またはデジタル・フォーマットで記録もしくは記憶されたビデオを指すことができ、デジタル・フォーマットは、限定するものではないが、MOTION PICTURE EXPERTS GROUP 4(MPEG−4)、MPEG−2、MPEG−1、WINDOWS(登録商標)MEDIA
VIDEO(WMV)、H.264、およびAdvanced Video Coding(AVC)を含んでもよい。本開示は、任意の好適な物理形態をとり、任意の好適なカメラおよび任意の好適なマイクロフォンを含む任意の好適なクライアント・デバイス120を企図する。
特定の実施形態では、「ビデオ」という用語は、ビデオ記録の離散的なセクションまたは特定の長さを指すことができる。特定の実施形態では、ビデオは、たとえば記録の1回の開始(たとえば、「録画」ボタンを押すこと)と、それに続くその後の記録の1回の終了(たとえば、「停止」ボタンを押すこと)によるなど、1回の記録イベントで生じる記録されたビデオの任意の好適な長さを指すことができる。特定の実施形態では、ビデオは、任意の好適な組合せまたは一連の2以上のビデオ記録イベントを指すことができる。特定の実施形態では、ショート・ビデオ(またはショート・ビデオ・ファイルもしくはショート・マルチメディア・ファイル)は、約1秒、5秒、10秒、15秒、20秒、30秒、もしくは1分の持続時間、または任意の好適な持続時間を有してもよい。
特定の実施形態では、画像フレームは、ビデオの1つの静止画像を指すことができ、ビデオは、共に組み合わされてビデオ記録を形成する1つまたは複数の画像フレームを含んでもよい。特定の実施形態では、ビデオは、1秒当たり約24フレーム(FPS)、25FPS、30FPSのフレーム・レート、または任意の好適なフレーム・レートを有してもよく、フレーム・レートは、記録または再生されている間の、ビデオの1秒当たりの静止画像またはビデオ・フレームの数を指すことができる。本開示は、特定の持続時間およびフレーム・レートを有し、1つまたは複数の記録イベントを含む特定のビデオについて述べ例示しているが、本開示は、任意の好適な数の記録イベントを含み、任意の好適な持続時間およびフレーム・レートを有する任意の好適なビデオを企図する。
特定の実施形態では、ホスト・コンピューティング・サーバ132は、クライアント・デバイス120からアップロード要求を受信することができ、アップロード要求は、ショート・ビデオに関連付けられ得る。図2の例では、クライアント・デバイス120は、ステップ250Aを通じて、アップロード要求をホスト・コンピューティング・サーバ132に送ることができ、この要求は、ビデオをアップロード、トランスコーディング、および記憶するための要求を含んでもよい。この要求の内容は、ビデオの説明、要求に関連付けられたサービスのタイプ、ショート・ビデオを符号化するために使用された元の符号化フォーマットの説明、クライアント・デバイスのネットワーク・アドレス、およびアップロードに関連付けられた1つまたは複数のポリシを備えることができる。図2では、ホスト・コンピューティング・サーバ132は、アップロード要求プロセスを調整、管理、または指揮することができるが、ショート・ビデオのアップロードまたはトランスコーディングを実施しないことがある。
特定の実施形態では、ホスト・コンピューティング・サーバ132は、アップロード要求に応答して、アップロード要求の要素を解析し、ショート・ビデオのアップロード要求に最良のサービスを提供し得る1つまたは複数のトランスコーディング・サーバ172の可用性をチェックすることができる。特定の実施形態では、ホスト・コンピューティング・サーバ132は、これらの要素を解析し、ショート・ビデオをアップロードまたはトランスコーディングするために、最適な標的符号化フォーマット、ショート・ビデオの標的符号化フォーマットおよび現在の符号化フォーマットに関連付けられたアルゴリズム・プロセス、ならびに1つまたは複数のタイプのトランスコーディング・サーバ172を決定することができる。この決定は、要求の1つまたは複数のセキュリティ面、アップロードされるビデオのサイズ、ビデオの再現に関連付けられた1つまたは複数の品質面、トランスコーディングのための推定処理時間、トランスコーディングされるビデオの推定サイズ、アップロードおよびトランスコーディングのための「タイムアウト」制限、ならびにストレージ・システム174の記憶容量を備える要素に依存し得る。
他の形態の実施形態では、ホスト・コンピューティング・サーバ132は、各ビデオをトランスコーディングするために標準的な標的符号化フォーマット、および関連のアルゴリズム・プロセスを使用してもよい。標準的な標的符号化フォーマットは、クライアント・デバイス120からのビデオのサブセット、またはそれらのすべてを変換するために均一かつ一貫した符号化フォーマットが望ましいものであり得る場合、使用されてもよい。クライアント・デバイス120は標的符号化フォーマットをサポートしないことがあり、または、標的符号化フォーマットが、クライアント・デバイス120上でビデオおよび他のマルチメディア・ファイルを記憶するために使用された元の符号化フォーマットより適切なサポートされたフォーマットであることがある。特定の実施形態では、標的符号化フォーマットは、限定するものではないが圧縮性能、スケーラビリティ、使いやすさ、および費用対効果の点で、クライアント・デバイス120内にビデオおよび他のマルチメディア・ファイルを記憶するために使用された元の符号化フォーマットより優れていてもよい。
アップロード要求の要素の解析が完了したら、ホスト・コンピューティング・サーバ132は、その後、アップロード要求を処理するために、複数の使用可能かつ適切なトランスコーディング・サーバ172を識別することができる。特定の実施形態では、ホスト・コンピューティング・サーバ172は、アップロード要求を処理するために、複数の使用可能かつ適切なトランスコーディング・サーバ172を選択するとき、負荷分散を実施することができる。特定の実施形態では、ホスト・コンピューティング・サーバ132は、クライアント・デバイス120がビデオをアップロードするために、識別された複数のトランスコーディング・サーバ172からトランスコーディング・サーバ172のランダムなサブセットをさらに選択することも、アルゴリズムに従ってサブセットを選択することもできる。特定の実施形態では、ホスト・コンピューティング・サーバ132は、トランスコーディング・サーバ172を能動的または受動的に識別および選択することができる。ホスト・コンピューティング・サーバ132は、識別および選択の1つの能動的な実施形態により、選択されたトランスコーディング・サーバのための「タイムアウト」制限が満了した場合、選択されたトランスコーディング・サーバ172の1つを別のものに置き換えることができる。識別および選択の1つの受動的な実施形態では、ホスト・コンピューティング・サーバ132は、クライアント・デバイス120から要求を受信しない限り、識別および選択されたトランスコーディング・サーバ172を変更しないことがある。
特定の実施形態では、ホスト・コンピューティング・サーバ132は、アップロード要求に応答して、ステップ205Bを通じて、クライアント・デバイス120に返信を送ることができる。返信は、アップロードのためのジョブ構成情報、およびトランスコーディング・サーバ172に関連付けられたアドレスのリストを備えることができ、各トランスコーディング・サーバ172は、アップロード要求を処理するためにホスト・コンピューティング・サーバ132によって識別および選択されている。特定の実施形態では、ジョブ構成情報は、アップロードのための1つまたは複数のポリシを定義してもよく、これらのポリシは、限定するものではないがネットワークの上でのアップロード要求に対する認証および許可、アップロードされることになるビデオの識別、クライアント・デバイス120の識別、ビデオに関連付けられたユーザの識別、ビデオの持続時間(たとえば、15秒)、ビデオのサイズ(たとえば、10メガバイト)、ビデオについての時間制限、ビデオについてのサイズ制限、ビデオがどのフォーマットにあるかを示す標識、所望の標的符号化フォーマットを示す標識、標的トランスコーディング・プロセスを示す標識、ビデオに関連付けられたアクセス許可に関する条件、制約、および設定の概要を示し得る。
特定の実施形態では、ジョブ構成情報は、1つまたは複数のトランスコーディング・サーバ172にアクセスするためにクライアント・デバイス120を識別および検証するための、またクライアント・デバイス120が所定の持続時間後、トランスコーディング・サーバ172にアクセスすることができないように、その後ジョブ構成情報が失効する、または無効になる失効時間を確立するためのアクセス・トークンをさらに備えることができる。限定するものとしてではなく一例として、ジョブ構成情報は、ホスト・コンピューティング・サーバ132からクライアント・デバイス120に送られた1時間後に失効してもよい。特定の実施形態では、返信、または返信のサブセットは、ホスト・コンピューティング・サーバ132とクライアント・デバイス120の間の共有鍵暗号化に基づいて暗号化されてもよい。他の実施形態では、ジョブ構成情報は、ホスト・コンピューティング・サーバ132と、1つまたは複数のトランスコーディング・サーバ172と、クライアント・デバイス120との間の共有鍵暗号化に基づいて暗号化されてもよい。
特定の実施形態では、返信は、クライアント・デバイス120からトランスコーディング・サーバ172へのビデオのアップロード中に障害が生じた場合、フェールオーバを許可することができる。フェールオーバは、低レイテンシでユーザ110にとって透過的にアップロードの順調な速い再開を確実にし得る。特定の実施形態では、現在のジョブ構成情報が失効していない場合、クライアント・デバイス120は、所定の最大数の試行まで、アクセス・トークンを用いて、同じトランスコーディング・サーバ172に接触し、最後の状態からアップロードを再開しようと試みることができる。特定の実施形態では、現在のジョブ構成情報が失効した場合、または現在のトランスコーディング・サーバ172がアクセスに使用可能でない場合、クライアント・デバイス120は、同じアクセス・トークンを用いて、ジョブ構成情報からの異なるトランスコーディング・サーバ172に接触し、ビデオの始めからアップロードを再スタートしようと試みてもよい。特定の実施形態では、現在のジョブ構成情報が失効し、ジョブ構成情報からのすべてのトランスコーディング・サーバ172がアクセスに使用可能でない場合、クライアント・デバイス120は、ホスト・コンピューティング・サーバ132に新しいアップロード要求を送ってもよい。
特定の実施形態では、クライアント・デバイス120は、アドレスの1つを選択し、ジョブ構成情報を、ステップ250Cを通じて、選択されたアドレスに関連付けられたトランスコーディング・サーバ172に送ることができる。特定の実施形態では、選択されたトランスコーディング・サーバ172は、ジョブ構成情報を受信したとき、含まれているアクセス・トークンが有効であるかどうか決定することができる。アクセス・トークンが有効である場合、続いて、選択されたトランスコーディング・サーバ172は、ジョブ構成情報内に記憶された1つまたは複数のポリシに従って、クライアント・デバイス120へのアクセスを認めてもよい。特定の実施形態では、アップロード・モジュール210が、アップロードをバッファしアップロードをネットワーク切断から再開することに対処する既存の通信プロトコルを使用することができる。他の特定の実施形態では、通信プロトコルは、アップロード要求の1つまたは複数の要素によって予め決定されてもよい。限定するものとしてではなく例として、データのアップロードを管理するために使用される通信プロトコルは、伝送制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、ファイル転送プロトコル(FTP)、簡易メール転送プロトコル(SMTP)、およびハイパーテキスト転送プロトコル・セキュア(HTTPS)を含んでもよい。
特定の実施形態では、クライアント・デバイス120は、そのサイズが現在のネットワーク・データ転送速度に基づいて自動的に調整されるチャンクでビデオをアップロードしてもよい。クライアント・デバイス120とトランスコーディング・サーバ172の間での、データ・アップロードのためのチャンクのこの自動サイズ決定は、ビデオの高速、確実、かつ順調なアップロード、およびネットワーク切断から回復する間の低オーバーヘッド・トラフィックを可能にする助けとなる。具体的には、限定するものとしてではなく一例として、アップロードに伴うネットワーク処理コストは、ネットワーク・データ転送速度が増大するにつれて、アップロードされたビデオを転送するために必要とされるチャンクの総数が減少するので、低減され得る。特定の実施形態では、各チャンクのサイズは、クライアント・デバイス120またはトランスコーディング・サーバ172によって決定されてもよく、限定するものではないが通信プロトコル、現在のアップロード速度、オーバーヘッド再開トラフィックの所望の持続時間、ネットワーク処理コスト、およびリンク150の通信帯域幅を含む要因に依存し得る。限定するものとしてではなく一例として、アップロードされることになる次のチャンクのサイズは、オーバーヘッド再開トラフィックの所望の持続時間と現在のアップロード速度の積によって決定され得る。限定するものとしてではなく例として、アップロード・モジュール210は、NGINX、Apache HTTP Server、Apache Tomcat、およびTiny−Turbo−Throttling HTTP Server(THTTPD)を含んでもよい。
特定の実施形態では、アップロードが完了した後で、トランスコーダ・モジュール220がショート・ビデオをその元の符号化デジタル・フォーマットから、限定するものではないがH.264、高効率ビデオコーディング(HEVC)、およびH.264/MPEG−4 AVCを含んでもよい標的符号化デジタル・フォーマットに変換することができる。トランスコーディングは、セキュリティのために、クライアント側ではなくサーバ側で実施される。さらに、トランスコーダ・モジュール220へのソフトウェア・アップロードは、新しいソフトウェア・バージョンがクライアント・デバイス120にダウンロードされなくてもよいので、サーバ側からより容易に実装することができ、これは、既存のクライアント・デバイス120に対するサポート、およびクライアント・デバイス120の新しいバージョンをサポートするための修正をより容易にする。トランスコーダ・モジュール220をクライアント・デバイス120ではなくトランスコーディング・サーバ172内に実装することにより、サービスもまた、標的符号化フォーマットおよびジョブ構成をより効率的に制御および修正することができる。限定するものとしてではなく例として、トランスコーダ・モジュール220は、FFMPEG、Dr.DivX、およびMEncoderを含んでもよい。
特定の実施形態では、トランスコーディング・サーバ172は、トランスコーディング・プロセスが完了したとき、トランスコーディングされたファイルを、ステップ250Dを通じて、1つまたは複数の結合されたストレージ・システム174内で記憶することができる。限定するものとしてではなく例として、ストレージ・システム174は、1つまたは複数の冗長ハード・ドライブ、および1つまたは複数の冗長フラッシュ・ドライブを含んでもよい。
特定の実施形態では、トランスコーディング・サーバ172は、ビデオのアップロード、トランスコーディング、およびトランスコーディング済みとしてストレージ・システム174上での記憶が完了したとき、ジョブ応答を、ステップ250Eを通じてクライアント・デバイス120に送ることができる。特定の実施形態では、ジョブ応答は、アップロードの完了を示す1つまたは複数のパラメータを含んでもよく、これらのパラメータは、限定するものではないが、トランスコーディングされたビデオの識別、クライアント・デバイス120の識別、ビデオに関連付けられた1人または複数のユーザの識別、トランスコーディングされたビデオのサイズ(たとえば、10メガバイト)、ビデオがどの最終的な符号化フォーマットにあるかを示す標識、記憶されたビデオの場所の識別、およびビデオに関連付けられた1つまたは複数のセキュリティ・ポリシを含んでもよい。
特定の実施形態では、クライアント・デバイス120は、トランスコーディング・サーバ172からジョブ応答を受信したとき、ステップ250Fを通じてジョブ応答をホスト・コンピューティング・サーバ132に転送することができ、ジョブの完了を示し、選択されたトランスコーディング・サーバ172を他のメディア・ジョブのために使用可能にする。
図2は、マルチメディア・ファイルの特定の例としてショート・ビデオを示しているが、本開示は、限定するものではないがショート・オーディオ・クリップまたは小さい画像を備える任意の他の好適なタイプのマルチメディア・ファイルを企図する。特定の実施形態では、マルチメディア・ファイルは、マルチメディア・ビデオ・クリップ、マルチメディア画像、デジタル・ビデオ・クリップ、ビデオ・クリップ、またはビデオとも呼ばれることがある。特定の実施形態では、マルチメディア・ファイルは、連続する画像の形態にあるビデオ、オーディオ・ファイルの形態にある音声記録、ビデオとオーディオの組合せ、または任意の好適なメディアの任意の好適な組合せを含んでもよい。デジタル・カメラを含むクライアント・デバイス120を使用し、マルチメディア・ファイルを記録することができる。図2は、特定のステップ250A〜Fでリンク150を通じて、特定の順序で行われる、クライアント・デバイス120からマルチメディア・ファイルをアップロードおよびトランスコーディングするための例示的なシステムについて述べ例示しているが、本開示は、リンク150を通じて任意の好適な順序で行われる、システムに関連付けられた任意の好適なステップ250A〜Fを企図する。さらに、本開示は、図2のシステムの特定のステップ250A〜Fを含む、クライアント・デバイス120からショート・ビデオをアップロードおよびトランスコーディングする例示的な方法について述べ例示しているが、本開示は、適宜、図2のシステムのステップ250A〜Fのすべて、一部を含むことも、どれも含まないこともある任意の好適なステップを含む、クライアント・デバイス120からショート・ビデオをアップロードおよびトランスコーディングするための任意の好適な方法を企図する。さらに、本開示は、図2のシステムの特定のステップ250A〜Fを実施する特定の構成要素、デバイス、またはシステムについて述べ例示しているが、本開示は、図2のシステムの任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。限定するものとしてではなく一例として、トランスコーディング・サーバ172は、ビデオをストレージ・システム174内で記憶する前に(ステップ250D)、またファイルをトランスコーディングすることが完了したことに続いて、ジョブ応答をクライアント・デバイス120に送ってもよい(ステップ250E)。
図3は、マルチメディア・ファイルをアップロードするためにクライアント・コンピューティング・デバイスと通信するホスト・コンピューティング・サーバの例示的なフローチャートを示す。この方法は、ホスト・コンピューティング・サーバ132が、クライアント・デバイス120からマルチメディア・ファイルをサービスにアップロードするための要求を、クライアント・デバイス120から受信するステップ310で始まることができる。限定するものとしてではなく一例として、マルチメディア・ファイルという用語は、デジタル・フォーマットで記憶された1つもしくは複数のビデオ・クリップ、1つもしくは複数の画像、または1つもしくは複数のオーディオ・クリップを指すことがある。特定の実施形態では、マルチメディア・ファイルは、連続する画像の形態にあるビデオ、オーディオ・ファイルの形態にある音声記録、ビデオとオーディオの組合せ、または任意の好適なメディアの任意の好適な組合せを含んでもよい。デジタル・カメラを含むクライアント・デバイス120を使用し、マルチメディア・ファイルを記録することができる。この要求の内容は、マルチメディア・ファイルのタイプの説明、マルチメディア・ファイルを符号化するために使用された元の符号化フォーマットの説明、要求に関連付けられたサービスのタイプ、クライアント・デバイスのネットワーク・アドレス、およびアップロードに関連付けられた1つまたは複数のポリシを備えることができる。
ステップ320では、ホスト・コンピューティング・サーバ132は、その要求のための1つまたは複数のトランスコーディング・サーバを決定することができる。ホスト・コンピューティング・サーバ132は、クライアント・コンピューティング・デバイス120から受信されたアップロード要求を解析し、アップロード要求を最もよく処理するためのトランスコーディング・サーバ172を識別することができる。特定の実施形態では、ホスト・コンピューティング・サーバ132は、マルチメディア・ファイルをアップロードまたはトランスコーディングするために、アップロード要求を解析し、最適な標的符号化フォーマット、マルチメディア・ファイルの標的符号化フォーマットおよび現在の符号化フォーマットに関連付けられたアルゴリズム・プロセス、ならびに1つまたは複数のタイプのトランスコーディング・サーバ172を決定することができる。この決定は、要求の1つまたは複数のセキュリティ面、マルチメディア・コンテンツのタイプ、マルチメディア・ファイルのサイズ、マルチメディア・ファイルの再現に関連付けられた1つまたは複数の品質面、トランスコーディングのための推定処理時間、トランスコーディングされるマルチメディア・ファイルの推定サイズ、アップロードおよびトランスコーディングのための「タイムアウト」制限、ならびにストレージ・システム174の記憶容量を備える要素に依存し得る。
他の形態の実施形態では、ホスト・コンピューティング・サーバ132は、各マルチメディアをトランスコーディングするために標準的な標的符号化フォーマット、および関連のアルゴリズム・プロセスを使用してもよい。標準的な標的符号化フォーマットは、クライアント・デバイス120からのマルチメディア・ファイルのサブセット、マルチメディア・ファイル全体、またはあるタイプのマルチメディア・ファイルを変換するために均一かつ一貫した符号化フォーマットが望ましいものであり得る場合、使用されてもよい。クライアント・デバイス120は標的符号化フォーマットをサポートしないことがあり、または、標的符号化フォーマットが、クライアント・デバイス120上でビデオおよび他のマルチメディア・ファイルを記憶するために使用された元の符号化フォーマットより適切なサポートされたフォーマットであることがある。特定の実施形態では、標的符号化フォーマットは、限定するものではないが圧縮性能、スケーラビリティ、使いやすさ、および費用対効果の点で、クライアント・デバイス120内にマルチメディア・ファイルを記憶するために使用された元の符号化フォーマットより優れていてもよい。
アップロード要求の要素の解析が完了したら、ホスト・コンピューティング・サーバ132は、その後、アップロード要求を処理するために、複数の使用可能かつ適切なトランスコーディング・サーバ172を識別することができる。特定の実施形態では、ホスト・コンピューティング・サーバ132は、識別された複数のトランスコーディング・サーバ172からトランスコーディング・サーバ172のランダムなサブセットを選択することも、アルゴリズムに従ってサブセットを選択することもできる。ステップ330では、ホスト・コンピューティング・サーバ132は、アップロードのためのジョブ構成情報と、トランスコーディング・サーバ172のアドレスのリストとを備える返信をクライアント・コンピューティング・デバイス120に送る。特定の実施形態では、ジョブ構成情報は、アップロードのための1つまたは複数のポリシを定義してもよく、これらのポリシは、限定するものではないがネットワークの上でのアップロード要求に対する認証および許可、アップロードされることになるマルチメディア・ファイルの識別、クライアント・デバイス120の識別、マルチメディア・ファイルに関連付けられたユーザの識別、マルチメディア・ファイルのサイズ(たとえば、10メガバイト)、マルチメディア・ファイルについてのサイズ限界、マルチメディア・ファイルがどのフォーマットにあるかを示す標識、所望の標的符号化フォーマットを示す標識、標的トランスコーディング・プロセスを示す標識、マルチメディア・ファイルに関連付けられたアクセス許可に関する条件、制約、および設定の概要を示し得る。
特定の実施形態では、ジョブ構成情報は、1つまたは複数のトランスコーディング・サーバ172にアクセスするためにクライアント・デバイス120を識別および検証するための、またクライアント・デバイス120が所定の持続時間後、トランスコーディング・サーバ172にアクセスすることができないように、その後ジョブ構成情報が失効する、または無効になる失効時間を確立するためのアクセス・トークンをさらに備えることができる。限定するものとしてではなく一例として、ジョブ構成情報は、ホスト・コンピューティング・サーバ132からクライアント・デバイス120に送られた1時間後に失効してもよい。特定の実施形態では、返信、または返信のサブセットは、ホスト・コンピューティング・サーバ132とクライアント・デバイス120の間の共有鍵暗号化に基づいて暗号化されてもよい。他の実施形態では、ジョブ構成情報は、ホスト・コンピューティング・サーバ132と、1つまたは複数のトランスコーディング・サーバ172と、クライアント・デバイス120との間の共有鍵暗号化に基づいて暗号化されてもよい。
特定の実施形態では、返信は、クライアント・デバイス120からトランスコーディング・サーバ172へのマルチメディア・ファイルのアップロード中に障害が生じた場合、フェールオーバを許可することができる。フェールオーバは、低レイテンシでユーザ110にとって透過的にアップロードの順調な速い再開を確実にし得る。特定の実施形態では、現在のジョブ構成情報が失効していない場合、クライアント・デバイス120は、所定の最大数の試行まで、アクセス・トークンを用いて、同じトランスコーディング・サーバ172に接触し、最後の状態からアップロードを再開しようと試みることができる。特定の実施形態では、現在のジョブ構成情報が失効した場合、または現在のトランスコーディング・サーバ172がアクセスに使用可能でない場合、クライアント・デバイス120は、同じアクセス・トークンを用いて、ジョブ構成情報からの異なるトランスコーディング・サーバ172に接触し、マルチメディア・ファイルの始めからアップロードを再スタートしようと試みてもよい。特定の実施形態では、現在のジョブ構成情報が失効し、ジョブ構成情報からのすべてのトランスコーディング・サーバ172がアクセスに使用可能でない場合、クライアント・デバイス120は、ホスト・コンピューティング・サーバ132に新しいアップロード要求を送ってもよい。
ステップ340では、ホスト・コンピューティング・サーバ132は、アップロードに成功したことを示すジョブ応答をクライアント・コンピューティング・デバイス120から受信し、この時点で、方法は終了してもよい。特定の実施形態では、ジョブ応答は、アップロードの完了を示す1つまたは複数のパラメータを含んでもよく、これらのパラメータは、限定するものではないが、トランスコーディングされたマルチメディア・ファイルの識別、クライアント・デバイス120の識別、マルチメディア・ファイルに関連付けられた1人または複数のユーザの識別、トランスコーディングされたマルチメディア・ファイルのサイズ(たとえば、10メガバイト)、マルチメディア・ファイルがどの最終的な符号化フォーマットにあるかを示す標識、記憶されたマルチメディア・ファイルの場所の識別、およびマルチメディア・ファイルに関連付けられた1つまたは複数のセキュリティ・ポリシを含んでもよい。特定の実施形態では、また、ジョブ応答は、選択されたトランスコーディング・サーバ172を他のメディア・ジョブのために使用可能にする。
特定の実施形態は、適宜、図3の方法の1つまたは複数のステップを繰り返すことがある。本開示は、図3の方法の特定のステップを特定の順序で行われるものとして述べ例示しているが、本開示は、任意の好適な順序で行われる図3の方法の任意の好適なステップを企図する。さらに、本開示は、図3の方法の特定のステップを含む、マルチメディア・ファイルをアップロードするためにホスト・コンピューティング・サーバ132がクライアント・コンピューティング・デバイス120と通信するための例示的な方法について述べ例示しているが、本開示は、適宜、図3の方法のステップのすべて、一部を含むことも、どれも含まないこともある任意の好適なステップを含む、マルチメディア・ファイルをアップロードするためにホスト・コンピューティング・サーバ132がクライアント・コンピューティング・デバイス120と通信するための任意の好適な方法を企図する。さらに、本開示は、図3の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて述べ例示しているが、本開示は、図3の方法の任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
図4は、マルチメディア・ファイルをアップロード、符号化、および記憶するためにクライアント・コンピューティング・デバイスと通信するトランスコーディング・サーバの例示的なデシジョン・フローチャートを示す。この方法は、トランスコーディング・サーバ172が、マルチメディア・ファイルをアップロードするためのジョブ構成情報をクライアント・コンピューティング・デバイス120から受信するステップ410で始まることができる。ジョブ構成情報は、1つまたは複数のトランスコーディング・サーバ172にアクセスするためにクライアント・デバイス120を識別および検証するための、またクライアント・デバイス120が所定の持続時間後、トランスコーディング・サーバ172にアクセスすることができないように、その後ジョブ構成情報が失効する、または無効になる失効時間を確立するためのアクセス・トークンをさらに備えることができる。
ステップ420では、トランスコーディング・サーバ172は、アクセス・トークンが有効であるかを決定することができる。アクセス・トークンが有効でない場合、トランスコーディング・サーバ172は、ステップ470に従って、アップロードに対するエラー応答をクライアント・コンピューティング・デバイス120に送る。特定の実施形態では、エラー応答は、クライアント・コンピューティング・デバイス120がマルチメディア・ファイルをアップロードするために異なるトランスコーディング・サーバ172に接触すること、または新しいアップロード要求をホスト・コンピューティング・サーバ132に送ることを可能にし得る。
アクセス・トークンが有効である場合、トランスコーディング・サーバ172は、ステップ430に従って、マルチメディア・ファイルをクライアント・コンピューティング・デバイス120から受信する。特定の実施形態では、トランスコーディング・サーバ172のアップロード・モジュール210が、アップロードをバッファしアップロードをネットワーク切断から再開することに対処する既存の通信プロトコルを使用することができる。他の特定の実施形態では、通信プロトコルは、アップロード要求の1つまたは複数の要素によって予め決定されてもよい。限定するものとしてではなく例として、データのアップロードを管理するために使用される通信プロトコルは、伝送制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、ファイル転送プロトコル(FTP)、簡易メール転送プロトコル(SMTP)、およびハイパーテキスト転送プロトコル・セキュア(HTTPS)を含んでもよい。
特定の実施形態では、クライアント・デバイス120は、そのサイズが現在のネットワーク・データ転送速度に基づいて自動的に調整されるチャンクでマルチメディア・ファイルをアップロードしてもよい。クライアント・デバイス120とトランスコーディング・サーバ172の間での、データ・アップロードのためのチャンクのこの自動サイズ決定は、マルチメディア・ファイルの高速、確実、かつ順調なアップロード、およびネットワーク切断から回復する間の低オーバーヘッド・トラフィックを可能にする助けとなる。具体的には、限定するものとしてではなく一例として、アップロードに伴うネットワーク処理コストは、ネットワーク・データ転送速度が増大するにつれて、アップロードされたマルチメディア・ファイルを転送するために必要とされるチャンクの総数が減少するので、低減され得る。特定の実施形態では、各チャンクのサイズは、クライアント・デバイス120またはトランスコーディング・サーバ172によって決定されてもよく、限定するものではないが通信プロトコル、現在のアップロード速度、オーバーヘッド再開トラフィックの所望の持続時間、ネットワーク処理コスト、およびリンク150の通信帯域幅を含む要因に依存し得る。限定するものとしてではなく一例として、アップロードされることになる次のチャンクのサイズは、オーバーヘッド再開トラフィックの所望の持続時間と現在のアップロード速度の積によって決定され得る。限定するものとしてではなく例として、アップロード・モジュール210は、NGINX、Apache HTTP Server、Apache Tomcat、およびTiny−Turbo−Throttling HTTP Server(THTTPD)を含んでもよい。
ステップ440では、トランスコーディング・サーバ172は、マルチメディア・ファイルをトランスコーディングする。特定の実施形態では、トランスコーディング・サーバ172のトランスコーダ・モジュール220が、マルチメディア・ファイルを、その元の符号化デジタル・フォーマットから、マルチメディア・ファイルのタイプに依存する標的符号化デジタル・フォーマットに変換することができる。ファイルがビデオを備える場合、標的符号化デジタル・フォーマットは、限定するものではないがH.264、高効率ビデオコーディング(HEVC)、H.264/MPEG−4 AVC、および知的所有権のあるフォーマットを含んでもよい。ファイルがオーディオ・ストリームを備える場合、標的符号化デジタル・フォーマットは、限定するものではないがMoving Picture Experts Group(MPEG4)、Real、MP3、Advanced Audio Coding(AAC)、および知的所有権のあるフォーマットを含んでもよい。ファイルが1つまたは複数の画像を備える場合、標的符号化デジタル・フォーマットは、限定するものではないが、Tagged Image File Format(TIFF)、Joint Photographic Expert Group(JPEG)、JPEG2000、および知的所有権のあるフォーマットを含んでもよい。トランスコーディングは、セキュリティのために、クライアント側ではなくサーバ側で実施される。さらに、トランスコーダ・モジュール220へのソフトウェア・アップロードは、新しいソフトウェア・バージョンがクライアント・デバイス120にダウンロードされなくてもよいので、サーバ側からより容易に実装することができ、これは、既存のクライアント・デバイス120に対するサポート、およびクライアント・デバイス120の新しいバージョンをサポートするための修正をより容易にする。トランスコーダ・モジュール220をクライアント・デバイス120ではなくトランスコーディング・サーバ172内に実装することにより、サービスもまた、標的符号化フォーマットおよびジョブ構成をより効率的に制御および修正することができる。限定するものとしてではなく例として、トランスコーダ・モジュール220は、FFMPEG、Dr.DivX、およびMEncoderを含んでもよい。
ステップ450では、トランスコーディング・サーバ172は、トランスコーディングされたマルチメディア・ファイルを1つまたは複数のストレージ・システム174内に記憶する。限定するものとしてではなく例として、ストレージ・システム174は、1つまたは複数の冗長ハード・ドライブ、および1つまたは複数の冗長フラッシュ・ドライブを含んでもよい。
ステップ460では、トランスコーディング・サーバ172は、アップロードの完了を示すジョブ応答をクライアント・コンピューティング・デバイス120に送り、この時点で、方法は終了してもよい。特定の実施形態では、ジョブ応答、または応答のサブセットは、ホスト・コンピューティング・サーバ132と、クライアント・デバイス120と、トランスコーディング・サーバ172との間の共有鍵暗号化に基づいて暗号化されてもよい。特定の実施形態では、また、ジョブ応答は、それ自体を他のメディア・ジョブのために使用可能にする。
特定の実施形態は、適宜、図4の方法の1つまたは複数のステップを繰り返すことがある。本開示は、図4の方法の特定のステップを特定の順序で行われるものとして述べ例示しているが、本開示は、任意の好適な順序で行われる図4の方法の任意の好適なステップを企図する。さらに、本開示は、図4の方法の特定のステップを含む、マルチメディア・ファイルをアップロード、符号化、および記憶するためにクライアント・コンピューティング・デバイス120と通信するトランスコーディング・サーバ172のための例示的な方法について述べ例示しているが、本開示は、適宜、図4の方法のステップのすべて、一部を含むことも、どれも含まないこともある任意の好適なステップを含む、マルチメディア・ファイルをアップロード、符号化、および記憶するためにクライアント・コンピューティング・デバイス120と通信するトランスコーディング・サーバ172のための任意の好適な方法を企図する。さらに、本開示は、図4の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて述べ例示しているが、本開示は、図4の方法の任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
図5は、例示的なコンピュータ・システム500を示す。特定の実施形態では、1または複数のコンピュータ・システム500は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム500は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム500上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム500の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを含んでもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを含んでもよい。
この開示は、任意の好適な数のコンピュータ・システム500を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム500を企図する。限定するものとしてではなく一例として、コンピュータ・システム500は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム500は、1または複数のコンピュータ・システム500を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータセンタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド構成要素を含んでもよい。適切な場合、1または複数のコンピュータ・システム500は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム500は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム500は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
特定の実施形態では、コンピュータ・システム500は、プロセッサ502、メモリ504、ストレージ506、入力/出力(I/O)インターフェース508、通信インターフェース510、およびバス512を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ502は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出し(またはフェッチし)、それらをデコードおよび実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込むことができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ502を企図する。限定するものとしてではなく一例として、プロセッサ502は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ504またはストレージ506内の命令のコピーであってもよく、命令キャッシュは、プロセッサ502によるこれらの命令の取り出しを高速化することができる。データ・キャッシュ内のデータは、プロセッサ502にて実行される命令が操作するための、メモリ504またはストレージ506内のデータのコピー、プロセッサ502で実行される後続の命令によるアクセスための、またはメモリ504もしくはストレージ506に書き込むための、プロセッサ502で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ502による読出しまたは書込み動作を高速化することができる。TLBは、プロセッサ502のために仮想アドレス変換を高速化することができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用に1または複数の内部レジスタを含むことができる。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ502を企図する。適切な場合、プロセッサ502は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ502を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ504は、プロセッサ502が実行するための命令、またはプロセッサ502が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム500は、ストレージ506または別のソース(たとえば、別のコンピュータ・システム500など)からメモリ504に命令をロードすることができる。次いで、プロセッサ502は、メモリ504から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ502は、内部レジスタまたは内部キャッシュから命令を取り出し、それらをデコードすることができる。命令の実行中、または実行後、プロセッサ502は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いで、プロセッサ502は、それらの結果の1または複数をメモリ504に書き込むことができる。特定の実施形態では、プロセッサ502は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ506もしくは他の場所ではなく)メモリ504内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ506もしくは他の場所ではなく)メモリ504内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ502をメモリ504に結合してもよい。バス512は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ502とメモリ504の間にあり、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ504は、適切な場合、1または複数のメモリ504を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
特定の実施形態では、ストレージ506は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ506は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ506は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ506は、適切な場合、コンピュータ・システム500に内蔵されていても外部にあってもよい。特定の実施形態では、ストレージ506は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ506は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ506を企図する。ストレージ506は、適切な場合、プロセッサ502とストレージ506の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ506は、1または複数のストレージ506を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース508は、コンピュータ・システム500と1または複数のI/Oデバイスとの間の通信のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム500は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム500の間の通信を可能にすることができる。限定するものとしてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース508を企図する。適切な場合、I/Oインターフェース508は、プロセッサ502がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース508は、適切な場合、1または複数のI/Oインターフェース508を含んでもよい。この開示は、特定のI/Oインターフェースについて記載し示しているが、この開示は、任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース510は、コンピュータ・システム500と1もしくは複数の他のコンピュータ・システム500または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース510は、イーサーネット(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース510を企図する。限定するものとしてではなく一例として、コンピュータ・システム500は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信することができる。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム500は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信することができる。コンピュータ・システム500は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース510を含んでもよい。通信インターフェース510は、適切な場合、1または複数の通信インターフェース510を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス512は、コンピュータ・システム500の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス512は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced industry Standard Architecture)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、low−pin−count(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス512は、適切な場合、1または複数のバス512を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラム可能ゲート・アレイ(FPGA)または特定用途向け集積回路(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー・ディスケット、フロッピー・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。
この開示の範囲は、当業者であれば理解されるであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解されるであろう、本明細書のどこかに記載され、または示されている構成要素、要素、特徴、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、有効にされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を含む。

Claims (20)

  1. 1以上のトランスコーディング・サーバが、ジョブ構成情報をクライアント・コンピューティング・デバイスから受信する工程であって、前記ジョブ構成情報は、アクセス・トークンと標的符号化フォーマットとを備える、工程と、
    前記1以上のトランスコーディング・サーバが、前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する工程と、
    前記1以上のトランスコーディング・サーバが、前記ジョブ構成情報のアクセス・トークンが有効であるかどうか決定する工程と、
    前記ジョブ構成情報のアクセス・トークンが有効である場合、前記1以上のトランスコーディング・サーバが、前記マルチメディア・ファイルを前記標的符号化フォーマットにトランスコーディングする工程と、
    前記1以上のトランスコーディング・サーバが、トランスコーディングされた前記マルチメディア・ファイルを記憶する工程と、
    前記1以上のトランスコーディング・サーバが、前記マルチメディア・ファイルをトランスコーディングすることと、トランスコードされた前記マルチメディア・ファイルを記憶することとの正常な完了を示すジョブ応答を前記クライアント・コンピューティング・デバイスに送る工程と、
    を備える方法。
  2. 前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する前記工程は、前記クライアント・コンピューティング・デバイスから前記マルチメディア・ファイルの1以上のチャンクを受信することを含む、請求項1に記載の方法。
  3. 前記マルチメディア・ファイルの1以上のチャンクの各々は、チャンクのサイズに関連付けられており、
    前記方法は、現在のアップロード速度に基づいて前記チャンクのサイズを設定する工程をさらに備える、請求項2に記載の方法。
  4. 前記ジョブ構成情報は、1以上のアップロード・ポリシを備え、前記1以上のアップロード・ポリシは、前記マルチメディア・ファイルの時間またはサイズの制限を指定する、請求項1に記載の方法。
  5. 前記ジョブ応答は、トランスコーディングされたビデオのサイズと前記トランスコーディングされたビデオに関連付けられている1以上のセキュリティ・ポリシとをさらに示す、請求項1に記載の方法。
  6. 前記ジョブ応答は、前記1以上のトランスコーディング・サーバと前記クライアント・コンピューティング・デバイスとの間の共有鍵暗号化に基づいて暗号化される、請求項1に記載の方法。
  7. 前記アクセス・トークンは、所定の持続時間後、失効する、請求項1に記載の方法。
  8. ソフトウェアを含む1以上の非一時的なコンピュータ可読記憶媒体であって、実行されたとき、前記ソフトウェアは、
    1以上のトランスコーディング・サーバが、ジョブ構成情報をクライアント・コンピューティング・デバイスから受信する工程であって、前記ジョブ構成情報は、アクセス・トークンと標的符号化フォーマットとを備える、工程と、
    前記1以上のトランスコーディング・サーバが、前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する工程と、
    前記1以上のトランスコーディング・サーバが、前記ジョブ構成情報のアクセス・トークンが有効であるかどうか決定する工程と、
    前記ジョブ構成情報のアクセス・トークンが有効である場合、前記1以上のトランスコーディング・サーバが、前記マルチメディア・ファイルを前記標的符号化フォーマットにトランスコーディングする工程と、
    前記1以上のトランスコーディング・サーバが、トランスコーディングされた前記マルチメディア・ファイルを記憶する工程と、
    前記1以上のトランスコーディング・サーバが、前記マルチメディア・ファイルをトランスコーディングすることと、トランスコードされた前記マルチメディア・ファイルを記憶することとの正常な完了を示すジョブ応答を前記クライアント・コンピューティング・デバイスに送る工程と、
    が行われるように構成される、媒体。
  9. 前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する前記工程は、前記クライアント・コンピューティング・デバイスから前記マルチメディア・ファイルの1以上のチャンクを受信することを含む、請求項8に記載の媒体。
  10. 前記マルチメディア・ファイルの1以上のチャンクの各々は、チャンクのサイズに関連付けられており、
    実行されたとき、前記ソフトウェアは、現在のアップロード速度に基づいて前記チャンクのサイズを設定する工程が行われるようにさらに構成される、請求項9に記載の媒体。
  11. 前記ジョブ構成情報は、1以上のアップロード・ポリシを備え、前記1以上のアップロード・ポリシは、前記マルチメディア・ファイルの時間またはサイズの制限を指定する、請求項8に記載の媒体。
  12. 前記ジョブ応答は、トランスコーディングされたビデオのサイズと前記トランスコーディングされたビデオに関連付けられている1以上のセキュリティ・ポリシとをさらに示す、請求項8に記載の媒体。
  13. 前記ジョブ応答は、前記1以上のトランスコーディング・サーバと前記クライアント・コンピューティング・デバイスとの間の共有鍵暗号化に基づいて暗号化される、請求項8に記載の媒体。
  14. 前記アクセス・トークンは、所定の持続時間後、失効する、請求項8に記載の媒体。
  15. 1以上のトランスコーディング・サーバを備えるシステムであって、各トランスコーディング・サーバは、
    1以上のプロセッサと、
    前記プロセッサに結合され、かつ、前記プロセッサによって実行可能な命令を備えるメモリと、を備え、
    前記命令が実行されるとき、前記プロセッサは、
    ジョブ構成情報をクライアント・コンピューティング・デバイスから受信する工程であって、前記ジョブ構成情報は、アクセス・トークンと標的符号化フォーマットとを備える、工程と、
    前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する工程と、
    前記ジョブ構成情報のアクセス・トークンが有効であるかどうか決定する工程と、
    前記ジョブ構成情報のアクセス・トークンが有効である場合、前記マルチメディア・ファイルを前記標的符号化フォーマットにトランスコーディングする工程と、
    トランスコーディングされた前記マルチメディア・ファイルを記憶する工程と、
    前記マルチメディア・ファイルをトランスコーディングすることと、トランスコードされた前記マルチメディア・ファイルを記憶することとの正常な完了を示すジョブ応答を前記クライアント・コンピューティング・デバイスに送る工程と、
    が行われるように構成される、システム。
  16. 前記クライアント・コンピューティング・デバイスからマルチメディア・ファイルを受信する前記工程は、前記クライアント・コンピューティング・デバイスから前記マルチメディア・ファイルの1以上のチャンクを受信することを含む、請求項15に記載のシステム。
  17. 前記マルチメディア・ファイルの1以上のチャンクの各々は、チャンクのサイズに関連付けられており、
    前記命令が実行されたとき、前記プロセッサは、現在のアップロード速度に基づいて前記チャンクのサイズを設定する工程が行われるようにさらに構成される、請求項16に記載のシステム。
  18. 前記ジョブ構成情報は、1以上のアップロード・ポリシを備え、前記1以上のアップロード・ポリシは、前記マルチメディア・ファイルの時間またはサイズの制限を指定する、請求項15に記載のシステム。
  19. 前記ジョブ応答は、トランスコーディングされたビデオのサイズと前記トランスコーディングされたビデオに関連付けられている1以上のセキュリティ・ポリシとをさらに示す、請求項15に記載のシステム。
  20. 前記ジョブ応答は、前記1以上のトランスコーディング・サーバと前記クライアント・コンピューティング・デバイスとの間の共有鍵暗号化に基づいて暗号化される、請求項15に記載のシステム。
JP2018127312A 2013-12-04 2018-07-04 メディア・ファイルのアップロードおよびトランスコーディング Active JP6561177B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/097,190 2013-12-04
US14/097,190 US9661106B2 (en) 2013-12-04 2013-12-04 Uploading and transcoding media files

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016536658A Division JP6367333B2 (ja) 2013-12-04 2013-12-13 メディア・ファイルのアップロードおよびトランスコーディング

Publications (2)

Publication Number Publication Date
JP2018185843A JP2018185843A (ja) 2018-11-22
JP6561177B2 true JP6561177B2 (ja) 2019-08-14

Family

ID=53266320

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016536658A Active JP6367333B2 (ja) 2013-12-04 2013-12-13 メディア・ファイルのアップロードおよびトランスコーディング
JP2018127312A Active JP6561177B2 (ja) 2013-12-04 2018-07-04 メディア・ファイルのアップロードおよびトランスコーディング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016536658A Active JP6367333B2 (ja) 2013-12-04 2013-12-13 メディア・ファイルのアップロードおよびトランスコーディング

Country Status (9)

Country Link
US (3) US9661106B2 (ja)
JP (2) JP6367333B2 (ja)
KR (2) KR101962717B1 (ja)
CN (2) CN110611703B (ja)
AU (2) AU2013406732A1 (ja)
CA (2) CA2932005C (ja)
IL (2) IL245798B (ja)
MX (1) MX362620B (ja)
WO (1) WO2015084413A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154456B2 (en) 2012-04-17 2015-10-06 Trenda Innovations, Inc. Messaging system and method
RU2648836C2 (ru) 2013-03-13 2018-03-28 Фдна Инк. Системы, способы и компьютерочитаемые носители для выявления вероятного влияния медицинского состояния на пациента
US9661106B2 (en) * 2013-12-04 2017-05-23 Facebook, Inc. Uploading and transcoding media files
KR102070924B1 (ko) * 2014-01-20 2020-01-29 한화테크윈 주식회사 영상 기록 시스템
US9807008B2 (en) * 2014-06-06 2017-10-31 Google Inc. Tournament scheduling
US9894023B2 (en) * 2014-07-15 2018-02-13 Zebrafish Labs, Inc. Image feeding server network
WO2016048992A1 (en) * 2014-09-22 2016-03-31 American Greentings Corporation Live greetings
US9641522B1 (en) * 2014-11-11 2017-05-02 Amazon Technologies, Inc. Token management in a managed directory service
TWI519967B (zh) * 2015-03-25 2016-02-01 財團法人工業技術研究院 雲端運算資源動態分配系統及其方法
US10116729B2 (en) * 2015-10-06 2018-10-30 Verizon Digital Media Services Inc. Dynamic media transformation service in a CDN
KR102238111B1 (ko) * 2015-12-08 2021-04-09 삼성전자주식회사 디바이스의 업로드 크기를 제어하는 방법 및 장치
CN105681749A (zh) * 2016-01-12 2016-06-15 上海小蚁科技有限公司 用于预览视频的方法、装置、系统和计算机可读介质
US10250894B1 (en) * 2016-06-15 2019-04-02 Gopro, Inc. Systems and methods for providing transcoded portions of a video
US10616309B2 (en) * 2016-12-30 2020-04-07 Facebook, Inc. Systems and methods for resumable uploading of data in a social networking system
CN106791925B (zh) * 2017-02-09 2020-12-15 阿里巴巴(中国)有限公司 视频生成方法及装置
US10565251B2 (en) * 2017-04-28 2020-02-18 Facebook, Inc. Media file upload awareness for online systems
US10567508B2 (en) * 2017-04-28 2020-02-18 Facebook, Inc. Media file upload awareness for online systems
US10637846B2 (en) 2017-08-30 2020-04-28 Capital One Services, Llc System and method for cloud-based analytics
US10097594B1 (en) * 2017-08-31 2018-10-09 T-Mobile Usa, Inc. Resource-managed codec selection
CN107770167A (zh) * 2017-10-17 2018-03-06 北京小米移动软件有限公司 分享多媒体数据的方法、装置及计算机可读存储介质
CN109787942A (zh) * 2017-11-14 2019-05-21 广州市动景计算机科技有限公司 多媒体文件提交及发布方法和装置
US10764396B2 (en) 2017-12-18 2020-09-01 The Directv Group, Inc. Media transcoding based on priority of media
CN108156238A (zh) * 2017-12-23 2018-06-12 贵阳朗玛信息技术股份有限公司 一种资料自动化上传的方法及装置
CN110392071B (zh) 2018-04-18 2021-06-22 网宿科技股份有限公司 流媒体资源的上传、下载方法、分发系统及流媒体服务器
CN108566553B (zh) * 2018-04-25 2020-12-04 威盛电子股份有限公司 视频墙媒体播放系统、方法及控制服务器
KR102495915B1 (ko) * 2018-04-30 2023-02-03 삼성전자 주식회사 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버
CN110062278A (zh) * 2019-04-12 2019-07-26 北京字节跳动网络技术有限公司 视频数据发布方法、装置、电子设备和存储介质
US11880484B2 (en) * 2019-11-12 2024-01-23 Salesforce, Inc. Enforcing data isolation in jobs executed by a multi-tenant system on a secondary platform
US11470178B2 (en) * 2019-12-19 2022-10-11 ShinyDocs System and method for robust local cache handling
CN111225032A (zh) * 2019-12-19 2020-06-02 福建升腾资讯有限公司 一种应用服务与文件服务分离的方法、系统、设备和介质
US11570227B2 (en) * 2020-12-04 2023-01-31 Tencent America LLC Set up and distribution of immersive media to heterogenous client end-points
CN113411586A (zh) * 2021-05-20 2021-09-17 北京睿芯高通量科技有限公司 一种转码系统及其分块上传方法
CN113852842A (zh) * 2021-09-24 2021-12-28 广州市保伦电子有限公司 一种基于教育云平台的视频转码调度方法和后台服务器
CN114143308A (zh) * 2021-11-29 2022-03-04 中国平安人寿保险股份有限公司 文件上传信息处理方法、装置、计算机设备及存储介质
CN114697126A (zh) * 2022-04-12 2022-07-01 北京达佳互联信息技术有限公司 多媒体资源的发布方法、装置、电子设备及存储介质
CN115150386B (zh) * 2022-05-24 2024-03-22 上海哔哩哔哩科技有限公司 向开放平台上传视频的方法、装置、存储介质及电子设备
CN114915624B (zh) * 2022-07-13 2022-12-13 飞狐信息技术(天津)有限公司 一种文件处理方法、系统及电子设备

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002541687A (ja) 1999-02-11 2002-12-03 ラウドアイ・テクノロジーズ・インコーポレーテッド メディア配信システム
US6963910B1 (en) * 2000-03-03 2005-11-08 International Business Machines Corporation Graphical user interface for creating assets
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7895445B1 (en) * 2001-04-26 2011-02-22 Nokia Corporation Token-based remote data access
US7287156B2 (en) * 2001-06-29 2007-10-23 International Business Machines Corporation Methods, systems and computer program products for authentication between clients and servers using differing authentication protocols
US7028090B2 (en) * 2002-05-30 2006-04-11 International Business Machines Corporation Tokens utilized in a server system that have different access permissions at different access times and method of use
WO2003104942A2 (en) * 2002-06-07 2003-12-18 Yahoo. Inc. Method and system for controling and monitoring a web-cast
US9286214B2 (en) * 2003-06-06 2016-03-15 Arris Enterprises, Inc. Content distribution and switching amongst data streams
EP1665567A4 (en) * 2003-09-15 2010-08-25 Directv Group Inc METHOD AND SYSTEM FOR ADAPTIVELY TRANSCODING AND TRANSRATING IN A VIDEO NETWORK
US7721329B2 (en) * 2003-11-18 2010-05-18 Aol Inc. Method and apparatus for trust-based, fine-grained rate limiting of network requests
KR100612255B1 (ko) * 2005-01-11 2006-08-14 삼성전자주식회사 무선 네트워크 시스템에서의 데이터 보안장치 및 그 방법
US8190687B1 (en) 2005-03-01 2012-05-29 At&T Intellectual Property Ii, L.P. Multimedia alerting and notification service for mobile users
KR101235272B1 (ko) * 2006-04-05 2013-02-20 삼성전자주식회사 미디어 서버의 데이터 포맷 변환 및 제어 포인트의 데이터포맷 변환 요청 방법 및 장치
US8024762B2 (en) * 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
CN100502369C (zh) * 2006-07-25 2009-06-17 中山大学 一种数字家庭网络媒体格式转码装置及方法
US20080052381A1 (en) * 2006-08-22 2008-02-28 Koon Wah Yu Method and system for selecting a transcoder to convert between content types
US20080155230A1 (en) * 2006-12-21 2008-06-26 General Instrument Corporation Method and System for Providing Simultaneous Transcoding of Multi-Media Data
US8060874B2 (en) * 2007-01-29 2011-11-15 Symbol Technologies, Inc. Efficient provisioning of software packages to mobile handheld devices
US7991904B2 (en) * 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US20090019492A1 (en) * 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
US8171167B2 (en) * 2007-11-13 2012-05-01 Vantrix Corporation Intelligent caching of media files
US8169916B1 (en) * 2007-11-23 2012-05-01 Media Melon, Inc. Multi-platform video delivery configuration
US9699242B2 (en) * 2007-12-07 2017-07-04 Dan Atsmon Multimedia file upload
US8145779B2 (en) * 2008-04-08 2012-03-27 Microsoft Corporation Dynamic server-side media transcoding
US9473812B2 (en) * 2008-09-10 2016-10-18 Imagine Communications Corp. System and method for delivering content
WO2010031009A1 (en) 2008-09-12 2010-03-18 Jamabi, Inc. Method and system for distributing media content and processing payments and/or voluntary data collection
JP5237461B2 (ja) 2008-12-04 2013-07-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディアファイルを移動デバイスに送信する方法およびそのエンティティ
US8965920B2 (en) 2008-12-15 2015-02-24 Verizon Patent Licensing Inc. Distributing and sharing content in a network
US8156089B2 (en) * 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8195830B2 (en) * 2009-06-24 2012-06-05 Ricoh Company, Ltd. Efficient file transfer on web service-enabled image forming device
US20110015985A1 (en) * 2009-07-17 2011-01-20 James Curtis Universal multimedia distribution, storage, and playback systems and methods
US10063812B2 (en) * 2009-10-07 2018-08-28 DISH Technologies L.L.C. Systems and methods for media format transcoding
CN102045312B (zh) * 2009-10-21 2013-09-18 三星电子(中国)研发中心 自适应转码方法和系统
CN102055964A (zh) * 2009-11-11 2011-05-11 腾讯科技(深圳)有限公司 一种多媒体文件转码方法和转码器
US8516147B2 (en) * 2010-02-26 2013-08-20 Simula Innovation Sa Data segmentation, request and transfer method
CN102223386A (zh) * 2010-04-16 2011-10-19 华为技术有限公司 远程访问家庭网络的方法、装置及系统
US20110264768A1 (en) * 2010-04-24 2011-10-27 Walker Digital, Llc Systems and methods for facilitating transmission of content from a source to a user device
US8862733B2 (en) * 2010-07-30 2014-10-14 Verizon Patent And Licensing Inc. User-based prioritization for content transcoding
US9137163B2 (en) * 2010-08-04 2015-09-15 Kryterion, Inc. Optimized data stream upload
JP5609544B2 (ja) * 2010-10-29 2014-10-22 セイコーエプソン株式会社 画像入力システム、コンテンツサーバー、仲介サーバー、および、画像入力方法
US8930446B2 (en) * 2011-01-05 2015-01-06 Motorola Mobility Llc Altering transcoding priority
CN102685086A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种文件访问方法和系统
US8549167B2 (en) * 2011-06-21 2013-10-01 Net Power And Light, Inc. Just-in-time transcoding of application content
CN102882829A (zh) * 2011-07-11 2013-01-16 腾讯科技(深圳)有限公司 一种转码方法及系统
US9088804B2 (en) * 2011-08-25 2015-07-21 Ustream, Inc. On-demand selection of transcoding formats for multimedia broadcast streams
CN103002274B (zh) * 2011-09-16 2016-05-18 腾讯科技(深圳)有限公司 一种基于离线下载的移动多媒体实时转码播放系统及方法
JP5849976B2 (ja) * 2012-03-30 2016-02-03 カシオ計算機株式会社 ソーシャル・ネットワーク・サービスシステム及び画像表示方法
US8311382B1 (en) 2012-05-09 2012-11-13 Youtoo Technologies, LLC Recording and publishing content on social media websites
US9083997B2 (en) * 2012-05-09 2015-07-14 YooToo Technologies, LLC Recording and publishing content on social media websites
US8745267B2 (en) * 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
CN103678386B (zh) * 2012-09-18 2017-10-03 百度在线网络技术(北京)有限公司 在移动终端中进行转码的方法、系统以及装置
US9462021B2 (en) * 2012-09-24 2016-10-04 Google Technology Holdings LLC Methods and devices for efficient adaptive bitrate streaming
CN104969534B (zh) * 2012-10-18 2018-07-24 吉拉飞克科技股份有限公司 可动态扩大通信链接吞吐量的拥塞控制方法
CN103237037B (zh) * 2013-05-08 2015-11-18 华迪计算机集团有限公司 基于云计算架构的媒体格式转换方法和系统
TW201445989A (zh) * 2013-05-30 2014-12-01 Hon Hai Prec Ind Co Ltd 分散式編解碼系統及方法
US8824664B1 (en) * 2013-06-13 2014-09-02 Genesys Telecommunications Laboratories, Inc. System and method for controlling lifespan of interaction requests
US20150100667A1 (en) * 2013-10-08 2015-04-09 WePow, Inc. Optimizing content delivery
US9661106B2 (en) * 2013-12-04 2017-05-23 Facebook, Inc. Uploading and transcoding media files

Also Published As

Publication number Publication date
IL245798A0 (en) 2016-07-31
WO2015084413A1 (en) 2015-06-11
JP2017508190A (ja) 2017-03-23
IL256825A (en) 2018-03-29
US20200169540A1 (en) 2020-05-28
US10554631B2 (en) 2020-02-04
KR101809165B1 (ko) 2017-12-14
CA2995784A1 (en) 2015-06-11
CN110611703A (zh) 2019-12-24
US11108745B2 (en) 2021-08-31
KR20170140425A (ko) 2017-12-20
IL256825B (en) 2019-05-30
JP2018185843A (ja) 2018-11-22
MX362620B (es) 2019-01-28
MX2016007314A (es) 2016-09-07
IL245798B (en) 2018-01-31
US9661106B2 (en) 2017-05-23
KR101962717B1 (ko) 2019-03-27
CA2932005C (en) 2018-04-10
CN105830047A (zh) 2016-08-03
CN105830047B (zh) 2019-09-06
KR20160093651A (ko) 2016-08-08
AU2018220057A1 (en) 2018-09-06
CN110611703B (zh) 2022-06-14
US20150156281A1 (en) 2015-06-04
AU2013406732A1 (en) 2016-07-07
CA2932005A1 (en) 2015-06-11
JP6367333B2 (ja) 2018-08-01
US20170222987A1 (en) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6561177B2 (ja) メディア・ファイルのアップロードおよびトランスコーディング
US10142381B2 (en) System and method for scalable cloud services
US9003558B1 (en) Allowing degraded play of protected content using scalable codecs when key/license is not obtained
US9578011B2 (en) Proxy bypass login for applications on mobile devices
US10757453B2 (en) Distributed multi-datacenter video packaging system
EP3367691B1 (en) Uploading and transcoding media files
JP6169172B2 (ja) 仮想イントラフレームを使用してビデオコンテンツを符号化するためのシステムおよび方法
US10979674B2 (en) Cloud-based segregated video storage and retrieval for improved network scalability and throughput
JP2016534607A (ja) 拡張可能なビデオクラウドサービスのためのシステムおよび方法
US11601620B2 (en) Cloud-based segregated video storage and retrieval for improved network scalability and throughput
WO2017190008A1 (en) Screencast orchestration
Durga et al. SmartMobiCam: Towards a new paradigm for leveraging smartphone cameras and IaaS cloud for smart city video surveillance
Cerqueira et al. Recent advances and challenges in human-centric multimedia mobile cloud computing
WO2015153723A1 (en) A method and system for real-time cloud storage of video content
US10284617B2 (en) Dynamic segregated secure data connection

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R150 Certificate of patent or registration of utility model

Ref document number: 6561177

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250