DE102013113965A1 - A method of outputting video data in a system comprising a server device and a plurality of computers - Google Patents

A method of outputting video data in a system comprising a server device and a plurality of computers Download PDF

Info

Publication number
DE102013113965A1
DE102013113965A1 DE102013113965.5A DE102013113965A DE102013113965A1 DE 102013113965 A1 DE102013113965 A1 DE 102013113965A1 DE 102013113965 A DE102013113965 A DE 102013113965A DE 102013113965 A1 DE102013113965 A1 DE 102013113965A1
Authority
DE
Germany
Prior art keywords
computer
data
server device
display object
display
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE102013113965.5A
Other languages
German (de)
Inventor
Sascha Qualitz
Nico Berndt
Norman Albusberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CIARIA GmbH
Original Assignee
CIARIA GmbH
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 CIARIA GmbH filed Critical CIARIA GmbH
Priority to DE102013113965.5A priority Critical patent/DE102013113965A1/en
Publication of DE102013113965A1 publication Critical patent/DE102013113965A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die Anmeldung betrifft ein Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computer, wobei bei dem Verfahren die folgenden Schritte ausgeführt werden: Ausführen einer ersten Applikation, mit der auf einem ersten Computer ein erster Browser-Client bereitgestellt wird, Ausführen einer zweiten Applikation, mit der auf einem zweiten Computer ein zweiter Browser-Client bereitgestellt wird, Erfassen einer Benutzereingabe an dem ersten Computer, mit der im ersten Browser-Client in einem Anzeigebereich eine Benutzeraktion für ein Anzeigeobjekt ausgeführt wird, welches im Anzeigebereich mittels Ausgeben von dem Anzeigeobjekt zugeordneten Videodaten der Benutzeraktion entsprechend angezeigt wird, Erzeugen eines Aktionsdatenobjektes, welches Steuer- und/oder Verweisdaten für die dem Anzeigeobjekt zugeordneten Videodaten umfasst, Übertragen des Aktionsdatenobjektes mittels einer oder mehrerer Push-Operationen von dem ersten Computer über die Servereinrichtung an den zweiten Computer, Auswerten des Aktionsdatenobjektes durch die zweite Applikation auf dem zweiten Computer, Abrufen der dem Anzeigeobjekt zugeordneten Videodaten von der Servereinrichtung durch die zweite Applikation und Darstellen des Anzeigeobjektes der Benutzeraktion entsprechend in einem Anzeigebereich des zweiten Browser-Clients auf dem zweiten Computer.The application relates to a method of outputting video data in a system comprising a server device and a plurality of computers, the method comprising the steps of: executing a first application providing a first browser client on a first computer; second application, with a second browser client is provided on a second computer, detecting a user input to the first computer, which is performed in the first browser client in a display area, a user action for a display object in the display area by issuing the Generating an action data object containing control and / or reference data for the video data associated with the display object, transmitting the action data object by means of one or more push operations from the first computer via the S Ervereinrichtung to the second computer, evaluating the action data object by the second application on the second computer, retrieving the video object associated with the display object of the server device by the second application and representing the display object of the user action in a display area of the second browser client on the second computer ,

Description

Die Erfindung betrifft ein Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computer.The invention relates to a method for outputting video data in a system comprising a server device and a plurality of computers.

Hintergrundbackground

Derartige Verfahren werden zum Beispiel im Zusammenhang mit sogenannten Online-Anwendungen genutzt, um Informationen über die Bildschirmeinrichtung eines oder mehrere Computer, die ihrerseits mit einer Servereinrichtung zum Datenaustausch in Verbindung stehen, mittels Ausgeben von Videodaten dem jeweiligen Benutzer zur Kenntnis zu bringen. Die Videodatenausgabe kann hierbei beispielsweise über den Anzeigebereich eines Browser-Clients erfolgen, mit dem dem Benutzer auf dem Computer ein Online-Zugang bereitgestellt wird. Der Datenaustausch zwischen den Computern und der Servereinrichtung kann hierbei wenigstens teilweise über das Internet erfolgen. Der Browser-Client bildet den Zugang des jeweiligen Benutzers zu dem Netzwerk, über den der Benutzer mit Hilfe des von ihm genutzten Computers Daten mit anderen Nutzern austauschen kann.Such methods are used, for example, in connection with so-called on-line applications to bring information about the screen of one or more computers, which in turn are associated with a server device for data exchange, by means of outputting video data to the respective user. The video data output can take place here, for example, via the display area of a browser client with which the user is provided with online access to the computer. The data exchange between the computers and the server device can in this case take place at least partially via the Internet. The browser client forms the respective user's access to the network, via which the user can exchange data with other users with the aid of the computer which he uses.

Bekannt sind in diesem Zusammenhang sogenannte Screen-Sharing-Technologien, die die Übertragung des Bildschirminhaltes eines Computers an einen oder mehrere andere Computer betreffen. Dem Benutzer eines Computers kann hierdurch der Eindruck vermittelt werden, sich selbst direkt vor dem Bildschirm eines entfernten Computers zu befinden. Eine hierbei genutzte Technologie betrifft das Co-Browsing, was sich auf die gemeinsame Navigation mehrerer Nutzer durch das Internet bezieht. Die beteiligten Benutzer können hierbei im Anzeigebereich ihres jeweiligen Browser-Clients zeitgleich ein und dieselbe Internetseite betrachten.Known in this context are so-called screen-sharing technologies that relate to the transmission of screen content of a computer to one or more other computers. The user of a computer can thereby be given the impression of being directly in front of the screen of a remote computer. One technology used here is co-browsing, which refers to the joint navigation of multiple users through the Internet. The participating users can view one and the same internet page at the same time in the display area of their respective browser client.

Das Aufkommen neuer Arten des Online-Handels stellt Anforderungen an die hierfür genutzte IT-Implementierung, welche von den bekannten Technologien nicht erfüllt werden.The emergence of new types of online commerce places demands on the IT implementation used for this, which are not met by the known technologies.

ZusammenfassungSummary

Aufgabe der Erfindung ist es, ein verbessertes Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computer anzugeben, mit dem das Anzeigen von gleichen Videodaten auf mehreren Computern erleichtert und optimiert wird, insbesondere auch in Echtzeit-Anwendungen, bei denen eine möglichst zeitgleiche Videodatenausgabe gewünscht ist.The object of the invention is to provide an improved method for outputting video data in a system with a server device and a plurality of computers, with the display of the same video data on multiple computers is facilitated and optimized, especially in real-time applications where one possible simultaneous video data output is desired.

Zur Lösung der Aufgabe ist ein Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computern nach dem unabhängigen Anspruch 1 geschaffen. Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Unteransprüchen.To achieve the object, a method for outputting video data in a system comprising a server device and a plurality of computers according to independent claim 1 is provided. Advantageous embodiments are the subject of dependent subclaims.

Nach einem Aspekt ist ein Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computer geschaffen, die zum Datenaustausch mit der Servereinrichtung verbindbar sind. Der Begriff Videodaten in der hier verwendeten Form umfasst beliebige Bilddaten, die für eine Ausgabe über eine Anzeige geeignet sind. Bei dem Verfahren wird eine erste Software-Applikation ausgeführt, mit der auf einem ersten Computer des Systems ein erster Browser-Client bereitgestellt wird. Weiterhin wird auf einem zweiten Computer des Systems eine zweite Applikation ausgeführt, mit der ein zweiter Browser-Client auf dem zweiten Computer bereitgestellt wird. Mittels des Browser-Clients steht dem jeweiligen Benutzer eine Schnittstelle zu dem Netzwerk mit den Computern und der Servereinrichtung zur Verfügung, wobei das System zumindest in Teilen mittels des Internets ausgebildet sein kann. Die jeweilige Applikation umfasst das Darstellen eines jeweiligen Browser-Fensters auf dem Bildschirm des ersten und der zweiten Computers.In one aspect, there is provided a method of outputting video data in a system having a server device and a plurality of computers connectable to the server device for data exchange. The term video data as used herein includes any image data suitable for output via a display. In the method, a first software application is executed, with which a first browser client is provided on a first computer of the system. Furthermore, a second application is executed on a second computer of the system, with which a second browser client is provided on the second computer. By means of the browser client, an interface to the network with the computers and the server device is available to the respective user, wherein the system can be formed at least in part by means of the Internet. The respective application comprises displaying a respective browser window on the screen of the first and the second computer.

Es wird sodann eine Benutzereingabe an dem ersten Computer erfasst. Die Benutzereingabe kann mit Hilfe einer beliebigen Eingabeeinrichtung vom Benutzer vorgenommen werden, zum Beispiel einer Tastatur und/oder einer Maus. Mittels der Benutzereingabe wird in einem Anzeigebereich (Browser-Fenster) des ersten Browser-Clients eine Benutzeraktion für ein Anzeigeobjekt, beispielsweise ein Bildobjekt oder ein Text, ausgeführt, welches im Anzeigebereich mittels Ausgeben von dem Anzeigeobjekt zugeordneten Videodaten der Benutzeraktion entsprechend angezeigt wird. Beispielsweise kann das Anzeigeobjekt in dem Anzeigebereich verschoben werden. Auch ein erstmaliges „Hineinziehen” des Anzeigeobjektes in den Anzeigebereich von außerhalb kann vorgesehen sein, wie auch das Entfernen des Anzeigeobjektes aus dem Anzeigebereich. Als Reaktion auf das Erfassen der Benutzereingaben wird ein Aktionsdatenobjekt erzeugt. Dieses umfasst Steuer- und/oder Verweisdaten für die dem Anzeigeobjekt zugeordneten Videodaten, nicht aber die Videodaten selbst. In einer möglichen Ausführung kann das Aktionsdatenobjekt mehrere Strings umfassen, zum Beispiel einen Controller-Namen und einen Methoden-Namen. Das Aktionsdatenobjekt kann zur Übertragung per Socket in eine JSON-Zeichenkette (String = Zeichenkette; vgl. ergänzend zum Beispiel http://de.wikipedia.org/wiki/JavaScript Object Notation ) umgewandelt und auf der Gegenseite wieder in das Objekt selbst zurückgewandelt werden, damit wieder auf die Eigenschaften des Aktionsdatenobjektes zugegriffen werden kann. Der JSON String ist dann der Pfad zum Objekt, welches die Geschäftslogik enthält.A user input to the first computer is then detected. The user input may be made by any user input device, such as a keyboard and / or a mouse. By means of the user input, a user action for a display object, for example an image object or a text, is carried out in a display area (browser window) of the first browser client, which is displayed in the display area by outputting video data associated with the display object according to the user action. For example, the display object may be moved in the display area. Also a first "pulling in" of the display object in the display area from outside can be provided, as well as the removal of the display object from the display area. In response to detecting the user input, an action data object is generated. This includes control and / or reference data for the video data associated with the display object, but not the video data itself. In one possible implementation, the action data object may include multiple strings, for example, a controller name and a method name. The action data object can be transferred via a socket into a JSON string (string = string; http://en.wikipedia.org/wiki/JavaScript Object Notation ) and converted back into the object itself on the other side so that the properties of the action data object can be accessed again. The JSON string is then the path to the object containing the business logic.

Das Aktionsdatenobjekt wird dann mittels einer oder mehrerer Push-Operationen von dem ersten Computer über die Servereinrichtung an den zweiten Computer über push-fähige Datenkommunikationsverbindungen übertragen. Nach dem Auswerten des Aktionsdatenobjektes durch die auf dem zweiten Computer ausgeführte, zweite Applikation liegt im zweiten Computer des Systems die elektronische Information über die Benutzereingabe betreffend das Anzeigeobjekt im Anzeigebereich des ersten Computers vor. Hierauf werden durch die zweite Applikation auf den zweiten Computer die dem Anzeigeobjekt zugeordneten Videodaten von der Servereinrichtung abgerufen. Im Anschluss wird das Anzeigeobjekt in einem Anzeigebereich (Browser-Fernster) des zweiten Browser-Clients auf dem zweiten Computer dargestellt, indem die abgerufenen Videodaten der Benutzeraktion entsprechend ausgegeben werden. Auf diese Weise erfolgt die Darstellung oder geänderte Darstellung des Anzeigeobjektes, welche im ersten Computer aufgrund der Benutzeraktion ausgelöst wurde, in gleicher Weise im Anzeigebereich des zweiten Browser-Clients auf dem zweiten Computer. Aussehen und Darstellung der Anzeigebereiche des ersten und es zweiten Browser-Clients sind so miteinander synchronisiert, d. h. die Bilddarstellungen in den beiden Anzeigebereichen (Browser-Fenster) sind in Teilen oder insgesamt gleich. In vergleichbarer Weise erfolgt dieses auch umgekehrt, wenn also im Anzeigebereich des zweiten Browser-Clients aufgrund einer Benutzereingabe eine Änderung bezüglich eines Anzeigeobjektes erfolgt. Dieses wird dann dem vorangehend beschriebenen Verfahren entsprechend für den Anzeigebereich des ersten Browser-Clients übernommen. The action data object is then transferred by one or more push operations from the first computer via the server device to the second computer via pushable data communication links. After the evaluation of the action data object by the second application executed on the second computer, the electronic information about the user input concerning the display object in the display area of the first computer is present in the second computer of the system. The second application then retrieves the video data associated with the display object from the server device to the second computer. Subsequently, the display object is displayed in a display area (browser remote) of the second browser client on the second computer by outputting the retrieved video data according to the user action. In this way, the display or changed representation of the display object, which was triggered in the first computer due to the user action, takes place in the same way in the display area of the second browser client on the second computer. The appearance and presentation of the display areas of the first and second browser clients are synchronized with each other, ie the image representations in the two display areas (browser windows) are the same in parts or in total. In a comparable manner, this is also the case in reverse, that is, if, in the display area of the second browser client due to a user input, a change with respect to a display object. This is then adopted according to the method described above for the display area of the first browser client.

Das Verfahren kann beispielsweise genutzt werden, um in Echtzeit Anzeigebereiche von Browser-Clients auf einem Computer eines Kunden einerseits und auf den Computer eines Online-Beraters andererseits mit gleichen Anzeigen auszustatten. Der Online-Berater kann so den ihm sichtbaren Anzeigebereich in seinem Browser-Client individuell gestalten, was in gleicher Form dann im Browser-Client des Kunden erfolgt. Der Kunde sieht auf diese Weise die vom Online-Berater für ihn gestaltete Anzeige in Echtzeit (nach DIN 44300 [1985] ). Umgekehrt können Benutzereingaben des Kunden, zum Beispiel beim Ausfüllen eines Formulars, auf diese Weise in Echtzeit am Bildschirm des Online-Beraters angezeigt werden.The method can, for example, be used to equip in real time display areas of browser clients on a computer of a customer on the one hand and on the computer of an online consultant on the other hand with the same displays. The online consultant can customize the visible display area in his browser client, which then takes place in the same form in the client's browser client. In this way, the customer sees in real time the advertisement designed by the online consultant DIN 44300 [1985] ). Conversely, user input from the customer, for example when filling out a form, can be displayed in real time on the screen of the online consultant.

Die push-fähigen Datenkommunikationsverbindungen können reine Push-Verbindungen sein, also Verbindungen, die die von der Push-Operation zu unterscheidenden Anfrage-Antwort-Operationen nicht zulassen. Alternativ können Verbindungen genutzt werden, bei denen es sich nicht um reine Push-Verbindungen handelt. Das Übertragen von Anfrage und Antwort kann dann über eine der push-fähigen Datenkommunikationsverbindungen erfolgen, die zuvor für die Push-Operation des Aktionsdatenobjektes genutzt wurden. Es kann vorgesehen sein, nur die Anfrage zu übertragen. Die Antwort kann zum Beispiel mittels XHR-Request (Ajax Request) übertragen werden.The push-capable data communication connections may be pure push connections, that is, connections that do not allow the request-response operations to be distinguished from the push operation. Alternatively, connections can be used that are not pure push connections. The transmission of request and response can then take place via one of the push-capable data communication connections that were previously used for the push operation of the action data object. It can be provided to transfer only the request. The answer can be transmitted, for example, by means of an XHR request (Ajax request).

Der Anzeigebereich des ersten und/oder des zweiten Browser-Clients kann als ein sogenannter HTML-Container ausgebildet sein.The display area of the first and / or the second browser client can be designed as a so-called HTML container.

Die dem Anzeigeobjekt zugeordneten Videodaten können von der Servereinrichtung zu dem zweiten Computer mittels eine Anfrage-Antwort-Operation über eine der push-fähigen Datenkommunikationsverbindungen oder eine hiervon getrennte Datenkommunikationsverbindung abgerufen werden. Bei dieser Ausführung wird im zweiten Computer nach dem Auswerten des Aktionsdatenobjektes eine Anfrage betreffend die Videodaten für das Anzeigeobjekt vom zweiten Computer an die Servereinrichtung übersandt, worauf die Servereinrichtung mit einer die anzuzeigenden Videodaten enthaltenden Antwort reagiert. Das Übertragen von Anfrage und Antwort kann über eine der push-fähigen Datenkommunikationsverbindungen erfolgen, die zuvor für die Push-Operation des Aktionsdatenobjektes genutzt wurden. Alternativ kann eine hiervon getrennte Datenkommunikationsverbindung für zumindest eine der Nachrichten, nämlich Anfrage oder Antwort, genutzt werden.The video data associated with the display object may be retrieved from the server device to the second computer via a request-response operation via one of the push-capable data communication links or a separate data communication link. In this embodiment, in the second computer, after evaluating the action data object, a request concerning the video data for the display object is sent from the second computer to the server device, whereupon the server device responds with a response containing the video data to be displayed. The transmission of request and response can be done via one of the push-capable data communication connections that were previously used for the push operation of the action data object. Alternatively, a separate data communication connection can be used for at least one of the messages, namely request or response.

Es kann vorgesehen sein, dass über die Servereinrichtung zwischen dem ersten und dem zweiten Computer eine Video- und Audiodaten-Kommunikationsverbindung gebildet wird, über welche zwischen dem ersten und dem zweiten Computer in Ergänzung zu und unabhängig von dem Anzeigeobjekt bezogenen Datentransfer Video- und Audiodaten übertragen werden. Bei einer Anwendung kann das Ausbilden der Video- und Audiodaten-Kommunikationsverbindung zum Beispiel zwischen einem Computer eines Kunden und dem Computer eines Online-Beraters erfolgen, nachdem für den im Internet surfenden Kunden ein Kaufinteresse festgestellt wurde, beispielsweise dadurch, dass der Kunde eine spezielle Homepage anwählt. Der Online-Berater kann sich sodann bei dem Kunden melden oder umgekehrt, und über die Video- und Audiodaten-Kommunikationsverbindung können zwischen Kunde und Online-Berater Informationen ausgetauscht werden. Dieser elektronische Informationsaustausch erfolgt unabhängig und in Ergänzung zu der Datenübertragung betreffend das Aktionsdatenobjekt.It can be provided that a video and audio data communication connection is formed via the server device between the first and the second computer, via which video and audio data are transferred between the first and the second computer in addition to and independently of the display object related data transfer become. For example, in one application, the video and audio data communications link may be formed between a customer's computer and an online counselor's computer after a purchase interest has been identified to the Internet surfing customer, for example, by the customer having a dedicated homepage dials. The online consultant can then contact the customer or vice versa, and information can be exchanged between the customer and the online consultant via the video and audio data communication link. This electronic information exchange takes place independently and in addition to the data transmission concerning the action data object.

Eine Ausführungsform kann vorsehen, dass die push-fähigen Datenkommunikationsverbindungen als WebSocket-Verbindungen gebildet werden. Das WebSocket-Protokoll ist ein auf TCP basierendes Netzwerkprotokoll, welches eine bidirektionale Verbindung zwischen einer Webanwendung (Browser-Client) und einem WebSocket-Server oder einem Web-Server (Servereinrichtung), der auch WebSockets unterstützt, auszubilden. Beim WebSocket-Protokoll reicht es aus, wenn der Client die Verbindung öffnet, worauf die Servereinrichtung die dann offene Verbindung aktiv nutzen kann. Die Servereinrichtung muss also nicht mehr Anfragen des Clients abwarten, sondern kann Daten ausliefern, ohne auf eine neue Verbindung des Clients zu warten. In dem hier verwendeten Sinne sind push-fähige Datenkommunikationsverbindungen also Verbindungen zwischen Client und Server, bei denen das Übertragungsprotokoll als eine Anfrage von Client oder Server gestartet wird und bei denen nach der Übertragung von der Daten zum Verbindungsaufbau die zugrunde liegende Verbindung, insbesondere eine TCP-Verbindung, bestehen bleibt und Übertragungen in beide Richtungen ermöglicht. Eine mögliche Ausführungsform hiervon ist also das WebSocket-Protokoll.An embodiment may provide that the push-capable data communication links are formed as WebSocket connections. The WebSocket protocol is a TCP-based network protocol that provides a bidirectional connection between a Web application ( Browser client) and a WebSocket server or a Web server (server device) that also supports WebSockets. With the WebSocket protocol, it is sufficient if the client opens the connection, whereupon the server device can actively use the then open connection. The server device does not have to wait for requests from the client, but can deliver data without waiting for a new connection from the client. In the sense used here, push-capable data communication connections are thus connections between client and server, in which the transmission protocol is started as a request from client or server and in which, after the transmission of the data for connection establishment, the underlying connection, in particular a TCP Connection, persists and allows for transmissions in both directions. One possible embodiment of this is therefore the WebSocket protocol.

Bevorzugt sieht eine Fortbildung vor, dass die Benutzeraktion zumindest eine der folgenden Aktionen für das Anzeigeobjekt bewirkt: Verschieben des Anzeigeobjektes im Anzeigebereich, erstmaliges oder erneutes Anzeigen des Anzeigeobjektes im Anzeigebereich und Entfernen des Anzeigeobjektes aus dem Anzeigebereich.Preferably, a training provides that the user action causes at least one of the following actions for the display object: moving the display object in the display area, displaying the display object in the display area for the first time or again, and removing the display object from the display area.

Eine Ausgestaltung kann vorsehen, dass elektronische Informationen zu der erfassten Benutzereingabe in der Servereinrichtung abgespeichert werden. Die elektronischen Informationen geben beispielsweise an, dass ein Anzeigeobjekt in den Anzeigebereich eines Browsers-Clients hineingenommen oder aus diesem entfernt wurde. Auf diese Weise werden die Benutzereingaben betreffend ein Anzeigeobjekt protokolliert. Unter anderem kann hierdurch verhindert werden, dass bereits ausgeführte Aktionen betreffend ein Anzeigeobjekt zurückwandern. Hierzu kann das Aktionsdatenobjekt eine Information enthalten, ob diese Aktion vollständig wiederholt werden soll oder nur das Ergebnis der Aktion dem anderen Client präsentiert werden soll. Beispielsweise kann das Aktionsdatenobjekt eine Eigenschaft beinhalten, die darauf hinweist. Dieses Aktionsdatenobjekt kann an den Controller gegeben werden, und der Controller kann diese Eigenschaft auswerten und entsprechend die Aktion vollständig wiederholen oder nur die resultierenden Anzeige ausgeben.An embodiment may provide that electronic information about the detected user input is stored in the server device. For example, the electronic information indicates that a display object has been taken into or removed from the display area of a browser client. In this way, the user input relating to a display object is logged. Among other things, this can prevent that already performed actions on a display object walk back. For this, the action data object can contain information as to whether this action should be completely repeated or only the result of the action should be presented to the other client. For example, the action data object may include a property that indicates it. This action data object can be given to the controller and the controller can evaluate this property and accordingly repeat the action completely or output only the resulting display.

Beschreibung von AusführungsbeispielenDescription of exemplary embodiments

Im Folgenden werden weitere Ausführungsbeispiele unter Bezugnahme auf Figuren einer Zeichnung näher erläutert. Hierbei zeigen:In the following, further embodiments will be explained in more detail with reference to figures of a drawing. Hereby show:

1 eine schematische Darstellung eines Systems mit einer Servereinrichtung und mehreren hieran angeschlossenen Computern, 1 a schematic representation of a system with a server device and several computers connected thereto,

2 eine Blockbilddarstellung für eine Online-Beratung und 2 a block diagram for an online consultation and

3 eine Blockbilddarstellung in Verbindung mit einem Verfahren zum Synchronisieren der Anzeigen in zwei Browser-Clients. 3 a block diagram in conjunction with a method for synchronizing the ads in two browser clients.

1 zeigt eine schematische Darstellung eines Systems mit einer Servereinrichtung 1 und zwei hiermit in Verbindung stehenden Computer 2, 3, die jeweils über eine Anzeigeeinrichtung 2a, 3a sowie einer Benutzereingabeeinrichtung 2b, 3b verfügen. Auf der Anzeigeeinrichtung zu 2a, 3a ist jeweils ein Browser-Fenster 4, 5 gezeigt, in dem jeweils ein Anzeigebereich 4a, 5a dargestellt ist. Die Browser-Fenster 4, 5 werden bereitgestellt im Rahmen einer auf den beiden Computern 2, 3 jeweils ablaufenden Client-Applikation. In einer Anwendung handelt es sich bei den Computer 2, 3 um einen Computer eines Kunden sowie einen Computer eines Online-Beraters. Mit Hilfe des dargestellten Systems kann eine IT-technische Infrastruktur für neuartige Formen des Online-Handels bereitgestellt werden, was im Folgenden näher erläutert wird. 1 shows a schematic representation of a system with a server device 1 and two related computers 2 . 3 , each with a display device 2a . 3a and a user input device 2 B . 3b feature. On the display too 2a . 3a is each a browser window 4 . 5 shown, in each of which a display area 4a . 5a is shown. The browser window 4 . 5 are provided as part of one on the two computers 2 . 3 each expiring client application. In one application, the computers are 2 . 3 a customer's computer and an online consultant's computer. With the help of the illustrated system, an IT-technical infrastructure for novel forms of online trading can be provided, which is explained in more detail below.

Es ist vorgesehen, Verbrauchern über das Internet eine persönliche Online-Beratung im Live- oder Echtzeitmodus (audio-visuell) für Produkte und/oder Dienstleistungen zu ermöglichen. Es soll eine produkt- und branchenübergreifende Beratung mittels persönlicher Online-Fachberatung über eine Plattform im Internet ermöglicht werden. Der Besucher (Endkunde) der Website erhält die Möglichkeit, Online-Beratung für jeden Produktbereich in Anspruch zu nehmen. Mit einem Klick wird er mit einem Fachberater verbunden. Der Fachberater kann nun die angeschlossenen Daten der Online-Händler nach Produktdaten durchsuchen.It is intended to provide consumers with online personal advice in live or real-time (audio-visual) mode for products and / or services via the Internet. The aim is to provide cross-product and cross-industry consulting by means of personal online specialist advice via a platform on the Internet. The visitor (end user) of the website has the opportunity to make use of online advice for each product area. He is connected to a consultant with just one click. The consultant can now search the connected data of online retailers for product data.

Ohne ein Hinzutuen des Verbrauchers oder der Notwendigkeit des Wechsels von Websiten zu unterschiedlichen Shops werden dem Verbraucher alle Daten von externen Shops auf im Anzeigebereich seines Browser-Fensters angezeigt und visuell aufbereitet. Der Fachberater kann je nach Bedarf unterschiedliche Produkte der angeschlossenen Online-Händler anzeigen lassen und nach Preisen, Lieferbarkeit etc. filtern.Without the consumer being involved or the need to switch websites to different shops, the consumer will be presented with all the data from external shops in the display area of his browser window and visually processed. The specialist consultant can display different products of the connected online retailers according to their needs and filter them according to prices, deliverability, etc.

Der Fachberater berät den Endverbraucher im Rahmen der Online-Webberatung parallel zu mehreren Shops gleichzeitig. Ein Durchsuchen externer unterschiedlicher Websiten und das Telefonieren mit unterschiedlichen Shops zu Lieferzeiten, Verfügbarkeiten sind nicht notwendig.The consultant advises the end user in the context of the online web consultation parallel to several shops at the same time. A search of external different websites and the phone calls with different shops to delivery times, availability is not necessary.

Im Rahmen des Kaufabschlusses kann ein registrierter Verbraucher bei allen angeschlossenen Shops einkaufen. Das System stellt alle Informationen auf einen vom Endkunden zu bestätigenden Kaufbeleg zusammen. Der Nutzer kann nun den Kauf direkt abschließen und muss nicht zur angeschlossenen Shop-Seite wechseln. As part of the purchase, a registered consumer can shop at all connected shops. The system compiles all information to a purchase receipt to be confirmed by the end customer. The user can now complete the purchase directly and does not have to switch to the connected shop page.

Bei einem Beratungsvorgang klickt der Nutzer der Website den von ihm gewünschten Produktbereich an und wird nach einem Beginn (Schritt 10 in 2) mittels einer Audio- und Videodatenverbindung mit einem Fachberater verbunden (Schritt 40). Mittels der One-Klick Funktionalität wird automatisch eine Verbindung, wahlweise ein Webchat, zu einem Fachberater des Produktbereiches gestartet. Hierzu wird die zwischen dem Computer 2 des Nutzers und dem Computer 3 des Beraters hergestellte Audio- und Videodatenverbindung genutzt.In a consultation process, the user of the website clicks on the desired product area and is asked to start (step 10 in 2 ) is connected to an expert advisor by means of an audio and video data connection (step 40 ). One-click functionality automatically launches a connection, optionally a web chat, to a specialist advisor in the product area. This is done between the computer 2 the user and the computer 3 the audio and video data connection made by the consultant.

Zuvor hat sich der Berater beim Berater-Pool angemeldet (Schritt 20 in 2). Hierzu hat der Berater mittels seines Computers eine Anmeldeprozedur durchlaufen. Der Berater-Pool kann als eine Liste von Beratern ausgeführt sein, die angemeldet sind. Der Status des Online-Beraters entscheidet, ob dieser frei oder besetzt ist. Der Status des Online-Beraters ist „online” solange er nicht ausgeloggt ist und die Server-Session aktiv ist. Wird ein Online-Berater angefordert, wird ein Online-Berater aus dem Berater-Pool ausgewählt, der zumindest frei ist, also noch nicht in einer Beratungs-Session aktiv ist. Sein Status wechselt dann auf „besetzt” (oder ein Synonym). Der Online-Berater wird nicht aus dem Berater-Pool entfernt. Nur sein Status ändert sich.Previously, the consultant registered with the Advisor Pool (step 20 in 2 ). For this purpose, the consultant has gone through a registration procedure by means of his computer. The Advisor Pool can be run as a list of Distributors who are logged in. The status of the online consultant decides whether this is free or occupied. The status of the online consultant is "online" as long as he is not logged out and the server session is active. If an online consultant is requested, an online consultant will be selected from the consultant pool, which is at least free, ie not yet active in a consultation session. His status then changes to "busy" (or a synonym). The online consultant will not be removed from the advisor pool. Only his status changes.

Wird festgestellt, dass ein Kunde über seinen Browser-Client die Homepage angewählt hat, auf der die Online-Beratung angeboten wird, wird der Berater aus dem Pool ausgewählt (Schritt 30) und dem Benutzer zugeordnet, was zur Folge hat, dass der ausgewählte Online-Berater aus dem Pool entfernt wird (Schritt 40). Zum Bereitstellen des Berater-Pools kann zum Beispiel eine Datenbanktabelle vorgesehen sein, in welcher Datensätze jeweils einen Berater im Pool repräsentieren.If it is determined that a customer has selected the home page on which the online consultation is offered via his browser client, the consultant is selected from the pool (step 30 ) and the user, resulting in the selected online consultant being removed from the pool (step 40 ). To provide the advisor pool, for example, a database table can be provided, in which data records each represent a consultant in the pool.

Für jedes Produkt und für jede Kategorie gibt es auf der Website einen Button, der direkt den nächsten Fachberater aus einem bestehenden Pool kontaktiert. Klickt man auf eine Kategorie, wird ein freier Fachberater aus dem Pool für diese Kategorie angerufen. Klickt man auf ein Produkt, wird ein freier Fachberater aus dem Pool für die Kategorie, der das Produkt angehört, angerufen.For each product and for each category there is a button on the website, which directly contacts the next expert advisor from an existing pool. If you click on a category, a freelance consultant will be called from the pool for this category. If you click on a product, a freelance consultant will be called from the pool for the category to which the product belongs.

Der Fachberater nimmt den Anruf, d. h. eine hierzu gehörende Auswahl des Nutzers auf der Webseite, innerhalb von wenigen Sekunden entgegen. Es öffnet sich ein Videofenster auf dem Computer des Benutzers, und der Fachberater ist für den Nutzer nun zu sehen und zu hören (vgl. Schritt 60 in 2), worauf dieser Prozessteil endet (Schritt 70).The consultant accepts the call, ie an associated selection of the user on the website, within a few seconds. A video window opens on the user's computer and the expert advisor can now be seen and heard by the user (see step 60 in 2 ), whereupon this process part ends (step 70 ).

Der Berater wird für alle Besucher der Seite verfügbar, wenn er im Backend des Systems angemeldet ist. Damit befindet er sich im Pool der verfügbaren Online-Berater. Die Berater-Session wird aufgebaut, sobald er mit einem Kunden verbunden wird. Hierbei wird insbesondere eine Websocket-Verbindung zwischen Berater und Kunde über einen TURN-Server etabliert. Der TURN-Server dient insbesondere dazu, die Video- und Audiosignale zu routen. Die Video- und Audiodaten können mittels UDP-Protokoll übertragen werden. Hierfür können WebRTC-Komponenten vorgesehene sein. Die Websocket-Verbindung wird für das WebRTC nur kurz benötigt, um Session-Daten auszutauschen. Wenn dieser Austausch erfolgt ist, sind alle Informationen von beiden Clients und dem TURN-Server vorhanden, um die UDP-Pakete zu den jeweiligen Client zu übertragen. Über diese Verbindung werden die Audio- und Videosignale übertragen, die mittels WebRTC von der jeweiligen Audio- bzw. Videohardware abgegriffen werden, die an dem Computer 2 des Beraters angeschlossen ist. Im Falle des Kunden kann auch nur das Mikrofonsignal verwendet werden.The Advisor will be available to all visitors to the site if they are logged into the backend of the system. This puts him in the pool of available online consultants. The consultant session is established as soon as it is connected to a customer. In particular, a websocket connection between consultant and customer is established via a TURN server. The TURN server is used in particular to route the video and audio signals. The video and audio data can be transmitted via UDP protocol. For this WebRTC components can be provided. The Websocket connection is needed only briefly for the WebRTC to exchange session data. When this exchange has taken place, all information from both clients and the TURN server is present to transfer the UDP packets to the respective client. Through this connection, the audio and video signals are transmitted, which are tapped by means of WebRTC from the respective audio or video hardware that is connected to the computer 2 the consultant is connected. In the case of the customer, only the microphone signal can be used.

Parallel wird zu der gestarteten Sitzung (Session) zwischen Nutzer (Kunde) und Online-Berater ein Eintrag in einer Datenbank-Tabelle „consulting session” erzeugt, die eine SessionId des Beraters sowie des Kunden, eine Identifikation (UserId) beider und die Initialisierungszeit der Session vorhält (vgl. Schritt 50 in 2). Hierdurch ist eine Berechnung des Status des Beraters möglich. Dieser wechselt dann von frei auf besetzt, solange die Verbindung zwischen beiden besteht.In parallel to the started session (session) between user (customer) and online consultant, an entry is created in a database table "consulting session" containing a session ID of the consultant and the customer, an identification (user ID) of both and the initialization time of the session Holds session (see step 50 in 2 ). This allows a calculation of the status of the consultant. This then changes from free to busy, as long as the connection between the two exists.

Wird die Verbindung zwischen dem Computer 2 des Nutzers und dem Computer 3 des Online-Beraters beendet, wird der Wert „sessionClosingTime” gesetzt mit der Zeit, zu dem die Verbindung beendet wurde. Die Berechnung des Status ergibt dann wieder „frei”.Will the connection between the computer 2 the user and the computer 3 When the Online Consultant finishes, the value "sessionClosingTime" is set at the time the connection was terminated. The calculation of the status then returns to "free".

Mit dem vorgeschlagenen Verfahren ist es ermöglicht, dass ein Verbraucher ohne die Eingabe von eigenen Informationen via Tastatur- oder Mauseingabe, nur mittels verbaler Äußerung (verbaler Verbraucherwunsch: „Ja ich möchte den 26 Zoll Fernseher kaufen zu 399 €.”) einen Produktkauf durchführen kann. Hierzu ist eine Datenkommunikation zwischen den Browser-Clients auf den beiden Computern 2, 3 vorgesehen, die nachfolgend unter Bezugnahme auf 3 näher erläutert wird. Es ist ein neuartiges Verfahren zur Kundenunterstützung beim Online-Shopping geschaffen.The proposed method allows a consumer to do a product purchase without entering their own information via keyboard or mouse input, only verbally (verbal consumer request: "Yes I want to buy the 26 inch TV at 399 €.") , This involves data communication between the browser clients on the two computers 2 . 3 provided below with reference to 3 is explained in more detail. A new way of customer support for online shopping is created.

Basierend auf der Beratungs-Session, die mithilfe von Audio und Video unterstützt wird, gibt es einen speziellen Mechanismus zur Präsentation und Empfehlung von Produkten, die dem potentiellen Kunden präsentiert werden können und mithilfe dessen es möglich ist, den Kunden durch den kompletten Einkaufsprozess zu begleiten und ihn zu unterstützen. Der Online-Berater hat die Möglichkeit, dem Kunden über einen Warenpräsentationskorb ausgesuchte Produkte zu präsentieren. Hierfür ist es erforderlich, das Aktionsdatenobjekt in das geöffnete Browser-Fenster an einen dafür definierten Container zu pushen. Dieser Container wird nachfolgend auch als Aktionsbereich bezeichnet. Based on the counseling session, supported by audio and video, there is a special mechanism for presenting and recommending products that can be presented to the potential customer and help guide the customer through the entire purchasing process and to support him. The online consultant has the opportunity to present selected products to the customer via a product presentation basket. For this purpose, it is necessary to push the action data object into the opened browser window to a container defined for it. This container is also referred to below as an action area.

Für die Betrachtung ist es nicht relevant, wer welche Rolle hat, denn das vorgeschlagene Verfahren ist in beide Richtungen gleich, also für die Datenübertragung vom Computer 2 des Nutzers zum Computer 3 des Online-Beraters und umgekehrt.For the consideration, it is not relevant who has which role, because the proposed method is the same in both directions, ie for the data transfer from the computer 2 the user to the computer 3 of the online consultant and vice versa.

Für einen Browser-Client A, insbesondere den Browser-Client auf dem Computer 3 des Beraters, wird im zugeordneten Computer eine Aktion im Aktionsbereich erfasst (Schritt 300 in 3), nachdem im Anschluss an einen Start gemäß Schritt 100 in 3 die Browser-Clients auf den Computer 2, 3 gestartet wurde (Schritt 200). Beispielsweise zeigt der Berater einen Warenpräsentationskorb an, den er vorher zusammengestellt hat. Dieser muss nun dem Kunden auf seinem Computer 2 im Aktionsbereich ebenfalls angezeigt werden. Einerseits müssen die Daten von der Servereinrichtung 1 geladen werden und im Berater-Backend angezeigt werden. Dies wird über einen normalen Ajax-Request ermöglicht. Zusätzlich muss der Computer 2 des Kunden informiert werden, dass der Berater diese Aktion ausgeführt hat. Hierzu wird bei dem Ausführungsbeispiel eine Websocket-Verbindung genutzt. Die Websocket-Verbindung ermöglicht es, der Servereinrichtung 1 ohne eine vorherige Browseranfrage, Daten zu senden. Über diese Socket-Verbindung wird ein Aktionsdatenobjekt, zum Beispiel ein JSON-Objekt, mit folgenden Eigenschaften von der Servereinrichtung 1 an einen Browser-Client B auf dem Computer 2 des Nutzers übermittelt: controllerName: string; methodName: string; Params: array.For a browser client A, especially the browser client on the computer 3 of the consultant, an action in the action area is recorded in the assigned computer (step 300 in 3 ) after following a start according to step 100 in 3 the browser clients on the computer 2 . 3 was started (step 200 ). For example, the adviser displays a merchandise presentation basket that he has previously compiled. This must now be the customer on his computer 2 also be displayed in the action area. On the one hand, the data from the server device 1 be loaded and displayed in the advisor backend. This is possible via a normal Ajax request. In addition, the computer needs 2 inform the customer that the consultant has carried out this action. For this purpose, a Websocket connection is used in the embodiment. The Websocket connection allows the server device 1 without a previous browser request to send data. This socket connection becomes an action data object, for example a JSON object, with the following properties from the server device 1 to a browser client B on the computer 2 of the user: controllerName: string; methodName: string; Params: array.

Dieses im Schritt 400 erzeugte und im Schritt 500 in einer Tabelle „actions” gespeicherte Aktionsdatenobjekt enthält nicht direkt die Videodaten, die auf dem Computer 2 des Nutzers angezeigt werden sollen, sondern nur die Informationen, welche Aktion ausgeführt wurde. Vor dem Erzeugen des Aktionsdatenobjektes wurde im Schritt 400 weiterhin geprüft, ob ein hierzu gehörender Vorgang schon existiert. Hierzu wird eine Tabelle „actions” ausgewertet (vgl. weitere Erläuterungen unten).This in the step 400 generated and in step 500 Action data object stored in an actions table does not directly contain the video data stored on the computer 2 of the user, but only the information of what action was taken. Before the action data object was created in step 400 Furthermore checked if a belonging process already exists. For this purpose, a table "actions" is evaluated (see further explanations below).

Steht im Browser-Client B keine Websocket-Verbindung zur Verfügung, kann auf Technologien wie Long-Polling oder Flash-Socket zurückgegriffen werden, damit das Aktionsdatenobjekt an den Browser-Client B gesendet werden kann (Schritt 600).If no websocket connection is available in the browser client B, technologies such as long polling or flash socket can be used so that the action data object can be sent to the browser client B (step 600 ).

Dieses Aktionsdatenobjekt wird zum Beispiel mittels Java-Schpt auf dem Computer 2 des Nutzers analysiert, und es kann ein Ajax-Request daraus generiert werden, der jetzt von Browser-Client B zur Servereinrichtung 1 gesendet wird (Schritt 800), nachdem das Aktionsdatenobjekt zuvor an die Socket-Verbindung im Browser-Client A übergeben wurde (Schritt 700). Der Browser-Client B nimmt das Aktionsdatenobjekt entgegen (Schritt 900).This action data object is for example by means of Java-Schpt on the computer 2 analyzed by the user, and an Ajax request can be generated from it, now from browser client B to the server setup 1 is sent (step 800 ) after the action data object has been previously passed to the socket connection in the browser client A (step 700 ). The browser client B accepts the action data object (step 900 ).

Bekannt ist dort nun, welches Controller-Objekt (vgl. controllerName: string) mittels welcher Methode (vgl. methodName: string) von Browser-Client A angesprochen wurde. Diese wird jetzt für Browser-Client B ebenfalls ausgeführt, und das Ergebnis wird vom Computer 2 des Kunden von der Servereinrichtung 1 geladen (Schritt 1000), worauf der Prozess im Schritt 1100 endet.It is now known which controller object (see controllerName: string) was addressed by browser client A by means of which method (see methodName: string). This will now also be done for browser client B, and the result will come from the computer 2 the customer from the server device 1 loaded (step 1000 ), whereupon the process in the step 1100 ends.

Um bestimmte Aktionen betreffend den Anzeigebereich der Browser-Clients nicht doppelt auszuführen, beispielsweise das In-den-Warenkorb-legen eines Produktes oder das Abschließen des Kaufs, können mithilfe des Arrays params Steuerparameter übergeben werden, die in der Controller-Methode geprüft werden können. Somit wird ermöglicht, dass dem jeweils anderen Clienten nur noch das Ergebnis der Aktion in Form eines Views übermittelt wird. Die Parameter können zur Steuerung genutzt werden, beispielweise zum Verhindern, dass Aktionen mehrfach ausgeführt werden, beispielweise das Hinzufügen in den Warenkorb. In diesem Fall soll dem jeweils anderen Client nur das Ergebnis der Aktion präsentiert werden. Das nochmalige Ausführen soll verhindert werden. Hierfür kann ein Parameter-Array im Objekt vorgesehen sein, oder die jeweiligen Parameter können direkte Eigenschaften des Objektes sein.In order not to perform duplicate actions on the display area of the browser clients, such as adding a product to the cart or completing the purchase, you can use the params array to pass control parameters that can be checked in the controller method. This makes it possible that only the result of the action in the form of a view is transmitted to the other client. The parameters can be used for control purposes, for example to prevent actions from being executed several times, for example adding to the shopping cart. In this case, only the result of the action should be presented to the other client. The repeated execution is to be prevented. For this purpose, a parameter array can be provided in the object, or the respective parameters can be direct properties of the object.

Die jeweils ausgeführten Aktionen werden in der Tabelle „actions” gespeichert. Damit lässt sich verhindern, dass eine bereits ausgeführte Aktion auf dem gleichen Browser-Client nochmals ausgeführt wird. Außerdem ist ein Trackback dadurch gegeben, der ein „Zurückwandern” der gerade ausgeführten Aktion ermöglicht.The actions performed are stored in the "actions" table. This can prevent an already executed action from being executed again on the same browser client. In addition, a trackback is given, which allows a "walk back" of the action currently being performed.

Um beim Ausfüllen von Formularen die Möglichkeit der Unterstützung zu schaffen, werden Tastatureingaben mittels onkeyup, onchange, onclick, onfocus, onselect-Events über die Websocket-Verbindung gesendet. Hierzu wird eine Methode bei jedem Tastendruck getriggert, die die Eingabe dann über die Socket-Verbindung an den jeweils anderen Client übermittelt.To provide support for form filling, keystrokes are sent via onsocket, onchange, onclick, onfocus, onselect events via the websocket connection. For this purpose, a method is triggered each time the button is pressed, then the input via sends the socket connection to the other client.

Hierfür kann ebenfalls ein JSON-Objekt generiert werden, was alle Daten enthält, um auf der Gegenseite die gleichen Werte darzustellen: Form-Aktionsdatenobjekt: formName: string; fieldName: string; params: array. Über den Namen des Formulars „formName” ist definiert, in welchem Formular die Änderung stattzufinden hat. Der String „fieldName” ist das jeweilige Feld des Formulars, was sich verändern soll. Das Array „params” enthält alle sich ändernden Werte und weitere Daten, die auf der Gegenseite ausgewertet werden können.For this, a JSON object can also be generated, which contains all the data in order to represent the same values on the opposite side: Form-action data object: formName: string; fieldName: string; params: array. The name of the "formName" form defines the form in which the change takes place. The string "fieldName" is the respective field of the form, which should change. The array "params" contains all changing values and other data that can be evaluated on the other side.

Die in der vorstehenden Beschreibung, den Ansprüchen sowie der Zeichnung offenbarten Merkmale können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der verschiedenen Ausführungen von Bedeutung sein.The features disclosed in the above description, the claims and the drawings may be important both individually and in any combination for the realization of the various embodiments.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • http://de.wikipedia.org/wiki/JavaScript Object Notation [0008] http://en.wikipedia.org/wiki/JavaScript Object Notation [0008]
  • DIN 44300 [1985] [0010] DIN 44300 [1985] [0010]

Claims (6)

Verfahren zum Ausgeben von Videodaten in einem System mit einer Servereinrichtung und mehreren Computern, die zum Datenaustausch mit der Servereinrichtung verbindbar sind, wobei bei dem Verfahren die folgenden Schritte ausgeführt werden – Ausführen einer ersten Applikation, mit der auf einem ersten Computer ein erster Browser-Client bereitgestellt wird, – Ausführen einer zweiten Applikation, mit der auf einem zweiten Computer ein zweiter Browser-Client bereitgestellt wird, – Erfassen einer Benutzereingabe an dem ersten Computer, mit der im ersten Browser-Client in einem Anzeigebereich eine Benutzeraktion für ein Anzeigeobjekt ausgeführt wird, welches im Anzeigebereich mittels Ausgeben von dem Anzeigeobjekt zugeordneten Videodaten der Benutzeraktion entsprechend angezeigt wird, – Erzeugen eines Aktionsdatenobjektes, welches Steuer- und/oder Verweisdaten für die dem Anzeigeobjekt zugeordneten Videodaten umfasst, aber frei von den Videodaten selbst ist, – Übertragen des Aktionsdatenobjektes mittels einer oder mehrerer Push-Operationen von dem ersten Computer über die Servereinrichtung an den zweiten Computer über push-fähige Datenkommunikationsverbindungen, – Auswerten des Aktionsdatenobjektes durch die zweite Applikation auf dem zweiten Computer, – Abrufen der dem Anzeigeobjekt zugeordneten Videodaten von der Servereinrichtung durch die zweite Applikation und – Darstellen des Anzeigeobjektes der Benutzeraktion entsprechend in einem Anzeigebereich des zweiten Browser-Clients auf dem zweiten Computer, indem die abgerufenen Videodaten ausgegeben werden.A method of outputting video data in a system comprising a server device and a plurality of computers connectable to the server device for data exchange, the method comprising the following steps Executing a first application providing a first browser client on a first computer, Executing a second application with which a second browser client is provided on a second computer, Detecting a user input at the first computer, with which a user action is carried out for a display object in the first browser client in a display area, which is displayed in the display area corresponding to the user action by outputting video data associated with the display object, Generating an action data object which comprises control and / or reference data for the video data assigned to the display object, but is free of the video data itself, Transferring the action data object by means of one or more push operations from the first computer via the server device to the second computer via push-capable data communication links, Evaluating the action data object by the second application on the second computer, Retrieving the video data associated with the display object from the server device by the second application and Representing the display object of the user action corresponding to a display area of the second browser client on the second computer by outputting the retrieved video data. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die dem Anzeigeobjekt zugeordneten Videodaten von der Servereinrichtung zu dem zweiten Computer mittels eine Anfrage-Antwort-Operation über eine der push-fähigen Datenkommunikationsverbindungen oder eine hiervon getrennte Datenkommunikationsverbindung abgerufen wird.A method according to claim 1, characterized in that the video data associated with the display object is retrieved from the server device to the second computer by means of a request-response operation via one of the push-capable data communication connections or a separate data communication connection. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass über die Servereinrichtung zwischen dem ersten und dem zweiten Computer eine Video- und Audiodaten-Kommunikationsverbindung gebildet wird, über welche zwischen dem ersten und dem zweiten Computer in Ergänzung zu und unabhängig von dem Anzeigeobjekt bezogenen Datentransfer Video- und Audiodaten übertragen werden.A method according to claim 1 or 2, characterized in that via the server device between the first and the second computer, a video and audio data communication connection is formed, via which between the first and the second computer in addition to and independently of the display object related data transfer Video and audio data are transmitted. Verfahren nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die push-fähigen Datenkommunikationsverbindungen als WebSocket-Verbindungen gebildet werden.Method according to at least one of the preceding claims, characterized in that the push-capable data communication connections are formed as WebSocket connections. Verfahren nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Benutzeraktion zumindest eine der folgenden Aktionen für das Anzeigeobjekt bewirkt: Verschieben des Anzeigeobjektes im Anzeigebereich, erstmaliges oder erneutes Anzeigen des Anzeigeobjektes im Anzeigebereich und Entfernen des Anzeigeobjektes aus dem Anzeigebereich.Method according to at least one of the preceding claims, characterized in that the user action causes at least one of the following actions for the display object: moving the display object in the display area, displaying or displaying the display object in the display area for the first time and removing the display object from the display area. Verfahren nach mindestens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass elektronische Informationen zu der erfassten Benutzereingabe in der Servereinrichtung abgespeichert werden.Method according to at least one of the preceding claims, characterized in that electronic information about the detected user input is stored in the server device.
DE102013113965.5A 2013-12-12 2013-12-12 A method of outputting video data in a system comprising a server device and a plurality of computers Ceased DE102013113965A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102013113965.5A DE102013113965A1 (en) 2013-12-12 2013-12-12 A method of outputting video data in a system comprising a server device and a plurality of computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013113965.5A DE102013113965A1 (en) 2013-12-12 2013-12-12 A method of outputting video data in a system comprising a server device and a plurality of computers

Publications (1)

Publication Number Publication Date
DE102013113965A1 true DE102013113965A1 (en) 2015-06-18

Family

ID=53192129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013113965.5A Ceased DE102013113965A1 (en) 2013-12-12 2013-12-12 A method of outputting video data in a system comprising a server device and a plurality of computers

Country Status (1)

Country Link
DE (1) DE102013113965A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097448A1 (en) * 2001-11-21 2003-05-22 Menezes Francisco Jose Server control of hypertext transfer protocol client
US20060015763A1 (en) * 2002-11-27 2006-01-19 Kazuaki Nakajima Real-time web sharing system
WO2008148238A1 (en) * 2007-06-08 2008-12-11 Unblu Inc. Remotely controlling a browser program
US7607137B2 (en) * 2002-07-01 2009-10-20 Sap Ag Integration of heterogeneous applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097448A1 (en) * 2001-11-21 2003-05-22 Menezes Francisco Jose Server control of hypertext transfer protocol client
US7607137B2 (en) * 2002-07-01 2009-10-20 Sap Ag Integration of heterogeneous applications
US20060015763A1 (en) * 2002-11-27 2006-01-19 Kazuaki Nakajima Real-time web sharing system
WO2008148238A1 (en) * 2007-06-08 2008-12-11 Unblu Inc. Remotely controlling a browser program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIN 44300 [1985]
http://de.wikipedia.org/wiki/JavaScript Object Notation

Similar Documents

Publication Publication Date Title
DE60014602T2 (en) INTERNET INTERFACE SYSTEM
EP1435148B1 (en) Method for customized data output on a web site
DE10065572A1 (en) Web site registering and searching system has server data format databank for allowing search request entered via user to be supplied to server in correct format
EP2084610B1 (en) Computer-aided method for the remote-controlled acquisition of the user behaviour in the reception of web pages
EP3162018B1 (en) Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client
WO2002023415A2 (en) Method for distributing images via a network
DE102013113965A1 (en) A method of outputting video data in a system comprising a server device and a plurality of computers
DE10115895C1 (en) Method for generating a representation for the retrieval of an information page that has already been called up
EP2654011A1 (en) System for displaying information visually and for data communication
Kollmann et al. Digital Entrepreneurship
DE10310886B3 (en) Multiple viewing system for showing same image content on screens of several computers connected to data net involves use of computers with browsers and runs control program
WO2002023416A1 (en) Device and method for carrying out a remote e-business transaction
EP2922009A1 (en) Method for cross end device tracking of a user of an internet service, tracking server for carrying out such a method, and computer network with such a tracking server
DE102013105793A1 (en) Method and system for securely requesting an object via a communication network
EP2807812A1 (en) Method and system for synchronizing program masks
DE10061470C2 (en) Procedure and arrangement for providing information via a communication network
DE10319887B4 (en) A method of aligning a database displayed on a client computing device with a source database stored on a server computing device
US20240012528A1 (en) Secure messaging systems and methods
WO2019201443A1 (en) Method and system for providing product-related contents
WO2022074222A1 (en) Tracking method
EP2907319B1 (en) Method for showing video advertisements in browser applications
DE102017123417A1 (en) METHOD FOR CONSTRUCTING A COMMUNICATION CONNECTION
DE102023117678A1 (en) SYSTEMS AND METHODS FOR THE INTERACTIVE DISPLAY OF A VIRTUAL ENVIRONMENT ON A USER DEVICE WITH LIMITED COMPUTER CAPACITY
EP2362339A1 (en) Method for controlling advertising content in information networks
EP3474212A1 (en) Method for analysing presentations of media content

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final