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

кандидата физико-математических наук
Волков, Дмитрий Анатольевич
город
Москва
год
2000
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Методы оптимального управления качеством сервиса информационных систем в открытых сетях»

Оглавление автор диссертации — кандидата физико-математических наук Волков, Дмитрий Анатольевич

ВВЕДЕНИЕ.

1. ОБЗОР.

1.1. Информационные системы в открытых сетях.

Архитектура клиент-сервер.

Web технологии.

Менеджеры соединений.

1.2. Технологии построения интероперабельных систем. 18 CORBA. 20 Enterprise JavaBeans. 26 Другие технологии.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Волков, Дмитрий Анатольевич

В настоящее время наиболее динамично развивающимся направлением компьютерной индустрии являются телекоммуникации. Развитие аппаратных и программных средств, предназначенных для передачи данных, сделало использование глобальных компьютерных сетей доступным практически каждому. Наиболее популярной и доступной глобальной сетью в данный момент является сеть Internet [83]. Существующая как сообщество независимых организаций, Internet получила широкое распространение по всему миру. На базе этой сети существуют серьезные корпоративные решения, обеспечивающие работу организаций, нуждающихся в оперативном доступе к информации из любой точки земного шара. Помимо решений, ориентированных на узкий круг специалистов, Internet содержит много информации, доступной всем ее пользователям. Но то, что сейчас представлено в сети, является лишь незначительной частью огромного количества информации, накопленного за время существования компьютерной индустрии и обслуживаемого в данный момент информационными системами, не предназначенными для работы в сетевом окружении (в дальнейшем будет использоваться термин legacy systems - унаследованные системы [6,71]). Одной из наиболее существенных проблем, значительно замедляющих процесс интеграции подобных систем в мировое информационное пространство, является недостаточная проработка методологии обеспечения качества предоставляемых информационной системой сервисов при работе в открытых сетях. Действительно, в большинстве случаев недостаточно просто расширить функциональность уже существующей системы с целью предоставить пользователям сети доступ к имеющимся сервисам, а необходимо также обеспечить удаленному пользователю качество обслуживания, сравнимое с качеством, гарантированным локальному 5 пользователю. Под обеспечением качества предоставляемых сервисов в данном контексте следует, прежде всего, понимать возможность конечного пользователя в любой момент времени обращаться к сервисам информационной системы и возможность получения ответа системы в течение заранее заданного временного интервала. Несмотря на огромное количество технологий разработки Internet систем, в настоящее время нет общего подхода к решению проблем, связанных с обеспечением качества сервиса информационных систем в открытых сетях, как нет и четкой формализации понятия «качество сервиса». Устоявшиеся стандарты в этой области [4,5,9,11,28,41,83] не уделяют достаточно внимания этому вопросу. Такое положение дел вынуждает разработчиков искать собственные решения, что влечет за собой появление различных, плохо сочетаемых друг с другом подходов, затрудняющих интеграцию систем в единое информационное пространство.

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

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

1. конкретизация понятия «качество сервиса», определение основных показателей качества и их базисного набора.

2. выявление и классификация общих для всех работающих в открытых сетях информационных систем проблем, связанных с обеспечение качества сервиса.

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

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

Решение этих задач должно позволить значительно сократить время на разработку информационных систем и обеспечить оптимальное использование вычислительных ресурсов в процессе эксплуатации этих систем.

Объектом исследования в рамках настоящей работы выступает информационная система, спроектированная для работы в открытых сетях.

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

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

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

Краткое содержание работы. Работа состоит из введения, пяти глав, заключения, списка использованной литературы и приложений. Первая глава содержит обзор различных технологий, применяемых для создания информационных систем в открытых сетях. Вторая глава посвящена описанию предлагаемых подходов к классификации общих проблем, возникающих при работе в открытых сетях, выявлению базисных показателей качества сервиса и описанию предлагаемой концепции универсального сервера. Третья глава содержит математическое обоснование предложенной концепции, основанное на математическом моделировании информационной системы с использованием методов теории массового обслуживания. Четвертая глава посвящена описанию практическому воплощению концепции -программному продукту Unis и особенностям его реализации. Пятая глава содержит типовые схемы и примеры практического применения программного продукта Unis. В заключении сформулированы основные выводы по результатам проведенной работы. Также определяются основные направления дальнейшего развития как концепции универсального сервера, так и программного продукта Unis. 8

1. Обзор.

Заключение диссертация на тему "Методы оптимального управления качеством сервиса информационных систем в открытых сетях"

Основные результаты, полученные в диссертационной работе, состоят в следующем:

1. Разработана классификация основных проблем обеспечения качества сервиса, возникающих при создании информационных систем, ориентированных на работу в открытых сетях. Рассмотрены различные аспекты этих проблем и общие подходы к их разрешению.

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

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

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

5. Для повышения эффективности использования Unis в масштабных информационных системах разработан и реализован специализированный протокол доступа к СУБД.

107

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

7. Произведено всесторонне тестирование и ввод в промышленную эксплуатацию разработанного программного продукта в ЗАО «Демос-Интернет» и нескольких других организациях.

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

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

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

По теме диссертации опубликовано шесть работ.

108

Заключение.

Библиография Волков, Дмитрий Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Andrade J.M., Carges M.T., Dwyer Т.J., Felts S.D. The Tuxedo System. - Addison-Wesley, 1996

2. Armstrong J., Long-Range Forecasting. New York, Wiley, 1985.

3. Becker G., Morris, Mary E.S. Solaris Implementation: A Guide for System Administrators. Prentice Hall, 1994

4. Berners-Lee Т., Fielding R., Masinter L. Uniform Resource Identifiers (URI): Generic Syntax. RFC 2396, August 1998

5. Berners-Lee Т., Masinter L., McCahill M. Uniform Resource Locators. RFC 1738, December 1994

6. Cook M., Building Enterprise Information Architecture: Reengineering Information Systems. Prentice Hall, 1996

7. DEC OSF/1 Guide to DECthreads. - Digital Equipment Corporation, Part No. AA-Q2DPB-TK, July 1994

8. DHTML. Microsoft http://msdn.microsoft.com/workshop/author/dhtml/dhtmlovw.asp

9. Distributed TP: The XA Specification. Open Group Technical Standard, 1992

10. Enterprise JavaBeans. Sun Microsystems http://java.sun.com

11. Fielding R., Gettys J., Mogul J., Frystyk H., Masinter L., Leach P., Berners-Lee T. Hypertext Transfer Protocol ~ HTTP/1.1. RFC 2616, June 1999.

12. FreeBSD. http://www.freebsd.org

13. Greenwald R. Using Oracle Web Application Server 3. Que Corp., 1997

14. Hamilton Graham, Cattell Rick. JDBC: A Java SQL API. Sun Microsystems, Inc., 1998

15. Harrison G. Oracle SQL High-Performance Turning. Prentice Hall, 1997109

16. Information Processing Text and Office Systems - Standard Generalized Markup Language (SGML). - ISO 8879:1986

17. Information technology Database languages - SQL. - ISO/IEC 9075:1992

18. Information Technology Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) C Language. - IEEE 1003.1-1990

19. Jain Raj, The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation, and Modeling. John Wiley & Sons, 1991

20. Kernigan B.W., Pike R. The UNIX Programming Environment. Prentice Hall, 1984

21. Lam S., Chan K. Computer Capacity Planning: Theory and Practice. London, Academic, 1987

22. Leffler S.J., McKusick M.K., Karels M.J., Quarterman J.S. The design and Implementation of the 4.3 BSD UNIX Operating System. Addison-Wesley, 1989

23. Lewis Bil, Berg Daniel J., Threads Primer. Prentice Hall, 1996.

24. Linux. http://www.linux.org

25. Matena Vlada, Hapner Mark. Enterprise JavaBeans Specification, vl.l. Sim Microsystems, Inc., 1999

26. Menasce D.A., Almeida A.F. Capacity Planning for Web Performance. Metrics, Models, and Methods. Prentice Hall, 1998

27. Microsoft Transaction Server. Microsoft, http://www.microsoft.com/servers/

28. Mogul J., Leach P. Simple Hit-Metering and Usage-Limiting for HTTP. RFC 2227. October 1997

29. Mueller F. A Library Implementation of POSIX Threads under UNIX. Proceedings of the Winter 1993 USENIX Technical Conference, Jan. 1993

30. MySQL. http://www.mysql.com110

31. Norton S.J., DiPasquale M.D. Thread Time: The MultiThreaded Programming Guide. -Prentice Hall, 1997

32. Open System Interconnections Basic Reference Model. - ISO 7489,1984

33. Operating System API Reference: UNIX SVR4.2, UNIX Press, 1992

34. Oracle 8 Concepts. Vol 1-2. Oracle Corp., 1997

35. OS Microsoft Windows. Microsoft, http://www.microsoft.com/windows

36. Otte R., Patrick P., Roy M. Understanding CORBA. Prentice Hall, 1996

37. PHP3 Manual. PHP Documentation Group, 1998. http://www.php.net

38. Pipkin D.L. Halting the Hacker: A Practical Guide to Computer Security. Prentice Hall, 1996

39. Plauger P.J., Brodie J. Standard C. Microsoft Press, 1989

40. Poniatowski M. Learning the HP-UX Operating System. Prentice Hall, 1997

41. Postel J., Reynolds J. File Transfer Protocol (FTP). RFC 959, October 1985

42. Rago S.A. UNIX System V Network Programming. Addison-Wesley, 1993

43. Rai A., Patnayakuni R., Patnayakuni N. Technology investment and business performance. Commun. ACM, vol.40, №7, July 1997

44. Real-Time Extension for Portable Operating Systems. IEEE POSIX PI003.4b, 1993

45. Ritchie D.M., Thompson K. The UNIX Time-Sharing System. The Bell System Technical Journal, Vol. 57, №.6 1978

46. RSA Security. http://www.rsasecurity.com

47. Ryan T.W. Distributed Object Technology: Concepts and Applications. Prentice Hall, 1996

48. Sai-Lai Lo, Riddoch D. The omniORB2 version 2.8 User's Guide. AT&T Laboratories Cambridge, 1999

49. Shen J.T. Program Development in UNIX. Case Study Approach. Prentice Hall, 19971.l

50. Signore Robert, Creamer John, Stegman Michael O. The Odbc Solution: Open Database Connectivity in Distributed Environments. McGraw Hill, 1995

51. Srinivasan. R. RPC: Remote Procedure Call Protocol Specification Version 2". RFC 1831. 1995

52. Stevens W.R. TCP/IP Illustrated, Vol 1. Addison-Wesley, 1994

53. Stevens W.R. TCP/IP Illustrated, Vol 3. Addison-Wesley, 1994

54. Stevens W.R. Unix Network Programming. Vol 1. Second Edition. Prentice Hall, 1998

55. SyBase. http://www.sybase.com

56. TCP Denial of Service. CERT, Advisory CA-98.13, 1996.

57. TCP SYN Flooding and IP Spoofing Attacks. CERT, Advisory CA-96.21, 1996.

58. The Apache Project, http://www.apache.org/httpd.html

59. The Common Object Request Broker: Architecture and Specification. Object Management Group Inc., 1999

60. Thread Extension for Portable Operating Systems. IEEE POSIX PI003,4a, 1994

61. Tuthill В., Smallberg D. Creating Worldwide Software: Solaris International Developer's Guide. Prentice Hall, 1996

62. Vahalia U., UNIX Internals. Prentice Hall, 1996

63. Van Der Linden, Peter. Expert С Programming: Deep С Secrets. Prentice Hall, 1994

64. Vessey I., Skinner G. Implementing Berkley Sockets in System V Release 4. -Proceedings of the Winter 1990 USENIX Technical Conference, Jan. 1990

65. Беляков М.И., Рабовер Ю.И., Фридман A.Jl. Мобильная операционная система. -М.: Радио и связь, 1991

66. Бронштейн О.А., Духовный И.М. Модели приоритетного обслуживания в информационно-вычислительных системах. Москва, 1976112

67. Брюхов Д.О., Задорожный В.И., Калиниченко Л.А., Курошев М.Ю., Шумилов С.С. Интероперабельные информационные системы: архитектуры и технологии. -СУБД, №4, 1995

68. Волков Д.А. Доступ к базам данных посредством технологии WWW. Сборник статей «Имитационное моделирование и автоматизация программирования», М.: Изд. МГУ, 1997

69. Волков Д.А. Информационные проекты компании «Демос-Интернет». — Доклад на международном совещании «Интернет-Россия», Дубна, Сентябрь 1999

70. Волков Д.А. Концепция универсального сервера для архитектуры клиент-сервер. -Программирование №6 2000

71. Волков Д.А. Методы реконструкции унаследованных систем. Открытые Системы, №1-2, 2000

72. Волков Д.А. Универсальный сервер Unis. Открытые Системы, №11-12 1999

73. Волков Д.А. Электронная торговля в Интернет, конференция Ассоциации Документальной Электросвязи «Электросвязь: состояние и перспективы развития», Москва, 1999.

74. Гарольд Э.Р. Java Beans. Разработка компонентов программного обеспечения,- М: ЛОРИ, 1999

75. Гнеденко Б.В. Приоритетные системы обслуживания. М.:, 1973

76. Гудман, Хидетниеми. Введение в разработку и анализ алгоритмов. М.: Мир, 1981

77. Дайсон П., Операционная система UNIX. Настольный справочник. М.: ЛОРИ, 1997

78. Джамса К., Коуп К. Программирование для Internet в среде Windows. СПб: Питер, 1996113

79. Джейсуол Н. Очереди с приоритетом: Пер. с англ./ Под ред. В.В. Калашникова. -М.:, 1973

80. Ивченко Г.И., Каштанов В.А., Коваленко И.Н. Теория массового обслуживания. -М.: Высшая школа, 1982.

81. Иммитационное моделирование и автоматизация программирования. Сборник статей. М.: Изд. МГУ, 1997

82. Калиниченко J1.A., Когаловский М.Р. Интероперабельность брокеров в стандарте CORBA 2.0 Открытые Системы, №3 1996

83. Клименко С., Уразметов В. Internet. Среда обитания информационного общества. -ОНТИ ПНЦ РАН, 1995

84. Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы. М.: Мир, 1976

85. Кнут Д. Искусство программирования для ЭВМ. Т.2. Получисленные алгоритмы. -М.: Мир, 1997

86. Кнут Д. Искусство программирования для ЭВМ. Т.З. Сортировка и поиск. М.: Мир, 1978

87. Кузнецов С.Д. Введение в базы данных. СУБД, №1-4 1995, №1-6 1996

88. Ладыженский Г.М. Tuxedo System: разработка систем клиент-сервер. СУБД, №12, 1996

89. Ладыженский Г.М. Технология клиент-сервер и мониторы транзакций. Открытые системы, №3, 1994

90. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980

91. Саати Т.Л. Элементы теории массового обслуживания. М.: Советское радио, 1965

92. Инициализация сервисов totalpri=0;for (i=l;i<=conf->totalblocks;++i) if (conf->blocks1.tp==OT SERVER) {

93. Services *curs=srv; double S;double Ut,Nt,Rt,St,R; double Stime=0.0;

94. Открываем файл для записи статистикиif (conf->getconfvalue(0,"STATFILE"))if ((fv=fopen(conf->getconfvalue(0,"STATFILE"),"w"))!=NULL) fstat=l;fprintf(fv,"Service\t\tServ.\tFlow\tReject\tReq.\tS.Time\tR.Time\tUtil.\ ") ;actserv=0; sumpri=0;

95. Для каждого сервиса вычисляем текущие параметры127while (curs!=NULL) { double pO;int startn, endn, calcns;pthreadmutexlock(&curs->serv->slock);

96. Текущее число обработчиковcalcns=curs->serv->nservers>0?curs->serv->nservers:1;

97. Среднее время обработки запросов

98. Stime=curs->serv->sstat.stime;1. Вероятность простоярО=РО(curs->serv->sstat.flowin, Stime, calcns,curs->serv->queuelen);1. Загрузка

99. Ut=(1.0-p0)*100; // Среднее число запросов в системе Nt=0 ;for (i=l;i<=calcns+curs->serv->queuelen;++i) Nt+=Pk{pO,curs->serv->sstat.flowin, Stime, calcns,i)*i;

100. Сбрасываем число обработчиков до минимума, если нет активности if (р0>1.0-PDELTA) endn=curs->serv->minservers; else {

101. В противном случае вычисляем оптимальное число обработчиков итерационным методомif (Pk(pO,curs->serv->sstat. flowin,

102. Stime,k,k+1)>PDELTA) startn=k; else endn=k;if (curs->serv->sstat.flowout>0) { // Время ответа теоретическое

103. Rt=Nt/curs->serv->sstat.flowout; // Время ответа реальное

104. R=curs->serv->sstat.requests/curs->serv->sstat.flowout; if (R<curs->serv->sstat.stime) R=curs->serv->sstat.stime;else { Rt=0 ; R=0 ;

105. Вероятность отказа теоретическая

106. St=Pk(pO,curs->serv->sstat.flowin, Stime, calcns,calc ns+curs->serv->queuelen)*100; // Вероятность отказа реальнаяif (curs->serv->sstat.flowin>0)