JP2015512070A - データ特性に基づくインテリジェントデータ配信及び記憶 - Google Patents

データ特性に基づくインテリジェントデータ配信及び記憶 Download PDF

Info

Publication number
JP2015512070A
JP2015512070A JP2014551364A JP2014551364A JP2015512070A JP 2015512070 A JP2015512070 A JP 2015512070A JP 2014551364 A JP2014551364 A JP 2014551364A JP 2014551364 A JP2014551364 A JP 2014551364A JP 2015512070 A JP2015512070 A JP 2015512070A
Authority
JP
Japan
Prior art keywords
data
database
user equipment
connection
delivering
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.)
Granted
Application number
JP2014551364A
Other languages
English (en)
Other versions
JP5932055B2 (ja
Inventor
ホイ ワン,
ホイ ワン,
オレグ サイドマン,
オレグ サイドマン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2015512070A publication Critical patent/JP2015512070A/ja
Application granted granted Critical
Publication of JP5932055B2 publication Critical patent/JP5932055B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ特性に基づいたインテリジェントデータ配信及び記憶のための方法、プログラム製品、及びシステムが開示されている。データベースサーバは、ユーザ機器から、データに対する要求を受信し得る。データベースサーバは、要求されたデータのデータサイズ及びデータ型を判定し得る。データベースサーバは、データサイズ及びデータ型に基づき、要求に応答するために候補となる複数のデータ配信プロトコルから、データサイズ及びデータ型を有するデータを配信するために指定されたデータ配信プロトコルを識別し得る。データベースサーバは、識別されたデータ配信プロトコルを用いて、要求に応答してデータをユーザ機器に配信し得る。

Description

本開示は、全般的にはデータベース支援型ウェブアプリケーションに関する。
データベースサーバは、データベース内に記憶されているデータを、データベースサーバから遠隔の位置にあるクライアントに提供できる。データベースは、しばしばテーブルとして知られるリレーションの集合を含み得る。データベース内のテーブルは、縦方向の列及び横方向の行を使用して編成される一連のデータ項目又は値を含む。各列は、列内に記憶できるデータのカテゴリを定義するデータ型を有し得る。データ列の型はデータベーススキーマ内に指定でき、その型はリレーショナルデータベース内のデータの表現方法又はアクセス方法を定義するデータモデルであり得る。現代のリレーショナルデータベースにおいて、データフィールドは、他のデータフィールドのデータ項目のサイズと比べてサイズの大きいデータを記憶できるデータ型を有し得る。例えば、マルチメディアデータ(例えば、ムービークリップ)が、リレーショナルデータベース内に記憶され得る。
データ特性に基づいたインテリジェントデータ配信及び記憶のための方法、プログラム製品、及びシステムが開示されている。データベースサーバは、ユーザ機器から、データに対する要求を受信し得る。データベースサーバは、要求されたデータのデータサイズ及びデータ型を判定し得る。データベースサーバは、データサイズ及びデータ型に基づき、要求に応答するための候補となる複数のデータ配信プロトコルから、データサイズ及びデータ型を有するデータを配信するために指定されたデータ配信プロトコルを識別し得る。データベースサーバは、識別されたデータ配信プロトコルを用いて、要求に応答してデータをユーザ機器に配信し得る。
本明細書に記載されている技術を利用することで、下記の利点が達成され得る。本技術を利用することによって、データベースサーバにマルチメディアデータをバッファリング済みストリームとして、このデータベースサーバとは別個のHTTPサーバから配信させることができる。本技術は、巨大なメディアデータをユーザ機器に配信する際のデータベースサーバに対する負荷を軽減することができる。本技術は、データベース接続の帯域幅を節約することによって、他の在来型データベース要求を取り扱えるようにする。
本技術は、データのインクリメンタル配信を可能にする。データがメディアファイル(例えば、オーディオ又はビデオ)を含む場合、そのデータがユーザ機器に到着したときに、ユーザ機器にてユーザはインクリメンタルにデータを再生又は視聴することができる。ユーザ機器は、或るメディアファイルが完全に配信されるのを待ってから次のメディアファイルを配信するのではなく、データベースクエリに応答して、複数のメディアファイルを即座にかつ同時並行的に得ているように見えることが可能である。
インテリジェントデータ配信及び記憶の、1つ以上の実装の詳細は、添付の図面及び下記の説明に記載されている。インテリジェントデータ配信及び記憶の、他の特徴、態様及び利点は、説明、図面及び特許請求の範囲から明らかとなる。
インテリジェントデータ配信技術を実装した例示的なシステムを示すブロック図である。 インテリジェントデータ配信に用いられる例示的なコンテナ技術の図である。 インテリジェントデータ配信に用いられる例示的なフィルタ技術を示すブロック図である。 フィルタパラメータの例示的な構造を示すブロック図である。 インテリジェントデータ配信を受信するデータベースクライアント上に実装された例示的なユーザインタフェースの図である。 インテリジェントデータ配信技術を実装したシステム上で実行される例示的なプロセスを示す流れ図である。 図1〜図6の諸機能及び動作を実装するための例示的なシステムアーキテクチャのブロック図である。 それぞれの図面において類似の参照記号は、類似の要素を示す。
概説
図1は、インテリジェントデータ配信技術を実装した例示的なシステムを示すブロック図である。データベースサーバ102では、データの型又はサイズなどの特性に基づき、異なる様式でかつ異なる接続を介してデータをクライアント104に配信させることができる。
データベースサーバ102は、データベース接続108を介してクライアント104からの要求106を受信できる。データベース接続108は、データベース要求及び応答を含む通信を支援する、クライアント104とデータベースサーバ102との間の接続であり得る。要求106はデータベース要求(例えば、データベースクエリ)であり得る。要求106は、データベース110内に記憶されているデータ、又はデータベース110内で参照されるデータに対する要求を含み得る。データベース110は、リレーショナルデータベース、オブジェクト指向データベース、又はアドホックデータベースとして編成されたデータの集合であり得る。
データベース110内のデータは、列及び行を有するテーブルとして編成され得る。各データ列はデータ型を有し得る。データ型としては、例えば、整数データ型、テキストデータ型、又はコンテナデータ型を挙げることができる。コンテナデータ型に関しては、後ほど図2を参照しながら更に詳細に説明する。データ型によっては、(例えばテキストデータ型又はコンテナデータ型の場合)データサイズが他のデータ(例えば、ブールデータ型を有するデータ)と比べて大きい場合がある。例えば、コンテナデータ型を有するデータ項目はファイルサイズが1ギガバイト(1GB)を超えるデジタルムービーであり得るのに対し、ブールデータ型を有するデータ項目はサイズが1バイトであり得る。
データベース110は、サイズの大きいデータ項目が他のデータ項目とは別個に記憶されるように構成できる。例えば、サイズの大きいコンテンツ112がコンテンツデポ114に記憶されるように、データベース110を構成することも可能である。コンテンツデポ114は、通信ネットワークを介してデータベースサーバに接続された記憶装置であり得る。コンテンツ112への参照は、データベース110の他のデータと共に記憶することが可能である。コンテンツ112の管理及びアクセスは、データベース110を介して為される。コンテンツ112の位置は、データベース110によって制御される。
テキスト型を有するデータ(テキストデータ)に対する要求、及びコンテナ型を有するデータ(コンテナデータ)に対する要求が、データベース要求106に含まれているかを、データベースサーバ102は判定し得る。次いで、データベースサーバ102は、テキストデータに加えて、データベース要求106に応答して返されるコンテナデータがコンテンツ112を含んでいるかを判定し得る。
データベースサーバ102は、データベース接続108を介してデータベース応答116をクライアント104に送信する。データベース応答116は、データベース要求106にて要求されたテキストデータを含む場合がある。データベース応答116は、コンテンツ112を含まない代わりにコンテンツ112への参照、及びウェブサーバ118への参照を含み得る。ウェブサーバ118は、データベース110とは別個にコンテンツ112をアクセスするように構成されたサーバであり得る。例えば、ウェブサーバ118は、データベースサーバ102とは別個のハイパーテキスト転送プロトコル(HTTP)サーバであり得る。
クライアント104は、データベース応答116を受信すると、データベース応答116内がコンテナデータへの参照を含んでいるかを判定できる。クライアント104はコンテンツフェッチャー120にこの参照を送信できる。コンテンツフェッチャー120は、データベース応答116において参照されるコンテンツを取得するように構成された、クライアント104のソフトウェア又はハードウェアコンポーネントである。
コンテンツフェッチャー120は、この参照を受信すると、データベース応答116における参照に従ってウェブサーバ118への接続122を自動的に開くことができる。コンテンツフェッチャー120は、接続122をユーザの介入なしに開くことができる。接続122はデータベース接続108とは別個のネットワーク接続であり得る。コンテンツフェッチャー120は、接続122を介してユーザの介入なしに要求をウェブサーバ118に送信でき、ウェブサーバ118はデータベース接続プロトコルとは別のプロトコル(例えば、HTTPストリーミングプロトコル)を使用して、コンテンツ112を返すことができる。本システムでは、コンテンツ112を他のデータベースコンテンツとは別個に送信することにより、大型メディアデータをクライアント104に配信する際にデータベースサーバ102にかかる負荷を軽減し、クライアントにおいてユーザが、先に全コンテンツが配信されるのを待たずに実質的に即座にデータベースクエリの結果を視聴できるようにしている。コンテンツフェッチャー120の動作は自動的であり、ユーザには意識されずに行える。
例示的なコンテナフィールド
インテリジェントデータ配信に用いられる例示的なコンテナ技術は、図2に図示してある。コンテナデータ型を使用すると、一部のデータ(例えば、マルチメディアデータ)を他のデータベースデータとは別個に記憶することが可能になり、それ故、他のデータベースデータを配信するための接続とは別個の接続を介してクライアントに配信できるようになる。
リレーショナルデータベースのデータはデータベース110内に記憶され得る(図1)。データベース110は、データ記憶用の1つ以上のデータベースファイルを含み得る。幾つかの実装において、データベース110は、リレーショナルデータベースの全データを収容する単一のデータベースファイルを含み得る。
リレーショナルデータベースは1つ以上のテーブルを含むことが可能であり、その1つはテーブル202aであり得る。データベース110内に記憶されているリレーショナルデータベースのテーブル202aの拡大図を、テーブル202bに示す。テーブル202bは、1つ以上の列、例えば、列204a及び204bを含み得る。列204a及び204bの各々は、コンテナデータ型を有し得る。テーブル202bは、1つ以上の行、例えば、行206a、206b及び206cを含み得る。これらの行はそれぞれ、その列に対応する1つ以上のデータフィールドを含み得る。例えば、行206bはコンテナデータフィールド208を含み得る一方、行206cはコンテナデータフィールド210を含み得る。
コンテナデータフィールド208及び210の実際のコンテンツはそれぞれ、データベースファイル212及び214内に記憶され得る。本システムでは、データベースファイル212及び214のそれぞれに名前を割り当てることができる。データベースファイル212及び214の各々の名前は、リレーショナルデータベース内で一意となるように構成できる。
データベースファイル212及び214は、データベース110から遠隔に位置し得るだけでなく、本システムのクライアントコンピュータからも遠隔に位置し得る。本システムでは、1つ以上のデータベースファイル212及び214を、データベース110が記憶されている同じディレクトリ又はファイルシステム(データベース110が記憶されているディレクトリのサブディレクトリを含む)に記憶できる。加えて又は代わりに、本システムでは、1つ以上のデータベースファイル212及び214を、データベース110が記憶されているディレクトリ又はファイルシステムとは異なるディレクトリ又はファイルシステム内に記憶できる。ファイルシステムは、オペレーティングシステムを介して記憶、操作、及び検索するためにコンピュータファイルを編成するためのシステムを含み得る。ディレクトリは、1つ以上のファイル又はディレクトリを記憶できるファイルシステム内部の仮想グルーピングを含み得る。
コンテナデータフィールド208及び210の各々は、データベースファイル212及び214のそれぞれに関連し得る。リレーション(例えば、リレーション216及び218)は、コンテナデータフィールド208及び210に関連付けられたリモートコンテナを用いて実装することが可能である。リモートコンテナは、データベースファイル212又は214への参照(例えば、パス)を記憶できる。幾つかの実装において、パスはベースディレクトリ及び相対パスを含み得る。ベースディレクトリは、データベースファイル212及び214の最上位ディレクトリであり得る。本システムは、複数のベースディレクトリを保持し得る。各々のベースディレクトリは、別々の記憶装置又はマウント済みボリューム上に位置し得る。ベースディレクトリのサブディレクトリは、相対パスで指定できる。
例えば、本システムでは、パス「C:¥DBDIR¥[a_date]¥PDF¥file_1.pdf」を使用することによって、データベースファイル212を記憶できる。ここで、「C:¥DBDIR」はベースディレクトリ、「¥[a_date]¥PDF¥」は相対パスであり、「file_1.pdf」は一意の名前である。データベースファイル212(「file_1.pdf」)は、第1の記憶装置226上に記憶され得る。同様に、本システムでは、パス「C:¥DBDIR¥Multimedia¥file_2.jpg」を使用することによって、データベースファイル214を記憶でき、かつこのデータベースファイル214内にマルチメディアコンテンツを含めることができる。データベースファイル214は、第2の記憶装置228上に記憶され得る。記憶装置228は、ベースディレクトリ「C:¥DBDIR¥」の配下において「Multimedia」という名前を使用した(点線矢印220で指し示された)マウント済みボリュームであり得る。ベースディレクトリ(1つ又は複数)は、データベース管理者が必要に応じてリモートコンテナを検査し、リモートコンテナへのアクセスを制限し、更にはリモートコンテナを再マッピングするための、中心的な場所(例えば「C:¥DBDIR¥」)を提供し得る。幾つかの実装においては、コンテナデータフィールド208及び210にそれぞれリモートコンテナへの参照を記憶でき、このリモートコンテナは今度はデータベースファイル212又は214へのパスを記憶できる。
コンテナデータ型を有するデータは、外部データへの単純参照(例えば、URL)とは別物である。コンテナデータ型のデータは、他のデータベースデータとは別個に記憶されるが、データベースを介して管理及びアクセスが為されるデータベースデータの一部である。例えば、次に示す構造化クエリ言語(SQL)クエリの挿入ステートメント例に応答してデータベースファイル212を記憶するための場所及びパスは、データベース110によって判定され得る。
INSERT INTO table_name(列1)
VALUES(“my_file.pdf”); (1)
「列1」がコンテナデータ型を有することがデータベース110によって判定された場合、このデータベースは、文字列「my_file.pdf」をデータベース内に挿入するよりむしろ、ファイル「file_1.pdf」をデータベースファイル212として本システムにアップロードしてからアップロード済みファイルにシステム名(例えば「my_file.pdf」)を付けることができる。
加えて、リモートコンテナは、データベースファイル212及び214の各アクセス制限222及び224の管理に使用できる情報を記憶することが可能である。情報は、データベースファイル212及び214を暗号化、復号化するための1つ以上の鍵を含み得る。例えば、データベースファイル212のコンテンツを読み取るにはデータベースファイル212を復号化するための鍵が必要とされるよう、データベースファイル212を暗号化することも可能である。この鍵は、コンテナデータフィールド208に関連付けられたリモートコンテナ内に記憶され得る。本システムでは、データベースファイル212のコンテンツにアクセスできるユーザを、コンテナデータフィールド208へのアクセスを許可されたユーザだけに制限できる。コンテンツは、リレーショナルデータベース又はリレーショナルデータベースを使用したアプリケーションプログラムを介して提供され得る。したがって、データベースファイル212に対するユーザのアクセス権限は、記憶装置226に対するユーザのアクセス権限に非依存であり得る。例えば、記憶装置226に対するアクセス権限のないユーザでも、記憶装置226上に記憶されたデータベースファイル212のコンテンツにアクセスすることが可能である。
例示的なデータフィルタ
図3は、インテリジェントデータ配信に用いられる例示的なフィルタ技術を示すブロック図である。フィルタ技術を利用することによって、データベースサーバ102は、どのような場合にあるプロトコルを用いた要求に応答してデータベースデータをクライアントに送信すべきか、及びどのような場合に別のプロトコルを用いた要求に応答してデータへの参照をクライアントに送信すべきかを判定できる。
データベースサーバ102は、フィルタ302を含み得る。フィルタ302は、データベース要求に応答して取得されたデータの特性に基づいてデータベース要求に対し別々の応答を与えるように構成された、データベースサーバ102のハードウェア又はソフトウェアコンポーネントであり得る。データベース110は、在来型データ及びコンテナデータを記憶できる。在来型データとしては、数値型(例えば、整数、符号なし整数、又は浮動小数点数)、ブール型、テキスト型(例えば、固定長又は可変長文字列)、日付/時刻型、又は識別子(ID)型を有するデータを挙げることができる。コンテナデータとしては、マルチメディア(例えば、オーディオ又はビデオストリーム)型、データオブジェクト(例えば、オブジェクのリンク及び埋め込み(OLE)オブジェクト)型、又はファイル(例えば、OpenDocument(商標)(ODT)、ポータブルドキュメントフォーマット(PDF))型を有するデータを挙げることができる。
データがコンテナデータである場合、コンテンツ項目304及びコンテンツ項目306を含むコンテナデータの実際のコンテンツ(例えば、マルチメディアファイルのコンテンツ)は、コンテンツデポ114において在来型データとは別個に記憶され得る。幾つかの実装において、コンテンツ項目304及びコンテンツ項目306はデータベースサーバ102とは別個に記憶され得る。データベース110は、コンテンツ項目304への参照308及びコンテンツ項目306への参照310を記憶することも可能である。
データベース110が要求に応答してデータを返すと、フィルタ302はフィルタパラメータ312に基づいて、データ又はデータへの参照のどちらを返すべきかを判定できる。フィルタパラメータ312はデータの特性及び対応するプロトコルを指定することが可能であり、指定された特性を有するデータがあれば、そのデータが対応するプロトコルに従って配信されるようになる。例えば、フィルタパラメータ312は、データがコンテナデータ型を有し、かつデータのコンテンツのサイズがxキロバイト(KB)であれば、そのデータがHTTPストリーミングプロトコルを使用して配信されるように、指定することができる。フィルタパラメータ312は、コンテンツデポ114への参照314及びウェブサーバ118への参照316を含んでもよい。フィルタパラメータ312に関しては、後ほど図4を参照しながら更に詳細に説明する。
フィルタ302は、フィルタパラメータ312及びデータベース110から返されたデータに基づき、例えば、コンテンツ項目304が第1のプロトコルを使用してクライアントに配信され、かつコンテンツ項目306が第1のプロトコルとは別の第2のプロトコルを使用して配信されることを判定できる。フィルタ302は、実際のコンテンツ項目304及び306でなく参照情報をクライアントに供給できる。この参照情報は、例えば、ウェブサーバ118及びコンテンツデポ114への参照(例えば、ホスト名又はインターネットプロトコル(IP)アドレス)、並びにウェブサーバ118若しくはコンテンツデポ114又はその両方への接続に用いられるプロトコルを含み得る。
図4は、フィルタパラメータ312の例示的な構造を示すブロック図である。フィルタパラメータ312は、データベース識別子402を含み得る。データベースサーバは1つ以上のデータベースのホストになり得る。共通のフィルタが1つ以上のデータベースのそれぞれに適用され得る。互いに異なる2つのデータベースは、別個のフィルタパラメータを有し得る。データベース識別子402は、フィルタパラメータ312を適用する対象のデータベースを指定できる。同様に、幾つかの実装においては、フィルタパラメータ312は、フィルタパラメータ312をユーザ固有にすることの可能なユーザ識別子を含んでもよい。
フィルタパラメータ312は、フィルタ条件404を含み得る。フィルタ条件404は、データの特性が1つ以上の基準に適合した場合に、指定されたプロトコルを用いてデータが配信されるように指定することが可能である。例えば、フィルタ条件404は、データがコンテナデータ型を有するか又はデータコンテンツが指定された形式(例えば、PDF)である場合にHTTPストリーミングプロトコルを使用してデータを配信するように指定したデータ型条件406を含み得る。フィルタ条件404は、データのサイズが閾値(例えば、x KB)に適合する場合にHTTPストリーミングプロトコルを使用してデータを配信するように指定したデータサイズ条件408を含んでもよい。同様に、フィルタ条件404は、日付/時刻条件(例えば、過去n時間以内にデータが挿入されたならばプロトコルXを使用する)、トリガ条件(例えば、A>BであるならばプロトコルYを使用する)、又はスクリプト条件(例えば、スクリプトが実行されたならばプロトコルZを使用するなど)を含むこともできる。いずれの基準にも適合しない場合、データは既定のプロトコル(例えば、既存のデータベース接続を介して)を使用して配信できる。
フィルタはホストパラメータ410を含むことも可能である。ホストパラメータ410は、宛先サーバに関する情報を含んでもよい。クライアントはこの情報を用いることで、宛先サーバを識別し接続できる。例えば、ホストパラメータ410は、ウェブサーバのIPアドレス、ホスト名、若しくはユニフォームリソースロケータ(URL)、ウェブサーバへの接続用のポート番号、又はパスワードのうちの1つ以上を指定するウェブサーバ指定412を含み得る。ホストパラメータ410は、コンテンツ項目の場所を指定するコンテンツデポ指定414を含み得る。クライアントは、その場所をURLエンコードし、エンコードされた場所を要求の一部としてウェブサーバに送信できる。
例示的なユーザインタフェース
図5は、インテリジェントデータ配信を受信するデータベースクライアント上に実装された例示的なユーザインタフェース500である。ユーザインタフェース500は、データベースアプリケーションプログラムのグラフィカルユーザインタフェースであり得る。この例では、データベースアプリケーションプログラムがムービーデータベースに接続している。
ユーザインタフェース500は、制御セクション502及びリストビューセクション504を含み得る。制御セクション502は、データベースアプリケーションプログラムがクエリを作成し、クライアント機器から遠隔の位置にあるデータベースサーバにサブミットすることができるように、ユーザ入力を受信するように構成できる。データベースアプリケーションプログラムによって作成された例示的なクエリは、以下に示すようなSQLクエリであり得る。
SELECT title,genre,source,content FROM movie_table; (2)
リストビューセクション504は、クエリに応答して例示的なムービーデータベースから取得されたデータが表示されるように構成することが可能である。ここに示した例では、リストビューセクション504に、テキスト表示セクション506及びテキスト表示セクション510が表示されている。テキスト表示セクション506及び510は、データベース内のデータベーステーブル「movie_table」から取得された題名、ジャンル及び提供元が表示されるように構成されている。
リストビューセクション504は、メディア表示領域508及びメディア表示領域512を含み得る。メディア表示領域508及び512は、データベース内のデータベーステーブル「movie_table」から取得されたマルチメディアコンテンツが表示されるように構成されている。この例では、データベーステーブル「movie_table」内のデータ列「content」がコンテナデータ型を有する。したがって、ドキュメンタリ「ザ・プルーフ」及びホームビデオ「バースデイ・パーティ」のムービーファイルは、「movie_table」の題名、ジャンル及び提供元データとは別個に記憶される。クライアント機器にサービスを提供するデータベースサーバは、下記のように指定されたフィルタパラメータを有するフィルタを備え得る。
1.(a)コンテナデータ型を有し(2)512KBを超えるデータは、HTTP接続を介したHTTPストリーミングプロトコルを使用して配信され、
2.他のデータは既存のデータベース接続を介して配信される。
データベース内のデータによれば、ドキュメンタリ「ザ・プルーフ」は512KBを超えるのに対し、ホームビデオ「バースデイ・パーティ」はそれ以下である。したがって、クライアント機器は、既存の接続を介して「バースデイ・パーティ」のムービーファイルを受信し、新規のHTTP接続を自動的にかつ透過的に開き、「ザ・プルーフ」のムービーファイルを取得する。2つのマルチメディアファイルは別個の接続を介して取得され、同時並行的に取得することが可能である。結果として、メディア表示領域508及び512内のコンテンツは同時並行的に表示できる。これにより、ユーザは「バースデイ・パーティ」の視聴する前に「ザ・プルーフ」のダウンロード完了を待たなければいけないのではなく、両方のムービーを同時に視聴することができる。
例示的なデータ配信プロセス
図6は、インテリジェントデータ配信が実装されたシステム上で実行される例示的なプロセス600の流れ図である。本システムは、データベースサーバ(例えば、図1のデータベースサーバ102)を含み得る。データベースサーバは、ユーザ機器(例えば、図1のクライアント104)からデータに対する要求を受信できる(602)。要求はデータベースクエリ(例えば、上記のSQLクエリ(2))を含み得る。
本システムは要求されたデータの特性を判定し得る(604)。特性は、要求されたデータのデータサイズ、又は要求されたデータのデータ型を含み得る。データ型を判定することは、要求されたデータがコンテナデータ型を有するかを判定することを含み得る。コンテナデータ型は、マルチメディアデータ又はデータオブジェクトに対して指定されたデータベーステーブル列用のデータ型であり得る。
本システムは、データの特性(例えば、データサイズ又はデータ型)に基づいて、データ配信プロトコルを識別できる(606)。データ配信プロトコルは、(例えば、図3及び図4のフィルタパラメータ312に指定されたように)候補となる複数のデータ配信プロトコルから識別され得る。データ配信プロトコルは、特性(例えば、データサイズ又はデータ型)を有するデータを配信するために指定されたデータプロトコルであり得る。
幾つかの実装において、プロトコルを識別することは、データサイズが事前指定された閾値に適合するかどうかを判定することを含み得る。データサイズが閾値に適合しない場合、本システムは第1のデータ配信プロトコル(例えば、事前指定されたの既定のデータ配信プロトコル)を識別できる。データサイズが閾値に適合した場合、本システムは第2のデータ配信プロトコル(例えば、HTTPストリーミングプロトコル)を識別できる。後者の場合、本システムはデータベースサーバからユーザ機器にHTTPサーバのアドレスを送信できる。
本システムでは、段階606において識別されたデータ配信プロトコルを用いて、要求に応答してデータをユーザ機器に配信できる(608)。データを配信することは、第1のデータ配信プロトコルが識別された場合に第1の接続を介してデータを配信すること、又は第2のデータ配信プロトコルが識別された場合に第2の接続を介してデータを配信することを含み得る。第1の接続は、ユーザ機器とデータベースサーバとの間のデータベース接続であり得る。第2の接続は、ユーザ機器とHTTPサーバとの間のHTTP接続であり得る。データを配信することは、ユーザ機器とHTTPサーバとの間のHTTP接続を介して、HTTPストリーミングプロトコルを使用してデータをユーザ機器に配信することを含み得る。
例示的なシステムアーキテクチャ
図7は、図1〜図6の諸機能及び動作を実装するための例示的なシステムアーキテクチャ700のブロック図である。これよりもコンポーネント数が多いか又は少ないアーキテクチャを含む、他のアーキテクチャも可能である。幾つかの実装において、アーキテクチャ700は、1つ以上のプロセッサ702(例えば、デュアルコアIntel(登録商標)Xeon(登録商標)プロセッサ)、1つ以上の出力装置704(例えば、LCD)、1つ以上のネットワークインタフェース706、1つ以上の入力装置708(例えば、マウス、キーボード、タッチセンシティブディスプレイ)、及び1つ以上のコンピュータ可読媒体712(例えば、RAM、ROM、SDRAM、ハードディスク、光学ディスク、フラッシュメモリなど)を備える。これらのコンポーネントは、コンポーネント間のデータ及び制御信号の転送を促すための各種ハードウェア及びソフトウェアを利用できる1つ以上の通信チャネル710(例えば、バス)を経由して、通信及びデータをやり取りできる。
「コンピュータ可読媒体」という用語は、プロセッサ702に実行させる命令を与えることに関与する任意の媒体を指し、限定はされないが、不揮発性媒体(例えば、光学ディスク又は磁気ディスク)、揮発性媒体(例えば、メモリ)、及び伝送媒体が挙げられる。伝送媒体としては、限定はされないが、同軸ケーブル、銅線及び光ファイバーが挙げられる。
コンピュータ可読媒体712は、オペレーティングシステム714(例えば、Mac OS(登録商標)サーバ、Windows(登録商標)NTサーバ)、ネットワーク通信モジュール716、データベース管理プログラム720、フィルタプログラム730、及びフィルタパラメータ740を更に含み得る。オペレーティングシステム714は、マルチユーザ、マルチプロセッシング、マルチタスク、マルチススレッド、リアルタイムなどであり得る。オペレーティングシステム714が実行する基本タスクとしては、機器706,708からの入力を認識して機器706,708への出力を供給すること;コンピュータ可読媒体712(例えばメモリ又は記憶装置)上のファイル及びディレクトリを追跡、管理すること;周辺装置を制御すること;並びに1つ以上の通信チャネル710上のトラフィックを管理することが挙げられるが、これらに限定されるものではない。ネットワーク通信モジュール716は、ネットワーク接続を確立し維持するための各種コンポーネント(例えば、TCP/IP、HTTPなどの通信プロトコルを実装するためのソフトウェア)を含む。
データベース管理プログラム720は、実行されたときにプロセッサ702に、図1に関して上述したようなデータベースサーバ102の動作を実行させるコンピュータ命令を含み得る。データベース管理プログラム720は、ファイルシステム上の1つ以上のデータベースへのインタフェースを含み得る。データベースは、階層型フォルダ構造(即ち、ファイルシステム内のディレクトリにマッピングするフォルダ)の配下に編成され得る。フィルタプログラム730は、実行されたときに、図3に関して上述したような動作フィルタ302をプロセッサ702に実行させるコンピュータ命令を含み得る。フィルタパラメータ740は、図3及び図4に関して上述した1つ以上のフィルタパラメータ312を含み得る。
アーキテクチャ700は、並列処理若しくはピアツーピアインフラ構造にて、又は1つ以上のプロセッサが搭載された単一機器上に、実装され得る。ソフトウェアは、複数のソフトウェアコンポーネントを含む場合もあれば、又は単一のコードである場合もある。
記載されている諸機能は、プログラマブルシステム上で実行可能な1つ以上のコンピュータプログラム内に実装するのが有効であり得る。このプログラマブルシステムは、データ及び命令をそこから受信したり、データ及び命令をそこへ送信したりするデータ記憶装置システムと接続された、少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力装置、並びに少なくとも1つの出力装置を含む。コンピュータプログラムとは、コンピュータにおいて或るアクティビティを実行するか又は或る結果をもたらすことを目的に直接的又は間接的に使用できる一連の命令である。コンピュータプログラムは、コンパイル言語又はインタプリタ言語を含む任意の形式のプログラミング言語(例えば、Objective−C、Java)で記述でき、スタンドアロンプログラムとしての形式、又はモジュール、コンポーネント、サブルーチン、ブラウザベースのウェブアプリケーション、若しくはコンピューティング環境での使用に適した他のユニットとしての形式を含めた任意の形式で配備できる。
命令プログラムを実行するための好適なプロセッサとしては、例えば、汎用及び特定用途向けマイクロプロセッサの両方、そして、任意の種類のコンピュータの単独プロセッサ、又はマルチプロセッサ若しくはマルチコアの一つが挙げられる。プロセッサは一般的に、読み出し専用メモリ若しくはランダムアクセスメモリ、又はその両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサ、並びに命令及びデータを記憶する1つ以上のメモリである。一般的に、コンピュータはまた、データファイルを記憶するための1つ以上の大容量記憶装置を備えるか、又はそれらの大容量記憶装置と通信するように動作可能に接続される。そのような装置としては、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスク;光磁気ディスク;並びに光学ディスクが挙げられる。コンピュータプログラム命令及びデータを有形的に具象化するのに適した記憶装置には、例えば、半導体メモリ装置(例えば、EPROM、EEPROM及びメモリフラッシュメモリ装置);磁気ディスク(例えば、内蔵ハードディスク及びリムーバブルディスク);光磁気ディスク;並びにCD−ROM及びDVD−ROMディスクを含むあらゆる形式の不揮発性メモリ、媒体及びメモリ装置が包含される。プロセッサ及びメモリは、ASIC(特定用途向け集積回路)で補助することも、又はASIC内に組み込むことも可能である。
ユーザとの対話型操作が行えるよう、ユーザに情報を表示するためのディスプレイ装置、例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニター、並びにユーザがコンピュータへの入力を行えるようにする手段となるキーボード及びポインティング装置(例えば、マウス又はトラックボール)が備えられたコンピュータ上に、諸機能を実装できる。
バックエンドコンポーネント(例えば、データサーバ)を含むか、又はミドルウェアコンポーネント(例えば、アプリケーションサーバ若しくはインターネットサーバ)を含むか、又はフロントエンドコンポーネント(例えば、グラフィカルユーザインタフェース若しくはインターネットブラウザ又はこれらの任意の組み合わせを有するクライアントコンピュータ)を含むコンピュータシステム上に、諸機能は実装できる。本システムのコンポーネントは、任意の形態で、又はデジタルデータ通信(例えば、通信ネットワーク)の媒体を介して接続できる。通信ネットワークの例としては、例えば、LAN、WAN、並びにインターネットを構成するコンピュータ及びネットワークが挙げられる。
コンピュータシステムは、クライアント及びサーバを備え得る。クライアント及びサーバは、相互に遠く離れているのが一般的であり、典型的には通信ネットワークを介して相互作用する。クライアント及びサーバの関係は各々のコンピュータ上で実行されていてかつ相互にクライアント/サーバ関係を有するコンピュータプログラムに基づいて生じる。幾つかの実施形態において、サーバは(HTMLページなどの)データを(例えば、クライアント機器と対話型操作を行うユーザにデータを表示し、そのユーザからのユーザ入力を受信するための)クライアント機器に転送する。クライアント機器において生成されたデータ(例えば、ユーザの対話型操作の結果)は、サーバにおいてクライアント機器から受信され得る。
1つ以上のコンピュータを備えるシステムは、本システム上にインストールされているソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを介して特定のアクションが実行されるように構成することが可能であり、その構成によって、稼働中に本システムにそれらのアクションが実行させる。1つ以上のコンピュータプログラムに命令を含めることによって特定のアクションが実行されるように構成でき、その命令がデータ処理装置によって実行されたときにこの装置にそれらのアクションが実行させる。
本明細書には多くの具体的実装の詳細が記載されているが、これらの詳細は、任意の発明又は請求され得る内容の範囲に対する制限として解釈すべきではない。寧ろ、特定の発明における特定の態様に固有な特徴の説明として解釈すべきである。別個の実施形態のコンテキストで本明細書に記載されている特定の特徴どうしを組み合わせて、単一の実施形態に実装することもできる。その逆に、単一の実施形態の文脈で記載されている様々な特徴をそれぞれ別個に複数の実施形態にしたり、又は任意の好適な部分的組み合わせにして実装することもできる。更に、特徴が特定の組み合わせで作用するものとして上に記載されている場合もあれば、更には当初からにもそのようなものとして主張されている場合もあるが、幾つかの実例においては、主張された組み合わせの1つ以上の特徴をその組み合わせから削除することもできる。また、主張された組み合わせを部分的組み合わせ又は部分的組み合わせの変形態様へ指向することもできる。
同様に、図面においては動作が特定の順序で示してあるが、これは、望ましい結果を達成するために、そのような動作を示してある特定の順序で若しくは逐次的な順序で実行するか、又は例示されている全ての動作を実行することが必要なものとして理解すべきではない。特定の状況において、多重タスク処理及び並列処理が、有利な場合がある。なお、上に記載されている実施形態における様々なシステムコンポーネントの分離は、あらゆる実施形態においてそのような分離が要求されるものとして理解すべきではなく、記載されているプログラムコンポーネント及びシステムを通常はまとめて単一のソフトウェア製品に一体化してもよいし、又は複数のソフトウェア製品にパッケージ化してもよいものとして理解すべきである。
故に、主題に係る特定の実施形態について説明してきた。他の実施形態は、下掲の特許請求の範囲内に含まれる。場合によっては、特許請求の範囲に記載されているアクションを別の順序で実行することも可能であり、その場合でも依然として望ましい結果が達成され得る。加えて、添付図面に描かれているプロセスは望ましい結果が達成するために必ずしも、示してある特定の順序又は逐次的な順序で為される必要はない。特定の実装においては、多重タスク処理及び並列処理が有利な場合がある。
本発明における幾つかの実装について説明してきた。にもかかわらず、本発明の趣旨及び範囲から逸脱することなしに様々な修正が為され得ることが、理解されよう。例えば、殆どの例はHTTPストリーミングプロトコルを参照して説明してあるが、記載されている技術は任意のデータ交換プロトコルに適用され得る。

Claims (21)

  1. データベースサーバを介して、かつユーザ機器からデータに対する要求を受信することと、
    前記要求されたデータのデータサイズ及びデータ型を判定することと、
    前記データサイズ及びデータ型に基づいて、前記要求に応答するための候補となる複数のデータ配信プロトコルから、前記データサイズ及びデータ型を有するデータを配信するために指定されたデータ配信プロトコルを識別することと、
    前記識別されたデータ配信プロトコルを用いて、前記要求に応答して前記データを前記ユーザ機器に配信することと、
    を含むことを特徴とする方法。
  2. 前記データ型を判定することが、前記要求されたデータがマルチメディアデータ又はデータオブジェクトに対して指定されたデータベーステーブル列用のデータ型であるコンテナデータ型を有する
    ことを判定する
    ことを含むことを特徴とする請求項1に記載の方法。
  3. 前記データ配信プロトコルを識別することが、
    前記データサイズが事前指定された閾値に適合するかどうかを判定することと、次いで
    前記データサイズが前記閾値に適合しない場合に第1のデータ配信プロトコルを識別すること、又は
    前記データサイズが前記閾値に適合する場合に第2のデータ配信プロトコルを識別すること
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記データを配信することが、
    前記第1のデータ配信プロトコルが識別された場合に第1の接続を介して前記データを配信すること、又は
    前記第2のデータ配信プロトコルが識別された場合に第2の接続を介して前記データを配信すること、
    を含むことを特徴とする請求項3に記載の方法。
  5. 前記第1の接続が、前記ユーザ機器と前記データベースサーバとの間のデータベース接続であり、
    前記第2の接続が前記ユーザ機器とHTTPサーバとの間のハイパーテキスト転送プロトコル(HTTP)接続である
    ことを特徴とする請求項4に記載の方法。
  6. 前記データサイズが前記閾値に適合すると判定したときに、
    前記データベースサーバから前記ユーザ機器に前記HTTPサーバのアドレスを送信すること
    を含むことを特徴とする請求項5に記載の方法。
  7. 前記データを配信することが、
    前記ユーザ機器と前記HTTPサーバとの間の前記HTTP接続を介したHTTPストリーミングプロトコルを使用して、前記データを前記ユーザ機器に配信する
    ことを含むことを特徴とする請求項5に記載の方法。
  8. 1つ以上のコンピュータに動作を実行させるように構成されたコンピュータプログラム製品であって、前記動作は、
    データベースサーバを介して、かつユーザ機器からデータに対する要求を受信することと、
    前記要求されたデータのデータサイズ及びデータ型を判定することと、
    前記データサイズ及びデータ型に基づいて、前記要求に応答するための候補となる複数のデータ配信プロトコルから、前記データサイズ及びデータ型を有するデータを配信するために指定されたデータ配信プロトコルを識別することと、
    前記識別されたデータ配信プロトコルを用いて、前記要求に応答して前記データを前記ユーザ機器に配信することと、
    を含むことを特徴とするコンピュータプログラム製品。
  9. 前記データ型を判定することは、前記要求されたデータがコンテナデータ型を有することを判定することを含み、前記コンテナデータ型は、マルチメディアデータ又はデータオブジェクトに対して指定されたデータベーステーブル列用のデータ型である
    ことを特徴とする請求項8に記載の製品。
  10. 前記データ配信プロトコルを識別することが、
    前記データサイズが事前指定された閾値に適合するかどうかを判定することと、次いで
    前記データサイズが前記閾値に適合しない場合に、第1のデータ配信プロトコルを識別すること、又は
    前記データサイズが前記閾値に適合する場合に、第2のデータ配信プロトコルを識別すること、
    を含むことを特徴とする請求項8に記載の製品。
  11. 前記データを配信することが
    前記第1のデータ配信プロトコルが識別された場合に、第1の接続を介して前記データを配信すること、又は
    前記第2のデータ配信プロトコルが識別された場合に、第2の接続を介して前記データを配信すること、
    を含むことを特徴とする請求項10に記載の製品。
  12. 前記第1の接続が、前記ユーザ機器と前記データベースサーバとの間のデータベース接続であり、
    前記第2の接続が、前記ユーザ機器とHTTPサーバとの間のハイパーテキスト転送プロトコル(HTTP)接続である
    ことを特徴とする請求項11に記載の製品。
  13. 前記動作が、前記データサイズが前記閾値に適合すると判定したときに、
    前記データベースサーバから前記ユーザ機器に前記HTTPサーバのアドレスを送信することを含む
    ことを特徴とする請求項12に記載の製品。
  14. 前記データを配信することが
    前記ユーザ機器と前記HTTPサーバとの間の前記HTTP接続を介したHTTPストリーミングプロトコルを使用して、前記データを前記ユーザ機器に配信すること
    を含むことを特徴とする請求項12に記載の製品。
  15. データベースサーバを介してかつユーザ機器から、データに対する要求を受信することと、
    前記要求されたデータのデータサイズ及びデータ型を判定することと、
    前記データサイズ及びデータ型に基づいて、前記要求に応答するための候補となる複数のデータ配信プロトコルから、前記データサイズ及びデータ型を有するデータを配信するために指定されたデータ配信プロトコルを識別することと、
    前記識別されたデータ配信プロトコルを用いて、前記要求に応答して前記データを前記ユーザ機器に配信することと、
    を含む動作を実行するように構成された、1つ以上のコンピュータを備える
    ことを特徴とするシステム。
  16. 前記データ型を判定することは、前記要求されたデータがマルチメディアデータ又はデータオブジェクトに対して指定されたデータベーステーブル列用のデータ型であるコンテナデータ型を有することを判定すること
    を含むことを特徴とする請求項15に記載のシステム。
  17. 前記データ配信プロトコルを識別することが、
    前記データサイズが事前指定された閾値に適合するかどうかを判定することと、次いで
    前記データサイズが前記閾値に適合しない場合に、第1のデータ配信プロトコルを識別すること、又は
    前記データサイズが前記閾値に適合する場合に、第2のデータ配信プロトコルを識別すること、
    を含むことを特徴とする請求項15に記載のシステム。
  18. 前記データを配信することが
    前記第1のデータ配信プロトコルが識別された場合に、第1の接続を介して前記データを配信すること、又は
    前記第2のデータ配信プロトコルが識別された場合に、第2の接続を介して前記データを配信すること、
    を含むことを特徴とする請求項17に記載のシステム。
  19. 前記第1の接続が、前記ユーザ機器と前記データベースサーバとの間のデータベース接続であり、
    前記第2の接続が、前記ユーザ機器とHTTPサーバとの間のハイパーテキスト転送プロトコル(HTTP)接続である、請求項18に記載のシステム。
  20. 前記動作は、前記データサイズが前記閾値に適合すると判定したときに、
    前記データベースサーバから前記ユーザ機器に前記HTTPサーバのアドレスを送信することを含む、請求項19に記載のシステム。
  21. 前記データを配信することが
    前記ユーザ機器と前記HTTPサーバとの間の前記HTTP接続を介したHTTPストリーミングプロトコルを使用して、前記データを前記ユーザ機器に配信すること
    を含むことを特徴とする請求項19に記載のシステム。
JP2014551364A 2012-01-06 2013-01-04 データ特性に基づくインテリジェントデータ配信及び記憶 Active JP5932055B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/345,603 US9047288B2 (en) 2012-01-06 2012-01-06 Intelligent data delivery and storage based on data characteristics
US13/345,603 2012-01-06
PCT/US2013/020337 WO2013103860A1 (en) 2012-01-06 2013-01-04 Intelligent data delivery and storage based on data characteristics

Publications (2)

Publication Number Publication Date
JP2015512070A true JP2015512070A (ja) 2015-04-23
JP5932055B2 JP5932055B2 (ja) 2016-06-08

Family

ID=47561860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014551364A Active JP5932055B2 (ja) 2012-01-06 2013-01-04 データ特性に基づくインテリジェントデータ配信及び記憶

Country Status (7)

Country Link
US (2) US9047288B2 (ja)
EP (1) EP2801044A1 (ja)
JP (1) JP5932055B2 (ja)
KR (1) KR101619684B1 (ja)
CN (1) CN104040545B (ja)
AU (2) AU2013207442B2 (ja)
WO (1) WO2013103860A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047288B2 (en) 2012-01-06 2015-06-02 Apple Inc. Intelligent data delivery and storage based on data characteristics
US10547713B2 (en) 2012-11-20 2020-01-28 Nvidia Corporation Method and system of transmitting state based input over a network
US20140195594A1 (en) * 2013-01-04 2014-07-10 Nvidia Corporation Method and system for distributed processing, rendering, and displaying of content
US10001934B2 (en) * 2015-05-08 2018-06-19 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method
JP6391532B2 (ja) * 2015-05-20 2018-09-19 キヤノン株式会社 通信装置、通信方法、及びプログラム
CN105162878B (zh) 2015-09-24 2018-08-31 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
US11027199B2 (en) 2015-11-12 2021-06-08 Nvidia Corporation System and method for network coupled gaming
US10630773B2 (en) 2015-11-12 2020-04-21 Nvidia Corporation System and method for network coupled cloud gaming
CN105978887A (zh) * 2016-06-15 2016-09-28 晶赞广告(上海)有限公司 用于大数据的数据接入方法、装置及系统
CN106649580A (zh) * 2016-11-17 2017-05-10 任子行网络技术股份有限公司 用于海量日志查询的流式数据处理方法和系统
US10896174B2 (en) * 2017-12-01 2021-01-19 Business Objects Software Limited Sharing artifacts with heterogeneous database connectivity
US20220107954A1 (en) * 2018-09-14 2022-04-07 Nippon Telegraph And Telephone Corporation Data processing system, method, and program
CN111367650B (zh) * 2018-12-26 2023-11-21 浙江大学 一种输入输出流的处理方法、装置及系统
CN111435919B (zh) * 2019-01-15 2023-08-08 菜鸟智能物流控股有限公司 一种配置参数的管理方法、装置及系统
CN110071857A (zh) * 2019-04-18 2019-07-30 合肥泛米智能科技有限公司 一种智能家居服务器和多终端进行数据交换的方法
CN111917511B (zh) * 2020-07-06 2024-01-30 青岛海尔科技有限公司 一种数据的接收方法
CN114721982A (zh) * 2022-03-22 2022-07-08 潍柴动力股份有限公司 一种可配置存储数据类型的读写处理方法及系统
CN114785764B (zh) * 2022-05-05 2023-07-21 西安禧九网络科技有限公司 一种基于大数据的请求传输系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1079771A (ja) * 1996-09-02 1998-03-24 Nippon Telegr & Teleph Corp <Ntt> 複数の通信プロトコルによる通信方法
JP2004153775A (ja) * 2002-09-03 2004-05-27 Ntt Docomo Inc 送受信制御装置、送受信制御方法および送受信制御プログラム
KR20080085258A (ko) * 2007-03-19 2008-09-24 경북대학교 산학협력단 UPnP AV 시스템에서의 실시간 스트리밍 프로토콜선택 장치 및 방법 및 기록매체

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
KR100270354B1 (ko) * 1996-11-20 2000-11-01 정선종 이기종망간의 중계 서버 및 실시간 중계 방법
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
US7068680B1 (en) * 1999-10-01 2006-06-27 Accenture Llp Communication service architectures for netcentric computing systems
US20010023444A1 (en) 2000-02-23 2001-09-20 Minoru Torii Information processing apparatus, information processing method and information processing program for transmitting data to external apparatus for communication of information on device
WO2001076170A2 (en) 2000-03-31 2001-10-11 Classwave Wireless Inc. Dynamic routing of content to mobile devices
US20030051142A1 (en) * 2001-05-16 2003-03-13 Hidalgo Lluis Mora Firewalls for providing security in HTTP networks and applications
US7043490B2 (en) 2002-03-05 2006-05-09 International Business Machines Corporation Method, system, and program product to support multiple content-management data models
US20040203624A1 (en) * 2002-09-12 2004-10-14 Teh Jin Teik Technique for sharing of files with minimal increase of storage space usage
JP2005151259A (ja) 2003-11-17 2005-06-09 Toshiba Corp データ転送装置およびプログラム
JP2006333034A (ja) 2005-05-26 2006-12-07 Sony Corp 通信方法、通信システム、通信装置、プログラム
US8116288B2 (en) 2005-09-09 2012-02-14 Soonr Corporation Method for distributing data, adapted for mobile devices
CN101026464A (zh) * 2006-02-25 2007-08-29 宇龙计算机通信科技(深圳)有限公司 无线终端的无线升级方法和无线升级系统
CN100477607C (zh) 2006-05-12 2009-04-08 华为技术有限公司 一种合法监听方法及装置
KR20080026795A (ko) * 2006-09-21 2008-03-26 삼성전자주식회사 네트워크의 라우팅 프로토콜 선택 방법 및 그 장치
US8745254B2 (en) * 2006-11-13 2014-06-03 The Mathworks, Inc. Communicating arbitrary data in a concurrent computing environment
CN1968276B (zh) * 2006-11-24 2010-04-07 清华大学 面向服务的体系结构环境下服务之间数据传输的动态优化方法
CN100583832C (zh) * 2007-03-30 2010-01-20 华为技术有限公司 数据管理方法及系统
JP5123681B2 (ja) 2008-02-05 2013-01-23 キヤノン株式会社 映像表示装置及びその制御方法、並びに映像出力装置及びその制御方法
CN101610303A (zh) * 2008-06-17 2009-12-23 中兴通讯股份有限公司 多媒体数据自动备份方法及系统
US20090327079A1 (en) * 2008-06-25 2009-12-31 Cnet Networks, Inc. System and method for a delivery network architecture
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法
US7715324B1 (en) 2009-03-26 2010-05-11 Limelight Networks, Inc. Conditional protocol control
KR20100133205A (ko) 2009-06-11 2010-12-21 (주)씨디네트웍스 최적의 전송 프로토콜 선택 방법 및 그 장치
US9047288B2 (en) 2012-01-06 2015-06-02 Apple Inc. Intelligent data delivery and storage based on data characteristics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1079771A (ja) * 1996-09-02 1998-03-24 Nippon Telegr & Teleph Corp <Ntt> 複数の通信プロトコルによる通信方法
JP2004153775A (ja) * 2002-09-03 2004-05-27 Ntt Docomo Inc 送受信制御装置、送受信制御方法および送受信制御プログラム
KR20080085258A (ko) * 2007-03-19 2008-09-24 경북대학교 산학협력단 UPnP AV 시스템에서의 실시간 스트리밍 프로토콜선택 장치 및 방법 및 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015030153; 福井隆、外5名: 'ビジネスプロセス管理を用いた異種分散データ収集システムの開発' 日本データベース学会Letters Vol.2, No.3, 20031218, pp.37〜40, 日本データベース学会 *

Also Published As

Publication number Publication date
WO2013103860A1 (en) 2013-07-11
US20150358384A1 (en) 2015-12-10
JP5932055B2 (ja) 2016-06-08
AU2016204919B2 (en) 2019-02-14
EP2801044A1 (en) 2014-11-12
US20130179542A1 (en) 2013-07-11
US9575968B2 (en) 2017-02-21
KR20140109943A (ko) 2014-09-16
CN104040545A (zh) 2014-09-10
KR101619684B1 (ko) 2016-05-10
US9047288B2 (en) 2015-06-02
CN104040545B (zh) 2019-01-29
AU2013207442B2 (en) 2016-04-21
AU2016204919A1 (en) 2016-07-28
AU2013207442A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
JP5932055B2 (ja) データ特性に基づくインテリジェントデータ配信及び記憶
US11775492B2 (en) Query-as-a-service system that provides query-result data to remote clients
US20200183882A1 (en) System and method for storing content on a content delivery network
US8868666B1 (en) Methods, devices and systems for content discovery, aggregation and presentment over a network
US9342529B2 (en) Directory-level referral method for parallel NFS with multiple metadata servers
US9300986B2 (en) Media system with canonical architecture for integrating media productions from different content providers
US20120072465A1 (en) Dynamic schema-based api mapping for traversing inter-cloud application boundaries
US20130218919A1 (en) Method and apparatus for managing content
US20170078361A1 (en) Method and System for Collecting Digital Media Data and Metadata and Audience Data
US20170344539A1 (en) System and method for improved scalability of database exports
US20150237056A1 (en) Media dissemination system
US8306944B2 (en) Apparatus, method and system for providing content of media server
EP3997888A1 (en) A system and a method for streaming videos by creating object urls at client
KR20160026951A (ko) 웹 클라우드 저장 장치와 망 내 저장 장치의 통합 브라우징 제공 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US10114864B1 (en) List element query support and processing
CN112783842B (zh) 一种日志收集方法和装置
US20160019707A1 (en) Mixed media file system
KR20130039003A (ko) 휴대용 단말기의 메타데이터 데이터베이스 복사를 이용한 멀티미디어 공유장치 및 방법
GRECA et al. Multimedia Database Systems and Oracle Video Streaming
Jaeger et al. Extending Cloud-based Object Storage with Content Centric Services.

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

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: 20160401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160427

R150 Certificate of patent or registration of utility model

Ref document number: 5932055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250