RU2445688C2 - Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса - Google Patents
Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса Download PDFInfo
- Publication number
- RU2445688C2 RU2445688C2 RU2008126237/08A RU2008126237A RU2445688C2 RU 2445688 C2 RU2445688 C2 RU 2445688C2 RU 2008126237/08 A RU2008126237/08 A RU 2008126237/08A RU 2008126237 A RU2008126237 A RU 2008126237A RU 2445688 C2 RU2445688 C2 RU 2445688C2
- Authority
- RU
- Russia
- Prior art keywords
- workflow
- computer
- host
- suspension
- implemented method
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Изобретение относится к средствам осуществления рабочего процесса. Технический результат заключается в облегчении работы пользователя с рабочим процессом. Моделируют точки приостановки в рабочем процессе, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что позволяют пользователю динамически изменять рабочий процесс во время его выполнения. Сохраняют состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса. Осуществляют обмен данными между хостом и рабочим процессом во время приостановки рабочего процесса. 3 н. и 17 з.п. ф-лы, 11 ил.
Description
Уровень техники
Рабочий процесс, как правило, является потоком информации и управления в таких организациях. Бизнес непрерывно старается определить, задокументировать и упорядочить такие процессы, чтобы эффективно их выполнять. В бизнес-окружении эти процессы включают в себя продажи и обработку заказов, задачи закупок, контроль и управление материально-производственными запасами, изготовление и контроль производства, отгрузку и прием, кредиторскую задолженность и т.п.
Вычислительные системы и ассоциативно связанное программное обеспечение теперь предоставляют инструментальные средства, с помощью которых коммерческие и другие организации могут усовершенствовать свой рабочий процесс. Программные инструментальные средства могут использоваться, чтобы моделировать рабочие процессы или планировать и идентифицировать "узкие места" и возможные усовершенствования. Кроме того, когда процесс затрагивает обмен данными между людьми, отделами, заводами или даже между отдельными компаниями, вычислительные системы и сети могут использоваться, чтобы осуществить эти обмены. Такие системы и программные инструментальные средства дополнительно способны осуществлять широкомасштабные вычисления и другую обработку данных и информации, которые в типичном варианте ассоциативно связаны с деловой информацией.
Соответственно, управление рабочим процессом включает в себя эффективное управление потоком информации и контроль в бизнес-процессах организации, в которых автоматизация такой обработки информации должна привести ко многим эффективным улучшениям в современном деловом мире. Более того, такая автоматизация управления рабочим процессом теперь позволяет деловым и другим организациям дополнительно улучшить производительность, выполняя операции рабочего процесса в вычислительных системах, включающих в себя глобальные вычислительные сети, такие как Интернет.
Типичное приложение на основе рабочего процесса часто требует, чтобы было удовлетворено множество условий. Например, одним таким условием является возможность принимать решения на основе бизнес-правил. Это может включать в себя простые правила (например, типа решения да-нет на основе результата проверки кредитоспособности), и более сложные правила (например, потенциально большой набор, который должен быть оценен, чтобы принять первоначальное подтверждающее решение). Другим требованием является связи с другим программным обеспечением и другими системами вне границ рабочего процесса. Например, первоначальный запрос может быть принят от одной части приложения, в то время как некоторые аспекты (например, контактирование с кредитной службой) могут требовать связи с помощью других веб-служб или технологий. Дополнительным условием, которое должно быть удовлетворено, является правильное взаимодействие рабочего процесса с пользователями. Например, рабочий процесс должен в типичном варианте допускать отображение самого пользовательского интерфейса или взаимодействие с человеком через другое программное обеспечение. Более того, способность сохранять состояние в течение продолжительности рабочего процесса является другим условием, которое необходимо удовлетворить. Соответственно, создание и выполнение рабочего процесса в программном обеспечении ставит уникальные сложные задачи.
Например, некоторые бизнес-процессы могут занимать часы, дни или недели до завершения, и требуется сохранение информации о текущем состоянии рабочего процесса в течение такой продолжительности времени. Более того, такой вид продолжительного рабочего процесса также будет в типичном варианте связываться с другим программным обеспечением неблокирующим способом, а асинхронная связь может вызвать трудности. В то же время, тогда как моделирование фиксированных взаимодействий между программным обеспечением относительно простое, клиенты имеют склонность непрерывно требовать дополнительной гибкости, такой как способность изменять бизнес-процесс на лету. Управление разнообразными приложениями может дополнительно добавить сложностей, затрагиваемых в создании и управлении рабочим процессом.
Многие приложения для инструментальных средств рабочего процесса являются внутренними по отношению к бизнесу или организации. С приходом связанных в сеть компьютеров, имеющих модемы или другой тип линий связи, вычислительные системы в удаленных местоположениях теперь могут легко связываться друг с другом. Такая улучшенная связь позволяет приложениям рабочего процесса вычислительной системы использоваться между удаленными объектами в организации. Пример будет включать в себя передачу заказа клиента из штаб-квартиры фирмы удаленному периферийному офису продаж для верификации соответствующим менеджером по продажам и возврат результата верификации в штаб-квартиру. Приложения рабочего процесса могут также быть отдельной служебной программой в обработке деловых операций между разными компаниями. В типичном применении две компании, имеющие взаимоотношение покупатель-продавец, могут пожелать автоматизировать формирование и обработку заказов на покупку, отправок изделий, выписку счетов и инкассаций.
Например, вокруг рабочего процесса может быть построено приложение, направленное на конкретную проблему, такую как управление связями с клиентами (CRM) или на конкретный вертикальный рынок, такой как финансовые операции. Такой вид приложения обычно выполняет ряд разных бизнес-процессов. Построение логики, которая управляет такими процессами на общей базовой архитектуре, такой как Windows Workflow Foundation (Базовая архитектура рабочего процесса Windows), может сделать приложение более быстрым в построении, более быстрым в изменении и более легким в настройке. Кроме того, автоматизация таких процессов может иметь в результате значительные улучшения эффективности, которые в иных случаях невозможны. Однако такое применение между компаниями технологии рабочего процесса требует совместной работы компаний и правильного согласования и правильной неизменяемой реализации служб существующих вычислительных систем и приложений отдельной компании.
До сих пор разрабатывались инструментальные средства приложения рабочего процесса, которые предоставляют некоторую возможность автоматизации рабочего процесса посредством определения расписаний рабочих процессов. Например, покупатель может захотеть передать ряд заказов на покупку вместе со списком покупаемых продуктов продавцу, а продавец может захотеть ответить подтверждением заказа и ожидаемой датой отгрузки. Такой тип сделки может затрагивать обычную покупку клиентом продуктов у розничного продавца или, альтернативно, две большие корпорации, которые ведут регулярные деловые операции. Данные, ассоциативно связанные с заказом и подтверждением, могут быть относительно небольшими, и время передачи данных может быть порядка долей секунды. Приложение планирования рабочего процесса, работающее в вычислительной системе, может выделять системные ресурсы для транзакции во время ее состояния неопределенности, которое является обычно очень коротким.
Однако моделирование взаимодействия пользователей в рабочем процессе вызывает трудности. В частности, когда привлекаются люди, рабочий процесс может занимать длительное время для завершения, и построение масштабируемых систем требует прекращения работы рабочего процесса для взаимодействия с пользователем. Более того, управление пользовательским интерфейсом (UI) основано на состоянии рабочего процесса, невзирая на то, какой вид приложения может дополнительно увеличить затрагиваемые сложности.
Следовательно, существует необходимость преодолеть вышеупомянутые примерные недостатки, ассоциативно связанные с традиционными системами и устройствами.
Сущность изобретения
Последующее представляет упрощенное краткое изложение, для того чтобы обеспечить базовое понимание некоторых аспектов заявленного предмета изобретения. Это краткое изложение не является исчерпывающим общим представлением. Оно не имеет намерения идентифицировать ключевые/критические составные части или устанавливать границы объема заявленного предмета изобретения. Его единственной целью является представить в упрощенном виде некоторые концепции в качестве вступления к более подробному описанию, которое представлено позже.
Предмет изобретения предоставляет системы и способы, которые реализуют интерактивность/пользовательский ввод как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс через применение компонента интерактивного действия. Такой компонент интерактивного действия моделирует опорные точки (точки приостановки) в определении рабочего процесса и является агностическим по отношению к типу приложения, чтобы заключать в себе приложения веб-служб, консоль, рабочий стол, веб-службы и т.п. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и приложением хост-системы, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
В родственном аспекте компонент интерактивного действия и опорные точки могут относиться к смене пользователей рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, выводя информацию, относящуюся к пользователю рабочего процесса. Соответственно, обеспечивается интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь ведущему приложению. Кроме того, ведущее приложение может изменять внешний вид рабочего процесса на основе состояния приостановки. Тип рабочего процесса может быть определен (например, программным образом или через визуальное инструментальное средство), и приложение хост-системы может подписаться на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться и основываться на информации в таком событии (например, информации о текущем пользователе рабочего процесса), внешний вид UI может изменяться. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, строго типовой рабочий процесс).
Например, в контексте отчета о расходах первоначальный пользователь может инициировать рабочий процесс отчета о расходах, а утверждающий пользователь может затем утвердить такой отчет о расходах. Таким образом, процесс может быть абстрагирован в класс рабочего процесса, в котором процесс и класс рабочего процесса работают до точки, когда должен быть задействован утверждающий. В такой точке взаимодействие с первоначальным пользователем останавливается. Утверждающий может затем запустить приложение (например, с другой машины), чтобы запустить рабочий процесс и возобновить экземпляр рабочего процесса с помощью действия, определенного утверждающим (например, утвердить, отклонить и т.п.). Таким образом, данные могут передаваться в и из экземпляра рабочего процесса в точки приостановки в течение времени жизни экземпляра рабочего процесса.
Согласно методологии предмета изобретения действие в рабочем процессе может быть проверено с целью удостовериться, означает ли оно интерактивное действие. Если так, рабочий процесс приостанавливается. Впоследствии событие приостановки вызывается и сообщается хост-системе. По существу, пока экземпляр рабочего процесса приостановлен, данные получаются от хоста и передаются в и/или из рабочего процесса. Дополнительно, если данные, полученные от хоста, указывают событие возобновления, тогда рабочий процесс может быть возобновлен. Рабочий процесс может быть загружен на основе идентификации экземпляра рабочего процесса (например, через компонент поиска). Событие возобновления может быть принято рабочим процессом и выполнено так, чтобы найти следующее действие в процессе.
Для достижения вышеприведенных и связанных целей некоторые иллюстративные аспекты заявленного предмета изобретения описаны в материалах настоящей заявки со ссылками на последующее описание и приложенные чертежи. Эти аспекты являются указывающими на различные направления, в которых предмет изобретения может быть осуществлен на практике, все из которых подразумеваются находящимися в пределах объема заявленного предмета изобретения. Другие преимущества и новые признаки могут стать очевидными из последующего подробного описания при рассмотрении в соединении с чертежами.
Краткое описание чертежей
Фиг.1 иллюстрирует примерную системную схему хост-приложения, которое взаимодействует с рабочим процессом через компонент интерактивного действия.
Фиг.2 иллюстрирует выполнение рабочего процесса с множеством точек приостановки, которые требуют взаимодействия с пользователем и/или хостом.
Фиг.3 и 4 иллюстрируют отдельную блок-схему для отчета о расходах с точками приостановки согласно примерному аспекту предмета изобретения.
Фиг.5 иллюстрирует примерный графический интерфейс, предназначенный для представления различных действий, выполняемых во время выполнения рабочего процесса.
Фиг.6 иллюстрирует обмен данными между экземпляром рабочего процесса и хост-приложением в соответствии с аспектом предмета изобретения.
Фиг.7-9 иллюстрируют примерную методологию потока выполнения рабочего процесса в соответствии с аспектом предмета изобретения.
Фиг.10 иллюстрирует типичное окружение для реализации различных аспектов предмета изобретения.
Фиг.11 является схематической блок-схемой дополнительного вычислительного окружения, которое может применяться, чтобы осуществить рабочий процесс с помощью компонента интерактивного действия предмета изобретения.
Подробное описание
Различные аспекты рассматриваемого изобретения описаны далее со ссылкой на приложенные чертежи, на всем протяжении которых одинаковые номера указывают ссылкой на идентичные или соответствующие составные части. Должно быть понятно, однако, что чертежи и подробное описание, к ним относящееся, не имеют намерением ограничивать заявленный предмет изобретения конкретным раскрытым образцом. Скорее, намерение состоит в том, чтобы покрыть все модификации, эквиваленты и варианты, попадающие в пределы сущности и объема заявленного предмета изобретения.
В качестве используемых в этой заявке термины "компонент", "система", "служба" и тому подобные имеют намерение указывать ссылкой на имеющий отношение к компьютеру объект, любое из аппаратных средств, сочетания аппаратных средств и программного обеспечения, программного обеспечения, или программного обеспечения при исполнении. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой или компьютером. В качестве иллюстрации как приложение, работающее на компьютере, так и компьютер могут быть компонентом. Один или более компонентов могут храниться внутри процесса и/или потока исполнения, и компонент может быть локализован на вычислительной машине или распределен между двумя и более вычислительными машинами.
Слово «примерный» используется в материалах настоящей заявки, чтобы означать служащий в качестве примера, экземпляра или иллюстрации. Любой аспект или конструкция, описанные в материалах настоящей заявки как «примерные», не обязательно должны быть истолкованы в качестве предпочтительных или преимущественных над другими аспектами или конструкциями.
Дополнительно, раскрытый предмет изобретения может быть реализован в виде системы, способа, устройства или изделия производства с использованием стандартных технологий программирования и/или проектирования для производства программного обеспечения, микропрограммного обеспечения, аппаратных средств, или любого их сочетания, чтобы управлять основанным на компьютере или процессоре устройством для реализации аспектов, детализированных в материалах настоящей заявки. Термин "компьютерная программа" в качестве используемого в материалах настоящей заявки, имеет намерение охватывать компьютерную программу, доступную из любого машиночитаемого устройства, несущей или носителей. Например, машиночитаемые носители могут заключать в себе, но не ограничиваться этим, магнитные устройства хранения (например, жесткий диск, гибкий магнитный диск, магнитные полосы…), оптические диски (к примеру, компакт-диск (CD), цифровой многофункциональный диск (DVD)…), смарт-карты и устройства флэш-памяти (к примеру, карта, флэш-карта…). Дополнительно должно быть принято во внимание, что сигнал несущей волны может быть использован, чтобы переносить машиночитаемые электронные данные, такие как используемые при передаче и приеме электронной почты или при осуществлении доступа к сети, такой как Интернет или локальная сеть (LAN). Конечно, специалисты в данной области техники будут отдавать себе отчет, что многие модификации могут быть сделаны по отношению к этой конфигурации, не выходя из объема и сущности заявленного предмета изобретения.
Обращаясь сначала к фиг.1, иллюстрируется блок-схема системы 101, которая реализует интерактивность как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. Система 101 применяет компонент 140 интерактивного действия, который моделирует точки приостановки в определении рабочего процесса и является агностическим по отношению к типу приложения так, чтобы заключать в себе приложения веб-служб, консоль, рабочий стол, веб-службы и т.п.
Кроме того, система 101 включает в себя хост-приложение 120, которое взаимодействует с системой 100 рабочего процесса, причем рабочий процесс может моделировать человеческий или системный процесс, который определен как карта действий. Действие является этапом в рабочем процессе и является элементом выполнения, повторного использования и состава рабочего процесса. Карта действий выражает правила, действия, состояния и их связь. В типичном варианте, рабочий процесс работает через механизм/рабочую среду 110 рабочего процесса, и рабочая среда рабочего процесса требует, чтобы внешнее приложение размещало ее согласно нескольким правилам, как изображено посредством хоста 120. Обмен данными между хостом 120 и системой 100 рабочего процесса может принадлежать к и/или описывать деловые документы и другие объекты, которые применяются для или которые облегчают деятельность рабочего процесса, или поток между локальными переменными рабочего процесса, которые используются, чтобы передавать данные с помощью хост-приложения 120.
Например, хост-приложение 120 может взаимодействовать с поставщиком 115 рабочего процесса, ассоциативно связанным с системой 100 рабочего процесса, через базовый класс 117 поставщика рабочего процесса и/или реализацию, ассоциативно связанную с ним. Кроме того, хост 120 может отвечать за ряд дополнительных и критических аспектов, таких как создание одного или более рабочих процессов, размещение вызовов между различными компонентами, как необходимо для правильного выполнения рабочего процесса, и установку механизмов изоляции. Более того, хост 120 может создать множество процессов, чтобы получить преимущество множество центральных процессоров (CPU) в машине по причинам масштабируемости или запустить большое число экземпляров рабочего процесса на ферме машин. Хост 120 может дополнительно управлять политиками, чтобы применять их, когда рабочий процесс подвергается длительному ожиданию, прослушивается на предмет конкретных событий и сообщает их пользователю или администратору, устанавливает время ожидания и повторения для каждого рабочего процесса, показывает счетчики производительности и записывает информацию журнала в целях отладки и диагностики.
Рабочий процесс, ассоциативно связанный с системой 101 рабочего процесса, может связываться с внешним миром через службу, установленную конкретно для этой цели, при этом такая служба может вызывать события, которые будут захватывать управляемые событием активности внутри рабочего процесса. Также служба раскрывает открытые (публичные) способы (методы) рабочего процесса, чтобы вызывать и отправлять данные к хосту.
Как иллюстрировано на фиг.1, компонент 140 интерактивного действия может реализовывать интерактивность как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. Компонент 140 интерактивного действия моделирует точки приостановки в определении рабочего процесса. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут предоставляться в рабочий процесс во время различных перерывов интерактивности, которые требуют пользовательского ввода, допуская управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
Фиг.2 иллюстрирует выполнение рабочего процесса 200 с множеством точек приостановки, которые требуют взаимодействия с пользователем. Точки 212-215 приостановки (1-n, где n является целым) могут быть смоделированы компонентом интерактивного действия, чтобы соответствовать примерам во время исполнения рабочего процесса, в котором рабочий процесс может быть приостановлен для обмена данными с хост-приложением, например. Кроме того, такие точки 212-215 приостановки могут относиться к смене пользователей рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, информацией, относящейся к пользователю рабочего процесса.
Рабочий процесс 200 может быть определен в форме расписания (планирования) выполнения в вычислительной системе. Расписание может включать в себя набор действий, имеющих определенный параллелизм, зависимость и атрибуты операций, ассоциативно связанных с ними. Каждое расписание имеет ассоциативно связанное состояние расписания, которое включает в себя определение расписания, текущее местоположение в расписании, также как и активные или живые данные и объекты, ассоциативно связанные с расписанием. В расписании границы транзакции могут существовать на основе группировок действий. В этом отношении операция может заключать в себе отдельные действия или операции или их группы. Действия могут быть сгруппированы в последовательности, которые выполняются последовательным образом, также как и в задачи, в которых действия выполняются одновременно, например. Следовательно, на основе группировок могут быть разрешены атрибуты параллельности для действий и операций в расписании.
Действия соответствуют работе, которая должна быть проделана в рамках расписания, и являются основным элементом, составляющим его. Такие действия могут включать в себя атрибуты, относящиеся ко времени ожидания, параллелизму и компенсации, либо альтернативно, либо в комбинации, в контексте расписания. Например, действие может отправлять внешне созданные стимулы в расписание, таким образом предоставляя возможность внешним программам улучшать состояние расписания. Эти стимулы могут быть событием, сообщением или вызовом защищенного компонента. В случае события запущенное расписание действует как абонент. Конкретные экземпляры расписания смогут выполнить действие, такое как событие, сообщение или вызов защищенного компонента.
Кроме того, действия могут управлять вызовами метода в отношении компонентов. Такие действия в типичном варианте создают компонент (например, создают экземпляр компонента), вызывают метод в отношении экземпляра и впоследствии освобождают ссылку на экземпляр, если он не используется позднее в расписании. Когда приложение выполняет расписание, может быть создан экземпляр механизма планировщика, и загружаются расписание и ассоциативно связанная привязка. Действия, кроме того, могут включать в себя информацию об ожидаемом или фактическом времени окончания или времени задержки. Такая информация может быть осуществлена в определении расписания, когда определяется расписание, и/или может быть предоставлена динамически в рабочей среде на основе исторической или прогнозной информации о времени задержки действия.
Точки 212-215 приостановки могут также указывать моменты "осушения" в рабочем процессе. Так как рабочий процесс может работать в течение часов, дней или недель, рабочая среда 200 может автоматически завершать работающий рабочий процесс и непрерывно сохранять его состояние в точках 212-215 приостановки, когда он был неактивным в течение периода времени. "Осушение", как правило, ссылается на метод выборочного сохранения состояния расписания на носителе хранения на основе рассмотрения времени ожидания. Например, когда действие в расписании предполагает ожидать в течение пяти часов входящее сообщение, состояние расписания может быть перенесено ("высушено") на диск до тех пор, пока не будет принято сообщение. В такой ситуации система может выполнять другие задачи, пока сообщение не будет принято, таким образом, значительно улучшая производительность работы и эффективность системы. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы позволить управляемый/синхронный обмен данным между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
Следующее предоставляет примерное определение компонента интерактивного действия, чтобы приостановить и/или возобновить экземпляр рабочего процесса в точках 212-215 приостановки:
Как указано, класс активности может применять свою собственную управляющую программу в целях блокирования выполнения рабочего процесса, вызывая метод Suspend в отношении службы Interactivity Service. Так можно инициировать распространение InteractionIdentifier, ассоциативно связанного с компонентом Interactive Activity до обработчика в хосте.
Соответственно, может быть предоставлен интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь к хост-приложением. Хост-приложение может изменять внешнее представление рабочего процесса на основе состояния приостановки. Тип рабочего процесса может быть определен (например, программным образом или через визуальное инструментальное средство), и хост-приложение подписывается на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться и основываться на информации в таком событии (например, информации о текущем пользователе рабочего процесса), внешнее представление вид UI может изменяться. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, процесс со строгим определением типов).
Фиг.3 и 4 иллюстрируют отдельные блок-схемы для отчета о расходах с точками приостановки, которые разрешают пользовательский ввод и ассоциативно связанное взаимодействие в течение различных перерывов интерактивности, которые требуют пользовательского ввода, для того чтобы разрешить управляемый и/или синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Блок-схемы 300 и 400 иллюстрируют применение действия SwitchUser и компонента InteractiveActivity в качестве точек приостановки в общем рабочем процессе Expense Reporting.
По существу и в контексте отчета о расходах первоначальный пользователь может инициировать рабочий процесс составления отчета о расходах, а утверждающий пользователь может затем утвердить такой отчет о расходах. Таким образом, процесс может быть абстрагирован в класс рабочего процесса, в котором процесс и класс рабочего процесса работают до точки, когда должен быть задействован утверждающий. В такой точке взаимодействие с первоначальным пользователем останавливается. Утверждающий может затем запустить приложение (например, с другой машины), чтобы запустить рабочий процесс и возобновить экземпляр рабочего процесса с помощью действия, определенного утверждающим (например, утвердить, отклонить и т.п.). Таким образом, данные могут передаваться в и из экземпляра рабочего процесса в точки приостановки в течение времени жизни экземпляра рабочего процесса.
Как показано на фиг.3, блок 310 представляет действие SubmittedER, в котором состояние приостановки указывается для приложения хост-системы, чтобы предоставить предложенный вид отчета о расходах через графический интерфейс (например, специализированная форма), как описано подробно ниже на фиг.5. Кроме того, действие 320 в определении 300 рабочего процесса представляет экземпляр действия SwitchUser, посредством которого предмет изобретения изменяет текущую ассоциативную связь между пользователем, ответственным за выполнение следующего сегмента рабочего процесса, и экземпляром рабочего процесса. Это в типичном варианте гарантирует, что рабочий процесс может быть возобновлен действием утверждения/отклонения, выполненным в контексте выполнения только соответствующего пользователя. Подобные действия 330, 430 представляют экземпляры прерывания InteractiveActivity в соответствии с примерным аспектом предмета изобретения. Подобным образом, этап 420, который обозначен как NewER, иллюстрирует новый отчет о расходах, в котором рабочий процесс становится приостановленным, пока ожидает глобальные данные отчета о расходах, которые должны быть предоставлены в результате пользовательского ввода через графический интерфейс (например, специализированная форма на фиг.5).
Рабочий процесс характеризует приложение для предоставления и утверждения отчетов о расходах, в котором приложение содержит множественные страницы, которые организованы рабочим процессом. В дополнение к различным действиям и конструкциям потока управления рабочий процесс демонстрирует то, как ассоциативно связанный пользователь может быть заменен при предоставлении утверждающему лицу отчета о расходах, например. Как объяснено ранее, во время действия 430 FillER рабочий процесс приостанавливается, и пользователь может продолжить добавлять элементы строк в отчет о расходах. Может также быть включен запрос отображения списка доступных незавершенных рабочих процессов в приложении рабочего процесса.
Например, приложение отчета о расходах может содержать домашнюю страницу, которая перечисляет незавершенные отчеты о расходах, которые были предложены текущим пользователем, и любые отчеты о расходах, ожидающие утверждения пользователем. Такое приложение позволяет создавать новые отчеты о расходах посредством определения информации, такой как назначение отчета о расходах и т.п.; добавления отдельных элементов строк; верификации точности информации. Более того, приложение может отправлять уведомление 460 по электронной почте утверждающему лицу, когда предлагается новый отчет о расходах. Утверждающее лицо может впоследствии просмотреть отчет о расходах и либо утвердить его, либо отклонить его, по окончании чего отправляется сообщение.
Следующее предоставляет примерное определение рабочего процесса Expense Reporting, который включает в себя интерактивность в соответствии с примерным аспектом предмета изобретения.
Фиг.5 иллюстрирует примерный графический интерфейс (например, специализированную форму), которая может применяться в связи с различными аспектами предмета изобретения. Такое приложение отчетности о расходах для потока 510 страниц характеризует веб-приложение для представления и утверждения, например, отчетов о расходах. Приложение содержит множественные страницы, которые организованы рабочим процессом. В добавление к различным действиям и конструкциям потока управления рабочий процесс демонстрирует то, как ассоциативно связанный пользователь может быть заменен. Поток 510 страниц также демонстрирует запрос отображения списка доступных незавершенных (в процессе обработки) рабочих процессов в приложении рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, информации, относящейся к пользователю рабочего процесса. Соответственно, обеспечивается интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь с ведущим (хостирующим) приложением. Кроме того, ведущее приложение может изменять внешнее представление рабочего процесса на основе состояния приостановки. Как объяснено выше в контексте отчета о расходах, может быть определен тип рабочего процесса (например, программным образом или через визуальное инструментальное средство), и хост-приложение подписывается на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться, и основываясь на информации в таком событии (например, информации о текущем пользователе рабочего процесса), может изменяться внешний вид UI. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, строго типовой рабочий процесс). Также хост может приказать экземпляру рабочего процесса идентифицировать текущее интерактивное действие, которое заставило рабочий процесс приостановиться и/или прекратить работу.
Фиг.6 иллюстрирует блок-схему системы 600, которая может моделировать точки приостановки в определении рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. В типичном варианте событие приостановки может быть вызвано в экземпляре 640 рабочего процесса, который имеет компонент 610 интерактивного действия, играющего роль его части, чтобы разрешить приостановление в выполнении рабочего процесса либо в терминах времени, либо посредством смены текущего пользователя, например. Рабочий процесс может начать выполнение, выполняя содержащееся в составе StartActivity, и закончиться, когда выполняется StopActivity. В ходе выполнения каждое действие может проверяться, чтобы подтвердить, может ли оно быть выполнено. Если действие не может выполниться, рабочий процесс, например, приостанавливается. Если действие может быть выполнено, вызывается ассоциативно связанный метод Execute, и если метод возвращает успешный результат, переход соответствующего действия используется, чтобы определить следующее действие. Рабочие процессы могут приостанавливаться по ряду причин, таких как отмена выполнения действия, неспособность действия продолжать выполнение, конкретная задержка, введенная, чтобы отложить следующее выполнение, и смена пользовательского контекста, требующего, чтобы последующее действие выполнялось другим пользователем. После приостановки экземпляр рабочего процесса может быть сохранен/преобразован в последовательную форму в базу данных или эквивалентное хранилище, из которого он впоследствии может быть возвращен, преобразован из последовательной формы и возобновлен. Рабочий процесс может также вводить состояние ошибки, если выполнение действия заканчивается ошибкой, которая не обрабатывается.
Как иллюстрировано на фиг.6, компонент 610 интерактивного действия может вызвать событие через службу 620 интерактивности, которая ассоциативно связана с механизмом/рабочей средой 635 рабочего процесса. Впоследствии рабочий процесс приостанавливается, и хост 630 может обменяться данными (например, получить данные) с экземпляром 640 рабочего процесса. Хост может затем возобновить рабочий процесс через вызов службы 620 интерактивного действия, чтобы возобновить выполнение рабочего процесса. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом.
Фиг.7-9 иллюстрируют примерные блок-схемы потока выполнения рабочего процесса в соответствии с аспектом предмета изобретения. В то время как примерный способ иллюстрирован и описан в данном документе как последовательность блоков, представляющих различные события и/или действия, предмет изобретения не ограничивается иллюстрированным порядком таких блоков. Например, некоторые действия или события могут происходить в различных последовательностях и/или одновременно с другими действиями или событиями наряду с последовательностью, проиллюстрированной в данном документе, в соответствии с изобретением. Кроме того, не все проиллюстрированные блоки, события или действия могут требоваться для того, чтобы реализовать методологию в соответствии с предметом изобретения. Кроме того, следует понимать, что примерный способ и другие способы согласно изобретению могут быть осуществлены в ассоциативной связи со способом, иллюстрированным и описанным в данном документе, также как и в ассоциативной связи с другими не иллюстрированными или описанными системами и устройством. Как иллюстрировано на фиг.7, методология (способ) 700 выполняет рабочий процесс 705 и переходит к следующему действию в процессе. Выполнение рабочего процесса может проверять на этапе 710, означает ли действие, которое должно быть выполнено, конец рабочего процесса. Если так, выполнение рабочего процесса заканчивается на этапе 720. Иначе, методология переходит к действию 730, в котором действие, которое должно быть выполнено рабочим процессом, проверяется, чтобы подтвердить, является ли оно интерактивным действием. Если так, рабочий процесс приостанавливается на этапе 740, чтобы допустить взаимодействие с приложением хост-системы, как описано подробно выше. Иначе, методология возвращается к этапу 705, в котором рабочий процесс выполняет текущий этап и переходит к следующему.
Как иллюстрировано на фиг.7 и следом за приостановлением рабочего процесса на этапе 740, поток выполнения переходит к вызову события приостановки в хосте на этапе 750. По существу, как иллюстрировано на фиг.8, пока экземпляр рабочего процесса приостановлен на этапе 860, происходит обмен данными между хостом и рабочим процессом на этапе 862. По существу, данные могут быть переданы в и/или из рабочего процесса. Такое может включать в себя получение данных из экземпляра рабочего процесса на этапе 864 и/или установку данных хостом на этапе 866. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
На этапе 870 может быть выполнена верификация, чтобы проверить, являются ли данные, инициированные хостом, событием возобновления. Если нет, тогда экземпляр рабочего процесса может оставаться в приостановленном состоянии, чтобы продолжить обмен данными, и методология (способ) возвращается к действию 862. Иначе, методология переходит к фиг.9, на которой хост может отправить событие рабочему процессу, чтобы возобновить выполнение на этапе 980. Верификация может выполняться на этапе 982 относительно того, загружен ли рабочий процесс. Если так, рабочий процесс принимает событие возобновления на этапе 986 и впоследствии возвращается к действию 705, чтобы выполнить следующее действие в потоке выполнения. Иначе, и если рабочий процесс не загружен, тогда рабочий процесс загружается на основе идентификационной информации, ассоциативно связанной с ним (например, когда экземпляр рабочего процесса был создан), на этапе 984 и затем переходит к этапу 986 для возобновления рабочего процесса.
Чтобы предоставить контекст для различных аспектов заявленного предмета изобретения, фиг.10 и 11, также как и последующее обсуждение, предназначены, чтобы предоставить краткое общее описание подходящего окружения, в котором могут быть реализованы различные аспекты рассматриваемого предмета изобретения. Несмотря на то, что предмет изобретения был описан выше в общем контексте машинно-исполняемых инструкций компьютерной программы, которая работает на компьютере и/или компьютерах, специалисты в данной области техники будут принимать во внимание, что изобретение также может быть реализовано в сочетании с другими программными модулями. В целом, программные модули включают в себя процедуры, программы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи и/или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники должны принять во внимание, что изобретательные способы могут быть осуществлены на практике с другими конфигурациями компьютерных систем, в том числе однопроцессорными или многопроцессорными компьютерными системами, миниатюрными вычислительными устройствами, универсальными вычислительными машинами, а также персональными компьютерами, "карманными" вычислительными устройствами (например, персональными цифровыми секретарями (PDA), телефонами, наручными часами…), основанных на микропроцессорах или программируемой бытовой или промышленной электронной аппаратурой, и тому подобным. Проиллюстрированные аспекты также могут быть осуществлены на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть передачи данных. Тем не менее некоторые, если не все, аспекты изобретения могут быть применены на практике на автономных компьютерах. В распределенном вычислительном окружении программные модули могут размещаться и на локальных, и на удаленных устройствах хранения данных.
Со ссылками на фиг.10, типичное окружение 1010 для реализации различных аспектов заявленного предмета изобретения включает в себя компьютер 1012. Компьютер 1012 включает в себя процессор 1014, системную память 1016 и системную шину 1018. Системная шина 1018 соединяет компоненты системы, в том числе (но не только) системную память 1016 с процессором 1014. Процессор 1014 может быть любым из различных доступных процессоров. Архитектуры с двумя микропроцессорами и другие многопроцессорные архитектуры также могут быть использованы в качестве процессора 1014.
Системная шина 1018 может быть любого из нескольких типов структур(ы) шин, в том числе шины памяти или контроллера памяти, периферийной шины или внешней шины и/или локальной шины, используя любую из множества архитектур шин, в том числе (но не только) 11-битную шину, шину промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), встроенный интерфейс накопителей (IDE), локальную шину Ассоциации по стандартам в области видеоэлектроники (VLB), шину соединения периферийных компонентов (PCI), универсальную последовательную шину (USB), ускоренный графический порт (AGP), шину Международной ассоциации производителей плат памяти для персональных вычислительных машин (PCMCIA) и шину интерфейса малых вычислительных систем (SCSI).
Системная шина 1016 включает в себя энергозависимое запоминающее устройство 1020 и энергонезависимое запоминающее устройство 1022. Базовая система ввода-вывода (BIOS), содержащая основные процедуры, чтобы передавать информацию между элементами в вычислительной машине 1012, например, при загрузке, сохраняется в энергонезависимом запоминающем устройстве 1022. В качестве иллюстрации, но не ограничения, энергонезависимое запоминающее устройство 1022 может включать в себя постоянное запоминающее устройство (ROM), программируемое ПЗУ (PROM), электрически программируемое ПЗУ (EPROM), электрически стираемое ПЗУ (EEPROM) или флэш-память. Энергозависимое запоминающее устройство 1020 включает в себя оперативное запоминающее устройство (RAM), которое выступает в качестве внешней кэш-памяти. В качестве иллюстрации, но не ограничения, RAM доступно во многих формах, например синхронное ОЗУ (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM).
Компьютер 1012 также включает в себя сменный/стационарный, энергозависимый/энергонезависимый носитель хранения данных компьютера. Фиг.10 иллюстрирует, например, накопитель 1024 на дисках. Накопитель 1024 на дисках включает в себя (но не только) такие устройства, как накопитель на магнитных дисках, накопитель на гибких дисках, ленточный накопитель, накопитель Jaz, накопитель Zip, накопитель LS-100, карту флэш-памяти или карту Memory Stick. Помимо этого, накопитель 1024 на дисках может включать в себя носитель хранения данных независимо или в сочетании с другим носителем хранения, в том числе (но не только) накопитель на оптических дисках, например устройство чтения компакт-дисков (CD-ROM), накопитель на записываемых компакт-дисках (CD-R Drive), накопитель на перезаписываемых компакт-дисках (CD-RW Drive) или накопитель чтения универсальных цифровых дисков (DVD-ROM). Чтобы содействовать подключению дисковых запоминающих устройств 1024 к системной шине 1018, в типичном варианте используется съемный или несъемный интерфейс, такой как интерфейс 1026.
Следует принимать во внимание, что фиг.10 описывает программное обеспечение, которое выступает в качестве посредника между пользователями и базовыми вычислительными ресурсами, описанными в надлежащем операционном окружении 1010. Такое программное обеспечение включает в себя операционную систему 1028. Операционная система 1028, которая может быть сохранена на диске 1024, служит для того, чтобы контролировать и распределять ресурсы вычислительной системы 1012. Системные приложения 1030 используют преимущества управления ресурсами операционной системой 1028 посредством программных модулей 1032 и программных данных 1034, сохраненных либо в системном запоминающем устройстве 1016, либо на диске 1024. Следует принимать во внимание, что различные компоненты, описанные в данном документе, могут быть реализованы с различными операционными системами или сочетаниями операционных систем.
Пользователь вводит команды или информацию в компьютер 1012 посредством устройств(а) 1036 ввода. Устройства 1036 ввода включают в себя (но не только) указательное устройство, такое как мышь, шаровой манипулятор, перо, сенсорную панель, клавиатуру, микрофон, джойстик, игровую панель, спутниковую антенну, сканер, плату ТВ-тюнера, цифровую камеру, цифровую видеокамеру, веб-камеру и т.п. Эти и другие устройства ввода подключаются к процессору 1014 через системную шину 1018 посредством интерфейсного порта(ов) 1038. Интерфейсный порт(ы) 1038 включает в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (USB). Устройство(а) 1040 вывода использует те же типы портов, что и устройство(а) 1036 ввода. Таким образом, например, порт USB может быть использован для того, чтобы предусмотреть ввод в компьютер 1012 и чтобы выводить информацию из компьютера 1012 на устройство 1040 вывода. Адаптер 1042 вывода предусмотрен для того, чтобы проиллюстрировать, что существуют некоторые устройства 1040 вывода, такие как мониторы, динамики и принтеры среди прочих устройств 1040 вывода, которые требуют специальных адаптеров. Адаптеры 1042 вывода включают в себя, в качестве иллюстрации, но не ограничения, видео- и звуковые платы, которые обеспечивают средство соединения между устройством 1040 вывода и системной шиной 1018. Следует заметить, что другие устройства и/или системы устройств предоставляют возможности как ввода, так и вывода, такие как удаленный компьютер(ы) 1044.
Компьютер 1012 может работать в сетевом окружении, используя логические соединения к одному или более удаленным компьютерам, например удаленным компьютерам 1044. Удаленным компьютером(ами) 1044 может быть персональный компьютер, сервер, маршрутизатор, сетевая ПЭВМ, рабочая станция, устройство на базе микропроцессора, одноранговое устройство или другой стандартный сетевой узел и т.п., и типично включает в себя большинство или все элементы, описанные относительно компьютера 1012. В целях краткости, только запоминающее устройство 1046 хранения проиллюстрировано с удаленным компьютером(ами) 1044. Удаленные компьютеры 1044 логически подключены к компьютеру 1012 посредством сетевого интерфейса 1048 и затем физически подключены через коммуникационное соединение 1050. Сетевой интерфейс 1048 заключает в себе сети обмена данными, такие как локальные сети вычислительные (LAN) и глобальные вычислительные сети (WAN). Технологии LAN включают в себя распределенный интерфейс передачи данных по волоконно-оптическим каналам (FDDI), распределенный проводной интерфейс передачи данных (CDDI), Ethernet/IEEE 802,3, Token Ring/IEEE 802,5 и т.п. Технологии WAN включают в себя, но не только, двухточечные каналы связи, сети с коммутацией каналов, такие как цифровые сети с комплексными услугами (ISDN) и их разновидности, сети с коммутацией пакетов и цифровые абонентские линии (DSL).
Коммуникационные соединения 1050 означает аппаратные средства/программное обеспечение, используемое для того, чтобы подключить сетевой интерфейс 1048 к шине 1018. Хотя коммуникационное соединение 1050 показано в целях иллюстративной ясности внутри компьютера 1012, оно также может быть внешним по отношению к компьютеру 1012. Аппаратные средства/программное обеспечение, необходимое для подключения к сетевому интерфейсу 1048, включает в себя (только для типичных целей) внутренние и внешние технологии, например модемы, в том числе модемы на регулярных телефонных линиях, кабельные модемы и DSL-модемы, ISDN-адаптеры и платы Ethernet.
Фиг.11 - схематическая блок-схема примерного вычислительного окружения 1100, которое может быть использовано для реализации рабочего процесса с компонентом интреактивности настоящего изобретения. Система 1100 включает в себя одного или более клиентов 1110. Клиентом(ами) 1110 могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Система 1100 также включает в себя один или более серверов 1130. Сервером(ами) 1130 также могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Серверы 1130, например, могут обеспечивать содержание потоков для выполнения преобразований посредством применения компонентов, описанных в данном документе, например. Одна из возможных связей между клиентом 1110 и сервером 1130 может быть осуществлена в виде пакета данных, адаптированного для передачи между двумя или более вычислительными процессами. Система 1100 включает в себя структуру 1150 обмена данными, которая может быть использована, чтобы облегчить обмен данными между клиентом(ами) 1110 и сервером(ами) 1130. Клиент(ы) 1110 функционально подключены к одному или более запоминающих устройств 1160 данных клиента, которые могут быть использованы, чтобы сохранять информацию локально на клиенте(ах) 1110. Так же сервер(ы) 1130 удобно подключены к одному или более запоминающих устройств 1140 данных сервера, которые могут быть использованы, чтобы сохранять информацию локально на серверах 1130.
То, что было описано в данном документе, включает в себя различные примерные аспекты. Конечно, невозможно описать каждое вероятное сочетание компонентов или методологий в целях описания этих аспектов, но обычный специалист в данной области техники может признать, что многие дополнительные сочетания и перестановки таких вариантов осуществления допустимы. Следовательно, описанные в данном документе аспекты предназначены для того, чтобы охватывать все подобные преобразования, модификации и разновидности, которые попадают под дух и область применения прилагаемой формулы изобретения. Более того, в пределах того, как термин "включает в себя" используется либо в подробном описании, либо в формуле изобретения, этот термин должен быть включающим способом, аналогичным термину "содержит", как "содержит" интерпретируется, когда используется в качестве промежуточного слова в формуле изобретения.
Claims (20)
1. Реализованная компьютером система осуществления интерактивного рабочего процесса, содержащая следующие компоненты:
процессор,
память, содержащую систему рабочего процесса, имеющую компонент интерактивного действия, который моделирует точки приостановки в рабочем процессе, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяет пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса; и
хост, который обменивается данными с рабочим процессом в точках приостановки.
процессор,
память, содержащую систему рабочего процесса, имеющую компонент интерактивного действия, который моделирует точки приостановки в рабочем процессе, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяет пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса; и
хост, который обменивается данными с рабочим процессом в точках приостановки.
2. Реализованная компьютером система по п.1, в которой точки приостановки имеют перерывы интерактивности для пользовательского ввода.
3. Реализованная компьютером система по п.1, в которой компонент интерактивного действия переключается между множеством пользователей.
4. Реализованная компьютером система по п.2, в которой рабочий процесс является загружаемым на основе идентификационной информации, ассоциативно связанной с ним.
5. Реализованная компьютером система по п.1, в которой точки приостановки ассоциативно связаны с изменяемым внешним видом пользовательского интерфейса (UI) рабочего процесса.
6. Реализованная компьютером система по п.5, в которой UI управляется на основе состояния рабочего процесса во время приостановки.
7. Реализованная компьютером система по п.5, в которой рабочий процесс является возобновляемым посредством действия хост-системы.
8. Реализованная компьютером система по п.5, в которой система рабочего процесса имеет класс поставщика рабочего процесса для связи с хостом.
9. Реализованный компьютером способ реализации интерактивного рабочего процесса, содержащий следующие этапы, на которых:
встречают в работе компьютерной системы действие, которое приостанавливает рабочий процесс в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована сохранять состояние рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса,
обмениваются данными между хостом и рабочим процессом во время приостановки рабочего процесса.
встречают в работе компьютерной системы действие, которое приостанавливает рабочий процесс в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована сохранять состояние рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса,
обмениваются данными между хостом и рабочим процессом во время приостановки рабочего процесса.
10. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором устанавливают данные посредством хоста.
11. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором отправляют событие посредством хоста рабочему процессу, чтобы возобновить выполнение.
12. Реализованный компьютером способ по п.9, содержащий этап, на котором загружают рабочий процесс на основе идентификационной информации экземпляра рабочего процесса.
13. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором выполняют верификацию, являются ли данные событием возобновления.
14. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором вызывают событие приостановки в хосте.
15. Реализованный компьютером способ по п.14, дополнительно содержащий один из этапов из: изменения и модификации UI на основе события приостановки.
16. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором подают пользовательский ввод данных в рабочий процесс.
17. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором подписывают хост на приостанавливающие события в рабочем процессе.
18. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором определяют состояние рабочего процесса через запрашивание экземпляра рабочего процесса идентифицировать интерактивное действие, которое вызвало приостановление рабочего процесса.
19. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором изменяют внешний вид рабочего процесса на основе точек приостановки.
20. Реализованная компьютером система осуществления интерактивного рабочего процесса, содержащая следующие компоненты:
средство для обработки выполняемых компьютером инструкций,
средство для сохранения выполняемых компьютером инструкций, причем упомянутые инструкции формируют:
средство для приостановки рабочего процесса в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом упомянутое сохранение содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса, при этом система рабочего процесса дополнительно позволяет принимать пользовательский ввод для этого рабочего процесса, в то время как информация о состоянии рабочего процесса является выборочно сохраненной; и
средство для обмена данными между хостом и рабочим процессом во время приостановки рабочего процесса,
средство для возобновления рабочего процесса.
средство для обработки выполняемых компьютером инструкций,
средство для сохранения выполняемых компьютером инструкций, причем упомянутые инструкции формируют:
средство для приостановки рабочего процесса в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом упомянутое сохранение содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса, при этом система рабочего процесса дополнительно позволяет принимать пользовательский ввод для этого рабочего процесса, в то время как информация о состоянии рабочего процесса является выборочно сохраненной; и
средство для обмена данными между хостом и рабочим процессом во время приостановки рабочего процесса,
средство для возобновления рабочего процесса.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,490 US8849691B2 (en) | 2005-12-29 | 2005-12-29 | Modeling user input and interaction in workflow based applications |
US11/321,490 | 2005-12-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008126237A RU2008126237A (ru) | 2010-01-10 |
RU2445688C2 true RU2445688C2 (ru) | 2012-03-20 |
Family
ID=38225702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008126237/08A RU2445688C2 (ru) | 2005-12-29 | 2006-12-07 | Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса |
Country Status (8)
Country | Link |
---|---|
US (2) | US8849691B2 (ru) |
EP (1) | EP1969484A4 (ru) |
JP (1) | JP2009522645A (ru) |
KR (1) | KR20080087804A (ru) |
CN (1) | CN101346713B (ru) |
BR (1) | BRPI0618302A8 (ru) |
RU (1) | RU2445688C2 (ru) |
WO (1) | WO2007078593A1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015076695A1 (en) * | 2013-11-25 | 2015-05-28 | Yandex Llc | System, method and user interface for gesture-based scheduling of computer tasks |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412513B2 (en) * | 2003-11-14 | 2008-08-12 | Microsoft Corporation | Systems and methods for using metrics to control throttling and swapping in a message processing system |
US8849691B2 (en) | 2005-12-29 | 2014-09-30 | Microsoft Corporation | Modeling user input and interaction in workflow based applications |
JP2009110276A (ja) * | 2007-10-30 | 2009-05-21 | Toshiba Corp | 顧客対応作成管理装置、顧客対応管理システム、及び顧客対応作成管理プログラム |
US8429668B2 (en) * | 2007-12-07 | 2013-04-23 | Sap Ag | Workflow task re-evaluation |
US10169199B2 (en) | 2008-06-10 | 2019-01-01 | Microsoft Technology Licensing, Llc | Automatic model-specific debugger extensions |
EP2199960A1 (en) * | 2008-12-17 | 2010-06-23 | Accenture Global Services GmbH | Manufacturing collaboration hub data exchange interface |
US9354847B2 (en) | 2008-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Interface infrastructure for a continuation based runtime |
JP2011008506A (ja) * | 2009-06-25 | 2011-01-13 | Fuji Xerox Co Ltd | 文書処理装置、文書処理プログラム、及び文書フローシステム |
CN101741666B (zh) * | 2010-02-26 | 2012-02-01 | 西安交通大学 | 一种通过网络结构划分来实现工作流多实例的方法 |
US8522256B2 (en) * | 2010-10-12 | 2013-08-27 | Microsoft Corporation | Hosting non-messaging workflows in a messaging host |
US8984531B2 (en) * | 2011-06-01 | 2015-03-17 | Microsoft Technology Licensing, Llc | Episodic coordination model for distributed applications |
US9536264B2 (en) | 2011-11-14 | 2017-01-03 | Microsoft Technology Licensing, Llc | Host agnostic messaging in a continuation based runtime |
KR101508496B1 (ko) * | 2011-11-25 | 2015-04-10 | 서강대학교산학협력단 | 자산 기반의 요구사항 시뮬레이터 및 요구사항 관리 방법 |
US10332213B2 (en) * | 2012-03-01 | 2019-06-25 | Ricoh Company, Ltd. | Expense report system with receipt image processing by delegates |
US9483307B2 (en) * | 2013-09-04 | 2016-11-01 | Swiftpage Act! Llc | Asynchronous, interactive task workflows |
US10289411B2 (en) | 2013-11-18 | 2019-05-14 | Microsoft Technology Licensing, Llc | Diagnosing production applications |
KR102348354B1 (ko) * | 2013-11-19 | 2022-01-11 | 국민대학교산학협력단 | 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법 |
KR102205651B1 (ko) * | 2013-11-19 | 2021-01-21 | 국민대학교산학협력단 | 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법 |
EP2933064A1 (en) * | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | System, method and computer program product for handling humanoid robot interaction with human |
US9552562B2 (en) * | 2014-09-26 | 2017-01-24 | Oracle International Corporation | Visual information builder for business rules |
US9612939B2 (en) * | 2014-10-29 | 2017-04-04 | Microsoft Technology Licensing, Llc. | Diagnostic workflow for production debugging |
US10235337B2 (en) * | 2015-06-24 | 2019-03-19 | EMC IP Holding Company LLC | Distributed work flow using database replication |
US10127509B2 (en) | 2015-09-17 | 2018-11-13 | Bank Of America Corporation | System for temporarily suspending a workflow associated with a work item |
US10528327B2 (en) * | 2015-11-23 | 2020-01-07 | Microsoft Technology Licensing Llc | Workflow development system with ease-of-use features |
US10423393B2 (en) | 2016-04-28 | 2019-09-24 | Microsoft Technology Licensing, Llc | Intelligent flow designer |
US10353560B2 (en) | 2016-04-28 | 2019-07-16 | Microsoft Technology Licensing, Llc | Debugging a flow |
US11169982B2 (en) * | 2016-06-30 | 2021-11-09 | Microsoft Technology Licensing, Llc | Dynamic deactivation of cold database in database service |
US10379826B1 (en) * | 2018-03-08 | 2019-08-13 | International Business Machines Corporation | Determining inputs to an integration flow component |
US10904238B2 (en) | 2018-07-13 | 2021-01-26 | Sap Se | Access token management for state preservation and reuse |
US11238386B2 (en) | 2018-12-20 | 2022-02-01 | Sap Se | Task derivation for workflows |
US11467858B2 (en) * | 2019-03-27 | 2022-10-11 | Amazon Technologies, Inc. | Techniques for performing continuation workflows |
US11366681B2 (en) | 2019-03-27 | 2022-06-21 | Amazon Technologies, Inc. | Chaining virtual machines |
US10963287B2 (en) | 2019-03-27 | 2021-03-30 | Amazon Technologies, Inc. | Reducing request latency in a multi-tenant web service host |
US20210089990A1 (en) * | 2019-09-19 | 2021-03-25 | Sap Se | Intelligent forms platform for modeling workflow forms |
US11446818B2 (en) * | 2019-10-01 | 2022-09-20 | UiPath, Inc. | Resuming robotic process automation workflows based on external triggers |
US11444903B1 (en) * | 2021-02-26 | 2022-09-13 | Slack Technologies, Llc | Contextual discovery and design of application workflow |
CN116909768B (zh) * | 2023-07-12 | 2024-09-03 | 深圳市魔数智擎人工智能有限公司 | 一种基于工作流的应用程序中对用户输入和交互建模系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999910A (en) * | 1997-10-06 | 1999-12-07 | Fmr Corp. | Processing a workflow item |
US6151583A (en) * | 1996-09-27 | 2000-11-21 | Hitachi, Ltd. | Workflow management method and apparatus |
US6397191B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
RU2191425C2 (ru) * | 2000-04-03 | 2002-10-20 | Северо-Кавказский региональный центр информатизации высшей школы | Способ оптимизации параллельной обработки информации для минимизации ее времени |
US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490097A (en) | 1993-03-22 | 1996-02-06 | Fujitsu Limited | System and method for modeling, analyzing and executing work process plans |
US5634127A (en) | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
JP2666755B2 (ja) | 1995-01-11 | 1997-10-22 | 日本電気株式会社 | ワークフローシステム |
US7069451B1 (en) * | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5999911A (en) | 1995-06-02 | 1999-12-07 | Mentor Graphics Corporation | Method and system for managing workflow |
US6272672B1 (en) | 1995-09-06 | 2001-08-07 | Melvin E. Conway | Dataflow processing with events |
DE19705955A1 (de) | 1996-03-29 | 1997-10-02 | Ibm | Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung |
AU2453797A (en) | 1996-04-10 | 1997-10-29 | Paul M. Konnersman | Computer-based system for work processes that consist of interdependent decisions involving one or more participants |
US5748962A (en) | 1996-09-30 | 1998-05-05 | Mci Communications Corporation | Common channels for inter-application communications |
US6041306A (en) * | 1996-12-05 | 2000-03-21 | Hewlett-Packard Company | System and method for performing flexible workflow process execution in a distributed workflow management system |
JPH10207939A (ja) | 1997-01-17 | 1998-08-07 | Nec Corp | ワークフローシステム |
EP0854431A3 (en) | 1997-01-20 | 2001-03-07 | International Business Machines Corporation | Events as activities in process models of workflow management systems |
US6047260A (en) | 1997-06-05 | 2000-04-04 | Attention Control Systems, Inc. | Intelligent planning and calendaring system with cueing feature and floating tasks |
US5960404A (en) | 1997-08-28 | 1999-09-28 | International Business Machines Corp. | Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation |
CA2226062A1 (en) * | 1997-12-31 | 1999-06-30 | Ibm Canada Limited-Ibm Canada Limitee | Workflow mechanism for a stateless environment |
US6339838B1 (en) | 1998-01-02 | 2002-01-15 | At&T Corp. | Control of commercial processes |
US6230197B1 (en) | 1998-09-11 | 2001-05-08 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for rules-based storage and retrieval of multimedia interactions within a communication center |
JPH11306244A (ja) | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US6134559A (en) | 1998-04-27 | 2000-10-17 | Oracle Corporation | Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system |
US6430538B1 (en) | 1998-04-30 | 2002-08-06 | Enterworks | Workflow management system, method and medium with personal subflows |
US6442528B1 (en) | 1998-06-05 | 2002-08-27 | I2 Technologies Us, Inc. | Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration |
US6282531B1 (en) | 1998-06-12 | 2001-08-28 | Cognimed, Llc | System for managing applied knowledge and workflow in multiple dimensions and contexts |
US6772407B1 (en) | 1998-10-02 | 2004-08-03 | International Business Machines Corporation | Staging objects in workflow management systems |
US6820118B1 (en) | 1999-01-20 | 2004-11-16 | International Business Machines Corporation | Method and system for providing a linkage between systems management systems and applications |
DE10003015A1 (de) * | 1999-02-06 | 2000-08-17 | Ibm | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen |
US6499023B1 (en) | 1999-02-19 | 2002-12-24 | Lucent Technologies Inc. | Data item evaluation based on the combination of multiple factors |
US8862507B2 (en) | 1999-06-14 | 2014-10-14 | Integral Development Corporation | System and method for conducting web-based financial transactions in capital markets |
US6539396B1 (en) | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
US6434568B1 (en) | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
JP2001084320A (ja) * | 1999-09-13 | 2001-03-30 | Oki Electric Ind Co Ltd | ワークフロー管理システム |
US6769113B1 (en) | 1999-10-08 | 2004-07-27 | International Business Machines Corporation | Enterprise process models and enterprise application for information technologies |
KR100377189B1 (ko) | 1999-12-24 | 2003-03-28 | 한국전자통신연구원 | 워크플로우 시스템과 어플리케이션간의 데이터 교환시스템 및 그 방법 |
US6968503B1 (en) | 2000-03-09 | 2005-11-22 | Quovadx, Inc. | XML user interface for a workflow server |
US7503033B2 (en) | 2000-04-28 | 2009-03-10 | Microsoft Corporation | Model for business workflow processes |
US6772216B1 (en) | 2000-05-19 | 2004-08-03 | Sun Microsystems, Inc. | Interaction protocol for managing cross company processes among network-distributed applications |
US6922685B2 (en) | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
JP2001356907A (ja) | 2000-06-09 | 2001-12-26 | Ibm Japan Ltd | 処理コード情報を有するデータベース・システムおよび情報処理システム |
US20030033191A1 (en) * | 2000-06-15 | 2003-02-13 | Xis Incorporated | Method and apparatus for a product lifecycle management process |
US6854016B1 (en) | 2000-06-19 | 2005-02-08 | International Business Machines Corporation | System and method for a web based trust model governing delivery of services and programs |
US7219304B1 (en) | 2000-06-19 | 2007-05-15 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US6859217B2 (en) | 2000-07-19 | 2005-02-22 | Microsoft Corporation | System and method to display and manage data within hierarchies and polyarchies of information |
US20020038450A1 (en) | 2000-08-03 | 2002-03-28 | International Business Machines Corporation | Method and system to run stored procedures as workflow activity implementations |
AU2001286848A1 (en) | 2000-08-28 | 2002-03-13 | Michael D. Harold | System and method for transmitting and retrieving data via a distributed persistence framework |
US20020188597A1 (en) | 2000-09-01 | 2002-12-12 | Jonathan Kern | Methods and systems for linking tasks to workflow |
AU2001288827A1 (en) | 2000-09-08 | 2002-03-22 | Asera, Inc. | Integrated design environment for a commerce server system |
US7653566B2 (en) | 2000-11-30 | 2010-01-26 | Handysoft Global Corporation | Systems and methods for automating a process of business decision making and workflow |
US6801227B2 (en) | 2001-01-16 | 2004-10-05 | Siemens Medical Solutions Health Services Inc. | System and user interface supporting user navigation and concurrent application operation |
US6675133B2 (en) | 2001-03-05 | 2004-01-06 | Ncs Pearsons, Inc. | Pre-data-collection applications test processing system |
US6847974B2 (en) * | 2001-03-26 | 2005-01-25 | Us Search.Com Inc | Method and apparatus for intelligent data assimilation |
US6966049B2 (en) | 2001-04-24 | 2005-11-15 | Heuristics Physics Laboratories, Inc. | Software development tool employing workflows for developing user interactive programs |
JP2002324155A (ja) | 2001-04-26 | 2002-11-08 | Hitachi Ltd | ワークフロー・システムおよびプログラム |
US6941514B2 (en) | 2001-04-30 | 2005-09-06 | Bellsouth Intellectual Property Corporation | System and method for priority-based work order scheduling |
US6983421B1 (en) | 2001-06-22 | 2006-01-03 | I2 Technologies Us, Inc. | Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration |
US7100147B2 (en) | 2001-06-28 | 2006-08-29 | International Business Machines Corporation | Method, system, and program for generating a workflow |
US7069536B2 (en) | 2001-06-28 | 2006-06-27 | International Business Machines Corporation | Method, system, and program for executing a workflow |
GB2377779A (en) | 2001-07-18 | 2003-01-22 | Hewlett Packard Co | Computer apparatus for implementing a workflow with graphical representation |
US20030023622A1 (en) | 2001-07-27 | 2003-01-30 | Liaison Technology, Inc. | Manual activity persistence in content management workflow systems |
WO2003015000A1 (en) | 2001-08-08 | 2003-02-20 | Trivium Systems Inc. | Workflow engine for automating business processes in scalable multiprocessor computer platforms |
US20030135384A1 (en) | 2001-09-27 | 2003-07-17 | Huy Nguyen | Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer |
US20030078975A1 (en) | 2001-10-09 | 2003-04-24 | Norman Ken Ouchi | File based workflow system and methods |
EP1444609A4 (en) | 2001-10-18 | 2007-09-05 | Bea Systems Inc | APPLICATION VISIBILITY COMPONENT FOR SYSTEM INTEGRATION |
US20030090514A1 (en) | 2001-10-23 | 2003-05-15 | Cole Douglas J. | Business process user interface generation system and method |
US7389335B2 (en) | 2001-11-26 | 2008-06-17 | Microsoft Corporation | Workflow management based on an integrated view of resource identity |
US7370335B1 (en) * | 2001-11-29 | 2008-05-06 | Vignette Corporation | System and method for providing a public application program interface |
US7865867B2 (en) | 2002-03-08 | 2011-01-04 | Agile Software Corporation | System and method for managing and monitoring multiple workflows |
US20030233374A1 (en) | 2002-03-14 | 2003-12-18 | Ulrich Spinola | Dynamic workflow process |
EP1502218A4 (en) | 2002-04-15 | 2005-08-17 | Invensys Sys Inc | METHOD AND DEVICES FOR A PROCESS-, FACTORY-, ENVIRONMENT-, ENVIRONMENT- AND COMPUTER AIDED MANUFACTURING-BASED OR OTHERWISE CONTROL SYSTEM WITH REAL-TIME DATA DISTRIBUTION |
US7627631B2 (en) | 2002-05-02 | 2009-12-01 | Bea Systems, Inc. | Systems and methods for collaborative business plug-ins |
JP2003331095A (ja) | 2002-05-13 | 2003-11-21 | Nec Software Kyushu Ltd | Db管理によるワークフロー(申請承認業務)システム |
US7149747B1 (en) | 2002-06-27 | 2006-12-12 | Siebel Systems, Inc. | Dynamic generation of user interface components |
AU2003262702A1 (en) | 2002-08-23 | 2004-03-11 | Jway Group, Inc. | Extensible user interface (xui) framework and development environment |
US20040078105A1 (en) | 2002-09-03 | 2004-04-22 | Charles Moon | System and method for workflow process management |
US7729935B2 (en) | 2002-10-23 | 2010-06-01 | David Theiler | Method and apparatus for managing workflow |
US20040103014A1 (en) | 2002-11-25 | 2004-05-27 | Teegan Hugh A. | System and method for composing and constraining automated workflow |
US7299244B2 (en) | 2002-12-10 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | System and method for dynamic sequencing of a requirements-based workflow |
US7448024B2 (en) | 2002-12-12 | 2008-11-04 | Bea Systems, Inc. | System and method for software application development in a portal environment |
US7272820B2 (en) | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
US7171664B2 (en) | 2002-12-16 | 2007-01-30 | International Business Machines Corporation | Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework |
US7711694B2 (en) | 2002-12-23 | 2010-05-04 | Sap Ag | System and methods for user-customizable enterprise workflow management |
US7555538B2 (en) | 2002-12-26 | 2009-06-30 | Research In Motion Limited | System and method for building and execution of platform-neutral generic services' client applications |
US7409674B2 (en) | 2002-12-26 | 2008-08-05 | Research In Motion Limited | System and method of creating and communicating with component based wireless applications |
GB2396928A (en) | 2003-01-04 | 2004-07-07 | Quicksilva Ltd | Business process management tool framework |
US20040162741A1 (en) * | 2003-02-07 | 2004-08-19 | David Flaxer | Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference |
US6839062B2 (en) | 2003-02-24 | 2005-01-04 | Microsoft Corporation | Usage semantics |
US20050022164A1 (en) | 2003-02-25 | 2005-01-27 | Bea Systems, Inc. | Systems and methods utilizing a workflow definition language |
US20050044173A1 (en) | 2003-02-28 | 2005-02-24 | Olander Daryl B. | System and method for implementing business processes in a portal |
US20050005259A1 (en) | 2003-03-14 | 2005-01-06 | Infowave Software, Inc. | System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems |
US7370333B2 (en) | 2003-06-02 | 2008-05-06 | Microsoft Corporation | Efficient processing of a convoy workflow scenario in a message driven process |
US7876705B2 (en) | 2003-06-25 | 2011-01-25 | Schlumberger Technology Corporation | Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product |
JP2005050318A (ja) | 2003-07-16 | 2005-02-24 | Ricoh Co Ltd | ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体 |
JP2005063253A (ja) | 2003-08-18 | 2005-03-10 | Knowledge Works:Kk | クリニカルフロー実行方法、及び、クリニカルフロー実行システム |
CA2443454A1 (en) | 2003-09-11 | 2005-03-11 | Teamplate Inc. | Data binding method in workflow system |
US20050096959A1 (en) * | 2003-10-31 | 2005-05-05 | Microsoft Corporation | Rule engine method and system |
US7698383B2 (en) | 2004-02-27 | 2010-04-13 | Research In Motion Limited | System and method for building component applications using metadata defined mapping between message and data domains |
US20050203757A1 (en) | 2004-03-11 | 2005-09-15 | Hui Lei | System and method for pervasive enablement of business processes |
US7881233B2 (en) | 2004-09-01 | 2011-02-01 | Cisco Technology, Inc. | Techniques for planning a conference using location data |
US7464366B2 (en) | 2004-10-01 | 2008-12-09 | Microsoft Corporation | Programming interface for a componentized and extensible workflow model |
US7792693B2 (en) | 2005-02-25 | 2010-09-07 | Novell, Inc. | Distributed workflow techniques |
US8140373B2 (en) * | 2005-04-07 | 2012-03-20 | International Business Machines Corporation | Data driven dynamic workflow |
US8230042B2 (en) * | 2005-04-19 | 2012-07-24 | International Business Machines Corporation | Policy based auditing of workflows |
US7363628B2 (en) | 2005-06-27 | 2008-04-22 | Microsoft Corporation | Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host |
US20070156487A1 (en) | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Object model on workflow |
US8849691B2 (en) | 2005-12-29 | 2014-09-30 | Microsoft Corporation | Modeling user input and interaction in workflow based applications |
US7680683B2 (en) | 2005-12-29 | 2010-03-16 | Microsoft Corporation | Dynamically repositioning workflow by end users |
US20070156486A1 (en) | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Multiple concurrent workflow persistence schemes |
US20070245300A1 (en) | 2006-03-22 | 2007-10-18 | Benjamin Chan | Apparatus, system, and method for presenting project scheduling information in combination with workflow information |
US8024405B2 (en) | 2006-03-30 | 2011-09-20 | Microsoft Corporation | Declarative model for concurrency-control across lightweight threads |
US8069439B2 (en) | 2006-03-30 | 2011-11-29 | Microsoft Corporation | Framework for modeling continuations in workflows |
US7739135B2 (en) | 2006-03-30 | 2010-06-15 | Microsoft Corporation | Asynchronous fault handling in process-centric programs |
US20070239505A1 (en) | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Abstract execution model for a continuation-based meta-runtime |
US20070239498A1 (en) | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Framework for modeling cancellation for process-centric programs |
JP2007279838A (ja) * | 2006-04-03 | 2007-10-25 | Ibm Japan Ltd | 情報処理装置、方法およびプログラム |
US20080040417A1 (en) | 2006-08-09 | 2008-02-14 | Gearworks, Inc. | System and method for allocating workflow operations to a computing device |
US9183011B2 (en) | 2006-10-31 | 2015-11-10 | Oracle America Inc. | Method and system for runtime environment emulation |
US7506001B2 (en) | 2006-11-01 | 2009-03-17 | I3Solutions | Enterprise proposal management system |
US20080243524A1 (en) | 2007-03-28 | 2008-10-02 | International Business Machines Corporation | System and Method for Automating Internal Controls |
WO2008152687A1 (ja) | 2007-06-11 | 2008-12-18 | Fujitsu Limited | ワークフロー定義変更プログラム、ワークフロー定義変更方法およびワークフロー定義変更装置 |
US7827127B2 (en) | 2007-10-26 | 2010-11-02 | Microsoft Corporation | Data scoping and data flow in a continuation based runtime |
US8868532B2 (en) | 2008-08-08 | 2014-10-21 | Microsoft Corporation | Message exchange pattern rendezvous abstraction |
US9354847B2 (en) | 2008-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Interface infrastructure for a continuation based runtime |
US8307368B2 (en) | 2009-05-26 | 2012-11-06 | Microsoft Corporation | Locality-based scheduling in continuation-based runtimes |
US20100324948A1 (en) | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Managing event timelines |
US9536264B2 (en) | 2011-11-14 | 2017-01-03 | Microsoft Technology Licensing, Llc | Host agnostic messaging in a continuation based runtime |
-
2005
- 2005-12-29 US US11/321,490 patent/US8849691B2/en active Active
-
2006
- 2006-12-07 RU RU2008126237/08A patent/RU2445688C2/ru active
- 2006-12-07 BR BRPI0618302A patent/BRPI0618302A8/pt not_active Application Discontinuation
- 2006-12-07 EP EP06839221A patent/EP1969484A4/en not_active Ceased
- 2006-12-07 JP JP2008548537A patent/JP2009522645A/ja active Pending
- 2006-12-07 KR KR1020087015813A patent/KR20080087804A/ko not_active IP Right Cessation
- 2006-12-07 CN CN2006800487020A patent/CN101346713B/zh active Active
- 2006-12-07 WO PCT/US2006/046905 patent/WO2007078593A1/en active Application Filing
-
2014
- 2014-09-26 US US14/497,799 patent/US9710773B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151583A (en) * | 1996-09-27 | 2000-11-21 | Hitachi, Ltd. | Workflow management method and apparatus |
US5999910A (en) * | 1997-10-06 | 1999-12-07 | Fmr Corp. | Processing a workflow item |
US6397191B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
RU2191425C2 (ru) * | 2000-04-03 | 2002-10-20 | Северо-Кавказский региональный центр информатизации высшей школы | Способ оптимизации параллельной обработки информации для минимизации ее времени |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015076695A1 (en) * | 2013-11-25 | 2015-05-28 | Yandex Llc | System, method and user interface for gesture-based scheduling of computer tasks |
Also Published As
Publication number | Publication date |
---|---|
WO2007078593A1 (en) | 2007-07-12 |
CN101346713B (zh) | 2011-10-26 |
US8849691B2 (en) | 2014-09-30 |
JP2009522645A (ja) | 2009-06-11 |
CN101346713A (zh) | 2009-01-14 |
EP1969484A4 (en) | 2011-06-22 |
EP1969484A1 (en) | 2008-09-17 |
US9710773B2 (en) | 2017-07-18 |
KR20080087804A (ko) | 2008-10-01 |
US20070156485A1 (en) | 2007-07-05 |
BRPI0618302A2 (pt) | 2011-08-23 |
BRPI0618302A8 (pt) | 2016-12-20 |
US20150206079A1 (en) | 2015-07-23 |
RU2008126237A (ru) | 2010-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2445688C2 (ru) | Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса | |
RU2433463C2 (ru) | Динамическое перепозиционирование потока работ конечными пользователями | |
US20070156487A1 (en) | Object model on workflow | |
US11310165B1 (en) | Scalable production test service | |
US7653566B2 (en) | Systems and methods for automating a process of business decision making and workflow | |
US20070156486A1 (en) | Multiple concurrent workflow persistence schemes | |
US8990820B2 (en) | Runtime task with inherited dependencies for batch processing | |
US20030004770A1 (en) | Method, system, and program for generating a workflow | |
US20080133210A1 (en) | Method and implementation for automating processes using data driven pre-recorded transactions | |
TW201541259A (zh) | 第三方應用的執行方法及系統 | |
US20130047135A1 (en) | Enterprise computing platform | |
MX2008011910A (es) | Control de falla asincronico en programas centricos de procedimiento. | |
US20130290500A1 (en) | Differentiated service identification in a networked computing environment | |
US20220318067A1 (en) | Orchestration layer for user defined automation workflows | |
Chen et al. | Cloud computing value chains: Research from the operations management perspective | |
US20180218306A1 (en) | System, method and computer program product for a cognitive project manager engine | |
US8407663B2 (en) | Upgrading simple applications to full scale solutions | |
Zhang et al. | Workflow-oriented grid service composition and scheduling | |
Stransky | Modelling procurement processes by UML diagrams | |
Ferme et al. | IT-Centric Process Automation: Study About the Performance of BPMN 2.0 Engines | |
Ding | BMC Control-M 7: A Journey from Traditional Batch Scheduling to Workload Automation | |
KR101824084B1 (ko) | 클라우드 컴퓨팅 기반의 경영분석 서비스 시스템에서 다양한 분석모델에 적용가능한 데이터 처리방법 | |
US20120136810A1 (en) | Systems and methods for locally outsourcing work | |
Stefansen et al. | A Work Allocation Language with Soft Constraints. | |
US20140195288A1 (en) | Systems and methods for locally outsourcing work |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150526 |