JP2008527468A - ハイブリッド・ローカル/リモート・ストリーミング - Google Patents

ハイブリッド・ローカル/リモート・ストリーミング Download PDF

Info

Publication number
JP2008527468A
JP2008527468A JP2007541374A JP2007541374A JP2008527468A JP 2008527468 A JP2008527468 A JP 2008527468A JP 2007541374 A JP2007541374 A JP 2007541374A JP 2007541374 A JP2007541374 A JP 2007541374A JP 2008527468 A JP2008527468 A JP 2008527468A
Authority
JP
Japan
Prior art keywords
streaming
application
software
stream
content
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.)
Withdrawn
Application number
JP2007541374A
Other languages
English (en)
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.)
Stream Theory Inc
Original Assignee
Stream Theory 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 Stream Theory Inc filed Critical Stream Theory Inc
Publication of JP2008527468A publication Critical patent/JP2008527468A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/1101Session protocols
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • A63F2300/207Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for accessing game resources from local storage, e.g. streaming content from DVD
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Abstract

ローカル・デバイスおよびリモート・デバイスからストリーミングする技術は、ストリーミング・アプリケーションに関連するデータの部分集合(subset)をローカル・デバイスに提供することを含む。本技術による方法の一例は、ストリーミング・ソフトウェア・プレーヤーを起動させること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、そして、ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすることを含む。本技術によるシステムの一例は、限定的でない例として、ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段、および、ストリーミング・サーバに定期的に問合せする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段を含むようにしてもよい。
【選択図】図1

Description

ソフトウェア・ストリーミングは、ストリーミングされるプログラムに必要な断片としてのファイルの小片をダウンロードすることを含む。これらの小片は、ブロックと呼ばれる。ストリーミング・クライアントは、要求されたブロックに関連するストリーミング・データを返信するストリーミング・サーバに、必要なブロックの要求を送信する。要求の送信やストリーミング・データの受信がストリームされたプログラムを低速にし得る遅延を引き起こす。
ストリームされたアプリケーションの利点は、ユーザがプログラムを実行するのに必要であるものをダウンロードするだけでよい点である。ストリームされたアプリケーションを提供するプロバイダーは、例えば、ハード・ディスクにインストールされるプログラムを提供するプロバイダーよりも、ストリームされたアプリケーションを完全に制御する。例えば、ストリームされたアプリケーションを提供するプロバイダーは、そのアプリケーションの時間単位の使用料を請求する。代わりに、ストリームされたアプリケーションを提供するプロバイダーは、ローカル・ディスクが、アクセスされないであろうコードで無駄にいっぱいになることを防ぐ。
ストリーミングには確かな利点があるが、否定したり、対処したり、少なくするのに有利なストリーミング・ソフトウェアに関連する多くの問題点もある。例えば、プログラムのストリーミングを早く実行することは、継続する問題である。また、他の例として、ストリームされたプログラムに対して、インストールに関連する類似した経験をユーザに提供することが望ましい。また、他の例として、コンソール上にストリームされたプログラムを提供することが望ましい。
さらに、ストリームされたアプリケーションを提供するプロバイダーは、著作権保護を試みることを望む。これは難しい場合がある。なぜなら、ストリームされたアプリケーションが特定のパソコンにダウロードされると、その使用者はストリームされたアプリケーションの全ての部分にアクセスができ、ストリームの必要性が排除され、著作権侵害のリスクが増加するからである。したがって、いくつかの問題に対する追加の課題は、ユーザが局部的に与えられたプログラムの全てにアクセスできることを防ぐことである。
本発明の実施形態は図の中で例示される。しかしながら、実施形態および図は例示であって、本発明は、これらに限定されるものではない。
ローカル・デバイスやリモート・デバイスからストリーミングする技術は、ストリーミング・アプリケーションに関連するデータの部分集合(subset)をローカル・デバイスに提供することを含む。限定的でない例として、データの第1の部分集合が消費者にリムーバブル・ストレージ・デバイスで提供されるようにしてもよい。本技術による方法の一例は、ストリーミング・ソフトウェア・プレーヤーを起動させること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスすること、そして、ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすることを含む。限定的でない実施形態において、本方法は、ソフトウェア・アプリケーションをストリームするための要求を送信することを含むようにしてもよい。そして、ソフトウェア・アプリケーションは、ローカル・ストレージ・デバイスと、例えば、ストリーミング・サーバのような離れた場所の両方からストリームされるようにしてもよい。
本技術による方法の他の例は、ストリーミング・サーバで、ストリーミング・アプリケーションに関連する第1のコンテンツを維持すること、ストリーミング・アプリケーションをストリームするための要求を受信すること、そして、要求に応じてトークン・ファイルを提供することを含む。トークン・ファイルは、限定的でない例として、ストリーミング・サーバに関連するアドレス、適切にストリーミング・アプリケーションをストリーミングするのに必要である第1のコンテンツをストリーミング・サーバから受信するための指示、および、適切にストリーミング・アプリケーションをストリーミングするのに必要である第2のコンテンツをローカル・ストリーミング・ソースから受信するための指示を含むようにしてもよい。限定的でない実施形態において、本方法は、ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツとに分割することを含むようにしてもよい。
本技術によるシステムの一例は、限定的でない例として、ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段や、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段や、ストリーミング・サーバに定期的に問合せをする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段を含むようにしてもよい。
ソフトウェア・タイトルの「ストリーミング・インストール」に関連する技術は、ソフトウェアのインストールや環境の構成といった、ソフトウェアを動かすのに通常必要であるステップの多くを減少させることを含む。そのタイトルをストリーミングすることは、始動の後にインストールされたソフトウェア・タイトルによく似るユーザ経験を提供する。
本技術のある面の利点は、ユーザが、典型的な非ストリーミング・ソフトウェア・タイトルのインストールよりさらに速くて簡単な始動を経験することができる点である。別の利点は、例えば、コンピュータ・ゲームではコンソール・ゲームとして、迅速で簡単にプレーすることができる点である。ストリーミング・アプリケーションにおける性能測定基準は、ストリームされたアプリケーションが実際に従来通り(すなわち、ストリームされない)にインストールされた同じタイトルと同様に機能するかどうかである。いくつかの場合、ストリームされたタイトルは、従来通りにインストールされたタイトルよりもよく機能しさえする。
ユーザの中には、ハード・ディスクへのインストールが、ストリーミング・ソフトウェア・タイトルの性能を向上させることができると信じている人もいる。CDやDVDが、ある一定のポイントでスピンダウンして、再びスピンアップする遅れを被るかもしれないので、これは本当であるかもしれない。従って、一実施形態において、ストリーミング・アプリケーションは、ハード・ディスクにインストールされる。ハード・ディスクへのストリーミング・アプリケーションのインストールが、非ストリーミング・アプリケーションのインストールと同じでないのに注目すべきである。ストリーミング・アプリケーションはインストールの後にまだストリームされている。例えば、CDやDVDの代わりにハード・ディスクから単にストリームされる。
複数のディスクからストリーミングがサポートされることが望ましいので、ディスクを交換しなければならないという問題を減少させるために、完全なインストールを使用することができる。いくつかの場合、マクロビジョン・セイフディスク・キー(Macrovision SafeDisc key)などのように、単一のCDやDVDがキーとして利用可能であることを必要とすることが望ましい。
同様に、ストリームされたアプリケーションは、マクロビジョン・セイフディスクをセキュリティに利用するアプリケーションをサポートするようにしてもよい。例えば、CDキーはスタートアップ時にマクロビジョン・セイフディスク・キー(Macrovision・SDK)の特徴を使用して、ソフトウェア・タイトルの使用を通じて定期的に確認されるようにしてもよい。マクロビジョン・セイフディスク・キーは各CDの上にあるようにしてもよい。
ユーザの中には、ソフトウェア・タイトルに関連するアセットやファイルへのアクセスを必要とするソフトウェア・タイトルを変更すること(モッド)を望む人もいるかもしれない。従って、ユーザに技術(モデル、テキスチャ、音、レベル・ファイルなど)などのようなソフトウェア・タイトルを提供する元のアセットへのアクセスが提供されるかもしれない。これらは、局所的に、変更、コピー、または挿入されて開くことができる。同様に、ユーザは、ネットワークからモッドをダウンロードして、モッドをソフトウェア・タイトルと統合することができる。
また、ユーザとソフトウェア・タイトル・プロバイダーは、ソフトウェア・パッチがさらに望ましいことが通常わかる。ストリームされたアプリケーションは、ユーザに最新のパッチをダウンロードする方法を提供する。
産業上のほとんどのソフトウェア・タイトルでは一般的であるように、CDやDVDのストリーミング・タイトルを提供するとき、製品登録を望むかもしれない。
圧縮の技術は、ストリームされたデータ・ファイルとして提供されるメディアを完全に利用するために応用される。例えば、ストリーミング・バッファの中へのデータのパッケージングは、Zipスタイル圧縮と同じくらいコンパクトであるかもしれない。
図1は、ソフトウェア・タイトルをストリーミングする典型的なプロセス、およびソフトウェア・タイトルに関連する他の動きのフローチャートを示す。限定的でない実施形態において、モジュール102では、図2Aで示すように、ユーザはコンピュータにCDを挿入する。限定的でない実施形態において、コンピュータにCDを入れるとコンピュータのオペレーティング・システム(例えば、Windows2000)でAutorun.infファイルが処理される。Autorun.infファイルは、「スタッブ」プログラムを参照し、実行する。モジュール104では、スタッブ・プログラムは初期のオプションをユーザに提供する。
スタッブ・プログラムは、製品登録や、ストリーミング・プレーヤー(例えば、ストリーム・ウィーバー)の検出、ストリーミング・プレーヤーのインストールといった様々なメニュー・オプションなどのような特徴をユーザに提供する。製品登録には、ユーザのコンピュータの永続的なメモリをチェックして、CD登録キーの入力がされたかどうか決定するのを伴うかもしれない。一つの実施形態において、製品が登録されていない場合(典型的には、タイトルがはじめてストリーミングされる時)、図2Bの中で例示されるように、登録プログラムは適切な登録情報のためにユーザを促す。
一つの実施形態において、スタッブ・プログラムは、CD登録キーと製品登録を入力するための画面を表示する。スタッブ・プログラムは、永続的なメモリにCD登録キーと製品登録に関する情報を保存する。ネットワーク(例えば、インターネット)上で登録情報をソフトウェア・タイトルのベンダーや作者に送る。ネットワーク接続が利用できないなら、登録は、ソフトウェア登録業界でよく理解されている他の方法で行われる。
もし、ユーザが登録手続をスキップするなら、この事実は、永続的なメモリに保存され、後でもう一度登録するようにユーザに問うかどうかを決めるときに使用される。もし、すでに登録を断っているなら、永続的なメモリにこの事実が保存され、そして、予定された期間が経過したかどうかチェックされる。もし、期間が経過したなら、再び登録する機会がユーザに与えられる。
別の実施形態において、もし、CDが以前に登録されたなら、スタッブ・プログラムは、登録を省き、図2Dに示すようなスプラッシュ・スクリーンに直接移る。
前記のように、スタッブ・プログラムは、図2Cで示すように、ストリーミング・プレーヤーの検出や、ストリーミング・プレーヤーのインストールなどの特徴を提供する。これらの特徴は、そのインストールや、もしインストールされているなら、関連するキーの値がないかどうか登録をチェックすることによって、ストリーミング・プレーヤーのバージョンのチェックを含むようにしてもよい。例えば、その登録は、キーの値が“HKEY_LOCAL_MACHINE/SOFTWARE/Stream Theory/Stream Theory Player/Install Path"を含む。キーが存在する場合、それはストリーム・セオリー・プレーヤーがインストールされることを意味し、インストールの位置を識別するべきである。インストールされたプレーヤーのバージョンは、キーの中で指定されたファイル、典型的には4.0.0.20のキーの値を備えた「C:/Program Files/Stream Theory/stfsd.sys」のバージョンのチェックにより決定されるかもしれない。もしプレーヤーが見つかれば、プレーヤーのバージョンは、要求される最小のプレーヤーと比較されるに違いない。プレーヤーが全くインストールされないか、またはバージョンが必要なソフトウェア・タイトルをサポートするのに不十分であるなら、CDやウェブ・サイトのようなリモート・ロケーションから、インストールできるプレーヤーが提供される。新しいプレーヤーのインストールは再起動を必要とする。
モジュール106(図1)における、限定的でない実施形態において、スタッブ・プログラムは、図2Dで示すように、「スプラッシュ・スクリーン」で様々なオプションをさらにユーザに提供する。そのオプションは、オートプレイ・オプション108(図1)や、ハード・ドライブにインストールするオプション110(図1)や、ファイル・エディタ・オプション112(図1)や、アップグレード・オプション114(図1)を含む。追加オプション(図示しない)は、ソフトウェア・タイトルの業者のウェブ・サイトや作者のウェブ・サイトなど、または終了のためのオプションを含む。
もし、ユーザがオートプレイ・オプションをクリックするなら、図2Eで示すように、モジュール116(図1)でストリーミング・アプリケーションを受け取り始める機会をすぐにユーザに与える。例えば、ゲーム・シェルは、図2Fで示すように、ゲームをロードすることや、新しいゲームをすること、オプションの設定をすることの能力をユーザに与えることを始める。動作は、従来通りにインストールされたソフトウェア・アプリケーションのものと同様であり、必ずしもゲームに制限があるというわけではない。
図2Gで示すように、モジュール118(図1)では、ソフトウェア・タイトルは、CD(または、以前に完全にインストールされているならハード・ドライブ)からデータをストリームする。さらに、マクロビジョン・セイフディスクは、必要に応じて、キー、あるいは、他のデータをチェックするのに使用される。オプションのモジュール120(図1)では、実行可能ファイルは、マクロビジョン・セイフディスクをチェックする。ファイル・システムは、必要なファイルがどのディスクにあるかを特定することができるくらい知的でなければならず、モジュール122(図1)で必要ならば、ディスクを交換するようにユーザに促す。もし、ハード・ドライブにインストールされるなら、ファイル・システムが別のCDを要求するときに、ユーザは、例えば、先へ進むためにキー・シーケンスを入力するかもしれない。この例では、キー・シーケンスは、まるで別のディスクが挿入されたかのように、ゲームを続かせるドライバによって遮断される。また、他の技術は、マルチディスクの機能性を提供するのに使用される。
モジュール124(図1)で、ユーザが、図2Hで示すように、ハード・ドライブにインストールするオプションをクリックするなら、ユーザは、ストリーミング・アプリケーションを(通常)ローカル・ハード・ドライブにインストールする機会を与えられる。インストールされたストリーミング・アプリケーションを扱うことにかかわる技術と、複数のCDから起動するストリーミング・アプリケーションを扱うことにかかわる技術は、よく似ている。それぞれのCDは、ストリーム・ファイルに相当する。特定のCDのためのアプリケーション・プロンプトであるときに、これは、現在アクティブなストリーム・ファイルの範囲の外でのブロックを求める要求によって検出される。ストリーミング・プレーヤーは、CDを変えるという要求の遮断と検出をしなければならない。
ストリーミング・タイトルをハード・ドライブにインストールするとき、システムは、通常、十分なディスク・スペースをチェックし、もしスペースが十分であるなら、図2Iに示すように、ストリーミング・ファイルのすべてをハード・ドライブにコピーする。さらに、ショートカットは、任意のモジュール126(図1)で作成される。ウィンドウ登録設定は、調整され、ショートカットへの取り外しコードは、「Add and Remove」というプログラムに追加される。特定の要求でCDをロードするためのユーザのプロンプトを入力することが必要である。ストリーミング・タイトルが一旦ハード・ドライブにインストールされると、ユーザは、例えば、図2Jで示すように、ストリーミング・プレーヤーを起動して、ストリーミング・アプリケーションを実行するためのショートカットを選択する。「Play Now」が選択される時、ハード・ドライブ上のキャッシュをモジュール128(図1)で示されるように、使用することができる。
モジュール112(図1)で、図2Kで示すように、ユーザがファイル・エディタ・オプションをクリックするなら、モジュール130(図1)で、図2Kで示すように、ファイル・エディタが起動する。ユーザは、変更あるいは置き替えることができる特定のファイルへのアクセスを得る。通常、そのストリームされたアプリケーションのファイル構造はユーザから隠される。もしアプリケーションがファイルを変更するなら、このファイルは、"C:/Stream Theory / local / app_name / … / file_to_be_edited"などのサブ・ディレクトリにコピーされる。
アプリケーションのパッチ(一部の修正)をする場合、エディタは、ストリームされたアプリケーションで処理されるべきであり、そのファイルがエディタから見えるよう、ストリームされたアプリケーションとしての同じストリーム・ファイルに含まれるべきである。変更されたファイルが保存されるとき、それはストリーム・ファイルとはならず、上記で指定されたディレクトリの下で、保存される。エディタは、外部のアプリケーションに見えるようにされたファイルを変更し、書き上げる。データ・ファイルは、「解凍」でないので、ストリーミング・データ・ファイルはそれらからオフライン方法で復元されない。
モジュール114(図1)で、図2Mで示すように、ユーザがアップグレード・オプションをクリックするなら、モジュール132で、図2Nで示すように、アップグレード・プログラムは、アップデートのチェックと適用を開始する。アップデートは、アップグレード、パッチ、または他の変更を含む。ストリーミング・アプリケーション・パッチで、アップグレード・スタッブ・プログラムは、パッチ・プログラムを始動するトークン・ファイルを呼び出す。そして、パッチ・プログラムは、新しいパッチを見つけ、検索するためにウェブ上に出る。新しいパッチがあれば、このファイルをダウンロードして、例えば、"C:/Program Files/Stream theory/local/app_name/… "のようなローカル・ディレクトリに保存する。ストリーミング・プレーヤーのファイル・システム・ドライバは、アップデートされたファイルや、より新しいアップデートに置き替えられるファイルがないかどうか、ローカルのアプリケーションディレクトリをチェックする。アプリケーションを実行すると、パッチされたファイルは、アクセスされ、ユーザにとって見えるようになる。
パッチ・プログラムは、ストリームされて、ストリーミング・アプリケーションで処理されるべきである。例えば、アプリケーションファイル構造は、アプリケーションの外から隠されるなら、これが必要であるかもしれない。アプリケーションの不正コピーを防ぐために安全保障上の理由でファイルが隠される。
ストリーミング・アプリケーションが、例えば、CDやDVDドライブでCDやDVDのコンテンツを予想するとき、ユーザは適切なディスクでスワップする必要がある。ストリーミング・アプリケーション自体は、特定のCDやDVDにあるデータに関連する情報がコード化されるトークン・ファイルを含む。適切なディスクが利用可能であることを確かめる事に関する問題を減少させるために、CDまたはDVDドライブを仮想化することができる。
図3Aは、ハイブリッド・ローカル/リモート・ストリーミングのためのシステム300について示す。そのシステム300は、第1ストリーミング・コンテンツ・データベース302と、第2ストリーミング・コンテンツ・データベース304と、ローカル・キャッシュ306と、ストリーミング・プレーヤー308とを含む。第1ストリーミング・コンテンツ・データベース302は、ストリーミング・サーバ310に置かれる。第2ストリーミング・コンテンツ・データベース304は、ストリーミング・クライアント312に置かれる。
一つの実施形態において、第2ストリーミング・コンテンツ・データベース304は、消費者に配布されるCDやDVDなどのリムーバブル・メディアに含まれる。第2ストリーミング・コンテンツは、直接リムーバブル・メディアからストリームされるか、またはローカル・メモリや、ハード・ディスク・ドライブなどのような非揮発性記憶装置にインストールされる。リムーバブル・メディアは、業界において周知であり、プライバシーや他の形式の知的所有権窃盗から保護するために絶え間なく発達するタイプのコピー保護安全装置を含む。
一つの実施形態において、第2ストリーミング・コンテンツ・データベース304は、ストリーミング・アプリケーションに関連するコンテンツのすべてを含んでいない。しかしながら、第1ストリーミング・コンテンツ・データベース302は、ストリーミング・アプリケーションのためのストリーミング・コンテンツの残りを含む。ストリーミング・コンテンツの業界で知られているように、ローカル・キャッシュ306は、ストリーミング・プレーヤー308がストリーミング・アプリケーションを実行する間、利用されるかもしれない。ブロックなどのコンテンツが、第1ストリーミング・コンテンツから要求されるとき、ストリーミング・プレーヤーは、ストリーミング・サーバ310からブロックを要求する。他方では、別のブロックのようなコンテンツが、第2ストリーミング・コンテンツから要求される場合、ストリーミング・プレーヤーは、第2ストリーミング・コンテンツ・データベース304が提供されたリムーバブル・メディアのようなローカル・ソースあるいは第2ストリーミング・コンテンツ・データベース304がインストールされたハード・ドライブのようなローカル・ソースからブロックを要求する。ブロックのような要求されたコンテンツが貯えられる場合、要求はローカル・キャッシュ306によって受け取られる。
いくつかの要求されたブロックが局所的に入手できるので、広帯域アクセスが利用できない、または制限されていても、高い率の速度でソフトウェアをストリームするのにシステム300を有利に使用することができる。これは、大容量のソフトウェア・タイトルに対しては、かなりの有用性がある。そのうえ、あるデータを比較的安全に保つことは、時々有益である。安全に保たれるべきであるデータは、局所的に提供されるブロックにコード化することができる。
図3Bは、ハートビート・モニター330を含むシステム300に関する例について示す。ハートビート・モニター330は、時折確認されるか、質問されるか、または別の方法で、ストリーミング・アプリケーションの進行中のストリーミングについて通知される。ソフトウェア・タイトルがどれほど使用され、どれくらいの時間、例えば、ソフトウェア・タイトルを使用することに時間を費やす目的について知ることは望ましい。ハートビート・モニター330は、どのブロックが要求されているか、また、どんなオーダーかなどの追加情報を受け取り、要求を阻むことや、ソフトウェア・タイトルの将来のバージョンのコンテンツ・データベースを構成することの回答を予測するように提供する助けになる。
図4Aは、ハイブリッド・ローカル/ネットワーク・ストリーミングのためのシステム400に関する例について示す。そのシステム400は、ストリーミング・プレーヤー402と、第1コンテンツ・データベース404と、第2コンテンツ・データベース406と、ネットワーク・インターフェース408とを含む。ストリーミング・プレーヤー402と第1コンテンツ・データベース404は、ストリーミング・クライアント412上にあり、そのクライアントは、インターネットを含むかもしれないネットワーク420と結合される。第2コンテンツ・データベース406とネットワーク・インターフェース408は、ネットワーク420とも結合されるストリーミング・サーバ410に置かれている。
一つの実施形態において、第1コンテンツ・データベース404は、20番目毎のブロックが抜けており、第2コンテンツ・データベース406では20番目毎のブロックを含む。ストリーミング・プレーヤー402が、第1、第2コンテンツ・データベース404,406の中のブロックに関連するストリーミング・アプリケーションを実行するとき、ストリーミング・プレーヤー402は、データベースのブロックの要求をする。ブロックの要求が第1コンテンツ・データベース404のブロックの1つであるなら、ブロックの要求は局所的に支払われる。他方では、ブロックの要求が第2コンテンツ・データベース406のブロックの1つであるなら、ネットワーク420を通してブロックの要求をする。その要求は、ストリーミング・プレーヤーへネットワーク420を通してネットワーク・インターフェース408を介してブロックの要求に回答を送るストリーミング・サーバ410によって受け取られる。要求がストリーミング・サーバ410によって一旦受け取られると、要求されたブロックが局所的にキャッシュされるかもしれないことに注意すべきである。
ストリーミング・アプリケーションは、異なった多種のブロックのセットのいくつかを保持するために構成されるかもしれない(例えばあらゆる5番目のブロックや、与えられたサイズより小さいあらゆるブロックなど)。図4Bは、システム400のためのコンテンツ・データベースの代替の構成について示す。図4Bに関する例では、ストリーミング・アプリケーションに関連するブロックは、ライブラリに組織化される。ストリーミング・サーバ410に置かれるコンテンツ・データベースは、ライブラリ1からNに対応するライブラリ・ブロックの部分集合416-1から416-Nとして、図4Bに示されるそれぞれのライブラリの最初の5ブロックを含む。ストリーミング・クライアント412上に置かれるコンテンツ・データベースは、ライブラリ1からNに対応するライブラリ・ブロックの部分集合414-1から414-Nとして、図4Bに示されるそれぞれのライブラリの6番目と、後のブロックをそれぞれに含む。
図4Bの中で描かれるようなコンテンツ・データベースを整えることは、(より速いであろう)ローカル・ソースのストリームされたコンテンツによって補われるストリーミング・サーバに要求されたブロック間のダウンロード期間を考慮する。一つの実施形態において、ストリーミング・サーバ410に置かれるブロックは、ソフトウェア・タイトルの自然な中断の間に現れるヘッダー情報を含む。例えば、複数のレベルを持っているゲームが構成されるかもしれないので、ヘッダー情報は各レベルを始める前に、ストリーミング・サーバ410から要求されて、各レベルの間に、コンテンツは局所的に要求される。予測的な要求能力、帯域幅および他の要因に依存して、各レベル間のポーズを要する。
図5に、ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングのための方法のフローチャート500を示す。一つの実施形態において、フローチャート500は、ストリーミング・サーバからストリーミング・アプリケーションに関連するコンテンツについて第1の部分集合をストリーミング502することから始まる。一つの実施形態において、フローチャート500は、ローカル・ソースからストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をストリーミング504し続ける。一つの実施形態において、フローチャート500は、ストリーミング・サーバについて問合せる506ことを定期的に続け、その定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知する。
図6は、ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングのためのメソッドのフローチャート600を示す。一つの実施形態において、フローチャート600は、ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツに分割602することで始まる。これは、ストリーミング・ソフトウェア開発のストリーム化段階で行われるようにしてもよい。代わりに、アルゴリズムに基づいて、以前にストリーム化されたアプリケーションは分割されるようにしてもよい。(例えば、第1のストリーミングデータベースから20番目毎のブロックを取り外して、第2のストリーミング・コンテンツ・データベースでの20番目毎のブロックを置く)形態では、フローチャート600は、ストリーミング・サーバ上に第1のコンテンツを維持し続ける。これは、ユーザがアプリケーションをストリーミングし始めるために訪れるかもしれないウェブ・サイトを提供するのを伴う。ウェブ・サイトは、ストリーミング・コンテンツと同じ場所、または離れた場所にある。一つの実施形態において、フローチャート600は、ストリーミング・アプリケーションをストリームするという要求の受け取り606を続ける。一つの実施形態において、フローチャート600は、要求に対応してトークン・ファイルを提供し続ける。そのトークン・ファイルは、ストリーミング・サーバに関連するアドレスや、ストリーミング・サーバから第1のコンテンツを受け取る指示や、そして、ローカルのストリーミングのソースから第2のコンテンツを受け取る指示を含む。
一つの実施形態において、アプリケーションをストリームするのに使用されるストリーミング・ソフトウェア・プレーヤーは、FSDがロードされたかどうか、またはユーザがロードされたかどうか割り出すのに使用されるDLLを利用する。ユーザは、複数のストリーム・ファイルからストリームすることができるべきである。アプリケーションの一般的なファイルは、1枚のCDにフィットしなければならない。ユーザは、ストリーム・ファイルに切り換わるハード・ドライブにインストールされたソフトウェア・タイトルの新譜か仮想の同等物を求める要求を妨害することができるべきである。
ハード・ドライブの上にインストールされたファイルにおいて、ストリーミングがCDからされたかどうか、ハード・ディスクに保存されたストリーム・ファイルからされたかどうか、または他のどこかからされたかどうか割り出せるように、ストリーミング・ソフトウェア・プレーヤーについて登録がチェックされるべきである。ストリーミング・アプリケーションがディスクの上に完全にインストールされたソフトウェアのように起動することを望むなら、そのストリーミング・アプリケーションは、それがいつ異なったストリーム・ファイルに切り替わることになっているかを知るべきである。ユーザ・ファイル・システム・ドライバは、このためにストリーム・ファイルを切り換えるというシステムレベル要求をサポートする。完全にインストールされたアプリケーションは、アプリケーションを切り替えするようにFSDに呼びかけさせる。パッチ・サポートにおいて、ユーザは、異なった実行を呼び出すためのコマンドラインスイッチをサポートすることを必要とされる。ソフトウェア・タイトル・エディタ・サポートにおいて、ファイルがストリーミング・ソフトウェア・プレーヤーに関連するディレクトリに書き上げられる時のための論理は、ソフトウェア・タイトルから区別されて、慎重に扱われるべきである。
ストリーミング・アプリケーションは、セイフディスク・データを読むことを可能にするために構成される。CDであろうとハード・ドライブであろうとそれが起動していないで、アプリケーションがC-ドライブに完全にインストールされるかのように見えるように、ストリームされたアプリケーションが構成される。もしアプリケーションの一部が、ハード・ドライブとCDの上にインストールされるように見えるなら、問題は起こる。このような場合なら、この事実は、アプリケーションを処理する間、キャプチャされ、トークン・ファイルの中に保存する。アプリケーションがCDから要求をするとき、ファイル・システム・ドライバは、要求を妨害して、アプリケーションに対して要求が有効であるかどうかと割り出す。もし要求がセイフディスク情報のためのものであるなら、ST FSDによるCDからの要求の妨害は、要求が失敗する原因になる。
しかしながら、もしアプリケーションが組織化されている(すべてがC-ドライブの上に現われる)ため、インストール状態におけるデータがCDにとどまらないなら、この事実は、アプリケーションの処理の間、トークン・ファイルで示されるかもしれない。この場合、ファイル・システム・ドライバは、CDへの呼び出しを妨害しないであろうし、セイフディスク情報を求める要求は成功する。
どこにファイルが置かれているとアプリケーションが思うか、そして、実際のデータがどこからストリームされるのかというのは、2つが別物であるので、これは紛らわしく見えるかもしれない。実際のストリーム・データは、CD、ネットワーク、または、これらのすべての場合に、ファイルと実行ファイルがC-ドライブ上にあるように見えるハード・ディスクから得ることができたであろう。アプリケーションのインストールされたバージョンが、ストリーミング形式に変えられるときであっても、アプリケーションは、いくつかのデータがCD(セーフデータを除く)上にあると仮定しない。
マルチCDからストリームされたアプリケーションにおいて、コードがどう開発されて、構造化されるかに課された特定の要求がある。ストリームされないマルチCDゲームでは、異なったCD上に置かれている新しいファイルが必要であるように、アプリケーションは、特定のCDが挿入されるのを要求する。古いCDはアンマウントされ、そして、新しいCDはCD挿入のときにマウントされる。ストリームされたマルチCDゲームとは動作がいくらか異なっているかもしれない。ストリームされたアプリケーションでは、すべてのファイルの全体のディレクトリ構造は、現在マウントされたCD上に実際のファイルがないが、存在するように見える。これは、アプリケーションがストリームされる時に、全体のアプリケーションファイルおよびディレクトリ構造を知っていなければならないからである。
ストリーム・データ・ブロックを備えたCDが存在しないので、アプリケーションが存在しないアプリケーションの一部を参照しようとする場合、問題を引き起こす。たとえ読み取りファイルが利用可能に見えても、読み取りは失敗するだろう。このために、アプリケーションは、あたかもファイルがすべて存在するかのように現れるこの構造の2分法を有するが、異なるCDが挿入されることをいつ要求する必要があるかについて気づいていなければならない。ストリームされないマルチCDゲームでのように、ゲームは新しいCDを挿入する要求を出す。これは、さらにCDがそれぞれオーバーラップするディレクトリ構造を持つことができないことを示唆する。
CD間で共通なアプリケーションの部分が知られているように、ストリームされたアプリケーションが組み立てられる。ストリームされたアプリケーションは、キャッシュにこれらの共通の部分をロックするか、あるいはハード・ドライブにそれらをコピーすることができる。これらのファイルは、アプリケーションがストリームされたアプリケーションに変えられる時に識別される。
同様に、オンライン・ゲーム・プレーは、CDによって、あるいはフォーマットされたストリーム・データを備えたCDによって、アクセスされたゲームに移る。CDから伝統的に実行されたゲーム用の実行ファイルあるいはデータを検索するアクセスタイムは、ストリーム・データを備えたCDからデータにアクセスするのに必要な時間と事実上同一である。さらに、これはディスクに保存されたアプリケーションには真実である。さらに、実行ファイルまたはデータのどれもネットワークによってアクセスされないこの状況を考慮すると、そこに、オンライン・プレー・データ交換と、ハード・ディスクやCDへのアクセスとの間の帯域幅に対する最小の競合があるか、または、競合はない。
ゲーム・ファイル・システムは、ローカルやハード・ドライブ、およびストリームされたCDキャッシュの階層を探索するために修正される。ファイルは、ディスク(キャッシュ)確認者を持っている。必要ならば、ファイル・システムは、正確なディスクを挿入するようにユーザに促す。ゲームは、単純性のためにディスク・スワッピング・ポイントを制限するべきである。これは(少なくとも)レベル境界のようなものである。したがって、スワッピングは、起動するゲーム中ではなくユーザ・インターフェース・シェルの中で起こる。手前であらかじめこのディレクトリを計算することができるかもしれないし、CD上の付加的なデータ・ファイルでありえたかもしれない。取り扱う複数のディスクは、各ディスク上の複製されたデータを必要とする。これは、全面的なメディア・スペースの必要条件に影響を否定的に与えることができた。これを解決するための可能な代案は、ハード・ディスクへの部分的なインストールや、個別のディスク上のストリーム・セオリ・バッファの中でそれらを複写することではなく、共有されるコンポーネントをインストールすることを常に行うことである。
図7および図8の次の記述は、コンピュータ・ハードウェアの概観を提供することを意図し、発明の方法を行なうのにふさわしい他の操作のコンポーネントをここに記述したが、適用可能な環境を制限するものではない。同様に、コンピュータ・ハードウェアおよび他の操作のコンポーネントは、ここに記述された発明の構成の一部として適切かもしれない。本発明は、携帯端末、マルチプロセッサ・システム、マイクロプロセッサに基づいているかプログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータおよびその他同種のものを含む他のコンピュータ・システム構成で実行することができる。本発明も、通信網によってリンクされるリモート・プロセッシング・デバイスによってタスクが行なわれる分散コンピューティング環境の中で実行することができる。
図7は、インターネットのようなネットワーク702を通じてともにつながれたいくつかのコンピュータ・システムを含むネットワークにつながれたシステム700を示す。ここに使用されるような用語「インターネット」は、TCP/IPプロトコルのようなあるプロトコル、および、おそらくハイパー・テキスト・トランスファ・プロトコル(HTTP)のような他のプロトコルをワールド・ワイド・ウェブ(ウェブ)を構築するハイパー・テキスト・マークアップ・ラングウェッジ(HTML)・ドキュメントに使用するネットワークを指す。インターネットの物理接続およびインターネットのプロトコルおよびインターネットの通信規定は、当業者によく知られている。
ウェブ・サーバ704は、主にサーバ・コンピュータ・システムとして作動し、ワールド・ワイド・ウェブのプロトコルで作動するように構成される少なくとも1つのコンピュータ・システムで、インターネットにつながれる。ウェブ・サーバ・システム704は、従来のサーバ・コンピュータ・システムになりえる。ウェブ・サーバ704は、自由に、クライアント・システムにインターネットへのアクセスを提供するISPの一部になりえる。ウェブ・サーバ704は、メディア・データベースの形式と考えることができるウェブ・コンテンツ708につながるサーバ・コンピュータ・システム706につながれることを示す。下記のように、2つのコンピュータ・システムズ704および706は、図7の中で示されるが、ウェブ・サーバ・システム704およびサーバ・コンピュータ・システム706は、サーバ・コンピュータ・システム706によって提供されるウェブ・サーバ機能性およびサーバ機能性を提供する異なるソフトウェア・コンポーネントを有する1つのコンピュータ・システムである。
ネットワーク702へのアクセスは、ISPs 710および716のようなインターネット・サービス・プロバイダー(ISPs)によって主に提供される。クライアント・コンピュータ・システム712,718,722,726のようなクライアント・システム上のユーザは、インターネットにISP 710,716を通じてアクセスする。インターネットへのアクセスは、情報を交換し、受け取り、電子メールを送り、HTMLフォーマットで準備されているドキュメントのようなドキュメントを見るクライアント・コンピュータ・システムのユーザを許可する。これらのドキュメントは、インターネット上のウェブ・サーバ704のようなウェブ・サーバによって、しばしば提供される。たとえ、コンピュータ・システムをセット・アップすることができ、そのシステムもISPsもなしでインターネットに接続できたとしても、これらのウェブ・サーバはISPs 710のようなISPsによって提供される。
クライアント・コンピュータ・システム712,718,722,726は、各々、適切なウェブ・ブラウジング・ソフトウェアで、ウェブ・サーバ704によって提供されるHTMLページを見ることができる。ISP 710は、クライアント・コンピュータ・システム712の一部と考えることができるモデム・インタフェース714を通して、クライアント・コンピュータ・システム712にインターネット接続を提供する。クライアント・コンピュータ・システムは、パソコン・システム、ネットワーク・コンピュータ、ウェブ・テレビ・システムあるいは他のコンピュータ・システムになりえる。図7は、一般的な「モデム」としてモデム・インタフェース714を示すが、インターフェースは、アナログ・モデム、ISDNモデム、ケーブル・モデム、衛星伝送インターフェース(例えば「直接のPC」)あるいは他のコンピュータ・システムにコンピュータ・システムをつなぐための他のインターフェースになりえる。
ISP 714と同様に、ISP 716は、クライアント・システム718,722,726にインターネット接続を供給するが、図7で示されるように、接続は、これらの3つのコンピュータ・システムに対して同一ではない。
クライアント・コンピュータ・システムズ722,726は、ネットワーク・インターフェース724,728を通ってイーサネット・ネットワークあるいは他のネットワーク・インターフェースになりえるLAN 730につながれる。LAN 730も、ローカル・エリア・ネットワークにファイアウォールおよび他のインターネット関連のサービスを供給することができるゲートウェイ・コンピュータ・システム732につながれる。このゲートウェイ・コンピュータ・システム732は、クライアント・コンピュータ・システムズ722,726にインターネット接続を供給するISP 716につながれる。ゲートウェイ・コンピュータ・システム732は従来のサーバ・コンピュータ・システムになりえる。
あるいは、サーバ・コンピュータ・システム734は、クライアント722,726にファイル738および他のサービスを供給するために、ゲートウェイ・システム732によってインターネットに接続する必要なしに、ネットワーク・インターフェース736を通ってLAN 730に直接つなぐことができる。
図8は、システム700(図7)で使用されるコンピュータ・システム740を示す。コンピュータ・システム740は、クライアント・コンピュータ・システムあるいはサーバ・コンピュータ・システム、あるいはウェブ・サーバ・システムとして使用することができる従来のコンピュータ・システムかもしれない。そのようなコンピュータ・システムは、ISP 710(図7)のようなインターネット・サービス・プロバイダーの機能の多くを行なうために使用することができる。
図8の例では、コンピュータ・システム740は、コンピュータ742、I/Oデバイス744およびディスプレイ・デバイス746を含む。コンピュータ742は、プロセッサ748、コミュニケーション・インターフェース750、メモリ752、ディスプレイ・コントローラ754、不揮発性の記憶装置756およびI/O・コントローラ758を含む。コンピュータ・システム740は、おそらく、I/O装置744およびディスプレイ装置746に連結されるかあるいは含む。
コンピュータ742は、モデムかネットワーク・インターフェースを含むかもしれないコミュニケーション・インターフェース750を通して、外部システムと調和する。コミュニケーション・インターフェース750は、コンピュータ・システム740あるいはコンピュータ742の一部であると考えることができると認識されるであろう。コミュニケーション・インターフェースは、アナログ・モデム、ISDNモデム、ケーブル・モデム、トークン・リング・インターフェース、衛星伝送インターフェース(例えば「ディレクトPC」)あるいは他のコンピュータ・システムにコンピュータ・システムをつなぐための他のインターフェースになり得る。
プロセッサ748は、例えばインテル・ペンティアム・マイクロプロセッサあるいはモトローラ・パワーPCマイクロプロセッサのような従来のマイクロプロセッサかもしれない。メモリ752はバス760でプロセッサ748につながれる。メモリ752はDynamic Random Access Memory (DRAM)になりえて、さらにStatic RAM (SRAM)を含むことができる。バス760は、メモリ752、さらに不揮発性の記憶装置756、ディスプレイ制御装置754およびI/Oコントローラ758にプロセッサ748をつなぐ。
I/O装置744はキーボード、ディスクドライブ、プリンタ、スキャナ、およびマウスあるいは他のポインティング・デバイスを含む他の入出力装置を含むことができる。ディスプレイ制御装置754は、従来の方法でディスプレイ装置746上の、例えば、陰極線管(CRT)か液晶ディスプレイ(LCD)になりえるディスプレイをコントロールするかもしれない。ディスプレイ制御装置754およびI/Oコントローラ758は、従来の有名な技術で実行することができる。
不揮発性記憶装置756は、多くの場合、大量のデータ用の磁気ハード・ディスクや光ディスクあるいは別の形式の記憶装置である。このデータのうちのいくつかは、ダイレクト・メモリー・アクセス・プロセスによって、コンピュータ742中のソフトウェアの実行の間、メモリ752にしばしば書かれている。技術におけるスキルのうちの1つは、「機械可読媒体」あるいは「コンピュータ可読媒体」という用語が、プロセッサ748によってアクセス可能で、さらにデータ信号をエンコードする搬送波を包含する任意のタイプの記憶装置を含むことを直ちに認識するであろう。
オブジェクト、方法、インライン・キャッシュ、キャッシュ状態および他のオブジェクト指向のコンポーネントは、不揮発性記憶装置756に格納されるかもしれず、あるいは、例えばオブジェクト指向のソフトウェア・プログラムの実行の間に、メモリ752に書き込まれるかもしれない。このように、例えば図1〜3および6の中で例示されたコンポーネントは、コンピュータ・システム740上で実証することができる。
コンピュータ・システム740は、異なるアーキテクチャーを持つ多くの可能性のあるコンピュータ・システムの1つの例である。例えば、インテル・マイクロプロセッサに基づいたパソコンはしばしば多数のバスを持っている。そのうちの1つは、周辺装置、およびプロセッサ748やメモリ752(しばしばメモリ・バスと呼ばれる)を直接接続するためのI/Oバスになり得る。それらのバスは、異なるバス・プロトコルにより、どんな必要な翻訳も行なうブリッジ・コンポーネントによってともに接続される。
ネットワーク・コンピュータは、本発明と共に使用することができる別のタイプのコンピュータ・システムである。ネットワーク・コンピュータは、通常ハード・ディスクあるいは他のマス・ストレージを含んでいない。また、実行可能プログラムは、プロセッサ748によってネットワーク接続から実行用のメモリ752にロードされる。ウェブテレビ・システム(その業界の中で知られている)も本発明によるコンピュータ・システムであると考えられる。しかし、それは、ある入力あるいは出力装置のような図8の中で示される特徴のうちのいくつかを欠くかもしれない。典型的なコンピュータ・システムは、通常、少なくとも1台のプロセッサ、メモリ、およびプロセッサにメモリをつなぐバスを含むであろう。
さらに、コンピュータ・システム740は、オペレーティング・システム・ソフトウェアの一部であるディスク・オペレーティング・システムのようなファイル管理システムを含むオペレーティング・システム・ソフトウェアによってコントロールされる。その関連するファイル管理システム・ソフトウェアを備えたオペレーティング・システム・ソフトウェアの1つの例は、レドモンド(ワシントン)のマイクロソフト株式会社のウインドウズとして知られるオペレーティング・システムおよびそれらの関連するファイル管理システムの一群である。その関連するファイル管理システム・ソフトウェアを備えたオペレーティング・システム・ソフトウェアの別の例は、Linuxオペレーティング・システムおよびその関連するファイル管理システムである。ファイル管理システムは、不揮発性記憶装置756に典型的に格納され、プロセッサ748に、データの入出力やメモリへのデータの格納(不揮発性記憶装置756上にファイルを格納することを含む)をするために、オペレーティング・システムによって要求される様々な行為を実行させる。
詳細な記述のいくつかの部分は、コンピュータ・メモリー内のデータ・ビットに対するオペレーションのアルゴリズムおよび記号による表現の点から示される。これらのアルゴリズムの記述および表現は、技術に熟練する他のものに対して、最も有効にそれらの仕事の大部分を伝えるためにデータ処理技術に熟練する人々によって使用される手段である。アルゴリズムは、希望の結果に結びつくオペレーションの自己矛盾がないシーケンスであると一般に考えられる。オペレーションは、物理量の物理的な操作を必要とする。通常、必ずではなく、これらの量は、格納すること、転送すること、組み合わせること、比較すること、またそうでなければ操作することが可能である電気的あるいは磁気的信号の形式をとる。これらの信号をビット、値、要素、シンボル、文字、用語、数あるいはその他同種のものと呼ぶことは、主に一般的慣習の理由で、時々便利であると分かる。
しかし、これらの全ておよび同種の用語が、適切な物理量に関連し、これらの量に適用された単に便利なラベルであるということは心に留めておかれるべきことである。特に別記しない限り、次の議論から明白なものとして、「処理」あるいは「コンピューティング」、「計算する」、「決定する」あるいは「表示する」、または、同様の用語を利用する議論、コンピュータ・システムの動きおよび処理に言及する、あるいは、同種の電子コンピューティング装置、又は、コンピュータ・システムのコンピュータ・システム・メモリや登録、あるいは、他の情報記憶内の物理量として同様に表わされた他のデータの中への登録、および、メモリ内の物理的な(電子)量として表わされるデータの操作や変換、トランスミッション、あるいは、ディスプレイ装置、のような記述の全体にわたって評価される。
本発明は、さらにいくつかの実施形態において、オペレーションをここに実行するための装置に関係がある。この装置は、要求された目的のために特に構築されるかもしれない。あるいは、それは、コンピュータに格納されたコンピュータ・プログラムによって選択的に活性化されるか再構成される汎用計算機を含むかもしれない。そのようなコンピュータ・プログラムは、フロッピーディスク、光ディスク、CD-ROMおよび光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリー(RAM)、EPROM、EEPROM、磁気あるいは光カード、電子指示を格納し、各々がコンピュータ・システム・バスに連結されるのに適した任意のタイプのメディアのようなコンピュータで読取り可能な記憶媒体に格納される。しかし、これらに限定されるものではない。
ここに示されたアルゴリズムとディスプレイは、本質的にどんな特別のコンピュータ、あるいは、他の装置とも関係がない。あるいは、いくつかの形態の方法を行なうための、より多くの専門の装置を構築することは、便利であると分かり得る。様々なこれらのシステム用の必要な構造が、記述から下に現われるであろう。さらに、本発明は、どんな特別なプログラミング言語に関しても記述されない。また、様々な形態は、様々なプログラミング言語を使用して、このように実行されるかもしれない。
本発明で記述された形態の修正、交換および均等物が本発明の創造性の範囲内であることが、当業者によって理解されるだろう。したがって、次に添付される特許請求の範囲は、本発明の真情および範囲内での修正、交換および均等物をすべて含むことを意図し、本発明は、特許請求の範囲によってのみ限定される。
ソフトウェア・タイトルをストリーミングするプロセスおよびソフトウェア・タイトルに関連する他の動きのフローチャートを示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ソフトウェアのストリーミングに関する経験の例を示す。 ハイブリッド・ローカル/リモート・ストリーミングのシステムを示す。 ハイブリッド・ローカル/リモート・ストリーミングのシステムを示す。 ハイブリッド・ローカル/リモート・ストリーミングのシステムの例を示す。 ハイブリッド・ローカル/リモート・ストリーミングのシステムの例を示す。 ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングの方法のフローチャートを示す。 ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングの方法のフローチャートを示す。 実施形態において使用されるネットワーク化されたシステムを示す。 図7のシステムで使用されるコンピュータ・システムを示す。

Claims (20)

  1. ストリーミング・ソフトウェア・プレーヤーを起動させること、
    ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、
    ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスすること、
    ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすること
    を含む方法。
  2. ソフトウェア・アプリケーションをストリームするための要求を送信することをさらに含む請求項1に記載の方法。
  3. ソフトウェア・アプリケーションをストリームするための要求に応じてトークン・ファイルを受信することをさらに含む請求項1に記載の方法。
  4. ソフトウェア・アプリケーションをストリームするための要求に応じてストリーミング・サーバのアドレスをリモート・ロケーションで受信することをさらに含む請求項1に記載の方法。
  5. ソフトウェア・アプリケーションをストリームするための要求に応じて、リモート・ロケーションから第1のコンテンツにアクセスするための指示と、ローカル・ストレージ・デバイスから第2のコンテンツにアクセスするための指示とを受信することをさらに含む請求項1に記載の方法。
  6. リモート・ロケーションでストリーミング・サーバに定期的に問合せすることをさらに含み、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知する請求項1に記載の方法。
  7. ローカル・ストレージ・デバイスは、リムーバブル・ストレージ・デバイスである請求項1に記載の方法。
  8. ストリーミング・サーバで、ストリーミング・アプリケーションに関連する第1のコンテンツを維持すること、ストリーミング・アプリケーションをストリームするための要求を受信すること、要求に応じてトークン・ファイルを提供することを含み、前記トークン・ファイルは、ストリーミング・サーバに関連するアドレスと、適切にストリーミング・アプリケーションをストリーミングするために必要である第1のコンテンツをストリーミング・サーバから受信するための指示と、適切にストリーミング・アプリケーションをストリーミングするために必要である第2のコンテンツをローカル・ストリーミング・ソースから受信するための指示とを含む方法。
  9. ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツとに分割することをさらに含む請求項8に記載の方法。
  10. ネットワーク化されたサーバに第1のコンテンツを維持することをさらに含む請求項8に記載の方法。
  11. ストリーミング・アプリケーションをストリームするのに必要なファイルであって、第2のコンテンツに関連するローカル・アドレスと、第2のコンテンツに関連するリモート・アドレスとを含むファイルを消費者に提供することをさらに含む請求項8に記載の方法。
  12. 第2のコンテンツをリムーバブル・メディアに置くことをさらに含む請求項8に記載の方法。
  13. 保存された第2のコンテンツを有するリムーバブル・メディアが消費者にとって利用可能にすることをさらに含む請求項8に記載の方法。
  14. ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段と、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段と、ストリーミング・サーバに定期的に問合せする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段とを含むシステム。
  15. ストリーミング・ソフトウェア・プレーヤーを起動させる手段をさらに含む請求項14に記載の方法。
  16. ソフトウェア・アプリケーションをストリームするための要求をストリーミング・サーバに送信する手段をさらに含む請求項14に記載のシステム。
  17. ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
  18. ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
  19. ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
  20. ローカル・ソースがリムーバブル・ストレージ・デバイスである請求項14に記載のシステム。
JP2007541374A 2004-11-13 2005-11-14 ハイブリッド・ローカル/リモート・ストリーミング Withdrawn JP2008527468A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US62750204P 2004-11-13 2004-11-13
US62851704P 2004-11-15 2004-11-15
PCT/US2005/041024 WO2006055445A2 (en) 2004-11-13 2005-11-14 Hybrid local/remote streaming

Publications (1)

Publication Number Publication Date
JP2008527468A true JP2008527468A (ja) 2008-07-24

Family

ID=36407661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007541374A Withdrawn JP2008527468A (ja) 2004-11-13 2005-11-14 ハイブリッド・ローカル/リモート・ストリーミング

Country Status (4)

Country Link
US (4) US20060168294A1 (ja)
EP (1) EP1825390A2 (ja)
JP (1) JP2008527468A (ja)
WO (1) WO2006055445A2 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7240162B2 (en) * 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
JP2008527468A (ja) 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
KR101075676B1 (ko) * 2004-11-20 2011-10-21 삼성전자주식회사 이동통신 단말기에 소프트웨어를 설치하는 장치 및 방법
US20060136389A1 (en) * 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
EP1696321A1 (en) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US9716609B2 (en) 2005-03-23 2017-07-25 Numecent Holdings, Inc. System and method for tracking changes to files in streaming applications
US20060218165A1 (en) * 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
EP2085973A1 (en) * 2006-10-17 2009-08-05 Soft-R Research LLC System and method for recording data on a multi-session optical recording disc with autorun
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
KR20090017351A (ko) * 2007-08-14 2009-02-18 (주)씨디네트웍스 프로그램 제어장치, 프로그램 제어방법 및 그 기록 매체
US20090063978A1 (en) * 2007-09-05 2009-03-05 Sony Corporation Network status icon in navigable toolbar
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US20090138876A1 (en) 2007-11-22 2009-05-28 Hsuan-Yeh Chang Method and system for delivering application packages based on user demands
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
KR100936239B1 (ko) * 2007-12-18 2010-01-12 한국전자통신연구원 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8863116B1 (en) * 2008-11-20 2014-10-14 Symantec Corporation Pre-storing blocks for a streamed application in a local cache on a host computer system
KR101711863B1 (ko) 2008-11-26 2017-03-13 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램의 상태에 대한 원격 액세스를 제공하기 위한 방법 및 시스템
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
CA2751059A1 (en) * 2009-02-03 2010-08-12 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8954958B2 (en) * 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
KR101831686B1 (ko) * 2010-06-14 2018-02-23 삼성전자주식회사 홈 네트워크에서 객체의 변경을 판단하는 방법 및 장치
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
KR20170129967A (ko) 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
KR102288072B1 (ko) 2010-09-13 2021-08-10 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 부가기능의 관리
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
US9517410B2 (en) 2011-04-28 2016-12-13 Numecent Holdings, Inc. Adaptive application streaming in cloud gaming
US9720747B2 (en) 2011-08-15 2017-08-01 Calgary Scientific Inc. Method for flow control and reliable communication in a collaborative environment
JP2014531626A (ja) 2011-08-15 2014-11-27 カルガリー サイエンティフィック インコーポレイテッド アプリケーションプログラムへの非侵襲的遠隔アクセス
CA2850422C (en) 2011-09-30 2023-09-26 Calgary Scientific Inc. Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating
WO2013076554A1 (en) 2011-11-23 2013-05-30 Calgary Scientific Inc. Methods ans systems for collaborative remote application sharing and conferencing
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
WO2015080845A1 (en) 2013-11-29 2015-06-04 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
AU2016210974A1 (en) 2015-01-30 2017-07-27 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto
US10635715B2 (en) 2016-05-09 2020-04-28 Numecent Holdings, Inc. Remote virtualized asset delivery and local provisioning

Family Cites Families (247)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US5063500A (en) 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
JPH0688191B2 (ja) * 1988-11-15 1994-11-09 オ−クマ株式会社 数値制御情報作成装置における加工部位の決定方法
US5701427A (en) 1989-09-19 1997-12-23 Digital Equipment Corp. Information transfer arrangement for distributed computer system
US5210850A (en) 1990-06-15 1993-05-11 Compaq Computer Corporation Memory address space determination using programmable limit registers with single-ended comparators
US5892953A (en) 1991-04-15 1999-04-06 International Business Machines Corporation Corrective service facility
US5293556A (en) * 1991-07-29 1994-03-08 Storage Technology Corporation Knowledge based field replaceable unit management
AU672770B2 (en) 1992-02-18 1996-10-17 Ricos Co., Ltd. Computer game device
AU3944793A (en) 1992-03-31 1993-11-08 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment
US6418556B1 (en) 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
EP0728333A1 (en) * 1993-11-09 1996-08-28 Arcada Software Data backup and restore system for a computer network
US5606668A (en) 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
US5666293A (en) 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
JP3138171B2 (ja) 1994-06-22 2001-02-26 インターナショナル・ビジネス・マシーンズ・コーポレ−ション システム機能をダウンロードする方法
US5696965A (en) 1994-11-03 1997-12-09 Intel Corporation Electronic information appraisal agent
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US6282712B1 (en) 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5805809A (en) 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5724571A (en) 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US5706440A (en) 1995-08-23 1998-01-06 International Business Machines Corporation Method and system for determining hub topology of an ethernet LAN segment
US5809144A (en) 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US6047323A (en) 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5933603A (en) 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
US5948062A (en) 1995-10-27 1999-09-07 Emc Corporation Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
US5796951A (en) 1995-12-22 1998-08-18 Intel Corporation System for displaying information relating to a computer network including association devices with tasks performable on those devices
US6240535B1 (en) 1995-12-22 2001-05-29 Micron Technology, Inc. Device and method for testing integrated circuit dice in an integrated circuit module
US5909545A (en) 1996-01-19 1999-06-01 Tridia Corporation Method and system for on demand downloading of module to enable remote control of an application program over a network
US5790753A (en) 1996-01-22 1998-08-04 Digital Equipment Corporation System for downloading computer software programs
US5931907A (en) 1996-01-23 1999-08-03 British Telecommunications Public Limited Company Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information
US5855020A (en) 1996-02-21 1998-12-29 Infoseek Corporation Web scan process
JPH09231156A (ja) 1996-02-28 1997-09-05 Nec Corp プログラム受信機能付遠隔実行装置
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5764910A (en) * 1996-04-02 1998-06-09 National Semiconductor Corporation Method and apparatus for encoding and using network resource locators
US7192352B2 (en) 1996-04-22 2007-03-20 Walker Digital, Llc System and method for facilitating play of a video game via a web site
US5929849A (en) 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
US5768528A (en) 1996-05-24 1998-06-16 V-Cast, Inc. Client-server system for delivery of online information
US6018619A (en) 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5903892A (en) 1996-05-24 1999-05-11 Magnifi, Inc. Indexing of media content on a network
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5778173A (en) 1996-06-12 1998-07-07 At&T Corp. Mechanism for enabling secure electronic transactions on the open internet
US5943424A (en) 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
WO1997049039A1 (en) * 1996-06-21 1997-12-24 Bell Communications Research, Inc. Apparatus and methods for highly available directory services in the distributed computing environment
US6138271A (en) 1996-06-26 2000-10-24 Rockwell Technologies, Llc Operating system for embedded computers
US5874986A (en) * 1996-06-26 1999-02-23 At&T Corp Method for communicating audiovisual programs over a communications network
US5835722A (en) 1996-06-27 1998-11-10 Logon Data Corporation System to control content and prohibit certain interactive attempts by a person using a personal computer
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5903732A (en) 1996-07-03 1999-05-11 Hewlett-Packard Company Trusted gateway agent for web server programs
US6061738A (en) * 1997-06-27 2000-05-09 D&I Systems, Inc. Method and system for accessing information on a network using message aliasing functions having shadow callback functions
US6038610A (en) * 1996-07-17 2000-03-14 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US5881232A (en) 1996-07-23 1999-03-09 International Business Machines Corporation Generic SQL query agent
US5973696A (en) 1996-08-08 1999-10-26 Agranat Systems, Inc. Embedded web server
US5878425A (en) 1996-08-21 1999-03-02 International Business Machines Corp. Intuitive technique for visually creating resource files
US6601103B1 (en) 1996-08-22 2003-07-29 Intel Corporation Method and apparatus for providing personalized supplemental programming
US5991306A (en) 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6049835A (en) * 1996-08-30 2000-04-11 Internet Media Corporation System for providing easy access to the World Wide Web utilizing a published list of preselected Internet locations together with their unique multi-digit jump codes
CN1202668C (zh) 1996-09-11 2005-05-18 松下电器产业株式会社 即使在只接收部分节目的状态下也能开始执行该节目的节目接收执行装置及用于它的节目发送装置
US6173330B1 (en) * 1996-09-17 2001-01-09 Motorola, Inc. Delivery and acquisition of data segments with optimized inter-arrival time
JP3317156B2 (ja) 1996-09-18 2002-08-26 三菱電機株式会社 リモートplc装置を備えた数値制御装置
US6226665B1 (en) 1996-09-19 2001-05-01 Microsoft Corporation Application execution environment for a small device with partial program loading by a resident operating system
US6085186A (en) 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US6028925A (en) * 1996-09-23 2000-02-22 Rockwell International Corp. Telephonic switching system, telephonic switch and method for servicing telephone calls using virtual memory spaces
US5818711A (en) 1996-09-30 1998-10-06 Allen Bradley Company, Llc Method for visually determining the status of program edits in an on-line programming environment
US5911043A (en) 1996-10-01 1999-06-08 Baker & Botts, L.L.P. System and method for computer-based rating of information retrieved from a computer network
US5956717A (en) 1996-10-07 1999-09-21 Kraay; Thomas A. Database origami
IL119486A0 (en) 1996-10-24 1997-01-10 Fortress U & T Ltd Apparatus and methods for collecting value
US6003095A (en) 1996-10-31 1999-12-14 International Business Machines Corporation Apparatus and method for demand loading a dynamic link library
US5923885A (en) 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
US6167520A (en) 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US20020059402A1 (en) 1996-11-15 2002-05-16 Charles E. Belanger Server-sided internet-based platform independent operating system and application suite
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US5963944A (en) 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
US6099408A (en) 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US5949877A (en) 1997-01-30 1999-09-07 Intel Corporation Content protection for transmission systems
US6370571B1 (en) 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
US6785865B1 (en) 1997-03-06 2004-08-31 Microsoft Corporation Discoverability and navigation of hyperlinks via tabs
IL120420A (en) 1997-03-10 1999-12-31 Security 7 Software Ltd Method and system for preventing the downloading and execution of executable objects
US5903721A (en) * 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
US6195694B1 (en) 1997-03-13 2001-02-27 International Business Machines Corporation Server for reconfiguring control of a subset of devices on one or more kiosks
US5925126A (en) 1997-03-18 1999-07-20 Memco Software, Ltd. Method for security shield implementation in computer system's software
US6278992B1 (en) 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
US5948065A (en) 1997-03-28 1999-09-07 International Business Machines Corporation System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently
US5812881A (en) 1997-04-10 1998-09-22 International Business Machines Corporation Handshake minimizing serial to parallel bus interface in a data processing system
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US5895454A (en) * 1997-04-17 1999-04-20 Harrington; Juliette Integrated interface for vendor/product oriented internet websites
US6003065A (en) 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US5892915A (en) * 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
AU3123597A (en) 1997-05-08 1998-11-27 Pinnacle Technology, Inc. Network desktop management security system and method
US5961591A (en) 1997-05-13 1999-10-05 Microsoft Corporation Downloading data while rejection of its use may be overridden
US5961586A (en) 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US5987454A (en) 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US5901315A (en) 1997-06-13 1999-05-04 International Business Machines Corporation Method for debugging a Java application having native method dynamic load libraries
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US5905990A (en) * 1997-06-23 1999-05-18 International Business Machines Corporation File system viewpath mechanism
CA2209549C (en) 1997-07-02 2000-05-02 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for loading data into a database in a multiprocessor environment
US5895471A (en) * 1997-07-11 1999-04-20 Unwired Planet, Inc. Providing a directory of frequently used hyperlinks on a remote server
US5933822A (en) 1997-07-22 1999-08-03 Microsoft Corporation Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
US5905868A (en) 1997-07-22 1999-05-18 Ncr Corporation Client/server distribution of performance monitoring data
US6076104A (en) * 1997-09-04 2000-06-13 Netscape Communications Corp. Video data integration system using image data and associated hypertext links
US5960411A (en) 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US6101482A (en) 1997-09-15 2000-08-08 International Business Machines Corporation Universal web shopping cart and method of on-line transaction processing
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6085193A (en) 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
US6253234B1 (en) * 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
US6192398B1 (en) * 1997-10-17 2001-02-20 International Business Machines Corporation Remote/shared browser cache
US6026166A (en) * 1997-10-20 2000-02-15 Cryptoworx Corporation Digitally certifying a user identity and a computer system in combination
US6594682B2 (en) * 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US6094649A (en) 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6415373B1 (en) 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6298356B1 (en) 1998-01-16 2001-10-02 Aspect Communications Corp. Methods and apparatus for enabling dynamic resource collaboration
US6385596B1 (en) 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6735631B1 (en) 1998-02-10 2004-05-11 Sprint Communications Company, L.P. Method and system for networking redirecting
US6601110B2 (en) 1998-03-17 2003-07-29 Sun Microsystems, Inc. System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server
US6339826B2 (en) 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US6389541B1 (en) 1998-05-15 2002-05-14 First Union National Bank Regulating access to digital content
US6185608B1 (en) 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6330561B1 (en) 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6587857B1 (en) 1998-06-30 2003-07-01 Citicorp Development Center, Inc. System and method for warehousing and retrieving data
EP1097550A4 (en) 1998-07-16 2005-11-09 Francis Lambert METHOD FOR THE SAFE TRANSFER AND STORAGE OF DATA
US6154878A (en) 1998-07-21 2000-11-28 Hewlett-Packard Company System and method for on-line replacement of software
US6418555B2 (en) 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US20010037400A1 (en) 1998-07-22 2001-11-01 Uri Raz Method and system for decreasing the user-perceived system response time in web-based systems
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US20020138640A1 (en) 1998-07-22 2002-09-26 Uri Raz Apparatus and method for improving the delivery of software applications and associated data in web-based systems
US6574618B2 (en) 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US7197570B2 (en) 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6311221B1 (en) 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US20020057893A1 (en) * 1998-08-11 2002-05-16 Anthony Wood Digital recording and playback
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US6697869B1 (en) * 1998-08-24 2004-02-24 Koninklijke Philips Electronics N.V. Emulation of streaming over the internet in a broadcast application
US6510462B2 (en) 1998-09-01 2003-01-21 Nielsen Media Research, Inc. Collection of images in Web use reporting system
US6356946B1 (en) * 1998-09-02 2002-03-12 Sybase Inc. System and method for serializing Java objects in a tubular data stream
US6622171B2 (en) 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
US6816909B1 (en) 1998-09-16 2004-11-09 International Business Machines Corporation Streaming media player with synchronous events from multiple sources
US6418554B1 (en) 1998-09-21 2002-07-09 Microsoft Corporation Software implementation installer mechanism
US6370686B1 (en) 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6836794B1 (en) 1998-09-21 2004-12-28 Microsoft Corporation Method and system for assigning and publishing applications
US6201685B1 (en) * 1998-10-05 2001-03-13 General Electric Company Ultracapacitor current collector
US20010014878A1 (en) 1998-11-09 2001-08-16 Nilotpal Mitra Transaction method and apparatus
US6266665B1 (en) * 1998-11-13 2001-07-24 Microsoft Corporation Indexing and searching across multiple sorted arrays
US6374402B1 (en) 1998-11-16 2002-04-16 Into Networks, Inc. Method and apparatus for installation abstraction in a secure content delivery system
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US20020002513A1 (en) 1998-11-25 2002-01-03 James P. Chiasson Computer network transaction system
JP2002530782A (ja) 1998-11-25 2002-09-17 インフォ・アベニュー株式会社 ユニバーサル・ショッピング・カート・システム
CA2291920A1 (en) 1998-12-11 2000-06-11 Karuna Ganesan Technique for conducting secure transactions over a network
US6510466B1 (en) 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network
JP2000183786A (ja) * 1998-12-15 2000-06-30 Nec Fukushima Ltd ホットスタンバイ切替装置
US6584507B1 (en) 1999-03-02 2003-06-24 Cisco Technology, Inc. Linking external applications to a network management system
US7130616B2 (en) * 2000-04-25 2006-10-31 Simple Devices System and method for providing content, management, and interactivity for client devices
WO2000056028A1 (en) 1999-03-15 2000-09-21 Texar Software Corp. A secure network
US6212640B1 (en) 1999-03-25 2001-04-03 Sun Microsystems, Inc. Resources sharing on the internet via the HTTP
US6775779B1 (en) 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US6343287B1 (en) 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6266094B1 (en) * 1999-06-14 2001-07-24 Medialink Worldwide Incorporated Method and apparatus for the aggregation and selective retrieval of television closed caption word content originating from multiple geographic locations
US6508709B1 (en) * 1999-06-18 2003-01-21 Jayant S. Karmarkar Virtual distributed multimedia gaming method and system based on actual regulated casino games
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6832222B1 (en) 1999-06-24 2004-12-14 International Business Machines Corporation Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache
US6385696B1 (en) * 1999-06-25 2002-05-07 Intel Corporation Embedded cache with way size bigger than page size
US6636961B1 (en) 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating
US6801507B1 (en) 1999-07-27 2004-10-05 Samsung Electronics Co., Ltd. Device discovery and configuration in a home network
US6810525B1 (en) 1999-08-17 2004-10-26 General Instrument Corporation Impulse pay per use method and system for data and multimedia services
US6687745B1 (en) * 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
WO2001027805A2 (en) 1999-10-14 2001-04-19 360 Powered Corporation Index cards on network hosts for searching, rating, and ranking
EP1107108A1 (en) 1999-12-09 2001-06-13 Hewlett-Packard Company, A Delaware Corporation System and method for managing the configuration of hierarchically networked data processing devices
US6711619B1 (en) * 1999-12-15 2004-03-23 Hewlett-Packard Development Company, L.P. Method, system, and apparatus for distributing and using computer-based applications over a network
AUPQ475799A0 (en) 1999-12-20 2000-01-20 Youramigo Pty Ltd An internet indexing system and method
US6854009B1 (en) * 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US7159233B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US6757708B1 (en) 2000-03-03 2004-06-29 International Business Machines Corporation Caching dynamic content
US6779179B1 (en) 2000-03-20 2004-08-17 Exent Technologies, Inc. Registry emulation
US6772209B1 (en) 2000-04-06 2004-08-03 International Business Machines Corporation Efficient method for rule-based distribution and management of content in a distributed hierarchy of storage devices
EP1143349A1 (en) 2000-04-07 2001-10-10 IconParc GmbH Method and apparatus for generating index data for search engines
WO2001084336A1 (en) 2000-04-28 2001-11-08 Live365, Inc. System and method for reducing the resources required to deliver streaming media
EP1154298A1 (en) * 2000-05-09 2001-11-14 Alcatel Arrangement consisting of a photodiode and an optical fiber
AU2001264989A1 (en) 2000-05-25 2001-12-03 Exent Technologies, Inc. Disk caching
US6925495B2 (en) 2000-07-13 2005-08-02 Vendaria Media, Inc. Method and system for delivering and monitoring an on-demand playlist over a network using a template
US6622137B1 (en) 2000-08-14 2003-09-16 Formula Telecom Solutions Ltd. System and method for business decision implementation in a billing environment using decision operation trees
US7249314B2 (en) 2000-08-21 2007-07-24 Thoughtslinger Corporation Simultaneous multi-user document editing system
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
US6757894B2 (en) 2000-09-26 2004-06-29 Appstream, Inc. Preprocessed applications suitable for network streaming applications and method for producing same
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
ATE381191T1 (de) 2000-10-26 2007-12-15 Prismedia Networks Inc Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten
US6694510B1 (en) * 2000-11-03 2004-02-17 Hewlett-Packard Development Company, L.P. Collection driver for collecting system data using record based requests with tag lists and pausing all but one thread of a computer system
US6959320B2 (en) 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US20020087883A1 (en) 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US20020083183A1 (en) 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US7043524B2 (en) 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
AU2002217872A1 (en) 2000-11-28 2002-06-11 Endeavors Technology, Inc. Systems and methods for ordering products over a network
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US20020078170A1 (en) 2000-12-15 2002-06-20 International Business Machines Corporation Method and system for minimizing network bandwidth bottlenecks
US20070198739A1 (en) * 2001-01-19 2007-08-23 Streamworks Technologies, Inc. System and method for routing media
US7028305B2 (en) * 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US7112138B2 (en) * 2001-08-03 2006-09-26 Igt Player tracking communication mechanisms in a gaming machine
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US20030105816A1 (en) 2001-08-20 2003-06-05 Dinkar Goswami System and method for real-time multi-directional file-based data streaming editor
US6816950B2 (en) 2002-05-08 2004-11-09 Lsi Logic Corporation Method and apparatus for upgrading disk drive firmware in a RAID storage system
US6970866B1 (en) 2002-05-31 2005-11-29 Adobe Systems Incorporated Filter file system
US7197516B1 (en) * 2002-07-22 2007-03-27 Veritas Operating Corporation Method and system for an overlay filesystem
US20040036722A1 (en) 2002-08-26 2004-02-26 Peter Warren Configurable type-over text box prompt
US20040128342A1 (en) 2002-12-31 2004-07-01 International Business Machines Corporation System and method for providing multi-modal interactive streaming media applications
US20040133657A1 (en) * 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
US8671132B2 (en) 2003-03-14 2014-03-11 International Business Machines Corporation System, method, and apparatus for policy-based data management
US8612992B2 (en) * 2003-04-09 2013-12-17 Jaluna Sa Operating systems
US20040230784A1 (en) 2003-05-12 2004-11-18 Cohen Eugene M. Concurrent program loading and execution
US7735057B2 (en) 2003-05-16 2010-06-08 Symantec Corporation Method and apparatus for packaging and streaming installation software
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7277901B2 (en) * 2003-07-10 2007-10-02 Tacit Networks, Inc. Collaborative file update system
US6891740B2 (en) 2003-08-29 2005-05-10 Hitachi Global Storage Technologies Netherlands B.V. Method for speculative streaming data from a disk drive
WO2005036367A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
US7945648B2 (en) * 2003-10-27 2011-05-17 Hewlett-Packard Development Company, L.P. Methods and systems for dynamically configuring a network component to reroute media streams
US7533370B2 (en) * 2003-10-28 2009-05-12 Exent Technologies, Ltd. Security features in on-line and off-line delivery of applications
US7908339B2 (en) * 2004-06-03 2011-03-15 Maxsp Corporation Transaction based virtual file system optimized for high-latency network connections
US20060010074A1 (en) 2004-07-09 2006-01-12 Zeitsiff Adam M Delivery and storage system for secured content library
US20060048136A1 (en) 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US20070038642A1 (en) 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
JP2008527468A (ja) 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
TW200644550A (en) 2004-11-15 2006-12-16 Stream Theory Inc Hybrid local/remote streaming
US20060136389A1 (en) 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US9716609B2 (en) 2005-03-23 2017-07-25 Numecent Holdings, Inc. System and method for tracking changes to files in streaming applications
US20060218165A1 (en) 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
US7844442B2 (en) * 2005-08-16 2010-11-30 Exent Technologies, Ltd. System and method for providing a remote user interface for an application executing on a computing device
US20070129990A1 (en) 2005-12-01 2007-06-07 Exent Technologies, Ltd. System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game
US7596536B2 (en) 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device
US7596540B2 (en) 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US20070168309A1 (en) 2005-12-01 2007-07-19 Exent Technologies, Ltd. System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US8629885B2 (en) 2005-12-01 2014-01-14 Exent Technologies, Ltd. System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application
US20080294453A1 (en) * 2007-05-24 2008-11-27 La La Media, Inc. Network Based Digital Rights Management System

Also Published As

Publication number Publication date
US8949820B2 (en) 2015-02-03
US8359591B2 (en) 2013-01-22
US20130081009A1 (en) 2013-03-28
EP1825390A2 (en) 2007-08-29
US20060123185A1 (en) 2006-06-08
WO2006055445A2 (en) 2006-05-26
US20060168294A1 (en) 2006-07-27
US20150143351A1 (en) 2015-05-21
WO2006055445A3 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
JP2008527468A (ja) ハイブリッド・ローカル/リモート・ストリーミング
US8438298B2 (en) Intelligent network streaming and execution system for conventionally coded applications
US6959320B2 (en) Client-side performance optimization system for streamed applications
KR101238572B1 (ko) 신뢰 환경을 지원하기 위한 컴퓨터 판독가능 구성요소의자동 업데이트
US6918113B2 (en) Client installation and execution system for streamed applications
US7096253B2 (en) Method and apparatus for streaming software
US8831995B2 (en) Optimized server for streamed applications
US7043524B2 (en) Network caching system for streamed applications
US20020083183A1 (en) Conventionally coded application conversion system for streamed delivery and execution
US20020087883A1 (en) Anti-piracy system for remotely served computer applications
US7650492B2 (en) Automatic update of computer-readable components to support a trusted environment
JP2009544072A (ja) アプライアンスの仮想化のための方法と装置
JP2013516923A (ja) メディア再生デバイスのためのリアルタイムのフラッシュベースのユーザインターフェース
US8161383B2 (en) Information processing apparatus and information processing method
Marinilli Java deployment

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090203