Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
патент1.doc
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
328.19 Кб
Скачать

Основная часть

ПРЕДПОСЫЛКИ ПАТЕНТА

Как правило, данные хранятся с использованием концепции управления хранением, например, файловая система. Концепция управления хранением направлена ​​на обеспечение доступности данных, и надежности данных (т.е. обнаружение поврежденных данных, репликации данных, обеспечение корректировки данных и т.д.). Кроме того, данные концептуализируются и хранятся в виде файлов или блоков логических объектов, находящихся внутри хранилища данных. Например, в файловой системе, данные хранятся на физических дисках или лентах в виде файлов или блоков.

Когда данные концептуализированны таким образом, состоянием данных (например, время доступа, размер данных, чтение / запись и т.д.) управляет устройство управления хранением данных (например, файловая система). Кроме того, достоверность данных в устройстве управления хранением обычно обеспечивается использованием различных схем, таких как управление иерархическим хранением (HSM) устройств и резервные массивы недорогих (или независимые) дисков (RAID).

Использованые указанные выше типы хранения данных, различные атрибуты данных (например, состояние данных и достоверность данных) отделены от механизмов, которые обслуживают эти атрибуты. Например, данные атрибутов в файловой системе хранятся как часть метаданных, связанных с файлами, а не как часть фактических данных. В некоторых случаях это может привести потери атрибутов, когда данные передаются от одного устройства управления хранением данных в другое.

РЕЗЮМЕ ПАТЕНТА

В общем, в одном аспекте изобретение относится к системе, содержащей множество блоков данных, причем каждый из множества блоков данных, связанный с данным потоком, множество механизмов хранения выполнен с возможностью сохранения множества блоков данных, а также планировщик данных, выполненный с возможностью планировать действие на множестве блоков данных с использованием, потока данных, связанный с каждым из множества блоков данных, в котором поток данных содержит время жизни потока данных и множество кортежей, где каждое множество кортежей содержит атрибут и время жизни атрибута..

В общем, в одном аспекте изобретение относится к методу создания потока данных включающий в себя хранящиеся блока данных, заполнение потока данных с атрибутом, присвоение временем жизни атрибуту, и назначение временем жизни потока данных .

В общем, в одном аспекте данное изобретение относится к способу использования потоков данныхвключающий получение потока данных, определения истекло ли время жизни потока данных, и определения потока данных для соответствующего механизма хранения, если время жизни потока данных не истекло, определенияпотока данных для соответствующего механизма хранения на основе по меньшей мере одного из множества атрибутов.

В общем, в одном аспекте, изобретение относится к компьютерной системе для коррекции ошибки первого блока, содержащий процессор, память, запоминающее устройство и программное обеспечение, инструкции, хранящиеся в памяти, для поток данных компьютерной системы под управлением процессора, для получения потока данных, определяют, истекло ли время жизни потока данных, и определения потока данных для соответствующего механизма хранения, если время жизни потока данных не истекло определенияпотока данных для соответствующего механизма хранения на основе по меньшей мере одного из множества атрибутов.

В общем, в одном аспекте данное изобретение относится к сетевой системе, имеющей множество узлов, содержащее множество блоков данных, причем каждый из множества блоков данных, связанный с данным потоком, множество механизмов хранения выполнено с возможностью хранения множества блоков данных и каждым связанным с ними потоком данных, а также планировщик данных, выполнен с возможностью планировать действие над множеством блоков данных с использованием потока данных,, связанный с каждым из множества блоков данных, причем каждое множества механизмов хранения расположено на одном из множестве узлов, и в котором планировщик данных расположен на одном из множестве узлов.

В общем, в одном аспекте, изобретение относится к множеству узлов, содержащих множество блоков данных, причем каждое из множества блоков данных, связанно с данным потоком, множество механизмов хранения выполнено с возможностью сохранения множества блоков данных, и планировщик данных, выполненный с возможностью планировать действие над множеством блоков данных с использованием, потока данных, связанного с каждым из множества блоков данных, в котором поток данных включает времени жизни потока данных и множество кортежей, где каждый из множества кортежей включает в себя атрибут и атрибут времени жизни, при этом каждый из множества блоков данных находится по крайней мере в одном множестве узлов, причем каждый из множества механизмов хранения находится по крайней мере в одном множестве узлов и в котором планировщик данных находится по крайней мере в одном множестве узлов.

Другие аспекты настоящего изобретения будут очевидно изложены в следующем описаниии прилагаемой формулой изобретения.

ПОДРОБНОЕ ОПИСАНИЕ

Конкретные варианты изобретения будут теперь описаны подробно со ссылкой на прилагаемые чертежи. Одинаковые элементы на различных чертежах обозначены одинаковыми ссылочными позициями для последовательности.

В нижеследующем подробном описании вариантов изобретения, много конкретных деталей изложены для того, чтобы обеспечить более глубокое понимание настоящего изобретения. Тем не менее, должно быть очевидно любому специалисту в этой области техники, что изобретение может быть описано без этих конкретных подробностей. В других случаях хорошо известные свойства не описаны подробно, чтобы сохранить ясность изобретения.

В общем, основная идеяизобретения относятся к созданию и использованию потоков данных. Один или более вариантов изобретения относятся к обеспечению способа связи с атрибутами данных с использованием данных потока. Один или более вариантов изобретения использования потока данных, включая атрибуты данных, которые связаны с соответствующими блоками данных. Один или более вариантов изобретения обеспечивают возможность выполнять действия с данными на основе атрибутов в соответствующих потоках данных.

Рис. 1 показывает поток данных согласно сделанному изобретению.

Рис. 1 показывает поток данных ( 20 ) в соответствии с вариантом изобретения. Потока данных ссылается и связан с блоком данных ( 22 ). поток данных ( 20 ) включает в себя время жизни потока данных ( 24 ) и по меньшей мере один кортеж (т.е. T 1 ( 26 ), Т 2 ( 28 ), Tn ( 30 )). В одном варианте изобретения каждый кортеж ( 26 , 28 , 30 ) потока данных ( 20 ) включает в себя атрибут (т.е. 1 –А1-Аn) характеризующих блок данных и время жизни атрибута (т. е. D 1 -Dn) . В одном варианте изобретения, атрибут может включать в себя название блока данных ( 22 ), универсальный идентификатор (ID) для идентификации блока данных, родитель, который обеспечивает связь для блока данных ( 22 ), владелец блока данных ( 22 ), атрибут безопасности, атрибут качества обслуживания , определяющий уровень обслуживания, предоставляемых пользователям блока данных ( 22 ) и т.д. Специалисту в данной области техники будет понятно, что могут быть некоторые другие атрибуты, которые могут быть определены, чтобы характеризовать блок данных.

В одном варианте изобретения, родительский атрибут упоминавшийся выше ссылается на блоки данных с соответствующими данными родителя. Например, если блок данных представляет собой часть файла, то родительский атрибут ссылается на часть файла из целого файл, из которого эта часть берется. Этот атрибут может быть использован, например, когда данные разделены и хранятся в различных системах хранения (например, жесткий диск, привод, оперативное запоминающее устройство и т.д.). Более точно, если некоторым частям данных потребуется быстро сохраняться, а другим частям данных может не потребоваться высокая скорость сохранения, то ссылки родительского атрибута разбитых данных, то данные могут быть распределены по различному физическому местоположению.

Атрибут безопасности может предоставить информацию о разрешениях, связанной с блоком данных. Например, чтение / запись может быть определен этот атрибут. Разрешения могут также меняться в течении времени жизни потока данных. В одном варианте изобретения, атрибут безопасности может также указать алгоритмы шифрования и дешифрования используемых для защиты соответствующего блока данных от несанкционированного доступа, модификации и т.д. атрибут безопасности может также использоваться для других задач по достоверности данных, таких как контроль ошибок и механизмов исправления ошибок.

В одном варианте изобретения, атрибут качества обслуживания является набором параметров и процедуры, связанные с обслуживанием или пользователем. В частности, атрибут качества обслуживания указывает возможности и ограничения, связанные с предоставлением услуги пользователю. Например, качество обслуживания может включать в себя атрибут скорости, доступность, возможность модификации, надежность или удобство блок данных. Атрибут качества обслуживания позволяет поставщику услуг обеспечить различные уровни обслуживания в зависимости от потребностей пользователя. Например, атрибуты качества обслуживания, используемые в сетевых средах, где поставщики услуг сети используют атрибуты качества обслуживания для установления различных уровней обслуживания таких, как трафик пользовательский трафик пропускной способности, потери трафика и время отклика. Кроме того, поставщик услуг может взимать с пользователей плату за фактический уровень предоставляемых услуг.

Как отмечалось выше, каждый кортеж ( 26 , 28 , 30 ) в пределах потока данных ( 20 ) включает в себя атрибут и атрибут времени жизни (не показано). В одном варианте изобретения, общее время жизни потока ( 24 ) может быть разделена на несколько времен жизни атрибутов. Таким образом, время жизни атрибута может суммироваться и равняться времен жизни всего потока. В одном варианте осуществления изобретения, некоторые атрибуты, такие как владельец, имя, ID и т.д., не могут иметь время жизни. Эти атрибуты описывают блок данных ( 22), связанный с потоком данных ( 20 ) и могут существовать, пока существует поток данных ( 20 ) (т.е. пока он живет). Как правило, эти атрибуты не изменяются в течение времени жизни потока данных ( 20 ), хотя возможно назначить новое имя, владельца или ID потока данных ( 20 ). В отличие от время жизни, атрибуты безопасности, качества обслуживания и т.д., могут быть изменены в любое время, чтобы отразить различные службы, которые блок данных ( 22 ) в настоящее время использует.

Рис. 2 показывает блок-схему создания потока данных согласно сделанному изобретению.

Рис. 2показывает блок-схему для создания потока данных в соответствии с одним вариантом изобретения. Сначала блок данных хранится в устройстве управления памятью (например, блок данных может храниться в файловой системы) (ST200 ). Хранение данных блока инициирует создание связанные потока данных (ST 202 ). После этого потока данных заполняется атрибутами (ST 204 ). Атрибуты могут быть любые из вышеупомянутых характеристик, которые описавают, или связаны с, блоком данных. На этом этапе каждый атрибут в потоке данных можно назначить время жизни (ST 206 ). Продолжительность может быть любой интервалом, времени, в течении которого атрибут активен (то есть живых).Специалисту в данной области очевидно, что как только время жизни атрибута истекает, атрибут больше не является активным. Кроме того, время жизни атрибута может быть изменено в любое время в течение времени жизни потока данных. После каждого атрибута с данного временем жизни, всему потоку данных также назначается время жизни (ST 208 ). Как только время жизни потока данных истекает, потока данных и связанный с ними блок данных больше не существует. Специалисту в данной области будет понятно, что атрибуты также могут быть добавлены в любое время в течении времени жизни потока данных.

Рис. 3 показывает систему согласно сделанному изобретению

В одном варианте изобретения, потоки данных могут использоваться в системе, как показано на Рис. 3. В частности, система включает в себя физический уровень ( 300 ) с множеством механизмов хранения (например, для механизма хранения 1 ( 302 ) механизма хранения N ( 304 )), планировщика данных ( 306 ) и устройство управления памятью( 308 ). В одном варианте изобретения, система, показанная на Рис. 3используется для создания, управления и обработки потоков данных, которые связаны с различными подразделениями данных. Кроме того, данные потоки, связанные с блоками данных могут постоянно находиться в любой точке системы. В одном изобретения потоков данных могут быть сохранены в блоке данных, связанных с потоком данных. Кроме того, данные потоки могут находиться отдельно от соответствующих блоков данных. Специалисту в данной области очевидно, что физические уровни системы, показанной на Рис. 3 может находиться в компьютерной системе или в распределенной сети с устройством управления хранением данных и интерфейсом планировщика данных с компьютерной системой.

В одном варианте изобретения, когда блок данных ( 312 ), хранится в устройстве управления памятью( 308 ) потока данных ( 310 ) создается, который ссылается и связан с блоком данных ( 312 ). В одном варианте изобретения, блок данных может быть файлом, частью файла, файловой системой, блоком, сегментом, байтом, словом и двойное словом и т.п. Блок данных может зависеть от система управления хранением данных. Например, файловая система может хранить данные в виде файла или блоков данных. В этом случае блок данных может быть одним файл, частью файла или блока данных.

Возвращаясь к Рис. 3, Как упоминалось выше, физический уровень ( 300 ) системы включает в себя один или более запоминающих устройств ( 302 , 304 ). В одном варианте изобретения, запоминающее устройство может быть жесткий диск, удаленный диск, оперативное запоминающее устройство, энергонезависимое оперативное запоминающее устройство, интерфейс малых компьютерных систем (SCSI) хранения, или любой другой области хранения системы. Кроме того, каждое механизм хранения ( 302 , 304 ) может также включать атрибуты ( 302 , 304 ), которые полностью описывают механизм хранения ( 302 , 304 ). В одном варианте изобретения, признаки механизма хранения могут включать в себя размер механизма хранения, доступное пространство внутри механизма хранения, качества обслуживания, что механизм обеспечивает хранение и т.д. Атрибут качества обслуживания для запоминающего устройства может включать в себя RAID уровня обеспечивающейся пропускной способностью подсистемы хранилища, латентностю подсистемы хранилища, расстоянием (например, для Internet SCSI хранения) и т.д.

В одном варианте изобретения, планировщик данных( 306 ) включает в себя функционал для планирования потоков данных для конкретного действия (на блоке данных) на основе атрибутов, связанных с данным потоком. Действие, которое будет выполняться на блоке данных может включать в себя перемещение блока данных с конкретным механизмом хранения, изменение времени жизни потока данных, изменение времени жизни атрибута, уничтожения потока данных и блока данных, если срок истек, и т.д. . Для того чтобы определить, какие действия двыполнить на конкретном блоке данных или как планировать поток данных, связанный с блоком данных, планировщик данных ( 8 ) можно использовать атрибуты в потоке данных и атрибуты, связанные с механизмом хранения.

В одном варианте изобретения, планировщик данных может использовать определенный атрибут, связанный с блоком данных, чтобы определить, какой тип действия выполнить на устройстве данных или как планировать поток данных, связанных с данным устройством. Например, если каждый атрибут, связанный с блоком данных имеет приоритет в рамках потока данных, то данные планировщик может запланировать блока данных на основе атрибута с наивысшим приоритетом. С другой стороны, планировщик данных может использовать любую комбинацию атрибутов, чтобы определить, как планировать потока данных. В одном варианте изобретения, планировщик данных может запланировать потоков данных с использованием атрибутов, связанных с механизмом хранения. Например, если поток данных определяет атрибут, который требует блок данных, которому определена на высокая скорость сохранения, то атрибуты, связанные с механизмами хранения будет использоваться для планирования потока данных на высокой скорости хранения. Специалисту в данной области будет понятно, что планировщик данных может находиться в устройстве управления памятью.

Рис 4 показывает блок-схему использования потока данных согласно сделанному изобретению.

Рис. 4показывает блок-схему для использования потоков данных в соответствии с вариантом осуществления настоящего изобретения. Первоначально данные потока, связанного с данным блоком получают данные планировщик (ST 400 ). На этом этапе данные планировщик определяет, являются ли поток данных мертвым (ST 402 ). Если поток данных мертв (то есть время жизни потока данных истекло), то планировщик данных может запланировать разрушение потока данных и связанного с ними блока данных (ST 406 ). Это позволяет устройству управления данными вернуть пространство, соответствующее мертвому потоку данных и соответствующему блоку данных. В одном варианте изобретения, утилизации пространства в устройстве управления хранением данных может быть выполнена с низким приоритетом потока работающего в фоновом режиме устройства управления хранением. Например, низкий приоритет потока может размещать любое свободное место из механизма хранения обратно в распределённые ресурсы устройства управления памятью.

В одном варианте изобретения, если поток данных не мертв, то планировщик данных может рассматривать атрибуты потока данных, время жизни каждого атрибута в пределах потока данных и атрибутов механизмов хранения, связанных с управление устройства памяти (ST 404 ). Атрибуты и время жизни рассматриваются для того, чтобы запланировать потока данных для некоторых действий, которые должны быть выполнены на устройстве данных. В одном варианте изобретения, действие может соответствовать перемещение блока данных с конкретным механизмом хранения, изменение времени жизни одного или нескольких атрибутов данных, уничтожения потока данных, и т.д. Например, если действие по перемещению блока данных с конкретным механизмом хранения, то атрибуты данных и механизм хранения сравниваются, чтобы спланировать механизм хранения блока данных.

В одном варианте изобретения, в то время как атрибуты просматриваются, планировщик данных может изменить время жизни одного или нескольких атрибутов, чтобы выполнить работу эффективно. С другой стороны, пользователь может пожелать изменить время жизни конкретного атрибута. Следовательно, нужно определить, следует ли изменить время жизни одного или нескольких атрибутов (ST 408 ).

Если принято решение изменить время жизни, то одно или несколько времен жизни атрибутов может быть изменен, чтобы укоротить или удлинить время активности конкретных атрибутов (ST 410 ). Общее время жизни потока данных также может быть изменено. Другой вариант, если время жизни не изменено, то поток данных запланирован на соответствующий механизм хранения (ST 412 ). На этом этапе действие может быть выполнено через блок данных (например, данные устройства могут быть перенесены, записаны, прочтены, модифицированы и т.д.).Впоследствии, когда время жизни потока данных истекает, поток данных и соответствующего блока данных разрушаются (ST 414 ). Специалисту в данной области очевидно, что как только время жизни различных атрибутов истекает, атрибуты уничтожены (хотя данные поток может быть еще живы).

Следующие примеры используются для описания вариантов осуществления изобретения и не предназначены для ограничения объема данного приложения. В одном варианте изобретения, объединённые атрибуты, связанные с блоками данных в виде потока данных может быть использована для просмотра данных через множество устройств управления памятью. Например, с помощью потоков данных, как описано выше, различные файловые системы могут просматривать данные без перемещения данных из одной файловой системы в другую. Файловые системы с ограниченными возможностями атрибутов и тех, с большей возможностью атрибут может управлять теми же данными, обеспечивая при этом различные виды приложений и пользователей. В частности, высокую производительность приложений с помощью файла системы подходит для высоких рабочих характеристик (например, тот, который обеспечивает чередование данных и доступа к большим блокам данных), может просматривать данные, размещенный на другой файловой системе (то есть, файловой системе не обязательно иметь высокие рабочей характеристики) без перемещения данных.

Кроме того, в ситуации, когда пользователи выполняют операции с использованием базы данных поставщика службы базы данных, которая взимает различные маршруты в зависимости от типа механизма, используемого для хранения, пользователи могут использовать потоки данных, чтобы настроить использование механизма хранения. Например, пользователь может знать, что транзакции базы данных выше, в рабочее время, а также может определять механизм с высокой производительность системы хранения данных на ограниченное время дня. Кроме того, использование двигателей с высокой производительность системы хранения данных может быть дешевле в определенное время, и пользователи могут пожелать снизить расходы путем планирования данных в это время. Как только атрибут задававший высокую производительность механизма хранения перестает работать, данные могут быть запланированы на механизме с низким уровнем хранения данных, что позволяет пользователям экономить затраты на поддержание данных с высокой производительностью системы механизмов хранения в течение более длительного времени.

Концепция настройки механизмов хранения может также распространяться на потоковое медиа (т.е., потоковое видео, потоковое аудио). Например, после того, как потоковое мультимедиа загружается, части потока данных, возможно, должны быть изменены. В этом случае, атрибуты могут быть установлены в часть данных, которые должны быть изменены так, что атрибуты обеспечивали данные, которые запланированы на высокой скорости, высокой пропускной способности системы хранения. Другие части потока данных, которые не должны быть отредактированы могут быть запланированы на низкой скорости механизмов хранения. Таким образом, данные могут иметь разный приоритет на основе различных характеристик, таких как скорость и пропускную способность. Кроме того, атрибуты могут быть изменены в течении различных периодов времени. Например, потоковые данные могут быть отредактированы только в определенные часы, поэтому атрибут, который определяет высокоскоростной механизм хранения может истечь через определенный период времени. С помощью этого метода, атрибуты допускают работу планировщика данных для автоматической и аккуратной работой с различными блоками данных.

В одном варианте изобретения, дозволяется определить атрибуты действий, чтобы более точно выполнять работу над данных это обеспечивает качество обслуживания данных, которые будут указаны с повышенной детализацией. Это особенно полезно при составлении соглашения об уровне обслуживания (SLA) между поставщиками услуг и пользователями сервиса. SLA является соглашением или договором, что провайдер прикладных услуг (ASP) предоставляет своим клиентам. SLA может определить технические параметры поддержки или процесс, который ASP соглашается предоставить клиентам. Например, провайдеры управления устройством хранения (например, поставщики файловой системы) может обеспечить SLA для пользователей устройства управления памятью. Используемая модель данных потока, сложных . SLA может быть упрощена посредством приоритетизации данных с помощью атрибутов.

Рис. 5 показывает компьютерную систему согласно сделанному изобретению

Один из вариантов осуществления изобретения могут быть реализованы на любом типе компьютера независимо от платформы используется. Например, как показано Рис. 5, Сетевой компьютерной системы ( 500 ) включает в себя процессор ( 502 ), связанную с ним память ( 504 ), запоминающее устройство ( 506 ), а также многочисленные другие элементы и функциональные типичных современных компьютеров (не показан). Сетевом компьютере ( 500 ) может также включать средства ввода, такие как клавиатура ( 508 ) и мыши ( 510 ), и средство вывода, такое как монитор (512 ). Система сетевого компьютера ( 500 ) подключен к локальной сети (LAN) или глобальной сетью через соединение сетевой интерфейс (не показан). Специалистам в данной области должно быть понятно, что эти средства ввода и вывода может иметь другие формы. Кроме того, специалистам в данной области будет понятно, что один или более элементов из вышеупомянутых компьютер ( 500 ) может быть расположена в удаленном месте и соединен с другими элементами в сети.

Кроме того, варианты осуществления изобретения могут быть реализованы на распределенной системе, имеющей множество узлов, где каждая часть изобретению (например, запоминающем устройстве управления, хранения двигателей, данные планировщик и т.д.) могут быть расположены на другом узле в пределах распределенной системе. В одном варианте осуществления настоящего изобретения, узел соответствует компьютерной системе. Кроме того, узел может соответствовать процессор с соответствующей физической памятью.

Варианты осуществления изобретения позволяют способ обеспечения ограниченного количества соглашений об уровне обслуживания (SLA) между поставщиками и пользователями устройств управления памятью данных путем просмотра данных в виде динамических объектов. Кроме того, варианты изобретения позволяют атрибутам данных оставаться в качестве части данных, с которой атрибуты связаны. Кроме того, данные атрибуты могут быть добавлены в течение времени жизни блока данных, позволяя данным быть охарактеризованы для различных функций в различные моменты времени в течение срока службы устройства данных. Кроме того, данные связанные с временем жизни ,как вариант, обеспечивают способ легко освободить место в устройстве управления памятью.

Хотя изобретение было описано со ссылкой на ограниченное число вариантов, специалистам в данной области, имеющие преимущество этого описания, должно быть понятно, что другие варианты осуществления могут быть разработаны, которые не выходят за рамки объема изобретения, раскрытого в настоящем документе. Соответственно, объем изобретения должен быть ограничен только прилагаемой формулой