Є ще 3 сторінки.

Дивитися все сторінки або завантажити PDF файл.

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

1. Система для маршрутизації повідомлень в комунікаційній мережі, що має декілька вузлів, при цьому кожен вузол включає декілька серверів, сполучених один з одним, яка відрізняється тим, що при одержанні пакета для доставки заданому одержувачеві першим сервером з декількох серверів першого вузла у декількох вузлах, вказана система адаптована:

- визначати, чи з'єднаний заданий одержувач з першим сервером і, якщо одержувач з'єднаний з вказаним першим сервером, доставляти пакет;

при цьому вказана система далі адаптована при визначенні, що заданий одержувач не з'єднаний з першим сервером, визначати, чи містить пакет цільову адресу і направляти пакет за цільовою адресою для доставки, а в разі, якщо даний пакет не містить цільової адреси, система направляє пакет до реєстру, при цьому реєстр адаптований:

- запрошувати щонайменше одну базу даних для одержання профілю користувача заданого одержувача; і

- направляти даний пакет заданому одержувачеві, виходячи з інформації, що міститься в даному профілі користувача.

2. Система за п. 1, яка відрізняється тим, що система далі адаптована визначати, чи з'єднаний заданий одержувач з яким-небудь сервером з декількох серверів вказаного першого вузла і доставляти пакет до сервера, з яким з'єднаний заданий одержувач, у вказаному першому вузлі перед визначенням того, чи містить даний пакет цільову адресу.

3. Система за п. 1, яка відрізняється тим, що перший сервер з декількох серверів адаптований очищувати інформацію маршрутизації в пакеті при спрямуванні пакета в необхідне місце призначення.

4. Система за одним з пунктів 1-3, яка відрізняється тим, що реєстр включає декілька серверів, сполучених один з одним.

5. Система за одним з пунктів 1-4, яка відрізняється тим, що декілька серверів кожного вузла розподілені по певній кількості географічних місць у зоні обслуговування кожного з вузлів.

6. Система за одним з попередніх пунктів, яка відрізняється тим, що профіль користувача містить інформацію відносно останнього відомого місця знаходження заданого одержувача у комунікаційній мережі, а пакет спрямовують до останнього відомого місця знаходження заданого одержувача.

7. Система за одним з попередніх пунктів, яка відрізняється тим, що пакет вибраний з щонайменше одного з пакетних класів: пакети повідомлень, інформаційні пакети або пакети контролю присутності.

8. Система за п. 7, яка відрізняється тим, що система налаштована обробляти кожен пакет відповідно до заздалегідь визначеного набору правил для кожного класу, у відповідь на неодержання реєстром профілю користувача заданого одержувача.

9. Система за п. 8, яка відрізняється тим, що система налаштована направляти пакети повідомлень до заданого одержувача через альтернативне середовище, визначене в профілі користувача.

10. Система за п. 9, яка відрізняється тим, що альтернативним середовищем є SMS.

11. Система за п. 8, яка відрізняється тим, що дана система налаштована посилати повідомлення про помилку до джерела пакета для пакетів, віднесених до класу інформаційних пакетів.

12. Система за п. 8, яка відрізняється тим, що дана система налаштована відкидати пакети, віднесені до класу пакетів контролю присутності.

13. Спосіб маршрутизації повідомлень в системі зв'язку, який має декілька вузлів, при цьому кожен вузол включає декілька серверів, сполучених один з одним, при цьому вказаний спосіб відрізняється тим, що включає етапи, на яких:

- одержують на першому сервері у декількох вузлах пакет для заданого одержувача;

- визначають, чи з'єднаний заданий одержувач з першим сервером, і якщо заданий одержувач з'єднаний з першим сервером, то доставляють пакет заданому одержувачеві;

- визначають, чи містить пакет цільову адресу і направляють пакет за цільовою адресою для доставки, при визначенні, що заданий одержувач не з'єднаний з першим сервером;

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

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

14. Спосіб за п. 13, який відрізняється тим, що спосіб далі включає етап очищення цільової адреси в пакеті при спрямуванні даного пакета за цільовою адресою.

15. Спосіб за п. 13 або 14, який відрізняється тим, що етап спрямування пакета реєстром до заданого одержувача засновують на інформації відносно останнього відомого місця знаходження заданого одержувача у комунікаційній мережі, що міститься у профілі користувача заданого одержувача.

16. Спосіб за одним з пунктів 13-15, який відрізняється тим, що пакет вибирають з щонайменше одного з наступних класів пакетів: пакет повідомлень, інформаційний пакет або пакет контролю присутності.

17. Спосіб за п. 16, який відрізняється тим, що спосіб далі включає етап, на якому оброблюють кожен клас пакетів відповідно до заздалегідь визначеного набору правил для кожного класу, у відповідь на неодержання реєстром профілю користувача заданого одержувача.

18. Спосіб за п. 17, який відрізняється тим, що для пакетів класу повідомлень відводиться етап, на якому направляють пакет заданому одержувачеві через альтернативне середовище, вказане в профілі користувача.

19. Спосіб за п. 18, який відрізняється тим, що альтернативним середовищем є "Служба коротких повідомлень" (SMS).

20. Спосіб за п. 18, який відрізняється тим, що спосіб далі включає етап, на якому посилають повідомлення про помилку джерелу пакета для пакетів, віднесених до класу інформаційних пакетів.

21. Спосіб за п. 18, який відрізняється тим, що спосіб далі включає етап, на якому відкидають пакети, віднесені до класу пакетів контролю присутності.

Текст

Реферат: Розкривається система і спосіб для маршрутизації повідомлень в комунікаційній мережі. Дана система включає декілька вузлів для прийняття пакета для доставки заданому одержувачеві, при цьому система адаптована визначати, чи з'єднаний заданий одержувач з першим вибраним вузлом з декількох вузлів і, якщо одержувач з'єднаний з першим вибраним вузлом, то доставляти пакет; а якщо визначається, що одержувач не з'єднаний з першим вибраним вузлом декількох вузлів, то система далі адаптована визначати, з яким вузлом з декількох вузлів з'єднаний заданий одержувач і направляти пакет до вузла, з яким з'єднаний заданий одержувач. UA 100582 C2 (12) UA 100582 C2 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 55 60 ТЕХНІЧНА ОБЛАСТЬ ВИНАХОДУ Даний винахід належить до систем і способів для маршрутизації інформації. Зокрема, хоча не виключно, даний винахід відноситься до маршрутизації повідомлень і даних в мережі мобільного зв'язку. РОЗГЛЯД ПЕРЕДУМОВ ДО СТВОРЕННЯ ВИНАХОДУ Постійно зростаюча популярність роботи з повідомленнями і форматами мобільних даних, такими як SMS, MMS, VOIP, електронна пошта, миттєві повідомлення, відео повідомлення, живе потокове відео і так далі, покладає навантаження, що усе збільшується, на пропускну спроможність мережі. Трафік, що збільшується, впливає на ефективність мережі. Для поліпшення швидкості передачі даних, багато провайдерів використовують форми, при яких обмежується швидкість передачі даних, яка надається різним користувачам, які перевищують встановлені межі використання. Впливи збільшеного трафіку даних є набагато помітнішими у багатьох з нинішніх базових систем мобільного зв'язку. По суті, у міру просування вперед мобільних технологій від мобільного пристрою першого покоління до другого і покоління 2.5 і більш недавнього третього покоління, трафік даних експоненційно зріс. Це відбувалося в основному завдяки забезпеченню додаткової смуги частот. Проте, ефективність передачі даних через мобільні мережі мають швидкість, обмежену апаратними компонентами мережі. Апаратні засоби не лише обмежують швидкість передачі даних, вони також обмежують кількість користувачів, яку може обслугувати будь-який з вузлів при мережі у будь-який конкретний час. Враховуючи постійне збільшення кількості даних у мережах мобільного зв'язку, існує явна необхідність в системі роботи з повідомленнями і способі, що здатний не лише оперувати з потоком даних даної мережі, але й без зусиль може розширюватися для обслуговування, з метою збільшення даних. КОРОТКИЙ ВИКЛАД ВИНАХОДУ Розкриття винаходу Відповідно, в одному аспекті даного винаходу надається система для маршрутизації повідомлень у комунікаційній мережі, при цьому вказана система включає: декілька вузлів для прийняття пакету для доставки заданому одержувачеві, де система адаптується для визначення того, чи з'єднаний заданий одержувач з першим вибраним вузлом з декількох вузлів, і якщо даний одержувач з'єднаний з першим вибраним вузлом, доставляти пакет, а якщо визначено, що одержувач не з'єднаний з першим вибраним вузлом з декількох вузлів, система додатково адаптується для визначення, з яким вузлом з декількох вузлів з'єднаний заданий одержувач і направляти пакет до того вузла, з яким з'єднаний заданий одержувач. Переважно, кожен вузол з декількох вузлів включає декілька серверів, з'єднаних один з одним. Відповідно, кожен вузол містить перший сервер з декількох серверів, при цьому вказаний перший сервер адаптовано так, щоб визначити, чи з'єднаний заданий одержувач з, щонайменше, одним сервером з декількох серверів на вузлі. Перший сервер може бути адаптованим для визначення, чи містить пакет цільову адресу вузла, до якого пакет має бути направлений. Переважно, перший сервер адаптований очищувати маршрутну інформацію в пакеті при спрямуванні пакету в необхідне місце призначення. Якщо пакет повідомлення не містить будь-якої маршрутної інформації і перший сервер визначає, що заданий одержувач не з'єднаний з його вузлом, тоді перший сервер адаптують спрямовувати даний пакет повідомлення до реєстру. Реєстр може включати один або більш серверів. Відповідно, реєстр включає перший сервер адаптований для здійснення запиту, щонайменше, у одній базі даних про інформацію відносно місця знаходження останнього вузла, з яким був з'єднаний заданий одержувач. Якщо, щонайменше, одна база даних містить інформацію про останнє відоме місце знаходження даного заданого одержувача, то перший сервер реєстру направляє пакет на перший сервер визначеного вузла. Відповідно, реєстр може запитувати декілька баз даних або одночасно, або послідовно. База даних може знаходитися в одному місці або бути розподіленою по мережі. Переважно, декілька серверів в кожному вузлі і/або кожному реєстрі може займати те ж саме фізичне місце. Альтернативно, сервери з кожного вузла і/або реєстру можуть бути розподілені по різних місцях вузлі/реєстрі, в такому разі, сервери групують в кластери. Пакети можуть включати пакети повідомлень, пакети інформації або пакети контролю присутності. Якщо пакет є пакетом повідомлення і система не може визначити місце знаходження одержувача, система робить спробу доставити пакет відповідно до заздалегідь визначеного набору правил. Правила доставки можуть включати (але не обмежуються цим) доставку CMC, доставку електронної пошти і/або доставку через інше альтернативне 1 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 55 60 середовище. Якщо пакет є інформаційним пакетом, система посилає назад відправникові повідомлення пакет помилки "не знайдено". Якщо пакет повідомлення є пакетом контролю присутності, система відкидає пакет. У подальшому аспекті даного винаходу, забезпечується спосіб маршрутизації повідомлень в якій-небудь системі зв'язку, при цьому вказаний спосіб включає: одержання на першому вузлі з декількох вузлів пакету для заданого одержувача; визначення того, чи з'єднаний заданий одержувач з вузлом, і якщо заданий одержувач з'єднаний з вузлом - доставляють пакет заданому одержувачеві, а якщо даний одержувач не з'єднаний з першим вузлом визначають, з яким з декількох вузлів з'єднаний заданий одержувач і спрямовують пакет до вузла, з яким з'єднаний заданий одержувач. Даний спосіб може далі включати етап спрямування даного пакету до реєстру, у випадку, якщо етап визначення не може ідентифікувати вузол, з яким з'єднаний заданий одержувач. Даний спосіб може також включати етап запиту в одній або більш базах даних для визначення того вузла, який був останнім вузлом, з яким заданий одержувач був з'єднаний, і спрямування пакету до вузла, на основі інформації, зчитаної з вказаної одної або більш баз даних. Переважно, даний спосіб включає етап спрямування пакету одержувачеві на основі заздалегідь визначених правил. КОРОТКИЙ ОПИС ГРАФІЧНОГО МАТЕРІАЛУ Для легшого розуміння і практичного здійснення даного винаходу, тепер робиться звернення до супровідного графічного матеріалу, який показує переважні варіанти здійснення винаходу, і де: Фіг. 1 - це схематичне зображення, що показує систему для маршрутизації пакетів згідно одному варіанту здійснення даного винаходу; Фіг. 2 - це блок-схема, що показує процес маршрутизації згідно одному варіанту здійснення даного винаходу; Фіг. 3 - це схематичне зображення, що показує взаємне розташування зв'язків між компонентами мережі в умовах процесу маршрутизації згідно одному варіанту здійснення даного винаходу; Фіг. 4 - це схематичне зображення, що показує процес, що використовується сервером реєстру для визначення місця розташування шарда даних, згідно одному варіанту здійснення даного винаходу. ОПИС ВАРІАНТІВ ЗДІЙСНЕННЯ ВИНАХОДУ Зрозуміло, що впродовж всього опису терміни "Підключення" і "Реєстр" при використанні у зв'язку з описом архітектури системи, відносяться до компонентів логічного сервера, що оперують зв'язком кінцевих користувачів/пристроїв (Підключення) і бази даних/доступ до даних постійного зберігання (Реєстр). Схожим чином, термін "місце знаходження" використовується для позначення "місця знаходження якого-небудь користувача або пристрою", яке слід називати єдиним ідентифікатором для "Підключення", як визначено вище. Це може бути, наприклад, IP адреса, проте архітектура передбачає будь-який інший метод адресації. Термін "База даних" також використовується просто для позначення сховища даних, і не має на увазі якого-небудь конкретного способу зберігання даних (такого як база даних SQL-типу) або яку-небудь конкретну систему або продукт управління базами даних. Відносно фіг. 1, на якій зображено один приклад системи 100 для маршрутизації пакету 102 згідно одному варіанту здійснення даного винаходу. Пакети в цьому конкретному прикладі можуть включати пакети повідомлень, інформаційні пакети і пакети контролю присутності. Якщо використовується протокол ХМРР, то ці пакети співвідносяться з рядками файлу конфігурації , і , відповідно. В даному прикладі, вихідний клієнт 101 задає формат пакету 102 і направляє на перший вибраний сервер 104а з декількох серверів (кластер) 104а, 104b, 104с у першому вибраному вузлі 103а з декількох вузлів 103а, 103b, 103с і 103d (мережі) для доставки заданому одержувачеві 108. Як тільки пакет 102 доставляється до першого сервера 104а у вибраному вузлі 103а, перший сервер 104а визначає, чи з'єднаний заданий одержувач 108 з першим сервером 104а. Якщо одержувач з'єднаний з сервером 104а, тоді сервер переходить до доставки пакету (місцева доставка) до заданого одержувача 108. Якщо одержувач 108 не з'єднаний з сервером 104а, 104b, 104с у кластері, тоді перший сервер 104а переходить до перевірки того, чи містить пакет 102 цільову адресу. Наприклад, пакет 102 може вказувати сервер 104с у вузлі 103с як цільову адресу, в цьому випадку, сервер 104а у вузлі 103а направляє пакет 102 безпосередньо до сервера 104с у вузлі 103с. Фахівцям в цій галузі техніки буде зрозуміло, що пакет міг би бути спрямованим в обхід до сервера 104с у 2 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 55 вузлі 103с через будь-який з вузлів 103b, 103d, до 103с, при цьому перший сервер 104а у вузлі 103с міг би потім прийняти доставку пакету 102, до спрямування пакету 102 до сервера 104с для доставки одержувачеві 108. В разі, якщо одержувач 108 не з'єднаний з сервером 104а, і пакет не містить вказаної цільової адреси, тоді сервер 104а у вузлі 103а направляє пакет до реєстру 105. Для ясності і легкості опису, даний приклад показаний таким, що включає лише один реєстр 105, проте фахівцям у цій області буде зрозуміло, що дана система може включати будь-яку кількість реєстрів 105. Як показано, реєстр 105 включає декілька серверів 106а, 106b, 106с (кластер серверів реєстру). Як тільки даний пакет 102 доставляється до першого сервера 106а з декількох серверів (кластера) 106а, 106b, 106с, сервер 106а запрошує одну або більше баз даних 107а, 107b, 107с щодо інформації відносно останнього відомого місця знаходження заданого одержувача 108. Якщо інформація про останнє місце знаходження заданого одержувача 108 є доступною, то перший сервер 106а направляє пакет до сервера 104а, 104b, 104с у відповідному вузлі 103а, 103b, 103с і 103d, з яким одержувач 108 був востаннє з'єднаний. У даному прикладі, інформація, одержана від баз даних, вказувала, що одержувач 108 востаннє був з'єднаний з сервером 104а у вузлі 103d, в цьому випадку, сервер 106а направляє пакет 102 до сервера 104а у вузлі 103d для доставки. У випадку, якщо одержувач 108 з того часу змінив місце знаходження, сервер 104а може обробити пакет як було описано вище, або маршрутизувати далі. Подальші подробиці про спосіб маршрутизації пакетів між різними вузлами і так далі описуються нижче у зв'язку з Фіг. 2. У подальшому варіанті здійснення даного винаходу, перший сервер 104а при визначенні, що заданий одержувач 108 не з'єднаний з першим сервером 104а, може спочатку провести пошук залишених серверів 104b, 104с у кластері, що міститься у вузлі 103а, для визначення того, чи з'єднаний заданий одержувач 108 з одним з залишених серверів 104b, 104с. Якщо заданий одержувач з'єднаний з одним з залишених серверів 104b, 104с, то сервер 104а направляє пакет до сервера (в цьому випадку сервера 104b), з яким одержувач 108 з'єднаний. Потім сервер 104b доставляє пакет одержувачеві 108. Як говорилося вище, сервери у вузлах 103а, 103b, 103с і 103d і реєстр 105 розміщені кластерами. Кластери зазвичай складаються з певного числа серверів, між якими існує, щонайменше, одне мережеве з'єднання. Таким чином, сервери можуть бути географічно розподілені по зоні обслуговування даного вузла, за умови, що існує мережеве з'єднання між серверами. Не дивлячись на те, що в описі вище було проведено відмінність між реєстром і вузлами, фахівцям в цій області буде зрозуміло, що дана відмінність проводилася лише для ясності опису будь-якого кластера серверів у даному вузлі, що може бути кластером типу Підключення або Реєстр. Відносно Фіг. 2, на якій зображено блок-схему, що показує приклад процесу маршрутизації, який може застосовуватися в системі Фіг. 1, що описана вище. Тут пакету 102 задається формат і він доставляється серверу 104а Підключення у вузлі 103а. Оскільки усередині мережі існує декілька вузлів 103а, 103b, 103с, 103d, то одержувач 108 може бути з'єднаний з будь-яким з серверів 104а, 104b, 104с Підключення у кластері серверів, що міститься у даному вузлі. Таким чином, сервер 104а Підключення, що оброблює пакет, здійснює перевірку 201 для виявлення того, чи з'єднаний на місці заданий одержувач з сервером 104а, що оброблює пакет. Якщо результат перевірки - "так", то це означає, що одержувач пакету був знайдений і з'єднаний з сервером 104а, що керує обробкою на даний момент. Отже, сервер 104а переходить до місцевої доставки 202 пакету 102 (тобто в разі, якщо одержувач 108 з'єднаний з сервером 104). Якщо перевірка 201 повертає відповідь "ні", то сервер 104а Підключення повинен ініціювати процедуру пошуку для визначення місця знаходження заданого одержувача 203. При здійсненні цієї процедури пошуку, сервер 104а. Підключення переходить до перевірки того, чи містить пакет 102 "кінцевий пункт маршрутизації" 203. Інформація маршрутизації в даному випадку, є виключним ідентифікатором, що визначає даний сервер Підключення у кластері 104а, 104b, 104с (це може бути, наприклад, IP адреса вказаного сервера, проте також можуть застосовуватися інші методи адресації) до якого має бути направлений пакет. Таким чином, клієнт, що відправляє, може використовувати додаткове поле "призначення маршрутизації" в пакеті 102 для зажадання маршрутизації до конкретного сервера Підключення, при цьому клієнт або знає, або може зробити вивід про місце знаходження або вірогідне місце знаходження вузла 103а, 103b, 103с, 103d, що містить сервер 104а, 104b, 104с Підключення, з яким з'єднаний одержувач 108. 3 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 55 60 Якщо пакет 102 містить інформацію маршрутизації, сервер 104а Підключення, що керує обробкою пакету 102, потім направляє пакет 102 до сервера 104а, 104b, 104с Підключення, визначеного в інформації маршрутизації. Потім інформація маршрутизації "очищується" або стирається 204 для запобігання безконечній маршрутизації пакету 102 уздовж одного і того ж напряму по кругу, коли пакет обробляється релевантним сервером Підключення у релевантному вузлі призначення. Якщо одержувач-адресат не з'єднаний з сервером 104а Підключення, що робить обробку, і якщо в пакеті 102 не вказано призначення маршрутизації, то сервер 104а Підключення направляє (етап 205) пакет 102 до вибраного сервера 106а Реєстру у кластері серверів 106а, 106b, 106с реєстру для визначення місця знаходження заданого одержувача 108. Сервер 104а Підключення, що робить обробку, визначає відповідний для цього сервер 106а, 106b, 106с Реєстру, використовуючи для цього будь-який необхідний спосіб (це може бути найближчий сервер Реєстру або самий менш навантажений сервер, або просто довільно вибраний з відомих доступних Реєстрів, або будь-який інший спосіб). Як тільки пакет 102 досяг сервера 106а Реєстру, сервер 106а Реєстру потім шукає дані одержувача в одній або більш базах даних 107а, 107b, 107с (наприклад, облікові дані одержувача і т. п.). Бази даних 107а, 107b, 107с можуть подібно до серверів Підключення і Реєстру розміщуватися кластерами, розподіленими по мережі, тим самим даючи можливість даним одержувача зберігатися у більш ніж одній базі даних у мережі. У таких випадках, всі сервери 106а, 106b, 106с Реєстру конфігуруються необхідною інформацією для визначення місця зберігання наданих даних користувача і щодо способу з'єднання з ними. Використовуючи свою інформацію конфігурації, сервер 106а Реєстру, що оброблює пакет 102 з'єднується з відповідною базою даних 107а, 107b, 107с (якщо не був з'єднаний раніше), і запрошує від бази даних 206 дані профілю користувача заданого одержувача 108. Як тільки сервер 106а визначає місце знаходження даних профілю користувача усередині релевантної бази даних 107а, 107b, 107с, сервер 106а Реєстру потім переходить до перевірки того, чи відоме 207 останнє місце знаходження облікових даних користувача одержувача ("місце знаходження" використовується тут як визначено вище, - це єдиний ідентифікатор якогонебудь сервера Підключення у даному вузлі у мережі). Так само, "останнє місце знаходження" тут відноситься до сервера 104а, 104b, 104с Підключення, який був найостаннішим при обслуговуванні заданого одержувача 108. До спрямовування пакету 102 сервером 106а Реєстру до останнього відомого сервера 104а, 104b, 104с Підключення, який був останнім при обслуговуванні заданого одержувача, здійснюється 208 подальша перевірка для визначення того, чи був вже направлений пакет яким-небудь сервером 106а, 106b, 106с Реєстру до якогонебудь сервера 104а, 104b, 104с Підключення. Якщо він був направлений, то пакет не буде спрямовано повторно. У разі, якщо пакет 102 ще не був спрямований Реєстром 106а, 106b, 106с, то Реєстр 106а, що на даний момент оброблює пакет, позначає пакет 102 інформацією, що показує, що пакет був спрямований сервером 106а Реєстру, що на даний момент оброблює даний пакет. Сервер 106а Реєстру потім направляє 209 пакет 102 до відповідного сервера 104а, 104b, 104с Підключення. Релевантний сервер 104а, 104b, 104с Підключення потім продовжує обробляти пакет згідно описаному вище. Позначення пакету 102 таким чином забезпечує, відсутність утворення нескінченного циклу, що перекидатиме пакет між сервером Реєстру і сервером Підключення, коли пакет 102 наступного разу проходитиме через перевірку 208. Якщо місце знаходження одержувача не може бути визначене сервером 106а Реєстру, то робиться висновок, що одержувач 108 пакету в даний час 210 не з'єднаний ні з одним з серверів 104а, 104b, 104с Підключення. Іншими словами, даний заданий одержувач 108 "не в мережі". Тоді протокол визначає до якого класу належить 211 (тобто повідомлення, інформаційний або контролю присутності) пакет 102. Залежно від того, до якого типа належить пакет відрізняється те, яким чином процес маршрутизації оброблює пакет. У випадку якщо це "пакет повідомлення", які вважаються "найбільш важливими", система звіриться з набором правил 212 маршрутизації, і прийме відповідне рішення про спосіб подальшої доставки пакету. Правила 212 маршрутизації, що визначають те, яким чином доставляються повідомлення, можуть включати (але не обмежуються цим) доставку SMS, доставку електронної пошти і/або доставку через інше альтернативне середовище. В разі "інформаційних пакетів" (що відповідає рядкам файлу конфігурації IQ в протоколі ХМРР), пакет помилки "не знайдено" (що також часто вказується як помилка 404) посилається назад відправникові вихідного пакету 213. Доставка пакету помилки тоді також слідуватиме тим же описаним тут алгоритмом маршрутизації повідомлень. Пакет помилки не буде посланий в разі, якщо вихідний пакет вже був пакетом помилки (тобто у відповідь на повідомлення про 4 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 55 60 помилки не посилатиметься відповідь повідомлення про помилку). Це знову ж таки запобігатиме виникненню нескінченного циклу. В разі "пакетів контролю присутності", ці пакети вважаються нерелевантними у випадках, коли одержувач інформації не з'єднаний з яким-небудь кластером. Дані пакети, отже, мовчки відкидаються, без посилання будь-якої інформації назад відправникові 214. Як можна бачити з описаного вище, процес маршрутизації згідно одному варіанту здійснення даного винаходу охоплює мережеву систему, що складається з наступних головних компонентів: - Клієнт(и) 101, 108 - Підключення(одне, або більше) 104а, 104b, 104с - Реєстр(и) 106а, 106b, 106c - База (бази) даних 107а, 107b, 107с Взаємовідношення зв'язків між цими компонентами показано на Фіг. 3. Алгоритм маршрутизації точно визначає наступне взаємовідношення зв'язків. Зв'язки Клієнтів Початковий 101 і той, що приймає 108 - з'єднуються лише з серверами 104а, 104b, 104с Підключення. Як показано, один або більше клієнтів 101, 108 можуть з'єднуватися з одним сервером 104а Підключення. Будь-яке число клієнтів може з'єднуватися в будь-який даний момент часу, проте, одні облікові дані клієнта/користувача можуть лише бути сполучені з одним сервером 104а Підключення у будь-який один момент часу. Будь-яку кількість серверів 104а, 104b, 104с Підключення може бути виділено в будь-який даний момент часу. Будь-який сервер Підключення може з'єднуватися з будь-яким сервером 106а, 106b, 106с Реєстру. Сервер 104а Підключення може з'єднуватися з декількома реєстрами одночасно якщо це потребується. Будь-який сервер 106а, 106b, 106с Реєстру може мати доступ до будь-якої Бази даних 107а, 107b, 107с. Реєстр може з'єднуватися до декількох баз даних одночасно якщо так потрібно. Будь-який сервер Реєстру може з'єднуватися з будь-яким сервером Підключення (для спрямування повідомлень як описано вище). "Підключення", "Реєстр" і "База даних" використовуються вище як логічні елементи системи, і вони можуть бути або можуть не бути використані на окремому фізичному сервері, або можуть бути використані на комплексі устаткування. Як правило, продуктивність, що потребується визначає фізичну конфігурацію необхідної системи. Процес маршрутизації даного винаходу потребує відсутності залежності від системи управління або методології якої-небудь конкретної бази даних. У одному варіанті здійснення даного винаходу, проте, процес може використовувати комбінацію шардінгу і тиражування баз даних, що описується детальніше нижче. "Шард" використовується в даному описі для позначення "розділення бази даних", що представляє спосіб розподілу великої кількості даних по декількох окремо встановлених сховищах даних СУБД. "Сховище даних СУБД" в даному описі, зазвичай, використовується для позначення певного сервера, що працює з СУРБД (системою управління реляційною базою даних), проте це не обов'язково так, і тут був би прийнятним будь-який спосіб зберігання даних. Як показано на Фіг. 4, в операційному середовищі колективного користування, будь-якому серверу 106а Реєстру необхідно завжди визначати точне місце знаходження сховища даних для будь-якої дії і здійснювати операцію на відповідному шардові. Наприклад, якщо шард, що потребується - це шард "номер 2", то сервер 106а Реєстру визначає, що шард зберігається у базі даних 107а. Сервер 106а Реєстру потім відшукує даний шард у базі даних 107а і здійснює необхідну дію. Якщо шард, що потребується - це шард "номер 1", а операція - це операція зчитування, то даний сервер 106а Реєстру визначив би, що одна з баз даних 107b, 107с містить релевантний шард, проте, якщо шард, що потребується - це шард "номер 1", але операція - це операція запису (додавання або зміна даних), тоді сервер 106а Реєстру тоді вибирав би базу даних 107b (припускаючи, що тиражування є тиражуванням типу головний-підлеглий). Не дивлячись на те, що вибір шар дів описується відносно доступу до трьох окремих баз даних по яких розподілені дані шарди, фахівцям в цій області буде зрозуміло, що може бути використана окрема база даних, що містить багато позицій. Як було сказано вище, велика база даних може бути розділена на певну кількість шардів (або "розділів"), при цьому для кожного запису в базі даних алгоритм шардингу визначає якому розділу належить запис. Алгоритм шардингу може застосовуватися по-різному, знову ж таки, точний алгоритм повинен диктуватися вимогами щодо розширення. Вказівкою загального порядку для алгоритму шардингу могло б бути наступне: - Для даних, що відносяться до будь-яких конкретних облікових даних користувача в системі, по-перше визначити єдиний ідентифікатор для даного облікового запису користувача ("id користувача") 5 UA 100582 C2 5 10 15 20 25 - Розрахувати хеш даного id користувача, використовуючи відповідну хеш-функцію ("хеш" це термін, що використовується в комп'ютерній термінології, який часто використовується для позначення числової репрезентації рядка, а хеш-функція - це функція, що визначає конкретний алгоритм, що забезпечує дану репрезентацію). Це дає числову репрезентацію id користувача, яке може бути або не бути числовим за своєю природою. - Використання числа хеш, як підставу для виділення шарду. Якщо відоме число шардів, що маються, то це можна просто забезпечити за допомогою простого ділення і роблячи позначку на залишку. Наприклад: 1. Дана система з 8 шардами бази даних, і 2. Хеш (id користувача)=84529823 3. Число шарду бази даних, якому належать записи цього id користувача, могло б бути 84529823 %8=7 (запис а%b тут вказує на виконання ділення "а/b" і потім знаходження залишку обчислення) 4. В даному випадку, шард бази даних був би шард номер 7 Окрім даного алгоритму шардингу потрібний ще один механізм в системі для визначення того, як сервери 106а, 106b, 106с Реєстру повинні досягти даного шарду. Різні механізми можуть бути налаштовані для операцій зчитування і запису для забезпечення тиражування бази даних при конфігурації за типом головний-підлеглий (при якій може робитися запис лише на один фізичний сервер, проте можна мати доступ до декількох серверів для операцій зчитування). Даний механізм визначення місця знаходження шардів може застосовуватися за допомогою простих таблиць конфігурації у серверах 106а Реєстру, при цьому кожен індекс шардів конфігурується (IP) адресами серверів, які можуть діяти як вузли бази даних для даного шарду. Ці адреси можуть позначатися за допомогою прапорців "зчитування" і/або "запис", так, що в будь-який даний момент часу Реєстр знатиме куди з'єднуватися при даній вимозі бази даних. Слід розуміти, що приведені вище варіанти здійснення були представлені лише для ілюстрації даного винаходу, і що його подальші модифікації і удосконалення, які були б очевидними фахівцям у відповідній області, вважаються такими, що потрапляють у межі об'єму даного винаходу, що описано тут. 30 ФОРМУЛА ВИНАХОДУ 35 40 45 50 55 1. Система для маршрутизації повідомлень в комунікаційній мережі, що має декілька вузлів, при цьому кожен вузол включає декілька серверів, сполучених один з одним, яка відрізняється тим, що при одержанні пакета для доставки заданому одержувачеві першим сервером з декількох серверів першого вузла у декількох вузлах, вказана система адаптована: - визначати, чи з'єднаний заданий одержувач з першим сервером і, якщо одержувач з'єднаний з вказаним першим сервером, доставляти пакет; при цьому вказана система далі адаптована при визначенні, що заданий одержувач не з'єднаний з першим сервером, визначати, чи містить пакет цільову адресу і направляти пакет за цільовою адресою для доставки, а в разі, якщо даний пакет не містить цільової адреси, система направляє пакет до реєстру, при цьому реєстр адаптований: - запрошувати щонайменше одну базу даних для одержання профілю користувача заданого одержувача; і - направляти даний пакет заданому одержувачеві, виходячи з інформації, що міститься в даному профілі користувача. 2. Система за п. 1, яка відрізняється тим, що система далі адаптована визначати, чи з'єднаний заданий одержувач з яким-небудь сервером з декількох серверів вказаного першого вузла і доставляти пакет до сервера, з яким з'єднаний заданий одержувач, у вказаному першому вузлі перед визначенням того, чи містить даний пакет цільову адресу. 3. Система за п. 1, яка відрізняється тим, що перший сервер з декількох серверів адаптований очищувати інформацію маршрутизації в пакеті при спрямуванні пакета в необхідне місце призначення. 4. Система за одним з пунктів 1-3, яка відрізняється тим, що реєстр включає декілька серверів, сполучених один з одним. 5. Система за одним з пунктів 1-4, яка відрізняється тим, що декілька серверів кожного вузла розподілені по певній кількості географічних місць у зоні обслуговування кожного з вузлів. 6. Система за одним з попередніх пунктів, яка відрізняється тим, що профіль користувача містить інформацію відносно останнього відомого місця знаходження заданого одержувача у 6 UA 100582 C2 5 10 15 20 25 30 35 40 45 50 комунікаційній мережі, а пакет спрямовують до останнього відомого місця знаходження заданого одержувача. 7. Система за одним з попередніх пунктів, яка відрізняється тим, що пакет вибраний з щонайменше одного з пакетних класів: пакети повідомлень, інформаційні пакети або пакети контролю присутності. 8. Система за п. 7, яка відрізняється тим, що система налаштована обробляти кожен пакет відповідно до заздалегідь визначеного набору правил для кожного класу, у відповідь на неодержання реєстром профілю користувача заданого одержувача. 9. Система за п. 8, яка відрізняється тим, що система налаштована направляти пакети повідомлень до заданого одержувача через альтернативне середовище, визначене в профілі користувача. 10. Система за п. 9, яка відрізняється тим, що альтернативним середовищем є SMS. 11. Система за п. 8, яка відрізняється тим, що дана система налаштована посилати повідомлення про помилку до джерела пакета для пакетів, віднесених до класу інформаційних пакетів. 12. Система за п. 8, яка відрізняється тим, що дана система налаштована відкидати пакети, віднесені до класу пакетів контролю присутності. 13. Спосіб маршрутизації повідомлень в системі зв'язку, який має декілька вузлів, при цьому кожен вузол включає декілька серверів, сполучених один з одним, при цьому вказаний спосіб відрізняється тим, що включає етапи, на яких: - одержують на першому сервері у декількох вузлах пакет для заданого одержувача; - визначають, чи з'єднаний заданий одержувач з першим сервером, і якщо заданий одержувач з'єднаний з першим сервером, то доставляють пакет заданому одержувачеві; - визначають, чи містить пакет цільову адресу і направляють пакет за цільовою адресою для доставки, при визначенні, що заданий одержувач не з'єднаний з першим сервером; - направляють даний пакет до реєстру у відповідь на визначення відсутності вмісту цільової адреси в даному пакеті, при цьому реєстр налаштований запрошувати щонайменше одну базу даних для одержання профілю користувача заданого одержувача; і - направляють даний пакет заданому одержувачеві, виходячи з інформації, що міститься в профілі користувача. 14. Спосіб за п. 13, який відрізняється тим, що спосіб далі включає етап очищення цільової адреси в пакеті при спрямуванні даного пакета за цільовою адресою. 15. Спосіб за п. 13 або 14, який відрізняється тим, що етап спрямування пакета реєстром до заданого одержувача засновують на інформації відносно останнього відомого місця знаходження заданого одержувача у комунікаційній мережі, що міститься у профілі користувача заданого одержувача. 16. Спосіб за одним з пунктів 13-15, який відрізняється тим, що пакет вибирають з щонайменше одного з наступних класів пакетів: пакет повідомлень, інформаційний пакет або пакет контролю присутності. 17. Спосіб за п. 16, який відрізняється тим, що спосіб далі включає етап, на якому оброблюють кожен клас пакетів відповідно до заздалегідь визначеного набору правил для кожного класу, у відповідь на неодержання реєстром профілю користувача заданого одержувача. 18. Спосіб за п. 17, який відрізняється тим, що для пакетів класу повідомлень відводиться етап, на якому направляють пакет заданому одержувачеві через альтернативне середовище, вказане в профілі користувача. 19. Спосіб за п. 18, який відрізняється тим, що альтернативним середовищем є "Служба коротких повідомлень" (SMS). 20. Спосіб за п. 18, який відрізняється тим, що спосіб далі включає етап, на якому посилають повідомлення про помилку джерелу пакета для пакетів, віднесених до класу інформаційних пакетів. 21. Спосіб за п. 18, який відрізняється тим, що спосіб далі включає етап, на якому відкидають пакети, віднесені до класу пакетів контролю присутності. 7 UA 100582 C2 8 UA 100582 C2 Комп’ютерна верстка Л. Ціхановська Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601 9

Дивитися

Додаткова інформація

Назва патенту англійською

Normal;heading 1;message routing platform

Автори англійською

Underwood, John Anthony, Keys, Christopher, Edward, Kero, Markku, Leinonen, Rainer, Delagon, Alvin

Назва патенту російською

Базовая система маршрутизации сообщений

Автори російською

Андервуд Джон Ентони, Киз Кристофер Едвард, Керо Марку, Лейнонен Райнер, Делагон Алвин

МПК / Мітки

МПК: H04L 12/28, H04W 40/00, H04L 12/56

Мітки: система, базова, повідомлень, маршрутизації

Код посилання

<a href="https://ua.patents.su/11-100582-bazova-sistema-marshrutizaci-povidomlen.html" target="_blank" rel="follow" title="База патентів України">Базова система маршрутизації повідомлень</a>

Подібні патенти