CZ381198A3 - Zajišťování komunikačních spojů v počítačové síti - Google Patents

Zajišťování komunikačních spojů v počítačové síti Download PDF

Info

Publication number
CZ381198A3
CZ381198A3 CZ983811A CZ381198A CZ381198A3 CZ 381198 A3 CZ381198 A3 CZ 381198A3 CZ 983811 A CZ983811 A CZ 983811A CZ 381198 A CZ381198 A CZ 381198A CZ 381198 A3 CZ381198 A3 CZ 381198A3
Authority
CZ
Czechia
Prior art keywords
response
client
server
session
program
Prior art date
Application number
CZ983811A
Other languages
English (en)
Inventor
Peter David Niblett
Karen Louise Randell
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of CZ381198A3 publication Critical patent/CZ381198A3/cs

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

Oblast techniky
Vynález se týká vzájemného propojování datových komunikací a prostředků zpracovávajících data v síti a zejména zajišťování spojů mezi různými komunikačními prostředími.
Dosavadní stav techniky si mohly vyměňovat mohou být vzájemně
Počítačovou síť může tvořit libovolné množství počítačů, které jsou schopné vzájemné výměny informací. Počítače mohou být uspořádány v libovolné konfiguraci a mohou být umístěny ve stejné místnosti, nebo v různých zemích, pokud existuje způsob jejich vzájemného propojení {například pomocí telefonních linek nebo jiných komunikačních systémů) tak, aby informace. Stejně jako počítače propojeny, čímž tvoří síť, stejně tak mohou být vzájemně propojeny také sítě pomocí nástrojů nazvaných mosty a brány. Tyto nástroje umožňují počítači v jedné síti výměnu informací s počítačem v jiné síti. Internet je síť sítí, která nemá jednoho majitele ani regulátora a obsáhuje velké a malé, veřejné a soukromé sítě, ve které je jakýkoli připojený počítač, na kterém běží programové vybavení s internetovým protokolem s řídícími prvky zabezpečení, schopný výměny informací s libovolným jiným počítačem, který je také připojen k Internetu. Toto složené seskupení sítí,
76 328
J ····
φφ ·· · »· ··*· které souhlasí se vzájemným propojením, není založeno na jednom přenosovém médiu (dvousměrná komunikace muže například nastat satelitními spoji, optickými páteřním vedením, telefonním vedením, dráty kabelové televize a místními rádiovými spoji).
Internetová služba www je schopnost získávat informace z rozlehlých územních oblastí, která nabízí přístup k obrovskému množství informací, ke kterým lze přistupovat sítí, a která může nabídnout levnou komunikaci mezi Internetem propojenými počítači. Informace o www lze nalézt v publikaci „Spinning the Web, Andrew Ford (International Thomson Publishing, London 1995) a v publikaci „The World Wide Web Unleashed, John December a Neil Randall (SAMS Publishing, Indianapolis 1994). Použití www prudce narůstá kvůli kombinaci flexibility, přenositelnosti a snadnosti použití spojené se schopnostmi prezentace interaktivních multimédií. WWW umožňuje libovolnému počítači připojenému do Internetu, který má příslušnou softwarovou a hardwarovou konfiguraci, získat libovolný dokument, který byl zpřístupněn kdekoli na Internetu. Dokumenty, které je možné získat na www, obsahují dokumenty s „hymermédii - t j. dokumenty, které mohou být textové, nebo mohou mít formu jiného média, jako jsou zvuky a obrázky, a které obsahuji odkazy („hyperodkazy) na jiné dokumenty. Formát textových dokumentů na www je standardně formát HTML (jazyk Hypertext Markup Language), takže dokument vytvořený v jednom operačním systému a hardwarové platformě mohl být čten uživatelem na libovolné jiné platformě, která má www prohlížeč (viz. níže). Obrázky mohou být uloženy v oddělených grafických souborech , například ve standardním formátu GIF nebo JPEG, a může se na ně odkazovat v HTML textu, takže uživatel je vyzván k získání zadaných souborů
9« • 9 99 s obrázky stejně jako HTML textu.
Uživatel získává tyto informace pomocí www „prohlížeče nebo „www klienta, což se software instalovaný na počítači uživatele, který má schopnosti získávání a doručování dokumentů z www serveru Internetem. Momentálně dostupné www prohlížeče jsou například WebExplorer od IBM Corporation a Mosaic od NCSA. Tyto prohlížeče obsahují adresáře a prohledávací nástroje a rozumí formátu HTML a jiným standardním formátům a mohou správně zobrazovat nebo posílat na výstup soubory v těchto formátech. Uživatelské rozhraní těchto www prohlížečů je grafické rozhraní ve smyslu „ukaž a klepni {tj. položky lze volit přesunutím kurzoru po obrazovce a klepnutím na tlačítko myši). Www je strukturováno jako stránky nebo soubory, přičemž každá z nich má jednoznačný univerzální lokátor zdroje (URL). URL udává jak server, tak konkrétní soubor nebo stránku na tomto počítači. Uživatel může buďto zadat konkrétní URL, nebo skočit z jednoho URL na odkazované URL pomocí „hyperodkazů, to znamená, že slovo nebo symbol na stránce může být spojeno s jiným URL a lze jej zvolit, například klepnutím myši na příslušné místo, což způsobí, že prohlížeč získá a zobrazí požadovanou stránku. Na jednom serveru může být mnoho stránek a přidružené stránky, na které ukazují odkazy, mohou být umístěny na jiných serverech. Pokud URL začíná na „http:, pak to znamená, že soubor obsahuje hyperodkazy.
Pokud uživatel označí URL stránky v systému“ www serverů pomocí www prohlížeče, je tomuto serveru poslán jednorázový požadavek, přičemž server provede akci specifickou pro danou stránku. V mnoha případech server reaguje na požadavek získáním požadované stránky ,z databáze uložených stránek a vysláním HTML stránky zpět Internetem www klientovi, který •••'.A·
O acv.
jí zobrazí uživateli. Tato akce je prováděna v rozsahu jedné dvoubodové synchronní relace. To znamená, že prohlížeč pošle svůj požadavek a pak čeká na odezvu předtím,' než pokračuje dále ve zpracovávání nebo zahajování jiných požadavků. Říká se, že prohlížeč je „blokován nebo také „pozastaven v době, kdy čeká na odezvu na požadavek. V některých případech povede požadavek prohlížeče k tomu, že se na serveru spustí aplikace, která generuje HTML, ale opět jednorázový požadavek prohlížeče požaduje odezvu v rámci existující synchronní komunikační relace, protože prohlížeč nepočítá se současně probíhajícími komunikačními relacemi a mezi požadavky nejsou udržovány žádné informace o stavu aplikace. Selhání přístupu ke stránce požadované prohlížečem může být signalizováno uživateli pomocí chybové zprávy zobrazené na terminálu uživatele, pokud však server pouze pomalu reaguje, pak zůstává prohlížeč „pozastaven po nekonečně dlouhou dobu. Ve skutečnosti může uživatel zrušit pokus o komunikaci, pokud je pro něj zpoždění nepřijatelné. Www prohlížeče neobsahují schopnost automatického opakování požadavku.
Moderní podniky vyžadují schopnosti komunikace s jinými odděleními v podniku a s jinými podniky jako například se zákazníky nebo dodavateli, kteří mohou být v jiné zemi. Internetová www služba může nabídnut částečnou odpověď na takový požadavek, přičemž zajistí nákladově výkodné komunikační médium pro komunikaci uvnitř společnosti, avšak model internetové www služby s jednorázovým požadavkem a absence možnosti několika současných požadavků prohlížeče může představovat vážná omezení, v případě že požadované informace nejsou dostupné v přijatelném časovém období. Pro systém odesílatele je často nepřípustné být v pozastaveném stavu nekonečně dlouho a je nepřípustné pro úspěch
• *
kritických obchodních aplikací, aby závisely na tom, zda aplikace na serveru odpoví na požadavek včas. Internetová služba www nenabízí schopnosti zajištěné dodávky zpráv, což je požadavek mnoha kritických obchodních aplikací {to znamená, že aplikace potřebuje vědět, že zpráva, kterou poslala, nebude po cestě do cíle ztracena a že bude poslána pouze jednou). Obchodní aplikace mohou také obsahovat komunikaci používající mnoho dvojic požadavek-odezva a nedostatek informací o kontextu přenášených mezi požadavky www prohlížeče má za následek neschopnost přiřadit k sobě požadavky, které jsou součástí stejné obchodní aplikace.
Alternativní komunikační model k synchronnímu časově závislému modelu „požadavku a čekání na odezvu je model asynchronních zpráv. Program, který pošle zprávu přijímajícímu programu nemusí být blokován čekáním na odezvu od přijímače a může tudíž dále běžet a odesilatel a příjemce spolu nejsou synchronizováni. Asynchronní posílání zpráv mezi programy typicky používá fronty zpráv jako mezilehlý ukládací prostor, do kterého jsou umísťovány zprávy poté co jsou poslány prvním programem, a ze kterého mohou být získány přijímajícím programem, jakmile připraven. Mezi programy není žádné vyhrazené logické spojení. Po umístění zprávy do fronty může posílající program pokračovat v provádění jiných úloh, které mohou představovat také posílání zpráv jiným programům v síti. V oboru je známo zavádění systémů s asynchronním posíláním zpráv, které podporují komunikaci mezi programy heterogenními sítěmi a které chrání aplikační programy (které jsou napsány pro konkrétní prostředí svého operačního systému) před složitostí sítě a před nutností udržovat a prohledávat fronty se zprávami.
4*
Takovéto systémy s posíláním zpráv jsou důležité pro mnoho komerčních společností, které potřebují dosáhnout účinné komunikace mezi svými různými obchodními aplikačními programy, ale jejichž prostředky pro zpracovávání dat obsahují více neslučitelných prostředí operačních systémů a hardwaru.
Řazení zpráv do front a komerčně známé produkty pro řazení zpráv do front jsou popsány v „Messaging and Queing Using the MQI, B. Blakeley, H. Harris & R. Lewis, McGrawHill, 1994, a v následujících publikacích dostupných u společnosti IBM Corporation: „An introduction to Messaging and Queuing (číslo IBM dokumentu GC33-0805-00) a „MQSeries - Message Queue Interface Technical Reference (číslo IBM dokumentu SC33-0850-01). IBM a MQSeries jsou obchodní značky IBM Corporation. Programové produkty MQSeries od IBM pro zpracovávání zpráv nabízí transakční podporu pro zpracovávání zpráv, synchronizaci zpráv v logických jednotkách práce podle protokolu zpráv, která zajišťuje právě jedno doručení zprávy i v případě selhání systému nebo komunikace. Produkty MQSeries zajišťují zabezpečené doručování tím, že neodstraní definitivně zprávu z úložného média v systému odesilatele, dokud není potvrzeno její bezpečné uložení v systému přijímající aplikace s použitím složitých funkcí obnovy. Před potvrzením přenosu zprávy po schválení úspěšného uložení je ponecháváno „v nejistotě jak odstranění zprávy z úložného prostoru odesílajícího systému, tak i vložení do úložného prostoru přijímajícího systému a je možné obě akce v případě selhání navrátit atomicky do původního stavu. Tento protokol pro přenos zpráv a s ním spojené pojetí transakcí a schopnosti obnovy jsou popsány v mezinárodní patentové přihlášce WO 95/10805 a US patentu 5465328, které jsou zde zahrnuty odkazem.
* · 4 · 44
4 4 4«4< 4
4 4 4 ·
4444444 44 44
Je žádoucí přenést výhody asynchronního (offline, nespřaženého) zpracování do výpočetních prostředků, které jsou upraveny k synchronní komunikaci, jako jsou klientské systémy internetové www služby a obecně umožnit vzájemnou komunikaci mezi prostředky založenými na asynchronním modelu komunikace a prostředky založenými na synchronním modelu, přednostně bez vyžadování zásadních změn v existujících synchronních prostředcích. Je také žádoucí zjednodušit sledování průběhu asynchronních zpráv od synchronně připojeného klientského systému.
Kromě toho, že společnosti připojují své výpočetní prostředky do Internetu, zjišťují, že internetové standardy (internetový protokol, použití HTML, atd.) jsou s výhodou implementovány v „intranetu”, to znamená v počítačové síti v daném závodě, přičemž tato síť dodržuje standardy Internetu. Program prohlížeče je nyní dostupný pro použití v intranetech.
Výše uvedené požadavky jsou příkladem požadavků mnoha uživatelů prostředků zpracovávájících data na schopnost vzájemné komunikace mezi jejich rozdílnými prostředky bez ohledu na to, zda jsou uzpůsobeny pro různá prostředí nebo založeny na rozdílných komunikačních modelech nebo architekturách. Po aplikačních programech, které jsou napsané pro různé operační systémy, nebo založené na různých komunikačních modelech a vzorech, stejně jako počítačích a jiných komunikačních systémech používajících různé komunikační protokoly, formáty dat, jazyky nebo režimy komunikace se stále více požaduje bezchybná komunikace a to bez znalostí uživatelů o složitosti komunikace. Tento vynález napravuje jisté základní zjevné neslučitelnosti mezi
Φ
prostředky, po kterých je vyžadována vzájemná komunikace, přičemž zajišťují spojení mezi různými prostředky.
Podstata vynálezu
Podle prvního hlediska vynálezu je navržen datový komunikační server v komunikační síti, kde server má funkce pro podporu synchronní komunikace mezi serverem a klientem v síti a kde server také usnadňuje podporu asynchronní komunikace s programy {jako jsou aplikační programy) na serveru nebo na jiném systému v síti, přičemž server obsahuje:
prostředky, reagující na požadavek od klienta v synchronní komunikační relaci mezi klientem a serverem, kvůli poslání požadavku (který souvisí s požadavkem klienta) programu na serveru nebo na jiném systému v síti jako asynchronní komunikace;
prostředky, reagující na potvrzení odezvy na asynchronní komunikaci pro přiřazení odezvy k požadavku od klienta, aby se tím umožnilo poslání odezvy klientovi;
prostředky pro generování předběžné odpovědi před přijetím odpovědi na asynchronní komunikaci; a prostředky pro poslání alespoň předběžné odpovědi uvedenému klientovi v synchronní komunikační relaci.
Systém podle tohoto vynálezu má tudíž prostředky pro posílání alespoň předběžné odpovědi klientu v synchronní komunikační relaci i v případě, že zatím nebyla přijata žádná odpověď na asynchronní požadavek.
Druhé hledisko vynálezu zajišťuje způsob komunikace mezi programy mezi klientským programem a programem na serveru nebo na jiném systému v síti používajícím schopnosti serveru jak bylo popsánu výše.
Vynález umožňuje procesu v systému klienta komunikovat s asynchronně komunikujícím programem i v případě, že klientský proces vyžaduje vyhrazenou synchronní komunikační relaci ke komunikaci mezi programy. Program na serveru nebo jiném systému v síti může být aplikační program uzpůsobený k přijímání a posílání asynchronních zpráv bez vyhrazené komunikační relace. Také předběžné odpovědi, které jsou posílány klientovi v počáteční synchronní relaci nabízejí prostředky k potvrzení toho, že server přijal požadavek. Pokud je server částí sítě serverů zajišťujících zaručené doručování zpráv mezi sebou, ale synchronně připojený klient nepodporuje zaručené doručování pro komunikační spoj mezi klientem a připojeným serverem, pak může být velice žádoucí zajistit sledování toho, zda požadavek úspěšně dosáhl serveru, to znamená sledování komunikace nezaručeným spojem komunikační cesty.
„Předběžné odpovědi jsou přednostně posílány pouze tehdy, pokud není k dispozici „úplná odpověď k poslání klientovi během předem určeného časového období (např. do doby definované systémovým administrátorem). To znamená, že pokud od asynchronně komunikujícího aplikačního programu nebyla přijata odpověď po vypršení předem nastavené časové prodlevy, takže server ještě není schopen nabídnout požadovanou úplnou odpověď, pak je proces na serverů přepnut tak, aby poslal předběžnou odpověď klientovi. Předběžná odpověď přednostně obsahuje pro server jednoznačný identifikátor relace přiřazený serverem.
Vkládání identifikátoru relace do předběžných odpovědí
«4
4 4 ·
4 4 4
4 4 4
4 4
44 klientovi umožňuje klientovi (nebo koncovému uživateli pracujícímu na klientovi), který ještě nepřijal očekávanou úplnou odpověď od aplikačního programu nebo “jiného asynchronně komunikujícího programu před vypršením časového limitu, kontaktovat server později znovu a pomocí identifikátoru relace zjistit, zda je odezva spojená s tímto identifikátorem relace ještě dostupná. Klient, který obdržel předběžnou odpověď, je tudíž schopen pokračovat v dalších úlohách, které má zpracovávat, a někdy později znovu zahájit komunikaci se serverem pomocí identifikátoru relace. To zamezuje problému, který by jinak vyvstal, a to že synchronně připojený proces klienta musí buďto zůstat zablokovaný (po neurčené časové období) a čekat na odezvu, nebo zrušit aplikaci pokud odezva není dostatečně rychle dostupná.
Podle upřednostňovaného provedení tohoto vynálezu zjednodušuje komunikace poslaná klientovi jako odezva na vypršení časovače rozhodování procesu nebo uživatele klienta, zda má synchronně připojený proces klienta zůstat zastavený (t j. udržování současné relace), nebo zda se má relace ukončit. Pokud je relace ukončena, proces klienta může zopakovat předchozí komunikaci pomocí identifikátoru relace; identifikátor, který byl poslán klientskému systému může být zahrnut v následujícím požadavku poslaném serveru tak, aby byl server schopen identifikovat jakékoli dostupné odpovědi na předešlé požadavky, které měly stejný identifikátor relace. Po vypršení časového limitu je tudíž klientu, který požaduje vyhrazené komunikační relace, umožněno se rozhodnout, zda bude udržovat synchronní spojení se serverem, nebo jej změnit vlastně na asynchronní komunikaci se serverem pomocí připojených synchronních relací, nebo prostě natrvalo ukončit komunikaci. Klient je
• · · • · t · · to « ♦ to « to toto • to tudíž vybaven ještě jinými volbami, než zůstat nekonečně dlouho zastaven nebo ukončit aplikaci.
Stejně jako umožnění klientovi znovu zahájit předchozí komunikaci, přidání identifikátoru relace klientovi pro konkrétní komunikaci usnadňuje klientovi přiřazení mnoha dvojic požadavek-odpověď z komunikace, i v případě že je proces komunikace na klientovi založen na modelu jednoho požadavku a odezvy. Také to napomáhá při určování problému možného selhání spojení mezi klientem a serverem zatímco klient čeká na odpověď. Také to umožňuje procesu klienta nebo uživateli prokládat komunikaci s několika různými aplikacemi zajištěním prostředků k jejich rozlišení a umožňuje více než jednomu uživateli přistupovat ve stejný okamžik ke stejné aplikaci. Identifikátory relace mohou být automaticky ukládány klientem po přijetí předběžné odpovědi pro následující použití jak je popsáno výše.
Pojmy „klient” a „server se ve výše uvedeném textu používají pouze k rozlišení rolí představovaných v komunikaci, tj . klient vydá požadavek a server podnikne akci jako odezvu na požadavek. Libovolný počítač, který provádí akci na vyžádání jiného počítače, je server. Pojem „klient-server se často používá na poli zpracování dat pro prostředí, ve kterém klient (např. pracovní stanice) pouze zajišťuje funkce komunikace s koncovým uživatelem zatímco server (např. sálový počítač) zajišťuje datový úložný prostor a přístup a provádí komplexní zpracování. Tento vynález je použitelný v těchto prostředích „klient-server ale také v prostředích „peer-to-peer, ve kterých se nerozlišuje mezi funkcemi nabízenými jednotlivými komunikujícími systémy. Vynález je zejména hodnotný v situacích, kdy počítačový program v prvním systému je
specificky přizpůsobený k synchronní komunikaci a je pro něj žádoucí komunikovat s aplikačním programem přizpůsobeným ~k asynchronní komunikaci mezi programy, který běží na jiném systému, jako například tam, kde je pro www prohlížeč žádoucí komunikace s asynchronním aplikačním programem prostřednictvím systému řadícího zprávy do fronty.
Podle upřednostňovaného provedení vynálezu, pokud server přijme odpověď na svůj asynchronní požadavek před vypršením předem nastaveného časového období, pak vloží informace ze získané odpovědi do své odpovědi klientovi, kterou posílá během synchronní relace. Tak může být tudíž asynchronní povaha komunikace s aplikačním programem klientovi skryta pokud odpověď od aplikačního programu je k dispozici dostatečně rychle, s klientem, kterému je poslána úplná odpověď během synchronní relace.
Alternativní uspořádání vynálezu zamezuje zablokování procesu klienta navrácením předběžného potvrzení klientovi o požadavku klienta bez čekání na vypršení časovače. Potvrzení o přijetí obsahuje identifikátor relace (např. jednoznačné referenční číslo) přiřazené procesem na serveru. V tomto případě může klient pokračovat v jiných úlohách jakmile obdrží toto potvrzení, aniž by byl zastaven a čekal na úplnou odpověď nebo na vypršení časovače. Jakmile je odpověď následně přijata od aplikačního programu, je umístěna do úložného prostoru na serveru a podržena tak dlouho, dokud klient nezahájí další komunikaci se serverem, která ponese přiřazený identifikátor relace. Server porovná identifikátor relace uložené odpovědi a nového požadavku a pak pošle uloženou odpověď klientovi.
Je také v rozsahu tohoto vynálezu vytvořit závislost
mt
Ht· • Φ φφ φ φ φ φ
φφ φ· • φ φ · φ φφφ * φφ Φ Φ Φ
Φ Φ Φ ·· ΦΦ typu odpovědi na požadavek klienta na povaze požadavku. Některé požadavky, jako například objednávka zboží, mohou vyžadovat okamžité potvrzení přijetí s přiřazeným číslem objednávky, což minimalizuje dobu, po kterou je proces klienta zastaven. Jiné požadavky, jako například dotaz na zůstatek na účtu nemusí vyžadovat potvrzení přijetí požadavku před poskytnutím požadovaných informací, protože tyto informace jsou vyžadovány pokud jsou dostupné rychle; v tomto případě je pro klienta vhodné počkat po jistou dobu na úplnou odpověď. Takové určení toho, zda se mají posílat okamžitá potvrzení, či ne, je přednostně implementováno vybavením koncového uživatele prostředky pro udání potřeby potvrzení, jako například zajištění volitelného pole nebo parametru ve formuláři s požadavkem a prostředky k vyplnění a reagování na tyto položky v tomto poli.
Identifikátory relace jsou přednostně přiřazeny k požadavkům od klienta procesem na serveru, který vloží identifikátor relace do příslušného asynchronního požadavku, který posílá aplikačnímu programu. Asynchronní požadavek serveru tudíž obsahuje informace z počátečního požadavku klienta a přiřazený identifikátor. Jakmile server následně přijme odpověď od aplikačního programu, která obsahuje tento identifikátor relace, server přiřadí tuto odpověď k požadavku klienta a pošle klientovi odpověď, která obsahuje identifikátor relace. Zde je třeba si povšimnout, že server může přiřadit identifikátor relace pro komunikaci s procesem klienta, který sám od sebe nepodpdruje více současných relací. Výměna identifikátoru relace a použití schopností úložného prostoru klienta k ukládání navrácených identifikátorů relace umožňuje použití těchto identifikátorů k rozlišení mezi současně probíhajícími relacemi. Klient může prokládat komunikaci komunikací s mnoha různými ·« 00 0 0 0 · ·· 0 • · ·
0 0 •0 000» • ··<·
00 • · · 0 0 0 00
0 0 « 0
0 «
00 aplikacemi, protože má prostředky k jejich rozlišení a server muže snadno přiřazovat odpovědi na asynchronní zprávy k odpovídajícím požadavkům. Toto opatření pro současné nebo paralelní zpracování aplikací může značně zvýšit účinnost obchodování.
Vynález umožňuje, aby komunikační prostředky, které jsou navrženy pro synchronní komunikaci s jedním požadavkem, komunikovaly s prostředky, které využívají asynchronní komunikaci.
U systému a způsobu podle vynálezu je upřednostňována podpora řazení komunikace mezi klientem a aplikačním programem. To lze implementovat pomocí informací o stavu relace (jako je například číslo pořadí udávající pozici komunikace v aktuální konverzaci), které je přidáváno do zpráv, které posílá aplikační program zpět klientovi. Aplikace, která vyžaduje další vstup od klienta, tuto skutečnost uvede v informacích o stavu relace v odpovědích, přičemž tyto informace jsou buďto zjistitelné pro server, nebo pro klienta, nebo pro oba. Pomocí informací o identifikátoru relace a o stavu relace je možné jednak identifikovat k sobě patřící dvojice požadavek-odezva konkrétní aplikace, která může obsahovat několik úspěšných komunikací uživatele a zajistit správné po sobě jdoucí řazení komunikace v relaci.
Identifikátory relace jsou přednostně obsaženy jak v komunikaci, která je posílána klientovi po vypršení časovače, tak v odpovědích, které jsou posílány klientovi aplikací, které očekává další komunikaci s klientem. Podle jednoho provedení se na serveru zjišťuje, zda se má do odpovědi zahrnout údaj o identifikátoru relace, přičemž
proces zjišťování přednostně reaguje na údaje o stavu relace poslané komunikujícím aplikačním programem a reaguje na vypršení časového limitu. Pokud není ód klienta očekáván žádný další vstup {tj. od koncového uživatele ani procesu na klientovi), pak server uvolní všechny prostředky pro danou relaci po odeslání odpovědi klientovi a není vyžadován žádný identifikátor relace.
Tento proces zjišťování může být žádoucí při hledání možných problémů spojených s relacemi, které jsou udržovány po delší časové období, než je nutné. Za prvé udržování relací spotřebovává prostředky serveru. Za druhé vrácení údajů o identifikátoru v poslední komunikaci z posloupnosti požadavek-odpověď by mohla obsahovat identifikátor zůstávající v úložném prostoru v klientovi po nekonečně dlouhou dobu. To by mohlo být narušení bezpečnosti stejně jako využití prostředků klienta. Pokud jsou informace o identifikátorech vždy vraceny klientovi (tj. výše uvedený proces zjišťování není implementován), pak jsou výše uvedené problémy řešeny odstraněním informací o stavu z klienta po uplynutí příslušného časového období.
Upřednostňované provedení vynálezu nabízí systém sdělující data, ve kterém má v sobě server nainstalován program internetového www serveru a klient má na sobě nainstalován program www prohlížeče pro posílání požadavků internetem připojeným serverům. Server má také funkce pro podporu asynchronní sdělování zpráv mezi aplikačními programy. Jakmile server přijme požadavky na HTML od terminálu WWW klienta (v synchronní komunikační relaci), které vyžadují komunikaci s aplikačním programem, který je navržen pro asynchronní komunikaci, proces na serveru přepošle požadavek aplikačnímu programu jako zprávu poslanou • * » 1 .· do vstupní fronty aplikačního programu. Pokud aplikační program nemůže interpretovat HTML, pak proces na serveru také převede přijatý HTML požadavek do “formátu zprávy rozpoznatelného aplikačním programem a pak přepošle převedenou zprávu. Jako odezva na přijetí zprávy s odpovědí od aplikačního programu před vypršením předem stanoveného časového limitu převede proces na serveru zprávu ve formě odpovědi zpět do HTML (pokud je to nezbytné) a pošle vytvořené HTML stránky jako odpověď terminálu klienta. Z pohledu www klienta, pokud je odpověď k dispozici před vypršením časového limitu, pak je tato součástí původní synchronní komunikační relace.
Server obsahuje prostředky pro vkládání údajů o identifikátoru relace do HTML stránek, které jsou vkládány do odpovědí posílaných uvedenému klientovi. Server přednostně obsahuje také prostředky, které reagují na údaje o stavu relace obsažené v odpovědi aplikačního programu na asynchronní požadavek, kvůli vložení do HTML stránek jednoho nebo více HTML formulářů k vyplnění koncovým uživatelem, přičemž tyto formuláře v sobě obsahují identifikátor relace. Údaje o stavu relace mohou být také obsaženy v HTML stránkách.
Server reaguje na vypršení časového limitu před přijetím zprávy s odpovědí od aplikačního programu posláním komunikace (tj . HTML stránky) www terminálu klienta. Tato komunikace obsahuje identifikátor relace á přednostně identifikátor stavu relace. Komunikace poslaná zpět klientovi končí svou synchronní HTTP relaci a www klient není již zastaven, ale klientova dále probíhající komunikační „relace s bránou stále logicky existuje tím, že jsou udržovány informace, které umožňují opětovné zahájení
- 17 - ·· ·· • « · » • t · ΐ · · • fl · • fl ·flfl · « fl* · ·· e · · · fl · · * • · » · · · 1 fl ·«♦♦··· • fl · · · ····««« fl* · ·
komunikace mezi www klientem a programem brány. Koncový
uživatel může určit, zda se má, či nemá, opět vstoupit do
zastaveného stavu pb další časové období á spustit nová
synchronní relace. Identifikátor relace a údaje o stavu jsou uloženy ve vyrovnávací paměti www klienta soužitím schopnosti www klientů zachycovat www stránky ve vyrovnávací paměti. Www klient může používat tyto informace zachycené ve vyrovnávací paměti k opětovnému zahajování předchozích komunikací - k pozdějšímu ověření, zda není na serveru aplikačnímu programu dostupná zpráva s odpovědí. Vložením identifikátoru relace a údajů o stavu relace do po sobě následujících požadavků na server, které jsou spojeny s původní relací, umožňuje klient serveru rozlišovat mezi různými relacemi a mezi různými požadavky, které jsou částí stejné aplikace.
Výše popsané provedení vynálezu nabízí převod z formátu zprávy HTML do formátu zprávy jiného než HTML podle známých technik. Tam, kde je vyvolávaná aplikace schopna interpretovat HTML, není samozřejmě převod nutný.
Tento vynález tudíž v upřednostňovaném provedení nabízí spojení mezi synchronním prostředím www a asynchronním prostředím systémů pracujících se zprávami. Vynález je stejně použitelný při použití programu prohlížeče ke komunikaci s aplikačními programy pomocí serveru v intranetu.
Přehled obrázků na výkresech
Vynález bude blíže vysvětlen prostřednictvím konkrétních příkladů provedení znázorněných na výkresech, na ··’'5''xvhř’ ·':- '· ·'? ě- ··
ΒΒ • Β · * · · » · · * • Β Β •5 Β ΒΒ Β Β
* · · 9 * · ♦·
ΒΒΒ 9 « kterých představuje obr, schematické znázornění komunikace mezi klientem a servery Internetem;
obr. 2 schematické znázornění komunikace mezi programy pomocí asynchronního posílání zpráv a řazení do front;
obr. 3 program brány instalovaný na serveru pro komunikaci mezi synchronně spojeným www prohlížečem a aplikačním programem uzpůsobeným k asynchronní komunikaci podle provedení tohoto vynálezu;
obr. 4 vzájemná komunikace mezi bránou, prohlížečem a aplikačními programy podle druhého provedení vynálezu; a obr. 5 blokové schéma zobrazující prováděné činnosti zejména programem brány na serveru jakmile je z programu www prohlížeče poslán požadavek, podle provedení tohoto vynálezu.
Příklady provedení vynálezu
Tento vynález může být implementován v mhoha systémech zpracovávajících data a v komunikačních systémech, ve kterých jsou vyžadována spojení mezi různými prostředími. Vynález není omezen na konkrétní počítačový hardware, ani operační systém, ani na konkrétní typy komunikačních spojů a může být implementován buďto jako hardwarová součást, nebo ·· ·♦ ► 4 « « » · ·· ·*« · · • · « • · *· jako softwarová součást, nebo jako kombinace hardwarové a softwarové části.
Upřednostňované provedení tohoto vynálezu obsahuje softwarově implementovanou součást serveru, která zajišťuje spojení mezi prostředím s asynchronním posíláním zpráv a prostředím s řazením do front a synchronním prostředím www.
Jak je zobrazeno na obrázku 1 a popsáno výše, jsou koncoví uživatelé Internetu vybaveni počítači 10, které mají přístup k Internetu a které mají na sobě nainstalován program 20 www prohlížeče. Www server 30 obsahuje počítačový systém (na tomto systému může být například běžet operační systém Windows NT nebo operační systém UNIX, nebo se může jednat o počítač IBM PS/2 Model 80, na kterém běží operační systém OS/2, nebo systém sálového počítače podporující operační systém MVS od IBM) připojený k Internetu a na něm běží program 40 www serveru (jako například IBM Internet Connection Server). OS/2, MVS a PS/2 jsou obchodní značky společnosti IBM Corporation. Program www serveru obsluhuje HTTP (HyperText Transfer Protocol) požadavky od www prohlížečů, analyzuje je buďto jako požadavky na statickou HTML stránku, nebo na spustitelný program a odpovídá buďto posláním dostupné HTML stránky (která se např. nachází na úložném médiu) www prohlížeči, nebo vyvoláním programu 50, který poběží na www serveru nebo na jiném systému a vygeneruje HTML. Programy jsou vyvolávány www serverem pomocí společného rozhraní brány, CGI 60, nebo jiného rozhraní implementovaného www serverem (většina www serverů podporuje dvě rozhraní, přičemž jedno z nich je CGI)
Obrázek 2 je zjednodušené schematické znázornění komunikace mezi programy pomocí asynchronního posílání zpráv a řazení do front za řízení sítě programů pro správu front jako jsou programy MQSeries od IBM. Správce fronty je systémová služba, která zajišťuje schopnosti řazení zpráv do front používané aplikacemi. Jak je zobrazeno na obrázku 2, první aplikační program 100 v systému 110 vydá příkaz k předání zprávy do řízení programu 120 místního správce front a k jejímu sdělení správci 130 front, který běží na vzdáleném systému 160, do fronty 140. Obsluhující aplikační program 150 následně převezme zprávu z fronty 140 jakmile je připraven jí zpracovat. Obchodní aplikace mohou být například převod bankovních fondů nebo systém rezervací míst v letadle. Fronty se zprávami jsou pojmenované objekty, ve kterých se hromadí zprávy a ze kterých jsou později odstraňovány.
Za údržbu určité fronty je zodpovědný jeden ze správců front. Fronta zpráv není pouze zásobník: při přidávání zpráv jsou tyto přidávány do fronty na konec a při odebírání zpráv z fronty jsou normálně odstraňovány zepředu. Fyzická reprezentace front zpráv závisí na prostředí, ale může to být vyrovnávací paměť, nebo vyrovnávací paměti v hlavním úložném prostoru, soubor nebo soubory na disku nebo jiném trvalém úložném zařízení, nebo oba způsoby. Za fyzickou správu front zpráv je plně zodpovědný program správce front a tyto podrobnosti nejsou aplikačním programům viditelné. Pro aplikace představují frontu zpráv prostě jako „černou skříň, ve které se hromadí zprávy. Aplikace mají přístup do front zpráv pomocí API volání pro řazení1 do fronty ke komunikaci se správcem front, který je instalován na stejném systému jako aplikace {tj. lokální správce front).
Aplikační programy jsou připraveny ke komunikaci s určitými pojmenovanými front zpráv, přičemž posílají
'···.' í? A
• · φ· ·· φ · · · • ♦ *· * ··· · φ « * • Φ φφ zprávy do určitých cílových front, ze kterých aplikační programy mohou číst. Umístění těchto front nemusí být aplikacím posílajícím zprávy viditelné;· každá aplikace komunikuje pouze se svým místním správcem front a je to síť vzájemně propojených správců front, která je zodpovědná za přesun zpráv do požadovaných front. Každý správce fronty udržuje lokální směrovací tabulky pro nalezení ostatních správců front v síti. Tímto způsobem software pro řazení zpráv do front podporující aplikace velmi zjednodušuje složitost, která se vyžaduje od aplikačních programů tím, že se odstraní jejich potřeba implementovat své vlastní složité řízení komunikace.
Tento vynález nabízí přístup k takové síti vzájemně propojených správců front uživatelům, kteří nemají na svém lokálním systému instalován žádný program pro správu front. Vynález také zajišťuje prostředí pro vývoj složitých, spolehlivých www aplikací, které mohou využívat služeb existujících aplikacím zprostředkujících programů jako jsou například produkty MQSeries od IBM.
Spojová součást, která je v programu implementována, je navržena k instalaci na www serveru k tomu, aby posílala a přijímala zprávy jménem synchronně připojených uživatelů.. Tato spojová součást, dále označovaná jako program brány, je vyvolávána požadavky od www prohlížeče jak bylo popsáno výše. Program brány používá rozhraní s www serverem, například standardní CGI (společné rozhraní brány). Program brány umožňuje správu více současně připojených uživatelů a jejich stavu, jak bude popsáno níže, a spravuje rozdíly mezi synchronním HTTP a asynchronními zprávami, přičemž zajišťuje synchronně připojenému www prohlížeči informace o průběhu asynchronních zpráv, které vyšle jménem prohlížeče. Program
fe * fe· «· fe * fe ·
brány také spravuje spojeni mezi systémy pro zaručené doručování zpráv a nezaručenou HTTP komunikací. Přestože muže být vyžadován převod dat (jako například z ASCII do EBCDIC), protože různé architektury a hardwarové platformy mají různou reprezentaci a parametry dat, je tento převod v oboru znám a není nutné jej implementovat programem brány, protože známé programové produkty pro posílání zpráv převod umí provést. Program brány také nemusí zajišťovat komplexní schopnosti zabezpečení, protože tyto schopnosti jsou implementovány ve známých programech posílajících zprávy a ve www serverech (jako jsou servery Secure Internet Servers od IBM).
Obrázek 3 zobrazuje program 200 brány, který tvoří rozhraní mezi programem 210 správce front zpráv a programem 220 www serveru instalovaným na počítačovém systému . 230. Může se použít program brány, jak je ukázáno v tomto příkladu, k tomu, aby tvořil rozhraní mezi www serverem a aplikačním programem 240 pro řazení zpráv do front, který může běžet na jiném stroji, než na serveru 230. V tomto případě se na serveru nevyžaduje žádný aplikační software. Systém, na kterém běží aplikace pro řazení zpráv do front, může být připojen k serveru Internetem nebo jinou komunikační sítí. Aplikační program v tomto příkladu je schopen interpretovat data ve formě HTML od www prohlížeče 250 a generovat HTML stránky jako odpověď.
Podobné použití programu brány ve spojení se složkou 260 aplikace pro převod formátu instalovanou na www serveru je zobrazeno na obrázku 4. Složka pro převod formátu slouží k převodu mezi HTML požadavky www prohlížeče a odezvami a vnitřní strukturou zpráv aplikačního programu 270,, který není schopen interpretovat HTML. Tato převodní složka 260
..•Ϋ'-‘V : •/ ' .íoíf'
fc fcfc • » · * fc · **• fcfcfc fc • fc · fcfc fcfc tudíž umožňuje použití programu 200' podle tohoto vynálezu s existujícími aplikacemi pro řazení zpráv do front. Součást serveru může také koordinovat požadavky na několik cílových aplikací a odpovědi www prohlížeči v jedné pracovní jednotce. Převod HTML je v oboru dobře znám a tudíž zde nebude dále popisován.
Nyní bude popsán program brány a komunikační tok mezi www prohlížečem a asynchronním aplikačním programem s odkazem na obrázek 5. Jedna nebo více aplikačních vstupních front, je definována pro každý aplikační program pro řazení zpráv do front, který je spojený s programem brány. Tato aplikace a její vstupní fronty mohou být umístěny na počítači s www serverem nebo na libovolném počítači připojeném pro komunikaci se serverem pomocí podpory zprostředkujícího softwaru pro řazení zpráv do front. Brána má frontu s odpověďmi umístěnou na serveru a spravovanou lokálním programem pro správu front, pro zprávy posílané aplikačními programy.
Uživatel komunikuje s programem brány pomocí požadavku 300 GET nebo POST z formulářů ve formátu HTML, který udává název aplikace pro řazení zpráv do front nebo služby, kterou si přejí použít. V upřednostňovaném provedení tohoto vynálezu název obsahuje název aplikační fronty, ale v alternativním provedení je tento odvozen programem brány od názvu aplikace.
Příklad příkazu, kterým uživatel vyvolá aplikaci je následuj ící:
<form method=post action=/mig-bin/migcgi/MQApp'/>
Určení systému pro řazení zpráv do front:
X- - νΧΧ'ΝΧ:· -' - . 4/¾ ·Η*ί4·
·♦ · « · · - 24 - : : ·· ··· · «* · · ♦ · · * Φ · · · ·· _ · Φ * ·♦· · * • * · · *
Cinput type=input; name=QMName; size=48; max
length=48>
a aplikace:
cinput type=input; name=QName; size=48; max
length=48>
<input type=submit; value=Klepněte sem a spustí se
aplikace>
</form>
Název QName se vyžaduje k určení cíle pro generovanou asynchronní zprávu a je normálně určen samotnou aplikací. Název QMName je volitelný. Pokud je uveden, používá se spolu s QName k určení cíle zprávy. Pokud není zadán, použije se prázdný název. Je možné aplikovat normální pravidla pro rozlišování názvů systému pro posílání zpráv. Do formuláře s požadavkem lze přidat další pole obsahující formátovací data, která mají charakter specifický pro danou aplikaci. Tato pole jsou předána aplikaci ve zprávě poslané bránou.
První komunikace uživatele s aplikačním programem („vstupní bod aplikace) přichází typicky ze statické www stránky ve formátu HTML. Uživatel dereferencuje dané URL nebo pošle 300 HTML formulář, který komunikuje s programem brány. Počáteční požadavek HTML neobsahuje žádný vložený identifikátor relace. Poté co uživatel poprvé projde tímto vstupním bodem (tj. pošle se požadavek na HTML, který nepatří k již existující relaci) a spustí aplikaci, program brány sestrojí relaci 340, označenou identifikátorem relace, který je v bráně jedinečný a představuje kombinaci aplikace požadované uživatelem a instance požadavku. Identifikátory relace se mohou generovat s dostatečnou nahodilostí nebo s použitím jednoznačné identifikace serveru tak, aby se zajistila jednoznačnost pro celou síť, ale to není ·· · 9 · * · » · · *· • · ♦·» · · ·
• 9 · · * správu front se zprávami od IBM) mají schopnosti
- 25 podstatné. Existující programy pro (jako například programy MQSeries generovat jedinečné identifikátory a program brány podle upřednostňovaného provedení těchto schopností využívá.
Brána přidává 350 údaje o identifikátoru relace do tabulky relace (implementované jako položky ve frontě se zprávami, která je například držena v křížově zpracovávané sdílené paměti serveru, na kterém běží operační systém OS/2 nebo AIX, nebo zapsané na diskovém úložném prostoru) spolu s údaji o klientském systému nebo s údaji o totožnosti uživatele. ΟΞ/2 a AIX jsou obchodní značky společnosti IBM Corporation. Tato tabulka se dále používá k přiřazování identifikátorů relací k požadavkům uživatelů k odezvám aplikačních programů, jek bude popsáno níže. Není zajištěn jiný způsob spouštění aplikace kromě průchodu vstupním bodem aplikace výše popsaným způsobem. Komunikace uživatele se nemůže týkat více než jedné relace.
Poté co program brány přiřadí identifikátor relace komunikaci uživatele, vloží 360 zprávu do vstupní fronty definované aplikačním programem, spustí 370 časovač a zahájí 370 proces přijímání zprávy s odpovědí od aplikačního programu. Přijímání odpovědí bude popsáno níže. Zpráva obsahuje stavové informace ve formě pořadového čísla udávajícího pozici této komunikace v rámci celkové komunikace mezi klientským procesem posílajícím požadavky a aplikačním programem a obsahuje identifikaci uživatelského klientského systému a také vstupní data poslaná www prohlížečem. Tato data jsou předána aplikaci v příslušné znakové sadě a kódové stránce (s konverzí provedenou procesem na serveru odděleným od samotného programu brány, jak bylo uvedeno výše) . Cíl zprávy může být dlouhodobě
»· ♦ *· · 4 • · * ·* ** běžící aplikace řadící zprávy do fronty nebo se její příchod může použít ke spuštění aplikace pro řazení zpráv do fronty. Jak bylo popsáno výše, vynález se může implementovat pro použití s aplikacemi, které jsou „navrženy pro www (tj . které rozumí HTML stránkám a generují HTML stránky) a s aplikacemi, které vyžadují HTML převod. Následující popis provedení vynálezu se týká příkladu vzájemné komunikace s aplikací navrženou pro www.
Aplikace řadící zprávy do fronty by měla odpovídat na přijaté zprávy posláním HTML stránky do fronty s odpověďmi programu brány. Jak bylo výše popsáno, program brány již vyvolal proces pro převzetí těchto odpovědí ze své fronty po jejich přijetí. To se implementuje s použitím známé schopnosti mezilehlého programu pro řazení zpráv do front, kdy příkaz k získání zpráv z fronty může volitelně obsahovat příkaz k čekání po udanou dobu pokud není odpověď okamžitě dostupná při prvním pokusu operace Get (získání). V produktech správců front MQSeries od IBM je tato schopnost vyvolána jako parametr API příkazu pro získání zprávy „MQGET_Wait, jak je popsáno ve výše uvedené publikaci „MQSeries - Message Queue Interface Technical Reference (IBM číslo dokumentu SC33-0850-01). Program brány tudíž pošle zprávu a vyvolá 370 příkaz k získání zprávy s odpovědí, přičemž nechá program pro správu front řídit současnou operaci Get Message pro získání zprávy, která získá 420 HTML zprávu z fronty s odpověďmi a pošle jí bráně. Program brány pak vyšle 420 prohlížeči HTML stránku obsahující současný identifikátor relace jako skryté pole v HTML.
V případě že vyprší časový limit operace získání zprávy předtím, než program brány obdrží zprávu s odpovědí, pak se
získání zprávy vrátí a program brány odešle 390, 400 prohlížeči zprávu s předběžnou odezvou. Tato předběžná zpráva ukončuje synchronní relaci, ale protože obsahuje identifikátor relace, muže být později „opětovně spuštěna (bude vlastně spuštěna úplně nová relace, ale protože s sebou nese komunikaci mezi stejným prohlížečem a programy brány a obsahuje stejný identifikátor relace, můžeme se na ní dívat jako na opětovné spuštění původní relace). Pokud je synchronní relace mezi www prohlížečem a programem www serveru připojeným prostřednictvím brány jinak přerušena před přijetím odpovědi, zruší brána jakékoli operace získání zpráv v nejistém stavu. Všechny zprávy s odpověďmi, které jsou umístěny do fronty s odpověďmi programu brány po vypršení nebo jiném přerušení relace tam zůstanou dokud www prohlížeč znovu nenaváže komunikaci s bránou kvůli vyhledání příslušné zprávy s odpovědí. Po přijetí takového následného požadavku www prohlížeče vyvolá program brány znovu operaci pro získání zprávy (s intervalem čekání).
U všech zpráv, které jsou poslány klientům v relaci není potřeba, aby obsahovaly identifikátor relace, identifikátor je však přidán kdykoli se očekává další komunikace klienta. To je obecně případ, kdy je poslána 400 komunikace po vypršení časového limitu a předtím, než je dostupná odpověď aplikace nebo pokud je přijata odpověď aplikace a vložené informace o stavu relace potvrzují očekávání další komunikace klienta. Program brány obecně aktualizuje 420 svou tabulku s relacemi s informacemi o stavu relací pro příslušnou relaci po přijetí odpovědi od aplikačního programu. Pokud však aplikace nepožaduje další komunikaci s uživatelem nebo s procesem v klientském systému (což udávají informace o stavu relace, nebo jejich nepřítomnost v odpovědích od aplikačního programu), uvolní
't
0« ·
0 · ·
0 · • 0 * • V · »· »000
0 ····
Β 0 * · · ·· • •0 · · · ·
0» ·«
420 program brány všechny prostředky specifické pro relaci poté co pošle stránku prohlížeči.
Jakmile aktuální aplikační program „očekává nebo vyžaduje další komunikaci s klientem (tj. očekává interakci klienta se současným aplikačním programem nebo jiným aplikačním programem předtím, než celá aplikace skončí), uvede tuto skutečnost pomocí příznaku ve svých odpovědích serveru. Také obsahuje další HTML formuláře v HTML stránce, která je posílána klientu s identifikátorem relace vloženým v každém z dynamiky vytvářených HTML formulářů.
Www prohlížeč má schopnosti ukládání stránek 410 do vyrovnávací paměti a proto je schopen ukládat vložené identifikátory relace a to umožňuje obyčejnému uživateli mít otevřenu více než jednu relaci. Tyto relace mohou být vnořené, nebo se mohou vzájemně překrývat. Poté co je formulář obsahující identifikátor relace následně doplněn 300 do prohlížeče, poputuje identifikátor relace zpět do programu brány na serveru tak, aby mohl program brány přiřadit 320, 330 následně přijatý formulář ke správné relaci. Identifikátor relace se používá k odlišení požadavku od jiných požadavků jiných uživatelů a jiných požadavků od stejného uživatele, ale pro jiné aplikace. Proces, který je částí programu brány, prohledá 320 tabulku relace na shodu položek v tabulce s identifikátorem relace a shodu informací o stavu relace přijatého požadavku. Pokud relace a informace o stavu neodpovídají existující komunikaci s aplikací, pak program brány pošle 360 stavové informace a vstupní data jako zprávu do vstupní fronty aplikace jak bylo popsáno Pokud je však při porovnávání informací o relaci informací přijatého požadavku s položkami vyse, a stavových v tabulce relací nalezena shoda, musí se jednat o opětovný
. -I ^·· W!ti -J. . ' , f . ... * I. ..
·· ·· « 0 0 ·
0 ·
0 > ·
0 0
000·
0*
0 • 00 «000
0 0 • 0·
0 0 ·
0 0 ·· pokus dřívějšího požadavku a tudíž může být již k dispozici odpověď. Aplikaci by tudíž neměla být poslána nová zpráva, protože příslušný správce front nebosprávci front zodpovídají za to, že zajistí právě jednu zabezpečenou dodávku předtím vyslané zprávy; program brány vyvolá 370 operaci pro získání (Get) s čekáním, která ověří, zda ve frontě s odpověďmi není očekávaná zpráva s odpovědí.
Přiřazení identifikátoru relace uživatelské komunikaci, který je pak vrácen prohlížeči a v něm uložen, tudíž řeší mnoho technických problémů. Za prvé umožňuje více než jednomu uživateli přistupovat ke stejné aplikaci nebo službě současně, přičemž brána je schopná rozlišovat odpovědi, které přijímá. Za druhé zajišťuje, že je přenášen dostatek informací o kontextu mezi za sebou následujícími požadavky vydávanými jednotlivými uživateli jednotlivým aplikacím serveru kvůli přiřazení množství dvojic požadavek-odpověď déle probíhající komunikaci s aplikací. Za třetí umožňuje uživateli prokládat komunikaci s několika různými aplikacemi, protože je zajištěn mechanismus k rozlišování mezi nimi. Za čtvrté umožňuje uživateli přerušit aplikaci v libovolném stavu, případně bez poslání jakéhokoli upozornění serveru nebo programu brány a bere v úvahu možnost selhání spojení mezi uživatelem a serverem.
Stejně jako přidávání identifikátoru relace budou dynamicky vytvářené HTML obsahovat pořadové číslo udávající pozici komunikace v rámci aktuální relace. To se vrátí programu brány při dalším požadavku prohlížeče a program brány jej porovná 320 s očekávanou hodnotou. Tento mechanismus, udržování kontextu dat a kontextu stavu spuštění s použitím identifikátorů relace v tabulce a pořadových čísel v tabulce, umožňuje provádění posloupností
44 >4
4 4 4 ··
4 · ··
4 44« 4 · • 4 4 4
I 4 *
4444 sobě vzájemně závislé rozlišovat mezi mnoha jedním z následujících
- 30 požadavků od klienta, které jsou na obsluhující aplikace je schopna zprávami v jedné relaci.
Relace může být ukončena způsobů:
Aplikace na serveru udává ve své zprávě s odpovědí, že není vyžadován žádný další vstup uživatele a brána odpoví uvolněním 420 prostředků specifických pro danou relaci.
HTML stránka obsahující formulář je poslána uživateli do administrátorem stanoveného časového období, není však vyplněna. Brána pošle zprávu o ukončení obsluhující aplikaci, která očekávala odpověď- od uživatele (přičemž zamezí nadbytečné údržbě nedokončenou obsluhující aplikací).
Uživatel se rozhodne přerušit aplikaci pomocí dialogu s programem brány, protože aplikace neodpovídá na zprávy během přijatelné doby. Program brány se pokusí získat poslanou zprávu. Pokud se to nepodaří, pošle zprávu o zrušení obsluhujícími aplikačnímu programu.
Ukončení relace umožňuje programu brány a obsluhujícím aplikacím uvolnit všechny prostředky specifické pro danou relaci, které měly přidělené. Identifikátor relace bude odmítnut (tj . nespustí další komunikaci kromě upozornění o odmítnutí) pokud je poslán programu brány, buďto uživatelem, nebo obsluhující aplikací po ukončení relace. Důležité je všimnout si, že vypršení serverem nastavitelného časového období udává období po které by měl být proces klienta udržován zastavený, avšak neukončuje automaticky relaci. Tudíž po takovém časovém limitu program brány stále udržuje
07,
·· · · • · ·· • a · * ·
4 ·
44
4 a · · • 4 4444 ·*· ♦··· zprávy na obrazovce týkající se vypršení časovače), odpověď prohlížeči vyvolaná časovačem podle upřednostňovaného vynálezu však udává, zda byl požadavek přijat cílovým počítačem a zda aplikace požadavek přečetla, nebo nepřečetla. Jsou známy programy pro správu front se zprávami, které zajišťují oznámení potvrzení po příchodu a potvrzení po doručení. Program brány podle předcházejícího provedení je uzpůsoben k použití dostupných oznamovacích schopností, aby mohl sestrojit své upozornění o vypršení časového limitu tak, aby upozornění obsahovalo veškeré dostupné informace o průběhu komunikace pro danou relaci.
Je v rozsahu tohoto vynálezu implementovat předběžnou odpověď jako mezilehlé potvrzení přijetí požadavku od klientského systému bránou. Toto potvrzení ukončí přítomnou synchronní relaci, bude však obsahovat identifikátor relace a tak umožní klientovi později opět zahájit komunikaci. Přestože klientský proces nebude v tomto případě pozastaven, aby očekával odezvu od asynchronně dotázaného programu, zůstává možnost prodlev mezi požadavkem a potvrzením přijetí kvůli problémům s komunikačními spoji samotných komunikačních systémů. Doba vypršení časového limitu klienta zde může být použita k automatizaci doby, kdy by měl být požadavek klienta přerušen v případě, že není přijato žádné potvrzení, ale pro jisté aplikace je určení doby, kdy se má rozhodnout o přerušení požadavku klienta, ponecháno na koncovém uživateli, jak je známo uživatelům existujícího softwaru www prohlížečů.
Je také v rozsahu tohoto vynálezu zajistit proces v programu brány, který reaguje na přijatý „typ požadavku od klientského systému k určení, zda je požadována okamžitá předběžná odpověď, nebo zda se má použít nastavené přerušení
* » • * · • · * · « · ···· » Β· ·· · · • · • · *
·»· ·*»· ·· ·· « · ·· ♦ ·· · · • · * ·· ·· nebo časový limit kvůli zajištění úplné odezvy během tohoto limitu v případě že je dostupná. Podle jednoho konkrétního provedení tohoto vynálezu má program brány nastavitelnou hodnotu časového limitu, kterou používá standardně. Tato hodnota je udržována v konfiguračním souboru na serveru, kde je instalován program brány a může být nastavena při instalaci programu brány a následně upravena administrátorem systému. Volitelný parametr může být vložen do HTML formulářů s požadavky {podobně jako parametry QName a QMName), který překryje tuto standardní hodnotu. S použitím výše uvedených příkladů při návrhu HTML formuláře, který má posílat objednávku zboží a který vyžaduje rychlou odpověď s potvrzením požadavku, bude ve formuláři s požadavkem zakódována nízká hodnota časového limitu; zatímco pokud se požadují informace o zůstatku na bankovním účtu, kde se nepožaduje žádné takové rychlé potvrzení, bude zakódována vyšší hodnota (pravděpodobně hodnota odpovídající nej delšímu časovému období, které budou uživatelé schopni tolerovat).
Protokoly pro přenos zpráv pro zajištění zabezpečené dodávky zpráv jsou popsány v mezinárodní patentové přihlášce WO 95/10805 a v patentové přihlášce UK číslo publikace GB 2311443, které jsou zde zahrnuty odkazem. Přestože základní podpora sítě typicky zabezpečuje spolehlivou dodávku paketů mezi počítači, zabezpečenou dodávku není obvykle schopné zajistit nespolehlivé médium. Aby se zajistilo právě jedno poslání dat a aby se komunikace opět spustila a správně se obnovila po závažném selhání počítače nebo sítě, vyžaduje se více než základní podpora sítě pro dodávku paketů. Oba partneři v zajištěné dodávce si zejména f
musí zapamatovat, která data byla úspěšně přenesena a „zajištěna. Zajištění je proces zapsání dat na úložné médium jako je disk a zabezpečení obnovitelnosti i informace o identifikaci relace a stavové informace.
Jsou známy programy pro správu front se zprávami, které mají schopnost zajistit, aby zprávy od programu brány byly doručeny do vstupní fronty aplikace a aby byly odpovědi vraceny programu brány (viz. níže). Programy pro správu front se zprávami však nemohou zajistit funkčnost komunikačních spojů v dané době, ani to, aby se aplikace sama spustila a zpracovala požadavky od prohlížeče. Program pro správu front nemůže rovněž zajistit zabezpečenou dodávku www prohlížeči, . který se připojuje do sítě správců front, jak bylo popsáno, reaguje program brány na přicházející požadavky www prohlížeče tím, že vkládá zprávu do vstupní fronty aplikace na serveru. Poté co je zpráva poprvé umístěna do fronty, spustí 370 program brány odpočítávací časovač a čeká na odpověď od aplikace na serveru. Pokud časovač vyprší .před přijetím odpovědi od aplikačního programu, vytvoří 390 program brány HTML stránku, aby upozornil 400 uživatele na vypršení.
Program brány je tudíž nastaven tak, aby posílal svou odpověď prohlížeči v případě, že nedostane odpověď od aplikace před vypršením administrátorem definovaného časového období. Nastavení maximální časové prodlevy před přerušením klienta bude záviset na příslušné aplikaci (vhodné zpoždění může být 10 sekund nebo 1 sekunda) . Hlavní účel této odpovědi je poskytnout uživateli nebo komunikujícímu procesu v systému klienta informace, které umožní zjistit, zda se má udržovat stav čekání aktuální komunikační relace na odezvu, nebo zda se má ukončit relace (ale udržovat informace týkající se relace) a pokračovat dalšími pracovními položkami. Tato odpověď klientovi může být prostě výzva koncovému uživateli (například vyvolání • 9
v případě selhání hardwaru. Zajištění obnovy prostředků v systému řazení zpráv do fronty je popsáno podrobně na stránkách 209 až 217 v knize „Messaging and Queuing Usíng the MQI, B. Blakeley, H. Harris & R. Lewis, McGraw-Hill, 1994 .
Obchodní aplikace může obsahovat několik obsluhujících aplikací, jejichž aktivity je zapotřebí zkoordinovat transakčním způsobem. tento problém je řešen programem správce front se zprávami na serveru. Program brány posílá zprávu jednomu - řídícímu aplikačnímu programu pro řazení zpráv do front, který ji pak v případě potřeby rozloží na oddělené požadavky na jednotlivé obsluhující aplikace. Tyto zprávy mohou být posílány a rekombinovány transakčním řízením programem pro správu řazení zpráv do front. Programy obsluhující zprávy, které mají schopnosti zajišťující takovéto transakční řízení jsou v oboru známy (například programy obsluhující zprávy MQSeries od IBM).
Návrh programu brány umožňuje přidání dalších obsluhujících aplikací, které zdolají zvýšené požadavky t j. řešení podle upřednostňovaného provedení vynálezu je stupňovatelné. To je dosaženo tím, že program brány obsahuje identifikátor relace v části deskriptoru zprávy jednotlivých asynchronních zpráv. (Deskriptor zpráv obsahuje informace definující vlastnosti zprávy a používá jej služba pro řazení zpráv do fronty k rozhodnutí o tom jak se má zpráva zpracovat. Samotné zprávy obsahují dvě samostatné části část s aplikačními daty a část se záhlavím zprávy obsahující informace deskriptoru zprávy, které jsou vzhledem k aplikačním datům pomocné.) To umožňuje současný běh několika obsluhujících aplikačních programů pracujících na jedné pracovní frontě. Pokud aplikace potřebuje sama udržet
fl * • · • · flfl fl fl · ·
flfl ·· « · fl · flfl·· informace o kontextu mezi za sebou následujícími interakcemi, může získat zprávy, u kterých se shodují jejich identifikátory relace. Pokud neudržuje informace o kontextu, pak mohou instance obsluhující aplikace získat a zpracovat první zprávu, kterou naleznou.
Vynález podle upřednostňovaného provedení tudíž zjednodušuje spojení internetové www služby se systémem pro zpracovávání zpráv pro obecné účely, aniž by bylo zapotřebí modifikace existujících www prohlížečů, vynález však není omezen na tuto implementaci. Vynález se může implementovat tak, aby zajistil spojení mezi dvěma systémy zpracovávajícími data, kde počítačový program nainstalovaný na jednom systému vyžaduje synchronní komunikaci, zatímco program ve druhém systému vyžaduje asynchronní formu komunikace. Vynález podle upřednostňované implementace ve spojení se softwarem pro zpracovávání zpráv jako například produkty MQSeries od IBM také zajišťuje most do sítí, které nepodporují internetový protokol (IP), protože MQSeries podporuje komunikační protokoly TCP/IP, APPC a NetBIOS. Vynález tudíž usnadňuje komunikaci mezi aplikacemi v IP a nelP sítích.
Výše popsané upřednostňované provedení obsahuje odděleně instalovatelný program brány ve spojení se systémem zpracovávajícím zprávy. Alternativní provedení implementuje bránu jako vnitřní součást programu pro správu front. Tabulka s identifikátory relací a tabulka se stavy relací může být výhodně implementována jako fronta zpráv řízená správcem front. Mohou být použity identifikátory MessageID a CorelID, které jsou již implementovány ve správcích front MQSeries jako vhodné informace pro vyhledávání ve frontě. Je však nutné vzít na vědomí, že aktualizace položek
.««2g£UttteflfeMiÍÍ<>% -.
« · *· φ φ φ · · ·· .
• * · · φφ φ * » * · ♦ φ « · φ ♦ · φ ·· « · · « φ ♦»····· * φ · φ · φφ* • Φ Φφφφ φφφ φφφφ *· φφ zadržovaných ve správcem front řízené frontě vyžaduje kroky odstranění položek z fronty, úpravy a pak nahrazení ve frontě, protože není zajištěna úprava položek v době, kdy se nacházejí ve frontě řízené správcem fronty. Aktualizace položky v tabulce udržované ve sdílené paměti může vyžadovat prosté přepsání předchozí položky. Protože je výhodné používat schopností programu pro správu front se zprávami u operace „čekání na událost (tj. odpověď) nebo vypršení časového limitu, je tato funkce typicky zajištěna v operačních systémech podporujících více vláken, přičemž program pro správu front se zprávami může v praxi provádět používání funkcí na nižší úrovni z operačního systému. Alternativní provedení mohou používat spuštění programu brány kdykoli je nová zpráva s odpovědí poprvé umístěna do fronty s odpověďmi, ale nejedná se upřednostňovanou implementaci, protože spouštění není žádoucí není-li přítomna žádná živá relace s klientským systémem. Další alternativní provedení tohoto vynálezu mohou implementovat periodické prohledávání fronty s odpověďmi na nové zprávy s odpověďmi místo vyvolávání operace „získat s čekáním.
Ve výše uvedeném upřednostňovaném provedení jsou identifikátory relace automaticky ukládány do vyrovnávacího úložného prostoru www prohlížeče (jako vložená pole v HTML stránkách). Identifikátory relace by však eventuelně mohly být zobrazeny koncovému uživateli na obrazovce zobrazovacího zařízení a po uživateli se může vyžadovat vložení identifikátoru relace při vytváření následného souvisejícího požadavku. V provedeních, ve je kterých předběžná odpověď klientskému systému po vypršení časového limitu pouze zobrazena uživateli bez automatického vložení do budoucích požadavků, je to koncový uživatel, který rozhoduje, zda se má aktuální relace udržovat, nebo zda se má ukončit a
99 • 99 9 ·
»
9 *9 ·· identifikátor uložit pro následující opakované pokusy požadavku. Výše popsané provedení z příkladu má také schopnosti zahrnovat identifikátory relací a informace o stavu relací pouze jistých komunikací vracených zpět prohlížeči, avšak alternativa, která je zřejmě v rozsahu tohoto vynálezu, obsahuje vkládání alespoň informací o identifikátoru relace do všech odpovědí.
Znakem výše popsaného upřednostňovaného vynálezu je údržba stavových dat programem brány; alternativní provedení tohoto vynálezu ponechává řešení všech problémů s pořadím na aplikačních programech, takže program brány není žádným způsobem zapojen do udržování informací o stavu relace.
Zastupuj e:
Dr. Petr Kalenský v.r.
Ύ',í , <·>. ÁT Μ ί K A N CPI. Λ Ř
KALENSKÝ
A PARTNER!
' 1 Z' , 1 ' . I·, k.r? ! 9 ' . : :·.: ui,'i [.i
iVÁ
JUDr. Petr Kalenský advokát
120 00 Praha 2, Hálkova 2
• to • · 4 ·» ··
to to • to ·
v to to to • to to · « to
to • * *
• · • •to»
PATENTOVÉ NÁROKY

Claims (13)

  1. PATENTOVÉ NÁROKY
    1. Datový komunikační server pro komunikační síť, kde synchronní komunikace mezi kde server také usnadňuje server má schopnosti podpory serverem a klientem v síti a podporu asynchronní komunikace s programy na serveru nebo v jiném systému v síti, přičemž server obsahuje:
    prostředky . reagující na požadavek od klienta v synchronní komunikační relaci mezi klientem a serverem pro posílání požadavku programu na serveru nebo na jiném systému v síti jako asynchronní komunikace;
    prostředky pro spouštění časovače odezvou na požadavek od klienta,·;
    prostředky citlivé na přijetí odpovědi na asynchronní komunikaci pro přiřazení odpovědi k požadavku od klienta, aby se umožnilo poslat klientovi odpověď;
    prostředky pro generaci předběžné odpovědi před přijetím odpovědi na asynchronní komunikaci, přičemž předběžná odpověď obsahuje identifikátor relace přiřazený serverem; a prostředky pro posílání předběžné odpovědi klientovi v synchronní komunikační relaci pokud předem nastavené časové období vyprší před přijetím odpovědi na asynchronní požadavek.
  2. 2. Datový komunikační systém podle nároku 1,
    27 76 328 * · · · • · · *
    9 9 9
    9 · 9 ·*· Φ · 9 9 9
    9 999·· ► * »*····· » Φ ·*Φ ··· Φ·*« 99 ·· obsahující prostředky pro posílání odpovědi klientovi v synchronní relaci, přičemž prostředky pro posílání odpovědi jsou citlivé na přijetí odpovědi na asynchronní požadavek před vypršením předem nastaveného časového období, aby vložily informace z přijaté odpovědi do odpovědi klientovi, které je posílána v synchronní relaci.
  3. 3. Datový komunikační systém podle nároku 1, obsahující proces na serveru pro přiřazování identifikátoru relace požadavku klienta a vkládající identifikátor relace do asynchronního požadavku, který posílá programu, přičemž server obsahuje prostředky citlivé na přijetí odpovědi na asynchronní požadavek od programu, která obsahuje identifikátor relace, pro použití identifikátoru relace k přiřazení odpovědi programu k požadavku od klienta a pro vložení identifikátoru relace do odpovědi, která je poslána klientovi.
  4. 4. Datový komunikační systém podle nároku 3, obsahující prostředky citlivé na informace o stavu relace vkládané do odpovědi programu na asynchronní požadavek pro vložení informací o stavu relace do odpovědi posílané klientovi.
  5. 5. Datový komunikační systém podle nároku 3, kde server má v sobě nainstalovaný software internetového www serveru pro odpovídání na požadavky od programu www prohlížeče nainstalovaného na klientovi, přičemž server obsahuje prostředky pro vkládání informací o identifikátoru relace do HTML stránek, které jsou vkládány do odpovědí posílaných klientovi.
  6. 6. Datový komunikační systém podle nároku 5, kde
    .....
    φφφφ φφ · φ φφφφ • · φ φ · φ · ·· • φ φ · · φφφφφφ· • * · · φ φφφ φφ φφφφ φφφ ···· φφ · φ server obsahuje prostředky citlivé na informace o stavu relace obsažené v odezvě programu na asynchronní požadavek pro vkládání do HTML stránek jednoho nebo více HTML formulářů pro vyplnění koncovým uživatelem, přičemž formuláře mají v sobě vložený identifikátor relace.
  7. 7. Datový komunikační systém podle nároku 5 nebo 6, kde server obsahuje prostředky citlivé na informace o stavu relace vkládané do odpovědi programu na asynchronní požadavek, pro vkládání informací o stavu relace do HTML stránek posílaných klientovi.
  8. 8. Datový komunikační systém podle nároku 5 nebo 6, obsahující prostředky pro převod HTML dat požadavku klienta do formátu interpretovatelného programem a pro převod informací obsažených v odpovědi programu do HTML pro vložení do odpovědi klientovi.
  9. 9- Datový komunikační systém podle nároku 1, kde server implementuje záznam potvrzování po příchodu (COA) a záznam potvrzování po doručení (COD) a je citlivý na přijetí záznamu COA nebo COD před vypršením předem nastaveného časového období pro vložení záznamu COA nebo COD do komunikace poslané klientovi po vypršení předem nastaveného časového období.
  10. 10. Datový komunikační systém podle nároku 1, kde server obsahuje prostředky citlivé na identifikaci stavu relace, která je vkládána do odpovědi programu na asynchronní požadavek pro zjištění toho, zda se mají vkládat informace o identifikaci relace do odpovědi klientovi.
  11. 11. Datový komunikační systém podle nároku 4, kde
    +OT -vi «4 « 4 • · 4 • · · 4 •9 ···· «·4· ···· prostředky pro vkládání informací o stavu relace do odpovědi klientovi obsahují prostředky pro zjištění toho, zda se mají vložit informace o stavu relace, v závislosti na stavu relace.
  12. 12. Datový komunikační systém podle nároku 1, obsahující prostředky citlivé na požadavek klienta pro t . zjištění, zda se má poslat potvrzení o přijetí klientovi jako předběžná odpověď, nebo zda má být spuštěn časovač.
  13. 13. Způsob datové komunikace mezi prvním počítačovým programem v prvním systému v komunikační síti a třetím počítačovým programem přístupným prostřednictvím druhého počítačového programu ve druhém systému v síti, obsahující kroky:
    poslání prvního požadavku od prvního programu do druhého systému v synchronní komunikační relaci;
    odezvou na přijetí druhým systémem synchronního požadavku od prvního programu, poslání požadavku třetímu programu jako asynchronní komunikace, přičemž asynchronní požadavek obsahuje identifikátor relace přiřazený druhým programem ve druhém systému;
    po přijetí druhým systémem komunikaci, přiřazení odpovědi programu s použitím identifikátoru poslání odpovědi prvnímu programu;
    odpovědi na k požadavku relace, aby asynchronní od prvního se umožnilo poslání odpovědi prvnímu procesu v synchronní komunikační relaci, kde odpověď poslaná prvnímu procesu obsahuje předběžnou odpověď obsahující identifikátor relace ý v .';·,?. .·' ,;'./
    PU sířg -HP
    4» 44 44
    4 4 4 4 4
    4 4 « 4·
    4 4 4444 4
    4 4 4 4 pokud není přijata žádná odpověď na asynchronní komunikaci před vypršením předem nastaveného časového období.
CZ983811A 1996-05-24 1997-05-19 Zajišťování komunikačních spojů v počítačové síti CZ381198A3 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9610898A GB2313524A (en) 1996-05-24 1996-05-24 Providing communications links in a computer network

Publications (1)

Publication Number Publication Date
CZ381198A3 true CZ381198A3 (cs) 1999-10-13

Family

ID=10794249

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ983811A CZ381198A3 (cs) 1996-05-24 1997-05-19 Zajišťování komunikačních spojů v počítačové síti

Country Status (13)

Country Link
US (1) US6336135B1 (cs)
EP (1) EP0978056B1 (cs)
JP (1) JP3578221B2 (cs)
KR (1) KR100275403B1 (cs)
CN (1) CN1117333C (cs)
CZ (1) CZ381198A3 (cs)
DE (1) DE69731318T2 (cs)
ES (1) ES2227692T3 (cs)
GB (1) GB2313524A (cs)
HU (1) HUP9902190A3 (cs)
MY (1) MY123071A (cs)
PL (1) PL329935A1 (cs)
WO (1) WO1997045798A1 (cs)

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US20040264402A9 (en) * 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US6418324B1 (en) * 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
GB2313524A (en) 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6253061B1 (en) * 1997-09-19 2001-06-26 Richard J. Helferich Systems and methods for delivering information to a transmitting and receiving device
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
US7346689B1 (en) * 1998-04-20 2008-03-18 Sun Microsystems, Inc. Computer architecture having a stateless human interface device and methods of use
JP2000036822A (ja) * 1998-07-16 2000-02-02 Nec Corp コンピュータネットワーク及びサーバ
US8060656B2 (en) * 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) * 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) * 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) * 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6763452B1 (en) 1999-01-28 2004-07-13 Ati International Srl Modifying program execution based on profiling
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US6434605B1 (en) * 1999-04-05 2002-08-13 Worldcom, Inc. Automatic detection and recovery for problems arising with interconnected queue managers
US6779107B1 (en) * 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6976077B1 (en) * 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US6701367B1 (en) * 1999-09-24 2004-03-02 Sun Microsystems, Inc. Mechanism for enabling customized session managers to interact with a network server
US6766349B1 (en) 1999-09-24 2004-07-20 Sun Microsystems, Inc. Mechanism for obtaining a thread from, and returning a thread to, a thread pool without attaching and detaching
AU2112301A (en) * 1999-09-24 2001-04-24 Sun Microsystems, Inc. Mechanism for enabling session information to be shared across multiple processes
US6895584B1 (en) 1999-09-24 2005-05-17 Sun Microsystems, Inc. Mechanism for evaluating requests prior to disposition in a multi-threaded environment
US6587827B1 (en) * 1999-10-22 2003-07-01 Hewlett-Packard Development Company, L.P. Order fulfillment processing system
US6871203B1 (en) * 1999-10-29 2005-03-22 International Business Machines Corporation Data processing system
US7107325B1 (en) * 1999-11-15 2006-09-12 Insweb Corporation System and method for optimizing and processing electronic pages in multiple languages
US20010034782A1 (en) * 2000-01-14 2001-10-25 Ian Kinkade Efficient web based proxy message method and apparatus for message queuing middleware resident on a server computer
US20060235945A1 (en) * 2000-01-14 2006-10-19 Frietas Nathaniel X Software architecture for wireless data and method of operation thereof
US8756342B1 (en) 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
JP2001216262A (ja) * 2000-02-07 2001-08-10 Fujitsu Ltd サーバ
IL135150A0 (en) * 2000-03-17 2001-05-20 Avner Geller A method and a system for secured identification of user's identity
US20030070074A1 (en) * 2000-03-17 2003-04-10 Avner Geller Method and system for authentication
US20040105122A1 (en) * 2000-03-20 2004-06-03 Schaeffer Richard J. Printer control and document management system
KR100397495B1 (ko) * 2000-06-24 2003-09-13 엘지전자 주식회사 실시간처리 운영체제의 주제어부와 부제어부간의접속해제를 안정화하기 위한 제어방법
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
EP1334587A1 (en) * 2000-08-31 2003-08-13 Padcom Inc. Method and apparatus for routing data over multiple wireless networks
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US6810430B1 (en) * 2000-09-29 2004-10-26 Abb Automation Inc. Network communications coupler
US7830399B2 (en) * 2000-10-04 2010-11-09 Shutterfly, Inc. System and method for manipulating digital images
JP3803707B2 (ja) * 2000-12-28 2006-08-02 フューチャーシステムコンサルティング株式会社 フレームワークシステム
US6862628B2 (en) * 2001-01-05 2005-03-01 Microsoft Corporation Enhancing application performance in dynamic networks
US7689711B2 (en) * 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7516191B2 (en) * 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
US7447802B2 (en) * 2001-03-30 2008-11-04 Oracle International Corporation Method and system for maintaining a configuration state
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US20020188666A1 (en) * 2001-05-23 2002-12-12 Lemon Michael J. Lightweight dynamic service conversation controller
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7668535B2 (en) * 2001-07-09 2010-02-23 Palm, Inc. Notification infrastructure for sending device-specific wireless notifications
US7801941B2 (en) * 2001-07-09 2010-09-21 Palm, Inc. Apparatus and method for exchanging data between two devices
US20030037102A1 (en) * 2001-08-14 2003-02-20 Philippe Eckert Message broker
US7644171B2 (en) * 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
US8359335B2 (en) 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US7885996B2 (en) * 2001-09-29 2011-02-08 Siebel Systems, Inc. Method, apparatus, and system for implementing notifications in a framework to support web-based applications
US6907451B1 (en) * 2001-09-29 2005-06-14 Siebel Systems, Inc. Method, apparatus, and system for immediate posting of changes in a client server environment
US7203948B2 (en) * 2001-09-29 2007-04-10 Siebel Systems, Inc. Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US7461119B2 (en) * 2001-09-29 2008-12-02 Siebel Systems, Inc. Method, apparatus, and system for managing status of requests in a client server environment
US7870492B2 (en) 2001-10-02 2011-01-11 Siebel Systems, Inc. Method, apparatus, and system for managing commands in a client server environment
US7003570B2 (en) * 2001-10-05 2006-02-21 Bea Systems, Inc. System for integrating java servlets with asynchronous messages
US20030101291A1 (en) * 2001-11-23 2003-05-29 Mussack Christopher Joseph Application programming interface for provision of DICOM services
DE10162986B4 (de) * 2001-12-20 2004-01-15 Siemens Ag Anbindung von Netzwerken mit unterschiedlichen Protokollen
US20030126109A1 (en) * 2002-01-02 2003-07-03 Tanya Couch Method and system for converting message data into relational table format
US6950959B2 (en) * 2002-02-12 2005-09-27 Fulcrum Microystems Inc. Techniques for facilitating conversion between asynchronous and synchronous domains
US7444410B1 (en) * 2002-02-15 2008-10-28 Oracle International Corporation Application platform execution environment
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7558196B2 (en) * 2002-04-08 2009-07-07 Alcatel-Lucent Usa Inc. Method and apparatus for system resource management in a communications system
CN100478943C (zh) * 2002-05-31 2009-04-15 国际商业机器公司 访问不同类型后端数据存储器的系统和方法
JP4225743B2 (ja) * 2002-07-04 2009-02-18 株式会社東芝 無線端末及び通信制御方法
CN100426812C (zh) * 2002-08-15 2008-10-15 中兴通讯股份有限公司 一种基于分组数据业务流程的仿真系统
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7272660B1 (en) 2002-09-06 2007-09-18 Oracle International Corporation Architecture for general purpose near real-time business intelligence system and methods therefor
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8165993B2 (en) * 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7941542B2 (en) * 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7454423B2 (en) 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US7412481B2 (en) * 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7243124B1 (en) 2002-09-06 2007-07-10 Oracle International Corporation Architecture for general purpose near real-time business intelligence system with client devices and methods therefor
US7668917B2 (en) * 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7426059B2 (en) 2002-09-16 2008-09-16 Oracle International Corporation Data presentation methods and apparatus to facilitate printing and reviewing
JP3880513B2 (ja) 2002-12-16 2007-02-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ
US7305554B2 (en) * 2002-12-16 2007-12-04 Alcatel Canada Inc. Dynamic acquisition of state during security system reconfiguration
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US8359393B2 (en) 2003-02-13 2013-01-22 Transunion Interactive, Inc. Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
WO2004072830A2 (en) * 2003-02-13 2004-08-26 Truelink, Inc. Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US7966418B2 (en) * 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
JP4305004B2 (ja) * 2003-02-28 2009-07-29 ソニー株式会社 情報処理装置、およびコンテンツ情報処理方法、並びにコンピュータ・プログラム
US7904823B2 (en) * 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
KR100925198B1 (ko) * 2003-03-17 2009-11-06 엘지전자 주식회사 대화형 디스크 플레이어간의 사용자 메시지 교환방법
JP2004295262A (ja) * 2003-03-25 2004-10-21 Toudai Tlo Ltd スクリプトの実行方法およびサーバ・クライアントシステム
US7676580B2 (en) * 2003-03-27 2010-03-09 Microsoft Corporation Message delivery with configurable assurances and features between two endpoints
US7113964B1 (en) 2003-06-05 2006-09-26 Iteration Software, Inc. Method and apparatus for archiving data in a relational database system
US7548989B2 (en) * 2003-07-01 2009-06-16 International Business Machines Corporation Method and system for maintaining consistency during multi-threaded processing of LDIF data
US8429249B2 (en) * 2003-07-11 2013-04-23 Ca, Inc. System and method for configuring servlet-based components as dynamic content components
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests
US7380009B2 (en) * 2003-08-07 2008-05-27 Interantional Business Machines, Incorporated Method, system and program product for delayed disconnection of a client from a server
US7478122B2 (en) * 2003-08-18 2009-01-13 Hostopia.Com Inc. Web server system and method
GB2405228B8 (en) * 2003-08-19 2007-09-13 Ibm A method, apparatus and computer program for verifying the order of a queue of work items
US6925928B2 (en) * 2003-09-18 2005-08-09 Anthony Fox Trash compactor for fast food restaurant waste
US20050080903A1 (en) * 2003-09-30 2005-04-14 Moshe Valenci Method, system, and program for maintaining a link between two network entities
US20050080759A1 (en) * 2003-10-08 2005-04-14 International Business Machines Corporation Transparent interface to a messaging system from a database engine
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7904882B2 (en) 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US8229996B2 (en) * 2003-11-26 2012-07-24 Microsoft Corporation Asynchronous processing of task components in connection with rights management system and the like
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US7650380B2 (en) * 2004-02-12 2010-01-19 International Business Machines Corporation System and method for messaging and collaborating in an intranet environment
CA2556862C (en) * 2004-02-27 2010-07-20 Research In Motion Limited System and method for communicating asynchronously with web services using message set definitions
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7739351B2 (en) 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US7590685B2 (en) * 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7437169B2 (en) * 2004-06-07 2008-10-14 Microsoft Corporation System and method for optimizing network communication in response to network conditions
US8280948B1 (en) * 2004-06-08 2012-10-02 Persony Inc. System and method for enabling online collaboration amongst a plurality of terminals using a web server
US20060015622A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Enabling asynchronous transaction interactions on Web browsers
US20060026214A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Switching from synchronous to asynchronous processing
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US7752671B2 (en) * 2004-10-04 2010-07-06 Promisec Ltd. Method and device for questioning a plurality of computerized devices
US7657618B1 (en) * 2004-10-15 2010-02-02 F5 Networks, Inc. Management of multiple client requests
US20060093125A1 (en) * 2004-11-02 2006-05-04 Dezonno Anthony J Messaging presence for non-messaging devices
US20060106840A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation System and method for tracking notifications in a publish subscribe system
US7681074B2 (en) * 2005-04-29 2010-03-16 Microsoft Corporation Transport high availability
US7693071B2 (en) * 2005-05-27 2010-04-06 Microsoft Corporation System and method for routing messages within a messaging system
US7660850B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Supporting a serial and a parallel invitation protocol
US7882176B2 (en) * 2005-05-27 2011-02-01 Microsoft Corporation Establishing a multiparty session by sending invitations in parallel
JP4725955B2 (ja) * 2005-06-30 2011-07-13 株式会社リコー 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体
EP1775911B1 (en) * 2005-10-13 2018-02-28 BlackBerry Limited System and method for providing asynchronous notifications using synchronous data
US8095599B2 (en) * 2005-10-20 2012-01-10 International Business Machines Corporation Mail-based web application and document delivery
US20070094336A1 (en) * 2005-10-24 2007-04-26 Microsoft Corporation Asynchronous server synchronously storing persistent data batches
US8077699B2 (en) * 2005-11-07 2011-12-13 Microsoft Corporation Independent message stores and message transport agents
US8223777B2 (en) * 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US7921165B2 (en) * 2005-11-30 2011-04-05 Microsoft Corporation Retaining mail for availability after relay
US8090838B2 (en) 2006-02-16 2012-01-03 Microsoft Corporation Shell operation flow change
US7933964B2 (en) * 2006-02-16 2011-04-26 Microsoft Corporation Shell sessions
US8751579B1 (en) * 2006-03-02 2014-06-10 Salesforce.Com, Inc. Method and system of maintaining a browser in a design application workflow
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
CN101390084B (zh) * 2006-03-06 2012-04-11 Lg电子株式会社 域管理方法、域扩展方法和参考点控制器选择方法
US7805532B2 (en) * 2006-04-29 2010-09-28 724 Software Solutions, Inc. Platform for interoperability
WO2007130312A2 (en) * 2006-04-29 2007-11-15 724 Solutions Software Inc. Channel selection/translation based on user-preference
US8327024B2 (en) * 2006-04-29 2012-12-04 724 Solutions Software, Inc. System and method for SMS/IP interoperability
US9112808B2 (en) * 2007-02-06 2015-08-18 At&T Intellectual Property Ii, L.P. Devices, systems, and methods for providing data
KR100862354B1 (ko) * 2007-04-10 2008-10-13 전자부품연구원 비동기 검색 환경을 지원하는 멀티미디어 검색 방법
US8626951B2 (en) * 2007-04-23 2014-01-07 4Dk Technologies, Inc. Interoperability of network applications in a communications environment
US8635069B2 (en) 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
US8478880B2 (en) * 2007-08-31 2013-07-02 Palm, Inc. Device profile-based media management
US8560669B2 (en) * 2007-09-26 2013-10-15 Quantcast Corporation Tracking identifier synchronization
US8515903B2 (en) 2007-10-03 2013-08-20 Database Logic Inc. Collaboration of plural databases by interaction through universal index
US20090094229A1 (en) * 2007-10-03 2009-04-09 Mark Warne Ferrel Method and apparatus for exploiting 'trace' function to support database integration
US8214847B2 (en) * 2007-11-16 2012-07-03 Microsoft Corporation Distributed messaging system with configurable assurances
US8200836B2 (en) * 2007-11-16 2012-06-12 Microsoft Corporation Durable exactly once message delivery at scale
US7792997B2 (en) 2007-12-31 2010-09-07 Accenture Global Services Gmbh Freight backbone messaging architecture
US20090210822A1 (en) * 2008-02-18 2009-08-20 Microsoft Corporation Locating meeting users
US9143540B2 (en) * 2008-04-24 2015-09-22 Oracle International Corporation System and method for providing service correlation in a service access gateway environment
US7970814B2 (en) 2008-05-20 2011-06-28 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
EP2304924A1 (en) 2008-05-20 2011-04-06 Raytheon Company System and method for maintaining stateful information
ES2575006T3 (es) 2008-05-20 2016-06-23 Raytheon Company Sistema y método para filtrar mensajes
EP2281387A4 (en) 2008-05-20 2013-03-20 Raytheon Co SYSTEM AND METHOD FOR COLLABORATIVE MESSAGE TRANSMISSION AND DATA DISTRIBUTION
US7752261B1 (en) 2008-06-27 2010-07-06 Quant cast Corporation System and method for multibeaconing
US8949344B2 (en) * 2008-09-15 2015-02-03 Microsoft Corporation Asynchronous queued messaging for web applications
US8156203B2 (en) 2008-09-15 2012-04-10 Microsoft Corporation Dye injected request generation
CN101686245B (zh) * 2008-09-28 2014-06-11 国际商业机器公司 用于隔离超文本传输协议会话的方法和系统
US8005923B2 (en) * 2009-02-23 2011-08-23 International Business Machines Corporation System and method of obfuscating queue management
US9536222B2 (en) * 2009-12-28 2017-01-03 Sap Se Progress information in a service-oriented architecture
US8739166B2 (en) * 2009-12-28 2014-05-27 Sap Ag Progress-driven progress information in a service-oriented architecture
US9015136B2 (en) * 2010-01-22 2015-04-21 Microsoft Technology Licensing, Llc Storing temporary state data in separate containers
EP2595058A4 (en) * 2010-07-13 2014-03-12 Fujitsu Ltd DEVICE, SYSTEM, PROGRAM, AND METHOD FOR PROCESSING MULTIPLE PATHS
US8453127B2 (en) * 2010-09-20 2013-05-28 Sap Ag Systems and methods providing a token synchronization gateway for a graph-based business process model
CN102158518B (zh) * 2010-12-03 2014-04-30 华为技术有限公司 一种cdn网络中的数据传输方法、网络节点及系统
US9602287B2 (en) * 2011-06-02 2017-03-21 Sap Se Method and system for signed stateless data transfer
US8694998B2 (en) 2011-08-29 2014-04-08 Microsoft Corporation Cancellable command application programming interface (API) framework
US20130191500A1 (en) * 2012-01-19 2013-07-25 Ebay Inc. Methods and systems for providing a synchronous interface over an asynchronous message bus
US9253011B2 (en) * 2012-09-27 2016-02-02 Intuit Inc. Session-server affinity for clients that lack session identifiers
CN104184635B (zh) * 2014-08-19 2018-02-13 烽火通信科技股份有限公司 家庭网关基于Android RIL实现一对多数据通讯的方法及装置
US10033797B1 (en) * 2014-08-20 2018-07-24 Ivanti, Inc. Terminal emulation over HTML
JP6447224B2 (ja) * 2015-02-20 2019-01-09 日本電気株式会社 通信装置、中継装置、通信方法及び通信プログラム
US9961112B2 (en) * 2015-04-20 2018-05-01 Bomgar Corporation Method and apparatus for enforcing realtime access controls for endpoints
US10320906B2 (en) 2016-04-29 2019-06-11 Netapp, Inc. Self-organizing storage system for asynchronous storage service
US11100278B2 (en) 2016-07-28 2021-08-24 Ivanti, Inc. Systems and methods for presentation of a terminal application screen
US10397185B1 (en) * 2016-12-23 2019-08-27 EMC IP Holding Company LLC Scalable cloud hosted metadata service
US10574521B2 (en) * 2017-06-19 2020-02-25 Cisco Technology, Inc. Method and apparatus to predict configuration viability and dynamically manage multi-dimensional system scale in MSDC switches
US11516154B2 (en) * 2017-07-13 2022-11-29 Apple Inc. Systems for managing messaging conversations
CN111143745A (zh) * 2019-12-27 2020-05-12 中冶建筑研究总院有限公司 基于html的数据同步和交互的方法和系统
US11271968B2 (en) 2020-03-04 2022-03-08 International Business Machines Corporation Zero round trip time transmission for anticipatory request messages
CN112487218B (zh) * 2020-11-27 2023-07-14 北京百度网讯科技有限公司 内容处理方法、系统、装置、计算设备和存储介质
CN112395359B (zh) * 2020-11-30 2023-03-31 武汉烽火众智数字技术有限责任公司 一种基于数据库数据同步来实现http代理的方法和系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530848A (en) * 1992-10-15 1996-06-25 The Dow Chemical Company System and method for implementing an interface between an external process and transaction processing system
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
EP0706685B1 (en) * 1993-06-28 1997-12-03 Dow Benelux N.V. An integrated plant environment system having a PROGRAM-TO-PROGRAM COMMUNICATION SERVER and method
CA2148459C (en) * 1993-10-08 2000-01-11 Paul Clarke Message transmission across a network
GB9406477D0 (en) 1994-03-31 1994-05-25 D2B Systems Co Ltd Interconnection of local communication bus systems
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
JP2507235B2 (ja) * 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US6216151B1 (en) * 1995-12-13 2001-04-10 Bea Systems, Inc. Saving connection time by obtaining result of request at later reconnection with server supplied associated key
US5754772A (en) * 1996-03-26 1998-05-19 Unisys Corporation Transaction service independent HTTP server-to-transaction gateway
GB2313524A (en) 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
JP3672208B2 (ja) * 1996-07-02 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層化トランザクション処理方法
US5835724A (en) * 1996-07-03 1998-11-10 Electronic Data Systems Corporation System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client
US6108689A (en) * 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6068661A (en) * 1997-10-01 2000-05-30 Micron Electronics, Inc. Method of emulating synchronous communication
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6055564A (en) * 1998-03-11 2000-04-25 Hewlett Packard Company Admission control where priority indicator is used to discriminate between messages

Also Published As

Publication number Publication date
KR20000010691A (ko) 2000-02-25
US6336135B1 (en) 2002-01-01
DE69731318D1 (de) 2004-11-25
DE69731318T2 (de) 2006-03-09
CN1219257A (zh) 1999-06-09
HUP9902190A2 (hu) 1999-11-29
WO1997045798A1 (en) 1997-12-04
GB2313524A (en) 1997-11-26
CN1117333C (zh) 2003-08-06
PL329935A1 (en) 1999-04-26
KR100275403B1 (ko) 2000-12-15
MY123071A (en) 2006-05-31
EP0978056A1 (en) 2000-02-09
GB9610898D0 (en) 1996-07-31
EP0978056B1 (en) 2004-10-20
ES2227692T3 (es) 2005-04-01
JP3578221B2 (ja) 2004-10-20
JPH11510632A (ja) 1999-09-14
HUP9902190A3 (en) 2000-03-28

Similar Documents

Publication Publication Date Title
CZ381198A3 (cs) Zajišťování komunikačních spojů v počítačové síti
US7603476B1 (en) Pseudo-synchronous messaging
US7363342B1 (en) Method and apparatus for providing web services in a collaborative computing system
US7171478B2 (en) Session coupling
KR100722916B1 (ko) 통신 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치
US6023722A (en) High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers
US20070083524A1 (en) Apparatus, system, and method for implementing an IMS SOAP gateway to enable an IMS application to operate as a web service client
US20070094283A1 (en) Apparatus, system, and method for implementing an IMS soap gateway
EP1968284A1 (en) System and method for message packaging
US20050278294A1 (en) Systems and methods for a collaboration presence framework
JP2003505760A (ja) ダイナミクス・マネージャを備えたコンピュータ・システムによるアクティビティに基づくコラボレーションのための方法及びその装置
JPH10124461A (ja) コンピュータ及び実行方法
US7373424B2 (en) Exactly once protocol for message-based collaboration
JP2007524929A (ja) エンタープライズコラボレーションシステム及び方法
US7934218B2 (en) Interprocess communication management using a socket layer
US7685258B2 (en) Disconnectible applications
US20040243693A1 (en) Inbound connector
US7908397B1 (en) Application server gateway technology
Woolf et al. Patterns of system integration with enterprise messaging
Michel TCP/IP Socket Programming with Socket Programming with REXX
Hunt et al. Java Message Service (JMS)
Vivekanandan et al. Asynchronous Linking in a Service-Oriented Architecture
Vivek et al. Asynchronous Linking in a Service–Oriented Architecture.
Stöcklin Group Communication and APEX
Kanalakis et al. Applying Reliable Messaging

Legal Events

Date Code Title Description
PD00 Pending as of 2000-06-30 in czech republic