JP2021506038A - 超高速かつ低遅延なネットワークストレージ - Google Patents

超高速かつ低遅延なネットワークストレージ Download PDF

Info

Publication number
JP2021506038A
JP2021506038A JP2020548859A JP2020548859A JP2021506038A JP 2021506038 A JP2021506038 A JP 2021506038A JP 2020548859 A JP2020548859 A JP 2020548859A JP 2020548859 A JP2020548859 A JP 2020548859A JP 2021506038 A JP2021506038 A JP 2021506038A
Authority
JP
Japan
Prior art keywords
ssd
content
nvme
server
computer
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
JP2020548859A
Other languages
English (en)
Other versions
JP7216739B2 (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.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment LLC
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 Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment LLC
Publication of JP2021506038A publication Critical patent/JP2021506038A/ja
Priority to JP2022123889A priority Critical patent/JP2022153623A/ja
Application granted granted Critical
Publication of JP7216739B2 publication Critical patent/JP7216739B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Transfer Systems (AREA)

Abstract

【解決手段】不揮発性メモリオーバーファブリック(NVMe−oF)を使用して、ソリッドステートストレージドライブ(SSD)(204、212)により具現化されたネットワークストレージから、クライアントデバイスへ、映像、及びコンピュータゲームなどがストリーミングされる。冗長性を提供するために、例えばコンピュータゲームまたは映像ファイルなどの単一のコンテンツの多数のコピーが、多数のSSDに格納される(800)。コンテンツに対するクライアント要求に基づいて、ブロックレベルのストレージをアドレス指定する情報を提供するために、データ構造は、各コンテンツと、コンテンツを格納しているSSD及び関連ブロック番号とを、相互に関連付ける(802)。コンテンツがストリーミングされているコンテンツの供給源は、負荷分散またはSSD損失に備えるために、SSD間で動的に切り替えられ得る(1012)。【選択図】図1

Description

本出願は、概して高速かつ低遅延なネットワークストレージに関し、特にネットワークコンピュータゲーム、映像放送、コンテンツ配信ネットワーク、仮想マシン、及び機械学習アプリケーションで使用するこのようなシステムに関する。
ソリッドステートドライブ(SSD)として知られるデータストレージデバイスは、古く由緒あるハードディスクドライブ(HDD)の代替として導入されている。SSD技術は、ディスクベースのストレージではなくソリッドステートストレージを使用し、ストレージのバイトあたりのコストはより高いが(現在)、HDD技術よりもはるかに速いデータ転送速度を現在有する。
SSD、すなわち不揮発性メモリエクスプレス(NVMe)に関連した通信規格が登場し、この通信規格ではSSDは、シリアルATアタッチメント(SATA)プロトコルを使用してではなく、より高速なNVMeプロトコルを使用して通信する。NVMeに関連した通信プロトコルはファブリックを介しており(NVMe−oF)、これは、NVMeメッセージベースコマンドが、ホストコンピュータと標的のソリッドステートストレージデバイスまたはシステム(本質的にSSDストレージシステム)との間で、「ファブリック」を介してデータを転送できるように設計された技術仕様であり、「ファブリック」とは、Ethernet(登録商標)、Fibre Channel、及びInfiniBandなどのネットワークを意味する口語表現である。NVMe−oFは、メッセージベースモデルを使用して、ホストと対象ストレージデバイスとの間で、周辺機器相互接続エクスプレス(PCI(e))プロトコルにより通信を行い、PCI(e)プロトコルは、より古いSATAプロトコルよりも転送機構が高速であることから、データ転送速度に貢献する。
ここで理解されるように、NVMe−oFのプロトコルは、若干必要最低限であり、設計者は、いくつかの課題、特にアプリケーション特有であり得る課題を解決する必要がある。これらの未対処の課題の中には、データ冗長性と、ホストがファイルシステムのないNVMe対応SSD内でデータの場所をブロックベースで特定する必要があることと、負荷分散とがある。
従って、コンピュータ実装サーバスタックには、マッピングデータ構造にアクセスできる少なくとも1つの管理サーバと、それぞれが複数のコンピュータマザーボードを含む複数の計算サーバと、少なくとも第1の不揮発性メモリ(NVMe)対応ソリッドステートドライブ(SSD)及び第2のNVMe対応SSDを含む少なくとも1つのストレージサーバとが含まれる。この第1の態様では、計算サーバは、少なくとも1つの処理ユニットを有する少なくとも第1のコンピュータマザーボードと、少なくとも1つの処理ユニットを有する少なくとも第2のコンピュータマザーボードとを含む。計算サーバはさらに、マザーボードをストレージサーバのNVMe対応SSDに接続する少なくとも1つのNVMeオーバーファブリック(NVMe−oF)通信経路を含む。サーバスタックは、クライアントコンピュータから1つのコンテンツの要求を受信するように、命令でプログラムされる。また命令は、サーバスタックが、当該1つのコンテンツの識別を使用してマッピングデータ構造にアクセスして、当該1つのコンテンツが少なくとも第1のNVMe対応SSDに格納されていることを特定し、第1のNVMe対応SSDのどのブロックが当該1つのコンテンツを格納しているかを特定するように、構成する。サーバスタックはさらに、当該1つのコンテンツを格納している第1のNVMe対応SSD及び第1のNVMe対応SSDのブロックを特定したことに基づいて、当該1つのコンテンツを、計算サーバを経由することなくNVMe−oF経路を介して直接クライアントデバイスにストリーミングさせるように、命令でプログラムされる。
実施形態では、SSDは回転ディスクを含まない。
データ構造はさらに、当該1つのコンテンツが第2のNVMe対応SSDに格納されていることと、第2のNVMe対応SSDのブロックが当該1つのコンテンツを格納していることとを、相互に関連付け得る。この場合、サーバスタックは、第1のNVMe対応SSDに障害が生じたという判定に応じて、第2のNVMe対応SSDに切り替えて当該1つのコンテンツをクライアントコンピュータに提供し、これによりデータ冗長性を提供するように、命令でプログラムされ得る。クライアントはドライブの障害をある他のシステムに、例えば管理サーバに報告することができるため、他のシステムからも障害が報告される場合、ドライブはブロックマッピングから除外され得る。これにより、ある他のシステムは、コンテンツの追加のコピーのダウンロードを別のドライブに加えることになり得る。さらに、障害が生じたドライブを交換するように運用チームに警告する。
また、サーバスタックは、依然として作動可能な第1のNVMe対応SSDで負荷分散条件が満たされるという判定に応じて、第2のNVMe対応SSDに切り替えて当該1つのコンテンツをクライアントコンピュータに提供し、これにより負荷分散を提供するように、命令でプログラムされ得る。
必要に応じて、当該1つのコンテンツは、NVMe対応SSDにわたりストライピングされ得る。付加的または代替的に、1つのコンテンツは全て、NVMe対応SSDのそれぞれに記録され得る。
当該1つのコンテンツは、例えば、完全な映画または完全なテレビ番組などの映像であってよく、またはコンピュータゲームであってもよい。
いくつかの実施形態では、管理サーバは、ストレージサーバ、または計算サーバのいずれでもない。別の実施形態では、管理サーバは、計算サーバのうちの少なくとも1つにより実施される。別の実施形態では、管理サーバは、ストレージサーバにより実施される。
別の態様では、デバイスは、一時的信号ではない少なくとも1つのコンピュータメモリを含み、次に少なくとも1つのコンピュータメモリは命令を含み、命令は、少なくとも1つのプロセッサにより、少なくとも第1の不揮発性メモリ(NVMe)対応ソリッドステートドライブ(SSD)及び第2のNVMe対応SSD上で、1つのコンテンツの複数の完全なコピーを特定することを、実行可能である。データ構造は、当該1つのコンテンツの識別と、当該1つのコンテンツが格納されている第1のSSD及び第2のSSD並びに各SSDの関連ブロックの識別とを、相互に関連付ける。命令はさらに、クライアントコンピュータからの当該1つのコンテンツに対する要求に応じて、データ構造にアクセスして、第1のSSD及び第2のSSD上のどこに当該1つのコンテンツが格納されているかを特定することを、実行可能である。命令は、第1のSSD及び第2のSSD上のどこに当該1つのコンテンツが格納されているかを特定したことに応じて、周辺機器相互接続エクスプレス(PCI(e))プロトコルを使用する少なくとも1つのNVMeオーバーファブリック(NVMe−oF)通信経路を用いて、当該1つのコンテンツにアクセスして少なくとも第1のSSDからクライアントコンピュータに当該1つのコンテンツを送信することを、実行可能である。
別の態様では、方法は、不揮発性メモリオーバーファブリック(NVMe−oF)ネットワークストレージシステムを提供することを含む。方法はまた、NVMe−oFネットワークストレージシステムでデータ冗長性を提供すること、及びNVMe−oFネットワークストレージシステムで負荷分散を提供することを含む。
本出願の詳細は、その構造及び動作の両方に関して、添付の図面を参照することで最もよく理解することができ、図面では、同様の参照番号は、同様の部分を指す。
本発明の原理による、例を含む例示的なシステムのブロック図である。 クラウドベースゲームシステムの概略図である。 例示的なサーバスタックの概略図である。 単一サーバの第1の例示的なアーキテクチャのブロック図である。 ストレージサーバの例示的なアーキテクチャのブロック図である。 単一サーバの第2の例示的なアーキテクチャのブロック図である。 単一サーバの第3の例示的なアーキテクチャのブロック図である。 本明細書で「ドーターボード」とも称されるNVMeネットワークカードの例示的なアーキテクチャのブロック図である。 例示的なストレージロジックのフローチャートである。 コンピュータゲーム、及び映像ファイルなどのコンテンツと、コンテンツが格納されているそれぞれのストレージデバイス及びこれらのストレージデバイス上のブロックとを、相互に関連付ける例示的なデータ構造の概略図である。 コンピュータゲームアプリケーションのコンテキストでの例示的なストリーミングロジックのフローチャートである。
本開示は、概して、分散型コンピュータゲームネットワーク、映像放送、コンテンツ配信ネットワーク、仮想マシン、及び機械学習アプリケーションなどのこれらに限定されない一般消費者向け電子製品(CE)デバイスネットワークの態様を含むコンピュータエコシステムに関する。本明細書のシステムは、クライアントコンポーネントとサーバコンポーネントとの間でデータが交換され得るように、ネットワークを介して接続されたサーバコンポーネント及びクライアントコンポーネントを含み得る。クライアントコンポーネントは、1つ以上のコンピューティングデバイスを含み得、これには、Sony PlayStation(登録商標)などのゲームコンソール及び関連マザーボード、ポータブルテレビ(例えばスマートTV、インターネット対応TV)、ラップトップ及びタブレットコンピュータなどのポータブルコンピュータ、並びにスマートフォン及び下記に論じられる追加例を含む他のモバイルデバイスが含まれる。これらのクライアントデバイスは、様々な動作環境で作動し得る。例えば、クライアントコンピュータのうちのいくつかは、例を挙げると、OrbisもしくはLinux(登録商標)オペレーティングシステム、Microsoft社のオペレーティングシステム、またはUnix(登録商標)オペレーティングシステム、またはApple Computer製もしくはGoogle製のオペレーティングシステムを採用し得る。これらの動作環境を使用して、MicrosoftもしくはGoogle製のブラウザ、または下記に論じられるインターネットサーバによりホストされるウェブサイトにアクセスできるMozillaもしくは他のブラウザプログラムなど、1つ以上のブラウジングプログラムが実行され得る。また、本発明の原理による動作環境を使用して、1つ以上のコンピュータゲームプログラムが実行され得る。
サーバ及び/またはゲートウェイは、1つ以上のプロセッサを含み得、1つ以上のプロセッサは、インターネットなどのネットワークを介してデータを送受信するようにサーバを構成する命令を実行する。あるいは、クライアントとサーバは、ローカルイントラネットまたは仮想プライベートネットワークを介して接続することができる。サーバまたはコントローラは、Sony PlayStation(登録商標)といったゲームコンソール及び/またはその1つ以上のマザーボード、パーソナルコンピュータなどにより、インスタンス化され得る。
クライアントとサーバとの間でネットワークを介して情報が交換され得る。このために、及びセキュリティのために、サーバ及び/またはクライアントは、ファイアウォール、ロードバランサ、テンポラリストレージ、及びプロキシ、並びに信頼性及びセキュリティのための他のネットワークインフラストラクチャを含み得る。1つ以上のサーバは、オンラインソーシャルウェブサイトなどの安全なコミュニティを、ネットワークメンバーに提供する方法を実施する装置を形成し得る。
本明細書で使用される命令は、システムにおいて情報を処理するためのコンピュータ実施ステップを指す。命令は、ソフトウェア、ファームウェア、またはハードウェアにおいて実施することができ、システムのコンポーネントにより実行される任意の種類のプログラム化されたステップを含み得る。
プロセッサは、アドレスライン、データライン、及び制御ラインなどの様々なライン、並びにレジスタ及びシフトレジスタを用いてロジックを実行することができる任意の従来の汎用単一チッププロセッサまたは汎用マルチチッププロセッサであり得る。
本明細書において、フローチャートを介して説明されるソフトウェアモジュール、及びユーザインターフェースは、様々なサブルーチン、プロシージャなどを含み得る。本開示を限定することなく、特定のモジュールにより実行されると述べられるロジックは、他のソフトウェアモジュールに再配分されてもよく、及び/または単一モジュールにおいて一緒に組み合わされてもよく、及び/または共有可能なライブラリにおいて利用可能な状態にされてもよい。
本明細書で述べられる本発明の原理は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせとして実装され得、ゆえに、例示的なコンポーネント、ブロック、モジュール、回路、及びステップは、これらの機能の観点から説明される。
上記で示唆されたことに加えて、後述されるロジックブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブルロジックデバイス、例えば特定用途向け集積回路(ASIC)、個別ゲートもしくはトランジスタロジック、個別ハードウェアコンポーネント、あるいは本明細書で説明される機能を実行するように設計されたこれらの任意の組み合わせにより、実装または実行され得る。プロセッサは、コントローラまたはステートマシンまたはコンピューティングデバイスの組み合わせにより、実施され得る。
下記で説明される機能及び方法は、ソフトウェアで実施される場合、Java(登録商標)、C#、またはC++などのこれに限定されない好適な言語で記述され得、コンピュータ可読記憶媒体により記憶またはコンピュータ可読記憶媒体を介して送信され得、コンピュータ可読記憶媒体の例には、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD−ROM)、またはデジタル多用途ディスク(DVD)などの他の光学ディスクストレージ、磁気ディスクストレージ、またはリムーバブルサムドライブを含む他の磁気ストレージデバイスなどが挙げられる。接続により、コンピュータ可読媒体が確立され得る。このような接続には、例として、光ファイバ及び同軸ワイヤを含むハードワイヤケーブル、並びにデジタル加入者線(DSL)及びツイストペア線が含まれ得る。このような接続には、赤外線及びラジオを含む無線通信接続が含まれてもよい。
一実施形態に含まれる構成要素は、他の実施形態において、任意の好適な組み合わせで使用することができる。例えば、本明細書で説明され及び/または図に描かれる様々な構成要素のいずれも、組み合わされてもよく、交換されてもよく、または他の実施形態から除外されてもよい。
「A、B、及びCのうちの少なくとも1つを有するシステム」(同様に「A、B、またはCのうちの少なくとも1つを有するシステム」及び「A、B、Cのうちの少なくとも1つを有するシステム」)には、Aのみ、Bのみ、Cのみ、AとBを一緒に、AとCを一緒に、BとCを一緒に、及び/またはAとBとCを一緒に、などを有するシステムが含まれる。
ここで具体的に図1を参照すると、本発明の原理による、上記で言及され下記でさらに説明される例示的なデバイスのうちの1つ以上を含み得る例示的なシステム10が示される。システム10に含まれる例示的なデバイスのうち初めに、TVチューナー(同等にTVを制御するセットトップボックス)を備えたインターネット対応TVなどのこれに限定されないオーディオビデオデバイス(AVD)12といった一般消費者向け電子製品(CE)デバイスが存在する。しかしながら、代替的に、AVD12は、例えばインターネット対応コンピュータ化冷蔵庫、洗濯機、または乾燥機などの電化製品または家庭用品であってもよい。また、代替的に、AVD12は、インターネット対応コンピュータ化(「スマート」)電話、タブレットコンピュータ、ノートブックコンピュータ、例えばインターネット対応コンピュータ化腕時計、インターネット対応コンピュータ化ブレスレット、他のインターネット対応コンピュータ化デバイスなどの装着可能コンピュータ化デバイス、インターネット対応コンピュータ化音楽プレーヤ、インターネット対応コンピュータ化ヘッドホン、埋め込み型皮膚デバイスなどのインターネット対応コンピュータ化埋め込み型デバイスなどであってもよい。いずれにせよ、AVD12は、本発明の原理を実施する(例えば、本発明の原理を実施するために他のCEデバイスと通信し、本明細書に説明されるロジックを実行し、本明細書に説明される任意の他の機能及び/または動作を実行する)ように構成されることを理解されたい。
従って、このような原理を実施するために、図1に示されるコンポーネントのうちのいくつかまたは全てにより、AVD12は確立され得る。例えば、AVD12は、1つ以上のディスプレイ14を含み得、これは、高解像度または超高解像度「4K」以上のフラットスクリーンが実装され得、ディスプレイ上のタッチを介してユーザ入力信号を受信するタッチ対応であり得る。AVD12は、本発明の原理に従って音声を出力するための1つ以上のスピーカ16と、例えばAVD12を制御するためにAVD12に音声コマンドを入力する、例えば音声受信器/マイクロホンなどの少なくとも1つの追加入力デバイス18と、を含み得る。例示的なAVD12はまた、1つ以上のプロセッサ24の制御下で、インターネット、WAN、LANなどの少なくとも1つのネットワーク22を介して通信するための1つ以上のネットワークインターフェース20を含み得る。従って、インターフェース20は、非限定的にメッシュネットワーク送受信器など、無線コンピュータネットワークインターフェースの例であるWi−Fi送受信器であり得るが、これに限定されない。プロセッサ24は、AVD12を制御して本発明の原理を実施し、これには、例えばディスプレイ14を制御してディスプレイ14上に画像を提示し、ディスプレイ14から入力を受信するなど、本明細書に説明されるAVD12の他の要素が含まれることを理解されたい。さらに、ネットワークインターフェース20は、例えば有線または無線のモデムまたはルータであり得る、あるいは、例えば無線電話送受信器、または前述のWi−Fi送受信器などの他の好適なインターフェースであり得ることに、留意されたい。
上記に加えて、AVD12はまた、別のCEデバイスに(例えば有線接続を用いて)物理的に接続するための、例えば高解像度マルチメディアインターフェース(HDMI(登録商標))ポートまたはUSBポートなどの1つ以上の入力ポート26、及び/または、ヘッドホンをAVD12に接続して、AVD12からの音声をヘッドホンを介してユーザに提供するためのヘッドホンポートを含み得る。例えば、入力ポート26は、オーディオビデオコンテンツのケーブルソースまたは衛星ソース26aに、有線または無線を介して接続され得る。従って、ソース26aは、例えば、別個のまたは統合されたセットトップボックスまたは衛星受信器であり得る。あるいは、ソース26aは、下記でさらに説明されるチャネル割り当て目的でユーザがお気に入りとみなし得るコンテンツを含むゲームコンソールまたはディスクプレーヤであってもよい。ソース26aは、ゲームコンソールとして実装される場合、CEデバイス44に関連して下記で説明されるコンポーネントのうちのいくつかまたは全てを含み得る。
AVD12はさらに、一時的信号ではないディスクベースストレージまたはソリッドステートストレージなどの1つ以上のコンピュータメモリ28を含み得、これらは、いくつかの事例では、AVDのシャシー内にスタンドアロンデバイスとして、またはAVプログラムを再生するためにAVDのシャシーの内部もしくは外部のパーソナルビデオレコーディングデバイス(PVR)もしくはビデオディスクプレーヤとして、またはリムーバブルメモリ媒体として、具現化されている。また、いくつかの実施形態では、AVD12は、位置受信器すなわち所在地受信器を含み得、これは、携帯電話受信器、GPS受信器、及び/または高度計30などであるがこれらに限定されず、例えば少なくとも1つの衛星または携帯電話中継塔から地理的位置情報を受信し、情報をプロセッサ24に提供し、及び/またはプロセッサ24と連動して、AVD12が配置されている高度を特定するように構成される。しかしながら、例えば、AVD12の所在地を、例えば全3次元で特定するために、携帯電話受信器、GPS受信器、及び/または高度計以外の別の好適な位置受信器が、本発明の原理に従って使用されてもよいことを、理解されたい。
AVD12の説明を続けると、いくつかの実施形態では、AVD12は、1つ以上のカメラ32を含み得、これは、例えば熱画像カメラ、ウェブカメラなどのデジタルカメラ、及び/またはAVD12に統合されたカメラであり得、本発明の原理に従って写真/画像及び/または映像を収集するようにプロセッサ24により制御可能であり得る。また、AVD12は、ブルートゥース(登録商標)送受信器34と他の近距離無線通信(NFC)要素36とを含み得、これらは、ブルートゥース(登録商標)及び/またはNFC技術をそれぞれ使用して、他のデバイスと通信する。例示的なNFC要素は、無線周波数識別(RFID)要素であり得る。
さらにまた、AVD12は、プロセッサ24に入力を提供する1つ以上の補助センサ37を含み得る(例えば、加速度計、ジャイロスコープ、サイクロメータ、または磁気センサなどのモーションセンサ、赤外線(IR)センサ、光学センサ、速度及び/またはケイデンスセンサ、ジェスチャセンサ(例えばジェスチャコマンドを感知する)など)。AVD12は、地上波(OTA)TV放送を受信し、プロセッサ24に入力を提供するOTA TV放送ポート38を含み得る。前述に加えて、AVD12はまた、赤外線データ関連付け(IRDA)デバイスなどの赤外線(IR)送信器及び/またはIR受信器及び/またはIR送受信器42を含み得ることに留意されたい。AVD12に電力供給を行うために、バッテリ(図示せず)が提供され得る。
さらに図1を参照すると、AVD12に加えて、システム10は、1つ以上の他のCEデバイスタイプを含み得る。一例では、後述のサーバを通して送信されるコマンドを介してディスプレイを制御するように第1のCEデバイス44は使用され得、一方第2のCEデバイス46は、第1のCEデバイス44と同様のコンポーネントを含み得るため、詳細に説明しない。示される例では、2つのCEデバイス44、46のみが図示されるが、より少ないまたはより多いデバイスが使用されてもよいことが理解されよう。上記で示唆されたように、CEデバイス44/46及び/またはソース26aは、ゲームコンソールにより実施され得る。あるいは、CEデバイス44/46のうちの1つ以上は、Google Chromecast、Roku、Amazon FireTVの商標で販売されるデバイスにより、実施され得る。
示される例では、本発明の原理を例示するために、3つのデバイス12、44、46は全て、例えば自宅内のエンターテインメントネットワークのメンバーである、または少なくとも家屋などの場所で互いに近接して存在すると、想定される。しかしながら、本発明の原理は、明確に別段の主張がない限り、破線48で示される特定の場所に限定されない。
非限定的な例示の第1のCEデバイス44は、前述のデバイスのうちのいずれか1つ、例えば、ポータブル無線ラップトップコンピュータもしくはノートブックコンピュータ、またはゲームコントローラ(「コンソール」とも称される)により確立され得、従って、後述されるコンポーネントのうちの1つ以上を有し得る。第2のCEデバイス46は、ブルーレイプレーヤ、及びゲームコンソールなどのビデオディスクプレーヤにより確立され得るが、これらに限定されない。第1のCEデバイス44は、例えば、AV再生及び一時停止コマンドをAVD12に発令するためのリモートコントロール(RC)であり得る、または第1のCEデバイス44は、タブレットコンピュータ、有線または無線リンクを介して第2のCEデバイス46により実施されるゲームコンソールと通信し、AVD12上のビデオゲームの提示を制御するゲームコントローラ、パーソナルコンピュータ、無線電話などのより洗練されたデバイスであり得る。
従って、第1のCEデバイス44は、ディスプレイ上のタッチを介してユーザ入力信号を受信するタッチ対応であり得る1つ以上のディスプレイ50を含み得る。第1のCEデバイス44は、本発明の原理に従って音声を出力するための1つ以上のスピーカ52と、例えば第1のCEデバイス44を制御するために第1のCEデバイス44に音声コマンドを入力する、例えば音声受信器/マイクロホンなどの少なくとも1つの追加入力デバイス54と、を含み得る。例示的な第1のCEデバイス44はまた、1つ以上のCEデバイスプロセッサ58の制御下で、ネットワーク22を介して通信するための1つ以上のネットワークインターフェース56を含み得る。従って、インターフェース56は、メッシュネットワークインターフェースを含む、無線コンピュータネットワークインターフェースの例であるWi−Fi送受信器であり得るが、これに限定されない。プロセッサ58は、第1のCEデバイス44を制御して本発明の原理を実施し、これには、例えばディスプレイ50を制御してディスプレイ50上に画像を提示し、ディスプレイ50から入力を受信するなど、本明細書に説明される第1のCEデバイス44の他の要素が含まれることを理解されたい。さらに、ネットワークインターフェース56は、例えば有線または無線のモデムまたはルータであり得る、あるいは、例えば無線電話送受信器、または前述のWi−Fi送受信器などの他の好適なインターフェースであり得ることに、留意されたい。
上記に加えて、第1のCEデバイス44はまた、別のCEデバイスに(例えば有線接続を用いて)物理的に接続するための、例えばHDMI(登録商標)ポートまたはUSBポートなどの1つ以上の入力ポート60、及び/または、ヘッドホンを第1のCEデバイス44に接続して、第1のCEデバイス44からの音声をヘッドホンを介してユーザに提供するためのヘッドホンポートを含み得る。第1のCEデバイス44はさらに、ディスクベースストレージまたはソリッドステートストレージなどの1つ以上の有形コンピュータ可読記憶媒体62を含み得る。また、いくつかの実施形態では、第1のCEデバイス44は、位置受信器すなわち所在地受信器を含み得、これは、携帯電話及び/またはGPS受信器及び/または高度計64などであるがこれらに限定されず、例えば、三角測量を使用して、少なくとも1つの衛星及び/または携帯電話中継塔から地理的位置情報を受信し、情報をCEデバイスプロセッサ58に提供し、及び/またはCEデバイスプロセッサ58と連動して、第1のCEデバイス44が配置されている高度を特定するように構成される。しかしながら、例えば、第1のCEデバイス44の所在地を、例えば全3次元で特定するために、携帯電話及び/またはGPS受信器及び/または高度計以外の別の好適な位置受信器が、本発明の原理に従って使用されてもよいことを、理解されたい。
第1のCEデバイス44の説明を続けると、いくつかの実施形態では、第1のCEデバイス44は、1つ以上のカメラ66を含み得、これは、例えば熱画像カメラ、ウェブカメラなどのデジタルカメラ、及び/または第1のCEデバイス44に統合されたカメラであり得、本発明の原理に従って写真/画像及び/または映像を収集するようにCEデバイスプロセッサ58により制御可能であり得る。また、第1のCEデバイス44は、ブルートゥース(登録商標)送受信器68と他の近距離無線通信(NFC)要素70を含み得、これらは、ブルートゥース(登録商標)及び/またはNFC技術をそれぞれ使用して、他のデバイスと通信する。例示的なNFC要素は、無線周波数識別(RFID)要素であり得る。
さらにまた、第1のCEデバイス44は、CEデバイスプロセッサ58に入力を提供する1つ以上の補助センサ72を含み得る(例えば、加速度計、ジャイロスコープ、サイクロメータ、または磁気センサなどのモーションセンサ、赤外線(IR)センサ、光学センサ、速度及び/またはケイデンスセンサ、ジェスチャセンサ(例えばジェスチャコマンドを感知する)など)。第1のCEデバイス44はさらに、例えば、1つ以上の気候センサ74(例えば気圧計、湿度センサ、風センサ、光センサ、温度センサなど)及び/または1つ以上の生体センサ76などの他のセンサを含み得、これらは、CEデバイスプロセッサ58に入力を提供する。前述に加えて、いくつかの実施形態では、第1のCEデバイス44はまた、赤外線データ関連付け(IRDA)デバイスなどの赤外線(IR)送信器及び/またはIR受信器及び/またはIR送受信器78を含み得ることに留意されたい。第1のCEデバイス44に電力供給を行うために、バッテリ(図示せず)が提供され得る。CEデバイス44は、前述の通信モード及び関連コンポーネントのうちのいずれかを介して、AVD12と通信し得る。
第2のCEデバイス46は、CEデバイス44に関して示されるコンポーネントのうちのいくつかまたは全てを含み得る。一方または両方のCEデバイスが、1つ以上のバッテリにより電力供給され得る。
ここで、前述の少なくとも1つのサーバ80を参照すると、これは、少なくとも1つのサーバプロセッサ82と、ディスクベースストレージまたはソリッドステートストレージなどの少なくとも1つの有形コンピュータ可読記憶媒体84とを含む。一実施態様では、媒体84は、1つ以上のSSDを含む。サーバはまた、少なくとも1つのネットワークインターフェース86を含み、これにより、ネットワーク22を介して図1の他のデバイスとの通信が可能となり、実際に、本発明の原理に従ってサーバとクライアントデバイスとの間の通信が促進され得る。ネットワークインターフェース86は、例えば、有線もしくは無線のモデムもしくはルータ、Wi−Fi送受信器、または例えば無線電話送受信器などの他の好適なインターフェースであり得ることに、留意されたい。ネットワークインターフェース86は、サーバプロセッサ82を通ることなく、いわゆる「ファブリック」などのネットワークに媒体84を直接接続するリモートダイレクトメモリアクセス(RDMA)インターフェースであり得る。ネットワークには、Ethernet(登録商標)ネットワーク、及び/またはFibre Channelネットワーク、及び/またはInfiniBandネットワークが含まれ得る。通常、サーバ80は、物理サーバ「スタック」に配置され得る「ブレード」と称される多数のコンピュータに多数のプロセッサを含む。
従って、いくつかの実施形態では、サーバ80は、インターネットサーバまたは「サーバファーム」全体であり得、例えばネットワークゲームアプリケーションなどの例示的な実施形態で、システム10のデバイスがサーバ80を介して「クラウド」環境にアクセスし得るように、「クラウド」機能を含み実行し得る。あるいは、サーバ80は、図1に示される他のデバイスと同じ部屋または近くに存在する1つ以上のゲームコンソールまたは他のコンピュータにより、実施され得る。
本明細書の方法は、プロセッサにより実行されるソフトウェア命令、好適に構成された特定用途向け集積回路(ASIC)もしくはフィールドプログラマブルゲートアレイ(FPGA)モジュール、または当業者に自明の任意の他の便利な方法で、実施され得る。ソフトウェア命令が採用される場合、ソフトウェア命令は、CD ROM、またはフラッシュドライブなどの非一時的デバイス内で具現化され得る。あるいは、ソフトウェアコード命令は、ラジオ信号もしくは光信号などの一時的構成で、またはインターネットを介したダウンロードにより、具現化されてもよい。
図2は、Sony Playstations(登録商標)、Microsoft Xboxes(登録商標)などの1つ以上のクライアントゲームコンソール200(「ゲームシステム」、「ゲームデバイス」とも称される)が、有線及び/または無線リンクを介して、クラウドベースゲーム管理サーバ202、通常インターネットサーバと通信するクラウドコンピュータゲーム環境の形態での例示的な適用を示す。次に、管理サーバ202は、1つ以上のソリッドステートメモリ206を含む第1のゲームサーバ204(多数のサーバ「ブレード」により具現化され得る)と通信し、1つ以上のソリッドステートメモリ206は、例えば、フラッシュまたは3D Xpointなどのこれらに限定されないソリッドステートメモリを使用するNVMe対応SSDを含むランダムアクセスメモリ(RAM)などが挙げられる。管理サーバ202は、最大「N」個のこのようなサーバと通信し、これには、1つ以上のソリッドステートメモリ214を含むN番目のゲームサーバ212が含まれる。
図3は、単一のスタック筐体に含まれ得る例示的なサーバスタック300を示し、サーバファームは通常、このようなサーバスタックを多数含む。サーバスタック300は、高速ファブリック304を通してサーバスタックに接続されたクライアントのために計算を実行する複数の計算サーバ302を含む。スタック内の各サーバは、ファブリックに接続され得る。図示されるように、管理サーバ306もスタックに含まれ得、1つ以上のNVMe対応ストレージサーバ308がスタックに含まれ得る。ファブリックソリューションを使用することにより、計算サーバは高速で相互通信できるようになり、これにより、重い計算作業に対する「計算ノードのバンドリング」が可能となり得ることに留意されたい。
ストレージサーバ308は、NVMe対応の1つ以上(通常は複数)のSSD310を含み得、これは、ファブリック304を介してスタック内の他のサーバに直接アクセス可能である。ストレージサーバ308はまた通常、1つ以上のプロセッサ312と、1つ以上のキャッシュ型ランダムアクセスメモリ(RAM)314とを含む。CPU312を通ることなく、SSD310にアクセスし、そこからコンテンツをストリーミングすることができる。
管理サーバ306は、スタックの管理タスクを実行し、このうちのいくつかは下記でさらに論述され、一方、ストレージサーバは、スタックのストレージ機能を実行する。実施形態では、管理サーバ306は、図示されるように、計算サーバ及びストレージサーバとは分離した別個のサーバであり得る、または管理サーバ306は、計算サーバ及び/またはストレージサーバにより実施され得る。管理サーバ306は、サーバのマザーボードの後述のドーターボードのうちの1つにより実施され得る。
図4〜6は、スタック300内のサーバの例示的なアーキテクチャ、特に計算サーバ302を実施するために使用され得るアーキテクチャを示す。図示されるように、サーバ400は複数のマザーボード402を含み得、マザーボード402は、互いに実質的に同一であり、よって明確化のため、単一のマザーボードのみの詳細が示される。図示される例では、各サーバ400は、4つのマザーボードを含むが、これより多いまたは少ないマザーボードが使用されてもよい。各マザーボードは、例えば、あるいはコンピュータゲームコンソールに対応付けられたマザーボードであり得る。いくつかの例では、サーバのマザーボードの大部分は互いに同一であり得、サーバの1つ以上のマザーボードが他と異なり得、例えば、3つのマザーボードはコンピュータゲームコンソールのマザーボードであり得、1つはパーソナルコンピュータのマザーボードであり得る。
図4に図示される例では、マザーボード402は、プロセッサ404を含む。プロセッサ404は、中央処理装置(CPU)及びグラフィック処理装置(GPU)として機能する単一のダイ上の処理チップである加速処理装置(APU)であり得る。プロセッサ404は、PCI(e)を使用して、図示される非限定的な例では4つのPCI(e)レーンを使用して、サウスブリッジ406と通信し得る。
また、プロセッサ404は、例えば4つのPCI(e)レーンを介し、コネクタ410を通してファブリックアダプタ408に接続され得る。コネクタ410は、OculinkまたはM2コネクタなどのケーブルコネクタであり得る。
例では、ファブリックアダプタ408は、「ドーターボード」、すなわちマザーボード402の一部である回路基板として実装され得、リモートダイレクトメモリアクセス(RDMA)(Infiniband、仮想インターフェースアーキテクチャ、RDMAオーバーコンバージドEthernet(登録商標)(RoCE)、及びインターネット広域RDMAプロトコル(iWARP)を含む)などのNVMeインターフェースを実施し得る。あるいは、ファブリックアダプタ408は、NVMeオーバーFibre Channelなどの別の種類のNVMeインターフェースであり得る。いずれの事例でも、図示されるように、マザーボード402は、ファブリックアダプタ408を通してサーバ400の他のマザーボード402に接続され、また、ファブリックアダプタを通して、図3に示されるストレージサーバ308のSSDに、またネットワークに、そこからリモートクライアントに、接続される。
クラウドベースのゲームアプリケーションでは、サーバ400のマザーボード402は協働して、ストレージサーバ308のSSD310に格納されているコンピュータゲームを、コンピュータゲームコンソールなどのリモートクライアントにストリーミングし得る。あるいは、映像ストリーミングアプリケーションでは、サーバ400のマザーボード402は協働して、ストレージサーバ308に格納されている映画またはテレビ番組を、映像再生デバイスなどのリモートクライアントにストリーミングし得る。
例では、各コンテンツ、つまり各コンピュータゲームまたは各完全映像プログラム、例えば映画、テレビ番組、または他の映像プログラムが、複数のSSDに格納されている。各コンテンツはその全体が、複数のSSDのそれぞれに格納され得る。付加的または代替的に、各コンテンツは、複数のSSDにわたりストライピングされ得る。いずれの事例でも、NVMe−oF技術により提供される速度のおかげで、多数のマザーボード402(及び実際には多数の計算サーバ)を使用して、多数のSSDに格納されている単一のコンテンツが、クライアントにストリーミングされ得る。また、単一のコンテンツは、下記でさらに説明されるデータ冗長性及び負荷分散のためにそのコンテンツを格納しているSSD間をシームレスに切り替わることにより、ストリーミングされ得る。
追加のサーバアーキテクチャを説明する前に、ストレージサーバに特に適したアーキテクチャを示す図4Aを簡単に参照する。サーバ400Aは、ファブリックにアクセスするための多数のネットワークアダプタ406Aを含む通常は単一のマザーボード404A上に、APU402Aなどの少なくとも1つ、好ましくは複数(帯域幅の理由で)のプロセッサを有し得る。1つ以上のNVMe対応SSD408Aは、プロセッサと通信する。マザーボード404Aは、複数の「ソケット」を含み得、各ソケットは、APUまたはCPUなどのプロセッサで埋められ得る。図示されるように、各ソケットは、自身のRAMも含むことができ、異なるCPUは、互いのRAMにアクセスすることができる。
図5は、サーバ500の代替的なアーキテクチャを示し、これは、本明細書で開示される他のアーキテクチャと同様に、本明細書の任意のサーバにより使用され得る。図5のサーバ500は、各マザーボード502がそれぞれ自身のファブリックアダプタを有する代わりに、図5のマザーボード502は単一の共通ファブリックアダプタ504を共有して、ネットワークファブリック506と通信し、そこからストレージサーバ、及びエンドユーザゲームコンソールまたは映像プレーヤなどのリモートクライアントデバイス508を含む他のコンポーネントと通信することを除いて、全ての本質的な点で図4に示されるサーバ400と同一である。
図6は、サーバ600の代替的なアーキテクチャを示し、これは、本明細書で開示される他のアーキテクチャと同様に、本明細書の任意のサーバにより使用され得る。図6のサーバ600は、図6に示される各マザーボード604のAPU602がそれぞれのPCI(e)スイッチ606に接続され、そこから8つのPCI(e)レーンを介してサウスブリッジ608に接続されていることを除いて、全ての本質的な点で図4に示されるサーバ400と同一である。スイッチ606は次に、ファブリックアダプタ612に接続されたOculinkまたはM2コネクタなどのコネクタ610に、上記のコンポーネントを接続する。図6の技法は、接続されたデバイス間に8つのPCI(e)レーンを提供し、同時に、他のチップがあまり帯域幅を使用していない場合、より高いデータスループットを得られるように負荷分散を提供する。図6のアーキテクチャは、図5の共有ファブリックアダプタ技法を採用してもよいことを理解されたい。
図7は、非限定的な例としてRDMAを使用するドーターボード700として実装される、上記で開示されたファブリックアダプタの例を示す。ドーターボード700は、少なくとも1つのAPUを含まなくてもよいが、いくつかの例では、APUを含み得る。図7に示される例示的なドーターボード700は、SSDなどの少なくとも1つのNVMe対応ストレージ704を含み、これは、RDMAインターフェースなどのファブリックインターフェース706に接続され、そこからネットワークファブリック708に接続され、次にネットワークファブリック708は、スタック内の他のサーバ及びリモートエンドユーザクライアントデバイス710に接続され得る。
図8は、例示的なストレージロジックを示す。ブロック800から開始し、完全なコンピュータゲームまたは完全な映像プログラムなどの各コンテンツは、「N」個のNVMeストレージデバイスに「N」回格納され、「N」は1より大きい整数である。ブロック802にて、各コンテンツのIDが、そのコンテンツを格納しているストレージデバイスのID、及びそのコンテンツを格納している各ストレージデバイスのブロック番号と、相互に関連付けられるマッピングデータ構造が確立される。
図9は、コンピュータゲーム、及び映像プログラムなどの複数のコンテンツ902と、そのコンテンツを格納しているSSDの識別子904、及び902で示されるコンテンツを格納しているデバイスID904で識別される各SSDのブロックの識別906とを、相互に関連付ける結果マッピングデータ構造900を示す。従って、示される例では、各コンテンツは、複数のデバイスに格納されている。例えば、ゲームAは、SSD1及びSSD3に格納され、SSD1のブロック100〜200、及びSSD3のブロック400〜500に格納されている。示される例では、ゲームBは、SSD1及びSSD2に格納され、SSD1のブロック350〜450、及びSSD2のブロック1〜100に格納されている。図9のブロック番号は連続しているが、ブロック番号は連続している必要はなく、マッピングデータ構造にリストされているSSD上で、多数のグループのブロック番号が、特定の1つのコンテンツを格納していることを、理解されたい。デフラグを実行して、ブロック内の非隣接性を最小限に抑えることができる。
図10は、上記に示されたサーバアーキテクチャのうちのいずれかを使用した例示的なコンテンツストリーミングロジックを示す。ロジックは、サーバスタックのプロセッサ間で分散され得る、またはスタック内のプロセッサのうちの選択された1つにより実施され得る。なお、使用する特定のファイルシステムまたは暗号化は、特定のアプリケーションにより定義することができ、コンテンツが暗号化されている場合には、計算サーバは復号化を実行することができる。暗号化されたコンテンツの事例では、暗号化キーは、「ブロックマッピング」に沿って、計算サーバに提供し戻され得る。例では、管理サーバ及び計算サーバ(複数可)は、ハンドシェイクを実行して、ブロックマッピング及び暗号化キーを取得し得る。管理サーバがブロックマッピング及び暗号化キーを計算サーバ(複数可)に返すための前提条件と同様に、計算サーバの認証が実施され得る。そのため、計算サーバは、ユーザまたはトークンの認証情報を共有し得る。
ブロック1000から開始し、エンドユーザデバイスがサーバスタックに対応付けられたコンテンツのクラウドソースと通信を確立すると、スタック内の管理サーバは、通常、特定の初期化機能を実行し、例えば、コンテンツに対する要求のデジタル著作権管理(DRM)態様を検証し、クライアント要求に1つ以上の計算サーバを割り当て、次いでブロック1002にて、マッピングデータ構造にアクセスしてコンテンツが格納されている場所を確認する。従って、ブロック1002では、図9に示される例などのマッピングデータ構造により、要求されたコンテンツが格納されているSSD、及び要求されたコンテンツを格納しているこれらのSSDのブロック番号が特定され、要求を実行するために、要求に割り当てられた計算サーバ(複数可)に提供される。次に計算サーバは、コンテンツが格納されている場所に関する情報を使用して、コンテンツにアクセスし、要求元のクライアントにストリーミングする。必要に応じて、マッピングデータ構造からの格納場所情報は、要求元クライアントに提供され、要求元クライアントがコンテンツに直接アクセスすることを可能にし得る。
より具体的には、ブロック1004にて、割り当てられた計算サーバは、複数のSSDのうち、要求されたコンテンツを格納しておりコンテンツのストリーミング元となるものとして管理サーバにより特定されたSSDを選択する。これは、SSDのうち、コンテンツを格納しているSSDを最初に疑似ランダム的に選択することにより行われ得る、または、後述の非限定的で例示的な負荷分散技法のうちのいずれかを使用して行われ得る。次に、コンテンツは、ブロック1006にて、クライアントにストリーミングされる。最初の疑似ランダム選択プロセスの後に、良好であるとわかっている選択デバイスは、キャッシュされ、将来デフォルトで使用され得ることに、留意されたい。さらに、アイドリング中、計算サーバは、定期的に(例えば30分ごとに)デフォルトのデバイスにpingを送って、今でも作動可能であることを検出し得る、あるいは前もって良好なデバイスを選択し得る。これにより、計算サーバは、自動的に作動不可能なデバイスを検出し、他の良好なデバイスに切り替えるため、障害が生じたデバイスを新たなデバイスにホットスワップすることが促進され得る。
判定菱形1008は、割り当てられた計算サーバが、コンテンツのストリーミングを第1のSSDから第2のSSDへシームレスに切り替える負荷分散条件が存在するか否かを判定し得ることを示す。例として、現在ストリーミングを行っているSSDとクライアントとの間のネットワーク輻輳またはレイテンシが閾値を満たす場合、負荷分散条件が存在するとみなされ得る。このような輻輳またはレイテンシの判定は、非限定的な例では、クライアントからのパケットの再送信要求数が閾値を超えるか否か、クライアントから過度の遅延に関する直接レポートが受信されたか否かを、判定することにより決定され得る、またはサーバスタックからクライアントへ送信され戻ってきたテストトーンの測定往復時間が、閾値時間を超えるか否かに基づき得る。さらにまた、特定のSSDに対する入力/出力要求の数が閾値を超える場合、負荷分散条件が存在するとみなされ得る。これらは、負荷分散条件が存在するか否かを判定するための非限定的で例示的な技法を示すに過ぎない。
また、判定菱形1010は、例えば、SSDの対応付けられたNVMe−oFインターフェースを通してSSDから送信されているデータが少ししかない、または全くないことを観測することにより示されるように、現在ストリーミングを行っているSSDが作動不可能になったか否かの判定が行われ得ることを示す。現在ストリーミングを行っているデバイスが作動不可能である場合、または判定菱形1008にて負荷分散条件が存在する場合、ロジックは、ブロック1012に進み、マッピングデータ構造により示されるコンテンツを格納している別のドライブに、コンテンツのストリーミングを切り替える。このようにすることで、第1のSSDからクライアントにストリーミングされたコンテンツのブロック数が記録され得、次いで、第2のSSDは、第2のSSD上でコンテンツが格納されている対応する「次」のブロックにアクセスされ得る。例えば、図9の例示的なマッピングデータ構造を使用すると、SSD#1がクライアントデバイスに対しSSD#1のブロック50までのコンテンツをストリーミングし、その後、負荷分散条件が生じたまたはSSD#1に障害が生じた場合、コンテンツは、SSD#3からストリーミングされるように動的に切り替えられ、SSD#3のブロック450から開始する。
このようにして、現在使用しているNVMe対応SSDに障害が生じたという判定に応じて、ストリーミングが第2のNVMe対応SSDに切り替えられて、当該1つのコンテンツはクライアントコンピュータに提供され得、これによりデータ冗長性が提供される。前述の説明から、データの別のコピーがストレージサーバに(及びブロックマッピングに)配置され得るように、SSDの作動不可能状態が、管理サーバなどのこれに限定されないサーバに通知され得ることを、思い出されたい。障害の生じたSSDを交換するように、技術担当者も通知され得る。
あるいは、依然として作動可能な第1のNVMe対応SSDで負荷分散条件が満たされるという判定に応じて、それでもなお、ストリーミングが第2のNVMe対応SSDに切り替えられて、当該1つのコンテンツはクライアントコンピュータに提供され得る。
非常にレイテンシの影響を受けやすい転送では、輻輳が生じる可能性がある場合、次のような本明細書のアーキテクチャを使用して、負荷分散/冗長性が強化され得ることに留意されたい。計算サーバが、2つのNVMe対応SSDのそれぞれに格納されているコンテンツブロック1〜100にアクセスしようとしていると想定する。最初の「N」個のブロック(例えば10個、この例ではブロック1〜10)が、第1のNVMe対応SSDからフェッチされ得、コンテンツの次のいくつかのブロック(この例ではブロック11〜20)が、第2のNVMe対応SSDからフェッチされ得る。次に、コンテンツブロックの残り(この例では21〜100)が、その最初のブロックを要求元の計算サーバに最速で返したSSDから、独占的にフェッチされ得る。拡大解釈すると、NVMe対応SSDのうちの1つが、最初に要求されたブロックをいずれも返さない場合、不足しているブロック並びに残りのブロックは、最初に要求されたブロックを返したSSDからフェッチされる。これにより、アクセスしようとしている最初のSSDのうちの1つが誤作動している場合の一往復分のレイテンシが除去される。
単一コンテンツといったコンテンツは、それぞれ複数のサーバスタックの複数のストレージサーバに格納され得、この場合、前述のマッピングデータ構造は、サーバIDと各コンテンツとを相互に関連付け得る。また、計算サーバは、物理SSDと直接通信する代わりに、柔軟性のためにストレージサーバ内でプロセッサが実施する「仮想ドライブ」と通信し得、「仮想ドライブ」が物理SSDからデータを取得する。SSDストレージでは、クライアントへの供給が求められる全てのコンテンツを格納するのに不十分である場合、最も人気のある(最も要求される)コンテンツがストレージサーバのSSDに格納され得、人気の低いコンテンツに対するクライアント呼び出しは、例えば計算サーバまたは管理サーバまたはストレージサーバのプロセッサにより傍受され、人気の低いコンテンツを格納しているマスタストレージ設備に送信され、人気の低いコンテンツはマスタストレージ設備から供給される。
本発明の原理は、いくつかの例示的な実施形態を参照して説明されたが、これらは限定を意図するものではなく、本明細書で請求される主題を実施するために、様々な代替的構成が使用されてもよいことが、理解されよう。

Claims (20)

  1. マッピングデータ構造にアクセスできる少なくとも1つの管理サーバと、
    それぞれが複数のコンピュータマザーボードを備える複数の計算サーバと、
    少なくとも第1の不揮発性メモリ(NVMe)対応ソリッドステートドライブ(SSD)及び第2のNVMe対応SSDを備える少なくとも1つのストレージサーバと、
    を備えるコンピュータ実装サーバスタックであって、
    少なくとも第1の計算サーバは、
    少なくとも1つの処理ユニットを備える少なくとも第1のコンピュータマザーボードと、
    少なくとも1つの処理ユニットを備える少なくとも第2のコンピュータマザーボードと、
    前記マザーボードを前記第1のNVMe対応SSD及び前記第2のNVMe対応SSDに接続する少なくとも1つのNVMeオーバーファブリック(NVMe−oF)通信経路と、
    を備え、
    前記サーバスタックは、命令により、
    クライアントコンピュータから1つのコンテンツの要求を受信することと、
    前記1つのコンテンツの識別を使用して前記マッピングデータ構造にアクセスして、前記1つのコンテンツが少なくとも前記第1のNVMe対応SSDに格納されていることを特定し、前記第1のNVMe対応SSDのどのブロックが前記1つのコンテンツを格納しているかを特定することと、
    前記1つのコンテンツを格納している前記第1のNVMe対応SSD及び前記第1のNVMe対応SSDの前記ブロックを特定したことに基づいて、前記1つのコンテンツを、計算サーバを経由することなく前記NVMe−oF経路を介して直接前記クライアントコンピュータにストリーミングさせることと、
    を実行するようにプログラムされる、
    コンピュータ実装サーバスタック。
  2. 前記データ構造はさらに、前記1つのコンテンツが少なくとも前記第2のNVMe対応SSDに格納されていることと、前記第2のNVMe対応SSDのブロックが前記1つのコンテンツを格納していることとを、相互に関連付け、
    前記サーバスタックは、命令により、
    前記第1のNVMe対応SSDに障害が生じたという判定に応じて、前記第2のNVMe対応SSDに切り替えて、前記1つのコンテンツを前記クライアントコンピュータに提供すること
    を実行するようにプログラムされる、請求項1に記載のコンピュータ実装サーバスタック。
  3. 前記データ構造はさらに、前記1つのコンテンツが少なくとも前記第2のNVMe対応SSDに格納されていることと、前記第2のNVMe対応SSDのどのブロックが前記1つのコンテンツを格納していることとを、相互に関連付け、
    前記サーバスタックは、命令により、
    依然として作動可能な前記第1のNVMe対応SSDで負荷分散条件が満たされるという判定に応じて、前記第2のNVMe対応SSDに切り替えて、前記1つのコンテンツを前記クライアントコンピュータに提供すること
    を実行するようにプログラムされる、請求項1に記載のコンピュータ実装サーバスタック。
  4. 前記1つのコンテンツは、前記第1のNVMe対応SSD及び前記第2のNVMe対応SSDにわたりストライピングされる、請求項1に記載のコンピュータ実装サーバスタック。
  5. 前記1つのコンテンツは、前記第1のNVMe対応SSD及び前記第2のNVMe対応SSDのそれぞれに、完全に記録される、請求項1に記載のコンピュータ実装サーバスタック。
  6. 前記1つのコンテンツは、映像である、請求項1に記載のコンピュータ実装サーバスタック。
  7. 前記1つのコンテンツは、コンピュータゲームである、請求項1に記載のコンピュータ実装サーバスタック。
  8. 前記管理サーバは、前記ストレージサーバ、または前記計算サーバのいずれでもない、請求項1に記載のコンピュータ実装サーバスタック。
  9. 前記管理サーバは、前記計算サーバのうちの少なくとも1つにより実施される、請求項1に記載のコンピュータ実装サーバスタック。
  10. 前記管理サーバは、前記ストレージサーバにより実施される、請求項1に記載のコンピュータ実装サーバスタック。
  11. 一時的信号ではなく、かつ命令を含む少なくとも1つのコンピュータメモリを備えるデバイスであって、
    前記命令は、少なくとも1つのプロセッサにより、
    少なくとも第1の不揮発性メモリ(NVMe)対応ソリッドステートドライブ(SSD)及び第2のNVMe対応SSD上で、1つのコンテンツの複数の完全コピーを特定することであって、データ構造は、前記1つのコンテンツの識別と、前記1つのコンテンツが格納されている前記第1のSSD及び前記第2のSSD並びに各SSDの関連ブロックの識別とを、相互に関連付ける、前記特定することと、
    クライアントコンピュータからの前記1つのコンテンツに対する要求に応じて、前記データ構造にアクセスして、前記第1のSSD及び前記第2のSSD上のどこに前記1つのコンテンツが格納されているかを特定することと、
    前記第1のSSD及び前記第2のSSD上のどこに前記1つのコンテンツが格納されているかを特定したことに応じて、周辺機器相互接続エクスプレス(PCI(e))プロトコルを使用する少なくとも1つのNVMeオーバーファブリック(NVMe−oF)通信経路を用いて、前記1つのコンテンツにアクセスして少なくとも前記第1のSSDから前記クライアントコンピュータに前記1つのコンテンツを送信することと、
    を実行可能である、デバイス。
  12. 前記少なくとも1つのコンピュータメモリに接続された前記少なくとも1つのプロセッサを備える、請求項11に記載のデバイス。
  13. 前記1つのコンテンツは、映像である、請求項11に記載のデバイス
  14. 前記1つのコンテンツは、コンピュータゲームである、請求項11に記載のデバイス
  15. 前記命令は、
    前記第1のSSDに障害が生じたという判定に応じて、前記第2のSSDに切り替えて、前記1つのコンテンツを前記クライアントコンピュータに提供すること
    を実行可能である、請求項11に記載のデバイス。
  16. 前記命令は、
    依然として作動可能な前記第1のSSDで負荷分散条件が満たされるという判定に応じて、前記第2のSSDに切り替えて、前記1つのコンテンツを前記クライアントコンピュータに提供すること
    を実行可能である、請求項11に記載のデバイス。
  17. 前記1つのコンテンツは、前記第1のSSD及び前記第2のSSDにわたりストライピングされる、請求項11に記載のデバイス。
  18. 前記1つのコンテンツは、前記第1のSSD及び前記第2のSSDのそれぞれに、完全に記録される、請求項11に記載のデバイス。
  19. 不揮発性メモリオーバーファブリック(NVMe−oF)ネットワークストレージシステムを提供することと、
    前記NVMe−oFネットワークストレージシステムでデータ冗長性を提供することと、
    前記NVMe−oFネットワークストレージシステムで負荷分散を提供することと、
    を含む方法。
  20. いくつかのコンテンツと、各コンテンツが格納されている前記NVMe−oFネットワークストレージシステム内のソリッドステートドライブ(SSD)及び各SSD内のブロックとを相互に関連付ける、前記NVMe−oFネットワークストレージシステムのデータ構造を確立することを含む、請求項19に記載の方法。
JP2020548859A 2017-12-05 2018-10-31 超高速かつ低遅延なネットワークストレージ Active JP7216739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022123889A JP2022153623A (ja) 2017-12-05 2022-08-03 超高速かつ低遅延なネットワークストレージ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/832,497 2017-12-05
US15/832,497 US10992967B2 (en) 2017-12-05 2017-12-05 Ultra high-speed low-latency network storage
PCT/US2018/058350 WO2019112710A1 (en) 2017-12-05 2018-10-31 Ultra high-speed low-latency network storage

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022123889A Division JP2022153623A (ja) 2017-12-05 2022-08-03 超高速かつ低遅延なネットワークストレージ

Publications (2)

Publication Number Publication Date
JP2021506038A true JP2021506038A (ja) 2021-02-18
JP7216739B2 JP7216739B2 (ja) 2023-02-01

Family

ID=66658571

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020548859A Active JP7216739B2 (ja) 2017-12-05 2018-10-31 超高速かつ低遅延なネットワークストレージ
JP2022123889A Pending JP2022153623A (ja) 2017-12-05 2022-08-03 超高速かつ低遅延なネットワークストレージ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022123889A Pending JP2022153623A (ja) 2017-12-05 2022-08-03 超高速かつ低遅延なネットワークストレージ

Country Status (5)

Country Link
US (3) US10992967B2 (ja)
EP (1) EP3721334A4 (ja)
JP (2) JP7216739B2 (ja)
CN (1) CN111630488B (ja)
WO (1) WO2019112710A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11231764B2 (en) * 2018-10-17 2022-01-25 Samsung Electronics Co., Ltd. System and method for supporting chassis level keep alive in NVME-of based system
US11321259B2 (en) * 2020-02-14 2022-05-03 Sony Interactive Entertainment Inc. Network architecture providing high speed storage access through a PCI express fabric between a compute node and a storage server
US11720413B2 (en) * 2020-06-08 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for virtualizing fabric-attached storage devices

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337722A (ja) * 2002-03-13 2003-11-28 Hitachi Ltd 計算機システム
JP2006011672A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd コンテンツ配信システム及び方法
JP2011003154A (ja) * 2009-06-22 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> 情報データ収集管理装置とその送信周期推定方法及びプログラム
JP2013046219A (ja) * 2011-08-24 2013-03-04 Sony Corp 情報処理装置、ビューワ装置及び情報処理方法
JP2015058072A (ja) * 2013-09-17 2015-03-30 株式会社バンダイナムコゲームス ゲームシステム、サーバシステム及びプログラム
US20170106280A1 (en) * 2015-10-15 2017-04-20 Sony Computer Entertainment America Llc Method for improving game streaming performance in the cloud
JP2017512350A (ja) * 2014-03-08 2017-05-18 ディアマンティ インコーポレイテッド 集中型ネットワーキング及びストレージのための方法及びシステム
US20170286363A1 (en) * 2016-04-04 2017-10-05 Marvell World Trade Ltd. Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access
JP2017211983A (ja) * 2016-05-24 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. テナントアウェアストレージシェアリングプラットフォームのための処理装置及びその方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680536A (en) * 1994-03-25 1997-10-21 Tyuluman; Samuel A. Dual motherboard computer system
AU2002249939A1 (en) * 2001-01-11 2002-07-24 Z-Force Communications, Inc. File switch and switched file system
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7610348B2 (en) * 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US20060280195A1 (en) * 2005-06-10 2006-12-14 Dell Products L.P. Systems and methods for providing dedicated or shared network interface functionality via a single MAC
US8090790B2 (en) * 2007-05-30 2012-01-03 Broadcom Corporation Method and system for splicing remote direct memory access (RDMA) transactions in an RDMA-aware system
US8301832B1 (en) * 2012-03-23 2012-10-30 DSSD, Inc. Storage system with guaranteed read latency
US20140040526A1 (en) * 2012-07-31 2014-02-06 Bruce J. Chang Coherent data forwarding when link congestion occurs in a multi-node coherent system
JP6328432B2 (ja) 2014-01-16 2018-05-23 クラリオン株式会社 ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
US10148746B2 (en) * 2014-01-28 2018-12-04 Mellanox Technologies, Ltd. Multi-host network interface controller with host management
US10635316B2 (en) 2014-03-08 2020-04-28 Diamanti, Inc. Methods and systems for data storage using solid state drives
US9912562B2 (en) * 2014-03-31 2018-03-06 Microsoft Technology Licensing, Llc Measuring latency in an interactive application
US9588690B2 (en) * 2014-11-19 2017-03-07 International Business Machines Corporation Performance-based grouping of storage devices in a storage system
US9529542B2 (en) * 2015-04-14 2016-12-27 E8 Storage Systems Ltd. Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect
US9792048B2 (en) 2015-06-22 2017-10-17 Western Digital Technologies, Inc. Identifying disk drives and processing data access requests
US10645164B1 (en) * 2015-10-27 2020-05-05 Pavilion Data Systems, Inc. Consistent latency for solid state drives
US10206297B2 (en) * 2015-11-23 2019-02-12 Liqid Inc. Meshed architecture rackmount storage assembly
US10503684B2 (en) * 2016-07-01 2019-12-10 Intel Corporation Multiple uplink port devices
US10318476B2 (en) * 2017-05-24 2019-06-11 Netapp, Inc. Systems and methods for using resources in a networked computing environment
US10444722B2 (en) * 2017-09-29 2019-10-15 Intel Corporation Techniques to direct access requests to storage devices
CN108683618B (zh) * 2018-04-25 2021-01-01 广州视源电子科技股份有限公司 通信设备和智能终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337722A (ja) * 2002-03-13 2003-11-28 Hitachi Ltd 計算機システム
JP2006011672A (ja) * 2004-06-24 2006-01-12 Hitachi Ltd コンテンツ配信システム及び方法
JP2011003154A (ja) * 2009-06-22 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> 情報データ収集管理装置とその送信周期推定方法及びプログラム
JP2013046219A (ja) * 2011-08-24 2013-03-04 Sony Corp 情報処理装置、ビューワ装置及び情報処理方法
JP2015058072A (ja) * 2013-09-17 2015-03-30 株式会社バンダイナムコゲームス ゲームシステム、サーバシステム及びプログラム
JP2017512350A (ja) * 2014-03-08 2017-05-18 ディアマンティ インコーポレイテッド 集中型ネットワーキング及びストレージのための方法及びシステム
US20170106280A1 (en) * 2015-10-15 2017-04-20 Sony Computer Entertainment America Llc Method for improving game streaming performance in the cloud
US20170286363A1 (en) * 2016-04-04 2017-10-05 Marvell World Trade Ltd. Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access
JP2017211983A (ja) * 2016-05-24 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. テナントアウェアストレージシェアリングプラットフォームのための処理装置及びその方法

Also Published As

Publication number Publication date
EP3721334A4 (en) 2021-10-20
EP3721334A1 (en) 2020-10-14
JP2022153623A (ja) 2022-10-12
CN111630488A (zh) 2020-09-04
US11736741B2 (en) 2023-08-22
JP7216739B2 (ja) 2023-02-01
US20190174155A1 (en) 2019-06-06
WO2019112710A1 (en) 2019-06-13
US20210281890A1 (en) 2021-09-09
US10992967B2 (en) 2021-04-27
US20240064342A1 (en) 2024-02-22
CN111630488B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
US11736741B2 (en) Ultra high-speed low-latency network storage
US9871847B2 (en) Data-sharing system and method
US9532103B2 (en) Multi-user support for set top boxes and game consoles
US10967260B2 (en) Method for improving game streaming performance in the cloud
US11665400B2 (en) Media device upgrading system over a wireless network
US20240089538A1 (en) Port-connected television upgrader device
US10437715B2 (en) Verification that particular information is transferred by an application
JP6455687B2 (ja) モノのインターネットのためのネットワークセキュリティ
WO2018063548A1 (en) Obfuscated secret key derivation for non-secure commercial off-the-shelf (cots) devices
JP7277592B2 (ja) 家庭用ゲームコンソール及びクラウドゲーム用のスケーラブルなゲームコンソールcpu/gpu設計
EP3676782A1 (en) Intelligent tv startup based on consumer behavior and real time content availability
US20210113928A1 (en) Post-launch crowd-sourced game qa via tool enhanced spectator system
EP3042489B1 (en) Restricting information requested by an application
US20220143499A1 (en) Scalable game console cpu / gpu design for home console and cloud gaming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230120

R150 Certificate of patent or registration of utility model

Ref document number: 7216739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150