Monday 25 December 2017

Modelowanie trading system performance pdf


Architektura handlu podłogowego Architektura handlowa Architektura podłogowa Większa konkurencja, większa ilość danych rynkowych i nowe wymagania prawne są niektórymi siłami napędowymi zmian w branży. Firmy starają się utrzymać przewagę konkurencyjną, ciągle zmieniając swoje strategie handlowe i zwiększając szybkość obrotu. Sprawna architektura musi zawierać najnowsze technologie zarówno z domen sieciowych, jak i aplikacji. Musi on być modułowy, aby zapewnić łatwą do opanowania ścieżkę ewoluowania każdego komponentu przy minimalnym zakłóceniu całego systemu. Dlatego architektura zaproponowana w tym dokumencie opiera się na strukturze usług. Badamy takie usługi, jak przesyłanie komunikatów o bardzo niskim opóźnieniu, monitorowanie opóźnień, transmisję grupową, obliczanie, przechowywanie, wirtualizację danych i aplikacji, odporność na handel, mobilność handlową i cienki klient. Rozwiązanie złożonych wymagań platformy transakcyjnej nowej generacji musi zostać zbudowane z uwzględnieniem całościowego sposobu myślenia, przekraczając granice tradycyjnych silosów, takich jak biznes i technologia lub aplikacje i sieci. Głównym celem tego dokumentu jest dostarczenie wytycznych do budowy platformy transakcyjnej o bardzo niskim opóźnieniu przy jednoczesnej optymalizacji nieprzetworzonej przepustowości i szybkości przesyłania danych zarówno na rynku, jak i zleceń transakcyjnych FIX. Aby to osiągnąć, proponujemy następujące technologie zmniejszania opóźnień: Szybkie połączenie między łączamiInfiniBand lub 10 Gb / s dla klastra handlowego Szybka magistrala przesyłania komunikatów Akceleracja aplikacji za pośrednictwem RDMA bez ponownego kodowania aplikacji Monitorowanie opóźnień w czasie rzeczywistym i zmiana kierunku działania handel na ścieżce przy minimalnym opóźnieniu Przemysł Trendy i wyzwania Architektury handlu nowej generacji muszą reagować na zwiększone zapotrzebowanie na szybkość, objętość i wydajność. Na przykład, ilość danych rynkowych dotyczących opcji prawdopodobnie podwoi się po wprowadzeniu opcji w handlu groszowym w 2007 r. Istnieją również wymogi regulacyjne dotyczące najlepszej realizacji, które wymagają obsługi aktualizacji cen po stawkach zbliżających się do 1M msgsec. do wymiany. Wymagają również wglądu w świeżość danych i dowodu, że klient uzyskał najlepszą możliwą realizację. W krótkim okresie kluczowe znaczenie ma szybkość obrotu i innowacyjność. Coraz większa liczba transakcji jest obsługiwana przez algorytmiczne aplikacje handlowe umieszczone jak najbliżej miejsca realizacji transakcji. Wyzwaniem dla tych silników handlujących notacjami giełdowymi jest to, że łączą one wzrost wolumenu poprzez wydawanie zamówień tylko po to, aby je anulować i ponownie przesłać. Przyczyną tego zachowania jest brak widoczności, w którym obiekt oferuje najlepsze wykonanie. Handlarz ludźmi jest teraz inżynierem ds. Finansów, cytuje quaquantquot (analityk ilościowy) z umiejętnościami programistycznymi, którzy mogą w czasie rzeczywistym dostosować modele transakcyjne. Firmy opracowują nowe instrumenty finansowe, takie jak derywaty pogodowe lub transakcje między klasami aktywów, i muszą szybko wdrażać nowe aplikacje w skalowalny sposób. W dłuższej perspektywie konkurencyjne zróżnicowanie powinno wynikać z analizy, a nie tylko z wiedzy. Gwiazdowi handlowcy jutra podejmują ryzyko, zdobywają rzeczywistą wiedzę o kliencie i konsekwentnie pokonują rynek (źródło: IBM: www-935.ibmservicesusimcpdfge510-6270-trader. pdf). Od 11 września 2001 roku jednym z głównych problemów firm handlowych jest odporność firmy. Rozwiązania w tym zakresie obejmują od redundantnych centrów danych znajdujących się w różnych lokalizacjach geograficznych i połączone z wieloma systemami handlu do wirtualnych rozwiązań dla traderów oferujących inwestorom energetycznym większość funkcji podłogi handlowej w odległej lokalizacji. Branża usług finansowych jest jednym z najbardziej wymagających pod względem wymagań IT. Branża przeżywa zmiany architektoniczne w kierunku architektury zorientowanej na usługi (SOA), usług sieciowych i wirtualizacji zasobów IT. SOA wykorzystuje wzrost szybkości sieci, aby umożliwić dynamiczne wiązanie i wirtualizację komponentów oprogramowania. Pozwala to na tworzenie nowych aplikacji bez utraty inwestycji w istniejące systemy i infrastrukturę. Koncepcja może zrewolucjonizować sposób integracji, umożliwiając znaczne zmniejszenie złożoności i kosztów takiej integracji (gigaspacesdownloadMerrilLynchGigaSpacesWP. pdf). Kolejnym trendem jest konsolidacja serwerów w farmach serwerów centrów danych, podczas gdy działy handlowców mają tylko rozszerzenia KVM i ultra-cienkie klienty (np. SunRay i rozwiązania blade HP). Szybkie sieci metra umożliwiają transmisję danych rynkowych między różnymi lokalizacjami, umożliwiając wirtualizację hali. Architektura wysokiego poziomu Rysunek 1 przedstawia architekturę wysokiego poziomu w środowisku transakcyjnym. Fabryka ticker i algorytmiczne silniki transakcyjne znajdują się w klastrze transakcyjnym o wysokiej wydajności w centrum danych firm lub na giełdzie. Handlarze ludźmi znajdują się w obszarze aplikacji użytkownika końcowego. Funkcjonalnie istnieją dwa komponenty aplikacji w środowisku handlowym przedsiębiorstwa, wydawców i subskrybentów. Magistrala komunikacyjna zapewnia ścieżkę komunikacji między wydawcami i subskrybentami. Istnieją dwa typy ruchu specyficzne dla środowiska handlowego: dane rynkowe Ceny informacji o cenach instrumentów finansowych, wiadomości i innych informacji o wartości dodanej, takich jak dane analityczne. Jest wrażliwy jednokierunkowo i bardzo wrażliwy na opóźnienia, zwykle dostarczany przez multicast UDP. Jest mierzony w updatessec. i w Mbps. Dane rynkowe płyną z jednego lub wielu zewnętrznych źródeł, pochodzących od dostawców danych rynkowych, takich jak giełdy, agregatory danych i sieci ECN. Każdy dostawca ma swój własny format danych rynkowych. Dane są odbierane przez procedury obsługi kanałów, wyspecjalizowane aplikacje, które normalizują i czyszczą dane, a następnie wysyłają je do użytkowników danych, takich jak silniki cenowe, aplikacje do handlu algorytmicznego lub osoby handlujące ludźmi. Firmy sprzedające również przesyłają dane rynkowe swoim klientom, firmom kupującym, takim jak fundusze inwestycyjne, fundusze hedgingowe i inne podmioty zarządzające aktywami. Niektóre firmy kupujące mogą zdecydować się na bezpośrednie przekazywanie danych z giełd, co zmniejsza opóźnienia. Rysunek 1 Architektura handlowa dla bocznej firmy Buy SideSell Nie ma standardu branżowego dla formatów danych rynkowych. Każda wymiana ma swój zastrzeżony format. Dostawcy treści finansowych, tacy jak Reuters i Bloomberg, agregują różne źródła danych rynkowych, normalizują je i dodają nowe wiadomości lub analizy. Przykłady skonsolidowanych kanałów to RDF (Reuters Data Feed), RWF (Reuters Wire Format) i Bloomberg Professional Services Data. Aby dostarczyć dane rynkowe o niższym opóźnieniu, obaj producenci wprowadzili na rynek rynki danych w czasie rzeczywistym, które są mniej przetworzone i mają mniej danych analitycznych: Bloomberg B-Pipe W połączeniu z B-Pipe, Bloomberg oddziela ich dane rynkowe od platformy dystrybucji, ponieważ terminal Bloomberg nie jest wymagany do uzyskania B-Pipe. Wozy paszowe Wombat i Reuters ogłosiły wsparcie dla B-Pipe. Firma może zdecydować o otrzymaniu kanałów bezpośrednio z giełdy, aby zmniejszyć opóźnienie. Zyski w prędkości transmisji mogą wynosić od 150 milisekund do 500 milisekund. Te kanały są bardziej złożone i droższe, a firma musi zbudować i utrzymywać własną fabrykę wyrobów tytoniowych (financetechfeaturedshowArticle. jhtmlarticleID60404306). Zamówienia handlowe Ten rodzaj ruchu przenosi rzeczywiste transakcje. Jest dwukierunkowy i wrażliwy na opóźnienia. Jest mierzony w wiadomościach. i Mbps. Zamówienia pochodzą z firmy kupującej lub sprzedającej i są wysyłane do systemów obrotu, takich jak Exchange lub ECN w celu ich realizacji. Najpopularniejszym formatem transportu zleceń jest FIX (Financial Information eXchangefixprotocol. org). Aplikacje obsługujące komunikaty FIX są nazywane silnikami FIX i łączą się z systemami zarządzania zamówieniami (OMS). Optymalizacja w systemie FIX ma nazwę FAST (Fix Adapted for Streaming), która używa schematu kompresji w celu zmniejszenia długości komunikatu i, w efekcie, zmniejszenia opóźnień. FAST jest bardziej ukierunkowany na dostarczanie danych rynkowych i może stać się standardem. FAST może być również używany jako schemat kompresji dla zastrzeżonych formatów danych rynkowych. Aby zmniejszyć opóźnienie, firmy mogą zdecydować się na bezpośredni dostęp do rynku (DMA). DMA to zautomatyzowany proces przekierowywania zleceń papierów wartościowych bezpośrednio do miejsca realizacji, w związku z czym unika się interwencji osoby trzeciej (towergroupresearchcontentglossary. jsppage1ampglossaryId383). DMA wymaga bezpośredniego połączenia z miejscem realizacji. Magistrala komunikatów jest oprogramowaniem pośredniczącym od dostawców, takich jak Tibco, 29West, Reuters RMDS lub platforma typu open source, taka jak AMQP. Szyna komunikacyjna używa niezawodnego mechanizmu dostarczania wiadomości. Transport można wykonać przez TCPIP (TibcoEMS, 29West, RMDS i AMQP) lub UDPmulticast (TibcoRV, 29West i RMDS). Jedną ważną koncepcją w dystrybucji wiadomości jest strumień quottopic, który jest podzbiorem danych rynkowych określonych przez takie kryteria, jak symbol giełdowy, branża lub pewien koszyk instrumentów finansowych. Subskrybenci dołączają do grup tematycznych zmapowanych na jeden lub wiele podtematów w celu otrzymania tylko odpowiednich informacji. W przeszłości wszyscy handlowcy otrzymywali wszystkie dane rynkowe. Przy obecnych natężeniach ruchu byłoby to nieoptymalne. Sieć odgrywa kluczową rolę w środowisku handlowym. Dane rynkowe są przenoszone na piętro handlowe, na którym handlowcy ludźmi znajdują się za pośrednictwem szybkiej sieci Campus lub Metro Area. Wysoka dostępność i małe opóźnienie, a także wysoka przepustowość to najważniejsze wskaźniki. Wysokowydajne środowisko transakcyjne ma większość swoich komponentów w farmie serwerów Data Center. Aby zminimalizować opóźnienie, algorytmiczne silniki transakcyjne muszą znajdować się w pobliżu podajników podajników, silników FIX i systemów zarządzania zamówieniami. Alternatywny model wdrożenia ma algorytmiczne systemy transakcyjne zlokalizowane w giełdzie lub usługodawcy z szybką łącznością z wieloma giełdami. Modele wdrażania Istnieją dwa modele wdrażania dla platformy transakcyjnej o wysokiej wydajności. Firmy mogą zdecydować się na połączenie dwóch: Data Center firmy handlowej (Rysunek 2). Jest to tradycyjny model, w którym rozwinięta i utrzymywana jest pełna platforma transakcyjna z łączami komunikacyjnymi do wszystkich systemów obrotu. Opóźnienie zależy od szybkości linków i liczby przeskoków między firmą a obiektami. Rysunek 2 Tradycyjny model rozmieszczania Kolokacja w systemie obrotu (giełdy, dostawcy usług finansowych (FSP)) (rysunek 3) Firma handlowa wdraża zautomatyzowaną platformę transakcyjną jak najbliżej miejsc realizacji, aby zminimalizować opóźnienie. Rysunek 3 Hostowana architektura modelowania zorientowana na usługi Hosting Proponujemy ramy zorientowane na usługi dla budowania architektury handlu następnej generacji. Takie podejście zapewnia ramy koncepcyjne i ścieżkę wdrożenia opartą na modularyzacji i minimalizacji współzależności. Ramy te zapewniają firmom metodologię pozwalającą: Oceniać ich obecny stan w kategoriach usług. Priorytetować usługi w oparciu o ich wartość dla biznesu. Ewolucja platformy transakcyjnej do pożądanego stanu za pomocą podejścia modułowego. Architektura transakcyjna o wysokiej wydajności opiera się na następujących usługach, takich jak: zdefiniowane przez architekturę architektury usług przedstawioną na rysunku 4. Rysunek 4 Architektura usług Service Framework dla usług wysokiej wydajności Ultra-Low Latency Messaging Service Ta usługa jest dostarczana przez magistralę przesyłania komunikatów, która jest oprogramowaniem, które rozwiązuje problem łączenia wielu urządzeń. wiele aplikacji. System składa się z: Zestaw wstępnie zdefiniowanych schematów wiadomości Zestaw wspólnych komunikatów poleceń Wspólna infrastruktura aplikacji do wysyłania wiadomości do odbiorców. Współużytkowana infrastruktura może być oparta na brokerze komunikatów lub na modelu publikowania subskrypcji. Kluczowymi wymaganiami dla magistrali komunikatów następnej generacji są: (źródło 29West): Najniższe możliwe opóźnienie (np. Mniej niż 100 mikrosekund). Stabilność przy dużym obciążeniu (np. Ponad 1,4 miliona msgsek.) Kontrola i elastyczność (kontrola szybkości i konfigurowalne transporty) są wysiłki w branży standaryzacji magistrali komunikacyjnej. Protokół AMQP (Advanced Message Queuing Protocol) jest przykładem otwartego standardu wspieranego przez JP Morgan Chase i wspieranego przez grupę dostawców takich jak Cisco, Envoy Technologies, Red Hat, TWIST Process Innovations, Iona, 29West i iMatix. Dwa z głównych celów to zapewnienie prostszej ścieżki do współdziałania dla aplikacji napisanych na różnych platformach i modułowych, tak aby oprogramowanie pośrednie można było łatwo ewoluować. Ogólnie mówiąc, serwer AMQP jest analogiczny do serwera poczty e-mail, a każda z nich działa jako agent przesyłania komunikatów, a każda kolejka komunikatów jako skrzynka pocztowa. Wiązania definiują tabele routingu w każdym agencie transferowym. Wydawcy wysyłają wiadomości do poszczególnych agentów transferowych, które następnie kierują wiadomości do skrzynek pocztowych. Konsumenci pobierają wiadomości ze skrzynek pocztowych, co tworzy potężny i elastyczny model, który jest prosty (źródło: amqp. orgtikiwikitiki-index. phppageOpenApproachWhyAMQP). Usługa monitorowania opóźnień Główne wymagania dla tej usługi są następujące: szczegółowość pod względem wielkości pomiarów w bliskiej w czasie Widoczność w czasie rzeczywistym bez zwiększania opóźnień w ruchu handlowym Możliwość odróżnienia opóźnień przetwarzania aplikacji od opóźnień w tranzycie sieci Zdolność do obsługi wysokich wskaźników komunikatów Zapewnienie programowego interfejsu dla aplikacje handlowe do otrzymywania danych o opóźnieniach, dzięki czemu algorytmiczne silniki transakcyjne mogą dostosowywać się do zmieniających się warunków. Korelować zdarzenia sieciowe ze zdarzeniami aplikacji dla celów rozwiązywania problemów. Opóźnienie może być zdefiniowane jako przedział czasowy między wysłaniem zamówienia handlowego a potwierdzeniem i działaniem tego samego zamówienia. przez stronę otrzymującą. Rozwiązanie problemu opóźnień jest złożonym problemem wymagającym holistycznego podejścia, które identyfikuje wszystkie źródła opóźnień i stosuje różne technologie na różnych warstwach systemu. Rysunek 5 przedstawia różnorodność komponentów, które mogą wprowadzić opóźnienie na każdej warstwie stosu OSI. Mapuje również każde źródło opóźnienia za pomocą możliwego rozwiązania i rozwiązania monitorującego. Takie podejście warstwowe może dać firmom bardziej uporządkowany sposób na zajęcie się problemem opóźnień, dzięki czemu każdy składnik może być uważany za usługę i traktowany konsekwentnie w całej firmie. Utrzymywanie dokładnej miary dynamicznego stanu tego przedziału czasowego na alternatywnych trasach i kierunkach może być bardzo pomocne w taktycznych decyzjach handlowych. Możliwość określenia dokładnej lokalizacji opóźnień, zarówno w sieci brzegowej klienta, centralnym koncentratorze przetwarzania, jak i na poziomie aplikacji transakcyjnej, w znacznym stopniu determinuje zdolność usługodawców do spełnienia umów SLA. W przypadku formularzy po stronie buy-side i sell-side, a także syndykatorów danych rynkowych, szybka identyfikacja i usuwanie wąskich gardeł przekłada się bezpośrednio na zwiększone możliwości handlowe i przychody. Rysunek 5 Architektura zarządzania opóźnieniami Narzędzia monitorowania Cisco o niskiej latencji Tradycyjne narzędzia do monitorowania sieci działają z dokładnością minut lub sekund. Platformy transakcyjne nowej generacji, szczególnie te obsługujące handel algorytmiczny, wymagają opóźnień mniejszych niż 5 ms i bardzo niskich poziomów utraty pakietów. W gigabitowej sieci LAN mikroburst o szybkości 100 ms może spowodować utratę 10 000 transakcji lub ich nadmierne opóźnienie. Cisco oferuje swoim klientom wybór narzędzi do mierzenia opóźnień w środowisku transakcyjnym: Bandwidth Quality Manager (BQM) (OEM od Corvil) Cisco AON oparte Financial Services Latency Monitoring Solution (FSMS) Bandwidth Quality Manager Bandwidth Quality Manager (BQM) 4.0 to produkt zarządzania wydajnością aplikacji sieci kolejowej następnej generacji, który umożliwia klientom monitorowanie i dostarczanie sieci w celu kontrolowania poziomów opóźnień i strat. Chociaż BQM nie jest skierowany wyłącznie do sieci handlowych, jego mikrosekundowa widoczność w połączeniu z inteligentnymi funkcjami zapewniania przepustowości sprawiają, że jest idealny do tych wymagających środowisk. Cisco BQM 4.0 implementuje szeroki zestaw opatentowanych i oczekujących na zgłoszenia patentowe technologii pomiaru ruchu i analizy sieci, które zapewniają użytkownikowi bezprecedensową widoczność i zrozumienie sposobu optymalizacji sieci w celu uzyskania maksymalnej wydajności aplikacji. Cisco BQM jest teraz obsługiwany w rodzinie produktów Cisco Application Deployment Engine (ADE). Rodzina produktów Cisco ADE jest preferowaną platformą dla aplikacji do zarządzania siecią Cisco. Korzyści BQM Cisco BQM mic-visibility to możliwość wykrywania, mierzenia i analizowania opóźnień, fluktuacji i utraty wywoływania zdarzeń w ruchu do mikrosekundowych poziomów ziarnistości z rozdzielczością jednego pakietu. Dzięki temu Cisco BQM może wykrywać i określać wpływ zdarzeń drogowych na opóźnienia sieciowe, wahania i straty. Krytyczne dla środowisk transakcyjnych jest to, że BQM może obsługiwać opóźnienia, straty i pomiary jittera w jedną stronę dla ruchu TCP i UDP (multicast). Oznacza to, że raporty są płynne zarówno dla ruchu handlowego, jak i rynkowych danych. BQM pozwala użytkownikowi na określenie wszechstronnego zestawu wartości progowych (przeciwko aktywności mikroburstów, opóźnień, strat, fluktuacji, wykorzystania itp.) We wszystkich interfejsach. BQM następnie obsługuje przechwytywanie przechwyconego tła. Za każdym razem, gdy wystąpi naruszenie progu lub inne potencjalne zdarzenie obniżające wydajność, uruchamia Cisco BQM w celu przechwytywania przechwytywania pakietów na dysk w celu późniejszej analizy. Pozwala to użytkownikowi na dokładne zbadanie zarówno ruchu aplikacji, na którą wpływa pogorszenie wydajności (quotthe victimsquot), jak i ruchu, który spowodował pogorszenie wydajności (quotthe culpritsquot). Może to znacznie skrócić czas diagnozowania i rozwiązywania problemów z wydajnością sieci. BQM jest również w stanie zapewnić szczegółowe zalecenia dotyczące zasad i jakości usług (QoS), które użytkownik może bezpośrednio zastosować, aby osiągnąć pożądaną wydajność sieci. Pomiary BQM zilustrowane Aby zrozumieć różnicę między niektórymi bardziej konwencjonalnymi technikami pomiarowymi a widocznością zapewnianą przez BQM, możemy przyjrzeć się pewnym wykresom porównawczym. W pierwszym zestawie wykresów (rysunek 6 i rysunek 7) widzimy różnicę między opóźnieniem mierzonym przez pasywny monitor jakości sieci BQMs (PNQM) a opóźnieniem mierzonym przez wstrzykiwanie pakietów ping co 1 sekundę do strumienia ruchu. Na rysunku 6. widzimy opóźnienie zgłoszone przez 1-sekundowe pakiety ping ICMP dla rzeczywistego ruchu sieciowego (podzielone przez 2, aby podać szacunkową wartość opóźnienia w jedną stronę). Pokazuje to opóźnienie komfortowo poniżej około 5 ms przez prawie cały czas. Rysunek 6 Opóźnienie zgłaszane przez 1-sekundowe pakiety ping ICMP dla rzeczywistego ruchu sieciowego Na rysunku 7 widzimy opóźnienie zgłoszone przez PNQM dla tego samego ruchu w tym samym czasie. Widzimy tutaj, że mierząc jednokierunkowe opóźnienie rzeczywistych pakietów aplikacji, otrzymujemy radykalnie inny obraz. W tym przypadku opóźnienie wynosi około 20 ms, a sporadyczne impulsy są znacznie wyższe. Wyjaśnienie jest takie, że ponieważ ping wysyła pakiety tylko co sekundę, całkowicie brakuje większości opóźnień ruchu aplikacji. W rzeczywistości wyniki polecenia ping zazwyczaj wskazują tylko opóźnienie propagacji w obie strony, a nie rzeczywiste opóźnienie aplikacji w sieci. Rysunek 7 Opóźnienie zgłaszane przez PNQM dla rzeczywistego ruchu sieciowego W drugim przykładzie (rysunek 8) widzimy różnicę w zgłaszanym obciążeniu łącza lub poziomach nasycenia między 5-minutowym widokiem przeciętnym a widokiem mikropakresów 5 ms (BQM może raportować na temat mikroprzedsiębiorstw w dół do około 10-100 nanosekund dokładności). Zielona linia pokazuje średnie wykorzystanie przy średniej 5-minutowej, która jest niska, może nawet do 5 Mbitów. Ciemnoniebieski wykres pokazuje aktywność mikroburstów 5ms sięgającą od 75 Mbits do 100 Mbits, efektywnie prędkość sieci LAN. BQM pokazuje ten poziom szczegółowości dla wszystkich aplikacji, a także zapewnia przejrzyste reguły udostępniania, aby umożliwić użytkownikowi kontrolowanie lub neutralizację tych mikroporów. Rysunek 8 Różnica w zgłaszanym obciążeniu łącza między 5-minutowym średnim widokiem a 5-sekundowym wdrożeniem Microburst View BQM w sieci handlowej Rysunek 9 pokazuje typowe wdrożenie BQM w sieci handlowej. Rysunek 9 Typowe wdrożenie BQM w sieci handlowej BQM może być następnie wykorzystany do udzielenia odpowiedzi na następujące pytania: Czy któreś z moich rdzeni sieci Gigabit LAN są nasycone przez więcej niż X milisekund Czy to powoduje stratę Które linki najbardziej skorzystają z aktualizacji do Etherchannel lub 10 gigabitowych prędkości Jakie ruchy aplikacji powodują nasycenie moich 1-gigabitowych łączy Czy jakiekolwiek dane rynkowe doświadczają straty typu end-to-end Ile dodatkowego czasu oczekiwania ma centrum danych przełączania awaryjnego Czy to łącze jest prawidłowo zwymiarowane, aby poradzić sobie z mikroproduktami? Czy moi handlowcy uzyskiwanie aktualizacji o niskim opóźnieniu z warstwy dystrybucji danych rynkowych Czy widzą opóźnienia większe niż X milisekund Możliwość łatwej i efektywnej odpowiedzi na te pytania oszczędza czas i pieniądze w prowadzeniu sieci handlowej. BQM jest niezbędnym narzędziem do uzyskania widoczności w danych rynkowych i środowiskach handlowych. Zapewnia szczegółowe pomiary opóźnień w złożonych infrastrukturach, w których występują duże ruchy danych. Skuteczne wykrywanie mikropadeł w poziomach poniżej milisekund i otrzymywanie specjalistycznej analizy konkretnego wydarzenia jest nieocenione dla architektów pięter handlowych. Inteligentne zalecenia dotyczące przydzielania przepustowości, takie jak analiza rozmiarów i analiza typu "co jeśli", zapewniają większą elastyczność w reagowaniu na zmienne warunki rynkowe. Wraz z postępem ekspansji algorytmicznego handlu i rosnącą liczbą komunikatów, BQM w połączeniu z narzędziem QoS zapewnia możliwość implementacji zasad QoS, które mogą chronić najważniejsze aplikacje transakcyjne. Rozwiązanie monitorowania opóźnień Cisco Financial Services Firmy Cisco i Trading Metrics współpracowały nad rozwiązaniami do monitorowania opóźnień w zakresie przepływu zleceń FIX i monitorowania danych rynkowych. Technologia Cisco AON stanowi podstawę dla nowej klasy produktów i rozwiązań wbudowanych w sieć, które pomagają łączyć inteligentne sieci z infrastrukturą aplikacji w oparciu o architekturę zorientowaną na usługi lub tradycyjną. Trading Metrics jest wiodącym dostawcą oprogramowania analitycznego do monitorowania infrastruktury sieciowej i monitorowania opóźnień w aplikacjach (tradingmetrics). Rozwiązanie Cisco AON Financial Services Latency Monitoring Solution (FSMS) skorelowało dwa rodzaje zdarzeń w punkcie obserwacji: zdarzenia sieciowe korelowały bezpośrednio z obsługą zbieżnych komunikatów aplikacji Przepływy zleceń handlowych i pasujące zdarzenia aktualizacji rynku Wykorzystanie znaczników czasowych potwierdzonych w punkcie wychwytywania w sieć, analiza tych skorelowanych strumieni danych w czasie rzeczywistym pozwala na precyzyjną identyfikację wąskich gardeł w infrastrukturze podczas realizacji transakcji lub dystrybucji danych rynkowych. Monitorując i mierząc opóźnienia na wczesnym etapie cyklu, firmy finansowe mogą podejmować lepsze decyzje dotyczące tego, która usługa sieciowa i który pośrednik, rynek lub kontrahent mogą wybrać dla przekierowania zamówień handlowych. Taka wiedza pozwala również na łatwiejszy dostęp do zaktualizowanych danych rynkowych (notowania giełdowe, wiadomości gospodarcze itp.), Co jest ważną podstawą do inicjowania, wycofywania się lub wykorzystywania okazji rynkowych. Składnikami tego rozwiązania są: sprzęt AON w trzech postaciach: moduł sieci AON dla routerów Cisco 2600280037003800 AON Blade dla urządzeń Cisco Catalyst 6500 AON 8340 Metryki danych urządzeń Oprogramowanie MampA 2.0, które zapewnia aplikację monitorującą i ostrzegającą, wyświetla wykresy opóźnienia pulpit nawigacyjny i generuje alerty w przypadku wystąpienia spowolnienia (tradingmetricsTMbrochure. pdf). Rysunek 10 Oparte na AON monitorowanie czasu oczekiwania Cisco IP SLA Cisco IP SLA to wbudowane narzędzie do zarządzania siecią w Cisco IOS, które umożliwia routerom i przełącznikom generowanie syntetycznych strumieni ruchu, które można zmierzyć w celu uzyskania opóźnień, fluktuacji, utraty pakietów i innych kryteriów (ciscogoipsla) ). Dwie kluczowe koncepcje są źródłem wygenerowanego ruchu i celu. Obydwa z nich prowadzą kwerendę IP SLA, która odpowiada za znacznik czasu ruchu kontrolnego, zanim zostanie pozyskany i zwrócony przez cel (dla pomiaru w obie strony). Różne typy ruchu mogą być pozyskiwane w ramach SLA IP i są ukierunkowane na różne metryki oraz docelowe usługi i aplikacje. Operacja jitter UDP służy do pomiaru opóźnienia w jedną stronę i w obie strony oraz zmian w raportach. Ponieważ ruch sygnowany jest czasem zarówno na urządzeniach wysyłających, jak i docelowych za pomocą funkcji reagowania, opóźnienie podróży w obie strony jest określane jako różnica między tymi dwoma znacznikami czasowymi. Nowa funkcja została wprowadzona w IOS 12.3 (14) T, IP SLA Sub Millisecond Reporting, która pozwala na wyświetlanie znaczników czasu z rozdzielczością w mikrosekundach, zapewniając w ten sposób poziom ziarnistości, który nie był wcześniej dostępny. Ta nowa funkcja sprawiła, że ​​IP SLA jest odpowiednia dla sieci kampusowych, gdzie opóźnienie sieci mieści się zwykle w przedziale 300-800 mikrosekund, a zdolność do wykrywania trendów i skoków (krótkie trendy) w oparciu o mikrosekundowe liczniki ziarnistości jest wymogiem dla klientów zaangażowanych w czas wrażliwe elektroniczne środowiska handlowe. W rezultacie IP SLA jest obecnie rozpatrywana przez znaczną liczbę organizacji finansowych, ponieważ wszystkie one muszą spełnić następujące wymagania: Raportować podstawowe opóźnienie dla ich użytkowników Opóźnienie linii bazowej trendu w czasie Szybko reagować na ruchy drogowe powodujące zmiany w raportowanym opóźnieniu. Dla tych klientów konieczne jest raportowanie w milisekundach, ponieważ wiele kampusów i szkieletów dostarcza obecnie mniej niż jedną sekundę opóźnienia w kilku przeskokach przełączników. Elektroniczne środowiska transakcyjne ogólnie pracowały nad wyeliminowaniem lub zminimalizowaniem wszystkich obszarów opóźnień urządzeń i sieci w celu zapewnienia szybkiego realizacji zamówień w firmie. Zgłaszanie, że czas odpowiedzi sieci jest poniżej jednej milisekundy, nie jest już wystarczające, aby ziarnistość pomiarów opóźnień zgłaszanych w segmencie sieci lub szkielecie sieciowym była zbliżona do 300-800 mikrosekund z rozdzielczością 100 igwa sekund. IP SLA niedawno dodała obsługę strumieni testowych IP multicast, które mogą mierzyć opóźnienia danych rynkowych. Typową topologię sieci pokazano na rysunku 11 za pomocą routerów cieni IP, źródeł i respondentów IP SLA. Rysunek 11 IP SLA Usługi wdrażania Usługi komputerowe obejmują szeroki zakres technologii mających na celu wyeliminowanie wąskich gardeł pamięci i procesora spowodowanych przetwarzaniem pakietów sieciowych. Aplikacje transakcyjne pochłaniają duże ilości danych rynkowych, a serwery muszą przeznaczać zasoby na przetwarzanie ruchu sieciowego zamiast przetwarzania aplikacji. Przetwarzanie transportu Przy dużych prędkościach, przetwarzanie pakietów sieciowych może pochłaniać znaczną liczbę cykli procesora i pamięci serwera. Ustalona zasada mówi, że przepustowość sieci 1 Gbps wymaga 1 GHz mocy obliczeniowej procesora (źródło: biała księga firmy Intel na temat IO acceleration inteltechnologyioacceleration306517.pdf). Kopiowanie bufora pośredniego W konwencjonalnej implementacji stosu sieciowego dane muszą być kopiowane przez procesor między buforami sieciowymi a buforami aplikacji. Ten narzut pogłębia fakt, że prędkości pamięci nie nadążają za wzrostem prędkości procesora. Na przykład, procesory takie jak Intel Xeon zbliżają się do 4 GHz, podczas gdy układy pamięci RAM zawisają około 400 MHz (dla pamięci DDR 3200) (źródło Intel inteltechnologyioacceleration306517.pdf). Przełączanie kontekstu Czas przetwarzania pojedynczego pakietu wymaga przetworzenia, CPU dokonuje przełączenia kontekstu z kontekstu aplikacji na kontekst ruchu sieciowego. Ten narzut mógłby zostać zmniejszony, gdyby przełącznik wystąpił tylko wtedy, gdy cały bufor aplikacji jest kompletny. Rysunek 12 Źródła napięć w serwerach centrów danych Silnik odciążania TCP (TOE) Odciąża cykle procesora transportu na kartę sieciową. Przenosi kopie buforów stosu protokołu TCPIP z pamięci systemowej do pamięci NIC. Zdalny dostęp do pamięci bezpośredniej (RDMA) Umożliwia karcie sieciowej przesyłanie danych bezpośrednio z aplikacji do aplikacji bez udziału systemu operacyjnego. Eliminuje kopie buforów pośrednich i aplikacji (zużycie przepustowości pamięci). Kernel omija bezpośredni dostęp do sprzętu na poziomie użytkownika. Znacznie zmniejsza przełączniki kontekstu aplikacji. Rysunek 13 RDMA i Kernel Bypass InfiniBand to dwukierunkowe łącze komunikacji szeregowej między dwoma punktami, które implementuje RDMA i inne funkcje. Firma Cisco oferuje przełącznik InfiniBand, przełącznik typu Fabric Fabric Switch (SFS): ciscoapplicationpdfenusguestnetsolns500c643cdccont0900aecd804c35cb. pdf. Ryc. 14 Typowe wdrożenie aplikacji SFS Aplikacje transakcyjne korzystają z ograniczenia opóźnień i zmienności czasu oczekiwania, co udowodnił test przeprowadzony przez Cisco SFS i Wombat Feed Handlers firmy Stac Research: Application Virtualization Service Odłączenie aplikacji od bazowego sprzętu systemu operacyjnego i serwera umożliwia im uruchamianie jako usługi sieciowe. Jedna aplikacja może być uruchamiana równolegle na wielu serwerach lub wiele aplikacji może być uruchomionych na tym samym serwerze, co dyktuje najlepsza alokacja zasobów. To oddzielenie umożliwia lepsze równoważenie obciążenia i odtwarzanie po awarii w ramach strategii kontynuacji działalności. Proces ponownego przydzielania zasobów komputerowych do aplikacji jest dynamiczny. Za pomocą systemu wirtualizacji aplikacji, takiego jak Data Synapses GridServer, aplikacje mogą migrować, wykorzystując wstępnie skonfigurowane zasady, do niedostatecznie wykorzystanych serwerów w procesie dopasowywania podaży do popytu (wwwworkworldsupp2005ndc1022105virtual. htmlpage2). Firma finansowa, która stosuje wirtualizację aplikacji, ma wiele korzyści biznesowych: Szybszy czas wprowadzania na rynek nowych produktów i usług Szybsza integracja firm po fuzji i przejęciach Większa dostępność aplikacji Lepsza dystrybucja obciążeń, która tworzy więcej cenowej przestrzeni dla przetwarzania skoków w wolumenie transakcji Operational Wydajność i kontrola Redukcja złożoności IT Obecnie wirtualizacja aplikacji nie jest wykorzystywana w centrach handlowych. Jednym z przykładów użycia jest modelowanie ryzyka, takie jak symulacje Monte Carlo. Wraz z ewolucją technologii można sobie wyobrazić, że niektóre platformy handlowe ją przyjmą. Usługa wirtualizacji danych Aby skutecznie dzielić zasoby w rozproszonych aplikacjach korporacyjnych, firmy muszą być w stanie wykorzystywać dane w wielu źródłach w czasie rzeczywistym, zapewniając jednocześnie integralność danych. Dzięki rozwiązaniom dostawców oprogramowania do wirtualizacji danych, takich jak Gemstone lub Tangosol (obecnie Oracle), firmy finansowe mogą uzyskać dostęp do heterogenicznych źródeł danych jako jednego obrazu systemu, który umożliwia łączność między procesami biznesowymi i nieograniczony dostęp aplikacji do rozproszonego buforowania. Rezultatem jest to, że wszyscy użytkownicy mają natychmiastowy dostęp do tych zasobów danych w sieci rozproszonej (gridtoday030210101061.html). Nazywa się to siatką danych i jest pierwszym krokiem w procesie tworzenia tego, co Gartner nazywa Extreme Transaction Processing (XTP) (gartnerDisplayDocumentrefgsearchampid500947). Technologie takie jak wirtualizacja danych i aplikacji umożliwiają firmom finansowym wykonywanie złożonych analiz w czasie rzeczywistym, aplikacji sterowanych zdarzeniami i dynamicznego przydzielania zasobów. One example of data virtualization in action is a global order book application. An order book is the repository of active orders that is published by the exchange or other market makers. A global order book aggregates orders from around the world from markets that operate independently. The biggest challenge for the application is scalability over WAN connectivity because it has to maintain state. Todays data grids are localized in data centers connected by Metro Area Networks (MAN). This is mainly because the applications themselves have limitsthey have been developed without the WAN in mind. Figure 15 GemStone GemFire Distributed Caching Before data virtualization, applications used database clustering for failover and scalability. This solution is limited by the performance of the underlying database. Failover is slower because the data is committed to disc. With data grids, the data which is part of the active state is cached in memory, which reduces drastically the failover time. Scaling the data grid means just adding more distributed resources, providing a more deterministic performance compared to a database cluster. Multicast Service Market data delivery is a perfect example of an application that needs to deliver the same data stream to hundreds and potentially thousands of end users. Market data services have been implemented with TCP or UDP broadcast as the network layer, but those implementations have limited scalability. Using TCP requires a separate socket and sliding window on the server for each recipient. UDP broadcast requires a separate copy of the stream for each destination subnet. Both of these methods exhaust the resources of the servers and the network. The server side must transmit and service each of the streams individually, which requires larger and larger server farms. On the network side, the required bandwidth for the application increases in a linear fashion. For example, to send a 1 Mbps stream to 1000recipients using TCP requires 1 Gbps of bandwidth. IP multicast is the only way to scale market data delivery. To deliver a 1 Mbps stream to 1000 recipients, IP multicast would require 1 Mbps. The stream can be delivered by as few as two serversone primary and one backup for redundancy. There are two main phases of market data delivery to the end user. In the first phase, the data stream must be brought from the exchange into the brokerages network. Typically the feeds are terminated in a data center on the customer premise. The feeds are then processed by a feed handler, which may normalize the data stream into a common format and then republish into the application messaging servers in the data center. The second phase involves injecting the data stream into the application messaging bus which feeds the core infrastructure of the trading applications. The large brokerage houses have thousands of applications that use the market data streams for various purposes, such as live trades, long term trending, arbitrage, etc. Many of these applications listen to the feeds and then republish their own analytical and derivative information. For example, a brokerage may compare the prices of CSCO to the option prices of CSCO on another exchange and then publish ratings which a different application may monitor to determine how much they are out of synchronization. Figure 16 Market Data Distribution Players The delivery of these data streams is typically over a reliable multicast transport protocol, traditionally Tibco Rendezvous. Tibco RV operates in a publish and subscribe environment. Each financial instrument is given a subject name, such as CSCO. last. Each application server can request the individual instruments of interest by their subject name and receive just a that subset of the information. This is called subject-based forwarding or filtering. Subject-based filtering is patented by Tibco. A distinction should be made between the first and second phases of market data delivery. The delivery of market data from the exchange to the brokerage is mostly a one-to-many application. The only exception to the unidirectional nature of market data may be retransmission requests, which are usually sent using unicast. The trading applications, however, are definitely many-to-many applications and may interact with the exchanges to place orders. Figure 17 Market Data Architecture Design Issues Number of GroupsChannels to Use Many application developers consider using thousand of multicast groups to give them the ability to divide up products or instruments into small buckets. Normally these applications send many small messages as part of their information bus. Usually several messages are sent in each packet that are received by many users. Sending fewer messages in each packet increases the overhead necessary for each message. In the extreme case, sending only one message in each packet quickly reaches the point of diminishing returnsthere is more overhead sent than actual data. Application developers must find a reasonable compromise between the number of groups and breaking up their products into logical buckets. Consider, for example, the Nasdaq Quotation Dissemination Service (NQDS). The instruments are broken up alphabetically: This approach allows for straight forward networkapplication management, but does not necessarily allow for optimized bandwidth utilization for most users. A user of NQDS that is interested in technology stocks, and would like to subscribe to just CSCO and INTL, would have to pull down all the data for the first two groups of NQDS. Understanding the way users pull down the data and then organize it into appropriate logical groups optimizes the bandwidth for each user. In many market data applications, optimizing the data organization would be of limited value. Typically customers bring in all data into a few machines and filter the instruments. Using more groups is just more overhead for the stack and does not help the customers conserve bandwidth. Another approach might be to keep the groups down to a minimum level and use UDP port numbers to further differentiate if necessary. The other extreme would be to use just one multicast group for the entire application and then have the end user filter the data. In some situations this may be sufficient. Intermittent Sources A common issue with market data applications are servers that send data to a multicast group and then go silent for more than 3.5 minutes. These intermittent sources may cause trashing of state on the network and can introduce packet loss during the window of time when soft state and then hardware shorts are being created. PIM-Bidir or PIM-SSM The first and best solution for intermittent sources is to use PIM-Bidir for many-to-many applications and PIM-SSM for one-to-many applications. Both of these optimizations of the PIM protocol do not have any data-driven events in creating forwarding state. That means that as long as the receivers are subscribed to the streams, the network has the forwarding state created in the hardware switching path. Intermittent sources are not an issue with PIM-Bidir and PIM-SSM. Null Packets In PIM-SM environments a common method to make sure forwarding state is created is to send a burst of null packets to the multicast group before the actual data stream. The application must efficiently ignore these null data packets to ensure it does not affect performance. The sources must only send the burst of packets if they have been silent for more than 3 minutes. A good practice is to send the burst if the source is silent for more than a minute. Many financials send out an initial burst of traffic in the morning and then all well-behaved sources do not have problems. Periodic Keepalives or Heartbeats An alternative approach for PIM-SM environments is for sources to send periodic heartbeat messages to the multicast groups. This is a similar approach to the null packets, but the packets can be sent on a regular timer so that the forwarding state never expires. S, G Expiry Timer Finally, Cisco has made a modification to the operation of the S, G expiry timer in IOS. There is now a CLI knob to allow the state for a S, G to stay alive for hours without any traffic being sent. The (S, G) expiry timer is configurable. This approach should be considered a workaround until PIM-Bidir or PIM-SSM is deployed or the application is fixed. RTCP Feedback A common issue with real time voice and video applications that use RTP is the use of RTCP feedback traffic. Unnecessary use of the feedback option can create excessive multicast state in the network. If the RTCP traffic is not required by the application it should be avoided. Fast Producers and Slow Consumers Today many servers providing market data are attached at Gigabit speeds, while the receivers are attached at different speeds, usually 100Mbps. This creates the potential for receivers to drop packets and request re-transmissions, which creates more traffic that the slowest consumers cannot handle, continuing the vicious circle. The solution needs to be some type of access control in the application that limits the amount of data that one host can request. QoS and other network functions can mitigate the problem, but ultimately the subscriptions need to be managed in the application. Tibco Heartbeats TibcoRV has had the ability to use IP multicast for the heartbeat between the TICs for many years. However, there are some brokerage houses that are still using very old versions of TibcoRV that use UDP broadcast support for the resiliency. This limitation is often cited as a reason to maintain a Layer 2 infrastructure between TICs located in different data centers. These older versions of TibcoRV should be phased out in favor of the IP multicast supported versions. Multicast Forwarding Options PIM Sparse Mode The standard IP multicast forwarding protocol used today for market data delivery is PIM Sparse Mode. It is supported on all Cisco routers and switches and is well understood. PIM-SM can be used in all the network components from the exchange, FSP, and brokerage. There are, however, some long-standing issues and unnecessary complexity associated with a PIM-SM deployment that could be avoided by using PIM-Bidir and PIM-SSM. These are covered in the next sections. The main components of the PIM-SM implementation are: PIM Sparse Mode v2 Shared Tree (spt-threshold infinity) A design option in the brokerage or in the exchange. What drives mobile commerce. An empirical evaluation of the revised technology acceptance model Jen-Her Wu a. b. Author Vitae , Shu-Ching Wang a. c Author Vitae a Department of Information Management, National Sun Yat-sen University, Kaohsiung 804, Taiwan b Institute of Health Care Management, National Sun Yat-sen University, Kaohsiung 804, Taiwan c Department of Information Management, National Kaohsiung Marine University, Kaohsiung 811, Taiwan Accepted 24 July 2004, Available online 1 October 2004This study presents an extended technology acceptance model (TAM) that integrates innovation diffusion theory, perceived risk and cost into the TAM to investigate what determines user mobile commerce (MC) acceptance. The proposed model was empirically tested using data collected from a survey of MC consumers. The structural equation modeling technique was used to evaluate the causal model and confirmatory factor analysis was performed to examine the reliability and validity of the measurement model. Our findings indicated that all variables except perceived ease of use significantly affected usersrsquo behavioral intent. Among them, the compatibility had the most significant influence. Furthermore, a striking, and somewhat puzzling finding was the positive influence of perceived risk on behavioral intention to use. The implication of this work to both researchers and practitioners is discussed. Mobile commerce Technology acceptance model Innovation diffusion theory Perceived risk Cost Corresponding author. Tel. 886 7 525 2000 fax: 886 7 525 4799. Copyright copy 2004 Elsevier B. V. All rights reserved. Jen-Her Wu is professor of information management at National Sun Yat-Sen University. Prior to his doctoral study at the University of Kentucky, he received a BS degree in industrial design, earned an MS degree in computer science and worked as an engineer and manager in the manufacturing industry. Professor Wu teaches a variety of information management courses. He has published a book (Systems Analysis and Design) and more than 30 journal articles. His research articles have been published in Information amp Management . Decision Support Systems . International Journal of Technology Management . Computers in Human Behavior . Electronic Commerce Research and Applications . Expert Systems . Knowledge Acquisition . Journal of Computer Information Systems . and others . His current research interests include various aspects of information systems development and management, human computer interaction, and knowledge management. Shu-Ching Wang is doctoral student of information management at National Sun Yat-Sen University and instructor of information management at National Kaohsiung Marine University, Taiwan. She earned her BS and MS degrees in computer science. She has participated with Professor Wus research team for two years. Her research interests include e-commerce, e-healthcare and e-learning. Software product innovators for the Architecture - Engineering 8211 Construction (AEC )vertical serving government bodies and construction enterprises SoftTech Engineers Pvt. Ltd specjalizuje się w opracowywaniu niezawodnych i światowej klasy produktów oprogramowania dla niszowej architektury Architecture-Engineering-Construction (AEC). Nasze produkty umożliwiają klientom obniżenie kosztów, zwiększenie wydajności, skuteczną kontrolę i lepsze wykorzystanie zasobów pod względem ludzi, infrastruktury i obsługi klienta. Nasze produkty renomy: AutoDCR to nagradzany produkt krajowy, który zrewolucjonizował proces kontroli planu budowlanego w organach zarządzających. Obecnie jest wdrażany w 50 ULB w Indiach System Zarządzania Informacją o Pracach Publicznych PWIMS, internetowa aplikacja "gotowa do użycia" (COTS) do zarządzania podstawowymi procesami funkcjonalnymi planowania prac, zakupów i konserwacji w organizacjach prac publicznych. OPTICON to solidne oprogramowanie do zarządzania konstrukcją, zaprojektowane specjalnie dla organizacji budowlanych. Dzięki inteligentnie zbudowanym modułom do projektów, finansów, maszyn do wzmacniania instalacji, twoje projekty budowlane są zapewnione z pozytywnych zwrotów. Usługi BIM Wirtualizacja projektu zyskuje na znaczeniu każdego dnia. Dzięki dostępności modelu 3D, przed rozpoczęciem faktycznej budowy ma wiele zalet. Dzięki BIM projekt pozostaje spójny, skoordynowany i dokładniejszy dla wszystkich interesariuszy. Posiada 750-letnie doświadczenie i szczegółowe badanie klienta SoftTech Engineers Pvt. Ltd opracowała e-zarządzanie i produkty ERP dla budownictwa, mając na uwadze specyficzne potrzeby naszych klientów, możesz mieć pewność, że Twoja firma jest w dobrych rękach. Produkty od SoftTech Engineers Pvt. Ltd. zapewnia: Wzrost produktywności Koncentracja na podstawowej funkcji firmy Poprawione dolne linie Zachowaj aktywa swojej firmy Inwestowanie czasu i pieniędzy w technologię biznesową SoftTech Engineers Pvt. Ltd. is the trusted associate in your tryst for success.

No comments:

Post a Comment