ПЛАНИРОВАНИЕ И ДИСПЕТЧЕРИЗАЦИЯ ЗАДАНИЙ
JOB SCHEDULING AND MONITORING

УРОВЕНЬ ТЕХНИКИ
[0001] Обработка огромных количеств данных, или так называемых больших данных, для получения правильного представления, включает сначала преобразование данных. Данные преобразуются в используемую форму для публикации или потребления конечными точками бизнес-аналитики, такими как информационные панели, посредством создания, планирования и исполнения одного или нескольких заданий. В этом контексте, задание представляет собой единицу работы над данными, содержащую одну или несколько операций преобразования. Обычно, задания кодируются вручную разработчиками структур данных, архитекторами данных, архитекторами бизнес-аналитики или т.п. Потом задания могут планироваться и исполняться.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Нижеследующее представляет упрощенное краткое изложение сущности изобретения для обеспечения базового понимания некоторых аспектов раскрытого объекта изобретения. Это краткое изложение сущности изобретения не является исчерпывающим обзором. Оно не предназначено для определения ключевых/критических элементов или установления объема заявленного объекта изобретения. Его единственной целью является представление некоторых принципов в упрощенном виде в качестве вступления к более подробному описанию, которое представлено ниже.
[0003] Вкратце, раскрытие объекта изобретения относится к планированию и диспетчеризации заданий. Задания могут планироваться для исполнения, и создаваться визуализации, которые предоставляют возможность пользователю просматривать и взаимодействовать с планами и исполнением заданий. В соответствии с одним аспектом, в ответ на выбор задания, одно или несколько связанных заданий могут автоматически определяться на основе зависимостей по данным. Потом может выделяться выбранное задание, а также связанные задания. Также может определяться и представляться статус исполнения, так что могут различаться, например, успешное и неуспешное исполнение заданий. Кроме того, в ответ на выбор неуспешного выполнения задания может идентифицироваться одно или несколько неуспешных выполнений связанных задания или выполнений заданий, для которых было предсказано неуспешное завершение. Впоследствии может выделяться выбранное неуспешное выполнение задания и неуспешные выполнения связанных заданий или выполнения заданий, для которых было предсказано неуспешное завершение.
[0004] Для выполнения вышеописанных и связанных целей, в данном документе описываются некоторые иллюстративные аспекты заявленного объекта изобретения в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты указывают различные способы, которыми объект изобретения может быть осуществлен на практике, все из которых, как предполагается, находятся в пределах объема заявленного объекта изобретения. Другие преимущества и новые признаки могут стать очевидными из последующего подробного описания при его рассмотрении вместе с чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Фиг.1 представляет собой блок-схему системы заданий.
[0006] Фиг.2 представляет собой блок-схему представительного компонента пользовательского интерфейса.
[0007] Фиг.3 представляет собой блок-схему представительного компонента плана.
[0008] Фиг.4 представляет собой блок-схему представительного компонента планировщика.
[0009] Фиг.5 представляет собой блок-схему представительного компонента диспетчера.
[0010] Фиг.6 представляет собой примерный снимок экрана интерфейса для управляемого заданием планирования и диспетчеризации.
[0011] Фиг.7 представляет собой примерный снимок экрана интерфейса, который отличает связанные задания.
[0012] Фиг.8 представляет собой примерный снимок экрана интерфейса, который отличает неуспешные завершения связанных заданий.
[0013] Фиг.9 представляет собой примерный снимок экрана интерфейса, который создает диаграммный вид и отличает связанные задания и данные.
[0014] Фиг.10 представляет собой примерный снимок экрана интерфейса для управляемого данными планирования и диспетчеризации.
[0015] Фиг.11 представляет собой блок-схему системы заданий.
[0016] Фиг.12 представляет собой блок-схему последовательности операций способа планирования и диспетчеризации заданий.
[0017] Фиг.13 представляет собой блок-схему последовательности операций способа отличия связанных заданий.
[0018] Фиг.14 представляет собой блок-схему последовательности операций способа различения успешного и неуспешного исполнения задания.
[0019] Фиг.15 представляет собой блок-схему последовательности операций способа способствования поиску и устранению проблем цепочек планирования.
[0020] Фиг.16 представляет собой блок-схему последовательности операций различения связанных заданий и наборов данных.
[0021] Фиг.17 представляет собой блок-схему последовательности операций способа управляемой данными обработки заданий.
[0022] Фиг.18 представляет собой схематическую блок-схему, иллюстрирующую подходящее операционное окружение для аспектов раскрытия объекта изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0023] Подробности ниже, в основном, относятся к планированию и диспетчеризации заданий. Задание соответствует по меньшей мере одной операции преобразования данных. Одно или несколько заданий могут быть представлены на отображении в интерфейсе, например, вместе с планированием, а также диспетчеризацией исполнения заданий. Например, задания могут быть представлены на виде временной шкалы, указывающей, когда задание должно быть исполнено, когда задание было исполнено, и длительность времени исполнения для задания. Задание может быть выбрано, после чего связанные задания автоматически идентифицируются на основе зависимостей по данным между заданиями и представляются пользователю. Связанные задания могут включать в себя задания, которые зависят от выбранного задания, и/или задания, от которых зависит выбранное задание. Это помогает пользователю эффективно получать и взаимодействовать с информацией, касающейся планирования заданий. В дополнение к информации о зависимости по данным, может захватываться статус исполнения, так что задания, которые исполнены, или которым предсказано успешное исполнение, могут отличаться от заданий, которые были неуспешными, или для которых было предсказано неуспешное завершение. Кроме того, может быть выбрано выполнение задания, которое завершилось неуспешно, после чего выполнения связанных заданий, которые завершились неуспешно, или для которых предсказывается неуспешное завершение, могут автоматически идентифицироваться на основе зависимости по данным, статуса и информации о плане. Затем может выделяться выбранное неуспешное выполнение задания, неуспешные выполнения связанных заданий или выполнения заданий, для которых было предсказано неуспешное завершение. В результате, обеспечивается обычный способ поиска и устранения проблем цепочки планирования. Кроме того, дополнительные виды также могут использовать по меньшей мере данные зависимости. Например, диаграмма заданий или конвейеров заданий могут применять информацию о зависимости для идентификации происхождения задания, включая задания и наборы данных, которые используются выбранным заданием, и задания и источники данных, которые зависят от выбранного задания. Эти и другие аспекты по крайней мере помогают пользователям эффективно планировать и диспетчеризировать исполнение заданий, а также уменьшать ошибки.
[0024] Различные аспекты раскрытия объекта изобретения ниже описываются более подробно с ссылкой на прилагаемые чертежи, на которых подобные позиции, как правило, ссылаются на подобные или соответствующие элементы на всех чертежах. Следует понимать, однако, что чертежи и подробное описание, относящееся к ним, как предполагается, не ограничивает заявленный объект изобретения конкретным описанным видом. Скорее, намерением является охватывание всех модификаций, эквивалентов и альтернатив, подпадающих под сущность и объем заявленного объекта изобретения.
[0025] Ссылаясь сначала на фиг.1, на ней изображена система 100 заданий. Система 100 заданий обеспечивает средство для планирования, исполнения и диспетчеризации заданий, содержащих операцию преобразования данных. Система заданий включает в себя компонент 110 пользовательского интерфейса, хранилище 120 данных, компонент 130 планировщика, компонент 140 исполнения и компонент 150 диспетчера. Компонент 110 пользовательского интерфейса выполнен с возможностью предоставления возможности пользователям просматривать, задавать и управлять заданиями. В одном примере, пользовательский интерфейс 110 выполнен с возможностью обеспечения механизма для определения задания или конвейера заданий. В качестве части этого определения, может быть задано одно или несколько отношений, включая один или несколько наборов данных, от которых зависит задание, и набор выходных данных, создаваемый заданием. Задания, включающие информацию о зависимости по данным, могут сохраняться в хранилище 120 данных, которым является считываемый компьютером носитель данных. Компонент 130 планировщика выполнен с возможностью планирования заданий для исполнения соответствующих планов, заданных в отношении заданий, и отношений между заданиями. План может предоставляться пользовательскому интерфейсу для отображения, и пользователь может взаимодействовать с планом для получения конкретной информации и необязательного модифицирования плана. Компонент 130 планировщика инициирует обработку заданий посредством компонента 140 исполнения. Компонент 140 исполнения может содержать совокупность программных и аппаратных ресурсов, которые делают возможным исполнение задания на компьютере. Результаты исполнения задания могут сохраняться в хранилище 120 данных. Кроме того, компонент 150 диспетчера может диспетчеризировать исполнение задания посредством компонента 140 исполнения. Например, компонент 150 диспетчера может идентифицировать статус задания, такой как, было ли исполнение неуспешным или успешным. Дополнительно, компонент 150 диспетчера может получать использование вычислительных ресурсов в отношении обработки заданий. Данные или информация, полученные компонентом 150 диспетчера, могут сохраняться в хранилище 120 данных и могут делаться доступными для представления компонентом 110 пользовательского интерфейса.
[0026] Фиг.2 более подробно изображает представительный компонент 110 пользовательского интерфейса. Компонент 110 пользовательского интерфейса включает в себя компонент 210 автора и компонент 220 плана. Компонент 210 автора выполнен с возможностью предоставления возможности пользователям задавать задания и конвейеры, содержащие набор из одного или нескольких связанных заданий, причем выходные данные первого задания необязательно обеспечивают входные данные для второго задания. Согласно варианту осуществления, компонент 210 автора может обеспечивать интерактивное визуальное рабочее пространство или холст для авторской разработки в виде диаграммы заданий и конвейеров. Например, набор данных может представляться в виде цилиндра и соединяться стрелкой с кубом, представляющим задание, которое потребляет набор данных и создает модифицированный набор данных. По существу, пользователь может нарисовать диаграмму отношений между наборами данных и заданиями. Это приводит к интуитивному опыту, который экономит время в отношении понимания отношений и, в конечном счете, задания конвейеров. Согласно другим аспектам, компонент 210 автора может быть воплощен в виде редактора кода, который принимает программный код или один или несколько диалоговых окон для определения заданий и отношений между заданиями. Компонент 220 плана выполнен с возможностью представления визуализаций, касающихся заданий планирования для исполнения и диспетчеризации исполнения.
[0027] Обращая внимание на фиг.3, на ней более подробно изображен представительный компонент 220 плана, чтобы способствовать ясности и пониманию. Компонент 220 плана включает в себя компонент 310 вида, компонент 320 обновления, компонент 330 связанных заданий, компонент 340 модифицирования и компонент 350 журнала регистрации. Компонент 310 вида выполнен с возможностью представления по меньшей мере одного вида заданий, запланированных для исполнения. Согласно одному аспекту, вид может соответствовать временной шкале, который визуализирует набор заданий, упорядоченных по времени исполнения, включая запланированное исполнение и завершенное исполнение. Такая временная шкала также может предоставлять возможность визуализации длительности исполнения задания.
[0028] Компонент 320 обновления выполнен с возможностью обновления или приведения визуализации, создаваемой компонентом 310 вида, в актуальное состояние в отношении исполнения задания. Например, компонент 320 обновления может изменять визуализацию для отражения заданий, которые были исполнены. В одном варианте осуществления компонент 320 обновления может взаимодействовать с компонентом 310 вида для включения линии, которая представляет текущее время с запланированными, но неисполненными заданиями, окрашенными в серый цвет, или выделенными серым цветом, за линией. Дополнительно, компонент 320 обновления может использоваться для идентификации и различения заданий, которые были исполнены успешно, в отличие от заданий, которые были неуспешны, или которые могут быть предсказаны неуспешными. Например, успешно исполненные задания могут быть окрашены зеленым цветом, тогда как неуспешно завершенные могут быть обозначены красным цветом.
[0029] Согласно конкретному варианту осуществления, компонент 310 вида и компонент 320 обновления могут действовать совместно для представления разделенного вида, содержащего временную шкалу и визуализацию использования вычислительных ресурсов. В первой части, временная шкала запланированных заданий может представляться так, как описано выше. Во второй части, например, под первой частью, визуализация, такая как график, может представляться, которая представляет используемые ресурсы, выровненные с исполнением задания. В этом примере, компонент 320 обновления может получать данные, касающиеся использования ресурсов и исполнения задания, и обновлять, соответствующим образом, график.
[0030] Компонент 330 связанных заданий выполнен с возможностью различения заданий, основываясь на отношениях между заданиями. Отношения могут включать в себя задания и данные, от которых зависит задание выбора, или которые зависят от задания выбора. В одном примере, выбранное задание может инициировать определение заданий, связанных с выбранным заданием, и визуальное различение этих связанных заданий в визуализации, представляемой компонентом 310 вида. В качестве примера, после приема сигнала, выбирающего задание или его представление в визуализации, задания, связанные с выбранным заданием, могут определяться на основе зависимости по данным и выделяются. Связанные задания могут идентифицироваться из хранилища 120 данных, которое сохраняет отношения между заданиями. Согласно одному варианту осуществления, может сохраняться ориентированный граф, который включает в себя задания в виде вершин и наборы данных в виде ориентированных ребер, соединяющих задания. Для определения связанных заданий, может выполняться обход графа вперед и назад от вершины, которая представляет выбранное задание, причем обход вперед (например, по направлению от клиента к поставщику от выбранного задания) захватывает задания и наборы данных, которые зависят от выбранного задания, и обход назад (например, в направлении от поставщика к клиенту от выбранного задания) идентифицирует задания и наборы данных, от которых зависит выбранное задание. Выполнения заданий или экземпляры заданий, также могут различаться на основе характеристики или свойства. Например, если пользователь выбирает выполнение задания, которое не было исполнено успешно, другие выполнения заданий, связанные с выбранным выполнением задания, которое завершилось неуспешно, или для которых было предсказано неуспешное завершение, могут идентифицироваться автоматически и выделяются на виде. Такие выполнения заданий могут идентифицироваться на основе информации, касающейся зависимости по данным между заданиями, статуса, ассоциированного с заданием (например, завершилось неуспешно, завершилось успешно …), и плана исполнения. В данном случае, выполнение задания может предсказываться неуспешным, если оно зависит от выполнения задания, которое не было исполнено успешно.
[0031] Компонент 340 модифицирования выполнен с предоставлением возможности модифицирования планирования заданий. Компонент 340 модифицирования выполнен с возможностью работы вместе с компонентом 310 вида для получения ввода пользователя, касающегося модифицирования планирования исполнения заданий. Например, компонент 340 модифицирования может по меньшей мере инициализировать перепланирование задания для исполнения на основе одного или нескольких жестов, принимаемых как сигналы, от пользователя в отношении представленного интерактивного вида. Согласно одному неограничивающему примеру, пользователь может выбрать экземпляр задания, который не был исполнен успешно, и/или может выполнить некоторый дополнительный жест, такой как правый щелчок, или может перетащить и опустить, для перепланирования исполнения.
[0032] Компонент 350 журнала регистрации выполнен с предоставлением возможности получения и отображения журналов регистрации исполнения. Согласно одному варианту осуществления, компонент 350 журнала регистрации может обеспечивать механизм поиска посредством наложенной области окна или панели поиска. В этом сценарии пользователи могут задавать и представлять поиски и принимать результаты в отношении журналов регистрации исполнения. Согласно другому варианту осуществления, компонент 350 журнала регистрации может генерировать и представлять запросы автоматически, например, на основе выбора конкретного выполнения задания. В ответ на конкретный жест, ассоциированный с получением файла журнала регистрации, могут возвращаться результаты, которые соответствуют выполнению выбранного задания. Таким образом, пользователь может быстро прийти из уведомления о неуспешном завершении, например, к точке происхождения. В случае, выполнение доступными журналов регистрации исполнения способствует поиску и устранению проблем, таких как разрешение неуспешных завершений.
[0033] Фиг.4 иллюстрирует представительный компонент 130 планировщика согласно одному конкретному осуществлению. Компонент 130 планировщика включает в себя компонент 410 выбора среза выходных данных, компонент 420 определения периода зависимости и компонент 430 оценки зависимости, и компонент 440 инициирования исполнения. В этом контексте, набор данных генерируется или потребляется заданием или активностью, захватывающей операцию обработки данных, и соответствует совокупности данных на оси времени. В частности, набор данных коррелирует порции данных, называемые срезами данных, с временным периодом. Другими словами, набор данных состоит из континуума срезов данных. Каждый срез данных может иметь конкретную длительность среза, а также время начала и время окончания.
[0034] Компонент 410 выбора среза выходных данных выполнен с возможностью определения среза данных для генерирования. Определение основывается на статусе в периоде активности, а также необязательной политике. Каждый срез данных может иметь статус, указывающий доступность соответствующих данных. Статус может принимать несколько значений, включающих в себя «ожидающий исполнения», означающий, что данные еще должны быть сгенерированы, «выполняется», обозначающий, что срез создается, «готов», указывающий, что данные готовы для потребления, и «неуспешное исполнение», означающий, что одна или несколько попыток сгенерировать данные завершилась неуспешно. Компонент 410 выбора среза выходных данных идентифицирует срезы данных со статусом «ожидающий исполнения» в течение активного периода, задающего временное окно, в течение которого задание будет генерировать свои выходные данные. Эти срезы данных могут идентифицироваться посредством исполнения запроса по срезам данных, отфильтрованного по статусу и активному периоду. Кроме того, компонент 410 выбора среза выходных данных может дополнительно упорядочивать исполнение среза, или генерирование среза данных, основываясь на политике. Срезы со статусом «ожидающий исполнения» могут сравниваться с местным временем и считываться в некотором порядке. Например, политика может указывать, что самый старый срез должен генерироваться первым, или что самый новый срез должен генерироваться первым, например, основываясь на том, когда статус был установлен на «ожидающий исполнения». В заключение, компонент 410 выбора среда выходных данных идентифицирует единственный срез, срез выходных данных, подлежащий генерированию.
[0035] Компонент 420 определения периода зависимости выполнен с возможностью определения периода зависимости. Период зависимости представляет собой временной диапазон данных входных данных, требуемых для генерирования идентифицированного среза выходных данных. Период зависимости является частью информации о зависимости, определяемой в отношении задания. Например, задание может задаваться на работу в течение трех часов данных от первого источника и одного часа данных от второго источника. Следовательно, если все наборы данных имеют почасовой план (например, срез равен одному часу), три часа данных от первого источника и один час данных от второго источника требуется для генерирования часа данных среза выходных данных.
[0036] Компонент 430 оценки зависимости выполнен с возможностью определения, выполняются ли зависимости среза выходных данных. Компонент 430 оценки зависимости может идентифицировать срезы входных данных в течение ранее определенного периода зависимости. Кроме того, получается статус каждого среза данных, и выполняется определение в отношении того, является ли или нет статус каждого среза «готовым», означая, что срез готов для потребления (например, срез был успешно сгенерирован или выполнен доступным извне). Если срезы входных данных в течение периода зависимости имеют статус «готов», зависимости были выполнены. В противном случае, зависимости не были удовлетворены.
[0037] Если условия зависимости были выполнены, компонент 440 инициирования исполнения выполняется с возможностью инициирования исполнения задания для получения среза выходных данных. Другими словами, запускается исполнение деятельности на компоненте 140 исполнения, и начинается генерирование выбранного среза выходных данных. После инициирования исполнения статус среза выходных данных меняется с «ожидающий исполнения» на «выполняется». Если успешно сгенерирован окончательный срез выходных данных, статус выходных данных может устанавливаться на «готов». Это означает, что деятельность в направлении от клиента к поставщику, которая потребляет срез в качестве своих входных данных, теперь может использовать срез. Если исполнение завершается неуспешно, может повторяться несколько раз, основываясь на заданной политике, в течение этого времени, когда статус может устанавливаться на «повторение», обозначая предыдущее неуспешное завершение и повторение исполнение. Если исполнение в дальнейшем не будет успешным, статус может быть установлен на «неуспешное исполнение». Кроме того, каждое исполнение может записываться в запись выполнения, которая ассоциируется со срезом выходных данных.
[0038] Чтобы способствовать дополнительной доходчивости и понятности касательно работы компонента 130 планировщика, описываются несколько примерных сценариев. Сначала изобретатели рассматривают сценарий, в котором задание, содержащее операцию преобразования данных, имеет один вход и один выход. В этом случае исполнение ясно. Как проходит время, срезы данных со статусом «ожидающий исполнения» перед моментом времени текущего выполнения считываются и генерируются, если готов период зависимости. Изобретатели затем рассматривают сценарий, в котором задание работает в отношении одного входа и многочисленных выходов. В этом случае, объединение срезов данных со всех выходов используется в качестве пула срезов, подлежащих генерированию. Смена статуса для среза выходных данных происходит по всем наборам выходных данных. Остальное исполнение не отличается от предыдущего случая. Затем изобретатели рассматривают задание с многочисленными входами и многочисленными выходами. Объединение срезов данных со всех выходов снова используется в качестве пула срезов, подлежащих генерированию. Чтобы для статуса «ожидающий исполнения» генерировать срез выходных данных, определяется период зависимости, и, если все срезы в активном периоде имеют статус «готов», задание может исполняться для среза выходных данных. Смена статуса для среза выходных данных происходит по всем наборам выходных данных, и исполнение такое же, что и в первом сценарии.
[0039] Фиг.5 более подробно изображает представительный компонент 150 диспетчера. Компонент 150 диспетчера включает в себя компонент 510 статуса и компонент 520 записи исполнения. Компонент 510 статуса диспетчеризирует статус заданий и/или данных, которые они создают. Например, компонент статуса может диспетчеризировать, были ли выходные данные успешно сгенерированы исполнением задания, или исполнение задания не сгенерировало успешно выходные данные. Как отмечено ранее, неуспешное или успешное исполнение может быть представлено пользователю посредством пользовательского интерфейса. Компонент 510 статуса также может диспетчеризировать дополнительную информацию о статусе, включающую в себя, когда данные задания, которое создало данные, ожидают исполнения, выполняются или готовы для потребления, помимо всего прочего. Компонент 520 записи исполнения выполнен с возможностью получения данных, касающихся использования ресурсов компьютера во время исполнения задания. В одном примере, информация может запрашиваться и получаться от операционной системы или подобного механизма управления. Использование ресурсов затем может использоваться пользовательским интерфейсом для представления разделенного вида, содержащего временную шкалу и использование данных, выровненное с временной шкалой.
[0040] Фиг.6-10 представляют собой примерные снимки экрана, иллюстрирующие различные визуализации, создаваемые компонентом 110 пользовательского интерфейса, касающиеся планирования и диспетчеризации заданий. Эти снимки экрана, как предполагается, способствуют доходчивости и пониманию в отношении аспектов данного раскрытия и, как предполагается, не ограничивают их заявленный объект изобретения. Следует понимать, что представленные снимки экрана изображают исключительно одно осуществление. Рассматриваются различные другие комбинации и расположения графических элементов и текста, и, как предполагается, они подпадают под объем прилагаемой формулы изобретения. Кроме того, следует понимать, что различные звуки также могут применяться вместе с визуализациями, чтобы способствовать пониманию пользователем в отношении планирования заданий. В качестве примера, а не ограничения, звук может воспроизводиться при выборе задания или данных, или при обнаружении неуспешного исполнения.
[0041] Фиг.6 представляет собой снимок экрана интерфейса 600, который может создаваться компонентом 110 пользовательского интерфейса. Как показано, интерфейс 600 включает в себя три панели, панель 610 источников, панель 620 опубликованности и панель 630 плана. Панель 610 источников представляет множество доступных наборов данных и позволяет добавлять или удалять из нее источники. Следует понимать, что наборы данных, изображенные на панели 610 источников, могут представлять собой произвольные источники данных. Например, некоторые наборы данных могут ассоциироваться с локальными данными, тогда как другие источники данных ассоциируются с сетевыми или облачными хранилищами данных. Кроме того, наборы данных могут быть, по существу, любой структуры или формата. Панель 620 опубликованности обеспечивает визуальное представление источников опубликованных или потребленных данных после выполнения требуемых преобразований.
[0042] Панель 630 плана визуализирует план исполнения заданий, а также результаты диспетчеризации исполнения. Более конкретно, панель 630 плана представляет разделенный вид, который включает в себя вид 640 временной шкалы, отображаемый в виде диаграммы Гантта, включающей в себя моменты времени начала и окончания исполнения заданий, и вид 650 использования ресурсов, содержащий линейный график, изображающий потребление ресурсов, выровненный с исполнением заданий. Планирование заданий легко определить на основе графика. Например, здесь первое задание, которое выполняет операцию удаления копии, планируется для ежедневного исполнения, и второе задание, которое выполняет условное разбиение, планируется для исполнения через день. Отметим, что линия 660 представляет текущее время в отношении исполнения. Задания перед линией представляют собой задания, которые уже были исполнены, и задания за линией планируются для исполнение в некоторое время в будущем. Чтобы выделить это различие, операции, которые планируются, но еще не были исполнены, изображаются серым цветом, или, другими словами, операции выделяются серым цветом. Если они исполнены, операция больше не выделяется серым цветом. Кроме того, цветовые различия в отношение выполнений заданий могут представлять дополнительную информацию. В данном случае, например, задания, которые окрашены черным цветом, указывают неуспешное исполнение. Согласно одному аспекту, пользователь может выбрать выполнение задания, окрашенное черным цветом, и перепланировать исполнение задания.
[0043] Фиг.7 представляет собой снимок экрана интерфейса 700, который может создаваться компонентом 110 пользовательского интерфейса. Аналогично интерфейсу 600 на фиг.6, интерфейс 700 включает в себя панель 610 источников, панель 620 опубликованности и панель 630 плана, включающую в себя вид 640 временной шкалы и вид 650 использования ресурсов, как описано выше. Интерфейс 700, однако, изображает выбор задания и выделение заданий, связанных с выбором. В данном случае, второе задание 710, которое выполняет условное разбиение, выбирается пользователем по щелчку, касанию или другому жесту. После того как задание выбрано, задания, связанные с выбранным заданием, автоматически идентифицируются и представляются визуально отличимыми от других заданий. В данном примере, первое задание 712, которое выполняет операцию удаления копии, пятое задание 714, которое выполняет очистку данных по сбыту, седьмое задание 716, которое выполняет объединение, и восьмое задание 718, которое выполняет операцию сортировки, идентифицируются как связанные задания и выделяются относительно других заданий. В частности, выбранное задание, а также связанные задания, представлены с белым фоном, тогда как все другие несвязанные задания выделены серым цветом. Связанные задания включают в себя задания, которые зависят от выбранного задания, и задания, от которых зависит выбранное задание. В данном случае, пятое задание 714, седьмое задание 716 и восьмое задание 718 зависят от выбранного задания, тогда как выбранное задание зависит от первого задания 712. Эти зависимости могут идентифицироваться на основе положения задания, причем задания, которые представлены после выбранного задания, зависят от выбранного задания, тогда как задания, которые располагаются перед выбранным заданием, представляют собой задания, от которых зависит выбранное задание.
[0044] Фиг.8 представляет собой снимок экрана интерфейса 800, который может представляться компонентом 110 пользовательского интерфейса в ответ на выбор неуспешного выполнения задания. Аналогично снимкам экрана на фиг.7 и 8, интерфейс 800 включает в себя панель 610 источников, панель 620 опубликованности и панель 630 плана, включающую в себя вид 640 временной шкалы и вид 650 использования ресурсов, как описано ранее. Интерфейс 800 также указывает выбор конкретного выполнения задания, которое не было исполнено успешно, изображенное сплошным черным цветом. В данном случае, выполнение задания условного разбиения изображено позицией 810. Выбор неуспешного выполнения задания запускает идентификацию других выполнений связанных неуспешных заданий, которые могли вызвать неуспешное завершение выбранного выполнения задания или других выполнений задания, которые могли завершиться неуспешно, или для которых было предсказано неуспешное завершение, основываясь на неуспешном завершении выбранного выполнения задания. Эти связанные задания могут идентифицироваться на основе записанных зависимостей между заданиями, статусом исполнения (например, неуспешное, успешное) и плана. При анализе зависимости, статуса и информации о плане может идентифицироваться выполнение задания удаления копий, как показано позицией 820, как вероятная причина неуспешного завершения выбранного выполнения задания «условного разбиения», отмеченного позицией 810. Кроме того, неуспешное завершение выполнения задания «очистить информацию по сбыту», как изображено в позиции 830, может быть предсказано как результат неуспешного завершения задания «условного разбиения». Кроме того, неуспешное завершение выполнения задания «объединения», отмеченного позицией 840, может быть предсказано на основе неуспешного завершения одного или обоих из задания «условного разбиения» и задания «преобразования очистки данных по сбыту». Аналогично, неуспешное завершение задания «сортировки», показанное позицией 850, может быть предсказано как функция неуспешного завершения задания «условного разбиения», задания «преобразование очистки данных» или задания «объединения». Интерфейс 800 различает выбранное неуспешное выполнение задания и выполнения связанных неуспешных заданий от других выполнений заданий. Другими словами, выделяются выбранные и связанные неуспешные выполнения заданий. В данном случае, все выполнения заданий, кроме выполнений выбранных и связанных неуспешных заданий, выделяются серым цветом. Конечно, для целей различения может использоваться обратное: разные цвета, разные шрифты, разные размеры, помимо всего прочего. Этот удобный механизм помогает пользователям находить и устранять проблемы цепочек планирования. В поддержку этого, при выборе или другом жесте в отношении одного из неуспешных выполнений задания может быть представлено диалоговое окно поиска (не показано), которое может предоставить возможность поиска журналов регистрации исполнения, или файлов журнала регистрации, ассоциированных с исполнением задания. Таким образом, пользователь может быстро перейти от идентификации неуспешного завершения и точки происхождения в файле журнала регистрации. Кроме того, пользователь может выбрать или выполнить жест в отношении неуспешного выполнения и перепланировать исполнение задания. Например, пользователь может перетащить и опустить неуспешное выполнение задания на другой момент времени для перепланирования исполнения. В качестве другого примера, пользователь может выполнить правый щелчок на неуспешном выполнении задания для выведения диалогового окна, которое предоставляет возможность пользователю перепланировать задание.
[0045] Фиг.9 иллюстрирует снимок экрана интерфейса 900, который может создаваться компонентом 110 пользовательского интерфейса. Аналогично предыдущим снимкам экрана, интерфейс 900 включает в себя панель 610 источников, которая представляет множество доступных наборов данных и предоставляет возможность добавлять или удалять из нее источники, и панель 620 опубликованности, которая обеспечивает визуальное представление опубликованных или потребляемых наборов данных после выполнения требуемых преобразований. Кроме того, интерфейс 900 включает в себя панель 910 рабочего пространства. Панель 910 рабочего пространства делает возможным визуальную авторскую разработку заданий и конвейера посредством диаграммы. Например, пользователь может получить набор данных перетаскиванием и опусканием визуального представления набора данных из панели 610 источников. Затем набор данных может быть связан с заданием более ранней авторской разработки (например, созданный автоматически предварительным просмотром данных и/или кодированный вручную), например, рисованием стрелки от представления набора данных к представлению куба задания для указания, что набор данных обеспечивает ввод, который задание потребляет и выполняет одну или несколько операций преобразования данных (например, сортировку, группирование, поворот, разбиение, фильтрацию …) над ними. Дополнительно, представление преобразованных выходных данных может связываться с представлением задания на рабочем пространстве. В результате, отображается диаграмма задания, принимающего ввод от источника данных и выводящего новый источник данных, который отражает применение одной или нескольких операций преобразования задания. Интерфейс 900 позволяет выполнять переход между этим диаграммным видом для авторской разработки задания и видом временной шкалы для планирования и диспетчеризации задания. Кроме того, планирование и диспетчеризация данных может представляться на этом диаграммном виде на панели 910 рабочего пространства. Как показано в позиции 920, представление задания «сортировки» включает в себя разделенный вид, включающий в себя планирование данных и график использования ресурсов. Кроме того, после приема сигнала, выбирающего представление задания, представленного на панели 910 рабочего пространства, или ранее в отношении временной шкалы, определяются и выделяются связанные задания и наборы данных. В данном случае, снимок экрана изображает выбор задания «условного разбиения» в позиции 930. После приема выбора собранные данные зависимости, касающиеся заданий и данных, могут использоваться для идентификации заданий и данных, от которых зависит выбранное задание, и заданий и данных, которые зависят от выбранного задания. Другими словами, может определяться и затем отображаться происхождение задания, включая задания и данные направления от клиента к поставщику и от поставщика к клиенту. Кроме того, связанные данные и задания могут визуально различаться или выделяться в отношении других данных и заданий. В данном случае, связанные задания и данные окрашиваются белым цветом, тогда как другие данные и задания окрашиваются серым цветом или выделяются серым цветом.
[0046] Фиг.10 изображает снимок экрана интерфейса 1000, который может создаваться компонентом 110 пользовательского интерфейса. Аналогично интерфейсу 600 на фиг.6, интерфейс 1000 включает в себя панель 610 источников, которая представляет множество доступных наборов данных и предоставляет возможность добавлять или удалять с нее источники, и панель 620 опубликованности, которая обеспечивает визуальное представление опубликованных или потребляемых наборов данных после выполнения требуемых преобразований. Интерфейс 1000 также включает в себя панель 630 плана, включающую в себя разделенный вид, включающий в себя вид временной шкалы, а также вид 650 использования ресурсов. Здесь, однако, вид 1020 временной шкалы представлен в виде времени среза данных, в противоположность времени обработки для исполнения задания. Другими словами, вид 1020 временной шкалы изображает время данных, а не время обработки. Например, изобретатели рассматривают сценарий, в котором почасовая обработка должна выполняться над событиями. Обработка начинается использованием событий за час, за которыми следуют некоторые операции преобразования. Более конкретно, обработка часа с 9 часов утра до 10 часов утра может начинаться в 10:15 утра. Затем некоторое агрегирование может выполняться в 11 часов утра, слияние может выполняться с другими данными в 12 часов утра, и результаты могут завершаться в 1 час дня. Вид 1020 временной шкалы, таким образом, обеспечивает вид времени данных и как они обрабатываются в течение временного периода (например, дня недели …) в противоположность времени исполнения задания, касающегося того, сколько времени занимает выполнение заданий. Панель 630 плана также включает в себя линию 660, которая представляет текущее время относительно обработки данных. Данные перед линией представляют данные, которые уже были созданы, и данные после линии представляют данные, запланированные для создания когда-нибудь в будущем. Чтобы выделить это различие, данные, запланированные, но еще не созданные, изображаются серым цветом, или, другими словами, операции выделяются серым цветом. После того как данные будут созданы, данные больше не выделяются серым цветом. Кроме того, цветовые различия в отношении данных могут представлять дополнительную информацию. Например, данные, окрашенные черным цветом, указывают неуспешное создание ассоциированных данных. Согласно одному аспекту, пользователь может выбирать данные, окрашенные черным цветом, и перепланировать исполнение для создания данных. Хотя это не изображено, другая информация также может передаваться цветом или другим визуальным признаком в отношении данных, включая статус данных, такой как «ожидающий исполнения», «готов», «выполняется» и «неуспешное завершение», среди прочего.
[0047] Фиг.11 изображает систему 1100 заданий. Система 1100 включает в себя средство 1110 генерирования вида, которое принимает ввод, включающий в себя задания преобразования данных, и обеспечивает средство для генерирования вида заданий преобразования данных. Аппаратные средства, программные средства или комбинация аппаратных средств и программных средств может применяться при генерировании вида, который представляет собой визуализацию, которая включает в себя или относится к заданиям преобразования данных. Вид, генерируемый средством 1110 генерирования вида, может обеспечиваться для отображения для представления. В одном примере, средство 1110 генерирования вида может представлять собой или образовывать часть графического пользовательского интерфейса. Согласно одному варианту осуществления, генерируемый вид может представлять собой диаграмму заданий преобразования данных или конвейер заданий, содержащий набор из одного или нескольких связанных заданий с выходными данными первого задания, необязательно обеспечивающего ввод для второго задания.
[0048] Средство 1120 выбора представляет собой механизм, который создает сигнал, указывающий выбор задания на виде. Аппаратные средства, программные средства или комбинация аппаратных средств и программных средств может использоваться для осуществления средства 1120 выбора. Пользователь может применять механизм ввода для выбора или идентификации иным образом задания, и средство 1120 выбора может принимать ввод и идентифицировать выбранное задание, например, сравнением расположения ввода пользователя с положением заданий на виде. Множество механизмов ввода может применяться пользователем, включая, но не ограничиваясь ими, сенсорную панель, мышь, сенсорный экран, камеру или микрофон.
[0049] Средство 1130 связанных заданий обеспечивает механизм для автоматической идентификации заданий, связанных с выбранным заданием. При условии, что выбранное задание предоставляется средством 1120 выбора, средство связанных заданий может принимать, извлекать или иным образом получать или приобретать информацию о зависимости, касающуюся заданий. Затем средство связанных заданий может идентифицировать связанные задания, например, поиском выбранного задания и идентификацией заданий, которые связаны с выбранным заданием, причем связанные задания представляют собой задания, которые зависят от выбранного задания, или задания, от которых зависит выбранное задание. Согласно одному аспекту, зависимости могут захватываться в виде зависимостей по данным заданий, включая входные данные, от которых зависит задание, и выходные данные, создаваемые заданием. В одном варианте осуществления, данные зависимости могут захватываться в направленном графе, который включает в себя задания в виде вершин и наборы данных в виде ориентированных ребер, соединяющих задания. Чтобы определить связанные задания, может выполняться обход графа вперед и назад от вершины, которая представляет выбранное задание, причем обход вперед (например, по направлению от клиента к поставщику от выбранного задания) захватывает задания и наборы данных, которые зависят от выбранного задания, и обход назад (например, в направлении от поставщика к клиенту от выбранного задания) идентифицирует задания и наборы данных, от которых зависит выбранное задание. Средство 1130 связанных заданий может применять аппаратные средства, программные средства или комбинацию аппаратных средств и программных средств для идентификации связанных заданий (а также наборов данных), например, в качестве исполняемого компьютером программного компонента или аппаратно-программного средства.
[0050] Средство 1140 обновления вида представляет собой механизм, который предоставляет возможность выполнять изменения на виде. В одном примере, средство обновления вида содержит аппаратные средства, программные средства или комбинацию аппаратных средств и программных средств, которое принимает, извлекает или иным образом получает или приобретает выбранное задание, одно или несколько связанных заданий и необязательно связанные наборы данных непосредственно от средства 1130 связанных заданий или косвенно из расположения (например, памяти, запоминающего устройства …) и визуально отличает выбранное задание и связанные задания и источники данных от других заданий и источников данных, представленных на виде. Другими словами, средство 1140 обновления вида может выделять выбранное задание и связанные задания и источники данных на виде.
[0051] Средство 1150 планирования предоставляет функциональную возможность планирования в отношении исполнения задания. Воплощенное в виде аппаратных средств, программных средств или комбинации аппаратных средств и программных средств, средство 1150 планирования может принимать, извлекать или иным образом получать или приобретать одно или несколько заданий и генерировать план для исполнения задания в соответствии с определением задания или информацией, ассоциированной с ним, обеспечивая информацию о планировании. Например, если задание предписывает ежедневное исполнение, задание или выполнения задания могут планироваться каждый день. Аналогично, задание или выполнение задания может планироваться через день, если задание задает исполнение через день. Конечно, план также может принимать во внимание различные зависимости по данным, так что задание планируется для исполнения после того, как его входные данные будут доступны.
[0052] Средство 1150 планирования может делать план доступным для средства генерирования вида. Следовательно, средство генерирования вида может генерировать вид плана в виде временной шкалы запланированных заданий. В этом примере, средство 1120 выбора может предоставлять возможность выбора задания из вида временной шкалы плана. Затем средство связанных заданий может определять задания, связанные с выбранным заданием, и средство 1140 обновления вида может обновлять вид временной шкалы плана для выделения выбранного задания и связанных заданий.
[0053] Средство 1160 исполнения исполняет задания, предоставленные или иным образом сделанные доступными средством 1150 планирования. Средство 1160 исполнения может применять аппаратные средства, программные средства или комбинацию аппаратных средств и программных средств для исполнения задания преобразования данных по одному или нескольким наборам входных данных и создавать один или несколько наборов выходных данных, которые отражают применение операции преобразования данных, задаваемой заданием. Средство 1160 исполнения может считывать входные данные из первого обозначенного расположения и затем записывать выходные данные во второе обозначенное расположение, причем расположениями могут быть ячейки памяти или запоминающего устройства.
[0054] Средство 1170 диспетчеризации представляет собой механизм, содержащий аппаратные средства, программные средства или комбинацию аппаратных средств и программных средств, которое диспетчеризирует исполнение заданий средством 1160 исполнения. Согласно одному варианту осуществления, средство 1170 диспетчеризации может обнаруживать или иным образом определять, исполнено ли задание успешно или не было исполнено успешно. Это может выполняться посредством диспетчеризации выходных данных средства 1160 исполнения, включая потенциальные сообщения, касающиеся успеха или неуспеха исполнения. В одном примере, средство 1170 диспетчеризации может определять, было ли исполнение задания инициировано как запланированное, и были ли созданы или нет выходные данные задания в отношении заключения, было ли исполнение успешным или неуспешным. В другом варианте осуществления, средство 1170 диспетчеризации может диспетчеризировать использование ресурсов в отношении исполнения задания. В одном примере, средство 1170 диспетчеризации может быть осуществлено с механизмом для непосредственной диспетчеризации ресурсов, включая использование процессора, памяти, запоминающего устройства и сети. Альтернативно, средство 1170 диспетчеризации может запрашивать и принимать такую информацию от операционной системы или другой системы или компонента, который диспетчеризирует использование ресурсов.
[0055] Средство 1170 диспетчеризации может делать доступными полученные данные или информацию для средства 1110 генерирования вида для использования при генерировании вида. В одном примере, средство 1110 генерирования вида может генерировать вид временной шкалы плана, который указывает, было ли успешным или неуспешным выполнение запланированного задания на основе информации, предоставляемой средством 1170 диспетчеризации. В этом случае, средство 1120 выбора может обеспечивать механизм для сигнализации выбора неуспешного выполнения исполнения. Затем средство 1130 связанных заданий идентифицирует выполнения связанных заданий и может более конкретно определять выполнения связанных заданий, которые завершились неуспешно, или для которых может быть предсказано неуспешное завершение на основе зависимости от неуспешного выполнения задания. Согласно одному варианту осуществления, в дополнение к информации о зависимости по данным, средство связанных заданий может принимать рабочую информацию, включающую в себя, среди прочего, было ли задание исполнено успешно или не было ли оно исполнено неуспешно. В одном примере, рабочая информация может сохраняться вместе с информацией о зависимости. Альтернативно, рабочая информация может сохраняться и отдельно к ней может выполняться обращение. Средство 1140 обновления вида затем может выделять выполнение выбранного неуспешного задания, а также выполнения связанных заданий, которые завершились неуспешно, или для которых было предсказано неуспешное завершение. Дополнительно, средство 1110 генерирования вида может включать в себя создание визуализации информации об использовании ресурсов, предоставляемой средством 1170 диспетчеризации, выровненной с выполнениями заданий. Например, средство 1110 генерирования вида генерирует график, такой как линейный график, который представляет использование ресурсов.
[0056] Вышеупомянутые системы, архитекторы, окружения и т.п. были описаны в отношении взаимодействия между несколькими компонентами. Следует понимать, что такие системы и компоненты могут включать в себя те компоненты или подкомпоненты, которые заданы в данном документе, некоторые из заданных компонентов или подкомпонентов и/или дополнительные компоненты. Подкомпоненты также могут быть реализованы в виде компонентов, связанных с возможностью связи с другими компонентами, а не включенными в порождающие компоненты. Кроме того, один или несколько подкомпонентов и/или подкомпонентов могут быть объединены в единственный компонент для предоставления объединенной функциональной возможности. Связь между системами, компонентами и/или подкомпонентами может выполняться в соответствии с моделью или продвижения и/или извлечения. Компоненты также могут взаимодействовать с одним или несколькими другими компонентами, не описанными конкретно в данном документе ради краткости, но известными для специалиста в данной области техники.
[0057] Кроме того, различные части описанных систем выше и способов ниже могут включать в себя или применять искусственный интеллект, машинное обучение или компоненты на основе знаний или правил, подкомпоненты, процессы, средства, методологии или механизмы (например, методы опорных векторов, нейронные сети, экспертные системы, Байесовские сети доверия, нечеткую логику, механизмы слияния данных, классификаторы …). Такие компоненты, между прочим, могут автоматизировать некоторые механизмы или процессы, выполняемые ими, чтобы сделать части систем и способов более адаптивными, а также эффективными и интеллектуальными. В качестве примера, а не ограничения, компонент 130 планировщика и пользовательский интерфейс 110 могут применять такие механизмы для определения или предположения планов заданий и представления данных, соответственно, основываясь на предыдущих взаимодействиях и другой контекстной информации.
[0058] Принимая во внимание вышеописанные примерные системы, методологии, которые могут быть реализованы в соответствии с раскрытым объектом изобретения, будут более понятны с ссылкой на блок-схемы последовательности операций на фиг.12-17. Хотя с целью упрощения объяснения методологии были показаны и описаны в виде последовательности блоков, следует понимать, что заявленный объект изобретения не ограничивается порядком блоков, так как некоторые блоки могут происходить в другом порядке и/или одновременно с другими блоками в отличие от того, что описано и изображено в данном документе. Кроме того, не все изображенные блоки могут потребоваться для осуществления способов, описанных ниже в данном документе.
[0059] Ссылаясь на фиг.12, на ней изображен способ 1200 планирования и диспетчеризации заданий. В позиции 1210 принимается набор заданий, включающий зависимости для каждого задания, содержащие по меньшей мере идентификацию данных, от которых зависит задание, и данных, созданных заданием. Другими словами, принимается набор заданий, включающий зависимости по данным, установленные в отношении каждого задания. В позиции 1220 генерируется план для обработки набора заданий на основе зависимостей и другой информации, касающейся времени и частоты исполнения, определенных каждым заданием. В позиции 1230 отображается сгенерированный план. Согласно одному аспекту, план может быть представлен диаграммой Гантта, включающей в себя моменты времени начала и окончания исполнения заданий или данных, созданных заданиями. В позиции 1240 обработка задания или исполнение выполнения задания может инициироваться согласно плану. Например, задание может предоставляться компоненту исполнения для обработки. В позиции 1250 определяется успешное или неуспешное завершение процесса в отношении задания, для которого было инициировано исполнение. Такое определение может выполняться простым принятием уведомления от компонента исполнения, касающегося статуса исполнения, или извлечением статуса исполнения из расположения, такого как память или диск. В позиции 1260 отображается успешное завершение или неуспешное завершение выполнения задания относительно плана. Например, успешно исполненное выполнение задания может окрашиваться зеленым цветом, и неуспешное завершения выполнения задания может окрашиваться красным цветом для предоставления ясного указания, касающегося успешного или неуспешного завершения выполнения задания. Кроме того, для заданий может быть предсказано успешное или неуспешное их завершение на основе их зависимостей, и они могут быть окрашены соответствующим образом.
[0060] Фиг.13 изображает способ 1300 различения связанных заданий. В позиции 1310 принимается сигнал, выбирающий задание, содержащее одно или несколько выполнений задания из плана. Например, задание, такое как «удалить копии», может выбираться из вида временной шкалы, изображающего одно или несколько заданий и выполнения заданий, запланированных для исполнения, например, щелчком на левой кнопке или касанием задания. В позиции 1320 идентифицируются задания, которые зависят от выбранного задания. В позиции 1330 идентифицируются задания, от которых зависит выбранное задание. Идентификация заданий может основываться на анализе зависимостей. Согласно одному варианту осуществления, зависимости могут захватываться в виде ориентированного графа заданий в виде вершин и наборов данных в виде ориентированных ребер, соединяющих задания. В данном примере, выбранное задание может идентифицироваться в этом графе, и анализ может происходить вперед от выбранного задания для идентификации заданий, которые зависят от выбранного задания, и назад для идентификации заданий, от которых зависит выбранное задание. В позиции 1340 выделяются выбранное задание и идентифицированные задания. Другими словами, на плане, например, выбранное задание и идентифицированные задания визуально отличаются от других отображенных заданий. Таким образом, пользователь может быстро понять отношения между заданиями.
[0061] Фиг.14 иллюстрирует способ 1400 различения успешного и неуспешного исполнения задания. В позиции 1410 инициируется исполнение выполнения задания. Здесь выполнение задание представляет собой экземпляр задания, который запланирован для выполнения в конкретное время. В позиции 1420 идентифицируются выполнения задания, которые являются зависимыми от исполнения выполнения задания, для которого инициируется исполнение. Информация о зависимости может использоваться для идентификации зависимых выполнений задания. Например, информация о зависимости может записываться в ориентированном графе заданий в виде вершин и подсоединенных наборов данных в виде ориентированных ребер, соединяющих задания. Задание, для которого инициируется исполнение, может идентифицироваться на графе, и зависимые задания могут идентифицироваться посредством обхода графа вниз от задания. Затем запланированные выполнения зависимых заданий могут определяться из плана или из графа, если запланированные выполнения записаны для каждого задания. В позиции 1430 выполняется определение, было ли неуспешное завершение в отношении исполнения выполнения задания. Если не было неуспешного завершения («НЕТ»), способ переходит к позиции 1440, где успешное исполнение записывается для выполнения задания. Согласно одному аспекту, записывается рабочая информация о зависимости, которая включает в себя статус задания в дополнение к информации о зависимости. Успешное исполнение представляет собой статус задания, которое может быть сохранено в этом отношении. Затем в позиции 1450 успешное исполнение отображается в отношении исполненного задания и, необязательно, для зависимых заданий в качестве предсказания успешного исполнения. Например, выполнение задания, отображаемое на плане, может окрашиваться зеленым цветом. Если в позиции 1430 было определено («ДА») неуспешное исполнение, способ продолжается в позиции 1460, где записывается неуспешное исполнение. Неуспешное завершение представляет собой статус задания, который может сохраняться в отношении сохранения рабочей информации о зависимости, как отмечено выше. Затем способ переходит к позиции 1470, где указывается отображение неуспешности в отношении исполненного задания, например, на плане. Кроме того, также вероятно, что задания, которые зависят от исполненного задания, завершатся неуспешно, если неуспешно завершилось исполненное задание. Следовательно, зависимые выполнения задания могут отображаться таким образом, который указывает, что предсказывается неуспешное завершение. Например, исполненное выполнение задания и выполнения зависимых заданий может окрашиваться красным цветом, указывая неуспешное завершение и предсказываемое неуспешное завершение, соответственно.
[0062] Фиг.15 иллюстрирует способ 1500, который способствует поиску и устранению проблем в цепочке планирования. В позиции 1510 прием сигнала, выбирающего выполнение задания, которое неуспешно завершилось, или которое было предсказано неуспешным, или, более конкретно, где указывается, например, неуспешное завершение относительно плана. Например, план может включать в себя множество заданий, и для каждого задания выполнение задания планируется для исполнения в некоторый момент времени. Кроме того, для каждого выполнения задания может предусматриваться визуальное указание, которое отмечает, что выполнение задания было успешным или неуспешным, если оно было ранее исполнено, или предсказывается успешным или неуспешным, если еще не было исполнено. Сигнал выбора может ассоциироваться с одним из выполнений задания, которое указывает неуспешное завершение, и может генерироваться, например, при щелчке или касании пользователем визуального представления выполнения задания. В позиции 1520 идентифицируются выполнения связанных заданий, которые были неуспешными, или которые были предсказаны неуспешными. Выполнения связанных заданий включают в себя выполнения заданий, которые зависят от выполнения выбранного задания, и выполнения заданий, от которых зависит выполнение выбранного задания. Связанные задания могут идентифицироваться посредством анализа информации о зависимости, касающейся заданий. В качестве примера, выбранное задание может идентифицироваться на ориентированном графе, содержащим задания в виде вершин и подключенные наборы данных в качестве ориентированных ребер, соединяющих задания. Затем может выполняться обход графа по направлению от поставщика к клиенту от выбранного задания и в направлении от клиента к поставщику от выбранного задания для идентификации связанных заданий. Согласно одному варианту осуществления, выполнения задания и статус могут записываться вместе с информацией о зависимости. Следовательно, при идентификации связанных заданий, выполнения задания могут идентифицироваться, и могут идентифицироваться те, которые включают в себя статус неуспешного завершения, или фактический или предсказанный. Конечно, некоторая информация, включающая в себя выполнения задания, может сохраняться в отношении плана и может использоваться для определения выполнений связанных заданий. В позиции 1530 выделяется выполнение выбранного задания и выполнения связанных заданий. Другими словами, выполнения выбранного задания и связанных заданий могут визуально отличаться от выполнений других заданий. Это может предоставлять пользователю возможность сосредоточить внимание на неуспешном завершении и выполнить каскадировании неуспешных завершений для поиска и устранения проблем.
[0063] Фиг.16 представляет собой блок-схему последовательности операций способа 1600 различения связанных заданий и наборов данных. В позиции 1610 принимается сигнал, который выбирает задание (или набор данных). Например, сигнал может приниматься при выборе пользователем задания посредством одного или нескольких заданных жестов на виде плана или на диаграммном виде заданий и наборов данных. В позиции 1620 идентифицируются связанные задания и наборы данных. Согласно варианту осуществления, может сохраняться информация о зависимости, касающаяся заданий и наборов данных, и она может приниматься во внимание для идентификации связанных заданий и наборов данных, включая задания и наборы данных, которые зависят от выбранного задания и заданий (например, в направлении от клиента к поставщику), и наборы данных, от которых зависит выбранное задание (например, в направлении от поставщика к клиенту). В одном примере, ориентированный граф может включать в себя задания в виде вершин и наборы данных в виде ориентированных ребер, соединяющих задания. Выбранное задание (или набор данных) может идентифицироваться на графе, и может выполняться обход графа для идентификации заданий и наборов данных, которые зависят от выбранного задания, и от которых зависит выбранное задание (или набор данных). В позиции 1630 выбранное задание (или набор данных) и связанные задания и наборы данных выделяются на визуальном отображении. Другими словами, выбранные и связанные задания и наборы данных визуально отличаются от других заданий и наборов данных. Например, на диаграммном виде заданных заданий и наборов данных может визуально отличаться поднабор связанных заданий и наборов данных. Это особенно полезно для понимания отношений в присутствие огромного количества заданий и наборов данных и сложных конвейеров или цепочек.
[0064] Фиг.17 изображает способ 1700 управляемой данными обработки заданий. В позиции 1710 определяются срезы выходных данных, подлежащие генерированию, причем срезы данных представляют собой порции данных в срезах наборов данных в течение временного периода, с которым они ассоциированы. В одном конкретном осуществлении срезы выходных данных могут идентифицироваться, анализируя статус срезов данных. Если статусом является «ожидающий исполнения» или т.п., может определяться, что срез данных является срезом выходных данных, подлежащим генерированию. В позиции 1720 срез выходных данных выбирается для генерирования. Здесь выбор из множества срезов выходных данных, подлежащих генерированию, может основываться на политике. Например, политика для исполнения заданий может задавать выбор среза выходных данных для генерирования, то есть, сначала самые старые или сначала самые новые, основываясь на том, когда статус был установлен на «ожидающий исполнения» или т.п. В позиции 1730 определяется период зависимости. Период зависимости представляет собой временной диапазон входных данных, требуемый для генерирования среза выходных данных. Это может определяться для среза выходных данных выбора, основываясь на информации о зависимости, определенной в отношении задания, которое генерирует срез выходных данных. Например, задание может определяться для работы в течение трех часов данных от первого источника и в течение одного часа данных от второго источника. Следовательно, если все наборы данных имеют почасовой план (например, срез составляет один час), требуется три часа данных от первого источника и час данных от второго источника для генерирования часа данных среза выходных данных. В позиции 1740 выполняется определение, готовы ли все требуемые срезы входных данных в периоде зависимости. Это может определяться запросом статуса среза входных данных. Если каждый из срезов входных данных имеет статус «готов», означающий, что данные готовы для потребления, способ может переходить к позиции 1750. В противном случае, способ может продолжать выполнение в цикле и ожидать, когда срезы входных данных станут готовыми. В позиции 1750 запускается или инициируется исполнение задания, которое создает выбранный срез выходных данных. В позиции 1760 может устанавливаться статус среза выходных данных. Когда данные создаются, статус может устанавливаться на «выполняется», означая, что срез данных создается для задания. Если исполнение завершено (или не было выполнено), статус может быть изменен на «неуспешное завершение», если завершилась неуспешно попытка сгенерировать срез выходных данных, или «готов», если была успешной попытка генерирования, и срез данных готов для потребления. В позиции 1770 записывается информация, касающаяся исполнения. Например, может записываться статус среза выходных данных, а также момент времени начала и окончания исполнения. Такие данные могут использоваться в отношении генерирования информации и визуализаций для представления пользователю, чтобы способствовать пониманию и управлению исполнением заданий.
[0065] Раскрытие предмета поддерживает различные продукты и процессы, которые выполняют или которые сконфигурированы для выполнения, различных действий, касающихся планирования и диспетчеризации заданий. Ниже приводятся один или несколько примерных способов и систем.
[0066] Способ содержит представление на отображении в интерфейсе вид одного или нескольких заданий преобразования данных; прием первого сигнала от пользователя, выбирающего задание из одного или нескольких заданий преобразования данных посредством интерфейса; автоматическое определение одного или нескольких связанных заданий для выбранного задания, основываясь на зависимостях по данным между заданиями; и представление выбранного задания и одного или нескольких связанных заданий визуально отличимыми от одного или нескольких других заданий. Способ дополнительно содержит представление одного или нескольких заданий, запланированных для исполнения на отображении в интерфейсе. Способ дополнительно содержит представление одного или несколько ранее исполненных заданий на отображении в интерфейсе. Способ дополнительно содержит представление ранее исполненных заданий визуально отличимыми от запланированных заданий на отображении в интерфейсе. Способ дополнительно содержит определение вычислительной нагрузки во время исполнения одного или нескольких заданий; и представление на отображении в интерфейсе вычислительной нагрузки, выровненной с одним или несколькими заданиями. Способ дополнительно содержит представление на отображении в интерфейсе указания, что по меньшей мере одно задание не было исполнено успешно. Способ дополнительно содержит прием второго сигнала, выбирающего одно из по меньшей мере одного выполнения задания, которое не было исполнено успешно; определение автоматически одного или нескольких выполнений связанных заданий, связанных с выполнением выбранного задания, которое не было исполнено успешно, или было предсказано его неуспешное завершение, основываясь на зависимости от выполнения задания, которое не было исполнено успешно; и выделение выполнения выбранного задания и выполнений одного или нескольких связанных заданий на отображении в интерфейсе. Способ дополнительно содержит прием второго сигнала, выбирающего одно из по меньшей мере одного задания, которое не было исполнено успешно; и перепланирование исполнения по меньшей мере одного задания в ответ на второй сигнал. Способ дополнительно содержит представление выбранного задания и одного или нескольких связанных заданий на диаграмме, содержащей представления заданий и наборов данных, а также связи между заданиями и наборами данных.
[0067] Способ содержит применение по меньшей мере одного процессора, выполненного с возможностью исполнения исполняемых компьютером инструкций, хранимых в памяти, для выполнения следующих действий: обнаружения выбора задания преобразования данных посредством графического пользовательского интерфейса; и автоматического определения одного или нескольких связанных заданий на основе зависимостей по данным между заданиями в ответ на обнаружение выбора задания; и представления выбранного задания и одного или нескольких связанных заданий визуально отличимыми от других заданий, отображаемых на графическом пользовательском интерфейсе. Способ дополнительно содержит диспетчеризацию использования ресурсов компьютера вместе с исполнением задания; и представление визуализации использования ресурсов, выровненного с одним или несколькими соответствующими заданиями. Способ дополнительно содержит определение успешного или неуспешного исполнения выполнений заданий; и представление выполнений неуспешного исполнения отличных от выполнения успешных исполнений. Способ дополнительно содержит перепланирование исполнения выполнения задания на основе сигнала, принимаемого в отношении выполнения задания, которое не было исполнено успешно. Способ дополнительно содержит выделение неуспешного выполнения задания выбора и одного или нескольких неуспешных выполнений связанных заданий или выполнений, для которых было предсказано неуспешное завершение, основываясь на зависимости от неуспешного выполнения задания после приема сигнала, идентифицирующего неуспешное выполнение задания выбора. Способ дополнительно содержит представление выбранного задания и одного или нескольких связанных заданий на диаграмме, содержащей представления заданий и наборов данных и связи между заданиями и наборами данных.
[0068] Система содержит процессор, соединенный с памятью, причем процессор выполнен с возможностью исполнения следующих исполняемых компьютером компонентов, хранимых в памяти: первого компонента, выполненного с возможностью планирования задания преобразования данных для исполнения, основываясь на требованиях, задаваемых заданием; второго компонента, выполненного с возможностью представления задания на диаграмме временной шкалы в соответствии с планом; и третьего компонента, выполненного с возможностью выделения одного или нескольких заданий, связанных с заданием выбора, основываясь на зависимости по данным, в ответ на сигнал, который идентифицирует задание выбора на диаграмме временной шкалы. Третий компонент дополнительно выполнен с возможностью выделения одного или нескольких заданий, которые зависят от задания выбора. Третий компонент дополнительно выполнен с возможностью выделения одного или нескольких заданий, от которых зависит задание выбора. Система дополнительно содержит четвертый компонент, выполненный с возможностью обнаружения, является ли исполнение задание успешным или неуспешным. Система дополнительно содержит пятый компонент, выполненный с возможностью выделения неуспешного исполнения связанных заданий или предсказанного неуспешного исполнения задания, основываясь на зависимости от неуспешного исполнения задания, в ответ на выбор представления неуспешного исполнения задания на временной шкале.
[0069] Система содержит средство для генерирования вида заданий преобразования набора данных; средство для приема выбора задания, выбранного задания, из заданий преобразования набора данных; средство для автоматического определения одного или нескольких связанных заданий с выбранным заданием, основываясь на информации о зависимости; и средство для выделения выбранного задания и одного или нескольких связанных заданий на виде. Система дополнительно содержит средство для генерирования плана для исполнения заданий преобразования набора данных. Средство для генерирования вида генерирует вид плана. Система дополнительно содержит средство для исполнения одного из заданий преобразования набора данных в соответствии с планом. Система дополнительно содержит средство для обнаружения успешного или неуспешного выполнения одного из заданий преобразования набора данных. Средство для генерирования вида генерирует вид плана, включающего в себя идентификацию успешного или неуспешного выполнения задания. Средство для приема выбора принимает выбор неуспешного выполнения задания, и средство для выделения выделяет одно или несколько выполнений связанных заданий, которые завершились неуспешно, или для которых было предсказано неуспешное завершение на основе зависимости от неуспешного выполнения.
[0070] Аспекты раскрытия относятся к преобразованию данных, или, другими словами, перевод данных в используемый вид для последующей публикации или потребления инструментальными средствами анализа. В частности, аспекты относятся к технической проблеме планирования и диспетчеризации заданий преобразования данных. Технические средства, применяемые для решения данной проблемы, включают в себя определение заданий, связанных с выбранным пользователем заданием, включая задания, которые зависят от выбранного задания, и/или задания, от которых зависит выбранное задание, основываясь на зависимостях по данным. Выбор задания, а также выделение выбранного задания и определенных связанных заданий осуществляется вместе с графическим пользовательским интерфейсом, который способствует пониманию пользователем отношений между заданиями и поиску и устранению проблем. В результате, технический эффект включает в себя, но не ограничивается им, улучшенную эффективность пользователя в отношении планирования заданий и уменьшение количества ошибок.
[0071] Слово «примерный» или его различные формы используются в данном документе для того, чтобы означать служащий в качестве примера, экземпляра или иллюстрации. Любой аспект или разработка, описанная в данном документе как «примерная», необязательно должна толковаться как предпочтительная или полезная по сравнению с другими аспектами или разработками. Кроме того, примеры предусматриваются исключительно для целей ясности и понимания, и, как подразумевается, никоим образом не ограничивают или сужают заявленный объект изобретения или относящиеся части данного раскрытия. Следует понимать, что могло бы быть представлено множество дополнительных или альтернативных примеров с различными областями применения, но были опущены для целей краткости.
[0072] Как используется в данном документе, термины «компонент» и «система», а также различные их формы (например, компоненты, системы, подсистемы …), как предполагается, ссылаются на относящийся к компьютеру объект, или аппаратных средств, или комбинации аппаратных средств и программных средств, или программных средств или программных средств при исполнении. Например, компонентом может быть, но не ограничивается этим, процесс, выполняющийся на процессоре, процессор, объект, экземпляр, исполняемый файл, поток исполнения, программа и/или компьютер. В качестве иллюстрации, как приложение, выполняющееся на компьютере, так и компьютер могут быть компонентом. Один или несколько компонентов могут постоянно находиться в процессе и/или потоке исполнения, и компонент может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами.
[0073] Союз «или», как он используется в данном описании и прилагаемой формуле изобретения, как предполагается, означает включающее «или», а не исключающее «или», если не указано иначе или ясно из контекста. Другими словами, ««X» или «Y»», как предполагается, означает любую включающую перестановку «X» и «Y». Например, если ««A» применяет «X»», ««A» применяет «Y»», или ««A» применяет как «X», так и «Y»», тогда ««A» применяет «X» и «Y»» выполняется во всех вышеприведенных случаях.
[0074] Кроме того, в той мере, насколько термины «включает в себя», «состоит из», «имеет», «имеющий» или варианты их формы используются или в подробном описании, или в формуле изобретения, предполагается, что такие термины являются включающими до некоторой степени, аналогично термину «содержащий», как «содержащий» интерпретируется, когда применяется в качестве переходного слова в формуле изобретения.
[0075] Чтобы обеспечить контекст для заявленного объекта изобретения, фиг.18, а также последующее описание, как предполагается, предоставляет краткое, общее описание подходящего окружения, в котором могут осуществляться различные аспекты объекта изобретения. Подходящее окружение, однако, является только примером и, как предполагается, не предполагает никакого ограничения на объем использования или функциональные возможности.
[0076] Хотя вышеописанные система и способы могут быть описаны в общем контексте исполняемых компьютером инструкций программы, которая выполняется на одном или нескольких компьютерах, специалист в данной области техники понимает, что аспекты также могут быть осуществлены в комбинации с другими программными модулями или т.п. Как правило, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных, помимо всего прочего, которые выполняют конкретные задачи и/или реализуют конкретные абстрактные типы данных. Кроме того, специалист в данной области техники понимает, что вышеупомянутые системы и способы могут быть осуществлены на практике с различными конфигурациями компьютерной системы, включая однопроцессорные, многопроцессорные компьютерные системы или компьютерные системы с многоядерным процессором, вычислительные мини-устройства, большие электронно-вычислительные машины, а также персональные компьютеры, карманные вычислительные устройства (например, персональный цифровой помощник (PDA), телефон, часы …), микропроцессорную или программируемую бытовую или промышленную электронику и т.п. Аспекты также могут быть осуществлены на практике в распределенных вычислительных окружениях, где задачи выполняются удаленными устройствами обработки, которые связаны по сети связи. Однако некоторые, если не все аспекты заявленного объекта изобретения, могут быть осуществлены на практике на автономных компьютерах. В распределенном вычислительном окружении программные модули могут располагаться на одном или обоих из локального и удаленного устройств памяти.
[0077] С ссылкой на фиг.18, на ней изображен примерный компьютер или вычислительное устройство 1802 общего назначения (например, настольный компьютер, портативный компьютер, планшет, часы, сервер, карманный компьютер, программируемая бытовая или промышленная электроника, телевизионная приставка, игровая система, вычислительный узел …). Компьютер 1802 включает в себя один или несколько процессоров 1820, память 1830, системную шину 1840, массовое(-ые) запоминающее(-ие) устройство(-а) 1850 и один или несколько интерфейсных компонентов 1870. Системная шина 1840 соединяет с возможностью связи по меньшей мере вышеупомянутые составляющие системы. Однако следует понимать, что в его самой простой форме компьютер 1802 может включать в себя один или несколько процессоров 1820, соединенных с памятью 1830, который исполняет различные исполняемые компьютером действия, инструкции и/или компоненты, хранимые в памяти 1830.
[0078] Процессор(-ы) 1820 может быть осуществлен на процессоре общего назначения, процессоре цифровой обработки сигналов (DSP), специализированной интегральной схеме (ASIC), программируемой вентильной матрице (FPGA) или на другом программируемом логическом устройстве, дискретной вентильной или транзисторной логике, дискретных аппаратных компонентах или на любых их комбинациях, разработанных для выполнения функций, описанных в данном документе. Процессором общего назначения может быть микропроцессор, но в альтернативе, процессором может быть любой процессор, контроллер, микроконтроллер или конечный автомат. Процессор(-ы) 1820 также может быть осуществлен в виде комбинации вычислительных устройств, например, комбинации DSP и микропроцессора, множества микропроцессоров, многоядерных процессоров, одного или нескольких микропроцессоров вместе с ядром DSP или любой другой такой конфигурации. В одном варианте осуществления, процессором(-ами) может быть графический процессор.
[0079] Компьютер 1802 может включать в себя или иным образом взаимодействовать с множеством считываемый компьютером носителей, чтобы способствовать управлению компьютером 1802 для осуществления одного или нескольких аспектов заявленного объекта изобретения. Считываемыми компьютером носителями могут быть любые доступные носители, к которым компьютер 1802 может выполнять обращение, и которые включают в себя энергозависимые и энергонезависимые носители и съемные и несъемные носители. Считываемые компьютером носители могут содержать два различных и взаимно исключающих типа, а именно компьютерные носители данных и носители передачи данных.
[0080] Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, выполненные по любому способу или технологии для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя запоминающие устройства, такие как устройства памяти (например, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), …), магнитные запоминающие устройства (например, жесткий диск, дискета, кассеты, лента …), оптические диски (например, компакт-диск (CD), цифровой многофункциональный диск (DVD) …) и твердотельные устройства (например, твердотельный диск (SSD), устройство флэш-памяти (например, накопитель в виде карточки, палочки, ключа …) …), или любые другие подобные носители, которые хранят, в противоположность передачи или связи, требуемую информацию, доступную для компьютера 1802. Следовательно, компьютерные носители данных исключают модулированные данными сигналы и те, которые содержат носители передачи данных.
[0081] Носители передачи данных воплощают считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном данными сигнале, таком как несущая волна или другой транспортный механизм и включают в себя любые носители доставки информации. Термин «модулированный данными сигнал» означает сигнал, в котором одна или несколько из его характеристик устанавливается или изменяется таким образом, чтобы кодировать информацию в сигнале. В качестве примера, и не ограничения, носители передачи данных включают в себя проводные носители, такие как проводная сеть или прямое проводное соединение, и беспроводные носители, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные носители.
[0082] Память 1830 и массовое(-ые) запоминающее(-ие) устройство(-а) 1850 являются примерами считываемых компьютером носителей данных. В зависимости от точной конфигурации и типа вычислительного устройства, память 1830 может быть энергозависимой (например, RAM), энергонезависимой (например, ROM, флэш-память …) или некоторой их комбинацией. В качестве примера, базовая система ввода/вывода (BIOS), включающая в себя базовые подпрограммы для переноса информации между элементами в компьютере 1802, например, во время запуска, может храниться в энергонезависимой памяти, тогда как энергозависимая память может служить в качестве внешней кэш-памяти, способствующей обработке процессором(-ами) 1820, помимо всего прочего.
[0083] Массовое(-ые) запоминающее(-ие) устройство(-а) 1850 включает в себя съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных для хранения больших количеств данных относительно памяти 1830. Например, массовое(-ые) запоминающее(-ие) устройство(-а) 1850 включает в себя, но не ограничивается ими, одно или несколько устройств, таких как накопитель на магнитных или оптических дисках, накопитель на гибких дисках, флэш-память, твердотельный накопитель или карта памяти.
[0084] Память 1830 и массовое(-ые) запоминающее(-ие) устройство(-а) 1850 может включать в себя, или хранить в себе, операционную систему 1860, одно или несколько приложений 1862, один или несколько программных модулей 1864 и данные 1866. Операционная система 1860 служит для управления и распределения ресурсов компьютера 1802. Приложения 1862 включают в себя одно или оба из системного и прикладного программного обеспечения и могут использовать управление ресурсами операционной системой 1860 посредством программных модулей 1864 и данных 1866, хранимых в памяти 1830 и/или массовом(-ых) запоминающем(-их) устройстве(-ах) 1850 для выполнения одного или нескольких действий. Следовательно, приложения 1862 могут превращать компьютер 1802 общего назначения в специализированную машину в соответствии с логикой, предоставляемой ими.
[0085] Все или части заявленного объекта изобретения могут быть осуществлены с использованием стандартных методов программирования и/или технических методов для создания программных средств, аппаратно-программных средств, аппаратных средств или любой их комбинации для управления компьютером на реализацию описанной функциональной способности. В качестве примера и не ограничения, система 100 заданий или ее части могут представлять собой или могут формировать часть приложения 1862 и может включать в себя один или несколько модулей 1864 и данные 1866, хранимые в памяти и/или массовом(-ых) запоминающем(-их) устройстве(-ах) 1850, функциональную возможность которых может быть реализована при исполнении одним или несколькими процессорами 1820.
[0086] Согласно одному конкретному варианту осуществления, процессор(-ы) 1820 может соответствовать системе на кристалле (SOC) или подобной архитектуре, включающей в себя, или, другими словами, интегрирующей как аппаратные средства, так и программные средства на единственной подложке интегральной схемы. В этом случае, процессор(-ы) 1820 может включать в себя один или несколько процессоров, а также память, по меньшей мере подобно процессору(-ам) 1820 и памяти 1830, помимо всего прочего. Обычные процессоры включают в себя минимальное количество аппаратных средств и программных средств и полагаются в значительной степени на внешние аппаратные средства и программные средства. В противоположность этому, реализация на SOC процессора является более мощной, так как она воплощает аппаратные средства и программные средства на ней, которые делают возможной конкретную функциональную возможность с минимальной зависимостью от внешних аппаратных средств и программных средств или без зависимости от них. Например, система 100 заданий и/или ассоциированная функциональная возможность может быть воплощена в аппаратных средств в архитектуре SOC.
[0087] Компьютер 1802 также включает в себя один или несколько интерфейсных компонентов 1870, которые соединены с возможностью связи с системной шиной 1840 и способствуют взаимодействию с компьютером 1802. В качестве примера, интерфейсный компонент 1870 может представлять собой порт (например, последовательный, параллельный, стандарта Международной ассоциации производителей карт памяти для персональных компьютеров (PCMCIA), универсальной последовательной шины (USB), шины FireWire …) или интерфейсную карту (например, звуковую, видео …) или т.п. В одном примерном осуществлении, интерфейсный компонент 1870 может быть воплощен в виде пользовательского интерфейса ввода/вывода, предоставляющего пользователю возможность вводить команды и информацию в компьютер 1802, например, посредством одного или нескольких жестов или речевого ввода, при помощи одного или нескольких устройств ввода (например, указательного устройства, такого как мышь, трекбол, стилуса, сенсорной панели, клавиатуры, микрофона, джойстика, игрового планшета, антенны спутниковой связи, сканера, камеры, другого компьютера …). В другом примерном осуществлении, интерфейсный компонент 1870 может быть воплощен в виде периферийного интерфейса вывода для подачи выходных данных на дисплеи (например, жидкокристаллические (LCD), на светодиодах (LED), плазменные …), громкоговорители, принтеры и/или другие компьютеры, помимо всего прочего. Кроме того, интерфейсный компонент 1870 может быть воплощен в виде сетевого интерфейса, предоставляющего возможность выполнять связь с другими вычислительными устройствами (не показаны), например, по проводным или беспроводным линиям связи.
[0088] То, что было описано выше, включает в себя примеры аспектов заявленного объекта изобретения. Конечно, не является возможным описать каждую потенциальную комбинацию компонентов или методологий для целей описания заявленного объекта изобретения, но специалист в данной области техники может понимать, что возможны многие дополнительные комбинации и перестановки описанного объекта изобретения. Следовательно, описанный объект изобретения, как предполагается, охватывает все такие изменения, модификации и варианты, которые подпадают под сущность и объем прилагаемой формулы изобретения.