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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/01—Customer relationship services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic 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
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
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:
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
Zuvor hat sich der Berater beim Berater-Pool angemeldet (Schritt
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
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
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
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
Wird die Verbindung zwischen dem Computer
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
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
Für einen Browser-Client A, insbesondere den Browser-Client auf dem Computer
Dieses im Schritt
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
Dieses Aktionsdatenobjekt wird zum Beispiel mittels Java-Schpt auf dem Computer
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
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)
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)
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 |
-
2013
- 2013-12-12 DE DE102013113965.5A patent/DE102013113965A1/en not_active Ceased
Patent Citations (4)
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)
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 |