Определение области действия параметра графа зависимостей

Номер патента: 12057

Опубликовано: 28.08.2009

Авторы: Стэнфилл Крэйг В., Инчинголо Фрэнк

Есть еще 7 страниц.

Смотреть все страницы или скачать PDF файл.

Формула / Реферат

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

определяют множество задач согласно графу зависимостей;

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

привязывают значение к первому параметру, используемому в первой из задач, в том числе идентифицируют первый из контекстов параметра согласно графу зависимостей и извлекают значение для параметра из идентифицированного контекста;

налагают ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров; и

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

2. Способ по п.1, дополнительно содержащий следующие этапы:

определяют значение для присваивания первому параметру во время выполнения второй из задач и

сохраняют значение для первого параметра в первом контексте параметра.

3. Способ по п.2, в котором первый контекст параметра ассоциативно связан со второй из задач.

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

5. Способ по п.4, в котором этап, на котором идентифицируют первый из контекстов, включает в себя идентификацию задач, которые присваивают значение первому параметру.

6. Способ по п.5, в котором этап, на котором идентифицируют задачи, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей.

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

принимают спецификацию ограничения упорядочивания для множества задач, где, по меньшей мере, некоторые из задач не упорядочены относительно друг друга;

для каждого из одного или более параметров идентифицируют задачи, которые осуществляют доступ к этим параметрам;

проверяют идентифицированные задачи на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания;

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

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

8. Способ по п.7, в котором этап, на котором принимают спецификацию ограничения упорядочивания, включает в себя приемку спецификации графа зависимостей.

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

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

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

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

определяют множество задач согласно графу зависимостей;

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

привязывают значение к первому параметру, используемому в первой из задач, в том числе, идентифицировать первый из контекстов параметра согласно графу зависимостей и извлекать значение для параметра из идентифицированного контекста;

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

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

13. Носитель по п.12, дополнительно включающий в себя инструкции для предписывания компьютерной системе

определять значение для присваивания первому параметру во время выполнения второй из задач и

сохранять значение для первого параметра в первом контексте параметра.

14. Носитель по п.13, в котором первый контекст параметра ассоциативно связан со второй из задач.

15. Носитель по п.12, в котором граф зависимостей задает порядок выполнения для задач и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач.

16. Носитель по п.15, в котором идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру.

17. Носитель по п.16, в котором идентификация задач, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей.

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

модуль определения диспетчера задач, сконфигурированный для определения множества задач согласно графу зависимостей,

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

модуль связывания параметра диспетчера задач, имеющий доступ к контекстам параметра, сконфигурированный для связывания значения с первым параметром, используемым в первой из задач, в том числе выполнения идентификации первого из контекстов параметра согласно графу зависимостей и извлечения значения для параметра из идентифицированного контекста;

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

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

19. Система по п.18, в которой модуль связывания параметра диспетчера задач дополнительно сконфигурирован для определения значения для присваивания первому параметру во время выполнения второй из задач и сохранения значения для первого параметра в первом контексте параметра.

20. Система по п.19, в которой первый контекст параметра ассоциативно связан со второй из задач.

21. Система по п.18, в которой граф зависимостей задает порядок выполнения для задач, и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач.

22. Система по п.21, в которой идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру.

23. Система по п.22, в которой идентификация задач, которые присваивает значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей.

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

средство для определения множества задач согласно графу зависимостей;

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

средство для связывания значения с первым параметром, используемым в первой из задач, в том числе идентификации первого из контекстов параметра согласно графу зависимостей и извлечения значения для параметра из идентифицированного контекста;

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

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

25. Система по п.24, дополнительно включающая в себя

средство для определения значения для присваивания первому параметру во время выполнения второй из задач и

средство для сохранения значения для первого параметра в первом контексте параметра.

26. Система по п.25, в которой первый контекст параметра ассоциативно связан со второй из задач.

27. Система по п.24, в которой граф зависимостей задает порядок выполнения для задач, и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач.

28. Система по п.27, в которой идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру.

29. Система по п.28, в которой идентификация задач, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей.

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

принимают спецификацию ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга;

для каждого из одного или более параметров идентифицируют задачи, которые осуществляют доступ к этим параметрам;

проверяют идентифицированные задачи на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания;

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

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

31. Носитель по п.30, в котором приемка спецификации ограничения упорядочивания включает в себя приемку спецификации графа зависимостей.

32. Носитель по п.30, в котором идентификация задач, которые осуществляют доступ к параметру, включает в себя обработку объявлений для задач.

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

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

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

модуль определения диспетчера задач, выполненный с возможностью принятия спецификации ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга;

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

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

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

36. Система по п.35, в которой принятие спецификации ограничения упорядочивания включает в себя принятие спецификации графа зависимостей.

37. Система по п.35, в которой идентификация задач, которые осуществляют доступ к параметру, включает в себя обработку объявлений для задач.

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

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

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

средство для принятия спецификации ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга;

средство для идентификации, для каждого из одного или более параметров, задач, которые осуществляют доступ к этим параметрам;

средство для проверки идентифицированных задач на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания;

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

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

41. Система по п.40, в которой принятие спецификации ограничения упорядочивания включает в себя принятие спецификации графа зависимостей.

42. Система по п.40, в которой идентификация задач, которые осуществляют доступ к параметру, включает в себя обработку объявлений для задач.

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

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

Рисунок 1

 

Текст

Смотреть все

012057 Уровень техники Это изобретение относится к определению области действия параметров в графе зависимостей. Компьютерные системы управления заданиями использовались для упорядочивания выполнения компьютерных программ или других последовательностей операций согласно ограничениям, относящимся к очередности, в которой должны выполняться программы. Один из подходов к заданию ограничений упорядочивания состоит в том, чтобы использовать граф зависимостей. Программы могут принимать аргументы, которые задаются в момент времени, когда задания представляются системе. Одним из примеров таких систем управления заданиями являются распределенные пакетные системы, в которых разные задания могут быть заданы для выполнения на разных компьютерах или типах компьютеров (например, суперкомпьютерах), а зависимости между разными заданиями идентифицируются явным образом до того, как выполняются задания. Одним из подходов к передаче информации между заданиями является через общее хранилище данных, например через файлы в файловой системе. Еще один пример такого управления заданиями относится к планированию заданий в распределенной компьютерной среде, например задачам поддержки планирования, которым необходимо выполняться на разных компьютерах в конкретной последовательности. Сущность изобретения В общем аспекте настоящее изобретение характеризуется способом связывания значений параметров. Ряд задач определяется согласно графу зависимостей. Поддерживается множество контекстов параметров, каждый из которых ассоциативно связан с различной областью действия задач. Параметр, используемый в первой из задач, связывается со значением. Это связывание включает в себя идентификацию первого из контекстов согласно графу зависимостей и извлечение значения для параметра из идентифицированного контекста. Этот аспект может включать в себя один или более из следующих признаков. Значение для присваивания параметру определяется во время выполнения второй из задач. Значение для параметра сохраняется в первом контексте параметра, который ассоциативно связан со второй из задач. Граф зависимостей задает порядок выполнения для задач. Идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются перед первой из задач. Идентификация первого из контекстов также включает в себя идентификацию задач, которые присваивают значение первому параметру, и идентификацию задачи, которая выполняется самой последней согласно графу зависимостей. В еще одном аспекте, в целом, изобретение характеризуется способом проверки доступа к параметрам, включающим в себя прием спецификации ограничения упорядочивания для множества задач, в которой по меньшей мере некоторые из задач не упорядочены относительно друг друга. Эта проверка включает в себя для каждого из одного или более параметров идентификацию задач, которые осуществляют доступ к этим параметрам, и проверку на потенциальный конфликт при доступе идентифицированных задач к параметрам, согласно спецификации ограничения упорядочивания. Аспекты изобретения могут заключать в себе одно или более из следующих преимуществ. Использование явной передачи параметров между задачами дает возможность проверки на конфликты и неопределенности в значениях параметров. Например, такая проверка может гарантировать,что параметры будут приобретать одни и те же значения при повторном выполнении плана задач. Определение области действия согласно старшинству в графе зависимостей может быть предпочтительным по отношению к определению области действия согласно вложению или планам и подпланам,так как параметры могут передаваться между одноранговыми задачами в планах. Использование множества контекстов параметров может сократить конфликт имен посредством предоставления одному и тому же имени параметра возможности использоваться в разных частях графа зависимостей при условии, что множественные использования не приводят к конфликтам или неопределенностям, согласно правилам определения области действия. Это может предоставить разным разработчикам возможность создавать разные части плана, не приводя к конфликтам имен, и не идентифицируя разные области действия явным образом. Другие признаки и преимущества изобретения очевидны из последующего описания и из формулы изобретения. Описание чертежей Фиг. 1 - система управления задачами; фиг. 2 - граф зависимостей; фиг. 3 - схема, которая включает в себя единственный глобальный контекст в диспетчере задач; фиг. 4 А - схема, которая включает в себя множество специфичных задач динамических контекстов в диспетчере задач; фиг. 4 В - схема, показывающая взаимосвязи между динамическими контекстами согласно графу зависимостей по фиг. 2; фиг. 4 С - схема, показывающая области действия задач в графе зависимостей по фиг. 2; фиг. 5 - спецификация задач;-1 012057 фиг. 6 А-В - примеры приложения, которое использует динамические параметры. Подробное описание Обзор. Со ссылкой на фиг. 1 система 100 управления задачами управляет выполнением задач, которые составляют общий план, согласно ограничениям зависимостей, которые задают, какие задачи в плане обязаны быть завершены до того, как будут выполняться другие задачи. Ограничения зависимостей изображены с использованием направленного графа 132 зависимостей, в котором каждый узел 134 графа соответствует различной задаче в плане, а каждая направленная дуга 136 от одного узла к другому указывает ограничение упорядочивания из условия, чтобы задача, соответствующая первому (вышерасположенному) узлу, должна была завершаться до того, как выполняется задача, соответствующая второму (нижерасположенному) узлу. В более широком смысле, задача, соответствующая узлу, может выполняться только после того, как завершились все ее вышерасположенные задачи в графе. Граф зависимостей устанавливает частичное упорядочивание задач. Поэтому задачи могут выполняться одновременно, при условии ограничений, включающих в себя основанные на графе ограничения зависимостей. Задачи также могут выполняться на разных компьютерах для достижения увеличения быстродействия параллелизма при полном выполнении плана. Система 100 управления задачами включает в себя диспетчер 110 задач, который считывает спецификацию 120 плана. Спецификация плана включает в себя спецификацию 122 графа, определяющую граф 132 зависимостей, а также спецификацию 124 задач, которая определяет характеристики каждой из задач. Спецификация 122 графа определяет граф зависимостей посредством списка узлов 134 и списка дуг 136, идентифицирующих узел-источник и узел-адресат в графе. Каждый узел ассоциативно связан с определением задачи, которое задано в спецификации 124 задач, которая задает отдельные операции,которые должны выполняться в задаче. Задача может определяться с использованием шаблона задачи, а план может определяться с использованием шаблона плана. Шаблон для задачи или плана может включать в себя ссылки на параметры,которые представлены условно и необязательно связываются со значениями до тех пор, пока задача не выполняется. Например, шаблон задачи может включать в себя ссылку на параметр, названный FILENAME (имя файла), а ссылка на такой параметр, представленный с использованием синтаксисаFILENAME со знаком доллара, связывается с конкретным значением диспетчером 110 задач до или во время выполнения задачи. Некоторые параметры являются глобальными для всего плана, и им присваиваются значения, когда весь план выполняется впервые. Такие параметры могут быть формальными параметрами плана в целом и, например, могут задаваться в команде, которая задействует весь план, или могут интерактивно вызываться пользователем, который использует план. Другие параметры необязательно обладают значениями, заданными, когда план выполняется впервые. Таким динамическим параметрам могут присваиваться значения во время или в результате выполнения одной или более задач, а затем указываться ссылкой шаблонами других задач. Например, на фиг. 2 параметр А может быть установлен в значение задачей 1, а затем это значение может использоваться задачей 2. Система 100 управления задачами поддерживает некоторое количество дополнительных особенностей, которые являются существенными для обсуждения, приведенного ниже. Первая особенность состоит в том, что узел 134 может быть ассоциативно связан скорее с целым подпланом, чем с единственной задачей. Подпланом является низкоуровневый план из частично упорядоченных задач. Подплан содержит спецификацию 120 плана с такой же или подобной структурой как у спецификации плана высшего уровня. Вторая особенность состоит в том, что задачи обладают возможностью модифицировать спецификацию 120 плана на протяжении своего выполнения. В частности, задача обладает возможностью добавлять дополнительные узлы 134 и дуги 136 в граф 132 и определять характеристики для задач, ассоциативно связанных с добавленными узлами, с использованием служб, предоставленных диспетчером 110 задач. Например, первая задача может формировать подплан с использованием шаблона для плана, содержащего неизвестное (до времени исполнения) количество задач для выполнения. Количество задач в шаблоне связывается во время исполнения с использованием динамического параметра. Сформированный подплан включается в высокоуровневый план первой задачи диспетчером 110 задач. Подходы связывания. Диспетчер 110 задач использует один из некоторого количества альтернативных подходов к связыванию параметра, как описано ниже. В качестве альтернативы, диспетчер 110 задач использует сочетание подходов связывания, например, используя разные подходы для разных параметров согласно объявлениям этих параметров. Один из аспектов, которым отличаются некоторые (или все) подходы, состоит в области действия определений параметра. Подход 1. Со ссылкой на фиг. 3 в первом подходе связывания диспетчер 110 задач поддерживает единственный глобальный контекст 310 для всех параметров. Диспетчер 110 задач поддерживает единственную-2 012057 копию любого параметра. То есть он поддерживает структуру 320 данных, которая ассоциативно связывает каждое из некоторого количества разных имен 322 параметра с текущим значением 324 такого параметра (где значение 324 может быть пустым, если соответствующему параметру еще не было присвоено значение). Эта же самая структура 320 данных может использоваться для хранения значений глобальных параметров, а также динамически присвоенных задачами, в то время как они выполняются. Со ссылкой на фиг. 2 и 3 в примере этого первого подхода задача 1 присваивает значение FOO параметру А, как указано присваиванием A=FOO. Диспетчер 110 задач принимает присвоенное значениеFOO из задачи 1 (указано стрелкой от задачи 1 в ячейку 324 значения для параметра А) и сохраняет значение в ячейке 324 значения. Позже, диспетчер 110 задач предоставляет значение FOO задаче 2 для того,чтобы привязать ссылку к параметру А в шаблоне для задачи 2. В этом примере задача 2 включает в себя присваивание B=A/BAZ, которое может иметь следствием, что параметру В присваивается значениеFOO/BAZ. Диспетчер 110 задач принимает присвоенное значение для В, которое он сохраняет в глобальном контексте 310. Согласно графу 132 задача 2 выполняется только после того, как завершена задача 1. Следовательно, гарантировано, что присваивание FOO параметру А было выполнено до выполнения задачи 2. Вообще, группы из множества задач плана могут выполняться одновременно. Для конкретного графа зависимостей две или более задач, которые не упорядочены относительно друг друга, потенциально могли бы выполняться одновременно или в непредсказуемой последовательности, если нет прямого пути между ними в графе зависимостей. На фиг. 2 задачи 2 и 3 являются такими неупорядоченными задачами. В примере по фиг. 2 задача 3 присваивает значение BAR параметру А. Если задача 3 выполняется до задачи 2, то параметру В присваивается значение BAR/BAZ в задаче 2, тогда как, если задача 3 выполняется после задачи 2, параметру В присваивается значение FOO/BAZ. В некотором количестве приложений неопределенность того, какое значение будет присвоено В,является нежелательной. Один из подходов к предотвращению такой ситуации состоит в том, чтобы выполнять статическую проверку графа зависимостей и запрещение использования плана, который демонстрирует такую неопределенность. Проверка включает в себя идентификацию групп задач, которые не упорядочены графом. Если конкретный параметр используется одной задачей в группе и присваивается другой задачей в группе, возникает потенциальная неоднозначность. Подобным образом, если две задачи в такой группе присваивают значения конкретному параметру, также имеет место конфликт. Вообще, в любой группе неупорядоченных задач, в которой множества задач осуществляют доступ к конкретному параметру, никакая задача не может присваивать значение такому параметру. Эта статическая проверка могла бы идентифицировать конфликт между задачами 2 и 3 касательно их использования параметра А. Система 100 управления задачами обрабатывает конфликты, идентифицированные статической проверкой (например, с использованием механизма обработки ошибок). Заметим, что в этом примере задачи 2 и 5 также могут выполняться в непредсказуемом порядке, но обе скорее используют, чем присваивают значение параметра А и поэтому не представляют конфликт или неоднозначность. Статическая проверка графа зависимостей выполняется диспетчером 110 задач до выполнения плана, или в качестве альтернативы может выполняться при предварительной обработке другим модулем,который подтверждает правильность спецификации плана. В ситуации, в которой граф модифицируется при выполнении задачи, статическая проверка выполняется снова или расширяется, чтобы учесть модификацию графа. Для планов, которые включают в себя подпланы, могут использоваться два варианта этого подхода. В первом варианте диспетчер 110 задач поддерживает единственный контекст для всех параметров для всех уровней подпланов. При статической проверке плана, который включает в себя узел с подпланом,присваивание параметра любой задачей в таком подплане вступает в конфликт с любой неупорядоченной задачей (относительно узла с таким подпланом) в высокоуровневом плане, которая использует значение этого параметра. Во втором варианте, касающемся подпланов, диспетчер 110 задач поддерживает отдельный контекст для параметров каждого подплана, а спецификация подплана явным образом идентифицирует, какие параметры экспортируются из подплана в следующий высокоуровневый план, когда подплан завершается. В таком варианте, статическая проверка приводит к конфликту между экспортированным параметром подплана и доступом к такому параметру в задаче в следующем высокоуровневом плане, которая не упорядочена выполнением подплана. В другом варианте этого подхода диспетчер 110 задач запрещает повторное присваивание значения любому конкретному глобальному динамическому параметру. Подход 2. Со ссылкой на фиг. 4 А во втором подходе диспетчер 110 задач поддерживает глобальный контекст 310 для параметров, которые установлены для плана в целом, и множество динамических контекстов 410, каждый из которых ассоциативно связан с различным узлом графа зависимостей. Каждая задача,которая присваивает параметр, формирует новый экземпляр такого параметра и сохраняет (посредством диспетчера 110 задач) присвоенное значение в динамическом контексте 410, ассоциативно связанном с узлом, соответствующем этой задаче. Следовательно, диспетчер 110 задач может сохранять мно-3 012057 жество значений, ассоциативно связанных с параметром, каждое значение ассоциативно связано с различным экземпляром параметра. Для любого конкретного параметра (например, А), диспетчер 110 задач поддерживает отдельное значение параметра, ассоциативно связанное с каждой задачей, в которой этот параметр присваивается (так как каждая задача соответствует отдельному узлу и отдельному динамическому контексту 410). Со ссылкой на фиг. 4 В и 4 С каждый экземпляр параметра и его ассоциативно связанный динамический контекст 410 имеет область действия задач, которая определяет, какие задачи видят значение,присвоенное такому экземпляру. Каждый динамический контекст 410 ассоциативно связан с различной областью действия задач на основании отношений между динамическими контекстами 410, следуя шаблону 420, согласно графу 132 зависимостей. Например, экземпляр параметра А, которому присваиваетсяA=FOO в задаче 1 (сохраненное в динамическом контексте 410), имеет область действия задачи 430, которая отлична от области действия задач 432, ассоциативно связанных с экземпляром параметра А, которому присваивается A=BAR в задаче 3. Область действия задач 434, ассоциативно связанных с экземпляром параметра В, которому присваивается B=A/BAZ в задаче 2, включает в себя задачу 4, но не задачу 5. В этом подходе область действия задач или область видимости экземпляра параметра (и его ассоциативно связанного динамического контекста 410) включает в себя только задачу, которая присваивала значение экземпляру параметра, и задачи, которые упорядочены после (ниже от) такой задачи. Когда задача указывает ссылкой этот параметр, диспетчер 110 задач связывает с этой ссылкой значение экземпляра параметра, чья область действия включает в себя задачу. Когда задача 1 присваивает значение FOO параметру А, диспетчер 110 задач сохраняет значение в динамическом контексте 410, ассоциативно связанном с задачей 1. Подобным образом, когда задача 3 присваивает значение BAR параметру А, диспетчер 110 задач сохраняет значение в динамическом контексте 410, ассоциативно связанном с задачей 3. Задача 2 находится в пределах области действия экземпляра параметра А, которому присвоено значение A=FOO в задаче 1, но не находится в области действия экземпляра параметра А, которому присвоено A=BAR в задаче 3. Следовательно, при этом подходе к определению области действия не существует неоднозначности или неопределенности относительно значения В в задаче 2. Диспетчер 110 задач связывает ссылку на параметр А в задаче 2 со значением из динамического контекста 410 для задачи 1. Задача 2 присваивает В значение FOO/BAZ, которое она предоставляет диспетчеру 110 задач для сохранения в динамическом контексте 410, ассоциативно связанном с задачей 2. Вообще, во время выполнения диспетчер 110 задач связывает значение со ссылкой на параметр в задаче, принимая во внимание расположенные выше пути (то есть прямые пути через единственную дугу или побочные пути через уже выполненные задачи) сквозь граф, которые заканчиваются задачей, которая присваивает значение параметру. В примере при связывании параметра А в задаче 2 диспетчер 110 задач следует по расположенному выше пути к задаче 1, где был установлен параметр. В примере по фиг. 2 задача 4 потенциально находится в пределах области действия как экземпляра параметра А задачи 1, так и такового у задачи 3. Т.е. расположенный выше путь от задачи 4 как к задаче 1 (побочно через задачу 3), так и к задаче 3 (напрямую), каждая из которых присваивает А значение. Однако в этом примере нет неоднозначности, потому что задача 3 ограничена для выполнения после задачи 1. Если есть многочисленные расположенные выше присваивания параметров и если есть одна задача,которая упорядочена после всех других, то неоднозначности нет, и используется значение, присвоенное экземпляру параметра в динамическом контексте 410 такой последней задачи. Как при первом подходе, потенциальная неоднозначность может быть проверена статически по графу зависимостей. Более точно, для каждой ссылки на параметр в узле (задаче) в графе сначала идентифицируются расположенные выше задачи, которые могли бы присваивать значения параметру. Если нет такой задачи, то параметр мог бы иметь неидентифицированное значение или предоставляться из глобального контекста для плана. Если есть ровно одна расположенная выше задача, то неоднозначности нет. Если есть множество расположенных выше задач, которые присваивают значения параметру, есть неоднозначность, если нет единственной одной из тех задач, которые упорядочены после других (то есть ограничены для выполнения после других согласно графу зависимостей). Подходы реализации. Со ссылкой на фиг. 5 спецификация 500 задачи (которая содержится в спецификации 124 задач по фиг. 1) включает в себя секцию 510 объявления и секцию 520 инструкций. Секция 510 объявления идентифицирует (например, с использованием оператора или операторов объявления) динамические параметры, которые присваиваются на протяжении выполнения соответствующей задачи. Спецификация задачи, показанная на фиг. 5, соответствует задаче 1 по фиг. 2. Параметр А объявлен, как являющийся динамически присваиваемым задачей, проиллюстрировано в виде объявления dynamic A 512. Секция 510 объявления также идентифицирует ссылки на параметры, которым требуется связываться посредством диспетчера 110 задач согласно областям действия имеющихся в распоряжении параметров. Секция 520 инструкций включает в себя компьютерную инструкцию (например, операторы языка программирования или другие процедурные операторы) для операций, которые должны выполняться задачей, а также инструкции для присваивания значений динамическим параметрам, такие как инструк-4 012057 ция A=FOO 522. Такая компьютерная инструкция, например, может быть задана пользователем или автоматически сформирована компьютерным процессом. Диспетчер 110 задач способен обрабатывать секции объявлений спецификаций задач для плана,чтобы определять, какие параметры должны быть присвоены, или указаны ссылкой, или то и другое, во время выполнения соответствующих задач. Диспетчер 110 задач может проводить различие между присваиванием или ссылкой посредством дополнительной обработки секций инструкций спецификаций задач или в качестве альтернативы посредством использования отдельного типа оператора объявления для присваивания или указания ссылкой динамических параметров. Например, для примера, показанного на фиг. 2, диспетчер 110 задач может синтаксически анализировать спецификации задач, чтобы определять,что задача 2 ссылается на параметр А, тогда как задача 3 присваивает А значение. Это предоставляет диспетчеру 110 задач возможность выполнять статическую проверку, такую как статическая проверка для первого подхода (см. фиг. 3), в которой указание ссылкой в задаче 2 и присваивание в задаче 3 могли бы конфликтовать. Когда секция объявления идентифицирует параметры, которые должны указываться ссылкой, диспетчер 110 задач способен компоновать окружение параметров, а затем связанные значения перед выполнением инструкций из секции 520 инструкций. Скомпоновав окружение для задачи, диспетчер 110 задач активизирует процесс, который выполняет инструкции секции инструкций спецификации задачи. Этот процесс затем обращается к значениям параметров из окружения, которое было создано для этого. Во время выполнения обработка инструкции присваивания для динамического параметра имеет следствием, что пара (параметр, значение) является записываемой в выходные данные выполнения задачи, в секцию 530 присваивания динамических параметров. Например, пара (A, FOO) 532 могла бы записываться в секцию 530 присваивания. Диспетчер 110 задач принимает секцию 530 присваивания после выполнения инструкций секции 520 инструкций и использует ее содержимое для обновления значений параметров. В одной из отдельных реализаций этого подхода секция инструкций включает в себя операторы на языке сценариев командного процессора, такого как ksh. Перед активизацией процесса командного процессора для интерпретации инструкции, диспетчер 110 задач использует секцию 510 объявления для компоновки окружения значений параметров, которые будут использоваться при обработке инструкций командного процессора. В этой реализации операторы присваивания принимают вид операторов вывода в текстовые выходные данные сценария. То есть вместо использования присваивания A=FOO, инструкции сценария могли бы включать в себя оператор, такой как PRINT A=FOO, имеющий следствием выводимую строку A=FOO. Текстовые выходные данные сценария формируют секцию 530 присваивания динамических параметров. Диспетчер 110 задач принимает текстовые выходные данные и интерпретирует операторы присваивания, сохраняя значения в надлежащих динамических контекстах 410. В еще одной реализации процесс, интерпретирующий инструкции в секции 520 инструкций, поддерживает связь с диспетчером 110 задач, а диспетчер 110 задач обслуживает запросы на сохранение или осуществление доступа к значениям динамических параметров. Когда для выполнения инструкции необходимо, чтобы ссылка на параметр связывалась со значением, процесс отправляет запрос диспетчеру 110 задач, который определяет надлежащий динамический контекст 410 для такого параметра и возвращает значение в этом динамическом контексте 410. Подобным образом, когда параметру присваивается значение, процесс отправляет запрос на сохранение значения в надлежащем динамическом контексте 410. В альтернативной реализации секция 510 объявления спецификации 500 задачи не идентифицирует параметры, которые будут необходимы задаче во время выполнения, а подходящего механизма обмена нет в распоряжении для запрашивания значений параметров, в то время как инструкции задачи являются выполняемыми. В этой реализации диспетчер 110 задач компонует полный список всех экземпляров параметров, области действия которых включают в себя задачу. Для параметров, для которых связывание могло бы послужить причиной потенциальной неоднозначности (например, потому, что параметру присваивалось значение множеством расположенных выше неупорядоченных задач), значение параметра заменяется признаком, таким как ambiguousvalue (неоднозначноезначение), с тем чтобы происходила ошибка, если бы этот параметр указывался ссылкой в задаче. Когда секции 510 объявления не включают в себя объявления параметров, которые будут динамически присваиваться и/или указываться ссылкой в каждой задаче, статическая проверка графа зависимостей может не быть возможной. Однако диспетчер 110 задач по-прежнему способен идентифицировать некоторые потенциальные конфликты, которые могут возникать во время выполнения плана. Например,с использованием подхода к определению области действия единственным глобальным контекстом (см. фиг. 3), если диспетчер 110 задач обнаруживает во время выполнения плана, что множество неупорядоченных задач присвоили значения параметру, диспетчер 110 задач может идентифицировать потенциальный конфликт. Система 110 управления задачами затем может обрабатывать конфликты, идентифицированные диспетчером задач. Примеры Со ссылкой на фиг. 6 А пример использования динамически присваиваемых параметров включает в себя обработку некоторого количества файлов 641-643 данных, каждый из которых идентифицирован-5 012057 различной задачей 631-633 во всем плане. Имена файлов у файлов 641-643 данных неизвестны, когда план выполняется впервые. Вернее, имена файлов перечислены в текстовом файле 622, имя которого предоставлено в качестве глобального параметра LIST-FILE для всего плана. План включает в себя первую задачу 620, которая ответственна за открытие файла 622 LISTFILE и считывание его содержимого. Эта задача 620 открывает файл и считывает содержимое, определяя количество перечисленных отдельных файлов данных. В этом примере файл 622 списка содержит три имени файлов: FNAME1.DAT, FNAME2.DAT и FNAME3.DAT. Задача извлекает перечисленные файлы 641643, например, с использованием протокола передачи файлов по сети передачи данных. Задача 1 присваивает значения некоторому количеству динамических параметров, NUMINPUT, и с DATAFILE1 по DATAFILE3, и пересылает эту информацию присваивания в диспетчер 110 задач, который записывает ее в надлежащий контекст 610 (например, глобальный контекст или динамический контекст, ассоциативно связанный с задачей 1, в зависимости от используемого подхода к определению области действия). В этом первом варианте примера первоначально заданный план имеет ровно три экземпляра задач для обработки входных файлов, задачи 2-4 (631-633). Каждая задача извлекает имя своего соответствующего входного файла данных, посредством указания ссылкой динамического параметра, присваиваемого задачей 1. Вариант этого примера использует преимущество задач, являющихся способными модифицировать спецификацию плана. Первоначально план содержит только одну задачу, задачу 1 (620) GET NAMES(получить имена). После того как задача GET NAMES определила, что есть три файла данных для обработки, задача осуществляет использование служб диспетчера 110 задач для создания трех задач 631633 обработки и присоединения их к себе (задача 1). Затем после того, как задача 1 завершается, диспетчер 110 задач выполняет вновь созданные задачи 631-633, как описано выше. В качестве альтернативы в еще одном варианте этого примера диспетчер 110 задач может использовать шаблон плана, содержащий модифицируемое количество задач. Со ссылкой на фиг. 6 В первоначально план содержит две задачи, задачу 1 (620) GET NAMES и задачу 2 (650) PROCESS. После того как задача GET NAMES определила, что есть три файла данных для обработки, задача PROCESS (обработать) создает подплан с использованием шаблона плана, содержащий модифицируемое количество задач. Задача PROCESS указывает ссылкой динамический параметр NUMINPUT для создания подплана с тремя (неупорядоченными) задачами 631-633 обработки. Диспетчер 110 задач выполняет задачи 631-633 во вновь созданном подплане, как описано выше. Подход определения области действия параметра, описанный выше, может быть реализован с использованием программного обеспечения для выполнения на компьютере. Например, программное обеспечение формирует процедуры в одной или более компьютерных программах, которые выполняются на одной или более запрограммированных или программируемых компьютерных системах (которые могут принадлежать различным архитектурам, такие как распределенная, клиент-серверная или сетевая), каждая из которых включает в себя по меньшей мере один процессор, по меньшей мере одну систему хранения данных (в том числе, энергозависимую и энергонезависимую память и/или запоминающее элементы), по меньшей мере одно устройство ввода или порт и по меньшей мере одно устройство вывода или порт. Программное обеспечение может формировать один или более модулей более масштабной программы, например, которая предоставляет другие службы, имеющие отношение к проектированию и конфигурированию графов вычислений. Программное обеспечение может предоставляться на носителе, таком как CD-ROM (постоянное запоминающее устройство на компакт-диске), считываемом программируемым компьютером общего применения или специального назначения, или доставляться (закодированным в распространяющийся сигнал) через сеть в компьютер, где оно выполняется. Все функции могут выполняться на компьютере специального назначения или с использованием аппаратных средств специального назначения, таких как сопроцессоры. Программное обеспечение может быть реализовано распределенным образом, при котором разные части вычисления, заданного программным обеспечением, выполняются разными компьютерами. Каждая такая компьютерная программа предпочтительно хранится или загружается на запоминающие носители или устройство (например, твердотельную память или носители, либо магнитные или оптические носители), дающие возможность считывания программируемым компьютером общего применения или специального назначения, для конфигурирования и управления компьютером, когда запоминающие носители считываются компьютерной системой ради выполнения процедур, описанных в материалах настоящей заявки. Система по изобретению также может рассматриваться реализованной в виде машиночитаемого запоминающего носителя, сконфигурированного компьютерной программой, где запоминающий носитель, сконфигурированный таким образом, побуждает компьютерную систему работать специальным или предопределенным образом для выполнения функций, описанных в материалах настоящей заявки. Должно быть понятно, что вышеизложенное описание предназначено для иллюстрации, а не ограничения, объема изобретения, который определен объемом прилагаемой формулы изобретения. Другие варианты осуществления находятся в пределах объема последующей формулы изобретения.-6 012057 ФОРМУЛА ИЗОБРЕТЕНИЯ 1. Выполняемый при помощи компьютера способ связывания значений параметров, доступных для задач, выполняемых на одном или более компьютерах, при котором порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, причем способ включает в себя этапы, на которых определяют множество задач согласно графу зависимостей; поддерживают множество контекстов параметров, каждый из которых ассоциативно связан с разной областью действия задач; привязывают значение к первому параметру, используемому в первой из задач, в том числе идентифицируют первый из контекстов параметра согласно графу зависимостей и извлекают значение для параметра из идентифицированного контекста; налагают ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров; и выполняют задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 2. Способ по п.1, дополнительно содержащий следующие этапы: определяют значение для присваивания первому параметру во время выполнения второй из задач и сохраняют значение для первого параметра в первом контексте параметра. 3. Способ по п.2, в котором первый контекст параметра ассоциативно связан со второй из задач. 4. Способ по п.1, в котором граф зависимостей задает порядок выполнения для задач и при этом этап, на котором идентифицируют первый из контекстов, содержит идентификацию задач, которые обязательно выполняются до первой из задач. 5. Способ по п.4, в котором этап, на котором идентифицируют первый из контекстов, включает в себя идентификацию задач, которые присваивают значение первому параметру. 6. Способ по п.5, в котором этап, на котором идентифицируют задачи, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей. 7. Выполняемый при помощи компьютера способ проверки доступа к параметру для задач, выполняемых на одном или более компьютерах, при котором порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, причем способ включает в себя этапы, на которых принимают спецификацию ограничения упорядочивания для множества задач, где, по меньшей мере, некоторые из задач не упорядочены относительно друг друга; для каждого из одного или более параметров идентифицируют задачи, которые осуществляют доступ к этим параметрам; проверяют идентифицированные задачи на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания; налагают ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и выполняют задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 8. Способ по п.7, в котором этап, на котором принимают спецификацию ограничения упорядочивания, включает в себя приемку спецификации графа зависимостей. 9. Способ по п.7, в котором этап, на котором идентифицируют задачи, которые осуществляют доступ к параметру, включает в себя обработку объявлений для задач. 10. Способ по п.7, в котором этап, на котором осуществляют проверку на потенциальный конфликт при доступе к параметрам, включает в себя определения областей действия экземпляров одного из параметров, и того, включает ли в себя множество областей действия задачу, которая указывает ссылкой на этот параметр. 11. Способ по п.10, дополнительно включающий в себя идентификацию указываемого ссылкой параметра в качестве неоднозначного параметра, если множество областей действия включают в себя задачу, которая указывает ссылкой этот параметр. 12. Машиночитаемый носитель, хранящий программное обеспечение, включающее в себя инструкции для предписывания компьютерной системе выполнять выполняемый при помощи компьютера способ связывания значений параметров, доступных для задач, выполняемых на одном или более компьютерах, причем порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, причем способ включает в себя этапы,на которых-7 012057 определяют множество задач согласно графу зависимостей; поддерживают множество контекстов параметров, каждый из которых ассоциативно связан с различной областью действия задач; привязывают значение к первому параметру, используемому в первой из задач, в том числе, идентифицировать первый из контекстов параметра согласно графу зависимостей и извлекать значение для параметра из идентифицированного контекста; налагают ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и выполняют задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 13. Носитель по п.12, дополнительно включающий в себя инструкции для предписывания компьютерной системе определять значение для присваивания первому параметру во время выполнения второй из задач и сохранять значение для первого параметра в первом контексте параметра. 14. Носитель по п.13, в котором первый контекст параметра ассоциативно связан со второй из задач. 15. Носитель по п.12, в котором граф зависимостей задает порядок выполнения для задач и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач. 16. Носитель по п.15, в котором идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру. 17. Носитель по п.16, в котором идентификация задач, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей. 18. Система управления задачами, позволяющая выполнять выполняемый при помощи компьютера способ связывания значений параметров, доступных для задач, выполняемых на одном или более компьютерах, причем порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, включающая в себя модуль определения диспетчера задач, сконфигурированный для определения множества задач согласно графу зависимостей,модуль динамического контекста диспетчера задач, имеющий область памяти для поддержания множества контекстов параметра, каждый из которых ассоциативно связан с различной областью действия задач; модуль связывания параметра диспетчера задач, имеющий доступ к контекстам параметра, сконфигурированный для связывания значения с первым параметром, используемым в первой из задач, в том числе выполнения идентификации первого из контекстов параметра согласно графу зависимостей и извлечения значения для параметра из идентифицированного контекста; модуль наложения ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и модуль выполнения задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 19. Система по п.18, в которой модуль связывания параметра диспетчера задач дополнительно сконфигурирован для определения значения для присваивания первому параметру во время выполнения второй из задач и сохранения значения для первого параметра в первом контексте параметра. 20. Система по п.19, в которой первый контекст параметра ассоциативно связан со второй из задач. 21. Система по п.18, в которой граф зависимостей задает порядок выполнения для задач, и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач. 22. Система по п.21, в которой идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру. 23. Система по п.22, в которой идентификация задач, которые присваивает значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей. 24. Система управления задачами, позволяющая выполнять выполняемый при помощи компьютера способ связывания значений параметров, доступных для задач, выполняемых на одном или более компьютерах, причем порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, включающая в себя средство для определения множества задач согласно графу зависимостей; средство для поддержания множества контекстов параметра, каждый из которых ассоциативно связан с разной областью действия задач;-8 012057 средство для связывания значения с первым параметром, используемым в первой из задач, в том числе идентификации первого из контекстов параметра согласно графу зависимостей и извлечения значения для параметра из идентифицированного контекста; средство наложения ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и средство выполнения задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 25. Система по п.24, дополнительно включающая в себя средство для определения значения для присваивания первому параметру во время выполнения второй из задач и средство для сохранения значения для первого параметра в первом контексте параметра. 26. Система по п.25, в которой первый контекст параметра ассоциативно связан со второй из задач. 27. Система по п.24, в которой граф зависимостей задает порядок выполнения для задач, и при этом идентификация первого из контекстов включает в себя идентификацию задач, которые обязательно выполняются до первой из задач. 28. Система по п.27, в которой идентификация первого из контекстов включает в себя идентификацию задач, которые присваивают значение первому параметру. 29. Система по п.28, в которой идентификация задач, которые присваивают значение первому параметру, включает в себя идентификацию задачи, которая выполняется самой последней согласно графу зависимостей. 30. Машиночитаемый носитель, хранящий программное обеспечение, включающее в себя инструкции для предписывания компьютерной системе выполнять выполняемый при помощи компьютера способ проверки доступа к параметру для задач, выполняемых на одном или более компьютерах, причем порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, причем способ включает в себя этапы, на которых принимают спецификацию ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга; для каждого из одного или более параметров идентифицируют задачи, которые осуществляют доступ к этим параметрам; проверяют идентифицированные задачи на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания; налагают ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и выполняют задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 31. Носитель по п.30, в котором приемка спецификации ограничения упорядочивания включает в себя приемку спецификации графа зависимостей. 32. Носитель по п.30, в котором идентификация задач, которые осуществляют доступ к параметру,включает в себя обработку объявлений для задач. 33. Носитель по п.30, в котором проверка на потенциальный конфликт в доступе к параметрам включает в себя определение областей действия экземпляров одного из параметров, и того, включает ли в себя множество областей действия задачу, которая указывает ссылкой этот параметр. 34. Носитель по п.33, дополнительно включающий в себя инструкции для предписывания компьютерной системе идентифицировать указываемый ссылкой параметр как неоднозначный параметр, если множество областей действия включает в себя задачу, которая указывает ссылкой этот параметр. 35. Система управления задачами, позволяющая выполнять выполняемый при помощи компьютера способ проверки доступа к параметру для задач, выполняемых на одном или более компьютерах, при котором порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, включающая в себя модуль определения диспетчера задач, выполненный с возможностью принятия спецификации ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга; модуль статической проверки диспетчера задач, имеющий доступ к спецификации, выполненный с возможностью для каждого из одного или более параметров, идентифицировать задачи, которые осуществляют доступ к этим параметрам; и проверять идентифицированные задачи на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания; модуль наложения ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров; и модуль выполнения задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах.-9 012057 36. Система по п.35, в которой принятие спецификации ограничения упорядочивания включает в себя принятие спецификации графа зависимостей. 37. Система по п.35, в которой идентификация задач, которые осуществляют доступ к параметру,включает в себя обработку объявлений для задач. 38. Система по п.35, в которой проверка на потенциальный конфликт при доступе к параметрам включает в себя определение областей действия экземпляров одного из параметров и того, включает ли в себя множество областей действия задачу, которая указывает ссылкой этот параметр. 39. Система по п.38, в которой модуль статической проверки диспетчера задач дополнительно выполнен с возможностью идентификации указываемого ссылкой параметра в качестве неоднозначного параметра, если множество областей действия включают в себя задачу, которая указывает ссылкой упомянутый параметр. 40. Система управления задачами, позволяющая выполнять выполняемый при помощи компьютера способ проверки доступа к параметру для задач, выполняемых на одном или более компьютерах, при котором порядок выполнения задач на одном или более компьютерах управляется в соответствии с ограничениями зависимостей, которые определяют то, какая из задач должна быть завершена прежде остальных задач, выполняемых на одном или более компьютерах, включающая в себя средство для принятия спецификации ограничения упорядочивания для множества задач, в которой, по меньшей мере, некоторые из задач не упорядочены относительно друг друга; средство для идентификации, для каждого из одного или более параметров, задач, которые осуществляют доступ к этим параметрам; средство для проверки идентифицированных задач на потенциальный конфликт при доступе к параметрам согласно спецификации ограничения упорядочивания; средство наложения ограничения на порядок выполнения задач на одном или более компьютерах в соответствии с привязанными значениями для каждого из динамически присваиваемых параметров и средство выполнения задачи с ограниченным порядком на одном или более компьютерах, управляя таким образом последовательностью выполнения таких задач на одном или более компьютерах. 41. Система по п.40, в которой принятие спецификации ограничения упорядочивания включает в себя принятие спецификации графа зависимостей. 42. Система по п.40, в которой идентификация задач, которые осуществляют доступ к параметру,включает в себя обработку объявлений для задач. 43. Система по п.40, в которой проверка на потенциальный конфликт при доступе к параметрам включает в себя определение области действия экземпляров одного из параметров и того, включает ли в себя множество областей действия задачу, которая указывает ссылкой упомянутый параметр. 44. Система по п.43, дополнительно включающая в себя средство для идентификации указываемого ссылкой параметра в качестве неоднозначного параметра, если множество областей действия включает в себя задачу, которая указывает ссылкой упомянутый параметр.

МПК / Метки

МПК: G06F 9/46

Метки: определение, зависимостей, графа, области, действия, параметра

Код ссылки

<a href="https://eas.patents.su/15-12057-opredelenie-oblasti-dejjstviya-parametra-grafa-zavisimostejj.html" rel="bookmark" title="База патентов Евразийского Союза">Определение области действия параметра графа зависимостей</a>

Похожие патенты